@netforbpo/aws-cdk-aws-connect-lib 0.2.6 → 0.2.8

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
@@ -9760,7 +9760,7 @@
9760
9760
  },
9761
9761
  "locationInModule": {
9762
9762
  "filename": "src/data_table.ts",
9763
- "line": 236
9763
+ "line": 245
9764
9764
  },
9765
9765
  "parameters": [
9766
9766
  {
@@ -9789,7 +9789,7 @@
9789
9789
  "kind": "class",
9790
9790
  "locationInModule": {
9791
9791
  "filename": "src/data_table.ts",
9792
- "line": 187
9792
+ "line": 196
9793
9793
  },
9794
9794
  "methods": [
9795
9795
  {
@@ -9798,7 +9798,7 @@
9798
9798
  },
9799
9799
  "locationInModule": {
9800
9800
  "filename": "src/data_table.ts",
9801
- "line": 188
9801
+ "line": 197
9802
9802
  },
9803
9803
  "name": "fromLookup",
9804
9804
  "parameters": [
@@ -9835,7 +9835,7 @@
9835
9835
  },
9836
9836
  "locationInModule": {
9837
9837
  "filename": "src/data_table.ts",
9838
- "line": 118
9838
+ "line": 125
9839
9839
  },
9840
9840
  "name": "addAttribute",
9841
9841
  "parameters": [
@@ -9867,7 +9867,7 @@
9867
9867
  },
9868
9868
  "locationInModule": {
9869
9869
  "filename": "src/data_table.ts",
9870
- "line": 171
9870
+ "line": 180
9871
9871
  },
9872
9872
  "name": "addRecord",
9873
9873
  "parameters": [
@@ -9909,7 +9909,7 @@
9909
9909
  "immutable": true,
9910
9910
  "locationInModule": {
9911
9911
  "filename": "src/data_table.ts",
9912
- "line": 256
9912
+ "line": 265
9913
9913
  },
9914
9914
  "name": "dataTableArn",
9915
9915
  "overrides": "@netforbpo/aws-cdk-aws-connect-lib.IDataTable",
@@ -9917,6 +9917,22 @@
9917
9917
  "primitive": "string"
9918
9918
  }
9919
9919
  },
9920
+ {
9921
+ "docs": {
9922
+ "stability": "experimental",
9923
+ "summary": "the ID of the data table."
9924
+ },
9925
+ "immutable": true,
9926
+ "locationInModule": {
9927
+ "filename": "src/data_table.ts",
9928
+ "line": 269
9929
+ },
9930
+ "name": "dataTableId",
9931
+ "overrides": "@netforbpo/aws-cdk-aws-connect-lib.IDataTable",
9932
+ "type": {
9933
+ "primitive": "string"
9934
+ }
9935
+ },
9920
9936
  {
9921
9937
  "docs": {
9922
9938
  "stability": "experimental"
@@ -9924,7 +9940,7 @@
9924
9940
  "immutable": true,
9925
9941
  "locationInModule": {
9926
9942
  "filename": "src/data_table.ts",
9927
- "line": 252
9943
+ "line": 261
9928
9944
  },
9929
9945
  "name": "instanceArn",
9930
9946
  "type": {
@@ -9944,7 +9960,7 @@
9944
9960
  "kind": "interface",
9945
9961
  "locationInModule": {
9946
9962
  "filename": "src/data_table.ts",
9947
- "line": 88
9963
+ "line": 94
9948
9964
  },
9949
9965
  "name": "DataTableAttribute",
9950
9966
  "properties": [
@@ -9956,7 +9972,7 @@
9956
9972
  "immutable": true,
9957
9973
  "locationInModule": {
9958
9974
  "filename": "src/data_table.ts",
9959
- "line": 89
9975
+ "line": 95
9960
9976
  },
9961
9977
  "name": "attributeId",
9962
9978
  "type": {
@@ -9980,7 +9996,7 @@
9980
9996
  "immutable": true,
9981
9997
  "locationInModule": {
9982
9998
  "filename": "src/data_table.ts",
9983
- "line": 90
9999
+ "line": 96
9984
10000
  },
9985
10001
  "name": "name",
9986
10002
  "type": {
@@ -10000,7 +10016,7 @@
10000
10016
  "kind": "interface",
10001
10017
  "locationInModule": {
10002
10018
  "filename": "src/data_table.ts",
10003
- "line": 80
10019
+ "line": 86
10004
10020
  },
10005
10021
  "name": "DataTableAttributeProps",
10006
10022
  "properties": [
@@ -10012,7 +10028,7 @@
10012
10028
  "immutable": true,
10013
10029
  "locationInModule": {
10014
10030
  "filename": "src/data_table.ts",
10015
- "line": 81
10031
+ "line": 87
10016
10032
  },
10017
10033
  "name": "name",
10018
10034
  "type": {
@@ -10027,7 +10043,7 @@
10027
10043
  "immutable": true,
10028
10044
  "locationInModule": {
10029
10045
  "filename": "src/data_table.ts",
10030
- "line": 84
10046
+ "line": 90
10031
10047
  },
10032
10048
  "name": "valueType",
10033
10049
  "type": {
@@ -10042,7 +10058,7 @@
10042
10058
  "immutable": true,
10043
10059
  "locationInModule": {
10044
10060
  "filename": "src/data_table.ts",
10045
- "line": 82
10061
+ "line": 88
10046
10062
  },
10047
10063
  "name": "description",
10048
10064
  "optional": true,
@@ -10058,7 +10074,7 @@
10058
10074
  "immutable": true,
10059
10075
  "locationInModule": {
10060
10076
  "filename": "src/data_table.ts",
10061
- "line": 83
10077
+ "line": 89
10062
10078
  },
10063
10079
  "name": "primary",
10064
10080
  "optional": true,
@@ -10074,7 +10090,7 @@
10074
10090
  "immutable": true,
10075
10091
  "locationInModule": {
10076
10092
  "filename": "src/data_table.ts",
10077
- "line": 85
10093
+ "line": 91
10078
10094
  },
10079
10095
  "name": "validation",
10080
10096
  "optional": true,
@@ -10095,7 +10111,7 @@
10095
10111
  "kind": "interface",
10096
10112
  "locationInModule": {
10097
10113
  "filename": "src/data_table.ts",
10098
- "line": 62
10114
+ "line": 68
10099
10115
  },
10100
10116
  "name": "DataTableEnumProperty",
10101
10117
  "properties": [
@@ -10107,7 +10123,7 @@
10107
10123
  "immutable": true,
10108
10124
  "locationInModule": {
10109
10125
  "filename": "src/data_table.ts",
10110
- "line": 63
10126
+ "line": 69
10111
10127
  },
10112
10128
  "name": "strict",
10113
10129
  "optional": true,
@@ -10123,7 +10139,7 @@
10123
10139
  "immutable": true,
10124
10140
  "locationInModule": {
10125
10141
  "filename": "src/data_table.ts",
10126
- "line": 64
10142
+ "line": 70
10127
10143
  },
10128
10144
  "name": "values",
10129
10145
  "optional": true,
@@ -10149,7 +10165,7 @@
10149
10165
  "kind": "interface",
10150
10166
  "locationInModule": {
10151
10167
  "filename": "src/data_table.ts",
10152
- "line": 99
10168
+ "line": 105
10153
10169
  },
10154
10170
  "name": "DataTableLookupOptions",
10155
10171
  "properties": [
@@ -10161,7 +10177,7 @@
10161
10177
  "immutable": true,
10162
10178
  "locationInModule": {
10163
10179
  "filename": "src/data_table.ts",
10164
- "line": 100
10180
+ "line": 106
10165
10181
  },
10166
10182
  "name": "instanceArn",
10167
10183
  "type": {
@@ -10176,7 +10192,7 @@
10176
10192
  "immutable": true,
10177
10193
  "locationInModule": {
10178
10194
  "filename": "src/data_table.ts",
10179
- "line": 101
10195
+ "line": 107
10180
10196
  },
10181
10197
  "name": "dataTableArn",
10182
10198
  "optional": true,
@@ -10192,7 +10208,7 @@
10192
10208
  "immutable": true,
10193
10209
  "locationInModule": {
10194
10210
  "filename": "src/data_table.ts",
10195
- "line": 102
10211
+ "line": 108
10196
10212
  },
10197
10213
  "name": "dataTableId",
10198
10214
  "optional": true,
@@ -10208,7 +10224,7 @@
10208
10224
  "immutable": true,
10209
10225
  "locationInModule": {
10210
10226
  "filename": "src/data_table.ts",
10211
- "line": 103
10227
+ "line": 109
10212
10228
  },
10213
10229
  "name": "name",
10214
10230
  "optional": true,
@@ -10229,7 +10245,7 @@
10229
10245
  "kind": "interface",
10230
10246
  "locationInModule": {
10231
10247
  "filename": "src/data_table.ts",
10232
- "line": 39
10248
+ "line": 45
10233
10249
  },
10234
10250
  "name": "DataTableProps",
10235
10251
  "properties": [
@@ -10242,7 +10258,7 @@
10242
10258
  "immutable": true,
10243
10259
  "locationInModule": {
10244
10260
  "filename": "src/data_table.ts",
10245
- "line": 43
10261
+ "line": 49
10246
10262
  },
10247
10263
  "name": "instance",
10248
10264
  "type": {
@@ -10259,7 +10275,7 @@
10259
10275
  "immutable": true,
10260
10276
  "locationInModule": {
10261
10277
  "filename": "src/data_table.ts",
10262
- "line": 47
10278
+ "line": 53
10263
10279
  },
10264
10280
  "name": "name",
10265
10281
  "type": {
@@ -10275,7 +10291,7 @@
10275
10291
  "immutable": true,
10276
10292
  "locationInModule": {
10277
10293
  "filename": "src/data_table.ts",
10278
- "line": 51
10294
+ "line": 57
10279
10295
  },
10280
10296
  "name": "description",
10281
10297
  "optional": true,
@@ -10293,7 +10309,7 @@
10293
10309
  "immutable": true,
10294
10310
  "locationInModule": {
10295
10311
  "filename": "src/data_table.ts",
10296
- "line": 55
10312
+ "line": 61
10297
10313
  },
10298
10314
  "name": "timeZone",
10299
10315
  "optional": true,
@@ -10311,7 +10327,7 @@
10311
10327
  "immutable": true,
10312
10328
  "locationInModule": {
10313
10329
  "filename": "src/data_table.ts",
10314
- "line": 59
10330
+ "line": 65
10315
10331
  },
10316
10332
  "name": "valueLockLevel",
10317
10333
  "optional": true,
@@ -10332,7 +10348,7 @@
10332
10348
  "kind": "interface",
10333
10349
  "locationInModule": {
10334
10350
  "filename": "src/data_table.ts",
10335
- "line": 67
10351
+ "line": 73
10336
10352
  },
10337
10353
  "name": "DataTableValidationProps",
10338
10354
  "properties": [
@@ -10344,7 +10360,7 @@
10344
10360
  "immutable": true,
10345
10361
  "locationInModule": {
10346
10362
  "filename": "src/data_table.ts",
10347
- "line": 68
10363
+ "line": 74
10348
10364
  },
10349
10365
  "name": "enum",
10350
10366
  "optional": true,
@@ -10360,7 +10376,7 @@
10360
10376
  "immutable": true,
10361
10377
  "locationInModule": {
10362
10378
  "filename": "src/data_table.ts",
10363
- "line": 69
10379
+ "line": 75
10364
10380
  },
10365
10381
  "name": "exclusiveMaximum",
10366
10382
  "optional": true,
@@ -10376,7 +10392,7 @@
10376
10392
  "immutable": true,
10377
10393
  "locationInModule": {
10378
10394
  "filename": "src/data_table.ts",
10379
- "line": 70
10395
+ "line": 76
10380
10396
  },
10381
10397
  "name": "exclusiveMinimum",
10382
10398
  "optional": true,
@@ -10392,7 +10408,7 @@
10392
10408
  "immutable": true,
10393
10409
  "locationInModule": {
10394
10410
  "filename": "src/data_table.ts",
10395
- "line": 71
10411
+ "line": 77
10396
10412
  },
10397
10413
  "name": "maximum",
10398
10414
  "optional": true,
@@ -10408,7 +10424,7 @@
10408
10424
  "immutable": true,
10409
10425
  "locationInModule": {
10410
10426
  "filename": "src/data_table.ts",
10411
- "line": 72
10427
+ "line": 78
10412
10428
  },
10413
10429
  "name": "maxLength",
10414
10430
  "optional": true,
@@ -10424,7 +10440,7 @@
10424
10440
  "immutable": true,
10425
10441
  "locationInModule": {
10426
10442
  "filename": "src/data_table.ts",
10427
- "line": 73
10443
+ "line": 79
10428
10444
  },
10429
10445
  "name": "maxValues",
10430
10446
  "optional": true,
@@ -10440,7 +10456,7 @@
10440
10456
  "immutable": true,
10441
10457
  "locationInModule": {
10442
10458
  "filename": "src/data_table.ts",
10443
- "line": 74
10459
+ "line": 80
10444
10460
  },
10445
10461
  "name": "minimum",
10446
10462
  "optional": true,
@@ -10456,7 +10472,7 @@
10456
10472
  "immutable": true,
10457
10473
  "locationInModule": {
10458
10474
  "filename": "src/data_table.ts",
10459
- "line": 75
10475
+ "line": 81
10460
10476
  },
10461
10477
  "name": "minLength",
10462
10478
  "optional": true,
@@ -10472,7 +10488,7 @@
10472
10488
  "immutable": true,
10473
10489
  "locationInModule": {
10474
10490
  "filename": "src/data_table.ts",
10475
- "line": 76
10491
+ "line": 82
10476
10492
  },
10477
10493
  "name": "minValues",
10478
10494
  "optional": true,
@@ -10488,7 +10504,7 @@
10488
10504
  "immutable": true,
10489
10505
  "locationInModule": {
10490
10506
  "filename": "src/data_table.ts",
10491
- "line": 77
10507
+ "line": 83
10492
10508
  },
10493
10509
  "name": "multipleOf",
10494
10510
  "optional": true,
@@ -10508,7 +10524,7 @@
10508
10524
  "kind": "enum",
10509
10525
  "locationInModule": {
10510
10526
  "filename": "src/data_table.ts",
10511
- "line": 23
10527
+ "line": 29
10512
10528
  },
10513
10529
  "members": [
10514
10530
  {
@@ -10554,7 +10570,7 @@
10554
10570
  "kind": "enum",
10555
10571
  "locationInModule": {
10556
10572
  "filename": "src/data_table.ts",
10557
- "line": 31
10573
+ "line": 37
10558
10574
  },
10559
10575
  "members": [
10560
10576
  {
@@ -11378,7 +11394,7 @@
11378
11394
  "kind": "interface",
11379
11395
  "locationInModule": {
11380
11396
  "filename": "src/data_table.ts",
11381
- "line": 16
11397
+ "line": 18
11382
11398
  },
11383
11399
  "name": "IDataTable",
11384
11400
  "properties": [
@@ -11391,12 +11407,28 @@
11391
11407
  "immutable": true,
11392
11408
  "locationInModule": {
11393
11409
  "filename": "src/data_table.ts",
11394
- "line": 20
11410
+ "line": 22
11395
11411
  },
11396
11412
  "name": "dataTableArn",
11397
11413
  "type": {
11398
11414
  "primitive": "string"
11399
11415
  }
11416
+ },
11417
+ {
11418
+ "abstract": true,
11419
+ "docs": {
11420
+ "stability": "experimental",
11421
+ "summary": "the ID of the data table."
11422
+ },
11423
+ "immutable": true,
11424
+ "locationInModule": {
11425
+ "filename": "src/data_table.ts",
11426
+ "line": 26
11427
+ },
11428
+ "name": "dataTableId",
11429
+ "type": {
11430
+ "primitive": "string"
11431
+ }
11400
11432
  }
11401
11433
  ],
11402
11434
  "symbolId": "src/data_table:IDataTable"
@@ -11559,6 +11591,13 @@
11559
11591
  "type": {
11560
11592
  "primitive": "string"
11561
11593
  }
11594
+ },
11595
+ {
11596
+ "name": "scope",
11597
+ "optional": true,
11598
+ "type": {
11599
+ "fqn": "constructs.Construct"
11600
+ }
11562
11601
  }
11563
11602
  ]
11564
11603
  },
@@ -11584,6 +11623,13 @@
11584
11623
  "type": {
11585
11624
  "fqn": "aws-cdk-lib.aws_lambda.IFunction"
11586
11625
  }
11626
+ },
11627
+ {
11628
+ "name": "scope",
11629
+ "optional": true,
11630
+ "type": {
11631
+ "fqn": "constructs.Construct"
11632
+ }
11587
11633
  }
11588
11634
  ]
11589
11635
  },
@@ -11609,6 +11655,13 @@
11609
11655
  "type": {
11610
11656
  "fqn": "aws-cdk-lib.interfaces.aws_lex.IBotAliasRef"
11611
11657
  }
11658
+ },
11659
+ {
11660
+ "name": "scope",
11661
+ "optional": true,
11662
+ "type": {
11663
+ "fqn": "constructs.Construct"
11664
+ }
11612
11665
  }
11613
11666
  ]
11614
11667
  }
@@ -12047,6 +12100,13 @@
12047
12100
  "type": {
12048
12101
  "primitive": "string"
12049
12102
  }
12103
+ },
12104
+ {
12105
+ "name": "scope",
12106
+ "optional": true,
12107
+ "type": {
12108
+ "fqn": "constructs.Construct"
12109
+ }
12050
12110
  }
12051
12111
  ]
12052
12112
  },
@@ -12072,6 +12132,13 @@
12072
12132
  "type": {
12073
12133
  "fqn": "aws-cdk-lib.aws_lambda.IFunction"
12074
12134
  }
12135
+ },
12136
+ {
12137
+ "name": "scope",
12138
+ "optional": true,
12139
+ "type": {
12140
+ "fqn": "constructs.Construct"
12141
+ }
12075
12142
  }
12076
12143
  ]
12077
12144
  },
@@ -12097,6 +12164,13 @@
12097
12164
  "type": {
12098
12165
  "fqn": "aws-cdk-lib.interfaces.aws_lex.IBotAliasRef"
12099
12166
  }
12167
+ },
12168
+ {
12169
+ "name": "scope",
12170
+ "optional": true,
12171
+ "type": {
12172
+ "fqn": "constructs.Construct"
12173
+ }
12100
12174
  }
12101
12175
  ]
12102
12176
  }
@@ -16218,6 +16292,6 @@
16218
16292
  "symbolId": "src/user:UserProps"
16219
16293
  }
16220
16294
  },
16221
- "version": "0.2.6",
16222
- "fingerprint": "VscHH9K9F891oXdC0k+Mxwgw7FTL1croNGXkJnXNEow="
16295
+ "version": "0.2.8",
16296
+ "fingerprint": "2ON7Z4CSmDoSkKVaYD8EIMwm2G1lSapYhwz6Ja2s+VI="
16223
16297
  }
