@cdklabs/multi-az-observability 0.0.1-alpha.38 → 0.0.1-alpha.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +2 -2
- package/lib/azmapper/AvailabilityZoneMapper.js +1 -1
- package/lib/basic_observability/BasicServiceMultiAZObservability.js +1 -1
- package/lib/canaries/src/canary.zip +0 -0
- package/lib/dashboards/OperationAvailabilityAndLatencyDashboard.js +4 -4
- package/lib/dashboards/ServiceAvailabilityAndLatencyDashboard.js +8 -8
- package/lib/monitoring/src/monitoring-layer.zip +0 -0
- package/lib/outlier-detection/src/outlier-detection.zip +0 -0
- package/lib/outlier-detection/src/scipy-layer.zip +0 -0
- package/lib/services/CanaryMetrics.js +1 -1
- package/lib/services/CanaryTestMetricsOverride.js +1 -1
- package/lib/services/ContributorInsightRuleDetails.js +1 -1
- package/lib/services/InstrumentedServiceMultiAZObservability.js +1 -1
- package/lib/services/Operation.js +1 -1
- package/lib/services/OperationMetricDetails.js +1 -1
- package/lib/services/Service.js +1 -1
- package/lib/services/ServiceMetricDetails.js +1 -1
- package/lib/services/props/MetricDimensions.js +1 -1
- package/package.json +1 -1
package/.jsii
CHANGED
|
@@ -10402,6 +10402,6 @@
|
|
|
10402
10402
|
"symbolId": "src/services/props/ServiceProps:ServiceProps"
|
|
10403
10403
|
}
|
|
10404
10404
|
},
|
|
10405
|
-
"version": "0.0.1-alpha.
|
|
10406
|
-
"fingerprint": "
|
|
10405
|
+
"version": "0.0.1-alpha.39",
|
|
10406
|
+
"fingerprint": "TKrTwawEZa6BMHIjXXNMEDwxhylsDpRSY2r5hTidTN8="
|
|
10407
10407
|
}
|
|
@@ -195,5 +195,5 @@ class AvailabilityZoneMapper extends constructs_1.Construct {
|
|
|
195
195
|
}
|
|
196
196
|
exports.AvailabilityZoneMapper = AvailabilityZoneMapper;
|
|
197
197
|
_a = JSII_RTTI_SYMBOL_1;
|
|
198
|
-
AvailabilityZoneMapper[_a] = { fqn: "@cdklabs/multi-az-observability.AvailabilityZoneMapper", version: "0.0.1-alpha.
|
|
198
|
+
AvailabilityZoneMapper[_a] = { fqn: "@cdklabs/multi-az-observability.AvailabilityZoneMapper", version: "0.0.1-alpha.39" };
|
|
199
199
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXZhaWxhYmlsaXR5Wm9uZU1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hem1hcHBlci9BdmFpbGFiaWxpdHlab25lTWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscUVBQXFFO0FBQ3JFLHNDQUFzQztBQUN0Qyx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLDZDQU1xQjtBQUNyQixpREFRNkI7QUFDN0IsdURBTWdDO0FBQ2hDLG1EQUEwRTtBQUMxRSwyQ0FBdUM7QUFHdkMsOERBQTJEO0FBRTNEOztHQUVHO0FBQ0gsTUFBYSxzQkFDWCxTQUFRLHNCQUFTO0lBbUJqQixZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUFtQztRQUVuQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCOzs7Ozs7Ozs7O1VBVUU7UUFFRixJQUFJLGlCQUFpQixHQUFtQixJQUFJLHVCQUFhLENBQ3ZELElBQUksRUFDSixtQkFBbUIsRUFDbkI7WUFDRSxJQUFJLEVBQUUsWUFBWTtZQUNsQixVQUFVLEVBQUU7Z0JBQ1YsSUFBSSx5QkFBZSxDQUFDO29CQUNsQixPQUFPLEVBQUU7d0JBQ1AsdUJBQXVCO3dCQUN2QiwwQkFBMEI7d0JBQzFCLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6QixvQ0FBb0M7cUJBQ3JDO29CQUNELE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7b0JBQ3BCLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQztpQkFDakIsQ0FBQzthQUNIO1NBQ0YsQ0FDRixDQUFDO1FBRUYsSUFBSSxnQkFBZ0IsR0FBbUIsSUFBSSx1QkFBYSxDQUN0RCxJQUFJLEVBQ0osa0JBQWtCLEVBQ2xCO1lBQ0UsSUFBSSxFQUFFLFlBQVk7WUFDbEIsVUFBVSxFQUFFO2dCQUNWLElBQUkseUJBQWUsQ0FBQztvQkFDbEIsT0FBTyxFQUFFLENBQUMsK0JBQStCLENBQUM7b0JBQzFDLE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7b0JBQ3BCLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQztpQkFDakIsQ0FBQzthQUNIO1NBQ0YsQ0FDRixDQUFDO1FBRUYsSUFBSSxhQUFhLEdBQVUsSUFBSSxjQUFJLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRTtZQUN6RCxTQUFTLEVBQUUsSUFBSSwwQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQztZQUN2RCxJQUFJLEVBQUUsWUFBWTtZQUNsQixlQUFlLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQztTQUN2RCxDQUFDLENBQUM7UUFFSCxNQUFNLElBQUksR0FBVyxFQUFFLENBQUMsWUFBWSxDQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSw0QkFBNEIsQ0FBQyxFQUNyRCxPQUFPLENBQ1IsQ0FBQztRQUVGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxxQkFBUSxDQUFDLElBQUksRUFBRSxnQ0FBZ0MsRUFBRTtZQUNuRSxPQUFPLEVBQUUsNkJBQWEsQ0FBQyxhQUFhO1lBQ3BDLElBQUksRUFBRSxpQkFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDM0IsT0FBTyxFQUFFLGVBQWU7WUFDeEIsSUFBSSxFQUFFLGFBQWE7WUFDbkIsWUFBWSxFQUFFLHlCQUFZLENBQUMsTUFBTTtZQUNqQyxPQUFPLEVBQUUsb0JBQU8sQ0FBQyxNQUFNO1lBQ3ZCLE9BQU8sRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDN0IsVUFBVSxFQUFFLEdBQUc7WUFDZixXQUFXLEVBQUU7Z0JBQ1gsTUFBTSxFQUFFLGlCQUFHLENBQUMsTUFBTTtnQkFDbEIsU0FBUyxFQUFFLGlCQUFHLENBQUMsU0FBUzthQUN6QjtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxtQkFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDN0MsWUFBWSxFQUFFLGVBQWUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUU7WUFDekQsU0FBUyxFQUFFLHdCQUFhLENBQUMsT0FBTztZQUNoQyxhQUFhLEVBQUUsMkJBQWEsQ0FBQyxPQUFPO1NBQ3JDLENBQUMsQ0FBQztRQUVILElBQUksdUJBQWEsQ0FBQyxJQUFJLEVBQUUseUJBQXlCLEVBQUU7WUFDakQsSUFBSSxFQUFFLFlBQVk7WUFDbEIsVUFBVSxFQUFFO2dCQUNWLElBQUkseUJBQWUsQ0FBQztvQkFDbEIsT0FBTyxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQ3JDLE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7b0JBQ3BCLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQztpQkFDakIsQ0FBQztnQkFDRixJQUFJLHlCQUFlLENBQUM7b0JBQ2xCLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixFQUFFLG1CQUFtQixDQUFDO29CQUN0RCxNQUFNLEVBQUUsZ0JBQU0sQ0FBQyxLQUFLO29CQUNwQixTQUFTLEVBQUU7d0JBQ1QsT0FBTyxpQkFBRyxDQUFDLFNBQVMsU0FBUyxpQkFBRyxDQUFDLE1BQU0sSUFBSSxpQkFBRyxDQUFDLFVBQVUsY0FBYyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksSUFBSTtxQkFDdEc7aUJBQ0YsQ0FBQzthQUNIO1lBQ0QsS0FBSyxFQUFFLENBQUMsYUFBYSxDQUFDO1NBQ3ZCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSw0QkFBYyxDQUFDLElBQUksRUFBRSx3QkFBd0IsRUFBRTtZQUMvRCxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXO1lBQ3ZDLFVBQVUsRUFDUixLQUFLLEVBQUUscUJBQXFCLEtBQUssU0FBUztnQkFDeEMsQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLHFCQUFxQixFQUFFO2dCQUNwRCxDQUFDLENBQUMsRUFBRTtTQUNULENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsa0JBQWtCLENBQUMsb0JBQTRCO1FBQzdDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG9CQUFvQixDQUFDLGtCQUEwQjtRQUM3QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxrQ0FBa0M7UUFDaEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxpQkFBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILDBCQUEwQixDQUFDLHFCQUErQjtRQUN4RCxJQUFJLEdBQUcsR0FBYSxFQUFFLENBQUM7UUFFdkIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3RELEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsdUNBQXVDLENBQ3JDLHFCQUErQjtRQUUvQixJQUFJLEdBQUcsR0FBYSxFQUFFLENBQUM7UUFFdkIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3RELEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILDBDQUEwQztRQUN4QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCw2QkFBNkI7UUFDM0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILDRDQUE0QyxDQUFDLE1BQWM7UUFDekQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCw0Q0FBNEM7UUFDMUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQzlELENBQUM7O0FBMU9ILHdEQTJPQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQge1xuICBBd3MsXG4gIEN1c3RvbVJlc291cmNlLFxuICBEdXJhdGlvbixcbiAgUmVmZXJlbmNlLFxuICBSZW1vdmFsUG9saWN5LFxufSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQge1xuICBFZmZlY3QsXG4gIElNYW5hZ2VkUG9saWN5LFxuICBJUm9sZSxcbiAgTWFuYWdlZFBvbGljeSxcbiAgUG9saWN5U3RhdGVtZW50LFxuICBSb2xlLFxuICBTZXJ2aWNlUHJpbmNpcGFsLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7XG4gIEFyY2hpdGVjdHVyZSxcbiAgQ29kZSxcbiAgRnVuY3Rpb24sXG4gIElGdW5jdGlvbixcbiAgVHJhY2luZyxcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBJTG9nR3JvdXAsIExvZ0dyb3VwLCBSZXRlbnRpb25EYXlzIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBJQXZhaWxhYmlsaXR5Wm9uZU1hcHBlciB9IGZyb20gJy4vSUF2YWlsYWJpbGl0eVpvbmVNYXBwZXInO1xuaW1wb3J0IHsgQXZhaWxhYmlsaXR5Wm9uZU1hcHBlclByb3BzIH0gZnJvbSAnLi9wcm9wcy9BdmFpbGFiaWxpdHlab25lTWFwcGVyUHJvcHMnO1xuaW1wb3J0IHsgTWV0cmljc0hlbHBlciB9IGZyb20gJy4uL3V0aWxpdGllcy9NZXRyaWNzSGVscGVyJztcblxuLyoqXG4gKiBBIGNvbnN0cnVjdCB0aGF0IGFsbG93cyB5b3UgdG8gbWFwIEFaIG5hbWVzIHRvIGlkcyBhbmQgYmFja1xuICovXG5leHBvcnQgY2xhc3MgQXZhaWxhYmlsaXR5Wm9uZU1hcHBlclxuICBleHRlbmRzIENvbnN0cnVjdFxuICBpbXBsZW1lbnRzIElBdmFpbGFiaWxpdHlab25lTWFwcGVyIHtcbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbiB0aGF0IGRvZXMgdGhlIG1hcHBpbmdcbiAgICovXG4gIGZ1bmN0aW9uOiBJRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIFRoZSBsb2cgZ3JvdXAgZm9yIHRoZSBmdW5jdGlvbidzIGxvZ3NcbiAgICovXG4gIGxvZ0dyb3VwOiBJTG9nR3JvdXA7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXN0b20gcmVzb3VyY2UgdGhhdCBjYW4gYmUgcmVmZXJlbmNlZCB0byB1c2VcbiAgICogRm46OkdldEF0dCBmdW5jdGlvbnMgb24gdG8gcmV0cmlldmUgYXZhaWxhYmlsaXR5IHpvbmVcbiAgICogbmFtZXMgYW5kIGlkc1xuICAgKi9cbiAgbWFwcGVyOiBDdXN0b21SZXNvdXJjZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM/OiBBdmFpbGFiaWxpdHlab25lTWFwcGVyUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICAvKlxuICAgIGxldCBjdXJyZW50Tm9kZTogQ29uc3RydWN0IHwgdW5kZWZpbmVkID0gdGhpcy5ub2RlLnNjb3BlO1xuXG4gICAgd2hpbGUgKGN1cnJlbnROb2RlICE9PSB1bmRlZmluZWQgJiYgIShjdXJyZW50Tm9kZSBpbnN0YW5jZW9mIFN0YWNrKSkge1xuICAgICAgY3VycmVudE5vZGUgPSBjdXJyZW50Tm9kZS5ub2RlLnNjb3BlO1xuICAgIH1cblxuICAgIGlmIChjdXJyZW50Tm9kZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAoY3VycmVudE5vZGUgYXMgU3RhY2spLmFkZFRyYW5zZm9ybSgnQVdTOjpMYW5ndWFnZUV4dGVuc2lvbnMnKTtcbiAgICB9XG4gICAgKi9cblxuICAgIGxldCB4cmF5TWFuYWdlZFBvbGljeTogSU1hbmFnZWRQb2xpY3kgPSBuZXcgTWFuYWdlZFBvbGljeShcbiAgICAgIHRoaXMsXG4gICAgICAnWHJheU1hbmFnZWRQb2xpY3knLFxuICAgICAge1xuICAgICAgICBwYXRoOiAnL2F6bWFwcGVyLycsXG4gICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgJ3hyYXk6UHV0VHJhY2VTZWdtZW50cycsXG4gICAgICAgICAgICAgICd4cmF5OlB1dFRlbGVtZXRyeVJlY29yZHMnLFxuICAgICAgICAgICAgICAneHJheTpHZXRTYW1wbGluZ1J1bGVzJyxcbiAgICAgICAgICAgICAgJ3hyYXk6R2V0U2FtcGxpbmdUYXJnZXRzJyxcbiAgICAgICAgICAgICAgJ3hyYXk6R2V0U2FtcGxpbmdTdGF0aXN0aWNTdW1tYXJpZXMnLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGxldCBlYzJNYW5hZ2VkUG9saWN5OiBJTWFuYWdlZFBvbGljeSA9IG5ldyBNYW5hZ2VkUG9saWN5KFxuICAgICAgdGhpcyxcbiAgICAgICdFQzJNYW5hZ2VkUG9saWN5JyxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJy9hem1hcHBlci8nLFxuICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICBhY3Rpb25zOiBbJ2VjMjpEZXNjcmliZUF2YWlsYWJpbGl0eVpvbmVzJ10sXG4gICAgICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBsZXQgZXhlY3V0aW9uUm9sZTogSVJvbGUgPSBuZXcgUm9sZSh0aGlzLCAnZXhlY3V0aW9uUm9sZScsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IFNlcnZpY2VQcmluY2lwYWwoJ2xhbWJkYS5hbWF6b25hd3MuY29tJyksXG4gICAgICBwYXRoOiAnL2F6bWFwcGVyLycsXG4gICAgICBtYW5hZ2VkUG9saWNpZXM6IFt4cmF5TWFuYWdlZFBvbGljeSwgZWMyTWFuYWdlZFBvbGljeV0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBmaWxlOiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoXG4gICAgICBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi8uLi9hem1hcHBlci9zcmMvaW5kZXgucHknKSxcbiAgICAgICd1dGYtOCcsXG4gICAgKTtcblxuICAgIHRoaXMuZnVuY3Rpb24gPSBuZXcgRnVuY3Rpb24odGhpcywgJ0F2YWlsYWJpbGl0eVpvbmVNYXBwZXJGdW5jdGlvbicsIHtcbiAgICAgIHJ1bnRpbWU6IE1ldHJpY3NIZWxwZXIuUHl0aG9uUnVudGltZSxcbiAgICAgIGNvZGU6IENvZGUuZnJvbUlubGluZShmaWxlKSxcbiAgICAgIGhhbmRsZXI6ICdpbmRleC5oYW5kbGVyJyxcbiAgICAgIHJvbGU6IGV4ZWN1dGlvblJvbGUsXG4gICAgICBhcmNoaXRlY3R1cmU6IEFyY2hpdGVjdHVyZS5BUk1fNjQsXG4gICAgICB0cmFjaW5nOiBUcmFjaW5nLkFDVElWRSxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHMoMjApLFxuICAgICAgbWVtb3J5U2l6ZTogNTEyLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgUkVHSU9OOiBBd3MuUkVHSU9OLFxuICAgICAgICBQQVJUSVRJT046IEF3cy5QQVJUSVRJT05cbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLmxvZ0dyb3VwID0gbmV3IExvZ0dyb3VwKHRoaXMsICdMb2dHcm91cCcsIHtcbiAgICAgIGxvZ0dyb3VwTmFtZTogYC9hd3MvbGFtYmRhLyR7dGhpcy5mdW5jdGlvbi5mdW5jdGlvbk5hbWV9YCxcbiAgICAgIHJldGVudGlvbjogUmV0ZW50aW9uRGF5cy5PTkVfREFZLFxuICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgIH0pO1xuXG4gICAgbmV3IE1hbmFnZWRQb2xpY3kodGhpcywgJ0Nsb3VkV2F0Y2hNYW5hZ2VkUG9saWN5Jywge1xuICAgICAgcGF0aDogJy9hem1hcHBlci8nLFxuICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbJ2Nsb3Vkd2F0Y2g6UHV0TWV0cmljRGF0YSddLFxuICAgICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICAgIH0pLFxuICAgICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbJ2xvZ3M6Q3JlYXRlTG9nU3RyZWFtJywgJ2xvZ3M6UHV0TG9nRXZlbnRzJ10sXG4gICAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICBgYXJuOiR7QXdzLlBBUlRJVElPTn06bG9nczoke0F3cy5SRUdJT059OiR7QXdzLkFDQ09VTlRfSUR9OmxvZy1ncm91cDoke3RoaXMubG9nR3JvdXAubG9nR3JvdXBOYW1lfToqYFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pLFxuICAgICAgXSxcbiAgICAgIHJvbGVzOiBbZXhlY3V0aW9uUm9sZV0sXG4gICAgfSk7XG5cbiAgICB0aGlzLm1hcHBlciA9IG5ldyBDdXN0b21SZXNvdXJjZSh0aGlzLCAnQXZhaWxhYmlsaXR5Wm9uZU1hcHBlcicsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogdGhpcy5mdW5jdGlvbi5mdW5jdGlvbkFybixcbiAgICAgIHByb3BlcnRpZXM6XG4gICAgICAgIHByb3BzPy5hdmFpbGFiaWxpdHlab25lTmFtZXMgIT09IHVuZGVmaW5lZFxuICAgICAgICAgID8geyBBdmFpbGFiaWxpdHlab25lczogcHJvcHMuYXZhaWxhYmlsaXR5Wm9uZU5hbWVzIH1cbiAgICAgICAgICA6IHt9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIEF2YWlsYWJpbGl0eSBab25lIElkIGZvciB0aGUgZ2l2ZW4gQXZhaWxhYmlsaXR5IFpvbmUgTmFtZSBpbiB0aGlzIGFjY291bnRcbiAgICogQHBhcmFtIGF2YWlsYWJpbGl0eVpvbmVOYW1lXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBhdmFpbGFiaWxpdHlab25lSWQoYXZhaWxhYmlsaXR5Wm9uZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubWFwcGVyLmdldEF0dFN0cmluZyhhdmFpbGFiaWxpdHlab25lTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgQXZhaWxhYmlsaXR5IFpvbmUgTmFtZSBmb3IgdGhlIGdpdmVuIEF2YWlsYWJpbGl0eSBab25lIElkIGluIHRoaXMgYWNjb3VudFxuICAgKiBAcGFyYW0gYXZhaWxhYmlsaXR5Wm9uZUlkXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBhdmFpbGFiaWxpdHlab25lTmFtZShhdmFpbGFiaWxpdHlab25lSWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubWFwcGVyLmdldEF0dFN0cmluZyhhdmFpbGFiaWxpdHlab25lSWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHByZWZpeCBmb3IgdGhlIHJlZ2lvbiB1c2VkIHdpdGggQXZhaWxhYmlsaXR5IFpvbmUgSWRzLCBmb3IgZXhhbXBsZVxuICAgKiBpbiB1cy1lYXN0LTEsIHRoaXMgcmV0dXJucyBcInVzZTFcIlxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgcmVnaW9uUHJlZml4Rm9yQXZhaWxhYmlsaXR5Wm9uZUlkcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm1hcHBlci5nZXRBdHRTdHJpbmcoQXdzLlJFR0lPTik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBhcnJheSBmb3IgQXZhaWxhYmlsaXR5IFpvbmUgSWRzIGZvciB0aGUgc3VwcGxpZWQgQXZhaWxhYmlsaXR5IFpvbmUgbmFtZXMsXG4gICAqIHRoZXkgYXJlIHJldHVybmVkIGluIHRoZSBzYW1lIG9yZGVyIHRoZSBuYW1lcyB3ZXJlIHByb3ZpZGVkXG4gICAqIEBwYXJhbSBhdmFpbGFiaWxpdHlab25lTmFtZXNcbiAgICogQHJldHVybnNcbiAgICovXG4gIGF2YWlsYWJpbGl0eVpvbmVJZHNBc0FycmF5KGF2YWlsYWJpbGl0eVpvbmVOYW1lczogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gICAgbGV0IGlkczogc3RyaW5nW10gPSBbXTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXZhaWxhYmlsaXR5Wm9uZU5hbWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZHMucHVzaCh0aGlzLmF2YWlsYWJpbGl0eVpvbmVJZChhdmFpbGFiaWxpdHlab25lTmFtZXNbaV0pKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaWRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBjb21tYSBkZWxpbWl0ZWQgbGlzdCBvZiBBdmFpbGFiaWxpdHkgWm9uZSBJZHMgZm9yIHRoZSBzdXBwbGllZFxuICAgKiBBdmFpbGFiaWxpdHkgWm9uZSBuYW1lcy4gWW91IGNhbiB1c2UgdGhpcyBzdHJpbmcgd2l0aCBGbi5TZWxlY3QoeCwgRm4uU3BsaXQoXCIsXCIsIGF6cykpIHRvXG4gICAqIGdldCBhIHNwZWNpZmljIEF2YWlsYWJpbGl0eSBab25lIElkXG4gICAqIEBwYXJhbSBhdmFpbGFiaWxpdHlab25lTmFtZXNcbiAgICogQHJldHVybnNcbiAgICovXG4gIGF2YWlsYWJpbGl0eVpvbmVJZHNBc0NvbW1hRGVsaW1pdGVkTGlzdChcbiAgICBhdmFpbGFiaWxpdHlab25lTmFtZXM6IHN0cmluZ1tdLFxuICApOiBzdHJpbmcge1xuICAgIGxldCBpZHM6IHN0cmluZ1tdID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGF2YWlsYWJpbGl0eVpvbmVOYW1lcy5sZW5ndGg7IGkrKykge1xuICAgICAgaWRzLnB1c2godGhpcy5hdmFpbGFiaWxpdHlab25lSWQoYXZhaWxhYmlsaXR5Wm9uZU5hbWVzW2ldKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGlkcy5qb2luKCcsJyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGNvbW1hIGRlbGltaXRlZCBsaXN0IG9mIEF2YWlsYWJpbGl0eSBab25lIElkcyBmb3IgdGhlIHN1cHBsaWVkXG4gICAqIEF2YWlsYWJpbGl0eSBab25lIG5hbWVzLiBZb3UgY2FuIHVzZSB0aGlzIHN0cmluZyB3aXRoIEZuLlNlbGVjdCh4LCBGbi5TcGxpdChcIixcIiwgYXpzKSkgdG9cbiAgICogZ2V0IGEgc3BlY2lmaWMgQXZhaWxhYmlsaXR5IFpvbmUgSWRcbiAgICogQHJldHVybnNcbiAgICovXG4gIGFsbEF2YWlsYWJpbGl0eVpvbmVJZHNBc0NvbW1hRGVsaW1pdGVkTGlzdCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm1hcHBlci5nZXRBdHRTdHJpbmcoJ0FsbEF2YWlsYWJpbGl0eVpvbmVJZHMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgcmVmZXJlbmNlIHRoYXQgY2FuIGJlIGNhc3QgdG8gYSBzdHJpbmcgYXJyYXkgd2l0aCBhbGwgb2YgdGhlXG4gICAqIEF2YWlsYWJpbGl0eSBab25lIElkc1xuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgYWxsQXZhaWxhYmlsaXR5Wm9uZUlkc0FzQXJyYXkoKTogUmVmZXJlbmNlIHtcbiAgICByZXR1cm4gdGhpcy5tYXBwZXIuZ2V0QXR0KCdBbGxBdmFpbGFiaWxpdHlab25lSWRzQXJyYXknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHaXZlbiBhIGxldHRlciBsaWtlIFwiZlwiIG9yIFwiYVwiLCByZXR1cm5zIHRoZSBBdmFpbGFiaWxpdHkgWm9uZSBJZCBmb3IgdGhhdFxuICAgKiBBdmFpbGFiaWxpdHkgWm9uZSBuYW1lIGluIHRoaXMgYWNjb3VudFxuICAgKiBAcGFyYW0gbGV0dGVyXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBhdmFpbGFiaWxpdHlab25lSWRGcm9tQXZhaWxhYmlsaXR5Wm9uZUxldHRlcihsZXR0ZXI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubWFwcGVyLmdldEF0dFN0cmluZyhsZXR0ZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYWxsIG9mIHRoZSBBdmFpbGFiaWxpdHkgWm9uZSBuYW1lcyBpbiB0aGlzIFJlZ2lvbiBhcyBhIGNvbW1hIGRlbGltaXRlZFxuICAgKiBsaXN0LiBZb3UgY2FuIHVzZSB0aGlzIHN0cmluZyB3aXRoIEZuLlNlbGVjdCh4LCBGbi5TcGxpdChcIixcIiwgYXpzKSkgdG9cbiAgICogZ2V0IGEgc3BlY2lmaWMgQXZhaWxhYmlsaXR5IFpvbmUgTmFtZVxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgYWxsQXZhaWxhYmlsaXR5Wm9uZU5hbWVzQXNDb21tYURlbGltaXRlZExpc3QoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5tYXBwZXIuZ2V0QXR0U3RyaW5nKCdBbGxBdmFpbGFiaWxpdHlab25lTmFtZXMnKTtcbiAgfVxufVxuIl19
|
|
@@ -218,5 +218,5 @@ class BasicServiceMultiAZObservability extends constructs_1.Construct {
|
|
|
218
218
|
}
|
|
219
219
|
exports.BasicServiceMultiAZObservability = BasicServiceMultiAZObservability;
|
|
220
220
|
_a = JSII_RTTI_SYMBOL_1;
|
|
221
|
-
BasicServiceMultiAZObservability[_a] = { fqn: "@cdklabs/multi-az-observability.BasicServiceMultiAZObservability", version: "0.0.1-alpha.
|
|
221
|
+
BasicServiceMultiAZObservability[_a] = { fqn: "@cdklabs/multi-az-observability.BasicServiceMultiAZObservability", version: "0.0.1-alpha.39" };
|
|
222
222
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzaWNTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmFzaWNfb2JzZXJ2YWJpbGl0eS9CYXNpY1NlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHFFQUFxRTtBQUNyRSxzQ0FBc0M7QUFFdEMsNkNBQXVDO0FBQ3ZDLCtEQUtvQztBQU9wQywyQ0FBdUM7QUFHdkMsK0VBQTRFO0FBRTVFLG1FQUFnRTtBQUNoRSw4RkFBMkY7QUFDM0YsOERBQTJEO0FBQzNELHdJQUFxSTtBQUNySSxvRUFBaUU7QUFDakUsa0pBQStJO0FBQy9JLGdHQUE2RjtBQUU3Rjs7O0dBR0c7QUFDSCxNQUFhLGdDQUNYLFNBQVEsc0JBQVM7SUE4Q2pCLFlBQ0UsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBQTRDO1FBRTVDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1lBQ3RFLE1BQU0sSUFBSSxLQUFLLENBQUMsOEZBQThGLENBQUMsQ0FBQztRQUNsSCxDQUFDO1FBRUQsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUNyQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsS0FBSyxDQUFDLDRCQUE0QixFQUFFLHdCQUF3QixDQUFDO1FBQzdGLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUM7UUFFdEQsSUFBSSxDQUFDLGtDQUFrQyxHQUFHLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsNEJBQTRCLEdBQUcsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxFQUFFLENB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QUcsSUFBSSwrQkFBYyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsOEJBQThCLEVBQUU7Z0JBQ3ZILFNBQVMsRUFBRSwwQkFBUyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQztnQkFDL0Qsa0JBQWtCLEVBQUUsa0JBQWtCLEdBQUcsOEJBQThCO2FBQ3hFLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxxQkFBcUIsQ0FBQztJQUMvQixDQUFDOztBQXRYSCw0RUF1WEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHtcbiAgQWxhcm1SdWxlLFxuICBDb21wb3NpdGVBbGFybSxcbiAgRGFzaGJvYXJkLFxuICBJQWxhcm1cbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgQ2ZuTmF0R2F0ZXdheSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0IHtcbiAgQmFzZUxvYWRCYWxhbmNlcixcbiAgSUFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyLFxuICBJTG9hZEJhbGFuY2VyVjIsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSUJhc2ljU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5IH0gZnJvbSAnLi9JQmFzaWNTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHknO1xuaW1wb3J0IHsgQmFzaWNTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHlQcm9wcyB9IGZyb20gJy4vcHJvcHMvQmFzaWNTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHlQcm9wcyc7XG5pbXBvcnQgeyBBdmFpbGFiaWxpdHlab25lTWFwcGVyIH0gZnJvbSAnLi4vYXptYXBwZXIvQXZhaWxhYmlsaXR5Wm9uZU1hcHBlcic7XG5pbXBvcnQgeyBJQXZhaWxhYmlsaXR5Wm9uZU1hcHBlciB9IGZyb20gJy4uL2F6bWFwcGVyL0lBdmFpbGFiaWxpdHlab25lTWFwcGVyJztcbmltcG9ydCB7IEJhc2ljU2VydmljZURhc2hib2FyZCB9IGZyb20gJy4vQmFzaWNTZXJ2aWNlRGFzaGJvYXJkJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyTWV0cmljcyB9IGZyb20gJy4uL21ldHJpY3MvQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJNZXRyaWNzJztcbmltcG9ydCB7IE1ldHJpY3NIZWxwZXIgfSBmcm9tICcuLi91dGlsaXRpZXMvTWV0cmljc0hlbHBlcic7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlckxhdGVuY3lPdXRsaWVyQWxnb3JpdGhtIH0gZnJvbSAnLi4vb3V0bGllci1kZXRlY3Rpb24vQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJMYXRlbmN5T3V0bGllckFsZ29yaXRobSc7XG5pbXBvcnQgeyBOYXRHYXRld2F5TWV0cmljcyB9IGZyb20gJy4uL21ldHJpY3MvTmF0R2F0ZXdheU1ldHJpY3MnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJBdmFpbGFiaWxpdHlPdXRsaWVyQWxnb3JpdGhtIH0gZnJvbSAnLi4vb3V0bGllci1kZXRlY3Rpb24vQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJBdmFpbGFiaWxpdHlPdXRsaWVyQWxnb3JpdGhtJztcbmltcG9ydCB7IFBhY2tldExvc3NPdXRsaWVyQWxnb3JpdGhtIH0gZnJvbSAnLi4vb3V0bGllci1kZXRlY3Rpb24vUGFja2V0TG9zc091dGxpZXJBbGdvcml0aG0nO1xuXG4vKipcbiAqIEJhc2ljIG9ic2VydmFiaWxpdHkgZm9yIGEgc2VydmljZSB1c2luZyBtZXRyaWNzIGZyb21cbiAqIEFMQnMgYW5kIE5BVCBHYXRld2F5c1xuICovXG5leHBvcnQgY2xhc3MgQmFzaWNTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHlcbiAgZXh0ZW5kcyBDb25zdHJ1Y3RcbiAgaW1wbGVtZW50cyBJQmFzaWNTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHkge1xuICAvKipcbiAgICogVGhlIE5BVCBHYXRld2F5cyBiZWluZyB1c2VkIGluIHRoZSBzZXJ2aWNlLCBlYWNoIHNldCBvZiBOQVQgR2F0ZXdheXNcbiAgICogYXJlIGtleWVkIGJ5IHRoZWlyIEF2YWlsYWJpbGl0eSBab25lIElkXG4gICAqL1xuICBuYXRHYXRld2F5cz86IHsgW2tleTogc3RyaW5nXTogQ2ZuTmF0R2F0ZXdheVtdIH07XG5cbiAgLyoqXG4gICAqIFRoZSBhcHBsaWNhdGlvbiBsb2FkIGJhbGFuY2VycyBiZWluZyB1c2VkIGJ5IHRoZSBzZXJ2aWNlXG4gICAqL1xuICBhcHBsaWNhdGlvbkxvYWRCYWxhbmNlcnM/OiBJQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJbXTtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHNlcnZpY2VcbiAgICovXG4gIHNlcnZpY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBhbGFybXMgaW5kaWNhdGluZyBpZiBhbiBBWiBpcyBhbiBvdXRsaWVyIGZvciBOQVQgR1dcbiAgICogcGFja2V0IGxvc3MgYW5kIGhhcyBpc29sYXRlZCBpbXBhY3RcbiAgICovXG4gIG5hdEdXWm9uYWxJc29sYXRlZEltcGFjdEFsYXJtcz86IHsgW2tleTogc3RyaW5nXTogSUFsYXJtIH07XG5cbiAgLyoqXG4gICAqIFRoZSBhbGFybXMgaW5kaWNhdGluZyBpZiBhbiBBWiBpcyBhbiBvdXRsaWVyIGZvciBBTEJcbiAgICogZmF1bHRzIGFuZCBoYXMgaXNvbGF0ZWQgaW1wYWN0XG4gICAqL1xuICBhbGJab25hbElzb2xhdGVkSW1wYWN0QWxhcm1zPzogeyBba2V5OiBzdHJpbmddOiBJQWxhcm0gfTtcblxuICAvKipcbiAgICogVGhlIGFsYXJtcyBpbmRpY2F0aW5nIGlmIGFuIEFaIGhhcyBpc29sYXRlZCBpbXBhY3RcbiAgICogZnJvbSBlaXRoZXIgQUxCIG9yIE5BVCBHVyBtZXRyaWNzXG4gICAqL1xuICBhZ2dyZWdhdGVab25hbElzb2xhdGVkSW1wYWN0QWxhcm1zOiB7IFtrZXk6IHN0cmluZ106IElBbGFybSB9O1xuXG4gIC8qKlxuICAgKiBUaGUgZGFzaGJvYXJkIHRoYXQgaXMgb3B0aW9uYWxseSBjcmVhdGVkXG4gICAqL1xuICBkYXNoYm9hcmQ/OiBEYXNoYm9hcmQ7XG5cbiAgLyoqXG4gICAqIFRoZSBBWiBtYXBwZXIgcmVzb3VyY2VcbiAgICovXG4gIHByaXZhdGUgX2F6TWFwcGVyOiBJQXZhaWxhYmlsaXR5Wm9uZU1hcHBlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IEJhc2ljU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5UHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBpZiAoIShwcm9wcy5hcHBsaWNhdGlvbkxvYWRCYWxhbmNlclByb3BzKSAmJiAhKHByb3BzLm5hdEdhdGV3YXlQcm9wcykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIllvdSBtdXN0IGRlZmluZSBlaXRoZXIgQUxCcyBvciBOQVQgR2F0ZXdheXMgZm9yIHRoaXMgc2VydmljZSBpbiBvcmRlciB0byBjcmVhdGUgYSBkYXNoYm9hcmQuXCIpO1xuICAgIH1cblxuICAgIC8vIEluaXRpYWxpemUgY2xhc3MgcHJvcGVydGllc1xuICAgIHRoaXMuc2VydmljZU5hbWUgPSBwcm9wcy5zZXJ2aWNlTmFtZTtcbiAgICB0aGlzLmFwcGxpY2F0aW9uTG9hZEJhbGFuY2VycyA9IHByb3BzLmFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyUHJvcHM/LmFwcGxpY2F0aW9uTG9hZEJhbGFuY2VycztcbiAgICB0aGlzLm5hdEdhdGV3YXlzID0gcHJvcHMubmF0R2F0ZXdheVByb3BzPy5uYXRHYXRld2F5cztcblxuICAgIHRoaXMuYWdncmVnYXRlWm9uYWxJc29sYXRlZEltcGFjdEFsYXJtcyA9IHt9O1xuICAgIHRoaXMuYWxiWm9uYWxJc29sYXRlZEltcGFjdEFsYXJtcyA9IHt9O1xuICAgIHRoaXMubmF0R1dab25hbElzb2xhdGVkSW1wYWN0QWxhcm1zID0ge307XG5cbiAgICAvLyBDcmVhdGUgdGhlIEFaIG1hcHBlciByZXNvdXJjZSB0byB0cmFuc2xhdGUgQVogbmFtZXMgdG8gaWRzXG4gICAgdGhpcy5fYXpNYXBwZXIgPSBuZXcgQXZhaWxhYmlsaXR5Wm9uZU1hcHBlcih0aGlzLCAnYXZhaWxhYmlsaXR5LXpvbmUtbWFwcGVyJyk7XG5cbiAgICAvLyBDcmVhdGUgQUxCIG1ldHJpY3MgYW5kIGFsYXJtcyBwZXIgQVpcbiAgICBpZiAodGhpcy5hcHBsaWNhdGlvbkxvYWRCYWxhbmNlcnMpIHtcbiAgICAgIHRoaXMuYWxiWm9uYWxJc29sYXRlZEltcGFjdEFsYXJtcyA9IHRoaXMuY3JlYXRlQWxiWm9uYWxJbXBhY3RBbGFybXMocHJvcHMpO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSBOQVQgR2F0ZXdheSBtZXRyaWNzIGFuZCBhbGFybXMgcGVyIEFaXG4gICAgaWYgKHRoaXMubmF0R2F0ZXdheXMpIHtcbiAgICAgIHRoaXMubmF0R1dab25hbElzb2xhdGVkSW1wYWN0QWxhcm1zID0gdGhpcy5jcmVhdGVOYXRHYXRld2F5Wm9uYWxJbXBhY3RBbGFybXMocHJvcHMpO1xuICAgIH1cblxuICAgIC8vIExvb2sgdGhyb3VnaCBhbGwgb2YgdGhlIHBlciBBWiBBTEIgYWxhcm1zLCBpZiB0aGVyZSdzIGFsc28gYSBOQVQgR1cgYWxhcm1cbiAgICAvLyBjcmVhdGUgYSBjb21wb3NpdGUgYWxhcm0gaWYgZWl0aGVyIG9mIHRoZW0gdHJpZ2dlclxuICAgIE9iamVjdC5rZXlzKHRoaXMuYWxiWm9uYWxJc29sYXRlZEltcGFjdEFsYXJtcykuZm9yRWFjaCgoYXpMZXR0ZXI6IHN0cmluZykgPT4ge1xuICAgICAgbGV0IGF2YWlsYWJpbGl0eVpvbmVJZCA9IHRoaXMuX2F6TWFwcGVyLmF2YWlsYWJpbGl0eVpvbmVJZEZyb21BdmFpbGFiaWxpdHlab25lTGV0dGVyKGF6TGV0dGVyKTtcbiAgICAgIGlmIChhekxldHRlciBpbiB0aGlzLm5hdEdXWm9uYWxJc29sYXRlZEltcGFjdEFsYXJtcyEpIHtcbiAgICAgICAgdGhpcy5hZ2dyZWdhdGVab25hbElzb2xhdGVkSW1wYWN0QWxhcm1zW2F6TGV0dGVyXSA9IG5ldyBDb21wb3NpdGVBbGFybSh0aGlzLCBhekxldHRlciArIFwiLWlzb2xhdGVkLWltcGFjdC1hbGFybVwiLCB7XG4gICAgICAgICAgYWxhcm1SdWxlOiBBbGFybVJ1bGUuYW55T2YodGhpcy5hbGJab25hbElzb2xhdGVkSW1wYWN0QWxhcm1zIVthekxldHRlcl0sIHRoaXMubmF0R1dab25hbElzb2xhdGVkSW1wYWN0QWxhcm1zIVthekxldHRlcl0pLFxuICAgICAgICAgIGNvbXBvc2l0ZUFsYXJtTmFtZTogYXZhaWxhYmlsaXR5Wm9uZUlkICsgXCItaXNvbGF0ZWQtaW1wYWN0LWFsYXJtXCJcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5hZ2dyZWdhdGVab25hbElzb2xhdGVkSW1wYWN0QWxhcm1zW2F6TGV0dGVyXSA9IG5ldyBDb21wb3NpdGVBbGFybSh0aGlzLCBhekxldHRlciArIFwiLWlzb2xhdGVkLWltcGFjdC1hbGFybVwiLCB7XG4gICAgICAgICAgYWxhcm1SdWxlOiBBbGFybVJ1bGUuYW55T2YodGhpcy5hbGJab25hbElzb2xhdGVkSW1wYWN0QWxhcm1zIVthekxldHRlcl0pLFxuICAgICAgICAgIGNvbXBvc2l0ZUFsYXJtTmFtZTogYXZhaWxhYmlsaXR5Wm9uZUlkICsgXCItaXNvbGF0ZWQtaW1wYWN0LWFsYXJtXCJcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBMb29rIHRocm91Z2ggYWxsIG9mIHRoZSBwZXIgQVogTkFUIEdXIGFsYXJtcy4gSWYgdGhlcmUncyBhbiBBWiB3ZSBoYXZlbid0IHNlZW4gaW4gdGhlIEFMQlxuICAgIC8vIGFsYXJtcyB5ZXQsIHRoZW4gaXQgd2lsbCBqdXN0IGJlIGEgTkFUIEdXIGFsYXJtIHRoYXQgd2UnbGwgdHVybiBpbnRvIHRoZSBzYW1lIGtpbmQgb2ZcbiAgICAvLyBjb21wb3NpdGUgYWxhcm1cbiAgICBPYmplY3Qua2V5cyh0aGlzLm5hdEdXWm9uYWxJc29sYXRlZEltcGFjdEFsYXJtcykuZm9yRWFjaCgoYXpMZXR0ZXI6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKCEoYXpMZXR0ZXIgaW4gdGhpcy5hZ2dyZWdhdGVab25hbElzb2xhdGVkSW1wYWN0QWxhcm1zKSkge1xuICAgICAgICBsZXQgYXZhaWxhYmlsaXR5Wm9uZUlkID0gdGhpcy5fYXpNYXBwZXIuYXZhaWxhYmlsaXR5Wm9uZUlkRnJvbUF2YWlsYWJpbGl0eVpvbmVMZXR0ZXIoYXpMZXR0ZXIpO1xuXG4gICAgICAgIHRoaXMuYWdncmVnYXRlWm9uYWxJc29sYXRlZEltcGFjdEFsYXJtc1thekxldHRlcl0gPSBuZXcgQ29tcG9zaXRlQWxhcm0odGhpcywgYXpMZXR0ZXIgKyBcIi1pc29sYXRlZC1pbXBhY3QtYWxhcm1cIiwge1xuICAgICAgICAgIGFsYXJtUnVsZTogQWxhcm1SdWxlLmFueU9mKHRoaXMubmF0R1dab25hbElzb2xhdGVkSW1wYWN0QWxhcm1zIVthekxldHRlcl0pLFxuICAgICAgICAgIGNvbXBvc2l0ZUFsYXJtTmFtZTogYXZhaWxhYmlsaXR5Wm9uZUlkICsgXCItaXNvbGF0ZWQtaW1wYWN0LWFsYXJtXCJcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgXG4gICAgLy8gU2hvdWxkIHdlIGNyZWF0ZSB0aGUgZGFzaGJvYXJkXG4gICAgaWYgKHByb3BzLmNyZWF0ZURhc2hib2FyZCA9PSB0cnVlKSB7XG4gICAgICB0aGlzLmRhc2hib2FyZCA9IG5ldyBCYXNpY1NlcnZpY2VEYXNoYm9hcmQoXG4gICAgICAgIHRoaXMsXG4gICAgICAgICdCYXNpY1NlcnZpY2VEYXNoYm9hcmQnLFxuICAgICAgICB7XG4gICAgICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLnRvTG93ZXJDYXNlKCksXG4gICAgICAgICAgem9uYWxBZ2dyZWdhdGVJc29sYXRlZEltcGFjdEFsYXJtczpcbiAgICAgICAgICAgIHRoaXMuYWdncmVnYXRlWm9uYWxJc29sYXRlZEltcGFjdEFsYXJtcyxcbiAgICAgICAgICBpbnRlcnZhbDogcHJvcHMuaW50ZXJ2YWwsXG4gICAgICAgICAgbmF0Z3dzOiBwcm9wcy5uYXRHYXRld2F5UHJvcHMsXG4gICAgICAgICAgYWxiczogcHJvcHMuYXBwbGljYXRpb25Mb2FkQmFsYW5jZXJQcm9wcyxcbiAgICAgICAgICBwZXJpb2Q6IHByb3BzLnBlcmlvZCA/IHByb3BzLnBlcmlvZCA6IER1cmF0aW9uLm1pbnV0ZXMoMSksXG4gICAgICAgICAgYXpNYXBwZXI6IHRoaXMuX2F6TWFwcGVyXG4gICAgICAgIH0sXG4gICAgICApLmRhc2hib2FyZDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogXG4gICAqIEBwYXJhbSBwcm9wcyBcbiAgICogQHJldHVybnMgQSBjb21wb3NpdGUgYWxhcm0gcGVyIEFaIHRvIGluZGljYXRlIGlzb2xhdGVkIHpvbmFsIGltcGFjdC4gVGhlIGRpY3Rpb25hcnlcbiAgICogaXMga2V5ZWQgYnkgdGhlIGF6IGxldHRlciwgbGlrZSBcImFcIiwgXCJiXCIsIFwiY1wiLlxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVBbGJab25hbEltcGFjdEFsYXJtcyhcbiAgICBwcm9wczogQmFzaWNTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHlQcm9wc1xuICApIDogeyBba2V5OiBzdHJpbmddOiBJQWxhcm0gfSB7XG5cbiAgICAvLyBDcmVhdGUgaW1wYWN0IGFsYXJtcyBwZXIgQVosIHdpdGggZWFjaCBBTEIgcHJvdmlkaW5nXG4gICAgLy8gYW4gYWxhcm0gZm9yIGl0cyBBWnNcbiAgICBsZXQgcGVyQVpJbXBhY3RBbGFybXM6IHsgW2tleTogc3RyaW5nXTogSUFsYXJtW10gfSA9IHt9O1xuXG4gICAgbGV0IGtleVByZWZpeDogc3RyaW5nID0gTWV0cmljc0hlbHBlci5uZXh0Q2hhcigpO1xuXG4gICAgbGV0IGF2YWlsYWJpbGl0eU91dGxpZXJEZXRlY3Rpb25BbGdvcml0aG06IEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyQXZhaWxhYmlsaXR5T3V0bGllckFsZ29yaXRobSA9IFxuICAgICAgcHJvcHMuYXBwbGljYXRpb25Mb2FkQmFsYW5jZXJQcm9wcz8uYXZhaWxhYmlsaXR5T3V0bGllckFsZ29yaXRobSA/XG4gICAgICBwcm9wcy5hcHBsaWNhdGlvbkxvYWRCYWxhbmNlclByb3BzLmF2YWlsYWJpbGl0eU91dGxpZXJBbGdvcml0aG0gOlxuICAgICAgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJBdmFpbGFiaWxpdHlPdXRsaWVyQWxnb3JpdGhtLlNUQVRJQztcblxuICAgIGxldCBsYXRlbmN5T3V0bGllckRldGVjdGlvbkFsZ29yaXRobTogQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJMYXRlbmN5T3V0bGllckFsZ29yaXRobSA9XG4gICAgICBwcm9wcy5hcHBsaWNhdGlvbkxvYWRCYWxhbmNlclByb3BzPy5sYXRlbmN5T3V0bGllckFsZ29yaXRobSA/IFxuICAgICAgcHJvcHMuYXBwbGljYXRpb25Mb2FkQmFsYW5jZXJQcm9wcy5sYXRlbmN5T3V0bGllckFsZ29yaXRobSA6XG4gICAgICBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlckxhdGVuY3lPdXRsaWVyQWxnb3JpdGhtLlpfU0NPUkU7XG5cbiAgICBsZXQgYXZhaWxhYmlsaXR5T3V0bGllclRocmVzaG9sZDogbnVtYmVyO1xuICAgIGlmIChwcm9wcy5hcHBsaWNhdGlvbkxvYWRCYWxhbmNlclByb3BzPy5hdmFpbGFiaWxpdHlPdXRsaWVyVGhyZXNob2xkKSB7XG4gICAgICBhdmFpbGFiaWxpdHlPdXRsaWVyVGhyZXNob2xkID0gcHJvcHMuYXBwbGljYXRpb25Mb2FkQmFsYW5jZXJQcm9wcy5hdmFpbGFiaWxpdHlPdXRsaWVyVGhyZXNob2xkO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHN3aXRjaCAoYXZhaWxhYmlsaXR5T3V0bGllckRldGVjdGlvbkFsZ29yaXRobSkge1xuICAgICAgICBjYXNlIEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyQXZhaWxhYmlsaXR5T3V0bGllckFsZ29yaXRobS5TVEFUSUM6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYXZhaWxhYmlsaXR5T3V0bGllclRocmVzaG9sZCA9IDY2O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBsYXRlbmN5T3V0bGllclRocmVzaG9sZDogbnVtYmVyO1xuXG4gICAgaWYgKHByb3BzLmFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyUHJvcHM/LmxhdGVuY3lPdXRsaWVyVGhyZXNob2xkKSB7XG4gICAgICBsYXRlbmN5T3V0bGllclRocmVzaG9sZCA9IHByb3BzLmFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyUHJvcHMubGF0ZW5jeU91dGxpZXJUaHJlc2hvbGQ7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgc3dpdGNoIChsYXRlbmN5T3V0bGllckRldGVjdGlvbkFsZ29yaXRobSkge1xuICAgICAgICBjYXNlIEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyTGF0ZW5jeU91dGxpZXJBbGdvcml0aG0uWl9TQ09SRTpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBsYXRlbmN5T3V0bGllclRocmVzaG9sZCA9IDM7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJMYXRlbmN5T3V0bGllckFsZ29yaXRobS5TVEFUSUM6XG4gICAgICAgICAgbGF0ZW5jeU91dGxpZXJUaHJlc2hvbGQgPSA2NjtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgcGVyaW9kOiBEdXJhdGlvbiA9IHByb3BzLnBlcmlvZCA/IHByb3BzLnBlcmlvZCA6IER1cmF0aW9uLm1pbnV0ZXMoMSk7XG5cbiAgICAvLyBJdGVyYXRlIGVhY2ggQUxCXG4gICAgdGhpcy5hcHBsaWNhdGlvbkxvYWRCYWxhbmNlcnMhLmZvckVhY2goKGFsYikgPT4ge1xuICAgICAgXG4gICAgICAvLyBJdGVyYXRlIGVhY2ggQVogaW4gdGhlIFZQQ1xuICAgICAgYWxiLnZwYz8uYXZhaWxhYmlsaXR5Wm9uZXMuZm9yRWFjaCgoYXopID0+IHtcblxuICAgICAgICBpZiAoIShheiBpbiBwZXJBWkltcGFjdEFsYXJtcykpIHtcbiAgICAgICAgICBwZXJBWkltcGFjdEFsYXJtc1thel0gPSBbXTtcbiAgICAgICAgfVxuICAgICBcbiAgICAgICAgLy8gR2V0IEFaIGxldHRlclxuICAgICAgICBsZXQgYXpMZXR0ZXIgPSBhei5zdWJzdHJpbmcoYXoubGVuZ3RoIC0gMSk7XG5cbiAgICAgICAgLy8gTWFwIGxldHRlciB0byBBWiBJRFxuICAgICAgICBsZXQgYXZhaWxhYmlsaXR5Wm9uZUlkOiBzdHJpbmcgPVxuICAgICAgICAgIHRoaXMuX2F6TWFwcGVyLmF2YWlsYWJpbGl0eVpvbmVJZEZyb21BdmFpbGFiaWxpdHlab25lTGV0dGVyKGF6TGV0dGVyKTtcblxuICAgICAgICAvLyBJcyB0aGVyZSBhdmFpbGFiaWxpdHkgaW1wYWN0IGluIHRoaXMgQVo/XG4gICAgICAgIGxldCBhdmFpbGFiaWxpdHlJbXBhY3Q6IElBbGFybSA9IEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyTWV0cmljcy5jcmVhdGVBWkF2YWlsYWJpbGl0eUltcGFjdEFsYXJtKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgYWxiLFxuICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICBheixcbiAgICAgICAgICBwcm9wcy5hcHBsaWNhdGlvbkxvYWRCYWxhbmNlclByb3BzIS5mYXVsdENvdW50UGVyY2VudFRocmVzaG9sZCxcbiAgICAgICAgICBrZXlQcmVmaXgsXG4gICAgICAgICAgcGVyaW9kLFxuICAgICAgICAgIHByb3BzLmV2YWx1YXRpb25QZXJpb2RzLFxuICAgICAgICAgIHByb3BzLmRhdGFwb2ludHNUb0FsYXJtXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gSXMgdGhlcmUgbGF0ZW5jeSBpbXBhY3QgaW4gdGhpcyBBWj9cbiAgICAgICAgbGV0IGxhdGVuY3lJbXBhY3Q6IElBbGFybSA9IEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyTWV0cmljcy5jcmVhdGVBWkxhdGVuY3lJbXBhY3RBbGFybShcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIGFsYixcbiAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgYXosXG4gICAgICAgICAgKHByb3BzLmFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyUHJvcHMhLmxhdGVuY3lUaHJlc2hvbGQgLyAxMDAwKSwgLy8gdGhyZXNob2xkIGlzIHByb3ZpZGVkIGluIG1pbGxpc2Vjb25kcywgYnV0IGxhdGVuY3kgaXMgcHJvdmlkZWQgaW4gc2Vjb25kc1xuICAgICAgICAgIHByb3BzLmFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyUHJvcHMhLmxhdGVuY3lTdGF0aXN0aWMsXG4gICAgICAgICAga2V5UHJlZml4LFxuICAgICAgICAgIHBlcmlvZCxcbiAgICAgICAgICBwcm9wcy5ldmFsdWF0aW9uUGVyaW9kcyxcbiAgICAgICAgICBwcm9wcy5kYXRhcG9pbnRzVG9BbGFybVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIElzIHRoZSBBWiBhbiBvdXRsaWVyIGZvciBmYXVsdHNcbiAgICAgICAgbGV0IGF2YWlsYWJpbGl0eU91dGxpZXIgPSBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlck1ldHJpY3MuY3JlYXRlQVpBdmFpbGFiaWxpdHlPdXRsaWVyQWxhcm0oXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICBhbGIsXG4gICAgICAgICAgYXZhaWxhYmlsaXR5T3V0bGllckRldGVjdGlvbkFsZ29yaXRobSxcbiAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgYXosXG4gICAgICAgICAgYXZhaWxhYmlsaXR5T3V0bGllclRocmVzaG9sZCxcbiAgICAgICAgICBrZXlQcmVmaXgsXG4gICAgICAgICAgcGVyaW9kLFxuICAgICAgICAgIHByb3BzLmV2YWx1YXRpb25QZXJpb2RzLFxuICAgICAgICAgIHByb3BzLmRhdGFwb2ludHNUb0FsYXJtXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gSXMgdGhlIEFaIGFuIG91dGxpZXIgZm9yIGxhdGVuY3lcbiAgICAgICAgbGV0IGxhdGVuY3lPdXRsaWVyID0gQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJNZXRyaWNzLmNyZWF0ZUFaTGF0ZW5jeU91dGxpZXJBbGFybShcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIGFsYixcbiAgICAgICAgICBsYXRlbmN5T3V0bGllckRldGVjdGlvbkFsZ29yaXRobSxcbiAgICAgICAgICBheixcbiAgICAgICAgICBwcm9wcy5hcHBsaWNhdGlvbkxvYWRCYWxhbmNlclByb3BzIS5sYXRlbmN5U3RhdGlzdGljLFxuICAgICAgICAgIChwcm9wcy5hcHBsaWNhdGlvbkxvYWRCYWxhbmNlclByb3BzIS5sYXRlbmN5VGhyZXNob2xkIC8gMTAwMCksIC8vIHRocmVzaG9sZCBpcyBwcm92aWRlZCBpbiBtaWxsaXNlY29uZHMsIGJ1dCBsYXRlbmN5IGlzIHByb3ZpZGVkIGluIHNlY29uZHNcbiAgICAgICAgICBsYXRlbmN5T3V0bGllclRocmVzaG9sZCxcbiAgICAgICAgICBwZXJpb2QsXG4gICAgICAgICAgcHJvcHMuZXZhbHVhdGlvblBlcmlvZHMsXG4gICAgICAgICAgcHJvcHMuZGF0YXBvaW50c1RvQWxhcm0sXG4gICAgICAgICAgdGhpcy5fYXpNYXBwZXJcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBBbGFybSBpZiB0aGUgQVogc2hvd3MgaW1wYWN0IGFuZCBpcyBhbiBvdXRsaWVyXG4gICAgICAgIGxldCBhekltcGFjdEFsYXJtOiBJQWxhcm0gPSBuZXcgQ29tcG9zaXRlQWxhcm0odGhpcywgXG4gICAgICAgICAgYXpMZXR0ZXIgKyAgXCItY29tcG9zaXRlLWltcGFjdC1hbGFybVwiLCBcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhbGFybVJ1bGU6IEFsYXJtUnVsZS5hbnlPZihcbiAgICAgICAgICAgICAgQWxhcm1SdWxlLmFsbE9mKGF2YWlsYWJpbGl0eUltcGFjdCwgYXZhaWxhYmlsaXR5T3V0bGllciksIFxuICAgICAgICAgICAgICBBbGFybVJ1bGUuYWxsT2YobGF0ZW5jeUltcGFjdCwgbGF0ZW5jeU91dGxpZXIpXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgY29tcG9zaXRlQWxhcm1OYW1lOiBcbiAgICAgICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZUlkICsgXCItXCIgKyBcbiAgICAgICAgICAgICAgKGFsYiBhcyBJTG9hZEJhbGFuY2VyVjIgYXMgQmFzZUxvYWRCYWxhbmNlcikubG9hZEJhbGFuY2VyTmFtZSArIFxuICAgICAgICAgICAgICBcIi1sYXRlbmN5LW9yLWF2YWlsYWJpbGl0eS1pbXBhY3RcIixcbiAgICAgICAgICAgIGFjdGlvbnNFbmFibGVkOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICAvLyBBZGQgdGhpcyBBTEIncyBmYXVsdCByYXRlIGFsYXJtXG4gICAgICAgIHBlckFaSW1wYWN0QWxhcm1zW2F6XS5wdXNoKGF6SW1wYWN0QWxhcm0pO1xuXG4gICAgICAgIC8vIEdldCBuZXh0IHVuaXF1ZSBrZXlcbiAgICAgICAga2V5UHJlZml4ID0gTWV0cmljc0hlbHBlci5uZXh0Q2hhcihrZXlQcmVmaXgpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBsZXQgYXpDb21wb3NpdGVBbGFybXM6IHtba2V5OiBzdHJpbmddOiBJQWxhcm19ID0ge307XG5cbiAgICAvLyBJdGVyYXRlIEFacyBmb3IgdGhlIEFMQiBpbXBhY3QgYWxhcm1zIHNvIHdlIGNhbiBqb2luIHRoZW1cbiAgICAvLyBpbnRvIGEgc2luZ2xlIGNvbXBvc2l0ZSBhbGFybSBmb3IgZWFjaCBBWlxuICAgIE9iamVjdC5rZXlzKHBlckFaSW1wYWN0QWxhcm1zKS5mb3JFYWNoKChheikgPT4ge1xuICAgICAgbGV0IGF6TGV0dGVyID0gYXouc3Vic3RyaW5nKGF6Lmxlbmd0aCAtIDEpO1xuICAgICAgbGV0IGF2YWlsYWJpbGl0eVpvbmVJZDogc3RyaW5nID0gdGhpcy5fYXpNYXBwZXIuYXZhaWxhYmlsaXR5Wm9uZUlkRnJvbUF2YWlsYWJpbGl0eVpvbmVMZXR0ZXIoYXpMZXR0ZXIpO1xuXG4gICAgICBhekNvbXBvc2l0ZUFsYXJtc1thekxldHRlcl0gPSBuZXcgQ29tcG9zaXRlQWxhcm0odGhpcywgYXpMZXR0ZXIgKyBcIi1hbGItaW1wYWN0LWNvbXBvc2l0ZS1hbGFybVwiLCB7XG4gICAgICAgIGFsYXJtUnVsZTogQWxhcm1SdWxlLmFueU9mKC4uLnBlckFaSW1wYWN0QWxhcm1zW2F6XSksXG4gICAgICAgIGNvbXBvc2l0ZUFsYXJtTmFtZTogYXZhaWxhYmlsaXR5Wm9uZUlkICsgXCItYWxiLWltcGFjdC1jb21wb3NpdGUtYWxhcm1cIlxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gYXpDb21wb3NpdGVBbGFybXM7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU5hdEdhdGV3YXlab25hbEltcGFjdEFsYXJtcyhcbiAgICBwcm9wczogQmFzaWNTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHlQcm9wc1xuICApOiB7W2tleTogc3RyaW5nXTogSUFsYXJtfSB7XG5cbiAgICAvLyBDb2xsZWN0IGFsYXJtcyBmb3IgcGFja2V0IGRyb3BzIGV4Y2VlZGluZyBhIHRocmVzaG9sZCBwZXIgTkFUIEdXXG4gICAgbGV0IHBhY2tldExvc3NQZXJBWkFsYXJtczogeyBba2V5OiBzdHJpbmddOiBJQWxhcm0gfSA9IHt9O1xuXG4gICAgbGV0IHBhY2tldExvc3NPdXRsaWVyQWxnb3JpdGhtOiBQYWNrZXRMb3NzT3V0bGllckFsZ29yaXRobSA9IHByb3BzLm5hdEdhdGV3YXlQcm9wcz8ucGFja2V0TG9zc091dGxpZXJBbGdvcml0aG0gP1xuICAgICAgcHJvcHMubmF0R2F0ZXdheVByb3BzPy5wYWNrZXRMb3NzT3V0bGllckFsZ29yaXRobSA6XG4gICAgICBQYWNrZXRMb3NzT3V0bGllckFsZ29yaXRobS5TVEFUSUM7XG5cbiAgICBsZXQgcGFja2V0TG9zc1RocmVzaG9sZDogbnVtYmVyID0gcHJvcHMubmF0R2F0ZXdheVByb3BzPy5wYWNrZXRMb3NzUGVyY2VudFRocmVzaG9sZCA/IFxuICAgICAgcHJvcHMubmF0R2F0ZXdheVByb3BzLnBhY2tldExvc3NQZXJjZW50VGhyZXNob2xkIDpcbiAgICAgIDAuMDE7XG5cbiAgICBsZXQgb3V0bGllclRocmVzaG9sZDogbnVtYmVyO1xuXG4gICAgaWYgKHByb3BzLm5hdEdhdGV3YXlQcm9wcz8ucGFja2V0TG9zc091dGxpZXJUaHJlc2hvbGQpIHtcbiAgICAgIG91dGxpZXJUaHJlc2hvbGQgPSBwcm9wcy5uYXRHYXRld2F5UHJvcHMucGFja2V0TG9zc091dGxpZXJUaHJlc2hvbGQ7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgc3dpdGNoIChwYWNrZXRMb3NzT3V0bGllckFsZ29yaXRobSkge1xuICAgICAgICBjYXNlIFBhY2tldExvc3NPdXRsaWVyQWxnb3JpdGhtLlNUQVRJQzpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBvdXRsaWVyVGhyZXNob2xkID0gNjY7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgICAgXG5cbiAgICBsZXQgcGVyaW9kOiBEdXJhdGlvbiA9IHByb3BzLnBlcmlvZCA/IHByb3BzLnBlcmlvZCA6IER1cmF0aW9uLm1pbnV0ZXMoMSk7XG5cbiAgICAvLyBGb3IgZWFjaCBBWiwgY3JlYXRlIG1ldHJpY3MgZm9yIGVhY2ggTkFUIEdXXG4gICAgT2JqZWN0LmtleXModGhpcy5uYXRHYXRld2F5cyEpLmZvckVhY2goKGF6OiBzdHJpbmcpID0+IHtcblxuICAgICAgbGV0IGF6TGV0dGVyOiBzdHJpbmcgPSBhei5zdWJzdHJpbmcoYXoubGVuZ3RoIC0gMSk7XG4gICAgICBsZXQgYXZhaWxhYmlsaXR5Wm9uZUlkID1cbiAgICAgICAgdGhpcy5fYXpNYXBwZXIuYXZhaWxhYmlsaXR5Wm9uZUlkRnJvbUF2YWlsYWJpbGl0eVpvbmVMZXR0ZXIoYXpMZXR0ZXIpO1xuXG4gICAgICAvLyBJcyB0aGVyZSBwYWNrZXQgbG9zcyBpbXBhY3Q/XG4gICAgICBsZXQgcGFja2V0TG9zc0ltcGFjdDogSUFsYXJtID0gTmF0R2F0ZXdheU1ldHJpY3MuaXNUaGVyZUFuQVpQYWNrZXRMb3NzSW1wYWN0TkFUR1coXG4gICAgICAgIHRoaXMsXG4gICAgICAgIHRoaXMubmF0R2F0ZXdheXMhW2F6XSxcbiAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICBheixcbiAgICAgICAgcGFja2V0TG9zc1RocmVzaG9sZCxcbiAgICAgICAgcGVyaW9kLFxuICAgICAgICBwcm9wcy5ldmFsdWF0aW9uUGVyaW9kcyxcbiAgICAgICAgcHJvcHMuZGF0YXBvaW50c1RvQWxhcm1cbiAgICAgICk7XG5cbiAgICAgIC8vIElzIHRoaXMgQVogYW4gb3V0bGllciBmb3IgdGhpcyBOQVRHVz9cbiAgICAgIGxldCBwYWNrZXRMb3NzT3V0bGllcjogSUFsYXJtID0gTmF0R2F0ZXdheU1ldHJpY3MuaXNBWkFuT3V0bGllckZvclBhY2tldExvc3NOQVRHVyhcbiAgICAgICAgdGhpcyxcbiAgICAgICAgdGhpcy5uYXRHYXRld2F5cyEsXG4gICAgICAgIHBhY2tldExvc3NPdXRsaWVyQWxnb3JpdGhtLFxuICAgICAgICBheixcbiAgICAgICAgdGhpcy5fYXpNYXBwZXIsXG4gICAgICAgIG91dGxpZXJUaHJlc2hvbGQsXG4gICAgICAgIHByb3BzLnBlcmlvZCA/IHByb3BzLnBlcmlvZCA6IER1cmF0aW9uLm1pbnV0ZXMoMSksXG4gICAgICAgIHByb3BzLmV2YWx1YXRpb25QZXJpb2RzLFxuICAgICAgICBwcm9wcy5kYXRhcG9pbnRzVG9BbGFybVxuICAgICAgKTtcblxuICAgICAgcGFja2V0TG9zc1BlckFaQWxhcm1zW2F6TGV0dGVyXSA9IG5ldyBDb21wb3NpdGVBbGFybSh0aGlzLCBhei5zdWJzdHJpbmcoYXoubGVuZ3RoIC0gMSkgKyBcIi1wYWNrZXQtbG9zcy1jb21wb3NpdGUtYWxhcm1cIiwge1xuICAgICAgICBhbGFybVJ1bGU6IEFsYXJtUnVsZS5hbGxPZihwYWNrZXRMb3NzSW1wYWN0LCBwYWNrZXRMb3NzT3V0bGllciksXG4gICAgICAgIGNvbXBvc2l0ZUFsYXJtTmFtZTogYXZhaWxhYmlsaXR5Wm9uZUlkICsgXCItcGFja2V0LWxvc3MtY29tcG9zaXRlLWFsYXJtXCJcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHBhY2tldExvc3NQZXJBWkFsYXJtcztcbiAgfVxufVxuIl19
|
|
Binary file
|
|
@@ -195,7 +195,7 @@ class OperationAvailabilityAndLatencyDashboard extends constructs_1.Construct {
|
|
|
195
195
|
availabilityZoneId: availabilityZoneId,
|
|
196
196
|
availabilityZone: availabilityZone,
|
|
197
197
|
metricDetails: operation.serverSideLatencyMetricDetails,
|
|
198
|
-
label: availabilityZoneId,
|
|
198
|
+
label: availabilityZoneId + " (avg: ${AVG} max: ${MAX})",
|
|
199
199
|
metricType: LatencyMetricType_1.LatencyMetricType.SUCCESS_LATENCY,
|
|
200
200
|
statistic: `TC(${operation.serverSideLatencyMetricDetails.successAlarmThreshold}:)`,
|
|
201
201
|
color: MetricsHelper_1.MetricsHelper.colors[index]
|
|
@@ -434,14 +434,14 @@ class OperationAvailabilityAndLatencyDashboard extends constructs_1.Construct {
|
|
|
434
434
|
availabilityZoneId: availabilityZoneId,
|
|
435
435
|
availabilityZone: availabilityZone,
|
|
436
436
|
metricDetails: operation.canaryMetricDetails.canaryLatencyMetricDetails,
|
|
437
|
-
label: availabilityZoneId,
|
|
437
|
+
label: availabilityZoneId + " (avg: ${AVG} max: ${MAX})",
|
|
438
438
|
metricType: LatencyMetricType_1.LatencyMetricType.SUCCESS_LATENCY,
|
|
439
439
|
statistic: `TC(${operation.canaryMetricDetails.canaryLatencyMetricDetails.successAlarmThreshold}:)`,
|
|
440
440
|
color: MetricsHelper_1.MetricsHelper.colors[index]
|
|
441
441
|
});
|
|
442
442
|
}),
|
|
443
443
|
AvailabilityAndLatencyMetrics_1.AvailabilityAndLatencyMetrics.createLatencyCountMetric({
|
|
444
|
-
label: aws_cdk_lib_1.Aws.REGION,
|
|
444
|
+
label: aws_cdk_lib_1.Aws.REGION + " (avg: ${AVG} max: ${MAX})",
|
|
445
445
|
metricDetails: operation.canaryMetricDetails.canaryLatencyMetricDetails,
|
|
446
446
|
metricType: LatencyMetricType_1.LatencyMetricType.SUCCESS_LATENCY,
|
|
447
447
|
statistic: `TC(${operation.canaryMetricDetails.canaryLatencyMetricDetails.successAlarmThreshold}:)`,
|
|
@@ -521,4 +521,4 @@ class OperationAvailabilityAndLatencyDashboard extends constructs_1.Construct {
|
|
|
521
521
|
}
|
|
522
522
|
}
|
|
523
523
|
exports.OperationAvailabilityAndLatencyDashboard = OperationAvailabilityAndLatencyDashboard;
|
|
524
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9uQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeURhc2hib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXNoYm9hcmRzL09wZXJhdGlvbkF2YWlsYWJpbGl0eUFuZExhdGVuY3lEYXNoYm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQXFFO0FBQ3JFLHNDQUFzQztBQUN0Qyw2Q0FBa0M7QUFDbEMsK0RBV29DO0FBQ3BDLDJDQUF1QztBQUN2QywyRUFBd0U7QUFHeEUsd0VBQXFFO0FBQ3JFLGdGQUE2RTtBQUM3RSxzRUFBbUU7QUFDbkUsOERBQTJEO0FBQzNELDRGQUF5RjtBQUd6Rjs7R0FFRztBQUNILE1BQWEsd0NBQ1gsU0FBUSxzQkFBUztJQUdULE1BQU0sQ0FBQyx1QkFBdUIsQ0FDcEMsU0FBb0IsRUFDcEIsS0FBb0Q7UUFHcEQsSUFBSSxTQUFTLEdBQWUsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQztRQUNwRSxJQUFJLGlCQUFpQixHQUFhLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDO1FBRXhHLFNBQVMsQ0FBQyxVQUFVLENBQ2xCLElBQUksMkJBQVUsQ0FBQztZQUNiLFFBQVEsRUFBRSw0QkFBNEI7WUFDdEMsVUFBVSxFQUFFLHFDQUFvQixDQUFDLFdBQVc7WUFDNUMsTUFBTSxFQUFFLENBQUM7WUFDVCxLQUFLLEVBQUUsRUFBRTtTQUNWLENBQUMsQ0FDSCxDQUFDO1FBRUYsU0FBUyxDQUFDLFVBQVU7UUFFbEIsMkJBQTJCO1FBQzNCLElBQUksNEJBQVcsQ0FBQztZQUNkLE1BQU0sRUFBRSxDQUFDO1lBQ1QsS0FBSyxFQUFFLENBQUM7WUFDUixLQUFLLEVBQUUsMEJBQTBCO1lBQ2pDLE1BQU0sRUFBRSxpQkFBRyxDQUFDLE1BQU07WUFDbEIsSUFBSSxFQUFFO2dCQUNKLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsZ0JBQXdCLEVBQUUsS0FBYSxFQUFFLEVBQUU7b0JBQ25FLElBQUksUUFBUSxHQUFXLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQy9FLElBQUksa0JBQWtCLEdBQVcsS0FBSyxDQUFDLFFBQVEsQ0FBQyw0Q0FBNEMsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFFdkcsT0FBTyw2REFBNkIsQ0FBQyw2QkFBNkIsQ0FBQzt3QkFDakUsa0JBQWtCLEVBQUUsa0JBQWtCO3dCQUN0QyxnQkFBZ0IsRUFBRSxnQkFBZ0I7d0JBQ2xDLEtBQUssRUFBRSxrQkFBa0IsR0FBRyw2QkFBNkI7d0JBQ3pELGFBQWEsRUFBRSxTQUFTLENBQUMsbUNBQW1DO3dCQUM1RCxVQUFVLEVBQUUsK0NBQXNCLENBQUMsWUFBWTt3QkFDL0MsS0FBSyxFQUFFLDZCQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztxQkFDbkMsRUFDRCxTQUFTLENBQUMsOEJBQThCLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUN2RSxrQkFBa0IsRUFDbEIsaUJBQUcsQ0FBQyxNQUFNLENBQ1gsQ0FBQyxDQUFBO2dCQUNKLENBQUMsQ0FBQztnQkFDRiw2REFBNkIsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDckQsS0FBSyxFQUFFLGlCQUFHLENBQUMsTUFBTSxHQUFHLDZCQUE2QjtvQkFDakQsYUFBYSxFQUFFLFNBQVMsQ0FBQyxtQ0FBbUM7b0JBQzVELFVBQVUsRUFBRSwrQ0FBc0IsQ0FBQyxZQUFZO29CQUMvQyxLQUFLLEVBQUUsNkJBQWEsQ0FBQyxXQUFXO2lCQUNqQyxFQUNELFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FDMUUsaUJBQUcsQ0FBQyxNQUFNLENBQ1gsQ0FBQzthQUNIO1lBQ0QsU0FBUyxFQUFFLEtBQUs7WUFDaEIsU0FBUyxFQUFFO2dCQUNULEdBQUcsRUFBRSxHQUFHO2dCQUNSLEdBQUcsRUFBRSxFQUFFO2dCQUNQLEtBQUssRUFBRSxTQUFTO2dCQUNoQixTQUFTLEVBQUUsS0FBSzthQUNqQjtZQUNELGVBQWUsRUFBRTtnQkFDZjtvQkFDRSxLQUFLLEVBQUUsU0FBUyxDQUFDLG1DQUFtQyxDQUFDLHFCQUFxQjtvQkFDMUUsT0FBTyxFQUFFLElBQUk7b0JBQ2IsS0FBSyxFQUFFLHNCQUFLLENBQUMsR0FBRztvQkFDaEIsS0FBSyxFQUFFLGVBQWU7aUJBQ3ZCO2FBQ0Y7U0FDRixDQUFDO1FBRUYsMEJBQTBCO1FBQzFCLElBQUksNEJBQVcsQ0FBQztZQUNkLE1BQU0sRUFBRSxDQUFDO1lBQ1QsS0FBSyxFQUFFLENBQUM7WUFDUixLQUFLLEVBQUUseUJBQXlCO1lBQ2hDLE1BQU0sRUFBRSxpQkFBRyxDQUFDLE1BQU07WUFDbEIsSUFBSSxFQUFFLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLGdCQUF3QixFQUFFLEtBQWEsRUFBRSxFQUFFO2dCQUN0RSxJQUFJLFFBQVEsR0FBVyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUMvRSxJQUFJLGtCQUFrQixHQUFXLEtBQUssQ0FBQyxRQUFRLENBQUMsNENBQTRDLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBRXZHLE9BQU8sNkRBQTZCLENBQUMsNkJBQTZCLENBQUM7b0JBQ2pFLGtCQUFrQixFQUFFLGtCQUFrQjtvQkFDdEMsZ0JBQWdCLEVBQUUsZ0JBQWdCO29CQUNsQyxLQUFLLEVBQUUsa0JBQWtCLEdBQUcsNkJBQTZCO29CQUN6RCxhQUFhLEVBQUUsU0FBUyxDQUFDLG1DQUFtQztvQkFDNUQsVUFBVSxFQUFFLCtDQUFzQixDQUFDLFdBQVc7b0JBQzlDLEtBQUssRUFBRSw2QkFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7aUJBQ25DLEVBQ0QsU0FBUyxDQUFDLDhCQUE4QixDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FDdkUsa0JBQWtCLEVBQ2xCLGlCQUFHLENBQUMsTUFBTSxDQUNYLENBQUMsQ0FBQTtZQUNKLENBQUMsQ0FBQztZQUNGLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLFNBQVMsRUFBRTtnQkFDVCxHQUFHLEVBQUUsQ0FBQztnQkFDTixLQUFLLEVBQUUsT0FBTztnQkFDZCxTQUFTLEVBQUUsS0FBSzthQUNqQjtTQUNGLENBQUM7UUFFRiw0QkFBNEI7UUFDNUIsSUFBSSw0QkFBVyxDQUFDO1lBQ2QsTUFBTSxFQUFFLENBQUM7WUFDVCxLQUFLLEVBQUUsQ0FBQztZQUNSLEtBQUssRUFBRSwyQkFBMkI7WUFDbEMsTUFBTSxFQUFFLGlCQUFHLENBQUMsTUFBTTtZQUNsQixJQUFJLEVBQUUsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsZ0JBQXdCLEVBQUUsS0FBYSxFQUFFLEVBQUU7Z0JBQ3RFLElBQUksUUFBUSxHQUFXLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQy9FLElBQUksa0JBQWtCLEdBQVcsS0FBSyxDQUFDLFFBQVEsQ0FBQyw0Q0FBNEMsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFFdkcsT0FBTyw2REFBNkIsQ0FBQyw2QkFBNkIsQ0FBQztvQkFDakUsa0JBQWtCLEVBQUUsa0JBQWtCO29CQUN0QyxnQkFBZ0IsRUFBRSxnQkFBZ0I7b0JBQ2xDLEtBQUssRUFBRSxrQkFBa0IsR0FBRyw2QkFBNkI7b0JBQ3pELGFBQWEsRUFBRSxTQUFTLENBQUMsbUNBQW1DO29CQUM1RCxVQUFVLEVBQUUsK0NBQXNCLENBQUMsYUFBYTtvQkFDaEQsS0FBSyxFQUFFLDZCQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztpQkFDbkMsRUFDRCxTQUFTLENBQUMsOEJBQThCLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUN2RSxrQkFBa0IsRUFDbEIsaUJBQUcsQ0FBQyxNQUFNLENBQ1gsQ0FBQyxDQUFBO1lBQ0osQ0FBQyxDQUFDO1lBQ0YsU0FBUyxFQUFFLEtBQUs7WUFDaEIsU0FBUyxFQUFFO2dCQUNULEtBQUssRUFBRSxPQUFPO2dCQUNkLFNBQVMsRUFBRSxLQUFLO2FBQ2pCO1NBQ0YsQ0FBQztRQUVGLDhDQUE4QztRQUM5QyxHQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxnQ0FBZ0MsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1lBQ3ZHO2dCQUNFLElBQUkscURBQXlCLENBQUM7b0JBQzVCLE1BQU0sRUFBRSxDQUFDO29CQUNULEtBQUssRUFBRSxDQUFDO29CQUNSLEtBQUssRUFBRSxpREFBaUQ7b0JBQ3hELFdBQVcsRUFBRSxLQUFLLENBQUMsdUJBQXVCLENBQUMsZ0NBQWdDLENBQUMsb0NBQW9DO29CQUNoSCxNQUFNLEVBQUUsU0FBUyxDQUFDLG1DQUFtQyxDQUFDLE1BQU07b0JBQzVELGNBQWMsRUFBRSwrQkFBYyxDQUFDLE1BQU07b0JBQ3JDLGNBQWMsRUFBRSxLQUFLO29CQUNyQixTQUFTLEVBQUUsaUJBQUcsQ0FBQyxVQUFVO29CQUN6QixlQUFlLEVBQUUsRUFBRTtpQkFDcEIsQ0FBQzthQUNILENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDUCxDQUFDO1FBRUosc0JBQXNCO1FBQ3RCLElBQUksY0FBYyxHQUFjLEVBQUUsQ0FBQztRQUNuQyxTQUFTLENBQUMsOEJBQThCLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBa0IsRUFBRSxFQUFFO1lBRXpGLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyx3QkFBd0IsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFpQixFQUFFLEVBQUU7Z0JBRS9GLGNBQWMsQ0FBQyxJQUFJLENBQ2pCLElBQUksNEJBQVcsQ0FBQztvQkFDZCxNQUFNLEVBQUUsQ0FBQztvQkFDVCxLQUFLLEVBQUUsQ0FBQztvQkFDUixLQUFLLEVBQUUsZUFBZSxVQUFVLElBQUksU0FBUyxVQUFVO29CQUN2RCxNQUFNLEVBQUUsaUJBQUcsQ0FBQyxNQUFNO29CQUNsQixJQUFJLEVBQUU7d0JBQ0osR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxnQkFBd0IsRUFBRSxLQUFhLEVBQUUsRUFBRTs0QkFDbkUsSUFBSSxRQUFRLEdBQVcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQzs0QkFDL0UsSUFBSSxrQkFBa0IsR0FBVyxLQUFLLENBQUMsUUFBUSxDQUFDLDRDQUE0QyxDQUFDLFFBQVEsQ0FBQyxDQUFDOzRCQUV2RyxPQUFPLHlDQUFtQixDQUFDLHdCQUF3QixDQUFDO2dDQUNsRCxVQUFVLEVBQUUsVUFBVTtnQ0FDdEIsS0FBSyxFQUFFLGtCQUFrQixHQUFHLDZCQUE2QjtnQ0FDekQsYUFBYSxFQUFFLFNBQVMsQ0FBQyw4QkFBOEI7Z0NBQ3ZELFVBQVUsRUFBRSxxQ0FBaUIsQ0FBQyxlQUFlO2dDQUM3QyxTQUFTLEVBQUUsU0FBUztnQ0FDcEIsa0JBQWtCLEVBQUUsa0JBQWtCO2dDQUN0QyxnQkFBZ0IsRUFBRSxnQkFBZ0I7Z0NBQ2xDLEtBQUssRUFBRSw2QkFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7NkJBQ25DLENBQUMsQ0FBQzt3QkFDTCxDQUFDLENBQUM7d0JBQ0YsNkRBQTZCLENBQUMsbUJBQW1CLENBQUM7NEJBQ2hELFVBQVUsRUFBRSxVQUFVOzRCQUN0QixLQUFLLEVBQUUsaUJBQUcsQ0FBQyxNQUFNLEdBQUcsNkJBQTZCOzRCQUNqRCxhQUFhLEVBQUUsU0FBUyxDQUFDLDhCQUE4Qjs0QkFDdkQsVUFBVSxFQUFFLHFDQUFpQixDQUFDLGVBQWU7NEJBQzdDLFNBQVMsRUFBRSxTQUFTOzRCQUNwQixLQUFLLEVBQUUsNkJBQWEsQ0FBQyxXQUFXO3lCQUNqQyxFQUNELFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FDMUUsaUJBQUcsQ0FBQyxNQUFNLENBQ1gsQ0FBQztxQkFDSDtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsR0FBRyxFQUFFLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxxQkFBcUIsR0FBRyxHQUFHO3dCQUN6RSxHQUFHLEVBQUUsQ0FBQzt3QkFDTixLQUFLLEVBQUUsU0FBUyxDQUFDLDhCQUE4QixDQUFDLElBQUk7d0JBQ3BELFNBQVMsRUFBRSxLQUFLO3FCQUNqQjtvQkFDRCxlQUFlLEVBQUU7d0JBQ2Y7NEJBQ0UsS0FBSyxFQUFFLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxxQkFBcUI7NEJBQ3JFLE9BQU8sRUFBRSxJQUFJOzRCQUNiLEtBQUssRUFBRSxzQkFBSyxDQUFDLEdBQUc7NEJBQ2hCLEtBQUssRUFBRSxlQUFlO3lCQUN2QjtxQkFDRjtpQkFDRixDQUFDLENBQ0gsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxTQUFTLENBQUMsVUFBVSxDQUNsQixHQUFHLGNBQWM7UUFFakIseUNBQXlDO1FBQ3pDLElBQUksNEJBQVcsQ0FBQztZQUNkLE1BQU0sRUFBRSxDQUFDO1lBQ1QsS0FBSyxFQUFFLENBQUM7WUFDUixLQUFLLEVBQUUsd0NBQXdDO1lBQy9DLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxnQkFBd0IsRUFBRSxLQUFhLEVBQUUsRUFBRTtnQkFDdEUsSUFBSSxRQUFRLEdBQVcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDL0UsSUFBSSxrQkFBa0IsR0FBVyxLQUFLLENBQUMsUUFBUSxDQUFDLDRDQUE0QyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUV2RyxPQUFPLHlDQUFtQixDQUFDLDZCQUE2QixDQUFDO29CQUN2RCxrQkFBa0IsRUFBRSxrQkFBa0I7b0JBQ3RDLGdCQUFnQixFQUFFLGdCQUFnQjtvQkFDbEMsYUFBYSxFQUFFLFNBQVMsQ0FBQyw4QkFBOEI7b0JBQ3ZELEtBQUssRUFBRSxrQkFBa0I7b0JBQ3pCLFVBQVUsRUFBRSxxQ0FBaUIsQ0FBQyxlQUFlO29CQUM3QyxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUMsOEJBQThCLENBQUMscUJBQXFCLElBQUk7b0JBQ25GLEtBQUssRUFBRSw2QkFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7aUJBQ25DLENBQUMsQ0FBQTtZQUNKLENBQUMsQ0FBQztZQUNGLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLFNBQVMsRUFBRTtnQkFDVCxLQUFLLEVBQUUsT0FBTztnQkFDZCxTQUFTLEVBQUUsS0FBSzthQUNqQjtTQUNGLENBQUM7UUFFRiwrQ0FBK0M7UUFDL0MsR0FBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsZ0NBQWdDLENBQUMseUNBQXlDLENBQUMsQ0FBQztZQUM1RztnQkFDRSxJQUFJLHFEQUF5QixDQUFDO29CQUM1QixNQUFNLEVBQUUsQ0FBQztvQkFDVCxLQUFLLEVBQUUsQ0FBQztvQkFDUixLQUFLLEVBQUUsa0RBQWtEO29CQUN6RCxXQUFXLEVBQUUsS0FBSyxDQUFDLHVCQUF1QixDQUFDLGdDQUFnQyxDQUFDLHlDQUF5QztvQkFDckgsTUFBTSxFQUFFLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxNQUFNO29CQUN2RCxjQUFjLEVBQUUsK0JBQWMsQ0FBQyxNQUFNO29CQUNyQyxjQUFjLEVBQUUsS0FBSztvQkFDckIsU0FBUyxFQUFFLGlCQUFHLENBQUMsVUFBVTtvQkFDekIsZUFBZSxFQUFFLEVBQUU7aUJBQ3BCLENBQUM7YUFDSCxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ1QsQ0FBQztRQUVGLFNBQVMsQ0FBQyxVQUFVLENBQ2xCLElBQUksMkJBQVUsQ0FBQztZQUNiLE1BQU0sRUFBRSxDQUFDO1lBQ1QsS0FBSyxFQUFFLEVBQUU7WUFDVCxRQUFRLEVBQUUsWUFBWTtZQUN0QixVQUFVLEVBQUUscUNBQW9CLENBQUMsV0FBVztTQUM3QyxDQUFDLENBQ0gsQ0FBQztRQUVGLElBQUksd0JBQXdCLEdBQWMsRUFBRSxDQUFBO1FBRTVDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLDZCQUE2QixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsZ0JBQXdCLEVBQUUsRUFBRTtZQUM1RyxJQUFJLFFBQVEsR0FBVyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQy9FLElBQUksa0JBQWtCLEdBQVcsS0FBSyxDQUFDLFFBQVEsQ0FBQyw0Q0FBNEMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUV2Ryx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsSUFBSSw0QkFBVyxDQUFDO2dCQUM1QyxLQUFLLEVBQUUsS0FBSyxDQUFDLHVCQUF1QixDQUFDLDZCQUE2QixDQUFDLGdCQUFnQixDQUFDLENBQUMsaUJBQWlCO2dCQUN0RyxLQUFLLEVBQUUsR0FBRyxrQkFBa0IsZUFBZTtnQkFDM0MsTUFBTSxFQUFFLENBQUM7Z0JBQ1QsS0FBSyxFQUFFLENBQUM7YUFDVCxDQUFDLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO1FBRUgsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLHdCQUF3QixDQUFDLENBQUM7UUFFbEQsSUFBSSxtQkFBbUIsR0FBYyxFQUFFLENBQUM7UUFFeEMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxnQkFBd0IsRUFBRSxFQUFFO1lBQzVHLElBQUksUUFBUSxHQUFXLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDL0UsSUFBSSxrQkFBa0IsR0FBVyxLQUFLLENBQUMsUUFBUSxDQUFDLDRDQUE0QyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRXZHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLDRCQUFXLENBQUM7Z0JBQ3ZDLEtBQUssRUFBRSxLQUFLLENBQUMsdUJBQXVCLENBQUMsNkJBQTZCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxZQUFZO2dCQUNqRyxLQUFLLEVBQUUsR0FBRyxrQkFBa0IsVUFBVTtnQkFDdEMsTUFBTSxFQUFFLENBQUM7Z0JBQ1QsS0FBSyxFQUFFLENBQUM7YUFDVCxDQUFDLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO1FBRUgsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLG1CQUFtQixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVPLE1BQU0sQ0FBQyxtQkFBbUIsQ0FDaEMsU0FBb0IsRUFDcEIsS0FBb0Q7UUFHcEQsSUFBSSxTQUFTLEdBQWUsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQztRQUNwRSxJQUFJLGlCQUFpQixHQUFhLFNBQVMsQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUM7UUFFMUUsU0FBUyxDQUFDLFVBQVUsQ0FDbEIsSUFBSSwyQkFBVSxDQUFDO1lBQ2IsUUFBUSxFQUFFLHVCQUF1QjtZQUNqQyxVQUFVLEVBQUUscUNBQW9CLENBQUMsV0FBVztZQUM1QyxNQUFNLEVBQUUsQ0FBQztZQUNULEtBQUssRUFBRSxFQUFFO1NBQ1YsQ0FBQyxDQUNILENBQUM7UUFFRixTQUFTLENBQUMsVUFBVTtRQUNsQixzQkFBc0I7UUFDdEIsSUFBSSw0QkFBVyxDQUFDO1lBQ2QsTUFBTSxFQUFFLENBQUM7WUFDVCxLQUFLLEVBQUUsQ0FBQztZQUNSLEtBQUssRUFBRSw4QkFBOEI7WUFDckMsTUFBTSxFQUFFLGlCQUFHLENBQUMsTUFBTTtZQUNsQixJQUFJLEVBQUU7Z0JBQ0osR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxnQkFBd0IsRUFBRSxLQUFhLEVBQUUsRUFBRTtvQkFDbkUsSUFBSSxRQUFRLEdBQVcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDL0UsSUFBSSxrQkFBa0IsR0FBVyxLQUFLLENBQUMsUUFBUSxDQUFDLDRDQUE0QyxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUV2RyxPQUFPLDZEQUE2QixDQUFDLDZCQUE2QixDQUFDO3dCQUNqRSxrQkFBa0IsRUFBRSxrQkFBa0I7d0JBQ3RDLGdCQUFnQixFQUFFLGdCQUFnQjt3QkFDbEMsS0FBSyxFQUFFLGtCQUFrQixHQUFHLDZCQUE2Qjt3QkFDekQsYUFBYSxFQUFFLFNBQVMsQ0FBQyxtQkFBb0IsQ0FBQywrQkFBK0I7d0JBQzdFLFVBQVUsRUFBRSwrQ0FBc0IsQ0FBQyxZQUFZO3dCQUMvQyxLQUFLLEVBQUUsNkJBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO3FCQUNuQyxFQUNELFNBQVMsQ0FBQyxtQkFBb0IsQ0FBQywrQkFBK0IsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQzdGLGtCQUFrQixFQUNsQixpQkFBRyxDQUFDLE1BQU0sQ0FDWCxDQUFDLENBQUE7Z0JBQ0osQ0FBQyxDQUFDO2dCQUNGLDZEQUE2QixDQUFDLHdCQUF3QixDQUFDO29CQUNyRCxLQUFLLEVBQUUsaUJBQUcsQ0FBQyxNQUFNLEdBQUcsNkJBQTZCO29CQUNqRCxhQUFhLEVBQUUsU0FBUyxDQUFDLG1CQUFvQixDQUFDLCtCQUErQjtvQkFDN0UsVUFBVSxFQUFFLCtDQUFzQixDQUFDLFlBQVk7b0JBQy9DLEtBQUssRUFBRSw2QkFBYSxDQUFDLFdBQVc7aUJBQ2pDLEVBQ0QsU0FBUyxDQUFDLG1CQUFvQixDQUFDLCtCQUErQixDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUNoRyxpQkFBRyxDQUFDLE1BQU0sQ0FDWCxDQUFDO2FBQ0g7WUFDRCxTQUFTLEVBQUUsS0FBSztZQUNoQixTQUFTLEVBQUU7Z0JBQ1QsR0FBRyxFQUFFLEdBQUc7Z0JBQ1IsR0FBRyxFQUFFLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLFNBQVMsRUFBRSxLQUFLO2FBQ2pCO1lBQ0QsZUFBZSxFQUFFO2dCQUNmO29CQUNFLEtBQUssRUFBRSxTQUFTLENBQUMsbUJBQW9CLENBQUMsK0JBQStCLENBQUMscUJBQXFCO29CQUMzRixPQUFPLEVBQUUsSUFBSTtvQkFDYixLQUFLLEVBQUUsc0JBQUssQ0FBQyxHQUFHO29CQUNoQixLQUFLLEVBQUUsZUFBZTtpQkFDdkI7YUFDRjtTQUNGLENBQUM7UUFFRixxQkFBcUI7UUFDckIsSUFBSSw0QkFBVyxDQUFDO1lBQ2QsTUFBTSxFQUFFLENBQUM7WUFDVCxLQUFLLEVBQUUsQ0FBQztZQUNSLEtBQUssRUFBRSw2QkFBNkI7WUFDcEMsTUFBTSxFQUFFLGlCQUFHLENBQUMsTUFBTTtZQUNsQixJQUFJLEVBQUU7Z0JBQ0osR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxnQkFBd0IsRUFBRSxLQUFhLEVBQUUsRUFBRTtvQkFDbkUsSUFBSSxRQUFRLEdBQVcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDL0UsSUFBSSxrQkFBa0IsR0FBVyxLQUFLLENBQUMsUUFBUSxDQUFDLDRDQUE0QyxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUV2RyxPQUFPLDZEQUE2QixDQUFDLDZCQUE2QixDQUFDO3dCQUNqRSxrQkFBa0IsRUFBRSxrQkFBa0I7d0JBQ3RDLGdCQUFnQixFQUFFLGdCQUFnQjt3QkFDbEMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxtQkFBb0IsQ0FBQywrQkFBK0I7d0JBQzdFLEtBQUssRUFBRSxrQkFBa0IsR0FBRyw2QkFBNkI7d0JBQ3pELFVBQVUsRUFBRSwrQ0FBc0IsQ0FBQyxXQUFXO3dCQUM5QyxLQUFLLEVBQUUsNkJBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO3FCQUNuQyxFQUNELFNBQVMsQ0FBQyxtQkFBb0IsQ0FBQywrQkFBK0IsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQzdGLGtCQUFrQixFQUNsQixpQkFBRyxDQUFDLE1BQU0sQ0FDWCxDQUFDLENBQUE7Z0JBQ0osQ0FBQyxDQUFDO2dCQUNGLDZEQUE2QixDQUFDLHdCQUF3QixDQUFDO29CQUNyRCxhQUFhLEVBQUUsU0FBUyxDQUFDLG1CQUFvQixDQUFDLCtCQUErQjtvQkFDN0UsS0FBSyxFQUFFLGlCQUFHLENBQUMsTUFBTSxHQUFHLDZCQUE2QjtvQkFDakQsVUFBVSxFQUFFLCtDQUFzQixDQUFDLFdBQVc7b0JBQzlDLEtBQUssRUFBRSw2QkFBYSxDQUFDLFdBQVc7aUJBQ2pDLEVBQ0QsU0FBUyxDQUFDLG1CQUFvQixDQUFDLCtCQUErQixDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUNoRyxpQkFBRyxDQUFDLE1BQU0sQ0FDWCxDQUFDO2FBQ0g7WUFDRCxTQUFTLEVBQUUsS0FBSztZQUNoQixTQUFTLEVBQUU7Z0JBQ1QsR0FBRyxFQUFFLENBQUM7Z0JBQ04sS0FBSyxFQUFFLE9BQU87Z0JBQ2QsU0FBUyxFQUFFLEtBQUs7YUFDakI7U0FDRixDQUFDO1FBRUYsdUJBQXVCO1FBQ3ZCLElBQUksNEJBQVcsQ0FBQztZQUNkLE1BQU0sRUFBRSxDQUFDO1lBQ1QsS0FBSyxFQUFFLENBQUM7WUFDUixLQUFLLEVBQUUsK0JBQStCO1lBQ3RDLE1BQU0sRUFBRSxpQkFBRyxDQUFDLE1BQU07WUFDbEIsSUFBSSxFQUFFO2dCQUNKLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsZ0JBQXdCLEVBQUUsS0FBYSxFQUFFLEVBQUU7b0JBQ25FLElBQUksUUFBUSxHQUFXLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQy9FLElBQUksa0JBQWtCLEdBQVcsS0FBSyxDQUFDLFFBQVEsQ0FBQyw0Q0FBNEMsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDdkcsT0FBTyw2REFBNkIsQ0FBQyw2QkFBNkIsQ0FBQzt3QkFDakUsa0JBQWtCLEVBQUUsa0JBQWtCO3dCQUN0QyxnQkFBZ0IsRUFBRSxnQkFBZ0I7d0JBQ2xDLGFBQWEsRUFBRSxTQUFTLENBQUMsbUJBQW9CLENBQUMsK0JBQStCO3dCQUM3RSxLQUFLLEVBQUUsa0JBQWtCLEdBQUcsNkJBQTZCO3dCQUN6RCxVQUFVLEVBQUUsK0NBQXNCLENBQUMsYUFBYTt3QkFDaEQsS0FBSyxFQUFFLDZCQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztxQkFDbkMsRUFDRCxTQUFTLENBQUMsbUJBQW9CLENBQUMsK0JBQStCLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUM3RixrQkFBa0IsRUFDbEIsaUJBQUcsQ0FBQyxNQUFNLENBQ1gsQ0FBQyxDQUFBO2dCQUNKLENBQUMsQ0FBQztnQkFDRiw2REFBNkIsQ0FBQyx3QkFBd0IsQ0FBQztvQkFDckQsYUFBYSxFQUFFLFNBQVMsQ0FBQyxtQkFBb0IsQ0FBQywrQkFBK0I7b0JBQzdFLEtBQUssRUFBRSxpQkFBRyxDQUFDLE1BQU0sR0FBRyw2QkFBNkI7b0JBQ2pELFVBQVUsRUFBRSwrQ0FBc0IsQ0FBQyxhQUFhO29CQUNoRCxLQUFLLEVBQUUsNkJBQWEsQ0FBQyxXQUFXO2lCQUNqQyxFQUNELFNBQVMsQ0FBQyxtQkFBb0IsQ0FBQywrQkFBK0IsQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FDaEcsaUJBQUcsQ0FBQyxNQUFNLENBQ1gsQ0FBQzthQUNIO1lBQ0QsU0FBUyxFQUFFLEtBQUs7WUFDaEIsU0FBUyxFQUFFO2dCQUNULEtBQUssRUFBRSxPQUFPO2dCQUNkLFNBQVMsRUFBRSxLQUFLO2FBQ2pCO1NBQ0YsQ0FBQyxDQUNILENBQUM7UUFFRixJQUFJLGNBQWMsR0FBYyxFQUFFLENBQUM7UUFFbkMsaUJBQWlCO1FBQ2pCLFNBQVMsQ0FBQyxtQkFBb0IsQ0FBQywwQkFBMEIsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFrQixFQUFFLEVBQUU7WUFDMUcsU0FBUyxDQUFDLG1CQUFvQixDQUFDLDBCQUEwQixDQUFDLHdCQUF3QixFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQWlCLEVBQUUsRUFBRTtnQkFFaEgsY0FBYyxDQUFDLElBQUksQ0FDakIsSUFBSSw0QkFBVyxDQUFDO29CQUNkLE1BQU0sRUFBRSxDQUFDO29CQUNULEtBQUssRUFBRSxDQUFDO29CQUNSLEtBQUssRUFBRSxtQkFBbUIsVUFBVSxJQUFJLFNBQVMsVUFBVTtvQkFDM0QsTUFBTSxFQUFFLGlCQUFHLENBQUMsTUFBTTtvQkFDbEIsSUFBSSxFQUFFO3dCQUNKLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsZ0JBQXdCLEVBQUUsS0FBYSxFQUFFLEVBQUU7NEJBQ25FLElBQUksUUFBUSxHQUFXLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7NEJBQy9FLElBQUksa0JBQWtCLEdBQVcsS0FBSyxDQUFDLFFBQVEsQ0FBQyw0Q0FBNEMsQ0FBQyxRQUFRLENBQUMsQ0FBQzs0QkFFdkcsT0FBTyx5Q0FBbUIsQ0FBQyx3QkFBd0IsQ0FBQztnQ0FDbEQsVUFBVSxFQUFFLFVBQVU7Z0NBQ3RCLEtBQUssRUFBRSxrQkFBa0IsR0FBRyw2QkFBNkI7Z0NBQ3pELGFBQWEsRUFBRSxTQUFTLENBQUMsbUJBQW9CLENBQUMsMEJBQTBCO2dDQUN4RSxVQUFVLEVBQUUscUNBQWlCLENBQUMsZUFBZTtnQ0FDN0MsU0FBUyxFQUFFLFNBQVM7Z0NBQ3BCLGtCQUFrQixFQUFFLGtCQUFrQjtnQ0FDdEMsZ0JBQWdCLEVBQUUsZ0JBQWdCO2dDQUNsQyxLQUFLLEVBQUUsNkJBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDOzZCQUNuQyxDQUFDLENBQUM7d0JBQ0wsQ0FBQyxDQUFDO3dCQUNGLDZEQUE2QixDQUFDLG1CQUFtQixDQUFDOzRCQUNoRCxVQUFVLEVBQUUsVUFBVTs0QkFDdEIsS0FBSyxFQUFFLGlCQUFHLENBQUMsTUFBTSxHQUFHLDZCQUE2Qjs0QkFDakQsYUFBYSxFQUFFLFNBQVMsQ0FBQyxtQkFBb0IsQ0FBQywwQkFBMEI7NEJBQ3hFLFVBQVUsRUFBRSxxQ0FBaUIsQ0FBQyxlQUFlOzRCQUM3QyxTQUFTLEVBQUUsU0FBUzs0QkFDcEIsS0FBSyxFQUFFLDZCQUFhLENBQUMsV0FBVzt5QkFDakMsRUFDRCxTQUFTLENBQUMsbUJBQW9CLENBQUMsMEJBQTBCLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQzNGLGlCQUFHLENBQUMsTUFBTSxDQUNYLENBQUM7cUJBQ0g7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULEdBQUcsRUFBRSxTQUFTLENBQUMsbUJBQW9CLENBQUMsMEJBQTBCLENBQUMscUJBQXFCLEdBQUcsR0FBRzt3QkFDMUYsR0FBRyxFQUFFLENBQUM7d0JBQ04sS0FBSyxFQUFFLFNBQVMsQ0FBQyxtQkFBb0IsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJO3dCQUNyRSxTQUFTLEVBQUUsS0FBSztxQkFDakI7b0JBQ0QsZUFBZSxFQUFFO3dCQUNmOzRCQUNFLEtBQUssRUFBRSxTQUFTLENBQUMsbUJBQW9CLENBQUMsMEJBQTBCLENBQUMscUJBQXFCOzRCQUN0RixPQUFPLEVBQUUsSUFBSTs0QkFDYixLQUFLLEVBQUUsc0JBQUssQ0FBQyxHQUFHOzRCQUNoQixLQUFLLEVBQUUsZUFBZTt5QkFDdkI7cUJBQ0Y7aUJBQ0YsQ0FBQyxDQUNILENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsU0FBUyxDQUFDLFVBQVUsQ0FDbEIsR0FBRyxjQUFjO1FBRWpCLG9DQUFvQztRQUNwQyxJQUFJLDRCQUFXLENBQUM7WUFDZCxNQUFNLEVBQUUsQ0FBQztZQUNULEtBQUssRUFBRSxDQUFDO1lBQ1IsS0FBSyxFQUFFLDRDQUE0QztZQUNuRCxJQUFJLEVBQUU7Z0JBQ0osR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxnQkFBd0IsRUFBRSxLQUFhLEVBQUUsRUFBRTtvQkFDbkUsSUFBSSxRQUFRLEdBQVcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDL0UsSUFBSSxrQkFBa0IsR0FBVyxLQUFLLENBQUMsUUFBUSxDQUFDLDRDQUE0QyxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUV2RyxPQUFPLHlDQUFtQixDQUFDLDZCQUE2QixDQUFDO3dCQUN2RCxrQkFBa0IsRUFBRSxrQkFBa0I7d0JBQ3RDLGdCQUFnQixFQUFFLGdCQUFnQjt3QkFDbEMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxtQkFBb0IsQ0FBQywwQkFBMEI7d0JBQ3hFLEtBQUssRUFBRSxrQkFBa0I7d0JBQ3pCLFVBQVUsRUFBRSxxQ0FBaUIsQ0FBQyxlQUFlO3dCQUM3QyxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUMsbUJBQW9CLENBQUMsMEJBQTBCLENBQUMscUJBQXFCLElBQUk7d0JBQ3BHLEtBQUssRUFBRSw2QkFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7cUJBQ25DLENBQUMsQ0FBQTtnQkFDSixDQUFDLENBQUM7Z0JBQ0YsNkRBQTZCLENBQUMsd0JBQXdCLENBQUM7b0JBQ3JELEtBQUssRUFBRSxpQkFBRyxDQUFDLE1BQU07b0JBQ2pCLGFBQWEsRUFBRSxTQUFTLENBQUMsbUJBQW9CLENBQUMsMEJBQTBCO29CQUN4RSxVQUFVLEVBQUUscUNBQWlCLENBQUMsZUFBZTtvQkFDN0MsU0FBUyxFQUFFLE1BQU0sU0FBUyxDQUFDLG1CQUFvQixDQUFDLDBCQUEwQixDQUFDLHFCQUFxQixJQUFJO29CQUNwRyxLQUFLLEVBQUUsNkJBQWEsQ0FBQyxXQUFXO2lCQUNqQyxFQUNELFNBQVMsQ0FBQyxtQkFBb0IsQ0FBQywwQkFBMEIsQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FDM0YsaUJBQUcsQ0FBQyxNQUFNLENBQ1gsQ0FBQzthQUNIO1lBQ0QsU0FBUyxFQUFFLEtBQUs7WUFDaEIsU0FBUyxFQUFFO2dCQUNULEtBQUssRUFBRSxPQUFPO2dCQUNkLFNBQVMsRUFBRSxLQUFLO2FBQ2pCO1NBQ0YsQ0FBQyxDQUNILENBQUM7UUFFRixTQUFTLENBQUMsVUFBVSxDQUNsQixJQUFJLDJCQUFVLENBQUM7WUFDYixNQUFNLEVBQUUsQ0FBQztZQUNULEtBQUssRUFBRSxFQUFFO1lBQ1QsUUFBUSxFQUFFLFlBQVk7WUFDdEIsVUFBVSxFQUFFLHFDQUFvQixDQUFDLFdBQVc7U0FDN0MsQ0FBQyxDQUNILENBQUM7UUFFRixTQUFTLENBQUMsVUFBVSxDQUNsQixJQUFJLDRCQUFXLENBQUM7WUFDZCxLQUFLLEVBQUUsS0FBSyxDQUFDLHVCQUF1QixDQUFDLDRCQUE2QixDQUFDLGlCQUFpQjtZQUNwRixLQUFLLEVBQUUsdUJBQXVCO1lBQzlCLE1BQU0sRUFBRSxDQUFDO1lBQ1QsS0FBSyxFQUFFLENBQUM7U0FDVCxDQUFDLEVBQ0YsSUFBSSw0QkFBVyxDQUFDO1lBQ2QsS0FBSyxFQUFFLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyw0QkFBNkIsQ0FBQyxZQUFZO1lBQy9FLEtBQUssRUFBRSxrQkFBa0I7WUFDekIsTUFBTSxFQUFFLENBQUM7WUFDVCxLQUFLLEVBQUUsQ0FBQztTQUNULENBQUMsQ0FDSCxDQUFDO1FBRUYsSUFBSSx3QkFBd0IsR0FBYyxFQUFFLENBQUE7UUFFNUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMseUJBQTBCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxnQkFBd0IsRUFBRSxFQUFFO1lBQ3pHLElBQUksUUFBUSxHQUFXLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDL0UsSUFBSSxrQkFBa0IsR0FBVyxLQUFLLENBQUMsUUFBUSxDQUFDLDRDQUE0QyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRXZHLHdCQUF3QixDQUFDLElBQUksQ0FBQyxJQUFJLDRCQUFXLENBQUM7Z0JBQzVDLEtBQUssRUFBRSxLQUFLLENBQUMsdUJBQXVCLENBQUMseUJBQTBCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxpQkFBaUI7Z0JBQ25HLEtBQUssRUFBRSxHQUFHLGtCQUFrQixlQUFlO2dCQUMzQyxNQUFNLEVBQUUsQ0FBQztnQkFDVCxLQUFLLEVBQUUsQ0FBQzthQUNULENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFFSCxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsd0JBQXdCLENBQUMsQ0FBQztRQUVsRCxJQUFJLG1CQUFtQixHQUFjLEVBQUUsQ0FBQztRQUV4QyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyx5QkFBMEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGdCQUF3QixFQUFFLEVBQUU7WUFDekcsSUFBSSxRQUFRLEdBQVcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMvRSxJQUFJLGtCQUFrQixHQUFXLEtBQUssQ0FBQyxRQUFRLENBQUMsNENBQTRDLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFdkcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksNEJBQVcsQ0FBQztnQkFDdkMsS0FBSyxFQUFFLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyx5QkFBMEIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFlBQVk7Z0JBQzlGLEtBQUssRUFBRSxHQUFHLGtCQUFrQixVQUFVO2dCQUN0QyxNQUFNLEVBQUUsQ0FBQztnQkFDVCxLQUFLLEVBQUUsQ0FBQzthQUNULENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBT0QsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBb0Q7UUFFcEQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksMEJBQVMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBQ2hELGFBQWEsRUFDWCxLQUFLLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFO2dCQUN6RSxHQUFHO2dCQUNILEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRTtnQkFDbkUsNkJBQTZCLGlCQUFHLENBQUMsTUFBTSxFQUFFO1lBQzNDLGVBQWUsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUMvQixjQUFjLEVBQUUsK0JBQWMsQ0FBQyxJQUFJO1NBQ3BDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUN2QixJQUFJLGtDQUFpQixDQUFDO1lBQ3BCLE1BQU0sRUFBRSxDQUFDO1lBQ1QsS0FBSyxFQUFFLEVBQUU7WUFDVCxNQUFNLEVBQUU7Z0JBQ04sS0FBSyxDQUFDLHVCQUF1QixDQUFDLG1CQUFtQjtnQkFDakQsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxvQkFBb0IsQ0FBQzthQUNyRTtZQUNELEtBQUssRUFBRSxrQkFBa0I7U0FDMUIsQ0FDRixDQUFDLENBQUM7UUFFSCx3Q0FBd0MsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhGLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ2hFLHdDQUF3QyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEYsQ0FBQztJQUNILENBQUM7Q0FDRjtBQXZvQkQsNEZBdW9CQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmltcG9ydCB7IEF3cyB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7XG4gIERhc2hib2FyZCxcbiAgUGVyaW9kT3ZlcnJpZGUsXG4gIElXaWRnZXQsXG4gIEFsYXJtU3RhdHVzV2lkZ2V0LFxuICBHcmFwaFdpZGdldCxcbiAgQ29sb3IsXG4gIExlZ2VuZFBvc2l0aW9uLFxuICBUZXh0V2lkZ2V0LFxuICBUZXh0V2lkZ2V0QmFja2dyb3VuZCxcbiAgQWxhcm1XaWRnZXRcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBDb250cmlidXRvckluc2lnaHRzV2lkZ2V0IH0gZnJvbSAnLi9Db250cmlidXRvckluc2lnaHRzV2lkZ2V0JztcbmltcG9ydCB7IElPcGVyYXRpb25BdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkIH0gZnJvbSAnLi9JT3BlcmF0aW9uQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeURhc2hib2FyZCc7XG5pbXBvcnQgeyBPcGVyYXRpb25BdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkUHJvcHMgfSBmcm9tICcuL3Byb3BzL09wZXJhdGlvbkF2YWlsYWJpbGl0eUFuZExhdGVuY3lEYXNoYm9hcmRQcm9wcyc7XG5pbXBvcnQgeyBab25hbExhdGVuY3lNZXRyaWNzIH0gZnJvbSAnLi4vbWV0cmljcy9ab25hbExhdGVuY3lNZXRyaWNzJztcbmltcG9ydCB7IEF2YWlsYWJpbGl0eU1ldHJpY1R5cGUgfSBmcm9tICcuLi91dGlsaXRpZXMvQXZhaWxhYmlsaXR5TWV0cmljVHlwZSc7XG5pbXBvcnQgeyBMYXRlbmN5TWV0cmljVHlwZSB9IGZyb20gJy4uL3V0aWxpdGllcy9MYXRlbmN5TWV0cmljVHlwZSc7XG5pbXBvcnQgeyBNZXRyaWNzSGVscGVyIH0gZnJvbSAnLi4vdXRpbGl0aWVzL01ldHJpY3NIZWxwZXInO1xuaW1wb3J0IHsgQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeU1ldHJpY3MgfSBmcm9tICcuLi9tZXRyaWNzL0F2YWlsYWJpbGl0eUFuZExhdGVuY3lNZXRyaWNzJztcbmltcG9ydCB7IElPcGVyYXRpb24gfSBmcm9tICcuLi9zZXJ2aWNlcy9JT3BlcmF0aW9uJztcblxuLyoqXG4gKiBDcmVhdGVzIGFuIG9wZXJhdGlvbiBsZXZlbCBhdmFpbGFiaWxpdHkgYW5kIGxhdGVuY3kgZGFzaGJvYXJkXG4gKi9cbmV4cG9ydCBjbGFzcyBPcGVyYXRpb25BdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkXG4gIGV4dGVuZHMgQ29uc3RydWN0XG4gIGltcGxlbWVudHMgSU9wZXJhdGlvbkF2YWlsYWJpbGl0eUFuZExhdGVuY3lEYXNoYm9hcmQge1xuXG4gIHByaXZhdGUgc3RhdGljIGNyZWF0ZVNlcnZlclNpZGVXaWRnZXRzKFxuICAgIGRhc2hib2FyZDogRGFzaGJvYXJkLFxuICAgIHByb3BzOiBPcGVyYXRpb25BdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkUHJvcHNcbiAgKTogdm9pZCB7XG5cbiAgICBsZXQgb3BlcmF0aW9uOiBJT3BlcmF0aW9uID0gcHJvcHMub3BlcmF0aW9uQWxhcm1zQW5kUnVsZXMub3BlcmF0aW9uO1xuICAgIGxldCBhdmFpbGFiaWxpdHlab25lczogc3RyaW5nW10gPSBwcm9wcy5vcGVyYXRpb25BbGFybXNBbmRSdWxlcy5vcGVyYXRpb24uc2VydmljZS5hdmFpbGFiaWxpdHlab25lTmFtZXM7XG4gICAgXG4gICAgZGFzaGJvYXJkLmFkZFdpZGdldHMoXG4gICAgICBuZXcgVGV4dFdpZGdldCh7XG4gICAgICAgIG1hcmtkb3duOiBcIiMjICoqU2VydmVyLXNpZGUgTWV0cmljcyoqXCIsXG4gICAgICAgIGJhY2tncm91bmQ6IFRleHRXaWRnZXRCYWNrZ3JvdW5kLlRSQU5TUEFSRU5ULFxuICAgICAgICBoZWlnaHQ6IDEsXG4gICAgICAgIHdpZHRoOiAyNFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgZGFzaGJvYXJkLmFkZFdpZGdldHMoXG5cbiAgICAgIC8vIFNlcnZlci1zaWRlIGF2YWlsYWJpbGl0eVxuICAgICAgbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgaGVpZ2h0OiA4LFxuICAgICAgICB3aWR0aDogNixcbiAgICAgICAgdGl0bGU6ICdTZXJ2ZXItc2lkZSBBdmFpbGFiaWxpdHknLFxuICAgICAgICByZWdpb246IEF3cy5SRUdJT04sXG4gICAgICAgIGxlZnQ6IFtcbiAgICAgICAgICAuLi5hdmFpbGFiaWxpdHlab25lcy5tYXAoKGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgbGV0IGF6TGV0dGVyOiBzdHJpbmcgPSBhdmFpbGFiaWxpdHlab25lLnN1YnN0cmluZyhhdmFpbGFiaWxpdHlab25lLmxlbmd0aCAtIDEpO1xuICAgICAgICAgICAgbGV0IGF2YWlsYWJpbGl0eVpvbmVJZDogc3RyaW5nID0gcHJvcHMuYXpNYXBwZXIuYXZhaWxhYmlsaXR5Wm9uZUlkRnJvbUF2YWlsYWJpbGl0eVpvbmVMZXR0ZXIoYXpMZXR0ZXIpO1xuXG4gICAgICAgICAgICByZXR1cm4gQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeU1ldHJpY3MuY3JlYXRlWm9uYWxBdmFpbGFiaWxpdHlNZXRyaWMoe1xuICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQ6IGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogYXZhaWxhYmlsaXR5Wm9uZSxcbiAgICAgICAgICAgICAgbGFiZWw6IGF2YWlsYWJpbGl0eVpvbmVJZCArIFwiIChhdmc6ICR7QVZHfSAgbWluOiAke01JTn0pXCIsXG4gICAgICAgICAgICAgIG1ldHJpY0RldGFpbHM6IG9wZXJhdGlvbi5zZXJ2ZXJTaWRlQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICAgICAgbWV0cmljVHlwZTogQXZhaWxhYmlsaXR5TWV0cmljVHlwZS5TVUNDRVNTX1JBVEUsXG4gICAgICAgICAgICAgIGNvbG9yOiBNZXRyaWNzSGVscGVyLmNvbG9yc1tpbmRleF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcGVyYXRpb24uc2VydmVyU2lkZUxhdGVuY3lNZXRyaWNEZXRhaWxzLm1ldHJpY0RpbWVuc2lvbnMuem9uYWxEaW1lbnNpb25zKFxuICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgICAgIEF3cy5SRUdJT05cbiAgICAgICAgICAgICkpXG4gICAgICAgICAgfSksXG4gICAgICAgICAgQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeU1ldHJpY3MuY3JlYXRlQXZhaWxhYmlsaXR5TWV0cmljKHtcbiAgICAgICAgICAgIGxhYmVsOiBBd3MuUkVHSU9OICsgXCIgKGF2ZzogJHtBVkd9ICBtaW46ICR7TUlOfSlcIixcbiAgICAgICAgICAgIG1ldHJpY0RldGFpbHM6IG9wZXJhdGlvbi5zZXJ2ZXJTaWRlQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICAgIG1ldHJpY1R5cGU6IEF2YWlsYWJpbGl0eU1ldHJpY1R5cGUuU1VDQ0VTU19SQVRFLFxuICAgICAgICAgICAgY29sb3I6IE1ldHJpY3NIZWxwZXIucmVnaW9uQ29sb3JcbiAgICAgICAgICB9LFxuICAgICAgICAgIG9wZXJhdGlvbi5zZXJ2ZXJTaWRlTGF0ZW5jeU1ldHJpY0RldGFpbHMubWV0cmljRGltZW5zaW9ucy5yZWdpb25hbERpbWVuc2lvbnMoXG4gICAgICAgICAgICBBd3MuUkVHSU9OXG4gICAgICAgICAgKSlcbiAgICAgICAgXSxcbiAgICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICAgICAgbGVmdFlBeGlzOiB7XG4gICAgICAgICAgbWF4OiAxMDAsXG4gICAgICAgICAgbWluOiA5NSxcbiAgICAgICAgICBsYWJlbDogJ1BlcmNlbnQnLFxuICAgICAgICAgIHNob3dVbml0czogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIGxlZnRBbm5vdGF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhbHVlOiBvcGVyYXRpb24uc2VydmVyU2lkZUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMuc3VjY2Vzc0FsYXJtVGhyZXNob2xkLFxuICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbG9yOiBDb2xvci5SRUQsXG4gICAgICAgICAgICBsYWJlbDogJ0hpZ2ggU2V2ZXJpdHknLFxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgIH0pLFxuXG4gICAgICAvLyBTZXJ2ZXItc2lkZSBmYXVsdCBjb3VudFxuICAgICAgbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgaGVpZ2h0OiA4LFxuICAgICAgICB3aWR0aDogNixcbiAgICAgICAgdGl0bGU6ICdTZXJ2ZXItc2lkZSBGYXVsdCBDb3VudCcsXG4gICAgICAgIHJlZ2lvbjogQXdzLlJFR0lPTixcbiAgICAgICAgbGVmdDogYXZhaWxhYmlsaXR5Wm9uZXMubWFwKChhdmFpbGFiaWxpdHlab25lOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICBsZXQgYXpMZXR0ZXI6IHN0cmluZyA9IGF2YWlsYWJpbGl0eVpvbmUuc3Vic3RyaW5nKGF2YWlsYWJpbGl0eVpvbmUubGVuZ3RoIC0gMSk7XG4gICAgICAgICAgbGV0IGF2YWlsYWJpbGl0eVpvbmVJZDogc3RyaW5nID0gcHJvcHMuYXpNYXBwZXIuYXZhaWxhYmlsaXR5Wm9uZUlkRnJvbUF2YWlsYWJpbGl0eVpvbmVMZXR0ZXIoYXpMZXR0ZXIpO1xuXG4gICAgICAgICAgcmV0dXJuIEF2YWlsYWJpbGl0eUFuZExhdGVuY3lNZXRyaWNzLmNyZWF0ZVpvbmFsQXZhaWxhYmlsaXR5TWV0cmljKHtcbiAgICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmVJZDogYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogYXZhaWxhYmlsaXR5Wm9uZSxcbiAgICAgICAgICAgIGxhYmVsOiBhdmFpbGFiaWxpdHlab25lSWQgKyBcIiAoYXZnOiAke0FWR30gIG1heDogJHtNQVh9KVwiLFxuICAgICAgICAgICAgbWV0cmljRGV0YWlsczogb3BlcmF0aW9uLnNlcnZlclNpZGVBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgICAgbWV0cmljVHlwZTogQXZhaWxhYmlsaXR5TWV0cmljVHlwZS5GQVVMVF9DT1VOVCxcbiAgICAgICAgICAgIGNvbG9yOiBNZXRyaWNzSGVscGVyLmNvbG9yc1tpbmRleF1cbiAgICAgICAgICB9LFxuICAgICAgICAgIG9wZXJhdGlvbi5zZXJ2ZXJTaWRlTGF0ZW5jeU1ldHJpY0RldGFpbHMubWV0cmljRGltZW5zaW9ucy56b25hbERpbWVuc2lvbnMoXG4gICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgICBBd3MuUkVHSU9OXG4gICAgICAgICAgKSlcbiAgICAgICAgfSksXG4gICAgICAgIHN0YXRpc3RpYzogJ1N1bScsXG4gICAgICAgIGxlZnRZQXhpczoge1xuICAgICAgICAgIG1pbjogMCxcbiAgICAgICAgICBsYWJlbDogJ0NvdW50JyxcbiAgICAgICAgICBzaG93VW5pdHM6IGZhbHNlLFxuICAgICAgICB9XG4gICAgICB9KSxcblxuICAgICAgLy8gU2VydmVyLXNpZGUgcmVxdWVzdCBjb3VudFxuICAgICAgbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgaGVpZ2h0OiA4LFxuICAgICAgICB3aWR0aDogNixcbiAgICAgICAgdGl0bGU6IFwiU2VydmVyLXNpZGUgUmVxdWVzdCBDb3VudFwiLFxuICAgICAgICByZWdpb246IEF3cy5SRUdJT04sXG4gICAgICAgIGxlZnQ6IGF2YWlsYWJpbGl0eVpvbmVzLm1hcCgoYXZhaWxhYmlsaXR5Wm9uZTogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgbGV0IGF6TGV0dGVyOiBzdHJpbmcgPSBhdmFpbGFiaWxpdHlab25lLnN1YnN0cmluZyhhdmFpbGFiaWxpdHlab25lLmxlbmd0aCAtIDEpO1xuICAgICAgICAgIGxldCBhdmFpbGFiaWxpdHlab25lSWQ6IHN0cmluZyA9IHByb3BzLmF6TWFwcGVyLmF2YWlsYWJpbGl0eVpvbmVJZEZyb21BdmFpbGFiaWxpdHlab25lTGV0dGVyKGF6TGV0dGVyKTtcblxuICAgICAgICAgIHJldHVybiBBdmFpbGFiaWxpdHlBbmRMYXRlbmN5TWV0cmljcy5jcmVhdGVab25hbEF2YWlsYWJpbGl0eU1ldHJpYyh7XG4gICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQ6IGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmU6IGF2YWlsYWJpbGl0eVpvbmUsXG4gICAgICAgICAgICBsYWJlbDogYXZhaWxhYmlsaXR5Wm9uZUlkICsgXCIgKGF2ZzogJHtBVkd9ICBtYXg6ICR7TUFYfSlcIixcbiAgICAgICAgICAgIG1ldHJpY0RldGFpbHM6IG9wZXJhdGlvbi5zZXJ2ZXJTaWRlQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICAgIG1ldHJpY1R5cGU6IEF2YWlsYWJpbGl0eU1ldHJpY1R5cGUuUkVRVUVTVF9DT1VOVCxcbiAgICAgICAgICAgIGNvbG9yOiBNZXRyaWNzSGVscGVyLmNvbG9yc1tpbmRleF1cbiAgICAgICAgICB9LFxuICAgICAgICAgIG9wZXJhdGlvbi5zZXJ2ZXJTaWRlTGF0ZW5jeU1ldHJpY0RldGFpbHMubWV0cmljRGltZW5zaW9ucy56b25hbERpbWVuc2lvbnMoXG4gICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgICBBd3MuUkVHSU9OXG4gICAgICAgICAgKSlcbiAgICAgICAgfSksXG4gICAgICAgIHN0YXRpc3RpYzogJ1N1bScsXG4gICAgICAgIGxlZnRZQXhpczoge1xuICAgICAgICAgIGxhYmVsOiAnQ291bnQnLFxuICAgICAgICAgIHNob3dVbml0czogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICB9KSxcblxuICAgICAgLy8gU2VydmVyLXNpZGUgaW5zdGFuY2UgY29udHJpYnV0b3JzIHRvIGZhdWx0c1xuICAgICAgLi4uIHByb3BzLm9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzLnNlcnZlclNpZGVSZWdpb25hbEFsYXJtc0FuZFJ1bGVzLmluc3RhbmNlQ29udHJpYnV0b3JzVG9SZWdpb25hbEZhdWx0cyA/XG4gICAgICAgIFsgXG4gICAgICAgICAgbmV3IENvbnRyaWJ1dG9ySW5zaWdodHNXaWRnZXQoe1xuICAgICAgICAgICAgaGVpZ2h0OiA4LFxuICAgICAgICAgICAgd2lkdGg6IDYsXG4gICAgICAgICAgICB0aXRsZTogJ0luZGl2aWR1YWwgSW5zdGFuY2UgQ29udHJpYnV0b3JzIHRvIEZhdWx0IENvdW50JyxcbiAgICAgICAgICAgIGluc2lnaHRSdWxlOiBwcm9wcy5vcGVyYXRpb25BbGFybXNBbmRSdWxlcy5zZXJ2ZXJTaWRlUmVnaW9uYWxBbGFybXNBbmRSdWxlcy5pbnN0YW5jZUNvbnRyaWJ1dG9yc1RvUmVnaW9uYWxGYXVsdHMsXG4gICAgICAgICAgICBwZXJpb2Q6IG9wZXJhdGlvbi5zZXJ2ZXJTaWRlQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscy5wZXJpb2QsXG4gICAgICAgICAgICBsZWdlbmRQb3NpdGlvbjogTGVnZW5kUG9zaXRpb24uQk9UVE9NLFxuICAgICAgICAgICAgb3JkZXJTdGF0aXN0aWM6ICdTdW0nLFxuICAgICAgICAgICAgYWNjb3VudElkOiBBd3MuQUNDT1VOVF9JRCwgXG4gICAgICAgICAgICB0b3BDb250cmlidXRvcnM6IDEwLFxuICAgICAgICAgIH0pIFxuICAgICAgICBdIDogW11cbiAgICAgICk7XG5cbiAgICAvLyBTZXJ2ZXItc2lkZSBsYXRlbmN5XG4gICAgbGV0IGxhdGVuY3lXaWRnZXRzOiBJV2lkZ2V0W10gPSBbXTtcbiAgICBvcGVyYXRpb24uc2VydmVyU2lkZUxhdGVuY3lNZXRyaWNEZXRhaWxzLnN1Y2Nlc3NNZXRyaWNOYW1lcy5mb3JFYWNoKChtZXRyaWNOYW1lOiBzdHJpbmcpID0+IHtcblxuICAgICAgb3BlcmF0aW9uLnNlcnZlclNpZGVMYXRlbmN5TWV0cmljRGV0YWlscy5ncmFwaGVkU3VjY2Vzc1N0YXRpc3RpY3M/LmZvckVhY2goKHN0YXRpc3RpYzogc3RyaW5nKSA9PiB7XG5cbiAgICAgICAgbGF0ZW5jeVdpZGdldHMucHVzaChcbiAgICAgICAgICBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICAgICAgaGVpZ2h0OiA4LFxuICAgICAgICAgICAgd2lkdGg6IDYsXG4gICAgICAgICAgICB0aXRsZTogYFNlcnZlci1zaWRlICR7bWV0cmljTmFtZX0gJHtzdGF0aXN0aWN9IExhdGVuY3lgLFxuICAgICAgICAgICAgcmVnaW9uOiBBd3MuUkVHSU9OLFxuICAgICAgICAgICAgbGVmdDogW1xuICAgICAgICAgICAgICAuLi5hdmFpbGFiaWxpdHlab25lcy5tYXAoKGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBhekxldHRlcjogc3RyaW5nID0gYXZhaWxhYmlsaXR5Wm9uZS5zdWJzdHJpbmcoYXZhaWxhYmlsaXR5Wm9uZS5sZW5ndGggLSAxKTtcbiAgICAgICAgICAgICAgICBsZXQgYXZhaWxhYmlsaXR5Wm9uZUlkOiBzdHJpbmcgPSBwcm9wcy5hek1hcHBlci5hdmFpbGFiaWxpdHlab25lSWRGcm9tQXZhaWxhYmlsaXR5Wm9uZUxldHRlcihhekxldHRlcik7XG4gICAgICAgIFxuICAgICAgICAgICAgICAgIHJldHVybiBab25hbExhdGVuY3lNZXRyaWNzLmNyZWF0ZVpvbmFsTGF0ZW5jeU1ldHJpYyh7XG4gICAgICAgICAgICAgICAgICBtZXRyaWNOYW1lOiBtZXRyaWNOYW1lLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6IGF2YWlsYWJpbGl0eVpvbmVJZCArIFwiIChhdmc6ICR7QVZHfSAgbWF4OiAke01BWH0pXCIsXG4gICAgICAgICAgICAgICAgICBtZXRyaWNEZXRhaWxzOiBvcGVyYXRpb24uc2VydmVyU2lkZUxhdGVuY3lNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgICAgICAgICAgbWV0cmljVHlwZTogTGF0ZW5jeU1ldHJpY1R5cGUuU1VDQ0VTU19MQVRFTkNZLFxuICAgICAgICAgICAgICAgICAgc3RhdGlzdGljOiBzdGF0aXN0aWMsXG4gICAgICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQ6IGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmU6IGF2YWlsYWJpbGl0eVpvbmUsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogTWV0cmljc0hlbHBlci5jb2xvcnNbaW5kZXhdXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBBdmFpbGFiaWxpdHlBbmRMYXRlbmN5TWV0cmljcy5jcmVhdGVMYXRlbmN5TWV0cmljKHtcbiAgICAgICAgICAgICAgICBtZXRyaWNOYW1lOiBtZXRyaWNOYW1lLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBBd3MuUkVHSU9OICsgXCIgKGF2ZzogJHtBVkd9ICBtYXg6ICR7TUFYfSlcIixcbiAgICAgICAgICAgICAgICBtZXRyaWNEZXRhaWxzOiBvcGVyYXRpb24uc2VydmVyU2lkZUxhdGVuY3lNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgICAgICAgIG1ldHJpY1R5cGU6IExhdGVuY3lNZXRyaWNUeXBlLlNVQ0NFU1NfTEFURU5DWSxcbiAgICAgICAgICAgICAgICBzdGF0aXN0aWM6IHN0YXRpc3RpYyxcbiAgICAgICAgICAgICAgICBjb2xvcjogTWV0cmljc0hlbHBlci5yZWdpb25Db2xvclxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBvcGVyYXRpb24uc2VydmVyU2lkZUxhdGVuY3lNZXRyaWNEZXRhaWxzLm1ldHJpY0RpbWVuc2lvbnMucmVnaW9uYWxEaW1lbnNpb25zKFxuICAgICAgICAgICAgICAgIEF3cy5SRUdJT05cbiAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBsZWZ0WUF4aXM6IHtcbiAgICAgICAgICAgICAgbWF4OiBvcGVyYXRpb24uc2VydmVyU2lkZUxhdGVuY3lNZXRyaWNEZXRhaWxzLnN1Y2Nlc3NBbGFybVRocmVzaG9sZCAqIDEuNSxcbiAgICAgICAgICAgICAgbWluOiAwLFxuICAgICAgICAgICAgICBsYWJlbDogb3BlcmF0aW9uLnNlcnZlclNpZGVMYXRlbmN5TWV0cmljRGV0YWlscy51bml0LFxuICAgICAgICAgICAgICBzaG93VW5pdHM6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGxlZnRBbm5vdGF0aW9uczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IG9wZXJhdGlvbi5zZXJ2ZXJTaWRlTGF0ZW5jeU1ldHJpY0RldGFpbHMuc3VjY2Vzc0FsYXJtVGhyZXNob2xkLFxuICAgICAgICAgICAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY29sb3I6IENvbG9yLlJFRCxcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0hpZ2ggU2V2ZXJpdHknLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGFzaGJvYXJkLmFkZFdpZGdldHMoXG4gICAgICAuLi5sYXRlbmN5V2lkZ2V0cyxcblxuICAgICAgLy8gU2VydmVyLXNpZGUgaGlnaCBsYXRlbmN5IHJlcXVlc3QgY291bnRcbiAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgIGhlaWdodDogOCxcbiAgICAgICAgd2lkdGg6IDYsXG4gICAgICAgIHRpdGxlOiAnU2VydmVyLXNpZGUgSGlnaCBMYXRlbmN5IFJlcXVlc3QgQ291bnQnLFxuICAgICAgICBsZWZ0OiBhdmFpbGFiaWxpdHlab25lcy5tYXAoKGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgIGxldCBhekxldHRlcjogc3RyaW5nID0gYXZhaWxhYmlsaXR5Wm9uZS5zdWJzdHJpbmcoYXZhaWxhYmlsaXR5Wm9uZS5sZW5ndGggLSAxKTtcbiAgICAgICAgICBsZXQgYXZhaWxhYmlsaXR5Wm9uZUlkOiBzdHJpbmcgPSBwcm9wcy5hek1hcHBlci5hdmFpbGFiaWxpdHlab25lSWRGcm9tQXZhaWxhYmlsaXR5Wm9uZUxldHRlcihhekxldHRlcik7XG5cbiAgICAgICAgICByZXR1cm4gWm9uYWxMYXRlbmN5TWV0cmljcy5jcmVhdGVab25hbENvdW50TGF0ZW5jeU1ldHJpYyh7XG4gICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQ6IGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmU6IGF2YWlsYWJpbGl0eVpvbmUsXG4gICAgICAgICAgICBtZXRyaWNEZXRhaWxzOiBvcGVyYXRpb24uc2VydmVyU2lkZUxhdGVuY3lNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgICAgbGFiZWw6IGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICAgIG1ldHJpY1R5cGU6IExhdGVuY3lNZXRyaWNUeXBlLlNVQ0NFU1NfTEFURU5DWSxcbiAgICAgICAgICAgIHN0YXRpc3RpYzogYFRDKCR7b3BlcmF0aW9uLnNlcnZlclNpZGVMYXRlbmN5TWV0cmljRGV0YWlscy5zdWNjZXNzQWxhcm1UaHJlc2hvbGR9OilgLFxuICAgICAgICAgICAgY29sb3I6IE1ldHJpY3NIZWxwZXIuY29sb3JzW2luZGV4XVxuICAgICAgICAgIH0pXG4gICAgICAgIH0pLFxuICAgICAgICBzdGF0aXN0aWM6ICdTdW0nLFxuICAgICAgICBsZWZ0WUF4aXM6IHtcbiAgICAgICAgICBsYWJlbDogJ0NvdW50JyxcbiAgICAgICAgICBzaG93VW5pdHM6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfSksXG5cbiAgICAgIC8vIFNlcnZlci1zaWRlIGluc3RhbmNlIGNvbnRyaWJ1dG9ycyB0byBsYXRlbmN5XG4gICAgICAuLi4gcHJvcHMub3BlcmF0aW9uQWxhcm1zQW5kUnVsZXMuc2VydmVyU2lkZVJlZ2lvbmFsQWxhcm1zQW5kUnVsZXMuaW5zdGFuY2VDb250cmlidXRvcnNUb1JlZ2lvbmFsSGlnaExhdGVuY3kgP1xuICAgICAgICBbXG4gICAgICAgICAgbmV3IENvbnRyaWJ1dG9ySW5zaWdodHNXaWRnZXQoe1xuICAgICAgICAgICAgaGVpZ2h0OiA4LFxuICAgICAgICAgICAgd2lkdGg6IDYsXG4gICAgICAgICAgICB0aXRsZTogJ0luZGl2aWR1YWwgSW5zdGFuY2UgQ29udHJpYnV0b3JzIHRvIEhpZ2ggTGF0ZW5jeScsXG4gICAgICAgICAgICBpbnNpZ2h0UnVsZTogcHJvcHMub3BlcmF0aW9uQWxhcm1zQW5kUnVsZXMuc2VydmVyU2lkZVJlZ2lvbmFsQWxhcm1zQW5kUnVsZXMuaW5zdGFuY2VDb250cmlidXRvcnNUb1JlZ2lvbmFsSGlnaExhdGVuY3ksXG4gICAgICAgICAgICBwZXJpb2Q6IG9wZXJhdGlvbi5zZXJ2ZXJTaWRlTGF0ZW5jeU1ldHJpY0RldGFpbHMucGVyaW9kLFxuICAgICAgICAgICAgbGVnZW5kUG9zaXRpb246IExlZ2VuZFBvc2l0aW9uLkJPVFRPTSxcbiAgICAgICAgICAgIG9yZGVyU3RhdGlzdGljOiAnU3VtJyxcbiAgICAgICAgICAgIGFjY291bnRJZDogQXdzLkFDQ09VTlRfSUQsXG4gICAgICAgICAgICB0b3BDb250cmlidXRvcnM6IDEwLFxuICAgICAgICAgIH0pIFxuICAgICAgICBdIDogW11cbiAgICApO1xuXG4gICAgZGFzaGJvYXJkLmFkZFdpZGdldHMoXG4gICAgICBuZXcgVGV4dFdpZGdldCh7XG4gICAgICAgIGhlaWdodDogMSxcbiAgICAgICAgd2lkdGg6IDI0LFxuICAgICAgICBtYXJrZG93bjogXCIjIyMgQWxhcm1zXCIsXG4gICAgICAgIGJhY2tncm91bmQ6IFRleHRXaWRnZXRCYWNrZ3JvdW5kLlRSQU5TUEFSRU5UXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBsZXQgYXZhaWxhYmlsaXR5QWxhcm1XaWRnZXRzOiBJV2lkZ2V0W10gPSBbXVxuXG4gICAgT2JqZWN0LmtleXMocHJvcHMub3BlcmF0aW9uQWxhcm1zQW5kUnVsZXMuc2VydmVyU2lkZVpvbmFsQWxhcm1zQW5kUnVsZXMpLmZvckVhY2goKGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZykgPT4ge1xuICAgICAgbGV0IGF6TGV0dGVyOiBzdHJpbmcgPSBhdmFpbGFiaWxpdHlab25lLnN1YnN0cmluZyhhdmFpbGFiaWxpdHlab25lLmxlbmd0aCAtIDEpO1xuICAgICAgbGV0IGF2YWlsYWJpbGl0eVpvbmVJZDogc3RyaW5nID0gcHJvcHMuYXpNYXBwZXIuYXZhaWxhYmlsaXR5Wm9uZUlkRnJvbUF2YWlsYWJpbGl0eVpvbmVMZXR0ZXIoYXpMZXR0ZXIpO1xuXG4gICAgICBhdmFpbGFiaWxpdHlBbGFybVdpZGdldHMucHVzaChuZXcgQWxhcm1XaWRnZXQoe1xuICAgICAgICBhbGFybTogcHJvcHMub3BlcmF0aW9uQWxhcm1zQW5kUnVsZXMuc2VydmVyU2lkZVpvbmFsQWxhcm1zQW5kUnVsZXNbYXZhaWxhYmlsaXR5Wm9uZV0uYXZhaWxhYmlsaXR5QWxhcm0sXG4gICAgICAgIHRpdGxlOiBgJHthdmFpbGFiaWxpdHlab25lSWR9IEF2YWlsYWJpbGl0eWAsXG4gICAgICAgIGhlaWdodDogMixcbiAgICAgICAgd2lkdGg6IDhcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGRhc2hib2FyZC5hZGRXaWRnZXRzKC4uLmF2YWlsYWJpbGl0eUFsYXJtV2lkZ2V0cyk7XG5cbiAgICBsZXQgbGF0ZW5jeUFsYXJtV2lkZ2V0czogSVdpZGdldFtdID0gW107XG5cbiAgICBPYmplY3Qua2V5cyhwcm9wcy5vcGVyYXRpb25BbGFybXNBbmRSdWxlcy5zZXJ2ZXJTaWRlWm9uYWxBbGFybXNBbmRSdWxlcykuZm9yRWFjaCgoYXZhaWxhYmlsaXR5Wm9uZTogc3RyaW5nKSA9PiB7XG4gICAgICBsZXQgYXpMZXR0ZXI6IHN0cmluZyA9IGF2YWlsYWJpbGl0eVpvbmUuc3Vic3RyaW5nKGF2YWlsYWJpbGl0eVpvbmUubGVuZ3RoIC0gMSk7XG4gICAgICBsZXQgYXZhaWxhYmlsaXR5Wm9uZUlkOiBzdHJpbmcgPSBwcm9wcy5hek1hcHBlci5hdmFpbGFiaWxpdHlab25lSWRGcm9tQXZhaWxhYmlsaXR5Wm9uZUxldHRlcihhekxldHRlcik7XG5cbiAgICAgIGxhdGVuY3lBbGFybVdpZGdldHMucHVzaChuZXcgQWxhcm1XaWRnZXQoe1xuICAgICAgICBhbGFybTogcHJvcHMub3BlcmF0aW9uQWxhcm1zQW5kUnVsZXMuc2VydmVyU2lkZVpvbmFsQWxhcm1zQW5kUnVsZXNbYXZhaWxhYmlsaXR5Wm9uZV0ubGF0ZW5jeUFsYXJtLFxuICAgICAgICB0aXRsZTogYCR7YXZhaWxhYmlsaXR5Wm9uZUlkfSBMYXRlbmN5YCxcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogOFxuICAgICAgfSkpO1xuICAgIH0pO1xuXG4gICAgZGFzaGJvYXJkLmFkZFdpZGdldHMoLi4ubGF0ZW5jeUFsYXJtV2lkZ2V0cyk7XG4gIH1cbiAgXG4gIHByaXZhdGUgc3RhdGljIGNyZWF0ZUNhbmFyeVdpZGdldHMoXG4gICAgZGFzaGJvYXJkOiBEYXNoYm9hcmQsXG4gICAgcHJvcHM6IE9wZXJhdGlvbkF2YWlsYWJpbGl0eUFuZExhdGVuY3lEYXNoYm9hcmRQcm9wc1xuICApOiB2b2lkIHtcblxuICAgIGxldCBvcGVyYXRpb246IElPcGVyYXRpb24gPSBwcm9wcy5vcGVyYXRpb25BbGFybXNBbmRSdWxlcy5vcGVyYXRpb247XG4gICAgbGV0IGF2YWlsYWJpbGl0eVpvbmVzOiBzdHJpbmdbXSA9IG9wZXJhdGlvbi5zZXJ2aWNlLmF2YWlsYWJpbGl0eVpvbmVOYW1lcztcblxuICAgIGRhc2hib2FyZC5hZGRXaWRnZXRzKFxuICAgICAgbmV3IFRleHRXaWRnZXQoe1xuICAgICAgICBtYXJrZG93bjogXCIjIyAqKkNhbmFyeSBNZXRyaWNzKipcIixcbiAgICAgICAgYmFja2dyb3VuZDogVGV4dFdpZGdldEJhY2tncm91bmQuVFJBTlNQQVJFTlQsXG4gICAgICAgIGhlaWdodDogMSxcbiAgICAgICAgd2lkdGg6IDI0XG4gICAgICB9KVxuICAgICk7XG5cbiAgICBkYXNoYm9hcmQuYWRkV2lkZ2V0cyhcbiAgICAgIC8vIENhbmFyeSBhdmFpbGFiaWxpdHlcbiAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgIGhlaWdodDogOCxcbiAgICAgICAgd2lkdGg6IDYsXG4gICAgICAgIHRpdGxlOiAnQ2FuYXJ5IE1lYXN1cmVkIEF2YWlsYWJpbGl0eScsXG4gICAgICAgIHJlZ2lvbjogQXdzLlJFR0lPTixcbiAgICAgICAgbGVmdDogW1xuICAgICAgICAgIC4uLmF2YWlsYWJpbGl0eVpvbmVzLm1hcCgoYXZhaWxhYmlsaXR5Wm9uZTogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICBsZXQgYXpMZXR0ZXI6IHN0cmluZyA9IGF2YWlsYWJpbGl0eVpvbmUuc3Vic3RyaW5nKGF2YWlsYWJpbGl0eVpvbmUubGVuZ3RoIC0gMSk7XG4gICAgICAgICAgICBsZXQgYXZhaWxhYmlsaXR5Wm9uZUlkOiBzdHJpbmcgPSBwcm9wcy5hek1hcHBlci5hdmFpbGFiaWxpdHlab25lSWRGcm9tQXZhaWxhYmlsaXR5Wm9uZUxldHRlcihhekxldHRlcik7XG5cbiAgICAgICAgICAgIHJldHVybiBBdmFpbGFiaWxpdHlBbmRMYXRlbmN5TWV0cmljcy5jcmVhdGVab25hbEF2YWlsYWJpbGl0eU1ldHJpYyh7XG4gICAgICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmVJZDogYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lOiBhdmFpbGFiaWxpdHlab25lLFxuICAgICAgICAgICAgICBsYWJlbDogYXZhaWxhYmlsaXR5Wm9uZUlkICsgXCIgKGF2ZzogJHtBVkd9ICBtaW46ICR7TUlOfSlcIixcbiAgICAgICAgICAgICAgbWV0cmljRGV0YWlsczogb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMsXG4gICAgICAgICAgICAgIG1ldHJpY1R5cGU6IEF2YWlsYWJpbGl0eU1ldHJpY1R5cGUuU1VDQ0VTU19SQVRFLFxuICAgICAgICAgICAgICBjb2xvcjogTWV0cmljc0hlbHBlci5jb2xvcnNbaW5kZXhdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMubWV0cmljRGltZW5zaW9ucy56b25hbERpbWVuc2lvbnMoXG4gICAgICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICAgICAgQXdzLlJFR0lPTlxuICAgICAgICAgICAgKSlcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBBdmFpbGFiaWxpdHlBbmRMYXRlbmN5TWV0cmljcy5jcmVhdGVBdmFpbGFiaWxpdHlNZXRyaWMoe1xuICAgICAgICAgICAgbGFiZWw6IEF3cy5SRUdJT04gKyBcIiAoYXZnOiAke0FWR30gIG1pbjogJHtNSU59KVwiLFxuICAgICAgICAgICAgbWV0cmljRGV0YWlsczogb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMsXG4gICAgICAgICAgICBtZXRyaWNUeXBlOiBBdmFpbGFiaWxpdHlNZXRyaWNUeXBlLlNVQ0NFU1NfUkFURSxcbiAgICAgICAgICAgIGNvbG9yOiBNZXRyaWNzSGVscGVyLnJlZ2lvbkNvbG9yXG4gICAgICAgICAgfSxcbiAgICAgICAgICBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscyEuY2FuYXJ5QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscy5tZXRyaWNEaW1lbnNpb25zLnJlZ2lvbmFsRGltZW5zaW9ucyhcbiAgICAgICAgICAgIEF3cy5SRUdJT05cbiAgICAgICAgICApKVxuICAgICAgICBdLFxuICAgICAgICBzdGF0aXN0aWM6ICdTdW0nLFxuICAgICAgICBsZWZ0WUF4aXM6IHtcbiAgICAgICAgICBtYXg6IDEwMCxcbiAgICAgICAgICBtaW46IDk1LFxuICAgICAgICAgIGxhYmVsOiAnUGVyY2VudCcsXG4gICAgICAgICAgc2hvd1VuaXRzOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAgbGVmdEFubm90YXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFsdWU6IG9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzIS5jYW5hcnlBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzLnN1Y2Nlc3NBbGFybVRocmVzaG9sZCxcbiAgICAgICAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICAgICAgICBjb2xvcjogQ29sb3IuUkVELFxuICAgICAgICAgICAgbGFiZWw6ICdIaWdoIFNldmVyaXR5JyxcbiAgICAgICAgICB9LFxuICAgICAgICBdXG4gICAgICB9KSxcblxuICAgICAgLy8gQ2FuYXJ5IGZhdWx0IGNvdW50XG4gICAgICBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICBoZWlnaHQ6IDgsXG4gICAgICAgIHdpZHRoOiA2LFxuICAgICAgICB0aXRsZTogJ0NhbmFyeSBNZWFzdXJlZCBGYXVsdCBDb3VudCcsXG4gICAgICAgIHJlZ2lvbjogQXdzLlJFR0lPTixcbiAgICAgICAgbGVmdDogW1xuICAgICAgICAgIC4uLmF2YWlsYWJpbGl0eVpvbmVzLm1hcCgoYXZhaWxhYmlsaXR5Wm9uZTogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICBsZXQgYXpMZXR0ZXI6IHN0cmluZyA9IGF2YWlsYWJpbGl0eVpvbmUuc3Vic3RyaW5nKGF2YWlsYWJpbGl0eVpvbmUubGVuZ3RoIC0gMSk7XG4gICAgICAgICAgICBsZXQgYXZhaWxhYmlsaXR5Wm9uZUlkOiBzdHJpbmcgPSBwcm9wcy5hek1hcHBlci5hdmFpbGFiaWxpdHlab25lSWRGcm9tQXZhaWxhYmlsaXR5Wm9uZUxldHRlcihhekxldHRlcik7XG5cbiAgICAgICAgICAgIHJldHVybiBBdmFpbGFiaWxpdHlBbmRMYXRlbmN5TWV0cmljcy5jcmVhdGVab25hbEF2YWlsYWJpbGl0eU1ldHJpYyh7XG4gICAgICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmVJZDogYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lOiBhdmFpbGFiaWxpdHlab25lLFxuICAgICAgICAgICAgICBtZXRyaWNEZXRhaWxzOiBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscyEuY2FuYXJ5QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICAgICAgbGFiZWw6IGF2YWlsYWJpbGl0eVpvbmVJZCArIFwiIChhdmc6ICR7QVZHfSAgbWF4OiAke01BWH0pXCIsXG4gICAgICAgICAgICAgIG1ldHJpY1R5cGU6IEF2YWlsYWJpbGl0eU1ldHJpY1R5cGUuRkFVTFRfQ09VTlQsXG4gICAgICAgICAgICAgIGNvbG9yOiBNZXRyaWNzSGVscGVyLmNvbG9yc1tpbmRleF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscyEuY2FuYXJ5QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscy5tZXRyaWNEaW1lbnNpb25zLnpvbmFsRGltZW5zaW9ucyhcbiAgICAgICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgICAgICBBd3MuUkVHSU9OXG4gICAgICAgICAgICApKVxuICAgICAgICAgIH0pLFxuICAgICAgICAgIEF2YWlsYWJpbGl0eUFuZExhdGVuY3lNZXRyaWNzLmNyZWF0ZUF2YWlsYWJpbGl0eU1ldHJpYyh7XG4gICAgICAgICAgICBtZXRyaWNEZXRhaWxzOiBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscyEuY2FuYXJ5QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICAgIGxhYmVsOiBBd3MuUkVHSU9OICsgXCIgKGF2ZzogJHtBVkd9ICBtYXg6ICR7TUFYfSlcIixcbiAgICAgICAgICAgIG1ldHJpY1R5cGU6IEF2YWlsYWJpbGl0eU1ldHJpY1R5cGUuRkFVTFRfQ09VTlQsXG4gICAgICAgICAgICBjb2xvcjogTWV0cmljc0hlbHBlci5yZWdpb25Db2xvclxuICAgICAgICAgIH0sXG4gICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMubWV0cmljRGltZW5zaW9ucy5yZWdpb25hbERpbWVuc2lvbnMoXG4gICAgICAgICAgICBBd3MuUkVHSU9OXG4gICAgICAgICAgKSlcbiAgICAgICAgXSxcbiAgICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICAgICAgbGVmdFlBeGlzOiB7XG4gICAgICAgICAgbWluOiAwLFxuICAgICAgICAgIGxhYmVsOiAnQ291bnQnLFxuICAgICAgICAgIHNob3dVbml0czogZmFsc2UsXG4gICAgICAgIH1cbiAgICAgIH0pLFxuXG4gICAgICAvLyBDYW5hcnkgcmVxdWVzdCBjb3VudFxuICAgICAgbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgaGVpZ2h0OiA4LFxuICAgICAgICB3aWR0aDogNixcbiAgICAgICAgdGl0bGU6ICdDYW5hcnkgTWVhc3VyZWQgUmVxdWVzdCBDb3VudCcsXG4gICAgICAgIHJlZ2lvbjogQXdzLlJFR0lPTixcbiAgICAgICAgbGVmdDogW1xuICAgICAgICAgIC4uLmF2YWlsYWJpbGl0eVpvbmVzLm1hcCgoYXZhaWxhYmlsaXR5Wm9uZTogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICBsZXQgYXpMZXR0ZXI6IHN0cmluZyA9IGF2YWlsYWJpbGl0eVpvbmUuc3Vic3RyaW5nKGF2YWlsYWJpbGl0eVpvbmUubGVuZ3RoIC0gMSk7XG4gICAgICAgICAgICBsZXQgYXZhaWxhYmlsaXR5Wm9uZUlkOiBzdHJpbmcgPSBwcm9wcy5hek1hcHBlci5hdmFpbGFiaWxpdHlab25lSWRGcm9tQXZhaWxhYmlsaXR5Wm9uZUxldHRlcihhekxldHRlcik7XG4gICAgICAgICAgICByZXR1cm4gQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeU1ldHJpY3MuY3JlYXRlWm9uYWxBdmFpbGFiaWxpdHlNZXRyaWMoe1xuICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQ6IGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogYXZhaWxhYmlsaXR5Wm9uZSxcbiAgICAgICAgICAgICAgbWV0cmljRGV0YWlsczogb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMsXG4gICAgICAgICAgICAgIGxhYmVsOiBhdmFpbGFiaWxpdHlab25lSWQgKyBcIiAoYXZnOiAke0FWR30gIG1heDogJHtNQVh9KVwiLFxuICAgICAgICAgICAgICBtZXRyaWNUeXBlOiBBdmFpbGFiaWxpdHlNZXRyaWNUeXBlLlJFUVVFU1RfQ09VTlQsXG4gICAgICAgICAgICAgIGNvbG9yOiBNZXRyaWNzSGVscGVyLmNvbG9yc1tpbmRleF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscyEuY2FuYXJ5QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscy5tZXRyaWNEaW1lbnNpb25zLnpvbmFsRGltZW5zaW9ucyhcbiAgICAgICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgICAgICBBd3MuUkVHSU9OXG4gICAgICAgICAgICApKVxuICAgICAgICAgIH0pLFxuICAgICAgICAgIEF2YWlsYWJpbGl0eUFuZExhdGVuY3lNZXRyaWNzLmNyZWF0ZUF2YWlsYWJpbGl0eU1ldHJpYyh7XG4gICAgICAgICAgICBtZXRyaWNEZXRhaWxzOiBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscyEuY2FuYXJ5QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICAgIGxhYmVsOiBBd3MuUkVHSU9OICsgXCIgKGF2ZzogJHtBVkd9ICBtYXg6ICR7TUFYfSlcIixcbiAgICAgICAgICAgIG1ldHJpY1R5cGU6IEF2YWlsYWJpbGl0eU1ldHJpY1R5cGUuUkVRVUVTVF9DT1VOVCxcbiAgICAgICAgICAgIGNvbG9yOiBNZXRyaWNzSGVscGVyLnJlZ2lvbkNvbG9yXG4gICAgICAgICAgfSxcbiAgICAgICAgICBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscyEuY2FuYXJ5QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscy5tZXRyaWNEaW1lbnNpb25zLnJlZ2lvbmFsRGltZW5zaW9ucyhcbiAgICAgICAgICAgIEF3cy5SRUdJT05cbiAgICAgICAgICApKVxuICAgICAgICBdLFxuICAgICAgICBzdGF0aXN0aWM6ICdTdW0nLFxuICAgICAgICBsZWZ0WUF4aXM6IHtcbiAgICAgICAgICBsYWJlbDogJ0NvdW50JyxcbiAgICAgICAgICBzaG93VW5pdHM6IGZhbHNlLFxuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG5cbiAgICBsZXQgbGF0ZW5jeVdpZGdldHM6IElXaWRnZXRbXSA9IFtdO1xuXG4gICAgLy8gQ2FuYXJ5IGxhdGVuY3lcbiAgICBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscyEuY2FuYXJ5TGF0ZW5jeU1ldHJpY0RldGFpbHMuc3VjY2Vzc01ldHJpY05hbWVzLmZvckVhY2goKG1ldHJpY05hbWU6IHN0cmluZykgPT4ge1xuICAgICAgb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUxhdGVuY3lNZXRyaWNEZXRhaWxzLmdyYXBoZWRTdWNjZXNzU3RhdGlzdGljcz8uZm9yRWFjaCgoc3RhdGlzdGljOiBzdHJpbmcpID0+IHtcblxuICAgICAgICBsYXRlbmN5V2lkZ2V0cy5wdXNoKFxuICAgICAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgICAgICBoZWlnaHQ6IDgsXG4gICAgICAgICAgICB3aWR0aDogNixcbiAgICAgICAgICAgIHRpdGxlOiBgQ2FuYXJ5IE1lYXN1cmVkICR7bWV0cmljTmFtZX0gJHtzdGF0aXN0aWN9IExhdGVuY3lgLFxuICAgICAgICAgICAgcmVnaW9uOiBBd3MuUkVHSU9OLFxuICAgICAgICAgICAgbGVmdDogW1xuICAgICAgICAgICAgICAuLi5hdmFpbGFiaWxpdHlab25lcy5tYXAoKGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBhekxldHRlcjogc3RyaW5nID0gYXZhaWxhYmlsaXR5Wm9uZS5zdWJzdHJpbmcoYXZhaWxhYmlsaXR5Wm9uZS5sZW5ndGggLSAxKTtcbiAgICAgICAgICAgICAgICBsZXQgYXZhaWxhYmlsaXR5Wm9uZUlkOiBzdHJpbmcgPSBwcm9wcy5hek1hcHBlci5hdmFpbGFiaWxpdHlab25lSWRGcm9tQXZhaWxhYmlsaXR5Wm9uZUxldHRlcihhekxldHRlcik7XG4gICAgICAgIFxuICAgICAgICAgICAgICAgIHJldHVybiBab25hbExhdGVuY3lNZXRyaWNzLmNyZWF0ZVpvbmFsTGF0ZW5jeU1ldHJpYyh7XG4gICAgICAgICAgICAgICAgICBtZXRyaWNOYW1lOiBtZXRyaWNOYW1lLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6IGF2YWlsYWJpbGl0eVpvbmVJZCArIFwiIChhdmc6ICR7QVZHfSAgbWF4OiAke01BWH0pXCIsXG4gICAgICAgICAgICAgICAgICBtZXRyaWNEZXRhaWxzOiBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscyEuY2FuYXJ5TGF0ZW5jeU1ldHJpY0RldGFpbHMsXG4gICAgICAgICAgICAgICAgICBtZXRyaWNUeXBlOiBMYXRlbmN5TWV0cmljVHlwZS5TVUNDRVNTX0xBVEVOQ1ksXG4gICAgICAgICAgICAgICAgICBzdGF0aXN0aWM6IHN0YXRpc3RpYyxcbiAgICAgICAgICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmVJZDogYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogYXZhaWxhYmlsaXR5Wm9uZSxcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiBNZXRyaWNzSGVscGVyLmNvbG9yc1tpbmRleF1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIEF2YWlsYWJpbGl0eUFuZExhdGVuY3lNZXRyaWNzLmNyZWF0ZUxhdGVuY3lNZXRyaWMoe1xuICAgICAgICAgICAgICAgIG1ldHJpY05hbWU6IG1ldHJpY05hbWUsXG4gICAgICAgICAgICAgICAgbGFiZWw6IEF3cy5SRUdJT04gKyBcIiAoYXZnOiAke0FWR30gIG1heDogJHtNQVh9KVwiLFxuICAgICAgICAgICAgICAgIG1ldHJpY0RldGFpbHM6IG9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzIS5jYW5hcnlMYXRlbmN5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICAgICAgICBtZXRyaWNUeXBlOiBMYXRlbmN5TWV0cmljVHlwZS5TVUNDRVNTX0xBVEVOQ1ksXG4gICAgICAgICAgICAgICAgc3RhdGlzdGljOiBzdGF0aXN0aWMsXG4gICAgICAgICAgICAgICAgY29sb3I6IE1ldHJpY3NIZWxwZXIucmVnaW9uQ29sb3JcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUxhdGVuY3lNZXRyaWNEZXRhaWxzLm1ldHJpY0RpbWVuc2lvbnMucmVnaW9uYWxEaW1lbnNpb25zKFxuICAgICAgICAgICAgICAgIEF3cy5SRUdJT05cbiAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBsZWZ0WUF4aXM6IHtcbiAgICAgICAgICAgICAgbWF4OiBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscyEuY2FuYXJ5TGF0ZW5jeU1ldHJpY0RldGFpbHMuc3VjY2Vzc0FsYXJtVGhyZXNob2xkICogMS41LFxuICAgICAgICAgICAgICBtaW46IDAsXG4gICAgICAgICAgICAgIGxhYmVsOiBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscyEuY2FuYXJ5TGF0ZW5jeU1ldHJpY0RldGFpbHMudW5pdCxcbiAgICAgICAgICAgICAgc2hvd1VuaXRzOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBsZWZ0QW5ub3RhdGlvbnM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscyEuY2FuYXJ5TGF0ZW5jeU1ldHJpY0RldGFpbHMuc3VjY2Vzc0FsYXJtVGhyZXNob2xkLFxuICAgICAgICAgICAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY29sb3I6IENvbG9yLlJFRCxcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0hpZ2ggU2V2ZXJpdHknLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGFzaGJvYXJkLmFkZFdpZGdldHMoXG4gICAgICAuLi5sYXRlbmN5V2lkZ2V0cyxcblxuICAgICAgLy8gQ2FuYXJ5IGhpZ2gtbGF0ZW5jeSByZXF1ZXN0IGNvdW50XG4gICAgICBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICBoZWlnaHQ6IDgsXG4gICAgICAgIHdpZHRoOiA2LFxuICAgICAgICB0aXRsZTogJ0NhbmFyeSBNZWFzdXJlZCBIaWdoIExhdGVuY3kgUmVxdWVzdCBDb3VudCcsXG4gICAgICAgIGxlZnQ6IFtcbiAgICAgICAgICAuLi5hdmFpbGFiaWxpdHlab25lcy5tYXAoKGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgbGV0IGF6TGV0dGVyOiBzdHJpbmcgPSBhdmFpbGFiaWxpdHlab25lLnN1YnN0cmluZyhhdmFpbGFiaWxpdHlab25lLmxlbmd0aCAtIDEpO1xuICAgICAgICAgICAgbGV0IGF2YWlsYWJpbGl0eVpvbmVJZDogc3RyaW5nID0gcHJvcHMuYXpNYXBwZXIuYXZhaWxhYmlsaXR5Wm9uZUlkRnJvbUF2YWlsYWJpbGl0eVpvbmVMZXR0ZXIoYXpMZXR0ZXIpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICByZXR1cm4gWm9uYWxMYXRlbmN5TWV0cmljcy5jcmVhdGVab25hbENvdW50TGF0ZW5jeU1ldHJpYyh7XG4gICAgICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmVJZDogYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lOiBhdmFpbGFiaWxpdHlab25lLFxuICAgICAgICAgICAgICBtZXRyaWNEZXRhaWxzOiBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscyEuY2FuYXJ5TGF0ZW5jeU1ldHJpY0RldGFpbHMsXG4gICAgICAgICAgICAgIGxhYmVsOiBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgICAgIG1ldHJpY1R5cGU6IExhdGVuY3lNZXRyaWNUeXBlLlNVQ0NFU1NfTEFURU5DWSxcbiAgICAgICAgICAgICAgc3RhdGlzdGljOiBgVEMoJHtvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscyEuY2FuYXJ5TGF0ZW5jeU1ldHJpY0RldGFpbHMuc3VjY2Vzc0FsYXJtVGhyZXNob2xkfTopYCxcbiAgICAgICAgICAgICAgY29sb3I6IE1ldHJpY3NIZWxwZXIuY29sb3JzW2luZGV4XVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBBdmFpbGFiaWxpdHlBbmRMYXRlbmN5TWV0cmljcy5jcmVhdGVMYXRlbmN5Q291bnRNZXRyaWMoe1xuICAgICAgICAgICAgbGFiZWw6IEF3cy5SRUdJT04sXG4gICAgICAgICAgICBtZXRyaWNEZXRhaWxzOiBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscyEuY2FuYXJ5TGF0ZW5jeU1ldHJpY0RldGFpbHMsXG4gICAgICAgICAgICBtZXRyaWNUeXBlOiBMYXRlbmN5TWV0cmljVHlwZS5TVUNDRVNTX0xBVEVOQ1ksXG4gICAgICAgICAgICBzdGF0aXN0aWM6IGBUQygke29wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzIS5jYW5hcnlMYXRlbmN5TWV0cmljRGV0YWlscy5zdWNjZXNzQWxhcm1UaHJlc2hvbGR9OilgLFxuICAgICAgICAgICAgY29sb3I6IE1ldHJpY3NIZWxwZXIucmVnaW9uQ29sb3JcbiAgICAgICAgICB9LFxuICAgICAgICAgIG9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzIS5jYW5hcnlMYXRlbmN5TWV0cmljRGV0YWlscy5tZXRyaWNEaW1lbnNpb25zLnJlZ2lvbmFsRGltZW5zaW9ucyhcbiAgICAgICAgICAgIEF3cy5SRUdJT05cbiAgICAgICAgICApKVxuICAgICAgICBdLFxuICAgICAgICBzdGF0aXN0aWM6ICdTdW0nLFxuICAgICAgICBsZWZ0WUF4aXM6IHtcbiAgICAgICAgICBsYWJlbDogJ0NvdW50JyxcbiAgICAgICAgICBzaG93VW5pdHM6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIGRhc2hib2FyZC5hZGRXaWRnZXRzKFxuICAgICAgbmV3IFRleHRXaWRnZXQoe1xuICAgICAgICBoZWlnaHQ6IDEsXG4gICAgICAgIHdpZHRoOiAyNCxcbiAgICAgICAgbWFya2Rvd246IFwiIyMjIEFsYXJtc1wiLFxuICAgICAgICBiYWNrZ3JvdW5kOiBUZXh0V2lkZ2V0QmFja2dyb3VuZC5UUkFOU1BBUkVOVFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgZGFzaGJvYXJkLmFkZFdpZGdldHMoXG4gICAgICBuZXcgQWxhcm1XaWRnZXQoe1xuICAgICAgICBhbGFybTogcHJvcHMub3BlcmF0aW9uQWxhcm1zQW5kUnVsZXMuY2FuYXJ5UmVnaW9uYWxBbGFybXNBbmRSdWxlcyEuYXZhaWxhYmlsaXR5QWxhcm0sXG4gICAgICAgIHRpdGxlOiBcIlJlZ2lvbmFsIEF2YWlsYWJpbGl0eVwiLFxuICAgICAgICBoZWlnaHQ6IDIsXG4gICAgICAgIHdpZHRoOiA4XG4gICAgICB9KSxcbiAgICAgIG5ldyBBbGFybVdpZGdldCh7XG4gICAgICAgIGFsYXJtOiBwcm9wcy5vcGVyYXRpb25BbGFybXNBbmRSdWxlcy5jYW5hcnlSZWdpb25hbEFsYXJtc0FuZFJ1bGVzIS5sYXRlbmN5QWxhcm0sXG4gICAgICAgIHRpdGxlOiBcIlJlZ2lvbmFsIExhdGVuY3lcIixcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogOFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIGxldCBhdmFpbGFiaWxpdHlBbGFybVdpZGdldHM6IElXaWRnZXRbXSA9IFtdXG5cbiAgICBPYmplY3Qua2V5cyhwcm9wcy5vcGVyYXRpb25BbGFybXNBbmRSdWxlcy5jYW5hcnlab25hbEFsYXJtc0FuZFJ1bGVzISkuZm9yRWFjaCgoYXZhaWxhYmlsaXR5Wm9uZTogc3RyaW5nKSA9PiB7XG4gICAgICBsZXQgYXpMZXR0ZXI6IHN0cmluZyA9IGF2YWlsYWJpbGl0eVpvbmUuc3Vic3RyaW5nKGF2YWlsYWJpbGl0eVpvbmUubGVuZ3RoIC0gMSk7XG4gICAgICBsZXQgYXZhaWxhYmlsaXR5Wm9uZUlkOiBzdHJpbmcgPSBwcm9wcy5hek1hcHBlci5hdmFpbGFiaWxpdHlab25lSWRGcm9tQXZhaWxhYmlsaXR5Wm9uZUxldHRlcihhekxldHRlcik7XG4gICAgICBcbiAgICAgIGF2YWlsYWJpbGl0eUFsYXJtV2lkZ2V0cy5wdXNoKG5ldyBBbGFybVdpZGdldCh7XG4gICAgICAgIGFsYXJtOiBwcm9wcy5vcGVyYXRpb25BbGFybXNBbmRSdWxlcy5jYW5hcnlab25hbEFsYXJtc0FuZFJ1bGVzIVthdmFpbGFiaWxpdHlab25lXS5hdmFpbGFiaWxpdHlBbGFybSxcbiAgICAgICAgdGl0bGU6IGAke2F2YWlsYWJpbGl0eVpvbmVJZH0gQXZhaWxhYmlsaXR5YCxcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogOFxuICAgICAgfSkpO1xuICAgIH0pO1xuXG4gICAgZGFzaGJvYXJkLmFkZFdpZGdldHMoLi4uYXZhaWxhYmlsaXR5QWxhcm1XaWRnZXRzKTtcblxuICAgIGxldCBsYXRlbmN5QWxhcm1XaWRnZXRzOiBJV2lkZ2V0W10gPSBbXTtcblxuICAgIE9iamVjdC5rZXlzKHByb3BzLm9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzLmNhbmFyeVpvbmFsQWxhcm1zQW5kUnVsZXMhKS5mb3JFYWNoKChhdmFpbGFiaWxpdHlab25lOiBzdHJpbmcpID0+IHtcbiAgICAgIGxldCBhekxldHRlcjogc3RyaW5nID0gYXZhaWxhYmlsaXR5Wm9uZS5zdWJzdHJpbmcoYXZhaWxhYmlsaXR5Wm9uZS5sZW5ndGggLSAxKTtcbiAgICAgIGxldCBhdmFpbGFiaWxpdHlab25lSWQ6IHN0cmluZyA9IHByb3BzLmF6TWFwcGVyLmF2YWlsYWJpbGl0eVpvbmVJZEZyb21BdmFpbGFiaWxpdHlab25lTGV0dGVyKGF6TGV0dGVyKTtcblxuICAgICAgbGF0ZW5jeUFsYXJtV2lkZ2V0cy5wdXNoKG5ldyBBbGFybVdpZGdldCh7XG4gICAgICAgIGFsYXJtOiBwcm9wcy5vcGVyYXRpb25BbGFybXNBbmRSdWxlcy5jYW5hcnlab25hbEFsYXJtc0FuZFJ1bGVzIVthdmFpbGFiaWxpdHlab25lXS5sYXRlbmN5QWxhcm0sXG4gICAgICAgIHRpdGxlOiBgJHthdmFpbGFiaWxpdHlab25lSWR9IExhdGVuY3lgLFxuICAgICAgICBoZWlnaHQ6IDIsXG4gICAgICAgIHdpZHRoOiA4XG4gICAgICB9KSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG9wZXJhdGlvbiBsZXZlbCBkYXNoYm9hcmRcbiAgICovXG4gIGRhc2hib2FyZDogRGFzaGJvYXJkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogT3BlcmF0aW9uQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeURhc2hib2FyZFByb3BzLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5kYXNoYm9hcmQgPSBuZXcgRGFzaGJvYXJkKHRoaXMsICdEYXNoYm9hcmQnLCB7XG4gICAgICBkYXNoYm9hcmROYW1lOlxuICAgICAgICBwcm9wcy5vcGVyYXRpb25BbGFybXNBbmRSdWxlcy5vcGVyYXRpb24uc2VydmljZS5zZXJ2aWNlTmFtZS50b0xvd2VyQ2FzZSgpICtcbiAgICAgICAgJy0nICtcbiAgICAgICAgcHJvcHMub3BlcmF0aW9uQWxhcm1zQW5kUnVsZXMub3BlcmF0aW9uLm9wZXJhdGlvbk5hbWUudG9Mb3dlckNhc2UoKSArXG4gICAgICAgIGAtYXZhaWxhYmlsaXR5LWFuZC1sYXRlbmN5LSR7QXdzLlJFR0lPTn1gLFxuICAgICAgZGVmYXVsdEludGVydmFsOiBwcm9wcy5pbnRlcnZhbCxcbiAgICAgIHBlcmlvZE92ZXJyaWRlOiBQZXJpb2RPdmVycmlkZS5BVVRPXG4gICAgfSk7XG5cbiAgICB0aGlzLmRhc2hib2FyZC5hZGRXaWRnZXRzKFxuICAgICAgbmV3IEFsYXJtU3RhdHVzV2lkZ2V0KHtcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogMjQsXG4gICAgICAgIGFsYXJtczogW1xuICAgICAgICAgIHByb3BzLm9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzLnJlZ2lvbmFsSW1wYWN0QWxhcm0sXG4gICAgICAgICAgLi4uT2JqZWN0LnZhbHVlcyhwcm9wcy5vcGVyYXRpb25BbGFybXNBbmRSdWxlcy5hZ2dyZWdhdGVab25hbEFsYXJtcylcbiAgICAgICAgXSxcbiAgICAgICAgdGl0bGU6IFwiQWdncmVnYXRlIEFsYXJtc1wiXG4gICAgICB9XG4gICAgKSk7XG5cbiAgICBPcGVyYXRpb25BdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkLmNyZWF0ZVNlcnZlclNpZGVXaWRnZXRzKHRoaXMuZGFzaGJvYXJkLCBwcm9wcyk7XG5cbiAgICBpZiAocHJvcHMub3BlcmF0aW9uQWxhcm1zQW5kUnVsZXMub3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMpIHtcbiAgICAgIE9wZXJhdGlvbkF2YWlsYWJpbGl0eUFuZExhdGVuY3lEYXNoYm9hcmQuY3JlYXRlQ2FuYXJ5V2lkZ2V0cyh0aGlzLmRhc2hib2FyZCwgcHJvcHMpO1xuICAgIH1cbiAgfVxufSJdfQ==
|
|
524
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9uQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeURhc2hib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXNoYm9hcmRzL09wZXJhdGlvbkF2YWlsYWJpbGl0eUFuZExhdGVuY3lEYXNoYm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQXFFO0FBQ3JFLHNDQUFzQztBQUN0Qyw2Q0FBa0M7QUFDbEMsK0RBV29DO0FBQ3BDLDJDQUF1QztBQUN2QywyRUFBd0U7QUFHeEUsd0VBQXFFO0FBQ3JFLGdGQUE2RTtBQUM3RSxzRUFBbUU7QUFDbkUsOERBQTJEO0FBQzNELDRGQUF5RjtBQUd6Rjs7R0FFRztBQUNILE1BQWEsd0NBQ1gsU0FBUSxzQkFBUztJQUdULE1BQU0sQ0FBQyx1QkFBdUIsQ0FDcEMsU0FBb0IsRUFDcEIsS0FBb0Q7UUFHcEQsSUFBSSxTQUFTLEdBQWUsS0FBSyxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQztRQUNwRSxJQUFJLGlCQUFpQixHQUFhLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDO1FBRXhHLFNBQVMsQ0FBQyxVQUFVLENBQ2xCLElBQUksMkJBQVUsQ0FBQztZQUNiLFFBQVEsRUFBRSw0QkFBNEI7WUFDdEMsVUFBVSxFQUFFLHFDQUFvQixDQUFDLFdBQVc7WUFDNUMsTUFBTSxFQUFFLENBQUM7WUFDVCxLQUFLLEVBQUUsRUFBRTtTQUNWLENBQUMsQ0FDSCxDQUFDO1FBRUYsU0FBUyxDQUFDLFVBQVU7UUFFbEIsMkJBQTJCO1FBQzNCLElBQUksNEJBQVcsQ0FBQztZQUNkLE1BQU0sRUFBRSxDQUFDO1lBQ1QsS0FBSyxFQUFFLENBQUM7WUFDUixLQUFLLEVBQUUsMEJBQTBCO1lBQ2pDLE1BQU0sRUFBRSxpQkFBRyxDQUFDLE1BQU07WUFDbEIsSUFBSSxFQUFFO2dCQUNKLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFD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QUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxvQkFBb0IsQ0FBQzthQUNyRTtZQUNELEtBQUssRUFBRSxrQkFBa0I7U0FDMUIsQ0FDRixDQUFDLENBQUM7UUFFSCx3Q0FBd0MsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhGLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ2hFLHdDQUF3QyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEYsQ0FBQztJQUNILENBQUM7Q0FDRjtBQXZvQkQsNEZBdW9CQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmltcG9ydCB7IEF3cyB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7XG4gIERhc2hib2FyZCxcbiAgUGVyaW9kT3ZlcnJpZGUsXG4gIElXaWRnZXQsXG4gIEFsYXJtU3RhdHVzV2lkZ2V0LFxuICBHcmFwaFdpZGdldCxcbiAgQ29sb3IsXG4gIExlZ2VuZFBvc2l0aW9uLFxuICBUZXh0V2lkZ2V0LFxuICBUZXh0V2lkZ2V0QmFja2dyb3VuZCxcbiAgQWxhcm1XaWRnZXRcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBDb250cmlidXRvckluc2lnaHRzV2lkZ2V0IH0gZnJvbSAnLi9Db250cmlidXRvckluc2lnaHRzV2lkZ2V0JztcbmltcG9ydCB7IElPcGVyYXRpb25BdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkIH0gZnJvbSAnLi9JT3BlcmF0aW9uQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeURhc2hib2FyZCc7XG5pbXBvcnQgeyBPcGVyYXRpb25BdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkUHJvcHMgfSBmcm9tICcuL3Byb3BzL09wZXJhdGlvbkF2YWlsYWJpbGl0eUFuZExhdGVuY3lEYXNoYm9hcmRQcm9wcyc7XG5pbXBvcnQgeyBab25hbExhdGVuY3lNZXRyaWNzIH0gZnJvbSAnLi4vbWV0cmljcy9ab25hbExhdGVuY3lNZXRyaWNzJztcbmltcG9ydCB7IEF2YWlsYWJpbGl0eU1ldHJpY1R5cGUgfSBmcm9tICcuLi91dGlsaXRpZXMvQXZhaWxhYmlsaXR5TWV0cmljVHlwZSc7XG5pbXBvcnQgeyBMYXRlbmN5TWV0cmljVHlwZSB9IGZyb20gJy4uL3V0aWxpdGllcy9MYXRlbmN5TWV0cmljVHlwZSc7XG5pbXBvcnQgeyBNZXRyaWNzSGVscGVyIH0gZnJvbSAnLi4vdXRpbGl0aWVzL01ldHJpY3NIZWxwZXInO1xuaW1wb3J0IHsgQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeU1ldHJpY3MgfSBmcm9tICcuLi9tZXRyaWNzL0F2YWlsYWJpbGl0eUFuZExhdGVuY3lNZXRyaWNzJztcbmltcG9ydCB7IElPcGVyYXRpb24gfSBmcm9tICcuLi9zZXJ2aWNlcy9JT3BlcmF0aW9uJztcblxuLyoqXG4gKiBDcmVhdGVzIGFuIG9wZXJhdGlvbiBsZXZlbCBhdmFpbGFiaWxpdHkgYW5kIGxhdGVuY3kgZGFzaGJvYXJkXG4gKi9cbmV4cG9ydCBjbGFzcyBPcGVyYXRpb25BdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkXG4gIGV4dGVuZHMgQ29uc3RydWN0XG4gIGltcGxlbWVudHMgSU9wZXJhdGlvbkF2YWlsYWJpbGl0eUFuZExhdGVuY3lEYXNoYm9hcmQge1xuXG4gIHByaXZhdGUgc3RhdGljIGNyZWF0ZVNlcnZlclNpZGVXaWRnZXRzKFxuICAgIGRhc2hib2FyZDogRGFzaGJvYXJkLFxuICAgIHByb3BzOiBPcGVyYXRpb25BdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkUHJvcHNcbiAgKTogdm9pZCB7XG5cbiAgICBsZXQgb3BlcmF0aW9uOiBJT3BlcmF0aW9uID0gcHJvcHMub3BlcmF0aW9uQWxhcm1zQW5kUnVsZXMub3BlcmF0aW9uO1xuICAgIGxldCBhdmFpbGFiaWxpdHlab25lczogc3RyaW5nW10gPSBwcm9wcy5vcGVyYXRpb25BbGFybXNBbmRSdWxlcy5vcGVyYXRpb24uc2VydmljZS5hdmFpbGFiaWxpdHlab25lTmFtZXM7XG4gICAgXG4gICAgZGFzaGJvYXJkLmFkZFdpZGdldHMoXG4gICAgICBuZXcgVGV4dFdpZGdldCh7XG4gICAgICAgIG1hcmtkb3duOiBcIiMjICoqU2VydmVyLXNpZGUgTWV0cmljcyoqXCIsXG4gICAgICAgIGJhY2tncm91bmQ6IFRleHRXaWRnZXRCYWNrZ3JvdW5kLlRSQU5TUEFSRU5ULFxuICAgICAgICBoZWlnaHQ6IDEsXG4gICAgICAgIHdpZHRoOiAyNFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgZGFzaGJvYXJkLmFkZFdpZGdldHMoXG5cbiAgICAgIC8vIFNlcnZlci1zaWRlIGF2YWlsYWJpbGl0eVxuICAgICAgbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgaGVpZ2h0OiA4LFxuICAgICAgICB3aWR0aDogNixcbiAgICAgICAgdGl0bGU6ICdTZXJ2ZXItc2lkZSBBdmFpbGFiaWxpdHknLFxuICAgICAgICByZWdpb246IEF3cy5SRUdJT04sXG4gICAgICAgIGxlZnQ6IFtcbiAgICAgICAgICAuLi5hdmFpbGFiaWxpdHlab25lcy5tYXAoKGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgbGV0IGF6TGV0dGVyOiBzdHJpbmcgPSBhdmFpbGFiaWxpdHlab25lLnN1YnN0cmluZyhhdmFpbGFiaWxpdHlab25lLmxlbmd0aCAtIDEpO1xuICAgICAgICAgICAgbGV0IGF2YWlsYWJpbGl0eVpvbmVJZDogc3RyaW5nID0gcHJvcHMuYXpNYXBwZXIuYXZhaWxhYmlsaXR5Wm9uZUlkRnJvbUF2YWlsYWJpbGl0eVpvbmVMZXR0ZXIoYXpMZXR0ZXIpO1xuXG4gICAgICAgICAgICByZXR1cm4gQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeU1ldHJpY3MuY3JlYXRlWm9uYWxBdmFpbGFiaWxpdHlNZXRyaWMoe1xuICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQ6IGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogYXZhaWxhYmlsaXR5Wm9uZSxcbiAgICAgICAgICAgICAgbGFiZWw6IGF2YWlsYWJpbGl0eVpvbmVJZCArIFwiIChhdmc6ICR7QVZHfSAgbWluOiAke01JTn0pXCIsXG4gICAgICAgICAgICAgIG1ldHJpY0RldGFpbHM6IG9wZXJhdGlvbi5zZXJ2ZXJTaWRlQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICAgICAgbWV0cmljVHlwZTogQXZhaWxhYmlsaXR5TWV0cmljVHlwZS5TVUNDRVNTX1JBVEUsXG4gICAgICAgICAgICAgIGNvbG9yOiBNZXRyaWNzSGVscGVyLmNvbG9yc1tpbmRleF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcGVyYXRpb24uc2VydmVyU2lkZUxhdGVuY3lNZXRyaWNEZXRhaWxzLm1ldHJpY0RpbWVuc2lvbnMuem9uYWxEaW1lbnNpb25zKFxuICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgICAgIEF3cy5SRUdJT05cbiAgICAgICAgICAgICkpXG4gICAgICAgICAgfSksXG4gICAgICAgICAgQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeU1ldHJpY3MuY3JlYXRlQXZhaWxhYmlsaXR5TWV0cmljKHtcbiAgICAgICAgICAgIGxhYmVsOiBBd3MuUkVHSU9OICsgXCIgKGF2ZzogJHtBVkd9ICBtaW46ICR7TUlOfSlcIixcbiAgICAgICAgICAgIG1ldHJpY0RldGFpbHM6IG9wZXJhdGlvbi5zZXJ2ZXJTaWRlQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICAgIG1ldHJpY1R5cGU6IEF2YWlsYWJpbGl0eU1ldHJpY1R5cGUuU1VDQ0VTU19SQVRFLFxuICAgICAgICAgICAgY29sb3I6IE1ldHJpY3NIZWxwZXIucmVnaW9uQ29sb3JcbiAgICAgICAgICB9LFxuICAgICAgICAgIG9wZXJhdGlvbi5zZXJ2ZXJTaWRlTGF0ZW5jeU1ldHJpY0RldGFpbHMubWV0cmljRGltZW5zaW9ucy5yZWdpb25hbERpbWVuc2lvbnMoXG4gICAgICAgICAgICBBd3MuUkVHSU9OXG4gICAgICAgICAgKSlcbiAgICAgICAgXSxcbiAgICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICAgICAgbGVmdFlBeGlzOiB7XG4gICAgICAgICAgbWF4OiAxMDAsXG4gICAgICAgICAgbWluOiA5NSxcbiAgICAgICAgICBsYWJlbDogJ1BlcmNlbnQnLFxuICAgICAgICAgIHNob3dVbml0czogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIGxlZnRBbm5vdGF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhbHVlOiBvcGVyYXRpb24uc2VydmVyU2lkZUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMuc3VjY2Vzc0FsYXJtVGhyZXNob2xkLFxuICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbG9yOiBDb2xvci5SRUQsXG4gICAgICAgICAgICBsYWJlbDogJ0hpZ2ggU2V2ZXJpdHknLFxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgIH0pLFxuXG4gICAgICAvLyBTZXJ2ZXItc2lkZSBmYXVsdCBjb3VudFxuICAgICAgbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgaGVpZ2h0OiA4LFxuICAgICAgICB3aWR0aDogNixcbiAgICAgICAgdGl0bGU6ICdTZXJ2ZXItc2lkZSBGYXVsdCBDb3VudCcsXG4gICAgICAgIHJlZ2lvbjogQXdzLlJFR0lPTixcbiAgICAgICAgbGVmdDogYXZhaWxhYmlsaXR5Wm9uZXMubWFwKChhdmFpbGFiaWxpdHlab25lOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICBsZXQgYXpMZXR0ZXI6IHN0cmluZyA9IGF2YWlsYWJpbGl0eVpvbmUuc3Vic3RyaW5nKGF2YWlsYWJpbGl0eVpvbmUubGVuZ3RoIC0gMSk7XG4gICAgICAgICAgbGV0IGF2YWlsYWJpbGl0eVpvbmVJZDogc3RyaW5nID0gcHJvcHMuYXpNYXBwZXIuYXZhaWxhYmlsaXR5Wm9uZUlkRnJvbUF2YWlsYWJpbGl0eVpvbmVMZXR0ZXIoYXpMZXR0ZXIpO1xuXG4gICAgICAgICAgcmV0dXJuIEF2YWlsYWJpbGl0eUFuZExhdGVuY3lNZXRyaWNzLmNyZWF0ZVpvbmFsQXZhaWxhYmlsaXR5TWV0cmljKHtcbiAgICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmVJZDogYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogYXZhaWxhYmlsaXR5Wm9uZSxcbiAgICAgICAgICAgIGxhYmVsOiBhdmFpbGFiaWxpdHlab25lSWQgKyBcIiAoYXZnOiAke0FWR30gIG1heDogJHtNQVh9KVwiLFxuICAgICAgICAgICAgbWV0cmljRGV0YWlsczogb3BlcmF0aW9uLnNlcnZlclNpZGVBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgICAgbWV0cmljVHlwZTogQXZhaWxhYmlsaXR5TWV0cmljVHlwZS5GQVVMVF9DT1VOVCxcbiAgICAgICAgICAgIGNvbG9yOiBNZXRyaWNzSGVscGVyLmNvbG9yc1tpbmRleF1cbiAgICAgICAgICB9LFxuICAgICAgICAgIG9wZXJhdGlvbi5zZXJ2ZXJTaWRlTGF0ZW5jeU1ldHJpY0RldGFpbHMubWV0cmljRGltZW5zaW9ucy56b25hbERpbWVuc2lvbnMoXG4gICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgICBBd3MuUkVHSU9OXG4gICAgICAgICAgKSlcbiAgICAgICAgfSksXG4gICAgICAgIHN0YXRpc3RpYzogJ1N1bScsXG4gICAgICAgIGxlZnRZQXhpczoge1xuICAgICAgICAgIG1pbjogMCxcbiAgICAgICAgICBsYWJlbDogJ0NvdW50JyxcbiAgICAgICAgICBzaG93VW5pdHM6IGZhbHNlLFxuICAgICAgICB9XG4gICAgICB9KSxcblxuICAgICAgLy8gU2VydmVyLXNpZGUgcmVxdWVzdCBjb3VudFxuICAgICAgbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgaGVpZ2h0OiA4LFxuICAgICAgICB3aWR0aDogNixcbiAgICAgICAgdGl0bGU6IFwiU2VydmVyLXNpZGUgUmVxdWVzdCBDb3VudFwiLFxuICAgICAgICByZWdpb246IEF3cy5SRUdJT04sXG4gICAgICAgIGxlZnQ6IGF2YWlsYWJpbGl0eVpvbmVzLm1hcCgoYXZhaWxhYmlsaXR5Wm9uZTogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgbGV0IGF6TGV0dGVyOiBzdHJpbmcgPSBhdmFpbGFiaWxpdHlab25lLnN1YnN0cmluZyhhdmFpbGFiaWxpdHlab25lLmxlbmd0aCAtIDEpO1xuICAgICAgICAgIGxldCBhdmFpbGFiaWxpdHlab25lSWQ6IHN0cmluZyA9IHByb3BzLmF6TWFwcGVyLmF2YWlsYWJpbGl0eVpvbmVJZEZyb21BdmFpbGFiaWxpdHlab25lTGV0dGVyKGF6TGV0dGVyKTtcblxuICAgICAgICAgIHJldHVybiBBdmFpbGFiaWxpdHlBbmRMYXRlbmN5TWV0cmljcy5jcmVhdGVab25hbEF2YWlsYWJpbGl0eU1ldHJpYyh7XG4gICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQ6IGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmU6IGF2YWlsYWJpbGl0eVpvbmUsXG4gICAgICAgICAgICBsYWJlbDogYXZhaWxhYmlsaXR5Wm9uZUlkICsgXCIgKGF2ZzogJHtBVkd9ICBtYXg6ICR7TUFYfSlcIixcbiAgICAgICAgICAgIG1ldHJpY0RldGFpbHM6IG9wZXJhdGlvbi5zZXJ2ZXJTaWRlQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICAgIG1ldHJpY1R5cGU6IEF2YWlsYWJpbGl0eU1ldHJpY1R5cGUuUkVRVUVTVF9DT1VOVCxcbiAgICAgICAgICAgIGNvbG9yOiBNZXRyaWNzSGVscGVyLmNvbG9yc1tpbmRleF1cbiAgICAgICAgICB9LFxuICAgICAgICAgIG9wZXJhdGlvbi5zZXJ2ZXJTaWRlTGF0ZW5jeU1ldHJpY0RldGFpbHMubWV0cmljRGltZW5zaW9ucy56b25hbERpbWVuc2lvbnMoXG4gICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgICBBd3MuUkVHSU9OXG4gICAgICAgICAgKSlcbiAgICAgICAgfSksXG4gICAgICAgIHN0YXRpc3RpYzogJ1N1bScsXG4gICAgICAgIGxlZnRZQXhpczoge1xuICAgICAgICAgIGxhYmVsOiAnQ291bnQnLFxuICAgICAgICAgIHNob3dVbml0czogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICB9KSxcblxuICAgICAgLy8gU2VydmVyLXNpZGUgaW5zdGFuY2UgY29udHJpYnV0b3JzIHRvIGZhdWx0c1xuICAgICAgLi4uIHByb3BzLm9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzLnNlcnZlclNpZGVSZWdpb25hbEFsYXJtc0FuZFJ1bGVzLmluc3RhbmNlQ29udHJpYnV0b3JzVG9SZWdpb25hbEZhdWx0cyA/XG4gICAgICAgIFsgXG4gICAgICAgICAgbmV3IENvbnRyaWJ1dG9ySW5zaWdodHNXaWRnZXQoe1xuICAgICAgICAgICAgaGVpZ2h0OiA4LFxuICAgICAgICAgICAgd2lkdGg6IDYsXG4gICAgICAgICAgICB0aXRsZTogJ0luZGl2aWR1YWwgSW5zdGFuY2UgQ29udHJpYnV0b3JzIHRvIEZhdWx0IENvdW50JyxcbiAgICAgICAgICAgIGluc2lnaHRSdWxlOiBwcm9wcy5vcGVyYXRpb25BbGFybXNBbmRSdWxlcy5zZXJ2ZXJTaWRlUmVnaW9uYWxBbGFybXNBbmRSdWxlcy5pbnN0YW5jZUNvbnRyaWJ1dG9yc1RvUmVnaW9uYWxGYXVsdHMsXG4gICAgICAgICAgICBwZXJpb2Q6IG9wZXJhdGlvbi5zZXJ2ZXJTaWRlQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscy5wZXJpb2QsXG4gICAgICAgICAgICBsZWdlbmRQb3NpdGlvbjogTGVnZW5kUG9zaXRpb24uQk9UVE9NLFxuICAgICAgICAgICAgb3JkZXJTdGF0aXN0aWM6ICdTdW0nLFxuICAgICAgICAgICAgYWNjb3VudElkOiBBd3MuQUNDT1VOVF9JRCwgXG4gICAgICAgICAgICB0b3BDb250cmlidXRvcnM6IDEwLFxuICAgICAgICAgIH0pIFxuICAgICAgICBdIDogW11cbiAgICAgICk7XG5cbiAgICAvLyBTZXJ2ZXItc2lkZSBsYXRlbmN5XG4gICAgbGV0IGxhdGVuY3lXaWRnZXRzOiBJV2lkZ2V0W10gPSBbXTtcbiAgICBvcGVyYXRpb24uc2VydmVyU2lkZUxhdGVuY3lNZXRyaWNEZXRhaWxzLnN1Y2Nlc3NNZXRyaWNOYW1lcy5mb3JFYWNoKChtZXRyaWNOYW1lOiBzdHJpbmcpID0+IHtcblxuICAgICAgb3BlcmF0aW9uLnNlcnZlclNpZGVMYXRlbmN5TWV0cmljRGV0YWlscy5ncmFwaGVkU3VjY2Vzc1N0YXRpc3RpY3M/LmZvckVhY2goKHN0YXRpc3RpYzogc3RyaW5nKSA9PiB7XG5cbiAgICAgICAgbGF0ZW5jeVdpZGdldHMucHVzaChcbiAgICAgICAgICBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICAgICAgaGVpZ2h0OiA4LFxuICAgICAgICAgICAgd2lkdGg6IDYsXG4gICAgICAgICAgICB0aXRsZTogYFNlcnZlci1zaWRlICR7bWV0cmljTmFtZX0gJHtzdGF0aXN0aWN9IExhdGVuY3lgLFxuICAgICAgICAgICAgcmVnaW9uOiBBd3MuUkVHSU9OLFxuICAgICAgICAgICAgbGVmdDogW1xuICAgICAgICAgICAgICAuLi5hdmFpbGFiaWxpdHlab25lcy5tYXAoKGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBhekxldHRlcjogc3RyaW5nID0gYXZhaWxhYmlsaXR5Wm9uZS5zdWJzdHJpbmcoYXZhaWxhYmlsaXR5Wm9uZS5sZW5ndGggLSAxKTtcbiAgICAgICAgICAgICAgICBsZXQgYXZhaWxhYmlsaXR5Wm9uZUlkOiBzdHJpbmcgPSBwcm9wcy5hek1hcHBlci5hdmFpbGFiaWxpdHlab25lSWRGcm9tQXZhaWxhYmlsaXR5Wm9uZUxldHRlcihhekxldHRlcik7XG4gICAgICAgIFxuICAgICAgICAgICAgICAgIHJldHVybiBab25hbExhdGVuY3lNZXRyaWNzLmNyZWF0ZVpvbmFsTGF0ZW5jeU1ldHJpYyh7XG4gICAgICAgICAgICAgICAgICBtZXRyaWNOYW1lOiBtZXRyaWNOYW1lLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6IGF2YWlsYWJpbGl0eVpvbmVJZCArIFwiIChhdmc6ICR7QVZHfSAgbWF4OiAke01BWH0pXCIsXG4gICAgICAgICAgICAgICAgICBtZXRyaWNEZXRhaWxzOiBvcGVyYXRpb24uc2VydmVyU2lkZUxhdGVuY3lNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgICAgICAgICAgbWV0cmljVHlwZTogTGF0ZW5jeU1ldHJpY1R5cGUuU1VDQ0VTU19MQVRFTkNZLFxuICAgICAgICAgICAgICAgICAgc3RhdGlzdGljOiBzdGF0aXN0aWMsXG4gICAgICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQ6IGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmU6IGF2YWlsYWJpbGl0eVpvbmUsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogTWV0cmljc0hlbHBlci5jb2xvcnNbaW5kZXhdXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBBdmFpbGFiaWxpdHlBbmRMYXRlbmN5TWV0cmljcy5jcmVhdGVMYXRlbmN5TWV0cmljKHtcbiAgICAgICAgICAgICAgICBtZXRyaWNOYW1lOiBtZXRyaWNOYW1lLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBBd3MuUkVHSU9OICsgXCIgKGF2ZzogJHtBVkd9ICBtYXg6ICR7TUFYfSlcIixcbiAgICAgICAgICAgICAgICBtZXRyaWNEZXRhaWxzOiBvcGVyYXRpb24uc2VydmVyU2lkZUxhdGVuY3lNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgICAgICAgIG1ldHJpY1R5cGU6IExhdGVuY3lNZXRyaWNUeXBlLlNVQ0NFU1NfTEFURU5DWSxcbiAgICAgICAgICAgICAgICBzdGF0aXN0aWM6IHN0YXRpc3RpYyxcbiAgICAgICAgICAgICAgICBjb2xvcjogTWV0cmljc0hlbHBlci5yZWdpb25Db2xvclxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBvcGVyYXRpb24uc2VydmVyU2lkZUxhdGVuY3lNZXRyaWNEZXRhaWxzLm1ldHJpY0RpbWVuc2lvbnMucmVnaW9uYWxEaW1lbnNpb25zKFxuICAgICAgICAgICAgICAgIEF3cy5SRUdJT05cbiAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBsZWZ0WUF4aXM6IHtcbiAgICAgICAgICAgICAgbWF4OiBvcGVyYXRpb24uc2VydmVyU2lkZUxhdGVuY3lNZXRyaWNEZXRhaWxzLnN1Y2Nlc3NBbGFybVRocmVzaG9sZCAqIDEuNSxcbiAgICAgICAgICAgICAgbWluOiAwLFxuICAgICAgICAgICAgICBsYWJlbDogb3BlcmF0aW9uLnNlcnZlclNpZGVMYXRlbmN5TWV0cmljRGV0YWlscy51bml0LFxuICAgICAgICAgICAgICBzaG93VW5pdHM6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGxlZnRBbm5vdGF0aW9uczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IG9wZXJhdGlvbi5zZXJ2ZXJTaWRlTGF0ZW5jeU1ldHJpY0RldGFpbHMuc3VjY2Vzc0FsYXJtVGhyZXNob2xkLFxuICAgICAgICAgICAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY29sb3I6IENvbG9yLlJFRCxcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0hpZ2ggU2V2ZXJpdHknLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGFzaGJvYXJkLmFkZFdpZGdldHMoXG4gICAgICAuLi5sYXRlbmN5V2lkZ2V0cyxcblxuICAgICAgLy8gU2VydmVyLXNpZGUgaGlnaCBsYXRlbmN5IHJlcXVlc3QgY291bnRcbiAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgIGhlaWdodDogOCxcbiAgICAgICAgd2lkdGg6IDYsXG4gICAgICAgIHRpdGxlOiAnU2VydmVyLXNpZGUgSGlnaCBMYXRlbmN5IFJlcXVlc3QgQ291bnQnLFxuICAgICAgICBsZWZ0OiBhdmFpbGFiaWxpdHlab25lcy5tYXAoKGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgIGxldCBhekxldHRlcjogc3RyaW5nID0gYXZhaWxhYmlsaXR5Wm9uZS5zdWJzdHJpbmcoYXZhaWxhYmlsaXR5Wm9uZS5sZW5ndGggLSAxKTtcbiAgICAgICAgICBsZXQgYXZhaWxhYmlsaXR5Wm9uZUlkOiBzdHJpbmcgPSBwcm9wcy5hek1hcHBlci5hdmFpbGFiaWxpdHlab25lSWRGcm9tQXZhaWxhYmlsaXR5Wm9uZUxldHRlcihhekxldHRlcik7XG5cbiAgICAgICAgICByZXR1cm4gWm9uYWxMYXRlbmN5TWV0cmljcy5jcmVhdGVab25hbENvdW50TGF0ZW5jeU1ldHJpYyh7XG4gICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQ6IGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmU6IGF2YWlsYWJpbGl0eVpvbmUsXG4gICAgICAgICAgICBtZXRyaWNEZXRhaWxzOiBvcGVyYXRpb24uc2VydmVyU2lkZUxhdGVuY3lNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgICAgbGFiZWw6IGF2YWlsYWJpbGl0eVpvbmVJZCArIFwiIChhdmc6ICR7QVZHfSAgbWF4OiAke01BWH0pXCIsXG4gICAgICAgICAgICBtZXRyaWNUeXBlOiBMYXRlbmN5TWV0cmljVHlwZS5TVUNDRVNTX0xBVEVOQ1ksXG4gICAgICAgICAgICBzdGF0aXN0aWM6IGBUQygke29wZXJhdGlvbi5zZXJ2ZXJTaWRlTGF0ZW5jeU1ldHJpY0RldGFpbHMuc3VjY2Vzc0FsYXJtVGhyZXNob2xkfTopYCxcbiAgICAgICAgICAgIGNvbG9yOiBNZXRyaWNzSGVscGVyLmNvbG9yc1tpbmRleF1cbiAgICAgICAgICB9KVxuICAgICAgICB9KSxcbiAgICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICAgICAgbGVmdFlBeGlzOiB7XG4gICAgICAgICAgbGFiZWw6ICdDb3VudCcsXG4gICAgICAgICAgc2hvd1VuaXRzOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuXG4gICAgICAvLyBTZXJ2ZXItc2lkZSBpbnN0YW5jZSBjb250cmlidXRvcnMgdG8gbGF0ZW5jeVxuICAgICAgLi4uIHByb3BzLm9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzLnNlcnZlclNpZGVSZWdpb25hbEFsYXJtc0FuZFJ1bGVzLmluc3RhbmNlQ29udHJpYnV0b3JzVG9SZWdpb25hbEhpZ2hMYXRlbmN5ID9cbiAgICAgICAgW1xuICAgICAgICAgIG5ldyBDb250cmlidXRvckluc2lnaHRzV2lkZ2V0KHtcbiAgICAgICAgICAgIGhlaWdodDogOCxcbiAgICAgICAgICAgIHdpZHRoOiA2LFxuICAgICAgICAgICAgdGl0bGU6ICdJbmRpdmlkdWFsIEluc3RhbmNlIENvbnRyaWJ1dG9ycyB0byBIaWdoIExhdGVuY3knLFxuICAgICAgICAgICAgaW5zaWdodFJ1bGU6IHByb3BzLm9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzLnNlcnZlclNpZGVSZWdpb25hbEFsYXJtc0FuZFJ1bGVzLmluc3RhbmNlQ29udHJpYnV0b3JzVG9SZWdpb25hbEhpZ2hMYXRlbmN5LFxuICAgICAgICAgICAgcGVyaW9kOiBvcGVyYXRpb24uc2VydmVyU2lkZUxhdGVuY3lNZXRyaWNEZXRhaWxzLnBlcmlvZCxcbiAgICAgICAgICAgIGxlZ2VuZFBvc2l0aW9uOiBMZWdlbmRQb3NpdGlvbi5CT1RUT00sXG4gICAgICAgICAgICBvcmRlclN0YXRpc3RpYzogJ1N1bScsXG4gICAgICAgICAgICBhY2NvdW50SWQ6IEF3cy5BQ0NPVU5UX0lELFxuICAgICAgICAgICAgdG9wQ29udHJpYnV0b3JzOiAxMCxcbiAgICAgICAgICB9KSBcbiAgICAgICAgXSA6IFtdXG4gICAgKTtcblxuICAgIGRhc2hib2FyZC5hZGRXaWRnZXRzKFxuICAgICAgbmV3IFRleHRXaWRnZXQoe1xuICAgICAgICBoZWlnaHQ6IDEsXG4gICAgICAgIHdpZHRoOiAyNCxcbiAgICAgICAgbWFya2Rvd246IFwiIyMjIEFsYXJtc1wiLFxuICAgICAgICBiYWNrZ3JvdW5kOiBUZXh0V2lkZ2V0QmFja2dyb3VuZC5UUkFOU1BBUkVOVFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgbGV0IGF2YWlsYWJpbGl0eUFsYXJtV2lkZ2V0czogSVdpZGdldFtdID0gW11cblxuICAgIE9iamVjdC5rZXlzKHByb3BzLm9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzLnNlcnZlclNpZGVab25hbEFsYXJtc0FuZFJ1bGVzKS5mb3JFYWNoKChhdmFpbGFiaWxpdHlab25lOiBzdHJpbmcpID0+IHtcbiAgICAgIGxldCBhekxldHRlcjogc3RyaW5nID0gYXZhaWxhYmlsaXR5Wm9uZS5zdWJzdHJpbmcoYXZhaWxhYmlsaXR5Wm9uZS5sZW5ndGggLSAxKTtcbiAgICAgIGxldCBhdmFpbGFiaWxpdHlab25lSWQ6IHN0cmluZyA9IHByb3BzLmF6TWFwcGVyLmF2YWlsYWJpbGl0eVpvbmVJZEZyb21BdmFpbGFiaWxpdHlab25lTGV0dGVyKGF6TGV0dGVyKTtcblxuICAgICAgYXZhaWxhYmlsaXR5QWxhcm1XaWRnZXRzLnB1c2gobmV3IEFsYXJtV2lkZ2V0KHtcbiAgICAgICAgYWxhcm06IHByb3BzLm9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzLnNlcnZlclNpZGVab25hbEFsYXJtc0FuZFJ1bGVzW2F2YWlsYWJpbGl0eVpvbmVdLmF2YWlsYWJpbGl0eUFsYXJtLFxuICAgICAgICB0aXRsZTogYCR7YXZhaWxhYmlsaXR5Wm9uZUlkfSBBdmFpbGFiaWxpdHlgLFxuICAgICAgICBoZWlnaHQ6IDIsXG4gICAgICAgIHdpZHRoOiA4XG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBkYXNoYm9hcmQuYWRkV2lkZ2V0cyguLi5hdmFpbGFiaWxpdHlBbGFybVdpZGdldHMpO1xuXG4gICAgbGV0IGxhdGVuY3lBbGFybVdpZGdldHM6IElXaWRnZXRbXSA9IFtdO1xuXG4gICAgT2JqZWN0LmtleXMocHJvcHMub3BlcmF0aW9uQWxhcm1zQW5kUnVsZXMuc2VydmVyU2lkZVpvbmFsQWxhcm1zQW5kUnVsZXMpLmZvckVhY2goKGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZykgPT4ge1xuICAgICAgbGV0IGF6TGV0dGVyOiBzdHJpbmcgPSBhdmFpbGFiaWxpdHlab25lLnN1YnN0cmluZyhhdmFpbGFiaWxpdHlab25lLmxlbmd0aCAtIDEpO1xuICAgICAgbGV0IGF2YWlsYWJpbGl0eVpvbmVJZDogc3RyaW5nID0gcHJvcHMuYXpNYXBwZXIuYXZhaWxhYmlsaXR5Wm9uZUlkRnJvbUF2YWlsYWJpbGl0eVpvbmVMZXR0ZXIoYXpMZXR0ZXIpO1xuXG4gICAgICBsYXRlbmN5QWxhcm1XaWRnZXRzLnB1c2gobmV3IEFsYXJtV2lkZ2V0KHtcbiAgICAgICAgYWxhcm06IHByb3BzLm9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzLnNlcnZlclNpZGVab25hbEFsYXJtc0FuZFJ1bGVzW2F2YWlsYWJpbGl0eVpvbmVdLmxhdGVuY3lBbGFybSxcbiAgICAgICAgdGl0bGU6IGAke2F2YWlsYWJpbGl0eVpvbmVJZH0gTGF0ZW5jeWAsXG4gICAgICAgIGhlaWdodDogMixcbiAgICAgICAgd2lkdGg6IDhcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGRhc2hib2FyZC5hZGRXaWRnZXRzKC4uLmxhdGVuY3lBbGFybVdpZGdldHMpO1xuICB9XG4gIFxuICBwcml2YXRlIHN0YXRpYyBjcmVhdGVDYW5hcnlXaWRnZXRzKFxuICAgIGRhc2hib2FyZDogRGFzaGJvYXJkLFxuICAgIHByb3BzOiBPcGVyYXRpb25BdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkUHJvcHNcbiAgKTogdm9pZCB7XG5cbiAgICBsZXQgb3BlcmF0aW9uOiBJT3BlcmF0aW9uID0gcHJvcHMub3BlcmF0aW9uQWxhcm1zQW5kUnVsZXMub3BlcmF0aW9uO1xuICAgIGxldCBhdmFpbGFiaWxpdHlab25lczogc3RyaW5nW10gPSBvcGVyYXRpb24uc2VydmljZS5hdmFpbGFiaWxpdHlab25lTmFtZXM7XG5cbiAgICBkYXNoYm9hcmQuYWRkV2lkZ2V0cyhcbiAgICAgIG5ldyBUZXh0V2lkZ2V0KHtcbiAgICAgICAgbWFya2Rvd246IFwiIyMgKipDYW5hcnkgTWV0cmljcyoqXCIsXG4gICAgICAgIGJhY2tncm91bmQ6IFRleHRXaWRnZXRCYWNrZ3JvdW5kLlRSQU5TUEFSRU5ULFxuICAgICAgICBoZWlnaHQ6IDEsXG4gICAgICAgIHdpZHRoOiAyNFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgZGFzaGJvYXJkLmFkZFdpZGdldHMoXG4gICAgICAvLyBDYW5hcnkgYXZhaWxhYmlsaXR5XG4gICAgICBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICBoZWlnaHQ6IDgsXG4gICAgICAgIHdpZHRoOiA2LFxuICAgICAgICB0aXRsZTogJ0NhbmFyeSBNZWFzdXJlZCBBdmFpbGFiaWxpdHknLFxuICAgICAgICByZWdpb246IEF3cy5SRUdJT04sXG4gICAgICAgIGxlZnQ6IFtcbiAgICAgICAgICAuLi5hdmFpbGFiaWxpdHlab25lcy5tYXAoKGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgbGV0IGF6TGV0dGVyOiBzdHJpbmcgPSBhdmFpbGFiaWxpdHlab25lLnN1YnN0cmluZyhhdmFpbGFiaWxpdHlab25lLmxlbmd0aCAtIDEpO1xuICAgICAgICAgICAgbGV0IGF2YWlsYWJpbGl0eVpvbmVJZDogc3RyaW5nID0gcHJvcHMuYXpNYXBwZXIuYXZhaWxhYmlsaXR5Wm9uZUlkRnJvbUF2YWlsYWJpbGl0eVpvbmVMZXR0ZXIoYXpMZXR0ZXIpO1xuXG4gICAgICAgICAgICByZXR1cm4gQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeU1ldHJpY3MuY3JlYXRlWm9uYWxBdmFpbGFiaWxpdHlNZXRyaWMoe1xuICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQ6IGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogYXZhaWxhYmlsaXR5Wm9uZSxcbiAgICAgICAgICAgICAgbGFiZWw6IGF2YWlsYWJpbGl0eVpvbmVJZCArIFwiIChhdmc6ICR7QVZHfSAgbWluOiAke01JTn0pXCIsXG4gICAgICAgICAgICAgIG1ldHJpY0RldGFpbHM6IG9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzIS5jYW5hcnlBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgICAgICBtZXRyaWNUeXBlOiBBdmFpbGFiaWxpdHlNZXRyaWNUeXBlLlNVQ0NFU1NfUkFURSxcbiAgICAgICAgICAgICAgY29sb3I6IE1ldHJpY3NIZWxwZXIuY29sb3JzW2luZGV4XVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzIS5jYW5hcnlBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzLm1ldHJpY0RpbWVuc2lvbnMuem9uYWxEaW1lbnNpb25zKFxuICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgICAgIEF3cy5SRUdJT05cbiAgICAgICAgICAgICkpXG4gICAgICAgICAgfSksXG4gICAgICAgICAgQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeU1ldHJpY3MuY3JlYXRlQXZhaWxhYmlsaXR5TWV0cmljKHtcbiAgICAgICAgICAgIGxhYmVsOiBBd3MuUkVHSU9OICsgXCIgKGF2ZzogJHtBVkd9ICBtaW46ICR7TUlOfSlcIixcbiAgICAgICAgICAgIG1ldHJpY0RldGFpbHM6IG9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzIS5jYW5hcnlBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgICAgbWV0cmljVHlwZTogQXZhaWxhYmlsaXR5TWV0cmljVHlwZS5TVUNDRVNTX1JBVEUsXG4gICAgICAgICAgICBjb2xvcjogTWV0cmljc0hlbHBlci5yZWdpb25Db2xvclxuICAgICAgICAgIH0sXG4gICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMubWV0cmljRGltZW5zaW9ucy5yZWdpb25hbERpbWVuc2lvbnMoXG4gICAgICAgICAgICBBd3MuUkVHSU9OXG4gICAgICAgICAgKSlcbiAgICAgICAgXSxcbiAgICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICAgICAgbGVmdFlBeGlzOiB7XG4gICAgICAgICAgbWF4OiAxMDAsXG4gICAgICAgICAgbWluOiA5NSxcbiAgICAgICAgICBsYWJlbDogJ1BlcmNlbnQnLFxuICAgICAgICAgIHNob3dVbml0czogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIGxlZnRBbm5vdGF0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhbHVlOiBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscyEuY2FuYXJ5QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscy5zdWNjZXNzQWxhcm1UaHJlc2hvbGQsXG4gICAgICAgICAgICB2aXNpYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29sb3I6IENvbG9yLlJFRCxcbiAgICAgICAgICAgIGxhYmVsOiAnSGlnaCBTZXZlcml0eScsXG4gICAgICAgICAgfSxcbiAgICAgICAgXVxuICAgICAgfSksXG5cbiAgICAgIC8vIENhbmFyeSBmYXVsdCBjb3VudFxuICAgICAgbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgaGVpZ2h0OiA4LFxuICAgICAgICB3aWR0aDogNixcbiAgICAgICAgdGl0bGU6ICdDYW5hcnkgTWVhc3VyZWQgRmF1bHQgQ291bnQnLFxuICAgICAgICByZWdpb246IEF3cy5SRUdJT04sXG4gICAgICAgIGxlZnQ6IFtcbiAgICAgICAgICAuLi5hdmFpbGFiaWxpdHlab25lcy5tYXAoKGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgbGV0IGF6TGV0dGVyOiBzdHJpbmcgPSBhdmFpbGFiaWxpdHlab25lLnN1YnN0cmluZyhhdmFpbGFiaWxpdHlab25lLmxlbmd0aCAtIDEpO1xuICAgICAgICAgICAgbGV0IGF2YWlsYWJpbGl0eVpvbmVJZDogc3RyaW5nID0gcHJvcHMuYXpNYXBwZXIuYXZhaWxhYmlsaXR5Wm9uZUlkRnJvbUF2YWlsYWJpbGl0eVpvbmVMZXR0ZXIoYXpMZXR0ZXIpO1xuXG4gICAgICAgICAgICByZXR1cm4gQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeU1ldHJpY3MuY3JlYXRlWm9uYWxBdmFpbGFiaWxpdHlNZXRyaWMoe1xuICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQ6IGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogYXZhaWxhYmlsaXR5Wm9uZSxcbiAgICAgICAgICAgICAgbWV0cmljRGV0YWlsczogb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMsXG4gICAgICAgICAgICAgIGxhYmVsOiBhdmFpbGFiaWxpdHlab25lSWQgKyBcIiAoYXZnOiAke0FWR30gIG1heDogJHtNQVh9KVwiLFxuICAgICAgICAgICAgICBtZXRyaWNUeXBlOiBBdmFpbGFiaWxpdHlNZXRyaWNUeXBlLkZBVUxUX0NPVU5ULFxuICAgICAgICAgICAgICBjb2xvcjogTWV0cmljc0hlbHBlci5jb2xvcnNbaW5kZXhdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMubWV0cmljRGltZW5zaW9ucy56b25hbERpbWVuc2lvbnMoXG4gICAgICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICAgICAgQXdzLlJFR0lPTlxuICAgICAgICAgICAgKSlcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBBdmFpbGFiaWxpdHlBbmRMYXRlbmN5TWV0cmljcy5jcmVhdGVBdmFpbGFiaWxpdHlNZXRyaWMoe1xuICAgICAgICAgICAgbWV0cmljRGV0YWlsczogb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMsXG4gICAgICAgICAgICBsYWJlbDogQXdzLlJFR0lPTiArIFwiIChhdmc6ICR7QVZHfSAgbWF4OiAke01BWH0pXCIsXG4gICAgICAgICAgICBtZXRyaWNUeXBlOiBBdmFpbGFiaWxpdHlNZXRyaWNUeXBlLkZBVUxUX0NPVU5ULFxuICAgICAgICAgICAgY29sb3I6IE1ldHJpY3NIZWxwZXIucmVnaW9uQ29sb3JcbiAgICAgICAgICB9LFxuICAgICAgICAgIG9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzIS5jYW5hcnlBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzLm1ldHJpY0RpbWVuc2lvbnMucmVnaW9uYWxEaW1lbnNpb25zKFxuICAgICAgICAgICAgQXdzLlJFR0lPTlxuICAgICAgICAgICkpXG4gICAgICAgIF0sXG4gICAgICAgIHN0YXRpc3RpYzogJ1N1bScsXG4gICAgICAgIGxlZnRZQXhpczoge1xuICAgICAgICAgIG1pbjogMCxcbiAgICAgICAgICBsYWJlbDogJ0NvdW50JyxcbiAgICAgICAgICBzaG93VW5pdHM6IGZhbHNlLFxuICAgICAgICB9XG4gICAgICB9KSxcblxuICAgICAgLy8gQ2FuYXJ5IHJlcXVlc3QgY291bnRcbiAgICAgIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgIGhlaWdodDogOCxcbiAgICAgICAgd2lkdGg6IDYsXG4gICAgICAgIHRpdGxlOiAnQ2FuYXJ5IE1lYXN1cmVkIFJlcXVlc3QgQ291bnQnLFxuICAgICAgICByZWdpb246IEF3cy5SRUdJT04sXG4gICAgICAgIGxlZnQ6IFtcbiAgICAgICAgICAuLi5hdmFpbGFiaWxpdHlab25lcy5tYXAoKGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgbGV0IGF6TGV0dGVyOiBzdHJpbmcgPSBhdmFpbGFiaWxpdHlab25lLnN1YnN0cmluZyhhdmFpbGFiaWxpdHlab25lLmxlbmd0aCAtIDEpO1xuICAgICAgICAgICAgbGV0IGF2YWlsYWJpbGl0eVpvbmVJZDogc3RyaW5nID0gcHJvcHMuYXpNYXBwZXIuYXZhaWxhYmlsaXR5Wm9uZUlkRnJvbUF2YWlsYWJpbGl0eVpvbmVMZXR0ZXIoYXpMZXR0ZXIpO1xuICAgICAgICAgICAgcmV0dXJuIEF2YWlsYWJpbGl0eUFuZExhdGVuY3lNZXRyaWNzLmNyZWF0ZVpvbmFsQXZhaWxhYmlsaXR5TWV0cmljKHtcbiAgICAgICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZUlkOiBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmU6IGF2YWlsYWJpbGl0eVpvbmUsXG4gICAgICAgICAgICAgIG1ldHJpY0RldGFpbHM6IG9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzIS5jYW5hcnlBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgICAgICBsYWJlbDogYXZhaWxhYmlsaXR5Wm9uZUlkICsgXCIgKGF2ZzogJHtBVkd9ICBtYXg6ICR7TUFYfSlcIixcbiAgICAgICAgICAgICAgbWV0cmljVHlwZTogQXZhaWxhYmlsaXR5TWV0cmljVHlwZS5SRVFVRVNUX0NPVU5ULFxuICAgICAgICAgICAgICBjb2xvcjogTWV0cmljc0hlbHBlci5jb2xvcnNbaW5kZXhdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMubWV0cmljRGltZW5zaW9ucy56b25hbERpbWVuc2lvbnMoXG4gICAgICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICAgICAgQXdzLlJFR0lPTlxuICAgICAgICAgICAgKSlcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBBdmFpbGFiaWxpdHlBbmRMYXRlbmN5TWV0cmljcy5jcmVhdGVBdmFpbGFiaWxpdHlNZXRyaWMoe1xuICAgICAgICAgICAgbWV0cmljRGV0YWlsczogb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMsXG4gICAgICAgICAgICBsYWJlbDogQXdzLlJFR0lPTiArIFwiIChhdmc6ICR7QVZHfSAgbWF4OiAke01BWH0pXCIsXG4gICAgICAgICAgICBtZXRyaWNUeXBlOiBBdmFpbGFiaWxpdHlNZXRyaWNUeXBlLlJFUVVFU1RfQ09VTlQsXG4gICAgICAgICAgICBjb2xvcjogTWV0cmljc0hlbHBlci5yZWdpb25Db2xvclxuICAgICAgICAgIH0sXG4gICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMubWV0cmljRGltZW5zaW9ucy5yZWdpb25hbERpbWVuc2lvbnMoXG4gICAgICAgICAgICBBd3MuUkVHSU9OXG4gICAgICAgICAgKSlcbiAgICAgICAgXSxcbiAgICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICAgICAgbGVmdFlBeGlzOiB7XG4gICAgICAgICAgbGFiZWw6ICdDb3VudCcsXG4gICAgICAgICAgc2hvd1VuaXRzOiBmYWxzZSxcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuXG4gICAgbGV0IGxhdGVuY3lXaWRnZXRzOiBJV2lkZ2V0W10gPSBbXTtcblxuICAgIC8vIENhbmFyeSBsYXRlbmN5XG4gICAgb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUxhdGVuY3lNZXRyaWNEZXRhaWxzLnN1Y2Nlc3NNZXRyaWNOYW1lcy5mb3JFYWNoKChtZXRyaWNOYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgIG9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzIS5jYW5hcnlMYXRlbmN5TWV0cmljRGV0YWlscy5ncmFwaGVkU3VjY2Vzc1N0YXRpc3RpY3M/LmZvckVhY2goKHN0YXRpc3RpYzogc3RyaW5nKSA9PiB7XG5cbiAgICAgICAgbGF0ZW5jeVdpZGdldHMucHVzaChcbiAgICAgICAgICBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICAgICAgaGVpZ2h0OiA4LFxuICAgICAgICAgICAgd2lkdGg6IDYsXG4gICAgICAgICAgICB0aXRsZTogYENhbmFyeSBNZWFzdXJlZCAke21ldHJpY05hbWV9ICR7c3RhdGlzdGljfSBMYXRlbmN5YCxcbiAgICAgICAgICAgIHJlZ2lvbjogQXdzLlJFR0lPTixcbiAgICAgICAgICAgIGxlZnQ6IFtcbiAgICAgICAgICAgICAgLi4uYXZhaWxhYmlsaXR5Wm9uZXMubWFwKChhdmFpbGFiaWxpdHlab25lOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgYXpMZXR0ZXI6IHN0cmluZyA9IGF2YWlsYWJpbGl0eVpvbmUuc3Vic3RyaW5nKGF2YWlsYWJpbGl0eVpvbmUubGVuZ3RoIC0gMSk7XG4gICAgICAgICAgICAgICAgbGV0IGF2YWlsYWJpbGl0eVpvbmVJZDogc3RyaW5nID0gcHJvcHMuYXpNYXBwZXIuYXZhaWxhYmlsaXR5Wm9uZUlkRnJvbUF2YWlsYWJpbGl0eVpvbmVMZXR0ZXIoYXpMZXR0ZXIpO1xuICAgICAgICBcbiAgICAgICAgICAgICAgICByZXR1cm4gWm9uYWxMYXRlbmN5TWV0cmljcy5jcmVhdGVab25hbExhdGVuY3lNZXRyaWMoe1xuICAgICAgICAgICAgICAgICAgbWV0cmljTmFtZTogbWV0cmljTmFtZSxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiBhdmFpbGFiaWxpdHlab25lSWQgKyBcIiAoYXZnOiAke0FWR30gIG1heDogJHtNQVh9KVwiLFxuICAgICAgICAgICAgICAgICAgbWV0cmljRGV0YWlsczogb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUxhdGVuY3lNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgICAgICAgICAgbWV0cmljVHlwZTogTGF0ZW5jeU1ldHJpY1R5cGUuU1VDQ0VTU19MQVRFTkNZLFxuICAgICAgICAgICAgICAgICAgc3RhdGlzdGljOiBzdGF0aXN0aWMsXG4gICAgICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQ6IGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmU6IGF2YWlsYWJpbGl0eVpvbmUsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogTWV0cmljc0hlbHBlci5jb2xvcnNbaW5kZXhdXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBBdmFpbGFiaWxpdHlBbmRMYXRlbmN5TWV0cmljcy5jcmVhdGVMYXRlbmN5TWV0cmljKHtcbiAgICAgICAgICAgICAgICBtZXRyaWNOYW1lOiBtZXRyaWNOYW1lLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBBd3MuUkVHSU9OICsgXCIgKGF2ZzogJHtBVkd9ICBtYXg6ICR7TUFYfSlcIixcbiAgICAgICAgICAgICAgICBtZXRyaWNEZXRhaWxzOiBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscyEuY2FuYXJ5TGF0ZW5jeU1ldHJpY0RldGFpbHMsXG4gICAgICAgICAgICAgICAgbWV0cmljVHlwZTogTGF0ZW5jeU1ldHJpY1R5cGUuU1VDQ0VTU19MQVRFTkNZLFxuICAgICAgICAgICAgICAgIHN0YXRpc3RpYzogc3RhdGlzdGljLFxuICAgICAgICAgICAgICAgIGNvbG9yOiBNZXRyaWNzSGVscGVyLnJlZ2lvbkNvbG9yXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIG9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzIS5jYW5hcnlMYXRlbmN5TWV0cmljRGV0YWlscy5tZXRyaWNEaW1lbnNpb25zLnJlZ2lvbmFsRGltZW5zaW9ucyhcbiAgICAgICAgICAgICAgICBBd3MuUkVHSU9OXG4gICAgICAgICAgICAgICkpXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgbGVmdFlBeGlzOiB7XG4gICAgICAgICAgICAgIG1heDogb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUxhdGVuY3lNZXRyaWNEZXRhaWxzLnN1Y2Nlc3NBbGFybVRocmVzaG9sZCAqIDEuNSxcbiAgICAgICAgICAgICAgbWluOiAwLFxuICAgICAgICAgICAgICBsYWJlbDogb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUxhdGVuY3lNZXRyaWNEZXRhaWxzLnVuaXQsXG4gICAgICAgICAgICAgIHNob3dVbml0czogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbGVmdEFubm90YXRpb25zOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUxhdGVuY3lNZXRyaWNEZXRhaWxzLnN1Y2Nlc3NBbGFybVRocmVzaG9sZCxcbiAgICAgICAgICAgICAgICB2aXNpYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNvbG9yOiBDb2xvci5SRUQsXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdIaWdoIFNldmVyaXR5JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRhc2hib2FyZC5hZGRXaWRnZXRzKFxuICAgICAgLi4ubGF0ZW5jeVdpZGdldHMsXG5cbiAgICAgIC8vIENhbmFyeSBoaWdoLWxhdGVuY3kgcmVxdWVzdCBjb3VudFxuICAgICAgbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgaGVpZ2h0OiA4LFxuICAgICAgICB3aWR0aDogNixcbiAgICAgICAgdGl0bGU6ICdDYW5hcnkgTWVhc3VyZWQgSGlnaCBMYXRlbmN5IFJlcXVlc3QgQ291bnQnLFxuICAgICAgICBsZWZ0OiBbXG4gICAgICAgICAgLi4uYXZhaWxhYmlsaXR5Wm9uZXMubWFwKChhdmFpbGFiaWxpdHlab25lOiBzdHJpbmcsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgIGxldCBhekxldHRlcjogc3RyaW5nID0gYXZhaWxhYmlsaXR5Wm9uZS5zdWJzdHJpbmcoYXZhaWxhYmlsaXR5Wm9uZS5sZW5ndGggLSAxKTtcbiAgICAgICAgICAgIGxldCBhdmFpbGFiaWxpdHlab25lSWQ6IHN0cmluZyA9IHByb3BzLmF6TWFwcGVyLmF2YWlsYWJpbGl0eVpvbmVJZEZyb21BdmFpbGFiaWxpdHlab25lTGV0dGVyKGF6TGV0dGVyKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgcmV0dXJuIFpvbmFsTGF0ZW5jeU1ldHJpY3MuY3JlYXRlWm9uYWxDb3VudExhdGVuY3lNZXRyaWMoe1xuICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQ6IGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogYXZhaWxhYmlsaXR5Wm9uZSxcbiAgICAgICAgICAgICAgbWV0cmljRGV0YWlsczogb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUxhdGVuY3lNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgICAgICBsYWJlbDogYXZhaWxhYmlsaXR5Wm9uZUlkICsgXCIgKGF2ZzogJHtBVkd9ICBtYXg6ICR7TUFYfSlcIixcbiAgICAgICAgICAgICAgbWV0cmljVHlwZTogTGF0ZW5jeU1ldHJpY1R5cGUuU1VDQ0VTU19MQVRFTkNZLFxuICAgICAgICAgICAgICBzdGF0aXN0aWM6IGBUQygke29wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzIS5jYW5hcnlMYXRlbmN5TWV0cmljRGV0YWlscy5zdWNjZXNzQWxhcm1UaHJlc2hvbGR9OilgLFxuICAgICAgICAgICAgICBjb2xvcjogTWV0cmljc0hlbHBlci5jb2xvcnNbaW5kZXhdXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pLFxuICAgICAgICAgIEF2YWlsYWJpbGl0eUFuZExhdGVuY3lNZXRyaWNzLmNyZWF0ZUxhdGVuY3lDb3VudE1ldHJpYyh7XG4gICAgICAgICAgICBsYWJlbDogQXdzLlJFR0lPTiArIFwiIChhdmc6ICR7QVZHfSAgbWF4OiAke01BWH0pXCIsIFxuICAgICAgICAgICAgbWV0cmljRGV0YWlsczogb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUxhdGVuY3lNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgICAgbWV0cmljVHlwZTogTGF0ZW5jeU1ldHJpY1R5cGUuU1VDQ0VTU19MQVRFTkNZLFxuICAgICAgICAgICAgc3RhdGlzdGljOiBgVEMoJHtvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscyEuY2FuYXJ5TGF0ZW5jeU1ldHJpY0RldGFpbHMuc3VjY2Vzc0FsYXJtVGhyZXNob2xkfTopYCxcbiAgICAgICAgICAgIGNvbG9yOiBNZXRyaWNzSGVscGVyLnJlZ2lvbkNvbG9yXG4gICAgICAgICAgfSxcbiAgICAgICAgICBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscyEuY2FuYXJ5TGF0ZW5jeU1ldHJpY0RldGFpbHMubWV0cmljRGltZW5zaW9ucy5yZWdpb25hbERpbWVuc2lvbnMoXG4gICAgICAgICAgICBBd3MuUkVHSU9OXG4gICAgICAgICAgKSlcbiAgICAgICAgXSxcbiAgICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICAgICAgbGVmdFlBeGlzOiB7XG4gICAgICAgICAgbGFiZWw6ICdDb3VudCcsXG4gICAgICAgICAgc2hvd1VuaXRzOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICBkYXNoYm9hcmQuYWRkV2lkZ2V0cyhcbiAgICAgIG5ldyBUZXh0V2lkZ2V0KHtcbiAgICAgICAgaGVpZ2h0OiAxLFxuICAgICAgICB3aWR0aDogMjQsXG4gICAgICAgIG1hcmtkb3duOiBcIiMjIyBBbGFybXNcIixcbiAgICAgICAgYmFja2dyb3VuZDogVGV4dFdpZGdldEJhY2tncm91bmQuVFJBTlNQQVJFTlRcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGRhc2hib2FyZC5hZGRXaWRnZXRzKFxuICAgICAgbmV3IEFsYXJtV2lkZ2V0KHtcbiAgICAgICAgYWxhcm06IHByb3BzLm9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzLmNhbmFyeVJlZ2lvbmFsQWxhcm1zQW5kUnVsZXMhLmF2YWlsYWJpbGl0eUFsYXJtLFxuICAgICAgICB0aXRsZTogXCJSZWdpb25hbCBBdmFpbGFiaWxpdHlcIixcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogOFxuICAgICAgfSksXG4gICAgICBuZXcgQWxhcm1XaWRnZXQoe1xuICAgICAgICBhbGFybTogcHJvcHMub3BlcmF0aW9uQWxhcm1zQW5kUnVsZXMuY2FuYXJ5UmVnaW9uYWxBbGFybXNBbmRSdWxlcyEubGF0ZW5jeUFsYXJtLFxuICAgICAgICB0aXRsZTogXCJSZWdpb25hbCBMYXRlbmN5XCIsXG4gICAgICAgIGhlaWdodDogMixcbiAgICAgICAgd2lkdGg6IDhcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICBsZXQgYXZhaWxhYmlsaXR5QWxhcm1XaWRnZXRzOiBJV2lkZ2V0W10gPSBbXVxuXG4gICAgT2JqZWN0LmtleXMocHJvcHMub3BlcmF0aW9uQWxhcm1zQW5kUnVsZXMuY2FuYXJ5Wm9uYWxBbGFybXNBbmRSdWxlcyEpLmZvckVhY2goKGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZykgPT4ge1xuICAgICAgbGV0IGF6TGV0dGVyOiBzdHJpbmcgPSBhdmFpbGFiaWxpdHlab25lLnN1YnN0cmluZyhhdmFpbGFiaWxpdHlab25lLmxlbmd0aCAtIDEpO1xuICAgICAgbGV0IGF2YWlsYWJpbGl0eVpvbmVJZDogc3RyaW5nID0gcHJvcHMuYXpNYXBwZXIuYXZhaWxhYmlsaXR5Wm9uZUlkRnJvbUF2YWlsYWJpbGl0eVpvbmVMZXR0ZXIoYXpMZXR0ZXIpO1xuICAgICAgXG4gICAgICBhdmFpbGFiaWxpdHlBbGFybVdpZGdldHMucHVzaChuZXcgQWxhcm1XaWRnZXQoe1xuICAgICAgICBhbGFybTogcHJvcHMub3BlcmF0aW9uQWxhcm1zQW5kUnVsZXMuY2FuYXJ5Wm9uYWxBbGFybXNBbmRSdWxlcyFbYXZhaWxhYmlsaXR5Wm9uZV0uYXZhaWxhYmlsaXR5QWxhcm0sXG4gICAgICAgIHRpdGxlOiBgJHthdmFpbGFiaWxpdHlab25lSWR9IEF2YWlsYWJpbGl0eWAsXG4gICAgICAgIGhlaWdodDogMixcbiAgICAgICAgd2lkdGg6IDhcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIGRhc2hib2FyZC5hZGRXaWRnZXRzKC4uLmF2YWlsYWJpbGl0eUFsYXJtV2lkZ2V0cyk7XG5cbiAgICBsZXQgbGF0ZW5jeUFsYXJtV2lkZ2V0czogSVdpZGdldFtdID0gW107XG5cbiAgICBPYmplY3Qua2V5cyhwcm9wcy5vcGVyYXRpb25BbGFybXNBbmRSdWxlcy5jYW5hcnlab25hbEFsYXJtc0FuZFJ1bGVzISkuZm9yRWFjaCgoYXZhaWxhYmlsaXR5Wm9uZTogc3RyaW5nKSA9PiB7XG4gICAgICBsZXQgYXpMZXR0ZXI6IHN0cmluZyA9IGF2YWlsYWJpbGl0eVpvbmUuc3Vic3RyaW5nKGF2YWlsYWJpbGl0eVpvbmUubGVuZ3RoIC0gMSk7XG4gICAgICBsZXQgYXZhaWxhYmlsaXR5Wm9uZUlkOiBzdHJpbmcgPSBwcm9wcy5hek1hcHBlci5hdmFpbGFiaWxpdHlab25lSWRGcm9tQXZhaWxhYmlsaXR5Wm9uZUxldHRlcihhekxldHRlcik7XG5cbiAgICAgIGxhdGVuY3lBbGFybVdpZGdldHMucHVzaChuZXcgQWxhcm1XaWRnZXQoe1xuICAgICAgICBhbGFybTogcHJvcHMub3BlcmF0aW9uQWxhcm1zQW5kUnVsZXMuY2FuYXJ5Wm9uYWxBbGFybXNBbmRSdWxlcyFbYXZhaWxhYmlsaXR5Wm9uZV0ubGF0ZW5jeUFsYXJtLFxuICAgICAgICB0aXRsZTogYCR7YXZhaWxhYmlsaXR5Wm9uZUlkfSBMYXRlbmN5YCxcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogOFxuICAgICAgfSkpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBvcGVyYXRpb24gbGV2ZWwgZGFzaGJvYXJkXG4gICAqL1xuICBkYXNoYm9hcmQ6IERhc2hib2FyZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IE9wZXJhdGlvbkF2YWlsYWJpbGl0eUFuZExhdGVuY3lEYXNoYm9hcmRQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMuZGFzaGJvYXJkID0gbmV3IERhc2hib2FyZCh0aGlzLCAnRGFzaGJvYXJkJywge1xuICAgICAgZGFzaGJvYXJkTmFtZTpcbiAgICAgICAgcHJvcHMub3BlcmF0aW9uQWxhcm1zQW5kUnVsZXMub3BlcmF0aW9uLnNlcnZpY2Uuc2VydmljZU5hbWUudG9Mb3dlckNhc2UoKSArXG4gICAgICAgICctJyArXG4gICAgICAgIHByb3BzLm9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzLm9wZXJhdGlvbi5vcGVyYXRpb25OYW1lLnRvTG93ZXJDYXNlKCkgK1xuICAgICAgICBgLWF2YWlsYWJpbGl0eS1hbmQtbGF0ZW5jeS0ke0F3cy5SRUdJT059YCxcbiAgICAgIGRlZmF1bHRJbnRlcnZhbDogcHJvcHMuaW50ZXJ2YWwsXG4gICAgICBwZXJpb2RPdmVycmlkZTogUGVyaW9kT3ZlcnJpZGUuQVVUT1xuICAgIH0pO1xuXG4gICAgdGhpcy5kYXNoYm9hcmQuYWRkV2lkZ2V0cyhcbiAgICAgIG5ldyBBbGFybVN0YXR1c1dpZGdldCh7XG4gICAgICAgIGhlaWdodDogMixcbiAgICAgICAgd2lkdGg6IDI0LFxuICAgICAgICBhbGFybXM6IFtcbiAgICAgICAgICBwcm9wcy5vcGVyYXRpb25BbGFybXNBbmRSdWxlcy5yZWdpb25hbEltcGFjdEFsYXJtLFxuICAgICAgICAgIC4uLk9iamVjdC52YWx1ZXMocHJvcHMub3BlcmF0aW9uQWxhcm1zQW5kUnVsZXMuYWdncmVnYXRlWm9uYWxBbGFybXMpXG4gICAgICAgIF0sXG4gICAgICAgIHRpdGxlOiBcIkFnZ3JlZ2F0ZSBBbGFybXNcIlxuICAgICAgfVxuICAgICkpO1xuXG4gICAgT3BlcmF0aW9uQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeURhc2hib2FyZC5jcmVhdGVTZXJ2ZXJTaWRlV2lkZ2V0cyh0aGlzLmRhc2hib2FyZCwgcHJvcHMpO1xuXG4gICAgaWYgKHByb3BzLm9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzLm9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzKSB7XG4gICAgICBPcGVyYXRpb25BdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkLmNyZWF0ZUNhbmFyeVdpZGdldHModGhpcy5kYXNoYm9hcmQsIHByb3BzKTtcbiAgICB9XG4gIH1cbn0iXX0=
|
|
@@ -59,7 +59,7 @@ class ServiceAvailabilityAndLatencyDashboard extends constructs_1.Construct {
|
|
|
59
59
|
return AvailabilityAndLatencyMetrics_1.AvailabilityAndLatencyMetrics.createZonalAvailabilityMetric({
|
|
60
60
|
availabilityZoneId: availabilityZoneId,
|
|
61
61
|
availabilityZone: availabilityZone,
|
|
62
|
-
label: operation.operationName + " (avg: ${AVG}
|
|
62
|
+
label: operation.operationName + " (avg: ${AVG} max: ${MAX})",
|
|
63
63
|
metricDetails: operation.serverSideAvailabilityMetricDetails,
|
|
64
64
|
metricType: AvailabilityMetricType_1.AvailabilityMetricType.FAULT_COUNT,
|
|
65
65
|
color: MetricsHelper_1.MetricsHelper.colors[index]
|
|
@@ -86,7 +86,7 @@ class ServiceAvailabilityAndLatencyDashboard extends constructs_1.Construct {
|
|
|
86
86
|
return AvailabilityAndLatencyMetrics_1.AvailabilityAndLatencyMetrics.createZonalLatencyCountMetric({
|
|
87
87
|
availabilityZoneId: availabilityZoneId,
|
|
88
88
|
availabilityZone: availabilityZone,
|
|
89
|
-
label: `${operation.operationName} (${operation.serverSideLatencyMetricDetails.alarmStatistic})` + " (avg: ${AVG}
|
|
89
|
+
label: `${operation.operationName} (${operation.serverSideLatencyMetricDetails.alarmStatistic})` + " (avg: ${AVG} max: ${MAX})",
|
|
90
90
|
metricDetails: operation.serverSideLatencyMetricDetails,
|
|
91
91
|
metricType: LatencyMetricType_1.LatencyMetricType.SUCCESS_LATENCY,
|
|
92
92
|
color: MetricsHelper_1.MetricsHelper.colors[index],
|
|
@@ -113,7 +113,7 @@ class ServiceAvailabilityAndLatencyDashboard extends constructs_1.Construct {
|
|
|
113
113
|
return AvailabilityAndLatencyMetrics_1.AvailabilityAndLatencyMetrics.createZonalLatencyCountMetric({
|
|
114
114
|
availabilityZoneId: availabilityZoneId,
|
|
115
115
|
availabilityZone: availabilityZone,
|
|
116
|
-
label: operation.operationName + " (avg: ${AVG}
|
|
116
|
+
label: operation.operationName + " (avg: ${AVG} max: ${MAX})",
|
|
117
117
|
metricDetails: operation.serverSideLatencyMetricDetails,
|
|
118
118
|
metricType: LatencyMetricType_1.LatencyMetricType.SUCCESS_LATENCY,
|
|
119
119
|
color: MetricsHelper_1.MetricsHelper.colors[index],
|
|
@@ -157,7 +157,7 @@ class ServiceAvailabilityAndLatencyDashboard extends constructs_1.Construct {
|
|
|
157
157
|
});
|
|
158
158
|
return new aws_cloudwatch_1.MathExpression({
|
|
159
159
|
expression: Object.keys(usingMetrics).join('+'),
|
|
160
|
-
label: availabilityZoneId,
|
|
160
|
+
label: availabilityZoneId + " (avg: ${AVG} max: ${MAX})",
|
|
161
161
|
usingMetrics: usingMetrics,
|
|
162
162
|
period: props.service.period
|
|
163
163
|
});
|
|
@@ -222,7 +222,7 @@ class ServiceAvailabilityAndLatencyDashboard extends constructs_1.Construct {
|
|
|
222
222
|
return AvailabilityAndLatencyMetrics_1.AvailabilityAndLatencyMetrics.createZonalAvailabilityMetric({
|
|
223
223
|
availabilityZoneId: availabilityZoneId,
|
|
224
224
|
availabilityZone: availabilityZone,
|
|
225
|
-
label: operation.operationName + " (avg: ${AVG}
|
|
225
|
+
label: operation.operationName + " (avg: ${AVG} max: ${MAX})",
|
|
226
226
|
metricDetails: operation.canaryMetricDetails.canaryAvailabilityMetricDetails,
|
|
227
227
|
metricType: AvailabilityMetricType_1.AvailabilityMetricType.FAULT_COUNT,
|
|
228
228
|
color: MetricsHelper_1.MetricsHelper.colors[index]
|
|
@@ -249,7 +249,7 @@ class ServiceAvailabilityAndLatencyDashboard extends constructs_1.Construct {
|
|
|
249
249
|
return AvailabilityAndLatencyMetrics_1.AvailabilityAndLatencyMetrics.createZonalLatencyCountMetric({
|
|
250
250
|
availabilityZoneId: availabilityZoneId,
|
|
251
251
|
availabilityZone: availabilityZone,
|
|
252
|
-
label: `${operation.operationName} (${operation.canaryMetricDetails.canaryLatencyMetricDetails.alarmStatistic})` + " (avg: ${AVG}
|
|
252
|
+
label: `${operation.operationName} (${operation.canaryMetricDetails.canaryLatencyMetricDetails.alarmStatistic})` + " (avg: ${AVG} max: ${MAX})",
|
|
253
253
|
metricDetails: operation.canaryMetricDetails.canaryLatencyMetricDetails,
|
|
254
254
|
metricType: LatencyMetricType_1.LatencyMetricType.SUCCESS_LATENCY,
|
|
255
255
|
color: MetricsHelper_1.MetricsHelper.colors[index],
|
|
@@ -276,7 +276,7 @@ class ServiceAvailabilityAndLatencyDashboard extends constructs_1.Construct {
|
|
|
276
276
|
return AvailabilityAndLatencyMetrics_1.AvailabilityAndLatencyMetrics.createZonalLatencyCountMetric({
|
|
277
277
|
availabilityZoneId: availabilityZoneId,
|
|
278
278
|
availabilityZone: availabilityZone,
|
|
279
|
-
label: operation.operationName + " (avg: ${AVG}
|
|
279
|
+
label: operation.operationName + " (avg: ${AVG} max: ${MAX})",
|
|
280
280
|
metricDetails: operation.canaryMetricDetails.canaryLatencyMetricDetails,
|
|
281
281
|
metricType: LatencyMetricType_1.LatencyMetricType.SUCCESS_LATENCY,
|
|
282
282
|
color: MetricsHelper_1.MetricsHelper.colors[index],
|
|
@@ -417,4 +417,4 @@ class ServiceAvailabilityAndLatencyDashboard extends constructs_1.Construct {
|
|
|
417
417
|
}
|
|
418
418
|
}
|
|
419
419
|
exports.ServiceAvailabilityAndLatencyDashboard = ServiceAvailabilityAndLatencyDashboard;
|
|
420
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmljZUF2YWlsYWJpbGl0eUFuZExhdGVuY3lEYXNoYm9hcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGFzaGJvYXJkcy9TZXJ2aWNlQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeURhc2hib2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBcUU7QUFDckUsc0NBQXNDO0FBQ3RDLDZDQUFrQztBQUNsQywrREFXb0M7QUFLcEMsMkNBQXVDO0FBR3ZDLDhGQUEyRjtBQUUzRixnRkFBNkU7QUFDN0Usc0VBQW1FO0FBQ25FLDhEQUEyRDtBQUMzRCw0RkFBeUY7QUFFekY7O0dBRUc7QUFDSCxNQUFhLHNDQUNYLFNBQVEsc0JBQVM7SUFHVCxNQUFNLENBQUMsdUJBQXVCLENBQ3BDLFNBQW9CLEVBQ3BCLEtBQWtEO1FBR2xELElBQUksaUJBQWlCLEdBQWEsS0FBSyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQztRQUN0RSxJQUFJLGtCQUFrQixHQUFrQixLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUM7UUFFbkcsU0FBUyxDQUFDLFVBQVUsQ0FDbEIsSUFBSSwyQkFBVSxDQUFDO1lBQ2IsUUFBUSxFQUFFLDRCQUE0QjtZQUN0QyxVQUFVLEVBQUUscUNBQW9CLENBQUMsV0FBVztZQUM1QyxNQUFNLEVBQUUsQ0FBQztZQUNULEtBQUssRUFBRSxFQUFFO1NBQ1YsQ0FBQyxDQUNILENBQUM7UUFFRixJQUFJLHdCQUF3QixHQUFjLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLGdCQUF3QixFQUFFLEVBQUU7WUFDM0YsSUFBSSxRQUFRLEdBQVcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMvRSxJQUFJLGtCQUFrQixH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RSxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQXdDLENBQUUsRUFDMUQsS0FBSyxDQUFDLFFBQVEsRUFDZCxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFDcEIsS0FBSyxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxjQUFjLEVBQ3hELEtBQUssQ0FBQyxPQUFPLENBQUMsMkJBQTJCLENBQUMscUJBQXFCLEVBQy9ELEtBQUssQ0FBQyxPQUFPLENBQUMsMkJBQTJCLENBQUMsbUJBQW1CLENBQzlELENBQ0YsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFoakJELHdGQWdqQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5pbXBvcnQgeyBBd3MgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQge1xuICBBbGFybVN0YXR1c1dpZGdldCxcbiAgQ29sb3IsXG4gIERhc2hib2FyZCxcbiAgR3JhcGhXaWRnZXQsXG4gIElNZXRyaWMsXG4gIElXaWRnZXQsXG4gIE1hdGhFeHByZXNzaW9uLFxuICBQZXJpb2RPdmVycmlkZSxcbiAgVGV4dFdpZGdldCxcbiAgVGV4dFdpZGdldEJhY2tncm91bmQsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoJztcbmltcG9ydCB7XG4gIENmbkxvYWRCYWxhbmNlcixcbiAgSUFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWxhc3RpY2xvYWRiYWxhbmNpbmd2Mic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IElTZXJ2aWNlQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeURhc2hib2FyZCB9IGZyb20gJy4vSVNlcnZpY2VBdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkJztcbmltcG9ydCB7IFNlcnZpY2VBdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkUHJvcHMgfSBmcm9tICcuL3Byb3BzL1NlcnZpY2VBdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkUHJvcHMnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJNZXRyaWNzIH0gZnJvbSAnLi4vbWV0cmljcy9BcHBsaWNhdGlvbkxvYWRCYWxhbmNlck1ldHJpY3MnO1xuaW1wb3J0IHsgSU9wZXJhdGlvbiB9IGZyb20gJy4uL3NlcnZpY2VzL0lPcGVyYXRpb24nO1xuaW1wb3J0IHsgQXZhaWxhYmlsaXR5TWV0cmljVHlwZSB9IGZyb20gJy4uL3V0aWxpdGllcy9BdmFpbGFiaWxpdHlNZXRyaWNUeXBlJztcbmltcG9ydCB7IExhdGVuY3lNZXRyaWNUeXBlIH0gZnJvbSAnLi4vdXRpbGl0aWVzL0xhdGVuY3lNZXRyaWNUeXBlJztcbmltcG9ydCB7IE1ldHJpY3NIZWxwZXIgfSBmcm9tICcuLi91dGlsaXRpZXMvTWV0cmljc0hlbHBlcic7XG5pbXBvcnQgeyBBdmFpbGFiaWxpdHlBbmRMYXRlbmN5TWV0cmljcyB9IGZyb20gJy4uL21ldHJpY3MvQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeU1ldHJpY3MnO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBzZXJ2aWNlIGxldmVsIGF2YWlsYWJpbGl0eSBhbmQgbGF0ZW5jeSBkYXNoYm9hcmRcbiAqL1xuZXhwb3J0IGNsYXNzIFNlcnZpY2VBdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkXG4gIGV4dGVuZHMgQ29uc3RydWN0XG4gIGltcGxlbWVudHMgSVNlcnZpY2VBdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkIHtcbiBcbiAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlU2VydmVyU2lkZVdpZGdldHMoXG4gICAgZGFzaGJvYXJkOiBEYXNoYm9hcmQsXG4gICAgcHJvcHM6IFNlcnZpY2VBdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkUHJvcHNcbiAgKTogdm9pZCB7XG4gIFxuICAgIGxldCBhdmFpbGFiaWxpdHlab25lczogc3RyaW5nW10gPSBwcm9wcy5zZXJ2aWNlLmF2YWlsYWJpbGl0eVpvbmVOYW1lcztcbiAgICBsZXQgY3JpdGljYWxPcGVyYXRpb25zOiBJT3BlcmF0aW9uW10gPSAgcHJvcHMuc2VydmljZS5vcGVyYXRpb25zLmZpbHRlcigoeCkgPT4geC5jcml0aWNhbCA9PSB0cnVlKTtcbiAgICAgXG4gICAgZGFzaGJvYXJkLmFkZFdpZGdldHMoXG4gICAgICBuZXcgVGV4dFdpZGdldCh7XG4gICAgICAgIG1hcmtkb3duOiBcIiMjICoqU2VydmVyLXNpZGUgTWV0cmljcyoqXCIsXG4gICAgICAgIGJhY2tncm91bmQ6IFRleHRXaWRnZXRCYWNrZ3JvdW5kLlRSQU5TUEFSRU5ULFxuICAgICAgICBoZWlnaHQ6IDEsXG4gICAgICAgIHdpZHRoOiAyNFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgbGV0IHpvbmFsQXZhaWxhYmlsaXR5V2lkZ2V0czogSVdpZGdldFtdID0gYXZhaWxhYmlsaXR5Wm9uZXMubWFwKChhdmFpbGFiaWxpdHlab25lOiBzdHJpbmcpID0+IHtcbiAgICAgIGxldCBhekxldHRlcjogc3RyaW5nID0gYXZhaWxhYmlsaXR5Wm9uZS5zdWJzdHJpbmcoYXZhaWxhYmlsaXR5Wm9uZS5sZW5ndGggLSAxKTtcbiAgICAgIGxldCBhdmFpbGFiaWxpdHlab25lSWQ6IHN0cmluZyA9IHByb3BzLmF6TWFwcGVyLmF2YWlsYWJpbGl0eVpvbmVJZEZyb21BdmFpbGFiaWxpdHlab25lTGV0dGVyKGF6TGV0dGVyKTtcblxuICAgICAgbGV0IGNyaXRpY2FsT3BlcmF0aW9uc1pvbmFsTWV0cmljczogSU1ldHJpY1tdID0gY3JpdGljYWxPcGVyYXRpb25zLm1hcCgob3BlcmF0aW9uOiBJT3BlcmF0aW9uLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIHJldHVybiBBdmFpbGFiaWxpdHlBbmRMYXRlbmN5TWV0cmljcy5jcmVhdGVab25hbEF2YWlsYWJpbGl0eU1ldHJpYyh7XG4gICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZUlkOiBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogYXZhaWxhYmlsaXR5Wm9uZSxcbiAgICAgICAgICBsYWJlbDogb3BlcmF0aW9uLm9wZXJhdGlvbk5hbWUgKyBcIiAoYXZnOiAke0FWR30gIG1pbjogJHtNSU59KVwiLFxuICAgICAgICAgIG1ldHJpY0RldGFpbHM6IG9wZXJhdGlvbi5zZXJ2ZXJTaWRlQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICBtZXRyaWNUeXBlOiBBdmFpbGFiaWxpdHlNZXRyaWNUeXBlLlNVQ0NFU1NfUkFURSxcbiAgICAgICAgICBjb2xvcjogTWV0cmljc0hlbHBlci5jb2xvcnNbaW5kZXhdXG4gICAgICAgIH0sXG4gICAgICAgIG9wZXJhdGlvbi5zZXJ2ZXJTaWRlQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscy5tZXRyaWNEaW1lbnNpb25zLnpvbmFsRGltZW5zaW9ucyhcbiAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgQXdzLlJFR0lPTlxuICAgICAgICApKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgICBoZWlnaHQ6IDgsXG4gICAgICAgICAgd2lkdGg6IDYsXG4gICAgICAgICAgdGl0bGU6IGBBdmFpbGFiaWxpdHkgLSAke2F2YWlsYWJpbGl0eVpvbmVJZH1gLFxuICAgICAgICAgIHJlZ2lvbjogQXdzLlJFR0lPTixcbiAgICAgICAgICBsZWZ0OiBjcml0aWNhbE9wZXJhdGlvbnNab25hbE1ldHJpY3MsXG4gICAgICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICAgICAgICBsZWZ0WUF4aXM6IHtcbiAgICAgICAgICAgIG1heDogMTAwLFxuICAgICAgICAgICAgbWluOiA5NSxcbiAgICAgICAgICAgIGxhYmVsOiAnUGVyY2VudCcsXG4gICAgICAgICAgICBzaG93VW5pdHM6IGZhbHNlLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKVxuICAgIH0pO1xuXG4gICAgbGV0IHpvbmFsRmF1bHRDb3VudFdpZGdldHM6IElXaWRnZXRbXSA9IGF2YWlsYWJpbGl0eVpvbmVzLm1hcCgoYXZhaWxhYmlsaXR5Wm9uZTogc3RyaW5nKSA9PiB7XG4gICAgICBsZXQgYXpMZXR0ZXI6IHN0cmluZyA9IGF2YWlsYWJpbGl0eVpvbmUuc3Vic3RyaW5nKGF2YWlsYWJpbGl0eVpvbmUubGVuZ3RoIC0gMSk7XG4gICAgICBsZXQgYXZhaWxhYmlsaXR5Wm9uZUlkOiBzdHJpbmcgPSBwcm9wcy5hek1hcHBlci5hdmFpbGFiaWxpdHlab25lSWRGcm9tQXZhaWxhYmlsaXR5Wm9uZUxldHRlcihhekxldHRlcik7XG5cbiAgICAgIGxldCBjcml0aWNhbE9wZXJhdGlvbnNab25hbE1ldHJpY3M6IElNZXRyaWNbXSA9IGNyaXRpY2FsT3BlcmF0aW9ucy5tYXAoKG9wZXJhdGlvbjogSU9wZXJhdGlvbiwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICByZXR1cm4gQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeU1ldHJpY3MuY3JlYXRlWm9uYWxBdmFpbGFiaWxpdHlNZXRyaWMoe1xuICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmVJZDogYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmU6IGF2YWlsYWJpbGl0eVpvbmUsXG4gICAgICAgICAgbGFiZWw6IG9wZXJhdGlvbi5vcGVyYXRpb25OYW1lICsgXCIgKGF2ZzogJHtBVkd9ICBtaW46ICR7TUlOfSlcIixcbiAgICAgICAgICBtZXRyaWNEZXRhaWxzOiBvcGVyYXRpb24uc2VydmVyU2lkZUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMsXG4gICAgICAgICAgbWV0cmljVHlwZTogQXZhaWxhYmlsaXR5TWV0cmljVHlwZS5GQVVMVF9DT1VOVCxcbiAgICAgICAgICBjb2xvcjogTWV0cmljc0hlbHBlci5jb2xvcnNbaW5kZXhdXG4gICAgICAgIH0sXG4gICAgICAgIG9wZXJhdGlvbi5zZXJ2ZXJTaWRlQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscy5tZXRyaWNEaW1lbnNpb25zLnpvbmFsRGltZW5zaW9ucyhcbiAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgQXdzLlJFR0lPTlxuICAgICAgICApKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgICAgd2lkdGg6IDgsXG4gICAgICAgICAgdGl0bGU6IGBGYXVsdCBDb3VudCAtICR7YXZhaWxhYmlsaXR5Wm9uZUlkfSBgLFxuICAgICAgICAgIHJlZ2lvbjogQXdzLlJFR0lPTixcbiAgICAgICAgICBsZWZ0OiBjcml0aWNhbE9wZXJhdGlvbnNab25hbE1ldHJpY3MsXG4gICAgICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICAgICAgICBsZWZ0WUF4aXM6IHtcbiAgICAgICAgICAgIG1pbjogMCxcbiAgICAgICAgICAgIGxhYmVsOiAnQ291bnQnLFxuICAgICAgICAgICAgc2hvd1VuaXRzOiBmYWxzZSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9KTtcblxuICAgIGxldCBwZXJBWldpZGdldFdpdGhQZXJPcGVyYXRpb25MYXRlbmN5OiBJV2lkZ2V0W10gPSBhdmFpbGFiaWxpdHlab25lcy5tYXAoKGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZykgPT4ge1xuICAgICAgbGV0IGF6TGV0dGVyOiBzdHJpbmcgPSBhdmFpbGFiaWxpdHlab25lLnN1YnN0cmluZyhhdmFpbGFiaWxpdHlab25lLmxlbmd0aCAtIDEpO1xuICAgICAgbGV0IGF2YWlsYWJpbGl0eVpvbmVJZDogc3RyaW5nID0gcHJvcHMuYXpNYXBwZXIuYXZhaWxhYmlsaXR5Wm9uZUlkRnJvbUF2YWlsYWJpbGl0eVpvbmVMZXR0ZXIoYXpMZXR0ZXIpO1xuXG4gICAgICBsZXQgY3JpdGljYWxPcGVyYXRpb25zWm9uYWxNZXRyaWNzOiBJTWV0cmljW10gPSBjcml0aWNhbE9wZXJhdGlvbnMubWFwKChvcGVyYXRpb246IElPcGVyYXRpb24sIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgcmV0dXJuIEF2YWlsYWJpbGl0eUFuZExhdGVuY3lNZXRyaWNzLmNyZWF0ZVpvbmFsTGF0ZW5jeUNvdW50TWV0cmljKHtcbiAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQ6IGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICBhdmFpbGFiaWxpdHlab25lOiBhdmFpbGFiaWxpdHlab25lLFxuICAgICAgICAgIGxhYmVsOiBgJHtvcGVyYXRpb24ub3BlcmF0aW9uTmFtZX0gKCR7b3BlcmF0aW9uLnNlcnZlclNpZGVMYXRlbmN5TWV0cmljRGV0YWlscy5hbGFybVN0YXRpc3RpY30pYCArIFwiIChhdmc6ICR7QVZHfSAgbWluOiAke01JTn0pXCIsXG4gICAgICAgICAgbWV0cmljRGV0YWlsczogb3BlcmF0aW9uLnNlcnZlclNpZGVMYXRlbmN5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICBtZXRyaWNUeXBlOiBMYXRlbmN5TWV0cmljVHlwZS5TVUNDRVNTX0xBVEVOQ1ksXG4gICAgICAgICAgY29sb3I6IE1ldHJpY3NIZWxwZXIuY29sb3JzW2luZGV4XSxcbiAgICAgICAgICBzdGF0aXN0aWM6IG9wZXJhdGlvbi5zZXJ2ZXJTaWRlTGF0ZW5jeU1ldHJpY0RldGFpbHMuYWxhcm1TdGF0aXN0aWNcbiAgICAgICAgfSxcbiAgICAgICAgb3BlcmF0aW9uLnNlcnZlclNpZGVMYXRlbmN5TWV0cmljRGV0YWlscy5tZXRyaWNEaW1lbnNpb25zLnpvbmFsRGltZW5zaW9ucyhcbiAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgQXdzLlJFR0lPTlxuICAgICAgICApKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgICAgd2lkdGg6IDgsXG4gICAgICAgICAgdGl0bGU6IGBMYXRlbmN5IC0gJHthdmFpbGFiaWxpdHlab25lSWR9YCxcbiAgICAgICAgICByZWdpb246IEF3cy5SRUdJT04sXG4gICAgICAgICAgbGVmdDogY3JpdGljYWxPcGVyYXRpb25zWm9uYWxNZXRyaWNzLFxuICAgICAgICAgIGxlZnRZQXhpczoge1xuICAgICAgICAgICAgbWluOiAwLFxuICAgICAgICAgICAgbGFiZWw6ICdNaWxsaXNlY29uZHMnLFxuICAgICAgICAgICAgc2hvd1VuaXRzOiBmYWxzZSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9KTtcblxuICAgIGxldCBwZXJBWldpZGdldFdpdGhQZXJPcGVyYXRpb25IaWdoTGF0ZW5jeUNvdW50OiBJV2lkZ2V0W10gPSBhdmFpbGFiaWxpdHlab25lcy5tYXAoKGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZykgPT4ge1xuICAgICAgbGV0IGF6TGV0dGVyOiBzdHJpbmcgPSBhdmFpbGFiaWxpdHlab25lLnN1YnN0cmluZyhhdmFpbGFiaWxpdHlab25lLmxlbmd0aCAtIDEpO1xuICAgICAgbGV0IGF2YWlsYWJpbGl0eVpvbmVJZDogc3RyaW5nID0gcHJvcHMuYXpNYXBwZXIuYXZhaWxhYmlsaXR5Wm9uZUlkRnJvbUF2YWlsYWJpbGl0eVpvbmVMZXR0ZXIoYXpMZXR0ZXIpO1xuXG4gICAgICBsZXQgY3JpdGljYWxPcGVyYXRpb25zWm9uYWxNZXRyaWNzOiBJTWV0cmljW10gPSBjcml0aWNhbE9wZXJhdGlvbnMubWFwKChvcGVyYXRpb246IElPcGVyYXRpb24sIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgcmV0dXJuIEF2YWlsYWJpbGl0eUFuZExhdGVuY3lNZXRyaWNzLmNyZWF0ZVpvbmFsTGF0ZW5jeUNvdW50TWV0cmljKHtcbiAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQ6IGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICBhdmFpbGFiaWxpdHlab25lOiBhdmFpbGFiaWxpdHlab25lLFxuICAgICAgICAgIGxhYmVsOiBvcGVyYXRpb24ub3BlcmF0aW9uTmFtZSArIFwiIChhdmc6ICR7QVZHfSAgbWluOiAke01JTn0pXCIsXG4gICAgICAgICAgbWV0cmljRGV0YWlsczogb3BlcmF0aW9uLnNlcnZlclNpZGVMYXRlbmN5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICBtZXRyaWNUeXBlOiBMYXRlbmN5TWV0cmljVHlwZS5TVUNDRVNTX0xBVEVOQ1ksXG4gICAgICAgICAgY29sb3I6IE1ldHJpY3NIZWxwZXIuY29sb3JzW2luZGV4XSxcbiAgICAgICAgICBzdGF0aXN0aWM6IGBUQygke29wZXJhdGlvbi5zZXJ2ZXJTaWRlTGF0ZW5jeU1ldHJpY0RldGFpbHMuc3VjY2Vzc0FsYXJtVGhyZXNob2xkfTopYFxuICAgICAgICB9LFxuICAgICAgICBvcGVyYXRpb24uc2VydmVyU2lkZUxhdGVuY3lNZXRyaWNEZXRhaWxzLm1ldHJpY0RpbWVuc2lvbnMuem9uYWxEaW1lbnNpb25zKFxuICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICBBd3MuUkVHSU9OXG4gICAgICAgICkpO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICAgIGhlaWdodDogNixcbiAgICAgICAgICB3aWR0aDogOCxcbiAgICAgICAgICB0aXRsZTogYEhpZ2ggTGF0ZW5jeSBDb3VudCAtICR7YXZhaWxhYmlsaXR5Wm9uZUlkfWAsXG4gICAgICAgICAgcmVnaW9uOiBBd3MuUkVHSU9OLFxuICAgICAgICAgIGxlZnQ6IGNyaXRpY2FsT3BlcmF0aW9uc1pvbmFsTWV0cmljcyxcbiAgICAgICAgICBzdGF0aXN0aWM6ICdTdW0nLFxuICAgICAgICAgIGxlZnRZQXhpczoge1xuICAgICAgICAgICAgbWluOiAwLFxuICAgICAgICAgICAgbGFiZWw6ICdDb3VudCcsXG4gICAgICAgICAgICBzaG93VW5pdHM6IGZhbHNlLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKVxuICAgIH0pO1xuXG4gICAgZGFzaGJvYXJkLmFkZFdpZGdldHMoXG5cbiAgICAgIC4uLnpvbmFsQXZhaWxhYmlsaXR5V2lkZ2V0cyxcblxuICAgICAgLy8gU2VydmVyLXNpZGUgcGVyIEFaIGZhdWx0IGNvdW50XG4gICAgICBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICBoZWlnaHQ6IDgsXG4gICAgICAgIHdpZHRoOiA2LFxuICAgICAgICB0aXRsZTogJ0ZhdWx0IENvdW50JyxcbiAgICAgICAgcmVnaW9uOiBBd3MuUkVHSU9OLFxuICAgICAgICBsZWZ0OiBhdmFpbGFiaWxpdHlab25lcy5tYXAoKGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZykgPT4ge1xuICAgICAgICAgIGxldCBhekxldHRlcjogc3RyaW5nID0gYXZhaWxhYmlsaXR5Wm9uZS5zdWJzdHJpbmcoYXZhaWxhYmlsaXR5Wm9uZS5sZW5ndGggLSAxKTtcbiAgICAgICAgICBsZXQgYXZhaWxhYmlsaXR5Wm9uZUlkOiBzdHJpbmcgPSBwcm9wcy5hek1hcHBlci5hdmFpbGFiaWxpdHlab25lSWRGcm9tQXZhaWxhYmlsaXR5Wm9uZUxldHRlcihhekxldHRlcik7ICAgICAgXG4gICAgXG4gICAgICAgICAgbGV0IHVzaW5nTWV0cmljczogeyBba2V5OiBzdHJpbmddOiBJTWV0cmljIH0gPSB7fTtcbiAgICBcbiAgICAgICAgICBjcml0aWNhbE9wZXJhdGlvbnMuZm9yRWFjaCgob3BlcmF0aW9uOiBJT3BlcmF0aW9uKSA9PiB7XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgdXNpbmdNZXRyaWNzW2Ake2F6TGV0dGVyfV8ke29wZXJhdGlvbi5vcGVyYXRpb25OYW1lfWBdID1cbiAgICAgICAgICAgICAgQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeU1ldHJpY3MuY3JlYXRlWm9uYWxBdmFpbGFiaWxpdHlNZXRyaWMoe1xuICAgICAgICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmVJZDogYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgICAgICAgIG1ldHJpY0RldGFpbHM6IG9wZXJhdGlvbi5zZXJ2ZXJTaWRlQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICAgICAgICBsYWJlbDogYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgICAgICAgIG1ldHJpY1R5cGU6IEF2YWlsYWJpbGl0eU1ldHJpY1R5cGUuRkFVTFRfQ09VTlQsXG4gICAgICAgICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogYXZhaWxhYmlsaXR5Wm9uZVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBvcGVyYXRpb24uc2VydmVyU2lkZUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMubWV0cmljRGltZW5zaW9ucy56b25hbERpbWVuc2lvbnMoXG4gICAgICAgICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgICAgICAgIEF3cy5SRUdJT05cbiAgICAgICAgICAgICAgKSk7XG4gICAgICAgICAgfSk7XG4gICAgXG4gICAgICAgICAgcmV0dXJuIG5ldyBNYXRoRXhwcmVzc2lvbih7XG4gICAgICAgICAgICBleHByZXNzaW9uOiBPYmplY3Qua2V5cyh1c2luZ01ldHJpY3MpLmpvaW4oJysnKSxcbiAgICAgICAgICAgIGxhYmVsOiBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgICB1c2luZ01ldHJpY3M6IHVzaW5nTWV0cmljcyxcbiAgICAgICAgICAgIHBlcmlvZDogcHJvcHMuc2VydmljZS5wZXJpb2RcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSksXG4gICAgICAgIHN0YXRpc3RpYzogJ1N1bScsXG4gICAgICAgIGxlZnRZQXhpczoge1xuICAgICAgICAgIG1pbjogMCxcbiAgICAgICAgICBsYWJlbDogJ0NvdW50JyxcbiAgICAgICAgICBzaG93VW5pdHM6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICBsZWZ0QW5ub3RhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YWx1ZTogcHJvcHMuc2VydmljZS5mYXVsdENvdW50VGhyZXNob2xkLFxuICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbG9yOiBDb2xvci5SRUQsXG4gICAgICAgICAgICBsYWJlbDogJ0hpZ2ggU2V2ZXJpdHknLFxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgIH0pLFxuICAgICAgXG4gICAgICAuLi56b25hbEZhdWx0Q291bnRXaWRnZXRzLFxuICAgICAgLi4ucGVyQVpXaWRnZXRXaXRoUGVyT3BlcmF0aW9uTGF0ZW5jeSxcbiAgICAgIC4uLnBlckFaV2lkZ2V0V2l0aFBlck9wZXJhdGlvbkhpZ2hMYXRlbmN5Q291bnRcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlQ2FuYXJ5V2lkZ2V0cyhcbiAgICBkYXNoYm9hcmQ6IERhc2hib2FyZCxcbiAgICBwcm9wczogU2VydmljZUF2YWlsYWJpbGl0eUFuZExhdGVuY3lEYXNoYm9hcmRQcm9wc1xuICApOiB2b2lkIHtcbiAgXG4gICAgbGV0IGF2YWlsYWJpbGl0eVpvbmVzOiBzdHJpbmdbXSA9IHByb3BzLnNlcnZpY2UuYXZhaWxhYmlsaXR5Wm9uZU5hbWVzO1xuICAgIGxldCBjcml0aWNhbE9wZXJhdGlvbnM6IElPcGVyYXRpb25bXSA9ICBwcm9wcy5zZXJ2aWNlLm9wZXJhdGlvbnMuZmlsdGVyKCh4KSA9PiB4LmNyaXRpY2FsID09IHRydWUpO1xuICAgICBcbiAgICBkYXNoYm9hcmQuYWRkV2lkZ2V0cyhcbiAgICAgIG5ldyBUZXh0V2lkZ2V0KHtcbiAgICAgICAgbWFya2Rvd246IFwiIyMgKipDYW5hcnkgTWV0cmljcyoqXCIsXG4gICAgICAgIGJhY2tncm91bmQ6IFRleHRXaWRnZXRCYWNrZ3JvdW5kLlRSQU5TUEFSRU5ULFxuICAgICAgICBoZWlnaHQ6IDEsXG4gICAgICAgIHdpZHRoOiAyNFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgbGV0IHpvbmFsQXZhaWxhYmlsaXR5V2lkZ2V0czogSVdpZGdldFtdID0gYXZhaWxhYmlsaXR5Wm9uZXMubWFwKChhdmFpbGFiaWxpdHlab25lOiBzdHJpbmcpID0+IHtcbiAgICAgIGxldCBhekxldHRlcjogc3RyaW5nID0gYXZhaWxhYmlsaXR5Wm9uZS5zdWJzdHJpbmcoYXZhaWxhYmlsaXR5Wm9uZS5sZW5ndGggLSAxKTtcbiAgICAgIGxldCBhdmFpbGFiaWxpdHlab25lSWQ6IHN0cmluZyA9IHByb3BzLmF6TWFwcGVyLmF2YWlsYWJpbGl0eVpvbmVJZEZyb21BdmFpbGFiaWxpdHlab25lTGV0dGVyKGF6TGV0dGVyKTtcblxuICAgICAgbGV0IGNyaXRpY2FsT3BlcmF0aW9uc1pvbmFsTWV0cmljczogSU1ldHJpY1tdID0gY3JpdGljYWxPcGVyYXRpb25zLm1hcCgob3BlcmF0aW9uOiBJT3BlcmF0aW9uLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIHJldHVybiBBdmFpbGFiaWxpdHlBbmRMYXRlbmN5TWV0cmljcy5jcmVhdGVab25hbEF2YWlsYWJpbGl0eU1ldHJpYyh7XG4gICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZUlkOiBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogYXZhaWxhYmlsaXR5Wm9uZSxcbiAgICAgICAgICBsYWJlbDogb3BlcmF0aW9uLm9wZXJhdGlvbk5hbWUgKyBcIiAoYXZnOiAke0FWR30gIG1pbjogJHtNSU59KVwiLFxuICAgICAgICAgIG1ldHJpY0RldGFpbHM6IG9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzIS5jYW5hcnlBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgIG1ldHJpY1R5cGU6IEF2YWlsYWJpbGl0eU1ldHJpY1R5cGUuU1VDQ0VTU19SQVRFLFxuICAgICAgICAgIGNvbG9yOiBNZXRyaWNzSGVscGVyLmNvbG9yc1tpbmRleF1cbiAgICAgICAgfSxcbiAgICAgICAgb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMubWV0cmljRGltZW5zaW9ucy56b25hbERpbWVuc2lvbnMoXG4gICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgIEF3cy5SRUdJT05cbiAgICAgICAgKSk7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgICAgaGVpZ2h0OiA4LFxuICAgICAgICAgIHdpZHRoOiA2LFxuICAgICAgICAgIHRpdGxlOiBgQXZhaWxhYmlsaXR5IC0gJHthdmFpbGFiaWxpdHlab25lSWR9IGAsXG4gICAgICAgICAgcmVnaW9uOiBBd3MuUkVHSU9OLFxuICAgICAgICAgIGxlZnQ6IGNyaXRpY2FsT3BlcmF0aW9uc1pvbmFsTWV0cmljcyxcbiAgICAgICAgICBzdGF0aXN0aWM6ICdTdW0nLFxuICAgICAgICAgIGxlZnRZQXhpczoge1xuICAgICAgICAgICAgbWF4OiAxMDAsXG4gICAgICAgICAgICBtaW46IDk1LFxuICAgICAgICAgICAgbGFiZWw6ICdQZXJjZW50JyxcbiAgICAgICAgICAgIHNob3dVbml0czogZmFsc2UsXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApXG4gICAgfSk7XG5cbiAgICBsZXQgem9uYWxGYXVsdENvdW50V2lkZ2V0czogSVdpZGdldFtdID0gYXZhaWxhYmlsaXR5Wm9uZXMubWFwKChhdmFpbGFiaWxpdHlab25lOiBzdHJpbmcpID0+IHtcbiAgICAgIGxldCBhekxldHRlcjogc3RyaW5nID0gYXZhaWxhYmlsaXR5Wm9uZS5zdWJzdHJpbmcoYXZhaWxhYmlsaXR5Wm9uZS5sZW5ndGggLSAxKTtcbiAgICAgIGxldCBhdmFpbGFiaWxpdHlab25lSWQ6IHN0cmluZyA9IHByb3BzLmF6TWFwcGVyLmF2YWlsYWJpbGl0eVpvbmVJZEZyb21BdmFpbGFiaWxpdHlab25lTGV0dGVyKGF6TGV0dGVyKTtcblxuICAgICAgbGV0IGNyaXRpY2FsT3BlcmF0aW9uc1pvbmFsTWV0cmljczogSU1ldHJpY1tdID0gY3JpdGljYWxPcGVyYXRpb25zLm1hcCgob3BlcmF0aW9uOiBJT3BlcmF0aW9uLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIHJldHVybiBBdmFpbGFiaWxpdHlBbmRMYXRlbmN5TWV0cmljcy5jcmVhdGVab25hbEF2YWlsYWJpbGl0eU1ldHJpYyh7XG4gICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZUlkOiBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogYXZhaWxhYmlsaXR5Wm9uZSxcbiAgICAgICAgICBsYWJlbDogb3BlcmF0aW9uLm9wZXJhdGlvbk5hbWUgKyBcIiAoYXZnOiAke0FWR30gIG1pbjogJHtNSU59KVwiLFxuICAgICAgICAgIG1ldHJpY0RldGFpbHM6IG9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzIS5jYW5hcnlBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgIG1ldHJpY1R5cGU6IEF2YWlsYWJpbGl0eU1ldHJpY1R5cGUuRkFVTFRfQ09VTlQsXG4gICAgICAgICAgY29sb3I6IE1ldHJpY3NIZWxwZXIuY29sb3JzW2luZGV4XVxuICAgICAgICB9LFxuICAgICAgICBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscyEuY2FuYXJ5QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscy5tZXRyaWNEaW1lbnNpb25zLnpvbmFsRGltZW5zaW9ucyhcbiAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgQXdzLlJFR0lPTlxuICAgICAgICApKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgICAgd2lkdGg6IDgsXG4gICAgICAgICAgdGl0bGU6IGBGYXVsdCBDb3VudCAtICR7YXZhaWxhYmlsaXR5Wm9uZUlkfWAsXG4gICAgICAgICAgcmVnaW9uOiBBd3MuUkVHSU9OLFxuICAgICAgICAgIGxlZnQ6IGNyaXRpY2FsT3BlcmF0aW9uc1pvbmFsTWV0cmljcyxcbiAgICAgICAgICBzdGF0aXN0aWM6ICdTdW0nLFxuICAgICAgICAgIGxlZnRZQXhpczoge1xuICAgICAgICAgICAgbWluOiAwLFxuICAgICAgICAgICAgbGFiZWw6ICdDb3VudCcsXG4gICAgICAgICAgICBzaG93VW5pdHM6IGZhbHNlLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKVxuICAgIH0pO1xuXG4gICAgbGV0IHBlckFaV2lkZ2V0V2l0aFBlck9wZXJhdGlvbkxhdGVuY3k6IElXaWRnZXRbXSA9IGF2YWlsYWJpbGl0eVpvbmVzLm1hcCgoYXZhaWxhYmlsaXR5Wm9uZTogc3RyaW5nLCApID0+IHtcbiAgICAgIGxldCBhekxldHRlcjogc3RyaW5nID0gYXZhaWxhYmlsaXR5Wm9uZS5zdWJzdHJpbmcoYXZhaWxhYmlsaXR5Wm9uZS5sZW5ndGggLSAxKTtcbiAgICAgIGxldCBhdmFpbGFiaWxpdHlab25lSWQ6IHN0cmluZyA9IHByb3BzLmF6TWFwcGVyLmF2YWlsYWJpbGl0eVpvbmVJZEZyb21BdmFpbGFiaWxpdHlab25lTGV0dGVyKGF6TGV0dGVyKTtcblxuICAgICAgbGV0IGNyaXRpY2FsT3BlcmF0aW9uc1pvbmFsTWV0cmljczogSU1ldHJpY1tdID0gY3JpdGljYWxPcGVyYXRpb25zLm1hcCgob3BlcmF0aW9uOiBJT3BlcmF0aW9uLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIHJldHVybiBBdmFpbGFiaWxpdHlBbmRMYXRlbmN5TWV0cmljcy5jcmVhdGVab25hbExhdGVuY3lDb3VudE1ldHJpYyh7XG4gICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZUlkOiBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogYXZhaWxhYmlsaXR5Wm9uZSxcbiAgICAgICAgICBsYWJlbDogYCR7b3BlcmF0aW9uLm9wZXJhdGlvbk5hbWV9ICgke29wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzIS5jYW5hcnlMYXRlbmN5TWV0cmljRGV0YWlscy5hbGFybVN0YXRpc3RpY30pYCArIFwiIChhdmc6ICR7QVZHfSAgbWluOiAke01JTn0pXCIsXG4gICAgICAgICAgbWV0cmljRGV0YWlsczogb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUxhdGVuY3lNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgIG1ldHJpY1R5cGU6IExhdGVuY3lNZXRyaWNUeXBlLlNVQ0NFU1NfTEFURU5DWSxcbiAgICAgICAgICBjb2xvcjogTWV0cmljc0hlbHBlci5jb2xvcnNbaW5kZXhdLFxuICAgICAgICAgIHN0YXRpc3RpYzogb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUxhdGVuY3lNZXRyaWNEZXRhaWxzLmFsYXJtU3RhdGlzdGljXG4gICAgICAgIH0sXG4gICAgICAgIG9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzIS5jYW5hcnlMYXRlbmN5TWV0cmljRGV0YWlscy5tZXRyaWNEaW1lbnNpb25zLnpvbmFsRGltZW5zaW9ucyhcbiAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgQXdzLlJFR0lPTlxuICAgICAgICApKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgICAgd2lkdGg6IDgsXG4gICAgICAgICAgdGl0bGU6IGBMYXRlbmN5IC0gJHthdmFpbGFiaWxpdHlab25lSWR9YCxcbiAgICAgICAgICByZWdpb246IEF3cy5SRUdJT04sXG4gICAgICAgICAgbGVmdDogY3JpdGljYWxPcGVyYXRpb25zWm9uYWxNZXRyaWNzLFxuICAgICAgICAgIGxlZnRZQXhpczoge1xuICAgICAgICAgICAgbWluOiAwLFxuICAgICAgICAgICAgbGFiZWw6ICdNaWxsaXNlY29uZHMnLFxuICAgICAgICAgICAgc2hvd1VuaXRzOiBmYWxzZSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9KTtcblxuICAgIGxldCBwZXJBWldpZGdldFdpdGhQZXJPcGVyYXRpb25IaWdoTGF0ZW5jeUNvdW50OiBJV2lkZ2V0W10gPSBhdmFpbGFiaWxpdHlab25lcy5tYXAoKGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZykgPT4ge1xuICAgICAgbGV0IGF6TGV0dGVyOiBzdHJpbmcgPSBhdmFpbGFiaWxpdHlab25lLnN1YnN0cmluZyhhdmFpbGFiaWxpdHlab25lLmxlbmd0aCAtIDEpO1xuICAgICAgbGV0IGF2YWlsYWJpbGl0eVpvbmVJZDogc3RyaW5nID0gcHJvcHMuYXpNYXBwZXIuYXZhaWxhYmlsaXR5Wm9uZUlkRnJvbUF2YWlsYWJpbGl0eVpvbmVMZXR0ZXIoYXpMZXR0ZXIpO1xuXG4gICAgICBsZXQgY3JpdGljYWxPcGVyYXRpb25zWm9uYWxNZXRyaWNzOiBJTWV0cmljW10gPSBjcml0aWNhbE9wZXJhdGlvbnMubWFwKChvcGVyYXRpb246IElPcGVyYXRpb24sIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgcmV0dXJuIEF2YWlsYWJpbGl0eUFuZExhdGVuY3lNZXRyaWNzLmNyZWF0ZVpvbmFsTGF0ZW5jeUNvdW50TWV0cmljKHtcbiAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQ6IGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICBhdmFpbGFiaWxpdHlab25lOiBhdmFpbGFiaWxpdHlab25lLFxuICAgICAgICAgIGxhYmVsOiBvcGVyYXRpb24ub3BlcmF0aW9uTmFtZSArIFwiIChhdmc6ICR7QVZHfSAgbWluOiAke01JTn0pXCIsXG4gICAgICAgICAgbWV0cmljRGV0YWlsczogb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUxhdGVuY3lNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgIG1ldHJpY1R5cGU6IExhdGVuY3lNZXRyaWNUeXBlLlNVQ0NFU1NfTEFURU5DWSxcbiAgICAgICAgICBjb2xvcjogTWV0cmljc0hlbHBlci5jb2xvcnNbaW5kZXhdLFxuICAgICAgICAgIHN0YXRpc3RpYzogYFRDKCR7b3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUxhdGVuY3lNZXRyaWNEZXRhaWxzLnN1Y2Nlc3NBbGFybVRocmVzaG9sZH06KWBcbiAgICAgICAgfSxcbiAgICAgICAgb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUxhdGVuY3lNZXRyaWNEZXRhaWxzLm1ldHJpY0RpbWVuc2lvbnMuem9uYWxEaW1lbnNpb25zKFxuICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICBBd3MuUkVHSU9OXG4gICAgICAgICkpO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICAgIGhlaWdodDogNixcbiAgICAgICAgICB3aWR0aDogOCxcbiAgICAgICAgICB0aXRsZTogYEhpZ2ggTGF0ZW5jeSBDb3VudCAtICR7YXZhaWxhYmlsaXR5Wm9uZUlkfWAsXG4gICAgICAgICAgcmVnaW9uOiBBd3MuUkVHSU9OLFxuICAgICAgICAgIGxlZnQ6IGNyaXRpY2FsT3BlcmF0aW9uc1pvbmFsTWV0cmljcyxcbiAgICAgICAgICBzdGF0aXN0aWM6ICdTdW0nLFxuICAgICAgICAgIGxlZnRZQXhpczoge1xuICAgICAgICAgICAgbWluOiAwLFxuICAgICAgICAgICAgbGFiZWw6ICdDb3VudCcsXG4gICAgICAgICAgICBzaG93VW5pdHM6IGZhbHNlLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKVxuICAgIH0pO1xuXG4gICAgZGFzaGJvYXJkLmFkZFdpZGdldHMoXG5cbiAgICAgIC4uLnpvbmFsQXZhaWxhYmlsaXR5V2lkZ2V0cyxcblxuICAgICAgLy8gU2VydmVyLXNpZGUgcGVyIEFaIGZhdWx0IGNvdW50XG4gICAgICBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICBoZWlnaHQ6IDgsXG4gICAgICAgIHdpZHRoOiA2LFxuICAgICAgICB0aXRsZTogJ0ZhdWx0IENvdW50JyxcbiAgICAgICAgcmVnaW9uOiBBd3MuUkVHSU9OLFxuICAgICAgICBsZWZ0OiBhdmFpbGFiaWxpdHlab25lcy5tYXAoKGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZykgPT4ge1xuICAgICAgICAgIGxldCBhekxldHRlcjogc3RyaW5nID0gYXZhaWxhYmlsaXR5Wm9uZS5zdWJzdHJpbmcoYXZhaWxhYmlsaXR5Wm9uZS5sZW5ndGggLSAxKTtcbiAgICAgICAgICBsZXQgYXZhaWxhYmlsaXR5Wm9uZUlkOiBzdHJpbmcgPSBwcm9wcy5hek1hcHBlci5hdmFpbGFiaWxpdHlab25lSWRGcm9tQXZhaWxhYmlsaXR5Wm9uZUxldHRlcihhekxldHRlcik7ICAgICAgXG4gICAgXG4gICAgICAgICAgbGV0IHVzaW5nTWV0cmljczogeyBba2V5OiBzdHJpbmddOiBJTWV0cmljIH0gPSB7fTtcbiAgICBcbiAgICAgICAgICBjcml0aWNhbE9wZXJhdGlvbnMuZm9yRWFjaCgob3BlcmF0aW9uOiBJT3BlcmF0aW9uKSA9PiB7XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgdXNpbmdNZXRyaWNzW2Ake2F6TGV0dGVyfV8ke29wZXJhdGlvbi5vcGVyYXRpb25OYW1lfWBdID1cbiAgICAgICAgICAgICAgQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeU1ldHJpY3MuY3JlYXRlWm9uYWxBdmFpbGFiaWxpdHlNZXRyaWMoe1xuICAgICAgICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmVJZDogYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgICAgICAgIG1ldHJpY0RldGFpbHM6IG9wZXJhdGlvbi5zZXJ2ZXJTaWRlQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICAgICAgICBsYWJlbDogYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgICAgICAgIG1ldHJpY1R5cGU6IEF2YWlsYWJpbGl0eU1ldHJpY1R5cGUuRkFVTFRfQ09VTlQsXG4gICAgICAgICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogYXZhaWxhYmlsaXR5Wm9uZVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBvcGVyYXRpb24uc2VydmVyU2lkZUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMubWV0cmljRGltZW5zaW9ucy56b25hbERpbWVuc2lvbnMoXG4gICAgICAgICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgICAgICAgIEF3cy5SRUdJT05cbiAgICAgICAgICAgICAgKSk7XG4gICAgICAgICAgfSk7XG4gICAgXG4gICAgICAgICAgcmV0dXJuIG5ldyBNYXRoRXhwcmVzc2lvbih7XG4gICAgICAgICAgICBleHByZXNzaW9uOiBPYmplY3Qua2V5cyh1c2luZ01ldHJpY3MpLmpvaW4oJysnKSxcbiAgICAgICAgICAgIGxhYmVsOiBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgICB1c2luZ01ldHJpY3M6IHVzaW5nTWV0cmljcyxcbiAgICAgICAgICAgIHBlcmlvZDogcHJvcHMuc2VydmljZS5wZXJpb2RcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSksXG4gICAgICAgIHN0YXRpc3RpYzogJ1N1bScsXG4gICAgICAgIGxlZnRZQXhpczoge1xuICAgICAgICAgIG1pbjogMCxcbiAgICAgICAgICBsYWJlbDogJ0NvdW50JyxcbiAgICAgICAgICBzaG93VW5pdHM6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgICBsZWZ0QW5ub3RhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YWx1ZTogcHJvcHMuc2VydmljZS5mYXVsdENvdW50VGhyZXNob2xkLFxuICAgICAgICAgICAgdmlzaWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGNvbG9yOiBDb2xvci5SRUQsXG4gICAgICAgICAgICBsYWJlbDogJ0hpZ2ggU2V2ZXJpdHknLFxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgIH0pLFxuICAgICAgXG4gICAgICAuLi56b25hbEZhdWx0Q291bnRXaWRnZXRzLFxuICAgICAgLi4ucGVyQVpXaWRnZXRXaXRoUGVyT3BlcmF0aW9uTGF0ZW5jeSxcbiAgICAgIC4uLnBlckFaV2lkZ2V0V2l0aFBlck9wZXJhdGlvbkhpZ2hMYXRlbmN5Q291bnRcbiAgICApO1xuICAgICBcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgc2VydmljZSBsZXZlbCBkYXNoYm9hcmRcbiAgICovXG4gIGRhc2hib2FyZDogRGFzaGJvYXJkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogU2VydmljZUF2YWlsYWJpbGl0eUFuZExhdGVuY3lEYXNoYm9hcmRQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMuZGFzaGJvYXJkID0gbmV3IERhc2hib2FyZCh0aGlzLCAnRGFzaGJvYXJkJywge1xuICAgICAgZGFzaGJvYXJkTmFtZTogYCR7cHJvcHMuc2VydmljZS5zZXJ2aWNlTmFtZS50b0xvd2VyQ2FzZSgpfS1hdmFpbGFiaWxpdHktYW5kLWxhdGVuY3ktJHtBd3MuUkVHSU9OfWAsXG4gICAgICBkZWZhdWx0SW50ZXJ2YWw6IHByb3BzLmludGVydmFsLFxuICAgICAgcGVyaW9kT3ZlcnJpZGU6IFBlcmlvZE92ZXJyaWRlLkFVVE9cbiAgICB9KTtcblxuICAgIHRoaXMuZGFzaGJvYXJkLmFkZFdpZGdldHMoXG4gICAgICBuZXcgQWxhcm1TdGF0dXNXaWRnZXQoe1xuICAgICAgICBoZWlnaHQ6IDIsXG4gICAgICAgIHdpZHRoOiA2LFxuICAgICAgICBhbGFybXM6IFtcbiAgICAgICAgICBwcm9wcy5zZXJ2aWNlQWxhcm1zQW5kUnVsZXMuc2VydmljZUltcGFjdEFsYXJtXG4gICAgICAgIF0sXG4gICAgICAgIHRpdGxlOiBcIlNlcnZpY2UgQWxhcm0gKGFueSBjcml0aWNhbCBvcGVyYXRpb24gc2VlcyBpbXBhY3Qgem9uYWxseSBvciByZWdpb25hbGx5LCBtZWFzdXJlZCBmcm9tIHNlcnZlci1zaWRlIG9yIGNhbmFyeSlcIlxuICAgICAgfSksXG4gICAgICBuZXcgQWxhcm1TdGF0dXNXaWRnZXQoe1xuICAgICAgICBoZWlnaHQ6IDIsXG4gICAgICAgIHdpZHRoOiA2LFxuICAgICAgICBhbGFybXM6IFtcbiAgICAgICAgICBwcm9wcy5zZXJ2aWNlQWxhcm1zQW5kUnVsZXMucmVnaW9uYWxJbXBhY3RBbGFybVxuICAgICAgICBdLFxuICAgICAgICB0aXRsZTogXCJSZWdpb25hbCBJbXBhY3QgKHRoZXJlIGlzIHJlZ2lvbmFsbHkgc2NvcGVkIGltcGFjdCB0byBhbnkgY3JpdGljYWwgb3BlcmF0aW9uLCBtZWFzdXJlZCBmcm9tIHNlcnZlci1zaWRlIG9yIGNhbmFyeSlcIlxuICAgICAgfSksXG4gICAgICBuZXcgQWxhcm1TdGF0dXNXaWRnZXQoe1xuICAgICAgICBoZWlnaHQ6IDIsXG4gICAgICAgIHdpZHRoOiA2LFxuICAgICAgICBhbGFybXM6IFtcbiAgICAgICAgICBwcm9wcy5zZXJ2aWNlQWxhcm1zQW5kUnVsZXMucmVnaW9uYWxTZXJ2ZXJTaWRlSW1wYWN0QWxhcm1cbiAgICAgICAgXSxcbiAgICAgICAgdGl0bGU6IFwiU2VydmVyLXNpZGUgUmVnaW9uYWwgSW1wYWN0ICh0aGVyZSBpcyByZWdpb25hbGx5IHNjb3BlZCBpbXBhY3QgdG8gYW55IGNyaXRpY2FsIG9wZXJhdGlvbiwgbWVhc3VyZWQgZnJvbSBzZXJ2ZXItc2lkZSlcIlxuICAgICAgfSksXG4gICAgICAuLi5wcm9wcy5zZXJ2aWNlQWxhcm1zQW5kUnVsZXMucmVnaW9uYWxDYW5hcnlBbGFybSA/IFtuZXcgQWxhcm1TdGF0dXNXaWRnZXQoe1xuICAgICAgICBoZWlnaHQ6IDIsXG4gICAgICAgIHdpZHRoOiA2LFxuICAgICAgICBhbGFybXM6IFtcbiAgICAgICAgICBwcm9wcy5zZXJ2aWNlQWxhcm1zQW5kUnVsZXMucmVnaW9uYWxDYW5hcnlBbGFybVxuICAgICAgICBdLFxuICAgICAgICB0aXRsZTogXCJDYW5hcnkgUmVnaW9uYWwgSW1wYWN0ICh0aGVyZSBpcyByZWdpb25hbGx5IHNjb3BlZCBpbXBhY3QgdG8gYW55IGNyaXRpY2FsIG9wZXJhdGlvbiwgbWVhc3VyZWQgZnJvbSB0aGUgY2FuYXJ5KVwiXG4gICAgICB9KV0gOiBbXVxuICAgICk7XG5cbiAgICB0aGlzLmRhc2hib2FyZC5hZGRXaWRnZXRzKFxuICAgICAgbmV3IEFsYXJtU3RhdHVzV2lkZ2V0KHtcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogMjQsXG4gICAgICAgIGFsYXJtczogW1xuICAgICAgICAgIC4uLk9iamVjdC52YWx1ZXMocHJvcHMuc2VydmljZUFsYXJtc0FuZFJ1bGVzLnpvbmFsQWdncmVnYXRlSXNvbGF0ZWRJbXBhY3RBbGFybXMpXG4gICAgICAgIF0sXG4gICAgICAgIHRpdGxlOiBcIlpvbmFsIEFnZ3JlZ2F0ZSBBbGFybXMgKGFsYXJtcyB0cmlnZ2VyIGlmIGFueSBjcml0aWNhbCBvcGVyYXRpb24gaW4gdGhlIEFaIHNlZXMgYXZhaWxhYmlsaXR5IG9yIGxhdGVuY3kgaW1wYWN0IGFzIG1lYXN1cmVkIGZyb20gc2VydmVyLXNpZGUgb3IgY2FuYXJ5KVwiXG4gICAgICB9XG4gICAgKSk7XG5cbiAgICB0aGlzLmRhc2hib2FyZC5hZGRXaWRnZXRzKFxuICAgICAgbmV3IEFsYXJtU3RhdHVzV2lkZ2V0KHtcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogMjQsXG4gICAgICAgIGFsYXJtczogW1xuICAgICAgICAgIC4uLk9iamVjdC52YWx1ZXMocHJvcHMuc2VydmljZUFsYXJtc0FuZFJ1bGVzLnpvbmFsU2VydmVyU2lkZUlzb2xhdGVkSW1wYWN0QWxhcm1zKVxuICAgICAgICBdLFxuICAgICAgICB0aXRsZTogXCJTZXJ2ZXItc2lkZSBab25hbCBBbGFybXMgKGFsYXJtcyB0cmlnZ2VyIGlmIGFueSBjcml0aWNhbCBvcGVyYXRpb24gaW4gdGhlIEFaIHNlZXMgYXZhaWxhYmlsaXR5IG9yIGxhdGVuY3kgaW1wYWN0IGFzIG1lYXN1cmVkIGZyb20gdGhlIHNlcnZlci1zaWRlLCB0aGVzZSBhcmUgdXNlZnVsIGZvciBkZXBsb3ltZW50IG1vbml0b3JpbmcsIGluIGNhc2UgdGhlIGNhbmFyeSBzZWVzIGVycm9ycyB3aGVuIGFuIEFaIGlzIGludGVudGlvbmFsbHkgdW5hdmFpbGFibGUpXCJcbiAgICAgIH1cbiAgICApKTtcblxuICAgIHRoaXMuZGFzaGJvYXJkLmFkZFdpZGdldHMoXG4gICAgICBuZXcgVGV4dFdpZGdldCh7XG4gICAgICAgIG1hcmtkb3duOiBcIiMjIyBQZXIgT3BlcmF0aW9uIERhc2hib2FyZHNcXG5cIiArIHByb3BzLm9wZXJhdGlvbnNEYXNoYm9hcmQubWFwKHggPT4gYC0gWyR7eC5kYXNoYm9hcmROYW1lfV0oaHR0cHM6Ly8ke0F3cy5SRUdJT059LmNvbnNvbGUuYXdzLmFtYXpvbi5jb20vY2xvdWR3YXRjaC9ob21lP3JlZ2lvbj0ke0F3cy5SRUdJT059I2Rhc2hib2FyZHMvZGFzaGJvYXJkLyR7eC5kYXNoYm9hcmROYW1lfSlgKS5qb2luKFwiXFxuXCIpLFxuICAgICAgICBiYWNrZ3JvdW5kOiBUZXh0V2lkZ2V0QmFja2dyb3VuZC5UUkFOU1BBUkVOVCxcbiAgICAgICAgaGVpZ2h0OiA0LFxuICAgICAgICB3aWR0aDogMjRcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIFNlcnZpY2VBdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkLmNyZWF0ZVNlcnZlclNpZGVXaWRnZXRzKHRoaXMuZGFzaGJvYXJkLCBwcm9wcyk7XG5cbiAgICBpZiAocHJvcHMuc2VydmljZS5jYW5hcnlUZXN0UHJvcHMpIHtcbiAgICAgIFNlcnZpY2VBdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkLmNyZWF0ZUNhbmFyeVdpZGdldHModGhpcy5kYXNoYm9hcmQsIHByb3BzKTtcbiAgICB9XG5cbiAgICBsZXQgbGI6IENmbkxvYWRCYWxhbmNlciA9IHByb3BzLnNlcnZpY2UubG9hZEJhbGFuY2VyPy5ub2RlXG4gICAgICAuZGVmYXVsdENoaWxkIGFzIENmbkxvYWRCYWxhbmNlcjtcblxuICAgIGlmIChsYiAmJiBsYi50eXBlID09ICdhcHBsaWNhdGlvbicpIHtcbiAgICAgIHRoaXMuZGFzaGJvYXJkLmFkZFdpZGdldHMoXG4gICAgICAgIG5ldyBUZXh0V2lkZ2V0KHtcbiAgICAgICAgICBtYXJrZG93bjogXCIjIyAqKkxvYWQgQmFsYW5jZXIgTWV0cmljcyoqXCIsXG4gICAgICAgICAgYmFja2dyb3VuZDogVGV4dFdpZGdldEJhY2tncm91bmQuVFJBTlNQQVJFTlQsXG4gICAgICAgICAgaGVpZ2h0OiAxLFxuICAgICAgICAgIHdpZHRoOiAyNFxuICAgICAgICB9KSxcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuZGFzaGJvYXJkLmFkZFdpZGdldHMoXG4gICAgICAgIC4uLkFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyTWV0cmljcy5nZW5lcmF0ZUxvYWRCYWxhbmNlcldpZGdldHMoXG4gICAgICAgICAgWyBwcm9wcy5zZXJ2aWNlLmxvYWRCYWxhbmNlciBhcyBJQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIgXSxcbiAgICAgICAgICBwcm9wcy5hek1hcHBlcixcbiAgICAgICAgICBwcm9wcy5zZXJ2aWNlLnBlcmlvZCxcbiAgICAgICAgICBwcm9wcy5zZXJ2aWNlLmRlZmF1bHRMYXRlbmN5TWV0cmljRGV0YWlscy5hbGFybVN0YXRpc3RpYyxcbiAgICAgICAgICBwcm9wcy5zZXJ2aWNlLmRlZmF1bHRMYXRlbmN5TWV0cmljRGV0YWlscy5zdWNjZXNzQWxhcm1UaHJlc2hvbGQsXG4gICAgICAgICAgcHJvcHMuc2VydmljZS5kZWZhdWx0TGF0ZW5jeU1ldHJpY0RldGFpbHMuZmF1bHRBbGFybVRocmVzaG9sZFxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
420
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmljZUF2YWlsYWJpbGl0eUFuZExhdGVuY3lEYXNoYm9hcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGFzaGJvYXJkcy9TZXJ2aWNlQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeURhc2hib2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFBcUU7QUFDckUsc0NBQXNDO0FBQ3RDLDZDQUFrQztBQUNsQywrREFXb0M7QUFLcEMsMkNBQXVDO0FBR3ZDLDhGQUEyRjtBQUUzRixnRkFBNkU7QUFDN0Usc0VBQW1FO0FBQ25FLDhEQUEyRDtBQUMzRCw0RkFBeUY7QUFFekY7O0dBRUc7QUFDSCxNQUFhLHNDQUNYLFNBQVEsc0JBQVM7SUFHVCxNQUFNLENBQUMsdUJBQXVCLENBQ3BDLFNBQW9CLEVBQ3BCLEtBQWtEO1FBR2xELElBQUksaUJBQWlCLEdBQWEsS0FBSyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQztRQUN0RSxJQUFJLGtCQUFrQixHQUFrQixLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUM7UUFFbkcsU0FBUyxDQUFDLFVBQVUsQ0FDbEIsSUFBSSwyQkFBVSxDQUFDO1lBQ2IsUUFBUSxFQUFFLDRCQUE0QjtZQUN0QyxVQUFVLEVBQUUscUNBQW9CLENBQUMsV0FBVztZQUM1QyxNQUFNLEVBQUUsQ0FBQztZQUNULEtBQUssRUFBRSxFQUFFO1NBQ1YsQ0FBQyxDQUNILENBQUM7UUFFRixJQUFJLHdCQUF3QixHQUFjLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLGdCQUF3QixFQUFFLEVBQUU7WUFDM0YsSUFBSSxRQUFRLEdBQVcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMvRSxJQUFJLGtCQUFrQixH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MkIsQ0FDM0QsQ0FBRSxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQXdDLENBQUUsRUFDMUQsS0FBSyxDQUFDLFFBQVEsRUFDZCxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFDcEIsS0FBSyxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxjQUFjLEVBQ3hELEtBQUssQ0FBQyxPQUFPLENBQUMsMkJBQTJCLENBQUMscUJBQXFCLEVBQy9ELEtBQUssQ0FBQyxPQUFPLENBQUMsMkJBQTJCLENBQUMsbUJBQW1CLENBQzlELENBQ0YsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFoakJELHdGQWdqQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5pbXBvcnQgeyBBd3MgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQge1xuICBBbGFybVN0YXR1c1dpZGdldCxcbiAgQ29sb3IsXG4gIERhc2hib2FyZCxcbiAgR3JhcGhXaWRnZXQsXG4gIElNZXRyaWMsXG4gIElXaWRnZXQsXG4gIE1hdGhFeHByZXNzaW9uLFxuICBQZXJpb2RPdmVycmlkZSxcbiAgVGV4dFdpZGdldCxcbiAgVGV4dFdpZGdldEJhY2tncm91bmQsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoJztcbmltcG9ydCB7XG4gIENmbkxvYWRCYWxhbmNlcixcbiAgSUFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWxhc3RpY2xvYWRiYWxhbmNpbmd2Mic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IElTZXJ2aWNlQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeURhc2hib2FyZCB9IGZyb20gJy4vSVNlcnZpY2VBdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkJztcbmltcG9ydCB7IFNlcnZpY2VBdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkUHJvcHMgfSBmcm9tICcuL3Byb3BzL1NlcnZpY2VBdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkUHJvcHMnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJNZXRyaWNzIH0gZnJvbSAnLi4vbWV0cmljcy9BcHBsaWNhdGlvbkxvYWRCYWxhbmNlck1ldHJpY3MnO1xuaW1wb3J0IHsgSU9wZXJhdGlvbiB9IGZyb20gJy4uL3NlcnZpY2VzL0lPcGVyYXRpb24nO1xuaW1wb3J0IHsgQXZhaWxhYmlsaXR5TWV0cmljVHlwZSB9IGZyb20gJy4uL3V0aWxpdGllcy9BdmFpbGFiaWxpdHlNZXRyaWNUeXBlJztcbmltcG9ydCB7IExhdGVuY3lNZXRyaWNUeXBlIH0gZnJvbSAnLi4vdXRpbGl0aWVzL0xhdGVuY3lNZXRyaWNUeXBlJztcbmltcG9ydCB7IE1ldHJpY3NIZWxwZXIgfSBmcm9tICcuLi91dGlsaXRpZXMvTWV0cmljc0hlbHBlcic7XG5pbXBvcnQgeyBBdmFpbGFiaWxpdHlBbmRMYXRlbmN5TWV0cmljcyB9IGZyb20gJy4uL21ldHJpY3MvQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeU1ldHJpY3MnO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBzZXJ2aWNlIGxldmVsIGF2YWlsYWJpbGl0eSBhbmQgbGF0ZW5jeSBkYXNoYm9hcmRcbiAqL1xuZXhwb3J0IGNsYXNzIFNlcnZpY2VBdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkXG4gIGV4dGVuZHMgQ29uc3RydWN0XG4gIGltcGxlbWVudHMgSVNlcnZpY2VBdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkIHtcbiBcbiAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlU2VydmVyU2lkZVdpZGdldHMoXG4gICAgZGFzaGJvYXJkOiBEYXNoYm9hcmQsXG4gICAgcHJvcHM6IFNlcnZpY2VBdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkUHJvcHNcbiAgKTogdm9pZCB7XG4gIFxuICAgIGxldCBhdmFpbGFiaWxpdHlab25lczogc3RyaW5nW10gPSBwcm9wcy5zZXJ2aWNlLmF2YWlsYWJpbGl0eVpvbmVOYW1lcztcbiAgICBsZXQgY3JpdGljYWxPcGVyYXRpb25zOiBJT3BlcmF0aW9uW10gPSAgcHJvcHMuc2VydmljZS5vcGVyYXRpb25zLmZpbHRlcigoeCkgPT4geC5jcml0aWNhbCA9PSB0cnVlKTtcbiAgICAgXG4gICAgZGFzaGJvYXJkLmFkZFdpZGdldHMoXG4gICAgICBuZXcgVGV4dFdpZGdldCh7XG4gICAgICAgIG1hcmtkb3duOiBcIiMjICoqU2VydmVyLXNpZGUgTWV0cmljcyoqXCIsXG4gICAgICAgIGJhY2tncm91bmQ6IFRleHRXaWRnZXRCYWNrZ3JvdW5kLlRSQU5TUEFSRU5ULFxuICAgICAgICBoZWlnaHQ6IDEsXG4gICAgICAgIHdpZHRoOiAyNFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgbGV0IHpvbmFsQXZhaWxhYmlsaXR5V2lkZ2V0czogSVdpZGdldFtdID0gYXZhaWxhYmlsaXR5Wm9uZXMubWFwKChhdmFpbGFiaWxpdHlab25lOiBzdHJpbmcpID0+IHtcbiAgICAgIGxldCBhekxldHRlcjogc3RyaW5nID0gYXZhaWxhYmlsaXR5Wm9uZS5zdWJzdHJpbmcoYXZhaWxhYmlsaXR5Wm9uZS5sZW5ndGggLSAxKTtcbiAgICAgIGxldCBhdmFpbGFiaWxpdHlab25lSWQ6IHN0cmluZyA9IHByb3BzLmF6TWFwcGVyLmF2YWlsYWJpbGl0eVpvbmVJZEZyb21BdmFpbGFiaWxpdHlab25lTGV0dGVyKGF6TGV0dGVyKTtcblxuICAgICAgbGV0IGNyaXRpY2FsT3BlcmF0aW9uc1pvbmFsTWV0cmljczogSU1ldHJpY1tdID0gY3JpdGljYWxPcGVyYXRpb25zLm1hcCgob3BlcmF0aW9uOiBJT3BlcmF0aW9uLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIHJldHVybiBBdmFpbGFiaWxpdHlBbmRMYXRlbmN5TWV0cmljcy5jcmVhdGVab25hbEF2YWlsYWJpbGl0eU1ldHJpYyh7XG4gICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZUlkOiBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogYXZhaWxhYmlsaXR5Wm9uZSxcbiAgICAgICAgICBsYWJlbDogb3BlcmF0aW9uLm9wZXJhdGlvbk5hbWUgKyBcIiAoYXZnOiAke0FWR30gIG1pbjogJHtNSU59KVwiLFxuICAgICAgICAgIG1ldHJpY0RldGFpbHM6IG9wZXJhdGlvbi5zZXJ2ZXJTaWRlQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICBtZXRyaWNUeXBlOiBBdmFpbGFiaWxpdHlNZXRyaWNUeXBlLlNVQ0NFU1NfUkFURSxcbiAgICAgICAgICBjb2xvcjogTWV0cmljc0hlbHBlci5jb2xvcnNbaW5kZXhdXG4gICAgICAgIH0sXG4gICAgICAgIG9wZXJhdGlvbi5zZXJ2ZXJTaWRlQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscy5tZXRyaWNEaW1lbnNpb25zLnpvbmFsRGltZW5zaW9ucyhcbiAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgQXdzLlJFR0lPTlxuICAgICAgICApKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgICBoZWlnaHQ6IDgsXG4gICAgICAgICAgd2lkdGg6IDYsXG4gICAgICAgICAgdGl0bGU6IGBBdmFpbGFiaWxpdHkgLSAke2F2YWlsYWJpbGl0eVpvbmVJZH1gLFxuICAgICAgICAgIHJlZ2lvbjogQXdzLlJFR0lPTixcbiAgICAgICAgICBsZWZ0OiBjcml0aWNhbE9wZXJhdGlvbnNab25hbE1ldHJpY3MsXG4gICAgICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICAgICAgICBsZWZ0WUF4aXM6IHtcbiAgICAgICAgICAgIG1heDogMTAwLFxuICAgICAgICAgICAgbWluOiA5NSxcbiAgICAgICAgICAgIGxhYmVsOiAnUGVyY2VudCcsXG4gICAgICAgICAgICBzaG93VW5pdHM6IGZhbHNlLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKVxuICAgIH0pO1xuXG4gICAgbGV0IHpvbmFsRmF1bHRDb3VudFdpZGdldHM6IElXaWRnZXRbXSA9IGF2YWlsYWJpbGl0eVpvbmVzLm1hcCgoYXZhaWxhYmlsaXR5Wm9uZTogc3RyaW5nKSA9PiB7XG4gICAgICBsZXQgYXpMZXR0ZXI6IHN0cmluZyA9IGF2YWlsYWJpbGl0eVpvbmUuc3Vic3RyaW5nKGF2YWlsYWJpbGl0eVpvbmUubGVuZ3RoIC0gMSk7XG4gICAgICBsZXQgYXZhaWxhYmlsaXR5Wm9uZUlkOiBzdHJpbmcgPSBwcm9wcy5hek1hcHBlci5hdmFpbGFiaWxpdHlab25lSWRGcm9tQXZhaWxhYmlsaXR5Wm9uZUxldHRlcihhekxldHRlcik7XG5cbiAgICAgIGxldCBjcml0aWNhbE9wZXJhdGlvbnNab25hbE1ldHJpY3M6IElNZXRyaWNbXSA9IGNyaXRpY2FsT3BlcmF0aW9ucy5tYXAoKG9wZXJhdGlvbjogSU9wZXJhdGlvbiwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICByZXR1cm4gQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeU1ldHJpY3MuY3JlYXRlWm9uYWxBdmFpbGFiaWxpdHlNZXRyaWMoe1xuICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmVJZDogYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmU6IGF2YWlsYWJpbGl0eVpvbmUsXG4gICAgICAgICAgbGFiZWw6IG9wZXJhdGlvbi5vcGVyYXRpb25OYW1lICsgXCIgKGF2ZzogJHtBVkd9ICBtYXg6ICR7TUFYfSlcIixcbiAgICAgICAgICBtZXRyaWNEZXRhaWxzOiBvcGVyYXRpb24uc2VydmVyU2lkZUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMsXG4gICAgICAgICAgbWV0cmljVHlwZTogQXZhaWxhYmlsaXR5TWV0cmljVHlwZS5GQVVMVF9DT1VOVCxcbiAgICAgICAgICBjb2xvcjogTWV0cmljc0hlbHBlci5jb2xvcnNbaW5kZXhdXG4gICAgICAgIH0sXG4gICAgICAgIG9wZXJhdGlvbi5zZXJ2ZXJTaWRlQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscy5tZXRyaWNEaW1lbnNpb25zLnpvbmFsRGltZW5zaW9ucyhcbiAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgQXdzLlJFR0lPTlxuICAgICAgICApKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgICAgd2lkdGg6IDgsXG4gICAgICAgICAgdGl0bGU6IGBGYXVsdCBDb3VudCAtICR7YXZhaWxhYmlsaXR5Wm9uZUlkfSBgLFxuICAgICAgICAgIHJlZ2lvbjogQXdzLlJFR0lPTixcbiAgICAgICAgICBsZWZ0OiBjcml0aWNhbE9wZXJhdGlvbnNab25hbE1ldHJpY3MsXG4gICAgICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICAgICAgICBsZWZ0WUF4aXM6IHtcbiAgICAgICAgICAgIG1pbjogMCxcbiAgICAgICAgICAgIGxhYmVsOiAnQ291bnQnLFxuICAgICAgICAgICAgc2hvd1VuaXRzOiBmYWxzZSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9KTtcblxuICAgIGxldCBwZXJBWldpZGdldFdpdGhQZXJPcGVyYXRpb25MYXRlbmN5OiBJV2lkZ2V0W10gPSBhdmFpbGFiaWxpdHlab25lcy5tYXAoKGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZykgPT4ge1xuICAgICAgbGV0IGF6TGV0dGVyOiBzdHJpbmcgPSBhdmFpbGFiaWxpdHlab25lLnN1YnN0cmluZyhhdmFpbGFiaWxpdHlab25lLmxlbmd0aCAtIDEpO1xuICAgICAgbGV0IGF2YWlsYWJpbGl0eVpvbmVJZDogc3RyaW5nID0gcHJvcHMuYXpNYXBwZXIuYXZhaWxhYmlsaXR5Wm9uZUlkRnJvbUF2YWlsYWJpbGl0eVpvbmVMZXR0ZXIoYXpMZXR0ZXIpO1xuXG4gICAgICBsZXQgY3JpdGljYWxPcGVyYXRpb25zWm9uYWxNZXRyaWNzOiBJTWV0cmljW10gPSBjcml0aWNhbE9wZXJhdGlvbnMubWFwKChvcGVyYXRpb246IElPcGVyYXRpb24sIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgcmV0dXJuIEF2YWlsYWJpbGl0eUFuZExhdGVuY3lNZXRyaWNzLmNyZWF0ZVpvbmFsTGF0ZW5jeUNvdW50TWV0cmljKHtcbiAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQ6IGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICBhdmFpbGFiaWxpdHlab25lOiBhdmFpbGFiaWxpdHlab25lLFxuICAgICAgICAgIGxhYmVsOiBgJHtvcGVyYXRpb24ub3BlcmF0aW9uTmFtZX0gKCR7b3BlcmF0aW9uLnNlcnZlclNpZGVMYXRlbmN5TWV0cmljRGV0YWlscy5hbGFybVN0YXRpc3RpY30pYCArIFwiIChhdmc6ICR7QVZHfSAgbWF4OiAke01BWH0pXCIsXG4gICAgICAgICAgbWV0cmljRGV0YWlsczogb3BlcmF0aW9uLnNlcnZlclNpZGVMYXRlbmN5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICBtZXRyaWNUeXBlOiBMYXRlbmN5TWV0cmljVHlwZS5TVUNDRVNTX0xBVEVOQ1ksXG4gICAgICAgICAgY29sb3I6IE1ldHJpY3NIZWxwZXIuY29sb3JzW2luZGV4XSxcbiAgICAgICAgICBzdGF0aXN0aWM6IG9wZXJhdGlvbi5zZXJ2ZXJTaWRlTGF0ZW5jeU1ldHJpY0RldGFpbHMuYWxhcm1TdGF0aXN0aWNcbiAgICAgICAgfSxcbiAgICAgICAgb3BlcmF0aW9uLnNlcnZlclNpZGVMYXRlbmN5TWV0cmljRGV0YWlscy5tZXRyaWNEaW1lbnNpb25zLnpvbmFsRGltZW5zaW9ucyhcbiAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgQXdzLlJFR0lPTlxuICAgICAgICApKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgICAgd2lkdGg6IDgsXG4gICAgICAgICAgdGl0bGU6IGBMYXRlbmN5IC0gJHthdmFpbGFiaWxpdHlab25lSWR9YCxcbiAgICAgICAgICByZWdpb246IEF3cy5SRUdJT04sXG4gICAgICAgICAgbGVmdDogY3JpdGljYWxPcGVyYXRpb25zWm9uYWxNZXRyaWNzLFxuICAgICAgICAgIGxlZnRZQXhpczoge1xuICAgICAgICAgICAgbWluOiAwLFxuICAgICAgICAgICAgbGFiZWw6ICdNaWxsaXNlY29uZHMnLFxuICAgICAgICAgICAgc2hvd1VuaXRzOiBmYWxzZSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9KTtcblxuICAgIGxldCBwZXJBWldpZGdldFdpdGhQZXJPcGVyYXRpb25IaWdoTGF0ZW5jeUNvdW50OiBJV2lkZ2V0W10gPSBhdmFpbGFiaWxpdHlab25lcy5tYXAoKGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZykgPT4ge1xuICAgICAgbGV0IGF6TGV0dGVyOiBzdHJpbmcgPSBhdmFpbGFiaWxpdHlab25lLnN1YnN0cmluZyhhdmFpbGFiaWxpdHlab25lLmxlbmd0aCAtIDEpO1xuICAgICAgbGV0IGF2YWlsYWJpbGl0eVpvbmVJZDogc3RyaW5nID0gcHJvcHMuYXpNYXBwZXIuYXZhaWxhYmlsaXR5Wm9uZUlkRnJvbUF2YWlsYWJpbGl0eVpvbmVMZXR0ZXIoYXpMZXR0ZXIpO1xuXG4gICAgICBsZXQgY3JpdGljYWxPcGVyYXRpb25zWm9uYWxNZXRyaWNzOiBJTWV0cmljW10gPSBjcml0aWNhbE9wZXJhdGlvbnMubWFwKChvcGVyYXRpb246IElPcGVyYXRpb24sIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgcmV0dXJuIEF2YWlsYWJpbGl0eUFuZExhdGVuY3lNZXRyaWNzLmNyZWF0ZVpvbmFsTGF0ZW5jeUNvdW50TWV0cmljKHtcbiAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQ6IGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICBhdmFpbGFiaWxpdHlab25lOiBhdmFpbGFiaWxpdHlab25lLFxuICAgICAgICAgIGxhYmVsOiBvcGVyYXRpb24ub3BlcmF0aW9uTmFtZSArIFwiIChhdmc6ICR7QVZHfSAgbWF4OiAke01BWH0pXCIsXG4gICAgICAgICAgbWV0cmljRGV0YWlsczogb3BlcmF0aW9uLnNlcnZlclNpZGVMYXRlbmN5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICBtZXRyaWNUeXBlOiBMYXRlbmN5TWV0cmljVHlwZS5TVUNDRVNTX0xBVEVOQ1ksXG4gICAgICAgICAgY29sb3I6IE1ldHJpY3NIZWxwZXIuY29sb3JzW2luZGV4XSxcbiAgICAgICAgICBzdGF0aXN0aWM6IGBUQygke29wZXJhdGlvbi5zZXJ2ZXJTaWRlTGF0ZW5jeU1ldHJpY0RldGFpbHMuc3VjY2Vzc0FsYXJtVGhyZXNob2xkfTopYFxuICAgICAgICB9LFxuICAgICAgICBvcGVyYXRpb24uc2VydmVyU2lkZUxhdGVuY3lNZXRyaWNEZXRhaWxzLm1ldHJpY0RpbWVuc2lvbnMuem9uYWxEaW1lbnNpb25zKFxuICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICBBd3MuUkVHSU9OXG4gICAgICAgICkpO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICAgIGhlaWdodDogNixcbiAgICAgICAgICB3aWR0aDogOCxcbiAgICAgICAgICB0aXRsZTogYEhpZ2ggTGF0ZW5jeSBDb3VudCAtICR7YXZhaWxhYmlsaXR5Wm9uZUlkfWAsXG4gICAgICAgICAgcmVnaW9uOiBBd3MuUkVHSU9OLFxuICAgICAgICAgIGxlZnQ6IGNyaXRpY2FsT3BlcmF0aW9uc1pvbmFsTWV0cmljcyxcbiAgICAgICAgICBzdGF0aXN0aWM6ICdTdW0nLFxuICAgICAgICAgIGxlZnRZQXhpczoge1xuICAgICAgICAgICAgbWluOiAwLFxuICAgICAgICAgICAgbGFiZWw6ICdDb3VudCcsXG4gICAgICAgICAgICBzaG93VW5pdHM6IGZhbHNlLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKVxuICAgIH0pO1xuXG4gICAgZGFzaGJvYXJkLmFkZFdpZGdldHMoXG5cbiAgICAgIC4uLnpvbmFsQXZhaWxhYmlsaXR5V2lkZ2V0cyxcblxuICAgICAgLy8gU2VydmVyLXNpZGUgcGVyIEFaIGZhdWx0IGNvdW50XG4gICAgICBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICBoZWlnaHQ6IDgsXG4gICAgICAgIHdpZHRoOiA2LFxuICAgICAgICB0aXRsZTogJ0ZhdWx0IENvdW50JyxcbiAgICAgICAgcmVnaW9uOiBBd3MuUkVHSU9OLFxuICAgICAgICBsZWZ0OiBhdmFpbGFiaWxpdHlab25lcy5tYXAoKGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZykgPT4ge1xuICAgICAgICAgIGxldCBhekxldHRlcjogc3RyaW5nID0gYXZhaWxhYmlsaXR5Wm9uZS5zdWJzdHJpbmcoYXZhaWxhYmlsaXR5Wm9uZS5sZW5ndGggLSAxKTtcbiAgICAgICAgICBsZXQgYXZhaWxhYmlsaXR5Wm9uZUlkOiBzdHJpbmcgPSBwcm9wcy5hek1hcHBlci5hdmFpbGFiaWxpdHlab25lSWRGcm9tQXZhaWxhYmlsaXR5Wm9uZUxldHRlcihhekxldHRlcik7ICAgICAgXG4gICAgXG4gICAgICAgICAgbGV0IHVzaW5nTWV0cmljczogeyBba2V5OiBzdHJpbmddOiBJTWV0cmljIH0gPSB7fTtcbiAgICBcbiAgICAgICAgICBjcml0aWNhbE9wZXJhdGlvbnMuZm9yRWFjaCgob3BlcmF0aW9uOiBJT3BlcmF0aW9uKSA9PiB7XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgdXNpbmdNZXRyaWNzW2Ake2F6TGV0dGVyfV8ke29wZXJhdGlvbi5vcGVyYXRpb25OYW1lfWBdID1cbiAgICAgICAgICAgICAgQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeU1ldHJpY3MuY3JlYXRlWm9uYWxBdmFpbGFiaWxpdHlNZXRyaWMoe1xuICAgICAgICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmVJZDogYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgICAgICAgIG1ldHJpY0RldGFpbHM6IG9wZXJhdGlvbi5zZXJ2ZXJTaWRlQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICAgICAgICBsYWJlbDogYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgICAgICAgIG1ldHJpY1R5cGU6IEF2YWlsYWJpbGl0eU1ldHJpY1R5cGUuRkFVTFRfQ09VTlQsXG4gICAgICAgICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogYXZhaWxhYmlsaXR5Wm9uZVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBvcGVyYXRpb24uc2VydmVyU2lkZUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMubWV0cmljRGltZW5zaW9ucy56b25hbERpbWVuc2lvbnMoXG4gICAgICAgICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgICAgICAgIEF3cy5SRUdJT05cbiAgICAgICAgICAgICAgKSk7XG4gICAgICAgICAgfSk7XG4gICAgXG4gICAgICAgICAgcmV0dXJuIG5ldyBNYXRoRXhwcmVzc2lvbih7XG4gICAgICAgICAgICBleHByZXNzaW9uOiBPYmplY3Qua2V5cyh1c2luZ01ldHJpY3MpLmpvaW4oJysnKSxcbiAgICAgICAgICAgIGxhYmVsOiBhdmFpbGFiaWxpdHlab25lSWQgKyBcIiAoYXZnOiAke0FWR30gIG1heDogJHtNQVh9KVwiLFxuICAgICAgICAgICAgdXNpbmdNZXRyaWNzOiB1c2luZ01ldHJpY3MsXG4gICAgICAgICAgICBwZXJpb2Q6IHByb3BzLnNlcnZpY2UucGVyaW9kXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pLFxuICAgICAgICBzdGF0aXN0aWM6ICdTdW0nLFxuICAgICAgICBsZWZ0WUF4aXM6IHtcbiAgICAgICAgICBtaW46IDAsXG4gICAgICAgICAgbGFiZWw6ICdDb3VudCcsXG4gICAgICAgICAgc2hvd1VuaXRzOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAgbGVmdEFubm90YXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFsdWU6IHByb3BzLnNlcnZpY2UuZmF1bHRDb3VudFRocmVzaG9sZCxcbiAgICAgICAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICAgICAgICBjb2xvcjogQ29sb3IuUkVELFxuICAgICAgICAgICAgbGFiZWw6ICdIaWdoIFNldmVyaXR5JyxcbiAgICAgICAgICB9LFxuICAgICAgICBdXG4gICAgICB9KSxcbiAgICAgIFxuICAgICAgLi4uem9uYWxGYXVsdENvdW50V2lkZ2V0cyxcbiAgICAgIC4uLnBlckFaV2lkZ2V0V2l0aFBlck9wZXJhdGlvbkxhdGVuY3ksXG4gICAgICAuLi5wZXJBWldpZGdldFdpdGhQZXJPcGVyYXRpb25IaWdoTGF0ZW5jeUNvdW50XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGNyZWF0ZUNhbmFyeVdpZGdldHMoXG4gICAgZGFzaGJvYXJkOiBEYXNoYm9hcmQsXG4gICAgcHJvcHM6IFNlcnZpY2VBdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkUHJvcHNcbiAgKTogdm9pZCB7XG4gIFxuICAgIGxldCBhdmFpbGFiaWxpdHlab25lczogc3RyaW5nW10gPSBwcm9wcy5zZXJ2aWNlLmF2YWlsYWJpbGl0eVpvbmVOYW1lcztcbiAgICBsZXQgY3JpdGljYWxPcGVyYXRpb25zOiBJT3BlcmF0aW9uW10gPSAgcHJvcHMuc2VydmljZS5vcGVyYXRpb25zLmZpbHRlcigoeCkgPT4geC5jcml0aWNhbCA9PSB0cnVlKTtcbiAgICAgXG4gICAgZGFzaGJvYXJkLmFkZFdpZGdldHMoXG4gICAgICBuZXcgVGV4dFdpZGdldCh7XG4gICAgICAgIG1hcmtkb3duOiBcIiMjICoqQ2FuYXJ5IE1ldHJpY3MqKlwiLFxuICAgICAgICBiYWNrZ3JvdW5kOiBUZXh0V2lkZ2V0QmFja2dyb3VuZC5UUkFOU1BBUkVOVCxcbiAgICAgICAgaGVpZ2h0OiAxLFxuICAgICAgICB3aWR0aDogMjRcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGxldCB6b25hbEF2YWlsYWJpbGl0eVdpZGdldHM6IElXaWRnZXRbXSA9IGF2YWlsYWJpbGl0eVpvbmVzLm1hcCgoYXZhaWxhYmlsaXR5Wm9uZTogc3RyaW5nKSA9PiB7XG4gICAgICBsZXQgYXpMZXR0ZXI6IHN0cmluZyA9IGF2YWlsYWJpbGl0eVpvbmUuc3Vic3RyaW5nKGF2YWlsYWJpbGl0eVpvbmUubGVuZ3RoIC0gMSk7XG4gICAgICBsZXQgYXZhaWxhYmlsaXR5Wm9uZUlkOiBzdHJpbmcgPSBwcm9wcy5hek1hcHBlci5hdmFpbGFiaWxpdHlab25lSWRGcm9tQXZhaWxhYmlsaXR5Wm9uZUxldHRlcihhekxldHRlcik7XG5cbiAgICAgIGxldCBjcml0aWNhbE9wZXJhdGlvbnNab25hbE1ldHJpY3M6IElNZXRyaWNbXSA9IGNyaXRpY2FsT3BlcmF0aW9ucy5tYXAoKG9wZXJhdGlvbjogSU9wZXJhdGlvbiwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICByZXR1cm4gQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeU1ldHJpY3MuY3JlYXRlWm9uYWxBdmFpbGFiaWxpdHlNZXRyaWMoe1xuICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmVJZDogYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmU6IGF2YWlsYWJpbGl0eVpvbmUsXG4gICAgICAgICAgbGFiZWw6IG9wZXJhdGlvbi5vcGVyYXRpb25OYW1lICsgXCIgKGF2ZzogJHtBVkd9ICBtaW46ICR7TUlOfSlcIixcbiAgICAgICAgICBtZXRyaWNEZXRhaWxzOiBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscyEuY2FuYXJ5QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICBtZXRyaWNUeXBlOiBBdmFpbGFiaWxpdHlNZXRyaWNUeXBlLlNVQ0NFU1NfUkFURSxcbiAgICAgICAgICBjb2xvcjogTWV0cmljc0hlbHBlci5jb2xvcnNbaW5kZXhdXG4gICAgICAgIH0sXG4gICAgICAgIG9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzIS5jYW5hcnlBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzLm1ldHJpY0RpbWVuc2lvbnMuem9uYWxEaW1lbnNpb25zKFxuICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICBBd3MuUkVHSU9OXG4gICAgICAgICkpO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBuZXcgR3JhcGhXaWRnZXQoe1xuICAgICAgICAgIGhlaWdodDogOCxcbiAgICAgICAgICB3aWR0aDogNixcbiAgICAgICAgICB0aXRsZTogYEF2YWlsYWJpbGl0eSAtICR7YXZhaWxhYmlsaXR5Wm9uZUlkfSBgLFxuICAgICAgICAgIHJlZ2lvbjogQXdzLlJFR0lPTixcbiAgICAgICAgICBsZWZ0OiBjcml0aWNhbE9wZXJhdGlvbnNab25hbE1ldHJpY3MsXG4gICAgICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICAgICAgICBsZWZ0WUF4aXM6IHtcbiAgICAgICAgICAgIG1heDogMTAwLFxuICAgICAgICAgICAgbWluOiA5NSxcbiAgICAgICAgICAgIGxhYmVsOiAnUGVyY2VudCcsXG4gICAgICAgICAgICBzaG93VW5pdHM6IGZhbHNlLFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKVxuICAgIH0pO1xuXG4gICAgbGV0IHpvbmFsRmF1bHRDb3VudFdpZGdldHM6IElXaWRnZXRbXSA9IGF2YWlsYWJpbGl0eVpvbmVzLm1hcCgoYXZhaWxhYmlsaXR5Wm9uZTogc3RyaW5nKSA9PiB7XG4gICAgICBsZXQgYXpMZXR0ZXI6IHN0cmluZyA9IGF2YWlsYWJpbGl0eVpvbmUuc3Vic3RyaW5nKGF2YWlsYWJpbGl0eVpvbmUubGVuZ3RoIC0gMSk7XG4gICAgICBsZXQgYXZhaWxhYmlsaXR5Wm9uZUlkOiBzdHJpbmcgPSBwcm9wcy5hek1hcHBlci5hdmFpbGFiaWxpdHlab25lSWRGcm9tQXZhaWxhYmlsaXR5Wm9uZUxldHRlcihhekxldHRlcik7XG5cbiAgICAgIGxldCBjcml0aWNhbE9wZXJhdGlvbnNab25hbE1ldHJpY3M6IElNZXRyaWNbXSA9IGNyaXRpY2FsT3BlcmF0aW9ucy5tYXAoKG9wZXJhdGlvbjogSU9wZXJhdGlvbiwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICByZXR1cm4gQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeU1ldHJpY3MuY3JlYXRlWm9uYWxBdmFpbGFiaWxpdHlNZXRyaWMoe1xuICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmVJZDogYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmU6IGF2YWlsYWJpbGl0eVpvbmUsXG4gICAgICAgICAgbGFiZWw6IG9wZXJhdGlvbi5vcGVyYXRpb25OYW1lICsgXCIgKGF2ZzogJHtBVkd9ICBtYXg6ICR7TUFYfSlcIixcbiAgICAgICAgICBtZXRyaWNEZXRhaWxzOiBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscyEuY2FuYXJ5QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICBtZXRyaWNUeXBlOiBBdmFpbGFiaWxpdHlNZXRyaWNUeXBlLkZBVUxUX0NPVU5ULFxuICAgICAgICAgIGNvbG9yOiBNZXRyaWNzSGVscGVyLmNvbG9yc1tpbmRleF1cbiAgICAgICAgfSxcbiAgICAgICAgb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMhLmNhbmFyeUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMubWV0cmljRGltZW5zaW9ucy56b25hbERpbWVuc2lvbnMoXG4gICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgIEF3cy5SRUdJT05cbiAgICAgICAgKSk7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgICAgaGVpZ2h0OiA2LFxuICAgICAgICAgIHdpZHRoOiA4LFxuICAgICAgICAgIHRpdGxlOiBgRmF1bHQgQ291bnQgLSAke2F2YWlsYWJpbGl0eVpvbmVJZH1gLFxuICAgICAgICAgIHJlZ2lvbjogQXdzLlJFR0lPTixcbiAgICAgICAgICBsZWZ0OiBjcml0aWNhbE9wZXJhdGlvbnNab25hbE1ldHJpY3MsXG4gICAgICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICAgICAgICBsZWZ0WUF4aXM6IHtcbiAgICAgICAgICAgIG1pbjogMCxcbiAgICAgICAgICAgIGxhYmVsOiAnQ291bnQnLFxuICAgICAgICAgICAgc2hvd1VuaXRzOiBmYWxzZSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9KTtcblxuICAgIGxldCBwZXJBWldpZGdldFdpdGhQZXJPcGVyYXRpb25MYXRlbmN5OiBJV2lkZ2V0W10gPSBhdmFpbGFiaWxpdHlab25lcy5tYXAoKGF2YWlsYWJpbGl0eVpvbmU6IHN0cmluZywgKSA9PiB7XG4gICAgICBsZXQgYXpMZXR0ZXI6IHN0cmluZyA9IGF2YWlsYWJpbGl0eVpvbmUuc3Vic3RyaW5nKGF2YWlsYWJpbGl0eVpvbmUubGVuZ3RoIC0gMSk7XG4gICAgICBsZXQgYXZhaWxhYmlsaXR5Wm9uZUlkOiBzdHJpbmcgPSBwcm9wcy5hek1hcHBlci5hdmFpbGFiaWxpdHlab25lSWRGcm9tQXZhaWxhYmlsaXR5Wm9uZUxldHRlcihhekxldHRlcik7XG5cbiAgICAgIGxldCBjcml0aWNhbE9wZXJhdGlvbnNab25hbE1ldHJpY3M6IElNZXRyaWNbXSA9IGNyaXRpY2FsT3BlcmF0aW9ucy5tYXAoKG9wZXJhdGlvbjogSU9wZXJhdGlvbiwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICByZXR1cm4gQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeU1ldHJpY3MuY3JlYXRlWm9uYWxMYXRlbmN5Q291bnRNZXRyaWMoe1xuICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmVJZDogYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmU6IGF2YWlsYWJpbGl0eVpvbmUsXG4gICAgICAgICAgbGFiZWw6IGAke29wZXJhdGlvbi5vcGVyYXRpb25OYW1lfSAoJHtvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscyEuY2FuYXJ5TGF0ZW5jeU1ldHJpY0RldGFpbHMuYWxhcm1TdGF0aXN0aWN9KWAgKyBcIiAoYXZnOiAke0FWR30gIG1heDogJHtNQVh9KVwiLFxuICAgICAgICAgIG1ldHJpY0RldGFpbHM6IG9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzIS5jYW5hcnlMYXRlbmN5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICBtZXRyaWNUeXBlOiBMYXRlbmN5TWV0cmljVHlwZS5TVUNDRVNTX0xBVEVOQ1ksXG4gICAgICAgICAgY29sb3I6IE1ldHJpY3NIZWxwZXIuY29sb3JzW2luZGV4XSxcbiAgICAgICAgICBzdGF0aXN0aWM6IG9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzIS5jYW5hcnlMYXRlbmN5TWV0cmljRGV0YWlscy5hbGFybVN0YXRpc3RpY1xuICAgICAgICB9LFxuICAgICAgICBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscyEuY2FuYXJ5TGF0ZW5jeU1ldHJpY0RldGFpbHMubWV0cmljRGltZW5zaW9ucy56b25hbERpbWVuc2lvbnMoXG4gICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgIEF3cy5SRUdJT05cbiAgICAgICAgKSk7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIG5ldyBHcmFwaFdpZGdldCh7XG4gICAgICAgICAgaGVpZ2h0OiA2LFxuICAgICAgICAgIHdpZHRoOiA4LFxuICAgICAgICAgIHRpdGxlOiBgTGF0ZW5jeSAtICR7YXZhaWxhYmlsaXR5Wm9uZUlkfWAsXG4gICAgICAgICAgcmVnaW9uOiBBd3MuUkVHSU9OLFxuICAgICAgICAgIGxlZnQ6IGNyaXRpY2FsT3BlcmF0aW9uc1pvbmFsTWV0cmljcyxcbiAgICAgICAgICBsZWZ0WUF4aXM6IHtcbiAgICAgICAgICAgIG1pbjogMCxcbiAgICAgICAgICAgIGxhYmVsOiAnTWlsbGlzZWNvbmRzJyxcbiAgICAgICAgICAgIHNob3dVbml0czogZmFsc2UsXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApXG4gICAgfSk7XG5cbiAgICBsZXQgcGVyQVpXaWRnZXRXaXRoUGVyT3BlcmF0aW9uSGlnaExhdGVuY3lDb3VudDogSVdpZGdldFtdID0gYXZhaWxhYmlsaXR5Wm9uZXMubWFwKChhdmFpbGFiaWxpdHlab25lOiBzdHJpbmcpID0+IHtcbiAgICAgIGxldCBhekxldHRlcjogc3RyaW5nID0gYXZhaWxhYmlsaXR5Wm9uZS5zdWJzdHJpbmcoYXZhaWxhYmlsaXR5Wm9uZS5sZW5ndGggLSAxKTtcbiAgICAgIGxldCBhdmFpbGFiaWxpdHlab25lSWQ6IHN0cmluZyA9IHByb3BzLmF6TWFwcGVyLmF2YWlsYWJpbGl0eVpvbmVJZEZyb21BdmFpbGFiaWxpdHlab25lTGV0dGVyKGF6TGV0dGVyKTtcblxuICAgICAgbGV0IGNyaXRpY2FsT3BlcmF0aW9uc1pvbmFsTWV0cmljczogSU1ldHJpY1tdID0gY3JpdGljYWxPcGVyYXRpb25zLm1hcCgob3BlcmF0aW9uOiBJT3BlcmF0aW9uLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIHJldHVybiBBdmFpbGFiaWxpdHlBbmRMYXRlbmN5TWV0cmljcy5jcmVhdGVab25hbExhdGVuY3lDb3VudE1ldHJpYyh7XG4gICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZUlkOiBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogYXZhaWxhYmlsaXR5Wm9uZSxcbiAgICAgICAgICBsYWJlbDogb3BlcmF0aW9uLm9wZXJhdGlvbk5hbWUgKyBcIiAoYXZnOiAke0FWR30gIG1heDogJHtNQVh9KVwiLFxuICAgICAgICAgIG1ldHJpY0RldGFpbHM6IG9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzIS5jYW5hcnlMYXRlbmN5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICBtZXRyaWNUeXBlOiBMYXRlbmN5TWV0cmljVHlwZS5TVUNDRVNTX0xBVEVOQ1ksXG4gICAgICAgICAgY29sb3I6IE1ldHJpY3NIZWxwZXIuY29sb3JzW2luZGV4XSxcbiAgICAgICAgICBzdGF0aXN0aWM6IGBUQygke29wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzIS5jYW5hcnlMYXRlbmN5TWV0cmljRGV0YWlscy5zdWNjZXNzQWxhcm1UaHJlc2hvbGR9OilgXG4gICAgICAgIH0sXG4gICAgICAgIG9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzIS5jYW5hcnlMYXRlbmN5TWV0cmljRGV0YWlscy5tZXRyaWNEaW1lbnNpb25zLnpvbmFsRGltZW5zaW9ucyhcbiAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQsXG4gICAgICAgICAgQXdzLlJFR0lPTlxuICAgICAgICApKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgICBoZWlnaHQ6IDYsXG4gICAgICAgICAgd2lkdGg6IDgsXG4gICAgICAgICAgdGl0bGU6IGBIaWdoIExhdGVuY3kgQ291bnQgLSAke2F2YWlsYWJpbGl0eVpvbmVJZH1gLFxuICAgICAgICAgIHJlZ2lvbjogQXdzLlJFR0lPTixcbiAgICAgICAgICBsZWZ0OiBjcml0aWNhbE9wZXJhdGlvbnNab25hbE1ldHJpY3MsXG4gICAgICAgICAgc3RhdGlzdGljOiAnU3VtJyxcbiAgICAgICAgICBsZWZ0WUF4aXM6IHtcbiAgICAgICAgICAgIG1pbjogMCxcbiAgICAgICAgICAgIGxhYmVsOiAnQ291bnQnLFxuICAgICAgICAgICAgc2hvd1VuaXRzOiBmYWxzZSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9KTtcblxuICAgIGRhc2hib2FyZC5hZGRXaWRnZXRzKFxuXG4gICAgICAuLi56b25hbEF2YWlsYWJpbGl0eVdpZGdldHMsXG5cbiAgICAgIC8vIFNlcnZlci1zaWRlIHBlciBBWiBmYXVsdCBjb3VudFxuICAgICAgbmV3IEdyYXBoV2lkZ2V0KHtcbiAgICAgICAgaGVpZ2h0OiA4LFxuICAgICAgICB3aWR0aDogNixcbiAgICAgICAgdGl0bGU6ICdGYXVsdCBDb3VudCcsXG4gICAgICAgIHJlZ2lvbjogQXdzLlJFR0lPTixcbiAgICAgICAgbGVmdDogYXZhaWxhYmlsaXR5Wm9uZXMubWFwKChhdmFpbGFiaWxpdHlab25lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICBsZXQgYXpMZXR0ZXI6IHN0cmluZyA9IGF2YWlsYWJpbGl0eVpvbmUuc3Vic3RyaW5nKGF2YWlsYWJpbGl0eVpvbmUubGVuZ3RoIC0gMSk7XG4gICAgICAgICAgbGV0IGF2YWlsYWJpbGl0eVpvbmVJZDogc3RyaW5nID0gcHJvcHMuYXpNYXBwZXIuYXZhaWxhYmlsaXR5Wm9uZUlkRnJvbUF2YWlsYWJpbGl0eVpvbmVMZXR0ZXIoYXpMZXR0ZXIpOyAgICAgIFxuICAgIFxuICAgICAgICAgIGxldCB1c2luZ01ldHJpY3M6IHsgW2tleTogc3RyaW5nXTogSU1ldHJpYyB9ID0ge307XG4gICAgXG4gICAgICAgICAgY3JpdGljYWxPcGVyYXRpb25zLmZvckVhY2goKG9wZXJhdGlvbjogSU9wZXJhdGlvbikgPT4ge1xuICAgICAgICAgICAgICBcbiAgICAgICAgICAgIHVzaW5nTWV0cmljc1tgJHthekxldHRlcn1fJHtvcGVyYXRpb24ub3BlcmF0aW9uTmFtZX1gXSA9XG4gICAgICAgICAgICAgIEF2YWlsYWJpbGl0eUFuZExhdGVuY3lNZXRyaWNzLmNyZWF0ZVpvbmFsQXZhaWxhYmlsaXR5TWV0cmljKHtcbiAgICAgICAgICAgICAgICBhdmFpbGFiaWxpdHlab25lSWQ6IGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICAgICAgICBtZXRyaWNEZXRhaWxzOiBvcGVyYXRpb24uc2VydmVyU2lkZUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMsXG4gICAgICAgICAgICAgICAgbGFiZWw6IGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICAgICAgICBtZXRyaWNUeXBlOiBBdmFpbGFiaWxpdHlNZXRyaWNUeXBlLkZBVUxUX0NPVU5ULFxuICAgICAgICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmU6IGF2YWlsYWJpbGl0eVpvbmVcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgb3BlcmF0aW9uLnNlcnZlclNpZGVBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzLm1ldHJpY0RpbWVuc2lvbnMuem9uYWxEaW1lbnNpb25zKFxuICAgICAgICAgICAgICAgIGF2YWlsYWJpbGl0eVpvbmVJZCxcbiAgICAgICAgICAgICAgICBBd3MuUkVHSU9OXG4gICAgICAgICAgICAgICkpO1xuICAgICAgICAgIH0pO1xuICAgIFxuICAgICAgICAgIHJldHVybiBuZXcgTWF0aEV4cHJlc3Npb24oe1xuICAgICAgICAgICAgZXhwcmVzc2lvbjogT2JqZWN0LmtleXModXNpbmdNZXRyaWNzKS5qb2luKCcrJyksXG4gICAgICAgICAgICBsYWJlbDogYXZhaWxhYmlsaXR5Wm9uZUlkLFxuICAgICAgICAgICAgdXNpbmdNZXRyaWNzOiB1c2luZ01ldHJpY3MsXG4gICAgICAgICAgICBwZXJpb2Q6IHByb3BzLnNlcnZpY2UucGVyaW9kXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pLFxuICAgICAgICBzdGF0aXN0aWM6ICdTdW0nLFxuICAgICAgICBsZWZ0WUF4aXM6IHtcbiAgICAgICAgICBtaW46IDAsXG4gICAgICAgICAgbGFiZWw6ICdDb3VudCcsXG4gICAgICAgICAgc2hvd1VuaXRzOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAgbGVmdEFubm90YXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFsdWU6IHByb3BzLnNlcnZpY2UuZmF1bHRDb3VudFRocmVzaG9sZCxcbiAgICAgICAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICAgICAgICBjb2xvcjogQ29sb3IuUkVELFxuICAgICAgICAgICAgbGFiZWw6ICdIaWdoIFNldmVyaXR5JyxcbiAgICAgICAgICB9LFxuICAgICAgICBdXG4gICAgICB9KSxcbiAgICAgIFxuICAgICAgLi4uem9uYWxGYXVsdENvdW50V2lkZ2V0cyxcbiAgICAgIC4uLnBlckFaV2lkZ2V0V2l0aFBlck9wZXJhdGlvbkxhdGVuY3ksXG4gICAgICAuLi5wZXJBWldpZGdldFdpdGhQZXJPcGVyYXRpb25IaWdoTGF0ZW5jeUNvdW50XG4gICAgKTtcbiAgICAgXG4gIH1cblxuICAvKipcbiAgICogVGhlIHNlcnZpY2UgbGV2ZWwgZGFzaGJvYXJkXG4gICAqL1xuICBkYXNoYm9hcmQ6IERhc2hib2FyZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IFNlcnZpY2VBdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLmRhc2hib2FyZCA9IG5ldyBEYXNoYm9hcmQodGhpcywgJ0Rhc2hib2FyZCcsIHtcbiAgICAgIGRhc2hib2FyZE5hbWU6IGAke3Byb3BzLnNlcnZpY2Uuc2VydmljZU5hbWUudG9Mb3dlckNhc2UoKX0tYXZhaWxhYmlsaXR5LWFuZC1sYXRlbmN5LSR7QXdzLlJFR0lPTn1gLFxuICAgICAgZGVmYXVsdEludGVydmFsOiBwcm9wcy5pbnRlcnZhbCxcbiAgICAgIHBlcmlvZE92ZXJyaWRlOiBQZXJpb2RPdmVycmlkZS5BVVRPXG4gICAgfSk7XG5cbiAgICB0aGlzLmRhc2hib2FyZC5hZGRXaWRnZXRzKFxuICAgICAgbmV3IEFsYXJtU3RhdHVzV2lkZ2V0KHtcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogNixcbiAgICAgICAgYWxhcm1zOiBbXG4gICAgICAgICAgcHJvcHMuc2VydmljZUFsYXJtc0FuZFJ1bGVzLnNlcnZpY2VJbXBhY3RBbGFybVxuICAgICAgICBdLFxuICAgICAgICB0aXRsZTogXCJTZXJ2aWNlIEFsYXJtIChhbnkgY3JpdGljYWwgb3BlcmF0aW9uIHNlZXMgaW1wYWN0IHpvbmFsbHkgb3IgcmVnaW9uYWxseSwgbWVhc3VyZWQgZnJvbSBzZXJ2ZXItc2lkZSBvciBjYW5hcnkpXCJcbiAgICAgIH0pLFxuICAgICAgbmV3IEFsYXJtU3RhdHVzV2lkZ2V0KHtcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogNixcbiAgICAgICAgYWxhcm1zOiBbXG4gICAgICAgICAgcHJvcHMuc2VydmljZUFsYXJtc0FuZFJ1bGVzLnJlZ2lvbmFsSW1wYWN0QWxhcm1cbiAgICAgICAgXSxcbiAgICAgICAgdGl0bGU6IFwiUmVnaW9uYWwgSW1wYWN0ICh0aGVyZSBpcyByZWdpb25hbGx5IHNjb3BlZCBpbXBhY3QgdG8gYW55IGNyaXRpY2FsIG9wZXJhdGlvbiwgbWVhc3VyZWQgZnJvbSBzZXJ2ZXItc2lkZSBvciBjYW5hcnkpXCJcbiAgICAgIH0pLFxuICAgICAgbmV3IEFsYXJtU3RhdHVzV2lkZ2V0KHtcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogNixcbiAgICAgICAgYWxhcm1zOiBbXG4gICAgICAgICAgcHJvcHMuc2VydmljZUFsYXJtc0FuZFJ1bGVzLnJlZ2lvbmFsU2VydmVyU2lkZUltcGFjdEFsYXJtXG4gICAgICAgIF0sXG4gICAgICAgIHRpdGxlOiBcIlNlcnZlci1zaWRlIFJlZ2lvbmFsIEltcGFjdCAodGhlcmUgaXMgcmVnaW9uYWxseSBzY29wZWQgaW1wYWN0IHRvIGFueSBjcml0aWNhbCBvcGVyYXRpb24sIG1lYXN1cmVkIGZyb20gc2VydmVyLXNpZGUpXCJcbiAgICAgIH0pLFxuICAgICAgLi4ucHJvcHMuc2VydmljZUFsYXJtc0FuZFJ1bGVzLnJlZ2lvbmFsQ2FuYXJ5QWxhcm0gPyBbbmV3IEFsYXJtU3RhdHVzV2lkZ2V0KHtcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogNixcbiAgICAgICAgYWxhcm1zOiBbXG4gICAgICAgICAgcHJvcHMuc2VydmljZUFsYXJtc0FuZFJ1bGVzLnJlZ2lvbmFsQ2FuYXJ5QWxhcm1cbiAgICAgICAgXSxcbiAgICAgICAgdGl0bGU6IFwiQ2FuYXJ5IFJlZ2lvbmFsIEltcGFjdCAodGhlcmUgaXMgcmVnaW9uYWxseSBzY29wZWQgaW1wYWN0IHRvIGFueSBjcml0aWNhbCBvcGVyYXRpb24sIG1lYXN1cmVkIGZyb20gdGhlIGNhbmFyeSlcIlxuICAgICAgfSldIDogW11cbiAgICApO1xuXG4gICAgdGhpcy5kYXNoYm9hcmQuYWRkV2lkZ2V0cyhcbiAgICAgIG5ldyBBbGFybVN0YXR1c1dpZGdldCh7XG4gICAgICAgIGhlaWdodDogMixcbiAgICAgICAgd2lkdGg6IDI0LFxuICAgICAgICBhbGFybXM6IFtcbiAgICAgICAgICAuLi5PYmplY3QudmFsdWVzKHByb3BzLnNlcnZpY2VBbGFybXNBbmRSdWxlcy56b25hbEFnZ3JlZ2F0ZUlzb2xhdGVkSW1wYWN0QWxhcm1zKVxuICAgICAgICBdLFxuICAgICAgICB0aXRsZTogXCJab25hbCBBZ2dyZWdhdGUgQWxhcm1zIChhbGFybXMgdHJpZ2dlciBpZiBhbnkgY3JpdGljYWwgb3BlcmF0aW9uIGluIHRoZSBBWiBzZWVzIGF2YWlsYWJpbGl0eSBvciBsYXRlbmN5IGltcGFjdCBhcyBtZWFzdXJlZCBmcm9tIHNlcnZlci1zaWRlIG9yIGNhbmFyeSlcIlxuICAgICAgfVxuICAgICkpO1xuXG4gICAgdGhpcy5kYXNoYm9hcmQuYWRkV2lkZ2V0cyhcbiAgICAgIG5ldyBBbGFybVN0YXR1c1dpZGdldCh7XG4gICAgICAgIGhlaWdodDogMixcbiAgICAgICAgd2lkdGg6IDI0LFxuICAgICAgICBhbGFybXM6IFtcbiAgICAgICAgICAuLi5PYmplY3QudmFsdWVzKHByb3BzLnNlcnZpY2VBbGFybXNBbmRSdWxlcy56b25hbFNlcnZlclNpZGVJc29sYXRlZEltcGFjdEFsYXJtcylcbiAgICAgICAgXSxcbiAgICAgICAgdGl0bGU6IFwiU2VydmVyLXNpZGUgWm9uYWwgQWxhcm1zIChhbGFybXMgdHJpZ2dlciBpZiBhbnkgY3JpdGljYWwgb3BlcmF0aW9uIGluIHRoZSBBWiBzZWVzIGF2YWlsYWJpbGl0eSBvciBsYXRlbmN5IGltcGFjdCBhcyBtZWFzdXJlZCBmcm9tIHRoZSBzZXJ2ZXItc2lkZSwgdGhlc2UgYXJlIHVzZWZ1bCBmb3IgZGVwbG95bWVudCBtb25pdG9yaW5nLCBpbiBjYXNlIHRoZSBjYW5hcnkgc2VlcyBlcnJvcnMgd2hlbiBhbiBBWiBpcyBpbnRlbnRpb25hbGx5IHVuYXZhaWxhYmxlKVwiXG4gICAgICB9XG4gICAgKSk7XG5cbiAgICB0aGlzLmRhc2hib2FyZC5hZGRXaWRnZXRzKFxuICAgICAgbmV3IFRleHRXaWRnZXQoe1xuICAgICAgICBtYXJrZG93bjogXCIjIyMgUGVyIE9wZXJhdGlvbiBEYXNoYm9hcmRzXFxuXCIgKyBwcm9wcy5vcGVyYXRpb25zRGFzaGJvYXJkLm1hcCh4ID0+IGAtIFske3guZGFzaGJvYXJkTmFtZX1dKGh0dHBzOi8vJHtBd3MuUkVHSU9OfS5jb25zb2xlLmF3cy5hbWF6b24uY29tL2Nsb3Vkd2F0Y2gvaG9tZT9yZWdpb249JHtBd3MuUkVHSU9OfSNkYXNoYm9hcmRzL2Rhc2hib2FyZC8ke3guZGFzaGJvYXJkTmFtZX0pYCkuam9pbihcIlxcblwiKSxcbiAgICAgICAgYmFja2dyb3VuZDogVGV4dFdpZGdldEJhY2tncm91bmQuVFJBTlNQQVJFTlQsXG4gICAgICAgIGhlaWdodDogNCxcbiAgICAgICAgd2lkdGg6IDI0XG4gICAgICB9KVxuICAgICk7XG5cbiAgICBTZXJ2aWNlQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeURhc2hib2FyZC5jcmVhdGVTZXJ2ZXJTaWRlV2lkZ2V0cyh0aGlzLmRhc2hib2FyZCwgcHJvcHMpO1xuXG4gICAgaWYgKHByb3BzLnNlcnZpY2UuY2FuYXJ5VGVzdFByb3BzKSB7XG4gICAgICBTZXJ2aWNlQXZhaWxhYmlsaXR5QW5kTGF0ZW5jeURhc2hib2FyZC5jcmVhdGVDYW5hcnlXaWRnZXRzKHRoaXMuZGFzaGJvYXJkLCBwcm9wcyk7XG4gICAgfVxuXG4gICAgbGV0IGxiOiBDZm5Mb2FkQmFsYW5jZXIgPSBwcm9wcy5zZXJ2aWNlLmxvYWRCYWxhbmNlcj8ubm9kZVxuICAgICAgLmRlZmF1bHRDaGlsZCBhcyBDZm5Mb2FkQmFsYW5jZXI7XG5cbiAgICBpZiAobGIgJiYgbGIudHlwZSA9PSAnYXBwbGljYXRpb24nKSB7XG4gICAgICB0aGlzLmRhc2hib2FyZC5hZGRXaWRnZXRzKFxuICAgICAgICBuZXcgVGV4dFdpZGdldCh7XG4gICAgICAgICAgbWFya2Rvd246IFwiIyMgKipMb2FkIEJhbGFuY2VyIE1ldHJpY3MqKlwiLFxuICAgICAgICAgIGJhY2tncm91bmQ6IFRleHRXaWRnZXRCYWNrZ3JvdW5kLlRSQU5TUEFSRU5ULFxuICAgICAgICAgIGhlaWdodDogMSxcbiAgICAgICAgICB3aWR0aDogMjRcbiAgICAgICAgfSksXG4gICAgICApO1xuXG4gICAgICB0aGlzLmRhc2hib2FyZC5hZGRXaWRnZXRzKFxuICAgICAgICAuLi5BcHBsaWNhdGlvbkxvYWRCYWxhbmNlck1ldHJpY3MuZ2VuZXJhdGVMb2FkQmFsYW5jZXJXaWRnZXRzKFxuICAgICAgICAgIFsgcHJvcHMuc2VydmljZS5sb2FkQmFsYW5jZXIgYXMgSUFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyIF0sXG4gICAgICAgICAgcHJvcHMuYXpNYXBwZXIsXG4gICAgICAgICAgcHJvcHMuc2VydmljZS5wZXJpb2QsXG4gICAgICAgICAgcHJvcHMuc2VydmljZS5kZWZhdWx0TGF0ZW5jeU1ldHJpY0RldGFpbHMuYWxhcm1TdGF0aXN0aWMsXG4gICAgICAgICAgcHJvcHMuc2VydmljZS5kZWZhdWx0TGF0ZW5jeU1ldHJpY0RldGFpbHMuc3VjY2Vzc0FsYXJtVGhyZXNob2xkLFxuICAgICAgICAgIHByb3BzLnNlcnZpY2UuZGVmYXVsdExhdGVuY3lNZXRyaWNEZXRhaWxzLmZhdWx0QWxhcm1UaHJlc2hvbGRcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -15,5 +15,5 @@ class CanaryMetrics {
|
|
|
15
15
|
}
|
|
16
16
|
exports.CanaryMetrics = CanaryMetrics;
|
|
17
17
|
_a = JSII_RTTI_SYMBOL_1;
|
|
18
|
-
CanaryMetrics[_a] = { fqn: "@cdklabs/multi-az-observability.CanaryMetrics", version: "0.0.1-alpha.
|
|
18
|
+
CanaryMetrics[_a] = { fqn: "@cdklabs/multi-az-observability.CanaryMetrics", version: "0.0.1-alpha.39" };
|
|
19
19
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FuYXJ5TWV0cmljcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9DYW5hcnlNZXRyaWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBTUE7O0dBRUc7QUFDSCxNQUFhLGFBQWE7SUFXeEIsWUFBWSxLQUF3QjtRQUNsQyxJQUFJLENBQUMsK0JBQStCO1lBQ2xDLEtBQUssQ0FBQywrQkFBK0IsQ0FBQztRQUN4QyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsS0FBSyxDQUFDLDBCQUEwQixDQUFDO0lBQ3JFLENBQUM7O0FBZkgsc0NBZ0JDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuaW1wb3J0IHsgSUNhbmFyeU1ldHJpY3MgfSBmcm9tICcuL0lDYW5hcnlNZXRyaWNzJztcbmltcG9ydCB7IElPcGVyYXRpb25NZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9JT3BlcmF0aW9uTWV0cmljRGV0YWlscyc7XG5pbXBvcnQgeyBDYW5hcnlNZXRyaWNQcm9wcyB9IGZyb20gJy4vcHJvcHMvQ2FuYXJ5TWV0cmljUHJvcHMnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgbWV0cmljcyBmb3IgYSBjYW5hcnkgdGVzdGluZyBhIHNlcnZpY2VcbiAqL1xuZXhwb3J0IGNsYXNzIENhbmFyeU1ldHJpY3MgaW1wbGVtZW50cyBJQ2FuYXJ5TWV0cmljcyB7XG4gIC8qKlxuICAgKiBUaGUgY2FuYXJ5IGF2YWlsYWJpbGl0eSBtZXRyaWMgZGV0YWlsc1xuICAgKi9cbiAgcmVhZG9ubHkgY2FuYXJ5QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlsczogSU9wZXJhdGlvbk1ldHJpY0RldGFpbHM7XG5cbiAgLyoqXG4gICAqIFRoZSBjYW5hcnkgbGF0ZW5jeSBtZXRyaWMgZGV0YWlsc1xuICAgKi9cbiAgcmVhZG9ubHkgY2FuYXJ5TGF0ZW5jeU1ldHJpY0RldGFpbHM6IElPcGVyYXRpb25NZXRyaWNEZXRhaWxzO1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBDYW5hcnlNZXRyaWNQcm9wcykge1xuICAgIHRoaXMuY2FuYXJ5QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyA9XG4gICAgICBwcm9wcy5jYW5hcnlBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzO1xuICAgIHRoaXMuY2FuYXJ5TGF0ZW5jeU1ldHJpY0RldGFpbHMgPSBwcm9wcy5jYW5hcnlMYXRlbmN5TWV0cmljRGV0YWlscztcbiAgfVxufVxuIl19
|
|
@@ -19,5 +19,5 @@ class CanaryTestMetricsOverride {
|
|
|
19
19
|
}
|
|
20
20
|
exports.CanaryTestMetricsOverride = CanaryTestMetricsOverride;
|
|
21
21
|
_a = JSII_RTTI_SYMBOL_1;
|
|
22
|
-
CanaryTestMetricsOverride[_a] = { fqn: "@cdklabs/multi-az-observability.CanaryTestMetricsOverride", version: "0.0.1-alpha.
|
|
22
|
+
CanaryTestMetricsOverride[_a] = { fqn: "@cdklabs/multi-az-observability.CanaryTestMetricsOverride", version: "0.0.1-alpha.39" };
|
|
23
23
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9DYW5hcnlUZXN0TWV0cmljc092ZXJyaWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBTUE7OztHQUdHO0FBQ0gsTUFBYSx5QkFBeUI7SUFvQ3BDLFlBQVksS0FBcUM7UUFDL0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDO1FBQzNDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUMzQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFDO1FBQ2pELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUM7UUFDakQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQztRQUN6RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixDQUFDO0lBQ3ZELENBQUM7O0FBM0NILDhEQTRDQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgSUNhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGUgfSBmcm9tICcuL0lDYW5hcnlUZXN0TWV0cmljc092ZXJyaWRlJztcbmltcG9ydCB7IENhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGVQcm9wcyB9IGZyb20gJy4vcHJvcHMvQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZVByb3BzJztcblxuLyoqXG4gKiBQcm92aWRlcyBvdmVycmlkZXMgZm9yIHRoZSBkZWZhdWx0IG1ldHJpYyBzZXR0aW5nc1xuICogdXNlZCBmb3IgdGhlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBjYW5hcnkgdGVzdHNcbiAqL1xuZXhwb3J0IGNsYXNzIENhbmFyeVRlc3RNZXRyaWNzT3ZlcnJpZGUgaW1wbGVtZW50cyBJQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZSB7XG4gIC8qKlxuICAgKiBUaGUgc3RhdGlzdGljIHVzZWQgZm9yIGFsYXJtcywgZm9yIGF2YWlsYWJpbGl0eSBtZXRyaWNzIHRoaXMgc2hvdWxkXG4gICAqIGJlIFwiU3VtXCIsIGZvciBsYXRlbmN5IG1ldHJpY3MgaXQgY291bGQgc29tZXRoaW5nIGxpa2UgXCJwOTlcIiBvciBcInA5OS45XCJcbiAgICovXG4gIHJlYWRvbmx5IGFsYXJtU3RhdGlzdGljPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGVyaW9kIGZvciB0aGUgbWV0cmljc1xuICAgKi9cbiAgcmVhZG9ubHkgcGVyaW9kPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgZXZhbHVhdGlvbiBwZXJpb2RzIGZvciBsYXRlbmN5IGFuZCBhdmFpbGFiaWx0aXkgYWxhcm1zXG4gICAqL1xuICByZWFkb25seSBldmFsdWF0aW9uUGVyaW9kcz86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBkYXRhcG9pbnRzIHRvIGFsYXJtIG9uIGZvciBsYXRlbmN5IGFuZCBhdmFpbGFiaWxpdHkgYWxhcm1zXG4gICAqL1xuICByZWFkb25seSBkYXRhcG9pbnRzVG9BbGFybT86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHRocmVzaG9sZCBmb3IgYWxhcm1zIGFzc29jaWF0ZWQgd2l0aCBzdWNjZXNzIG1ldHJpY3MsIGZvciBleGFtcGxlIGlmIG1lYXN1cmluZ1xuICAgKiBzdWNjZXNzIHJhdGUsIHRoZSB0aHJlc2hvbGQgbWF5IGJlIDk5LCBtZWFuaW5nIHlvdSB3b3VsZCB3YW50IGFuIGFsYXJtIHRoYXQgdHJpZ2dlcnNcbiAgICogaWYgc3VjY2VzcyBkcm9wcyBiZWxvdyA5OSUuXG4gICAqL1xuICByZWFkb25seSBzdWNjZXNzQWxhcm1UaHJlc2hvbGQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB0aHJlc2hvbGQgZm9yIGFsYXJtcyBhc3NvY2lhdGVkIHdpdGggZmF1bHQgbWV0cmljcywgZm9yIGV4YW1wbGUgaWYgbWVhc3VyaW5nXG4gICAqIGZhdWx0IHJhdGUsIHRoZSB0aHJlc2hvbGQgbWF5IGJlIDEsIG1lYW5pbmcgeW91IHdvdWxkIHdhbnQgYW4gYWxhcm0gdGhhdCB0cmlnZ2Vyc1xuICAgKiBpZiB0aGUgZmF1bHQgcmF0ZSBnb2VzIGFib3ZlIDElLlxuICAgKi9cbiAgcmVhZG9ubHkgZmF1bHRBbGFybVRocmVzaG9sZD86IG51bWJlcjtcblxuICBjb25zdHJ1Y3Rvcihwcm9wczogQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZVByb3BzKSB7XG4gICAgdGhpcy5hbGFybVN0YXRpc3RpYyA9IHByb3BzLmFsYXJtU3RhdGlzdGljO1xuICAgIHRoaXMucGVyaW9kID0gcHJvcHMucGVyaW9kO1xuICAgIHRoaXMuZXZhbHVhdGlvblBlcmlvZHMgPSBwcm9wcy5ldmFsdWF0aW9uUGVyaW9kcztcbiAgICB0aGlzLmRhdGFwb2ludHNUb0FsYXJtID0gcHJvcHMuZGF0YXBvaW50c1RvQWxhcm07XG4gICAgdGhpcy5zdWNjZXNzQWxhcm1UaHJlc2hvbGQgPSBwcm9wcy5zdWNjZXNzQWxhcm1UaHJlc2hvbGQ7XG4gICAgdGhpcy5mYXVsdEFsYXJtVGhyZXNob2xkID0gcHJvcHMuZmF1bHRBbGFybVRocmVzaG9sZDtcbiAgfVxufVxuIl19
|
|
@@ -19,5 +19,5 @@ class ContributorInsightRuleDetails {
|
|
|
19
19
|
}
|
|
20
20
|
exports.ContributorInsightRuleDetails = ContributorInsightRuleDetails;
|
|
21
21
|
_a = JSII_RTTI_SYMBOL_1;
|
|
22
|
-
ContributorInsightRuleDetails[_a] = { fqn: "@cdklabs/multi-az-observability.ContributorInsightRuleDetails", version: "0.0.1-alpha.
|
|
22
|
+
ContributorInsightRuleDetails[_a] = { fqn: "@cdklabs/multi-az-observability.ContributorInsightRuleDetails", version: "0.0.1-alpha.39" };
|
|
23
23
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFNQTs7O0dBR0c7QUFDSCxNQUFhLDZCQUE2QjtJQXdDeEMsWUFBWSxLQUF5QztRQUNuRCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsS0FBSyxDQUFDLDBCQUEwQixDQUFDO1FBQ25FLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUMsbUJBQW1CLENBQUM7UUFDckQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztRQUNuRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDakMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQztRQUN6RCxJQUFJLENBQUMsNEJBQTRCLEdBQUcsS0FBSyxDQUFDLDRCQUE0QixDQUFDO0lBQ3pFLENBQUM7O0FBL0NILHNFQWdEQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmltcG9ydCB7IElMb2dHcm91cCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCB7IElDb250cmlidXRvckluc2lnaHRSdWxlRGV0YWlscyB9IGZyb20gJy4vSUNvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzJztcbmltcG9ydCB7IENvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzUHJvcHMgfSBmcm9tICcuL3Byb3BzL0NvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzUHJvcHMnO1xuXG4vKipcbiAqIFRoZSBjb250cmlidXRvciBpbnNpZ2h0IHJ1bGUgZGV0YWlscyBmb3IgY3JlYXRpbmcgYW5cbiAqIGluc2lnaHQgcnVsZVxuICovXG5leHBvcnQgY2xhc3MgQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHNcbmltcGxlbWVudHMgSUNvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzIHtcbiAgLyoqXG4gICAqIFRoZSBsb2cgZ3JvdXBzIHdoZXJlIENsb3VkV2F0Y2ggbG9ncyBmb3IgdGhlIG9wZXJhdGlvbiBhcmUgbG9jYXRlZC4gSWZcbiAgICogdGhpcyBpcyBub3QgcHJvdmlkZWQsIENvbnRyaWJ1dG9yIEluc2lnaHQgcnVsZXMgY2Fubm90IGJlIGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSBsb2dHcm91cHM6IElMb2dHcm91cFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCBpbiB0aGUgbG9nIGZpbGVzIHRvIHRoZSBmaWVsZCB0aGF0IGluZGljYXRlcyB0aGUgbGF0ZW5jeVxuICAgKiBmb3IgdGhlIHJlc3BvbnNlLiBUaGlzIGNvdWxkIGVpdGhlciBiZSBzdWNjZXNzIGxhdGVuY3kgb3IgZmF1bHRcbiAgICogbGF0ZW5jeSBkZXBlbmRpbmcgb24gdGhlIGFsYXJtcyBhbmQgcnVsZXMgeW91IGFyZSBjcmVhdGluZy5cbiAgICovXG4gIHJlYWRvbmx5IHN1Y2Nlc3NMYXRlbmN5TWV0cmljSnNvblBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdGggaW4gdGhlIGxvZyBmaWxlcyB0byB0aGUgZmllbGQgdGhhdCBpZGVudGlmaWVzIHRoZSBvcGVyYXRpb25cbiAgICogdGhlIGxvZyBmaWxlIGlzIGZvci5cbiAgICovXG4gIHJlYWRvbmx5IG9wZXJhdGlvbk5hbWVKc29uUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCBpbiB0aGUgbG9nIGZpbGVzIHRvIHRoZSBmaWVsZCB0aGF0IGlkZW50aWZpZXMgaWYgdGhlIHJlc3BvbnNlXG4gICAqIHJlc3VsdGVkIGluIGEgZmF1bHQsIGZvciBleGFtcGxlIHsgXCJGYXVsdFwiIDogMSB9IHdvdWxkIGhhdmUgYSBwYXRoIG9mICQuRmF1bHRcbiAgICovXG4gIHJlYWRvbmx5IGZhdWx0TWV0cmljSnNvblBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdGggaW4gdGhlIGxvZyBmaWxlcyB0byB0aGUgZmllbGQgdGhhdCBpZGVudGlmaWVzIHRoZSBBdmFpbGFiaWxpdHkgWm9uZVxuICAgKiBJZCB0aGF0IHRoZSByZXF1ZXN0IHdhcyBoYW5kbGVkIGluLCBmb3IgZXhhbXBsZSB7IFwiQVotSURcIjogXCJ1c2UxLWF6MVwiIH0gd291bGRcbiAgICogaGF2ZSBhIHBhdGggb2YgJC5BWi1JRFxuICAgKi9cbiAgcmVhZG9ubHkgYXZhaWxhYmlsaXR5Wm9uZUlkSnNvblBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEpTT04gcGF0aCB0byB0aGUgaW5zdGFuY2UgaWQgZmllbGQgaW4gdGhlIGxvZyBmaWxlcywgb25seSByZXF1aXJlZCBmb3Igc2VydmVyLXNpZGVcbiAgICogcnVsZXNcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlSWRKc29uUGF0aDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBDb250cmlidXRvckluc2lnaHRSdWxlRGV0YWlsc1Byb3BzKSB7XG4gICAgdGhpcy5hdmFpbGFiaWxpdHlab25lSWRKc29uUGF0aCA9IHByb3BzLmF2YWlsYWJpbGl0eVpvbmVJZEpzb25QYXRoO1xuICAgIHRoaXMuZmF1bHRNZXRyaWNKc29uUGF0aCA9IHByb3BzLmZhdWx0TWV0cmljSnNvblBhdGg7XG4gICAgdGhpcy5pbnN0YW5jZUlkSnNvblBhdGggPSBwcm9wcy5pbnN0YW5jZUlkSnNvblBhdGg7XG4gICAgdGhpcy5sb2dHcm91cHMgPSBwcm9wcy5sb2dHcm91cHM7XG4gICAgdGhpcy5vcGVyYXRpb25OYW1lSnNvblBhdGggPSBwcm9wcy5vcGVyYXRpb25OYW1lSnNvblBhdGg7XG4gICAgdGhpcy5zdWNjZXNzTGF0ZW5jeU1ldHJpY0pzb25QYXRoID0gcHJvcHMuc3VjY2Vzc0xhdGVuY3lNZXRyaWNKc29uUGF0aDtcbiAgfVxufVxuIl19
|
|
@@ -298,5 +298,5 @@ class InstrumentedServiceMultiAZObservability extends constructs_1.Construct {
|
|
|
298
298
|
}
|
|
299
299
|
exports.InstrumentedServiceMultiAZObservability = InstrumentedServiceMultiAZObservability;
|
|
300
300
|
_a = JSII_RTTI_SYMBOL_1;
|
|
301
|
-
InstrumentedServiceMultiAZObservability[_a] = { fqn: "@cdklabs/multi-az-observability.InstrumentedServiceMultiAZObservability", version: "0.0.1-alpha.
|
|
301
|
+
InstrumentedServiceMultiAZObservability[_a] = { fqn: "@cdklabs/multi-az-observability.InstrumentedServiceMultiAZObservability", version: "0.0.1-alpha.39" };
|
|
302
302
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL0luc3RydW1lbnRlZFNlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHFFQUFxRTtBQUNyRSxzQ0FBc0M7QUFDdEMsNkNBQW9EO0FBSXBELDJDQUFtRDtBQUNuRCxtREFBZ0Q7QUFJaEQsMkNBQXdDO0FBQ3hDLHFFQUFrRTtBQUVsRSwrREFBNEQ7QUFHNUQsdUZBQW9GO0FBQ3BGLG1GQUFnRjtBQUNoRiwrRUFBNEU7QUFDNUUsK0RBQTREO0FBQzVELHVEQUFvRDtBQUVwRCxxSEFBa0g7QUFDbEgsaUhBQThHO0FBQzlHLDRGQUF5RjtBQUN6RixzRkFBbUY7QUFDbkYsZ0ZBQTZFO0FBRTdFOzs7O0dBSUc7QUFDSCxNQUFhLHVDQUNYLFNBQVEsc0JBQVM7SUFzRGpCOzs7OztPQUtHO0lBQ0ssZ0JBQWdCLENBQ3RCLEtBQWlCLEVBQ2pCLEtBQW1EO1FBSW5ELElBQUksTUFBTSxHQUFHLElBQUksK0JBQWMsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUU7WUFDdkQsR0FBRyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBZ0IsQ0FBQyxvQkFBb0IsRUFBRSxHQUFHO1lBQzdELGVBQWUsRUFDZCxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQWdCLENBQUMsb0JBQW9CLEVBQUUsZUFBZTtZQUNyRSxXQUFXLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFnQixDQUFDLE9BQU87Z0JBQ2pELENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQWdCLENBQUMsT0FBTztnQkFDeEMsQ0FBQyxDQUFDLHNCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUN2QixlQUFlLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxlQUFnQixDQUFDLGVB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bnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuaW1wb3J0IHsgRHVyYXRpb24sIE5lc3RlZFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgRGFzaGJvYXJkLCBJQWxhcm0gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaCc7XG5pbXBvcnQgeyBJRnVuY3Rpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IElMb2dHcm91cCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCB7IENvbnN0cnVjdCwgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQ2FuYXJ5TWV0cmljcyB9IGZyb20gJy4vQ2FuYXJ5TWV0cmljcyc7XG5pbXBvcnQgeyBJSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5IH0gZnJvbSAnLi9JSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5JztcbmltcG9ydCB7IElPcGVyYXRpb24gfSBmcm9tICcuL0lPcGVyYXRpb24nO1xuaW1wb3J0IHsgSU9wZXJhdGlvbk1ldHJpY0RldGFpbHMgfSBmcm9tICcuL0lPcGVyYXRpb25NZXRyaWNEZXRhaWxzJztcbmltcG9ydCB7IE9wZXJhdGlvbiB9IGZyb20gJy4vT3BlcmF0aW9uJztcbmltcG9ydCB7IE9wZXJhdGlvbk1ldHJpY0RldGFpbHMgfSBmcm9tICcuL09wZXJhdGlvbk1ldHJpY0RldGFpbHMnO1xuaW1wb3J0IHsgSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5UHJvcHMgfSBmcm9tICcuL3Byb3BzL0luc3RydW1lbnRlZFNlcnZpY2VNdWx0aUFaT2JzZXJ2YWJpbGl0eVByb3BzJztcbmltcG9ydCB7IE1ldHJpY0RpbWVuc2lvbnMgfSBmcm9tICcuL3Byb3BzL01ldHJpY0RpbWVuc2lvbnMnO1xuaW1wb3J0IHsgSU9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzIH0gZnJvbSAnLi4vYWxhcm1zYW5kcnVsZXMvSU9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzJztcbmltcG9ydCB7IElTZXJ2aWNlQWxhcm1zQW5kUnVsZXMgfSBmcm9tICcuLi9hbGFybXNhbmRydWxlcy9JU2VydmljZUFsYXJtc0FuZFJ1bGVzJztcbmltcG9ydCB7IE9wZXJhdGlvbkFsYXJtc0FuZFJ1bGVzIH0gZnJvbSAnLi4vYWxhcm1zYW5kcnVsZXMvT3BlcmF0aW9uQWxhcm1zQW5kUnVsZXMnO1xuaW1wb3J0IHsgU2VydmljZUFsYXJtc0FuZFJ1bGVzIH0gZnJvbSAnLi4vYWxhcm1zYW5kcnVsZXMvU2VydmljZUFsYXJtc0FuZFJ1bGVzJztcbmltcG9ydCB7IEF2YWlsYWJpbGl0eVpvbmVNYXBwZXIgfSBmcm9tICcuLi9hem1hcHBlci9BdmFpbGFiaWxpdHlab25lTWFwcGVyJztcbmltcG9ydCB7IENhbmFyeUZ1bmN0aW9uIH0gZnJvbSAnLi4vY2FuYXJpZXMvQ2FuYXJ5RnVuY3Rpb24nO1xuaW1wb3J0IHsgQ2FuYXJ5VGVzdCB9IGZyb20gJy4uL2NhbmFyaWVzL0NhbmFyeVRlc3QnO1xuaW1wb3J0IHsgQWRkQ2FuYXJ5VGVzdFByb3BzIH0gZnJvbSAnLi4vY2FuYXJpZXMvcHJvcHMvQWRkQ2FuYXJ5VGVzdFByb3BzJztcbmltcG9ydCB7IE9wZXJhdGlvbkF2YWlsYWJpbGl0eUFuZExhdGVuY3lEYXNoYm9hcmQgfSBmcm9tICcuLi9kYXNoYm9hcmRzL09wZXJhdGlvbkF2YWlsYWJpbGl0eUFuZExhdGVuY3lEYXNoYm9hcmQnO1xuaW1wb3J0IHsgU2VydmljZUF2YWlsYWJpbGl0eUFuZExhdGVuY3lEYXNoYm9hcmQgfSBmcm9tICcuLi9kYXNoYm9hcmRzL1NlcnZpY2VBdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkJztcbmltcG9ydCB7IE91dGxpZXJEZXRlY3Rpb25GdW5jdGlvbiB9IGZyb20gJy4uL291dGxpZXItZGV0ZWN0aW9uL091dGxpZXJEZXRlY3Rpb25GdW5jdGlvbic7XG5pbXBvcnQgeyBPdXRsaWVyRGV0ZWN0aW9uQWxnb3JpdGhtIH0gZnJvbSAnLi4vdXRpbGl0aWVzL091dGxpZXJEZXRlY3Rpb25BbGdvcml0aG0nO1xuaW1wb3J0IHsgU3RhY2tXaXRoRHluYW1pY1NvdXJjZSB9IGZyb20gJy4uL3V0aWxpdGllcy9TdGFja1dpdGhEeW5hbWljU291cmNlJztcblxuLyoqXG4gKiBBbiBzZXJ2aWNlIHRoYXQgaW1wbGVtZW50cyBpdHMgb3duIGluc3RydW1lbnRhdGlvbiB0byByZWNvcmRcbiAqIGF2YWlsYWJpbGl0eSBhbmQgbGF0ZW5jeSBtZXRyaWNzIHRoYXQgY2FuIGJlIHVzZWQgdG8gY3JlYXRlXG4gKiBhbGFybXMsIHJ1bGVzLCBhbmQgZGFzaGJvYXJkcyBmcm9tXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnN0cnVtZW50ZWRTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHlcbiAgZXh0ZW5kcyBDb25zdHJ1Y3RcbiAgaW1wbGVtZW50cyBJSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5IHtcbiAgLyoqXG4gICAqIEtleSByZXByZXNlbnRzIHRoZSBvcGVyYXRpb24gbmFtZSBhbmQgdGhlIHZhbHVlIGlzIHRoZSBzZXRcbiAgICogb2Ygem9uYWwgYWxhcm1zIGFuZCBydWxlcyBmb3IgdGhhdCBvcGVyYXRpb24uIFRoZSB2YWx1ZXMgdGhlbXNlbHZlc1xuICAgKiBhcmUgZGljdGlvbmFyaWVzIHRoYXQgaGF2ZSBhIGtleSBmb3IgZWFjaCBBWiBJRC5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgcGVyT3BlcmF0aW9uQWxhcm1zQW5kUnVsZXM6IHtcbiAgICBba2V5OiBzdHJpbmddOiBJT3BlcmF0aW9uQWxhcm1zQW5kUnVsZXM7XG4gIH07XG5cbiAgLyoqXG4gICAqIEluZGV4IGludG8gdGhlIGRpY3Rpb25hcnkgYnkgb3BlcmF0aW9uIG5hbWUsIHRoZW4gYnkgQXZhaWxhYmlsaXR5IFpvbmUgSWRcbiAgICogdG8gZ2V0IHRoZSBhbGFybXMgdGhhdCBpbmRpY2F0ZSBhbiBBWiBzaG93cyBpc29sYXRlZCBpbXBhY3QgZnJvbSBhdmFpbGFiaWxpdHlcbiAgICogb3IgbGF0ZW5jeSBhcyBzZWVuIGJ5IGVpdGhlciB0aGUgc2VydmVyLXNpZGUgb3IgY2FuYXJ5LiBUaGVzZSBhcmUgdGhlIGFsYXJtc1xuICAgKiB5b3Ugd291bGQgd2FudCB0byB1c2UgdG8gdHJpZ2dlciBhdXRvbWF0aW9uIHRvIGV2YWN1YXRlIGFuIEFaLlxuICAgKi9cbiAgcmVhZG9ubHkgcGVyT3BlcmF0aW9uWm9uYWxJbXBhY3RBbGFybXM6IHtcbiAgICBba2V5OiBzdHJpbmddOiB7IFtrZXk6IHN0cmluZ106IElBbGFybSB9O1xuICB9O1xuXG4gIC8qKlxuICAgKiBUaGUgYWxhcm1zIGFuZCBydWxlcyBmb3IgdGhlIG92ZXJhbGwgc2VydmljZVxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZUFsYXJtczogSVNlcnZpY2VBbGFybXNBbmRSdWxlcztcblxuICAvKipcbiAgICogVGhlIGRhc2hib2FyZHMgZm9yIGVhY2ggb3BlcmF0aW9uXG4gICAqL1xuICByZWFkb25seSBvcGVyYXRpb25EYXNoYm9hcmRzPzogRGFzaGJvYXJkW107XG5cbiAgLyoqXG4gICAqIFRoZSBzZXJ2aWNlIGxldmVsIGRhc2hib2FyZFxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZURhc2hib2FyZD86IERhc2hib2FyZDtcblxuICAvKipcbiAgICogVGhlIEFaIG1hcHBlciBjdXN0b20gcmVzb3VyY2UgdXNlZCB0byBtYXAgQVogSWRzIHRvIE5hbWVzIGFuZCB2aWNlIGEgdmVyc2FcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgYXpNYXBwZXI6IEF2YWlsYWJpbGl0eVpvbmVNYXBwZXI7XG5cbiAgLyoqXG4gICAqIElmIHRoZSBzZXJ2aWNlIGlzIGNvbmZpZ3VyZWQgdG8gaGF2ZSBjYW5hcnkgdGVzdHMgY3JlYXRlZCwgdGhpcyB3aWxsXG4gICAqIGJlIHRoZSBsb2cgZ3JvdXAgd2hlcmUgdGhlIGNhbmFyeSdzIGxvZ3MgYXJlIHN0b3JlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBsb2cgZ3JvdXAgaXMgY3JlYXRlZCBpZiB0aGUgY2FuYXJ5IGlzIG5vdCByZXF1ZXN0ZWQuXG4gICAqL1xuICByZWFkb25seSBjYW5hcnlMb2dHcm91cD86IElMb2dHcm91cDtcblxuICAvKipcbiAgICogVGhlIExhbWJkYSBmdW5jdGlvbiB0aGF0IHBlcmZvcm1zIHRoZSBvdXRsaWVyIGRldGVjdGlvbiBjYWxjdWxhdGlvblxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBvdXRsaWVyRGV0ZWN0aW9uRnVuY3Rpb24/OiBJRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIFNldHMgdXAgdGhlIGNhbmFyeSB0ZXN0aW5nIGZ1bmN0aW9uIGFuZCB0ZXN0XG4gICAqIGV2ZW50c1xuICAgKiBAcGFyYW0gc2NvcGUgXG4gICAqIEBwYXJhbSBwcm9wcyBcbiAgICovXG4gIHByaXZhdGUgc2V0dXBDYW5hcnlUZXN0cyhcbiAgICBzY29wZTogSUNvbnN0cnVjdCxcbiAgICBwcm9wczogSW5zdHJ1bWVudGVkU2VydmljZU11bHRpQVpPYnNlcnZhYmlsaXR5UHJvcHMsXG4gICkgOiB2b2lkIHtcblxuXG4gICAgbGV0IGNhbmFyeSA9IG5ldyBDYW5hcnlGdW5jdGlvbihzY29wZSwgJ0NhbmFyeUZ1bmN0aW9uJywge1xuICAgICAgdnBjOiBwcm9wcy5zZXJ2aWNlLmNhbmFyeVRlc3RQcm9wcyEubmV0d29ya0NvbmZpZ3VyYXRpb24/LnZwYyxcbiAgICAgIHN1Ym5ldFNlbGVjdGlvbjpcbiAgICAgICBwcm9wcy5zZXJ2aWNlLmNhbmFyeVRlc3RQcm9wcyEubmV0d29ya0NvbmZpZ3VyYXRpb24/LnN1Ym5ldFNlbGVjdGlvbixcbiAgICAgIGh0dHBUaW1lb3V0OiBwcm9wcy5zZXJ2aWNlLmNhbmFyeVRlc3RQcm9wcyEudGltZW91dFxuICAgICAgICA/IHByb3BzLnNlcnZpY2UuY2FuYXJ5VGVzdFByb3BzIS50aW1lb3V0XG4gICAgICAgIDogRHVyYXRpb24uc2Vjb25kcygyKSxcbiAgICAgIGlnbm9yZVRsc0Vycm9yczogcHJvcHMuc2VydmljZS5jYW5hcnlUZXN0UHJvcHMhLmlnbm9yZVRsc0Vycm9yc1xuICAgICAgICA/IHByb3BzLnNlcnZpY2UuY2FuYXJ5VGVzdFByb3BzIS5pZ25vcmVUbHNFcnJvcnNcbiAgICAgICAgOiBmYWxzZSxcbiAgICB9KTtcblxuICAgIHByb3BzLnNlcnZpY2Uub3BlcmF0aW9ucy5mb3JFYWNoKChvcGVyYXRpb246IElPcGVyYXRpb24sIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgIGlmIChvcGVyYXRpb24ub3B0T3V0T2ZTZXJ2aWNlQ3JlYXRlZENhbmFyeSAhPSB0cnVlKSB7XG4gICAgICAgIGxldCB0ZXN0UHJvcHM6IEFkZENhbmFyeVRlc3RQcm9wcyA9IG9wZXJhdGlvbi5jYW5hcnlUZXN0UHJvcHNcbiAgICAgICAgICA/IG9wZXJhdGlvbi5jYW5hcnlUZXN0UHJvcHNcbiAgICAgICAgICA6IChwcm9wcy5zZXJ2aWNlLmNhbmFyeVRlc3RQcm9wcyBhcyBBZGRDYW5hcnlUZXN0UHJvcHMpO1xuXG4gICAgICAgIGxldCBuZXN0ZWRTdGFjazogTmVzdGVkU3RhY2sgPSBuZXcgTmVzdGVkU3RhY2soXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICBvcGVyYXRpb24ub3BlcmF0aW9uTmFtZSArICdDYW5hcnlUZXN0JyxcbiAgICAgICAgICB7fSxcbiAgICAgICAgKTtcblxuICAgICAgICBsZXQgdGVzdCA9IG5ldyBDYW5hcnlUZXN0KG5lc3RlZFN0YWNrLCBvcGVyYXRpb24ub3BlcmF0aW9uTmFtZSwge1xuICAgICAgICAgIGZ1bmN0aW9uOiBjYW5hcnkuZnVuY3Rpb24sXG4gICAgICAgICAgcmVxdWVzdENvdW50OiB0ZXN0UHJvcHMucmVxdWVzdENvdW50LFxuICAgICAgICAgIHJlZ2lvbmFsUmVxdWVzdENvdW50OiB0ZXN0UHJvcHMucmVnaW9uYWxSZXF1ZXN0Q291bnRcbiAgICAgICAgICAgID8gdGVzdFByb3BzLnJlZ2lvbmFsUmVxdWVzdENvdW50XG4gICAgICAgICAgICA6IHRlc3RQcm9wcy5yZXF1ZXN0Q291bnQsXG4gICAgICAgICAgc2NoZWR1bGU6IHRlc3RQcm9wcy5zY2hlZHVsZSxcbiAgICAgICAgICBvcGVyYXRpb246IG9wZXJhdGlvbixcbiAgICAgICAgICBsb2FkQmFsYW5jZXI6IHRlc3RQcm9wcy5sb2FkQmFsYW5jZXIsXG4gICAgICAgICAgaGVhZGVyczogdGVzdFByb3BzLmhlYWRlcnMsXG4gICAgICAgICAgcG9zdERhdGE6IHRlc3RQcm9wcy5wb3N0RGF0YSxcbiAgICAgICAgICBhek1hcHBlcjogdGhpcy5hek1hcHBlcixcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbGV0IGRlZmF1bHRBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzOiBJT3BlcmF0aW9uTWV0cmljRGV0YWlscztcbiAgICAgICAgbGV0IGRlZmF1bHRMYXRlbmN5TWV0cmljRGV0YWlsczogSU9wZXJhdGlvbk1ldHJpY0RldGFpbHM7XG5cbiAgICAgICAgaWYgKG9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzPy5jYW5hcnlBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzKSB7XG4gICAgICAgICAgZGVmYXVsdEF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMgPSBuZXcgT3BlcmF0aW9uTWV0cmljRGV0YWlscyhcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgb3BlcmF0aW9uTmFtZTogb3BlcmF0aW9uLm9wZXJhdGlvbk5hbWUsXG4gICAgICAgICAgICAgIG1ldHJpY0RpbWVuc2lvbnM6IG5ldyBNZXRyaWNEaW1lbnNpb25zKFxuICAgICAgICAgICAgICAgIHsgT3BlcmF0aW9uOiBvcGVyYXRpb24ub3BlcmF0aW9uTmFtZSB9LFxuICAgICAgICAgICAgICAgICdBWi1JRCcsXG4gICAgICAgICAgICAgICAgJ1JlZ2lvbicsXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIGFsYXJtU3RhdGlzdGljOlxuICAgICAgICAgICAgICAgIG9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzLmNhbmFyeUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHNcbiAgICAgICAgICAgICAgICAgIC5hbGFybVN0YXRpc3RpYyxcbiAgICAgICAgICAgICAgZGF0YXBvaW50c1RvQWxhcm06XG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMuY2FuYXJ5QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlsc1xuICAgICAgICAgICAgICAgICAgLmRhdGFwb2ludHNUb0FsYXJtLFxuICAgICAgICAgICAgICBldmFsdWF0aW9uUGVyaW9kczpcbiAgICAgICAgICAgICAgICBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscy5jYW5hcnlBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzXG4gICAgICAgICAgICAgICAgICAuZXZhbHVhdGlvblBlcmlvZHMsXG4gICAgICAgICAgICAgIGZhdWx0QWxhcm1UaHJlc2hvbGQ6XG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMuY2FuYXJ5QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlsc1xuICAgICAgICAgICAgICAgICAgLmZhdWx0QWxhcm1UaHJlc2hvbGQsXG4gICAgICAgICAgICAgIGZhdWx0TWV0cmljTmFtZXM6XG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMuY2FuYXJ5QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlsc1xuICAgICAgICAgICAgICAgICAgLmZhdWx0TWV0cmljTmFtZXMsXG4gICAgICAgICAgICAgIGdyYXBoZWRGYXVsdFN0YXRpc3RpY3M6XG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMuY2FuYXJ5QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlsc1xuICAgICAgICAgICAgICAgICAgLmdyYXBoZWRGYXVsdFN0YXRpc3RpY3MsXG4gICAgICAgICAgICAgIGdyYXBoZWRTdWNjZXNzU3RhdGlzdGljczpcbiAgICAgICAgICAgICAgICBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscy5jYW5hcnlBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzXG4gICAgICAgICAgICAgICAgICAuZ3JhcGhlZFN1Y2Nlc3NTdGF0aXN0aWNzLFxuICAgICAgICAgICAgICBtZXRyaWNOYW1lc3BhY2U6XG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMuY2FuYXJ5QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlsc1xuICAgICAgICAgICAgICAgICAgLm1ldHJpY05hbWVzcGFjZSxcbiAgICAgICAgICAgICAgcGVyaW9kOlxuICAgICAgICAgICAgICAgIG9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzLmNhbmFyeUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHNcbiAgICAgICAgICAgICAgICAgIC5wZXJpb2QsXG4gICAgICAgICAgICAgIHN1Y2Nlc3NBbGFybVRocmVzaG9sZDpcbiAgICAgICAgICAgICAgICBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscy5jYW5hcnlBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzXG4gICAgICAgICAgICAgICAgICAuc3VjY2Vzc0FsYXJtVGhyZXNob2xkLFxuICAgICAgICAgICAgICBzdWNjZXNzTWV0cmljTmFtZXM6XG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMuY2FuYXJ5QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlsc1xuICAgICAgICAgICAgICAgICAgLnN1Y2Nlc3NNZXRyaWNOYW1lcyxcbiAgICAgICAgICAgICAgdW5pdDogb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHNcbiAgICAgICAgICAgICAgICAuY2FuYXJ5QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscy51bml0LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9wZXJhdGlvbi5zZXJ2aWNlLmRlZmF1bHRBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSBpZiAob3BlcmF0aW9uLmNhbmFyeVRlc3RBdmFpbGFiaWxpdHlNZXRyaWNzT3ZlcnJpZGUpIHtcbiAgICAgICAgICBkZWZhdWx0QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyA9IG5ldyBPcGVyYXRpb25NZXRyaWNEZXRhaWxzKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBvcGVyYXRpb25OYW1lOiBvcGVyYXRpb24ub3BlcmF0aW9uTmFtZSxcbiAgICAgICAgICAgICAgbWV0cmljTmFtZXNwYWNlOiB0ZXN0Lm1ldHJpY05hbWVzcGFjZSxcbiAgICAgICAgICAgICAgc3VjY2Vzc01ldHJpY05hbWVzOiBbJ1N1Y2Nlc3MnXSxcbiAgICAgICAgICAgICAgZmF1bHRNZXRyaWNOYW1lczogWydGYXVsdCcsICdGYWlsdXJlJ10sXG4gICAgICAgICAgICAgIG1ldHJpY0RpbWVuc2lvbnM6IG5ldyBNZXRyaWNEaW1lbnNpb25zKFxuICAgICAgICAgICAgICAgIHsgT3BlcmF0aW9uOiBvcGVyYXRpb24ub3BlcmF0aW9uTmFtZSB9LFxuICAgICAgICAgICAgICAgICdBWi1JRCcsXG4gICAgICAgICAgICAgICAgJ1JlZ2lvbicsXG4gICAgICAgICAgICAgICksXG5cbiAgICAgICAgICAgICAgYWxhcm1TdGF0aXN0aWM6XG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeVRlc3RBdmFpbGFiaWxpdHlNZXRyaWNzT3ZlcnJpZGVcbiAgICAgICAgICAgICAgICAgIC5hbGFybVN0YXRpc3RpYyxcbiAgICAgICAgICAgICAgZGF0YXBvaW50c1RvQWxhcm06XG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeVRlc3RBdmFpbGFiaWxpdHlNZXRyaWNzT3ZlcnJpZGVcbiAgICAgICAgICAgICAgICAgIC5kYXRhcG9pbnRzVG9BbGFybSxcbiAgICAgICAgICAgICAgZXZhbHVhdGlvblBlcmlvZHM6XG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeVRlc3RBdmFpbGFiaWxpdHlNZXRyaWNzT3ZlcnJpZGVcbiAgICAgICAgICAgICAgICAgIC5ldmFsdWF0aW9uUGVyaW9kcyxcbiAgICAgICAgICAgICAgZmF1bHRBbGFybVRocmVzaG9sZDpcbiAgICAgICAgICAgICAgICBvcGVyYXRpb24uY2FuYXJ5VGVzdEF2YWlsYWJpbGl0eU1ldHJpY3NPdmVycmlkZVxuICAgICAgICAgICAgICAgICAgLmZhdWx0QWxhcm1UaHJlc2hvbGQsXG4gICAgICAgICAgICAgIHBlcmlvZDogb3BlcmF0aW9uLmNhbmFyeVRlc3RBdmFpbGFiaWxpdHlNZXRyaWNzT3ZlcnJpZGUucGVyaW9kLFxuICAgICAgICAgICAgICBzdWNjZXNzQWxhcm1UaHJlc2hvbGQ6XG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeVRlc3RBdmFpbGFiaWxpdHlNZXRyaWNzT3ZlcnJpZGVcbiAgICAgICAgICAgICAgICAgIC5zdWNjZXNzQWxhcm1UaHJlc2hvbGQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcHJvcHMuc2VydmljZS5kZWZhdWx0QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRlZmF1bHRBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzID0gbmV3IE9wZXJhdGlvbk1ldHJpY0RldGFpbHMoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG9wZXJhdGlvbk5hbWU6IG9wZXJhdGlvbi5vcGVyYXRpb25OYW1lLFxuICAgICAgICAgICAgICBtZXRyaWNOYW1lc3BhY2U6IHRlc3QubWV0cmljTmFtZXNwYWNlLFxuICAgICAgICAgICAgICBzdWNjZXNzTWV0cmljTmFtZXM6IFsnU3VjY2VzcyddLFxuICAgICAgICAgICAgICBmYXVsdE1ldHJpY05hbWVzOiBbJ0ZhdWx0JywgJ0ZhaWx1cmUnXSxcbiAgICAgICAgICAgICAgbWV0cmljRGltZW5zaW9uczogbmV3IE1ldHJpY0RpbWVuc2lvbnMoXG4gICAgICAgICAgICAgICAgeyBPcGVyYXRpb246IG9wZXJhdGlvbi5vcGVyYXRpb25OYW1lIH0sXG4gICAgICAgICAgICAgICAgJ0FaLUlEJyxcbiAgICAgICAgICAgICAgICAnUmVnaW9uJyxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwcm9wcy5zZXJ2aWNlLmRlZmF1bHRBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHM/LmNhbmFyeUxhdGVuY3lNZXRyaWNEZXRhaWxzKSB7XG4gICAgICAgICAgZGVmYXVsdExhdGVuY3lNZXRyaWNEZXRhaWxzID0gbmV3IE9wZXJhdGlvbk1ldHJpY0RldGFpbHMoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG9wZXJhdGlvbk5hbWU6IG9wZXJhdGlvbi5vcGVyYXRpb25OYW1lLFxuICAgICAgICAgICAgICBtZXRyaWNEaW1lbnNpb25zOiBuZXcgTWV0cmljRGltZW5zaW9ucyhcbiAgICAgICAgICAgICAgICB7IE9wZXJhdGlvbjogb3BlcmF0aW9uLm9wZXJhdGlvbk5hbWUgfSxcbiAgICAgICAgICAgICAgICAnQVotSUQnLFxuICAgICAgICAgICAgICAgICdSZWdpb24nLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBhbGFybVN0YXRpc3RpYzpcbiAgICAgICAgICAgICAgICBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscy5jYW5hcnlMYXRlbmN5TWV0cmljRGV0YWlsc1xuICAgICAgICAgICAgICAgICAgLmFsYXJtU3RhdGlzdGljLFxuICAgICAgICAgICAgICBkYXRhcG9pbnRzVG9BbGFybTpcbiAgICAgICAgICAgICAgICBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscy5jYW5hcnlMYXRlbmN5TWV0cmljRGV0YWlsc1xuICAgICAgICAgICAgICAgICAgLmRhdGFwb2ludHNUb0FsYXJtLFxuICAgICAgICAgICAgICBldmFsdWF0aW9uUGVyaW9kczpcbiAgICAgICAgICAgICAgICBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscy5jYW5hcnlMYXRlbmN5TWV0cmljRGV0YWlsc1xuICAgICAgICAgICAgICAgICAgLmV2YWx1YXRpb25QZXJpb2RzLFxuICAgICAgICAgICAgICBmYXVsdEFsYXJtVGhyZXNob2xkOlxuICAgICAgICAgICAgICAgIG9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzLmNhbmFyeUxhdGVuY3lNZXRyaWNEZXRhaWxzXG4gICAgICAgICAgICAgICAgICAuZmF1bHRBbGFybVRocmVzaG9sZCxcbiAgICAgICAgICAgICAgZmF1bHRNZXRyaWNOYW1lczpcbiAgICAgICAgICAgICAgICBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscy5jYW5hcnlMYXRlbmN5TWV0cmljRGV0YWlsc1xuICAgICAgICAgICAgICAgICAgLmZhdWx0TWV0cmljTmFtZXMsXG4gICAgICAgICAgICAgIGdyYXBoZWRGYXVsdFN0YXRpc3RpY3M6XG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMuY2FuYXJ5TGF0ZW5jeU1ldHJpY0RldGFpbHNcbiAgICAgICAgICAgICAgICAgIC5ncmFwaGVkRmF1bHRTdGF0aXN0aWNzLFxuICAgICAgICAgICAgICBncmFwaGVkU3VjY2Vzc1N0YXRpc3RpY3M6XG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMuY2FuYXJ5TGF0ZW5jeU1ldHJpY0RldGFpbHNcbiAgICAgICAgICAgICAgICAgIC5ncmFwaGVkU3VjY2Vzc1N0YXRpc3RpY3MsXG4gICAgICAgICAgICAgIG1ldHJpY05hbWVzcGFjZTpcbiAgICAgICAgICAgICAgICBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscy5jYW5hcnlMYXRlbmN5TWV0cmljRGV0YWlsc1xuICAgICAgICAgICAgICAgICAgLm1ldHJpY05hbWVzcGFjZSxcbiAgICAgICAgICAgICAgcGVyaW9kOlxuICAgICAgICAgICAgICAgIG9wZXJhdGlvbi5jYW5hcnlNZXRyaWNEZXRhaWxzLmNhbmFyeUxhdGVuY3lNZXRyaWNEZXRhaWxzXG4gICAgICAgICAgICAgICAgICAucGVyaW9kLFxuICAgICAgICAgICAgICBzdWNjZXNzQWxhcm1UaHJlc2hvbGQ6XG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMuY2FuYXJ5TGF0ZW5jeU1ldHJpY0RldGFpbHNcbiAgICAgICAgICAgICAgICAgIC5zdWNjZXNzQWxhcm1UaHJlc2hvbGQsXG4gICAgICAgICAgICAgIHN1Y2Nlc3NNZXRyaWNOYW1lczpcbiAgICAgICAgICAgICAgICBvcGVyYXRpb24uY2FuYXJ5TWV0cmljRGV0YWlscy5jYW5hcnlMYXRlbmN5TWV0cmljRGV0YWlsc1xuICAgICAgICAgICAgICAgICAgLnN1Y2Nlc3NNZXRyaWNOYW1lcyxcbiAgICAgICAgICAgICAgdW5pdDogb3BlcmF0aW9uLmNhbmFyeU1ldHJpY0RldGFpbHMuY2FuYXJ5TGF0ZW5jeU1ldHJpY0RldGFpbHNcbiAgICAgICAgICAgICAgICAudW5pdCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcGVyYXRpb24uc2VydmljZS5kZWZhdWx0TGF0ZW5jeU1ldHJpY0RldGFpbHMsXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIGlmIChvcGVyYXRpb24uY2FuYXJ5VGVzdExhdGVuY3lNZXRyaWNzT3ZlcnJpZGUpIHtcbiAgICAgICAgICBkZWZhdWx0TGF0ZW5jeU1ldHJpY0RldGFpbHMgPSBuZXcgT3BlcmF0aW9uTWV0cmljRGV0YWlscyhcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgb3BlcmF0aW9uTmFtZTogb3BlcmF0aW9uLm9wZXJhdGlvbk5hbWUsXG4gICAgICAgICAgICAgIG1ldHJpY05hbWVzcGFjZTogdGVzdC5tZXRyaWNOYW1lc3BhY2UsXG4gICAgICAgICAgICAgIHN1Y2Nlc3NNZXRyaWNOYW1lczogWydTdWNjZXNzTGF0ZW5jeSddLFxuICAgICAgICAgICAgICBmYXVsdE1ldHJpY05hbWVzOiBbJ0ZhdWx0TGF0ZW5jeSddLFxuICAgICAgICAgICAgICBtZXRyaWNEaW1lbnNpb25zOiBuZXcgTWV0cmljRGltZW5zaW9ucyhcbiAgICAgICAgICAgICAgICB7IE9wZXJhdGlvbjogb3BlcmF0aW9uLm9wZXJhdGlvbk5hbWUgfSxcbiAgICAgICAgICAgICAgICAnQVotSUQnLFxuICAgICAgICAgICAgICAgICdSZWdpb24nLFxuICAgICAgICAgICAgICApLFxuXG4gICAgICAgICAgICAgIGFsYXJtU3RhdGlzdGljOlxuICAgICAgICAgICAgICAgIG9wZXJhdGlvbi5jYW5hcnlUZXN0TGF0ZW5jeU1ldHJpY3NPdmVycmlkZS5hbGFybVN0YXRpc3RpYyxcbiAgICAgICAgICAgICAgZGF0YXBvaW50c1RvQWxhcm06XG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeVRlc3RMYXRlbmN5TWV0cmljc092ZXJyaWRlLmRhdGFwb2ludHNUb0FsYXJtLFxuICAgICAgICAgICAgICBldmFsdWF0aW9uUGVyaW9kczpcbiAgICAgICAgICAgICAgICBvcGVyYXRpb24uY2FuYXJ5VGVzdExhdGVuY3lNZXRyaWNzT3ZlcnJpZGUuZXZhbHVhdGlvblBlcmlvZHMsXG4gICAgICAgICAgICAgIGZhdWx0QWxhcm1UaHJlc2hvbGQ6XG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeVRlc3RMYXRlbmN5TWV0cmljc092ZXJyaWRlXG4gICAgICAgICAgICAgICAgICAuZmF1bHRBbGFybVRocmVzaG9sZCxcbiAgICAgICAgICAgICAgcGVyaW9kOiBvcGVyYXRpb24uY2FuYXJ5VGVzdExhdGVuY3lNZXRyaWNzT3ZlcnJpZGUucGVyaW9kLFxuICAgICAgICAgICAgICBzdWNjZXNzQWxhcm1UaHJlc2hvbGQ6XG4gICAgICAgICAgICAgICAgb3BlcmF0aW9uLmNhbmFyeVRlc3RMYXRlbmN5TWV0cmljc092ZXJyaWRlXG4gICAgICAgICAgICAgICAgICAuc3VjY2Vzc0FsYXJtVGhyZXNob2xkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHByb3BzLnNlcnZpY2UuZGVmYXVsdExhdGVuY3lNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVmYXVsdExhdGVuY3lNZXRyaWNEZXRhaWxzID0gbmV3IE9wZXJhdGlvbk1ldHJpY0RldGFpbHMoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG9wZXJhdGlvbk5hbWU6IG9wZXJhdGlvbi5vcGVyYXRpb25OYW1lLFxuICAgICAgICAgICAgICBtZXRyaWNOYW1lc3BhY2U6IHRlc3QubWV0cmljTmFtZXNwYWNlLFxuICAgICAgICAgICAgICBzdWNjZXNzTWV0cmljTmFtZXM6IFsnU3VjY2Vzc0xhdGVuY3knXSxcbiAgICAgICAgICAgICAgZmF1bHRNZXRyaWNOYW1lczogWydGYXVsdExhdGVuY3knXSxcbiAgICAgICAgICAgICAgbWV0cmljRGltZW5zaW9uczogbmV3IE1ldHJpY0RpbWVuc2lvbnMoXG4gICAgICAgICAgICAgICAgeyBPcGVyYXRpb246IG9wZXJhdGlvbi5vcGVyYXRpb25OYW1lIH0sXG4gICAgICAgICAgICAgICAgJ0FaLUlEJyxcbiAgICAgICAgICAgICAgICAnUmVnaW9uJyxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwcm9wcy5zZXJ2aWNlLmRlZmF1bHRMYXRlbmN5TWV0cmljRGV0YWlscyxcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IG5ld09wZXJhdGlvbiA9IG5ldyBPcGVyYXRpb24oe1xuICAgICAgICAgIHNlcnZlclNpZGVBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzOlxuICAgICAgICAgICAgb3BlcmF0aW9uLnNlcnZlclNpZGVBdmFpbGFiaWxpdHlNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgIHNlcnZlclNpZGVMYXRlbmN5TWV0cmljRGV0YWlsczpcbiAgICAgICAgICAgIG9wZXJhdGlvbi5zZXJ2ZXJTaWRlTGF0ZW5jeU1ldHJpY0RldGFpbHMsXG4gICAgICAgICAgc2VydmVyU2lkZUNvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzOlxuICAgICAgICAgICAgb3BlcmF0aW9uLnNlcnZlclNpZGVDb250cmlidXRvckluc2lnaHRSdWxlRGV0YWlscyxcbiAgICAgICAgICBzZXJ2aWNlOiBvcGVyYXRpb24uc2VydmljZSxcbiAgICAgICAgICBvcGVyYXRpb25OYW1lOiBvcGVyYXRpb24ub3BlcmF0aW9uTmFtZSxcbiAgICAgICAgICBwYXRoOiBvcGVyYXRpb24ucGF0aCxcbiAgICAgICAgICBjcml0aWNhbDogb3BlcmF0aW9uLmNyaXRpY2FsLFxuICAgICAgICAgIGh0dHBNZXRob2RzOiBvcGVyYXRpb24uaHR0cE1ldGhvZHMsXG4gICAgICAgICAgY2FuYXJ5TWV0cmljRGV0YWlsczogbmV3IENhbmFyeU1ldHJpY3Moe1xuICAgICAgICAgICAgY2FuYXJ5QXZhaWxhYmlsaXR5TWV0cmljRGV0YWlsczogZGVmYXVsdEF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMsXG4gICAgICAgICAgICBjYW5hcnlMYXRlbmN5TWV0cmljRGV0YWlsczogZGVmYXVsdExhdGVuY3lNZXRyaWNEZXRhaWxzLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9KTtcblxuICAgICAgICBwcm9wcy5zZXJ2aWNlLm9wZXJhdGlvbnNbaW5kZXhdID0gbmV3T3BlcmF0aW9uO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBJbnN0cnVtZW50ZWRTZXJ2aWNlTXVsdGlBWk9ic2VydmFiaWxpdHlQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGxldCBvdXRsaWVyVGhyZXNob2xkOiBudW1iZXI7XG5cbiAgICAvLyBTZXQgZGVmYXVsdHNcbiAgICBpZiAoIXByb3BzLm91dGxpZXJUaHJlc2hvbGQpIHtcbiAgICAgIHN3aXRjaCAocHJvcHMub3V0bGllckRldGVjdGlvbkFsZ29yaXRobSkge1xuICAgICAgICBjYXNlIE91dGxpZXJEZXRlY3Rpb25BbGdvcml0aG0uQ0hJX1NRVUFSRUQ6XG4gICAgICAgICAgb3V0bGllclRocmVzaG9sZCA9IDAuMDU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgT3V0bGllckRldGVjdGlvbkFsZ29yaXRobS5JUVI6XG4gICAgICAgICAgb3V0bGllclRocmVzaG9sZCA9IDEuNTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBPdXRsaWVyRGV0ZWN0aW9uQWxnb3JpdGhtLk1BRDpcbiAgICAgICAgICBvdXRsaWVyVGhyZXNob2xkID0gMztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBPdXRsaWVyRGV0ZWN0aW9uQWxnb3JpdGhtLlNUQVRJQzpcbiAgICAgICAgICBvdXRsaWVyVGhyZXNob2xkID0gMC43O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIE91dGxpZXJEZXRlY3Rpb25BbGdvcml0aG0uWl9TQ09SRTpcbiAgICAgICAgICBvdXRsaWVyVGhyZXNob2xkID0gMztcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgb3V0bGllclRocmVzaG9sZCA9IHByb3BzLm91dGxpZXJUaHJlc2hvbGQ7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIHRoZSBBWiBtYXBwZXIgcmVzb3VyY2UgdGhhdCBhbGwgb2YgdGhlIHJlc291cmNlc1xuICAgIC8vIHdpbGwgc2hhcmVcbiAgICB0aGlzLmF6TWFwcGVyID0gbmV3IEF2YWlsYWJpbGl0eVpvbmVNYXBwZXIodGhpcywgJ0FaTWFwcGVyJywge1xuICAgICAgYXZhaWxhYmlsaXR5Wm9uZU5hbWVzOiBwcm9wcy5zZXJ2aWNlLmF2YWlsYWJpbGl0eVpvbmVOYW1lcyxcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSB0aGUgY2FuYXJ5IHRlc3Rpbmcgc3RhY2sgaWYgdGhlIHVzZXIgcHJvdmlkZWQgaW5wdXRcbiAgICBpZiAocHJvcHMuc2VydmljZS5jYW5hcnlUZXN0UHJvcHMpIHtcbiAgICAgIGxldCBjYW5hcnlTdGFjazogU3RhY2tXaXRoRHluYW1pY1NvdXJjZSA9IG5ldyBTdGFja1dpdGhEeW5hbWljU291cmNlKFxuICAgICAgICB0aGlzLFxuICAgICAgICAnQ2FuYXJ5JyxcbiAgICAgICAge1xuICAgICAgICAgIGFzc2V0c0J1Y2tldHNQYXJhbWV0ZXJOYW1lOiBwcm9wcy5hc3NldHNCdWNrZXRQYXJhbWV0ZXJOYW1lLFxuICAgICAgICAgIGFzc2V0c0J1Y2tldFByZWZpeFBhcmFtZXRlck5hbWU6XG4gICAgICAgICAgICBwcm9wcy5hc3NldHNCdWNrZXRQcmVmaXhQYXJhbWV0ZXJOYW1lLFxuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgICAgdGhpcy5zZXR1cENhbmFyeVRlc3RzKGNhbmFyeVN0YWNrLCBwcm9wcyk7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIHRoZSBvdXRsaWVyIGRldGVjdGlvbiBsYW1iZGEgZnVuY3Rpb24gc3RhY2sgaWYgd2UncmUgbm90XG4gICAgLy8gdXNpbmcgc3RhdGljIG91dGxpZXIgZGV0ZWN0aW9uXG4gICAgaWYgKHByb3BzLm91dGxpZXJEZXRlY3Rpb25BbGdvcml0aG0gIT0gT3V0bGllckRldGVjdGlvbkFsZ29yaXRobS5TVEFUSUMpIHtcbiAgICAgIGxldCBvdXRsaWVyRGV0ZWN0aW9uU3RhY2s6IFN0YWNrV2l0aER5bmFtaWNTb3VyY2UgPVxuICAgICAgICBuZXcgU3RhY2tXaXRoRHluYW1pY1NvdXJjZSh0aGlzLCAnT3V0bGllckRldGVjdGlvblN0YWNrJywge1xuICAgICAgICAgIGFzc2V0c0J1Y2tldHNQYXJhbWV0ZXJOYW1lOiBwcm9wcy5hc3NldHNCdWNrZXRQYXJhbWV0ZXJOYW1lLFxuICAgICAgICAgIGFzc2V0c0J1Y2tldFByZWZpeFBhcmFtZXRlck5hbWU6XG4gICAgICAgICAgICBwcm9wcy5hc3NldHNCdWNrZXRQcmVmaXhQYXJhbWV0ZXJOYW1lLFxuICAgICAgICB9KTtcbiAgXG4gICAgICB0aGlzLm91dGxpZXJEZXRlY3Rpb25GdW5jdGlvbiA9IG5ldyBPdXRsaWVyRGV0ZWN0aW9uRnVuY3Rpb24oXG4gICAgICAgIG91dGxpZXJEZXRlY3Rpb25TdGFjayxcbiAgICAgICAgJ091dGxpZXJEZXRlY3Rpb25GdW5jdGlvbicsXG4gICAgICAgIHt9LFxuICAgICAgKS5mdW5jdGlvbjtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgdGhlIHBlciBvcGVyYXRpb24gYWxhcm1zIGFuZCBjb250cmlidXRvciBpbnNpZ2h0IHJ1bGVzXG4gICAgdGhpcy5wZXJPcGVyYXRpb25BbGFybXNBbmRSdWxlcyA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIHByb3BzLnNlcnZpY2Uub3BlcmF0aW9ucy5tYXAoKG9wZXJhdGlvbjogSU9wZXJhdGlvbikgPT4ge1xuICAgICAgICBsZXQgbmVzdGVkU3RhY2s6IE5lc3RlZFN0YWNrID0gbmV3IE5lc3RlZFN0YWNrKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgb3BlcmF0aW9uLm9wZXJhdGlvbk5hbWUgKyAnT3BlcmF0aW9uQWxhcm1zQW5kUnVsZXNOZXN0ZWRTdGFjaycsXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICBvcGVyYXRpb24ub3BlcmF0aW9uTmFtZSxcbiAgICAgICAgICBuZXcgT3BlcmF0aW9uQWxhcm1zQW5kUnVsZXMobmVzdGVkU3RhY2ssIG9wZXJhdGlvbi5vcGVyYXRpb25OYW1lLCB7XG4gICAgICAgICAgICBvcGVyYXRpb246IG9wZXJhdGlvbixcbiAgICAgICAgICAgIGxhdGVuY3lPdXRsaWVyRGV0ZWN0aW9uQWxnb3JpdGhtOiBwcm9wcy5vdXRsaWVyRGV0ZWN0aW9uQWxnb3JpdGhtLFxuICAgICAgICAgICAgYXZhaWxhYmlsaXR5T3V0bGllckRldGVjdGlvbkFsZ29yaXRobTogcHJvcHMub3V0bGllckRldGVjdGlvbkFsZ29yaXRobSxcbiAgICAgICAgICAgIGxhdGVuY3lPdXRsaWVyVGhyZXNob2xkOiBvdXRsaWVyVGhyZXNob2xkLFxuICAgICAgICAgICAgYXZhaWxhYmlsaXR5T3V0bGllclRocmVzaG9sZDogb3V0bGllclRocmVzaG9sZCxcbiAgICAgICAgICAgIGxvYWRCYWxhbmNlcjogcHJvcHMuc2VydmljZS5sb2FkQmFsYW5jZXIsXG4gICAgICAgICAgICBhek1hcHBlcjogdGhpcy5hek1hcHBlcixcbiAgICAgICAgICAgIG91dGxpZXJEZXRlY3Rpb25GdW5jdGlvbjogdGhpcy5vdXRsaWVyRGV0ZWN0aW9uRnVuY3Rpb24sXG4gICAgICAgICAgfSksXG4gICAgICAgIF07XG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgdGhpcy5wZXJPcGVyYXRpb25ab25hbEltcGFjdEFsYXJtcyA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIE9iamVjdC5lbnRyaWVzKHRoaXMucGVyT3BlcmF0aW9uQWxhcm1zQW5kUnVsZXMpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIHJldHVybiBba2V5LCB2YWx1ZS5hZ2dyZWdhdGVab25hbEFsYXJtc107XG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgbGV0IHNlcnZpY2VBbGFybXNTdGFjazogTmVzdGVkU3RhY2sgPSBuZXcgTmVzdGVkU3RhY2soXG4gICAgICB0aGlzLFxuICAgICAgJ1NlcnZpY2VBbGFybXNOZXN0ZWRTdGFjaycsXG4gICAgKTtcblxuICAgIHRoaXMuc2VydmljZUFsYXJtcyA9IG5ldyBTZXJ2aWNlQWxhcm1zQW5kUnVsZXMoXG4gICAgICBzZXJ2aWNlQWxhcm1zU3RhY2ssXG4gICAgICBwcm9wcy5zZXJ2aWNlLnNlcnZpY2VOYW1lLFxuICAgICAge1xuICAgICAgICBwZXJPcGVyYXRpb25BbGFybXNBbmRSdWxlczogdGhpcy5wZXJPcGVyYXRpb25BbGFybXNBbmRSdWxlcyxcbiAgICAgICAgc2VydmljZTogcHJvcHMuc2VydmljZSxcbiAgICAgICAgYXpNYXBwZXI6IHRoaXMuYXpNYXBwZXIsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICBpZiAocHJvcHMuY3JlYXRlRGFzaGJvYXJkcykge1xuICAgICAgdGhpcy5vcGVyYXRpb25EYXNoYm9hcmRzID0gW107XG5cbiAgICAgIHByb3BzLnNlcnZpY2Uub3BlcmF0aW9ucy5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICAgIGxldCBkYXNoYm9hcmRTdGFjazogTmVzdGVkU3RhY2sgPSBuZXcgTmVzdGVkU3RhY2soXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICB4Lm9wZXJhdGlvbk5hbWUgKyAnRGFzaGJvYXJkJyxcbiAgICAgICAgICB7fSxcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLm9wZXJhdGlvbkRhc2hib2FyZHMhLnB1c2goXG4gICAgICAgICAgbmV3IE9wZXJhdGlvbkF2YWlsYWJpbGl0eUFuZExhdGVuY3lEYXNoYm9hcmQoXG4gICAgICAgICAgICBkYXNoYm9hcmRTdGFjayxcbiAgICAgICAgICAgIHgub3BlcmF0aW9uTmFtZSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgb3BlcmF0aW9uQWxhcm1zQW5kUnVsZXM6IHRoaXMucGVyT3BlcmF0aW9uQWxhcm1zQW5kUnVsZXNbeC5vcGVyYXRpb25OYW1lXSxcbiAgICAgICAgICAgICAgYXpNYXBwZXI6IHRoaXMuYXpNYXBwZXIsXG4gICAgICAgICAgICAgIGludGVydmFsOiBwcm9wcy5pbnRlcnZhbFxuICAgICAgICAgICAgICAgID8gcHJvcHMuaW50ZXJ2YWxcbiAgICAgICAgICAgICAgICA6IER1cmF0aW9uLm1pbnV0ZXMoNjApLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICApLmRhc2hib2FyZCxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuXG4gICAgICBsZXQgZGFzaGJvYXJkU3RhY2s6IE5lc3RlZFN0YWNrID0gbmV3IE5lc3RlZFN0YWNrKFxuICAgICAgICB0aGlzLFxuICAgICAgICAnU2VydmljZURhc2hib2FyZCcsXG4gICAgICAgIHt9LFxuICAgICAgKTtcblxuICAgICAgLy8gVE9PRDogUmV2YW1wIHNlcnZpY2UgbGV2ZWwgZGFzaGJvYXJkIGFuZCByZXRoaW5rIGFsYXJtc1xuICAgICAgdGhpcy5zZXJ2aWNlRGFzaGJvYXJkID0gbmV3IFNlcnZpY2VBdmFpbGFiaWxpdHlBbmRMYXRlbmN5RGFzaGJvYXJkKFxuICAgICAgICBkYXNoYm9hcmRTdGFjayxcbiAgICAgICAgcHJvcHMuc2VydmljZS5zZXJ2aWNlTmFtZS50b0xvd2VyQ2FzZSgpLFxuICAgICAgICB7XG4gICAgICAgICAgaW50ZXJ2YWw6IHByb3BzLmludGVydmFsID8gcHJvcHMuaW50ZXJ2YWwgOiBEdXJhdGlvbi5taW51dGVzKDYwKSxcbiAgICAgICAgICBzZXJ2aWNlQWxhcm1zQW5kUnVsZXM6IHRoaXMuc2VydmljZUFsYXJtcyxcbiAgICAgICAgICBzZXJ2aWNlOiBwcm9wcy5zZXJ2aWNlLFxuICAgICAgICAgIGF6TWFwcGVyOiB0aGlzLmF6TWFwcGVyLFxuICAgICAgICAgIG9wZXJhdGlvbnNEYXNoYm9hcmQ6IHRoaXMub3BlcmF0aW9uRGFzaGJvYXJkc1xuICAgICAgICB9LFxuICAgICAgKS5kYXNoYm9hcmQ7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -30,5 +30,5 @@ class Operation {
|
|
|
30
30
|
}
|
|
31
31
|
exports.Operation = Operation;
|
|
32
32
|
_a = JSII_RTTI_SYMBOL_1;
|
|
33
|
-
Operation[_a] = { fqn: "@cdklabs/multi-az-observability.Operation", version: "0.0.1-alpha.
|
|
33
|
+
Operation[_a] = { fqn: "@cdklabs/multi-az-observability.Operation", version: "0.0.1-alpha.39" };
|
|
34
34
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL09wZXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVdBOztHQUVHO0FBQ0gsTUFBYSxTQUFTO0lBOEVwQixZQUFZLEtBQXFCO1FBQy9CLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUMsbUJBQW1CLENBQUM7UUFDckQsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxtQ0FBbUM7WUFDdEMsS0FBSyxDQUFDLG1DQUFtQyxDQUFDO1FBQzVDLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxLQUFLLENBQUMsOEJBQThCLENBQUM7UUFDM0UsSUFBSSxDQUFDLHVDQUF1QztZQUMxQyxLQUFLLENBQUMsdUNBQXVDLENBQUM7UUFDaEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzdCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQztRQUM3QyxJQUFJLENBQUMsNEJBQTRCLEdBQUcsS0FBSyxDQUFDLDRCQUE0QixDQUFDO1FBQ3ZFLElBQUksQ0FBQyxxQ0FBcUM7WUFDeEMsS0FBSyxDQUFDLHFDQUFxQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxnQ0FBZ0M7WUFDbkMsS0FBSyxDQUFDLGdDQUFnQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyw0QkFBNEIsR0FBRyxLQUFLLENBQUMsNEJBQTRCLENBQUM7SUFDekUsQ0FBQzs7QUFqR0gsOEJBa0dDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuaW1wb3J0IHsgSUNhbmFyeU1ldHJpY3MgfSBmcm9tICcuL0lDYW5hcnlNZXRyaWNzJztcbmltcG9ydCB7IElDYW5hcnlUZXN0TWV0cmljc092ZXJyaWRlIH0gZnJvbSAnLi9JQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZSc7XG5pbXBvcnQgeyBJQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHMgfSBmcm9tICcuL0lDb250cmlidXRvckluc2lnaHRSdWxlRGV0YWlscyc7XG5pbXBvcnQgeyBJT3BlcmF0aW9uIH0gZnJvbSAnLi9JT3BlcmF0aW9uJztcbmltcG9ydCB7IElPcGVyYXRpb25NZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9JT3BlcmF0aW9uTWV0cmljRGV0YWlscyc7XG5pbXBvcnQgeyBJU2VydmljZSB9IGZyb20gJy4vSVNlcnZpY2UnO1xuaW1wb3J0IHsgT3BlcmF0aW9uUHJvcHMgfSBmcm9tICcuL3Byb3BzL09wZXJhdGlvblByb3BzJztcbmltcG9ydCB7IEFkZENhbmFyeVRlc3RQcm9wcyB9IGZyb20gJy4uL2NhbmFyaWVzL3Byb3BzL0FkZENhbmFyeVRlc3RQcm9wcyc7XG5cbi8qKlxuICogQSBzaW5nbGUgb3BlcmF0aW9uIHRoYXQgaXMgcGFydCBvZiBhIHNlcnZpY2VcbiAqL1xuZXhwb3J0IGNsYXNzIE9wZXJhdGlvbiBpbXBsZW1lbnRzIElPcGVyYXRpb24ge1xuICAvKipcbiAgICogVGhlIHNlcnZpY2UgdGhlIG9wZXJhdGlvbiBpcyBhc3NvY2lhdGVkIHdpdGhcbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2U6IElTZXJ2aWNlO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgb3BlcmF0aW9uXG4gICAqL1xuICByZWFkb25seSBvcGVyYXRpb25OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqICBUaGUgSFRUUCBwYXRoIGZvciB0aGUgb3BlcmF0aW9uIGZvciBjYW5hcmllc1xuICAgKiAgdG8gcnVuIGFnYWluc3QsIHNvbWV0aGluZyBsaWtlIFwiL3Byb2R1Y3RzL2xpc3RcIlxuICAgKi9cbiAgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2VydmVyIHNpZGUgYXZhaWxhYmlsaXR5IG1ldHJpYyBkZXRhaWxzXG4gICAqL1xuICByZWFkb25seSBzZXJ2ZXJTaWRlQXZhaWxhYmlsaXR5TWV0cmljRGV0YWlsczogSU9wZXJhdGlvbk1ldHJpY0RldGFpbHM7XG5cbiAgLyoqXG4gICAqIFRoZSBzZXJ2ZXIgc2lkZSBsYXRlbmN5IG1ldHJpYyBkZXRhaWxzXG4gICAqL1xuICByZWFkb25seSBzZXJ2ZXJTaWRlTGF0ZW5jeU1ldHJpY0RldGFpbHM6IElPcGVyYXRpb25NZXRyaWNEZXRhaWxzO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBtZXRyaWMgZGV0YWlscyBpZiB0aGUgc2VydmljZSBoYXMgYSBjYW5hcnlcbiAgICovXG4gIHJlYWRvbmx5IGNhbmFyeU1ldHJpY0RldGFpbHM/OiBJQ2FuYXJ5TWV0cmljcztcblxuICAvKipcbiAgICogVGhlIG92ZXJyaWRlIHZhbHVlcyBmb3IgYXV0b21hdGljYWxseSBjcmVhdGVkIGNhbmFyeSB0ZXN0cyBzbyB5b3UgY2FuXG4gICAqIHVzZSB2YWx1ZXMgb3RoZXIgdGhhbiB0aGUgc2VydmljZSBkZWZhdWx0cyB0byBkZWZpbmUgdGhlIHRocmVzaG9sZHMgZm9yXG4gICAqIGF2YWlsYWJpbGl0eS5cbiAgICovXG4gIHJlYWRvbmx5IGNhbmFyeVRlc3RBdmFpbGFiaWxpdHlNZXRyaWNzT3ZlcnJpZGU/OiBJQ2FuYXJ5VGVzdE1ldHJpY3NPdmVycmlkZTtcblxuICAvKipcbiAgICogVGhlIG92ZXJyaWRlIHZhbHVlcyBmb3IgYXV0b21hdGljYWxseSBjcmVhdGVkIGNhbmFyeSB0ZXN0cyBzbyB5b3UgY2FuXG4gICAqIHVzZSB2YWx1ZXMgb3RoZXIgdGhhbiB0aGUgc2VydmljZSBkZWZhdWx0cyB0byBkZWZpbmUgdGhlIHRocmVzaG9sZHMgZm9yXG4gICAqIGxhdGVuY3kuXG4gICAqL1xuICByZWFkb25seSBjYW5hcnlUZXN0TGF0ZW5jeU1ldHJpY3NPdmVycmlkZT86IElDYW5hcnlUZXN0TWV0cmljc092ZXJyaWRlO1xuXG4gIC8qKlxuICAgKiBUaGUgc2VydmVyIHNpZGUgZGV0YWlscyBmb3IgY29udHJpYnV0b3IgaW5zaWdodHMgcnVsZXNcbiAgICovXG4gIHJlYWRvbmx5IHNlcnZlclNpZGVDb250cmlidXRvckluc2lnaHRSdWxlRGV0YWlscz86IElDb250cmlidXRvckluc2lnaHRSdWxlRGV0YWlscztcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHRoaXMgaXMgYSBjcml0aWNhbCBvcGVyYXRpb24gZm9yIHRoZSBzZXJ2aWNlXG4gICAqIGFuZCB3aWxsIGJlIGluY2x1ZGVkIGluIHNlcnZpY2UgbGV2ZWwgbWV0cmljcyBhbmRcbiAgICogZGFzaGJvYXJkc1xuICAgKi9cbiAgcmVhZG9ubHkgY3JpdGljYWw6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBodHRwIG1ldGhvZHMgc3VwcG9ydGVkIGJ5IHRoZSBvcGVyYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IGh0dHBNZXRob2RzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogSWYgdGhleSBoYXZlIGJlZW4gYWRkZWQsIHRoZSBwcm9wZXJ0aWVzIGZvclxuICAgKiBjcmVhdGluZyBuZXcgY2FuYXJ5IHRlc3RzIG9uIHRoaXMgb3BlcmF0aW9uXG4gICAqL1xuICByZWFkb25seSBjYW5hcnlUZXN0UHJvcHM/OiBBZGRDYW5hcnlUZXN0UHJvcHM7XG5cbiAgLyoqXG4gICAqIFNldCB0byB0cnVlIGlmIHlvdSBoYXZlIGRlZmluZWQgQ2FuYXJ5VGVzdFByb3BzIGZvciB5b3VyXG4gICAqIHNlcnZpY2UsIHdoaWNoIGFwcGxpZXMgdG8gYWxsIG9wZXJhdGlvbnMsIGJ1dCB5b3Ugd2FudCB0b1xuICAgKiBvcHQgb3V0IG9mIGNyZWF0aW5nIHRoZSBjYW5hcnkgdGVzdCBmb3IgdGhpcyBvcGVyYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gVGhlIG9wZXJhdGlvbiBpcyBub3Qgb3B0ZWQgb3V0XG4gICAqL1xuICByZWFkb25seSBvcHRPdXRPZlNlcnZpY2VDcmVhdGVkQ2FuYXJ5PzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcm9wczogT3BlcmF0aW9uUHJvcHMpIHtcbiAgICB0aGlzLmNhbmFyeU1ldHJpY0RldGFpbHMgPSBwcm9wcy5jYW5hcnlNZXRyaWNEZXRhaWxzO1xuICAgIHRoaXMuaHR0cE1ldGhvZHMgPSBwcm9wcy5odHRwTWV0aG9kcztcbiAgICB0aGlzLmNyaXRpY2FsID0gcHJvcHMuY3JpdGljYWw7XG4gICAgdGhpcy5vcGVyYXRpb25OYW1lID0gcHJvcHMub3BlcmF0aW9uTmFtZTtcbiAgICB0aGlzLnBhdGggPSBwcm9wcy5wYXRoO1xuICAgIHRoaXMuc2VydmVyU2lkZUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMgPVxuICAgICAgcHJvcHMuc2VydmVyU2lkZUF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHM7XG4gICAgdGhpcy5zZXJ2ZXJTaWRlTGF0ZW5jeU1ldHJpY0RldGFpbHMgPSBwcm9wcy5zZXJ2ZXJTaWRlTGF0ZW5jeU1ldHJpY0RldGFpbHM7XG4gICAgdGhpcy5zZXJ2ZXJTaWRlQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHMgPVxuICAgICAgcHJvcHMuc2VydmVyU2lkZUNvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzO1xuICAgIHRoaXMuc2VydmljZSA9IHByb3BzLnNlcnZpY2U7XG4gICAgdGhpcy5jYW5hcnlUZXN0UHJvcHMgPSBwcm9wcy5jYW5hcnlUZXN0UHJvcHM7XG4gICAgdGhpcy5vcHRPdXRPZlNlcnZpY2VDcmVhdGVkQ2FuYXJ5ID0gcHJvcHMub3B0T3V0T2ZTZXJ2aWNlQ3JlYXRlZENhbmFyeTtcbiAgICB0aGlzLmNhbmFyeVRlc3RBdmFpbGFiaWxpdHlNZXRyaWNzT3ZlcnJpZGUgPVxuICAgICAgcHJvcHMuY2FuYXJ5VGVzdEF2YWlsYWJpbGl0eU1ldHJpY3NPdmVycmlkZTtcbiAgICB0aGlzLmNhbmFyeVRlc3RMYXRlbmN5TWV0cmljc092ZXJyaWRlID1cbiAgICAgIHByb3BzLmNhbmFyeVRlc3RMYXRlbmN5TWV0cmljc092ZXJyaWRlO1xuICAgIHRoaXMub3B0T3V0T2ZTZXJ2aWNlQ3JlYXRlZENhbmFyeSA9IHByb3BzLm9wdE91dE9mU2VydmljZUNyZWF0ZWRDYW5hcnk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -46,5 +46,5 @@ class OperationMetricDetails {
|
|
|
46
46
|
}
|
|
47
47
|
exports.OperationMetricDetails = OperationMetricDetails;
|
|
48
48
|
_a = JSII_RTTI_SYMBOL_1;
|
|
49
|
-
OperationMetricDetails[_a] = { fqn: "@cdklabs/multi-az-observability.OperationMetricDetails", version: "0.0.1-alpha.
|
|
49
|
+
OperationMetricDetails[_a] = { fqn: "@cdklabs/multi-az-observability.OperationMetricDetails", version: "0.0.1-alpha.39" };
|
|
50
50
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9uTWV0cmljRGV0YWlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9PcGVyYXRpb25NZXRyaWNEZXRhaWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBU0E7O0dBRUc7QUFDSCxNQUFhLHNCQUFzQjtJQXFGakMsWUFDRSxLQUFrQyxFQUNsQyxZQUFtQztRQUVuQyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjO1lBQ3hDLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBYztZQUN0QixDQUFDLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQztRQUNoQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLGlCQUFpQjtZQUM5QyxDQUFDLENBQUMsS0FBSyxDQUFDLGlCQUFpQjtZQUN6QixDQUFDLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDO1FBQ25DLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUMsaUJBQWlCO1lBQzlDLENBQUMsQ0FBQyxLQUFLLENBQUMsaUJBQWlCO1lBQ3pCLENBQUMsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUM7UUFDbkMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQyxtQkFBbUI7WUFDbEQsQ0FBQyxDQUFDLEtBQUssQ0FBQyxtQkFBbUI7WUFDM0IsQ0FBQyxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQztRQUNyQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLGdCQUFnQjtZQUM1QyxDQUFDLENBQUMsS0FBSyxDQUFDLGdCQUFnQjtZQUN4QixDQUFDLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDO1FBQ2xDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUMsc0JBQXNCO1lBQ3hELENBQUMsQ0FBQyxLQUFLLENBQUMsc0JBQXNCO1lBQzlCLENBQUMsQ0FBQyxZQUFZLENBQUMsc0JBQXNCLENBQUM7UUFDeEMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLEtBQUssQ0FBQyx3QkFBd0I7WUFDNUQsQ0FBQyxDQUFDLEtBQUssQ0FBQyx3QkFBd0I7WUFDaEMsQ0FBQyxDQUFDLFlBQVksQ0FBQyx3QkFBd0IsQ0FBQztRQUMxQyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxlQUFlO1lBQzFDLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBZTtZQUN2QixDQUFDLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQztRQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO1FBQ2hFLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUMscUJBQXFCO1lBQ3RELENBQUMsQ0FBQyxLQUFLLENBQUMscUJBQXFCO1lBQzdCLENBQUMsQ0FBQyxZQUFZLENBQUMscUJBQXFCLENBQUM7UUFDdkMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxrQkFBa0I7WUFDaEQsQ0FBQyxDQUFDLEtBQUssQ0FBQyxrQkFBa0I7WUFDMUIsQ0FBQyxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQztRQUNwQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFDeEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqRCxDQUFDOztBQTNISCx3REE0SEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5pbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IFVuaXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaCc7XG5pbXBvcnQgeyBJT3BlcmF0aW9uTWV0cmljRGV0YWlscyB9IGZyb20gJy4vSU9wZXJhdGlvbk1ldHJpY0RldGFpbHMnO1xuaW1wb3J0IHsgSVNlcnZpY2VNZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9JU2VydmljZU1ldHJpY0RldGFpbHMnO1xuaW1wb3J0IHsgTWV0cmljRGltZW5zaW9ucyB9IGZyb20gJy4vcHJvcHMvTWV0cmljRGltZW5zaW9ucyc7XG5pbXBvcnQgeyBPcGVyYXRpb25NZXRyaWNEZXRhaWxzUHJvcHMgfSBmcm9tICcuL3Byb3BzL09wZXJhdGlvbk1ldHJpY0RldGFpbHNQcm9wcyc7XG5cbi8qKlxuICogR2VuZXJpYyBtZXRyaWMgZGV0YWlscyBmb3IgYW4gb3BlcmF0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBPcGVyYXRpb25NZXRyaWNEZXRhaWxzIGltcGxlbWVudHMgSU9wZXJhdGlvbk1ldHJpY0RldGFpbHMge1xuICAvKipcbiAgICogVGhlIG9wZXJhdGlvbiB0aGVzZSBtZXRyaWMgZGV0YWlscyBhcmUgZm9yXG4gICAqL1xuICByZWFkb25seSBvcGVyYXRpb25OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBDbG91ZFdhdGNoIG1ldHJpYyBuYW1lc3BhY2UgZm9yIHRoZXNlIG1ldHJpY3NcbiAgICovXG4gIHJlYWRvbmx5IG1ldHJpY05hbWVzcGFjZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZXMgb2Ygc3VjY2VzcyBpbmRpY2F0aW5nIG1ldHJpY3NcbiAgICovXG4gIHJlYWRvbmx5IHN1Y2Nlc3NNZXRyaWNOYW1lczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lcyBvZiBmYXVsdCBpbmRpY2F0aW5nIG1ldHJpY3NcbiAgICovXG4gIHJlYWRvbmx5IGZhdWx0TWV0cmljTmFtZXM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhdGlzdGljIHVzZWQgZm9yIGFsYXJtcywgZm9yIGF2YWlsYWJpbGl0eSBtZXRyaWNzIHRoaXMgc2hvdWxkXG4gICAqIGJlIFwiU3VtXCIsIGZvciBsYXRlbmN5IG1ldHJpY3MgaXQgY291bGQgc29tZXRoaW5nIGxpa2UgXCJwOTlcIiBvciBcInA5OS45XCJcbiAgICovXG4gIHJlYWRvbmx5IGFsYXJtU3RhdGlzdGljOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdGF0aXN0aWNzIGZvciBzdWNjZXNzZXMgeW91IHdhbnQgdG8gYXBwZWFyIG9uIGRhc2hib2FyZHMsIGZvciBleGFtcGxlLCB3aXRoXG4gICAqIGxhdGVuY3kgbWV0cmljcywgeW91IG1pZ2h0IHdhbnQgcDUwLCBwOTksIGFuZCB0bTk5LiBGb3IgYXZhaWxhYmlsaXR5XG4gICAqIG1ldHJpY3MgdGhpcyB3aWxsIHR5cGljYWxseSBqdXN0IGJlIFwiU3VtXCIuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRm9yIGF2YWlsYWJpbGl0eSBtZXRyaWNzLCB0aGlzIHdpbGwgYmUgXCJTdW1cIiwgZm9yIGxhdGVuY3kgbWV0cmljcyBpdCB3aWxsIGJlIGp1c3QgXCJwOTlcIlxuICAgKi9cbiAgcmVhZG9ubHkgZ3JhcGhlZFN1Y2Nlc3NTdGF0aXN0aWNzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBzdGF0aXN0aWNzIGZvciBmYXVsdHMgeW91IHdhbnQgdG8gYXBwZWFyIG9uIGRhc2hib2FyZHMsIGZvciBleGFtcGxlLCB3aXRoXG4gICAqIGxhdGVuY3kgbWV0cmljcywgeW91IG1pZ2h0IHdhbnQgcDUwLCBwOTksIGFuZCB0bTk5LiBGb3IgYXZhaWxhYmlsaXR5XG4gICAqIG1ldHJpY3MgdGhpcyB3aWxsIHR5cGljYWxseSBqdXN0IGJlIFwiU3VtXCIuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRm9yIGF2YWlsYWJpbGl0eSBtZXRyaWNzLCB0aGlzIHdpbGwgYmUgXCJTdW1cIiwgZm9yIGxhdGVuY3kgbWV0cmljcyBpdCB3aWxsIGJlIGp1c3QgXCJwOTlcIlxuICAgKi9cbiAgcmVhZG9ubHkgZ3JhcGhlZEZhdWx0U3RhdGlzdGljcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgdW5pdCB1c2VkIGZvciB0aGVzZSBtZXRyaWNzXG4gICAqL1xuICByZWFkb25seSB1bml0OiBVbml0O1xuXG4gIC8qKlxuICAgKiBUaGUgcGVyaW9kIGZvciB0aGUgbWV0cmljc1xuICAgKi9cbiAgcmVhZG9ubHkgcGVyaW9kOiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBldmFsdWF0aW9uIHBlcmlvZHMgZm9yIGxhdGVuY3kgYW5kIGF2YWlsYWJpbHRpeSBhbGFybXNcbiAgICovXG4gIHJlYWRvbmx5IGV2YWx1YXRpb25QZXJpb2RzOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgZGF0YXBvaW50cyB0byBhbGFybSBvbiBmb3IgbGF0ZW5jeSBhbmQgYXZhaWxhYmlsaXR5IGFsYXJtc1xuICAgKi9cbiAgcmVhZG9ubHkgZGF0YXBvaW50c1RvQWxhcm06IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHRocmVzaG9sZCBmb3IgYWxhcm1zIGFzc29jaWF0ZWQgd2l0aCBzdWNjZXNzIG1ldHJpY3MsIGZvciBleGFtcGxlIGlmIG1lYXN1cmluZ1xuICAgKiBzdWNjZXNzIHJhdGUsIHRoZSB0aHJlc2hvbGQgbWF5IGJlIDk5LCBtZWFuaW5nIHlvdSB3b3VsZCB3YW50IGFuIGFsYXJtIHRoYXQgdHJpZ2dlcnNcbiAgICogaWYgc3VjY2VzcyBkcm9wcyBiZWxvdyA5OSUuXG4gICAqL1xuICByZWFkb25seSBzdWNjZXNzQWxhcm1UaHJlc2hvbGQ6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHRocmVzaG9sZCBmb3IgYWxhcm1zIGFzc29jaWF0ZWQgd2l0aCBmYXVsdCBtZXRyaWNzLCBmb3IgZXhhbXBsZSBpZiBtZWFzdXJpbmdcbiAgICogZmF1bHQgcmF0ZSwgdGhlIHRocmVzaG9sZCBtYXkgYmUgMSwgbWVhbmluZyB5b3Ugd291bGQgd2FudCBhbiBhbGFybSB0aGF0IHRyaWdnZXJzXG4gICAqIGlmIHRoZSBmYXVsdCByYXRlIGdvZXMgYWJvdmUgMSUuXG4gICAqL1xuICByZWFkb25seSBmYXVsdEFsYXJtVGhyZXNob2xkOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtZXRyaWMgZGltZW5zaW9ucyBmb3IgdGhpcyBvcGVyYXRpb24sIG11c3QgYmUgaW1wbGVtZW50ZWRcbiAgICogYXMgYSBjb25jcmV0ZSBjbGFzcyBieSB0aGUgdXNlclxuICAgKi9cbiAgcmVhZG9ubHkgbWV0cmljRGltZW5zaW9uczogTWV0cmljRGltZW5zaW9ucztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm9wczogT3BlcmF0aW9uTWV0cmljRGV0YWlsc1Byb3BzLFxuICAgIGRlZmF1bHRQcm9wczogSVNlcnZpY2VNZXRyaWNEZXRhaWxzLFxuICApIHtcbiAgICB0aGlzLmFsYXJtU3RhdGlzdGljID0gcHJvcHMuYWxhcm1TdGF0aXN0aWNcbiAgICAgID8gcHJvcHMuYWxhcm1TdGF0aXN0aWNcbiAgICAgIDogZGVmYXVsdFByb3BzLmFsYXJtU3RhdGlzdGljO1xuICAgIHRoaXMuZGF0YXBvaW50c1RvQWxhcm0gPSBwcm9wcy5kYXRhcG9pbnRzVG9BbGFybVxuICAgICAgPyBwcm9wcy5kYXRhcG9pbnRzVG9BbGFybVxuICAgICAgOiBkZWZhdWx0UHJvcHMuZGF0YXBvaW50c1RvQWxhcm07XG4gICAgdGhpcy5ldmFsdWF0aW9uUGVyaW9kcyA9IHByb3BzLmV2YWx1YXRpb25QZXJpb2RzXG4gICAgICA/IHByb3BzLmV2YWx1YXRpb25QZXJpb2RzXG4gICAgICA6IGRlZmF1bHRQcm9wcy5ldmFsdWF0aW9uUGVyaW9kcztcbiAgICB0aGlzLmZhdWx0QWxhcm1UaHJlc2hvbGQgPSBwcm9wcy5mYXVsdEFsYXJtVGhyZXNob2xkXG4gICAgICA/IHByb3BzLmZhdWx0QWxhcm1UaHJlc2hvbGRcbiAgICAgIDogZGVmYXVsdFByb3BzLmZhdWx0QWxhcm1UaHJlc2hvbGQ7XG4gICAgdGhpcy5mYXVsdE1ldHJpY05hbWVzID0gcHJvcHMuZmF1bHRNZXRyaWNOYW1lc1xuICAgICAgPyBwcm9wcy5mYXVsdE1ldHJpY05hbWVzXG4gICAgICA6IGRlZmF1bHRQcm9wcy5mYXVsdE1ldHJpY05hbWVzO1xuICAgIHRoaXMuZ3JhcGhlZEZhdWx0U3RhdGlzdGljcyA9IHByb3BzLmdyYXBoZWRGYXVsdFN0YXRpc3RpY3NcbiAgICAgID8gcHJvcHMuZ3JhcGhlZEZhdWx0U3RhdGlzdGljc1xuICAgICAgOiBkZWZhdWx0UHJvcHMuZ3JhcGhlZEZhdWx0U3RhdGlzdGljcztcbiAgICB0aGlzLmdyYXBoZWRTdWNjZXNzU3RhdGlzdGljcyA9IHByb3BzLmdyYXBoZWRTdWNjZXNzU3RhdGlzdGljc1xuICAgICAgPyBwcm9wcy5ncmFwaGVkU3VjY2Vzc1N0YXRpc3RpY3NcbiAgICAgIDogZGVmYXVsdFByb3BzLmdyYXBoZWRTdWNjZXNzU3RhdGlzdGljcztcbiAgICB0aGlzLm1ldHJpY05hbWVzcGFjZSA9IHByb3BzLm1ldHJpY05hbWVzcGFjZVxuICAgICAgPyBwcm9wcy5tZXRyaWNOYW1lc3BhY2VcbiAgICAgIDogZGVmYXVsdFByb3BzLm1ldHJpY05hbWVzcGFjZTtcbiAgICB0aGlzLm9wZXJhdGlvbk5hbWUgPSBwcm9wcy5vcGVyYXRpb25OYW1lO1xuICAgIHRoaXMucGVyaW9kID0gcHJvcHMucGVyaW9kID8gcHJvcHMucGVyaW9kIDogZGVmYXVsdFByb3BzLnBlcmlvZDtcbiAgICB0aGlzLnN1Y2Nlc3NBbGFybVRocmVzaG9sZCA9IHByb3BzLnN1Y2Nlc3NBbGFybVRocmVzaG9sZFxuICAgICAgPyBwcm9wcy5zdWNjZXNzQWxhcm1UaHJlc2hvbGRcbiAgICAgIDogZGVmYXVsdFByb3BzLnN1Y2Nlc3NBbGFybVRocmVzaG9sZDtcbiAgICB0aGlzLnN1Y2Nlc3NNZXRyaWNOYW1lcyA9IHByb3BzLnN1Y2Nlc3NNZXRyaWNOYW1lc1xuICAgICAgPyBwcm9wcy5zdWNjZXNzTWV0cmljTmFtZXNcbiAgICAgIDogZGVmYXVsdFByb3BzLnN1Y2Nlc3NNZXRyaWNOYW1lcztcbiAgICB0aGlzLnVuaXQgPSBwcm9wcy51bml0ID8gcHJvcHMudW5pdCA6IGRlZmF1bHRQcm9wcy51bml0O1xuICAgIHRoaXMubWV0cmljRGltZW5zaW9ucyA9IHByb3BzLm1ldHJpY0RpbWVuc2lvbnM7XG4gIH1cbn1cbiJdfQ==
|
package/lib/services/Service.js
CHANGED
|
@@ -32,5 +32,5 @@ class Service {
|
|
|
32
32
|
}
|
|
33
33
|
exports.Service = Service;
|
|
34
34
|
_a = JSII_RTTI_SYMBOL_1;
|
|
35
|
-
Service[_a] = { fqn: "@cdklabs/multi-az-observability.Service", version: "0.0.1-alpha.
|
|
35
|
+
Service[_a] = { fqn: "@cdklabs/multi-az-observability.Service", version: "0.0.1-alpha.39" };
|
|
36
36
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9TZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBV0E7O0dBRUc7QUFDSCxNQUFhLE9BQU87SUF5RWxCLFlBQVksS0FBbUI7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUMscUJBQXFCLENBQUM7UUFDekQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzdCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUMsbUJBQW1CLENBQUM7UUFDckQsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUN2QyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUM7UUFDN0MsSUFBSSxDQUFDLGdDQUFnQztZQUNuQyxLQUFLLENBQUMsZ0NBQWdDLENBQUM7UUFDekMsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEtBQUssQ0FBQywyQkFBMkIsQ0FBQztRQUNyRSxJQUFJLENBQUMsb0NBQW9DO1lBQ3ZDLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsWUFBWSxDQUFDLFNBQXFCO1FBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7O0FBL0ZILDBCQWdHQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgSUxvYWRCYWxhbmNlclYyIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjInO1xuaW1wb3J0IHsgSUNvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzIH0gZnJvbSAnLi9JQ29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHMnO1xuaW1wb3J0IHsgSU9wZXJhdGlvbiB9IGZyb20gJy4vSU9wZXJhdGlvbic7XG5pbXBvcnQgeyBJU2VydmljZSB9IGZyb20gJy4vSVNlcnZpY2UnO1xuaW1wb3J0IHsgSVNlcnZpY2VNZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9JU2VydmljZU1ldHJpY0RldGFpbHMnO1xuaW1wb3J0IHsgU2VydmljZVByb3BzIH0gZnJvbSAnLi9wcm9wcy9TZXJ2aWNlUHJvcHMnO1xuaW1wb3J0IHsgQWRkQ2FuYXJ5VGVzdFByb3BzIH0gZnJvbSAnLi4vY2FuYXJpZXMvcHJvcHMvQWRkQ2FuYXJ5VGVzdFByb3BzJztcblxuLyoqXG4gKiBUaGUgcmVwcmVzZW50YXRpb24gb2YgYSBzZXJ2aWNlIGNvbXBvc2VkIG9mIG11bHRpcGxlIG9wZXJhdGlvbnNcbiAqL1xuZXhwb3J0IGNsYXNzIFNlcnZpY2UgaW1wbGVtZW50cyBJU2VydmljZSB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB5b3VyIHNlcnZpY2VcbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIGVuZHBvaW50IGZvciB0aGlzIHNlcnZpY2UsIGxpa2UgXCJodHRwczovL3d3dy5leGFtcGxlLmNvbVwiLiBPcGVyYXRpb24gcGF0aHMgd2lsbCBiZSBhcHBlbmRlZCB0byB0aGlzIGVuZHBvaW50IGZvciBjYW5hcnkgdGVzdGluZyB0aGUgc2VydmljZS5cbiAgICovXG4gIHJlYWRvbmx5IGJhc2VVcmw6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGZhdWx0IGNvdW50IHRocmVzaG9sZCB0aGF0IGluZGljYXRlcyB0aGUgc2VydmljZSBpcyB1bmhlYWx0aHkuIFRoaXMgaXMgYW4gYWJzb2x1dGUgdmFsdWUgb2YgZmF1bHRzXG4gICAqIGJlaW5nIHByb2R1Y2VkIGJ5IGFsbCBjcml0aWNhbCBvcGVyYXRpb25zIGluIGFnZ3JlZ2F0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGZhdWx0Q291bnRUaHJlc2hvbGQ6IG51bWJlcjtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIHRoZSBBdmFpbGFiaWxpdHkgWm9uZSBuYW1lcyB1c2VkIGJ5IHRoaXMgYXBwbGljYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IGF2YWlsYWJpbGl0eVpvbmVOYW1lczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBwZXJpb2QgZm9yIHdoaWNoIG1ldHJpY3MgZm9yIHRoZSBzZXJ2aWNlIHNob3VsZCBiZSBhZ2dyZWdhdGVkXG4gICAqL1xuICByZWFkb25seSBwZXJpb2Q6IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgb3BlcmF0aW9ucyB0aGF0IGFyZSBwYXJ0IG9mIHRoaXMgc2VydmljZVxuICAgKi9cbiAgcmVhZG9ubHkgb3BlcmF0aW9uczogSU9wZXJhdGlvbltdO1xuXG4gIC8qKlxuICAgKiBUaGUgbG9hZCBiYWxhbmNlciB0aGlzIHNlcnZpY2Ugc2l0cyBiZWhpbmRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBsb2FkIGJhbGFuY2VyIG1ldHJpY3Mgd2lsbCBiZSBpbmNsdWRlZCBpblxuICAgKiBkYXNoYm9hcmRzIGFuZCBpdHMgQVJOIHdpbGwgbm90IGJlIGFkZGVkIHRvIHRvcCBsZXZlbCBBWlxuICAgKiBhbGFybSBkZXNjcmlwdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBsb2FkQmFsYW5jZXI/OiBJTG9hZEJhbGFuY2VyVjI7XG5cbiAgLyoqXG4gICAqIERlZmluZSB0aGVzZSBzZXR0aW5ncyBpZiB5b3Ugd2FudCB0byBhdXRvbWF0aWNhbGx5IGFkZCBjYW5hcnlcbiAgICogdGVzdHMgdG8geW91ciBvcGVyYXRpb25zLiBPcGVyYXRpb25zIGNhbiBpbmRpdmlkdWFsbHkgb3B0IG91dFxuICAgKiBvZiBjYW5hcnkgdGVzdCBjcmVhdGlvbiBpZiB5b3UgZGVmaW5lIHRoaXMgc2V0dGluZy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBBdXRvbWF0aWMgY2FuYXJ5IHRlc3RzIHdpbGwgbm90IGJlIGNyZWF0ZWQgZm9yXG4gICAqIG9wZXJhdGlvbnMgaW4gdGhpcyBzZXJ2aWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgY2FuYXJ5VGVzdFByb3BzPzogQWRkQ2FuYXJ5VGVzdFByb3BzO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBzZXR0aW5ncyB0aGF0IGFyZSB1c2VkIGZvciBhdmFpbGFiaWxpdHkgbWV0cmljc1xuICAgKiBmb3IgYWxsIG9wZXJhdGlvbnMgdW5sZXNzIHNwZWNpZmljYWxseSBvdmVycmlkZGVuIGluIGFuXG4gICAqIG9wZXJhdGlvbiBkZWZpbml0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdEF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHM6IElTZXJ2aWNlTWV0cmljRGV0YWlscztcblxuICAvKipcbiAgICogVGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhhdCBhcmUgdXNlZCBmb3IgYXZhaWxhYmlsaXR5IG1ldHJpY3NcbiAgICogZm9yIGFsbCBvcGVyYXRpb25zIHVubGVzcyBzcGVjaWZpY2FsbHkgb3ZlcnJpZGRlbiBpbiBhblxuICAgKiBvcGVyYXRpb24gZGVmaW5pdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRMYXRlbmN5TWV0cmljRGV0YWlsczogSVNlcnZpY2VNZXRyaWNEZXRhaWxzO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBzZXR0aW5ncyB0aGF0IGFyZSB1c2VkIGZvciBjb250cmlidXRvciBpbnNpZ2h0XG4gICAqIHJ1bGVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGRlZmF1bHRzIGFyZSBwcm92aWRlZCBhbmQgbXVzdCBiZSBzcGVjaWZpZWQgcGVyIG9wZXJhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdENvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzPzogSUNvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzO1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBTZXJ2aWNlUHJvcHMpIHtcbiAgICB0aGlzLnNlcnZpY2VOYW1lID0gcHJvcHMuc2VydmljZU5hbWU7XG4gICAgdGhpcy5hdmFpbGFiaWxpdHlab25lTmFtZXMgPSBwcm9wcy5hdmFpbGFiaWxpdHlab25lTmFtZXM7XG4gICAgdGhpcy5iYXNlVXJsID0gcHJvcHMuYmFzZVVybDtcbiAgICB0aGlzLmZhdWx0Q291bnRUaHJlc2hvbGQgPSBwcm9wcy5mYXVsdENvdW50VGhyZXNob2xkO1xuICAgIHRoaXMub3BlcmF0aW9ucyA9IFtdO1xuICAgIHRoaXMucGVyaW9kID0gcHJvcHMucGVyaW9kO1xuICAgIHRoaXMubG9hZEJhbGFuY2VyID0gcHJvcHMubG9hZEJhbGFuY2VyO1xuICAgIHRoaXMuY2FuYXJ5VGVzdFByb3BzID0gcHJvcHMuY2FuYXJ5VGVzdFByb3BzO1xuICAgIHRoaXMuZGVmYXVsdEF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHMgPVxuICAgICAgcHJvcHMuZGVmYXVsdEF2YWlsYWJpbGl0eU1ldHJpY0RldGFpbHM7XG4gICAgdGhpcy5kZWZhdWx0TGF0ZW5jeU1ldHJpY0RldGFpbHMgPSBwcm9wcy5kZWZhdWx0TGF0ZW5jeU1ldHJpY0RldGFpbHM7XG4gICAgdGhpcy5kZWZhdWx0Q29udHJpYnV0b3JJbnNpZ2h0UnVsZURldGFpbHMgPVxuICAgICAgcHJvcHMuZGVmYXVsdENvbnRyaWJ1dG9ySW5zaWdodFJ1bGVEZXRhaWxzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4gb3BlcmF0aW9uIHRvIHRoaXMgc2VydmljZSBhbmQgc2V0cyB0aGUgb3BlcmF0aW9uJ3NcbiAgICogc2VydmljZSBwcm9wZXJ0eVxuICAgKi9cbiAgYWRkT3BlcmF0aW9uKG9wZXJhdGlvbjogSU9wZXJhdGlvbik6IHZvaWQge1xuICAgIHRoaXMub3BlcmF0aW9ucy5wdXNoKG9wZXJhdGlvbik7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -24,5 +24,5 @@ class ServiceMetricDetails {
|
|
|
24
24
|
}
|
|
25
25
|
exports.ServiceMetricDetails = ServiceMetricDetails;
|
|
26
26
|
_a = JSII_RTTI_SYMBOL_1;
|
|
27
|
-
ServiceMetricDetails[_a] = { fqn: "@cdklabs/multi-az-observability.ServiceMetricDetails", version: "0.0.1-alpha.
|
|
27
|
+
ServiceMetricDetails[_a] = { fqn: "@cdklabs/multi-az-observability.ServiceMetricDetails", version: "0.0.1-alpha.39" };
|
|
28
28
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmljZU1ldHJpY0RldGFpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvU2VydmljZU1ldHJpY0RldGFpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFPQTs7R0FFRztBQUNILE1BQWEsb0JBQW9CO0lBMEUvQixZQUFZLEtBQWdDO1FBQzFDLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQztRQUMzQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFDO1FBQ2pELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUM7UUFDakQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQztRQUNyRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDO1FBQy9DLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUMsc0JBQXNCLENBQUM7UUFDM0QsSUFBSSxDQUFDLHdCQUF3QixHQUFHLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQztRQUMvRCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUM7UUFDN0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUMscUJBQXFCLENBQUM7UUFDekQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztRQUNuRCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7SUFDekIsQ0FBQzs7QUF2Rkgsb0RBd0ZDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBVbml0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgSVNlcnZpY2VNZXRyaWNEZXRhaWxzIH0gZnJvbSAnLi9JU2VydmljZU1ldHJpY0RldGFpbHMnO1xuaW1wb3J0IHsgU2VydmljZU1ldHJpY0RldGFpbHNQcm9wcyB9IGZyb20gJy4vcHJvcHMvU2VydmljZU1ldHJpY0RldGFpbHNQcm9wcyc7XG5cbi8qKlxuICogRGVmYXVsdCBtZXRyaWMgZGV0YWlscyBmb3IgYSBzZXJ2aWNlXG4gKi9cbmV4cG9ydCBjbGFzcyBTZXJ2aWNlTWV0cmljRGV0YWlscyBpbXBsZW1lbnRzIElTZXJ2aWNlTWV0cmljRGV0YWlscyB7XG4gIC8qKlxuICAgKiBUaGUgQ2xvdWRXYXRjaCBtZXRyaWMgbmFtZXNwYWNlIGZvciB0aGVzZSBtZXRyaWNzXG4gICAqL1xuICByZWFkb25seSBtZXRyaWNOYW1lc3BhY2U6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWVzIG9mIHN1Y2Nlc3MgaW5kaWNhdGluZyBtZXRyaWNzXG4gICAqL1xuICByZWFkb25seSBzdWNjZXNzTWV0cmljTmFtZXM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZXMgb2YgZmF1bHQgaW5kaWNhdGluZyBtZXRyaWNzXG4gICAqL1xuICByZWFkb25seSBmYXVsdE1ldHJpY05hbWVzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIHN0YXRpc3RpYyB1c2VkIGZvciBhbGFybXMsIGZvciBhdmFpbGFiaWxpdHkgbWV0cmljcyB0aGlzIHNob3VsZFxuICAgKiBiZSBcIlN1bVwiLCBmb3IgbGF0ZW5jeSBtZXRyaWNzIGl0IGNvdWxkIHNvbWV0aGluZyBsaWtlIFwicDk5XCIgb3IgXCJwOTkuOVwiXG4gICAqL1xuICByZWFkb25seSBhbGFybVN0YXRpc3RpYzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhdGlzdGljcyBmb3Igc3VjY2Vzc2VzIHlvdSB3YW50IHRvIGFwcGVhciBvbiBkYXNoYm9hcmRzLCBmb3IgZXhhbXBsZSwgd2l0aFxuICAgKiBsYXRlbmN5IG1ldHJpY3MsIHlvdSBtaWdodCB3YW50IHA1MCwgcDk5LCBhbmQgdG05OS4gRm9yIGF2YWlsYWJpbGl0eVxuICAgKiBtZXRyaWNzIHRoaXMgd2lsbCB0eXBpY2FsbHkganVzdCBiZSBcIlN1bVwiLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEZvciBhdmFpbGFiaWxpdHkgbWV0cmljcywgdGhpcyB3aWxsIGJlIFwiU3VtXCIsIGZvciBsYXRlbmN5IG1ldHJpY3MgaXQgd2lsbCBiZSBqdXN0IFwicDk5XCJcbiAgICovXG4gIHJlYWRvbmx5IGdyYXBoZWRTdWNjZXNzU3RhdGlzdGljcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhdGlzdGljcyBmb3IgZmF1bHRzIHlvdSB3YW50IHRvIGFwcGVhciBvbiBkYXNoYm9hcmRzLCBmb3IgZXhhbXBsZSwgd2l0aFxuICAgKiBsYXRlbmN5IG1ldHJpY3MsIHlvdSBtaWdodCB3YW50IHA1MCwgcDk5LCBhbmQgdG05OS4gRm9yIGF2YWlsYWJpbGl0eVxuICAgKiBtZXRyaWNzIHRoaXMgd2lsbCB0eXBpY2FsbHkganVzdCBiZSBcIlN1bVwiLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEZvciBhdmFpbGFiaWxpdHkgbWV0cmljcywgdGhpcyB3aWxsIGJlIFwiU3VtXCIsIGZvciBsYXRlbmN5IG1ldHJpY3MgaXQgd2lsbCBiZSBqdXN0IFwicDk5XCJcbiAgICovXG4gIHJlYWRvbmx5IGdyYXBoZWRGYXVsdFN0YXRpc3RpY3M/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIHVuaXQgdXNlZCBmb3IgdGhlc2UgbWV0cmljc1xuICAgKi9cbiAgcmVhZG9ubHkgdW5pdDogVW5pdDtcblxuICAvKipcbiAgICogVGhlIHBlcmlvZCBmb3IgdGhlIG1ldHJpY3NcbiAgICovXG4gIHJlYWRvbmx5IHBlcmlvZDogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgZXZhbHVhdGlvbiBwZXJpb2RzIGZvciBsYXRlbmN5IGFuZCBhdmFpbGFiaWx0aXkgYWxhcm1zXG4gICAqL1xuICByZWFkb25seSBldmFsdWF0aW9uUGVyaW9kczogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGRhdGFwb2ludHMgdG8gYWxhcm0gb24gZm9yIGxhdGVuY3kgYW5kIGF2YWlsYWJpbGl0eSBhbGFybXNcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFwb2ludHNUb0FsYXJtOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB0aHJlc2hvbGQgZm9yIGFsYXJtcyBhc3NvY2lhdGVkIHdpdGggc3VjY2VzcyBtZXRyaWNzLCBmb3IgZXhhbXBsZSBpZiBtZWFzdXJpbmdcbiAgICogc3VjY2VzcyByYXRlLCB0aGUgdGhyZXNob2xkIG1heSBiZSA5OSwgbWVhbmluZyB5b3Ugd291bGQgd2FudCBhbiBhbGFybSB0aGF0IHRyaWdnZXJzXG4gICAqIGlmIHN1Y2Nlc3MgZHJvcHMgYmVsb3cgOTklLlxuICAgKi9cbiAgcmVhZG9ubHkgc3VjY2Vzc0FsYXJtVGhyZXNob2xkOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB0aHJlc2hvbGQgZm9yIGFsYXJtcyBhc3NvY2lhdGVkIHdpdGggZmF1bHQgbWV0cmljcywgZm9yIGV4YW1wbGUgaWYgbWVhc3VyaW5nXG4gICAqIGZhdWx0IHJhdGUsIHRoZSB0aHJlc2hvbGQgbWF5IGJlIDEsIG1lYW5pbmcgeW91IHdvdWxkIHdhbnQgYW4gYWxhcm0gdGhhdCB0cmlnZ2Vyc1xuICAgKiBpZiB0aGUgZmF1bHQgcmF0ZSBnb2VzIGFib3ZlIDElLlxuICAgKi9cbiAgcmVhZG9ubHkgZmF1bHRBbGFybVRocmVzaG9sZDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBTZXJ2aWNlTWV0cmljRGV0YWlsc1Byb3BzKSB7XG4gICAgdGhpcy5hbGFybVN0YXRpc3RpYyA9IHByb3BzLmFsYXJtU3RhdGlzdGljO1xuICAgIHRoaXMuZGF0YXBvaW50c1RvQWxhcm0gPSBwcm9wcy5kYXRhcG9pbnRzVG9BbGFybTtcbiAgICB0aGlzLmV2YWx1YXRpb25QZXJpb2RzID0gcHJvcHMuZXZhbHVhdGlvblBlcmlvZHM7XG4gICAgdGhpcy5mYXVsdEFsYXJtVGhyZXNob2xkID0gcHJvcHMuZmF1bHRBbGFybVRocmVzaG9sZDtcbiAgICB0aGlzLmZhdWx0TWV0cmljTmFtZXMgPSBwcm9wcy5mYXVsdE1ldHJpY05hbWVzO1xuICAgIHRoaXMuZ3JhcGhlZEZhdWx0U3RhdGlzdGljcyA9IHByb3BzLmdyYXBoZWRGYXVsdFN0YXRpc3RpY3M7XG4gICAgdGhpcy5ncmFwaGVkU3VjY2Vzc1N0YXRpc3RpY3MgPSBwcm9wcy5ncmFwaGVkU3VjY2Vzc1N0YXRpc3RpY3M7XG4gICAgdGhpcy5tZXRyaWNOYW1lc3BhY2UgPSBwcm9wcy5tZXRyaWNOYW1lc3BhY2U7XG4gICAgdGhpcy5wZXJpb2QgPSBwcm9wcy5wZXJpb2Q7XG4gICAgdGhpcy5zdWNjZXNzQWxhcm1UaHJlc2hvbGQgPSBwcm9wcy5zdWNjZXNzQWxhcm1UaHJlc2hvbGQ7XG4gICAgdGhpcy5zdWNjZXNzTWV0cmljTmFtZXMgPSBwcm9wcy5zdWNjZXNzTWV0cmljTmFtZXM7XG4gICAgdGhpcy51bml0ID0gcHJvcHMudW5pdDtcbiAgfVxufVxuIl19
|
|
@@ -59,5 +59,5 @@ class MetricDimensions {
|
|
|
59
59
|
}
|
|
60
60
|
exports.MetricDimensions = MetricDimensions;
|
|
61
61
|
_a = JSII_RTTI_SYMBOL_1;
|
|
62
|
-
MetricDimensions[_a] = { fqn: "@cdklabs/multi-az-observability.MetricDimensions", version: "0.0.1-alpha.
|
|
62
|
+
MetricDimensions[_a] = { fqn: "@cdklabs/multi-az-observability.MetricDimensions", version: "0.0.1-alpha.39" };
|
|
63
63
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWV0cmljRGltZW5zaW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9wcm9wcy9NZXRyaWNEaW1lbnNpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscUVBQXFFO0FBQ3JFLHNDQUFzQztBQUV0Qzs7O0dBR0c7QUFDSCxNQUFhLGdCQUFnQjtJQXdCM0IsWUFDRSxnQkFBMkMsRUFDM0MscUJBQTZCLEVBQzdCLFNBQWtCO1FBRWxCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUN6QyxJQUFJLENBQUMscUJBQXFCLEdBQUcscUJBQXFCLENBQUM7UUFDbkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILGVBQWUsQ0FDYixrQkFBMEIsRUFDMUIsTUFBYztRQUVkLElBQUksR0FBRyxHQUE4QixFQUFFLENBQUM7UUFDeEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDMUMsR0FBRyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLGtCQUFrQixDQUFDO1FBRXJELElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUMvQixDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILGtCQUFrQixDQUFDLE1BQWM7UUFDL0IsSUFBSSxHQUFHLEdBQThCLEVBQUUsQ0FBQztRQUN4QyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUUxQyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDakMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDL0IsQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs7QUFsRkgsNENBbUZDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG4vKipcbiAqIFByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGdldCBvcGVyYXRpb24gc3BlY2lmaWMgbWV0cmljIGRpbWVuc2lvbnNcbiAqIGZvciBtZXRyaWNzIGF0IHRoZSByZWdpb25hbCBsZXZlbCBhcyB3ZWxsIGFzIEF2YWlsYWJpbGl0eSBab25lIGxldmVsXG4gKi9cbmV4cG9ydCBjbGFzcyBNZXRyaWNEaW1lbnNpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBkaW1lbnNpb25zIHRoYXQgYXJlIHRoZSBzYW1lIGZvciBhbGwgQXZhaWxhYmlsaXR5IFpvbmVzIGZvciBleGFtcGxlOlxuICAgKiB7XG4gICAqICAgXCJPcGVyYXRpb25cIjogXCJyaWRlXCIsXG4gICAqICAgXCJTZXJ2aWNlXCI6IFwiV2lsZFJ5ZGVzXCJcbiAgICogfVxuICAgKi9cbiAgc3RhdGljRGltZW5zaW9uczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogVGhlIGtleSB1c2VkIHRvIHNwZWNpZnkgYW4gQXZhaWxhYmlsaXR5IFpvbmUgc3BlY2lmaWMgbWV0cmljIGRpbWVuc2lvbiwgZm9yXG4gICAqIGV4YW1wbGU6IFwiQVotSURcIlxuICAgKi9cbiAgYXZhaWxhYmlsaXR5Wm9uZUlkS2V5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBrZXkgdXNlZCBmb3IgdGhlIFJlZ2lvbiBpbiB5b3VyIGRpbWVuc2lvbnMsIGlmIHlvdSBwcm92aWRlIG9uZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBBIHJlZ2lvbiBzcGVjaWZpYyBrZXkgYW5kIHZhbHVlIGlzIG5vdCBhZGRlZCB0byB5b3VyXG4gICAqIHpvbmFsIGFuZCByZWdpb25hbCBtZXRyaWMgZGltZW5zaW9uc1xuICAgKi9cbiAgcmVnaW9uS2V5Pzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHN0YXRpY0RpbWVuc2lvbnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgYXZhaWxhYmlsaXR5Wm9uZUlkS2V5OiBzdHJpbmcsXG4gICAgcmVnaW9uS2V5Pzogc3RyaW5nLFxuICApIHtcbiAgICB0aGlzLnN0YXRpY0RpbWVuc2lvbnMgPSBzdGF0aWNEaW1lbnNpb25zO1xuICAgIHRoaXMuYXZhaWxhYmlsaXR5Wm9uZUlkS2V5ID0gYXZhaWxhYmlsaXR5Wm9uZUlkS2V5O1xuICAgIHRoaXMucmVnaW9uS2V5ID0gcmVnaW9uS2V5O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHpvbmFsIGRpbWVuc2lvbnMgZm9yIHRoZXNlIG1ldHJpY3MgYnkgY29tYmluaW5nIHRoZSBzdGF0aWNcbiAgICogbWV0cmljIGRpbWVuc2lvbnMgd2l0aCB0aGUga2V5cyBwcm92aWRlZCBmb3IgQXZhaWxhYmlsaXR5IFpvbmUgYW5kXG4gICAqIG9wdGlvbmFsIFJlZ2lvbiwgZXhwZWN0ZWQgdG8gcmV0dXJuIHNvbWV0aGluZyBsaWtlXG4gICAqIHtcbiAgICogICBcIlJlZ2lvblwiOiBcInVzLWVhc3QtMVwiLFxuICAgKiAgIFwiQVotSURcIjogXCJ1c2UxLWF6MVwiLFxuICAgKiAgIFwiT3BlcmF0aW9uXCI6IFwicmlkZVwiLFxuICAgKiAgIFwiU2VydmljZVwiOiBcIldpbGRSeWRlc1wiXG4gICAqIH1cbiAgICogQHBhcmFtIGF2YWlsYWJpbGl0eVpvbmVJZFxuICAgKiBAcGFyYW0gcmVnaW9uXG4gICAqL1xuICB6b25hbERpbWVuc2lvbnMoXG4gICAgYXZhaWxhYmlsaXR5Wm9uZUlkOiBzdHJpbmcsXG4gICAgcmVnaW9uOiBzdHJpbmcsXG4gICk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIGxldCB0bXA6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgICBPYmplY3QuYXNzaWduKHRtcCwgdGhpcy5zdGF0aWNEaW1lbnNpb25zKTtcbiAgICB0bXBbdGhpcy5hdmFpbGFiaWxpdHlab25lSWRLZXldID0gYXZhaWxhYmlsaXR5Wm9uZUlkO1xuXG4gICAgaWYgKHRoaXMucmVnaW9uS2V5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRtcFt0aGlzLnJlZ2lvbktleV0gPSByZWdpb247XG4gICAgfVxuXG4gICAgcmV0dXJuIHRtcDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSByZWdpb25hbCBkaW1lbnNpb25zIGZvciB0aGVzZSBtZXRyaWNzIGJ5IGNvbWJpbmluZyB0aGUgc3RhdGljXG4gICAqIG1ldHJpYyBkaW1lbnNpb25zIHdpdGggdGhlIGtleXMgcHJvdmlkZWQgdGhlIG9wdGlvbmFsIFJlZ2lvbiBrZXksXG4gICAqIGV4cGVjdGVkIHRvIHJldHVybiBzb21ldGhpbmcgbGlrZVxuICAgKiB7XG4gICAqICAgXCJSZWdpb25cIjogXCJ1cy1lYXN0LTFcIixcbiAgICogICBcIk9wZXJhdGlvblwiOiBcInJpZGVcIixcbiAgICogICBcIlNlcnZpY2VcIjogXCJXaWxkUnlkZXNcIlxuICAgKiB9XG4gICAqIEBwYXJhbSByZWdpb25cbiAgICovXG4gIHJlZ2lvbmFsRGltZW5zaW9ucyhyZWdpb246IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIGxldCB0bXA6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgICBPYmplY3QuYXNzaWduKHRtcCwgdGhpcy5zdGF0aWNEaW1lbnNpb25zKTtcblxuICAgIGlmICh0aGlzLnJlZ2lvbktleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0bXBbdGhpcy5yZWdpb25LZXldID0gcmVnaW9uO1xuICAgIH1cblxuICAgIHJldHVybiB0bXA7XG4gIH1cbn1cbiJdfQ==
|