@rio-cloud/cdk-v2-constructs 7.13.8 → 7.13.9-alpha.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
@@ -13055,7 +13055,7 @@
13055
13055
  },
13056
13056
  "locationInModule": {
13057
13057
  "filename": "src/kafka/kafka-topic.ts",
13058
- "line": 257
13058
+ "line": 261
13059
13059
  },
13060
13060
  "parameters": [
13061
13061
  {
@@ -13081,7 +13081,7 @@
13081
13081
  "kind": "class",
13082
13082
  "locationInModule": {
13083
13083
  "filename": "src/kafka/kafka-topic.ts",
13084
- "line": 255
13084
+ "line": 259
13085
13085
  },
13086
13086
  "name": "KafkaTopic",
13087
13087
  "symbolId": "src/kafka/kafka-topic:KafkaTopic"
@@ -13259,7 +13259,7 @@
13259
13259
  "immutable": true,
13260
13260
  "locationInModule": {
13261
13261
  "filename": "src/kafka/kafka-topic.ts",
13262
- "line": 140
13262
+ "line": 142
13263
13263
  },
13264
13264
  "name": "acl",
13265
13265
  "type": {
@@ -13275,7 +13275,7 @@
13275
13275
  "immutable": true,
13276
13276
  "locationInModule": {
13277
13277
  "filename": "src/kafka/kafka-topic.ts",
13278
- "line": 145
13278
+ "line": 147
13279
13279
  },
13280
13280
  "name": "isLogCompacted",
13281
13281
  "type": {
@@ -13291,7 +13291,7 @@
13291
13291
  "immutable": true,
13292
13292
  "locationInModule": {
13293
13293
  "filename": "src/kafka/kafka-topic.ts",
13294
- "line": 135
13294
+ "line": 137
13295
13295
  },
13296
13296
  "name": "metadata",
13297
13297
  "type": {
@@ -13315,23 +13315,6 @@
13315
13315
  "primitive": "string"
13316
13316
  }
13317
13317
  },
13318
- {
13319
- "abstract": true,
13320
- "docs": {
13321
- "remarks": "should be increased for\nlarge expected loads (e.g., 25 for rio.asset-iot-events).\nThe soft limit is 10 partitions but can be increased upon requests.",
13322
- "stability": "stable",
13323
- "summary": "Defines degree of parallelism of the topic;"
13324
- },
13325
- "immutable": true,
13326
- "locationInModule": {
13327
- "filename": "src/kafka/kafka-topic.ts",
13328
- "line": 107
13329
- },
13330
- "name": "numberOfPartitions",
13331
- "type": {
13332
- "primitive": "number"
13333
- }
13334
- },
13335
13318
  {
13336
13319
  "abstract": true,
13337
13320
  "docs": {
@@ -13343,7 +13326,7 @@
13343
13326
  "immutable": true,
13344
13327
  "locationInModule": {
13345
13328
  "filename": "src/kafka/kafka-topic.ts",
13346
- "line": 130
13329
+ "line": 132
13347
13330
  },
13348
13331
  "name": "instantDeletionEnabled",
13349
13332
  "optional": true,
@@ -13361,7 +13344,7 @@
13361
13344
  "immutable": true,
13362
13345
  "locationInModule": {
13363
13346
  "filename": "src/kafka/kafka-topic.ts",
13364
- "line": 151
13347
+ "line": 153
13365
13348
  },
13366
13349
  "name": "logCompactionProperties",
13367
13350
  "optional": true,
@@ -13380,7 +13363,7 @@
13380
13363
  "immutable": true,
13381
13364
  "locationInModule": {
13382
13365
  "filename": "src/kafka/kafka-topic.ts",
13383
- "line": 159
13366
+ "line": 161
13384
13367
  },
13385
13368
  "name": "maxCompactionLagMs",
13386
13369
  "optional": true,
@@ -13388,6 +13371,25 @@
13388
13371
  "primitive": "number"
13389
13372
  }
13390
13373
  },
13374
+ {
13375
+ "abstract": true,
13376
+ "docs": {
13377
+ "default": "3",
13378
+ "remarks": "should be increased for\nlarge expected loads (e.g., 25 for rio.asset-iot-events).\nThe soft limit is 10 partitions but can be increased upon requests.\nPartitions are a limited resource and cannot be decreased.",
13379
+ "stability": "stable",
13380
+ "summary": "Defines degree of parallelism of the topic;"
13381
+ },
13382
+ "immutable": true,
13383
+ "locationInModule": {
13384
+ "filename": "src/kafka/kafka-topic.ts",
13385
+ "line": 109
13386
+ },
13387
+ "name": "numberOfPartitions",
13388
+ "optional": true,
13389
+ "type": {
13390
+ "primitive": "number"
13391
+ }
13392
+ },
13391
13393
  {
13392
13394
  "abstract": true,
13393
13395
  "docs": {
@@ -13399,7 +13401,7 @@
13399
13401
  "immutable": true,
13400
13402
  "locationInModule": {
13401
13403
  "filename": "src/kafka/kafka-topic.ts",
13402
- "line": 113
13404
+ "line": 115
13403
13405
  },
13404
13406
  "name": "replicationFactor",
13405
13407
  "optional": true,
@@ -13418,7 +13420,7 @@
13418
13420
  "immutable": true,
13419
13421
  "locationInModule": {
13420
13422
  "filename": "src/kafka/kafka-topic.ts",
13421
- "line": 123
13423
+ "line": 125
13422
13424
  },
13423
13425
  "name": "retention",
13424
13426
  "optional": true,
@@ -13443,7 +13445,7 @@
13443
13445
  },
13444
13446
  "locationInModule": {
13445
13447
  "filename": "src/kafka/kafka-topic.ts",
13446
- "line": 280
13448
+ "line": 284
13447
13449
  },
13448
13450
  "parameters": [
13449
13451
  {
@@ -13469,7 +13471,7 @@
13469
13471
  "kind": "class",
13470
13472
  "locationInModule": {
13471
13473
  "filename": "src/kafka/kafka-topic.ts",
13472
- "line": 278
13474
+ "line": 282
13473
13475
  },
13474
13476
  "name": "KafkaTopicV4",
13475
13477
  "symbolId": "src/kafka/kafka-topic:KafkaTopicV4"
@@ -13486,7 +13488,7 @@
13486
13488
  "kind": "interface",
13487
13489
  "locationInModule": {
13488
13490
  "filename": "src/kafka/kafka-topic.ts",
13489
- "line": 166
13491
+ "line": 168
13490
13492
  },
13491
13493
  "name": "KafkaTopicV4Props",
13492
13494
  "properties": [
@@ -13499,7 +13501,7 @@
13499
13501
  "immutable": true,
13500
13502
  "locationInModule": {
13501
13503
  "filename": "src/kafka/kafka-topic.ts",
13502
- "line": 210
13504
+ "line": 214
13503
13505
  },
13504
13506
  "name": "acl",
13505
13507
  "type": {
@@ -13515,7 +13517,7 @@
13515
13517
  "immutable": true,
13516
13518
  "locationInModule": {
13517
13519
  "filename": "src/kafka/kafka-topic.ts",
13518
- "line": 215
13520
+ "line": 219
13519
13521
  },
13520
13522
  "name": "isLogCompacted",
13521
13523
  "type": {
@@ -13531,7 +13533,7 @@
13531
13533
  "immutable": true,
13532
13534
  "locationInModule": {
13533
13535
  "filename": "src/kafka/kafka-topic.ts",
13534
- "line": 205
13536
+ "line": 209
13535
13537
  },
13536
13538
  "name": "metadata",
13537
13539
  "type": {
@@ -13548,30 +13550,13 @@
13548
13550
  "immutable": true,
13549
13551
  "locationInModule": {
13550
13552
  "filename": "src/kafka/kafka-topic.ts",
13551
- "line": 170
13553
+ "line": 172
13552
13554
  },
13553
13555
  "name": "name",
13554
13556
  "type": {
13555
13557
  "primitive": "string"
13556
13558
  }
13557
13559
  },
13558
- {
13559
- "abstract": true,
13560
- "docs": {
13561
- "remarks": "should be increased for\nlarge expected loads (e.g., 25 for rio.asset-iot-events).\nThe soft limit is 10 partitions but can be increased upon requests.",
13562
- "stability": "stable",
13563
- "summary": "Defines degree of parallelism of the topic;"
13564
- },
13565
- "immutable": true,
13566
- "locationInModule": {
13567
- "filename": "src/kafka/kafka-topic.ts",
13568
- "line": 177
13569
- },
13570
- "name": "numberOfPartitions",
13571
- "type": {
13572
- "primitive": "number"
13573
- }
13574
- },
13575
13560
  {
13576
13561
  "abstract": true,
13577
13562
  "docs": {
@@ -13583,7 +13568,7 @@
13583
13568
  "immutable": true,
13584
13569
  "locationInModule": {
13585
13570
  "filename": "src/kafka/kafka-topic.ts",
13586
- "line": 200
13571
+ "line": 204
13587
13572
  },
13588
13573
  "name": "instantDeletionEnabled",
13589
13574
  "optional": true,
@@ -13601,7 +13586,7 @@
13601
13586
  "immutable": true,
13602
13587
  "locationInModule": {
13603
13588
  "filename": "src/kafka/kafka-topic.ts",
13604
- "line": 221
13589
+ "line": 225
13605
13590
  },
13606
13591
  "name": "logCompactionProperties",
13607
13592
  "optional": true,
@@ -13620,7 +13605,7 @@
13620
13605
  "immutable": true,
13621
13606
  "locationInModule": {
13622
13607
  "filename": "src/kafka/kafka-topic.ts",
13623
- "line": 229
13608
+ "line": 233
13624
13609
  },
13625
13610
  "name": "managedBackupEnabled",
13626
13611
  "optional": true,
@@ -13639,7 +13624,7 @@
13639
13624
  "immutable": true,
13640
13625
  "locationInModule": {
13641
13626
  "filename": "src/kafka/kafka-topic.ts",
13642
- "line": 237
13627
+ "line": 241
13643
13628
  },
13644
13629
  "name": "maxCompactionLagMs",
13645
13630
  "optional": true,
@@ -13647,6 +13632,25 @@
13647
13632
  "primitive": "number"
13648
13633
  }
13649
13634
  },
13635
+ {
13636
+ "abstract": true,
13637
+ "docs": {
13638
+ "default": "3",
13639
+ "remarks": "should be increased for\nlarge expected loads (e.g., 25 for rio.asset-iot-events).\nThe soft limit is 10 partitions but can be increased upon requests.\nPartitions are a limited resource and cannot be decreased.",
13640
+ "stability": "stable",
13641
+ "summary": "Defines degree of parallelism of the topic;"
13642
+ },
13643
+ "immutable": true,
13644
+ "locationInModule": {
13645
+ "filename": "src/kafka/kafka-topic.ts",
13646
+ "line": 181
13647
+ },
13648
+ "name": "numberOfPartitions",
13649
+ "optional": true,
13650
+ "type": {
13651
+ "primitive": "number"
13652
+ }
13653
+ },
13650
13654
  {
13651
13655
  "abstract": true,
13652
13656
  "docs": {
@@ -13658,7 +13662,7 @@
13658
13662
  "immutable": true,
13659
13663
  "locationInModule": {
13660
13664
  "filename": "src/kafka/kafka-topic.ts",
13661
- "line": 183
13665
+ "line": 187
13662
13666
  },
13663
13667
  "name": "replicationFactor",
13664
13668
  "optional": true,
@@ -13677,7 +13681,7 @@
13677
13681
  "immutable": true,
13678
13682
  "locationInModule": {
13679
13683
  "filename": "src/kafka/kafka-topic.ts",
13680
- "line": 193
13684
+ "line": 197
13681
13685
  },
13682
13686
  "name": "retention",
13683
13687
  "optional": true,
@@ -25930,7 +25934,7 @@
25930
25934
  },
25931
25935
  "locationInModule": {
25932
25936
  "filename": "src/kafka/kafka-topic.ts",
25933
- "line": 257
25937
+ "line": 261
25934
25938
  },
25935
25939
  "parameters": [
25936
25940
  {
@@ -25956,7 +25960,7 @@
25956
25960
  "kind": "class",
25957
25961
  "locationInModule": {
25958
25962
  "filename": "src/kafka/kafka-topic.ts",
25959
- "line": 255
25963
+ "line": 259
25960
25964
  },
25961
25965
  "name": "KafkaTopic",
25962
25966
  "namespace": "kafka",
@@ -26138,7 +26142,7 @@
26138
26142
  "immutable": true,
26139
26143
  "locationInModule": {
26140
26144
  "filename": "src/kafka/kafka-topic.ts",
26141
- "line": 140
26145
+ "line": 142
26142
26146
  },
26143
26147
  "name": "acl",
26144
26148
  "type": {
@@ -26154,7 +26158,7 @@
26154
26158
  "immutable": true,
26155
26159
  "locationInModule": {
26156
26160
  "filename": "src/kafka/kafka-topic.ts",
26157
- "line": 145
26161
+ "line": 147
26158
26162
  },
26159
26163
  "name": "isLogCompacted",
26160
26164
  "type": {
@@ -26170,7 +26174,7 @@
26170
26174
  "immutable": true,
26171
26175
  "locationInModule": {
26172
26176
  "filename": "src/kafka/kafka-topic.ts",
26173
- "line": 135
26177
+ "line": 137
26174
26178
  },
26175
26179
  "name": "metadata",
26176
26180
  "type": {
@@ -26194,23 +26198,6 @@
26194
26198
  "primitive": "string"
26195
26199
  }
26196
26200
  },
26197
- {
26198
- "abstract": true,
26199
- "docs": {
26200
- "remarks": "should be increased for\nlarge expected loads (e.g., 25 for rio.asset-iot-events).\nThe soft limit is 10 partitions but can be increased upon requests.",
26201
- "stability": "stable",
26202
- "summary": "Defines degree of parallelism of the topic;"
26203
- },
26204
- "immutable": true,
26205
- "locationInModule": {
26206
- "filename": "src/kafka/kafka-topic.ts",
26207
- "line": 107
26208
- },
26209
- "name": "numberOfPartitions",
26210
- "type": {
26211
- "primitive": "number"
26212
- }
26213
- },
26214
26201
  {
26215
26202
  "abstract": true,
26216
26203
  "docs": {
@@ -26222,7 +26209,7 @@
26222
26209
  "immutable": true,
26223
26210
  "locationInModule": {
26224
26211
  "filename": "src/kafka/kafka-topic.ts",
26225
- "line": 130
26212
+ "line": 132
26226
26213
  },
26227
26214
  "name": "instantDeletionEnabled",
26228
26215
  "optional": true,
@@ -26240,7 +26227,7 @@
26240
26227
  "immutable": true,
26241
26228
  "locationInModule": {
26242
26229
  "filename": "src/kafka/kafka-topic.ts",
26243
- "line": 151
26230
+ "line": 153
26244
26231
  },
26245
26232
  "name": "logCompactionProperties",
26246
26233
  "optional": true,
@@ -26259,7 +26246,7 @@
26259
26246
  "immutable": true,
26260
26247
  "locationInModule": {
26261
26248
  "filename": "src/kafka/kafka-topic.ts",
26262
- "line": 159
26249
+ "line": 161
26263
26250
  },
26264
26251
  "name": "maxCompactionLagMs",
26265
26252
  "optional": true,
@@ -26267,6 +26254,25 @@
26267
26254
  "primitive": "number"
26268
26255
  }
26269
26256
  },
26257
+ {
26258
+ "abstract": true,
26259
+ "docs": {
26260
+ "default": "3",
26261
+ "remarks": "should be increased for\nlarge expected loads (e.g., 25 for rio.asset-iot-events).\nThe soft limit is 10 partitions but can be increased upon requests.\nPartitions are a limited resource and cannot be decreased.",
26262
+ "stability": "stable",
26263
+ "summary": "Defines degree of parallelism of the topic;"
26264
+ },
26265
+ "immutable": true,
26266
+ "locationInModule": {
26267
+ "filename": "src/kafka/kafka-topic.ts",
26268
+ "line": 109
26269
+ },
26270
+ "name": "numberOfPartitions",
26271
+ "optional": true,
26272
+ "type": {
26273
+ "primitive": "number"
26274
+ }
26275
+ },
26270
26276
  {
26271
26277
  "abstract": true,
26272
26278
  "docs": {
@@ -26278,7 +26284,7 @@
26278
26284
  "immutable": true,
26279
26285
  "locationInModule": {
26280
26286
  "filename": "src/kafka/kafka-topic.ts",
26281
- "line": 113
26287
+ "line": 115
26282
26288
  },
26283
26289
  "name": "replicationFactor",
26284
26290
  "optional": true,
@@ -26297,7 +26303,7 @@
26297
26303
  "immutable": true,
26298
26304
  "locationInModule": {
26299
26305
  "filename": "src/kafka/kafka-topic.ts",
26300
- "line": 123
26306
+ "line": 125
26301
26307
  },
26302
26308
  "name": "retention",
26303
26309
  "optional": true,
@@ -26322,7 +26328,7 @@
26322
26328
  },
26323
26329
  "locationInModule": {
26324
26330
  "filename": "src/kafka/kafka-topic.ts",
26325
- "line": 280
26331
+ "line": 284
26326
26332
  },
26327
26333
  "parameters": [
26328
26334
  {
@@ -26348,7 +26354,7 @@
26348
26354
  "kind": "class",
26349
26355
  "locationInModule": {
26350
26356
  "filename": "src/kafka/kafka-topic.ts",
26351
- "line": 278
26357
+ "line": 282
26352
26358
  },
26353
26359
  "name": "KafkaTopicV4",
26354
26360
  "namespace": "kafka",
@@ -26366,7 +26372,7 @@
26366
26372
  "kind": "interface",
26367
26373
  "locationInModule": {
26368
26374
  "filename": "src/kafka/kafka-topic.ts",
26369
- "line": 166
26375
+ "line": 168
26370
26376
  },
26371
26377
  "name": "KafkaTopicV4Props",
26372
26378
  "namespace": "kafka",
@@ -26380,7 +26386,7 @@
26380
26386
  "immutable": true,
26381
26387
  "locationInModule": {
26382
26388
  "filename": "src/kafka/kafka-topic.ts",
26383
- "line": 210
26389
+ "line": 214
26384
26390
  },
26385
26391
  "name": "acl",
26386
26392
  "type": {
@@ -26396,7 +26402,7 @@
26396
26402
  "immutable": true,
26397
26403
  "locationInModule": {
26398
26404
  "filename": "src/kafka/kafka-topic.ts",
26399
- "line": 215
26405
+ "line": 219
26400
26406
  },
26401
26407
  "name": "isLogCompacted",
26402
26408
  "type": {
@@ -26412,7 +26418,7 @@
26412
26418
  "immutable": true,
26413
26419
  "locationInModule": {
26414
26420
  "filename": "src/kafka/kafka-topic.ts",
26415
- "line": 205
26421
+ "line": 209
26416
26422
  },
26417
26423
  "name": "metadata",
26418
26424
  "type": {
@@ -26429,30 +26435,13 @@
26429
26435
  "immutable": true,
26430
26436
  "locationInModule": {
26431
26437
  "filename": "src/kafka/kafka-topic.ts",
26432
- "line": 170
26438
+ "line": 172
26433
26439
  },
26434
26440
  "name": "name",
26435
26441
  "type": {
26436
26442
  "primitive": "string"
26437
26443
  }
26438
26444
  },
26439
- {
26440
- "abstract": true,
26441
- "docs": {
26442
- "remarks": "should be increased for\nlarge expected loads (e.g., 25 for rio.asset-iot-events).\nThe soft limit is 10 partitions but can be increased upon requests.",
26443
- "stability": "stable",
26444
- "summary": "Defines degree of parallelism of the topic;"
26445
- },
26446
- "immutable": true,
26447
- "locationInModule": {
26448
- "filename": "src/kafka/kafka-topic.ts",
26449
- "line": 177
26450
- },
26451
- "name": "numberOfPartitions",
26452
- "type": {
26453
- "primitive": "number"
26454
- }
26455
- },
26456
26445
  {
26457
26446
  "abstract": true,
26458
26447
  "docs": {
@@ -26464,7 +26453,7 @@
26464
26453
  "immutable": true,
26465
26454
  "locationInModule": {
26466
26455
  "filename": "src/kafka/kafka-topic.ts",
26467
- "line": 200
26456
+ "line": 204
26468
26457
  },
26469
26458
  "name": "instantDeletionEnabled",
26470
26459
  "optional": true,
@@ -26482,7 +26471,7 @@
26482
26471
  "immutable": true,
26483
26472
  "locationInModule": {
26484
26473
  "filename": "src/kafka/kafka-topic.ts",
26485
- "line": 221
26474
+ "line": 225
26486
26475
  },
26487
26476
  "name": "logCompactionProperties",
26488
26477
  "optional": true,
@@ -26501,7 +26490,7 @@
26501
26490
  "immutable": true,
26502
26491
  "locationInModule": {
26503
26492
  "filename": "src/kafka/kafka-topic.ts",
26504
- "line": 229
26493
+ "line": 233
26505
26494
  },
26506
26495
  "name": "managedBackupEnabled",
26507
26496
  "optional": true,
@@ -26520,7 +26509,7 @@
26520
26509
  "immutable": true,
26521
26510
  "locationInModule": {
26522
26511
  "filename": "src/kafka/kafka-topic.ts",
26523
- "line": 237
26512
+ "line": 241
26524
26513
  },
26525
26514
  "name": "maxCompactionLagMs",
26526
26515
  "optional": true,
@@ -26528,6 +26517,25 @@
26528
26517
  "primitive": "number"
26529
26518
  }
26530
26519
  },
26520
+ {
26521
+ "abstract": true,
26522
+ "docs": {
26523
+ "default": "3",
26524
+ "remarks": "should be increased for\nlarge expected loads (e.g., 25 for rio.asset-iot-events).\nThe soft limit is 10 partitions but can be increased upon requests.\nPartitions are a limited resource and cannot be decreased.",
26525
+ "stability": "stable",
26526
+ "summary": "Defines degree of parallelism of the topic;"
26527
+ },
26528
+ "immutable": true,
26529
+ "locationInModule": {
26530
+ "filename": "src/kafka/kafka-topic.ts",
26531
+ "line": 181
26532
+ },
26533
+ "name": "numberOfPartitions",
26534
+ "optional": true,
26535
+ "type": {
26536
+ "primitive": "number"
26537
+ }
26538
+ },
26531
26539
  {
26532
26540
  "abstract": true,
26533
26541
  "docs": {
@@ -26539,7 +26547,7 @@
26539
26547
  "immutable": true,
26540
26548
  "locationInModule": {
26541
26549
  "filename": "src/kafka/kafka-topic.ts",
26542
- "line": 183
26550
+ "line": 187
26543
26551
  },
26544
26552
  "name": "replicationFactor",
26545
26553
  "optional": true,
@@ -26558,7 +26566,7 @@
26558
26566
  "immutable": true,
26559
26567
  "locationInModule": {
26560
26568
  "filename": "src/kafka/kafka-topic.ts",
26561
- "line": 193
26569
+ "line": 197
26562
26570
  },
26563
26571
  "name": "retention",
26564
26572
  "optional": true,
@@ -27420,5 +27428,5 @@
27420
27428
  }
27421
27429
  },
27422
27430
  "version": "0.0.0",
27423
- "fingerprint": "m9uL+1TBzf0GGaQXc/z3beJH7llfCQOpZ0quwFm+Jgo="
27431
+ "fingerprint": "SblC7vtWfJEd2LabvfnB+SjhhjrC/BusAJPVVzpP3ac="
27424
27432
  }
@@ -89,8 +89,10 @@ export interface KafkaTopicProps {
89
89
  * Defines degree of parallelism of the topic; should be increased for
90
90
  * large expected loads (e.g., 25 for rio.asset-iot-events).
91
91
  * The soft limit is 10 partitions but can be increased upon requests.
92
+ * Partitions are a limited resource and cannot be decreased.
93
+ * @defaultValue 3
92
94
  */
93
- readonly numberOfPartitions: number;
95
+ readonly numberOfPartitions?: number;
94
96
  /**
95
97
  * Defines degree of replication of messages; has to be between 1 and the number of brokers (currently 3).
96
98
  * @defaultValue 3
@@ -149,8 +151,10 @@ export interface KafkaTopicV4Props {
149
151
  * Defines degree of parallelism of the topic; should be increased for
150
152
  * large expected loads (e.g., 25 for rio.asset-iot-events).
151
153
  * The soft limit is 10 partitions but can be increased upon requests.
154
+ * Partitions are a limited resource and cannot be decreased.
155
+ * @defaultValue 3
152
156
  */
153
- readonly numberOfPartitions: number;
157
+ readonly numberOfPartitions?: number;
154
158
  /**
155
159
  * Defines degree of replication of messages; has to be between 1 and the number of brokers (currently 3).
156
160
  * @defaultValue 3
@@ -59,7 +59,8 @@ const validator = (props) => {
59
59
  if (!props.name.match(/^[A-Za-z0-9.-]+$/)) {
60
60
  result.push('Invalid [name]: expecting topic name to match the reg exp `[A-Za-z0-9.-]+`.');
61
61
  }
62
- if (!Number.isInteger(props.numberOfPartitions) || props.numberOfPartitions < 1) {
62
+ if (props.numberOfPartitions !== undefined &&
63
+ (!Number.isInteger(props.numberOfPartitions) || props.numberOfPartitions < 1)) {
63
64
  result.push(`Invalid [numberOfPartitions]: expecting number of partitions to be a positive integer but got ${props.numberOfPartitions}.`);
64
65
  }
65
66
  if (props.replicationFactor !== undefined &&
@@ -106,7 +107,7 @@ const mapProperties = (scope, props) => {
106
107
  ServiceToken: 'arn:aws:sns:eu-west-1:186993757734:dp-topic-manager-sns-topic',
107
108
  TopicName: props.name,
108
109
  Description: props.metadata.description,
109
- NumberOfPartitions: props.numberOfPartitions,
110
+ NumberOfPartitions: props.numberOfPartitions ?? 3,
110
111
  ReplicationFactor: props.replicationFactor ?? 3,
111
112
  RetentionMs: (props.retention ?? aws_cdk_lib_1.Duration.days(7)).toMilliseconds(),
112
113
  DeleteRetentionMs: props.isLogCompacted ? deleteRetentionDuration.toMilliseconds() : undefined,
@@ -121,4 +122,4 @@ const mapProperties = (scope, props) => {
121
122
  },
122
123
  };
123
124
  };
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Fma2EtdG9waWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva2Fma2Eva2Fma2EtdG9waWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBbUM7QUFDbkMsNkNBQWlFO0FBQ2pFLDJDQUFtRDtBQUVuRCwwREFBcUQ7QUFxUHJEOzs7O0dBSUc7QUFDSCxNQUFhLFVBQVcsU0FBUSxzQkFBUztJQUV2QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFHakIseUJBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1FBRXpFLElBQUkseUJBQVcsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQ2xDLElBQUksRUFBRSxvQkFBb0I7WUFDMUIsVUFBVSxFQUFFO2dCQUNWLEdBQUcsYUFBYSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7Z0JBQzdCLE9BQU8sRUFBRSxHQUFHO2FBQ2I7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDOztBQWpCSCxnQ0FrQkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxZQUFhLFNBQVEsc0JBQVM7SUFFekMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF3QjtRQUNoRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUkseUJBQVcsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQ2xDLElBQUksRUFBRSxvQkFBb0I7WUFDMUIsVUFBVSxFQUFFO2dCQUNWLEdBQUcsYUFBYSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7Z0JBQzdCLE9BQU8sRUFBRSxHQUFHO2dCQUNaLFFB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dUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUM5RixzQkFBc0IsRUFBRSxLQUFLLENBQUMsc0JBQXNCLElBQUksS0FBSztRQUM3RCxhQUFhLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRO1FBQzFELFNBQVMsRUFBRSxTQUFTO1FBQ3BCLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0I7UUFDNUMsR0FBRyxFQUFFO1lBQ0gsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSTtZQUNwQixLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLO1lBQ3RCLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU07U0FDekI7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IEFubm90YXRpb25zLCBDZm5SZXNvdXJjZSwgRHVyYXRpb24gfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QsIElDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEthZmthRXZlbnRTcGVjU291cmNlIH0gZnJvbSAnLi9rYWZrYS1ldmVudC1zcGVjJztcbmltcG9ydCB7IFJpb0xhbmRpbmdab25lIH0gZnJvbSAnLi4vcmlvLWxhbmRpbmctem9uZSc7XG5cbi8qKlxuICogV3JhcHBlciBmb3IgYWxsIG1ldGFkYXRhIG9mIGEgdG9waWMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2Fma2FUb3BpY01ldGFEYXRhIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCBzcGVjcyBvZiB0aGUgZXZlbnRzIG9uIHRoYXQgdG9waWNcbiAgICogQGRlcHJlY2F0ZWQgRXZlbnRzIGFyZSBubyBsb25nZXIgcHJvdmlkZWQgdGhyb3VnaCB0aGlzIGNvbnN0cnVjdC4gU3BlY2lmeSB0aGUgZXZlbnQgaW4gdGhlIGNhdGFsb2ctaW5mby55YW1sLiBTZWUgdGhlIEJhY2tzdGFnZSBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZXZlbnRzPzogS2Fma2FFdmVudFNwZWNTb3VyY2VbXSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogRGVzY3JpYmVzIHRoZSBpbnRlbnQgb2YgdGhlIHRvcGljLiBUaGlzIG1pZ2h0IGJlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBldmVudHMgb24gdGhhdCB0b3BpY1xuICAgKiBvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBwcm9kdWNlciBhbmQgdGhlIGNvbnRleHQgb2YgdGhlIGV2ZW50cy5cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogV3JhcHBlciBmb3IgYWxsIG1ldGEgZGF0YSBvZiBhIHY0IHRvcGljIHNwZWMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2Fma2FUb3BpY01ldGFEYXRhVjQge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHNwZWNzIG9mIHRoZSBldmVudHMgb24gdGhhdCB0b3BpY1xuICAgKiBAZGVwcmVjYXRlZCBFdmVudHMgYXJlIG5vIGxvbmdlciBwcm92aWRlZCB0aHJvdWdoIHRoaXMgY29uc3RydWN0LiBTcGVjaWZ5IHRoZSBldmVudCBpbiB0aGUgY2F0YWxvZy1pbmZvLnlhbWwuIFNlZSB0aGUgQmFja3N0YWdlIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gICAqL1xuICByZWFkb25seSBldmVudHM/OiBLYWZrYUV2ZW50U3BlY1NvdXJjZVtdIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBEZXNjcmliZXMgdGhlIGludGVudCBvZiB0aGUgdG9waWMuIFRoaXMgbWlnaHQgYmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGV2ZW50cyBvbiB0aGF0IHRvcGljXG4gICAqIG9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHByb2R1Y2VyIGFuZCB0aGUgY29udGV4dCBvZiB0aGUgZXZlbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZztcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIGEgdG9waWMgaXMgbWVhbnQgZm9yIGNvbXBvbmVudCBpbnRlcm5hbCB1c2FnZSBvbmx5IG9yIGlmIG90aGVyIHNlcnZpY2VzIGNvdWxkXG4gICAqIHVzZSBpdCB0b28uXG4gICAqL1xuICByZWFkb25seSBhdWRpZW5jZTogVG9waWNBdWRpZW5jZTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBwcm9kdWNlciB3aWxsIHJlc3RvcmUgdGhlIGRhdGEgaW4gY2FzZSBvZiBhIGRpc2FzdGVyIG9yIG5vdC5cbiAgICovXG4gIHJlYWRvbmx5IHJlY292ZXJ5UG9saWN5OiBUb3BpY1JlY292ZXJ5UG9saWN5O1xufVxuXG4vKipcbiAqIFJlYWQgYW5kIHdyaXRlIHBlcm1pc3Npb25zIGZvciB0aGUgdG9waWMuXG4gKlxuICogc3RyaW5ncyBhcmUgbWF0Y2hlZCBhZ2FpbnN0IHRoZSBDTkFNRSBvZiB0aGUgY2VydGlmaWNhdGUgb2YgdGhlIEthZmthIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2Fma2FBY2xTdGF0ZW1lbnQge1xuICAvKipcbiAgKiBMaXN0IG9mIGNsaWVudHMgdGhhdCBzaG91bGQgZ2V0IHdyaXRlIHBlcm1pc3Npb25zXG4gICovXG4gIHJlYWRvbmx5IHdyaXRlOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogTGlzdCBvZiBjbGllbnRzIHRoYXQgc2hvdWxkIGdldCByZWFkIHBlcm1pc3Npb25zXG4gICAqL1xuICByZWFkb25seSByZWFkOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogTGlzdCBvZiBjbGllbnRzIHRoYXQgc2hvdWxkIGdldCBkZWxldGUgcGVybWlzc2lvbnMuXG4gICAqXG4gICAqIEF0dGVudGlvbjogT25seSB1c2UgRGVsZXRpb24gcG9saWN5IGlmIHlvdSBrbm93IHdoYXQgeW91IGFyZSBkb2luZyFcbiAgICogVGhpcyBpcyBvbmx5IG5lY2Vzc2FyeSBmb3IgS1N0cmVhbSBhbmQgYWxsb3dzIHRoZSBhcHBsaWNhdGlvbiB0byBkZWxldGUgbWVzc2FnZXMgYW5kIHRoZSB0b3BpYy48YnI+XG4gICAqIElmIHlvdSBqdXN0IHdhbnQgdG8gXCJkZWxldGVcIiBhIG1lc3NhZ2Ugb24gYSBsb2cgY29tcGFjdGVkIHRvcGljLCB5b3Ugc2hvdWxkIG5vdCBzZXQgdGhpcyBwZXJtaXNzaW9uIGFuZCBzZW5kIGEgdG9tYnN0b25lIG1lc3NhZ2UgaW5zdGVhZC5cbiAgICpcbiAgICogQGpzaWkgaWdub3JlXG4gICAqL1xuICByZWFkb25seSBkZWxldGU/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBXcmFwcGVyIGZvciBhbGwgbG9nIGNvbXBhY3Rpb24gcmVsYXRlZCBwcm9wZXJ0aWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvZ0NvbXBhY3Rpb25Qcm9wZXJ0aWVzIHtcbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgb2YgdGltZSB0byByZXRhaW4gZGVsZXRlIHRvbWJzdG9uZSBtYXJrZXJzIGZvciBsb2cgY29tcGFjdGVkIHRvcGljcztcbiAgICogVGhlIHNvZnQgbGltaXQgaXMgMTAgZGF5cyBidXQgY2FuIGJlIGluY3JlYXNlZCB1cG9uIHJlcXVlc3RzLlxuICAgKiBAZGVmYXVsdFZhbHVlIDEgZGF5XG4gICAqL1xuICByZWFkb25seSBkZWxldGVSZXRlbnRpb24/OiBEdXJhdGlvbjtcbn1cblxuLyoqXG4gKiBUaGUgY3VycmVudCBzZXJ2aWNlIGxpbWl0cyBhcmUgY29uZmlndXJlZCBpbiB0aGUgdG9waWMgbWFuYWdlci5cbiAqIElmIHlvdSBuZWVkIHRvIGluY3JlYXNlIHRoZSBsaW1pdHMgZm9yIHlvdXIgc2VydmljZSwgcGxlYXNlIGNvbnRhY3QgQ0xBSUQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2Fma2FUb3BpY1Byb3BzIHtcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgbmFtZSBvZiB0aGUgdG9waWM7IGhhcyB0byBtYXRjaCBwYXR0ZXJuIFtBLVphLXowLTkuLV0rXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgZGVncmVlIG9mIHBhcmFsbGVsaXNtIG9mIHRoZSB0b3BpYzsgc2hvdWxkIGJlIGluY3JlYXNlZCBmb3JcbiAgICogbGFyZ2UgZXhwZWN0ZWQgbG9hZHMgKGUuZy4sIDI1IGZvciByaW8uYXNzZXQtaW90LWV2ZW50cykuXG4gICAqIFRoZSBzb2Z0IGxpbWl0IGlzIDEwIHBhcnRpdGlvbnMgYnV0IGNhbiBiZSBpbmNyZWFzZWQgdXBvbiByZXF1ZXN0cy5cbiAgICovXG4gIHJlYWRvbmx5IG51bWJlck9mUGFydGl0aW9uczogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGRlZ3JlZSBvZiByZXBsaWNhdGlvbiBvZiBtZXNzYWdlczsgaGFzIHRvIGJlIGJldHdlZW4gMSBhbmQgdGhlIG51bWJlciBvZiBicm9rZXJzIChjdXJyZW50bHkgMykuXG4gICAqIEBkZWZhdWx0VmFsdWUgM1xuICAgKi9cbiAgcmVhZG9ubHkgcmVwbGljYXRpb25GYWN0b3I/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRpbWUgaG93IGxvbmcgbWVzc2FnZXMgYXJlIHJldGFpbmVkIG9uIEthZmthIGNsdXN0ZXI7XG4gICAqXG4gICAqIEZvciBtb3N0IGNhc2VzLCA3IGRheXMgKDYwNDgwMDAwMCBtcykgaXMgcmVjb21tZW5kZWQ7IHVwIHRvIDMwIGRheXMgbWF5IGJlIGNvbnNpZGVyZWRcbiAgICogb25seSBmb3IgZXhjZXB0aW9uYWwgc2NlbmFyaW9zIHdpdGggc3BlY2lmaWMgcmVxdWlyZW1lbnRzIGFuZCBjYW4gbGVhZCB0byBpbmNyZWFzZWQgS2Fma2Egc3RvcmFnZSBjb3N0cy5cbiAgICogVGhlIHNvZnQgbGltaXQgaXMgMyB0byAzMCBkYXlzLlxuICAgKiBAZGVmYXVsdFZhbHVlIDcgZGF5c1xuICAgKi9cbiAgcmVhZG9ubHkgcmV0ZW50aW9uPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIElmIHNldCB0byAnZmFsc2UsIHRoZSB0b3BpYydzIGRhdGEgd2lsbCBiZSBkZWxldGVkIG9uIEthZmthIDEwIGRheXMgYWZ0ZXIgc3RhY2sgZGVsZXRpb24uXG4gICAqIElmIHNldCB0byAndHJ1ZScsIGl0IHdpbGwgYmUgZGVsZXRlZCBpbW1lZGlhdGVseSBhZnRlciBzdGFjayBkZWxldGlvbi5cbiAgICogQGRlZmF1bHRWYWx1ZSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFudERlbGV0aW9uRW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBtZXRhZGF0YSBvZiB0aGUgdG9waWMuXG4gICAqL1xuICByZWFkb25seSBtZXRhZGF0YTogS2Fma2FUb3BpY01ldGFEYXRhO1xuXG4gIC8qKlxuICAgKiBUaGUgcGVybWlzc2lvbnMgdG8gYWNjZXNzIHRvIHRoZSB0b3BpYydzIGRhdGEuXG4gICAqL1xuICByZWFkb25seSBhY2w6IEthZmthQWNsU3RhdGVtZW50O1xuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IHdoZXRoZXIgdGhlIHRvcGljIGlzIGxvZyBjb21wYWN0ZWQgb3Igbm90LlxuICAgKi9cbiAgcmVhZG9ubHkgaXNMb2dDb21wYWN0ZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE11c3Qgb25seSBiZSBwcm92aWRlZCBpZiAnaXNMb2dDb21wYWN0ZWQnIGlzICd0cnVlJy5cbiAgICogQGRlZmF1bHRWYWx1ZSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0NvbXBhY3Rpb25Qcm9wZXJ0aWVzPzogTG9nQ29tcGFjdGlvblByb3BlcnRpZXM7XG5cbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIGNvbXBhY3Rpb24gbGFnIGluIG1pbGxpc2Vjb25kcy5cbiAgICpcbiAgICogVGhlIG1heGltdW0gdGltZSBhIG1lc3NhZ2UgY2FuIGJlIGRlbGF5ZWQgYmVmb3JlIGl0IGlzIGNvbXBhY3RlZC5cbiAgICogQGRlZmF1bHRWYWx1ZSA5MjIzMzcyMDM2ODU0Nzc1ODA3XG4gICAqL1xuICByZWFkb25seSBtYXhDb21wYWN0aW9uTGFnTXM/OiBudW1iZXI7XG59XG5cbi8qKlxuICogVGhlIGN1cnJlbnQgc2VydmljZSBsaW1pdHMgYXJlIGNvbmZpZ3VyZWQgaW4gdGhlIHRvcGljIG1hbmFnZXIuXG4gKiBJZiB5b3UgbmVlZCB0byBpbmNyZWFzZSB0aGUgbGltaXRzIGZvciB5b3VyIHNlcnZpY2UsIHBsZWFzZSBjb250YWN0IENMQUlELlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthVG9waWNWNFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgbmFtZSBvZiB0aGUgdG9waWM7IGhhcyB0byBtYXRjaCBwYXR0ZXJuIFtBLVphLXowLTkuLV0rXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgZGVncmVlIG9mIHBhcmFsbGVsaXNtIG9mIHRoZSB0b3BpYzsgc2hvdWxkIGJlIGluY3JlYXNlZCBmb3JcbiAgICogbGFyZ2UgZXhwZWN0ZWQgbG9hZHMgKGUuZy4sIDI1IGZvciByaW8uYXNzZXQtaW90LWV2ZW50cykuXG4gICAqIFRoZSBzb2Z0IGxpbWl0IGlzIDEwIHBhcnRpdGlvbnMgYnV0IGNhbiBiZSBpbmNyZWFzZWQgdXBvbiByZXF1ZXN0cy5cbiAgICovXG4gIHJlYWRvbmx5IG51bWJlck9mUGFydGl0aW9uczogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGRlZ3JlZSBvZiByZXBsaWNhdGlvbiBvZiBtZXNzYWdlczsgaGFzIHRvIGJlIGJldHdlZW4gMSBhbmQgdGhlIG51bWJlciBvZiBicm9rZXJzIChjdXJyZW50bHkgMykuXG4gICAqIEBkZWZhdWx0VmFsdWUgM1xuICAgKi9cbiAgcmVhZG9ubHkgcmVwbGljYXRpb25GYWN0b3I/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRpbWUgaG93IGxvbmcgbWVzc2FnZXMgYXJlIHJldGFpbmVkIG9uIEthZmthIGNsdXN0ZXI7XG4gICAqXG4gICAqIEZvciBtb3N0IGNhc2VzLCA3IGRheXMgKDYwNDgwMDAwMCBtcykgaXMgcmVjb21tZW5kZWQ7IHVwIHRvIDMwIGRheXMgbWF5IGJlIGNvbnNpZGVyZWRcbiAgICogb25seSBmb3IgZXhjZXB0aW9uYWwgc2NlbmFyaW9zIHdpdGggc3BlY2lmaWMgcmVxdWlyZW1lbnRzIGFuZCBjYW4gbGVhZCB0byBpbmNyZWFzZWQgS2Fma2Egc3RvcmFnZSBjb3N0cy5cbiAgICogVGhlIHNvZnQgbGltaXQgaXMgMyB0byAzMCBkYXlzIGJ1dCBjYW4gYmUgaW5jcmVhc2VkIHVwb24gcmVxdWVzdHMuXG4gICAqIEBkZWZhdWx0VmFsdWUgNyBkYXlzXG4gICAqL1xuICByZWFkb25seSByZXRlbnRpb24/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogSWYgc2V0IHRvICdmYWxzZSwgdGhlIHRvcGljJ3MgZGF0YSB3aWxsIGJlIGRlbGV0ZWQgb24gS2Fma2EgMTAgZGF5cyBhZnRlciBzdGFjayBkZWxldGlvbi5cbiAgICogSWYgc2V0IHRvICd0cnVlJywgaXQgd2lsbCBiZSBkZWxldGVkIGltbWVkaWF0ZWx5IGFmdGVyIHN0YWNrIGRlbGV0aW9uLlxuICAgKiBAZGVmYXVsdFZhbHVlIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBpbnN0YW50RGVsZXRpb25FbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIG1ldGFkYXRhIG9mIHRoZSB0b3BpYy5cbiAgICovXG4gIHJlYWRvbmx5IG1ldGFkYXRhOiBLYWZrYVRvcGljTWV0YURhdGFWNDtcblxuICAvKipcbiAgICogVGhlIHBlcm1pc3Npb25zIHRvIGFjY2VzcyB0byB0aGUgdG9waWMncyBkYXRhLlxuICAgKi9cbiAgcmVhZG9ubHkgYWNsOiBLYWZrYUFjbFN0YXRlbWVudDtcblxuICAvKipcbiAgICogU3BlY2lmeSB3aGV0aGVyIHRoZSB0b3BpYyBpcyBsb2cgY29tcGFjdGVkIG9yIG5vdC5cbiAgICovXG4gIHJlYWRvbmx5IGlzTG9nQ29tcGFjdGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBNdXN0IG9ubHkgYmUgcHJvdmlkZWQgaWYgJ2lzTG9nQ29tcGFjdGVkJyBpcyAndHJ1ZScuXG4gICAqIEBkZWZhdWx0VmFsdWUgdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBsb2dDb21wYWN0aW9uUHJvcGVydGllcz86IExvZ0NvbXBhY3Rpb25Qcm9wZXJ0aWVzO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IHdoZXRoZXIgdGhlIHRvcGljIHNob3VsZCBiZSBiYWNrZWQgdXAgYXV0b21hdGljYWxseSBvciBub3QuXG4gICAqIEl0IGNvdWxkIGp1c3QgYmUgZW5hYmxlZCwgaWYgdGhlIHRvcGljIGlzIGNvbXBhY3RlZCBhbmQgdGhlIFJlY292ZXJ5UG9saWN5IGlzICdyZWNvdmVyYWJsZScuXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBtYW5hZ2VkQmFja3VwRW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAgICogVGhlIG1heGltdW0gY29tcGFjdGlvbiBsYWcgaW4gbWlsbGlzZWNvbmRzLlxuICAgICAqXG4gICAgICogVGhlIG1heGltdW0gdGltZSBhIG1lc3NhZ2UgY2FuIGJlIGRlbGF5ZWQgYmVmb3JlIGl0IGlzIGNvbXBhY3RlZC5cbiAgICAgKiBAZGVmYXVsdFZhbHVlIDkyMjMzNzIwMzY4NTQ3NzU4MDdcbiAgICAgKi9cbiAgcmVhZG9ubHkgbWF4Q29tcGFjdGlvbkxhZ01zPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFRoZSBUb3BpY3MgdGFyZ2V0IGF1ZGllbmNlXG4gKi9cbmV4cG9ydCB0eXBlIFRvcGljQXVkaWVuY2UgPSAnY29tcG9uZW50LWludGVybmFsJyB8ICdjb21wYW55LWludGVybmFsJztcblxuLyoqXG4gKiBUaGUgVG9waWNzIHJlY292ZXJ5IHBvbGljeSBndWFyYW50ZWVkIGJ5IHRoZSBwcm9kdWNlclxuICovXG5leHBvcnQgdHlwZSBUb3BpY1JlY292ZXJ5UG9saWN5ID0gJ25vbmUnIHwgJ3JlY292ZXJhYmxlJztcblxuLyoqXG4gKiBDb25zdHJ1Y3QgdG8gY3JlYXRlIGEga2Fma2EgdG9waWMuXG4gKlxuICogQGRlcHJlY2F0ZWQgdXNlIHtAbGluayBLYWZrYVRvcGljVjR9IGluc3RlYWRcbiAqL1xuZXhwb3J0IGNsYXNzIEthZmthVG9waWMgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBLYWZrYVRvcGljUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG5cbiAgICBBbm5vdGF0aW9ucy5vZih0aGlzKS5hZGREZXByZWNhdGlvbignS2Fma2FUb3BpYycsIFwiVXNlICdLYWZrYVRvcGljVjQnIVwiKTtcblxuICAgIG5ldyBDZm5SZXNvdXJjZSh0aGlzLCAnS2Fma2FUb3BpYycsIHtcbiAgICAgIHR5cGU6ICdDdXN0b206OkthZmthVG9waWMnLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAuLi5tYXBQcm9wZXJ0aWVzKHRoaXMsIHByb3BzKSxcbiAgICAgICAgVmVyc2lvbjogJzMnLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMubm9kZS5hZGRWYWxpZGF0aW9uKHZhbGlkYXRvcihwcm9wcykpO1xuICB9XG59XG5cbi8qKlxuICogQ29uc3RydWN0IHRvIGNyZWF0ZSBhIGthZmthIHRvcGljLlxuICovXG5leHBvcnQgY2xhc3MgS2Fma2FUb3BpY1Y0IGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogS2Fma2FUb3BpY1Y0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgbmV3IENmblJlc291cmNlKHRoaXMsICdLYWZrYVRvcGljJywge1xuICAgICAgdHlwZTogJ0N1c3RvbTo6S2Fma2FUb3BpYycsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIC4uLm1hcFByb3BlcnRpZXModGhpcywgcHJvcHMpLFxuICAgICAgICBWZXJzaW9uOiAnNCcsXG4gICAgICAgIEF1ZGllbmNlOiBwcm9wcy5tZXRhZGF0YS5hdWRpZW5jZSxcbiAgICAgICAgUmVjb3ZlcnlQb2xpY3k6IHByb3BzLm1ldGFkYXRhLnJlY292ZXJ5UG9saWN5LFxuICAgICAgICBNYW5hZ2VkQmFja3VwRW5hYmxlZDogcHJvcHMubWFuYWdlZEJhY2t1cEVuYWJsZWQsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5ub2RlLmFkZFZhbGlkYXRpb24odmFsaWRhdG9yKHByb3BzKSk7XG4gICAgdGhpcy5ub2RlLmFkZFZhbGlkYXRpb24oYmFja3VwUHJvcGVydGllc1ZhbGlkYXRvcihwcm9wcykpO1xuICB9XG59XG5cbmNvbnN0IHZhbGlkYXRvciA9IChwcm9wczogS2Fma2FUb3BpY1Byb3BzKSA9PiB7XG4gIHJldHVybiB7XG4gICAgdmFsaWRhdGU6ICgpOiBzdHJpbmdbXSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBbXTtcblxuICAgICAgaWYgKCFwcm9wcy5uYW1lLm1hdGNoKC9eW0EtWmEtejAtOS4tXSskLykpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goJ0ludmFsaWQgW25hbWVdOiBleHBlY3RpbmcgdG9waWMgbmFtZSB0byBtYXRjaCB0aGUgcmVnIGV4cCBgW0EtWmEtejAtOS4tXStgLicpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIU51bWJlci5pc0ludGVnZXIocHJvcHMubnVtYmVyT2ZQYXJ0aXRpb25zKSB8fCBwcm9wcy5udW1iZXJPZlBhcnRpdGlvbnMgPCAxKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKGBJbnZhbGlkIFtudW1iZXJPZlBhcnRpdGlvbnNdOiBleHBlY3RpbmcgbnVtYmVyIG9mIHBhcnRpdGlvbnMgdG8gYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyIGJ1dCBnb3QgJHtwcm9wcy5udW1iZXJPZlBhcnRpdGlvbnN9LmApO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvcHMucmVwbGljYXRpb25GYWN0b3IgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICghTnVtYmVyLmlzSW50ZWdlcihwcm9wcy5yZXBsaWNhdGlvbkZhY3RvcikgfHwgcHJvcHMucmVwbGljYXRpb25GYWN0b3IgPCAxIHx8IHByb3BzLnJlcGxpY2F0aW9uRmFjdG9yID4gMykpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goJ0ludmFsaWQgW3JlcGxpY2F0aW9uRmFjdG9yXTogZXhwZWN0aW5nIGFuIGludGVnZXIgYmV0d2VlbiAxIGFuZCAzLicpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXByb3BzLmlzTG9nQ29tcGFjdGVkICYmIHByb3BzLmxvZ0NvbXBhY3Rpb25Qcm9wZXJ0aWVzKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFtsb2dDb21wYWN0aW9uUHJvcGVydGllc106IGxvZyBjb21wYWN0aW9uIGlzIGRpc2FibGVkIHNvIHByb3BlcnRpZXMgbXVzdCBiZSB1bmRlZmluZWQuJyk7XG4gICAgICB9XG5cbiAgICAgIGlmICghcHJvcHMuaXNMb2dDb21wYWN0ZWQgJiYgcHJvcHMubWF4Q29tcGFjdGlvbkxhZ01zKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFttYXhDb21wYWN0aW9uTGFnTXNdOiBtYXggY29tcGFjdGlvbiBsYWcgaXMgb25seSBhbGxvd2VkIGZvciBsb2cgY29tcGFjdGVkIHRvcGljcy4nKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9LFxuICB9O1xufTtcblxuY29uc3QgYmFja3VwUHJvcGVydGllc1ZhbGlkYXRvciA9IChwcm9wczogS2Fma2FUb3BpY1Y0UHJvcHMpID0+IHtcbiAgcmV0dXJuIHtcbiAgICB2YWxpZGF0ZTogKCk6IHN0cmluZ1tdID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuXG4gICAgICBpZiAocHJvcHMubWFuYWdlZEJhY2t1cEVuYWJsZWQgJiYgIXByb3BzLmlzTG9nQ29tcGFjdGVkKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFttYW5hZ2VkQmFja3VwRW5hYmxlZF06IG1hbmFnZWQgYmFja3VwIGNhbiBvbmx5IGJlIGVuYWJsZWQgZm9yIGxvZyBjb21wYWN0ZWQgdG9waWNzLicpO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvcHMubWFuYWdlZEJhY2t1cEVuYWJsZWQgJiYgcHJvcHMubWV0YWRhdGEucmVjb3ZlcnlQb2xpY3kgIT09ICdyZWNvdmVyYWJsZScpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goJ0ludmFsaWQgW21hbmFnZWRCYWNrdXBFbmFibGVkXTogdG9waWNzIHdpdGggbWFuYWdlZEJhY2t1cEVuYWJsZWQgaGF2ZSB0byBoYXZlIHJlY292ZXJ5IHBvbGljeSBcInJlY292ZXJhYmxlXCIuJyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSxcbiAgfTtcblxufTtcblxuY29uc3QgbWFwUHJvcGVydGllcyA9IChzY29wZTogSUNvbnN0cnVjdCwgcHJvcHM6IEthZmthVG9waWNQcm9wcyB8IEthZmthVG9waWNWNFByb3BzKSA9PiB7XG4gIGNvbnN0IHRlYW1FbWFpbCA9IFJpb0xhbmRpbmdab25lLmdldFRlYW1FbWFpbFBhcmFtZXRlcihzY29wZSkuc3RyaW5nVmFsdWU7XG5cblxuICBpZiAocHJvcHMubWV0YWRhdGEuZXZlbnRzPy5sZW5ndGggJiYgcHJvcHMubWV0YWRhdGEuZXZlbnRzLmxlbmd0aCA+IDApIHtcbiAgICBjZGsuQW5ub3RhdGlvbnMub2Yoc2NvcGUpLmFkZERlcHJlY2F0aW9uKFxuICAgICAgJ0thZmthVG9waWNNZXRhRGF0YS5ldmVudHMnLFxuICAgICAgJ0V2ZW50cyBhcmUgbm8gbG9uZ2VyIHByb3ZpZGVkIHRocm91Z2ggdGhpcyBjb25zdHJ1Y3QuIFNwZWNpZnkgdGhlIGV2ZW50IGluIHRoZSBjYXRhbG9nLWluZm8ueWFtbC4gU2VlIHRoZSBCYWNrc3RhZ2UgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLFxuICAgICk7XG4gIH1cbiAgY29uc3QgZGVsZXRlUmV0ZW50aW9uRHVyYXRpb24gPSBwcm9wcy5sb2dDb21wYWN0aW9uUHJvcGVydGllcz8uZGVsZXRlUmV0ZW50aW9uID8/IER1cmF0aW9uLmRheXMoNyk7XG4gIGlmIChwcm9wcy5hY2wuZGVsZXRlICE9IHVuZGVmaW5lZCAmJiBwcm9wcy5hY2wuZGVsZXRlLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBhbm5vdGF0aW9ucyA9IGNkay5Bbm5vdGF0aW9ucy5vZihjZGsuU3RhY2sub2Yoc2NvcGUpKTtcbiAgICBhbm5vdGF0aW9ucy5hZGRXYXJuaW5nVjIoXG4gICAgICBgQHJpby1jbG91ZC9jZGstdjItY29uc3RydWN0cy9rYWZrYS9rYWZrYS10b3BpYy8ke3Byb3BzLm5hbWV9L0RlbGV0aW9uUG9saWN5YCxcbiAgICAgIGBcbiDinYwgWW91IGhhdmUgc2V0IFwiZGVsZXRlXCIgcGVybWlzc2lvbiBmb3Iga2Fma2EtdG9waWMgJHtwcm9wcy5uYW1lfS4gWW91IHByb2JhYmx5IGRvIG5vdCBuZWVkIHRoaXMuIFBsZWFzZSB1c2UgdGhpcyBvbmx5IGlmIHlvdSBrbm93IHdoYXQgeW91IGFyZSBkb2luZy5cbmAsXG4gICAgKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIFNlcnZpY2VUb2tlbjogJ2Fybjphd3M6c25zOmV1LXdlc3QtMToxODY5OTM3NTc3MzQ6ZHAtdG9waWMtbWFuYWdlci1zbnMtdG9waWMnLFxuICAgIFRvcGljTmFtZTogcHJvcHMubmFtZSxcbiAgICBEZXNjcmlwdGlvbjogcHJvcHMubWV0YWRhdGEuZGVzY3JpcHRpb24sXG4gICAgTnVtYmVyT2ZQYXJ0aXRpb25zOiBwcm9wcy5udW1iZXJPZlBhcnRpdGlvbnMsXG4gICAgUmVwbGljYXRpb25GYWN0b3I6IHByb3BzLnJlcGxpY2F0aW9uRmFjdG9yID8/IDMsXG4gICAgUmV0ZW50aW9uTXM6IChwcm9wcy5yZXRlbnRpb24gPz8gRHVyYXRpb24uZGF5cyg3KSkudG9NaWxsaXNlY29uZHMoKSxcbiAgICBEZWxldGVSZXRlbnRpb25NczogcHJvcHMuaXNMb2dDb21wYWN0ZWQgPyBkZWxldGVSZXRlbnRpb25EdXJhdGlvbi50b01pbGxpc2Vjb25kcygpIDogdW5kZWZpbmVkLFxuICAgIEluc3RhbnREZWxldGlvbkVuYWJsZWQ6IHByb3BzLmluc3RhbnREZWxldGlvbkVuYWJsZWQgPz8gZmFsc2UsXG4gICAgQ2xlYW51cFBvbGljeTogcHJvcHMuaXNMb2dDb21wYWN0ZWQgPyAnY29tcGFjdCcgOiAnZGVsZXRlJyxcbiAgICBUZWFtRW1haWw6IHRlYW1FbWFpbCxcbiAgICBNYXhDb21wYWN0aW9uTGFnTXM6IHByb3BzLm1heENvbXBhY3Rpb25MYWdNcyxcbiAgICBBQ0w6IHtcbiAgICAgIFJlYWQ6IHByb3BzLmFjbC5yZWFkLFxuICAgICAgV3JpdGU6IHByb3BzLmFjbC53cml0ZSxcbiAgICAgIERlbGV0ZTogcHJvcHMuYWNsLmRlbGV0ZSxcbiAgICB9LFxuICB9O1xufTtcbiJdfQ==
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Fma2EtdG9waWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva2Fma2Eva2Fma2EtdG9waWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBbUM7QUFDbkMsNkNBQWlFO0FBQ2pFLDJDQUFtRDtBQUVuRCwwREFBcUQ7QUF5UHJEOzs7O0dBSUc7QUFDSCxNQUFhLFVBQVcsU0FBUSxzQkFBUztJQUV2QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFHakIseUJBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1FBRXpFLElBQUkseUJBQVcsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQ2xDLElBQUksRUFBRSxvQkFBb0I7WUFDMUIsVUFBVSxFQUFFO2dCQUNWLEdBQUcsYUFBYSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7Z0JBQzdCLE9BQU8sRUFBRSxHQUFHO2FBQ2I7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDOztBQWpCSCxnQ0FrQkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxZQUFhLFNBQVEsc0JBQVM7SUFFekMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF3QjtRQUNoRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUkseUJBQVcsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQ2xDLElBQUksRUFBRSxvQkFBb0I7WUFDMUIsVUFBVSxFQUFFO2dCQUNWLEdBQUcsYUFBYSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7Z0JBQzdCLE9BQU8sRUFBRSxHQUFHO2dCQUNaLFFB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RTtRQUNuRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUM5RixzQkFBc0IsRUFBRSxLQUFLLENBQUMsc0JBQXNCLElBQUksS0FBSztRQUM3RCxhQUFhLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRO1FBQzFELFNBQVMsRUFBRSxTQUFTO1FBQ3BCLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0I7UUFDNUMsR0FBRyxFQUFFO1lBQ0gsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSTtZQUNwQixLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLO1lBQ3RCLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU07U0FDekI7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IEFubm90YXRpb25zLCBDZm5SZXNvdXJjZSwgRHVyYXRpb24gfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QsIElDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEthZmthRXZlbnRTcGVjU291cmNlIH0gZnJvbSAnLi9rYWZrYS1ldmVudC1zcGVjJztcbmltcG9ydCB7IFJpb0xhbmRpbmdab25lIH0gZnJvbSAnLi4vcmlvLWxhbmRpbmctem9uZSc7XG5cbi8qKlxuICogV3JhcHBlciBmb3IgYWxsIG1ldGFkYXRhIG9mIGEgdG9waWMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2Fma2FUb3BpY01ldGFEYXRhIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCBzcGVjcyBvZiB0aGUgZXZlbnRzIG9uIHRoYXQgdG9waWNcbiAgICogQGRlcHJlY2F0ZWQgRXZlbnRzIGFyZSBubyBsb25nZXIgcHJvdmlkZWQgdGhyb3VnaCB0aGlzIGNvbnN0cnVjdC4gU3BlY2lmeSB0aGUgZXZlbnQgaW4gdGhlIGNhdGFsb2ctaW5mby55YW1sLiBTZWUgdGhlIEJhY2tzdGFnZSBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZXZlbnRzPzogS2Fma2FFdmVudFNwZWNTb3VyY2VbXSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogRGVzY3JpYmVzIHRoZSBpbnRlbnQgb2YgdGhlIHRvcGljLiBUaGlzIG1pZ2h0IGJlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBldmVudHMgb24gdGhhdCB0b3BpY1xuICAgKiBvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBwcm9kdWNlciBhbmQgdGhlIGNvbnRleHQgb2YgdGhlIGV2ZW50cy5cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogV3JhcHBlciBmb3IgYWxsIG1ldGEgZGF0YSBvZiBhIHY0IHRvcGljIHNwZWMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2Fma2FUb3BpY01ldGFEYXRhVjQge1xuICAvKipcbiAgICogVGhlIGV2ZW50IHNwZWNzIG9mIHRoZSBldmVudHMgb24gdGhhdCB0b3BpY1xuICAgKiBAZGVwcmVjYXRlZCBFdmVudHMgYXJlIG5vIGxvbmdlciBwcm92aWRlZCB0aHJvdWdoIHRoaXMgY29uc3RydWN0LiBTcGVjaWZ5IHRoZSBldmVudCBpbiB0aGUgY2F0YWxvZy1pbmZvLnlhbWwuIFNlZSB0aGUgQmFja3N0YWdlIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gICAqL1xuICByZWFkb25seSBldmVudHM/OiBLYWZrYUV2ZW50U3BlY1NvdXJjZVtdIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBEZXNjcmliZXMgdGhlIGludGVudCBvZiB0aGUgdG9waWMuIFRoaXMgbWlnaHQgYmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGV2ZW50cyBvbiB0aGF0IHRvcGljXG4gICAqIG9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHByb2R1Y2VyIGFuZCB0aGUgY29udGV4dCBvZiB0aGUgZXZlbnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZztcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIGEgdG9waWMgaXMgbWVhbnQgZm9yIGNvbXBvbmVudCBpbnRlcm5hbCB1c2FnZSBvbmx5IG9yIGlmIG90aGVyIHNlcnZpY2VzIGNvdWxkXG4gICAqIHVzZSBpdCB0b28uXG4gICAqL1xuICByZWFkb25seSBhdWRpZW5jZTogVG9waWNBdWRpZW5jZTtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBwcm9kdWNlciB3aWxsIHJlc3RvcmUgdGhlIGRhdGEgaW4gY2FzZSBvZiBhIGRpc2FzdGVyIG9yIG5vdC5cbiAgICovXG4gIHJlYWRvbmx5IHJlY292ZXJ5UG9saWN5OiBUb3BpY1JlY292ZXJ5UG9saWN5O1xufVxuXG4vKipcbiAqIFJlYWQgYW5kIHdyaXRlIHBlcm1pc3Npb25zIGZvciB0aGUgdG9waWMuXG4gKlxuICogc3RyaW5ncyBhcmUgbWF0Y2hlZCBhZ2FpbnN0IHRoZSBDTkFNRSBvZiB0aGUgY2VydGlmaWNhdGUgb2YgdGhlIEthZmthIGNsaWVudHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2Fma2FBY2xTdGF0ZW1lbnQge1xuICAvKipcbiAgKiBMaXN0IG9mIGNsaWVudHMgdGhhdCBzaG91bGQgZ2V0IHdyaXRlIHBlcm1pc3Npb25zXG4gICovXG4gIHJlYWRvbmx5IHdyaXRlOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogTGlzdCBvZiBjbGllbnRzIHRoYXQgc2hvdWxkIGdldCByZWFkIHBlcm1pc3Npb25zXG4gICAqL1xuICByZWFkb25seSByZWFkOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogTGlzdCBvZiBjbGllbnRzIHRoYXQgc2hvdWxkIGdldCBkZWxldGUgcGVybWlzc2lvbnMuXG4gICAqXG4gICAqIEF0dGVudGlvbjogT25seSB1c2UgRGVsZXRpb24gcG9saWN5IGlmIHlvdSBrbm93IHdoYXQgeW91IGFyZSBkb2luZyFcbiAgICogVGhpcyBpcyBvbmx5IG5lY2Vzc2FyeSBmb3IgS1N0cmVhbSBhbmQgYWxsb3dzIHRoZSBhcHBsaWNhdGlvbiB0byBkZWxldGUgbWVzc2FnZXMgYW5kIHRoZSB0b3BpYy48YnI+XG4gICAqIElmIHlvdSBqdXN0IHdhbnQgdG8gXCJkZWxldGVcIiBhIG1lc3NhZ2Ugb24gYSBsb2cgY29tcGFjdGVkIHRvcGljLCB5b3Ugc2hvdWxkIG5vdCBzZXQgdGhpcyBwZXJtaXNzaW9uIGFuZCBzZW5kIGEgdG9tYnN0b25lIG1lc3NhZ2UgaW5zdGVhZC5cbiAgICpcbiAgICogQGpzaWkgaWdub3JlXG4gICAqL1xuICByZWFkb25seSBkZWxldGU/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBXcmFwcGVyIGZvciBhbGwgbG9nIGNvbXBhY3Rpb24gcmVsYXRlZCBwcm9wZXJ0aWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvZ0NvbXBhY3Rpb25Qcm9wZXJ0aWVzIHtcbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgb2YgdGltZSB0byByZXRhaW4gZGVsZXRlIHRvbWJzdG9uZSBtYXJrZXJzIGZvciBsb2cgY29tcGFjdGVkIHRvcGljcztcbiAgICogVGhlIHNvZnQgbGltaXQgaXMgMTAgZGF5cyBidXQgY2FuIGJlIGluY3JlYXNlZCB1cG9uIHJlcXVlc3RzLlxuICAgKiBAZGVmYXVsdFZhbHVlIDEgZGF5XG4gICAqL1xuICByZWFkb25seSBkZWxldGVSZXRlbnRpb24/OiBEdXJhdGlvbjtcbn1cblxuLyoqXG4gKiBUaGUgY3VycmVudCBzZXJ2aWNlIGxpbWl0cyBhcmUgY29uZmlndXJlZCBpbiB0aGUgdG9waWMgbWFuYWdlci5cbiAqIElmIHlvdSBuZWVkIHRvIGluY3JlYXNlIHRoZSBsaW1pdHMgZm9yIHlvdXIgc2VydmljZSwgcGxlYXNlIGNvbnRhY3QgQ0xBSUQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2Fma2FUb3BpY1Byb3BzIHtcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgbmFtZSBvZiB0aGUgdG9waWM7IGhhcyB0byBtYXRjaCBwYXR0ZXJuIFtBLVphLXowLTkuLV0rXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgZGVncmVlIG9mIHBhcmFsbGVsaXNtIG9mIHRoZSB0b3BpYzsgc2hvdWxkIGJlIGluY3JlYXNlZCBmb3JcbiAgICogbGFyZ2UgZXhwZWN0ZWQgbG9hZHMgKGUuZy4sIDI1IGZvciByaW8uYXNzZXQtaW90LWV2ZW50cykuXG4gICAqIFRoZSBzb2Z0IGxpbWl0IGlzIDEwIHBhcnRpdGlvbnMgYnV0IGNhbiBiZSBpbmNyZWFzZWQgdXBvbiByZXF1ZXN0cy5cbiAgICogUGFydGl0aW9ucyBhcmUgYSBsaW1pdGVkIHJlc291cmNlIGFuZCBjYW5ub3QgYmUgZGVjcmVhc2VkLlxuICAgKiBAZGVmYXVsdFZhbHVlIDNcbiAgICovXG4gIHJlYWRvbmx5IG51bWJlck9mUGFydGl0aW9ucz86IG51bWJlcjtcblxuICAvKipcbiAgICogRGVmaW5lcyBkZWdyZWUgb2YgcmVwbGljYXRpb24gb2YgbWVzc2FnZXM7IGhhcyB0byBiZSBiZXR3ZWVuIDEgYW5kIHRoZSBudW1iZXIgb2YgYnJva2VycyAoY3VycmVudGx5IDMpLlxuICAgKiBAZGVmYXVsdFZhbHVlIDNcbiAgICovXG4gIHJlYWRvbmx5IHJlcGxpY2F0aW9uRmFjdG9yPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaW1lIGhvdyBsb25nIG1lc3NhZ2VzIGFyZSByZXRhaW5lZCBvbiBLYWZrYSBjbHVzdGVyO1xuICAgKlxuICAgKiBGb3IgbW9zdCBjYXNlcywgNyBkYXlzICg2MDQ4MDAwMDAgbXMpIGlzIHJlY29tbWVuZGVkOyB1cCB0byAzMCBkYXlzIG1heSBiZSBjb25zaWRlcmVkXG4gICAqIG9ubHkgZm9yIGV4Y2VwdGlvbmFsIHNjZW5hcmlvcyB3aXRoIHNwZWNpZmljIHJlcXVpcmVtZW50cyBhbmQgY2FuIGxlYWQgdG8gaW5jcmVhc2VkIEthZmthIHN0b3JhZ2UgY29zdHMuXG4gICAqIFRoZSBzb2Z0IGxpbWl0IGlzIDMgdG8gMzAgZGF5cy5cbiAgICogQGRlZmF1bHRWYWx1ZSA3IGRheXNcbiAgICovXG4gIHJlYWRvbmx5IHJldGVudGlvbj86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBJZiBzZXQgdG8gJ2ZhbHNlLCB0aGUgdG9waWMncyBkYXRhIHdpbGwgYmUgZGVsZXRlZCBvbiBLYWZrYSAxMCBkYXlzIGFmdGVyIHN0YWNrIGRlbGV0aW9uLlxuICAgKiBJZiBzZXQgdG8gJ3RydWUnLCBpdCB3aWxsIGJlIGRlbGV0ZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgc3RhY2sgZGVsZXRpb24uXG4gICAqIEBkZWZhdWx0VmFsdWUgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbnREZWxldGlvbkVuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgbWV0YWRhdGEgb2YgdGhlIHRvcGljLlxuICAgKi9cbiAgcmVhZG9ubHkgbWV0YWRhdGE6IEthZmthVG9waWNNZXRhRGF0YTtcblxuICAvKipcbiAgICogVGhlIHBlcm1pc3Npb25zIHRvIGFjY2VzcyB0byB0aGUgdG9waWMncyBkYXRhLlxuICAgKi9cbiAgcmVhZG9ubHkgYWNsOiBLYWZrYUFjbFN0YXRlbWVudDtcblxuICAvKipcbiAgICogU3BlY2lmeSB3aGV0aGVyIHRoZSB0b3BpYyBpcyBsb2cgY29tcGFjdGVkIG9yIG5vdC5cbiAgICovXG4gIHJlYWRvbmx5IGlzTG9nQ29tcGFjdGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBNdXN0IG9ubHkgYmUgcHJvdmlkZWQgaWYgJ2lzTG9nQ29tcGFjdGVkJyBpcyAndHJ1ZScuXG4gICAqIEBkZWZhdWx0VmFsdWUgdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBsb2dDb21wYWN0aW9uUHJvcGVydGllcz86IExvZ0NvbXBhY3Rpb25Qcm9wZXJ0aWVzO1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBjb21wYWN0aW9uIGxhZyBpbiBtaWxsaXNlY29uZHMuXG4gICAqXG4gICAqIFRoZSBtYXhpbXVtIHRpbWUgYSBtZXNzYWdlIGNhbiBiZSBkZWxheWVkIGJlZm9yZSBpdCBpcyBjb21wYWN0ZWQuXG4gICAqIEBkZWZhdWx0VmFsdWUgOTIyMzM3MjAzNjg1NDc3NTgwN1xuICAgKi9cbiAgcmVhZG9ubHkgbWF4Q29tcGFjdGlvbkxhZ01zPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFRoZSBjdXJyZW50IHNlcnZpY2UgbGltaXRzIGFyZSBjb25maWd1cmVkIGluIHRoZSB0b3BpYyBtYW5hZ2VyLlxuICogSWYgeW91IG5lZWQgdG8gaW5jcmVhc2UgdGhlIGxpbWl0cyBmb3IgeW91ciBzZXJ2aWNlLCBwbGVhc2UgY29udGFjdCBDTEFJRC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLYWZrYVRvcGljVjRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgdW5pcXVlIG5hbWUgb2YgdGhlIHRvcGljOyBoYXMgdG8gbWF0Y2ggcGF0dGVybiBbQS1aYS16MC05Li1dK1xuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGRlZ3JlZSBvZiBwYXJhbGxlbGlzbSBvZiB0aGUgdG9waWM7IHNob3VsZCBiZSBpbmNyZWFzZWQgZm9yXG4gICAqIGxhcmdlIGV4cGVjdGVkIGxvYWRzIChlLmcuLCAyNSBmb3IgcmlvLmFzc2V0LWlvdC1ldmVudHMpLlxuICAgKiBUaGUgc29mdCBsaW1pdCBpcyAxMCBwYXJ0aXRpb25zIGJ1dCBjYW4gYmUgaW5jcmVhc2VkIHVwb24gcmVxdWVzdHMuXG4gICAqIFBhcnRpdGlvbnMgYXJlIGEgbGltaXRlZCByZXNvdXJjZSBhbmQgY2Fubm90IGJlIGRlY3JlYXNlZC5cbiAgICogQGRlZmF1bHRWYWx1ZSAzXG4gICAqL1xuICByZWFkb25seSBudW1iZXJPZlBhcnRpdGlvbnM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIERlZmluZXMgZGVncmVlIG9mIHJlcGxpY2F0aW9uIG9mIG1lc3NhZ2VzOyBoYXMgdG8gYmUgYmV0d2VlbiAxIGFuZCB0aGUgbnVtYmVyIG9mIGJyb2tlcnMgKGN1cnJlbnRseSAzKS5cbiAgICogQGRlZmF1bHRWYWx1ZSAzXG4gICAqL1xuICByZWFkb25seSByZXBsaWNhdGlvbkZhY3Rvcj86IG51bWJlcjtcblxuICAvKipcbiAgICogVGltZSBob3cgbG9uZyBtZXNzYWdlcyBhcmUgcmV0YWluZWQgb24gS2Fma2EgY2x1c3RlcjtcbiAgICpcbiAgICogRm9yIG1vc3QgY2FzZXMsIDcgZGF5cyAoNjA0ODAwMDAwIG1zKSBpcyByZWNvbW1lbmRlZDsgdXAgdG8gMzAgZGF5cyBtYXkgYmUgY29uc2lkZXJlZFxuICAgKiBvbmx5IGZvciBleGNlcHRpb25hbCBzY2VuYXJpb3Mgd2l0aCBzcGVjaWZpYyByZXF1aXJlbWVudHMgYW5kIGNhbiBsZWFkIHRvIGluY3JlYXNlZCBLYWZrYSBzdG9yYWdlIGNvc3RzLlxuICAgKiBUaGUgc29mdCBsaW1pdCBpcyAzIHRvIDMwIGRheXMgYnV0IGNhbiBiZSBpbmNyZWFzZWQgdXBvbiByZXF1ZXN0cy5cbiAgICogQGRlZmF1bHRWYWx1ZSA3IGRheXNcbiAgICovXG4gIHJlYWRvbmx5IHJldGVudGlvbj86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBJZiBzZXQgdG8gJ2ZhbHNlLCB0aGUgdG9waWMncyBkYXRhIHdpbGwgYmUgZGVsZXRlZCBvbiBLYWZrYSAxMCBkYXlzIGFmdGVyIHN0YWNrIGRlbGV0aW9uLlxuICAgKiBJZiBzZXQgdG8gJ3RydWUnLCBpdCB3aWxsIGJlIGRlbGV0ZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgc3RhY2sgZGVsZXRpb24uXG4gICAqIEBkZWZhdWx0VmFsdWUgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbnREZWxldGlvbkVuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgbWV0YWRhdGEgb2YgdGhlIHRvcGljLlxuICAgKi9cbiAgcmVhZG9ubHkgbWV0YWRhdGE6IEthZmthVG9waWNNZXRhRGF0YVY0O1xuXG4gIC8qKlxuICAgKiBUaGUgcGVybWlzc2lvbnMgdG8gYWNjZXNzIHRvIHRoZSB0b3BpYydzIGRhdGEuXG4gICAqL1xuICByZWFkb25seSBhY2w6IEthZmthQWNsU3RhdGVtZW50O1xuXG4gIC8qKlxuICAgKiBTcGVjaWZ5IHdoZXRoZXIgdGhlIHRvcGljIGlzIGxvZyBjb21wYWN0ZWQgb3Igbm90LlxuICAgKi9cbiAgcmVhZG9ubHkgaXNMb2dDb21wYWN0ZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE11c3Qgb25seSBiZSBwcm92aWRlZCBpZiAnaXNMb2dDb21wYWN0ZWQnIGlzICd0cnVlJy5cbiAgICogQGRlZmF1bHRWYWx1ZSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0NvbXBhY3Rpb25Qcm9wZXJ0aWVzPzogTG9nQ29tcGFjdGlvblByb3BlcnRpZXM7XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgd2hldGhlciB0aGUgdG9waWMgc2hvdWxkIGJlIGJhY2tlZCB1cCBhdXRvbWF0aWNhbGx5IG9yIG5vdC5cbiAgICogSXQgY291bGQganVzdCBiZSBlbmFibGVkLCBpZiB0aGUgdG9waWMgaXMgY29tcGFjdGVkIGFuZCB0aGUgUmVjb3ZlcnlQb2xpY3kgaXMgJ3JlY292ZXJhYmxlJy5cbiAgICpcbiAgICogQGRlZmF1bHRWYWx1ZSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IG1hbmFnZWRCYWNrdXBFbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICAgKiBUaGUgbWF4aW11bSBjb21wYWN0aW9uIGxhZyBpbiBtaWxsaXNlY29uZHMuXG4gICAgICpcbiAgICAgKiBUaGUgbWF4aW11bSB0aW1lIGEgbWVzc2FnZSBjYW4gYmUgZGVsYXllZCBiZWZvcmUgaXQgaXMgY29tcGFjdGVkLlxuICAgICAqIEBkZWZhdWx0VmFsdWUgOTIyMzM3MjAzNjg1NDc3NTgwN1xuICAgICAqL1xuICByZWFkb25seSBtYXhDb21wYWN0aW9uTGFnTXM/OiBudW1iZXI7XG59XG5cbi8qKlxuICogVGhlIFRvcGljcyB0YXJnZXQgYXVkaWVuY2VcbiAqL1xuZXhwb3J0IHR5cGUgVG9waWNBdWRpZW5jZSA9ICdjb21wb25lbnQtaW50ZXJuYWwnIHwgJ2NvbXBhbnktaW50ZXJuYWwnO1xuXG4vKipcbiAqIFRoZSBUb3BpY3MgcmVjb3ZlcnkgcG9saWN5IGd1YXJhbnRlZWQgYnkgdGhlIHByb2R1Y2VyXG4gKi9cbmV4cG9ydCB0eXBlIFRvcGljUmVjb3ZlcnlQb2xpY3kgPSAnbm9uZScgfCAncmVjb3ZlcmFibGUnO1xuXG4vKipcbiAqIENvbnN0cnVjdCB0byBjcmVhdGUgYSBrYWZrYSB0b3BpYy5cbiAqXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIEthZmthVG9waWNWNH0gaW5zdGVhZFxuICovXG5leHBvcnQgY2xhc3MgS2Fma2FUb3BpYyBleHRlbmRzIENvbnN0cnVjdCB7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEthZmthVG9waWNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cblxuICAgIEFubm90YXRpb25zLm9mKHRoaXMpLmFkZERlcHJlY2F0aW9uKCdLYWZrYVRvcGljJywgXCJVc2UgJ0thZmthVG9waWNWNCchXCIpO1xuXG4gICAgbmV3IENmblJlc291cmNlKHRoaXMsICdLYWZrYVRvcGljJywge1xuICAgICAgdHlwZTogJ0N1c3RvbTo6S2Fma2FUb3BpYycsXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIC4uLm1hcFByb3BlcnRpZXModGhpcywgcHJvcHMpLFxuICAgICAgICBWZXJzaW9uOiAnMycsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5ub2RlLmFkZFZhbGlkYXRpb24odmFsaWRhdG9yKHByb3BzKSk7XG4gIH1cbn1cblxuLyoqXG4gKiBDb25zdHJ1Y3QgdG8gY3JlYXRlIGEga2Fma2EgdG9waWMuXG4gKi9cbmV4cG9ydCBjbGFzcyBLYWZrYVRvcGljVjQgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBLYWZrYVRvcGljVjRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBuZXcgQ2ZuUmVzb3VyY2UodGhpcywgJ0thZmthVG9waWMnLCB7XG4gICAgICB0eXBlOiAnQ3VzdG9tOjpLYWZrYVRvcGljJyxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgLi4ubWFwUHJvcGVydGllcyh0aGlzLCBwcm9wcyksXG4gICAgICAgIFZlcnNpb246ICc0JyxcbiAgICAgICAgQXVkaWVuY2U6IHByb3BzLm1ldGFkYXRhLmF1ZGllbmNlLFxuICAgICAgICBSZWNvdmVyeVBvbGljeTogcHJvcHMubWV0YWRhdGEucmVjb3ZlcnlQb2xpY3ksXG4gICAgICAgIE1hbmFnZWRCYWNrdXBFbmFibGVkOiBwcm9wcy5tYW5hZ2VkQmFja3VwRW5hYmxlZCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLm5vZGUuYWRkVmFsaWRhdGlvbih2YWxpZGF0b3IocHJvcHMpKTtcbiAgICB0aGlzLm5vZGUuYWRkVmFsaWRhdGlvbihiYWNrdXBQcm9wZXJ0aWVzVmFsaWRhdG9yKHByb3BzKSk7XG4gIH1cbn1cblxuY29uc3QgdmFsaWRhdG9yID0gKHByb3BzOiBLYWZrYVRvcGljUHJvcHMpID0+IHtcbiAgcmV0dXJuIHtcbiAgICB2YWxpZGF0ZTogKCk6IHN0cmluZ1tdID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuXG4gICAgICBpZiAoIXByb3BzLm5hbWUubWF0Y2goL15bQS1aYS16MC05Li1dKyQvKSkge1xuICAgICAgICByZXN1bHQucHVzaCgnSW52YWxpZCBbbmFtZV06IGV4cGVjdGluZyB0b3BpYyBuYW1lIHRvIG1hdGNoIHRoZSByZWcgZXhwIGBbQS1aYS16MC05Li1dK2AuJyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcm9wcy5udW1iZXJPZlBhcnRpdGlvbnMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICghTnVtYmVyLmlzSW50ZWdlcihwcm9wcy5udW1iZXJPZlBhcnRpdGlvbnMpIHx8IHByb3BzLm51bWJlck9mUGFydGl0aW9ucyA8IDEpKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKGBJbnZhbGlkIFtudW1iZXJPZlBhcnRpdGlvbnNdOiBleHBlY3RpbmcgbnVtYmVyIG9mIHBhcnRpdGlvbnMgdG8gYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyIGJ1dCBnb3QgJHtwcm9wcy5udW1iZXJPZlBhcnRpdGlvbnN9LmApO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvcHMucmVwbGljYXRpb25GYWN0b3IgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICghTnVtYmVyLmlzSW50ZWdlcihwcm9wcy5yZXBsaWNhdGlvbkZhY3RvcikgfHwgcHJvcHMucmVwbGljYXRpb25GYWN0b3IgPCAxIHx8IHByb3BzLnJlcGxpY2F0aW9uRmFjdG9yID4gMykpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goJ0ludmFsaWQgW3JlcGxpY2F0aW9uRmFjdG9yXTogZXhwZWN0aW5nIGFuIGludGVnZXIgYmV0d2VlbiAxIGFuZCAzLicpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXByb3BzLmlzTG9nQ29tcGFjdGVkICYmIHByb3BzLmxvZ0NvbXBhY3Rpb25Qcm9wZXJ0aWVzKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFtsb2dDb21wYWN0aW9uUHJvcGVydGllc106IGxvZyBjb21wYWN0aW9uIGlzIGRpc2FibGVkIHNvIHByb3BlcnRpZXMgbXVzdCBiZSB1bmRlZmluZWQuJyk7XG4gICAgICB9XG5cbiAgICAgIGlmICghcHJvcHMuaXNMb2dDb21wYWN0ZWQgJiYgcHJvcHMubWF4Q29tcGFjdGlvbkxhZ01zKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFttYXhDb21wYWN0aW9uTGFnTXNdOiBtYXggY29tcGFjdGlvbiBsYWcgaXMgb25seSBhbGxvd2VkIGZvciBsb2cgY29tcGFjdGVkIHRvcGljcy4nKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9LFxuICB9O1xufTtcblxuY29uc3QgYmFja3VwUHJvcGVydGllc1ZhbGlkYXRvciA9IChwcm9wczogS2Fma2FUb3BpY1Y0UHJvcHMpID0+IHtcbiAgcmV0dXJuIHtcbiAgICB2YWxpZGF0ZTogKCk6IHN0cmluZ1tdID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuXG4gICAgICBpZiAocHJvcHMubWFuYWdlZEJhY2t1cEVuYWJsZWQgJiYgIXByb3BzLmlzTG9nQ29tcGFjdGVkKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKCdJbnZhbGlkIFttYW5hZ2VkQmFja3VwRW5hYmxlZF06IG1hbmFnZWQgYmFja3VwIGNhbiBvbmx5IGJlIGVuYWJsZWQgZm9yIGxvZyBjb21wYWN0ZWQgdG9waWNzLicpO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvcHMubWFuYWdlZEJhY2t1cEVuYWJsZWQgJiYgcHJvcHMubWV0YWRhdGEucmVjb3ZlcnlQb2xpY3kgIT09ICdyZWNvdmVyYWJsZScpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goJ0ludmFsaWQgW21hbmFnZWRCYWNrdXBFbmFibGVkXTogdG9waWNzIHdpdGggbWFuYWdlZEJhY2t1cEVuYWJsZWQgaGF2ZSB0byBoYXZlIHJlY292ZXJ5IHBvbGljeSBcInJlY292ZXJhYmxlXCIuJyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSxcbiAgfTtcblxufTtcblxuY29uc3QgbWFwUHJvcGVydGllcyA9IChzY29wZTogSUNvbnN0cnVjdCwgcHJvcHM6IEthZmthVG9waWNQcm9wcyB8IEthZmthVG9waWNWNFByb3BzKSA9PiB7XG4gIGNvbnN0IHRlYW1FbWFpbCA9IFJpb0xhbmRpbmdab25lLmdldFRlYW1FbWFpbFBhcmFtZXRlcihzY29wZSkuc3RyaW5nVmFsdWU7XG5cblxuICBpZiAocHJvcHMubWV0YWRhdGEuZXZlbnRzPy5sZW5ndGggJiYgcHJvcHMubWV0YWRhdGEuZXZlbnRzLmxlbmd0aCA+IDApIHtcbiAgICBjZGsuQW5ub3RhdGlvbnMub2Yoc2NvcGUpLmFkZERlcHJlY2F0aW9uKFxuICAgICAgJ0thZmthVG9waWNNZXRhRGF0YS5ldmVudHMnLFxuICAgICAgJ0V2ZW50cyBhcmUgbm8gbG9uZ2VyIHByb3ZpZGVkIHRocm91Z2ggdGhpcyBjb25zdHJ1Y3QuIFNwZWNpZnkgdGhlIGV2ZW50IGluIHRoZSBjYXRhbG9nLWluZm8ueWFtbC4gU2VlIHRoZSBCYWNrc3RhZ2UgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4nLFxuICAgICk7XG4gIH1cbiAgY29uc3QgZGVsZXRlUmV0ZW50aW9uRHVyYXRpb24gPSBwcm9wcy5sb2dDb21wYWN0aW9uUHJvcGVydGllcz8uZGVsZXRlUmV0ZW50aW9uID8/IER1cmF0aW9uLmRheXMoNyk7XG4gIGlmIChwcm9wcy5hY2wuZGVsZXRlICE9IHVuZGVmaW5lZCAmJiBwcm9wcy5hY2wuZGVsZXRlLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBhbm5vdGF0aW9ucyA9IGNkay5Bbm5vdGF0aW9ucy5vZihjZGsuU3RhY2sub2Yoc2NvcGUpKTtcbiAgICBhbm5vdGF0aW9ucy5hZGRXYXJuaW5nVjIoXG4gICAgICBgQHJpby1jbG91ZC9jZGstdjItY29uc3RydWN0cy9rYWZrYS9rYWZrYS10b3BpYy8ke3Byb3BzLm5hbWV9L0RlbGV0aW9uUG9saWN5YCxcbiAgICAgIGBcbiDinYwgWW91IGhhdmUgc2V0IFwiZGVsZXRlXCIgcGVybWlzc2lvbiBmb3Iga2Fma2EtdG9waWMgJHtwcm9wcy5uYW1lfS4gWW91IHByb2JhYmx5IGRvIG5vdCBuZWVkIHRoaXMuIFBsZWFzZSB1c2UgdGhpcyBvbmx5IGlmIHlvdSBrbm93IHdoYXQgeW91IGFyZSBkb2luZy5cbmAsXG4gICAgKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIFNlcnZpY2VUb2tlbjogJ2Fybjphd3M6c25zOmV1LXdlc3QtMToxODY5OTM3NTc3MzQ6ZHAtdG9waWMtbWFuYWdlci1zbnMtdG9waWMnLFxuICAgIFRvcGljTmFtZTogcHJvcHMubmFtZSxcbiAgICBEZXNjcmlwdGlvbjogcHJvcHMubWV0YWRhdGEuZGVzY3JpcHRpb24sXG4gICAgTnVtYmVyT2ZQYXJ0aXRpb25zOiBwcm9wcy5udW1iZXJPZlBhcnRpdGlvbnMgPz8gMyxcbiAgICBSZXBsaWNhdGlvbkZhY3RvcjogcHJvcHMucmVwbGljYXRpb25GYWN0b3IgPz8gMyxcbiAgICBSZXRlbnRpb25NczogKHByb3BzLnJldGVudGlvbiA/PyBEdXJhdGlvbi5kYXlzKDcpKS50b01pbGxpc2Vjb25kcygpLFxuICAgIERlbGV0ZVJldGVudGlvbk1zOiBwcm9wcy5pc0xvZ0NvbXBhY3RlZCA/IGRlbGV0ZVJldGVudGlvbkR1cmF0aW9uLnRvTWlsbGlzZWNvbmRzKCkgOiB1bmRlZmluZWQsXG4gICAgSW5zdGFudERlbGV0aW9uRW5hYmxlZDogcHJvcHMuaW5zdGFudERlbGV0aW9uRW5hYmxlZCA/PyBmYWxzZSxcbiAgICBDbGVhbnVwUG9saWN5OiBwcm9wcy5pc0xvZ0NvbXBhY3RlZCA/ICdjb21wYWN0JyA6ICdkZWxldGUnLFxuICAgIFRlYW1FbWFpbDogdGVhbUVtYWlsLFxuICAgIE1heENvbXBhY3Rpb25MYWdNczogcHJvcHMubWF4Q29tcGFjdGlvbkxhZ01zLFxuICAgIEFDTDoge1xuICAgICAgUmVhZDogcHJvcHMuYWNsLnJlYWQsXG4gICAgICBXcml0ZTogcHJvcHMuYWNsLndyaXRlLFxuICAgICAgRGVsZXRlOiBwcm9wcy5hY2wuZGVsZXRlLFxuICAgIH0sXG4gIH07XG59O1xuIl19
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  ],
16
16
  "main": "lib/index.js",
17
17
  "license": "Apache-2.0",
18
- "version": "7.13.8",
18
+ "version": "7.13.9-alpha.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": "7.13.8"
2
+ "version": "7.13.9-alpha.0"
3
3
  }