@codedrifters/configulator 0.0.38 → 0.0.40
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.
|
@@ -84,44 +84,39 @@ class AwsDeploymentConfig extends projen_1.Component {
|
|
|
84
84
|
* @returns All production deployment targets.
|
|
85
85
|
*/
|
|
86
86
|
get prodTargets() {
|
|
87
|
-
return this.awsDeploymentTargets.filter((target) => target.
|
|
87
|
+
return this.awsDeploymentTargets.filter((target) => target.awsStageType === aws_deployment_target_1.AWS_STAGE_TYPE.PROD);
|
|
88
88
|
}
|
|
89
89
|
get prodTargetsForCI() {
|
|
90
|
-
return this.awsDeploymentTargets.filter((target) => target.
|
|
91
|
-
target.ciDeployment);
|
|
90
|
+
return this.awsDeploymentTargets.filter((target) => target.awsStageType === aws_deployment_target_1.AWS_STAGE_TYPE.PROD && target.ciDeployment);
|
|
92
91
|
}
|
|
93
92
|
get prodTargetsForLocal() {
|
|
94
|
-
return this.awsDeploymentTargets.filter((target) => target.
|
|
95
|
-
target.localDeployment);
|
|
93
|
+
return this.awsDeploymentTargets.filter((target) => target.awsStageType === aws_deployment_target_1.AWS_STAGE_TYPE.PROD && target.localDeployment);
|
|
96
94
|
}
|
|
97
95
|
/**
|
|
98
96
|
*
|
|
99
97
|
* @returns All stage deployment targets.
|
|
100
98
|
*/
|
|
101
99
|
get stageTargets() {
|
|
102
|
-
return this.awsDeploymentTargets.filter((target) => target.
|
|
100
|
+
return this.awsDeploymentTargets.filter((target) => target.awsStageType === aws_deployment_target_1.AWS_STAGE_TYPE.STAGE);
|
|
103
101
|
}
|
|
104
102
|
get stageTargetsForCI() {
|
|
105
|
-
return this.awsDeploymentTargets.filter((target) => target.
|
|
106
|
-
target.ciDeployment);
|
|
103
|
+
return this.awsDeploymentTargets.filter((target) => target.awsStageType === aws_deployment_target_1.AWS_STAGE_TYPE.STAGE && target.ciDeployment);
|
|
107
104
|
}
|
|
108
105
|
get stageTargetsForLocal() {
|
|
109
|
-
return this.awsDeploymentTargets.filter((target) => target.
|
|
110
|
-
target.localDeployment);
|
|
106
|
+
return this.awsDeploymentTargets.filter((target) => target.awsStageType === aws_deployment_target_1.AWS_STAGE_TYPE.STAGE && target.localDeployment);
|
|
111
107
|
}
|
|
112
108
|
/**
|
|
113
109
|
*
|
|
114
110
|
* @returns All dev deployment targets.
|
|
115
111
|
*/
|
|
116
112
|
get devTargets() {
|
|
117
|
-
return this.awsDeploymentTargets.filter((target) => target.
|
|
113
|
+
return this.awsDeploymentTargets.filter((target) => target.awsStageType === aws_deployment_target_1.AWS_STAGE_TYPE.DEV);
|
|
118
114
|
}
|
|
119
115
|
get devTargetsForCI() {
|
|
120
|
-
return this.awsDeploymentTargets.filter((target) => target.
|
|
116
|
+
return this.awsDeploymentTargets.filter((target) => target.awsStageType === aws_deployment_target_1.AWS_STAGE_TYPE.DEV && target.ciDeployment);
|
|
121
117
|
}
|
|
122
118
|
get devTargetsForLocal() {
|
|
123
|
-
return this.awsDeploymentTargets.filter((target) => target.
|
|
124
|
-
target.localDeployment);
|
|
119
|
+
return this.awsDeploymentTargets.filter((target) => target.awsStageType === aws_deployment_target_1.AWS_STAGE_TYPE.DEV && target.localDeployment);
|
|
125
120
|
}
|
|
126
121
|
preSynthesize() {
|
|
127
122
|
super.preSynthesize();
|
|
@@ -136,4 +131,4 @@ class AwsDeploymentConfig extends projen_1.Component {
|
|
|
136
131
|
}
|
|
137
132
|
}
|
|
138
133
|
exports.AwsDeploymentConfig = AwsDeploymentConfig;
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWRlcGxveW1lbnQtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3cy9hd3MtZGVwbG95bWVudC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQTJDO0FBQzNDLG1DQUFtQztBQUVuQyxtRUFBK0U7QUFDL0Usb0NBQXFDO0FBRXJDOzs7Ozs7Ozs7Z0ZBU2dGO0FBRWhGOztFQUVFO0FBRUYsTUFBYSxtQkFBb0IsU0FBUSxrQkFBUztJQUN6QyxNQUFNLENBQUMsRUFBRSxDQUNkLE9BQTRCO1FBRTVCLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBWSxFQUE0QixFQUFFLENBQzNELENBQUMsWUFBWSxtQkFBbUIsQ0FBQztRQUNuQyxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFnQ0QsWUFBWSxPQUE0QjtRQUN0QyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFOakI7O1dBRUc7UUFDYSx5QkFBb0IsR0FBK0IsRUFBRSxDQUFDO1FBa0h0RTs7Ozs7OztzRkFPOEU7UUFFdEUsdUJBQWtCLEdBQUcsR0FBUyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLENBQUMsVUFBVSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUNwRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUs7aUJBQ2YsT0FBTyxDQUFDLE9BQU8sQ0FBQztnQkFDakIsRUFBRSxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUVqRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUUsS0FBSyxDQUFDLFVBQVUsSUFB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LEVBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQy9ELENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUF4TEQsa0RBd0xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgam9pbiwgcmVsYXRpdmUgfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwicHJvamVuXCI7XG5pbXBvcnQgeyBBd3NDZGtUeXBlU2NyaXB0QXBwIH0gZnJvbSBcInByb2plbi9saWIvYXdzY2RrXCI7XG5pbXBvcnQgeyBBV1NfREVQTE9ZX1RZUEUsIEF3c0RlcGxveW1lbnRUYXJnZXQgfSBmcm9tIFwiLi9hd3MtZGVwbG95bWVudC10YXJnZXRcIjtcbmltcG9ydCB7IFR1cmJvUmVwbyB9IGZyb20gXCIuLi90dXJib1wiO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICpcbiAqIEFXUyBEZXBsb3ltZW50IENvbmZpZ3VyYXRpb25cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCBhbGxvd3MgY29uZmlndXJhdGlvbiBvZiBtdWx0aXBsZSBBV1MgZGVwbG95bWVudFxuICogdGFyZ2V0cywgZWFjaCB3aXRoIGl0cyBvd24gYWNjb3VudCwgcmVnaW9uLCBhbmQgZGVwbG95bWVudCB0eXBlXG4gKiAoZGV2LCBzdGFnZSwgcHJvZCkuIEl0IHN1cHBvcnRzIGJvdGggbG9jYWwgYW5kIENJIGRlcGxveW1lbnRzLFxuICogd2l0aCBjdXN0b21pemFibGUgc2V0dGluZ3MgZm9yIGVhY2ggdGFyZ2V0LlxuICpcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qXG5leHBvcnQgaW50ZXJmYWNlIEF3c0RlcGxveW1lbnRDb25maWdPcHRpb25zIHt9XG4qL1xuXG5leHBvcnQgY2xhc3MgQXdzRGVwbG95bWVudENvbmZpZyBleHRlbmRzIENvbXBvbmVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb2YoXG4gICAgcHJvamVjdDogQXdzQ2RrVHlwZVNjcmlwdEFwcCxcbiAgKTogQXdzRGVwbG95bWVudENvbmZpZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaXNEZWZpbmVkID0gKGM6IENvbXBvbmVudCk6IGMgaXMgQXdzRGVwbG95bWVudENvbmZpZyA9PlxuICAgICAgYyBpbnN0YW5jZW9mIEF3c0RlcGxveW1lbnRDb25maWc7XG4gICAgcmV0dXJuIHByb2plY3QuY29tcG9uZW50cy5maW5kKGlzRGVmaW5lZCk7XG4gIH1cblxuICAvKipcbiAgICogRW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIGJlIGluamVjdGVkIGludG8gYWxsIHRhc2tzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGVudjogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogVGhlIHJlbGF0aXZlIHBhdGggdG8gdGhlIHByb2plY3QgZGlyZWN0b3J5IGZyb20gdGhlIHJvb3Qgb2YgdGhlIHByb2plY3QuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvamVjdFBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJlbGF0aXZlIHBhdGggdG8gdGhlIHJvb3Qgb2YgdGhlIHByb2plY3QgZnJvbSB0aGUgb3V0cHV0IGRpcmVjdG9yeS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByb290UGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgb3V0cHV0IGRpcmVjdG9yeSBmb3IgdGhlIENESyBzeW50aGVzaXMsIGZyb20gdGhlIHJvb3QgZGlyZWN0b3J5LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJvb3RDZGtPdXQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG91dHB1dCBkaXJlY3RvcnkgZm9yIHRoZSBDREsgc3ludGhlc2lzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNka091dDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBcnJheSBvZiB0YXJnZXRzIGZvciBkZXBsb3ltZW50LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGF3c0RlcGxveW1lbnRUYXJnZXRzOiBBcnJheTxBd3NEZXBsb3ltZW50VGFyZ2V0PiA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IEF3c0Nka1R5cGVTY3JpcHRBcHApIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIC8qKlxuICAgICAqIENvbW1vbiB2YXJpYWJsZXMgdXNlZCBhY3Jvc3MgdGFza3MuXG4gICAgICovXG4gICAgdGhpcy5lbnYgPSB7IEdJVF9CUkFOQ0g6IFwiJChnaXQgYnJhbmNoIC0tc2hvdy1jdXJyZW50KVwiIH07XG4gICAgdGhpcy5wcm9qZWN0UGF0aCA9IHJlbGF0aXZlKHByb2plY3Qucm9vdC5vdXRkaXIsIHByb2plY3Qub3V0ZGlyKTtcbiAgICB0aGlzLnJvb3RQYXRoID0gcmVsYXRpdmUocHJvamVjdC5vdXRkaXIsIHByb2plY3Qucm9vdC5vdXRkaXIpO1xuICAgIHRoaXMucm9vdENka091dCA9IGpvaW4oXCJkaXN0XCIsIHRoaXMucHJvamVjdFBhdGgsIFwiY2RrLm91dFwiKTtcbiAgICB0aGlzLmNka091dCA9IGpvaW4odGhpcy5yb290UGF0aCwgXCJkaXN0XCIsIHRoaXMucHJvamVjdFBhdGgsIFwiY2RrLm91dFwiKTtcblxuICAgIC8qKlxuICAgICAqIFJlc2V0IHNvbWUgdGFza3Mgd2Ugd2lsbCByZWJ1aWxkIGJlbG93LlxuICAgICAqL1xuICAgIFtcImRlcGxveVwiLCBcIndhdGNoXCJdLmZvckVhY2goKHRhc2tOYW1lKSA9PiB7XG4gICAgICBjb25zdCB0YXNrID0gcHJvamVjdC50YXNrcy50cnlGaW5kKHRhc2tOYW1lKTtcbiAgICAgIGlmICh0YXNrKSB7XG4gICAgICAgIHRhc2sucmVzZXQoKTtcbiAgICAgICAgdGFzay5zYXkoXG4gICAgICAgICAgXCJHZW5lcmljIHRhc2sgaXMgZGlzYWJsZWQuIFBsZWFzZSB1c2UgdGhlIHNwZWNpZmljIHRhc2sgZm9yIHlvdXIgZGVwbG95bWVudCB0YXJnZXQuXCIsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBSZWRlZmluZSBTeW50aCBoZXJlXG4gICAgICpcbiAgICAgKiBEZXBsb3kgYW5kIHdhdGNoIGdldCByZWNvbmZpZ3VyZWQgcGVyIGRlcGxveW1lbnQgdGFyZ2V0LlxuICAgICAqIEBzZWUgYWRkRGVwbG95bWVudFRhcmdldCgpXG4gICAgICovXG4gICAgdGhpcy5jb25maWd1cmVTeW50aFRhc2soKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKlxuICAgKiBUYXJnZXQgZmlsdGVyIGhlbHBlcnNcbiAgICpcbiAgICogUmV0dXJuIHZhcmlvdXMgdGFyZ2V0cyBmb3IgZGVwbG95bWVudCBzY3JpcHRzIHRvIHVzZS5cbiAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIEFsbCBwcm9kdWN0aW9uIGRlcGxveW1lbnQgdGFyZ2V0cy5cbiAgICovXG4gIHB1YmxpYyBnZXQgcHJvZFRhcmdldHMoKTogQXJyYXk8QXdzRGVwbG95bWVudFRhcmdldD4ge1xuICAgIHJldHVybiB0aGlzLmF3c0RlcGxveW1lbnRUYXJnZXRzLmZpbHRlcihcbiAgICAgICh0YXJnZXQpID0+IHRhcmdldC5hd3NEZXBsb3ltZW50VHlwZSA9PT0gQVdTX0RFUExPWV9UWVBFLlBST0QsXG4gICAgKTtcbiAgfVxuICBwdWJsaWMgZ2V0IHByb2RUYXJnZXRzRm9yQ0koKTogQXJyYXk8QXdzRGVwbG95bWVudFRhcmdldD4ge1xuICAgIHJldHVybiB0aGlzLmF3c0RlcGxveW1lbnRUYXJnZXRzLmZpbHRlcihcbiAgICAgICh0YXJnZXQpID0+XG4gICAgICAgIHRhcmdldC5hd3NEZXBsb3ltZW50VHlwZSA9PT0gQVdTX0RFUExPWV9UWVBFLlBST0QgJiZcbiAgICAgICAgdGFyZ2V0LmNpRGVwbG95bWVudCxcbiAgICApO1xuICB9XG4gIHB1YmxpYyBnZXQgcHJvZFRhcmdldHNGb3JMb2NhbCgpOiBBcnJheTxBd3NEZXBsb3ltZW50VGFyZ2V0PiB7XG4gICAgcmV0dXJuIHRoaXMuYXdzRGVwbG95bWVudFRhcmdldHMuZmlsdGVyKFxuICAgICAgKHRhcmdldCkgPT5cbiAgICAgICAgdGFyZ2V0LmF3c0RlcGxveW1lbnRUeXBlID09PSBBV1NfREVQTE9ZX1RZUEUuUFJPRCAmJlxuICAgICAgICB0YXJnZXQubG9jYWxEZXBsb3ltZW50LFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHJldHVybnMgQWxsIHN0YWdlIGRlcGxveW1lbnQgdGFyZ2V0cy5cbiAgICovXG4gIHB1YmxpYyBnZXQgc3RhZ2VUYXJnZXRzKCk6IEFycmF5PEF3c0RlcGxveW1lbnRUYXJnZXQ+IHtcbiAgICByZXR1cm4gdGhpcy5hd3NEZXBsb3ltZW50VGFyZ2V0cy5maWx0ZXIoXG4gICAgICAodGFyZ2V0KSA9PiB0YXJnZXQuYXdzRGVwbG95bWVudFR5cGUgPT09IEFXU19ERVBMT1lfVFlQRS5TVEFHRSxcbiAgICApO1xuICB9XG4gIHB1YmxpYyBnZXQgc3RhZ2VUYXJnZXRzRm9yQ0koKTogQXJyYXk8QXdzRGVwbG95bWVudFRhcmdldD4ge1xuICAgIHJldHVybiB0aGlzLmF3c0RlcGxveW1lbnRUYXJnZXRzLmZpbHRlcihcbiAgICAgICh0YXJnZXQpID0+XG4gICAgICAgIHRhcmdldC5hd3NEZXBsb3ltZW50VHlwZSA9PT0gQVdTX0RFUExPWV9UWVBFLlNUQUdFICYmXG4gICAgICAgIHRhcmdldC5jaURlcGxveW1lbnQsXG4gICAgKTtcbiAgfVxuICBwdWJsaWMgZ2V0IHN0YWdlVGFyZ2V0c0ZvckxvY2FsKCk6IEFycmF5PEF3c0RlcGxveW1lbnRUYXJnZXQ+IHtcbiAgICByZXR1cm4gdGhpcy5hd3NEZXBsb3ltZW50VGFyZ2V0cy5maWx0ZXIoXG4gICAgICAodGFyZ2V0KSA9PlxuICAgICAgICB0YXJnZXQuYXdzRGVwbG95bWVudFR5cGUgPT09IEFXU19ERVBMT1lfVFlQRS5TVEFHRSAmJlxuICAgICAgICB0YXJnZXQubG9jYWxEZXBsb3ltZW50LFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHJldHVybnMgQWxsIGRldiBkZXBsb3ltZW50IHRhcmdldHMuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRldlRhcmdldHMoKTogQXJyYXk8QXdzRGVwbG95bWVudFRhcmdldD4ge1xuICAgIHJldHVybiB0aGlzLmF3c0RlcGxveW1lbnRUYXJnZXRzLmZpbHRlcihcbiAgICAgICh0YXJnZXQpID0+IHRhcmdldC5hd3NEZXBsb3ltZW50VHlwZSA9PT0gQVdTX0RFUExPWV9UWVBFLkRFVixcbiAgICApO1xuICB9XG4gIHB1YmxpYyBnZXQgZGV2VGFyZ2V0c0ZvckNJKCk6IEFycmF5PEF3c0RlcGxveW1lbnRUYXJnZXQ+IHtcbiAgICByZXR1cm4gdGhpcy5hd3NEZXBsb3ltZW50VGFyZ2V0cy5maWx0ZXIoXG4gICAgICAodGFyZ2V0KSA9PlxuICAgICAgICB0YXJnZXQuYXdzRGVwbG95bWVudFR5cGUgPT09IEFXU19ERVBMT1lfVFlQRS5ERVYgJiYgdGFyZ2V0LmNpRGVwbG95bWVudCxcbiAgICApO1xuICB9XG4gIHB1YmxpYyBnZXQgZGV2VGFyZ2V0c0ZvckxvY2FsKCk6IEFycmF5PEF3c0RlcGxveW1lbnRUYXJnZXQ+IHtcbiAgICByZXR1cm4gdGhpcy5hd3NEZXBsb3ltZW50VGFyZ2V0cy5maWx0ZXIoXG4gICAgICAodGFyZ2V0KSA9PlxuICAgICAgICB0YXJnZXQuYXdzRGVwbG95bWVudFR5cGUgPT09IEFXU19ERVBMT1lfVFlQRS5ERVYgJiZcbiAgICAgICAgdGFyZ2V0LmxvY2FsRGVwbG95bWVudCxcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqXG4gICAqIFN5bnRoIFRhc2tzXG4gICAqXG4gICAqIC0gQ29uZmlndXJlIHN5bnRoIHRhc2sgdG8gdXNlIHRoZSBicmFuY2ggbmFtZVxuICAgKiAtIENoYW5nZSB0aGUgb3V0cHV0IGxvY2F0aW9uIGZvciBlYXNpZXIgd29ya2Zsb3dzLlxuICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGNvbmZpZ3VyZVN5bnRoVGFzayA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLnByb2plY3QudGFza3MudHJ5RmluZChcInN5bnRoXCIpPy5yZXNldChgcm0gLXJmICR7dGhpcy5jZGtPdXR9YCk7XG4gICAgdGhpcy5wcm9qZWN0LnRhc2tzXG4gICAgICAudHJ5RmluZChcInN5bnRoXCIpXG4gICAgICA/LmV4ZWMoYGNkayBzeW50aCAtLW91dHB1dCAke3RoaXMuY2RrT3V0fWAsIHsgZW52OiB0aGlzLmVudiB9KTtcblxuICAgIHRoaXMucHJvamVjdC50YXNrcy50cnlGaW5kKFwic3ludGg6c2lsZW50XCIpPy5yZXNldChgcm0gLXJmICR7dGhpcy5jZGtPdXR9YCk7XG4gICAgdGhpcy5wcm9qZWN0LnRhc2tzXG4gICAgICAudHJ5RmluZChcInN5bnRoOnNpbGVudFwiKVxuICAgICAgPy5leGVjKGBjZGsgc3ludGggLXEgLS1vdXRwdXQgJHt0aGlzLmNka091dH1gLCB7IGVudjogdGhpcy5lbnYgfSk7XG4gIH07XG5cbiAgcHJlU3ludGhlc2l6ZSgpOiB2b2lkIHtcbiAgICBzdXBlci5wcmVTeW50aGVzaXplKCk7XG5cbiAgICAvKipcbiAgICAgKiBJZiB0dXJibydzIGFjdGl2ZSB3ZSBzaG91bGQgZW5zdXJlIHRoZSBwb3N0IGNvbXBpbGUgdGFza1xuICAgICAqIGlzIGNvbmZpZ3VyZWQgdG8gY29uc2lkZXIgdGhlIGNkayBvdXRwdXQgZGlyZWN0b3J5IGluIGl0J3Mgcm9vdCBsb2NhdGlvbi5cbiAgICAgKi9cbiAgICBpZiAoVHVyYm9SZXBvLm9mKHRoaXMucHJvamVjdCkpIHtcbiAgICAgIGNvbnN0IHR1cmJvID0gVHVyYm9SZXBvLm9mKHRoaXMucHJvamVjdCkhO1xuICAgICAgdHVyYm8ucG9zdENvbXBpbGVUYXNrPy5vdXRwdXRzLnB1c2goam9pbih0aGlzLmNka091dCwgXCIqKlwiKSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWRlcGxveW1lbnQtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3cy9hd3MtZGVwbG95bWVudC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQTJDO0FBQzNDLG1DQUFtQztBQUVuQyxtRUFBOEU7QUFDOUUsb0NBQXFDO0FBRXJDOzs7Ozs7Ozs7Z0ZBU2dGO0FBRWhGOztFQUVFO0FBRUYsTUFBYSxtQkFBb0IsU0FBUSxrQkFBUztJQUN6QyxNQUFNLENBQUMsRUFBRSxDQUNkLE9BQTRCO1FBRTVCLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBWSxFQUE0QixFQUFFLENBQzNELENBQUMsWUFBWSxtQkFBbUIsQ0FBQztRQUNuQyxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFnQ0QsWUFBWSxPQUE0QjtRQUN0QyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFOakI7O1dBRUc7UUFDYSx5QkFBb0IsR0FBK0IsRUFBRSxDQUFDO1FBNkd0RTs7Ozs7OztzRkFPOEU7UUFFdEUsdUJBQWtCLEdBQUcsR0FBUyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLENBQUMsVUFBVSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUNwRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUs7aUJBQ2YsT0FBTyxDQUFDLE9BQU8sQ0FBQztnQkFDakIsRUFBRSxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUVqRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUUsS0FBSyxDQUFDLFVBQVUsSUFB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QUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMvRCxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBbkxELGtEQW1MQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpvaW4sIHJlbGF0aXZlIH0gZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcInByb2plblwiO1xuaW1wb3J0IHsgQXdzQ2RrVHlwZVNjcmlwdEFwcCB9IGZyb20gXCJwcm9qZW4vbGliL2F3c2Nka1wiO1xuaW1wb3J0IHsgQVdTX1NUQUdFX1RZUEUsIEF3c0RlcGxveW1lbnRUYXJnZXQgfSBmcm9tIFwiLi9hd3MtZGVwbG95bWVudC10YXJnZXRcIjtcbmltcG9ydCB7IFR1cmJvUmVwbyB9IGZyb20gXCIuLi90dXJib1wiO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICpcbiAqIEFXUyBEZXBsb3ltZW50IENvbmZpZ3VyYXRpb25cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCBhbGxvd3MgY29uZmlndXJhdGlvbiBvZiBtdWx0aXBsZSBBV1MgZGVwbG95bWVudFxuICogdGFyZ2V0cywgZWFjaCB3aXRoIGl0cyBvd24gYWNjb3VudCwgcmVnaW9uLCBhbmQgZGVwbG95bWVudCB0eXBlXG4gKiAoZGV2LCBzdGFnZSwgcHJvZCkuIEl0IHN1cHBvcnRzIGJvdGggbG9jYWwgYW5kIENJIGRlcGxveW1lbnRzLFxuICogd2l0aCBjdXN0b21pemFibGUgc2V0dGluZ3MgZm9yIGVhY2ggdGFyZ2V0LlxuICpcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qXG5leHBvcnQgaW50ZXJmYWNlIEF3c0RlcGxveW1lbnRDb25maWdPcHRpb25zIHt9XG4qL1xuXG5leHBvcnQgY2xhc3MgQXdzRGVwbG95bWVudENvbmZpZyBleHRlbmRzIENvbXBvbmVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb2YoXG4gICAgcHJvamVjdDogQXdzQ2RrVHlwZVNjcmlwdEFwcCxcbiAgKTogQXdzRGVwbG95bWVudENvbmZpZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaXNEZWZpbmVkID0gKGM6IENvbXBvbmVudCk6IGMgaXMgQXdzRGVwbG95bWVudENvbmZpZyA9PlxuICAgICAgYyBpbnN0YW5jZW9mIEF3c0RlcGxveW1lbnRDb25maWc7XG4gICAgcmV0dXJuIHByb2plY3QuY29tcG9uZW50cy5maW5kKGlzRGVmaW5lZCk7XG4gIH1cblxuICAvKipcbiAgICogRW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIGJlIGluamVjdGVkIGludG8gYWxsIHRhc2tzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGVudjogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogVGhlIHJlbGF0aXZlIHBhdGggdG8gdGhlIHByb2plY3QgZGlyZWN0b3J5IGZyb20gdGhlIHJvb3Qgb2YgdGhlIHByb2plY3QuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvamVjdFBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJlbGF0aXZlIHBhdGggdG8gdGhlIHJvb3Qgb2YgdGhlIHByb2plY3QgZnJvbSB0aGUgb3V0cHV0IGRpcmVjdG9yeS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByb290UGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgb3V0cHV0IGRpcmVjdG9yeSBmb3IgdGhlIENESyBzeW50aGVzaXMsIGZyb20gdGhlIHJvb3QgZGlyZWN0b3J5LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJvb3RDZGtPdXQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG91dHB1dCBkaXJlY3RvcnkgZm9yIHRoZSBDREsgc3ludGhlc2lzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNka091dDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBcnJheSBvZiB0YXJnZXRzIGZvciBkZXBsb3ltZW50LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGF3c0RlcGxveW1lbnRUYXJnZXRzOiBBcnJheTxBd3NEZXBsb3ltZW50VGFyZ2V0PiA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IEF3c0Nka1R5cGVTY3JpcHRBcHApIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIC8qKlxuICAgICAqIENvbW1vbiB2YXJpYWJsZXMgdXNlZCBhY3Jvc3MgdGFza3MuXG4gICAgICovXG4gICAgdGhpcy5lbnYgPSB7IEdJVF9CUkFOQ0g6IFwiJChnaXQgYnJhbmNoIC0tc2hvdy1jdXJyZW50KVwiIH07XG4gICAgdGhpcy5wcm9qZWN0UGF0aCA9IHJlbGF0aXZlKHByb2plY3Qucm9vdC5vdXRkaXIsIHByb2plY3Qub3V0ZGlyKTtcbiAgICB0aGlzLnJvb3RQYXRoID0gcmVsYXRpdmUocHJvamVjdC5vdXRkaXIsIHByb2plY3Qucm9vdC5vdXRkaXIpO1xuICAgIHRoaXMucm9vdENka091dCA9IGpvaW4oXCJkaXN0XCIsIHRoaXMucHJvamVjdFBhdGgsIFwiY2RrLm91dFwiKTtcbiAgICB0aGlzLmNka091dCA9IGpvaW4odGhpcy5yb290UGF0aCwgXCJkaXN0XCIsIHRoaXMucHJvamVjdFBhdGgsIFwiY2RrLm91dFwiKTtcblxuICAgIC8qKlxuICAgICAqIFJlc2V0IHNvbWUgdGFza3Mgd2Ugd2lsbCByZWJ1aWxkIGJlbG93LlxuICAgICAqL1xuICAgIFtcImRlcGxveVwiLCBcIndhdGNoXCJdLmZvckVhY2goKHRhc2tOYW1lKSA9PiB7XG4gICAgICBjb25zdCB0YXNrID0gcHJvamVjdC50YXNrcy50cnlGaW5kKHRhc2tOYW1lKTtcbiAgICAgIGlmICh0YXNrKSB7XG4gICAgICAgIHRhc2sucmVzZXQoKTtcbiAgICAgICAgdGFzay5zYXkoXG4gICAgICAgICAgXCJHZW5lcmljIHRhc2sgaXMgZGlzYWJsZWQuIFBsZWFzZSB1c2UgdGhlIHNwZWNpZmljIHRhc2sgZm9yIHlvdXIgZGVwbG95bWVudCB0YXJnZXQuXCIsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBSZWRlZmluZSBTeW50aCBoZXJlXG4gICAgICpcbiAgICAgKiBEZXBsb3kgYW5kIHdhdGNoIGdldCByZWNvbmZpZ3VyZWQgcGVyIGRlcGxveW1lbnQgdGFyZ2V0LlxuICAgICAqIEBzZWUgYWRkRGVwbG95bWVudFRhcmdldCgpXG4gICAgICovXG4gICAgdGhpcy5jb25maWd1cmVTeW50aFRhc2soKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKlxuICAgKiBUYXJnZXQgZmlsdGVyIGhlbHBlcnNcbiAgICpcbiAgICogUmV0dXJuIHZhcmlvdXMgdGFyZ2V0cyBmb3IgZGVwbG95bWVudCBzY3JpcHRzIHRvIHVzZS5cbiAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIEFsbCBwcm9kdWN0aW9uIGRlcGxveW1lbnQgdGFyZ2V0cy5cbiAgICovXG4gIHB1YmxpYyBnZXQgcHJvZFRhcmdldHMoKTogQXJyYXk8QXdzRGVwbG95bWVudFRhcmdldD4ge1xuICAgIHJldHVybiB0aGlzLmF3c0RlcGxveW1lbnRUYXJnZXRzLmZpbHRlcihcbiAgICAgICh0YXJnZXQpID0+IHRhcmdldC5hd3NTdGFnZVR5cGUgPT09IEFXU19TVEFHRV9UWVBFLlBST0QsXG4gICAgKTtcbiAgfVxuICBwdWJsaWMgZ2V0IHByb2RUYXJnZXRzRm9yQ0koKTogQXJyYXk8QXdzRGVwbG95bWVudFRhcmdldD4ge1xuICAgIHJldHVybiB0aGlzLmF3c0RlcGxveW1lbnRUYXJnZXRzLmZpbHRlcihcbiAgICAgICh0YXJnZXQpID0+XG4gICAgICAgIHRhcmdldC5hd3NTdGFnZVR5cGUgPT09IEFXU19TVEFHRV9UWVBFLlBST0QgJiYgdGFyZ2V0LmNpRGVwbG95bWVudCxcbiAgICApO1xuICB9XG4gIHB1YmxpYyBnZXQgcHJvZFRhcmdldHNGb3JMb2NhbCgpOiBBcnJheTxBd3NEZXBsb3ltZW50VGFyZ2V0PiB7XG4gICAgcmV0dXJuIHRoaXMuYXdzRGVwbG95bWVudFRhcmdldHMuZmlsdGVyKFxuICAgICAgKHRhcmdldCkgPT5cbiAgICAgICAgdGFyZ2V0LmF3c1N0YWdlVHlwZSA9PT0gQVdTX1NUQUdFX1RZUEUuUFJPRCAmJiB0YXJnZXQubG9jYWxEZXBsb3ltZW50LFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHJldHVybnMgQWxsIHN0YWdlIGRlcGxveW1lbnQgdGFyZ2V0cy5cbiAgICovXG4gIHB1YmxpYyBnZXQgc3RhZ2VUYXJnZXRzKCk6IEFycmF5PEF3c0RlcGxveW1lbnRUYXJnZXQ+IHtcbiAgICByZXR1cm4gdGhpcy5hd3NEZXBsb3ltZW50VGFyZ2V0cy5maWx0ZXIoXG4gICAgICAodGFyZ2V0KSA9PiB0YXJnZXQuYXdzU3RhZ2VUeXBlID09PSBBV1NfU1RBR0VfVFlQRS5TVEFHRSxcbiAgICApO1xuICB9XG4gIHB1YmxpYyBnZXQgc3RhZ2VUYXJnZXRzRm9yQ0koKTogQXJyYXk8QXdzRGVwbG95bWVudFRhcmdldD4ge1xuICAgIHJldHVybiB0aGlzLmF3c0RlcGxveW1lbnRUYXJnZXRzLmZpbHRlcihcbiAgICAgICh0YXJnZXQpID0+XG4gICAgICAgIHRhcmdldC5hd3NTdGFnZVR5cGUgPT09IEFXU19TVEFHRV9UWVBFLlNUQUdFICYmIHRhcmdldC5jaURlcGxveW1lbnQsXG4gICAgKTtcbiAgfVxuICBwdWJsaWMgZ2V0IHN0YWdlVGFyZ2V0c0ZvckxvY2FsKCk6IEFycmF5PEF3c0RlcGxveW1lbnRUYXJnZXQ+IHtcbiAgICByZXR1cm4gdGhpcy5hd3NEZXBsb3ltZW50VGFyZ2V0cy5maWx0ZXIoXG4gICAgICAodGFyZ2V0KSA9PlxuICAgICAgICB0YXJnZXQuYXdzU3RhZ2VUeXBlID09PSBBV1NfU1RBR0VfVFlQRS5TVEFHRSAmJiB0YXJnZXQubG9jYWxEZXBsb3ltZW50LFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHJldHVybnMgQWxsIGRldiBkZXBsb3ltZW50IHRhcmdldHMuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRldlRhcmdldHMoKTogQXJyYXk8QXdzRGVwbG95bWVudFRhcmdldD4ge1xuICAgIHJldHVybiB0aGlzLmF3c0RlcGxveW1lbnRUYXJnZXRzLmZpbHRlcihcbiAgICAgICh0YXJnZXQpID0+IHRhcmdldC5hd3NTdGFnZVR5cGUgPT09IEFXU19TVEFHRV9UWVBFLkRFVixcbiAgICApO1xuICB9XG4gIHB1YmxpYyBnZXQgZGV2VGFyZ2V0c0ZvckNJKCk6IEFycmF5PEF3c0RlcGxveW1lbnRUYXJnZXQ+IHtcbiAgICByZXR1cm4gdGhpcy5hd3NEZXBsb3ltZW50VGFyZ2V0cy5maWx0ZXIoXG4gICAgICAodGFyZ2V0KSA9PlxuICAgICAgICB0YXJnZXQuYXdzU3RhZ2VUeXBlID09PSBBV1NfU1RBR0VfVFlQRS5ERVYgJiYgdGFyZ2V0LmNpRGVwbG95bWVudCxcbiAgICApO1xuICB9XG4gIHB1YmxpYyBnZXQgZGV2VGFyZ2V0c0ZvckxvY2FsKCk6IEFycmF5PEF3c0RlcGxveW1lbnRUYXJnZXQ+IHtcbiAgICByZXR1cm4gdGhpcy5hd3NEZXBsb3ltZW50VGFyZ2V0cy5maWx0ZXIoXG4gICAgICAodGFyZ2V0KSA9PlxuICAgICAgICB0YXJnZXQuYXdzU3RhZ2VUeXBlID09PSBBV1NfU1RBR0VfVFlQRS5ERVYgJiYgdGFyZ2V0LmxvY2FsRGVwbG95bWVudCxcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqXG4gICAqIFN5bnRoIFRhc2tzXG4gICAqXG4gICAqIC0gQ29uZmlndXJlIHN5bnRoIHRhc2sgdG8gdXNlIHRoZSBicmFuY2ggbmFtZVxuICAgKiAtIENoYW5nZSB0aGUgb3V0cHV0IGxvY2F0aW9uIGZvciBlYXNpZXIgd29ya2Zsb3dzLlxuICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGNvbmZpZ3VyZVN5bnRoVGFzayA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLnByb2plY3QudGFza3MudHJ5RmluZChcInN5bnRoXCIpPy5yZXNldChgcm0gLXJmICR7dGhpcy5jZGtPdXR9YCk7XG4gICAgdGhpcy5wcm9qZWN0LnRhc2tzXG4gICAgICAudHJ5RmluZChcInN5bnRoXCIpXG4gICAgICA/LmV4ZWMoYGNkayBzeW50aCAtLW91dHB1dCAke3RoaXMuY2RrT3V0fWAsIHsgZW52OiB0aGlzLmVudiB9KTtcblxuICAgIHRoaXMucHJvamVjdC50YXNrcy50cnlGaW5kKFwic3ludGg6c2lsZW50XCIpPy5yZXNldChgcm0gLXJmICR7dGhpcy5jZGtPdXR9YCk7XG4gICAgdGhpcy5wcm9qZWN0LnRhc2tzXG4gICAgICAudHJ5RmluZChcInN5bnRoOnNpbGVudFwiKVxuICAgICAgPy5leGVjKGBjZGsgc3ludGggLXEgLS1vdXRwdXQgJHt0aGlzLmNka091dH1gLCB7IGVudjogdGhpcy5lbnYgfSk7XG4gIH07XG5cbiAgcHJlU3ludGhlc2l6ZSgpOiB2b2lkIHtcbiAgICBzdXBlci5wcmVTeW50aGVzaXplKCk7XG5cbiAgICAvKipcbiAgICAgKiBJZiB0dXJibydzIGFjdGl2ZSB3ZSBzaG91bGQgZW5zdXJlIHRoZSBwb3N0IGNvbXBpbGUgdGFza1xuICAgICAqIGlzIGNvbmZpZ3VyZWQgdG8gY29uc2lkZXIgdGhlIGNkayBvdXRwdXQgZGlyZWN0b3J5IGluIGl0J3Mgcm9vdCBsb2NhdGlvbi5cbiAgICAgKi9cbiAgICBpZiAoVHVyYm9SZXBvLm9mKHRoaXMucHJvamVjdCkpIHtcbiAgICAgIGNvbnN0IHR1cmJvID0gVHVyYm9SZXBvLm9mKHRoaXMucHJvamVjdCkhO1xuICAgICAgdHVyYm8ucG9zdENvbXBpbGVUYXNrPy5vdXRwdXRzLnB1c2goam9pbih0aGlzLmNka091dCwgXCIqKlwiKSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -9,7 +9,12 @@ import { GitBranch } from "../git";
|
|
|
9
9
|
* A single deployment target that CDK applications can be deployed into.
|
|
10
10
|
*
|
|
11
11
|
******************************************************************************/
|
|
12
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Stage Types
|
|
14
|
+
*
|
|
15
|
+
* What stage of deployment is this? Dev, staging, or prod?
|
|
16
|
+
*/
|
|
17
|
+
export declare const AWS_STAGE_TYPE: {
|
|
13
18
|
/**
|
|
14
19
|
* Development environment, typically used for testing and development.
|
|
15
20
|
*/
|
|
@@ -26,7 +31,28 @@ export declare const AWS_DEPLOY_TYPE: {
|
|
|
26
31
|
/**
|
|
27
32
|
* Above const as a type.
|
|
28
33
|
*/
|
|
29
|
-
export type
|
|
34
|
+
export type AwsStageType = (typeof AWS_STAGE_TYPE)[keyof typeof AWS_STAGE_TYPE];
|
|
35
|
+
/**
|
|
36
|
+
* Environment Types
|
|
37
|
+
*
|
|
38
|
+
* Is this a primary of secondary region / environment?
|
|
39
|
+
*/
|
|
40
|
+
export declare const AWS_ENVIRONMENT_TYPE: {
|
|
41
|
+
/**
|
|
42
|
+
* Account and region that represents the primary region for this service.
|
|
43
|
+
* For example, the base DynamoDB Region for global tables.
|
|
44
|
+
*/
|
|
45
|
+
readonly PRIMARY: "primary";
|
|
46
|
+
/**
|
|
47
|
+
* Account and region that represents a secondary region for this service.
|
|
48
|
+
* For example, a replica region for a global DynamoDB table.
|
|
49
|
+
*/
|
|
50
|
+
readonly SECONDARY: "secondary";
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Above const as a type.
|
|
54
|
+
*/
|
|
55
|
+
export type AwsEnvironmentType = (typeof AWS_ENVIRONMENT_TYPE)[keyof typeof AWS_ENVIRONMENT_TYPE];
|
|
30
56
|
/**
|
|
31
57
|
* Represents the configuration for local deployment in AWS.
|
|
32
58
|
*/
|
|
@@ -40,7 +66,7 @@ export interface AwsLocalDeploymentConfig {
|
|
|
40
66
|
/**
|
|
41
67
|
* Named Role used to conduct local deployments.
|
|
42
68
|
*
|
|
43
|
-
* @default "
|
|
69
|
+
* @default "poweruseraccess"
|
|
44
70
|
*/
|
|
45
71
|
readonly roleName?: string;
|
|
46
72
|
/**
|
|
@@ -80,7 +106,13 @@ export interface AwsDeploymentTargetOptions {
|
|
|
80
106
|
*
|
|
81
107
|
* @default 'dev'
|
|
82
108
|
*/
|
|
83
|
-
readonly
|
|
109
|
+
readonly awsStageType?: AwsStageType;
|
|
110
|
+
/**
|
|
111
|
+
* AWS environment type, such as primary or secondary.
|
|
112
|
+
*
|
|
113
|
+
* @default 'primary'
|
|
114
|
+
*/
|
|
115
|
+
readonly awsEnvironmentType?: AwsEnvironmentType;
|
|
84
116
|
/**
|
|
85
117
|
* The AWS profile to use for this deployment target.
|
|
86
118
|
*
|
|
@@ -119,11 +151,17 @@ export declare class AwsDeploymentTarget extends Component {
|
|
|
119
151
|
*/
|
|
120
152
|
region: string;
|
|
121
153
|
/**'
|
|
122
|
-
* AWS
|
|
154
|
+
* AWS stage type, such as dev, stage, or prod.
|
|
123
155
|
*
|
|
124
156
|
* @default 'dev'
|
|
125
157
|
*/
|
|
126
|
-
|
|
158
|
+
awsStageType: AwsStageType;
|
|
159
|
+
/**
|
|
160
|
+
* AWS environment type, such as primary or secondary.
|
|
161
|
+
*
|
|
162
|
+
* @default 'primary'
|
|
163
|
+
*/
|
|
164
|
+
awsEnvironmentType: AwsEnvironmentType;
|
|
127
165
|
/**
|
|
128
166
|
* The AWS profile to use for this deployment target.
|
|
129
167
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AwsDeploymentTarget = exports.
|
|
3
|
+
exports.AwsDeploymentTarget = exports.AWS_ENVIRONMENT_TYPE = exports.AWS_STAGE_TYPE = void 0;
|
|
4
4
|
const projen_1 = require("projen");
|
|
5
5
|
const aws_deployment_config_1 = require("./aws-deployment-config");
|
|
6
6
|
/*******************************************************************************
|
|
@@ -10,7 +10,12 @@ const aws_deployment_config_1 = require("./aws-deployment-config");
|
|
|
10
10
|
* A single deployment target that CDK applications can be deployed into.
|
|
11
11
|
*
|
|
12
12
|
******************************************************************************/
|
|
13
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Stage Types
|
|
15
|
+
*
|
|
16
|
+
* What stage of deployment is this? Dev, staging, or prod?
|
|
17
|
+
*/
|
|
18
|
+
exports.AWS_STAGE_TYPE = {
|
|
14
19
|
/**
|
|
15
20
|
* Development environment, typically used for testing and development.
|
|
16
21
|
*/
|
|
@@ -24,6 +29,23 @@ exports.AWS_DEPLOY_TYPE = {
|
|
|
24
29
|
*/
|
|
25
30
|
PROD: "prod",
|
|
26
31
|
};
|
|
32
|
+
/**
|
|
33
|
+
* Environment Types
|
|
34
|
+
*
|
|
35
|
+
* Is this a primary of secondary region / environment?
|
|
36
|
+
*/
|
|
37
|
+
exports.AWS_ENVIRONMENT_TYPE = {
|
|
38
|
+
/**
|
|
39
|
+
* Account and region that represents the primary region for this service.
|
|
40
|
+
* For example, the base DynamoDB Region for global tables.
|
|
41
|
+
*/
|
|
42
|
+
PRIMARY: "primary",
|
|
43
|
+
/**
|
|
44
|
+
* Account and region that represents a secondary region for this service.
|
|
45
|
+
* For example, a replica region for a global DynamoDB table.
|
|
46
|
+
*/
|
|
47
|
+
SECONDARY: "secondary",
|
|
48
|
+
};
|
|
27
49
|
class AwsDeploymentTarget extends projen_1.Component {
|
|
28
50
|
/**
|
|
29
51
|
* Static method to discovert targets in a project.
|
|
@@ -51,7 +73,7 @@ class AwsDeploymentTarget extends projen_1.Component {
|
|
|
51
73
|
if (this.localDeployment) {
|
|
52
74
|
const taskName = [
|
|
53
75
|
"deploy",
|
|
54
|
-
this.
|
|
76
|
+
this.awsStageType,
|
|
55
77
|
this.account,
|
|
56
78
|
this.region,
|
|
57
79
|
].join(":");
|
|
@@ -73,7 +95,7 @@ class AwsDeploymentTarget extends projen_1.Component {
|
|
|
73
95
|
if (this.localDeployment) {
|
|
74
96
|
const taskName = [
|
|
75
97
|
"watch",
|
|
76
|
-
this.
|
|
98
|
+
this.awsStageType,
|
|
77
99
|
this.account,
|
|
78
100
|
this.region,
|
|
79
101
|
].join(":");
|
|
@@ -99,12 +121,17 @@ class AwsDeploymentTarget extends projen_1.Component {
|
|
|
99
121
|
/**
|
|
100
122
|
* Set default type
|
|
101
123
|
*/
|
|
102
|
-
this.
|
|
124
|
+
this.awsStageType = options.awsStageType || exports.AWS_STAGE_TYPE.DEV;
|
|
125
|
+
/**
|
|
126
|
+
* Set default environment type
|
|
127
|
+
*/
|
|
128
|
+
this.awsEnvironmentType =
|
|
129
|
+
options.awsEnvironmentType || exports.AWS_ENVIRONMENT_TYPE.PRIMARY;
|
|
103
130
|
/**
|
|
104
131
|
* Set default Branches
|
|
105
132
|
*/
|
|
106
133
|
this.branches =
|
|
107
|
-
options.branches || this.
|
|
134
|
+
options.branches || this.awsStageType === exports.AWS_STAGE_TYPE.PROD
|
|
108
135
|
? [
|
|
109
136
|
{
|
|
110
137
|
branch: "main",
|
|
@@ -119,17 +146,17 @@ class AwsDeploymentTarget extends projen_1.Component {
|
|
|
119
146
|
* Set default for local deployment
|
|
120
147
|
*/
|
|
121
148
|
this.localDeployment =
|
|
122
|
-
options.localDeployment ?? this.
|
|
149
|
+
options.localDeployment ?? this.awsStageType === exports.AWS_STAGE_TYPE.DEV;
|
|
123
150
|
/**
|
|
124
151
|
* Some default configurations for local deployments.
|
|
125
152
|
*/
|
|
126
153
|
if (this.localDeployment) {
|
|
127
154
|
const roleName = options.localDeploymentConfig?.roleName?.toLowerCase() ||
|
|
128
|
-
"
|
|
155
|
+
"poweruseraccess";
|
|
129
156
|
const profile = options.localDeploymentConfig?.profile ||
|
|
130
|
-
`${roleName}-${this.
|
|
157
|
+
`${roleName}-${this.awsStageType}-${this.account}-${this.region}`;
|
|
131
158
|
const stackPattern = options.localDeploymentConfig?.stackPattern ||
|
|
132
|
-
|
|
159
|
+
`${this.awsStageType}/${this.awsEnvironmentType}/*-${this.account}-${this.region}`;
|
|
133
160
|
this.localDeploymentConfig = {
|
|
134
161
|
profile,
|
|
135
162
|
roleName,
|
|
@@ -171,4 +198,4 @@ class AwsDeploymentTarget extends projen_1.Component {
|
|
|
171
198
|
}
|
|
172
199
|
}
|
|
173
200
|
exports.AwsDeploymentTarget = AwsDeploymentTarget;
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWRlcGxveW1lbnQtdGFyZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3cy9hd3MtZGVwbG95bWVudC10YXJnZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW1DO0FBRW5DLG1FQUE4RDtBQUc5RDs7Ozs7O2dGQU1nRjtBQUVuRSxRQUFBLGVBQWUsR0FBRztJQUM3Qjs7T0FFRztJQUNILEdBQUcsRUFBRSxLQUFLO0lBRVY7O09BRUc7SUFDSCxLQUFLLEVBQUUsT0FBTztJQUVkOztPQUVHO0lBQ0gsSUFBSSxFQUFFLE1BQU07Q0FDSixDQUFDO0FBdUdYLE1BQWEsbUJBQW9CLFNBQVEsa0JBQVM7SUFDaEQ7O09BRUc7SUFDSSxNQUFNLENBQUMsRUFBRSxDQUNkLE9BQTRCO1FBRTVCLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBWSxFQUE0QixFQUFFLENBQzNELENBQUMsWUFBWSxtQkFBbUIsQ0FBQztRQUNuQyxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUF1REQsWUFDRSxPQUE0QixFQUM1QixPQUFtQztRQUVuQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUF4Q2pCOzs7O1dBSUc7UUFDSSxhQUFRLEdBQXFCLEVBQUUsQ0FBQztRQXdJdkM7Ozs7OztzRkFNOEU7UUFFdEUsd0JBQW1CLEdBQUcsR0FBUyxFQUFFO1lBQ3ZDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUN6QixNQUFNLFFBQVEsR0FBRztvQkFDZixRQUFRO29CQUNSLElBQUksQ0FBQyxpQkFBaUI7b0JBQ3RCLElBQUksQ0FBQyxPQUFPO29CQUNaLElBQUksQ0FBQyxNQUFNO2lCQUNaLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNaLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxR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QUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0NBaUVGO0FBek9ELGtEQXlPQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJwcm9qZW5cIjtcbmltcG9ydCB7IEF3c0Nka1R5cGVTY3JpcHRBcHAgfSBmcm9tIFwicHJvamVuL2xpYi9hd3NjZGtcIjtcbmltcG9ydCB7IEF3c0RlcGxveW1lbnRDb25maWcgfSBmcm9tIFwiLi9hd3MtZGVwbG95bWVudC1jb25maWdcIjtcbmltcG9ydCB7IEdpdEJyYW5jaCB9IGZyb20gXCIuLi9naXRcIjtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqXG4gKiBBV1MgRGVwbG95bWVudCBDb25maWd1cmF0aW9uXG4gKlxuICogQSBzaW5nbGUgZGVwbG95bWVudCB0YXJnZXQgdGhhdCBDREsgYXBwbGljYXRpb25zIGNhbiBiZSBkZXBsb3llZCBpbnRvLlxuICpcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmV4cG9ydCBjb25zdCBBV1NfREVQTE9ZX1RZUEUgPSB7XG4gIC8qKlxuICAgKiBEZXZlbG9wbWVudCBlbnZpcm9ubWVudCwgdHlwaWNhbGx5IHVzZWQgZm9yIHRlc3RpbmcgYW5kIGRldmVsb3BtZW50LlxuICAgKi9cbiAgREVWOiBcImRldlwiLFxuXG4gIC8qKlxuICAgKiBTdGFnaW5nIGVudmlyb25tZW50LCB1c2VkIGZvciBwcmUtcHJvZHVjdGlvbiB0ZXN0aW5nLlxuICAgKi9cbiAgU1RBR0U6IFwic3RhZ2VcIixcblxuICAvKipcbiAgICogUHJvZHVjdGlvbiBlbnZpcm9ubWVudCwgdXNlZCBmb3IgbGl2ZSBkZXBsb3ltZW50cy5cbiAgICovXG4gIFBST0Q6IFwicHJvZFwiLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBBYm92ZSBjb25zdCBhcyBhIHR5cGUuXG4gKi9cbmV4cG9ydCB0eXBlIEF3c0RlcGxveW1lbnRUeXBlID1cbiAgKHR5cGVvZiBBV1NfREVQTE9ZX1RZUEUpW2tleW9mIHR5cGVvZiBBV1NfREVQTE9ZX1RZUEVdO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGNvbmZpZ3VyYXRpb24gZm9yIGxvY2FsIGRlcGxveW1lbnQgaW4gQVdTLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF3c0xvY2FsRGVwbG95bWVudENvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgQVdTIHByb2ZpbGUgKGluIH4vLmF3cy9jb25maWcpIHRvIHVzZSBmb3IgbG9jYWwgZGVwbG95bWVudC5cbiAgICpcbiAgICogQGRlZmF1bHQgZ2VuZXJhdGVkIGR5bmFtaWNhbGx5IGJhc2VkIHJvbGUgbmFtZSwgYWNjb3VudCBhbmQgcmVnaW9uXG4gICAqL1xuICByZWFkb25seSBwcm9maWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lZCBSb2xlIHVzZWQgdG8gY29uZHVjdCBsb2NhbCBkZXBsb3ltZW50cy5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJhZG1pbmlzdHJhdG9yYWNjZXNzXCJcbiAgICovXG4gIHJlYWRvbmx5IHJvbGVOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0dGVybiB1c2VkIHRvIGlkZW50aWZ5IHN0YWNrcyB0byBkZXBsb3kgaW4gQ0kgZGVwbG95bWVudHMuXG4gICAqXG4gICAqIEBkZWZhdWx0ICotJHthY2NvdW50fS0ke3JlZ2lvbn1cbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrUGF0dGVybj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaURlcGxveW1lbnRDb25maWcge1xuICAvKipcbiAgICogVGhlIE9JREMgSUFNIFJvbGUgdG8gYXNzdW1lIGZvciBDSSBkZXBsb3ltZW50cy5cbiAgICovXG4gIHJlYWRvbmx5IHJvbGVBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdHRlcm4gdXNlZCB0byBpZGVudGlmeSBzdGFja3MgdG8gZGVwbG95IGluIENJIGRlcGxveW1lbnRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAqLSR7YWNjb3VudH0tJHtyZWdpb259XG4gICAqL1xuICByZWFkb25seSBzdGFja1BhdHRlcm4/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGRlcGxveW1lbnQgdGFyZ2V0IGluIEFXUywgaW5jbHVkaW5nIGFjY291bnQgYW5kIHJlZ2lvbiwgYW5kXG4gKiBicmFuY2hlcyBhbGxvd2VkIHRvIGRlcGxveSB0byB0aGlzIHRhcmdldC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBd3NEZXBsb3ltZW50VGFyZ2V0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgYWNjb3VudCBuYW1lIGZvciB0aGUgZGVwbG95bWVudCB0YXJnZXQuXG4gICAqL1xuICByZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBV1MgcmVnaW9uIGZvciB0aGUgZGVwbG95bWVudCB0YXJnZXQuXG4gICAqL1xuICByZWFkb25seSByZWdpb246IHN0cmluZztcblxuICAvKipcbiAgICogQVdTIGRlcGxveW1lbnQgdHlwZSwgc3VjaCBhcyBkZXYsIHN0YWdlLCBvciBwcm9kLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnZGV2J1xuICAgKi9cbiAgcmVhZG9ubHkgYXdzRGVwbG95bWVudFR5cGU/OiBBd3NEZXBsb3ltZW50VHlwZTtcblxuICAvKipcbiAgICogVGhlIEFXUyBwcm9maWxlIHRvIHVzZSBmb3IgdGhpcyBkZXBsb3ltZW50IHRhcmdldC5cbiAgICpcbiAgICogQGRlZmF1bHQgWydtYWluJ10gd2hlbiBwcm9kIHJlbGVhc2UgdHlwZSwgWydmZWF0dXJlLyonXSB3aGVuIGRldiB0eXBlXG4gICAqL1xuICByZWFkb25seSBicmFuY2hlcz86IEFycmF5PEdpdEJyYW5jaD47XG5cbiAgLyoqXG4gICAqIENhbiB0aGlzIGRlcGxveW1lbnQgdGFyZ2V0IGJlIHVzZWQgZm9yIGxvY2FsIGRldmVsb3BtZW50P1xuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlIGZvciBkZXYgZW52aXJvbm1lbnRzLCBmYWxzZSBmb3IgcHJvZCBlbnZpcm9ubWVudHNcbiAgICovXG4gIHJlYWRvbmx5IGxvY2FsRGVwbG95bWVudD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gd2hlbiBkZXBsb3lpbmcgdG8gdGhpcyB0YXJnZXQgbG9jYWxseS5cbiAgICovXG4gIHJlYWRvbmx5IGxvY2FsRGVwbG95bWVudENvbmZpZz86IEF3c0xvY2FsRGVwbG95bWVudENvbmZpZztcblxuICAvKipcbiAgICogQ2FuIHRoaXMgZGVwbG95bWVudCB0YXJnZXQgYmUgdXNlZCBpbiBDSSBkZXBsb3ltZW50cz9cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNpRGVwbG95bWVudD86IGJvb2xlYW47XG5cbiAgLypcbiAgICogQ29uZmlndXJhdGlvbiB3aGVuIGRlcGxveWluZyB0byB0aGlzIHRhcmdldCBpbiBDSS5cblxuICAgKi9cbiAgcmVhZG9ubHkgY2lEZXBsb3ltZW50Q29uZmlnPzogQ2lEZXBsb3ltZW50Q29uZmlnO1xufVxuXG5leHBvcnQgY2xhc3MgQXdzRGVwbG95bWVudFRhcmdldCBleHRlbmRzIENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBTdGF0aWMgbWV0aG9kIHRvIGRpc2NvdmVydCB0YXJnZXRzIGluIGEgcHJvamVjdC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgb2YoXG4gICAgcHJvamVjdDogQXdzQ2RrVHlwZVNjcmlwdEFwcCxcbiAgKTogQXJyYXk8QXdzRGVwbG95bWVudFRhcmdldD4gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGlzRGVmaW5lZCA9IChjOiBDb21wb25lbnQpOiBjIGlzIEF3c0RlcGxveW1lbnRUYXJnZXQgPT5cbiAgICAgIGMgaW5zdGFuY2VvZiBBd3NEZXBsb3ltZW50VGFyZ2V0O1xuICAgIHJldHVybiBwcm9qZWN0LmNvbXBvbmVudHMuZmlsdGVyKGlzRGVmaW5lZCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGFjY291bnQgbmFtZSBmb3IgdGhlIGRlcGxveW1lbnQgdGFyZ2V0LlxuICAgKi9cbiAgcHVibGljIGFjY291bnQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFXUyByZWdpb24gZm9yIHRoZSBkZXBsb3ltZW50IHRhcmdldC5cbiAgICovXG4gIHB1YmxpYyByZWdpb246IHN0cmluZztcblxuICAvKionXG4gICAqIEFXUyBkZXBsb3ltZW50IHR5cGUsIHN1Y2ggYXMgZGV2LCBzdGFnZSwgb3IgcHJvZC5cbiAgICpcbiAgICogQGRlZmF1bHQgJ2RldidcbiAgICovXG4gIHB1YmxpYyBhd3NEZXBsb3ltZW50VHlwZT86IEF3c0RlcGxveW1lbnRUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIHByb2ZpbGUgdG8gdXNlIGZvciB0aGlzIGRlcGxveW1lbnQgdGFyZ2V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCBbJ21haW4nXSB3aGVuIHByb2QgcmVsZWFzZSB0eXBlLCBbJ2ZlYXR1cmUvKiddIHdoZW4gZGV2IHR5cGVcbiAgICovXG4gIHB1YmxpYyBicmFuY2hlczogQXJyYXk8R2l0QnJhbmNoPiA9IFtdO1xuXG4gIC8qKlxuICAgKiBDYW4gdGhpcyBkZXBsb3ltZW50IHRhcmdldCBiZSB1c2VkIGZvciBsb2NhbCBkZXZlbG9wbWVudD9cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZSBmb3IgZGV2IGVudmlyb25tZW50cywgZmFsc2UgZm9yIHByb2QgZW52aXJvbm1lbnRzXG4gICAqL1xuICBwdWJsaWMgbG9jYWxEZXBsb3ltZW50PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiB3aGVuIGRlcGxveWluZyB0byB0aGlzIHRhcmdldCBsb2NhbGx5LlxuICAgKi9cbiAgcHVibGljIGxvY2FsRGVwbG95bWVudENvbmZpZz86IEF3c0xvY2FsRGVwbG95bWVudENvbmZpZztcblxuICAvKipcbiAgICogQ2FuIHRoaXMgZGVwbG95bWVudCB0YXJnZXQgYmUgdXNlZCBpbiBDSSBkZXBsb3ltZW50cz9cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHB1YmxpYyBjaURlcGxveW1lbnQ/OiBib29sZWFuO1xuXG4gIC8qXG4gICAqIENvbmZpZ3VyYXRpb24gd2hlbiBkZXBsb3lpbmcgdG8gdGhpcyB0YXJnZXQgaW4gQ0kuXG4gICAqL1xuICBwdWJsaWMgY2lEZXBsb3ltZW50Q29uZmlnPzogUmVxdWlyZWQ8Q2lEZXBsb3ltZW50Q29uZmlnPjtcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBmb3IgdGhlIENESyBvdXRwdXQgZGlyZWN0b3J5IGZvciB0aGlzIGRlcGxveW1lbnQgdGFyZ2V0LlxuICAgKi9cbiAgcHVibGljIGF3c0RlcGxveW1lbnRDb25maWc6IEF3c0RlcGxveW1lbnRDb25maWc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvamVjdDogQXdzQ2RrVHlwZVNjcmlwdEFwcCxcbiAgICBvcHRpb25zOiBBd3NEZXBsb3ltZW50VGFyZ2V0T3B0aW9ucyxcbiAgKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICAvKipcbiAgICAgKiBTZXQgdGFyZ2V0IHJlZ2lvbiBhbmQgYWNjb3VudC5cbiAgICAgKi9cbiAgICB0aGlzLmFjY291bnQgPSBvcHRpb25zLmFjY291bnQ7XG4gICAgdGhpcy5yZWdpb24gPSBvcHRpb25zLnJlZ2lvbjtcblxuICAgIC8qKlxuICAgICAqIFNldCBkZWZhdWx0IHR5cGVcbiAgICAgKi9cbiAgICB0aGlzLmF3c0RlcGxveW1lbnRUeXBlID0gb3B0aW9ucy5hd3NEZXBsb3ltZW50VHlwZSB8fCBBV1NfREVQTE9ZX1RZUEUuREVWO1xuXG4gICAgLyoqXG4gICAgICogU2V0IGRlZmF1bHQgQnJhbmNoZXNcbiAgICAgKi9cblxuICAgIHRoaXMuYnJhbmNoZXMgPVxuICAgICAgb3B0aW9ucy5icmFuY2hlcyB8fCB0aGlzLmF3c0RlcGxveW1lbnRUeXBlID09PSBBV1NfREVQTE9ZX1RZUEUuUFJPRFxuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYnJhbmNoOiBcIm1haW5cIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXVxuICAgICAgICA6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYnJhbmNoOiBcImZlYXR1cmUvKlwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdO1xuXG4gICAgLyoqXG4gICAgICogU2V0IGRlZmF1bHQgZm9yIGxvY2FsIGRlcGxveW1lbnRcbiAgICAgKi9cbiAgICB0aGlzLmxvY2FsRGVwbG95bWVudCA9XG4gICAgICBvcHRpb25zLmxvY2FsRGVwbG95bWVudCA/PyB0aGlzLmF3c0RlcGxveW1lbnRUeXBlID09PSBBV1NfREVQTE9ZX1RZUEUuREVWO1xuXG4gICAgLyoqXG4gICAgICogU29tZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zIGZvciBsb2NhbCBkZXBsb3ltZW50cy5cbiAgICAgKi9cbiAgICBpZiAodGhpcy5sb2NhbERlcGxveW1lbnQpIHtcbiAgICAgIGNvbnN0IHJvbGVOYW1lID1cbiAgICAgICAgb3B0aW9ucy5sb2NhbERlcGxveW1lbnRDb25maWc/LnJvbGVOYW1lPy50b0xvd2VyQ2FzZSgpIHx8XG4gICAgICAgIFwiYWRtaW5pc3RyYXRvcmFjY2Vzc1wiO1xuICAgICAgY29uc3QgcHJvZmlsZSA9XG4gICAgICAgIG9wdGlvbnMubG9jYWxEZXBsb3ltZW50Q29uZmlnPy5wcm9maWxlIHx8XG4gICAgICAgIGAke3JvbGVOYW1lfS0ke3RoaXMuYXdzRGVwbG95bWVudFR5cGV9LSR7dGhpcy5hY2NvdW50fS0ke3RoaXMucmVnaW9ufWA7XG5cbiAgICAgIGNvbnN0IHN0YWNrUGF0dGVybiA9XG4gICAgICAgIG9wdGlvbnMubG9jYWxEZXBsb3ltZW50Q29uZmlnPy5zdGFja1BhdHRlcm4gfHxcbiAgICAgICAgYCotJHt0aGlzLmFjY291bnR9LSR7dGhpcy5yZWdpb259YDtcblxuICAgICAgdGhpcy5sb2NhbERlcGxveW1lbnRDb25maWcgPSB7XG4gICAgICAgIHByb2ZpbGUsXG4gICAgICAgIHJvbGVOYW1lLFxuICAgICAgICBzdGFja1BhdHRlcm4sXG4gICAgICAgIC4uLm9wdGlvbnMubG9jYWxEZXBsb3ltZW50Q29uZmlnLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgQ0kgZGVwbG95bWVudCBkZWZhdWx0XG4gICAgICovXG4gICAgdGhpcy5jaURlcGxveW1lbnQgPSBvcHRpb25zLmNpRGVwbG95bWVudCA/PyBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFNvbWUgZGVmYXVsdHMgZm9yIENJIGRlcGxveW1lbnRzLlxuICAgICAqL1xuICAgIGlmICh0aGlzLmNpRGVwbG95bWVudCkge1xuICAgICAgY29uc3Qgcm9sZUFybiA9XG4gICAgICAgIG9wdGlvbnMuY2lEZXBsb3ltZW50Q29uZmlnPy5yb2xlQXJuIHx8XG4gICAgICAgIGBhcm46YXdzOmlhbTo6JHt0aGlzLmFjY291bnR9OnJvbGUvR2l0SHViRGVwbG95ZXJ9YDtcblxuICAgICAgY29uc3Qgc3RhY2tQYXR0ZXJuID1cbiAgICAgICAgb3B0aW9ucy5jaURlcGxveW1lbnRDb25maWc/LnN0YWNrUGF0dGVybiB8fFxuICAgICAgICBgKi0ke3RoaXMuYWNjb3VudH0tJHt0aGlzLnJlZ2lvbn1gO1xuXG4gICAgICB0aGlzLmNpRGVwbG95bWVudENvbmZpZyA9IHtcbiAgICAgICAgcm9sZUFybixcbiAgICAgICAgc3RhY2tQYXR0ZXJuLFxuICAgICAgICAuLi5vcHRpb25zLmNpRGVwbG95bWVudENvbmZpZyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmluZCBvciBjcmVhdGUgQ0RLIGZvbGRlciBjb25maWcgZm9yIHRoaXMgcHJvamVjdC5cbiAgICAgKi9cbiAgICB0aGlzLmF3c0RlcGxveW1lbnRDb25maWcgPVxuICAgICAgQXdzRGVwbG95bWVudENvbmZpZy5vZihwcm9qZWN0KSB8fCBuZXcgQXdzRGVwbG95bWVudENvbmZpZyhwcm9qZWN0KTtcblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgdGFyZ2V0IHRvIHRoZSBkZXBsb3ltZW50IHRhcmdldHMgYXJyYXkuXG4gICAgICovXG4gICAgdGhpcy5hd3NEZXBsb3ltZW50Q29uZmlnLmF3c0RlcGxveW1lbnRUYXJnZXRzLnB1c2godGhpcyk7XG5cbiAgICAvLyBEZXBsb3kgdGFza3MgYXJlIGNvbmZpZ3VyZWQgcGVyIHRhcmdldC5cbiAgICB0aGlzLmNvbmZpZ3VyZURlcGxveVRhc2soKTtcblxuICAgIC8vIFdhdGNoIHRhc2tzIGFyZSBjb25maWd1cmVkIHBlciB0YXJnZXQuXG4gICAgdGhpcy5jb25maWd1cmVXYXRjaFRhc2soKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKlxuICAgKiBEZXBsb3kgVGFza3NcbiAgICpcbiAgICogLSBJZiBsb2NhbCBkZXBsb3ksIGFkZCBhIGRlcGxveSB0YXNrLlxuICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGNvbmZpZ3VyZURlcGxveVRhc2sgPSAoKTogdm9pZCA9PiB7XG4gICAgaWYgKHRoaXMubG9jYWxEZXBsb3ltZW50KSB7XG4gICAgICBjb25zdCB0YXNrTmFtZSA9IFtcbiAgICAgICAgXCJkZXBsb3lcIixcbiAgICAgICAgdGhpcy5hd3NEZXBsb3ltZW50VHlwZSxcbiAgICAgICAgdGhpcy5hY2NvdW50LFxuICAgICAgICB0aGlzLnJlZ2lvbixcbiAgICAgIF0uam9pbihcIjpcIik7XG4gICAgICBjb25zdCBkZXBsb3lUYXNrID0gdGhpcy5wcm9qZWN0LnRhc2tzLmFkZFRhc2sodGFza05hbWUsIHtcbiAgICAgICAgZW52OiB0aGlzLmF3c0RlcGxveW1lbnRDb25maWcuZW52LFxuICAgICAgfSk7XG4gICAgICBkZXBsb3lUYXNrLmV4ZWMoXG4gICAgICAgIGBjZGsgZGVwbG95IC0tbG9va3Vwcz1mYWxzZSAtLXJlcXVpcmUtYXBwcm92YWw9bmV2ZXIgLS1wcm9maWxlPSR7dGhpcy5sb2NhbERlcGxveW1lbnRDb25maWc/LnByb2ZpbGV9IC0tYXBwPSR7dGhpcy5hd3NEZXBsb3ltZW50Q29uZmlnLmNka091dH0gXCIke3RoaXMubG9jYWxEZXBsb3ltZW50Q29uZmlnPy5zdGFja1BhdHRlcm59XCJgLFxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqXG4gICAqIFdhdGNoIHRhc2tzXG4gICAqXG4gICAqIC0gQ29uZmlndXJlIHdhdGNoIHRhc2sgdG8gdXNlIHRoZSBicmFuY2ggbmFtZVxuICAgKiAtIGNvbmZpZ3VyZSB3YXRjaCB0YXNrIHRvIHVzZSB0aGUgY29ycmVjdCBzeW50aCBvdXRwdXQgbG9jYXRpb24uXG4gICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgY29uZmlndXJlV2F0Y2hUYXNrID0gKCk6IHZvaWQgPT4ge1xuICAgIGlmICh0aGlzLmxvY2FsRGVwbG95bWVudCkge1xuICAgICAgY29uc3QgdGFza05hbWUgPSBbXG4gICAgICAgIFwid2F0Y2hcIixcbiAgICAgICAgdGhpcy5hd3NEZXBsb3ltZW50VHlwZSxcbiAgICAgICAgdGhpcy5hY2NvdW50LFxuICAgICAgICB0aGlzLnJlZ2lvbixcbiAgICAgIF0uam9pbihcIjpcIik7XG4gICAgICBjb25zdCB3YXRjaFRhc2sgPSB0aGlzLnByb2plY3QudGFza3MuYWRkVGFzayh0YXNrTmFtZSwge1xuICAgICAgICBlbnY6IHRoaXMuYXdzRGVwbG95bWVudENvbmZpZy5lbnYsXG4gICAgICB9KTtcblxuICAgICAgLy8gdXBkYXRlIHRoZSBzeW50aCBmaXJzdFxuICAgICAgY29uc3Qgc3ludGhTaWxlbnQgPSB0aGlzLnByb2plY3QudGFza3MudHJ5RmluZChcInN5bnRoOnNpbGVudFwiKTtcbiAgICAgIGlmIChzeW50aFNpbGVudCkge1xuICAgICAgICB3YXRjaFRhc2suc3Bhd24oc3ludGhTaWxlbnQpO1xuICAgICAgfVxuXG4gICAgICAvLyBkbyBhIG5vcm1hbCBkZXBsb3lcbiAgICAgIHdhdGNoVGFzay5leGVjKFxuICAgICAgICBgY2RrIGRlcGxveSAtLWxvb2t1cHM9ZmFsc2UgLS1yZXF1aXJlLWFwcHJvdmFsPW5ldmVyIC0tcHJvZmlsZT0ke3RoaXMubG9jYWxEZXBsb3ltZW50Q29uZmlnPy5wcm9maWxlfSAtLWFwcD0ke3RoaXMuYXdzRGVwbG95bWVudENvbmZpZy5jZGtPdXR9IFwiJHt0aGlzLmxvY2FsRGVwbG95bWVudENvbmZpZz8uc3RhY2tQYXR0ZXJufVwiYCxcbiAgICAgICk7XG5cbiAgICAgIC8vIHdhdGNoIGZvciBjaGFuZ2VzIGFuZCBsb2cgb3V0cHV0XG4gICAgICB3YXRjaFRhc2suZXhlYyhcbiAgICAgICAgYGNkayB3YXRjaCAtLWxvb2t1cHM9ZmFsc2UgLS1yZXF1aXJlLWFwcHJvdmFsPW5ldmVyIC0taG90c3dhcCAtLXByb2ZpbGU9JHt0aGlzLmxvY2FsRGVwbG95bWVudENvbmZpZz8ucHJvZmlsZX0gXCIke3RoaXMubG9jYWxEZXBsb3ltZW50Q29uZmlnPy5zdGFja1BhdHRlcm59XCJgLFxuICAgICAgKTtcbiAgICB9XG4gIH07XG59XG4iXX0=
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWRlcGxveW1lbnQtdGFyZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3cy9hd3MtZGVwbG95bWVudC10YXJnZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW1DO0FBRW5DLG1FQUE4RDtBQUc5RDs7Ozs7O2dGQU1nRjtBQUVoRjs7OztHQUlHO0FBQ1UsUUFBQSxjQUFjLEdBQUc7SUFDNUI7O09BRUc7SUFDSCxHQUFHLEVBQUUsS0FBSztJQUVWOztPQUVHO0lBQ0gsS0FBSyxFQUFFLE9BQU87SUFFZDs7T0FFRztJQUNILElBQUksRUFBRSxNQUFNO0NBQ0osQ0FBQztBQU9YOzs7O0dBSUc7QUFDVSxRQUFBLG9CQUFvQixHQUFHO0lBQ2xDOzs7T0FHRztJQUNILE9BQU8sRUFBRSxTQUFTO0lBQ2xCOzs7T0FHRztJQUNILFNBQVMsRUFBRSxXQUFXO0NBQ2QsQ0FBQztBQThHWCxNQUFhLG1CQUFvQixTQUFRLGtCQUFTO0lBQ2hEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEVBQUUsQ0FDZCxPQUE0QjtRQUU1QixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQVksRUFBNEIsRUFBRSxDQUMzRCxDQUFDLFlBQVksbUJBQW1CLENBQUM7UUFDbkMsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBOERELFlBQ0UsT0FBNEIsRUFDNUIsT0FBbUM7UUFFbkMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBeENqQjs7OztXQUlHO1FBQ0ksYUFBUSxHQUFxQixFQUFFLENBQUM7UUE4SXZDOzs7Ozs7c0ZBTThFO1FBRXRFLHdCQUFtQixHQUFHLEdBQVMsRUFBRTtZQUN2QyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDekIsTUFBTSxRQUFRLEdBQUc7b0JBQ2YsUUFBUTtvQkFDUixJQUFJLENBQUMsWUFBWTtvQkFDakIsSUFBSSxDQUFDLE9B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LENBQUMsbUJBQW1CO1lBQ3RCLDJDQUFtQixDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLDJDQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXRFOztXQUVHO1FBQ0gsSUFBSSxDQUFDLG1CQUFtQixDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6RCwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFFM0IseUNBQXlDO1FBQ3pDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7Q0FpRUY7QUF0UEQsa0RBc1BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcInByb2plblwiO1xuaW1wb3J0IHsgQXdzQ2RrVHlwZVNjcmlwdEFwcCB9IGZyb20gXCJwcm9qZW4vbGliL2F3c2Nka1wiO1xuaW1wb3J0IHsgQXdzRGVwbG95bWVudENvbmZpZyB9IGZyb20gXCIuL2F3cy1kZXBsb3ltZW50LWNvbmZpZ1wiO1xuaW1wb3J0IHsgR2l0QnJhbmNoIH0gZnJvbSBcIi4uL2dpdFwiO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICpcbiAqIEFXUyBEZXBsb3ltZW50IENvbmZpZ3VyYXRpb25cbiAqXG4gKiBBIHNpbmdsZSBkZXBsb3ltZW50IHRhcmdldCB0aGF0IENESyBhcHBsaWNhdGlvbnMgY2FuIGJlIGRlcGxveWVkIGludG8uXG4gKlxuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqXG4gKiBTdGFnZSBUeXBlc1xuICpcbiAqIFdoYXQgc3RhZ2Ugb2YgZGVwbG95bWVudCBpcyB0aGlzPyBEZXYsIHN0YWdpbmcsIG9yIHByb2Q/XG4gKi9cbmV4cG9ydCBjb25zdCBBV1NfU1RBR0VfVFlQRSA9IHtcbiAgLyoqXG4gICAqIERldmVsb3BtZW50IGVudmlyb25tZW50LCB0eXBpY2FsbHkgdXNlZCBmb3IgdGVzdGluZyBhbmQgZGV2ZWxvcG1lbnQuXG4gICAqL1xuICBERVY6IFwiZGV2XCIsXG5cbiAgLyoqXG4gICAqIFN0YWdpbmcgZW52aXJvbm1lbnQsIHVzZWQgZm9yIHByZS1wcm9kdWN0aW9uIHRlc3RpbmcuXG4gICAqL1xuICBTVEFHRTogXCJzdGFnZVwiLFxuXG4gIC8qKlxuICAgKiBQcm9kdWN0aW9uIGVudmlyb25tZW50LCB1c2VkIGZvciBsaXZlIGRlcGxveW1lbnRzLlxuICAgKi9cbiAgUFJPRDogXCJwcm9kXCIsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIEFib3ZlIGNvbnN0IGFzIGEgdHlwZS5cbiAqL1xuZXhwb3J0IHR5cGUgQXdzU3RhZ2VUeXBlID0gKHR5cGVvZiBBV1NfU1RBR0VfVFlQRSlba2V5b2YgdHlwZW9mIEFXU19TVEFHRV9UWVBFXTtcblxuLyoqXG4gKiBFbnZpcm9ubWVudCBUeXBlc1xuICpcbiAqIElzIHRoaXMgYSBwcmltYXJ5IG9mIHNlY29uZGFyeSByZWdpb24gLyBlbnZpcm9ubWVudD9cbiAqL1xuZXhwb3J0IGNvbnN0IEFXU19FTlZJUk9OTUVOVF9UWVBFID0ge1xuICAvKipcbiAgICogQWNjb3VudCBhbmQgcmVnaW9uIHRoYXQgcmVwcmVzZW50cyB0aGUgcHJpbWFyeSByZWdpb24gZm9yIHRoaXMgc2VydmljZS5cbiAgICogRm9yIGV4YW1wbGUsIHRoZSBiYXNlIER5bmFtb0RCIFJlZ2lvbiBmb3IgZ2xvYmFsIHRhYmxlcy5cbiAgICovXG4gIFBSSU1BUlk6IFwicHJpbWFyeVwiLFxuICAvKipcbiAgICogQWNjb3VudCBhbmQgcmVnaW9uIHRoYXQgcmVwcmVzZW50cyBhIHNlY29uZGFyeSByZWdpb24gZm9yIHRoaXMgc2VydmljZS5cbiAgICogRm9yIGV4YW1wbGUsIGEgcmVwbGljYSByZWdpb24gZm9yIGEgZ2xvYmFsIER5bmFtb0RCIHRhYmxlLlxuICAgKi9cbiAgU0VDT05EQVJZOiBcInNlY29uZGFyeVwiLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBBYm92ZSBjb25zdCBhcyBhIHR5cGUuXG4gKi9cbmV4cG9ydCB0eXBlIEF3c0Vudmlyb25tZW50VHlwZSA9XG4gICh0eXBlb2YgQVdTX0VOVklST05NRU5UX1RZUEUpW2tleW9mIHR5cGVvZiBBV1NfRU5WSVJPTk1FTlRfVFlQRV07XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgY29uZmlndXJhdGlvbiBmb3IgbG9jYWwgZGVwbG95bWVudCBpbiBBV1MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXdzTG9jYWxEZXBsb3ltZW50Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBBV1MgcHJvZmlsZSAoaW4gfi8uYXdzL2NvbmZpZykgdG8gdXNlIGZvciBsb2NhbCBkZXBsb3ltZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCBnZW5lcmF0ZWQgZHluYW1pY2FsbHkgYmFzZWQgcm9sZSBuYW1lLCBhY2NvdW50IGFuZCByZWdpb25cbiAgICovXG4gIHJlYWRvbmx5IHByb2ZpbGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5hbWVkIFJvbGUgdXNlZCB0byBjb25kdWN0IGxvY2FsIGRlcGxveW1lbnRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcInBvd2VydXNlcmFjY2Vzc1wiXG4gICAqL1xuICByZWFkb25seSByb2xlTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdHRlcm4gdXNlZCB0byBpZGVudGlmeSBzdGFja3MgdG8gZGVwbG95IGluIENJIGRlcGxveW1lbnRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAqLSR7YWNjb3VudH0tJHtyZWdpb259XG4gICAqL1xuICByZWFkb25seSBzdGFja1BhdHRlcm4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2lEZXBsb3ltZW50Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBPSURDIElBTSBSb2xlIHRvIGFzc3VtZSBmb3IgQ0kgZGVwbG95bWVudHMuXG4gICAqL1xuICByZWFkb25seSByb2xlQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXR0ZXJuIHVzZWQgdG8gaWRlbnRpZnkgc3RhY2tzIHRvIGRlcGxveSBpbiBDSSBkZXBsb3ltZW50cy5cbiAgICpcbiAgICogQGRlZmF1bHQgKi0ke2FjY291bnR9LSR7cmVnaW9ufVxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tQYXR0ZXJuPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBkZXBsb3ltZW50IHRhcmdldCBpbiBBV1MsIGluY2x1ZGluZyBhY2NvdW50IGFuZCByZWdpb24sIGFuZFxuICogYnJhbmNoZXMgYWxsb3dlZCB0byBkZXBsb3kgdG8gdGhpcyB0YXJnZXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXdzRGVwbG95bWVudFRhcmdldE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGFjY291bnQgbmFtZSBmb3IgdGhlIGRlcGxveW1lbnQgdGFyZ2V0LlxuICAgKi9cbiAgcmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIHJlZ2lvbiBmb3IgdGhlIGRlcGxveW1lbnQgdGFyZ2V0LlxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFXUyBkZXBsb3ltZW50IHR5cGUsIHN1Y2ggYXMgZGV2LCBzdGFnZSwgb3IgcHJvZC5cbiAgICpcbiAgICogQGRlZmF1bHQgJ2RldidcbiAgICovXG4gIHJlYWRvbmx5IGF3c1N0YWdlVHlwZT86IEF3c1N0YWdlVHlwZTtcblxuICAvKipcbiAgICogQVdTIGVudmlyb25tZW50IHR5cGUsIHN1Y2ggYXMgcHJpbWFyeSBvciBzZWNvbmRhcnkuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdwcmltYXJ5J1xuICAgKi9cbiAgcmVhZG9ubHkgYXdzRW52aXJvbm1lbnRUeXBlPzogQXdzRW52aXJvbm1lbnRUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIHByb2ZpbGUgdG8gdXNlIGZvciB0aGlzIGRlcGxveW1lbnQgdGFyZ2V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCBbJ21haW4nXSB3aGVuIHByb2QgcmVsZWFzZSB0eXBlLCBbJ2ZlYXR1cmUvKiddIHdoZW4gZGV2IHR5cGVcbiAgICovXG4gIHJlYWRvbmx5IGJyYW5jaGVzPzogQXJyYXk8R2l0QnJhbmNoPjtcblxuICAvKipcbiAgICogQ2FuIHRoaXMgZGVwbG95bWVudCB0YXJnZXQgYmUgdXNlZCBmb3IgbG9jYWwgZGV2ZWxvcG1lbnQ/XG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWUgZm9yIGRldiBlbnZpcm9ubWVudHMsIGZhbHNlIGZvciBwcm9kIGVudmlyb25tZW50c1xuICAgKi9cbiAgcmVhZG9ubHkgbG9jYWxEZXBsb3ltZW50PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiB3aGVuIGRlcGxveWluZyB0byB0aGlzIHRhcmdldCBsb2NhbGx5LlxuICAgKi9cbiAgcmVhZG9ubHkgbG9jYWxEZXBsb3ltZW50Q29uZmlnPzogQXdzTG9jYWxEZXBsb3ltZW50Q29uZmlnO1xuXG4gIC8qKlxuICAgKiBDYW4gdGhpcyBkZXBsb3ltZW50IHRhcmdldCBiZSB1c2VkIGluIENJIGRlcGxveW1lbnRzP1xuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY2lEZXBsb3ltZW50PzogYm9vbGVhbjtcblxuICAvKlxuICAgKiBDb25maWd1cmF0aW9uIHdoZW4gZGVwbG95aW5nIHRvIHRoaXMgdGFyZ2V0IGluIENJLlxuXG4gICAqL1xuICByZWFkb25seSBjaURlcGxveW1lbnRDb25maWc/OiBDaURlcGxveW1lbnRDb25maWc7XG59XG5cbmV4cG9ydCBjbGFzcyBBd3NEZXBsb3ltZW50VGFyZ2V0IGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFN0YXRpYyBtZXRob2QgdG8gZGlzY292ZXJ0IHRhcmdldHMgaW4gYSBwcm9qZWN0LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBvZihcbiAgICBwcm9qZWN0OiBBd3NDZGtUeXBlU2NyaXB0QXBwLFxuICApOiBBcnJheTxBd3NEZXBsb3ltZW50VGFyZ2V0PiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaXNEZWZpbmVkID0gKGM6IENvbXBvbmVudCk6IGMgaXMgQXdzRGVwbG95bWVudFRhcmdldCA9PlxuICAgICAgYyBpbnN0YW5jZW9mIEF3c0RlcGxveW1lbnRUYXJnZXQ7XG4gICAgcmV0dXJuIHByb2plY3QuY29tcG9uZW50cy5maWx0ZXIoaXNEZWZpbmVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYWNjb3VudCBuYW1lIGZvciB0aGUgZGVwbG95bWVudCB0YXJnZXQuXG4gICAqL1xuICBwdWJsaWMgYWNjb3VudDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIHJlZ2lvbiBmb3IgdGhlIGRlcGxveW1lbnQgdGFyZ2V0LlxuICAgKi9cbiAgcHVibGljIHJlZ2lvbjogc3RyaW5nO1xuXG4gIC8qKidcbiAgICogQVdTIHN0YWdlIHR5cGUsIHN1Y2ggYXMgZGV2LCBzdGFnZSwgb3IgcHJvZC5cbiAgICpcbiAgICogQGRlZmF1bHQgJ2RldidcbiAgICovXG4gIHB1YmxpYyBhd3NTdGFnZVR5cGU6IEF3c1N0YWdlVHlwZTtcblxuICAvKipcbiAgICogQVdTIGVudmlyb25tZW50IHR5cGUsIHN1Y2ggYXMgcHJpbWFyeSBvciBzZWNvbmRhcnkuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdwcmltYXJ5J1xuICAgKi9cbiAgcHVibGljIGF3c0Vudmlyb25tZW50VHlwZTogQXdzRW52aXJvbm1lbnRUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIHByb2ZpbGUgdG8gdXNlIGZvciB0aGlzIGRlcGxveW1lbnQgdGFyZ2V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCBbJ21haW4nXSB3aGVuIHByb2QgcmVsZWFzZSB0eXBlLCBbJ2ZlYXR1cmUvKiddIHdoZW4gZGV2IHR5cGVcbiAgICovXG4gIHB1YmxpYyBicmFuY2hlczogQXJyYXk8R2l0QnJhbmNoPiA9IFtdO1xuXG4gIC8qKlxuICAgKiBDYW4gdGhpcyBkZXBsb3ltZW50IHRhcmdldCBiZSB1c2VkIGZvciBsb2NhbCBkZXZlbG9wbWVudD9cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZSBmb3IgZGV2IGVudmlyb25tZW50cywgZmFsc2UgZm9yIHByb2QgZW52aXJvbm1lbnRzXG4gICAqL1xuICBwdWJsaWMgbG9jYWxEZXBsb3ltZW50PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiB3aGVuIGRlcGxveWluZyB0byB0aGlzIHRhcmdldCBsb2NhbGx5LlxuICAgKi9cbiAgcHVibGljIGxvY2FsRGVwbG95bWVudENvbmZpZz86IEF3c0xvY2FsRGVwbG95bWVudENvbmZpZztcblxuICAvKipcbiAgICogQ2FuIHRoaXMgZGVwbG95bWVudCB0YXJnZXQgYmUgdXNlZCBpbiBDSSBkZXBsb3ltZW50cz9cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHB1YmxpYyBjaURlcGxveW1lbnQ/OiBib29sZWFuO1xuXG4gIC8qXG4gICAqIENvbmZpZ3VyYXRpb24gd2hlbiBkZXBsb3lpbmcgdG8gdGhpcyB0YXJnZXQgaW4gQ0kuXG4gICAqL1xuICBwdWJsaWMgY2lEZXBsb3ltZW50Q29uZmlnPzogUmVxdWlyZWQ8Q2lEZXBsb3ltZW50Q29uZmlnPjtcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBmb3IgdGhlIENESyBvdXRwdXQgZGlyZWN0b3J5IGZvciB0aGlzIGRlcGxveW1lbnQgdGFyZ2V0LlxuICAgKi9cbiAgcHVibGljIGF3c0RlcGxveW1lbnRDb25maWc6IEF3c0RlcGxveW1lbnRDb25maWc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvamVjdDogQXdzQ2RrVHlwZVNjcmlwdEFwcCxcbiAgICBvcHRpb25zOiBBd3NEZXBsb3ltZW50VGFyZ2V0T3B0aW9ucyxcbiAgKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICAvKipcbiAgICAgKiBTZXQgdGFyZ2V0IHJlZ2lvbiBhbmQgYWNjb3VudC5cbiAgICAgKi9cbiAgICB0aGlzLmFjY291bnQgPSBvcHRpb25zLmFjY291bnQ7XG4gICAgdGhpcy5yZWdpb24gPSBvcHRpb25zLnJlZ2lvbjtcblxuICAgIC8qKlxuICAgICAqIFNldCBkZWZhdWx0IHR5cGVcbiAgICAgKi9cbiAgICB0aGlzLmF3c1N0YWdlVHlwZSA9IG9wdGlvbnMuYXdzU3RhZ2VUeXBlIHx8IEFXU19TVEFHRV9UWVBFLkRFVjtcblxuICAgIC8qKlxuICAgICAqIFNldCBkZWZhdWx0IGVudmlyb25tZW50IHR5cGVcbiAgICAgKi9cbiAgICB0aGlzLmF3c0Vudmlyb25tZW50VHlwZSA9XG4gICAgICBvcHRpb25zLmF3c0Vudmlyb25tZW50VHlwZSB8fCBBV1NfRU5WSVJPTk1FTlRfVFlQRS5QUklNQVJZO1xuXG4gICAgLyoqXG4gICAgICogU2V0IGRlZmF1bHQgQnJhbmNoZXNcbiAgICAgKi9cblxuICAgIHRoaXMuYnJhbmNoZXMgPVxuICAgICAgb3B0aW9ucy5icmFuY2hlcyB8fCB0aGlzLmF3c1N0YWdlVHlwZSA9PT0gQVdTX1NUQUdFX1RZUEUuUFJPRFxuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYnJhbmNoOiBcIm1haW5cIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXVxuICAgICAgICA6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgYnJhbmNoOiBcImZlYXR1cmUvKlwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdO1xuXG4gICAgLyoqXG4gICAgICogU2V0IGRlZmF1bHQgZm9yIGxvY2FsIGRlcGxveW1lbnRcbiAgICAgKi9cbiAgICB0aGlzLmxvY2FsRGVwbG95bWVudCA9XG4gICAgICBvcHRpb25zLmxvY2FsRGVwbG95bWVudCA/PyB0aGlzLmF3c1N0YWdlVHlwZSA9PT0gQVdTX1NUQUdFX1RZUEUuREVWO1xuXG4gICAgLyoqXG4gICAgICogU29tZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zIGZvciBsb2NhbCBkZXBsb3ltZW50cy5cbiAgICAgKi9cbiAgICBpZiAodGhpcy5sb2NhbERlcGxveW1lbnQpIHtcbiAgICAgIGNvbnN0IHJvbGVOYW1lID1cbiAgICAgICAgb3B0aW9ucy5sb2NhbERlcGxveW1lbnRDb25maWc/LnJvbGVOYW1lPy50b0xvd2VyQ2FzZSgpIHx8XG4gICAgICAgIFwicG93ZXJ1c2VyYWNjZXNzXCI7XG4gICAgICBjb25zdCBwcm9maWxlID1cbiAgICAgICAgb3B0aW9ucy5sb2NhbERlcGxveW1lbnRDb25maWc/LnByb2ZpbGUgfHxcbiAgICAgICAgYCR7cm9sZU5hbWV9LSR7dGhpcy5hd3NTdGFnZVR5cGV9LSR7dGhpcy5hY2NvdW50fS0ke3RoaXMucmVnaW9ufWA7XG5cbiAgICAgIGNvbnN0IHN0YWNrUGF0dGVybiA9XG4gICAgICAgIG9wdGlvbnMubG9jYWxEZXBsb3ltZW50Q29uZmlnPy5zdGFja1BhdHRlcm4gfHxcbiAgICAgICAgYCR7dGhpcy5hd3NTdGFnZVR5cGV9LyR7dGhpcy5hd3NFbnZpcm9ubWVudFR5cGV9LyotJHt0aGlzLmFjY291bnR9LSR7dGhpcy5yZWdpb259YDtcblxuICAgICAgdGhpcy5sb2NhbERlcGxveW1lbnRDb25maWcgPSB7XG4gICAgICAgIHByb2ZpbGUsXG4gICAgICAgIHJvbGVOYW1lLFxuICAgICAgICBzdGFja1BhdHRlcm4sXG4gICAgICAgIC4uLm9wdGlvbnMubG9jYWxEZXBsb3ltZW50Q29uZmlnLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgQ0kgZGVwbG95bWVudCBkZWZhdWx0XG4gICAgICovXG4gICAgdGhpcy5jaURlcGxveW1lbnQgPSBvcHRpb25zLmNpRGVwbG95bWVudCA/PyBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFNvbWUgZGVmYXVsdHMgZm9yIENJIGRlcGxveW1lbnRzLlxuICAgICAqL1xuICAgIGlmICh0aGlzLmNpRGVwbG95bWVudCkge1xuICAgICAgY29uc3Qgcm9sZUFybiA9XG4gICAgICAgIG9wdGlvbnMuY2lEZXBsb3ltZW50Q29uZmlnPy5yb2xlQXJuIHx8XG4gICAgICAgIGBhcm46YXdzOmlhbTo6JHt0aGlzLmFjY291bnR9OnJvbGUvR2l0SHViRGVwbG95ZXJ9YDtcblxuICAgICAgY29uc3Qgc3RhY2tQYXR0ZXJuID1cbiAgICAgICAgb3B0aW9ucy5jaURlcGxveW1lbnRDb25maWc/LnN0YWNrUGF0dGVybiB8fFxuICAgICAgICBgKi0ke3RoaXMuYWNjb3VudH0tJHt0aGlzLnJlZ2lvbn1gO1xuXG4gICAgICB0aGlzLmNpRGVwbG95bWVudENvbmZpZyA9IHtcbiAgICAgICAgcm9sZUFybixcbiAgICAgICAgc3RhY2tQYXR0ZXJuLFxuICAgICAgICAuLi5vcHRpb25zLmNpRGVwbG95bWVudENvbmZpZyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmluZCBvciBjcmVhdGUgQ0RLIGZvbGRlciBjb25maWcgZm9yIHRoaXMgcHJvamVjdC5cbiAgICAgKi9cbiAgICB0aGlzLmF3c0RlcGxveW1lbnRDb25maWcgPVxuICAgICAgQXdzRGVwbG95bWVudENvbmZpZy5vZihwcm9qZWN0KSB8fCBuZXcgQXdzRGVwbG95bWVudENvbmZpZyhwcm9qZWN0KTtcblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgdGFyZ2V0IHRvIHRoZSBkZXBsb3ltZW50IHRhcmdldHMgYXJyYXkuXG4gICAgICovXG4gICAgdGhpcy5hd3NEZXBsb3ltZW50Q29uZmlnLmF3c0RlcGxveW1lbnRUYXJnZXRzLnB1c2godGhpcyk7XG5cbiAgICAvLyBEZXBsb3kgdGFza3MgYXJlIGNvbmZpZ3VyZWQgcGVyIHRhcmdldC5cbiAgICB0aGlzLmNvbmZpZ3VyZURlcGxveVRhc2soKTtcblxuICAgIC8vIFdhdGNoIHRhc2tzIGFyZSBjb25maWd1cmVkIHBlciB0YXJnZXQuXG4gICAgdGhpcy5jb25maWd1cmVXYXRjaFRhc2soKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKlxuICAgKiBEZXBsb3kgVGFza3NcbiAgICpcbiAgICogLSBJZiBsb2NhbCBkZXBsb3ksIGFkZCBhIGRlcGxveSB0YXNrLlxuICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGNvbmZpZ3VyZURlcGxveVRhc2sgPSAoKTogdm9pZCA9PiB7XG4gICAgaWYgKHRoaXMubG9jYWxEZXBsb3ltZW50KSB7XG4gICAgICBjb25zdCB0YXNrTmFtZSA9IFtcbiAgICAgICAgXCJkZXBsb3lcIixcbiAgICAgICAgdGhpcy5hd3NTdGFnZVR5cGUsXG4gICAgICAgIHRoaXMuYWNjb3VudCxcbiAgICAgICAgdGhpcy5yZWdpb24sXG4gICAgICBdLmpvaW4oXCI6XCIpO1xuICAgICAgY29uc3QgZGVwbG95VGFzayA9IHRoaXMucHJvamVjdC50YXNrcy5hZGRUYXNrKHRhc2tOYW1lLCB7XG4gICAgICAgIGVudjogdGhpcy5hd3NEZXBsb3ltZW50Q29uZmlnLmVudixcbiAgICAgIH0pO1xuICAgICAgZGVwbG95VGFzay5leGVjKFxuICAgICAgICBgY2RrIGRlcGxveSAtLWxvb2t1cHM9ZmFsc2UgLS1yZXF1aXJlLWFwcHJvdmFsPW5ldmVyIC0tcHJvZmlsZT0ke3RoaXMubG9jYWxEZXBsb3ltZW50Q29uZmlnPy5wcm9maWxlfSAtLWFwcD0ke3RoaXMuYXdzRGVwbG95bWVudENvbmZpZy5jZGtPdXR9IFwiJHt0aGlzLmxvY2FsRGVwbG95bWVudENvbmZpZz8uc3RhY2tQYXR0ZXJufVwiYCxcbiAgICAgICk7XG4gICAgfVxuICB9O1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKlxuICAgKiBXYXRjaCB0YXNrc1xuICAgKlxuICAgKiAtIENvbmZpZ3VyZSB3YXRjaCB0YXNrIHRvIHVzZSB0aGUgYnJhbmNoIG5hbWVcbiAgICogLSBjb25maWd1cmUgd2F0Y2ggdGFzayB0byB1c2UgdGhlIGNvcnJlY3Qgc3ludGggb3V0cHV0IGxvY2F0aW9uLlxuICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGNvbmZpZ3VyZVdhdGNoVGFzayA9ICgpOiB2b2lkID0+IHtcbiAgICBpZiAodGhpcy5sb2NhbERlcGxveW1lbnQpIHtcbiAgICAgIGNvbnN0IHRhc2tOYW1lID0gW1xuICAgICAgICBcIndhdGNoXCIsXG4gICAgICAgIHRoaXMuYXdzU3RhZ2VUeXBlLFxuICAgICAgICB0aGlzLmFjY291bnQsXG4gICAgICAgIHRoaXMucmVnaW9uLFxuICAgICAgXS5qb2luKFwiOlwiKTtcbiAgICAgIGNvbnN0IHdhdGNoVGFzayA9IHRoaXMucHJvamVjdC50YXNrcy5hZGRUYXNrKHRhc2tOYW1lLCB7XG4gICAgICAgIGVudjogdGhpcy5hd3NEZXBsb3ltZW50Q29uZmlnLmVudixcbiAgICAgIH0pO1xuXG4gICAgICAvLyB1cGRhdGUgdGhlIHN5bnRoIGZpcnN0XG4gICAgICBjb25zdCBzeW50aFNpbGVudCA9IHRoaXMucHJvamVjdC50YXNrcy50cnlGaW5kKFwic3ludGg6c2lsZW50XCIpO1xuICAgICAgaWYgKHN5bnRoU2lsZW50KSB7XG4gICAgICAgIHdhdGNoVGFzay5zcGF3bihzeW50aFNpbGVudCk7XG4gICAgICB9XG5cbiAgICAgIC8vIGRvIGEgbm9ybWFsIGRlcGxveVxuICAgICAgd2F0Y2hUYXNrLmV4ZWMoXG4gICAgICAgIGBjZGsgZGVwbG95IC0tbG9va3Vwcz1mYWxzZSAtLXJlcXVpcmUtYXBwcm92YWw9bmV2ZXIgLS1wcm9maWxlPSR7dGhpcy5sb2NhbERlcGxveW1lbnRDb25maWc/LnByb2ZpbGV9IC0tYXBwPSR7dGhpcy5hd3NEZXBsb3ltZW50Q29uZmlnLmNka091dH0gXCIke3RoaXMubG9jYWxEZXBsb3ltZW50Q29uZmlnPy5zdGFja1BhdHRlcm59XCJgLFxuICAgICAgKTtcblxuICAgICAgLy8gd2F0Y2ggZm9yIGNoYW5nZXMgYW5kIGxvZyBvdXRwdXRcbiAgICAgIHdhdGNoVGFzay5leGVjKFxuICAgICAgICBgY2RrIHdhdGNoIC0tbG9va3Vwcz1mYWxzZSAtLXJlcXVpcmUtYXBwcm92YWw9bmV2ZXIgLS1ob3Rzd2FwIC0tcHJvZmlsZT0ke3RoaXMubG9jYWxEZXBsb3ltZW50Q29uZmlnPy5wcm9maWxlfSBcIiR7dGhpcy5sb2NhbERlcGxveW1lbnRDb25maWc/LnN0YWNrUGF0dGVybn1cImAsXG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
|
|
@@ -3,19 +3,19 @@ import { AwsCdkTypeScriptApp } from "projen/lib/awscdk";
|
|
|
3
3
|
import { BuildWorkflow, BuildWorkflowOptions } from "projen/lib/build";
|
|
4
4
|
import { JobStep } from "projen/lib/github/workflows-model";
|
|
5
5
|
import { ValueOf } from "type-fest";
|
|
6
|
-
import {
|
|
6
|
+
import { AWS_STAGE_TYPE, AwsDeploymentTarget, AwsEnvironmentType, AwsStageType } from "../aws/aws-deployment-target";
|
|
7
7
|
export declare const PROD_DEPLOY_NAME = "prod-deploy";
|
|
8
8
|
export interface DeployWorkflowOptions {
|
|
9
9
|
/**
|
|
10
10
|
* What type of deploy is this workflow for?
|
|
11
11
|
*
|
|
12
|
-
* @default
|
|
12
|
+
* @default AWS_STAGE_TYPE.DEV
|
|
13
13
|
*/
|
|
14
|
-
readonly
|
|
14
|
+
readonly awsStageType?: ValueOf<typeof AWS_STAGE_TYPE>;
|
|
15
15
|
/**
|
|
16
16
|
* Optionally feed a list of targets to deploy to.
|
|
17
17
|
*
|
|
18
|
-
* @default discovers all targets using
|
|
18
|
+
* @default discovers all targets using stageType
|
|
19
19
|
*/
|
|
20
20
|
readonly awsDeploymentTargets?: Array<AwsDeploymentTarget>;
|
|
21
21
|
/**
|
|
@@ -38,7 +38,13 @@ export declare class AwsDeployWorkflow extends Component {
|
|
|
38
38
|
/**
|
|
39
39
|
* What type of deploy is this workflow for?
|
|
40
40
|
*/
|
|
41
|
-
|
|
41
|
+
awsStageType: AwsStageType;
|
|
42
|
+
/**
|
|
43
|
+
* AWS environment type, such as primary or secondary.
|
|
44
|
+
*
|
|
45
|
+
* @default 'primary' (this is the only type supported currently)
|
|
46
|
+
*/
|
|
47
|
+
awsEnvironmentType: AwsEnvironmentType;
|
|
42
48
|
/**
|
|
43
49
|
* The list of targets to deploy to.
|
|
44
50
|
*/
|
|
@@ -19,6 +19,12 @@ class AwsDeployWorkflow extends projen_1.Component {
|
|
|
19
19
|
constructor(project, options = {}) {
|
|
20
20
|
super(project);
|
|
21
21
|
this.project = project;
|
|
22
|
+
/**
|
|
23
|
+
* AWS environment type, such as primary or secondary.
|
|
24
|
+
*
|
|
25
|
+
* @default 'primary' (this is the only type supported currently)
|
|
26
|
+
*/
|
|
27
|
+
this.awsEnvironmentType = aws_deployment_target_1.AWS_ENVIRONMENT_TYPE.PRIMARY;
|
|
22
28
|
this.setupNode = () => {
|
|
23
29
|
return [
|
|
24
30
|
{
|
|
@@ -44,7 +50,7 @@ class AwsDeployWorkflow extends projen_1.Component {
|
|
|
44
50
|
];
|
|
45
51
|
};
|
|
46
52
|
this.deploySteps = (target) => {
|
|
47
|
-
const {
|
|
53
|
+
const { awsStageType, awsEnvironmentType, account, region, ciDeploymentConfig, awsDeploymentConfig, } = target;
|
|
48
54
|
const { roleArn, stackPattern } = ciDeploymentConfig ?? {};
|
|
49
55
|
const { rootCdkOut } = awsDeploymentConfig;
|
|
50
56
|
return [
|
|
@@ -61,7 +67,7 @@ class AwsDeployWorkflow extends projen_1.Component {
|
|
|
61
67
|
* Configure AWS creds.
|
|
62
68
|
*/
|
|
63
69
|
{
|
|
64
|
-
name: `AWS Creds ${
|
|
70
|
+
name: `AWS Creds ${awsStageType}/${awsEnvironmentType}/${account}/${region}`,
|
|
65
71
|
uses: "aws-actions/configure-aws-credentials@v4",
|
|
66
72
|
with: {
|
|
67
73
|
"role-to-assume": roleArn,
|
|
@@ -73,7 +79,7 @@ class AwsDeployWorkflow extends projen_1.Component {
|
|
|
73
79
|
* Run CDK Deploy
|
|
74
80
|
*/
|
|
75
81
|
{
|
|
76
|
-
name: `Deploy ${
|
|
82
|
+
name: `Deploy ${awsStageType}/${awsEnvironmentType}/${account}/${region}`,
|
|
77
83
|
run: `pnpm dlx aws-cdk deploy --no-rollback --require-approval=never --app=${rootCdkOut} "${stackPattern}"`,
|
|
78
84
|
},
|
|
79
85
|
];
|
|
@@ -120,7 +126,7 @@ class AwsDeployWorkflow extends projen_1.Component {
|
|
|
120
126
|
* be safe.
|
|
121
127
|
*
|
|
122
128
|
**************************************************************************/
|
|
123
|
-
this.
|
|
129
|
+
this.awsStageType = options.awsStageType ?? aws_deployment_target_1.AWS_STAGE_TYPE.DEV;
|
|
124
130
|
/***************************************************************************
|
|
125
131
|
*
|
|
126
132
|
* Workflow Deploy Targets
|
|
@@ -131,8 +137,7 @@ class AwsDeployWorkflow extends projen_1.Component {
|
|
|
131
137
|
**************************************************************************/
|
|
132
138
|
this.awsDeploymentTargets =
|
|
133
139
|
options.awsDeploymentTargets ??
|
|
134
|
-
aws_1.AwsDeploymentConfig.of(project)?.awsDeploymentTargets.filter((target) => target.
|
|
135
|
-
target.ciDeployment) ??
|
|
140
|
+
aws_1.AwsDeploymentConfig.of(project)?.awsDeploymentTargets.filter((target) => target.awsStageType === this.awsStageType && target.ciDeployment) ??
|
|
136
141
|
[];
|
|
137
142
|
/***************************************************************************
|
|
138
143
|
*
|
|
@@ -158,7 +163,12 @@ class AwsDeployWorkflow extends projen_1.Component {
|
|
|
158
163
|
/**
|
|
159
164
|
* Name based on project and environment.
|
|
160
165
|
*/
|
|
161
|
-
name: [
|
|
166
|
+
name: [
|
|
167
|
+
"deploy",
|
|
168
|
+
project.name,
|
|
169
|
+
this.awsStageType,
|
|
170
|
+
this.awsEnvironmentType,
|
|
171
|
+
].join("-"),
|
|
162
172
|
/**
|
|
163
173
|
* Use the root projects build task.
|
|
164
174
|
*/
|
|
@@ -211,9 +221,16 @@ class AwsDeployWorkflow extends projen_1.Component {
|
|
|
211
221
|
*
|
|
212
222
|
**************************************************************************/
|
|
213
223
|
this.awsDeploymentTargets.forEach((target) => {
|
|
214
|
-
const deployJobName =
|
|
224
|
+
const deployJobName = [
|
|
225
|
+
target.awsStageType,
|
|
226
|
+
target.awsEnvironmentType,
|
|
227
|
+
"deploy",
|
|
228
|
+
this.project.name,
|
|
229
|
+
target.account,
|
|
230
|
+
target.region,
|
|
231
|
+
].join("-");
|
|
215
232
|
this.buildWorkflow.addPostBuildJob(deployJobName, {
|
|
216
|
-
name: `Deploy ${target.
|
|
233
|
+
name: `Deploy ${target.awsStageType}/${target.awsEnvironmentType}/${target.account}/${target.region}`,
|
|
217
234
|
runsOn: ["ubuntu-latest"],
|
|
218
235
|
permissions: {
|
|
219
236
|
contents: workflows_model_1.JobPermission.READ,
|
|
@@ -238,4 +255,4 @@ class AwsDeployWorkflow extends projen_1.Component {
|
|
|
238
255
|
}
|
|
239
256
|
}
|
|
240
257
|
exports.AwsDeployWorkflow = AwsDeployWorkflow;
|
|
241
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWRlcGxveS13b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93b3JrZmxvd3MvYXdzLWRlcGxveS13b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBbUM7QUFFbkMsNENBQXVFO0FBQ3ZFLDhDQUEyQztBQUMzQyx1RUFBMkU7QUFFM0UsZ0NBQTZDO0FBQzdDLHdFQUdzQztBQUN0QywwQ0FBOEM7QUFDOUMsb0NBQXdEO0FBQ3hELDBDQUFzQztBQUV6QixRQUFBLGdCQUFnQixHQUFHLGFBQWEsQ0FBQztBQTZCOUMsTUFBYSxpQkFBa0IsU0FBUSxrQkFBUztJQUN2QyxNQUFNLENBQUMsRUFBRSxDQUNkLE9BQTRCLEVBQzVCLGFBQTRCO1FBRTVCLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBWSxFQUEwQixFQUFFLENBQ3pELENBQUMsWUFBWSxpQkFBaUIsSUFBSSxDQUFDLENBQUMsYUFBYSxLQUFLLGFBQWEsQ0FBQztRQUN0RSxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUEyQkQsWUFDUyxPQUE0QixFQUNuQyxVQUFpQyxFQUFFO1FBRW5DLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUhSLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBNkw5QixjQUFTLEdBQUcsR0FBbUIsRUFBRTtZQUN0QyxPQUFPO2dCQUNMO29CQUNFLElBQUksRUFBRSxZQUFZO29CQUNsQixJQUFJLEVBQUUsdUJBQXVCO29CQUM3QixJQUFJLEVBQUU7d0JBQ0osQ0FBQyxjQUFjLENBQUMsRUFBRSxrQkFBTyxDQUFDLGNBQWM7cUJBQ3pDO29CQUNELGdFQUFnRTtvQkFDaEUsY0FBYyxFQUFFLENBQUM7aUJBQ2xCO2FBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQztRQUVLLGNBQVMsR0FBRyxHQUFtQixFQUFFO1lBQ3RDLE9BQU87Z0JBQ0w7b0JBQ0UsSUFB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SSxDQUFDLGdCQUFnQixJQUFJLGlCQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQzdELElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUM7Z0JBQ25DLElBQUksRUFBRSxvQkFBb0I7Z0JBQzFCLEdBQUcsRUFBRSxjQUFjLHlCQUFpQixFQUFFO2FBQ3ZDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDeEIsQ0FBQztDQUNGO0FBdFRELDhDQXNUQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJwcm9qZW5cIjtcbmltcG9ydCB7IEF3c0Nka1R5cGVTY3JpcHRBcHAgfSBmcm9tIFwicHJvamVuL2xpYi9hd3NjZGtcIjtcbmltcG9ydCB7IEJ1aWxkV29ya2Zsb3csIEJ1aWxkV29ya2Zsb3dPcHRpb25zIH0gZnJvbSBcInByb2plbi9saWIvYnVpbGRcIjtcbmltcG9ydCB7IEdpdEh1YiB9IGZyb20gXCJwcm9qZW4vbGliL2dpdGh1YlwiO1xuaW1wb3J0IHsgSm9iUGVybWlzc2lvbiwgSm9iU3RlcCB9IGZyb20gXCJwcm9qZW4vbGliL2dpdGh1Yi93b3JrZmxvd3MtbW9kZWxcIjtcbmltcG9ydCB7IFZhbHVlT2YgfSBmcm9tIFwidHlwZS1mZXN0XCI7XG5pbXBvcnQgeyBBd3NEZXBsb3ltZW50Q29uZmlnIH0gZnJvbSBcIi4uL2F3c1wiO1xuaW1wb3J0IHtcbiAgQVdTX0RFUExPWV9UWVBFLFxuICBBd3NEZXBsb3ltZW50VGFyZ2V0LFxufSBmcm9tIFwiLi4vYXdzL2F3cy1kZXBsb3ltZW50LXRhcmdldFwiO1xuaW1wb3J0IHsgTW9ub3JlcG9Qcm9qZWN0IH0gZnJvbSBcIi4uL3Byb2plY3RzXCI7XG5pbXBvcnQgeyBST09UX0NJX1RBU0tfTkFNRSwgVHVyYm9SZXBvIH0gZnJvbSBcIi4uL3R1cmJvXCI7XG5pbXBvcnQgeyBWRVJTSU9OIH0gZnJvbSBcIi4uL3ZlcnNpb25zXCI7XG5cbmV4cG9ydCBjb25zdCBQUk9EX0RFUExPWV9OQU1FID0gXCJwcm9kLWRlcGxveVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIERlcGxveVdvcmtmbG93T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBXaGF0IHR5cGUgb2YgZGVwbG95IGlzIHRoaXMgd29ya2Zsb3cgZm9yP1xuICAgKlxuICAgKiBAZGVmYXVsdCBBV1NfREVQTE9ZX1RZUEUuREVWXG4gICAqL1xuICByZWFkb25seSBhd3NEZXBsb3lUeXBlPzogVmFsdWVPZjx0eXBlb2YgQVdTX0RFUExPWV9UWVBFPjtcblxuICAvKipcbiAgICogT3B0aW9uYWxseSBmZWVkIGEgbGlzdCBvZiB0YXJnZXRzIHRvIGRlcGxveSB0by5cbiAgICpcbiAgICogQGRlZmF1bHQgZGlzY292ZXJzIGFsbCB0YXJnZXRzIHVzaW5nIGRlcGxveVR5cGVcbiAgICovXG4gIHJlYWRvbmx5IGF3c0RlcGxveW1lbnRUYXJnZXRzPzogQXJyYXk8QXdzRGVwbG95bWVudFRhcmdldD47XG5cbiAgLyoqXG4gICAqIEV4aXN0aW5nIHdvcmtmbG93LCB1c2VmdWwgaWYgd2UncmUgdGFja2luZyBkZXBsb3ltZW50cyBvbnRvIGFuIGV4aXN0aW5nXG4gICAqIGJ1aWxkIHdvcmtmbG93XG4gICAqL1xuICByZWFkb25seSBidWlsZFdvcmtmbG93PzogQnVpbGRXb3JrZmxvdztcblxuICAvKipcbiAgICogT3B0aW9ucyBmb3IgdGhlIGJ1aWxkIHdvcmtmbG93LCBpZiBubyBidWlsZCB3b3JrZmxvdyBpcyBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkV29ya2Zsb3dPcHRpb25zPzogUGFydGlhbDxCdWlsZFdvcmtmbG93T3B0aW9ucz47XG59XG5cbmV4cG9ydCBjbGFzcyBBd3NEZXBsb3lXb3JrZmxvdyBleHRlbmRzIENvbXBvbmVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb2YoXG4gICAgcHJvamVjdDogQXdzQ2RrVHlwZVNjcmlwdEFwcCxcbiAgICBidWlsZFdvcmtmbG93OiBCdWlsZFdvcmtmbG93LFxuICApOiBBd3NEZXBsb3lXb3JrZmxvdyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaXNEZWZpbmVkID0gKGM6IENvbXBvbmVudCk6IGMgaXMgQXdzRGVwbG95V29ya2Zsb3cgPT5cbiAgICAgIGMgaW5zdGFuY2VvZiBBd3NEZXBsb3lXb3JrZmxvdyAmJiBjLmJ1aWxkV29ya2Zsb3cgPT09IGJ1aWxkV29ya2Zsb3c7XG4gICAgcmV0dXJuIHByb2plY3QuY29tcG9uZW50cy5maW5kKGlzRGVmaW5lZCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHJvb3QgcHJvamVjdCBmb3IgdGhpcyBkZXBsb3kgd29ya2Zsb3cuIE11c3QgYmUgYSBtb25vcmVwbyBwcm9qZWN0LlxuICAgKi9cbiAgcHJpdmF0ZSByb290UHJvamVjdDogTW9ub3JlcG9Qcm9qZWN0O1xuXG4gIC8qKlxuICAgKiBXaGF0IHR5cGUgb2YgZGVwbG95IGlzIHRoaXMgd29ya2Zsb3cgZm9yP1xuICAgKi9cbiAgcHVibGljIGF3c0RlcGxveVR5cGU6IFZhbHVlT2Y8dHlwZW9mIEFXU19ERVBMT1lfVFlQRT47XG5cbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIHRhcmdldHMgdG8gZGVwbG95IHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgYXdzRGVwbG95bWVudFRhcmdldHM6IEFycmF5PEF3c0RlcGxveW1lbnRUYXJnZXQ+O1xuXG4gIC8qKlxuICAgKiBIb2xkIHRoZSBkZXBsb3kgd29ya2Zsb3cgc28gd2UgY2FuIGFkZCB0byBpdCBpbiBwcmVTeW50aFxuICAgKi9cbiAgcHVibGljIGJ1aWxkV29ya2Zsb3c6IEJ1aWxkV29ya2Zsb3c7XG5cbiAgLyoqXG4gICAqIFdhcyB0aGlzIHdvcmtmbG93IGNyZWF0ZWQgZXh0ZXJuYWxseT9cbiAgICovXG4gIHB1YmxpYyBleHRlcm5hbFdvcmtmbG93OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwcm9qZWN0OiBBd3NDZGtUeXBlU2NyaXB0QXBwLFxuICAgIG9wdGlvbnM6IERlcGxveVdvcmtmbG93T3B0aW9ucyA9IHt9LFxuICApIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgKlxuICAgICAqIFJvb3QgcHJvamVjdCBjaGVja1xuICAgICAqXG4gICAgICogRGV0ZWN0IHRoZSByb290IHByb2plY3QgYW5kIGVuc3VyZSBpdCdzIG9mIHR5cGUgTW9ub3JlcG9Qcm9qZWN0LlxuICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgaWYgKCEocHJvamVjdC5yb290IGluc3RhbmNlb2YgTW9ub3JlcG9Qcm9qZWN0KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIkF3c0RlcGxveVdvcmtmbG93IHJlcXVpcmVzIHRoZSByb290IHByb2plY3QgdG8gYmUgYSBNb25vcmVwb1Byb2plY3RcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5yb290UHJvamVjdCA9IHByb2plY3Qucm9vdDtcblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgKlxuICAgICAqIEdpdEh1YiBDaGVja1xuICAgICAqXG4gICAgICogTWFrZSBzdXJlIGdpdGh1YiBjb25maWcgaXMgYWN0aXZlIGluIHRoZSBwcm9qZWN0LiBUaGlzIGlzIHRvIGVuc3VyZSBhbGxcbiAgICAgKiB3b3JrZmxvd3Mgd2lsbCBiZSBvdXRwdXQgcHJvcGVybHkgZHVyaW5nIHN5bnRoLlxuICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgY29uc3QgZ2l0aHViID0gR2l0SHViLm9mKHRoaXMucm9vdFByb2plY3QpO1xuXG4gICAgaWYgKCFnaXRodWIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJBd3NEZXBsb3lXb3JrZmxvdyByZXF1aXJlcyBhIEdpdEh1YiBjb21wb25lbnQgaW4gdGhlIHJvb3QgcHJvamVjdFwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICpcbiAgICAgKiBUdXJib1JlcG8gQ2hlY2tcbiAgICAgKlxuICAgICAqIElmIHR1cmJvIGlzIGVuYWJsZWQsIHdlIG1heSBuZWVkIHRoZSBvcHRpb25zIGxhdGVyIGluIHRoaXMgZmlsZS5cbiAgICAgKlxuICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIGNvbnN0IHR1cmJvID0gVHVyYm9SZXBvLm9mKHRoaXMucm9vdFByb2plY3QpO1xuICAgIGNvbnN0IGJ1aWxkV29ya2Zsb3dPcHRpb25zOiBQYXJ0aWFsPEJ1aWxkV29ya2Zsb3dPcHRpb25zPiA9XG4gICAgICB0dXJibz8ucmVtb3RlQ2FjaGVPcHRpb25zXG4gICAgICAgID8gVHVyYm9SZXBvLmJ1aWxkV29ya2Zsb3dPcHRpb25zKHR1cmJvLnJlbW90ZUNhY2hlT3B0aW9ucylcbiAgICAgICAgOiB7fTtcblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgKlxuICAgICAqIFdvcmtmbG93IERlcGxveSBUeXBlXG4gICAgICpcbiAgICAgKiBXaGF0IHR5cGUgb2YgZW52aXJvbm1lbnRzIGFyZSB3ZSBkZXBsb3lpbmcgaW50bz8gV2UnbGwgZGVmYXVsdCB0byBkZXYgdG9cbiAgICAgKiBiZSBzYWZlLlxuICAgICAqXG4gICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gICAgdGhpcy5hd3NEZXBsb3lUeXBlID0gb3B0aW9ucy5hd3NEZXBsb3lUeXBlID8/IEFXU19ERVBMT1lfVFlQRS5ERVY7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICpcbiAgICAgKiBXb3JrZmxvdyBEZXBsb3kgVGFyZ2V0c1xuICAgICAqXG4gICAgICogVXNlIHByb3ZpZGVkIHRhcmdldHMgb3IgZGlzY292ZXIgdGhlbSBiYXNlZCBvbiB0aGUgZGVwbG95IHR5cGUuIE9ubHlcbiAgICAgKiBpbmNsdWRlIHRhcmdldHMgdGhhdCBhcmUgbWFya2VkIGZvciBDSS9DRC5cbiAgICAgKlxuICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIHRoaXMuYXdzRGVwbG95bWVudFRhcmdldHMgPVxuICAgICAgb3B0aW9ucy5hd3NEZXBsb3ltZW50VGFyZ2V0cyA/P1xuICAgICAgQXdzRGVwbG95bWVudENvbmZpZy5vZihwcm9qZWN0KT8uYXdzRGVwbG95bWVudFRhcmdldHMuZmlsdGVyKFxuICAgICAgICAodGFyZ2V0KSA9PlxuICAgICAgICAgIHRhcmdldC5hd3NEZXBsb3ltZW50VHlwZSA9PT0gdGhpcy5hd3NEZXBsb3lUeXBlICYmXG4gICAgICAgICAgdGFyZ2V0LmNpRGVwbG95bWVudCxcbiAgICAgICkgPz9cbiAgICAgIFtdO1xuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAqXG4gICAgICogQnVpbGQgV29ya2Zsb3cgT3B0aW9uc1xuICAgICAqXG4gICAgICogQ2FuJ3QgdXNlIHRoZSBvcHRpb25zIGlmIGFuIGV4aXN0aW5nIHdvcmtmbG93IHdhcyBwYXNzZWQgaW4uXG4gICAgICpcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICBpZiAob3B0aW9ucy5idWlsZFdvcmtmbG93ICYmIG9wdGlvbnMuYnVpbGRXb3JrZmxvd09wdGlvbnMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJDYW5ub3QgcHJvdmlkZSBib3RoIGJ1aWxkV29ya2Zsb3cgYW5kIGJ1aWxkV29ya2Zsb3dPcHRpb25zXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuZXh0ZXJuYWxXb3JrZmxvdyA9ICEhb3B0aW9ucy5idWlsZFdvcmtmbG93O1xuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAqXG4gICAgICogQnVpbGQgV29ya2Zsb3dcbiAgICAgKlxuICAgICAqIENyZWF0ZSBhIHdvcmtmbG93IGVpdGhlciBiYXNlZCBvbiBpbnB1dCBvciBmcm9tIHNjcmF0Y2guXG4gICAgICpcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICB0aGlzLmJ1aWxkV29ya2Zsb3cgPVxuICAgICAgb3B0aW9ucy5idWlsZFdvcmtmbG93ID8/XG4gICAgICBuZXcgQnVpbGRXb3JrZmxvdyh0aGlzLnJvb3RQcm9qZWN0LCB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBOYW1lIGJhc2VkIG9uIHByb2plY3QgYW5kIGVudmlyb25tZW50LlxuICAgICAgICAgKi9cbiAgICAgICAgbmFtZTogW1wiZGVwbG95XCIsIHByb2plY3QubmFtZSwgdGhpcy5hd3NEZXBsb3lUeXBlXS5qb2luKFwiLVwiKSxcblxuICAgICAgICAvKipcbiAgICAgICAgICogVXNlIHRoZSByb290IHByb2plY3RzIGJ1aWxkIHRhc2suXG4gICAgICAgICAqL1xuICAgICAgICBidWlsZFRhc2s6IHRoaXMucm9vdFByb2plY3QuYnVpbGRUYXNrLFxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBVc2UgcHVzaCB0cmlnZ2VycyBiYXNlZCBuIHRoZSBicmFuY2ggY29uZmlnIGZvciBlYWNoIGVudmlyb25tZW50LlxuICAgICAgICAgKi9cbiAgICAgICAgd29ya2Zsb3dUcmlnZ2Vyczoge1xuICAgICAgICAgIHB1c2g6IHtcbiAgICAgICAgICAgIGJyYW5jaGVzOiBbXG4gICAgICAgICAgICAgIC4uLnRoaXMuYXdzRGVwbG95bWVudFRhcmdldHMuZmxhdE1hcCgodCkgPT5cbiAgICAgICAgICAgICAgICB0LmJyYW5jaGVzLm1hcCgoYikgPT4gYi5icmFuY2gpLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHdvcmtmbG93RGlzcGF0Y2g6IHt9LFxuICAgICAgICAgIC4uLm9wdGlvbnMuYnVpbGRXb3JrZmxvd09wdGlvbnM/LndvcmtmbG93VHJpZ2dlcnMsXG4gICAgICAgIH0sXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIE5ldmVyIGFsbG93IG11dGF0aW9ucyBmb3IgZGVwbG95cy4gVGhpcyBzaG91bGQgaGF2ZSBiZWVuIGhhbmRsZWRcbiAgICAgICAgICogZHVyaW5nIGJ1aWxkLlxuICAgICAgICAgKi9cbiAgICAgICAgbXV0YWJsZUJ1aWxkOiBmYWxzZSxcblxuICAgICAgICAvKipcbiAgICAgICAgICogRG8gdGhpcyBwcmUtbWVyZ2Ugb2YgcGVybWlzc2lvbnMgYW5kIGJ1aWxkIHN0ZXBzXG4gICAgICAgICAqL1xuICAgICAgICAuLi5vcHRpb25zLmJ1aWxkV29ya2Zsb3dPcHRpb25zLFxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBTb21lIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgbWF5IGJlIHJlcXVpcmVkIHdoZW4gdHVyYm8ncyBpbnZvbHZlZC5cbiAgICAgICAgICovXG4gICAgICAgIHBlcm1pc3Npb25zOiB7XG4gICAgICAgICAgLi4ub3B0aW9ucy5idWlsZFdvcmtmbG93T3B0aW9ucz8ucGVybWlzc2lvbnMsXG4gICAgICAgICAgLi4uYnVpbGRXb3JrZmxvd09wdGlvbnM/LnBlcm1pc3Npb25zLFxuICAgICAgICB9LFxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBBc3NlbWJsZSBhbGwgcHJlLWJ1aWxkIHN0ZXBzXG4gICAgICAgICAqL1xuICAgICAgICBwcmVCdWlsZFN0ZXBzOiBbXG4gICAgICAgICAgLi4udGhpcy5zZXR1cFBucG0oKSxcbiAgICAgICAgICAuLi50aGlzLnNldHVwTm9kZSgpLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiSW5zdGFsbCBkZXBlbmRlbmNpZXNcIixcbiAgICAgICAgICAgIHJ1bjogXCJwbnBtIGkgLS1uby1mcm96ZW4tbG9ja2ZpbGVcIixcbiAgICAgICAgICB9LFxuICAgICAgICAgIC4uLihvcHRpb25zLmJ1aWxkV29ya2Zsb3dPcHRpb25zPy5wcmVCdWlsZFN0ZXBzID8/IFtdKSxcbiAgICAgICAgICAuLi4oYnVpbGRXb3JrZmxvd09wdGlvbnM/LnByZUJ1aWxkU3RlcHMgPz8gW10pLFxuICAgICAgICBdLFxuICAgICAgfSk7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICpcbiAgICAgKiBBZGQgRGVwbG95bWVudHMgdG8gd29ya2Zsb3dcbiAgICAgKlxuICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIHRoaXMuYXdzRGVwbG95bWVudFRhcmdldHMuZm9yRWFjaCgodGFyZ2V0KSA9PiB7XG4gICAgICBjb25zdCBkZXBsb3lKb2JOYW1lID0gYCR7dGFyZ2V0LmF3c0RlcGxveW1lbnRUeXBlfS1kZXBsb3ktJHt0aGlzLnByb2plY3QubmFtZX0tJHt0YXJnZXQuYWNjb3VudH0tJHt0YXJnZXQucmVnaW9ufWA7XG5cbiAgICAgIHRoaXMuYnVpbGRXb3JrZmxvdy5hZGRQb3N0QnVpbGRKb2IoZGVwbG95Sm9iTmFtZSwge1xuICAgICAgICBuYW1lOiBgRGVwbG95ICR7dGFyZ2V0LmF3c0RlcGxveW1lbnRUeXBlfS8ke3RhcmdldC5hY2NvdW50fS8ke3RhcmdldC5yZWdpb259YCxcbiAgICAgICAgcnVuc09uOiBbXCJ1YnVudHUtbGF0ZXN0XCJdLFxuICAgICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICAgIGNvbnRlbnRzOiBKb2JQZXJtaXNzaW9uLlJFQUQsXG4gICAgICAgICAgaWRUb2tlbjogSm9iUGVybWlzc2lvbi5XUklURSxcbiAgICAgICAgfSxcbiAgICAgICAgY29uY3VycmVuY3k6IGRlcGxveUpvYk5hbWUsXG4gICAgICAgIHN0ZXBzOiBbLi4udGhpcy5kZXBsb3lTdGVwcyh0YXJnZXQpXSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHNldHVwTm9kZSA9ICgpOiBBcnJheTxKb2JTdGVwPiA9PiB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJTZXR1cCBOb2RlXCIsXG4gICAgICAgIHVzZXM6IFwiYWN0aW9ucy9zZXR1cC1ub2RlQHY0XCIsXG4gICAgICAgIHdpdGg6IHtcbiAgICAgICAgICBbXCJub2RlLXZlcnNpb25cIl06IFZFUlNJT04uTk9ERV9XT1JLRkxPV1MsXG4gICAgICAgIH0sXG4gICAgICAgIC8vIG9jY2FzaW9uYWxseSB0aGlzIHN0ZXAgZmFpbHMgZHVlIHRvIGludGVybmFsIGlzc3VlcyBhdCBnaXRodWJcbiAgICAgICAgdGltZW91dE1pbnV0ZXM6IDEsXG4gICAgICB9LFxuICAgIF07XG4gIH07XG5cbiAgcHVibGljIHNldHVwUG5wbSA9ICgpOiBBcnJheTxKb2JTdGVwPiA9PiB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJTZXR1cCBQTlBNXCIsXG4gICAgICAgIHVzZXM6IFwicG5wbS9hY3Rpb24tc2V0dXBAdjNcIixcbiAgICAgICAgd2l0aDoge1xuICAgICAgICAgIHZlcnNpb246IFZFUlNJT04uUE5QTV9WRVJTSU9OLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdO1xuICB9O1xuXG4gIHByaXZhdGUgZGVwbG95U3RlcHMgPSAodGFyZ2V0OiBBd3NEZXBsb3ltZW50VGFyZ2V0KTogQXJyYXk8Sm9iU3RlcD4gPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGF3c0RlcGxveW1lbnRUeXBlLFxuICAgICAgYWNjb3VudCxcbiAgICAgIHJlZ2lvbixcbiAgICAgIGNpRGVwbG95bWVudENvbmZpZyxcbiAgICAgIGF3c0RlcGxveW1lbnRDb25maWcsXG4gICAgfSA9IHRhcmdldDtcbiAgICBjb25zdCB7IHJvbGVBcm4sIHN0YWNrUGF0dGVybiB9ID0gY2lEZXBsb3ltZW50Q29uZmlnID8/IHt9O1xuICAgIGNvbnN0IHsgcm9vdENka091dCB9ID0gYXdzRGVwbG95bWVudENvbmZpZztcblxuICAgIHJldHVybiBbXG4gICAgICAuLi50aGlzLnNldHVwUG5wbSgpLFxuICAgICAgLi4udGhpcy5zZXR1cE5vZGUoKSxcblxuICAgICAgLyoqXG4gICAgICAgKiBJbnN0YWxsIENES1xuICAgICAgICovXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiSW5zdGFsbCBDREtcIixcbiAgICAgICAgcnVuOiBcInBucG0gYWRkIGF3cy1jZGtcIixcbiAgICAgIH0sXG5cbiAgICAgIC8qKlxuICAgICAgICogQ29uZmlndXJlIEFXUyBjcmVkcy5cbiAgICAgICAqL1xuICAgICAge1xuICAgICAgICBuYW1lOiBgQVdTIENyZWRzICR7YXdzRGVwbG95bWVudFR5cGV9LyR7YWNjb3VudH0vJHtyZWdpb259YCxcbiAgICAgICAgdXNlczogXCJhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQHY0XCIsXG4gICAgICAgIHdpdGg6IHtcbiAgICAgICAgICBcInJvbGUtdG8tYXNzdW1lXCI6IHJvbGVBcm4sXG4gICAgICAgICAgXCJhd3MtcmVnaW9uXCI6IHJlZ2lvbixcbiAgICAgICAgICBcInJvbGUtZHVyYXRpb24tc2Vjb25kc1wiOiA5MDAsIC8vIDE1IG1pbnV0ZXNcbiAgICAgICAgfSxcbiAgICAgIH0sXG5cbiAgICAgIC8qKlxuICAgICAgICogUnVuIENESyBEZXBsb3lcbiAgICAgICAqL1xuICAgICAge1xuICAgICAgICBuYW1lOiBgRGVwbG95ICR7dGFyZ2V0LmF3c0RlcGxveW1lbnRUeXBlfS8ke3RhcmdldC5hY2NvdW50fS8ke3RhcmdldC5yZWdpb259YCxcbiAgICAgICAgcnVuOiBgcG5wbSBkbHggYXdzLWNkayBkZXBsb3kgLS1uby1yb2xsYmFjayAtLXJlcXVpcmUtYXBwcm92YWw9bmV2ZXIgLS1hcHA9JHtyb290Q2RrT3V0fSBcIiR7c3RhY2tQYXR0ZXJufVwiYCxcbiAgICAgIH0sXG4gICAgXTtcbiAgfTtcblxuICBwcmVTeW50aGVzaXplKCk6IHZvaWQge1xuICAgIC8qKlxuICAgICAqIEVuc3VyZSB0dXJibyBpcyBhY3RpdmUgd2hlbiBuZWVkZWQuXG4gICAgICovXG4gICAgaWYgKCF0aGlzLmV4dGVybmFsV29ya2Zsb3cgJiYgVHVyYm9SZXBvLm9mKHRoaXMucm9vdFByb2plY3QpKSB7XG4gICAgICB0aGlzLmJ1aWxkV29ya2Zsb3cuYWRkUG9zdEJ1aWxkU3RlcHMoe1xuICAgICAgICBuYW1lOiBcIkJ1aWxkIFN1YiBQcm9qZWN0c1wiLFxuICAgICAgICBydW46IGBucHggcHJvamVuICR7Uk9PVF9DSV9UQVNLX05BTUV9YCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHN1cGVyLnByZVN5bnRoZXNpemUoKTtcbiAgfVxufVxuIl19
|
|
258
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWRlcGxveS13b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93b3JrZmxvd3MvYXdzLWRlcGxveS13b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBbUM7QUFFbkMsNENBQXVFO0FBQ3ZFLDhDQUEyQztBQUMzQyx1RUFBMkU7QUFFM0UsZ0NBQTZDO0FBQzdDLHdFQU1zQztBQUN0QywwQ0FBOEM7QUFDOUMsb0NBQXdEO0FBQ3hELDBDQUFzQztBQUV6QixRQUFBLGdCQUFnQixHQUFHLGFBQWEsQ0FBQztBQTZCOUMsTUFBYSxpQkFBa0IsU0FBUSxrQkFBUztJQUN2QyxNQUFNLENBQUMsRUFBRSxDQUNkLE9BQTRCLEVBQzVCLGFBQTRCO1FBRTVCLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBWSxFQUEwQixFQUFFLENBQ3pELENBQUMsWUFBWSxpQkFBaUIsSUFBSSxDQUFDLENBQUMsYUFBYSxLQUFLLGFBQWEsQ0FBQztRQUN0RSxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFrQ0QsWUFDUyxPQUE0QixFQUNuQyxVQUFpQyxFQUFFO1FBRW5DLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUhSLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBdkJyQzs7OztXQUlHO1FBQ0ksdUJBQWtCLEdBQXVCLDRDQUFvQixDQUFDLE9BQU8sQ0FBQztRQTBOdEUsY0FBUyxHQUFHLEdBQW1CLEVBQUU7WUFDdEMsT0FBTztnQkFDTDtvQkFDRSxJQUFJLEVBQUUsWUFBWTtvQkFDbEIsSUFBSSxFQUFFLHVCQUF1QjtvQkFDN0IsSUFBSSxFQUFFO3dCQUNKLENBQUMsY0FBYyxDQUFDLEVBQUUsa0JBQU8sQ0FBQyxjQUFjO3FCQUN6QztvQkFDRCxnRUFBZ0U7b0JBQ2hFLGNBQWMsRUFBRSxDQUFDO2lCQUNsQjthQUNGLENBQUM7UUFDSixDQUFDLENB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V0FBVyxFQUFFLGFBQWE7Z0JBQzFCLEtBQUssRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNyQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUEyRUQsYUFBYTtRQUNYOztXQUVHO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxpQkFBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUM3RCxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDO2dCQUNuQyxJQUFJLEVBQUUsb0JBQW9CO2dCQUMxQixHQUFHLEVBQUUsY0FBYyx5QkFBaUIsRUFBRTthQUN2QyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3hCLENBQUM7Q0FDRjtBQXpVRCw4Q0F5VUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwicHJvamVuXCI7XG5pbXBvcnQgeyBBd3NDZGtUeXBlU2NyaXB0QXBwIH0gZnJvbSBcInByb2plbi9saWIvYXdzY2RrXCI7XG5pbXBvcnQgeyBCdWlsZFdvcmtmbG93LCBCdWlsZFdvcmtmbG93T3B0aW9ucyB9IGZyb20gXCJwcm9qZW4vbGliL2J1aWxkXCI7XG5pbXBvcnQgeyBHaXRIdWIgfSBmcm9tIFwicHJvamVuL2xpYi9naXRodWJcIjtcbmltcG9ydCB7IEpvYlBlcm1pc3Npb24sIEpvYlN0ZXAgfSBmcm9tIFwicHJvamVuL2xpYi9naXRodWIvd29ya2Zsb3dzLW1vZGVsXCI7XG5pbXBvcnQgeyBWYWx1ZU9mIH0gZnJvbSBcInR5cGUtZmVzdFwiO1xuaW1wb3J0IHsgQXdzRGVwbG95bWVudENvbmZpZyB9IGZyb20gXCIuLi9hd3NcIjtcbmltcG9ydCB7XG4gIEFXU19FTlZJUk9OTUVOVF9UWVBFLFxuICBBV1NfU1RBR0VfVFlQRSxcbiAgQXdzRGVwbG95bWVudFRhcmdldCxcbiAgQXdzRW52aXJvbm1lbnRUeXBlLFxuICBBd3NTdGFnZVR5cGUsXG59IGZyb20gXCIuLi9hd3MvYXdzLWRlcGxveW1lbnQtdGFyZ2V0XCI7XG5pbXBvcnQgeyBNb25vcmVwb1Byb2plY3QgfSBmcm9tIFwiLi4vcHJvamVjdHNcIjtcbmltcG9ydCB7IFJPT1RfQ0lfVEFTS19OQU1FLCBUdXJib1JlcG8gfSBmcm9tIFwiLi4vdHVyYm9cIjtcbmltcG9ydCB7IFZFUlNJT04gfSBmcm9tIFwiLi4vdmVyc2lvbnNcIjtcblxuZXhwb3J0IGNvbnN0IFBST0RfREVQTE9ZX05BTUUgPSBcInByb2QtZGVwbG95XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95V29ya2Zsb3dPcHRpb25zIHtcbiAgLyoqXG4gICAqIFdoYXQgdHlwZSBvZiBkZXBsb3kgaXMgdGhpcyB3b3JrZmxvdyBmb3I/XG4gICAqXG4gICAqIEBkZWZhdWx0IEFXU19TVEFHRV9UWVBFLkRFVlxuICAgKi9cbiAgcmVhZG9ubHkgYXdzU3RhZ2VUeXBlPzogVmFsdWVPZjx0eXBlb2YgQVdTX1NUQUdFX1RZUEU+O1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbGx5IGZlZWQgYSBsaXN0IG9mIHRhcmdldHMgdG8gZGVwbG95IHRvLlxuICAgKlxuICAgKiBAZGVmYXVsdCBkaXNjb3ZlcnMgYWxsIHRhcmdldHMgdXNpbmcgc3RhZ2VUeXBlXG4gICAqL1xuICByZWFkb25seSBhd3NEZXBsb3ltZW50VGFyZ2V0cz86IEFycmF5PEF3c0RlcGxveW1lbnRUYXJnZXQ+O1xuXG4gIC8qKlxuICAgKiBFeGlzdGluZyB3b3JrZmxvdywgdXNlZnVsIGlmIHdlJ3JlIHRhY2tpbmcgZGVwbG95bWVudHMgb250byBhbiBleGlzdGluZ1xuICAgKiBidWlsZCB3b3JrZmxvd1xuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRXb3JrZmxvdz86IEJ1aWxkV29ya2Zsb3c7XG5cbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIHRoZSBidWlsZCB3b3JrZmxvdywgaWYgbm8gYnVpbGQgd29ya2Zsb3cgaXMgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBidWlsZFdvcmtmbG93T3B0aW9ucz86IFBhcnRpYWw8QnVpbGRXb3JrZmxvd09wdGlvbnM+O1xufVxuXG5leHBvcnQgY2xhc3MgQXdzRGVwbG95V29ya2Zsb3cgZXh0ZW5kcyBDb21wb25lbnQge1xuICBwdWJsaWMgc3RhdGljIG9mKFxuICAgIHByb2plY3Q6IEF3c0Nka1R5cGVTY3JpcHRBcHAsXG4gICAgYnVpbGRXb3JrZmxvdzogQnVpbGRXb3JrZmxvdyxcbiAgKTogQXdzRGVwbG95V29ya2Zsb3cgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGlzRGVmaW5lZCA9IChjOiBDb21wb25lbnQpOiBjIGlzIEF3c0RlcGxveVdvcmtmbG93ID0+XG4gICAgICBjIGluc3RhbmNlb2YgQXdzRGVwbG95V29ya2Zsb3cgJiYgYy5idWlsZFdvcmtmbG93ID09PSBidWlsZFdvcmtmbG93O1xuICAgIHJldHVybiBwcm9qZWN0LmNvbXBvbmVudHMuZmluZChpc0RlZmluZWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSByb290IHByb2plY3QgZm9yIHRoaXMgZGVwbG95IHdvcmtmbG93LiBNdXN0IGJlIGEgbW9ub3JlcG8gcHJvamVjdC5cbiAgICovXG4gIHByaXZhdGUgcm9vdFByb2plY3Q6IE1vbm9yZXBvUHJvamVjdDtcblxuICAvKipcbiAgICogV2hhdCB0eXBlIG9mIGRlcGxveSBpcyB0aGlzIHdvcmtmbG93IGZvcj9cbiAgICovXG4gIHB1YmxpYyBhd3NTdGFnZVR5cGU6IEF3c1N0YWdlVHlwZTtcblxuICAvKipcbiAgICogQVdTIGVudmlyb25tZW50IHR5cGUsIHN1Y2ggYXMgcHJpbWFyeSBvciBzZWNvbmRhcnkuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdwcmltYXJ5JyAodGhpcyBpcyB0aGUgb25seSB0eXBlIHN1cHBvcnRlZCBjdXJyZW50bHkpXG4gICAqL1xuICBwdWJsaWMgYXdzRW52aXJvbm1lbnRUeXBlOiBBd3NFbnZpcm9ubWVudFR5cGUgPSBBV1NfRU5WSVJPTk1FTlRfVFlQRS5QUklNQVJZO1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiB0YXJnZXRzIHRvIGRlcGxveSB0by5cbiAgICovXG4gIHJlYWRvbmx5IGF3c0RlcGxveW1lbnRUYXJnZXRzOiBBcnJheTxBd3NEZXBsb3ltZW50VGFyZ2V0PjtcblxuICAvKipcbiAgICogSG9sZCB0aGUgZGVwbG95IHdvcmtmbG93IHNvIHdlIGNhbiBhZGQgdG8gaXQgaW4gcHJlU3ludGhcbiAgICovXG4gIHB1YmxpYyBidWlsZFdvcmtmbG93OiBCdWlsZFdvcmtmbG93O1xuXG4gIC8qKlxuICAgKiBXYXMgdGhpcyB3b3JrZmxvdyBjcmVhdGVkIGV4dGVybmFsbHk/XG4gICAqL1xuICBwdWJsaWMgZXh0ZXJuYWxXb3JrZmxvdzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcHJvamVjdDogQXdzQ2RrVHlwZVNjcmlwdEFwcCxcbiAgICBvcHRpb25zOiBEZXBsb3lXb3JrZmxvd09wdGlvbnMgPSB7fSxcbiAgKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICpcbiAgICAgKiBSb290IHByb2plY3QgY2hlY2tcbiAgICAgKlxuICAgICAqIERldGVjdCB0aGUgcm9vdCBwcm9qZWN0IGFuZCBlbnN1cmUgaXQncyBvZiB0eXBlIE1vbm9yZXBvUHJvamVjdC5cbiAgICAgKlxuICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIGlmICghKHByb2plY3Qucm9vdCBpbnN0YW5jZW9mIE1vbm9yZXBvUHJvamVjdCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJBd3NEZXBsb3lXb3JrZmxvdyByZXF1aXJlcyB0aGUgcm9vdCBwcm9qZWN0IHRvIGJlIGEgTW9ub3JlcG9Qcm9qZWN0XCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMucm9vdFByb2plY3QgPSBwcm9qZWN0LnJvb3Q7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICpcbiAgICAgKiBHaXRIdWIgQ2hlY2tcbiAgICAgKlxuICAgICAqIE1ha2Ugc3VyZSBnaXRodWIgY29uZmlnIGlzIGFjdGl2ZSBpbiB0aGUgcHJvamVjdC4gVGhpcyBpcyB0byBlbnN1cmUgYWxsXG4gICAgICogd29ya2Zsb3dzIHdpbGwgYmUgb3V0cHV0IHByb3Blcmx5IGR1cmluZyBzeW50aC5cbiAgICAgKlxuICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIGNvbnN0IGdpdGh1YiA9IEdpdEh1Yi5vZih0aGlzLnJvb3RQcm9qZWN0KTtcblxuICAgIGlmICghZ2l0aHViKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiQXdzRGVwbG95V29ya2Zsb3cgcmVxdWlyZXMgYSBHaXRIdWIgY29tcG9uZW50IGluIHRoZSByb290IHByb2plY3RcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAqXG4gICAgICogVHVyYm9SZXBvIENoZWNrXG4gICAgICpcbiAgICAgKiBJZiB0dXJibyBpcyBlbmFibGVkLCB3ZSBtYXkgbmVlZCB0aGUgb3B0aW9ucyBsYXRlciBpbiB0aGlzIGZpbGUuXG4gICAgICpcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICBjb25zdCB0dXJibyA9IFR1cmJvUmVwby5vZih0aGlzLnJvb3RQcm9qZWN0KTtcbiAgICBjb25zdCBidWlsZFdvcmtmbG93T3B0aW9uczogUGFydGlhbDxCdWlsZFdvcmtmbG93T3B0aW9ucz4gPVxuICAgICAgdHVyYm8/LnJlbW90ZUNhY2hlT3B0aW9uc1xuICAgICAgICA/IFR1cmJvUmVwby5idWlsZFdvcmtmbG93T3B0aW9ucyh0dXJiby5yZW1vdGVDYWNoZU9wdGlvbnMpXG4gICAgICAgIDoge307XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICpcbiAgICAgKiBXb3JrZmxvdyBEZXBsb3kgVHlwZVxuICAgICAqXG4gICAgICogV2hhdCB0eXBlIG9mIGVudmlyb25tZW50cyBhcmUgd2UgZGVwbG95aW5nIGludG8/IFdlJ2xsIGRlZmF1bHQgdG8gZGV2IHRvXG4gICAgICogYmUgc2FmZS5cbiAgICAgKlxuICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIHRoaXMuYXdzU3RhZ2VUeXBlID0gb3B0aW9ucy5hd3NTdGFnZVR5cGUgPz8gQVdTX1NUQUdFX1RZUEUuREVWO1xuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAqXG4gICAgICogV29ya2Zsb3cgRGVwbG95IFRhcmdldHNcbiAgICAgKlxuICAgICAqIFVzZSBwcm92aWRlZCB0YXJnZXRzIG9yIGRpc2NvdmVyIHRoZW0gYmFzZWQgb24gdGhlIGRlcGxveSB0eXBlLiBPbmx5XG4gICAgICogaW5jbHVkZSB0YXJnZXRzIHRoYXQgYXJlIG1hcmtlZCBmb3IgQ0kvQ0QuXG4gICAgICpcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICB0aGlzLmF3c0RlcGxveW1lbnRUYXJnZXRzID1cbiAgICAgIG9wdGlvbnMuYXdzRGVwbG95bWVudFRhcmdldHMgPz9cbiAgICAgIEF3c0RlcGxveW1lbnRDb25maWcub2YocHJvamVjdCk/LmF3c0RlcGxveW1lbnRUYXJnZXRzLmZpbHRlcihcbiAgICAgICAgKHRhcmdldCkgPT5cbiAgICAgICAgICB0YXJnZXQuYXdzU3RhZ2VUeXBlID09PSB0aGlzLmF3c1N0YWdlVHlwZSAmJiB0YXJnZXQuY2lEZXBsb3ltZW50LFxuICAgICAgKSA/P1xuICAgICAgW107XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICpcbiAgICAgKiBCdWlsZCBXb3JrZmxvdyBPcHRpb25zXG4gICAgICpcbiAgICAgKiBDYW4ndCB1c2UgdGhlIG9wdGlvbnMgaWYgYW4gZXhpc3Rpbmcgd29ya2Zsb3cgd2FzIHBhc3NlZCBpbi5cbiAgICAgKlxuICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIGlmIChvcHRpb25zLmJ1aWxkV29ya2Zsb3cgJiYgb3B0aW9ucy5idWlsZFdvcmtmbG93T3B0aW9ucykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIkNhbm5vdCBwcm92aWRlIGJvdGggYnVpbGRXb3JrZmxvdyBhbmQgYnVpbGRXb3JrZmxvd09wdGlvbnNcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5leHRlcm5hbFdvcmtmbG93ID0gISFvcHRpb25zLmJ1aWxkV29ya2Zsb3c7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICpcbiAgICAgKiBCdWlsZCBXb3JrZmxvd1xuICAgICAqXG4gICAgICogQ3JlYXRlIGEgd29ya2Zsb3cgZWl0aGVyIGJhc2VkIG9uIGlucHV0IG9yIGZyb20gc2NyYXRjaC5cbiAgICAgKlxuICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgIHRoaXMuYnVpbGRXb3JrZmxvdyA9XG4gICAgICBvcHRpb25zLmJ1aWxkV29ya2Zsb3cgPz9cbiAgICAgIG5ldyBCdWlsZFdvcmtmbG93KHRoaXMucm9vdFByb2plY3QsIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIE5hbWUgYmFzZWQgb24gcHJvamVjdCBhbmQgZW52aXJvbm1lbnQuXG4gICAgICAgICAqL1xuICAgICAgICBuYW1lOiBbXG4gICAgICAgICAgXCJkZXBsb3lcIixcbiAgICAgICAgICBwcm9qZWN0Lm5hbWUsXG4gICAgICAgICAgdGhpcy5hd3NTdGFnZVR5cGUsXG4gICAgICAgICAgdGhpcy5hd3NFbnZpcm9ubWVudFR5cGUsXG4gICAgICAgIF0uam9pbihcIi1cIiksXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFVzZSB0aGUgcm9vdCBwcm9qZWN0cyBidWlsZCB0YXNrLlxuICAgICAgICAgKi9cbiAgICAgICAgYnVpbGRUYXNrOiB0aGlzLnJvb3RQcm9qZWN0LmJ1aWxkVGFzayxcblxuICAgICAgICAvKipcbiAgICAgICAgICogVXNlIHB1c2ggdHJpZ2dlcnMgYmFzZWQgbiB0aGUgYnJhbmNoIGNvbmZpZyBmb3IgZWFjaCBlbnZpcm9ubWVudC5cbiAgICAgICAgICovXG4gICAgICAgIHdvcmtmbG93VHJpZ2dlcnM6IHtcbiAgICAgICAgICBwdXNoOiB7XG4gICAgICAgICAgICBicmFuY2hlczogW1xuICAgICAgICAgICAgICAuLi50aGlzLmF3c0RlcGxveW1lbnRUYXJnZXRzLmZsYXRNYXAoKHQpID0+XG4gICAgICAgICAgICAgICAgdC5icmFuY2hlcy5tYXAoKGIpID0+IGIuYnJhbmNoKSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB3b3JrZmxvd0Rpc3BhdGNoOiB7fSxcbiAgICAgICAgICAuLi5vcHRpb25zLmJ1aWxkV29ya2Zsb3dPcHRpb25zPy53b3JrZmxvd1RyaWdnZXJzLFxuICAgICAgICB9LFxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBOZXZlciBhbGxvdyBtdXRhdGlvbnMgZm9yIGRlcGxveXMuIFRoaXMgc2hvdWxkIGhhdmUgYmVlbiBoYW5kbGVkXG4gICAgICAgICAqIGR1cmluZyBidWlsZC5cbiAgICAgICAgICovXG4gICAgICAgIG11dGFibGVCdWlsZDogZmFsc2UsXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIERvIHRoaXMgcHJlLW1lcmdlIG9mIHBlcm1pc3Npb25zIGFuZCBidWlsZCBzdGVwc1xuICAgICAgICAgKi9cbiAgICAgICAgLi4ub3B0aW9ucy5idWlsZFdvcmtmbG93T3B0aW9ucyxcblxuICAgICAgICAvKipcbiAgICAgICAgICogU29tZSBhZGRpdGlvbmFsIHBlcm1pc3Npb25zIG1heSBiZSByZXF1aXJlZCB3aGVuIHR1cmJvJ3MgaW52b2x2ZWQuXG4gICAgICAgICAqL1xuICAgICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICAgIC4uLm9wdGlvbnMuYnVpbGRXb3JrZmxvd09wdGlvbnM/LnBlcm1pc3Npb25zLFxuICAgICAgICAgIC4uLmJ1aWxkV29ya2Zsb3dPcHRpb25zPy5wZXJtaXNzaW9ucyxcbiAgICAgICAgfSxcblxuICAgICAgICAvKipcbiAgICAgICAgICogQXNzZW1ibGUgYWxsIHByZS1idWlsZCBzdGVwc1xuICAgICAgICAgKi9cbiAgICAgICAgcHJlQnVpbGRTdGVwczogW1xuICAgICAgICAgIC4uLnRoaXMuc2V0dXBQbnBtKCksXG4gICAgICAgICAgLi4udGhpcy5zZXR1cE5vZGUoKSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcIkluc3RhbGwgZGVwZW5kZW5jaWVzXCIsXG4gICAgICAgICAgICBydW46IFwicG5wbSBpIC0tbm8tZnJvemVuLWxvY2tmaWxlXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICAuLi4ob3B0aW9ucy5idWlsZFdvcmtmbG93T3B0aW9ucz8ucHJlQnVpbGRTdGVwcyA/PyBbXSksXG4gICAgICAgICAgLi4uKGJ1aWxkV29ya2Zsb3dPcHRpb25zPy5wcmVCdWlsZFN0ZXBzID8/IFtdKSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAqXG4gICAgICogQWRkIERlcGxveW1lbnRzIHRvIHdvcmtmbG93XG4gICAgICpcbiAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICB0aGlzLmF3c0RlcGxveW1lbnRUYXJnZXRzLmZvckVhY2goKHRhcmdldCkgPT4ge1xuICAgICAgY29uc3QgZGVwbG95Sm9iTmFtZSA9IFtcbiAgICAgICAgdGFyZ2V0LmF3c1N0YWdlVHlwZSxcbiAgICAgICAgdGFyZ2V0LmF3c0Vudmlyb25tZW50VHlwZSxcbiAgICAgICAgXCJkZXBsb3lcIixcbiAgICAgICAgdGhpcy5wcm9qZWN0Lm5hbWUsXG4gICAgICAgIHRhcmdldC5hY2NvdW50LFxuICAgICAgICB0YXJnZXQucmVnaW9uLFxuICAgICAgXS5qb2luKFwiLVwiKTtcblxuICAgICAgdGhpcy5idWlsZFdvcmtmbG93LmFkZFBvc3RCdWlsZEpvYihkZXBsb3lKb2JOYW1lLCB7XG4gICAgICAgIG5hbWU6IGBEZXBsb3kgJHt0YXJnZXQuYXdzU3RhZ2VUeXBlfS8ke3RhcmdldC5hd3NFbnZpcm9ubWVudFR5cGV9LyR7dGFyZ2V0LmFjY291bnR9LyR7dGFyZ2V0LnJlZ2lvbn1gLFxuICAgICAgICBydW5zT246IFtcInVidW50dS1sYXRlc3RcIl0sXG4gICAgICAgIHBlcm1pc3Npb25zOiB7XG4gICAgICAgICAgY29udGVudHM6IEpvYlBlcm1pc3Npb24uUkVBRCxcbiAgICAgICAgICBpZFRva2VuOiBKb2JQZXJtaXNzaW9uLldSSVRFLFxuICAgICAgICB9LFxuICAgICAgICBjb25jdXJyZW5jeTogZGVwbG95Sm9iTmFtZSxcbiAgICAgICAgc3RlcHM6IFsuLi50aGlzLmRlcGxveVN0ZXBzKHRhcmdldCldLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2V0dXBOb2RlID0gKCk6IEFycmF5PEpvYlN0ZXA+ID0+IHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcIlNldHVwIE5vZGVcIixcbiAgICAgICAgdXNlczogXCJhY3Rpb25zL3NldHVwLW5vZGVAdjRcIixcbiAgICAgICAgd2l0aDoge1xuICAgICAgICAgIFtcIm5vZGUtdmVyc2lvblwiXTogVkVSU0lPTi5OT0RFX1dPUktGTE9XUyxcbiAgICAgICAgfSxcbiAgICAgICAgLy8gb2NjYXNpb25hbGx5IHRoaXMgc3RlcCBmYWlscyBkdWUgdG8gaW50ZXJuYWwgaXNzdWVzIGF0IGdpdGh1YlxuICAgICAgICB0aW1lb3V0TWludXRlczogMSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfTtcblxuICBwdWJsaWMgc2V0dXBQbnBtID0gKCk6IEFycmF5PEpvYlN0ZXA+ID0+IHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcIlNldHVwIFBOUE1cIixcbiAgICAgICAgdXNlczogXCJwbnBtL2FjdGlvbi1zZXR1cEB2M1wiLFxuICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgdmVyc2lvbjogVkVSU0lPTi5QTlBNX1ZFUlNJT04sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF07XG4gIH07XG5cbiAgcHJpdmF0ZSBkZXBsb3lTdGVwcyA9ICh0YXJnZXQ6IEF3c0RlcGxveW1lbnRUYXJnZXQpOiBBcnJheTxKb2JTdGVwPiA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgYXdzU3RhZ2VUeXBlLFxuICAgICAgYXdzRW52aXJvbm1lbnRUeXBlLFxuICAgICAgYWNjb3VudCxcbiAgICAgIHJlZ2lvbixcbiAgICAgIGNpRGVwbG95bWVudENvbmZpZyxcbiAgICAgIGF3c0RlcGxveW1lbnRDb25maWcsXG4gICAgfSA9IHRhcmdldDtcbiAgICBjb25zdCB7IHJvbGVBcm4sIHN0YWNrUGF0dGVybiB9ID0gY2lEZXBsb3ltZW50Q29uZmlnID8/IHt9O1xuICAgIGNvbnN0IHsgcm9vdENka091dCB9ID0gYXdzRGVwbG95bWVudENvbmZpZztcblxuICAgIHJldHVybiBbXG4gICAgICAuLi50aGlzLnNldHVwUG5wbSgpLFxuICAgICAgLi4udGhpcy5zZXR1cE5vZGUoKSxcblxuICAgICAgLyoqXG4gICAgICAgKiBJbnN0YWxsIENES1xuICAgICAgICovXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiSW5zdGFsbCBDREtcIixcbiAgICAgICAgcnVuOiBcInBucG0gYWRkIGF3cy1jZGtcIixcbiAgICAgIH0sXG5cbiAgICAgIC8qKlxuICAgICAgICogQ29uZmlndXJlIEFXUyBjcmVkcy5cbiAgICAgICAqL1xuICAgICAge1xuICAgICAgICBuYW1lOiBgQVdTIENyZWRzICR7YXdzU3RhZ2VUeXBlfS8ke2F3c0Vudmlyb25tZW50VHlwZX0vJHthY2NvdW50fS8ke3JlZ2lvbn1gLFxuICAgICAgICB1c2VzOiBcImF3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHNAdjRcIixcbiAgICAgICAgd2l0aDoge1xuICAgICAgICAgIFwicm9sZS10by1hc3N1bWVcIjogcm9sZUFybixcbiAgICAgICAgICBcImF3cy1yZWdpb25cIjogcmVnaW9uLFxuICAgICAgICAgIFwicm9sZS1kdXJhdGlvbi1zZWNvbmRzXCI6IDkwMCwgLy8gMTUgbWludXRlc1xuICAgICAgICB9LFxuICAgICAgfSxcblxuICAgICAgLyoqXG4gICAgICAgKiBSdW4gQ0RLIERlcGxveVxuICAgICAgICovXG4gICAgICB7XG4gICAgICAgIG5hbWU6IGBEZXBsb3kgJHthd3NTdGFnZVR5cGV9LyR7YXdzRW52aXJvbm1lbnRUeXBlfS8ke2FjY291bnR9LyR7cmVnaW9ufWAsXG4gICAgICAgIHJ1bjogYHBucG0gZGx4IGF3cy1jZGsgZGVwbG95IC0tbm8tcm9sbGJhY2sgLS1yZXF1aXJlLWFwcHJvdmFsPW5ldmVyIC0tYXBwPSR7cm9vdENka091dH0gXCIke3N0YWNrUGF0dGVybn1cImAsXG4gICAgICB9LFxuICAgIF07XG4gIH07XG5cbiAgcHJlU3ludGhlc2l6ZSgpOiB2b2lkIHtcbiAgICAvKipcbiAgICAgKiBFbnN1cmUgdHVyYm8gaXMgYWN0aXZlIHdoZW4gbmVlZGVkLlxuICAgICAqL1xuICAgIGlmICghdGhpcy5leHRlcm5hbFdvcmtmbG93ICYmIFR1cmJvUmVwby5vZih0aGlzLnJvb3RQcm9qZWN0KSkge1xuICAgICAgdGhpcy5idWlsZFdvcmtmbG93LmFkZFBvc3RCdWlsZFN0ZXBzKHtcbiAgICAgICAgbmFtZTogXCJCdWlsZCBTdWIgUHJvamVjdHNcIixcbiAgICAgICAgcnVuOiBgbnB4IHByb2plbiAke1JPT1RfQ0lfVEFTS19OQU1FfWAsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBzdXBlci5wcmVTeW50aGVzaXplKCk7XG4gIH1cbn1cbiJdfQ==
|
package/package.json
CHANGED