terraconstructs 0.1.8 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +1118 -953
- package/lib/asset-staging.js +1 -1
- package/lib/aws/arn.js +1 -1
- package/lib/aws/aws-asset-manager.js +1 -1
- package/lib/aws/aws-construct.js +1 -1
- package/lib/aws/aws-stack.js +1 -1
- package/lib/aws/aws-tags.js +2 -2
- package/lib/aws/cloudwatch/actions/appscaling.js +1 -1
- package/lib/aws/cloudwatch/actions/ec2.js +1 -1
- package/lib/aws/cloudwatch/actions/lambda.js +1 -1
- package/lib/aws/cloudwatch/actions/sns.js +1 -1
- package/lib/aws/cloudwatch/actions/ssm.js +2 -2
- package/lib/aws/cloudwatch/alarm-base.js +1 -1
- package/lib/aws/cloudwatch/alarm-rule.js +1 -1
- package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
- package/lib/aws/cloudwatch/alarm.js +9 -8
- package/lib/aws/cloudwatch/composite-alarm.js +1 -1
- package/lib/aws/cloudwatch/dashboard.js +1 -1
- package/lib/aws/cloudwatch/data-protection-policy.js +3 -3
- package/lib/aws/cloudwatch/graph.js +8 -8
- package/lib/aws/cloudwatch/layout.js +3 -3
- package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
- package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
- package/lib/aws/cloudwatch/log-group.js +1 -1
- package/lib/aws/cloudwatch/log-query.js +1 -1
- package/lib/aws/cloudwatch/log-stream.js +1 -1
- package/lib/aws/cloudwatch/metric-filter.js +1 -1
- package/lib/aws/cloudwatch/metric.js +2 -2
- package/lib/aws/cloudwatch/pattern.js +3 -3
- package/lib/aws/cloudwatch/policy.js +1 -1
- package/lib/aws/cloudwatch/query-definition.js +2 -2
- package/lib/aws/cloudwatch/stats.js +1 -1
- package/lib/aws/cloudwatch/subscription-filter.js +1 -1
- package/lib/aws/cloudwatch/text.js +1 -1
- package/lib/aws/cloudwatch/variable.js +3 -3
- package/lib/aws/cloudwatch/widget.js +1 -1
- package/lib/aws/compute/access-log.js +9 -7
- package/lib/aws/compute/activity.js +1 -1
- package/lib/aws/compute/alb/application-listener-action.js +1 -1
- package/lib/aws/compute/alb/application-listener-certificate.js +1 -1
- package/lib/aws/compute/alb/application-listener-rule.js +1 -1
- package/lib/aws/compute/alb/application-listener.js +1 -1
- package/lib/aws/compute/alb/application-load-balancer.js +1 -1
- package/lib/aws/compute/alb/application-target-group.js +1 -1
- package/lib/aws/compute/alb/conditions.js +1 -1
- package/lib/aws/compute/alb/trust-store-revocation.js +1 -1
- package/lib/aws/compute/alb/trust-store.js +1 -1
- package/lib/aws/compute/api-definition.d.ts +1 -1
- package/lib/aws/compute/api-definition.js +11 -16
- package/lib/aws/compute/api-key.js +7 -8
- package/lib/aws/compute/apigateway-util.js +10 -21
- package/lib/aws/compute/architecture.js +1 -1
- package/lib/aws/compute/aspects/require-imdsv2-aspect.js +2 -2
- package/lib/aws/compute/authorizer.js +1 -1
- package/lib/aws/compute/authorizers/identity-source.js +4 -5
- package/lib/aws/compute/authorizers/lambda.js +8 -11
- package/lib/aws/compute/autoscaling-common/interval-utils.js +7 -11
- package/lib/aws/compute/base-path-mapping.js +6 -8
- package/lib/aws/compute/base-scalable-attribute.js +1 -1
- package/lib/aws/compute/bastion-host.js +1 -1
- package/lib/aws/compute/chain.js +1 -1
- package/lib/aws/compute/client-vpn-authorization-rule.js +1 -1
- package/lib/aws/compute/client-vpn-endpoint.js +2 -2
- package/lib/aws/compute/client-vpn-route.js +2 -2
- package/lib/aws/compute/code.js +23 -40
- package/lib/aws/compute/condition.js +1 -1
- package/lib/aws/compute/connections.js +1 -1
- package/lib/aws/compute/cors.js +1 -1
- package/lib/aws/compute/deployment.js +1 -1
- package/lib/aws/compute/domain-name.js +9 -8
- package/lib/aws/compute/event-invoke-config.js +1 -1
- package/lib/aws/compute/event-source-filter.js +2 -2
- package/lib/aws/compute/event-source-mapping.js +1 -1
- package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
- package/lib/aws/compute/event-sources/s3.js +1 -1
- package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
- package/lib/aws/compute/event-sources/sqs.js +1 -1
- package/lib/aws/compute/fields.js +4 -4
- package/lib/aws/compute/function-alias.js +1 -1
- package/lib/aws/compute/function-base.js +12 -12
- package/lib/aws/compute/function-destinations/event-bridge.js +1 -1
- package/lib/aws/compute/function-destinations/function.js +1 -1
- package/lib/aws/compute/function-destinations/sqs.js +1 -1
- package/lib/aws/compute/function-nodejs/function.js +1 -1
- package/lib/aws/compute/function-url.js +1 -1
- package/lib/aws/compute/function.js +4 -3
- package/lib/aws/compute/gateway-response.js +2 -2
- package/lib/aws/compute/handler.js +1 -1
- package/lib/aws/compute/instance-types.js +1 -1
- package/lib/aws/compute/instance.js +1 -1
- package/lib/aws/compute/integration.js +10 -16
- package/lib/aws/compute/integrations/aws.js +4 -4
- package/lib/aws/compute/integrations/http.js +1 -1
- package/lib/aws/compute/integrations/lambda.js +1 -1
- package/lib/aws/compute/integrations/mock.js +1 -1
- package/lib/aws/compute/integrations/stepfunctions.js +4 -5
- package/lib/aws/compute/ip-addresses.js +2 -2
- package/lib/aws/compute/ipam.js +1 -1
- package/lib/aws/compute/key-pair.js +1 -1
- package/lib/aws/compute/lambda-api.js +7 -10
- package/lib/aws/compute/launch-template.js +2 -2
- package/lib/aws/compute/lb-shared/base-listener.js +1 -1
- package/lib/aws/compute/lb-shared/base-load-balancer.js +2 -2
- package/lib/aws/compute/lb-shared/base-target-group.js +1 -1
- package/lib/aws/compute/lb-shared/listener-certificate.js +1 -1
- package/lib/aws/compute/lb-shared/load-balancer-targets.js +2 -2
- package/lib/aws/compute/lb-targets/alb-target.js +3 -3
- package/lib/aws/compute/lb-targets/instance-target.js +2 -2
- package/lib/aws/compute/lb-targets/ip-target.js +1 -1
- package/lib/aws/compute/lb-targets/lambda-target.js +1 -1
- package/lib/aws/compute/load-balancer.js +3 -3
- package/lib/aws/compute/machine-image/amazon-linux-2022.js +2 -2
- package/lib/aws/compute/machine-image/amazon-linux-2023.js +2 -2
- package/lib/aws/compute/machine-image/amazon-linux2.js +2 -2
- package/lib/aws/compute/machine-image/common.js +1 -1
- package/lib/aws/compute/machine-image/machine-image.js +8 -8
- package/lib/aws/compute/method.js +1 -1
- package/lib/aws/compute/model.js +3 -3
- package/lib/aws/compute/nat.js +5 -5
- package/lib/aws/compute/network-acl-types.js +2 -2
- package/lib/aws/compute/network-acl.js +3 -3
- package/lib/aws/compute/nlb/network-listener-action.js +1 -1
- package/lib/aws/compute/nlb/network-listener.js +1 -1
- package/lib/aws/compute/nlb/network-load-balancer.js +1 -1
- package/lib/aws/compute/nlb/network-target-group.js +1 -1
- package/lib/aws/compute/peer.js +1 -1
- package/lib/aws/compute/placement-group.js +1 -1
- package/lib/aws/compute/port.js +1 -1
- package/lib/aws/compute/prefix-list.js +1 -1
- package/lib/aws/compute/requestvalidator.js +1 -1
- package/lib/aws/compute/resource.js +3 -3
- package/lib/aws/compute/restapi.js +9 -10
- package/lib/aws/compute/route.js +8 -8
- package/lib/aws/compute/runtime.js +1 -1
- package/lib/aws/compute/scalable-target.js +1 -1
- package/lib/aws/compute/schedule.js +6 -12
- package/lib/aws/compute/security-group.js +1 -1
- package/lib/aws/compute/stage.js +8 -11
- package/lib/aws/compute/state-graph.js +1 -1
- package/lib/aws/compute/state-machine-fragment.js +1 -1
- package/lib/aws/compute/state-machine.js +4 -4
- package/lib/aws/compute/states/choice.js +1 -1
- package/lib/aws/compute/states/custom-state.js +1 -1
- package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
- package/lib/aws/compute/states/distributed-map/item-reader.js +5 -5
- package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
- package/lib/aws/compute/states/distributed-map.js +1 -1
- package/lib/aws/compute/states/fail.js +1 -1
- package/lib/aws/compute/states/map-base.js +1 -1
- package/lib/aws/compute/states/map.js +1 -1
- package/lib/aws/compute/states/parallel.js +1 -1
- package/lib/aws/compute/states/pass.js +2 -2
- package/lib/aws/compute/states/state.js +1 -1
- package/lib/aws/compute/states/succeed.js +1 -1
- package/lib/aws/compute/states/task-base.js +2 -2
- package/lib/aws/compute/states/task.js +1 -1
- package/lib/aws/compute/states/wait.js +2 -2
- package/lib/aws/compute/step-scaling-action.js +1 -1
- package/lib/aws/compute/step-scaling-policy.js +9 -14
- package/lib/aws/compute/stepfunctions-api.js +5 -6
- package/lib/aws/compute/subnet-v2.js +2 -2
- package/lib/aws/compute/subnet.js +1 -1
- package/lib/aws/compute/target-tracking-scaling-policy.js +9 -12
- package/lib/aws/compute/task-credentials.js +1 -1
- package/lib/aws/compute/task-input.js +1 -1
- package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +1 -1
- package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
- package/lib/aws/compute/tasks/http/invoke.js +1 -1
- package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
- package/lib/aws/compute/tasks/sqs/send-message.js +1 -1
- package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
- package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
- package/lib/aws/compute/types.js +1 -1
- package/lib/aws/compute/usage-plan.js +1 -1
- package/lib/aws/compute/user-data.js +3 -3
- package/lib/aws/compute/volume.js +2 -2
- package/lib/aws/compute/vpc-endpoint-service.js +1 -1
- package/lib/aws/compute/vpc-endpoint.js +6 -6
- package/lib/aws/compute/vpc-flow-logs.js +4 -4
- package/lib/aws/compute/vpc-link.js +1 -1
- package/lib/aws/compute/vpc-v2-base.js +1 -1
- package/lib/aws/compute/vpc-v2.js +2 -2
- package/lib/aws/compute/vpc.js +4 -4
- package/lib/aws/compute/vpn.js +3 -3
- package/lib/aws/edge/certificate.js +1 -1
- package/lib/aws/edge/distribution.js +3 -3
- package/lib/aws/edge/dns-alias-record-targets.js +6 -6
- package/lib/aws/edge/dns-record.js +13 -13
- package/lib/aws/edge/dns-zone.d.ts +1 -1
- package/lib/aws/edge/dns-zone.js +8 -7
- package/lib/aws/edge/function.js +2 -2
- package/lib/aws/edge/key-value-store.js +4 -4
- package/lib/aws/edge/origin.js +3 -3
- package/lib/aws/edge/response-headers-policy.js +1 -1
- package/lib/aws/encryption/alias.js +1 -1
- package/lib/aws/encryption/key.js +1 -1
- package/lib/aws/encryption/via-service-principal.js +1 -1
- package/lib/aws/iam/grant.js +2 -2
- package/lib/aws/iam/group.js +1 -1
- package/lib/aws/iam/instance-profile.js +1 -1
- package/lib/aws/iam/managed-policy.js +1 -1
- package/lib/aws/iam/oidc-provider.js +1 -1
- package/lib/aws/iam/policy-document.js +1 -1
- package/lib/aws/iam/policy-statement.js +1 -1
- package/lib/aws/iam/policy.js +1 -1
- package/lib/aws/iam/principals.js +20 -20
- package/lib/aws/iam/role.js +1 -1
- package/lib/aws/iam/saml-provider.js +2 -2
- package/lib/aws/iam/unknown-principal.js +1 -1
- package/lib/aws/iam/user.js +1 -1
- package/lib/aws/network/simple-ipv4-vpc.js +1 -1
- package/lib/aws/network/subnet-group.js +3 -3
- package/lib/aws/network/subnet.js +4 -4
- package/lib/aws/notify/archive.js +1 -1
- package/lib/aws/notify/connection.js +3 -3
- package/lib/aws/notify/event-bus.d.ts +19 -0
- package/lib/aws/notify/event-bus.js +22 -26
- package/lib/aws/notify/event-pattern.js +1 -1
- package/lib/aws/notify/input.js +2 -2
- package/lib/aws/notify/kinesis-stream.js +1 -1
- package/lib/aws/notify/notification-rule.js +1 -1
- package/lib/aws/notify/policy.js +1 -1
- package/lib/aws/notify/queue-policy.js +1 -1
- package/lib/aws/notify/queue.js +1 -1
- package/lib/aws/notify/resource-policy.js +1 -1
- package/lib/aws/notify/rule.js +1 -1
- package/lib/aws/notify/schedule.js +1 -1
- package/lib/aws/notify/subscription-filter.js +7 -8
- package/lib/aws/notify/subscription.js +23 -25
- package/lib/aws/notify/subscriptions/email.js +1 -1
- package/lib/aws/notify/subscriptions/lambda.js +1 -1
- package/lib/aws/notify/subscriptions/sms.js +1 -1
- package/lib/aws/notify/subscriptions/sqs.js +1 -1
- package/lib/aws/notify/subscriptions/url.js +1 -1
- package/lib/aws/notify/targets/event-bus.js +1 -1
- package/lib/aws/notify/targets/function.js +1 -1
- package/lib/aws/notify/targets/log-group.js +2 -2
- package/lib/aws/notify/targets/sqs.js +1 -1
- package/lib/aws/notify/targets/state-machine.js +1 -1
- package/lib/aws/notify/topic-base.js +4 -4
- package/lib/aws/notify/topic.js +1 -1
- package/lib/aws/storage/assets/image-asset.js +8 -12
- package/lib/aws/storage/assets/s3.js +4 -4
- package/lib/aws/storage/auth-token.js +2 -2
- package/lib/aws/storage/billing.js +1 -1
- package/lib/aws/storage/bucket-notifications.js +1 -1
- package/lib/aws/storage/bucket-policy.js +1 -1
- package/lib/aws/storage/bucket-source.js +1 -1
- package/lib/aws/storage/bucket.js +2 -2
- package/lib/aws/storage/capacity.js +1 -1
- package/lib/aws/storage/ecr-repository.js +19 -32
- package/lib/aws/storage/encryption.js +1 -1
- package/lib/aws/storage/notification-targets/function.js +1 -1
- package/lib/aws/storage/notification-targets/queue.js +1 -1
- package/lib/aws/storage/origin-access-identity.js +1 -1
- package/lib/aws/storage/parameter.js +2 -2
- package/lib/aws/storage/table.js +50 -101
- package/lib/bundling.js +7 -6
- package/lib/construct-base.js +2 -2
- package/lib/duration.js +1 -1
- package/lib/errors.js +5 -3
- package/lib/expiration.js +1 -1
- package/lib/fs/ignore.js +4 -4
- package/lib/fs/index.js +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/private/asset-staging.js +3 -2
- package/lib/size.js +1 -1
- package/lib/stack-base.js +1 -1
- package/lib/terra-func.js +1 -1
- package/lib/time-zone.js +1 -1
- package/package.json +1 -1
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.AssetApiDefinition = exports.InlineApiDefinition = exports.ApiDefinition = void 0;
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
6
|
const cdktf_1 = require("cdktf");
|
|
7
|
+
const errors_1 = require("../../errors");
|
|
7
8
|
// import * as s3 from "../storage";
|
|
8
|
-
// import { UnscopedValidationError, ValidationError } from '../../core'; // TODO: Import from core/lib/errors if available
|
|
9
9
|
// import * as cxapi from '../../core'; // TODO: Import from core if cxapi is needed and available
|
|
10
10
|
/**
|
|
11
11
|
* Represents an OpenAPI definition asset.
|
|
@@ -91,7 +91,7 @@ class ApiDefinition {
|
|
|
91
91
|
}
|
|
92
92
|
exports.ApiDefinition = ApiDefinition;
|
|
93
93
|
_a = JSII_RTTI_SYMBOL_1;
|
|
94
|
-
ApiDefinition[_a] = { fqn: "terraconstructs.aws.compute.ApiDefinition", version: "0.1.
|
|
94
|
+
ApiDefinition[_a] = { fqn: "terraconstructs.aws.compute.ApiDefinition", version: "0.1.9" };
|
|
95
95
|
// // Not supported by Terraform Provider
|
|
96
96
|
// /**
|
|
97
97
|
// * OpenAPI specification from an S3 archive.
|
|
@@ -105,8 +105,7 @@ ApiDefinition[_a] = { fqn: "terraconstructs.aws.compute.ApiDefinition", version:
|
|
|
105
105
|
// ) {
|
|
106
106
|
// super();
|
|
107
107
|
// if (!bucket.bucketName) {
|
|
108
|
-
//
|
|
109
|
-
// throw new Error("bucketName is undefined for the provided bucket");
|
|
108
|
+
// throw new ValidationError('bucketName is undefined for the provided bucket', bucket);
|
|
110
109
|
// }
|
|
111
110
|
// this.bucketName = bucket.bucketName;
|
|
112
111
|
// }
|
|
@@ -128,12 +127,10 @@ class InlineApiDefinition extends ApiDefinition {
|
|
|
128
127
|
super();
|
|
129
128
|
this.definition = definition;
|
|
130
129
|
if (typeof definition !== "object") {
|
|
131
|
-
|
|
132
|
-
throw new Error("definition should be of type object");
|
|
130
|
+
throw new errors_1.UnscopedValidationError("definition should be of type object");
|
|
133
131
|
}
|
|
134
132
|
if (Object.keys(definition).length === 0) {
|
|
135
|
-
|
|
136
|
-
throw new Error("JSON definition cannot be empty");
|
|
133
|
+
throw new errors_1.UnscopedValidationError("JSON definition cannot be empty");
|
|
137
134
|
}
|
|
138
135
|
}
|
|
139
136
|
bind(_scope) {
|
|
@@ -144,7 +141,7 @@ class InlineApiDefinition extends ApiDefinition {
|
|
|
144
141
|
}
|
|
145
142
|
exports.InlineApiDefinition = InlineApiDefinition;
|
|
146
143
|
_b = JSII_RTTI_SYMBOL_1;
|
|
147
|
-
InlineApiDefinition[_b] = { fqn: "terraconstructs.aws.compute.InlineApiDefinition", version: "0.1.
|
|
144
|
+
InlineApiDefinition[_b] = { fqn: "terraconstructs.aws.compute.InlineApiDefinition", version: "0.1.9" };
|
|
148
145
|
/**
|
|
149
146
|
* OpenAPI specification from a local file.
|
|
150
147
|
*/
|
|
@@ -164,14 +161,13 @@ class AssetApiDefinition extends ApiDefinition {
|
|
|
164
161
|
}
|
|
165
162
|
if (this.asset.type === cdktf_1.AssetType.DIRECTORY ||
|
|
166
163
|
this.asset.type === cdktf_1.AssetType.ARCHIVE) {
|
|
167
|
-
|
|
168
|
-
throw new Error(`Asset cannot be a .zip file or a directory (${this.path})`);
|
|
164
|
+
throw new errors_1.ValidationError(`Asset cannot be a .zip file or a directory (${this.path})`, scope);
|
|
169
165
|
}
|
|
170
166
|
return {
|
|
171
167
|
inlineDefinition: cdktf_1.Fn.file(this.asset.path),
|
|
172
168
|
};
|
|
173
169
|
}
|
|
174
|
-
bindAfterCreate(
|
|
170
|
+
bindAfterCreate(scope, _restApi) {
|
|
175
171
|
// TODO: Implement ContextProvider lookup for cxapi.ASSET_RESOURCE_METADATA_ENABLED_CONTEXT if asset metadata is needed.
|
|
176
172
|
// The original CDK code uses context to check if asset metadata should be added.
|
|
177
173
|
// Example from CDK:
|
|
@@ -179,8 +175,7 @@ class AssetApiDefinition extends ApiDefinition {
|
|
|
179
175
|
// return; // not enabled
|
|
180
176
|
// }
|
|
181
177
|
if (!this.asset) {
|
|
182
|
-
|
|
183
|
-
throw new Error("bindAfterCreate() must be called after bind()");
|
|
178
|
+
throw new errors_1.ValidationError("bindAfterCreate() must be called after bind()", scope);
|
|
184
179
|
}
|
|
185
180
|
// TODO: Implement asset metadata binding if required by TerraConstructs.
|
|
186
181
|
// The original CDK code adds metadata to the CfnRestApi resource using `addMetadata`.
|
|
@@ -196,5 +191,5 @@ class AssetApiDefinition extends ApiDefinition {
|
|
|
196
191
|
}
|
|
197
192
|
exports.AssetApiDefinition = AssetApiDefinition;
|
|
198
193
|
_c = JSII_RTTI_SYMBOL_1;
|
|
199
|
-
AssetApiDefinition[_c] = { fqn: "terraconstructs.aws.compute.AssetApiDefinition", version: "0.1.
|
|
200
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWRlZmluaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvYXBpLWRlZmluaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpQ0FBc0Q7QUFPdEQsb0NBQW9DO0FBQ3BDLDJIQUEySDtBQUMzSCxrR0FBa0c7QUFFbEc7O0dBRUc7QUFDSCxNQUFzQixhQUFhO0lBQ2pDLHdEQUF3RDtJQUN4RCxNQUFNO0lBQ04seUVBQXlFO0lBQ3pFLE1BQU07SUFDTiw0QkFBNEI7SUFDNUIsd0JBQXdCO0lBQ3hCLGlCQUFpQjtJQUNqQiw0QkFBNEI7SUFDNUIsdUJBQXVCO0lBQ3ZCLDREQUE0RDtJQUM1RCxJQUFJO0lBRUo7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0E4Q0c7SUFDSSxNQUFNLENBQUMsVUFBVSxDQUFDLFVBQWU7UUFDdEMsT0FBTyxJQUFJLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxTQUFTLENBQ3JCLElBQVksRUFDWixPQUFzQjtRQUV0QixPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFXRDs7Ozs7O09BTUc7SUFDSSxlQUFlLENBQUMsTUFBaUIsRUFBRSxRQUFrQjtRQUMxRCxPQUFPO0lBQ1QsQ0FBQzs7QUE1Rkgsc0NBNkZDOzs7QUFvQ0QseUNBQXlDO0FBQ3pDLE1BQU07QUFDTiwrQ0FBK0M7QUFDL0MsTUFBTTtBQUNOLHVEQUF1RDtBQUN2RCxnQ0FBZ0M7QUFFaEMsaUJBQWlCO0FBQ2pCLDBCQUEwQjtBQUMxQiwyQkFBMkI7QUFDM0Isc0NBQXNDO0FBQ3RDLFFBQVE7QUFDUixlQUFlO0FBRWYsZ0NBQWdDO0FBQ2hDLG1HQUFtRztBQUNuRyw0RUFBNEU7QUFDNUUsUUFBUTtBQUVSLDJDQUEyQztBQUMzQyxNQUFNO0FBRU4sMERBQTBEO0FBQzFELGVBQWU7QUFDZixzQkFBc0I7QUFDdEIsbUNBQW1DO0FBQ25DLHlCQUF5QjtBQUN6Qix1Q0FBdUM7QUFDdkMsV0FBVztBQUNYLFNBQVM7QUFDVCxNQUFNO0FBQ04sSUFBSTtBQUVKOztHQUVHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSxhQUFhO0lBQ3BELFlBQW9CLFVBQWU7UUFDakMsS0FBSyxFQUFFLENBQUM7UUFEVSxlQUFVLEdBQVYsVUFBVSxDQUFLO1FBR2pDLElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbkMsa0dBQWtHO1lBQ2xHLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBRUQsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN6QyxrR0FBa0c7WUFDbEcsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1FBQ3JELENBQUM7SUFDSCxDQUFDO0lBRU0sSUFBSSxDQUFDLE1BQWlCO1FBQzNCLE9BQU87WUFDTCxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDbEQsQ0FBQztJQUNKLENBQUM7O0FBbkJILGtEQW9CQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGtCQUFtQixTQUFRLGFBQWE7SUFHbkQsWUFDbUIsSUFBWSxFQUNaLFVBQXdCLEVBQUU7UUFFM0MsS0FBSyxFQUFFLENBQUM7UUFIUyxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osWUFBTyxHQUFQLE9BQU8sQ0FBbUI7SUFHN0MsQ0FBQztJQUVNLElBQUksQ0FBQyxLQUFnQjtRQUMxQiw4RkFBOEY7UUFDOUYsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxzQkFBYyxDQUFDLEtBQUssRUFBRSxlQUFlLEVBQUU7Z0JBQ3RELElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixHQUFHLElBQUksQ0FBQyxPQUFPO2FBQ2hCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUNFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLGlCQUFTLENBQUMsU0FBUztZQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxpQkFBUyxDQUFDLE9BQU8sRUFDckMsQ0FBQztZQUNELDBGQUEwRjtZQUMxRixNQUFNLElBQUksS0FBSyxDQUNiLCtDQUErQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQzVELENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTztZQUNMLGdCQUFnQixFQUFFLFVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7U0FDM0MsQ0FBQztJQUNKLENBQUM7SUFFTSxlQUFlLENBQUMsTUFBaUIsRUFBRSxRQUFrQjtRQUMxRCx3SEFBd0g7UUFDeEgsaUZBQWlGO1FBQ2pGLG9CQUFvQjtRQUNwQixtRkFBbUY7UUFDbkYsMkJBQTJCO1FBQzNCLElBQUk7UUFFSixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2hCLDBGQUEwRjtZQUMxRixNQUFNLElBQUksS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7UUFDbkUsQ0FBQztRQUVELHlFQUF5RTtRQUN6RSxzRkFBc0Y7UUFDdEYsMkdBQTJHO1FBQzNHLGlKQUFpSjtRQUNqSiw2REFBNkQ7UUFDN0Qsb0JBQW9CO1FBQ3BCLGdHQUFnRztRQUNoRyxtRkFBbUY7UUFDbkYsbUZBQW1GO1FBRW5GLE9BQU8sQ0FBQyxvRkFBb0Y7SUFDOUYsQ0FBQzs7QUExREgsZ0RBMkRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVycmFmb3JtQXNzZXQsIEFzc2V0VHlwZSwgRm4gfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7XG4gIENvbnN0cnVjdCxcbiAgLy8gTm9kZVxufSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgSVJlc3RBcGkgfSBmcm9tIFwiLi9yZXN0YXBpXCI7IC8vIEFzc3VtaW5nIElSZXN0QXBpIGlzIGluIHRoZSBzYW1lIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgYXMgaW4gQ0RLXG5pbXBvcnQgeyBBc3NldE9wdGlvbnMgfSBmcm9tIFwiLi4vc3RvcmFnZS9hc3NldHNcIjtcbi8vIGltcG9ydCAqIGFzIHMzIGZyb20gXCIuLi9zdG9yYWdlXCI7XG4vLyBpbXBvcnQgeyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvciwgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi4vLi4vY29yZSc7IC8vIFRPRE86IEltcG9ydCBmcm9tIGNvcmUvbGliL2Vycm9ycyBpZiBhdmFpbGFibGVcbi8vIGltcG9ydCAqIGFzIGN4YXBpIGZyb20gJy4uLy4uL2NvcmUnOyAvLyBUT0RPOiBJbXBvcnQgZnJvbSBjb3JlIGlmIGN4YXBpIGlzIG5lZWRlZCBhbmQgYXZhaWxhYmxlXG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBPcGVuQVBJIGRlZmluaXRpb24gYXNzZXQuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBcGlEZWZpbml0aW9uIHtcbiAgLy8gLy8gczNsb2NhdGlvbiBub3Qgc3VwcG9ydGVkIGJ5IFRlcnJhZm9ybSBQcm92aWRlciBBV1NcbiAgLy8gLyoqXG4gIC8vICAqIENyZWF0ZXMgYW4gQVBJIGRlZmluaXRpb24gZnJvbSBhIHNwZWNpZmljYXRpb24gZmlsZSBpbiBhbiBTMyBidWNrZXRcbiAgLy8gICovXG4gIC8vIHB1YmxpYyBzdGF0aWMgZnJvbUJ1Y2tldChcbiAgLy8gICBidWNrZXQ6IHMzLklCdWNrZXQsXG4gIC8vICAga2V5OiBzdHJpbmcsXG4gIC8vICAgb2JqZWN0VmVyc2lvbj86IHN0cmluZyxcbiAgLy8gKTogUzNBcGlEZWZpbml0aW9uIHtcbiAgLy8gICByZXR1cm4gbmV3IFMzQXBpRGVmaW5pdGlvbihidWNrZXQsIGtleSwgb2JqZWN0VmVyc2lvbik7XG4gIC8vIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIEFQSSBkZWZpbml0aW9uIGZyb20gYW4gaW5saW5lIG9iamVjdC4gVGhlIGlubGluZSBvYmplY3QgbXVzdCBmb2xsb3cgdGhlXG4gICAqIHNjaGVtYSBvZiBPcGVuQVBJIDIuMCBvciBPcGVuQVBJIDMuMFxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKlxuICAgKiAgIEFwaURlZmluaXRpb24uZnJvbUlubGluZSh7XG4gICAqICAgICBvcGVuYXBpOiAnMy4wLjInLFxuICAgKiAgICAgcGF0aHM6IHtcbiAgICogICAgICAgJy9wZXRzJzoge1xuICAgKiAgICAgICAgIGdldDoge1xuICAgKiAgICAgICAgICAgJ3Jlc3BvbnNlcyc6IHtcbiAgICogICAgICAgICAgICAgMjAwOiB7XG4gICAqICAgICAgICAgICAgICAgY29udGVudDoge1xuICAgKiAgICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nOiB7XG4gICAqICAgICAgICAgICAgICAgICAgIHNjaGVtYToge1xuICAgKiAgICAgICAgICAgICAgICAgICAgICRyZWY6ICcjL2NvbXBvbmVudHMvc2NoZW1hcy9FbXB0eScsXG4gICAqICAgICAgICAgICAgICAgICAgIH0sXG4gICAqICAgICAgICAgICAgICAgICB9LFxuICAgKiAgICAgICAgICAgICAgIH0sXG4gICAqICAgICAgICAgICAgIH0sXG4gICAqICAgICAgICAgICB9LFxuICAgKiAgICAgICAgICAgJ3gtYW1hem9uLWFwaWdhdGV3YXktaW50ZWdyYXRpb24nOiB7XG4gICAqICAgICAgICAgICAgIHJlc3BvbnNlczoge1xuICAgKiAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICogICAgICAgICAgICAgICAgIHN0YXR1c0NvZGU6ICcyMDAnLFxuICAgKiAgICAgICAgICAgICAgIH0sXG4gICAqICAgICAgICAgICAgIH0sXG4gICAqICAgICAgICAgICAgIHJlcXVlc3RUZW1wbGF0ZXM6IHtcbiAgICogICAgICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbic6ICd7XCJzdGF0dXNDb2RlXCI6IDIwMH0nLFxuICAgKiAgICAgICAgICAgICB9LFxuICAgKiAgICAgICAgICAgICBwYXNzdGhyb3VnaEJlaGF2aW9yOiAnd2hlbl9ub19tYXRjaCcsXG4gICAqICAgICAgICAgICAgIHR5cGU6ICdtb2NrJyxcbiAgICogICAgICAgICAgIH0sXG4gICAqICAgICAgICAgfSxcbiAgICogICAgICAgfSxcbiAgICogICAgIH0sXG4gICAqICAgICBjb21wb25lbnRzOiB7XG4gICAqICAgICAgIHNjaGVtYXM6IHtcbiAgICogICAgICAgICBFbXB0eToge1xuICAgKiAgICAgICAgICAgdGl0bGU6ICdFbXB0eSBTY2hlbWEnLFxuICAgKiAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAqICAgICAgICAgfSxcbiAgICogICAgICAgfSxcbiAgICogICAgIH0sXG4gICAqICAgfSk7XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21JbmxpbmUoZGVmaW5pdGlvbjogYW55KTogSW5saW5lQXBpRGVmaW5pdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBJbmxpbmVBcGlEZWZpbml0aW9uKGRlZmluaXRpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIHRoZSBBUEkgc3BlY2lmaWNhdGlvbiBmcm9tIGEgbG9jYWwgZGlzayBhc3NldC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUFzc2V0KFxuICAgIGZpbGU6IHN0cmluZyxcbiAgICBvcHRpb25zPzogQXNzZXRPcHRpb25zLFxuICApOiBBc3NldEFwaURlZmluaXRpb24ge1xuICAgIHJldHVybiBuZXcgQXNzZXRBcGlEZWZpbml0aW9uKGZpbGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBzcGVjaWZpY2F0aW9uIGlzIGluaXRpYWxpemVkIHRvIGFsbG93IHRoaXMgb2JqZWN0IHRvIGJpbmRcbiAgICogdG8gdGhlIHN0YWNrLCBhZGQgcmVzb3VyY2VzIGFuZCBoYXZlIGZ1bi5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBiaW5kaW5nIHNjb3BlLiBEb24ndCBiZSBzbWFydCBhYm91dCB0cnlpbmcgdG8gZG93bi1jYXN0IG9yXG4gICAqIGFzc3VtZSBpdCdzIGluaXRpYWxpemVkLiBZb3UgbWF5IGp1c3QgdXNlIGl0IGFzIGEgY29uc3RydWN0IHNjb3BlLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGJpbmQoc2NvcGU6IENvbnN0cnVjdCk6IEFwaURlZmluaXRpb25Db25maWc7XG5cbiAgLyoqXG4gICAqIENhbGxlZCBhZnRlciB0aGUgVEYgUmVzdEFwaSByZXNvdXJjZSBoYXMgYmVlbiBjcmVhdGVkIHRvIGFsbG93IHRoZSBBcGlcbiAgICogRGVmaW5pdGlvbiB0byBiaW5kIHRvIGl0LlxuICAgKlxuICAgKiBPcmlnaW5hbGx5IHJlcXVpcmVkIHRvIGFsbG93IGFzc2V0cyB0byBhZGQgbWV0YWRhdGEgZm9yIHRvb2xpbmcgbGlrZVxuICAgKiBTQU0gQ0xJIHRvIGJlIGFibGUgdG8gZmluZCB0aGVpciBvcmlnaW5zLlxuICAgKi9cbiAgcHVibGljIGJpbmRBZnRlckNyZWF0ZShfc2NvcGU6IENvbnN0cnVjdCwgX3Jlc3RBcGk6IElSZXN0QXBpKTogdm9pZCB7XG4gICAgcmV0dXJuO1xuICB9XG59XG5cbi8vIC8qKlxuLy8gICogUzMgbG9jYXRpb24gb2YgdGhlIEFQSSBkZWZpbml0aW9uIGZpbGVcbi8vICAqL1xuLy8gZXhwb3J0IGludGVyZmFjZSBBcGlEZWZpbml0aW9uUzNMb2NhdGlvbiB7XG4vLyAgIC8qKiBUaGUgUzMgYnVja2V0ICovXG4vLyAgIHJlYWRvbmx5IGJ1Y2tldDogc3RyaW5nO1xuLy8gICAvKiogVGhlIFMzIGtleSAqL1xuLy8gICByZWFkb25seSBrZXk6IHN0cmluZztcbi8vICAgLyoqXG4vLyAgICAqIEFuIG9wdGlvbmFsIHZlcnNpb25cbi8vICAgICogQGRlZmF1bHQgLSBsYXRlc3QgdmVyc2lvblxuLy8gICAgKi9cbi8vICAgcmVhZG9ubHkgdmVyc2lvbj86IHN0cmluZztcbi8vIH1cblxuLyoqXG4gKiBQb3N0LUJpbmRpbmcgQ29uZmlndXJhdGlvbiBmb3IgYSBjb25zdHJ1Y3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcGlEZWZpbml0aW9uQ29uZmlnIHtcbiAgLy8gLyoqXG4gIC8vICAqIFRoZSBsb2NhdGlvbiBvZiB0aGUgc3BlY2lmaWNhdGlvbiBpbiBTMyAobXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYGlubGluZURlZmluaXRpb25gKS5cbiAgLy8gICpcbiAgLy8gICogQGRlZmF1bHQgLSBBUEkgZGVmaW5pdGlvbiBpcyBub3QgYW4gUzMgbG9jYXRpb25cbiAgLy8gICovXG4gIC8vIHJlYWRvbmx5IHMzTG9jYXRpb24/OiBBcGlEZWZpbml0aW9uUzNMb2NhdGlvbjtcblxuICAvKipcbiAgICogSW5saW5lIHNwZWNpZmljYXRpb24gKG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGBzM0xvY2F0aW9uYCkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQVBJIGRlZmluaXRpb24gaXMgbm90IGRlZmluZWQgaW5saW5lXG4gICAqL1xuICByZWFkb25seSBpbmxpbmVEZWZpbml0aW9uPzogYW55O1xufVxuXG4vLyAvLyBOb3Qgc3VwcG9ydGVkIGJ5IFRlcnJhZm9ybSBQcm92aWRlclxuLy8gLyoqXG4vLyAgKiBPcGVuQVBJIHNwZWNpZmljYXRpb24gZnJvbSBhbiBTMyBhcmNoaXZlLlxuLy8gICovXG4vLyBleHBvcnQgY2xhc3MgUzNBcGlEZWZpbml0aW9uIGV4dGVuZHMgQXBpRGVmaW5pdGlvbiB7XG4vLyAgIHByaXZhdGUgYnVja2V0TmFtZTogc3RyaW5nO1xuXG4vLyAgIGNvbnN0cnVjdG9yKFxuLy8gICAgIGJ1Y2tldDogczMuSUJ1Y2tldCxcbi8vICAgICBwcml2YXRlIGtleTogc3RyaW5nLFxuLy8gICAgIHByaXZhdGUgb2JqZWN0VmVyc2lvbj86IHN0cmluZyxcbi8vICAgKSB7XG4vLyAgICAgc3VwZXIoKTtcblxuLy8gICAgIGlmICghYnVja2V0LmJ1Y2tldE5hbWUpIHtcbi8vICAgICAgIC8vIFRPRE86IFVzZSBzcGVjaWZpYyBlcnJvciB0eXBlIGZyb20gY29yZS9saWIvZXJyb3JzIGlmIGF2YWlsYWJsZSAoZS5nLiwgVmFsaWRhdGlvbkVycm9yKVxuLy8gICAgICAgdGhyb3cgbmV3IEVycm9yKFwiYnVja2V0TmFtZSBpcyB1bmRlZmluZWQgZm9yIHRoZSBwcm92aWRlZCBidWNrZXRcIik7XG4vLyAgICAgfVxuXG4vLyAgICAgdGhpcy5idWNrZXROYW1lID0gYnVja2V0LmJ1Y2tldE5hbWU7XG4vLyAgIH1cblxuLy8gICBwdWJsaWMgYmluZChfc2NvcGU6IENvbnN0cnVjdCk6IEFwaURlZmluaXRpb25Db25maWcge1xuLy8gICAgIHJldHVybiB7XG4vLyAgICAgICBzM0xvY2F0aW9uOiB7XG4vLyAgICAgICAgIGJ1Y2tldDogdGhpcy5idWNrZXROYW1lLFxuLy8gICAgICAgICBrZXk6IHRoaXMua2V5LFxuLy8gICAgICAgICB2ZXJzaW9uOiB0aGlzLm9iamVjdFZlcnNpb24sXG4vLyAgICAgICB9LFxuLy8gICAgIH07XG4vLyAgIH1cbi8vIH1cblxuLyoqXG4gKiBPcGVuQVBJIHNwZWNpZmljYXRpb24gZnJvbSBhbiBpbmxpbmUgSlNPTiBvYmplY3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbmxpbmVBcGlEZWZpbml0aW9uIGV4dGVuZHMgQXBpRGVmaW5pdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGVmaW5pdGlvbjogYW55KSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGlmICh0eXBlb2YgZGVmaW5pdGlvbiAhPT0gXCJvYmplY3RcIikge1xuICAgICAgLy8gVE9ETzogVXNlIHNwZWNpZmljIGVycm9yIHR5cGUgZnJvbSBjb3JlL2xpYi9lcnJvcnMgaWYgYXZhaWxhYmxlIChlLmcuLCBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcilcbiAgICAgIHRocm93IG5ldyBFcnJvcihcImRlZmluaXRpb24gc2hvdWxkIGJlIG9mIHR5cGUgb2JqZWN0XCIpO1xuICAgIH1cblxuICAgIGlmIChPYmplY3Qua2V5cyhkZWZpbml0aW9uKS5sZW5ndGggPT09IDApIHtcbiAgICAgIC8vIFRPRE86IFVzZSBzcGVjaWZpYyBlcnJvciB0eXBlIGZyb20gY29yZS9saWIvZXJyb3JzIGlmIGF2YWlsYWJsZSAoZS5nLiwgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJKU09OIGRlZmluaXRpb24gY2Fubm90IGJlIGVtcHR5XCIpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBiaW5kKF9zY29wZTogQ29uc3RydWN0KTogQXBpRGVmaW5pdGlvbkNvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlubGluZURlZmluaXRpb246IEpTT04uc3RyaW5naWZ5KHRoaXMuZGVmaW5pdGlvbiksXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIE9wZW5BUEkgc3BlY2lmaWNhdGlvbiBmcm9tIGEgbG9jYWwgZmlsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEFzc2V0QXBpRGVmaW5pdGlvbiBleHRlbmRzIEFwaURlZmluaXRpb24ge1xuICBwcml2YXRlIGFzc2V0PzogVGVycmFmb3JtQXNzZXQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXRoOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBBc3NldE9wdGlvbnMgPSB7fSxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBiaW5kKHNjb3BlOiBDb25zdHJ1Y3QpOiBBcGlEZWZpbml0aW9uQ29uZmlnIHtcbiAgICAvLyBJZiB0aGUgc2FtZSBBc3NldEFQSURlZmluaXRpb24gaXMgdXNlZCBtdWx0aXBsZSB0aW1lcywgcmV0YWluIG9ubHkgdGhlIGZpcnN0IGluc3RhbnRpYXRpb24uXG4gICAgaWYgKHRoaXMuYXNzZXQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5hc3NldCA9IG5ldyBUZXJyYWZvcm1Bc3NldChzY29wZSwgXCJBUElEZWZpbml0aW9uXCIsIHtcbiAgICAgICAgcGF0aDogdGhpcy5wYXRoLFxuICAgICAgICAuLi50aGlzLm9wdGlvbnMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLmFzc2V0LnR5cGUgPT09IEFzc2V0VHlwZS5ESVJFQ1RPUlkgfHxcbiAgICAgIHRoaXMuYXNzZXQudHlwZSA9PT0gQXNzZXRUeXBlLkFSQ0hJVkVcbiAgICApIHtcbiAgICAgIC8vIFRPRE86IFVzZSBzcGVjaWZpYyBlcnJvciB0eXBlIGZyb20gY29yZS9saWIvZXJyb3JzIGlmIGF2YWlsYWJsZSAoZS5nLiwgVmFsaWRhdGlvbkVycm9yKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQXNzZXQgY2Fubm90IGJlIGEgLnppcCBmaWxlIG9yIGEgZGlyZWN0b3J5ICgke3RoaXMucGF0aH0pYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGlubGluZURlZmluaXRpb246IEZuLmZpbGUodGhpcy5hc3NldC5wYXRoKSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGJpbmRBZnRlckNyZWF0ZShfc2NvcGU6IENvbnN0cnVjdCwgX3Jlc3RBcGk6IElSZXN0QXBpKTogdm9pZCB7XG4gICAgLy8gVE9ETzogSW1wbGVtZW50IENvbnRleHRQcm92aWRlciBsb29rdXAgZm9yIGN4YXBpLkFTU0VUX1JFU09VUkNFX01FVEFEQVRBX0VOQUJMRURfQ09OVEVYVCBpZiBhc3NldCBtZXRhZGF0YSBpcyBuZWVkZWQuXG4gICAgLy8gVGhlIG9yaWdpbmFsIENESyBjb2RlIHVzZXMgY29udGV4dCB0byBjaGVjayBpZiBhc3NldCBtZXRhZGF0YSBzaG91bGQgYmUgYWRkZWQuXG4gICAgLy8gRXhhbXBsZSBmcm9tIENESzpcbiAgICAvLyBpZiAoIV9zY29wZS5ub2RlLnRyeUdldENvbnRleHQoY3hhcGkuQVNTRVRfUkVTT1VSQ0VfTUVUQURBVEFfRU5BQkxFRF9DT05URVhUKSkge1xuICAgIC8vICAgcmV0dXJuOyAvLyBub3QgZW5hYmxlZFxuICAgIC8vIH1cblxuICAgIGlmICghdGhpcy5hc3NldCkge1xuICAgICAgLy8gVE9ETzogVXNlIHNwZWNpZmljIGVycm9yIHR5cGUgZnJvbSBjb3JlL2xpYi9lcnJvcnMgaWYgYXZhaWxhYmxlIChlLmcuLCBWYWxpZGF0aW9uRXJyb3IpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJiaW5kQWZ0ZXJDcmVhdGUoKSBtdXN0IGJlIGNhbGxlZCBhZnRlciBiaW5kKClcIik7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogSW1wbGVtZW50IGFzc2V0IG1ldGFkYXRhIGJpbmRpbmcgaWYgcmVxdWlyZWQgYnkgVGVycmFDb25zdHJ1Y3RzLlxuICAgIC8vIFRoZSBvcmlnaW5hbCBDREsgY29kZSBhZGRzIG1ldGFkYXRhIHRvIHRoZSBDZm5SZXN0QXBpIHJlc291cmNlIHVzaW5nIGBhZGRNZXRhZGF0YWAuXG4gICAgLy8gVGVycmFmb3JtIHJlc291cmNlcyAobGlrZSBBcGlHYXRld2F5UmVzdEFwaSkgZG8gbm90IGhhdmUgYSBkaXJlY3QgZXF1aXZhbGVudCBvZiBDZm5SZXNvdXJjZS5hZGRNZXRhZGF0YS5cbiAgICAvLyBUaGlzIGZ1bmN0aW9uYWxpdHkgbWlnaHQgYmUgaGFuZGxlZCBkaWZmZXJlbnRseSAoZS5nLiwgdmlhIHRhZ3Mgb3Igc3BlY2lmaWMgcmVzb3VyY2UgYXR0cmlidXRlcyBpZiBzdXBwb3J0ZWQgYnkgdGhlIHByb3ZpZGVyIGZvciB0aGlzIHB1cnBvc2UpXG4gICAgLy8gb3IgbWlnaHQgbm90IGJlIGFwcGxpY2FibGUgaW4gdGhlIFRlcnJhQ29uc3RydWN0cyBjb250ZXh0LlxuICAgIC8vIEV4YW1wbGUgZnJvbSBDREs6XG4gICAgLy8gY29uc3QgY2hpbGQgPSBOb2RlLm9mKF9yZXN0QXBpKS5kZWZhdWx0Q2hpbGQgYXMgQ2ZuUmVzdEFwaTsgLy8gVGhpcyBpcyBDREstc3BlY2lmaWMgdG8gZ2V0IEwxXG4gICAgLy8gY2hpbGQuYWRkTWV0YWRhdGEoY3hhcGkuQVNTRVRfUkVTT1VSQ0VfTUVUQURBVEFfUEFUSF9LRVksIHRoaXMuYXNzZXQuYXNzZXRQYXRoKTtcbiAgICAvLyBjaGlsZC5hZGRNZXRhZGF0YShjeGFwaS5BU1NFVF9SRVNPVVJDRV9NRVRBREFUQV9QUk9QRVJUWV9LRVksICdCb2R5UzNMb2NhdGlvbicpO1xuXG4gICAgcmV0dXJuOyAvLyBDdXJyZW50IGltcGxlbWVudGF0aW9uIGRvZXMgbm90aGluZyBhcyBtZXRhZGF0YSBhZGRpdGlvbiBpcyBjb250ZXh0L0NGTiBzcGVjaWZpYy5cbiAgfVxufVxuIl19
|
|
194
|
+
AssetApiDefinition[_c] = { fqn: "terraconstructs.aws.compute.AssetApiDefinition", version: "0.1.9" };
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWRlZmluaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvYXBpLWRlZmluaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpQ0FBc0Q7QUFNdEQseUNBQXdFO0FBRXhFLG9DQUFvQztBQUNwQyxrR0FBa0c7QUFFbEc7O0dBRUc7QUFDSCxNQUFzQixhQUFhO0lBQ2pDLHdEQUF3RDtJQUN4RCxNQUFNO0lBQ04seUVBQXlFO0lBQ3pFLE1BQU07SUFDTiw0QkFBNEI7SUFDNUIsd0JBQXdCO0lBQ3hCLGlCQUFpQjtJQUNqQiw0QkFBNEI7SUFDNUIsdUJBQXVCO0lBQ3ZCLDREQUE0RDtJQUM1RCxJQUFJO0lBRUo7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0E4Q0c7SUFDSSxNQUFNLENBQUMsVUFBVSxDQUFDLFVBQWU7UUFDdEMsT0FBTyxJQUFJLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxTQUFTLENBQ3JCLElBQVksRUFDWixPQUFzQjtRQUV0QixPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFXRDs7Ozs7O09BTUc7SUFDSSxlQUFlLENBQUMsTUFBaUIsRUFBRSxRQUFrQjtRQUMxRCxPQUFPO0lBQ1QsQ0FBQzs7QUE1Rkgsc0NBNkZDOzs7QUFvQ0QseUNBQXlDO0FBQ3pDLE1BQU07QUFDTiwrQ0FBK0M7QUFDL0MsTUFBTTtBQUNOLHVEQUF1RDtBQUN2RCxnQ0FBZ0M7QUFFaEMsaUJBQWlCO0FBQ2pCLDBCQUEwQjtBQUMxQiwyQkFBMkI7QUFDM0Isc0NBQXNDO0FBQ3RDLFFBQVE7QUFDUixlQUFlO0FBRWYsZ0NBQWdDO0FBQ2hDLDhGQUE4RjtBQUM5RixRQUFRO0FBRVIsMkNBQTJDO0FBQzNDLE1BQU07QUFFTiwwREFBMEQ7QUFDMUQsZUFBZTtBQUNmLHNCQUFzQjtBQUN0QixtQ0FBbUM7QUFDbkMseUJBQXlCO0FBQ3pCLHVDQUF1QztBQUN2QyxXQUFXO0FBQ1gsU0FBUztBQUNULE1BQU07QUFDTixJQUFJO0FBRUo7O0dBRUc7QUFDSCxNQUFhLG1CQUFvQixTQUFRLGFBQWE7SUFDcEQsWUFBb0IsVUFBZTtRQUNqQyxLQUFLLEVBQUUsQ0FBQztRQURVLGVBQVUsR0FBVixVQUFVLENBQUs7UUFHakMsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNuQyxNQUFNLElBQUksZ0NBQXVCLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN6QyxNQUFNLElBQUksZ0NBQXVCLENBQUMsaUNBQWlDLENBQUMsQ0FBQztRQUN2RSxDQUFDO0lBQ0gsQ0FBQztJQUVNLElBQUksQ0FBQyxNQUFpQjtRQUMzQixPQUFPO1lBQ0wsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQ2xELENBQUM7SUFDSixDQUFDOztBQWpCSCxrREFrQkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxrQkFBbUIsU0FBUSxhQUFhO0lBR25ELFlBQ21CLElBQVksRUFDWixVQUF3QixFQUFFO1FBRTNDLEtBQUssRUFBRSxDQUFDO1FBSFMsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLFlBQU8sR0FBUCxPQUFPLENBQW1CO0lBRzdDLENBQUM7SUFFTSxJQUFJLENBQUMsS0FBZ0I7UUFDMUIsOEZBQThGO1FBQzlGLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksc0JBQWMsQ0FBQyxLQUFLLEVBQUUsZUFBZSxFQUFFO2dCQUN0RCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsR0FBRyxJQUFJLENBQUMsT0FBTzthQUNoQixDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFDRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxpQkFBUyxDQUFDLFNBQVM7WUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssaUJBQVMsQ0FBQyxPQUFPLEVBQ3JDLENBQUM7WUFDRCxNQUFNLElBQUksd0JBQWUsQ0FDdkIsK0NBQStDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFDM0QsS0FBSyxDQUNOLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTztZQUNMLGdCQUFnQixFQUFFLFVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7U0FDM0MsQ0FBQztJQUNKLENBQUM7SUFFTSxlQUFlLENBQUMsS0FBZ0IsRUFBRSxRQUFrQjtRQUN6RCx3SEFBd0g7UUFDeEgsaUZBQWlGO1FBQ2pGLG9CQUFvQjtRQUNwQixtRkFBbUY7UUFDbkYsMkJBQTJCO1FBQzNCLElBQUk7UUFFSixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSx3QkFBZSxDQUN2QiwrQ0FBK0MsRUFDL0MsS0FBSyxDQUNOLENBQUM7UUFDSixDQUFDO1FBRUQseUVBQXlFO1FBQ3pFLHNGQUFzRjtRQUN0RiwyR0FBMkc7UUFDM0csaUpBQWlKO1FBQ2pKLDZEQUE2RDtRQUM3RCxvQkFBb0I7UUFDcEIsZ0dBQWdHO1FBQ2hHLG1GQUFtRjtRQUNuRixtRkFBbUY7UUFFbkYsT0FBTyxDQUFDLG9GQUFvRjtJQUM5RixDQUFDOztBQTVESCxnREE2REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXJyYWZvcm1Bc3NldCwgQXNzZXRUeXBlLCBGbiB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHtcbiAgQ29uc3RydWN0LFxuICAvLyBOb2RlXG59IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBJUmVzdEFwaSB9IGZyb20gXCIuL3Jlc3RhcGlcIjsgLy8gQXNzdW1pbmcgSVJlc3RBcGkgaXMgaW4gdGhlIHNhbWUgZGlyZWN0b3J5IHN0cnVjdHVyZSBhcyBpbiBDREtcbmltcG9ydCB7IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yLCBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tIFwiLi4vLi4vZXJyb3JzXCI7XG5pbXBvcnQgeyBBc3NldE9wdGlvbnMgfSBmcm9tIFwiLi4vc3RvcmFnZS9hc3NldHNcIjtcbi8vIGltcG9ydCAqIGFzIHMzIGZyb20gXCIuLi9zdG9yYWdlXCI7XG4vLyBpbXBvcnQgKiBhcyBjeGFwaSBmcm9tICcuLi8uLi9jb3JlJzsgLy8gVE9ETzogSW1wb3J0IGZyb20gY29yZSBpZiBjeGFwaSBpcyBuZWVkZWQgYW5kIGF2YWlsYWJsZVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gT3BlbkFQSSBkZWZpbml0aW9uIGFzc2V0LlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQXBpRGVmaW5pdGlvbiB7XG4gIC8vIC8vIHMzbG9jYXRpb24gbm90IHN1cHBvcnRlZCBieSBUZXJyYWZvcm0gUHJvdmlkZXIgQVdTXG4gIC8vIC8qKlxuICAvLyAgKiBDcmVhdGVzIGFuIEFQSSBkZWZpbml0aW9uIGZyb20gYSBzcGVjaWZpY2F0aW9uIGZpbGUgaW4gYW4gUzMgYnVja2V0XG4gIC8vICAqL1xuICAvLyBwdWJsaWMgc3RhdGljIGZyb21CdWNrZXQoXG4gIC8vICAgYnVja2V0OiBzMy5JQnVja2V0LFxuICAvLyAgIGtleTogc3RyaW5nLFxuICAvLyAgIG9iamVjdFZlcnNpb24/OiBzdHJpbmcsXG4gIC8vICk6IFMzQXBpRGVmaW5pdGlvbiB7XG4gIC8vICAgcmV0dXJuIG5ldyBTM0FwaURlZmluaXRpb24oYnVja2V0LCBrZXksIG9iamVjdFZlcnNpb24pO1xuICAvLyB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbiBBUEkgZGVmaW5pdGlvbiBmcm9tIGFuIGlubGluZSBvYmplY3QuIFRoZSBpbmxpbmUgb2JqZWN0IG11c3QgZm9sbG93IHRoZVxuICAgKiBzY2hlbWEgb2YgT3BlbkFQSSAyLjAgb3IgT3BlbkFQSSAzLjBcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICpcbiAgICogICBBcGlEZWZpbml0aW9uLmZyb21JbmxpbmUoe1xuICAgKiAgICAgb3BlbmFwaTogJzMuMC4yJyxcbiAgICogICAgIHBhdGhzOiB7XG4gICAqICAgICAgICcvcGV0cyc6IHtcbiAgICogICAgICAgICBnZXQ6IHtcbiAgICogICAgICAgICAgICdyZXNwb25zZXMnOiB7XG4gICAqICAgICAgICAgICAgIDIwMDoge1xuICAgKiAgICAgICAgICAgICAgIGNvbnRlbnQ6IHtcbiAgICogICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJzoge1xuICAgKiAgICAgICAgICAgICAgICAgICBzY2hlbWE6IHtcbiAgICogICAgICAgICAgICAgICAgICAgICAkcmVmOiAnIy9jb21wb25lbnRzL3NjaGVtYXMvRW1wdHknLFxuICAgKiAgICAgICAgICAgICAgICAgICB9LFxuICAgKiAgICAgICAgICAgICAgICAgfSxcbiAgICogICAgICAgICAgICAgICB9LFxuICAgKiAgICAgICAgICAgICB9LFxuICAgKiAgICAgICAgICAgfSxcbiAgICogICAgICAgICAgICd4LWFtYXpvbi1hcGlnYXRld2F5LWludGVncmF0aW9uJzoge1xuICAgKiAgICAgICAgICAgICByZXNwb25zZXM6IHtcbiAgICogICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAqICAgICAgICAgICAgICAgICBzdGF0dXNDb2RlOiAnMjAwJyxcbiAgICogICAgICAgICAgICAgICB9LFxuICAgKiAgICAgICAgICAgICB9LFxuICAgKiAgICAgICAgICAgICByZXF1ZXN0VGVtcGxhdGVzOiB7XG4gICAqICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nOiAne1wic3RhdHVzQ29kZVwiOiAyMDB9JyxcbiAgICogICAgICAgICAgICAgfSxcbiAgICogICAgICAgICAgICAgcGFzc3Rocm91Z2hCZWhhdmlvcjogJ3doZW5fbm9fbWF0Y2gnLFxuICAgKiAgICAgICAgICAgICB0eXBlOiAnbW9jaycsXG4gICAqICAgICAgICAgICB9LFxuICAgKiAgICAgICAgIH0sXG4gICAqICAgICAgIH0sXG4gICAqICAgICB9LFxuICAgKiAgICAgY29tcG9uZW50czoge1xuICAgKiAgICAgICBzY2hlbWFzOiB7XG4gICAqICAgICAgICAgRW1wdHk6IHtcbiAgICogICAgICAgICAgIHRpdGxlOiAnRW1wdHkgU2NoZW1hJyxcbiAgICogICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgKiAgICAgICAgIH0sXG4gICAqICAgICAgIH0sXG4gICAqICAgICB9LFxuICAgKiAgIH0pO1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tSW5saW5lKGRlZmluaXRpb246IGFueSk6IElubGluZUFwaURlZmluaXRpb24ge1xuICAgIHJldHVybiBuZXcgSW5saW5lQXBpRGVmaW5pdGlvbihkZWZpbml0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkcyB0aGUgQVBJIHNwZWNpZmljYXRpb24gZnJvbSBhIGxvY2FsIGRpc2sgYXNzZXQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Bc3NldChcbiAgICBmaWxlOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IEFzc2V0T3B0aW9ucyxcbiAgKTogQXNzZXRBcGlEZWZpbml0aW9uIHtcbiAgICByZXR1cm4gbmV3IEFzc2V0QXBpRGVmaW5pdGlvbihmaWxlLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgc3BlY2lmaWNhdGlvbiBpcyBpbml0aWFsaXplZCB0byBhbGxvdyB0aGlzIG9iamVjdCB0byBiaW5kXG4gICAqIHRvIHRoZSBzdGFjaywgYWRkIHJlc291cmNlcyBhbmQgaGF2ZSBmdW4uXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgYmluZGluZyBzY29wZS4gRG9uJ3QgYmUgc21hcnQgYWJvdXQgdHJ5aW5nIHRvIGRvd24tY2FzdCBvclxuICAgKiBhc3N1bWUgaXQncyBpbml0aWFsaXplZC4gWW91IG1heSBqdXN0IHVzZSBpdCBhcyBhIGNvbnN0cnVjdCBzY29wZS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBiaW5kKHNjb3BlOiBDb25zdHJ1Y3QpOiBBcGlEZWZpbml0aW9uQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBDYWxsZWQgYWZ0ZXIgdGhlIFRGIFJlc3RBcGkgcmVzb3VyY2UgaGFzIGJlZW4gY3JlYXRlZCB0byBhbGxvdyB0aGUgQXBpXG4gICAqIERlZmluaXRpb24gdG8gYmluZCB0byBpdC5cbiAgICpcbiAgICogT3JpZ2luYWxseSByZXF1aXJlZCB0byBhbGxvdyBhc3NldHMgdG8gYWRkIG1ldGFkYXRhIGZvciB0b29saW5nIGxpa2VcbiAgICogU0FNIENMSSB0byBiZSBhYmxlIHRvIGZpbmQgdGhlaXIgb3JpZ2lucy5cbiAgICovXG4gIHB1YmxpYyBiaW5kQWZ0ZXJDcmVhdGUoX3Njb3BlOiBDb25zdHJ1Y3QsIF9yZXN0QXBpOiBJUmVzdEFwaSk6IHZvaWQge1xuICAgIHJldHVybjtcbiAgfVxufVxuXG4vLyAvKipcbi8vICAqIFMzIGxvY2F0aW9uIG9mIHRoZSBBUEkgZGVmaW5pdGlvbiBmaWxlXG4vLyAgKi9cbi8vIGV4cG9ydCBpbnRlcmZhY2UgQXBpRGVmaW5pdGlvblMzTG9jYXRpb24ge1xuLy8gICAvKiogVGhlIFMzIGJ1Y2tldCAqL1xuLy8gICByZWFkb25seSBidWNrZXQ6IHN0cmluZztcbi8vICAgLyoqIFRoZSBTMyBrZXkgKi9cbi8vICAgcmVhZG9ubHkga2V5OiBzdHJpbmc7XG4vLyAgIC8qKlxuLy8gICAgKiBBbiBvcHRpb25hbCB2ZXJzaW9uXG4vLyAgICAqIEBkZWZhdWx0IC0gbGF0ZXN0IHZlcnNpb25cbi8vICAgICovXG4vLyAgIHJlYWRvbmx5IHZlcnNpb24/OiBzdHJpbmc7XG4vLyB9XG5cbi8qKlxuICogUG9zdC1CaW5kaW5nIENvbmZpZ3VyYXRpb24gZm9yIGEgY29uc3RydWN0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBpRGVmaW5pdGlvbkNvbmZpZyB7XG4gIC8vIC8qKlxuICAvLyAgKiBUaGUgbG9jYXRpb24gb2YgdGhlIHNwZWNpZmljYXRpb24gaW4gUzMgKG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGBpbmxpbmVEZWZpbml0aW9uYCkuXG4gIC8vICAqXG4gIC8vICAqIEBkZWZhdWx0IC0gQVBJIGRlZmluaXRpb24gaXMgbm90IGFuIFMzIGxvY2F0aW9uXG4gIC8vICAqL1xuICAvLyByZWFkb25seSBzM0xvY2F0aW9uPzogQXBpRGVmaW5pdGlvblMzTG9jYXRpb247XG5cbiAgLyoqXG4gICAqIElubGluZSBzcGVjaWZpY2F0aW9uIChtdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgczNMb2NhdGlvbmApLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEFQSSBkZWZpbml0aW9uIGlzIG5vdCBkZWZpbmVkIGlubGluZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5saW5lRGVmaW5pdGlvbj86IGFueTtcbn1cblxuLy8gLy8gTm90IHN1cHBvcnRlZCBieSBUZXJyYWZvcm0gUHJvdmlkZXJcbi8vIC8qKlxuLy8gICogT3BlbkFQSSBzcGVjaWZpY2F0aW9uIGZyb20gYW4gUzMgYXJjaGl2ZS5cbi8vICAqL1xuLy8gZXhwb3J0IGNsYXNzIFMzQXBpRGVmaW5pdGlvbiBleHRlbmRzIEFwaURlZmluaXRpb24ge1xuLy8gICBwcml2YXRlIGJ1Y2tldE5hbWU6IHN0cmluZztcblxuLy8gICBjb25zdHJ1Y3Rvcihcbi8vICAgICBidWNrZXQ6IHMzLklCdWNrZXQsXG4vLyAgICAgcHJpdmF0ZSBrZXk6IHN0cmluZyxcbi8vICAgICBwcml2YXRlIG9iamVjdFZlcnNpb24/OiBzdHJpbmcsXG4vLyAgICkge1xuLy8gICAgIHN1cGVyKCk7XG5cbi8vICAgICBpZiAoIWJ1Y2tldC5idWNrZXROYW1lKSB7XG4vLyAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKCdidWNrZXROYW1lIGlzIHVuZGVmaW5lZCBmb3IgdGhlIHByb3ZpZGVkIGJ1Y2tldCcsIGJ1Y2tldCk7XG4vLyAgICAgfVxuXG4vLyAgICAgdGhpcy5idWNrZXROYW1lID0gYnVja2V0LmJ1Y2tldE5hbWU7XG4vLyAgIH1cblxuLy8gICBwdWJsaWMgYmluZChfc2NvcGU6IENvbnN0cnVjdCk6IEFwaURlZmluaXRpb25Db25maWcge1xuLy8gICAgIHJldHVybiB7XG4vLyAgICAgICBzM0xvY2F0aW9uOiB7XG4vLyAgICAgICAgIGJ1Y2tldDogdGhpcy5idWNrZXROYW1lLFxuLy8gICAgICAgICBrZXk6IHRoaXMua2V5LFxuLy8gICAgICAgICB2ZXJzaW9uOiB0aGlzLm9iamVjdFZlcnNpb24sXG4vLyAgICAgICB9LFxuLy8gICAgIH07XG4vLyAgIH1cbi8vIH1cblxuLyoqXG4gKiBPcGVuQVBJIHNwZWNpZmljYXRpb24gZnJvbSBhbiBpbmxpbmUgSlNPTiBvYmplY3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbmxpbmVBcGlEZWZpbml0aW9uIGV4dGVuZHMgQXBpRGVmaW5pdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGVmaW5pdGlvbjogYW55KSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGlmICh0eXBlb2YgZGVmaW5pdGlvbiAhPT0gXCJvYmplY3RcIikge1xuICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFwiZGVmaW5pdGlvbiBzaG91bGQgYmUgb2YgdHlwZSBvYmplY3RcIik7XG4gICAgfVxuXG4gICAgaWYgKE9iamVjdC5rZXlzKGRlZmluaXRpb24pLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFwiSlNPTiBkZWZpbml0aW9uIGNhbm5vdCBiZSBlbXB0eVwiKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYmluZChfc2NvcGU6IENvbnN0cnVjdCk6IEFwaURlZmluaXRpb25Db25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBpbmxpbmVEZWZpbml0aW9uOiBKU09OLnN0cmluZ2lmeSh0aGlzLmRlZmluaXRpb24pLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBPcGVuQVBJIHNwZWNpZmljYXRpb24gZnJvbSBhIGxvY2FsIGZpbGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBBc3NldEFwaURlZmluaXRpb24gZXh0ZW5kcyBBcGlEZWZpbml0aW9uIHtcbiAgcHJpdmF0ZSBhc3NldD86IFRlcnJhZm9ybUFzc2V0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGF0aDogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogQXNzZXRPcHRpb25zID0ge30sXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgYmluZChzY29wZTogQ29uc3RydWN0KTogQXBpRGVmaW5pdGlvbkNvbmZpZyB7XG4gICAgLy8gSWYgdGhlIHNhbWUgQXNzZXRBUElEZWZpbml0aW9uIGlzIHVzZWQgbXVsdGlwbGUgdGltZXMsIHJldGFpbiBvbmx5IHRoZSBmaXJzdCBpbnN0YW50aWF0aW9uLlxuICAgIGlmICh0aGlzLmFzc2V0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuYXNzZXQgPSBuZXcgVGVycmFmb3JtQXNzZXQoc2NvcGUsIFwiQVBJRGVmaW5pdGlvblwiLCB7XG4gICAgICAgIHBhdGg6IHRoaXMucGF0aCxcbiAgICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgdGhpcy5hc3NldC50eXBlID09PSBBc3NldFR5cGUuRElSRUNUT1JZIHx8XG4gICAgICB0aGlzLmFzc2V0LnR5cGUgPT09IEFzc2V0VHlwZS5BUkNISVZFXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBgQXNzZXQgY2Fubm90IGJlIGEgLnppcCBmaWxlIG9yIGEgZGlyZWN0b3J5ICgke3RoaXMucGF0aH0pYCxcbiAgICAgICAgc2NvcGUsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBpbmxpbmVEZWZpbml0aW9uOiBGbi5maWxlKHRoaXMuYXNzZXQucGF0aCksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBiaW5kQWZ0ZXJDcmVhdGUoc2NvcGU6IENvbnN0cnVjdCwgX3Jlc3RBcGk6IElSZXN0QXBpKTogdm9pZCB7XG4gICAgLy8gVE9ETzogSW1wbGVtZW50IENvbnRleHRQcm92aWRlciBsb29rdXAgZm9yIGN4YXBpLkFTU0VUX1JFU09VUkNFX01FVEFEQVRBX0VOQUJMRURfQ09OVEVYVCBpZiBhc3NldCBtZXRhZGF0YSBpcyBuZWVkZWQuXG4gICAgLy8gVGhlIG9yaWdpbmFsIENESyBjb2RlIHVzZXMgY29udGV4dCB0byBjaGVjayBpZiBhc3NldCBtZXRhZGF0YSBzaG91bGQgYmUgYWRkZWQuXG4gICAgLy8gRXhhbXBsZSBmcm9tIENESzpcbiAgICAvLyBpZiAoIV9zY29wZS5ub2RlLnRyeUdldENvbnRleHQoY3hhcGkuQVNTRVRfUkVTT1VSQ0VfTUVUQURBVEFfRU5BQkxFRF9DT05URVhUKSkge1xuICAgIC8vICAgcmV0dXJuOyAvLyBub3QgZW5hYmxlZFxuICAgIC8vIH1cblxuICAgIGlmICghdGhpcy5hc3NldCkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgXCJiaW5kQWZ0ZXJDcmVhdGUoKSBtdXN0IGJlIGNhbGxlZCBhZnRlciBiaW5kKClcIixcbiAgICAgICAgc2NvcGUsXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIFRPRE86IEltcGxlbWVudCBhc3NldCBtZXRhZGF0YSBiaW5kaW5nIGlmIHJlcXVpcmVkIGJ5IFRlcnJhQ29uc3RydWN0cy5cbiAgICAvLyBUaGUgb3JpZ2luYWwgQ0RLIGNvZGUgYWRkcyBtZXRhZGF0YSB0byB0aGUgQ2ZuUmVzdEFwaSByZXNvdXJjZSB1c2luZyBgYWRkTWV0YWRhdGFgLlxuICAgIC8vIFRlcnJhZm9ybSByZXNvdXJjZXMgKGxpa2UgQXBpR2F0ZXdheVJlc3RBcGkpIGRvIG5vdCBoYXZlIGEgZGlyZWN0IGVxdWl2YWxlbnQgb2YgQ2ZuUmVzb3VyY2UuYWRkTWV0YWRhdGEuXG4gICAgLy8gVGhpcyBmdW5jdGlvbmFsaXR5IG1pZ2h0IGJlIGhhbmRsZWQgZGlmZmVyZW50bHkgKGUuZy4sIHZpYSB0YWdzIG9yIHNwZWNpZmljIHJlc291cmNlIGF0dHJpYnV0ZXMgaWYgc3VwcG9ydGVkIGJ5IHRoZSBwcm92aWRlciBmb3IgdGhpcyBwdXJwb3NlKVxuICAgIC8vIG9yIG1pZ2h0IG5vdCBiZSBhcHBsaWNhYmxlIGluIHRoZSBUZXJyYUNvbnN0cnVjdHMgY29udGV4dC5cbiAgICAvLyBFeGFtcGxlIGZyb20gQ0RLOlxuICAgIC8vIGNvbnN0IGNoaWxkID0gTm9kZS5vZihfcmVzdEFwaSkuZGVmYXVsdENoaWxkIGFzIENmblJlc3RBcGk7IC8vIFRoaXMgaXMgQ0RLLXNwZWNpZmljIHRvIGdldCBMMVxuICAgIC8vIGNoaWxkLmFkZE1ldGFkYXRhKGN4YXBpLkFTU0VUX1JFU09VUkNFX01FVEFEQVRBX1BBVEhfS0VZLCB0aGlzLmFzc2V0LmFzc2V0UGF0aCk7XG4gICAgLy8gY2hpbGQuYWRkTWV0YWRhdGEoY3hhcGkuQVNTRVRfUkVTT1VSQ0VfTUVUQURBVEFfUFJPUEVSVFlfS0VZLCAnQm9keVMzTG9jYXRpb24nKTtcblxuICAgIHJldHVybjsgLy8gQ3VycmVudCBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdGhpbmcgYXMgbWV0YWRhdGEgYWRkaXRpb24gaXMgY29udGV4dC9DRk4gc3BlY2lmaWMuXG4gIH1cbn1cbiJdfQ==
|
|
@@ -7,6 +7,7 @@ const provider_aws_1 = require("@cdktf/provider-aws");
|
|
|
7
7
|
const cdktf_1 = require("cdktf");
|
|
8
8
|
const __1 = require("..");
|
|
9
9
|
const usage_plan_1 = require("./usage-plan");
|
|
10
|
+
const errors_1 = require("../../errors");
|
|
10
11
|
const iam = require("../iam");
|
|
11
12
|
/**
|
|
12
13
|
* Base implementation that is common to the various implementations of IApiKey
|
|
@@ -111,8 +112,7 @@ class ApiKey extends ApiKeyBase {
|
|
|
111
112
|
return undefined;
|
|
112
113
|
}
|
|
113
114
|
if (resources && stages) {
|
|
114
|
-
|
|
115
|
-
throw new Error(`Only one of "resources" or "stages" should be provided. (${this.node.path})`);
|
|
115
|
+
throw new errors_1.ValidationError(`Only one of "resources" or "stages" should be provided. (${this.node.path})`, this);
|
|
116
116
|
}
|
|
117
117
|
if (resources) {
|
|
118
118
|
// Handle Deprecated case of associating ApiKey with RestApi resources
|
|
@@ -121,9 +121,8 @@ class ApiKey extends ApiKeyBase {
|
|
|
121
121
|
resources.forEach((resource) => {
|
|
122
122
|
const restApi = resource;
|
|
123
123
|
if (!restApi.deploymentStage) {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
"Either set the RestApi.deploymentStage or create an ApiKey from a Stage");
|
|
124
|
+
throw new errors_1.ValidationError('Cannot add an ApiKey to a RestApi that does not contain a "deploymentStage".\n' +
|
|
125
|
+
"Either set the RestApi.deploymentStage or create an ApiKey from a Stage", this);
|
|
127
126
|
}
|
|
128
127
|
apiStages.push({
|
|
129
128
|
api: restApi,
|
|
@@ -157,7 +156,7 @@ class ApiKey extends ApiKeyBase {
|
|
|
157
156
|
}
|
|
158
157
|
exports.ApiKey = ApiKey;
|
|
159
158
|
_a = JSII_RTTI_SYMBOL_1;
|
|
160
|
-
ApiKey[_a] = { fqn: "terraconstructs.aws.compute.ApiKey", version: "0.1.
|
|
159
|
+
ApiKey[_a] = { fqn: "terraconstructs.aws.compute.ApiKey", version: "0.1.9" };
|
|
161
160
|
/**
|
|
162
161
|
* An API Gateway ApiKey, for which a rate limiting configuration can be specified.
|
|
163
162
|
*
|
|
@@ -186,7 +185,7 @@ class RateLimitedApiKey extends ApiKeyBase {
|
|
|
186
185
|
}
|
|
187
186
|
exports.RateLimitedApiKey = RateLimitedApiKey;
|
|
188
187
|
_b = JSII_RTTI_SYMBOL_1;
|
|
189
|
-
RateLimitedApiKey[_b] = { fqn: "terraconstructs.aws.compute.RateLimitedApiKey", version: "0.1.
|
|
188
|
+
RateLimitedApiKey[_b] = { fqn: "terraconstructs.aws.compute.RateLimitedApiKey", version: "0.1.9" };
|
|
190
189
|
const readPermissions = ["apigateway:GET"];
|
|
191
190
|
const writePermissions = [
|
|
192
191
|
"apigateway:POST",
|
|
@@ -194,4 +193,4 @@ const writePermissions = [
|
|
|
194
193
|
"apigateway:PATCH",
|
|
195
194
|
"apigateway:DELETE",
|
|
196
195
|
];
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWtleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9hcGkta2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsc0RBQXVEO0FBQ3ZELGlDQUFvQztBQUVwQywwQkFLWTtBQUdaLDZDQUtzQjtBQUN0Qiw4QkFBOEI7QUE0RjlCOztHQUVHO0FBQ0gsTUFBZSxVQUFXLFNBQVEsb0JBQWdCO0lBSWhELElBQVcsT0FBTztRQUNoQixPQUFPO1lBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtTQUNwQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxTQUFTLENBQUMsT0FBdUI7UUFDdEMsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztZQUM5QixPQUFPO1lBQ1AsT0FBTyxFQUFFLGVBQWU7WUFDeEIsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUM1QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFVBQVUsQ0FBQyxPQUF1QjtRQUN2QyxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDO1lBQzlCLE9BQU87WUFDUCxPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDNUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxjQUFjLENBQUMsT0FBdUI7UUFDM0MsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztZQUM5QixPQUFPO1lBQ1AsT0FBTyxFQUFFLENBQUMsR0FBRyxlQUFlLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQztZQUNsRCxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQzVCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQUVE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QyxRQUFRLEVBQUUsQ0FBQztZQUNyRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQzFCLHNFQUFzRTtnQkFDdEUsNEdBQTRHO2dCQUM1RyxtQkFBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUNwQyxrSEFBa0gsQ0FDbkgsQ0FBQztZQUNKLENBQUM7WUFDRCxNQUFNLFNBQVMsR0FBRyxJQUFJLHNCQUFTLENBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFO2dCQUM1RCxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7Z0JBQzFCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztnQkFDbEIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO2FBQ3pCLENBQUMsQ0FBQztZQUNILFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFFRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQy9CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDbkMsQ0FBQzs7QUFoQ0gsOENBaUNDOzs7QUFFRCxNQUFNLGVBQWUsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFM0MsTUFBTSxnQkFBZ0IsR0FBRztJQUN2QixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixtQkFBbUI7Q0FDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwaUdhdGV3YXlBcGlLZXkgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgQW5ub3RhdGlvbnMgfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBBcm5Gb3JtYXQsXG4gIEF3c0NvbnN0cnVjdEJhc2UsXG4gIEF3c0NvbnN0cnVjdFByb3BzLFxuICBJQXdzQ29uc3RydWN0LFxufSBmcm9tIFwiLi5cIjtcbmltcG9ydCB7IElSZXN0QXBpIH0gZnJvbSBcIi4vcmVzdGFwaVwiO1xuaW1wb3J0IHsgSVN0YWdlLCBTdGFnZSB9IGZyb20gXCIuL3N0YWdlXCI7XG5pbXBvcnQge1xuICBRdW90YVNldHRpbmdzLFxuICBUaHJvdHRsZVNldHRpbmdzLFxuICBVc2FnZVBsYW4sXG4gIFVzYWdlUGxhblBlckFwaVN0YWdlLFxufSBmcm9tIFwiLi91c2FnZS1wbGFuXCI7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcIi4uL2lhbVwiO1xuXG4vKipcbiAqIEFQSSBrZXlzIGFyZSBhbHBoYW51bWVyaWMgc3RyaW5nIHZhbHVlcyB0aGF0IHlvdSBkaXN0cmlidXRlIHRvXG4gKiBhcHAgZGV2ZWxvcGVyIGN1c3RvbWVycyB0byBncmFudCBhY2Nlc3MgdG8geW91ciBBUElcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQXBpS2V5IGV4dGVuZHMgSUF3c0NvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBUaGUgQVBJIGtleSBJRC5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkga2V5SWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFQSSBrZXkgQVJOLlxuICAgKi9cbiAgcmVhZG9ubHkga2V5QXJuOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIG9wdGlvbnMgZm9yIGNyZWF0aW5nIGFuIEFQSSBLZXkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBpS2V5T3B0aW9ucyBleHRlbmRzIEF3c0NvbnN0cnVjdFByb3BzIHtcbiAgLyoqXG4gICAqIEEgbmFtZSBmb3IgdGhlIEFQSSBrZXkuIElmIHlvdSBkb24ndCBzcGVjaWZ5IGEgbmFtZSwgQVdTIENsb3VkRm9ybWF0aW9uIGdlbmVyYXRlcyBhIHVuaXF1ZSBwaHlzaWNhbCBJRCBhbmQgdXNlcyB0aGF0IElEIGZvciB0aGUgQVBJIGtleSBuYW1lLlxuICAgKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1hcGlnYXRld2F5LWFwaWtleS5odG1sI2Nmbi1hcGlnYXRld2F5LWFwaWtleS1uYW1lXG4gICAqIEBkZWZhdWx0IGF1dG9taWNhbGx5IGdlbmVyYXRlZCBuYW1lXG4gICAqL1xuICByZWFkb25seSBhcGlLZXlOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIEFQSSBrZXkuIE11c3QgYmUgYXQgbGVhc3QgMjAgY2hhcmFjdGVycyBsb25nLlxuICAgKiBAbGluayBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtYXBpZ2F0ZXdheS1hcGlrZXkuaHRtbCNjZm4tYXBpZ2F0ZXdheS1hcGlrZXktdmFsdWVcbiAgICogQGRlZmF1bHQgbm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgZGVzY3JpcHRpb24gb2YgdGhlIHB1cnBvc2Ugb2YgdGhlIEFQSSBrZXkuXG4gICAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWFwaWdhdGV3YXktYXBpa2V5Lmh0bWwjY2ZuLWFwaWdhdGV3YXktYXBpa2V5LWRlc2NyaXB0aW9uXG4gICAqIEBkZWZhdWx0IG5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFwaUtleSBQcm9wZXJ0aWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwaUtleVByb3BzIGV4dGVuZHMgQXBpS2V5T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgcmVzb3VyY2VzIHRoaXMgYXBpIGtleSBpcyBhc3NvY2lhdGVkIHdpdGguXG4gICAqIE5vdGU6IFRoaXMgcHJvcGVydHkgaXMgbm90IHVzZWQgYnkgdGhlIEFwaUtleSBjb25zdHJ1Y3QgaXRzZWxmIGFzIGRpcmVjdCBzdGFnZSBhc3NvY2lhdGlvbiBpcyBkZXByZWNhdGVkLlxuICAgKiBTdGFnZSBhc3NvY2lhdGlvbiBpcyBoYW5kbGVkIHZpYSBVc2FnZSBQbGFucy5cbiAgICogSXQgaXMga2VwdCBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIFJhdGVMaW1pdGVkQXBpS2V5UHJvcHMuXG4gICAqIEBkZWZhdWx0IG5vbmVcbiAgICogQGRlcHJlY2F0ZWQgLSB1c2UgYHN0YWdlc2AgaW5zdGVhZCwgYW5kIGFzc29jaWF0ZSB2aWEgYSBVc2FnZVBsYW4uXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZXM/OiBJUmVzdEFwaVtdO1xuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgU3RhZ2VzIHRoaXMgYXBpIGtleSBpcyBhc3NvY2lhdGVkIHdpdGguXG4gICAqIE5vdGU6IFRoaXMgcHJvcGVydHkgaXMgbm90IHVzZWQgYnkgdGhlIEFwaUtleSBjb25zdHJ1Y3QgaXRzZWxmIGFzIGRpcmVjdCBzdGFnZSBhc3NvY2lhdGlvbiBpcyBkZXByZWNhdGVkLlxuICAgKiBTdGFnZSBhc3NvY2lhdGlvbiBpcyBoYW5kbGVkIHZpYSBVc2FnZSBQbGFucy5cbiAgICogSXQgaXMga2VwdCBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIFJhdGVMaW1pdGVkQXBpS2V5UHJvcHMuXG4gICAqIEBkZWZhdWx0IC0gdGhlIGFwaSBrZXkgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCBhbnkgc3RhZ2VzXG4gICAqL1xuICByZWFkb25seSBzdGFnZXM/OiBJU3RhZ2VbXTtcblxuICAvKipcbiAgICogQW4gQVdTIE1hcmtldHBsYWNlIGN1c3RvbWVyIGlkZW50aWZpZXIgdG8gdXNlIHdoZW4gaW50ZWdyYXRpbmcgd2l0aCB0aGUgQVdTIFNhYVMgTWFya2V0cGxhY2UuXG4gICAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWFwaWdhdGV3YXktYXBpa2V5Lmh0bWwjY2ZuLWFwaWdhdGV3YXktYXBpa2V5LWN1c3RvbWVyaWRcbiAgICogQGRlZmF1bHQgbm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tZXJJZD86IHN0cmluZztcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIEFQSSBrZXkgY2FuIGJlIHVzZWQgYnkgY2xpZW50cy5cbiAgICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtYXBpZ2F0ZXdheS1hcGlrZXkuaHRtbCNjZm4tYXBpZ2F0ZXdheS1hcGlrZXktZW5hYmxlZFxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHdoZXRoZXIgdGhlIGtleSBpZGVudGlmaWVyIGlzIGRpc3RpbmN0IGZyb20gdGhlIGNyZWF0ZWQgQVBJIGtleSB2YWx1ZS5cbiAgICogVGhpcyBwcm9wZXJ0eSBpcyBkZXByZWNhdGVkIGFuZCBub3Qgc3VwcG9ydGVkIGluIHRoZSBUZXJyYUNvbnN0cnVjdC5cbiAgICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtYXBpZ2F0ZXdheS1hcGlrZXkuaHRtbCNjZm4tYXBpZ2F0ZXdheS1hcGlrZXktZ2VuZXJhdGVkaXN0aW5jdGlkXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBkZXByZWNhdGVkIFRoaXMgcHJvcGVydHkgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQuXG4gICAqL1xuICByZWFkb25seSBnZW5lcmF0ZURpc3RpbmN0SWQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEJhc2UgaW1wbGVtZW50YXRpb24gdGhhdCBpcyBjb21tb24gdG8gdGhlIHZhcmlvdXMgaW1wbGVtZW50YXRpb25zIG9mIElBcGlLZXlcbiAqL1xuYWJzdHJhY3QgY2xhc3MgQXBpS2V5QmFzZSBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJQXBpS2V5IHtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGtleUlkOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBrZXlBcm46IHN0cmluZztcblxuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGtleUlkOiB0aGlzLmtleUlkLFxuICAgICAga2V5QXJuOiB0aGlzLmtleUFybixcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcm1pdHMgdGhlIElBTSBwcmluY2lwYWwgYWxsIHJlYWQgb3BlcmF0aW9ucyB0aHJvdWdoIHRoaXMga2V5XG4gICAqXG4gICAqIEBwYXJhbSBncmFudGVlIFRoZSBwcmluY2lwYWwgdG8gZ3JhbnQgYWNjZXNzIHRvXG4gICAqL1xuICBwdWJsaWMgZ3JhbnRSZWFkKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICByZXR1cm4gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsKHtcbiAgICAgIGdyYW50ZWUsXG4gICAgICBhY3Rpb25zOiByZWFkUGVybWlzc2lvbnMsXG4gICAgICByZXNvdXJjZUFybnM6IFt0aGlzLmtleUFybl0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUGVybWl0cyB0aGUgSUFNIHByaW5jaXBhbCBhbGwgd3JpdGUgb3BlcmF0aW9ucyB0aHJvdWdoIHRoaXMga2V5XG4gICAqXG4gICAqIEBwYXJhbSBncmFudGVlIFRoZSBwcmluY2lwYWwgdG8gZ3JhbnQgYWNjZXNzIHRvXG4gICAqL1xuICBwdWJsaWMgZ3JhbnRXcml0ZShncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB7XG4gICAgcmV0dXJuIGlhbS5HcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICBncmFudGVlLFxuICAgICAgYWN0aW9uczogd3JpdGVQZXJtaXNzaW9ucyxcbiAgICAgIHJlc291cmNlQXJuczogW3RoaXMua2V5QXJuXSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJtaXRzIHRoZSBJQU0gcHJpbmNpcGFsIGFsbCByZWFkIGFuZCB3cml0ZSBvcGVyYXRpb25zIHRocm91Z2ggdGhpcyBrZXlcbiAgICpcbiAgICogQHBhcmFtIGdyYW50ZWUgVGhlIHByaW5jaXBhbCB0byBncmFudCBhY2Nlc3MgdG9cbiAgICovXG4gIHB1YmxpYyBncmFudFJlYWRXcml0ZShncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB7XG4gICAgcmV0dXJuIGlhbS5HcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICBncmFudGVlLFxuICAgICAgYWN0aW9uczogWy4uLnJlYWRQZXJtaXNzaW9ucywgLi4ud3JpdGVQZXJtaXNzaW9uc10sXG4gICAgICByZXNvdXJjZUFybnM6IFt0aGlzLmtleUFybl0sXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBBbiBBUEkgR2F0ZXdheSBBcGlLZXkuXG4gKlxuICogQW4gQXBpS2V5IGNhbiBiZSBkaXN0cmlidXRlZCB0byBBUEkgY2xpZW50cyB0aGF0IGFyZSBleGVjdXRpbmcgcmVxdWVzdHNcbiAqIGZvciBNZXRob2QgcmVzb3VyY2VzIHRoYXQgcmVxdWlyZSBhbiBBcGkgS2V5LlxuICpcbiAqIEByZXNvdXJjZSBhd3NfYXBpX2dhdGV3YXlfYXBpX2tleVxuICovXG5leHBvcnQgY2xhc3MgQXBpS2V5IGV4dGVuZHMgQXBpS2V5QmFzZSB7XG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gQXBpS2V5IGJ5IGl0cyBJZFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tQXBpS2V5SWQoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGFwaUtleUlkOiBzdHJpbmcsXG4gICk6IElBcGlLZXkge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIEFwaUtleUJhc2Uge1xuICAgICAgcHVibGljIGtleUlkID0gYXBpS2V5SWQ7XG4gICAgICBwdWJsaWMga2V5QXJuID0gdGhpcy5zdGFjay5mb3JtYXRBcm4oe1xuICAgICAgICBzZXJ2aWNlOiBcImFwaWdhdGV3YXlcIixcbiAgICAgICAgYWNjb3VudDogXCJcIiwgLy8gQVBJIEtleSBBUk5zIHR5cGljYWxseSBkb24ndCBpbmNsdWRlIGFjY291bnQgSUQgaW4gdGhpcyBzZWdtZW50XG4gICAgICAgIHJlc291cmNlOiBcIi9hcGlrZXlzXCIsXG4gICAgICAgIGFybkZvcm1hdDogQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUsXG4gICAgICAgIHJlc291cmNlTmFtZTogYXBpS2V5SWQsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGtleUlkOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBrZXlBcm46IHN0cmluZztcbiAgLyoqXG4gICAqIEF1dG8gY3JlYXRlZCBVc2FnZSBQbGFuIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgICogU2luY2UgQXVndXN0IDExLCAyMDE2IHVzYWdlIHBsYW5zIGFyZSBub3cgcmVxdWlyZWQgdG8gYXNzb2NpYXRlIGFuIEFQSSBrZXkgd2l0aCBhbiBBUEkgc3RhZ2UuXG4gICAqXG4gICAqIE5vdGU6IFRoaXMgcHJvcGVydHkgbWF5IGJlIHVkbmVmaW5lZCBhcyBkaXJlY3Qgc3RhZ2UgYXNzb2NpYXRpb24gaXMgZGVwcmVjYXRlZC5cbiAgICogU3RhZ2UgYXNzb2NpYXRpb24gaXMgaGFuZGxlZCB2aWEgVXNhZ2UgUGxhbnMgaW5zdGVhZC5cbiAgICogSXQgaXMga2VwdCBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIFJhdGVMaW1pdGVkQXBpS2V5UHJvcHMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdXNhZ2VQbGFuPzogVXNhZ2VQbGFuO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlOiBhcGlHYXRld2F5QXBpS2V5LkFwaUdhdGV3YXlBcGlLZXk7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEFwaUtleVByb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIGNvbnN0IG5hbWUgPSBwcm9wcy5hcGlLZXlOYW1lID8/IHRoaXMuc3RhY2sudW5pcXVlUmVzb3VyY2VOYW1lKHRoaXMpO1xuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBhcGlHYXRld2F5QXBpS2V5LkFwaUdhdGV3YXlBcGlLZXkodGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICBuYW1lLFxuICAgICAgY3VzdG9tZXJJZDogcHJvcHMuY3VzdG9tZXJJZCxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgIGVuYWJsZWQ6IHByb3BzLmVuYWJsZWQgPz8gdHJ1ZSxcbiAgICAgIHZhbHVlOiBwcm9wcy52YWx1ZSxcbiAgICB9KTtcbiAgICB0aGlzLmtleUlkID0gdGhpcy5yZXNvdXJjZS5pZDtcbiAgICB0aGlzLmtleUFybiA9IHRoaXMucmVzb3VyY2UuYXJuO1xuXG4gICAgLy8gY29weSBsZWdhY3kgcmVuZGVyU3RhZ2VLZXlzIGxvZ2ljIGZyb20gQVdTQ0RLIGZvciBlYXNlIG9mIG1pZ3JhdGlvbi5cbiAgICB0aGlzLnVzYWdlUGxhbiA9IHRoaXMucmVuZGVyU3RhZ2VLZXlzKHByb3BzLnJlc291cmNlcywgcHJvcHMuc3RhZ2VzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXIgdGhlIHN0YWdlIGtleXMgZm9yIHRoZSBBcGlLZXkuXG4gICAqIFRoaXMgbWV0aG9kIGhhbmRsZXMgdGhlIGFzc29jaWF0aW9uIG9mIHRoZSBBcGlLZXkgd2l0aCBlaXRoZXJcbiAgICogUmVzdEFwaSByZXNvdXJjZXMgb3IgU3RhZ2VzLCBkZXBlbmRpbmcgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gICAqXG4gICAqIEBwYXJhbSByZXNvdXJjZXMgLSBPcHRpb25hbCBsaXN0IG9mIFJlc3RBcGkgcmVzb3VyY2VzIHRvIGFzc29jaWF0ZSB3aXRoIHRoZSBBcGlLZXkuXG4gICAqIEBwYXJhbSBzdGFnZXMgLSBPcHRpb25hbCBsaXN0IG9mIFN0YWdlcyB0byBhc3NvY2lhdGUgd2l0aCB0aGUgQXBpS2V5LlxuICAgKi9cbiAgcHJpdmF0ZSByZW5kZXJTdGFnZUtleXMoXG4gICAgcmVzb3VyY2VzPzogSVJlc3RBcGlbXSxcbiAgICBzdGFnZXM/OiBJU3RhZ2VbXSxcbiAgKTogVXNhZ2VQbGFuIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXJlc291cmNlcyAmJiAhc3RhZ2VzKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmIChyZXNvdXJjZXMgJiYgc3RhZ2VzKSB7XG4gICAgICAvLyB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgT25seSBvbmUgb2YgXCJyZXNvdXJjZXNcIiBvciBcInN0YWdlc1wiIHNob3VsZCBiZSBwcm92aWRlZC4gKCR7dGhpcy5ub2RlLnBhdGh9KWAsXG4gICAgICAgIC8vIHRoaXMsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChyZXNvdXJjZXMpIHtcbiAgICAgIC8vIEhhbmRsZSBEZXByZWNhdGVkIGNhc2Ugb2YgYXNzb2NpYXRpbmcgQXBpS2V5IHdpdGggUmVzdEFwaSByZXNvdXJjZXNcbiAgICAgIC8vIFRoaXMgY3JlYXRlcyBhIHNpbmdsZSBVc2FnZSBQbGFuIGZvciBhbGwgc3RhZ2VzLCBidXQgaXMgZGVwcmVjYXRlZC5cbiAgICAgIGNvbnN0IGFwaVN0YWdlczogVXNhZ2VQbGFuUGVyQXBpU3RhZ2VbXSA9IFtdO1xuICAgICAgcmVzb3VyY2VzLmZvckVhY2goKHJlc291cmNlOiBJUmVzdEFwaSkgPT4ge1xuICAgICAgICBjb25zdCByZXN0QXBpID0gcmVzb3VyY2U7XG4gICAgICAgIGlmICghcmVzdEFwaS5kZXBsb3ltZW50U3RhZ2UpIHtcbiAgICAgICAgICAvLyB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICdDYW5ub3QgYWRkIGFuIEFwaUtleSB0byBhIFJlc3RBcGkgdGhhdCBkb2VzIG5vdCBjb250YWluIGEgXCJkZXBsb3ltZW50U3RhZ2VcIi5cXG4nICtcbiAgICAgICAgICAgICAgXCJFaXRoZXIgc2V0IHRoZSBSZXN0QXBpLmRlcGxveW1lbnRTdGFnZSBvciBjcmVhdGUgYW4gQXBpS2V5IGZyb20gYSBTdGFnZVwiLFxuICAgICAgICAgICAgLy8gdGhpcyxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGFwaVN0YWdlcy5wdXNoKHtcbiAgICAgICAgICBhcGk6IHJlc3RBcGksXG4gICAgICAgICAgc3RhZ2U6IHJlc3RBcGkuZGVwbG95bWVudFN0YWdlLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCB1c2FnZVBsYW4gPSBuZXcgVXNhZ2VQbGFuKHRoaXMsIFwiVXNhZ2VQbGFuXCIsIHtcbiAgICAgICAgYXBpU3RhZ2VzLFxuICAgICAgICBuYW1lOiBgJHt0aGlzLnJlc291cmNlLm5hbWVJbnB1dH0tdXNhZ2UtcGxhbmAsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBgVXNhZ2UgUGxhbiBmb3IgJHt0aGlzLmZyaWVuZGx5TmFtZX1gLFxuICAgICAgfSk7XG4gICAgICB1c2FnZVBsYW4uYWRkQXBpS2V5KHRoaXMpO1xuICAgICAgcmV0dXJuIHVzYWdlUGxhbjtcbiAgICB9XG5cbiAgICBpZiAoc3RhZ2VzICYmIHN0YWdlcy5sZW5ndGggPiAwKSB7XG4gICAgICAvLyBIYW5kbGUgRGVwcmVjYXRlZCBjYXNlIG9mIGFzc29jaWF0aW5nIEFwaUtleSB3aXRoIG11bHRpcGxlIFN0YWdlc1xuICAgICAgLy8gVGhpcyBjcmVhdGVzIGEgc2luZ2xlIFVzYWdlIFBsYW4gZm9yIGFsbCBzdGFnZXMsIGJ1dCBpcyBhbHNvIGRlcHJlY2F0ZWQuXG4gICAgICBjb25zdCB1c2FnZVBsYW4gPSBuZXcgVXNhZ2VQbGFuKHRoaXMsIGBVc2FnZVBsYW5gLCB7XG4gICAgICAgIGFwaVN0YWdlczogc3RhZ2VzLm1hcCgoc3RhZ2UpID0+ICh7XG4gICAgICAgICAgYXBpOiBzdGFnZS5yZXN0QXBpLFxuICAgICAgICAgIC8vIE5PVEU6IFVzYWdlUGxhblBlckFwaVN0YWdlIGV4cGVjdHMgU3RhZ2UgaW5zdGVhZCBvZiBJU3RhZ2VcbiAgICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xODYuMC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheS9saWIvdXNhZ2UtcGxhbi50cyNMOTctTDEwMlxuICAgICAgICAgIHN0YWdlOiBzdGFnZSBhcyBTdGFnZSxcbiAgICAgICAgfSkpLFxuICAgICAgfSk7XG4gICAgICB1c2FnZVBsYW4uYWRkQXBpS2V5KHRoaXMpO1xuICAgICAgcmV0dXJuIHVzYWdlUGxhbjtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG4vKipcbiAqIFJhdGVMaW1pdGVkQXBpS2V5IHByb3BlcnRpZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmF0ZUxpbWl0ZWRBcGlLZXlQcm9wcyBleHRlbmRzIEFwaUtleVByb3BzIHtcbiAgLyoqXG4gICAqIEFQSSBTdGFnZXMgdG8gYmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBSYXRlTGltaXRlZEFwaUtleS5cbiAgICogSWYgeW91IGFscmVhZHkgcHJlcGFyZWQgVXNhZ2VQbGFuIHJlc291cmNlIGV4cGxpY2l0bHksIHlvdSBzaG91bGQgdXNlIGBzdGFnZXNgIHByb3BlcnR5LlxuICAgKiBJZiB5b3UgcHJlZmVyIHRvIHByZXBhcmUgVXNhZ2VQbGFuIHJlc291cmNlIGltcGxpY2l0bHkgdmlhIFJhdGVMaW1pdGVkQXBpS2V5LFxuICAgKiBvciB5b3Ugc2hvdWxkIHNwZWNpZnkgdGhyb3R0bGUgc2V0dGluZ3MgYXQgZWFjaCBzdGFnZSBpbmRpdmlkdWFsbHksIHlvdSBzaG91bGQgdXNlIGBhcGlTdGFnZXNgIHByb3BlcnR5LlxuICAgKlxuICAgKiBAZGVmYXVsdCBub25lXG4gICAqL1xuICByZWFkb25seSBhcGlTdGFnZXM/OiBVc2FnZVBsYW5QZXJBcGlTdGFnZVtdO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgcmVxdWVzdHMgY2xpZW50cyBjYW4gbWFrZSBpbiBhIGdpdmVuIHRpbWUgcGVyaW9kLlxuICAgKiBAZGVmYXVsdCBub25lXG4gICAqL1xuICByZWFkb25seSBxdW90YT86IFF1b3RhU2V0dGluZ3M7XG5cbiAgLyoqXG4gICAqIE92ZXJhbGwgdGhyb3R0bGUgc2V0dGluZ3MgZm9yIHRoZSBBUEkuXG4gICAqIEBkZWZhdWx0IG5vbmVcbiAgICovXG4gIHJlYWRvbmx5IHRocm90dGxlPzogVGhyb3R0bGVTZXR0aW5ncztcbn1cblxuLyoqXG4gKiBBbiBBUEkgR2F0ZXdheSBBcGlLZXksIGZvciB3aGljaCBhIHJhdGUgbGltaXRpbmcgY29uZmlndXJhdGlvbiBjYW4gYmUgc3BlY2lmaWVkLlxuICpcbiAqIEByZXNvdXJjZSBhd3NfYXBpX2dhdGV3YXlfYXBpX2tleVxuICovXG5leHBvcnQgY2xhc3MgUmF0ZUxpbWl0ZWRBcGlLZXkgZXh0ZW5kcyBBcGlLZXlCYXNlIHtcbiAgcHVibGljIHJlYWRvbmx5IGtleUlkOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBrZXlBcm46IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGFwaUtleTogQXBpS2V5O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogUmF0ZUxpbWl0ZWRBcGlLZXlQcm9wcyA9IHt9LFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIHRoaXMuYXBpS2V5ID0gbmV3IEFwaUtleSh0aGlzLCBcIlJlc291cmNlXCIsIHByb3BzKTtcblxuICAgIGlmIChwcm9wcy5hcGlTdGFnZXMgfHwgcHJvcHMucXVvdGEgfHwgcHJvcHMudGhyb3R0bGUpIHtcbiAgICAgIGlmICh0aGlzLmFwaUtleS51c2FnZVBsYW4pIHtcbiAgICAgICAgLy8gTk9URTogQ3JlYXRpbmcgYW4gYWRkaXRpb25hbCB1c2FnZSBwbGFuIGlzIGRlZmF1bHQgQVdTQ0RLIGJlaGF2aW9yLlxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xODYuMC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheS9saWIvYXBpLWtleS50cyNMMjY4LUwyNzVcbiAgICAgICAgQW5ub3RhdGlvbnMub2YodGhpcy5hcGlLZXkpLmFkZFdhcm5pbmcoXG4gICAgICAgICAgXCJVc2FnZVBsYW4gaXMgYWxyZWFkeSBjcmVhdGVkIGZvciB0aGlzIEFwaUtleS4gQSBzZXBhcmF0ZSBVc2FnZVBsYW4gd2l0aCByYXRlIGxpbWl0aW5nIHdpbGwgYmUgY3JlYXRlZCBzZXBhcmF0ZWx5XCIsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBjb25zdCB1c2FnZVBsYW4gPSBuZXcgVXNhZ2VQbGFuKHRoaXMsIFwiUmF0ZUxpbWl0ZWRVc2FnZVBsYW5cIiwge1xuICAgICAgICBhcGlTdGFnZXM6IHByb3BzLmFwaVN0YWdlcyxcbiAgICAgICAgcXVvdGE6IHByb3BzLnF1b3RhLFxuICAgICAgICB0aHJvdHRsZTogcHJvcHMudGhyb3R0bGUsXG4gICAgICB9KTtcbiAgICAgIHVzYWdlUGxhbi5hZGRBcGlLZXkodGhpcy5hcGlLZXkpO1xuICAgIH1cblxuICAgIHRoaXMua2V5SWQgPSB0aGlzLmFwaUtleS5rZXlJZDtcbiAgICB0aGlzLmtleUFybiA9IHRoaXMuYXBpS2V5LmtleUFybjtcbiAgfVxufVxuXG5jb25zdCByZWFkUGVybWlzc2lvbnMgPSBbXCJhcGlnYXRld2F5OkdFVFwiXTtcblxuY29uc3Qgd3JpdGVQZXJtaXNzaW9ucyA9IFtcbiAgXCJhcGlnYXRld2F5OlBPU1RcIixcbiAgXCJhcGlnYXRld2F5OlBVVFwiLFxuICBcImFwaWdhdGV3YXk6UEFUQ0hcIixcbiAgXCJhcGlnYXRld2F5OkRFTEVURVwiLFxuXTtcbiJdfQ==
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWtleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9hcGkta2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsc0RBQXVEO0FBQ3ZELGlDQUFvQztBQUVwQywwQkFLWTtBQUdaLDZDQUtzQjtBQUN0Qix5Q0FBK0M7QUFDL0MsOEJBQThCO0FBNEY5Qjs7R0FFRztBQUNILE1BQWUsVUFBVyxTQUFRLG9CQUFnQjtJQUloRCxJQUFXLE9BQU87UUFDaEIsT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksU0FBUyxDQUFDLE9BQXVCO1FBQ3RDLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7WUFDOUIsT0FBTztZQUNQLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDNUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxVQUFVLENBQUMsT0FBdUI7UUFDdkMsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztZQUM5QixPQUFPO1lBQ1AsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQzVCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksY0FBYyxDQUFDLE9BQXVCO1FBQzNDLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7WUFDOUIsT0FBTztZQUNQLE9BQU8sRUFBRSxDQUFDLEdBQUcsZUFBZSxFQUFFLEdBQUcsZ0JBQWdCLENBQUM7WUFDbEQsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUM1QixDQUFDLENBQUM7SUFDTCxD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SSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDckQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUMxQixzRUFBc0U7Z0JBQ3RFLDRHQUE0RztnQkFDNUcsbUJBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsQ0FDcEMsa0hBQWtILENBQ25ILENBQUM7WUFDSixDQUFDO1lBQ0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxzQkFBUyxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRTtnQkFDNUQsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTO2dCQUMxQixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7Z0JBQ2xCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTthQUN6QixDQUFDLENBQUM7WUFDSCxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ25DLENBQUM7O0FBaENILDhDQWlDQzs7O0FBRUQsTUFBTSxlQUFlLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBRTNDLE1BQU0sZ0JBQWdCLEdBQUc7SUFDdkIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsbUJBQW1CO0NBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhcGlHYXRld2F5QXBpS2V5IH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1hd3NcIjtcbmltcG9ydCB7IEFubm90YXRpb25zIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgQXJuRm9ybWF0LFxuICBBd3NDb25zdHJ1Y3RCYXNlLFxuICBBd3NDb25zdHJ1Y3RQcm9wcyxcbiAgSUF3c0NvbnN0cnVjdCxcbn0gZnJvbSBcIi4uXCI7XG5pbXBvcnQgeyBJUmVzdEFwaSB9IGZyb20gXCIuL3Jlc3RhcGlcIjtcbmltcG9ydCB7IElTdGFnZSwgU3RhZ2UgfSBmcm9tIFwiLi9zdGFnZVwiO1xuaW1wb3J0IHtcbiAgUXVvdGFTZXR0aW5ncyxcbiAgVGhyb3R0bGVTZXR0aW5ncyxcbiAgVXNhZ2VQbGFuLFxuICBVc2FnZVBsYW5QZXJBcGlTdGFnZSxcbn0gZnJvbSBcIi4vdXNhZ2UtcGxhblwiO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSBcIi4uLy4uL2Vycm9yc1wiO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gXCIuLi9pYW1cIjtcblxuLyoqXG4gKiBBUEkga2V5cyBhcmUgYWxwaGFudW1lcmljIHN0cmluZyB2YWx1ZXMgdGhhdCB5b3UgZGlzdHJpYnV0ZSB0b1xuICogYXBwIGRldmVsb3BlciBjdXN0b21lcnMgdG8gZ3JhbnQgYWNjZXNzIHRvIHlvdXIgQVBJXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUFwaUtleSBleHRlbmRzIElBd3NDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogVGhlIEFQSSBrZXkgSUQuXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGtleUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUEkga2V5IEFSTi5cbiAgICovXG4gIHJlYWRvbmx5IGtleUFybjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSBvcHRpb25zIGZvciBjcmVhdGluZyBhbiBBUEkgS2V5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwaUtleU9wdGlvbnMgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qKlxuICAgKiBBIG5hbWUgZm9yIHRoZSBBUEkga2V5LiBJZiB5b3UgZG9uJ3Qgc3BlY2lmeSBhIG5hbWUsIEFXUyBDbG91ZEZvcm1hdGlvbiBnZW5lcmF0ZXMgYSB1bmlxdWUgcGh5c2ljYWwgSUQgYW5kIHVzZXMgdGhhdCBJRCBmb3IgdGhlIEFQSSBrZXkgbmFtZS5cbiAgICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtYXBpZ2F0ZXdheS1hcGlrZXkuaHRtbCNjZm4tYXBpZ2F0ZXdheS1hcGlrZXktbmFtZVxuICAgKiBAZGVmYXVsdCBhdXRvbWljYWxseSBnZW5lcmF0ZWQgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgYXBpS2V5TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBBUEkga2V5LiBNdXN0IGJlIGF0IGxlYXN0IDIwIGNoYXJhY3RlcnMgbG9uZy5cbiAgICogQGxpbmsgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWFwaWdhdGV3YXktYXBpa2V5Lmh0bWwjY2ZuLWFwaWdhdGV3YXktYXBpa2V5LXZhbHVlXG4gICAqIEBkZWZhdWx0IG5vbmVcbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGRlc2NyaXB0aW9uIG9mIHRoZSBwdXJwb3NlIG9mIHRoZSBBUEkga2V5LlxuICAgKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1hcGlnYXRld2F5LWFwaWtleS5odG1sI2Nmbi1hcGlnYXRld2F5LWFwaWtleS1kZXNjcmlwdGlvblxuICAgKiBAZGVmYXVsdCBub25lXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBcGlLZXkgUHJvcGVydGllcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcGlLZXlQcm9wcyBleHRlbmRzIEFwaUtleU9wdGlvbnMge1xuICAvKipcbiAgICogQSBsaXN0IG9mIHJlc291cmNlcyB0aGlzIGFwaSBrZXkgaXMgYXNzb2NpYXRlZCB3aXRoLlxuICAgKiBOb3RlOiBUaGlzIHByb3BlcnR5IGlzIG5vdCB1c2VkIGJ5IHRoZSBBcGlLZXkgY29uc3RydWN0IGl0c2VsZiBhcyBkaXJlY3Qgc3RhZ2UgYXNzb2NpYXRpb24gaXMgZGVwcmVjYXRlZC5cbiAgICogU3RhZ2UgYXNzb2NpYXRpb24gaXMgaGFuZGxlZCB2aWEgVXNhZ2UgUGxhbnMuXG4gICAqIEl0IGlzIGtlcHQgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBSYXRlTGltaXRlZEFwaUtleVByb3BzLlxuICAgKiBAZGVmYXVsdCBub25lXG4gICAqIEBkZXByZWNhdGVkIC0gdXNlIGBzdGFnZXNgIGluc3RlYWQsIGFuZCBhc3NvY2lhdGUgdmlhIGEgVXNhZ2VQbGFuLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VzPzogSVJlc3RBcGlbXTtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIFN0YWdlcyB0aGlzIGFwaSBrZXkgaXMgYXNzb2NpYXRlZCB3aXRoLlxuICAgKiBOb3RlOiBUaGlzIHByb3BlcnR5IGlzIG5vdCB1c2VkIGJ5IHRoZSBBcGlLZXkgY29uc3RydWN0IGl0c2VsZiBhcyBkaXJlY3Qgc3RhZ2UgYXNzb2NpYXRpb24gaXMgZGVwcmVjYXRlZC5cbiAgICogU3RhZ2UgYXNzb2NpYXRpb24gaXMgaGFuZGxlZCB2aWEgVXNhZ2UgUGxhbnMuXG4gICAqIEl0IGlzIGtlcHQgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBSYXRlTGltaXRlZEFwaUtleVByb3BzLlxuICAgKiBAZGVmYXVsdCAtIHRoZSBhcGkga2V5IGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggYW55IHN0YWdlc1xuICAgKi9cbiAgcmVhZG9ubHkgc3RhZ2VzPzogSVN0YWdlW107XG5cbiAgLyoqXG4gICAqIEFuIEFXUyBNYXJrZXRwbGFjZSBjdXN0b21lciBpZGVudGlmaWVyIHRvIHVzZSB3aGVuIGludGVncmF0aW5nIHdpdGggdGhlIEFXUyBTYWFTIE1hcmtldHBsYWNlLlxuICAgKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1hcGlnYXRld2F5LWFwaWtleS5odG1sI2Nmbi1hcGlnYXRld2F5LWFwaWtleS1jdXN0b21lcmlkXG4gICAqIEBkZWZhdWx0IG5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbWVySWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBBUEkga2V5IGNhbiBiZSB1c2VkIGJ5IGNsaWVudHMuXG4gICAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWFwaWdhdGV3YXktYXBpa2V5Lmh0bWwjY2ZuLWFwaWdhdGV3YXktYXBpa2V5LWVuYWJsZWRcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBrZXkgaWRlbnRpZmllciBpcyBkaXN0aW5jdCBmcm9tIHRoZSBjcmVhdGVkIEFQSSBrZXkgdmFsdWUuXG4gICAqIFRoaXMgcHJvcGVydHkgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHN1cHBvcnRlZCBpbiB0aGUgVGVycmFDb25zdHJ1Y3QuXG4gICAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWFwaWdhdGV3YXktYXBpa2V5Lmh0bWwjY2ZuLWFwaWdhdGV3YXktYXBpa2V5LWdlbmVyYXRlZGlzdGluY3RpZFxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAZGVwcmVjYXRlZCBUaGlzIHByb3BlcnR5IGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgZ2VuZXJhdGVEaXN0aW5jdElkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBCYXNlIGltcGxlbWVudGF0aW9uIHRoYXQgaXMgY29tbW9uIHRvIHRoZSB2YXJpb3VzIGltcGxlbWVudGF0aW9ucyBvZiBJQXBpS2V5XG4gKi9cbmFic3RyYWN0IGNsYXNzIEFwaUtleUJhc2UgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RCYXNlIGltcGxlbWVudHMgSUFwaUtleSB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBrZXlJZDogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkga2V5QXJuOiBzdHJpbmc7XG5cbiAgcHVibGljIGdldCBvdXRwdXRzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB7XG4gICAgICBrZXlJZDogdGhpcy5rZXlJZCxcbiAgICAgIGtleUFybjogdGhpcy5rZXlBcm4sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJtaXRzIHRoZSBJQU0gcHJpbmNpcGFsIGFsbCByZWFkIG9wZXJhdGlvbnMgdGhyb3VnaCB0aGlzIGtleVxuICAgKlxuICAgKiBAcGFyYW0gZ3JhbnRlZSBUaGUgcHJpbmNpcGFsIHRvIGdyYW50IGFjY2VzcyB0b1xuICAgKi9cbiAgcHVibGljIGdyYW50UmVhZChncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB7XG4gICAgcmV0dXJuIGlhbS5HcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICBncmFudGVlLFxuICAgICAgYWN0aW9uczogcmVhZFBlcm1pc3Npb25zLFxuICAgICAgcmVzb3VyY2VBcm5zOiBbdGhpcy5rZXlBcm5dLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcm1pdHMgdGhlIElBTSBwcmluY2lwYWwgYWxsIHdyaXRlIG9wZXJhdGlvbnMgdGhyb3VnaCB0aGlzIGtleVxuICAgKlxuICAgKiBAcGFyYW0gZ3JhbnRlZSBUaGUgcHJpbmNpcGFsIHRvIGdyYW50IGFjY2VzcyB0b1xuICAgKi9cbiAgcHVibGljIGdyYW50V3JpdGUoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQge1xuICAgIHJldHVybiBpYW0uR3JhbnQuYWRkVG9QcmluY2lwYWwoe1xuICAgICAgZ3JhbnRlZSxcbiAgICAgIGFjdGlvbnM6IHdyaXRlUGVybWlzc2lvbnMsXG4gICAgICByZXNvdXJjZUFybnM6IFt0aGlzLmtleUFybl0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUGVybWl0cyB0aGUgSUFNIHByaW5jaXBhbCBhbGwgcmVhZCBhbmQgd3JpdGUgb3BlcmF0aW9ucyB0aHJvdWdoIHRoaXMga2V5XG4gICAqXG4gICAqIEBwYXJhbSBncmFudGVlIFRoZSBwcmluY2lwYWwgdG8gZ3JhbnQgYWNjZXNzIHRvXG4gICAqL1xuICBwdWJsaWMgZ3JhbnRSZWFkV3JpdGUoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQge1xuICAgIHJldHVybiBpYW0uR3JhbnQuYWRkVG9QcmluY2lwYWwoe1xuICAgICAgZ3JhbnRlZSxcbiAgICAgIGFjdGlvbnM6IFsuLi5yZWFkUGVybWlzc2lvbnMsIC4uLndyaXRlUGVybWlzc2lvbnNdLFxuICAgICAgcmVzb3VyY2VBcm5zOiBbdGhpcy5rZXlBcm5dLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogQW4gQVBJIEdhdGV3YXkgQXBpS2V5LlxuICpcbiAqIEFuIEFwaUtleSBjYW4gYmUgZGlzdHJpYnV0ZWQgdG8gQVBJIGNsaWVudHMgdGhhdCBhcmUgZXhlY3V0aW5nIHJlcXVlc3RzXG4gKiBmb3IgTWV0aG9kIHJlc291cmNlcyB0aGF0IHJlcXVpcmUgYW4gQXBpIEtleS5cbiAqXG4gKiBAcmVzb3VyY2UgYXdzX2FwaV9nYXRld2F5X2FwaV9rZXlcbiAqL1xuZXhwb3J0IGNsYXNzIEFwaUtleSBleHRlbmRzIEFwaUtleUJhc2Uge1xuICAvKipcbiAgICogSW1wb3J0IGFuIEFwaUtleSBieSBpdHMgSWRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUFwaUtleUlkKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBhcGlLZXlJZDogc3RyaW5nLFxuICApOiBJQXBpS2V5IHtcbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBBcGlLZXlCYXNlIHtcbiAgICAgIHB1YmxpYyBrZXlJZCA9IGFwaUtleUlkO1xuICAgICAgcHVibGljIGtleUFybiA9IHRoaXMuc3RhY2suZm9ybWF0QXJuKHtcbiAgICAgICAgc2VydmljZTogXCJhcGlnYXRld2F5XCIsXG4gICAgICAgIGFjY291bnQ6IFwiXCIsIC8vIEFQSSBLZXkgQVJOcyB0eXBpY2FsbHkgZG9uJ3QgaW5jbHVkZSBhY2NvdW50IElEIGluIHRoaXMgc2VnbWVudFxuICAgICAgICByZXNvdXJjZTogXCIvYXBpa2V5c1wiLFxuICAgICAgICBhcm5Gb3JtYXQ6IEFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FLFxuICAgICAgICByZXNvdXJjZU5hbWU6IGFwaUtleUlkLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBrZXlJZDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkga2V5QXJuOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBdXRvIGNyZWF0ZWQgVXNhZ2UgUGxhbiBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gICAqIFNpbmNlIEF1Z3VzdCAxMSwgMjAxNiB1c2FnZSBwbGFucyBhcmUgbm93IHJlcXVpcmVkIHRvIGFzc29jaWF0ZSBhbiBBUEkga2V5IHdpdGggYW4gQVBJIHN0YWdlLlxuICAgKlxuICAgKiBOb3RlOiBUaGlzIHByb3BlcnR5IG1heSBiZSB1ZG5lZmluZWQgYXMgZGlyZWN0IHN0YWdlIGFzc29jaWF0aW9uIGlzIGRlcHJlY2F0ZWQuXG4gICAqIFN0YWdlIGFzc29jaWF0aW9uIGlzIGhhbmRsZWQgdmlhIFVzYWdlIFBsYW5zIGluc3RlYWQuXG4gICAqIEl0IGlzIGtlcHQgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBSYXRlTGltaXRlZEFwaUtleVByb3BzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHVzYWdlUGxhbj86IFVzYWdlUGxhbjtcbiAgcHJpdmF0ZSByZWFkb25seSByZXNvdXJjZTogYXBpR2F0ZXdheUFwaUtleS5BcGlHYXRld2F5QXBpS2V5O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBcGlLZXlQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICBjb25zdCBuYW1lID0gcHJvcHMuYXBpS2V5TmFtZSA/PyB0aGlzLnN0YWNrLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzKTtcblxuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgYXBpR2F0ZXdheUFwaUtleS5BcGlHYXRld2F5QXBpS2V5KHRoaXMsIFwiUmVzb3VyY2VcIiwge1xuICAgICAgbmFtZSxcbiAgICAgIGN1c3RvbWVySWQ6IHByb3BzLmN1c3RvbWVySWQsXG4gICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICBlbmFibGVkOiBwcm9wcy5lbmFibGVkID8/IHRydWUsXG4gICAgICB2YWx1ZTogcHJvcHMudmFsdWUsXG4gICAgfSk7XG4gICAgdGhpcy5rZXlJZCA9IHRoaXMucmVzb3VyY2UuaWQ7XG4gICAgdGhpcy5rZXlBcm4gPSB0aGlzLnJlc291cmNlLmFybjtcblxuICAgIC8vIGNvcHkgbGVnYWN5IHJlbmRlclN0YWdlS2V5cyBsb2dpYyBmcm9tIEFXU0NESyBmb3IgZWFzZSBvZiBtaWdyYXRpb24uXG4gICAgdGhpcy51c2FnZVBsYW4gPSB0aGlzLnJlbmRlclN0YWdlS2V5cyhwcm9wcy5yZXNvdXJjZXMsIHByb3BzLnN0YWdlcyk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVyIHRoZSBzdGFnZSBrZXlzIGZvciB0aGUgQXBpS2V5LlxuICAgKiBUaGlzIG1ldGhvZCBoYW5kbGVzIHRoZSBhc3NvY2lhdGlvbiBvZiB0aGUgQXBpS2V5IHdpdGggZWl0aGVyXG4gICAqIFJlc3RBcGkgcmVzb3VyY2VzIG9yIFN0YWdlcywgZGVwZW5kaW5nIG9uIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICAgKlxuICAgKiBAcGFyYW0gcmVzb3VyY2VzIC0gT3B0aW9uYWwgbGlzdCBvZiBSZXN0QXBpIHJlc291cmNlcyB0byBhc3NvY2lhdGUgd2l0aCB0aGUgQXBpS2V5LlxuICAgKiBAcGFyYW0gc3RhZ2VzIC0gT3B0aW9uYWwgbGlzdCBvZiBTdGFnZXMgdG8gYXNzb2NpYXRlIHdpdGggdGhlIEFwaUtleS5cbiAgICovXG4gIHByaXZhdGUgcmVuZGVyU3RhZ2VLZXlzKFxuICAgIHJlc291cmNlcz86IElSZXN0QXBpW10sXG4gICAgc3RhZ2VzPzogSVN0YWdlW10sXG4gICk6IFVzYWdlUGxhbiB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFyZXNvdXJjZXMgJiYgIXN0YWdlcykge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAocmVzb3VyY2VzICYmIHN0YWdlcykge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgYE9ubHkgb25lIG9mIFwicmVzb3VyY2VzXCIgb3IgXCJzdGFnZXNcIiBzaG91bGQgYmUgcHJvdmlkZWQuICgke3RoaXMubm9kZS5wYXRofSlgLFxuICAgICAgICB0aGlzLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAocmVzb3VyY2VzKSB7XG4gICAgICAvLyBIYW5kbGUgRGVwcmVjYXRlZCBjYXNlIG9mIGFzc29jaWF0aW5nIEFwaUtleSB3aXRoIFJlc3RBcGkgcmVzb3VyY2VzXG4gICAgICAvLyBUaGlzIGNyZWF0ZXMgYSBzaW5nbGUgVXNhZ2UgUGxhbiBmb3IgYWxsIHN0YWdlcywgYnV0IGlzIGRlcHJlY2F0ZWQuXG4gICAgICBjb25zdCBhcGlTdGFnZXM6IFVzYWdlUGxhblBlckFwaVN0YWdlW10gPSBbXTtcbiAgICAgIHJlc291cmNlcy5mb3JFYWNoKChyZXNvdXJjZTogSVJlc3RBcGkpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdEFwaSA9IHJlc291cmNlO1xuICAgICAgICBpZiAoIXJlc3RBcGkuZGVwbG95bWVudFN0YWdlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgICAgICdDYW5ub3QgYWRkIGFuIEFwaUtleSB0byBhIFJlc3RBcGkgdGhhdCBkb2VzIG5vdCBjb250YWluIGEgXCJkZXBsb3ltZW50U3RhZ2VcIi5cXG4nICtcbiAgICAgICAgICAgICAgXCJFaXRoZXIgc2V0IHRoZSBSZXN0QXBpLmRlcGxveW1lbnRTdGFnZSBvciBjcmVhdGUgYW4gQXBpS2V5IGZyb20gYSBTdGFnZVwiLFxuICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGFwaVN0YWdlcy5wdXNoKHtcbiAgICAgICAgICBhcGk6IHJlc3RBcGksXG4gICAgICAgICAgc3RhZ2U6IHJlc3RBcGkuZGVwbG95bWVudFN0YWdlLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCB1c2FnZVBsYW4gPSBuZXcgVXNhZ2VQbGFuKHRoaXMsIFwiVXNhZ2VQbGFuXCIsIHtcbiAgICAgICAgYXBpU3RhZ2VzLFxuICAgICAgICBuYW1lOiBgJHt0aGlzLnJlc291cmNlLm5hbWVJbnB1dH0tdXNhZ2UtcGxhbmAsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBgVXNhZ2UgUGxhbiBmb3IgJHt0aGlzLmZyaWVuZGx5TmFtZX1gLFxuICAgICAgfSk7XG4gICAgICB1c2FnZVBsYW4uYWRkQXBpS2V5KHRoaXMpO1xuICAgICAgcmV0dXJuIHVzYWdlUGxhbjtcbiAgICB9XG5cbiAgICBpZiAoc3RhZ2VzICYmIHN0YWdlcy5sZW5ndGggPiAwKSB7XG4gICAgICAvLyBIYW5kbGUgRGVwcmVjYXRlZCBjYXNlIG9mIGFzc29jaWF0aW5nIEFwaUtleSB3aXRoIG11bHRpcGxlIFN0YWdlc1xuICAgICAgLy8gVGhpcyBjcmVhdGVzIGEgc2luZ2xlIFVzYWdlIFBsYW4gZm9yIGFsbCBzdGFnZXMsIGJ1dCBpcyBhbHNvIGRlcHJlY2F0ZWQuXG4gICAgICBjb25zdCB1c2FnZVBsYW4gPSBuZXcgVXNhZ2VQbGFuKHRoaXMsIGBVc2FnZVBsYW5gLCB7XG4gICAgICAgIGFwaVN0YWdlczogc3RhZ2VzLm1hcCgoc3RhZ2UpID0+ICh7XG4gICAgICAgICAgYXBpOiBzdGFnZS5yZXN0QXBpLFxuICAgICAgICAgIC8vIE5PVEU6IFVzYWdlUGxhblBlckFwaVN0YWdlIGV4cGVjdHMgU3RhZ2UgaW5zdGVhZCBvZiBJU3RhZ2VcbiAgICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xODYuMC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheS9saWIvdXNhZ2UtcGxhbi50cyNMOTctTDEwMlxuICAgICAgICAgIHN0YWdlOiBzdGFnZSBhcyBTdGFnZSxcbiAgICAgICAgfSkpLFxuICAgICAgfSk7XG4gICAgICB1c2FnZVBsYW4uYWRkQXBpS2V5KHRoaXMpO1xuICAgICAgcmV0dXJuIHVzYWdlUGxhbjtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG4vKipcbiAqIFJhdGVMaW1pdGVkQXBpS2V5IHByb3BlcnRpZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmF0ZUxpbWl0ZWRBcGlLZXlQcm9wcyBleHRlbmRzIEFwaUtleVByb3BzIHtcbiAgLyoqXG4gICAqIEFQSSBTdGFnZXMgdG8gYmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBSYXRlTGltaXRlZEFwaUtleS5cbiAgICogSWYgeW91IGFscmVhZHkgcHJlcGFyZWQgVXNhZ2VQbGFuIHJlc291cmNlIGV4cGxpY2l0bHksIHlvdSBzaG91bGQgdXNlIGBzdGFnZXNgIHByb3BlcnR5LlxuICAgKiBJZiB5b3UgcHJlZmVyIHRvIHByZXBhcmUgVXNhZ2VQbGFuIHJlc291cmNlIGltcGxpY2l0bHkgdmlhIFJhdGVMaW1pdGVkQXBpS2V5LFxuICAgKiBvciB5b3Ugc2hvdWxkIHNwZWNpZnkgdGhyb3R0bGUgc2V0dGluZ3MgYXQgZWFjaCBzdGFnZSBpbmRpdmlkdWFsbHksIHlvdSBzaG91bGQgdXNlIGBhcGlTdGFnZXNgIHByb3BlcnR5LlxuICAgKlxuICAgKiBAZGVmYXVsdCBub25lXG4gICAqL1xuICByZWFkb25seSBhcGlTdGFnZXM/OiBVc2FnZVBsYW5QZXJBcGlTdGFnZVtdO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgcmVxdWVzdHMgY2xpZW50cyBjYW4gbWFrZSBpbiBhIGdpdmVuIHRpbWUgcGVyaW9kLlxuICAgKiBAZGVmYXVsdCBub25lXG4gICAqL1xuICByZWFkb25seSBxdW90YT86IFF1b3RhU2V0dGluZ3M7XG5cbiAgLyoqXG4gICAqIE92ZXJhbGwgdGhyb3R0bGUgc2V0dGluZ3MgZm9yIHRoZSBBUEkuXG4gICAqIEBkZWZhdWx0IG5vbmVcbiAgICovXG4gIHJlYWRvbmx5IHRocm90dGxlPzogVGhyb3R0bGVTZXR0aW5ncztcbn1cblxuLyoqXG4gKiBBbiBBUEkgR2F0ZXdheSBBcGlLZXksIGZvciB3aGljaCBhIHJhdGUgbGltaXRpbmcgY29uZmlndXJhdGlvbiBjYW4gYmUgc3BlY2lmaWVkLlxuICpcbiAqIEByZXNvdXJjZSBhd3NfYXBpX2dhdGV3YXlfYXBpX2tleVxuICovXG5leHBvcnQgY2xhc3MgUmF0ZUxpbWl0ZWRBcGlLZXkgZXh0ZW5kcyBBcGlLZXlCYXNlIHtcbiAgcHVibGljIHJlYWRvbmx5IGtleUlkOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBrZXlBcm46IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGFwaUtleTogQXBpS2V5O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogUmF0ZUxpbWl0ZWRBcGlLZXlQcm9wcyA9IHt9LFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIHRoaXMuYXBpS2V5ID0gbmV3IEFwaUtleSh0aGlzLCBcIlJlc291cmNlXCIsIHByb3BzKTtcblxuICAgIGlmIChwcm9wcy5hcGlTdGFnZXMgfHwgcHJvcHMucXVvdGEgfHwgcHJvcHMudGhyb3R0bGUpIHtcbiAgICAgIGlmICh0aGlzLmFwaUtleS51c2FnZVBsYW4pIHtcbiAgICAgICAgLy8gTk9URTogQ3JlYXRpbmcgYW4gYWRkaXRpb25hbCB1c2FnZSBwbGFuIGlzIGRlZmF1bHQgQVdTQ0RLIGJlaGF2aW9yLlxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xODYuMC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheS9saWIvYXBpLWtleS50cyNMMjY4LUwyNzVcbiAgICAgICAgQW5ub3RhdGlvbnMub2YodGhpcy5hcGlLZXkpLmFkZFdhcm5pbmcoXG4gICAgICAgICAgXCJVc2FnZVBsYW4gaXMgYWxyZWFkeSBjcmVhdGVkIGZvciB0aGlzIEFwaUtleS4gQSBzZXBhcmF0ZSBVc2FnZVBsYW4gd2l0aCByYXRlIGxpbWl0aW5nIHdpbGwgYmUgY3JlYXRlZCBzZXBhcmF0ZWx5XCIsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBjb25zdCB1c2FnZVBsYW4gPSBuZXcgVXNhZ2VQbGFuKHRoaXMsIFwiUmF0ZUxpbWl0ZWRVc2FnZVBsYW5cIiwge1xuICAgICAgICBhcGlTdGFnZXM6IHByb3BzLmFwaVN0YWdlcyxcbiAgICAgICAgcXVvdGE6IHByb3BzLnF1b3RhLFxuICAgICAgICB0aHJvdHRsZTogcHJvcHMudGhyb3R0bGUsXG4gICAgICB9KTtcbiAgICAgIHVzYWdlUGxhbi5hZGRBcGlLZXkodGhpcy5hcGlLZXkpO1xuICAgIH1cblxuICAgIHRoaXMua2V5SWQgPSB0aGlzLmFwaUtleS5rZXlJZDtcbiAgICB0aGlzLmtleUFybiA9IHRoaXMuYXBpS2V5LmtleUFybjtcbiAgfVxufVxuXG5jb25zdCByZWFkUGVybWlzc2lvbnMgPSBbXCJhcGlnYXRld2F5OkdFVFwiXTtcblxuY29uc3Qgd3JpdGVQZXJtaXNzaW9ucyA9IFtcbiAgXCJhcGlnYXRld2F5OlBPU1RcIixcbiAgXCJhcGlnYXRld2F5OlBVVFwiLFxuICBcImFwaWdhdGV3YXk6UEFUQ0hcIixcbiAgXCJhcGlnYXRld2F5OkRFTEVURVwiLFxuXTtcbiJdfQ==
|
|
@@ -9,10 +9,7 @@ exports.validateInteger = validateInteger;
|
|
|
9
9
|
exports.validateDouble = validateDouble;
|
|
10
10
|
const url_1 = require("url");
|
|
11
11
|
const jsonSchema = require("./json-schema");
|
|
12
|
-
|
|
13
|
-
// - https://github.com/aws/aws-cdk/pull/33382/
|
|
14
|
-
// - https://github.com/aws/aws-cdk/pull/33045
|
|
15
|
-
// import { UnscopedValidationError } from '../../core/lib/errors';
|
|
12
|
+
const errors_1 = require("../../errors");
|
|
16
13
|
exports.ALL_METHODS = [
|
|
17
14
|
"OPTIONS",
|
|
18
15
|
"GET",
|
|
@@ -25,8 +22,7 @@ exports.ALL_METHODS = [
|
|
|
25
22
|
const ALLOWED_METHODS = ["ANY", ...exports.ALL_METHODS];
|
|
26
23
|
function validateHttpMethod(method, messagePrefix = "") {
|
|
27
24
|
if (!ALLOWED_METHODS.includes(method)) {
|
|
28
|
-
|
|
29
|
-
throw new Error(`${messagePrefix}Invalid HTTP method "${method}". Allowed methods: ${ALLOWED_METHODS.join(",")}`);
|
|
25
|
+
throw new errors_1.UnscopedValidationError(`${messagePrefix}Invalid HTTP method "${method}". Allowed methods: ${ALLOWED_METHODS.join(",")}`);
|
|
30
26
|
}
|
|
31
27
|
}
|
|
32
28
|
/**
|
|
@@ -36,14 +32,12 @@ function validateHttpMethod(method, messagePrefix = "") {
|
|
|
36
32
|
*/
|
|
37
33
|
function parseMethodOptionsPath(originalPath) {
|
|
38
34
|
if (!originalPath.startsWith("/")) {
|
|
39
|
-
|
|
40
|
-
throw new Error(`Method options path must start with '/': ${originalPath}`);
|
|
35
|
+
throw new errors_1.UnscopedValidationError(`Method options path must start with '/': ${originalPath}`);
|
|
41
36
|
}
|
|
42
37
|
const path = originalPath.slice(1); // trim trailing '/'
|
|
43
38
|
const components = path.split("/");
|
|
44
39
|
if (components.length < 2) {
|
|
45
|
-
|
|
46
|
-
throw new Error(`Method options path must include at least two components: /{resource}/{method} (i.e. /foo/bar/GET): ${path}`);
|
|
40
|
+
throw new errors_1.UnscopedValidationError(`Method options path must include at least two components: /{resource}/{method} (i.e. /foo/bar/GET): ${path}`);
|
|
47
41
|
}
|
|
48
42
|
const httpMethod = components.pop().toUpperCase(); // last component is an HTTP method
|
|
49
43
|
if (httpMethod !== "*") {
|
|
@@ -66,12 +60,10 @@ function parseMethodOptionsPath(originalPath) {
|
|
|
66
60
|
}
|
|
67
61
|
function parseAwsApiCall(path, action, actionParams) {
|
|
68
62
|
if (actionParams && !action) {
|
|
69
|
-
|
|
70
|
-
throw new Error('"actionParams" requires that "action" will be set');
|
|
63
|
+
throw new errors_1.UnscopedValidationError('"actionParams" requires that "action" will be set');
|
|
71
64
|
}
|
|
72
65
|
if (path && action) {
|
|
73
|
-
|
|
74
|
-
throw new Error(`"path" and "action" are mutually exclusive (path="${path}", action="${action}")`);
|
|
66
|
+
throw new errors_1.UnscopedValidationError(`"path" and "action" are mutually exclusive (path="${path}", action="${action}")`);
|
|
75
67
|
}
|
|
76
68
|
if (path) {
|
|
77
69
|
return {
|
|
@@ -88,20 +80,17 @@ function parseAwsApiCall(path, action, actionParams) {
|
|
|
88
80
|
apiValue: action,
|
|
89
81
|
};
|
|
90
82
|
}
|
|
91
|
-
|
|
92
|
-
throw new Error('Either "path" or "action" are required');
|
|
83
|
+
throw new errors_1.UnscopedValidationError('Either "path" or "action" are required');
|
|
93
84
|
}
|
|
94
85
|
function validateInteger(property, messagePrefix) {
|
|
95
86
|
if (property && !Number.isInteger(property)) {
|
|
96
|
-
|
|
97
|
-
throw new Error(`${messagePrefix} should be an integer`);
|
|
87
|
+
throw new errors_1.UnscopedValidationError(`${messagePrefix} should be an integer`);
|
|
98
88
|
}
|
|
99
89
|
return true;
|
|
100
90
|
}
|
|
101
91
|
function validateDouble(property, messagePrefix) {
|
|
102
92
|
if (property && isNaN(property) && isNaN(parseFloat(property.toString()))) {
|
|
103
|
-
|
|
104
|
-
throw new Error(`${messagePrefix} should be an double`);
|
|
93
|
+
throw new errors_1.UnscopedValidationError(`${messagePrefix} should be an double`);
|
|
105
94
|
}
|
|
106
95
|
return true;
|
|
107
96
|
}
|
|
@@ -149,4 +138,4 @@ JsonSchemaMapper.SchemaPropsWithUserDefinedChildren = {
|
|
|
149
138
|
patternProperties: true,
|
|
150
139
|
dependencies: true,
|
|
151
140
|
};
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpZ2F0ZXdheS11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL2FwaWdhdGV3YXktdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0ZBQStGOzs7QUFzQi9GLGdEQU9DO0FBT0Qsd0RBeUNDO0FBRUQsMENBcUNDO0FBRUQsMENBU0M7QUFFRCx3Q0FTQztBQXhJRCw2QkFBMEM7QUFDMUMsNENBQTRDO0FBRTVDLHNDQUFzQztBQUN0QywrQ0FBK0M7QUFDL0MsOENBQThDO0FBQzlDLG1FQUFtRTtBQUV0RCxRQUFBLFdBQVcsR0FBRztJQUN6QixTQUFTO0lBQ1QsS0FBSztJQUNMLEtBQUs7SUFDTCxNQUFNO0lBQ04sUUFBUTtJQUNSLE9BQU87SUFDUCxNQUFNO0NBQ1AsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBSyxFQUFFLEdBQUcsbUJBQVcsQ0FBQyxDQUFDO0FBRWhELFNBQWdCLGtCQUFrQixDQUFDLE1BQWMsRUFBRSxnQkFBd0IsRUFBRTtJQUMzRSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3RDLHFDQUFxQztRQUNyQyxNQUFNLElBQUksS0FBSyxDQUNiLEdBQUcsYUFBYSx3QkFBd0IsTUFBTSx1QkFBdUIsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUNqRyxDQUFDO0lBQ0osQ0FBQztBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0Isc0JBQXNCLENBQUMsWUFBb0I7SUFJekQsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNsQyxxQ0FBcUM7UUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxD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QWdCLENBQUMsa0NBQWtDLENBQUMsR0FBRyxDQUFDLENBQzNELENBQUM7WUFDRixPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7QUFwREgsNENBcURDO0FBdkN5QixzQ0FBcUIsR0FBOEI7SUFDekUsTUFBTSxFQUFFLFNBQVM7SUFDakIsR0FBRyxFQUFFLE1BQU07Q0FDWixDQUFDO0FBQ0Ysb0VBQW9FO0FBQzVDLG1EQUFrQyxHQUV0RDtJQUNGLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLGlCQUFpQixFQUFFLElBQUk7SUFDdkIsWUFBWSxFQUFFLElBQUk7Q0FDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE4Ni4wL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5L2xpYi91dGlsLnRzXG5cbmltcG9ydCB7IGZvcm1hdCBhcyBmb3JtYXRVcmwgfSBmcm9tIFwidXJsXCI7XG5pbXBvcnQgKiBhcyBqc29uU2NoZW1hIGZyb20gXCIuL2pzb24tc2NoZW1hXCI7XG5cbi8vIFRPRE86IEFkb3B0IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yXG4vLyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9wdWxsLzMzMzgyL1xuLy8gLSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvcHVsbC8zMzA0NVxuLy8gaW1wb3J0IHsgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuLi8uLi9jb3JlL2xpYi9lcnJvcnMnO1xuXG5leHBvcnQgY29uc3QgQUxMX01FVEhPRFMgPSBbXG4gIFwiT1BUSU9OU1wiLFxuICBcIkdFVFwiLFxuICBcIlBVVFwiLFxuICBcIlBPU1RcIixcbiAgXCJERUxFVEVcIixcbiAgXCJQQVRDSFwiLFxuICBcIkhFQURcIixcbl07XG5cbmNvbnN0IEFMTE9XRURfTUVUSE9EUyA9IFtcIkFOWVwiLCAuLi5BTExfTUVUSE9EU107XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUh0dHBNZXRob2QobWV0aG9kOiBzdHJpbmcsIG1lc3NhZ2VQcmVmaXg6IHN0cmluZyA9IFwiXCIpIHtcbiAgaWYgKCFBTExPV0VEX01FVEhPRFMuaW5jbHVkZXMobWV0aG9kKSkge1xuICAgIC8vIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgJHttZXNzYWdlUHJlZml4fUludmFsaWQgSFRUUCBtZXRob2QgXCIke21ldGhvZH1cIi4gQWxsb3dlZCBtZXRob2RzOiAke0FMTE9XRURfTUVUSE9EUy5qb2luKFwiLFwiKX1gLFxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBWYWxpZGF0ZSBhbmQgcGFyc2UgYSBtZXRob2Qgb3B0aW9ucyBwYXRoLlxuICpcbiAqIEByZXR1cm5zIEFuIG9iamVjdCB3aXRoIHRoZSByZXNvdXJjZSBwYXRoIChubyBsZWFkaW5nICcvJykgYW5kIEhUVFAgbWV0aG9kIGZvciBUZXJyYWZvcm0gbWV0aG9kU2V0dGluZ3MuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZU1ldGhvZE9wdGlvbnNQYXRoKG9yaWdpbmFsUGF0aDogc3RyaW5nKToge1xuICByZXNvdXJjZVBhdGg6IHN0cmluZztcbiAgaHR0cE1ldGhvZDogc3RyaW5nO1xufSB7XG4gIGlmICghb3JpZ2luYWxQYXRoLnN0YXJ0c1dpdGgoXCIvXCIpKSB7XG4gICAgLy8gdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgIHRocm93IG5ldyBFcnJvcihgTWV0aG9kIG9wdGlvbnMgcGF0aCBtdXN0IHN0YXJ0IHdpdGggJy8nOiAke29yaWdpbmFsUGF0aH1gKTtcbiAgfVxuXG4gIGNvbnN0IHBhdGggPSBvcmlnaW5hbFBhdGguc2xpY2UoMSk7IC8vIHRyaW0gdHJhaWxpbmcgJy8nXG5cbiAgY29uc3QgY29tcG9uZW50cyA9IHBhdGguc3BsaXQoXCIvXCIpO1xuXG4gIGlmIChjb21wb25lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICAvLyB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYE1ldGhvZCBvcHRpb25zIHBhdGggbXVzdCBpbmNsdWRlIGF0IGxlYXN0IHR3byBjb21wb25lbnRzOiAve3Jlc291cmNlfS97bWV0aG9kfSAoaS5lLiAvZm9vL2Jhci9HRVQpOiAke3BhdGh9YCxcbiAgICApO1xuICB9XG5cbiAgY29uc3QgaHR0cE1ldGhvZCA9IGNvbXBvbmVudHMucG9wKCkhLnRvVXBwZXJDYXNlKCk7IC8vIGxhc3QgY29tcG9uZW50IGlzIGFuIEhUVFAgbWV0aG9kXG4gIGlmIChodHRwTWV0aG9kICE9PSBcIipcIikge1xuICAgIHZhbGlkYXRlSHR0cE1ldGhvZChodHRwTWV0aG9kLCBgJHtvcmlnaW5hbFBhdGh9OiBgKTtcbiAgfVxuXG4gIC8vIC8vIENGTiBPbmx5IEpTT04gUGF0aCBlbmNvZGluZyAuLi5cbiAgLy8gLy8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9UZW1wbGF0ZVJlZmVyZW5jZS9hd3MtcHJvcGVydGllcy1hcGlnYXRld2F5LXN0YWdlLW1ldGhvZHNldHRpbmcuaHRtbCNjZm4tYXBpZ2F0ZXdheS1zdGFnZS1tZXRob2RzZXR0aW5nLXJlc291cmNlcGF0aFxuICAvLyBsZXQgcmVzb3VyY2VQYXRoID0gXCIvfjFcIiArIGNvbXBvbmVudHMuam9pbihcIn4xXCIpO1xuICAvLyBpZiAoY29tcG9uZW50cy5sZW5ndGggPT09IDEgJiYgY29tcG9uZW50c1swXSA9PT0gXCIqXCIpIHtcbiAgLy8gICByZXNvdXJjZVBhdGggPSBcIi8qXCI7XG4gIC8vIH0gZWxzZSBpZiAoY29tcG9uZW50cy5sZW5ndGggPT09IDEgJiYgY29tcG9uZW50c1swXSA9PT0gXCJcIikge1xuICAvLyAgIHJlc291cmNlUGF0aCA9IFwiL1wiO1xuICAvLyB9XG5cbiAgLy8gVGVycmFmb3JtIGV4cGVlY3RzIE5PIGxlYWRpbmcgc2xhc2ggYW5kIG5vIEpTT04gUGF0aCBlbmNvZGluZzpcbiAgbGV0IHJlc291cmNlUGF0aCA9IGNvbXBvbmVudHMuam9pbihcIi9cIik7XG5cbiAgcmV0dXJuIHtcbiAgICBodHRwTWV0aG9kLFxuICAgIHJlc291cmNlUGF0aCxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQXdzQXBpQ2FsbChcbiAgcGF0aD86IHN0cmluZyxcbiAgYWN0aW9uPzogc3RyaW5nLFxuICBhY3Rpb25QYXJhbXM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LFxuKTogeyBhcGlUeXBlOiBzdHJpbmc7IGFwaVZhbHVlOiBzdHJpbmcgfSB7XG4gIGlmIChhY3Rpb25QYXJhbXMgJiYgIWFjdGlvbikge1xuICAgIC8vIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1wiYWN0aW9uUGFyYW1zXCIgcmVxdWlyZXMgdGhhdCBcImFjdGlvblwiIHdpbGwgYmUgc2V0Jyk7XG4gIH1cblxuICBpZiAocGF0aCAmJiBhY3Rpb24pIHtcbiAgICAvLyB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYFwicGF0aFwiIGFuZCBcImFjdGlvblwiIGFyZSBtdXR1YWxseSBleGNsdXNpdmUgKHBhdGg9XCIke3BhdGh9XCIsIGFjdGlvbj1cIiR7YWN0aW9ufVwiKWAsXG4gICAgKTtcbiAgfVxuXG4gIGlmIChwYXRoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFwaVR5cGU6IFwicGF0aFwiLFxuICAgICAgYXBpVmFsdWU6IHBhdGgsXG4gICAgfTtcbiAgfVxuXG4gIGlmIChhY3Rpb24pIHtcbiAgICBpZiAoYWN0aW9uUGFyYW1zKSB7XG4gICAgICBhY3Rpb24gKz0gXCImXCIgKyBmb3JtYXRVcmwoeyBxdWVyeTogYWN0aW9uUGFyYW1zIH0pLnNsaWNlKDEpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBhcGlUeXBlOiBcImFjdGlvblwiLFxuICAgICAgYXBpVmFsdWU6IGFjdGlvbixcbiAgICB9O1xuICB9XG5cbiAgLy8gdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICB0aHJvdyBuZXcgRXJyb3IoJ0VpdGhlciBcInBhdGhcIiBvciBcImFjdGlvblwiIGFyZSByZXF1aXJlZCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVJbnRlZ2VyKFxuICBwcm9wZXJ0eTogbnVtYmVyIHwgdW5kZWZpbmVkLFxuICBtZXNzYWdlUHJlZml4OiBzdHJpbmcsXG4pOiBwcm9wZXJ0eSBpcyBudW1iZXIge1xuICBpZiAocHJvcGVydHkgJiYgIU51bWJlci5pc0ludGVnZXIocHJvcGVydHkpKSB7XG4gICAgLy8gdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgIHRocm93IG5ldyBFcnJvcihgJHttZXNzYWdlUHJlZml4fSBzaG91bGQgYmUgYW4gaW50ZWdlcmApO1xuICB9XG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVEb3VibGUoXG4gIHByb3BlcnR5OiBudW1iZXIgfCB1bmRlZmluZWQsXG4gIG1lc3NhZ2VQcmVmaXg6IHN0cmluZyxcbik6IHByb3BlcnR5IGlzIG51bWJlciB7XG4gIGlmIChwcm9wZXJ0eSAmJiBpc05hTihwcm9wZXJ0eSkgJiYgaXNOYU4ocGFyc2VGbG9hdChwcm9wZXJ0eS50b1N0cmluZygpKSkpIHtcbiAgICAvLyB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgdGhyb3cgbmV3IEVycm9yKGAke21lc3NhZ2VQcmVmaXh9IHNob3VsZCBiZSBhbiBkb3VibGVgKTtcbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZXhwb3J0IGNsYXNzIEpzb25TY2hlbWFNYXBwZXIge1xuICAvKipcbiAgICogVHJhbnNmb3JtcyBuYW1pbmcgb2Ygc29tZSBwcm9wZXJ0aWVzIHRvIHByZWZpeCB3aXRoIGEgJCwgd2hlcmUgbmVlZGVkXG4gICAqIGFjY29yZGluZyB0byB0aGUgSlNPTiBzY2hlbWEgc3BlY1xuICAgKiBAcGFyYW0gc2NoZW1hIFRoZSBKc29uU2NoZW1hIG9iamVjdCB0byB0cmFuc2Zvcm0gZm9yIENsb3VkRm9ybWF0aW9uIG91dHB1dFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB0b1RGSnNvblNjaGVtYShzY2hlbWE6IGpzb25TY2hlbWEuSnNvblNjaGVtYSk6IGFueSB7XG4gICAgY29uc3QgcmVzdWx0ID0gSnNvblNjaGVtYU1hcHBlci5fdG9URkpzb25TY2hlbWEoc2NoZW1hKTtcbiAgICBpZiAoIShcIiRzY2hlbWFcIiBpbiByZXN1bHQpKSB7XG4gICAgICByZXN1bHQuJHNjaGVtYSA9IGpzb25TY2hlbWEuSnNvblNjaGVtYVZlcnNpb24uRFJBRlQ0O1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgU2NoZW1hUHJvcHNXaXRoUHJlZml4OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xuICAgIHNjaGVtYTogXCIkc2NoZW1hXCIsXG4gICAgcmVmOiBcIiRyZWZcIixcbiAgfTtcbiAgLy8gVGhlIHZhbHVlIGluZGljYXRlcyB3aGV0aGVyIGRpcmVjdCBjaGlsZHJlbiBzaG91bGQgYmUga2V5LW1hcHBlZC5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgU2NoZW1hUHJvcHNXaXRoVXNlckRlZmluZWRDaGlsZHJlbjoge1xuICAgIFtrZXk6IHN0cmluZ106IGJvb2xlYW47XG4gIH0gPSB7XG4gICAgZGVmaW5pdGlvbnM6IHRydWUsXG4gICAgcHJvcGVydGllczogdHJ1ZSxcbiAgICBwYXR0ZXJuUHJvcGVydGllczogdHJ1ZSxcbiAgICBkZXBlbmRlbmNpZXM6IHRydWUsXG4gIH07XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX3RvVEZKc29uU2NoZW1hKHNjaGVtYTogYW55LCBwcmVzZXJ2ZUtleXMgPSBmYWxzZSk6IGFueSB7XG4gICAgaWYgKHNjaGVtYSA9PSBudWxsIHx8IHR5cGVvZiBzY2hlbWEgIT09IFwib2JqZWN0XCIpIHtcbiAgICAgIHJldHVybiBzY2hlbWE7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHNjaGVtYSkpIHtcbiAgICAgIHJldHVybiBzY2hlbWEubWFwKChlbnRyeSkgPT4gSnNvblNjaGVtYU1hcHBlci5fdG9URkpzb25TY2hlbWEoZW50cnkpKTtcbiAgICB9XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oXG4gICAgICB7fSxcbiAgICAgIC4uLk9iamVjdC5lbnRyaWVzKHNjaGVtYSkubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgbWFwS2V5ID1cbiAgICAgICAgICAhcHJlc2VydmVLZXlzICYmIGtleSBpbiBKc29uU2NoZW1hTWFwcGVyLlNjaGVtYVByb3BzV2l0aFByZWZpeDtcbiAgICAgICAgY29uc3QgbmV3S2V5ID0gbWFwS2V5XG4gICAgICAgICAgPyBKc29uU2NoZW1hTWFwcGVyLlNjaGVtYVByb3BzV2l0aFByZWZpeFtrZXldXG4gICAgICAgICAgOiBrZXk7XG4gICAgICAgIC8vIElmIGtleXMgd2VyZSBwcmVzZXJ2ZWQsIGRvbid0IGNvbnNpZGVyIFNjaGVtYVByb3BzV2l0aFVzZXJEZWZpbmVkQ2hpbGRyZW4gZm9yIHRob3NlIGtleXMgKHRoZXkgYXJlIHVzZXItZGVmaW5lZCEpXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gSnNvblNjaGVtYU1hcHBlci5fdG9URkpzb25TY2hlbWEoXG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgIXByZXNlcnZlS2V5cyAmJlxuICAgICAgICAgICAgSnNvblNjaGVtYU1hcHBlci5TY2hlbWFQcm9wc1dpdGhVc2VyRGVmaW5lZENoaWxkcmVuW2tleV0sXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB7IFtuZXdLZXldOiBuZXdWYWx1ZSB9O1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpZ2F0ZXdheS11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL2FwaWdhdGV3YXktdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0ZBQStGOzs7QUFrQi9GLGdEQU1DO0FBT0Qsd0RBeUNDO0FBRUQsMENBb0NDO0FBRUQsMENBUUM7QUFFRCx3Q0FRQztBQWhJRCw2QkFBMEM7QUFDMUMsNENBQTRDO0FBQzVDLHlDQUF1RDtBQUUxQyxRQUFBLFdBQVcsR0FBRztJQUN6QixTQUFTO0lBQ1QsS0FBSztJQUNMLEtBQUs7SUFDTCxNQUFNO0lBQ04sUUFBUTtJQUNSLE9BQU87SUFDUCxNQUFNO0NBQ1AsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBSyxFQUFFLEdBQUcsbUJBQVcsQ0FBQyxDQUFDO0FBRWhELFNBQWdCLGtCQUFrQixDQUFDLE1BQWMsRUFBRSxnQkFBd0IsRUFBRTtJQUMzRSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sSUFBSSxnQ0FBdUIsQ0FDL0IsR0FBRyxhQUFhLHdCQUF3QixNQUFNLHVCQUF1QixlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQ2pHLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixzQkFBc0IsQ0FBQyxZQUFvQjtJQUl6RCxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxnQ0FBdUIsQ0FDL0IsNENBQTRDLFlBQVksRUFBRSxDQUMzRCxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0I7SUFFeEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtB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LENBQUM7O0FBcERILDRDQXFEQztBQXZDeUIsc0NBQXFCLEdBQThCO0lBQ3pFLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLEdBQUcsRUFBRSxNQUFNO0NBQ1osQ0FBQztBQUNGLG9FQUFvRTtBQUM1QyxtREFBa0MsR0FFdEQ7SUFDRixXQUFXLEVBQUUsSUFBSTtJQUNqQixVQUFVLEVBQUUsSUFBSTtJQUNoQixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLFlBQVksRUFBRSxJQUFJO0NBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xODYuMC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheS9saWIvdXRpbC50c1xuXG5pbXBvcnQgeyBmb3JtYXQgYXMgZm9ybWF0VXJsIH0gZnJvbSBcInVybFwiO1xuaW1wb3J0ICogYXMganNvblNjaGVtYSBmcm9tIFwiLi9qc29uLXNjaGVtYVwiO1xuaW1wb3J0IHsgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IgfSBmcm9tIFwiLi4vLi4vZXJyb3JzXCI7XG5cbmV4cG9ydCBjb25zdCBBTExfTUVUSE9EUyA9IFtcbiAgXCJPUFRJT05TXCIsXG4gIFwiR0VUXCIsXG4gIFwiUFVUXCIsXG4gIFwiUE9TVFwiLFxuICBcIkRFTEVURVwiLFxuICBcIlBBVENIXCIsXG4gIFwiSEVBRFwiLFxuXTtcblxuY29uc3QgQUxMT1dFRF9NRVRIT0RTID0gW1wiQU5ZXCIsIC4uLkFMTF9NRVRIT0RTXTtcblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlSHR0cE1ldGhvZChtZXRob2Q6IHN0cmluZywgbWVzc2FnZVByZWZpeDogc3RyaW5nID0gXCJcIikge1xuICBpZiAoIUFMTE9XRURfTUVUSE9EUy5pbmNsdWRlcyhtZXRob2QpKSB7XG4gICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgICAgYCR7bWVzc2FnZVByZWZpeH1JbnZhbGlkIEhUVFAgbWV0aG9kIFwiJHttZXRob2R9XCIuIEFsbG93ZWQgbWV0aG9kczogJHtBTExPV0VEX01FVEhPRFMuam9pbihcIixcIil9YCxcbiAgICApO1xuICB9XG59XG5cbi8qKlxuICogVmFsaWRhdGUgYW5kIHBhcnNlIGEgbWV0aG9kIG9wdGlvbnMgcGF0aC5cbiAqXG4gKiBAcmV0dXJucyBBbiBvYmplY3Qgd2l0aCB0aGUgcmVzb3VyY2UgcGF0aCAobm8gbGVhZGluZyAnLycpIGFuZCBIVFRQIG1ldGhvZCBmb3IgVGVycmFmb3JtIG1ldGhvZFNldHRpbmdzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VNZXRob2RPcHRpb25zUGF0aChvcmlnaW5hbFBhdGg6IHN0cmluZyk6IHtcbiAgcmVzb3VyY2VQYXRoOiBzdHJpbmc7XG4gIGh0dHBNZXRob2Q6IHN0cmluZztcbn0ge1xuICBpZiAoIW9yaWdpbmFsUGF0aC5zdGFydHNXaXRoKFwiL1wiKSkge1xuICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgIGBNZXRob2Qgb3B0aW9ucyBwYXRoIG11c3Qgc3RhcnQgd2l0aCAnLyc6ICR7b3JpZ2luYWxQYXRofWAsXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHBhdGggPSBvcmlnaW5hbFBhdGguc2xpY2UoMSk7IC8vIHRyaW0gdHJhaWxpbmcgJy8nXG5cbiAgY29uc3QgY29tcG9uZW50cyA9IHBhdGguc3BsaXQoXCIvXCIpO1xuXG4gIGlmIChjb21wb25lbnRzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICBgTWV0aG9kIG9wdGlvbnMgcGF0aCBtdXN0IGluY2x1ZGUgYXQgbGVhc3QgdHdvIGNvbXBvbmVudHM6IC97cmVzb3VyY2V9L3ttZXRob2R9IChpLmUuIC9mb28vYmFyL0dFVCk6ICR7cGF0aH1gLFxuICAgICk7XG4gIH1cblxuICBjb25zdCBodHRwTWV0aG9kID0gY29tcG9uZW50cy5wb3AoKSEudG9VcHBlckNhc2UoKTsgLy8gbGFzdCBjb21wb25lbnQgaXMgYW4gSFRUUCBtZXRob2RcbiAgaWYgKGh0dHBNZXRob2QgIT09IFwiKlwiKSB7XG4gICAgdmFsaWRhdGVIdHRwTWV0aG9kKGh0dHBNZXRob2QsIGAke29yaWdpbmFsUGF0aH06IGApO1xuICB9XG5cbiAgLy8gLy8gQ0ZOIE9ubHkgSlNPTiBQYXRoIGVuY29kaW5nIC4uLlxuICAvLyAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1RlbXBsYXRlUmVmZXJlbmNlL2F3cy1wcm9wZXJ0aWVzLWFwaWdhdGV3YXktc3RhZ2UtbWV0aG9kc2V0dGluZy5odG1sI2Nmbi1hcGlnYXRld2F5LXN0YWdlLW1ldGhvZHNldHRpbmctcmVzb3VyY2VwYXRoXG4gIC8vIGxldCByZXNvdXJjZVBhdGggPSBcIi9+MVwiICsgY29tcG9uZW50cy5qb2luKFwifjFcIik7XG4gIC8vIGlmIChjb21wb25lbnRzLmxlbmd0aCA9PT0gMSAmJiBjb21wb25lbnRzWzBdID09PSBcIipcIikge1xuICAvLyAgIHJlc291cmNlUGF0aCA9IFwiLypcIjtcbiAgLy8gfSBlbHNlIGlmIChjb21wb25lbnRzLmxlbmd0aCA9PT0gMSAmJiBjb21wb25lbnRzWzBdID09PSBcIlwiKSB7XG4gIC8vICAgcmVzb3VyY2VQYXRoID0gXCIvXCI7XG4gIC8vIH1cblxuICAvLyBUZXJyYWZvcm0gZXhwZWVjdHMgTk8gbGVhZGluZyBzbGFzaCBhbmQgbm8gSlNPTiBQYXRoIGVuY29kaW5nOlxuICBsZXQgcmVzb3VyY2VQYXRoID0gY29tcG9uZW50cy5qb2luKFwiL1wiKTtcblxuICByZXR1cm4ge1xuICAgIGh0dHBNZXRob2QsXG4gICAgcmVzb3VyY2VQYXRoLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VBd3NBcGlDYWxsKFxuICBwYXRoPzogc3RyaW5nLFxuICBhY3Rpb24/OiBzdHJpbmcsXG4gIGFjdGlvblBhcmFtcz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sXG4pOiB7IGFwaVR5cGU6IHN0cmluZzsgYXBpVmFsdWU6IHN0cmluZyB9IHtcbiAgaWYgKGFjdGlvblBhcmFtcyAmJiAhYWN0aW9uKSB7XG4gICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgICAgJ1wiYWN0aW9uUGFyYW1zXCIgcmVxdWlyZXMgdGhhdCBcImFjdGlvblwiIHdpbGwgYmUgc2V0JyxcbiAgICApO1xuICB9XG5cbiAgaWYgKHBhdGggJiYgYWN0aW9uKSB7XG4gICAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgICAgYFwicGF0aFwiIGFuZCBcImFjdGlvblwiIGFyZSBtdXR1YWxseSBleGNsdXNpdmUgKHBhdGg9XCIke3BhdGh9XCIsIGFjdGlvbj1cIiR7YWN0aW9ufVwiKWAsXG4gICAgKTtcbiAgfVxuXG4gIGlmIChwYXRoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFwaVR5cGU6IFwicGF0aFwiLFxuICAgICAgYXBpVmFsdWU6IHBhdGgsXG4gICAgfTtcbiAgfVxuXG4gIGlmIChhY3Rpb24pIHtcbiAgICBpZiAoYWN0aW9uUGFyYW1zKSB7XG4gICAgICBhY3Rpb24gKz0gXCImXCIgKyBmb3JtYXRVcmwoeyBxdWVyeTogYWN0aW9uUGFyYW1zIH0pLnNsaWNlKDEpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBhcGlUeXBlOiBcImFjdGlvblwiLFxuICAgICAgYXBpVmFsdWU6IGFjdGlvbixcbiAgICB9O1xuICB9XG5cbiAgdGhyb3cgbmV3IFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKCdFaXRoZXIgXCJwYXRoXCIgb3IgXCJhY3Rpb25cIiBhcmUgcmVxdWlyZWQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlSW50ZWdlcihcbiAgcHJvcGVydHk6IG51bWJlciB8IHVuZGVmaW5lZCxcbiAgbWVzc2FnZVByZWZpeDogc3RyaW5nLFxuKTogcHJvcGVydHkgaXMgbnVtYmVyIHtcbiAgaWYgKHByb3BlcnR5ICYmICFOdW1iZXIuaXNJbnRlZ2VyKHByb3BlcnR5KSkge1xuICAgIHRocm93IG5ldyBVbnNjb3BlZFZhbGlkYXRpb25FcnJvcihgJHttZXNzYWdlUHJlZml4fSBzaG91bGQgYmUgYW4gaW50ZWdlcmApO1xuICB9XG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVEb3VibGUoXG4gIHByb3BlcnR5OiBudW1iZXIgfCB1bmRlZmluZWQsXG4gIG1lc3NhZ2VQcmVmaXg6IHN0cmluZyxcbik6IHByb3BlcnR5IGlzIG51bWJlciB7XG4gIGlmIChwcm9wZXJ0eSAmJiBpc05hTihwcm9wZXJ0eSkgJiYgaXNOYU4ocGFyc2VGbG9hdChwcm9wZXJ0eS50b1N0cmluZygpKSkpIHtcbiAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoYCR7bWVzc2FnZVByZWZpeH0gc2hvdWxkIGJlIGFuIGRvdWJsZWApO1xuICB9XG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgY2xhc3MgSnNvblNjaGVtYU1hcHBlciB7XG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1zIG5hbWluZyBvZiBzb21lIHByb3BlcnRpZXMgdG8gcHJlZml4IHdpdGggYSAkLCB3aGVyZSBuZWVkZWRcbiAgICogYWNjb3JkaW5nIHRvIHRoZSBKU09OIHNjaGVtYSBzcGVjXG4gICAqIEBwYXJhbSBzY2hlbWEgVGhlIEpzb25TY2hlbWEgb2JqZWN0IHRvIHRyYW5zZm9ybSBmb3IgQ2xvdWRGb3JtYXRpb24gb3V0cHV0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHRvVEZKc29uU2NoZW1hKHNjaGVtYToganNvblNjaGVtYS5Kc29uU2NoZW1hKTogYW55IHtcbiAgICBjb25zdCByZXN1bHQgPSBKc29uU2NoZW1hTWFwcGVyLl90b1RGSnNvblNjaGVtYShzY2hlbWEpO1xuICAgIGlmICghKFwiJHNjaGVtYVwiIGluIHJlc3VsdCkpIHtcbiAgICAgIHJlc3VsdC4kc2NoZW1hID0ganNvblNjaGVtYS5Kc29uU2NoZW1hVmVyc2lvbi5EUkFGVDQ7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBTY2hlbWFQcm9wc1dpdGhQcmVmaXg6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgc2NoZW1hOiBcIiRzY2hlbWFcIixcbiAgICByZWY6IFwiJHJlZlwiLFxuICB9O1xuICAvLyBUaGUgdmFsdWUgaW5kaWNhdGVzIHdoZXRoZXIgZGlyZWN0IGNoaWxkcmVuIHNob3VsZCBiZSBrZXktbWFwcGVkLlxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBTY2hlbWFQcm9wc1dpdGhVc2VyRGVmaW5lZENoaWxkcmVuOiB7XG4gICAgW2tleTogc3RyaW5nXTogYm9vbGVhbjtcbiAgfSA9IHtcbiAgICBkZWZpbml0aW9uczogdHJ1ZSxcbiAgICBwcm9wZXJ0aWVzOiB0cnVlLFxuICAgIHBhdHRlcm5Qcm9wZXJ0aWVzOiB0cnVlLFxuICAgIGRlcGVuZGVuY2llczogdHJ1ZSxcbiAgfTtcblxuICBwcml2YXRlIHN0YXRpYyBfdG9URkpzb25TY2hlbWEoc2NoZW1hOiBhbnksIHByZXNlcnZlS2V5cyA9IGZhbHNlKTogYW55IHtcbiAgICBpZiAoc2NoZW1hID09IG51bGwgfHwgdHlwZW9mIHNjaGVtYSAhPT0gXCJvYmplY3RcIikge1xuICAgICAgcmV0dXJuIHNjaGVtYTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoc2NoZW1hKSkge1xuICAgICAgcmV0dXJuIHNjaGVtYS5tYXAoKGVudHJ5KSA9PiBKc29uU2NoZW1hTWFwcGVyLl90b1RGSnNvblNjaGVtYShlbnRyeSkpO1xuICAgIH1cbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihcbiAgICAgIHt9LFxuICAgICAgLi4uT2JqZWN0LmVudHJpZXMoc2NoZW1hKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCBtYXBLZXkgPVxuICAgICAgICAgICFwcmVzZXJ2ZUtleXMgJiYga2V5IGluIEpzb25TY2hlbWFNYXBwZXIuU2NoZW1hUHJvcHNXaXRoUHJlZml4O1xuICAgICAgICBjb25zdCBuZXdLZXkgPSBtYXBLZXlcbiAgICAgICAgICA/IEpzb25TY2hlbWFNYXBwZXIuU2NoZW1hUHJvcHNXaXRoUHJlZml4W2tleV1cbiAgICAgICAgICA6IGtleTtcbiAgICAgICAgLy8gSWYga2V5cyB3ZXJlIHByZXNlcnZlZCwgZG9uJ3QgY29uc2lkZXIgU2NoZW1hUHJvcHNXaXRoVXNlckRlZmluZWRDaGlsZHJlbiBmb3IgdGhvc2Uga2V5cyAodGhleSBhcmUgdXNlci1kZWZpbmVkISlcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBKc29uU2NoZW1hTWFwcGVyLl90b1RGSnNvblNjaGVtYShcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAhcHJlc2VydmVLZXlzICYmXG4gICAgICAgICAgICBKc29uU2NoZW1hTWFwcGVyLlNjaGVtYVByb3BzV2l0aFVzZXJEZWZpbmVkQ2hpbGRyZW5ba2V5XSxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHsgW25ld0tleV06IG5ld1ZhbHVlIH07XG4gICAgICB9KSxcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -30,7 +30,7 @@ class Architecture {
|
|
|
30
30
|
}
|
|
31
31
|
exports.Architecture = Architecture;
|
|
32
32
|
_a = JSII_RTTI_SYMBOL_1;
|
|
33
|
-
Architecture[_a] = { fqn: "terraconstructs.aws.compute.Architecture", version: "0.1.
|
|
33
|
+
Architecture[_a] = { fqn: "terraconstructs.aws.compute.Architecture", version: "0.1.9" };
|
|
34
34
|
/**
|
|
35
35
|
* 64 bit architecture with x86 instruction set.
|
|
36
36
|
*/
|
|
@@ -72,7 +72,7 @@ class InstanceRequireImdsv2Aspect extends RequireImdsv2Aspect {
|
|
|
72
72
|
}
|
|
73
73
|
exports.InstanceRequireImdsv2Aspect = InstanceRequireImdsv2Aspect;
|
|
74
74
|
_a = JSII_RTTI_SYMBOL_1;
|
|
75
|
-
InstanceRequireImdsv2Aspect[_a] = { fqn: "terraconstructs.aws.compute.InstanceRequireImdsv2Aspect", version: "0.1.
|
|
75
|
+
InstanceRequireImdsv2Aspect[_a] = { fqn: "terraconstructs.aws.compute.InstanceRequireImdsv2Aspect", version: "0.1.9" };
|
|
76
76
|
/**
|
|
77
77
|
* Aspect that applies IMDS configuration on EC2 Launch Template constructs.
|
|
78
78
|
*
|
|
@@ -102,5 +102,5 @@ class LaunchTemplateRequireImdsv2Aspect extends RequireImdsv2Aspect {
|
|
|
102
102
|
}
|
|
103
103
|
exports.LaunchTemplateRequireImdsv2Aspect = LaunchTemplateRequireImdsv2Aspect;
|
|
104
104
|
_b = JSII_RTTI_SYMBOL_1;
|
|
105
|
-
LaunchTemplateRequireImdsv2Aspect[_b] = { fqn: "terraconstructs.aws.compute.LaunchTemplateRequireImdsv2Aspect", version: "0.1.
|
|
105
|
+
LaunchTemplateRequireImdsv2Aspect[_b] = { fqn: "terraconstructs.aws.compute.LaunchTemplateRequireImdsv2Aspect", version: "0.1.9" };
|
|
106
106
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZS1pbWRzdjItYXNwZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL2FzcGVjdHMvcmVxdWlyZS1pbWRzdjItYXNwZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaUhBQWlIO0FBQ2pILHNEQUFxRDtBQUNyRCxpQ0FBNkM7QUFFN0MsK0NBQTJDO0FBQzNDLDBDQUF1QztBQUN2Qyx3REFBb0Q7QUFjcEQ7O0dBRUc7QUFDSCxNQUFlLG1CQUFtQjtJQUdoQyxZQUFZLEtBQWdDO1FBQzFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLEVBQUUsZ0JBQWdCLElBQUksS0FBSyxDQUFDO0lBQzNELENBQUM7SUFJRDs7Ozs7T0FLRztJQUNPLElBQUksQ0FBQyxJQUFnQixFQUFFLE9BQWU7UUFDOUMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbkMsd0RBQXdEO1lBQ3hELG1CQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FDN0IsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLG1CQUFtQixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxPQUFPLEVBQUUsQ0FDekUsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFtQkQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBYSwyQkFBNEIsU0FBUSxtQkFBbUI7SUFHbEUsWUFBWSxLQUF3QztRQUNsRCxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDYixJQUFJLENBQUMsNkJBQTZCO1lBQ2hDLEtBQUssRUFBRSw2QkFBNkIsSUFBSSxLQUFLLENBQUM7SUFDbEQsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFnQjtRQUNwQixJQUFJLENBQUMsQ0FBQyxJQUFJLFlBQVksbUJBQVEsQ0FBQyxFQUFFLENBQUM7WUFDaEMsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDcEQsSUFBSSxDQUFDLElBQUksQ0FDUCxJQUFJLEVBQ0osNEZBQTRGLENBQzdGLENBQUM7WUFDRixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sRUFBRSxHQUFHLElBQUksNkJBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQ25FLGVBQWUsRUFBRTtnQkFDZixVQUFVLEVBQUUsVUFBVTthQUN2QjtTQUNGLENBQUMsQ0FBQztRQUNILEVBQUUsQ0FBQyxJQUFJLEdBQUcsb0JBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztZQUM5QixJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUk7WUFDYixPQUFPLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUU7U0FDckMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVTLElBQUksQ0FBQyxJQUFnQixFQUFFLE9BQWU7UUFDOUMsSUFBSSxJQUFJLENBQUMsNkJBQTZCLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDaEQsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7O0FBckNILGtFQXNDQzs7O0FBUUQ7Ozs7O0dBS0c7QUFDSCxNQUFhLGlDQUFrQyxTQUFRLG1CQUFtQjtJQUN4RSxZQUFZLEtBQThDO1FBQ3hELEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNmLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBZ0I7UUFDcEIsSUFBSSxDQUFDLENBQUMsSUFBSSxZQUFZLGdDQUFjLENBQUMsRUFBRSxDQUFDO1lBQ3RDLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQy9CLFVBQVUsQ0FDc0IsQ0FBQztRQUNuQyxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7UUFDaEQsbUVBQW1FO1FBQ25FLG9EQUFvRDtRQUNwRCwyRUFBMkU7UUFDM0UsWUFBWTtRQUNaLElBQUk7UUFFSixFQUFFLENBQUMsa0JBQWtCLENBQUM7WUFDcEIsR0FBRyxlQUFlO1lBQ2xCLFVBQVUsRUFBRSxVQUFVO1NBQ3ZCLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBeEJILDhFQXlCQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE3NS4xL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1lYzIvbGliL2FzcGVjdHMvcmVxdWlyZS1pbWRzdjItYXNwZWN0LnRzXG5pbXBvcnQgeyBsYXVuY2hUZW1wbGF0ZSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXdzXCI7XG5pbXBvcnQgeyBJQXNwZWN0LCBBbm5vdGF0aW9ucyB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgSUNvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBBd3NTdGFjayB9IGZyb20gXCIuLi8uLi9hd3Mtc3RhY2tcIjtcbmltcG9ydCB7IEluc3RhbmNlIH0gZnJvbSBcIi4uL2luc3RhbmNlXCI7XG5pbXBvcnQgeyBMYXVuY2hUZW1wbGF0ZSB9IGZyb20gXCIuLi9sYXVuY2gtdGVtcGxhdGVcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBgUmVxdWlyZUltZHN2MkFzcGVjdGAuXG4gKi9cbmludGVyZmFjZSBSZXF1aXJlSW1kc3YyQXNwZWN0UHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciB3YXJuaW5nIGFubm90YXRpb25zIGZyb20gdGhpcyBBc3BlY3Qgc2hvdWxkIGJlIHN1cHByZXNzZWQgb3Igbm90LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc1dhcm5pbmdzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBBc3BlY3QgdGhhdCBtYWtlcyBJTURTdjIgcmVxdWlyZWQuXG4gKi9cbmFic3RyYWN0IGNsYXNzIFJlcXVpcmVJbWRzdjJBc3BlY3QgaW1wbGVtZW50cyBJQXNwZWN0IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN1cHByZXNzV2FybmluZ3M6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJvcHM/OiBSZXF1aXJlSW1kc3YyQXNwZWN0UHJvcHMpIHtcbiAgICB0aGlzLnN1cHByZXNzV2FybmluZ3MgPSBwcm9wcz8uc3VwcHJlc3NXYXJuaW5ncyA/PyBmYWxzZTtcbiAgfVxuXG4gIGFic3RyYWN0IHZpc2l0KG5vZGU6IElDb25zdHJ1Y3QpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgd2FybmluZyBhbm5vdGF0aW9uIHRvIGEgbm9kZSwgdW5sZXNzIGBzdXBwcmVzc1dhcm5pbmdzYCBpcyB0cnVlLlxuICAgKlxuICAgKiBAcGFyYW0gbm9kZSBUaGUgc2NvcGUgdG8gYWRkIHRoZSB3YXJuaW5nIHRvLlxuICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgd2FybmluZyBtZXNzYWdlLlxuICAgKi9cbiAgcHJvdGVjdGVkIHdhcm4obm9kZTogSUNvbnN0cnVjdCwgbWVzc2FnZTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuc3VwcHJlc3NXYXJuaW5ncyAhPT0gdHJ1ZSkge1xuICAgICAgLy8gYEBhd3MtY2RrL2F3cy1lYzI6aW1kc3YyJHtSZXF1aXJlSW1kc3YyQXNwZWN0Lm5hbWV9YCxcbiAgICAgIEFubm90YXRpb25zLm9mKG5vZGUpLmFkZFdhcm5pbmcoXG4gICAgICAgIGAke1JlcXVpcmVJbWRzdjJBc3BlY3QubmFtZX0gZmFpbGVkIG9uIG5vZGUgJHtub2RlLm5vZGUuaWR9OiAke21lc3NhZ2V9YCxcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYEluc3RhbmNlUmVxdWlyZUltZHN2MkFzcGVjdGAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5zdGFuY2VSZXF1aXJlSW1kc3YyQXNwZWN0UHJvcHNcbiAgZXh0ZW5kcyBSZXF1aXJlSW1kc3YyQXNwZWN0UHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciB3YXJuaW5ncyB0aGF0IHdvdWxkIGJlIHJhaXNlZCB3aGVuIGFuIEluc3RhbmNlIGlzIGFzc29jaWF0ZWQgd2l0aCBhbiBleGlzdGluZyBMYXVuY2ggVGVtcGxhdGVcbiAgICogc2hvdWxkIGJlIHN1cHByZXNzZWQgb3Igbm90LlxuICAgKlxuICAgKiBZb3UgY2FuIHNldCB0aGlzIHRvIGB0cnVlYCBpZiBgTGF1bmNoVGVtcGxhdGVJbWRzQXNwZWN0YCBpcyBiZWluZyB1c2VkIGFsb25nc2lkZSB0aGlzIEFzcGVjdCB0b1xuICAgKiBzdXBwcmVzcyBmYWxzZS1wb3NpdGl2ZSB3YXJuaW5ncyBiZWNhdXNlIGFueSBMYXVuY2ggVGVtcGxhdGVzIGFzc29jaWF0ZWQgd2l0aCBJbnN0YW5jZXMgd2lsbCBzdGlsbCBiZSBjb3ZlcmVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc0xhdW5jaFRlbXBsYXRlV2FybmluZz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQXNwZWN0IHRoYXQgYXBwbGllcyBJTURTIGNvbmZpZ3VyYXRpb24gb24gRUMyIEluc3RhbmNlIGNvbnN0cnVjdHMuXG4gKlxuICogVGhpcyBhc3BlY3QgY29uZmlndXJlcyBJTURTIG9uIGFuIEVDMiBpbnN0YW5jZSBieSBjcmVhdGluZyBhIExhdW5jaCBUZW1wbGF0ZSB3aXRoIHRoZVxuICogSU1EUyBjb25maWd1cmF0aW9uIGFuZCBhc3NvY2lhdGluZyB0aGF0IExhdW5jaCBUZW1wbGF0ZSB3aXRoIHRoZSBpbnN0YW5jZS4gSWYgYW4gSW5zdGFuY2VcbiAqIGlzIGFscmVhZHkgYXNzb2NpYXRlZCB3aXRoIGEgTGF1bmNoIFRlbXBsYXRlLCBhIHdhcm5pbmcgd2lsbCAob3B0aW9uYWxseSkgYmUgYWRkZWQgdG8gdGhlXG4gKiBjb25zdHJ1Y3Qgbm9kZSBhbmQgaXQgd2lsbCBiZSBza2lwcGVkLlxuICpcbiAqIFRvIGNvdmVyIEluc3RhbmNlcyBhbHJlYWR5IGFzc29jaWF0ZWQgd2l0aCBMYXVuY2ggVGVtcGxhdGVzLCB1c2UgYExhdW5jaFRlbXBsYXRlSW1kc0FzcGVjdGAuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnN0YW5jZVJlcXVpcmVJbWRzdjJBc3BlY3QgZXh0ZW5kcyBSZXF1aXJlSW1kc3YyQXNwZWN0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBzdXBwcmVzc0xhdW5jaFRlbXBsYXRlV2FybmluZzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcz86IEluc3RhbmNlUmVxdWlyZUltZHN2MkFzcGVjdFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMuc3VwcHJlc3NMYXVuY2hUZW1wbGF0ZVdhcm5pbmcgPVxuICAgICAgcHJvcHM/LnN1cHByZXNzTGF1bmNoVGVtcGxhdGVXYXJuaW5nID8/IGZhbHNlO1xuICB9XG5cbiAgdmlzaXQobm9kZTogSUNvbnN0cnVjdCk6IHZvaWQge1xuICAgIGlmICghKG5vZGUgaW5zdGFuY2VvZiBJbnN0YW5jZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKG5vZGUuaW5zdGFuY2UubGF1bmNoVGVtcGxhdGVJbnB1dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLndhcm4oXG4gICAgICAgIG5vZGUsXG4gICAgICAgIFwiQ2Fubm90IHRvZ2dsZSBJTURTdjEgYmVjYXVzZSB0aGlzIEluc3RhbmNlIGlzIGFzc29jaWF0ZWQgd2l0aCBhbiBleGlzdGluZyBMYXVuY2ggVGVtcGxhdGUuXCIsXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGx0ID0gbmV3IGxhdW5jaFRlbXBsYXRlLkxhdW5jaFRlbXBsYXRlKG5vZGUsIFwiTGF1bmNoVGVtcGxhdGVcIiwge1xuICAgICAgbWV0YWRhdGFPcHRpb25zOiB7XG4gICAgICAgIGh0dHBUb2tlbnM6IFwicmVxdWlyZWRcIixcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgbHQubmFtZSA9IEF3c1N0YWNrLnVuaXF1ZUlkKGx0KTtcbiAgICBub2RlLmluc3RhbmNlLnB1dExhdW5jaFRlbXBsYXRlKHtcbiAgICAgIG5hbWU6IGx0Lm5hbWUsXG4gICAgICB2ZXJzaW9uOiBsdC5sYXRlc3RWZXJzaW9uLnRvU3RyaW5nKCksXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgd2Fybihub2RlOiBJQ29uc3RydWN0LCBtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5zdXBwcmVzc0xhdW5jaFRlbXBsYXRlV2FybmluZyAhPT0gdHJ1ZSkge1xuICAgICAgc3VwZXIud2Fybihub2RlLCBtZXNzYWdlKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBgTGF1bmNoVGVtcGxhdGVSZXF1aXJlSW1kc3YyQXNwZWN0YC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMYXVuY2hUZW1wbGF0ZVJlcXVpcmVJbWRzdjJBc3BlY3RQcm9wc1xuICBleHRlbmRzIFJlcXVpcmVJbWRzdjJBc3BlY3RQcm9wcyB7fVxuXG4vKipcbiAqIEFzcGVjdCB0aGF0IGFwcGxpZXMgSU1EUyBjb25maWd1cmF0aW9uIG9uIEVDMiBMYXVuY2ggVGVtcGxhdGUgY29uc3RydWN0cy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXdzLzUuNjguMC9kb2NzL3Jlc291cmNlcy9sYXVuY2hfdGVtcGxhdGUjbWV0YWRhdGEtb3B0aW9uc1xuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTRUMyL2xhdGVzdC9Vc2VyR3VpZGUvZWMyLWluc3RhbmNlLW1ldGFkYXRhLmh0bWxcbiAqL1xuZXhwb3J0IGNsYXNzIExhdW5jaFRlbXBsYXRlUmVxdWlyZUltZHN2MkFzcGVjdCBleHRlbmRzIFJlcXVpcmVJbWRzdjJBc3BlY3Qge1xuICBjb25zdHJ1Y3Rvcihwcm9wcz86IExhdW5jaFRlbXBsYXRlUmVxdWlyZUltZHN2MkFzcGVjdFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICB9XG5cbiAgdmlzaXQobm9kZTogSUNvbnN0cnVjdCk6IHZvaWQge1xuICAgIGlmICghKG5vZGUgaW5zdGFuY2VvZiBMYXVuY2hUZW1wbGF0ZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsdCA9IG5vZGUubm9kZS50cnlGaW5kQ2hpbGQoXG4gICAgICBcIlJlc291cmNlXCIsXG4gICAgKSBhcyBsYXVuY2hUZW1wbGF0ZS5MYXVuY2hUZW1wbGF0ZTtcbiAgICBjb25zdCBtZXRhZGF0YU9wdGlvbnMgPSBsdC5tZXRhZGF0YU9wdGlvbnNJbnB1dDtcbiAgICAvLyAvLyBtZXRhRGF0YU9wdGlvbnMgaXMgQ29tcGxleExpc3RPYmplY3QgYW5kIGNhbiBuZXZlciBiZSBhIHRva2VuXG4gICAgLy8gaWYgKFRva2VuaXphdGlvbi5pc1Jlc29sdmFibGUobWV0YWRhdGFPcHRpb25zKSkge1xuICAgIC8vICAgdGhpcy53YXJuKG5vZGUsIFwiTGF1bmNoVGVtcGxhdGVEYXRhLk1ldGFkYXRhT3B0aW9ucyBpcyBhIENESyB0b2tlbi5cIik7XG4gICAgLy8gICByZXR1cm47XG4gICAgLy8gfVxuXG4gICAgbHQucHV0TWV0YWRhdGFPcHRpb25zKHtcbiAgICAgIC4uLm1ldGFkYXRhT3B0aW9ucyxcbiAgICAgIGh0dHBUb2tlbnM6IFwicmVxdWlyZWRcIixcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -24,5 +24,5 @@ class Authorizer extends aws_construct_1.AwsConstructBase {
|
|
|
24
24
|
}
|
|
25
25
|
exports.Authorizer = Authorizer;
|
|
26
26
|
_a = JSII_RTTI_SYMBOL_1;
|
|
27
|
-
Authorizer[_a] = { fqn: "terraconstructs.aws.compute.Authorizer", version: "0.1.
|
|
27
|
+
Authorizer[_a] = { fqn: "terraconstructs.aws.compute.Authorizer", version: "0.1.9" };
|
|
28
28
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9hdXRob3JpemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EscUNBQTZDO0FBRTdDLG9EQUF1RTtBQUV2RSxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQ2xDLDRDQUE0QyxDQUM3QyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFzQixVQUNwQixTQUFRLGdDQUFnQjtJQUd4Qjs7T0FFRztJQUNJLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBTTtRQUMvQixPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLGlCQUFpQixJQUFJLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBTUQsWUFBbUIsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBeUI7UUFDeEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFKVixzQkFBaUIsR0FDL0IsMEJBQWlCLENBQUMsTUFBTSxDQUFDO1FBS3pCLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQzs7QUFuQkgsZ0NBMEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEF1dGhvcml6YXRpb25UeXBlIH0gZnJvbSBcIi4vbWV0aG9kXCI7XG5pbXBvcnQgeyBJUmVzdEFwaSB9IGZyb20gXCIuL3Jlc3RhcGlcIjtcbmltcG9ydCB7IEF3c0NvbnN0cnVjdEJhc2UsIEF3c0NvbnN0cnVjdFByb3BzIH0gZnJvbSBcIi4uL2F3cy1jb25zdHJ1Y3RcIjtcblxuY29uc3QgQVVUSE9SSVpFUl9TWU1CT0wgPSBTeW1ib2wuZm9yKFxuICBcInRlcnJhY29uc3RydWN0cy9saWIvYXdzL2NvbXB1dGUuQXV0aG9yaXplclwiLFxuKTtcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBhbGwgY3VzdG9tIGF1dGhvcml6ZXJzXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBdXRob3JpemVyXG4gIGV4dGVuZHMgQXdzQ29uc3RydWN0QmFzZVxuICBpbXBsZW1lbnRzIElBdXRob3JpemVyXG57XG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGUgZ2l2ZW4gb2JqZWN0IGlzIGFuIEF1dGhvcml6ZXIuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGlzQXV0aG9yaXplcih4OiBhbnkpOiB4IGlzIEF1dGhvcml6ZXIge1xuICAgIHJldHVybiB4ICE9PSBudWxsICYmIHR5cGVvZiB4ID09PSBcIm9iamVjdFwiICYmIEFVVEhPUklaRVJfU1lNQk9MIGluIHg7XG4gIH1cblxuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYXV0aG9yaXplcklkOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBhdXRob3JpemF0aW9uVHlwZT86IEF1dGhvcml6YXRpb25UeXBlID1cbiAgICBBdXRob3JpemF0aW9uVHlwZS5DVVNUT007XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogQXdzQ29uc3RydWN0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBBVVRIT1JJWkVSX1NZTUJPTCwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgYXV0aG9yaXplciBpcyB1c2VkIGZyb20gYSBzcGVjaWZpYyBSRVNUIEFQSS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgX2F0dGFjaFRvQXBpKHJlc3RBcGk6IElSZXN0QXBpKTogdm9pZDtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIEFQSSBHYXRld2F5IGF1dGhvcml6ZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUF1dGhvcml6ZXIge1xuICAvKipcbiAgICogVGhlIGF1dGhvcml6ZXIgSUQuXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvcml6ZXJJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYXV0aG9yaXphdGlvbiB0eXBlIG9mIHRoaXMgYXV0aG9yaXplci5cbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvcml6YXRpb25UeXBlPzogQXV0aG9yaXphdGlvblR5cGU7XG59XG4iXX0=
|
|
@@ -3,7 +3,7 @@ var _a;
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.IdentitySource = void 0;
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
-
|
|
6
|
+
const errors_1 = require("../../../errors");
|
|
7
7
|
/**
|
|
8
8
|
* Represents an identity source.
|
|
9
9
|
*
|
|
@@ -49,13 +49,12 @@ class IdentitySource {
|
|
|
49
49
|
}
|
|
50
50
|
static toString(source, type) {
|
|
51
51
|
if (!source.trim()) {
|
|
52
|
-
|
|
53
|
-
throw new Error("IdentitySources must be a non-empty string.");
|
|
52
|
+
throw new errors_1.UnscopedValidationError("IdentitySources must be a non-empty string.");
|
|
54
53
|
}
|
|
55
54
|
return `${type}.${source}`;
|
|
56
55
|
}
|
|
57
56
|
}
|
|
58
57
|
exports.IdentitySource = IdentitySource;
|
|
59
58
|
_a = JSII_RTTI_SYMBOL_1;
|
|
60
|
-
IdentitySource[_a] = { fqn: "terraconstructs.aws.compute.IdentitySource", version: "0.1.
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
IdentitySource[_a] = { fqn: "terraconstructs.aws.compute.IdentitySource", version: "0.1.9" };
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHktc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL2F1dGhvcml6ZXJzL2lkZW50aXR5LXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDRDQUEwRDtBQUUxRDs7Ozs7R0FLRztBQUNILE1BQWEsY0FBYztJQUN6Qjs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBa0I7UUFDckMsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQUMsV0FBbUI7UUFDM0MsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxhQUFhLENBQUMsYUFBcUI7UUFDL0MsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBZTtRQUNuQyxPQUFPLGNBQWMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQWMsRUFBRSxJQUFZO1FBQ2xELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNuQixNQUFNLElBQUksZ0NBQXVCLENBQy9CLDZDQUE2QyxDQUM5QyxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sR0FBRyxJQUFJLElBQUksTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7QUFqREgsd0NBa0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IgfSBmcm9tIFwiLi4vLi4vLi4vZXJyb3JzXCI7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBpZGVudGl0eSBzb3VyY2UuXG4gKlxuICogVGhlIHNvdXJjZSBjYW4gYmUgc3BlY2lmaWVkIGVpdGhlciBhcyBhIGxpdGVyYWwgdmFsdWUgKGUuZzogYEF1dGhgKSB3aGljaFxuICogY2Fubm90IGJlIGJsYW5rLCBvciBhcyBhbiB1bnJlc29sdmVkIHN0cmluZyB0b2tlbi5cbiAqL1xuZXhwb3J0IGNsYXNzIElkZW50aXR5U291cmNlIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVzIGEgcHJvcGVybHkgZm9ybWF0dGVkIGhlYWRlciBpZGVudGl0eSBzb3VyY2UuXG4gICAqIEBwYXJhbSBoZWFkZXJOYW1lIHRoZSBuYW1lIG9mIHRoZSBoZWFkZXIgdGhlIGBJZGVudGl0eVNvdXJjZWAgd2lsbCByZXByZXNlbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIGEgaGVhZGVyIGlkZW50aXR5IHNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaGVhZGVyKGhlYWRlck5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIElkZW50aXR5U291cmNlLnRvU3RyaW5nKGhlYWRlck5hbWUsIFwibWV0aG9kLnJlcXVlc3QuaGVhZGVyXCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3ZpZGVzIGEgcHJvcGVybHkgZm9ybWF0dGVkIHF1ZXJ5IHN0cmluZyBpZGVudGl0eSBzb3VyY2UuXG4gICAqIEBwYXJhbSBxdWVyeVN0cmluZyB0aGUgbmFtZSBvZiB0aGUgcXVlcnkgc3RyaW5nIHRoZSBgSWRlbnRpdHlTb3VyY2VgIHdpbGwgcmVwcmVzZW50LlxuICAgKlxuICAgKiBAcmV0dXJucyBhIHF1ZXJ5IHN0cmluZyBpZGVudGl0eSBzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHF1ZXJ5U3RyaW5nKHF1ZXJ5U3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBJZGVudGl0eVNvdXJjZS50b1N0cmluZyhxdWVyeVN0cmluZywgXCJtZXRob2QucmVxdWVzdC5xdWVyeXN0cmluZ1wiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm92aWRlcyBhIHByb3Blcmx5IGZvcm1hdHRlZCBBUEkgR2F0ZXdheSBzdGFnZSB2YXJpYWJsZSBpZGVudGl0eSBzb3VyY2UuXG4gICAqIEBwYXJhbSBzdGFnZVZhcmlhYmxlIHRoZSBuYW1lIG9mIHRoZSBzdGFnZSB2YXJpYWJsZSB0aGUgYElkZW50aXR5U291cmNlYCB3aWxsIHJlcHJlc2VudC5cbiAgICpcbiAgICogQHJldHVybnMgYW4gQVBJIEdhdGV3YXkgc3RhZ2UgdmFyaWFibGUgaWRlbnRpdHkgc291cmNlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzdGFnZVZhcmlhYmxlKHN0YWdlVmFyaWFibGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIElkZW50aXR5U291cmNlLnRvU3RyaW5nKHN0YWdlVmFyaWFibGUsIFwic3RhZ2VWYXJpYWJsZXNcIik7XG4gIH1cblxuICAvKipcbiAgICogUHJvdmlkZXMgYSBwcm9wZXJseSBmb3JtYXR0ZWQgcmVxdWVzdCBjb250ZXh0IGlkZW50aXR5IHNvdXJjZS5cbiAgICogQHBhcmFtIGNvbnRleHQgdGhlIG5hbWUgb2YgdGhlIGNvbnRleHQgdmFyaWFibGUgdGhlIGBJZGVudGl0eVNvdXJjZWAgd2lsbCByZXByZXNlbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIGEgcmVxdWVzdCBjb250ZXh0IGlkZW50aXR5IHNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY29udGV4dChjb250ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBJZGVudGl0eVNvdXJjZS50b1N0cmluZyhjb250ZXh0LCBcImNvbnRleHRcIik7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyB0b1N0cmluZyhzb3VyY2U6IHN0cmluZywgdHlwZTogc3RyaW5nKSB7XG4gICAgaWYgKCFzb3VyY2UudHJpbSgpKSB7XG4gICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgIFwiSWRlbnRpdHlTb3VyY2VzIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nLlwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYCR7dHlwZX0uJHtzb3VyY2V9YDtcbiAgfVxufVxuIl19
|