@liflig/cdk 2.11.2 → 2.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -37,6 +37,7 @@ class BuildArtifacts extends constructs.Construct {
|
|
|
37
37
|
bucket = new s3.Bucket(this, "S3Bucket", {
|
|
38
38
|
bucketName: props.bucketName,
|
|
39
39
|
encryption: s3.BucketEncryption.S3_MANAGED,
|
|
40
|
+
eventBridgeEnabled: true,
|
|
40
41
|
blockPublicAccess: s3.BlockPublicAccess.BLOCK_ALL,
|
|
41
42
|
versioned: true,
|
|
42
43
|
lifecycleRules: [
|
|
@@ -114,4 +115,4 @@ class BuildArtifacts extends constructs.Construct {
|
|
|
114
115
|
}
|
|
115
116
|
}
|
|
116
117
|
exports.BuildArtifacts = BuildArtifacts;
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGQtYXJ0aWZhY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUF3QztBQUN4QywyQ0FBMEM7QUFDMUMsMkNBQTBDO0FBQzFDLHlDQUF3QztBQUN4QyxtQ0FBa0M7QUFDbEMsb0NBQXlDO0FBa0R6Qzs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQWEsY0FBZSxTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBS3RELFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBWTs7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVoQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUE7UUFDbEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQTtRQUNoRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQ3BDO1lBQ0UsT0FBTyxFQUFFLEtBQUs7WUFDZCxRQUFRLEVBQUUsWUFBWTtZQUN0QixZQUFZLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtTQUNyQyxFQUNELEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUNuQixDQUFBO1FBRUQsTUFBTSxlQUFlLEdBQ25CLE1BQUEsS0FBSyxDQUFDLGVBQWUsbUNBQ3JCLGlGQUFpRixDQUFBO1FBRW5GLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFBO1FBRWpELElBQUksTUFBTSxHQUEwQixTQUFTLENBQUE7UUFFN0MsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQ3BCLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFDdkMsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO2dCQUM1QixVQUFVLEVB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YyxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFBO1NBQzVEO1FBRUQsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDcEMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxhQUFhO1NBQzdCLENBQUMsQ0FBQTtRQUVGLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7Z0JBQ3BDLEtBQUssRUFBRSxNQUFNLENBQUMsVUFBVTthQUN6QixDQUFDLENBQUE7U0FDSDtRQUVELElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBQ25DLEtBQUssRUFBRSxNQUFNLENBQUMsT0FBTzthQUN0QixDQUFDLENBQUE7U0FDSDtJQUNILENBQUM7Q0FDRjtBQXZIRCx3Q0F1SEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcbmltcG9ydCAqIGFzIGVjciBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjclwiXG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIlxuaW1wb3J0ICogYXMgczMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiXG5pbXBvcnQgKiBhcyBjZGsgZnJvbSBcImF3cy1jZGstbGliXCJcbmltcG9ydCB7IGdldEdyaWlkQ2lSb2xlIH0gZnJvbSBcIi4uL2dyaWlkXCJcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIHRvIHVzZSBmb3IgdGhlIFMzIEJ1Y2tldC4gU2hvdWxkIGluY2x1ZGUgYm90aCBhY2NvdW50IGFuZCByZWdpb25cbiAgICogc28gdGhhdCBpdCB3aWxsIG5vdCBjb25mbGljdCB3aXRoIG90aGVyIGFjY291bnRzL3JlZ2lvbnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gYnVja2V0IHdpbGwgYmUgY3JlYXRlZFxuICAgKi9cbiAgYnVja2V0TmFtZT86IHN0cmluZ1xuICAvKipcbiAgICogVGhlIG5hbWUgdG8gdXNlIGZvciB0aGUgRUNSIFJlcG9zaXRvcnkuXG4gICAqL1xuICBlY3JSZXBvc2l0b3J5TmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgbGlmZWN5Y2xlIHJ1bGVzIHRvIGFwcGx5IHRvIGltYWdlcyBzdG9yZWQgaW4gdGhlIEVDUiByZXBvc2l0b3J5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEV4cGlyZSBpbWFnZXMgYWZ0ZXIgMTgwIGRheXNcbiAgICovXG4gIGVjclJlcG9zaXRvcnlMaWZlY3ljbGVSdWxlcz86IGVjci5MaWZlY3ljbGVSdWxlW11cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgSUFNIFJvbGUgdGhhdCB3aWxsIGJlIGdyYW50ZWQgcGVybWlzc2lvbiB0b1xuICAgKiBhc3N1bWUgdGhlIENJIHJvbGUuIFRoaXMgcm9sZSBtdXN0IGhhdmUgcGVybWlzc2lvbiB0byBhc3N1bWVcbiAgICogdGhlIENJIHJvbGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdXNlIExpZmxpZyBKZW5raW5zIHJvbGVcbiAgICovXG4gIGV4dGVybmFsUm9sZUFybj86IHN0cmluZ1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJvbGUgdGhhdCB3aWxsIGJlIGNyZWF0ZWQgdGhhdCB3aWxsIGJlIGFzc3VtZWRcbiAgICogZnJvbSB0aGUgQ0kgc3lzdGVtLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHJvbGUgd2lsbCBiZSBjcmVhdGVkXG4gICAqL1xuICBjaVJvbGVOYW1lPzogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgQVdTIEFjY291bnRzIHRoYXQgd2lsbCBiZSBncmFudGVkIHBlcm1pc3Npb24gdG8gcmVhZCBmcm9tXG4gICAqIHRoZSBhcnRpZmFjdCByZXBvcy5cbiAgICovXG4gIHRhcmdldEFjY291bnRJZHM6IHN0cmluZ1tdXG4gIC8qKlxuICAgKiBGbGFnIGlmIEdyaWlkIGlzIGJvb3RzdHJhcHBlZCBhbmQgdGhlIGFjY291bnQgdGhpcyBjb25zdHJ1Y3QgaXNcbiAgICogZGVwbG95ZWQgdG8gaXMgdGhlIGJ1aWxkIGFjY291bnQuIFdpbGwgYXR0YWNoIHBvbGljaWVzIGFuZFxuICAgKiByZWZlcmVuY2UgZXhpc3RpbmcgYXJ0aWZhY3RzIGFuZCByb2xlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGdyaWlkPzogYm9vbGVhblxufVxuXG4vKipcbiAqIEJ1aWxkIGFydGlmYWN0cy5cbiAqXG4gKiBUaGlzIGhvbGRzIGEgUzMgQnVja2V0LCBhIEVDUiBSZXBvc2l0b3J5IGFuZCByb2xlcyB0byBiZSB1c2VkXG4gKiBmcm9tIENJIHN5c3RlbSBmb3IgdXBsb2FkaW5nLlxuICpcbiAqIFRPRE86IEhvdyBjYW4gd2UgY2xlYW51cCBzdHVmZiB0aGF0IGdvZXMgaW50byB0aGlzIFMzIEJ1Y2tldCBhbmRcbiAqICBFQ1IgUmVwb3NpdG9yeT8gQ2FuIHdlIGV2ZXIgcmVsaWFibHkgY2xlYW51cD8gV2UgcHJvYmFibHkgbmVlZFxuICogIHNvbWUgc3RyYXRlZ3kgZm9yIGhvdyB3ZSBwdXQgc3R1ZmYgaGVyZSB0byBiZSBhYmxlIHRvIGRvIGl0LlxuICpcbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGNsYXNzIEJ1aWxkQXJ0aWZhY3RzIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICByZWFkb25seSBidWNrZXROYW1lOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgcmVhZG9ubHkgZWNyUmVwb3NpdG9yeUFybjogc3RyaW5nXG4gIHJlYWRvbmx5IGVjclJlcG9zaXRvcnlOYW1lOiBzdHJpbmdcblxuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIHRoaXMuYnVja2V0TmFtZSA9IHByb3BzLmJ1Y2tldE5hbWVcbiAgICB0aGlzLmVjclJlcG9zaXRvcnlOYW1lID0gcHJvcHMuZWNyUmVwb3NpdG9yeU5hbWVcbiAgICB0aGlzLmVjclJlcG9zaXRvcnlBcm4gPSBjZGsuQXJuLmZvcm1hdChcbiAgICAgIHtcbiAgICAgICAgc2VydmljZTogXCJlY3JcIixcbiAgICAgICAgcmVzb3VyY2U6IFwicmVwb3NpdG9yeVwiLFxuICAgICAgICByZXNvdXJjZU5hbWU6IHRoaXMuZWNyUmVwb3NpdG9yeU5hbWUsXG4gICAgICB9LFxuICAgICAgY2RrLlN0YWNrLm9mKHRoaXMpLFxuICAgIClcblxuICAgIGNvbnN0IGV4dGVybmFsUm9sZUFybiA9XG4gICAgICBwcm9wcy5leHRlcm5hbFJvbGVBcm4gPz9cbiAgICAgIFwiYXJuOmF3czppYW06OjkyMzQwMjA5NzA0Njpyb2xlL2J1aWxkdG9vbHMtamVua2lucy1Sb2xlSmVua2luc1NsYXZlLUpRR1lIUjVXRTZDNVwiXG5cbiAgICBjb25zdCBlY3JSZXBvc2l0b3J5TmFtZSA9IHByb3BzLmVjclJlcG9zaXRvcnlOYW1lXG5cbiAgICBsZXQgYnVja2V0OiBzMy5CdWNrZXQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWRcblxuICAgIGlmIChwcm9wcy5idWNrZXROYW1lKSB7XG4gICAgICBidWNrZXQgPSBuZXcgczMuQnVja2V0KHRoaXMsIFwiUzNCdWNrZXRcIiwge1xuICAgICAgICBidWNrZXROYW1lOiBwcm9wcy5idWNrZXROYW1lLFxuICAgICAgICBlbmNyeXB0aW9uOiBzMy5CdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG4gICAgICAgIGJsb2NrUHVibGljQWNjZXNzOiBzMy5CbG9ja1B1YmxpY0FjY2Vzcy5CTE9DS19BTEwsXG4gICAgICAgIHZlcnNpb25lZDogdHJ1ZSxcbiAgICAgICAgbGlmZWN5Y2xlUnVsZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBub25jdXJyZW50VmVyc2lvbkV4cGlyYXRpb246IGNkay5EdXJhdGlvbi5kYXlzKDEwKSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBjb25zdCBjaVJvbGU6IGlhbS5Sb2xlIHwgdW5kZWZpbmVkID0gcHJvcHMuY2lSb2xlTmFtZVxuICAgICAgPyBuZXcgaWFtLlJvbGUodGhpcywgXCJDaVJvbGVcIiwge1xuICAgICAgICAgIHJvbGVOYW1lOiBwcm9wcy5jaVJvbGVOYW1lLFxuICAgICAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5Bcm5QcmluY2lwYWwoZXh0ZXJuYWxSb2xlQXJuKSxcbiAgICAgICAgfSlcbiAgICAgIDogdW5kZWZpbmVkXG5cbiAgICBjb25zdCBncmlpZENpUm9sZTogaWFtLklSb2xlIHwgdW5kZWZpbmVkID0gcHJvcHMuZ3JpaWRcbiAgICAgID8gZ2V0R3JpaWRDaVJvbGUodGhpcylcbiAgICAgIDogdW5kZWZpbmVkXG5cbiAgICBpZiAoYnVja2V0ICYmIGNpUm9sZSkge1xuICAgICAgYnVja2V0LmdyYW50UmVhZFdyaXRlKGNpUm9sZSlcbiAgICB9XG5cbiAgICBpZiAoYnVja2V0ICYmIGdyaWlkQ2lSb2xlKSB7XG4gICAgICBidWNrZXQuZ3JhbnRSZWFkV3JpdGUoZ3JpaWRDaVJvbGUpXG4gICAgfVxuXG4gICAgY29uc3QgZWNyUmVwbyA9IG5ldyBlY3IuUmVwb3NpdG9yeSh0aGlzLCBcIkVjclJlcG9zaXRvcnlcIiwge1xuICAgICAgcmVwb3NpdG9yeU5hbWU6IGVjclJlcG9zaXRvcnlOYW1lLFxuICAgICAgbGlmZWN5Y2xlUnVsZXM6IHByb3BzLmVjclJlcG9zaXRvcnlMaWZlY3ljbGVSdWxlcyB8fCBbXG4gICAgICAgIHtcbiAgICAgICAgICBtYXhJbWFnZUFnZTogY2RrLkR1cmF0aW9uLmRheXMoMTgwKSxcbiAgICAgICAgICB0YWdTdGF0dXM6IGVjci5UYWdTdGF0dXMuQU5ZLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KVxuXG4gICAgaWYgKGNpUm9sZSkge1xuICAgICAgZWNyUmVwby5ncmFudFB1bGxQdXNoKGNpUm9sZSlcbiAgICB9XG5cbiAgICBpZiAoZ3JpaWRDaVJvbGUpIHtcbiAgICAgIGVjclJlcG8uZ3JhbnRQdWxsUHVzaChncmlpZENpUm9sZSlcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBhIHRhcmdldCB0byByZWFkIGZyb20gdGhlIHJlcG9zLiBBcyBhbnkgc3BlY2lmaWMgcm9sZXMgbmVlZFxuICAgIC8vIHRvIGV4aXN0IGJlZm9yZSB3ZSBjYW4gZ3JhbnQgYWNjZXNzLCB3ZSBkZWxlZ2F0ZSB0aGF0IHJlc3BvbnNpYmlsaXR5XG4gICAgLy8gdG8gdGhlIHRhcmdldCBhY2NvdW50LlxuICAgIGZvciAoY29uc3QgdGFyZ2V0QWNjb3VudElkIG9mIHByb3BzLnRhcmdldEFjY291bnRJZHMpIHtcbiAgICAgIGlmIChidWNrZXQpIHtcbiAgICAgICAgYnVja2V0LmdyYW50UmVhZChuZXcgaWFtLkFjY291bnRQcmluY2lwYWwodGFyZ2V0QWNjb3VudElkKSlcbiAgICAgIH1cbiAgICAgIGVjclJlcG8uZ3JhbnRQdWxsKG5ldyBpYW0uQWNjb3VudFByaW5jaXBhbCh0YXJnZXRBY2NvdW50SWQpKVxuICAgIH1cblxuICAgIC8vIEdyYW50IHBlcm1pc3Npb25zIHRvIHdyaXRlIHBpcGVsaW5lIHZhcmlhYmxlcy5cbiAgICBpZiAoY2lSb2xlIHx8IGdyaWlkQ2lSb2xlKSB7XG4gICAgICBjb25zdCBhY2NvdW50ID0gY2RrLlN0YWNrLm9mKHRoaXMpLmFjY291bnRcbiAgICAgIGNvbnN0IHJlZ2lvbiA9IGNkay5TdGFjay5vZih0aGlzKS5yZWdpb25cbiAgICAgIGNvbnN0IHN0YXRlbWVudCA9IG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogW1wic3NtOlB1dFBhcmFtZXRlclwiXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgYGFybjphd3M6c3NtOiR7cmVnaW9ufToke2FjY291bnR9OnBhcmFtZXRlci9saWZsaWctY2RrLyovcGlwZWxpbmUtdmFyaWFibGVzLypgLFxuICAgICAgICBdLFxuICAgICAgfSlcblxuICAgICAgY2lSb2xlPy5ncmFudFByaW5jaXBhbC5hZGRUb1ByaW5jaXBhbFBvbGljeShzdGF0ZW1lbnQpXG4gICAgICBncmlpZENpUm9sZT8uZ3JhbnRQcmluY2lwYWwuYWRkVG9QcmluY2lwYWxQb2xpY3koc3RhdGVtZW50KVxuICAgIH1cblxuICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsIFwiRWNyUmVwb1VyaVwiLCB7XG4gICAgICB2YWx1ZTogZWNyUmVwby5yZXBvc2l0b3J5VXJpLFxuICAgIH0pXG5cbiAgICBpZiAoYnVja2V0KSB7XG4gICAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCBcIkJ1Y2tldE5hbWVcIiwge1xuICAgICAgICB2YWx1ZTogYnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChjaVJvbGUpIHtcbiAgICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsIFwiQ2lSb2xlQXJuXCIsIHtcbiAgICAgICAgdmFsdWU6IGNpUm9sZS5yb2xlQXJuLFxuICAgICAgfSlcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGQtYXJ0aWZhY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUF3QztBQUN4QywyQ0FBMEM7QUFDMUMsMkNBQTBDO0FBQzFDLHlDQUF3QztBQUN4QyxtQ0FBa0M7QUFDbEMsb0NBQXlDO0FBa0R6Qzs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQWEsY0FBZSxTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBS3RELFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBWTs7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVoQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUE7UUFDbEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQTtRQUNoRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQ3BDO1lBQ0UsT0FBTyxFQUFFLEtBQUs7WUFDZCxRQUFRLEVBQUUsWUFBWTtZQUN0QixZQUFZLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtTQUNyQyxFQUNELEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUNuQixDQUFBO1FBRUQsTUFBTSxlQUFlLEdBQ25CLE1BQUEsS0FBSyxDQUFDLGVBQWUsbUNBQ3JCLGlGQUFpRixDQUFBO1FBRW5GLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFBO1FBRWpELElBQUksTUFBTSxHQUEwQixTQUFTLENBQUE7UUFFN0MsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQ3BCLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFDdkMsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO2dCQUM1QixVQUFVLEVB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V0FBVyx1QkFBWCxXQUFXLENBQUUsY0FBYyxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFBO1NBQzVEO1FBRUQsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDcEMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxhQUFhO1NBQzdCLENBQUMsQ0FBQTtRQUVGLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7Z0JBQ3BDLEtBQUssRUFBRSxNQUFNLENBQUMsVUFBVTthQUN6QixDQUFDLENBQUE7U0FDSDtRQUVELElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBQ25DLEtBQUssRUFBRSxNQUFNLENBQUMsT0FBTzthQUN0QixDQUFDLENBQUE7U0FDSDtJQUNILENBQUM7Q0FDRjtBQXhIRCx3Q0F3SEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcbmltcG9ydCAqIGFzIGVjciBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjclwiXG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIlxuaW1wb3J0ICogYXMgczMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiXG5pbXBvcnQgKiBhcyBjZGsgZnJvbSBcImF3cy1jZGstbGliXCJcbmltcG9ydCB7IGdldEdyaWlkQ2lSb2xlIH0gZnJvbSBcIi4uL2dyaWlkXCJcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIHRvIHVzZSBmb3IgdGhlIFMzIEJ1Y2tldC4gU2hvdWxkIGluY2x1ZGUgYm90aCBhY2NvdW50IGFuZCByZWdpb25cbiAgICogc28gdGhhdCBpdCB3aWxsIG5vdCBjb25mbGljdCB3aXRoIG90aGVyIGFjY291bnRzL3JlZ2lvbnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gYnVja2V0IHdpbGwgYmUgY3JlYXRlZFxuICAgKi9cbiAgYnVja2V0TmFtZT86IHN0cmluZ1xuICAvKipcbiAgICogVGhlIG5hbWUgdG8gdXNlIGZvciB0aGUgRUNSIFJlcG9zaXRvcnkuXG4gICAqL1xuICBlY3JSZXBvc2l0b3J5TmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgbGlmZWN5Y2xlIHJ1bGVzIHRvIGFwcGx5IHRvIGltYWdlcyBzdG9yZWQgaW4gdGhlIEVDUiByZXBvc2l0b3J5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEV4cGlyZSBpbWFnZXMgYWZ0ZXIgMTgwIGRheXNcbiAgICovXG4gIGVjclJlcG9zaXRvcnlMaWZlY3ljbGVSdWxlcz86IGVjci5MaWZlY3ljbGVSdWxlW11cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgSUFNIFJvbGUgdGhhdCB3aWxsIGJlIGdyYW50ZWQgcGVybWlzc2lvbiB0b1xuICAgKiBhc3N1bWUgdGhlIENJIHJvbGUuIFRoaXMgcm9sZSBtdXN0IGhhdmUgcGVybWlzc2lvbiB0byBhc3N1bWVcbiAgICogdGhlIENJIHJvbGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdXNlIExpZmxpZyBKZW5raW5zIHJvbGVcbiAgICovXG4gIGV4dGVybmFsUm9sZUFybj86IHN0cmluZ1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJvbGUgdGhhdCB3aWxsIGJlIGNyZWF0ZWQgdGhhdCB3aWxsIGJlIGFzc3VtZWRcbiAgICogZnJvbSB0aGUgQ0kgc3lzdGVtLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHJvbGUgd2lsbCBiZSBjcmVhdGVkXG4gICAqL1xuICBjaVJvbGVOYW1lPzogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgQVdTIEFjY291bnRzIHRoYXQgd2lsbCBiZSBncmFudGVkIHBlcm1pc3Npb24gdG8gcmVhZCBmcm9tXG4gICAqIHRoZSBhcnRpZmFjdCByZXBvcy5cbiAgICovXG4gIHRhcmdldEFjY291bnRJZHM6IHN0cmluZ1tdXG4gIC8qKlxuICAgKiBGbGFnIGlmIEdyaWlkIGlzIGJvb3RzdHJhcHBlZCBhbmQgdGhlIGFjY291bnQgdGhpcyBjb25zdHJ1Y3QgaXNcbiAgICogZGVwbG95ZWQgdG8gaXMgdGhlIGJ1aWxkIGFjY291bnQuIFdpbGwgYXR0YWNoIHBvbGljaWVzIGFuZFxuICAgKiByZWZlcmVuY2UgZXhpc3RpbmcgYXJ0aWZhY3RzIGFuZCByb2xlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGdyaWlkPzogYm9vbGVhblxufVxuXG4vKipcbiAqIEJ1aWxkIGFydGlmYWN0cy5cbiAqXG4gKiBUaGlzIGhvbGRzIGEgUzMgQnVja2V0LCBhIEVDUiBSZXBvc2l0b3J5IGFuZCByb2xlcyB0byBiZSB1c2VkXG4gKiBmcm9tIENJIHN5c3RlbSBmb3IgdXBsb2FkaW5nLlxuICpcbiAqIFRPRE86IEhvdyBjYW4gd2UgY2xlYW51cCBzdHVmZiB0aGF0IGdvZXMgaW50byB0aGlzIFMzIEJ1Y2tldCBhbmRcbiAqICBFQ1IgUmVwb3NpdG9yeT8gQ2FuIHdlIGV2ZXIgcmVsaWFibHkgY2xlYW51cD8gV2UgcHJvYmFibHkgbmVlZFxuICogIHNvbWUgc3RyYXRlZ3kgZm9yIGhvdyB3ZSBwdXQgc3R1ZmYgaGVyZSB0byBiZSBhYmxlIHRvIGRvIGl0LlxuICpcbiAqIEBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGNsYXNzIEJ1aWxkQXJ0aWZhY3RzIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICByZWFkb25seSBidWNrZXROYW1lOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgcmVhZG9ubHkgZWNyUmVwb3NpdG9yeUFybjogc3RyaW5nXG4gIHJlYWRvbmx5IGVjclJlcG9zaXRvcnlOYW1lOiBzdHJpbmdcblxuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIHRoaXMuYnVja2V0TmFtZSA9IHByb3BzLmJ1Y2tldE5hbWVcbiAgICB0aGlzLmVjclJlcG9zaXRvcnlOYW1lID0gcHJvcHMuZWNyUmVwb3NpdG9yeU5hbWVcbiAgICB0aGlzLmVjclJlcG9zaXRvcnlBcm4gPSBjZGsuQXJuLmZvcm1hdChcbiAgICAgIHtcbiAgICAgICAgc2VydmljZTogXCJlY3JcIixcbiAgICAgICAgcmVzb3VyY2U6IFwicmVwb3NpdG9yeVwiLFxuICAgICAgICByZXNvdXJjZU5hbWU6IHRoaXMuZWNyUmVwb3NpdG9yeU5hbWUsXG4gICAgICB9LFxuICAgICAgY2RrLlN0YWNrLm9mKHRoaXMpLFxuICAgIClcblxuICAgIGNvbnN0IGV4dGVybmFsUm9sZUFybiA9XG4gICAgICBwcm9wcy5leHRlcm5hbFJvbGVBcm4gPz9cbiAgICAgIFwiYXJuOmF3czppYW06OjkyMzQwMjA5NzA0Njpyb2xlL2J1aWxkdG9vbHMtamVua2lucy1Sb2xlSmVua2luc1NsYXZlLUpRR1lIUjVXRTZDNVwiXG5cbiAgICBjb25zdCBlY3JSZXBvc2l0b3J5TmFtZSA9IHByb3BzLmVjclJlcG9zaXRvcnlOYW1lXG5cbiAgICBsZXQgYnVja2V0OiBzMy5CdWNrZXQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWRcblxuICAgIGlmIChwcm9wcy5idWNrZXROYW1lKSB7XG4gICAgICBidWNrZXQgPSBuZXcgczMuQnVja2V0KHRoaXMsIFwiUzNCdWNrZXRcIiwge1xuICAgICAgICBidWNrZXROYW1lOiBwcm9wcy5idWNrZXROYW1lLFxuICAgICAgICBlbmNyeXB0aW9uOiBzMy5CdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG4gICAgICAgIGV2ZW50QnJpZGdlRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgYmxvY2tQdWJsaWNBY2Nlc3M6IHMzLkJsb2NrUHVibGljQWNjZXNzLkJMT0NLX0FMTCxcbiAgICAgICAgdmVyc2lvbmVkOiB0cnVlLFxuICAgICAgICBsaWZlY3ljbGVSdWxlczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5vbmN1cnJlbnRWZXJzaW9uRXhwaXJhdGlvbjogY2RrLkR1cmF0aW9uLmRheXMoMTApLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KVxuICAgIH1cblxuICAgIGNvbnN0IGNpUm9sZTogaWFtLlJvbGUgfCB1bmRlZmluZWQgPSBwcm9wcy5jaVJvbGVOYW1lXG4gICAgICA/IG5ldyBpYW0uUm9sZSh0aGlzLCBcIkNpUm9sZVwiLCB7XG4gICAgICAgICAgcm9sZU5hbWU6IHByb3BzLmNpUm9sZU5hbWUsXG4gICAgICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLkFyblByaW5jaXBhbChleHRlcm5hbFJvbGVBcm4pLFxuICAgICAgICB9KVxuICAgICAgOiB1bmRlZmluZWRcblxuICAgIGNvbnN0IGdyaWlkQ2lSb2xlOiBpYW0uSVJvbGUgfCB1bmRlZmluZWQgPSBwcm9wcy5ncmlpZFxuICAgICAgPyBnZXRHcmlpZENpUm9sZSh0aGlzKVxuICAgICAgOiB1bmRlZmluZWRcblxuICAgIGlmIChidWNrZXQgJiYgY2lSb2xlKSB7XG4gICAgICBidWNrZXQuZ3JhbnRSZWFkV3JpdGUoY2lSb2xlKVxuICAgIH1cblxuICAgIGlmIChidWNrZXQgJiYgZ3JpaWRDaVJvbGUpIHtcbiAgICAgIGJ1Y2tldC5ncmFudFJlYWRXcml0ZShncmlpZENpUm9sZSlcbiAgICB9XG5cbiAgICBjb25zdCBlY3JSZXBvID0gbmV3IGVjci5SZXBvc2l0b3J5KHRoaXMsIFwiRWNyUmVwb3NpdG9yeVwiLCB7XG4gICAgICByZXBvc2l0b3J5TmFtZTogZWNyUmVwb3NpdG9yeU5hbWUsXG4gICAgICBsaWZlY3ljbGVSdWxlczogcHJvcHMuZWNyUmVwb3NpdG9yeUxpZmVjeWNsZVJ1bGVzIHx8IFtcbiAgICAgICAge1xuICAgICAgICAgIG1heEltYWdlQWdlOiBjZGsuRHVyYXRpb24uZGF5cygxODApLFxuICAgICAgICAgIHRhZ1N0YXR1czogZWNyLlRhZ1N0YXR1cy5BTlksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pXG5cbiAgICBpZiAoY2lSb2xlKSB7XG4gICAgICBlY3JSZXBvLmdyYW50UHVsbFB1c2goY2lSb2xlKVxuICAgIH1cblxuICAgIGlmIChncmlpZENpUm9sZSkge1xuICAgICAgZWNyUmVwby5ncmFudFB1bGxQdXNoKGdyaWlkQ2lSb2xlKVxuICAgIH1cblxuICAgIC8vIEFsbG93IGEgdGFyZ2V0IHRvIHJlYWQgZnJvbSB0aGUgcmVwb3MuIEFzIGFueSBzcGVjaWZpYyByb2xlcyBuZWVkXG4gICAgLy8gdG8gZXhpc3QgYmVmb3JlIHdlIGNhbiBncmFudCBhY2Nlc3MsIHdlIGRlbGVnYXRlIHRoYXQgcmVzcG9uc2liaWxpdHlcbiAgICAvLyB0byB0aGUgdGFyZ2V0IGFjY291bnQuXG4gICAgZm9yIChjb25zdCB0YXJnZXRBY2NvdW50SWQgb2YgcHJvcHMudGFyZ2V0QWNjb3VudElkcykge1xuICAgICAgaWYgKGJ1Y2tldCkge1xuICAgICAgICBidWNrZXQuZ3JhbnRSZWFkKG5ldyBpYW0uQWNjb3VudFByaW5jaXBhbCh0YXJnZXRBY2NvdW50SWQpKVxuICAgICAgfVxuICAgICAgZWNyUmVwby5ncmFudFB1bGwobmV3IGlhbS5BY2NvdW50UHJpbmNpcGFsKHRhcmdldEFjY291bnRJZCkpXG4gICAgfVxuXG4gICAgLy8gR3JhbnQgcGVybWlzc2lvbnMgdG8gd3JpdGUgcGlwZWxpbmUgdmFyaWFibGVzLlxuICAgIGlmIChjaVJvbGUgfHwgZ3JpaWRDaVJvbGUpIHtcbiAgICAgIGNvbnN0IGFjY291bnQgPSBjZGsuU3RhY2sub2YodGhpcykuYWNjb3VudFxuICAgICAgY29uc3QgcmVnaW9uID0gY2RrLlN0YWNrLm9mKHRoaXMpLnJlZ2lvblxuICAgICAgY29uc3Qgc3RhdGVtZW50ID0gbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXCJzc206UHV0UGFyYW1ldGVyXCJdLFxuICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICBgYXJuOmF3czpzc206JHtyZWdpb259OiR7YWNjb3VudH06cGFyYW1ldGVyL2xpZmxpZy1jZGsvKi9waXBlbGluZS12YXJpYWJsZXMvKmAsXG4gICAgICAgIF0sXG4gICAgICB9KVxuXG4gICAgICBjaVJvbGU/LmdyYW50UHJpbmNpcGFsLmFkZFRvUHJpbmNpcGFsUG9saWN5KHN0YXRlbWVudClcbiAgICAgIGdyaWlkQ2lSb2xlPy5ncmFudFByaW5jaXBhbC5hZGRUb1ByaW5jaXBhbFBvbGljeShzdGF0ZW1lbnQpXG4gICAgfVxuXG4gICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgXCJFY3JSZXBvVXJpXCIsIHtcbiAgICAgIHZhbHVlOiBlY3JSZXBvLnJlcG9zaXRvcnlVcmksXG4gICAgfSlcblxuICAgIGlmIChidWNrZXQpIHtcbiAgICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsIFwiQnVja2V0TmFtZVwiLCB7XG4gICAgICAgIHZhbHVlOiBidWNrZXQuYnVja2V0TmFtZSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKGNpUm9sZSkge1xuICAgICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgXCJDaVJvbGVBcm5cIiwge1xuICAgICAgICB2YWx1ZTogY2lSb2xlLnJvbGVBcm4sXG4gICAgICB9KVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -6,6 +6,8 @@ const codepipeline = require("aws-cdk-lib/aws-codepipeline");
|
|
|
6
6
|
const codepipelineActions = require("aws-cdk-lib/aws-codepipeline-actions");
|
|
7
7
|
const iam = require("aws-cdk-lib/aws-iam");
|
|
8
8
|
const lambda = require("aws-cdk-lib/aws-lambda");
|
|
9
|
+
const events = require("aws-cdk-lib/aws-events");
|
|
10
|
+
const targets = require("aws-cdk-lib/aws-events-targets");
|
|
9
11
|
const cdk = require("aws-cdk-lib");
|
|
10
12
|
const pipelines = require("aws-cdk-lib/pipelines");
|
|
11
13
|
const fs = require("fs");
|
|
@@ -97,6 +99,7 @@ class LifligCdkPipeline extends constructs.Construct {
|
|
|
97
99
|
new codepipelineActions.S3SourceAction({
|
|
98
100
|
actionName: "source",
|
|
99
101
|
bucket: artifactsBucket,
|
|
102
|
+
trigger: codepipelineActions.S3Trigger.NONE,
|
|
100
103
|
bucketKey: LifligCdkPipeline.pipelineS3TriggerKey(props.pipelineName),
|
|
101
104
|
output: dummyArtifact,
|
|
102
105
|
}),
|
|
@@ -106,8 +109,24 @@ class LifligCdkPipeline extends constructs.Construct {
|
|
|
106
109
|
],
|
|
107
110
|
restartExecutionOnUpdate: true,
|
|
108
111
|
});
|
|
112
|
+
new events.Rule(this, "PipelineTrigger", {
|
|
113
|
+
eventPattern: {
|
|
114
|
+
source: ["aws.s3"],
|
|
115
|
+
detailType: ["Object Created"],
|
|
116
|
+
detail: {
|
|
117
|
+
bucket: {
|
|
118
|
+
name: [artifactsBucket.bucketName],
|
|
119
|
+
},
|
|
120
|
+
object: {
|
|
121
|
+
key: [LifligCdkPipeline.pipelineS3TriggerKey(props.pipelineName)],
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
},
|
|
125
|
+
targets: [new targets.CodePipeline(this.codePipeline)],
|
|
126
|
+
});
|
|
109
127
|
this.cdkPipeline = new pipelines.CodePipeline(this, "CdkPipeline", {
|
|
110
128
|
synth,
|
|
129
|
+
useChangeSets: false,
|
|
111
130
|
codePipeline: this.codePipeline,
|
|
112
131
|
});
|
|
113
132
|
}
|
|
@@ -207,4 +226,4 @@ class LifligCdkPipeline extends constructs.Construct {
|
|
|
207
226
|
}
|
|
208
227
|
}
|
|
209
228
|
exports.LifligCdkPipeline = LifligCdkPipeline;
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlmbGlnLWNkay1waXBlbGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGstcGlwZWxpbmVzL2xpZmxpZy1jZGstcGlwZWxpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQXdDO0FBQ3hDLDZEQUE0RDtBQUM1RCw0RUFBMkU7QUFDM0UsMkNBQTBDO0FBQzFDLGlEQUFnRDtBQUVoRCxtQ0FBa0M7QUFDbEMsbURBQWtEO0FBQ2xELHlCQUF3QjtBQUN4Qiw2QkFBNEI7QUFDNUIsOERBQWlFO0FBQ2pFLG1GQUd3QztBQUN4Qyw2REFBZ0Y7QUErQ2hGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Q0c7QUFDSCxNQUFhLGlCQUFrQixTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBQ3pEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFlBQW9CO1FBQzFDLE9BQU8sYUFBYSxZQUFZLEdBQUcsQ0FBQTtJQUNyQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxZQUFvQjtRQUM5QyxPQUFPLGFBQWEsWUFBWSxVQUFVLENBQUE7SUFDNUMsQ0FBQztJQUtELFlBQ0UsS0FBMkIsRUFDM0IsRUFBVSxFQUNWLEtBQTZCOztRQUU3QixLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRWhCLE1BQU0sZUFBZSxHQUNuQixNQUFBLEtBQUssQ0FBQyxlQUFlLG1DQUFJLElBQUEsd0NBQXNCLEVBQUMsSUFBSSxDQUFDLENBQUE7UUFFdkQsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUV6RCxJQUFJLEtBQWlDLENBQUE7UUFDckMsSUFBSSxNQUFpQyxDQUFBO1FBRXJDLFFBQVEsS0FBSyxDQUFDLFVBQVUsRUFBRTtZQUN4QixLQUFLLGdCQUFnQjtnQkFDbkIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUMzQyxxQkFBcUIsRUFDckIsZUFBZSxFQUNmLEtBQUssQ0FBQyxZQUFZLENBQ25CLENBQUE7Z0JBQ0QsS0FBSyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUE7Z0JBQzNCLE1BQU0sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFBO2dCQUM3QixNQUFLO1lBQ1AsS0FBSyxZQUFZO2dCQUNmLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQ25DLHFCQUFxQixFQUNyQixlQUFlLEVBQ2YsS0FBSyxDQUFDLFlBQVksRUFDbEIsTUFBQSxLQUFLLENBQUMsbUJBQW1CLG1DQUFJLFNBQVMsQ0FDdkMsQ0FBQTtnQkFDRCxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQTtnQkFDdkIsTUFBTSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUE7Z0JBQ3pCLE1BQUs7U0FDUjtRQUVELE1BQU0sYUFBYSxHQUFHLElBQUksWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBRWpELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDbEUsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ2hDLE1BQU0sRUFBRTtnQkFDTjtvQkFDRSxTQUFTLEVBQUUsUUFBUTtvQkFDbkIsT0FBTyxFQUFFO3dCQUNQLElBQUksbUJBQW1CLENBQUMsY0FBYyxDQUFDOzRCQUNyQyxVQUFVLEVBQUUsUUFBUTs0QkFDcEIsTUFBTSxFQUFFLGVBQWU7NEJBQ3ZCLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FDL0MsS0FBSyxDQUFDLFlBQVksQ0FDbkI7NEJBQ0QsTUFBTSxFQUFFLGFBQWE7eUJBQ3RCLENBQUM7cUJBQ0g7aUJBQ0Y7Z0JBQ0QsR0FBRyxNQUFNO2FBQ1Y7WUFDRCx3QkFBd0IsRUFBRSxJQUFJO1NBQy9CLENBQUMsQ0FBQTtRQUVGLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUU7WUFDakUsS0FBSztZQUNMLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtTQUNoQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRU8sTUFBTSxDQUFDLHdCQUF3QjtRQUNyQyx5REFBeUQ7UUFDekQsTUFBTSxVQUFVLEdBQUc7WUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsbUNBQW1DLENBQUM7WUFDN0QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsc0NBQXNDLENBQUM7WUFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUseUNBQXlDLENBQUM7WUFDbkUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsNENBQTRDLENBQUM7U0FDdkUsQ0FBQTtRQUVELEtBQUssTUFBTSxTQUFTLElBQUksVUFBVSxFQUFFO1lBQ2xDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDNUIsT0FBTyxTQUFTLENBQUE7YUFDakI7U0FDRjtRQUVELE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUM7SUFFTyxrQkFBa0IsQ0FDeEIscUJBQTRDLEVBQzVDLFNBQXFCLEVBQ3JCLFlBQW9CO1FBRXBCLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUMvQyxJQUFJLEVBQ0osdUJBQXVCLEVBQ3ZCO1lBQ0UsSUFBSSxFQUFFLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FDekIscUJBQXFCLDBEQUEwQixDQUFDLFFBQVEsRUFBRSxHQUFHLENBQzlEO1lBQ0QsT0FBTyxFQUFFLGVBQWU7WUFDeEIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVztZQUNuQyxPQUFPLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLFVBQVUsRUFBRSxHQUFHO1NBQ2hCLENBQ0YsQ0FBQTtRQUVELFNBQVMsQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsQ0FBQTtRQUUvQyxNQUFNLGNBQWMsR0FBc0M7WUFDeEQsVUFBVSxFQUFFLFNBQVMsQ0FBQyxVQUFVO1lBQ2hDLFNBQVMsRUFBRSxhQUFhLFlBQVksc0JBQXNCO1NBQzNELENBQUE7UUFFRCxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUN0RCxxQkFBcUIsQ0FDdEIsQ0FBQTtRQUVELE1BQU0sTUFBTSxHQUFHO1lBQ2I7Z0JBQ0UsU0FBUyxFQUFFLHNCQUFzQjtnQkFDakMsT0FBTyxFQUFFO29CQUNQLElBQUksbUJBQW1CLENBQUMsa0JBQWtCLENBQUM7d0JBQ3pDLFVBQVUsRUFBRSx1QkFBdUI7d0JBQ25DLE1BQU0sRUFBRSxxQkFBcUI7d0JBQzdCLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO3dCQUNoQyxjQUFjO3FCQUNmLENBQUM7aUJBQ0g7YUFDRjtTQUNGLENBQUE7UUFDRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFBO0lBQzFCLENBQUM7SUFFTyxjQUFjLENBQ3BCLHFCQUE0QyxFQUM1QyxTQUFxQixFQUNyQixZQUFvQixFQUNwQixtQkFBMkI7UUFFM0IsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLG9CQUFvQixFQUFFO1lBQ3pFLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsd0NBQXdDLENBQUMsQ0FDL0Q7WUFDRCxPQUFPLEVBQUUsZUFBZTtZQUN4QiwrREFBK0Q7WUFDL0QsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVTtZQUNsQyxPQUFPLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLFVBQVUsRUFBRSxHQUFHO1NBQ2hCLENBQUMsQ0FBQTtRQUVGLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQTtRQUMxQyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUE7UUFFeEMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUNwRCxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7WUFDdEIsT0FBTyxFQUFFLENBQUMseUJBQXlCLENBQUM7WUFDcEMsU0FBUyxFQUFFO2dCQUNULGVBQWUsTUFBTSxJQUFJLE9BQU8sOENBQThDO2FBQy9FO1NBQ0YsQ0FBQyxDQUNILENBQUE7UUFFRCxTQUFTLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLENBQUE7UUFFNUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUVyRCxNQUFNLGNBQWMsR0FBbUM7WUFDckQsVUFBVSxFQUFFLFNBQVMsQ0FBQyxVQUFVO1lBQ2hDLE1BQU0sRUFBRSxhQUFhLFlBQVksR0FBRztZQUNwQyxtQkFBbUIsRUFBRSxtQkFBbUI7U0FDekMsQ0FBQTtRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksU0FBUyxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsRUFBRTtZQUM3RCxLQUFLLEVBQUUsU0FBUyxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQztZQUNwRSxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFDM0IsUUFBUSxFQUFFLENBQUMsZUFBZSxDQUFDO1NBQzVCLENBQUMsQ0FBQTtRQUNGLE1BQU0sTUFBTSxHQUFHO1lBQ2I7Z0JBQ0UsU0FBUyxFQUFFLGtCQUFrQjtnQkFDN0IsT0FBTyxFQUFFO29CQUNQLElBQUksbUJBQW1CLENBQUMsa0JBQWtCLENBQUM7d0JBQ3pDLFVBQVUsRUFBRSxvQkFBb0I7d0JBQ2hDLE1BQU0sRUFBRSxrQkFBa0I7d0JBQzFCLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO3dCQUM1QixjQUFjO3FCQUNmLENBQUM7aUJBQ0g7YUFDRjtTQUNGLENBQUE7UUFDRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFBO0lBQzFCLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxLQUErQztRQUNsRSxJQUFJLHNDQUFpQixDQUFDLElBQUksRUFBRSxPQUFPLEVBQUU7WUFDbkMsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQzNCLEdBQUcsS0FBSztTQUNULENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRjtBQXhORCw4Q0F3TkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcbmltcG9ydCAqIGFzIGNvZGVwaXBlbGluZSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVwaXBlbGluZVwiXG5pbXBvcnQgKiBhcyBjb2RlcGlwZWxpbmVBY3Rpb25zIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lLWFjdGlvbnNcIlxuaW1wb3J0ICogYXMgaWFtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCJcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiXG5pbXBvcnQgKiBhcyBzMyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCJcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0ICogYXMgcGlwZWxpbmVzIGZyb20gXCJhd3MtY2RrLWxpYi9waXBlbGluZXNcIlxuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCJcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIlxuaW1wb3J0IHsgZ2V0R3JpaWRBcnRlZmFjdEJ1Y2tldCB9IGZyb20gXCIuLi9ncmlpZC9hcnRlZmFjdC1idWNrZXRcIlxuaW1wb3J0IHtcbiAgY2xvdWRBc3NlbWJseUxvb2t1cEhhbmRsZXIsXG4gIENsb3VkQXNzZW1ibHlMb29rdXBVc2VyUGFyYW1ldGVycyxcbn0gZnJvbSBcIi4vY2xvdWQtYXNzZW1ibHktbG9va3VwLWhhbmRsZXJcIlxuaW1wb3J0IHsgU2xhY2tOb3RpZmljYXRpb24sIFNsYWNrTm90aWZpY2F0aW9uUHJvcHMgfSBmcm9tIFwiLi9zbGFjay1ub3RpZmljYXRpb25cIlxuXG5leHBvcnQgaW50ZXJmYWNlIExpZmxpZ0Nka1BpcGVsaW5lUHJvcHMge1xuICAvKipcbiAgICogQnVja2V0IGhvbGRpbmcgcGlwZWxpbmUgY29uZmlndXJhdGlvbiBhbmQgdHJpZ2dlciBmaWxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVzZSBleGlzdGluZyBidWNrZXQgYmFzZWQgb24gR3JpaWQgY29udmVudGlvbnNcbiAgICovXG4gIGFydGlmYWN0c0J1Y2tldD86IHMzLklCdWNrZXRcbiAgLyoqXG4gICAqIE5hbWUgb2YgcGlwZWxpbmUuIFRoaXMgaXMgdXNlZCBmb3IgdGhlIHBhdGggd2hlcmUgY29uZmlndXJhdGlvblxuICAgKiBpcyBzdG9yZWQgaW4gUzMuXG4gICAqL1xuICBwaXBlbGluZU5hbWU6IHN0cmluZ1xuICAvKipcbiAgICogVHlwZSBvZiB1cGxvYWRlZCBhcnRpZmFjdC4gVGhpcyBjaGFuZ2VzIHRoZSBiZWhhdmlvdXIgb2YgdGhlXG4gICAqIHBpcGVsaW5lIGFuZCB3aGF0IGtpbmQgb2YgcHJvY2VzcyBpdCBwZXJmb3Jtcy5cbiAgICpcbiAgICogVHdvIHR5cGVzIGFyZSBzdXBwb3J0ZWQ6XG4gICAqXG4gICAqICAgLSBjZGstc291cmNlOiBUaGUgdXBsb2FkZWQgYXJ0aWZhY3QgcmVwcmVzZW50cyBhIENESyBhcHBsaWNhdGlvblxuICAgKiAgICAgYXMgc291cmNlIGNvZGUuIEEgYnVpbGQgc3RlcCB3aWxsIGNvbXBpbGUgdGhpcyBpbnRvIGFcbiAgICogICAgIENESyBDbG91ZCBBc3NlbWJseS5cbiAgICpcbiAgICogICAgIEFzIHBhcnQgb2Ygc3ludGhlc2l6aW5nIHRoaXMgaW50byBhIENESyBDbG91ZCBBc3NlbWJseSxcbiAgICogICAgIGEgZmlsZSBcInZhcmlhYmxlcy5qc29uXCIgd2lsbCBiZSB3cml0dGVuIGZvciB0aGVcbiAgICogICAgIENESyBhcHBsaWNhdGlvbiB0byBwYXJhbWV0ZXJpemUgdGhlIGJ1aWxkIGlmIGFueVxuICAgKiAgICAgdmFyaWFibGVzIGFyZSBmb3VuZCBpbiB0aGUgcGlwZWxpbmUgc291cmNlLlxuICAgKlxuICAgKiAgIC0gY2xvdWQtYXNzZW1ibHk6IFRoZSB1cGxvYWRlZCBhcnRpZmFjdCByZXByZXNlbnRzIGFcbiAgICogICAgIENESyBDbG91ZCBBc3NlbWJseSB3aGljaCBpcyByZWFkeSBmb3IgZGVwbG95bWVudC5cbiAgICpcbiAgICogICAgIFRoaXMgZG9lcyBub3Qgc3VwcG9ydCByZWFkaW5nIHZhcmlhYmxlcyBhdCB0aGUgY3VycmVudCB0aW1lXG4gICAqICAgICBzaW5jZSBDREsgUGlwZWxpbmVzIGRvbid0IHN1cHBvcnQgcGFyYW1ldGVyaXplZCBkZXBsb3lzLlxuICAgKiAgICAgU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvOTU2MFxuICAgKi9cbiAgc291cmNlVHlwZTogXCJjZGstc291cmNlXCIgfCBcImNsb3VkLWFzc2VtYmx5XCJcbiAgLyoqXG4gICAqIFRoZSBuYW1lc3BhY2UgdXNlZCBmb3IgcGFyYW1ldGVycyBpbiBQYXJhbWV0ZXIgU3RvcmUuXG4gICAqXG4gICAqIE9ubHkgcmVsZXZhbnQgZm9yIHNvdXJjZVR5cGUgb2YgXCJjZGstc29ydWNlXCIuXG4gICAqXG4gICAqIEBkZWZhdWx0IGRlZmF1bHRcbiAgICovXG4gIHBhcmFtZXRlcnNOYW1lc3BhY2U/OiBzdHJpbmdcbn1cblxuLyoqXG4gKiBDREsgUGlwZWxpbmUgZm9yIExpZmxpZy5cbiAqXG4gKiBBdm9pZCBwdXR0aW5nIG11bHRpcGxlIHBpcGVsaW5lcyBpbiBhIHN0YWNrLCBzaW5jZSB0aGUgcGlwZWxpbmVcbiAqIHdpbGwgYWxzbyBrZWVwIHRoZSBob3N0aW5nIHN0YWNrIHVwLXRvLWRhdGUuXG4gKlxuICogVGhlIHBpcGVsaW5lIGlzIGV4ZWN1dGVkIGJ5IHdyaXRpbmcgYW4gZW1wdHkgZmlsZSB0b1xuICogczM6Ly88YXJ0aWZhY3RzLWJ1Y2tldD4vcGlwZWxpbmVzLzxwaXBlbGluZS1uYW1lPi90cmlnZ2VyXG4gKlxuICogQ29uZmlndXJhdGlvbiBmaWxlcyBhcmUgcmVhZCBmcm9tIFMzIGF0IHRoZSBwYXRoXG4gKiBzMzovLzxhcnRpZmFjdHMtYnVja2V0Pi9waXBlbGluZXMvPHBpcGVsaW5lLW5hbWU+L1xuICpcbiAqIEZvciB1cGxvYWQgdHlwZSBcImNkay1zb3VyY2VcIjpcbiAqXG4gKiAgIC0gY2RrLXNvdXJjZS5qc29uIGhvbGRpbmcgYSBwb2ludGVyIHRvIHRoZSBhY3RpdmUgQ0RLIHNvdXJjZVxuICogICAgIHRoYXQgc2hvdWxkIGJlIHVzZWQuIFNjaGVtYTpcbiAqXG4gKiAgICAge1xuICogICAgICAgYnVja2V0TmFtZTogc3RyaW5nXG4gKiAgICAgICBidWNrZXRLZXk6IHN0cmluZ1xuICogICAgIH1cbiAqXG4gKiAgIC0gdmFyaWFibGVzKi5qc29uIHdoaWNoIGNhbiBiZSB6ZXJvIG9yIG1vcmUgZmlsZXNcbiAqICAgICB3aXRoIHN0cmluZy1zdHJpbmcgbWFwIGhvbGRpbmcgdmFyaWFibGVzIHRoYXQgd2lsbFxuICogICAgIGJlIHdyaXR0ZW4gdG8gdmFyaWFibGVzLmpzb24gYW5kIGNhbiBiZSByZWFkIGJ5IHRoZVxuICogICAgIHRoZSBDREsgYXBwbGljYXRpb24gZHVyaW5nIHN5bnRoZXNpemUuXG4gKlxuICogRm9yIHVwbG9hZCB0eXBlIFwiY2xvdWQtYXNzZW1ibHlcIjpcbiAqXG4gKiAgIC0gY2xvdWQtYXNzZW1ibHkuanNvbiBob2xkaW5nIGEgcG9pbnRlciB0byB0aGUgYWN0aXZlXG4gKiAgICAgQ0RLIENsb3VkIEFzc2VtYmx5IHRoYXQgc2hvdWxkIGJlIHVzZWQ6IFNjaGVtYTpcbiAqXG4gKiAgICAge1xuICogICAgICAgY2xvdWRBc3NlbWJseUJ1Y2tldE5hbWU6IHN0cmluZ1xuICogICAgICAgY2xvdWRBc3NlbWJseUJ1Y2tldEtleTogc3RyaW5nXG4gKiAgICAgfVxuICpcbiAqIFZhcmlhYmxlcyBlbmFibGVzIHNlcGFyYXRpb24gb2YgSWFDIGNvZGUgYW5kIGFwcGxpY2F0aW9uIGNvZGUgaWZcbiAqIHRoZXkgYXJlIG5vdCBjb2xvY2F0ZWQgaW4gdGhlIHNhbWUgcmVwb3NpdG9yeS5cbiAqL1xuZXhwb3J0IGNsYXNzIExpZmxpZ0Nka1BpcGVsaW5lIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICAvKipcbiAgICogUGF0aCBvbiBTMyBmb3IgcGlwZWxpbmUgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHN0YXRpYyBwaXBlbGluZVMzUHJlZml4KHBpcGVsaW5lTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHBpcGVsaW5lcy8ke3BpcGVsaW5lTmFtZX0vYFxuICB9XG5cbiAgLyoqXG4gICAqIEtleSBpbiBTMyBidWNrZXQgdXNlZCB0byB0cmlnZ2VyIHBpcGVsaW5lLlxuICAgKlxuICAgKiBUaGlzIGlzIGFuIGVtcHR5IGZpbGUgd2l0aGluIHRoZSBwaXBlbGluZSBwYXRoLlxuICAgKi9cbiAgc3RhdGljIHBpcGVsaW5lUzNUcmlnZ2VyS2V5KHBpcGVsaW5lTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHBpcGVsaW5lcy8ke3BpcGVsaW5lTmFtZX0vdHJpZ2dlcmBcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBjZGtQaXBlbGluZTogcGlwZWxpbmVzLkNvZGVQaXBlbGluZVxuICBwdWJsaWMgcmVhZG9ubHkgY29kZVBpcGVsaW5lOiBjb2RlcGlwZWxpbmUuUGlwZWxpbmVcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogTGlmbGlnQ2RrUGlwZWxpbmVQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgY29uc3QgYXJ0aWZhY3RzQnVja2V0ID1cbiAgICAgIHByb3BzLmFydGlmYWN0c0J1Y2tldCA/PyBnZXRHcmlpZEFydGVmYWN0QnVja2V0KHRoaXMpXG5cbiAgICBjb25zdCBjbG91ZEFzc2VtYmx5QXJ0aWZhY3QgPSBuZXcgY29kZXBpcGVsaW5lLkFydGlmYWN0KClcblxuICAgIGxldCBzeW50aDogcGlwZWxpbmVzLklGaWxlU2V0UHJvZHVjZXJcbiAgICBsZXQgc3RhZ2VzOiBjb2RlcGlwZWxpbmUuU3RhZ2VQcm9wc1tdXG5cbiAgICBzd2l0Y2ggKHByb3BzLnNvdXJjZVR5cGUpIHtcbiAgICAgIGNhc2UgXCJjbG91ZC1hc3NlbWJseVwiOlxuICAgICAgICBjb25zdCBjbG91ZEFzc2VtYmx5ID0gdGhpcy5jbG91ZEFzc2VtYmx5U3RhZ2UoXG4gICAgICAgICAgY2xvdWRBc3NlbWJseUFydGlmYWN0LFxuICAgICAgICAgIGFydGlmYWN0c0J1Y2tldCxcbiAgICAgICAgICBwcm9wcy5waXBlbGluZU5hbWUsXG4gICAgICAgIClcbiAgICAgICAgc3ludGggPSBjbG91ZEFzc2VtYmx5LnN5bnRoXG4gICAgICAgIHN0YWdlcyA9IGNsb3VkQXNzZW1ibHkuc3RhZ2VzXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlIFwiY2RrLXNvdXJjZVwiOlxuICAgICAgICBjb25zdCBjZGtTb3VyY2UgPSB0aGlzLmNka1NvdXJjZVN0YWdlKFxuICAgICAgICAgIGNsb3VkQXNzZW1ibHlBcnRpZmFjdCxcbiAgICAgICAgICBhcnRpZmFjdHNCdWNrZXQsXG4gICAgICAgICAgcHJvcHMucGlwZWxpbmVOYW1lLFxuICAgICAgICAgIHByb3BzLnBhcmFtZXRlcnNOYW1lc3BhY2UgPz8gXCJkZWZhdWx0XCIsXG4gICAgICAgIClcbiAgICAgICAgc3ludGggPSBjZGtTb3VyY2Uuc3ludGhcbiAgICAgICAgc3RhZ2VzID0gY2RrU291cmNlLnN0YWdlc1xuICAgICAgICBicmVha1xuICAgIH1cblxuICAgIGNvbnN0IGR1bW15QXJ0aWZhY3QgPSBuZXcgY29kZXBpcGVsaW5lLkFydGlmYWN0KClcblxuICAgIHRoaXMuY29kZVBpcGVsaW5lID0gbmV3IGNvZGVwaXBlbGluZS5QaXBlbGluZSh0aGlzLCBcIkNvZGVQaXBlbGluZVwiLCB7XG4gICAgICBwaXBlbGluZU5hbWU6IHByb3BzLnBpcGVsaW5lTmFtZSxcbiAgICAgIHN0YWdlczogW1xuICAgICAgICB7XG4gICAgICAgICAgc3RhZ2VOYW1lOiBcIlNvdXJjZVwiLFxuICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgIG5ldyBjb2RlcGlwZWxpbmVBY3Rpb25zLlMzU291cmNlQWN0aW9uKHtcbiAgICAgICAgICAgICAgYWN0aW9uTmFtZTogXCJzb3VyY2VcIixcbiAgICAgICAgICAgICAgYnVja2V0OiBhcnRpZmFjdHNCdWNrZXQsXG4gICAgICAgICAgICAgIGJ1Y2tldEtleTogTGlmbGlnQ2RrUGlwZWxpbmUucGlwZWxpbmVTM1RyaWdnZXJLZXkoXG4gICAgICAgICAgICAgICAgcHJvcHMucGlwZWxpbmVOYW1lLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBvdXRwdXQ6IGR1bW15QXJ0aWZhY3QsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICAuLi5zdGFnZXMsXG4gICAgICBdLFxuICAgICAgcmVzdGFydEV4ZWN1dGlvbk9uVXBkYXRlOiB0cnVlLFxuICAgIH0pXG5cbiAgICB0aGlzLmNka1BpcGVsaW5lID0gbmV3IHBpcGVsaW5lcy5Db2RlUGlwZWxpbmUodGhpcywgXCJDZGtQaXBlbGluZVwiLCB7XG4gICAgICBzeW50aCxcbiAgICAgIGNvZGVQaXBlbGluZTogdGhpcy5jb2RlUGlwZWxpbmUsXG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldEF3c0Nka1BhY2thZ2VKc29uRmlsZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIC8vIEFsc28gbG9vayB1cCB0aGUgdHJlZSBhIGJpdCB0byBoYW5kbGUgeWFybiB3b3Jrc3BhY2VzLlxuICAgIGNvbnN0IGNhbmRpZGF0ZXMgPSBbXG4gICAgICBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCJub2RlX21vZHVsZXMvYXdzLWNkay9wYWNrYWdlLmpzb25cIiksXG4gICAgICBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCIuLi9ub2RlX21vZHVsZXMvYXdzLWNkay9wYWNrYWdlLmpzb25cIiksXG4gICAgICBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCIuLi8uLi9ub2RlX21vZHVsZXMvYXdzLWNkay9wYWNrYWdlLmpzb25cIiksXG4gICAgICBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYXdzLWNkay9wYWNrYWdlLmpzb25cIiksXG4gICAgXVxuXG4gICAgZm9yIChjb25zdCBjYW5kaWRhdGUgb2YgY2FuZGlkYXRlcykge1xuICAgICAgaWYgKGZzLmV4aXN0c1N5bmMoY2FuZGlkYXRlKSkge1xuICAgICAgICByZXR1cm4gY2FuZGlkYXRlXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG5cbiAgcHJpdmF0ZSBjbG91ZEFzc2VtYmx5U3RhZ2UoXG4gICAgY2xvdWRBc3NlbWJseUFydGlmYWN0OiBjb2RlcGlwZWxpbmUuQXJ0aWZhY3QsXG4gICAgY2RrQnVja2V0OiBzMy5JQnVja2V0LFxuICAgIHBpcGVsaW5lTmFtZTogc3RyaW5nLFxuICApOiB7IHN0YWdlczogY29kZXBpcGVsaW5lLlN0YWdlUHJvcHNbXTsgc3ludGg6IHBpcGVsaW5lcy5JRmlsZVNldFByb2R1Y2VyIH0ge1xuICAgIGNvbnN0IGNsb3VkQXNzZW1ibHlMb29rdXBGbiA9IG5ldyBsYW1iZGEuRnVuY3Rpb24oXG4gICAgICB0aGlzLFxuICAgICAgXCJDbG91ZEFzc2VtYmx5TG9va3VwRm5cIixcbiAgICAgIHtcbiAgICAgICAgY29kZTogbmV3IGxhbWJkYS5JbmxpbmVDb2RlKFxuICAgICAgICAgIGBleHBvcnRzLmhhbmRsZXIgPSAke2Nsb3VkQXNzZW1ibHlMb29rdXBIYW5kbGVyLnRvU3RyaW5nKCl9O2AsXG4gICAgICAgICksXG4gICAgICAgIGhhbmRsZXI6IFwiaW5kZXguaGFuZGxlclwiLFxuICAgICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMTZfWCxcbiAgICAgICAgdGltZW91dDogY2RrLkR1cmF0aW9uLm1pbnV0ZXMoMSksXG4gICAgICAgIG1lbW9yeVNpemU6IDUxMixcbiAgICAgIH0sXG4gICAgKVxuXG4gICAgY2RrQnVja2V0LmdyYW50UmVhZFdyaXRlKGNsb3VkQXNzZW1ibHlMb29rdXBGbilcblxuICAgIGNvbnN0IHVzZXJQYXJhbWV0ZXJzOiBDbG91ZEFzc2VtYmx5TG9va3VwVXNlclBhcmFtZXRlcnMgPSB7XG4gICAgICBidWNrZXROYW1lOiBjZGtCdWNrZXQuYnVja2V0TmFtZSxcbiAgICAgIG9iamVjdEtleTogYHBpcGVsaW5lcy8ke3BpcGVsaW5lTmFtZX0vY2xvdWQtYXNzZW1ibHkuanNvbmAsXG4gICAgfVxuXG4gICAgY29uc3Qgc3ludGggPSBwaXBlbGluZXMuQ29kZVBpcGVsaW5lRmlsZVNldC5mcm9tQXJ0aWZhY3QoXG4gICAgICBjbG91ZEFzc2VtYmx5QXJ0aWZhY3QsXG4gICAgKVxuXG4gICAgY29uc3Qgc3RhZ2VzID0gW1xuICAgICAge1xuICAgICAgICBzdGFnZU5hbWU6IFwiUHJlcGFyZUNsb3VkQXNzZW1ibHlcIixcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIG5ldyBjb2RlcGlwZWxpbmVBY3Rpb25zLkxhbWJkYUludm9rZUFjdGlvbih7XG4gICAgICAgICAgICBhY3Rpb25OYW1lOiBcImNsb3VkLWFzc2VtYmx5LWxvb2t1cFwiLFxuICAgICAgICAgICAgbGFtYmRhOiBjbG91ZEFzc2VtYmx5TG9va3VwRm4sXG4gICAgICAgICAgICBvdXRwdXRzOiBbY2xvdWRBc3NlbWJseUFydGlmYWN0XSxcbiAgICAgICAgICAgIHVzZXJQYXJhbWV0ZXJzLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICBdXG4gICAgcmV0dXJuIHsgc3RhZ2VzLCBzeW50aCB9XG4gIH1cblxuICBwcml2YXRlIGNka1NvdXJjZVN0YWdlKFxuICAgIGNsb3VkQXNzZW1ibHlBcnRpZmFjdDogY29kZXBpcGVsaW5lLkFydGlmYWN0LFxuICAgIGNka0J1Y2tldDogczMuSUJ1Y2tldCxcbiAgICBwaXBlbGluZU5hbWU6IHN0cmluZyxcbiAgICBwYXJhbWV0ZXJzTmFtZXNwYWNlOiBzdHJpbmcsXG4gICk6IHsgc3RhZ2VzOiBjb2RlcGlwZWxpbmUuU3RhZ2VQcm9wc1tdOyBzeW50aDogcGlwZWxpbmVzLklGaWxlU2V0UHJvZHVjZXIgfSB7XG4gICAgY29uc3QgcHJlcGFyZUNka1NvdXJjZUZuID0gbmV3IGxhbWJkYS5GdW5jdGlvbih0aGlzLCBcIlByZXBhcmVDZGtTb3VyY2VGblwiLCB7XG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQoXG4gICAgICAgIHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi4vLi4vYXNzZXRzL3ByZXBhcmUtY2RrLXNvdXJjZS1sYW1iZGFcIiksXG4gICAgICApLFxuICAgICAgaGFuZGxlcjogXCJpbmRleC5oYW5kbGVyXCIsXG4gICAgICAvLyBVc2luZyBweXRob24gaW5zdGVhZCBpZiBOb2RlSlMgZHVlIHRvIHppcC1zdXBwb3J0IGluIHN0ZGxpYi5cbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzgsXG4gICAgICB0aW1lb3V0OiBjZGsuRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgIG1lbW9yeVNpemU6IDUxMixcbiAgICB9KVxuXG4gICAgY29uc3QgYWNjb3VudCA9IGNkay5TdGFjay5vZih0aGlzKS5hY2NvdW50XG4gICAgY29uc3QgcmVnaW9uID0gY2RrLlN0YWNrLm9mKHRoaXMpLnJlZ2lvblxuXG4gICAgcHJlcGFyZUNka1NvdXJjZUZuLmdyYW50UHJpbmNpcGFsLmFkZFRvUHJpbmNpcGFsUG9saWN5KFxuICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXCJzc206R2V0UGFyYW1ldGVyc0J5UGF0aFwiXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgYGFybjphd3M6c3NtOiR7cmVnaW9ufToke2FjY291bnR9OnBhcmFtZXRlci9saWZsaWctY2RrLyovcGlwZWxpbmUtdmFyaWFibGVzLypgLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgKVxuXG4gICAgY2RrQnVja2V0LmdyYW50UmVhZFdyaXRlKHByZXBhcmVDZGtTb3VyY2VGbilcblxuICAgIGNvbnN0IGNka1NvdXJjZUFydGlmYWN0ID0gbmV3IGNvZGVwaXBlbGluZS5BcnRpZmFjdCgpXG5cbiAgICBjb25zdCB1c2VyUGFyYW1ldGVyczogUHJlcGFyZUNka1NvdXJjZVVzZXJQYXJhbWV0ZXJzID0ge1xuICAgICAgYnVja2V0TmFtZTogY2RrQnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICBwcmVmaXg6IGBwaXBlbGluZXMvJHtwaXBlbGluZU5hbWV9L2AsXG4gICAgICBwYXJhbWV0ZXJzTmFtZXNwYWNlOiBwYXJhbWV0ZXJzTmFtZXNwYWNlLFxuICAgIH1cblxuICAgIGNvbnN0IHN5bnRoID0gbmV3IHBpcGVsaW5lcy5TaGVsbFN0ZXAoXCJHZW5lcmF0ZUNsb3VkQXNzZW1ibHlcIiwge1xuICAgICAgaW5wdXQ6IHBpcGVsaW5lcy5Db2RlUGlwZWxpbmVGaWxlU2V0LmZyb21BcnRpZmFjdChjZGtTb3VyY2VBcnRpZmFjdCksXG4gICAgICBpbnN0YWxsQ29tbWFuZHM6IFtcIm5wbSBjaVwiXSxcbiAgICAgIGNvbW1hbmRzOiBbXCJucHggY2RrIHN5bnRoXCJdLFxuICAgIH0pXG4gICAgY29uc3Qgc3RhZ2VzID0gW1xuICAgICAge1xuICAgICAgICBzdGFnZU5hbWU6IFwiUHJlcGFyZUNka1NvdXJjZVwiLFxuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgbmV3IGNvZGVwaXBlbGluZUFjdGlvbnMuTGFtYmRhSW52b2tlQWN0aW9uKHtcbiAgICAgICAgICAgIGFjdGlvbk5hbWU6IFwicHJlcGFyZS1jZGstc291cmNlXCIsXG4gICAgICAgICAgICBsYW1iZGE6IHByZXBhcmVDZGtTb3VyY2VGbixcbiAgICAgICAgICAgIG91dHB1dHM6IFtjZGtTb3VyY2VBcnRpZmFjdF0sXG4gICAgICAgICAgICB1c2VyUGFyYW1ldGVycyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgXVxuICAgIHJldHVybiB7IHN0YWdlcywgc3ludGggfVxuICB9XG5cbiAgYWRkU2xhY2tOb3RpZmljYXRpb24ocHJvcHM6IE9taXQ8U2xhY2tOb3RpZmljYXRpb25Qcm9wcywgXCJwaXBlbGluZVwiPik6IHZvaWQge1xuICAgIG5ldyBTbGFja05vdGlmaWNhdGlvbih0aGlzLCBcIlNsYWNrXCIsIHtcbiAgICAgIHBpcGVsaW5lOiB0aGlzLmNvZGVQaXBlbGluZSxcbiAgICAgIC4uLnByb3BzLFxuICAgIH0pXG4gIH1cbn1cblxuaW50ZXJmYWNlIFByZXBhcmVDZGtTb3VyY2VVc2VyUGFyYW1ldGVycyB7XG4gIGJ1Y2tldE5hbWU6IHN0cmluZ1xuICBwcmVmaXg6IHN0cmluZ1xuICBwYXJhbWV0ZXJzTmFtZXNwYWNlOiBzdHJpbmdcbn1cbiJdfQ==
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlmbGlnLWNkay1waXBlbGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGstcGlwZWxpbmVzL2xpZmxpZy1jZGstcGlwZWxpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQXdDO0FBQ3hDLDZEQUE0RDtBQUM1RCw0RUFBMkU7QUFDM0UsMkNBQTBDO0FBQzFDLGlEQUFnRDtBQUNoRCxpREFBZ0Q7QUFDaEQsMERBQXlEO0FBRXpELG1DQUFrQztBQUNsQyxtREFBa0Q7QUFDbEQseUJBQXdCO0FBQ3hCLDZCQUE0QjtBQUM1Qiw4REFBaUU7QUFDakUsbUZBR3dDO0FBQ3hDLDZEQUFnRjtBQStDaEY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVDRztBQUNILE1BQWEsaUJBQWtCLFNBQVEsVUFBVSxDQUFDLFNBQVM7SUFDekQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsWUFBb0I7UUFDMUMsT0FBTyxhQUFhLFlBQVksR0FBRyxDQUFBO0lBQ3JDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLG9CQUFvQixDQUFDLFlBQW9CO1FBQzlDLE9BQU8sYUFBYSxZQUFZLFVBQVUsQ0FBQTtJQUM1QyxDQUFDO0lBS0QsWUFDRSxLQUEyQixFQUMzQixFQUFVLEVBQ1YsS0FBNkI7O1FBRTdCLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFFaEIsTUFBTSxlQUFlLEdBQ25CLE1BQUEsS0FBSyxDQUFDLGVBQWUsbUNBQUksSUFBQSx3Q0FBc0IsRUFBQyxJQUFJLENBQUMsQ0FBQTtRQUV2RCxNQUFNLHFCQUFxQixHQUFHLElBQUksWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBRXpELElBQUksS0FBaUMsQ0FBQTtRQUNyQyxJQUFJLE1BQWlDLENBQUE7UUFFckMsUUFBUSxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQ3hCLEtBQUssZ0JBQWdCO2dC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QUFNLGNBQWMsR0FBbUM7WUFDckQsVUFBVSxFQUFFLFNBQVMsQ0FBQyxVQUFVO1lBQ2hDLE1BQU0sRUFBRSxhQUFhLFlBQVksR0FBRztZQUNwQyxtQkFBbUIsRUFBRSxtQkFBbUI7U0FDekMsQ0FBQTtRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksU0FBUyxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsRUFBRTtZQUM3RCxLQUFLLEVBQUUsU0FBUyxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQztZQUNwRSxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFDM0IsUUFBUSxFQUFFLENBQUMsZUFBZSxDQUFDO1NBQzVCLENBQUMsQ0FBQTtRQUNGLE1BQU0sTUFBTSxHQUFHO1lBQ2I7Z0JBQ0UsU0FBUyxFQUFFLGtCQUFrQjtnQkFDN0IsT0FBTyxFQUFFO29CQUNQLElBQUksbUJBQW1CLENBQUMsa0JBQWtCLENBQUM7d0JBQ3pDLFVBQVUsRUFBRSxvQkFBb0I7d0JBQ2hDLE1BQU0sRUFBRSxrQkFBa0I7d0JBQzFCLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO3dCQUM1QixjQUFjO3FCQUNmLENBQUM7aUJBQ0g7YUFDRjtTQUNGLENBQUE7UUFDRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFBO0lBQzFCLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxLQUErQztRQUNsRSxJQUFJLHNDQUFpQixDQUFDLElBQUksRUFBRSxPQUFPLEVBQUU7WUFDbkMsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQzNCLEdBQUcsS0FBSztTQUNULENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRjtBQTFPRCw4Q0EwT0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcbmltcG9ydCAqIGFzIGNvZGVwaXBlbGluZSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVwaXBlbGluZVwiXG5pbXBvcnQgKiBhcyBjb2RlcGlwZWxpbmVBY3Rpb25zIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lLWFjdGlvbnNcIlxuaW1wb3J0ICogYXMgaWFtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCJcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiXG5pbXBvcnQgKiBhcyBldmVudHMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1ldmVudHNcIlxuaW1wb3J0ICogYXMgdGFyZ2V0cyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWV2ZW50cy10YXJnZXRzXCJcbmltcG9ydCAqIGFzIHMzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIlxuaW1wb3J0ICogYXMgY2RrIGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgKiBhcyBwaXBlbGluZXMgZnJvbSBcImF3cy1jZGstbGliL3BpcGVsaW5lc1wiXG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIlxuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiXG5pbXBvcnQgeyBnZXRHcmlpZEFydGVmYWN0QnVja2V0IH0gZnJvbSBcIi4uL2dyaWlkL2FydGVmYWN0LWJ1Y2tldFwiXG5pbXBvcnQge1xuICBjbG91ZEFzc2VtYmx5TG9va3VwSGFuZGxlcixcbiAgQ2xvdWRBc3NlbWJseUxvb2t1cFVzZXJQYXJhbWV0ZXJzLFxufSBmcm9tIFwiLi9jbG91ZC1hc3NlbWJseS1sb29rdXAtaGFuZGxlclwiXG5pbXBvcnQgeyBTbGFja05vdGlmaWNhdGlvbiwgU2xhY2tOb3RpZmljYXRpb25Qcm9wcyB9IGZyb20gXCIuL3NsYWNrLW5vdGlmaWNhdGlvblwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlmbGlnQ2RrUGlwZWxpbmVQcm9wcyB7XG4gIC8qKlxuICAgKiBCdWNrZXQgaG9sZGluZyBwaXBlbGluZSBjb25maWd1cmF0aW9uIGFuZCB0cmlnZ2VyIGZpbGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdXNlIGV4aXN0aW5nIGJ1Y2tldCBiYXNlZCBvbiBHcmlpZCBjb252ZW50aW9uc1xuICAgKi9cbiAgYXJ0aWZhY3RzQnVja2V0PzogczMuSUJ1Y2tldFxuICAvKipcbiAgICogTmFtZSBvZiBwaXBlbGluZS4gVGhpcyBpcyB1c2VkIGZvciB0aGUgcGF0aCB3aGVyZSBjb25maWd1cmF0aW9uXG4gICAqIGlzIHN0b3JlZCBpbiBTMy5cbiAgICovXG4gIHBpcGVsaW5lTmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBUeXBlIG9mIHVwbG9hZGVkIGFydGlmYWN0LiBUaGlzIGNoYW5nZXMgdGhlIGJlaGF2aW91ciBvZiB0aGVcbiAgICogcGlwZWxpbmUgYW5kIHdoYXQga2luZCBvZiBwcm9jZXNzIGl0IHBlcmZvcm1zLlxuICAgKlxuICAgKiBUd28gdHlwZXMgYXJlIHN1cHBvcnRlZDpcbiAgICpcbiAgICogICAtIGNkay1zb3VyY2U6IFRoZSB1cGxvYWRlZCBhcnRpZmFjdCByZXByZXNlbnRzIGEgQ0RLIGFwcGxpY2F0aW9uXG4gICAqICAgICBhcyBzb3VyY2UgY29kZS4gQSBidWlsZCBzdGVwIHdpbGwgY29tcGlsZSB0aGlzIGludG8gYVxuICAgKiAgICAgQ0RLIENsb3VkIEFzc2VtYmx5LlxuICAgKlxuICAgKiAgICAgQXMgcGFydCBvZiBzeW50aGVzaXppbmcgdGhpcyBpbnRvIGEgQ0RLIENsb3VkIEFzc2VtYmx5LFxuICAgKiAgICAgYSBmaWxlIFwidmFyaWFibGVzLmpzb25cIiB3aWxsIGJlIHdyaXR0ZW4gZm9yIHRoZVxuICAgKiAgICAgQ0RLIGFwcGxpY2F0aW9uIHRvIHBhcmFtZXRlcml6ZSB0aGUgYnVpbGQgaWYgYW55XG4gICAqICAgICB2YXJpYWJsZXMgYXJlIGZvdW5kIGluIHRoZSBwaXBlbGluZSBzb3VyY2UuXG4gICAqXG4gICAqICAgLSBjbG91ZC1hc3NlbWJseTogVGhlIHVwbG9hZGVkIGFydGlmYWN0IHJlcHJlc2VudHMgYVxuICAgKiAgICAgQ0RLIENsb3VkIEFzc2VtYmx5IHdoaWNoIGlzIHJlYWR5IGZvciBkZXBsb3ltZW50LlxuICAgKlxuICAgKiAgICAgVGhpcyBkb2VzIG5vdCBzdXBwb3J0IHJlYWRpbmcgdmFyaWFibGVzIGF0IHRoZSBjdXJyZW50IHRpbWVcbiAgICogICAgIHNpbmNlIENESyBQaXBlbGluZXMgZG9uJ3Qgc3VwcG9ydCBwYXJhbWV0ZXJpemVkIGRlcGxveXMuXG4gICAqICAgICBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2lzc3Vlcy85NTYwXG4gICAqL1xuICBzb3VyY2VUeXBlOiBcImNkay1zb3VyY2VcIiB8IFwiY2xvdWQtYXNzZW1ibHlcIlxuICAvKipcbiAgICogVGhlIG5hbWVzcGFjZSB1c2VkIGZvciBwYXJhbWV0ZXJzIGluIFBhcmFtZXRlciBTdG9yZS5cbiAgICpcbiAgICogT25seSByZWxldmFudCBmb3Igc291cmNlVHlwZSBvZiBcImNkay1zb3J1Y2VcIi5cbiAgICpcbiAgICogQGRlZmF1bHQgZGVmYXVsdFxuICAgKi9cbiAgcGFyYW1ldGVyc05hbWVzcGFjZT86IHN0cmluZ1xufVxuXG4vKipcbiAqIENESyBQaXBlbGluZSBmb3IgTGlmbGlnLlxuICpcbiAqIEF2b2lkIHB1dHRpbmcgbXVsdGlwbGUgcGlwZWxpbmVzIGluIGEgc3RhY2ssIHNpbmNlIHRoZSBwaXBlbGluZVxuICogd2lsbCBhbHNvIGtlZXAgdGhlIGhvc3Rpbmcgc3RhY2sgdXAtdG8tZGF0ZS5cbiAqXG4gKiBUaGUgcGlwZWxpbmUgaXMgZXhlY3V0ZWQgYnkgd3JpdGluZyBhbiBlbXB0eSBmaWxlIHRvXG4gKiBzMzovLzxhcnRpZmFjdHMtYnVja2V0Pi9waXBlbGluZXMvPHBpcGVsaW5lLW5hbWU+L3RyaWdnZXJcbiAqXG4gKiBDb25maWd1cmF0aW9uIGZpbGVzIGFyZSByZWFkIGZyb20gUzMgYXQgdGhlIHBhdGhcbiAqIHMzOi8vPGFydGlmYWN0cy1idWNrZXQ+L3BpcGVsaW5lcy88cGlwZWxpbmUtbmFtZT4vXG4gKlxuICogRm9yIHVwbG9hZCB0eXBlIFwiY2RrLXNvdXJjZVwiOlxuICpcbiAqICAgLSBjZGstc291cmNlLmpzb24gaG9sZGluZyBhIHBvaW50ZXIgdG8gdGhlIGFjdGl2ZSBDREsgc291cmNlXG4gKiAgICAgdGhhdCBzaG91bGQgYmUgdXNlZC4gU2NoZW1hOlxuICpcbiAqICAgICB7XG4gKiAgICAgICBidWNrZXROYW1lOiBzdHJpbmdcbiAqICAgICAgIGJ1Y2tldEtleTogc3RyaW5nXG4gKiAgICAgfVxuICpcbiAqICAgLSB2YXJpYWJsZXMqLmpzb24gd2hpY2ggY2FuIGJlIHplcm8gb3IgbW9yZSBmaWxlc1xuICogICAgIHdpdGggc3RyaW5nLXN0cmluZyBtYXAgaG9sZGluZyB2YXJpYWJsZXMgdGhhdCB3aWxsXG4gKiAgICAgYmUgd3JpdHRlbiB0byB2YXJpYWJsZXMuanNvbiBhbmQgY2FuIGJlIHJlYWQgYnkgdGhlXG4gKiAgICAgdGhlIENESyBhcHBsaWNhdGlvbiBkdXJpbmcgc3ludGhlc2l6ZS5cbiAqXG4gKiBGb3IgdXBsb2FkIHR5cGUgXCJjbG91ZC1hc3NlbWJseVwiOlxuICpcbiAqICAgLSBjbG91ZC1hc3NlbWJseS5qc29uIGhvbGRpbmcgYSBwb2ludGVyIHRvIHRoZSBhY3RpdmVcbiAqICAgICBDREsgQ2xvdWQgQXNzZW1ibHkgdGhhdCBzaG91bGQgYmUgdXNlZDogU2NoZW1hOlxuICpcbiAqICAgICB7XG4gKiAgICAgICBjbG91ZEFzc2VtYmx5QnVja2V0TmFtZTogc3RyaW5nXG4gKiAgICAgICBjbG91ZEFzc2VtYmx5QnVja2V0S2V5OiBzdHJpbmdcbiAqICAgICB9XG4gKlxuICogVmFyaWFibGVzIGVuYWJsZXMgc2VwYXJhdGlvbiBvZiBJYUMgY29kZSBhbmQgYXBwbGljYXRpb24gY29kZSBpZlxuICogdGhleSBhcmUgbm90IGNvbG9jYXRlZCBpbiB0aGUgc2FtZSByZXBvc2l0b3J5LlxuICovXG5leHBvcnQgY2xhc3MgTGlmbGlnQ2RrUGlwZWxpbmUgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBQYXRoIG9uIFMzIGZvciBwaXBlbGluZSBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgc3RhdGljIHBpcGVsaW5lUzNQcmVmaXgocGlwZWxpbmVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgcGlwZWxpbmVzLyR7cGlwZWxpbmVOYW1lfS9gXG4gIH1cblxuICAvKipcbiAgICogS2V5IGluIFMzIGJ1Y2tldCB1c2VkIHRvIHRyaWdnZXIgcGlwZWxpbmUuXG4gICAqXG4gICAqIFRoaXMgaXMgYW4gZW1wdHkgZmlsZSB3aXRoaW4gdGhlIHBpcGVsaW5lIHBhdGguXG4gICAqL1xuICBzdGF0aWMgcGlwZWxpbmVTM1RyaWdnZXJLZXkocGlwZWxpbmVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgcGlwZWxpbmVzLyR7cGlwZWxpbmVOYW1lfS90cmlnZ2VyYFxuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGNka1BpcGVsaW5lOiBwaXBlbGluZXMuQ29kZVBpcGVsaW5lXG4gIHB1YmxpYyByZWFkb25seSBjb2RlUGlwZWxpbmU6IGNvZGVwaXBlbGluZS5QaXBlbGluZVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBMaWZsaWdDZGtQaXBlbGluZVByb3BzLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG5cbiAgICBjb25zdCBhcnRpZmFjdHNCdWNrZXQgPVxuICAgICAgcHJvcHMuYXJ0aWZhY3RzQnVja2V0ID8/IGdldEdyaWlkQXJ0ZWZhY3RCdWNrZXQodGhpcylcblxuICAgIGNvbnN0IGNsb3VkQXNzZW1ibHlBcnRpZmFjdCA9IG5ldyBjb2RlcGlwZWxpbmUuQXJ0aWZhY3QoKVxuXG4gICAgbGV0IHN5bnRoOiBwaXBlbGluZXMuSUZpbGVTZXRQcm9kdWNlclxuICAgIGxldCBzdGFnZXM6IGNvZGVwaXBlbGluZS5TdGFnZVByb3BzW11cblxuICAgIHN3aXRjaCAocHJvcHMuc291cmNlVHlwZSkge1xuICAgICAgY2FzZSBcImNsb3VkLWFzc2VtYmx5XCI6XG4gICAgICAgIGNvbnN0IGNsb3VkQXNzZW1ibHkgPSB0aGlzLmNsb3VkQXNzZW1ibHlTdGFnZShcbiAgICAgICAgICBjbG91ZEFzc2VtYmx5QXJ0aWZhY3QsXG4gICAgICAgICAgYXJ0aWZhY3RzQnVja2V0LFxuICAgICAgICAgIHByb3BzLnBpcGVsaW5lTmFtZSxcbiAgICAgICAgKVxuICAgICAgICBzeW50aCA9IGNsb3VkQXNzZW1ibHkuc3ludGhcbiAgICAgICAgc3RhZ2VzID0gY2xvdWRBc3NlbWJseS5zdGFnZXNcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgXCJjZGstc291cmNlXCI6XG4gICAgICAgIGNvbnN0IGNka1NvdXJjZSA9IHRoaXMuY2RrU291cmNlU3RhZ2UoXG4gICAgICAgICAgY2xvdWRBc3NlbWJseUFydGlmYWN0LFxuICAgICAgICAgIGFydGlmYWN0c0J1Y2tldCxcbiAgICAgICAgICBwcm9wcy5waXBlbGluZU5hbWUsXG4gICAgICAgICAgcHJvcHMucGFyYW1ldGVyc05hbWVzcGFjZSA/PyBcImRlZmF1bHRcIixcbiAgICAgICAgKVxuICAgICAgICBzeW50aCA9IGNka1NvdXJjZS5zeW50aFxuICAgICAgICBzdGFnZXMgPSBjZGtTb3VyY2Uuc3RhZ2VzXG4gICAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY29uc3QgZHVtbXlBcnRpZmFjdCA9IG5ldyBjb2RlcGlwZWxpbmUuQXJ0aWZhY3QoKVxuXG4gICAgdGhpcy5jb2RlUGlwZWxpbmUgPSBuZXcgY29kZXBpcGVsaW5lLlBpcGVsaW5lKHRoaXMsIFwiQ29kZVBpcGVsaW5lXCIsIHtcbiAgICAgIHBpcGVsaW5lTmFtZTogcHJvcHMucGlwZWxpbmVOYW1lLFxuICAgICAgc3RhZ2VzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBzdGFnZU5hbWU6IFwiU291cmNlXCIsXG4gICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgbmV3IGNvZGVwaXBlbGluZUFjdGlvbnMuUzNTb3VyY2VBY3Rpb24oe1xuICAgICAgICAgICAgICBhY3Rpb25OYW1lOiBcInNvdXJjZVwiLFxuICAgICAgICAgICAgICBidWNrZXQ6IGFydGlmYWN0c0J1Y2tldCxcbiAgICAgICAgICAgICAgdHJpZ2dlcjogY29kZXBpcGVsaW5lQWN0aW9ucy5TM1RyaWdnZXIuTk9ORSxcbiAgICAgICAgICAgICAgYnVja2V0S2V5OiBMaWZsaWdDZGtQaXBlbGluZS5waXBlbGluZVMzVHJpZ2dlcktleShcbiAgICAgICAgICAgICAgICBwcm9wcy5waXBlbGluZU5hbWUsXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIG91dHB1dDogZHVtbXlBcnRpZmFjdCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIC4uLnN0YWdlcyxcbiAgICAgIF0sXG4gICAgICByZXN0YXJ0RXhlY3V0aW9uT25VcGRhdGU6IHRydWUsXG4gICAgfSlcblxuICAgIG5ldyBldmVudHMuUnVsZSh0aGlzLCBcIlBpcGVsaW5lVHJpZ2dlclwiLCB7XG4gICAgICBldmVudFBhdHRlcm46IHtcbiAgICAgICAgc291cmNlOiBbXCJhd3MuczNcIl0sXG4gICAgICAgIGRldGFpbFR5cGU6IFtcIk9iamVjdCBDcmVhdGVkXCJdLFxuICAgICAgICBkZXRhaWw6IHtcbiAgICAgICAgICBidWNrZXQ6IHtcbiAgICAgICAgICAgIG5hbWU6IFthcnRpZmFjdHNCdWNrZXQuYnVja2V0TmFtZV0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBvYmplY3Q6IHtcbiAgICAgICAgICAgIGtleTogW0xpZmxpZ0Nka1BpcGVsaW5lLnBpcGVsaW5lUzNUcmlnZ2VyS2V5KHByb3BzLnBpcGVsaW5lTmFtZSldLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdGFyZ2V0czogW25ldyB0YXJnZXRzLkNvZGVQaXBlbGluZSh0aGlzLmNvZGVQaXBlbGluZSldLFxuICAgIH0pXG5cbiAgICB0aGlzLmNka1BpcGVsaW5lID0gbmV3IHBpcGVsaW5lcy5Db2RlUGlwZWxpbmUodGhpcywgXCJDZGtQaXBlbGluZVwiLCB7XG4gICAgICBzeW50aCxcbiAgICAgIHVzZUNoYW5nZVNldHM6IGZhbHNlLFxuICAgICAgY29kZVBpcGVsaW5lOiB0aGlzLmNvZGVQaXBlbGluZSxcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0QXdzQ2RrUGFja2FnZUpzb25GaWxlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgLy8gQWxzbyBsb29rIHVwIHRoZSB0cmVlIGEgYml0IHRvIGhhbmRsZSB5YXJuIHdvcmtzcGFjZXMuXG4gICAgY29uc3QgY2FuZGlkYXRlcyA9IFtcbiAgICAgIHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcIm5vZGVfbW9kdWxlcy9hd3MtY2RrL3BhY2thZ2UuanNvblwiKSxcbiAgICAgIHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcIi4uL25vZGVfbW9kdWxlcy9hd3MtY2RrL3BhY2thZ2UuanNvblwiKSxcbiAgICAgIHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcIi4uLy4uL25vZGVfbW9kdWxlcy9hd3MtY2RrL3BhY2thZ2UuanNvblwiKSxcbiAgICAgIHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9hd3MtY2RrL3BhY2thZ2UuanNvblwiKSxcbiAgICBdXG5cbiAgICBmb3IgKGNvbnN0IGNhbmRpZGF0ZSBvZiBjYW5kaWRhdGVzKSB7XG4gICAgICBpZiAoZnMuZXhpc3RzU3luYyhjYW5kaWRhdGUpKSB7XG4gICAgICAgIHJldHVybiBjYW5kaWRhdGVcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICBwcml2YXRlIGNsb3VkQXNzZW1ibHlTdGFnZShcbiAgICBjbG91ZEFzc2VtYmx5QXJ0aWZhY3Q6IGNvZGVwaXBlbGluZS5BcnRpZmFjdCxcbiAgICBjZGtCdWNrZXQ6IHMzLklCdWNrZXQsXG4gICAgcGlwZWxpbmVOYW1lOiBzdHJpbmcsXG4gICk6IHsgc3RhZ2VzOiBjb2RlcGlwZWxpbmUuU3RhZ2VQcm9wc1tdOyBzeW50aDogcGlwZWxpbmVzLklGaWxlU2V0UHJvZHVjZXIgfSB7XG4gICAgY29uc3QgY2xvdWRBc3NlbWJseUxvb2t1cEZuID0gbmV3IGxhbWJkYS5GdW5jdGlvbihcbiAgICAgIHRoaXMsXG4gICAgICBcIkNsb3VkQXNzZW1ibHlMb29rdXBGblwiLFxuICAgICAge1xuICAgICAgICBjb2RlOiBuZXcgbGFtYmRhLklubGluZUNvZGUoXG4gICAgICAgICAgYGV4cG9ydHMuaGFuZGxlciA9ICR7Y2xvdWRBc3NlbWJseUxvb2t1cEhhbmRsZXIudG9TdHJpbmcoKX07YCxcbiAgICAgICAgKSxcbiAgICAgICAgaGFuZGxlcjogXCJpbmRleC5oYW5kbGVyXCIsXG4gICAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18xNl9YLFxuICAgICAgICB0aW1lb3V0OiBjZGsuRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgICAgbWVtb3J5U2l6ZTogNTEyLFxuICAgICAgfSxcbiAgICApXG5cbiAgICBjZGtCdWNrZXQuZ3JhbnRSZWFkV3JpdGUoY2xvdWRBc3NlbWJseUxvb2t1cEZuKVxuXG4gICAgY29uc3QgdXNlclBhcmFtZXRlcnM6IENsb3VkQXNzZW1ibHlMb29rdXBVc2VyUGFyYW1ldGVycyA9IHtcbiAgICAgIGJ1Y2tldE5hbWU6IGNka0J1Y2tldC5idWNrZXROYW1lLFxuICAgICAgb2JqZWN0S2V5OiBgcGlwZWxpbmVzLyR7cGlwZWxpbmVOYW1lfS9jbG91ZC1hc3NlbWJseS5qc29uYCxcbiAgICB9XG5cbiAgICBjb25zdCBzeW50aCA9IHBpcGVsaW5lcy5Db2RlUGlwZWxpbmVGaWxlU2V0LmZyb21BcnRpZmFjdChcbiAgICAgIGNsb3VkQXNzZW1ibHlBcnRpZmFjdCxcbiAgICApXG5cbiAgICBjb25zdCBzdGFnZXMgPSBbXG4gICAgICB7XG4gICAgICAgIHN0YWdlTmFtZTogXCJQcmVwYXJlQ2xvdWRBc3NlbWJseVwiLFxuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgbmV3IGNvZGVwaXBlbGluZUFjdGlvbnMuTGFtYmRhSW52b2tlQWN0aW9uKHtcbiAgICAgICAgICAgIGFjdGlvbk5hbWU6IFwiY2xvdWQtYXNzZW1ibHktbG9va3VwXCIsXG4gICAgICAgICAgICBsYW1iZGE6IGNsb3VkQXNzZW1ibHlMb29rdXBGbixcbiAgICAgICAgICAgIG91dHB1dHM6IFtjbG91ZEFzc2VtYmx5QXJ0aWZhY3RdLFxuICAgICAgICAgICAgdXNlclBhcmFtZXRlcnMsXG4gICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIF1cbiAgICByZXR1cm4geyBzdGFnZXMsIHN5bnRoIH1cbiAgfVxuXG4gIHByaXZhdGUgY2RrU291cmNlU3RhZ2UoXG4gICAgY2xvdWRBc3NlbWJseUFydGlmYWN0OiBjb2RlcGlwZWxpbmUuQXJ0aWZhY3QsXG4gICAgY2RrQnVja2V0OiBzMy5JQnVja2V0LFxuICAgIHBpcGVsaW5lTmFtZTogc3RyaW5nLFxuICAgIHBhcmFtZXRlcnNOYW1lc3BhY2U6IHN0cmluZyxcbiAgKTogeyBzdGFnZXM6IGNvZGVwaXBlbGluZS5TdGFnZVByb3BzW107IHN5bnRoOiBwaXBlbGluZXMuSUZpbGVTZXRQcm9kdWNlciB9IHtcbiAgICBjb25zdCBwcmVwYXJlQ2RrU291cmNlRm4gPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsIFwiUHJlcGFyZUNka1NvdXJjZUZuXCIsIHtcbiAgICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChcbiAgICAgICAgcGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLi8uLi9hc3NldHMvcHJlcGFyZS1jZGstc291cmNlLWxhbWJkYVwiKSxcbiAgICAgICksXG4gICAgICBoYW5kbGVyOiBcImluZGV4LmhhbmRsZXJcIixcbiAgICAgIC8vIFVzaW5nIHB5dGhvbiBpbnN0ZWFkIGlmIE5vZGVKUyBkdWUgdG8gemlwLXN1cHBvcnQgaW4gc3RkbGliLlxuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuUFlUSE9OXzNfOCxcbiAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5taW51dGVzKDEpLFxuICAgICAgbWVtb3J5U2l6ZTogNTEyLFxuICAgIH0pXG5cbiAgICBjb25zdCBhY2NvdW50ID0gY2RrLlN0YWNrLm9mKHRoaXMpLmFjY291bnRcbiAgICBjb25zdCByZWdpb24gPSBjZGsuU3RhY2sub2YodGhpcykucmVnaW9uXG5cbiAgICBwcmVwYXJlQ2RrU291cmNlRm4uZ3JhbnRQcmluY2lwYWwuYWRkVG9QcmluY2lwYWxQb2xpY3koXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFtcInNzbTpHZXRQYXJhbWV0ZXJzQnlQYXRoXCJdLFxuICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICBgYXJuOmF3czpzc206JHtyZWdpb259OiR7YWNjb3VudH06cGFyYW1ldGVyL2xpZmxpZy1jZGsvKi9waXBlbGluZS12YXJpYWJsZXMvKmAsXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICApXG5cbiAgICBjZGtCdWNrZXQuZ3JhbnRSZWFkV3JpdGUocHJlcGFyZUNka1NvdXJjZUZuKVxuXG4gICAgY29uc3QgY2RrU291cmNlQXJ0aWZhY3QgPSBuZXcgY29kZXBpcGVsaW5lLkFydGlmYWN0KClcblxuICAgIGNvbnN0IHVzZXJQYXJhbWV0ZXJzOiBQcmVwYXJlQ2RrU291cmNlVXNlclBhcmFtZXRlcnMgPSB7XG4gICAgICBidWNrZXROYW1lOiBjZGtCdWNrZXQuYnVja2V0TmFtZSxcbiAgICAgIHByZWZpeDogYHBpcGVsaW5lcy8ke3BpcGVsaW5lTmFtZX0vYCxcbiAgICAgIHBhcmFtZXRlcnNOYW1lc3BhY2U6IHBhcmFtZXRlcnNOYW1lc3BhY2UsXG4gICAgfVxuXG4gICAgY29uc3Qgc3ludGggPSBuZXcgcGlwZWxpbmVzLlNoZWxsU3RlcChcIkdlbmVyYXRlQ2xvdWRBc3NlbWJseVwiLCB7XG4gICAgICBpbnB1dDogcGlwZWxpbmVzLkNvZGVQaXBlbGluZUZpbGVTZXQuZnJvbUFydGlmYWN0KGNka1NvdXJjZUFydGlmYWN0KSxcbiAgICAgIGluc3RhbGxDb21tYW5kczogW1wibnBtIGNpXCJdLFxuICAgICAgY29tbWFuZHM6IFtcIm5weCBjZGsgc3ludGhcIl0sXG4gICAgfSlcbiAgICBjb25zdCBzdGFnZXMgPSBbXG4gICAgICB7XG4gICAgICAgIHN0YWdlTmFtZTogXCJQcmVwYXJlQ2RrU291cmNlXCIsXG4gICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICBuZXcgY29kZXBpcGVsaW5lQWN0aW9ucy5MYW1iZGFJbnZva2VBY3Rpb24oe1xuICAgICAgICAgICAgYWN0aW9uTmFtZTogXCJwcmVwYXJlLWNkay1zb3VyY2VcIixcbiAgICAgICAgICAgIGxhbWJkYTogcHJlcGFyZUNka1NvdXJjZUZuLFxuICAgICAgICAgICAgb3V0cHV0czogW2Nka1NvdXJjZUFydGlmYWN0XSxcbiAgICAgICAgICAgIHVzZXJQYXJhbWV0ZXJzLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICBdXG4gICAgcmV0dXJuIHsgc3RhZ2VzLCBzeW50aCB9XG4gIH1cblxuICBhZGRTbGFja05vdGlmaWNhdGlvbihwcm9wczogT21pdDxTbGFja05vdGlmaWNhdGlvblByb3BzLCBcInBpcGVsaW5lXCI+KTogdm9pZCB7XG4gICAgbmV3IFNsYWNrTm90aWZpY2F0aW9uKHRoaXMsIFwiU2xhY2tcIiwge1xuICAgICAgcGlwZWxpbmU6IHRoaXMuY29kZVBpcGVsaW5lLFxuICAgICAgLi4ucHJvcHMsXG4gICAgfSlcbiAgfVxufVxuXG5pbnRlcmZhY2UgUHJlcGFyZUNka1NvdXJjZVVzZXJQYXJhbWV0ZXJzIHtcbiAgYnVja2V0TmFtZTogc3RyaW5nXG4gIHByZWZpeDogc3RyaW5nXG4gIHBhcmFtZXRlcnNOYW1lc3BhY2U6IHN0cmluZ1xufVxuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as constructs from "constructs";
|
|
2
|
+
export declare const FEATURE_FLAG_CDK_PIPELINES_SPEED_UP = "@liflig-cdk/cdk-pipelines:enableExperimentalSpeedUp";
|
|
3
|
+
/**
|
|
4
|
+
* Exposes feature flags we can use in liflig-cdk to allow consumers to opt-in
|
|
5
|
+
* to experimental functionality without affecting current consumers and having
|
|
6
|
+
* to pollute the official library API with experimental properties and behavior.
|
|
7
|
+
*
|
|
8
|
+
* NOTE: We should only use these flags temporarily and very sparingly as they lead
|
|
9
|
+
* to a brittle and more complex codebase with a lot of branching logic.
|
|
10
|
+
* Once an experiment has concluded we should remove them and update the
|
|
11
|
+
* official library API.
|
|
12
|
+
*/
|
|
13
|
+
export declare class FeatureFlags {
|
|
14
|
+
private readonly scope;
|
|
15
|
+
private constructor();
|
|
16
|
+
static of(scope: constructs.Construct): FeatureFlags;
|
|
17
|
+
isEnabled(flagName: string): boolean;
|
|
18
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FeatureFlags = exports.FEATURE_FLAG_CDK_PIPELINES_SPEED_UP = void 0;
|
|
4
|
+
// Custom feature flags for liflig-cdk
|
|
5
|
+
exports.FEATURE_FLAG_CDK_PIPELINES_SPEED_UP = "@liflig-cdk/cdk-pipelines:enableExperimentalSpeedUp";
|
|
6
|
+
const FLAGS = {
|
|
7
|
+
[exports.FEATURE_FLAG_CDK_PIPELINES_SPEED_UP]: {
|
|
8
|
+
default: false,
|
|
9
|
+
description: "Reduce execution time of CDK Pipelines by making various tweaks (e.g., skip creation of CloudFormation changesets, disable CodePipeline S3 polling).",
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
const getFeatureFlagDefault = (flagName) => {
|
|
13
|
+
var _a, _b;
|
|
14
|
+
return (_b = (_a = FLAGS[flagName]) === null || _a === void 0 ? void 0 : _a.default) !== null && _b !== void 0 ? _b : false;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Exposes feature flags we can use in liflig-cdk to allow consumers to opt-in
|
|
18
|
+
* to experimental functionality without affecting current consumers and having
|
|
19
|
+
* to pollute the official library API with experimental properties and behavior.
|
|
20
|
+
*
|
|
21
|
+
* NOTE: We should only use these flags temporarily and very sparingly as they lead
|
|
22
|
+
* to a brittle and more complex codebase with a lot of branching logic.
|
|
23
|
+
* Once an experiment has concluded we should remove them and update the
|
|
24
|
+
* official library API.
|
|
25
|
+
*/
|
|
26
|
+
class FeatureFlags {
|
|
27
|
+
constructor(scope) {
|
|
28
|
+
this.scope = scope;
|
|
29
|
+
}
|
|
30
|
+
static of(scope) {
|
|
31
|
+
return new FeatureFlags(scope);
|
|
32
|
+
}
|
|
33
|
+
isEnabled(flagName) {
|
|
34
|
+
if (!Object.keys(FLAGS).includes(flagName)) {
|
|
35
|
+
throw new Error(`Unsupported feature flag ${flagName}`);
|
|
36
|
+
}
|
|
37
|
+
const contextValue = this.scope.node.tryGetContext(flagName);
|
|
38
|
+
if (contextValue === undefined) {
|
|
39
|
+
return getFeatureFlagDefault(flagName);
|
|
40
|
+
}
|
|
41
|
+
else if (Object.prototype.toString.call(contextValue) === "[object Boolean]") {
|
|
42
|
+
return Boolean(contextValue);
|
|
43
|
+
}
|
|
44
|
+
throw new Error(`Unsupported value for feature flag ${flagName}. Only boolean values are supported.`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.FeatureFlags = FeatureFlags;
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1mbGFncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9mZWF0dXJlLWZsYWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWtCQSxzQ0FBc0M7QUFDekIsUUFBQSxtQ0FBbUMsR0FDOUMscURBQXFELENBQUE7QUFFdkQsTUFBTSxLQUFLLEdBQXVDO0lBQ2hELENBQUMsMkNBQW1DLENBQUMsRUFBRTtRQUNyQyxPQUFPLEVBQUUsS0FBSztRQUNkLFdBQVcsRUFDVCxzSkFBc0o7S0FDeko7Q0FDRixDQUFBO0FBRUQsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRTs7SUFDakQsT0FBTyxNQUFBLE1BQUEsS0FBSyxDQUFDLFFBQVEsQ0FBQywwQ0FBRSxPQUFPLG1DQUFJLEtBQUssQ0FBQTtBQUMxQyxDQUFDLENBQUE7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLFlBQVk7SUFDdkIsWUFBcUMsS0FBNEI7UUFBNUIsVUFBSyxHQUFMLEtBQUssQ0FBdUI7SUFBRyxDQUFDO0lBQzlELE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBMkI7UUFDMUMsT0FBTyxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoQyxDQUFDO0lBQ00sU0FBUyxDQUFDLFFBQWdCO1FBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMxQyxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixRQUFRLEVBQUUsQ0FBQyxDQUFBO1NBQ3hEO1FBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBWSxDQUFBO1FBQ3ZFLElBQUksWUFBWSxLQUFLLFNBQVMsRUFBRTtZQUM5QixPQUFPLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFBO1NBQ3ZDO2FBQU0sSUFDTCxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssa0JBQWtCLEVBQ25FO1lBQ0EsT0FBTyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUE7U0FDN0I7UUFDRCxNQUFNLElBQUksS0FBSyxDQUNiLHNDQUFzQyxRQUFRLHNDQUFzQyxDQUNyRixDQUFBO0lBQ0gsQ0FBQztDQUNGO0FBckJELG9DQXFCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSBcImNvbnN0cnVjdHNcIlxuXG5pbnRlcmZhY2UgRmVhdHVyZUZsYWdJbmZvIHtcbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IHZhbHVlIGZvciB0aGUgZmVhdHVyZSBmbGFnLlxuICAgKlxuICAgKiBOT1RFOiBUaGlzIHdpbGwgYmUgdGhlIHZhbHVlIHVzZWQgZm9yIGNvbnN1bWVycyB0aGF0IGhhdmUgbm90XG4gICAqIGV4cGxpY2l0bHkgc2V0IHRoZSBmZWF0dXJlIGZsYWcgKHdoaWNoIHdpbGwgYmUgbW9zdCBvZiB0aGVtISksXG4gICAqIHNvIHdlIHNob3VsZCBtYWtlIHN1cmUgdGhhdCB0aGUgZGVmYXVsdCB2YWx1ZSBkb2VzIE5PVCBsZWFkXG4gICAqIHRvIGFueSBicmVha2luZyBiZWhhdmlvci5cbiAgICovXG4gIGRlZmF1bHQ6IGJvb2xlYW5cbiAgLyoqXG4gICAqIEEgc2hvcnQgZGVzY3JpcHRpb24gb2YgdGhlIGZlYXR1cmUgZmxhZy5cbiAgICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmdcbn1cblxuLy8gQ3VzdG9tIGZlYXR1cmUgZmxhZ3MgZm9yIGxpZmxpZy1jZGtcbmV4cG9ydCBjb25zdCBGRUFUVVJFX0ZMQUdfQ0RLX1BJUEVMSU5FU19TUEVFRF9VUCA9XG4gIFwiQGxpZmxpZy1jZGsvY2RrLXBpcGVsaW5lczplbmFibGVFeHBlcmltZW50YWxTcGVlZFVwXCJcblxuY29uc3QgRkxBR1M6IHsgW2tleTogc3RyaW5nXTogRmVhdHVyZUZsYWdJbmZvIH0gPSB7XG4gIFtGRUFUVVJFX0ZMQUdfQ0RLX1BJUEVMSU5FU19TUEVFRF9VUF06IHtcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiUmVkdWNlIGV4ZWN1dGlvbiB0aW1lIG9mIENESyBQaXBlbGluZXMgYnkgbWFraW5nIHZhcmlvdXMgdHdlYWtzIChlLmcuLCBza2lwIGNyZWF0aW9uIG9mIENsb3VkRm9ybWF0aW9uIGNoYW5nZXNldHMsIGRpc2FibGUgQ29kZVBpcGVsaW5lIFMzIHBvbGxpbmcpLlwiLFxuICB9LFxufVxuXG5jb25zdCBnZXRGZWF0dXJlRmxhZ0RlZmF1bHQgPSAoZmxhZ05hbWU6IHN0cmluZykgPT4ge1xuICByZXR1cm4gRkxBR1NbZmxhZ05hbWVdPy5kZWZhdWx0ID8/IGZhbHNlXG59XG5cbi8qKlxuICogRXhwb3NlcyBmZWF0dXJlIGZsYWdzIHdlIGNhbiB1c2UgaW4gbGlmbGlnLWNkayB0byBhbGxvdyBjb25zdW1lcnMgdG8gb3B0LWluXG4gKiB0byBleHBlcmltZW50YWwgZnVuY3Rpb25hbGl0eSB3aXRob3V0IGFmZmVjdGluZyBjdXJyZW50IGNvbnN1bWVycyBhbmQgaGF2aW5nXG4gKiB0byBwb2xsdXRlIHRoZSBvZmZpY2lhbCBsaWJyYXJ5IEFQSSB3aXRoIGV4cGVyaW1lbnRhbCBwcm9wZXJ0aWVzIGFuZCBiZWhhdmlvci5cbiAqXG4gKiBOT1RFOiBXZSBzaG91bGQgb25seSB1c2UgdGhlc2UgZmxhZ3MgdGVtcG9yYXJpbHkgYW5kIHZlcnkgc3BhcmluZ2x5IGFzIHRoZXkgbGVhZFxuICogdG8gYSBicml0dGxlIGFuZCBtb3JlIGNvbXBsZXggY29kZWJhc2Ugd2l0aCBhIGxvdCBvZiBicmFuY2hpbmcgbG9naWMuXG4gKiBPbmNlIGFuIGV4cGVyaW1lbnQgaGFzIGNvbmNsdWRlZCB3ZSBzaG91bGQgcmVtb3ZlIHRoZW0gYW5kIHVwZGF0ZSB0aGVcbiAqIG9mZmljaWFsIGxpYnJhcnkgQVBJLlxuICovXG5leHBvcnQgY2xhc3MgRmVhdHVyZUZsYWdzIHtcbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHNjb3BlOiBjb25zdHJ1Y3RzLklDb25zdHJ1Y3QpIHt9XG4gIHB1YmxpYyBzdGF0aWMgb2Yoc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0KSB7XG4gICAgcmV0dXJuIG5ldyBGZWF0dXJlRmxhZ3Moc2NvcGUpXG4gIH1cbiAgcHVibGljIGlzRW5hYmxlZChmbGFnTmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKCFPYmplY3Qua2V5cyhGTEFHUykuaW5jbHVkZXMoZmxhZ05hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGZlYXR1cmUgZmxhZyAke2ZsYWdOYW1lfWApXG4gICAgfVxuICAgIGNvbnN0IGNvbnRleHRWYWx1ZSA9IHRoaXMuc2NvcGUubm9kZS50cnlHZXRDb250ZXh0KGZsYWdOYW1lKSBhcyB1bmtub3duXG4gICAgaWYgKGNvbnRleHRWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZ2V0RmVhdHVyZUZsYWdEZWZhdWx0KGZsYWdOYW1lKVxuICAgIH0gZWxzZSBpZiAoXG4gICAgICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoY29udGV4dFZhbHVlKSA9PT0gXCJbb2JqZWN0IEJvb2xlYW5dXCJcbiAgICApIHtcbiAgICAgIHJldHVybiBCb29sZWFuKGNvbnRleHRWYWx1ZSlcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYFVuc3VwcG9ydGVkIHZhbHVlIGZvciBmZWF0dXJlIGZsYWcgJHtmbGFnTmFtZX0uIE9ubHkgYm9vbGVhbiB2YWx1ZXMgYXJlIHN1cHBvcnRlZC5gLFxuICAgIClcbiAgfVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@liflig/cdk",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.13.0",
|
|
4
4
|
"description": "CDK library for Liflig",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -35,16 +35,16 @@
|
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@aws-cdk/assert": "2.62.0",
|
|
38
|
-
"@commitlint/cli": "17.
|
|
39
|
-
"@commitlint/config-conventional": "17.
|
|
38
|
+
"@commitlint/cli": "17.6.1",
|
|
39
|
+
"@commitlint/config-conventional": "17.6.1",
|
|
40
40
|
"@types/aws-lambda": "8.10.114",
|
|
41
41
|
"@types/jest": "27.5.2",
|
|
42
|
-
"@types/node": "18.15.
|
|
43
|
-
"@typescript-eslint/eslint-plugin": "5.
|
|
44
|
-
"@typescript-eslint/parser": "5.
|
|
42
|
+
"@types/node": "18.15.13",
|
|
43
|
+
"@typescript-eslint/eslint-plugin": "5.59.0",
|
|
44
|
+
"@typescript-eslint/parser": "5.59.0",
|
|
45
45
|
"aws-cdk": "2.62.0",
|
|
46
46
|
"aws-cdk-lib": "2.62.0",
|
|
47
|
-
"constructs": "10.
|
|
47
|
+
"constructs": "10.2.2",
|
|
48
48
|
"eslint": "8.38.0",
|
|
49
49
|
"eslint-config-prettier": "8.8.0",
|
|
50
50
|
"eslint-plugin-prettier": "4.2.1",
|