@cdklabs/cdk-appmod-catalog-blueprints 1.17.0 → 1.17.2
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 +5 -5
- package/lib/document-processing/adapter/queued-s3-adapter.js +39 -5
- package/lib/document-processing/agentic-document-processing.js +6 -4
- package/lib/document-processing/base-document-processing.js +16 -4
- package/lib/document-processing/bedrock-document-processing.js +109 -66
- package/lib/document-processing/default-document-processing-config.js +3 -5
- package/lib/document-processing/localstack-agentic-document-processing.js +38 -5
- package/lib/document-processing/localstack-bedrock-document-processing.js +36 -5
- package/lib/document-processing/tests/base-document-processing-nag.test.js +3 -1
- package/lib/document-processing/tests/base-document-processing-schema.test.js +6 -1
- package/lib/document-processing/tests/base-document-processing.test.js +12 -1
- package/lib/document-processing/tests/localstack-agentic-document-processing.test.js +35 -2
- package/lib/document-processing/tests/localstack-document-processing.test.js +35 -2
- package/lib/document-processing/tests/queued-s3-adapter-nag.test.js +3 -1
- package/lib/document-processing/tests/queued-s3-adapter.test.js +3 -1
- package/lib/framework/agents/base-agent.js +31 -4
- package/lib/framework/agents/batch-agent.js +37 -5
- package/lib/framework/agents/default-agent-config.js +3 -5
- package/lib/framework/agents/interactive-agent.js +115 -23
- package/lib/framework/agents/knowledge-base/base-knowledge-base.js +30 -4
- package/lib/framework/agents/knowledge-base/bedrock-knowledge-base.js +81 -5
- package/lib/framework/agents/localstack-batch-agent.js +36 -5
- package/lib/framework/agents/tests/agent-knowledge-base-nag.test.js +35 -2
- package/lib/framework/bedrock/bedrock.js +2 -4
- package/lib/framework/custom-resource/default-runtimes.js +20 -22
- package/lib/framework/foundation/access-log.js +50 -7
- package/lib/framework/foundation/eventbridge-broker.js +5 -4
- package/lib/framework/foundation/network.js +4 -4
- package/lib/framework/localstack/localstack-config.js +3 -5
- package/lib/framework/tests/base-agent-knowledge-base.test.js +35 -2
- package/lib/framework/tests/batch-agent.test.js +35 -2
- package/lib/framework/tests/framework-nag.test.js +35 -2
- package/lib/framework/tests/interactive-agent-nag.test.js +35 -2
- package/lib/framework/tests/interactive-agent.test.js +35 -2
- package/lib/framework/tests/localstack-batch-agent.test.js +35 -2
- package/lib/utilities/data-loader.js +50 -5
- package/lib/utilities/lambda-iam-utils.js +38 -7
- package/lib/utilities/lambda_layers/data-masking/layer-construct.js +40 -3
- package/lib/utilities/observability/bedrock-observability.js +38 -2
- package/lib/utilities/observability/cloudfront-distribution-observability-property-injector.js +3 -4
- package/lib/utilities/observability/cloudwatch-transaction-search.js +36 -5
- package/lib/utilities/observability/default-observability-config.js +6 -8
- package/lib/utilities/observability/lambda-observability-property-injector.js +4 -4
- package/lib/utilities/observability/log-group-data-protection-utils.js +2 -4
- package/lib/utilities/observability/observability.js +47 -6
- package/lib/utilities/observability/powertools-config.js +2 -4
- package/lib/utilities/observability/state-machine-observability-property-injector.js +4 -4
- package/lib/webapp/frontend-construct.js +46 -5
- package/lib/webapp/tests/frontend-construct-nag.test.js +36 -3
- package/lib/webapp/tests/frontend-construct.test.js +36 -3
- package/package.json +60 -61
- package/lib/tsconfig.tsbuildinfo +0 -1
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.BaseKnowledgeBase = void 0;
|
|
5
4
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
@@ -22,6 +21,35 @@ const constructs_1 = require("constructs");
|
|
|
22
21
|
* - `generateIamPermissions()`: Return IAM permissions specific to the KB type
|
|
23
22
|
*/
|
|
24
23
|
class BaseKnowledgeBase extends constructs_1.Construct {
|
|
24
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.BaseKnowledgeBase", version: "1.17.2" };
|
|
25
|
+
/**
|
|
26
|
+
* Human-readable name for this knowledge base.
|
|
27
|
+
*
|
|
28
|
+
* This name is used for logging, display purposes, and to help the agent
|
|
29
|
+
* identify which knowledge base to query.
|
|
30
|
+
*/
|
|
31
|
+
name;
|
|
32
|
+
/**
|
|
33
|
+
* Human-readable description of what this knowledge base contains.
|
|
34
|
+
*
|
|
35
|
+
* This description is included in the agent's system prompt to help
|
|
36
|
+
* the agent decide when to query this knowledge base.
|
|
37
|
+
*/
|
|
38
|
+
description;
|
|
39
|
+
/**
|
|
40
|
+
* Retrieval configuration for this knowledge base.
|
|
41
|
+
*
|
|
42
|
+
* Contains settings like numberOfResults and optional metadata filters.
|
|
43
|
+
* Defaults to { numberOfResults: 5 } if not provided.
|
|
44
|
+
*/
|
|
45
|
+
retrievalConfig;
|
|
46
|
+
/**
|
|
47
|
+
* ACL configuration for identity-aware retrieval.
|
|
48
|
+
*
|
|
49
|
+
* When enabled, retrieval queries will be filtered based on user
|
|
50
|
+
* identity context.
|
|
51
|
+
*/
|
|
52
|
+
aclConfig;
|
|
25
53
|
/**
|
|
26
54
|
* Creates a new BaseKnowledgeBase instance.
|
|
27
55
|
*
|
|
@@ -102,6 +130,4 @@ class BaseKnowledgeBase extends constructs_1.Construct {
|
|
|
102
130
|
}
|
|
103
131
|
}
|
|
104
132
|
exports.BaseKnowledgeBase = BaseKnowledgeBase;
|
|
105
|
-
|
|
106
|
-
BaseKnowledgeBase[_a] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.BaseKnowledgeBase", version: "1.17.0" };
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1rbm93bGVkZ2UtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3VzZS1jYXNlcy9mcmFtZXdvcmsvYWdlbnRzL2tub3dsZWRnZS1iYXNlL2Jhc2Uta25vd2xlZGdlLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFNQSwyQ0FBdUM7QUFTdkM7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFzQixpQkFBa0IsU0FBUSxzQkFBUztJQWlDdkQ7Ozs7Ozs7O09BUUc7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTZCO1FBQ3JFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDLFNBQVMsSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNqRSxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDTyxhQUFhLENBQUMsS0FBNkI7UUFDbkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUM1QyxNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7UUFDMUQsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDMUQsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7SUFDSCxDQUFDO0lBWUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksbUJBQW1CO1FBQ3hCLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsU0FBUyxFQUFFLElBQUksQ0FBQyxlQUFlO1lBQy9CLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUztTQUNwQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksa0JBQWtCO1FBQ3ZCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLG1CQUFtQjtRQUN4QixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDOztBQTlISCw4Q0ErSEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IFBvbGljeVN0YXRlbWVudCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgTGF5ZXJWZXJzaW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBBc3NldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMy1hc3NldHMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBJS25vd2xlZGdlQmFzZSB9IGZyb20gJy4vaS1rbm93bGVkZ2UtYmFzZSc7XG5pbXBvcnQge1xuICBBY2xDb25maWd1cmF0aW9uLFxuICBCYXNlS25vd2xlZGdlQmFzZVByb3BzLFxuICBLbm93bGVkZ2VCYXNlUnVudGltZUNvbmZpZyxcbiAgUmV0cmlldmFsQ29uZmlndXJhdGlvbixcbn0gZnJvbSAnLi9rbm93bGVkZ2UtYmFzZS1wcm9wcyc7XG5cbi8qKlxuICogQWJzdHJhY3QgYmFzZSBjbGFzcyBmb3Iga25vd2xlZGdlIGJhc2UgaW1wbGVtZW50YXRpb25zLlxuICpcbiAqIFRoaXMgY2xhc3MgcHJvdmlkZXMgY29tbW9uIGZ1bmN0aW9uYWxpdHkgZm9yIGFsbCBrbm93bGVkZ2UgYmFzZSBpbXBsZW1lbnRhdGlvbnMsXG4gKiBpbmNsdWRpbmcgY29uZmlndXJhdGlvbiBtYW5hZ2VtZW50LCB2YWxpZGF0aW9uLCBhbmQgZGVmYXVsdCBiZWhhdmlvcnMuIENvbmNyZXRlXG4gKiBpbXBsZW1lbnRhdGlvbnMgKGxpa2UgQmVkcm9ja0tub3dsZWRnZUJhc2UpIGV4dGVuZCB0aGlzIGNsYXNzIGFuZCBpbXBsZW1lbnRcbiAqIHRoZSBhYnN0cmFjdCBtZXRob2RzLlxuICpcbiAqIFRoZSBiYXNlIGNsYXNzIGhhbmRsZXM6XG4gKiAtIFByb3BzIHZhbGlkYXRpb24gKG5hbWUgYW5kIGRlc2NyaXB0aW9uIGFyZSByZXF1aXJlZClcbiAqIC0gRGVmYXVsdCByZXRyaWV2YWwgY29uZmlndXJhdGlvbiAobnVtYmVyT2ZSZXN1bHRzIGRlZmF1bHRzIHRvIDUpXG4gKiAtIEFDTCBjb25maWd1cmF0aW9uIHN0b3JhZ2VcbiAqIC0gQmFzZSBydW50aW1lIGNvbmZpZ3VyYXRpb24gZXhwb3J0XG4gKlxuICogU3ViY2xhc3NlcyBtdXN0IGltcGxlbWVudDpcbiAqIC0gYGdlbmVyYXRlSWFtUGVybWlzc2lvbnMoKWA6IFJldHVybiBJQU0gcGVybWlzc2lvbnMgc3BlY2lmaWMgdG8gdGhlIEtCIHR5cGVcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VLbm93bGVkZ2VCYXNlIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSUtub3dsZWRnZUJhc2Uge1xuICAvKipcbiAgICogSHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhpcyBrbm93bGVkZ2UgYmFzZS5cbiAgICpcbiAgICogVGhpcyBuYW1lIGlzIHVzZWQgZm9yIGxvZ2dpbmcsIGRpc3BsYXkgcHVycG9zZXMsIGFuZCB0byBoZWxwIHRoZSBhZ2VudFxuICAgKiBpZGVudGlmeSB3aGljaCBrbm93bGVkZ2UgYmFzZSB0byBxdWVyeS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEh1bWFuLXJlYWRhYmxlIGRlc2NyaXB0aW9uIG9mIHdoYXQgdGhpcyBrbm93bGVkZ2UgYmFzZSBjb250YWlucy5cbiAgICpcbiAgICogVGhpcyBkZXNjcmlwdGlvbiBpcyBpbmNsdWRlZCBpbiB0aGUgYWdlbnQncyBzeXN0ZW0gcHJvbXB0IHRvIGhlbHBcbiAgICogdGhlIGFnZW50IGRlY2lkZSB3aGVuIHRvIHF1ZXJ5IHRoaXMga25vd2xlZGdlIGJhc2UuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZztcblxuICAvKipcbiAgICogUmV0cmlldmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMga25vd2xlZGdlIGJhc2UuXG4gICAqXG4gICAqIENvbnRhaW5zIHNldHRpbmdzIGxpa2UgbnVtYmVyT2ZSZXN1bHRzIGFuZCBvcHRpb25hbCBtZXRhZGF0YSBmaWx0ZXJzLlxuICAgKiBEZWZhdWx0cyB0byB7IG51bWJlck9mUmVzdWx0czogNSB9IGlmIG5vdCBwcm92aWRlZC5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSByZXRyaWV2YWxDb25maWc6IFJldHJpZXZhbENvbmZpZ3VyYXRpb247XG5cbiAgLyoqXG4gICAqIEFDTCBjb25maWd1cmF0aW9uIGZvciBpZGVudGl0eS1hd2FyZSByZXRyaWV2YWwuXG4gICAqXG4gICAqIFdoZW4gZW5hYmxlZCwgcmV0cmlldmFsIHF1ZXJpZXMgd2lsbCBiZSBmaWx0ZXJlZCBiYXNlZCBvbiB1c2VyXG4gICAqIGlkZW50aXR5IGNvbnRleHQuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWNsQ29uZmlnPzogQWNsQ29uZmlndXJhdGlvbjtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBCYXNlS25vd2xlZGdlQmFzZSBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gaWQgLSBUaGUgc2NvcGVkIGNvbnN0cnVjdCBJRFxuICAgKiBAcGFyYW0gcHJvcHMgLSBDb25maWd1cmF0aW9uIHByb3BlcnRpZXMgZm9yIHRoZSBrbm93bGVkZ2UgYmFzZVxuICAgKiBAdGhyb3dzIEVycm9yIGlmIG5hbWUgaXMgZW1wdHkgb3Igbm90IHByb3ZpZGVkXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgZGVzY3JpcHRpb24gaXMgZW1wdHkgb3Igbm90IHByb3ZpZGVkXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQmFzZUtub3dsZWRnZUJhc2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnZhbGlkYXRlUHJvcHMocHJvcHMpO1xuXG4gICAgdGhpcy5uYW1lID0gcHJvcHMubmFtZTtcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gcHJvcHMuZGVzY3JpcHRpb247XG4gICAgdGhpcy5yZXRyaWV2YWxDb25maWcgPSBwcm9wcy5yZXRyaWV2YWwgPz8geyBudW1iZXJPZlJlc3VsdHM6IDUgfTtcbiAgICB0aGlzLmFjbENvbmZpZyA9IHByb3BzLmFjbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIHByb3ZpZGVkIHByb3BzIGF0IGNvbnN0cnVjdGlvbiB0aW1lLlxuICAgKlxuICAgKiBFbnN1cmVzIHRoYXQgcmVxdWlyZWQgZmllbGRzIChuYW1lIGFuZCBkZXNjcmlwdGlvbikgYXJlIHByb3ZpZGVkXG4gICAqIGFuZCBub3QgZW1wdHkuIFN1YmNsYXNzZXMgY2FuIG92ZXJyaWRlIHRoaXMgbWV0aG9kIHRvIGFkZCBhZGRpdGlvbmFsXG4gICAqIHZhbGlkYXRpb24sIGJ1dCBzaG91bGQgY2FsbCBzdXBlci52YWxpZGF0ZVByb3BzKCkgZmlyc3QuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyAtIFRoZSBwcm9wcyB0byB2YWxpZGF0ZVxuICAgKiBAdGhyb3dzIEVycm9yIGlmIG5hbWUgaXMgZW1wdHkgb3Igbm90IHByb3ZpZGVkXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgZGVzY3JpcHRpb24gaXMgZW1wdHkgb3Igbm90IHByb3ZpZGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgdmFsaWRhdGVQcm9wcyhwcm9wczogQmFzZUtub3dsZWRnZUJhc2VQcm9wcyk6IHZvaWQge1xuICAgIGlmICghcHJvcHMubmFtZSB8fCBwcm9wcy5uYW1lLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbmFtZSBpcyByZXF1aXJlZCBhbmQgY2Fubm90IGJlIGVtcHR5Jyk7XG4gICAgfVxuICAgIGlmICghcHJvcHMuZGVzY3JpcHRpb24gfHwgcHJvcHMuZGVzY3JpcHRpb24udHJpbSgpID09PSAnJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdkZXNjcmlwdGlvbiBpcyByZXF1aXJlZCBhbmQgY2Fubm90IGJlIGVtcHR5Jyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIElBTSBwb2xpY3kgc3RhdGVtZW50cyByZXF1aXJlZCBmb3IgYWNjZXNzaW5nIHRoaXMga25vd2xlZGdlIGJhc2UuXG4gICAqXG4gICAqIFRoaXMgYWJzdHJhY3QgbWV0aG9kIG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3NlcyB0byByZXR1cm4gdGhlXG4gICAqIHNwZWNpZmljIElBTSBwZXJtaXNzaW9ucyBuZWVkZWQgZm9yIHRoZWlyIGtub3dsZWRnZSBiYXNlIHR5cGUuXG4gICAqXG4gICAqIEByZXR1cm5zIEFycmF5IG9mIElBTSBQb2xpY3lTdGF0ZW1lbnQgb2JqZWN0cyBncmFudGluZyBuZWNlc3NhcnkgcGVybWlzc2lvbnNcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZW5lcmF0ZUlhbVBlcm1pc3Npb25zKCk6IFBvbGljeVN0YXRlbWVudFtdO1xuXG4gIC8qKlxuICAgKiBFeHBvcnQgY29uZmlndXJhdGlvbiBmb3IgcnVudGltZSB1c2UgYnkgdGhlIHJldHJpZXZhbCB0b29sLlxuICAgKlxuICAgKiBSZXR1cm5zIGEgY29uZmlndXJhdGlvbiBvYmplY3QgY29udGFpbmluZyB0aGUgYmFzZSBrbm93bGVkZ2UgYmFzZVxuICAgKiBzZXR0aW5ncy4gU3ViY2xhc3NlcyBzaG91bGQgb3ZlcnJpZGUgdGhpcyBtZXRob2QgdG8gYWRkIGltcGxlbWVudGF0aW9uLVxuICAgKiBzcGVjaWZpYyBjb25maWd1cmF0aW9uLCBjYWxsaW5nIHN1cGVyLmV4cG9ydENvbmZpZ3VyYXRpb24oKSB0byBpbmNsdWRlXG4gICAqIHRoZSBiYXNlIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIEByZXR1cm5zIFJ1bnRpbWUgY29uZmlndXJhdGlvbiBvYmplY3QgZm9yIHRoZSByZXRyaWV2YWwgdG9vbFxuICAgKi9cbiAgcHVibGljIGV4cG9ydENvbmZpZ3VyYXRpb24oKTogS25vd2xlZGdlQmFzZVJ1bnRpbWVDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgIHJldHJpZXZhbDogdGhpcy5yZXRyaWV2YWxDb25maWcsXG4gICAgICBhY2w6IHRoaXMuYWNsQ29uZmlnLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUHJvdmlkZSB0aGUgcmV0cmlldmFsIHRvb2wgYXNzZXQgZm9yIHRoaXMga25vd2xlZGdlIGJhc2UgdHlwZS5cbiAgICpcbiAgICogQnkgZGVmYXVsdCwgcmV0dXJucyB1bmRlZmluZWQgdG8gdXNlIHRoZSBmcmFtZXdvcmsncyBkZWZhdWx0IHJldHJpZXZhbFxuICAgKiB0b29sLiBTdWJjbGFzc2VzIGNhbiBvdmVycmlkZSB0aGlzIG1ldGhvZCB0byBwcm92aWRlIGEgY3VzdG9tIHJldHJpZXZhbFxuICAgKiB0b29sIGltcGxlbWVudGF0aW9uLlxuICAgKlxuICAgKiBAcmV0dXJucyB1bmRlZmluZWQgdG8gdXNlIHRoZSBkZWZhdWx0IHJldHJpZXZhbCB0b29sXG4gICAqL1xuICBwdWJsaWMgcmV0cmlldmFsVG9vbEFzc2V0KCk6IEFzc2V0IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3ZpZGUgTGFtYmRhIGxheWVycyByZXF1aXJlZCBieSB0aGUgcmV0cmlldmFsIHRvb2wuXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQsIHJldHVybnMgdW5kZWZpbmVkIGluZGljYXRpbmcgbm8gYWRkaXRpb25hbCBsYXllcnMgYXJlIG5lZWRlZC5cbiAgICogU3ViY2xhc3NlcyBjYW4gb3ZlcnJpZGUgdGhpcyBtZXRob2QgdG8gcHJvdmlkZSBMYW1iZGEgbGF5ZXJzIGNvbnRhaW5pbmdcbiAgICogZGVwZW5kZW5jaWVzIHJlcXVpcmVkIGJ5IHRoZWlyIHJldHJpZXZhbCB0b29sLlxuICAgKlxuICAgKiBAcmV0dXJucyB1bmRlZmluZWQgaW5kaWNhdGluZyBubyBhZGRpdGlvbmFsIGxheWVycyBuZWVkZWRcbiAgICovXG4gIHB1YmxpYyByZXRyaWV2YWxUb29sTGF5ZXJzKCk6IExheWVyVmVyc2lvbltdIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1rbm93bGVkZ2UtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3VzZS1jYXNlcy9mcmFtZXdvcmsvYWdlbnRzL2tub3dsZWRnZS1iYXNlL2Jhc2Uta25vd2xlZGdlLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQU1BLDJDQUF1QztBQVN2Qzs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILE1BQXNCLGlCQUFrQixTQUFRLHNCQUFTOztJQUN2RDs7Ozs7T0FLRztJQUNhLElBQUksQ0FBUztJQUU3Qjs7Ozs7T0FLRztJQUNhLFdBQVcsQ0FBUztJQUVwQzs7Ozs7T0FLRztJQUNnQixlQUFlLENBQXlCO0lBRTNEOzs7OztPQUtHO0lBQ2dCLFNBQVMsQ0FBb0I7SUFFaEQ7Ozs7Ozs7O09BUUc7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTZCO1FBQ3JFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDLFNBQVMsSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNqRSxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDTyxhQUFhLENBQUMsS0FBNkI7UUFDbkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUM1QyxNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7UUFDMUQsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDMUQsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7SUFDSCxDQUFDO0lBWUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksbUJBQW1CO1FBQ3hCLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsU0FBUyxFQUFFLElBQUksQ0FBQyxlQUFlO1lBQy9CLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUztTQUNwQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksa0JBQWtCO1FBQ3ZCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLG1CQUFtQjtRQUN4QixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDOztBQTlISCw4Q0ErSEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IFBvbGljeVN0YXRlbWVudCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgTGF5ZXJWZXJzaW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBBc3NldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMy1hc3NldHMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBJS25vd2xlZGdlQmFzZSB9IGZyb20gJy4vaS1rbm93bGVkZ2UtYmFzZSc7XG5pbXBvcnQge1xuICBBY2xDb25maWd1cmF0aW9uLFxuICBCYXNlS25vd2xlZGdlQmFzZVByb3BzLFxuICBLbm93bGVkZ2VCYXNlUnVudGltZUNvbmZpZyxcbiAgUmV0cmlldmFsQ29uZmlndXJhdGlvbixcbn0gZnJvbSAnLi9rbm93bGVkZ2UtYmFzZS1wcm9wcyc7XG5cbi8qKlxuICogQWJzdHJhY3QgYmFzZSBjbGFzcyBmb3Iga25vd2xlZGdlIGJhc2UgaW1wbGVtZW50YXRpb25zLlxuICpcbiAqIFRoaXMgY2xhc3MgcHJvdmlkZXMgY29tbW9uIGZ1bmN0aW9uYWxpdHkgZm9yIGFsbCBrbm93bGVkZ2UgYmFzZSBpbXBsZW1lbnRhdGlvbnMsXG4gKiBpbmNsdWRpbmcgY29uZmlndXJhdGlvbiBtYW5hZ2VtZW50LCB2YWxpZGF0aW9uLCBhbmQgZGVmYXVsdCBiZWhhdmlvcnMuIENvbmNyZXRlXG4gKiBpbXBsZW1lbnRhdGlvbnMgKGxpa2UgQmVkcm9ja0tub3dsZWRnZUJhc2UpIGV4dGVuZCB0aGlzIGNsYXNzIGFuZCBpbXBsZW1lbnRcbiAqIHRoZSBhYnN0cmFjdCBtZXRob2RzLlxuICpcbiAqIFRoZSBiYXNlIGNsYXNzIGhhbmRsZXM6XG4gKiAtIFByb3BzIHZhbGlkYXRpb24gKG5hbWUgYW5kIGRlc2NyaXB0aW9uIGFyZSByZXF1aXJlZClcbiAqIC0gRGVmYXVsdCByZXRyaWV2YWwgY29uZmlndXJhdGlvbiAobnVtYmVyT2ZSZXN1bHRzIGRlZmF1bHRzIHRvIDUpXG4gKiAtIEFDTCBjb25maWd1cmF0aW9uIHN0b3JhZ2VcbiAqIC0gQmFzZSBydW50aW1lIGNvbmZpZ3VyYXRpb24gZXhwb3J0XG4gKlxuICogU3ViY2xhc3NlcyBtdXN0IGltcGxlbWVudDpcbiAqIC0gYGdlbmVyYXRlSWFtUGVybWlzc2lvbnMoKWA6IFJldHVybiBJQU0gcGVybWlzc2lvbnMgc3BlY2lmaWMgdG8gdGhlIEtCIHR5cGVcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VLbm93bGVkZ2VCYXNlIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSUtub3dsZWRnZUJhc2Uge1xuICAvKipcbiAgICogSHVtYW4tcmVhZGFibGUgbmFtZSBmb3IgdGhpcyBrbm93bGVkZ2UgYmFzZS5cbiAgICpcbiAgICogVGhpcyBuYW1lIGlzIHVzZWQgZm9yIGxvZ2dpbmcsIGRpc3BsYXkgcHVycG9zZXMsIGFuZCB0byBoZWxwIHRoZSBhZ2VudFxuICAgKiBpZGVudGlmeSB3aGljaCBrbm93bGVkZ2UgYmFzZSB0byBxdWVyeS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEh1bWFuLXJlYWRhYmxlIGRlc2NyaXB0aW9uIG9mIHdoYXQgdGhpcyBrbm93bGVkZ2UgYmFzZSBjb250YWlucy5cbiAgICpcbiAgICogVGhpcyBkZXNjcmlwdGlvbiBpcyBpbmNsdWRlZCBpbiB0aGUgYWdlbnQncyBzeXN0ZW0gcHJvbXB0IHRvIGhlbHBcbiAgICogdGhlIGFnZW50IGRlY2lkZSB3aGVuIHRvIHF1ZXJ5IHRoaXMga25vd2xlZGdlIGJhc2UuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZztcblxuICAvKipcbiAgICogUmV0cmlldmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMga25vd2xlZGdlIGJhc2UuXG4gICAqXG4gICAqIENvbnRhaW5zIHNldHRpbmdzIGxpa2UgbnVtYmVyT2ZSZXN1bHRzIGFuZCBvcHRpb25hbCBtZXRhZGF0YSBmaWx0ZXJzLlxuICAgKiBEZWZhdWx0cyB0byB7IG51bWJlck9mUmVzdWx0czogNSB9IGlmIG5vdCBwcm92aWRlZC5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSByZXRyaWV2YWxDb25maWc6IFJldHJpZXZhbENvbmZpZ3VyYXRpb247XG5cbiAgLyoqXG4gICAqIEFDTCBjb25maWd1cmF0aW9uIGZvciBpZGVudGl0eS1hd2FyZSByZXRyaWV2YWwuXG4gICAqXG4gICAqIFdoZW4gZW5hYmxlZCwgcmV0cmlldmFsIHF1ZXJpZXMgd2lsbCBiZSBmaWx0ZXJlZCBiYXNlZCBvbiB1c2VyXG4gICAqIGlkZW50aXR5IGNvbnRleHQuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWNsQ29uZmlnPzogQWNsQ29uZmlndXJhdGlvbjtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBCYXNlS25vd2xlZGdlQmFzZSBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gaWQgLSBUaGUgc2NvcGVkIGNvbnN0cnVjdCBJRFxuICAgKiBAcGFyYW0gcHJvcHMgLSBDb25maWd1cmF0aW9uIHByb3BlcnRpZXMgZm9yIHRoZSBrbm93bGVkZ2UgYmFzZVxuICAgKiBAdGhyb3dzIEVycm9yIGlmIG5hbWUgaXMgZW1wdHkgb3Igbm90IHByb3ZpZGVkXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgZGVzY3JpcHRpb24gaXMgZW1wdHkgb3Igbm90IHByb3ZpZGVkXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQmFzZUtub3dsZWRnZUJhc2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnZhbGlkYXRlUHJvcHMocHJvcHMpO1xuXG4gICAgdGhpcy5uYW1lID0gcHJvcHMubmFtZTtcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gcHJvcHMuZGVzY3JpcHRpb247XG4gICAgdGhpcy5yZXRyaWV2YWxDb25maWcgPSBwcm9wcy5yZXRyaWV2YWwgPz8geyBudW1iZXJPZlJlc3VsdHM6IDUgfTtcbiAgICB0aGlzLmFjbENvbmZpZyA9IHByb3BzLmFjbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIHByb3ZpZGVkIHByb3BzIGF0IGNvbnN0cnVjdGlvbiB0aW1lLlxuICAgKlxuICAgKiBFbnN1cmVzIHRoYXQgcmVxdWlyZWQgZmllbGRzIChuYW1lIGFuZCBkZXNjcmlwdGlvbikgYXJlIHByb3ZpZGVkXG4gICAqIGFuZCBub3QgZW1wdHkuIFN1YmNsYXNzZXMgY2FuIG92ZXJyaWRlIHRoaXMgbWV0aG9kIHRvIGFkZCBhZGRpdGlvbmFsXG4gICAqIHZhbGlkYXRpb24sIGJ1dCBzaG91bGQgY2FsbCBzdXBlci52YWxpZGF0ZVByb3BzKCkgZmlyc3QuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyAtIFRoZSBwcm9wcyB0byB2YWxpZGF0ZVxuICAgKiBAdGhyb3dzIEVycm9yIGlmIG5hbWUgaXMgZW1wdHkgb3Igbm90IHByb3ZpZGVkXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgZGVzY3JpcHRpb24gaXMgZW1wdHkgb3Igbm90IHByb3ZpZGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgdmFsaWRhdGVQcm9wcyhwcm9wczogQmFzZUtub3dsZWRnZUJhc2VQcm9wcyk6IHZvaWQge1xuICAgIGlmICghcHJvcHMubmFtZSB8fCBwcm9wcy5uYW1lLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbmFtZSBpcyByZXF1aXJlZCBhbmQgY2Fubm90IGJlIGVtcHR5Jyk7XG4gICAgfVxuICAgIGlmICghcHJvcHMuZGVzY3JpcHRpb24gfHwgcHJvcHMuZGVzY3JpcHRpb24udHJpbSgpID09PSAnJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdkZXNjcmlwdGlvbiBpcyByZXF1aXJlZCBhbmQgY2Fubm90IGJlIGVtcHR5Jyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIElBTSBwb2xpY3kgc3RhdGVtZW50cyByZXF1aXJlZCBmb3IgYWNjZXNzaW5nIHRoaXMga25vd2xlZGdlIGJhc2UuXG4gICAqXG4gICAqIFRoaXMgYWJzdHJhY3QgbWV0aG9kIG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3NlcyB0byByZXR1cm4gdGhlXG4gICAqIHNwZWNpZmljIElBTSBwZXJtaXNzaW9ucyBuZWVkZWQgZm9yIHRoZWlyIGtub3dsZWRnZSBiYXNlIHR5cGUuXG4gICAqXG4gICAqIEByZXR1cm5zIEFycmF5IG9mIElBTSBQb2xpY3lTdGF0ZW1lbnQgb2JqZWN0cyBncmFudGluZyBuZWNlc3NhcnkgcGVybWlzc2lvbnNcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZW5lcmF0ZUlhbVBlcm1pc3Npb25zKCk6IFBvbGljeVN0YXRlbWVudFtdO1xuXG4gIC8qKlxuICAgKiBFeHBvcnQgY29uZmlndXJhdGlvbiBmb3IgcnVudGltZSB1c2UgYnkgdGhlIHJldHJpZXZhbCB0b29sLlxuICAgKlxuICAgKiBSZXR1cm5zIGEgY29uZmlndXJhdGlvbiBvYmplY3QgY29udGFpbmluZyB0aGUgYmFzZSBrbm93bGVkZ2UgYmFzZVxuICAgKiBzZXR0aW5ncy4gU3ViY2xhc3NlcyBzaG91bGQgb3ZlcnJpZGUgdGhpcyBtZXRob2QgdG8gYWRkIGltcGxlbWVudGF0aW9uLVxuICAgKiBzcGVjaWZpYyBjb25maWd1cmF0aW9uLCBjYWxsaW5nIHN1cGVyLmV4cG9ydENvbmZpZ3VyYXRpb24oKSB0byBpbmNsdWRlXG4gICAqIHRoZSBiYXNlIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIEByZXR1cm5zIFJ1bnRpbWUgY29uZmlndXJhdGlvbiBvYmplY3QgZm9yIHRoZSByZXRyaWV2YWwgdG9vbFxuICAgKi9cbiAgcHVibGljIGV4cG9ydENvbmZpZ3VyYXRpb24oKTogS25vd2xlZGdlQmFzZVJ1bnRpbWVDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgIHJldHJpZXZhbDogdGhpcy5yZXRyaWV2YWxDb25maWcsXG4gICAgICBhY2w6IHRoaXMuYWNsQ29uZmlnLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUHJvdmlkZSB0aGUgcmV0cmlldmFsIHRvb2wgYXNzZXQgZm9yIHRoaXMga25vd2xlZGdlIGJhc2UgdHlwZS5cbiAgICpcbiAgICogQnkgZGVmYXVsdCwgcmV0dXJucyB1bmRlZmluZWQgdG8gdXNlIHRoZSBmcmFtZXdvcmsncyBkZWZhdWx0IHJldHJpZXZhbFxuICAgKiB0b29sLiBTdWJjbGFzc2VzIGNhbiBvdmVycmlkZSB0aGlzIG1ldGhvZCB0byBwcm92aWRlIGEgY3VzdG9tIHJldHJpZXZhbFxuICAgKiB0b29sIGltcGxlbWVudGF0aW9uLlxuICAgKlxuICAgKiBAcmV0dXJucyB1bmRlZmluZWQgdG8gdXNlIHRoZSBkZWZhdWx0IHJldHJpZXZhbCB0b29sXG4gICAqL1xuICBwdWJsaWMgcmV0cmlldmFsVG9vbEFzc2V0KCk6IEFzc2V0IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3ZpZGUgTGFtYmRhIGxheWVycyByZXF1aXJlZCBieSB0aGUgcmV0cmlldmFsIHRvb2wuXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQsIHJldHVybnMgdW5kZWZpbmVkIGluZGljYXRpbmcgbm8gYWRkaXRpb25hbCBsYXllcnMgYXJlIG5lZWRlZC5cbiAgICogU3ViY2xhc3NlcyBjYW4gb3ZlcnJpZGUgdGhpcyBtZXRob2QgdG8gcHJvdmlkZSBMYW1iZGEgbGF5ZXJzIGNvbnRhaW5pbmdcbiAgICogZGVwZW5kZW5jaWVzIHJlcXVpcmVkIGJ5IHRoZWlyIHJldHJpZXZhbCB0b29sLlxuICAgKlxuICAgKiBAcmV0dXJucyB1bmRlZmluZWQgaW5kaWNhdGluZyBubyBhZGRpdGlvbmFsIGxheWVycyBuZWVkZWRcbiAgICovXG4gIHB1YmxpYyByZXRyaWV2YWxUb29sTGF5ZXJzKCk6IExheWVyVmVyc2lvbltdIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
|
|
@@ -1,11 +1,43 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
3
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
36
|
exports.BedrockKnowledgeBase = void 0;
|
|
5
37
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
38
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
7
39
|
// SPDX-License-Identifier: Apache-2.0
|
|
8
|
-
const path = require("path");
|
|
40
|
+
const path = __importStar(require("path"));
|
|
9
41
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
10
42
|
const aws_iam_1 = require("aws-cdk-lib/aws-iam");
|
|
11
43
|
const aws_s3_assets_1 = require("aws-cdk-lib/aws-s3-assets");
|
|
@@ -24,6 +56,52 @@ const base_knowledge_base_1 = require("./base-knowledge-base");
|
|
|
24
56
|
* - Runtime configuration export for the retrieval tool
|
|
25
57
|
*/
|
|
26
58
|
class BedrockKnowledgeBase extends base_knowledge_base_1.BaseKnowledgeBase {
|
|
59
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.BedrockKnowledgeBase", version: "1.17.2" };
|
|
60
|
+
/**
|
|
61
|
+
* The unique identifier for the Bedrock Knowledge Base.
|
|
62
|
+
*
|
|
63
|
+
* This is the ID assigned by Bedrock when the knowledge base was created.
|
|
64
|
+
*/
|
|
65
|
+
knowledgeBaseId;
|
|
66
|
+
/**
|
|
67
|
+
* The ARN of the Bedrock Knowledge Base.
|
|
68
|
+
*
|
|
69
|
+
* If not provided in props, this is constructed from the knowledgeBaseId
|
|
70
|
+
* using the current region and account.
|
|
71
|
+
*/
|
|
72
|
+
knowledgeBaseArn;
|
|
73
|
+
/**
|
|
74
|
+
* Guardrail configuration for content filtering.
|
|
75
|
+
*
|
|
76
|
+
* When configured, the guardrail will be applied during retrieval
|
|
77
|
+
* operations to filter inappropriate or sensitive content.
|
|
78
|
+
*/
|
|
79
|
+
guardrailConfig;
|
|
80
|
+
/**
|
|
81
|
+
* Vector store configuration.
|
|
82
|
+
*
|
|
83
|
+
* Defines the type of vector store used by this knowledge base.
|
|
84
|
+
* Defaults to S3 Vectors if not specified.
|
|
85
|
+
*/
|
|
86
|
+
vectorStoreConfig;
|
|
87
|
+
/**
|
|
88
|
+
* Configuration for creating a new knowledge base.
|
|
89
|
+
*
|
|
90
|
+
* When provided, indicates that this construct should create a new
|
|
91
|
+
* Bedrock Knowledge Base rather than reference an existing one.
|
|
92
|
+
*
|
|
93
|
+
* Note: KB creation is an advanced feature. Currently, this property
|
|
94
|
+
* stores the configuration for future implementation.
|
|
95
|
+
*/
|
|
96
|
+
createConfig;
|
|
97
|
+
/**
|
|
98
|
+
* The AWS region where the knowledge base is deployed.
|
|
99
|
+
*/
|
|
100
|
+
region;
|
|
101
|
+
/**
|
|
102
|
+
* The AWS account ID where the knowledge base is deployed.
|
|
103
|
+
*/
|
|
104
|
+
account;
|
|
27
105
|
/**
|
|
28
106
|
* Creates a new BedrockKnowledgeBase instance.
|
|
29
107
|
*
|
|
@@ -187,6 +265,4 @@ class BedrockKnowledgeBase extends base_knowledge_base_1.BaseKnowledgeBase {
|
|
|
187
265
|
}
|
|
188
266
|
}
|
|
189
267
|
exports.BedrockKnowledgeBase = BedrockKnowledgeBase;
|
|
190
|
-
_a = JSII_RTTI_SYMBOL_1;
|
|
191
|
-
BedrockKnowledgeBase[_a] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.BedrockKnowledgeBase", version: "1.17.0" };
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVkcm9jay1rbm93bGVkZ2UtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3VzZS1jYXNlcy9mcmFtZXdvcmsvYWdlbnRzL2tub3dsZWRnZS1iYXNlL2JlZHJvY2sta25vd2xlZGdlLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxxRUFBcUU7QUFDckUsc0NBQXNDO0FBRXRDLDZCQUE2QjtBQUM3Qiw2Q0FBb0M7QUFDcEMsaURBQThEO0FBQzlELDZEQUFrRDtBQUVsRCwrREFBMEQ7QUFTMUQ7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBYSxvQkFBcUIsU0FBUSx1Q0FBaUI7SUFxRHpEOzs7Ozs7O09BT0c7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWdDO1FBQ3hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVqQyxNQUFNLEtBQUssR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBRTdCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQztRQUM3QyxJQUFJLENBQUMsZ0JBQWdCO1lBQ25CLEtBQUssQ0FBQyxnQkFBZ0I7Z0JBQ3RCLG1CQUFtQixJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLG1CQUFtQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDM0YsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO1FBQ3ZDLHlDQUF5QztRQUN6QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLFdBQVcs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QUksZ0JBQWdCLEdBQUc7aUJBQzlFO2FBQ0YsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNJLG1CQUFtQjtRQUN4QixPQUFPO1lBQ0wsR0FBRyxLQUFLLENBQUMsbUJBQW1CLEVBQUU7WUFDOUIsSUFBSSxFQUFFLFNBQVM7WUFDZixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxXQUFXLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtZQUNuQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWU7U0FDaEMsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxrQkFBa0I7UUFDdkIsT0FBTyxJQUFJLHFCQUFLLENBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFFO1lBQzdDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxrQ0FBa0MsQ0FBQztZQUM5RCxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDO1NBQ2pDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBeE9ILG9EQXlPQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgRWZmZWN0LCBQb2xpY3lTdGF0ZW1lbnQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IEFzc2V0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzLWFzc2V0cyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEJhc2VLbm93bGVkZ2VCYXNlIH0gZnJvbSAnLi9iYXNlLWtub3dsZWRnZS1iYXNlJztcbmltcG9ydCB7XG4gIEJlZHJvY2tLbm93bGVkZ2VCYXNlUHJvcHMsXG4gIENyZWF0ZUtub3dsZWRnZUJhc2VDb25maWd1cmF0aW9uLFxuICBHdWFyZHJhaWxDb25maWd1cmF0aW9uLFxuICBLbm93bGVkZ2VCYXNlUnVudGltZUNvbmZpZyxcbiAgVmVjdG9yU3RvcmVDb25maWd1cmF0aW9uLFxufSBmcm9tICcuL2tub3dsZWRnZS1iYXNlLXByb3BzJztcblxuLyoqXG4gKiBBbWF6b24gQmVkcm9jayBLbm93bGVkZ2UgQmFzZSBpbXBsZW1lbnRhdGlvbi5cbiAqXG4gKiBUaGlzIGNsYXNzIHByb3ZpZGVzIGludGVncmF0aW9uIHdpdGggQW1hem9uIEJlZHJvY2sgS25vd2xlZGdlIEJhc2VzLFxuICogd2hpY2ggdXNlIHZlY3RvciBzdG9yZXMgKFMzIFZlY3RvcnMgYnkgZGVmYXVsdCkgZm9yIHNlbWFudGljIHNlYXJjaC5cbiAqIEl0IGlzIHRoZSBkZWZhdWx0IGtub3dsZWRnZSBiYXNlIGltcGxlbWVudGF0aW9uIHdoZW4gbm9uZSBpcyBzcGVjaWZpZWQuXG4gKlxuICogVGhlIGltcGxlbWVudGF0aW9uIGhhbmRsZXM6XG4gKiAtIEFSTiBjb25zdHJ1Y3Rpb24gZnJvbSBrbm93bGVkZ2UgYmFzZSBJRCAoaWYgQVJOIG5vdCBwcm92aWRlZClcbiAqIC0gSUFNIHBlcm1pc3Npb24gZ2VuZXJhdGlvbiBmb3IgQmVkcm9jayBSZXRyaWV2ZSBhbmQgUmV0cmlldmVBbmRHZW5lcmF0ZSBBUElzXG4gKiAtIE9wdGlvbmFsIGd1YXJkcmFpbCBjb25maWd1cmF0aW9uIGZvciBjb250ZW50IGZpbHRlcmluZ1xuICogLSBSdW50aW1lIGNvbmZpZ3VyYXRpb24gZXhwb3J0IGZvciB0aGUgcmV0cmlldmFsIHRvb2xcbiAqL1xuZXhwb3J0IGNsYXNzIEJlZHJvY2tLbm93bGVkZ2VCYXNlIGV4dGVuZHMgQmFzZUtub3dsZWRnZUJhc2Uge1xuICAvKipcbiAgICogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgQmVkcm9jayBLbm93bGVkZ2UgQmFzZS5cbiAgICpcbiAgICogVGhpcyBpcyB0aGUgSUQgYXNzaWduZWQgYnkgQmVkcm9jayB3aGVuIHRoZSBrbm93bGVkZ2UgYmFzZSB3YXMgY3JlYXRlZC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBrbm93bGVkZ2VCYXNlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgQmVkcm9jayBLbm93bGVkZ2UgQmFzZS5cbiAgICpcbiAgICogSWYgbm90IHByb3ZpZGVkIGluIHByb3BzLCB0aGlzIGlzIGNvbnN0cnVjdGVkIGZyb20gdGhlIGtub3dsZWRnZUJhc2VJZFxuICAgKiB1c2luZyB0aGUgY3VycmVudCByZWdpb24gYW5kIGFjY291bnQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkga25vd2xlZGdlQmFzZUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBHdWFyZHJhaWwgY29uZmlndXJhdGlvbiBmb3IgY29udGVudCBmaWx0ZXJpbmcuXG4gICAqXG4gICAqIFdoZW4gY29uZmlndXJlZCwgdGhlIGd1YXJkcmFpbCB3aWxsIGJlIGFwcGxpZWQgZHVyaW5nIHJldHJpZXZhbFxuICAgKiBvcGVyYXRpb25zIHRvIGZpbHRlciBpbmFwcHJvcHJpYXRlIG9yIHNlbnNpdGl2ZSBjb250ZW50LlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBndWFyZHJhaWxDb25maWc/OiBHdWFyZHJhaWxDb25maWd1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBWZWN0b3Igc3RvcmUgY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogRGVmaW5lcyB0aGUgdHlwZSBvZiB2ZWN0b3Igc3RvcmUgdXNlZCBieSB0aGlzIGtub3dsZWRnZSBiYXNlLlxuICAgKiBEZWZhdWx0cyB0byBTMyBWZWN0b3JzIGlmIG5vdCBzcGVjaWZpZWQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHZlY3RvclN0b3JlQ29uZmlnOiBWZWN0b3JTdG9yZUNvbmZpZ3VyYXRpb247XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gZm9yIGNyZWF0aW5nIGEgbmV3IGtub3dsZWRnZSBiYXNlLlxuICAgKlxuICAgKiBXaGVuIHByb3ZpZGVkLCBpbmRpY2F0ZXMgdGhhdCB0aGlzIGNvbnN0cnVjdCBzaG91bGQgY3JlYXRlIGEgbmV3XG4gICAqIEJlZHJvY2sgS25vd2xlZGdlIEJhc2UgcmF0aGVyIHRoYW4gcmVmZXJlbmNlIGFuIGV4aXN0aW5nIG9uZS5cbiAgICpcbiAgICogTm90ZTogS0IgY3JlYXRpb24gaXMgYW4gYWR2YW5jZWQgZmVhdHVyZS4gQ3VycmVudGx5LCB0aGlzIHByb3BlcnR5XG4gICAqIHN0b3JlcyB0aGUgY29uZmlndXJhdGlvbiBmb3IgZnV0dXJlIGltcGxlbWVudGF0aW9uLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBjcmVhdGVDb25maWc/OiBDcmVhdGVLbm93bGVkZ2VCYXNlQ29uZmlndXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIEFXUyByZWdpb24gd2hlcmUgdGhlIGtub3dsZWRnZSBiYXNlIGlzIGRlcGxveWVkLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSByZWdpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFXUyBhY2NvdW50IElEIHdoZXJlIHRoZSBrbm93bGVkZ2UgYmFzZSBpcyBkZXBsb3llZC5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IEJlZHJvY2tLbm93bGVkZ2VCYXNlIGluc3RhbmNlLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgLSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0XG4gICAqIEBwYXJhbSBpZCAtIFRoZSBzY29wZWQgY29uc3RydWN0IElEXG4gICAqIEBwYXJhbSBwcm9wcyAtIENvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBmb3IgdGhlIEJlZHJvY2sgS25vd2xlZGdlIEJhc2VcbiAgICogQHRocm93cyBFcnJvciBpZiBrbm93bGVkZ2VCYXNlSWQgaXMgZW1wdHkgb3Igbm90IHByb3ZpZGVkXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQmVkcm9ja0tub3dsZWRnZUJhc2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgdGhpcy52YWxpZGF0ZUJlZHJvY2tQcm9wcyhwcm9wcyk7XG5cbiAgICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKHRoaXMpO1xuICAgIHRoaXMucmVnaW9uID0gc3RhY2sucmVnaW9uO1xuICAgIHRoaXMuYWNjb3VudCA9IHN0YWNrLmFjY291bnQ7XG5cbiAgICB0aGlzLmtub3dsZWRnZUJhc2VJZCA9IHByb3BzLmtub3dsZWRnZUJhc2VJZDtcbiAgICB0aGlzLmtub3dsZWRnZUJhc2VBcm4gPVxuICAgICAgcHJvcHMua25vd2xlZGdlQmFzZUFybiA/P1xuICAgICAgYGFybjphd3M6YmVkcm9jazoke3RoaXMucmVnaW9ufToke3RoaXMuYWNjb3VudH06a25vd2xlZGdlLWJhc2UvJHtwcm9wcy5rbm93bGVkZ2VCYXNlSWR9YDtcbiAgICB0aGlzLmd1YXJkcmFpbENvbmZpZyA9IHByb3BzLmd1YXJkcmFpbDtcbiAgICAvLyBEZWZhdWx0IHRvIFMzIFZlY3RvcnMgaWYgbm90IHNwZWNpZmllZFxuICAgIHRoaXMudmVjdG9yU3RvcmVDb25maWcgPSBwcm9wcy52ZWN0b3JTdG9yZSA/PyB7IHR5cGU6ICdzMy12ZWN0b3JzJyB9O1xuICAgIHRoaXMuY3JlYXRlQ29uZmlnID0gcHJvcHMuY3JlYXRlO1xuXG4gICAgLy8gTm90ZTogS0IgY3JlYXRpb24gaXMgaGFuZGxlZCBzZXBhcmF0ZWx5IHdoZW4gY3JlYXRlIGNvbmZpZyBpcyBwcm92aWRlZFxuICAgIC8vIFRoaXMgaXMgYW4gYWR2YW5jZWQgZmVhdHVyZSB0aGF0IHdpbGwgY3JlYXRlIGFjdHVhbCBBV1MgcmVzb3VyY2VzXG4gICAgaWYgKHRoaXMuY3JlYXRlQ29uZmlnKSB7XG4gICAgICB0aGlzLnNldHVwS25vd2xlZGdlQmFzZUNyZWF0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdXAga25vd2xlZGdlIGJhc2UgY3JlYXRpb24gd2hlbiBjcmVhdGUgY29uZmlndXJhdGlvbiBpcyBwcm92aWRlZC5cbiAgICpcbiAgICogVGhpcyBtZXRob2QgaXMgY2FsbGVkIGR1cmluZyBjb25zdHJ1Y3Rpb24gd2hlbiB0aGUgYGNyZWF0ZWAgcHJvcGVydHlcbiAgICogaXMgc3BlY2lmaWVkLiBJdCBwcmVwYXJlcyB0aGUgbmVjZXNzYXJ5IHJlc291cmNlcyBmb3IgY3JlYXRpbmcgYSBuZXdcbiAgICogQmVkcm9jayBLbm93bGVkZ2UgQmFzZS5cbiAgICpcbiAgICogTm90ZTogRnVsbCBLQiBjcmVhdGlvbiBpbXBsZW1lbnRhdGlvbiByZXF1aXJlcyBDbG91ZEZvcm1hdGlvbiBjdXN0b21cbiAgICogcmVzb3VyY2VzIG9yIEwxIGNvbnN0cnVjdHMuIFRoaXMgaXMgYSBwbGFjZWhvbGRlciBmb3IgZnV0dXJlIGltcGxlbWVudGF0aW9uLlxuICAgKi9cbiAgcHJpdmF0ZSBzZXR1cEtub3dsZWRnZUJhc2VDcmVhdGlvbigpOiB2b2lkIHtcbiAgICAvLyBLQiBjcmVhdGlvbiBpcyBhbiBhZHZhbmNlZCBmZWF0dXJlXG4gICAgLy8gVGhlIGFjdHVhbCBpbXBsZW1lbnRhdGlvbiB3b3VsZCBpbnZvbHZlOlxuICAgIC8vIDEuIENyZWF0aW5nIGFuIElBTSByb2xlIGZvciBCZWRyb2NrIEtCXG4gICAgLy8gMi4gQ3JlYXRpbmcgdGhlIEJlZHJvY2sgS0IgdmlhIENmbktub3dsZWRnZUJhc2VcbiAgICAvLyAzLiBDcmVhdGluZyBhIGRhdGEgc291cmNlIHBvaW50aW5nIHRvIHRoZSBTMyBidWNrZXRcbiAgICAvLyA0LiBDb25maWd1cmluZyB0aGUgZW1iZWRkaW5nIG1vZGVsXG4gICAgLy8gNS4gU2V0dGluZyB1cCB0aGUgdmVjdG9yIHN0b3JlIChTMyBWZWN0b3JzIGJ5IGRlZmF1bHQpXG4gICAgLy9cbiAgICAvLyBGb3Igbm93LCB0aGlzIHN0b3JlcyB0aGUgY29uZmlndXJhdGlvbiBmb3IgcmVmZXJlbmNlLlxuICAgIC8vIFVzZXJzIHNob3VsZCBjcmVhdGUgS0JzIHZpYSB0aGUgQmVkcm9jayBjb25zb2xlIG9yIENMSVxuICAgIC8vIGFuZCByZWZlcmVuY2UgdGhlbSBieSBJRC5cbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgQmVkcm9jay1zcGVjaWZpYyBwcm9wcyBhdCBjb25zdHJ1Y3Rpb24gdGltZS5cbiAgICpcbiAgICogRW5zdXJlcyB0aGF0IHRoZSBrbm93bGVkZ2VCYXNlSWQgaXMgcHJvdmlkZWQgYW5kIG5vdCBlbXB0eS5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIC0gVGhlIHByb3BzIHRvIHZhbGlkYXRlXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYga25vd2xlZGdlQmFzZUlkIGlzIGVtcHR5IG9yIG5vdCBwcm92aWRlZFxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZUJlZHJvY2tQcm9wcyhwcm9wczogQmVkcm9ja0tub3dsZWRnZUJhc2VQcm9wcyk6IHZvaWQge1xuICAgIGlmICghcHJvcHMua25vd2xlZGdlQmFzZUlkIHx8IHByb3BzLmtub3dsZWRnZUJhc2VJZC50cmltKCkgPT09ICcnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2tub3dsZWRnZUJhc2VJZCBpcyByZXF1aXJlZCBhbmQgY2Fubm90IGJlIGVtcHR5Jyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIElBTSBwb2xpY3kgc3RhdGVtZW50cyByZXF1aXJlZCBmb3IgYWNjZXNzaW5nIHRoaXMgQmVkcm9jayBLbm93bGVkZ2UgQmFzZS5cbiAgICpcbiAgICogUmV0dXJucyBwZXJtaXNzaW9ucyBmb3I6XG4gICAqIC0gYmVkcm9jazpSZXRyaWV2ZSAtIFF1ZXJ5IHRoZSBrbm93bGVkZ2UgYmFzZVxuICAgKiAtIGJlZHJvY2s6UmV0cmlldmVBbmRHZW5lcmF0ZSAtIFF1ZXJ5IGFuZCBnZW5lcmF0ZSByZXNwb25zZXNcbiAgICogLSBiZWRyb2NrOkFwcGx5R3VhcmRyYWlsIC0gQXBwbHkgZ3VhcmRyYWlsIChpZiBjb25maWd1cmVkKVxuICAgKiAtIHMzOkdldE9iamVjdCAtIEFjY2VzcyBTMyB2ZWN0b3JzIChpZiB1c2luZyBTMyBWZWN0b3JzIHdpdGggY3VzdG9tIGJ1Y2tldClcbiAgICogLSBzMzpHZXRPYmplY3QgLSBBY2Nlc3MgZGF0YSBzb3VyY2UgYnVja2V0IChpZiBjcmVhdGUgY29uZmlnIHByb3ZpZGVkKVxuICAgKlxuICAgKiBBbGwgcGVybWlzc2lvbnMgYXJlIHNjb3BlZCB0byB0aGUgc3BlY2lmaWMga25vd2xlZGdlIGJhc2UgQVJOXG4gICAqIGZvbGxvd2luZyB0aGUgcHJpbmNpcGxlIG9mIGxlYXN0IHByaXZpbGVnZS5cbiAgICpcbiAgICogQHJldHVybnMgQXJyYXkgb2YgSUFNIFBvbGljeVN0YXRlbWVudCBvYmplY3RzIGdyYW50aW5nIG5lY2Vzc2FyeSBwZXJtaXNzaW9uc1xuICAgKi9cbiAgcHVibGljIGdlbmVyYXRlSWFtUGVybWlzc2lvbnMoKTogUG9saWN5U3RhdGVtZW50W10ge1xuICAgIGNvbnN0IHN0YXRlbWVudHM6IFBvbGljeVN0YXRlbWVudFtdID0gW1xuICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICBhY3Rpb25zOiBbJ2JlZHJvY2s6UmV0cmlldmUnLCAnYmVkcm9jazpSZXRyaWV2ZUFuZEdlbmVyYXRlJ10sXG4gICAgICAgIHJlc291cmNlczogW3RoaXMua25vd2xlZGdlQmFzZUFybl0sXG4gICAgICB9KSxcbiAgICBdO1xuXG4gICAgLy8gQWRkIGd1YXJkcmFpbCBwZXJtaXNzaW9ucyBpZiBjb25maWd1cmVkXG4gICAgaWYgKHRoaXMuZ3VhcmRyYWlsQ29uZmlnKSB7XG4gICAgICBzdGF0ZW1lbnRzLnB1c2goXG4gICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICAgIGFjdGlvbnM6IFsnYmVkcm9jazpBcHBseUd1YXJkcmFpbCddLFxuICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgYGFybjphd3M6YmVkcm9jazoke3RoaXMucmVnaW9ufToke3RoaXMuYWNjb3VudH06Z3VhcmRyYWlsLyR7dGhpcy5ndWFyZHJhaWxDb25maWcuZ3VhcmRyYWlsSWR9YCxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQWRkIFMzIHBlcm1pc3Npb25zIGlmIHVzaW5nIFMzIFZlY3RvcnMgd2l0aCBhIGN1c3RvbSBidWNrZXRcbiAgICBpZiAodGhpcy52ZWN0b3JTdG9yZUNvbmZpZy50eXBlID09PSAnczMtdmVjdG9ycycgJiYgdGhpcy52ZWN0b3JTdG9yZUNvbmZpZy5idWNrZXROYW1lKSB7XG4gICAgICBjb25zdCBwcmVmaXggPSB0aGlzLnZlY3RvclN0b3JlQ29uZmlnLnByZWZpeCA/PyAndmVjdG9ycy8nO1xuICAgICAgc3RhdGVtZW50cy5wdXNoKFxuICAgICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgICBhY3Rpb25zOiBbJ3MzOkdldE9iamVjdCddLFxuICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgYGFybjphd3M6czM6Ojoke3RoaXMudmVjdG9yU3RvcmVDb25maWcuYnVja2V0TmFtZX0vJHtwcmVmaXh9KmAsXG4gICAgICAgICAgXSxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIEFkZCBkYXRhIHNvdXJjZSBidWNrZXQgcGVybWlzc2lvbnMgaWYgY3JlYXRlIGNvbmZpZyBpcyBwcm92aWRlZFxuICAgIGlmICh0aGlzLmNyZWF0ZUNvbmZpZykge1xuICAgICAgY29uc3QgZGF0YVNvdXJjZVByZWZpeCA9IHRoaXMuY3JlYXRlQ29uZmlnLmRhdGFTb3VyY2VQcmVmaXggPz8gJyc7XG4gICAgICBzdGF0ZW1lbnRzLnB1c2goXG4gICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICAgIGFjdGlvbnM6IFsnczM6R2V0T2JqZWN0JywgJ3MzOkxpc3RCdWNrZXQnXSxcbiAgICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICAgIGBhcm46YXdzOnMzOjo6JHt0aGlzLmNyZWF0ZUNvbmZpZy5kYXRhU291cmNlQnVja2V0TmFtZX1gLFxuICAgICAgICAgICAgYGFybjphd3M6czM6Ojoke3RoaXMuY3JlYXRlQ29uZmlnLmRhdGFTb3VyY2VCdWNrZXROYW1lfS8ke2RhdGFTb3VyY2VQcmVmaXh9KmAsXG4gICAgICAgICAgXSxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnRzO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4cG9ydCBjb25maWd1cmF0aW9uIGZvciBydW50aW1lIHVzZSBieSB0aGUgcmV0cmlldmFsIHRvb2wuXG4gICAqXG4gICAqIFJldHVybnMgYSBjb25maWd1cmF0aW9uIG9iamVjdCBjb250YWluaW5nIGFsbCBCZWRyb2NrLXNwZWNpZmljXG4gICAqIHNldHRpbmdzIG5lZWRlZCB0byBxdWVyeSB0aGUga25vd2xlZGdlIGJhc2UgYXQgcnVudGltZSwgaW5jbHVkaW5nOlxuICAgKiAtIEJhc2UgY29uZmlndXJhdGlvbiAobmFtZSwgZGVzY3JpcHRpb24sIHJldHJpZXZhbCwgYWNsKVxuICAgKiAtIEtub3dsZWRnZSBiYXNlIHR5cGUgKCdiZWRyb2NrJylcbiAgICogLSBLbm93bGVkZ2UgYmFzZSBJRCBhbmQgQVJOXG4gICAqIC0gVmVjdG9yIHN0b3JlIGNvbmZpZ3VyYXRpb25cbiAgICogLSBHdWFyZHJhaWwgY29uZmlndXJhdGlvbiAoaWYgcHJlc2VudClcbiAgICpcbiAgICogQHJldHVybnMgUnVudGltZSBjb25maWd1cmF0aW9uIG9iamVjdCBmb3IgdGhlIHJldHJpZXZhbCB0b29sXG4gICAqL1xuICBwdWJsaWMgZXhwb3J0Q29uZmlndXJhdGlvbigpOiBLbm93bGVkZ2VCYXNlUnVudGltZUNvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN1cGVyLmV4cG9ydENvbmZpZ3VyYXRpb24oKSxcbiAgICAgIHR5cGU6ICdiZWRyb2NrJyxcbiAgICAgIGtub3dsZWRnZUJhc2VJZDogdGhpcy5rbm93bGVkZ2VCYXNlSWQsXG4gICAgICBrbm93bGVkZ2VCYXNlQXJuOiB0aGlzLmtub3dsZWRnZUJhc2VBcm4sXG4gICAgICB2ZWN0b3JTdG9yZTogdGhpcy52ZWN0b3JTdG9yZUNvbmZpZyxcbiAgICAgIGd1YXJkcmFpbDogdGhpcy5ndWFyZHJhaWxDb25maWcsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm92aWRlIHRoZSBCZWRyb2NrLXNwZWNpZmljIHJldHJpZXZhbCB0b29sIGFzc2V0LlxuICAgKlxuICAgKiBSZXR1cm5zIGFuIEFzc2V0IGNvbnRhaW5pbmcgdGhlIFB5dGhvbiByZXRyaWV2YWwgdG9vbCB0aGF0IHVzZXNcbiAgICogdGhlIEFtYXpvbiBCZWRyb2NrIEFnZW50IFJ1bnRpbWUgQVBJIHRvIHF1ZXJ5IGtub3dsZWRnZSBiYXNlcy5cbiAgICogVGhpcyB0b29sIGlzIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gYWdlbnRzIHRoYXQgdXNlIEJlZHJvY2tcbiAgICoga25vd2xlZGdlIGJhc2VzLlxuICAgKlxuICAgKiBAcmV0dXJucyBBc3NldCBjb250YWluaW5nIHRoZSBCZWRyb2NrIHJldHJpZXZhbCB0b29sXG4gICAqL1xuICBwdWJsaWMgcmV0cmlldmFsVG9vbEFzc2V0KCk6IEFzc2V0IHtcbiAgICByZXR1cm4gbmV3IEFzc2V0KHRoaXMsICdCZWRyb2NrUmV0cmlldmFsVG9vbCcsIHtcbiAgICAgIHBhdGg6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi9yZXNvdXJjZXMva25vd2xlZGdlLWJhc2UtdG9vbCcpLFxuICAgICAgZXhjbHVkZTogWyd0ZXN0XyonLCAnKl90ZXN0LnB5J10sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
268
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVkcm9jay1rbm93bGVkZ2UtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3VzZS1jYXNlcy9mcmFtZXdvcmsvYWdlbnRzL2tub3dsZWRnZS1iYXNlL2JlZHJvY2sta25vd2xlZGdlLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFFQUFxRTtBQUNyRSxzQ0FBc0M7QUFFdEMsMkNBQTZCO0FBQzdCLDZDQUFvQztBQUNwQyxpREFBOEQ7QUFDOUQsNkRBQWtEO0FBRWxELCtEQUEwRDtBQVMxRDs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFhLG9CQUFxQixTQUFRLHVDQUFpQjs7SUFDekQ7Ozs7T0FJRztJQUNhLGVBQWUsQ0FBUztJQUV4Qzs7Ozs7T0FLRztJQUNhLGdCQUFnQixDQUFTO0lBRXpDOzs7OztPQUtHO0lBQ2MsZUFBZSxDQUEwQjtJQUUxRDs7Ozs7T0FLRztJQUNjLGlCQUFpQixDQUEyQjtJQUU3RDs7Ozs7Ozs7T0FRRztJQUNjLFlBQVksQ0FBb0M7SUFFakU7O09BRUc7SUFDYyxNQUFNLENBQVM7SUFFaEM7O09BRUc7SUFDYyxPQUFPLENBQVM7SUFFakM7Ozs7Ozs7T0FPRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZ0M7UUFDeEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWpDLE1BQU0sS0FBSyxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFFN0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDO1FBQzdDLElBQUksQ0FBQyxnQkFBZ0I7WUFDbkIsS0FBSyxDQUFDLGdCQUFnQjtnQkFDdEIsbUJBQW1CLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sbUJBQW1CLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMzRixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDdkMseUNBQXlDO1FBQ3pDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUMsV0FBVyxJQUFJLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDO1FBQ3JFLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUVqQyx5RUFBeUU7UUFDekUsb0VBQW9FO1FBQ3BFLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ssMEJBQTBCO1FBQ2hDLHFDQUFxQztRQUNyQywyQ0FBMkM7UUFDM0MseUNBQXlDO1FBQ3pDLGtEQUFrRDtRQUNsRCxzREFBc0Q7UUFDdEQscUNBQXFDO1FBQ3JDLHlEQUF5RDtRQUN6RCxFQUFFO1FBQ0Ysd0RBQXdEO1FBQ3hELHlEQUF5RDtRQUN6RCw0QkFBNEI7SUFDOUIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSyxvQkFBb0IsQ0FBQyxLQUFnQztRQUMzRCxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ2xFLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQztRQUNyRSxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7OztPQWNHO0lBQ0ksc0JBQXNCO1FBQzNCLE1BQU0sVUFBVSxHQUFzQjtZQUNwQyxJQUFJLHlCQUFlLENBQUM7Z0JBQ2xCLE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7Z0JBQ3BCLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFFLDZCQUE2QixDQUFDO2dCQUM1RCxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7YUFDbkMsQ0FBQztTQUNILENBQUM7UUFFRiwwQ0FBMEM7UUFDMUMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsVUFBVSxDQUFDLElBQUksQ0FDYixJQUFJLHlCQUFlLENBQUM7Z0JBQ2xCLE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7Z0JBQ3BCLE9BQU8sRUFBRSxDQUFDLHdCQUF3QixDQUFDO2dCQUNuQyxTQUFTLEVBQUU7b0JBQ1QsbUJBQW1CLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sY0FBYyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRTtpQkFDL0Y7YUFDRixDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUM7UUFFRCw4REFBOEQ7UUFDOUQsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxLQUFLLFlBQVksSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdEYsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUM7WUFDM0QsVUFBVSxDQUFDLElBQUksQ0FDYixJQUFJLHlCQUFlLENBQUM7Z0JBQ2xCLE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7Z0JBQ3BCLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQztnQkFDekIsU0FBUyxFQUFFO29CQUNULGdCQUFnQixJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxJQUFJLE1BQU0sR0FBRztpQkFDL0Q7YUFDRixDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUM7UUFFRCxrRUFBa0U7UUFDbEUsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztZQUNsRSxVQUFVLENBQUMsSUFBSSxDQUNiLElBQUkseUJBQWUsQ0FBQztnQkFDbEIsTUFBTSxFQUFFLGdCQUFNLENBQUMsS0FBSztnQkFDcEIsT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLGVBQWUsQ0FBQztnQkFDMUMsU0FBUyxFQUFFO29CQUNULGdCQUFnQixJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixFQUFFO29CQUN4RCxnQkFBZ0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsSUFBSSxnQkFBZ0IsR0FBRztpQkFDOUU7YUFDRixDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0ksbUJBQW1CO1FBQ3hCLE9BQU87WUFDTCxHQUFHLEtBQUssQ0FBQyxtQkFBbUIsRUFBRTtZQUM5QixJQUFJLEVBQUUsU0FBUztZQUNmLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtZQUNyQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1lBQ3ZDLFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1lBQ25DLFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZTtTQUNoQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLGtCQUFrQjtRQUN2QixPQUFPLElBQUkscUJBQUssQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLEVBQUU7WUFDN0MsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGtDQUFrQyxDQUFDO1lBQzlELE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUM7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUF4T0gsb0RBeU9DIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBFZmZlY3QsIFBvbGljeVN0YXRlbWVudCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgQXNzZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMtYXNzZXRzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQmFzZUtub3dsZWRnZUJhc2UgfSBmcm9tICcuL2Jhc2Uta25vd2xlZGdlLWJhc2UnO1xuaW1wb3J0IHtcbiAgQmVkcm9ja0tub3dsZWRnZUJhc2VQcm9wcyxcbiAgQ3JlYXRlS25vd2xlZGdlQmFzZUNvbmZpZ3VyYXRpb24sXG4gIEd1YXJkcmFpbENvbmZpZ3VyYXRpb24sXG4gIEtub3dsZWRnZUJhc2VSdW50aW1lQ29uZmlnLFxuICBWZWN0b3JTdG9yZUNvbmZpZ3VyYXRpb24sXG59IGZyb20gJy4va25vd2xlZGdlLWJhc2UtcHJvcHMnO1xuXG4vKipcbiAqIEFtYXpvbiBCZWRyb2NrIEtub3dsZWRnZSBCYXNlIGltcGxlbWVudGF0aW9uLlxuICpcbiAqIFRoaXMgY2xhc3MgcHJvdmlkZXMgaW50ZWdyYXRpb24gd2l0aCBBbWF6b24gQmVkcm9jayBLbm93bGVkZ2UgQmFzZXMsXG4gKiB3aGljaCB1c2UgdmVjdG9yIHN0b3JlcyAoUzMgVmVjdG9ycyBieSBkZWZhdWx0KSBmb3Igc2VtYW50aWMgc2VhcmNoLlxuICogSXQgaXMgdGhlIGRlZmF1bHQga25vd2xlZGdlIGJhc2UgaW1wbGVtZW50YXRpb24gd2hlbiBub25lIGlzIHNwZWNpZmllZC5cbiAqXG4gKiBUaGUgaW1wbGVtZW50YXRpb24gaGFuZGxlczpcbiAqIC0gQVJOIGNvbnN0cnVjdGlvbiBmcm9tIGtub3dsZWRnZSBiYXNlIElEIChpZiBBUk4gbm90IHByb3ZpZGVkKVxuICogLSBJQU0gcGVybWlzc2lvbiBnZW5lcmF0aW9uIGZvciBCZWRyb2NrIFJldHJpZXZlIGFuZCBSZXRyaWV2ZUFuZEdlbmVyYXRlIEFQSXNcbiAqIC0gT3B0aW9uYWwgZ3VhcmRyYWlsIGNvbmZpZ3VyYXRpb24gZm9yIGNvbnRlbnQgZmlsdGVyaW5nXG4gKiAtIFJ1bnRpbWUgY29uZmlndXJhdGlvbiBleHBvcnQgZm9yIHRoZSByZXRyaWV2YWwgdG9vbFxuICovXG5leHBvcnQgY2xhc3MgQmVkcm9ja0tub3dsZWRnZUJhc2UgZXh0ZW5kcyBCYXNlS25vd2xlZGdlQmFzZSB7XG4gIC8qKlxuICAgKiBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBCZWRyb2NrIEtub3dsZWRnZSBCYXNlLlxuICAgKlxuICAgKiBUaGlzIGlzIHRoZSBJRCBhc3NpZ25lZCBieSBCZWRyb2NrIHdoZW4gdGhlIGtub3dsZWRnZSBiYXNlIHdhcyBjcmVhdGVkLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGtub3dsZWRnZUJhc2VJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBCZWRyb2NrIEtub3dsZWRnZSBCYXNlLlxuICAgKlxuICAgKiBJZiBub3QgcHJvdmlkZWQgaW4gcHJvcHMsIHRoaXMgaXMgY29uc3RydWN0ZWQgZnJvbSB0aGUga25vd2xlZGdlQmFzZUlkXG4gICAqIHVzaW5nIHRoZSBjdXJyZW50IHJlZ2lvbiBhbmQgYWNjb3VudC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBrbm93bGVkZ2VCYXNlQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEd1YXJkcmFpbCBjb25maWd1cmF0aW9uIGZvciBjb250ZW50IGZpbHRlcmluZy5cbiAgICpcbiAgICogV2hlbiBjb25maWd1cmVkLCB0aGUgZ3VhcmRyYWlsIHdpbGwgYmUgYXBwbGllZCBkdXJpbmcgcmV0cmlldmFsXG4gICAqIG9wZXJhdGlvbnMgdG8gZmlsdGVyIGluYXBwcm9wcmlhdGUgb3Igc2Vuc2l0aXZlIGNvbnRlbnQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGd1YXJkcmFpbENvbmZpZz86IEd1YXJkcmFpbENvbmZpZ3VyYXRpb247XG5cbiAgLyoqXG4gICAqIFZlY3RvciBzdG9yZSBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSB0eXBlIG9mIHZlY3RvciBzdG9yZSB1c2VkIGJ5IHRoaXMga25vd2xlZGdlIGJhc2UuXG4gICAqIERlZmF1bHRzIHRvIFMzIFZlY3RvcnMgaWYgbm90IHNwZWNpZmllZC5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgdmVjdG9yU3RvcmVDb25maWc6IFZlY3RvclN0b3JlQ29uZmlndXJhdGlvbjtcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBmb3IgY3JlYXRpbmcgYSBuZXcga25vd2xlZGdlIGJhc2UuXG4gICAqXG4gICAqIFdoZW4gcHJvdmlkZWQsIGluZGljYXRlcyB0aGF0IHRoaXMgY29uc3RydWN0IHNob3VsZCBjcmVhdGUgYSBuZXdcbiAgICogQmVkcm9jayBLbm93bGVkZ2UgQmFzZSByYXRoZXIgdGhhbiByZWZlcmVuY2UgYW4gZXhpc3Rpbmcgb25lLlxuICAgKlxuICAgKiBOb3RlOiBLQiBjcmVhdGlvbiBpcyBhbiBhZHZhbmNlZCBmZWF0dXJlLiBDdXJyZW50bHksIHRoaXMgcHJvcGVydHlcbiAgICogc3RvcmVzIHRoZSBjb25maWd1cmF0aW9uIGZvciBmdXR1cmUgaW1wbGVtZW50YXRpb24uXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGNyZWF0ZUNvbmZpZz86IENyZWF0ZUtub3dsZWRnZUJhc2VDb25maWd1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIHJlZ2lvbiB3aGVyZSB0aGUga25vd2xlZGdlIGJhc2UgaXMgZGVwbG95ZWQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIGFjY291bnQgSUQgd2hlcmUgdGhlIGtub3dsZWRnZSBiYXNlIGlzIGRlcGxveWVkLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgQmVkcm9ja0tub3dsZWRnZUJhc2UgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSAtIFRoZSBzY29wZSBpbiB3aGljaCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGlkIC0gVGhlIHNjb3BlZCBjb25zdHJ1Y3QgSURcbiAgICogQHBhcmFtIHByb3BzIC0gQ29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgQmVkcm9jayBLbm93bGVkZ2UgQmFzZVxuICAgKiBAdGhyb3dzIEVycm9yIGlmIGtub3dsZWRnZUJhc2VJZCBpcyBlbXB0eSBvciBub3QgcHJvdmlkZWRcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBCZWRyb2NrS25vd2xlZGdlQmFzZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICB0aGlzLnZhbGlkYXRlQmVkcm9ja1Byb3BzKHByb3BzKTtcblxuICAgIGNvbnN0IHN0YWNrID0gU3RhY2sub2YodGhpcyk7XG4gICAgdGhpcy5yZWdpb24gPSBzdGFjay5yZWdpb247XG4gICAgdGhpcy5hY2NvdW50ID0gc3RhY2suYWNjb3VudDtcblxuICAgIHRoaXMua25vd2xlZGdlQmFzZUlkID0gcHJvcHMua25vd2xlZGdlQmFzZUlkO1xuICAgIHRoaXMua25vd2xlZGdlQmFzZUFybiA9XG4gICAgICBwcm9wcy5rbm93bGVkZ2VCYXNlQXJuID8/XG4gICAgICBgYXJuOmF3czpiZWRyb2NrOiR7dGhpcy5yZWdpb259OiR7dGhpcy5hY2NvdW50fTprbm93bGVkZ2UtYmFzZS8ke3Byb3BzLmtub3dsZWRnZUJhc2VJZH1gO1xuICAgIHRoaXMuZ3VhcmRyYWlsQ29uZmlnID0gcHJvcHMuZ3VhcmRyYWlsO1xuICAgIC8vIERlZmF1bHQgdG8gUzMgVmVjdG9ycyBpZiBub3Qgc3BlY2lmaWVkXG4gICAgdGhpcy52ZWN0b3JTdG9yZUNvbmZpZyA9IHByb3BzLnZlY3RvclN0b3JlID8/IHsgdHlwZTogJ3MzLXZlY3RvcnMnIH07XG4gICAgdGhpcy5jcmVhdGVDb25maWcgPSBwcm9wcy5jcmVhdGU7XG5cbiAgICAvLyBOb3RlOiBLQiBjcmVhdGlvbiBpcyBoYW5kbGVkIHNlcGFyYXRlbHkgd2hlbiBjcmVhdGUgY29uZmlnIGlzIHByb3ZpZGVkXG4gICAgLy8gVGhpcyBpcyBhbiBhZHZhbmNlZCBmZWF0dXJlIHRoYXQgd2lsbCBjcmVhdGUgYWN0dWFsIEFXUyByZXNvdXJjZXNcbiAgICBpZiAodGhpcy5jcmVhdGVDb25maWcpIHtcbiAgICAgIHRoaXMuc2V0dXBLbm93bGVkZ2VCYXNlQ3JlYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB1cCBrbm93bGVkZ2UgYmFzZSBjcmVhdGlvbiB3aGVuIGNyZWF0ZSBjb25maWd1cmF0aW9uIGlzIHByb3ZpZGVkLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgZHVyaW5nIGNvbnN0cnVjdGlvbiB3aGVuIHRoZSBgY3JlYXRlYCBwcm9wZXJ0eVxuICAgKiBpcyBzcGVjaWZpZWQuIEl0IHByZXBhcmVzIHRoZSBuZWNlc3NhcnkgcmVzb3VyY2VzIGZvciBjcmVhdGluZyBhIG5ld1xuICAgKiBCZWRyb2NrIEtub3dsZWRnZSBCYXNlLlxuICAgKlxuICAgKiBOb3RlOiBGdWxsIEtCIGNyZWF0aW9uIGltcGxlbWVudGF0aW9uIHJlcXVpcmVzIENsb3VkRm9ybWF0aW9uIGN1c3RvbVxuICAgKiByZXNvdXJjZXMgb3IgTDEgY29uc3RydWN0cy4gVGhpcyBpcyBhIHBsYWNlaG9sZGVyIGZvciBmdXR1cmUgaW1wbGVtZW50YXRpb24uXG4gICAqL1xuICBwcml2YXRlIHNldHVwS25vd2xlZGdlQmFzZUNyZWF0aW9uKCk6IHZvaWQge1xuICAgIC8vIEtCIGNyZWF0aW9uIGlzIGFuIGFkdmFuY2VkIGZlYXR1cmVcbiAgICAvLyBUaGUgYWN0dWFsIGltcGxlbWVudGF0aW9uIHdvdWxkIGludm9sdmU6XG4gICAgLy8gMS4gQ3JlYXRpbmcgYW4gSUFNIHJvbGUgZm9yIEJlZHJvY2sgS0JcbiAgICAvLyAyLiBDcmVhdGluZyB0aGUgQmVkcm9jayBLQiB2aWEgQ2ZuS25vd2xlZGdlQmFzZVxuICAgIC8vIDMuIENyZWF0aW5nIGEgZGF0YSBzb3VyY2UgcG9pbnRpbmcgdG8gdGhlIFMzIGJ1Y2tldFxuICAgIC8vIDQuIENvbmZpZ3VyaW5nIHRoZSBlbWJlZGRpbmcgbW9kZWxcbiAgICAvLyA1LiBTZXR0aW5nIHVwIHRoZSB2ZWN0b3Igc3RvcmUgKFMzIFZlY3RvcnMgYnkgZGVmYXVsdClcbiAgICAvL1xuICAgIC8vIEZvciBub3csIHRoaXMgc3RvcmVzIHRoZSBjb25maWd1cmF0aW9uIGZvciByZWZlcmVuY2UuXG4gICAgLy8gVXNlcnMgc2hvdWxkIGNyZWF0ZSBLQnMgdmlhIHRoZSBCZWRyb2NrIGNvbnNvbGUgb3IgQ0xJXG4gICAgLy8gYW5kIHJlZmVyZW5jZSB0aGVtIGJ5IElELlxuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyBCZWRyb2NrLXNwZWNpZmljIHByb3BzIGF0IGNvbnN0cnVjdGlvbiB0aW1lLlxuICAgKlxuICAgKiBFbnN1cmVzIHRoYXQgdGhlIGtub3dsZWRnZUJhc2VJZCBpcyBwcm92aWRlZCBhbmQgbm90IGVtcHR5LlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgLSBUaGUgcHJvcHMgdG8gdmFsaWRhdGVcbiAgICogQHRocm93cyBFcnJvciBpZiBrbm93bGVkZ2VCYXNlSWQgaXMgZW1wdHkgb3Igbm90IHByb3ZpZGVkXG4gICAqL1xuICBwcml2YXRlIHZhbGlkYXRlQmVkcm9ja1Byb3BzKHByb3BzOiBCZWRyb2NrS25vd2xlZGdlQmFzZVByb3BzKTogdm9pZCB7XG4gICAgaWYgKCFwcm9wcy5rbm93bGVkZ2VCYXNlSWQgfHwgcHJvcHMua25vd2xlZGdlQmFzZUlkLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigna25vd2xlZGdlQmFzZUlkIGlzIHJlcXVpcmVkIGFuZCBjYW5ub3QgYmUgZW1wdHknKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgSUFNIHBvbGljeSBzdGF0ZW1lbnRzIHJlcXVpcmVkIGZvciBhY2Nlc3NpbmcgdGhpcyBCZWRyb2NrIEtub3dsZWRnZSBCYXNlLlxuICAgKlxuICAgKiBSZXR1cm5zIHBlcm1pc3Npb25zIGZvcjpcbiAgICogLSBiZWRyb2NrOlJldHJpZXZlIC0gUXVlcnkgdGhlIGtub3dsZWRnZSBiYXNlXG4gICAqIC0gYmVkcm9jazpSZXRyaWV2ZUFuZEdlbmVyYXRlIC0gUXVlcnkgYW5kIGdlbmVyYXRlIHJlc3BvbnNlc1xuICAgKiAtIGJlZHJvY2s6QXBwbHlHdWFyZHJhaWwgLSBBcHBseSBndWFyZHJhaWwgKGlmIGNvbmZpZ3VyZWQpXG4gICAqIC0gczM6R2V0T2JqZWN0IC0gQWNjZXNzIFMzIHZlY3RvcnMgKGlmIHVzaW5nIFMzIFZlY3RvcnMgd2l0aCBjdXN0b20gYnVja2V0KVxuICAgKiAtIHMzOkdldE9iamVjdCAtIEFjY2VzcyBkYXRhIHNvdXJjZSBidWNrZXQgKGlmIGNyZWF0ZSBjb25maWcgcHJvdmlkZWQpXG4gICAqXG4gICAqIEFsbCBwZXJtaXNzaW9ucyBhcmUgc2NvcGVkIHRvIHRoZSBzcGVjaWZpYyBrbm93bGVkZ2UgYmFzZSBBUk5cbiAgICogZm9sbG93aW5nIHRoZSBwcmluY2lwbGUgb2YgbGVhc3QgcHJpdmlsZWdlLlxuICAgKlxuICAgKiBAcmV0dXJucyBBcnJheSBvZiBJQU0gUG9saWN5U3RhdGVtZW50IG9iamVjdHMgZ3JhbnRpbmcgbmVjZXNzYXJ5IHBlcm1pc3Npb25zXG4gICAqL1xuICBwdWJsaWMgZ2VuZXJhdGVJYW1QZXJtaXNzaW9ucygpOiBQb2xpY3lTdGF0ZW1lbnRbXSB7XG4gICAgY29uc3Qgc3RhdGVtZW50czogUG9saWN5U3RhdGVtZW50W10gPSBbXG4gICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgIGFjdGlvbnM6IFsnYmVkcm9jazpSZXRyaWV2ZScsICdiZWRyb2NrOlJldHJpZXZlQW5kR2VuZXJhdGUnXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbdGhpcy5rbm93bGVkZ2VCYXNlQXJuXSxcbiAgICAgIH0pLFxuICAgIF07XG5cbiAgICAvLyBBZGQgZ3VhcmRyYWlsIHBlcm1pc3Npb25zIGlmIGNvbmZpZ3VyZWRcbiAgICBpZiAodGhpcy5ndWFyZHJhaWxDb25maWcpIHtcbiAgICAgIHN0YXRlbWVudHMucHVzaChcbiAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgICAgYWN0aW9uczogWydiZWRyb2NrOkFwcGx5R3VhcmRyYWlsJ10sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICBgYXJuOmF3czpiZWRyb2NrOiR7dGhpcy5yZWdpb259OiR7dGhpcy5hY2NvdW50fTpndWFyZHJhaWwvJHt0aGlzLmd1YXJkcmFpbENvbmZpZy5ndWFyZHJhaWxJZH1gLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBBZGQgUzMgcGVybWlzc2lvbnMgaWYgdXNpbmcgUzMgVmVjdG9ycyB3aXRoIGEgY3VzdG9tIGJ1Y2tldFxuICAgIGlmICh0aGlzLnZlY3RvclN0b3JlQ29uZmlnLnR5cGUgPT09ICdzMy12ZWN0b3JzJyAmJiB0aGlzLnZlY3RvclN0b3JlQ29uZmlnLmJ1Y2tldE5hbWUpIHtcbiAgICAgIGNvbnN0IHByZWZpeCA9IHRoaXMudmVjdG9yU3RvcmVDb25maWcucHJlZml4ID8/ICd2ZWN0b3JzLyc7XG4gICAgICBzdGF0ZW1lbnRzLnB1c2goXG4gICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICAgIGFjdGlvbnM6IFsnczM6R2V0T2JqZWN0J10sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICBgYXJuOmF3czpzMzo6OiR7dGhpcy52ZWN0b3JTdG9yZUNvbmZpZy5idWNrZXROYW1lfS8ke3ByZWZpeH0qYCxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQWRkIGRhdGEgc291cmNlIGJ1Y2tldCBwZXJtaXNzaW9ucyBpZiBjcmVhdGUgY29uZmlnIGlzIHByb3ZpZGVkXG4gICAgaWYgKHRoaXMuY3JlYXRlQ29uZmlnKSB7XG4gICAgICBjb25zdCBkYXRhU291cmNlUHJlZml4ID0gdGhpcy5jcmVhdGVDb25maWcuZGF0YVNvdXJjZVByZWZpeCA/PyAnJztcbiAgICAgIHN0YXRlbWVudHMucHVzaChcbiAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgICAgYWN0aW9uczogWydzMzpHZXRPYmplY3QnLCAnczM6TGlzdEJ1Y2tldCddLFxuICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgYGFybjphd3M6czM6Ojoke3RoaXMuY3JlYXRlQ29uZmlnLmRhdGFTb3VyY2VCdWNrZXROYW1lfWAsXG4gICAgICAgICAgICBgYXJuOmF3czpzMzo6OiR7dGhpcy5jcmVhdGVDb25maWcuZGF0YVNvdXJjZUJ1Y2tldE5hbWV9LyR7ZGF0YVNvdXJjZVByZWZpeH0qYCxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudHM7XG4gIH1cblxuICAvKipcbiAgICogRXhwb3J0IGNvbmZpZ3VyYXRpb24gZm9yIHJ1bnRpbWUgdXNlIGJ5IHRoZSByZXRyaWV2YWwgdG9vbC5cbiAgICpcbiAgICogUmV0dXJucyBhIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGNvbnRhaW5pbmcgYWxsIEJlZHJvY2stc3BlY2lmaWNcbiAgICogc2V0dGluZ3MgbmVlZGVkIHRvIHF1ZXJ5IHRoZSBrbm93bGVkZ2UgYmFzZSBhdCBydW50aW1lLCBpbmNsdWRpbmc6XG4gICAqIC0gQmFzZSBjb25maWd1cmF0aW9uIChuYW1lLCBkZXNjcmlwdGlvbiwgcmV0cmlldmFsLCBhY2wpXG4gICAqIC0gS25vd2xlZGdlIGJhc2UgdHlwZSAoJ2JlZHJvY2snKVxuICAgKiAtIEtub3dsZWRnZSBiYXNlIElEIGFuZCBBUk5cbiAgICogLSBWZWN0b3Igc3RvcmUgY29uZmlndXJhdGlvblxuICAgKiAtIEd1YXJkcmFpbCBjb25maWd1cmF0aW9uIChpZiBwcmVzZW50KVxuICAgKlxuICAgKiBAcmV0dXJucyBSdW50aW1lIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGZvciB0aGUgcmV0cmlldmFsIHRvb2xcbiAgICovXG4gIHB1YmxpYyBleHBvcnRDb25maWd1cmF0aW9uKCk6IEtub3dsZWRnZUJhc2VSdW50aW1lQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3VwZXIuZXhwb3J0Q29uZmlndXJhdGlvbigpLFxuICAgICAgdHlwZTogJ2JlZHJvY2snLFxuICAgICAga25vd2xlZGdlQmFzZUlkOiB0aGlzLmtub3dsZWRnZUJhc2VJZCxcbiAgICAgIGtub3dsZWRnZUJhc2VBcm46IHRoaXMua25vd2xlZGdlQmFzZUFybixcbiAgICAgIHZlY3RvclN0b3JlOiB0aGlzLnZlY3RvclN0b3JlQ29uZmlnLFxuICAgICAgZ3VhcmRyYWlsOiB0aGlzLmd1YXJkcmFpbENvbmZpZyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3ZpZGUgdGhlIEJlZHJvY2stc3BlY2lmaWMgcmV0cmlldmFsIHRvb2wgYXNzZXQuXG4gICAqXG4gICAqIFJldHVybnMgYW4gQXNzZXQgY29udGFpbmluZyB0aGUgUHl0aG9uIHJldHJpZXZhbCB0b29sIHRoYXQgdXNlc1xuICAgKiB0aGUgQW1hem9uIEJlZHJvY2sgQWdlbnQgUnVudGltZSBBUEkgdG8gcXVlcnkga25vd2xlZGdlIGJhc2VzLlxuICAgKiBUaGlzIHRvb2wgaXMgYXV0b21hdGljYWxseSBhZGRlZCB0byBhZ2VudHMgdGhhdCB1c2UgQmVkcm9ja1xuICAgKiBrbm93bGVkZ2UgYmFzZXMuXG4gICAqXG4gICAqIEByZXR1cm5zIEFzc2V0IGNvbnRhaW5pbmcgdGhlIEJlZHJvY2sgcmV0cmlldmFsIHRvb2xcbiAgICovXG4gIHB1YmxpYyByZXRyaWV2YWxUb29sQXNzZXQoKTogQXNzZXQge1xuICAgIHJldHVybiBuZXcgQXNzZXQodGhpcywgJ0JlZHJvY2tSZXRyaWV2YWxUb29sJywge1xuICAgICAgcGF0aDogcGF0aC5qb2luKF9fZGlybmFtZSwgJy4uL3Jlc291cmNlcy9rbm93bGVkZ2UtYmFzZS10b29sJyksXG4gICAgICBleGNsdWRlOiBbJ3Rlc3RfKicsICcqX3Rlc3QucHknXSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,13 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
3
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
36
|
exports.LocalStackBatchAgent = void 0;
|
|
5
37
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
-
const path = require("path");
|
|
38
|
+
const path = __importStar(require("path"));
|
|
7
39
|
const aws_lambda_1 = require("aws-cdk-lib/aws-lambda");
|
|
8
40
|
const batch_agent_1 = require("./batch-agent");
|
|
9
41
|
const localstack_1 = require("../localstack");
|
|
10
42
|
class LocalStackBatchAgent extends batch_agent_1.BatchAgent {
|
|
43
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.LocalStackBatchAgent", version: "1.17.2" };
|
|
11
44
|
constructor(scope, id, props) {
|
|
12
45
|
super(scope, id, props);
|
|
13
46
|
const localStackEnv = localstack_1.LocalStackIntegrationUtils.toLambdaEnvironment({
|
|
@@ -28,6 +61,4 @@ class LocalStackBatchAgent extends batch_agent_1.BatchAgent {
|
|
|
28
61
|
}
|
|
29
62
|
}
|
|
30
63
|
exports.LocalStackBatchAgent = LocalStackBatchAgent;
|
|
31
|
-
|
|
32
|
-
LocalStackBatchAgent[_a] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.LocalStackBatchAgent", version: "1.17.0" };
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxzdGFjay1iYXRjaC1hZ2VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3VzZS1jYXNlcy9mcmFtZXdvcmsvYWdlbnRzL2xvY2Fsc3RhY2stYmF0Y2gtYWdlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2QkFBNkI7QUFDN0IsdURBQW9FO0FBRXBFLCtDQUE0RDtBQUM1RCw4Q0FBd0Y7QUFXeEYsTUFBYSxvQkFBcUIsU0FBUSx3QkFBVTtJQUNsRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWdDO1FBQ3hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLE1BQU0sYUFBYSxHQUFHLHVDQUEwQixDQUFDLG1CQUFtQixDQUFDO1lBQ25FLE9BQU8sRUFBRSxJQUFJO1lBQ2IsR0FBRyxLQUFLLENBQUMsVUFBVTtTQUNwQixDQUFDLENBQUM7UUFFSCxLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsQ0FBQyxLQUFLLFlBQVkscUJBQWMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZDLFNBQVM7WUFDWCxDQUFDO1lBQ0QsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztnQkFDekQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbkMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRVMsd0JBQXdCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsZ0NBQWdDLENBQUMsQ0FBQztJQUNoRSxDQUFDOztBQXJCSCxvREFzQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgRnVuY3Rpb24gYXMgTGFtYmRhRnVuY3Rpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQmF0Y2hBZ2VudCwgQmF0Y2hBZ2VudFByb3BzIH0gZnJvbSAnLi9iYXRjaC1hZ2VudCc7XG5pbXBvcnQgeyBMb2NhbFN0YWNrRW5kcG9pbnRPdmVycmlkZXMsIExvY2FsU3RhY2tJbnRlZ3JhdGlvblV0aWxzIH0gZnJvbSAnLi4vbG9jYWxzdGFjayc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYWxTdGFja0JhdGNoQWdlbnRQcm9wcyBleHRlbmRzIEJhdGNoQWdlbnRQcm9wcyB7XG4gIC8qKlxuICAgKiBMb2NhbFN0YWNrIGVuZHBvaW50IHJvdXRpbmcgY29uZmlndXJhdGlvbiBmb3IgTGFtYmRhIHJ1bnRpbWUgU0RLIGNhbGxzLlxuICAgKlxuICAgKiBAZGVmYXVsdCB7IGVuYWJsZWQ6IHRydWUgfVxuICAgKi9cbiAgcmVhZG9ubHkgbG9jYWxTdGFjaz86IExvY2FsU3RhY2tFbmRwb2ludE92ZXJyaWRlcztcbn1cblxuZXhwb3J0IGNsYXNzIExvY2FsU3RhY2tCYXRjaEFnZW50IGV4dGVuZHMgQmF0Y2hBZ2VudCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBMb2NhbFN0YWNrQmF0Y2hBZ2VudFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICBjb25zdCBsb2NhbFN0YWNrRW52ID0gTG9jYWxTdGFja0ludGVncmF0aW9uVXRpbHMudG9MYW1iZGFFbnZpcm9ubWVudCh7XG4gICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgLi4ucHJvcHMubG9jYWxTdGFjayxcbiAgICB9KTtcblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgdGhpcy5ub2RlLmZpbmRBbGwoKSkge1xuICAgICAgaWYgKCEoY2hpbGQgaW5zdGFuY2VvZiBMYW1iZGFGdW5jdGlvbikpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhsb2NhbFN0YWNrRW52KSkge1xuICAgICAgICBjaGlsZC5hZGRFbnZpcm9ubWVudChrZXksIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVzb2x2ZUFnZW50UnVudGltZUVudHJ5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhdGguam9pbihfX2Rpcm5hbWUsICdyZXNvdXJjZXMvZGVmYXVsdC1vbGxhbWEtYWdlbnQnKTtcbiAgfVxufVxuIl19
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxzdGFjay1iYXRjaC1hZ2VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3VzZS1jYXNlcy9mcmFtZXdvcmsvYWdlbnRzL2xvY2Fsc3RhY2stYmF0Y2gtYWdlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUE2QjtBQUM3Qix1REFBb0U7QUFFcEUsK0NBQTREO0FBQzVELDhDQUF3RjtBQVd4RixNQUFhLG9CQUFxQixTQUFRLHdCQUFVOztJQUNsRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWdDO1FBQ3hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLE1BQU0sYUFBYSxHQUFHLHVDQUEwQixDQUFDLG1CQUFtQixDQUFDO1lBQ25FLE9BQU8sRUFBRSxJQUFJO1lBQ2IsR0FBRyxLQUFLLENBQUMsVUFBVTtTQUNwQixDQUFDLENBQUM7UUFFSCxLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsQ0FBQyxLQUFLLFlBQVkscUJBQWMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZDLFNBQVM7WUFDWCxDQUFDO1lBQ0QsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztnQkFDekQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbkMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRVMsd0JBQXdCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsZ0NBQWdDLENBQUMsQ0FBQztJQUNoRSxDQUFDOztBQXJCSCxvREFzQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgRnVuY3Rpb24gYXMgTGFtYmRhRnVuY3Rpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQmF0Y2hBZ2VudCwgQmF0Y2hBZ2VudFByb3BzIH0gZnJvbSAnLi9iYXRjaC1hZ2VudCc7XG5pbXBvcnQgeyBMb2NhbFN0YWNrRW5kcG9pbnRPdmVycmlkZXMsIExvY2FsU3RhY2tJbnRlZ3JhdGlvblV0aWxzIH0gZnJvbSAnLi4vbG9jYWxzdGFjayc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYWxTdGFja0JhdGNoQWdlbnRQcm9wcyBleHRlbmRzIEJhdGNoQWdlbnRQcm9wcyB7XG4gIC8qKlxuICAgKiBMb2NhbFN0YWNrIGVuZHBvaW50IHJvdXRpbmcgY29uZmlndXJhdGlvbiBmb3IgTGFtYmRhIHJ1bnRpbWUgU0RLIGNhbGxzLlxuICAgKlxuICAgKiBAZGVmYXVsdCB7IGVuYWJsZWQ6IHRydWUgfVxuICAgKi9cbiAgcmVhZG9ubHkgbG9jYWxTdGFjaz86IExvY2FsU3RhY2tFbmRwb2ludE92ZXJyaWRlcztcbn1cblxuZXhwb3J0IGNsYXNzIExvY2FsU3RhY2tCYXRjaEFnZW50IGV4dGVuZHMgQmF0Y2hBZ2VudCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBMb2NhbFN0YWNrQmF0Y2hBZ2VudFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICBjb25zdCBsb2NhbFN0YWNrRW52ID0gTG9jYWxTdGFja0ludGVncmF0aW9uVXRpbHMudG9MYW1iZGFFbnZpcm9ubWVudCh7XG4gICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgLi4ucHJvcHMubG9jYWxTdGFjayxcbiAgICB9KTtcblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgdGhpcy5ub2RlLmZpbmRBbGwoKSkge1xuICAgICAgaWYgKCEoY2hpbGQgaW5zdGFuY2VvZiBMYW1iZGFGdW5jdGlvbikpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhsb2NhbFN0YWNrRW52KSkge1xuICAgICAgICBjaGlsZC5hZGRFbnZpcm9ubWVudChrZXksIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVzb2x2ZUFnZW50UnVudGltZUVudHJ5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhdGguam9pbihfX2Rpcm5hbWUsICdyZXNvdXJjZXMvZGVmYXVsdC1vbGxhbWEtYWdlbnQnKTtcbiAgfVxufVxuIl19
|
|
@@ -1,8 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
5
|
+
if (k2 === undefined) k2 = k;
|
|
6
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
7
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
8
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
9
|
+
}
|
|
10
|
+
Object.defineProperty(o, k2, desc);
|
|
11
|
+
}) : (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
o[k2] = m[k];
|
|
14
|
+
}));
|
|
15
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
16
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
17
|
+
}) : function(o, v) {
|
|
18
|
+
o["default"] = v;
|
|
19
|
+
});
|
|
20
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
21
|
+
var ownKeys = function(o) {
|
|
22
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
23
|
+
var ar = [];
|
|
24
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
25
|
+
return ar;
|
|
26
|
+
};
|
|
27
|
+
return ownKeys(o);
|
|
28
|
+
};
|
|
29
|
+
return function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
})();
|
|
4
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
const path = require("path");
|
|
38
|
+
const path = __importStar(require("path"));
|
|
6
39
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
7
40
|
const assertions_1 = require("aws-cdk-lib/assertions");
|
|
8
41
|
const aws_bedrock_1 = require("aws-cdk-lib/aws-bedrock");
|
|
@@ -367,4 +400,4 @@ describe('Agent Knowledge Base CDK Nag Tests', () => {
|
|
|
367
400
|
});
|
|
368
401
|
});
|
|
369
402
|
});
|
|
370
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQta25vd2xlZGdlLWJhc2UtbmFnLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi91c2UtY2FzZXMvZnJhbWV3b3JrL2FnZW50cy90ZXN0cy9hZ2VudC1rbm93bGVkZ2UtYmFzZS1uYWcudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEscUVBQXFFO0FBQ3JFLHNDQUFzQzs7QUFFdEMsNkJBQTZCO0FBQzdCLDZDQUE2QztBQUM3Qyx1REFBNEQ7QUFDNUQseURBQW9FO0FBQ3BFLDZEQUFrRDtBQUNsRCxxQ0FBOEQ7QUFDOUQsOERBQThEO0FBQzlELGdEQUE0QztBQUM1QyxzREFBeUQ7QUFFekQsTUFBTSxTQUFTLEdBQUcsdUNBQXlCLENBQUMsdUNBQXVDLENBQUM7QUFFcEYsUUFBUSxDQUFDLG9DQUFvQyxFQUFFLEdBQUcsRUFBRTtJQUNsRCxRQUFRLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxFQUFFO1FBQ3JDLElBQUksQ0FBQyxrREFBa0QsRUFBRSxHQUFHLEVBQUU7WUFDNUQsTUFBTSxHQUFHLEdBQUcsSUFBQSwwQkFBYSxHQUFFLENBQUM7WUFDNUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxtQkFBSyxDQUFDLEdBQUcsRUFBRSxXQUFXLEVBQUU7Z0JBQ3hDLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRTthQUN0RCxDQUFDLENBQUM7WUFFSCxNQUFNLFlBQVksR0FBRyxJQUFJLHFCQUFLLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRTtnQkFDcEQsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLDZDQUE2QyxDQUFDO2FBQzFFLENBQUMsQ0FBQztZQUVILE1BQU0sRUFBRSxHQUFHLElBQUkscUNBQW9CLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRTtnQkFDeEQsSUFBSSxFQUFFLHVCQUF1QjtnQkFDN0IsV0FBVyxFQUFFLGdDQUFn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RDtvQkFDL0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQy9CLDBDQUEwQztvQkFDMUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztnQkFDckQsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IEFzcGVjdHMsIFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQW5ub3RhdGlvbnMsIE1hdGNoIH0gZnJvbSAnYXdzLWNkay1saWIvYXNzZXJ0aW9ucyc7XG5pbXBvcnQgeyBGb3VuZGF0aW9uTW9kZWxJZGVudGlmaWVyIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWJlZHJvY2snO1xuaW1wb3J0IHsgQXNzZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMtYXNzZXRzJztcbmltcG9ydCB7IEF3c1NvbHV0aW9uc0NoZWNrcywgTmFnU3VwcHJlc3Npb25zIH0gZnJvbSAnY2RrLW5hZyc7XG5pbXBvcnQgeyBjcmVhdGVUZXN0QXBwIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3Rlc3QtdXRpbHMnO1xuaW1wb3J0IHsgQmF0Y2hBZ2VudCB9IGZyb20gJy4uL2JhdGNoLWFnZW50JztcbmltcG9ydCB7IEJlZHJvY2tLbm93bGVkZ2VCYXNlIH0gZnJvbSAnLi4va25vd2xlZGdlLWJhc2UnO1xuXG5jb25zdCB0ZXN0TW9kZWwgPSBGb3VuZGF0aW9uTW9kZWxJZGVudGlmaWVyLkFOVEhST1BJQ19DTEFVREVfM19TT05ORVRfMjAyNDAyMjlfVjFfMDtcblxuZGVzY3JpYmUoJ0FnZW50IEtub3dsZWRnZSBCYXNlIENESyBOYWcgVGVzdHMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdTaW5nbGUgS25vd2xlZGdlIEJhc2UnLCAoKSA9PiB7XG4gICAgdGVzdCgnYWdlbnQgd2l0aCBzaW5nbGUgS0IgcGFzc2VzIEFXUyBTb2x1dGlvbnMgY2hlY2tzJywgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gY3JlYXRlVGVzdEFwcCgpO1xuICAgICAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCAnVGVzdFN0YWNrJywge1xuICAgICAgICBlbnY6IHsgYWNjb3VudDogJzEyMzQ1Njc4OTAxMicsIHJlZ2lvbjogJ3VzLWVhc3QtMScgfSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBzeXN0ZW1Qcm9tcHQgPSBuZXcgQXNzZXQoc3RhY2ssICdTeXN0ZW1Qcm9tcHQnLCB7XG4gICAgICAgIHBhdGg6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi9yZXNvdXJjZXMvZGVmYXVsdC1zdHJhbmRzLWFnZW50L2JhdGNoLnB5JyksXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qga2IgPSBuZXcgQmVkcm9ja0tub3dsZWRnZUJhc2Uoc3RhY2ssICdQcm9kdWN0RG9jcycsIHtcbiAgICAgICAgbmFtZTogJ3Byb2R1Y3QtZG9jdW1lbnRhdGlvbicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUHJvZHVjdCBkb2N1bWVudGF0aW9uIGFuZCBGQVFzJyxcbiAgICAgICAga25vd2xlZGdlQmFzZUlkOiAnQUJDRDEyMzQnLFxuICAgICAgfSk7XG5cbiAgICAgIG5ldyBCYXRjaEFnZW50KHN0YWNrLCAnQWdlbnQnLCB7XG4gICAgICAgIGFnZW50TmFtZTogJ1Rlc3RBZ2VudCcsXG4gICAgICAgIHByb21wdDogJ1Rlc3QgcHJvbXB0JyxcbiAgICAgICAgYWdlbnREZWZpbml0aW9uOiB7XG4gICAgICAgICAgYmVkcm9ja01vZGVsOiB7IGZtTW9kZWxJZDogdGVzdE1vZGVsIH0sXG4gICAgICAgICAgc3lzdGVtUHJvbXB0LFxuICAgICAgICAgIGtub3dsZWRnZUJhc2VzOiBba2JdLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIEFzcGVjdHMub2Yoc3RhY2spLmFkZChuZXcgQXdzU29sdXRpb25zQ2hlY2tzKHsgdmVyYm9zZTogdHJ1ZSB9KSk7XG5cbiAgICAgIC8vIFN1cHByZXNzaW9ucyB3aXRoIGRvY3VtZW50ZWQganVzdGlmaWNhdGlvbnNcbiAgICAgIE5hZ1N1cHByZXNzaW9ucy5hZGRTdGFja1N1cHByZXNzaW9ucyhzdGFjaywgW1xuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICdBd3NTb2x1dGlvbnMtSUFNNCcsXG4gICAgICAgICAgcmVhc29uOiAnTWFuYWdlZCBwb2xpY2llcyAoQVdTTGFtYmRhQmFzaWNFeGVjdXRpb25Sb2xlKSBhcmUgYWNjZXB0YWJsZSBmb3IgTGFtYmRhIGV4ZWN1dGlvbiByb2xlIGFzIHRoZXkgcHJvdmlkZSBtaW5pbWFsIHJlcXVpcmVkIHBlcm1pc3Npb25zIGZvciBDbG91ZFdhdGNoIExvZ3MnLFxuICAgICAgICAgIGFwcGxpZXNUbzogWydQb2xpY3k6OmFybjo8QVdTOjpQYXJ0aXRpb24+OmlhbTo6YXdzOnBvbGljeS9zZXJ2aWNlLXJvbGUvQVdTTGFtYmRhQmFzaWNFeGVjdXRpb25Sb2xlJ10sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ0F3c1NvbHV0aW9ucy1JQU01JyxcbiAgICAgICAgICByZWFzb246ICdXaWxkY2FyZCBwZXJtaXNzaW9ucyBhcmUgcmVxdWlyZWQgZm9yOiAoMSkgUzMgYXNzZXQgYWNjZXNzIHBhdHRlcm5zLCAoMikgQmVkcm9jayBtb2RlbCBpbnZvY2F0aW9uIGFjcm9zcyByZWdpb25zLCAoMykgQ2xvdWRXYXRjaCBMb2dzIHN0cmVhbSBjcmVhdGlvbi4gQWxsIHdpbGRjYXJkcyBhcmUgc2NvcGVkIHRvIHNwZWNpZmljIHJlc291cmNlcy4nLFxuICAgICAgICAgIGFwcGxpZXNUbzogW1xuICAgICAgICAgICAgJ0FjdGlvbjo6czM6R2V0T2JqZWN0KicsXG4gICAgICAgICAgICAnQWN0aW9uOjpzMzpHZXRCdWNrZXQqJyxcbiAgICAgICAgICAgICdBY3Rpb246OnMzOkxpc3QqJyxcbiAgICAgICAgICAgICdSZXNvdXJjZTo6KicsXG4gICAgICAgICAgICAnUmVzb3VyY2U6OmFybjphd3M6YmVkcm9jazoqOjpmb3VuZGF0aW9uLW1vZGVsL2FudGhyb3BpYy5jbGF1ZGUtMy1zb25uZXQtMjAyNDAyMjktdjE6MCcsXG4gICAgICAgICAgICAnUmVzb3VyY2U6OmFybjphd3M6bG9nczp1cy1lYXN0LTE6MTIzNDU2Nzg5MDEyOmxvZy1ncm91cDovYXdzL2xhbWJkYS9UZXN0QWdlbnQtdGVzdHN0YWNrYWdlbnRhYTJhZjBjNDoqJyxcbiAgICAgICAgICAgICdSZXNvdXJjZTo6YXJuOjxBV1M6OlBhcnRpdGlvbj46czM6OjpjZGstaG5iNjU5ZmRzLWFzc2V0cy0xMjM0NTY3ODkwMTItdXMtZWFzdC0xLyonLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ0F3c1NvbHV0aW9ucy1MMScsXG4gICAgICAgICAgcmVhc29uOiAnTGFtYmRhIHJ1bnRpbWUgaXMgbWFuYWdlZCBieSBjb25zdHJ1Y3QgZGVmYXVsdHMgYW5kIHVwZGF0ZWQgYXMgcGFydCBvZiByZWd1bGFyIG1haW50ZW5hbmNlJyxcbiAgICAgICAgfSxcbiAgICAgIF0pO1xuXG4gICAgICBjb25zdCBlcnJvcnMgPSBBbm5vdGF0aW9ucy5mcm9tU3RhY2soc3RhY2spLmZpbmRFcnJvcihcbiAgICAgICAgJyonLFxuICAgICAgICBNYXRjaC5zdHJpbmdMaWtlUmVnZXhwKCdBd3NTb2x1dGlvbnMtLionKSxcbiAgICAgICk7XG4gICAgICBleHBlY3QoZXJyb3JzKS50b0hhdmVMZW5ndGgoMCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdNdWx0aXBsZSBLbm93bGVkZ2UgQmFzZXMnLCAoKSA9PiB7XG4gICAgdGVzdCgnYWdlbnQgd2l0aCBtdWx0aXBsZSBLQnMgcGFzc2VzIEFXUyBTb2x1dGlvbnMgY2hlY2tzJywgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gY3JlYXRlVGVzdEFwcCgpO1xuICAgICAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCAnVGVzdFN0YWNrJywge1xuICAgICAgICBlbnY6IHsgYWNjb3VudDogJzEyMzQ1Njc4OTAxMicsIHJlZ2lvbjogJ3VzLWVhc3QtMScgfSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBzeXN0ZW1Qcm9tcHQgPSBuZXcgQXNzZXQoc3RhY2ssICdTeXN0ZW1Qcm9tcHQnLCB7XG4gICAgICAgIHBhdGg6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi9yZXNvdXJjZXMvZGVmYXVsdC1zdHJhbmRzLWFnZW50L2JhdGNoLnB5JyksXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qga2IxID0gbmV3IEJlZHJvY2tLbm93bGVkZ2VCYXNlKHN0YWNrLCAnUHJvZHVjdERvY3MnLCB7XG4gICAgICAgIG5hbWU6ICdwcm9kdWN0LWRvY3VtZW50YXRpb24nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1Byb2R1Y3QgZG9jdW1lbnRhdGlvbiBhbmQgRkFRcycsXG4gICAgICAgIGtub3dsZWRnZUJhc2VJZDogJ0tCLVBST0RVQ1QtMTIzJyxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBrYjIgPSBuZXcgQmVkcm9ja0tub3dsZWRnZUJhc2Uoc3RhY2ssICdTdXBwb3J0RG9jcycsIHtcbiAgICAgICAgbmFtZTogJ3N1cHBvcnQtZG9jdW1lbnRhdGlvbicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnU3VwcG9ydCBhcnRpY2xlcyBhbmQgdHJvdWJsZXNob290aW5nIGd1aWRlcycsXG4gICAgICAgIGtub3dsZWRnZUJhc2VJZDogJ0tCLVNVUFBPUlQtNDU2JyxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBrYjMgPSBuZXcgQmVkcm9ja0tub3dsZWRnZUJhc2Uoc3RhY2ssICdQb2xpY3lEb2NzJywge1xuICAgICAgICBuYW1lOiAncG9saWN5LWRvY3VtZW50YXRpb24nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0NvbXBhbnkgcG9saWNpZXMgYW5kIHByb2NlZHVyZXMnLFxuICAgICAgICBrbm93bGVkZ2VCYXNlSWQ6ICdLQi1QT0xJQ1ktNzg5JyxcbiAgICAgIH0pO1xuXG4gICAgICBuZXcgQmF0Y2hBZ2VudChzdGFjaywgJ0FnZW50Jywge1xuICAgICAgICBhZ2VudE5hbWU6ICdNdWx0aUtCQWdlbnQnLFxuICAgICAgICBwcm9tcHQ6ICdUZXN0IHByb21wdCB3aXRoIG11bHRpcGxlIGtub3dsZWRnZSBiYXNlcycsXG4gICAgICAgIGFnZW50RGVmaW5pdGlvbjoge1xuICAgICAgICAgIGJlZHJvY2tNb2RlbDogeyBmbU1vZGVsSWQ6IHRlc3RNb2RlbCB9LFxuICAgICAgICAgIHN5c3RlbVByb21wdCxcbiAgICAgICAgICBrbm93bGVkZ2VCYXNlczogW2tiMSwga2IyLCBrYjNdLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIEFzcGVjdHMub2Yoc3RhY2spLmFkZChuZXcgQXdzU29sdXRpb25zQ2hlY2tzKHsgdmVyYm9zZTogdHJ1ZSB9KSk7XG5cbiAgICAgIE5hZ1N1cHByZXNzaW9ucy5hZGRTdGFja1N1cHByZXNzaW9ucyhzdGFjaywgW1xuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICdBd3NTb2x1dGlvbnMtSUFNNCcsXG4gICAgICAgICAgcmVhc29uOiAnTWFuYWdlZCBwb2xpY2llcyBhcmUgYWNjZXB0YWJsZSBmb3IgTGFtYmRhIGV4ZWN1dGlvbiByb2xlJyxcbiAgICAgICAgICBhcHBsaWVzVG86IFsnUG9saWN5Ojphcm46PEFXUzo6UGFydGl0aW9uPjppYW06OmF3czpwb2xpY3kvc2VydmljZS1yb2xlL0FXU0xhbWJkYUJhc2ljRXhlY3V0aW9uUm9sZSddLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICdBd3NTb2x1dGlvbnMtSUFNNScsXG4gICAgICAgICAgcmVhc29uOiAnV2lsZGNhcmQgcGVybWlzc2lvbnMgYXJlIHNjb3BlZCB0byBzcGVjaWZpYyByZXNvdXJjZXMgZm9yIFMzIGFzc2V0cywgQmVkcm9jayBtb2RlbHMsIGFuZCBDbG91ZFdhdGNoIExvZ3MnLFxuICAgICAgICAgIGFwcGxpZXNUbzogW1xuICAgICAgICAgICAgJ0FjdGlvbjo6czM6R2V0T2JqZWN0KicsXG4gICAgICAgICAgICAnQWN0aW9uOjpzMzpHZXRCdWNrZXQqJyxcbiAgICAgICAgICAgICdBY3Rpb246OnMzOkxpc3QqJyxcbiAgICAgICAgICAgICdSZXNvdXJjZTo6KicsXG4gICAgICAgICAgICAnUmVzb3VyY2U6OmFybjphd3M6YmVkcm9jazoqOjpmb3VuZGF0aW9uLW1vZGVsL2FudGhyb3BpYy5jbGF1ZGUtMy1zb25uZXQtMjAyNDAyMjktdjE6MCcsXG4gICAgICAgICAgICAnUmVzb3VyY2U6OmFybjphd3M6bG9nczp1cy1lYXN0LTE6MTIzNDU2Nzg5MDEyOmxvZy1ncm91cDovYXdzL2xhbWJkYS9NdWx0aUtCQWdlbnQtdGVzdHN0YWNrYWdlbnRhYTJhZjBjNDoqJyxcbiAgICAgICAgICAgICdSZXNvdXJjZTo6YXJuOjxBV1M6OlBhcnRpdGlvbj46czM6OjpjZGstaG5iNjU5ZmRzLWFzc2V0cy0xMjM0NTY3ODkwMTItdXMtZWFzdC0xLyonLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ0F3c1NvbHV0aW9ucy1MMScsXG4gICAgICAgICAgcmVhc29uOiAnTGFtYmRhIHJ1bnRpbWUgaXMgbWFuYWdlZCBieSBjb25zdHJ1Y3QgZGVmYXVsdHMnLFxuICAgICAgICB9LFxuICAgICAgXSk7XG5cbiAgICAgIGNvbnN0IGVycm9ycyA9IEFubm90YXRpb25zLmZyb21TdGFjayhzdGFjaykuZmluZEVycm9yKFxuICAgICAgICAnKicsXG4gICAgICAgIE1hdGNoLnN0cmluZ0xpa2VSZWdleHAoJ0F3c1NvbHV0aW9ucy0uKicpLFxuICAgICAgKTtcbiAgICAgIGV4cGVjdChlcnJvcnMpLnRvSGF2ZUxlbmd0aCgwKTtcbiAgICB9KTtcblxuICAgIHRlc3QoJ0lBTSBwZXJtaXNzaW9ucyBhcmUgc2NvcGVkIHRvIHNwZWNpZmljIEtCIEFSTnMgKG5vIHdpbGRjYXJkcyknLCAoKSA9PiB7XG4gICAgICBjb25zdCBhcHAgPSBjcmVhdGVUZXN0QXBwKCk7XG4gICAgICBjb25zdCBzdGFjayA9IG5ldyBTdGFjayhhcHAsICdUZXN0U3RhY2snLCB7XG4gICAgICAgIGVudjogeyBhY2NvdW50OiAnMTIzNDU2Nzg5MDEyJywgcmVnaW9uOiAndXMtZWFzdC0xJyB9LFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGtiMSA9IG5ldyBCZWRyb2NrS25vd2xlZGdlQmFzZShzdGFjaywgJ0tCMScsIHtcbiAgICAgICAgbmFtZTogJ2tiLW9uZScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRmlyc3Qga25vd2xlZGdlIGJhc2UnLFxuICAgICAgICBrbm93bGVkZ2VCYXNlSWQ6ICdLQi1PTkUtMTIzJyxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBrYjIgPSBuZXcgQmVkcm9ja0tub3dsZWRnZUJhc2Uoc3RhY2ssICdLQjInLCB7XG4gICAgICAgIG5hbWU6ICdrYi10d28nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1NlY29uZCBrbm93bGVkZ2UgYmFzZScsXG4gICAgICAgIGtub3dsZWRnZUJhc2VJZDogJ0tCLVRXTy00NTYnLFxuICAgICAgfSk7XG5cbiAgICAgIC8vIFZlcmlmeSBlYWNoIEtCIGdlbmVyYXRlcyBwZXJtaXNzaW9ucyBzY29wZWQgdG8gaXRzIHNwZWNpZmljIEFSTlxuICAgICAgY29uc3Qga2IxUGVybWlzc2lvbnMgPSBrYjEuZ2VuZXJhdGVJYW1QZXJtaXNzaW9ucygpO1xuICAgICAgY29uc3Qga2IyUGVybWlzc2lvbnMgPSBrYjIuZ2VuZXJhdGVJYW1QZXJtaXNzaW9ucygpO1xuXG4gICAgICAvLyBDaGVjayBLQjEgcGVybWlzc2lvbnNcbiAgICAgIGtiMVBlcm1pc3Npb25zLmZvckVhY2goKHN0YXRlbWVudCkgPT4ge1xuICAgICAgICBjb25zdCBqc29uID0gc3RhdGVtZW50LnRvU3RhdGVtZW50SnNvbigpO1xuICAgICAgICBjb25zdCByZXNvdXJjZXMgPSBBcnJheS5pc0FycmF5KGpzb24uUmVzb3VyY2UpID8ganNvbi5SZXNvdXJjZSA6IFtqc29uLlJlc291cmNlXTtcbiAgICAgICAgcmVzb3VyY2VzLmZvckVhY2goKHJlc291cmNlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICBleHBlY3QocmVzb3VyY2UpLm5vdC50b0JlKCcqJyk7XG4gICAgICAgICAgZXhwZWN0KHJlc291cmNlKS5ub3QudG9Db250YWluKCdrbm93bGVkZ2UtYmFzZS8qJyk7XG4gICAgICAgICAgaWYgKHJlc291cmNlLmluY2x1ZGVzKCdrbm93bGVkZ2UtYmFzZScpKSB7XG4gICAgICAgICAgICBleHBlY3QocmVzb3VyY2UpLnRvQ29udGFpbignS0ItT05FLTEyMycpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgLy8gQ2hlY2sgS0IyIHBlcm1pc3Npb25zXG4gICAgICBrYjJQZXJtaXNzaW9ucy5mb3JFYWNoKChzdGF0ZW1lbnQpID0+IHtcbiAgICAgICAgY29uc3QganNvbiA9IHN0YXRlbWVudC50b1N0YXRlbWVudEpzb24oKTtcbiAgICAgICAgY29uc3QgcmVzb3VyY2VzID0gQXJyYXkuaXNBcnJheShqc29uLlJlc291cmNlKSA/IGpzb24uUmVzb3VyY2UgOiBbanNvbi5SZXNvdXJjZV07XG4gICAgICAgIHJlc291cmNlcy5mb3JFYWNoKChyZXNvdXJjZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgZXhwZWN0KHJlc291cmNlKS5ub3QudG9CZSgnKicpO1xuICAgICAgICAgIGV4cGVjdChyZXNvdXJjZSkubm90LnRvQ29udGFpbigna25vd2xlZGdlLWJhc2UvKicpO1xuICAgICAgICAgIGlmIChyZXNvdXJjZS5pbmNsdWRlcygna25vd2xlZGdlLWJhc2UnKSkge1xuICAgICAgICAgICAgZXhwZWN0KHJlc291cmNlKS50b0NvbnRhaW4oJ0tCLVRXTy00NTYnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdHdWFyZHJhaWxzIENvbmZpZ3VyYXRpb24nLCAoKSA9PiB7XG4gICAgdGVzdCgnYWdlbnQgd2l0aCBndWFyZHJhaWxzIHBhc3NlcyBBV1MgU29sdXRpb25zIGNoZWNrcycsICgpID0+IHtcbiAgICAgIGNvbnN0IGFwcCA9IGNyZWF0ZVRlc3RBcHAoKTtcbiAgICAgIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgJ1Rlc3RTdGFjaycsIHtcbiAgICAgICAgZW52OiB7IGFjY291bnQ6ICcxMjM0NTY3ODkwMTInLCByZWdpb246ICd1cy1lYXN0LTEnIH0sXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgc3lzdGVtUHJvbXB0ID0gbmV3IEFzc2V0KHN0YWNrLCAnU3lzdGVtUHJvbXB0Jywge1xuICAgICAgICBwYXRoOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vcmVzb3VyY2VzL2RlZmF1bHQtc3RyYW5kcy1hZ2VudC9iYXRjaC5weScpLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGtiID0gbmV3IEJlZHJvY2tLbm93bGVkZ2VCYXNlKHN0YWNrLCAnU2VjdXJlRG9jcycsIHtcbiAgICAgICAgbmFtZTogJ3NlY3VyZS1kb2N1bWVudGF0aW9uJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdTZWN1cmUgZG9jdW1lbnRhdGlvbiB3aXRoIGNvbnRlbnQgZmlsdGVyaW5nJyxcbiAgICAgICAga25vd2xlZGdlQmFzZUlkOiAnS0ItU0VDVVJFLTEyMycsXG4gICAgICAgIGd1YXJkcmFpbDoge1xuICAgICAgICAgIGd1YXJkcmFpbElkOiAnY29udGVudC1maWx0ZXItZ3VhcmRyYWlsJyxcbiAgICAgICAgICBndWFyZHJhaWxWZXJzaW9uOiAnMScsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgbmV3IEJhdGNoQWdlbnQoc3RhY2ssICdBZ2VudCcsIHtcbiAgICAgICAgYWdlbnROYW1lOiAnR3VhcmRyYWlsQWdlbnQnLFxuICAgICAgICBwcm9tcHQ6ICdUZXN0IHByb21wdCB3aXRoIGd1YXJkcmFpbHMnLFxuICAgICAgICBhZ2VudERlZmluaXRpb246IHtcbiAgICAgICAgICBiZWRyb2NrTW9kZWw6IHsgZm1Nb2RlbElkOiB0ZXN0TW9kZWwgfSxcbiAgICAgICAgICBzeXN0ZW1Qcm9tcHQsXG4gICAgICAgICAga25vd2xlZGdlQmFzZXM6IFtrYl0sXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgQXNwZWN0cy5vZihzdGFjaykuYWRkKG5ldyBBd3NTb2x1dGlvbnNDaGVja3MoeyB2ZXJib3NlOiB0cnVlIH0pKTtcblxuICAgICAgTmFnU3VwcHJlc3Npb25zLmFkZFN0YWNrU3VwcHJlc3Npb25zKHN0YWNrLCBbXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ0F3c1NvbHV0aW9ucy1JQU00JyxcbiAgICAgICAgICByZWFzb246ICdNYW5hZ2VkIHBvbGljaWVzIGFyZSBhY2NlcHRhYmxlIGZvciBMYW1iZGEgZXhlY3V0aW9uIHJvbGUnLFxuICAgICAgICAgIGFwcGxpZXNUbzogWydQb2xpY3k6OmFybjo8QVdTOjpQYXJ0aXRpb24+OmlhbTo6YXdzOnBvbGljeS9zZXJ2aWNlLXJvbGUvQVdTTGFtYmRhQmFzaWNFeGVjdXRpb25Sb2xlJ10sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ0F3c1NvbHV0aW9ucy1JQU01JyxcbiAgICAgICAgICByZWFzb246ICdXaWxkY2FyZCBwZXJtaXNzaW9ucyBhcmUgc2NvcGVkIHRvIHNwZWNpZmljIHJlc291cmNlcycsXG4gICAgICAgICAgYXBwbGllc1RvOiBbXG4gICAgICAgICAgICAnQWN0aW9uOjpzMzpHZXRPYmplY3QqJyxcbiAgICAgICAgICAgICdBY3Rpb246OnMzOkdldEJ1Y2tldConLFxuICAgICAgICAgICAgJ0FjdGlvbjo6czM6TGlzdConLFxuICAgICAgICAgICAgJ1Jlc291cmNlOjoqJyxcbiAgICAgICAgICAgICdSZXNvdXJjZTo6YXJuOmF3czpiZWRyb2NrOio6OmZvdW5kYXRpb24tbW9kZWwvYW50aHJvcGljLmNsYXVkZS0zLXNvbm5ldC0yMDI0MDIyOS12MTowJyxcbiAgICAgICAgICAgICdSZXNvdXJjZTo6YXJuOmF3czpsb2dzOnVzLWVhc3QtMToxMjM0NTY3ODkwMTI6bG9nLWdyb3VwOi9hd3MvbGFtYmRhL0d1YXJkcmFpbEFnZW50LXRlc3RzdGFja2FnZW50YWEyYWYwYzQ6KicsXG4gICAgICAgICAgICAnUmVzb3VyY2U6OmFybjo8QVdTOjpQYXJ0aXRpb24+OnMzOjo6Y2RrLWhuYjY1OWZkcy1hc3NldHMtMTIzNDU2Nzg5MDEyLXVzLWVhc3QtMS8qJyxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICdBd3NTb2x1dGlvbnMtTDEnLFxuICAgICAgICAgIHJlYXNvbjogJ0xhbWJkYSBydW50aW1lIGlzIG1hbmFnZWQgYnkgY29uc3RydWN0IGRlZmF1bHRzJyxcbiAgICAgICAgfSxcbiAgICAgIF0pO1xuXG4gICAgICBjb25zdCBlcnJvcnMgPSBBbm5vdGF0aW9ucy5mcm9tU3RhY2soc3RhY2spLmZpbmRFcnJvcihcbiAgICAgICAgJyonLFxuICAgICAgICBNYXRjaC5zdHJpbmdMaWtlUmVnZXhwKCdBd3NTb2x1dGlvbnMtLionKSxcbiAgICAgICk7XG4gICAgICBleHBlY3QoZXJyb3JzKS50b0hhdmVMZW5ndGgoMCk7XG4gICAgfSk7XG5cbiAgICB0ZXN0KCdndWFyZHJhaWwgcGVybWlzc2lvbnMgYXJlIHNjb3BlZCB0byBzcGVjaWZpYyBndWFyZHJhaWwgQVJOJywgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gY3JlYXRlVGVzdEFwcCgpO1xuICAgICAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCAnVGVzdFN0YWNrJywge1xuICAgICAgICBlbnY6IHsgYWNjb3VudDogJzEyMzQ1Njc4OTAxMicsIHJlZ2lvbjogJ3VzLWVhc3QtMScgfSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBrYiA9IG5ldyBCZWRyb2NrS25vd2xlZGdlQmFzZShzdGFjaywgJ1NlY3VyZURvY3MnLCB7XG4gICAgICAgIG5hbWU6ICdzZWN1cmUtZG9jdW1lbnRhdGlvbicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnU2VjdXJlIGRvY3VtZW50YXRpb24gd2l0aCBjb250ZW50IGZpbHRlcmluZycsXG4gICAgICAgIGtub3dsZWRnZUJhc2VJZDogJ0tCLVNFQ1VSRS0xMjMnLFxuICAgICAgICBndWFyZHJhaWw6IHtcbiAgICAgICAgICBndWFyZHJhaWxJZDogJ215LXNwZWNpZmljLWd1YXJkcmFpbCcsXG4gICAgICAgICAgZ3VhcmRyYWlsVmVyc2lvbjogJzInLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHBlcm1pc3Npb25zID0ga2IuZ2VuZXJhdGVJYW1QZXJtaXNzaW9ucygpO1xuXG4gICAgICAvLyBGaW5kIHRoZSBndWFyZHJhaWwgcGVybWlzc2lvblxuICAgICAgY29uc3QgZ3VhcmRyYWlsUGVybWlzc2lvbiA9IHBlcm1pc3Npb25zLmZpbmQoKHApID0+IHtcbiAgICAgICAgY29uc3QganNvbiA9IHAudG9TdGF0ZW1lbnRKc29uKCk7XG4gICAgICAgIHJldHVybiBqc29uLkFjdGlvbiA9PT0gJ2JlZHJvY2s6QXBwbHlHdWFyZHJhaWwnO1xuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChndWFyZHJhaWxQZXJtaXNzaW9uKS50b0JlRGVmaW5lZCgpO1xuICAgICAgY29uc3QgZ3VhcmRyYWlsSnNvbiA9IGd1YXJkcmFpbFBlcm1pc3Npb24hLnRvU3RhdGVtZW50SnNvbigpO1xuXG4gICAgICAvLyBWZXJpZnkgZ3VhcmRyYWlsIHBlcm1pc3Npb24gaXMgc2NvcGVkIHRvIHNwZWNpZmljIGd1YXJkcmFpbFxuICAgICAgZXhwZWN0KGd1YXJkcmFpbEpzb24uUmVzb3VyY2UpLnRvQ29udGFpbignZ3VhcmRyYWlsL215LXNwZWNpZmljLWd1YXJkcmFpbCcpO1xuICAgICAgZXhwZWN0KGd1YXJkcmFpbEpzb24uUmVzb3VyY2UpLm5vdC50b0JlKCcqJyk7XG4gICAgICBleHBlY3QoZ3VhcmRyYWlsSnNvbi5SZXNvdXJjZSkubm90LnRvQ29udGFpbignZ3VhcmRyYWlsLyonKTtcbiAgICB9KTtcblxuICAgIHRlc3QoJ2FnZW50IHdpdGggbXVsdGlwbGUgS0JzIGFuZCBndWFyZHJhaWxzIHBhc3NlcyBBV1MgU29sdXRpb25zIGNoZWNrcycsICgpID0+IHtcbiAgICAgIGNvbnN0IGFwcCA9IGNyZWF0ZVRlc3RBcHAoKTtcbiAgICAgIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgJ1Rlc3RTdGFjaycsIHtcbiAgICAgICAgZW52OiB7IGFjY291bnQ6ICcxMjM0NTY3ODkwMTInLCByZWdpb246ICd1cy1lYXN0LTEnIH0sXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgc3lzdGVtUHJvbXB0ID0gbmV3IEFzc2V0KHN0YWNrLCAnU3lzdGVtUHJvbXB0Jywge1xuICAgICAgICBwYXRoOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vcmVzb3VyY2VzL2RlZmF1bHQtc3RyYW5kcy1hZ2VudC9iYXRjaC5weScpLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGtiMSA9IG5ldyBCZWRyb2NrS25vd2xlZGdlQmFzZShzdGFjaywgJ1B1YmxpY0RvY3MnLCB7XG4gICAgICAgIG5hbWU6ICdwdWJsaWMtZG9jdW1lbnRhdGlvbicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUHVibGljIGRvY3VtZW50YXRpb24gd2l0aG91dCBndWFyZHJhaWxzJyxcbiAgICAgICAga25vd2xlZGdlQmFzZUlkOiAnS0ItUFVCTElDLTEyMycsXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qga2IyID0gbmV3IEJlZHJvY2tLbm93bGVkZ2VCYXNlKHN0YWNrLCAnU2VjdXJlRG9jcycsIHtcbiAgICAgICAgbmFtZTogJ3NlY3VyZS1kb2N1bWVudGF0aW9uJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdTZWN1cmUgZG9jdW1lbnRhdGlvbiB3aXRoIGd1YXJkcmFpbHMnLFxuICAgICAgICBrbm93bGVkZ2VCYXNlSWQ6ICdLQi1TRUNVUkUtNDU2JyxcbiAgICAgICAgZ3VhcmRyYWlsOiB7XG4gICAgICAgICAgZ3VhcmRyYWlsSWQ6ICdwaWktZmlsdGVyJyxcbiAgICAgICAgICBndWFyZHJhaWxWZXJzaW9uOiAnMScsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgbmV3IEJhdGNoQWdlbnQoc3RhY2ssICdBZ2VudCcsIHtcbiAgICAgICAgYWdlbnROYW1lOiAnTWl4ZWRBZ2VudCcsXG4gICAgICAgIHByb21wdDogJ1Rlc3QgcHJvbXB0IHdpdGggbWl4ZWQgS0IgY29uZmlndXJhdGlvbnMnLFxuICAgICAgICBhZ2VudERlZmluaXRpb246IHtcbiAgICAgICAgICBiZWRyb2NrTW9kZWw6IHsgZm1Nb2RlbElkOiB0ZXN0TW9kZWwgfSxcbiAgICAgICAgICBzeXN0ZW1Qcm9tcHQsXG4gICAgICAgICAga25vd2xlZGdlQmFzZXM6IFtrYjEsIGtiMl0sXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgQXNwZWN0cy5vZihzdGFjaykuYWRkKG5ldyBBd3NTb2x1dGlvbnNDaGVja3MoeyB2ZXJib3NlOiB0cnVlIH0pKTtcblxuICAgICAgTmFnU3VwcHJlc3Npb25zLmFkZFN0YWNrU3VwcHJlc3Npb25zKHN0YWNrLCBbXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ0F3c1NvbHV0aW9ucy1JQU00JyxcbiAgICAgICAgICByZWFzb246ICdNYW5hZ2VkIHBvbGljaWVzIGFyZSBhY2NlcHRhYmxlIGZvciBMYW1iZGEgZXhlY3V0aW9uIHJvbGUnLFxuICAgICAgICAgIGFwcGxpZXNUbzogWydQb2xpY3k6OmFybjo8QVdTOjpQYXJ0aXRpb24+OmlhbTo6YXdzOnBvbGljeS9zZXJ2aWNlLXJvbGUvQVdTTGFtYmRhQmFzaWNFeGVjdXRpb25Sb2xlJ10sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ0F3c1NvbHV0aW9ucy1JQU01JyxcbiAgICAgICAgICByZWFzb246ICdXaWxkY2FyZCBwZXJtaXNzaW9ucyBhcmUgc2NvcGVkIHRvIHNwZWNpZmljIHJlc291cmNlcycsXG4gICAgICAgICAgYXBwbGllc1RvOiBbXG4gICAgICAgICAgICAnQWN0aW9uOjpzMzpHZXRPYmplY3QqJyxcbiAgICAgICAgICAgICdBY3Rpb246OnMzOkdldEJ1Y2tldConLFxuICAgICAgICAgICAgJ0FjdGlvbjo6czM6TGlzdConLFxuICAgICAgICAgICAgJ1Jlc291cmNlOjoqJyxcbiAgICAgICAgICAgICdSZXNvdXJjZTo6YXJuOmF3czpiZWRyb2NrOio6OmZvdW5kYXRpb24tbW9kZWwvYW50aHJvcGljLmNsYXVkZS0zLXNvbm5ldC0yMDI0MDIyOS12MTowJyxcbiAgICAgICAgICAgICdSZXNvdXJjZTo6YXJuOmF3czpsb2dzOnVzLWVhc3QtMToxMjM0NTY3ODkwMTI6bG9nLWdyb3VwOi9hd3MvbGFtYmRhL01peGVkQWdlbnQtdGVzdHN0YWNrYWdlbnRhYTJhZjBjNDoqJyxcbiAgICAgICAgICAgICdSZXNvdXJjZTo6YXJuOjxBV1M6OlBhcnRpdGlvbj46czM6OjpjZGstaG5iNjU5ZmRzLWFzc2V0cy0xMjM0NTY3ODkwMTItdXMtZWFzdC0xLyonLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ0F3c1NvbHV0aW9ucy1MMScsXG4gICAgICAgICAgcmVhc29uOiAnTGFtYmRhIHJ1bnRpbWUgaXMgbWFuYWdlZCBieSBjb25zdHJ1Y3QgZGVmYXVsdHMnLFxuICAgICAgICB9LFxuICAgICAgXSk7XG5cbiAgICAgIGNvbnN0IGVycm9ycyA9IEFubm90YXRpb25zLmZyb21TdGFjayhzdGFjaykuZmluZEVycm9yKFxuICAgICAgICAnKicsXG4gICAgICAgIE1hdGNoLnN0cmluZ0xpa2VSZWdleHAoJ0F3c1NvbHV0aW9ucy0uKicpLFxuICAgICAgKTtcbiAgICAgIGV4cGVjdChlcnJvcnMpLnRvSGF2ZUxlbmd0aCgwKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0xlYXN0IFByaXZpbGVnZSBWZXJpZmljYXRpb24nLCAoKSA9PiB7XG4gICAgdGVzdCgnS0IgcGVybWlzc2lvbnMgZm9sbG93IGxlYXN0LXByaXZpbGVnZSBwcmluY2lwbGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBhcHAgPSBjcmVhdGVUZXN0QXBwKCk7XG4gICAgICBjb25zdCBzdGFjayA9IG5ldyBTdGFjayhhcHAsICdUZXN0U3RhY2snLCB7XG4gICAgICAgIGVudjogeyBhY2NvdW50OiAnMTIzNDU2Nzg5MDEyJywgcmVnaW9uOiAndXMtZWFzdC0xJyB9LFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGtiID0gbmV3IEJlZHJvY2tLbm93bGVkZ2VCYXNlKHN0YWNrLCAnVGVzdEtCJywge1xuICAgICAgICBuYW1lOiAndGVzdC1rYicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGVzdCBrbm93bGVkZ2UgYmFzZScsXG4gICAgICAgIGtub3dsZWRnZUJhc2VJZDogJ1RFU1QtS0ItMTIzJyxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBwZXJtaXNzaW9ucyA9IGtiLmdlbmVyYXRlSWFtUGVybWlzc2lvbnMoKTtcblxuICAgICAgLy8gVmVyaWZ5IG9ubHkgbmVjZXNzYXJ5IGFjdGlvbnMgYXJlIGdyYW50ZWRcbiAgICAgIGNvbnN0IGtiUGVybWlzc2lvbiA9IHBlcm1pc3Npb25zLmZpbmQoKHApID0+IHtcbiAgICAgICAgY29uc3QganNvbiA9IHAudG9TdGF0ZW1lbnRKc29uKCk7XG4gICAgICAgIGNvbnN0IGFjdGlvbnMgPSBBcnJheS5pc0FycmF5KGpzb24uQWN0aW9uKSA/IGpzb24uQWN0aW9uIDogW2pzb24uQWN0aW9uXTtcbiAgICAgICAgcmV0dXJuIGFjdGlvbnMuaW5jbHVkZXMoJ2JlZHJvY2s6UmV0cmlldmUnKTtcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3Qoa2JQZXJtaXNzaW9uKS50b0JlRGVmaW5lZCgpO1xuICAgICAgY29uc3Qga2JKc29uID0ga2JQZXJtaXNzaW9uIS50b1N0YXRlbWVudEpzb24oKTtcbiAgICAgIGNvbnN0IGFjdGlvbnMgPSBBcnJheS5pc0FycmF5KGtiSnNvbi5BY3Rpb24pID8ga2JKc29uLkFjdGlvbiA6IFtrYkpzb24uQWN0aW9uXTtcblxuICAgICAgLy8gU2hvdWxkIG9ubHkgaGF2ZSBSZXRyaWV2ZSBhbmQgUmV0cmlldmVBbmRHZW5lcmF0ZSAtIG5vIGFkbWluIGFjdGlvbnNcbiAgICAgIGV4cGVjdChhY3Rpb25zKS50b0NvbnRhaW4oJ2JlZHJvY2s6UmV0cmlldmUnKTtcbiAgICAgIGV4cGVjdChhY3Rpb25zKS50b0NvbnRhaW4oJ2JlZHJvY2s6UmV0cmlldmVBbmRHZW5lcmF0ZScpO1xuICAgICAgZXhwZWN0KGFjdGlvbnMpLm5vdC50b0NvbnRhaW4oJ2JlZHJvY2s6Q3JlYXRlS25vd2xlZGdlQmFzZScpO1xuICAgICAgZXhwZWN0KGFjdGlvbnMpLm5vdC50b0NvbnRhaW4oJ2JlZHJvY2s6RGVsZXRlS25vd2xlZGdlQmFzZScpO1xuICAgICAgZXhwZWN0KGFjdGlvbnMpLm5vdC50b0NvbnRhaW4oJ2JlZHJvY2s6VXBkYXRlS25vd2xlZGdlQmFzZScpO1xuICAgICAgZXhwZWN0KGFjdGlvbnMpLm5vdC50b0NvbnRhaW4oJ2JlZHJvY2s6KicpO1xuICAgIH0pO1xuXG4gICAgdGVzdCgnbm8gd2lsZGNhcmQgcmVzb3VyY2UgcGVybWlzc2lvbnMgZm9yIEtCIGFjY2VzcycsICgpID0+IHtcbiAgICAgIGNvbnN0IGFwcCA9IGNyZWF0ZVRlc3RBcHAoKTtcbiAgICAgIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgJ1Rlc3RTdGFjaycsIHtcbiAgICAgICAgZW52OiB7IGFjY291bnQ6ICcxMjM0NTY3ODkwMTInLCByZWdpb246ICd1cy1lYXN0LTEnIH0sXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qga2IgPSBuZXcgQmVkcm9ja0tub3dsZWRnZUJhc2Uoc3RhY2ssICdUZXN0S0InLCB7XG4gICAgICAgIG5hbWU6ICd0ZXN0LWtiJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdUZXN0IGtub3dsZWRnZSBiYXNlJyxcbiAgICAgICAga25vd2xlZGdlQmFzZUlkOiAnU1BFQ0lGSUMtS0ItSUQnLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHBlcm1pc3Npb25zID0ga2IuZ2VuZXJhdGVJYW1QZXJtaXNzaW9ucygpO1xuXG4gICAgICAvLyBWZXJpZnkgbm8gd2lsZGNhcmQgcmVzb3VyY2VzXG4gICAgICBwZXJtaXNzaW9ucy5mb3JFYWNoKChzdGF0ZW1lbnQpID0+IHtcbiAgICAgICAgY29uc3QganNvbiA9IHN0YXRlbWVudC50b1N0YXRlbWVudEpzb24oKTtcbiAgICAgICAgY29uc3QgcmVzb3VyY2VzID0gQXJyYXkuaXNBcnJheShqc29uLlJlc291cmNlKSA/IGpzb24uUmVzb3VyY2UgOiBbanNvbi5SZXNvdXJjZV07XG4gICAgICAgIHJlc291cmNlcy5mb3JFYWNoKChyZXNvdXJjZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgLy8gUmVzb3VyY2Ugc2hvdWxkIG5vdCBiZSBqdXN0ICcqJyAod2lsZGNhcmQgZm9yIGFsbCByZXNvdXJjZXMpXG4gICAgICAgICAgZXhwZWN0KHJlc291cmNlKS5ub3QudG9CZSgnKicpO1xuICAgICAgICAgIC8vIFJlc291cmNlIHNob3VsZCBub3QgaGF2ZSB3aWxkY2FyZCBLQiBJRFxuICAgICAgICAgIGV4cGVjdChyZXNvdXJjZSkubm90LnRvTWF0Y2goL2tub3dsZWRnZS1iYXNlXFwvXFwqLyk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
403
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQta25vd2xlZGdlLWJhc2UtbmFnLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi91c2UtY2FzZXMvZnJhbWV3b3JrL2FnZW50cy90ZXN0cy9hZ2VudC1rbm93bGVkZ2UtYmFzZS1uYWcudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEscUVBQXFFO0FBQ3JFLHNDQUFzQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFdEMsMkNBQTZCO0FBQzdCLDZDQUE2QztBQUM3Qyx1REFBNEQ7QUFDNUQseURBQW9FO0FBQ3BFLDZEQUFrRDtBQUNsRCxxQ0FBOEQ7QUFDOUQsOERBQThEO0FBQzlELGdEQUE0QztBQUM1QyxzREFBeUQ7QUFFekQsTUFBTSxTQUFTLEdBQUcsdUNBQXlCLENBQUMsdUNBQXVDLENBQUM7QUFFcEYsUUFBUSxDQUFDLG9DQUFvQyxFQUFFLEdBQUcsRUFBRTtJQUNsRCxRQUFRLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxFQUFFO1FBQ3JDLElBQUksQ0FBQyxrREFBa0QsRUFBRSxHQUFHLEVBQUU7WUFDNUQsTUFBTSxHQUFHLEdBQUcsSUFBQSwwQkFBYSxHQUFFLENBQUM7WUFDNUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxtQkFBSyxDQUFDLEdBQUcsRUFBRSxXQUFXLEVBQUU7Z0JBQ3hDLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRTthQUN0RCxDQUFDLENBQUM7WUFFSCxNQUFNLFlBQVksR0FBRyxJQUFJLHFCQUFLLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRTtnQkFDcEQsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLDZDQUE2QyxDQUFDO2FBQzFFLENBQUMsQ0FBQztZQUVILE1BQU0sRUFBRSxHQUFHLElBQUkscUNBQW9CLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRTtnQkFDeEQsSUFBSSxF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Q0FBQyxRQUFnQixFQUFFLEVBQUU7b0JBQ3JDLCtEQUErRDtvQkFDL0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQy9CLDBDQUEwQztvQkFDMUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztnQkFDckQsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IEFzcGVjdHMsIFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQW5ub3RhdGlvbnMsIE1hdGNoIH0gZnJvbSAnYXdzLWNkay1saWIvYXNzZXJ0aW9ucyc7XG5pbXBvcnQgeyBGb3VuZGF0aW9uTW9kZWxJZGVudGlmaWVyIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWJlZHJvY2snO1xuaW1wb3J0IHsgQXNzZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMtYXNzZXRzJztcbmltcG9ydCB7IEF3c1NvbHV0aW9uc0NoZWNrcywgTmFnU3VwcHJlc3Npb25zIH0gZnJvbSAnY2RrLW5hZyc7XG5pbXBvcnQgeyBjcmVhdGVUZXN0QXBwIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3Rlc3QtdXRpbHMnO1xuaW1wb3J0IHsgQmF0Y2hBZ2VudCB9IGZyb20gJy4uL2JhdGNoLWFnZW50JztcbmltcG9ydCB7IEJlZHJvY2tLbm93bGVkZ2VCYXNlIH0gZnJvbSAnLi4va25vd2xlZGdlLWJhc2UnO1xuXG5jb25zdCB0ZXN0TW9kZWwgPSBGb3VuZGF0aW9uTW9kZWxJZGVudGlmaWVyLkFOVEhST1BJQ19DTEFVREVfM19TT05ORVRfMjAyNDAyMjlfVjFfMDtcblxuZGVzY3JpYmUoJ0FnZW50IEtub3dsZWRnZSBCYXNlIENESyBOYWcgVGVzdHMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCdTaW5nbGUgS25vd2xlZGdlIEJhc2UnLCAoKSA9PiB7XG4gICAgdGVzdCgnYWdlbnQgd2l0aCBzaW5nbGUgS0IgcGFzc2VzIEFXUyBTb2x1dGlvbnMgY2hlY2tzJywgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gY3JlYXRlVGVzdEFwcCgpO1xuICAgICAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCAnVGVzdFN0YWNrJywge1xuICAgICAgICBlbnY6IHsgYWNjb3VudDogJzEyMzQ1Njc4OTAxMicsIHJlZ2lvbjogJ3VzLWVhc3QtMScgfSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBzeXN0ZW1Qcm9tcHQgPSBuZXcgQXNzZXQoc3RhY2ssICdTeXN0ZW1Qcm9tcHQnLCB7XG4gICAgICAgIHBhdGg6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi9yZXNvdXJjZXMvZGVmYXVsdC1zdHJhbmRzLWFnZW50L2JhdGNoLnB5JyksXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qga2IgPSBuZXcgQmVkcm9ja0tub3dsZWRnZUJhc2Uoc3RhY2ssICdQcm9kdWN0RG9jcycsIHtcbiAgICAgICAgbmFtZTogJ3Byb2R1Y3QtZG9jdW1lbnRhdGlvbicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUHJvZHVjdCBkb2N1bWVudGF0aW9uIGFuZCBGQVFzJyxcbiAgICAgICAga25vd2xlZGdlQmFzZUlkOiAnQUJDRDEyMzQnLFxuICAgICAgfSk7XG5cbiAgICAgIG5ldyBCYXRjaEFnZW50KHN0YWNrLCAnQWdlbnQnLCB7XG4gICAgICAgIGFnZW50TmFtZTogJ1Rlc3RBZ2VudCcsXG4gICAgICAgIHByb21wdDogJ1Rlc3QgcHJvbXB0JyxcbiAgICAgICAgYWdlbnREZWZpbml0aW9uOiB7XG4gICAgICAgICAgYmVkcm9ja01vZGVsOiB7IGZtTW9kZWxJZDogdGVzdE1vZGVsIH0sXG4gICAgICAgICAgc3lzdGVtUHJvbXB0LFxuICAgICAgICAgIGtub3dsZWRnZUJhc2VzOiBba2JdLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIEFzcGVjdHMub2Yoc3RhY2spLmFkZChuZXcgQXdzU29sdXRpb25zQ2hlY2tzKHsgdmVyYm9zZTogdHJ1ZSB9KSk7XG5cbiAgICAgIC8vIFN1cHByZXNzaW9ucyB3aXRoIGRvY3VtZW50ZWQganVzdGlmaWNhdGlvbnNcbiAgICAgIE5hZ1N1cHByZXNzaW9ucy5hZGRTdGFja1N1cHByZXNzaW9ucyhzdGFjaywgW1xuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICdBd3NTb2x1dGlvbnMtSUFNNCcsXG4gICAgICAgICAgcmVhc29uOiAnTWFuYWdlZCBwb2xpY2llcyAoQVdTTGFtYmRhQmFzaWNFeGVjdXRpb25Sb2xlKSBhcmUgYWNjZXB0YWJsZSBmb3IgTGFtYmRhIGV4ZWN1dGlvbiByb2xlIGFzIHRoZXkgcHJvdmlkZSBtaW5pbWFsIHJlcXVpcmVkIHBlcm1pc3Npb25zIGZvciBDbG91ZFdhdGNoIExvZ3MnLFxuICAgICAgICAgIGFwcGxpZXNUbzogWydQb2xpY3k6OmFybjo8QVdTOjpQYXJ0aXRpb24+OmlhbTo6YXdzOnBvbGljeS9zZXJ2aWNlLXJvbGUvQVdTTGFtYmRhQmFzaWNFeGVjdXRpb25Sb2xlJ10sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ0F3c1NvbHV0aW9ucy1JQU01JyxcbiAgICAgICAgICByZWFzb246ICdXaWxkY2FyZCBwZXJtaXNzaW9ucyBhcmUgcmVxdWlyZWQgZm9yOiAoMSkgUzMgYXNzZXQgYWNjZXNzIHBhdHRlcm5zLCAoMikgQmVkcm9jayBtb2RlbCBpbnZvY2F0aW9uIGFjcm9zcyByZWdpb25zLCAoMykgQ2xvdWRXYXRjaCBMb2dzIHN0cmVhbSBjcmVhdGlvbi4gQWxsIHdpbGRjYXJkcyBhcmUgc2NvcGVkIHRvIHNwZWNpZmljIHJlc291cmNlcy4nLFxuICAgICAgICAgIGFwcGxpZXNUbzogW1xuICAgICAgICAgICAgJ0FjdGlvbjo6czM6R2V0T2JqZWN0KicsXG4gICAgICAgICAgICAnQWN0aW9uOjpzMzpHZXRCdWNrZXQqJyxcbiAgICAgICAgICAgICdBY3Rpb246OnMzOkxpc3QqJyxcbiAgICAgICAgICAgICdSZXNvdXJjZTo6KicsXG4gICAgICAgICAgICAnUmVzb3VyY2U6OmFybjphd3M6YmVkcm9jazoqOjpmb3VuZGF0aW9uLW1vZGVsL2FudGhyb3BpYy5jbGF1ZGUtMy1zb25uZXQtMjAyNDAyMjktdjE6MCcsXG4gICAgICAgICAgICAnUmVzb3VyY2U6OmFybjphd3M6bG9nczp1cy1lYXN0LTE6MTIzNDU2Nzg5MDEyOmxvZy1ncm91cDovYXdzL2xhbWJkYS9UZXN0QWdlbnQtdGVzdHN0YWNrYWdlbnRhYTJhZjBjNDoqJyxcbiAgICAgICAgICAgICdSZXNvdXJjZTo6YXJuOjxBV1M6OlBhcnRpdGlvbj46czM6OjpjZGstaG5iNjU5ZmRzLWFzc2V0cy0xMjM0NTY3ODkwMTItdXMtZWFzdC0xLyonLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ0F3c1NvbHV0aW9ucy1MMScsXG4gICAgICAgICAgcmVhc29uOiAnTGFtYmRhIHJ1bnRpbWUgaXMgbWFuYWdlZCBieSBjb25zdHJ1Y3QgZGVmYXVsdHMgYW5kIHVwZGF0ZWQgYXMgcGFydCBvZiByZWd1bGFyIG1haW50ZW5hbmNlJyxcbiAgICAgICAgfSxcbiAgICAgIF0pO1xuXG4gICAgICBjb25zdCBlcnJvcnMgPSBBbm5vdGF0aW9ucy5mcm9tU3RhY2soc3RhY2spLmZpbmRFcnJvcihcbiAgICAgICAgJyonLFxuICAgICAgICBNYXRjaC5zdHJpbmdMaWtlUmVnZXhwKCdBd3NTb2x1dGlvbnMtLionKSxcbiAgICAgICk7XG4gICAgICBleHBlY3QoZXJyb3JzKS50b0hhdmVMZW5ndGgoMCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdNdWx0aXBsZSBLbm93bGVkZ2UgQmFzZXMnLCAoKSA9PiB7XG4gICAgdGVzdCgnYWdlbnQgd2l0aCBtdWx0aXBsZSBLQnMgcGFzc2VzIEFXUyBTb2x1dGlvbnMgY2hlY2tzJywgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gY3JlYXRlVGVzdEFwcCgpO1xuICAgICAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCAnVGVzdFN0YWNrJywge1xuICAgICAgICBlbnY6IHsgYWNjb3VudDogJzEyMzQ1Njc4OTAxMicsIHJlZ2lvbjogJ3VzLWVhc3QtMScgfSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBzeXN0ZW1Qcm9tcHQgPSBuZXcgQXNzZXQoc3RhY2ssICdTeXN0ZW1Qcm9tcHQnLCB7XG4gICAgICAgIHBhdGg6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi9yZXNvdXJjZXMvZGVmYXVsdC1zdHJhbmRzLWFnZW50L2JhdGNoLnB5JyksXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qga2IxID0gbmV3IEJlZHJvY2tLbm93bGVkZ2VCYXNlKHN0YWNrLCAnUHJvZHVjdERvY3MnLCB7XG4gICAgICAgIG5hbWU6ICdwcm9kdWN0LWRvY3VtZW50YXRpb24nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1Byb2R1Y3QgZG9jdW1lbnRhdGlvbiBhbmQgRkFRcycsXG4gICAgICAgIGtub3dsZWRnZUJhc2VJZDogJ0tCLVBST0RVQ1QtMTIzJyxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBrYjIgPSBuZXcgQmVkcm9ja0tub3dsZWRnZUJhc2Uoc3RhY2ssICdTdXBwb3J0RG9jcycsIHtcbiAgICAgICAgbmFtZTogJ3N1cHBvcnQtZG9jdW1lbnRhdGlvbicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnU3VwcG9ydCBhcnRpY2xlcyBhbmQgdHJvdWJsZXNob290aW5nIGd1aWRlcycsXG4gICAgICAgIGtub3dsZWRnZUJhc2VJZDogJ0tCLVNVUFBPUlQtNDU2JyxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBrYjMgPSBuZXcgQmVkcm9ja0tub3dsZWRnZUJhc2Uoc3RhY2ssICdQb2xpY3lEb2NzJywge1xuICAgICAgICBuYW1lOiAncG9saWN5LWRvY3VtZW50YXRpb24nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0NvbXBhbnkgcG9saWNpZXMgYW5kIHByb2NlZHVyZXMnLFxuICAgICAgICBrbm93bGVkZ2VCYXNlSWQ6ICdLQi1QT0xJQ1ktNzg5JyxcbiAgICAgIH0pO1xuXG4gICAgICBuZXcgQmF0Y2hBZ2VudChzdGFjaywgJ0FnZW50Jywge1xuICAgICAgICBhZ2VudE5hbWU6ICdNdWx0aUtCQWdlbnQnLFxuICAgICAgICBwcm9tcHQ6ICdUZXN0IHByb21wdCB3aXRoIG11bHRpcGxlIGtub3dsZWRnZSBiYXNlcycsXG4gICAgICAgIGFnZW50RGVmaW5pdGlvbjoge1xuICAgICAgICAgIGJlZHJvY2tNb2RlbDogeyBmbU1vZGVsSWQ6IHRlc3RNb2RlbCB9LFxuICAgICAgICAgIHN5c3RlbVByb21wdCxcbiAgICAgICAgICBrbm93bGVkZ2VCYXNlczogW2tiMSwga2IyLCBrYjNdLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIEFzcGVjdHMub2Yoc3RhY2spLmFkZChuZXcgQXdzU29sdXRpb25zQ2hlY2tzKHsgdmVyYm9zZTogdHJ1ZSB9KSk7XG5cbiAgICAgIE5hZ1N1cHByZXNzaW9ucy5hZGRTdGFja1N1cHByZXNzaW9ucyhzdGFjaywgW1xuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICdBd3NTb2x1dGlvbnMtSUFNNCcsXG4gICAgICAgICAgcmVhc29uOiAnTWFuYWdlZCBwb2xpY2llcyBhcmUgYWNjZXB0YWJsZSBmb3IgTGFtYmRhIGV4ZWN1dGlvbiByb2xlJyxcbiAgICAgICAgICBhcHBsaWVzVG86IFsnUG9saWN5Ojphcm46PEFXUzo6UGFydGl0aW9uPjppYW06OmF3czpwb2xpY3kvc2VydmljZS1yb2xlL0FXU0xhbWJkYUJhc2ljRXhlY3V0aW9uUm9sZSddLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICdBd3NTb2x1dGlvbnMtSUFNNScsXG4gICAgICAgICAgcmVhc29uOiAnV2lsZGNhcmQgcGVybWlzc2lvbnMgYXJlIHNjb3BlZCB0byBzcGVjaWZpYyByZXNvdXJjZXMgZm9yIFMzIGFzc2V0cywgQmVkcm9jayBtb2RlbHMsIGFuZCBDbG91ZFdhdGNoIExvZ3MnLFxuICAgICAgICAgIGFwcGxpZXNUbzogW1xuICAgICAgICAgICAgJ0FjdGlvbjo6czM6R2V0T2JqZWN0KicsXG4gICAgICAgICAgICAnQWN0aW9uOjpzMzpHZXRCdWNrZXQqJyxcbiAgICAgICAgICAgICdBY3Rpb246OnMzOkxpc3QqJyxcbiAgICAgICAgICAgICdSZXNvdXJjZTo6KicsXG4gICAgICAgICAgICAnUmVzb3VyY2U6OmFybjphd3M6YmVkcm9jazoqOjpmb3VuZGF0aW9uLW1vZGVsL2FudGhyb3BpYy5jbGF1ZGUtMy1zb25uZXQtMjAyNDAyMjktdjE6MCcsXG4gICAgICAgICAgICAnUmVzb3VyY2U6OmFybjphd3M6bG9nczp1cy1lYXN0LTE6MTIzNDU2Nzg5MDEyOmxvZy1ncm91cDovYXdzL2xhbWJkYS9NdWx0aUtCQWdlbnQtdGVzdHN0YWNrYWdlbnRhYTJhZjBjNDoqJyxcbiAgICAgICAgICAgICdSZXNvdXJjZTo6YXJuOjxBV1M6OlBhcnRpdGlvbj46czM6OjpjZGstaG5iNjU5ZmRzLWFzc2V0cy0xMjM0NTY3ODkwMTItdXMtZWFzdC0xLyonLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ0F3c1NvbHV0aW9ucy1MMScsXG4gICAgICAgICAgcmVhc29uOiAnTGFtYmRhIHJ1bnRpbWUgaXMgbWFuYWdlZCBieSBjb25zdHJ1Y3QgZGVmYXVsdHMnLFxuICAgICAgICB9LFxuICAgICAgXSk7XG5cbiAgICAgIGNvbnN0IGVycm9ycyA9IEFubm90YXRpb25zLmZyb21TdGFjayhzdGFjaykuZmluZEVycm9yKFxuICAgICAgICAnKicsXG4gICAgICAgIE1hdGNoLnN0cmluZ0xpa2VSZWdleHAoJ0F3c1NvbHV0aW9ucy0uKicpLFxuICAgICAgKTtcbiAgICAgIGV4cGVjdChlcnJvcnMpLnRvSGF2ZUxlbmd0aCgwKTtcbiAgICB9KTtcblxuICAgIHRlc3QoJ0lBTSBwZXJtaXNzaW9ucyBhcmUgc2NvcGVkIHRvIHNwZWNpZmljIEtCIEFSTnMgKG5vIHdpbGRjYXJkcyknLCAoKSA9PiB7XG4gICAgICBjb25zdCBhcHAgPSBjcmVhdGVUZXN0QXBwKCk7XG4gICAgICBjb25zdCBzdGFjayA9IG5ldyBTdGFjayhhcHAsICdUZXN0U3RhY2snLCB7XG4gICAgICAgIGVudjogeyBhY2NvdW50OiAnMTIzNDU2Nzg5MDEyJywgcmVnaW9uOiAndXMtZWFzdC0xJyB9LFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGtiMSA9IG5ldyBCZWRyb2NrS25vd2xlZGdlQmFzZShzdGFjaywgJ0tCMScsIHtcbiAgICAgICAgbmFtZTogJ2tiLW9uZScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRmlyc3Qga25vd2xlZGdlIGJhc2UnLFxuICAgICAgICBrbm93bGVkZ2VCYXNlSWQ6ICdLQi1PTkUtMTIzJyxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBrYjIgPSBuZXcgQmVkcm9ja0tub3dsZWRnZUJhc2Uoc3RhY2ssICdLQjInLCB7XG4gICAgICAgIG5hbWU6ICdrYi10d28nLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1NlY29uZCBrbm93bGVkZ2UgYmFzZScsXG4gICAgICAgIGtub3dsZWRnZUJhc2VJZDogJ0tCLVRXTy00NTYnLFxuICAgICAgfSk7XG5cbiAgICAgIC8vIFZlcmlmeSBlYWNoIEtCIGdlbmVyYXRlcyBwZXJtaXNzaW9ucyBzY29wZWQgdG8gaXRzIHNwZWNpZmljIEFSTlxuICAgICAgY29uc3Qga2IxUGVybWlzc2lvbnMgPSBrYjEuZ2VuZXJhdGVJYW1QZXJtaXNzaW9ucygpO1xuICAgICAgY29uc3Qga2IyUGVybWlzc2lvbnMgPSBrYjIuZ2VuZXJhdGVJYW1QZXJtaXNzaW9ucygpO1xuXG4gICAgICAvLyBDaGVjayBLQjEgcGVybWlzc2lvbnNcbiAgICAgIGtiMVBlcm1pc3Npb25zLmZvckVhY2goKHN0YXRlbWVudCkgPT4ge1xuICAgICAgICBjb25zdCBqc29uID0gc3RhdGVtZW50LnRvU3RhdGVtZW50SnNvbigpO1xuICAgICAgICBjb25zdCByZXNvdXJjZXMgPSBBcnJheS5pc0FycmF5KGpzb24uUmVzb3VyY2UpID8ganNvbi5SZXNvdXJjZSA6IFtqc29uLlJlc291cmNlXTtcbiAgICAgICAgcmVzb3VyY2VzLmZvckVhY2goKHJlc291cmNlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICBleHBlY3QocmVzb3VyY2UpLm5vdC50b0JlKCcqJyk7XG4gICAgICAgICAgZXhwZWN0KHJlc291cmNlKS5ub3QudG9Db250YWluKCdrbm93bGVkZ2UtYmFzZS8qJyk7XG4gICAgICAgICAgaWYgKHJlc291cmNlLmluY2x1ZGVzKCdrbm93bGVkZ2UtYmFzZScpKSB7XG4gICAgICAgICAgICBleHBlY3QocmVzb3VyY2UpLnRvQ29udGFpbignS0ItT05FLTEyMycpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcblxuICAgICAgLy8gQ2hlY2sgS0IyIHBlcm1pc3Npb25zXG4gICAgICBrYjJQZXJtaXNzaW9ucy5mb3JFYWNoKChzdGF0ZW1lbnQpID0+IHtcbiAgICAgICAgY29uc3QganNvbiA9IHN0YXRlbWVudC50b1N0YXRlbWVudEpzb24oKTtcbiAgICAgICAgY29uc3QgcmVzb3VyY2VzID0gQXJyYXkuaXNBcnJheShqc29uLlJlc291cmNlKSA/IGpzb24uUmVzb3VyY2UgOiBbanNvbi5SZXNvdXJjZV07XG4gICAgICAgIHJlc291cmNlcy5mb3JFYWNoKChyZXNvdXJjZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgZXhwZWN0KHJlc291cmNlKS5ub3QudG9CZSgnKicpO1xuICAgICAgICAgIGV4cGVjdChyZXNvdXJjZSkubm90LnRvQ29udGFpbigna25vd2xlZGdlLWJhc2UvKicpO1xuICAgICAgICAgIGlmIChyZXNvdXJjZS5pbmNsdWRlcygna25vd2xlZGdlLWJhc2UnKSkge1xuICAgICAgICAgICAgZXhwZWN0KHJlc291cmNlKS50b0NvbnRhaW4oJ0tCLVRXTy00NTYnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdHdWFyZHJhaWxzIENvbmZpZ3VyYXRpb24nLCAoKSA9PiB7XG4gICAgdGVzdCgnYWdlbnQgd2l0aCBndWFyZHJhaWxzIHBhc3NlcyBBV1MgU29sdXRpb25zIGNoZWNrcycsICgpID0+IHtcbiAgICAgIGNvbnN0IGFwcCA9IGNyZWF0ZVRlc3RBcHAoKTtcbiAgICAgIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgJ1Rlc3RTdGFjaycsIHtcbiAgICAgICAgZW52OiB7IGFjY291bnQ6ICcxMjM0NTY3ODkwMTInLCByZWdpb246ICd1cy1lYXN0LTEnIH0sXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgc3lzdGVtUHJvbXB0ID0gbmV3IEFzc2V0KHN0YWNrLCAnU3lzdGVtUHJvbXB0Jywge1xuICAgICAgICBwYXRoOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vcmVzb3VyY2VzL2RlZmF1bHQtc3RyYW5kcy1hZ2VudC9iYXRjaC5weScpLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGtiID0gbmV3IEJlZHJvY2tLbm93bGVkZ2VCYXNlKHN0YWNrLCAnU2VjdXJlRG9jcycsIHtcbiAgICAgICAgbmFtZTogJ3NlY3VyZS1kb2N1bWVudGF0aW9uJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdTZWN1cmUgZG9jdW1lbnRhdGlvbiB3aXRoIGNvbnRlbnQgZmlsdGVyaW5nJyxcbiAgICAgICAga25vd2xlZGdlQmFzZUlkOiAnS0ItU0VDVVJFLTEyMycsXG4gICAgICAgIGd1YXJkcmFpbDoge1xuICAgICAgICAgIGd1YXJkcmFpbElkOiAnY29udGVudC1maWx0ZXItZ3VhcmRyYWlsJyxcbiAgICAgICAgICBndWFyZHJhaWxWZXJzaW9uOiAnMScsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgbmV3IEJhdGNoQWdlbnQoc3RhY2ssICdBZ2VudCcsIHtcbiAgICAgICAgYWdlbnROYW1lOiAnR3VhcmRyYWlsQWdlbnQnLFxuICAgICAgICBwcm9tcHQ6ICdUZXN0IHByb21wdCB3aXRoIGd1YXJkcmFpbHMnLFxuICAgICAgICBhZ2VudERlZmluaXRpb246IHtcbiAgICAgICAgICBiZWRyb2NrTW9kZWw6IHsgZm1Nb2RlbElkOiB0ZXN0TW9kZWwgfSxcbiAgICAgICAgICBzeXN0ZW1Qcm9tcHQsXG4gICAgICAgICAga25vd2xlZGdlQmFzZXM6IFtrYl0sXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgQXNwZWN0cy5vZihzdGFjaykuYWRkKG5ldyBBd3NTb2x1dGlvbnNDaGVja3MoeyB2ZXJib3NlOiB0cnVlIH0pKTtcblxuICAgICAgTmFnU3VwcHJlc3Npb25zLmFkZFN0YWNrU3VwcHJlc3Npb25zKHN0YWNrLCBbXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ0F3c1NvbHV0aW9ucy1JQU00JyxcbiAgICAgICAgICByZWFzb246ICdNYW5hZ2VkIHBvbGljaWVzIGFyZSBhY2NlcHRhYmxlIGZvciBMYW1iZGEgZXhlY3V0aW9uIHJvbGUnLFxuICAgICAgICAgIGFwcGxpZXNUbzogWydQb2xpY3k6OmFybjo8QVdTOjpQYXJ0aXRpb24+OmlhbTo6YXdzOnBvbGljeS9zZXJ2aWNlLXJvbGUvQVdTTGFtYmRhQmFzaWNFeGVjdXRpb25Sb2xlJ10sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ0F3c1NvbHV0aW9ucy1JQU01JyxcbiAgICAgICAgICByZWFzb246ICdXaWxkY2FyZCBwZXJtaXNzaW9ucyBhcmUgc2NvcGVkIHRvIHNwZWNpZmljIHJlc291cmNlcycsXG4gICAgICAgICAgYXBwbGllc1RvOiBbXG4gICAgICAgICAgICAnQWN0aW9uOjpzMzpHZXRPYmplY3QqJyxcbiAgICAgICAgICAgICdBY3Rpb246OnMzOkdldEJ1Y2tldConLFxuICAgICAgICAgICAgJ0FjdGlvbjo6czM6TGlzdConLFxuICAgICAgICAgICAgJ1Jlc291cmNlOjoqJyxcbiAgICAgICAgICAgICdSZXNvdXJjZTo6YXJuOmF3czpiZWRyb2NrOio6OmZvdW5kYXRpb24tbW9kZWwvYW50aHJvcGljLmNsYXVkZS0zLXNvbm5ldC0yMDI0MDIyOS12MTowJyxcbiAgICAgICAgICAgICdSZXNvdXJjZTo6YXJuOmF3czpsb2dzOnVzLWVhc3QtMToxMjM0NTY3ODkwMTI6bG9nLWdyb3VwOi9hd3MvbGFtYmRhL0d1YXJkcmFpbEFnZW50LXRlc3RzdGFja2FnZW50YWEyYWYwYzQ6KicsXG4gICAgICAgICAgICAnUmVzb3VyY2U6OmFybjo8QVdTOjpQYXJ0aXRpb24+OnMzOjo6Y2RrLWhuYjY1OWZkcy1hc3NldHMtMTIzNDU2Nzg5MDEyLXVzLWVhc3QtMS8qJyxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICdBd3NTb2x1dGlvbnMtTDEnLFxuICAgICAgICAgIHJlYXNvbjogJ0xhbWJkYSBydW50aW1lIGlzIG1hbmFnZWQgYnkgY29uc3RydWN0IGRlZmF1bHRzJyxcbiAgICAgICAgfSxcbiAgICAgIF0pO1xuXG4gICAgICBjb25zdCBlcnJvcnMgPSBBbm5vdGF0aW9ucy5mcm9tU3RhY2soc3RhY2spLmZpbmRFcnJvcihcbiAgICAgICAgJyonLFxuICAgICAgICBNYXRjaC5zdHJpbmdMaWtlUmVnZXhwKCdBd3NTb2x1dGlvbnMtLionKSxcbiAgICAgICk7XG4gICAgICBleHBlY3QoZXJyb3JzKS50b0hhdmVMZW5ndGgoMCk7XG4gICAgfSk7XG5cbiAgICB0ZXN0KCdndWFyZHJhaWwgcGVybWlzc2lvbnMgYXJlIHNjb3BlZCB0byBzcGVjaWZpYyBndWFyZHJhaWwgQVJOJywgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gY3JlYXRlVGVzdEFwcCgpO1xuICAgICAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCAnVGVzdFN0YWNrJywge1xuICAgICAgICBlbnY6IHsgYWNjb3VudDogJzEyMzQ1Njc4OTAxMicsIHJlZ2lvbjogJ3VzLWVhc3QtMScgfSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBrYiA9IG5ldyBCZWRyb2NrS25vd2xlZGdlQmFzZShzdGFjaywgJ1NlY3VyZURvY3MnLCB7XG4gICAgICAgIG5hbWU6ICdzZWN1cmUtZG9jdW1lbnRhdGlvbicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnU2VjdXJlIGRvY3VtZW50YXRpb24gd2l0aCBjb250ZW50IGZpbHRlcmluZycsXG4gICAgICAgIGtub3dsZWRnZUJhc2VJZDogJ0tCLVNFQ1VSRS0xMjMnLFxuICAgICAgICBndWFyZHJhaWw6IHtcbiAgICAgICAgICBndWFyZHJhaWxJZDogJ215LXNwZWNpZmljLWd1YXJkcmFpbCcsXG4gICAgICAgICAgZ3VhcmRyYWlsVmVyc2lvbjogJzInLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHBlcm1pc3Npb25zID0ga2IuZ2VuZXJhdGVJYW1QZXJtaXNzaW9ucygpO1xuXG4gICAgICAvLyBGaW5kIHRoZSBndWFyZHJhaWwgcGVybWlzc2lvblxuICAgICAgY29uc3QgZ3VhcmRyYWlsUGVybWlzc2lvbiA9IHBlcm1pc3Npb25zLmZpbmQoKHApID0+IHtcbiAgICAgICAgY29uc3QganNvbiA9IHAudG9TdGF0ZW1lbnRKc29uKCk7XG4gICAgICAgIHJldHVybiBqc29uLkFjdGlvbiA9PT0gJ2JlZHJvY2s6QXBwbHlHdWFyZHJhaWwnO1xuICAgICAgfSk7XG5cbiAgICAgIGV4cGVjdChndWFyZHJhaWxQZXJtaXNzaW9uKS50b0JlRGVmaW5lZCgpO1xuICAgICAgY29uc3QgZ3VhcmRyYWlsSnNvbiA9IGd1YXJkcmFpbFBlcm1pc3Npb24hLnRvU3RhdGVtZW50SnNvbigpO1xuXG4gICAgICAvLyBWZXJpZnkgZ3VhcmRyYWlsIHBlcm1pc3Npb24gaXMgc2NvcGVkIHRvIHNwZWNpZmljIGd1YXJkcmFpbFxuICAgICAgZXhwZWN0KGd1YXJkcmFpbEpzb24uUmVzb3VyY2UpLnRvQ29udGFpbignZ3VhcmRyYWlsL215LXNwZWNpZmljLWd1YXJkcmFpbCcpO1xuICAgICAgZXhwZWN0KGd1YXJkcmFpbEpzb24uUmVzb3VyY2UpLm5vdC50b0JlKCcqJyk7XG4gICAgICBleHBlY3QoZ3VhcmRyYWlsSnNvbi5SZXNvdXJjZSkubm90LnRvQ29udGFpbignZ3VhcmRyYWlsLyonKTtcbiAgICB9KTtcblxuICAgIHRlc3QoJ2FnZW50IHdpdGggbXVsdGlwbGUgS0JzIGFuZCBndWFyZHJhaWxzIHBhc3NlcyBBV1MgU29sdXRpb25zIGNoZWNrcycsICgpID0+IHtcbiAgICAgIGNvbnN0IGFwcCA9IGNyZWF0ZVRlc3RBcHAoKTtcbiAgICAgIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgJ1Rlc3RTdGFjaycsIHtcbiAgICAgICAgZW52OiB7IGFjY291bnQ6ICcxMjM0NTY3ODkwMTInLCByZWdpb246ICd1cy1lYXN0LTEnIH0sXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgc3lzdGVtUHJvbXB0ID0gbmV3IEFzc2V0KHN0YWNrLCAnU3lzdGVtUHJvbXB0Jywge1xuICAgICAgICBwYXRoOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vcmVzb3VyY2VzL2RlZmF1bHQtc3RyYW5kcy1hZ2VudC9iYXRjaC5weScpLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGtiMSA9IG5ldyBCZWRyb2NrS25vd2xlZGdlQmFzZShzdGFjaywgJ1B1YmxpY0RvY3MnLCB7XG4gICAgICAgIG5hbWU6ICdwdWJsaWMtZG9jdW1lbnRhdGlvbicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUHVibGljIGRvY3VtZW50YXRpb24gd2l0aG91dCBndWFyZHJhaWxzJyxcbiAgICAgICAga25vd2xlZGdlQmFzZUlkOiAnS0ItUFVCTElDLTEyMycsXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qga2IyID0gbmV3IEJlZHJvY2tLbm93bGVkZ2VCYXNlKHN0YWNrLCAnU2VjdXJlRG9jcycsIHtcbiAgICAgICAgbmFtZTogJ3NlY3VyZS1kb2N1bWVudGF0aW9uJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdTZWN1cmUgZG9jdW1lbnRhdGlvbiB3aXRoIGd1YXJkcmFpbHMnLFxuICAgICAgICBrbm93bGVkZ2VCYXNlSWQ6ICdLQi1TRUNVUkUtNDU2JyxcbiAgICAgICAgZ3VhcmRyYWlsOiB7XG4gICAgICAgICAgZ3VhcmRyYWlsSWQ6ICdwaWktZmlsdGVyJyxcbiAgICAgICAgICBndWFyZHJhaWxWZXJzaW9uOiAnMScsXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgbmV3IEJhdGNoQWdlbnQoc3RhY2ssICdBZ2VudCcsIHtcbiAgICAgICAgYWdlbnROYW1lOiAnTWl4ZWRBZ2VudCcsXG4gICAgICAgIHByb21wdDogJ1Rlc3QgcHJvbXB0IHdpdGggbWl4ZWQgS0IgY29uZmlndXJhdGlvbnMnLFxuICAgICAgICBhZ2VudERlZmluaXRpb246IHtcbiAgICAgICAgICBiZWRyb2NrTW9kZWw6IHsgZm1Nb2RlbElkOiB0ZXN0TW9kZWwgfSxcbiAgICAgICAgICBzeXN0ZW1Qcm9tcHQsXG4gICAgICAgICAga25vd2xlZGdlQmFzZXM6IFtrYjEsIGtiMl0sXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgQXNwZWN0cy5vZihzdGFjaykuYWRkKG5ldyBBd3NTb2x1dGlvbnNDaGVja3MoeyB2ZXJib3NlOiB0cnVlIH0pKTtcblxuICAgICAgTmFnU3VwcHJlc3Npb25zLmFkZFN0YWNrU3VwcHJlc3Npb25zKHN0YWNrLCBbXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ0F3c1NvbHV0aW9ucy1JQU00JyxcbiAgICAgICAgICByZWFzb246ICdNYW5hZ2VkIHBvbGljaWVzIGFyZSBhY2NlcHRhYmxlIGZvciBMYW1iZGEgZXhlY3V0aW9uIHJvbGUnLFxuICAgICAgICAgIGFwcGxpZXNUbzogWydQb2xpY3k6OmFybjo8QVdTOjpQYXJ0aXRpb24+OmlhbTo6YXdzOnBvbGljeS9zZXJ2aWNlLXJvbGUvQVdTTGFtYmRhQmFzaWNFeGVjdXRpb25Sb2xlJ10sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ0F3c1NvbHV0aW9ucy1JQU01JyxcbiAgICAgICAgICByZWFzb246ICdXaWxkY2FyZCBwZXJtaXNzaW9ucyBhcmUgc2NvcGVkIHRvIHNwZWNpZmljIHJlc291cmNlcycsXG4gICAgICAgICAgYXBwbGllc1RvOiBbXG4gICAgICAgICAgICAnQWN0aW9uOjpzMzpHZXRPYmplY3QqJyxcbiAgICAgICAgICAgICdBY3Rpb246OnMzOkdldEJ1Y2tldConLFxuICAgICAgICAgICAgJ0FjdGlvbjo6czM6TGlzdConLFxuICAgICAgICAgICAgJ1Jlc291cmNlOjoqJyxcbiAgICAgICAgICAgICdSZXNvdXJjZTo6YXJuOmF3czpiZWRyb2NrOio6OmZvdW5kYXRpb24tbW9kZWwvYW50aHJvcGljLmNsYXVkZS0zLXNvbm5ldC0yMDI0MDIyOS12MTowJyxcbiAgICAgICAgICAgICdSZXNvdXJjZTo6YXJuOmF3czpsb2dzOnVzLWVhc3QtMToxMjM0NTY3ODkwMTI6bG9nLWdyb3VwOi9hd3MvbGFtYmRhL01peGVkQWdlbnQtdGVzdHN0YWNrYWdlbnRhYTJhZjBjNDoqJyxcbiAgICAgICAgICAgICdSZXNvdXJjZTo6YXJuOjxBV1M6OlBhcnRpdGlvbj46czM6OjpjZGstaG5iNjU5ZmRzLWFzc2V0cy0xMjM0NTY3ODkwMTItdXMtZWFzdC0xLyonLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogJ0F3c1NvbHV0aW9ucy1MMScsXG4gICAgICAgICAgcmVhc29uOiAnTGFtYmRhIHJ1bnRpbWUgaXMgbWFuYWdlZCBieSBjb25zdHJ1Y3QgZGVmYXVsdHMnLFxuICAgICAgICB9LFxuICAgICAgXSk7XG5cbiAgICAgIGNvbnN0IGVycm9ycyA9IEFubm90YXRpb25zLmZyb21TdGFjayhzdGFjaykuZmluZEVycm9yKFxuICAgICAgICAnKicsXG4gICAgICAgIE1hdGNoLnN0cmluZ0xpa2VSZWdleHAoJ0F3c1NvbHV0aW9ucy0uKicpLFxuICAgICAgKTtcbiAgICAgIGV4cGVjdChlcnJvcnMpLnRvSGF2ZUxlbmd0aCgwKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0xlYXN0IFByaXZpbGVnZSBWZXJpZmljYXRpb24nLCAoKSA9PiB7XG4gICAgdGVzdCgnS0IgcGVybWlzc2lvbnMgZm9sbG93IGxlYXN0LXByaXZpbGVnZSBwcmluY2lwbGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBhcHAgPSBjcmVhdGVUZXN0QXBwKCk7XG4gICAgICBjb25zdCBzdGFjayA9IG5ldyBTdGFjayhhcHAsICdUZXN0U3RhY2snLCB7XG4gICAgICAgIGVudjogeyBhY2NvdW50OiAnMTIzNDU2Nzg5MDEyJywgcmVnaW9uOiAndXMtZWFzdC0xJyB9LFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGtiID0gbmV3IEJlZHJvY2tLbm93bGVkZ2VCYXNlKHN0YWNrLCAnVGVzdEtCJywge1xuICAgICAgICBuYW1lOiAndGVzdC1rYicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGVzdCBrbm93bGVkZ2UgYmFzZScsXG4gICAgICAgIGtub3dsZWRnZUJhc2VJZDogJ1RFU1QtS0ItMTIzJyxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBwZXJtaXNzaW9ucyA9IGtiLmdlbmVyYXRlSWFtUGVybWlzc2lvbnMoKTtcblxuICAgICAgLy8gVmVyaWZ5IG9ubHkgbmVjZXNzYXJ5IGFjdGlvbnMgYXJlIGdyYW50ZWRcbiAgICAgIGNvbnN0IGtiUGVybWlzc2lvbiA9IHBlcm1pc3Npb25zLmZpbmQoKHApID0+IHtcbiAgICAgICAgY29uc3QganNvbiA9IHAudG9TdGF0ZW1lbnRKc29uKCk7XG4gICAgICAgIGNvbnN0IGFjdGlvbnMgPSBBcnJheS5pc0FycmF5KGpzb24uQWN0aW9uKSA/IGpzb24uQWN0aW9uIDogW2pzb24uQWN0aW9uXTtcbiAgICAgICAgcmV0dXJuIGFjdGlvbnMuaW5jbHVkZXMoJ2JlZHJvY2s6UmV0cmlldmUnKTtcbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3Qoa2JQZXJtaXNzaW9uKS50b0JlRGVmaW5lZCgpO1xuICAgICAgY29uc3Qga2JKc29uID0ga2JQZXJtaXNzaW9uIS50b1N0YXRlbWVudEpzb24oKTtcbiAgICAgIGNvbnN0IGFjdGlvbnMgPSBBcnJheS5pc0FycmF5KGtiSnNvbi5BY3Rpb24pID8ga2JKc29uLkFjdGlvbiA6IFtrYkpzb24uQWN0aW9uXTtcblxuICAgICAgLy8gU2hvdWxkIG9ubHkgaGF2ZSBSZXRyaWV2ZSBhbmQgUmV0cmlldmVBbmRHZW5lcmF0ZSAtIG5vIGFkbWluIGFjdGlvbnNcbiAgICAgIGV4cGVjdChhY3Rpb25zKS50b0NvbnRhaW4oJ2JlZHJvY2s6UmV0cmlldmUnKTtcbiAgICAgIGV4cGVjdChhY3Rpb25zKS50b0NvbnRhaW4oJ2JlZHJvY2s6UmV0cmlldmVBbmRHZW5lcmF0ZScpO1xuICAgICAgZXhwZWN0KGFjdGlvbnMpLm5vdC50b0NvbnRhaW4oJ2JlZHJvY2s6Q3JlYXRlS25vd2xlZGdlQmFzZScpO1xuICAgICAgZXhwZWN0KGFjdGlvbnMpLm5vdC50b0NvbnRhaW4oJ2JlZHJvY2s6RGVsZXRlS25vd2xlZGdlQmFzZScpO1xuICAgICAgZXhwZWN0KGFjdGlvbnMpLm5vdC50b0NvbnRhaW4oJ2JlZHJvY2s6VXBkYXRlS25vd2xlZGdlQmFzZScpO1xuICAgICAgZXhwZWN0KGFjdGlvbnMpLm5vdC50b0NvbnRhaW4oJ2JlZHJvY2s6KicpO1xuICAgIH0pO1xuXG4gICAgdGVzdCgnbm8gd2lsZGNhcmQgcmVzb3VyY2UgcGVybWlzc2lvbnMgZm9yIEtCIGFjY2VzcycsICgpID0+IHtcbiAgICAgIGNvbnN0IGFwcCA9IGNyZWF0ZVRlc3RBcHAoKTtcbiAgICAgIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgJ1Rlc3RTdGFjaycsIHtcbiAgICAgICAgZW52OiB7IGFjY291bnQ6ICcxMjM0NTY3ODkwMTInLCByZWdpb246ICd1cy1lYXN0LTEnIH0sXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qga2IgPSBuZXcgQmVkcm9ja0tub3dsZWRnZUJhc2Uoc3RhY2ssICdUZXN0S0InLCB7XG4gICAgICAgIG5hbWU6ICd0ZXN0LWtiJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdUZXN0IGtub3dsZWRnZSBiYXNlJyxcbiAgICAgICAga25vd2xlZGdlQmFzZUlkOiAnU1BFQ0lGSUMtS0ItSUQnLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHBlcm1pc3Npb25zID0ga2IuZ2VuZXJhdGVJYW1QZXJtaXNzaW9ucygpO1xuXG4gICAgICAvLyBWZXJpZnkgbm8gd2lsZGNhcmQgcmVzb3VyY2VzXG4gICAgICBwZXJtaXNzaW9ucy5mb3JFYWNoKChzdGF0ZW1lbnQpID0+IHtcbiAgICAgICAgY29uc3QganNvbiA9IHN0YXRlbWVudC50b1N0YXRlbWVudEpzb24oKTtcbiAgICAgICAgY29uc3QgcmVzb3VyY2VzID0gQXJyYXkuaXNBcnJheShqc29uLlJlc291cmNlKSA/IGpzb24uUmVzb3VyY2UgOiBbanNvbi5SZXNvdXJjZV07XG4gICAgICAgIHJlc291cmNlcy5mb3JFYWNoKChyZXNvdXJjZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgLy8gUmVzb3VyY2Ugc2hvdWxkIG5vdCBiZSBqdXN0ICcqJyAod2lsZGNhcmQgZm9yIGFsbCByZXNvdXJjZXMpXG4gICAgICAgICAgZXhwZWN0KHJlc291cmNlKS5ub3QudG9CZSgnKicpO1xuICAgICAgICAgIC8vIFJlc291cmNlIHNob3VsZCBub3QgaGF2ZSB3aWxkY2FyZCBLQiBJRFxuICAgICAgICAgIGV4cGVjdChyZXNvdXJjZSkubm90LnRvTWF0Y2goL2tub3dsZWRnZS1iYXNlXFwvXFwqLyk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.BedrockModelUtils = exports.BedrockCrossRegionInferencePrefix = void 0;
|
|
5
4
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
@@ -20,6 +19,7 @@ var BedrockCrossRegionInferencePrefix;
|
|
|
20
19
|
BedrockCrossRegionInferencePrefix["EU"] = "eu";
|
|
21
20
|
})(BedrockCrossRegionInferencePrefix || (exports.BedrockCrossRegionInferencePrefix = BedrockCrossRegionInferencePrefix = {}));
|
|
22
21
|
class BedrockModelUtils {
|
|
22
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelUtils", version: "1.17.2" };
|
|
23
23
|
static deriveActualModelId(props) {
|
|
24
24
|
const { modelId, crossRegionPrefix, usingCustomModelId } = BedrockModelUtils.deriveDefaults(props);
|
|
25
25
|
if (usingCustomModelId) {
|
|
@@ -59,6 +59,4 @@ class BedrockModelUtils {
|
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
exports.BedrockModelUtils = BedrockModelUtils;
|
|
62
|
-
|
|
63
|
-
BedrockModelUtils[_a] = { fqn: "@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelUtils", version: "1.17.0" };
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVkcm9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3VzZS1jYXNlcy9mcmFtZXdvcmsvYmVkcm9jay9iZWRyb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscUVBQXFFO0FBQ3JFLHNDQUFzQztBQUV0Qyw2Q0FBb0M7QUFDcEMseURBQW9FO0FBQ3BFLGlEQUE4RDtBQUc5RDs7O0dBR0c7QUFDSCxJQUFZLGlDQUtYO0FBTEQsV0FBWSxpQ0FBaUM7SUFDM0MsOENBQThDO0lBQzlDLDhDQUFTLENBQUE7SUFDVCw4Q0FBOEM7SUFDOUMsOENBQVMsQ0FBQTtBQUNYLENBQUMsRUFMVyxpQ0FBaUMsaURBQWpDLGlDQUFpQyxRQUs1QztBQWtDRCxNQUFhLGlCQUFpQjtJQUNyQixNQUFNLENBQUMsbUJBQW1CLENBQUMsS0FBeUI7UUFDekQsTUFBTSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDdkIsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztRQUNELE9BQU8sS0FBSyxFQUFFLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxHQUFHLGlCQUFpQixJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDdEYsQ0FBQztJQUVNLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxLQUFnQixFQUFFLEtBQXlCO1FBQ25GLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVuRyxNQUFNLFNBQVMsR0FBRztZQUNoQix1Q0FBdUMsT0FBTyxFQUFFO1NBQ2pELENBQUM7UUFFRiw4RkFBOEY7UUFDOUYsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDeEIsU0FBUyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsTUFBTSxJQUFJLE9BQU8sc0JBQXNCLGlCQUFpQixJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDM0csQ0FBQztRQUVELE9BQU8sSUFBSSx5QkFBZSxDQUFDO1lBQ3pCLE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7WUFDcEIsT0FBTyxFQUFFO2dCQUNQLHFCQUFxQjtnQkFDckIsdUNBQXVDO2FBQ3hDO1lBQ0QsU0FBUztTQUNWLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQXlCO1FBQ3JELE1BQU0sU0FBUyxHQUFHLEtBQUssRUFBRSxTQUFTLElBQUksdUNBQXlCLENBQUMsdUNBQXVDLENBQUM7UUFDeEcsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQztRQUNsRCxNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsYUFBYSxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUM7UUFDMUQsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLEVBQUUsMEJBQTBCLElBQUksaUNBQWlDLENBQUMsRUFBRSxDQUFDO1FBRXBHLE9BQU87WUFDTCxPQUFPO1lBQ1Asa0JBQWtCO1lBQ2xCLGlCQUFpQjtTQUNsQixDQUFDO0lBQ0osQ0FBQzs7QUEzQ0gsOENBNENDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgeyBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IEZvdW5kYXRpb25Nb2RlbElkZW50aWZpZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtYmVkcm9jayc7XG5pbXBvcnQgeyBFZmZlY3QsIFBvbGljeVN0YXRlbWVudCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogQ3Jvc3MtcmVnaW9uIGluZmVyZW5jZSBwcmVmaXggb3B0aW9ucyBmb3IgQmVkcm9jayBtb2RlbHMuXG4gKiBVc2VkIHRvIGNvbmZpZ3VyZSBpbmZlcmVuY2UgcHJvZmlsZXMgZm9yIGltcHJvdmVkIGF2YWlsYWJpbGl0eSBhbmQgcGVyZm9ybWFuY2UuXG4gKi9cbmV4cG9ydCBlbnVtIEJlZHJvY2tDcm9zc1JlZ2lvbkluZmVyZW5jZVByZWZpeCB7XG4gIC8qKiBVUy1iYXNlZCBjcm9zcy1yZWdpb24gaW5mZXJlbmNlIHByb2ZpbGUgKi9cbiAgVVMgPSAndXMnLFxuICAvKiogRVUtYmFzZWQgY3Jvc3MtcmVnaW9uIGluZmVyZW5jZSBwcm9maWxlICovXG4gIEVVID0gJ2V1Jyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrTW9kZWxQcm9wcyB7XG4gIC8qKlxuICAgICAqIEZvdW5kYXRpb24gbW9kZWwgdG8gdXNlXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBGb3VuZGF0aW9uTW9kZWxJZGVudGlmaWVyLkFOVEhST1BJQ19DTEFVREVfU09OTkVUXzRfMjAyNTA1MTRfVjFfMFxuICAgICAqL1xuICByZWFkb25seSBmbU1vZGVsSWQ/OiBGb3VuZGF0aW9uTW9kZWxJZGVudGlmaWVyO1xuXG4gIC8qKlxuICAgKiBEaXJlY3QgbW9kZWwgSUQgb3ZlcnJpZGUuXG4gICAqXG4gICAqIFVzZSB0aGlzIHdoZW4gaW52b2tpbmcgYSBtb2RlbCBJRCBub3QgYXZhaWxhYmxlIGluIGBGb3VuZGF0aW9uTW9kZWxJZGVudGlmaWVyYCxcbiAgICogZm9yIGV4YW1wbGUgTG9jYWxTdGFjayBCZWRyb2NrL09sbGFtYS1iYWNrZWQgbW9kZWwgSURzLlxuICAgKlxuICAgKiBXaGVuIHByb3ZpZGVkLCB0aGlzIHZhbHVlIGlzIHVzZWQgYXMtaXMgZm9yIHJ1bnRpbWUgaW52b2NhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbU1vZGVsSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAgICogRW5hYmxlIGNyb3NzLXJlZ2lvbiBpbmZlcmVuY2UgZm9yIEJlZHJvY2sgbW9kZWxzIHRvIGltcHJvdmUgYXZhaWxhYmlsaXR5IGFuZCBwZXJmb3JtYW5jZS5cbiAgICAgKiBXaGVuIGVuYWJsZWQsIHVzZXMgaW5mZXJlbmNlIHByb2ZpbGVzIGluc3RlYWQgb2YgZGlyZWN0IG1vZGVsIGludm9jYXRpb24uXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgcmVhZG9ubHkgdXNlQ3Jvc3NSZWdpb25JbmZlcmVuY2U/OiBib29sZWFuO1xuICAvKipcbiAgICAgKiBQcmVmaXggZm9yIGNyb3NzLXJlZ2lvbiBpbmZlcmVuY2UgY29uZmlndXJhdGlvbi5cbiAgICAgKiBPbmx5IHVzZWQgd2hlbiB1c2VDcm9zc1JlZ2lvbkluZmVyZW5jZSBpcyB0cnVlLlxuICAgICAqIEBkZWZhdWx0IEJlZHJvY2tDcm9zc1JlZ2lvbkluZmVyZW5jZVByZWZpeC5VU1xuICAgICAqL1xuICByZWFkb25seSBjcm9zc1JlZ2lvbkluZmVyZW5jZVByZWZpeD86IEJlZHJvY2tDcm9zc1JlZ2lvbkluZmVyZW5jZVByZWZpeDtcbn1cblxuZXhwb3J0IGNsYXNzIEJlZHJvY2tNb2RlbFV0aWxzIHtcbiAgcHVibGljIHN0YXRpYyBkZXJpdmVBY3R1YWxNb2RlbElkKHByb3BzPzogQmVkcm9ja01vZGVsUHJvcHMpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgbW9kZWxJZCwgY3Jvc3NSZWdpb25QcmVmaXgsIHVzaW5nQ3VzdG9tTW9kZWxJZCB9ID0gQmVkcm9ja01vZGVsVXRpbHMuZGVyaXZlRGVmYXVsdHMocHJvcHMpO1xuICAgIGlmICh1c2luZ0N1c3RvbU1vZGVsSWQpIHtcbiAgICAgIHJldHVybiBtb2RlbElkO1xuICAgIH1cbiAgICByZXR1cm4gcHJvcHM/LnVzZUNyb3NzUmVnaW9uSW5mZXJlbmNlID8gYCR7Y3Jvc3NSZWdpb25QcmVmaXh9LiR7bW9kZWxJZH1gIDogbW9kZWxJZDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2VuZXJhdGVNb2RlbElBTVBlcm1pc3Npb25zKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzPzogQmVkcm9ja01vZGVsUHJvcHMpOiBQb2xpY3lTdGF0ZW1lbnQge1xuICAgIGNvbnN0IHsgYWNjb3VudCwgcmVnaW9uIH0gPSBTdGFjay5vZihzY29wZSk7XG4gICAgY29uc3QgeyBtb2RlbElkLCBjcm9zc1JlZ2lvblByZWZpeCwgdXNpbmdDdXN0b21Nb2RlbElkIH0gPSBCZWRyb2NrTW9kZWxVdGlscy5kZXJpdmVEZWZhdWx0cyhwcm9wcyk7XG5cbiAgICBjb25zdCByZXNvdXJjZXMgPSBbXG4gICAgICBgYXJuOmF3czpiZWRyb2NrOio6OmZvdW5kYXRpb24tbW9kZWwvJHttb2RlbElkfWAsXG4gICAgXTtcblxuICAgIC8vIFByZXNlcnZlIGN1cnJlbnQgYmVoYXZpb3IgZm9yIEFXUyBmb3VuZGF0aW9uIG1vZGVscyB3aXRoIG9wdGlvbmFsIGluZmVyZW5jZSBwcm9maWxlIGFjY2Vzcy5cbiAgICBpZiAoIXVzaW5nQ3VzdG9tTW9kZWxJZCkge1xuICAgICAgcmVzb3VyY2VzLnB1c2goYGFybjphd3M6YmVkcm9jazoke3JlZ2lvbn06JHthY2NvdW50fTppbmZlcmVuY2UtcHJvZmlsZS8ke2Nyb3NzUmVnaW9uUHJlZml4fS4ke21vZGVsSWR9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICBhY3Rpb25zOiBbXG4gICAgICAgICdiZWRyb2NrOkludm9rZU1vZGVsJyxcbiAgICAgICAgJ2JlZHJvY2s6SW52b2tlTW9kZWxXaXRoUmVzcG9uc2VTdHJlYW0nLFxuICAgICAgXSxcbiAgICAgIHJlc291cmNlcyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGRlcml2ZURlZmF1bHRzKHByb3BzPzogQmVkcm9ja01vZGVsUHJvcHMpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICBjb25zdCBmbU1vZGVsSWQgPSBwcm9wcz8uZm1Nb2RlbElkIHx8IEZvdW5kYXRpb25Nb2RlbElkZW50aWZpZXIuQU5USFJPUElDX0NMQVVERV9TT05ORVRfNF8yMDI1MDUxNF9WMV8wO1xuICAgIGNvbnN0IHVzaW5nQ3VzdG9tTW9kZWxJZCA9ICEhcHJvcHM/LmN1c3RvbU1vZGVsSWQ7XG4gICAgY29uc3QgbW9kZWxJZCA9IHByb3BzPy5jdXN0b21Nb2RlbElkIHx8IGZtTW9kZWxJZC5tb2RlbElkO1xuICAgIGNvbnN0IGNyb3NzUmVnaW9uUHJlZml4ID0gcHJvcHM/LmNyb3NzUmVnaW9uSW5mZXJlbmNlUHJlZml4IHx8IEJlZHJvY2tDcm9zc1JlZ2lvbkluZmVyZW5jZVByZWZpeC5VUztcblxuICAgIHJldHVybiB7XG4gICAgICBtb2RlbElkLFxuICAgICAgdXNpbmdDdXN0b21Nb2RlbElkLFxuICAgICAgY3Jvc3NSZWdpb25QcmVmaXgsXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVkcm9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3VzZS1jYXNlcy9mcmFtZXdvcmsvYmVkcm9jay9iZWRyb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxxRUFBcUU7QUFDckUsc0NBQXNDO0FBRXRDLDZDQUFvQztBQUNwQyx5REFBb0U7QUFDcEUsaURBQThEO0FBRzlEOzs7R0FHRztBQUNILElBQVksaUNBS1g7QUFMRCxXQUFZLGlDQUFpQztJQUMzQyw4Q0FBOEM7SUFDOUMsOENBQVMsQ0FBQTtJQUNULDhDQUE4QztJQUM5Qyw4Q0FBUyxDQUFBO0FBQ1gsQ0FBQyxFQUxXLGlDQUFpQyxpREFBakMsaUNBQWlDLFFBSzVDO0FBa0NELE1BQWEsaUJBQWlCOztJQUNyQixNQUFNLENBQUMsbUJBQW1CLENBQUMsS0FBeUI7UUFDekQsTUFBTSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDdkIsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztRQUNELE9BQU8sS0FBSyxFQUFFLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxHQUFHLGlCQUFpQixJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDdEYsQ0FBQztJQUVNLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxLQUFnQixFQUFFLEtBQXlCO1FBQ25GLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVuRyxNQUFNLFNBQVMsR0FBRztZQUNoQix1Q0FBdUMsT0FBTyxFQUFFO1NBQ2pELENBQUM7UUFFRiw4RkFBOEY7UUFDOUYsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDeEIsU0FBUyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsTUFBTSxJQUFJLE9BQU8sc0JBQXNCLGlCQUFpQixJQUFJLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDM0csQ0FBQztRQUVELE9BQU8sSUFBSSx5QkFBZSxDQUFDO1lBQ3pCLE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7WUFDcEIsT0FBTyxFQUFFO2dCQUNQLHFCQUFxQjtnQkFDckIsdUNBQXVDO2FBQ3hDO1lBQ0QsU0FBUztTQUNWLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQXlCO1FBQ3JELE1BQU0sU0FBUyxHQUFHLEtBQUssRUFBRSxTQUFTLElBQUksdUNBQXlCLENBQUMsdUNBQXVDLENBQUM7UUFDeEcsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQztRQUNsRCxNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsYUFBYSxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUM7UUFDMUQsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLEVBQUUsMEJBQTBCLElBQUksaUNBQWlDLENBQUMsRUFBRSxDQUFDO1FBRXBHLE9BQU87WUFDTCxPQUFPO1lBQ1Asa0JBQWtCO1lBQ2xCLGlCQUFpQjtTQUNsQixDQUFDO0lBQ0osQ0FBQzs7QUEzQ0gsOENBNENDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgeyBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IEZvdW5kYXRpb25Nb2RlbElkZW50aWZpZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtYmVkcm9jayc7XG5pbXBvcnQgeyBFZmZlY3QsIFBvbGljeVN0YXRlbWVudCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogQ3Jvc3MtcmVnaW9uIGluZmVyZW5jZSBwcmVmaXggb3B0aW9ucyBmb3IgQmVkcm9jayBtb2RlbHMuXG4gKiBVc2VkIHRvIGNvbmZpZ3VyZSBpbmZlcmVuY2UgcHJvZmlsZXMgZm9yIGltcHJvdmVkIGF2YWlsYWJpbGl0eSBhbmQgcGVyZm9ybWFuY2UuXG4gKi9cbmV4cG9ydCBlbnVtIEJlZHJvY2tDcm9zc1JlZ2lvbkluZmVyZW5jZVByZWZpeCB7XG4gIC8qKiBVUy1iYXNlZCBjcm9zcy1yZWdpb24gaW5mZXJlbmNlIHByb2ZpbGUgKi9cbiAgVVMgPSAndXMnLFxuICAvKiogRVUtYmFzZWQgY3Jvc3MtcmVnaW9uIGluZmVyZW5jZSBwcm9maWxlICovXG4gIEVVID0gJ2V1Jyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCZWRyb2NrTW9kZWxQcm9wcyB7XG4gIC8qKlxuICAgICAqIEZvdW5kYXRpb24gbW9kZWwgdG8gdXNlXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBGb3VuZGF0aW9uTW9kZWxJZGVudGlmaWVyLkFOVEhST1BJQ19DTEFVREVfU09OTkVUXzRfMjAyNTA1MTRfVjFfMFxuICAgICAqL1xuICByZWFkb25seSBmbU1vZGVsSWQ/OiBGb3VuZGF0aW9uTW9kZWxJZGVudGlmaWVyO1xuXG4gIC8qKlxuICAgKiBEaXJlY3QgbW9kZWwgSUQgb3ZlcnJpZGUuXG4gICAqXG4gICAqIFVzZSB0aGlzIHdoZW4gaW52b2tpbmcgYSBtb2RlbCBJRCBub3QgYXZhaWxhYmxlIGluIGBGb3VuZGF0aW9uTW9kZWxJZGVudGlmaWVyYCxcbiAgICogZm9yIGV4YW1wbGUgTG9jYWxTdGFjayBCZWRyb2NrL09sbGFtYS1iYWNrZWQgbW9kZWwgSURzLlxuICAgKlxuICAgKiBXaGVuIHByb3ZpZGVkLCB0aGlzIHZhbHVlIGlzIHVzZWQgYXMtaXMgZm9yIHJ1bnRpbWUgaW52b2NhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbU1vZGVsSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAgICogRW5hYmxlIGNyb3NzLXJlZ2lvbiBpbmZlcmVuY2UgZm9yIEJlZHJvY2sgbW9kZWxzIHRvIGltcHJvdmUgYXZhaWxhYmlsaXR5IGFuZCBwZXJmb3JtYW5jZS5cbiAgICAgKiBXaGVuIGVuYWJsZWQsIHVzZXMgaW5mZXJlbmNlIHByb2ZpbGVzIGluc3RlYWQgb2YgZGlyZWN0IG1vZGVsIGludm9jYXRpb24uXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgcmVhZG9ubHkgdXNlQ3Jvc3NSZWdpb25JbmZlcmVuY2U/OiBib29sZWFuO1xuICAvKipcbiAgICAgKiBQcmVmaXggZm9yIGNyb3NzLXJlZ2lvbiBpbmZlcmVuY2UgY29uZmlndXJhdGlvbi5cbiAgICAgKiBPbmx5IHVzZWQgd2hlbiB1c2VDcm9zc1JlZ2lvbkluZmVyZW5jZSBpcyB0cnVlLlxuICAgICAqIEBkZWZhdWx0IEJlZHJvY2tDcm9zc1JlZ2lvbkluZmVyZW5jZVByZWZpeC5VU1xuICAgICAqL1xuICByZWFkb25seSBjcm9zc1JlZ2lvbkluZmVyZW5jZVByZWZpeD86IEJlZHJvY2tDcm9zc1JlZ2lvbkluZmVyZW5jZVByZWZpeDtcbn1cblxuZXhwb3J0IGNsYXNzIEJlZHJvY2tNb2RlbFV0aWxzIHtcbiAgcHVibGljIHN0YXRpYyBkZXJpdmVBY3R1YWxNb2RlbElkKHByb3BzPzogQmVkcm9ja01vZGVsUHJvcHMpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgbW9kZWxJZCwgY3Jvc3NSZWdpb25QcmVmaXgsIHVzaW5nQ3VzdG9tTW9kZWxJZCB9ID0gQmVkcm9ja01vZGVsVXRpbHMuZGVyaXZlRGVmYXVsdHMocHJvcHMpO1xuICAgIGlmICh1c2luZ0N1c3RvbU1vZGVsSWQpIHtcbiAgICAgIHJldHVybiBtb2RlbElkO1xuICAgIH1cbiAgICByZXR1cm4gcHJvcHM/LnVzZUNyb3NzUmVnaW9uSW5mZXJlbmNlID8gYCR7Y3Jvc3NSZWdpb25QcmVmaXh9LiR7bW9kZWxJZH1gIDogbW9kZWxJZDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2VuZXJhdGVNb2RlbElBTVBlcm1pc3Npb25zKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzPzogQmVkcm9ja01vZGVsUHJvcHMpOiBQb2xpY3lTdGF0ZW1lbnQge1xuICAgIGNvbnN0IHsgYWNjb3VudCwgcmVnaW9uIH0gPSBTdGFjay5vZihzY29wZSk7XG4gICAgY29uc3QgeyBtb2RlbElkLCBjcm9zc1JlZ2lvblByZWZpeCwgdXNpbmdDdXN0b21Nb2RlbElkIH0gPSBCZWRyb2NrTW9kZWxVdGlscy5kZXJpdmVEZWZhdWx0cyhwcm9wcyk7XG5cbiAgICBjb25zdCByZXNvdXJjZXMgPSBbXG4gICAgICBgYXJuOmF3czpiZWRyb2NrOio6OmZvdW5kYXRpb24tbW9kZWwvJHttb2RlbElkfWAsXG4gICAgXTtcblxuICAgIC8vIFByZXNlcnZlIGN1cnJlbnQgYmVoYXZpb3IgZm9yIEFXUyBmb3VuZGF0aW9uIG1vZGVscyB3aXRoIG9wdGlvbmFsIGluZmVyZW5jZSBwcm9maWxlIGFjY2Vzcy5cbiAgICBpZiAoIXVzaW5nQ3VzdG9tTW9kZWxJZCkge1xuICAgICAgcmVzb3VyY2VzLnB1c2goYGFybjphd3M6YmVkcm9jazoke3JlZ2lvbn06JHthY2NvdW50fTppbmZlcmVuY2UtcHJvZmlsZS8ke2Nyb3NzUmVnaW9uUHJlZml4fS4ke21vZGVsSWR9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICBhY3Rpb25zOiBbXG4gICAgICAgICdiZWRyb2NrOkludm9rZU1vZGVsJyxcbiAgICAgICAgJ2JlZHJvY2s6SW52b2tlTW9kZWxXaXRoUmVzcG9uc2VTdHJlYW0nLFxuICAgICAgXSxcbiAgICAgIHJlc291cmNlcyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGRlcml2ZURlZmF1bHRzKHByb3BzPzogQmVkcm9ja01vZGVsUHJvcHMpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICBjb25zdCBmbU1vZGVsSWQgPSBwcm9wcz8uZm1Nb2RlbElkIHx8IEZvdW5kYXRpb25Nb2RlbElkZW50aWZpZXIuQU5USFJPUElDX0NMQVVERV9TT05ORVRfNF8yMDI1MDUxNF9WMV8wO1xuICAgIGNvbnN0IHVzaW5nQ3VzdG9tTW9kZWxJZCA9ICEhcHJvcHM/LmN1c3RvbU1vZGVsSWQ7XG4gICAgY29uc3QgbW9kZWxJZCA9IHByb3BzPy5jdXN0b21Nb2RlbElkIHx8IGZtTW9kZWxJZC5tb2RlbElkO1xuICAgIGNvbnN0IGNyb3NzUmVnaW9uUHJlZml4ID0gcHJvcHM/LmNyb3NzUmVnaW9uSW5mZXJlbmNlUHJlZml4IHx8IEJlZHJvY2tDcm9zc1JlZ2lvbkluZmVyZW5jZVByZWZpeC5VUztcblxuICAgIHJldHVybiB7XG4gICAgICBtb2RlbElkLFxuICAgICAgdXNpbmdDdXN0b21Nb2RlbElkLFxuICAgICAgY3Jvc3NSZWdpb25QcmVmaXgsXG4gICAgfTtcbiAgfVxufVxuIl19
|