@rio-cloud/cdk-v2-constructs 6.18.3 → 6.19.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
@@ -6777,18 +6777,17 @@
6777
6777
  "assembly": "@rio-cloud/cdk-v2-constructs",
6778
6778
  "base": "constructs.Construct",
6779
6779
  "docs": {
6780
- "remarks": "The construct creates monitoring (based on anomaly detection) for the usage of the most relevant Datadog resources",
6781
- "stability": "stable",
6782
- "summary": "This is a beta construct and is likely to have breaking changes."
6780
+ "deprecated": "This interface will be removed in the next major version\nThis is a beta construct and is likely to have breaking changes.\nThe construct creates monitoring (based on anomaly detection) for the usage of the most relevant Datadog resources",
6781
+ "stability": "deprecated"
6783
6782
  },
6784
6783
  "fqn": "@rio-cloud/cdk-v2-constructs.DatadogUsageMonitoring",
6785
6784
  "initializer": {
6786
6785
  "docs": {
6787
- "stability": "stable"
6786
+ "stability": "deprecated"
6788
6787
  },
6789
6788
  "locationInModule": {
6790
6789
  "filename": "src/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.ts",
6791
- "line": 29
6790
+ "line": 32
6792
6791
  },
6793
6792
  "parameters": [
6794
6793
  {
@@ -6814,7 +6813,7 @@
6814
6813
  "kind": "class",
6815
6814
  "locationInModule": {
6816
6815
  "filename": "src/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.ts",
6817
- "line": 28
6816
+ "line": 31
6818
6817
  },
6819
6818
  "name": "DatadogUsageMonitoring",
6820
6819
  "symbolId": "src/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring:DatadogUsageMonitoring"
@@ -6823,25 +6822,26 @@
6823
6822
  "assembly": "@rio-cloud/cdk-v2-constructs",
6824
6823
  "datatype": true,
6825
6824
  "docs": {
6826
- "stability": "stable"
6825
+ "deprecated": "This interface will be removed in the next major version",
6826
+ "stability": "deprecated"
6827
6827
  },
6828
6828
  "fqn": "@rio-cloud/cdk-v2-constructs.DatadogUsageMonitoringProps",
6829
6829
  "kind": "interface",
6830
6830
  "locationInModule": {
6831
6831
  "filename": "src/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.ts",
6832
- "line": 14
6832
+ "line": 16
6833
6833
  },
6834
6834
  "name": "DatadogUsageMonitoringProps",
6835
6835
  "properties": [
6836
6836
  {
6837
6837
  "abstract": true,
6838
6838
  "docs": {
6839
- "stability": "stable"
6839
+ "stability": "deprecated"
6840
6840
  },
6841
6841
  "immutable": true,
6842
6842
  "locationInModule": {
6843
6843
  "filename": "src/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.ts",
6844
- "line": 21
6844
+ "line": 23
6845
6845
  },
6846
6846
  "name": "organization",
6847
6847
  "type": {
@@ -6851,12 +6851,12 @@
6851
6851
  {
6852
6852
  "abstract": true,
6853
6853
  "docs": {
6854
- "stability": "stable"
6854
+ "stability": "deprecated"
6855
6855
  },
6856
6856
  "immutable": true,
6857
6857
  "locationInModule": {
6858
6858
  "filename": "src/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.ts",
6859
- "line": 15
6859
+ "line": 17
6860
6860
  },
6861
6861
  "name": "serviceName",
6862
6862
  "type": {
@@ -6872,7 +6872,7 @@
6872
6872
  "immutable": true,
6873
6873
  "locationInModule": {
6874
6874
  "filename": "src/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.ts",
6875
- "line": 19
6875
+ "line": 21
6876
6876
  },
6877
6877
  "name": "alertType",
6878
6878
  "optional": true,
@@ -6883,12 +6883,12 @@
6883
6883
  {
6884
6884
  "abstract": true,
6885
6885
  "docs": {
6886
- "stability": "stable"
6886
+ "stability": "deprecated"
6887
6887
  },
6888
6888
  "immutable": true,
6889
6889
  "locationInModule": {
6890
6890
  "filename": "src/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.ts",
6891
- "line": 20
6891
+ "line": 22
6892
6892
  },
6893
6893
  "name": "notification",
6894
6894
  "optional": true,
@@ -7909,7 +7909,7 @@
7909
7909
  },
7910
7910
  "locationInModule": {
7911
7911
  "filename": "src/kafka/kafka-topic.ts",
7912
- "line": 239
7912
+ "line": 255
7913
7913
  },
7914
7914
  "parameters": [
7915
7915
  {
@@ -7935,7 +7935,7 @@
7935
7935
  "kind": "class",
7936
7936
  "locationInModule": {
7937
7937
  "filename": "src/kafka/kafka-topic.ts",
7938
- "line": 237
7938
+ "line": 253
7939
7939
  },
7940
7940
  "name": "KafkaTopic",
7941
7941
  "symbolId": "src/kafka/kafka-topic:KafkaTopic"
@@ -8219,6 +8219,25 @@
8219
8219
  "fqn": "@rio-cloud/cdk-v2-constructs.kafka.LogCompactionProperties"
8220
8220
  }
8221
8221
  },
8222
+ {
8223
+ "abstract": true,
8224
+ "docs": {
8225
+ "default": "9223372036854775807",
8226
+ "remarks": "The maximum time a message can be delayed before it is compacted.",
8227
+ "stability": "stable",
8228
+ "summary": "The maximum compaction lag in milliseconds."
8229
+ },
8230
+ "immutable": true,
8231
+ "locationInModule": {
8232
+ "filename": "src/kafka/kafka-topic.ts",
8233
+ "line": 157
8234
+ },
8235
+ "name": "maxCompactionLagMs",
8236
+ "optional": true,
8237
+ "type": {
8238
+ "primitive": "number"
8239
+ }
8240
+ },
8222
8241
  {
8223
8242
  "abstract": true,
8224
8243
  "docs": {
@@ -8274,7 +8293,7 @@
8274
8293
  },
8275
8294
  "locationInModule": {
8276
8295
  "filename": "src/kafka/kafka-topic.ts",
8277
- "line": 262
8296
+ "line": 278
8278
8297
  },
8279
8298
  "parameters": [
8280
8299
  {
@@ -8300,7 +8319,7 @@
8300
8319
  "kind": "class",
8301
8320
  "locationInModule": {
8302
8321
  "filename": "src/kafka/kafka-topic.ts",
8303
- "line": 260
8322
+ "line": 276
8304
8323
  },
8305
8324
  "name": "KafkaTopicV4",
8306
8325
  "symbolId": "src/kafka/kafka-topic:KafkaTopicV4"
@@ -8317,7 +8336,7 @@
8317
8336
  "kind": "interface",
8318
8337
  "locationInModule": {
8319
8338
  "filename": "src/kafka/kafka-topic.ts",
8320
- "line": 157
8339
+ "line": 165
8321
8340
  },
8322
8341
  "name": "KafkaTopicV4Props",
8323
8342
  "properties": [
@@ -8330,7 +8349,7 @@
8330
8349
  "immutable": true,
8331
8350
  "locationInModule": {
8332
8351
  "filename": "src/kafka/kafka-topic.ts",
8333
- "line": 200
8352
+ "line": 208
8334
8353
  },
8335
8354
  "name": "acl",
8336
8355
  "type": {
@@ -8346,7 +8365,7 @@
8346
8365
  "immutable": true,
8347
8366
  "locationInModule": {
8348
8367
  "filename": "src/kafka/kafka-topic.ts",
8349
- "line": 205
8368
+ "line": 213
8350
8369
  },
8351
8370
  "name": "isLogCompacted",
8352
8371
  "type": {
@@ -8362,7 +8381,7 @@
8362
8381
  "immutable": true,
8363
8382
  "locationInModule": {
8364
8383
  "filename": "src/kafka/kafka-topic.ts",
8365
- "line": 195
8384
+ "line": 203
8366
8385
  },
8367
8386
  "name": "metadata",
8368
8387
  "type": {
@@ -8379,7 +8398,7 @@
8379
8398
  "immutable": true,
8380
8399
  "locationInModule": {
8381
8400
  "filename": "src/kafka/kafka-topic.ts",
8382
- "line": 161
8401
+ "line": 169
8383
8402
  },
8384
8403
  "name": "name",
8385
8404
  "type": {
@@ -8396,7 +8415,7 @@
8396
8415
  "immutable": true,
8397
8416
  "locationInModule": {
8398
8417
  "filename": "src/kafka/kafka-topic.ts",
8399
- "line": 168
8418
+ "line": 176
8400
8419
  },
8401
8420
  "name": "numberOfPartitions",
8402
8421
  "type": {
@@ -8414,7 +8433,7 @@
8414
8433
  "immutable": true,
8415
8434
  "locationInModule": {
8416
8435
  "filename": "src/kafka/kafka-topic.ts",
8417
- "line": 190
8436
+ "line": 198
8418
8437
  },
8419
8438
  "name": "instantDeletionEnabled",
8420
8439
  "optional": true,
@@ -8432,7 +8451,7 @@
8432
8451
  "immutable": true,
8433
8452
  "locationInModule": {
8434
8453
  "filename": "src/kafka/kafka-topic.ts",
8435
- "line": 211
8454
+ "line": 219
8436
8455
  },
8437
8456
  "name": "logCompactionProperties",
8438
8457
  "optional": true,
@@ -8451,7 +8470,7 @@
8451
8470
  "immutable": true,
8452
8471
  "locationInModule": {
8453
8472
  "filename": "src/kafka/kafka-topic.ts",
8454
- "line": 219
8473
+ "line": 227
8455
8474
  },
8456
8475
  "name": "managedBackupEnabled",
8457
8476
  "optional": true,
@@ -8459,6 +8478,25 @@
8459
8478
  "primitive": "boolean"
8460
8479
  }
8461
8480
  },
8481
+ {
8482
+ "abstract": true,
8483
+ "docs": {
8484
+ "default": "9223372036854775807",
8485
+ "remarks": "The maximum time a message can be delayed before it is compacted.",
8486
+ "stability": "stable",
8487
+ "summary": "The maximum compaction lag in milliseconds."
8488
+ },
8489
+ "immutable": true,
8490
+ "locationInModule": {
8491
+ "filename": "src/kafka/kafka-topic.ts",
8492
+ "line": 235
8493
+ },
8494
+ "name": "maxCompactionLagMs",
8495
+ "optional": true,
8496
+ "type": {
8497
+ "primitive": "number"
8498
+ }
8499
+ },
8462
8500
  {
8463
8501
  "abstract": true,
8464
8502
  "docs": {
@@ -8470,7 +8508,7 @@
8470
8508
  "immutable": true,
8471
8509
  "locationInModule": {
8472
8510
  "filename": "src/kafka/kafka-topic.ts",
8473
- "line": 174
8511
+ "line": 182
8474
8512
  },
8475
8513
  "name": "replicationFactor",
8476
8514
  "optional": true,
@@ -8489,7 +8527,7 @@
8489
8527
  "immutable": true,
8490
8528
  "locationInModule": {
8491
8529
  "filename": "src/kafka/kafka-topic.ts",
8492
- "line": 183
8530
+ "line": 191
8493
8531
  },
8494
8532
  "name": "retention",
8495
8533
  "optional": true,
@@ -19346,7 +19384,7 @@
19346
19384
  },
19347
19385
  "locationInModule": {
19348
19386
  "filename": "src/kafka/kafka-topic.ts",
19349
- "line": 239
19387
+ "line": 255
19350
19388
  },
19351
19389
  "parameters": [
19352
19390
  {
@@ -19372,7 +19410,7 @@
19372
19410
  "kind": "class",
19373
19411
  "locationInModule": {
19374
19412
  "filename": "src/kafka/kafka-topic.ts",
19375
- "line": 237
19413
+ "line": 253
19376
19414
  },
19377
19415
  "name": "KafkaTopic",
19378
19416
  "namespace": "kafka",
@@ -19660,6 +19698,25 @@
19660
19698
  "fqn": "@rio-cloud/cdk-v2-constructs.kafka.LogCompactionProperties"
19661
19699
  }
19662
19700
  },
19701
+ {
19702
+ "abstract": true,
19703
+ "docs": {
19704
+ "default": "9223372036854775807",
19705
+ "remarks": "The maximum time a message can be delayed before it is compacted.",
19706
+ "stability": "stable",
19707
+ "summary": "The maximum compaction lag in milliseconds."
19708
+ },
19709
+ "immutable": true,
19710
+ "locationInModule": {
19711
+ "filename": "src/kafka/kafka-topic.ts",
19712
+ "line": 157
19713
+ },
19714
+ "name": "maxCompactionLagMs",
19715
+ "optional": true,
19716
+ "type": {
19717
+ "primitive": "number"
19718
+ }
19719
+ },
19663
19720
  {
19664
19721
  "abstract": true,
19665
19722
  "docs": {
@@ -19715,7 +19772,7 @@
19715
19772
  },
19716
19773
  "locationInModule": {
19717
19774
  "filename": "src/kafka/kafka-topic.ts",
19718
- "line": 262
19775
+ "line": 278
19719
19776
  },
19720
19777
  "parameters": [
19721
19778
  {
@@ -19741,7 +19798,7 @@
19741
19798
  "kind": "class",
19742
19799
  "locationInModule": {
19743
19800
  "filename": "src/kafka/kafka-topic.ts",
19744
- "line": 260
19801
+ "line": 276
19745
19802
  },
19746
19803
  "name": "KafkaTopicV4",
19747
19804
  "namespace": "kafka",
@@ -19759,7 +19816,7 @@
19759
19816
  "kind": "interface",
19760
19817
  "locationInModule": {
19761
19818
  "filename": "src/kafka/kafka-topic.ts",
19762
- "line": 157
19819
+ "line": 165
19763
19820
  },
19764
19821
  "name": "KafkaTopicV4Props",
19765
19822
  "namespace": "kafka",
@@ -19773,7 +19830,7 @@
19773
19830
  "immutable": true,
19774
19831
  "locationInModule": {
19775
19832
  "filename": "src/kafka/kafka-topic.ts",
19776
- "line": 200
19833
+ "line": 208
19777
19834
  },
19778
19835
  "name": "acl",
19779
19836
  "type": {
@@ -19789,7 +19846,7 @@
19789
19846
  "immutable": true,
19790
19847
  "locationInModule": {
19791
19848
  "filename": "src/kafka/kafka-topic.ts",
19792
- "line": 205
19849
+ "line": 213
19793
19850
  },
19794
19851
  "name": "isLogCompacted",
19795
19852
  "type": {
@@ -19805,7 +19862,7 @@
19805
19862
  "immutable": true,
19806
19863
  "locationInModule": {
19807
19864
  "filename": "src/kafka/kafka-topic.ts",
19808
- "line": 195
19865
+ "line": 203
19809
19866
  },
19810
19867
  "name": "metadata",
19811
19868
  "type": {
@@ -19822,7 +19879,7 @@
19822
19879
  "immutable": true,
19823
19880
  "locationInModule": {
19824
19881
  "filename": "src/kafka/kafka-topic.ts",
19825
- "line": 161
19882
+ "line": 169
19826
19883
  },
19827
19884
  "name": "name",
19828
19885
  "type": {
@@ -19839,7 +19896,7 @@
19839
19896
  "immutable": true,
19840
19897
  "locationInModule": {
19841
19898
  "filename": "src/kafka/kafka-topic.ts",
19842
- "line": 168
19899
+ "line": 176
19843
19900
  },
19844
19901
  "name": "numberOfPartitions",
19845
19902
  "type": {
@@ -19857,7 +19914,7 @@
19857
19914
  "immutable": true,
19858
19915
  "locationInModule": {
19859
19916
  "filename": "src/kafka/kafka-topic.ts",
19860
- "line": 190
19917
+ "line": 198
19861
19918
  },
19862
19919
  "name": "instantDeletionEnabled",
19863
19920
  "optional": true,
@@ -19875,7 +19932,7 @@
19875
19932
  "immutable": true,
19876
19933
  "locationInModule": {
19877
19934
  "filename": "src/kafka/kafka-topic.ts",
19878
- "line": 211
19935
+ "line": 219
19879
19936
  },
19880
19937
  "name": "logCompactionProperties",
19881
19938
  "optional": true,
@@ -19894,7 +19951,7 @@
19894
19951
  "immutable": true,
19895
19952
  "locationInModule": {
19896
19953
  "filename": "src/kafka/kafka-topic.ts",
19897
- "line": 219
19954
+ "line": 227
19898
19955
  },
19899
19956
  "name": "managedBackupEnabled",
19900
19957
  "optional": true,
@@ -19902,6 +19959,25 @@
19902
19959
  "primitive": "boolean"
19903
19960
  }
19904
19961
  },
19962
+ {
19963
+ "abstract": true,
19964
+ "docs": {
19965
+ "default": "9223372036854775807",
19966
+ "remarks": "The maximum time a message can be delayed before it is compacted.",
19967
+ "stability": "stable",
19968
+ "summary": "The maximum compaction lag in milliseconds."
19969
+ },
19970
+ "immutable": true,
19971
+ "locationInModule": {
19972
+ "filename": "src/kafka/kafka-topic.ts",
19973
+ "line": 235
19974
+ },
19975
+ "name": "maxCompactionLagMs",
19976
+ "optional": true,
19977
+ "type": {
19978
+ "primitive": "number"
19979
+ }
19980
+ },
19905
19981
  {
19906
19982
  "abstract": true,
19907
19983
  "docs": {
@@ -19913,7 +19989,7 @@
19913
19989
  "immutable": true,
19914
19990
  "locationInModule": {
19915
19991
  "filename": "src/kafka/kafka-topic.ts",
19916
- "line": 174
19992
+ "line": 182
19917
19993
  },
19918
19994
  "name": "replicationFactor",
19919
19995
  "optional": true,
@@ -19932,7 +20008,7 @@
19932
20008
  "immutable": true,
19933
20009
  "locationInModule": {
19934
20010
  "filename": "src/kafka/kafka-topic.ts",
19935
- "line": 183
20011
+ "line": 191
19936
20012
  },
19937
20013
  "name": "retention",
19938
20014
  "optional": true,
@@ -20656,5 +20732,5 @@
20656
20732
  }
20657
20733
  },
20658
20734
  "version": "0.0.0",
20659
- "fingerprint": "TQ+6vpE46qvdgk4+u6VG1oL5JhAKU5xMb5gcOnfiWJM="
20735
+ "fingerprint": "ZPVptCxuRYiCspSVTNaRFUbKAtGdcql67rUQ2oHf928="
20660
20736
  }
package/docs/API.md CHANGED
@@ -2469,10 +2469,6 @@ This is equal to `secretArn` in most cases, but is undefined when a full ARN is
2469
2469
 
2470
2470
  ### DatadogUsageMonitoring <a name="DatadogUsageMonitoring" id="@rio-cloud/cdk-v2-constructs.DatadogUsageMonitoring"></a>
2471
2471
 
2472
- This is a beta construct and is likely to have breaking changes.
2473
-
2474
- The construct creates monitoring (based on anomaly detection) for the usage of the most relevant Datadog resources
2475
-
2476
2472
  #### Initializers <a name="Initializers" id="@rio-cloud/cdk-v2-constructs.DatadogUsageMonitoring.Initializer"></a>
2477
2473
 
2478
2474
  ```typescript
@@ -2515,7 +2511,7 @@ new DatadogUsageMonitoring(scope: Construct, id: string, props: DatadogUsageMoni
2515
2511
 
2516
2512
  ---
2517
2513
 
2518
- ##### `toString` <a name="toString" id="@rio-cloud/cdk-v2-constructs.DatadogUsageMonitoring.toString"></a>
2514
+ ##### ~~`toString`~~ <a name="toString" id="@rio-cloud/cdk-v2-constructs.DatadogUsageMonitoring.toString"></a>
2519
2515
 
2520
2516
  ```typescript
2521
2517
  public toString(): string
@@ -2531,7 +2527,7 @@ Returns a string representation of this construct.
2531
2527
 
2532
2528
  ---
2533
2529
 
2534
- ##### `isConstruct` <a name="isConstruct" id="@rio-cloud/cdk-v2-constructs.DatadogUsageMonitoring.isConstruct"></a>
2530
+ ##### ~~`isConstruct`~~ <a name="isConstruct" id="@rio-cloud/cdk-v2-constructs.DatadogUsageMonitoring.isConstruct"></a>
2535
2531
 
2536
2532
  ```typescript
2537
2533
  import { DatadogUsageMonitoring } from '@rio-cloud/cdk-v2-constructs'
@@ -2571,7 +2567,11 @@ Any object.
2571
2567
 
2572
2568
  ---
2573
2569
 
2574
- ##### `node`<sup>Required</sup> <a name="node" id="@rio-cloud/cdk-v2-constructs.DatadogUsageMonitoring.property.node"></a>
2570
+ ##### ~~`node`~~<sup>Required</sup> <a name="node" id="@rio-cloud/cdk-v2-constructs.DatadogUsageMonitoring.property.node"></a>
2571
+
2572
+ - *Deprecated:* This interface will be removed in the next major version
2573
+ This is a beta construct and is likely to have breaking changes.
2574
+ The construct creates monitoring (based on anomaly detection) for the usage of the most relevant Datadog resources
2575
2575
 
2576
2576
  ```typescript
2577
2577
  public readonly node: Node;
@@ -12301,7 +12301,9 @@ const datadogUsageMonitoringProps: DatadogUsageMonitoringProps = { ... }
12301
12301
 
12302
12302
  ---
12303
12303
 
12304
- ##### `organization`<sup>Required</sup> <a name="organization" id="@rio-cloud/cdk-v2-constructs.DatadogUsageMonitoringProps.property.organization"></a>
12304
+ ##### ~~`organization`~~<sup>Required</sup> <a name="organization" id="@rio-cloud/cdk-v2-constructs.DatadogUsageMonitoringProps.property.organization"></a>
12305
+
12306
+ - *Deprecated:* This interface will be removed in the next major version
12305
12307
 
12306
12308
  ```typescript
12307
12309
  public readonly organization: string;
@@ -12311,7 +12313,9 @@ public readonly organization: string;
12311
12313
 
12312
12314
  ---
12313
12315
 
12314
- ##### `serviceName`<sup>Required</sup> <a name="serviceName" id="@rio-cloud/cdk-v2-constructs.DatadogUsageMonitoringProps.property.serviceName"></a>
12316
+ ##### ~~`serviceName`~~<sup>Required</sup> <a name="serviceName" id="@rio-cloud/cdk-v2-constructs.DatadogUsageMonitoringProps.property.serviceName"></a>
12317
+
12318
+ - *Deprecated:* This interface will be removed in the next major version
12315
12319
 
12316
12320
  ```typescript
12317
12321
  public readonly serviceName: string;
@@ -12333,7 +12337,9 @@ public readonly alertType: string;
12333
12337
 
12334
12338
  ---
12335
12339
 
12336
- ##### `notification`<sup>Optional</sup> <a name="notification" id="@rio-cloud/cdk-v2-constructs.DatadogUsageMonitoringProps.property.notification"></a>
12340
+ ##### ~~`notification`~~<sup>Optional</sup> <a name="notification" id="@rio-cloud/cdk-v2-constructs.DatadogUsageMonitoringProps.property.notification"></a>
12341
+
12342
+ - *Deprecated:* This interface will be removed in the next major version
12337
12343
 
12338
12344
  ```typescript
12339
12345
  public readonly notification: INotification;
@@ -13297,6 +13303,7 @@ const kafkaTopicProps: KafkaTopicProps = { ... }
13297
13303
  | <code><a href="#@rio-cloud/cdk-v2-constructs.KafkaTopicProps.property.numberOfPartitions">numberOfPartitions</a></code> | <code>number</code> | Defines degree of parallelism of the topic; |
13298
13304
  | <code><a href="#@rio-cloud/cdk-v2-constructs.KafkaTopicProps.property.instantDeletionEnabled">instantDeletionEnabled</a></code> | <code>boolean</code> | If set to 'false, the topic's data will be deleted on Kafka 10 days after stack deletion. |
13299
13305
  | <code><a href="#@rio-cloud/cdk-v2-constructs.KafkaTopicProps.property.logCompactionProperties">logCompactionProperties</a></code> | <code>@rio-cloud/cdk-v2-constructs.kafka.LogCompactionProperties</code> | Must only be provided if 'isLogCompacted' is 'true'. |
13306
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.KafkaTopicProps.property.maxCompactionLagMs">maxCompactionLagMs</a></code> | <code>number</code> | The maximum compaction lag in milliseconds. |
13300
13307
  | <code><a href="#@rio-cloud/cdk-v2-constructs.KafkaTopicProps.property.replicationFactor">replicationFactor</a></code> | <code>number</code> | Defines degree of replication of messages; |
13301
13308
  | <code><a href="#@rio-cloud/cdk-v2-constructs.KafkaTopicProps.property.retention">retention</a></code> | <code>aws-cdk-lib.Duration</code> | Time how long messages are retained on Kafka cluster; |
13302
13309
 
@@ -13396,6 +13403,21 @@ Must only be provided if 'isLogCompacted' is 'true'.
13396
13403
 
13397
13404
  ---
13398
13405
 
13406
+ ##### `maxCompactionLagMs`<sup>Optional</sup> <a name="maxCompactionLagMs" id="@rio-cloud/cdk-v2-constructs.KafkaTopicProps.property.maxCompactionLagMs"></a>
13407
+
13408
+ ```typescript
13409
+ public readonly maxCompactionLagMs: number;
13410
+ ```
13411
+
13412
+ - *Type:* number
13413
+ - *Default:* 9223372036854775807
13414
+
13415
+ The maximum compaction lag in milliseconds.
13416
+
13417
+ The maximum time a message can be delayed before it is compacted.
13418
+
13419
+ ---
13420
+
13399
13421
  ##### `replicationFactor`<sup>Optional</sup> <a name="replicationFactor" id="@rio-cloud/cdk-v2-constructs.KafkaTopicProps.property.replicationFactor"></a>
13400
13422
 
13401
13423
  ```typescript
@@ -13452,6 +13474,7 @@ const kafkaTopicProps: kafka.KafkaTopicProps = { ... }
13452
13474
  | <code><a href="#@rio-cloud/cdk-v2-constructs.kafka.KafkaTopicProps.property.numberOfPartitions">numberOfPartitions</a></code> | <code>number</code> | Defines degree of parallelism of the topic; |
13453
13475
  | <code><a href="#@rio-cloud/cdk-v2-constructs.kafka.KafkaTopicProps.property.instantDeletionEnabled">instantDeletionEnabled</a></code> | <code>boolean</code> | If set to 'false, the topic's data will be deleted on Kafka 10 days after stack deletion. |
13454
13476
  | <code><a href="#@rio-cloud/cdk-v2-constructs.kafka.KafkaTopicProps.property.logCompactionProperties">logCompactionProperties</a></code> | <code>@rio-cloud/cdk-v2-constructs.kafka.LogCompactionProperties</code> | Must only be provided if 'isLogCompacted' is 'true'. |
13477
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.kafka.KafkaTopicProps.property.maxCompactionLagMs">maxCompactionLagMs</a></code> | <code>number</code> | The maximum compaction lag in milliseconds. |
13455
13478
  | <code><a href="#@rio-cloud/cdk-v2-constructs.kafka.KafkaTopicProps.property.replicationFactor">replicationFactor</a></code> | <code>number</code> | Defines degree of replication of messages; |
13456
13479
  | <code><a href="#@rio-cloud/cdk-v2-constructs.kafka.KafkaTopicProps.property.retention">retention</a></code> | <code>aws-cdk-lib.Duration</code> | Time how long messages are retained on Kafka cluster; |
13457
13480
 
@@ -13551,6 +13574,21 @@ Must only be provided if 'isLogCompacted' is 'true'.
13551
13574
 
13552
13575
  ---
13553
13576
 
13577
+ ##### `maxCompactionLagMs`<sup>Optional</sup> <a name="maxCompactionLagMs" id="@rio-cloud/cdk-v2-constructs.kafka.KafkaTopicProps.property.maxCompactionLagMs"></a>
13578
+
13579
+ ```typescript
13580
+ public readonly maxCompactionLagMs: number;
13581
+ ```
13582
+
13583
+ - *Type:* number
13584
+ - *Default:* 9223372036854775807
13585
+
13586
+ The maximum compaction lag in milliseconds.
13587
+
13588
+ The maximum time a message can be delayed before it is compacted.
13589
+
13590
+ ---
13591
+
13554
13592
  ##### `replicationFactor`<sup>Optional</sup> <a name="replicationFactor" id="@rio-cloud/cdk-v2-constructs.kafka.KafkaTopicProps.property.replicationFactor"></a>
13555
13593
 
13556
13594
  ```typescript
@@ -13608,6 +13646,7 @@ const kafkaTopicV4Props: KafkaTopicV4Props = { ... }
13608
13646
  | <code><a href="#@rio-cloud/cdk-v2-constructs.KafkaTopicV4Props.property.instantDeletionEnabled">instantDeletionEnabled</a></code> | <code>boolean</code> | If set to 'false, the topic's data will be deleted on Kafka 10 days after stack deletion. |
13609
13647
  | <code><a href="#@rio-cloud/cdk-v2-constructs.KafkaTopicV4Props.property.logCompactionProperties">logCompactionProperties</a></code> | <code>@rio-cloud/cdk-v2-constructs.kafka.LogCompactionProperties</code> | Must only be provided if 'isLogCompacted' is 'true'. |
13610
13648
  | <code><a href="#@rio-cloud/cdk-v2-constructs.KafkaTopicV4Props.property.managedBackupEnabled">managedBackupEnabled</a></code> | <code>boolean</code> | Specify whether the topic should be backed up automatically or not. |
13649
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.KafkaTopicV4Props.property.maxCompactionLagMs">maxCompactionLagMs</a></code> | <code>number</code> | The maximum compaction lag in milliseconds. |
13611
13650
  | <code><a href="#@rio-cloud/cdk-v2-constructs.KafkaTopicV4Props.property.replicationFactor">replicationFactor</a></code> | <code>number</code> | Defines degree of replication of messages; |
13612
13651
  | <code><a href="#@rio-cloud/cdk-v2-constructs.KafkaTopicV4Props.property.retention">retention</a></code> | <code>aws-cdk-lib.Duration</code> | Time how long messages are retained on Kafka cluster; |
13613
13652
 
@@ -13722,6 +13761,21 @@ It could just be enabled, if the topic is compacted and the RecoveryPolicy is 'r
13722
13761
 
13723
13762
  ---
13724
13763
 
13764
+ ##### `maxCompactionLagMs`<sup>Optional</sup> <a name="maxCompactionLagMs" id="@rio-cloud/cdk-v2-constructs.KafkaTopicV4Props.property.maxCompactionLagMs"></a>
13765
+
13766
+ ```typescript
13767
+ public readonly maxCompactionLagMs: number;
13768
+ ```
13769
+
13770
+ - *Type:* number
13771
+ - *Default:* 9223372036854775807
13772
+
13773
+ The maximum compaction lag in milliseconds.
13774
+
13775
+ The maximum time a message can be delayed before it is compacted.
13776
+
13777
+ ---
13778
+
13725
13779
  ##### `replicationFactor`<sup>Optional</sup> <a name="replicationFactor" id="@rio-cloud/cdk-v2-constructs.KafkaTopicV4Props.property.replicationFactor"></a>
13726
13780
 
13727
13781
  ```typescript
@@ -13779,6 +13833,7 @@ const kafkaTopicV4Props: kafka.KafkaTopicV4Props = { ... }
13779
13833
  | <code><a href="#@rio-cloud/cdk-v2-constructs.kafka.KafkaTopicV4Props.property.instantDeletionEnabled">instantDeletionEnabled</a></code> | <code>boolean</code> | If set to 'false, the topic's data will be deleted on Kafka 10 days after stack deletion. |
13780
13834
  | <code><a href="#@rio-cloud/cdk-v2-constructs.kafka.KafkaTopicV4Props.property.logCompactionProperties">logCompactionProperties</a></code> | <code>@rio-cloud/cdk-v2-constructs.kafka.LogCompactionProperties</code> | Must only be provided if 'isLogCompacted' is 'true'. |
13781
13835
  | <code><a href="#@rio-cloud/cdk-v2-constructs.kafka.KafkaTopicV4Props.property.managedBackupEnabled">managedBackupEnabled</a></code> | <code>boolean</code> | Specify whether the topic should be backed up automatically or not. |
13836
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.kafka.KafkaTopicV4Props.property.maxCompactionLagMs">maxCompactionLagMs</a></code> | <code>number</code> | The maximum compaction lag in milliseconds. |
13782
13837
  | <code><a href="#@rio-cloud/cdk-v2-constructs.kafka.KafkaTopicV4Props.property.replicationFactor">replicationFactor</a></code> | <code>number</code> | Defines degree of replication of messages; |
13783
13838
  | <code><a href="#@rio-cloud/cdk-v2-constructs.kafka.KafkaTopicV4Props.property.retention">retention</a></code> | <code>aws-cdk-lib.Duration</code> | Time how long messages are retained on Kafka cluster; |
13784
13839
 
@@ -13893,6 +13948,21 @@ It could just be enabled, if the topic is compacted and the RecoveryPolicy is 'r
13893
13948
 
13894
13949
  ---
13895
13950
 
13951
+ ##### `maxCompactionLagMs`<sup>Optional</sup> <a name="maxCompactionLagMs" id="@rio-cloud/cdk-v2-constructs.kafka.KafkaTopicV4Props.property.maxCompactionLagMs"></a>
13952
+
13953
+ ```typescript
13954
+ public readonly maxCompactionLagMs: number;
13955
+ ```
13956
+
13957
+ - *Type:* number
13958
+ - *Default:* 9223372036854775807
13959
+
13960
+ The maximum compaction lag in milliseconds.
13961
+
13962
+ The maximum time a message can be delayed before it is compacted.
13963
+
13964
+ ---
13965
+
13896
13966
  ##### `replicationFactor`<sup>Optional</sup> <a name="replicationFactor" id="@rio-cloud/cdk-v2-constructs.kafka.KafkaTopicV4Props.property.replicationFactor"></a>
13897
13967
 
13898
13968
  ```typescript
package/docs/changelog.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [6.19.0](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv6.18.3&sourceBranch=refs%2Ftags%2Fv6.19.0) (2025-02-25)
6
+
7
+
8
+ ### Features
9
+
10
+ * the setting max.compaction.lag.ms can now be configured for a kafka topic ([551ad7b](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/commits/551ad7bc1b7fd826f4da3fbcb9a82540cb4eada5))
11
+
5
12
  ## [6.18.3](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv6.18.2&sourceBranch=refs%2Ftags%2Fv6.18.3) (2025-02-18)
6
13
 
7
14
 
@@ -1,7 +1,9 @@
1
1
  import * as constructs from 'constructs';
2
- import { DatadogOrganization } from '../../../datadog';
3
- import { DatadogAlertType } from '../../../datadog/datadog-monitor';
2
+ import { DatadogOrganization, DatadogAlertType } from '../../../datadog';
4
3
  import { INotification } from '../../../datadogv2';
4
+ /**
5
+ * @deprecated This interface will be removed in the next major version
6
+ */
5
7
  export interface DatadogUsageMonitoringProps {
6
8
  readonly serviceName: string;
7
9
  /**
@@ -12,6 +14,7 @@ export interface DatadogUsageMonitoringProps {
12
14
  readonly organization: DatadogOrganization;
13
15
  }
14
16
  /**
17
+ * @deprecated This interface will be removed in the next major version
15
18
  * This is a beta construct and is likely to have breaking changes.
16
19
  * The construct creates monitoring (based on anomaly detection) for the usage of the most relevant Datadog resources
17
20
  */
@@ -9,6 +9,7 @@ const datadog_1 = require("../../../datadog");
9
9
  const datadogv2_1 = require("../../../datadogv2");
10
10
  const rio_claidometer_1 = require("../../../rio-claidometer");
11
11
  /**
12
+ * @deprecated This interface will be removed in the next major version
12
13
  * This is a beta construct and is likely to have breaking changes.
13
14
  * The construct creates monitoring (based on anomaly detection) for the usage of the most relevant Datadog resources
14
15
  */
@@ -143,4 +144,4 @@ function addClaidometer(scope) {
143
144
  version: '0.0.8',
144
145
  });
145
146
  }
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZy11c2FnZS1tb25pdG9yaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbnRyaWJ1dGlvbnMvdGVhbS1jbGFpZC9kYXRhZG9nLXVzYWdlLW1vbml0b3JpbmcvZGF0YWRvZy11c2FnZS1tb25pdG9yaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkJBQTZCO0FBQzdCLHlDQUF5QztBQUN6Qyw4Q0FBaUY7QUFFakYsa0RBQTJIO0FBQzNILDhEQUEyRTtBQWtCM0U7OztHQUdHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSxVQUFVLENBQUMsU0FBUztJQUM5RCxZQUFZLEtBQTJCLEVBQUUsRUFBVSxFQUFFLEtBQWtDO1FBQ3JGLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxnQ0FBZ0MsR0FBd0I7WUFDNUQ7Z0JBQ0UsaUJBQWlCLEVBQUUsc0JBQXNCO2dCQUN6QyxLQUFLLEVBQUUsc0NBQXNDO2FBQzlDO1lBQ0Q7Z0JBQ0UsaUJBQWlCLEVBQUUsb0RBQW9EO2dCQUN2RSxLQUFLLEVBQUUsMERBQTBEO2FBQ2xFO1lBQ0QsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLDBDQUEwQyxFQUFFO1lBQ3pGLEVBQUUsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxFQUFFLGtDQUFrQyxFQUFFO1lBQzFGO2dCQUNFLGlCQUFpQixFQUFFLGdCQUFnQjtnQkFDbkMsS0FBSyxFQUFFLCtDQUErQzthQUN2RDtZQUNEO2dCQUNFLGlCQUFpQixFQUFFLDhDQUE4QztnQkFDakUsS0FBSyxFQUFFLG1FQUFtRTthQUMzRTtTQUNGLENBQUM7UUFFRixNQUFNLHVEQUF1RCxHQUFHLDBCQUEwQixJQUFBLGtDQUF3QixFQUNoSCxLQUFLLENBQUMsWUFBWSxDQUNuQixxRkFBcUYsQ0FBQztRQUN2RixNQUFNLHVEQUF1RCxHQUFHLDBCQUEwQixJQUFBLGtD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QUNuRSxJQUFJLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQyxpQkFBaUIsUUFBUTtZQUNwRCxXQUFXO1lBQ1gsWUFBWTtZQUNaLE9BQU8sRUFBRSxRQUFRLGlCQUFpQixDQUFDLGlCQUFpQixnQ0FDbEQsaUJBQWlCLENBQUMsaUJBQWlCLElBQUksRUFDekMsRUFBRTtZQUNGLFdBQVcsRUFBRSx3Q0FBNEIsQ0FBQyxXQUFXO1lBQ3JELEtBQUssRUFBRSwyQkFBMkIsaUJBQWlCLENBQUMsS0FBSyx5SkFBeUo7WUFDbE4sZUFBZSxFQUFFO2dCQUNmLFdBQVcsRUFBRSxLQUFLO2dCQUNsQixZQUFZLEVBQUUsS0FBSztnQkFDbkIsZ0JBQWdCLEVBQUU7b0JBQ2hCLGFBQWEsRUFBRSxVQUFVO29CQUN6QixjQUFjLEVBQUUsVUFBVTtpQkFDM0I7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBakpILHdEQWtKQzs7O0FBRUQsU0FBUyxjQUFjLENBQUMsS0FBMkI7SUFDakQsTUFBTSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuRSxJQUFJLDZCQUFXLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRTtRQUNwQyxPQUFPLEVBQUUsb0NBQWtCLENBQUMsZ0JBQWdCO1FBQzVDLFdBQVc7UUFDWCxPQUFPO1FBQ1AsT0FBTyxFQUFFLE9BQU87S0FDakIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgRGF0YWRvZ09yZ2FuaXphdGlvbiwgZ2V0T3JnYW5pemF0aW9uVXJsUHJlZml4IH0gZnJvbSAnLi4vLi4vLi4vZGF0YWRvZyc7XG5pbXBvcnQgeyBEYXRhZG9nQWxlcnRUeXBlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YWRvZy9kYXRhZG9nLW1vbml0b3InO1xuaW1wb3J0IHsgSU5vdGlmaWNhdGlvbiwgRGVmYXVsdFNsYWNrTm90aWZpY2F0aW9uLCBEYXRhZG9nTW9uaXRvciwgRGF0YWRvZ01vbml0b3JRdWVyeUFsZXJ0VHlwZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFkb2d2Mic7XG5pbXBvcnQgeyBDbGFpZG9tZXRlciwgQ2xhaWRvbWV0ZXJQcm9kdWN0IH0gZnJvbSAnLi4vLi4vLi4vcmlvLWNsYWlkb21ldGVyJztcblxuaW50ZXJmYWNlIFVzYWdlU3Bpa2VNb25pdG9yIHtcbiAgaHVtYW5SZWFkYWJsZU5hbWU6IHN0cmluZztcbiAgcXVlcnk6IHN0cmluZztcbiAgYWRkaXRpb25hbE1lc3NhZ2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YWRvZ1VzYWdlTW9uaXRvcmluZ1Byb3BzIHtcbiAgcmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIG5vdCBzdXBwb3J0ZWQgYW55bW9yZS4gdXNlIGBub3RpZmljYXRpb25gIGluc3RlYWQuXG4gICAqL1xuICByZWFkb25seSBhbGVydFR5cGU/OiBEYXRhZG9nQWxlcnRUeXBlO1xuICByZWFkb25seSBub3RpZmljYXRpb24/OiBJTm90aWZpY2F0aW9uO1xuICByZWFkb25seSBvcmdhbml6YXRpb246IERhdGFkb2dPcmdhbml6YXRpb247XG59XG5cbi8qKlxuICogVGhpcyBpcyBhIGJldGEgY29uc3RydWN0IGFuZCBpcyBsaWtlbHkgdG8gaGF2ZSBicmVha2luZyBjaGFuZ2VzLlxuICogVGhlIGNvbnN0cnVjdCBjcmVhdGVzIG1vbml0b3JpbmcgKGJhc2VkIG9uIGFub21hbHkgZGV0ZWN0aW9uKSBmb3IgdGhlIHVzYWdlIG9mIHRoZSBtb3N0IHJlbGV2YW50IERhdGFkb2cgcmVzb3VyY2VzXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhZG9nVXNhZ2VNb25pdG9yaW5nIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhZG9nVXNhZ2VNb25pdG9yaW5nUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgaW5mcmFzdHJ1Y3R1cmVVc2FnZVNwaWtlTW9uaXRvcnM6IFVzYWdlU3Bpa2VNb25pdG9yW10gPSBbXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiAnaW5mcmFzdHJ1Y3R1cmUgaG9zdHMnLFxuICAgICAgICBxdWVyeTogJ3N1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5ob3N0c3sqfScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBodW1hblJlYWRhYmxlTmFtZTogXCJpbmZyYXN0cnVjdHVyZSBob3N0cyBmb3IgJ3t7Y2hpbGRfb3JnX25hbWUubmFtZX19J1wiLFxuICAgICAgICBxdWVyeTogJ3N1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5ob3N0c3sqfSBieSB7Y2hpbGRfb3JnX25hbWV9JyxcbiAgICAgIH0sXG4gICAgICB7IGh1bWFuUmVhZGFibGVOYW1lOiAnRmFyZ2F0ZSB0YXNrcycsIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuYXBtLmZhcmdhdGVfdGFza19pbnN0YW5jZXsqfScgfSxcbiAgICAgIHsgaHVtYW5SZWFkYWJsZU5hbWU6ICdwcm9maWxlZCBGYXJnYXRlIHRhc2tzJywgcXVlcnk6ICdzdW06ZGF0YWRvZy5wcm9maWxpbmcuZmFyZ2F0ZXsqfScgfSxcbiAgICAgIHtcbiAgICAgICAgaHVtYW5SZWFkYWJsZU5hbWU6ICdjdXN0b20gbWV0cmljcycsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLm1ldHJpY3MuY3VzdG9teyp9JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiBcImN1c3RvbSBtZXRyaWNzIGZvciAne3tjaGlsZF9vcmdfbmFtZS5uYW1lfX0nXCIsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLm1ldHJpY3MuY3VzdG9teyp9IGJ5IHtjaGlsZF9vcmdfbmFtZX0nLFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgY29uc3QgYWRkaXRpb25hbE1lc3NhZ2VMb2dNYW5hZ2VtZW50Rm9yR2xvYmFsbHlTY29wZWRNb25pdG9ycyA9IGBUYWtlIGEgbG9vayBhdCBodHRwczovLyR7Z2V0T3JnYW5pemF0aW9uVXJsUHJlZml4KFxuICAgICAgcHJvcHMub3JnYW5pemF0aW9uLFxuICAgICl9LmRhdGFkb2docS5ldS9kYXNoL2ludGVncmF0aW9uLzQ2NS9sb2ctbWFuYWdlbWVudC1lc3RpbWF0ZWQtdXNhZ2UgZm9yIG1vcmUgZGV0YWlscy5gO1xuICAgIGNvbnN0IGFkZGl0aW9uYWxNZXNzYWdlTG9nTWFuYWdlbWVudEZvckxvZ0luZGV4U2NvcGVkTW9uaXRvcnMgPSBgVGFrZSBhIGxvb2sgYXQgaHR0cHM6Ly8ke2dldE9yZ2FuaXphdGlvblVybFByZWZpeChcbiAgICAgIHByb3BzLm9yZ2FuaXphdGlvbixcbiAgICApfS5kYXRhZG9naHEuZXUvZGFzaC9pbnRlZ3JhdGlvbi80NjUvbG9nLW1hbmFnZW1lbnQtZXN0aW1hdGVkLXVzYWdlP3RwbF92YXJfZGF0YWRvZ19pbmRleD17e2RhdGFkb2dfaW5kZXgubmFtZX19IGZvciBtb3JlIGRldGFpbHMuYDtcbiAgICBjb25zdCBsb2dNYW5hZ2VtZW50VXNhZ2VTcGlrZU1vbml0b3JzOiBVc2FnZVNwaWtlTW9uaXRvcltdID0gW1xuICAgICAge1xuICAgICAgICBodW1hblJlYWRhYmxlTmFtZTogJ2xvZyBpbmdlc3Rpb24nLFxuICAgICAgICBxdWVyeTogJ3N1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5sb2dzLmluZ2VzdGVkX2J5dGVzeyp9LmFzX2NvdW50KCknLFxuICAgICAgICBhZGRpdGlvbmFsTWVzc2FnZTogYWRkaXRpb25hbE1lc3NhZ2VMb2dNYW5hZ2VtZW50Rm9yR2xvYmFsbHlTY29wZWRNb25pdG9ycyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiBcImxvZyBpbmdlc3Rpb24gZm9yICd7e2RhdGFkb2dfaW5kZXgubmFtZX19J1wiLFxuICAgICAgICBxdWVyeTogJ3N1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5sb2dzLmluZ2VzdGVkX2J5dGVzeyp9IGJ5IHtkYXRhZG9nX2luZGV4fS5hc19jb3VudCgpJyxcbiAgICAgICAgYWRkaXRpb25hbE1lc3NhZ2U6IGFkZGl0aW9uYWxNZXNzYWdlTG9nTWFuYWdlbWVudEZvckxvZ0luZGV4U2NvcGVkTW9uaXRvcnMsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBodW1hblJlYWRhYmxlTmFtZTogJ2xvZyBpbmRleGluZycsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLmxvZ3MuaW5nZXN0ZWRfZXZlbnRze2RhdGFkb2dfaXNfZXhjbHVkZWQ6ZmFsc2V9LmFzX2NvdW50KCknLFxuICAgICAgICBhZGRpdGlvbmFsTWVzc2FnZTogYWRkaXRpb25hbE1lc3NhZ2VMb2dNYW5hZ2VtZW50Rm9yR2xvYmFsbHlTY29wZWRNb25pdG9ycyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiBcImxvZyBpbmRleGluZyBmb3IgJ3t7ZGF0YWRvZ19pbmRleC5uYW1lfX0nXCIsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLmxvZ3MuaW5nZXN0ZWRfZXZlbnRze2RhdGFkb2dfaXNfZXhjbHVkZWQ6ZmFsc2V9IGJ5IHtkYXRhZG9nX2luZGV4fS5hc19jb3VudCgpJyxcbiAgICAgICAgYWRkaXRpb25hbE1lc3NhZ2U6IGFkZGl0aW9uYWxNZXNzYWdlTG9nTWFuYWdlbWVudEZvckxvZ0luZGV4U2NvcGVkTW9uaXRvcnMsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBjb25zdCBhZGRpdGlvbmFsTWVzc2FnZUFwbUZvckdsb2JhbGx5U2NvcGVkTW9uaXRvcnMgPSBgVGFrZSBhIGxvb2sgYXQgaHR0cHM6Ly8ke2dldE9yZ2FuaXphdGlvblVybFByZWZpeChcbiAgICAgIHByb3BzLm9yZ2FuaXphdGlvbixcbiAgICApfS5kYXRhZG9naHEuZXUvZGFzaC9pbnRlZ3JhdGlvbi80ODkvYXBtLXRyYWNlcy1lc3RpbWF0ZWQtdXNhZ2UgZm9yIG1vcmUgZGV0YWlscy5gO1xuICAgIGNvbnN0IGFkZGl0aW9uYWxNZXNzYWdlQXBtRm9yRW52U2NvcGVkTW9uaXRvcnMgPSBgVGFrZSBhIGxvb2sgYXQgaHR0cHM6Ly8ke2dldE9yZ2FuaXphdGlvblVybFByZWZpeChcbiAgICAgIHByb3BzLm9yZ2FuaXphdGlvbixcbiAgICApfS5kYXRhZG9naHEuZXUvZGFzaC9pbnRlZ3JhdGlvbi80ODkvYXBtLXRyYWNlcy1lc3RpbWF0ZWQtdXNhZ2U/dHBsX3Zhcl9lbnY9e3tlbnYubmFtZX19IGZvciBtb3JlIGRldGFpbHMuYDtcbiAgICBjb25zdCBhcG1Vc2FnZVNwaWtlTW9uaXRvcnM6IFVzYWdlU3Bpa2VNb25pdG9yW10gPSBbXG4gICAgICB7IGh1bWFuUmVhZGFibGVOYW1lOiAnQVBNIGhvc3RzJywgcXVlcnk6ICdzdW06ZGF0YWRvZy5lc3RpbWF0ZWRfdXNhZ2UuYXBtX2hvc3Rzeyp9JyB9LFxuICAgICAge1xuICAgICAgICBodW1hblJlYWRhYmxlTmFtZTogXCJBUE0gaG9zdHMgZm9yICd7e2NoaWxkX29yZ19uYW1lLm5hbWV9fSdcIixcbiAgICAgICAgcXVlcnk6ICdzdW06ZGF0YWRvZy5lc3RpbWF0ZWRfdXNhZ2UuYXBtX2hvc3Rzeyp9IGJ5IHtjaGlsZF9vcmdfbmFtZX0nLFxuICAgICAgICBhZGRpdGlvbmFsTWVzc2FnZTogYWRkaXRpb25hbE1lc3NhZ2VBcG1Gb3JHbG9iYWxseVNjb3BlZE1vbml0b3JzLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaHVtYW5SZWFkYWJsZU5hbWU6ICdzcGFuIGluZ2VzdGlvbicsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLmFwbS5pbmdlc3RlZF9ieXRlc3sqfS5hc19jb3VudCgpJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiBcInNwYW4gaW5nZXN0aW9uIGZvciAne3tlbnYubmFtZX19J1wiLFxuICAgICAgICBxdWVyeTogJ3N1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5hcG0uaW5nZXN0ZWRfYnl0ZXN7Kn0gYnkge2Vudn0uYXNfY291bnQoKScsXG4gICAgICAgIGFkZGl0aW9uYWxNZXNzYWdlOiBhZGRpdGlvbmFsTWVzc2FnZUFwbUZvckVudlNjb3BlZE1vbml0b3JzLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaHVtYW5SZWFkYWJsZU5hbWU6ICdzcGFuIGluZGV4aW5nJyxcbiAgICAgICAgcXVlcnk6ICdzdW06ZGF0YWRvZy5lc3RpbWF0ZWRfdXNhZ2UuYXBtLmluZGV4ZWRfc3BhbnN7Kn0uYXNfY291bnQoKScsXG4gICAgICAgIGFkZGl0aW9uYWxNZXNzYWdlOiBhZGRpdGlvbmFsTWVzc2FnZUFwbUZvckdsb2JhbGx5U2NvcGVkTW9uaXRvcnMsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBodW1hblJlYWRhYmxlTmFtZTogXCJzcGFuIGluZGV4aW5nIGZvciAne3tlbnYubmFtZX19J1wiLFxuICAgICAgICBxdWVyeTogJ3N1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5hcG0uaW5kZXhlZF9zcGFuc3sqfSBieSB7ZW52fS5hc19jb3VudCgpJyxcbiAgICAgICAgYWRkaXRpb25hbE1lc3NhZ2U6IGFkZGl0aW9uYWxNZXNzYWdlQXBtRm9yRW52U2NvcGVkTW9uaXRvcnMsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBjb25zdCBzeW50aGV0aWNVc2FnZVNwaWtlTW9uaXRvcnM6IFVzYWdlU3Bpa2VNb25pdG9yW10gPSBbXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiAnU3ludGhldGljIEFQSSB0ZXN0cycsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLnN5bnRoZXRpY3MuYXBpX3Rlc3RfcnVuc3sqfS5hc19jb3VudCgpJyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IHNlcnZlcmxlc3NVc2FnZVNwaWtlTW9uaXRvcnM6IFVzYWdlU3Bpa2VNb25pdG9yW10gPSBbXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiAnc2VydmVybGVzcyBmdW5jdGlvbnMnLFxuICAgICAgICBxdWVyeTogJ3N1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5zZXJ2ZXJsZXNzLmF3c19sYW1iZGFfZnVuY3Rpb25zeyp9JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiBcInNlcnZlcmxlc3MgZnVuY3Rpb25zIGZvciAne3tjaGlsZF9vcmdfbmFtZS5uYW1lfX0nXCIsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLnNlcnZlcmxlc3MuYXdzX2xhbWJkYV9mdW5jdGlvbnN7Kn0gYnkge2NoaWxkX29yZ19uYW1lfScsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBjb25zdCBub3RpZmljYXRpb24gPSBwcm9wcy5ub3RpZmljYXRpb24gPz8gbmV3IERlZmF1bHRTbGFja05vdGlmaWNhdGlvbigpO1xuICAgIGZvciAoY29uc3QgdXNhZ2VTcGlrZU1vbml0b3Igb2YgKFtdIGFzIFVzYWdlU3Bpa2VNb25pdG9yW10pLmNvbmNhdChcbiAgICAgIGluZnJhc3RydWN0dXJlVXNhZ2VTcGlrZU1vbml0b3JzLFxuICAgICAgbG9nTWFuYWdlbWVudFVzYWdlU3Bpa2VNb25pdG9ycyxcbiAgICAgIGFwbVVzYWdlU3Bpa2VNb25pdG9ycyxcbiAgICAgIHNlcnZlcmxlc3NVc2FnZVNwaWtlTW9uaXRvcnMsXG4gICAgICBzeW50aGV0aWNVc2FnZVNwaWtlTW9uaXRvcnMsXG4gICAgKSkge1xuICAgICAgdGhpcy5jcmVhdGVBbm9tYWx5TW9uaXRvckZvclNwaWtlcyhwcm9wcy5zZXJ2aWNlTmFtZSwgdXNhZ2VTcGlrZU1vbml0b3IsIG5vdGlmaWNhdGlvbik7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLm9yZ2FuaXphdGlvbiA9PT0gJ0VVJykge1xuICAgICAgYWRkQ2xhaWRvbWV0ZXIodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVBbm9tYWx5TW9uaXRvckZvclNwaWtlcyhcbiAgICBzZXJ2aWNlTmFtZTogc3RyaW5nLFxuICAgIHVzYWdlU3Bpa2VNb25pdG9yOiBVc2FnZVNwaWtlTW9uaXRvcixcbiAgICBub3RpZmljYXRpb246IElOb3RpZmljYXRpb24sXG4gICk6IERhdGFkb2dNb25pdG9yIHtcbiAgICByZXR1cm4gbmV3IERhdGFkb2dNb25pdG9yKHRoaXMsIHVzYWdlU3Bpa2VNb25pdG9yLmh1bWFuUmVhZGFibGVOYW1lLCB7XG4gICAgICBuYW1lOiBgJHt1c2FnZVNwaWtlTW9uaXRvci5odW1hblJlYWRhYmxlTmFtZX0gc3Bpa2VgLFxuICAgICAgc2VydmljZU5hbWUsXG4gICAgICBub3RpZmljYXRpb24sXG4gICAgICBtZXNzYWdlOiBgW1A0XSAke3VzYWdlU3Bpa2VNb25pdG9yLmh1bWFuUmVhZGFibGVOYW1lfSBhcmUgZ2V0dGluZyBvdXQtb2YtY29udHJvbC4gJHtcbiAgICAgICAgdXNhZ2VTcGlrZU1vbml0b3IuYWRkaXRpb25hbE1lc3NhZ2UgPz8gJydcbiAgICAgIH1gLFxuICAgICAgbW9uaXRvclR5cGU6IERhdGFkb2dNb25pdG9yUXVlcnlBbGVydFR5cGUuUVVFUllfQUxFUlQsXG4gICAgICBxdWVyeTogYGF2ZyhsYXN0XzEyaCk6YW5vbWFsaWVzKCR7dXNhZ2VTcGlrZU1vbml0b3IucXVlcnl9LCAnYWdpbGUnLCAzLCBkaXJlY3Rpb249J2Fib3ZlJywgaW50ZXJ2YWw9MTIwLCBhbGVydF93aW5kb3c9J2xhc3RfMzBtJywgc2Vhc29uYWxpdHk9J3dlZWtseScsIHRpbWV6b25lPSdldXJvcGUvYmVybGluJywgY291bnRfZGVmYXVsdF96ZXJvPSd0cnVlJykgPj0gMWAsXG4gICAgICBvcHRpb25PdmVycmlkZXM6IHtcbiAgICAgICAgaW5jbHVkZVRhZ3M6IGZhbHNlLFxuICAgICAgICBub3RpZnlOb0RhdGE6IGZhbHNlLFxuICAgICAgICB0aHJlc2hvbGRXaW5kb3dzOiB7XG4gICAgICAgICAgdHJpZ2dlcldpbmRvdzogJ2xhc3RfMzBtJyxcbiAgICAgICAgICByZWNvdmVyeVdpbmRvdzogJ2xhc3RfMTVtJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gYWRkQ2xhaWRvbWV0ZXIoc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0KSB7XG4gIGNvbnN0IFtmZWF0dXJlLCBwYWNrYWdlTmFtZV0gPSBfX2Rpcm5hbWUuc3BsaXQocGF0aC5zZXApLnJldmVyc2UoKTtcbiAgbmV3IENsYWlkb21ldGVyKHNjb3BlLCAnQ2xhaWRvbWV0ZXInLCB7XG4gICAgcHJvZHVjdDogQ2xhaWRvbWV0ZXJQcm9kdWN0LkNES19DT05UUklCVVRJT04sXG4gICAgcGFja2FnZU5hbWUsXG4gICAgZmVhdHVyZSxcbiAgICB2ZXJzaW9uOiAnMC4wLjgnLFxuICB9KTtcbn1cbiJdfQ==
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWRvZy11c2FnZS1tb25pdG9yaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbnRyaWJ1dGlvbnMvdGVhbS1jbGFpZC9kYXRhZG9nLXVzYWdlLW1vbml0b3JpbmcvZGF0YWRvZy11c2FnZS1tb25pdG9yaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkJBQTZCO0FBQzdCLHlDQUF5QztBQUN6Qyw4Q0FBbUc7QUFDbkcsa0RBQTJIO0FBQzNILDhEQUEyRTtBQXFCM0U7Ozs7R0FJRztBQUNILE1BQWEsc0JBQXVCLFNBQVEsVUFBVSxDQUFDLFNBQVM7SUFDOUQsWUFBWSxLQUEyQixFQUFFLEVBQVUsRUFBRSxLQUFrQztRQUNyRixLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sZ0NBQWdDLEdBQXdCO1lBQzVEO2dCQUNFLGlCQUFpQixFQUFFLHNCQUFzQjtnQkFDekMsS0FBSyxFQUFFLHNDQUFzQzthQUM5QztZQUNEO2dCQUNFLGlCQUFpQixFQUFFLG9EQUFvRDtnQkFDdkUsS0FBSyxFQUFFLDBEQUEwRDthQUNsRTtZQUNELEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSwwQ0FBMEMsRUFBRTtZQUN6RixFQUFFLGlCQUFpQixFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxrQ0FBa0MsRUFBRTtZQUMxRjtnQkFDRSxpQkFBaUIsRUFBRSxnQkFBZ0I7Z0JBQ25DLEtBQUssRUFBRSwrQ0FBK0M7YUFDdkQ7WUFDRDtnQkFDRSxpQkFBaUIsRUFBRSw4Q0FBOEM7Z0JBQ2pFLEtBQUssRUFBRSxtRUFBbUU7YUFDM0U7U0FDRixDQUFDO1FBRUYsTUFBTSx1REFBdUQsR0FBRywwQkFBMEIsSUFBQSxrQ0FBd0IsRUFDaEgsS0FBSyxDQUFDLFlBQVksQ0FDbkIscUZBQXFGLENBQUM7UUFDdkYsTUFBTSx1REFBdUQsR0FBRywwQkFBMEIsSUFBQSxr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WUFDbkUsSUFBSSxFQUFFLEdBQUcsaUJBQWlCLENBQUMsaUJBQWlCLFFBQVE7WUFDcEQsV0FBVztZQUNYLFlBQVk7WUFDWixPQUFPLEVBQUUsUUFBUSxpQkFBaUIsQ0FBQyxpQkFBaUIsZ0NBQ2xELGlCQUFpQixDQUFDLGlCQUFpQixJQUFJLEVBQ3pDLEVBQUU7WUFDRixXQUFXLEVBQUUsd0NBQTRCLENBQUMsV0FBVztZQUNyRCxLQUFLLEVBQUUsMkJBQTJCLGlCQUFpQixDQUFDLEtBQUsseUpBQXlKO1lBQ2xOLGVBQWUsRUFBRTtnQkFDZixXQUFXLEVBQUUsS0FBSztnQkFDbEIsWUFBWSxFQUFFLEtBQUs7Z0JBQ25CLGdCQUFnQixFQUFFO29CQUNoQixhQUFhLEVBQUUsVUFBVTtvQkFDekIsY0FBYyxFQUFFLFVBQVU7aUJBQzNCO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOztBQWpKSCx3REFrSkM7OztBQUVELFNBQVMsY0FBYyxDQUFDLEtBQTJCO0lBQ2pELE1BQU0sQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkUsSUFBSSw2QkFBVyxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUU7UUFDcEMsT0FBTyxFQUFFLG9DQUFrQixDQUFDLGdCQUFnQjtRQUM1QyxXQUFXO1FBQ1gsT0FBTztRQUNQLE9BQU8sRUFBRSxPQUFPO0tBQ2pCLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IERhdGFkb2dPcmdhbml6YXRpb24sIERhdGFkb2dBbGVydFR5cGUsIGdldE9yZ2FuaXphdGlvblVybFByZWZpeCB9IGZyb20gJy4uLy4uLy4uL2RhdGFkb2cnO1xuaW1wb3J0IHsgSU5vdGlmaWNhdGlvbiwgRGVmYXVsdFNsYWNrTm90aWZpY2F0aW9uLCBEYXRhZG9nTW9uaXRvciwgRGF0YWRvZ01vbml0b3JRdWVyeUFsZXJ0VHlwZSB9IGZyb20gJy4uLy4uLy4uL2RhdGFkb2d2Mic7XG5pbXBvcnQgeyBDbGFpZG9tZXRlciwgQ2xhaWRvbWV0ZXJQcm9kdWN0IH0gZnJvbSAnLi4vLi4vLi4vcmlvLWNsYWlkb21ldGVyJztcblxuaW50ZXJmYWNlIFVzYWdlU3Bpa2VNb25pdG9yIHtcbiAgaHVtYW5SZWFkYWJsZU5hbWU6IHN0cmluZztcbiAgcXVlcnk6IHN0cmluZztcbiAgYWRkaXRpb25hbE1lc3NhZ2U/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVGhpcyBpbnRlcmZhY2Ugd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhZG9nVXNhZ2VNb25pdG9yaW5nUHJvcHMge1xuICByZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgbm90IHN1cHBvcnRlZCBhbnltb3JlLiB1c2UgYG5vdGlmaWNhdGlvbmAgaW5zdGVhZC5cbiAgICovXG4gIHJlYWRvbmx5IGFsZXJ0VHlwZT86IERhdGFkb2dBbGVydFR5cGU7XG4gIHJlYWRvbmx5IG5vdGlmaWNhdGlvbj86IElOb3RpZmljYXRpb247XG4gIHJlYWRvbmx5IG9yZ2FuaXphdGlvbjogRGF0YWRvZ09yZ2FuaXphdGlvbjtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBUaGlzIGludGVyZmFjZSB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvblxuICogVGhpcyBpcyBhIGJldGEgY29uc3RydWN0IGFuZCBpcyBsaWtlbHkgdG8gaGF2ZSBicmVha2luZyBjaGFuZ2VzLlxuICogVGhlIGNvbnN0cnVjdCBjcmVhdGVzIG1vbml0b3JpbmcgKGJhc2VkIG9uIGFub21hbHkgZGV0ZWN0aW9uKSBmb3IgdGhlIHVzYWdlIG9mIHRoZSBtb3N0IHJlbGV2YW50IERhdGFkb2cgcmVzb3VyY2VzXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRhZG9nVXNhZ2VNb25pdG9yaW5nIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhZG9nVXNhZ2VNb25pdG9yaW5nUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgaW5mcmFzdHJ1Y3R1cmVVc2FnZVNwaWtlTW9uaXRvcnM6IFVzYWdlU3Bpa2VNb25pdG9yW10gPSBbXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiAnaW5mcmFzdHJ1Y3R1cmUgaG9zdHMnLFxuICAgICAgICBxdWVyeTogJ3N1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5ob3N0c3sqfScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBodW1hblJlYWRhYmxlTmFtZTogXCJpbmZyYXN0cnVjdHVyZSBob3N0cyBmb3IgJ3t7Y2hpbGRfb3JnX25hbWUubmFtZX19J1wiLFxuICAgICAgICBxdWVyeTogJ3N1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5ob3N0c3sqfSBieSB7Y2hpbGRfb3JnX25hbWV9JyxcbiAgICAgIH0sXG4gICAgICB7IGh1bWFuUmVhZGFibGVOYW1lOiAnRmFyZ2F0ZSB0YXNrcycsIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuYXBtLmZhcmdhdGVfdGFza19pbnN0YW5jZXsqfScgfSxcbiAgICAgIHsgaHVtYW5SZWFkYWJsZU5hbWU6ICdwcm9maWxlZCBGYXJnYXRlIHRhc2tzJywgcXVlcnk6ICdzdW06ZGF0YWRvZy5wcm9maWxpbmcuZmFyZ2F0ZXsqfScgfSxcbiAgICAgIHtcbiAgICAgICAgaHVtYW5SZWFkYWJsZU5hbWU6ICdjdXN0b20gbWV0cmljcycsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLm1ldHJpY3MuY3VzdG9teyp9JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiBcImN1c3RvbSBtZXRyaWNzIGZvciAne3tjaGlsZF9vcmdfbmFtZS5uYW1lfX0nXCIsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLm1ldHJpY3MuY3VzdG9teyp9IGJ5IHtjaGlsZF9vcmdfbmFtZX0nLFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgY29uc3QgYWRkaXRpb25hbE1lc3NhZ2VMb2dNYW5hZ2VtZW50Rm9yR2xvYmFsbHlTY29wZWRNb25pdG9ycyA9IGBUYWtlIGEgbG9vayBhdCBodHRwczovLyR7Z2V0T3JnYW5pemF0aW9uVXJsUHJlZml4KFxuICAgICAgcHJvcHMub3JnYW5pemF0aW9uLFxuICAgICl9LmRhdGFkb2docS5ldS9kYXNoL2ludGVncmF0aW9uLzQ2NS9sb2ctbWFuYWdlbWVudC1lc3RpbWF0ZWQtdXNhZ2UgZm9yIG1vcmUgZGV0YWlscy5gO1xuICAgIGNvbnN0IGFkZGl0aW9uYWxNZXNzYWdlTG9nTWFuYWdlbWVudEZvckxvZ0luZGV4U2NvcGVkTW9uaXRvcnMgPSBgVGFrZSBhIGxvb2sgYXQgaHR0cHM6Ly8ke2dldE9yZ2FuaXphdGlvblVybFByZWZpeChcbiAgICAgIHByb3BzLm9yZ2FuaXphdGlvbixcbiAgICApfS5kYXRhZG9naHEuZXUvZGFzaC9pbnRlZ3JhdGlvbi80NjUvbG9nLW1hbmFnZW1lbnQtZXN0aW1hdGVkLXVzYWdlP3RwbF92YXJfZGF0YWRvZ19pbmRleD17e2RhdGFkb2dfaW5kZXgubmFtZX19IGZvciBtb3JlIGRldGFpbHMuYDtcbiAgICBjb25zdCBsb2dNYW5hZ2VtZW50VXNhZ2VTcGlrZU1vbml0b3JzOiBVc2FnZVNwaWtlTW9uaXRvcltdID0gW1xuICAgICAge1xuICAgICAgICBodW1hblJlYWRhYmxlTmFtZTogJ2xvZyBpbmdlc3Rpb24nLFxuICAgICAgICBxdWVyeTogJ3N1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5sb2dzLmluZ2VzdGVkX2J5dGVzeyp9LmFzX2NvdW50KCknLFxuICAgICAgICBhZGRpdGlvbmFsTWVzc2FnZTogYWRkaXRpb25hbE1lc3NhZ2VMb2dNYW5hZ2VtZW50Rm9yR2xvYmFsbHlTY29wZWRNb25pdG9ycyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiBcImxvZyBpbmdlc3Rpb24gZm9yICd7e2RhdGFkb2dfaW5kZXgubmFtZX19J1wiLFxuICAgICAgICBxdWVyeTogJ3N1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5sb2dzLmluZ2VzdGVkX2J5dGVzeyp9IGJ5IHtkYXRhZG9nX2luZGV4fS5hc19jb3VudCgpJyxcbiAgICAgICAgYWRkaXRpb25hbE1lc3NhZ2U6IGFkZGl0aW9uYWxNZXNzYWdlTG9nTWFuYWdlbWVudEZvckxvZ0luZGV4U2NvcGVkTW9uaXRvcnMsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBodW1hblJlYWRhYmxlTmFtZTogJ2xvZyBpbmRleGluZycsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLmxvZ3MuaW5nZXN0ZWRfZXZlbnRze2RhdGFkb2dfaXNfZXhjbHVkZWQ6ZmFsc2V9LmFzX2NvdW50KCknLFxuICAgICAgICBhZGRpdGlvbmFsTWVzc2FnZTogYWRkaXRpb25hbE1lc3NhZ2VMb2dNYW5hZ2VtZW50Rm9yR2xvYmFsbHlTY29wZWRNb25pdG9ycyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiBcImxvZyBpbmRleGluZyBmb3IgJ3t7ZGF0YWRvZ19pbmRleC5uYW1lfX0nXCIsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLmxvZ3MuaW5nZXN0ZWRfZXZlbnRze2RhdGFkb2dfaXNfZXhjbHVkZWQ6ZmFsc2V9IGJ5IHtkYXRhZG9nX2luZGV4fS5hc19jb3VudCgpJyxcbiAgICAgICAgYWRkaXRpb25hbE1lc3NhZ2U6IGFkZGl0aW9uYWxNZXNzYWdlTG9nTWFuYWdlbWVudEZvckxvZ0luZGV4U2NvcGVkTW9uaXRvcnMsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBjb25zdCBhZGRpdGlvbmFsTWVzc2FnZUFwbUZvckdsb2JhbGx5U2NvcGVkTW9uaXRvcnMgPSBgVGFrZSBhIGxvb2sgYXQgaHR0cHM6Ly8ke2dldE9yZ2FuaXphdGlvblVybFByZWZpeChcbiAgICAgIHByb3BzLm9yZ2FuaXphdGlvbixcbiAgICApfS5kYXRhZG9naHEuZXUvZGFzaC9pbnRlZ3JhdGlvbi80ODkvYXBtLXRyYWNlcy1lc3RpbWF0ZWQtdXNhZ2UgZm9yIG1vcmUgZGV0YWlscy5gO1xuICAgIGNvbnN0IGFkZGl0aW9uYWxNZXNzYWdlQXBtRm9yRW52U2NvcGVkTW9uaXRvcnMgPSBgVGFrZSBhIGxvb2sgYXQgaHR0cHM6Ly8ke2dldE9yZ2FuaXphdGlvblVybFByZWZpeChcbiAgICAgIHByb3BzLm9yZ2FuaXphdGlvbixcbiAgICApfS5kYXRhZG9naHEuZXUvZGFzaC9pbnRlZ3JhdGlvbi80ODkvYXBtLXRyYWNlcy1lc3RpbWF0ZWQtdXNhZ2U/dHBsX3Zhcl9lbnY9e3tlbnYubmFtZX19IGZvciBtb3JlIGRldGFpbHMuYDtcbiAgICBjb25zdCBhcG1Vc2FnZVNwaWtlTW9uaXRvcnM6IFVzYWdlU3Bpa2VNb25pdG9yW10gPSBbXG4gICAgICB7IGh1bWFuUmVhZGFibGVOYW1lOiAnQVBNIGhvc3RzJywgcXVlcnk6ICdzdW06ZGF0YWRvZy5lc3RpbWF0ZWRfdXNhZ2UuYXBtX2hvc3Rzeyp9JyB9LFxuICAgICAge1xuICAgICAgICBodW1hblJlYWRhYmxlTmFtZTogXCJBUE0gaG9zdHMgZm9yICd7e2NoaWxkX29yZ19uYW1lLm5hbWV9fSdcIixcbiAgICAgICAgcXVlcnk6ICdzdW06ZGF0YWRvZy5lc3RpbWF0ZWRfdXNhZ2UuYXBtX2hvc3Rzeyp9IGJ5IHtjaGlsZF9vcmdfbmFtZX0nLFxuICAgICAgICBhZGRpdGlvbmFsTWVzc2FnZTogYWRkaXRpb25hbE1lc3NhZ2VBcG1Gb3JHbG9iYWxseVNjb3BlZE1vbml0b3JzLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaHVtYW5SZWFkYWJsZU5hbWU6ICdzcGFuIGluZ2VzdGlvbicsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLmFwbS5pbmdlc3RlZF9ieXRlc3sqfS5hc19jb3VudCgpJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiBcInNwYW4gaW5nZXN0aW9uIGZvciAne3tlbnYubmFtZX19J1wiLFxuICAgICAgICBxdWVyeTogJ3N1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5hcG0uaW5nZXN0ZWRfYnl0ZXN7Kn0gYnkge2Vudn0uYXNfY291bnQoKScsXG4gICAgICAgIGFkZGl0aW9uYWxNZXNzYWdlOiBhZGRpdGlvbmFsTWVzc2FnZUFwbUZvckVudlNjb3BlZE1vbml0b3JzLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaHVtYW5SZWFkYWJsZU5hbWU6ICdzcGFuIGluZGV4aW5nJyxcbiAgICAgICAgcXVlcnk6ICdzdW06ZGF0YWRvZy5lc3RpbWF0ZWRfdXNhZ2UuYXBtLmluZGV4ZWRfc3BhbnN7Kn0uYXNfY291bnQoKScsXG4gICAgICAgIGFkZGl0aW9uYWxNZXNzYWdlOiBhZGRpdGlvbmFsTWVzc2FnZUFwbUZvckdsb2JhbGx5U2NvcGVkTW9uaXRvcnMsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBodW1hblJlYWRhYmxlTmFtZTogXCJzcGFuIGluZGV4aW5nIGZvciAne3tlbnYubmFtZX19J1wiLFxuICAgICAgICBxdWVyeTogJ3N1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5hcG0uaW5kZXhlZF9zcGFuc3sqfSBieSB7ZW52fS5hc19jb3VudCgpJyxcbiAgICAgICAgYWRkaXRpb25hbE1lc3NhZ2U6IGFkZGl0aW9uYWxNZXNzYWdlQXBtRm9yRW52U2NvcGVkTW9uaXRvcnMsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBjb25zdCBzeW50aGV0aWNVc2FnZVNwaWtlTW9uaXRvcnM6IFVzYWdlU3Bpa2VNb25pdG9yW10gPSBbXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiAnU3ludGhldGljIEFQSSB0ZXN0cycsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLnN5bnRoZXRpY3MuYXBpX3Rlc3RfcnVuc3sqfS5hc19jb3VudCgpJyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IHNlcnZlcmxlc3NVc2FnZVNwaWtlTW9uaXRvcnM6IFVzYWdlU3Bpa2VNb25pdG9yW10gPSBbXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiAnc2VydmVybGVzcyBmdW5jdGlvbnMnLFxuICAgICAgICBxdWVyeTogJ3N1bTpkYXRhZG9nLmVzdGltYXRlZF91c2FnZS5zZXJ2ZXJsZXNzLmF3c19sYW1iZGFfZnVuY3Rpb25zeyp9JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGh1bWFuUmVhZGFibGVOYW1lOiBcInNlcnZlcmxlc3MgZnVuY3Rpb25zIGZvciAne3tjaGlsZF9vcmdfbmFtZS5uYW1lfX0nXCIsXG4gICAgICAgIHF1ZXJ5OiAnc3VtOmRhdGFkb2cuZXN0aW1hdGVkX3VzYWdlLnNlcnZlcmxlc3MuYXdzX2xhbWJkYV9mdW5jdGlvbnN7Kn0gYnkge2NoaWxkX29yZ19uYW1lfScsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICBjb25zdCBub3RpZmljYXRpb24gPSBwcm9wcy5ub3RpZmljYXRpb24gPz8gbmV3IERlZmF1bHRTbGFja05vdGlmaWNhdGlvbigpO1xuICAgIGZvciAoY29uc3QgdXNhZ2VTcGlrZU1vbml0b3Igb2YgKFtdIGFzIFVzYWdlU3Bpa2VNb25pdG9yW10pLmNvbmNhdChcbiAgICAgIGluZnJhc3RydWN0dXJlVXNhZ2VTcGlrZU1vbml0b3JzLFxuICAgICAgbG9nTWFuYWdlbWVudFVzYWdlU3Bpa2VNb25pdG9ycyxcbiAgICAgIGFwbVVzYWdlU3Bpa2VNb25pdG9ycyxcbiAgICAgIHNlcnZlcmxlc3NVc2FnZVNwaWtlTW9uaXRvcnMsXG4gICAgICBzeW50aGV0aWNVc2FnZVNwaWtlTW9uaXRvcnMsXG4gICAgKSkge1xuICAgICAgdGhpcy5jcmVhdGVBbm9tYWx5TW9uaXRvckZvclNwaWtlcyhwcm9wcy5zZXJ2aWNlTmFtZSwgdXNhZ2VTcGlrZU1vbml0b3IsIG5vdGlmaWNhdGlvbik7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLm9yZ2FuaXphdGlvbiA9PT0gJ0VVJykge1xuICAgICAgYWRkQ2xhaWRvbWV0ZXIodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVBbm9tYWx5TW9uaXRvckZvclNwaWtlcyhcbiAgICBzZXJ2aWNlTmFtZTogc3RyaW5nLFxuICAgIHVzYWdlU3Bpa2VNb25pdG9yOiBVc2FnZVNwaWtlTW9uaXRvcixcbiAgICBub3RpZmljYXRpb246IElOb3RpZmljYXRpb24sXG4gICk6IERhdGFkb2dNb25pdG9yIHtcbiAgICByZXR1cm4gbmV3IERhdGFkb2dNb25pdG9yKHRoaXMsIHVzYWdlU3Bpa2VNb25pdG9yLmh1bWFuUmVhZGFibGVOYW1lLCB7XG4gICAgICBuYW1lOiBgJHt1c2FnZVNwaWtlTW9uaXRvci5odW1hblJlYWRhYmxlTmFtZX0gc3Bpa2VgLFxuICAgICAgc2VydmljZU5hbWUsXG4gICAgICBub3RpZmljYXRpb24sXG4gICAgICBtZXNzYWdlOiBgW1A0XSAke3VzYWdlU3Bpa2VNb25pdG9yLmh1bWFuUmVhZGFibGVOYW1lfSBhcmUgZ2V0dGluZyBvdXQtb2YtY29udHJvbC4gJHtcbiAgICAgICAgdXNhZ2VTcGlrZU1vbml0b3IuYWRkaXRpb25hbE1lc3NhZ2UgPz8gJydcbiAgICAgIH1gLFxuICAgICAgbW9uaXRvclR5cGU6IERhdGFkb2dNb25pdG9yUXVlcnlBbGVydFR5cGUuUVVFUllfQUxFUlQsXG4gICAgICBxdWVyeTogYGF2ZyhsYXN0XzEyaCk6YW5vbWFsaWVzKCR7dXNhZ2VTcGlrZU1vbml0b3IucXVlcnl9LCAnYWdpbGUnLCAzLCBkaXJlY3Rpb249J2Fib3ZlJywgaW50ZXJ2YWw9MTIwLCBhbGVydF93aW5kb3c9J2xhc3RfMzBtJywgc2Vhc29uYWxpdHk9J3dlZWtseScsIHRpbWV6b25lPSdldXJvcGUvYmVybGluJywgY291bnRfZGVmYXVsdF96ZXJvPSd0cnVlJykgPj0gMWAsXG4gICAgICBvcHRpb25PdmVycmlkZXM6IHtcbiAgICAgICAgaW5jbHVkZVRhZ3M6IGZhbHNlLFxuICAgICAgICBub3RpZnlOb0RhdGE6IGZhbHNlLFxuICAgICAgICB0aHJlc2hvbGRXaW5kb3dzOiB7XG4gICAgICAgICAgdHJpZ2dlcldpbmRvdzogJ2xhc3RfMzBtJyxcbiAgICAgICAgICByZWNvdmVyeVdpbmRvdzogJ2xhc3RfMTVtJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gYWRkQ2xhaWRvbWV0ZXIoc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0KSB7XG4gIGNvbnN0IFtmZWF0dXJlLCBwYWNrYWdlTmFtZV0gPSBfX2Rpcm5hbWUuc3BsaXQocGF0aC5zZXApLnJldmVyc2UoKTtcbiAgbmV3IENsYWlkb21ldGVyKHNjb3BlLCAnQ2xhaWRvbWV0ZXInLCB7XG4gICAgcHJvZHVjdDogQ2xhaWRvbWV0ZXJQcm9kdWN0LkNES19DT05UUklCVVRJT04sXG4gICAgcGFja2FnZU5hbWUsXG4gICAgZmVhdHVyZSxcbiAgICB2ZXJzaW9uOiAnMC4wLjgnLFxuICB9KTtcbn1cbiJdfQ==
@@ -126,6 +126,13 @@ export interface KafkaTopicProps {
126
126
  * @defaultValue undefined
127
127
  */
128
128
  readonly logCompactionProperties?: LogCompactionProperties;
129
+ /**
130
+ * The maximum compaction lag in milliseconds.
131
+ *
132
+ * The maximum time a message can be delayed before it is compacted.
133
+ * @defaultValue 9223372036854775807
134
+ */
135
+ readonly maxCompactionLagMs?: number;
129
136
  }
130
137
  /**
131
138
  * The current service limits can be found in the topic limits configuration of the topic manager.
@@ -186,6 +193,13 @@ export interface KafkaTopicV4Props {
186
193
  * @defaultValue undefined
187
194
  */
188
195
  readonly managedBackupEnabled?: boolean;
196
+ /**
197
+ * The maximum compaction lag in milliseconds.
198
+ *
199
+ * The maximum time a message can be delayed before it is compacted.
200
+ * @defaultValue 9223372036854775807
201
+ */
202
+ readonly maxCompactionLagMs?: number;
189
203
  }
190
204
  /**
191
205
  * The Topics target audience
@@ -73,6 +73,9 @@ const validator = (props) => {
73
73
  if (!props.isLogCompacted && props.logCompactionProperties) {
74
74
  result.push('Invalid [logCompactionProperties]: log compaction is disabled so properties must be undefined.');
75
75
  }
76
+ if (!props.isLogCompacted && props.maxCompactionLagMs) {
77
+ result.push('Invalid [maxCompactionLagMs]: max compaction lag is only allowed for log compacted topics.');
78
+ }
76
79
  return result;
77
80
  },
78
81
  };
@@ -116,6 +119,7 @@ const mapProperties = (scope, props) => {
116
119
  InstantDeletionEnabled: props.instantDeletionEnabled ?? false,
117
120
  CleanupPolicy: props.isLogCompacted ? 'compact' : 'delete',
118
121
  TeamEmail: teamEmail,
122
+ MaxCompactionLagMs: props.maxCompactionLagMs,
119
123
  ACL: {
120
124
  Read: props.acl.read,
121
125
  Write: props.acl.write,
@@ -123,4 +127,4 @@ const mapProperties = (scope, props) => {
123
127
  },
124
128
  };
125
129
  };
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Fma2EtdG9waWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva2Fma2Eva2Fma2EtdG9waWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBaUU7QUFDakUsbUNBQW1DO0FBQ25DLDJDQUFtRDtBQUNuRCx5REFBMEU7QUFDMUUsMERBQXFEO0FBbU9yRDs7OztHQUlHO0FBQ0gsTUFBYSxVQUFXLFNBQVEsc0JBQVM7SUFFdkMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBR2pCLHlCQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLENBQUMsQ0FBQztRQUV6RSxJQUFJLHlCQUFXLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUNsQyxJQUFJLEVBQUUsb0JBQW9CO1lBQzFCLFVBQVUsRUFBRTtnQkFDVixHQUFHLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO2dCQUM3QixPQUFPLEVBQUUsR0FBRzthQUNiO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7QUFqQkgsZ0NBa0JDOzs7QUFFRDs7R0FFRztBQUNILE1BQWEsWUFBYSxTQUFRLHNCQUFTO0lBRXpDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBd0I7UUFDaEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLHlCQUFXLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUNsQyxJQUFJLEVBQUUsb0JBQW9CO1lBQzFCLFVBQVUsRUFBRTtnQkFDVixHQUFHLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO2dCQUM3QixPQUFPLEVBQUUs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Q0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFO1FBQ25FLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO1FBQzlGLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxzQkFBc0IsSUFBSSxLQUFLO1FBQzdELGFBQWEsRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVE7UUFDMUQsU0FBUyxFQUFFLFNBQVM7UUFDcEIsR0FBRyxFQUFFO1lBQ0gsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSTtZQUNwQixLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLO1lBQ3RCLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU07U0FDekI7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHVyYXRpb24sIENmblJlc291cmNlLCBBbm5vdGF0aW9ucyB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QsIElDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEthZmthRXZlbnRTcGVjLCBLYWZrYUV2ZW50U3BlY1NvdXJjZSB9IGZyb20gJy4va2Fma2EtZXZlbnQtc3BlYyc7XG5pbXBvcnQgeyBSaW9MYW5kaW5nWm9uZSB9IGZyb20gJy4uL3Jpby1sYW5kaW5nLXpvbmUnO1xuXG4vKipcbiAqIFdyYXBwZXIgZm9yIGFsbCBtZXRhIGRhdGEgb2YgYSB0b3BpYy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLYWZrYVRvcGljTWV0YURhdGEge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHNwZWNzIG9mIHRoZSBldmVudHMgb24gdGhhdCB0b3BpY1xuICAgKi9cbiAgcmVhZG9ubHkgZXZlbnRzOiBLYWZrYUV2ZW50U3BlY1NvdXJjZVtdO1xuXG4gIC8qKlxuICAgKiBEZXNjcmliZXMgdGhlIGludGVudCBvZiB0aGUgdG9waWMuIFRoaXMgbWlnaHQgYmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGV2ZW50cyBvbiB0aGF0IHRvcGljXG4gICAqIG9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHByb2R1Y2VyIGFuZCB0aGUgY29udGV4dCBvZiB0aGUgZXZlbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBXcmFwcGVyIGZvciBhbGwgbWV0YSBkYXRhIG9mIGEgdjQgdG9waWMgc3BlYy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLYWZrYVRvcGljTWV0YURhdGFWNCB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgc3BlY3Mgb2YgdGhlIGV2ZW50cyBvbiB0aGF0IHRvcGljXG4gICAqL1xuICByZWFkb25seSBldmVudHM6IEthZmthRXZlbnRTcGVjU291cmNlW107XG5cbiAgLyoqXG4gICAqIERlc2NyaWJlcyB0aGUgaW50ZW50IG9mIHRoZSB0b3BpYy4gVGhpcyBtaWdodCBiZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZXZlbnRzIG9uIHRoYXQgdG9waWNcbiAgICogb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcHJvZHVjZXIgYW5kIHRoZSBjb250ZXh0IG9mIHRoZSBldmVudHMuXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgYSB0b3BpYyBpcyBtZWFudCBmb3IgY29tcG9uZW50IGludGVybmFsIHVzYWdlIG9ubHkgb3IgaWYgb3RoZXIgc2VydmljZXMgY291bGRcbiAgICogdXNlIGl0IHRvby5cbiAgICovXG4gIHJlYWRvbmx5IGF1ZGllbmNlOiBUb3BpY0F1ZGllbmNlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIHByb2R1Y2VyIHdpbGwgcmVzdG9yZSB0aGUgZGF0YSBpbiBjYXNlIG9mIGEgZGlzYXN0ZXIgb3Igbm90LlxuICAgKi9cbiAgcmVhZG9ubHkgcmVjb3ZlcnlQb2xpY3k6IFRvcGljUmVjb3ZlcnlQb2xpY3k7XG59XG5cbi8qKlxuICogUmVhZCBhbmQgd3JpdGUgcGVybWlzc2lvbnMgZm9yIHRoZSB0b3BpYy5cbiAqXG4gKiBzdHJpbmdzIGFyZSBtYXRjaGVkIGFnYWluc3QgdGhlIENOQU1FIG9mIHRoZSBjZXJ0aWZpY2F0ZSBvZiB0aGUgS2Fma2EgY2xpZW50cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLYWZrYUFjbFN0YXRlbWVudCB7XG4gIC8qKlxuICAqIExpc3Qgb2YgY2xpZW50cyB0aGF0IHNob3VsZCBnZXQgd3JpdGUgcGVybWlzc2lvbnNcbiAgKi9cbiAgcmVhZG9ubHkgd3JpdGU6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGNsaWVudHMgdGhhdCBzaG91bGQgZ2V0IHJlYWQgcGVybWlzc2lvbnNcbiAgICovXG4gIHJlYWRvbmx5IHJlYWQ6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGNsaWVudHMgdGhhdCBzaG91bGQgZ2V0IGRlbGV0ZSBwZXJtaXNzaW9ucy5cbiAgICpcbiAgICogQXR0ZW50aW9uOiBPbmx5IHVzZSBEZWxldGlvbiBwb2xpY3kgaWYgeW91IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nIVxuICAgKiBUaGlzIGlzIG9ubHkgbmVjZXNzYXJ5IGZvciBLU3RyZWFtIGFuZCBhbGxvd3MgdGhlIGFwcGxpY2F0aW9uIHRvIGRlbGV0ZSBtZXNzYWdlcyBhbmQgdGhlIHRvcGljLjxicj5cbiAgICogSWYgeW91IGp1c3Qgd2FudCB0byBcImRlbGV0ZVwiIGEgbWVzc2FnZSBvbiBhIGxvZyBjb21wYWN0ZWQgdG9waWMsIHlvdSBzaG91bGQgbm90IHNldCB0aGlzIHBlcm1pc3Npb24gYW5kIHNlbmQgYSB0b21ic3RvbmUgbWVzc2FnZSBpbnN0ZWFkLlxuICAgKlxuICAgKiBAanNpaSBpZ25vcmVcbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZT86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFdyYXBwZXIgZm9yIGFsbCBsb2cgY29tcGFjdGlvbiByZWxhdGVkIHByb3BlcnRpZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9nQ29tcGFjdGlvblByb3BlcnRpZXMge1xuICAvKipcbiAgICogVGhlIGFtb3VudCBvZiB0aW1lIHRvIHJldGFpbiBkZWxldGUgdG9tYnN0b25lIG1hcmtlcnMgZm9yIGxvZyBjb21wYWN0ZWQgdG9waWNzO1xuICAgKiBUaGUgc29mdCBsaW1pdCBpcyAxMCBkYXlzIGJ1dCBjYW4gYmUgaW5jcmVhc2VkIHVwb24gcmVxdWVzdHMuXG4gICAqIEBkZWZhdWx0VmFsdWUgMSBkYXlcbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZVJldGVudGlvbj86IER1cmF0aW9uO1xufVxuXG4vKipcbiAqIFRoZSBjdXJyZW50IHNlcnZpY2UgbGltaXRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgdG9waWMgbGltaXRzIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRvcGljIG1hbmFnZXIuXG4gKlxuICogQHNlZSBodHRwczovL2JpdGJ1Y2tldC5jb2xsYWJvcmF0aW9uLW1hbi5jb20vcHJvamVjdHMvUlNFVlRCVS9yZXBvcy90b3BpYy1tYW5hZ2VyL2Jyb3dzZS9jb25maWcvdG9waWMtc2VydmljZS1saW1pdHMueWFtbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthVG9waWNQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgdW5pcXVlIG5hbWUgb2YgdGhlIHRvcGljOyBoYXMgdG8gbWF0Y2ggcGF0dGVybiBbQS1aYS16MC05Li1dK1xuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGRlZ3JlZSBvZiBwYXJhbGxlbGlzbSBvZiB0aGUgdG9waWM7IHNob3VsZCBiZSBpbmNyZWFzZWQgZm9yXG4gICAqIGxhcmdlIGV4cGVjdGVkIGxvYWRzIChlLmcuLCAyNSBmb3IgcmlvLmFzc2V0LWlvdC1ldmVudHMpLlxuICAgKiBUaGUgc29mdCBsaW1pdCBpcyAxMCBwYXJ0aXRpb25zIGJ1dCBjYW4gYmUgaW5jcmVhc2VkIHVwb24gcmVxdWVzdHMuXG4gICAqL1xuICByZWFkb25seSBudW1iZXJPZlBhcnRpdGlvbnM6IG51bWJlcjtcblxuICAvKipcbiAgICogRGVmaW5lcyBkZWdyZWUgb2YgcmVwbGljYXRpb24gb2YgbWVzc2FnZXM7IGhhcyB0byBiZSBiZXR3ZWVuIDEgYW5kIHRoZSBudW1iZXIgb2YgYnJva2VycyAoY3VycmVudGx5IDMpLlxuICAgKiBAZGVmYXVsdFZhbHVlIDNcbiAgICovXG4gIHJlYWRvbmx5IHJlcGxpY2F0aW9uRmFjdG9yPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaW1lIGhvdyBsb25nIG1lc3NhZ2VzIGFyZSByZXRhaW5lZCBvbiBLYWZrYSBjbHVzdGVyO1xuICAgKlxuICAgKiBXZSByZWNvbW1lbmQgMzAgZGF5cyBmb3IgZ2VuZXJhbCBldmVudHMgYW5kIDcgZGF5cyBmb3Igc2Vuc29yIGV2ZW50cyBhbmQgb3RoZXIgaGlnaC1sb2FkIGNhc2VzLlxuICAgKiBUaGUgc29mdCBsaW1pdCBpcyAzIHRvIDMwIGRheXMgYnV0IGNhbiBiZSBpbmNyZWFzZWQgdXBvbiByZXF1ZXN0cy5cbiAgICogQGRlZmF1bHRWYWx1ZSA3IGRheXNcbiAgICovXG4gIHJlYWRvbmx5IHJldGVudGlvbj86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBJZiBzZXQgdG8gJ2ZhbHNlLCB0aGUgdG9waWMncyBkYXRhIHdpbGwgYmUgZGVsZXRlZCBvbiBLYWZrYSAxMCBkYXlzIGFmdGVyIHN0YWNrIGRlbGV0aW9uLlxuICAgKiBJZiBzZXQgdG8gJ3RydWUnLCBpdCB3aWxsIGJlIGRlbGV0ZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgc3RhY2sgZGVsZXRpb24uXG4gICAqIEBkZWZhdWx0VmFsdWUgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbnREZWxldGlvbkVuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgbWV0YWRhdGEgb2YgdGhlIHRvcGljLlxuICAgKi9cbiAgcmVhZG9ubHkgbWV0YWRhdGE6IEthZmthVG9waWNNZXRhRGF0YTtcblxuICAvKipcbiAgICogVGhlIHBlcm1pc3Npb25zIHRvIGFjY2VzcyB0byB0aGUgdG9waWMncyBkYXRhLlxuICAgKi9cbiAgcmVhZG9ubHkgYWNsOiBLYWZrYUFjbFN0YXRlbWVudDtcblxuICAvKipcbiAgICogU3BlY2lmeSB3aGV0aGVyIHRoZSB0b3BpYyBpcyBsb2cgY29tcGFjdGVkIG9yIG5vdC5cbiAgICovXG4gIHJlYWRvbmx5IGlzTG9nQ29tcGFjdGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBNdXN0IG9ubHkgYmUgcHJvdmlkZWQgaWYgJ2lzTG9nQ29tcGFjdGVkJyBpcyAndHJ1ZScuXG4gICAqIEBkZWZhdWx0VmFsdWUgdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBsb2dDb21wYWN0aW9uUHJvcGVydGllcz86IExvZ0NvbXBhY3Rpb25Qcm9wZXJ0aWVzO1xufVxuXG4vKipcbiAqIFRoZSBjdXJyZW50IHNlcnZpY2UgbGltaXRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgdG9waWMgbGltaXRzIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRvcGljIG1hbmFnZXIuXG4gKlxuICogQHNlZSBodHRwczovL2JpdGJ1Y2tldC5jb2xsYWJvcmF0aW9uLW1hbi5jb20vcHJvamVjdHMvUlNFVlRCVS9yZXBvcy90b3BpYy1tYW5hZ2VyL2Jyb3dzZS9jb25maWcvdG9waWMtc2VydmljZS1saW1pdHMueWFtbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthVG9waWNWNFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgbmFtZSBvZiB0aGUgdG9waWM7IGhhcyB0byBtYXRjaCBwYXR0ZXJuIFtBLVphLXowLTkuLV0rXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgZGVncmVlIG9mIHBhcmFsbGVsaXNtIG9mIHRoZSB0b3BpYzsgc2hvdWxkIGJlIGluY3JlYXNlZCBmb3JcbiAgICogbGFyZ2UgZXhwZWN0ZWQgbG9hZHMgKGUuZy4sIDI1IGZvciByaW8uYXNzZXQtaW90LWV2ZW50cykuXG4gICAqIFRoZSBzb2Z0IGxpbWl0IGlzIDEwIHBhcnRpdGlvbnMgYnV0IGNhbiBiZSBpbmNyZWFzZWQgdXBvbiByZXF1ZXN0cy5cbiAgICovXG4gIHJlYWRvbmx5IG51bWJlck9mUGFydGl0aW9uczogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGRlZ3JlZSBvZiByZXBsaWNhdGlvbiBvZiBtZXNzYWdlczsgaGFzIHRvIGJlIGJldHdlZW4gMSBhbmQgdGhlIG51bWJlciBvZiBicm9rZXJzIChjdXJyZW50bHkgMykuXG4gICAqIEBkZWZhdWx0VmFsdWUgM1xuICAgKi9cbiAgcmVhZG9ubHkgcmVwbGljYXRpb25GYWN0b3I/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRpbWUgaG93IGxvbmcgbWVzc2FnZXMgYXJlIHJldGFpbmVkIG9uIEthZmthIGNsdXN0ZXI7XG4gICAqXG4gICAqIFdlIHJlY29tbWVuZCAzMCBkYXlzIGZvciBnZW5lcmFsIGV2ZW50cyBhbmQgNyBkYXlzIGZvciBzZW5zb3IgZXZlbnRzIGFuZCBvdGhlciBoaWdoLWxvYWQgY2FzZXMuXG4gICAqIFRoZSBzb2Z0IGxpbWl0IGlzIDMgdG8gMzAgZGF5cyBidXQgY2FuIGJlIGluY3JlYXNlZCB1cG9uIHJlcXVlc3RzLlxuICAgKiBAZGVmYXVsdFZhbHVlIDcgZGF5c1xuICAgKi9cbiAgcmVhZG9ubHkgcmV0ZW50aW9uPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIElmIHNldCB0byAnZmFsc2UsIHRoZSB0b3BpYydzIGRhdGEgd2lsbCBiZSBkZWxldGVkIG9uIEthZmthIDEwIGRheXMgYWZ0ZXIgc3RhY2sgZGVsZXRpb24uXG4gICAqIElmIHNldCB0byAndHJ1ZScsIGl0IHdpbGwgYmUgZGVsZXRlZCBpbW1lZGlhdGVseSBhZnRlciBzdGFjayBkZWxldGlvbi5cbiAgICogQGRlZmF1bHRWYWx1ZSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFudERlbGV0aW9uRW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBtZXRhZGF0YSBvZiB0aGUgdG9waWMuXG4gICAqL1xuICByZWFkb25seSBtZXRhZGF0YTogS2Fma2FUb3BpY01ldGFEYXRhVjQ7XG5cbiAgLyoqXG4gICAqIFRoZSBwZXJtaXNzaW9ucyB0byBhY2Nlc3MgdG8gdGhlIHRvcGljJ3MgZGF0YS5cbiAgICovXG4gIHJlYWRvbmx5IGFjbDogS2Fma2FBY2xTdGF0ZW1lbnQ7XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgd2hldGhlciB0aGUgdG9waWMgaXMgbG9nIGNvbXBhY3RlZCBvciBub3QuXG4gICAqL1xuICByZWFkb25seSBpc0xvZ0NvbXBhY3RlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogTXVzdCBvbmx5IGJlIHByb3ZpZGVkIGlmICdpc0xvZ0NvbXBhY3RlZCcgaXMgJ3RydWUnLlxuICAgKiBAZGVmYXVsdFZhbHVlIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgbG9nQ29tcGFjdGlvblByb3BlcnRpZXM/OiBMb2dDb21wYWN0aW9uUHJvcGVydGllcztcblxuICAvKipcbiAgICogU3BlY2lmeSB3aGV0aGVyIHRoZSB0b3BpYyBzaG91bGQgYmUgYmFja2VkIHVwIGF1dG9tYXRpY2FsbHkgb3Igbm90LlxuICAgKiBJdCBjb3VsZCBqdXN0IGJlIGVuYWJsZWQsIGlmIHRoZSB0b3BpYyBpcyBjb21wYWN0ZWQgYW5kIHRoZSBSZWNvdmVyeVBvbGljeSBpcyAncmVjb3ZlcmFibGUnLlxuICAgKlxuICAgKiBAZGVmYXVsdFZhbHVlIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgbWFuYWdlZEJhY2t1cEVuYWJsZWQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFRoZSBUb3BpY3MgdGFyZ2V0IGF1ZGllbmNlXG4gKi9cbmV4cG9ydCB0eXBlIFRvcGljQXVkaWVuY2UgPSAnY29tcG9uZW50LWludGVybmFsJyB8ICdjb21wYW55LWludGVybmFsJztcblxuLyoqXG4gKiBUaGUgVG9waWNzIHJlY292ZXJ5IHBvbGljeSBndWFyYW50ZWVkIGJ5IHRoZSBwcm9kdWNlclxuICovXG5leHBvcnQgdHlwZSBUb3BpY1JlY292ZXJ5UG9saWN5ID0gJ25vbmUnIHwgJ3JlY292ZXJhYmxlJztcblxuLyoqXG4gKiBDb25zdHJ1Y3QgdG8gY3JlYXRlIGEga2Fma2EgdG9waWMuXG4gKlxuICogQGRlcHJlY2F0ZWQgdXNlIHtAbGluayBLYWZrYVRvcGljVjR9IGluc3RlYWRcbiAqL1xuZXhwb3J0IGNsYXNzIEthZmthVG9waWMgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBLYWZrYVRvcGljUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG5cbiAgICBBbm5vdGF0aW9ucy5vZih0aGlzKS5hZGREZXByZWNhdGlvbignS2Fma2FUb3BpYycsIFwiVXNlICdLYWZrYVRvcGljVjQnIVwiKTtcblxuICAgIG5ldyBDZm5SZXNvdXJjZSh0aGlzLCAnS2Fma2FUb3BpYycsIHtcbiAgICAgIHR5cGU6ICdDdXN0b206OkthZmthVG9waWMnLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAuLi5tYXBQcm9wZXJ0aWVzKHRoaXMsIHByb3BzKSxcbiAgICAgICAgVmVyc2lvbjogJzMnLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMubm9kZS5hZGRWYWxpZGF0aW9uKHZhbGlkYXRvcihwcm9wcykpO1xuICB9XG59XG5cbi8qKlxuICogQ29uc3RydWN0IHRvIGNyZWF0ZSBhIGthZmthIHRvcGljLlxuICovXG5leHBvcnQgY2xhc3MgS2Fma2FUb3BpY1Y0IGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogS2Fma2FUb3BpY1Y0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgbmV3IENmblJlc291cmNlKHRoaXMsICdLYWZrYVRvcGljJywge1xuICAgICAgdHlwZTogJ0N1c3RvbTo6S2Fma2FUb3BpYycsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIC4uLm1hcFByb3BlcnRpZXModGhpcywgcHJvcHMpLFxuICAgICAgICBWZXJzaW9uOiAnNCcsXG4gICAgICAgIEF1ZGllbmNlOiBwcm9wcy5tZXRhZGF0YS5hdWRpZW5jZSxcbiAgICAgICAgUmVjb3ZlcnlQb2xpY3k6IHByb3BzLm1ldGFkYXRhLnJlY292ZXJ5UG9saWN5LFxuICAgICAgICBNYW5hZ2VkQmFja3VwRW5hYmxlZDogcHJvcHMubWFuYWdlZEJhY2t1cEVuYWJsZWQsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5ub2RlLmFkZFZhbGlkYXRpb24odmFsaWRhdG9yKHByb3BzKSk7XG4gICAgdGhpcy5ub2RlLmFkZFZhbGlkYXRpb24oYmFja3VwUHJvcGVydGllc1ZhbGlkYXRvcihwcm9wcykpO1xuICB9XG59XG5cbmNvbnN0IHZhbGlkYXRvciA9IChwcm9wczogS2Fma2FUb3BpY1Byb3BzKSA9PiB7XG4gIHJldHVybiB7XG4gICAgdmFsaWRhdGU6ICgpOiBzdHJpbmdbXSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBbXTtcblxuICAgICAgaWYgKCFwcm9wcy5uYW1lLm1hdGNoKC9eW0EtWmEtejAtOS4tXSskLykpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goJ0ludmFsaWQgW25hbWVdOiBleHBlY3RpbmcgdG9waWMgbmFtZSB0byBtYXRjaCB0aGUgcmVnIGV4cCBgW0EtWmEtejAtOS4tXStgLicpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIU51bWJlci5pc0ludGVnZXIocHJvcHMubnVtYmVyT2ZQYXJ0aXRpb25zKSB8fCBwcm9wcy5udW1iZXJPZlBhcnRpdGlvbnMgPCAxKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKGBJbnZhbGlkIFtudW1iZXJPZlBhcnRpdGlvbnNdOiBleHBlY3RpbmcgbnVtYmVyIG9mIHBhcnRpdGlvbnMgdG8gYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyIGJ1dCBnb3QgJHtwcm9wcy5udW1iZXJPZlBhcnRpdGlvbnN9LmApO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvcHMucmVwbGljYXRpb25GYWN0b3IgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICghTnVtYmVyLmlzSW50ZWdlcihwcm9wcy5yZXBsaWNhdGlvbkZhY3RvcikgfHwgcHJvcHMucmVwbGljYXRpb25GYWN0b3IgPCAxIHx8IHByb3BzLnJlcGxpY2F0aW9uRmFjdG9yID4gMykpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goJ0ludmFsaWQgW3JlcGxpY2F0aW9uRmFjdG9yXTogZXhwZWN0aW5nIGFuIGludGVnZXIgYmV0d2VlbiAxIGFuZCAzLicpO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvcHMubWV0YWRhdGEuZXZlbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXN1bHQucHVzaCgnSW52YWxpZCBbbWV0YWRhdGFdOiBleHBlY3RpbmcgW2V2ZW50c10gdG8gaGF2ZSBhdCBsZWFzdCBvbiBlbGVtZW50LicpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXByb3BzLmlzTG9nQ29tcGFjdGVkICYmIHByb3BzLmxvZ0NvbXBhY3Rpb25Qcm9wZXJ0aWVzKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFtsb2dDb21wYWN0aW9uUHJvcGVydGllc106IGxvZyBjb21wYWN0aW9uIGlzIGRpc2FibGVkIHNvIHByb3BlcnRpZXMgbXVzdCBiZSB1bmRlZmluZWQuJyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSxcbiAgfTtcbn07XG5cbmNvbnN0IGJhY2t1cFByb3BlcnRpZXNWYWxpZGF0b3IgPSAocHJvcHM6IEthZmthVG9waWNWNFByb3BzKSA9PiB7XG4gIHJldHVybiB7XG4gICAgdmFsaWRhdGU6ICgpOiBzdHJpbmdbXSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBbXTtcblxuICAgICAgaWYgKHByb3BzLm1hbmFnZWRCYWNrdXBFbmFibGVkICYmICFwcm9wcy5pc0xvZ0NvbXBhY3RlZCkge1xuICAgICAgICByZXN1bHQucHVzaCgnSW52YWxpZCBbbWFuYWdlZEJhY2t1cEVuYWJsZWRdOiBtYW5hZ2VkIGJhY2t1cCBjYW4gb25seSBiZSBlbmFibGVkIGZvciBsb2cgY29tcGFjdGVkIHRvcGljcy4nKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHByb3BzLm1hbmFnZWRCYWNrdXBFbmFibGVkICYmIHByb3BzLm1ldGFkYXRhLnJlY292ZXJ5UG9saWN5ICE9PSAncmVjb3ZlcmFibGUnKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFttYW5hZ2VkQmFja3VwRW5hYmxlZF06IHRvcGljcyB3aXRoIG1hbmFnZWRCYWNrdXBFbmFibGVkIGhhdmUgdG8gaGF2ZSByZWNvdmVyeSBwb2xpY3kgXCJyZWNvdmVyYWJsZVwiLicpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0sXG4gIH07XG5cbn07XG5cbmNvbnN0IG1hcFByb3BlcnRpZXMgPSAoc2NvcGU6IElDb25zdHJ1Y3QsIHByb3BzOiBLYWZrYVRvcGljUHJvcHMgfCBLYWZrYVRvcGljVjRQcm9wcykgPT4ge1xuICBjb25zdCB0ZWFtRW1haWwgPSBSaW9MYW5kaW5nWm9uZS5nZXRUZWFtRW1haWxQYXJhbWV0ZXIoc2NvcGUpLnN0cmluZ1ZhbHVlO1xuXG4gIGNvbnN0IGV2ZW50cyA9IHByb3BzLm1ldGFkYXRhLmV2ZW50cy5tYXAoc291cmNlID0+IHtcbiAgICBuZXcgS2Fma2FFdmVudFNwZWMoc2NvcGUsIGAke3NvdXJjZS5ldmVudE5hbWUucmVwbGFjZSgvXFwuL2csICdfJyl9LUV2ZW50U3BlY2AsIHsgc291cmNlIH0pO1xuICAgIHJldHVybiBzb3VyY2UuZXZlbnROYW1lO1xuICB9KTtcblxuICBjb25zdCBkZWxldGVSZXRlbnRpb25EdXJhdGlvbiA9IHByb3BzLmxvZ0NvbXBhY3Rpb25Qcm9wZXJ0aWVzPy5kZWxldGVSZXRlbnRpb24gPz8gRHVyYXRpb24uZGF5cyg3KTtcbiAgaWYgKHByb3BzLmFjbC5kZWxldGUgIT0gdW5kZWZpbmVkICYmIHByb3BzLmFjbC5kZWxldGUubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IGFubm90YXRpb25zID0gY2RrLkFubm90YXRpb25zLm9mKGNkay5TdGFjay5vZihzY29wZSkpO1xuICAgIGFubm90YXRpb25zLmFkZFdhcm5pbmdWMihcbiAgICAgIGBAcmlvLWNsb3VkL2Nkay12Mi1jb25zdHJ1Y3RzL2thZmthL2thZmthLXRvcGljLyR7cHJvcHMubmFtZX0vRGVsZXRpb25Qb2xpY3lgLFxuICAgICAgYFxuIOKdjCBZb3UgaGF2ZSBzZXQgXCJkZWxldGVcIiBwZXJtaXNzaW9uIGZvciBrYWZrYS10b3BpYyAke3Byb3BzLm5hbWV9LiBZb3UgcHJvYmFibHkgZG8gbm90IG5lZWQgdGhpcy4gUGxlYXNlIHVzZSB0aGlzIG9ubHkgaWYgeW91IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nLlxuYCxcbiAgICApO1xuICB9XG4gIHJldHVybiB7XG4gICAgU2VydmljZVRva2VuOiAnYXJuOmF3czpzbnM6ZXUtd2VzdC0xOjE4Njk5Mzc1NzczNDpkcC10b3BpYy1tYW5hZ2VyLXNucy10b3BpYycsXG4gICAgVG9waWNOYW1lOiBwcm9wcy5uYW1lLFxuICAgIERlc2NyaXB0aW9uOiBwcm9wcy5tZXRhZGF0YS5kZXNjcmlwdGlvbixcbiAgICBFdmVudHM6IGV2ZW50cyxcbiAgICBOdW1iZXJPZlBhcnRpdGlvbnM6IHByb3BzLm51bWJlck9mUGFydGl0aW9ucyxcbiAgICBSZXBsaWNhdGlvbkZhY3RvcjogcHJvcHMucmVwbGljYXRpb25GYWN0b3IgPz8gMyxcbiAgICBSZXRlbnRpb25NczogKHByb3BzLnJldGVudGlvbiA/PyBEdXJhdGlvbi5kYXlzKDcpKS50b01pbGxpc2Vjb25kcygpLFxuICAgIERlbGV0ZVJldGVudGlvbk1zOiBwcm9wcy5pc0xvZ0NvbXBhY3RlZCA/IGRlbGV0ZVJldGVudGlvbkR1cmF0aW9uLnRvTWlsbGlzZWNvbmRzKCkgOiB1bmRlZmluZWQsXG4gICAgSW5zdGFudERlbGV0aW9uRW5hYmxlZDogcHJvcHMuaW5zdGFudERlbGV0aW9uRW5hYmxlZCA/PyBmYWxzZSxcbiAgICBDbGVhbnVwUG9saWN5OiBwcm9wcy5pc0xvZ0NvbXBhY3RlZCA/ICdjb21wYWN0JyA6ICdkZWxldGUnLFxuICAgIFRlYW1FbWFpbDogdGVhbUVtYWlsLFxuICAgIEFDTDoge1xuICAgICAgUmVhZDogcHJvcHMuYWNsLnJlYWQsXG4gICAgICBXcml0ZTogcHJvcHMuYWNsLndyaXRlLFxuICAgICAgRGVsZXRlOiBwcm9wcy5hY2wuZGVsZXRlLFxuICAgIH0sXG4gIH07XG59O1xuIl19
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Fma2EtdG9waWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva2Fma2Eva2Fma2EtdG9waWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBaUU7QUFDakUsbUNBQW1DO0FBQ25DLDJDQUFtRDtBQUNuRCx5REFBMEU7QUFDMUUsMERBQXFEO0FBbVByRDs7OztHQUlHO0FBQ0gsTUFBYSxVQUFXLFNBQVEsc0JBQVM7SUFFdkMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBR2pCLHlCQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLENBQUMsQ0FBQztRQUV6RSxJQUFJLHlCQUFXLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUNsQyxJQUFJLEVBQUUsb0JBQW9CO1lBQzFCLFVBQVUsRUFBRTtnQkFDVixHQUFHLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO2dCQUM3QixPQUFPLEVBQUUsR0FBRzthQUNiO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7QUFqQkgsZ0NBa0JDOzs7QUFFRDs7R0FFRztBQUNILE1BQWEsWUFBYSxTQUFRLHNCQUFTO0lBRXpDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBd0I7UUFDaEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLHlCQUFXLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUNsQyxJQUFJLEVBQUUsb0JBQW9CO1lBQzFCLFVBQVUsRUFBRTtnQkFDVixHQUFHLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO2dCQUM3QixPQUFPLEVBQUUs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QUFrQjtRQUM1QyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCLElBQUksQ0FBQztRQUMvQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLHNCQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFO1FBQ25FLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO1FBQzlGLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxzQkFBc0IsSUFBSSxLQUFLO1FBQzdELGFBQWEsRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVE7UUFDMUQsU0FBUyxFQUFFLFNBQVM7UUFDcEIsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtRQUM1QyxHQUFHLEVBQUU7WUFDSCxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJO1lBQ3BCLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUs7WUFDdEIsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTTtTQUN6QjtLQUNGLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEdXJhdGlvbiwgQ2ZuUmVzb3VyY2UsIEFubm90YXRpb25zIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCwgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgS2Fma2FFdmVudFNwZWMsIEthZmthRXZlbnRTcGVjU291cmNlIH0gZnJvbSAnLi9rYWZrYS1ldmVudC1zcGVjJztcbmltcG9ydCB7IFJpb0xhbmRpbmdab25lIH0gZnJvbSAnLi4vcmlvLWxhbmRpbmctem9uZSc7XG5cbi8qKlxuICogV3JhcHBlciBmb3IgYWxsIG1ldGEgZGF0YSBvZiBhIHRvcGljLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthVG9waWNNZXRhRGF0YSB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgc3BlY3Mgb2YgdGhlIGV2ZW50cyBvbiB0aGF0IHRvcGljXG4gICAqL1xuICByZWFkb25seSBldmVudHM6IEthZmthRXZlbnRTcGVjU291cmNlW107XG5cbiAgLyoqXG4gICAqIERlc2NyaWJlcyB0aGUgaW50ZW50IG9mIHRoZSB0b3BpYy4gVGhpcyBtaWdodCBiZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZXZlbnRzIG9uIHRoYXQgdG9waWNcbiAgICogb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcHJvZHVjZXIgYW5kIHRoZSBjb250ZXh0IG9mIHRoZSBldmVudHMuXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFdyYXBwZXIgZm9yIGFsbCBtZXRhIGRhdGEgb2YgYSB2NCB0b3BpYyBzcGVjLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthVG9waWNNZXRhRGF0YVY0IHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCBzcGVjcyBvZiB0aGUgZXZlbnRzIG9uIHRoYXQgdG9waWNcbiAgICovXG4gIHJlYWRvbmx5IGV2ZW50czogS2Fma2FFdmVudFNwZWNTb3VyY2VbXTtcblxuICAvKipcbiAgICogRGVzY3JpYmVzIHRoZSBpbnRlbnQgb2YgdGhlIHRvcGljLiBUaGlzIG1pZ2h0IGJlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBldmVudHMgb24gdGhhdCB0b3BpY1xuICAgKiBvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBwcm9kdWNlciBhbmQgdGhlIGNvbnRleHQgb2YgdGhlIGV2ZW50cy5cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiBhIHRvcGljIGlzIG1lYW50IGZvciBjb21wb25lbnQgaW50ZXJuYWwgdXNhZ2Ugb25seSBvciBpZiBvdGhlciBzZXJ2aWNlcyBjb3VsZFxuICAgKiB1c2UgaXQgdG9vLlxuICAgKi9cbiAgcmVhZG9ubHkgYXVkaWVuY2U6IFRvcGljQXVkaWVuY2U7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgcHJvZHVjZXIgd2lsbCByZXN0b3JlIHRoZSBkYXRhIGluIGNhc2Ugb2YgYSBkaXNhc3RlciBvciBub3QuXG4gICAqL1xuICByZWFkb25seSByZWNvdmVyeVBvbGljeTogVG9waWNSZWNvdmVyeVBvbGljeTtcbn1cblxuLyoqXG4gKiBSZWFkIGFuZCB3cml0ZSBwZXJtaXNzaW9ucyBmb3IgdGhlIHRvcGljLlxuICpcbiAqIHN0cmluZ3MgYXJlIG1hdGNoZWQgYWdhaW5zdCB0aGUgQ05BTUUgb2YgdGhlIGNlcnRpZmljYXRlIG9mIHRoZSBLYWZrYSBjbGllbnRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthQWNsU3RhdGVtZW50IHtcbiAgLyoqXG4gICogTGlzdCBvZiBjbGllbnRzIHRoYXQgc2hvdWxkIGdldCB3cml0ZSBwZXJtaXNzaW9uc1xuICAqL1xuICByZWFkb25seSB3cml0ZTogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgY2xpZW50cyB0aGF0IHNob3VsZCBnZXQgcmVhZCBwZXJtaXNzaW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgcmVhZDogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgY2xpZW50cyB0aGF0IHNob3VsZCBnZXQgZGVsZXRlIHBlcm1pc3Npb25zLlxuICAgKlxuICAgKiBBdHRlbnRpb246IE9ubHkgdXNlIERlbGV0aW9uIHBvbGljeSBpZiB5b3Uga25vdyB3aGF0IHlvdSBhcmUgZG9pbmchXG4gICAqIFRoaXMgaXMgb25seSBuZWNlc3NhcnkgZm9yIEtTdHJlYW0gYW5kIGFsbG93cyB0aGUgYXBwbGljYXRpb24gdG8gZGVsZXRlIG1lc3NhZ2VzIGFuZCB0aGUgdG9waWMuPGJyPlxuICAgKiBJZiB5b3UganVzdCB3YW50IHRvIFwiZGVsZXRlXCIgYSBtZXNzYWdlIG9uIGEgbG9nIGNvbXBhY3RlZCB0b3BpYywgeW91IHNob3VsZCBub3Qgc2V0IHRoaXMgcGVybWlzc2lvbiBhbmQgc2VuZCBhIHRvbWJzdG9uZSBtZXNzYWdlIGluc3RlYWQuXG4gICAqXG4gICAqIEBqc2lpIGlnbm9yZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogV3JhcHBlciBmb3IgYWxsIGxvZyBjb21wYWN0aW9uIHJlbGF0ZWQgcHJvcGVydGllcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2dDb21wYWN0aW9uUHJvcGVydGllcyB7XG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIHRpbWUgdG8gcmV0YWluIGRlbGV0ZSB0b21ic3RvbmUgbWFya2VycyBmb3IgbG9nIGNvbXBhY3RlZCB0b3BpY3M7XG4gICAqIFRoZSBzb2Z0IGxpbWl0IGlzIDEwIGRheXMgYnV0IGNhbiBiZSBpbmNyZWFzZWQgdXBvbiByZXF1ZXN0cy5cbiAgICogQGRlZmF1bHRWYWx1ZSAxIGRheVxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlUmV0ZW50aW9uPzogRHVyYXRpb247XG59XG5cbi8qKlxuICogVGhlIGN1cnJlbnQgc2VydmljZSBsaW1pdHMgY2FuIGJlIGZvdW5kIGluIHRoZSB0b3BpYyBsaW1pdHMgY29uZmlndXJhdGlvbiBvZiB0aGUgdG9waWMgbWFuYWdlci5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vYml0YnVja2V0LmNvbGxhYm9yYXRpb24tbWFuLmNvbS9wcm9qZWN0cy9SU0VWVEJVL3JlcG9zL3RvcGljLW1hbmFnZXIvYnJvd3NlL2NvbmZpZy90b3BpYy1zZXJ2aWNlLWxpbWl0cy55YW1sXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2Fma2FUb3BpY1Byb3BzIHtcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgbmFtZSBvZiB0aGUgdG9waWM7IGhhcyB0byBtYXRjaCBwYXR0ZXJuIFtBLVphLXowLTkuLV0rXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgZGVncmVlIG9mIHBhcmFsbGVsaXNtIG9mIHRoZSB0b3BpYzsgc2hvdWxkIGJlIGluY3JlYXNlZCBmb3JcbiAgICogbGFyZ2UgZXhwZWN0ZWQgbG9hZHMgKGUuZy4sIDI1IGZvciByaW8uYXNzZXQtaW90LWV2ZW50cykuXG4gICAqIFRoZSBzb2Z0IGxpbWl0IGlzIDEwIHBhcnRpdGlvbnMgYnV0IGNhbiBiZSBpbmNyZWFzZWQgdXBvbiByZXF1ZXN0cy5cbiAgICovXG4gIHJlYWRvbmx5IG51bWJlck9mUGFydGl0aW9uczogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGRlZ3JlZSBvZiByZXBsaWNhdGlvbiBvZiBtZXNzYWdlczsgaGFzIHRvIGJlIGJldHdlZW4gMSBhbmQgdGhlIG51bWJlciBvZiBicm9rZXJzIChjdXJyZW50bHkgMykuXG4gICAqIEBkZWZhdWx0VmFsdWUgM1xuICAgKi9cbiAgcmVhZG9ubHkgcmVwbGljYXRpb25GYWN0b3I/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRpbWUgaG93IGxvbmcgbWVzc2FnZXMgYXJlIHJldGFpbmVkIG9uIEthZmthIGNsdXN0ZXI7XG4gICAqXG4gICAqIFdlIHJlY29tbWVuZCAzMCBkYXlzIGZvciBnZW5lcmFsIGV2ZW50cyBhbmQgNyBkYXlzIGZvciBzZW5zb3IgZXZlbnRzIGFuZCBvdGhlciBoaWdoLWxvYWQgY2FzZXMuXG4gICAqIFRoZSBzb2Z0IGxpbWl0IGlzIDMgdG8gMzAgZGF5cyBidXQgY2FuIGJlIGluY3JlYXNlZCB1cG9uIHJlcXVlc3RzLlxuICAgKiBAZGVmYXVsdFZhbHVlIDcgZGF5c1xuICAgKi9cbiAgcmVhZG9ubHkgcmV0ZW50aW9uPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIElmIHNldCB0byAnZmFsc2UsIHRoZSB0b3BpYydzIGRhdGEgd2lsbCBiZSBkZWxldGVkIG9uIEthZmthIDEwIGRheXMgYWZ0ZXIgc3RhY2sgZGVsZXRpb24uXG4gICAqIElmIHNldCB0byAndHJ1ZScsIGl0IHdpbGwgYmUgZGVsZXRlZCBpbW1lZGlhdGVseSBhZnRlciBzdGFjayBkZWxldGlvbi5cbiAgICogQGRlZmF1bHRWYWx1ZSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFudERlbGV0aW9uRW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBtZXRhZGF0YSBvZiB0aGUgdG9waWMuXG4gICAqL1xuICByZWFkb25seSBtZXRhZGF0YTogS2Fma2FUb3BpY01ldGFEYXRhO1xuXG4gIC8qKlxuICAgKiBUaGUgcGVybWlzc2lvbnMgdG8gYWNjZXNzIHRvIHRoZSB0b3BpYydzIGRhdGEuXG4gICAqL1xuICByZWFkb25seSBhY2w6IEthZmthQWNsU3RhdGVtZW50O1xuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IHdoZXRoZXIgdGhlIHRvcGljIGlzIGxvZyBjb21wYWN0ZWQgb3Igbm90LlxuICAgKi9cbiAgcmVhZG9ubHkgaXNMb2dDb21wYWN0ZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE11c3Qgb25seSBiZSBwcm92aWRlZCBpZiAnaXNMb2dDb21wYWN0ZWQnIGlzICd0cnVlJy5cbiAgICogQGRlZmF1bHRWYWx1ZSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0NvbXBhY3Rpb25Qcm9wZXJ0aWVzPzogTG9nQ29tcGFjdGlvblByb3BlcnRpZXM7XG5cbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIGNvbXBhY3Rpb24gbGFnIGluIG1pbGxpc2Vjb25kcy5cbiAgICpcbiAgICogVGhlIG1heGltdW0gdGltZSBhIG1lc3NhZ2UgY2FuIGJlIGRlbGF5ZWQgYmVmb3JlIGl0IGlzIGNvbXBhY3RlZC5cbiAgICogQGRlZmF1bHRWYWx1ZSA5MjIzMzcyMDM2ODU0Nzc1ODA3XG4gICAqL1xuICByZWFkb25seSBtYXhDb21wYWN0aW9uTGFnTXM/OiBudW1iZXI7XG59XG5cbi8qKlxuICogVGhlIGN1cnJlbnQgc2VydmljZSBsaW1pdHMgY2FuIGJlIGZvdW5kIGluIHRoZSB0b3BpYyBsaW1pdHMgY29uZmlndXJhdGlvbiBvZiB0aGUgdG9waWMgbWFuYWdlci5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vYml0YnVja2V0LmNvbGxhYm9yYXRpb24tbWFuLmNvbS9wcm9qZWN0cy9SU0VWVEJVL3JlcG9zL3RvcGljLW1hbmFnZXIvYnJvd3NlL2NvbmZpZy90b3BpYy1zZXJ2aWNlLWxpbWl0cy55YW1sXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2Fma2FUb3BpY1Y0UHJvcHMge1xuICAvKipcbiAgICogVGhlIHVuaXF1ZSBuYW1lIG9mIHRoZSB0b3BpYzsgaGFzIHRvIG1hdGNoIHBhdHRlcm4gW0EtWmEtejAtOS4tXStcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lcyBkZWdyZWUgb2YgcGFyYWxsZWxpc20gb2YgdGhlIHRvcGljOyBzaG91bGQgYmUgaW5jcmVhc2VkIGZvclxuICAgKiBsYXJnZSBleHBlY3RlZCBsb2FkcyAoZS5nLiwgMjUgZm9yIHJpby5hc3NldC1pb3QtZXZlbnRzKS5cbiAgICogVGhlIHNvZnQgbGltaXQgaXMgMTAgcGFydGl0aW9ucyBidXQgY2FuIGJlIGluY3JlYXNlZCB1cG9uIHJlcXVlc3RzLlxuICAgKi9cbiAgcmVhZG9ubHkgbnVtYmVyT2ZQYXJ0aXRpb25zOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgZGVncmVlIG9mIHJlcGxpY2F0aW9uIG9mIG1lc3NhZ2VzOyBoYXMgdG8gYmUgYmV0d2VlbiAxIGFuZCB0aGUgbnVtYmVyIG9mIGJyb2tlcnMgKGN1cnJlbnRseSAzKS5cbiAgICogQGRlZmF1bHRWYWx1ZSAzXG4gICAqL1xuICByZWFkb25seSByZXBsaWNhdGlvbkZhY3Rvcj86IG51bWJlcjtcblxuICAvKipcbiAgICogVGltZSBob3cgbG9uZyBtZXNzYWdlcyBhcmUgcmV0YWluZWQgb24gS2Fma2EgY2x1c3RlcjtcbiAgICpcbiAgICogV2UgcmVjb21tZW5kIDMwIGRheXMgZm9yIGdlbmVyYWwgZXZlbnRzIGFuZCA3IGRheXMgZm9yIHNlbnNvciBldmVudHMgYW5kIG90aGVyIGhpZ2gtbG9hZCBjYXNlcy5cbiAgICogVGhlIHNvZnQgbGltaXQgaXMgMyB0byAzMCBkYXlzIGJ1dCBjYW4gYmUgaW5jcmVhc2VkIHVwb24gcmVxdWVzdHMuXG4gICAqIEBkZWZhdWx0VmFsdWUgNyBkYXlzXG4gICAqL1xuICByZWFkb25seSByZXRlbnRpb24/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogSWYgc2V0IHRvICdmYWxzZSwgdGhlIHRvcGljJ3MgZGF0YSB3aWxsIGJlIGRlbGV0ZWQgb24gS2Fma2EgMTAgZGF5cyBhZnRlciBzdGFjayBkZWxldGlvbi5cbiAgICogSWYgc2V0IHRvICd0cnVlJywgaXQgd2lsbCBiZSBkZWxldGVkIGltbWVkaWF0ZWx5IGFmdGVyIHN0YWNrIGRlbGV0aW9uLlxuICAgKiBAZGVmYXVsdFZhbHVlIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBpbnN0YW50RGVsZXRpb25FbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIG1ldGFkYXRhIG9mIHRoZSB0b3BpYy5cbiAgICovXG4gIHJlYWRvbmx5IG1ldGFkYXRhOiBLYWZrYVRvcGljTWV0YURhdGFWNDtcblxuICAvKipcbiAgICogVGhlIHBlcm1pc3Npb25zIHRvIGFjY2VzcyB0byB0aGUgdG9waWMncyBkYXRhLlxuICAgKi9cbiAgcmVhZG9ubHkgYWNsOiBLYWZrYUFjbFN0YXRlbWVudDtcblxuICAvKipcbiAgICogU3BlY2lmeSB3aGV0aGVyIHRoZSB0b3BpYyBpcyBsb2cgY29tcGFjdGVkIG9yIG5vdC5cbiAgICovXG4gIHJlYWRvbmx5IGlzTG9nQ29tcGFjdGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBNdXN0IG9ubHkgYmUgcHJvdmlkZWQgaWYgJ2lzTG9nQ29tcGFjdGVkJyBpcyAndHJ1ZScuXG4gICAqIEBkZWZhdWx0VmFsdWUgdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBsb2dDb21wYWN0aW9uUHJvcGVydGllcz86IExvZ0NvbXBhY3Rpb25Qcm9wZXJ0aWVzO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IHdoZXRoZXIgdGhlIHRvcGljIHNob3VsZCBiZSBiYWNrZWQgdXAgYXV0b21hdGljYWxseSBvciBub3QuXG4gICAqIEl0IGNvdWxkIGp1c3QgYmUgZW5hYmxlZCwgaWYgdGhlIHRvcGljIGlzIGNvbXBhY3RlZCBhbmQgdGhlIFJlY292ZXJ5UG9saWN5IGlzICdyZWNvdmVyYWJsZScuXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBtYW5hZ2VkQmFja3VwRW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAgICogVGhlIG1heGltdW0gY29tcGFjdGlvbiBsYWcgaW4gbWlsbGlzZWNvbmRzLlxuICAgICAqXG4gICAgICogVGhlIG1heGltdW0gdGltZSBhIG1lc3NhZ2UgY2FuIGJlIGRlbGF5ZWQgYmVmb3JlIGl0IGlzIGNvbXBhY3RlZC5cbiAgICAgKiBAZGVmYXVsdFZhbHVlIDkyMjMzNzIwMzY4NTQ3NzU4MDdcbiAgICAgKi9cbiAgcmVhZG9ubHkgbWF4Q29tcGFjdGlvbkxhZ01zPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFRoZSBUb3BpY3MgdGFyZ2V0IGF1ZGllbmNlXG4gKi9cbmV4cG9ydCB0eXBlIFRvcGljQXVkaWVuY2UgPSAnY29tcG9uZW50LWludGVybmFsJyB8ICdjb21wYW55LWludGVybmFsJztcblxuLyoqXG4gKiBUaGUgVG9waWNzIHJlY292ZXJ5IHBvbGljeSBndWFyYW50ZWVkIGJ5IHRoZSBwcm9kdWNlclxuICovXG5leHBvcnQgdHlwZSBUb3BpY1JlY292ZXJ5UG9saWN5ID0gJ25vbmUnIHwgJ3JlY292ZXJhYmxlJztcblxuLyoqXG4gKiBDb25zdHJ1Y3QgdG8gY3JlYXRlIGEga2Fma2EgdG9waWMuXG4gKlxuICogQGRlcHJlY2F0ZWQgdXNlIHtAbGluayBLYWZrYVRvcGljVjR9IGluc3RlYWRcbiAqL1xuZXhwb3J0IGNsYXNzIEthZmthVG9waWMgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBLYWZrYVRvcGljUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG5cbiAgICBBbm5vdGF0aW9ucy5vZih0aGlzKS5hZGREZXByZWNhdGlvbignS2Fma2FUb3BpYycsIFwiVXNlICdLYWZrYVRvcGljVjQnIVwiKTtcblxuICAgIG5ldyBDZm5SZXNvdXJjZSh0aGlzLCAnS2Fma2FUb3BpYycsIHtcbiAgICAgIHR5cGU6ICdDdXN0b206OkthZmthVG9waWMnLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAuLi5tYXBQcm9wZXJ0aWVzKHRoaXMsIHByb3BzKSxcbiAgICAgICAgVmVyc2lvbjogJzMnLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMubm9kZS5hZGRWYWxpZGF0aW9uKHZhbGlkYXRvcihwcm9wcykpO1xuICB9XG59XG5cbi8qKlxuICogQ29uc3RydWN0IHRvIGNyZWF0ZSBhIGthZmthIHRvcGljLlxuICovXG5leHBvcnQgY2xhc3MgS2Fma2FUb3BpY1Y0IGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogS2Fma2FUb3BpY1Y0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgbmV3IENmblJlc291cmNlKHRoaXMsICdLYWZrYVRvcGljJywge1xuICAgICAgdHlwZTogJ0N1c3RvbTo6S2Fma2FUb3BpYycsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIC4uLm1hcFByb3BlcnRpZXModGhpcywgcHJvcHMpLFxuICAgICAgICBWZXJzaW9uOiAnNCcsXG4gICAgICAgIEF1ZGllbmNlOiBwcm9wcy5tZXRhZGF0YS5hdWRpZW5jZSxcbiAgICAgICAgUmVjb3ZlcnlQb2xpY3k6IHByb3BzLm1ldGFkYXRhLnJlY292ZXJ5UG9saWN5LFxuICAgICAgICBNYW5hZ2VkQmFja3VwRW5hYmxlZDogcHJvcHMubWFuYWdlZEJhY2t1cEVuYWJsZWQsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5ub2RlLmFkZFZhbGlkYXRpb24odmFsaWRhdG9yKHByb3BzKSk7XG4gICAgdGhpcy5ub2RlLmFkZFZhbGlkYXRpb24oYmFja3VwUHJvcGVydGllc1ZhbGlkYXRvcihwcm9wcykpO1xuICB9XG59XG5cbmNvbnN0IHZhbGlkYXRvciA9IChwcm9wczogS2Fma2FUb3BpY1Byb3BzKSA9PiB7XG4gIHJldHVybiB7XG4gICAgdmFsaWRhdGU6ICgpOiBzdHJpbmdbXSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBbXTtcblxuICAgICAgaWYgKCFwcm9wcy5uYW1lLm1hdGNoKC9eW0EtWmEtejAtOS4tXSskLykpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goJ0ludmFsaWQgW25hbWVdOiBleHBlY3RpbmcgdG9waWMgbmFtZSB0byBtYXRjaCB0aGUgcmVnIGV4cCBgW0EtWmEtejAtOS4tXStgLicpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIU51bWJlci5pc0ludGVnZXIocHJvcHMubnVtYmVyT2ZQYXJ0aXRpb25zKSB8fCBwcm9wcy5udW1iZXJPZlBhcnRpdGlvbnMgPCAxKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKGBJbnZhbGlkIFtudW1iZXJPZlBhcnRpdGlvbnNdOiBleHBlY3RpbmcgbnVtYmVyIG9mIHBhcnRpdGlvbnMgdG8gYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyIGJ1dCBnb3QgJHtwcm9wcy5udW1iZXJPZlBhcnRpdGlvbnN9LmApO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvcHMucmVwbGljYXRpb25GYWN0b3IgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICghTnVtYmVyLmlzSW50ZWdlcihwcm9wcy5yZXBsaWNhdGlvbkZhY3RvcikgfHwgcHJvcHMucmVwbGljYXRpb25GYWN0b3IgPCAxIHx8IHByb3BzLnJlcGxpY2F0aW9uRmFjdG9yID4gMykpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goJ0ludmFsaWQgW3JlcGxpY2F0aW9uRmFjdG9yXTogZXhwZWN0aW5nIGFuIGludGVnZXIgYmV0d2VlbiAxIGFuZCAzLicpO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvcHMubWV0YWRhdGEuZXZlbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXN1bHQucHVzaCgnSW52YWxpZCBbbWV0YWRhdGFdOiBleHBlY3RpbmcgW2V2ZW50c10gdG8gaGF2ZSBhdCBsZWFzdCBvbiBlbGVtZW50LicpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXByb3BzLmlzTG9nQ29tcGFjdGVkICYmIHByb3BzLmxvZ0NvbXBhY3Rpb25Qcm9wZXJ0aWVzKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFtsb2dDb21wYWN0aW9uUHJvcGVydGllc106IGxvZyBjb21wYWN0aW9uIGlzIGRpc2FibGVkIHNvIHByb3BlcnRpZXMgbXVzdCBiZSB1bmRlZmluZWQuJyk7XG4gICAgICB9XG5cbiAgICAgIGlmICghcHJvcHMuaXNMb2dDb21wYWN0ZWQgJiYgcHJvcHMubWF4Q29tcGFjdGlvbkxhZ01zKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFttYXhDb21wYWN0aW9uTGFnTXNdOiBtYXggY29tcGFjdGlvbiBsYWcgaXMgb25seSBhbGxvd2VkIGZvciBsb2cgY29tcGFjdGVkIHRvcGljcy4nKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9LFxuICB9O1xufTtcblxuY29uc3QgYmFja3VwUHJvcGVydGllc1ZhbGlkYXRvciA9IChwcm9wczogS2Fma2FUb3BpY1Y0UHJvcHMpID0+IHtcbiAgcmV0dXJuIHtcbiAgICB2YWxpZGF0ZTogKCk6IHN0cmluZ1tdID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuXG4gICAgICBpZiAocHJvcHMubWFuYWdlZEJhY2t1cEVuYWJsZWQgJiYgIXByb3BzLmlzTG9nQ29tcGFjdGVkKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFttYW5hZ2VkQmFja3VwRW5hYmxlZF06IG1hbmFnZWQgYmFja3VwIGNhbiBvbmx5IGJlIGVuYWJsZWQgZm9yIGxvZyBjb21wYWN0ZWQgdG9waWNzLicpO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvcHMubWFuYWdlZEJhY2t1cEVuYWJsZWQgJiYgcHJvcHMubWV0YWRhdGEucmVjb3ZlcnlQb2xpY3kgIT09ICdyZWNvdmVyYWJsZScpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goJ0ludmFsaWQgW21hbmFnZWRCYWNrdXBFbmFibGVkXTogdG9waWNzIHdpdGggbWFuYWdlZEJhY2t1cEVuYWJsZWQgaGF2ZSB0byBoYXZlIHJlY292ZXJ5IHBvbGljeSBcInJlY292ZXJhYmxlXCIuJyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSxcbiAgfTtcblxufTtcblxuY29uc3QgbWFwUHJvcGVydGllcyA9IChzY29wZTogSUNvbnN0cnVjdCwgcHJvcHM6IEthZmthVG9waWNQcm9wcyB8IEthZmthVG9waWNWNFByb3BzKSA9PiB7XG4gIGNvbnN0IHRlYW1FbWFpbCA9IFJpb0xhbmRpbmdab25lLmdldFRlYW1FbWFpbFBhcmFtZXRlcihzY29wZSkuc3RyaW5nVmFsdWU7XG5cbiAgY29uc3QgZXZlbnRzID0gcHJvcHMubWV0YWRhdGEuZXZlbnRzLm1hcChzb3VyY2UgPT4ge1xuICAgIG5ldyBLYWZrYUV2ZW50U3BlYyhzY29wZSwgYCR7c291cmNlLmV2ZW50TmFtZS5yZXBsYWNlKC9cXC4vZywgJ18nKX0tRXZlbnRTcGVjYCwgeyBzb3VyY2UgfSk7XG4gICAgcmV0dXJuIHNvdXJjZS5ldmVudE5hbWU7XG4gIH0pO1xuXG4gIGNvbnN0IGRlbGV0ZVJldGVudGlvbkR1cmF0aW9uID0gcHJvcHMubG9nQ29tcGFjdGlvblByb3BlcnRpZXM/LmRlbGV0ZVJldGVudGlvbiA/PyBEdXJhdGlvbi5kYXlzKDcpO1xuICBpZiAocHJvcHMuYWNsLmRlbGV0ZSAhPSB1bmRlZmluZWQgJiYgcHJvcHMuYWNsLmRlbGV0ZS5sZW5ndGggPiAwKSB7XG4gICAgY29uc3QgYW5ub3RhdGlvbnMgPSBjZGsuQW5ub3RhdGlvbnMub2YoY2RrLlN0YWNrLm9mKHNjb3BlKSk7XG4gICAgYW5ub3RhdGlvbnMuYWRkV2FybmluZ1YyKFxuICAgICAgYEByaW8tY2xvdWQvY2RrLXYyLWNvbnN0cnVjdHMva2Fma2Eva2Fma2EtdG9waWMvJHtwcm9wcy5uYW1lfS9EZWxldGlvblBvbGljeWAsXG4gICAgICBgXG4g4p2MIFlvdSBoYXZlIHNldCBcImRlbGV0ZVwiIHBlcm1pc3Npb24gZm9yIGthZmthLXRvcGljICR7cHJvcHMubmFtZX0uIFlvdSBwcm9iYWJseSBkbyBub3QgbmVlZCB0aGlzLiBQbGVhc2UgdXNlIHRoaXMgb25seSBpZiB5b3Uga25vdyB3aGF0IHlvdSBhcmUgZG9pbmcuXG5gLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBTZXJ2aWNlVG9rZW46ICdhcm46YXdzOnNuczpldS13ZXN0LTE6MTg2OTkzNzU3NzM0OmRwLXRvcGljLW1hbmFnZXItc25zLXRvcGljJyxcbiAgICBUb3BpY05hbWU6IHByb3BzLm5hbWUsXG4gICAgRGVzY3JpcHRpb246IHByb3BzLm1ldGFkYXRhLmRlc2NyaXB0aW9uLFxuICAgIEV2ZW50czogZXZlbnRzLFxuICAgIE51bWJlck9mUGFydGl0aW9uczogcHJvcHMubnVtYmVyT2ZQYXJ0aXRpb25zLFxuICAgIFJlcGxpY2F0aW9uRmFjdG9yOiBwcm9wcy5yZXBsaWNhdGlvbkZhY3RvciA/PyAzLFxuICAgIFJldGVudGlvbk1zOiAocHJvcHMucmV0ZW50aW9uID8/IER1cmF0aW9uLmRheXMoNykpLnRvTWlsbGlzZWNvbmRzKCksXG4gICAgRGVsZXRlUmV0ZW50aW9uTXM6IHByb3BzLmlzTG9nQ29tcGFjdGVkID8gZGVsZXRlUmV0ZW50aW9uRHVyYXRpb24udG9NaWxsaXNlY29uZHMoKSA6IHVuZGVmaW5lZCxcbiAgICBJbnN0YW50RGVsZXRpb25FbmFibGVkOiBwcm9wcy5pbnN0YW50RGVsZXRpb25FbmFibGVkID8/IGZhbHNlLFxuICAgIENsZWFudXBQb2xpY3k6IHByb3BzLmlzTG9nQ29tcGFjdGVkID8gJ2NvbXBhY3QnIDogJ2RlbGV0ZScsXG4gICAgVGVhbUVtYWlsOiB0ZWFtRW1haWwsXG4gICAgTWF4Q29tcGFjdGlvbkxhZ01zOiBwcm9wcy5tYXhDb21wYWN0aW9uTGFnTXMsXG4gICAgQUNMOiB7XG4gICAgICBSZWFkOiBwcm9wcy5hY2wucmVhZCxcbiAgICAgIFdyaXRlOiBwcm9wcy5hY2wud3JpdGUsXG4gICAgICBEZWxldGU6IHByb3BzLmFjbC5kZWxldGUsXG4gICAgfSxcbiAgfTtcbn07XG4iXX0=
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  ],
16
16
  "main": "lib/index.js",
17
17
  "license": "Apache-2.0",
18
- "version": "6.18.3",
18
+ "version": "6.19.0",
19
19
  "types": "lib/index.d.ts",
20
20
  "stability": "stable",
21
21
  "exports": {
package/version.json CHANGED
@@ -1,3 +1,3 @@
1
1
  {
2
- "version": "6.18.3"
2
+ "version": "6.19.0"
3
3
  }