package/CHANGELOG.md CHANGED
@@ -1,4 +1,18 @@
1
1
 
2
+ ## [0.2.7](https://github.com/netforbpo/aws-cdk-aws-connect-lib/compare/v0.2.6...v0.2.7) (2026-10-12)
3
+
4
+ ### Features
5
+
6
+ * allow attaching storage, lambdas, and lex bots from other scopes ([c8ab43c](https://github.com/netforbpo/aws-cdk-aws-connect-lib/commit/c8ab43c40a4ed2d8f58b446db138a5a1af1ccdcc))
7
+ * remove extraneous debug line ([932ecfc](https://github.com/netforbpo/aws-cdk-aws-connect-lib/commit/932ecfc0322f0ce9f64c2f0a9aa711f76b2a7d37))
8
+
9
+ ## [0.2.6](https://github.com/netforbpo/aws-cdk-aws-connect-lib/compare/v0.2.5...v0.2.6) (2026-10-09)
10
+
11
+ ### Bug Fixes
12
+
13
+ * add missing data table export ([86d7817](https://github.com/netforbpo/aws-cdk-aws-connect-lib/commit/86d781717ec993bc2188e968064e08fcc80902e4))
14
+ * correct missing readonly on an interface ([6bbca6e](https://github.com/netforbpo/aws-cdk-aws-connect-lib/commit/6bbca6e035e01a3eefa905ae7e9925e5d531589b))
15
+
2
16
  ## [0.2.5](https://github.com/netforbpo/aws-cdk-aws-connect-lib/compare/v0.2.4...v0.2.5) (2026-10-09)
3
17
 
4
18
  ### Features
@@ -58,7 +58,7 @@ var ContactFlowType;
58
58
  ContactFlowType["CAMPAIGN"] = "CAMPAIGN";
59
59
  })(ContactFlowType || (exports.ContactFlowType = ContactFlowType = {}));
60
60
  class ContactFlow extends aws_cdk_lib_1.Resource {
61
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.ContactFlow", version: "0.2.6" };
61
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.ContactFlow", version: "0.2.8" };
62
62
  static fromLookup(scope, id, options) {
63
63
  throw new Error('Not implemented (Bad Amazon API. Produces a security token invalid)');
64
64
  if (aws_cdk_lib_1.Token.isUnresolved(options.contactFlowName)
@@ -44,7 +44,7 @@ var ContactFlowModuleState;
44
44
  ContactFlowModuleState["ARCHIVED"] = "ARCHIVED";
45
45
  })(ContactFlowModuleState || (exports.ContactFlowModuleState = ContactFlowModuleState = {}));
46
46
  class ContactFlowModule extends aws_cdk_lib_1.Resource {
47
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.ContactFlowModule", version: "0.2.6" };
47
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.ContactFlowModule", version: "0.2.8" };
48
48
  static fromLookup(scope, id, options) {
49
49
  throw new Error('Not implemented (Bad Amazon API. Produces a security token invalid)');
50
50
  if (aws_cdk_lib_1.Token.isUnresolved(options.contactFlowModuleName)
@@ -6,6 +6,10 @@ export interface IDataTable extends IResource {
6
6
  * The ARN of the data table
7
7
  */
8
8
  readonly dataTableArn: string;
9
+ /**
10
+ * the ID of the data table
11
+ */
12
+ readonly dataTableId: string;
9
13
  }
10
14
  export declare enum DataTableValueLockLevel {
11
15
  DATA_TABLE = "DATA_TABLE",
@@ -78,6 +82,7 @@ export interface DataTableLookupOptions {
78
82
  }
79
83
  declare abstract class DataTableBase extends Resource implements IDataTable {
80
84
  abstract readonly dataTableArn: string;
85
+ abstract readonly dataTableId: string;
81
86
  abstract readonly instanceArn: string;
82
87
  private definedAttributes;
83
88
  /**
@@ -109,5 +114,6 @@ export declare class DataTable extends DataTableBase {
109
114
  constructor(scope: Construct, id: string, props: DataTableProps);
110
115
  get instanceArn(): string;
111
116
  get dataTableArn(): string;
117
+ get dataTableId(): string;
112
118
  }
113
119
  export {};
package/lib/data_table.js CHANGED
@@ -73,7 +73,6 @@ class DataTableBase extends aws_cdk_lib_1.Resource {
73
73
  * @param id
74
74
  */
75
75
  addAttribute(config, id = undefined) {
76
- console.log('attib instance', this.instanceArn);
77
76
  const attrib = new aws_cdk_lib_1.aws_connect.CfnDataTableAttribute(this, id || `Attribute-${config.name}}`, {
78
77
  instanceArn: this.instanceArn,
79
78
  dataTableArn: this.dataTableArn,
@@ -133,7 +132,7 @@ class DataTableBase extends aws_cdk_lib_1.Resource {
133
132
  }
134
133
  }
135
134
  class DataTable extends DataTableBase {
136
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.DataTable", version: "0.2.6" };
135
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.DataTable", version: "0.2.8" };
137
136
  static fromLookup(scope, id, options) {
138
137
  if (aws_cdk_lib_1.Token.isUnresolved(options.name)
139
138
  || aws_cdk_lib_1.Token.isUnresolved(options.instanceArn)
@@ -196,10 +195,14 @@ class DataTable extends DataTableBase {
196
195
  get dataTableArn() {
197
196
  return this.resource.attrArn;
198
197
  }
198
+ get dataTableId() {
199
+ return aws_cdk_lib_1.Fn.select(3, aws_cdk_lib_1.Fn.split('/', this.dataTableArn));
200
+ }
199
201
  }
200
202
  exports.DataTable = DataTable;
201
203
  class LookedUpDataTable extends DataTableBase {
202
204
  dataTableArn;
205
+ dataTableId;
203
206
  instanceArn;
204
207
  incompleteDefinition;
205
208
  constructor(scope, id, props, isIncomplete) {
@@ -210,7 +213,8 @@ class LookedUpDataTable extends DataTableBase {
210
213
  (0, metadata_resource_1.addConstructMetadata)(this, props);
211
214
  this.instanceArn = props.instanceArn;
212
215
  this.dataTableArn = props.dataTableArn;
216
+ this.dataTableId = this.dataTableArn.split('/')[3];
213
217
  this.incompleteDefinition = isIncomplete;
214
218
  }
215
219
  }
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV90YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kYXRhX3RhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsNkNBT3FCO0FBQ3JCLDRFQUE4RDtBQUM5RCw0RUFBNEQ7QUFDNUQsOEVBQThFO0FBVzlFLElBQVksdUJBTVg7QUFORCxXQUFZLHVCQUF1QjtJQUNqQyxvREFBeUIsQ0FBQTtJQUN6QiwwREFBK0IsQ0FBQTtJQUMvQixrREFBdUIsQ0FBQTtJQUN2QiwwQ0FBZSxDQUFBO0lBQ2Ysd0NBQWEsQ0FBQTtBQUNmLENBQUMsRUFOVyx1QkFBdUIsdUNBQXZCLHVCQUF1QixRQU1sQztBQUVELElBQVksa0JBTVg7QUFORCxXQUFZLGtCQUFrQjtJQUM1QixtQ0FBYSxDQUFBO0lBQ2IsdUNBQWlCLENBQUE7SUFDakIseUNBQW1CLENBQUE7SUFDbkIsNkNBQXVCLENBQUE7SUFDdkIsaURBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQU5XLGtCQUFrQixrQ0FBbEIsa0JBQWtCLFFBTTdCO0FBd0RELE1BQU0sc0JBQXNCLEdBQUc7SUFDN0IsV0FBVyxFQUFFLGNBQWM7SUFDM0IsWUFBWSxFQUFFLGdCQUFnQjtJQUM5QixJQUFJLEVBQUUsTUFBTTtDQUNiLENBQUM7QUFTRixNQUFlLGFBQWMsU0FBUSxzQkFBUTtJQUluQyxpQkFBaUIsR0FBb0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUV2RTs7Ozs7T0FLRztJQUNILFlBQVksQ0FBQyxNQUErQixFQUFFLEtBQXlCLFNBQVM7UUFDOUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEQsTUFBTSxNQUFNLEdBQUcsSUFBSSx5QkFBTyxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxFQUFFLElBQUksYUFBYSxNQUFNLENB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YyxFQUFFLEtBQUssQ0FBQyxjQUFjLElBQUksdUJBQXVCLENBQUMsSUFBSTtTQUNyRSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUMvQixDQUFDOztBQXZFSCw4QkF3RUM7QUFFRCxNQUFNLGlCQUFrQixTQUFRLGFBQWE7SUFDM0IsWUFBWSxDQUFTO0lBQ3JCLFdBQVcsQ0FBUztJQUNwQixvQkFBb0IsQ0FBVTtJQUU5QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQVUsRUFBRSxZQUFxQjtRQUN6RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtZQUNwQixPQUFPLEVBQUUsS0FBSyxDQUFDLGNBQWM7U0FDOUIsQ0FBQyxDQUFDO1FBQ0gsSUFBQSx3Q0FBb0IsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUN2QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsWUFBWSxDQUFDO0lBQzNDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcnlwdG8gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7XG4gIGF3c19jb25uZWN0IGFzIGNvbm5lY3QsXG4gIENvbnRleHRQcm92aWRlciwgSVJlc29sdmFibGUsXG4gIElSZXNvdXJjZSxcbiAgUmVzb3VyY2UsXG4gIFRva2VuLFxuICBWYWxpZGF0aW9uRXJyb3IsXG59IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGN4c2NoZW1hIGZyb20gJ2F3cy1jZGstbGliL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG5pbXBvcnQgeyBsaXQgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBJSW5zdGFuY2UgfSBmcm9tICcuL2luc3RhbmNlJztcblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YVRhYmxlIGV4dGVuZHMgSVJlc291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIGRhdGEgdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFUYWJsZUFybjogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBEYXRhVGFibGVWYWx1ZUxvY2tMZXZlbCB7XG4gIERBVEFfVEFCTEUgPSAnREFUQV9UQUJMRScsXG4gIFBSSU1BUllfVkFMVUUgPSAnUFJJTUFSWV9WQUxVRScsXG4gIEFUVFJJQlVURSA9ICdBVFRSSUJVVEUnLFxuICBWQUxVRSA9ICdWQUxVRScsXG4gIE5PTkUgPSAnTk9ORScsXG59XG5cbmV4cG9ydCBlbnVtIERhdGFUYWJsZVZhbHVlVHlwZSB7XG4gIFRFWFQgPSAnVEVYVCcsXG4gIE5VTUJFUiA9ICdOVU1CRVInLFxuICBCT09MRUFOID0gJ0JPT0xFQU4nLFxuICBURVhUX0xJU1QgPSAnVEVYVF9MSVNUJyxcbiAgTlVNQkVSX0xJU1QgPSAnTlVNQkVSX0xJU1QnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUYWJsZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBBV1MgY29ubmVjdCBpbnN0YW5jZSB0byBhdHRhY2ggdGhlIGRhdGEgdGFibGUgdG8uXG4gICAqL1xuICByZWFkb25seSBpbnN0YW5jZTogSUluc3RhbmNlO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGRhdGEgdGFibGUuIE11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIGRhdGEgdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGRlZmF1bHQgdGltZXpvbmUgZm9yIHJlc29sdmluZyB0aW1lLWJhc2VkIGR5bmFtaWMgdmFsdWVzLiBEZWZhdWx0cyB0byBVVENcbiAgICovXG4gIHJlYWRvbmx5IHRpbWVab25lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGxvY2sgbGV2ZWwgdG8gY29udHJvbCBjb25jdXJyZW50IGVkaXRzLiBEZWZhdWx0cyB0byBOT05FXG4gICAqL1xuICByZWFkb25seSB2YWx1ZUxvY2tMZXZlbD86IERhdGFUYWJsZVZhbHVlTG9ja0xldmVsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUYWJsZUVudW1Qcm9wZXJ0eSB7XG4gIHJlYWRvbmx5IHN0cmljdD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHZhbHVlcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUYWJsZVZhbGlkYXRpb25Qcm9wcyB7XG4gIHJlYWRvbmx5IGVudW0/OiBEYXRhVGFibGVFbnVtUHJvcGVydHk7XG4gIHJlYWRvbmx5IGV4Y2x1c2l2ZU1heGltdW0/OiBudW1iZXI7XG4gIHJlYWRvbmx5IGV4Y2x1c2l2ZU1pbmltdW0/OiBudW1iZXI7XG4gIHJlYWRvbmx5IG1heGltdW0/OiBudW1iZXI7XG4gIHJlYWRvbmx5IG1heExlbmd0aD86IG51bWJlcjtcbiAgcmVhZG9ubHkgbWF4VmFsdWVzPzogbnVtYmVyO1xuICByZWFkb25seSBtaW5pbXVtPzogbnVtYmVyO1xuICByZWFkb25seSBtaW5MZW5ndGg/OiBudW1iZXI7XG4gIHJlYWRvbmx5IG1pblZhbHVlcz86IG51bWJlcjtcbiAgcmVhZG9ubHkgbXVsdGlwbGVPZj86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhVGFibGVBdHRyaWJ1dGVQcm9wcyB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHByaW1hcnk/OiBib29sZWFuO1xuICByZWFkb25seSB2YWx1ZVR5cGU6IERhdGFUYWJsZVZhbHVlVHlwZTtcbiAgcmVhZG9ubHkgdmFsaWRhdGlvbj86IERhdGFUYWJsZVZhbGlkYXRpb25Qcm9wcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhVGFibGVBdHRyaWJ1dGUge1xuICByZWFkb25seSBhdHRyaWJ1dGVJZDogSVJlc29sdmFibGUgfCBzdHJpbmc7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbn1cblxuY29uc3QgRFVNTVlfREFUQV9UQUJMRV9QUk9QUyA9IHtcbiAgaW5zdGFuY2VBcm46ICdpbnN0YW5jZS1hcm4nLFxuICBkYXRhVGFibGVBcm46ICdkYXRhLXRhYmxlLWFybicsXG4gIG5hbWU6ICduYW1lJyxcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRhYmxlTG9va3VwT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGluc3RhbmNlQXJuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRhdGFUYWJsZUFybj86IHN0cmluZztcbiAgcmVhZG9ubHkgZGF0YVRhYmxlSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG59XG5cbmFic3RyYWN0IGNsYXNzIERhdGFUYWJsZUJhc2UgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElEYXRhVGFibGUge1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZGF0YVRhYmxlQXJuOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBpbnN0YW5jZUFybjogc3RyaW5nO1xuXG4gIHByaXZhdGUgZGVmaW5lZEF0dHJpYnV0ZXM6IE1hcDxzdHJpbmcsIERhdGFUYWJsZUF0dHJpYnV0ZT4gPSBuZXcgTWFwKCk7XG5cbiAgLyoqXG4gICAqIERlZmluZSBhbiBhdHRyaWJ1dGUgZm9yIHRoZSBkYXRhIHRhYmxlXG4gICAqXG4gICAqIEBwYXJhbSBjb25maWdcbiAgICogQHBhcmFtIGlkXG4gICAqL1xuICBhZGRBdHRyaWJ1dGUoY29uZmlnOiBEYXRhVGFibGVBdHRyaWJ1dGVQcm9wcywgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCkgOiBEYXRhVGFibGVBdHRyaWJ1dGUge1xuICAgIGNvbnNvbGUubG9nKCdhdHRpYiBpbnN0YW5jZScsIHRoaXMuaW5zdGFuY2VBcm4pO1xuICAgIGNvbnN0IGF0dHJpYiA9IG5ldyBjb25uZWN0LkNmbkRhdGFUYWJsZUF0dHJpYnV0ZSh0aGlzLCBpZCB8fCBgQXR0cmlidXRlLSR7Y29uZmlnLm5hbWV9fWAsIHtcbiAgICAgIGluc3RhbmNlQXJuOiB0aGlzLmluc3RhbmNlQXJuLFxuICAgICAgZGF0YVRhYmxlQXJuOiB0aGlzLmRhdGFUYWJsZUFybixcbiAgICAgIG5hbWU6IGNvbmZpZy5uYW1lLFxuICAgICAgZGVzY3JpcHRpb246IGNvbmZpZy5kZXNjcmlwdGlvbixcbiAgICAgIHByaW1hcnk6IGNvbmZpZy5wcmltYXJ5LFxuICAgICAgdmFsdWVUeXBlOiBjb25maWcudmFsdWVUeXBlLFxuICAgICAgdmFsaWRhdGlvbjogY29uZmlnLnZhbGlkYXRpb24sXG4gICAgfSk7XG5cbiAgICBjb25zdCBpbmZvID0ge1xuICAgICAgYXR0cmlidXRlSWQ6IGF0dHJpYi5hdHRyQXR0cmlidXRlSWQsXG4gICAgICBuYW1lOiBjb25maWcubmFtZSxcbiAgICB9O1xuICAgIHRoaXMuZGVmaW5lZEF0dHJpYnV0ZXMuc2V0KGNvbmZpZy5uYW1lLCBpbmZvKTtcblxuICAgIHJldHVybiBpbmZvO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEhhc2goZGF0YTogYW55LCB7IGpzb25fZW5jb2RlID0gdHJ1ZSwgbGVuZ3RoID0gOCB9OiB7IGpzb25fZW5jb2RlPzogYm9vbGVhbjsgbGVuZ3RoPzogbnVtYmVyIH0gPSB7fSk6IHN0cmluZyB7XG4gICAgaWYgKGpzb25fZW5jb2RlKSB7XG4gICAgICBkYXRhID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XG4gICAgfVxuICAgIGNvbnN0IG1kNSA9IGNyeXB0by5jcmVhdGVIYXNoKCdtZDUnKS51cGRhdGUoZGF0YSkuZGlnZXN0KCdoZXgnKTtcbiAgICByZXR1cm4gbWQ1LnNsaWNlKDAsIGxlbmd0aCkudG9VcHBlckNhc2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgbWFwQXR0cmlidXRlcyh2YWx1ZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pOiBjb25uZWN0LkNmbkRhdGFUYWJsZVJlY29yZC5WYWx1ZVByb3BlcnR5W10ge1xuICAgIGNvbnN0IHJldCA6IGNvbm5lY3QuQ2ZuRGF0YVRhYmxlUmVjb3JkLlZhbHVlUHJvcGVydHlbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHZhbHVlcykpIHtcbiAgICAgIGNvbnN0IGxvb2t1cCA9IHRoaXMuZGVmaW5lZEF0dHJpYnV0ZXMuZ2V0KGtleSk7XG4gICAgICBpZiAoIWxvb2t1cCB8fCAhbG9va3VwLmF0dHJpYnV0ZUlkKSB7XG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobGl0YEFyZ3VtZW50c2AsIGBLZXkgJHtrZXl9IHdhcyBub3QgZm91bmQuIE1ha2Ugc3VyZSB5b3UgZGVmaW5lZCBpdCB3aXRoIERhdGFUYWJsZS5hZGRBdHRyaWJ1dGVgLCB0aGlzKTtcbiAgICAgIH1cbiAgICAgIHJldC5wdXNoKHtcbiAgICAgICAgLy8gVGhpcyBpZ25vcmUgaXMgYmVjYXVzZSB3ZSBDQU4gcHVzaCBhIElSZXNvbHZhYmxlIHRvIGF0dHJpYnV0ZUlkXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgYXR0cmlidXRlSWQ6IGxvb2t1cC5hdHRyaWJ1dGVJZCxcbiAgICAgICAgYXR0cmlidXRlVmFsdWU6IHZhbHVlLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHJlY29yZCBpbnRvIHRoZSBkYXRhIHRhYmxlLlxuICAgKiBSZXF1aXJlcyB0aGF0IGFsbCBhdHRyaWJ1dGVzIHdlcmUgZGVmaW5lZCB2aWEge0RhdGFUYWJsZS5hZGRBdHRyaWJ1dGV9XG4gICAqXG4gICAqIEBwYXJhbSBwcmltYXJ5X3ZhbHVlcyBUbyBzZXQgdGhlIGRlZmF1bHQgcmVjb3Jkcywgc3BlY2lmeSBhbmQgZW1wdHkgb2JqZWN0ICh7fSlcbiAgICogQHBhcmFtIHZhbHVlc1xuICAgKi9cbiAgYWRkUmVjb3JkKHByaW1hcnlfdmFsdWVzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LCB2YWx1ZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gKSB7XG4gICAgY29uc3Qga2V5aGFzaCA9IHRoaXMuYnVpbGRIYXNoKHByaW1hcnlfdmFsdWVzKTtcbiAgICBuZXcgY29ubmVjdC5DZm5EYXRhVGFibGVSZWNvcmQoXG4gICAgICB0aGlzLCBgUmVjb3JkLSR7a2V5aGFzaH1gLFxuICAgICAge1xuICAgICAgICBpbnN0YW5jZUFybjogdGhpcy5pbnN0YW5jZUFybixcbiAgICAgICAgZGF0YVRhYmxlQXJuOiB0aGlzLmRhdGFUYWJsZUFybixcbiAgICAgICAgZGF0YVRhYmxlUmVjb3JkOiB7XG4gICAgICAgICAgcHJpbWFyeVZhbHVlczogdGhpcy5tYXBBdHRyaWJ1dGVzKHByaW1hcnlfdmFsdWVzKSxcbiAgICAgICAgICB2YWx1ZXM6IHRoaXMubWFwQXR0cmlidXRlcyh2YWx1ZXMpLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEYXRhVGFibGUgZXh0ZW5kcyBEYXRhVGFibGVCYXNlIHtcbiAgcHVibGljIHN0YXRpYyBmcm9tTG9va3VwKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdGlvbnM6IERhdGFUYWJsZUxvb2t1cE9wdGlvbnMpOiBJRGF0YVRhYmxlIHtcbiAgICBpZiAoVG9rZW4uaXNVbnJlc29sdmVkKG9wdGlvbnMubmFtZSlcbiAgICAgIHx8IFRva2VuLmlzVW5yZXNvbHZlZChvcHRpb25zLmluc3RhbmNlQXJuKVxuICAgICAgfHwgVG9rZW4uaXNVbnJlc29sdmVkKG9wdGlvbnMuZGF0YVRhYmxlSWQpXG4gICAgICB8fCBUb2tlbi5pc1VucmVzb2x2ZWQob3B0aW9ucy5kYXRhVGFibGVBcm4pKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBBcmd1bWVudHNgLCAnQWxsIGFyZ3VtZW50cyB0byBEYXRhVGFibGUuZnJvbUxvb2t1cCgpIG11c3QgYmUgY29uY3JldGUgKG5vIFRva2VucyknLCBzY29wZSk7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsdGVyOiBhbnkgPSB7fTtcblxuICAgIGZpbHRlci5yZXNvdXJjZU1vZGVsID0ge1xuICAgICAgSW5zdGFuY2VBcm46IG9wdGlvbnMuaW5zdGFuY2VBcm4sXG4gICAgfTtcbiAgICBpZiAob3B0aW9ucy5kYXRhVGFibGVBcm4pIHtcbiAgICAgIGZpbHRlci5leGFjdElkZW50aWZpZXIgPSBvcHRpb25zLmRhdGFUYWJsZUFybjtcbiAgICB9IGVsc2UgaWYgKG9wdGlvbnMuZGF0YVRhYmxlSWQpIHtcbiAgICAgIGZpbHRlci5leGFjdElkZW50aWZpZXIgPSBgJHtvcHRpb25zLmluc3RhbmNlQXJufS9kYXRhLXRhYmxlLyR7b3B0aW9ucy5kYXRhVGFibGVJZH1gO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5uYW1lKSB7XG4gICAgICBmaWx0ZXIucHJvcGVydHlNYXRjaCB8fD0ge307XG4gICAgICBmaWx0ZXIucHJvcGVydHlNYXRjaC5OYW1lID0gb3B0aW9ucy5uYW1lO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3BvbnNlOiB7IFtrZXk6IHN0cmluZ106IGFueSB9W10gPSBDb250ZXh0UHJvdmlkZXIuZ2V0VmFsdWUoc2NvcGUsIHtcbiAgICAgIHByb3ZpZGVyOiBjeHNjaGVtYS5Db250ZXh0UHJvdmlkZXIuQ0NfQVBJX1BST1ZJREVSLFxuICAgICAgcHJvcHM6IHtcbiAgICAgICAgdHlwZU5hbWU6ICdBV1M6OkNvbm5lY3Q6OkRhdGFUYWJsZScsXG4gICAgICAgIC4uLmZpbHRlcixcbiAgICAgICAgcHJvcGVydGllc1RvUmV0dXJuOiBbJ0FybicsICdOYW1lJ10sXG4gICAgICAgIGV4cGVjdGVkTWF0Y2hDb3VudDogJ2V4YWN0bHktb25lJyxcbiAgICAgIH0gYXMgY3hzY2hlbWEuQ2NBcGlDb250ZXh0UXVlcnksXG4gICAgICBkdW1teVZhbHVlOiB1bmRlZmluZWQsXG4gICAgfSkudmFsdWU7XG5cbiAgICBsZXQgaW5zdGFuY2UgPSB1bmRlZmluZWQ7XG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlWzBdKSB7XG4gICAgICBpbnN0YW5jZSA9IHtcbiAgICAgICAgaW5zdGFuY2VBcm46IG9wdGlvbnMuaW5zdGFuY2VBcm4sXG4gICAgICAgIGRhdGFUYWJsZUFybjogcmVzcG9uc2VbMF0uQXJuLFxuICAgICAgICBuYW1lOiByZXNwb25zZVswXS5OYW1lLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBMb29rZWRVcERhdGFUYWJsZShzY29wZSwgaWQsIGluc3RhbmNlID8/IERVTU1ZX0RBVEFfVEFCTEVfUFJPUFMsIGluc3RhbmNlID09PSB1bmRlZmluZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBpbnN0YW5jZTogSUluc3RhbmNlO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlOiBjb25uZWN0LkNmbkRhdGFUYWJsZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRGF0YVRhYmxlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgdGhpcy5pbnN0YW5jZSA9IHByb3BzLmluc3RhbmNlO1xuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgY29ubmVjdC5DZm5EYXRhVGFibGUodGhpcywgJ0RhdGFUYWJsZScsIHtcbiAgICAgIGluc3RhbmNlQXJuOiBwcm9wcy5pbnN0YW5jZS5pbnN0YW5jZUFybixcbiAgICAgIG5hbWU6IHByb3BzLm5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICBzdGF0dXM6ICdQVUJMSVNIRUQnLCAvLyBvbmx5IG9uZSB2YWx1ZSBhbGxvd2VkXG4gICAgICB0aW1lWm9uZTogcHJvcHMudGltZVpvbmUgfHwgJ1VUQycsXG4gICAgICB2YWx1ZUxvY2tMZXZlbDogcHJvcHMudmFsdWVMb2NrTGV2ZWwgfHwgRGF0YVRhYmxlVmFsdWVMb2NrTGV2ZWwuTk9ORSxcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBpbnN0YW5jZUFybigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmluc3RhbmNlLmluc3RhbmNlQXJuO1xuICB9XG5cbiAgZ2V0IGRhdGFUYWJsZUFybigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJlc291cmNlLmF0dHJBcm47XG4gIH1cbn1cblxuY2xhc3MgTG9va2VkVXBEYXRhVGFibGUgZXh0ZW5kcyBEYXRhVGFibGVCYXNlIHtcbiAgcHVibGljIHJlYWRvbmx5IGRhdGFUYWJsZUFybjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VBcm46IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGluY29tcGxldGVEZWZpbml0aW9uOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBhbnksIGlzSW5jb21wbGV0ZTogYm9vbGVhbikge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcmVnaW9uOiBwcm9wcy5yZWdpb24sXG4gICAgICBhY2NvdW50OiBwcm9wcy5vd25lckFjY291bnRJZCxcbiAgICB9KTtcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICB0aGlzLmluc3RhbmNlQXJuID0gcHJvcHMuaW5zdGFuY2VBcm47XG4gICAgdGhpcy5kYXRhVGFibGVBcm4gPSBwcm9wcy5kYXRhVGFibGVBcm47XG4gICAgdGhpcy5pbmNvbXBsZXRlRGVmaW5pdGlvbiA9IGlzSW5jb21wbGV0ZTtcbiAgfVxufVxuXG4iXX0=
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV90YWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kYXRhX3RhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsNkNBU3FCO0FBQ3JCLDRFQUE4RDtBQUM5RCw0RUFBNEQ7QUFDNUQsOEVBQThFO0FBZTlFLElBQVksdUJBTVg7QUFORCxXQUFZLHVCQUF1QjtJQUNqQyxvREFBeUIsQ0FBQTtJQUN6QiwwREFBK0IsQ0FBQTtJQUMvQixrREFBdUIsQ0FBQTtJQUN2QiwwQ0FBZSxDQUFBO0lBQ2Ysd0NBQWEsQ0FBQTtBQUNmLENBQUMsRUFOVyx1QkFBdUIsdUNBQXZCLHVCQUF1QixRQU1sQztBQUVELElBQVksa0JBTVg7QUFORCxXQUFZLGtCQUFrQjtJQUM1QixtQ0FBYSxDQUFBO0lBQ2IsdUNBQWlCLENBQUE7SUFDakIseUNBQW1CLENBQUE7SUFDbkIsNkNBQXVCLENBQUE7SUFDdkIsaURBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQU5XLGtCQUFrQixrQ0FBbEIsa0JBQWtCLFFBTTdCO0FBd0RELE1BQU0sc0JBQXNCLEdBQUc7SUFDN0IsV0FBVyxFQUFFLGNBQWM7SUFDM0IsWUFBWSxFQUFFLGdCQUFnQjtJQUM5QixJQUFJLEVBQUUsTUFBTTtDQUNiLENBQUM7QUFTRixNQUFlLGFBQWMsU0FBUSxzQkFBUTtJQUtuQyxpQkFBaUIsR0FBb0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUV2RTs7Ozs7T0FLRztJQUNILFlBQVksQ0FBQyxNQUErQixFQUFFLEtBQXlCLFNBQVM7UUFDOUUsTUFBTSxNQUFNLEdBQUcsSUFBSSx5QkFBTyxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxFQUFFLElBQUksYUFBYSxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUU7WUFDeEYsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLFlBQVksRUFB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LENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLGdCQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxnQkFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7QUEzRUgsOEJBNEVDO0FBRUQsTUFBTSxpQkFBa0IsU0FBUSxhQUFhO0lBQzNCLFlBQVksQ0FBUztJQUNyQixXQUFXLENBQVM7SUFDcEIsV0FBVyxDQUFTO0lBQ3BCLG9CQUFvQixDQUFVO0lBRTlDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBVSxFQUFFLFlBQXFCO1FBQ3pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLE9BQU8sRUFBRSxLQUFLLENBQUMsY0FBYztTQUM5QixDQUFDLENBQUM7UUFDSCxJQUFBLHdDQUFvQixFQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVsQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDckMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFlBQVksQ0FBQztJQUMzQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5pbXBvcnQge1xuICBhd3NfY29ubmVjdCBhcyBjb25uZWN0LFxuICBDb250ZXh0UHJvdmlkZXIsXG4gIElSZXNvbHZhYmxlLFxuICBJUmVzb3VyY2UsXG4gIEZuLFxuICBSZXNvdXJjZSxcbiAgVG9rZW4sXG4gIFZhbGlkYXRpb25FcnJvcixcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgY3hzY2hlbWEgZnJvbSAnYXdzLWNkay1saWIvY2xvdWQtYXNzZW1ibHktc2NoZW1hJztcbmltcG9ydCB7IGxpdCB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL2hlbHBlcnMtaW50ZXJuYWwnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IElJbnN0YW5jZSB9IGZyb20gJy4vaW5zdGFuY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRhVGFibGUgZXh0ZW5kcyBJUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgZGF0YSB0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YVRhYmxlQXJuOiBzdHJpbmc7XG4gIC8qKlxuICAgKiB0aGUgSUQgb2YgdGhlIGRhdGEgdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFUYWJsZUlkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIERhdGFUYWJsZVZhbHVlTG9ja0xldmVsIHtcbiAgREFUQV9UQUJMRSA9ICdEQVRBX1RBQkxFJyxcbiAgUFJJTUFSWV9WQUxVRSA9ICdQUklNQVJZX1ZBTFVFJyxcbiAgQVRUUklCVVRFID0gJ0FUVFJJQlVURScsXG4gIFZBTFVFID0gJ1ZBTFVFJyxcbiAgTk9ORSA9ICdOT05FJyxcbn1cblxuZXhwb3J0IGVudW0gRGF0YVRhYmxlVmFsdWVUeXBlIHtcbiAgVEVYVCA9ICdURVhUJyxcbiAgTlVNQkVSID0gJ05VTUJFUicsXG4gIEJPT0xFQU4gPSAnQk9PTEVBTicsXG4gIFRFWFRfTElTVCA9ICdURVhUX0xJU1QnLFxuICBOVU1CRVJfTElTVCA9ICdOVU1CRVJfTElTVCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRhYmxlUHJvcHMge1xuICAvKipcbiAgICogVGhlIEFXUyBjb25uZWN0IGluc3RhbmNlIHRvIGF0dGFjaCB0aGUgZGF0YSB0YWJsZSB0by5cbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlOiBJSW5zdGFuY2U7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZGF0YSB0YWJsZS4gTXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBpbnN0YW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgZGF0YSB0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCB0aW1lem9uZSBmb3IgcmVzb2x2aW5nIHRpbWUtYmFzZWQgZHluYW1pYyB2YWx1ZXMuIERlZmF1bHRzIHRvIFVUQ1xuICAgKi9cbiAgcmVhZG9ubHkgdGltZVpvbmU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbG9jayBsZXZlbCB0byBjb250cm9sIGNvbmN1cnJlbnQgZWRpdHMuIERlZmF1bHRzIHRvIE5PTkVcbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlTG9ja0xldmVsPzogRGF0YVRhYmxlVmFsdWVMb2NrTGV2ZWw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRhYmxlRW51bVByb3BlcnR5IHtcbiAgcmVhZG9ubHkgc3RyaWN0PzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgdmFsdWVzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVRhYmxlVmFsaWRhdGlvblByb3BzIHtcbiAgcmVhZG9ubHkgZW51bT86IERhdGFUYWJsZUVudW1Qcm9wZXJ0eTtcbiAgcmVhZG9ubHkgZXhjbHVzaXZlTWF4aW11bT86IG51bWJlcjtcbiAgcmVhZG9ubHkgZXhjbHVzaXZlTWluaW11bT86IG51bWJlcjtcbiAgcmVhZG9ubHkgbWF4aW11bT86IG51bWJlcjtcbiAgcmVhZG9ubHkgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICByZWFkb25seSBtYXhWYWx1ZXM/OiBudW1iZXI7XG4gIHJlYWRvbmx5IG1pbmltdW0/OiBudW1iZXI7XG4gIHJlYWRvbmx5IG1pbkxlbmd0aD86IG51bWJlcjtcbiAgcmVhZG9ubHkgbWluVmFsdWVzPzogbnVtYmVyO1xuICByZWFkb25seSBtdWx0aXBsZU9mPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUYWJsZUF0dHJpYnV0ZVByb3BzIHtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgcmVhZG9ubHkgcHJpbWFyeT86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHZhbHVlVHlwZTogRGF0YVRhYmxlVmFsdWVUeXBlO1xuICByZWFkb25seSB2YWxpZGF0aW9uPzogRGF0YVRhYmxlVmFsaWRhdGlvblByb3BzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUYWJsZUF0dHJpYnV0ZSB7XG4gIHJlYWRvbmx5IGF0dHJpYnV0ZUlkOiBJUmVzb2x2YWJsZSB8IHN0cmluZztcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xufVxuXG5jb25zdCBEVU1NWV9EQVRBX1RBQkxFX1BST1BTID0ge1xuICBpbnN0YW5jZUFybjogJ2luc3RhbmNlLWFybicsXG4gIGRhdGFUYWJsZUFybjogJ2RhdGEtdGFibGUtYXJuJyxcbiAgbmFtZTogJ25hbWUnLFxufTtcblxuZXhwb3J0IGludGVyZmFjZSBEYXRhVGFibGVMb29rdXBPcHRpb25zIHtcbiAgcmVhZG9ubHkgaW5zdGFuY2VBcm46IHN0cmluZztcbiAgcmVhZG9ubHkgZGF0YVRhYmxlQXJuPzogc3RyaW5nO1xuICByZWFkb25seSBkYXRhVGFibGVJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcbn1cblxuYWJzdHJhY3QgY2xhc3MgRGF0YVRhYmxlQmFzZSBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSURhdGFUYWJsZSB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBkYXRhVGFibGVBcm46IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGRhdGFUYWJsZUlkOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBpbnN0YW5jZUFybjogc3RyaW5nO1xuXG4gIHByaXZhdGUgZGVmaW5lZEF0dHJpYnV0ZXM6IE1hcDxzdHJpbmcsIERhdGFUYWJsZUF0dHJpYnV0ZT4gPSBuZXcgTWFwKCk7XG5cbiAgLyoqXG4gICAqIERlZmluZSBhbiBhdHRyaWJ1dGUgZm9yIHRoZSBkYXRhIHRhYmxlXG4gICAqXG4gICAqIEBwYXJhbSBjb25maWdcbiAgICogQHBhcmFtIGlkXG4gICAqL1xuICBhZGRBdHRyaWJ1dGUoY29uZmlnOiBEYXRhVGFibGVBdHRyaWJ1dGVQcm9wcywgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCk6IERhdGFUYWJsZUF0dHJpYnV0ZSB7XG4gICAgY29uc3QgYXR0cmliID0gbmV3IGNvbm5lY3QuQ2ZuRGF0YVRhYmxlQXR0cmlidXRlKHRoaXMsIGlkIHx8IGBBdHRyaWJ1dGUtJHtjb25maWcubmFtZX19YCwge1xuICAgICAgaW5zdGFuY2VBcm46IHRoaXMuaW5zdGFuY2VBcm4sXG4gICAgICBkYXRhVGFibGVBcm46IHRoaXMuZGF0YVRhYmxlQXJuLFxuICAgICAgbmFtZTogY29uZmlnLm5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogY29uZmlnLmRlc2NyaXB0aW9uLFxuICAgICAgcHJpbWFyeTogY29uZmlnLnByaW1hcnksXG4gICAgICB2YWx1ZVR5cGU6IGNvbmZpZy52YWx1ZVR5cGUsXG4gICAgICB2YWxpZGF0aW9uOiBjb25maWcudmFsaWRhdGlvbixcbiAgICB9KTtcblxuICAgIGNvbnN0IGluZm8gPSB7XG4gICAgICBhdHRyaWJ1dGVJZDogYXR0cmliLmF0dHJBdHRyaWJ1dGVJZCxcbiAgICAgIG5hbWU6IGNvbmZpZy5uYW1lLFxuICAgIH07XG4gICAgdGhpcy5kZWZpbmVkQXR0cmlidXRlcy5zZXQoY29uZmlnLm5hbWUsIGluZm8pO1xuXG4gICAgcmV0dXJuIGluZm87XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkSGFzaChkYXRhOiBhbnksIHsganNvbl9lbmNvZGUgPSB0cnVlLCBsZW5ndGggPSA4IH06IHtcbiAgICBqc29uX2VuY29kZT86IGJvb2xlYW47XG4gICAgbGVuZ3RoPzogbnVtYmVyO1xuICB9ID0ge30pOiBzdHJpbmcge1xuICAgIGlmIChqc29uX2VuY29kZSkge1xuICAgICAgZGF0YSA9IEpTT04uc3RyaW5naWZ5KGRhdGEpO1xuICAgIH1cbiAgICBjb25zdCBtZDUgPSBjcnlwdG8uY3JlYXRlSGFzaCgnbWQ1JykudXBkYXRlKGRhdGEpLmRpZ2VzdCgnaGV4Jyk7XG4gICAgcmV0dXJuIG1kNS5zbGljZSgwLCBsZW5ndGgpLnRvVXBwZXJDYXNlKCk7XG4gIH1cblxuICBwcml2YXRlIG1hcEF0dHJpYnV0ZXModmFsdWVzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KTogY29ubmVjdC5DZm5EYXRhVGFibGVSZWNvcmQuVmFsdWVQcm9wZXJ0eVtdIHtcbiAgICBjb25zdCByZXQ6IGNvbm5lY3QuQ2ZuRGF0YVRhYmxlUmVjb3JkLlZhbHVlUHJvcGVydHlbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHZhbHVlcykpIHtcbiAgICAgIGNvbnN0IGxvb2t1cCA9IHRoaXMuZGVmaW5lZEF0dHJpYnV0ZXMuZ2V0KGtleSk7XG4gICAgICBpZiAoIWxvb2t1cCB8fCAhbG9va3VwLmF0dHJpYnV0ZUlkKSB7XG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobGl0YEFyZ3VtZW50c2AsIGBLZXkgJHtrZXl9IHdhcyBub3QgZm91bmQuIE1ha2Ugc3VyZSB5b3UgZGVmaW5lZCBpdCB3aXRoIERhdGFUYWJsZS5hZGRBdHRyaWJ1dGVgLCB0aGlzKTtcbiAgICAgIH1cbiAgICAgIHJldC5wdXNoKHtcbiAgICAgICAgLy8gVGhpcyBpZ25vcmUgaXMgYmVjYXVzZSB3ZSBDQU4gcHVzaCBhIElSZXNvbHZhYmxlIHRvIGF0dHJpYnV0ZUlkXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgYXR0cmlidXRlSWQ6IGxvb2t1cC5hdHRyaWJ1dGVJZCxcbiAgICAgICAgYXR0cmlidXRlVmFsdWU6IHZhbHVlLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHJlY29yZCBpbnRvIHRoZSBkYXRhIHRhYmxlLlxuICAgKiBSZXF1aXJlcyB0aGF0IGFsbCBhdHRyaWJ1dGVzIHdlcmUgZGVmaW5lZCB2aWEge0RhdGFUYWJsZS5hZGRBdHRyaWJ1dGV9XG4gICAqXG4gICAqIEBwYXJhbSBwcmltYXJ5X3ZhbHVlcyBUbyBzZXQgdGhlIGRlZmF1bHQgcmVjb3Jkcywgc3BlY2lmeSBhbmQgZW1wdHkgb2JqZWN0ICh7fSlcbiAgICogQHBhcmFtIHZhbHVlc1xuICAgKi9cbiAgYWRkUmVjb3JkKHByaW1hcnlfdmFsdWVzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LCB2YWx1ZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pIHtcbiAgICBjb25zdCBrZXloYXNoID0gdGhpcy5idWlsZEhhc2gocHJpbWFyeV92YWx1ZXMpO1xuICAgIG5ldyBjb25uZWN0LkNmbkRhdGFUYWJsZVJlY29yZChcbiAgICAgIHRoaXMsIGBSZWNvcmQtJHtrZXloYXNofWAsXG4gICAgICB7XG4gICAgICAgIGluc3RhbmNlQXJuOiB0aGlzLmluc3RhbmNlQXJuLFxuICAgICAgICBkYXRhVGFibGVBcm46IHRoaXMuZGF0YVRhYmxlQXJuLFxuICAgICAgICBkYXRhVGFibGVSZWNvcmQ6IHtcbiAgICAgICAgICBwcmltYXJ5VmFsdWVzOiB0aGlzLm1hcEF0dHJpYnV0ZXMocHJpbWFyeV92YWx1ZXMpLFxuICAgICAgICAgIHZhbHVlczogdGhpcy5tYXBBdHRyaWJ1dGVzKHZhbHVlcyksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIERhdGFUYWJsZSBleHRlbmRzIERhdGFUYWJsZUJhc2Uge1xuICBwdWJsaWMgc3RhdGljIGZyb21Mb29rdXAoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0aW9uczogRGF0YVRhYmxlTG9va3VwT3B0aW9ucyk6IElEYXRhVGFibGUge1xuICAgIGlmIChUb2tlbi5pc1VucmVzb2x2ZWQob3B0aW9ucy5uYW1lKVxuICAgICAgfHwgVG9rZW4uaXNVbnJlc29sdmVkKG9wdGlvbnMuaW5zdGFuY2VBcm4pXG4gICAgICB8fCBUb2tlbi5pc1VucmVzb2x2ZWQob3B0aW9ucy5kYXRhVGFibGVJZClcbiAgICAgIHx8IFRva2VuLmlzVW5yZXNvbHZlZChvcHRpb25zLmRhdGFUYWJsZUFybikpIHtcbiAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobGl0YEFyZ3VtZW50c2AsICdBbGwgYXJndW1lbnRzIHRvIERhdGFUYWJsZS5mcm9tTG9va3VwKCkgbXVzdCBiZSBjb25jcmV0ZSAobm8gVG9rZW5zKScsIHNjb3BlKTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWx0ZXI6IGFueSA9IHt9O1xuXG4gICAgZmlsdGVyLnJlc291cmNlTW9kZWwgPSB7XG4gICAgICBJbnN0YW5jZUFybjogb3B0aW9ucy5pbnN0YW5jZUFybixcbiAgICB9O1xuICAgIGlmIChvcHRpb25zLmRhdGFUYWJsZUFybikge1xuICAgICAgZmlsdGVyLmV4YWN0SWRlbnRpZmllciA9IG9wdGlvbnMuZGF0YVRhYmxlQXJuO1xuICAgIH0gZWxzZSBpZiAob3B0aW9ucy5kYXRhVGFibGVJZCkge1xuICAgICAgZmlsdGVyLmV4YWN0SWRlbnRpZmllciA9IGAke29wdGlvbnMuaW5zdGFuY2VBcm59L2RhdGEtdGFibGUvJHtvcHRpb25zLmRhdGFUYWJsZUlkfWA7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLm5hbWUpIHtcbiAgICAgIGZpbHRlci5wcm9wZXJ0eU1hdGNoIHx8PSB7fTtcbiAgICAgIGZpbHRlci5wcm9wZXJ0eU1hdGNoLk5hbWUgPSBvcHRpb25zLm5hbWU7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzcG9uc2U6IHsgW2tleTogc3RyaW5nXTogYW55IH1bXSA9IENvbnRleHRQcm92aWRlci5nZXRWYWx1ZShzY29wZSwge1xuICAgICAgcHJvdmlkZXI6IGN4c2NoZW1hLkNvbnRleHRQcm92aWRlci5DQ19BUElfUFJPVklERVIsXG4gICAgICBwcm9wczoge1xuICAgICAgICB0eXBlTmFtZTogJ0FXUzo6Q29ubmVjdDo6RGF0YVRhYmxlJyxcbiAgICAgICAgLi4uZmlsdGVyLFxuICAgICAgICBwcm9wZXJ0aWVzVG9SZXR1cm46IFsnQXJuJywgJ05hbWUnXSxcbiAgICAgICAgZXhwZWN0ZWRNYXRjaENvdW50OiAnZXhhY3RseS1vbmUnLFxuICAgICAgfSBhcyBjeHNjaGVtYS5DY0FwaUNvbnRleHRRdWVyeSxcbiAgICAgIGR1bW15VmFsdWU6IHVuZGVmaW5lZCxcbiAgICB9KS52YWx1ZTtcblxuICAgIGxldCBpbnN0YW5jZSA9IHVuZGVmaW5lZDtcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2VbMF0pIHtcbiAgICAgIGluc3RhbmNlID0ge1xuICAgICAgICBpbnN0YW5jZUFybjogb3B0aW9ucy5pbnN0YW5jZUFybixcbiAgICAgICAgZGF0YVRhYmxlQXJuOiByZXNwb25zZVswXS5Bcm4sXG4gICAgICAgIG5hbWU6IHJlc3BvbnNlWzBdLk5hbWUsXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gbmV3IExvb2tlZFVwRGF0YVRhYmxlKHNjb3BlLCBpZCwgaW5zdGFuY2UgPz8gRFVNTVlfREFUQV9UQUJMRV9QUk9QUywgaW5zdGFuY2UgPT09IHVuZGVmaW5lZCk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IGluc3RhbmNlOiBJSW5zdGFuY2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzb3VyY2U6IGNvbm5lY3QuQ2ZuRGF0YVRhYmxlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhVGFibGVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICB0aGlzLmluc3RhbmNlID0gcHJvcHMuaW5zdGFuY2U7XG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBjb25uZWN0LkNmbkRhdGFUYWJsZSh0aGlzLCAnRGF0YVRhYmxlJywge1xuICAgICAgaW5zdGFuY2VBcm46IHByb3BzLmluc3RhbmNlLmluc3RhbmNlQXJuLFxuICAgICAgbmFtZTogcHJvcHMubmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgIHN0YXR1czogJ1BVQkxJU0hFRCcsIC8vIG9ubHkgb25lIHZhbHVlIGFsbG93ZWRcbiAgICAgIHRpbWVab25lOiBwcm9wcy50aW1lWm9uZSB8fCAnVVRDJyxcbiAgICAgIHZhbHVlTG9ja0xldmVsOiBwcm9wcy52YWx1ZUxvY2tMZXZlbCB8fCBEYXRhVGFibGVWYWx1ZUxvY2tMZXZlbC5OT05FLFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGluc3RhbmNlQXJuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaW5zdGFuY2UuaW5zdGFuY2VBcm47XG4gIH1cblxuICBnZXQgZGF0YVRhYmxlQXJuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVzb3VyY2UuYXR0ckFybjtcbiAgfVxuXG4gIGdldCBkYXRhVGFibGVJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBGbi5zZWxlY3QoMywgRm4uc3BsaXQoJy8nLCB0aGlzLmRhdGFUYWJsZUFybikpO1xuICB9XG59XG5cbmNsYXNzIExvb2tlZFVwRGF0YVRhYmxlIGV4dGVuZHMgRGF0YVRhYmxlQmFzZSB7XG4gIHB1YmxpYyByZWFkb25seSBkYXRhVGFibGVBcm46IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGRhdGFUYWJsZUlkOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBpbnN0YW5jZUFybjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgaW5jb21wbGV0ZURlZmluaXRpb246IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IGFueSwgaXNJbmNvbXBsZXRlOiBib29sZWFuKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICByZWdpb246IHByb3BzLnJlZ2lvbixcbiAgICAgIGFjY291bnQ6IHByb3BzLm93bmVyQWNjb3VudElkLFxuICAgIH0pO1xuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIHRoaXMuaW5zdGFuY2VBcm4gPSBwcm9wcy5pbnN0YW5jZUFybjtcbiAgICB0aGlzLmRhdGFUYWJsZUFybiA9IHByb3BzLmRhdGFUYWJsZUFybjtcbiAgICB0aGlzLmRhdGFUYWJsZUlkID0gdGhpcy5kYXRhVGFibGVBcm4uc3BsaXQoJy8nKVszXTtcbiAgICB0aGlzLmluY29tcGxldGVEZWZpbml0aW9uID0gaXNJbmNvbXBsZXRlO1xuICB9XG59XG5cbiJdfQ==
@@ -4,7 +4,7 @@ exports.EmailAddress = void 0;
4
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
5
5
  const aws_cdk_lib_1 = require("aws-cdk-lib");
6
6
  class EmailAddress extends aws_cdk_lib_1.Resource {
7
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.EmailAddress", version: "0.2.6" };
7
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.EmailAddress", version: "0.2.8" };
8
8
  resource;
9
9
  constructor(scope, id, props) {
10
10
  super(scope, id);
@@ -50,7 +50,7 @@ var HoursOfOperationDayOfWeek;
50
50
  HoursOfOperationDayOfWeek["SATURDAY"] = "SATURDAY";
51
51
  })(HoursOfOperationDayOfWeek || (exports.HoursOfOperationDayOfWeek = HoursOfOperationDayOfWeek = {}));
52
52
  class HoursOfOperationDefinition {
53
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.HoursOfOperationDefinition", version: "0.2.6" };
53
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.HoursOfOperationDefinition", version: "0.2.8" };
54
54
  static dayOfWeek(day, startTime, endTime) {
55
55
  return new HoursOfOperationDefinition({ config: { dayOfWeek: day, startTime: startTime, endTime: endTime } });
56
56
  }
@@ -83,7 +83,7 @@ class HoursOfOperationDefinition {
83
83
  }
84
84
  exports.HoursOfOperationDefinition = HoursOfOperationDefinition;
85
85
  class HoursOfOperation extends aws_cdk_lib_1.Resource {
86
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.HoursOfOperation", version: "0.2.6" };
86
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.HoursOfOperation", version: "0.2.8" };
87
87
  static fromLookup(scope, id, options) {
88
88
  if (aws_cdk_lib_1.Token.isUnresolved(options.name)
89
89
  || aws_cdk_lib_1.Token.isUnresolved(options.instanceArn)
package/lib/instance.d.ts CHANGED
@@ -127,9 +127,9 @@ export interface IInstance extends IResource {
127
127
  * The instance name. May not always be available
128
128
  */
129
129
  readonly instanceName?: string;
130
- addStorageConfig(config: StorageConfig, id: string | undefined): void;
131
- associateLambdaFunction(id: string, func: lambda.IFunction): void;
132
- associateLexBot(id: string, bot: lex.IBotAliasRef): void;
130
+ addStorageConfig(config: StorageConfig, id: string | undefined, scope: Construct | undefined): void;
131
+ associateLambdaFunction(id: string, func: lambda.IFunction, scope: Construct | undefined): void;
132
+ associateLexBot(id: string, bot: lex.IBotAliasRef, scope: Construct | undefined): void;
133
133
  }
134
134
  export interface InstanceLookupOptions {
135
135
  /**
@@ -152,9 +152,9 @@ declare abstract class InstanceBase extends Resource implements IInstance {
152
152
  private storageResourceTypes;
153
153
  private readonly removalPolicy?;
154
154
  protected constructor(scope: Construct, id: string, props?: ResourceProps, removalPolicy?: RemovalPolicy);
155
- addStorageConfig(config: StorageConfig, id?: string | undefined): void;
156
- associateLambdaFunction(id: string, func: lambda.IFunction): void;
157
- associateLexBot(id: string, bot: lex.IBotAliasRef): void;
155
+ addStorageConfig(config: StorageConfig, id?: string | undefined, scope?: Construct | undefined): void;
156
+ associateLambdaFunction(id: string, func: lambda.IFunction, scope?: Construct | undefined): void;
157
+ associateLexBot(id: string, bot: lex.IBotAliasRef, scope?: Construct | undefined): void;
158
158
  }
159
159
  export declare class Instance extends InstanceBase {
160
160
  static fromLookup(scope: Construct, id: string, options: InstanceLookupOptions): IInstance;
package/lib/instance.js CHANGED
@@ -54,7 +54,7 @@ class InstanceBase extends aws_cdk_lib_1.Resource {
54
54
  super(scope, id, props);
55
55
  this.removalPolicy = removalPolicy;
56
56
  }
57
- addStorageConfig(config, id = undefined) {
57
+ addStorageConfig(config, id = undefined, scope = undefined) {
58
58
  if (this.storageResourceTypes.has(config.resourceType)) {
59
59
  aws_cdk_lib_1.Annotations.of(this).addError(`Duplicate resourceType ${config.resourceType} in storageConfig`);
60
60
  return;
@@ -64,18 +64,18 @@ class InstanceBase extends aws_cdk_lib_1.Resource {
64
64
  return;
65
65
  }
66
66
  this.storageResourceTypes.add(config.resourceType);
67
- const storage = new aws_cdk_lib_1.aws_connect.CfnInstanceStorageConfig(this, id || `StorageConfig-${config.resourceType}`, config.asStorageConfigProps(this.instanceArn));
67
+ const storage = new aws_cdk_lib_1.aws_connect.CfnInstanceStorageConfig(scope || this, id || `StorageConfig-${config.resourceType}`, config.asStorageConfigProps(this.instanceArn));
68
68
  storage.applyRemovalPolicy(config.removalPolicy, { default: this.removalPolicy || aws_cdk_lib_1.RemovalPolicy.DESTROY });
69
69
  }
70
- associateLambdaFunction(id, func) {
71
- new aws_cdk_lib_1.aws_connect.CfnIntegrationAssociation(this, id, {
70
+ associateLambdaFunction(id, func, scope = undefined) {
71
+ new aws_cdk_lib_1.aws_connect.CfnIntegrationAssociation(scope || this, id, {
72
72
  instanceId: this.instanceArn,
73
73
  integrationType: 'LAMBDA_FUNCTION',
74
74
  integrationArn: func.functionArn,
75
75
  });
76
76
  }
77
- associateLexBot(id, bot) {
78
- new aws_cdk_lib_1.aws_connect.CfnIntegrationAssociation(this, id, {
77
+ associateLexBot(id, bot, scope = undefined) {
78
+ new aws_cdk_lib_1.aws_connect.CfnIntegrationAssociation(scope || this, id, {
79
79
  instanceId: this.instanceArn,
80
80
  integrationType: 'LEX_BOT',
81
81
  integrationArn: bot.botAliasRef.botAliasArn,
@@ -104,7 +104,7 @@ const DUMMY_INSTANCE_PROPS = {
104
104
  instanceId: 'instance-12345',
105
105
  };
106
106
  class Instance extends InstanceBase {
107
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.Instance", version: "0.2.6" };
107
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.Instance", version: "0.2.8" };
108
108
  static fromLookup(scope, id, options) {
109
109
  if (aws_cdk_lib_1.Token.isUnresolved(options.instanceId)
110
110
  || aws_cdk_lib_1.Token.isUnresolved(options.instanceName)
@@ -231,4 +231,4 @@ class UpdateInstanceAttributes extends constructs_1.Construct {
231
231
  });
232
232
  }
233
233
  }
234
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUE2QjtBQUM3Qiw2Q0FhcUI7QUFDckIsNEVBQThEO0FBQzlELDRFQUE0RDtBQUM1RCw4RUFBOEU7QUFDOUUsMkNBQXVDO0FBR3ZDLElBQVksc0JBSVg7QUFKRCxXQUFZLHNCQUFzQjtJQUNoQyx1Q0FBYSxDQUFBO0lBQ2IsNkRBQW1DLENBQUE7SUFDbkMsbUVBQXlDLENBQUE7QUFDM0MsQ0FBQyxFQUpXLHNCQUFzQixzQ0FBdEIsc0JBQXNCLFFBSWpDO0FBc0pELE1BQWUsWUFBYSxTQUFRLHNCQUFRO0lBS2xDLG9CQUFvQixHQUE2QixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2xELGFBQWEsQ0FBaUI7SUFFL0MsWUFBc0IsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBcUIsRUFBRSxhQUE2QjtRQUN0RyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsTUFBcUIsRUFBRSxLQUF5QixTQUFTO1FBQ3hFLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUN2RCx5QkFBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsMEJBQTBCLE1BQU0sQ0FBQyxZQUFZLG1CQUFtQixDQUFDLENBQUM7WUFDaEcsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDMUIseUJBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFD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LHNCQUFzQjtnQkFDdEIsbUJBQW1CO2FBQ3BCO1lBQ0QsU0FBUyxFQUFFO2dCQUNULGdCQUFFLENBQUMsR0FBRyxDQUFDLDRGQUE0RixDQUFDO2FBQ3JHO1NBQ0YsQ0FBQyxDQUFDLENBQUM7UUFFSixJQUFJLDRCQUFjLENBQUMsSUFBSSxFQUFFLHVCQUF1QixFQUFFO1lBQ2hELFlBQVksRUFBRSx5Q0FBeUM7WUFDdkQsWUFBWSxFQUFFLFFBQVEsQ0FBQyxZQUFZO1lBQ25DLFVBQVUsRUFBRTtnQkFDVixVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVU7Z0JBQy9CLGdCQUFnQixFQUFFLFVBQVU7YUFDN0I7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7XG4gIEFubm90YXRpb25zLFxuICBjdXN0b21fcmVzb3VyY2VzIGFzIGNyLFxuICBhd3NfY29ubmVjdCBhcyBjb25uZWN0LFxuICBhd3NfbGFtYmRhIGFzIGxhbWJkYSxcbiAgYXdzX2xleCBhcyBsZXgsXG4gIGF3c19sb2dzIGFzIGxvZ3MsXG4gIGF3c19pYW0gYXMgaWFtLFxuICBDb250ZXh0UHJvdmlkZXIsIEN1c3RvbVJlc291cmNlLCBEdXJhdGlvbixcbiAgSVJlc291cmNlLCBSZW1vdmFsUG9saWN5LFxuICBSZXNvdXJjZSwgUmVzb3VyY2VQcm9wcyxcbiAgVG9rZW4sXG4gIFZhbGlkYXRpb25FcnJvciwgRm4sXG59IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGN4c2NoZW1hIGZyb20gJ2F3cy1jZGstbGliL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG5pbXBvcnQgeyBsaXQgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBTdG9yYWdlQ29uZmlnLCBTdG9yYWdlUmVzb3VyY2VUeXBlIH0gZnJvbSAnLi9zdG9yYWdlX2NvbmZpZyc7XG5cbmV4cG9ydCBlbnVtIElkZW50aXR5TWFuYWdlbWVudFR5cGUge1xuICBTQU1MID0gJ1NBTUwnLFxuICBDT05ORUNUX01BTkFHRUQgPSAnQ09OTkVDVF9NQU5BR0VEJyxcbiAgRVhJU1RJTkdfRElSRUNUT1JZID0gJ0VYSVNUSU5HX0RJUkVDVE9SWScsXG59XG5cbi8qKlxuICogQWxsIG90aGVyIGNvbmZpZyBwcm9wc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE90aGVyQ29uZmlnUHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciBjb250YWN0IGZsb3cgbG9ncyBhcmUgZW5hYmxlZC4gKENPTlRBQ1RGTE9XX0xPR1MpXG4gICAqL1xuICByZWFkb25seSBjb250YWN0Zmxvd0xvZ3M/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBjb250YWN0IGxlbnMgaXMgZW5hYmxlZC4gKENPTlRBQ1RfTEVOUylcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRhY3RMZW5zPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgbWVzc2FnZSBzdHJlYW1pbmcgaXMgZW5hYmxlZC4gKE1FU1NBR0VfU1RSRUFNSU5HKVxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZVN0cmVhbWluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIGVuaGFuY2VkIGNoYXQgbW9uaXRvcmluZyBpcyBlbmFibGVkLiAoRU5IQU5DRURfQ0hBVF9NT05JVE9SSU5HKVxuICAgKi9cbiAgcmVhZG9ubHkgZW5oYW5jZWRDaGF0TW9uaXRvcmluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIGhpZ2ggdm9sdW1lIG91dGJvdW5kIGlzIGVuYWJsZWQuIChISUdIX1ZPTFVNRV9PVVRCT1VORClcbiAgICovXG4gIHJlYWRvbmx5IGhpZ2hWb2x1bWVPdXRCb3VuZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIGVuaGFuY2VkIGNvbnRhY3QgbW9uaXRvcmluZyBpcyBlbmFibGVkLiAoRU5IQU5DRURfQ09OVEFDVF9NT05JVE9SSU5HKVxuICAgKi9cbiAgcmVhZG9ubHkgZW5oYW5jZWRDb250YWN0TW9uaXRvcmluZz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVsZXBob255Q29uZmlnUHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciBlYXJseSBtZWRpYSBpcyBlbmFibGVkIChFQVJMWV9NRURJQSlcbiAgICovXG4gIHJlYWRvbmx5IGVhcmx5TWVkaWFFbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgaW5ib3VuZCBjYWxscyBhcmUgYWxsb3dlZC4gKElOQk9VTkRfQ0FMTFMpXG4gICAqL1xuICByZWFkb25seSBpbmJvdW5kQ2FsbHM6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG11bHRpIHBhcnR5IGNoYXQgaXMgZW5hYmxlZC4gKE1VTFRJX1BBUlRZX0NIQVRfQ09ORkVSRU5DRSlcbiAgICovXG4gIHJlYWRvbmx5IG11bHRpUGFydHlDaGF0Q29uZmVyZW5jZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG11bHRpIHBhcnR5IGNvbmZlcmVuY2UgaXMgZW5hYmxlZC4gKE1VTFRJX1BBUlRZX0NPTkZFUkVOQ0UpXG4gICAqL1xuICByZWFkb25seSBtdWx0aVBhcnR5Q29uZmVyZW5jZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG91dGJvdW5kIGNhbGxzIGFyZSBhbGxvd2VkLiAoT1VUQk9VTkRfQ0FMTFMpXG4gICAqL1xuICByZWFkb25seSBvdXRib3VuZENhbGxzOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvbGx5Q29uZmlnUHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciB0byBhdXRvbWF0aWNhbGx5IHJlc29sdmUgYmVzdCB2b2ljZXMuIChBVVRPX1JFU09MVkVfQkVTVF9WT0lDRVMpXG4gICAqL1xuICByZWFkb25seSBhdXRvUmVzb2x2ZUJlc3RWb2ljZXM/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciB1c2VDdXN0b21UdHNWb2ljZXMgaXMgZW5hYmxlZCAoVVNFX0NVU1RPTV9UVFNfVk9JQ0VTKVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlQ3VzdG9tVHRzVm9pY2VzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnN0YW5jZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBpZGVudGl0eSB0eXBlIGZvciB0aGlzIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgaWRlbnRpdHlUeXBlOiBJZGVudGl0eU1hbmFnZW1lbnRUeXBlO1xuICAvKipcbiAgICogVGhlIGluc3RhbmNlIGFsaWFzLCByZXF1aXJlZCB3aGVuIGlkZW50aXR5VHlwZSBpcyBzZXQgdG8gQ09OTkVDVF9NQU5BR0VEIG9yIFNBTUwuXG4gICAqL1xuICByZWFkb25seSBpbnN0YW5jZUFsaWFzPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGlkZW50aWZpZXIgb2YgYSBzaW1wbGVBRCBvciBNaWNyb3NvZnQgQUQgKF5kLVswLTlhLWZdezEwfSQpLCByZXF1aXJlZCB3aGVuIGlkZW50aXR5VHlwZSBpcyBzZXQgdG8gRVhJU1RJTkdfRElSRUNUT1JZLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlyZWN0b3J5SWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUZWxlcGhvbnkgcHJvcGVydGllcy4gIFJlcXVpcmVkIChkdWUgdG8gcmVxdWlyZWQgc2V0dGluZyBvZiBpbmJvdW5kICYgb3V0Ym91bmQgY2FsbCBjb25maWd1cmF0aW9uKVxuICAgKi9cbiAgcmVhZG9ubHkgdGVsZXBob255Q29uZmlnOiBUZWxlcGhvbnlDb25maWdQcm9wcztcbiAgLyoqXG4gICAqIFBvbGx5IGNvbmZpZ3VyYXRpb24gc2V0dGluZ3NcbiAgICovXG4gIHJlYWRvbmx5IHBvbGx5Q29uZmlnPzogUG9sbHlDb25maWdQcm9wcztcbiAgLyoqXG4gICAqIE90aGVyIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3NcbiAgICovXG4gIHJlYWRvbmx5IG90aGVyQ29uZmlnPzogT3RoZXJDb25maWdQcm9wcztcbiAgLyoqXG4gICAqIERlZmluZSBhbnkgb3RoZXIgaW5zdGFuY2UgYXR0cmlidXRlIGNvbmZpZyBoZXJlLlxuICAgKlxuICAgKiBjdXJyZW50bHkgdGhhdCBsaXN0IGlzIHRoZSBmb2xsb3dpbmc6XG4gICAqXG4gICAqIEFVVE9fTVVURV9BR0VOVF9PTl9IT0xEXG4gICAqIEFVVE9NQVRFRF9JTlRFUkFDVElPTl9MT0dcbiAgICogQk9UX01BTkFHRU1FTlRcbiAgICogRU5BQkxFX0JPVF9BTkFMWVRJQ1NfQU5EX1RSQU5TQ1JJUFRTXG4gICAqIEZPUkVDQVNUSU5HX1BMQU5OSU5HX1NDSEVEVUxJTkdcbiAgICogTUFYX1BBQ0tBR0VcbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbUF0dHJpYnV0ZXM/OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbiAgLyoqXG4gICAqIFN0b3JhZ2UgY29uZmlndXJhdGlvbnMgKGNhbiBhbHNvIHVzZSBhZGRTdG9yYWdlQ29uZmlnKCkgdG8gYWRkIGNvbmZpZ3MgbGF0ZXIpXG4gICAqL1xuICByZWFkb25seSBzdG9yYWdlQ29uZmlncz86IFN0b3JhZ2VDb25maWdbXTtcbiAgLyoqXG4gICAqIFNldCB0aGUgcmVtb3ZhbCBwb2xpY3kgZm9yIHRoZSBpbnN0YW5jZS4gdGhlIGRlZmF1bHQgaXMgUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeT86IFJlbW92YWxQb2xpY3k7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUluc3RhbmNlIGV4dGVuZHMgSVJlc291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VBcm46IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZSBpZGVudGlmaWVyLlxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VJZDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGluc3RhbmNlIG5hbWUuICBNYXkgbm90IGFsd2F5cyBiZSBhdmFpbGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlTmFtZT86IHN0cmluZztcblxuICBhZGRTdG9yYWdlQ29uZmlnKGNvbmZpZzogU3RvcmFnZUNvbmZpZywgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQ7XG5cbiAgYXNzb2NpYXRlTGFtYmRhRnVuY3Rpb24oaWQ6IHN0cmluZywgZnVuYzogbGFtYmRhLklGdW5jdGlvbik6IHZvaWQ7XG5cbiAgYXNzb2NpYXRlTGV4Qm90KGlkOiBzdHJpbmcsIGJvdDogbGV4LklCb3RBbGlhc1JlZik6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5zdGFuY2VMb29rdXBPcHRpb25zIHtcbiAgLyoqXG4gICAqIHRoZSBJRCBvZiB0aGUgY29ubmVjdCBpbnN0YW5jZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VJZD86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBjb25uZWN0IGluc3RhbmNlIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZSBBcm5cbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlQXJuPzogc3RyaW5nO1xufVxuXG5hYnN0cmFjdCBjbGFzcyBJbnN0YW5jZUJhc2UgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElJbnN0YW5jZSB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBpbnN0YW5jZUFybjogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgaW5zdGFuY2VJZDogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgaW5zdGFuY2VOYW1lPzogc3RyaW5nO1xuXG4gIHByaXZhdGUgc3RvcmFnZVJlc291cmNlVHlwZXM6IFNldDxTdG9yYWdlUmVzb3VyY2VUeXBlPiA9IG5ldyBTZXQoKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZW1vdmFsUG9saWN5PzogUmVtb3ZhbFBvbGljeTtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBSZXNvdXJjZVByb3BzLCByZW1vdmFsUG9saWN5PzogUmVtb3ZhbFBvbGljeSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICAgIHRoaXMucmVtb3ZhbFBvbGljeSA9IHJlbW92YWxQb2xpY3k7XG4gIH1cblxuICBhZGRTdG9yYWdlQ29uZmlnKGNvbmZpZzogU3RvcmFnZUNvbmZpZywgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCkge1xuICAgIGlmICh0aGlzLnN0b3JhZ2VSZXNvdXJjZVR5cGVzLmhhcyhjb25maWcucmVzb3VyY2VUeXBlKSkge1xuICAgICAgQW5ub3RhdGlvbnMub2YodGhpcykuYWRkRXJyb3IoYER1cGxpY2F0ZSByZXNvdXJjZVR5cGUgJHtjb25maWcucmVzb3VyY2VUeXBlfSBpbiBzdG9yYWdlQ29uZmlnYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghY29uZmlnLmNoZWNrQ29uZmlnKCkpIHtcbiAgICAgIEFubm90YXRpb25zLm9mKHRoaXMpLmFkZEVycm9yKGBJbnZhbGlkIHN0b3JhZ2UgY29uZmlndXJhdGlvbiBmb3IgcmVzb3VyY2VUeXBlICR7Y29uZmlnLnJlc291cmNlVHlwZX0gYW5kIHN0b3JhZ2VUeXBlICR7Y29uZmlnLnN0b3JhZ2VUeXBlfWApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnN0b3JhZ2VSZXNvdXJjZVR5cGVzLmFkZChjb25maWcucmVzb3VyY2VUeXBlKTtcbiAgICBjb25zdCBzdG9yYWdlID0gbmV3IGNvbm5lY3QuQ2ZuSW5zdGFuY2VTdG9yYWdlQ29uZmlnKHRoaXMsIGlkIHx8IGBTdG9yYWdlQ29uZmlnLSR7Y29uZmlnLnJlc291cmNlVHlwZX1gLCBjb25maWcuYXNTdG9yYWdlQ29uZmlnUHJvcHModGhpcy5pbnN0YW5jZUFybikpO1xuICAgIHN0b3JhZ2UuYXBwbHlSZW1vdmFsUG9saWN5KGNvbmZpZy5yZW1vdmFsUG9saWN5LCB7IGRlZmF1bHQ6IHRoaXMucmVtb3ZhbFBvbGljeSB8fCBSZW1vdmFsUG9saWN5LkRFU1RST1kgfSk7XG4gIH1cblxuICBhc3NvY2lhdGVMYW1iZGFGdW5jdGlvbihpZDogc3RyaW5nLCBmdW5jOiBsYW1iZGEuSUZ1bmN0aW9uKSB7XG4gICAgbmV3IGNvbm5lY3QuQ2ZuSW50ZWdyYXRpb25Bc3NvY2lhdGlvbih0aGlzLCBpZCwge1xuICAgICAgaW5zdGFuY2VJZDogdGhpcy5pbnN0YW5jZUFybixcbiAgICAgIGludGVncmF0aW9uVHlwZTogJ0xBTUJEQV9GVU5DVElPTicsXG4gICAgICBpbnRlZ3JhdGlvbkFybjogZnVuYy5mdW5jdGlvbkFybixcbiAgICB9KTtcbiAgfVxuXG4gIGFzc29jaWF0ZUxleEJvdChpZDogc3RyaW5nLCBib3Q6IGxleC5JQm90QWxpYXNSZWYpIHtcbiAgICBuZXcgY29ubmVjdC5DZm5JbnRlZ3JhdGlvbkFzc29jaWF0aW9uKHRoaXMsIGlkLCB7XG4gICAgICBpbnN0YW5jZUlkOiB0aGlzLmluc3RhbmNlQXJuLFxuICAgICAgaW50ZWdyYXRpb25UeXBlOiAnTEVYX0JPVCcsXG4gICAgICBpbnRlZ3JhdGlvbkFybjogYm90LmJvdEFsaWFzUmVmLmJvdEFsaWFzQXJuLFxuICAgIH0pO1xuICB9XG59XG5cbmNsYXNzIExvb2tlZFVwSW5zdGFuY2UgZXh0ZW5kcyBJbnN0YW5jZUJhc2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VJZDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VBcm46IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGluc3RhbmNlTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgaW5jb21wbGV0ZURlZmluaXRpb246IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IGFueSwgaXNJbmNvbXBsZXRlOiBib29sZWFuKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICByZWdpb246IHByb3BzLnJlZ2lvbixcbiAgICAgIGFjY291bnQ6IHByb3BzLm93bmVyQWNjb3VudElkLFxuICAgIH0pO1xuXG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgdGhpcy5pbnN0YW5jZUlkID0gcHJvcHMuaW5zdGFuY2VJZDtcbiAgICB0aGlzLmluc3RhbmNlQXJuID0gcHJvcHMuaW5zdGFuY2VBcm47XG4gICAgdGhpcy5pbnN0YW5jZU5hbWUgPSBwcm9wcy5pbnN0YW5jZU5hbWU7XG4gICAgdGhpcy5pbmNvbXBsZXRlRGVmaW5pdGlvbiA9IGlzSW5jb21wbGV0ZTtcbiAgfVxufVxuXG5jb25zdCBEVU1NWV9JTlNUQU5DRV9QUk9QUyA9IHtcbiAgaW5zdGFuY2VBcm46ICdpbnN0YW5jZS1hcm4nLFxuICBpbnN0YW5jZUlkOiAnaW5zdGFuY2UtMTIzNDUnLFxufTtcblxuZXhwb3J0IGNsYXNzIEluc3RhbmNlIGV4dGVuZHMgSW5zdGFuY2VCYXNlIHtcbiAgcHVibGljIHN0YXRpYyBmcm9tTG9va3VwKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdGlvbnM6IEluc3RhbmNlTG9va3VwT3B0aW9ucyk6IElJbnN0YW5jZSB7XG4gICAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZChvcHRpb25zLmluc3RhbmNlSWQpXG4gICAgICAgIHx8IFRva2VuLmlzVW5yZXNvbHZlZChvcHRpb25zLmluc3RhbmNlTmFtZSlcbiAgICAgICAgfHwgVG9rZW4uaXNVbnJlc29sdmVkKG9wdGlvbnMuaW5zdGFuY2VBcm4pKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBBcmd1bWVudHNgLCAnQWxsIGFyZ3VtZW50cyB0byBJbnN0YW5jZS5mcm9tTG9va3VwKCkgbXVzdCBiZSBjb25jcmV0ZSAobm8gVG9rZW5zKScsIHNjb3BlKTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWx0ZXI6IGFueSA9IHt9O1xuXG4gICAgaWYgKG9wdGlvbnMuaW5zdGFuY2VBcm4pIHtcbiAgICAgIGZpbHRlci5leGFjdElkZW50aWZpZXIgPSBvcHRpb25zLmluc3RhbmNlQXJuO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmluc3RhbmNlSWQpIHtcbiAgICAgIGZpbHRlci5wcm9wZXJ0eU1hdGNoIHx8PSB7fTtcbiAgICAgIGZpbHRlci5wcm9wZXJ0eU1hdGNoLklkID0gb3B0aW9ucy5pbnN0YW5jZUlkO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5pbnN0YW5jZU5hbWUpIHtcbiAgICAgIGZpbHRlci5wcm9wZXJ0eU1hdGNoIHx8PSB7fTtcbiAgICAgIGZpbHRlci5wcm9wZXJ0eU1hdGNoLkluc3RhbmNlQWxpYXMgPSBvcHRpb25zLmluc3RhbmNlTmFtZTtcbiAgICB9XG5cbiAgICBjb25zdCByZXNwb25zZSA6IHsgW2tleTogc3RyaW5nXTogYW55IH1bXSA9IENvbnRleHRQcm92aWRlci5nZXRWYWx1ZShzY29wZSwge1xuICAgICAgcHJvdmlkZXI6IGN4c2NoZW1hLkNvbnRleHRQcm92aWRlci5DQ19BUElfUFJPVklERVIsXG4gICAgICBwcm9wczoge1xuICAgICAgICB0eXBlTmFtZTogJ0FXUzo6Q29ubmVjdDo6SW5zdGFuY2UnLFxuICAgICAgICAuLi5maWx0ZXIsXG4gICAgICAgIHByb3BlcnRpZXNUb1JldHVybjogWydBcm4nLCAnSW5zdGFuY2VBbGlhcycsICdJZCddLFxuICAgICAgICBleHBlY3RlZE1hdGNoQ291bnQ6ICdleGFjdGx5LW9uZScsXG4gICAgICB9IGFzIGN4c2NoZW1hLkNjQXBpQ29udGV4dFF1ZXJ5LFxuICAgICAgZHVtbXlWYWx1ZTogdW5kZWZpbmVkLFxuICAgIH0pLnZhbHVlO1xuXG4gICAgbGV0IGluc3RhbmNlID0gdW5kZWZpbmVkO1xuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZVswXSkge1xuICAgICAgaW5zdGFuY2UgPSB7XG4gICAgICAgIGluc3RhbmNlQXJuOiByZXNwb25zZVswXS5Bcm4sXG4gICAgICAgIGluc3RhbmNlSWQ6IHJlc3BvbnNlWzBdLklkLFxuICAgICAgICBpbnN0YW5jZU5hbWU6IHJlc3BvbnNlWzBdLkluc3RhbmNlQWxpYXMsXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gbmV3IExvb2tlZFVwSW5zdGFuY2Uoc2NvcGUsIGlkLCBpbnN0YW5jZSA/PyBEVU1NWV9JTlNUQU5DRV9QUk9QUywgaW5zdGFuY2UgPT09IHVuZGVmaW5lZCk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlOiBjb25uZWN0LkNmbkluc3RhbmNlO1xuICByZWFkb25seSBpbnN0YW5jZU5hbWU/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEluc3RhbmNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHVuZGVmaW5lZCwgcHJvcHMucmVtb3ZhbFBvbGljeSk7XG5cbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICBjb25zdCBhdHRyaWJ1dGVzID0ge1xuICAgICAgLi4ucHJvcHMudGVsZXBob255Q29uZmlnLFxuICAgICAgLi4ucHJvcHMucG9sbHlDb25maWcsXG4gICAgICAuLi5wcm9wcy5vdGhlckNvbmZpZyxcbiAgICB9O1xuXG4gICAgaWYgKHByb3BzLmlkZW50aXR5VHlwZSA9PT0gSWRlbnRpdHlNYW5hZ2VtZW50VHlwZS5FWElTVElOR19ESVJFQ1RPUlkgJiYgIXByb3BzLmRpcmVjdG9yeUlkKSB7XG4gICAgICBBbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRFcnJvcignZGlyZWN0b3J5SWQgaXMgcmVxdWlyZWQgd2hlbiBpZGVudGl0eVR5cGUgaXMgc2V0IHRvIEVYSVNUSU5HX0RJUkVDVE9SWScpO1xuICAgIH1cbiAgICBpZiAocHJvcHMuaWRlbnRpdHlUeXBlICE9PSBJZGVudGl0eU1hbmFnZW1lbnRUeXBlLkVYSVNUSU5HX0RJUkVDVE9SWSAmJiAhcHJvcHMuaW5zdGFuY2VBbGlhcykge1xuICAgICAgQW5ub3RhdGlvbnMub2YodGhpcykuYWRkRXJyb3IoJ2luc3RhbmNlQWxpYXMgaXMgcmVxdWlyZWQgd2hlbiBpZGVudGl0eVR5cGUgaXMgc2V0IHRvIENPTk5FQ1RfTUFOQUdFRCBvciBTQU1MJyk7XG4gICAgfVxuXG4gICAgdGhpcy5pbnN0YW5jZU5hbWUgPSBwcm9wcy5pbnN0YW5jZUFsaWFzO1xuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgY29ubmVjdC5DZm5JbnN0YW5jZSh0aGlzLCAnSW5zdGFuY2UnLCB7XG4gICAgICBhdHRyaWJ1dGVzLFxuICAgICAgaWRlbnRpdHlNYW5hZ2VtZW50VHlwZTogcHJvcHMuaWRlbnRpdHlUeXBlLFxuICAgICAgaW5zdGFuY2VBbGlhczogcHJvcHMuaW5zdGFuY2VBbGlhcyxcbiAgICB9KTtcbiAgICB0aGlzLnJlc291cmNlLmFwcGx5UmVtb3ZhbFBvbGljeShwcm9wcy5yZW1vdmFsUG9saWN5LCB7IGRlZmF1bHQ6IFJlbW92YWxQb2xpY3kuREVTVFJPWSB9KTtcblxuICAgIGlmIChwcm9wcy5zdG9yYWdlQ29uZmlncykge1xuICAgICAgZm9yIChjb25zdCBjb25maWcgb2YgcHJvcHMuc3RvcmFnZUNvbmZpZ3MpIHtcbiAgICAgICAgdGhpcy5hZGRTdG9yYWdlQ29uZmlnKGNvbmZpZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLmN1c3RvbUF0dHJpYnV0ZXMgJiYgT2JqZWN0LmtleXMocHJvcHMuY3VzdG9tQXR0cmlidXRlcykubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zZXR1cEN1c3RvbUF0dHJpYnV0ZXMocHJvcHMuY3VzdG9tQXR0cmlidXRlcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEN1c3RvbUF0dHJpYnV0ZXMoY3VzdG9tQXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4pIHtcbiAgICBuZXcgVXBkYXRlSW5zdGFuY2VBdHRyaWJ1dGVzKHRoaXMsICdVcGRhdGVDdXN0b21BdHRyaWJ1dGVzJywgdGhpcywgY3VzdG9tQXR0cmlidXRlcyk7XG4gIH1cblxuICBnZXQgaW5zdGFuY2VBcm4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZS5hdHRyQXJuO1xuICB9XG5cbiAgZ2V0IGluc3RhbmNlSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZS5yZWY7XG4gIH1cbn1cblxuY2xhc3MgVXBkYXRlSW5zdGFuY2VBdHRyaWJ1dGVzIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgQ1VTVE9NX0FUVFJJQlVURVNfRlVOQ1RJT05fVVVJRCA9ICdjYjJmNmI1Yy1mMGFhLTExZjAtYWMxMC01YjQ4NDgyNzE0NWMnO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGluc3RhbmNlOiBJSW5zdGFuY2UsIGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHNldHVwRnVuYyA9IG5ldyBsYW1iZGEuU2luZ2xldG9uRnVuY3Rpb24odGhpcywgJ0N1c3RvbUF0dHJpYnV0ZUZ1bmMnLCB7XG4gICAgICB1dWlkOiBVcGRhdGVJbnN0YW5jZUF0dHJpYnV0ZXMuQ1VTVE9NX0FUVFJJQlVURVNfRlVOQ1RJT05fVVVJRCxcbiAgICAgIGxhbWJkYVB1cnBvc2U6ICdDdXN0b21BdHRyaWJ1dGVTZXR1cCcsXG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5QWVRIT05fM18xMixcbiAgICAgIGhhbmRsZXI6ICdhcHAub25fZXZlbnQnLFxuICAgICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbUFzc2V0KHBhdGguam9pbihfX2Rpcm5hbWUsICcuLicsICdsYW1iZGFzJywgJ2luc3RhbmNlX2F0dHJpYnV0ZXMnKSksXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgIH0pO1xuXG4gICAgY29uc3QgZ3JvdXAgPSBuZXcgbG9ncy5Mb2dHcm91cCh0aGlzLCAnQ3VzdG9tQXR0cmlidXRlTG9nR3JvdXAnLCB7XG4gICAgICByZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfREFZLFxuICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcHJvdmlkZXIgPSBuZXcgY3IuUHJvdmlkZXIodGhpcywgJ0N1c3RvbUF0dHJpYnV0ZVByb3ZpZGVyJywge1xuICAgICAgb25FdmVudEhhbmRsZXI6IHNldHVwRnVuYyxcbiAgICAgIGxvZ0dyb3VwOiBncm91cCxcbiAgICB9KTtcblxuICAgIHNldHVwRnVuYy5hZGRUb1JvbGVQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgYWN0aW9uczogWydjb25uZWN0OlVwZGF0ZUluc3RhbmNlQXR0cmlidXRlJ10sXG4gICAgICByZXNvdXJjZXM6IFtpbnN0YW5jZS5pbnN0YW5jZUFybl0sXG4gICAgfSkpO1xuICAgIHNldHVwRnVuYy5hZGRUb1JvbGVQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgYWN0aW9uczogW1xuICAgICAgICAnaWFtOkRlbGV0ZVJvbGVQb2xpY3knLFxuICAgICAgICAnaWFtOlB1dFJvbGVQb2xpY3knLFxuICAgICAgXSxcbiAgICAgIHJlc291cmNlczogW1xuICAgICAgICBGbi5zdWIoJ2Fybjoke0FXUzo6UGFydGl0aW9ufTppYW06OiR7QVdTOjpBY2NvdW50SWR9OnJvbGUvYXdzLXNlcnZpY2Utcm9sZS9jb25uZWN0LmFtYXpvbmF3cy5jb20vKicpLFxuICAgICAgXSxcbiAgICB9KSk7XG5cbiAgICBuZXcgQ3VzdG9tUmVzb3VyY2UodGhpcywgJ1NldHVwQ3VzdG9tQXR0cmlidXRlcycsIHtcbiAgICAgIHJlc291cmNlVHlwZTogJ0N1c3RvbTo6Q29ubmVjdEluc3RhbmNlQ3VzdG9tQXR0cmlidXRlcycsXG4gICAgICBzZXJ2aWNlVG9rZW46IHByb3ZpZGVyLnNlcnZpY2VUb2tlbixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgSW5zdGFuY2VJZDogaW5zdGFuY2UuaW5zdGFuY2VJZCxcbiAgICAgICAgQ3VzdG9tQXR0cmlidXRlczogYXR0cmlidXRlcyxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn0iXX0=
234
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUE2QjtBQUM3Qiw2Q0FhcUI7QUFDckIsNEVBQThEO0FBQzlELDRFQUE0RDtBQUM1RCw4RUFBOEU7QUFDOUUsMkNBQXVDO0FBR3ZDLElBQVksc0JBSVg7QUFKRCxXQUFZLHNCQUFzQjtJQUNoQyx1Q0FBYSxDQUFBO0lBQ2IsNkRBQW1DLENBQUE7SUFDbkMsbUVBQXlDLENBQUE7QUFDM0MsQ0FBQyxFQUpXLHNCQUFzQixzQ0FBdEIsc0JBQXNCLFFBSWpDO0FBc0pELE1BQWUsWUFBYSxTQUFRLHNCQUFRO0lBS2xDLG9CQUFvQixHQUE2QixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2xELGFBQWEsQ0FBaUI7SUFFL0MsWUFBc0IsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBcUIsRUFBRSxhQUE2QjtRQUN0RyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsTUFBcUIsRUFBRSxLQUF5QixTQUFTLEVBQUUsUUFBK0IsU0FBUztRQUNsSCxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDdkQseUJBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLDBCQUEwQixNQUFNLENBQUMsWUFBWSxtQkFBbUIsQ0FBQyxDQUFDO1lBQ2hHLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQzFCLHlCQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FB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Q0FBQyxlQUFlLENBQUM7WUFDaEQsTUFBTSxFQUFFLHFCQUFHLENBQUMsTUFBTSxDQUFDLEtBQUs7WUFDeEIsT0FBTyxFQUFFO2dCQUNQLHNCQUFzQjtnQkFDdEIsbUJBQW1CO2FBQ3BCO1lBQ0QsU0FBUyxFQUFFO2dCQUNULGdCQUFFLENBQUMsR0FBRyxDQUFDLDRGQUE0RixDQUFDO2FBQ3JHO1NBQ0YsQ0FBQyxDQUFDLENBQUM7UUFFSixJQUFJLDRCQUFjLENBQUMsSUFBSSxFQUFFLHVCQUF1QixFQUFFO1lBQ2hELFlBQVksRUFBRSx5Q0FBeUM7WUFDdkQsWUFBWSxFQUFFLFFBQVEsQ0FBQyxZQUFZO1lBQ25DLFVBQVUsRUFBRTtnQkFDVixVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVU7Z0JBQy9CLGdCQUFnQixFQUFFLFVBQVU7YUFDN0I7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7XG4gIEFubm90YXRpb25zLFxuICBjdXN0b21fcmVzb3VyY2VzIGFzIGNyLFxuICBhd3NfY29ubmVjdCBhcyBjb25uZWN0LFxuICBhd3NfbGFtYmRhIGFzIGxhbWJkYSxcbiAgYXdzX2xleCBhcyBsZXgsXG4gIGF3c19sb2dzIGFzIGxvZ3MsXG4gIGF3c19pYW0gYXMgaWFtLFxuICBDb250ZXh0UHJvdmlkZXIsIEN1c3RvbVJlc291cmNlLCBEdXJhdGlvbixcbiAgSVJlc291cmNlLCBSZW1vdmFsUG9saWN5LFxuICBSZXNvdXJjZSwgUmVzb3VyY2VQcm9wcyxcbiAgVG9rZW4sXG4gIFZhbGlkYXRpb25FcnJvciwgRm4sXG59IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGN4c2NoZW1hIGZyb20gJ2F3cy1jZGstbGliL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG5pbXBvcnQgeyBsaXQgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBTdG9yYWdlQ29uZmlnLCBTdG9yYWdlUmVzb3VyY2VUeXBlIH0gZnJvbSAnLi9zdG9yYWdlX2NvbmZpZyc7XG5cbmV4cG9ydCBlbnVtIElkZW50aXR5TWFuYWdlbWVudFR5cGUge1xuICBTQU1MID0gJ1NBTUwnLFxuICBDT05ORUNUX01BTkFHRUQgPSAnQ09OTkVDVF9NQU5BR0VEJyxcbiAgRVhJU1RJTkdfRElSRUNUT1JZID0gJ0VYSVNUSU5HX0RJUkVDVE9SWScsXG59XG5cbi8qKlxuICogQWxsIG90aGVyIGNvbmZpZyBwcm9wc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE90aGVyQ29uZmlnUHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciBjb250YWN0IGZsb3cgbG9ncyBhcmUgZW5hYmxlZC4gKENPTlRBQ1RGTE9XX0xPR1MpXG4gICAqL1xuICByZWFkb25seSBjb250YWN0Zmxvd0xvZ3M/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBjb250YWN0IGxlbnMgaXMgZW5hYmxlZC4gKENPTlRBQ1RfTEVOUylcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRhY3RMZW5zPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgbWVzc2FnZSBzdHJlYW1pbmcgaXMgZW5hYmxlZC4gKE1FU1NBR0VfU1RSRUFNSU5HKVxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZVN0cmVhbWluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIGVuaGFuY2VkIGNoYXQgbW9uaXRvcmluZyBpcyBlbmFibGVkLiAoRU5IQU5DRURfQ0hBVF9NT05JVE9SSU5HKVxuICAgKi9cbiAgcmVhZG9ubHkgZW5oYW5jZWRDaGF0TW9uaXRvcmluZz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIGhpZ2ggdm9sdW1lIG91dGJvdW5kIGlzIGVuYWJsZWQuIChISUdIX1ZPTFVNRV9PVVRCT1VORClcbiAgICovXG4gIHJlYWRvbmx5IGhpZ2hWb2x1bWVPdXRCb3VuZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIGVuaGFuY2VkIGNvbnRhY3QgbW9uaXRvcmluZyBpcyBlbmFibGVkLiAoRU5IQU5DRURfQ09OVEFDVF9NT05JVE9SSU5HKVxuICAgKi9cbiAgcmVhZG9ubHkgZW5oYW5jZWRDb250YWN0TW9uaXRvcmluZz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGVsZXBob255Q29uZmlnUHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciBlYXJseSBtZWRpYSBpcyBlbmFibGVkIChFQVJMWV9NRURJQSlcbiAgICovXG4gIHJlYWRvbmx5IGVhcmx5TWVkaWFFbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgaW5ib3VuZCBjYWxscyBhcmUgYWxsb3dlZC4gKElOQk9VTkRfQ0FMTFMpXG4gICAqL1xuICByZWFkb25seSBpbmJvdW5kQ2FsbHM6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG11bHRpIHBhcnR5IGNoYXQgaXMgZW5hYmxlZC4gKE1VTFRJX1BBUlRZX0NIQVRfQ09ORkVSRU5DRSlcbiAgICovXG4gIHJlYWRvbmx5IG11bHRpUGFydHlDaGF0Q29uZmVyZW5jZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG11bHRpIHBhcnR5IGNvbmZlcmVuY2UgaXMgZW5hYmxlZC4gKE1VTFRJX1BBUlRZX0NPTkZFUkVOQ0UpXG4gICAqL1xuICByZWFkb25seSBtdWx0aVBhcnR5Q29uZmVyZW5jZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG91dGJvdW5kIGNhbGxzIGFyZSBhbGxvd2VkLiAoT1VUQk9VTkRfQ0FMTFMpXG4gICAqL1xuICByZWFkb25seSBvdXRib3VuZENhbGxzOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvbGx5Q29uZmlnUHJvcHMge1xuICAvKipcbiAgICogV2hldGhlciB0byBhdXRvbWF0aWNhbGx5IHJlc29sdmUgYmVzdCB2b2ljZXMuIChBVVRPX1JFU09MVkVfQkVTVF9WT0lDRVMpXG4gICAqL1xuICByZWFkb25seSBhdXRvUmVzb2x2ZUJlc3RWb2ljZXM/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciB1c2VDdXN0b21UdHNWb2ljZXMgaXMgZW5hYmxlZCAoVVNFX0NVU1RPTV9UVFNfVk9JQ0VTKVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlQ3VzdG9tVHRzVm9pY2VzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnN0YW5jZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBpZGVudGl0eSB0eXBlIGZvciB0aGlzIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgaWRlbnRpdHlUeXBlOiBJZGVudGl0eU1hbmFnZW1lbnRUeXBlO1xuICAvKipcbiAgICogVGhlIGluc3RhbmNlIGFsaWFzLCByZXF1aXJlZCB3aGVuIGlkZW50aXR5VHlwZSBpcyBzZXQgdG8gQ09OTkVDVF9NQU5BR0VEIG9yIFNBTUwuXG4gICAqL1xuICByZWFkb25seSBpbnN0YW5jZUFsaWFzPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGlkZW50aWZpZXIgb2YgYSBzaW1wbGVBRCBvciBNaWNyb3NvZnQgQUQgKF5kLVswLTlhLWZdezEwfSQpLCByZXF1aXJlZCB3aGVuIGlkZW50aXR5VHlwZSBpcyBzZXQgdG8gRVhJU1RJTkdfRElSRUNUT1JZLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlyZWN0b3J5SWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUZWxlcGhvbnkgcHJvcGVydGllcy4gIFJlcXVpcmVkIChkdWUgdG8gcmVxdWlyZWQgc2V0dGluZyBvZiBpbmJvdW5kICYgb3V0Ym91bmQgY2FsbCBjb25maWd1cmF0aW9uKVxuICAgKi9cbiAgcmVhZG9ubHkgdGVsZXBob255Q29uZmlnOiBUZWxlcGhvbnlDb25maWdQcm9wcztcbiAgLyoqXG4gICAqIFBvbGx5IGNvbmZpZ3VyYXRpb24gc2V0dGluZ3NcbiAgICovXG4gIHJlYWRvbmx5IHBvbGx5Q29uZmlnPzogUG9sbHlDb25maWdQcm9wcztcbiAgLyoqXG4gICAqIE90aGVyIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3NcbiAgICovXG4gIHJlYWRvbmx5IG90aGVyQ29uZmlnPzogT3RoZXJDb25maWdQcm9wcztcbiAgLyoqXG4gICAqIERlZmluZSBhbnkgb3RoZXIgaW5zdGFuY2UgYXR0cmlidXRlIGNvbmZpZyBoZXJlLlxuICAgKlxuICAgKiBjdXJyZW50bHkgdGhhdCBsaXN0IGlzIHRoZSBmb2xsb3dpbmc6XG4gICAqXG4gICAqIEFVVE9fTVVURV9BR0VOVF9PTl9IT0xEXG4gICAqIEFVVE9NQVRFRF9JTlRFUkFDVElPTl9MT0dcbiAgICogQk9UX01BTkFHRU1FTlRcbiAgICogRU5BQkxFX0JPVF9BTkFMWVRJQ1NfQU5EX1RSQU5TQ1JJUFRTXG4gICAqIEZPUkVDQVNUSU5HX1BMQU5OSU5HX1NDSEVEVUxJTkdcbiAgICogTUFYX1BBQ0tBR0VcbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbUF0dHJpYnV0ZXM/OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbiAgLyoqXG4gICAqIFN0b3JhZ2UgY29uZmlndXJhdGlvbnMgKGNhbiBhbHNvIHVzZSBhZGRTdG9yYWdlQ29uZmlnKCkgdG8gYWRkIGNvbmZpZ3MgbGF0ZXIpXG4gICAqL1xuICByZWFkb25seSBzdG9yYWdlQ29uZmlncz86IFN0b3JhZ2VDb25maWdbXTtcbiAgLyoqXG4gICAqIFNldCB0aGUgcmVtb3ZhbCBwb2xpY3kgZm9yIHRoZSBpbnN0YW5jZS4gdGhlIGRlZmF1bHQgaXMgUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeT86IFJlbW92YWxQb2xpY3k7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUluc3RhbmNlIGV4dGVuZHMgSVJlc291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VBcm46IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZSBpZGVudGlmaWVyLlxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VJZDogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGluc3RhbmNlIG5hbWUuICBNYXkgbm90IGFsd2F5cyBiZSBhdmFpbGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlTmFtZT86IHN0cmluZztcblxuICBhZGRTdG9yYWdlQ29uZmlnKGNvbmZpZzogU3RvcmFnZUNvbmZpZywgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCwgc2NvcGU6IENvbnN0cnVjdCB8IHVuZGVmaW5lZCk6IHZvaWQ7XG5cbiAgYXNzb2NpYXRlTGFtYmRhRnVuY3Rpb24oaWQ6IHN0cmluZywgZnVuYzogbGFtYmRhLklGdW5jdGlvbiwgc2NvcGU6IENvbnN0cnVjdCB8IHVuZGVmaW5lZCk6IHZvaWQ7XG5cbiAgYXNzb2NpYXRlTGV4Qm90KGlkOiBzdHJpbmcsIGJvdDogbGV4LklCb3RBbGlhc1JlZiwgc2NvcGU6IENvbnN0cnVjdCB8IHVuZGVmaW5lZCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5zdGFuY2VMb29rdXBPcHRpb25zIHtcbiAgLyoqXG4gICAqIHRoZSBJRCBvZiB0aGUgY29ubmVjdCBpbnN0YW5jZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VJZD86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBjb25uZWN0IGluc3RhbmNlIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZSBBcm5cbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlQXJuPzogc3RyaW5nO1xufVxuXG5hYnN0cmFjdCBjbGFzcyBJbnN0YW5jZUJhc2UgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElJbnN0YW5jZSB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBpbnN0YW5jZUFybjogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgaW5zdGFuY2VJZDogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgaW5zdGFuY2VOYW1lPzogc3RyaW5nO1xuXG4gIHByaXZhdGUgc3RvcmFnZVJlc291cmNlVHlwZXM6IFNldDxTdG9yYWdlUmVzb3VyY2VUeXBlPiA9IG5ldyBTZXQoKTtcbiAgcHJpdmF0ZSByZWFkb25seSByZW1vdmFsUG9saWN5PzogUmVtb3ZhbFBvbGljeTtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBSZXNvdXJjZVByb3BzLCByZW1vdmFsUG9saWN5PzogUmVtb3ZhbFBvbGljeSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICAgIHRoaXMucmVtb3ZhbFBvbGljeSA9IHJlbW92YWxQb2xpY3k7XG4gIH1cblxuICBhZGRTdG9yYWdlQ29uZmlnKGNvbmZpZzogU3RvcmFnZUNvbmZpZywgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCwgc2NvcGU6IENvbnN0cnVjdCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCkge1xuICAgIGlmICh0aGlzLnN0b3JhZ2VSZXNvdXJjZVR5cGVzLmhhcyhjb25maWcucmVzb3VyY2VUeXBlKSkge1xuICAgICAgQW5ub3RhdGlvbnMub2YodGhpcykuYWRkRXJyb3IoYER1cGxpY2F0ZSByZXNvdXJjZVR5cGUgJHtjb25maWcucmVzb3VyY2VUeXBlfSBpbiBzdG9yYWdlQ29uZmlnYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghY29uZmlnLmNoZWNrQ29uZmlnKCkpIHtcbiAgICAgIEFubm90YXRpb25zLm9mKHRoaXMpLmFkZEVycm9yKGBJbnZhbGlkIHN0b3JhZ2UgY29uZmlndXJhdGlvbiBmb3IgcmVzb3VyY2VUeXBlICR7Y29uZmlnLnJlc291cmNlVHlwZX0gYW5kIHN0b3JhZ2VUeXBlICR7Y29uZmlnLnN0b3JhZ2VUeXBlfWApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnN0b3JhZ2VSZXNvdXJjZVR5cGVzLmFkZChjb25maWcucmVzb3VyY2VUeXBlKTtcbiAgICBjb25zdCBzdG9yYWdlID0gbmV3IGNvbm5lY3QuQ2ZuSW5zdGFuY2VTdG9yYWdlQ29uZmlnKHNjb3BlIHx8IHRoaXMsIGlkIHx8IGBTdG9yYWdlQ29uZmlnLSR7Y29uZmlnLnJlc291cmNlVHlwZX1gLCBjb25maWcuYXNTdG9yYWdlQ29uZmlnUHJvcHModGhpcy5pbnN0YW5jZUFybikpO1xuICAgIHN0b3JhZ2UuYXBwbHlSZW1vdmFsUG9saWN5KGNvbmZpZy5yZW1vdmFsUG9saWN5LCB7IGRlZmF1bHQ6IHRoaXMucmVtb3ZhbFBvbGljeSB8fCBSZW1vdmFsUG9saWN5LkRFU1RST1kgfSk7XG4gIH1cblxuICBhc3NvY2lhdGVMYW1iZGFGdW5jdGlvbihpZDogc3RyaW5nLCBmdW5jOiBsYW1iZGEuSUZ1bmN0aW9uLCBzY29wZTogQ29uc3RydWN0IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKSB7XG4gICAgbmV3IGNvbm5lY3QuQ2ZuSW50ZWdyYXRpb25Bc3NvY2lhdGlvbihzY29wZSB8fCB0aGlzLCBpZCwge1xuICAgICAgaW5zdGFuY2VJZDogdGhpcy5pbnN0YW5jZUFybixcbiAgICAgIGludGVncmF0aW9uVHlwZTogJ0xBTUJEQV9GVU5DVElPTicsXG4gICAgICBpbnRlZ3JhdGlvbkFybjogZnVuYy5mdW5jdGlvbkFybixcbiAgICB9KTtcbiAgfVxuXG4gIGFzc29jaWF0ZUxleEJvdChpZDogc3RyaW5nLCBib3Q6IGxleC5JQm90QWxpYXNSZWYsIHNjb3BlOiBDb25zdHJ1Y3QgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQpIHtcbiAgICBuZXcgY29ubmVjdC5DZm5JbnRlZ3JhdGlvbkFzc29jaWF0aW9uKHNjb3BlIHx8IHRoaXMsIGlkLCB7XG4gICAgICBpbnN0YW5jZUlkOiB0aGlzLmluc3RhbmNlQXJuLFxuICAgICAgaW50ZWdyYXRpb25UeXBlOiAnTEVYX0JPVCcsXG4gICAgICBpbnRlZ3JhdGlvbkFybjogYm90LmJvdEFsaWFzUmVmLmJvdEFsaWFzQXJuLFxuICAgIH0pO1xuICB9XG59XG5cbmNsYXNzIExvb2tlZFVwSW5zdGFuY2UgZXh0ZW5kcyBJbnN0YW5jZUJhc2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VJZDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VBcm46IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGluc3RhbmNlTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgaW5jb21wbGV0ZURlZmluaXRpb246IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IGFueSwgaXNJbmNvbXBsZXRlOiBib29sZWFuKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICByZWdpb246IHByb3BzLnJlZ2lvbixcbiAgICAgIGFjY291bnQ6IHByb3BzLm93bmVyQWNjb3VudElkLFxuICAgIH0pO1xuXG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgdGhpcy5pbnN0YW5jZUlkID0gcHJvcHMuaW5zdGFuY2VJZDtcbiAgICB0aGlzLmluc3RhbmNlQXJuID0gcHJvcHMuaW5zdGFuY2VBcm47XG4gICAgdGhpcy5pbnN0YW5jZU5hbWUgPSBwcm9wcy5pbnN0YW5jZU5hbWU7XG4gICAgdGhpcy5pbmNvbXBsZXRlRGVmaW5pdGlvbiA9IGlzSW5jb21wbGV0ZTtcbiAgfVxufVxuXG5jb25zdCBEVU1NWV9JTlNUQU5DRV9QUk9QUyA9IHtcbiAgaW5zdGFuY2VBcm46ICdpbnN0YW5jZS1hcm4nLFxuICBpbnN0YW5jZUlkOiAnaW5zdGFuY2UtMTIzNDUnLFxufTtcblxuZXhwb3J0IGNsYXNzIEluc3RhbmNlIGV4dGVuZHMgSW5zdGFuY2VCYXNlIHtcbiAgcHVibGljIHN0YXRpYyBmcm9tTG9va3VwKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdGlvbnM6IEluc3RhbmNlTG9va3VwT3B0aW9ucyk6IElJbnN0YW5jZSB7XG4gICAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZChvcHRpb25zLmluc3RhbmNlSWQpXG4gICAgICAgIHx8IFRva2VuLmlzVW5yZXNvbHZlZChvcHRpb25zLmluc3RhbmNlTmFtZSlcbiAgICAgICAgfHwgVG9rZW4uaXNVbnJlc29sdmVkKG9wdGlvbnMuaW5zdGFuY2VBcm4pKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGxpdGBBcmd1bWVudHNgLCAnQWxsIGFyZ3VtZW50cyB0byBJbnN0YW5jZS5mcm9tTG9va3VwKCkgbXVzdCBiZSBjb25jcmV0ZSAobm8gVG9rZW5zKScsIHNjb3BlKTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWx0ZXI6IGFueSA9IHt9O1xuXG4gICAgaWYgKG9wdGlvbnMuaW5zdGFuY2VBcm4pIHtcbiAgICAgIGZpbHRlci5leGFjdElkZW50aWZpZXIgPSBvcHRpb25zLmluc3RhbmNlQXJuO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmluc3RhbmNlSWQpIHtcbiAgICAgIGZpbHRlci5wcm9wZXJ0eU1hdGNoIHx8PSB7fTtcbiAgICAgIGZpbHRlci5wcm9wZXJ0eU1hdGNoLklkID0gb3B0aW9ucy5pbnN0YW5jZUlkO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5pbnN0YW5jZU5hbWUpIHtcbiAgICAgIGZpbHRlci5wcm9wZXJ0eU1hdGNoIHx8PSB7fTtcbiAgICAgIGZpbHRlci5wcm9wZXJ0eU1hdGNoLkluc3RhbmNlQWxpYXMgPSBvcHRpb25zLmluc3RhbmNlTmFtZTtcbiAgICB9XG5cbiAgICBjb25zdCByZXNwb25zZSA6IHsgW2tleTogc3RyaW5nXTogYW55IH1bXSA9IENvbnRleHRQcm92aWRlci5nZXRWYWx1ZShzY29wZSwge1xuICAgICAgcHJvdmlkZXI6IGN4c2NoZW1hLkNvbnRleHRQcm92aWRlci5DQ19BUElfUFJPVklERVIsXG4gICAgICBwcm9wczoge1xuICAgICAgICB0eXBlTmFtZTogJ0FXUzo6Q29ubmVjdDo6SW5zdGFuY2UnLFxuICAgICAgICAuLi5maWx0ZXIsXG4gICAgICAgIHByb3BlcnRpZXNUb1JldHVybjogWydBcm4nLCAnSW5zdGFuY2VBbGlhcycsICdJZCddLFxuICAgICAgICBleHBlY3RlZE1hdGNoQ291bnQ6ICdleGFjdGx5LW9uZScsXG4gICAgICB9IGFzIGN4c2NoZW1hLkNjQXBpQ29udGV4dFF1ZXJ5LFxuICAgICAgZHVtbXlWYWx1ZTogdW5kZWZpbmVkLFxuICAgIH0pLnZhbHVlO1xuXG4gICAgbGV0IGluc3RhbmNlID0gdW5kZWZpbmVkO1xuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZVswXSkge1xuICAgICAgaW5zdGFuY2UgPSB7XG4gICAgICAgIGluc3RhbmNlQXJuOiByZXNwb25zZVswXS5Bcm4sXG4gICAgICAgIGluc3RhbmNlSWQ6IHJlc3BvbnNlWzBdLklkLFxuICAgICAgICBpbnN0YW5jZU5hbWU6IHJlc3BvbnNlWzBdLkluc3RhbmNlQWxpYXMsXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gbmV3IExvb2tlZFVwSW5zdGFuY2Uoc2NvcGUsIGlkLCBpbnN0YW5jZSA/PyBEVU1NWV9JTlNUQU5DRV9QUk9QUywgaW5zdGFuY2UgPT09IHVuZGVmaW5lZCk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlOiBjb25uZWN0LkNmbkluc3RhbmNlO1xuICByZWFkb25seSBpbnN0YW5jZU5hbWU/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEluc3RhbmNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHVuZGVmaW5lZCwgcHJvcHMucmVtb3ZhbFBvbGljeSk7XG5cbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICBjb25zdCBhdHRyaWJ1dGVzID0ge1xuICAgICAgLi4ucHJvcHMudGVsZXBob255Q29uZmlnLFxuICAgICAgLi4ucHJvcHMucG9sbHlDb25maWcsXG4gICAgICAuLi5wcm9wcy5vdGhlckNvbmZpZyxcbiAgICB9O1xuXG4gICAgaWYgKHByb3BzLmlkZW50aXR5VHlwZSA9PT0gSWRlbnRpdHlNYW5hZ2VtZW50VHlwZS5FWElTVElOR19ESVJFQ1RPUlkgJiYgIXByb3BzLmRpcmVjdG9yeUlkKSB7XG4gICAgICBBbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRFcnJvcignZGlyZWN0b3J5SWQgaXMgcmVxdWlyZWQgd2hlbiBpZGVudGl0eVR5cGUgaXMgc2V0IHRvIEVYSVNUSU5HX0RJUkVDVE9SWScpO1xuICAgIH1cbiAgICBpZiAocHJvcHMuaWRlbnRpdHlUeXBlICE9PSBJZGVudGl0eU1hbmFnZW1lbnRUeXBlLkVYSVNUSU5HX0RJUkVDVE9SWSAmJiAhcHJvcHMuaW5zdGFuY2VBbGlhcykge1xuICAgICAgQW5ub3RhdGlvbnMub2YodGhpcykuYWRkRXJyb3IoJ2luc3RhbmNlQWxpYXMgaXMgcmVxdWlyZWQgd2hlbiBpZGVudGl0eVR5cGUgaXMgc2V0IHRvIENPTk5FQ1RfTUFOQUdFRCBvciBTQU1MJyk7XG4gICAgfVxuXG4gICAgdGhpcy5pbnN0YW5jZU5hbWUgPSBwcm9wcy5pbnN0YW5jZUFsaWFzO1xuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgY29ubmVjdC5DZm5JbnN0YW5jZSh0aGlzLCAnSW5zdGFuY2UnLCB7XG4gICAgICBhdHRyaWJ1dGVzLFxuICAgICAgaWRlbnRpdHlNYW5hZ2VtZW50VHlwZTogcHJvcHMuaWRlbnRpdHlUeXBlLFxuICAgICAgaW5zdGFuY2VBbGlhczogcHJvcHMuaW5zdGFuY2VBbGlhcyxcbiAgICB9KTtcbiAgICB0aGlzLnJlc291cmNlLmFwcGx5UmVtb3ZhbFBvbGljeShwcm9wcy5yZW1vdmFsUG9saWN5LCB7IGRlZmF1bHQ6IFJlbW92YWxQb2xpY3kuREVTVFJPWSB9KTtcblxuICAgIGlmIChwcm9wcy5zdG9yYWdlQ29uZmlncykge1xuICAgICAgZm9yIChjb25zdCBjb25maWcgb2YgcHJvcHMuc3RvcmFnZUNvbmZpZ3MpIHtcbiAgICAgICAgdGhpcy5hZGRTdG9yYWdlQ29uZmlnKGNvbmZpZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLmN1c3RvbUF0dHJpYnV0ZXMgJiYgT2JqZWN0LmtleXMocHJvcHMuY3VzdG9tQXR0cmlidXRlcykubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5zZXR1cEN1c3RvbUF0dHJpYnV0ZXMocHJvcHMuY3VzdG9tQXR0cmlidXRlcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEN1c3RvbUF0dHJpYnV0ZXMoY3VzdG9tQXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4pIHtcbiAgICBuZXcgVXBkYXRlSW5zdGFuY2VBdHRyaWJ1dGVzKHRoaXMsICdVcGRhdGVDdXN0b21BdHRyaWJ1dGVzJywgdGhpcywgY3VzdG9tQXR0cmlidXRlcyk7XG4gIH1cblxuICBnZXQgaW5zdGFuY2VBcm4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZS5hdHRyQXJuO1xuICB9XG5cbiAgZ2V0IGluc3RhbmNlSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZS5yZWY7XG4gIH1cbn1cblxuY2xhc3MgVXBkYXRlSW5zdGFuY2VBdHRyaWJ1dGVzIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgQ1VTVE9NX0FUVFJJQlVURVNfRlVOQ1RJT05fVVVJRCA9ICdjYjJmNmI1Yy1mMGFhLTExZjAtYWMxMC01YjQ4NDgyNzE0NWMnO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGluc3RhbmNlOiBJSW5zdGFuY2UsIGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHNldHVwRnVuYyA9IG5ldyBsYW1iZGEuU2luZ2xldG9uRnVuY3Rpb24odGhpcywgJ0N1c3RvbUF0dHJpYnV0ZUZ1bmMnLCB7XG4gICAgICB1dWlkOiBVcGRhdGVJbnN0YW5jZUF0dHJpYnV0ZXMuQ1VTVE9NX0FUVFJJQlVURVNfRlVOQ1RJT05fVVVJRCxcbiAgICAgIGxhbWJkYVB1cnBvc2U6ICdDdXN0b21BdHRyaWJ1dGVTZXR1cCcsXG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5QWVRIT05fM18xMixcbiAgICAgIGhhbmRsZXI6ICdhcHAub25fZXZlbnQnLFxuICAgICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbUFzc2V0KHBhdGguam9pbihfX2Rpcm5hbWUsICcuLicsICdsYW1iZGFzJywgJ2luc3RhbmNlX2F0dHJpYnV0ZXMnKSksXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgIH0pO1xuXG4gICAgY29uc3QgZ3JvdXAgPSBuZXcgbG9ncy5Mb2dHcm91cCh0aGlzLCAnQ3VzdG9tQXR0cmlidXRlTG9nR3JvdXAnLCB7XG4gICAgICByZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfREFZLFxuICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcHJvdmlkZXIgPSBuZXcgY3IuUHJvdmlkZXIodGhpcywgJ0N1c3RvbUF0dHJpYnV0ZVByb3ZpZGVyJywge1xuICAgICAgb25FdmVudEhhbmRsZXI6IHNldHVwRnVuYyxcbiAgICAgIGxvZ0dyb3VwOiBncm91cCxcbiAgICB9KTtcblxuICAgIHNldHVwRnVuYy5hZGRUb1JvbGVQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgYWN0aW9uczogWydjb25uZWN0OlVwZGF0ZUluc3RhbmNlQXR0cmlidXRlJ10sXG4gICAgICByZXNvdXJjZXM6IFtpbnN0YW5jZS5pbnN0YW5jZUFybl0sXG4gICAgfSkpO1xuICAgIHNldHVwRnVuYy5hZGRUb1JvbGVQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgYWN0aW9uczogW1xuICAgICAgICAnaWFtOkRlbGV0ZVJvbGVQb2xpY3knLFxuICAgICAgICAnaWFtOlB1dFJvbGVQb2xpY3knLFxuICAgICAgXSxcbiAgICAgIHJlc291cmNlczogW1xuICAgICAgICBGbi5zdWIoJ2Fybjoke0FXUzo6UGFydGl0aW9ufTppYW06OiR7QVdTOjpBY2NvdW50SWR9OnJvbGUvYXdzLXNlcnZpY2Utcm9sZS9jb25uZWN0LmFtYXpvbmF3cy5jb20vKicpLFxuICAgICAgXSxcbiAgICB9KSk7XG5cbiAgICBuZXcgQ3VzdG9tUmVzb3VyY2UodGhpcywgJ1NldHVwQ3VzdG9tQXR0cmlidXRlcycsIHtcbiAgICAgIHJlc291cmNlVHlwZTogJ0N1c3RvbTo6Q29ubmVjdEluc3RhbmNlQ3VzdG9tQXR0cmlidXRlcycsXG4gICAgICBzZXJ2aWNlVG9rZW46IHByb3ZpZGVyLnNlcnZpY2VUb2tlbixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgSW5zdGFuY2VJZDogaW5zdGFuY2UuaW5zdGFuY2VJZCxcbiAgICAgICAgQ3VzdG9tQXR0cmlidXRlczogYXR0cmlidXRlcyxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn0iXX0=
@@ -15,7 +15,7 @@ var PhoneNumberType;
15
15
  PhoneNumberType["SHORT_CODE"] = "SHORT_CODE";
16
16
  })(PhoneNumberType || (exports.PhoneNumberType = PhoneNumberType = {}));
17
17
  class PhoneNumber extends aws_cdk_lib_1.Resource {
18
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.PhoneNumber", version: "0.2.6" };
18
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.PhoneNumber", version: "0.2.8" };
19
19
  resource;
20
20
  constructor(scope, id, props) {
21
21
  super(scope, id);
package/lib/queue.js CHANGED
@@ -45,7 +45,7 @@ var QueueStatus;
45
45
  QueueStatus["DISABLED"] = "DISABLED";
46
46
  })(QueueStatus || (exports.QueueStatus = QueueStatus = {}));
47
47
  class Queue extends aws_cdk_lib_1.Resource {
48
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.Queue", version: "0.2.6" };
48
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.Queue", version: "0.2.8" };
49
49
  static fromLookup(scope, id, options) {
50
50
  if (aws_cdk_lib_1.Token.isUnresolved(options.name)
51
51
  || aws_cdk_lib_1.Token.isUnresolved(options.instanceArn)
@@ -51,7 +51,7 @@ const DUMMY_QUICK_CONNECT_PROPS = {
51
51
  name: 'quick-connect-name',
52
52
  };
53
53
  class QuickConnect extends aws_cdk_lib_1.Resource {
54
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.QuickConnect", version: "0.2.6" };
54
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.QuickConnect", version: "0.2.8" };
55
55
  static fromLookup(scope, id, options) {
56
56
  if (aws_cdk_lib_1.Token.isUnresolved(options.name)
57
57
  || aws_cdk_lib_1.Token.isUnresolved(options.instanceArn)
@@ -54,7 +54,7 @@ const DUMMY_ROUTING_PROFILE_PROPS = {
54
54
  routingProfileArn: 'routing-profile-arn',
55
55
  };
56
56
  class RoutingProfile extends aws_cdk_lib_1.Resource {
57
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.RoutingProfile", version: "0.2.6" };
57
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.RoutingProfile", version: "0.2.8" };
58
58
  static fromLookup(scope, id, options) {
59
59
  if (aws_cdk_lib_1.Token.isUnresolved(options.name)
60
60
  || aws_cdk_lib_1.Token.isUnresolved(options.instanceArn)
@@ -40,7 +40,7 @@ const cxschema = __importStar(require("aws-cdk-lib/cloud-assembly-schema"));
40
40
  const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
41
41
  const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
42
42
  class SecurityProfile extends aws_cdk_lib_1.Resource {
43
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.SecurityProfile", version: "0.2.6" };
43
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.SecurityProfile", version: "0.2.8" };
44
44
  static fromLookup(scope, id, options) {
45
45
  if (aws_cdk_lib_1.Token.isUnresolved(options.securityProfileName)
46
46
  || aws_cdk_lib_1.Token.isUnresolved(options.instanceArn)
@@ -41,7 +41,7 @@ var StorageConfigType;
41
41
  StorageConfigType["KINESIS_FIREHOSE"] = "KINESIS_FIREHOSE";
42
42
  })(StorageConfigType || (exports.StorageConfigType = StorageConfigType = {}));
43
43
  class StorageConfig {
44
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.StorageConfig", version: "0.2.6" };
44
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.StorageConfig", version: "0.2.8" };
45
45
  static buildS3(resourceType, props) {
46
46
  return new StorageConfig({
47
47
  resourceType,
@@ -5,7 +5,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
5
5
  const aws_cdk_lib_1 = require("aws-cdk-lib");
6
6
  const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
7
7
  class TrafficDistributionGroup extends aws_cdk_lib_1.Resource {
8
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.TrafficDistributionGroup", version: "0.2.6" };
8
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.TrafficDistributionGroup", version: "0.2.8" };
9
9
  resource;
10
10
  constructor(scope, id, props) {
11
11
  super(scope, id);
package/lib/user.js CHANGED
@@ -50,7 +50,7 @@ const DUMMY_USER_PROPS = {
50
50
  username: 'user-name',
51
51
  };
52
52
  class User extends aws_cdk_lib_1.Resource {
53
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.User", version: "0.2.6" };
53
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@netforbpo/aws-cdk-aws-connect-lib.User", version: "0.2.8" };
54
54
  static fromLookup(scope, id, options) {
55
55
  if (aws_cdk_lib_1.Token.isUnresolved(options.username)
56
56
  || aws_cdk_lib_1.Token.isUnresolved(options.instanceArn)
package/package.json CHANGED
@@ -80,7 +80,7 @@
80
80
  "publishConfig": {
81
81
  "access": "public"
82
82
  },
83
- "version": "0.2.6",
83
+ "version": "0.2.8",
84
84
  "packageManager": "yarn@1.22.22",
85
85
  "types": "lib/index.d.ts",
86
86
  "jsii": {