@rio-cloud/cdk-v2-constructs 6.18.2 → 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
@@ -3946,13 +3946,6 @@
3946
3946
  },
3947
3947
  "symbolId": "src/ses/index:"
3948
3948
  },
3949
- "@rio-cloud/cdk-v2-constructs.test": {
3950
- "locationInModule": {
3951
- "filename": "src/index.ts",
3952
- "line": 41
3953
- },
3954
- "symbolId": "src/test/index:"
3955
- },
3956
3949
  "@rio-cloud/cdk-v2-constructs.watchfulv2": {
3957
3950
  "locationInModule": {
3958
3951
  "filename": "src/index.ts",
@@ -6784,18 +6777,17 @@
6784
6777
  "assembly": "@rio-cloud/cdk-v2-constructs",
6785
6778
  "base": "constructs.Construct",
6786
6779
  "docs": {
6787
- "remarks": "The construct creates monitoring (based on anomaly detection) for the usage of the most relevant Datadog resources",
6788
- "stability": "stable",
6789
- "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"
6790
6782
  },
6791
6783
  "fqn": "@rio-cloud/cdk-v2-constructs.DatadogUsageMonitoring",
6792
6784
  "initializer": {
6793
6785
  "docs": {
6794
- "stability": "stable"
6786
+ "stability": "deprecated"
6795
6787
  },
6796
6788
  "locationInModule": {
6797
6789
  "filename": "src/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.ts",
6798
- "line": 29
6790
+ "line": 32
6799
6791
  },
6800
6792
  "parameters": [
6801
6793
  {
@@ -6821,7 +6813,7 @@
6821
6813
  "kind": "class",
6822
6814
  "locationInModule": {
6823
6815
  "filename": "src/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.ts",
6824
- "line": 28
6816
+ "line": 31
6825
6817
  },
6826
6818
  "name": "DatadogUsageMonitoring",
6827
6819
  "symbolId": "src/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring:DatadogUsageMonitoring"
@@ -6830,25 +6822,26 @@
6830
6822
  "assembly": "@rio-cloud/cdk-v2-constructs",
6831
6823
  "datatype": true,
6832
6824
  "docs": {
6833
- "stability": "stable"
6825
+ "deprecated": "This interface will be removed in the next major version",
6826
+ "stability": "deprecated"
6834
6827
  },
6835
6828
  "fqn": "@rio-cloud/cdk-v2-constructs.DatadogUsageMonitoringProps",
6836
6829
  "kind": "interface",
6837
6830
  "locationInModule": {
6838
6831
  "filename": "src/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.ts",
6839
- "line": 14
6832
+ "line": 16
6840
6833
  },
6841
6834
  "name": "DatadogUsageMonitoringProps",
6842
6835
  "properties": [
6843
6836
  {
6844
6837
  "abstract": true,
6845
6838
  "docs": {
6846
- "stability": "stable"
6839
+ "stability": "deprecated"
6847
6840
  },
6848
6841
  "immutable": true,
6849
6842
  "locationInModule": {
6850
6843
  "filename": "src/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.ts",
6851
- "line": 21
6844
+ "line": 23
6852
6845
  },
6853
6846
  "name": "organization",
6854
6847
  "type": {
@@ -6858,12 +6851,12 @@
6858
6851
  {
6859
6852
  "abstract": true,
6860
6853
  "docs": {
6861
- "stability": "stable"
6854
+ "stability": "deprecated"
6862
6855
  },
6863
6856
  "immutable": true,
6864
6857
  "locationInModule": {
6865
6858
  "filename": "src/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.ts",
6866
- "line": 15
6859
+ "line": 17
6867
6860
  },
6868
6861
  "name": "serviceName",
6869
6862
  "type": {
@@ -6879,7 +6872,7 @@
6879
6872
  "immutable": true,
6880
6873
  "locationInModule": {
6881
6874
  "filename": "src/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.ts",
6882
- "line": 19
6875
+ "line": 21
6883
6876
  },
6884
6877
  "name": "alertType",
6885
6878
  "optional": true,
@@ -6890,12 +6883,12 @@
6890
6883
  {
6891
6884
  "abstract": true,
6892
6885
  "docs": {
6893
- "stability": "stable"
6886
+ "stability": "deprecated"
6894
6887
  },
6895
6888
  "immutable": true,
6896
6889
  "locationInModule": {
6897
6890
  "filename": "src/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring.ts",
6898
- "line": 20
6891
+ "line": 22
6899
6892
  },
6900
6893
  "name": "notification",
6901
6894
  "optional": true,
@@ -7916,7 +7909,7 @@
7916
7909
  },
7917
7910
  "locationInModule": {
7918
7911
  "filename": "src/kafka/kafka-topic.ts",
7919
- "line": 239
7912
+ "line": 255
7920
7913
  },
7921
7914
  "parameters": [
7922
7915
  {
@@ -7942,7 +7935,7 @@
7942
7935
  "kind": "class",
7943
7936
  "locationInModule": {
7944
7937
  "filename": "src/kafka/kafka-topic.ts",
7945
- "line": 237
7938
+ "line": 253
7946
7939
  },
7947
7940
  "name": "KafkaTopic",
7948
7941
  "symbolId": "src/kafka/kafka-topic:KafkaTopic"
@@ -8226,6 +8219,25 @@
8226
8219
  "fqn": "@rio-cloud/cdk-v2-constructs.kafka.LogCompactionProperties"
8227
8220
  }
8228
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
+ },
8229
8241
  {
8230
8242
  "abstract": true,
8231
8243
  "docs": {
@@ -8281,7 +8293,7 @@
8281
8293
  },
8282
8294
  "locationInModule": {
8283
8295
  "filename": "src/kafka/kafka-topic.ts",
8284
- "line": 262
8296
+ "line": 278
8285
8297
  },
8286
8298
  "parameters": [
8287
8299
  {
@@ -8307,7 +8319,7 @@
8307
8319
  "kind": "class",
8308
8320
  "locationInModule": {
8309
8321
  "filename": "src/kafka/kafka-topic.ts",
8310
- "line": 260
8322
+ "line": 276
8311
8323
  },
8312
8324
  "name": "KafkaTopicV4",
8313
8325
  "symbolId": "src/kafka/kafka-topic:KafkaTopicV4"
@@ -8324,7 +8336,7 @@
8324
8336
  "kind": "interface",
8325
8337
  "locationInModule": {
8326
8338
  "filename": "src/kafka/kafka-topic.ts",
8327
- "line": 157
8339
+ "line": 165
8328
8340
  },
8329
8341
  "name": "KafkaTopicV4Props",
8330
8342
  "properties": [
@@ -8337,7 +8349,7 @@
8337
8349
  "immutable": true,
8338
8350
  "locationInModule": {
8339
8351
  "filename": "src/kafka/kafka-topic.ts",
8340
- "line": 200
8352
+ "line": 208
8341
8353
  },
8342
8354
  "name": "acl",
8343
8355
  "type": {
@@ -8353,7 +8365,7 @@
8353
8365
  "immutable": true,
8354
8366
  "locationInModule": {
8355
8367
  "filename": "src/kafka/kafka-topic.ts",
8356
- "line": 205
8368
+ "line": 213
8357
8369
  },
8358
8370
  "name": "isLogCompacted",
8359
8371
  "type": {
@@ -8369,7 +8381,7 @@
8369
8381
  "immutable": true,
8370
8382
  "locationInModule": {
8371
8383
  "filename": "src/kafka/kafka-topic.ts",
8372
- "line": 195
8384
+ "line": 203
8373
8385
  },
8374
8386
  "name": "metadata",
8375
8387
  "type": {
@@ -8386,7 +8398,7 @@
8386
8398
  "immutable": true,
8387
8399
  "locationInModule": {
8388
8400
  "filename": "src/kafka/kafka-topic.ts",
8389
- "line": 161
8401
+ "line": 169
8390
8402
  },
8391
8403
  "name": "name",
8392
8404
  "type": {
@@ -8403,7 +8415,7 @@
8403
8415
  "immutable": true,
8404
8416
  "locationInModule": {
8405
8417
  "filename": "src/kafka/kafka-topic.ts",
8406
- "line": 168
8418
+ "line": 176
8407
8419
  },
8408
8420
  "name": "numberOfPartitions",
8409
8421
  "type": {
@@ -8421,7 +8433,7 @@
8421
8433
  "immutable": true,
8422
8434
  "locationInModule": {
8423
8435
  "filename": "src/kafka/kafka-topic.ts",
8424
- "line": 190
8436
+ "line": 198
8425
8437
  },
8426
8438
  "name": "instantDeletionEnabled",
8427
8439
  "optional": true,
@@ -8439,7 +8451,7 @@
8439
8451
  "immutable": true,
8440
8452
  "locationInModule": {
8441
8453
  "filename": "src/kafka/kafka-topic.ts",
8442
- "line": 211
8454
+ "line": 219
8443
8455
  },
8444
8456
  "name": "logCompactionProperties",
8445
8457
  "optional": true,
@@ -8458,7 +8470,7 @@
8458
8470
  "immutable": true,
8459
8471
  "locationInModule": {
8460
8472
  "filename": "src/kafka/kafka-topic.ts",
8461
- "line": 219
8473
+ "line": 227
8462
8474
  },
8463
8475
  "name": "managedBackupEnabled",
8464
8476
  "optional": true,
@@ -8466,6 +8478,25 @@
8466
8478
  "primitive": "boolean"
8467
8479
  }
8468
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
+ },
8469
8500
  {
8470
8501
  "abstract": true,
8471
8502
  "docs": {
@@ -8477,7 +8508,7 @@
8477
8508
  "immutable": true,
8478
8509
  "locationInModule": {
8479
8510
  "filename": "src/kafka/kafka-topic.ts",
8480
- "line": 174
8511
+ "line": 182
8481
8512
  },
8482
8513
  "name": "replicationFactor",
8483
8514
  "optional": true,
@@ -8496,7 +8527,7 @@
8496
8527
  "immutable": true,
8497
8528
  "locationInModule": {
8498
8529
  "filename": "src/kafka/kafka-topic.ts",
8499
- "line": 183
8530
+ "line": 191
8500
8531
  },
8501
8532
  "name": "retention",
8502
8533
  "optional": true,
@@ -9190,6 +9221,54 @@
9190
9221
  "name": "MonitorType",
9191
9222
  "symbolId": "src/watchful/monitor-type:MonitorType"
9192
9223
  },
9224
+ "@rio-cloud/cdk-v2-constructs.NormalizedTestTemplate": {
9225
+ "assembly": "@rio-cloud/cdk-v2-constructs",
9226
+ "docs": {
9227
+ "example": " const appStack = new AppStack()\n const template = Template.fromStack(appStack);\n expect(NormalizedTemplate.from(template).toMatchSnapshot();",
9228
+ "remarks": "The fromTemplate() method works by replacing all occurrences of SHA-256 hash strings with a\nplaceholder value (\"dummy-cdk-asset\"). This is particularly useful because elements like the S3\nkeys for Lambda code assets include hash strings that change with every dependency update. Normalizing\nthese values prevents false negatives during template object comparisons.",
9229
+ "stability": "stable",
9230
+ "summary": "A utility class that normalizes a Template object to simplify template comparisons in tests."
9231
+ },
9232
+ "fqn": "@rio-cloud/cdk-v2-constructs.NormalizedTestTemplate",
9233
+ "initializer": {
9234
+ "docs": {
9235
+ "stability": "stable"
9236
+ }
9237
+ },
9238
+ "kind": "class",
9239
+ "locationInModule": {
9240
+ "filename": "src/test/normalized-test-template.ts",
9241
+ "line": 15
9242
+ },
9243
+ "methods": [
9244
+ {
9245
+ "docs": {
9246
+ "stability": "stable"
9247
+ },
9248
+ "locationInModule": {
9249
+ "filename": "src/test/normalized-test-template.ts",
9250
+ "line": 16
9251
+ },
9252
+ "name": "fromTemplate",
9253
+ "parameters": [
9254
+ {
9255
+ "name": "template",
9256
+ "type": {
9257
+ "fqn": "aws-cdk-lib.assertions.Template"
9258
+ }
9259
+ }
9260
+ ],
9261
+ "returns": {
9262
+ "type": {
9263
+ "fqn": "aws-cdk-lib.assertions.Template"
9264
+ }
9265
+ },
9266
+ "static": true
9267
+ }
9268
+ ],
9269
+ "name": "NormalizedTestTemplate",
9270
+ "symbolId": "src/test/normalized-test-template:NormalizedTestTemplate"
9271
+ },
9193
9272
  "@rio-cloud/cdk-v2-constructs.OverrideAlarmThresholdProps": {
9194
9273
  "assembly": "@rio-cloud/cdk-v2-constructs",
9195
9274
  "datatype": true,
@@ -19305,7 +19384,7 @@
19305
19384
  },
19306
19385
  "locationInModule": {
19307
19386
  "filename": "src/kafka/kafka-topic.ts",
19308
- "line": 239
19387
+ "line": 255
19309
19388
  },
19310
19389
  "parameters": [
19311
19390
  {
@@ -19331,7 +19410,7 @@
19331
19410
  "kind": "class",
19332
19411
  "locationInModule": {
19333
19412
  "filename": "src/kafka/kafka-topic.ts",
19334
- "line": 237
19413
+ "line": 253
19335
19414
  },
19336
19415
  "name": "KafkaTopic",
19337
19416
  "namespace": "kafka",
@@ -19619,6 +19698,25 @@
19619
19698
  "fqn": "@rio-cloud/cdk-v2-constructs.kafka.LogCompactionProperties"
19620
19699
  }
19621
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
+ },
19622
19720
  {
19623
19721
  "abstract": true,
19624
19722
  "docs": {
@@ -19674,7 +19772,7 @@
19674
19772
  },
19675
19773
  "locationInModule": {
19676
19774
  "filename": "src/kafka/kafka-topic.ts",
19677
- "line": 262
19775
+ "line": 278
19678
19776
  },
19679
19777
  "parameters": [
19680
19778
  {
@@ -19700,7 +19798,7 @@
19700
19798
  "kind": "class",
19701
19799
  "locationInModule": {
19702
19800
  "filename": "src/kafka/kafka-topic.ts",
19703
- "line": 260
19801
+ "line": 276
19704
19802
  },
19705
19803
  "name": "KafkaTopicV4",
19706
19804
  "namespace": "kafka",
@@ -19718,7 +19816,7 @@
19718
19816
  "kind": "interface",
19719
19817
  "locationInModule": {
19720
19818
  "filename": "src/kafka/kafka-topic.ts",
19721
- "line": 157
19819
+ "line": 165
19722
19820
  },
19723
19821
  "name": "KafkaTopicV4Props",
19724
19822
  "namespace": "kafka",
@@ -19732,7 +19830,7 @@
19732
19830
  "immutable": true,
19733
19831
  "locationInModule": {
19734
19832
  "filename": "src/kafka/kafka-topic.ts",
19735
- "line": 200
19833
+ "line": 208
19736
19834
  },
19737
19835
  "name": "acl",
19738
19836
  "type": {
@@ -19748,7 +19846,7 @@
19748
19846
  "immutable": true,
19749
19847
  "locationInModule": {
19750
19848
  "filename": "src/kafka/kafka-topic.ts",
19751
- "line": 205
19849
+ "line": 213
19752
19850
  },
19753
19851
  "name": "isLogCompacted",
19754
19852
  "type": {
@@ -19764,7 +19862,7 @@
19764
19862
  "immutable": true,
19765
19863
  "locationInModule": {
19766
19864
  "filename": "src/kafka/kafka-topic.ts",
19767
- "line": 195
19865
+ "line": 203
19768
19866
  },
19769
19867
  "name": "metadata",
19770
19868
  "type": {
@@ -19781,7 +19879,7 @@
19781
19879
  "immutable": true,
19782
19880
  "locationInModule": {
19783
19881
  "filename": "src/kafka/kafka-topic.ts",
19784
- "line": 161
19882
+ "line": 169
19785
19883
  },
19786
19884
  "name": "name",
19787
19885
  "type": {
@@ -19798,7 +19896,7 @@
19798
19896
  "immutable": true,
19799
19897
  "locationInModule": {
19800
19898
  "filename": "src/kafka/kafka-topic.ts",
19801
- "line": 168
19899
+ "line": 176
19802
19900
  },
19803
19901
  "name": "numberOfPartitions",
19804
19902
  "type": {
@@ -19816,7 +19914,7 @@
19816
19914
  "immutable": true,
19817
19915
  "locationInModule": {
19818
19916
  "filename": "src/kafka/kafka-topic.ts",
19819
- "line": 190
19917
+ "line": 198
19820
19918
  },
19821
19919
  "name": "instantDeletionEnabled",
19822
19920
  "optional": true,
@@ -19834,7 +19932,7 @@
19834
19932
  "immutable": true,
19835
19933
  "locationInModule": {
19836
19934
  "filename": "src/kafka/kafka-topic.ts",
19837
- "line": 211
19935
+ "line": 219
19838
19936
  },
19839
19937
  "name": "logCompactionProperties",
19840
19938
  "optional": true,
@@ -19853,7 +19951,7 @@
19853
19951
  "immutable": true,
19854
19952
  "locationInModule": {
19855
19953
  "filename": "src/kafka/kafka-topic.ts",
19856
- "line": 219
19954
+ "line": 227
19857
19955
  },
19858
19956
  "name": "managedBackupEnabled",
19859
19957
  "optional": true,
@@ -19861,6 +19959,25 @@
19861
19959
  "primitive": "boolean"
19862
19960
  }
19863
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
+ },
19864
19981
  {
19865
19982
  "abstract": true,
19866
19983
  "docs": {
@@ -19872,7 +19989,7 @@
19872
19989
  "immutable": true,
19873
19990
  "locationInModule": {
19874
19991
  "filename": "src/kafka/kafka-topic.ts",
19875
- "line": 174
19992
+ "line": 182
19876
19993
  },
19877
19994
  "name": "replicationFactor",
19878
19995
  "optional": true,
@@ -19891,7 +20008,7 @@
19891
20008
  "immutable": true,
19892
20009
  "locationInModule": {
19893
20010
  "filename": "src/kafka/kafka-topic.ts",
19894
- "line": 183
20011
+ "line": 191
19895
20012
  },
19896
20013
  "name": "retention",
19897
20014
  "optional": true,
@@ -20224,55 +20341,6 @@
20224
20341
  ],
20225
20342
  "symbolId": "src/ses/ses-observability:SesObservabilityProps"
20226
20343
  },
20227
- "@rio-cloud/cdk-v2-constructs.test.NormalizedTestTemplate": {
20228
- "assembly": "@rio-cloud/cdk-v2-constructs",
20229
- "docs": {
20230
- "example": " const appStack = new AppStack()\n const template = Template.fromStack(appStack);\n expect(NormalizedTemplate.from(template).toMatchSnapshot();",
20231
- "remarks": "The fromTemplate() method works by replacing all occurrences of SHA-256 hash strings with a\nplaceholder value (\"dummy-cdk-asset\"). This is particularly useful because elements like the S3\nkeys for Lambda code assets include hash strings that change with every dependency update. Normalizing\nthese values prevents false negatives during template object comparisons.",
20232
- "stability": "stable",
20233
- "summary": "A utility class that normalizes a Template object to simplify template comparisons in tests."
20234
- },
20235
- "fqn": "@rio-cloud/cdk-v2-constructs.test.NormalizedTestTemplate",
20236
- "initializer": {
20237
- "docs": {
20238
- "stability": "stable"
20239
- }
20240
- },
20241
- "kind": "class",
20242
- "locationInModule": {
20243
- "filename": "src/test/normalized-test-template.ts",
20244
- "line": 15
20245
- },
20246
- "methods": [
20247
- {
20248
- "docs": {
20249
- "stability": "stable"
20250
- },
20251
- "locationInModule": {
20252
- "filename": "src/test/normalized-test-template.ts",
20253
- "line": 16
20254
- },
20255
- "name": "fromTemplate",
20256
- "parameters": [
20257
- {
20258
- "name": "template",
20259
- "type": {
20260
- "fqn": "aws-cdk-lib.assertions.Template"
20261
- }
20262
- }
20263
- ],
20264
- "returns": {
20265
- "type": {
20266
- "fqn": "aws-cdk-lib.assertions.Template"
20267
- }
20268
- },
20269
- "static": true
20270
- }
20271
- ],
20272
- "name": "NormalizedTestTemplate",
20273
- "namespace": "test",
20274
- "symbolId": "src/test/normalized-test-template:NormalizedTestTemplate"
20275
- },
20276
20344
  "@rio-cloud/cdk-v2-constructs.watchfulv2.LogErrorMonitorProps": {
20277
20345
  "assembly": "@rio-cloud/cdk-v2-constructs",
20278
20346
  "datatype": true,
@@ -20664,5 +20732,5 @@
20664
20732
  }
20665
20733
  },
20666
20734
  "version": "0.0.0",
20667
- "fingerprint": "8IiqvpG2Lc/loEmERNynr1ojaFNVrobvPUuBmVRX9nM="
20735
+ "fingerprint": "ZPVptCxuRYiCspSVTNaRFUbKAtGdcql67rUQ2oHf928="
20668
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
@@ -18884,7 +18954,7 @@ This phrase is explicitly filtered out during message generation.
18884
18954
 
18885
18955
  ---
18886
18956
 
18887
- ### NormalizedTestTemplate <a name="NormalizedTestTemplate" id="@rio-cloud/cdk-v2-constructs.test.NormalizedTestTemplate"></a>
18957
+ ### NormalizedTestTemplate <a name="NormalizedTestTemplate" id="@rio-cloud/cdk-v2-constructs.NormalizedTestTemplate"></a>
18888
18958
 
18889
18959
  A utility class that normalizes a Template object to simplify template comparisons in tests.
18890
18960
 
@@ -18902,12 +18972,12 @@ these values prevents false negatives during template object comparisons.
18902
18972
  ```
18903
18973
 
18904
18974
 
18905
- #### Initializers <a name="Initializers" id="@rio-cloud/cdk-v2-constructs.test.NormalizedTestTemplate.Initializer"></a>
18975
+ #### Initializers <a name="Initializers" id="@rio-cloud/cdk-v2-constructs.NormalizedTestTemplate.Initializer"></a>
18906
18976
 
18907
18977
  ```typescript
18908
- import { test } from '@rio-cloud/cdk-v2-constructs'
18978
+ import { NormalizedTestTemplate } from '@rio-cloud/cdk-v2-constructs'
18909
18979
 
18910
- new test.NormalizedTestTemplate()
18980
+ new NormalizedTestTemplate()
18911
18981
  ```
18912
18982
 
18913
18983
  | **Name** | **Type** | **Description** |
@@ -18920,19 +18990,19 @@ new test.NormalizedTestTemplate()
18920
18990
 
18921
18991
  | **Name** | **Description** |
18922
18992
  | --- | --- |
18923
- | <code><a href="#@rio-cloud/cdk-v2-constructs.test.NormalizedTestTemplate.fromTemplate">fromTemplate</a></code> | *No description.* |
18993
+ | <code><a href="#@rio-cloud/cdk-v2-constructs.NormalizedTestTemplate.fromTemplate">fromTemplate</a></code> | *No description.* |
18924
18994
 
18925
18995
  ---
18926
18996
 
18927
- ##### `fromTemplate` <a name="fromTemplate" id="@rio-cloud/cdk-v2-constructs.test.NormalizedTestTemplate.fromTemplate"></a>
18997
+ ##### `fromTemplate` <a name="fromTemplate" id="@rio-cloud/cdk-v2-constructs.NormalizedTestTemplate.fromTemplate"></a>
18928
18998
 
18929
18999
  ```typescript
18930
- import { test } from '@rio-cloud/cdk-v2-constructs'
19000
+ import { NormalizedTestTemplate } from '@rio-cloud/cdk-v2-constructs'
18931
19001
 
18932
- test.NormalizedTestTemplate.fromTemplate(template: Template)
19002
+ NormalizedTestTemplate.fromTemplate(template: Template)
18933
19003
  ```
18934
19004
 
18935
- ###### `template`<sup>Required</sup> <a name="template" id="@rio-cloud/cdk-v2-constructs.test.NormalizedTestTemplate.fromTemplate.parameter.template"></a>
19005
+ ###### `template`<sup>Required</sup> <a name="template" id="@rio-cloud/cdk-v2-constructs.NormalizedTestTemplate.fromTemplate.parameter.template"></a>
18936
19006
 
18937
19007
  - *Type:* aws-cdk-lib.assertions.Template
18938
19008
 
package/docs/changelog.md CHANGED
@@ -2,6 +2,20 @@
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
+
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)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * use flat export to avoid adding a namespace ([9dc6021](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/commits/9dc6021a2913e8570695042c10a643f78caaf062))
18
+
5
19
  ## [6.18.2](https://bitbucket.collaboration-man.com/projects/RIODEV/repos/cdk-v2-constructs/compare/commits?targetBranch=refs%2Ftags%2Fv6.18.1&sourceBranch=refs%2Ftags%2Fv6.18.2) (2025-02-18)
6
20
 
7
21
 
@@ -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==
package/lib/index.d.ts CHANGED
@@ -25,5 +25,5 @@ export * from './contributions/team-outbound-order-book/aws-ecs-abruptly-stopped
25
25
  export * from './backup';
26
26
  export * as backup from './backup';
27
27
  export * as ecr from './ecr';
28
- export * as test from './test';
28
+ export * from './test';
29
29
  export * from './contributions/smart-route/gitlab-runner';
package/lib/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.test = exports.ecr = exports.backup = exports.datadogv2 = exports.datadog = exports.ses = exports.kafka = exports.fargate = exports.watchfulv2 = void 0;
17
+ exports.ecr = exports.backup = exports.datadogv2 = exports.datadog = exports.ses = exports.kafka = exports.fargate = exports.watchfulv2 = void 0;
18
18
  __exportStar(require("./watchful"), exports);
19
19
  exports.watchfulv2 = require("./watchfulv2");
20
20
  __exportStar(require("./rio-landing-zone"), exports);
@@ -42,6 +42,6 @@ __exportStar(require("./contributions/team-outbound-order-book/aws-ecs-abruptly-
42
42
  __exportStar(require("./backup"), exports);
43
43
  exports.backup = require("./backup");
44
44
  exports.ecr = require("./ecr");
45
- exports.test = require("./test");
45
+ __exportStar(require("./test"), exports);
46
46
  __exportStar(require("./contributions/smart-route/gitlab-runner"), exports);
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2Q0FBMkI7QUFFM0IsNkNBQTJDO0FBRTNDLHFEQUFtQztBQUNuQyxzREFBb0M7QUFDcEMsb0RBQWtDO0FBRWxDLGdFQUE4QztBQUM5QyxpRkFBK0Q7QUFDL0QsdUNBQXFDO0FBRXJDLHlFQUF1RDtBQUN2RCw4RUFBNEQ7QUFDNUQsK0RBQTZDO0FBRTdDLDBDQUF3QjtBQUN4QixtQ0FBaUM7QUFFakMsd0NBQXNCO0FBQ3RCLCtCQUE2QjtBQUU3Qiw0Q0FBMEI7QUFDMUIsdUNBQXFDO0FBQ3JDLDJDQUF5QztBQUV6QywwRUFBd0Q7QUFFeEQsNkVBQTJEO0FBQzNELDhFQUE0RDtBQUU1RCxtRkFBaUU7QUFDakUsc0ZBQW9FO0FBRXBFLDRHQUEwRjtBQUUxRiwyQ0FBeUI7QUFDekIscUNBQW1DO0FBRW5DLCtCQUE2QjtBQUM3QixpQ0FBK0I7QUFFL0IsNEVBQTBEIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi93YXRjaGZ1bCc7XG5cbmV4cG9ydCAqIGFzIHdhdGNoZnVsdjIgZnJvbSAnLi93YXRjaGZ1bHYyJztcblxuZXhwb3J0ICogZnJvbSAnLi9yaW8tbGFuZGluZy16b25lJztcbmV4cG9ydCAqIGZyb20gJy4vcmlvLWxvYWQtYmFsYW5jZXInO1xuZXhwb3J0ICogZnJvbSAnLi9yaW8tY2xhaWRvbWV0ZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2ZhcmdhdGUvcmlvLWZhcmdhdGUtc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZhcmdhdGUvcmlvLWZhcmdhdGUtc2VydmljZS1ibHVlLWdyZWVuLWFscGhhJztcbmV4cG9ydCAqIGFzIGZhcmdhdGUgZnJvbSAnLi9mYXJnYXRlJztcblxuZXhwb3J0ICogZnJvbSAnLi9waXBlbGluZS9yaW8tYml0YnVja2V0LXNvdXJjZS1hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlbGluZS9yaW8tYmFja3VwLXNlY3JldHMtcmVzdG9yZS1zdGFnZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVsaW5lL3Jpby1waXBlbGluZS10eXBlJztcblxuZXhwb3J0ICogZnJvbSAnLi9rYWZrYSc7XG5leHBvcnQgKiBhcyBrYWZrYSBmcm9tICcuL2thZmthJztcblxuZXhwb3J0ICogZnJvbSAnLi9zZXMnO1xuZXhwb3J0ICogYXMgc2VzIGZyb20gJy4vc2VzJztcblxuZXhwb3J0ICogZnJvbSAnLi9kYXRhZG9nJztcbmV4cG9ydCAqIGFzIGRhdGFkb2cgZnJvbSAnLi9kYXRhZG9nJztcbmV4cG9ydCAqIGFzIGRhdGFkb2d2MiBmcm9tICcuL2RhdGFkb2d2Mic7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29udHJpYnV0aW9ucy9jb3AtZnJvbnRlbmQvY2xvdWRmcm9udCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29udHJpYnV0aW9ucy90ZWFtLXRyYW5zcG9ydC10d28vZGF0YWRvZyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRyaWJ1dGlvbnMvdGVhbS10cmFuc3BvcnQtdHdvL3BpcGVsaW5lJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb250cmlidXRpb25zL3RlYW0tY2xhaWQvYXdzLWJhY2t1cC1tb25pdG9yaW5nJztcbmV4cG9ydCAqIGZyb20gJy4vY29udHJpYnV0aW9ucy90ZWFtLWNsYWlkL2RhdGFkb2ctdXNhZ2UtbW9uaXRvcmluZyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29udHJpYnV0aW9ucy90ZWFtLW91dGJvdW5kLW9yZGVyLWJvb2svYXdzLWVjcy1hYnJ1cHRseS1zdG9wcGVkLW1vbml0b3InO1xuXG5leHBvcnQgKiBmcm9tICcuL2JhY2t1cCc7XG5leHBvcnQgKiBhcyBiYWNrdXAgZnJvbSAnLi9iYWNrdXAnO1xuXG5leHBvcnQgKiBhcyBlY3IgZnJvbSAnLi9lY3InO1xuZXhwb3J0ICogYXMgdGVzdCBmcm9tICcuL3Rlc3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbnRyaWJ1dGlvbnMvc21hcnQtcm91dGUvZ2l0bGFiLXJ1bm5lcic7XG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw2Q0FBMkI7QUFFM0IsNkNBQTJDO0FBRTNDLHFEQUFtQztBQUNuQyxzREFBb0M7QUFDcEMsb0RBQWtDO0FBRWxDLGdFQUE4QztBQUM5QyxpRkFBK0Q7QUFDL0QsdUNBQXFDO0FBRXJDLHlFQUF1RDtBQUN2RCw4RUFBNEQ7QUFDNUQsK0RBQTZDO0FBRTdDLDBDQUF3QjtBQUN4QixtQ0FBaUM7QUFFakMsd0NBQXNCO0FBQ3RCLCtCQUE2QjtBQUU3Qiw0Q0FBMEI7QUFDMUIsdUNBQXFDO0FBQ3JDLDJDQUF5QztBQUV6QywwRUFBd0Q7QUFFeEQsNkVBQTJEO0FBQzNELDhFQUE0RDtBQUU1RCxtRkFBaUU7QUFDakUsc0ZBQW9FO0FBRXBFLDRHQUEwRjtBQUUxRiwyQ0FBeUI7QUFDekIscUNBQW1DO0FBRW5DLCtCQUE2QjtBQUM3Qix5Q0FBdUI7QUFFdkIsNEVBQTBEIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi93YXRjaGZ1bCc7XG5cbmV4cG9ydCAqIGFzIHdhdGNoZnVsdjIgZnJvbSAnLi93YXRjaGZ1bHYyJztcblxuZXhwb3J0ICogZnJvbSAnLi9yaW8tbGFuZGluZy16b25lJztcbmV4cG9ydCAqIGZyb20gJy4vcmlvLWxvYWQtYmFsYW5jZXInO1xuZXhwb3J0ICogZnJvbSAnLi9yaW8tY2xhaWRvbWV0ZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2ZhcmdhdGUvcmlvLWZhcmdhdGUtc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZhcmdhdGUvcmlvLWZhcmdhdGUtc2VydmljZS1ibHVlLWdyZWVuLWFscGhhJztcbmV4cG9ydCAqIGFzIGZhcmdhdGUgZnJvbSAnLi9mYXJnYXRlJztcblxuZXhwb3J0ICogZnJvbSAnLi9waXBlbGluZS9yaW8tYml0YnVja2V0LXNvdXJjZS1hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlbGluZS9yaW8tYmFja3VwLXNlY3JldHMtcmVzdG9yZS1zdGFnZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVsaW5lL3Jpby1waXBlbGluZS10eXBlJztcblxuZXhwb3J0ICogZnJvbSAnLi9rYWZrYSc7XG5leHBvcnQgKiBhcyBrYWZrYSBmcm9tICcuL2thZmthJztcblxuZXhwb3J0ICogZnJvbSAnLi9zZXMnO1xuZXhwb3J0ICogYXMgc2VzIGZyb20gJy4vc2VzJztcblxuZXhwb3J0ICogZnJvbSAnLi9kYXRhZG9nJztcbmV4cG9ydCAqIGFzIGRhdGFkb2cgZnJvbSAnLi9kYXRhZG9nJztcbmV4cG9ydCAqIGFzIGRhdGFkb2d2MiBmcm9tICcuL2RhdGFkb2d2Mic7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29udHJpYnV0aW9ucy9jb3AtZnJvbnRlbmQvY2xvdWRmcm9udCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29udHJpYnV0aW9ucy90ZWFtLXRyYW5zcG9ydC10d28vZGF0YWRvZyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRyaWJ1dGlvbnMvdGVhbS10cmFuc3BvcnQtdHdvL3BpcGVsaW5lJztcblxuZXhwb3J0ICogZnJvbSAnLi9jb250cmlidXRpb25zL3RlYW0tY2xhaWQvYXdzLWJhY2t1cC1tb25pdG9yaW5nJztcbmV4cG9ydCAqIGZyb20gJy4vY29udHJpYnV0aW9ucy90ZWFtLWNsYWlkL2RhdGFkb2ctdXNhZ2UtbW9uaXRvcmluZyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29udHJpYnV0aW9ucy90ZWFtLW91dGJvdW5kLW9yZGVyLWJvb2svYXdzLWVjcy1hYnJ1cHRseS1zdG9wcGVkLW1vbml0b3InO1xuXG5leHBvcnQgKiBmcm9tICcuL2JhY2t1cCc7XG5leHBvcnQgKiBhcyBiYWNrdXAgZnJvbSAnLi9iYWNrdXAnO1xuXG5leHBvcnQgKiBhcyBlY3IgZnJvbSAnLi9lY3InO1xuZXhwb3J0ICogZnJvbSAnLi90ZXN0JztcblxuZXhwb3J0ICogZnJvbSAnLi9jb250cmlidXRpb25zL3NtYXJ0LXJvdXRlL2dpdGxhYi1ydW5uZXInO1xuIl19
@@ -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=
@@ -25,5 +25,5 @@ class NormalizedTestTemplate {
25
25
  }
26
26
  exports.NormalizedTestTemplate = NormalizedTestTemplate;
27
27
  _a = JSII_RTTI_SYMBOL_1;
28
- NormalizedTestTemplate[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.test.NormalizedTestTemplate", version: "0.0.0" };
28
+ NormalizedTestTemplate[_a] = { fqn: "@rio-cloud/cdk-v2-constructs.NormalizedTestTemplate", version: "0.0.0" };
29
29
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplZC10ZXN0LXRlbXBsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3Qvbm9ybWFsaXplZC10ZXN0LXRlbXBsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUE7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFhLHNCQUFzQjtJQUMxQixNQUFNLENBQUMsWUFBWSxDQUFDLFFBQWtCO1FBQzNDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsTUFBTSxXQUFXLEdBQUcsb0JBQW9CLENBQUMsQ0FBQyxzREFBc0Q7UUFDaEcsTUFBTSxnQkFBZ0IsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2hGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7O0FBTkgsd0RBT0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gJ2F3cy1jZGstbGliL2Fzc2VydGlvbnMnO1xuXG4vKipcbiAqIEEgdXRpbGl0eSBjbGFzcyB0aGF0IG5vcm1hbGl6ZXMgYSBUZW1wbGF0ZSBvYmplY3QgdG8gc2ltcGxpZnkgdGVtcGxhdGUgY29tcGFyaXNvbnMgaW4gdGVzdHMuXG4gKlxuICogVGhlIGZyb21UZW1wbGF0ZSgpIG1ldGhvZCB3b3JrcyBieSByZXBsYWNpbmcgYWxsIG9jY3VycmVuY2VzIG9mIFNIQS0yNTYgaGFzaCBzdHJpbmdzIHdpdGggYVxuICogcGxhY2Vob2xkZXIgdmFsdWUgKFwiZHVtbXktY2RrLWFzc2V0XCIpLiBUaGlzIGlzIHBhcnRpY3VsYXJseSB1c2VmdWwgYmVjYXVzZSBlbGVtZW50cyBsaWtlIHRoZSBTM1xuICoga2V5cyBmb3IgTGFtYmRhIGNvZGUgYXNzZXRzIGluY2x1ZGUgaGFzaCBzdHJpbmdzIHRoYXQgY2hhbmdlIHdpdGggZXZlcnkgZGVwZW5kZW5jeSB1cGRhdGUuIE5vcm1hbGl6aW5nXG4gKiB0aGVzZSB2YWx1ZXMgcHJldmVudHMgZmFsc2UgbmVnYXRpdmVzIGR1cmluZyB0ZW1wbGF0ZSBvYmplY3QgY29tcGFyaXNvbnMuXG4gKiBAZXhhbXBsZVxuICogICBjb25zdCBhcHBTdGFjayA9IG5ldyBBcHBTdGFjaygpXG4gKiAgIGNvbnN0IHRlbXBsYXRlID0gVGVtcGxhdGUuZnJvbVN0YWNrKGFwcFN0YWNrKTtcbiAqICAgZXhwZWN0KE5vcm1hbGl6ZWRUZW1wbGF0ZS5mcm9tKHRlbXBsYXRlKS50b01hdGNoU25hcHNob3QoKTtcbiAqL1xuZXhwb3J0IGNsYXNzIE5vcm1hbGl6ZWRUZXN0VGVtcGxhdGUge1xuICBwdWJsaWMgc3RhdGljIGZyb21UZW1wbGF0ZSh0ZW1wbGF0ZTogVGVtcGxhdGUpOiBUZW1wbGF0ZSB7XG4gICAgY29uc3QgdGVtcGxhdGVTdHJpbmcgPSBKU09OLnN0cmluZ2lmeSh0ZW1wbGF0ZSk7XG4gICAgY29uc3Qgc2hhMjU2UmVnZXggPSAvXFxiW2EtZjAtOV17NjR9XFxiL2dpOyAvLyBSZWd1bGFyIGV4cHJlc3Npb24gdG8gbWF0Y2ggYW55IFNIQS0yNTYgaGFzaCBzdHJpbmdcbiAgICBjb25zdCBub3JtYWxpemVkU3RyaW5nID0gdGVtcGxhdGVTdHJpbmcucmVwbGFjZShzaGEyNTZSZWdleCwgJ2R1bW15LWNkay1hc3NldCcpO1xuICAgIHJldHVybiBKU09OLnBhcnNlKG5vcm1hbGl6ZWRTdHJpbmcpO1xuICB9XG59XG4iXX0=
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.2",
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.2"
2
+ "version": "6.19.0"
3
3
  }