@aws-solutions-constructs/core 2.62.0 → 2.63.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +331 -30
- package/index.d.ts +2 -0
- package/index.js +9 -3
- package/lib/alb-helper.js +11 -11
- package/lib/apigateway-defaults.js +2 -2
- package/lib/apigateway-helper.js +12 -12
- package/lib/cloudfront-distribution-defaults.js +1 -1
- package/lib/cloudfront-distribution-helper.js +12 -12
- package/lib/cloudwatch-log-group-helper.js +4 -4
- package/lib/cognito-helper.d.ts +6 -1
- package/lib/cognito-helper.js +6 -6
- package/lib/dynamodb-table-helper.js +3 -3
- package/lib/elasticache-helper.js +4 -4
- package/lib/elasticsearch-defaults.js +1 -1
- package/lib/elasticsearch-helper.js +5 -5
- package/lib/eventbridge-helper.js +1 -1
- package/lib/fargate-helper.js +2 -2
- package/lib/glue-job-defaults.js +3 -3
- package/lib/glue-job-helper.js +4 -4
- package/lib/glue-table-defaults.js +1 -1
- package/lib/glue-table-helper.js +1 -1
- package/lib/kendra-defaults.js +2 -2
- package/lib/kendra-helper.js +8 -8
- package/lib/kinesis-analytics-helper.js +2 -2
- package/lib/kinesis-streams-helper.js +3 -3
- package/lib/kms-helper.js +2 -2
- package/lib/lambda-event-source-mapping-defaults.js +6 -6
- package/lib/lambda-helper.js +6 -6
- package/lib/mediastore-helper.js +3 -3
- package/lib/opensearch-defaults.js +1 -1
- package/lib/opensearch-helper.js +5 -5
- package/lib/override-warning-service.js +3 -3
- package/lib/s3-bucket-helper.js +17 -17
- package/lib/s3-oac-origin.js +3 -3
- package/lib/sagemaker-helper.js +17 -17
- package/lib/secretsmanager-helper.js +3 -3
- package/lib/security-group-helper.js +3 -3
- package/lib/sns-helper.js +3 -3
- package/lib/sqs-helper.d.ts +18 -0
- package/lib/sqs-helper.js +12 -8
- package/lib/step-function-helper.js +8 -8
- package/lib/utils.js +3 -3
- package/lib/vpc-helper.js +6 -6
- package/lib/waf-helper.js +2 -2
- package/lib/websocket-api-defaults.d.ts +22 -0
- package/lib/websocket-api-defaults.js +36 -0
- package/lib/websocket-api-helper.d.ts +66 -0
- package/lib/websocket-api-helper.js +144 -0
- package/package.json +4 -4
- package/test/apigateway-helper.test.js +1 -1
- package/test/cloudfront-distribution-api-gateway-helper.test.js +5 -5
- package/test/cloudfront-distribution-mediastore-helper.test.js +8 -8
- package/test/cloudfront-distribution-s3-helper.test.js +21 -21
- package/test/cloudwatch-log-group-helper.test.js +3 -3
- package/test/dynamo-table.test.js +6 -6
- package/test/elasticache-defaults.test.js +3 -3
- package/test/elasticache-helper.test.js +15 -15
- package/test/elasticsearch-helper.test.js +1 -1
- package/test/events-rule.test.js +3 -3
- package/test/fargate-helper.test.js +10 -10
- package/test/glue-job-helper.test.js +1 -1
- package/test/glue-table-helper.test.js +1 -1
- package/test/iot-rule.test.js +3 -3
- package/test/kendra-helper.test.js +24 -24
- package/test/kinesis-analytics.test.js +2 -2
- package/test/kinesis-firehose-s3-defaults.test.js +2 -2
- package/test/kinesis-streams-defaults.test.js +2 -2
- package/test/lambda-helper.test.js +1 -1
- package/test/mediastore-helper.test.js +4 -4
- package/test/override-warning-service.test.js +13 -13
- package/test/s3-bucket-helper.test.js +2 -2
- package/test/s3-bucket.test.js +7 -7
- package/test/sagemaker-helper.test.js +2 -2
- package/test/sns-helper.test.js +2 -2
- package/test/sqs-helper.test.js +41 -9
- package/test/step-function-helper.test.js +4 -4
- package/test/test-helper.js +27 -27
- package/test/utils.test.js +1 -1
- package/test/vpc-helper.test.js +23 -23
- package/test/waf-helper.test.js +2 -2
- package/test/websocket-api-defaults.test.d.ts +13 -0
- package/test/websocket-api-defaults.test.js +29 -0
- package/test/websocket-api-helper.test.d.ts +13 -0
- package/test/websocket-api-helper.test.js +395 -0
|
@@ -34,7 +34,7 @@ function buildElasticSearch(scope, props) {
|
|
|
34
34
|
// Setup the IAM Role & policy for ES to configure Cognito User pool and Identity pool
|
|
35
35
|
const cognitoKibanaConfigureRole = createKibanaCognitoRole(scope, props.userpool, props.identitypool, props.domainName);
|
|
36
36
|
if (props.vpc) {
|
|
37
|
-
subnetIds = vpc_helper_1.retrievePrivateSubnetIds(props.vpc);
|
|
37
|
+
subnetIds = (0, vpc_helper_1.retrievePrivateSubnetIds)(props.vpc);
|
|
38
38
|
if (subnetIds.length > MaximumAzsInElasticsearchDomain) {
|
|
39
39
|
subnetIds = subnetIds.slice(0, MaximumAzsInElasticsearchDomain);
|
|
40
40
|
}
|
|
@@ -53,13 +53,13 @@ function buildElasticSearch(scope, props) {
|
|
|
53
53
|
constructDrivenProps.elasticsearchClusterConfig = createClusterConfiguration(cdk.Stack.of(scope).availabilityZones.length);
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
-
const defaultCfnDomainProps = elasticsearch_defaults_1.DefaultCfnDomainProps(props.domainName, cognitoKibanaConfigureRole, props);
|
|
57
|
-
const finalCfnDomainProps = utils_1.consolidateProps(defaultCfnDomainProps, props.clientDomainProps, constructDrivenProps);
|
|
56
|
+
const defaultCfnDomainProps = (0, elasticsearch_defaults_1.DefaultCfnDomainProps)(props.domainName, cognitoKibanaConfigureRole, props);
|
|
57
|
+
const finalCfnDomainProps = (0, utils_1.consolidateProps)(defaultCfnDomainProps, props.clientDomainProps, constructDrivenProps);
|
|
58
58
|
// tlsSecurityPolicy is set in DefaultCfnDomainProps() - it is the
|
|
59
59
|
// default behavior, but Sonarqube cannot follow the program flow to confirm this.
|
|
60
60
|
// This is confirmed by the 'Check that TLS 1.2 is the default' test in aws-lambda-elasticsearch
|
|
61
61
|
const esDomain = new elasticsearch.CfnDomain(scope, `ElasticsearchDomain`, finalCfnDomainProps); // NOSONAR
|
|
62
|
-
utils_1.addCfnSuppressRules(esDomain, [
|
|
62
|
+
(0, utils_1.addCfnSuppressRules)(esDomain, [
|
|
63
63
|
{
|
|
64
64
|
id: "W28",
|
|
65
65
|
reason: `The ES Domain is passed dynamically as as parameter and explicitly specified to ensure that IAM policies are configured to lockdown access to this specific ES instance only`,
|
|
@@ -251,4 +251,4 @@ function createKibanaCognitoRole(scope, userPool, identitypool, domainName) {
|
|
|
251
251
|
cognitoKibanaConfigureRolePolicy.attachToRole(cognitoKibanaConfigureRole);
|
|
252
252
|
return cognitoKibanaConfigureRole;
|
|
253
253
|
}
|
|
254
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpY3NlYXJjaC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJlbGFzdGljc2VhcmNoLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7OztBQUVIOzs7R0FHRztBQUVILCtEQUErRDtBQUMvRCxxRUFBaUU7QUFDakUsNkNBQXdEO0FBQ3hELG1DQUFnRTtBQUNoRSwyQ0FBMkM7QUFDM0MsbUNBQW1DO0FBQ25DLHlEQUF5RDtBQU16RCxNQUFNLCtCQUErQixHQUFHLENBQUMsQ0FBQztBQWtCMUM7O0dBRUc7QUFDSCxTQUFnQixrQkFBa0IsQ0FBQyxLQUFnQixFQUFFLEtBQThCO0lBRWpGLElBQUksU0FBUyxHQUFhLEVBQUUsQ0FBQztJQUM3QixNQUFNLG9CQUFvQixHQUFRLEVBQUUsQ0FBQztJQUVyQyxzRkFBc0Y7SUFDdEYsTUFBTSwwQkFBMEIsR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV4SCxJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUU7UUFDYixTQUFTLEdBQUcscUNBQXdCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWhELElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRywrQkFBK0IsRUFBRTtZQUN0RCxTQUFTLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsK0JBQStCLENBQUMsQ0FBQztTQUNqRTtRQUVELG9CQUFvQixDQUFDLFVBQVUsR0FBRztZQUNoQyxTQUFTO1lBQ1QsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtTQUN6QyxDQUFDO1FBRUYsd0VBQXdFO1FBQ3hFLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQUU7WUFDeEQsb0JBQW9CLENBQUMsMEJBQTBCLEdBQUcsMEJBQTBCLENB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QUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsV0FBVyxVQUFVLEVBQUU7aUJBQzNGO2FBQ0YsQ0FBQztZQUNGLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztnQkFDdEIsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO2dCQUN6QixVQUFVLEVBQUU7b0JBQ1YsVUFBVSxFQUFFO3dCQUNWLHFCQUFxQixFQUFFLGdDQUFnQztxQkFDeEQ7aUJBQ0Y7Z0JBQ0QsU0FBUyxFQUFFLENBQUMsMEJBQTBCLENBQUMsT0FBTyxDQUFDO2FBQ2hELENBQUM7U0FDSDtLQUNGLENBQ0YsQ0FBQztJQUVGLGdDQUFnQyxDQUFDLFlBQVksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQzFFLE9BQU8sMEJBQTBCLENBQUM7QUFDcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qXG4gKiAgVGhlIGZ1bmN0aW9ucyBmb3VuZCBoZXJlIGluIHRoZSBjb3JlIGxpYnJhcnkgYXJlIGZvciBpbnRlcm5hbCB1c2UgYW5kIGNhbiBiZSBjaGFuZ2VkXG4gKiAgb3IgcmVtb3ZlZCBvdXRzaWRlIG9mIGEgbWFqb3IgcmVsZWFzZS4gV2UgcmVjb21tZW5kIGFnYWluc3QgY2FsbGluZyB0aGVtIGRpcmVjdGx5IGZyb20gY2xpZW50IGNvZGUuXG4gKi9cblxuaW1wb3J0ICogYXMgZWxhc3RpY3NlYXJjaCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWxhc3RpY3NlYXJjaCc7XG5pbXBvcnQgeyBEZWZhdWx0Q2ZuRG9tYWluUHJvcHMgfSBmcm9tICcuL2VsYXN0aWNzZWFyY2gtZGVmYXVsdHMnO1xuaW1wb3J0IHsgcmV0cmlldmVQcml2YXRlU3VibmV0SWRzIH0gZnJvbSAnLi92cGMtaGVscGVyJztcbmltcG9ydCB7IGNvbnNvbGlkYXRlUHJvcHMsIGFkZENmblN1cHByZXNzUnVsZXMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBjbG91ZHdhdGNoIGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoJztcbmltcG9ydCAqIGFzIGNvZ25pdG8gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNvZ25pdG8nO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuLy8gTm90ZTogVG8gZW5zdXJlIENES3YyIGNvbXBhdGliaWxpdHksIGtlZXAgdGhlIGltcG9ydCBzdGF0ZW1lbnQgZm9yIENvbnN0cnVjdCBzZXBhcmF0ZVxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmNvbnN0IE1heGltdW1BenNJbkVsYXN0aWNzZWFyY2hEb21haW4gPSAzO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkRWxhc3RpY1NlYXJjaFByb3BzIHtcbiAgcmVhZG9ubHkgaWRlbnRpdHlwb29sOiBjb2duaXRvLkNmbklkZW50aXR5UG9vbDtcbiAgcmVhZG9ubHkgdXNlcnBvb2w6IGNvZ25pdG8uVXNlclBvb2w7XG4gIHJlYWRvbmx5IGNvZ25pdG9BdXRob3JpemVkUm9sZUFSTjogc3RyaW5nO1xuICByZWFkb25seSBzZXJ2aWNlUm9sZUFSTj86IHN0cmluZztcbiAgcmVhZG9ubHkgdnBjPzogZWMyLklWcGM7XG4gIHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgY2xpZW50RG9tYWluUHJvcHM/OiBlbGFzdGljc2VhcmNoLkNmbkRvbWFpblByb3BzLFxuICByZWFkb25seSBzZWN1cml0eUdyb3VwSWRzPzogc3RyaW5nW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZEVsYXN0aWNTZWFyY2hSZXNwb25zZSB7XG4gIHJlYWRvbmx5IGRvbWFpbjogZWxhc3RpY3NlYXJjaC5DZm5Eb21haW4sXG4gIHJlYWRvbmx5IHJvbGU6IGlhbS5Sb2xlXG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkRWxhc3RpY1NlYXJjaChzY29wZTogQ29uc3RydWN0LCBwcm9wczogQnVpbGRFbGFzdGljU2VhcmNoUHJvcHMpOiBCdWlsZEVsYXN0aWNTZWFyY2hSZXNwb25zZSB7XG5cbiAgbGV0IHN1Ym5ldElkczogc3RyaW5nW10gPSBbXTtcbiAgY29uc3QgY29uc3RydWN0RHJpdmVuUHJvcHM6IGFueSA9IHt9O1xuXG4gIC8vIFNldHVwIHRoZSBJQU0gUm9sZSAmIHBvbGljeSBmb3IgRVMgdG8gY29uZmlndXJlIENvZ25pdG8gVXNlciBwb29sIGFuZCBJZGVudGl0eSBwb29sXG4gIGNvbnN0IGNvZ25pdG9LaWJhbmFDb25maWd1cmVSb2xlID0gY3JlYXRlS2liYW5hQ29nbml0b1JvbGUoc2NvcGUsIHByb3BzLnVzZXJwb29sLCBwcm9wcy5pZGVudGl0eXBvb2wsIHByb3BzLmRvbWFpbk5hbWUpO1xuXG4gIGlmIChwcm9wcy52cGMpIHtcbiAgICBzdWJuZXRJZHMgPSByZXRyaWV2ZVByaXZhdGVTdWJuZXRJZHMocHJvcHMudnBjKTtcblxuICAgIGlmIChzdWJuZXRJZHMubGVuZ3RoID4gTWF4aW11bUF6c0luRWxhc3RpY3NlYXJjaERvbWFpbikge1xuICAgICAgc3VibmV0SWRzID0gc3VibmV0SWRzLnNsaWNlKDAsIE1heGltdW1BenNJbkVsYXN0aWNzZWFyY2hEb21haW4pO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdERyaXZlblByb3BzLnZwY09wdGlvbnMgPSB7XG4gICAgICBzdWJuZXRJZHMsXG4gICAgICBzZWN1cml0eUdyb3VwSWRzOiBwcm9wcy5zZWN1cml0eUdyb3VwSWRzXG4gICAgfTtcblxuICAgIC8vIElmIHRoZSBjbGllbnQgZGlkIG5vdCBzdWJtaXQgYSBDbHVzdGVyQ29uZmlnLCB0aGVuIHdlIHdpbGwgY3JlYXRlIG9uZVxuICAgIGlmICghcHJvcHMuY2xpZW50RG9tYWluUHJvcHM/LmVsYXN0aWNzZWFyY2hDbHVzdGVyQ29uZmlnKSB7XG4gICAgICBjb25zdHJ1Y3REcml2ZW5Qcm9wcy5lbGFzdGljc2VhcmNoQ2x1c3RlckNvbmZpZyA9IGNyZWF0ZUNsdXN0ZXJDb25maWd1cmF0aW9uKHN1Ym5ldElkcy5sZW5ndGgpO1xuICAgIH1cbiAgfSBlbHNlIHsgLy8gTm8gVlBDXG4gICAgLy8gSWYgdGhlIGNsaWVudCBkaWQgbm90IHN1Ym1pdCBhIENsdXN0ZXJDb25maWcsIHRoZW4gd2Ugd2lsbCBjcmVhdGUgb25lIGJhc2VkIG9uIHRoZSBSZWdpb25cbiAgICBpZiAoIXByb3BzLmNsaWVudERvbWFpblByb3BzPy5lbGFzdGljc2VhcmNoQ2x1c3RlckNvbmZpZykge1xuICAgICAgY29uc3RydWN0RHJpdmVuUHJvcHMuZWxhc3RpY3NlYXJjaENsdXN0ZXJDb25maWcgPSBjcmVhdGVDbHVzdGVyQ29uZmlndXJhdGlvbihjZGsuU3RhY2sub2Yoc2NvcGUpLmF2YWlsYWJpbGl0eVpvbmVzLmxlbmd0aCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgZGVmYXVsdENmbkRvbWFpblByb3BzID0gRGVmYXVsdENmbkRvbWFpblByb3BzKHByb3BzLmRvbWFpbk5hbWUsIGNvZ25pdG9LaWJhbmFDb25maWd1cmVSb2xlLCBwcm9wcyk7XG4gIGNvbnN0IGZpbmFsQ2ZuRG9tYWluUHJvcHMgPSBjb25zb2xpZGF0ZVByb3BzKGRlZmF1bHRDZm5Eb21haW5Qcm9wcywgcHJvcHMuY2xpZW50RG9tYWluUHJvcHMsIGNvbnN0cnVjdERyaXZlblByb3BzKTtcblxuICAvLyB0bHNTZWN1cml0eVBvbGljeSBpcyBzZXQgaW4gRGVmYXVsdENmbkRvbWFpblByb3BzKCkgLSBpdCBpcyB0aGVcbiAgLy8gZGVmYXVsdCBiZWhhdmlvciwgYnV0IFNvbmFycXViZSBjYW5ub3QgZm9sbG93IHRoZSBwcm9ncmFtIGZsb3cgdG8gY29uZmlybSB0aGlzLlxuICAvLyBUaGlzIGlzIGNvbmZpcm1lZCBieSB0aGUgJ0NoZWNrIHRoYXQgVExTIDEuMiBpcyB0aGUgZGVmYXVsdCcgdGVzdCBpbiBhd3MtbGFtYmRhLWVsYXN0aWNzZWFyY2hcbiAgY29uc3QgZXNEb21haW4gPSBuZXcgZWxhc3RpY3NlYXJjaC5DZm5Eb21haW4oc2NvcGUsIGBFbGFzdGljc2VhcmNoRG9tYWluYCwgZmluYWxDZm5Eb21haW5Qcm9wcyk7IC8vIE5PU09OQVJcblxuICBhZGRDZm5TdXBwcmVzc1J1bGVzKGVzRG9tYWluLCBbXG4gICAge1xuICAgICAgaWQ6IFwiVzI4XCIsXG4gICAgICByZWFzb246IGBUaGUgRVMgRG9tYWluIGlzIHBhc3NlZCBkeW5hbWljYWxseSBhcyBhcyBwYXJhbWV0ZXIgYW5kIGV4cGxpY2l0bHkgc3BlY2lmaWVkIHRvIGVuc3VyZSB0aGF0IElBTSBwb2xpY2llcyBhcmUgY29uZmlndXJlZCB0byBsb2NrZG93biBhY2Nlc3MgdG8gdGhpcyBzcGVjaWZpYyBFUyBpbnN0YW5jZSBvbmx5YCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiBcIlc5MFwiLFxuICAgICAgcmVhc29uOiBgVGhpcyBpcyBub3QgYSBydWxlIGZvciB0aGUgZ2VuZXJhbCBjYXNlLCBqdXN0IGZvciBzcGVjaWZpYyB1c2UgY2FzZXMvaW5kdXN0cmllc2AsXG4gICAgfSxcbiAgXSk7XG5cbiAgcmV0dXJuIHsgZG9tYWluOiBlc0RvbWFpbiwgcm9sZTogY29nbml0b0tpYmFuYUNvbmZpZ3VyZVJvbGUgfTtcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRFbGFzdGljU2VhcmNoQ1dBbGFybXMoc2NvcGU6IENvbnN0cnVjdCk6IGNsb3Vkd2F0Y2guQWxhcm1bXSB7XG4gIC8vIFNldHVwIENXIEFsYXJtcyBmb3IgRVNcbiAgY29uc3QgYWxhcm1zOiBjbG91ZHdhdGNoLkFsYXJtW10gPSBuZXcgQXJyYXkoKTtcblxuICAvLyBDbHVzdGVyU3RhdHVzLnJlZCBtYXhpbXVtIGlzID49IDEgZm9yIDEgbWludXRlLCAxIGNvbnNlY3V0aXZlIHRpbWVcbiAgYWxhcm1zLnB1c2gobmV3IGNsb3Vkd2F0Y2guQWxhcm0oc2NvcGUsICdTdGF0dXNSZWRBbGFybScsIHtcbiAgICBtZXRyaWM6IG5ldyBjbG91ZHdhdGNoLk1ldHJpYyh7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRVMnLFxuICAgICAgbWV0cmljTmFtZTogJ0NsdXN0ZXJTdGF0dXMucmVkJyxcbiAgICAgIHN0YXRpc3RpYzogJ01heGltdW0nLFxuICAgICAgcGVyaW9kOiBjZGsuRHVyYXRpb24uc2Vjb25kcyg2MCksXG4gICAgfSksXG4gICAgdGhyZXNob2xkOiAxLFxuICAgIGV2YWx1YXRpb25QZXJpb2RzOiAxLFxuICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY2xvdWR3YXRjaC5Db21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX09SX0VRVUFMX1RPX1RIUkVTSE9MRCxcbiAgICBhbGFybURlc2NyaXB0aW9uOiAnQXQgbGVhc3Qgb25lIHByaW1hcnkgc2hhcmQgYW5kIGl0cyByZXBsaWNhcyBhcmUgbm90IGFsbG9jYXRlZCB0byBhIG5vZGUuICdcbiAgfSkpO1xuXG4gIC8vIENsdXN0ZXJTdGF0dXMueWVsbG93IG1heGltdW0gaXMgPj0gMSBmb3IgMSBtaW51dGUsIDEgY29uc2VjdXRpdmUgdGltZVxuICBhbGFybXMucHVzaChuZXcgY2xvdWR3YXRjaC5BbGFybShzY29wZSwgJ1N0YXR1c1llbGxvd0FsYXJtJywge1xuICAgIG1ldHJpYzogbmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9FUycsXG4gICAgICBtZXRyaWNOYW1lOiAnQ2x1c3RlclN0YXR1cy55ZWxsb3cnLFxuICAgICAgc3RhdGlzdGljOiAnTWF4aW11bScsXG4gICAgICBwZXJpb2Q6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDYwKSxcbiAgICB9KSxcbiAgICB0aHJlc2hvbGQ6IDEsXG4gICAgZXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAgY29tcGFyaXNvbk9wZXJhdG9yOiBjbG91ZHdhdGNoLkNvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgIGFsYXJtRGVzY3JpcHRpb246ICdBdCBsZWFzdCBvbmUgcmVwbGljYSBzaGFyZCBpcyBub3QgYWxsb2NhdGVkIHRvIGEgbm9kZS4nXG4gIH0pKTtcblxuICAvLyBGcmVlU3RvcmFnZVNwYWNlIG1pbmltdW0gaXMgPD0gMjA0ODAgZm9yIDEgbWludXRlLCAxIGNvbnNlY3V0aXZlIHRpbWVcbiAgYWxhcm1zLnB1c2gobmV3IGNsb3Vkd2F0Y2guQWxhcm0oc2NvcGUsICdGcmVlU3RvcmFnZVNwYWNlVG9vTG93QWxhcm0nLCB7XG4gICAgbWV0cmljOiBuZXcgY2xvdWR3YXRjaC5NZXRyaWMoe1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0VTJyxcbiAgICAgIG1ldHJpY05hbWU6ICdGcmVlU3RvcmFnZVNwYWNlJyxcbiAgICAgIHN0YXRpc3RpYzogJ01pbmltdW0nLFxuICAgICAgcGVyaW9kOiBjZGsuRHVyYXRpb24uc2Vjb25kcyg2MCksXG4gICAgfSksXG4gICAgdGhyZXNob2xkOiAyMDAwMCxcbiAgICBldmFsdWF0aW9uUGVyaW9kczogMSxcbiAgICBjb21wYXJpc29uT3BlcmF0b3I6IGNsb3Vkd2F0Y2guQ29tcGFyaXNvbk9wZXJhdG9yLkxFU1NfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgYWxhcm1EZXNjcmlwdGlvbjogJ0Egbm9kZSBpbiB5b3VyIGNsdXN0ZXIgaXMgZG93biB0byAyMCBHaUIgb2YgZnJlZSBzdG9yYWdlIHNwYWNlLidcbiAgfSkpO1xuXG4gIC8vIENsdXN0ZXJJbmRleFdyaXRlc0Jsb2NrZWQgaXMgPj0gMSBmb3IgNSBtaW51dGVzLCAxIGNvbnNlY3V0aXZlIHRpbWVcbiAgYWxhcm1zLnB1c2gobmV3IGNsb3Vkd2F0Y2guQWxhcm0oc2NvcGUsICdJbmRleFdyaXRlc0Jsb2NrZWRUb29IaWdoQWxhcm0nLCB7XG4gICAgbWV0cmljOiBuZXcgY2xvdWR3YXRjaC5NZXRyaWMoe1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0VTJyxcbiAgICAgIG1ldHJpY05hbWU6ICdDbHVzdGVySW5kZXhXcml0ZXNCbG9ja2VkJyxcbiAgICAgIHN0YXRpc3RpYzogJ01heGltdW0nLFxuICAgICAgcGVyaW9kOiBjZGsuRHVyYXRpb24uc2Vjb25kcygzMDApLFxuICAgIH0pLFxuICAgIHRocmVzaG9sZDogMSxcbiAgICBldmFsdWF0aW9uUGVyaW9kczogMSxcbiAgICBjb21wYXJpc29uT3BlcmF0b3I6IGNsb3Vkd2F0Y2guQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgYWxhcm1EZXNjcmlwdGlvbjogJ1lvdXIgY2x1c3RlciBpcyBibG9ja2luZyB3cml0ZSByZXF1ZXN0cy4nXG4gIH0pKTtcblxuICAvLyBBdXRvbWF0ZWRTbmFwc2hvdEZhaWx1cmUgbWF4aW11bSBpcyA+PSAxIGZvciAxIG1pbnV0ZSwgMSBjb25zZWN1dGl2ZSB0aW1lXG4gIGFsYXJtcy5wdXNoKG5ldyBjbG91ZHdhdGNoLkFsYXJtKHNjb3BlLCAnQXV0b21hdGVkU25hcHNob3RGYWlsdXJlVG9vSGlnaEFsYXJtJywge1xuICAgIG1ldHJpYzogbmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9FUycsXG4gICAgICBtZXRyaWNOYW1lOiAnQXV0b21hdGVkU25hcHNob3RGYWlsdXJlJyxcbiAgICAgIHN0YXRpc3RpYzogJ01heGltdW0nLFxuICAgICAgcGVyaW9kOiBjZGsuRHVyYXRpb24uc2Vjb25kcyg2MCksXG4gICAgfSksXG4gICAgdGhyZXNob2xkOiAxLFxuICAgIGV2YWx1YXRpb25QZXJpb2RzOiAxLFxuICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY2xvdWR3YXRjaC5Db21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX09SX0VRVUFMX1RPX1RIUkVTSE9MRCxcbiAgICBhbGFybURlc2NyaXB0aW9uOiAnQW4gYXV0b21hdGVkIHNuYXBzaG90IGZhaWxlZC4gVGhpcyBmYWlsdXJlIGlzIG9mdGVuIHRoZSByZXN1bHQgb2YgYSByZWQgY2x1c3RlciBoZWFsdGggc3RhdHVzLidcbiAgfSkpO1xuXG4gIC8vIENQVVV0aWxpemF0aW9uIG1heGltdW0gaXMgPj0gODAlIGZvciAxNSBtaW51dGVzLCAzIGNvbnNlY3V0aXZlIHRpbWVzXG4gIGFsYXJtcy5wdXNoKG5ldyBjbG91ZHdhdGNoLkFsYXJtKHNjb3BlLCAnQ1BVVXRpbGl6YXRpb25Ub29IaWdoQWxhcm0nLCB7XG4gICAgbWV0cmljOiBuZXcgY2xvdWR3YXRjaC5NZXRyaWMoe1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0VTJyxcbiAgICAgIG1ldHJpY05hbWU6ICdDUFVVdGlsaXphdGlvbicsXG4gICAgICBzdGF0aXN0aWM6ICdBdmVyYWdlJyxcbiAgICAgIHBlcmlvZDogY2RrLkR1cmF0aW9uLnNlY29uZHMoOTAwKSxcbiAgICB9KSxcbiAgICB0aHJlc2hvbGQ6IDgwLFxuICAgIGV2YWx1YXRpb25QZXJpb2RzOiAzLFxuICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY2xvdWR3YXRjaC5Db21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX09SX0VRVUFMX1RPX1RIUkVTSE9MRCxcbiAgICBhbGFybURlc2NyaXB0aW9uOiAnMTAwJSBDUFUgdXRpbGl6YXRpb24gaXMgbm90IHVuY29tbW9uLCBidXQgc3VzdGFpbmVkIGhpZ2ggdXNhZ2UgaXMgcHJvYmxlbWF0aWMuIENvbnNpZGVyIHVzaW5nIGxhcmdlciBpbnN0YW5jZSB0eXBlcyBvciBhZGRpbmcgaW5zdGFuY2VzLidcbiAgfSkpO1xuXG4gIC8vIEpWTU1lbW9yeVByZXNzdXJlIG1heGltdW0gaXMgPj0gODAlIGZvciA1IG1pbnV0ZXMsIDMgY29uc2VjdXRpdmUgdGltZXNcbiAgYWxhcm1zLnB1c2gobmV3IGNsb3Vkd2F0Y2guQWxhcm0oc2NvcGUsICdKVk1NZW1vcnlQcmVzc3VyZVRvb0hpZ2hBbGFybScsIHtcbiAgICBtZXRyaWM6IG5ldyBjbG91ZHdhdGNoLk1ldHJpYyh7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRVMnLFxuICAgICAgbWV0cmljTmFtZTogJ0pWTU1lbW9yeVByZXNzdXJlJyxcbiAgICAgIHN0YXRpc3RpYzogJ0F2ZXJhZ2UnLFxuICAgICAgcGVyaW9kOiBjZGsuRHVyYXRpb24uc2Vjb25kcyg5MDApLFxuICAgIH0pLFxuICAgIHRocmVzaG9sZDogODAsXG4gICAgZXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAgY29tcGFyaXNvbk9wZXJhdG9yOiBjbG91ZHdhdGNoLkNvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgIGFsYXJtRGVzY3JpcHRpb246ICdBdmVyYWdlIEpWTSBtZW1vcnkgcHJlc3N1cmUgb3ZlciBsYXN0IDE1IG1pbnV0ZXMgdG9vIGhpZ2guIENvbnNpZGVyIHNjYWxpbmcgdmVydGljYWxseS4nXG4gIH0pKTtcblxuICAvLyBNYXN0ZXJDUFVVdGlsaXphdGlvbiBtYXhpbXVtIGlzID49IDUwJSBmb3IgMTUgbWludXRlcywgMyBjb25zZWN1dGl2ZSB0aW1lc1xuICBhbGFybXMucHVzaChuZXcgY2xvdWR3YXRjaC5BbGFybShzY29wZSwgJ01hc3RlckNQVVV0aWxpemF0aW9uVG9vSGlnaEFsYXJtJywge1xuICAgIG1ldHJpYzogbmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9FUycsXG4gICAgICBtZXRyaWNOYW1lOiAnTWFzdGVyQ1BVVXRpbGl6YXRpb24nLFxuICAgICAgc3RhdGlzdGljOiAnQXZlcmFnZScsXG4gICAgICBwZXJpb2Q6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDkwMCksXG4gICAgfSksXG4gICAgdGhyZXNob2xkOiA1MCxcbiAgICBldmFsdWF0aW9uUGVyaW9kczogMyxcbiAgICBjb21wYXJpc29uT3BlcmF0b3I6IGNsb3Vkd2F0Y2guQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgYWxhcm1EZXNjcmlwdGlvbjogJ0F2ZXJhZ2UgQ1BVIHV0aWxpemF0aW9uIG92ZXIgbGFzdCA0NSBtaW51dGVzIHRvbyBoaWdoLiBDb25zaWRlciB1c2luZyBsYXJnZXIgaW5zdGFuY2UgdHlwZXMgZm9yIHlvdXIgZGVkaWNhdGVkIG1hc3RlciBub2Rlcy4nXG4gIH0pKTtcblxuICAvLyBNYXN0ZXJKVk1NZW1vcnlQcmVzc3VyZSBtYXhpbXVtIGlzID49IDgwJSBmb3IgMTUgbWludXRlcywgMSBjb25zZWN1dGl2ZSB0aW1lXG4gIGFsYXJtcy5wdXNoKG5ldyBjbG91ZHdhdGNoLkFsYXJtKHNjb3BlLCAnTWFzdGVySlZNTWVtb3J5UHJlc3N1cmVUb29IaWdoQWxhcm0nLCB7XG4gICAgbWV0cmljOiBuZXcgY2xvdWR3YXRjaC5NZXRyaWMoe1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0VTJyxcbiAgICAgIG1ldHJpY05hbWU6ICdNYXN0ZXJKVk1NZW1vcnlQcmVzc3VyZScsXG4gICAgICBzdGF0aXN0aWM6ICdBdmVyYWdlJyxcbiAgICAgIHBlcmlvZDogY2RrLkR1cmF0aW9uLnNlY29uZHMoOTAwKSxcbiAgICB9KSxcbiAgICB0aHJlc2hvbGQ6IDUwLFxuICAgIGV2YWx1YXRpb25QZXJpb2RzOiAxLFxuICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY2xvdWR3YXRjaC5Db21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX09SX0VRVUFMX1RPX1RIUkVTSE9MRCxcbiAgICBhbGFybURlc2NyaXB0aW9uOiAnQXZlcmFnZSBKVk0gbWVtb3J5IHByZXNzdXJlIG92ZXIgbGFzdCAxNSBtaW51dGVzIHRvbyBoaWdoLiBDb25zaWRlciBzY2FsaW5nIHZlcnRpY2FsbHkuJ1xuICB9KSk7XG5cbiAgcmV0dXJuIGFsYXJtcztcbn1cblxuZnVuY3Rpb24gY3JlYXRlQ2x1c3RlckNvbmZpZ3VyYXRpb24obnVtYmVyT2ZBenM/OiBudW1iZXIpOiBlbGFzdGljc2VhcmNoLkNmbkRvbWFpbi5FbGFzdGljc2VhcmNoQ2x1c3RlckNvbmZpZ1Byb3BlcnR5IHtcbiAgcmV0dXJuIHtcbiAgICBkZWRpY2F0ZWRNYXN0ZXJFbmFibGVkOiB0cnVlLFxuICAgIGRlZGljYXRlZE1hc3RlckNvdW50OiAzLFxuICAgIHpvbmVBd2FyZW5lc3NFbmFibGVkOiB0cnVlLFxuICAgIHpvbmVBd2FyZW5lc3NDb25maWc6IHtcbiAgICAgIGF2YWlsYWJpbGl0eVpvbmVDb3VudDogbnVtYmVyT2ZBenNcbiAgICB9LFxuICAgIGluc3RhbmNlQ291bnQ6IG51bWJlck9mQXpzLFxuICB9O1xufVxuXG5mdW5jdGlvbiBjcmVhdGVLaWJhbmFDb2duaXRvUm9sZShcbiAgc2NvcGU6IENvbnN0cnVjdCxcbiAgdXNlclBvb2w6IGNvZ25pdG8uVXNlclBvb2wsXG4gIGlkZW50aXR5cG9vbDogY29nbml0by5DZm5JZGVudGl0eVBvb2wsXG4gIGRvbWFpbk5hbWU6IHN0cmluZ1xuKTogaWFtLlJvbGUge1xuICAvLyBTZXR1cCB0aGUgSUFNIFJvbGUgJiBwb2xpY3kgZm9yIEVTIHRvIGNvbmZpZ3VyZSBDb2duaXRvIFVzZXIgcG9vbCBhbmQgSWRlbnRpdHkgcG9vbFxuICBjb25zdCBjb2duaXRvS2liYW5hQ29uZmlndXJlUm9sZSA9IG5ldyBpYW0uUm9sZShcbiAgICBzY29wZSxcbiAgICBcIkNvZ25pdG9LaWJhbmFDb25maWd1cmVSb2xlXCIsXG4gICAge1xuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoXCJlcy5hbWF6b25hd3MuY29tXCIpLFxuICAgIH1cbiAgKTtcblxuICBjb25zdCBjb2duaXRvS2liYW5hQ29uZmlndXJlUm9sZVBvbGljeSA9IG5ldyBpYW0uUG9saWN5KFxuICAgIHNjb3BlLFxuICAgIFwiQ29nbml0b0tpYmFuYUNvbmZpZ3VyZVJvbGVQb2xpY3lcIixcbiAgICB7XG4gICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICBcImNvZ25pdG8taWRwOkRlc2NyaWJlVXNlclBvb2xcIixcbiAgICAgICAgICAgIFwiY29nbml0by1pZHA6Q3JlYXRlVXNlclBvb2xDbGllbnRcIixcbiAgICAgICAgICAgIFwiY29nbml0by1pZHA6RGVsZXRlVXNlclBvb2xDbGllbnRcIixcbiAgICAgICAgICAgIFwiY29nbml0by1pZHA6RGVzY3JpYmVVc2VyUG9vbENsaWVudFwiLFxuICAgICAgICAgICAgXCJjb2duaXRvLWlkcDpBZG1pbkluaXRpYXRlQXV0aFwiLFxuICAgICAgICAgICAgXCJjb2duaXRvLWlkcDpBZG1pblVzZXJHbG9iYWxTaWduT3V0XCIsXG4gICAgICAgICAgICBcImNvZ25pdG8taWRwOkxpc3RVc2VyUG9vbENsaWVudHNcIixcbiAgICAgICAgICAgIFwiY29nbml0by1pZGVudGl0eTpEZXNjcmliZUlkZW50aXR5UG9vbFwiLFxuICAgICAgICAgICAgXCJjb2duaXRvLWlkZW50aXR5OlVwZGF0ZUlkZW50aXR5UG9vbFwiLFxuICAgICAgICAgICAgXCJjb2duaXRvLWlkZW50aXR5OlNldElkZW50aXR5UG9vbFJvbGVzXCIsXG4gICAgICAgICAgICBcImNvZ25pdG8taWRlbnRpdHk6R2V0SWRlbnRpdHlQb29sUm9sZXNcIixcbiAgICAgICAgICAgIFwiZXM6VXBkYXRlRWxhc3RpY3NlYXJjaERvbWFpbkNvbmZpZ1wiLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICB1c2VyUG9vbC51c2VyUG9vbEFybixcbiAgICAgICAgICAgIGBhcm46JHtjZGsuQXdzLlBBUlRJVElPTn06Y29nbml0by1pZGVudGl0eToke2Nkay5Bd3MuUkVHSU9OfToke2Nkay5Bd3MuQUNDT1VOVF9JRH06aWRlbnRpdHlwb29sLyR7aWRlbnRpdHlwb29sLnJlZn1gLFxuICAgICAgICAgICAgYGFybjoke2Nkay5Bd3MuUEFSVElUSU9OfTplczoke2Nkay5Bd3MuUkVHSU9OfToke2Nkay5Bd3MuQUNDT1VOVF9JRH06ZG9tYWluLyR7ZG9tYWluTmFtZX1gLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pLFxuICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgYWN0aW9uczogW1wiaWFtOlBhc3NSb2xlXCJdLFxuICAgICAgICAgIGNvbmRpdGlvbnM6IHtcbiAgICAgICAgICAgIFN0cmluZ0xpa2U6IHtcbiAgICAgICAgICAgICAgXCJpYW06UGFzc2VkVG9TZXJ2aWNlXCI6IFwiY29nbml0by1pZGVudGl0eS5hbWF6b25hd3MuY29tXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbY29nbml0b0tpYmFuYUNvbmZpZ3VyZVJvbGUucm9sZUFybl0sXG4gICAgICAgIH0pLFxuICAgICAgXSxcbiAgICB9XG4gICk7XG5cbiAgY29nbml0b0tpYmFuYUNvbmZpZ3VyZVJvbGVQb2xpY3kuYXR0YWNoVG9Sb2xlKGNvZ25pdG9LaWJhbmFDb25maWd1cmVSb2xlKTtcbiAgcmV0dXJuIGNvZ25pdG9LaWJhbmFDb25maWd1cmVSb2xlO1xufVxuIl19
|
|
254
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpY3NlYXJjaC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJlbGFzdGljc2VhcmNoLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7OztBQUVIOzs7R0FHRztBQUVILCtEQUErRDtBQUMvRCxxRUFBaUU7QUFDakUsNkNBQXdEO0FBQ3hELG1DQUFnRTtBQUNoRSwyQ0FBMkM7QUFDM0MsbUNBQW1DO0FBQ25DLHlEQUF5RDtBQU16RCxNQUFNLCtCQUErQixHQUFHLENBQUMsQ0FBQztBQWtCMUM7O0dBRUc7QUFDSCxTQUFnQixrQkFBa0IsQ0FBQyxLQUFnQixFQUFFLEtBQThCO0lBRWpGLElBQUksU0FBUyxHQUFhLEVBQUUsQ0FBQztJQUM3QixNQUFNLG9CQUFvQixHQUFRLEVBQUUsQ0FBQztJQUVyQyxzRkFBc0Y7SUFDdEYsTUFBTSwwQkFBMEIsR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV4SCxJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNkLFNBQVMsR0FBRyxJQUFBLHFDQUF3QixFQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVoRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsK0JBQStCLEVBQUUsQ0FBQztZQUN2RCxTQUFTLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsK0JBQStCLENBQUMsQ0FBQztRQUNsRSxDQUFDO1FBRUQsb0JBQW9CLENBQUMsVUFBVSxHQUFHO1lBQ2hDLFNBQVM7WUFDVCxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO1NBQ3pDLENBQUM7UUFFRix3RUFBd0U7UUFDeEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSwwQkFBMEIsRUFBRSxDQUFDO1lBQ3pELG9CQUFvQixD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QyxHQUFHLEVBQUU7b0JBQ3BILE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxTQUFTLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLFdBQVcsVUFBVSxFQUFFO2lCQUMzRjthQUNGLENBQUM7WUFDRixJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7Z0JBQ3RCLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQztnQkFDekIsVUFBVSxFQUFFO29CQUNWLFVBQVUsRUFBRTt3QkFDVixxQkFBcUIsRUFBRSxnQ0FBZ0M7cUJBQ3hEO2lCQUNGO2dCQUNELFNBQVMsRUFBRSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sQ0FBQzthQUNoRCxDQUFDO1NBQ0g7S0FDRixDQUNGLENBQUM7SUFFRixnQ0FBZ0MsQ0FBQyxZQUFZLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUMxRSxPQUFPLDBCQUEwQixDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKlxuICogIFRoZSBmdW5jdGlvbnMgZm91bmQgaGVyZSBpbiB0aGUgY29yZSBsaWJyYXJ5IGFyZSBmb3IgaW50ZXJuYWwgdXNlIGFuZCBjYW4gYmUgY2hhbmdlZFxuICogIG9yIHJlbW92ZWQgb3V0c2lkZSBvZiBhIG1ham9yIHJlbGVhc2UuIFdlIHJlY29tbWVuZCBhZ2FpbnN0IGNhbGxpbmcgdGhlbSBkaXJlY3RseSBmcm9tIGNsaWVudCBjb2RlLlxuICovXG5cbmltcG9ydCAqIGFzIGVsYXN0aWNzZWFyY2ggZnJvbSAnYXdzLWNkay1saWIvYXdzLWVsYXN0aWNzZWFyY2gnO1xuaW1wb3J0IHsgRGVmYXVsdENmbkRvbWFpblByb3BzIH0gZnJvbSAnLi9lbGFzdGljc2VhcmNoLWRlZmF1bHRzJztcbmltcG9ydCB7IHJldHJpZXZlUHJpdmF0ZVN1Ym5ldElkcyB9IGZyb20gJy4vdnBjLWhlbHBlcic7XG5pbXBvcnQgeyBjb25zb2xpZGF0ZVByb3BzLCBhZGRDZm5TdXBwcmVzc1J1bGVzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgY2xvdWR3YXRjaCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaCc7XG5pbXBvcnQgKiBhcyBjb2duaXRvIGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2duaXRvJztcbmltcG9ydCAqIGFzIGVjMiBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbi8vIE5vdGU6IFRvIGVuc3VyZSBDREt2MiBjb21wYXRpYmlsaXR5LCBrZWVwIHRoZSBpbXBvcnQgc3RhdGVtZW50IGZvciBDb25zdHJ1Y3Qgc2VwYXJhdGVcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5jb25zdCBNYXhpbXVtQXpzSW5FbGFzdGljc2VhcmNoRG9tYWluID0gMztcblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZEVsYXN0aWNTZWFyY2hQcm9wcyB7XG4gIHJlYWRvbmx5IGlkZW50aXR5cG9vbDogY29nbml0by5DZm5JZGVudGl0eVBvb2w7XG4gIHJlYWRvbmx5IHVzZXJwb29sOiBjb2duaXRvLlVzZXJQb29sO1xuICByZWFkb25seSBjb2duaXRvQXV0aG9yaXplZFJvbGVBUk46IHN0cmluZztcbiAgcmVhZG9ubHkgc2VydmljZVJvbGVBUk4/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZwYz86IGVjMi5JVnBjO1xuICByZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNsaWVudERvbWFpblByb3BzPzogZWxhc3RpY3NlYXJjaC5DZm5Eb21haW5Qcm9wcyxcbiAgcmVhZG9ubHkgc2VjdXJpdHlHcm91cElkcz86IHN0cmluZ1tdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRFbGFzdGljU2VhcmNoUmVzcG9uc2Uge1xuICByZWFkb25seSBkb21haW46IGVsYXN0aWNzZWFyY2guQ2ZuRG9tYWluLFxuICByZWFkb25seSByb2xlOiBpYW0uUm9sZVxufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEVsYXN0aWNTZWFyY2goc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IEJ1aWxkRWxhc3RpY1NlYXJjaFByb3BzKTogQnVpbGRFbGFzdGljU2VhcmNoUmVzcG9uc2Uge1xuXG4gIGxldCBzdWJuZXRJZHM6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IGNvbnN0cnVjdERyaXZlblByb3BzOiBhbnkgPSB7fTtcblxuICAvLyBTZXR1cCB0aGUgSUFNIFJvbGUgJiBwb2xpY3kgZm9yIEVTIHRvIGNvbmZpZ3VyZSBDb2duaXRvIFVzZXIgcG9vbCBhbmQgSWRlbnRpdHkgcG9vbFxuICBjb25zdCBjb2duaXRvS2liYW5hQ29uZmlndXJlUm9sZSA9IGNyZWF0ZUtpYmFuYUNvZ25pdG9Sb2xlKHNjb3BlLCBwcm9wcy51c2VycG9vbCwgcHJvcHMuaWRlbnRpdHlwb29sLCBwcm9wcy5kb21haW5OYW1lKTtcblxuICBpZiAocHJvcHMudnBjKSB7XG4gICAgc3VibmV0SWRzID0gcmV0cmlldmVQcml2YXRlU3VibmV0SWRzKHByb3BzLnZwYyk7XG5cbiAgICBpZiAoc3VibmV0SWRzLmxlbmd0aCA+IE1heGltdW1BenNJbkVsYXN0aWNzZWFyY2hEb21haW4pIHtcbiAgICAgIHN1Ym5ldElkcyA9IHN1Ym5ldElkcy5zbGljZSgwLCBNYXhpbXVtQXpzSW5FbGFzdGljc2VhcmNoRG9tYWluKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3REcml2ZW5Qcm9wcy52cGNPcHRpb25zID0ge1xuICAgICAgc3VibmV0SWRzLFxuICAgICAgc2VjdXJpdHlHcm91cElkczogcHJvcHMuc2VjdXJpdHlHcm91cElkc1xuICAgIH07XG5cbiAgICAvLyBJZiB0aGUgY2xpZW50IGRpZCBub3Qgc3VibWl0IGEgQ2x1c3RlckNvbmZpZywgdGhlbiB3ZSB3aWxsIGNyZWF0ZSBvbmVcbiAgICBpZiAoIXByb3BzLmNsaWVudERvbWFpblByb3BzPy5lbGFzdGljc2VhcmNoQ2x1c3RlckNvbmZpZykge1xuICAgICAgY29uc3RydWN0RHJpdmVuUHJvcHMuZWxhc3RpY3NlYXJjaENsdXN0ZXJDb25maWcgPSBjcmVhdGVDbHVzdGVyQ29uZmlndXJhdGlvbihzdWJuZXRJZHMubGVuZ3RoKTtcbiAgICB9XG4gIH0gZWxzZSB7IC8vIE5vIFZQQ1xuICAgIC8vIElmIHRoZSBjbGllbnQgZGlkIG5vdCBzdWJtaXQgYSBDbHVzdGVyQ29uZmlnLCB0aGVuIHdlIHdpbGwgY3JlYXRlIG9uZSBiYXNlZCBvbiB0aGUgUmVnaW9uXG4gICAgaWYgKCFwcm9wcy5jbGllbnREb21haW5Qcm9wcz8uZWxhc3RpY3NlYXJjaENsdXN0ZXJDb25maWcpIHtcbiAgICAgIGNvbnN0cnVjdERyaXZlblByb3BzLmVsYXN0aWNzZWFyY2hDbHVzdGVyQ29uZmlnID0gY3JlYXRlQ2x1c3RlckNvbmZpZ3VyYXRpb24oY2RrLlN0YWNrLm9mKHNjb3BlKS5hdmFpbGFiaWxpdHlab25lcy5sZW5ndGgpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGRlZmF1bHRDZm5Eb21haW5Qcm9wcyA9IERlZmF1bHRDZm5Eb21haW5Qcm9wcyhwcm9wcy5kb21haW5OYW1lLCBjb2duaXRvS2liYW5hQ29uZmlndXJlUm9sZSwgcHJvcHMpO1xuICBjb25zdCBmaW5hbENmbkRvbWFpblByb3BzID0gY29uc29saWRhdGVQcm9wcyhkZWZhdWx0Q2ZuRG9tYWluUHJvcHMsIHByb3BzLmNsaWVudERvbWFpblByb3BzLCBjb25zdHJ1Y3REcml2ZW5Qcm9wcyk7XG5cbiAgLy8gdGxzU2VjdXJpdHlQb2xpY3kgaXMgc2V0IGluIERlZmF1bHRDZm5Eb21haW5Qcm9wcygpIC0gaXQgaXMgdGhlXG4gIC8vIGRlZmF1bHQgYmVoYXZpb3IsIGJ1dCBTb25hcnF1YmUgY2Fubm90IGZvbGxvdyB0aGUgcHJvZ3JhbSBmbG93IHRvIGNvbmZpcm0gdGhpcy5cbiAgLy8gVGhpcyBpcyBjb25maXJtZWQgYnkgdGhlICdDaGVjayB0aGF0IFRMUyAxLjIgaXMgdGhlIGRlZmF1bHQnIHRlc3QgaW4gYXdzLWxhbWJkYS1lbGFzdGljc2VhcmNoXG4gIGNvbnN0IGVzRG9tYWluID0gbmV3IGVsYXN0aWNzZWFyY2guQ2ZuRG9tYWluKHNjb3BlLCBgRWxhc3RpY3NlYXJjaERvbWFpbmAsIGZpbmFsQ2ZuRG9tYWluUHJvcHMpOyAvLyBOT1NPTkFSXG5cbiAgYWRkQ2ZuU3VwcHJlc3NSdWxlcyhlc0RvbWFpbiwgW1xuICAgIHtcbiAgICAgIGlkOiBcIlcyOFwiLFxuICAgICAgcmVhc29uOiBgVGhlIEVTIERvbWFpbiBpcyBwYXNzZWQgZHluYW1pY2FsbHkgYXMgYXMgcGFyYW1ldGVyIGFuZCBleHBsaWNpdGx5IHNwZWNpZmllZCB0byBlbnN1cmUgdGhhdCBJQU0gcG9saWNpZXMgYXJlIGNvbmZpZ3VyZWQgdG8gbG9ja2Rvd24gYWNjZXNzIHRvIHRoaXMgc3BlY2lmaWMgRVMgaW5zdGFuY2Ugb25seWAsXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogXCJXOTBcIixcbiAgICAgIHJlYXNvbjogYFRoaXMgaXMgbm90IGEgcnVsZSBmb3IgdGhlIGdlbmVyYWwgY2FzZSwganVzdCBmb3Igc3BlY2lmaWMgdXNlIGNhc2VzL2luZHVzdHJpZXNgLFxuICAgIH0sXG4gIF0pO1xuXG4gIHJldHVybiB7IGRvbWFpbjogZXNEb21haW4sIHJvbGU6IGNvZ25pdG9LaWJhbmFDb25maWd1cmVSb2xlIH07XG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkRWxhc3RpY1NlYXJjaENXQWxhcm1zKHNjb3BlOiBDb25zdHJ1Y3QpOiBjbG91ZHdhdGNoLkFsYXJtW10ge1xuICAvLyBTZXR1cCBDVyBBbGFybXMgZm9yIEVTXG4gIGNvbnN0IGFsYXJtczogY2xvdWR3YXRjaC5BbGFybVtdID0gbmV3IEFycmF5KCk7XG5cbiAgLy8gQ2x1c3RlclN0YXR1cy5yZWQgbWF4aW11bSBpcyA+PSAxIGZvciAxIG1pbnV0ZSwgMSBjb25zZWN1dGl2ZSB0aW1lXG4gIGFsYXJtcy5wdXNoKG5ldyBjbG91ZHdhdGNoLkFsYXJtKHNjb3BlLCAnU3RhdHVzUmVkQWxhcm0nLCB7XG4gICAgbWV0cmljOiBuZXcgY2xvdWR3YXRjaC5NZXRyaWMoe1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0VTJyxcbiAgICAgIG1ldHJpY05hbWU6ICdDbHVzdGVyU3RhdHVzLnJlZCcsXG4gICAgICBzdGF0aXN0aWM6ICdNYXhpbXVtJyxcbiAgICAgIHBlcmlvZDogY2RrLkR1cmF0aW9uLnNlY29uZHMoNjApLFxuICAgIH0pLFxuICAgIHRocmVzaG9sZDogMSxcbiAgICBldmFsdWF0aW9uUGVyaW9kczogMSxcbiAgICBjb21wYXJpc29uT3BlcmF0b3I6IGNsb3Vkd2F0Y2guQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgYWxhcm1EZXNjcmlwdGlvbjogJ0F0IGxlYXN0IG9uZSBwcmltYXJ5IHNoYXJkIGFuZCBpdHMgcmVwbGljYXMgYXJlIG5vdCBhbGxvY2F0ZWQgdG8gYSBub2RlLiAnXG4gIH0pKTtcblxuICAvLyBDbHVzdGVyU3RhdHVzLnllbGxvdyBtYXhpbXVtIGlzID49IDEgZm9yIDEgbWludXRlLCAxIGNvbnNlY3V0aXZlIHRpbWVcbiAgYWxhcm1zLnB1c2gobmV3IGNsb3Vkd2F0Y2guQWxhcm0oc2NvcGUsICdTdGF0dXNZZWxsb3dBbGFybScsIHtcbiAgICBtZXRyaWM6IG5ldyBjbG91ZHdhdGNoLk1ldHJpYyh7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRVMnLFxuICAgICAgbWV0cmljTmFtZTogJ0NsdXN0ZXJTdGF0dXMueWVsbG93JyxcbiAgICAgIHN0YXRpc3RpYzogJ01heGltdW0nLFxuICAgICAgcGVyaW9kOiBjZGsuRHVyYXRpb24uc2Vjb25kcyg2MCksXG4gICAgfSksXG4gICAgdGhyZXNob2xkOiAxLFxuICAgIGV2YWx1YXRpb25QZXJpb2RzOiAxLFxuICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY2xvdWR3YXRjaC5Db21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX09SX0VRVUFMX1RPX1RIUkVTSE9MRCxcbiAgICBhbGFybURlc2NyaXB0aW9uOiAnQXQgbGVhc3Qgb25lIHJlcGxpY2Egc2hhcmQgaXMgbm90IGFsbG9jYXRlZCB0byBhIG5vZGUuJ1xuICB9KSk7XG5cbiAgLy8gRnJlZVN0b3JhZ2VTcGFjZSBtaW5pbXVtIGlzIDw9IDIwNDgwIGZvciAxIG1pbnV0ZSwgMSBjb25zZWN1dGl2ZSB0aW1lXG4gIGFsYXJtcy5wdXNoKG5ldyBjbG91ZHdhdGNoLkFsYXJtKHNjb3BlLCAnRnJlZVN0b3JhZ2VTcGFjZVRvb0xvd0FsYXJtJywge1xuICAgIG1ldHJpYzogbmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9FUycsXG4gICAgICBtZXRyaWNOYW1lOiAnRnJlZVN0b3JhZ2VTcGFjZScsXG4gICAgICBzdGF0aXN0aWM6ICdNaW5pbXVtJyxcbiAgICAgIHBlcmlvZDogY2RrLkR1cmF0aW9uLnNlY29uZHMoNjApLFxuICAgIH0pLFxuICAgIHRocmVzaG9sZDogMjAwMDAsXG4gICAgZXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAgY29tcGFyaXNvbk9wZXJhdG9yOiBjbG91ZHdhdGNoLkNvbXBhcmlzb25PcGVyYXRvci5MRVNTX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgIGFsYXJtRGVzY3JpcHRpb246ICdBIG5vZGUgaW4geW91ciBjbHVzdGVyIGlzIGRvd24gdG8gMjAgR2lCIG9mIGZyZWUgc3RvcmFnZSBzcGFjZS4nXG4gIH0pKTtcblxuICAvLyBDbHVzdGVySW5kZXhXcml0ZXNCbG9ja2VkIGlzID49IDEgZm9yIDUgbWludXRlcywgMSBjb25zZWN1dGl2ZSB0aW1lXG4gIGFsYXJtcy5wdXNoKG5ldyBjbG91ZHdhdGNoLkFsYXJtKHNjb3BlLCAnSW5kZXhXcml0ZXNCbG9ja2VkVG9vSGlnaEFsYXJtJywge1xuICAgIG1ldHJpYzogbmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9FUycsXG4gICAgICBtZXRyaWNOYW1lOiAnQ2x1c3RlckluZGV4V3JpdGVzQmxvY2tlZCcsXG4gICAgICBzdGF0aXN0aWM6ICdNYXhpbXVtJyxcbiAgICAgIHBlcmlvZDogY2RrLkR1cmF0aW9uLnNlY29uZHMoMzAwKSxcbiAgICB9KSxcbiAgICB0aHJlc2hvbGQ6IDEsXG4gICAgZXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAgY29tcGFyaXNvbk9wZXJhdG9yOiBjbG91ZHdhdGNoLkNvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgIGFsYXJtRGVzY3JpcHRpb246ICdZb3VyIGNsdXN0ZXIgaXMgYmxvY2tpbmcgd3JpdGUgcmVxdWVzdHMuJ1xuICB9KSk7XG5cbiAgLy8gQXV0b21hdGVkU25hcHNob3RGYWlsdXJlIG1heGltdW0gaXMgPj0gMSBmb3IgMSBtaW51dGUsIDEgY29uc2VjdXRpdmUgdGltZVxuICBhbGFybXMucHVzaChuZXcgY2xvdWR3YXRjaC5BbGFybShzY29wZSwgJ0F1dG9tYXRlZFNuYXBzaG90RmFpbHVyZVRvb0hpZ2hBbGFybScsIHtcbiAgICBtZXRyaWM6IG5ldyBjbG91ZHdhdGNoLk1ldHJpYyh7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRVMnLFxuICAgICAgbWV0cmljTmFtZTogJ0F1dG9tYXRlZFNuYXBzaG90RmFpbHVyZScsXG4gICAgICBzdGF0aXN0aWM6ICdNYXhpbXVtJyxcbiAgICAgIHBlcmlvZDogY2RrLkR1cmF0aW9uLnNlY29uZHMoNjApLFxuICAgIH0pLFxuICAgIHRocmVzaG9sZDogMSxcbiAgICBldmFsdWF0aW9uUGVyaW9kczogMSxcbiAgICBjb21wYXJpc29uT3BlcmF0b3I6IGNsb3Vkd2F0Y2guQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgYWxhcm1EZXNjcmlwdGlvbjogJ0FuIGF1dG9tYXRlZCBzbmFwc2hvdCBmYWlsZWQuIFRoaXMgZmFpbHVyZSBpcyBvZnRlbiB0aGUgcmVzdWx0IG9mIGEgcmVkIGNsdXN0ZXIgaGVhbHRoIHN0YXR1cy4nXG4gIH0pKTtcblxuICAvLyBDUFVVdGlsaXphdGlvbiBtYXhpbXVtIGlzID49IDgwJSBmb3IgMTUgbWludXRlcywgMyBjb25zZWN1dGl2ZSB0aW1lc1xuICBhbGFybXMucHVzaChuZXcgY2xvdWR3YXRjaC5BbGFybShzY29wZSwgJ0NQVVV0aWxpemF0aW9uVG9vSGlnaEFsYXJtJywge1xuICAgIG1ldHJpYzogbmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9FUycsXG4gICAgICBtZXRyaWNOYW1lOiAnQ1BVVXRpbGl6YXRpb24nLFxuICAgICAgc3RhdGlzdGljOiAnQXZlcmFnZScsXG4gICAgICBwZXJpb2Q6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDkwMCksXG4gICAgfSksXG4gICAgdGhyZXNob2xkOiA4MCxcbiAgICBldmFsdWF0aW9uUGVyaW9kczogMyxcbiAgICBjb21wYXJpc29uT3BlcmF0b3I6IGNsb3Vkd2F0Y2guQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgYWxhcm1EZXNjcmlwdGlvbjogJzEwMCUgQ1BVIHV0aWxpemF0aW9uIGlzIG5vdCB1bmNvbW1vbiwgYnV0IHN1c3RhaW5lZCBoaWdoIHVzYWdlIGlzIHByb2JsZW1hdGljLiBDb25zaWRlciB1c2luZyBsYXJnZXIgaW5zdGFuY2UgdHlwZXMgb3IgYWRkaW5nIGluc3RhbmNlcy4nXG4gIH0pKTtcblxuICAvLyBKVk1NZW1vcnlQcmVzc3VyZSBtYXhpbXVtIGlzID49IDgwJSBmb3IgNSBtaW51dGVzLCAzIGNvbnNlY3V0aXZlIHRpbWVzXG4gIGFsYXJtcy5wdXNoKG5ldyBjbG91ZHdhdGNoLkFsYXJtKHNjb3BlLCAnSlZNTWVtb3J5UHJlc3N1cmVUb29IaWdoQWxhcm0nLCB7XG4gICAgbWV0cmljOiBuZXcgY2xvdWR3YXRjaC5NZXRyaWMoe1xuICAgICAgbmFtZXNwYWNlOiAnQVdTL0VTJyxcbiAgICAgIG1ldHJpY05hbWU6ICdKVk1NZW1vcnlQcmVzc3VyZScsXG4gICAgICBzdGF0aXN0aWM6ICdBdmVyYWdlJyxcbiAgICAgIHBlcmlvZDogY2RrLkR1cmF0aW9uLnNlY29uZHMoOTAwKSxcbiAgICB9KSxcbiAgICB0aHJlc2hvbGQ6IDgwLFxuICAgIGV2YWx1YXRpb25QZXJpb2RzOiAxLFxuICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY2xvdWR3YXRjaC5Db21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX09SX0VRVUFMX1RPX1RIUkVTSE9MRCxcbiAgICBhbGFybURlc2NyaXB0aW9uOiAnQXZlcmFnZSBKVk0gbWVtb3J5IHByZXNzdXJlIG92ZXIgbGFzdCAxNSBtaW51dGVzIHRvbyBoaWdoLiBDb25zaWRlciBzY2FsaW5nIHZlcnRpY2FsbHkuJ1xuICB9KSk7XG5cbiAgLy8gTWFzdGVyQ1BVVXRpbGl6YXRpb24gbWF4aW11bSBpcyA+PSA1MCUgZm9yIDE1IG1pbnV0ZXMsIDMgY29uc2VjdXRpdmUgdGltZXNcbiAgYWxhcm1zLnB1c2gobmV3IGNsb3Vkd2F0Y2guQWxhcm0oc2NvcGUsICdNYXN0ZXJDUFVVdGlsaXphdGlvblRvb0hpZ2hBbGFybScsIHtcbiAgICBtZXRyaWM6IG5ldyBjbG91ZHdhdGNoLk1ldHJpYyh7XG4gICAgICBuYW1lc3BhY2U6ICdBV1MvRVMnLFxuICAgICAgbWV0cmljTmFtZTogJ01hc3RlckNQVVV0aWxpemF0aW9uJyxcbiAgICAgIHN0YXRpc3RpYzogJ0F2ZXJhZ2UnLFxuICAgICAgcGVyaW9kOiBjZGsuRHVyYXRpb24uc2Vjb25kcyg5MDApLFxuICAgIH0pLFxuICAgIHRocmVzaG9sZDogNTAsXG4gICAgZXZhbHVhdGlvblBlcmlvZHM6IDMsXG4gICAgY29tcGFyaXNvbk9wZXJhdG9yOiBjbG91ZHdhdGNoLkNvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fT1JfRVFVQUxfVE9fVEhSRVNIT0xELFxuICAgIGFsYXJtRGVzY3JpcHRpb246ICdBdmVyYWdlIENQVSB1dGlsaXphdGlvbiBvdmVyIGxhc3QgNDUgbWludXRlcyB0b28gaGlnaC4gQ29uc2lkZXIgdXNpbmcgbGFyZ2VyIGluc3RhbmNlIHR5cGVzIGZvciB5b3VyIGRlZGljYXRlZCBtYXN0ZXIgbm9kZXMuJ1xuICB9KSk7XG5cbiAgLy8gTWFzdGVySlZNTWVtb3J5UHJlc3N1cmUgbWF4aW11bSBpcyA+PSA4MCUgZm9yIDE1IG1pbnV0ZXMsIDEgY29uc2VjdXRpdmUgdGltZVxuICBhbGFybXMucHVzaChuZXcgY2xvdWR3YXRjaC5BbGFybShzY29wZSwgJ01hc3RlckpWTU1lbW9yeVByZXNzdXJlVG9vSGlnaEFsYXJtJywge1xuICAgIG1ldHJpYzogbmV3IGNsb3Vkd2F0Y2guTWV0cmljKHtcbiAgICAgIG5hbWVzcGFjZTogJ0FXUy9FUycsXG4gICAgICBtZXRyaWNOYW1lOiAnTWFzdGVySlZNTWVtb3J5UHJlc3N1cmUnLFxuICAgICAgc3RhdGlzdGljOiAnQXZlcmFnZScsXG4gICAgICBwZXJpb2Q6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDkwMCksXG4gICAgfSksXG4gICAgdGhyZXNob2xkOiA1MCxcbiAgICBldmFsdWF0aW9uUGVyaW9kczogMSxcbiAgICBjb21wYXJpc29uT3BlcmF0b3I6IGNsb3Vkd2F0Y2guQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgYWxhcm1EZXNjcmlwdGlvbjogJ0F2ZXJhZ2UgSlZNIG1lbW9yeSBwcmVzc3VyZSBvdmVyIGxhc3QgMTUgbWludXRlcyB0b28gaGlnaC4gQ29uc2lkZXIgc2NhbGluZyB2ZXJ0aWNhbGx5LidcbiAgfSkpO1xuXG4gIHJldHVybiBhbGFybXM7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUNsdXN0ZXJDb25maWd1cmF0aW9uKG51bWJlck9mQXpzPzogbnVtYmVyKTogZWxhc3RpY3NlYXJjaC5DZm5Eb21haW4uRWxhc3RpY3NlYXJjaENsdXN0ZXJDb25maWdQcm9wZXJ0eSB7XG4gIHJldHVybiB7XG4gICAgZGVkaWNhdGVkTWFzdGVyRW5hYmxlZDogdHJ1ZSxcbiAgICBkZWRpY2F0ZWRNYXN0ZXJDb3VudDogMyxcbiAgICB6b25lQXdhcmVuZXNzRW5hYmxlZDogdHJ1ZSxcbiAgICB6b25lQXdhcmVuZXNzQ29uZmlnOiB7XG4gICAgICBhdmFpbGFiaWxpdHlab25lQ291bnQ6IG51bWJlck9mQXpzXG4gICAgfSxcbiAgICBpbnN0YW5jZUNvdW50OiBudW1iZXJPZkF6cyxcbiAgfTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlS2liYW5hQ29nbml0b1JvbGUoXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXG4gIHVzZXJQb29sOiBjb2duaXRvLlVzZXJQb29sLFxuICBpZGVudGl0eXBvb2w6IGNvZ25pdG8uQ2ZuSWRlbnRpdHlQb29sLFxuICBkb21haW5OYW1lOiBzdHJpbmdcbik6IGlhbS5Sb2xlIHtcbiAgLy8gU2V0dXAgdGhlIElBTSBSb2xlICYgcG9saWN5IGZvciBFUyB0byBjb25maWd1cmUgQ29nbml0byBVc2VyIHBvb2wgYW5kIElkZW50aXR5IHBvb2xcbiAgY29uc3QgY29nbml0b0tpYmFuYUNvbmZpZ3VyZVJvbGUgPSBuZXcgaWFtLlJvbGUoXG4gICAgc2NvcGUsXG4gICAgXCJDb2duaXRvS2liYW5hQ29uZmlndXJlUm9sZVwiLFxuICAgIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKFwiZXMuYW1hem9uYXdzLmNvbVwiKSxcbiAgICB9XG4gICk7XG5cbiAgY29uc3QgY29nbml0b0tpYmFuYUNvbmZpZ3VyZVJvbGVQb2xpY3kgPSBuZXcgaWFtLlBvbGljeShcbiAgICBzY29wZSxcbiAgICBcIkNvZ25pdG9LaWJhbmFDb25maWd1cmVSb2xlUG9saWN5XCIsXG4gICAge1xuICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgXCJjb2duaXRvLWlkcDpEZXNjcmliZVVzZXJQb29sXCIsXG4gICAgICAgICAgICBcImNvZ25pdG8taWRwOkNyZWF0ZVVzZXJQb29sQ2xpZW50XCIsXG4gICAgICAgICAgICBcImNvZ25pdG8taWRwOkRlbGV0ZVVzZXJQb29sQ2xpZW50XCIsXG4gICAgICAgICAgICBcImNvZ25pdG8taWRwOkRlc2NyaWJlVXNlclBvb2xDbGllbnRcIixcbiAgICAgICAgICAgIFwiY29nbml0by1pZHA6QWRtaW5Jbml0aWF0ZUF1dGhcIixcbiAgICAgICAgICAgIFwiY29nbml0by1pZHA6QWRtaW5Vc2VyR2xvYmFsU2lnbk91dFwiLFxuICAgICAgICAgICAgXCJjb2duaXRvLWlkcDpMaXN0VXNlclBvb2xDbGllbnRzXCIsXG4gICAgICAgICAgICBcImNvZ25pdG8taWRlbnRpdHk6RGVzY3JpYmVJZGVudGl0eVBvb2xcIixcbiAgICAgICAgICAgIFwiY29nbml0by1pZGVudGl0eTpVcGRhdGVJZGVudGl0eVBvb2xcIixcbiAgICAgICAgICAgIFwiY29nbml0by1pZGVudGl0eTpTZXRJZGVudGl0eVBvb2xSb2xlc1wiLFxuICAgICAgICAgICAgXCJjb2duaXRvLWlkZW50aXR5OkdldElkZW50aXR5UG9vbFJvbGVzXCIsXG4gICAgICAgICAgICBcImVzOlVwZGF0ZUVsYXN0aWNzZWFyY2hEb21haW5Db25maWdcIixcbiAgICAgICAgICBdLFxuICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgdXNlclBvb2wudXNlclBvb2xBcm4sXG4gICAgICAgICAgICBgYXJuOiR7Y2RrLkF3cy5QQVJUSVRJT059OmNvZ25pdG8taWRlbnRpdHk6JHtjZGsuQXdzLlJFR0lPTn06JHtjZGsuQXdzLkFDQ09VTlRfSUR9OmlkZW50aXR5cG9vbC8ke2lkZW50aXR5cG9vbC5yZWZ9YCxcbiAgICAgICAgICAgIGBhcm46JHtjZGsuQXdzLlBBUlRJVElPTn06ZXM6JHtjZGsuQXdzLlJFR0lPTn06JHtjZGsuQXdzLkFDQ09VTlRfSUR9OmRvbWFpbi8ke2RvbWFpbk5hbWV9YCxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSxcbiAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGFjdGlvbnM6IFtcImlhbTpQYXNzUm9sZVwiXSxcbiAgICAgICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICAgICBTdHJpbmdMaWtlOiB7XG4gICAgICAgICAgICAgIFwiaWFtOlBhc3NlZFRvU2VydmljZVwiOiBcImNvZ25pdG8taWRlbnRpdHkuYW1hem9uYXdzLmNvbVwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlc291cmNlczogW2NvZ25pdG9LaWJhbmFDb25maWd1cmVSb2xlLnJvbGVBcm5dLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgfVxuICApO1xuXG4gIGNvZ25pdG9LaWJhbmFDb25maWd1cmVSb2xlUG9saWN5LmF0dGFjaFRvUm9sZShjb2duaXRvS2liYW5hQ29uZmlndXJlUm9sZSk7XG4gIHJldHVybiBjb2duaXRvS2liYW5hQ29uZmlndXJlUm9sZTtcbn1cbiJdfQ==
|
|
@@ -43,4 +43,4 @@ function CheckEventBridgeProps(propsObject) {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
exports.CheckEventBridgeProps = CheckEventBridgeProps;
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRicmlkZ2UtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZXZlbnRicmlkZ2UtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7O0FBU0gsaURBQWlEO0FBaUJqRDs7R0FFRztBQUNILFNBQWdCLGFBQWEsQ0FBQyxLQUFnQixFQUFFLEtBQXlCO0lBQ3ZFLDhDQUE4QztJQUM5QyxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBQ3BDLE9BQU8sS0FBSyxDQUFDLHlCQUF5QixDQUFDO0lBQ3pDLENBQUM7U0FBTSxJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMvQixtREFBbUQ7UUFDbkQsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxZQUFZLElBQUksZ0JBQWdCLENBQUM7UUFDM0UsT0FBTyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUNELHdFQUF3RTtJQUN4RSxPQUFPLENBQUMsVUFBVTtBQUNwQixDQUFDO0FBWEQsc0NBV0M7QUFPRCxTQUFnQixxQkFBcUIsQ0FBQyxXQUFtQztJQUN2RSxJQUFJLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDdkIsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBRXZCLElBQUksV0FBVyxDQUFDLHlCQUF5QixJQUFJLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2RSxhQUFhLElBQUksb0ZBQW9GLENBQUM7UUFDdEcsVUFBVSxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDakMsQ0FBQztBQUNILENBQUM7QUFaRCxzREFZQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qXG4gKiAgVGhlIGZ1bmN0aW9ucyBmb3VuZCBoZXJlIGluIHRoZSBjb3JlIGxpYnJhcnkgYXJlIGZvciBpbnRlcm5hbCB1c2UgYW5kIGNhbiBiZSBjaGFuZ2VkXG4gKiAgb3IgcmVtb3ZlZCBvdXRzaWRlIG9mIGEgbWFqb3IgcmVsZWFzZS4gV2UgcmVjb21tZW5kIGFnYWluc3QgY2FsbGluZyB0aGVtIGRpcmVjdGx5IGZyb20gY2xpZW50IGNvZGUuXG4gKi9cblxuLy8gTm90ZTogVG8gZW5zdXJlIENES3YyIGNvbXBhdGliaWxpdHksIGtlZXAgdGhlIGltcG9ydCBzdGF0ZW1lbnQgZm9yIENvbnN0cnVjdCBzZXBhcmF0ZVxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgKiBhcyBldmVudHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRFdmVudEJ1c1Byb3BzIHtcbiAgLyoqXG4gICAqIEV4aXN0aW5nIGluc3RhbmNlIG9mIFNOUyBUb3BpYyBvYmplY3QsIHByb3ZpZGluZyBib3RoIHRoaXMgYW5kIGB0b3BpY1Byb3BzYCB3aWxsIGNhdXNlIGFuIGVycm9yLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmUuXG4gICAqL1xuICByZWFkb25seSBleGlzdGluZ0V2ZW50QnVzSW50ZXJmYWNlPzogZXZlbnRzLklFdmVudEJ1cztcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHVzZXIgcHJvdmlkZWQgcHJvcHMgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgcHJvcHMgZm9yIHRoZSBTTlMgdG9waWMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wcyBhcmUgdXNlZC5cbiAgICovXG4gIHJlYWRvbmx5IGV2ZW50QnVzUHJvcHM/OiBldmVudHMuRXZlbnRCdXNQcm9wcztcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRFdmVudEJ1cyhzY29wZTogQ29uc3RydWN0LCBwcm9wczogQnVpbGRFdmVudEJ1c1Byb3BzKTogZXZlbnRzLklFdmVudEJ1cyB8IHVuZGVmaW5lZCB7XG4gIC8vIENoZWNrIHdoZXRoZXIgZXhpc3RpbmcgRXZlbnRCdXMgaXMgcHJvdmlkZWRcbiAgaWYgKHByb3BzLmV4aXN0aW5nRXZlbnRCdXNJbnRlcmZhY2UpIHtcbiAgICByZXR1cm4gcHJvcHMuZXhpc3RpbmdFdmVudEJ1c0ludGVyZmFjZTtcbiAgfSBlbHNlIGlmIChwcm9wcy5ldmVudEJ1c1Byb3BzKSB7XG4gICAgLy8gZXZlbnRCdXNQcm9wcyBpcyBwcm92aWRlZCwgY3JlYXRlIGEgbmV3IEV2ZW50QnVzXG4gICAgY29uc3QgX2V2ZW50QnVzTmFtZSA9IHByb3BzLmV2ZW50QnVzUHJvcHMuZXZlbnRCdXNOYW1lIHx8ICdDdXN0b21FdmVudEJ1cyc7XG4gICAgcmV0dXJuIG5ldyBldmVudHMuRXZlbnRCdXMoc2NvcGUsIF9ldmVudEJ1c05hbWUsIHByb3BzLmV2ZW50QnVzUHJvcHMpO1xuICB9XG4gIC8vIEVTTGludCByZXF1aXJlcyB0aGlzIHJldHVybiBzdGF0ZW1lbnQsIHNvIGRpc2FibGluZyBTb25hclF1YmUgd2FybmluZ1xuICByZXR1cm47IC8vIE5PU09OQVJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdmVudEJyaWRnZVByb3BzIHtcbiAgcmVhZG9ubHkgZXhpc3RpbmdFdmVudEJ1c0ludGVyZmFjZTogZXZlbnRzLklFdmVudEJ1cyxcbiAgcmVhZG9ubHkgZXZlbnRCdXNQcm9wczogZXZlbnRzLkV2ZW50QnVzUHJvcHNcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENoZWNrRXZlbnRCcmlkZ2VQcm9wcyhwcm9wc09iamVjdDogRXZlbnRCcmlkZ2VQcm9wcyB8IGFueSkge1xuICBsZXQgZXJyb3JNZXNzYWdlcyA9ICcnO1xuICBsZXQgZXJyb3JGb3VuZCA9IGZhbHNlO1xuXG4gIGlmIChwcm9wc09iamVjdC5leGlzdGluZ0V2ZW50QnVzSW50ZXJmYWNlICYmIHByb3BzT2JqZWN0LmV2ZW50QnVzUHJvcHMpIHtcbiAgICBlcnJvck1lc3NhZ2VzICs9ICdFcnJvciAtIEVpdGhlciBwcm92aWRlIGV4aXN0aW5nRXZlbnRCdXNJbnRlcmZhY2Ugb3IgZXZlbnRCdXNQcm9wcywgYnV0IG5vdCBib3RoLlxcbic7XG4gICAgZXJyb3JGb3VuZCA9IHRydWU7XG4gIH1cblxuICBpZiAoZXJyb3JGb3VuZCkge1xuICAgIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2VzKTtcbiAgfVxufVxuIl19
|
package/lib/fargate-helper.js
CHANGED
|
@@ -61,7 +61,7 @@ function CreateFargateService(scope, id, props) {
|
|
|
61
61
|
// We add a description here so that this SG can be easily identified in tests
|
|
62
62
|
description: 'Construct created security group'
|
|
63
63
|
});
|
|
64
|
-
defaultFargateServiceProps = __1.overrideProps(defaults.DefaultFargateServiceProps(), { securityGroups: [serviceSecurityGroup] });
|
|
64
|
+
defaultFargateServiceProps = (0, __1.overrideProps)(defaults.DefaultFargateServiceProps(), { securityGroups: [serviceSecurityGroup] });
|
|
65
65
|
defaults.addCfnSuppressRules(serviceSecurityGroup, [
|
|
66
66
|
{
|
|
67
67
|
id: 'W5',
|
|
@@ -191,4 +191,4 @@ function getServiceVpcSecurityGroupIds(service) {
|
|
|
191
191
|
return securityGroupIds;
|
|
192
192
|
}
|
|
193
193
|
exports.getServiceVpcSecurityGroupIds = getServiceVpcSecurityGroupIds;
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFyZ2F0ZS1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJmYXJnYXRlLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7OztBQVFILDJDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MsMkNBQTJDO0FBQzNDLCtCQUErQjtBQUMvQiwwQkFBbUM7QUFpQm5DOztHQUVHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQ2xDLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUFnQztJQUVoQyxRQUFRLENBQUMscUJBQXFCLENBQzVCLEtBQUssRUFDTCxLQUFLLENBQUMsWUFBWSxFQUNsQixRQUFRLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUN0QyxDQUFDO0lBQ0YsUUFBUSxDQUFDLHFCQUFxQixDQUM1QixLQUFLLEVBQ0wsS0FBSyxDQUFDLFlBQVksRUFDbEIsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FDdEMsQ0FBQztJQUNGLFFBQVEsQ0FBQyxxQkFBcUIsQ0FDNUIsS0FBSyxFQUNMLEtBQUssQ0FBQyxZQUFZLEVBQ2xCLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQ2pDLENBQUM7SUFFRixNQUFNLGlDQUFpQyxHQUFRLEVBQUUsQ0FBQztJQUNsRCxNQUFNLHNDQUFzQyxHQUFRLEVBQUUsQ0FBQztJQUV2RCxJQUFJLENBQUMsS0FBSyxDQUFDLHlCQUF5QixFQUFFLE9BQU8sRUFBRTtRQUM3Qyw0QkFBNEI7UUFDNUIsc0NBQXNDLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FDNUQsS0FBSyxFQUNMLEdBQUcsRUFBRSxVQUFVLEVBQ2YsS0FBSyxDQUFDLFlBQVksRUFDbEIsS0FBSyxDQUFDLGtCQUFrQixDQUN6QixDQUFDO0tBQ0g7SUFFRCw2QkFBNkI7SUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsRUFBRSxLQUFLLEVBQUU7UUFDaEQsaUNBQWlDLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FD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KiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLypcbiAqICBUaGUgZnVuY3Rpb25zIGZvdW5kIGhlcmUgaW4gdGhlIGNvcmUgbGlicmFyeSBhcmUgZm9yIGludGVybmFsIHVzZSBhbmQgY2FuIGJlIGNoYW5nZWRcbiAqICBvciByZW1vdmVkIG91dHNpZGUgb2YgYSBtYWpvciByZWxlYXNlLiBXZSByZWNvbW1lbmQgYWdhaW5zdCBjYWxsaW5nIHRoZW0gZGlyZWN0bHkgZnJvbSBjbGllbnQgY29kZS5cbiAqL1xuXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQgKiBhcyBlY3MgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3NcIjtcbmltcG9ydCAqIGFzIGVjciBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjclwiO1xuaW1wb3J0ICogYXMgZGVmYXVsdHMgZnJvbSBcIi4uXCI7XG5pbXBvcnQgeyBvdmVycmlkZVByb3BzIH0gZnJvbSBcIi4uXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlRmFyZ2F0ZVNlcnZpY2VSZXNwb25zZSB7XG4gIHJlYWRvbmx5IHNlcnZpY2U6IGVjcy5GYXJnYXRlU2VydmljZSxcbiAgcmVhZG9ubHkgY29udGFpbmVyRGVmaW5pdGlvbjogZWNzLkNvbnRhaW5lckRlZmluaXRpb25cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVGYXJnYXRlU2VydmljZVByb3BzIHtcbiAgcmVhZG9ubHkgY29uc3RydWN0VnBjOiBlYzIuSVZwYyxcbiAgcmVhZG9ubHkgY2xpZW50Q2x1c3RlclByb3BzPzogZWNzLkNsdXN0ZXJQcm9wcyxcbiAgcmVhZG9ubHkgZWNyUmVwb3NpdG9yeUFybj86IHN0cmluZyxcbiAgcmVhZG9ubHkgZWNySW1hZ2VWZXJzaW9uPzogc3RyaW5nLFxuICByZWFkb25seSBjbGllbnRGYXJnYXRlVGFza0RlZmluaXRpb25Qcm9wcz86IGVjcy5GYXJnYXRlVGFza0RlZmluaXRpb25Qcm9wcyB8IGFueSxcbiAgcmVhZG9ubHkgY2xpZW50Q29udGFpbmVyRGVmaW5pdGlvblByb3BzPzogZWNzLkNvbnRhaW5lckRlZmluaXRpb25Qcm9wcyB8IGFueSxcbiAgcmVhZG9ubHkgY2xpZW50RmFyZ2F0ZVNlcnZpY2VQcm9wcz86IGVjcy5GYXJnYXRlU2VydmljZVByb3BzIHwgYW55XG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENyZWF0ZUZhcmdhdGVTZXJ2aWNlKFxuICBzY29wZTogQ29uc3RydWN0LFxuICBpZDogc3RyaW5nLFxuICBwcm9wczogQ3JlYXRlRmFyZ2F0ZVNlcnZpY2VQcm9wc1xuKTogQ3JlYXRlRmFyZ2F0ZVNlcnZpY2VSZXNwb25zZSB7XG4gIGRlZmF1bHRzLkFkZEF3c1NlcnZpY2VFbmRwb2ludChcbiAgICBzY29wZSxcbiAgICBwcm9wcy5jb25zdHJ1Y3RWcGMsXG4gICAgZGVmYXVsdHMuU2VydmljZUVuZHBvaW50VHlwZXMuRUNSX0FQSVxuICApO1xuICBkZWZhdWx0cy5BZGRBd3NTZXJ2aWNlRW5kcG9pbnQoXG4gICAgc2NvcGUsXG4gICAgcHJvcHMuY29uc3RydWN0VnBjLFxuICAgIGRlZmF1bHRzLlNlcnZpY2VFbmRwb2ludFR5cGVzLkVDUl9ES1JcbiAgKTtcbiAgZGVmYXVsdHMuQWRkQXdzU2VydmljZUVuZHBvaW50KFxuICAgIHNjb3BlLFxuICAgIHByb3BzLmNvbnN0cnVjdFZwYyxcbiAgICBkZWZhdWx0cy5TZXJ2aWNlRW5kcG9pbnRUeXBlcy5TM1xuICApO1xuXG4gIGNvbnN0IGNvbnN0cnVjdENvbnRhaW5lckRlZmluaXRpb25Qcm9wczogYW55ID0ge307XG4gIGNvbnN0IGNvbnN0cnVjdEZhcmdhdGVTZXJ2aWNlRGVmaW5pdGlvblByb3BzOiBhbnkgPSB7fTtcblxuICBpZiAoIXByb3BzLmNsaWVudEZhcmdhdGVTZXJ2aWNlUHJvcHM/LmNsdXN0ZXIpIHtcbiAgICAvLyBDb25zdHJ1Y3QgRmFyZ2F0ZSBTZXJ2aWNlXG4gICAgY29uc3RydWN0RmFyZ2F0ZVNlcnZpY2VEZWZpbml0aW9uUHJvcHMuY2x1c3RlciA9IENyZWF0ZUNsdXN0ZXIoXG4gICAgICBzY29wZSxcbiAgICAgIGAke2lkfS1jbHVzdGVyYCxcbiAgICAgIHByb3BzLmNvbnN0cnVjdFZwYyxcbiAgICAgIHByb3BzLmNsaWVudENsdXN0ZXJQcm9wc1xuICAgICk7XG4gIH1cblxuICAvLyBTZXQgdXAgdGhlIEZhcmdhdGUgc2VydmljZVxuICBpZiAoIXByb3BzLmNsaWVudENvbnRhaW5lckRlZmluaXRpb25Qcm9wcz8uaW1hZ2UpIHtcbiAgICBjb25zdHJ1Y3RDb250YWluZXJEZWZpbml0aW9uUHJvcHMuaW1hZ2UgPSBDcmVhdGVJbWFnZShcbiAgICAgIHNjb3BlLFxuICAgICAgaWQsXG4gICAgICBwcm9wcy5lY3JSZXBvc2l0b3J5QXJuLFxuICAgICAgcHJvcHMuZWNySW1hZ2VWZXJzaW9uXG4gICAgKTtcbiAgfVxuXG4gIC8vIENyZWF0ZSB0aGUgRmFyZ2F0ZSBTZXJ2aWNlXG4gIGxldCBuZXdDb250YWluZXJEZWZpbml0aW9uO1xuICBjb25zdCBjcmVhdGVUYXNrRGVmaW5pdGlvblJlc3BvbnNlID0gQ3JlYXRlVGFza0RlZmluaXRpb24oXG4gICAgc2NvcGUsXG4gICAgaWQsXG4gICAgcHJvcHMuY2xpZW50RmFyZ2F0ZVRhc2tEZWZpbml0aW9uUHJvcHMsXG4gICAgcHJvcHMuY2xpZW50Q29udGFpbmVyRGVmaW5pdGlvblByb3BzLFxuICAgIGNvbnN0cnVjdENvbnRhaW5lckRlZmluaXRpb25Qcm9wc1xuICApO1xuICBjb25zdHJ1Y3RGYXJnYXRlU2VydmljZURlZmluaXRpb25Qcm9wcy50YXNrRGVmaW5pdGlvbiA9IGNyZWF0ZVRhc2tEZWZpbml0aW9uUmVzcG9uc2UudGFza0RlZmluaXRpb247XG4gIG5ld0NvbnRhaW5lckRlZmluaXRpb24gPSBjcmVhdGVUYXNrRGVmaW5pdGlvblJlc3BvbnNlLmNvbnRhaW5lckRlZmluaXRpb247XG5cbiAgaWYgKCFwcm9wcy5jbGllbnRGYXJnYXRlU2VydmljZVByb3BzPy52cGNTdWJuZXRzKSB7XG4gICAgaWYgKHByb3BzLmNvbnN0cnVjdFZwYy5pc29sYXRlZFN1Ym5ldHMubGVuZ3RoKSB7XG4gICAgICBjb25zdHJ1Y3RGYXJnYXRlU2VydmljZURlZmluaXRpb25Qcm9wcy52cGNTdWJuZXRzID0ge1xuICAgICAgICBzdWJuZXRzOiBwcm9wcy5jb25zdHJ1Y3RWcGMuaXNvbGF0ZWRTdWJuZXRzLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3RydWN0RmFyZ2F0ZVNlcnZpY2VEZWZpbml0aW9uUHJvcHMudnBjU3VibmV0cyA9IHtcbiAgICAgICAgc3VibmV0czogcHJvcHMuY29uc3RydWN0VnBjLnByaXZhdGVTdWJuZXRzLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBsZXQgZGVmYXVsdEZhcmdhdGVTZXJ2aWNlUHJvcHM7XG5cbiAgaWYgKCFwcm9wcy5jbGllbnRGYXJnYXRlU2VydmljZVByb3BzPy5zZWN1cml0eUdyb3Vwcykge1xuICAgIGNvbnN0IHNlcnZpY2VTZWN1cml0eUdyb3VwID0gbmV3IGVjMi5TZWN1cml0eUdyb3VwKHNjb3BlLCBgJHtpZH0tc2dgLCB7XG4gICAgICBhbGxvd0FsbE91dGJvdW5kOiB0cnVlLFxuICAgICAgZGlzYWJsZUlubGluZVJ1bGVzOiBmYWxzZSxcbiAgICAgIHZwYzogcHJvcHMuY29uc3RydWN0VnBjLFxuICAgICAgLy8gV2UgYWRkIGEgZGVzY3JpcHRpb24gaGVyZSBzbyB0aGF0IHRoaXMgU0cgY2FuIGJlIGVhc2lseSBpZGVudGlmaWVkIGluIHRlc3RzXG4gICAgICBkZXNjcmlwdGlvbjogJ0NvbnN0cnVjdCBjcmVhdGVkIHNlY3VyaXR5IGdyb3VwJ1xuICAgIH0pO1xuICAgIGRlZmF1bHRGYXJnYXRlU2VydmljZVByb3BzID0gb3ZlcnJpZGVQcm9wcyhkZWZhdWx0cy5EZWZhdWx0RmFyZ2F0ZVNlcnZpY2VQcm9wcygpLCB7IHNlY3VyaXR5R3JvdXBzOiBbIHNlcnZpY2VTZWN1cml0eUdyb3VwIF19KTtcbiAgICBkZWZhdWx0cy5hZGRDZm5TdXBwcmVzc1J1bGVzKHNlcnZpY2VTZWN1cml0eUdyb3VwLCBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnVzUnLFxuICAgICAgICByZWFzb246ICdFZ3Jlc3Mgb2YgMC4wLjAuMC8wIGlzIGRlZmF1bHQgYW5kIGdlbmVyYWxseSBjb25zaWRlcmVkIE9LJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAnVzQwJyxcbiAgICAgICAgcmVhc29uOiAnRWdyZXNzIElQUHJvdG9jb2wgb2YgLTEgaXMgZGVmYXVsdCBhbmQgZ2VuZXJhbGx5IGNvbnNpZGVyZWQgT0snLFxuICAgICAgfVxuICAgIF0pO1xuICB9IGVsc2Uge1xuICAgIGRlZmF1bHRGYXJnYXRlU2VydmljZVByb3BzID0gZGVmYXVsdHMuRGVmYXVsdEZhcmdhdGVTZXJ2aWNlUHJvcHMoKTtcbiAgfVxuXG4gIGNvbnN0IGZhcmdhdGVTZXJ2aWNlUHJvcHMgPSBkZWZhdWx0cy5jb25zb2xpZGF0ZVByb3BzKFxuICAgIGRlZmF1bHRGYXJnYXRlU2VydmljZVByb3BzLFxuICAgIHByb3BzLmNsaWVudEZhcmdhdGVTZXJ2aWNlUHJvcHMsXG4gICAgY29uc3RydWN0RmFyZ2F0ZVNlcnZpY2VEZWZpbml0aW9uUHJvcHNcbiAgKTtcblxuICBjb25zdCBuZXdTZXJ2aWNlID0gbmV3IGVjcy5GYXJnYXRlU2VydmljZShcbiAgICBzY29wZSxcbiAgICBgJHtpZH0tc2VydmljZWAsXG4gICAgZmFyZ2F0ZVNlcnZpY2VQcm9wcyxcbiAgKTtcblxuICByZXR1cm4geyBzZXJ2aWNlOiBuZXdTZXJ2aWNlLCBjb250YWluZXJEZWZpbml0aW9uOiBuZXdDb250YWluZXJEZWZpbml0aW9uIH07XG59XG5cbmZ1bmN0aW9uIENyZWF0ZUNsdXN0ZXIoXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXG4gIGlkOiBzdHJpbmcsXG4gIGNvbnN0cnVjdFZwYzogZWMyLklWcGMsXG4gIGNsaWVudENsdXN0ZXJQcm9wcz86IGVjcy5DbHVzdGVyUHJvcHNcbik6IGVjcy5JQ2x1c3RlciB7XG4gIGNvbnN0IGNvbnN0cnVjdFByb3BzID0geyB2cGM6IGNvbnN0cnVjdFZwYyB9O1xuICByZXR1cm4gbmV3IGVjcy5DbHVzdGVyKFxuICAgIHNjb3BlLFxuICAgIGlkLFxuICAgIGRlZmF1bHRzLmNvbnNvbGlkYXRlUHJvcHMoXG4gICAgICBkZWZhdWx0cy5EZWZhdWx0Q2x1c3RlclByb3BzKCksXG4gICAgICBjbGllbnRDbHVzdGVyUHJvcHMsXG4gICAgICBjb25zdHJ1Y3RQcm9wc1xuICAgIClcbiAgKTtcbn1cblxuZnVuY3Rpb24gQ3JlYXRlSW1hZ2UoXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXG4gIGlkOiBzdHJpbmcsXG4gIHJlcG9zaXRvcnlBcm4/OiBzdHJpbmcsXG4gIGltYWdlVmVyc2lvbj86IHN0cmluZ1xuKTogZWNzLkNvbnRhaW5lckltYWdlIHtcbiAgaWYgKHJlcG9zaXRvcnlBcm4pIHtcbiAgICByZXR1cm4gZWNzLkNvbnRhaW5lckltYWdlLmZyb21FY3JSZXBvc2l0b3J5KFxuICAgICAgZWNyLlJlcG9zaXRvcnkuZnJvbVJlcG9zaXRvcnlBcm4oc2NvcGUsIGAke2lkfS1jb250YWluZXJgLCByZXBvc2l0b3J5QXJuKSxcbiAgICAgIGltYWdlVmVyc2lvbiB8fCBcImxhdGVzdFwiXG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJOb3QgSW1wbGVtZW50ZWQgLSBpbWFnZSB3aXRob3V0IHJlcG8gbmFtZSBhbmQgdmVyc2lvblwiKTtcbiAgfVxufVxuXG5pbnRlcmZhY2UgQ3JlYXRlVGFza0RlZmluaXRpb25SZXNwb25zZSB7XG4gIHRhc2tEZWZpbml0aW9uOiBlY3MuRmFyZ2F0ZVRhc2tEZWZpbml0aW9uXG4gIGNvbnRhaW5lckRlZmluaXRpb246IGVjcy5Db250YWluZXJEZWZpbml0aW9uXG59XG5cbmZ1bmN0aW9uIENyZWF0ZVRhc2tEZWZpbml0aW9uKFxuICBzY29wZTogQ29uc3RydWN0LFxuICBpZDogc3RyaW5nLFxuICBjbGllbnRGYXJnYXRlVGFza0RlZmluaXRpb25Qcm9wcz86IGVjcy5GYXJnYXRlVGFza0RlZmluaXRpb25Qcm9wcyxcbiAgY2xpZW50Q29udGFpbmVyRGVmaW5pdGlvblByb3BzPzogZWNzLkNvbnRhaW5lckRlZmluaXRpb25Qcm9wcyxcbiAgY29uc3RydWN0Q29udGFpbmVyRGVmaW5pdGlvblByb3BzPzogZWNzLkNvbnRhaW5lckRlZmluaXRpb25Qcm9wc1xuKTogQ3JlYXRlVGFza0RlZmluaXRpb25SZXNwb25zZSB7XG4gIGNvbnN0IHRhc2tEZWZpbml0aW9uUHJvcHMgPSBkZWZhdWx0cy5jb25zb2xpZGF0ZVByb3BzKFxuICAgIGRlZmF1bHRzLkRlZmF1bHRGYXJnYXRlVGFza0RlZmluaXRpb25Qcm9wcygpLFxuICAgIGNsaWVudEZhcmdhdGVUYXNrRGVmaW5pdGlvblByb3BzXG4gICk7XG4gIGNvbnN0IHRhc2tEZWZpbml0aW9uID0gbmV3IGVjcy5GYXJnYXRlVGFza0RlZmluaXRpb24oXG4gICAgc2NvcGUsXG4gICAgYCR7aWR9LXRhc2tkZWZgLFxuICAgIHRhc2tEZWZpbml0aW9uUHJvcHNcbiAgKTtcblxuICBjb25zdCBkZWZhdWx0Q29udGFpbmVyRGVmaW5pdGlvblByb3BzID0gZGVmYXVsdHMuY29uc29saWRhdGVQcm9wcyhkZWZhdWx0cy5EZWZhdWx0Q29udGFpbmVyRGVmaW5pdGlvblByb3BzKCksIHt9LCB7XG4gICAgY29udGFpbmVyTmFtZTogYCR7aWR9LWNvbnRhaW5lcmAsXG4gIH0pO1xuICBjb25zdCBjb250YWluZXJEZWZpbml0aW9uUHJvcHMgPSBkZWZhdWx0cy5jb25zb2xpZGF0ZVByb3BzKFxuICAgIGRlZmF1bHRDb250YWluZXJEZWZpbml0aW9uUHJvcHMsXG4gICAgY2xpZW50Q29udGFpbmVyRGVmaW5pdGlvblByb3BzLFxuICAgIGNvbnN0cnVjdENvbnRhaW5lckRlZmluaXRpb25Qcm9wcyxcbiAgKTtcbiAgY29uc3QgY29udGFpbmVyRGVmaW5pdGlvbiA9IHRhc2tEZWZpbml0aW9uLmFkZENvbnRhaW5lcihgJHtpZH0tY29udGFpbmVyYCwgY29udGFpbmVyRGVmaW5pdGlvblByb3BzKTtcbiAgcmV0dXJuIHsgdGFza0RlZmluaXRpb24sIGNvbnRhaW5lckRlZmluaXRpb24gfTtcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQ2hlY2tGYXJnYXRlUHJvcHMocHJvcHM6IGFueSkge1xuICBsZXQgZXJyb3JNZXNzYWdlcyA9IFwiXCI7XG4gIGxldCBlcnJvckZvdW5kID0gZmFsc2U7XG5cbiAgaWYgKENoZWNrRm9yQ29uZmxpY3RpbmdTZXJ2aWNlUHJvcHMocHJvcHMpKSB7XG4gICAgZXJyb3JGb3VuZCA9IHRydWU7XG4gICAgZXJyb3JNZXNzYWdlcyArPVxuICAgICAgXCJJZiB5b3UgcHJvdmlkZSBhbiBleGlzdGluZ0ZhcmdhdGVTZXJ2aWNlT2JqZWN0LCB5b3UgY2Fubm90IHByb3ZpZGUgYW55IHByb3BzIGRlZmluaW5nIGEgbmV3IHNlcnZpY2VcXG5cIjtcbiAgfVxuXG4gIGlmIChcbiAgICBwcm9wcy5leGlzdGluZ0ltYWdlT2JqZWN0ICYmXG4gICAgKHByb3BzLmVjckltYWdlVmVyc2lvbiB8fCBwcm9wcy5lY3JSZXBvc2l0b3J5QXJuKVxuICApIHtcbiAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgICBlcnJvck1lc3NhZ2VzICs9XG4gICAgICBcIklmIHlvdSBwcm92aWRlIGFuIGV4aXN0aW5nSW1hZ2VPYmplY3QgdGhlbiB5b3UgY2Fubm90IHByb3ZpZGUgYW4gZWNyUmVwb3NpdG9yeUFybiBub3IgZWNySW1hZ2VWZXJzaW9uXFxuXCI7XG4gIH1cblxuICAvLyBDb25maXJtIG5vIG5ldHdvcmsgaW5mb3JtYXRpb24gaW4gVGFyZ2V0IEdyb3VwIFByb3BzXG4gIGlmIChwcm9wcy50YXJnZXRHcm91cFByb3BzPy52cGMpIHtcbiAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgICBlcnJvck1lc3NhZ2VzICs9XG4gICAgICBcIlByb3ZpZGUgYWxsIFZQQyBpbmZvIGF0IENvbnN0cnVjdCBsZXZlbCwgbm90IHdpdGhpbiB0YXJnZXRHcm91cFByb3BzXFxuXCI7XG4gIH1cblxuICBpZiAocHJvcHMuZmFyZ2F0ZVNlcnZpY2VQcm9wcz8udGFza0RlZmluaXRpb24pIHtcbiAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgICBlcnJvck1lc3NhZ2VzICs9XG4gICAgICBcIlRoZSBjb25zdHJ1Y3QgY2Fubm90IGFjY2VwdCBhbiBleGlzdGluZyB0YXNrIGRlZmluaXRpb24gaW4gZmFyZ2F0ZVNlcnZpY2VQcm9wc1xcblwiO1xuICB9XG5cbiAgaWYgKHByb3BzLmZhcmdhdGVTZXJ2aWNlUHJvcHM/LmNsdXN0ZXIgJiYgcHJvcHMuY2x1c3RlclByb3BzKSB7XG4gICAgZXJyb3JGb3VuZCA9IHRydWU7XG4gICAgZXJyb3JNZXNzYWdlcyArPVxuICAgICAgXCJJZiB5b3UgcHJvdmlkZSBhIGNsdXN0ZXIgaW4gZmFyZ2F0ZVNlcnZpY2VQcm9wcyB0aGVuIHlvdSBjYW5ub3QgcHJvdmlkZSBjbHVzdGVyUHJvcHNcXG5cIjtcbiAgfVxuXG4gIGlmIChDaGVja0ZvckludmFsaWRWcGNzKHByb3BzKSkge1xuICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICAgIGVycm9yTWVzc2FnZXMgKz1cbiAgICAgIFwiUHJvdmlkZSBhbGwgVlBDIGluZm8gYXQgQ29uc3RydWN0IGxldmVsLCBub3Qgd2l0aGluIGNsdXN0ZXJQcm9wcyBub3IgdGFyZ2V0R3JvdXBQcm9wc1xcblwiO1xuICB9XG5cbiAgaWYgKFxuICAgIChwcm9wcy5leGlzdGluZ0ZhcmdhdGVTZXJ2aWNlT2JqZWN0IHx8XG4gICAgICBwcm9wcy5leGlzdGluZ0NvbnRhaW5lckRlZmluaXRpb25PYmplY3QpICYmXG4gICAgKCFwcm9wcy5leGlzdGluZ0ZhcmdhdGVTZXJ2aWNlT2JqZWN0IHx8XG4gICAgICAhcHJvcHMuZXhpc3RpbmdDb250YWluZXJEZWZpbml0aW9uT2JqZWN0IHx8XG4gICAgICAhcHJvcHMuZXhpc3RpbmdWcGMpXG4gICkge1xuICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICAgIGVycm9yTWVzc2FnZXMgKz1cbiAgICAgIFwiSWYgYW4gZXhpc3RpbmcgU2VydmljZSBpcyBpbmRpY2F0ZWQgYnkgc3VwcGx5aW5nIGVpdGhlciBleGlzdGluZ0ZhcmdhdGVTZXJ2aWNlT2JqZWN0IG9yIGV4aXN0aW5nQ29udGFpbmVyRGVmaW5pdGlvbk9iamVjdCwgdGhlbiBleGlzdGluZ0ZhcmdhdGVTZXJ2aWNlT2JqZWN0LCBleGlzdGluZ0NvbnRhaW5lckRlZmluaXRpb25PYmplY3QsIGFuZCBleGlzdGluZ1ZwYyBtdXN0IGFsbCBiZSBwcm92aWRlZFxcblwiO1xuICB9XG5cbiAgaWYgKGVycm9yRm91bmQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlcyk7XG4gIH1cbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQ2hlY2tGb3JDb25mbGljdGluZ1NlcnZpY2VQcm9wcyhwcm9wczogYW55KTogYm9vbGVhbiB7XG4gIGlmIChwcm9wcy5leGlzdGluZ0ZhcmdhdGVTZXJ2aWNlT2JqZWN0ICYmXG4gICAgKHByb3BzLmV4aXN0aW5nSW1hZ2VPYmplY3QgfHxcbiAgICAgIHByb3BzLmVjckltYWdlVmVyc2lvbiB8fFxuICAgICAgcHJvcHMuY29udGFpbmVyRGVmaW5pdGlvblByb3BzIHx8XG4gICAgICBwcm9wcy5mYXJnYXRlVGFza0RlZmluaXRpb25Qcm9wcyB8fFxuICAgICAgcHJvcHMuZWNyUmVwb3NpdG9yeUFybiB8fFxuICAgICAgcHJvcHMuZmFyZ2F0ZVNlcnZpY2VQcm9wcyB8fFxuICAgICAgcHJvcHMuY2x1c3RlclByb3BzKVxuICApIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENoZWNrRm9ySW52YWxpZFZwY3MocHJvcHM6IGFueSk6IGJvb2xlYW4ge1xuICBpZiAocHJvcHMuY2x1c3RlclByb3BzPy52cGMgfHwgcHJvcHMudGFyZ2V0R3JvdXBQcm9wcz8udnBjKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZXJ2aWNlVnBjU2VjdXJpdHlHcm91cElkcyhzZXJ2aWNlOiBlY3MuRmFyZ2F0ZVNlcnZpY2UpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IHNlY3VyaXR5R3JvdXBJZHM6IHN0cmluZ1tdID0gW107XG5cbiAgc2VydmljZS5jb25uZWN0aW9ucy5zZWN1cml0eUdyb3Vwcy5mb3JFYWNoKGVsZW1lbnQgPT4gc2VjdXJpdHlHcm91cElkcy5wdXNoKGVsZW1lbnQuc2VjdXJpdHlHcm91cElkKSk7XG5cbiAgcmV0dXJuIHNlY3VyaXR5R3JvdXBJZHM7XG59XG4iXX0=
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFyZ2F0ZS1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJmYXJnYXRlLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7OztBQVFILDJDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MsMkNBQTJDO0FBQzNDLCtCQUErQjtBQUMvQiwwQkFBbUM7QUFpQm5DOztHQUVHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQ2xDLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUFnQztJQUVoQyxRQUFRLENBQUMscUJBQXFCLENBQzVCLEtBQUssRUFDTCxLQUFLLENBQUMsWUFBWSxFQUNsQixRQUFRLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUN0QyxDQUFDO0lBQ0YsUUFBUSxDQUFDLHFCQUFxQixDQUM1QixLQUFLLEVBQ0wsS0FBSyxDQUFDLFlBQVksRUFDbEIsUUFBUSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FDdEMsQ0FBQztJQUNGLFFBQVEsQ0FBQyxxQkFBcUIsQ0FDNUIsS0FBSyxFQUNMLEtBQUssQ0FBQyxZQUFZLEVBQ2xCLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQ2pDLENBQUM7SUFFRixNQUFNLGlDQUFpQyxHQUFRLEVBQUUsQ0FBQztJQUNsRCxNQUFNLHNDQUFzQyxHQUFRLEVBQUUsQ0FBQztJQUV2RCxJQUFJLENBQUMsS0FBSyxDQUFDLHlCQUF5QixFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzlDLDRCQUE0QjtRQUM1QixzQ0FBc0MsQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUM1RCxLQUFLLEVBQ0wsR0FBRyxFQUFFLFVBQVUsRUFDZixLQUFLLENBQUMsWUFBWSxFQUNsQixLQUFLLENBQUMsa0JBQWtCLENBQ3pCLENBQUM7SUFDSixDQUFDO0lBRUQsNkJBQTZCO0lBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsOEJBQThCLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDakQsaUNBQWlDLENBQUMsS0FB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LENBQUM7SUFFdEMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBRXRHLE9BQU8sZ0JBQWdCLENBQUM7QUFDMUIsQ0FBQztBQU5ELHNFQU1DIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLypcbiAqICBUaGUgZnVuY3Rpb25zIGZvdW5kIGhlcmUgaW4gdGhlIGNvcmUgbGlicmFyeSBhcmUgZm9yIGludGVybmFsIHVzZSBhbmQgY2FuIGJlIGNoYW5nZWRcbiAqICBvciByZW1vdmVkIG91dHNpZGUgb2YgYSBtYWpvciByZWxlYXNlLiBXZSByZWNvbW1lbmQgYWdhaW5zdCBjYWxsaW5nIHRoZW0gZGlyZWN0bHkgZnJvbSBjbGllbnQgY29kZS5cbiAqL1xuXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQgKiBhcyBlY3MgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3NcIjtcbmltcG9ydCAqIGFzIGVjciBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjclwiO1xuaW1wb3J0ICogYXMgZGVmYXVsdHMgZnJvbSBcIi4uXCI7XG5pbXBvcnQgeyBvdmVycmlkZVByb3BzIH0gZnJvbSBcIi4uXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlRmFyZ2F0ZVNlcnZpY2VSZXNwb25zZSB7XG4gIHJlYWRvbmx5IHNlcnZpY2U6IGVjcy5GYXJnYXRlU2VydmljZSxcbiAgcmVhZG9ubHkgY29udGFpbmVyRGVmaW5pdGlvbjogZWNzLkNvbnRhaW5lckRlZmluaXRpb25cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVGYXJnYXRlU2VydmljZVByb3BzIHtcbiAgcmVhZG9ubHkgY29uc3RydWN0VnBjOiBlYzIuSVZwYyxcbiAgcmVhZG9ubHkgY2xpZW50Q2x1c3RlclByb3BzPzogZWNzLkNsdXN0ZXJQcm9wcyxcbiAgcmVhZG9ubHkgZWNyUmVwb3NpdG9yeUFybj86IHN0cmluZyxcbiAgcmVhZG9ubHkgZWNySW1hZ2VWZXJzaW9uPzogc3RyaW5nLFxuICByZWFkb25seSBjbGllbnRGYXJnYXRlVGFza0RlZmluaXRpb25Qcm9wcz86IGVjcy5GYXJnYXRlVGFza0RlZmluaXRpb25Qcm9wcyB8IGFueSxcbiAgcmVhZG9ubHkgY2xpZW50Q29udGFpbmVyRGVmaW5pdGlvblByb3BzPzogZWNzLkNvbnRhaW5lckRlZmluaXRpb25Qcm9wcyB8IGFueSxcbiAgcmVhZG9ubHkgY2xpZW50RmFyZ2F0ZVNlcnZpY2VQcm9wcz86IGVjcy5GYXJnYXRlU2VydmljZVByb3BzIHwgYW55XG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENyZWF0ZUZhcmdhdGVTZXJ2aWNlKFxuICBzY29wZTogQ29uc3RydWN0LFxuICBpZDogc3RyaW5nLFxuICBwcm9wczogQ3JlYXRlRmFyZ2F0ZVNlcnZpY2VQcm9wc1xuKTogQ3JlYXRlRmFyZ2F0ZVNlcnZpY2VSZXNwb25zZSB7XG4gIGRlZmF1bHRzLkFkZEF3c1NlcnZpY2VFbmRwb2ludChcbiAgICBzY29wZSxcbiAgICBwcm9wcy5jb25zdHJ1Y3RWcGMsXG4gICAgZGVmYXVsdHMuU2VydmljZUVuZHBvaW50VHlwZXMuRUNSX0FQSVxuICApO1xuICBkZWZhdWx0cy5BZGRBd3NTZXJ2aWNlRW5kcG9pbnQoXG4gICAgc2NvcGUsXG4gICAgcHJvcHMuY29uc3RydWN0VnBjLFxuICAgIGRlZmF1bHRzLlNlcnZpY2VFbmRwb2ludFR5cGVzLkVDUl9ES1JcbiAgKTtcbiAgZGVmYXVsdHMuQWRkQXdzU2VydmljZUVuZHBvaW50KFxuICAgIHNjb3BlLFxuICAgIHByb3BzLmNvbnN0cnVjdFZwYyxcbiAgICBkZWZhdWx0cy5TZXJ2aWNlRW5kcG9pbnRUeXBlcy5TM1xuICApO1xuXG4gIGNvbnN0IGNvbnN0cnVjdENvbnRhaW5lckRlZmluaXRpb25Qcm9wczogYW55ID0ge307XG4gIGNvbnN0IGNvbnN0cnVjdEZhcmdhdGVTZXJ2aWNlRGVmaW5pdGlvblByb3BzOiBhbnkgPSB7fTtcblxuICBpZiAoIXByb3BzLmNsaWVudEZhcmdhdGVTZXJ2aWNlUHJvcHM/LmNsdXN0ZXIpIHtcbiAgICAvLyBDb25zdHJ1Y3QgRmFyZ2F0ZSBTZXJ2aWNlXG4gICAgY29uc3RydWN0RmFyZ2F0ZVNlcnZpY2VEZWZpbml0aW9uUHJvcHMuY2x1c3RlciA9IENyZWF0ZUNsdXN0ZXIoXG4gICAgICBzY29wZSxcbiAgICAgIGAke2lkfS1jbHVzdGVyYCxcbiAgICAgIHByb3BzLmNvbnN0cnVjdFZwYyxcbiAgICAgIHByb3BzLmNsaWVudENsdXN0ZXJQcm9wc1xuICAgICk7XG4gIH1cblxuICAvLyBTZXQgdXAgdGhlIEZhcmdhdGUgc2VydmljZVxuICBpZiAoIXByb3BzLmNsaWVudENvbnRhaW5lckRlZmluaXRpb25Qcm9wcz8uaW1hZ2UpIHtcbiAgICBjb25zdHJ1Y3RDb250YWluZXJEZWZpbml0aW9uUHJvcHMuaW1hZ2UgPSBDcmVhdGVJbWFnZShcbiAgICAgIHNjb3BlLFxuICAgICAgaWQsXG4gICAgICBwcm9wcy5lY3JSZXBvc2l0b3J5QXJuLFxuICAgICAgcHJvcHMuZWNySW1hZ2VWZXJzaW9uXG4gICAgKTtcbiAgfVxuXG4gIC8vIENyZWF0ZSB0aGUgRmFyZ2F0ZSBTZXJ2aWNlXG4gIGxldCBuZXdDb250YWluZXJEZWZpbml0aW9uO1xuICBjb25zdCBjcmVhdGVUYXNrRGVmaW5pdGlvblJlc3BvbnNlID0gQ3JlYXRlVGFza0RlZmluaXRpb24oXG4gICAgc2NvcGUsXG4gICAgaWQsXG4gICAgcHJvcHMuY2xpZW50RmFyZ2F0ZVRhc2tEZWZpbml0aW9uUHJvcHMsXG4gICAgcHJvcHMuY2xpZW50Q29udGFpbmVyRGVmaW5pdGlvblByb3BzLFxuICAgIGNvbnN0cnVjdENvbnRhaW5lckRlZmluaXRpb25Qcm9wc1xuICApO1xuICBjb25zdHJ1Y3RGYXJnYXRlU2VydmljZURlZmluaXRpb25Qcm9wcy50YXNrRGVmaW5pdGlvbiA9IGNyZWF0ZVRhc2tEZWZpbml0aW9uUmVzcG9uc2UudGFza0RlZmluaXRpb247XG4gIG5ld0NvbnRhaW5lckRlZmluaXRpb24gPSBjcmVhdGVUYXNrRGVmaW5pdGlvblJlc3BvbnNlLmNvbnRhaW5lckRlZmluaXRpb247XG5cbiAgaWYgKCFwcm9wcy5jbGllbnRGYXJnYXRlU2VydmljZVByb3BzPy52cGNTdWJuZXRzKSB7XG4gICAgaWYgKHByb3BzLmNvbnN0cnVjdFZwYy5pc29sYXRlZFN1Ym5ldHMubGVuZ3RoKSB7XG4gICAgICBjb25zdHJ1Y3RGYXJnYXRlU2VydmljZURlZmluaXRpb25Qcm9wcy52cGNTdWJuZXRzID0ge1xuICAgICAgICBzdWJuZXRzOiBwcm9wcy5jb25zdHJ1Y3RWcGMuaXNvbGF0ZWRTdWJuZXRzLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3RydWN0RmFyZ2F0ZVNlcnZpY2VEZWZpbml0aW9uUHJvcHMudnBjU3VibmV0cyA9IHtcbiAgICAgICAgc3VibmV0czogcHJvcHMuY29uc3RydWN0VnBjLnByaXZhdGVTdWJuZXRzLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBsZXQgZGVmYXVsdEZhcmdhdGVTZXJ2aWNlUHJvcHM7XG5cbiAgaWYgKCFwcm9wcy5jbGllbnRGYXJnYXRlU2VydmljZVByb3BzPy5zZWN1cml0eUdyb3Vwcykge1xuICAgIGNvbnN0IHNlcnZpY2VTZWN1cml0eUdyb3VwID0gbmV3IGVjMi5TZWN1cml0eUdyb3VwKHNjb3BlLCBgJHtpZH0tc2dgLCB7XG4gICAgICBhbGxvd0FsbE91dGJvdW5kOiB0cnVlLFxuICAgICAgZGlzYWJsZUlubGluZVJ1bGVzOiBmYWxzZSxcbiAgICAgIHZwYzogcHJvcHMuY29uc3RydWN0VnBjLFxuICAgICAgLy8gV2UgYWRkIGEgZGVzY3JpcHRpb24gaGVyZSBzbyB0aGF0IHRoaXMgU0cgY2FuIGJlIGVhc2lseSBpZGVudGlmaWVkIGluIHRlc3RzXG4gICAgICBkZXNjcmlwdGlvbjogJ0NvbnN0cnVjdCBjcmVhdGVkIHNlY3VyaXR5IGdyb3VwJ1xuICAgIH0pO1xuICAgIGRlZmF1bHRGYXJnYXRlU2VydmljZVByb3BzID0gb3ZlcnJpZGVQcm9wcyhkZWZhdWx0cy5EZWZhdWx0RmFyZ2F0ZVNlcnZpY2VQcm9wcygpLCB7IHNlY3VyaXR5R3JvdXBzOiBbIHNlcnZpY2VTZWN1cml0eUdyb3VwIF19KTtcbiAgICBkZWZhdWx0cy5hZGRDZm5TdXBwcmVzc1J1bGVzKHNlcnZpY2VTZWN1cml0eUdyb3VwLCBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnVzUnLFxuICAgICAgICByZWFzb246ICdFZ3Jlc3Mgb2YgMC4wLjAuMC8wIGlzIGRlZmF1bHQgYW5kIGdlbmVyYWxseSBjb25zaWRlcmVkIE9LJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAnVzQwJyxcbiAgICAgICAgcmVhc29uOiAnRWdyZXNzIElQUHJvdG9jb2wgb2YgLTEgaXMgZGVmYXVsdCBhbmQgZ2VuZXJhbGx5IGNvbnNpZGVyZWQgT0snLFxuICAgICAgfVxuICAgIF0pO1xuICB9IGVsc2Uge1xuICAgIGRlZmF1bHRGYXJnYXRlU2VydmljZVByb3BzID0gZGVmYXVsdHMuRGVmYXVsdEZhcmdhdGVTZXJ2aWNlUHJvcHMoKTtcbiAgfVxuXG4gIGNvbnN0IGZhcmdhdGVTZXJ2aWNlUHJvcHMgPSBkZWZhdWx0cy5jb25zb2xpZGF0ZVByb3BzKFxuICAgIGRlZmF1bHRGYXJnYXRlU2VydmljZVByb3BzLFxuICAgIHByb3BzLmNsaWVudEZhcmdhdGVTZXJ2aWNlUHJvcHMsXG4gICAgY29uc3RydWN0RmFyZ2F0ZVNlcnZpY2VEZWZpbml0aW9uUHJvcHNcbiAgKTtcblxuICBjb25zdCBuZXdTZXJ2aWNlID0gbmV3IGVjcy5GYXJnYXRlU2VydmljZShcbiAgICBzY29wZSxcbiAgICBgJHtpZH0tc2VydmljZWAsXG4gICAgZmFyZ2F0ZVNlcnZpY2VQcm9wcyxcbiAgKTtcblxuICByZXR1cm4geyBzZXJ2aWNlOiBuZXdTZXJ2aWNlLCBjb250YWluZXJEZWZpbml0aW9uOiBuZXdDb250YWluZXJEZWZpbml0aW9uIH07XG59XG5cbmZ1bmN0aW9uIENyZWF0ZUNsdXN0ZXIoXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXG4gIGlkOiBzdHJpbmcsXG4gIGNvbnN0cnVjdFZwYzogZWMyLklWcGMsXG4gIGNsaWVudENsdXN0ZXJQcm9wcz86IGVjcy5DbHVzdGVyUHJvcHNcbik6IGVjcy5JQ2x1c3RlciB7XG4gIGNvbnN0IGNvbnN0cnVjdFByb3BzID0geyB2cGM6IGNvbnN0cnVjdFZwYyB9O1xuICByZXR1cm4gbmV3IGVjcy5DbHVzdGVyKFxuICAgIHNjb3BlLFxuICAgIGlkLFxuICAgIGRlZmF1bHRzLmNvbnNvbGlkYXRlUHJvcHMoXG4gICAgICBkZWZhdWx0cy5EZWZhdWx0Q2x1c3RlclByb3BzKCksXG4gICAgICBjbGllbnRDbHVzdGVyUHJvcHMsXG4gICAgICBjb25zdHJ1Y3RQcm9wc1xuICAgIClcbiAgKTtcbn1cblxuZnVuY3Rpb24gQ3JlYXRlSW1hZ2UoXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXG4gIGlkOiBzdHJpbmcsXG4gIHJlcG9zaXRvcnlBcm4/OiBzdHJpbmcsXG4gIGltYWdlVmVyc2lvbj86IHN0cmluZ1xuKTogZWNzLkNvbnRhaW5lckltYWdlIHtcbiAgaWYgKHJlcG9zaXRvcnlBcm4pIHtcbiAgICByZXR1cm4gZWNzLkNvbnRhaW5lckltYWdlLmZyb21FY3JSZXBvc2l0b3J5KFxuICAgICAgZWNyLlJlcG9zaXRvcnkuZnJvbVJlcG9zaXRvcnlBcm4oc2NvcGUsIGAke2lkfS1jb250YWluZXJgLCByZXBvc2l0b3J5QXJuKSxcbiAgICAgIGltYWdlVmVyc2lvbiB8fCBcImxhdGVzdFwiXG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJOb3QgSW1wbGVtZW50ZWQgLSBpbWFnZSB3aXRob3V0IHJlcG8gbmFtZSBhbmQgdmVyc2lvblwiKTtcbiAgfVxufVxuXG5pbnRlcmZhY2UgQ3JlYXRlVGFza0RlZmluaXRpb25SZXNwb25zZSB7XG4gIHRhc2tEZWZpbml0aW9uOiBlY3MuRmFyZ2F0ZVRhc2tEZWZpbml0aW9uXG4gIGNvbnRhaW5lckRlZmluaXRpb246IGVjcy5Db250YWluZXJEZWZpbml0aW9uXG59XG5cbmZ1bmN0aW9uIENyZWF0ZVRhc2tEZWZpbml0aW9uKFxuICBzY29wZTogQ29uc3RydWN0LFxuICBpZDogc3RyaW5nLFxuICBjbGllbnRGYXJnYXRlVGFza0RlZmluaXRpb25Qcm9wcz86IGVjcy5GYXJnYXRlVGFza0RlZmluaXRpb25Qcm9wcyxcbiAgY2xpZW50Q29udGFpbmVyRGVmaW5pdGlvblByb3BzPzogZWNzLkNvbnRhaW5lckRlZmluaXRpb25Qcm9wcyxcbiAgY29uc3RydWN0Q29udGFpbmVyRGVmaW5pdGlvblByb3BzPzogZWNzLkNvbnRhaW5lckRlZmluaXRpb25Qcm9wc1xuKTogQ3JlYXRlVGFza0RlZmluaXRpb25SZXNwb25zZSB7XG4gIGNvbnN0IHRhc2tEZWZpbml0aW9uUHJvcHMgPSBkZWZhdWx0cy5jb25zb2xpZGF0ZVByb3BzKFxuICAgIGRlZmF1bHRzLkRlZmF1bHRGYXJnYXRlVGFza0RlZmluaXRpb25Qcm9wcygpLFxuICAgIGNsaWVudEZhcmdhdGVUYXNrRGVmaW5pdGlvblByb3BzXG4gICk7XG4gIGNvbnN0IHRhc2tEZWZpbml0aW9uID0gbmV3IGVjcy5GYXJnYXRlVGFza0RlZmluaXRpb24oXG4gICAgc2NvcGUsXG4gICAgYCR7aWR9LXRhc2tkZWZgLFxuICAgIHRhc2tEZWZpbml0aW9uUHJvcHNcbiAgKTtcblxuICBjb25zdCBkZWZhdWx0Q29udGFpbmVyRGVmaW5pdGlvblByb3BzID0gZGVmYXVsdHMuY29uc29saWRhdGVQcm9wcyhkZWZhdWx0cy5EZWZhdWx0Q29udGFpbmVyRGVmaW5pdGlvblByb3BzKCksIHt9LCB7XG4gICAgY29udGFpbmVyTmFtZTogYCR7aWR9LWNvbnRhaW5lcmAsXG4gIH0pO1xuICBjb25zdCBjb250YWluZXJEZWZpbml0aW9uUHJvcHMgPSBkZWZhdWx0cy5jb25zb2xpZGF0ZVByb3BzKFxuICAgIGRlZmF1bHRDb250YWluZXJEZWZpbml0aW9uUHJvcHMsXG4gICAgY2xpZW50Q29udGFpbmVyRGVmaW5pdGlvblByb3BzLFxuICAgIGNvbnN0cnVjdENvbnRhaW5lckRlZmluaXRpb25Qcm9wcyxcbiAgKTtcbiAgY29uc3QgY29udGFpbmVyRGVmaW5pdGlvbiA9IHRhc2tEZWZpbml0aW9uLmFkZENvbnRhaW5lcihgJHtpZH0tY29udGFpbmVyYCwgY29udGFpbmVyRGVmaW5pdGlvblByb3BzKTtcbiAgcmV0dXJuIHsgdGFza0RlZmluaXRpb24sIGNvbnRhaW5lckRlZmluaXRpb24gfTtcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQ2hlY2tGYXJnYXRlUHJvcHMocHJvcHM6IGFueSkge1xuICBsZXQgZXJyb3JNZXNzYWdlcyA9IFwiXCI7XG4gIGxldCBlcnJvckZvdW5kID0gZmFsc2U7XG5cbiAgaWYgKENoZWNrRm9yQ29uZmxpY3RpbmdTZXJ2aWNlUHJvcHMocHJvcHMpKSB7XG4gICAgZXJyb3JGb3VuZCA9IHRydWU7XG4gICAgZXJyb3JNZXNzYWdlcyArPVxuICAgICAgXCJJZiB5b3UgcHJvdmlkZSBhbiBleGlzdGluZ0ZhcmdhdGVTZXJ2aWNlT2JqZWN0LCB5b3UgY2Fubm90IHByb3ZpZGUgYW55IHByb3BzIGRlZmluaW5nIGEgbmV3IHNlcnZpY2VcXG5cIjtcbiAgfVxuXG4gIGlmIChcbiAgICBwcm9wcy5leGlzdGluZ0ltYWdlT2JqZWN0ICYmXG4gICAgKHByb3BzLmVjckltYWdlVmVyc2lvbiB8fCBwcm9wcy5lY3JSZXBvc2l0b3J5QXJuKVxuICApIHtcbiAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgICBlcnJvck1lc3NhZ2VzICs9XG4gICAgICBcIklmIHlvdSBwcm92aWRlIGFuIGV4aXN0aW5nSW1hZ2VPYmplY3QgdGhlbiB5b3UgY2Fubm90IHByb3ZpZGUgYW4gZWNyUmVwb3NpdG9yeUFybiBub3IgZWNySW1hZ2VWZXJzaW9uXFxuXCI7XG4gIH1cblxuICAvLyBDb25maXJtIG5vIG5ldHdvcmsgaW5mb3JtYXRpb24gaW4gVGFyZ2V0IEdyb3VwIFByb3BzXG4gIGlmIChwcm9wcy50YXJnZXRHcm91cFByb3BzPy52cGMpIHtcbiAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgICBlcnJvck1lc3NhZ2VzICs9XG4gICAgICBcIlByb3ZpZGUgYWxsIFZQQyBpbmZvIGF0IENvbnN0cnVjdCBsZXZlbCwgbm90IHdpdGhpbiB0YXJnZXRHcm91cFByb3BzXFxuXCI7XG4gIH1cblxuICBpZiAocHJvcHMuZmFyZ2F0ZVNlcnZpY2VQcm9wcz8udGFza0RlZmluaXRpb24pIHtcbiAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgICBlcnJvck1lc3NhZ2VzICs9XG4gICAgICBcIlRoZSBjb25zdHJ1Y3QgY2Fubm90IGFjY2VwdCBhbiBleGlzdGluZyB0YXNrIGRlZmluaXRpb24gaW4gZmFyZ2F0ZVNlcnZpY2VQcm9wc1xcblwiO1xuICB9XG5cbiAgaWYgKHByb3BzLmZhcmdhdGVTZXJ2aWNlUHJvcHM/LmNsdXN0ZXIgJiYgcHJvcHMuY2x1c3RlclByb3BzKSB7XG4gICAgZXJyb3JGb3VuZCA9IHRydWU7XG4gICAgZXJyb3JNZXNzYWdlcyArPVxuICAgICAgXCJJZiB5b3UgcHJvdmlkZSBhIGNsdXN0ZXIgaW4gZmFyZ2F0ZVNlcnZpY2VQcm9wcyB0aGVuIHlvdSBjYW5ub3QgcHJvdmlkZSBjbHVzdGVyUHJvcHNcXG5cIjtcbiAgfVxuXG4gIGlmIChDaGVja0ZvckludmFsaWRWcGNzKHByb3BzKSkge1xuICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICAgIGVycm9yTWVzc2FnZXMgKz1cbiAgICAgIFwiUHJvdmlkZSBhbGwgVlBDIGluZm8gYXQgQ29uc3RydWN0IGxldmVsLCBub3Qgd2l0aGluIGNsdXN0ZXJQcm9wcyBub3IgdGFyZ2V0R3JvdXBQcm9wc1xcblwiO1xuICB9XG5cbiAgaWYgKFxuICAgIChwcm9wcy5leGlzdGluZ0ZhcmdhdGVTZXJ2aWNlT2JqZWN0IHx8XG4gICAgICBwcm9wcy5leGlzdGluZ0NvbnRhaW5lckRlZmluaXRpb25PYmplY3QpICYmXG4gICAgKCFwcm9wcy5leGlzdGluZ0ZhcmdhdGVTZXJ2aWNlT2JqZWN0IHx8XG4gICAgICAhcHJvcHMuZXhpc3RpbmdDb250YWluZXJEZWZpbml0aW9uT2JqZWN0IHx8XG4gICAgICAhcHJvcHMuZXhpc3RpbmdWcGMpXG4gICkge1xuICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICAgIGVycm9yTWVzc2FnZXMgKz1cbiAgICAgIFwiSWYgYW4gZXhpc3RpbmcgU2VydmljZSBpcyBpbmRpY2F0ZWQgYnkgc3VwcGx5aW5nIGVpdGhlciBleGlzdGluZ0ZhcmdhdGVTZXJ2aWNlT2JqZWN0IG9yIGV4aXN0aW5nQ29udGFpbmVyRGVmaW5pdGlvbk9iamVjdCwgdGhlbiBleGlzdGluZ0ZhcmdhdGVTZXJ2aWNlT2JqZWN0LCBleGlzdGluZ0NvbnRhaW5lckRlZmluaXRpb25PYmplY3QsIGFuZCBleGlzdGluZ1ZwYyBtdXN0IGFsbCBiZSBwcm92aWRlZFxcblwiO1xuICB9XG5cbiAgaWYgKGVycm9yRm91bmQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlcyk7XG4gIH1cbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gQ2hlY2tGb3JDb25mbGljdGluZ1NlcnZpY2VQcm9wcyhwcm9wczogYW55KTogYm9vbGVhbiB7XG4gIGlmIChwcm9wcy5leGlzdGluZ0ZhcmdhdGVTZXJ2aWNlT2JqZWN0ICYmXG4gICAgKHByb3BzLmV4aXN0aW5nSW1hZ2VPYmplY3QgfHxcbiAgICAgIHByb3BzLmVjckltYWdlVmVyc2lvbiB8fFxuICAgICAgcHJvcHMuY29udGFpbmVyRGVmaW5pdGlvblByb3BzIHx8XG4gICAgICBwcm9wcy5mYXJnYXRlVGFza0RlZmluaXRpb25Qcm9wcyB8fFxuICAgICAgcHJvcHMuZWNyUmVwb3NpdG9yeUFybiB8fFxuICAgICAgcHJvcHMuZmFyZ2F0ZVNlcnZpY2VQcm9wcyB8fFxuICAgICAgcHJvcHMuY2x1c3RlclByb3BzKVxuICApIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENoZWNrRm9ySW52YWxpZFZwY3MocHJvcHM6IGFueSk6IGJvb2xlYW4ge1xuICBpZiAocHJvcHMuY2x1c3RlclByb3BzPy52cGMgfHwgcHJvcHMudGFyZ2V0R3JvdXBQcm9wcz8udnBjKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZXJ2aWNlVnBjU2VjdXJpdHlHcm91cElkcyhzZXJ2aWNlOiBlY3MuRmFyZ2F0ZVNlcnZpY2UpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IHNlY3VyaXR5R3JvdXBJZHM6IHN0cmluZ1tdID0gW107XG5cbiAgc2VydmljZS5jb25uZWN0aW9ucy5zZWN1cml0eUdyb3Vwcy5mb3JFYWNoKGVsZW1lbnQgPT4gc2VjdXJpdHlHcm91cElkcy5wdXNoKGVsZW1lbnQuc2VjdXJpdHlHcm91cElkKSk7XG5cbiAgcmV0dXJuIHNlY3VyaXR5R3JvdXBJZHM7XG59XG4iXX0=
|
package/lib/glue-job-defaults.js
CHANGED
|
@@ -30,12 +30,12 @@ function DefaultGlueJobProps(jobRole, userProvidedGlueJobProps, glueSecurityConf
|
|
|
30
30
|
securityConfiguration: glueSecurityConfigName,
|
|
31
31
|
defaultArguments,
|
|
32
32
|
maxCapacity,
|
|
33
|
-
numberOfWorkers: (!glueVersion || glueVersion === "2.0") ? 2 : undefined,
|
|
34
|
-
workerType: (!glueVersion || glueVersion === "2.0") ? 'G.1X' : undefined,
|
|
33
|
+
numberOfWorkers: (!glueVersion || glueVersion === "2.0") ? 2 : undefined, // defaulting to 2 workers,
|
|
34
|
+
workerType: (!glueVersion || glueVersion === "2.0") ? 'G.1X' : undefined, // defaulting to G.1X as it is preferred with glue version 2.0
|
|
35
35
|
// glue version though optional is required for streaming etl jobs otherwise it throws an error that 'command not found'
|
|
36
36
|
glueVersion: glueVersion ? glueVersion : '2.0'
|
|
37
37
|
};
|
|
38
38
|
return defaultGlueJobProps;
|
|
39
39
|
}
|
|
40
40
|
exports.DefaultGlueJobProps = DefaultGlueJobProps;
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x1ZS1qb2ItZGVmYXVsdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJnbHVlLWpvYi1kZWZhdWx0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7OztBQVdIOztHQUVHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQUMsT0FBYyxFQUFFLHdCQUEyQyxFQUM3RixzQkFBOEIsRUFBRSxnQkFBb0IsRUFBRSxZQUE2QjtJQUNuRixNQUFNLFdBQVcsR0FBdUIsd0JBQXdCLENBQUMsV0FBVyxDQUFDO0lBRTdFLHNDQUFzQztJQUN0QyxNQUFNLFdBQVcsR0FBRyxXQUFXLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVO1dBQzdFLHdCQUF3QixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUUvRCxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pCLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxjQUFjLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQztJQUM3RSxDQUFDO0lBRUQsTUFBTSxtQkFBbUIsR0FBZ0I7UUFDdkMsT0FBTyxFQUFFLHdCQUF3QixDQUFDLE9BQVE7UUFDMUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxPQUFPO1FBQ3JCLHFCQUFxQixFQUFFLHNCQUFzQjtRQUM3QyxnQkFBZ0I7UUFDaEIsV0FBVztRQUNYLGVBQWUsRUFBRSxDQUFDLENBQUMsV0FBVyxJQUFJLFdBQVcsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsMkJBQTJCO1FBQ3JHLFVBQVUsRUFBRSxDQUFDLENBQUMsV0FBVyxJQUFJLFdBQVcsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsOERBQThEO1FBQ3hJLHdIQUF3SDtRQUN4SCxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUs7S0FDL0MsQ0FBQztJQUVGLE9BQU8sbUJBQW1CLENBQUM7QUFDN0IsQ0FBQztBQXpCRCxrREF5QkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKlxuICogIFRoZSBmdW5jdGlvbnMgZm91bmQgaGVyZSBpbiB0aGUgY29yZSBsaWJyYXJ5IGFyZSBmb3IgaW50ZXJuYWwgdXNlIGFuZCBjYW4gYmUgY2hhbmdlZFxuICogIG9yIHJlbW92ZWQgb3V0c2lkZSBvZiBhIG1ham9yIHJlbGVhc2UuIFdlIHJlY29tbWVuZCBhZ2FpbnN0IGNhbGxpbmcgdGhlbSBkaXJlY3RseSBmcm9tIGNsaWVudCBjb2RlLlxuICovXG5cbmltcG9ydCB7IENmbkpvYlByb3BzIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWdsdWUnO1xuaW1wb3J0IHsgSVJvbGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIHMzYXNzZXRzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczMtYXNzZXRzXCI7XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIERlZmF1bHRHbHVlSm9iUHJvcHMoam9iUm9sZTogSVJvbGUsIHVzZXJQcm92aWRlZEdsdWVKb2JQcm9wczogQ2ZuSm9iUHJvcHMgfCBhbnksXG4gIGdsdWVTZWN1cml0eUNvbmZpZ05hbWU6IHN0cmluZywgZGVmYXVsdEFyZ3VtZW50czoge30sIGV0bENvZGVBc3NldD86IHMzYXNzZXRzLkFzc2V0KTogQ2ZuSm9iUHJvcHMge1xuICBjb25zdCBnbHVlVmVyc2lvbjogc3RyaW5nIHwgdW5kZWZpbmVkID0gdXNlclByb3ZpZGVkR2x1ZUpvYlByb3BzLmdsdWVWZXJzaW9uO1xuXG4gIC8vIHNldHRpbmcgZGVmYXVsdCB0byAyIHRvIHJlZHVjZSBjb3N0XG4gIGNvbnN0IG1heENhcGFjaXR5ID0gZ2x1ZVZlcnNpb24gPT09IFwiMS4wXCIgJiYgISh1c2VyUHJvdmlkZWRHbHVlSm9iUHJvcHMud29ya2VyVHlwZVxuICAgIHx8IHVzZXJQcm92aWRlZEdsdWVKb2JQcm9wcy5udW1iZXJPZldvcmtlcnMpID8gMiA6IHVuZGVmaW5lZDtcblxuICBpZiAoZXRsQ29kZUFzc2V0KSB7XG4gICAgdXNlclByb3ZpZGVkR2x1ZUpvYlByb3BzLmNvbW1hbmQuc2NyaXB0TG9jYXRpb24gPSBldGxDb2RlQXNzZXQuczNPYmplY3RVcmw7XG4gIH1cblxuICBjb25zdCBkZWZhdWx0R2x1ZUpvYlByb3BzOiBDZm5Kb2JQcm9wcyA9IHtcbiAgICBjb21tYW5kOiB1c2VyUHJvdmlkZWRHbHVlSm9iUHJvcHMuY29tbWFuZCEsXG4gICAgcm9sZTogam9iUm9sZS5yb2xlQXJuLFxuICAgIHNlY3VyaXR5Q29uZmlndXJhdGlvbjogZ2x1ZVNlY3VyaXR5Q29uZmlnTmFtZSxcbiAgICBkZWZhdWx0QXJndW1lbnRzLFxuICAgIG1heENhcGFjaXR5LFxuICAgIG51bWJlck9mV29ya2VyczogKCFnbHVlVmVyc2lvbiB8fCBnbHVlVmVyc2lvbiA9PT0gXCIyLjBcIikgPyAyIDogdW5kZWZpbmVkLCAvLyBkZWZhdWx0aW5nIHRvIDIgd29ya2VycyxcbiAgICB3b3JrZXJUeXBlOiAoIWdsdWVWZXJzaW9uIHx8IGdsdWVWZXJzaW9uID09PSBcIjIuMFwiKSA/ICdHLjFYJyA6IHVuZGVmaW5lZCwgLy8gZGVmYXVsdGluZyB0byBHLjFYIGFzIGl0IGlzIHByZWZlcnJlZCB3aXRoIGdsdWUgdmVyc2lvbiAyLjBcbiAgICAvLyBnbHVlIHZlcnNpb24gdGhvdWdoIG9wdGlvbmFsIGlzIHJlcXVpcmVkIGZvciBzdHJlYW1pbmcgZXRsIGpvYnMgb3RoZXJ3aXNlIGl0IHRocm93cyBhbiBlcnJvciB0aGF0ICdjb21tYW5kIG5vdCBmb3VuZCdcbiAgICBnbHVlVmVyc2lvbjogZ2x1ZVZlcnNpb24gPyBnbHVlVmVyc2lvbiA6ICcyLjAnXG4gIH07XG5cbiAgcmV0dXJuIGRlZmF1bHRHbHVlSm9iUHJvcHM7XG59Il19
|
package/lib/glue-job-helper.js
CHANGED
|
@@ -26,7 +26,7 @@ const utils_1 = require("./utils");
|
|
|
26
26
|
var SinkStoreType;
|
|
27
27
|
(function (SinkStoreType) {
|
|
28
28
|
SinkStoreType["S3"] = "S3";
|
|
29
|
-
})(SinkStoreType
|
|
29
|
+
})(SinkStoreType || (exports.SinkStoreType = SinkStoreType = {}));
|
|
30
30
|
/**
|
|
31
31
|
* @internal This is an internal core function and should not be called directly by Solutions Constructs clients.
|
|
32
32
|
*/
|
|
@@ -119,7 +119,7 @@ function deployGlueJob(scope, glueJobProps, database, table, outputDataStore, et
|
|
|
119
119
|
{ '--output_path': `s3a://${outputLocation.bucket.bucketName}/output/` }),
|
|
120
120
|
...glueJobProps.defaultArguments
|
|
121
121
|
};
|
|
122
|
-
const newGlueJobProps = utils_1.overrideProps(defaults.DefaultGlueJobProps(jobRole, glueJobProps, glueSecurityConfigName, jobArgumentsList, etlCodeAsset), glueJobProps);
|
|
122
|
+
const newGlueJobProps = (0, utils_1.overrideProps)(defaults.DefaultGlueJobProps(jobRole, glueJobProps, glueSecurityConfigName, jobArgumentsList, etlCodeAsset), glueJobProps);
|
|
123
123
|
if (etlCodeAsset) {
|
|
124
124
|
etlCodeAsset.grantRead(jobRole);
|
|
125
125
|
}
|
|
@@ -171,7 +171,7 @@ exports.createGlueTable = createGlueTable;
|
|
|
171
171
|
* @param databaseProps
|
|
172
172
|
*/
|
|
173
173
|
function createGlueDatabase(scope, databaseProps) {
|
|
174
|
-
const _mergedDBProps = (databaseProps !== undefined) ? utils_1.overrideProps(defaults.DefaultGlueDatabaseProps(), databaseProps) :
|
|
174
|
+
const _mergedDBProps = (databaseProps !== undefined) ? (0, utils_1.overrideProps)(defaults.DefaultGlueDatabaseProps(), databaseProps) :
|
|
175
175
|
defaults.DefaultGlueDatabaseProps();
|
|
176
176
|
return defaults.DefaultGlueDatabase(scope, _mergedDBProps);
|
|
177
177
|
}
|
|
@@ -207,4 +207,4 @@ function isJobCommandProperty(command) {
|
|
|
207
207
|
return false;
|
|
208
208
|
}
|
|
209
209
|
}
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x1ZS1qb2ItaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZ2x1ZS1qb2ItaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7O0FBUUgsNkNBQTZDO0FBQzdDLGlEQUFxRztBQUNyRywrQ0FBa0U7QUFDbEUsNkNBQStDO0FBRS9DLGdDQUFnQztBQUNoQyxtQ0FBd0M7QUFHeEM7OztHQUdHO0FBQ0gsSUFBWSxhQUVYO0FBRkQsV0FBWSxhQUFhO0lBQ3ZCLDBCQUFTLENBQUE7QUFDWCxDQUFDLEVBRlcsYUFBYSxHQUFiLHFCQUFhLEtBQWIscUJBQWEsUUFFeEI7QUFtRUQ7O0dBRUc7QUFDSCxTQUFnQixZQUFZLENBQUMsS0FBZ0IsRUFBRSxLQUF3QjtJQUNyRSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRTtRQUN6QixJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUU7WUFDdEIsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFdBQVcsS0FBSyxLQUFLLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUU7Z0JBQzlFLE1BQU0sS0FBSyxDQUFDLG1HQUFtRztvQkFDL0csMEdBQTBHLENBQUMsQ0FBQzthQUM3RztZQUVELElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxXQUFXLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLGVBQWUsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUMzRyxNQUFNLEtBQUssQ0FBQyxxR0FBcUc7b0JBQ2pILDZEQUE2RCxDQUFDLENBQUM7YUFDaEU7WUFFRCxNQUFNLHFCQUFxQixHQUN6QixhQUFhLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxlQUFnQixFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNw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YSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBYSxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDL0ksUUFBUSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDdEMsT0FBTyxRQUFRLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBQzdELENBQUM7QUFKRCxnREFJQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFTLGlCQUFpQixDQUFDLEtBQWE7SUFDdEMsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUN0QyxNQUFNLFdBQVcsR0FBVyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4RCxPQUFPLE9BQU8saUJBQUcsQ0FBQyxTQUFTLFNBQVMsV0FBVyxFQUFFLENBQUM7S0FDbkQ7U0FBTTtRQUNMLE1BQU0sS0FBSyxDQUFDLHFCQUFxQixLQUFLLDhFQUE4RSxDQUFDLENBQUM7S0FDdkg7QUFDSCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFTLG9CQUFvQixDQUFDLE9BQXFEO0lBQ2pGLElBQUssT0FBMEMsQ0FBQyxJQUFJO1FBQ2pELE9BQTBDLENBQUMsYUFBYTtRQUN4RCxPQUEwQyxDQUFDLGNBQWMsRUFBRTtRQUM1RCxPQUFPLElBQUksQ0FBQztLQUNiO1NBQU07UUFDTCxRQUFRLENBQUMsWUFBWSxDQUFDLDZDQUE2QyxDQUFDLENBQUM7UUFDckUsT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKlxuICogIFRoZSBmdW5jdGlvbnMgZm91bmQgaGVyZSBpbiB0aGUgY29yZSBsaWJyYXJ5IGFyZSBmb3IgaW50ZXJuYWwgdXNlIGFuZCBjYW4gYmUgY2hhbmdlZFxuICogIG9yIHJlbW92ZWQgb3V0c2lkZSBvZiBhIG1ham9yIHJlbGVhc2UuIFdlIHJlY29tbWVuZCBhZ2FpbnN0IGNhbGxpbmcgdGhlbSBkaXJlY3RseSBmcm9tIGNsaWVudCBjb2RlLlxuICovXG5cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgZ2x1ZSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZ2x1ZSc7XG5pbXBvcnQgeyBFZmZlY3QsIElSb2xlLCBQb2xpY3ksIFBvbGljeVN0YXRlbWVudCwgUm9sZSwgU2VydmljZVByaW5jaXBhbCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgQnVja2V0LCBCdWNrZXRQcm9wcywgSUJ1Y2tldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBBd3MsIElSZXNvbHZhYmxlIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgczNhc3NldHMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zMy1hc3NldHNcIjtcbmltcG9ydCAqIGFzIGRlZmF1bHRzIGZyb20gJy4uLyc7XG5pbXBvcnQgeyBvdmVycmlkZVByb3BzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBCdWlsZFMzQnVja2V0UmVzcG9uc2UgfSBmcm9tICcuLi8nO1xuXG4vKipcbiAqIEVudW1lcmF0aW9uIG9mIGRhdGEgc3RvcmUgdHlwZXMgdGhhdCBjb3VsZCBpbmNsdWRlIFMzLCBEeW5hbW9EQiwgRG9jdW1lbnREQiwgUkRTIG9yIFJlZHNoaWZ0LiBDdXJyZW50XG4gKiBjb25zdHJ1Y3QgaW1wbGVtZW50YXRpb24gb25seSBzdXBwb3J0cyBTMywgYnV0IHBvdGVudGlhbCB0byBhZGQgb3RoZXIgb3V0cHV0IHR5cGVzIGluIHRoZSBmdXR1cmVcbiAqL1xuZXhwb3J0IGVudW0gU2lua1N0b3JlVHlwZSB7XG4gIFMzID0gJ1MzJ1xufVxuXG4vKipcbiAqIEludGVyZmFjZSB0byBkZWZpbmUgcG90ZW50aWFsIG91dHB1dHMgdG8gYWxsb3cgdGhlIGNvbnN0cnVjdCBkZWZpbmUgYWRkaXRpb25hbCBvdXRwdXQgZGVzdGluYXRpb25zIGZvciBFVExcbiAqIHRyYW5zZm9ybWF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2lua0RhdGFTdG9yZVByb3BzIHtcbiAgLyoqXG4gICAqIFNpbmsgZGF0YSBzdG9yZSB0eXBlXG4gICAqL1xuICByZWFkb25seSBkYXRhc3RvcmVUeXBlOiBTaW5rU3RvcmVUeXBlO1xuICAvKipcbiAgICogVGhlIG91dHB1dCBTMyBsb2NhdGlvbiB3aGVyZSB0aGUgZGF0YSBzaG91bGQgYmUgd3JpdHRlbi4gVGhlIHByb3ZpZGVkIFMzIGJ1Y2tldCB3aWxsIGJlIHVzZWQgdG8gcGFzc1xuICAgKiB0aGUgb3V0cHV0IGxvY2F0aW9uIHRvIHRoZSBldGwgc2NyaXB0IGFzIGFuIGFyZ3VtZW50IHRvIHRoZSBBV1MgR2x1ZSBqb2IuXG4gICAqXG4gICAqIElmIG5vIGxvY2F0aW9uIGlzIHByb3ZpZGVkLCBpdCB3aWxsIGNoZWNrIGlmIEBvdXRwdXRCdWNrZXRQcm9wcyBhcmUgcHJvdmlkZWQuIElmIG5vdCBpdCB3aWxsIGNyZWF0ZSBhIG5ld1xuICAgKiBidWNrZXQgaWYgdGhlIEBkYXRhc3RvcmVUeXBlIGlzIFMzLlxuICAgKlxuICAgKiBUaGUgYXJndW1lbnQga2V5IGlzIGBvdXRwdXRfcGF0aGAuIFRoZSB2YWx1ZSBvZiB0aGUgYXJndW1lbnQgY2FuIGJlIHJldHJpZXZlIGluIHRoZSBweXRob24gc2NyaXB0XG4gICAqIGFzIGZvbGxvd3M6XG4gICAqICBnZXRSZXNvbHZlZE9wdGlvbnMoc3lzLmFyZ3YsIFtcIkpPQl9OQU1FXCIsIFwib3V0cHV0X3BhdGhcIiwgPG90aGVyIGFyZ3VtZW50cyB0aGF0IGFyZSBwYXNzZWQ+IF0pXG4gICAqICBvdXRwdXRfcGF0aCA9IGFyZ3NbXCJvdXRwdXRfcGF0aFwiXVxuICAgKi9cbiAgcmVhZG9ubHkgZXhpc3RpbmdTM091dHB1dEJ1Y2tldD86IEJ1Y2tldFxuICAvKipcbiAgICogSWYgQGV4aXN0aW5nUzNPdXRwdXRCVWNrZXQgaXMgcHJvdmlkZWQsIHRoaXMgcGFyYW1ldGVyIGlzIGlnbm9yZWQuIElmIHRoaXMgcGFyYW1ldGVyIGlzIG5vdCBwcm92aWRlZCxcbiAgICogdGhlIGNvbnN0cnVjdCB3aWxsIGNyZWF0ZSBhIG5ldyBidWNrZXQgaWYgdGhlIEBkYXRhc3RvcmVUeXBlIGlzIFMzLlxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0QnVja2V0UHJvcHM/OiBCdWNrZXRQcm9wcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZEdsdWVKb2JQcm9wcyB7XG4gIC8qKlxuICAgKiBHbHVlIEVUTCBqb2IgcHJvcGVydGllcy5cbiAgICovXG4gIHJlYWRvbmx5IGdsdWVKb2JQcm9wcz86IGdsdWUuQ2ZuSm9iUHJvcHMgfCBhbnlcbiAgLyoqXG4gICAqIEV4aXN0aW5nIGluc3RhbmNlIG9mIHRoZSBTMyBidWNrZXQgb2JqZWN0LCBpZiB0aGlzIGlzIHNldCB0aGVuIHRoZSBzY3JpcHQgbG9jYXRpb24gaXMgaWdub3JlZC5cbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nQ2ZuSm9iPzogZ2x1ZS5DZm5Kb2I7XG4gIC8qKlxuICAgKiBBV1MgR2x1ZSB0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdGFibGU6IGdsdWUuQ2ZuVGFibGU7XG4gIC8qKlxuICAgKiBBV1MgR2x1ZSBkYXRhYmFzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2U6IGdsdWUuQ2ZuRGF0YWJhc2U7XG4gIC8qKlxuICAgKiBPdXRwdXQgc3RvcmFnZSBvcHRpb25zXG4gICAqL1xuICByZWFkb25seSBvdXRwdXREYXRhU3RvcmU/OiBTaW5rRGF0YVN0b3JlUHJvcHNcbiAgLyoqXG4gICAqIEFzc2V0IGluc3RhbmNlIGZvciB0aGUgRVRMIGNvZGUgdGhhdCBwZXJmb3JtcyBHbHVlIEpvYiB0cmFuc2Zvcm1hdGlvblxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gICByZWFkb25seSBldGxDb2RlQXNzZXQ/OiBzM2Fzc2V0cy5Bc3NldDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZEdsdWVKb2JSZXNwb25zZSB7XG4gIHJlYWRvbmx5IGpvYjogZ2x1ZS5DZm5Kb2IsXG4gIHJlYWRvbmx5IHJvbGU6IElSb2xlLFxuICByZWFkb25seSBidWNrZXQ/OiBCdWNrZXQsXG4gIHJlYWRvbmx5IGxvZ2dpbmdCdWNrZXQ/OiBCdWNrZXQsXG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkR2x1ZUpvYihzY29wZTogQ29uc3RydWN0LCBwcm9wczogQnVpbGRHbHVlSm9iUHJvcHMpOiBCdWlsZEdsdWVKb2JSZXNwb25zZSB7XG4gIGlmICghcHJvcHMuZXhpc3RpbmdDZm5Kb2IpIHtcbiAgICBpZiAocHJvcHMuZ2x1ZUpvYlByb3BzKSB7XG4gICAgICBpZiAocHJvcHMuZ2x1ZUpvYlByb3BzLmdsdWVWZXJzaW9uID09PSAnMi4wJyAmJiBwcm9wcy5nbHVlSm9iUHJvcHMubWF4Q2FwYWNpdHkpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoJ0Nhbm5vdCBzZXQgXCJNYXhDYXBhY2l0eVwiIHdpdGggR2x1ZVZlcnNpb24gMi4wIG9yIGhpZ2hlci4gVXNlIFwiTnVtYmVyT2ZXb3JrZXJzXCIgYW5kIFwiV29ya2VyVHlwZVwiLiAnICtcbiAgICAgICAgJ1JlZmVyIHRoZSBBUEkgZG9jdW1lbnRhdGlvbiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3Qvd2ViYXBpL0FQSV9Kb2IuaHRtbCBmb3IgbW9yZSBkZXRhaWxzJyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcm9wcy5nbHVlSm9iUHJvcHMubWF4Q2FwYWNpdHkgJiYgKHByb3BzLmdsdWVKb2JQcm9wcy5udW1iZXJPZldvcmtlcnMgfHwgcHJvcHMuZ2x1ZUpvYlByb3BzLndvcmtlclR5cGUpKSB7XG4gICAgICAgIHRocm93IEVycm9yKCdDYW5ub3Qgc2V0IE1heENhcGFjaXR5IGFuZCBcIldvcmtlclR5cGVcIiBvciAgXCJOdW1iZXJPZldvcmtlcnNcIi4gSWYgdXNpbmcgZ2x1ZVZlcnNpb24gMi4wIG9yIGJleW9uZCwgJyArXG4gICAgICAgICdpdCBpcyByZWNvbW1lbmRlZCB0byB1c2UgXCJXb3JrZXJUeXBlXCIgb3IgIFwiTnVtYmVyT2ZXb3JrZXJzXCInKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZGVwbG95R2x1ZUpvYlJlc3BvbnNlID1cbiAgICAgICAgZGVwbG95R2x1ZUpvYihzY29wZSwgcHJvcHMuZ2x1ZUpvYlByb3BzLCBwcm9wcy5kYXRhYmFzZSwgcHJvcHMudGFibGUsIHByb3BzLm91dHB1dERhdGFTdG9yZSEsIHByb3BzLmV0bENvZGVBc3NldCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBqb2I6IGRlcGxveUdsdWVKb2JSZXNwb25zZS5qb2IsXG4gICAgICAgIHJvbGU6IGRlcGxveUdsdWVKb2JSZXNwb25zZS5yb2xlLFxuICAgICAgICBidWNrZXQ6IGRlcGxveUdsdWVKb2JSZXNwb25zZS5idWNrZXQsXG4gICAgICAgIGxvZ2dpbmdCdWNrZXQ6IGRlcGxveUdsdWVKb2JSZXNwb25zZS5sb2dnaW5nQnVja2V0IH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IEVycm9yKCdFaXRoZXIgZ2x1ZUpvYlByb3BzIG9yIGV4aXN0aW5nQ2ZuSm9iIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7IGpvYjogcHJvcHMuZXhpc3RpbmdDZm5Kb2IsIHJvbGU6IFJvbGUuZnJvbVJvbGVBcm4oc2NvcGUsICdFeGlzdGluZ1JvbGUnLCBwcm9wcy5leGlzdGluZ0NmbkpvYi5yb2xlKX07XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXBsb3lHbHVlSm9iUmVzcG9uc2Uge1xuICByZWFkb25seSBqb2I6IGdsdWUuQ2ZuSm9iLFxuICByZWFkb25seSByb2xlOiBJUm9sZSxcbiAgcmVhZG9ubHkgYnVja2V0PzogQnVja2V0LFxuICByZWFkb25seSBsb2dnaW5nQnVja2V0PzogQnVja2V0LFxufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXBsb3lHbHVlSm9iKHNjb3BlOiBDb25zdHJ1Y3QsIGdsdWVKb2JQcm9wczogZ2x1ZS5DZm5Kb2JQcm9wcywgZGF0YWJhc2U6IGdsdWUuQ2ZuRGF0YWJhc2UsIHRhYmxlOiBnbHVlLkNmblRhYmxlLFxuICBvdXRwdXREYXRhU3RvcmU6IFNpbmtEYXRhU3RvcmVQcm9wcywgZXRsQ29kZUFzc2V0PzogczNhc3NldHMuQXNzZXQpOiBEZXBsb3lHbHVlSm9iUmVzcG9uc2Uge1xuXG4gIGxldCBnbHVlU2VjdXJpdHlDb25maWdOYW1lOiBzdHJpbmc7XG5cbiAgaWYgKGdsdWVKb2JQcm9wcy5zZWN1cml0eUNvbmZpZ3VyYXRpb24gPT09IHVuZGVmaW5lZCkge1xuICAgIGdsdWVTZWN1cml0eUNvbmZpZ05hbWUgPSBgRVRMSm9iU2VjdXJpdHlDb25maWcke0F3cy5TVEFDS19JRH1gO1xuICAgIGNvbnN0IGdsdWVLTVNLZXkgPSBgYXJuOiR7QXdzLlBBUlRJVElPTn06a21zOiR7QXdzLlJFR0lPTn06JHtBd3MuQUNDT1VOVF9JRH06YWxpYXMvYXdzL2dsdWVgO1xuXG4gICAgY29uc3Qgc2VjdXJpdHlDb25maWd1cmF0aW9uUHJvcHM6IGdsdWUuQ2ZuU2VjdXJpdHlDb25maWd1cmF0aW9uUHJvcHMgPSB7XG4gICAgICBuYW1lOiBnbHVlU2VjdXJpdHlDb25maWdOYW1lLFxuICAgICAgZW5jcnlwdGlvbkNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgam9iQm9va21hcmtzRW5jcnlwdGlvbjoge1xuICAgICAgICAgIGpvYkJvb2ttYXJrc0VuY3J5cHRpb25Nb2RlOiAnQ1NFLUtNUycsXG4gICAgICAgICAga21zS2V5QXJuOiBnbHVlS01TS2V5XG4gICAgICAgIH0sXG4gICAgICAgIHMzRW5jcnlwdGlvbnM6IFt7XG4gICAgICAgICAgczNFbmNyeXB0aW9uTW9kZTogJ1NTRS1TMydcbiAgICAgICAgfV1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLy8gQmVmb3JlIHR1cm5pbmcgb2ZmIFNvbmFyUXViZSBmb3IgdGhlIGxpbmUsIHJlZHVjZSB0aGUgbGluZSB0byBpdCdzIG1pbmltdW1cbiAgICBuZXcgZ2x1ZS5DZm5TZWN1cml0eUNvbmZpZ3VyYXRpb24oc2NvcGUsICdHbHVlU2VjdXJpdHlDb25maWcnLCBzZWN1cml0eUNvbmZpZ3VyYXRpb25Qcm9wcyk7ICAvLyBOT1NPTkFSXG5cbiAgfSBlbHNlIHtcbiAgICBnbHVlU2VjdXJpdHlDb25maWdOYW1lID0gZ2x1ZUpvYlByb3BzLnNlY3VyaXR5Q29uZmlndXJhdGlvbjtcbiAgfVxuXG4gIGNvbnN0IGdsdWVKb2JQb2xpY3kgPSBuZXcgUG9saWN5KHNjb3BlLCAnTG9nUG9saWN5Jywge1xuICAgIHN0YXRlbWVudHM6IFtcbiAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgYWN0aW9uczogWyAnbG9nczpDcmVhdGVMb2dHcm91cCcsICdsb2dzOkNyZWF0ZUxvZ1N0cmVhbScsICdsb2dzOlB1dExvZ0V2ZW50cycgXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbIGBhcm46JHtBd3MuUEFSVElUSU9OfTpsb2dzOiR7QXdzLlJFR0lPTn06JHtBd3MuQUNDT1VOVF9JRH06bG9nLWdyb3VwOi9hd3MtZ2x1ZS8qYCBdXG4gICAgICB9KVxuICAgIF1cbiAgfSk7XG5cbiAgY29uc3Qgam9iUm9sZSA9IGdsdWVKb2JQcm9wcy5yb2xlID9cbiAgICBSb2xlLmZyb21Sb2xlQXJuKHNjb3BlLCAnSm9iUm9sZScsIGdsdWVKb2JQcm9wcy5yb2xlKSA6XG4gICAgZGVmYXVsdHMuY3JlYXRlR2x1ZUpvYlJvbGUoc2NvcGUpO1xuXG4gIGdsdWVKb2JQb2xpY3kuYXR0YWNoVG9Sb2xlKGpvYlJvbGUpO1xuXG4gIGxldCBvdXRwdXRMb2NhdGlvbjogQnVpbGRTM0J1Y2tldFJlc3BvbnNlO1xuICBpZiAob3V0cHV0RGF0YVN0b3JlICE9PSB1bmRlZmluZWQgJiYgb3V0cHV0RGF0YVN0b3JlLmRhdGFzdG9yZVR5cGUgPT09IFNpbmtTdG9yZVR5cGUuUzMpIHtcbiAgICBpZiAob3V0cHV0RGF0YVN0b3JlLmV4aXN0aW5nUzNPdXRwdXRCdWNrZXQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgb3V0cHV0TG9jYXRpb24gPSB7IGJ1Y2tldDogb3V0cHV0RGF0YVN0b3JlLmV4aXN0aW5nUzNPdXRwdXRCdWNrZXQgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0cHV0TG9jYXRpb24gPSBkZWZhdWx0cy5idWlsZFMzQnVja2V0KHNjb3BlLCB7IGJ1Y2tldFByb3BzOiBvdXRwdXREYXRhU3RvcmUub3V0cHV0QnVja2V0UHJvcHMgfSApO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBvdXRwdXRMb2NhdGlvbiA9IGRlZmF1bHRzLmJ1aWxkUzNCdWNrZXQoc2NvcGUsIHt9KTtcbiAgfVxuXG4gIG91dHB1dExvY2F0aW9uLmJ1Y2tldC5ncmFudFJlYWRXcml0ZShqb2JSb2xlKTtcblxuICBjb25zdCBqb2JBcmd1bWVudHNMaXN0ID0ge1xuICAgIFwiLS1lbmFibGUtbWV0cmljc1wiIDogdHJ1ZSxcbiAgICBcIi0tZW5hYmxlLWNvbnRpbnVvdXMtY2xvdWR3YXRjaC1sb2dcIiA6IHRydWUsXG4gICAgXCItLWRhdGFiYXNlX25hbWVcIjogZGF0YWJhc2UucmVmLFxuICAgIFwiLS10YWJsZV9uYW1lXCI6IHRhYmxlLnJlZixcbiAgICAuLi4oKG91dHB1dERhdGFTdG9yZSA9PT0gdW5kZWZpbmVkIHx8IChvdXRwdXREYXRhU3RvcmUgJiYgb3V0cHV0RGF0YVN0b3JlLmRhdGFzdG9yZVR5cGUgPT09IFNpbmtTdG9yZVR5cGUuUzMpKSAmJlxuICAgICAgeyAnLS1vdXRwdXRfcGF0aCcgOiBgczNhOi8vJHtvdXRwdXRMb2NhdGlvbi5idWNrZXQuYnVja2V0TmFtZX0vb3V0cHV0L2AgfSksXG4gICAgLi4uZ2x1ZUpvYlByb3BzLmRlZmF1bHRBcmd1bWVudHNcbiAgfTtcblxuICBjb25zdCBuZXdHbHVlSm9iUHJvcHM6IGdsdWUuQ2ZuSm9iUHJvcHMgPSBvdmVycmlkZVByb3BzKGRlZmF1bHRzLkRlZmF1bHRHbHVlSm9iUHJvcHMoam9iUm9sZSwgZ2x1ZUpvYlByb3BzLFxuICAgIGdsdWVTZWN1cml0eUNvbmZpZ05hbWUsIGpvYkFyZ3VtZW50c0xpc3QsIGV0bENvZGVBc3NldCksIGdsdWVKb2JQcm9wcyk7XG4gIGlmIChldGxDb2RlQXNzZXQpIHtcbiAgICBldGxDb2RlQXNzZXQuZ3JhbnRSZWFkKGpvYlJvbGUpO1xuICB9IGVsc2Uge1xuICAgIC8vIGNyZWF0ZSBDREsgQnVja2V0IGluc3RhbmNlIGZyb20gUzMgdXJsIGFuZCBncmFudCByZWFkIGFjY2VzcyB0byBHbHVlIEpvYidzIHNlcnZpY2UgcHJpbmNpcGFsXG4gICAgaWYgKGlzSm9iQ29tbWFuZFByb3BlcnR5KG5ld0dsdWVKb2JQcm9wcy5jb21tYW5kKSkge1xuICAgICAgY29uc3Qgc2NyaXB0TG9jYXRpb24gPSBuZXdHbHVlSm9iUHJvcHMuY29tbWFuZC5zY3JpcHRMb2NhdGlvbjtcblxuICAgICAgLy8gSW5jb21pbmcgUHJvcHMsIGluY2x1ZGluZyBzY3JpcHRMb2NhdGlvbiwgYXJlIGNoZWNrZWQgdXBzdHJlYW0gaW4gQ2hlY2tHbHVlUHJvcHMoKVxuICAgICAgY29uc3Qgc2NyaXB0QnVja2V0TG9jYXRpb246IElCdWNrZXQgPSBCdWNrZXQuZnJvbUJ1Y2tldEFybihzY29wZSwgJ1NjcmlwdExvY2F0aW9uJywgZ2V0UzNBcm5mcm9tUzNVcmwoc2NyaXB0TG9jYXRpb24hKSk7XG4gICAgICBzY3JpcHRCdWNrZXRMb2NhdGlvbi5ncmFudFJlYWQoam9iUm9sZSk7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgZ2x1ZUpvYjogZ2x1ZS5DZm5Kb2IgPSBuZXcgZ2x1ZS5DZm5Kb2Ioc2NvcGUsICdLaW5lc2lzRVRMSm9iJywgbmV3R2x1ZUpvYlByb3BzKTtcbiAgcmV0dXJuICB7IGpvYjogZ2x1ZUpvYiwgcm9sZTogam9iUm9sZSwgYnVja2V0OiBvdXRwdXRMb2NhdGlvbi5idWNrZXQsIGxvZ2dpbmdCdWNrZXQ6IG91dHB1dExvY2F0aW9uLmxvZ2dpbmdCdWNrZXQgfTtcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICpcbiAqIFRoaXMgaXMgYSBoZWxwZXIgbWV0aG9kIHRvIGNyZWF0ZSB0aGUgUm9sZSByZXF1aXJlZCBmb3IgdGhlIEdsdWUgSm9iLiBJZiBhIHJvbGUgaXMgYWxyZWFkeSBjcmVhdGVkIHRoZW4gdGhpc1xuICogbWV0aG9kIGlzIG5vdCByZXF1aXJlZCB0byBiZSBjYWxsZWQuXG4gKlxuICogQHBhcmFtIHNjb3BlIC0gVGhlIEFXUyBDb25zdHJ1Y3QgdW5kZXIgd2hpY2ggdGhlIHJvbGUgaXMgdG8gYmUgY3JlYXRlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlR2x1ZUpvYlJvbGUoc2NvcGU6IENvbnN0cnVjdCk6IFJvbGUge1xuICByZXR1cm4gbmV3IFJvbGUoc2NvcGUsICdKb2JSb2xlJywge1xuICAgIGFzc3VtZWRCeTogbmV3IFNlcnZpY2VQcmluY2lwYWwoJ2dsdWUuYW1hem9uYXdzLmNvbScpLFxuICAgIGRlc2NyaXB0aW9uOiAnU2VydmljZSByb2xlIHRoYXQgR2x1ZSBjdXN0b20gRVRMIGpvYnMgd2lsbCBhc3N1bWUgZm9yIGV4ZWN1dGlvbicsXG4gIH0pO1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKlxuICogVGhpcyBtZXRob2QgY3JlYXRlcyBhbiBBV1MgR2x1ZSB0YWJsZS4gVGhlIG1ldGhvZCBpcyBjYWxsZWQgd2hlbiBhbiBleGlzdGluZyBHbHVlIHRhYmxlIGlzIG5vdCBwcm92aWRlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlR2x1ZVRhYmxlKHNjb3BlOiBDb25zdHJ1Y3QsIGRhdGFiYXNlOiBnbHVlLkNmbkRhdGFiYXNlLCB0YWJsZVByb3BzPzogZ2x1ZS5DZm5UYWJsZVByb3BzLFxuICBmaWVsZFNjaGVtYT86IGdsdWUuQ2ZuVGFibGUuQ29sdW1uUHJvcGVydHkgW10sIHNvdXJjZVR5cGU/OiBzdHJpbmcsIHBhcmFtZXRlcnM/OiBhbnkpOiBnbHVlLkNmblRhYmxlIHtcbiAgcmV0dXJuIGRlZmF1bHRzLkRlZmF1bHRHbHVlVGFibGUoc2NvcGUsIHRhYmxlUHJvcHMgIT09IHVuZGVmaW5lZCA/IHRhYmxlUHJvcHMgOlxuICAgIGRlZmF1bHRzLkRlZmF1bHRHbHVlVGFibGVQcm9wcyhkYXRhYmFzZSwgZmllbGRTY2hlbWEhLCBzb3VyY2VUeXBlLCBwYXJhbWV0ZXJzKSk7XG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqXG4gKiBUaGlzIG1ldGhvZCBjcmVhdGVzIGFuIEFXUyBHbHVlIGRhdGFiYXNlLiBUaGUgbWV0aG9kIGlzIG9ubHkgY2FsbGVkIHdpdGggYW4gZXhpc3RpbmcgR2x1ZSBkYXRhYmFzZSB0eXBlIGlzIG5vdCBwcm92aWRlZC5cbiAqIFRoZSBtZXRob2QgdXNlcyB0aGUgdXNlciBwcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wcyBmb3IgdGhlIEdsdWUgZGF0YWJhc2VcbiAqXG4gKiBAcGFyYW0gc2NvcGVcbiAqIEBwYXJhbSBkYXRhYmFzZVByb3BzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVHbHVlRGF0YWJhc2Uoc2NvcGU6IENvbnN0cnVjdCwgIGRhdGFiYXNlUHJvcHM/OiBnbHVlLkNmbkRhdGFiYXNlUHJvcHMpOiBnbHVlLkNmbkRhdGFiYXNlIHtcbiAgY29uc3QgX21lcmdlZERCUHJvcHM6IGdsdWUuQ2ZuRGF0YWJhc2VQcm9wcyA9IChkYXRhYmFzZVByb3BzICE9PSB1bmRlZmluZWQpID8gb3ZlcnJpZGVQcm9wcyhkZWZhdWx0cy5EZWZhdWx0R2x1ZURhdGFiYXNlUHJvcHMoKSwgZGF0YWJhc2VQcm9wcykgOlxuICAgIGRlZmF1bHRzLkRlZmF1bHRHbHVlRGF0YWJhc2VQcm9wcygpO1xuICByZXR1cm4gZGVmYXVsdHMuRGVmYXVsdEdsdWVEYXRhYmFzZShzY29wZSwgX21lcmdlZERCUHJvcHMpO1xufVxuXG4vKipcbiAqIEEgdXRpbGl0eSBtZXRob2QgdG8gZ2VuZXJhdGUgdGhlIFMzIEFybiBmcm9tIGFuIFMzIFVybC5cbiAqXG4gKiBAcGFyYW0gczNVcmxcbiAqL1xuZnVuY3Rpb24gZ2V0UzNBcm5mcm9tUzNVcmwoczNVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChzM1VybCAmJiBzM1VybC5zdGFydHNXaXRoKCdzMzovLycpKSB7XG4gICAgY29uc3Qgc3BsaXRTdHJpbmc6IHN0cmluZyA9IHMzVXJsLnNsaWNlKCdzMzovLycubGVuZ3RoKTtcbiAgICByZXR1cm4gYGFybjoke0F3cy5QQVJUSVRJT059OnMzOjo6JHtzcGxpdFN0cmluZ31gO1xuICB9IGVsc2Uge1xuICAgIHRocm93IEVycm9yKGBSZWNlaXZlZCBTM1VSTCBhcyAke3MzVXJsfS4gVGhlIFMzIHVybCBzdHJpbmcgZG9lcyBub3QgYmVnaW4gd2l0aCBzMzovLy4gVGhpcyBpcyBub3QgYSBzdGFuZGFyZCBTMyB1cmxgKTtcbiAgfVxufVxuXG4vKipcbiAqIEEgdXRpbGl0eSBtZXRob2QgdG8gdHlwZSBjaGVjayBDZm5Kb2IuSm9iQ29tbWFuZFByb3BlcnR5IHR5cGUuIEZvciB0aGUgY29uc3RydWN0IHRvIHdvcmsgZm9yIHN0cmVhbWluZyBFVEwgZnJvbSBLaW5lc2lzIERhdGFcbiAqIFN0cmVhbXMsIGFsbCB0aHJlZSBhdHRyaWJ1dGVzIG9mIHRoZSBKb2JDb21tYW5kUHJvcGVydHkgYXJlIHJlcXVpcmVkLCBldmVuIHRob3VnaCB0aGV5IG1heSBiZSBvcHRpb25hbCBmb3Igb3RoZXIgdXNlIGNhc2VzLlxuICpcbiAqIEBwYXJhbSBjb21tYW5kXG4gKi9cbmZ1bmN0aW9uIGlzSm9iQ29tbWFuZFByb3BlcnR5KGNvbW1hbmQ6IGdsdWUuQ2ZuSm9iLkpvYkNvbW1hbmRQcm9wZXJ0eSB8IElSZXNvbHZhYmxlKTogY29tbWFuZCBpcyBnbHVlLkNmbkpvYi5Kb2JDb21tYW5kUHJvcGVydHkge1xuICBpZiAoKGNvbW1hbmQgYXMgZ2x1ZS5DZm5Kb2IuSm9iQ29tbWFuZFByb3BlcnR5KS5uYW1lICYmXG4gICAgKGNvbW1hbmQgYXMgZ2x1ZS5DZm5Kb2IuSm9iQ29tbWFuZFByb3BlcnR5KS5weXRob25WZXJzaW9uICYmXG4gICAgKGNvbW1hbmQgYXMgZ2x1ZS5DZm5Kb2IuSm9iQ29tbWFuZFByb3BlcnR5KS5zY3JpcHRMb2NhdGlvbikge1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2Uge1xuICAgIGRlZmF1bHRzLnByaW50V2FybmluZygnY29tbWFuZCBub3Qgb2YgdHlwZSBKb2JDb21tYW5kUHJvcGVydHkgdHlwZScpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x1ZS1qb2ItaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZ2x1ZS1qb2ItaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7O0FBUUgsNkNBQTZDO0FBQzdDLGlEQUFxRztBQUNyRywrQ0FBa0U7QUFDbEUsNkNBQStDO0FBRS9DLGdDQUFnQztBQUNoQyxtQ0FBd0M7QUFHeEM7OztHQUdHO0FBQ0gsSUFBWSxhQUVYO0FBRkQsV0FBWSxhQUFhO0lBQ3ZCLDBCQUFTLENBQUE7QUFDWCxDQUFDLEVBRlcsYUFBYSw2QkFBYixhQUFhLFFBRXhCO0FBbUVEOztHQUVHO0FBQ0gsU0FBZ0IsWUFBWSxDQUFDLEtBQWdCLEVBQUUsS0FBd0I7SUFDckUsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQixJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2QixJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsV0FBVyxLQUFLLEtBQUssSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUMvRSxNQUFNLEtBQUssQ0FBQyxtR0FBbUc7b0JBQy9HLDBHQUEwRyxDQUFDLENBQUM7WUFDOUcsQ0FBQztZQUVELElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxXQUFXLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLGVBQWUsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQzVHLE1BQU0sS0FBSyxDQUFDLHFHQUFxRztvQkFDakgsNkRBQTZELENBQUMsQ0FBQztZQUNqRSxDQUFDO1lBRUQsTUFBTSxxQkFBcUIsR0FDekIsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsZUFBZ0IsRUFBRSxLQUFLLENBQUMs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QUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKlxuICogIFRoZSBmdW5jdGlvbnMgZm91bmQgaGVyZSBpbiB0aGUgY29yZSBsaWJyYXJ5IGFyZSBmb3IgaW50ZXJuYWwgdXNlIGFuZCBjYW4gYmUgY2hhbmdlZFxuICogIG9yIHJlbW92ZWQgb3V0c2lkZSBvZiBhIG1ham9yIHJlbGVhc2UuIFdlIHJlY29tbWVuZCBhZ2FpbnN0IGNhbGxpbmcgdGhlbSBkaXJlY3RseSBmcm9tIGNsaWVudCBjb2RlLlxuICovXG5cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgZ2x1ZSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZ2x1ZSc7XG5pbXBvcnQgeyBFZmZlY3QsIElSb2xlLCBQb2xpY3ksIFBvbGljeVN0YXRlbWVudCwgUm9sZSwgU2VydmljZVByaW5jaXBhbCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgQnVja2V0LCBCdWNrZXRQcm9wcywgSUJ1Y2tldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBBd3MsIElSZXNvbHZhYmxlIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgczNhc3NldHMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zMy1hc3NldHNcIjtcbmltcG9ydCAqIGFzIGRlZmF1bHRzIGZyb20gJy4uLyc7XG5pbXBvcnQgeyBvdmVycmlkZVByb3BzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBCdWlsZFMzQnVja2V0UmVzcG9uc2UgfSBmcm9tICcuLi8nO1xuXG4vKipcbiAqIEVudW1lcmF0aW9uIG9mIGRhdGEgc3RvcmUgdHlwZXMgdGhhdCBjb3VsZCBpbmNsdWRlIFMzLCBEeW5hbW9EQiwgRG9jdW1lbnREQiwgUkRTIG9yIFJlZHNoaWZ0LiBDdXJyZW50XG4gKiBjb25zdHJ1Y3QgaW1wbGVtZW50YXRpb24gb25seSBzdXBwb3J0cyBTMywgYnV0IHBvdGVudGlhbCB0byBhZGQgb3RoZXIgb3V0cHV0IHR5cGVzIGluIHRoZSBmdXR1cmVcbiAqL1xuZXhwb3J0IGVudW0gU2lua1N0b3JlVHlwZSB7XG4gIFMzID0gJ1MzJ1xufVxuXG4vKipcbiAqIEludGVyZmFjZSB0byBkZWZpbmUgcG90ZW50aWFsIG91dHB1dHMgdG8gYWxsb3cgdGhlIGNvbnN0cnVjdCBkZWZpbmUgYWRkaXRpb25hbCBvdXRwdXQgZGVzdGluYXRpb25zIGZvciBFVExcbiAqIHRyYW5zZm9ybWF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2lua0RhdGFTdG9yZVByb3BzIHtcbiAgLyoqXG4gICAqIFNpbmsgZGF0YSBzdG9yZSB0eXBlXG4gICAqL1xuICByZWFkb25seSBkYXRhc3RvcmVUeXBlOiBTaW5rU3RvcmVUeXBlO1xuICAvKipcbiAgICogVGhlIG91dHB1dCBTMyBsb2NhdGlvbiB3aGVyZSB0aGUgZGF0YSBzaG91bGQgYmUgd3JpdHRlbi4gVGhlIHByb3ZpZGVkIFMzIGJ1Y2tldCB3aWxsIGJlIHVzZWQgdG8gcGFzc1xuICAgKiB0aGUgb3V0cHV0IGxvY2F0aW9uIHRvIHRoZSBldGwgc2NyaXB0IGFzIGFuIGFyZ3VtZW50IHRvIHRoZSBBV1MgR2x1ZSBqb2IuXG4gICAqXG4gICAqIElmIG5vIGxvY2F0aW9uIGlzIHByb3ZpZGVkLCBpdCB3aWxsIGNoZWNrIGlmIEBvdXRwdXRCdWNrZXRQcm9wcyBhcmUgcHJvdmlkZWQuIElmIG5vdCBpdCB3aWxsIGNyZWF0ZSBhIG5ld1xuICAgKiBidWNrZXQgaWYgdGhlIEBkYXRhc3RvcmVUeXBlIGlzIFMzLlxuICAgKlxuICAgKiBUaGUgYXJndW1lbnQga2V5IGlzIGBvdXRwdXRfcGF0aGAuIFRoZSB2YWx1ZSBvZiB0aGUgYXJndW1lbnQgY2FuIGJlIHJldHJpZXZlIGluIHRoZSBweXRob24gc2NyaXB0XG4gICAqIGFzIGZvbGxvd3M6XG4gICAqICBnZXRSZXNvbHZlZE9wdGlvbnMoc3lzLmFyZ3YsIFtcIkpPQl9OQU1FXCIsIFwib3V0cHV0X3BhdGhcIiwgPG90aGVyIGFyZ3VtZW50cyB0aGF0IGFyZSBwYXNzZWQ+IF0pXG4gICAqICBvdXRwdXRfcGF0aCA9IGFyZ3NbXCJvdXRwdXRfcGF0aFwiXVxuICAgKi9cbiAgcmVhZG9ubHkgZXhpc3RpbmdTM091dHB1dEJ1Y2tldD86IEJ1Y2tldFxuICAvKipcbiAgICogSWYgQGV4aXN0aW5nUzNPdXRwdXRCVWNrZXQgaXMgcHJvdmlkZWQsIHRoaXMgcGFyYW1ldGVyIGlzIGlnbm9yZWQuIElmIHRoaXMgcGFyYW1ldGVyIGlzIG5vdCBwcm92aWRlZCxcbiAgICogdGhlIGNvbnN0cnVjdCB3aWxsIGNyZWF0ZSBhIG5ldyBidWNrZXQgaWYgdGhlIEBkYXRhc3RvcmVUeXBlIGlzIFMzLlxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0QnVja2V0UHJvcHM/OiBCdWNrZXRQcm9wcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZEdsdWVKb2JQcm9wcyB7XG4gIC8qKlxuICAgKiBHbHVlIEVUTCBqb2IgcHJvcGVydGllcy5cbiAgICovXG4gIHJlYWRvbmx5IGdsdWVKb2JQcm9wcz86IGdsdWUuQ2ZuSm9iUHJvcHMgfCBhbnlcbiAgLyoqXG4gICAqIEV4aXN0aW5nIGluc3RhbmNlIG9mIHRoZSBTMyBidWNrZXQgb2JqZWN0LCBpZiB0aGlzIGlzIHNldCB0aGVuIHRoZSBzY3JpcHQgbG9jYXRpb24gaXMgaWdub3JlZC5cbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nQ2ZuSm9iPzogZ2x1ZS5DZm5Kb2I7XG4gIC8qKlxuICAgKiBBV1MgR2x1ZSB0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdGFibGU6IGdsdWUuQ2ZuVGFibGU7XG4gIC8qKlxuICAgKiBBV1MgR2x1ZSBkYXRhYmFzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2U6IGdsdWUuQ2ZuRGF0YWJhc2U7XG4gIC8qKlxuICAgKiBPdXRwdXQgc3RvcmFnZSBvcHRpb25zXG4gICAqL1xuICByZWFkb25seSBvdXRwdXREYXRhU3RvcmU/OiBTaW5rRGF0YVN0b3JlUHJvcHNcbiAgLyoqXG4gICAqIEFzc2V0IGluc3RhbmNlIGZvciB0aGUgRVRMIGNvZGUgdGhhdCBwZXJmb3JtcyBHbHVlIEpvYiB0cmFuc2Zvcm1hdGlvblxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gICByZWFkb25seSBldGxDb2RlQXNzZXQ/OiBzM2Fzc2V0cy5Bc3NldDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZEdsdWVKb2JSZXNwb25zZSB7XG4gIHJlYWRvbmx5IGpvYjogZ2x1ZS5DZm5Kb2IsXG4gIHJlYWRvbmx5IHJvbGU6IElSb2xlLFxuICByZWFkb25seSBidWNrZXQ/OiBCdWNrZXQsXG4gIHJlYWRvbmx5IGxvZ2dpbmdCdWNrZXQ/OiBCdWNrZXQsXG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkR2x1ZUpvYihzY29wZTogQ29uc3RydWN0LCBwcm9wczogQnVpbGRHbHVlSm9iUHJvcHMpOiBCdWlsZEdsdWVKb2JSZXNwb25zZSB7XG4gIGlmICghcHJvcHMuZXhpc3RpbmdDZm5Kb2IpIHtcbiAgICBpZiAocHJvcHMuZ2x1ZUpvYlByb3BzKSB7XG4gICAgICBpZiAocHJvcHMuZ2x1ZUpvYlByb3BzLmdsdWVWZXJzaW9uID09PSAnMi4wJyAmJiBwcm9wcy5nbHVlSm9iUHJvcHMubWF4Q2FwYWNpdHkpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoJ0Nhbm5vdCBzZXQgXCJNYXhDYXBhY2l0eVwiIHdpdGggR2x1ZVZlcnNpb24gMi4wIG9yIGhpZ2hlci4gVXNlIFwiTnVtYmVyT2ZXb3JrZXJzXCIgYW5kIFwiV29ya2VyVHlwZVwiLiAnICtcbiAgICAgICAgJ1JlZmVyIHRoZSBBUEkgZG9jdW1lbnRhdGlvbiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3Qvd2ViYXBpL0FQSV9Kb2IuaHRtbCBmb3IgbW9yZSBkZXRhaWxzJyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcm9wcy5nbHVlSm9iUHJvcHMubWF4Q2FwYWNpdHkgJiYgKHByb3BzLmdsdWVKb2JQcm9wcy5udW1iZXJPZldvcmtlcnMgfHwgcHJvcHMuZ2x1ZUpvYlByb3BzLndvcmtlclR5cGUpKSB7XG4gICAgICAgIHRocm93IEVycm9yKCdDYW5ub3Qgc2V0IE1heENhcGFjaXR5IGFuZCBcIldvcmtlclR5cGVcIiBvciAgXCJOdW1iZXJPZldvcmtlcnNcIi4gSWYgdXNpbmcgZ2x1ZVZlcnNpb24gMi4wIG9yIGJleW9uZCwgJyArXG4gICAgICAgICdpdCBpcyByZWNvbW1lbmRlZCB0byB1c2UgXCJXb3JrZXJUeXBlXCIgb3IgIFwiTnVtYmVyT2ZXb3JrZXJzXCInKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZGVwbG95R2x1ZUpvYlJlc3BvbnNlID1cbiAgICAgICAgZGVwbG95R2x1ZUpvYihzY29wZSwgcHJvcHMuZ2x1ZUpvYlByb3BzLCBwcm9wcy5kYXRhYmFzZSwgcHJvcHMudGFibGUsIHByb3BzLm91dHB1dERhdGFTdG9yZSEsIHByb3BzLmV0bENvZGVBc3NldCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBqb2I6IGRlcGxveUdsdWVKb2JSZXNwb25zZS5qb2IsXG4gICAgICAgIHJvbGU6IGRlcGxveUdsdWVKb2JSZXNwb25zZS5yb2xlLFxuICAgICAgICBidWNrZXQ6IGRlcGxveUdsdWVKb2JSZXNwb25zZS5idWNrZXQsXG4gICAgICAgIGxvZ2dpbmdCdWNrZXQ6IGRlcGxveUdsdWVKb2JSZXNwb25zZS5sb2dnaW5nQnVja2V0IH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IEVycm9yKCdFaXRoZXIgZ2x1ZUpvYlByb3BzIG9yIGV4aXN0aW5nQ2ZuSm9iIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7IGpvYjogcHJvcHMuZXhpc3RpbmdDZm5Kb2IsIHJvbGU6IFJvbGUuZnJvbVJvbGVBcm4oc2NvcGUsICdFeGlzdGluZ1JvbGUnLCBwcm9wcy5leGlzdGluZ0NmbkpvYi5yb2xlKX07XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZXBsb3lHbHVlSm9iUmVzcG9uc2Uge1xuICByZWFkb25seSBqb2I6IGdsdWUuQ2ZuSm9iLFxuICByZWFkb25seSByb2xlOiBJUm9sZSxcbiAgcmVhZG9ubHkgYnVja2V0PzogQnVja2V0LFxuICByZWFkb25seSBsb2dnaW5nQnVja2V0PzogQnVja2V0LFxufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXBsb3lHbHVlSm9iKHNjb3BlOiBDb25zdHJ1Y3QsIGdsdWVKb2JQcm9wczogZ2x1ZS5DZm5Kb2JQcm9wcywgZGF0YWJhc2U6IGdsdWUuQ2ZuRGF0YWJhc2UsIHRhYmxlOiBnbHVlLkNmblRhYmxlLFxuICBvdXRwdXREYXRhU3RvcmU6IFNpbmtEYXRhU3RvcmVQcm9wcywgZXRsQ29kZUFzc2V0PzogczNhc3NldHMuQXNzZXQpOiBEZXBsb3lHbHVlSm9iUmVzcG9uc2Uge1xuXG4gIGxldCBnbHVlU2VjdXJpdHlDb25maWdOYW1lOiBzdHJpbmc7XG5cbiAgaWYgKGdsdWVKb2JQcm9wcy5zZWN1cml0eUNvbmZpZ3VyYXRpb24gPT09IHVuZGVmaW5lZCkge1xuICAgIGdsdWVTZWN1cml0eUNvbmZpZ05hbWUgPSBgRVRMSm9iU2VjdXJpdHlDb25maWcke0F3cy5TVEFDS19JRH1gO1xuICAgIGNvbnN0IGdsdWVLTVNLZXkgPSBgYXJuOiR7QXdzLlBBUlRJVElPTn06a21zOiR7QXdzLlJFR0lPTn06JHtBd3MuQUNDT1VOVF9JRH06YWxpYXMvYXdzL2dsdWVgO1xuXG4gICAgY29uc3Qgc2VjdXJpdHlDb25maWd1cmF0aW9uUHJvcHM6IGdsdWUuQ2ZuU2VjdXJpdHlDb25maWd1cmF0aW9uUHJvcHMgPSB7XG4gICAgICBuYW1lOiBnbHVlU2VjdXJpdHlDb25maWdOYW1lLFxuICAgICAgZW5jcnlwdGlvbkNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgam9iQm9va21hcmtzRW5jcnlwdGlvbjoge1xuICAgICAgICAgIGpvYkJvb2ttYXJrc0VuY3J5cHRpb25Nb2RlOiAnQ1NFLUtNUycsXG4gICAgICAgICAga21zS2V5QXJuOiBnbHVlS01TS2V5XG4gICAgICAgIH0sXG4gICAgICAgIHMzRW5jcnlwdGlvbnM6IFt7XG4gICAgICAgICAgczNFbmNyeXB0aW9uTW9kZTogJ1NTRS1TMydcbiAgICAgICAgfV1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLy8gQmVmb3JlIHR1cm5pbmcgb2ZmIFNvbmFyUXViZSBmb3IgdGhlIGxpbmUsIHJlZHVjZSB0aGUgbGluZSB0byBpdCdzIG1pbmltdW1cbiAgICBuZXcgZ2x1ZS5DZm5TZWN1cml0eUNvbmZpZ3VyYXRpb24oc2NvcGUsICdHbHVlU2VjdXJpdHlDb25maWcnLCBzZWN1cml0eUNvbmZpZ3VyYXRpb25Qcm9wcyk7ICAvLyBOT1NPTkFSXG5cbiAgfSBlbHNlIHtcbiAgICBnbHVlU2VjdXJpdHlDb25maWdOYW1lID0gZ2x1ZUpvYlByb3BzLnNlY3VyaXR5Q29uZmlndXJhdGlvbjtcbiAgfVxuXG4gIGNvbnN0IGdsdWVKb2JQb2xpY3kgPSBuZXcgUG9saWN5KHNjb3BlLCAnTG9nUG9saWN5Jywge1xuICAgIHN0YXRlbWVudHM6IFtcbiAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgYWN0aW9uczogWyAnbG9nczpDcmVhdGVMb2dHcm91cCcsICdsb2dzOkNyZWF0ZUxvZ1N0cmVhbScsICdsb2dzOlB1dExvZ0V2ZW50cycgXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbIGBhcm46JHtBd3MuUEFSVElUSU9OfTpsb2dzOiR7QXdzLlJFR0lPTn06JHtBd3MuQUNDT1VOVF9JRH06bG9nLWdyb3VwOi9hd3MtZ2x1ZS8qYCBdXG4gICAgICB9KVxuICAgIF1cbiAgfSk7XG5cbiAgY29uc3Qgam9iUm9sZSA9IGdsdWVKb2JQcm9wcy5yb2xlID9cbiAgICBSb2xlLmZyb21Sb2xlQXJuKHNjb3BlLCAnSm9iUm9sZScsIGdsdWVKb2JQcm9wcy5yb2xlKSA6XG4gICAgZGVmYXVsdHMuY3JlYXRlR2x1ZUpvYlJvbGUoc2NvcGUpO1xuXG4gIGdsdWVKb2JQb2xpY3kuYXR0YWNoVG9Sb2xlKGpvYlJvbGUpO1xuXG4gIGxldCBvdXRwdXRMb2NhdGlvbjogQnVpbGRTM0J1Y2tldFJlc3BvbnNlO1xuICBpZiAob3V0cHV0RGF0YVN0b3JlICE9PSB1bmRlZmluZWQgJiYgb3V0cHV0RGF0YVN0b3JlLmRhdGFzdG9yZVR5cGUgPT09IFNpbmtTdG9yZVR5cGUuUzMpIHtcbiAgICBpZiAob3V0cHV0RGF0YVN0b3JlLmV4aXN0aW5nUzNPdXRwdXRCdWNrZXQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgb3V0cHV0TG9jYXRpb24gPSB7IGJ1Y2tldDogb3V0cHV0RGF0YVN0b3JlLmV4aXN0aW5nUzNPdXRwdXRCdWNrZXQgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0cHV0TG9jYXRpb24gPSBkZWZhdWx0cy5idWlsZFMzQnVja2V0KHNjb3BlLCB7IGJ1Y2tldFByb3BzOiBvdXRwdXREYXRhU3RvcmUub3V0cHV0QnVja2V0UHJvcHMgfSApO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBvdXRwdXRMb2NhdGlvbiA9IGRlZmF1bHRzLmJ1aWxkUzNCdWNrZXQoc2NvcGUsIHt9KTtcbiAgfVxuXG4gIG91dHB1dExvY2F0aW9uLmJ1Y2tldC5ncmFudFJlYWRXcml0ZShqb2JSb2xlKTtcblxuICBjb25zdCBqb2JBcmd1bWVudHNMaXN0ID0ge1xuICAgIFwiLS1lbmFibGUtbWV0cmljc1wiIDogdHJ1ZSxcbiAgICBcIi0tZW5hYmxlLWNvbnRpbnVvdXMtY2xvdWR3YXRjaC1sb2dcIiA6IHRydWUsXG4gICAgXCItLWRhdGFiYXNlX25hbWVcIjogZGF0YWJhc2UucmVmLFxuICAgIFwiLS10YWJsZV9uYW1lXCI6IHRhYmxlLnJlZixcbiAgICAuLi4oKG91dHB1dERhdGFTdG9yZSA9PT0gdW5kZWZpbmVkIHx8IChvdXRwdXREYXRhU3RvcmUgJiYgb3V0cHV0RGF0YVN0b3JlLmRhdGFzdG9yZVR5cGUgPT09IFNpbmtTdG9yZVR5cGUuUzMpKSAmJlxuICAgICAgeyAnLS1vdXRwdXRfcGF0aCcgOiBgczNhOi8vJHtvdXRwdXRMb2NhdGlvbi5idWNrZXQuYnVja2V0TmFtZX0vb3V0cHV0L2AgfSksXG4gICAgLi4uZ2x1ZUpvYlByb3BzLmRlZmF1bHRBcmd1bWVudHNcbiAgfTtcblxuICBjb25zdCBuZXdHbHVlSm9iUHJvcHM6IGdsdWUuQ2ZuSm9iUHJvcHMgPSBvdmVycmlkZVByb3BzKGRlZmF1bHRzLkRlZmF1bHRHbHVlSm9iUHJvcHMoam9iUm9sZSwgZ2x1ZUpvYlByb3BzLFxuICAgIGdsdWVTZWN1cml0eUNvbmZpZ05hbWUsIGpvYkFyZ3VtZW50c0xpc3QsIGV0bENvZGVBc3NldCksIGdsdWVKb2JQcm9wcyk7XG4gIGlmIChldGxDb2RlQXNzZXQpIHtcbiAgICBldGxDb2RlQXNzZXQuZ3JhbnRSZWFkKGpvYlJvbGUpO1xuICB9IGVsc2Uge1xuICAgIC8vIGNyZWF0ZSBDREsgQnVja2V0IGluc3RhbmNlIGZyb20gUzMgdXJsIGFuZCBncmFudCByZWFkIGFjY2VzcyB0byBHbHVlIEpvYidzIHNlcnZpY2UgcHJpbmNpcGFsXG4gICAgaWYgKGlzSm9iQ29tbWFuZFByb3BlcnR5KG5ld0dsdWVKb2JQcm9wcy5jb21tYW5kKSkge1xuICAgICAgY29uc3Qgc2NyaXB0TG9jYXRpb24gPSBuZXdHbHVlSm9iUHJvcHMuY29tbWFuZC5zY3JpcHRMb2NhdGlvbjtcblxuICAgICAgLy8gSW5jb21pbmcgUHJvcHMsIGluY2x1ZGluZyBzY3JpcHRMb2NhdGlvbiwgYXJlIGNoZWNrZWQgdXBzdHJlYW0gaW4gQ2hlY2tHbHVlUHJvcHMoKVxuICAgICAgY29uc3Qgc2NyaXB0QnVja2V0TG9jYXRpb246IElCdWNrZXQgPSBCdWNrZXQuZnJvbUJ1Y2tldEFybihzY29wZSwgJ1NjcmlwdExvY2F0aW9uJywgZ2V0UzNBcm5mcm9tUzNVcmwoc2NyaXB0TG9jYXRpb24hKSk7XG4gICAgICBzY3JpcHRCdWNrZXRMb2NhdGlvbi5ncmFudFJlYWQoam9iUm9sZSk7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgZ2x1ZUpvYjogZ2x1ZS5DZm5Kb2IgPSBuZXcgZ2x1ZS5DZm5Kb2Ioc2NvcGUsICdLaW5lc2lzRVRMSm9iJywgbmV3R2x1ZUpvYlByb3BzKTtcbiAgcmV0dXJuICB7IGpvYjogZ2x1ZUpvYiwgcm9sZTogam9iUm9sZSwgYnVja2V0OiBvdXRwdXRMb2NhdGlvbi5idWNrZXQsIGxvZ2dpbmdCdWNrZXQ6IG91dHB1dExvY2F0aW9uLmxvZ2dpbmdCdWNrZXQgfTtcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICpcbiAqIFRoaXMgaXMgYSBoZWxwZXIgbWV0aG9kIHRvIGNyZWF0ZSB0aGUgUm9sZSByZXF1aXJlZCBmb3IgdGhlIEdsdWUgSm9iLiBJZiBhIHJvbGUgaXMgYWxyZWFkeSBjcmVhdGVkIHRoZW4gdGhpc1xuICogbWV0aG9kIGlzIG5vdCByZXF1aXJlZCB0byBiZSBjYWxsZWQuXG4gKlxuICogQHBhcmFtIHNjb3BlIC0gVGhlIEFXUyBDb25zdHJ1Y3QgdW5kZXIgd2hpY2ggdGhlIHJvbGUgaXMgdG8gYmUgY3JlYXRlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlR2x1ZUpvYlJvbGUoc2NvcGU6IENvbnN0cnVjdCk6IFJvbGUge1xuICByZXR1cm4gbmV3IFJvbGUoc2NvcGUsICdKb2JSb2xlJywge1xuICAgIGFzc3VtZWRCeTogbmV3IFNlcnZpY2VQcmluY2lwYWwoJ2dsdWUuYW1hem9uYXdzLmNvbScpLFxuICAgIGRlc2NyaXB0aW9uOiAnU2VydmljZSByb2xlIHRoYXQgR2x1ZSBjdXN0b20gRVRMIGpvYnMgd2lsbCBhc3N1bWUgZm9yIGV4ZWN1dGlvbicsXG4gIH0pO1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbCBUaGlzIGlzIGFuIGludGVybmFsIGNvcmUgZnVuY3Rpb24gYW5kIHNob3VsZCBub3QgYmUgY2FsbGVkIGRpcmVjdGx5IGJ5IFNvbHV0aW9ucyBDb25zdHJ1Y3RzIGNsaWVudHMuXG4gKlxuICogVGhpcyBtZXRob2QgY3JlYXRlcyBhbiBBV1MgR2x1ZSB0YWJsZS4gVGhlIG1ldGhvZCBpcyBjYWxsZWQgd2hlbiBhbiBleGlzdGluZyBHbHVlIHRhYmxlIGlzIG5vdCBwcm92aWRlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlR2x1ZVRhYmxlKHNjb3BlOiBDb25zdHJ1Y3QsIGRhdGFiYXNlOiBnbHVlLkNmbkRhdGFiYXNlLCB0YWJsZVByb3BzPzogZ2x1ZS5DZm5UYWJsZVByb3BzLFxuICBmaWVsZFNjaGVtYT86IGdsdWUuQ2ZuVGFibGUuQ29sdW1uUHJvcGVydHkgW10sIHNvdXJjZVR5cGU/OiBzdHJpbmcsIHBhcmFtZXRlcnM/OiBhbnkpOiBnbHVlLkNmblRhYmxlIHtcbiAgcmV0dXJuIGRlZmF1bHRzLkRlZmF1bHRHbHVlVGFibGUoc2NvcGUsIHRhYmxlUHJvcHMgIT09IHVuZGVmaW5lZCA/IHRhYmxlUHJvcHMgOlxuICAgIGRlZmF1bHRzLkRlZmF1bHRHbHVlVGFibGVQcm9wcyhkYXRhYmFzZSwgZmllbGRTY2hlbWEhLCBzb3VyY2VUeXBlLCBwYXJhbWV0ZXJzKSk7XG59XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqXG4gKiBUaGlzIG1ldGhvZCBjcmVhdGVzIGFuIEFXUyBHbHVlIGRhdGFiYXNlLiBUaGUgbWV0aG9kIGlzIG9ubHkgY2FsbGVkIHdpdGggYW4gZXhpc3RpbmcgR2x1ZSBkYXRhYmFzZSB0eXBlIGlzIG5vdCBwcm92aWRlZC5cbiAqIFRoZSBtZXRob2QgdXNlcyB0aGUgdXNlciBwcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wcyBmb3IgdGhlIEdsdWUgZGF0YWJhc2VcbiAqXG4gKiBAcGFyYW0gc2NvcGVcbiAqIEBwYXJhbSBkYXRhYmFzZVByb3BzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVHbHVlRGF0YWJhc2Uoc2NvcGU6IENvbnN0cnVjdCwgIGRhdGFiYXNlUHJvcHM/OiBnbHVlLkNmbkRhdGFiYXNlUHJvcHMpOiBnbHVlLkNmbkRhdGFiYXNlIHtcbiAgY29uc3QgX21lcmdlZERCUHJvcHM6IGdsdWUuQ2ZuRGF0YWJhc2VQcm9wcyA9IChkYXRhYmFzZVByb3BzICE9PSB1bmRlZmluZWQpID8gb3ZlcnJpZGVQcm9wcyhkZWZhdWx0cy5EZWZhdWx0R2x1ZURhdGFiYXNlUHJvcHMoKSwgZGF0YWJhc2VQcm9wcykgOlxuICAgIGRlZmF1bHRzLkRlZmF1bHRHbHVlRGF0YWJhc2VQcm9wcygpO1xuICByZXR1cm4gZGVmYXVsdHMuRGVmYXVsdEdsdWVEYXRhYmFzZShzY29wZSwgX21lcmdlZERCUHJvcHMpO1xufVxuXG4vKipcbiAqIEEgdXRpbGl0eSBtZXRob2QgdG8gZ2VuZXJhdGUgdGhlIFMzIEFybiBmcm9tIGFuIFMzIFVybC5cbiAqXG4gKiBAcGFyYW0gczNVcmxcbiAqL1xuZnVuY3Rpb24gZ2V0UzNBcm5mcm9tUzNVcmwoczNVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChzM1VybCAmJiBzM1VybC5zdGFydHNXaXRoKCdzMzovLycpKSB7XG4gICAgY29uc3Qgc3BsaXRTdHJpbmc6IHN0cmluZyA9IHMzVXJsLnNsaWNlKCdzMzovLycubGVuZ3RoKTtcbiAgICByZXR1cm4gYGFybjoke0F3cy5QQVJUSVRJT059OnMzOjo6JHtzcGxpdFN0cmluZ31gO1xuICB9IGVsc2Uge1xuICAgIHRocm93IEVycm9yKGBSZWNlaXZlZCBTM1VSTCBhcyAke3MzVXJsfS4gVGhlIFMzIHVybCBzdHJpbmcgZG9lcyBub3QgYmVnaW4gd2l0aCBzMzovLy4gVGhpcyBpcyBub3QgYSBzdGFuZGFyZCBTMyB1cmxgKTtcbiAgfVxufVxuXG4vKipcbiAqIEEgdXRpbGl0eSBtZXRob2QgdG8gdHlwZSBjaGVjayBDZm5Kb2IuSm9iQ29tbWFuZFByb3BlcnR5IHR5cGUuIEZvciB0aGUgY29uc3RydWN0IHRvIHdvcmsgZm9yIHN0cmVhbWluZyBFVEwgZnJvbSBLaW5lc2lzIERhdGFcbiAqIFN0cmVhbXMsIGFsbCB0aHJlZSBhdHRyaWJ1dGVzIG9mIHRoZSBKb2JDb21tYW5kUHJvcGVydHkgYXJlIHJlcXVpcmVkLCBldmVuIHRob3VnaCB0aGV5IG1heSBiZSBvcHRpb25hbCBmb3Igb3RoZXIgdXNlIGNhc2VzLlxuICpcbiAqIEBwYXJhbSBjb21tYW5kXG4gKi9cbmZ1bmN0aW9uIGlzSm9iQ29tbWFuZFByb3BlcnR5KGNvbW1hbmQ6IGdsdWUuQ2ZuSm9iLkpvYkNvbW1hbmRQcm9wZXJ0eSB8IElSZXNvbHZhYmxlKTogY29tbWFuZCBpcyBnbHVlLkNmbkpvYi5Kb2JDb21tYW5kUHJvcGVydHkge1xuICBpZiAoKGNvbW1hbmQgYXMgZ2x1ZS5DZm5Kb2IuSm9iQ29tbWFuZFByb3BlcnR5KS5uYW1lICYmXG4gICAgKGNvbW1hbmQgYXMgZ2x1ZS5DZm5Kb2IuSm9iQ29tbWFuZFByb3BlcnR5KS5weXRob25WZXJzaW9uICYmXG4gICAgKGNvbW1hbmQgYXMgZ2x1ZS5DZm5Kb2IuSm9iQ29tbWFuZFByb3BlcnR5KS5zY3JpcHRMb2NhdGlvbikge1xuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2Uge1xuICAgIGRlZmF1bHRzLnByaW50V2FybmluZygnY29tbWFuZCBub3Qgb2YgdHlwZSBKb2JDb21tYW5kUHJvcGVydHkgdHlwZScpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
|
|
@@ -60,4 +60,4 @@ function DefaultGlueTableProps(database, fieldSchema, sourceType, parameters) {
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
exports.DefaultGlueTableProps = DefaultGlueTableProps;
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x1ZS10YWJsZS1kZWZhdWx0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImdsdWUtdGFibGUtZGVmYXVsdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOzs7QUFRSCw2Q0FBa0M7QUFFbEM7O0dBRUc7QUFDSCxTQUFnQixxQkFBcUIsQ0FBQyxRQUEwQixFQUFFLFdBQTJDLEVBQzNHLFVBQW1CLEVBQUUsVUFBZ0I7SUFDckMsSUFBSSxXQUErQixDQUFDO0lBRXBDLElBQUksVUFBVSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzdCLE1BQU0saUJBQWlCLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQztRQUVqRCxNQUFNLE1BQU0sR0FBVyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDOUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUViLFdBQVcsR0FBRztZQUNaLFNBQVMsRUFBRSxRQUFRLENBQUMsU0FBUztZQUM3QixZQUFZLEVBQUUsUUFBUSxDQUFDLEdBQUc7WUFDMUIsVUFBVSxFQUFFO2dCQUNWLGlCQUFpQixFQUFFO29CQUNqQixPQUFPLEVBQUUsV0FBVztvQkFDcEIsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsV0FBVyxFQUFFLDBDQUEwQztvQkFDdkQsWUFBWSxFQUFFLDREQUE0RDtvQkFDMUUsVUFBVSxFQUFFLEtBQUs7b0JBQ2pCLGVBQWUsRUFBRSxDQUFDLENBQUM7b0JBQ25CLFNBQVMsRUFBRTt3QkFDVCxvQkFBb0IsRUFBRSxvQ0FBb0M7d0JBQzFELFVBQVUsRUFBRTs0QkFDVixLQUFLLEVBQUUsTUFBTTt5QkFDZDtxQkFDRjtvQkFDRCxVQUFVLEVBQUU7d0JBQ1YsV0FBVyxFQUFFLG1CQUFtQixpQkFBRyxDQUFDLE1BQU0sZ0JBQWdCO3dCQUMxRCxVQUFVLEVBQUUsaUJBQWlCO3dCQUM3QixVQUFVLEVBQUUsVUFBVTtxQkFDdkI7aUJBQ0Y7Z0JBQ0QsU0FBUyxFQUFFLGdCQUFnQjtnQkFDM0IsVUFBVSxFQUFFO29CQUNWLGNBQWMsRUFBRSxNQUFNO2lCQUN2QjthQUNGO1NBQ0YsQ0FBQztRQUVGLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztJQUMzRSxDQUFDO0FBQ0gsQ0FBQztBQTdDRCxzREE2Q0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKlxuICogIFRoZSBmdW5jdGlvbnMgZm91bmQgaGVyZSBpbiB0aGUgY29yZSBsaWJyYXJ5IGFyZSBmb3IgaW50ZXJuYWwgdXNlIGFuZCBjYW4gYmUgY2hhbmdlZFxuICogIG9yIHJlbW92ZWQgb3V0c2lkZSBvZiBhIG1ham9yIHJlbGVhc2UuIFdlIHJlY29tbWVuZCBhZ2FpbnN0IGNhbGxpbmcgdGhlbSBkaXJlY3RseSBmcm9tIGNsaWVudCBjb2RlLlxuICovXG5cbmltcG9ydCAqIGFzIGdsdWUgZnJvbSBcImF3cy1jZGstbGliL2F3cy1nbHVlXCI7XG5pbXBvcnQgeyBBd3MgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gRGVmYXVsdEdsdWVUYWJsZVByb3BzKGRhdGFiYXNlOiBnbHVlLkNmbkRhdGFiYXNlLCBmaWVsZFNjaGVtYTogZ2x1ZS5DZm5UYWJsZS5Db2x1bW5Qcm9wZXJ0eVtdLFxuICBzb3VyY2VUeXBlPzogc3RyaW5nLCBwYXJhbWV0ZXJzPzogYW55KTogZ2x1ZS5DZm5UYWJsZVByb3BzIHwgYW55IHtcbiAgbGV0IF90YWJsZVByb3BzOiBnbHVlLkNmblRhYmxlUHJvcHM7XG5cbiAgaWYgKHNvdXJjZVR5cGUgPT09ICdraW5lc2lzJykge1xuICAgIGNvbnN0IGtpbmVzaXNTdHJlYW1OYW1lID0gcGFyYW1ldGVycy5TVFJFQU1fTkFNRTtcblxuICAgIGNvbnN0IF9wYXRoczogc3RyaW5nID0gZmllbGRTY2hlbWEubWFwKChpdGVtKSA9PiB7XG4gICAgICByZXR1cm4gaXRlbS5uYW1lO1xuICAgIH0pLmpvaW4oJywnKTtcblxuICAgIF90YWJsZVByb3BzID0ge1xuICAgICAgY2F0YWxvZ0lkOiBkYXRhYmFzZS5jYXRhbG9nSWQsXG4gICAgICBkYXRhYmFzZU5hbWU6IGRhdGFiYXNlLnJlZixcbiAgICAgIHRhYmxlSW5wdXQ6IHtcbiAgICAgICAgc3RvcmFnZURlc2NyaXB0b3I6IHtcbiAgICAgICAgICBjb2x1bW5zOiBmaWVsZFNjaGVtYSxcbiAgICAgICAgICBsb2NhdGlvbjoga2luZXNpc1N0cmVhbU5hbWUsXG4gICAgICAgICAgaW5wdXRGb3JtYXQ6IFwib3JnLmFwYWNoZS5oYWRvb3AubWFwcmVkLlRleHRJbnB1dEZvcm1hdFwiLFxuICAgICAgICAgIG91dHB1dEZvcm1hdDogXCJvcmcuYXBhY2hlLmhhZG9vcC5oaXZlLnFsLmlvLkhpdmVJZ25vcmVLZXlUZXh0T3V0cHV0Rm9ybWF0XCIsXG4gICAgICAgICAgY29tcHJlc3NlZDogZmFsc2UsXG4gICAgICAgICAgbnVtYmVyT2ZCdWNrZXRzOiAtMSxcbiAgICAgICAgICBzZXJkZUluZm86IHtcbiAgICAgICAgICAgIHNlcmlhbGl6YXRpb25MaWJyYXJ5OiBcIm9yZy5vcGVueC5kYXRhLmpzb25zZXJkZS5Kc29uU2VyRGVcIixcbiAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgcGF0aHM6IF9wYXRoc1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgZW5kcG9pbnRVcmw6IGBodHRwczovL2tpbmVzaXMuJHtBd3MuUkVHSU9OfS5hbWF6b25hd3MuY29tYCxcbiAgICAgICAgICAgIHN0cmVhbU5hbWU6IGtpbmVzaXNTdHJlYW1OYW1lLFxuICAgICAgICAgICAgdHlwZU9mRGF0YTogc291cmNlVHlwZVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgdGFibGVUeXBlOiAnRVhURVJOQUxfVEFCTEUnLFxuICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgY2xhc3NpZmljYXRpb246ICdqc29uJ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiBfdGFibGVQcm9wcztcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBFcnJvcignU291cmNlIFR5cGUgbm90IFN1cHBvcnRlZC4gVmFsaWQgU291cmNlIFR5cGUgbm90IHByb3ZpZGVkJyk7XG4gIH1cbn0iXX0=
|
package/lib/glue-table-helper.js
CHANGED
|
@@ -65,4 +65,4 @@ function CheckGlueProps(propsObject) {
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
exports.CheckGlueProps = CheckGlueProps;
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2x1ZS10YWJsZS1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJnbHVlLXRhYmxlLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7OztBQUVIOzs7R0FHRztBQUVILG1EQUErRDtBQUsvRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILFNBQWdCLGdCQUFnQixDQUFDLEtBQWdCLEVBQUUsVUFBeUI7SUFDMUUsT0FBTyxJQUFJLG1CQUFRLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUN0RCxDQUFDO0FBRkQsNENBRUM7QUFVRCxTQUFnQixjQUFjLENBQUMsV0FBNEI7SUFDekQsSUFBSSxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQztJQUV2QixJQUFJLFdBQVcsQ0FBQyxZQUFZLElBQUksV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzVELGFBQWEsSUFBSSx5RUFBeUUsQ0FBQztRQUMzRixVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGNBQWMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1FBQ3RILGFBQWEsSUFBSSxDQUFDLDZFQUE2RTtZQUM3RixvRkFBb0Y7WUFDcEYsa0dBQWtHO1lBQ2xHLHFEQUFxRCxDQUFDLENBQUM7UUFDekQsVUFBVSxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxXQUFXLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsQ0FBQztRQUN0RCxNQUFNLEtBQUssR0FBVyxXQUFXLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7UUFDdEUsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3JFLGFBQWEsSUFBSSwyQ0FBMkMsQ0FBQztZQUM3RCxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxXQUFXLENBQUMsV0FBVyxLQUFLLFNBQVMsSUFBSSxXQUFXLENBQUMsYUFBYSxLQUFLLFNBQVMsSUFBSSxXQUFXLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzdILGFBQWEsSUFBSSw0RUFBNEUsQ0FBQztRQUM5RixVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNqQyxDQUFDO0FBQ0gsQ0FBQztBQWxDRCx3Q0FrQ0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKlxuICogIFRoZSBmdW5jdGlvbnMgZm91bmQgaGVyZSBpbiB0aGUgY29yZSBsaWJyYXJ5IGFyZSBmb3IgaW50ZXJuYWwgdXNlIGFuZCBjYW4gYmUgY2hhbmdlZFxuICogIG9yIHJlbW92ZWQgb3V0c2lkZSBvZiBhIG1ham9yIHJlbGVhc2UuIFdlIHJlY29tbWVuZCBhZ2FpbnN0IGNhbGxpbmcgdGhlbSBkaXJlY3RseSBmcm9tIGNsaWVudCBjb2RlLlxuICovXG5cbmltcG9ydCB7IENmblRhYmxlLCBDZm5UYWJsZVByb3BzIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1nbHVlXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgZ2x1ZSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZ2x1ZSc7XG5pbXBvcnQgKiBhcyBzM2Fzc2V0cyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMtYXNzZXRzJztcblxuLyoqXG4gKiBAaW50ZXJuYWwgVGhpcyBpcyBhbiBpbnRlcm5hbCBjb3JlIGZ1bmN0aW9uIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseSBieSBTb2x1dGlvbnMgQ29uc3RydWN0cyBjbGllbnRzLlxuICpcbiAqIE1ldGhvZCB0byBidWlsZCB0aGUgZGVmYXVsdCB0YWJsZSBwcm9wc1xuICpcbiAqIEBwYXJhbSBzY29wZVxuICogQHBhcmFtIGRhdGFiYXNlXG4gKiBAcGFyYW0gZmllbGRTY2hlbWFcbiAqIEBwYXJhbSBzb3VyY2VUeXBlXG4gKiBAcGFyYW0gcGFyYW1ldGVycyAtIEtleSB2YWx1ZSBwYWlycyBvZiBwYXJhbWV0ZXJzLiBJZiBzb3VyY2UgdHlwZSBpcyAnS2luZXNpcycsIHBhc3MgS2luZXNpcyBEYXRhIFN0cmVhbSBuYW1lIHdpdGgga2V5XG4gKiAgYXMgJ1NUUkVBTV9OQU1FJy4gRXhhbXBsZToge1NUUkVBTV9OQU1FOiAnS2luZXNpc1N0cmVhbUNvbnN0cnVjdC5zdHJlYW1OYW1lJ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIERlZmF1bHRHbHVlVGFibGUoc2NvcGU6IENvbnN0cnVjdCwgdGFibGVQcm9wczogQ2ZuVGFibGVQcm9wcyk6IENmblRhYmxlIHtcbiAgcmV0dXJuIG5ldyBDZm5UYWJsZShzY29wZSwgJ0dsdWVUYWJsZScsIHRhYmxlUHJvcHMpO1xufVxuZXhwb3J0IGludGVyZmFjZSBHbHVlUHJvcHMge1xuICByZWFkb25seSBleGlzdGluZ0dsdWVKb2I/OiBnbHVlLkNmbkpvYixcbiAgcmVhZG9ubHkgZXRsQ29kZUFzc2V0PzogczNhc3NldHMuQXNzZXQ7XG4gIHJlYWRvbmx5IGdsdWVKb2JQcm9wcz86IGdsdWUuQ2ZuSm9iUHJvcHMgfCBhbnk7XG4gIHJlYWRvbmx5IGZpZWxkU2NoZW1hPzogZ2x1ZS5DZm5UYWJsZS5Db2x1bW5Qcm9wZXJ0eVtdO1xuICByZWFkb25seSBleGlzdGluZ1RhYmxlPzogZ2x1ZS5DZm5UYWJsZTtcbiAgcmVhZG9ubHkgdGFibGVQcm9wc3M/OiBnbHVlLkNmblRhYmxlUHJvcHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDaGVja0dsdWVQcm9wcyhwcm9wc09iamVjdDogR2x1ZVByb3BzIHwgYW55KSB7XG4gIGxldCBlcnJvck1lc3NhZ2VzID0gJyc7XG4gIGxldCBlcnJvckZvdW5kID0gZmFsc2U7XG5cbiAgaWYgKHByb3BzT2JqZWN0LmdsdWVKb2JQcm9wcyAmJiBwcm9wc09iamVjdC5leGlzdGluZ0dsdWVKb2IpIHtcbiAgICBlcnJvck1lc3NhZ2VzICs9ICdFcnJvciAtIEVpdGhlciBwcm92aWRlIGdsdWVKb2JQcm9wcyBvciBleGlzdGluZ0dsdWVKb2IsIGJ1dCBub3QgYm90aC5cXG4nO1xuICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICB9XG5cbiAgaWYgKCghcHJvcHNPYmplY3QuZXhpc3RpbmdHbHVlSm9iKSAmJiAoIXByb3BzT2JqZWN0LmdsdWVKb2JQcm9wcy5jb21tYW5kLnNjcmlwdExvY2F0aW9uICYmICFwcm9wc09iamVjdC5ldGxDb2RlQXNzZXQpKSB7XG4gICAgZXJyb3JNZXNzYWdlcyArPSAoJ0VpdGhlciBvbmUgb2YgQ2ZuSm9iLkpvYkNvbW1hbmRQcm9wZXJ0eS5zY3JpcHRMb2NhdGlvbiBvciBldGxDb2RlQXNzZXQgaGFzICcgK1xuICAgICAgJ3RvIGJlIHByb3ZpZGVkLiBJZiB0aGUgRVRMIEpvYiBjb2RlIGZpbGUgZXhpc3RzIGluIGEgbG9jYWwgZmlsZXN5c3RlbSwgcGxlYXNlIHNldCAnICtcbiAgICAgICdLaW5lc2lzc3RyZWFtc1RvR2x1ZWpvYlByb3BzLmV0bENvZGVBc3NldC4gSWYgdGhlIEVUTCBKb2IgaXMgYXZhaWxhYmxlIGluIGFuIFMzIGJ1Y2tldCwgc2V0IHRoZSAnICtcbiAgICAgICdDZm5Kb2IuSm9iQ29tbWFuZFByb3BlcnR5LnNjcmlwdExvY2F0aW9uIHByb3BlcnR5XFxuJyk7XG4gICAgZXJyb3JGb3VuZCA9IHRydWU7XG4gIH1cblxuICBpZiAocHJvcHNPYmplY3QuZ2x1ZUpvYlByb3BzPy5jb21tYW5kPy5zY3JpcHRMb2NhdGlvbikge1xuICAgIGNvbnN0IHMzVXJsOiBzdHJpbmcgPSBwcm9wc09iamVjdC5nbHVlSm9iUHJvcHMuY29tbWFuZC5zY3JpcHRMb2NhdGlvbjtcbiAgICBjb25zdCBmb3VuZCA9IHMzVXJsLm1hdGNoKC9eczM6XFwvXFwvXFxTK1xcL1xcUysvZyk7XG4gICAgaWYgKCEoZm91bmQgJiYgZm91bmQubGVuZ3RoID4gMCAmJiBmb3VuZFswXS5sZW5ndGggPT09IHMzVXJsLmxlbmd0aCkpIHtcbiAgICAgIGVycm9yTWVzc2FnZXMgKz0gXCJJbnZhbGlkIFMzIFVSTCBmb3IgR2x1ZSBzY3JpcHQgcHJvdmlkZWRcXG5cIjtcbiAgICAgIGVycm9yRm91bmQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGlmIChwcm9wc09iamVjdC5maWVsZFNjaGVtYSA9PT0gdW5kZWZpbmVkICYmIHByb3BzT2JqZWN0LmV4aXN0aW5nVGFibGUgPT09IHVuZGVmaW5lZCAmJiBwcm9wc09iamVjdC50YWJsZVByb3BzID09PSB1bmRlZmluZWQpIHtcbiAgICBlcnJvck1lc3NhZ2VzICs9IFwiRWl0aGVyIGZpZWxkU2NoZW1hIG9yIHRhYmxlIHByb3BlcnR5IGhhcyB0byBiZSBzZXQsIGJvdGggY2Fubm90IGJlIG9taXR0ZWRcIjtcbiAgICBlcnJvckZvdW5kID0gdHJ1ZTtcbiAgfVxuXG4gIGlmIChlcnJvckZvdW5kKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGVycm9yTWVzc2FnZXMpO1xuICB9XG59XG4iXX0=
|
package/lib/kendra-defaults.js
CHANGED
|
@@ -19,10 +19,10 @@ const utils_1 = require("./utils");
|
|
|
19
19
|
*/
|
|
20
20
|
function DefaultKendraIndexProps(id, roleArn) {
|
|
21
21
|
return {
|
|
22
|
-
name: utils_1.generatePhysicalName("", ["KendraIndex", id], 1000),
|
|
22
|
+
name: (0, utils_1.generatePhysicalName)("", ["KendraIndex", id], 1000),
|
|
23
23
|
roleArn,
|
|
24
24
|
edition: 'DEVELOPER_EDITION',
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
27
|
exports.DefaultKendraIndexProps = DefaultKendraIndexProps;
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VuZHJhLWRlZmF1bHRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsia2VuZHJhLWRlZmF1bHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7O0FBR0gsbUNBQStDO0FBRS9DOztHQUVHO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQUMsRUFBVSxFQUFFLE9BQWdCO0lBQ2xFLE9BQU87UUFDTCxJQUFJLEVBQUUsSUFBQSw0QkFBb0IsRUFBQyxFQUFFLEVBQUUsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDO1FBQ3pELE9BQU87UUFDUCxPQUFPLEVBQUUsbUJBQW1CO0tBQ0wsQ0FBQztBQUM1QixDQUFDO0FBTkQsMERBTUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBrZW5kcmEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWtlbmRyYSc7XG5pbXBvcnQgeyBnZW5lcmF0ZVBoeXNpY2FsTmFtZSB9IGZyb20gXCIuL3V0aWxzXCI7XG5cbi8qKlxuICogQGludGVybmFsIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29yZSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgU29sdXRpb25zIENvbnN0cnVjdHMgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIERlZmF1bHRLZW5kcmFJbmRleFByb3BzKGlkOiBzdHJpbmcsIHJvbGVBcm4/OiBzdHJpbmcpOiBrZW5kcmEuQ2ZuSW5kZXhQcm9wcyB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogZ2VuZXJhdGVQaHlzaWNhbE5hbWUoXCJcIiwgW1wiS2VuZHJhSW5kZXhcIiwgaWRdLCAxMDAwKSxcbiAgICByb2xlQXJuLFxuICAgIGVkaXRpb246ICdERVZFTE9QRVJfRURJVElPTicsXG4gIH0gYXMga2VuZHJhLkNmbkluZGV4UHJvcHM7XG59XG4iXX0=
|