@rio-cloud/cdk-v2-constructs 4.13.1 → 4.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/.jsii +7478 -3329
  2. package/CHANGELOG.md +21 -0
  3. package/lib/datadog/datadog-log-index-monitoring.d.ts +2 -2
  4. package/lib/datadog/datadog-log-index-monitoring.js +1 -1
  5. package/lib/datadogv2/datadog-dashboard.d.ts +28 -0
  6. package/lib/datadogv2/datadog-dashboard.js +31 -0
  7. package/lib/datadogv2/datadog-log-index-monitoring.d.ts +61 -0
  8. package/lib/datadogv2/datadog-log-index-monitoring.js +115 -0
  9. package/lib/datadogv2/datadog-monitor.d.ts +234 -0
  10. package/lib/datadogv2/datadog-monitor.js +134 -0
  11. package/lib/datadogv2/datadog-notification.d.ts +100 -0
  12. package/lib/datadogv2/datadog-notification.js +94 -0
  13. package/lib/datadogv2/index.d.ts +4 -0
  14. package/lib/datadogv2/index.js +17 -0
  15. package/lib/fargate/datadog.js +2 -2
  16. package/lib/fargate/index.d.ts +1 -0
  17. package/lib/fargate/index.js +14 -0
  18. package/lib/fargate/rio-fargate-service.d.ts +18 -18
  19. package/lib/fargate/rio-fargate-service.js +1 -1
  20. package/lib/index.d.ts +7 -13
  21. package/lib/index.js +8 -14
  22. package/lib/kafka/kafka-topic.d.ts +5 -5
  23. package/lib/kafka/kafka-topic.js +1 -1
  24. package/lib/kafka/rio-kafka-event-source.d.ts +1 -1
  25. package/lib/kafka/rio-kafka-event-source.js +1 -1
  26. package/lib/pipeline/rio-backup-secrets-restore-stage.d.ts +1 -1
  27. package/lib/pipeline/rio-backup-secrets-restore-stage.js +1 -1
  28. package/lib/pipeline/rio-bitbucket-source-action.d.ts +1 -1
  29. package/lib/pipeline/rio-bitbucket-source-action.js +1 -1
  30. package/lib/rio-landing-zone.d.ts +6 -0
  31. package/lib/rio-landing-zone.js +19 -1
  32. package/lib/watchful/alb.d.ts +2 -2
  33. package/lib/watchful/alb.js +1 -1
  34. package/lib/watchful/aspect.d.ts +6 -6
  35. package/lib/watchful/aspect.js +12 -7
  36. package/lib/watchful/cloudfront.d.ts +2 -2
  37. package/lib/watchful/cloudfront.js +1 -1
  38. package/lib/watchful/datadog-log-alarm.d.ts +1 -0
  39. package/lib/watchful/datadog-log-alarm.js +1 -1
  40. package/lib/watchful/docdb.d.ts +4 -4
  41. package/lib/watchful/docdb.js +1 -1
  42. package/lib/watchful/dynamodb.d.ts +5 -5
  43. package/lib/watchful/dynamodb.js +1 -1
  44. package/lib/watchful/ecs.d.ts +2 -2
  45. package/lib/watchful/ecs.js +1 -1
  46. package/lib/watchful/index.d.ts +13 -0
  47. package/lib/watchful/index.js +26 -0
  48. package/lib/watchful/lambda.d.ts +3 -3
  49. package/lib/watchful/lambda.js +2 -1
  50. package/lib/watchful/metric-alarm.d.ts +16 -16
  51. package/lib/watchful/metric-alarm.js +1 -1
  52. package/lib/watchful/rds.d.ts +2 -2
  53. package/lib/watchful/rds.js +1 -1
  54. package/lib/watchful/targetgroup.d.ts +2 -2
  55. package/lib/watchful/targetgroup.js +1 -1
  56. package/lib/watchful/watchful.d.ts +52 -48
  57. package/lib/watchful/watchful.js +104 -98
  58. package/lib/watchfulv2/datadog-log-alarm.d.ts +37 -0
  59. package/lib/watchfulv2/datadog-log-alarm.js +61 -0
  60. package/lib/watchfulv2/datadog-metric-alarm.d.ts +29 -0
  61. package/lib/watchfulv2/datadog-metric-alarm.js +132 -0
  62. package/lib/watchfulv2/index.d.ts +1 -0
  63. package/lib/watchfulv2/index.js +14 -0
  64. package/lib/watchfulv2/watchful.d.ts +53 -0
  65. package/lib/watchfulv2/watchful.js +76 -0
  66. package/package.json +18 -8
  67. package/version.json +1 -1
