@rio-cloud/cdk-v2-constructs 2.0.4 → 2.1.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.
package/.jsii CHANGED
@@ -7187,7 +7187,7 @@
7187
7187
  },
7188
7188
  "locationInModule": {
7189
7189
  "filename": "src/watchful/lambda.ts",
7190
- "line": 66
7190
+ "line": 68
7191
7191
  },
7192
7192
  "parameters": [
7193
7193
  {
@@ -7213,7 +7213,7 @@
7213
7213
  "kind": "class",
7214
7214
  "locationInModule": {
7215
7215
  "filename": "src/watchful/lambda.ts",
7216
- "line": 62
7216
+ "line": 64
7217
7217
  },
7218
7218
  "name": "WatchLambdaFunction",
7219
7219
  "symbolId": "src/watchful/lambda:WatchLambdaFunction"
@@ -7229,7 +7229,7 @@
7229
7229
  "kind": "interface",
7230
7230
  "locationInModule": {
7231
7231
  "filename": "src/watchful/lambda.ts",
7232
- "line": 12
7232
+ "line": 14
7233
7233
  },
7234
7234
  "name": "WatchLambdaFunctionOptions",
7235
7235
  "properties": [
@@ -7244,7 +7244,7 @@
7244
7244
  "immutable": true,
7245
7245
  "locationInModule": {
7246
7246
  "filename": "src/watchful/lambda.ts",
7247
- "line": 36
7247
+ "line": 38
7248
7248
  },
7249
7249
  "name": "durationThresholdPercent",
7250
7250
  "optional": true,
@@ -7263,7 +7263,7 @@
7263
7263
  "immutable": true,
7264
7264
  "locationInModule": {
7265
7265
  "filename": "src/watchful/lambda.ts",
7266
- "line": 18
7266
+ "line": 20
7267
7267
  },
7268
7268
  "name": "errorsPerMinuteThreshold",
7269
7269
  "optional": true,
@@ -7281,7 +7281,7 @@
7281
7281
  "immutable": true,
7282
7282
  "locationInModule": {
7283
7283
  "filename": "src/watchful/lambda.ts",
7284
- "line": 25
7284
+ "line": 27
7285
7285
  },
7286
7286
  "name": "throttlesPerMinuteThreshold",
7287
7287
  "optional": true,
@@ -7306,7 +7306,7 @@
7306
7306
  "kind": "interface",
7307
7307
  "locationInModule": {
7308
7308
  "filename": "src/watchful/lambda.ts",
7309
- "line": 42
7309
+ "line": 44
7310
7310
  },
7311
7311
  "name": "WatchLambdaFunctionProps",
7312
7312
  "properties": [
@@ -7320,7 +7320,7 @@
7320
7320
  "immutable": true,
7321
7321
  "locationInModule": {
7322
7322
  "filename": "src/watchful/lambda.ts",
7323
- "line": 52
7323
+ "line": 54
7324
7324
  },
7325
7325
  "name": "fn",
7326
7326
  "type": {
@@ -7337,7 +7337,7 @@
7337
7337
  "immutable": true,
7338
7338
  "locationInModule": {
7339
7339
  "filename": "src/watchful/lambda.ts",
7340
- "line": 46
7340
+ "line": 48
7341
7341
  },
7342
7342
  "name": "watchful",
7343
7343
  "type": {
@@ -7870,5 +7870,5 @@
7870
7870
  }
7871
7871
  },
7872
7872
  "version": "0.0.0",
7873
- "fingerprint": "Jy+OKKtMmQl6v7Nh66t68Cg+74EnVQYYcPwEwkdbVvs="
7873
+ "fingerprint": "lL/PzW9zT+qevPXDKxN5VZYj0/5D6yg4ZWmzh5CQRzQ="
7874
7874
  }
package/CHANGELOG.md CHANGED
@@ -2,6 +2,27 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [2.1.0](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv2.0.6&sourceBranch=refs%2Ftags%2Fv2.1.0) (2022-06-02)
6
+
7
+
8
+ ### Features
9
+
10
+ * :sparkles: Added log monitor error for lambda in watchful ([2e01032](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/commits/2e010327cd11b92f455aace32d10ce47f0afb503))
11
+
12
+ ### [2.0.6](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv2.0.5&sourceBranch=refs%2Ftags%2Fv2.0.6) (2022-05-31)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * Migrate Datadog log monitoring to Datadog's "New Events Feature" ([97a3621](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/commits/97a36210a466d9b13fdf07c4cc859c168159e302))
18
+
19
+ ### [2.0.5](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv2.0.4&sourceBranch=refs%2Ftags%2Fv2.0.5) (2022-05-30)
20
+
21
+
22
+ ### Bug Fixes
23
+
24
+ * Migrate Datadog log monitoring to Datadog's "New Events Feature" ([49ef30c](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/commits/49ef30c4ffe16e4bb9261034b72b78535b792893))
25
+
5
26
  ### [2.0.4](https://collaboration.msi.audi.com/stash/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv2.0.3&sourceBranch=refs%2Ftags%2Fv2.0.4) (2022-05-30)
6
27
 
7
28
 
@@ -20,7 +20,7 @@ class DatadogLogIndexMonitoring extends constructs_1.Construct {
20
20
  super(scope, id);
21
21
  new DatadogLogDailyQuotaMonitor(this, 'DatadogLogDailyQuotaMonitor', props);
22
22
  new DatadogLogsAnomalyMonitor(this, 'DatadogLogAlertAnomalyMonitor', props);
23
- new DatadogLogDailyQuotaReachedMonitor(this, 'DatadogLogDailyQuotaReachedMonitor', props);
23
+ new DatadogLogDailyQuotaReachedMonitor(this, 'DatadogLogDailyQuotaReachedV2Monitor', props);
24
24
  this.node.addValidation({
25
25
  validate: () => {
26
26
  const result = [];
@@ -52,7 +52,7 @@ class DatadogLogDailyQuotaMonitor extends datadogMonitor_1.DatadogMonitor {
52
52
  monitor: {
53
53
  name: 'Log quota almost reached',
54
54
  type: 'metric alert',
55
- query: `sum(last_5m):sum:datadog.estimated_usage.logs.ingested_events{datadog_is_excluded:false,datadog_index:${props.indexName}}.as_count().rollup(sum, 86400) >= ${alertThreshold}`,
55
+ query: `sum(last_1d):sum:datadog.estimated_usage.logs.ingested_events{datadog_is_excluded:false,datadog_index:${props.indexName}}.as_count() >= ${alertThreshold}`,
56
56
  message: `[P3] Inspect your log volume at ${datadogLogsSearchWithIndexFilterDeepLink(props.indexName)} or adapt the log quota at ${datadogLogsIndexesConfigurationDeepLink}`,
57
57
  options: {
58
58
  thresholds: {
@@ -60,7 +60,7 @@ class DatadogLogDailyQuotaMonitor extends datadogMonitor_1.DatadogMonitor {
60
60
  warning: warningThreshold,
61
61
  },
62
62
  include_tags: false,
63
- notify_no_data: props.sparseLogging ? false : true,
63
+ notify_no_data: !props.sparseLogging,
64
64
  no_data_timeframe: 24 * 60,
65
65
  },
66
66
  },
@@ -79,7 +79,7 @@ class DatadogLogsAnomalyMonitor extends datadogMonitor_1.DatadogMonitor {
79
79
  message: `[P4] Logs are getting out of control: ${datadogLogsSearchWithIndexFilterDeepLink(props.indexName)}`,
80
80
  options: {
81
81
  include_tags: false,
82
- notify_no_data: props.sparseLogging ? false : true,
82
+ notify_no_data: !props.sparseLogging,
83
83
  threshold_windows: {
84
84
  trigger_window: 'last_15m',
85
85
  recovery_window: 'last_15m',
@@ -113,4 +113,4 @@ function datadogLogsSearchWithIndexFilterDeepLink(indexName) {
113
113
  return `https://app.datadoghq.eu/logs?index=${indexName}`;
114
114
  }
115
115
  const datadogLogsIndexesConfigurationDeepLink = 'https://app.datadoghq.eu/logs/pipelines/indexes';
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZ0xvZ0luZGV4TW9uaXRvcmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhZG9nL2RhdGFkb2dMb2dJbmRleE1vbml0b3JpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyQ0FBdUM7QUFDdkMscURBQW9FO0FBbURwRTs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLHlCQUEwQixTQUFRLHNCQUFTO0lBQ3RELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBcUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLDJCQUEyQixDQUFDLElBQUksRUFBRSw2QkFBNkIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1RSxJQUFJLHlCQUF5QixDQUFDLElBQUksRUFBRSwrQkFBK0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1RSxJQUFJLGtDQUFrQyxDQUFDLElBQUksRUFBRSxvQ0FBb0MsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUUxRixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUN0QixRQUFRLEVBQUUsR0FBYSxFQUFFO2dCQUN2QixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7Z0JBQ2xCLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsR0FBRyxHQUFHLEVBQUU7b0JBQzVHLE1BQU0sQ0FBQyxJQUFJLENBQUMsMkVBQTJFLENBQUMsQ0FBQztpQkFDMUY7Z0JBQ0QsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLHVCQUF1QixHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLHVCQUF1QixHQUFHLEdBQUcsRUFBRTtvQkFDeEcsTUFBTSxDQUFDLElBQUksQ0FBQyx5RUFBeUUsQ0FBQyxDQUFDO2lCQUN4RjtnQkFDRCxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsdUJBQXVCLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsRUFBRTtvQkFDL0YsTUFBTSxDQUFDLElBQUksQ0FBQyxpR0FBaUcsQ0FBQyxDQUFDO2lCQUNoSDtnQkFDRCxPQUFPLE1BQU0sQ0FBQztZQUNoQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUF2QkgsOERBd0JDOzs7QUFFRCxNQUFNLDJCQUE0QixTQUFRLCtCQUFjO0lBQ3RELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBcUM7UUFDN0UsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsb0JBQW9CLEdBQUcsT0FBUyxDQUFDLENBQUM7UUFDMUYsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixHQUFHLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzlHLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLHVCQUF1QixHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFMUcsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztZQUM3QixPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxFQUFFLDBCQUEwQjtnQkFDaEMsSUFBSSxFQUFFLGNBQWM7Z0JBQ3BCLEtBQUssRUFBRSx5R0FBeUcsS0FBSyxDQUFDLFNBQVMsc0NBQXNDLGNBQWMsRUFBRTtnQkFDckwsT0FBTyxFQUFFLG1DQUFtQyx3Q0FBd0MsQ0FDbEYsS0FBSyxDQUFDLFNBQVMsQ0FDaEIsOEJBQThCLHVDQUF1QyxFQUFFO2dCQUN4RSxPQUFPLEVBQUU7b0JBQ1AsVUFBVSxFQUFFO3dCQUNWLFFBQVEsRUFBRSxjQUFjO3dCQUN4QixPQUFPLEVBQUUsZ0JBQWdCO3FCQUMxQjtvQkFDRCxZQUFZLEVBQUUsS0FBSztvQkFDbkIsY0FBYyxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSTtvQkFDbEQsaUJBQWlCLEVBQUUsRUFBRSxHQUFHLEVBQUU7aUJBQzNCO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLHlCQUEwQixTQUFRLCtCQUFjO0lBQ3BELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBcUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztZQUM3QixPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxFQUFFLDJDQUEyQztnQkFDakQsSUFBSSxFQUFFLGNBQWM7Z0JBQ3BCLEtBQUssRUFBRSxtSEFBbUgsS0FBSyxDQUFDLFNBQVMscUtBQXFLO2dCQUM5UyxPQUFPLEVBQUUseUNBQXlDLHdDQUF3QyxDQUN4RixLQUFLLENBQUMsU0FBUyxDQUNoQixFQUFFO2dCQUNILE9BQU8sRUFBRTtvQkFDUCxZQUFZLEVBQUUsS0FBSztvQkFDbkIsY0FBYyxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSTtvQkFDbEQsaUJBQWlCLEVBQUU7d0JBQ2pCLGNBQWMsRUFBRSxVQUFVO3dCQUMxQixlQUFlLEVBQUUsVUFBVTtxQkFDNUI7aUJBQ0Y7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQUVELE1BQU0sa0NBQW1DLFNBQVEsK0JBQWM7SUFDN0QsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFxQztRQUM3RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztZQUM5QixVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO1lBQzdCLE9BQU8sRUFBRTtnQkFDUCxJQUFJLEVBQUUsbUJBQW1CO2dCQUN6QixJQUFJLEVBQUUsZ0JBQWdCO2dCQUN0QixLQUFLLEVBQUUsd0NBQXdDLEtBQUssQ0FBQyxTQUFTLHVEQUF1RDtnQkFDckgsT0FBTyxFQUFFLDBGQUEwRix1Q0FBdUMsdUVBQXVFO2dCQUNqTixPQUFPLEVBQUU7b0JBQ1AsU0FBUyxFQUFFLEVBQUU7b0JBQ2IsVUFBVSxFQUFFO3dCQUNWLFFBQVEsRUFBRSxDQUFDO3FCQUNaO2lCQUNGO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFFRCxTQUFTLHdDQUF3QyxDQUFDLFNBQWlCO0lBQ2pFLE9BQU8sdUNBQXVDLFNBQVMsRUFBRSxDQUFDO0FBQzVELENBQUM7QUFFRCxNQUFNLHVDQUF1QyxHQUFHLGlEQUFpRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBEYXRhZG9nTW9uaXRvciwgRGF0YWRvZ0FsZXJ0VHlwZSB9IGZyb20gJy4vZGF0YWRvZ01vbml0b3InO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFkb2dMb2dJbmRleE1vbml0b3JpbmdQcm9wcyB7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHlvdXIgc2VydmljZSBpbiBEYXRhZG9nLiBDYW4gYmUgdXNlZCB0byBxdWVyeSB0aGUgbW9uaXRvcnMuXG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgRGF0YWRvZyBpbmRleC5cbiAgICovXG4gIHJlYWRvbmx5IGluZGV4TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaW50ZWdyYXRpb24gdG8gdXNlIGZvciBhbGVydGluZy5cbiAgICogRm9yIE9wc0dlbmllLCB5b3UgbmVlZCB0byBpbnN0YWxsIGFuZCBjb25maWd1cmUgdGhlICdvcHNnZW5pZS1pbnRlZ3JhdGlvbicgYWNjb3VudCBtb2R1bGUuXG4gICAqL1xuICByZWFkb25seSBhbGVydFR5cGU6IERhdGFkb2dBbGVydFR5cGU7XG5cbiAgLyoqXG4gICAqIFRoZSBkYWlseSBsb2cgcXVvdGEgc2V0dGluZ3MuXG4gICAqL1xuICByZWFkb25seSBkYWlseUxvZ1F1b3RhOiBEYXRhZG9nTG9nUXVvdGFQcm9wcztcblxuICAvKipcbiAgICogVGhpcyB2YWx1ZSBzaG91bGQgYmUgdXNlZCBpZiB0aGVyZSBpcyBubyBsb2cgbWVzc2FnZSB3aXRoaW4gMjQgaG91cnMgb3IgbWlzc2luZyBoaXN0b3JpY2FsIGRhdGEuXG4gICAqIFdpdGhvdXQgc2V0dGluZyB0aGlzIHZhbHVlIGl0IHdpbGwgbGVhZCB0byBhbiBlbXB0eSByZXN1bHQgYW5kIHRoZXJlZm9yZSB0cmlnZ2VyIGFuIGFsZXJ0LlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzcGFyc2VMb2dnaW5nPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhZG9nTG9nUXVvdGFQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgZGFpbHkgbG9nIHF1b3RhIGZvciB0aGUgdGVhbS1zcGVjaWZpYyBpbmRleCBpbiBtaWxsaW9uIGV2ZW50cy5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlSW5NaWxsaW9uRXZlbnRzOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB3YXJuaW5nIHRocmVzaG9sZCBmb3IgdGhlIGRhaWx5IGxvZyBxdW90YSBtb25pdG9yIGluIHBlcmNlbnQuXG4gICAqL1xuICByZWFkb25seSB3YXJuaW5nVGhyZXNob2xkSW5QZXJjZW50OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBhbGFybSB0aHJlc2hvbGQgZm9yIHRoZSBkYWlseSBsb2cgcXVvdGEgbW9uaXRvciBpbiBwZXJjZW50LlxuICAgKiBUaGUgdmFsdWUgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDEwMCBhbmQgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSB3YXJuaW5nIHRocmVzaG9sZC5cbiAgICovXG4gIHJlYWRvbmx5IGFsZXJ0VGhyZXNob2xkSW5QZXJjZW50OiBudW1iZXI7XG59XG5cbi8qKlxuICogQmFzaWMgbW9uaXRvcmluZyBhbmQgYWxlcnRpbmcgZm9yIGEgRGF0YWRvZyBsb2dzIGluZGV4LlxuICogSXQgZm9sbG93cyB0aGUgRGF0YWRvZyBndWlkZSBhdCBodHRwczovL2RvY3MuZGF0YWRvZ2hxLmNvbS9sb2dzL2d1aWRlL2xvZ3MtbW9uaXRvcnMtb24tdm9sdW1lcy9cbiAqIGFuZCBjb25zaXN0cyBvZiB0aGUgZm9sbG93aW5nIHRocmVlIG1vbml0b3JzLlxuICogICAxLiBBIG1ldHJpYyBhbGVydCB0aGF0IGZpcmVzIHdoZW4geW91IHJlYWNoIGEgY2VydGFpbiB0aHJlc2hvbGQgb2YgeW91ciBkYWlseSBsb2cgcXVvdGEuXG4gKiAgIDIuIEFuIGFub21hbHkgbW9uaXRvciB0aGF0IGRldGVjdHMgbG9nIGFtb3VudCBzcGlrZXMuXG4gKiAgIDMuIEFuIGV2ZW50IGFsZXJ0IHRoYXQgZmlyZXMgd2hlbiB5b3UgaGl0IHRoZSBkYWlseSBsb2cgcXVvdGEuXG4gKlxuICogQSBkYXRhZG9nIGxvZyBpbmRleCBpcyB0ZWFtIHNwZWNpZmljIGFuZCB0aHVzIHRoZSBtb25pdG9yIG5lZWRzIHRvIGJlIGRlcGxveWVkIGp1c3Qgb25jZSBwZXIgaW5kZXgvdGVhbS5cbiAqL1xuZXhwb3J0IGNsYXNzIERhdGFkb2dMb2dJbmRleE1vbml0b3JpbmcgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRGF0YWRvZ0xvZ0luZGV4TW9uaXRvcmluZ1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIG5ldyBEYXRhZG9nTG9nRGFpbHlRdW90YU1vbml0b3IodGhpcywgJ0RhdGFkb2dMb2dEYWlseVF1b3RhTW9uaXRvcicsIHByb3BzKTtcbiAgICBuZXcgRGF0YWRvZ0xvZ3NBbm9tYWx5TW9uaXRvcih0aGlzLCAnRGF0YWRvZ0xvZ0FsZXJ0QW5vbWFseU1vbml0b3InLCBwcm9wcyk7XG4gICAgbmV3IERhdGFkb2dMb2dEYWlseVF1b3RhUmVhY2hlZE1vbml0b3IodGhpcywgJ0RhdGFkb2dMb2dEYWlseVF1b3RhUmVhY2hlZE1vbml0b3InLCBwcm9wcyk7XG5cbiAgICB0aGlzLm5vZGUuYWRkVmFsaWRhdGlvbih7XG4gICAgICB2YWxpZGF0ZTogKCk6IHN0cmluZ1tdID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICAgIGlmIChwcm9wcy5kYWlseUxvZ1F1b3RhLndhcm5pbmdUaHJlc2hvbGRJblBlcmNlbnQgPCAwIHx8IHByb3BzLmRhaWx5TG9nUXVvdGEud2FybmluZ1RocmVzaG9sZEluUGVyY2VudCA+IDEwMCkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFt3YXJuaW5nVGhyZXNob2xkSW5QZXJjZW50XTogZXhwZWN0aW5nIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMTAwJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByb3BzLmRhaWx5TG9nUXVvdGEuYWxlcnRUaHJlc2hvbGRJblBlcmNlbnQgPCAwIHx8IHByb3BzLmRhaWx5TG9nUXVvdGEuYWxlcnRUaHJlc2hvbGRJblBlcmNlbnQgPiAxMDApIHtcbiAgICAgICAgICByZXN1bHQucHVzaCgnSW52YWxpZCBbYWxlcnRUaHJlc2hvbGRJblBlcmNlbnRdOiBleHBlY3RpbmcgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxMDAnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvcHMuZGFpbHlMb2dRdW90YS5hbGVydFRocmVzaG9sZEluUGVyY2VudCA8IHByb3BzLmRhaWx5TG9nUXVvdGEud2FybmluZ1RocmVzaG9sZEluUGVyY2VudCkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFthbGVydFRocmVzaG9sZEluUGVyY2VudF06IG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIFt3YXJuaW5nVGhyZXNob2xkSW5QZXJjZW50XScpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbmNsYXNzIERhdGFkb2dMb2dEYWlseVF1b3RhTW9uaXRvciBleHRlbmRzIERhdGFkb2dNb25pdG9yIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFkb2dMb2dJbmRleE1vbml0b3JpbmdQcm9wcykge1xuICAgIGNvbnN0IGxvZ1F1b3RhSW5FdmVudHMgPSBNYXRoLmZsb29yKHByb3BzLmRhaWx5TG9nUXVvdGEudmFsdWVJbk1pbGxpb25FdmVudHMgKiAxXzAwMF8wMDApO1xuICAgIGNvbnN0IHdhcm5pbmdUaHJlc2hvbGQgPSBNYXRoLmZsb29yKGxvZ1F1b3RhSW5FdmVudHMgKiAocHJvcHMuZGFpbHlMb2dRdW90YS53YXJuaW5nVGhyZXNob2xkSW5QZXJjZW50IC8gMTAwKSk7XG4gICAgY29uc3QgYWxlcnRUaHJlc2hvbGQgPSBNYXRoLmZsb29yKGxvZ1F1b3RhSW5FdmVudHMgKiAocHJvcHMuZGFpbHlMb2dRdW90YS5hbGVydFRocmVzaG9sZEluUGVyY2VudCAvIDEwMCkpO1xuXG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBzZXJ2aWNlTmFtZTogcHJvcHMuc2VydmljZU5hbWUsXG4gICAgICBhbGVydFR5cGVzOiBbcHJvcHMuYWxlcnRUeXBlXSxcbiAgICAgIG1vbml0b3I6IHtcbiAgICAgICAgbmFtZTogJ0xvZyBxdW90YSBhbG1vc3QgcmVhY2hlZCcsXG4gICAgICAgIHR5cGU6ICdtZXRyaWMgYWxlcnQnLFxuICAgICAgICBxdWVyeTogYHN1bShsYXN0XzVtKTpzdW06ZGF0YWRvZy5lc3RpbWF0ZWRfdXNhZ2UubG9ncy5pbmdlc3RlZF9ldmVudHN7ZGF0YWRvZ19pc19leGNsdWRlZDpmYWxzZSxkYXRhZG9nX2luZGV4OiR7cHJvcHMuaW5kZXhOYW1lfX0uYXNfY291bnQoKS5yb2xsdXAoc3VtLCA4NjQwMCkgPj0gJHthbGVydFRocmVzaG9sZH1gLFxuICAgICAgICBtZXNzYWdlOiBgW1AzXSBJbnNwZWN0IHlvdXIgbG9nIHZvbHVtZSBhdCAke2RhdGFkb2dMb2dzU2VhcmNoV2l0aEluZGV4RmlsdGVyRGVlcExpbmsoXG4gICAgICAgICAgcHJvcHMuaW5kZXhOYW1lLFxuICAgICAgICApfSBvciBhZGFwdCB0aGUgbG9nIHF1b3RhIGF0ICR7ZGF0YWRvZ0xvZ3NJbmRleGVzQ29uZmlndXJhdGlvbkRlZXBMaW5rfWAsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICB0aHJlc2hvbGRzOiB7XG4gICAgICAgICAgICBjcml0aWNhbDogYWxlcnRUaHJlc2hvbGQsXG4gICAgICAgICAgICB3YXJuaW5nOiB3YXJuaW5nVGhyZXNob2xkLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgaW5jbHVkZV90YWdzOiBmYWxzZSxcbiAgICAgICAgICBub3RpZnlfbm9fZGF0YTogcHJvcHMuc3BhcnNlTG9nZ2luZyA/IGZhbHNlIDogdHJ1ZSxcbiAgICAgICAgICBub19kYXRhX3RpbWVmcmFtZTogMjQgKiA2MCwgLy8gMSBkYXlcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuY2xhc3MgRGF0YWRvZ0xvZ3NBbm9tYWx5TW9uaXRvciBleHRlbmRzIERhdGFkb2dNb25pdG9yIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFkb2dMb2dJbmRleE1vbml0b3JpbmdQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgYWxlcnRUeXBlczogW3Byb3BzLmFsZXJ0VHlwZV0sXG4gICAgICBtb25pdG9yOiB7XG4gICAgICAgIG5hbWU6ICdMb2cgYW1vdW50IGlzIHJpc2luZyB0byB1bmV4cGVjdGVkIGxldmVscycsXG4gICAgICAgIHR5cGU6ICdtZXRyaWMgYWxlcnQnLFxuICAgICAgICBxdWVyeTogYGF2ZyhsYXN0XzRoKTphbm9tYWxpZXMoc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLmxvZ3MuaW5nZXN0ZWRfZXZlbnRze2RhdGFkb2dfaXNfZXhjbHVkZWQ6ZmFsc2UsZGF0YWRvZ19pbmRleDoke3Byb3BzLmluZGV4TmFtZX19LmFzX2NvdW50KCksICdyb2J1c3QnLCAyLCBkaXJlY3Rpb249J2Fib3ZlJywgYWxlcnRfd2luZG93PSdsYXN0XzE1bScsIGludGVydmFsPTYwLCBjb3VudF9kZWZhdWx0X3plcm89J3RydWUnLCBzZWFzb25hbGl0eT0nd2Vla2x5JywgdGltZXpvbmU9J2V1cm9wZS9iZXJsaW4nKSA+PSAxYCxcbiAgICAgICAgbWVzc2FnZTogYFtQNF0gTG9ncyBhcmUgZ2V0dGluZyBvdXQgb2YgY29udHJvbDogJHtkYXRhZG9nTG9nc1NlYXJjaFdpdGhJbmRleEZpbHRlckRlZXBMaW5rKFxuICAgICAgICAgIHByb3BzLmluZGV4TmFtZSxcbiAgICAgICAgKX1gLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgaW5jbHVkZV90YWdzOiBmYWxzZSxcbiAgICAgICAgICBub3RpZnlfbm9fZGF0YTogcHJvcHMuc3BhcnNlTG9nZ2luZyA/IGZhbHNlIDogdHJ1ZSxcbiAgICAgICAgICB0aHJlc2hvbGRfd2luZG93czoge1xuICAgICAgICAgICAgdHJpZ2dlcl93aW5kb3c6ICdsYXN0XzE1bScsXG4gICAgICAgICAgICByZWNvdmVyeV93aW5kb3c6ICdsYXN0XzE1bScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuY2xhc3MgRGF0YWRvZ0xvZ0RhaWx5UXVvdGFSZWFjaGVkTW9uaXRvciBleHRlbmRzIERhdGFkb2dNb25pdG9yIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFkb2dMb2dJbmRleE1vbml0b3JpbmdQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgYWxlcnRUeXBlczogW3Byb3BzLmFsZXJ0VHlwZV0sXG4gICAgICBtb25pdG9yOiB7XG4gICAgICAgIG5hbWU6ICdMb2cgcXVvdGEgcmVhY2hlZCcsXG4gICAgICAgIHR5cGU6ICdldmVudC12MiBhbGVydCcsXG4gICAgICAgIHF1ZXJ5OiBgZXZlbnRzKFwic291cmNlOmRhdGFkb2cgZGF0YWRvZ19pbmRleDoke3Byb3BzLmluZGV4TmFtZX0gRGFpbHkgcXVvdGEgcmVhY2hlZFwiKS5yb2xsdXAoXCJjb3VudFwiKS5sYXN0KFwiNW1cIikgPiAwYCxcbiAgICAgICAgbWVzc2FnZTogYFtQMl0gVGhlIGxvZyBxdW90ZSBmb3IgdGhlIGluZGV4IGhhcyBiZWVuIHJlYWNoZWQuIElmIHlvdSBkbyBub3QgaW5jcmVhc2UgdGhlIHF1b3RhIGF0ICR7ZGF0YWRvZ0xvZ3NJbmRleGVzQ29uZmlndXJhdGlvbkRlZXBMaW5rfSwgbm8gbmV3IGxvZ3Mgd2lsbCBiZSBpbmRleGVkIHVudGlsIHRoZSBxdW90YSBpcyByZXNldCBhdCAyOjAwcG0gVVRDLmAsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICB0aW1lb3V0X2g6IDI0LFxuICAgICAgICAgIHRocmVzaG9sZHM6IHtcbiAgICAgICAgICAgIGNyaXRpY2FsOiAwLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRhdGFkb2dMb2dzU2VhcmNoV2l0aEluZGV4RmlsdGVyRGVlcExpbmsoaW5kZXhOYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGBodHRwczovL2FwcC5kYXRhZG9naHEuZXUvbG9ncz9pbmRleD0ke2luZGV4TmFtZX1gO1xufVxuXG5jb25zdCBkYXRhZG9nTG9nc0luZGV4ZXNDb25maWd1cmF0aW9uRGVlcExpbmsgPSAnaHR0cHM6Ly9hcHAuZGF0YWRvZ2hxLmV1L2xvZ3MvcGlwZWxpbmVzL2luZGV4ZXMnO1xuIl19
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZ0xvZ0luZGV4TW9uaXRvcmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhZG9nL2RhdGFkb2dMb2dJbmRleE1vbml0b3JpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyQ0FBdUM7QUFDdkMscURBQW9FO0FBbURwRTs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLHlCQUEwQixTQUFRLHNCQUFTO0lBQ3RELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBcUM7UUFDN0UsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLDJCQUEyQixDQUFDLElBQUksRUFBRSw2QkFBNkIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1RSxJQUFJLHlCQUF5QixDQUFDLElBQUksRUFBRSwrQkFBK0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1RSxJQUFJLGtDQUFrQyxDQUFDLElBQUksRUFBRSxzQ0FBc0MsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUU1RixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUN0QixRQUFRLEVBQUUsR0FBYSxFQUFFO2dCQUN2QixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7Z0JBQ2xCLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsR0FBRyxHQUFHLEVBQUU7b0JBQzVHLE1BQU0sQ0FBQyxJQUFJLENBQUMsMkVBQTJFLENBQUMsQ0FBQztpQkFDMUY7Z0JBQ0QsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLHVCQUF1QixHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLHVCQUF1QixHQUFHLEdBQUcsRUFBRTtvQkFDeEcsTUFBTSxDQUFDLElBQUksQ0FBQyx5RUFBeUUsQ0FBQyxDQUFDO2lCQUN4RjtnQkFDRCxJQUFJLEtBQUssQ0FBQyxhQUFh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RUFBRSxtQkFBbUI7Z0JBQ3pCLElBQUksRUFBRSxnQkFBZ0I7Z0JBQ3RCLEtBQUssRUFBRSx3Q0FBd0MsS0FBSyxDQUFDLFNBQVMsdURBQXVEO2dCQUNySCxPQUFPLEVBQUUsMEZBQTBGLHVDQUF1Qyx1RUFBdUU7Z0JBQ2pOLE9BQU8sRUFBRTtvQkFDUCxTQUFTLEVBQUUsRUFBRTtvQkFDYixVQUFVLEVBQUU7d0JBQ1YsUUFBUSxFQUFFLENBQUM7cUJBQ1o7aUJBQ0Y7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQUVELFNBQVMsd0NBQXdDLENBQUMsU0FBaUI7SUFDakUsT0FBTyx1Q0FBdUMsU0FBUyxFQUFFLENBQUM7QUFDNUQsQ0FBQztBQUVELE1BQU0sdUNBQXVDLEdBQUcsaURBQWlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IERhdGFkb2dNb25pdG9yLCBEYXRhZG9nQWxlcnRUeXBlIH0gZnJvbSAnLi9kYXRhZG9nTW9uaXRvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YWRvZ0xvZ0luZGV4TW9uaXRvcmluZ1Byb3BzIHtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgeW91ciBzZXJ2aWNlIGluIERhdGFkb2cuIENhbiBiZSB1c2VkIHRvIHF1ZXJ5IHRoZSBtb25pdG9ycy5cbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBEYXRhZG9nIGluZGV4LlxuICAgKi9cbiAgcmVhZG9ubHkgaW5kZXhOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpbnRlZ3JhdGlvbiB0byB1c2UgZm9yIGFsZXJ0aW5nLlxuICAgKiBGb3IgT3BzR2VuaWUsIHlvdSBuZWVkIHRvIGluc3RhbGwgYW5kIGNvbmZpZ3VyZSB0aGUgJ29wc2dlbmllLWludGVncmF0aW9uJyBhY2NvdW50IG1vZHVsZS5cbiAgICovXG4gIHJlYWRvbmx5IGFsZXJ0VHlwZTogRGF0YWRvZ0FsZXJ0VHlwZTtcblxuICAvKipcbiAgICogVGhlIGRhaWx5IGxvZyBxdW90YSBzZXR0aW5ncy5cbiAgICovXG4gIHJlYWRvbmx5IGRhaWx5TG9nUXVvdGE6IERhdGFkb2dMb2dRdW90YVByb3BzO1xuXG4gIC8qKlxuICAgKiBUaGlzIHZhbHVlIHNob3VsZCBiZSB1c2VkIGlmIHRoZXJlIGlzIG5vIGxvZyBtZXNzYWdlIHdpdGhpbiAyNCBob3VycyBvciBtaXNzaW5nIGhpc3RvcmljYWwgZGF0YS5cbiAgICogV2l0aG91dCBzZXR0aW5nIHRoaXMgdmFsdWUgaXQgd2lsbCBsZWFkIHRvIGFuIGVtcHR5IHJlc3VsdCBhbmQgdGhlcmVmb3JlIHRyaWdnZXIgYW4gYWxlcnQuXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHNwYXJzZUxvZ2dpbmc/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFkb2dMb2dRdW90YVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBkYWlseSBsb2cgcXVvdGEgZm9yIHRoZSB0ZWFtLXNwZWNpZmljIGluZGV4IGluIG1pbGxpb24gZXZlbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWVJbk1pbGxpb25FdmVudHM6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHdhcm5pbmcgdGhyZXNob2xkIGZvciB0aGUgZGFpbHkgbG9nIHF1b3RhIG1vbml0b3IgaW4gcGVyY2VudC5cbiAgICovXG4gIHJlYWRvbmx5IHdhcm5pbmdUaHJlc2hvbGRJblBlcmNlbnQ6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGFsYXJtIHRocmVzaG9sZCBmb3IgdGhlIGRhaWx5IGxvZyBxdW90YSBtb25pdG9yIGluIHBlcmNlbnQuXG4gICAqIFRoZSB2YWx1ZSBtdXN0IGJlIGJldHdlZW4gMCBhbmQgMTAwIGFuZCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHdhcm5pbmcgdGhyZXNob2xkLlxuICAgKi9cbiAgcmVhZG9ubHkgYWxlcnRUaHJlc2hvbGRJblBlcmNlbnQ6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBCYXNpYyBtb25pdG9yaW5nIGFuZCBhbGVydGluZyBmb3IgYSBEYXRhZG9nIGxvZ3MgaW5kZXguXG4gKiBJdCBmb2xsb3dzIHRoZSBEYXRhZG9nIGd1aWRlIGF0IGh0dHBzOi8vZG9jcy5kYXRhZG9naHEuY29tL2xvZ3MvZ3VpZGUvbG9ncy1tb25pdG9ycy1vbi12b2x1bWVzL1xuICogYW5kIGNvbnNpc3RzIG9mIHRoZSBmb2xsb3dpbmcgdGhyZWUgbW9uaXRvcnMuXG4gKiAgIDEuIEEgbWV0cmljIGFsZXJ0IHRoYXQgZmlyZXMgd2hlbiB5b3UgcmVhY2ggYSBjZXJ0YWluIHRocmVzaG9sZCBvZiB5b3VyIGRhaWx5IGxvZyBxdW90YS5cbiAqICAgMi4gQW4gYW5vbWFseSBtb25pdG9yIHRoYXQgZGV0ZWN0cyBsb2cgYW1vdW50IHNwaWtlcy5cbiAqICAgMy4gQW4gZXZlbnQgYWxlcnQgdGhhdCBmaXJlcyB3aGVuIHlvdSBoaXQgdGhlIGRhaWx5IGxvZyBxdW90YS5cbiAqXG4gKiBBIGRhdGFkb2cgbG9nIGluZGV4IGlzIHRlYW0gc3BlY2lmaWMgYW5kIHRodXMgdGhlIG1vbml0b3IgbmVlZHMgdG8gYmUgZGVwbG95ZWQganVzdCBvbmNlIHBlciBpbmRleC90ZWFtLlxuICovXG5leHBvcnQgY2xhc3MgRGF0YWRvZ0xvZ0luZGV4TW9uaXRvcmluZyBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhZG9nTG9nSW5kZXhNb25pdG9yaW5nUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgbmV3IERhdGFkb2dMb2dEYWlseVF1b3RhTW9uaXRvcih0aGlzLCAnRGF0YWRvZ0xvZ0RhaWx5UXVvdGFNb25pdG9yJywgcHJvcHMpO1xuICAgIG5ldyBEYXRhZG9nTG9nc0Fub21hbHlNb25pdG9yKHRoaXMsICdEYXRhZG9nTG9nQWxlcnRBbm9tYWx5TW9uaXRvcicsIHByb3BzKTtcbiAgICBuZXcgRGF0YWRvZ0xvZ0RhaWx5UXVvdGFSZWFjaGVkTW9uaXRvcih0aGlzLCAnRGF0YWRvZ0xvZ0RhaWx5UXVvdGFSZWFjaGVkVjJNb25pdG9yJywgcHJvcHMpO1xuXG4gICAgdGhpcy5ub2RlLmFkZFZhbGlkYXRpb24oe1xuICAgICAgdmFsaWRhdGU6ICgpOiBzdHJpbmdbXSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgICBpZiAocHJvcHMuZGFpbHlMb2dRdW90YS53YXJuaW5nVGhyZXNob2xkSW5QZXJjZW50IDwgMCB8fCBwcm9wcy5kYWlseUxvZ1F1b3RhLndhcm5pbmdUaHJlc2hvbGRJblBlcmNlbnQgPiAxMDApIHtcbiAgICAgICAgICByZXN1bHQucHVzaCgnSW52YWxpZCBbd2FybmluZ1RocmVzaG9sZEluUGVyY2VudF06IGV4cGVjdGluZyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEwMCcpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwcm9wcy5kYWlseUxvZ1F1b3RhLmFsZXJ0VGhyZXNob2xkSW5QZXJjZW50IDwgMCB8fCBwcm9wcy5kYWlseUxvZ1F1b3RhLmFsZXJ0VGhyZXNob2xkSW5QZXJjZW50ID4gMTAwKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goJ0ludmFsaWQgW2FsZXJ0VGhyZXNob2xkSW5QZXJjZW50XTogZXhwZWN0aW5nIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMTAwJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByb3BzLmRhaWx5TG9nUXVvdGEuYWxlcnRUaHJlc2hvbGRJblBlcmNlbnQgPCBwcm9wcy5kYWlseUxvZ1F1b3RhLndhcm5pbmdUaHJlc2hvbGRJblBlcmNlbnQpIHtcbiAgICAgICAgICByZXN1bHQucHVzaCgnSW52YWxpZCBbYWxlcnRUaHJlc2hvbGRJblBlcmNlbnRdOiBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBbd2FybmluZ1RocmVzaG9sZEluUGVyY2VudF0nKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuXG5jbGFzcyBEYXRhZG9nTG9nRGFpbHlRdW90YU1vbml0b3IgZXh0ZW5kcyBEYXRhZG9nTW9uaXRvciB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhZG9nTG9nSW5kZXhNb25pdG9yaW5nUHJvcHMpIHtcbiAgICBjb25zdCBsb2dRdW90YUluRXZlbnRzID0gTWF0aC5mbG9vcihwcm9wcy5kYWlseUxvZ1F1b3RhLnZhbHVlSW5NaWxsaW9uRXZlbnRzICogMV8wMDBfMDAwKTtcbiAgICBjb25zdCB3YXJuaW5nVGhyZXNob2xkID0gTWF0aC5mbG9vcihsb2dRdW90YUluRXZlbnRzICogKHByb3BzLmRhaWx5TG9nUXVvdGEud2FybmluZ1RocmVzaG9sZEluUGVyY2VudCAvIDEwMCkpO1xuICAgIGNvbnN0IGFsZXJ0VGhyZXNob2xkID0gTWF0aC5mbG9vcihsb2dRdW90YUluRXZlbnRzICogKHByb3BzLmRhaWx5TG9nUXVvdGEuYWxlcnRUaHJlc2hvbGRJblBlcmNlbnQgLyAxMDApKTtcblxuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgYWxlcnRUeXBlczogW3Byb3BzLmFsZXJ0VHlwZV0sXG4gICAgICBtb25pdG9yOiB7XG4gICAgICAgIG5hbWU6ICdMb2cgcXVvdGEgYWxtb3N0IHJlYWNoZWQnLFxuICAgICAgICB0eXBlOiAnbWV0cmljIGFsZXJ0JyxcbiAgICAgICAgcXVlcnk6IGBzdW0obGFzdF8xZCk6c3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLmxvZ3MuaW5nZXN0ZWRfZXZlbnRze2RhdGFkb2dfaXNfZXhjbHVkZWQ6ZmFsc2UsZGF0YWRvZ19pbmRleDoke3Byb3BzLmluZGV4TmFtZX19LmFzX2NvdW50KCkgPj0gJHthbGVydFRocmVzaG9sZH1gLFxuICAgICAgICBtZXNzYWdlOiBgW1AzXSBJbnNwZWN0IHlvdXIgbG9nIHZvbHVtZSBhdCAke2RhdGFkb2dMb2dzU2VhcmNoV2l0aEluZGV4RmlsdGVyRGVlcExpbmsoXG4gICAgICAgICAgcHJvcHMuaW5kZXhOYW1lLFxuICAgICAgICApfSBvciBhZGFwdCB0aGUgbG9nIHF1b3RhIGF0ICR7ZGF0YWRvZ0xvZ3NJbmRleGVzQ29uZmlndXJhdGlvbkRlZXBMaW5rfWAsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICB0aHJlc2hvbGRzOiB7XG4gICAgICAgICAgICBjcml0aWNhbDogYWxlcnRUaHJlc2hvbGQsXG4gICAgICAgICAgICB3YXJuaW5nOiB3YXJuaW5nVGhyZXNob2xkLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgaW5jbHVkZV90YWdzOiBmYWxzZSxcbiAgICAgICAgICBub3RpZnlfbm9fZGF0YTogIXByb3BzLnNwYXJzZUxvZ2dpbmcsXG4gICAgICAgICAgbm9fZGF0YV90aW1lZnJhbWU6IDI0ICogNjAsIC8vIDEgZGF5XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbmNsYXNzIERhdGFkb2dMb2dzQW5vbWFseU1vbml0b3IgZXh0ZW5kcyBEYXRhZG9nTW9uaXRvciB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhZG9nTG9nSW5kZXhNb25pdG9yaW5nUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHNlcnZpY2VOYW1lOiBwcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgIGFsZXJ0VHlwZXM6IFtwcm9wcy5hbGVydFR5cGVdLFxuICAgICAgbW9uaXRvcjoge1xuICAgICAgICBuYW1lOiAnTG9nIGFtb3VudCBpcyByaXNpbmcgdG8gdW5leHBlY3RlZCBsZXZlbHMnLFxuICAgICAgICB0eXBlOiAnbWV0cmljIGFsZXJ0JyxcbiAgICAgICAgcXVlcnk6IGBhdmcobGFzdF80aCk6YW5vbWFsaWVzKHN1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5sb2dzLmluZ2VzdGVkX2V2ZW50c3tkYXRhZG9nX2lzX2V4Y2x1ZGVkOmZhbHNlLGRhdGFkb2dfaW5kZXg6JHtwcm9wcy5pbmRleE5hbWV9fS5hc19jb3VudCgpLCAncm9idXN0JywgMiwgZGlyZWN0aW9uPSdhYm92ZScsIGFsZXJ0X3dpbmRvdz0nbGFzdF8xNW0nLCBpbnRlcnZhbD02MCwgY291bnRfZGVmYXVsdF96ZXJvPSd0cnVlJywgc2Vhc29uYWxpdHk9J3dlZWtseScsIHRpbWV6b25lPSdldXJvcGUvYmVybGluJykgPj0gMWAsXG4gICAgICAgIG1lc3NhZ2U6IGBbUDRdIExvZ3MgYXJlIGdldHRpbmcgb3V0IG9mIGNvbnRyb2w6ICR7ZGF0YWRvZ0xvZ3NTZWFyY2hXaXRoSW5kZXhGaWx0ZXJEZWVwTGluayhcbiAgICAgICAgICBwcm9wcy5pbmRleE5hbWUsXG4gICAgICAgICl9YCxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIGluY2x1ZGVfdGFnczogZmFsc2UsXG4gICAgICAgICAgbm90aWZ5X25vX2RhdGE6ICFwcm9wcy5zcGFyc2VMb2dnaW5nLFxuICAgICAgICAgIHRocmVzaG9sZF93aW5kb3dzOiB7XG4gICAgICAgICAgICB0cmlnZ2VyX3dpbmRvdzogJ2xhc3RfMTVtJyxcbiAgICAgICAgICAgIHJlY292ZXJ5X3dpbmRvdzogJ2xhc3RfMTVtJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuXG5jbGFzcyBEYXRhZG9nTG9nRGFpbHlRdW90YVJlYWNoZWRNb25pdG9yIGV4dGVuZHMgRGF0YWRvZ01vbml0b3Ige1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRGF0YWRvZ0xvZ0luZGV4TW9uaXRvcmluZ1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBzZXJ2aWNlTmFtZTogcHJvcHMuc2VydmljZU5hbWUsXG4gICAgICBhbGVydFR5cGVzOiBbcHJvcHMuYWxlcnRUeXBlXSxcbiAgICAgIG1vbml0b3I6IHtcbiAgICAgICAgbmFtZTogJ0xvZyBxdW90YSByZWFjaGVkJyxcbiAgICAgICAgdHlwZTogJ2V2ZW50LXYyIGFsZXJ0JyxcbiAgICAgICAgcXVlcnk6IGBldmVudHMoXCJzb3VyY2U6ZGF0YWRvZyBkYXRhZG9nX2luZGV4OiR7cHJvcHMuaW5kZXhOYW1lfSBEYWlseSBxdW90YSByZWFjaGVkXCIpLnJvbGx1cChcImNvdW50XCIpLmxhc3QoXCI1bVwiKSA+IDBgLFxuICAgICAgICBtZXNzYWdlOiBgW1AyXSBUaGUgbG9nIHF1b3RlIGZvciB0aGUgaW5kZXggaGFzIGJlZW4gcmVhY2hlZC4gSWYgeW91IGRvIG5vdCBpbmNyZWFzZSB0aGUgcXVvdGEgYXQgJHtkYXRhZG9nTG9nc0luZGV4ZXNDb25maWd1cmF0aW9uRGVlcExpbmt9LCBubyBuZXcgbG9ncyB3aWxsIGJlIGluZGV4ZWQgdW50aWwgdGhlIHF1b3RhIGlzIHJlc2V0IGF0IDI6MDBwbSBVVEMuYCxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHRpbWVvdXRfaDogMjQsXG4gICAgICAgICAgdGhyZXNob2xkczoge1xuICAgICAgICAgICAgY3JpdGljYWw6IDAsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZGF0YWRvZ0xvZ3NTZWFyY2hXaXRoSW5kZXhGaWx0ZXJEZWVwTGluayhpbmRleE5hbWU6IHN0cmluZykge1xuICByZXR1cm4gYGh0dHBzOi8vYXBwLmRhdGFkb2docS5ldS9sb2dzP2luZGV4PSR7aW5kZXhOYW1lfWA7XG59XG5cbmNvbnN0IGRhdGFkb2dMb2dzSW5kZXhlc0NvbmZpZ3VyYXRpb25EZWVwTGluayA9ICdodHRwczovL2FwcC5kYXRhZG9naHEuZXUvbG9ncy9waXBlbGluZXMvaW5kZXhlcyc7XG4iXX0=
@@ -53,6 +53,7 @@ export declare class WatchLambdaFunction extends Construct {
53
53
  private readonly watchful;
54
54
  private readonly fn;
55
55
  constructor(scope: Construct, id: string, props: WatchLambdaFunctionProps);
56
+ private createLogErrorMonitor;
56
57
  private createErrorsMonitor;
57
58
  private createThrottlesMonitor;
58
59
  private createDurationMonitor;
@@ -3,8 +3,10 @@ var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.WatchLambdaFunction = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
6
7
  const cw = require("aws-cdk-lib/aws-cloudwatch");
7
8
  const constructs_1 = require("constructs");
9
+ const datadog_log_alarm_1 = require("./datadog-log-alarm");
8
10
  const DEFAULT_DURATION_THRESHOLD_PERCENT = 80;
9
11
  /**
10
12
  * A Construct which creates the following alarms for lambda functions:
@@ -23,6 +25,21 @@ class WatchLambdaFunction extends constructs_1.Construct {
23
25
  this.watchful.createAlarm(this, 'Errors', this.createErrorsMonitor(props.errorsPerMinuteThreshold));
24
26
  this.watchful.createAlarm(this, 'Throttles', this.createThrottlesMonitor(props.throttlesPerMinuteThreshold));
25
27
  this.watchful.createAlarm(this, 'Duration', this.createDurationMonitor(timeoutSec, props.durationThresholdPercent));
28
+ this.watchful.createLogAlarm(this, 'LogErrorMonitor', this.createLogErrorMonitor());
29
+ }
30
+ createLogErrorMonitor() {
31
+ return {
32
+ autoCloseOpsGenieAlerts: true,
33
+ period: aws_cdk_lib_1.Duration.minutes(5),
34
+ unitOfPeriod: datadog_log_alarm_1.UnitOfPeriod.MINUTES,
35
+ periodOperator: datadog_log_alarm_1.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD,
36
+ statistic: 'count',
37
+ queryFilters: 'error',
38
+ alarmDescription: 'Auto-generated alert for Lambda error logs',
39
+ threshold: 1,
40
+ priority: 3,
41
+ index: '*',
42
+ };
26
43
  }
27
44
  createErrorsMonitor(errorsPerMinuteThreshold = 0) {
28
45
  const fn = this.fn;
@@ -62,4 +79,4 @@ class WatchLambdaFunction extends constructs_1.Construct {
62
79
  exports.WatchLambdaFunction = WatchLambdaFunction;
63
80
  _a = JSII_RTTI_SYMBOL_1;
64
81
  WatchLambdaFunction[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.WatchLambdaFunction", version: "0.0.0" };
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dhdGNoZnVsL2xhbWJkYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlEQUFpRDtBQUVqRCwyQ0FBdUM7QUFJdkMsTUFBTSxrQ0FBa0MsR0FBRyxFQUFFLENBQUM7QUFnRDlDOzs7Ozs7R0FNRztBQUNILE1BQWEsbUJBQW9CLFNBQVEsc0JBQVM7SUFJaEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUErQjtRQUN2RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQWtDLENBQUM7UUFDckUsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUVuQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDO1FBQ3BHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUM7UUFDN0csSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUM1QixVQUFVLEVBQ1YsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FDdkUsQ0FBQztJQUNKLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyx3QkFBd0IsR0FBRyxDQUFDO1FBQ3RELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbkIsTUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3ZDLE9BQU87WUFDTCxNQUFNLEVBQUUsWUFBWTtZQUNwQixnQkFBZ0IsRUFBRSxRQUFRLHdCQUF3QixvQkFBb0I7WUFDdEUsU0FBUyxFQUFFLHdCQUF3QjtZQUNuQyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCO1lBQ2hFLGlCQUFpQixFQUFFLENBQUM7U0FDckIsQ0FBQztJQUNKLENBQUM7SUFFTyxzQkFBc0IsQ0FBQywyQkFBMkIsR0FBRyxDQUFDO1FBQzVELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbkIsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzdDLE9BQU87WUFDTCxNQUFNLEVBQUUsZUFBZTtZQUN2QixnQkFBZ0IsRUFBRSxRQUFRLDJCQUEyQix1QkFBdUI7WUFDNUUsU0FBUyxFQUFFLDJCQUEyQjtZQUN0QyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCO1lBQ2hFLGlCQUFpQixFQUFFLENBQUM7U0FDckIsQ0FBQztJQUNKLENBQUM7SUFFTyxxQkFBcUIsQ0FDM0IsVUFBa0IsRUFDbEIsMkJBQW1DLGtDQUFrQztRQUVyRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ25CLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMzQyxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyx3QkFBd0IsR0FBRyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQztRQUN2RixPQUFPO1lBQ0wsTUFBTSxFQUFFLGNBQWM7WUFDdEIsZ0JBQWdCLEVBQUUsa0JBQWtCLG9CQUFvQixNQUFNLHdCQUF3QixJQUFJO1lBQzFGLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0I7WUFDaEUsU0FBUyxFQUFFLG9CQUFvQixHQUFHLElBQUk7WUFDdEMsaUJBQWlCLEVBQUUsQ0FBQztTQUNyQixDQUFDO0lBQ0osQ0FBQzs7QUEzREgsa0RBNERDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY3cgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBNZXRyaWNBbGFybVByb3BzIH0gZnJvbSAnLi9tZXRyaWMtYWxhcm0nO1xuaW1wb3J0IHsgSVdhdGNoZnVsIH0gZnJvbSAnLi93YXRjaGZ1bCc7XG5cbmNvbnN0IERFRkFVTFRfRFVSQVRJT05fVEhSRVNIT0xEX1BFUkNFTlQgPSA4MDtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBkZWZpbmluZyBhbGFybXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2F0Y2hMYW1iZGFGdW5jdGlvbk9wdGlvbnMge1xuICAvKipcbiAgICAgKiBOdW1iZXIgb2YgYWxsb3dlZCBlcnJvcnMgcGVyIG1pbnV0ZS4gSWYgdGhlcmUgYXJlIG1vcmUgZXJyb3JzIHRoYW4gdGhhdCwgYW4gYWxhcm0gd2lsbCB0cmlnZ2VyLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgMFxuICAgICAqL1xuICByZWFkb25seSBlcnJvcnNQZXJNaW51dGVUaHJlc2hvbGQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAgICogTnVtYmVyIG9mIGFsbG93ZWQgdGhyb3R0bGVzIHBlciBtaW51dGUuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gIHJlYWRvbmx5IHRocm90dGxlc1Blck1pbnV0ZVRocmVzaG9sZD86IG51bWJlcjtcblxuICAvKipcbiAgICAgKiBUaHJlc2hvbGQgZm9yIHRoZSBkdXJhdGlvbiBhbGFybSBhcyBwZXJjZW50YWdlIG9mIHRoZSBmdW5jdGlvbidzIHRpbWVvdXRcbiAgICAgKiB2YWx1ZS5cbiAgICAgKlxuICAgICAqIElmIHRoaXMgaXMgc2V0IHRvIDUwJSwgdGhlIGFsYXJtIHdpbGwgYmUgc2V0IHdoZW4gcDk5IGxhdGVuY3kgb2YgdGhlXG4gICAgICogZnVuY3Rpb24gZXhjZWVkcyA1MCUgb2YgdGhlIGZ1bmN0aW9uJ3MgdGltZW91dCBzZXR0aW5nLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgODBcbiAgICAgKi9cbiAgcmVhZG9ubHkgZHVyYXRpb25UaHJlc2hvbGRQZXJjZW50PzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGRlZmluaW5nIGEgV2F0Y2hMYW1iZGFGdW5jdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdhdGNoTGFtYmRhRnVuY3Rpb25Qcm9wcyBleHRlbmRzIFdhdGNoTGFtYmRhRnVuY3Rpb25PcHRpb25zIHtcbiAgLyoqXG4gICAgICogVGhlIHJlZmVyZW5jZSB0byBJV2F0Y2hmdWwgY2xhc3MuIFVzZWQgaW50ZXJuYWxseS5cbiAgICAgKi9cbiAgcmVhZG9ubHkgd2F0Y2hmdWw6IElXYXRjaGZ1bDtcblxuICAvKipcbiAgICAgKiBUaGUgbGFtYmRhIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIHdhdGNoZWQuXG4gICAgICogW2Rpc2FibGUtYXdzbGludDpyZWYtdmlhLWludGVyZmFjZV1cbiAgICAgKi9cbiAgcmVhZG9ubHkgZm46IGxhbWJkYS5GdW5jdGlvbjtcbn1cblxuLyoqXG4gKiBBIENvbnN0cnVjdCB3aGljaCBjcmVhdGVzIHRoZSBmb2xsb3dpbmcgYWxhcm1zIGZvciBsYW1iZGEgZnVuY3Rpb25zOlxuICpcbiAqIC0gZXJyb3JzXG4gKiAtIHRocm90dGxlc1xuICogLSBkdXJhdGlvblxuICovXG5leHBvcnQgY2xhc3MgV2F0Y2hMYW1iZGFGdW5jdGlvbiBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgd2F0Y2hmdWw6IElXYXRjaGZ1bDtcbiAgcHJpdmF0ZSByZWFkb25seSBmbjogbGFtYmRhLkZ1bmN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBXYXRjaExhbWJkYUZ1bmN0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgY2ZuRnVuY3Rpb24gPSBwcm9wcy5mbi5ub2RlLmRlZmF1bHRDaGlsZCBhcyBsYW1iZGEuQ2ZuRnVuY3Rpb247XG4gICAgY29uc3QgdGltZW91dFNlYyA9IGNmbkZ1bmN0aW9uLnRpbWVvdXQgfHwgMztcblxuICAgIHRoaXMud2F0Y2hmdWwgPSBwcm9wcy53YXRjaGZ1bDtcbiAgICB0aGlzLmZuID0gcHJvcHMuZm47XG5cbiAgICB0aGlzLndhdGNoZnVsLmNyZWF0ZUFsYXJtKHRoaXMsICdFcnJvcnMnLCB0aGlzLmNyZWF0ZUVycm9yc01vbml0b3IocHJvcHMuZXJyb3JzUGVyTWludXRlVGhyZXNob2xkKSk7XG4gICAgdGhpcy53YXRjaGZ1bC5jcmVhdGVBbGFybSh0aGlzLCAnVGhyb3R0bGVzJywgdGhpcy5jcmVhdGVUaHJvdHRsZXNNb25pdG9yKHByb3BzLnRocm90dGxlc1Blck1pbnV0ZVRocmVzaG9sZCkpO1xuICAgIHRoaXMud2F0Y2hmdWwuY3JlYXRlQWxhcm0odGhpcyxcbiAgICAgICdEdXJhdGlvbicsXG4gICAgICB0aGlzLmNyZWF0ZUR1cmF0aW9uTW9uaXRvcih0aW1lb3V0U2VjLCBwcm9wcy5kdXJhdGlvblRocmVzaG9sZFBlcmNlbnQpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUVycm9yc01vbml0b3IoZXJyb3JzUGVyTWludXRlVGhyZXNob2xkID0gMCk6IE1ldHJpY0FsYXJtUHJvcHMge1xuICAgIGNvbnN0IGZuID0gdGhpcy5mbjtcbiAgICBjb25zdCBlcnJvcnNNZXRyaWMgPSBmbi5tZXRyaWNFcnJvcnMoKTtcbiAgICByZXR1cm4ge1xuICAgICAgbWV0cmljOiBlcnJvcnNNZXRyaWMsXG4gICAgICBhbGFybURlc2NyaXB0aW9uOiBgT3ZlciAke2Vycm9yc1Blck1pbnV0ZVRocmVzaG9sZH0gZXJyb3JzIHBlciBtaW51dGVgLFxuICAgICAgdGhyZXNob2xkOiBlcnJvcnNQZXJNaW51dGVUaHJlc2hvbGQsXG4gICAgICBjb21wYXJpc29uT3BlcmF0b3I6IGN3LkNvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fVEhSRVNIT0xELFxuICAgICAgZXZhbHVhdGlvblBlcmlvZHM6IDMsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVGhyb3R0bGVzTW9uaXRvcih0aHJvdHRsZXNQZXJNaW51dGVUaHJlc2hvbGQgPSAwKTogTWV0cmljQWxhcm1Qcm9wcyB7XG4gICAgY29uc3QgZm4gPSB0aGlzLmZuO1xuICAgIGNvbnN0IHRocm90dGxlc01ldHJpYyA9IGZuLm1ldHJpY1Rocm90dGxlcygpO1xuICAgIHJldHVybiB7XG4gICAgICBtZXRyaWM6IHRocm90dGxlc01ldHJpYyxcbiAgICAgIGFsYXJtRGVzY3JpcHRpb246IGBPdmVyICR7dGhyb3R0bGVzUGVyTWludXRlVGhyZXNob2xkfSB0aHJvdHRsZXMgcGVyIG1pbnV0ZWAsXG4gICAgICB0aHJlc2hvbGQ6IHRocm90dGxlc1Blck1pbnV0ZVRocmVzaG9sZCxcbiAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY3cuQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9USFJFU0hPTEQsXG4gICAgICBldmFsdWF0aW9uUGVyaW9kczogMyxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEdXJhdGlvbk1vbml0b3IoXG4gICAgdGltZW91dFNlYzogbnVtYmVyLFxuICAgIGR1cmF0aW9uUGVyY2VudFRocmVzaG9sZDogbnVtYmVyID0gREVGQVVMVF9EVVJBVElPTl9USFJFU0hPTERfUEVSQ0VOVCxcbiAgKTogTWV0cmljQWxhcm1Qcm9wcyB7XG4gICAgY29uc3QgZm4gPSB0aGlzLmZuO1xuICAgIGNvbnN0IGR1cmF0aW9uTWV0cmljID0gZm4ubWV0cmljRHVyYXRpb24oKTtcbiAgICBjb25zdCBkdXJhdGlvblRocmVzaG9sZFNlYyA9IE1hdGguZmxvb3IoKGR1cmF0aW9uUGVyY2VudFRocmVzaG9sZCAvIDEwMCkgKiB0aW1lb3V0U2VjKTtcbiAgICByZXR1cm4ge1xuICAgICAgbWV0cmljOiBkdXJhdGlvbk1ldHJpYyxcbiAgICAgIGFsYXJtRGVzY3JpcHRpb246IGBwOTkgbGF0ZW5jeSA+PSAke2R1cmF0aW9uVGhyZXNob2xkU2VjfXMgKCR7ZHVyYXRpb25QZXJjZW50VGhyZXNob2xkfSUpYCxcbiAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY3cuQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9USFJFU0hPTEQsXG4gICAgICB0aHJlc2hvbGQ6IGR1cmF0aW9uVGhyZXNob2xkU2VjICogMTAwMCwgLy8gbWlsbGlzZWNvbmRzXG4gICAgICBldmFsdWF0aW9uUGVyaW9kczogMyxcbiAgICB9O1xuICB9XG59XG4iXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dhdGNoZnVsL2xhbWJkYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUF1QztBQUN2QyxpREFBaUQ7QUFFakQsMkNBQXVDO0FBQ3ZDLDJEQUFzRjtBQUl0RixNQUFNLGtDQUFrQyxHQUFHLEVBQUUsQ0FBQztBQWdEOUM7Ozs7OztHQU1HO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSxzQkFBUztJQUloRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQStCO1FBQ3ZFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBa0MsQ0FBQztRQUNyRSxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDL0IsSUFBSSxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBRW5CLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUM7UUFDcEcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQztRQUM3RyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQzVCLFVBQVUsRUFDVixJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUN2RSxDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQzFCLElBQUksRUFDSixpQkFBaUIsRUFDakIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQzdCLENBQUM7SUFDSixDQUFDO0lBRU8scUJBQXFCO1FBQzNCLE9BQU87WUFDTCx1QkFBdUIsRUFBRSxJQUFJO1lBQzdCLE1BQU0sRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDM0IsWUFBWSxFQUFFLGdDQUFZLENBQUMsT0FBTztZQUNsQyxjQUFjLEVBQUUsc0NBQWtCLENBQUMsa0NBQWtDO1lBQ3JFLFNBQVMsRUFBRSxPQUFPO1lBQ2xCLFlBQVksRUFBRSxPQUFPO1lBQ3JCLGdCQUFnQixFQUFFLDRDQUE0QztZQUM5RCxTQUFTLEVBQUUsQ0FBQztZQUNaLFFBQVEsRUFBRSxDQUFDO1lBQ1gsS0FBSyxFQUFFLEdBQUc7U0FDWCxDQUFDO0lBQ0osQ0FBQztJQUNPLG1CQUFtQixDQUFDLHdCQUF3QixHQUFHLENBQUM7UUFDdEQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNuQixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkMsT0FBTztZQUNMLE1BQU0sRUFBRSxZQUFZO1lBQ3BCLGdCQUFnQixFQUFFLFFBQVEsd0JBQXdCLG9CQUFvQjtZQUN0RSxTQUFTLEVBQUUsd0JBQXdCO1lBQ25DLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0I7WUFDaEUsaUJBQWlCLEVBQUUsQ0FBQztTQUNyQixDQUFDO0lBQ0osQ0FBQztJQUVPLHNCQUFzQixDQUFDLDJCQUEyQixHQUFHLENBQUM7UUFDNUQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNuQixNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDN0MsT0FBTztZQUNMLE1BQU0sRUFBRSxlQUFlO1lBQ3ZCLGdCQUFnQixFQUFFLFFBQVEsMkJBQTJCLHVCQUF1QjtZQUM1RSxTQUFTLEVBQUUsMkJBQTJCO1lBQ3RDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0I7WUFDaEUsaUJBQWlCLEVBQUUsQ0FBQztTQUNyQixDQUFDO0lBQ0osQ0FBQztJQUVPLHFCQUFxQixDQUMzQixVQUFrQixFQUNsQiwyQkFBbUMsa0NBQWtDO1FBRXJFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbkIsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzNDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLHdCQUF3QixHQUFHLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZGLE9BQU87WUFDTCxNQUFNLEVBQUUsY0FBYztZQUN0QixnQkFBZ0IsRUFBRSxrQkFBa0Isb0JBQW9CLE1BQU0sd0JBQXdCLElBQUk7WUFDMUYsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLHNCQUFzQjtZQUNoRSxTQUFTLEVBQUUsb0JBQW9CLEdBQUcsSUFBSTtZQUN0QyxpQkFBaUIsRUFBRSxDQUFDO1NBQ3JCLENBQUM7SUFDSixDQUFDOztBQTlFSCxrREErRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGN3IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoJztcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQ29tcGFyaXNvbk9wZXJhdG9yLCBMb2dBbGFybVByb3BzLCBVbml0T2ZQZXJpb2QgfSBmcm9tICcuL2RhdGFkb2ctbG9nLWFsYXJtJztcbmltcG9ydCB7IE1ldHJpY0FsYXJtUHJvcHMgfSBmcm9tICcuL21ldHJpYy1hbGFybSc7XG5pbXBvcnQgeyBJV2F0Y2hmdWwgfSBmcm9tICcuL3dhdGNoZnVsJztcblxuY29uc3QgREVGQVVMVF9EVVJBVElPTl9USFJFU0hPTERfUEVSQ0VOVCA9IDgwO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGRlZmluaW5nIGFsYXJtcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXYXRjaExhbWJkYUZ1bmN0aW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgICAqIE51bWJlciBvZiBhbGxvd2VkIGVycm9ycyBwZXIgbWludXRlLiBJZiB0aGVyZSBhcmUgbW9yZSBlcnJvcnMgdGhhbiB0aGF0LCBhbiBhbGFybSB3aWxsIHRyaWdnZXIuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICovXG4gIHJlYWRvbmx5IGVycm9yc1Blck1pbnV0ZVRocmVzaG9sZD86IG51bWJlcjtcblxuICAvKipcbiAgICAgKiBOdW1iZXIgb2YgYWxsb3dlZCB0aHJvdHRsZXMgcGVyIG1pbnV0ZS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IDBcbiAgICAgKi9cbiAgcmVhZG9ubHkgdGhyb3R0bGVzUGVyTWludXRlVGhyZXNob2xkPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgICAqIFRocmVzaG9sZCBmb3IgdGhlIGR1cmF0aW9uIGFsYXJtIGFzIHBlcmNlbnRhZ2Ugb2YgdGhlIGZ1bmN0aW9uJ3MgdGltZW91dFxuICAgICAqIHZhbHVlLlxuICAgICAqXG4gICAgICogSWYgdGhpcyBpcyBzZXQgdG8gNTAlLCB0aGUgYWxhcm0gd2lsbCBiZSBzZXQgd2hlbiBwOTkgbGF0ZW5jeSBvZiB0aGVcbiAgICAgKiBmdW5jdGlvbiBleGNlZWRzIDUwJSBvZiB0aGUgZnVuY3Rpb24ncyB0aW1lb3V0IHNldHRpbmcuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCA4MFxuICAgICAqL1xuICByZWFkb25seSBkdXJhdGlvblRocmVzaG9sZFBlcmNlbnQ/OiBudW1iZXI7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgZGVmaW5pbmcgYSBXYXRjaExhbWJkYUZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2F0Y2hMYW1iZGFGdW5jdGlvblByb3BzIGV4dGVuZHMgV2F0Y2hMYW1iZGFGdW5jdGlvbk9wdGlvbnMge1xuICAvKipcbiAgICAgKiBUaGUgcmVmZXJlbmNlIHRvIElXYXRjaGZ1bCBjbGFzcy4gVXNlZCBpbnRlcm5hbGx5LlxuICAgICAqL1xuICByZWFkb25seSB3YXRjaGZ1bDogSVdhdGNoZnVsO1xuXG4gIC8qKlxuICAgICAqIFRoZSBsYW1iZGEgZnVuY3Rpb24gdGhhdCBzaG91bGQgYmUgd2F0Y2hlZC5cbiAgICAgKiBbZGlzYWJsZS1hd3NsaW50OnJlZi12aWEtaW50ZXJmYWNlXVxuICAgICAqL1xuICByZWFkb25seSBmbjogbGFtYmRhLkZ1bmN0aW9uO1xufVxuXG4vKipcbiAqIEEgQ29uc3RydWN0IHdoaWNoIGNyZWF0ZXMgdGhlIGZvbGxvd2luZyBhbGFybXMgZm9yIGxhbWJkYSBmdW5jdGlvbnM6XG4gKlxuICogLSBlcnJvcnNcbiAqIC0gdGhyb3R0bGVzXG4gKiAtIGR1cmF0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBXYXRjaExhbWJkYUZ1bmN0aW9uIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHJpdmF0ZSByZWFkb25seSB3YXRjaGZ1bDogSVdhdGNoZnVsO1xuICBwcml2YXRlIHJlYWRvbmx5IGZuOiBsYW1iZGEuRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFdhdGNoTGFtYmRhRnVuY3Rpb25Qcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBjZm5GdW5jdGlvbiA9IHByb3BzLmZuLm5vZGUuZGVmYXVsdENoaWxkIGFzIGxhbWJkYS5DZm5GdW5jdGlvbjtcbiAgICBjb25zdCB0aW1lb3V0U2VjID0gY2ZuRnVuY3Rpb24udGltZW91dCB8fCAzO1xuXG4gICAgdGhpcy53YXRjaGZ1bCA9IHByb3BzLndhdGNoZnVsO1xuICAgIHRoaXMuZm4gPSBwcm9wcy5mbjtcblxuICAgIHRoaXMud2F0Y2hmdWwuY3JlYXRlQWxhcm0odGhpcywgJ0Vycm9ycycsIHRoaXMuY3JlYXRlRXJyb3JzTW9uaXRvcihwcm9wcy5lcnJvcnNQZXJNaW51dGVUaHJlc2hvbGQpKTtcbiAgICB0aGlzLndhdGNoZnVsLmNyZWF0ZUFsYXJtKHRoaXMsICdUaHJvdHRsZXMnLCB0aGlzLmNyZWF0ZVRocm90dGxlc01vbml0b3IocHJvcHMudGhyb3R0bGVzUGVyTWludXRlVGhyZXNob2xkKSk7XG4gICAgdGhpcy53YXRjaGZ1bC5jcmVhdGVBbGFybSh0aGlzLFxuICAgICAgJ0R1cmF0aW9uJyxcbiAgICAgIHRoaXMuY3JlYXRlRHVyYXRpb25Nb25pdG9yKHRpbWVvdXRTZWMsIHByb3BzLmR1cmF0aW9uVGhyZXNob2xkUGVyY2VudCksXG4gICAgKTtcbiAgICB0aGlzLndhdGNoZnVsLmNyZWF0ZUxvZ0FsYXJtKFxuICAgICAgdGhpcyxcbiAgICAgICdMb2dFcnJvck1vbml0b3InLFxuICAgICAgdGhpcy5jcmVhdGVMb2dFcnJvck1vbml0b3IoKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVMb2dFcnJvck1vbml0b3IoKTogTG9nQWxhcm1Qcm9wcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGF1dG9DbG9zZU9wc0dlbmllQWxlcnRzOiB0cnVlLFxuICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgdW5pdE9mUGVyaW9kOiBVbml0T2ZQZXJpb2QuTUlOVVRFUywgLy8gdG9EbzogbW92ZSB0aGF0IHNvbWV3aGVyZSBlbHNlIGFuZCBzZXQgZGVmYXVsdHMgdGhlcmU/XG4gICAgICBwZXJpb2RPcGVyYXRvcjogQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9PUl9FUVVBTF9UT19USFJFU0hPTEQsXG4gICAgICBzdGF0aXN0aWM6ICdjb3VudCcsXG4gICAgICBxdWVyeUZpbHRlcnM6ICdlcnJvcicsXG4gICAgICBhbGFybURlc2NyaXB0aW9uOiAnQXV0by1nZW5lcmF0ZWQgYWxlcnQgZm9yIExhbWJkYSBlcnJvciBsb2dzJyxcbiAgICAgIHRocmVzaG9sZDogMSxcbiAgICAgIHByaW9yaXR5OiAzLFxuICAgICAgaW5kZXg6ICcqJywgLy8gdG9Ebzogd2Ugc2hvdWxkIHRha2UgaGVyZSB0aGUgdGVhbSBuYW1lIGJ1dCBmb3Igb2xkZXIgc2V0dXBzIHRvIHdvcmsgd2Uga2VlcCB0aGF0IGZvciBjb21wYXRpYmlsaXR5XG4gICAgfTtcbiAgfVxuICBwcml2YXRlIGNyZWF0ZUVycm9yc01vbml0b3IoZXJyb3JzUGVyTWludXRlVGhyZXNob2xkID0gMCk6IE1ldHJpY0FsYXJtUHJvcHMge1xuICAgIGNvbnN0IGZuID0gdGhpcy5mbjtcbiAgICBjb25zdCBlcnJvcnNNZXRyaWMgPSBmbi5tZXRyaWNFcnJvcnMoKTtcbiAgICByZXR1cm4ge1xuICAgICAgbWV0cmljOiBlcnJvcnNNZXRyaWMsXG4gICAgICBhbGFybURlc2NyaXB0aW9uOiBgT3ZlciAke2Vycm9yc1Blck1pbnV0ZVRocmVzaG9sZH0gZXJyb3JzIHBlciBtaW51dGVgLFxuICAgICAgdGhyZXNob2xkOiBlcnJvcnNQZXJNaW51dGVUaHJlc2hvbGQsXG4gICAgICBjb21wYXJpc29uT3BlcmF0b3I6IGN3LkNvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fVEhSRVNIT0xELFxuICAgICAgZXZhbHVhdGlvblBlcmlvZHM6IDMsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVGhyb3R0bGVzTW9uaXRvcih0aHJvdHRsZXNQZXJNaW51dGVUaHJlc2hvbGQgPSAwKTogTWV0cmljQWxhcm1Qcm9wcyB7XG4gICAgY29uc3QgZm4gPSB0aGlzLmZuO1xuICAgIGNvbnN0IHRocm90dGxlc01ldHJpYyA9IGZuLm1ldHJpY1Rocm90dGxlcygpO1xuICAgIHJldHVybiB7XG4gICAgICBtZXRyaWM6IHRocm90dGxlc01ldHJpYyxcbiAgICAgIGFsYXJtRGVzY3JpcHRpb246IGBPdmVyICR7dGhyb3R0bGVzUGVyTWludXRlVGhyZXNob2xkfSB0aHJvdHRsZXMgcGVyIG1pbnV0ZWAsXG4gICAgICB0aHJlc2hvbGQ6IHRocm90dGxlc1Blck1pbnV0ZVRocmVzaG9sZCxcbiAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY3cuQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9USFJFU0hPTEQsXG4gICAgICBldmFsdWF0aW9uUGVyaW9kczogMyxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEdXJhdGlvbk1vbml0b3IoXG4gICAgdGltZW91dFNlYzogbnVtYmVyLFxuICAgIGR1cmF0aW9uUGVyY2VudFRocmVzaG9sZDogbnVtYmVyID0gREVGQVVMVF9EVVJBVElPTl9USFJFU0hPTERfUEVSQ0VOVCxcbiAgKTogTWV0cmljQWxhcm1Qcm9wcyB7XG4gICAgY29uc3QgZm4gPSB0aGlzLmZuO1xuICAgIGNvbnN0IGR1cmF0aW9uTWV0cmljID0gZm4ubWV0cmljRHVyYXRpb24oKTtcbiAgICBjb25zdCBkdXJhdGlvblRocmVzaG9sZFNlYyA9IE1hdGguZmxvb3IoKGR1cmF0aW9uUGVyY2VudFRocmVzaG9sZCAvIDEwMCkgKiB0aW1lb3V0U2VjKTtcbiAgICByZXR1cm4ge1xuICAgICAgbWV0cmljOiBkdXJhdGlvbk1ldHJpYyxcbiAgICAgIGFsYXJtRGVzY3JpcHRpb246IGBwOTkgbGF0ZW5jeSA+PSAke2R1cmF0aW9uVGhyZXNob2xkU2VjfXMgKCR7ZHVyYXRpb25QZXJjZW50VGhyZXNob2xkfSUpYCxcbiAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjogY3cuQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9USFJFU0hPTEQsXG4gICAgICB0aHJlc2hvbGQ6IGR1cmF0aW9uVGhyZXNob2xkU2VjICogMTAwMCwgLy8gbWlsbGlzZWNvbmRzXG4gICAgICBldmFsdWF0aW9uUGVyaW9kczogMyxcbiAgICB9O1xuICB9XG59XG4iXX0=
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  ],
16
16
  "main": "lib/index.js",
17
17
  "license": "Apache-2.0",
18
- "version": "2.0.4",
18
+ "version": "2.1.0",
19
19
  "types": "lib/index.d.ts",
20
20
  "stability": "stable",
21
21
  "jsii": {
package/version.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "2.0.4"
2
+ "version": "2.1.0"
3
3
  }