truemark-cdk-lib 1.2.4-alpha.2 → 1.2.4-alpha.21
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/aws-apigatewayv2/lib/index.d.ts +2 -0
- package/aws-apigatewayv2/lib/index.js +3 -1
- package/aws-apigatewayv2/lib/standard-domain-name.d.ts +17 -13
- package/aws-apigatewayv2/lib/standard-domain-name.js +22 -22
- package/aws-apigatewayv2/lib/standard-http-api.d.ts +60 -0
- package/aws-apigatewayv2/lib/standard-http-api.js +50 -0
- package/aws-apigatewayv2/lib/standard-web-socket-api.d.ts +61 -0
- package/aws-apigatewayv2/lib/standard-web-socket-api.js +55 -0
- package/aws-cdk/lib/extended-app.d.ts +18 -0
- package/aws-cdk/lib/extended-app.js +27 -0
- package/aws-cdk/lib/extended-stack.d.ts +4 -6
- package/aws-cdk/lib/extended-stack.js +11 -9
- package/aws-cdk/lib/index.d.ts +2 -3
- package/aws-cdk/lib/index.js +3 -4
- package/aws-cdk/lib/single-env-app.d.ts +28 -0
- package/aws-cdk/lib/single-env-app.js +44 -0
- package/aws-cdk/lib/standard-tags.d.ts +37 -33
- package/aws-cdk/lib/standard-tags.js +93 -10
- package/aws-centergauge/lib/alerts-topic.d.ts +3 -1
- package/aws-centergauge/lib/alerts-topic.js +2 -8
- package/aws-codepipeline/lib/cdk-pipeline.d.ts +4 -0
- package/aws-codepipeline/lib/cdk-pipeline.js +3 -2
- package/aws-dynamodb/lib/standard-table.d.ts +3 -1
- package/aws-dynamodb/lib/standard-table.js +2 -8
- package/aws-ecs/lib/standard-fargate-cluster.d.ts +3 -1
- package/aws-ecs/lib/standard-fargate-cluster.js +2 -8
- package/aws-ecs/lib/standard-fargate-service.d.ts +3 -1
- package/aws-ecs/lib/standard-fargate-service.js +2 -8
- package/aws-route53/lib/domain-name.d.ts +7 -14
- package/aws-route53/lib/domain-name.js +27 -28
- package/aws-route53/lib/extended-record-target.d.ts +14 -0
- package/aws-route53/lib/extended-record-target.js +35 -0
- package/aws-route53/lib/index.d.ts +3 -3
- package/aws-route53/lib/index.js +2 -2
- package/aws-route53/lib/latency-a-record.d.ts +4 -0
- package/aws-route53/lib/latency-a-record.js +2 -1
- package/aws-route53/lib/weighted-a-record.d.ts +4 -0
- package/aws-route53/lib/weighted-a-record.js +2 -1
- package/aws-s3/lib/cloud-front-bucket.d.ts +14 -3
- package/aws-s3/lib/cloud-front-bucket.js +25 -3
- package/aws-s3/lib/extended-bucket.d.ts +1 -0
- package/aws-s3/lib/extended-bucket.js +3 -0
- package/aws-s3/lib/website-bucket.d.ts +2 -2
- package/aws-s3/lib/website-bucket.js +5 -7
- package/aws-sqs/lib/standard-queue.d.ts +3 -1
- package/aws-sqs/lib/standard-queue.js +2 -8
- package/aws-vpc/lib/network-parameters.d.ts +3 -1
- package/aws-vpc/lib/network-parameters.js +2 -8
- package/helpers/lib/index.d.ts +0 -1
- package/helpers/lib/index.js +1 -2
- package/package.json +2 -2
- package/test/aws-cdk/standard-tags.test.d.ts +1 -0
- package/test/aws-cdk/standard-tags.test.js +9 -0
- package/test/aws-route53/extended-record-target.test.d.ts +1 -0
- package/test/aws-route53/extended-record-target.test.js +52 -0
- package/test/test-helper.d.ts +4 -0
- package/test/test-helper.js +11 -3
- package/aws-cdk/lib/standard-app.d.ts +0 -19
- package/aws-cdk/lib/standard-app.js +0 -27
- package/aws-cdk/lib/standard-environment.d.ts +0 -10
- package/aws-cdk/lib/standard-environment.js +0 -3
- package/aws-cdk/lib/standard-stack.d.ts +0 -25
- package/aws-cdk/lib/standard-stack.js +0 -35
- package/aws-cdk/lib/standard-stage.d.ts +0 -20
- package/aws-cdk/lib/standard-stage.js +0 -21
- package/aws-route53/lib/weighted-latency-a-record.d.ts +0 -30
- package/aws-route53/lib/weighted-latency-a-record.js +0 -34
- package/helpers/lib/constants.d.ts +0 -3
- package/helpers/lib/constants.js +0 -7
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.NetworkParameters = void 0;
|
|
4
4
|
const constructs_1 = require("constructs");
|
|
5
5
|
const aws_ssm_1 = require("aws-cdk-lib/aws-ssm");
|
|
6
|
-
const helpers_1 = require("../../helpers");
|
|
7
6
|
const aws_cdk_1 = require("../../aws-cdk");
|
|
8
7
|
/**
|
|
9
8
|
* Stores and retrieves network infrastructure identifiers using
|
|
@@ -20,6 +19,7 @@ class NetworkParameters extends constructs_1.Construct {
|
|
|
20
19
|
constructor(scope, id, props) {
|
|
21
20
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
|
|
22
21
|
super(scope, id);
|
|
22
|
+
this.automationComponentTags = aws_cdk_1.InternalAutomationComponentTags;
|
|
23
23
|
const create = (_a = props.create) !== null && _a !== void 0 ? _a : true;
|
|
24
24
|
const prefix = (_b = props.prefix) !== null && _b !== void 0 ? _b : "/network";
|
|
25
25
|
const path = `${prefix}/${props.name}`;
|
|
@@ -300,13 +300,7 @@ class NetworkParameters extends constructs_1.Construct {
|
|
|
300
300
|
this.privateZoneName = aws_ssm_1.StringParameter.valueFromLookup(this, this.privateZoneParameterPath);
|
|
301
301
|
}
|
|
302
302
|
}
|
|
303
|
-
new aws_cdk_1.StandardTags(this, {
|
|
304
|
-
suppress: props.suppressTagging
|
|
305
|
-
}).addAutomationComponentTags({
|
|
306
|
-
url: helpers_1.CDK_NPMJS_URL,
|
|
307
|
-
vendor: helpers_1.CDK_VENDOR
|
|
308
|
-
});
|
|
309
303
|
}
|
|
310
304
|
}
|
|
311
305
|
exports.NetworkParameters = NetworkParameters;
|
|
312
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay1wYXJhbWV0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibmV0d29yay1wYXJhbWV0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUFxQztBQUNyQyxpREFBeUU7QUFDekUsMkNBQXdEO0FBQ3hELDJDQUEyQztBQXVTM0M7OztHQUdHO0FBQ0gsTUFBYSxpQkFBa0IsU0FBUSxzQkFBUztJQTRVOUM7Ozs7OztPQU1HO0lBQ0gsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE2Qjs7UUFDckUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLE1BQU0sU0FBRyxLQUFLLENBQUMsTUFBTSxtQ0FBSSxJQUFJLENBQUM7UUFDcEMsTUFBTSxNQUFNLFNBQUcsS0FBSyxDQUFDLE1BQU0sbUNBQUksVUFBVSxDQUFDO1FBQzFDLE1BQU0sSUFBSSxHQUFHLEdBQUcsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxJQUFJLE1BQU0sQ0FBQztRQUN0QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxJQUFJLE1BQU0sQ0FBQztRQUN0QyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsR0FBRyxJQUFJLGlCQUFpQixDQUFDO1FBQzNELElBQUksQ0FBQywyQkFBMkIsR0FBRyxHQUFHLElBQUksa0JBQWtCLENBQUM7UUFDN0QsSUFBSSxDQUFDLHlCQUF5QixHQUFHLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQztRQUN6RCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsR0FBRyxJQUFJLG1CQUFtQixDQUFDO1FBQy9ELElBQUksQ0FBQyw0QkFBNEIsR0FBRyxHQUFHLElBQUksbUJBQW1CLENBQUM7UUFDL0QsSUFBSSxDQUFDLCtCQUErQixHQUFHLEdBQUcsSUFBSSxzQkFBc0IsQ0FBQztRQUNyRSxJQUFJLENBQUMsMkJBQTJCLEdBQUcs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QUksQ0FBQyxxQkFBcUIsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLHFCQUFxQixHQUFHLHlCQUFlLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsK0JBQStCLENBQUMsQ0FBQzthQUMxRztTQUNGO1FBQ0QsVUFBSSxLQUFLLENBQUMsMkJBQTJCLG1DQUFJLEtBQUssRUFBRTtZQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFO2dCQUNsQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcseUJBQWUsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO2FBQ2hIO1NBQ0Y7UUFDRCxVQUFJLEtBQUssQ0FBQyxnQkFBZ0IsbUNBQUksS0FBSyxFQUFFO1lBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLHlCQUFlLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQzthQUMzRjtTQUNGO1FBQ0QsVUFBSSxLQUFLLENBQUMsaUJBQWlCLG1DQUFJLEtBQUssRUFBRTtZQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDekIsSUFBSSxDQUFDLGVBQWUsR0FBRyx5QkFBZSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7YUFDN0Y7U0FDRjtRQUNELElBQUksc0JBQVksQ0FBQyxJQUFJLEVBQUU7WUFDckIsUUFBUSxFQUFFLEtBQUssQ0FBQyxlQUFlO1NBQ2hDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQztZQUM1QixHQUFHLEVBQUUsdUJBQWE7WUFDbEIsTUFBTSxFQUFFLG9CQUFVO1NBQ25CLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXRuQkQsOENBc25CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtTdHJpbmdMaXN0UGFyYW1ldGVyLCBTdHJpbmdQYXJhbWV0ZXJ9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc3NtXCI7XG5pbXBvcnQge0NES19OUE1KU19VUkwsIENES19WRU5ET1J9IGZyb20gXCIuLi8uLi9oZWxwZXJzXCI7XG5pbXBvcnQge1N0YW5kYXJkVGFnc30gZnJvbSBcIi4uLy4uL2F3cy1jZGtcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBOZXR3b3JrUGFyYW1ldGVycy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXR3b3JrUGFyYW1ldGVyc1Byb3BzIHtcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgbmV0d29yay4gVGhpcyBpcyBub3JtYWxseSB0aGUgbmFtZSBvZiB5b3VyIFZQQy5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogUHJlZml4IGZyb20gd2hpY2ggdG8gc3RvcmUgYW5kIHJldHJpZXZlIHBhcmFtZXRlcnMuIERlZmF1bHQgaXMgXCIvbmV0d29ya1wiLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFwiL25ldHdvcmtcIlxuICAgKi9cbiAgcmVhZG9ubHkgcHJlZml4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZXR0aW5nIHRoaXMgdG8gZmFsc2Ugd2lsbCBkaXNhYmxlIHRoZSBjcmVhdGlvbiBvZiByZXNvdXJjZXMgaW4gdGhpcyBjb25zdHJ1Y3QuIERlZmF1bHQgaXMgdHJ1ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0cnVlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTZXR0aW5nIHRoaXMgdG8gdHJ1ZSB3aWxsIHN1cHByZXNzIHRoZSBjcmVhdGlvbiBvZiBkZWZhdWx0IHRhZ3Mgb24gcmVzb3VyY2VzIGNyZWF0ZWQgYnkgdGhpc1xuICAgKiBjb25zdHJ1Y3QuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHN1cHByZXNzVGFnZ2luZz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFZQQyBJRCB0byBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IHZwY0lkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBdmFpbGFiaWxpdHktem9uZSB2YWx1ZXMgdG8gc3RvcmUuXG4gICAqL1xuICByZWFkb25seSBhenM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUHVibGljIHN1Ym5ldCBJRHMgdG8gc3RvcmUuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNTdWJuZXRJZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUHJpdmF0ZSBzdWJuZXQgSURzIHRvIHN0b3JlLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZVN1Ym5ldElkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBJbnRyYSBzdWJuZXQgSURzIHRvIHN0b3JlLlxuICAgKi9cbiAgcmVhZG9ubHkgaW50cmFTdWJuZXRJZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUmVkc2hpZnQgc3VibmV0IElEcyB0byBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IHJlZHNoaWZ0U3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIERhdGFiYXNlIHN1Ym5ldCBJRHMgdG8gc3RvcmUuXG4gICAqL1xuICByZWFkb25seSBkYXRhYmFzZVN1Ym5ldElkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBFbGFzdGljYWNoZSBzdWJuZXQgSURzIHRvIHN0b3JlLlxuICAgKi9cbiAgcmVhZG9ubHkgZWxhc3RpY2FjaGVTdWJuZXRJZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogT3V0cG9zdCBzdWJuZXQgSURzIHRvIHN0b3JlLlxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cG9zdFN1Ym5ldElkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBQdWJsaWMgQUxCIEFSTnMgdG8gc3RvcmUuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNBbGJBcm5zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFByaXZhdGUgQUxCIEFSTnMgdG8gc3RvcmUuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlQWxiQXJucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBDZXJ0aWZpY2F0ZSBBUk5zIG9uIHB1YmxpYyBBTEJzIHRvIHN0b3JlLiBJbmRleGVzIHNob3VsZCBtYXRjaCBwdWJsaWNBbGJBcm5zLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljQWxiQ2VydGlmaWNhdGVBcm5zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIENlcnRpZmljYXRlIEFSTnMgb24gcHJpdmF0ZSBBTEJzIHRvIHN0b3JlLiBJbmRleGVzIHNob3VsZCBtYXRjaCBwcml2YXRlQWxiQXJucy5cbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVBbGJDZXJ0aWZpY2F0ZUFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQWx0ZXJuYXRpdmUgcHVibGljIEFMQiBBUk5zIHRvIHN0b3JlLlxuICAgKi9cbiAgcmVhZG9ubHkgYWx0UHVibGljQWxiQXJucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBbHRlcm5hdGl2ZSBwcml2YXRlIEFMQiBBUk5zIHRvIHN0b3JlLlxuICAgKi9cbiAgcmVhZG9ubHkgYWx0UHJpdmF0ZUFsYkFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQWx0ZXJuYXRpdmUgY2VydGlmaWNhdGUgQVJOcyBvbiBwdWJsaWMgQUxCcyB0byBzdG9yZS4gSW5kZXhlcyBzaG91bGQgbWF0Y2ggcHVibGljQWxiQXJucy5cbiAgICovXG4gIHJlYWRvbmx5IGFsdFB1YmxpY0FsYkNlcnRpZmljYXRlQXJucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBbHRlcm5hdGl2ZSBjZXJ0aWZpY2F0ZSBBUk5zIG9uIHByaXZhdGUgQUxCcyB0byBzdG9yZS4gSW5kZXhlcyBzaG91bGQgbWF0Y2ggcHJpdmF0ZUFsYkFybnMuXG4gICAqL1xuICByZWFkb25seSBhbHRQcml2YXRlQWxiQ2VydGlmaWNhdGVBcm5zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFB1YmxpYyBjZXJ0aWZpY2F0ZSBBUk4gdG8gc3RvcmUgZm9yIHRoaXMgbmV0d29yay5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY0NlcnRpZmljYXRlQXJuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQcml2YXRlIGNlcnRpZmljYXRlIEFSTiB0byBzdG9yZSBmb3IgdGhpcyBuZXR3b3JrLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZUNlcnRpZmljYXRlQXJuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDbG91ZEZyb250IGNlcnRpZmljYXRlIEFSTiB0byBzdG9yZSBmb3IgdGhpcyBuZXR3b3JrLlxuICAgKi9cbiAgcmVhZG9ubHkgY2xvdWRGb250Q2VydGlmaWNhdGVBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFB1YmxpYyB6b25lIG5hbWUgdG8gc3RvcmUgZm9yIHRoaXMgbmV0d29yay5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY1pvbmVOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQcml2YXRlIHpvbmUgbmFtZSB0byBzdG9yZSBmb3IgdGhpcyBuZXR3b3JrLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZVpvbmVOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgVlBDIHZhbHVlIGlmIG5vdCBwcm92aWRlZC4gRGVmYXVsdCBpcyB0cnVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cFZwYz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBhdmFpbGFiaWxpdHkgem9uZXMgaWYgbm90IHByb3ZpZGVkLiBEZWZhdWx0IGlzIHRydWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwQXpzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTG9va3VwIHB1YmxpYyBzdWJuZXRzIGlmIG5vdCBwcm92aWRlZC4gRGVmYXVsdCBpcyB0cnVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cFB1YmxpY1N1Ym5ldHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgcHJpdmF0ZSBzdWJuZXRzIGlmIG5vdCBwcm92aWRlZC4gRGVmYXVsdCBpcyB0cnVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cFByaXZhdGVTdWJuZXRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTG9va3VwIGludHJhIHN1Ym5ldHMgaWYgbm90IHByb3ZpZGVkLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBJbnRyYVN1Ym5ldHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgcmVkc2hpZnQgc3VibmV0cyBpZiBub3QgcHJvdmlkZWQuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cFJlZHNoaWZ0U3VibmV0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBkYXRhYmFzZSBzdWJuZXRzIGlmIG5vdCBwcm92aWRlZC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwRGF0YWJhc2VTdWJuZXRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTG9va3VwIGVsYXN0aWNhY2hlIHN1Ym5ldHMgaWYgbm90IHByb3ZpZGVkLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBFbGFzdGljYWNoZVN1Ym5ldHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgb3V0cG9zdCBzdWJuZXRzIGlmIG5vdCBwcm92aWRlZC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwT3V0cG9zdFN1Ym5ldHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgcHVibGljIEFMQnMgaWYgbm90IHByb3ZpZGVkLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBQdWJsaWNBbGJzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTG9va3VwIHByaXZhdGUgQUxCcyBpZiBub3QgcHJvdmlkZWQuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cFByaXZhdGVBbGJzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTG9va3VwIEFDTSBjZXJ0aWZpY2F0ZXMgb24gcHVibGljIEFMQnMgaWYgcHJvdmlkZWQuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqL1xuICByZWFkb25seSBsb29rdXBQdWJsaWNBbGJDZXJ0aWZpY2F0ZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgQUNNIGNlcnRpZmljYXRlcyBvbiBwcml2YXRlIEFMQnMgaWYgcHJvdmlkZWQuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqL1xuICByZWFkb25seSBsb29rdXBQcml2YXRlQWxiQ2VydGlmaWNhdGVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTG9va3VwIGFsdGVybmF0aXZlIHB1YmxpYyBBTEJzIGlmIG5vdCBwcm92aWRlZC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwQWx0UHVibGljQWxicz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBhbHRlcm5hdGl2ZSBwcml2YXRlIEFMQnMgaWYgbm90IHByb3ZpZGVkLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBBbHRQcml2YXRlQWxicz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBhbHRlcm5hdGl2ZSBBQ00gY2VydGlmaWNhdGVzIG9uIHB1YmxpYyBBTEJzIGlmIHByb3ZpZGVkLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBBbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgYWx0ZXJuYXRpdmUgQUNNIGNlcnRpZmljYXRlcyBvbiBwcml2YXRlIEFMQnMgaWYgcHJvdmlkZWQuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cEFsdFByaXZhdGVBbGJDZXJ0aWZpY2F0ZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgcHVibGljIGNlcnRpZmljYXRlLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBQdWJsaWNDZXJ0aWZpY2F0ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBwcml2YXRlIGNlcnRpZmljYXRlLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBQcml2YXRlQ2VydGlmaWNhdGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgQ2xvdWRGcm9udCBjZXJ0aWZpY2F0ZS4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwQ2xvdWRGcm9udENlcnRpZmljYXRlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTG9va3VwIHB1YmxpYyB6b25lLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBQdWJsaWNab25lPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTG9va3VwIHByaXZhdGUgem9uZS4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwUHJpdmF0ZVpvbmU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFN0b3JlcyBhbmQgcmV0cmlldmVzIG5ldHdvcmsgaW5mcmFzdHJ1Y3R1cmUgaWRlbnRpZmllcnMgdXNpbmdcbiAqIEFXUyBTeXN0ZW1zIE1hbmFnZXIgUGFyYW1ldGVyIFN0b3JlLlxuICovXG5leHBvcnQgY2xhc3MgTmV0d29ya1BhcmFtZXRlcnMgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBWUEMgSURcbiAgICovXG4gIHJlYWRvbmx5IHZwY1BhcmFtZXRlclBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgYXZhaWxhYmlsaXR5IHpvbmVzXG4gICAqL1xuICByZWFkb25seSBhenNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIHB1YmxpYyBzdWJuZXQgSURzXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNTdWJuZXRzUGFyYW1ldGVyUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBwcml2YXRlIHN1Ym5ldCBJRHNcbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVTdWJuZXRzUGFyYW1ldGVyUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBpbnRyYSBzdWJuZXQgSURzXG4gICAqL1xuICByZWFkb25seSBpbnRyYVN1Ym5ldHNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIHJlZHNoaWZ0IHN1Ym5ldCBJRHNcbiAgICovXG4gIHJlYWRvbmx5IHJlZHNoaWZ0U3VibmV0c1BhcmFtZXRlclBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgZGF0YWJhc2Ugc3VibmV0IElEc1xuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2VTdWJuZXRzUGFyYW1ldGVyUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBlbGFzdGljYWNoZSBzdWJuZXQgSURzXG4gICAqL1xuICByZWFkb25seSBlbGFzdGljYWNoZVN1Ym5ldHNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIG91dHBvc3Qgc3VibmV0IElEcy5cbiAgICovXG4gIHJlYWRvbmx5IG91dHBvc3RTdWJuZXRzUGFyYW1ldGVyUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBwdWJsaWMgQUxCIEFSTnMuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNBbGJzUGFyYW1ldGVyUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBwcml2YXRlIEFMQiBBUk5zLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZUFsYnNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGNlcnRpZmljYXRlIEFSTnMgb24gdGhlIHB1YmxpYyBBTEJzLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljQWxiQ2VydGlmaWNhdGVzUGFyYW1ldGVyUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBjZXJ0aWZpY2F0ZSBBUk5zIG9uIHRoZSBwcml2YXRlIEFMQnMuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlQWxiQ2VydGlmaWNhdGVzUGFyYW1ldGVyUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBhbHRlcm5hdGl2ZSBwdWJsaWMgQUxCIEFSTnMuXG4gICAqL1xuICByZWFkb25seSBhbHRQdWJsaWNBbGJzUGFyYW1ldGVyUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBhbHRlcm5hdGl2ZSBwcml2YXRlIEFMQiBBUk5zLlxuICAgKi9cbiAgcmVhZG9ubHkgYWx0UHJpdmF0ZUFsYnNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGFsdGVybmF0aXZlIGNlcnRpZmljYXRlIEFSTnMgb24gdGhlIHB1YmxpYyBBTEJzLlxuICAgKi9cbiAgcmVhZG9ubHkgYWx0UHVibGljQWxiQ2VydGlmaWNhdGVzUGFyYW1ldGVyUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBhbHRlcm5hdGl2ZSBjZXJ0aWZpY2F0ZSBBUk5zIG9uIHRoZSBwcml2YXRlIEFMQnMuXG4gICAqL1xuICByZWFkb25seSBhbHRQcml2YXRlQWxiQ2VydGlmaWNhdGVzUGFyYW1ldGVyUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBwdWJsaWMgY2VydGlmaWNhdGUgQVJOLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljQ2VydGlmaWNhdGVQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIHByaXZhdGUgY2VydGlmaWNhdGUgQVJOLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZUNlcnRpZmljYXRlUGFyYW1ldGVyUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBDbG91ZEZyb250IGNlcnRpdGljYXRlIEFSTi5cbiAgICovXG4gIHJlYWRvbmx5IGNsb3VkRnJvbnRDZXJ0aWZpY2F0ZVBhcmFtZXRlclBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgcHVibGljIHpvbmUuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNab25lUGFyYW1ldGVyUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBwcml2YXRlIHpvbmUuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlWm9uZVBhcmFtZXRlclBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIHZwY0lkIHdhcyBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHZwY1BhcmFtZXRlcj86IFN0cmluZ1BhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIGF6cyB3ZXJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYXpzUGFyYW1ldGVyPzogU3RyaW5nTGlzdFBhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmF0ZWQgaWYgcHVibGljU3VibmV0SWRzIHdlcmUgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNTdWJuZXRzUGFyYW1ldGVyPzogU3RyaW5nTGlzdFBhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIHByaXZhdGVTdWJuZXRJZHMgd2VyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVTdWJuZXRzUGFyYW1ldGVyPzogU3RyaW5nTGlzdFBhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIGludHJhU3VibmV0SWRzIHdlcmUgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBpbnRyYVN1Ym5ldHNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgcmVkc2hpZnRTdWJuZXRJZHMgd2VyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHJlZHNoaWZ0U3VibmV0c1BhcmFtZXRlcj86IFN0cmluZ0xpc3RQYXJhbWV0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJhbWV0ZXIgY3JlYXRlZCBpZiBkYXRhYmFzZVN1Ym5ldElkcyB3ZXJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2VTdWJuZXRzUGFyYW1ldGVyPzogU3RyaW5nTGlzdFBhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIGVsYXN0aWNhY2hlU3VibmV0SWRzIHdlcmUgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBlbGFzdGljYWNoZVN1Ym5ldHNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgb3V0cG9zdFN1Ym5ldElkcyB3ZXJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cG9zdFN1Ym5ldHNQcmFtZXRlcj86IFN0cmluZ0xpc3RQYXJhbWV0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJhbWV0ZXIgY3JlYXRlZCBpZiBwdWJsaWNBbGJBcm5zIHdlcmUgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNBbGJzUGFyYW1ldGVyPzogU3RyaW5nTGlzdFBhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIHByaXZhdGVBbGJBcm5zIHdlcmUgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlQWxic1BhcmFtZXRlcj86IFN0cmluZ0xpc3RQYXJhbWV0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJhbWV0ZXIgY3JlYXRlZCBpZiBwdWJsaWNBbGJDZXJ0aWZpY2F0ZUFybnMgd2VyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY0FsYkNlcnRpZmljYXRlc1BhcmFtZXRlcj86IFN0cmluZ0xpc3RQYXJhbWV0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJhbWV0ZXIgY3JlYXRlZCBpZiBwcml2YXRlQWxiQ2VydGlmaWNhdGVBcm5zIHdlcmUgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlQWxiQ2VydGlmaWNhdGVzUGFyYW1ldGVyPzogU3RyaW5nTGlzdFBhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIGFsdFB1YmxpY0FsYkFybnMgd2VyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGFsdFB1YmxpY0FsYnNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgYWx0UHJpdmF0ZUFsYkFybnMgd2VyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGFsdFByaXZhdGVBbGJzUGFyYW1ldGVyPzogU3RyaW5nTGlzdFBhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIGFsdFB1YmxpY0FsYkNlcnRpZmljYXRlQXJucyB3ZXJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYWx0UHVibGljQWxiQ2VydGlmaWNhdGVzUGFyYW1ldGVyPzogU3RyaW5nTGlzdFBhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIGFsdFByaXZhdGVBbGJDZXJ0aWZpY2F0ZUFybnMgd2VyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGFsdFByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgcHVibGljQ2VydGlmaWNhdGVBcm4gd2FzIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljQ2VydGlmaWNhdGVQYXJhbWV0ZXI/OiBTdHJpbmdQYXJhbWV0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJhbWV0ZXIgY3JlYXRlZCBpZiBwcml2YXRlQ2VydGlmaWNhdGVBcm4gd2FzIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZUNlcnRpZmljYXRlUGFyYW1ldGVyPzogU3RyaW5nUGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgY2xvdWRGcm9udENlcnRpZmljYXRlQXJuIHdhcyBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGNsb3VkRnJvbnRDZXJ0aWZpY2F0ZVBhcmFtZXRlcj86IFN0cmluZ1BhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIHB1YmxpY1pvbmVOYW1lIHdhcyBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY1pvbmVQYXJhbWV0ZXI/OiBTdHJpbmdQYXJhbWV0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJhbWV0ZXIgY3JlYXRlZCBpZiBwcml2YXRlWm9uZU5hbWUgd2FzIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZVpvbmVQYXJhbWV0ZXI/OiBTdHJpbmdQYXJhbWV0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB2cGNJZCBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBhdmFpbGFiaWxpdHkgem9uZXMgaWYgcHJvdmlkZWQgb3IgbG9va3VwcyBhcmUgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGF6cz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgcHVibGljIHN1Ym5ldCBJRHMgaWYgcHJvdmlkZWQgb3IgbG9va3VwcyBhcmUgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY1N1Ym5ldElkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJpdmF0ZSBzdWJuZXQgSURzIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBpbnRyYSBzdWJuZXQgSURzIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBpbnRyYVN1Ym5ldElkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVkc2hpZnQgc3VibmV0IElEcyBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVkc2hpZnRTdWJuZXRJZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGRhdGFiYXNlIHN1Ym5ldCBJRHMgaWYgcHJvdmlkZWQgb3IgbG9va3VwcyBhcmUgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFiYXNlU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBlbGFzdGljYWNoZSBzdWJuZXQgSURzIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBlbGFzdGljYWNoZVN1Ym5ldElkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgb3V0cG9zdCBzdWJuZXQgSURzIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBvdXRwb3N0U3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBwdWJsaWMgQUxCIEFSTnMgaWYgcHJvdmlkZWQgb3IgbG9va3VwcyBhcmUgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY0FsYkFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIHByaXZhdGUgQUxCIEFSTnMgaWYgcHJvdmlkZWQgb3IgbG9va3VwcyBhcmUgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVBbGJBcm5zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBjZXJ0aWZpY2F0ZSBBUk5zIG9uIHRoZSBwdWJsaWMgQUxCcyBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljQWxiQ2VydGlmaWNhdGVBcm5zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBjZXJ0aWZpY2F0ZSBBUk5zIG9uIHRoZSBwcml2YXRlIEFMYnMgaWYgcHJvdmlkZWQgb3IgbG9va3VwcyBhcmUgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVBbGJDZXJ0aWZpY2F0ZUFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGFsdGVybmF0aXZlIHB1YmxpYyBBTEIgQVJOcyBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYWx0UHVibGljQWxiQXJucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgYWx0ZXJuYXRpdmUgcHJpdmF0ZSBBTEIgQVJOcyBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYWx0UHJpdmF0ZUFsYkFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGNlcnRpZmljYXRlIEFSTnMgb24gdGhlIGFsdGVybmF0aXZlIHB1YmxpYyBBTEJzIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBhbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZUFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGNlcnRpZmljYXRlIEFSTnMgb24gdGhlIGFsdGVybmF0aXZlIHByaXZhdGUgQUxicyBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYWx0UHJpdmF0ZUFsYkNlcnRpZmljYXRlQXJucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgcHVibGljIGNlcnRpZmljYXRlIEFSTiBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljQ2VydGlmaWNhdGVBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwcml2YXRlIGNlcnRpZmljYXRlIEFSTiBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZUNlcnRpZmljYXRlQXJuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQ2xvdWRGcm9udCBjZXJ0aWZpY2F0ZSBBUk4gaWYgcHJvdmlkZWQgb3IgbG9va3VwcyBhcmUgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGNsb3VkRnJvbnRDZXJ0aWZpY2F0ZUFybj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHB1YmxpYyB6b25lIG5hbWUgaWYgcHJvdmlkZWQgb3IgbG9va3VwcyBhcmUgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY1pvbmVOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJpdmF0ZSB6b25lIG5hbWUgaWYgcHJvdmlkZWQgb3IgbG9va3VwcyBhcmUgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVab25lTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBOZXR3b3JrUGFyYW1ldGVycyBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBwYXJlbnQgc2NvcGVcbiAgICogQHBhcmFtIGlkIHRoZSBpZCBvZiB0aGUgaW5zdGFuY2VcbiAgICogQHBhcmFtIHByb3BzIHByb3BlcnRpZXMgZm9yIHRoZSBpbnN0YW5jZVxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IE5ldHdvcmtQYXJhbWV0ZXJzUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgY3JlYXRlID0gcHJvcHMuY3JlYXRlID8/IHRydWU7XG4gICAgY29uc3QgcHJlZml4ID0gcHJvcHMucHJlZml4ID8/IFwiL25ldHdvcmtcIjtcbiAgICBjb25zdCBwYXRoID0gYCR7cHJlZml4fS8ke3Byb3BzLm5hbWV9YDtcbiAgICB0aGlzLnZwY1BhcmFtZXRlclBhdGggPSBgJHtwYXRofS92cGNgO1xuICAgIHRoaXMuYXpzUGFyYW1ldGVyUGF0aCA9IGAke3BhdGh9L2F6c2A7XG4gICAgdGhpcy5wdWJsaWNTdWJuZXRzUGFyYW1ldGVyUGF0aCA9IGAke3BhdGh9L3B1YmxpY19zdWJuZXRzYDtcbiAgICB0aGlzLnByaXZhdGVTdWJuZXRzUGFyYW1ldGVyUGF0aCA9IGAke3BhdGh9L3ByaXZhdGVfc3VibmV0c2A7XG4gICAgdGhpcy5pbnRyYVN1Ym5ldHNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vaW50cmFfc3VibmV0c2A7XG4gICAgdGhpcy5yZWRzaGlmdFN1Ym5ldHNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vcmVkc2hpZnRfc3VibmV0c2A7XG4gICAgdGhpcy5kYXRhYmFzZVN1Ym5ldHNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vZGF0YWJhc2Vfc3VibmV0c2A7XG4gICAgdGhpcy5lbGFzdGljYWNoZVN1Ym5ldHNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vZWxhc3RpY2FjaGVfc3VibmV0c2A7XG4gICAgdGhpcy5vdXRwb3N0U3VibmV0c1BhcmFtZXRlclBhdGggPSBgJHtwYXRofS9vdXRwb3N0X3N1Ym5ldHNgO1xuICAgIHRoaXMucHVibGljQWxic1BhcmFtZXRlclBhdGggPSBgJHtwYXRofS9wdWJsaWNfYWxic2A7XG4gICAgdGhpcy5wcml2YXRlQWxic1BhcmFtZXRlclBhdGggPSBgJHtwYXRofS9wcml2YXRlX2FsYnNgO1xuICAgIHRoaXMucHVibGljQWxiQ2VydGlmaWNhdGVzUGFyYW1ldGVyUGF0aCA9IGAke3BhdGh9L3B1YmxpY19hbGJfY2VydGlmaWNhdGVzYDtcbiAgICB0aGlzLnByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vcHJpdmF0ZV9hbGJfY2VydGlmaWNhdGVzYDtcbiAgICB0aGlzLmFsdFB1YmxpY0FsYnNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vYWx0X3B1YmxpY19hbGJzYDtcbiAgICB0aGlzLmFsdFByaXZhdGVBbGJzUGFyYW1ldGVyUGF0aCA9IGAke3BhdGh9L2FsdF9wcml2YXRlX2FsYnNgO1xuICAgIHRoaXMuYWx0UHVibGljQWxiQ2VydGlmaWNhdGVzUGFyYW1ldGVyUGF0aCA9IGAke3BhdGh9L2FsdF9wdWJsaWNfYWxiX2NlcnRpZmljYXRlc2A7XG4gICAgdGhpcy5hbHRQcml2YXRlQWxiQ2VydGlmaWNhdGVzUGFyYW1ldGVyUGF0aCA9IGAke3BhdGh9L2FsdF9wcml2YXRlX2FsYl9jZXJ0aWZpY2F0ZXNgO1xuICAgIHRoaXMucHVibGljQ2VydGlmaWNhdGVQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vcHVibGljX2NlcnRpZmljYXRlYDtcbiAgICB0aGlzLnByaXZhdGVDZXJ0aWZpY2F0ZVBhcmFtZXRlclBhdGggPSBgJHtwYXRofS9wcml2YXRlX2NlcnRpZmljYXRlYDtcbiAgICB0aGlzLmNsb3VkRnJvbnRDZXJ0aWZpY2F0ZVBhcmFtZXRlclBhdGggPSBgJHtwYXRofS9jbG91ZGZyb250X2NlcnRpZmljYXRlYDtcbiAgICB0aGlzLnB1YmxpY1pvbmVQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vcHVibGljX3pvbmVgO1xuICAgIHRoaXMucHJpdmF0ZVpvbmVQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vcHJpdmF0ZV96b25lYDtcblxuICAgIGlmIChjcmVhdGUpIHtcbiAgICAgIGlmIChwcm9wcy52cGNJZCkge1xuICAgICAgICB0aGlzLnZwY1BhcmFtZXRlciA9IG5ldyBTdHJpbmdQYXJhbWV0ZXIodGhpcywgXCJWcGNJZFwiLCB7XG4gICAgICAgICAgcGFyYW1ldGVyTmFtZTogdGhpcy52cGNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgIHN0cmluZ1ZhbHVlOiBwcm9wcy52cGNJZFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy52cGNJZCA9IHByb3BzLnZwY0lkO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmF6cykge1xuICAgICAgICB0aGlzLmF6c1BhcmFtZXRlciA9IG5ldyBTdHJpbmdMaXN0UGFyYW1ldGVyKHRoaXMsIFwiQVpzXCIsIHtcbiAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLmF6c1BhcmFtZXRlclBhdGgsXG4gICAgICAgICAgc3RyaW5nTGlzdFZhbHVlOiBwcm9wcy5henNcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYXpzID0gcHJvcHMuYXpzO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLnB1YmxpY1N1Ym5ldElkcykge1xuICAgICAgICB0aGlzLnB1YmxpY1N1Ym5ldHNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcih0aGlzLCBcIlB1YmxpY1N1Ym5ldHNcIiwge1xuICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMucHVibGljU3VibmV0c1BhcmFtZXRlclBhdGgsXG4gICAgICAgICAgc3RyaW5nTGlzdFZhbHVlOiBwcm9wcy5wdWJsaWNTdWJuZXRJZHNcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucHVibGljU3VibmV0SWRzID0gcHJvcHMucHJpdmF0ZVN1Ym5ldElkcztcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5wcml2YXRlU3VibmV0SWRzKSB7XG4gICAgICAgIHRoaXMucHJpdmF0ZVN1Ym5ldHNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcih0aGlzLCBcIlByaXZhdGVTdWJuZXRzXCIsIHtcbiAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLnByaXZhdGVTdWJuZXRzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICBzdHJpbmdMaXN0VmFsdWU6IHByb3BzLnByaXZhdGVTdWJuZXRJZHNcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucHJpdmF0ZVN1Ym5ldElkcyA9IHByb3BzLnByaXZhdGVTdWJuZXRJZHM7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuaW50cmFTdWJuZXRJZHMpIHtcbiAgICAgICAgdGhpcy5pbnRyYVN1Ym5ldHNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcih0aGlzLCBcIkludHJhU3VibmV0c1wiLCB7XG4gICAgICAgICAgcGFyYW1ldGVyTmFtZTogdGhpcy5pbnRyYVN1Ym5ldHNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgIHN0cmluZ0xpc3RWYWx1ZTogcHJvcHMuaW50cmFTdWJuZXRJZHNcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuaW50cmFTdWJuZXRJZHMgPSBwcm9wcy5pbnRyYVN1Ym5ldElkcztcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5yZWRzaGlmdFN1Ym5ldElkcykge1xuICAgICAgICB0aGlzLnJlZHNoaWZ0U3VibmV0c1BhcmFtZXRlciA9IG5ldyBTdHJpbmdMaXN0UGFyYW1ldGVyKHRoaXMsIFwiUmVkc2hpZnRTdWJuZXRzXCIsIHtcbiAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLnJlZHNoaWZ0U3VibmV0c1BhcmFtZXRlclBhdGgsXG4gICAgICAgICAgc3RyaW5nTGlzdFZhbHVlOiBwcm9wcy5yZWRzaGlmdFN1Ym5ldElkc1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5yZWRzaGlmdFN1Ym5ldElkcyA9IHByb3BzLnJlZHNoaWZ0U3VibmV0SWRzO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmRhdGFiYXNlU3VibmV0SWRzKSB7XG4gICAgICAgIHRoaXMuZGF0YWJhc2VTdWJuZXRzUGFyYW1ldGVyID0gbmV3IFN0cmluZ0xpc3RQYXJhbWV0ZXIodGhpcywgXCJEYXRhYmFzZVN1Ym5ldHNcIiwge1xuICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMuZGF0YWJhc2VTdWJuZXRzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICBzdHJpbmdMaXN0VmFsdWU6IHByb3BzLmRhdGFiYXNlU3VibmV0SWRzXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmRhdGFiYXNlU3VibmV0SWRzID0gcHJvcHMuZGF0YWJhc2VTdWJuZXRJZHM7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuZWxhc3RpY2FjaGVTdWJuZXRJZHMpIHtcbiAgICAgICAgdGhpcy5lbGFzdGljYWNoZVN1Ym5ldHNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcih0aGlzLCBcIkVsYXN0aWNhY2hlU3VibmV0c1wiLCB7XG4gICAgICAgICAgcGFyYW1ldGVyTmFtZTogdGhpcy5lbGFzdGljYWNoZVN1Ym5ldHNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgIHN0cmluZ0xpc3RWYWx1ZTogcHJvcHMuZWxhc3RpY2FjaGVTdWJuZXRJZHNcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZWxhc3RpY2FjaGVTdWJuZXRJZHMgPSBwcm9wcy5lbGFzdGljYWNoZVN1Ym5ldElkcztcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5vdXRwb3N0U3VibmV0SWRzKSB7XG4gICAgICAgIHRoaXMub3V0cG9zdFN1Ym5ldHNQcmFtZXRlciA9IG5ldyBTdHJpbmdMaXN0UGFyYW1ldGVyKHRoaXMsIFwiT3V0cG9zdFN1Ym5ldHNcIiwge1xuICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMub3V0cG9zdFN1Ym5ldHNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgIHN0cmluZ0xpc3RWYWx1ZTogcHJvcHMub3V0cG9zdFN1Ym5ldElkc1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5vdXRwb3N0U3VibmV0SWRzID0gcHJvcHMub3V0cG9zdFN1Ym5ldElkc1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLnB1YmxpY0FsYkFybnMpIHtcbiAgICAgICAgdGhpcy5wdWJsaWNBbGJzUGFyYW1ldGVyID0gbmV3IFN0cmluZ0xpc3RQYXJhbWV0ZXIodGhpcywgXCJQdWJsaWNBbGJzXCIsIHtcbiAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLnB1YmxpY0FsYnNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgIHN0cmluZ0xpc3RWYWx1ZTogcHJvcHMucHVibGljQWxiQXJuc1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5wdWJsaWNBbGJBcm5zID0gcHJvcHMucHVibGljQWxiQXJucztcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5wcml2YXRlQWxiQXJucykge1xuICAgICAgICB0aGlzLnByaXZhdGVBbGJzUGFyYW1ldGVyID0gbmV3IFN0cmluZ0xpc3RQYXJhbWV0ZXIodGhpcywgXCJQcml2YXRlQWxic1wiLCB7XG4gICAgICAgICAgcGFyYW1ldGVyTmFtZTogdGhpcy5wcml2YXRlQWxic1BhcmFtZXRlclBhdGgsXG4gICAgICAgICAgc3RyaW5nTGlzdFZhbHVlOiBwcm9wcy5wcml2YXRlQWxiQXJuc1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5wcml2YXRlQWxiQXJucyA9IHByb3BzLnByaXZhdGVBbGJBcm5zO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLnB1YmxpY0FsYkNlcnRpZmljYXRlQXJucykge1xuICAgICAgICB0aGlzLnB1YmxpY0FsYkNlcnRpZmljYXRlc1BhcmFtZXRlciA9IG5ldyBTdHJpbmdMaXN0UGFyYW1ldGVyKHRoaXMsIFwiUHVibGljQWxiQ2VydGlmaWNhdGVzXCIsIHtcbiAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLnB1YmxpY0FsYkNlcnRpZmljYXRlc1BhcmFtZXRlclBhdGgsXG4gICAgICAgICAgc3RyaW5nTGlzdFZhbHVlOiBwcm9wcy5wdWJsaWNBbGJDZXJ0aWZpY2F0ZUFybnNcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMucHJpdmF0ZUFsYkNlcnRpZmljYXRlQXJucykge1xuICAgICAgICB0aGlzLnByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcih0aGlzLCBcIlByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNcIiwge1xuICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMucHJpdmF0ZUFsYkNlcnRpZmljYXRlc1BhcmFtZXRlclBhdGgsXG4gICAgICAgICAgc3RyaW5nTGlzdFZhbHVlOiBwcm9wcy5wcml2YXRlQWxiQ2VydGlmaWNhdGVBcm5zXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmFsdFB1YmxpY0FsYkFybnMpIHtcbiAgICAgICAgdGhpcy5hbHRQdWJsaWNBbGJzUGFyYW1ldGVyID0gbmV3IFN0cmluZ0xpc3RQYXJhbWV0ZXIodGhpcywgXCJBbHRQdWJsaWNBbGJzXCIsIHtcbiAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLmFsdFB1YmxpY0FsYnNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgIHN0cmluZ0xpc3RWYWx1ZTogcHJvcHMuYWx0UHVibGljQWxiQXJuc1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5hbHRQcml2YXRlQWxiQXJucykge1xuICAgICAgICB0aGlzLmFsdFByaXZhdGVBbGJzUGFyYW1ldGVyID0gbmV3IFN0cmluZ0xpc3RQYXJhbWV0ZXIodGhpcywgXCJBbHRQcml2YXRlQWxic1wiLCB7XG4gICAgICAgICAgcGFyYW1ldGVyTmFtZTogdGhpcy5hbHRQcml2YXRlQWxic1BhcmFtZXRlclBhdGgsXG4gICAgICAgICAgc3RyaW5nTGlzdFZhbHVlOiBwcm9wcy5hbHRQcml2YXRlQWxiQXJuc1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5hbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZUFybnMpIHtcbiAgICAgICAgdGhpcy5hbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcih0aGlzLCBcIkFsdFB1YmxpY0FsYkNlcnRpZmljYXRlc1wiLCB7XG4gICAgICAgICAgcGFyYW1ldGVyTmFtZTogdGhpcy5hbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgIHN0cmluZ0xpc3RWYWx1ZTogcHJvcHMuYWx0UHVibGljQWxiQ2VydGlmaWNhdGVBcm5zXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmFsdFByaXZhdGVBbGJDZXJ0aWZpY2F0ZUFybnMpIHtcbiAgICAgICAgdGhpcy5hbHRQcml2YXRlQWxiQ2VydGlmaWNhdGVzUGFyYW1ldGVyID0gbmV3IFN0cmluZ0xpc3RQYXJhbWV0ZXIodGhpcywgXCJBbHRQcml2YXRlQWxiQ2VydGlmaWNhdGVzXCIsIHtcbiAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLmFsdFByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgIHN0cmluZ0xpc3RWYWx1ZTogcHJvcHMuYWx0UHJpdmF0ZUFsYkNlcnRpZmljYXRlQXJuc1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5wdWJsaWNDZXJ0aWZpY2F0ZUFybikge1xuICAgICAgICB0aGlzLnB1YmxpY0NlcnRpZmljYXRlUGFyYW1ldGVyID0gbmV3IFN0cmluZ1BhcmFtZXRlcih0aGlzLCBcIlB1YmxpY0NlcnRpZmljYXRlXCIsIHtcbiAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLnB1YmxpY0NlcnRpZmljYXRlUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICBzdHJpbmdWYWx1ZTogcHJvcHMucHVibGljQ2VydGlmaWNhdGVBcm5cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMucHJpdmF0ZUNlcnRpZmljYXRlQXJuKSB7XG4gICAgICAgIHRoaXMucHJpdmF0ZUNlcnRpZmljYXRlUGFyYW1ldGVyID0gbmV3IFN0cmluZ1BhcmFtZXRlcih0aGlzLCBcIlByaXZhdGVDZXJ0aWZpY2F0ZVwiLCB7XG4gICAgICAgICAgcGFyYW1ldGVyTmFtZTogdGhpcy5wcml2YXRlQ2VydGlmaWNhdGVQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgIHN0cmluZ1ZhbHVlOiBwcm9wcy5wcml2YXRlQ2VydGlmaWNhdGVBcm5cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuY2xvdWRGb250Q2VydGlmaWNhdGVBcm4pIHtcbiAgICAgICAgdGhpcy5jbG91ZEZyb250Q2VydGlmaWNhdGVQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nUGFyYW1ldGVyKHRoaXMsIFwiQ2xvdWRGcm9udENlcnRpZmljYXRlXCIsIHtcbiAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLmNsb3VkRnJvbnRDZXJ0aWZpY2F0ZVBhcmFtZXRlclBhdGgsXG4gICAgICAgICAgc3RyaW5nVmFsdWU6IHByb3BzLmNsb3VkRm9udENlcnRpZmljYXRlQXJuXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLnB1YmxpY1pvbmVOYW1lKSB7XG4gICAgICAgIHRoaXMucHVibGljWm9uZVBhcmFtZXRlciA9IG5ldyBTdHJpbmdQYXJhbWV0ZXIodGhpcywgXCJQdWJsaWNab25lXCIsIHtcbiAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLnB1YmxpY1pvbmVQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgIHN0cmluZ1ZhbHVlOiBwcm9wcy5wdWJsaWNab25lTmFtZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5wcml2YXRlWm9uZU5hbWUpIHtcbiAgICAgICAgdGhpcy5wcml2YXRlWm9uZVBhcmFtZXRlciA9IG5ldyBTdHJpbmdQYXJhbWV0ZXIodGhpcywgXCJQcml2YXRlWm9uZVwiLCB7XG4gICAgICAgICAgcGFyYW1ldGVyTmFtZTogdGhpcy5wcml2YXRlWm9uZVBhcmFtZXRlclBhdGgsXG4gICAgICAgICAgc3RyaW5nVmFsdWU6IHByb3BzLnByaXZhdGVab25lTmFtZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cFZwYyA/PyB0cnVlKSB7XG4gICAgICBpZiAoIXRoaXMudnBjSWQpIHtcbiAgICAgICAgdGhpcy52cGNJZCA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAodGhpcywgdGhpcy52cGNQYXJhbWV0ZXJQYXRoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cEF6cyA/PyB0cnVlKSB7XG4gICAgICBpZiAoIXRoaXMuYXpzKSB7XG4gICAgICAgIHRoaXMuYXpzID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cCh0aGlzLCB0aGlzLmF6c1BhcmFtZXRlclBhdGgpLnNwbGl0KFwiLFwiKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cFB1YmxpY1N1Ym5ldHMgPz8gdHJ1ZSkge1xuICAgICAgaWYgKCF0aGlzLnB1YmxpY1N1Ym5ldElkcykge1xuICAgICAgICB0aGlzLnB1YmxpY1N1Ym5ldElkcyA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAodGhpcywgdGhpcy5wdWJsaWNTdWJuZXRzUGFyYW1ldGVyUGF0aCkuc3BsaXQoXCIsXCIpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwUHJpdmF0ZVN1Ym5ldHMgPz8gdHJ1ZSkge1xuICAgICAgaWYgKCF0aGlzLnByaXZhdGVTdWJuZXRJZHMpIHtcbiAgICAgICAgdGhpcy5wcml2YXRlU3VibmV0SWRzID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cCh0aGlzLCB0aGlzLnByaXZhdGVTdWJuZXRzUGFyYW1ldGVyUGF0aCkuc3BsaXQoXCIsXCIpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwSW50cmFTdWJuZXRzID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMuaW50cmFTdWJuZXRJZHMpIHtcbiAgICAgICAgdGhpcy5pbnRyYVN1Ym5ldElkcyA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAodGhpcywgdGhpcy5pbnRyYVN1Ym5ldHNQYXJhbWV0ZXJQYXRoKS5zcGxpdChcIixcIik7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBSZWRzaGlmdFN1Ym5ldHMgPz8gZmFsc2UpIHtcbiAgICAgIGlmICghdGhpcy5yZWRzaGlmdFN1Ym5ldElkcykge1xuICAgICAgICB0aGlzLnJlZHNoaWZ0U3VibmV0SWRzID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cCh0aGlzLCB0aGlzLnJlZHNoaWZ0U3VibmV0c1BhcmFtZXRlclBhdGgpLnNwbGl0KFwiLFwiKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cERhdGFiYXNlU3VibmV0cyA/PyBmYWxzZSkge1xuICAgICAgaWYgKCF0aGlzLmRhdGFiYXNlU3VibmV0SWRzKSB7XG4gICAgICAgIHRoaXMuZGF0YWJhc2VTdWJuZXRJZHMgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKHRoaXMsIHRoaXMuZGF0YWJhc2VTdWJuZXRzUGFyYW1ldGVyUGF0aCkuc3BsaXQoXCIsXCIpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwRWxhc3RpY2FjaGVTdWJuZXRzID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMuZWxhc3RpY2FjaGVTdWJuZXRJZHMpIHtcbiAgICAgICAgdGhpcy5lbGFzdGljYWNoZVN1Ym5ldElkcyA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAodGhpcywgdGhpcy5lbGFzdGljYWNoZVN1Ym5ldHNQYXJhbWV0ZXJQYXRoKS5zcGxpdChcIixcIik7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBPdXRwb3N0U3VibmV0cyA/PyBmYWxzZSkge1xuICAgICAgaWYgKCF0aGlzLm91dHBvc3RTdWJuZXRJZHMpIHtcbiAgICAgICAgdGhpcy5vdXRwb3N0U3VibmV0SWRzID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cCh0aGlzLCB0aGlzLm91dHBvc3RTdWJuZXRzUGFyYW1ldGVyUGF0aCkuc3BsaXQoXCIsXCIpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwUHVibGljQWxicyA/PyBmYWxzZSkge1xuICAgICAgaWYgKCF0aGlzLnB1YmxpY0FsYkFybnMpIHtcbiAgICAgICAgdGhpcy5wdWJsaWNBbGJBcm5zID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cCh0aGlzLCB0aGlzLnB1YmxpY0FsYnNQYXJhbWV0ZXJQYXRoKS5zcGxpdChcIixcIik7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBQcml2YXRlQWxicyA/PyBmYWxzZSkge1xuICAgICAgaWYgKCF0aGlzLnByaXZhdGVBbGJBcm5zKSB7XG4gICAgICAgIHRoaXMucHJpdmF0ZUFsYkFybnMgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKHRoaXMsIHRoaXMucHJpdmF0ZUFsYnNQYXJhbWV0ZXJQYXRoKS5zcGxpdChcIixcIik7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBQdWJsaWNBbGJDZXJ0aWZpY2F0ZXMgPz8gZmFsc2UpIHtcbiAgICAgIGlmICghdGhpcy5wdWJsaWNBbGJDZXJ0aWZpY2F0ZUFybnMpIHtcbiAgICAgICAgdGhpcy5wdWJsaWNBbGJDZXJ0aWZpY2F0ZUFybnMgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKHRoaXMsIHRoaXMucHVibGljQWxiQ2VydGlmaWNhdGVzUGFyYW1ldGVyUGF0aCkuc3BsaXQoXCIsXCIpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwUHJpdmF0ZUFsYkNlcnRpZmljYXRlcyA/PyBmYWxzZSkge1xuICAgICAgaWYgKCF0aGlzLnByaXZhdGVBbGJDZXJ0aWZpY2F0ZUFybnMpIHtcbiAgICAgICAgdGhpcy5wcml2YXRlQWxiQ2VydGlmaWNhdGVBcm5zID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cCh0aGlzLCB0aGlzLnByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoKS5zcGxpdChcIixcIik7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBBbHRQdWJsaWNBbGJzID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMuYWx0UHVibGljQWxiQXJucykge1xuICAgICAgICB0aGlzLmFsdFB1YmxpY0FsYkFybnMgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKHRoaXMsIHRoaXMuYWx0UHVibGljQWxic1BhcmFtZXRlclBhdGgpLnNwbGl0KFwiLFwiKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cEFsdFByaXZhdGVBbGJzID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMuYWx0UHJpdmF0ZUFsYkFybnMpIHtcbiAgICAgICAgdGhpcy5hbHRQcml2YXRlQWxiQXJucyA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAodGhpcywgdGhpcy5hbHRQcml2YXRlQWxic1BhcmFtZXRlclBhdGgpLnNwbGl0KFwiLFwiKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cEFsdFB1YmxpY0FsYkNlcnRpZmljYXRlcyA/PyBmYWxzZSkge1xuICAgICAgaWYgKCF0aGlzLmFsdFB1YmxpY0FsYkNlcnRpZmljYXRlQXJucykge1xuICAgICAgICB0aGlzLmFsdFB1YmxpY0FsYkNlcnRpZmljYXRlQXJucyA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAodGhpcywgdGhpcy5hbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoKS5zcGxpdChcIixcIik7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBBbHRQcml2YXRlQWxiQ2VydGlmaWNhdGVzID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMuYWx0UHJpdmF0ZUFsYkNlcnRpZmljYXRlQXJucykge1xuICAgICAgICB0aGlzLmFsdFByaXZhdGVBbGJDZXJ0aWZpY2F0ZUFybnMgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKHRoaXMsIHRoaXMuYWx0UHJpdmF0ZUFsYkNlcnRpZmljYXRlc1BhcmFtZXRlclBhdGgpLnNwbGl0KFwiLFwiKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cFB1YmxpY0NlcnRpZmljYXRlID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMucHVibGljQ2VydGlmaWNhdGVBcm4pIHtcbiAgICAgICAgdGhpcy5wdWJsaWNDZXJ0aWZpY2F0ZUFybiA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAodGhpcywgdGhpcy5wdWJsaWNDZXJ0aWZpY2F0ZVBhcmFtZXRlclBhdGgpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwUHJpdmF0ZUNlcnRpZmljYXRlID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMucHJpdmF0ZUNlcnRpZmljYXRlQXJuKSB7XG4gICAgICAgIHRoaXMucHJpdmF0ZUNlcnRpZmljYXRlQXJuID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cCh0aGlzLCB0aGlzLnByaXZhdGVDZXJ0aWZpY2F0ZVBhcmFtZXRlclBhdGgpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwQ2xvdWRGcm9udENlcnRpZmljYXRlID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMuY2xvdWRGcm9udENlcnRpZmljYXRlQXJuKSB7XG4gICAgICAgIHRoaXMuY2xvdWRGcm9udENlcnRpZmljYXRlQXJuID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cCh0aGlzLCB0aGlzLmNsb3VkRnJvbnRDZXJ0aWZpY2F0ZVBhcmFtZXRlclBhdGgpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwUHVibGljWm9uZSA/PyBmYWxzZSkge1xuICAgICAgaWYgKCF0aGlzLnB1YmxpY1pvbmVOYW1lKSB7XG4gICAgICAgIHRoaXMucHVibGljWm9uZU5hbWUgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKHRoaXMsIHRoaXMucHVibGljWm9uZVBhcmFtZXRlclBhdGgpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwUHJpdmF0ZVpvbmUgPz8gZmFsc2UpIHtcbiAgICAgIGlmICghdGhpcy5wcml2YXRlWm9uZU5hbWUpIHtcbiAgICAgICAgdGhpcy5wcml2YXRlWm9uZU5hbWUgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKHRoaXMsIHRoaXMucHJpdmF0ZVpvbmVQYXJhbWV0ZXJQYXRoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgbmV3IFN0YW5kYXJkVGFncyh0aGlzLCB7XG4gICAgICBzdXBwcmVzczogcHJvcHMuc3VwcHJlc3NUYWdnaW5nXG4gICAgfSkuYWRkQXV0b21hdGlvbkNvbXBvbmVudFRhZ3Moe1xuICAgICAgdXJsOiBDREtfTlBNSlNfVVJMLFxuICAgICAgdmVuZG9yOiBDREtfVkVORE9SXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
306
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay1wYXJhbWV0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibmV0d29yay1wYXJhbWV0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUFxQztBQUNyQyxpREFBeUU7QUFDekUsMkNBQW9GO0FBdVNwRjs7O0dBR0c7QUFDSCxNQUFhLGlCQUFrQixTQUFRLHNCQUFTO0lBOFU5Qzs7Ozs7O09BTUc7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTZCOztRQUNyRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBcFZWLDRCQUF1QixHQUFHLHlDQUErQixDQUFDO1FBc1ZqRSxNQUFNLE1BQU0sU0FBRyxLQUFLLENBQUMsTUFBTSxtQ0FBSSxJQUFJLENBQUM7UUFDcEMsTUFBTSxNQUFNLFNBQUcsS0FBSyxDQUFDLE1BQU0sbUNBQUksVUFBVSxDQUFDO1FBQzFDLE1BQU0sSUFBSSxHQUFHLEdBQUcsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxJQUFJLE1BQU0sQ0FBQztRQUN0QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxJQUFJLE1BQU0sQ0FBQztRQUN0QyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsR0FBRyxJQUFJLGlCQUFpQixDQUFDO1FBQzNELElBQUksQ0FBQywyQkFBMkIsR0FBRyxHQUFHLElBQUksa0JBQWtCLENBQUM7UUFDN0QsSUFBSSxDQUFDLHlCQUF5QixHQUFHLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQztRQUN6RCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsR0FBRyxJQUFJLG1CQUFtQixDQUFDO1FBQy9ELElBQUksQ0FBQyw0QkFBNEIsR0FBRyxHQUFHLElBQUksbUJBQW1CLENBQUM7UUFDL0QsSUFBSSxDQUFDLCtCQUErQixHQUFHLEdBQUcsSUFBSSxzQkFBc0IsQ0FBQztRQUNyRSxJQUFJ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WUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLHFCQUFxQixHQUFHLHlCQUFlLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsK0JBQStCLENBQUMsQ0FBQzthQUMxRztTQUNGO1FBQ0QsVUFBSSxLQUFLLENBQUMsMkJBQTJCLG1DQUFJLEtBQUssRUFBRTtZQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFO2dCQUNsQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcseUJBQWUsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO2FBQ2hIO1NBQ0Y7UUFDRCxVQUFJLEtBQUssQ0FBQyxnQkFBZ0IsbUNBQUksS0FBSyxFQUFFO1lBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLHlCQUFlLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQzthQUMzRjtTQUNGO1FBQ0QsVUFBSSxLQUFLLENBQUMsaUJBQWlCLG1DQUFJLEtBQUssRUFBRTtZQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDekIsSUFBSSxDQUFDLGVBQWUsR0FBRyx5QkFBZSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7YUFDN0Y7U0FDRjtJQUNILENBQUM7Q0FDRjtBQWxuQkQsOENBa25CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtTdHJpbmdMaXN0UGFyYW1ldGVyLCBTdHJpbmdQYXJhbWV0ZXJ9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc3NtXCI7XG5pbXBvcnQge0lBdXRvbWF0aW9uQ29tcG9uZW50LCBJbnRlcm5hbEF1dG9tYXRpb25Db21wb25lbnRUYWdzfSBmcm9tIFwiLi4vLi4vYXdzLWNka1wiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIE5ldHdvcmtQYXJhbWV0ZXJzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5ldHdvcmtQYXJhbWV0ZXJzUHJvcHMge1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBuZXR3b3JrLiBUaGlzIGlzIG5vcm1hbGx5IHRoZSBuYW1lIG9mIHlvdXIgVlBDLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQcmVmaXggZnJvbSB3aGljaCB0byBzdG9yZSBhbmQgcmV0cmlldmUgcGFyYW1ldGVycy4gRGVmYXVsdCBpcyBcIi9uZXR3b3JrXCIuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gXCIvbmV0d29ya1wiXG4gICAqL1xuICByZWFkb25seSBwcmVmaXg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyB0byBmYWxzZSB3aWxsIGRpc2FibGUgdGhlIGNyZWF0aW9uIG9mIHJlc291cmNlcyBpbiB0aGlzIGNvbnN0cnVjdC4gRGVmYXVsdCBpcyB0cnVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyB0byB0cnVlIHdpbGwgc3VwcHJlc3MgdGhlIGNyZWF0aW9uIG9mIGRlZmF1bHQgdGFncyBvbiByZXNvdXJjZXMgY3JlYXRlZCBieSB0aGlzXG4gICAqIGNvbnN0cnVjdC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3VwcHJlc3NUYWdnaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVlBDIElEIHRvIHN0b3JlLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEF2YWlsYWJpbGl0eS16b25lIHZhbHVlcyB0byBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IGF6cz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBQdWJsaWMgc3VibmV0IElEcyB0byBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY1N1Ym5ldElkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBQcml2YXRlIHN1Ym5ldCBJRHMgdG8gc3RvcmUuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEludHJhIHN1Ym5ldCBJRHMgdG8gc3RvcmUuXG4gICAqL1xuICByZWFkb25seSBpbnRyYVN1Ym5ldElkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSZWRzaGlmdCBzdWJuZXQgSURzIHRvIHN0b3JlLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVkc2hpZnRTdWJuZXRJZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogRGF0YWJhc2Ugc3VibmV0IElEcyB0byBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFiYXNlU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEVsYXN0aWNhY2hlIHN1Ym5ldCBJRHMgdG8gc3RvcmUuXG4gICAqL1xuICByZWFkb25seSBlbGFzdGljYWNoZVN1Ym5ldElkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBPdXRwb3N0IHN1Ym5ldCBJRHMgdG8gc3RvcmUuXG4gICAqL1xuICByZWFkb25seSBvdXRwb3N0U3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFB1YmxpYyBBTEIgQVJOcyB0byBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY0FsYkFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUHJpdmF0ZSBBTEIgQVJOcyB0byBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVBbGJBcm5zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIENlcnRpZmljYXRlIEFSTnMgb24gcHVibGljIEFMQnMgdG8gc3RvcmUuIEluZGV4ZXMgc2hvdWxkIG1hdGNoIHB1YmxpY0FsYkFybnMuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNBbGJDZXJ0aWZpY2F0ZUFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQ2VydGlmaWNhdGUgQVJOcyBvbiBwcml2YXRlIEFMQnMgdG8gc3RvcmUuIEluZGV4ZXMgc2hvdWxkIG1hdGNoIHByaXZhdGVBbGJBcm5zLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZUFsYkNlcnRpZmljYXRlQXJucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBbHRlcm5hdGl2ZSBwdWJsaWMgQUxCIEFSTnMgdG8gc3RvcmUuXG4gICAqL1xuICByZWFkb25seSBhbHRQdWJsaWNBbGJBcm5zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEFsdGVybmF0aXZlIHByaXZhdGUgQUxCIEFSTnMgdG8gc3RvcmUuXG4gICAqL1xuICByZWFkb25seSBhbHRQcml2YXRlQWxiQXJucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBbHRlcm5hdGl2ZSBjZXJ0aWZpY2F0ZSBBUk5zIG9uIHB1YmxpYyBBTEJzIHRvIHN0b3JlLiBJbmRleGVzIHNob3VsZCBtYXRjaCBwdWJsaWNBbGJBcm5zLlxuICAgKi9cbiAgcmVhZG9ubHkgYWx0UHVibGljQWxiQ2VydGlmaWNhdGVBcm5zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEFsdGVybmF0aXZlIGNlcnRpZmljYXRlIEFSTnMgb24gcHJpdmF0ZSBBTEJzIHRvIHN0b3JlLiBJbmRleGVzIHNob3VsZCBtYXRjaCBwcml2YXRlQWxiQXJucy5cbiAgICovXG4gIHJlYWRvbmx5IGFsdFByaXZhdGVBbGJDZXJ0aWZpY2F0ZUFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUHVibGljIGNlcnRpZmljYXRlIEFSTiB0byBzdG9yZSBmb3IgdGhpcyBuZXR3b3JrLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljQ2VydGlmaWNhdGVBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFByaXZhdGUgY2VydGlmaWNhdGUgQVJOIHRvIHN0b3JlIGZvciB0aGlzIG5ldHdvcmsuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlQ2VydGlmaWNhdGVBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENsb3VkRnJvbnQgY2VydGlmaWNhdGUgQVJOIHRvIHN0b3JlIGZvciB0aGlzIG5ldHdvcmsuXG4gICAqL1xuICByZWFkb25seSBjbG91ZEZvbnRDZXJ0aWZpY2F0ZUFybj86IHN0cmluZztcblxuICAvKipcbiAgICogUHVibGljIHpvbmUgbmFtZSB0byBzdG9yZSBmb3IgdGhpcyBuZXR3b3JrLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljWm9uZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFByaXZhdGUgem9uZSBuYW1lIHRvIHN0b3JlIGZvciB0aGlzIG5ldHdvcmsuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlWm9uZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExvb2t1cCBWUEMgdmFsdWUgaWYgbm90IHByb3ZpZGVkLiBEZWZhdWx0IGlzIHRydWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwVnBjPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTG9va3VwIGF2YWlsYWJpbGl0eSB6b25lcyBpZiBub3QgcHJvdmlkZWQuIERlZmF1bHQgaXMgdHJ1ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0cnVlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBBenM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgcHVibGljIHN1Ym5ldHMgaWYgbm90IHByb3ZpZGVkLiBEZWZhdWx0IGlzIHRydWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwUHVibGljU3VibmV0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBwcml2YXRlIHN1Ym5ldHMgaWYgbm90IHByb3ZpZGVkLiBEZWZhdWx0IGlzIHRydWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwUHJpdmF0ZVN1Ym5ldHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgaW50cmEgc3VibmV0cyBpZiBub3QgcHJvdmlkZWQuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cEludHJhU3VibmV0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCByZWRzaGlmdCBzdWJuZXRzIGlmIG5vdCBwcm92aWRlZC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwUmVkc2hpZnRTdWJuZXRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTG9va3VwIGRhdGFiYXNlIHN1Ym5ldHMgaWYgbm90IHByb3ZpZGVkLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBEYXRhYmFzZVN1Ym5ldHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgZWxhc3RpY2FjaGUgc3VibmV0cyBpZiBub3QgcHJvdmlkZWQuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cEVsYXN0aWNhY2hlU3VibmV0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBvdXRwb3N0IHN1Ym5ldHMgaWYgbm90IHByb3ZpZGVkLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBPdXRwb3N0U3VibmV0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBwdWJsaWMgQUxCcyBpZiBub3QgcHJvdmlkZWQuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cFB1YmxpY0FsYnM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgcHJpdmF0ZSBBTEJzIGlmIG5vdCBwcm92aWRlZC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwUHJpdmF0ZUFsYnM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgQUNNIGNlcnRpZmljYXRlcyBvbiBwdWJsaWMgQUxCcyBpZiBwcm92aWRlZC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cFB1YmxpY0FsYkNlcnRpZmljYXRlcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBBQ00gY2VydGlmaWNhdGVzIG9uIHByaXZhdGUgQUxCcyBpZiBwcm92aWRlZC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cFByaXZhdGVBbGJDZXJ0aWZpY2F0ZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgYWx0ZXJuYXRpdmUgcHVibGljIEFMQnMgaWYgbm90IHByb3ZpZGVkLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBBbHRQdWJsaWNBbGJzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTG9va3VwIGFsdGVybmF0aXZlIHByaXZhdGUgQUxCcyBpZiBub3QgcHJvdmlkZWQuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cEFsdFByaXZhdGVBbGJzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTG9va3VwIGFsdGVybmF0aXZlIEFDTSBjZXJ0aWZpY2F0ZXMgb24gcHVibGljIEFMQnMgaWYgcHJvdmlkZWQuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cEFsdFB1YmxpY0FsYkNlcnRpZmljYXRlcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBhbHRlcm5hdGl2ZSBBQ00gY2VydGlmaWNhdGVzIG9uIHByaXZhdGUgQUxCcyBpZiBwcm92aWRlZC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwQWx0UHJpdmF0ZUFsYkNlcnRpZmljYXRlcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBwdWJsaWMgY2VydGlmaWNhdGUuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cFB1YmxpY0NlcnRpZmljYXRlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTG9va3VwIHByaXZhdGUgY2VydGlmaWNhdGUuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cFByaXZhdGVDZXJ0aWZpY2F0ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBDbG91ZEZyb250IGNlcnRpZmljYXRlLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBDbG91ZEZyb250Q2VydGlmaWNhdGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgcHVibGljIHpvbmUuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cFB1YmxpY1pvbmU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgcHJpdmF0ZSB6b25lLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBQcml2YXRlWm9uZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogU3RvcmVzIGFuZCByZXRyaWV2ZXMgbmV0d29yayBpbmZyYXN0cnVjdHVyZSBpZGVudGlmaWVycyB1c2luZ1xuICogQVdTIFN5c3RlbXMgTWFuYWdlciBQYXJhbWV0ZXIgU3RvcmUuXG4gKi9cbmV4cG9ydCBjbGFzcyBOZXR3b3JrUGFyYW1ldGVycyBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElBdXRvbWF0aW9uQ29tcG9uZW50IHtcblxuICByZWFkb25seSBhdXRvbWF0aW9uQ29tcG9uZW50VGFncyA9IEludGVybmFsQXV0b21hdGlvbkNvbXBvbmVudFRhZ3M7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIFZQQyBJRFxuICAgKi9cbiAgcmVhZG9ubHkgdnBjUGFyYW1ldGVyUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBhdmFpbGFiaWxpdHkgem9uZXNcbiAgICovXG4gIHJlYWRvbmx5IGF6c1BhcmFtZXRlclBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgcHVibGljIHN1Ym5ldCBJRHNcbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY1N1Ym5ldHNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIHByaXZhdGUgc3VibmV0IElEc1xuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZVN1Ym5ldHNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGludHJhIHN1Ym5ldCBJRHNcbiAgICovXG4gIHJlYWRvbmx5IGludHJhU3VibmV0c1BhcmFtZXRlclBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgcmVkc2hpZnQgc3VibmV0IElEc1xuICAgKi9cbiAgcmVhZG9ubHkgcmVkc2hpZnRTdWJuZXRzUGFyYW1ldGVyUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBkYXRhYmFzZSBzdWJuZXQgSURzXG4gICAqL1xuICByZWFkb25seSBkYXRhYmFzZVN1Ym5ldHNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGVsYXN0aWNhY2hlIHN1Ym5ldCBJRHNcbiAgICovXG4gIHJlYWRvbmx5IGVsYXN0aWNhY2hlU3VibmV0c1BhcmFtZXRlclBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgb3V0cG9zdCBzdWJuZXQgSURzLlxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cG9zdFN1Ym5ldHNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIHB1YmxpYyBBTEIgQVJOcy5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY0FsYnNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIHByaXZhdGUgQUxCIEFSTnMuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlQWxic1BhcmFtZXRlclBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgY2VydGlmaWNhdGUgQVJOcyBvbiB0aGUgcHVibGljIEFMQnMuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGNlcnRpZmljYXRlIEFSTnMgb24gdGhlIHByaXZhdGUgQUxCcy5cbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGFsdGVybmF0aXZlIHB1YmxpYyBBTEIgQVJOcy5cbiAgICovXG4gIHJlYWRvbmx5IGFsdFB1YmxpY0FsYnNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGFsdGVybmF0aXZlIHByaXZhdGUgQUxCIEFSTnMuXG4gICAqL1xuICByZWFkb25seSBhbHRQcml2YXRlQWxic1BhcmFtZXRlclBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgYWx0ZXJuYXRpdmUgY2VydGlmaWNhdGUgQVJOcyBvbiB0aGUgcHVibGljIEFMQnMuXG4gICAqL1xuICByZWFkb25seSBhbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGFsdGVybmF0aXZlIGNlcnRpZmljYXRlIEFSTnMgb24gdGhlIHByaXZhdGUgQUxCcy5cbiAgICovXG4gIHJlYWRvbmx5IGFsdFByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIHB1YmxpYyBjZXJ0aWZpY2F0ZSBBUk4uXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNDZXJ0aWZpY2F0ZVBhcmFtZXRlclBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgcHJpdmF0ZSBjZXJ0aWZpY2F0ZSBBUk4uXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlQ2VydGlmaWNhdGVQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIENsb3VkRnJvbnQgY2VydGl0aWNhdGUgQVJOLlxuICAgKi9cbiAgcmVhZG9ubHkgY2xvdWRGcm9udENlcnRpZmljYXRlUGFyYW1ldGVyUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBwdWJsaWMgem9uZS5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY1pvbmVQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIHByaXZhdGUgem9uZS5cbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVab25lUGFyYW1ldGVyUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgdnBjSWQgd2FzIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjUGFyYW1ldGVyPzogU3RyaW5nUGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgYXpzIHdlcmUgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBhenNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyYXRlZCBpZiBwdWJsaWNTdWJuZXRJZHMgd2VyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY1N1Ym5ldHNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgcHJpdmF0ZVN1Ym5ldElkcyB3ZXJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZVN1Ym5ldHNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgaW50cmFTdWJuZXRJZHMgd2VyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGludHJhU3VibmV0c1BhcmFtZXRlcj86IFN0cmluZ0xpc3RQYXJhbWV0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJhbWV0ZXIgY3JlYXRlZCBpZiByZWRzaGlmdFN1Ym5ldElkcyB3ZXJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVkc2hpZnRTdWJuZXRzUGFyYW1ldGVyPzogU3RyaW5nTGlzdFBhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIGRhdGFiYXNlU3VibmV0SWRzIHdlcmUgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBkYXRhYmFzZVN1Ym5ldHNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgZWxhc3RpY2FjaGVTdWJuZXRJZHMgd2VyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGVsYXN0aWNhY2hlU3VibmV0c1BhcmFtZXRlcj86IFN0cmluZ0xpc3RQYXJhbWV0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJhbWV0ZXIgY3JlYXRlZCBpZiBvdXRwb3N0U3VibmV0SWRzIHdlcmUgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBvdXRwb3N0U3VibmV0c1ByYW1ldGVyPzogU3RyaW5nTGlzdFBhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIHB1YmxpY0FsYkFybnMgd2VyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY0FsYnNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgcHJpdmF0ZUFsYkFybnMgd2VyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVBbGJzUGFyYW1ldGVyPzogU3RyaW5nTGlzdFBhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIHB1YmxpY0FsYkNlcnRpZmljYXRlQXJucyB3ZXJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljQWxiQ2VydGlmaWNhdGVzUGFyYW1ldGVyPzogU3RyaW5nTGlzdFBhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIHByaXZhdGVBbGJDZXJ0aWZpY2F0ZUFybnMgd2VyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgYWx0UHVibGljQWxiQXJucyB3ZXJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYWx0UHVibGljQWxic1BhcmFtZXRlcj86IFN0cmluZ0xpc3RQYXJhbWV0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJhbWV0ZXIgY3JlYXRlZCBpZiBhbHRQcml2YXRlQWxiQXJucyB3ZXJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYWx0UHJpdmF0ZUFsYnNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgYWx0UHVibGljQWxiQ2VydGlmaWNhdGVBcm5zIHdlcmUgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBhbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgYWx0UHJpdmF0ZUFsYkNlcnRpZmljYXRlQXJucyB3ZXJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYWx0UHJpdmF0ZUFsYkNlcnRpZmljYXRlc1BhcmFtZXRlcj86IFN0cmluZ0xpc3RQYXJhbWV0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJhbWV0ZXIgY3JlYXRlZCBpZiBwdWJsaWNDZXJ0aWZpY2F0ZUFybiB3YXMgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNDZXJ0aWZpY2F0ZVBhcmFtZXRlcj86IFN0cmluZ1BhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIHByaXZhdGVDZXJ0aWZpY2F0ZUFybiB3YXMgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlQ2VydGlmaWNhdGVQYXJhbWV0ZXI/OiBTdHJpbmdQYXJhbWV0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJhbWV0ZXIgY3JlYXRlZCBpZiBjbG91ZEZyb250Q2VydGlmaWNhdGVBcm4gd2FzIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2xvdWRGcm9udENlcnRpZmljYXRlUGFyYW1ldGVyPzogU3RyaW5nUGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgcHVibGljWm9uZU5hbWUgd2FzIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljWm9uZVBhcmFtZXRlcj86IFN0cmluZ1BhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIHByaXZhdGVab25lTmFtZSB3YXMgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlWm9uZVBhcmFtZXRlcj86IFN0cmluZ1BhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHZwY0lkIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSB2cGNJZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGF2YWlsYWJpbGl0eSB6b25lcyBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYXpzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBwdWJsaWMgc3VibmV0IElEcyBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBwcml2YXRlIHN1Ym5ldCBJRHMgaWYgcHJvdmlkZWQgb3IgbG9va3VwcyBhcmUgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVTdWJuZXRJZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGludHJhIHN1Ym5ldCBJRHMgaWYgcHJvdmlkZWQgb3IgbG9va3VwcyBhcmUgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGludHJhU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSByZWRzaGlmdCBzdWJuZXQgSURzIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSByZWRzaGlmdFN1Ym5ldElkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgZGF0YWJhc2Ugc3VibmV0IElEcyBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2VTdWJuZXRJZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGVsYXN0aWNhY2hlIHN1Ym5ldCBJRHMgaWYgcHJvdmlkZWQgb3IgbG9va3VwcyBhcmUgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGVsYXN0aWNhY2hlU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBvdXRwb3N0IHN1Ym5ldCBJRHMgaWYgcHJvdmlkZWQgb3IgbG9va3VwcyBhcmUgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IG91dHBvc3RTdWJuZXRJZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIHB1YmxpYyBBTEIgQVJOcyBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljQWxiQXJucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJpdmF0ZSBBTEIgQVJOcyBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZUFsYkFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGNlcnRpZmljYXRlIEFSTnMgb24gdGhlIHB1YmxpYyBBTEJzIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNBbGJDZXJ0aWZpY2F0ZUFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGNlcnRpZmljYXRlIEFSTnMgb24gdGhlIHByaXZhdGUgQUxicyBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZUFsYkNlcnRpZmljYXRlQXJucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgYWx0ZXJuYXRpdmUgcHVibGljIEFMQiBBUk5zIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBhbHRQdWJsaWNBbGJBcm5zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBhbHRlcm5hdGl2ZSBwcml2YXRlIEFMQiBBUk5zIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBhbHRQcml2YXRlQWxiQXJucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgY2VydGlmaWNhdGUgQVJOcyBvbiB0aGUgYWx0ZXJuYXRpdmUgcHVibGljIEFMQnMgaWYgcHJvdmlkZWQgb3IgbG9va3VwcyBhcmUgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGFsdFB1YmxpY0FsYkNlcnRpZmljYXRlQXJucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgY2VydGlmaWNhdGUgQVJOcyBvbiB0aGUgYWx0ZXJuYXRpdmUgcHJpdmF0ZSBBTGJzIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBhbHRQcml2YXRlQWxiQ2VydGlmaWNhdGVBcm5zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBwdWJsaWMgY2VydGlmaWNhdGUgQVJOIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNDZXJ0aWZpY2F0ZUFybj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHByaXZhdGUgY2VydGlmaWNhdGUgQVJOIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlQ2VydGlmaWNhdGVBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBDbG91ZEZyb250IGNlcnRpZmljYXRlIEFSTiBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2xvdWRGcm9udENlcnRpZmljYXRlQXJuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcHVibGljIHpvbmUgbmFtZSBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljWm9uZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwcml2YXRlIHpvbmUgbmFtZSBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZVpvbmVOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IE5ldHdvcmtQYXJhbWV0ZXJzIGluc3RhbmNlLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHBhcmVudCBzY29wZVxuICAgKiBAcGFyYW0gaWQgdGhlIGlkIG9mIHRoZSBpbnN0YW5jZVxuICAgKiBAcGFyYW0gcHJvcHMgcHJvcGVydGllcyBmb3IgdGhlIGluc3RhbmNlXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTmV0d29ya1BhcmFtZXRlcnNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBjcmVhdGUgPSBwcm9wcy5jcmVhdGUgPz8gdHJ1ZTtcbiAgICBjb25zdCBwcmVmaXggPSBwcm9wcy5wcmVmaXggPz8gXCIvbmV0d29ya1wiO1xuICAgIGNvbnN0IHBhdGggPSBgJHtwcmVmaXh9LyR7cHJvcHMubmFtZX1gO1xuICAgIHRoaXMudnBjUGFyYW1ldGVyUGF0aCA9IGAke3BhdGh9L3ZwY2A7XG4gICAgdGhpcy5henNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vYXpzYDtcbiAgICB0aGlzLnB1YmxpY1N1Ym5ldHNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vcHVibGljX3N1Ym5ldHNgO1xuICAgIHRoaXMucHJpdmF0ZVN1Ym5ldHNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vcHJpdmF0ZV9zdWJuZXRzYDtcbiAgICB0aGlzLmludHJhU3VibmV0c1BhcmFtZXRlclBhdGggPSBgJHtwYXRofS9pbnRyYV9zdWJuZXRzYDtcbiAgICB0aGlzLnJlZHNoaWZ0U3VibmV0c1BhcmFtZXRlclBhdGggPSBgJHtwYXRofS9yZWRzaGlmdF9zdWJuZXRzYDtcbiAgICB0aGlzLmRhdGFiYXNlU3VibmV0c1BhcmFtZXRlclBhdGggPSBgJHtwYXRofS9kYXRhYmFzZV9zdWJuZXRzYDtcbiAgICB0aGlzLmVsYXN0aWNhY2hlU3VibmV0c1BhcmFtZXRlclBhdGggPSBgJHtwYXRofS9lbGFzdGljYWNoZV9zdWJuZXRzYDtcbiAgICB0aGlzLm91dHBvc3RTdWJuZXRzUGFyYW1ldGVyUGF0aCA9IGAke3BhdGh9L291dHBvc3Rfc3VibmV0c2A7XG4gICAgdGhpcy5wdWJsaWNBbGJzUGFyYW1ldGVyUGF0aCA9IGAke3BhdGh9L3B1YmxpY19hbGJzYDtcbiAgICB0aGlzLnByaXZhdGVBbGJzUGFyYW1ldGVyUGF0aCA9IGAke3BhdGh9L3ByaXZhdGVfYWxic2A7XG4gICAgdGhpcy5wdWJsaWNBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vcHVibGljX2FsYl9jZXJ0aWZpY2F0ZXNgO1xuICAgIHRoaXMucHJpdmF0ZUFsYkNlcnRpZmljYXRlc1BhcmFtZXRlclBhdGggPSBgJHtwYXRofS9wcml2YXRlX2FsYl9jZXJ0aWZpY2F0ZXNgO1xuICAgIHRoaXMuYWx0UHVibGljQWxic1BhcmFtZXRlclBhdGggPSBgJHtwYXRofS9hbHRfcHVibGljX2FsYnNgO1xuICAgIHRoaXMuYWx0UHJpdmF0ZUFsYnNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vYWx0X3ByaXZhdGVfYWxic2A7XG4gICAgdGhpcy5hbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vYWx0X3B1YmxpY19hbGJfY2VydGlmaWNhdGVzYDtcbiAgICB0aGlzLmFsdFByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vYWx0X3ByaXZhdGVfYWxiX2NlcnRpZmljYXRlc2A7XG4gICAgdGhpcy5wdWJsaWNDZXJ0aWZpY2F0ZVBhcmFtZXRlclBhdGggPSBgJHtwYXRofS9wdWJsaWNfY2VydGlmaWNhdGVgO1xuICAgIHRoaXMucHJpdmF0ZUNlcnRpZmljYXRlUGFyYW1ldGVyUGF0aCA9IGAke3BhdGh9L3ByaXZhdGVfY2VydGlmaWNhdGVgO1xuICAgIHRoaXMuY2xvdWRGcm9udENlcnRpZmljYXRlUGFyYW1ldGVyUGF0aCA9IGAke3BhdGh9L2Nsb3VkZnJvbnRfY2VydGlmaWNhdGVgO1xuICAgIHRoaXMucHVibGljWm9uZVBhcmFtZXRlclBhdGggPSBgJHtwYXRofS9wdWJsaWNfem9uZWA7XG4gICAgdGhpcy5wcml2YXRlWm9uZVBhcmFtZXRlclBhdGggPSBgJHtwYXRofS9wcml2YXRlX3pvbmVgO1xuXG4gICAgaWYgKGNyZWF0ZSkge1xuICAgICAgaWYgKHByb3BzLnZwY0lkKSB7XG4gICAgICAgIHRoaXMudnBjUGFyYW1ldGVyID0gbmV3IFN0cmluZ1BhcmFtZXRlcih0aGlzLCBcIlZwY0lkXCIsIHtcbiAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLnZwY1BhcmFtZXRlclBhdGgsXG4gICAgICAgICAgc3RyaW5nVmFsdWU6IHByb3BzLnZwY0lkXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnZwY0lkID0gcHJvcHMudnBjSWQ7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuYXpzKSB7XG4gICAgICAgIHRoaXMuYXpzUGFyYW1ldGVyID0gbmV3IFN0cmluZ0xpc3RQYXJhbWV0ZXIodGhpcywgXCJBWnNcIiwge1xuICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMuYXpzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICBzdHJpbmdMaXN0VmFsdWU6IHByb3BzLmF6c1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5henMgPSBwcm9wcy5henM7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMucHVibGljU3VibmV0SWRzKSB7XG4gICAgICAgIHRoaXMucHVibGljU3VibmV0c1BhcmFtZXRlciA9IG5ldyBTdHJpbmdMaXN0UGFyYW1ldGVyKHRoaXMsIFwiUHVibGljU3VibmV0c1wiLCB7XG4gICAgICAgICAgcGFyYW1ldGVyTmFtZTogdGhpcy5wdWJsaWNTdWJuZXRzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICBzdHJpbmdMaXN0VmFsdWU6IHByb3BzLnB1YmxpY1N1Ym5ldElkc1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5wdWJsaWNTdWJuZXRJZHMgPSBwcm9wcy5wcml2YXRlU3VibmV0SWRzO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLnByaXZhdGVTdWJuZXRJZHMpIHtcbiAgICAgICAgdGhpcy5wcml2YXRlU3VibmV0c1BhcmFtZXRlciA9IG5ldyBTdHJpbmdMaXN0UGFyYW1ldGVyKHRoaXMsIFwiUHJpdmF0ZVN1Ym5ldHNcIiwge1xuICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMucHJpdmF0ZVN1Ym5ldHNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgIHN0cmluZ0xpc3RWYWx1ZTogcHJvcHMucHJpdmF0ZVN1Ym5ldElkc1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5wcml2YXRlU3VibmV0SWRzID0gcHJvcHMucHJpdmF0ZVN1Ym5ldElkcztcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5pbnRyYVN1Ym5ldElkcykge1xuICAgICAgICB0aGlzLmludHJhU3VibmV0c1BhcmFtZXRlciA9IG5ldyBTdHJpbmdMaXN0UGFyYW1ldGVyKHRoaXMsIFwiSW50cmFTdWJuZXRzXCIsIHtcbiAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLmludHJhU3VibmV0c1BhcmFtZXRlclBhdGgsXG4gICAgICAgICAgc3RyaW5nTGlzdFZhbHVlOiBwcm9wcy5pbnRyYVN1Ym5ldElkc1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5pbnRyYVN1Ym5ldElkcyA9IHByb3BzLmludHJhU3VibmV0SWRzO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLnJlZHNoaWZ0U3VibmV0SWRzKSB7XG4gICAgICAgIHRoaXMucmVkc2hpZnRTdWJuZXRzUGFyYW1ldGVyID0gbmV3IFN0cmluZ0xpc3RQYXJhbWV0ZXIodGhpcywgXCJSZWRzaGlmdFN1Ym5ldHNcIiwge1xuICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMucmVkc2hpZnRTdWJuZXRzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICBzdHJpbmdMaXN0VmFsdWU6IHByb3BzLnJlZHNoaWZ0U3VibmV0SWRzXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJlZHNoaWZ0U3VibmV0SWRzID0gcHJvcHMucmVkc2hpZnRTdWJuZXRJZHM7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuZGF0YWJhc2VTdWJuZXRJZHMpIHtcbiAgICAgICAgdGhpcy5kYXRhYmFzZVN1Ym5ldHNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcih0aGlzLCBcIkRhdGFiYXNlU3VibmV0c1wiLCB7XG4gICAgICAgICAgcGFyYW1ldGVyTmFtZTogdGhpcy5kYXRhYmFzZVN1Ym5ldHNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgIHN0cmluZ0xpc3RWYWx1ZTogcHJvcHMuZGF0YWJhc2VTdWJuZXRJZHNcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZGF0YWJhc2VTdWJuZXRJZHMgPSBwcm9wcy5kYXRhYmFzZVN1Ym5ldElkcztcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5lbGFzdGljYWNoZVN1Ym5ldElkcykge1xuICAgICAgICB0aGlzLmVsYXN0aWNhY2hlU3VibmV0c1BhcmFtZXRlciA9IG5ldyBTdHJpbmdMaXN0UGFyYW1ldGVyKHRoaXMsIFwiRWxhc3RpY2FjaGVTdWJuZXRzXCIsIHtcbiAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLmVsYXN0aWNhY2hlU3VibmV0c1BhcmFtZXRlclBhdGgsXG4gICAgICAgICAgc3RyaW5nTGlzdFZhbHVlOiBwcm9wcy5lbGFzdGljYWNoZVN1Ym5ldElkc1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5lbGFzdGljYWNoZVN1Ym5ldElkcyA9IHByb3BzLmVsYXN0aWNhY2hlU3VibmV0SWRzO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLm91dHBvc3RTdWJuZXRJZHMpIHtcbiAgICAgICAgdGhpcy5vdXRwb3N0U3VibmV0c1ByYW1ldGVyID0gbmV3IFN0cmluZ0xpc3RQYXJhbWV0ZXIodGhpcywgXCJPdXRwb3N0U3VibmV0c1wiLCB7XG4gICAgICAgICAgcGFyYW1ldGVyTmFtZTogdGhpcy5vdXRwb3N0U3VibmV0c1BhcmFtZXRlclBhdGgsXG4gICAgICAgICAgc3RyaW5nTGlzdFZhbHVlOiBwcm9wcy5vdXRwb3N0U3VibmV0SWRzXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm91dHBvc3RTdWJuZXRJZHMgPSBwcm9wcy5vdXRwb3N0U3VibmV0SWRzXG4gICAgICB9XG4gICAgICBpZiAocHJvcHMucHVibGljQWxiQXJucykge1xuICAgICAgICB0aGlzLnB1YmxpY0FsYnNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcih0aGlzLCBcIlB1YmxpY0FsYnNcIiwge1xuICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMucHVibGljQWxic1BhcmFtZXRlclBhdGgsXG4gICAgICAgICAgc3RyaW5nTGlzdFZhbHVlOiBwcm9wcy5wdWJsaWNBbGJBcm5zXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnB1YmxpY0FsYkFybnMgPSBwcm9wcy5wdWJsaWNBbGJBcm5zO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLnByaXZhdGVBbGJBcm5zKSB7XG4gICAgICAgIHRoaXMucHJpdmF0ZUFsYnNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcih0aGlzLCBcIlByaXZhdGVBbGJzXCIsIHtcbiAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLnByaXZhdGVBbGJzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICBzdHJpbmdMaXN0VmFsdWU6IHByb3BzLnByaXZhdGVBbGJBcm5zXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnByaXZhdGVBbGJBcm5zID0gcHJvcHMucHJpdmF0ZUFsYkFybnM7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMucHVibGljQWxiQ2VydGlmaWNhdGVBcm5zKSB7XG4gICAgICAgIHRoaXMucHVibGljQWxiQ2VydGlmaWNhdGVzUGFyYW1ldGVyID0gbmV3IFN0cmluZ0xpc3RQYXJhbWV0ZXIodGhpcywgXCJQdWJsaWNBbGJDZXJ0aWZpY2F0ZXNcIiwge1xuICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMucHVibGljQWxiQ2VydGlmaWNhdGVzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICBzdHJpbmdMaXN0VmFsdWU6IHByb3BzLnB1YmxpY0FsYkNlcnRpZmljYXRlQXJuc1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5wcml2YXRlQWxiQ2VydGlmaWNhdGVBcm5zKSB7XG4gICAgICAgIHRoaXMucHJpdmF0ZUFsYkNlcnRpZmljYXRlc1BhcmFtZXRlciA9IG5ldyBTdHJpbmdMaXN0UGFyYW1ldGVyKHRoaXMsIFwiUHJpdmF0ZUFsYkNlcnRpZmljYXRlc1wiLCB7XG4gICAgICAgICAgcGFyYW1ldGVyTmFtZTogdGhpcy5wcml2YXRlQWxiQ2VydGlmaWNhdGVzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICBzdHJpbmdMaXN0VmFsdWU6IHByb3BzLnByaXZhdGVBbGJDZXJ0aWZpY2F0ZUFybnNcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuYWx0UHVibGljQWxiQXJucykge1xuICAgICAgICB0aGlzLmFsdFB1YmxpY0FsYnNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcih0aGlzLCBcIkFsdFB1YmxpY0FsYnNcIiwge1xuICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMuYWx0UHVibGljQWxic1BhcmFtZXRlclBhdGgsXG4gICAgICAgICAgc3RyaW5nTGlzdFZhbHVlOiBwcm9wcy5hbHRQdWJsaWNBbGJBcm5zXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmFsdFByaXZhdGVBbGJBcm5zKSB7XG4gICAgICAgIHRoaXMuYWx0UHJpdmF0ZUFsYnNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcih0aGlzLCBcIkFsdFByaXZhdGVBbGJzXCIsIHtcbiAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLmFsdFByaXZhdGVBbGJzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICBzdHJpbmdMaXN0VmFsdWU6IHByb3BzLmFsdFByaXZhdGVBbGJBcm5zXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmFsdFB1YmxpY0FsYkNlcnRpZmljYXRlQXJucykge1xuICAgICAgICB0aGlzLmFsdFB1YmxpY0FsYkNlcnRpZmljYXRlc1BhcmFtZXRlciA9IG5ldyBTdHJpbmdMaXN0UGFyYW1ldGVyKHRoaXMsIFwiQWx0UHVibGljQWxiQ2VydGlmaWNhdGVzXCIsIHtcbiAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLmFsdFB1YmxpY0FsYkNlcnRpZmljYXRlc1BhcmFtZXRlclBhdGgsXG4gICAgICAgICAgc3RyaW5nTGlzdFZhbHVlOiBwcm9wcy5hbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZUFybnNcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuYWx0UHJpdmF0ZUFsYkNlcnRpZmljYXRlQXJucykge1xuICAgICAgICB0aGlzLmFsdFByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcih0aGlzLCBcIkFsdFByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNcIiwge1xuICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMuYWx0UHJpdmF0ZUFsYkNlcnRpZmljYXRlc1BhcmFtZXRlclBhdGgsXG4gICAgICAgICAgc3RyaW5nTGlzdFZhbHVlOiBwcm9wcy5hbHRQcml2YXRlQWxiQ2VydGlmaWNhdGVBcm5zXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLnB1YmxpY0NlcnRpZmljYXRlQXJuKSB7XG4gICAgICAgIHRoaXMucHVibGljQ2VydGlmaWNhdGVQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nUGFyYW1ldGVyKHRoaXMsIFwiUHVibGljQ2VydGlmaWNhdGVcIiwge1xuICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMucHVibGljQ2VydGlmaWNhdGVQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgIHN0cmluZ1ZhbHVlOiBwcm9wcy5wdWJsaWNDZXJ0aWZpY2F0ZUFyblxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5wcml2YXRlQ2VydGlmaWNhdGVBcm4pIHtcbiAgICAgICAgdGhpcy5wcml2YXRlQ2VydGlmaWNhdGVQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nUGFyYW1ldGVyKHRoaXMsIFwiUHJpdmF0ZUNlcnRpZmljYXRlXCIsIHtcbiAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLnByaXZhdGVDZXJ0aWZpY2F0ZVBhcmFtZXRlclBhdGgsXG4gICAgICAgICAgc3RyaW5nVmFsdWU6IHByb3BzLnByaXZhdGVDZXJ0aWZpY2F0ZUFyblxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5jbG91ZEZvbnRDZXJ0aWZpY2F0ZUFybikge1xuICAgICAgICB0aGlzLmNsb3VkRnJvbnRDZXJ0aWZpY2F0ZVBhcmFtZXRlciA9IG5ldyBTdHJpbmdQYXJhbWV0ZXIodGhpcywgXCJDbG91ZEZyb250Q2VydGlmaWNhdGVcIiwge1xuICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMuY2xvdWRGcm9udENlcnRpZmljYXRlUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICBzdHJpbmdWYWx1ZTogcHJvcHMuY2xvdWRGb250Q2VydGlmaWNhdGVBcm5cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMucHVibGljWm9uZU5hbWUpIHtcbiAgICAgICAgdGhpcy5wdWJsaWNab25lUGFyYW1ldGVyID0gbmV3IFN0cmluZ1BhcmFtZXRlcih0aGlzLCBcIlB1YmxpY1pvbmVcIiwge1xuICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMucHVibGljWm9uZVBhcmFtZXRlclBhdGgsXG4gICAgICAgICAgc3RyaW5nVmFsdWU6IHByb3BzLnB1YmxpY1pvbmVOYW1lXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLnByaXZhdGVab25lTmFtZSkge1xuICAgICAgICB0aGlzLnByaXZhdGVab25lUGFyYW1ldGVyID0gbmV3IFN0cmluZ1BhcmFtZXRlcih0aGlzLCBcIlByaXZhdGVab25lXCIsIHtcbiAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLnByaXZhdGVab25lUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICBzdHJpbmdWYWx1ZTogcHJvcHMucHJpdmF0ZVpvbmVOYW1lXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwVnBjID8/IHRydWUpIHtcbiAgICAgIGlmICghdGhpcy52cGNJZCkge1xuICAgICAgICB0aGlzLnZwY0lkID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cCh0aGlzLCB0aGlzLnZwY1BhcmFtZXRlclBhdGgpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwQXpzID8/IHRydWUpIHtcbiAgICAgIGlmICghdGhpcy5henMpIHtcbiAgICAgICAgdGhpcy5henMgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKHRoaXMsIHRoaXMuYXpzUGFyYW1ldGVyUGF0aCkuc3BsaXQoXCIsXCIpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwUHVibGljU3VibmV0cyA/PyB0cnVlKSB7XG4gICAgICBpZiAoIXRoaXMucHVibGljU3VibmV0SWRzKSB7XG4gICAgICAgIHRoaXMucHVibGljU3VibmV0SWRzID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cCh0aGlzLCB0aGlzLnB1YmxpY1N1Ym5ldHNQYXJhbWV0ZXJQYXRoKS5zcGxpdChcIixcIik7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBQcml2YXRlU3VibmV0cyA/PyB0cnVlKSB7XG4gICAgICBpZiAoIXRoaXMucHJpdmF0ZVN1Ym5ldElkcykge1xuICAgICAgICB0aGlzLnByaXZhdGVTdWJuZXRJZHMgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKHRoaXMsIHRoaXMucHJpdmF0ZVN1Ym5ldHNQYXJhbWV0ZXJQYXRoKS5zcGxpdChcIixcIik7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBJbnRyYVN1Ym5ldHMgPz8gZmFsc2UpIHtcbiAgICAgIGlmICghdGhpcy5pbnRyYVN1Ym5ldElkcykge1xuICAgICAgICB0aGlzLmludHJhU3VibmV0SWRzID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cCh0aGlzLCB0aGlzLmludHJhU3VibmV0c1BhcmFtZXRlclBhdGgpLnNwbGl0KFwiLFwiKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cFJlZHNoaWZ0U3VibmV0cyA/PyBmYWxzZSkge1xuICAgICAgaWYgKCF0aGlzLnJlZHNoaWZ0U3VibmV0SWRzKSB7XG4gICAgICAgIHRoaXMucmVkc2hpZnRTdWJuZXRJZHMgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKHRoaXMsIHRoaXMucmVkc2hpZnRTdWJuZXRzUGFyYW1ldGVyUGF0aCkuc3BsaXQoXCIsXCIpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwRGF0YWJhc2VTdWJuZXRzID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMuZGF0YWJhc2VTdWJuZXRJZHMpIHtcbiAgICAgICAgdGhpcy5kYXRhYmFzZVN1Ym5ldElkcyA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAodGhpcywgdGhpcy5kYXRhYmFzZVN1Ym5ldHNQYXJhbWV0ZXJQYXRoKS5zcGxpdChcIixcIik7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBFbGFzdGljYWNoZVN1Ym5ldHMgPz8gZmFsc2UpIHtcbiAgICAgIGlmICghdGhpcy5lbGFzdGljYWNoZVN1Ym5ldElkcykge1xuICAgICAgICB0aGlzLmVsYXN0aWNhY2hlU3VibmV0SWRzID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cCh0aGlzLCB0aGlzLmVsYXN0aWNhY2hlU3VibmV0c1BhcmFtZXRlclBhdGgpLnNwbGl0KFwiLFwiKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cE91dHBvc3RTdWJuZXRzID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMub3V0cG9zdFN1Ym5ldElkcykge1xuICAgICAgICB0aGlzLm91dHBvc3RTdWJuZXRJZHMgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKHRoaXMsIHRoaXMub3V0cG9zdFN1Ym5ldHNQYXJhbWV0ZXJQYXRoKS5zcGxpdChcIixcIik7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBQdWJsaWNBbGJzID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMucHVibGljQWxiQXJucykge1xuICAgICAgICB0aGlzLnB1YmxpY0FsYkFybnMgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKHRoaXMsIHRoaXMucHVibGljQWxic1BhcmFtZXRlclBhdGgpLnNwbGl0KFwiLFwiKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cFByaXZhdGVBbGJzID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMucHJpdmF0ZUFsYkFybnMpIHtcbiAgICAgICAgdGhpcy5wcml2YXRlQWxiQXJucyA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAodGhpcywgdGhpcy5wcml2YXRlQWxic1BhcmFtZXRlclBhdGgpLnNwbGl0KFwiLFwiKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cFB1YmxpY0FsYkNlcnRpZmljYXRlcyA/PyBmYWxzZSkge1xuICAgICAgaWYgKCF0aGlzLnB1YmxpY0FsYkNlcnRpZmljYXRlQXJucykge1xuICAgICAgICB0aGlzLnB1YmxpY0FsYkNlcnRpZmljYXRlQXJucyA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAodGhpcywgdGhpcy5wdWJsaWNBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoKS5zcGxpdChcIixcIik7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBQcml2YXRlQWxiQ2VydGlmaWNhdGVzID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMucHJpdmF0ZUFsYkNlcnRpZmljYXRlQXJucykge1xuICAgICAgICB0aGlzLnByaXZhdGVBbGJDZXJ0aWZpY2F0ZUFybnMgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKHRoaXMsIHRoaXMucHJpdmF0ZUFsYkNlcnRpZmljYXRlc1BhcmFtZXRlclBhdGgpLnNwbGl0KFwiLFwiKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cEFsdFB1YmxpY0FsYnMgPz8gZmFsc2UpIHtcbiAgICAgIGlmICghdGhpcy5hbHRQdWJsaWNBbGJBcm5zKSB7XG4gICAgICAgIHRoaXMuYWx0UHVibGljQWxiQXJucyA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAodGhpcywgdGhpcy5hbHRQdWJsaWNBbGJzUGFyYW1ldGVyUGF0aCkuc3BsaXQoXCIsXCIpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwQWx0UHJpdmF0ZUFsYnMgPz8gZmFsc2UpIHtcbiAgICAgIGlmICghdGhpcy5hbHRQcml2YXRlQWxiQXJucykge1xuICAgICAgICB0aGlzLmFsdFByaXZhdGVBbGJBcm5zID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cCh0aGlzLCB0aGlzLmFsdFByaXZhdGVBbGJzUGFyYW1ldGVyUGF0aCkuc3BsaXQoXCIsXCIpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwQWx0UHVibGljQWxiQ2VydGlmaWNhdGVzID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMuYWx0UHVibGljQWxiQ2VydGlmaWNhdGVBcm5zKSB7XG4gICAgICAgIHRoaXMuYWx0UHVibGljQWxiQ2VydGlmaWNhdGVBcm5zID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cCh0aGlzLCB0aGlzLmFsdFB1YmxpY0FsYkNlcnRpZmljYXRlc1BhcmFtZXRlclBhdGgpLnNwbGl0KFwiLFwiKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cEFsdFByaXZhdGVBbGJDZXJ0aWZpY2F0ZXMgPz8gZmFsc2UpIHtcbiAgICAgIGlmICghdGhpcy5hbHRQcml2YXRlQWxiQ2VydGlmaWNhdGVBcm5zKSB7XG4gICAgICAgIHRoaXMuYWx0UHJpdmF0ZUFsYkNlcnRpZmljYXRlQXJucyA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAodGhpcywgdGhpcy5hbHRQcml2YXRlQWxiQ2VydGlmaWNhdGVzUGFyYW1ldGVyUGF0aCkuc3BsaXQoXCIsXCIpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwUHVibGljQ2VydGlmaWNhdGUgPz8gZmFsc2UpIHtcbiAgICAgIGlmICghdGhpcy5wdWJsaWNDZXJ0aWZpY2F0ZUFybikge1xuICAgICAgICB0aGlzLnB1YmxpY0NlcnRpZmljYXRlQXJuID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cCh0aGlzLCB0aGlzLnB1YmxpY0NlcnRpZmljYXRlUGFyYW1ldGVyUGF0aCk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBQcml2YXRlQ2VydGlmaWNhdGUgPz8gZmFsc2UpIHtcbiAgICAgIGlmICghdGhpcy5wcml2YXRlQ2VydGlmaWNhdGVBcm4pIHtcbiAgICAgICAgdGhpcy5wcml2YXRlQ2VydGlmaWNhdGVBcm4gPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKHRoaXMsIHRoaXMucHJpdmF0ZUNlcnRpZmljYXRlUGFyYW1ldGVyUGF0aCk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBDbG91ZEZyb250Q2VydGlmaWNhdGUgPz8gZmFsc2UpIHtcbiAgICAgIGlmICghdGhpcy5jbG91ZEZyb250Q2VydGlmaWNhdGVBcm4pIHtcbiAgICAgICAgdGhpcy5jbG91ZEZyb250Q2VydGlmaWNhdGVBcm4gPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKHRoaXMsIHRoaXMuY2xvdWRGcm9udENlcnRpZmljYXRlUGFyYW1ldGVyUGF0aCk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBQdWJsaWNab25lID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMucHVibGljWm9uZU5hbWUpIHtcbiAgICAgICAgdGhpcy5wdWJsaWNab25lTmFtZSA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAodGhpcywgdGhpcy5wdWJsaWNab25lUGFyYW1ldGVyUGF0aCk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBQcml2YXRlWm9uZSA/PyBmYWxzZSkge1xuICAgICAgaWYgKCF0aGlzLnByaXZhdGVab25lTmFtZSkge1xuICAgICAgICB0aGlzLnByaXZhdGVab25lTmFtZSA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAodGhpcywgdGhpcy5wcml2YXRlWm9uZVBhcmFtZXRlclBhdGgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
|
package/helpers/lib/index.d.ts
CHANGED
package/helpers/lib/index.js
CHANGED
|
@@ -10,7 +10,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
10
10
|
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
__exportStar(require("./constants"), exports);
|
|
14
13
|
__exportStar(require("./shell-helper"), exports);
|
|
15
14
|
__exportStar(require("./string-helper"), exports);
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxpREFBK0I7QUFDL0Isa0RBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vc2hlbGwtaGVscGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdHJpbmctaGVscGVyXCI7XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "truemark-cdk-lib",
|
|
3
|
-
"version": "1.2.4-alpha.
|
|
3
|
+
"version": "1.2.4-alpha.21+1c28fc3",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"types": "index.d.ts",
|
|
6
6
|
"scripts": {
|
|
@@ -62,5 +62,5 @@
|
|
|
62
62
|
"publishConfig": {
|
|
63
63
|
"access": "public"
|
|
64
64
|
},
|
|
65
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "1c28fc35b084b0ce472df6152751143f738ea781"
|
|
66
66
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const test_helper_1 = require("../test-helper");
|
|
4
|
+
const aws_cdk_1 = require("../../aws-cdk");
|
|
5
|
+
test("Test StandardTags", () => {
|
|
6
|
+
const stack = test_helper_1.TestHelper.stack();
|
|
7
|
+
const standardTags = new aws_cdk_1.StandardTags(stack);
|
|
8
|
+
});
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtdGFncy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RhbmRhcmQtdGFncy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsZ0RBQTBDO0FBQzFDLDJDQUEyQztBQUUzQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFO0lBQzdCLE1BQU0sS0FBSyxHQUFHLHdCQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakMsTUFBTSxZQUFZLEdBQUcsSUFBSSxzQkFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQy9DLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUZXN0SGVscGVyfSBmcm9tIFwiLi4vdGVzdC1oZWxwZXJcIjtcbmltcG9ydCB7U3RhbmRhcmRUYWdzfSBmcm9tIFwiLi4vLi4vYXdzLWNka1wiO1xuXG50ZXN0KFwiVGVzdCBTdGFuZGFyZFRhZ3NcIiwgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IFRlc3RIZWxwZXIuc3RhY2soKTtcbiAgY29uc3Qgc3RhbmRhcmRUYWdzID0gbmV3IFN0YW5kYXJkVGFncyhzdGFjayk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const aws_route53_1 = require("../../aws-route53");
|
|
4
|
+
const aws_route53_2 = require("aws-cdk-lib/aws-route53");
|
|
5
|
+
const test_helper_1 = require("../test-helper");
|
|
6
|
+
class TestAliasRecordTarget {
|
|
7
|
+
bind(record, zone) {
|
|
8
|
+
return {
|
|
9
|
+
hostedZoneId: "Z000000000000000O0000",
|
|
10
|
+
dnsName: "example"
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
test("Test fromAlias", () => {
|
|
15
|
+
const stack = test_helper_1.TestHelper.stack();
|
|
16
|
+
const zone = new aws_route53_2.HostedZone(stack, "Zone", {
|
|
17
|
+
zoneName: "example.com"
|
|
18
|
+
});
|
|
19
|
+
const target = aws_route53_1.ExtendedRecordTarget.fromAlias(new TestAliasRecordTarget(), true);
|
|
20
|
+
const weightedRecord = new aws_route53_1.WeightedARecord(stack, "Weighted", {
|
|
21
|
+
target,
|
|
22
|
+
zone,
|
|
23
|
+
weight: 1
|
|
24
|
+
});
|
|
25
|
+
let rs = weightedRecord.node.defaultChild;
|
|
26
|
+
expect(rs.aliasTarget).toEqual({
|
|
27
|
+
hostedZoneId: "Z000000000000000O0000",
|
|
28
|
+
dnsName: "example",
|
|
29
|
+
evaluateTargetHealth: true
|
|
30
|
+
});
|
|
31
|
+
const latencyRecord = new aws_route53_1.LatencyARecord(stack, "Latency", {
|
|
32
|
+
target,
|
|
33
|
+
zone
|
|
34
|
+
});
|
|
35
|
+
rs = latencyRecord.node.defaultChild;
|
|
36
|
+
expect(rs.aliasTarget).toEqual({
|
|
37
|
+
hostedZoneId: "Z000000000000000O0000",
|
|
38
|
+
dnsName: "example",
|
|
39
|
+
evaluateTargetHealth: true
|
|
40
|
+
});
|
|
41
|
+
const simpleRecord = new aws_route53_2.ARecord(stack, "Simple", {
|
|
42
|
+
target,
|
|
43
|
+
zone
|
|
44
|
+
});
|
|
45
|
+
rs = simpleRecord.node.defaultChild;
|
|
46
|
+
expect(rs.aliasTarget).toEqual({
|
|
47
|
+
hostedZoneId: "Z000000000000000O0000",
|
|
48
|
+
dnsName: "example",
|
|
49
|
+
evaluateTargetHealth: true
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWQtcmVjb3JkLXRhcmdldC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZXh0ZW5kZWQtcmVjb3JkLXRhcmdldC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBQXdGO0FBQ3hGLHlEQUtpQztBQUNqQyxnREFBMEM7QUFFMUMsTUFBTSxxQkFBcUI7SUFFekIsSUFBSSxDQUFDLE1BQWtCLEVBQUUsSUFBa0I7UUFDekMsT0FBTztZQUNMLFlBQVksRUFBRSx1QkFBdUI7WUFDckMsT0FBTyxFQUFFLFNBQVM7U0FDbkIsQ0FBQTtJQUNILENBQUM7Q0FFRjtBQUVELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLEVBQUU7SUFDMUIsTUFBTSxLQUFLLEdBQUcsd0JBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUVqQyxNQUFNLElBQUksR0FBRyxJQUFJLHdCQUFVLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRTtRQUN6QyxRQUFRLEVBQUUsYUFBYTtLQUN4QixDQUFDLENBQUM7SUFFSCxNQUFNLE1BQU0sR0FBRyxrQ0FBb0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxxQkFBcUIsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRWpGLE1BQU0sY0FBYyxHQUFHLElBQUksNkJBQWUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFO1FBQzVELE1BQU07UUFDTixJQUFJO1FBQ0osTUFBTSxFQUFFLENBQUM7S0FDVixDQUFDLENBQUM7SUFDSCxJQUFJLEVBQUUsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQTRCLENBQUM7SUFDMUQsTUFBTSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDN0IsWUFBWSxFQUFFLHVCQUF1QjtRQUNyQyxPQUFPLEVBQUUsU0FBUztRQUNsQixvQkFBb0IsRUFBRSxJQUFJO0tBQzNCLENBQUMsQ0FBQztJQUVILE1BQU0sYUFBYSxHQUFHLElBQUksNEJBQWMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFO1FBQ3pELE1BQU07UUFDTixJQUFJO0tBQ0wsQ0FBQyxDQUFDO0lBQ0gsRUFBRSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBNEIsQ0FBQztJQUNyRCxNQUFNLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUM3QixZQUFZLEVBQUUsdUJBQXVCO1FBQ3JDLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLG9CQUFvQixFQUFFLElBQUk7S0FDM0IsQ0FBQyxDQUFDO0lBRUgsTUFBTSxZQUFZLEdBQUcsSUFBSSxxQkFBTyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUU7UUFDaEQsTUFBTTtRQUNOLElBQUk7S0FDTCxDQUFDLENBQUM7SUFDSCxFQUFFLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUE0QixDQUFDO0lBQ3BELE1BQU0sQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQzdCLFlBQVksRUFBRSx1QkFBdUI7UUFDckMsT0FBTyxFQUFFLFNBQVM7UUFDbEIsb0JBQW9CLEVBQUUsSUFBSTtLQUMzQixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXh0ZW5kZWRSZWNvcmRUYXJnZXQsIExhdGVuY3lBUmVjb3JkLCBXZWlnaHRlZEFSZWNvcmR9IGZyb20gXCIuLi8uLi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHtcbiAgQWxpYXNSZWNvcmRUYXJnZXRDb25maWcsIEFSZWNvcmQsIENmblJlY29yZFNldCwgSG9zdGVkWm9uZSxcbiAgSUFsaWFzUmVjb3JkVGFyZ2V0LFxuICBJSG9zdGVkWm9uZSxcbiAgSVJlY29yZFNldCxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzXCI7XG5pbXBvcnQge1Rlc3RIZWxwZXJ9IGZyb20gXCIuLi90ZXN0LWhlbHBlclwiO1xuXG5jbGFzcyBUZXN0QWxpYXNSZWNvcmRUYXJnZXQgaW1wbGVtZW50cyBJQWxpYXNSZWNvcmRUYXJnZXQge1xuXG4gIGJpbmQocmVjb3JkOiBJUmVjb3JkU2V0LCB6b25lPzogSUhvc3RlZFpvbmUpOiBBbGlhc1JlY29yZFRhcmdldENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGhvc3RlZFpvbmVJZDogXCJaMDAwMDAwMDAwMDAwMDAwTzAwMDBcIixcbiAgICAgIGRuc05hbWU6IFwiZXhhbXBsZVwiXG4gICAgfVxuICB9XG5cbn1cblxudGVzdChcIlRlc3QgZnJvbUFsaWFzXCIsICgpID0+IHtcbiAgY29uc3Qgc3RhY2sgPSBUZXN0SGVscGVyLnN0YWNrKCk7XG5cbiAgY29uc3Qgem9uZSA9IG5ldyBIb3N0ZWRab25lKHN0YWNrLCBcIlpvbmVcIiwge1xuICAgIHpvbmVOYW1lOiBcImV4YW1wbGUuY29tXCJcbiAgfSk7XG5cbiAgY29uc3QgdGFyZ2V0ID0gRXh0ZW5kZWRSZWNvcmRUYXJnZXQuZnJvbUFsaWFzKG5ldyBUZXN0QWxpYXNSZWNvcmRUYXJnZXQoKSwgdHJ1ZSk7XG5cbiAgY29uc3Qgd2VpZ2h0ZWRSZWNvcmQgPSBuZXcgV2VpZ2h0ZWRBUmVjb3JkKHN0YWNrLCBcIldlaWdodGVkXCIsIHtcbiAgICB0YXJnZXQsXG4gICAgem9uZSxcbiAgICB3ZWlnaHQ6IDFcbiAgfSk7XG4gIGxldCBycyA9IHdlaWdodGVkUmVjb3JkLm5vZGUuZGVmYXVsdENoaWxkIGFzIENmblJlY29yZFNldDtcbiAgZXhwZWN0KHJzLmFsaWFzVGFyZ2V0KS50b0VxdWFsKHtcbiAgICBob3N0ZWRab25lSWQ6IFwiWjAwMDAwMDAwMDAwMDAwME8wMDAwXCIsXG4gICAgZG5zTmFtZTogXCJleGFtcGxlXCIsXG4gICAgZXZhbHVhdGVUYXJnZXRIZWFsdGg6IHRydWVcbiAgfSk7XG5cbiAgY29uc3QgbGF0ZW5jeVJlY29yZCA9IG5ldyBMYXRlbmN5QVJlY29yZChzdGFjaywgXCJMYXRlbmN5XCIsIHtcbiAgICB0YXJnZXQsXG4gICAgem9uZVxuICB9KTtcbiAgcnMgPSBsYXRlbmN5UmVjb3JkLm5vZGUuZGVmYXVsdENoaWxkIGFzIENmblJlY29yZFNldDtcbiAgZXhwZWN0KHJzLmFsaWFzVGFyZ2V0KS50b0VxdWFsKHtcbiAgICBob3N0ZWRab25lSWQ6IFwiWjAwMDAwMDAwMDAwMDAwME8wMDAwXCIsXG4gICAgZG5zTmFtZTogXCJleGFtcGxlXCIsXG4gICAgZXZhbHVhdGVUYXJnZXRIZWFsdGg6IHRydWVcbiAgfSk7XG5cbiAgY29uc3Qgc2ltcGxlUmVjb3JkID0gbmV3IEFSZWNvcmQoc3RhY2ssIFwiU2ltcGxlXCIsIHtcbiAgICB0YXJnZXQsXG4gICAgem9uZVxuICB9KTtcbiAgcnMgPSBzaW1wbGVSZWNvcmQubm9kZS5kZWZhdWx0Q2hpbGQgYXMgQ2ZuUmVjb3JkU2V0O1xuICBleHBlY3QocnMuYWxpYXNUYXJnZXQpLnRvRXF1YWwoe1xuICAgIGhvc3RlZFpvbmVJZDogXCJaMDAwMDAwMDAwMDAwMDAwTzAwMDBcIixcbiAgICBkbnNOYW1lOiBcImV4YW1wbGVcIixcbiAgICBldmFsdWF0ZVRhcmdldEhlYWx0aDogdHJ1ZVxuICB9KTtcbn0pO1xuIl19
|
package/test/test-helper.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as cdk from "aws-cdk-lib";
|
|
2
2
|
import { Template } from "aws-cdk-lib/assertions";
|
|
3
|
+
import { ResourceEnvironment } from "aws-cdk-lib";
|
|
3
4
|
export declare enum ResourceType {
|
|
4
5
|
CODEPIPELINE = "AWS::CodePipeline::Pipeline",
|
|
5
6
|
CLOUDWATCH_ALARM = "AWS::CloudWatch::Alarm",
|
|
@@ -8,9 +9,12 @@ export declare enum ResourceType {
|
|
|
8
9
|
SSM_PARAMETER = "AWS::SSM::Parameter"
|
|
9
10
|
}
|
|
10
11
|
export declare class TestHelper {
|
|
12
|
+
static readonly DEFAULT_REGION = "us-east-2";
|
|
13
|
+
static readonly DEFAULT_ACCOUNT = "100000000000";
|
|
11
14
|
static stage(app?: cdk.App, id?: string): cdk.Stage;
|
|
12
15
|
static stack(scope?: cdk.App | cdk.Stage, id?: string): cdk.Stack;
|
|
13
16
|
static resolveTestFiles(childPath?: string): string;
|
|
14
17
|
static logResources(template: Template, type: string | ResourceType, props?: any): void;
|
|
15
18
|
static logTemplate(template: Template): void;
|
|
19
|
+
static env(): ResourceEnvironment;
|
|
16
20
|
}
|
package/test/test-helper.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.TestHelper = exports.ResourceType = void 0;
|
|
4
4
|
const cdk = require("aws-cdk-lib");
|
|
5
5
|
const path = require("path");
|
|
6
|
-
const
|
|
6
|
+
const aws_cdk_1 = require("../aws-cdk");
|
|
7
7
|
var ResourceType;
|
|
8
8
|
(function (ResourceType) {
|
|
9
9
|
ResourceType["CODEPIPELINE"] = "AWS::CodePipeline::Pipeline";
|
|
@@ -17,7 +17,7 @@ class TestHelper {
|
|
|
17
17
|
return new cdk.Stage(app !== null && app !== void 0 ? app : new cdk.App(), id !== null && id !== void 0 ? id : "TestStage");
|
|
18
18
|
}
|
|
19
19
|
static stack(scope, id) {
|
|
20
|
-
return new
|
|
20
|
+
return new aws_cdk_1.ExtendedStack(scope !== null && scope !== void 0 ? scope : new cdk.App(), id !== null && id !== void 0 ? id : "TestStack");
|
|
21
21
|
}
|
|
22
22
|
static resolveTestFiles(childPath) {
|
|
23
23
|
const dir = path.join(__dirname, "..", "..", "..", "test-files");
|
|
@@ -29,6 +29,14 @@ class TestHelper {
|
|
|
29
29
|
static logTemplate(template) {
|
|
30
30
|
console.log(JSON.stringify(template, null, " "));
|
|
31
31
|
}
|
|
32
|
+
static env() {
|
|
33
|
+
return {
|
|
34
|
+
account: TestHelper.DEFAULT_ACCOUNT,
|
|
35
|
+
region: TestHelper.DEFAULT_REGION
|
|
36
|
+
};
|
|
37
|
+
}
|
|
32
38
|
}
|
|
33
39
|
exports.TestHelper = TestHelper;
|
|
34
|
-
|
|
40
|
+
TestHelper.DEFAULT_REGION = "us-east-2";
|
|
41
|
+
TestHelper.DEFAULT_ACCOUNT = "100000000000";
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZXN0LWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBbUM7QUFDbkMsNkJBQTZCO0FBRzdCLHdDQUF5QztBQUV6QyxJQUFZLFlBTVg7QUFORCxXQUFZLFlBQVk7SUFDdEIsNERBQTRDLENBQUE7SUFDNUMsMkRBQTJDLENBQUE7SUFDM0MseURBQXlDLENBQUE7SUFDekMsdURBQXVDLENBQUE7SUFDdkMscURBQXFDLENBQUE7QUFDdkMsQ0FBQyxFQU5XLFlBQVksR0FBWixvQkFBWSxLQUFaLG9CQUFZLFFBTXZCO0FBRUQsTUFBYSxVQUFVO0lBS3JCLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBYSxFQUFFLEVBQVc7UUFDckMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxhQUFILEdBQUcsY0FBSCxHQUFHLEdBQUUsSUFBSSxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxhQUFGLEVBQUUsY0FBRixFQUFFLEdBQUUsV0FBVyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBMkIsRUFBRSxFQUFXO1FBQ25ELE9BQU8sSUFBSSx1QkFBYSxDQUFDLEtBQUssYUFBTCxLQUFLLGNBQUwsS0FBSyxHQUFJLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsYUFBRixFQUFFLGNBQUYsRUFBRSxHQUFJLFdBQVcsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBa0I7UUFDeEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDakUsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFrQixFQUFFLElBQTJCLEVBQUUsS0FBVztRQUM5RSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBa0I7UUFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUc7UUFDUixPQUFPO1lBQ04sT0FBTyxFQUFFLFVBQVUsQ0FBQyxlQUFlO1lBQ25DLE1BQU0sRUFBRSxVQUFVLENBQUMsY0FBYztTQUNqQyxDQUFBO0lBQ0gsQ0FBQzs7QUEvQkgsZ0NBZ0NDO0FBOUJpQix5QkFBYyxHQUFHLFdBQVcsQ0FBQztBQUM3QiwwQkFBZSxHQUFHLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7VGVtcGxhdGV9IGZyb20gXCJhd3MtY2RrLWxpYi9hc3NlcnRpb25zXCI7XG5pbXBvcnQge1Jlc291cmNlRW52aXJvbm1lbnR9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtFeHRlbmRlZFN0YWNrfSBmcm9tIFwiLi4vYXdzLWNka1wiO1xuXG5leHBvcnQgZW51bSBSZXNvdXJjZVR5cGUge1xuICBDT0RFUElQRUxJTkUgPSBcIkFXUzo6Q29kZVBpcGVsaW5lOjpQaXBlbGluZVwiLFxuICBDTE9VRFdBVENIX0FMQVJNID0gXCJBV1M6OkNsb3VkV2F0Y2g6OkFsYXJtXCIsXG4gIExBTUJEQV9GVU5DVElPTiA9IFwiQVdTOjpMYW1iZGE6OkZ1bmN0aW9uXCIsXG4gIERZTkFNT0RCX1RBQkxFID0gXCJBV1M6OkR5bmFtb0RCOjpUYWJsZVwiLFxuICBTU01fUEFSQU1FVEVSID0gXCJBV1M6OlNTTTo6UGFyYW1ldGVyXCJcbn1cblxuZXhwb3J0IGNsYXNzIFRlc3RIZWxwZXIge1xuXG4gIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1JFR0lPTiA9IFwidXMtZWFzdC0yXCI7XG4gIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0FDQ09VTlQgPSBcIjEwMDAwMDAwMDAwMFwiO1xuXG4gIHN0YXRpYyBzdGFnZShhcHA/OiBjZGsuQXBwLCBpZD86IHN0cmluZyk6IGNkay5TdGFnZSB7XG4gICAgcmV0dXJuIG5ldyBjZGsuU3RhZ2UoYXBwPz9uZXcgY2RrLkFwcCgpLCBpZD8/XCJUZXN0U3RhZ2VcIik7XG4gIH1cblxuICBzdGF0aWMgc3RhY2soc2NvcGU/OiBjZGsuQXBwIHwgY2RrLlN0YWdlLCBpZD86IHN0cmluZyk6IGNkay5TdGFjayB7XG4gICAgcmV0dXJuIG5ldyBFeHRlbmRlZFN0YWNrKHNjb3BlID8/IG5ldyBjZGsuQXBwKCksIGlkID8/IFwiVGVzdFN0YWNrXCIpO1xuICB9XG5cbiAgc3RhdGljIHJlc29sdmVUZXN0RmlsZXMoY2hpbGRQYXRoPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBkaXIgPSBwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uXCIsIFwiLi5cIiwgXCIuLlwiLCBcInRlc3QtZmlsZXNcIik7XG4gICAgcmV0dXJuIHBhdGgucmVzb2x2ZShjaGlsZFBhdGggPT0gdW5kZWZpbmVkID8gZGlyIDogcGF0aC5qb2luKGRpciwgY2hpbGRQYXRoKSk7XG4gIH1cblxuICBzdGF0aWMgbG9nUmVzb3VyY2VzKHRlbXBsYXRlOiBUZW1wbGF0ZSwgdHlwZTogc3RyaW5nIHwgUmVzb3VyY2VUeXBlLCBwcm9wcz86IGFueSkge1xuICAgIGNvbnNvbGUubG9nKHRlbXBsYXRlLmZpbmRSZXNvdXJjZXModHlwZSwgcHJvcHMpKTtcbiAgfVxuXG4gIHN0YXRpYyBsb2dUZW1wbGF0ZSh0ZW1wbGF0ZTogVGVtcGxhdGUpIHtcbiAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeSh0ZW1wbGF0ZSwgbnVsbCwgXCIgIFwiKSk7XG4gIH1cblxuICBzdGF0aWMgZW52KCk6IFJlc291cmNlRW52aXJvbm1lbnQge1xuICAgIHJldHVybiB7XG4gICAgIGFjY291bnQ6IFRlc3RIZWxwZXIuREVGQVVMVF9BQ0NPVU5ULFxuICAgICByZWdpb246IFRlc3RIZWxwZXIuREVGQVVMVF9SRUdJT05cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { App } from "aws-cdk-lib";
|
|
2
|
-
import { AutomationTagsProps, CostCenterTagsProps, SecurityTagsProps, StandardTagsOptions, TeamTagsProps } from "./standard-tags";
|
|
3
|
-
/**
|
|
4
|
-
* Properties for StandardApp
|
|
5
|
-
*/
|
|
6
|
-
export interface StandardAppProps extends StandardTagsOptions {
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Extends App providing support for tags and a standard for environment names.
|
|
10
|
-
*/
|
|
11
|
-
export declare class StandardApp extends App {
|
|
12
|
-
readonly environmentName: string;
|
|
13
|
-
readonly automationTags?: AutomationTagsProps;
|
|
14
|
-
readonly costCenterTags?: CostCenterTagsProps;
|
|
15
|
-
readonly securityTags?: SecurityTagsProps;
|
|
16
|
-
readonly teamTags?: TeamTagsProps;
|
|
17
|
-
readonly suppressTags?: boolean;
|
|
18
|
-
constructor(props: StandardAppProps);
|
|
19
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StandardApp = void 0;
|
|
4
|
-
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
5
|
-
const helpers_1 = require("../../helpers");
|
|
6
|
-
/**
|
|
7
|
-
* Extends App providing support for tags and a standard for environment names.
|
|
8
|
-
*/
|
|
9
|
-
class StandardApp extends aws_cdk_lib_1.App {
|
|
10
|
-
constructor(props) {
|
|
11
|
-
super();
|
|
12
|
-
this.environmentName = this.node.tryGetContext("env");
|
|
13
|
-
if (!this.environmentName) {
|
|
14
|
-
throw new Error("Environment is missing. Please add \"-c env=<name>\" to your CDK command");
|
|
15
|
-
}
|
|
16
|
-
if (!helpers_1.StringHelper.isLowerAlphanumeric(this.environmentName)) {
|
|
17
|
-
throw new Error("Environment name must be lower case");
|
|
18
|
-
}
|
|
19
|
-
this.automationTags = props.automationTags;
|
|
20
|
-
this.costCenterTags = props.costCenterTags;
|
|
21
|
-
this.securityTags = props.securityTags;
|
|
22
|
-
this.teamTags = props.teamTags;
|
|
23
|
-
this.suppressTags = props.suppressTags;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
exports.StandardApp = StandardApp;
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RhbmRhcmQtYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUE2QztBQU83QywyQ0FBMkM7QUFTM0M7O0dBRUc7QUFDSCxNQUFhLFdBQVksU0FBUSxpQkFBRztJQVNsQyxZQUFZLEtBQXVCO1FBQ2pDLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLDBFQUEwRSxDQUFDLENBQUM7U0FDN0Y7UUFDRCxJQUFJLENBQUMsc0JBQVksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUU7WUFDM0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1NBQ3hEO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDO1FBQzNDLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQztRQUMzQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFDdkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztJQUN6QyxDQUFDO0NBQ0Y7QUF4QkQsa0NBd0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcHAsIEVudmlyb25tZW50fSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7XG4gIEF1dG9tYXRpb25UYWdzUHJvcHMsXG4gIENvc3RDZW50ZXJUYWdzUHJvcHMsXG4gIFNlY3VyaXR5VGFnc1Byb3BzLCBTdGFuZGFyZFRhZ3NPcHRpb25zLFxuICBUZWFtVGFnc1Byb3BzXG59IGZyb20gXCIuL3N0YW5kYXJkLXRhZ3NcIjtcbmltcG9ydCB7U3RyaW5nSGVscGVyfSBmcm9tIFwiLi4vLi4vaGVscGVyc1wiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIFN0YW5kYXJkQXBwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhbmRhcmRBcHBQcm9wcyBleHRlbmRzIFN0YW5kYXJkVGFnc09wdGlvbnMge1xuXG59XG5cbi8qKlxuICogRXh0ZW5kcyBBcHAgcHJvdmlkaW5nIHN1cHBvcnQgZm9yIHRhZ3MgYW5kIGEgc3RhbmRhcmQgZm9yIGVudmlyb25tZW50IG5hbWVzLlxuICovXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRBcHAgZXh0ZW5kcyBBcHAge1xuXG4gIHJlYWRvbmx5IGVudmlyb25tZW50TmFtZTogc3RyaW5nO1xuICByZWFkb25seSBhdXRvbWF0aW9uVGFncz86IEF1dG9tYXRpb25UYWdzUHJvcHM7XG4gIHJlYWRvbmx5IGNvc3RDZW50ZXJUYWdzPzogQ29zdENlbnRlclRhZ3NQcm9wcztcbiAgcmVhZG9ubHkgc2VjdXJpdHlUYWdzPzogU2VjdXJpdHlUYWdzUHJvcHM7XG4gIHJlYWRvbmx5IHRlYW1UYWdzPzogVGVhbVRhZ3NQcm9wcztcbiAgcmVhZG9ubHkgc3VwcHJlc3NUYWdzPzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcm9wczogU3RhbmRhcmRBcHBQcm9wcykge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5lbnZpcm9ubWVudE5hbWUgPSB0aGlzLm5vZGUudHJ5R2V0Q29udGV4dChcImVudlwiKTtcbiAgICBpZiAoIXRoaXMuZW52aXJvbm1lbnROYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFbnZpcm9ubWVudCBpcyBtaXNzaW5nLiBQbGVhc2UgYWRkIFxcXCItYyBlbnY9PG5hbWU+XFxcIiB0byB5b3VyIENESyBjb21tYW5kXCIpO1xuICAgIH1cbiAgICBpZiAoIVN0cmluZ0hlbHBlci5pc0xvd2VyQWxwaGFudW1lcmljKHRoaXMuZW52aXJvbm1lbnROYW1lKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRW52aXJvbm1lbnQgbmFtZSBtdXN0IGJlIGxvd2VyIGNhc2VcIik7XG4gICAgfVxuICAgIHRoaXMuYXV0b21hdGlvblRhZ3MgPSBwcm9wcy5hdXRvbWF0aW9uVGFncztcbiAgICB0aGlzLmNvc3RDZW50ZXJUYWdzID0gcHJvcHMuY29zdENlbnRlclRhZ3M7XG4gICAgdGhpcy5zZWN1cml0eVRhZ3MgPSBwcm9wcy5zZWN1cml0eVRhZ3M7XG4gICAgdGhpcy50ZWFtVGFncyA9IHByb3BzLnRlYW1UYWdzO1xuICAgIHRoaXMuc3VwcHJlc3NUYWdzID0gcHJvcHMuc3VwcHJlc3NUYWdzO1xuICB9XG59XG4iXX0=
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGFuZGFyZC1lbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFbnZpcm9ubWVudH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5cbi8qKlxuICogQWRkcyBhIG5hbWUgdG8gdGhlIGVudmlyb25tZW50IHByb3BlcnRpZXMgdXNlZCBieSBTdGFuZGFyZFN0YWNrLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YW5kYXJkRW52aXJvbm1lbnQgZXh0ZW5kcyBFbnZpcm9ubWVudCB7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGVudmlyb25tZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG59XG4iXX0=
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { ExtendedStack, ExtendedStackProps } from "./extended-stack";
|
|
2
|
-
import { StandardApp } from "./standard-app";
|
|
3
|
-
import { StandardStage } from "./standard-stage";
|
|
4
|
-
import { StandardEnvironment } from "./standard-environment";
|
|
5
|
-
import { AutomationTagsProps, CostCenterTagsProps, SecurityTagsProps, StandardTagsOptions, TeamTagsProps } from "./standard-tags";
|
|
6
|
-
/**
|
|
7
|
-
* Properties for StandardStack.
|
|
8
|
-
*/
|
|
9
|
-
export interface StandardStackProps extends ExtendedStackProps, StandardTagsOptions {
|
|
10
|
-
/**
|
|
11
|
-
* Environment the stack will be deployed to.
|
|
12
|
-
*/
|
|
13
|
-
readonly env: StandardEnvironment;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Adds support for tags and environment names.
|
|
17
|
-
*/
|
|
18
|
-
export declare class StandardStack extends ExtendedStack {
|
|
19
|
-
readonly automationTags?: AutomationTagsProps;
|
|
20
|
-
readonly costCenterTags?: CostCenterTagsProps;
|
|
21
|
-
readonly securityTags?: SecurityTagsProps;
|
|
22
|
-
readonly teamTags?: TeamTagsProps;
|
|
23
|
-
readonly suppressTags?: boolean;
|
|
24
|
-
constructor(scope: StandardApp | StandardStage, stackName: string, props: StandardStackProps);
|
|
25
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StandardStack = void 0;
|
|
4
|
-
const extended_stack_1 = require("./extended-stack");
|
|
5
|
-
const helpers_1 = require("../../helpers");
|
|
6
|
-
const standard_tags_1 = require("./standard-tags");
|
|
7
|
-
/**
|
|
8
|
-
* Adds support for tags and environment names.
|
|
9
|
-
*/
|
|
10
|
-
class StandardStack extends extended_stack_1.ExtendedStack {
|
|
11
|
-
constructor(scope, stackName, props) {
|
|
12
|
-
var _a, _b, _c, _d, _e;
|
|
13
|
-
if (!helpers_1.StringHelper.isPascalCase(stackName)) {
|
|
14
|
-
throw new Error("stackName must be PascalCase");
|
|
15
|
-
}
|
|
16
|
-
super(scope, `${stackName}${helpers_1.StringHelper.toPascalCase(props.env.name)}`, props);
|
|
17
|
-
this.automationTags = (_a = props.automationTags) !== null && _a !== void 0 ? _a : scope.automationTags;
|
|
18
|
-
this.costCenterTags = (_b = props.costCenterTags) !== null && _b !== void 0 ? _b : scope.costCenterTags;
|
|
19
|
-
this.securityTags = (_c = props.securityTags) !== null && _c !== void 0 ? _c : scope.securityTags;
|
|
20
|
-
this.teamTags = (_d = props.teamTags) !== null && _d !== void 0 ? _d : scope.teamTags;
|
|
21
|
-
this.suppressTags = (_e = props.suppressTags) !== null && _e !== void 0 ? _e : scope.suppressTags;
|
|
22
|
-
new standard_tags_1.StandardTags(this, { suppress: props.suppressTags })
|
|
23
|
-
.addAutomationComponentTags({
|
|
24
|
-
url: helpers_1.CDK_NPMJS_URL,
|
|
25
|
-
vendor: helpers_1.CDK_VENDOR,
|
|
26
|
-
includeResourceTypes: ["AWS::CloudFormation::Stack"]
|
|
27
|
-
})
|
|
28
|
-
.addAutomationTags(props.automationTags)
|
|
29
|
-
.addCostCenterTags(props.costCenterTags)
|
|
30
|
-
.addSecurityTags(props.securityTags)
|
|
31
|
-
.addTeamTags(props.teamTags);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
exports.StandardStack = StandardStack;
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtc3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGFuZGFyZC1zdGFjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBbUU7QUFJbkUsMkNBQXNFO0FBQ3RFLG1EQU95QjtBQWF6Qjs7R0FFRztBQUNILE1BQWEsYUFBYyxTQUFRLDhCQUFhO0lBUTlDLFlBQVksS0FBa0MsRUFBRSxTQUFpQixFQUFFLEtBQXlCOztRQUUxRixJQUFJLENBQUMsc0JBQVksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDekMsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1NBQ2pEO1FBQ0QsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLFNBQVMsR0FBRyxzQkFBWSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLGNBQWMsU0FBRyxLQUFLLENBQUMsY0FBYyxtQ0FBSSxLQUFLLENBQUMsY0FBYyxDQUFDO1FBQ25FLElBQUksQ0FBQyxjQUFjLFNBQUcsS0FBSyxDQUFDLGNBQWMsbUNBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQztRQUNuRSxJQUFJLENBQUMsWUFBWSxTQUFHLEtBQUssQ0FBQyxZQUFZLG1DQUFJLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFDN0QsSUFBSSxDQUFDLFFBQVEsU0FBRyxLQUFLLENBQUMsUUFBUSxtQ0FBSSxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQ2pELElBQUksQ0FBQyxZQUFZLFNBQUcsS0FBSyxDQUFDLFlBQVksbUNBQUksS0FBSyxDQUFDLFlBQVksQ0FBQztRQUU3RCxJQUFJLDRCQUFZLENBQUMsSUFBSSxFQUFFLEVBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxZQUFZLEVBQUMsQ0FBQzthQUNuRCwwQkFBMEIsQ0FBQztZQUMxQixHQUFHLEVBQUUsdUJBQWE7WUFDbEIsTUFBTSxFQUFFLG9CQUFVO1lBQ2xCLG9CQUFvQixFQUFFLENBQUMsNEJBQTRCLENBQUM7U0FDckQsQ0FBQzthQUNELGlCQUFpQixDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7YUFDdkMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQzthQUN2QyxlQUFlLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQzthQUNuQyxXQUFXLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7Q0FDRjtBQS9CRCxzQ0ErQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0V4dGVuZGVkU3RhY2ssIEV4dGVuZGVkU3RhY2tQcm9wc30gZnJvbSBcIi4vZXh0ZW5kZWQtc3RhY2tcIjtcbmltcG9ydCB7U3RhbmRhcmRBcHB9IGZyb20gXCIuL3N0YW5kYXJkLWFwcFwiO1xuaW1wb3J0IHtTdGFuZGFyZFN0YWdlfSBmcm9tIFwiLi9zdGFuZGFyZC1zdGFnZVwiO1xuaW1wb3J0IHtTdGFuZGFyZEVudmlyb25tZW50fSBmcm9tIFwiLi9zdGFuZGFyZC1lbnZpcm9ubWVudFwiO1xuaW1wb3J0IHtDREtfTlBNSlNfVVJMLCBDREtfVkVORE9SLCBTdHJpbmdIZWxwZXJ9IGZyb20gXCIuLi8uLi9oZWxwZXJzXCI7XG5pbXBvcnQge1xuICBBdXRvbWF0aW9uVGFnc1Byb3BzLFxuICBDb3N0Q2VudGVyVGFnc1Byb3BzLFxuICBTZWN1cml0eVRhZ3NQcm9wcyxcbiAgU3RhbmRhcmRUYWdzLFxuICBTdGFuZGFyZFRhZ3NPcHRpb25zLFxuICBUZWFtVGFnc1Byb3BzXG59IGZyb20gXCIuL3N0YW5kYXJkLXRhZ3NcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBTdGFuZGFyZFN0YWNrLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YW5kYXJkU3RhY2tQcm9wcyBleHRlbmRzIEV4dGVuZGVkU3RhY2tQcm9wcywgU3RhbmRhcmRUYWdzT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIEVudmlyb25tZW50IHRoZSBzdGFjayB3aWxsIGJlIGRlcGxveWVkIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgZW52OiBTdGFuZGFyZEVudmlyb25tZW50O1xufVxuXG4vKipcbiAqIEFkZHMgc3VwcG9ydCBmb3IgdGFncyBhbmQgZW52aXJvbm1lbnQgbmFtZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTdGFuZGFyZFN0YWNrIGV4dGVuZHMgRXh0ZW5kZWRTdGFjayB7XG5cbiAgcmVhZG9ubHkgYXV0b21hdGlvblRhZ3M/OiBBdXRvbWF0aW9uVGFnc1Byb3BzO1xuICByZWFkb25seSBjb3N0Q2VudGVyVGFncz86IENvc3RDZW50ZXJUYWdzUHJvcHM7XG4gIHJlYWRvbmx5IHNlY3VyaXR5VGFncz86IFNlY3VyaXR5VGFnc1Byb3BzO1xuICByZWFkb25seSB0ZWFtVGFncz86IFRlYW1UYWdzUHJvcHM7XG4gIHJlYWRvbmx5IHN1cHByZXNzVGFncz86IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IFN0YW5kYXJkQXBwIHwgU3RhbmRhcmRTdGFnZSwgc3RhY2tOYW1lOiBzdHJpbmcsIHByb3BzOiBTdGFuZGFyZFN0YWNrUHJvcHMpIHtcblxuICAgIGlmICghU3RyaW5nSGVscGVyLmlzUGFzY2FsQ2FzZShzdGFja05hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJzdGFja05hbWUgbXVzdCBiZSBQYXNjYWxDYXNlXCIpO1xuICAgIH1cbiAgICBzdXBlcihzY29wZSwgYCR7c3RhY2tOYW1lfSR7U3RyaW5nSGVscGVyLnRvUGFzY2FsQ2FzZShwcm9wcy5lbnYubmFtZSl9YCwgcHJvcHMpO1xuICAgIHRoaXMuYXV0b21hdGlvblRhZ3MgPSBwcm9wcy5hdXRvbWF0aW9uVGFncyA/PyBzY29wZS5hdXRvbWF0aW9uVGFncztcbiAgICB0aGlzLmNvc3RDZW50ZXJUYWdzID0gcHJvcHMuY29zdENlbnRlclRhZ3MgPz8gc2NvcGUuY29zdENlbnRlclRhZ3M7XG4gICAgdGhpcy5zZWN1cml0eVRhZ3MgPSBwcm9wcy5zZWN1cml0eVRhZ3MgPz8gc2NvcGUuc2VjdXJpdHlUYWdzO1xuICAgIHRoaXMudGVhbVRhZ3MgPSBwcm9wcy50ZWFtVGFncyA/PyBzY29wZS50ZWFtVGFncztcbiAgICB0aGlzLnN1cHByZXNzVGFncyA9IHByb3BzLnN1cHByZXNzVGFncyA/PyBzY29wZS5zdXBwcmVzc1RhZ3M7XG5cbiAgICBuZXcgU3RhbmRhcmRUYWdzKHRoaXMsIHtzdXBwcmVzczogcHJvcHMuc3VwcHJlc3NUYWdzfSlcbiAgICAgIC5hZGRBdXRvbWF0aW9uQ29tcG9uZW50VGFncyh7XG4gICAgICAgIHVybDogQ0RLX05QTUpTX1VSTCxcbiAgICAgICAgdmVuZG9yOiBDREtfVkVORE9SLFxuICAgICAgICBpbmNsdWRlUmVzb3VyY2VUeXBlczogW1wiQVdTOjpDbG91ZEZvcm1hdGlvbjo6U3RhY2tcIl1cbiAgICAgIH0pXG4gICAgICAuYWRkQXV0b21hdGlvblRhZ3MocHJvcHMuYXV0b21hdGlvblRhZ3MpXG4gICAgICAuYWRkQ29zdENlbnRlclRhZ3MocHJvcHMuY29zdENlbnRlclRhZ3MpXG4gICAgICAuYWRkU2VjdXJpdHlUYWdzKHByb3BzLnNlY3VyaXR5VGFncylcbiAgICAgIC5hZGRUZWFtVGFncyhwcm9wcy50ZWFtVGFncyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Stage, StageProps } from "aws-cdk-lib";
|
|
2
|
-
import { StandardApp } from "./standard-app";
|
|
3
|
-
import { AutomationTagsProps, CostCenterTagsProps, SecurityTagsProps, StandardTagsOptions, TeamTagsProps } from "./standard-tags";
|
|
4
|
-
/**
|
|
5
|
-
* Properties for StandardStage.
|
|
6
|
-
*/
|
|
7
|
-
export interface StandardStageProps extends StageProps, StandardTagsOptions {
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Adds support for tags.
|
|
11
|
-
*/
|
|
12
|
-
export declare class StandardStage extends Stage {
|
|
13
|
-
private readonly app;
|
|
14
|
-
readonly automationTags?: AutomationTagsProps;
|
|
15
|
-
readonly costCenterTags?: CostCenterTagsProps;
|
|
16
|
-
readonly securityTags?: SecurityTagsProps;
|
|
17
|
-
readonly teamTags?: TeamTagsProps;
|
|
18
|
-
readonly suppressTags?: boolean;
|
|
19
|
-
constructor(scope: StandardApp, id: string, props: StandardStageProps);
|
|
20
|
-
}
|