@@ -22,7 +22,7 @@ export interface RioFargateServiceProps {
22
22
  /**
23
23
  * The frameworks in uses.
24
24
  *
25
- * @default - No frameworks.
25
+ * @defaultValue - No frameworks.
26
26
  */
27
27
  readonly frameworks?: Framework[];
28
28
  /**
@@ -33,7 +33,7 @@ export interface RioFargateServiceProps {
33
33
  * The Fargate cluster to run the service in.
34
34
  * If not null, the cluster.vpc MUST match the vpc provided as direct argument.
35
35
  *
36
- * @default - Create a new Fargate cluster with default properties
36
+ * @defaultValue - Create a new Fargate cluster with default properties
37
37
  */
38
38
  readonly cluster?: ecs.ICluster;
39
39
  /**
@@ -86,7 +86,7 @@ export interface ContainerDefinitionOptions {
86
86
  * * DD_SERVICE_MAPPING: database:fargate-web-app-aurora,java-aws-sdk:fargate-web-app-aws-sdk,kafka:fargate-web-app-kafka,mysql:fargate-web-app-aurora
87
87
  * * DD_TRACE_SAMPLE_RATE: 1.0
88
88
  *
89
- * @default - No environment variables.
89
+ * @defaultValue - No environment variables.
90
90
  */
91
91
  readonly environment?: {
92
92
  [key: string]: string;
@@ -94,7 +94,7 @@ export interface ContainerDefinitionOptions {
94
94
  /**
95
95
  * The secret environment variables to pass to the container.
96
96
  *
97
- * @default - No secret environment variables.
97
+ * @defaultValue - No secret environment variables.
98
98
  */
99
99
  readonly secrets?: {
100
100
  [key: string]: ecs.Secret;
@@ -102,7 +102,7 @@ export interface ContainerDefinitionOptions {
102
102
  /**
103
103
  * The health check command and associated configuration parameters for the container.
104
104
  *
105
- * @default - Health check configuration from container.
105
+ * @defaultValue - Health check configuration from container.
106
106
  */
107
107
  readonly healthCheck?: ecs.HealthCheck;
108
108
  }
@@ -122,7 +122,7 @@ export interface FargateTaskDefinitionProps {
122
122
  *
123
123
  * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)
124
124
  *
125
- * @default 512
125
+ * @defaultValue 512
126
126
  */
127
127
  readonly cpu: number;
128
128
  /**
@@ -139,20 +139,20 @@ export interface FargateTaskDefinitionProps {
139
139
  *
140
140
  * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)
141
141
  *
142
- * @default 1024
142
+ * @defaultValue 1024
143
143
  */
144
144
  readonly memoryLimitMiB: number;
145
145
  /**
146
146
  * Desired count of running tasks
147
147
  *
148
- * @default - When creating the service, default is 1; when updating the service, default uses
148
+ * @defaultValue - When creating the service, default is 1; when updating the service, default uses
149
149
  * the current task number.
150
150
  */
151
151
  readonly desiredCount?: number;
152
152
  /**
153
153
  * The operating system that your task definitions are running on.
154
154
  *
155
- * @default - Using ecs.OperatingSystemFamily.LINUX and ecs.CpuArchitecture.X86_64
155
+ * @defaultValue - Using ecs.OperatingSystemFamily.LINUX and ecs.CpuArchitecture.X86_64
156
156
  */
157
157
  readonly runtimePlatform?: ecs.RuntimePlatform;
158
158
  }
@@ -187,7 +187,7 @@ export interface LoadBalancerOptions {
187
187
 
188
188
  *The range is 30-900 seconds (15 minutes).
189
189
 
190
- * @default undefined
190
+ * @defaultValue undefined
191
191
  */
192
192
  readonly slowStart?: cdk.Duration;
193
193
  /**
@@ -195,7 +195,7 @@ export interface LoadBalancerOptions {
195
195
 
196
196
  * The range is 0-3600 seconds.
197
197
 
198
- * @default 5
198
+ * @defaultValue 5
199
199
  */
200
200
  readonly deregistrationDelay?: cdk.Duration;
201
201
  }
@@ -203,7 +203,7 @@ export interface DatadogIntegrationProps {
203
203
  /**
204
204
  * The minimum number of CPU units to reserve for the container.
205
205
  *
206
- * @default - 64
206
+ * @defaultValue - 64
207
207
  */
208
208
  readonly cpu?: number;
209
209
  /**
@@ -214,36 +214,36 @@ export interface DatadogIntegrationProps {
214
214
  *
215
215
  * At least one of memoryLimitMiB and memoryReservationMiB is required for non-Fargate services.
216
216
  *
217
- * @default - 128
217
+ * @defaultValue - 128
218
218
  */
219
219
  readonly memoryLimitMiB?: number;
220
220
  /**
221
221
  * The logging mode for the service.
222
222
  *
223
- * @default - Using the Datadog log forwarder lambda provided by the datadog-integration.
223
+ * @defaultValue - Using the Datadog log forwarder lambda provided by the datadog-integration.
224
224
  */
225
225
  readonly loggingModeForService?: DataDogLoggingMode;
226
226
  /**
227
227
  * The logging mode for the Datadog agent sidecar.
228
228
  *
229
- * @default - No logs in Datadog, Cloudwatch only.
229
+ * @defaultValue - No logs in Datadog, Cloudwatch only.
230
230
  */
231
231
  readonly loggingModeForDatadogAgent?: DataDogLoggingMode;
232
232
  /**
233
233
  * GET endpoints to ignore in Datadog's APM overview. This is useful to filter out all health check calls.
234
234
 
235
- * @default - No endpoints are ignored.
235
+ * @defaultValue - No endpoints are ignored.
236
236
  */
237
237
  readonly apmGetEndpointsToIgnore?: string[];
238
238
  /**
239
239
  * Configure if the Datadog agent sidecar is marked as essential.
240
240
  *
241
- * @default - true.
241
+ * @defaultValue - true.
242
242
  */
243
243
  readonly datadogSidecarEssential?: boolean;
244
244
  /**
245
245
  * Configures the docker image tag for datadog sidecar
246
- * @default - 'latest'
246
+ * @defaultValue - 'latest'
247
247
  */
248
248
  readonly datadogSidecarTag?: string;
249
249
  /**
@@ -245,4 +245,4 @@ class ClusterVpcValidator {
245
245
  return result;
246
246
  }
247
247
  }
248
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlvLWZhcmdhdGUtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mYXJnYXRlL3Jpby1mYXJnYXRlLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBbUM7QUFFbkMsMkNBQTJDO0FBQzNDLGdFQUFnRTtBQUNoRSwyQ0FBMkM7QUFDM0MseUNBQXlDO0FBQ3pDLHFDQUFxQztBQUNyQyxxQ0FBa0M7QUE4RGxDLElBQVksU0FLWDtBQUxELFdBQVksU0FBUztJQUNuQjs7T0FFRztJQUNILDZDQUFNLENBQUE7QUFDUixDQUFDLEVBTFcsU0FBUyxHQUFULGlCQUFTLEtBQVQsaUJBQVMsUUFLcEI7QUFvT0QsSUFBWSxrQkFpQlg7QUFqQkQsV0FBWSxrQkFBa0I7SUFDNUI7OztPQUdHO0lBQ0gsNkVBQWEsQ0FBQTtJQUViOzs7T0FHRztJQUNILG1GQUFnQixDQUFBO0lBRWhCOztPQUVHO0lBQ0gsMkRBQUksQ0FBQTtBQUNOLENBQUMsRUFqQlcsa0JBQWtCLEdBQWxCLDBCQUFrQixLQUFsQiwwQkFBa0IsUUFpQjdCO0FBRUQsTUFBYSxpQkFBa0IsU0FBUSxVQUFVLENBQUMsU0FBUztJQTJDekQsWUFBWSxLQUEyQixFQUFFLEVBQVUsRUFBRSxLQUE2QjtRQUNoRixLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBdkJGLHdDQUFtQyxHQUFhLEVBQUUsQ0FBQztRQUNuRCxnQ0FBMkIsR0FBRyxFQUFFLENBQUM7UUFDakMsNkNBQXdDLEdBQUcsR0FBRyxDQUFDO1FBQy9DLHNDQUFpQyxHQUFHLElBQUksQ0FBQztRQUN6QyxxQ0FBZ0MsR0FBRyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQztRQUN2RSw2Q0FBd0MsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7UUFDbkUsaUNBQTRCLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkQs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SyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFO1lBQzdELE1BQU0sQ0FBQyxJQUFJLENBQUMsb0NBQW9DLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLDhDQUE4QyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzdJO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGVjMiBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCAqIGFzIGVjcyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWNzJztcbmltcG9ydCAqIGFzIGVsYnYyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyJztcbmltcG9ydCAqIGFzIHNzbSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3NtJztcbmltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgKiBhcyBkYXRhZG9nIGZyb20gJy4vZGF0YWRvZyc7XG5pbXBvcnQgeyBTcHJpbmcgfSBmcm9tICcuL3NwcmluZyc7XG5cbi8qKlxuICogRmFyZ2F0ZSBUYXNrIERlZmluaXRpb24gUHJvcGVydGllcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSaW9GYXJnYXRlU2VydmljZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBzdGFnZSBvZiB0aGUgc2VydmljZSwgZS5nLiAncHJvZCcuXG4gICAqL1xuICByZWFkb25seSBzdGFnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgTmFtZSBvZiB0aGUgc2VydmljZS5cbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBzZXJ2aWNlLCBlLmcuIHRoZSBnaXQgaGFzaCBvZiB0aGUgY29ycmVzcG9uZGluZyBjb21taXQuXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBmcmFtZXdvcmtzIGluIHVzZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gZnJhbWV3b3Jrcy5cbiAgICovXG4gIHJlYWRvbmx5IGZyYW1ld29ya3M/OiBGcmFtZXdvcmtbXTtcblxuICAvKipcbiAgICogVGhlIFZQQyBvZiB0aGUgc2VydmljZSdzIGVjcy5DbHVzdGVyIGlmIG5vIGNsdXN0ZXIgaXMgZXhwbGljaXRseSBwYXNzZWQgYXMgcHJvcC5cbiAgICovXG4gIHJlYWRvbmx5IHZwYzogZWMyLklWcGM7XG5cbiAgLyoqXG4gICAqIFRoZSBGYXJnYXRlIGNsdXN0ZXIgdG8gcnVuIHRoZSBzZXJ2aWNlIGluLlxuICAgKiBJZiBub3QgbnVsbCwgdGhlIGNsdXN0ZXIudnBjIE1VU1QgbWF0Y2ggdGhlIHZwYyBwcm92aWRlZCBhcyBkaXJlY3QgYXJndW1lbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQ3JlYXRlIGEgbmV3IEZhcmdhdGUgY2x1c3RlciB3aXRoIGRlZmF1bHQgcHJvcGVydGllc1xuICAgKi9cbiAgcmVhZG9ubHkgY2x1c3Rlcj86IGVjcy5JQ2x1c3RlcjtcblxuICAvKipcbiAgICogQ29udGFpbmVyIGRlZmluaXRpb24gb3B0aW9ucyBsaWtlIGltYWdlLCBjcHUsIG1lbW9yeS5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRhaW5lckRlZmluaXRpb25PcHRpb246IENvbnRhaW5lckRlZmluaXRpb25PcHRpb25zO1xuXG4gIC8qKlxuICAgKiBGYXJnYXRlIFRhc2sgRGVmaW5pdGlvbiBQcm9wZXJ0aWVzLlxuICAgKi9cbiAgcmVhZG9ubHkgZmFyZ2F0ZU9wdGlvbnM6IEZhcmdhdGVUYXNrRGVmaW5pdGlvblByb3BzO1xuXG4gIC8qKlxuICAgKiBMb2FkYmFsYW5jZXIgb3B0aW9ucy5cbiAgICovXG4gIHJlYWRvbmx5IGxvYWRCYWxhbmNlck9wdGlvbnM/OiBMb2FkQmFsYW5jZXJPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBEYXRhZG9nIGludGVncmF0aW9uIHByb3BlcnRpZXNcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFkb2dPcHRpb25zPzogRGF0YWRvZ0ludGVncmF0aW9uUHJvcHM7XG59XG5cbmV4cG9ydCBlbnVtIEZyYW1ld29yayB7XG4gIC8qKlxuICAgKiBTcHJpbmcgRnJhbWV3b3JrLCBTcHJpbmcgQm9vdCwgYW5kIFNwcmluZyBDbG91ZCBBV1MuXG4gICAqL1xuICBTUFJJTkcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGFpbmVyRGVmaW5pdGlvbk9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGltYWdlIHVzZWQgdG8gc3RhcnQgYSBjb250YWluZXIuXG4gICAqXG4gICAqIFRoaXMgc3RyaW5nIGlzIHBhc3NlZCBkaXJlY3RseSB0byB0aGUgRG9ja2VyIGRhZW1vbi5cbiAgICogSW1hZ2VzIGluIHRoZSBEb2NrZXIgSHViIHJlZ2lzdHJ5IGFyZSBhdmFpbGFibGUgYnkgZGVmYXVsdC5cbiAgICogT3RoZXIgcmVwb3NpdG9yaWVzIGFyZSBzcGVjaWZpZWQgd2l0aCBlaXRoZXIgcmVwb3NpdG9yeS11cmwvaW1hZ2U6dGFnIG9yIHJlcG9zaXRvcnktdXJsL2ltYWdlQGRpZ2VzdC5cbiAgICovXG4gIHJlYWRvbmx5IGltYWdlOiBlY3MuQ29udGFpbmVySW1hZ2U7XG5cbiAgLyoqXG4gICAqIFRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gcGFzcyB0byB0aGUgY29udGFpbmVyLlxuICAgKlxuICAgKiBTb21lIERhdGFkb2cgc3BlY2lmaWMgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFyZSBub3QgYWxsb3dlZCB0byBiZSBzZXQsXG4gICAqIGJlY2F1c2UgdGhleSBhcmUgc2V0IGF1dG9tYXRpY2FsbHkgb3IgY29tcHV0ZWQgZnJvbSBvdGhlciBhdHRyaWJ1dGVzLlxuICAgKiBUaGVzZSBhcmU6XG4gICAqICogRERfRU5WOiBTZXQgc2FtZSBhcyBwcm9wIHN0YWdlXG4gICAqICogRERfU0VSVklDRTogU2V0IHNhbWUgYXMgcHJvcCBzZXJ2aWNlTmFtZVxuICAgKiAqIEREX1ZFUlNJT046IFNldCBzYW1lIGFzIHByb3AgdmVyc2lvblxuICAgKiAqIEREX1RBR1M6IFNldCBzYW1lIGFzIERhdGFkb2dJbnRlZ3JhdGlvblByb3BzI2FkZGl0aW9uYWxUYWdzXG4gICAqICogRERfTE9HU19JTkpFQ1RJT046IHRydWVcbiAgICogT3RoZXIgRERfLXByZWZpeGVkIHZhaWFibGUgbWF5IGJlIGFkZGVkIHRvIHRoaXMgbGlzdC5cbiAgICpcbiAgICogT3RoZXIgRW52aXJvbm1lbnQgdmFyaWFibGVzIHNldCBieSBkZWZhdWx0IGFyZSBvdmVyd3JpdHRlbiBpZiBwYXNzZWQuXG4gICAqIFRoZXNlIGFyZTpcbiAgICogKiBERF9TRVJWSUNFX01BUFBJTkc6IGRhdGFiYXNlOmZhcmdhdGUtd2ViLWFwcC1hdXJvcmEsamF2YS1hd3Mtc2RrOmZhcmdhdGUtd2ViLWFwcC1hd3Mtc2RrLGthZmthOmZhcmdhdGUtd2ViLWFwcC1rYWZrYSxteXNxbDpmYXJnYXRlLXdlYi1hcHAtYXVyb3JhXG4gICAqICogRERfVFJBQ0VfU0FNUExFX1JBVEU6IDEuMFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAgICovXG4gIHJlYWRvbmx5IGVudmlyb25tZW50PzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogVGhlIHNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gcGFzcyB0byB0aGUgY29udGFpbmVyLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIHNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gICAqL1xuICByZWFkb25seSBzZWNyZXRzPzogeyBba2V5OiBzdHJpbmddOiBlY3MuU2VjcmV0IH07XG5cbiAgLyoqXG4gICAqIFRoZSBoZWFsdGggY2hlY2sgY29tbWFuZCBhbmQgYXNzb2NpYXRlZCBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgZm9yIHRoZSBjb250YWluZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gSGVhbHRoIGNoZWNrIGNvbmZpZ3VyYXRpb24gZnJvbSBjb250YWluZXIuXG4gICAqL1xuICByZWFkb25seSBoZWFsdGhDaGVjaz86IGVjcy5IZWFsdGhDaGVjaztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGYXJnYXRlVGFza0RlZmluaXRpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGNwdSB1bml0cyB1c2VkIGJ5IHRoZSB0YXNrLiBGb3IgdGFza3MgdXNpbmcgdGhlIEZhcmdhdGUgbGF1bmNoIHR5cGUsXG4gICAqIHRoaXMgZmllbGQgaXMgcmVxdWlyZWQgYW5kIHlvdSBtdXN0IHVzZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXMsXG4gICAqIHdoaWNoIGRldGVybWluZXMgeW91ciByYW5nZSBvZiB2YWxpZCB2YWx1ZXMgZm9yIHRoZSBtZW1vcnkgcGFyYW1ldGVyOlxuICAgKlxuICAgKiAyNTYgKC4yNSB2Q1BVKSAtIEF2YWlsYWJsZSBtZW1vcnkgdmFsdWVzOiA1MTIgKDAuNSBHQiksIDEwMjQgKDEgR0IpLCAyMDQ4ICgyIEdCKVxuICAgKlxuICAgKiA1MTIgKC41IHZDUFUpIC0gQXZhaWxhYmxlIG1lbW9yeSB2YWx1ZXM6IDEwMjQgKDEgR0IpLCAyMDQ4ICgyIEdCKSwgMzA3MiAoMyBHQiksIDQwOTYgKDQgR0IpXG4gICAqXG4gICAqIDEwMjQgKDEgdkNQVSkgLSBBdmFpbGFibGUgbWVtb3J5IHZhbHVlczogMjA0OCAoMiBHQiksIDMwNzIgKDMgR0IpLCA0MDk2ICg0IEdCKSwgNTEyMCAoNSBHQiksIDYxNDQgKDYgR0IpLCA3MTY4ICg3IEdCKSwgODE5MiAoOCBHQilcbiAgICpcbiAgICogMjA0OCAoMiB2Q1BVKSAtIEF2YWlsYWJsZSBtZW1vcnkgdmFsdWVzOiBCZXR3ZWVuIDQwOTYgKDQgR0IpIGFuZCAxNjM4NCAoMTYgR0IpIGluIGluY3JlbWVudHMgb2YgMTAyNCAoMSBHQilcbiAgICpcbiAgICogNDA5NiAoNCB2Q1BVKSAtIEF2YWlsYWJsZSBtZW1vcnkgdmFsdWVzOiBCZXR3ZWVuIDgxOTIgKDggR0IpIGFuZCAzMDcyMCAoMzAgR0IpIGluIGluY3JlbWVudHMgb2YgMTAyNCAoMSBHQilcbiAgICpcbiAgICogQGRlZmF1bHQgNTEyXG4gICAqL1xuICByZWFkb25seSBjcHU6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGFtb3VudCAoaW4gTWlCKSBvZiBtZW1vcnkgdXNlZCBieSB0aGUgdGFzay4gRm9yIHRhc2tzIHVzaW5nIHRoZSBGYXJnYXRlIGxhdW5jaCB0eXBlLFxuICAgKiB0aGlzIGZpZWxkIGlzIHJlcXVpcmVkIGFuZCB5b3UgbXVzdCB1c2Ugb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzLCB3aGljaCBkZXRlcm1pbmVzIHlvdXIgcmFuZ2Ugb2YgdmFsaWQgdmFsdWVzIGZvciB0aGUgY3B1IHBhcmFtZXRlcjpcbiAgICpcbiAgICogNTEyICgwLjUgR0IpLCAxMDI0ICgxIEdCKSwgMjA0OCAoMiBHQikgLSBBdmFpbGFibGUgY3B1IHZhbHVlczogMjU2ICguMjUgdkNQVSlcbiAgICpcbiAgICogMTAyNCAoMSBHQiksIDIwNDggKDIgR0IpLCAzMDcyICgzIEdCKSwgNDA5NiAoNCBHQikgLSBBdmFpbGFibGUgY3B1IHZhbHVlczogNTEyICguNSB2Q1BVKVxuICAgKlxuICAgKiAyMDQ4ICgyIEdCKSwgMzA3MiAoMyBHQiksIDQwOTYgKDQgR0IpLCA1MTIwICg1IEdCKSwgNjE0NCAoNiBHQiksIDcxNjggKDcgR0IpLCA4MTkyICg4IEdCKSAtIEF2YWlsYWJsZSBjcHUgdmFsdWVzOiAxMDI0ICgxIHZDUFUpXG4gICAqXG4gICAqIEJldHdlZW4gNDA5NiAoNCBHQikgYW5kIDE2Mzg0ICgxNiBHQikgaW4gaW5jcmVtZW50cyBvZiAxMDI0ICgxIEdCKSAtIEF2YWlsYWJsZSBjcHUgdmFsdWVzOiAyMDQ4ICgyIHZDUFUpXG4gICAqXG4gICAqIEJldHdlZW4gODE5MiAoOCBHQikgYW5kIDMwNzIwICgzMCBHQikgaW4gaW5jcmVtZW50cyBvZiAxMDI0ICgxIEdCKSAtIEF2YWlsYWJsZSBjcHUgdmFsdWVzOiA0MDk2ICg0IHZDUFUpXG4gICAqXG4gICAqIEBkZWZhdWx0IDEwMjRcbiAgICovXG4gIHJlYWRvbmx5IG1lbW9yeUxpbWl0TWlCOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIERlc2lyZWQgY291bnQgb2YgcnVubmluZyB0YXNrc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIFdoZW4gY3JlYXRpbmcgdGhlIHNlcnZpY2UsIGRlZmF1bHQgaXMgMTsgd2hlbiB1cGRhdGluZyB0aGUgc2VydmljZSwgZGVmYXVsdCB1c2VzXG4gICAqIHRoZSBjdXJyZW50IHRhc2sgbnVtYmVyLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzaXJlZENvdW50PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgb3BlcmF0aW5nIHN5c3RlbSB0aGF0IHlvdXIgdGFzayBkZWZpbml0aW9ucyBhcmUgcnVubmluZyBvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBVc2luZyBlY3MuT3BlcmF0aW5nU3lzdGVtRmFtaWx5LkxJTlVYIGFuZCBlY3MuQ3B1QXJjaGl0ZWN0dXJlLlg4Nl82NFxuICAgKi9cbiAgcmVhZG9ubHkgcnVudGltZVBsYXRmb3JtPzogZWNzLlJ1bnRpbWVQbGF0Zm9ybTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0ZW5lclJ1bGUge1xuICByZWFkb25seSBwcmlvcml0eTogbnVtYmVyO1xuXG4gIHJlYWRvbmx5IGNvbmRpdGlvbnM6IGVsYnYyLkxpc3RlbmVyQ29uZGl0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZEJhbGFuY2VyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBMaXN0ZW5lciBmb3IgYW4gQXBwbGljYXRpb24gTG9hZCBCYWxhbmNlclxuICAgKi9cbiAgcmVhZG9ubHkgbGlzdGVuZXI6IGVsYnYyLklBcHBsaWNhdGlvbkxpc3RlbmVyO1xuXG4gIC8qKlxuICAgKiBPbmUgb3IgbW9yZSBwYXRoIHBhdHRlcm5zIHRvIGNvbXBhcmUgYWdhaW5zdCB0aGUgcmVxdWVzdCBVUkwuXG4gICAqIFRoZSBtYXhpbXVtIHNpemUgb2YgZWFjaCBzdHJpbmcgaXMgMTI4IGNoYXJhY3RlcnMuXG4gICAqIFRoZSBjb21wYXJpc29uIGlzIGNhc2Ugc2Vuc2l0aXZlLlxuICAgKiBUaGUgZm9sbG93aW5nIHdpbGRjYXJkIGNoYXJhY3RlcnMgYXJlIHN1cHBvcnRlZDogKiAobWF0Y2hlcyAwIG9yIG1vcmUgY2hhcmFjdGVycykgYW5kID8gKG1hdGNoZXMgZXhhY3RseSAxIGNoYXJhY3RlcikuXG4gICAqXG4gICAqIFVwZGF0ZSByZXF1aXJlczogTm8gaW50ZXJydXB0aW9uXG4gICAqL1xuICByZWFkb25seSBsaXN0ZW5lclJ1bGVzOiBMaXN0ZW5lclJ1bGVbXTtcblxuICAvKipcbiAgICogIEhlYWx0aCBjaGVjayBvcHRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgaGVhbHRoQ2hlY2s6IGVsYnYyLkhlYWx0aENoZWNrO1xuXG4gIC8qKlxuICAgKiAgSGVhbHRoIGNoZWNrIGdyYWNlIHBlcmlvZC5cbiAgICovXG4gIHJlYWRvbmx5IGhlYWx0aENoZWNrR3JhY2VQZXJpb2Q6IGNkay5EdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIHRpbWUgcGVyaW9kIGR1cmluZyB3aGljaCB0aGUgbG9hZCBiYWxhbmNlciBzZW5kcyBhIG5ld2x5IHJlZ2lzdGVyZWQgdGFyZ2V0IGEgbGluZWFybHkgaW5jcmVhc2luZyBzaGFyZSBvZiB0aGUgdHJhZmZpYyB0byB0aGUgdGFyZ2V0IGdyb3VwLlxuXG4gICAqVGhlIHJhbmdlIGlzIDMwLTkwMCBzZWNvbmRzICgxNSBtaW51dGVzKS5cblxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgKi9cbiAgcmVhZG9ubHkgc2xvd1N0YXJ0PzogY2RrLkR1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIHRpbWUgZm9yIEVsYXN0aWMgTG9hZCBCYWxhbmNpbmcgdG8gd2FpdCBiZWZvcmUgZGVyZWdpc3RlcmluZyBhIHRhcmdldC5cblxuICAgKiBUaGUgcmFuZ2UgaXMgMC0zNjAwIHNlY29uZHMuXG5cbiAgICogQGRlZmF1bHQgNVxuICAqL1xuICByZWFkb25seSBkZXJlZ2lzdHJhdGlvbkRlbGF5PzogY2RrLkR1cmF0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFkb2dJbnRlZ3JhdGlvblByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIG51bWJlciBvZiBDUFUgdW5pdHMgdG8gcmVzZXJ2ZSBmb3IgdGhlIGNvbnRhaW5lci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSA2NFxuICAgKi9cbiAgcmVhZG9ubHkgY3B1PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IChpbiBNaUIpIG9mIG1lbW9yeSB0byBwcmVzZW50IHRvIHRoZSBjb250YWluZXIuXG4gICAqXG4gICAqIElmIHlvdXIgY29udGFpbmVyIGF0dGVtcHRzIHRvIGV4Y2VlZCB0aGUgYWxsb2NhdGVkIG1lbW9yeSwgdGhlIGNvbnRhaW5lclxuICAgKiBpcyB0ZXJtaW5hdGVkLlxuICAgKlxuICAgKiBBdCBsZWFzdCBvbmUgb2YgbWVtb3J5TGltaXRNaUIgYW5kIG1lbW9yeVJlc2VydmF0aW9uTWlCIGlzIHJlcXVpcmVkIGZvciBub24tRmFyZ2F0ZSBzZXJ2aWNlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSAxMjhcbiAgICovXG4gIHJlYWRvbmx5IG1lbW9yeUxpbWl0TWlCPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbG9nZ2luZyBtb2RlIGZvciB0aGUgc2VydmljZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBVc2luZyB0aGUgRGF0YWRvZyBsb2cgZm9yd2FyZGVyIGxhbWJkYSBwcm92aWRlZCBieSB0aGUgZGF0YWRvZy1pbnRlZ3JhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGxvZ2dpbmdNb2RlRm9yU2VydmljZT86IERhdGFEb2dMb2dnaW5nTW9kZTtcblxuICAvKipcbiAgICogVGhlIGxvZ2dpbmcgbW9kZSBmb3IgdGhlIERhdGFkb2cgYWdlbnQgc2lkZWNhci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBsb2dzIGluIERhdGFkb2csIENsb3Vkd2F0Y2ggb25seS5cbiAgICovXG4gIHJlYWRvbmx5IGxvZ2dpbmdNb2RlRm9yRGF0YWRvZ0FnZW50PzogRGF0YURvZ0xvZ2dpbmdNb2RlO1xuXG4gIC8qKlxuICAgKiBHRVQgZW5kcG9pbnRzIHRvIGlnbm9yZSBpbiBEYXRhZG9nJ3MgQVBNIG92ZXJ2aWV3LiBUaGlzIGlzIHVzZWZ1bCB0byBmaWx0ZXIgb3V0IGFsbCBoZWFsdGggY2hlY2sgY2FsbHMuXG5cbiAgICAqIEBkZWZhdWx0IC0gTm8gZW5kcG9pbnRzIGFyZSBpZ25vcmVkLlxuICAgICovXG4gIHJlYWRvbmx5IGFwbUdldEVuZHBvaW50c1RvSWdub3JlPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyZSBpZiB0aGUgRGF0YWRvZyBhZ2VudCBzaWRlY2FyIGlzIG1hcmtlZCBhcyBlc3NlbnRpYWwuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZS5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFkb2dTaWRlY2FyRXNzZW50aWFsPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ29uZmlndXJlcyB0aGUgZG9ja2VyIGltYWdlIHRhZyBmb3IgZGF0YWRvZyBzaWRlY2FyXG4gICAqIEBkZWZhdWx0IC0gJ2xhdGVzdCdcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFkb2dTaWRlY2FyVGFnPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb25maWd1cmUgYWRkaXRpb25hbCB0YWdzLCB3aGljaCBhcmUgYXBwZW5kZWQgdG8gdGhlIGRlZmF1bHRzLFxuICAgKiBXaGVuIHlvdSBkZWZpbmUgY3VzdG9tIHRhZ3Mgd2Ugd291bGQgYmUgZ2xhZCBpZiB5b3UgY29udGFjdCB1cy5cbiAgICogV2Ugd291bGQgbGlrZSB0byBsZWFybiBhYm91dCB5b3VyIHVzZSBjYXNlcy5cbiAgICpcbiAgICogRGVmYXVsdCB0YWdzIGFyZSBub3QgYWxsb3dlZCB0byBiZSBvdmVycmlkZGVuIVxuICAgKlxuICAgKiBEZWZhdWx0cyBhcmU6XG4gICAqICogZW52OiBTZXQgdG8gUmlvRmFyZ2F0ZVNlcnZpY2VQcm9wcyNzdGFnZSBwcm9wXG4gICAqICogc2VydmljZTogU2V0IHRvIFJpb0ZhcmdhdGVTZXJ2aWNlUHJvcHMjc2VydmljZU5hbWUgcHJvcFxuICAgKiAqIHZlcnNpb246IFNldCB0byBSaW9GYXJnYXRlU2VydmljZVByb3BzI3ZlcnNpb24gcHJvcFxuICAgKiAqIGFjY291bnRfaWQ6JHthY2NvdW50SUR9XG4gICAqICogYWNjb3VudF9uYW1lOiR7YWNjb3VudE5hbWV9XG4gICAqICogcmVnaW9uOiR7QVdTUmVnaW9ufVxuICAgKiAqIHRlYW06JHt0ZWFtTmFtZSBmcm9tIHNzbSBwYXJhbSAvY29uZmlnL3RlYW0vbmFtZX1cbiAgICogKiB0ZWFtX2lkZW50aWZpZXI6JHt0ZWFtSWRlbnRpZmllciBmcm9tIHNzbSBwYXJhbSAvY29uZmlnL3RlYW0vaWRlbnRpZmllcn1cbiAgICovXG4gIHJlYWRvbmx5IGFkZGl0aW9uYWxUYWdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGVudW0gRGF0YURvZ0xvZ2dpbmdNb2RlIHtcbiAgLyoqXG4gICAqIEZvcndhcmQgbG9ncyBkaXJlY3RseSB0byBEYXRhZG9nIHVzaW5nIEFXUyBGaXJlTGVucyBhcyBsb2cgcm91dGVyLFxuICAgKiBzZWUgaHR0cHM6Ly9kb2NzLmRhdGFkb2docS5jb20vaW50ZWdyYXRpb25zL2Vjc19mYXJnYXRlLz90YWI9Zmx1ZW50Yml0YW5kZmlyZWxlbnMjbG9nLWNvbGxlY3Rpb24uXG4gICAqL1xuICBBV1NfRklSRV9MRU5TLFxuXG4gIC8qKlxuICAgKiBTdG9yZSBsb2dzIGluIEFXUyBDbG91ZHdhdGNoIGFuZCB1c2UgdGhlIERhdGFkb2cgbG9nIGZvcndhcmRlciBsYW1iZGEgdG8gZm9yd2FyZCB0aGUgbG9ncyB0byBEYXRhZG9nLFxuICAgKiBzZWUgaHR0cHM6Ly9kb2NzLmRhdGFkb2docS5jb20vaW50ZWdyYXRpb25zL2Vjc19mYXJnYXRlLz90YWI9bG9nZHJpdmVyI2xvZy1jb2xsZWN0aW9uLlxuICAgKi9cbiAgRk9SV0FSREVSX0xBTUJEQSxcblxuICAvKipcbiAgICogT25seSBsb2cgdG8gQVdTIENsb3Vkd2F0Y2ggd2l0aG91dCBmb3J3YXJkaW5nIHRoZSBsb2dzIHRvIERhdGFkb2cuXG4gICAqL1xuICBOT05FLFxufVxuXG5leHBvcnQgY2xhc3MgUmlvRmFyZ2F0ZVNlcnZpY2UgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCBpbXBsZW1lbnRzIGVjMi5JQ29ubmVjdGFibGUge1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEREX0VOVl9ERU5ZX0xJU1QgPSBbXG4gICAgJ0REX0VOVicsXG4gICAgJ0REX1RBR1MnLFxuICAgICdERF9TRVJWSUNFJyxcbiAgICAnRERfVkVSU0lPTicsXG4gICAgJ0REX0xPR1NfSU5KRUNUSU9OJyxcbiAgXTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERF9UQUdfREVOWV9MSVNUID0gW1xuICAgICdlbnYnLFxuICAgICdzZXJ2aWNlJyxcbiAgICAndmVyc2lvbicsXG4gICAgJ2FjY291bnRfaWQnLFxuICAgICdhY2NvdW50X25hbWUnLFxuICAgICdyZWdpb24nLFxuICAgICd0ZWFtJyxcbiAgICAndGVhbV9pZGVudGlmaWVyJyxcbiAgXTtcblxuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfQVBNX0dFVF9FTkRQT0lOVFNfVE9fSUdOT1JFOiBzdHJpbmdbXSA9IFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfREFUQURPR19TSURFQ0FSX0NQVSA9IDY0O1xuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfREFUQURPR19TSURFQ0FSX01FTU9SWV9MSU1JVF9NSUIgPSAxMjg7XG4gIHByaXZhdGUgcmVhZG9ubHkgREVGQVVMVF9EQVRBRE9HX1NJREVDQVJfRVNTRU5USUFMID0gdHJ1ZTtcbiAgcHJpdmF0ZSByZWFkb25seSBERUZBVUxUX0xPR0dJTkdfTU9ERV9GT1JfU0VSVklDRSA9IERhdGFEb2dMb2dnaW5nTW9kZS5GT1JXQVJERVJfTEFNQkRBO1xuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfTE9HR0lOR19NT0RFX0ZPUl9EQVRBRE9HX1NJREVDQVIgPSBEYXRhRG9nTG9nZ2luZ01vZGUuTk9ORTtcbiAgcHJpdmF0ZSByZWFkb25seSBERUZBVUxUX0RFUkVHSVNUUkFUSU9OX0RFTEFZID0gY2RrLkR1cmF0aW9uLnNlY29uZHMoNSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgREVGQVVMVF9TTE9XX1NUQVJUID0gdW5kZWZpbmVkO1xuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfREFUQURPR19TSURFQ0FSX1RBRyA9ICdsYXRlc3QnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgTE9HX1JPVVRFUl9DUFUgPSA2NDtcbiAgcHJpdmF0ZSByZWFkb25seSBMT0dfUk9VVEVSX01FTU9SWV9MSU1JVF9NSUIgPSA2NDtcblxuICByZWFkb25seSBzZXJ2aWNlQ29udGFpbmVyRGVmaW5pdGlvbjogZWNzLkNvbnRhaW5lckRlZmluaXRpb247XG4gIHJlYWRvbmx5IGRhdGFkb2dTaWRlQ2FyQ29udGFpbmVyRGVmaW5pdGlvbjogZWNzLkNvbnRhaW5lckRlZmluaXRpb247XG4gIHJlYWRvbmx5IGxvZ1JvdXRlckNvbnRhaW5lckRlZmluaXRpb24/OiBlY3MuQ29udGFpbmVyRGVmaW5pdGlvbjtcbiAgcmVhZG9ubHkgdGFza0RlZmluaXRpb246IGVjcy5GYXJnYXRlVGFza0RlZmluaXRpb247XG5cbiAgcmVhZG9ubHkgY29ubmVjdGlvbnM6IGVjMi5Db25uZWN0aW9ucztcbiAgcmVhZG9ubHkgc2VydmljZTogZWNzLkZhcmdhdGVTZXJ2aWNlO1xuICByZWFkb25seSB0YXJnZXRHcm91cDogZWxidjIuQXBwbGljYXRpb25UYXJnZXRHcm91cHx1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmlvRmFyZ2F0ZVNlcnZpY2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCB7XG4gICAgICBsb2FkQmFsYW5jZXJPcHRpb25zLFxuICAgICAgdnBjLFxuICAgICAgY2x1c3RlcixcbiAgICAgIGZhcmdhdGVPcHRpb25zLFxuICAgICAgZGF0YWRvZ09wdGlvbnMsXG4gICAgICBzZXJ2aWNlTmFtZSxcbiAgICAgIGNvbnRhaW5lckRlZmluaXRpb25PcHRpb24sXG4gICAgICBzdGFnZSxcbiAgICAgIHZlcnNpb24sXG4gICAgICBmcmFtZXdvcmtzLFxuICAgIH0gPSBwcm9wcztcblxuICAgIHRoaXMubm9kZS5hZGRWYWxpZGF0aW9uKG5ldyBEZW55TGlzdGVkS2V5VmFsaWRhdG9yKFxuICAgICAgUmlvRmFyZ2F0ZVNlcnZpY2UuRERfRU5WX0RFTllfTElTVCxcbiAgICAgIHByb3BzLmNvbnRhaW5lckRlZmluaXRpb25PcHRpb24uZW52aXJvbm1lbnQsXG4gICAgICBpdCA9PiBgRW52aXJvbm1lbnQgJHtpdH0gaXMgbm90IGFsbG93ZWQgdG8gYmUgc2V0LiBUaGlzIHZhbHVlIHdpbGwgYmUgaW5mZXJyZWQgZnJvbSB0aGUgYWNjb3VudCBvciBvdGhlciBwcm9wZXJ0aWVzLmAsXG4gICAgKSk7XG4gICAgdGhpcy5ub2RlLmFkZFZhbGlkYXRpb24obmV3IERlbnlMaXN0ZWRLZXlWYWxpZGF0b3IoXG4gICAgICBSaW9GYXJnYXRlU2VydmljZS5ERF9UQUdfREVOWV9MSVNULFxuICAgICAgcHJvcHMuZGF0YWRvZ09wdGlvbnM/LmFkZGl0aW9uYWxUYWdzLFxuICAgICAgaXQgPT4gYFRhZyAke2l0fSBpcyBub3QgYWxsb3dlZCB0byBiZSBzZXQuIFRoaXMgdmFsdWUgd2lsbCBiZSBpbmZlcnJlZCBmcm9tIHRoZSBhY2NvdW50IG9yIG90aGVyIHByb3BlcnRpZXMuYCxcbiAgICApKTtcblxuICAgIHRoaXMubm9kZS5hZGRWYWxpZGF0aW9uKG5ldyBDbHVzdGVyVnBjVmFsaWRhdG9yKFxuICAgICAgcHJvcHMudnBjLFxuICAgICAgcHJvcHMuY2x1c3RlcixcbiAgICApKTtcblxuICAgIGNvbnN0IGZhcmdhdGVDbHVzdGVyID0gY2x1c3RlciA/PyBuZXcgZWNzLkNsdXN0ZXIodGhpcywgJ0NsdXN0ZXInLCB7XG4gICAgICB2cGM6IHZwYyxcbiAgICB9KTtcbiAgICB0aGlzLnRhc2tEZWZpbml0aW9uID0gbmV3IGVjcy5GYXJnYXRlVGFza0RlZmluaXRpb24odGhpcywgJ1Rhc2tEZWZpbml0aW9uJywge1xuICAgICAgY3B1OiBmYXJnYXRlT3B0aW9ucy5jcHUsXG4gICAgICBtZW1vcnlMaW1pdE1pQjogZmFyZ2F0ZU9wdGlvbnMubWVtb3J5TGltaXRNaUIsXG4gICAgICBydW50aW1lUGxhdGZvcm06IHtcbiAgICAgICAgY3B1QXJjaGl0ZWN0dXJlOiBmYXJnYXRlT3B0aW9ucy5ydW50aW1lUGxhdGZvcm0/LmNwdUFyY2hpdGVjdHVyZSA/PyBlY3MuQ3B1QXJjaGl0ZWN0dXJlLlg4Nl82NCxcbiAgICAgICAgb3BlcmF0aW5nU3lzdGVtRmFtaWx5OiBmYXJnYXRlT3B0aW9ucy5ydW50aW1lUGxhdGZvcm0/Lm9wZXJhdGluZ1N5c3RlbUZhbWlseSA/PyBlY3MuT3BlcmF0aW5nU3lzdGVtRmFtaWx5LkxJTlVYLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBjb25zdCBhY2NvdW50TmFtZSA9IHNzbS5TdHJpbmdQYXJhbWV0ZXIuZnJvbVN0cmluZ1BhcmFtZXRlck5hbWUodGhpcywgJ0FjY291bnROYW1lJywgJy9jb25maWcvYWNjb3VudC9uYW1lJykuc3RyaW5nVmFsdWU7XG4gICAgY29uc3QgdGVhbU5hbWUgPSBzc20uU3RyaW5nUGFyYW1ldGVyLmZyb21TdHJpbmdQYXJhbWV0ZXJOYW1lKHRoaXMsICdUZWFtTmFtZScsICcvY29uZmlnL3RlYW0vbmFtZScpLnN0cmluZ1ZhbHVlO1xuICAgIGNvbnN0IHRlYW1JZGVudGlmaWVyID0gc3NtLlN0cmluZ1BhcmFtZXRlci5mcm9tU3RyaW5nUGFyYW1ldGVyTmFtZSh0aGlzLCAnVGVhbUlkZW50aWZpZXInLCAnL2NvbmZpZy90ZWFtL2lkZW50aWZpZXInKS5zdHJpbmdWYWx1ZTtcblxuICAgIGNvbnN0IGRhdGFkb2dTaXRlID0gc3NtLlN0cmluZ1BhcmFtZXRlci5mcm9tU3RyaW5nUGFyYW1ldGVyTmFtZSh0aGlzLCAnRGF0YWRvZ1NpdGUnLCAnL3Jpby9jb25maWcvZGF0YWRvZy1pbnRlZ3JhdGlvbi9zaXRlJykuc3RyaW5nVmFsdWU7XG4gICAgY29uc3QgZGF0YWRvZ0FwaUtleVBhcmFtZXRlciA9IHNzbS5TdHJpbmdQYXJhbWV0ZXIuZnJvbVN0cmluZ1BhcmFtZXRlck5hbWUodGhpcywgJ0RhdGFkb2dBcGlLZXknLCAnL3Jpby9jb25maWcvZGF0YWRvZy1pbnRlZ3JhdGlvbi9hcGkta2V5Jyk7XG5cbiAgICBjb25zdCBkYXRhZG9nU2lkZWNhckNwdSA9IGRhdGFkb2dPcHRpb25zPy5jcHUgPz8gdGhpcy5ERUZBVUxUX0RBVEFET0dfU0lERUNBUl9DUFU7XG4gICAgY29uc3QgZGF0YWRvZ1NpZGVjYXJNZW1vcnlNaUIgPSBkYXRhZG9nT3B0aW9ucz8ubWVtb3J5TGltaXRNaUIgPz8gdGhpcy5ERUZBVUxUX0RBVEFET0dfU0lERUNBUl9NRU1PUllfTElNSVRfTUlCO1xuICAgIGNvbnN0IGRhdGFkb2dTaWRlY2FyRXNzZW50aWFsID0gZGF0YWRvZ09wdGlvbnM/LmRhdGFkb2dTaWRlY2FyRXNzZW50aWFsID8/IHRoaXMuREVGQVVMVF9EQVRBRE9HX1NJREVDQVJfRVNTRU5USUFMO1xuXG4gICAgY29uc3QgbG9nZ2luZ01vZGVGb3JTZXJ2aWNlID0gZGF0YWRvZ09wdGlvbnM/LmxvZ2dpbmdNb2RlRm9yU2VydmljZSA/PyB0aGlzLkRFRkFVTFRfTE9HR0lOR19NT0RFX0ZPUl9TRVJWSUNFO1xuICAgIGNvbnN0IGxvZ2dpbmdNb2RlRm9yRGF0YWRvZ0FnZW50ID0gZGF0YWRvZ09wdGlvbnM/LmxvZ2dpbmdNb2RlRm9yRGF0YWRvZ0FnZW50ID8/IHRoaXMuREVGQVVMVF9MT0dHSU5HX01PREVfRk9SX0RBVEFET0dfU0lERUNBUjtcbiAgICBjb25zdCBmaXJlTGVuc0xvZ1JvdXRlclJlcXVpcmVkID1cbiAgICAgIGxvZ2dpbmdNb2RlRm9yU2VydmljZSA9PT0gRGF0YURvZ0xvZ2dpbmdNb2RlLkFXU19GSVJFX0xFTlMgfHxcbiAgICAgIGxvZ2dpbmdNb2RlRm9yRGF0YWRvZ0FnZW50ID09PSBEYXRhRG9nTG9nZ2luZ01vZGUuQVdTX0ZJUkVfTEVOUztcblxuICAgIGxldCBzZXJ2aWNlQ29udGFpbmVyQ3B1VW5pdHM7XG4gICAgbGV0IHNlcnZpY2VDb250YWluZXJNZW1vcnlMaW1pdE1pQjtcblxuICAgIGlmIChmaXJlTGVuc0xvZ1JvdXRlclJlcXVpcmVkKSB7XG4gICAgICBzZXJ2aWNlQ29udGFpbmVyQ3B1VW5pdHMgPSBmYXJnYXRlT3B0aW9ucy5jcHUgLSBkYXRhZG9nU2lkZWNhckNwdSAtIHRoaXMuTE9HX1JPVVRFUl9DUFU7XG4gICAgICBzZXJ2aWNlQ29udGFpbmVyTWVtb3J5TGltaXRNaUIgPSBmYXJnYXRlT3B0aW9ucy5tZW1vcnlMaW1pdE1pQiAtIGRhdGFkb2dTaWRlY2FyTWVtb3J5TWlCIC0gdGhpcy5MT0dfUk9VVEVSX01FTU9SWV9MSU1JVF9NSUI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNlcnZpY2VDb250YWluZXJDcHVVbml0cyA9IGZhcmdhdGVPcHRpb25zLmNwdSAtIGRhdGFkb2dTaWRlY2FyQ3B1O1xuICAgICAgc2VydmljZUNvbnRhaW5lck1lbW9yeUxpbWl0TWlCID0gZmFyZ2F0ZU9wdGlvbnMubWVtb3J5TGltaXRNaUIgLSBkYXRhZG9nU2lkZWNhck1lbW9yeU1pQjtcbiAgICB9XG4gICAgdGhpcy5zZXJ2aWNlQ29udGFpbmVyRGVmaW5pdGlvbiA9IHRoaXMudGFza0RlZmluaXRpb24uYWRkQ29udGFpbmVyKHNlcnZpY2VOYW1lLCB7XG4gICAgICBpbWFnZTogY29udGFpbmVyRGVmaW5pdGlvbk9wdGlvbi5pbWFnZSxcbiAgICAgIGNwdTogc2VydmljZUNvbnRhaW5lckNwdVVuaXRzLFxuICAgICAgbWVtb3J5TGltaXRNaUI6IHNlcnZpY2VDb250YWluZXJNZW1vcnlMaW1pdE1pQixcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIC4uLmRhdGFkb2cuZ2V0RmFyZ2F0ZUNvbnRhaW5lckVudmlyb25tZW50VmFyaWFibGVzKHtcbiAgICAgICAgICBzY29wZTogdGhpcyxcbiAgICAgICAgICBzdGFnZSxcbiAgICAgICAgICBzZXJ2aWNlTmFtZSxcbiAgICAgICAgICB2ZXJzaW9uLFxuICAgICAgICAgIGFjY291bnROYW1lLFxuICAgICAgICAgIHRlYW1OYW1lLFxuICAgICAgICAgIHRlYW1JZGVudGlmaWVyLFxuICAgICAgICAgIGFkZGl0aW9uYWxUYWdzOiBkYXRhZG9nT3B0aW9ucz8uYWRkaXRpb25hbFRhZ3MsXG4gICAgICAgIH0pLFxuICAgICAgICAuLi5jb250YWluZXJEZWZpbml0aW9uT3B0aW9uLmVudmlyb25tZW50LFxuICAgICAgfSxcbiAgICAgIGRvY2tlckxhYmVsczoge1xuICAgICAgICAuLi5kYXRhZG9nLmdldEZhcmdhdGVEb2NrZXJMYWJlbHMoeyBzdGFnZSwgc2VydmljZU5hbWUsIHZlcnNpb24gfSksXG4gICAgICB9LFxuICAgICAgaGVhbHRoQ2hlY2s6IGNvbnRhaW5lckRlZmluaXRpb25PcHRpb24uaGVhbHRoQ2hlY2ssXG4gICAgICBsb2dnaW5nOiBkYXRhZG9nLnNldHVwTG9nZ2luZyh7XG4gICAgICAgIHNjb3BlLFxuICAgICAgICBhY2NvdW50TmFtZSxcbiAgICAgICAgdGVhbU5hbWUsXG4gICAgICAgIHRlYW1JZGVudGlmaWVyLFxuICAgICAgICBzdGFnZSxcbiAgICAgICAgc2VydmljZU5hbWUsXG4gICAgICAgIHZlcnNpb24sXG4gICAgICAgIGRhdGFkb2dBcGlLZXlQYXJhbWV0ZXIsXG4gICAgICAgIGRhdGFkb2dMb2dnaW5nTW9kZTogbG9nZ2luZ01vZGVGb3JTZXJ2aWNlLFxuICAgICAgICBkYXRhZG9nU2l0ZSxcbiAgICAgICAgY29udGFpbmVyVHlwZTogJ3NlcnZpY2UnLFxuICAgICAgICBhZGRpdGlvbmFsVGFnczogZGF0YWRvZ09wdGlvbnM/LmFkZGl0aW9uYWxUYWdzLFxuICAgICAgfSksXG4gICAgICBzZWNyZXRzOiBjb250YWluZXJEZWZpbml0aW9uT3B0aW9uLnNlY3JldHMsXG4gICAgfSk7XG5cbiAgICBpZiAoZnJhbWV3b3Jrcz8uaW5jbHVkZXMoRnJhbWV3b3JrLlNQUklORykpIHtcbiAgICAgIFNwcmluZy5hbGxvd1BhcmFtZXRlclN0b3JlQWNjZXNzRm9yU3ByaW5nQ2xvdWRBd3ModGhpcywgc2VydmljZU5hbWUsIHRoaXMudGFza0RlZmluaXRpb24udGFza1JvbGUpO1xuICAgICAgU3ByaW5nLmFsbG93U2VjcmV0c01hbmFnZXJBY2Nlc3NGb3JTcHJpbmdDbG91ZEF3cyh0aGlzLCBzZXJ2aWNlTmFtZSwgdGhpcy50YXNrRGVmaW5pdGlvbi50YXNrUm9sZSk7XG4gICAgfVxuXG4gICAgaWYgKGZpcmVMZW5zTG9nUm91dGVyUmVxdWlyZWQpIHtcbiAgICAgIHRoaXMubG9nUm91dGVyQ29udGFpbmVyRGVmaW5pdGlvbiA9IGRhdGFkb2cuYWRkRmlyZUxlbnNMb2dSb3V0ZXIoe1xuICAgICAgICB0YXNrRGVmaW5pdGlvbjogdGhpcy50YXNrRGVmaW5pdGlvbixcbiAgICAgICAgY3B1OiB0aGlzLkxPR19ST1VURVJfQ1BVLFxuICAgICAgICBtZW1vcnlMaW1pdE1pQjogdGhpcy5MT0dfUk9VVEVSX01FTU9SWV9MSU1JVF9NSUIsXG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5kYXRhZG9nU2lkZUNhckNvbnRhaW5lckRlZmluaXRpb24gPSBkYXRhZG9nLmFkZERhdGFkb2dTaWRlY2FyKHtcbiAgICAgIHNjb3BlLFxuICAgICAgdGFza0RlZmluaXRpb246IHRoaXMudGFza0RlZmluaXRpb24sXG4gICAgICBhY2NvdW50TmFtZSxcbiAgICAgIHRlYW1OYW1lLFxuICAgICAgdGVhbUlkZW50aWZpZXIsXG4gICAgICBzdGFnZSxcbiAgICAgIHNlcnZpY2VOYW1lLFxuICAgICAgdmVyc2lvbixcbiAgICAgIGRhdGFkb2dBcGlLZXlQYXJhbWV0ZXIsXG4gICAgICBkYXRhZG9nU2l0ZSxcbiAgICAgIGRhdGFkb2dMb2dnaW5nTW9kZTogbG9nZ2luZ01vZGVGb3JEYXRhZG9nQWdlbnQsXG4gICAgICBhcG1HZXRSZXNvdXJjZXNUb0lnbm9yZTogZGF0YWRvZ09wdGlvbnM/LmFwbUdldEVuZHBvaW50c1RvSWdub3JlID8/IHRoaXMuREVGQVVMVF9BUE1fR0VUX0VORFBPSU5UU19UT19JR05PUkUsXG4gICAgICBjcHU6IGRhdGFkb2dTaWRlY2FyQ3B1LFxuICAgICAgbWVtb3J5TGltaXRNaUI6IGRhdGFkb2dTaWRlY2FyTWVtb3J5TWlCLFxuICAgICAgZXNzZW50aWFsOiBkYXRhZG9nU2lkZWNhckVzc2VudGlhbCxcbiAgICAgIGNvbnRhaW5lclRhZzogcHJvcHMuZGF0YWRvZ09wdGlvbnM/LmRhdGFkb2dTaWRlY2FyVGFnID8/IHRoaXMuREVGQVVMVF9EQVRBRE9HX1NJREVDQVJfVEFHLCAvLyBUaGVzZSBhcmUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLFxuICAgICAgYWRkaXRpb25hbFRhZ3M6IGRhdGFkb2dPcHRpb25zPy5hZGRpdGlvbmFsVGFncyxcbiAgICB9KTtcblxuICAgIGRhdGFkb2cuZW5zdXJlTG9nZ2luZ0FuZE1vbml0b3JpbmdBcmVSZWFkeUJlZm9yZVNlcnZpY2VTdGFydHModGhpcyk7XG5cbiAgICBjb25zdCBsb2FkQmFsYW5jZXJPcHRpb25zRm9yRmFyZ2F0ZVNlcnZpY2UgPSBsb2FkQmFsYW5jZXJPcHRpb25zXG4gICAgICA/IHsgaGVhbHRoQ2hlY2tHcmFjZVBlcmlvZDogbG9hZEJhbGFuY2VyT3B0aW9ucy5oZWFsdGhDaGVja0dyYWNlUGVyaW9kIH1cbiAgICAgIDoge307XG5cbiAgICB0aGlzLnNlcnZpY2UgPSBuZXcgZWNzLkZhcmdhdGVTZXJ2aWNlKHRoaXMsICdTZXJ2aWNlJywge1xuICAgICAgY2x1c3RlcjogZmFyZ2F0ZUNsdXN0ZXIsXG4gICAgICB0YXNrRGVmaW5pdGlvbjogdGhpcy50YXNrRGVmaW5pdGlvbixcbiAgICAgIGNpcmN1aXRCcmVha2VyOiB7IHJvbGxiYWNrOiB0cnVlIH0sXG4gICAgICBtYXhIZWFsdGh5UGVyY2VudDogMjAwLFxuICAgICAgbWluSGVhbHRoeVBlcmNlbnQ6IDEwMCxcbiAgICAgIGRlc2lyZWRDb3VudDogZmFyZ2F0ZU9wdGlvbnM/LmRlc2lyZWRDb3VudCxcbiAgICAgIC4uLmxvYWRCYWxhbmNlck9wdGlvbnNGb3JGYXJnYXRlU2VydmljZSxcbiAgICAgIHByb3BhZ2F0ZVRhZ3M6IGVjcy5Qcm9wYWdhdGVkVGFnU291cmNlLlNFUlZJQ0UsXG4gICAgfSk7XG5cbiAgICB0aGlzLmNvbm5lY3Rpb25zID0gdGhpcy5zZXJ2aWNlLmNvbm5lY3Rpb25zO1xuXG4gICAgaWYgKGxvYWRCYWxhbmNlck9wdGlvbnMgIT0gbnVsbCkge1xuICAgICAgY29uc3QgY29udGFpbmVyUG9ydCA9IDQ0MztcbiAgICAgIHRoaXMuc2VydmljZUNvbnRhaW5lckRlZmluaXRpb24uYWRkUG9ydE1hcHBpbmdzKHtcbiAgICAgICAgY29udGFpbmVyUG9ydDogY29udGFpbmVyUG9ydCxcbiAgICAgICAgcHJvdG9jb2w6IGVjcy5Qcm90b2NvbC5UQ1AsXG4gICAgICB9KTtcbiAgICAgIHRoaXMudGFyZ2V0R3JvdXAgPSBuZXcgZWxidjIuQXBwbGljYXRpb25UYXJnZXRHcm91cCh0aGlzLCAnVGFyZ2V0R3JvdXAnLCB7XG4gICAgICAgIHZwYzogdnBjLFxuICAgICAgICBwb3J0OiBjb250YWluZXJQb3J0LFxuICAgICAgICBwcm90b2NvbDogZWxidjIuQXBwbGljYXRpb25Qcm90b2NvbC5IVFRQUyxcbiAgICAgICAgdGFyZ2V0VHlwZTogZWxidjIuVGFyZ2V0VHlwZS5JUCxcbiAgICAgICAgdGFyZ2V0czogW3RoaXMuc2VydmljZV0sXG4gICAgICAgIGhlYWx0aENoZWNrOiBsb2FkQmFsYW5jZXJPcHRpb25zLmhlYWx0aENoZWNrLFxuICAgICAgICBzbG93U3RhcnQ6IHByb3BzLmxvYWRCYWxhbmNlck9wdGlvbnM/LnNsb3dTdGFydCA/PyB0aGlzLkRFRkFVTFRfU0xPV19TVEFSVCxcbiAgICAgICAgZGVyZWdpc3RyYXRpb25EZWxheTogcHJvcHMubG9hZEJhbGFuY2VyT3B0aW9ucz8uZGVyZWdpc3RyYXRpb25EZWxheSA/PyB0aGlzLkRFRkFVTFRfREVSRUdJU1RSQVRJT05fREVMQVksXG4gICAgICB9KTtcblxuICAgICAgbG9hZEJhbGFuY2VyT3B0aW9ucy5saXN0ZW5lclJ1bGVzLmZvckVhY2goKHsgcHJpb3JpdHksIGNvbmRpdGlvbnMgfSkgPT4ge1xuICAgICAgICBsb2FkQmFsYW5jZXJPcHRpb25zLmxpc3RlbmVyLmFkZFRhcmdldEdyb3VwcyhgUHJpb3JpdHkke3ByaW9yaXR5fUxpc3RlbmVyUnVsZWAsIHtcbiAgICAgICAgICB0YXJnZXRHcm91cHM6IFt0aGlzLnRhcmdldEdyb3VwIGFzIGVsYnYyLkFwcGxpY2F0aW9uVGFyZ2V0R3JvdXBdLFxuICAgICAgICAgIHByaW9yaXR5OiBwcmlvcml0eSxcbiAgICAgICAgICBjb25kaXRpb25zOiBjb25kaXRpb25zLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG5jbGFzcyBEZW55TGlzdGVkS2V5VmFsaWRhdG9yIGltcGxlbWVudHMgY29uc3RydWN0cy5JVmFsaWRhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVueUxpc3Q6IHN0cmluZ1tdLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGljdDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IHVuZGVmaW5lZCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1lc3NhZ2VHZW5lcmF0b3I6IChrZXlOYW1lOiBzdHJpbmcpID0+IHN0cmluZyxcbiAgKSB7fVxuXG4gIHZhbGlkYXRlKCk6IHN0cmluZ1tdIHtcbiAgICBpZiAoIXRoaXMuZGljdCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdDogc3RyaW5nW10gPSBbXTtcbiAgICB0aGlzLmRlbnlMaXN0LmZvckVhY2goa2V5TmFtZSA9PiB7XG4gICAgICBpZiAodGhpcy5kaWN0ICYmIGtleU5hbWUgaW4gdGhpcy5kaWN0KSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKHRoaXMubWVzc2FnZUdlbmVyYXRvcihrZXlOYW1lKSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG5cbmNsYXNzIENsdXN0ZXJWcGNWYWxpZGF0b3IgaW1wbGVtZW50cyBjb25zdHJ1Y3RzLklWYWxpZGF0aW9uIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB2cGM6IGVjMi5JVnBjLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2x1c3Rlcj86IGVjcy5JQ2x1c3RlcixcbiAgKSB7fVxuXG4gIHZhbGlkYXRlKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICBpZiAodGhpcy5jbHVzdGVyICYmIHRoaXMuY2x1c3Rlci52cGMudnBjSWQgIT09IHRoaXMudnBjLnZwY0lkKSB7XG4gICAgICByZXN1bHQucHVzaChgVGhlIFZQQyBwcm92aWRlZCBpbiB0aGUgY2x1c3RlciAoJHt0aGlzLmNsdXN0ZXIudnBjLm5vZGUuaWR9KSBNVVNUIG1hdGNoIHRoZSBWUEMgcHJvdmlkZWQgYXMgYXJndW1lbnQgKCR7dGhpcy52cGMubm9kZS5pZH0pLmApO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlvLWZhcmdhdGUtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mYXJnYXRlL3Jpby1mYXJnYXRlLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBbUM7QUFFbkMsMkNBQTJDO0FBQzNDLGdFQUFnRTtBQUNoRSwyQ0FBMkM7QUFDM0MseUNBQXlDO0FBQ3pDLHFDQUFxQztBQUNyQyxxQ0FBa0M7QUE4RGxDLElBQVksU0FLWDtBQUxELFdBQVksU0FBUztJQUNuQjs7T0FFRztJQUNILDZDQUFNLENBQUE7QUFDUixDQUFDLEVBTFcsU0FBUyxHQUFULGlCQUFTLEtBQVQsaUJBQVMsUUFLcEI7QUFvT0QsSUFBWSxrQkFpQlg7QUFqQkQsV0FBWSxrQkFBa0I7SUFDNUI7OztPQUdHO0lBQ0gsNkVBQWEsQ0FBQTtJQUViOzs7T0FHRztJQUNILG1GQUFnQixDQUFBO0lBRWhCOztPQUVHO0lBQ0gsMkRBQUksQ0FBQTtBQUNOLENBQUMsRUFqQlcsa0JBQWtCLEdBQWxCLDBCQUFrQixLQUFsQiwwQkFBa0IsUUFpQjdCO0FBRUQsTUFBYSxpQkFBa0IsU0FBUSxVQUFVLENBQUMsU0FBUztJQTJDekQsWUFBWSxLQUEyQixFQUFFLEVBQVUsRUFBRSxLQUE2QjtRQUNoRixLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBdkJGLHdDQUFtQyxHQUFhLEVBQUUsQ0FBQztRQUNuRCxnQ0FBMkIsR0FBRyxFQUFFLENBQUM7UUFDakMsNkNBQXdDLEdBQUcsR0FBRyxDQUFDO1FBQy9DLHNDQUFpQyxHQUFHLElBQUksQ0FBQztRQUN6QyxxQ0FBZ0MsR0FBRyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQztRQUN2RSw2Q0FBd0MsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7UUFDbkUsaUNBQTRCLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkQs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SyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFO1lBQzdELE1BQU0sQ0FBQyxJQUFJLENBQUMsb0NBQW9DLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLDhDQUE4QyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzdJO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGVjMiBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCAqIGFzIGVjcyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWNzJztcbmltcG9ydCAqIGFzIGVsYnYyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyJztcbmltcG9ydCAqIGFzIHNzbSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3NtJztcbmltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgKiBhcyBkYXRhZG9nIGZyb20gJy4vZGF0YWRvZyc7XG5pbXBvcnQgeyBTcHJpbmcgfSBmcm9tICcuL3NwcmluZyc7XG5cbi8qKlxuICogRmFyZ2F0ZSBUYXNrIERlZmluaXRpb24gUHJvcGVydGllcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSaW9GYXJnYXRlU2VydmljZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBzdGFnZSBvZiB0aGUgc2VydmljZSwgZS5nLiAncHJvZCcuXG4gICAqL1xuICByZWFkb25seSBzdGFnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgTmFtZSBvZiB0aGUgc2VydmljZS5cbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBzZXJ2aWNlLCBlLmcuIHRoZSBnaXQgaGFzaCBvZiB0aGUgY29ycmVzcG9uZGluZyBjb21taXQuXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBmcmFtZXdvcmtzIGluIHVzZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgLSBObyBmcmFtZXdvcmtzLlxuICAgKi9cbiAgcmVhZG9ubHkgZnJhbWV3b3Jrcz86IEZyYW1ld29ya1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgVlBDIG9mIHRoZSBzZXJ2aWNlJ3MgZWNzLkNsdXN0ZXIgaWYgbm8gY2x1c3RlciBpcyBleHBsaWNpdGx5IHBhc3NlZCBhcyBwcm9wLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjOiBlYzIuSVZwYztcblxuICAvKipcbiAgICogVGhlIEZhcmdhdGUgY2x1c3RlciB0byBydW4gdGhlIHNlcnZpY2UgaW4uXG4gICAqIElmIG5vdCBudWxsLCB0aGUgY2x1c3Rlci52cGMgTVVTVCBtYXRjaCB0aGUgdnBjIHByb3ZpZGVkIGFzIGRpcmVjdCBhcmd1bWVudC5cbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSAtIENyZWF0ZSBhIG5ldyBGYXJnYXRlIGNsdXN0ZXIgd2l0aCBkZWZhdWx0IHByb3BlcnRpZXNcbiAgICovXG4gIHJlYWRvbmx5IGNsdXN0ZXI/OiBlY3MuSUNsdXN0ZXI7XG5cbiAgLyoqXG4gICAqIENvbnRhaW5lciBkZWZpbml0aW9uIG9wdGlvbnMgbGlrZSBpbWFnZSwgY3B1LCBtZW1vcnkuXG4gICAqL1xuICByZWFkb25seSBjb250YWluZXJEZWZpbml0aW9uT3B0aW9uOiBDb250YWluZXJEZWZpbml0aW9uT3B0aW9ucztcblxuICAvKipcbiAgICogRmFyZ2F0ZSBUYXNrIERlZmluaXRpb24gUHJvcGVydGllcy5cbiAgICovXG4gIHJlYWRvbmx5IGZhcmdhdGVPcHRpb25zOiBGYXJnYXRlVGFza0RlZmluaXRpb25Qcm9wcztcblxuICAvKipcbiAgICogTG9hZGJhbGFuY2VyIG9wdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBsb2FkQmFsYW5jZXJPcHRpb25zPzogTG9hZEJhbGFuY2VyT3B0aW9ucztcblxuICAvKipcbiAgICogRGF0YWRvZyBpbnRlZ3JhdGlvbiBwcm9wZXJ0aWVzXG4gICAqL1xuICByZWFkb25seSBkYXRhZG9nT3B0aW9ucz86IERhdGFkb2dJbnRlZ3JhdGlvblByb3BzO1xufVxuXG5leHBvcnQgZW51bSBGcmFtZXdvcmsge1xuICAvKipcbiAgICogU3ByaW5nIEZyYW1ld29yaywgU3ByaW5nIEJvb3QsIGFuZCBTcHJpbmcgQ2xvdWQgQVdTLlxuICAgKi9cbiAgU1BSSU5HLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRhaW5lckRlZmluaXRpb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBpbWFnZSB1c2VkIHRvIHN0YXJ0IGEgY29udGFpbmVyLlxuICAgKlxuICAgKiBUaGlzIHN0cmluZyBpcyBwYXNzZWQgZGlyZWN0bHkgdG8gdGhlIERvY2tlciBkYWVtb24uXG4gICAqIEltYWdlcyBpbiB0aGUgRG9ja2VyIEh1YiByZWdpc3RyeSBhcmUgYXZhaWxhYmxlIGJ5IGRlZmF1bHQuXG4gICAqIE90aGVyIHJlcG9zaXRvcmllcyBhcmUgc3BlY2lmaWVkIHdpdGggZWl0aGVyIHJlcG9zaXRvcnktdXJsL2ltYWdlOnRhZyBvciByZXBvc2l0b3J5LXVybC9pbWFnZUBkaWdlc3QuXG4gICAqL1xuICByZWFkb25seSBpbWFnZTogZWNzLkNvbnRhaW5lckltYWdlO1xuXG4gIC8qKlxuICAgKiBUaGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHBhc3MgdG8gdGhlIGNvbnRhaW5lci5cbiAgICpcbiAgICogU29tZSBEYXRhZG9nIHNwZWNpZmljIGVudmlyb25tZW50IHZhcmlhYmxlcyBhcmUgbm90IGFsbG93ZWQgdG8gYmUgc2V0LFxuICAgKiBiZWNhdXNlIHRoZXkgYXJlIHNldCBhdXRvbWF0aWNhbGx5IG9yIGNvbXB1dGVkIGZyb20gb3RoZXIgYXR0cmlidXRlcy5cbiAgICogVGhlc2UgYXJlOlxuICAgKiAqIEREX0VOVjogU2V0IHNhbWUgYXMgcHJvcCBzdGFnZVxuICAgKiAqIEREX1NFUlZJQ0U6IFNldCBzYW1lIGFzIHByb3Agc2VydmljZU5hbWVcbiAgICogKiBERF9WRVJTSU9OOiBTZXQgc2FtZSBhcyBwcm9wIHZlcnNpb25cbiAgICogKiBERF9UQUdTOiBTZXQgc2FtZSBhcyBEYXRhZG9nSW50ZWdyYXRpb25Qcm9wcyNhZGRpdGlvbmFsVGFnc1xuICAgKiAqIEREX0xPR1NfSU5KRUNUSU9OOiB0cnVlXG4gICAqIE90aGVyIEREXy1wcmVmaXhlZCB2YWlhYmxlIG1heSBiZSBhZGRlZCB0byB0aGlzIGxpc3QuXG4gICAqXG4gICAqIE90aGVyIEVudmlyb25tZW50IHZhcmlhYmxlcyBzZXQgYnkgZGVmYXVsdCBhcmUgb3ZlcndyaXR0ZW4gaWYgcGFzc2VkLlxuICAgKiBUaGVzZSBhcmU6XG4gICAqICogRERfU0VSVklDRV9NQVBQSU5HOiBkYXRhYmFzZTpmYXJnYXRlLXdlYi1hcHAtYXVyb3JhLGphdmEtYXdzLXNkazpmYXJnYXRlLXdlYi1hcHAtYXdzLXNkayxrYWZrYTpmYXJnYXRlLXdlYi1hcHAta2Fma2EsbXlzcWw6ZmFyZ2F0ZS13ZWItYXBwLWF1cm9yYVxuICAgKiAqIEREX1RSQUNFX1NBTVBMRV9SQVRFOiAxLjBcbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSAtIE5vIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAgICovXG4gIHJlYWRvbmx5IGVudmlyb25tZW50PzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogVGhlIHNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gcGFzcyB0byB0aGUgY29udGFpbmVyLlxuICAgKlxuICAgKiBAZGVmYXVsdFZhbHVlIC0gTm8gc2VjcmV0IGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAgICovXG4gIHJlYWRvbmx5IHNlY3JldHM/OiB7IFtrZXk6IHN0cmluZ106IGVjcy5TZWNyZXQgfTtcblxuICAvKipcbiAgICogVGhlIGhlYWx0aCBjaGVjayBjb21tYW5kIGFuZCBhc3NvY2lhdGVkIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycyBmb3IgdGhlIGNvbnRhaW5lci5cbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSAtIEhlYWx0aCBjaGVjayBjb25maWd1cmF0aW9uIGZyb20gY29udGFpbmVyLlxuICAgKi9cbiAgcmVhZG9ubHkgaGVhbHRoQ2hlY2s/OiBlY3MuSGVhbHRoQ2hlY2s7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmFyZ2F0ZVRhc2tEZWZpbml0aW9uUHJvcHMge1xuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBjcHUgdW5pdHMgdXNlZCBieSB0aGUgdGFzay4gRm9yIHRhc2tzIHVzaW5nIHRoZSBGYXJnYXRlIGxhdW5jaCB0eXBlLFxuICAgKiB0aGlzIGZpZWxkIGlzIHJlcXVpcmVkIGFuZCB5b3UgbXVzdCB1c2Ugb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzLFxuICAgKiB3aGljaCBkZXRlcm1pbmVzIHlvdXIgcmFuZ2Ugb2YgdmFsaWQgdmFsdWVzIGZvciB0aGUgbWVtb3J5IHBhcmFtZXRlcjpcbiAgICpcbiAgICogMjU2ICguMjUgdkNQVSkgLSBBdmFpbGFibGUgbWVtb3J5IHZhbHVlczogNTEyICgwLjUgR0IpLCAxMDI0ICgxIEdCKSwgMjA0OCAoMiBHQilcbiAgICpcbiAgICogNTEyICguNSB2Q1BVKSAtIEF2YWlsYWJsZSBtZW1vcnkgdmFsdWVzOiAxMDI0ICgxIEdCKSwgMjA0OCAoMiBHQiksIDMwNzIgKDMgR0IpLCA0MDk2ICg0IEdCKVxuICAgKlxuICAgKiAxMDI0ICgxIHZDUFUpIC0gQXZhaWxhYmxlIG1lbW9yeSB2YWx1ZXM6IDIwNDggKDIgR0IpLCAzMDcyICgzIEdCKSwgNDA5NiAoNCBHQiksIDUxMjAgKDUgR0IpLCA2MTQ0ICg2IEdCKSwgNzE2OCAoNyBHQiksIDgxOTIgKDggR0IpXG4gICAqXG4gICAqIDIwNDggKDIgdkNQVSkgLSBBdmFpbGFibGUgbWVtb3J5IHZhbHVlczogQmV0d2VlbiA0MDk2ICg0IEdCKSBhbmQgMTYzODQgKDE2IEdCKSBpbiBpbmNyZW1lbnRzIG9mIDEwMjQgKDEgR0IpXG4gICAqXG4gICAqIDQwOTYgKDQgdkNQVSkgLSBBdmFpbGFibGUgbWVtb3J5IHZhbHVlczogQmV0d2VlbiA4MTkyICg4IEdCKSBhbmQgMzA3MjAgKDMwIEdCKSBpbiBpbmNyZW1lbnRzIG9mIDEwMjQgKDEgR0IpXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgNTEyXG4gICAqL1xuICByZWFkb25seSBjcHU6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGFtb3VudCAoaW4gTWlCKSBvZiBtZW1vcnkgdXNlZCBieSB0aGUgdGFzay4gRm9yIHRhc2tzIHVzaW5nIHRoZSBGYXJnYXRlIGxhdW5jaCB0eXBlLFxuICAgKiB0aGlzIGZpZWxkIGlzIHJlcXVpcmVkIGFuZCB5b3UgbXVzdCB1c2Ugb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzLCB3aGljaCBkZXRlcm1pbmVzIHlvdXIgcmFuZ2Ugb2YgdmFsaWQgdmFsdWVzIGZvciB0aGUgY3B1IHBhcmFtZXRlcjpcbiAgICpcbiAgICogNTEyICgwLjUgR0IpLCAxMDI0ICgxIEdCKSwgMjA0OCAoMiBHQikgLSBBdmFpbGFibGUgY3B1IHZhbHVlczogMjU2ICguMjUgdkNQVSlcbiAgICpcbiAgICogMTAyNCAoMSBHQiksIDIwNDggKDIgR0IpLCAzMDcyICgzIEdCKSwgNDA5NiAoNCBHQikgLSBBdmFpbGFibGUgY3B1IHZhbHVlczogNTEyICguNSB2Q1BVKVxuICAgKlxuICAgKiAyMDQ4ICgyIEdCKSwgMzA3MiAoMyBHQiksIDQwOTYgKDQgR0IpLCA1MTIwICg1IEdCKSwgNjE0NCAoNiBHQiksIDcxNjggKDcgR0IpLCA4MTkyICg4IEdCKSAtIEF2YWlsYWJsZSBjcHUgdmFsdWVzOiAxMDI0ICgxIHZDUFUpXG4gICAqXG4gICAqIEJldHdlZW4gNDA5NiAoNCBHQikgYW5kIDE2Mzg0ICgxNiBHQikgaW4gaW5jcmVtZW50cyBvZiAxMDI0ICgxIEdCKSAtIEF2YWlsYWJsZSBjcHUgdmFsdWVzOiAyMDQ4ICgyIHZDUFUpXG4gICAqXG4gICAqIEJldHdlZW4gODE5MiAoOCBHQikgYW5kIDMwNzIwICgzMCBHQikgaW4gaW5jcmVtZW50cyBvZiAxMDI0ICgxIEdCKSAtIEF2YWlsYWJsZSBjcHUgdmFsdWVzOiA0MDk2ICg0IHZDUFUpXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgMTAyNFxuICAgKi9cbiAgcmVhZG9ubHkgbWVtb3J5TGltaXRNaUI6IG51bWJlcjtcblxuICAvKipcbiAgICogRGVzaXJlZCBjb3VudCBvZiBydW5uaW5nIHRhc2tzXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgLSBXaGVuIGNyZWF0aW5nIHRoZSBzZXJ2aWNlLCBkZWZhdWx0IGlzIDE7IHdoZW4gdXBkYXRpbmcgdGhlIHNlcnZpY2UsIGRlZmF1bHQgdXNlc1xuICAgKiB0aGUgY3VycmVudCB0YXNrIG51bWJlci5cbiAgICovXG4gIHJlYWRvbmx5IGRlc2lyZWRDb3VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG9wZXJhdGluZyBzeXN0ZW0gdGhhdCB5b3VyIHRhc2sgZGVmaW5pdGlvbnMgYXJlIHJ1bm5pbmcgb24uXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgLSBVc2luZyBlY3MuT3BlcmF0aW5nU3lzdGVtRmFtaWx5LkxJTlVYIGFuZCBlY3MuQ3B1QXJjaGl0ZWN0dXJlLlg4Nl82NFxuICAgKi9cbiAgcmVhZG9ubHkgcnVudGltZVBsYXRmb3JtPzogZWNzLlJ1bnRpbWVQbGF0Zm9ybTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0ZW5lclJ1bGUge1xuICByZWFkb25seSBwcmlvcml0eTogbnVtYmVyO1xuXG4gIHJlYWRvbmx5IGNvbmRpdGlvbnM6IGVsYnYyLkxpc3RlbmVyQ29uZGl0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZEJhbGFuY2VyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBMaXN0ZW5lciBmb3IgYW4gQXBwbGljYXRpb24gTG9hZCBCYWxhbmNlclxuICAgKi9cbiAgcmVhZG9ubHkgbGlzdGVuZXI6IGVsYnYyLklBcHBsaWNhdGlvbkxpc3RlbmVyO1xuXG4gIC8qKlxuICAgKiBPbmUgb3IgbW9yZSBwYXRoIHBhdHRlcm5zIHRvIGNvbXBhcmUgYWdhaW5zdCB0aGUgcmVxdWVzdCBVUkwuXG4gICAqIFRoZSBtYXhpbXVtIHNpemUgb2YgZWFjaCBzdHJpbmcgaXMgMTI4IGNoYXJhY3RlcnMuXG4gICAqIFRoZSBjb21wYXJpc29uIGlzIGNhc2Ugc2Vuc2l0aXZlLlxuICAgKiBUaGUgZm9sbG93aW5nIHdpbGRjYXJkIGNoYXJhY3RlcnMgYXJlIHN1cHBvcnRlZDogKiAobWF0Y2hlcyAwIG9yIG1vcmUgY2hhcmFjdGVycykgYW5kID8gKG1hdGNoZXMgZXhhY3RseSAxIGNoYXJhY3RlcikuXG4gICAqXG4gICAqIFVwZGF0ZSByZXF1aXJlczogTm8gaW50ZXJydXB0aW9uXG4gICAqL1xuICByZWFkb25seSBsaXN0ZW5lclJ1bGVzOiBMaXN0ZW5lclJ1bGVbXTtcblxuICAvKipcbiAgICogIEhlYWx0aCBjaGVjayBvcHRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgaGVhbHRoQ2hlY2s6IGVsYnYyLkhlYWx0aENoZWNrO1xuXG4gIC8qKlxuICAgKiAgSGVhbHRoIGNoZWNrIGdyYWNlIHBlcmlvZC5cbiAgICovXG4gIHJlYWRvbmx5IGhlYWx0aENoZWNrR3JhY2VQZXJpb2Q6IGNkay5EdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIHRpbWUgcGVyaW9kIGR1cmluZyB3aGljaCB0aGUgbG9hZCBiYWxhbmNlciBzZW5kcyBhIG5ld2x5IHJlZ2lzdGVyZWQgdGFyZ2V0IGEgbGluZWFybHkgaW5jcmVhc2luZyBzaGFyZSBvZiB0aGUgdHJhZmZpYyB0byB0aGUgdGFyZ2V0IGdyb3VwLlxuXG4gICAqVGhlIHJhbmdlIGlzIDMwLTkwMCBzZWNvbmRzICgxNSBtaW51dGVzKS5cblxuICAgKiBAZGVmYXVsdFZhbHVlIHVuZGVmaW5lZFxuICAqL1xuICByZWFkb25seSBzbG93U3RhcnQ/OiBjZGsuRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgb2YgdGltZSBmb3IgRWxhc3RpYyBMb2FkIEJhbGFuY2luZyB0byB3YWl0IGJlZm9yZSBkZXJlZ2lzdGVyaW5nIGEgdGFyZ2V0LlxuXG4gICAqIFRoZSByYW5nZSBpcyAwLTM2MDAgc2Vjb25kcy5cblxuICAgKiBAZGVmYXVsdFZhbHVlIDVcbiAgKi9cbiAgcmVhZG9ubHkgZGVyZWdpc3RyYXRpb25EZWxheT86IGNkay5EdXJhdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhZG9nSW50ZWdyYXRpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBudW1iZXIgb2YgQ1BVIHVuaXRzIHRvIHJlc2VydmUgZm9yIHRoZSBjb250YWluZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgLSA2NFxuICAgKi9cbiAgcmVhZG9ubHkgY3B1PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IChpbiBNaUIpIG9mIG1lbW9yeSB0byBwcmVzZW50IHRvIHRoZSBjb250YWluZXIuXG4gICAqXG4gICAqIElmIHlvdXIgY29udGFpbmVyIGF0dGVtcHRzIHRvIGV4Y2VlZCB0aGUgYWxsb2NhdGVkIG1lbW9yeSwgdGhlIGNvbnRhaW5lclxuICAgKiBpcyB0ZXJtaW5hdGVkLlxuICAgKlxuICAgKiBBdCBsZWFzdCBvbmUgb2YgbWVtb3J5TGltaXRNaUIgYW5kIG1lbW9yeVJlc2VydmF0aW9uTWlCIGlzIHJlcXVpcmVkIGZvciBub24tRmFyZ2F0ZSBzZXJ2aWNlcy5cbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSAtIDEyOFxuICAgKi9cbiAgcmVhZG9ubHkgbWVtb3J5TGltaXRNaUI/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBsb2dnaW5nIG1vZGUgZm9yIHRoZSBzZXJ2aWNlLlxuICAgKlxuICAgKiBAZGVmYXVsdFZhbHVlIC0gVXNpbmcgdGhlIERhdGFkb2cgbG9nIGZvcndhcmRlciBsYW1iZGEgcHJvdmlkZWQgYnkgdGhlIGRhdGFkb2ctaW50ZWdyYXRpb24uXG4gICAqL1xuICByZWFkb25seSBsb2dnaW5nTW9kZUZvclNlcnZpY2U/OiBEYXRhRG9nTG9nZ2luZ01vZGU7XG5cbiAgLyoqXG4gICAqIFRoZSBsb2dnaW5nIG1vZGUgZm9yIHRoZSBEYXRhZG9nIGFnZW50IHNpZGVjYXIuXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgLSBObyBsb2dzIGluIERhdGFkb2csIENsb3Vkd2F0Y2ggb25seS5cbiAgICovXG4gIHJlYWRvbmx5IGxvZ2dpbmdNb2RlRm9yRGF0YWRvZ0FnZW50PzogRGF0YURvZ0xvZ2dpbmdNb2RlO1xuXG4gIC8qKlxuICAgKiBHRVQgZW5kcG9pbnRzIHRvIGlnbm9yZSBpbiBEYXRhZG9nJ3MgQVBNIG92ZXJ2aWV3LiBUaGlzIGlzIHVzZWZ1bCB0byBmaWx0ZXIgb3V0IGFsbCBoZWFsdGggY2hlY2sgY2FsbHMuXG5cbiAgICAqIEBkZWZhdWx0VmFsdWUgLSBObyBlbmRwb2ludHMgYXJlIGlnbm9yZWQuXG4gICAgKi9cbiAgcmVhZG9ubHkgYXBtR2V0RW5kcG9pbnRzVG9JZ25vcmU/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQ29uZmlndXJlIGlmIHRoZSBEYXRhZG9nIGFnZW50IHNpZGVjYXIgaXMgbWFya2VkIGFzIGVzc2VudGlhbC5cbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSAtIHRydWUuXG4gICAqL1xuICByZWFkb25seSBkYXRhZG9nU2lkZWNhckVzc2VudGlhbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyZXMgdGhlIGRvY2tlciBpbWFnZSB0YWcgZm9yIGRhdGFkb2cgc2lkZWNhclxuICAgKiBAZGVmYXVsdFZhbHVlIC0gJ2xhdGVzdCdcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFkb2dTaWRlY2FyVGFnPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb25maWd1cmUgYWRkaXRpb25hbCB0YWdzLCB3aGljaCBhcmUgYXBwZW5kZWQgdG8gdGhlIGRlZmF1bHRzLFxuICAgKiBXaGVuIHlvdSBkZWZpbmUgY3VzdG9tIHRhZ3Mgd2Ugd291bGQgYmUgZ2xhZCBpZiB5b3UgY29udGFjdCB1cy5cbiAgICogV2Ugd291bGQgbGlrZSB0byBsZWFybiBhYm91dCB5b3VyIHVzZSBjYXNlcy5cbiAgICpcbiAgICogRGVmYXVsdCB0YWdzIGFyZSBub3QgYWxsb3dlZCB0byBiZSBvdmVycmlkZGVuIVxuICAgKlxuICAgKiBEZWZhdWx0cyBhcmU6XG4gICAqICogZW52OiBTZXQgdG8gUmlvRmFyZ2F0ZVNlcnZpY2VQcm9wcyNzdGFnZSBwcm9wXG4gICAqICogc2VydmljZTogU2V0IHRvIFJpb0ZhcmdhdGVTZXJ2aWNlUHJvcHMjc2VydmljZU5hbWUgcHJvcFxuICAgKiAqIHZlcnNpb246IFNldCB0byBSaW9GYXJnYXRlU2VydmljZVByb3BzI3ZlcnNpb24gcHJvcFxuICAgKiAqIGFjY291bnRfaWQ6JHthY2NvdW50SUR9XG4gICAqICogYWNjb3VudF9uYW1lOiR7YWNjb3VudE5hbWV9XG4gICAqICogcmVnaW9uOiR7QVdTUmVnaW9ufVxuICAgKiAqIHRlYW06JHt0ZWFtTmFtZSBmcm9tIHNzbSBwYXJhbSAvY29uZmlnL3RlYW0vbmFtZX1cbiAgICogKiB0ZWFtX2lkZW50aWZpZXI6JHt0ZWFtSWRlbnRpZmllciBmcm9tIHNzbSBwYXJhbSAvY29uZmlnL3RlYW0vaWRlbnRpZmllcn1cbiAgICovXG4gIHJlYWRvbmx5IGFkZGl0aW9uYWxUYWdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGVudW0gRGF0YURvZ0xvZ2dpbmdNb2RlIHtcbiAgLyoqXG4gICAqIEZvcndhcmQgbG9ncyBkaXJlY3RseSB0byBEYXRhZG9nIHVzaW5nIEFXUyBGaXJlTGVucyBhcyBsb2cgcm91dGVyLFxuICAgKiBzZWUgaHR0cHM6Ly9kb2NzLmRhdGFkb2docS5jb20vaW50ZWdyYXRpb25zL2Vjc19mYXJnYXRlLz90YWI9Zmx1ZW50Yml0YW5kZmlyZWxlbnMjbG9nLWNvbGxlY3Rpb24uXG4gICAqL1xuICBBV1NfRklSRV9MRU5TLFxuXG4gIC8qKlxuICAgKiBTdG9yZSBsb2dzIGluIEFXUyBDbG91ZHdhdGNoIGFuZCB1c2UgdGhlIERhdGFkb2cgbG9nIGZvcndhcmRlciBsYW1iZGEgdG8gZm9yd2FyZCB0aGUgbG9ncyB0byBEYXRhZG9nLFxuICAgKiBzZWUgaHR0cHM6Ly9kb2NzLmRhdGFkb2docS5jb20vaW50ZWdyYXRpb25zL2Vjc19mYXJnYXRlLz90YWI9bG9nZHJpdmVyI2xvZy1jb2xsZWN0aW9uLlxuICAgKi9cbiAgRk9SV0FSREVSX0xBTUJEQSxcblxuICAvKipcbiAgICogT25seSBsb2cgdG8gQVdTIENsb3Vkd2F0Y2ggd2l0aG91dCBmb3J3YXJkaW5nIHRoZSBsb2dzIHRvIERhdGFkb2cuXG4gICAqL1xuICBOT05FLFxufVxuXG5leHBvcnQgY2xhc3MgUmlvRmFyZ2F0ZVNlcnZpY2UgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCBpbXBsZW1lbnRzIGVjMi5JQ29ubmVjdGFibGUge1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEREX0VOVl9ERU5ZX0xJU1QgPSBbXG4gICAgJ0REX0VOVicsXG4gICAgJ0REX1RBR1MnLFxuICAgICdERF9TRVJWSUNFJyxcbiAgICAnRERfVkVSU0lPTicsXG4gICAgJ0REX0xPR1NfSU5KRUNUSU9OJyxcbiAgXTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBERF9UQUdfREVOWV9MSVNUID0gW1xuICAgICdlbnYnLFxuICAgICdzZXJ2aWNlJyxcbiAgICAndmVyc2lvbicsXG4gICAgJ2FjY291bnRfaWQnLFxuICAgICdhY2NvdW50X25hbWUnLFxuICAgICdyZWdpb24nLFxuICAgICd0ZWFtJyxcbiAgICAndGVhbV9pZGVudGlmaWVyJyxcbiAgXTtcblxuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfQVBNX0dFVF9FTkRQT0lOVFNfVE9fSUdOT1JFOiBzdHJpbmdbXSA9IFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfREFUQURPR19TSURFQ0FSX0NQVSA9IDY0O1xuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfREFUQURPR19TSURFQ0FSX01FTU9SWV9MSU1JVF9NSUIgPSAxMjg7XG4gIHByaXZhdGUgcmVhZG9ubHkgREVGQVVMVF9EQVRBRE9HX1NJREVDQVJfRVNTRU5USUFMID0gdHJ1ZTtcbiAgcHJpdmF0ZSByZWFkb25seSBERUZBVUxUX0xPR0dJTkdfTU9ERV9GT1JfU0VSVklDRSA9IERhdGFEb2dMb2dnaW5nTW9kZS5GT1JXQVJERVJfTEFNQkRBO1xuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfTE9HR0lOR19NT0RFX0ZPUl9EQVRBRE9HX1NJREVDQVIgPSBEYXRhRG9nTG9nZ2luZ01vZGUuTk9ORTtcbiAgcHJpdmF0ZSByZWFkb25seSBERUZBVUxUX0RFUkVHSVNUUkFUSU9OX0RFTEFZID0gY2RrLkR1cmF0aW9uLnNlY29uZHMoNSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgREVGQVVMVF9TTE9XX1NUQVJUID0gdW5kZWZpbmVkO1xuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfREFUQURPR19TSURFQ0FSX1RBRyA9ICdsYXRlc3QnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgTE9HX1JPVVRFUl9DUFUgPSA2NDtcbiAgcHJpdmF0ZSByZWFkb25seSBMT0dfUk9VVEVSX01FTU9SWV9MSU1JVF9NSUIgPSA2NDtcblxuICByZWFkb25seSBzZXJ2aWNlQ29udGFpbmVyRGVmaW5pdGlvbjogZWNzLkNvbnRhaW5lckRlZmluaXRpb247XG4gIHJlYWRvbmx5IGRhdGFkb2dTaWRlQ2FyQ29udGFpbmVyRGVmaW5pdGlvbjogZWNzLkNvbnRhaW5lckRlZmluaXRpb247XG4gIHJlYWRvbmx5IGxvZ1JvdXRlckNvbnRhaW5lckRlZmluaXRpb24/OiBlY3MuQ29udGFpbmVyRGVmaW5pdGlvbjtcbiAgcmVhZG9ubHkgdGFza0RlZmluaXRpb246IGVjcy5GYXJnYXRlVGFza0RlZmluaXRpb247XG5cbiAgcmVhZG9ubHkgY29ubmVjdGlvbnM6IGVjMi5Db25uZWN0aW9ucztcbiAgcmVhZG9ubHkgc2VydmljZTogZWNzLkZhcmdhdGVTZXJ2aWNlO1xuICByZWFkb25seSB0YXJnZXRHcm91cDogZWxidjIuQXBwbGljYXRpb25UYXJnZXRHcm91cHx1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmlvRmFyZ2F0ZVNlcnZpY2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCB7XG4gICAgICBsb2FkQmFsYW5jZXJPcHRpb25zLFxuICAgICAgdnBjLFxuICAgICAgY2x1c3RlcixcbiAgICAgIGZhcmdhdGVPcHRpb25zLFxuICAgICAgZGF0YWRvZ09wdGlvbnMsXG4gICAgICBzZXJ2aWNlTmFtZSxcbiAgICAgIGNvbnRhaW5lckRlZmluaXRpb25PcHRpb24sXG4gICAgICBzdGFnZSxcbiAgICAgIHZlcnNpb24sXG4gICAgICBmcmFtZXdvcmtzLFxuICAgIH0gPSBwcm9wcztcblxuICAgIHRoaXMubm9kZS5hZGRWYWxpZGF0aW9uKG5ldyBEZW55TGlzdGVkS2V5VmFsaWRhdG9yKFxuICAgICAgUmlvRmFyZ2F0ZVNlcnZpY2UuRERfRU5WX0RFTllfTElTVCxcbiAgICAgIHByb3BzLmNvbnRhaW5lckRlZmluaXRpb25PcHRpb24uZW52aXJvbm1lbnQsXG4gICAgICBpdCA9PiBgRW52aXJvbm1lbnQgJHtpdH0gaXMgbm90IGFsbG93ZWQgdG8gYmUgc2V0LiBUaGlzIHZhbHVlIHdpbGwgYmUgaW5mZXJyZWQgZnJvbSB0aGUgYWNjb3VudCBvciBvdGhlciBwcm9wZXJ0aWVzLmAsXG4gICAgKSk7XG4gICAgdGhpcy5ub2RlLmFkZFZhbGlkYXRpb24obmV3IERlbnlMaXN0ZWRLZXlWYWxpZGF0b3IoXG4gICAgICBSaW9GYXJnYXRlU2VydmljZS5ERF9UQUdfREVOWV9MSVNULFxuICAgICAgcHJvcHMuZGF0YWRvZ09wdGlvbnM/LmFkZGl0aW9uYWxUYWdzLFxuICAgICAgaXQgPT4gYFRhZyAke2l0fSBpcyBub3QgYWxsb3dlZCB0byBiZSBzZXQuIFRoaXMgdmFsdWUgd2lsbCBiZSBpbmZlcnJlZCBmcm9tIHRoZSBhY2NvdW50IG9yIG90aGVyIHByb3BlcnRpZXMuYCxcbiAgICApKTtcblxuICAgIHRoaXMubm9kZS5hZGRWYWxpZGF0aW9uKG5ldyBDbHVzdGVyVnBjVmFsaWRhdG9yKFxuICAgICAgcHJvcHMudnBjLFxuICAgICAgcHJvcHMuY2x1c3RlcixcbiAgICApKTtcblxuICAgIGNvbnN0IGZhcmdhdGVDbHVzdGVyID0gY2x1c3RlciA/PyBuZXcgZWNzLkNsdXN0ZXIodGhpcywgJ0NsdXN0ZXInLCB7XG4gICAgICB2cGM6IHZwYyxcbiAgICB9KTtcbiAgICB0aGlzLnRhc2tEZWZpbml0aW9uID0gbmV3IGVjcy5GYXJnYXRlVGFza0RlZmluaXRpb24odGhpcywgJ1Rhc2tEZWZpbml0aW9uJywge1xuICAgICAgY3B1OiBmYXJnYXRlT3B0aW9ucy5jcHUsXG4gICAgICBtZW1vcnlMaW1pdE1pQjogZmFyZ2F0ZU9wdGlvbnMubWVtb3J5TGltaXRNaUIsXG4gICAgICBydW50aW1lUGxhdGZvcm06IHtcbiAgICAgICAgY3B1QXJjaGl0ZWN0dXJlOiBmYXJnYXRlT3B0aW9ucy5ydW50aW1lUGxhdGZvcm0/LmNwdUFyY2hpdGVjdHVyZSA/PyBlY3MuQ3B1QXJjaGl0ZWN0dXJlLlg4Nl82NCxcbiAgICAgICAgb3BlcmF0aW5nU3lzdGVtRmFtaWx5OiBmYXJnYXRlT3B0aW9ucy5ydW50aW1lUGxhdGZvcm0/Lm9wZXJhdGluZ1N5c3RlbUZhbWlseSA/PyBlY3MuT3BlcmF0aW5nU3lzdGVtRmFtaWx5LkxJTlVYLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBjb25zdCBhY2NvdW50TmFtZSA9IHNzbS5TdHJpbmdQYXJhbWV0ZXIuZnJvbVN0cmluZ1BhcmFtZXRlck5hbWUodGhpcywgJ0FjY291bnROYW1lJywgJy9jb25maWcvYWNjb3VudC9uYW1lJykuc3RyaW5nVmFsdWU7XG4gICAgY29uc3QgdGVhbU5hbWUgPSBzc20uU3RyaW5nUGFyYW1ldGVyLmZyb21TdHJpbmdQYXJhbWV0ZXJOYW1lKHRoaXMsICdUZWFtTmFtZScsICcvY29uZmlnL3RlYW0vbmFtZScpLnN0cmluZ1ZhbHVlO1xuICAgIGNvbnN0IHRlYW1JZGVudGlmaWVyID0gc3NtLlN0cmluZ1BhcmFtZXRlci5mcm9tU3RyaW5nUGFyYW1ldGVyTmFtZSh0aGlzLCAnVGVhbUlkZW50aWZpZXInLCAnL2NvbmZpZy90ZWFtL2lkZW50aWZpZXInKS5zdHJpbmdWYWx1ZTtcblxuICAgIGNvbnN0IGRhdGFkb2dTaXRlID0gc3NtLlN0cmluZ1BhcmFtZXRlci5mcm9tU3RyaW5nUGFyYW1ldGVyTmFtZSh0aGlzLCAnRGF0YWRvZ1NpdGUnLCAnL3Jpby9jb25maWcvZGF0YWRvZy1pbnRlZ3JhdGlvbi9zaXRlJykuc3RyaW5nVmFsdWU7XG4gICAgY29uc3QgZGF0YWRvZ0FwaUtleVBhcmFtZXRlciA9IHNzbS5TdHJpbmdQYXJhbWV0ZXIuZnJvbVN0cmluZ1BhcmFtZXRlck5hbWUodGhpcywgJ0RhdGFkb2dBcGlLZXknLCAnL3Jpby9jb25maWcvZGF0YWRvZy1pbnRlZ3JhdGlvbi9hcGkta2V5Jyk7XG5cbiAgICBjb25zdCBkYXRhZG9nU2lkZWNhckNwdSA9IGRhdGFkb2dPcHRpb25zPy5jcHUgPz8gdGhpcy5ERUZBVUxUX0RBVEFET0dfU0lERUNBUl9DUFU7XG4gICAgY29uc3QgZGF0YWRvZ1NpZGVjYXJNZW1vcnlNaUIgPSBkYXRhZG9nT3B0aW9ucz8ubWVtb3J5TGltaXRNaUIgPz8gdGhpcy5ERUZBVUxUX0RBVEFET0dfU0lERUNBUl9NRU1PUllfTElNSVRfTUlCO1xuICAgIGNvbnN0IGRhdGFkb2dTaWRlY2FyRXNzZW50aWFsID0gZGF0YWRvZ09wdGlvbnM/LmRhdGFkb2dTaWRlY2FyRXNzZW50aWFsID8/IHRoaXMuREVGQVVMVF9EQVRBRE9HX1NJREVDQVJfRVNTRU5USUFMO1xuXG4gICAgY29uc3QgbG9nZ2luZ01vZGVGb3JTZXJ2aWNlID0gZGF0YWRvZ09wdGlvbnM/LmxvZ2dpbmdNb2RlRm9yU2VydmljZSA/PyB0aGlzLkRFRkFVTFRfTE9HR0lOR19NT0RFX0ZPUl9TRVJWSUNFO1xuICAgIGNvbnN0IGxvZ2dpbmdNb2RlRm9yRGF0YWRvZ0FnZW50ID0gZGF0YWRvZ09wdGlvbnM/LmxvZ2dpbmdNb2RlRm9yRGF0YWRvZ0FnZW50ID8/IHRoaXMuREVGQVVMVF9MT0dHSU5HX01PREVfRk9SX0RBVEFET0dfU0lERUNBUjtcbiAgICBjb25zdCBmaXJlTGVuc0xvZ1JvdXRlclJlcXVpcmVkID1cbiAgICAgIGxvZ2dpbmdNb2RlRm9yU2VydmljZSA9PT0gRGF0YURvZ0xvZ2dpbmdNb2RlLkFXU19GSVJFX0xFTlMgfHxcbiAgICAgIGxvZ2dpbmdNb2RlRm9yRGF0YWRvZ0FnZW50ID09PSBEYXRhRG9nTG9nZ2luZ01vZGUuQVdTX0ZJUkVfTEVOUztcblxuICAgIGxldCBzZXJ2aWNlQ29udGFpbmVyQ3B1VW5pdHM7XG4gICAgbGV0IHNlcnZpY2VDb250YWluZXJNZW1vcnlMaW1pdE1pQjtcblxuICAgIGlmIChmaXJlTGVuc0xvZ1JvdXRlclJlcXVpcmVkKSB7XG4gICAgICBzZXJ2aWNlQ29udGFpbmVyQ3B1VW5pdHMgPSBmYXJnYXRlT3B0aW9ucy5jcHUgLSBkYXRhZG9nU2lkZWNhckNwdSAtIHRoaXMuTE9HX1JPVVRFUl9DUFU7XG4gICAgICBzZXJ2aWNlQ29udGFpbmVyTWVtb3J5TGltaXRNaUIgPSBmYXJnYXRlT3B0aW9ucy5tZW1vcnlMaW1pdE1pQiAtIGRhdGFkb2dTaWRlY2FyTWVtb3J5TWlCIC0gdGhpcy5MT0dfUk9VVEVSX01FTU9SWV9MSU1JVF9NSUI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNlcnZpY2VDb250YWluZXJDcHVVbml0cyA9IGZhcmdhdGVPcHRpb25zLmNwdSAtIGRhdGFkb2dTaWRlY2FyQ3B1O1xuICAgICAgc2VydmljZUNvbnRhaW5lck1lbW9yeUxpbWl0TWlCID0gZmFyZ2F0ZU9wdGlvbnMubWVtb3J5TGltaXRNaUIgLSBkYXRhZG9nU2lkZWNhck1lbW9yeU1pQjtcbiAgICB9XG4gICAgdGhpcy5zZXJ2aWNlQ29udGFpbmVyRGVmaW5pdGlvbiA9IHRoaXMudGFza0RlZmluaXRpb24uYWRkQ29udGFpbmVyKHNlcnZpY2VOYW1lLCB7XG4gICAgICBpbWFnZTogY29udGFpbmVyRGVmaW5pdGlvbk9wdGlvbi5pbWFnZSxcbiAgICAgIGNwdTogc2VydmljZUNvbnRhaW5lckNwdVVuaXRzLFxuICAgICAgbWVtb3J5TGltaXRNaUI6IHNlcnZpY2VDb250YWluZXJNZW1vcnlMaW1pdE1pQixcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIC4uLmRhdGFkb2cuZ2V0RmFyZ2F0ZUNvbnRhaW5lckVudmlyb25tZW50VmFyaWFibGVzKHtcbiAgICAgICAgICBzY29wZTogdGhpcyxcbiAgICAgICAgICBzdGFnZSxcbiAgICAgICAgICBzZXJ2aWNlTmFtZSxcbiAgICAgICAgICB2ZXJzaW9uLFxuICAgICAgICAgIGFjY291bnROYW1lLFxuICAgICAgICAgIHRlYW1OYW1lLFxuICAgICAgICAgIHRlYW1JZGVudGlmaWVyLFxuICAgICAgICAgIGFkZGl0aW9uYWxUYWdzOiBkYXRhZG9nT3B0aW9ucz8uYWRkaXRpb25hbFRhZ3MsXG4gICAgICAgIH0pLFxuICAgICAgICAuLi5jb250YWluZXJEZWZpbml0aW9uT3B0aW9uLmVudmlyb25tZW50LFxuICAgICAgfSxcbiAgICAgIGRvY2tlckxhYmVsczoge1xuICAgICAgICAuLi5kYXRhZG9nLmdldEZhcmdhdGVEb2NrZXJMYWJlbHMoeyBzdGFnZSwgc2VydmljZU5hbWUsIHZlcnNpb24gfSksXG4gICAgICB9LFxuICAgICAgaGVhbHRoQ2hlY2s6IGNvbnRhaW5lckRlZmluaXRpb25PcHRpb24uaGVhbHRoQ2hlY2ssXG4gICAgICBsb2dnaW5nOiBkYXRhZG9nLnNldHVwTG9nZ2luZyh7XG4gICAgICAgIHNjb3BlLFxuICAgICAgICBhY2NvdW50TmFtZSxcbiAgICAgICAgdGVhbU5hbWUsXG4gICAgICAgIHRlYW1JZGVudGlmaWVyLFxuICAgICAgICBzdGFnZSxcbiAgICAgICAgc2VydmljZU5hbWUsXG4gICAgICAgIHZlcnNpb24sXG4gICAgICAgIGRhdGFkb2dBcGlLZXlQYXJhbWV0ZXIsXG4gICAgICAgIGRhdGFkb2dMb2dnaW5nTW9kZTogbG9nZ2luZ01vZGVGb3JTZXJ2aWNlLFxuICAgICAgICBkYXRhZG9nU2l0ZSxcbiAgICAgICAgY29udGFpbmVyVHlwZTogJ3NlcnZpY2UnLFxuICAgICAgICBhZGRpdGlvbmFsVGFnczogZGF0YWRvZ09wdGlvbnM/LmFkZGl0aW9uYWxUYWdzLFxuICAgICAgfSksXG4gICAgICBzZWNyZXRzOiBjb250YWluZXJEZWZpbml0aW9uT3B0aW9uLnNlY3JldHMsXG4gICAgfSk7XG5cbiAgICBpZiAoZnJhbWV3b3Jrcz8uaW5jbHVkZXMoRnJhbWV3b3JrLlNQUklORykpIHtcbiAgICAgIFNwcmluZy5hbGxvd1BhcmFtZXRlclN0b3JlQWNjZXNzRm9yU3ByaW5nQ2xvdWRBd3ModGhpcywgc2VydmljZU5hbWUsIHRoaXMudGFza0RlZmluaXRpb24udGFza1JvbGUpO1xuICAgICAgU3ByaW5nLmFsbG93U2VjcmV0c01hbmFnZXJBY2Nlc3NGb3JTcHJpbmdDbG91ZEF3cyh0aGlzLCBzZXJ2aWNlTmFtZSwgdGhpcy50YXNrRGVmaW5pdGlvbi50YXNrUm9sZSk7XG4gICAgfVxuXG4gICAgaWYgKGZpcmVMZW5zTG9nUm91dGVyUmVxdWlyZWQpIHtcbiAgICAgIHRoaXMubG9nUm91dGVyQ29udGFpbmVyRGVmaW5pdGlvbiA9IGRhdGFkb2cuYWRkRmlyZUxlbnNMb2dSb3V0ZXIoe1xuICAgICAgICB0YXNrRGVmaW5pdGlvbjogdGhpcy50YXNrRGVmaW5pdGlvbixcbiAgICAgICAgY3B1OiB0aGlzLkxPR19ST1VURVJfQ1BVLFxuICAgICAgICBtZW1vcnlMaW1pdE1pQjogdGhpcy5MT0dfUk9VVEVSX01FTU9SWV9MSU1JVF9NSUIsXG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5kYXRhZG9nU2lkZUNhckNvbnRhaW5lckRlZmluaXRpb24gPSBkYXRhZG9nLmFkZERhdGFkb2dTaWRlY2FyKHtcbiAgICAgIHNjb3BlLFxuICAgICAgdGFza0RlZmluaXRpb246IHRoaXMudGFza0RlZmluaXRpb24sXG4gICAgICBhY2NvdW50TmFtZSxcbiAgICAgIHRlYW1OYW1lLFxuICAgICAgdGVhbUlkZW50aWZpZXIsXG4gICAgICBzdGFnZSxcbiAgICAgIHNlcnZpY2VOYW1lLFxuICAgICAgdmVyc2lvbixcbiAgICAgIGRhdGFkb2dBcGlLZXlQYXJhbWV0ZXIsXG4gICAgICBkYXRhZG9nU2l0ZSxcbiAgICAgIGRhdGFkb2dMb2dnaW5nTW9kZTogbG9nZ2luZ01vZGVGb3JEYXRhZG9nQWdlbnQsXG4gICAgICBhcG1HZXRSZXNvdXJjZXNUb0lnbm9yZTogZGF0YWRvZ09wdGlvbnM/LmFwbUdldEVuZHBvaW50c1RvSWdub3JlID8/IHRoaXMuREVGQVVMVF9BUE1fR0VUX0VORFBPSU5UU19UT19JR05PUkUsXG4gICAgICBjcHU6IGRhdGFkb2dTaWRlY2FyQ3B1LFxuICAgICAgbWVtb3J5TGltaXRNaUI6IGRhdGFkb2dTaWRlY2FyTWVtb3J5TWlCLFxuICAgICAgZXNzZW50aWFsOiBkYXRhZG9nU2lkZWNhckVzc2VudGlhbCxcbiAgICAgIGNvbnRhaW5lclRhZzogcHJvcHMuZGF0YWRvZ09wdGlvbnM/LmRhdGFkb2dTaWRlY2FyVGFnID8/IHRoaXMuREVGQVVMVF9EQVRBRE9HX1NJREVDQVJfVEFHLCAvLyBUaGVzZSBhcmUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLFxuICAgICAgYWRkaXRpb25hbFRhZ3M6IGRhdGFkb2dPcHRpb25zPy5hZGRpdGlvbmFsVGFncyxcbiAgICB9KTtcblxuICAgIGRhdGFkb2cuZW5zdXJlTG9nZ2luZ0FuZE1vbml0b3JpbmdBcmVSZWFkeUJlZm9yZVNlcnZpY2VTdGFydHModGhpcyk7XG5cbiAgICBjb25zdCBsb2FkQmFsYW5jZXJPcHRpb25zRm9yRmFyZ2F0ZVNlcnZpY2UgPSBsb2FkQmFsYW5jZXJPcHRpb25zXG4gICAgICA/IHsgaGVhbHRoQ2hlY2tHcmFjZVBlcmlvZDogbG9hZEJhbGFuY2VyT3B0aW9ucy5oZWFsdGhDaGVja0dyYWNlUGVyaW9kIH1cbiAgICAgIDoge307XG5cbiAgICB0aGlzLnNlcnZpY2UgPSBuZXcgZWNzLkZhcmdhdGVTZXJ2aWNlKHRoaXMsICdTZXJ2aWNlJywge1xuICAgICAgY2x1c3RlcjogZmFyZ2F0ZUNsdXN0ZXIsXG4gICAgICB0YXNrRGVmaW5pdGlvbjogdGhpcy50YXNrRGVmaW5pdGlvbixcbiAgICAgIGNpcmN1aXRCcmVha2VyOiB7IHJvbGxiYWNrOiB0cnVlIH0sXG4gICAgICBtYXhIZWFsdGh5UGVyY2VudDogMjAwLFxuICAgICAgbWluSGVhbHRoeVBlcmNlbnQ6IDEwMCxcbiAgICAgIGRlc2lyZWRDb3VudDogZmFyZ2F0ZU9wdGlvbnM/LmRlc2lyZWRDb3VudCxcbiAgICAgIC4uLmxvYWRCYWxhbmNlck9wdGlvbnNGb3JGYXJnYXRlU2VydmljZSxcbiAgICAgIHByb3BhZ2F0ZVRhZ3M6IGVjcy5Qcm9wYWdhdGVkVGFnU291cmNlLlNFUlZJQ0UsXG4gICAgfSk7XG5cbiAgICB0aGlzLmNvbm5lY3Rpb25zID0gdGhpcy5zZXJ2aWNlLmNvbm5lY3Rpb25zO1xuXG4gICAgaWYgKGxvYWRCYWxhbmNlck9wdGlvbnMgIT0gbnVsbCkge1xuICAgICAgY29uc3QgY29udGFpbmVyUG9ydCA9IDQ0MztcbiAgICAgIHRoaXMuc2VydmljZUNvbnRhaW5lckRlZmluaXRpb24uYWRkUG9ydE1hcHBpbmdzKHtcbiAgICAgICAgY29udGFpbmVyUG9ydDogY29udGFpbmVyUG9ydCxcbiAgICAgICAgcHJvdG9jb2w6IGVjcy5Qcm90b2NvbC5UQ1AsXG4gICAgICB9KTtcbiAgICAgIHRoaXMudGFyZ2V0R3JvdXAgPSBuZXcgZWxidjIuQXBwbGljYXRpb25UYXJnZXRHcm91cCh0aGlzLCAnVGFyZ2V0R3JvdXAnLCB7XG4gICAgICAgIHZwYzogdnBjLFxuICAgICAgICBwb3J0OiBjb250YWluZXJQb3J0LFxuICAgICAgICBwcm90b2NvbDogZWxidjIuQXBwbGljYXRpb25Qcm90b2NvbC5IVFRQUyxcbiAgICAgICAgdGFyZ2V0VHlwZTogZWxidjIuVGFyZ2V0VHlwZS5JUCxcbiAgICAgICAgdGFyZ2V0czogW3RoaXMuc2VydmljZV0sXG4gICAgICAgIGhlYWx0aENoZWNrOiBsb2FkQmFsYW5jZXJPcHRpb25zLmhlYWx0aENoZWNrLFxuICAgICAgICBzbG93U3RhcnQ6IHByb3BzLmxvYWRCYWxhbmNlck9wdGlvbnM/LnNsb3dTdGFydCA/PyB0aGlzLkRFRkFVTFRfU0xPV19TVEFSVCxcbiAgICAgICAgZGVyZWdpc3RyYXRpb25EZWxheTogcHJvcHMubG9hZEJhbGFuY2VyT3B0aW9ucz8uZGVyZWdpc3RyYXRpb25EZWxheSA/PyB0aGlzLkRFRkFVTFRfREVSRUdJU1RSQVRJT05fREVMQVksXG4gICAgICB9KTtcblxuICAgICAgbG9hZEJhbGFuY2VyT3B0aW9ucy5saXN0ZW5lclJ1bGVzLmZvckVhY2goKHsgcHJpb3JpdHksIGNvbmRpdGlvbnMgfSkgPT4ge1xuICAgICAgICBsb2FkQmFsYW5jZXJPcHRpb25zLmxpc3RlbmVyLmFkZFRhcmdldEdyb3VwcyhgUHJpb3JpdHkke3ByaW9yaXR5fUxpc3RlbmVyUnVsZWAsIHtcbiAgICAgICAgICB0YXJnZXRHcm91cHM6IFt0aGlzLnRhcmdldEdyb3VwIGFzIGVsYnYyLkFwcGxpY2F0aW9uVGFyZ2V0R3JvdXBdLFxuICAgICAgICAgIHByaW9yaXR5OiBwcmlvcml0eSxcbiAgICAgICAgICBjb25kaXRpb25zOiBjb25kaXRpb25zLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG5jbGFzcyBEZW55TGlzdGVkS2V5VmFsaWRhdG9yIGltcGxlbWVudHMgY29uc3RydWN0cy5JVmFsaWRhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVueUxpc3Q6IHN0cmluZ1tdLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGljdDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IHVuZGVmaW5lZCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1lc3NhZ2VHZW5lcmF0b3I6IChrZXlOYW1lOiBzdHJpbmcpID0+IHN0cmluZyxcbiAgKSB7fVxuXG4gIHZhbGlkYXRlKCk6IHN0cmluZ1tdIHtcbiAgICBpZiAoIXRoaXMuZGljdCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdDogc3RyaW5nW10gPSBbXTtcbiAgICB0aGlzLmRlbnlMaXN0LmZvckVhY2goa2V5TmFtZSA9PiB7XG4gICAgICBpZiAodGhpcy5kaWN0ICYmIGtleU5hbWUgaW4gdGhpcy5kaWN0KSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKHRoaXMubWVzc2FnZUdlbmVyYXRvcihrZXlOYW1lKSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG5cbmNsYXNzIENsdXN0ZXJWcGNWYWxpZGF0b3IgaW1wbGVtZW50cyBjb25zdHJ1Y3RzLklWYWxpZGF0aW9uIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB2cGM6IGVjMi5JVnBjLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2x1c3Rlcj86IGVjcy5JQ2x1c3RlcixcbiAgKSB7fVxuXG4gIHZhbGlkYXRlKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICBpZiAodGhpcy5jbHVzdGVyICYmIHRoaXMuY2x1c3Rlci52cGMudnBjSWQgIT09IHRoaXMudnBjLnZwY0lkKSB7XG4gICAgICByZXN1bHQucHVzaChgVGhlIFZQQyBwcm92aWRlZCBpbiB0aGUgY2x1c3RlciAoJHt0aGlzLmNsdXN0ZXIudnBjLm5vZGUuaWR9KSBNVVNUIG1hdGNoIHRoZSBWUEMgcHJvdmlkZWQgYXMgYXJndW1lbnQgKCR7dGhpcy52cGMubm9kZS5pZH0pLmApO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
package/lib/index.d.ts CHANGED
@@ -1,26 +1,20 @@
1
- export * from './watchful/alb';
2
- export * from './watchful/aspect';
3
- export * from './watchful/ecs';
4
- export * from './watchful/docdb';
5
- export * from './watchful/dynamodb';
6
- export * from './watchful/lambda';
7
- export * from './watchful/targetgroup';
8
- export * from './watchful/datadog-metric-alarm';
9
- export * from './watchful/datadog-log-alarm';
10
- export * from './watchful/watchful';
11
- export * from './watchful/metric-alarm';
12
- export * from './watchful/rds';
13
- export * from './watchful/cloudfront';
1
+ export * from './watchful';
2
+ export * as watchfulv2 from './watchfulv2';
14
3
  export * from './rio-landing-zone';
15
4
  export * from './rio-load-balancer';
16
5
  export * from './rio-claidometer';
17
6
  export * from './fargate/rio-fargate-service';
7
+ export * as fargate from './fargate';
18
8
  export * from './pipeline/rio-bitbucket-source-action';
19
9
  export * from './pipeline/rio-backup-secrets-restore-stage';
20
10
  export * from './kafka';
11
+ export * as kafka from './kafka';
21
12
  export * from './datadog';
13
+ export * as datadog from './datadog';
14
+ export * as datadogv2 from './datadogv2';
22
15
  export * from './contributions/cop-frontend/cloudfront';
23
16
  export * from './contributions/team-transport-two/pipeline';
24
17
  export * from './contributions/team-claid/aws-backup-monitoring';
25
18
  export * from './contributions/team-claid/datadog-usage-monitoring';
26
19
  export * from './backup';
20
+ export * as backup from './backup';
package/lib/index.js CHANGED
@@ -10,30 +10,24 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./watchful/alb"), exports);
14
- __exportStar(require("./watchful/aspect"), exports);
15
- __exportStar(require("./watchful/ecs"), exports);
16
- __exportStar(require("./watchful/docdb"), exports);
17
- __exportStar(require("./watchful/dynamodb"), exports);
18
- __exportStar(require("./watchful/lambda"), exports);
19
- __exportStar(require("./watchful/targetgroup"), exports);
20
- __exportStar(require("./watchful/datadog-metric-alarm"), exports);
21
- __exportStar(require("./watchful/datadog-log-alarm"), exports);
22
- __exportStar(require("./watchful/watchful"), exports);
23
- __exportStar(require("./watchful/metric-alarm"), exports);
24
- __exportStar(require("./watchful/rds"), exports);
25
- __exportStar(require("./watchful/cloudfront"), exports);
13
+ __exportStar(require("./watchful"), exports);
14
+ exports.watchfulv2 = require("./watchfulv2");
26
15
  __exportStar(require("./rio-landing-zone"), exports);
27
16
  __exportStar(require("./rio-load-balancer"), exports);
28
17
  __exportStar(require("./rio-claidometer"), exports);
29
18
  __exportStar(require("./fargate/rio-fargate-service"), exports);
19
+ exports.fargate = require("./fargate");
30
20
  __exportStar(require("./pipeline/rio-bitbucket-source-action"), exports);
31
21
  __exportStar(require("./pipeline/rio-backup-secrets-restore-stage"), exports);
32
22
  __exportStar(require("./kafka"), exports);
23
+ exports.kafka = require("./kafka");
33
24
  __exportStar(require("./datadog"), exports);
25
+ exports.datadog = require("./datadog");
26
+ exports.datadogv2 = require("./datadogv2");
34
27
  __exportStar(require("./contributions/cop-frontend/cloudfront"), exports);
35
28
  __exportStar(require("./contributions/team-transport-two/pipeline"), exports);
36
29
  __exportStar(require("./contributions/team-claid/aws-backup-monitoring"), exports);
37
30
  __exportStar(require("./contributions/team-claid/datadog-usage-monitoring"), exports);
38
31
  __exportStar(require("./backup"), exports);
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsaURBQStCO0FBQy9CLG9EQUFrQztBQUNsQyxpREFBK0I7QUFDL0IsbURBQWlDO0FBQ2pDLHNEQUFvQztBQUNwQyxvREFBa0M7QUFDbEMseURBQXVDO0FBQ3ZDLGtFQUFnRDtBQUNoRCwrREFBNkM7QUFDN0Msc0RBQW9DO0FBQ3BDLDBEQUF3QztBQUN4QyxpREFBK0I7QUFDL0Isd0RBQXNDO0FBRXRDLHFEQUFtQztBQUNuQyxzREFBb0M7QUFDcEMsb0RBQWtDO0FBRWxDLGdFQUE4QztBQUU5Qyx5RUFBdUQ7QUFDdkQsOEVBQTREO0FBRTVELDBDQUF3QjtBQUV4Qiw0Q0FBMEI7QUFFMUIsMEVBQXdEO0FBRXhELDhFQUE0RDtBQUU1RCxtRkFBaUU7QUFDakUsc0ZBQW9FO0FBRXBFLDJDQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vd2F0Y2hmdWwvYWxiJztcbmV4cG9ydCAqIGZyb20gJy4vd2F0Y2hmdWwvYXNwZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vd2F0Y2hmdWwvZWNzJztcbmV4cG9ydCAqIGZyb20gJy4vd2F0Y2hmdWwvZG9jZGInO1xuZXhwb3J0ICogZnJvbSAnLi93YXRjaGZ1bC9keW5hbW9kYic7XG5leHBvcnQgKiBmcm9tICcuL3dhdGNoZnVsL2xhbWJkYSc7XG5leHBvcnQgKiBmcm9tICcuL3dhdGNoZnVsL3RhcmdldGdyb3VwJztcbmV4cG9ydCAqIGZyb20gJy4vd2F0Y2hmdWwvZGF0YWRvZy1tZXRyaWMtYWxhcm0nO1xuZXhwb3J0ICogZnJvbSAnLi93YXRjaGZ1bC9kYXRhZG9nLWxvZy1hbGFybSc7XG5leHBvcnQgKiBmcm9tICcuL3dhdGNoZnVsL3dhdGNoZnVsJztcbmV4cG9ydCAqIGZyb20gJy4vd2F0Y2hmdWwvbWV0cmljLWFsYXJtJztcbmV4cG9ydCAqIGZyb20gJy4vd2F0Y2hmdWwvcmRzJztcbmV4cG9ydCAqIGZyb20gJy4vd2F0Y2hmdWwvY2xvdWRmcm9udCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcmlvLWxhbmRpbmctem9uZSc7XG5leHBvcnQgKiBmcm9tICcuL3Jpby1sb2FkLWJhbGFuY2VyJztcbmV4cG9ydCAqIGZyb20gJy4vcmlvLWNsYWlkb21ldGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9mYXJnYXRlL3Jpby1mYXJnYXRlLXNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL3BpcGVsaW5lL3Jpby1iaXRidWNrZXQtc291cmNlLWFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVsaW5lL3Jpby1iYWNrdXAtc2VjcmV0cy1yZXN0b3JlLXN0YWdlJztcblxuZXhwb3J0ICogZnJvbSAnLi9rYWZrYSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZGF0YWRvZyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29udHJpYnV0aW9ucy9jb3AtZnJvbnRlbmQvY2xvdWRmcm9udCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29udHJpYnV0aW9ucy90ZWFtLXRyYW5zcG9ydC10d28vcGlwZWxpbmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyaWJ1dGlvbnMvdGVhbS1jbGFpZC9hd3MtYmFja3VwLW1vbml0b3JpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250cmlidXRpb25zL3RlYW0tY2xhaWQvZGF0YWRvZy11c2FnZS1tb25pdG9yaW5nJztcblxuZXhwb3J0ICogZnJvbSAnLi9iYWNrdXAnOyJdfQ==
32
+ exports.backup = require("./backup");
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQTJCO0FBRTNCLDZDQUEyQztBQUUzQyxxREFBbUM7QUFDbkMsc0RBQW9DO0FBQ3BDLG9EQUFrQztBQUVsQyxnRUFBOEM7QUFDOUMsdUNBQXFDO0FBRXJDLHlFQUF1RDtBQUN2RCw4RUFBNEQ7QUFFNUQsMENBQXdCO0FBQ3hCLG1DQUFpQztBQUVqQyw0Q0FBMEI7QUFDMUIsdUNBQXFDO0FBQ3JDLDJDQUF5QztBQUV6QywwRUFBd0Q7QUFFeEQsOEVBQTREO0FBRTVELG1GQUFpRTtBQUNqRSxzRkFBb0U7QUFFcEUsMkNBQXlCO0FBQ3pCLHFDQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vd2F0Y2hmdWwnO1xuXG5leHBvcnQgKiBhcyB3YXRjaGZ1bHYyIGZyb20gJy4vd2F0Y2hmdWx2Mic7XG5cbmV4cG9ydCAqIGZyb20gJy4vcmlvLWxhbmRpbmctem9uZSc7XG5leHBvcnQgKiBmcm9tICcuL3Jpby1sb2FkLWJhbGFuY2VyJztcbmV4cG9ydCAqIGZyb20gJy4vcmlvLWNsYWlkb21ldGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9mYXJnYXRlL3Jpby1mYXJnYXRlLXNlcnZpY2UnO1xuZXhwb3J0ICogYXMgZmFyZ2F0ZSBmcm9tICcuL2ZhcmdhdGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3BpcGVsaW5lL3Jpby1iaXRidWNrZXQtc291cmNlLWFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVsaW5lL3Jpby1iYWNrdXAtc2VjcmV0cy1yZXN0b3JlLXN0YWdlJztcblxuZXhwb3J0ICogZnJvbSAnLi9rYWZrYSc7XG5leHBvcnQgKiBhcyBrYWZrYSBmcm9tICcuL2thZmthJztcblxuZXhwb3J0ICogZnJvbSAnLi9kYXRhZG9nJztcbmV4cG9ydCAqIGFzIGRhdGFkb2cgZnJvbSAnLi9kYXRhZG9nJztcbmV4cG9ydCAqIGFzIGRhdGFkb2d2MiBmcm9tICcuL2RhdGFkb2d2Mic7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29udHJpYnV0aW9ucy9jb3AtZnJvbnRlbmQvY2xvdWRmcm9udCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29udHJpYnV0aW9ucy90ZWFtLXRyYW5zcG9ydC10d28vcGlwZWxpbmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyaWJ1dGlvbnMvdGVhbS1jbGFpZC9hd3MtYmFja3VwLW1vbml0b3JpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250cmlidXRpb25zL3RlYW0tY2xhaWQvZGF0YWRvZy11c2FnZS1tb25pdG9yaW5nJztcblxuZXhwb3J0ICogZnJvbSAnLi9iYWNrdXAnO1xuZXhwb3J0ICogYXMgYmFja3VwIGZyb20gJy4vYmFja3VwJzsiXX0=
@@ -37,7 +37,7 @@ export interface LogCompactionProperties {
37
37
  /**
38
38
  * The amount of time to retain delete tombstone markers for log compacted topics;
39
39
  * The soft limit is 10 days but can be increased upon requests.
40
- * @default 1 day
40
+ * @defaultValue 1 day
41
41
  */
42
42
  readonly deleteRetention?: Duration;
43
43
  }
@@ -59,7 +59,7 @@ export interface KafkaTopicProps {
59
59
  readonly numberOfPartitions: number;
60
60
  /**
61
61
  * Defines degree of replication of messages; has to be between 1 and the number of brokers (currently 3).
62
- * @default 3
62
+ * @defaultValue 3
63
63
  */
64
64
  readonly replicationFactor?: number;
65
65
  /**
@@ -67,13 +67,13 @@ export interface KafkaTopicProps {
67
67
  *
68
68
  * We recommend 30 days for general events and 7 days for sensor events and other high-load cases.
69
69
  * The soft limit is 3 to 30 days but can be increased upon requests.
70
- * @default 7 days
70
+ * @defaultValue 7 days
71
71
  */
72
72
  readonly retention?: Duration;
73
73
  /**
74
74
  * If set to 'false, the topic's data will be deleted on Kafka 10 days after stack deletion.
75
75
  * If set to 'true', it will be deleted immediately after stack deletion.
76
- * @default false
76
+ * @defaultValue false
77
77
  */
78
78
  readonly instantDeletionEnabled?: boolean;
79
79
  /**
@@ -90,7 +90,7 @@ export interface KafkaTopicProps {
90
90
  readonly isLogCompacted: boolean;
91
91
  /**
92
92
  * Must only be provided if 'isLogCompacted' is 'true'.
93
- * @default undefined
93
+ * @defaultValue undefined
94
94
  */
95
95
  readonly logCompactionProperties?: LogCompactionProperties;
96
96
  }
@@ -76,4 +76,4 @@ class KafkaTopic extends constructs_1.Construct {
76
76
  exports.KafkaTopic = KafkaTopic;
77
77
  _a = JSII_RTTI_SYMBOL_1;
78
78
  KafkaTopic[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.KafkaTopic", version: "0.0.0" };
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Fma2EtdG9waWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva2Fma2Eva2Fma2EtdG9waWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBMkQ7QUFDM0QsMkNBQTJDO0FBQzNDLDJDQUF1QztBQUV2Qyx5REFBMEU7QUE2RzFFOztHQUVHO0FBQ0gsTUFBYSxVQUFXLFNBQVEsc0JBQVM7SUFFdkMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCOzs7O1VBSUU7UUFDRixNQUFNLHlCQUF5QixHQUFHLFdBQVcsQ0FBQztRQUM5QyxNQUFNLFNBQVMsR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDO1lBQzNFLENBQUM7Z0JBQ0EsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBeUIsQ0FBQyxXQUFXO1lBQzdGLENBQUM7Z0JBQ0QsR0FBRyxDQUFDLGVBQWUsQ0FBQyx1QkFBdUIsQ0FDekMsS0FBSyxFQUNMLHlCQUF5QixFQUN6QixtQkFBbUIsQ0FDcEIsQ0FBQyxXQUFXLENBQUM7UUFFaEIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2hELElBQUksaUNBQWMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDMUYsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSx5QkFBVyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDbEMsSUFBSSxFQUFFLG9CQUFvQjtZQUMxQixVQUFVLEVBQUU7Z0JBQ1YsWUFBWSxFQUFFLCtEQUErRDtnQkFDN0UsT0FBTyxFQUFFLEdBQUc7Z0JBQ1osU0FBUyxFQUFFLEtBQUssQ0FBQyxJQUFJO2dCQUNyQixXQUFXLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXO2dCQUN2QyxNQUFNLEVBQUUsTUFBTTtnQkFDZCxrQkFBa0IsRUFBRSxLQUFLLENBQUMsa0JBQWtCO2dCQUM1QyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCLElBQUksQ0FBQztnQkFDL0MsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxzQkFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRTtnQkFDbkUsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLHVCQUF1QixFQUFFLGVBQWUsSUFBSSxzQkFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUztnQkFDekksc0JBQXNCLEVBQUUsS0FBSyxDQUFDLHNCQUFzQixJQUFJLEtBQUs7Z0JBQzdELGFBQWEsRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVE7Z0JBQzFELFNBQVMsRUFBRSxTQUFTO2dCQUNwQixHQUFHLEVBQUU7b0JBQ0gsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSTtvQkFDcEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSztpQkFDdkI7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3RCLFFBQVEsRUFBRSxHQUFhLEVBQUU7Z0JBQ3ZCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztnQkFFbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEVBQUU7b0JBQ3pDLE1BQU0sQ0FBQyxJQUFJLENBQUMsNkVBQTZFLENBQUMsQ0FBQztpQkFDNUY7Z0JBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksS0FBSyxDQUFDLGtCQUFrQixHQUFHLENBQUMsRUFBRTtvQkFDL0UsTUFBTSxDQUFDLElBQUksQ0FBQyxpR0FBaUcsS0FBSyxDQUFDLGtCQUFrQixHQUFHLENBQUMsQ0FBQztpQkFDM0k7Z0JBRUQsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEtBQUssU0FBUztvQkFDckMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksS0FBSyxDQUFDLGlCQUFpQixHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLEVBQUU7b0JBQzlHLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0VBQW9FLENBQUMsQ0FBQztpQkFDbkY7Z0JBRUQsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO29CQUN0QyxNQUFNLENBQUMsSUFBSSxDQUFDLHFFQUFxRSxDQUFDLENBQUM7aUJBQ3BGO2dCQUVELElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsRUFBRTtvQkFDMUQsTUFBTSxDQUFDLElBQUksQ0FBQyxnR0FBZ0csQ0FBQyxDQUFDO2lCQUMvRztnQkFFRCxPQUFPLE1BQU0sQ0FBQztZQUNoQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUE1RUgsZ0NBNkVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHVyYXRpb24sIENmblJlc291cmNlLCBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIHNzbSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3NtJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5pbXBvcnQgeyBLYWZrYUV2ZW50U3BlYywgS2Fma2FFdmVudFNwZWNTb3VyY2UgfSBmcm9tICcuL2thZmthLWV2ZW50LXNwZWMnO1xuXG4vKipcbiAqIFdyYXBwZXIgZm9yIGFsbCBtZXRhIGRhdGEgb2YgYSB0b3BpYy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLYWZrYVRvcGljTWV0YURhdGEge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHNwZWNzIG9mIHRoZSBldmVudHMgb24gdGhhdCB0b3BpY1xuICAgKi9cbiAgcmVhZG9ubHkgZXZlbnRzOiBLYWZrYUV2ZW50U3BlY1NvdXJjZVtdO1xuXG4gIC8qKlxuICAgKiBEZXNjcmliZXMgdGhlIGludGVudCBvZiB0aGUgdG9waWMuIFRoaXMgbWlnaHQgYmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGV2ZW50cyBvbiB0aGF0IHRvcGljXG4gICAqIG9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHByb2R1Y2VyIGFuZCB0aGUgY29udGV4dCBvZiB0aGUgZXZlbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZWFkIGFuZCB3cml0ZSBwZXJtaXNzaW9ucyBmb3IgdGhlIHRvcGljLlxuICpcbiAqIHN0cmluZ3MgYXJlIG1hdGNoZWQgYWdhaW5zdCB0aGUgQ05BTUUgb2YgdGhlIGNlcnRpZmljYXRlIG9mIHRoZSBLYWZrYSBjbGllbnRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthQWNsU3RhdGVtZW50IHtcbiAgLyoqXG4gICogTGlzdCBvZiBjbGllbnRzIHRoYXQgc2hvdWxkIGdldCB3cml0ZSBwZXJtaXNzaW9uc1xuICAqL1xuICByZWFkb25seSB3cml0ZTogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgY2xpZW50cyB0aGF0IHNob3VsZCBnZXQgcmVhZCBwZXJtaXNzaW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgcmVhZDogc3RyaW5nW107XG59XG5cbi8qKlxuICogV3JhcHBlciBmb3IgYWxsIGxvZyBjb21wYWN0aW9uIHJlbGF0ZWQgcHJvcGVydGllcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2dDb21wYWN0aW9uUHJvcGVydGllcyB7XG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIHRpbWUgdG8gcmV0YWluIGRlbGV0ZSB0b21ic3RvbmUgbWFya2VycyBmb3IgbG9nIGNvbXBhY3RlZCB0b3BpY3M7XG4gICAqIFRoZSBzb2Z0IGxpbWl0IGlzIDEwIGRheXMgYnV0IGNhbiBiZSBpbmNyZWFzZWQgdXBvbiByZXF1ZXN0cy5cbiAgICogQGRlZmF1bHQgMSBkYXlcbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZVJldGVudGlvbj86IER1cmF0aW9uO1xufVxuXG4vKipcbiAqIFRoZSBjdXJyZW50IHNlcnZpY2UgbGltaXRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgdG9waWMgbGltaXRzIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRvcGljIG1hbmFnZXIuXG4gKlxuICogQHNlZSBodHRwczovL2NvbGxhYm9yYXRpb24ubXNpLmF1ZGkuY29tL3N0YXNoL3Byb2plY3RzL1JTRVZUQlUvcmVwb3MvdG9waWMtbWFuYWdlci9icm93c2UvY29uZmlnL3RvcGljLXNlcnZpY2UtbGltaXRzLnlhbWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLYWZrYVRvcGljUHJvcHN7XG4gIC8qKlxuICAgKiBUaGUgdW5pcXVlIG5hbWUgb2YgdGhlIHRvcGljOyBoYXMgdG8gbWF0Y2ggcGF0dGVybiBbQS1aYS16MC05Li1dK1xuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGRlZ3JlZSBvZiBwYXJhbGxlbGlzbSBvZiB0aGUgdG9waWM7IHNob3VsZCBiZSBpbmNyZWFzZWQgZm9yXG4gICAqIGxhcmdlIGV4cGVjdGVkIGxvYWRzIChlLmcuLCAyNSBmb3IgcmlvLmFzc2V0LWlvdC1ldmVudHMpLlxuICAgKiBUaGUgc29mdCBsaW1pdCBpcyAxMCBwYXJ0aXRpb25zIGJ1dCBjYW4gYmUgaW5jcmVhc2VkIHVwb24gcmVxdWVzdHMuXG4gICAqL1xuICByZWFkb25seSBudW1iZXJPZlBhcnRpdGlvbnM6IG51bWJlcjtcblxuICAvKipcbiAgICogRGVmaW5lcyBkZWdyZWUgb2YgcmVwbGljYXRpb24gb2YgbWVzc2FnZXM7IGhhcyB0byBiZSBiZXR3ZWVuIDEgYW5kIHRoZSBudW1iZXIgb2YgYnJva2VycyAoY3VycmVudGx5IDMpLlxuICAgKiBAZGVmYXVsdCAzXG4gICAqL1xuICByZWFkb25seSByZXBsaWNhdGlvbkZhY3Rvcj86IG51bWJlcjtcblxuICAvKipcbiAgICogVGltZSBob3cgbG9uZyBtZXNzYWdlcyBhcmUgcmV0YWluZWQgb24gS2Fma2EgY2x1c3RlcjtcbiAgICpcbiAgICogV2UgcmVjb21tZW5kIDMwIGRheXMgZm9yIGdlbmVyYWwgZXZlbnRzIGFuZCA3IGRheXMgZm9yIHNlbnNvciBldmVudHMgYW5kIG90aGVyIGhpZ2gtbG9hZCBjYXNlcy5cbiAgICogVGhlIHNvZnQgbGltaXQgaXMgMyB0byAzMCBkYXlzIGJ1dCBjYW4gYmUgaW5jcmVhc2VkIHVwb24gcmVxdWVzdHMuXG4gICAqIEBkZWZhdWx0IDcgZGF5c1xuICAgKi9cbiAgcmVhZG9ubHkgcmV0ZW50aW9uPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIElmIHNldCB0byAnZmFsc2UsIHRoZSB0b3BpYydzIGRhdGEgd2lsbCBiZSBkZWxldGVkIG9uIEthZmthIDEwIGRheXMgYWZ0ZXIgc3RhY2sgZGVsZXRpb24uXG4gICAqIElmIHNldCB0byAndHJ1ZScsIGl0IHdpbGwgYmUgZGVsZXRlZCBpbW1lZGlhdGVseSBhZnRlciBzdGFjayBkZWxldGlvbi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbnREZWxldGlvbkVuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgbWV0YWRhdGEgb2YgdGhlIHRvcGljLlxuICAgKi9cbiAgcmVhZG9ubHkgbWV0YWRhdGE6IEthZmthVG9waWNNZXRhRGF0YTtcblxuICAvKipcbiAgICogVGhlIHBlcm1pc3Npb25zIHRvIGFjY2VzcyB0byB0aGUgdG9waWMncyBkYXRhLlxuICAgKi9cbiAgcmVhZG9ubHkgYWNsOiBLYWZrYUFjbFN0YXRlbWVudDtcblxuICAvKipcbiAgICogU3BlY2lmeSB3aGV0aGVyIHRoZSB0b3BpYyBpcyBsb2cgY29tcGFjdGVkIG9yIG5vdC5cbiAgICovXG4gIHJlYWRvbmx5IGlzTG9nQ29tcGFjdGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBNdXN0IG9ubHkgYmUgcHJvdmlkZWQgaWYgJ2lzTG9nQ29tcGFjdGVkJyBpcyAndHJ1ZScuXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgbG9nQ29tcGFjdGlvblByb3BlcnRpZXM/OiBMb2dDb21wYWN0aW9uUHJvcGVydGllcztcbn1cblxuLyoqXG4gKiBDb25zdHJ1Y3QgdG8gY3JlYXRlIGEga2Fma2EgdG9waWMuXG4gKi9cbmV4cG9ydCBjbGFzcyBLYWZrYVRvcGljIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogS2Fma2FUb3BpY1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIC8qKlxuICAgIFNTTSBQYXJhbWV0ZXIgcmVmZXJlbmNlcyBkb250IGdlbmVyYXRlIGxvZ2ljYWwgbmFtZXMgYnkgYXBwZW5kaW5nIElEcyBvZiB0aGUgY2FsbGVyIGNvbnN0cnVjdHMuIEluc3RlYWQgc2ltcGx5IHVzZSBJRCBwYXNzZWQgZHVyaW5nIGZ1bmN0aW9uIGNhbGwgJ2Zyb21TdHJpbmdQYXJhbWV0ZXJOYW1lJy5cbiAgICBUaGlzIG1lYW5zIHRoYXQgaWYgdGhpcyBjb25zdHJ1Y3QgaXMgY2FsbGVkIG1vcmUgdGhhbiBvbmNlIGluIHRoZSBzYW1lIHN0YWNrLCBpdCB3b3VsZCBmYWlsIHdpdGggZXJyb3IgJ0NvbnN0cnVjdCBuYW1lIGFscmVhZHkgdXNlZCcuXG4gICAgQ2hlY2tpbmcgZm9yIGV4aXN0aW5nIFNTTSBQYXJhbWV0ZXIgdXNlZCB0byBhdm9pZCB0aGlzIGVycm9yXG4gICAgKi9cbiAgICBjb25zdCB0ZWFtRW1haWxTU01DREtJZGVudGlmaWVyID0gJ1RlYW1FbWFpbCc7XG4gICAgY29uc3QgdGVhbUVtYWlsID0gU3RhY2sub2YodGhpcykubm9kZS50cnlGaW5kQ2hpbGQodGVhbUVtYWlsU1NNQ0RLSWRlbnRpZmllcilcbiAgICAgID9cbiAgICAgIChTdGFjay5vZih0aGlzKS5ub2RlLmZpbmRDaGlsZCh0ZWFtRW1haWxTU01DREtJZGVudGlmaWVyKSBhcyBzc20uU3RyaW5nUGFyYW1ldGVyKS5zdHJpbmdWYWx1ZVxuICAgICAgOlxuICAgICAgc3NtLlN0cmluZ1BhcmFtZXRlci5mcm9tU3RyaW5nUGFyYW1ldGVyTmFtZShcbiAgICAgICAgc2NvcGUsXG4gICAgICAgIHRlYW1FbWFpbFNTTUNES0lkZW50aWZpZXIsXG4gICAgICAgICcvY29uZmlnL3RlYW0vbWFpbCcsXG4gICAgICApLnN0cmluZ1ZhbHVlO1xuXG4gICAgY29uc3QgZXZlbnRzID0gcHJvcHMubWV0YWRhdGEuZXZlbnRzLm1hcChzb3VyY2UgPT4ge1xuICAgICAgbmV3IEthZmthRXZlbnRTcGVjKHRoaXMsIGAke3NvdXJjZS5ldmVudE5hbWUucmVwbGFjZSgvXFwuL2csICdfJyl9LUV2ZW50U3BlY2AsIHsgc291cmNlIH0pO1xuICAgICAgcmV0dXJuIHNvdXJjZS5ldmVudE5hbWU7XG4gICAgfSk7XG5cbiAgICBuZXcgQ2ZuUmVzb3VyY2UodGhpcywgJ0thZmthVG9waWMnLCB7XG4gICAgICB0eXBlOiAnQ3VzdG9tOjpLYWZrYVRvcGljJyxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgU2VydmljZVRva2VuOiAnYXJuOmF3czpzbnM6ZXUtd2VzdC0xOjE4Njk5Mzc1NzczNDpkcC10b3BpYy1tYW5hZ2VyLXNucy10b3BpYycsXG4gICAgICAgIFZlcnNpb246ICczJyxcbiAgICAgICAgVG9waWNOYW1lOiBwcm9wcy5uYW1lLFxuICAgICAgICBEZXNjcmlwdGlvbjogcHJvcHMubWV0YWRhdGEuZGVzY3JpcHRpb24sXG4gICAgICAgIEV2ZW50czogZXZlbnRzLFxuICAgICAgICBOdW1iZXJPZlBhcnRpdGlvbnM6IHByb3BzLm51bWJlck9mUGFydGl0aW9ucyxcbiAgICAgICAgUmVwbGljYXRpb25GYWN0b3I6IHByb3BzLnJlcGxpY2F0aW9uRmFjdG9yID8/IDMsXG4gICAgICAgIFJldGVudGlvbk1zOiAocHJvcHMucmV0ZW50aW9uID8/IER1cmF0aW9uLmRheXMoNykpLnRvTWlsbGlzZWNvbmRzKCksXG4gICAgICAgIERlbGV0ZVJldGVudGlvbk1zOiBwcm9wcy5pc0xvZ0NvbXBhY3RlZCA/IHByb3BzLmxvZ0NvbXBhY3Rpb25Qcm9wZXJ0aWVzPy5kZWxldGVSZXRlbnRpb24gPz8gRHVyYXRpb24uZGF5cyg3KS50b01pbGxpc2Vjb25kcygpIDogdW5kZWZpbmVkLFxuICAgICAgICBJbnN0YW50RGVsZXRpb25FbmFibGVkOiBwcm9wcy5pbnN0YW50RGVsZXRpb25FbmFibGVkID8/IGZhbHNlLFxuICAgICAgICBDbGVhbnVwUG9saWN5OiBwcm9wcy5pc0xvZ0NvbXBhY3RlZCA/ICdjb21wYWN0JyA6ICdkZWxldGUnLFxuICAgICAgICBUZWFtRW1haWw6IHRlYW1FbWFpbCxcbiAgICAgICAgQUNMOiB7XG4gICAgICAgICAgUmVhZDogcHJvcHMuYWNsLnJlYWQsXG4gICAgICAgICAgV3JpdGU6IHByb3BzLmFjbC53cml0ZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLm5vZGUuYWRkVmFsaWRhdGlvbih7XG4gICAgICB2YWxpZGF0ZTogKCk6IHN0cmluZ1tdID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG5cbiAgICAgICAgaWYgKCFwcm9wcy5uYW1lLm1hdGNoKC9eW0EtWmEtejAtOS4tXSskLykpIHtcbiAgICAgICAgICByZXN1bHQucHVzaCgnSW52YWxpZCBbbmFtZV06IGV4cGVjdGluZyB0b3BpYyBuYW1lIHRvIG1hdGNoIHRoZSByZWcgZXhwIGBbQS1aYS16MC05Li1dK2AuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIU51bWJlci5pc0ludGVnZXIocHJvcHMubnVtYmVyT2ZQYXJ0aXRpb25zKSB8fCBwcm9wcy5udW1iZXJPZlBhcnRpdGlvbnMgPCAxKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goYEludmFsaWQgW251bWJlck9mUGFydGl0aW9uc106IGV4cGVjdGluZyBudW1iZXIgb2YgcGFydGl0aW9ucyB0byBiZSBhIHBvc2l0aXZlIGludGVnZXIgYnV0IGdvdCAke3Byb3BzLm51bWJlck9mUGFydGl0aW9uc30uYCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJvcHMucmVwbGljYXRpb25GYWN0b3IgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgKCFOdW1iZXIuaXNJbnRlZ2VyKHByb3BzLnJlcGxpY2F0aW9uRmFjdG9yKSB8fCBwcm9wcy5yZXBsaWNhdGlvbkZhY3RvciA8IDEgfHwgcHJvcHMucmVwbGljYXRpb25GYWN0b3IgPiAzKSkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFtyZXBsaWNhdGlvbkZhY3Rvcl06IGV4cGVjdGluZyBhbiBpbnRlZ2VyIGJldHdlZW4gMSBhbmQgMy4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwcm9wcy5tZXRhZGF0YS5ldmVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goJ0ludmFsaWQgW21ldGFkYXRhXTogZXhwZWN0aW5nIFtldmVudHNdIHRvIGhhdmUgYXQgbGVhc3Qgb24gZWxlbWVudC4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghcHJvcHMuaXNMb2dDb21wYWN0ZWQgJiYgcHJvcHMubG9nQ29tcGFjdGlvblByb3BlcnRpZXMpIHtcbiAgICAgICAgICByZXN1bHQucHVzaCgnSW52YWxpZCBbbG9nQ29tcGFjdGlvblByb3BlcnRpZXNdOiBsb2cgY29tcGFjdGlvbiBpcyBkaXNhYmxlZCBzbyBwcm9wZXJ0aWVzIG11c3QgYmUgdW5kZWZpbmVkLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Fma2EtdG9waWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva2Fma2Eva2Fma2EtdG9waWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBMkQ7QUFDM0QsMkNBQTJDO0FBQzNDLDJDQUF1QztBQUV2Qyx5REFBMEU7QUE2RzFFOztHQUVHO0FBQ0gsTUFBYSxVQUFXLFNBQVEsc0JBQVM7SUFFdkMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCOzs7O1VBSUU7UUFDRixNQUFNLHlCQUF5QixHQUFHLFdBQVcsQ0FBQztRQUM5QyxNQUFNLFNBQVMsR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDO1lBQzNFLENBQUM7Z0JBQ0EsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBeUIsQ0FBQyxXQUFXO1lBQzdGLENBQUM7Z0JBQ0QsR0FBRyxDQUFDLGVBQWUsQ0FBQyx1QkFBdUIsQ0FDekMsS0FBSyxFQUNMLHlCQUF5QixFQUN6QixtQkFBbUIsQ0FDcEIsQ0FBQyxXQUFXLENBQUM7UUFFaEIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2hELElBQUksaUNBQWMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDMUYsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSx5QkFBVyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDbEMsSUFBSSxFQUFFLG9CQUFvQjtZQUMxQixVQUFVLEVBQUU7Z0JBQ1YsWUFBWSxFQUFFLCtEQUErRDtnQkFDN0UsT0FBTyxFQUFFLEdBQUc7Z0JBQ1osU0FBUyxFQUFFLEtBQUssQ0FBQyxJQUFJO2dCQUNyQixXQUFXLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXO2dCQUN2QyxNQUFNLEVBQUUsTUFBTTtnQkFDZCxrQkFBa0IsRUFBRSxLQUFLLENBQUMsa0JBQWtCO2dCQUM1QyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCLElBQUksQ0FBQztnQkFDL0MsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxzQkFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRTtnQkFDbkUsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLHVCQUF1QixFQUFFLGVBQWUsSUFBSSxzQkFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUztnQkFDekksc0JBQXNCLEVBQUUsS0FBSyxDQUFDLHNCQUFzQixJQUFJLEtBQUs7Z0JBQzdELGFBQWEsRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVE7Z0JBQzFELFNBQVMsRUFBRSxTQUFTO2dCQUNwQixHQUFHLEVBQUU7b0JBQ0gsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSTtvQkFDcEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSztpQkFDdkI7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3RCLFFBQVEsRUFBRSxHQUFhLEVBQUU7Z0JBQ3ZCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztnQkFFbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLEVBQUU7b0JBQ3pDLE1BQU0sQ0FBQyxJQUFJLENBQUMsNkVBQTZFLENBQUMsQ0FBQztpQkFDNUY7Z0JBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksS0FBSyxDQUFDLGtCQUFrQixHQUFHLENBQUMsRUFBRTtvQkFDL0UsTUFBTSxDQUFDLElBQUksQ0FBQyxpR0FBaUcsS0FBSyxDQUFDLGtCQUFrQixHQUFHLENBQUMsQ0FBQztpQkFDM0k7Z0JBRUQsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEtBQUssU0FBUztvQkFDckMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksS0FBSyxDQUFDLGlCQUFpQixHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLEVBQUU7b0JBQzlHLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0VBQW9FLENBQUMsQ0FBQztpQkFDbkY7Z0JBRUQsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO29CQUN0QyxNQUFNLENBQUMsSUFBSSxDQUFDLHFFQUFxRSxDQUFDLENBQUM7aUJBQ3BGO2dCQUVELElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsRUFBRTtvQkFDMUQsTUFBTSxDQUFDLElBQUksQ0FBQyxnR0FBZ0csQ0FBQyxDQUFDO2lCQUMvRztnQkFFRCxPQUFPLE1BQU0sQ0FBQztZQUNoQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUE1RUgsZ0NBNkVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHVyYXRpb24sIENmblJlc291cmNlLCBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIHNzbSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc3NtJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5pbXBvcnQgeyBLYWZrYUV2ZW50U3BlYywgS2Fma2FFdmVudFNwZWNTb3VyY2UgfSBmcm9tICcuL2thZmthLWV2ZW50LXNwZWMnO1xuXG4vKipcbiAqIFdyYXBwZXIgZm9yIGFsbCBtZXRhIGRhdGEgb2YgYSB0b3BpYy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLYWZrYVRvcGljTWV0YURhdGEge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHNwZWNzIG9mIHRoZSBldmVudHMgb24gdGhhdCB0b3BpY1xuICAgKi9cbiAgcmVhZG9ubHkgZXZlbnRzOiBLYWZrYUV2ZW50U3BlY1NvdXJjZVtdO1xuXG4gIC8qKlxuICAgKiBEZXNjcmliZXMgdGhlIGludGVudCBvZiB0aGUgdG9waWMuIFRoaXMgbWlnaHQgYmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGV2ZW50cyBvbiB0aGF0IHRvcGljXG4gICAqIG9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHByb2R1Y2VyIGFuZCB0aGUgY29udGV4dCBvZiB0aGUgZXZlbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZWFkIGFuZCB3cml0ZSBwZXJtaXNzaW9ucyBmb3IgdGhlIHRvcGljLlxuICpcbiAqIHN0cmluZ3MgYXJlIG1hdGNoZWQgYWdhaW5zdCB0aGUgQ05BTUUgb2YgdGhlIGNlcnRpZmljYXRlIG9mIHRoZSBLYWZrYSBjbGllbnRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthQWNsU3RhdGVtZW50IHtcbiAgLyoqXG4gICogTGlzdCBvZiBjbGllbnRzIHRoYXQgc2hvdWxkIGdldCB3cml0ZSBwZXJtaXNzaW9uc1xuICAqL1xuICByZWFkb25seSB3cml0ZTogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgY2xpZW50cyB0aGF0IHNob3VsZCBnZXQgcmVhZCBwZXJtaXNzaW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgcmVhZDogc3RyaW5nW107XG59XG5cbi8qKlxuICogV3JhcHBlciBmb3IgYWxsIGxvZyBjb21wYWN0aW9uIHJlbGF0ZWQgcHJvcGVydGllcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2dDb21wYWN0aW9uUHJvcGVydGllcyB7XG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIHRpbWUgdG8gcmV0YWluIGRlbGV0ZSB0b21ic3RvbmUgbWFya2VycyBmb3IgbG9nIGNvbXBhY3RlZCB0b3BpY3M7XG4gICAqIFRoZSBzb2Z0IGxpbWl0IGlzIDEwIGRheXMgYnV0IGNhbiBiZSBpbmNyZWFzZWQgdXBvbiByZXF1ZXN0cy5cbiAgICogQGRlZmF1bHRWYWx1ZSAxIGRheVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlUmV0ZW50aW9uPzogRHVyYXRpb247XG59XG5cbi8qKlxuICogVGhlIGN1cnJlbnQgc2VydmljZSBsaW1pdHMgY2FuIGJlIGZvdW5kIGluIHRoZSB0b3BpYyBsaW1pdHMgY29uZmlndXJhdGlvbiBvZiB0aGUgdG9waWMgbWFuYWdlci5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vY29sbGFib3JhdGlvbi5tc2kuYXVkaS5jb20vc3Rhc2gvcHJvamVjdHMvUlNFVlRCVS9yZXBvcy90b3BpYy1tYW5hZ2VyL2Jyb3dzZS9jb25maWcvdG9waWMtc2VydmljZS1saW1pdHMueWFtbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthVG9waWNQcm9wc3tcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgbmFtZSBvZiB0aGUgdG9waWM7IGhhcyB0byBtYXRjaCBwYXR0ZXJuIFtBLVphLXowLTkuLV0rXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgZGVncmVlIG9mIHBhcmFsbGVsaXNtIG9mIHRoZSB0b3BpYzsgc2hvdWxkIGJlIGluY3JlYXNlZCBmb3JcbiAgICogbGFyZ2UgZXhwZWN0ZWQgbG9hZHMgKGUuZy4sIDI1IGZvciByaW8uYXNzZXQtaW90LWV2ZW50cykuXG4gICAqIFRoZSBzb2Z0IGxpbWl0IGlzIDEwIHBhcnRpdGlvbnMgYnV0IGNhbiBiZSBpbmNyZWFzZWQgdXBvbiByZXF1ZXN0cy5cbiAgICovXG4gIHJlYWRvbmx5IG51bWJlck9mUGFydGl0aW9uczogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGRlZ3JlZSBvZiByZXBsaWNhdGlvbiBvZiBtZXNzYWdlczsgaGFzIHRvIGJlIGJldHdlZW4gMSBhbmQgdGhlIG51bWJlciBvZiBicm9rZXJzIChjdXJyZW50bHkgMykuXG4gICAqIEBkZWZhdWx0VmFsdWUgM1xuICAgKi9cbiAgcmVhZG9ubHkgcmVwbGljYXRpb25GYWN0b3I/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRpbWUgaG93IGxvbmcgbWVzc2FnZXMgYXJlIHJldGFpbmVkIG9uIEthZmthIGNsdXN0ZXI7XG4gICAqXG4gICAqIFdlIHJlY29tbWVuZCAzMCBkYXlzIGZvciBnZW5lcmFsIGV2ZW50cyBhbmQgNyBkYXlzIGZvciBzZW5zb3IgZXZlbnRzIGFuZCBvdGhlciBoaWdoLWxvYWQgY2FzZXMuXG4gICAqIFRoZSBzb2Z0IGxpbWl0IGlzIDMgdG8gMzAgZGF5cyBidXQgY2FuIGJlIGluY3JlYXNlZCB1cG9uIHJlcXVlc3RzLlxuICAgKiBAZGVmYXVsdFZhbHVlIDcgZGF5c1xuICAgKi9cbiAgcmVhZG9ubHkgcmV0ZW50aW9uPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIElmIHNldCB0byAnZmFsc2UsIHRoZSB0b3BpYydzIGRhdGEgd2lsbCBiZSBkZWxldGVkIG9uIEthZmthIDEwIGRheXMgYWZ0ZXIgc3RhY2sgZGVsZXRpb24uXG4gICAqIElmIHNldCB0byAndHJ1ZScsIGl0IHdpbGwgYmUgZGVsZXRlZCBpbW1lZGlhdGVseSBhZnRlciBzdGFjayBkZWxldGlvbi5cbiAgICogQGRlZmF1bHRWYWx1ZSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFudERlbGV0aW9uRW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBtZXRhZGF0YSBvZiB0aGUgdG9waWMuXG4gICAqL1xuICByZWFkb25seSBtZXRhZGF0YTogS2Fma2FUb3BpY01ldGFEYXRhO1xuXG4gIC8qKlxuICAgKiBUaGUgcGVybWlzc2lvbnMgdG8gYWNjZXNzIHRvIHRoZSB0b3BpYydzIGRhdGEuXG4gICAqL1xuICByZWFkb25seSBhY2w6IEthZmthQWNsU3RhdGVtZW50O1xuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IHdoZXRoZXIgdGhlIHRvcGljIGlzIGxvZyBjb21wYWN0ZWQgb3Igbm90LlxuICAgKi9cbiAgcmVhZG9ubHkgaXNMb2dDb21wYWN0ZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE11c3Qgb25seSBiZSBwcm92aWRlZCBpZiAnaXNMb2dDb21wYWN0ZWQnIGlzICd0cnVlJy5cbiAgICogQGRlZmF1bHRWYWx1ZSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0NvbXBhY3Rpb25Qcm9wZXJ0aWVzPzogTG9nQ29tcGFjdGlvblByb3BlcnRpZXM7XG59XG5cbi8qKlxuICogQ29uc3RydWN0IHRvIGNyZWF0ZSBhIGthZmthIHRvcGljLlxuICovXG5leHBvcnQgY2xhc3MgS2Fma2FUb3BpYyBleHRlbmRzIENvbnN0cnVjdCB7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEthZmthVG9waWNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICAvKipcbiAgICBTU00gUGFyYW1ldGVyIHJlZmVyZW5jZXMgZG9udCBnZW5lcmF0ZSBsb2dpY2FsIG5hbWVzIGJ5IGFwcGVuZGluZyBJRHMgb2YgdGhlIGNhbGxlciBjb25zdHJ1Y3RzLiBJbnN0ZWFkIHNpbXBseSB1c2UgSUQgcGFzc2VkIGR1cmluZyBmdW5jdGlvbiBjYWxsICdmcm9tU3RyaW5nUGFyYW1ldGVyTmFtZScuXG4gICAgVGhpcyBtZWFucyB0aGF0IGlmIHRoaXMgY29uc3RydWN0IGlzIGNhbGxlZCBtb3JlIHRoYW4gb25jZSBpbiB0aGUgc2FtZSBzdGFjaywgaXQgd291bGQgZmFpbCB3aXRoIGVycm9yICdDb25zdHJ1Y3QgbmFtZSBhbHJlYWR5IHVzZWQnLlxuICAgIENoZWNraW5nIGZvciBleGlzdGluZyBTU00gUGFyYW1ldGVyIHVzZWQgdG8gYXZvaWQgdGhpcyBlcnJvclxuICAgICovXG4gICAgY29uc3QgdGVhbUVtYWlsU1NNQ0RLSWRlbnRpZmllciA9ICdUZWFtRW1haWwnO1xuICAgIGNvbnN0IHRlYW1FbWFpbCA9IFN0YWNrLm9mKHRoaXMpLm5vZGUudHJ5RmluZENoaWxkKHRlYW1FbWFpbFNTTUNES0lkZW50aWZpZXIpXG4gICAgICA/XG4gICAgICAoU3RhY2sub2YodGhpcykubm9kZS5maW5kQ2hpbGQodGVhbUVtYWlsU1NNQ0RLSWRlbnRpZmllcikgYXMgc3NtLlN0cmluZ1BhcmFtZXRlcikuc3RyaW5nVmFsdWVcbiAgICAgIDpcbiAgICAgIHNzbS5TdHJpbmdQYXJhbWV0ZXIuZnJvbVN0cmluZ1BhcmFtZXRlck5hbWUoXG4gICAgICAgIHNjb3BlLFxuICAgICAgICB0ZWFtRW1haWxTU01DREtJZGVudGlmaWVyLFxuICAgICAgICAnL2NvbmZpZy90ZWFtL21haWwnLFxuICAgICAgKS5zdHJpbmdWYWx1ZTtcblxuICAgIGNvbnN0IGV2ZW50cyA9IHByb3BzLm1ldGFkYXRhLmV2ZW50cy5tYXAoc291cmNlID0+IHtcbiAgICAgIG5ldyBLYWZrYUV2ZW50U3BlYyh0aGlzLCBgJHtzb3VyY2UuZXZlbnROYW1lLnJlcGxhY2UoL1xcLi9nLCAnXycpfS1FdmVudFNwZWNgLCB7IHNvdXJjZSB9KTtcbiAgICAgIHJldHVybiBzb3VyY2UuZXZlbnROYW1lO1xuICAgIH0pO1xuXG4gICAgbmV3IENmblJlc291cmNlKHRoaXMsICdLYWZrYVRvcGljJywge1xuICAgICAgdHlwZTogJ0N1c3RvbTo6S2Fma2FUb3BpYycsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIFNlcnZpY2VUb2tlbjogJ2Fybjphd3M6c25zOmV1LXdlc3QtMToxODY5OTM3NTc3MzQ6ZHAtdG9waWMtbWFuYWdlci1zbnMtdG9waWMnLFxuICAgICAgICBWZXJzaW9uOiAnMycsXG4gICAgICAgIFRvcGljTmFtZTogcHJvcHMubmFtZSxcbiAgICAgICAgRGVzY3JpcHRpb246IHByb3BzLm1ldGFkYXRhLmRlc2NyaXB0aW9uLFxuICAgICAgICBFdmVudHM6IGV2ZW50cyxcbiAgICAgICAgTnVtYmVyT2ZQYXJ0aXRpb25zOiBwcm9wcy5udW1iZXJPZlBhcnRpdGlvbnMsXG4gICAgICAgIFJlcGxpY2F0aW9uRmFjdG9yOiBwcm9wcy5yZXBsaWNhdGlvbkZhY3RvciA/PyAzLFxuICAgICAgICBSZXRlbnRpb25NczogKHByb3BzLnJldGVudGlvbiA/PyBEdXJhdGlvbi5kYXlzKDcpKS50b01pbGxpc2Vjb25kcygpLFxuICAgICAgICBEZWxldGVSZXRlbnRpb25NczogcHJvcHMuaXNMb2dDb21wYWN0ZWQgPyBwcm9wcy5sb2dDb21wYWN0aW9uUHJvcGVydGllcz8uZGVsZXRlUmV0ZW50aW9uID8/IER1cmF0aW9uLmRheXMoNykudG9NaWxsaXNlY29uZHMoKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgSW5zdGFudERlbGV0aW9uRW5hYmxlZDogcHJvcHMuaW5zdGFudERlbGV0aW9uRW5hYmxlZCA/PyBmYWxzZSxcbiAgICAgICAgQ2xlYW51cFBvbGljeTogcHJvcHMuaXNMb2dDb21wYWN0ZWQgPyAnY29tcGFjdCcgOiAnZGVsZXRlJyxcbiAgICAgICAgVGVhbUVtYWlsOiB0ZWFtRW1haWwsXG4gICAgICAgIEFDTDoge1xuICAgICAgICAgIFJlYWQ6IHByb3BzLmFjbC5yZWFkLFxuICAgICAgICAgIFdyaXRlOiBwcm9wcy5hY2wud3JpdGUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5ub2RlLmFkZFZhbGlkYXRpb24oe1xuICAgICAgdmFsaWRhdGU6ICgpOiBzdHJpbmdbXSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuXG4gICAgICAgIGlmICghcHJvcHMubmFtZS5tYXRjaCgvXltBLVphLXowLTkuLV0rJC8pKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goJ0ludmFsaWQgW25hbWVdOiBleHBlY3RpbmcgdG9waWMgbmFtZSB0byBtYXRjaCB0aGUgcmVnIGV4cCBgW0EtWmEtejAtOS4tXStgLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKHByb3BzLm51bWJlck9mUGFydGl0aW9ucykgfHwgcHJvcHMubnVtYmVyT2ZQYXJ0aXRpb25zIDwgMSkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKGBJbnZhbGlkIFtudW1iZXJPZlBhcnRpdGlvbnNdOiBleHBlY3RpbmcgbnVtYmVyIG9mIHBhcnRpdGlvbnMgdG8gYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyIGJ1dCBnb3QgJHtwcm9wcy5udW1iZXJPZlBhcnRpdGlvbnN9LmApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByb3BzLnJlcGxpY2F0aW9uRmFjdG9yICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICghTnVtYmVyLmlzSW50ZWdlcihwcm9wcy5yZXBsaWNhdGlvbkZhY3RvcikgfHwgcHJvcHMucmVwbGljYXRpb25GYWN0b3IgPCAxIHx8IHByb3BzLnJlcGxpY2F0aW9uRmFjdG9yID4gMykpIHtcbiAgICAgICAgICByZXN1bHQucHVzaCgnSW52YWxpZCBbcmVwbGljYXRpb25GYWN0b3JdOiBleHBlY3RpbmcgYW4gaW50ZWdlciBiZXR3ZWVuIDEgYW5kIDMuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJvcHMubWV0YWRhdGEuZXZlbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFttZXRhZGF0YV06IGV4cGVjdGluZyBbZXZlbnRzXSB0byBoYXZlIGF0IGxlYXN0IG9uIGVsZW1lbnQuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXByb3BzLmlzTG9nQ29tcGFjdGVkICYmIHByb3BzLmxvZ0NvbXBhY3Rpb25Qcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goJ0ludmFsaWQgW2xvZ0NvbXBhY3Rpb25Qcm9wZXJ0aWVzXTogbG9nIGNvbXBhY3Rpb24gaXMgZGlzYWJsZWQgc28gcHJvcGVydGllcyBtdXN0IGJlIHVuZGVmaW5lZC4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -24,7 +24,7 @@ export interface RioKafkaEventSourceProps extends lambdaEventSource.BaseStreamEv
24
24
  * The identifier for the Kafka consumer group to join. The consumer group ID must be unique among all your Kafka event sources. After creating a Kafka event source mapping with the consumer group ID specified, you cannot update this value. The value must have a lenght between 1 and 200 and full the pattern '[a-zA-Z0-9-\/*:_+=.@-]*'.
25
25
  * @see https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-consumer-group-id
26
26
  *
27
- * @default - none
27
+ * @defaultValue - none
28
28
  */
29
29
  readonly consumerGroupId?: string;
30
30
  }
@@ -55,4 +55,4 @@ class RioKafkaEventSource {
55
55
  exports.RioKafkaEventSource = RioKafkaEventSource;
56
56
  _a = JSII_RTTI_SYMBOL_1;
57
57
  RioKafkaEventSource[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.RioKafkaEventSource", version: "0.0.0" };
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlvLWthZmthLWV2ZW50LXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rYWZrYS9yaW8ta2Fma2EtZXZlbnQtc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQW1DO0FBQ25DLDJDQUEyQztBQUMzQywyQ0FBMkM7QUFFM0MsMEVBQTBFO0FBRTFFLDJDQUEyQztBQUUzQywyQ0FBMkM7QUE4QjNDOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUNILE1BQWEsbUJBQW1CO0lBRTlCLFlBQW9CLEtBQStCO1FBQS9CLFVBQUssR0FBTCxLQUFLLENBQTBCO0lBQ25ELENBQUM7SUFFRCxJQUFJLENBQUMsTUFBd0I7UUFDM0IsTUFBTSx5QkFBeUIsR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sRUFBRSwyQkFBMkIsRUFBRSw0Q0FBNEMsQ0FBQyxDQUFDO1FBRWpLLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JELE1BQU0sYUFBYSxHQUFHLElBQUksR0FBRyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUscUJBQXFCLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBRXBGLE1BQU0sUUFBUSxHQUFHLElBQUksaUJBQWlCLENBQUMsMkJBQTJCLENBQUM7WUFDakUsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLHlCQUF5QixDQUFDLFdBQVcsQ0FBQztZQUMxRSxHQUFHLElBQUksQ0FBQyxLQUFLO1lBQ2IsR0FBRztZQUNILFVBQVUsRUFBRTtnQkFDVixPQUFPLEVBQUUsR0FBRyxDQUFDLGNBQWM7YUFDNUI7WUFDRCxhQUFhO1lBQ2Isb0JBQW9CLEVBQUUsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsMkJBQTJCO1NBQ3pGLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU1QyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxrQ0FBa0MsRUFBRSxnRUFBZ0UsQ0FBQyxDQUFDO1FBQ3BLLE1BQU0sQ0FBQyxJQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7QUE3Qkgsa0RBOEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGVjMiBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCAqIGFzIGxhbWJkYUV2ZW50U291cmNlIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEtZXZlbnQtc291cmNlcyc7XG5pbXBvcnQgKiBhcyBzZWNyZXRzbWFuYWdlciBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXInO1xuaW1wb3J0ICogYXMgc3NtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zc20nO1xuXG5pbXBvcnQgKiBhcyByaW8gZnJvbSAnLi4vcmlvLWxhbmRpbmctem9uZSc7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgUmlvS2Fma2FFdmVudFNvdXJjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJpb0thZmthRXZlbnRTb3VyY2VQcm9wcyBleHRlbmRzIGxhbWJkYUV2ZW50U291cmNlLkJhc2VTdHJlYW1FdmVudFNvdXJjZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBLYWZrYSB0b3BpYyB0byBzdWJzY3JpYmUgdG9cbiAgICovXG4gIHJlYWRvbmx5IHRvcGljOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgc2VjcmV0IHdpdGggdGhlIEthZmthIGNyZWRlbnRpYWxzLCBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL21zay9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvbXNrLWF1dGhlbnRpY2F0aW9uLmh0bWwgZm9yIGRldGFpbHMuXG4gICAqXG4gICAqIFlvdSBjYW4gdXNlIHRoZSBgY3JlYXRlLWFuZC1zaWduLWNlcnRpZmljYXRlYCBzY3JpcHQgZnJvbSB0aGUgYGthZmthLWludGVncmF0aW9uYCB0byBjcmVhdGUgYSBzdWl0YWJsZSBBV1MgU2VjcmV0cyBNYW5hZ2VyIHNlY3JldC5cbiAgICogU2ltcGx5IGFkZCB0aGUgYC0tZnFkbiA8ZnFkbj4gLS1sYW1iZGFgIHBhcmFtZXRlcnMgdG8gdGhlIGBjcmVhdGUtYW5kLXNpZ24tY2VydGlmaWNhdGVgIHNjcmlwdCBhbmQgdGhlIHNjcmlwdCBnZW5lcmF0ZXMgYSBzZWNyZXQgbmFtZWQgYGthZmthLWludGVncmF0aW9uL21zay1jZXJ0aWZpY2F0ZS88ZnFkbj5gIHdpdGggYWxsIHJlbGV2YW50IGRhdGEuXG4gICAqXG4gICAqIFBsZWFzZSBub3RlIHRoYXQgd2UgZG8gb25seSBzdXBwb3J0IHRoZSBgLS1sYW1iZGFgIHBhcmFtZXRlciBpZiB0aGUgYC0tZnFkbmAgcGFyYW1ldGVyIGlzIHByZXNlbnQuXG4gICAqIFdlIGVuY291cmFnZSB5b3UgdG8gdXNlIHRoZSBgLS1mcWRuYCBwYXJhbWV0ZXIgZm9yIGFsbCB5b3VyIEthZmthIGNvbnN1bWVycyBhbmQgcHJvZHVjZXJzIGFzIHRoaXMgZWFzZXMgdGhlIHJlY292ZXJ5IHByb2Nlc3MgaW4gdGhlIGNhc2Ugb2YgYSBkaXNhc3Rlci5cbiAgICogKE90aGVyd2lzZSwgaS5lLiwgaWYgeW91IGRvIG5vdCB1c2UgdGhlIGAtLWZxZG5gIHBhcmFtZXRlciwgeW91ciBjZXJ0aWZpY2F0ZXMgQ05BTUUgY29udGFpbnMgdGhlIEFXUyBhY2NvdW50IElEIGFuZCB5b3UgbmVlZCB0byBjaGFuZ2UgYWxsIEFDTHMgaW4gY2FzZSBvZiBhIGNvcnJ1cHRlZCBBV1MgYWNjb3VudC4pXG4gICAqL1xuICByZWFkb25seSBzZWNyZXQ6IHNlY3JldHNtYW5hZ2VyLklTZWNyZXQ7XG4gIC8qKlxuICAgKiBUaGUgaWRlbnRpZmllciBmb3IgdGhlIEthZmthIGNvbnN1bWVyIGdyb3VwIHRvIGpvaW4uIFRoZSBjb25zdW1lciBncm91cCBJRCBtdXN0IGJlIHVuaXF1ZSBhbW9uZyBhbGwgeW91ciBLYWZrYSBldmVudCBzb3VyY2VzLiBBZnRlciBjcmVhdGluZyBhIEthZmthIGV2ZW50IHNvdXJjZSBtYXBwaW5nIHdpdGggdGhlIGNvbnN1bWVyIGdyb3VwIElEIHNwZWNpZmllZCwgeW91IGNhbm5vdCB1cGRhdGUgdGhpcyB2YWx1ZS4gIFRoZSB2YWx1ZSBtdXN0IGhhdmUgYSBsZW5naHQgYmV0d2VlbiAxIGFuZCAyMDAgYW5kIGZ1bGwgdGhlIHBhdHRlcm4gJ1thLXpBLVowLTktXFwvKjpfKz0uQC1dKicuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvd2l0aC1tc2suaHRtbCNzZXJ2aWNlcy1tc2stY29uc3VtZXItZ3JvdXAtaWRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBub25lXG4gICAqL1xuICByZWFkb25seSBjb25zdW1lckdyb3VwSWQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogVXNlIHRoZSBSaW8gS2Fma2EgYXMgYSBzdHJlYW1pbmcgc291cmNlIGZvciBBV1MgTGFtYmRhLlxuICpcbiAqIGBgYFxuICogIGNvbnN0IGxhbWJkYSA9IG5ldyBub2RlanMuTm9kZWpzRnVuY3Rpb24odGhpcywgJ0thZmthQ29uc3VtZXJGdW5jdGlvbicsIHtcbiAqICAgICBlbnRyeTogJ3BhdGgudG8uaGFuZGxlci50cycsXG4gKiAgICAgaGFuZGxlcjogJ2hhbmRsZXJOYW1lJyxcbiAqICAgfSk7XG4gKlxuICogICBjb25zdCBzZWNyZXQgPSBTZWNyZXQuZnJvbVNlY3JldE5hbWVWMih0aGlzLCAnQ29uc3VtZXJTZWNyZXQnLCAna2Fma2EtaW50ZWdyYXRpb24vbXNrLWNlcnRpZmljYXRlLzxGUUROPicpXG4gKlxuICogICBsYW1iZGEuYWRkRXZlbnRTb3VyY2UobmV3IFJpb0thZmthRXZlbnRTb3VyY2Uoe1xuICogICAgIHNlY3JldCxcbiAqICAgICB0b3BpYzogJzxUT1BJQy9OQU1FPicsXG4gKiAgICAgc3RhcnRpbmdQb3NpdGlvbjogU3RhcnRpbmdQb3NpdGlvbi5UUklNX0hPUklaT04sXG4gKiAgIH0pKTtcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgUmlvS2Fma2FFdmVudFNvdXJjZSBpbXBsZW1lbnRzIGxhbWJkYS5JRXZlbnRTb3VyY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcHJvcHM6IFJpb0thZmthRXZlbnRTb3VyY2VQcm9wcykge1xuICB9XG5cbiAgYmluZCh0YXJnZXQ6IGxhbWJkYS5JRnVuY3Rpb24pOiB2b2lkIHtcbiAgICBjb25zdCBib290c3RyYXBTZXJ2ZXJzUGFyYW1ldGVyID0gc3NtLlN0cmluZ1BhcmFtZXRlci5mcm9tU3RyaW5nUGFyYW1ldGVyTmFtZSh0YXJnZXQsICdCb290c3RyYXBTZXJ2ZXJzUGFyYW1ldGVyJywgJy9jb25maWcva2Fma2EtaW50ZWdyYXRpb24vYm9vdHN0cmFwLXNlcnZlcicpO1xuXG4gICAgY29uc3QgdnBjID0gcmlvLlJpb0xhbmRpbmdab25lLmdldERlZmF1bHRWcGModGFyZ2V0KTtcbiAgICBjb25zdCBzZWN1cml0eUdyb3VwID0gbmV3IGVjMi5TZWN1cml0eUdyb3VwKHRhcmdldCwgJ0xhbWJkYVNlY3VyaXR5R3JvdXAnLCB7IHZwYyB9KTtcblxuICAgIGNvbnN0IGRlbGVnYXRlID0gbmV3IGxhbWJkYUV2ZW50U291cmNlLlNlbGZNYW5hZ2VkS2Fma2FFdmVudFNvdXJjZSh7XG4gICAgICBib290c3RyYXBTZXJ2ZXJzOiBjZGsuRm4uc3BsaXQoJywnLCBib290c3RyYXBTZXJ2ZXJzUGFyYW1ldGVyLnN0cmluZ1ZhbHVlKSxcbiAgICAgIC4uLnRoaXMucHJvcHMsXG4gICAgICB2cGMsXG4gICAgICB2cGNTdWJuZXRzOiB7XG4gICAgICAgIHN1Ym5ldHM6IHZwYy5wcml2YXRlU3VibmV0cyxcbiAgICAgIH0sXG4gICAgICBzZWN1cml0eUdyb3VwLFxuICAgICAgYXV0aGVudGljYXRpb25NZXRob2Q6IGxhbWJkYUV2ZW50U291cmNlLkF1dGhlbnRpY2F0aW9uTWV0aG9kLkNMSUVOVF9DRVJUSUZJQ0FURV9UTFNfQVVUSCxcbiAgICB9KTtcblxuICAgIGRlbGVnYXRlLmJpbmQodGFyZ2V0KTtcblxuICAgIHRoaXMucHJvcHMuc2VjcmV0LmdyYW50UmVhZCh0YXJnZXQpO1xuICAgIGJvb3RzdHJhcFNlcnZlcnNQYXJhbWV0ZXIuZ3JhbnRSZWFkKHRhcmdldCk7XG5cbiAgICBjb25zdCBwb2xpY3kgPSBpYW0uTWFuYWdlZFBvbGljeS5mcm9tTWFuYWdlZFBvbGljeUFybih0YXJnZXQsICdNYW5hZ2VkQVdTTGFtYmRhTVNLRXhlY3V0aW9uUm9sZScsICdhcm46YXdzOmlhbTo6YXdzOnBvbGljeS9zZXJ2aWNlLXJvbGUvQVdTTGFtYmRhTVNLRXhlY3V0aW9uUm9sZScpO1xuICAgIHRhcmdldC5yb2xlIS5hZGRNYW5hZ2VkUG9saWN5KHBvbGljeSk7XG4gIH1cbn1cbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlvLWthZmthLWV2ZW50LXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rYWZrYS9yaW8ta2Fma2EtZXZlbnQtc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQW1DO0FBQ25DLDJDQUEyQztBQUMzQywyQ0FBMkM7QUFFM0MsMEVBQTBFO0FBRTFFLDJDQUEyQztBQUUzQywyQ0FBMkM7QUE4QjNDOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUNILE1BQWEsbUJBQW1CO0lBRTlCLFlBQW9CLEtBQStCO1FBQS9CLFVBQUssR0FBTCxLQUFLLENBQTBCO0lBQ25ELENBQUM7SUFFRCxJQUFJLENBQUMsTUFBd0I7UUFDM0IsTUFBTSx5QkFBeUIsR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sRUFBRSwyQkFBMkIsRUFBRSw0Q0FBNEMsQ0FBQyxDQUFDO1FBRWpLLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JELE1BQU0sYUFBYSxHQUFHLElBQUksR0FBRyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUscUJBQXFCLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBRXBGLE1BQU0sUUFBUSxHQUFHLElBQUksaUJBQWlCLENBQUMsMkJBQTJCLENBQUM7WUFDakUsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLHlCQUF5QixDQUFDLFdBQVcsQ0FBQztZQUMxRSxHQUFHLElBQUksQ0FBQyxLQUFLO1lBQ2IsR0FBRztZQUNILFVBQVUsRUFBRTtnQkFDVixPQUFPLEVBQUUsR0FBRyxDQUFDLGNBQWM7YUFDNUI7WUFDRCxhQUFhO1lBQ2Isb0JBQW9CLEVBQUUsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsMkJBQTJCO1NBQ3pGLENBQUMsQ0FBQztRQUVILFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU1QyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxrQ0FBa0MsRUFBRSxnRUFBZ0UsQ0FBQyxDQUFDO1FBQ3BLLE1BQU0sQ0FBQyxJQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7QUE3Qkgsa0RBOEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGVjMiBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCAqIGFzIGxhbWJkYUV2ZW50U291cmNlIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEtZXZlbnQtc291cmNlcyc7XG5pbXBvcnQgKiBhcyBzZWNyZXRzbWFuYWdlciBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXInO1xuaW1wb3J0ICogYXMgc3NtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zc20nO1xuXG5pbXBvcnQgKiBhcyByaW8gZnJvbSAnLi4vcmlvLWxhbmRpbmctem9uZSc7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgUmlvS2Fma2FFdmVudFNvdXJjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJpb0thZmthRXZlbnRTb3VyY2VQcm9wcyBleHRlbmRzIGxhbWJkYUV2ZW50U291cmNlLkJhc2VTdHJlYW1FdmVudFNvdXJjZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBLYWZrYSB0b3BpYyB0byBzdWJzY3JpYmUgdG9cbiAgICovXG4gIHJlYWRvbmx5IHRvcGljOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgc2VjcmV0IHdpdGggdGhlIEthZmthIGNyZWRlbnRpYWxzLCBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL21zay9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvbXNrLWF1dGhlbnRpY2F0aW9uLmh0bWwgZm9yIGRldGFpbHMuXG4gICAqXG4gICAqIFlvdSBjYW4gdXNlIHRoZSBgY3JlYXRlLWFuZC1zaWduLWNlcnRpZmljYXRlYCBzY3JpcHQgZnJvbSB0aGUgYGthZmthLWludGVncmF0aW9uYCB0byBjcmVhdGUgYSBzdWl0YWJsZSBBV1MgU2VjcmV0cyBNYW5hZ2VyIHNlY3JldC5cbiAgICogU2ltcGx5IGFkZCB0aGUgYC0tZnFkbiA8ZnFkbj4gLS1sYW1iZGFgIHBhcmFtZXRlcnMgdG8gdGhlIGBjcmVhdGUtYW5kLXNpZ24tY2VydGlmaWNhdGVgIHNjcmlwdCBhbmQgdGhlIHNjcmlwdCBnZW5lcmF0ZXMgYSBzZWNyZXQgbmFtZWQgYGthZmthLWludGVncmF0aW9uL21zay1jZXJ0aWZpY2F0ZS88ZnFkbj5gIHdpdGggYWxsIHJlbGV2YW50IGRhdGEuXG4gICAqXG4gICAqIFBsZWFzZSBub3RlIHRoYXQgd2UgZG8gb25seSBzdXBwb3J0IHRoZSBgLS1sYW1iZGFgIHBhcmFtZXRlciBpZiB0aGUgYC0tZnFkbmAgcGFyYW1ldGVyIGlzIHByZXNlbnQuXG4gICAqIFdlIGVuY291cmFnZSB5b3UgdG8gdXNlIHRoZSBgLS1mcWRuYCBwYXJhbWV0ZXIgZm9yIGFsbCB5b3VyIEthZmthIGNvbnN1bWVycyBhbmQgcHJvZHVjZXJzIGFzIHRoaXMgZWFzZXMgdGhlIHJlY292ZXJ5IHByb2Nlc3MgaW4gdGhlIGNhc2Ugb2YgYSBkaXNhc3Rlci5cbiAgICogKE90aGVyd2lzZSwgaS5lLiwgaWYgeW91IGRvIG5vdCB1c2UgdGhlIGAtLWZxZG5gIHBhcmFtZXRlciwgeW91ciBjZXJ0aWZpY2F0ZXMgQ05BTUUgY29udGFpbnMgdGhlIEFXUyBhY2NvdW50IElEIGFuZCB5b3UgbmVlZCB0byBjaGFuZ2UgYWxsIEFDTHMgaW4gY2FzZSBvZiBhIGNvcnJ1cHRlZCBBV1MgYWNjb3VudC4pXG4gICAqL1xuICByZWFkb25seSBzZWNyZXQ6IHNlY3JldHNtYW5hZ2VyLklTZWNyZXQ7XG4gIC8qKlxuICAgKiBUaGUgaWRlbnRpZmllciBmb3IgdGhlIEthZmthIGNvbnN1bWVyIGdyb3VwIHRvIGpvaW4uIFRoZSBjb25zdW1lciBncm91cCBJRCBtdXN0IGJlIHVuaXF1ZSBhbW9uZyBhbGwgeW91ciBLYWZrYSBldmVudCBzb3VyY2VzLiBBZnRlciBjcmVhdGluZyBhIEthZmthIGV2ZW50IHNvdXJjZSBtYXBwaW5nIHdpdGggdGhlIGNvbnN1bWVyIGdyb3VwIElEIHNwZWNpZmllZCwgeW91IGNhbm5vdCB1cGRhdGUgdGhpcyB2YWx1ZS4gIFRoZSB2YWx1ZSBtdXN0IGhhdmUgYSBsZW5naHQgYmV0d2VlbiAxIGFuZCAyMDAgYW5kIGZ1bGwgdGhlIHBhdHRlcm4gJ1thLXpBLVowLTktXFwvKjpfKz0uQC1dKicuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvd2l0aC1tc2suaHRtbCNzZXJ2aWNlcy1tc2stY29uc3VtZXItZ3JvdXAtaWRcbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSAtIG5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGNvbnN1bWVyR3JvdXBJZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBVc2UgdGhlIFJpbyBLYWZrYSBhcyBhIHN0cmVhbWluZyBzb3VyY2UgZm9yIEFXUyBMYW1iZGEuXG4gKlxuICogYGBgXG4gKiAgY29uc3QgbGFtYmRhID0gbmV3IG5vZGVqcy5Ob2RlanNGdW5jdGlvbih0aGlzLCAnS2Fma2FDb25zdW1lckZ1bmN0aW9uJywge1xuICogICAgIGVudHJ5OiAncGF0aC50by5oYW5kbGVyLnRzJyxcbiAqICAgICBoYW5kbGVyOiAnaGFuZGxlck5hbWUnLFxuICogICB9KTtcbiAqXG4gKiAgIGNvbnN0IHNlY3JldCA9IFNlY3JldC5mcm9tU2VjcmV0TmFtZVYyKHRoaXMsICdDb25zdW1lclNlY3JldCcsICdrYWZrYS1pbnRlZ3JhdGlvbi9tc2stY2VydGlmaWNhdGUvPEZRRE4+JylcbiAqXG4gKiAgIGxhbWJkYS5hZGRFdmVudFNvdXJjZShuZXcgUmlvS2Fma2FFdmVudFNvdXJjZSh7XG4gKiAgICAgc2VjcmV0LFxuICogICAgIHRvcGljOiAnPFRPUElDL05BTUU+JyxcbiAqICAgICBzdGFydGluZ1Bvc2l0aW9uOiBTdGFydGluZ1Bvc2l0aW9uLlRSSU1fSE9SSVpPTixcbiAqICAgfSkpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBSaW9LYWZrYUV2ZW50U291cmNlIGltcGxlbWVudHMgbGFtYmRhLklFdmVudFNvdXJjZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwcm9wczogUmlvS2Fma2FFdmVudFNvdXJjZVByb3BzKSB7XG4gIH1cblxuICBiaW5kKHRhcmdldDogbGFtYmRhLklGdW5jdGlvbik6IHZvaWQge1xuICAgIGNvbnN0IGJvb3RzdHJhcFNlcnZlcnNQYXJhbWV0ZXIgPSBzc20uU3RyaW5nUGFyYW1ldGVyLmZyb21TdHJpbmdQYXJhbWV0ZXJOYW1lKHRhcmdldCwgJ0Jvb3RzdHJhcFNlcnZlcnNQYXJhbWV0ZXInLCAnL2NvbmZpZy9rYWZrYS1pbnRlZ3JhdGlvbi9ib290c3RyYXAtc2VydmVyJyk7XG5cbiAgICBjb25zdCB2cGMgPSByaW8uUmlvTGFuZGluZ1pvbmUuZ2V0RGVmYXVsdFZwYyh0YXJnZXQpO1xuICAgIGNvbnN0IHNlY3VyaXR5R3JvdXAgPSBuZXcgZWMyLlNlY3VyaXR5R3JvdXAodGFyZ2V0LCAnTGFtYmRhU2VjdXJpdHlHcm91cCcsIHsgdnBjIH0pO1xuXG4gICAgY29uc3QgZGVsZWdhdGUgPSBuZXcgbGFtYmRhRXZlbnRTb3VyY2UuU2VsZk1hbmFnZWRLYWZrYUV2ZW50U291cmNlKHtcbiAgICAgIGJvb3RzdHJhcFNlcnZlcnM6IGNkay5Gbi5zcGxpdCgnLCcsIGJvb3RzdHJhcFNlcnZlcnNQYXJhbWV0ZXIuc3RyaW5nVmFsdWUpLFxuICAgICAgLi4udGhpcy5wcm9wcyxcbiAgICAgIHZwYyxcbiAgICAgIHZwY1N1Ym5ldHM6IHtcbiAgICAgICAgc3VibmV0czogdnBjLnByaXZhdGVTdWJuZXRzLFxuICAgICAgfSxcbiAgICAgIHNlY3VyaXR5R3JvdXAsXG4gICAgICBhdXRoZW50aWNhdGlvbk1ldGhvZDogbGFtYmRhRXZlbnRTb3VyY2UuQXV0aGVudGljYXRpb25NZXRob2QuQ0xJRU5UX0NFUlRJRklDQVRFX1RMU19BVVRILFxuICAgIH0pO1xuXG4gICAgZGVsZWdhdGUuYmluZCh0YXJnZXQpO1xuXG4gICAgdGhpcy5wcm9wcy5zZWNyZXQuZ3JhbnRSZWFkKHRhcmdldCk7XG4gICAgYm9vdHN0cmFwU2VydmVyc1BhcmFtZXRlci5ncmFudFJlYWQodGFyZ2V0KTtcblxuICAgIGNvbnN0IHBvbGljeSA9IGlhbS5NYW5hZ2VkUG9saWN5LmZyb21NYW5hZ2VkUG9saWN5QXJuKHRhcmdldCwgJ01hbmFnZWRBV1NMYW1iZGFNU0tFeGVjdXRpb25Sb2xlJywgJ2Fybjphd3M6aWFtOjphd3M6cG9saWN5L3NlcnZpY2Utcm9sZS9BV1NMYW1iZGFNU0tFeGVjdXRpb25Sb2xlJyk7XG4gICAgdGFyZ2V0LnJvbGUhLmFkZE1hbmFnZWRQb2xpY3kocG9saWN5KTtcbiAgfVxufVxuIl19
@@ -7,7 +7,7 @@ export interface RioSecretsDeployStepProps {
7
7
  readonly input: pipelines.CodePipelineSource;
8
8
  /**
9
9
  * Path to secrets file containing encrypted secrets
10
- * @default Looks for file under 2 paths with the following priority:
10
+ * @defaultValue Looks for file under 2 paths with the following priority:
11
11
  * 1. ./infrastructure/src/secrets/secrets.yaml followed by path
12
12
  * 2. ./src/secrets/secrets.yaml
13
13
  */
@@ -102,4 +102,4 @@ function determineSecretsFilePathCommandsForCodeBuild(userDefinedSecretsFilePath
102
102
  ];
103
103
  }
104
104
  }
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlvLWJhY2t1cC1zZWNyZXRzLXJlc3RvcmUtc3RhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGlwZWxpbmUvcmlvLWJhY2t1cC1zZWNyZXRzLXJlc3RvcmUtc3RhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxtQ0FBbUM7QUFDbkMsMkNBQTJDO0FBQzNDLG1EQUFtRDtBQWlCbkQsTUFBYSxvQkFBcUIsU0FBUSxTQUFTLENBQUMsYUFBYTtJQUMvRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BcUJHO0lBQ0gsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFnQztRQUN4RSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ1IsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ2xCLEdBQUcsNEJBQTRCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsZUFBZSxDQUFDO1NBQ2hILENBQUMsQ0FBQztJQUNMLENBQUM7O0FBNUJILG9EQTZCQzs7O0FBRUQsU0FBUyw0QkFBNEIsQ0FBQyxPQUFlLEVBQUUsTUFBYyxFQUFFLDBCQUE4QztJQUNuSCxPQUFPO1FBQ0wsUUFBUSxFQUFFLG9CQUFvQixDQUFDLE1BQU0sRUFBRSwwQkFBMEIsQ0FBQztRQUNsRSxvQkFBb0IsRUFBRSxnQ0FBZ0MsQ0FBQyxPQUFPLENBQUM7S0FDaEUsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLHNDQUFzQyxHQUFHLG1CQUFtQixDQUFDO0FBRW5FLFNBQVMsb0JBQW9CLENBQUMsTUFBYyxFQUFFLDBCQUE4QztJQUMxRixPQUFPO1FBQ0wsd0VBQXdFO1FBQ3hFLHdCQUF3QjtRQUN4Qiw0RkFBNEY7UUFDNUYsZ0RBQWdEO1FBQ2hELEdBQUcsNENBQTRDLENBQUMsMEJBQTBCLENBQUM7UUFDM0UsZ0VBQWdFO1FBQ2hFLGtEQUFrRCxzQ0FBc0MsSUFBSTtRQUM1RixxSkFBcUosTUFBTSxzQ0FBc0M7UUFDak0sa0NBQWtDO1FBQ2xDLDZNQUE2TTtLQUM5TSxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsZ0NBQWdDLENBQUMsT0FBZTtJQUN2RCxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUM7SUFDdkMsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO1FBQzNDLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUN4QixTQUFTLEVBQUU7WUFDVCxpQkFBaUIsZUFBZSxRQUFRO1lBQ3hDLGlCQUFpQixPQUFPLFFBQVE7U0FDakM7UUFDRCxVQUFVLEVBQUU7WUFDVix3QkFBd0IsRUFBRTtnQkFDeEIscUJBQXFCLEVBQUUsMEJBQTBCO2FBQ2xEO1NBQ0Y7S0FDRixDQUFDLENBQUM7SUFDSCxNQUFNLHdCQUF3QixHQUFHLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztRQUN2RCxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztRQUNsQyxTQUFTLEVBQUU7WUFDVCw0QkFBNEIsT0FBTyxpQ0FBaUM7U0FDckU7S0FDRixDQUFDLENBQUM7SUFDSCxPQUFPO1FBQ0wsWUFBWTtRQUNaLHdCQUF3QjtLQUN6QixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsNENBQTRDLENBQUMsMEJBQThDO0lBQ2xHLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUFDO0lBQzlDLE1BQU0sd0JBQXdCLEdBQUcsZ0NBQWdDLHNCQUFzQixFQUFFLENBQUM7SUFDMUYsTUFBTSx3QkFBd0IsR0FBRyxpQkFBaUIsc0JBQXNCLEVBQUUsQ0FBQztJQUMzRSxJQUFJLDBCQUEwQixFQUFFO1FBQzlCLE9BQU87WUFDTCx5Q0FBeUMsMEJBQTBCLEdBQUc7WUFDdEUsVUFBVSxzQ0FBc0MsS0FBSywwQkFBMEIsR0FBRztTQUNuRixDQUFDO0tBQ0g7U0FBTTtRQUNMLE9BQU87WUFDTCx5RUFBeUUsQ0FBQyx3QkFBd0IsRUFBRSx3QkFBd0IsQ0FBQyxHQUFHO1lBQ2hJLFlBQVksd0JBQXdCLG9CQUFvQixzQ0FBc0MsS0FBSyx3QkFBd0Isa0JBQWtCLHNDQUFzQyxLQUFLLHdCQUF3QixPQUFPO1NBQ3hOLENBQUM7S0FDSDtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBwaXBlbGluZXMgZnJvbSAnYXdzLWNkay1saWIvcGlwZWxpbmVzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJpb1NlY3JldHNEZXBsb3lTdGVwUHJvcHMge1xuICAvKipcbiAgICogUG9pbnRzIHRvIENvZGVQaXBlbGluZSBzb3VyY2Ugc3RlcFxuICAgKi9cbiAgcmVhZG9ubHkgaW5wdXQ6IHBpcGVsaW5lcy5Db2RlUGlwZWxpbmVTb3VyY2U7XG4gIC8qKlxuICAgKiBQYXRoIHRvIHNlY3JldHMgZmlsZSBjb250YWluaW5nIGVuY3J5cHRlZCBzZWNyZXRzXG4gICAqIEBkZWZhdWx0IExvb2tzIGZvciBmaWxlIHVuZGVyIDIgcGF0aHMgd2l0aCB0aGUgZm9sbG93aW5nIHByaW9yaXR5OlxuICAgKiAxLiAuL2luZnJhc3RydWN0dXJlL3NyYy9zZWNyZXRzL3NlY3JldHMueWFtbCBmb2xsb3dlZCBieSBwYXRoXG4gICAqIDIuIC4vc3JjL3NlY3JldHMvc2VjcmV0cy55YW1sXG4gICAqL1xuICByZWFkb25seSBzZWNyZXRzRmlsZVBhdGg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBSaW9TZWNyZXRzRGVwbG95U3RlcCBleHRlbmRzIHBpcGVsaW5lcy5Db2RlQnVpbGRTdGVwIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYW5kIGF0dGFjaGVzIGEgY29kZWJ1aWxkIHByb2plY3QgdG8gdGhlIHBpcGVsaW5lIHdoaWNoIGxvb2tzIGZvciBzZWNyZXRzLnlhbWwgdW5kZXIgZmlyc3QgLi9pbmZyYXN0cnVjdHVyZS9zcmMvc2VjcmV0cyBhbmQgdGhlbiAuL3NyYy9zZWNyZXRzLlxuICAgKiBUaGUgc2VjcmV0cyBhcmUgdGhlbiB1cGxvYWRlZCB0byBTU00gYW5kIFNlY3JldHMgTWFuYWdlciBhY2NvcmRpbmcgdG8gdGhlIGRhdGEgaW4gc2VjcmV0cy55YW1sXG4gICAqIFRoZSBGb3JtYXQgb2Ygc2VjcmV0cyBmaWxlIHNob3VsZCBiZSBsaWtlIHRoZSBmb2xsb3dpbmcgZXhhbXBsZSBpbiB5YW1sOlxuICAgKlxuICAgKiAtLS1cbiAgICogU1NNOlxuICAgKlxuICAgKiAgICAgICAgIC9jb25maWcvYXBwbGljYXRpb24vc2VjcmV0OiBwYXNzd29yZFxuICAgKlxuICAgKiAgICAgICAgIC9jb25maWcvYXBwbGljYXRpb24yL3NlY3JldDogcGFzc3dvcmRcbiAgICpcbiAgICogU2VjcmV0c01hbmFnZXI6XG4gICAqXG4gICAqICAgICAgICAgcGxhaW5fdGV4dF9zZWNyZXQ6IHZhbHVlXG4gICAqXG4gICAqICAgICAgICAganNvbl9zZWNyZXQ6XG4gICAqXG4gICAqICAgICAgICAgICAgIGtleTE6IHZhbHVlMVxuICAgKlxuICAgKiAgICAgICAgICAgICBrZXkyOiB2YWx1ZTJcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSaW9TZWNyZXRzRGVwbG95U3RlcFByb3BzICkge1xuICAgIHN1cGVyKGlkLCB7XG4gICAgICBpbnB1dDogcHJvcHMuaW5wdXQsXG4gICAgICAuLi5nZXRDb21tb25Db2RlQnVpbGRQcm9wZXJ0aWVzKGNkay5TdGFjay5vZihzY29wZSkuYWNjb3VudCwgY2RrLlN0YWNrLm9mKHNjb3BlKS5yZWdpb24sIHByb3BzLnNlY3JldHNGaWxlUGF0aCksXG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0Q29tbW9uQ29kZUJ1aWxkUHJvcGVydGllcyhhY2NvdW50OiBzdHJpbmcsIHJlZ2lvbjogc3RyaW5nLCB1c2VyRGVmaW5lZFNlY3JldHNGaWxlUGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkKTogUGljazxwaXBlbGluZXMuQ29kZUJ1aWxkU3RlcFByb3BzLCAnY29tbWFuZHMnIHwgJ3JvbGVQb2xpY3lTdGF0ZW1lbnRzJz4ge1xuICByZXR1cm4ge1xuICAgIGNvbW1hbmRzOiBnZXRDb2RlQnVpbGRDb21tYW5kcyhyZWdpb24sIHVzZXJEZWZpbmVkU2VjcmV0c0ZpbGVQYXRoKSxcbiAgICByb2xlUG9saWN5U3RhdGVtZW50czogZ2V0Q29kZUJ1aWxkUm9sZVBvbGljeVN0YXRlbWVudHMoYWNjb3VudCksXG4gIH07XG59XG5cbmNvbnN0IFNFQ1JFVFNfRklMRV9QQVRIX0VOVklST05NRU5UX1ZBUklBQkxFID0gJ1NFQ1JFVFNfRklMRV9QQVRIJztcblxuZnVuY3Rpb24gZ2V0Q29kZUJ1aWxkQ29tbWFuZHMocmVnaW9uOiBzdHJpbmcsIHVzZXJEZWZpbmVkU2VjcmV0c0ZpbGVQYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmdbXSB7XG4gIHJldHVybiBbXG4gICAgJ2N1cmwgLXNTIGh0dHBzOi8vZGwueWFybnBrZy5jb20vZGViaWFuL3B1YmtleS5ncGcgfCBzdWRvIGFwdC1rZXkgYWRkIC0nLFxuICAgICdhcHQtZ2V0IC0tcXVpZXQgdXBkYXRlJyxcbiAgICAnd2dldCAtLXF1aWV0IGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL3NvcHMvcmVsZWFzZXMvZG93bmxvYWQvdjMuNy4xL3NvcHNfMy43LjFfYW1kNjQuZGViJyxcbiAgICAnYXB0LWdldCAtLXF1aWV0IGluc3RhbGwgLi9zb3BzXzMuNy4xX2FtZDY0LmRlYicsXG4gICAgLi4uZGV0ZXJtaW5lU2VjcmV0c0ZpbGVQYXRoQ29tbWFuZHNGb3JDb2RlQnVpbGQodXNlckRlZmluZWRTZWNyZXRzRmlsZVBhdGgpLFxuICAgICdlY2hvIFwiVXNpbmcgdGhlIGZvbGxvd2luZyBzZWNyZXRzIGZpbGU6IFxcJHtTRUNSRVRTX0ZJTEVfUEFUSH1cIicsXG4gICAgYFBBWUxPQUQ9JChzb3BzIC0tb3V0cHV0LXR5cGUganNvbiAtLWRlY3J5cHQgXFwkeyR7U0VDUkVUU19GSUxFX1BBVEhfRU5WSVJPTk1FTlRfVkFSSUFCTEV9fSlgLFxuICAgIGBMQU1CREFfRVJST1I9JChhd3MgbGFtYmRhIGludm9rZSAtLWZ1bmN0aW9uLW5hbWUgXCJTZWNyZXRzUmVzdG9yZUhhbmRsZXJcIiAtLXBheWxvYWQgXFxcIlxcJHtQQVlMT0FEfVxcXCIgLS1jbGktYmluYXJ5LWZvcm1hdCByYXctaW4tYmFzZTY0LW91dCAtLXJlZ2lvbiAke3JlZ2lvbn0gb3V0cHV0IHwganEgJ2hhcyhcIkZ1bmN0aW9uRXJyb3JcIiknKWAsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHF1b3Rlc1xuICAgIGBpZiBbIFwiXFwke0xBTUJEQV9FUlJPUn1cIiA9ICd0cnVlJyBdOyB0aGVuIGVjaG8gJ1RoZSBcXCdTZWNyZXRzUmVzdG9yZUhhbmRsZXJcXCcgbGFtYmRhIGZhaWxlZCB3aXRoIGFuIGVycm9yLiBDaGVjayB0aGUgQ2xvdWR3YXRjaCBsb2dzIFxcJy9hd3MvbGFtYmRhL1NlY3JldHNSZXN0b3JlSGFuZGxlclxcJyBmb3IgbW9yZSBpbmZvcm1hdGlvbic7IGV4aXQgMTsgZmlgLFxuICBdO1xufVxuXG5mdW5jdGlvbiBnZXRDb2RlQnVpbGRSb2xlUG9saWN5U3RhdGVtZW50cyhhY2NvdW50OiBzdHJpbmcpOiBpYW0uUG9saWN5U3RhdGVtZW50W10ge1xuICBjb25zdCBiYWNrdXBBY2NvdW50SWQgPSAnOTAzNDA0Mzg2NTUwJztcbiAgY29uc3QgaWFtUG9saWN5S01TID0gbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgIGFjdGlvbnM6IFsna21zOkRlY3J5cHQnXSxcbiAgICByZXNvdXJjZXM6IFtcbiAgICAgIGBhcm46YXdzOmttczoqOiR7YmFja3VwQWNjb3VudElkfTprZXkvKmAsXG4gICAgICBgYXJuOmF3czprbXM6Kjoke2FjY291bnR9OmtleS8qYCxcbiAgICBdLFxuICAgIGNvbmRpdGlvbnM6IHtcbiAgICAgICdGb3JBbnlWYWx1ZTpTdHJpbmdMaWtlJzoge1xuICAgICAgICAna21zOlJlc291cmNlQWxpYXNlcyc6ICdhbGlhcy9yaW8tbHotYmFja3VwLWtleSonLFxuICAgICAgfSxcbiAgICB9LFxuICB9KTtcbiAgY29uc3QgaWFtUG9saWN5TGFtYmRhRXhlY3V0aW9uID0gbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgIGFjdGlvbnM6IFsnbGFtYmRhOkludm9rZUZ1bmN0aW9uJ10sXG4gICAgcmVzb3VyY2VzOiBbXG4gICAgICBgYXJuOmF3czpsYW1iZGE6ZXUtd2VzdC0xOiR7YWNjb3VudH06ZnVuY3Rpb246U2VjcmV0c1Jlc3RvcmVIYW5kbGVyYCxcbiAgICBdLFxuICB9KTtcbiAgcmV0dXJuIFtcbiAgICBpYW1Qb2xpY3lLTVMsXG4gICAgaWFtUG9saWN5TGFtYmRhRXhlY3V0aW9uLFxuICBdO1xufVxuXG5mdW5jdGlvbiBkZXRlcm1pbmVTZWNyZXRzRmlsZVBhdGhDb21tYW5kc0ZvckNvZGVCdWlsZCh1c2VyRGVmaW5lZFNlY3JldHNGaWxlUGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nW10ge1xuICBjb25zdCBkZWZhdWx0U2VjcmV0c0ZpbGVOYW1lID0gJ3NlY3JldHMueWFtbCc7XG4gIGNvbnN0IGRlZmF1bHRTZWNyZXRzRmlsZVBhdGhzMSA9IGAuL2luZnJhc3RydWN0dXJlL3NyYy9zZWNyZXRzLyR7ZGVmYXVsdFNlY3JldHNGaWxlTmFtZX1gO1xuICBjb25zdCBkZWZhdWx0U2VjcmV0c0ZpbGVQYXRoczIgPSBgLi9zcmMvc2VjcmV0cy8ke2RlZmF1bHRTZWNyZXRzRmlsZU5hbWV9YDtcbiAgaWYgKHVzZXJEZWZpbmVkU2VjcmV0c0ZpbGVQYXRoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIGBlY2hvIFwiU2VjcmV0cyBmaWxlIGV4cGxpY2l0bHkgc2V0IHRvOiAke3VzZXJEZWZpbmVkU2VjcmV0c0ZpbGVQYXRofVwiYCxcbiAgICAgIGBleHBvcnQgJHtTRUNSRVRTX0ZJTEVfUEFUSF9FTlZJUk9OTUVOVF9WQVJJQUJMRX09JyR7dXNlckRlZmluZWRTZWNyZXRzRmlsZVBhdGh9J2AsXG4gICAgXTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gW1xuICAgICAgYGVjaG8gJ05vIGV4cGxpY2l0IHNlY3JldHMgZmlsZSBzZXQsIGxvb2tpbmcgYXQgdGhlIGRlZmF1bHQgbG9jYXRpb25zOiAke1tkZWZhdWx0U2VjcmV0c0ZpbGVQYXRoczEsIGRlZmF1bHRTZWNyZXRzRmlsZVBhdGhzMl19J2AsXG4gICAgICBgaWYgWyAtZiAnJHtkZWZhdWx0U2VjcmV0c0ZpbGVQYXRoczF9JyBdOyB0aGVuIGV4cG9ydCAke1NFQ1JFVFNfRklMRV9QQVRIX0VOVklST05NRU5UX1ZBUklBQkxFfT0nJHtkZWZhdWx0U2VjcmV0c0ZpbGVQYXRoczF9JzsgZWxzZSBleHBvcnQgJHtTRUNSRVRTX0ZJTEVfUEFUSF9FTlZJUk9OTUVOVF9WQVJJQUJMRX09JyR7ZGVmYXVsdFNlY3JldHNGaWxlUGF0aHMyfSc7IGZpYCxcbiAgICBdO1xuICB9XG59XG4iXX0=
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlvLWJhY2t1cC1zZWNyZXRzLXJlc3RvcmUtc3RhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGlwZWxpbmUvcmlvLWJhY2t1cC1zZWNyZXRzLXJlc3RvcmUtc3RhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxtQ0FBbUM7QUFDbkMsMkNBQTJDO0FBQzNDLG1EQUFtRDtBQWlCbkQsTUFBYSxvQkFBcUIsU0FBUSxTQUFTLENBQUMsYUFBYTtJQUMvRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BcUJHO0lBQ0gsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFnQztRQUN4RSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ1IsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ2xCLEdBQUcsNEJBQTRCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsZUFBZSxDQUFDO1NBQ2hILENBQUMsQ0FBQztJQUNMLENBQUM7O0FBNUJILG9EQTZCQzs7O0FBRUQsU0FBUyw0QkFBNEIsQ0FBQyxPQUFlLEVBQUUsTUFBYyxFQUFFLDBCQUE4QztJQUNuSCxPQUFPO1FBQ0wsUUFBUSxFQUFFLG9CQUFvQixDQUFDLE1BQU0sRUFBRSwwQkFBMEIsQ0FBQztRQUNsRSxvQkFBb0IsRUFBRSxnQ0FBZ0MsQ0FBQyxPQUFPLENBQUM7S0FDaEUsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLHNDQUFzQyxHQUFHLG1CQUFtQixDQUFDO0FBRW5FLFNBQVMsb0JBQW9CLENBQUMsTUFBYyxFQUFFLDBCQUE4QztJQUMxRixPQUFPO1FBQ0wsd0VBQXdFO1FBQ3hFLHdCQUF3QjtRQUN4Qiw0RkFBNEY7UUFDNUYsZ0RBQWdEO1FBQ2hELEdBQUcsNENBQTRDLENBQUMsMEJBQTBCLENBQUM7UUFDM0UsZ0VBQWdFO1FBQ2hFLGtEQUFrRCxzQ0FBc0MsSUFBSTtRQUM1RixxSkFBcUosTUFBTSxzQ0FBc0M7UUFDak0sa0NBQWtDO1FBQ2xDLDZNQUE2TTtLQUM5TSxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsZ0NBQWdDLENBQUMsT0FBZTtJQUN2RCxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUM7SUFDdkMsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO1FBQzNDLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUN4QixTQUFTLEVBQUU7WUFDVCxpQkFBaUIsZUFBZSxRQUFRO1lBQ3hDLGlCQUFpQixPQUFPLFFBQVE7U0FDakM7UUFDRCxVQUFVLEVBQUU7WUFDVix3QkFBd0IsRUFBRTtnQkFDeEIscUJBQXFCLEVBQUUsMEJBQTBCO2FBQ2xEO1NBQ0Y7S0FDRixDQUFDLENBQUM7SUFDSCxNQUFNLHdCQUF3QixHQUFHLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztRQUN2RCxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztRQUNsQyxTQUFTLEVBQUU7WUFDVCw0QkFBNEIsT0FBTyxpQ0FBaUM7U0FDckU7S0FDRixDQUFDLENBQUM7SUFDSCxPQUFPO1FBQ0wsWUFBWTtRQUNaLHdCQUF3QjtLQUN6QixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsNENBQTRDLENBQUMsMEJBQThDO0lBQ2xHLE1BQU0sc0JBQXNCLEdBQUcsY0FBYyxDQUFDO0lBQzlDLE1BQU0sd0JBQXdCLEdBQUcsZ0NBQWdDLHNCQUFzQixFQUFFLENBQUM7SUFDMUYsTUFBTSx3QkFBd0IsR0FBRyxpQkFBaUIsc0JBQXNCLEVBQUUsQ0FBQztJQUMzRSxJQUFJLDBCQUEwQixFQUFFO1FBQzlCLE9BQU87WUFDTCx5Q0FBeUMsMEJBQTBCLEdBQUc7WUFDdEUsVUFBVSxzQ0FBc0MsS0FBSywwQkFBMEIsR0FBRztTQUNuRixDQUFDO0tBQ0g7U0FBTTtRQUNMLE9BQU87WUFDTCx5RUFBeUUsQ0FBQyx3QkFBd0IsRUFBRSx3QkFBd0IsQ0FBQyxHQUFHO1lBQ2hJLFlBQVksd0JBQXdCLG9CQUFvQixzQ0FBc0MsS0FBSyx3QkFBd0Isa0JBQWtCLHNDQUFzQyxLQUFLLHdCQUF3QixPQUFPO1NBQ3hOLENBQUM7S0FDSDtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBwaXBlbGluZXMgZnJvbSAnYXdzLWNkay1saWIvcGlwZWxpbmVzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJpb1NlY3JldHNEZXBsb3lTdGVwUHJvcHMge1xuICAvKipcbiAgICogUG9pbnRzIHRvIENvZGVQaXBlbGluZSBzb3VyY2Ugc3RlcFxuICAgKi9cbiAgcmVhZG9ubHkgaW5wdXQ6IHBpcGVsaW5lcy5Db2RlUGlwZWxpbmVTb3VyY2U7XG4gIC8qKlxuICAgKiBQYXRoIHRvIHNlY3JldHMgZmlsZSBjb250YWluaW5nIGVuY3J5cHRlZCBzZWNyZXRzXG4gICAqIEBkZWZhdWx0VmFsdWUgTG9va3MgZm9yIGZpbGUgdW5kZXIgMiBwYXRocyB3aXRoIHRoZSBmb2xsb3dpbmcgcHJpb3JpdHk6XG4gICAqIDEuIC4vaW5mcmFzdHJ1Y3R1cmUvc3JjL3NlY3JldHMvc2VjcmV0cy55YW1sIGZvbGxvd2VkIGJ5IHBhdGhcbiAgICogMi4gLi9zcmMvc2VjcmV0cy9zZWNyZXRzLnlhbWxcbiAgICovXG4gIHJlYWRvbmx5IHNlY3JldHNGaWxlUGF0aD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIFJpb1NlY3JldHNEZXBsb3lTdGVwIGV4dGVuZHMgcGlwZWxpbmVzLkNvZGVCdWlsZFN0ZXAge1xuICAvKipcbiAgICogQ3JlYXRlcyBhbmQgYXR0YWNoZXMgYSBjb2RlYnVpbGQgcHJvamVjdCB0byB0aGUgcGlwZWxpbmUgd2hpY2ggbG9va3MgZm9yIHNlY3JldHMueWFtbCB1bmRlciBmaXJzdCAuL2luZnJhc3RydWN0dXJlL3NyYy9zZWNyZXRzIGFuZCB0aGVuIC4vc3JjL3NlY3JldHMuXG4gICAqIFRoZSBzZWNyZXRzIGFyZSB0aGVuIHVwbG9hZGVkIHRvIFNTTSBhbmQgU2VjcmV0cyBNYW5hZ2VyIGFjY29yZGluZyB0byB0aGUgZGF0YSBpbiBzZWNyZXRzLnlhbWxcbiAgICogVGhlIEZvcm1hdCBvZiBzZWNyZXRzIGZpbGUgc2hvdWxkIGJlIGxpa2UgdGhlIGZvbGxvd2luZyBleGFtcGxlIGluIHlhbWw6XG4gICAqXG4gICAqIC0tLVxuICAgKiBTU006XG4gICAqXG4gICAqICAgICAgICAgL2NvbmZpZy9hcHBsaWNhdGlvbi9zZWNyZXQ6IHBhc3N3b3JkXG4gICAqXG4gICAqICAgICAgICAgL2NvbmZpZy9hcHBsaWNhdGlvbjIvc2VjcmV0OiBwYXNzd29yZFxuICAgKlxuICAgKiBTZWNyZXRzTWFuYWdlcjpcbiAgICpcbiAgICogICAgICAgICBwbGFpbl90ZXh0X3NlY3JldDogdmFsdWVcbiAgICpcbiAgICogICAgICAgICBqc29uX3NlY3JldDpcbiAgICpcbiAgICogICAgICAgICAgICAga2V5MTogdmFsdWUxXG4gICAqXG4gICAqICAgICAgICAgICAgIGtleTI6IHZhbHVlMlxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFJpb1NlY3JldHNEZXBsb3lTdGVwUHJvcHMgKSB7XG4gICAgc3VwZXIoaWQsIHtcbiAgICAgIGlucHV0OiBwcm9wcy5pbnB1dCxcbiAgICAgIC4uLmdldENvbW1vbkNvZGVCdWlsZFByb3BlcnRpZXMoY2RrLlN0YWNrLm9mKHNjb3BlKS5hY2NvdW50LCBjZGsuU3RhY2sub2Yoc2NvcGUpLnJlZ2lvbiwgcHJvcHMuc2VjcmV0c0ZpbGVQYXRoKSxcbiAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRDb21tb25Db2RlQnVpbGRQcm9wZXJ0aWVzKGFjY291bnQ6IHN0cmluZywgcmVnaW9uOiBzdHJpbmcsIHVzZXJEZWZpbmVkU2VjcmV0c0ZpbGVQYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBQaWNrPHBpcGVsaW5lcy5Db2RlQnVpbGRTdGVwUHJvcHMsICdjb21tYW5kcycgfCAncm9sZVBvbGljeVN0YXRlbWVudHMnPiB7XG4gIHJldHVybiB7XG4gICAgY29tbWFuZHM6IGdldENvZGVCdWlsZENvbW1hbmRzKHJlZ2lvbiwgdXNlckRlZmluZWRTZWNyZXRzRmlsZVBhdGgpLFxuICAgIHJvbGVQb2xpY3lTdGF0ZW1lbnRzOiBnZXRDb2RlQnVpbGRSb2xlUG9saWN5U3RhdGVtZW50cyhhY2NvdW50KSxcbiAgfTtcbn1cblxuY29uc3QgU0VDUkVUU19GSUxFX1BBVEhfRU5WSVJPTk1FTlRfVkFSSUFCTEUgPSAnU0VDUkVUU19GSUxFX1BBVEgnO1xuXG5mdW5jdGlvbiBnZXRDb2RlQnVpbGRDb21tYW5kcyhyZWdpb246IHN0cmluZywgdXNlckRlZmluZWRTZWNyZXRzRmlsZVBhdGg6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIFtcbiAgICAnY3VybCAtc1MgaHR0cHM6Ly9kbC55YXJucGtnLmNvbS9kZWJpYW4vcHVia2V5LmdwZyB8IHN1ZG8gYXB0LWtleSBhZGQgLScsXG4gICAgJ2FwdC1nZXQgLS1xdWlldCB1cGRhdGUnLFxuICAgICd3Z2V0IC0tcXVpZXQgaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvc29wcy9yZWxlYXNlcy9kb3dubG9hZC92My43LjEvc29wc18zLjcuMV9hbWQ2NC5kZWInLFxuICAgICdhcHQtZ2V0IC0tcXVpZXQgaW5zdGFsbCAuL3NvcHNfMy43LjFfYW1kNjQuZGViJyxcbiAgICAuLi5kZXRlcm1pbmVTZWNyZXRzRmlsZVBhdGhDb21tYW5kc0ZvckNvZGVCdWlsZCh1c2VyRGVmaW5lZFNlY3JldHNGaWxlUGF0aCksXG4gICAgJ2VjaG8gXCJVc2luZyB0aGUgZm9sbG93aW5nIHNlY3JldHMgZmlsZTogXFwke1NFQ1JFVFNfRklMRV9QQVRIfVwiJyxcbiAgICBgUEFZTE9BRD0kKHNvcHMgLS1vdXRwdXQtdHlwZSBqc29uIC0tZGVjcnlwdCBcXCR7JHtTRUNSRVRTX0ZJTEVfUEFUSF9FTlZJUk9OTUVOVF9WQVJJQUJMRX19KWAsXG4gICAgYExBTUJEQV9FUlJPUj0kKGF3cyBsYW1iZGEgaW52b2tlIC0tZnVuY3Rpb24tbmFtZSBcIlNlY3JldHNSZXN0b3JlSGFuZGxlclwiIC0tcGF5bG9hZCBcXFwiXFwke1BBWUxPQUR9XFxcIiAtLWNsaS1iaW5hcnktZm9ybWF0IHJhdy1pbi1iYXNlNjQtb3V0IC0tcmVnaW9uICR7cmVnaW9ufSBvdXRwdXQgfCBqcSAnaGFzKFwiRnVuY3Rpb25FcnJvclwiKScpYCxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcXVvdGVzXG4gICAgYGlmIFsgXCJcXCR7TEFNQkRBX0VSUk9SfVwiID0gJ3RydWUnIF07IHRoZW4gZWNobyAnVGhlIFxcJ1NlY3JldHNSZXN0b3JlSGFuZGxlclxcJyBsYW1iZGEgZmFpbGVkIHdpdGggYW4gZXJyb3IuIENoZWNrIHRoZSBDbG91ZHdhdGNoIGxvZ3MgXFwnL2F3cy9sYW1iZGEvU2VjcmV0c1Jlc3RvcmVIYW5kbGVyXFwnIGZvciBtb3JlIGluZm9ybWF0aW9uJzsgZXhpdCAxOyBmaWAsXG4gIF07XG59XG5cbmZ1bmN0aW9uIGdldENvZGVCdWlsZFJvbGVQb2xpY3lTdGF0ZW1lbnRzKGFjY291bnQ6IHN0cmluZyk6IGlhbS5Qb2xpY3lTdGF0ZW1lbnRbXSB7XG4gIGNvbnN0IGJhY2t1cEFjY291bnRJZCA9ICc5MDM0MDQzODY1NTAnO1xuICBjb25zdCBpYW1Qb2xpY3lLTVMgPSBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgYWN0aW9uczogWydrbXM6RGVjcnlwdCddLFxuICAgIHJlc291cmNlczogW1xuICAgICAgYGFybjphd3M6a21zOio6JHtiYWNrdXBBY2NvdW50SWR9OmtleS8qYCxcbiAgICAgIGBhcm46YXdzOmttczoqOiR7YWNjb3VudH06a2V5LypgLFxuICAgIF0sXG4gICAgY29uZGl0aW9uczoge1xuICAgICAgJ0ZvckFueVZhbHVlOlN0cmluZ0xpa2UnOiB7XG4gICAgICAgICdrbXM6UmVzb3VyY2VBbGlhc2VzJzogJ2FsaWFzL3Jpby1sei1iYWNrdXAta2V5KicsXG4gICAgICB9LFxuICAgIH0sXG4gIH0pO1xuICBjb25zdCBpYW1Qb2xpY3lMYW1iZGFFeGVjdXRpb24gPSBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgYWN0aW9uczogWydsYW1iZGE6SW52b2tlRnVuY3Rpb24nXSxcbiAgICByZXNvdXJjZXM6IFtcbiAgICAgIGBhcm46YXdzOmxhbWJkYTpldS13ZXN0LTE6JHthY2NvdW50fTpmdW5jdGlvbjpTZWNyZXRzUmVzdG9yZUhhbmRsZXJgLFxuICAgIF0sXG4gIH0pO1xuICByZXR1cm4gW1xuICAgIGlhbVBvbGljeUtNUyxcbiAgICBpYW1Qb2xpY3lMYW1iZGFFeGVjdXRpb24sXG4gIF07XG59XG5cbmZ1bmN0aW9uIGRldGVybWluZVNlY3JldHNGaWxlUGF0aENvbW1hbmRzRm9yQ29kZUJ1aWxkKHVzZXJEZWZpbmVkU2VjcmV0c0ZpbGVQYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGRlZmF1bHRTZWNyZXRzRmlsZU5hbWUgPSAnc2VjcmV0cy55YW1sJztcbiAgY29uc3QgZGVmYXVsdFNlY3JldHNGaWxlUGF0aHMxID0gYC4vaW5mcmFzdHJ1Y3R1cmUvc3JjL3NlY3JldHMvJHtkZWZhdWx0U2VjcmV0c0ZpbGVOYW1lfWA7XG4gIGNvbnN0IGRlZmF1bHRTZWNyZXRzRmlsZVBhdGhzMiA9IGAuL3NyYy9zZWNyZXRzLyR7ZGVmYXVsdFNlY3JldHNGaWxlTmFtZX1gO1xuICBpZiAodXNlckRlZmluZWRTZWNyZXRzRmlsZVBhdGgpIHtcbiAgICByZXR1cm4gW1xuICAgICAgYGVjaG8gXCJTZWNyZXRzIGZpbGUgZXhwbGljaXRseSBzZXQgdG86ICR7dXNlckRlZmluZWRTZWNyZXRzRmlsZVBhdGh9XCJgLFxuICAgICAgYGV4cG9ydCAke1NFQ1JFVFNfRklMRV9QQVRIX0VOVklST05NRU5UX1ZBUklBQkxFfT0nJHt1c2VyRGVmaW5lZFNlY3JldHNGaWxlUGF0aH0nYCxcbiAgICBdO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBbXG4gICAgICBgZWNobyAnTm8gZXhwbGljaXQgc2VjcmV0cyBmaWxlIHNldCwgbG9va2luZyBhdCB0aGUgZGVmYXVsdCBsb2NhdGlvbnM6ICR7W2RlZmF1bHRTZWNyZXRzRmlsZVBhdGhzMSwgZGVmYXVsdFNlY3JldHNGaWxlUGF0aHMyXX0nYCxcbiAgICAgIGBpZiBbIC1mICcke2RlZmF1bHRTZWNyZXRzRmlsZVBhdGhzMX0nIF07IHRoZW4gZXhwb3J0ICR7U0VDUkVUU19GSUxFX1BBVEhfRU5WSVJPTk1FTlRfVkFSSUFCTEV9PScke2RlZmF1bHRTZWNyZXRzRmlsZVBhdGhzMX0nOyBlbHNlIGV4cG9ydCAke1NFQ1JFVFNfRklMRV9QQVRIX0VOVklST05NRU5UX1ZBUklBQkxFfT0nJHtkZWZhdWx0U2VjcmV0c0ZpbGVQYXRoczJ9JzsgZmlgLFxuICAgIF07XG4gIH1cbn1cbiJdfQ==