@pwrdrvr/microapps-cdk 1.2.0-beta.5 → 1.2.0-beta.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 +5169 -280
- package/API.md +277 -25
- package/lib/MicroApps.js +1 -1
- package/lib/MicroAppsCF.d.ts +2 -2
- package/lib/MicroAppsCF.js +2 -2
- package/lib/MicroAppsChildDeployer.js +8 -3
- package/lib/MicroAppsEdgeToOrigin.js +16 -9
- package/lib/MicroAppsS3.d.ts +4 -5
- package/lib/MicroAppsS3.js +4 -4
- package/lib/MicroAppsSvcs.js +8 -3
- package/lib/MicroAppsTable.js +1 -1
- package/lib/microapps-deployer/index.js +95 -125
- package/lib/microapps-deployer/index.js.map +4 -4
- package/lib/microapps-edge-to-origin/index.js +96 -79
- package/lib/microapps-edge-to-origin/index.js.map +4 -4
- package/lib/microapps-router/index.js +88 -71
- package/lib/microapps-router/index.js.map +4 -4
- package/package.json +8 -8
package/API.md
CHANGED
|
@@ -57,6 +57,7 @@ new MicroApps(scope: Construct, id: string, props?: MicroAppsProps)
|
|
|
57
57
|
| **Name** | **Description** |
|
|
58
58
|
| --- | --- |
|
|
59
59
|
| <code><a href="#@pwrdrvr/microapps-cdk.MicroApps.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
60
|
+
| <code><a href="#@pwrdrvr/microapps-cdk.MicroApps.with">with</a></code> | Applies one or more mixins to this construct. |
|
|
60
61
|
|
|
61
62
|
---
|
|
62
63
|
|
|
@@ -68,6 +69,27 @@ public toString(): string
|
|
|
68
69
|
|
|
69
70
|
Returns a string representation of this construct.
|
|
70
71
|
|
|
72
|
+
##### `with` <a name="with" id="@pwrdrvr/microapps-cdk.MicroApps.with"></a>
|
|
73
|
+
|
|
74
|
+
```typescript
|
|
75
|
+
public with(mixins: ...IMixin[]): IConstruct
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Applies one or more mixins to this construct.
|
|
79
|
+
|
|
80
|
+
Mixins are applied in order. The list of constructs is captured at the
|
|
81
|
+
start of the call, so constructs added by a mixin will not be visited.
|
|
82
|
+
Use multiple `with()` calls if subsequent mixins should apply to added
|
|
83
|
+
constructs.
|
|
84
|
+
|
|
85
|
+
###### `mixins`<sup>Required</sup> <a name="mixins" id="@pwrdrvr/microapps-cdk.MicroApps.with.parameter.mixins"></a>
|
|
86
|
+
|
|
87
|
+
- *Type:* ...constructs.IMixin[]
|
|
88
|
+
|
|
89
|
+
The mixins to apply.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
71
93
|
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
72
94
|
|
|
73
95
|
| **Name** | **Description** |
|
|
@@ -76,7 +98,7 @@ Returns a string representation of this construct.
|
|
|
76
98
|
|
|
77
99
|
---
|
|
78
100
|
|
|
79
|
-
#####
|
|
101
|
+
##### `isConstruct` <a name="isConstruct" id="@pwrdrvr/microapps-cdk.MicroApps.isConstruct"></a>
|
|
80
102
|
|
|
81
103
|
```typescript
|
|
82
104
|
import { MicroApps } from '@pwrdrvr/microapps-cdk'
|
|
@@ -86,6 +108,20 @@ MicroApps.isConstruct(x: any)
|
|
|
86
108
|
|
|
87
109
|
Checks if `x` is a construct.
|
|
88
110
|
|
|
111
|
+
Use this method instead of `instanceof` to properly detect `Construct`
|
|
112
|
+
instances, even when the construct library is symlinked.
|
|
113
|
+
|
|
114
|
+
Explanation: in JavaScript, multiple copies of the `constructs` library on
|
|
115
|
+
disk are seen as independent, completely different libraries. As a
|
|
116
|
+
consequence, the class `Construct` in each copy of the `constructs` library
|
|
117
|
+
is seen as a different class, and an instance of one class will not test as
|
|
118
|
+
`instanceof` the other class. `npm install` will not create installations
|
|
119
|
+
like this, but users may manually symlink construct libraries together or
|
|
120
|
+
use a monorepo tool: in those cases, multiple copies of the `constructs`
|
|
121
|
+
library can be accidentally installed, and `instanceof` will behave
|
|
122
|
+
unpredictably. It is safest to avoid using `instanceof`, and using
|
|
123
|
+
this type-testing method instead.
|
|
124
|
+
|
|
89
125
|
###### `x`<sup>Required</sup> <a name="x" id="@pwrdrvr/microapps-cdk.MicroApps.isConstruct.parameter.x"></a>
|
|
90
126
|
|
|
91
127
|
- *Type:* any
|
|
@@ -212,6 +248,7 @@ new MicroAppsCF(scope: Construct, id: string, props: MicroAppsCFProps)
|
|
|
212
248
|
| **Name** | **Description** |
|
|
213
249
|
| --- | --- |
|
|
214
250
|
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCF.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
251
|
+
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCF.with">with</a></code> | Applies one or more mixins to this construct. |
|
|
215
252
|
|
|
216
253
|
---
|
|
217
254
|
|
|
@@ -223,6 +260,27 @@ public toString(): string
|
|
|
223
260
|
|
|
224
261
|
Returns a string representation of this construct.
|
|
225
262
|
|
|
263
|
+
##### `with` <a name="with" id="@pwrdrvr/microapps-cdk.MicroAppsCF.with"></a>
|
|
264
|
+
|
|
265
|
+
```typescript
|
|
266
|
+
public with(mixins: ...IMixin[]): IConstruct
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
Applies one or more mixins to this construct.
|
|
270
|
+
|
|
271
|
+
Mixins are applied in order. The list of constructs is captured at the
|
|
272
|
+
start of the call, so constructs added by a mixin will not be visited.
|
|
273
|
+
Use multiple `with()` calls if subsequent mixins should apply to added
|
|
274
|
+
constructs.
|
|
275
|
+
|
|
276
|
+
###### `mixins`<sup>Required</sup> <a name="mixins" id="@pwrdrvr/microapps-cdk.MicroAppsCF.with.parameter.mixins"></a>
|
|
277
|
+
|
|
278
|
+
- *Type:* ...constructs.IMixin[]
|
|
279
|
+
|
|
280
|
+
The mixins to apply.
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
226
284
|
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
227
285
|
|
|
228
286
|
| **Name** | **Description** |
|
|
@@ -233,7 +291,7 @@ Returns a string representation of this construct.
|
|
|
233
291
|
|
|
234
292
|
---
|
|
235
293
|
|
|
236
|
-
#####
|
|
294
|
+
##### `isConstruct` <a name="isConstruct" id="@pwrdrvr/microapps-cdk.MicroAppsCF.isConstruct"></a>
|
|
237
295
|
|
|
238
296
|
```typescript
|
|
239
297
|
import { MicroAppsCF } from '@pwrdrvr/microapps-cdk'
|
|
@@ -243,6 +301,20 @@ MicroAppsCF.isConstruct(x: any)
|
|
|
243
301
|
|
|
244
302
|
Checks if `x` is a construct.
|
|
245
303
|
|
|
304
|
+
Use this method instead of `instanceof` to properly detect `Construct`
|
|
305
|
+
instances, even when the construct library is symlinked.
|
|
306
|
+
|
|
307
|
+
Explanation: in JavaScript, multiple copies of the `constructs` library on
|
|
308
|
+
disk are seen as independent, completely different libraries. As a
|
|
309
|
+
consequence, the class `Construct` in each copy of the `constructs` library
|
|
310
|
+
is seen as a different class, and an instance of one class will not test as
|
|
311
|
+
`instanceof` the other class. `npm install` will not create installations
|
|
312
|
+
like this, but users may manually symlink construct libraries together or
|
|
313
|
+
use a monorepo tool: in those cases, multiple copies of the `constructs`
|
|
314
|
+
library can be accidentally installed, and `instanceof` will behave
|
|
315
|
+
unpredictably. It is safest to avoid using `instanceof`, and using
|
|
316
|
+
this type-testing method instead.
|
|
317
|
+
|
|
246
318
|
###### `x`<sup>Required</sup> <a name="x" id="@pwrdrvr/microapps-cdk.MicroAppsCF.isConstruct.parameter.x"></a>
|
|
247
319
|
|
|
248
320
|
- *Type:* any
|
|
@@ -381,6 +453,7 @@ new MicroAppsChildDeployer(scope: Construct, id: string, props?: MicroAppsChildD
|
|
|
381
453
|
| **Name** | **Description** |
|
|
382
454
|
| --- | --- |
|
|
383
455
|
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
456
|
+
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.with">with</a></code> | Applies one or more mixins to this construct. |
|
|
384
457
|
|
|
385
458
|
---
|
|
386
459
|
|
|
@@ -392,6 +465,27 @@ public toString(): string
|
|
|
392
465
|
|
|
393
466
|
Returns a string representation of this construct.
|
|
394
467
|
|
|
468
|
+
##### `with` <a name="with" id="@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.with"></a>
|
|
469
|
+
|
|
470
|
+
```typescript
|
|
471
|
+
public with(mixins: ...IMixin[]): IConstruct
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
Applies one or more mixins to this construct.
|
|
475
|
+
|
|
476
|
+
Mixins are applied in order. The list of constructs is captured at the
|
|
477
|
+
start of the call, so constructs added by a mixin will not be visited.
|
|
478
|
+
Use multiple `with()` calls if subsequent mixins should apply to added
|
|
479
|
+
constructs.
|
|
480
|
+
|
|
481
|
+
###### `mixins`<sup>Required</sup> <a name="mixins" id="@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.with.parameter.mixins"></a>
|
|
482
|
+
|
|
483
|
+
- *Type:* ...constructs.IMixin[]
|
|
484
|
+
|
|
485
|
+
The mixins to apply.
|
|
486
|
+
|
|
487
|
+
---
|
|
488
|
+
|
|
395
489
|
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
396
490
|
|
|
397
491
|
| **Name** | **Description** |
|
|
@@ -400,7 +494,7 @@ Returns a string representation of this construct.
|
|
|
400
494
|
|
|
401
495
|
---
|
|
402
496
|
|
|
403
|
-
#####
|
|
497
|
+
##### `isConstruct` <a name="isConstruct" id="@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.isConstruct"></a>
|
|
404
498
|
|
|
405
499
|
```typescript
|
|
406
500
|
import { MicroAppsChildDeployer } from '@pwrdrvr/microapps-cdk'
|
|
@@ -410,6 +504,20 @@ MicroAppsChildDeployer.isConstruct(x: any)
|
|
|
410
504
|
|
|
411
505
|
Checks if `x` is a construct.
|
|
412
506
|
|
|
507
|
+
Use this method instead of `instanceof` to properly detect `Construct`
|
|
508
|
+
instances, even when the construct library is symlinked.
|
|
509
|
+
|
|
510
|
+
Explanation: in JavaScript, multiple copies of the `constructs` library on
|
|
511
|
+
disk are seen as independent, completely different libraries. As a
|
|
512
|
+
consequence, the class `Construct` in each copy of the `constructs` library
|
|
513
|
+
is seen as a different class, and an instance of one class will not test as
|
|
514
|
+
`instanceof` the other class. `npm install` will not create installations
|
|
515
|
+
like this, but users may manually symlink construct libraries together or
|
|
516
|
+
use a monorepo tool: in those cases, multiple copies of the `constructs`
|
|
517
|
+
library can be accidentally installed, and `instanceof` will behave
|
|
518
|
+
unpredictably. It is safest to avoid using `instanceof`, and using
|
|
519
|
+
this type-testing method instead.
|
|
520
|
+
|
|
413
521
|
###### `x`<sup>Required</sup> <a name="x" id="@pwrdrvr/microapps-cdk.MicroAppsChildDeployer.isConstruct.parameter.x"></a>
|
|
414
522
|
|
|
415
523
|
- *Type:* any
|
|
@@ -497,6 +605,7 @@ new MicroAppsEdgeToOrigin(scope: Construct, id: string, props: MicroAppsEdgeToOr
|
|
|
497
605
|
| **Name** | **Description** |
|
|
498
606
|
| --- | --- |
|
|
499
607
|
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
608
|
+
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.with">with</a></code> | Applies one or more mixins to this construct. |
|
|
500
609
|
|
|
501
610
|
---
|
|
502
611
|
|
|
@@ -508,6 +617,27 @@ public toString(): string
|
|
|
508
617
|
|
|
509
618
|
Returns a string representation of this construct.
|
|
510
619
|
|
|
620
|
+
##### `with` <a name="with" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.with"></a>
|
|
621
|
+
|
|
622
|
+
```typescript
|
|
623
|
+
public with(mixins: ...IMixin[]): IConstruct
|
|
624
|
+
```
|
|
625
|
+
|
|
626
|
+
Applies one or more mixins to this construct.
|
|
627
|
+
|
|
628
|
+
Mixins are applied in order. The list of constructs is captured at the
|
|
629
|
+
start of the call, so constructs added by a mixin will not be visited.
|
|
630
|
+
Use multiple `with()` calls if subsequent mixins should apply to added
|
|
631
|
+
constructs.
|
|
632
|
+
|
|
633
|
+
###### `mixins`<sup>Required</sup> <a name="mixins" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.with.parameter.mixins"></a>
|
|
634
|
+
|
|
635
|
+
- *Type:* ...constructs.IMixin[]
|
|
636
|
+
|
|
637
|
+
The mixins to apply.
|
|
638
|
+
|
|
639
|
+
---
|
|
640
|
+
|
|
511
641
|
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
512
642
|
|
|
513
643
|
| **Name** | **Description** |
|
|
@@ -517,7 +647,7 @@ Returns a string representation of this construct.
|
|
|
517
647
|
|
|
518
648
|
---
|
|
519
649
|
|
|
520
|
-
#####
|
|
650
|
+
##### `isConstruct` <a name="isConstruct" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.isConstruct"></a>
|
|
521
651
|
|
|
522
652
|
```typescript
|
|
523
653
|
import { MicroAppsEdgeToOrigin } from '@pwrdrvr/microapps-cdk'
|
|
@@ -527,6 +657,20 @@ MicroAppsEdgeToOrigin.isConstruct(x: any)
|
|
|
527
657
|
|
|
528
658
|
Checks if `x` is a construct.
|
|
529
659
|
|
|
660
|
+
Use this method instead of `instanceof` to properly detect `Construct`
|
|
661
|
+
instances, even when the construct library is symlinked.
|
|
662
|
+
|
|
663
|
+
Explanation: in JavaScript, multiple copies of the `constructs` library on
|
|
664
|
+
disk are seen as independent, completely different libraries. As a
|
|
665
|
+
consequence, the class `Construct` in each copy of the `constructs` library
|
|
666
|
+
is seen as a different class, and an instance of one class will not test as
|
|
667
|
+
`instanceof` the other class. `npm install` will not create installations
|
|
668
|
+
like this, but users may manually symlink construct libraries together or
|
|
669
|
+
use a monorepo tool: in those cases, multiple copies of the `constructs`
|
|
670
|
+
library can be accidentally installed, and `instanceof` will behave
|
|
671
|
+
unpredictably. It is safest to avoid using `instanceof`, and using
|
|
672
|
+
this type-testing method instead.
|
|
673
|
+
|
|
530
674
|
###### `x`<sup>Required</sup> <a name="x" id="@pwrdrvr/microapps-cdk.MicroAppsEdgeToOrigin.isConstruct.parameter.x"></a>
|
|
531
675
|
|
|
532
676
|
- *Type:* any
|
|
@@ -661,6 +805,7 @@ new MicroAppsS3(scope: Construct, id: string, props?: MicroAppsS3Props)
|
|
|
661
805
|
| **Name** | **Description** |
|
|
662
806
|
| --- | --- |
|
|
663
807
|
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
808
|
+
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3.with">with</a></code> | Applies one or more mixins to this construct. |
|
|
664
809
|
|
|
665
810
|
---
|
|
666
811
|
|
|
@@ -672,6 +817,27 @@ public toString(): string
|
|
|
672
817
|
|
|
673
818
|
Returns a string representation of this construct.
|
|
674
819
|
|
|
820
|
+
##### `with` <a name="with" id="@pwrdrvr/microapps-cdk.MicroAppsS3.with"></a>
|
|
821
|
+
|
|
822
|
+
```typescript
|
|
823
|
+
public with(mixins: ...IMixin[]): IConstruct
|
|
824
|
+
```
|
|
825
|
+
|
|
826
|
+
Applies one or more mixins to this construct.
|
|
827
|
+
|
|
828
|
+
Mixins are applied in order. The list of constructs is captured at the
|
|
829
|
+
start of the call, so constructs added by a mixin will not be visited.
|
|
830
|
+
Use multiple `with()` calls if subsequent mixins should apply to added
|
|
831
|
+
constructs.
|
|
832
|
+
|
|
833
|
+
###### `mixins`<sup>Required</sup> <a name="mixins" id="@pwrdrvr/microapps-cdk.MicroAppsS3.with.parameter.mixins"></a>
|
|
834
|
+
|
|
835
|
+
- *Type:* ...constructs.IMixin[]
|
|
836
|
+
|
|
837
|
+
The mixins to apply.
|
|
838
|
+
|
|
839
|
+
---
|
|
840
|
+
|
|
675
841
|
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
676
842
|
|
|
677
843
|
| **Name** | **Description** |
|
|
@@ -680,7 +846,7 @@ Returns a string representation of this construct.
|
|
|
680
846
|
|
|
681
847
|
---
|
|
682
848
|
|
|
683
|
-
#####
|
|
849
|
+
##### `isConstruct` <a name="isConstruct" id="@pwrdrvr/microapps-cdk.MicroAppsS3.isConstruct"></a>
|
|
684
850
|
|
|
685
851
|
```typescript
|
|
686
852
|
import { MicroAppsS3 } from '@pwrdrvr/microapps-cdk'
|
|
@@ -690,6 +856,20 @@ MicroAppsS3.isConstruct(x: any)
|
|
|
690
856
|
|
|
691
857
|
Checks if `x` is a construct.
|
|
692
858
|
|
|
859
|
+
Use this method instead of `instanceof` to properly detect `Construct`
|
|
860
|
+
instances, even when the construct library is symlinked.
|
|
861
|
+
|
|
862
|
+
Explanation: in JavaScript, multiple copies of the `constructs` library on
|
|
863
|
+
disk are seen as independent, completely different libraries. As a
|
|
864
|
+
consequence, the class `Construct` in each copy of the `constructs` library
|
|
865
|
+
is seen as a different class, and an instance of one class will not test as
|
|
866
|
+
`instanceof` the other class. `npm install` will not create installations
|
|
867
|
+
like this, but users may manually symlink construct libraries together or
|
|
868
|
+
use a monorepo tool: in those cases, multiple copies of the `constructs`
|
|
869
|
+
library can be accidentally installed, and `instanceof` will behave
|
|
870
|
+
unpredictably. It is safest to avoid using `instanceof`, and using
|
|
871
|
+
this type-testing method instead.
|
|
872
|
+
|
|
693
873
|
###### `x`<sup>Required</sup> <a name="x" id="@pwrdrvr/microapps-cdk.MicroAppsS3.isConstruct.parameter.x"></a>
|
|
694
874
|
|
|
695
875
|
- *Type:* any
|
|
@@ -705,8 +885,8 @@ Any object.
|
|
|
705
885
|
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
|
|
706
886
|
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3.property.bucketApps">bucketApps</a></code> | <code>aws-cdk-lib.aws_s3.IBucket</code> | S3 bucket for deployed applications. |
|
|
707
887
|
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3.property.bucketAppsOAI">bucketAppsOAI</a></code> | <code>aws-cdk-lib.aws_cloudfront.OriginAccessIdentity</code> | CloudFront Origin Access Identity for the deployed applications bucket. |
|
|
708
|
-
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3.property.bucketAppsOriginApp">bucketAppsOriginApp</a></code> | <code>aws-cdk-lib.
|
|
709
|
-
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3.property.bucketAppsOriginS3">bucketAppsOriginS3</a></code> | <code>aws-cdk-lib.
|
|
888
|
+
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3.property.bucketAppsOriginApp">bucketAppsOriginApp</a></code> | <code>aws-cdk-lib.aws_cloudfront.IOrigin</code> | CloudFront Origin for the deployed applications bucket Marked with `x-microapps-origin: app` so the OriginRequest function knows to send the request to the application origin first, if configured for a particular application. |
|
|
889
|
+
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3.property.bucketAppsOriginS3">bucketAppsOriginS3</a></code> | <code>aws-cdk-lib.aws_cloudfront.IOrigin</code> | CloudFront Origin for the deployed applications bucket Marked with `x-microapps-origin: s3` so the OriginRequest function knows to NOT send the request to the application origin and instead let it fall through to the S3 bucket. |
|
|
710
890
|
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3.property.bucketAppsStaging">bucketAppsStaging</a></code> | <code>aws-cdk-lib.aws_s3.IBucket</code> | S3 bucket for staged applications (prior to deploy). |
|
|
711
891
|
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsS3.property.bucketLogs">bucketLogs</a></code> | <code>aws-cdk-lib.aws_s3.IBucket</code> | S3 bucket for CloudFront logs. |
|
|
712
892
|
|
|
@@ -751,10 +931,10 @@ CloudFront Origin Access Identity for the deployed applications bucket.
|
|
|
751
931
|
##### `bucketAppsOriginApp`<sup>Required</sup> <a name="bucketAppsOriginApp" id="@pwrdrvr/microapps-cdk.MicroAppsS3.property.bucketAppsOriginApp"></a>
|
|
752
932
|
|
|
753
933
|
```typescript
|
|
754
|
-
public readonly bucketAppsOriginApp:
|
|
934
|
+
public readonly bucketAppsOriginApp: IOrigin;
|
|
755
935
|
```
|
|
756
936
|
|
|
757
|
-
- *Type:* aws-cdk-lib.
|
|
937
|
+
- *Type:* aws-cdk-lib.aws_cloudfront.IOrigin
|
|
758
938
|
|
|
759
939
|
CloudFront Origin for the deployed applications bucket Marked with `x-microapps-origin: app` so the OriginRequest function knows to send the request to the application origin first, if configured for a particular application.
|
|
760
940
|
|
|
@@ -763,10 +943,10 @@ CloudFront Origin for the deployed applications bucket Marked with `x-microapps-
|
|
|
763
943
|
##### `bucketAppsOriginS3`<sup>Required</sup> <a name="bucketAppsOriginS3" id="@pwrdrvr/microapps-cdk.MicroAppsS3.property.bucketAppsOriginS3"></a>
|
|
764
944
|
|
|
765
945
|
```typescript
|
|
766
|
-
public readonly bucketAppsOriginS3:
|
|
946
|
+
public readonly bucketAppsOriginS3: IOrigin;
|
|
767
947
|
```
|
|
768
948
|
|
|
769
|
-
- *Type:* aws-cdk-lib.
|
|
949
|
+
- *Type:* aws-cdk-lib.aws_cloudfront.IOrigin
|
|
770
950
|
|
|
771
951
|
CloudFront Origin for the deployed applications bucket Marked with `x-microapps-origin: s3` so the OriginRequest function knows to NOT send the request to the application origin and instead let it fall through to the S3 bucket.
|
|
772
952
|
|
|
@@ -842,6 +1022,7 @@ new MicroAppsSvcs(scope: Construct, id: string, props?: MicroAppsSvcsProps)
|
|
|
842
1022
|
| **Name** | **Description** |
|
|
843
1023
|
| --- | --- |
|
|
844
1024
|
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcs.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
1025
|
+
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsSvcs.with">with</a></code> | Applies one or more mixins to this construct. |
|
|
845
1026
|
|
|
846
1027
|
---
|
|
847
1028
|
|
|
@@ -853,6 +1034,27 @@ public toString(): string
|
|
|
853
1034
|
|
|
854
1035
|
Returns a string representation of this construct.
|
|
855
1036
|
|
|
1037
|
+
##### `with` <a name="with" id="@pwrdrvr/microapps-cdk.MicroAppsSvcs.with"></a>
|
|
1038
|
+
|
|
1039
|
+
```typescript
|
|
1040
|
+
public with(mixins: ...IMixin[]): IConstruct
|
|
1041
|
+
```
|
|
1042
|
+
|
|
1043
|
+
Applies one or more mixins to this construct.
|
|
1044
|
+
|
|
1045
|
+
Mixins are applied in order. The list of constructs is captured at the
|
|
1046
|
+
start of the call, so constructs added by a mixin will not be visited.
|
|
1047
|
+
Use multiple `with()` calls if subsequent mixins should apply to added
|
|
1048
|
+
constructs.
|
|
1049
|
+
|
|
1050
|
+
###### `mixins`<sup>Required</sup> <a name="mixins" id="@pwrdrvr/microapps-cdk.MicroAppsSvcs.with.parameter.mixins"></a>
|
|
1051
|
+
|
|
1052
|
+
- *Type:* ...constructs.IMixin[]
|
|
1053
|
+
|
|
1054
|
+
The mixins to apply.
|
|
1055
|
+
|
|
1056
|
+
---
|
|
1057
|
+
|
|
856
1058
|
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
857
1059
|
|
|
858
1060
|
| **Name** | **Description** |
|
|
@@ -861,7 +1063,7 @@ Returns a string representation of this construct.
|
|
|
861
1063
|
|
|
862
1064
|
---
|
|
863
1065
|
|
|
864
|
-
#####
|
|
1066
|
+
##### `isConstruct` <a name="isConstruct" id="@pwrdrvr/microapps-cdk.MicroAppsSvcs.isConstruct"></a>
|
|
865
1067
|
|
|
866
1068
|
```typescript
|
|
867
1069
|
import { MicroAppsSvcs } from '@pwrdrvr/microapps-cdk'
|
|
@@ -871,6 +1073,20 @@ MicroAppsSvcs.isConstruct(x: any)
|
|
|
871
1073
|
|
|
872
1074
|
Checks if `x` is a construct.
|
|
873
1075
|
|
|
1076
|
+
Use this method instead of `instanceof` to properly detect `Construct`
|
|
1077
|
+
instances, even when the construct library is symlinked.
|
|
1078
|
+
|
|
1079
|
+
Explanation: in JavaScript, multiple copies of the `constructs` library on
|
|
1080
|
+
disk are seen as independent, completely different libraries. As a
|
|
1081
|
+
consequence, the class `Construct` in each copy of the `constructs` library
|
|
1082
|
+
is seen as a different class, and an instance of one class will not test as
|
|
1083
|
+
`instanceof` the other class. `npm install` will not create installations
|
|
1084
|
+
like this, but users may manually symlink construct libraries together or
|
|
1085
|
+
use a monorepo tool: in those cases, multiple copies of the `constructs`
|
|
1086
|
+
library can be accidentally installed, and `instanceof` will behave
|
|
1087
|
+
unpredictably. It is safest to avoid using `instanceof`, and using
|
|
1088
|
+
this type-testing method instead.
|
|
1089
|
+
|
|
874
1090
|
###### `x`<sup>Required</sup> <a name="x" id="@pwrdrvr/microapps-cdk.MicroAppsSvcs.isConstruct.parameter.x"></a>
|
|
875
1091
|
|
|
876
1092
|
- *Type:* any
|
|
@@ -984,6 +1200,7 @@ new MicroAppsTable(scope: Construct, id: string, props?: MicroAppsTableProps)
|
|
|
984
1200
|
| **Name** | **Description** |
|
|
985
1201
|
| --- | --- |
|
|
986
1202
|
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsTable.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
1203
|
+
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsTable.with">with</a></code> | Applies one or more mixins to this construct. |
|
|
987
1204
|
|
|
988
1205
|
---
|
|
989
1206
|
|
|
@@ -995,6 +1212,27 @@ public toString(): string
|
|
|
995
1212
|
|
|
996
1213
|
Returns a string representation of this construct.
|
|
997
1214
|
|
|
1215
|
+
##### `with` <a name="with" id="@pwrdrvr/microapps-cdk.MicroAppsTable.with"></a>
|
|
1216
|
+
|
|
1217
|
+
```typescript
|
|
1218
|
+
public with(mixins: ...IMixin[]): IConstruct
|
|
1219
|
+
```
|
|
1220
|
+
|
|
1221
|
+
Applies one or more mixins to this construct.
|
|
1222
|
+
|
|
1223
|
+
Mixins are applied in order. The list of constructs is captured at the
|
|
1224
|
+
start of the call, so constructs added by a mixin will not be visited.
|
|
1225
|
+
Use multiple `with()` calls if subsequent mixins should apply to added
|
|
1226
|
+
constructs.
|
|
1227
|
+
|
|
1228
|
+
###### `mixins`<sup>Required</sup> <a name="mixins" id="@pwrdrvr/microapps-cdk.MicroAppsTable.with.parameter.mixins"></a>
|
|
1229
|
+
|
|
1230
|
+
- *Type:* ...constructs.IMixin[]
|
|
1231
|
+
|
|
1232
|
+
The mixins to apply.
|
|
1233
|
+
|
|
1234
|
+
---
|
|
1235
|
+
|
|
998
1236
|
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
999
1237
|
|
|
1000
1238
|
| **Name** | **Description** |
|
|
@@ -1003,7 +1241,7 @@ Returns a string representation of this construct.
|
|
|
1003
1241
|
|
|
1004
1242
|
---
|
|
1005
1243
|
|
|
1006
|
-
#####
|
|
1244
|
+
##### `isConstruct` <a name="isConstruct" id="@pwrdrvr/microapps-cdk.MicroAppsTable.isConstruct"></a>
|
|
1007
1245
|
|
|
1008
1246
|
```typescript
|
|
1009
1247
|
import { MicroAppsTable } from '@pwrdrvr/microapps-cdk'
|
|
@@ -1013,6 +1251,20 @@ MicroAppsTable.isConstruct(x: any)
|
|
|
1013
1251
|
|
|
1014
1252
|
Checks if `x` is a construct.
|
|
1015
1253
|
|
|
1254
|
+
Use this method instead of `instanceof` to properly detect `Construct`
|
|
1255
|
+
instances, even when the construct library is symlinked.
|
|
1256
|
+
|
|
1257
|
+
Explanation: in JavaScript, multiple copies of the `constructs` library on
|
|
1258
|
+
disk are seen as independent, completely different libraries. As a
|
|
1259
|
+
consequence, the class `Construct` in each copy of the `constructs` library
|
|
1260
|
+
is seen as a different class, and an instance of one class will not test as
|
|
1261
|
+
`instanceof` the other class. `npm install` will not create installations
|
|
1262
|
+
like this, but users may manually symlink construct libraries together or
|
|
1263
|
+
use a monorepo tool: in those cases, multiple copies of the `constructs`
|
|
1264
|
+
library can be accidentally installed, and `instanceof` will behave
|
|
1265
|
+
unpredictably. It is safest to avoid using `instanceof`, and using
|
|
1266
|
+
this type-testing method instead.
|
|
1267
|
+
|
|
1016
1268
|
###### `x`<sup>Required</sup> <a name="x" id="@pwrdrvr/microapps-cdk.MicroAppsTable.isConstruct.parameter.x"></a>
|
|
1017
1269
|
|
|
1018
1270
|
- *Type:* any
|
|
@@ -1375,8 +1627,8 @@ const microAppsCFProps: MicroAppsCFProps = { ... }
|
|
|
1375
1627
|
|
|
1376
1628
|
| **Name** | **Type** | **Description** |
|
|
1377
1629
|
| --- | --- | --- |
|
|
1378
|
-
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.bucketAppsOriginApp">bucketAppsOriginApp</a></code> | <code>aws-cdk-lib.
|
|
1379
|
-
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.bucketAppsOriginS3">bucketAppsOriginS3</a></code> | <code>aws-cdk-lib.
|
|
1630
|
+
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.bucketAppsOriginApp">bucketAppsOriginApp</a></code> | <code>aws-cdk-lib.aws_cloudfront.IOrigin</code> | S3 bucket origin for deployed applications Marked with `x-microapps-origin: app`. |
|
|
1631
|
+
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.bucketAppsOriginS3">bucketAppsOriginS3</a></code> | <code>aws-cdk-lib.aws_cloudfront.IOrigin</code> | S3 bucket origin for deployed applications Marked with `x-microapps-origin: s3`. |
|
|
1380
1632
|
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.assetNameRoot">assetNameRoot</a></code> | <code>string</code> | Optional asset name root. |
|
|
1381
1633
|
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.assetNameSuffix">assetNameSuffix</a></code> | <code>string</code> | Optional asset name suffix. |
|
|
1382
1634
|
| <code><a href="#@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.bucketLogs">bucketLogs</a></code> | <code>aws-cdk-lib.aws_s3.IBucket</code> | S3 bucket for CloudFront logs. |
|
|
@@ -1396,10 +1648,10 @@ const microAppsCFProps: MicroAppsCFProps = { ... }
|
|
|
1396
1648
|
##### `bucketAppsOriginApp`<sup>Required</sup> <a name="bucketAppsOriginApp" id="@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.bucketAppsOriginApp"></a>
|
|
1397
1649
|
|
|
1398
1650
|
```typescript
|
|
1399
|
-
public readonly bucketAppsOriginApp:
|
|
1651
|
+
public readonly bucketAppsOriginApp: IOrigin;
|
|
1400
1652
|
```
|
|
1401
1653
|
|
|
1402
|
-
- *Type:* aws-cdk-lib.
|
|
1654
|
+
- *Type:* aws-cdk-lib.aws_cloudfront.IOrigin
|
|
1403
1655
|
|
|
1404
1656
|
S3 bucket origin for deployed applications Marked with `x-microapps-origin: app`.
|
|
1405
1657
|
|
|
@@ -1408,10 +1660,10 @@ S3 bucket origin for deployed applications Marked with `x-microapps-origin: app`
|
|
|
1408
1660
|
##### `bucketAppsOriginS3`<sup>Required</sup> <a name="bucketAppsOriginS3" id="@pwrdrvr/microapps-cdk.MicroAppsCFProps.property.bucketAppsOriginS3"></a>
|
|
1409
1661
|
|
|
1410
1662
|
```typescript
|
|
1411
|
-
public readonly bucketAppsOriginS3:
|
|
1663
|
+
public readonly bucketAppsOriginS3: IOrigin;
|
|
1412
1664
|
```
|
|
1413
1665
|
|
|
1414
|
-
- *Type:* aws-cdk-lib.
|
|
1666
|
+
- *Type:* aws-cdk-lib.aws_cloudfront.IOrigin
|
|
1415
1667
|
|
|
1416
1668
|
S3 bucket origin for deployed applications Marked with `x-microapps-origin: s3`.
|
|
1417
1669
|
|
|
@@ -3247,8 +3499,8 @@ Represents a MicroApps S3.
|
|
|
3247
3499
|
| --- | --- | --- |
|
|
3248
3500
|
| <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsS3.property.bucketApps">bucketApps</a></code> | <code>aws-cdk-lib.aws_s3.IBucket</code> | S3 bucket for deployed applications. |
|
|
3249
3501
|
| <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsS3.property.bucketAppsOAI">bucketAppsOAI</a></code> | <code>aws-cdk-lib.aws_cloudfront.OriginAccessIdentity</code> | CloudFront Origin Access Identity for the deployed applications bucket. |
|
|
3250
|
-
| <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsS3.property.bucketAppsOriginApp">bucketAppsOriginApp</a></code> | <code>aws-cdk-lib.
|
|
3251
|
-
| <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsS3.property.bucketAppsOriginS3">bucketAppsOriginS3</a></code> | <code>aws-cdk-lib.
|
|
3502
|
+
| <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsS3.property.bucketAppsOriginApp">bucketAppsOriginApp</a></code> | <code>aws-cdk-lib.aws_cloudfront.IOrigin</code> | CloudFront Origin for the deployed applications bucket Marked with `x-microapps-origin: app` so the OriginRequest function knows to send the request to the application origin first, if configured for a particular application. |
|
|
3503
|
+
| <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsS3.property.bucketAppsOriginS3">bucketAppsOriginS3</a></code> | <code>aws-cdk-lib.aws_cloudfront.IOrigin</code> | CloudFront Origin for the deployed applications bucket Marked with `x-microapps-origin: s3` so the OriginRequest function knows to NOT send the request to the application origin and instead let it fall through to the S3 bucket. |
|
|
3252
3504
|
| <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsS3.property.bucketAppsStaging">bucketAppsStaging</a></code> | <code>aws-cdk-lib.aws_s3.IBucket</code> | S3 bucket for staged applications (prior to deploy). |
|
|
3253
3505
|
| <code><a href="#@pwrdrvr/microapps-cdk.IMicroAppsS3.property.bucketLogs">bucketLogs</a></code> | <code>aws-cdk-lib.aws_s3.IBucket</code> | S3 bucket for CloudFront logs. |
|
|
3254
3506
|
|
|
@@ -3281,10 +3533,10 @@ CloudFront Origin Access Identity for the deployed applications bucket.
|
|
|
3281
3533
|
##### `bucketAppsOriginApp`<sup>Required</sup> <a name="bucketAppsOriginApp" id="@pwrdrvr/microapps-cdk.IMicroAppsS3.property.bucketAppsOriginApp"></a>
|
|
3282
3534
|
|
|
3283
3535
|
```typescript
|
|
3284
|
-
public readonly bucketAppsOriginApp:
|
|
3536
|
+
public readonly bucketAppsOriginApp: IOrigin;
|
|
3285
3537
|
```
|
|
3286
3538
|
|
|
3287
|
-
- *Type:* aws-cdk-lib.
|
|
3539
|
+
- *Type:* aws-cdk-lib.aws_cloudfront.IOrigin
|
|
3288
3540
|
|
|
3289
3541
|
CloudFront Origin for the deployed applications bucket Marked with `x-microapps-origin: app` so the OriginRequest function knows to send the request to the application origin first, if configured for a particular application.
|
|
3290
3542
|
|
|
@@ -3293,10 +3545,10 @@ CloudFront Origin for the deployed applications bucket Marked with `x-microapps-
|
|
|
3293
3545
|
##### `bucketAppsOriginS3`<sup>Required</sup> <a name="bucketAppsOriginS3" id="@pwrdrvr/microapps-cdk.IMicroAppsS3.property.bucketAppsOriginS3"></a>
|
|
3294
3546
|
|
|
3295
3547
|
```typescript
|
|
3296
|
-
public readonly bucketAppsOriginS3:
|
|
3548
|
+
public readonly bucketAppsOriginS3: IOrigin;
|
|
3297
3549
|
```
|
|
3298
3550
|
|
|
3299
|
-
- *Type:* aws-cdk-lib.
|
|
3551
|
+
- *Type:* aws-cdk-lib.aws_cloudfront.IOrigin
|
|
3300
3552
|
|
|
3301
3553
|
CloudFront Origin for the deployed applications bucket Marked with `x-microapps-origin: s3` so the OriginRequest function knows to NOT send the request to the application origin and instead let it fall through to the S3 bucket.
|
|
3302
3554
|
|
package/lib/MicroApps.js
CHANGED
|
@@ -118,5 +118,5 @@ class MicroApps extends constructs_1.Construct {
|
|
|
118
118
|
}
|
|
119
119
|
exports.MicroApps = MicroApps;
|
|
120
120
|
_a = JSII_RTTI_SYMBOL_1;
|
|
121
|
-
MicroApps[_a] = { fqn: "@pwrdrvr/microapps-cdk.MicroApps", version: "1.2.0-beta.
|
|
121
|
+
MicroApps[_a] = { fqn: "@pwrdrvr/microapps-cdk.MicroApps", version: "1.2.0-beta.8" };
|
|
122
122
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWljcm9BcHBzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL01pY3JvQXBwcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUtBLDJDQUF1QztBQUN2QywrQ0FBMEQ7QUFDMUQsbUVBQXdGO0FBQ3hGLCtDQUEwRDtBQUMxRCxtREFBZ0U7QUFDaEUseURBQXNEO0FBcVV0RDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILE1BQWEsU0FBVSxTQUFRLHNCQUFTO0lBRXRDLElBQVcsRUFBRTtRQUNYLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDO0lBR0QsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBR0QsSUFBVyxFQUFFO1FBQ1gsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFHRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBc0I7UUFDOUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDdkMsQ0FBQztRQUVELE1BQU0sRUFDSixjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixlQUFlLEVBQ2YsT0FBTyxFQUNQLFFBQVEsRUFDUixNQUFNLEdBQUcsS0FBSyxFQUNkLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsMkJBQTJCLEVBQzNCLG9CQUFvQixFQUNwQixjQUFjLEVBQ2QsZ0JBQWdCLEdBQUcsS0FBSyxFQUN4QixrQkFBa0IsR0FBRyxJQUFJLEVBQ3pCLHVCQUF1QixHQUFHLElBQUksRUFDOUIsdUJBQXVCLEdBQUcsSUFBSSxFQUM5QixpQkFBaUIsR0FBRyxJQUFJLEVBQ3hCLFdBQVcsR0FBRyxNQUFNLEVBQ3BCLFlBQVksRUFDWixLQUFLLEVBQ0wsd0JBQXdCLEVBQ3hCLGtCQUFrQixHQUFHLFlBQVksRUFDakMsMEJBQTBCLEdBQUcsRUFBRSxFQUMvQixvQkFBb0IsR0FBRyxFQUFFLEdBQzFCLEdBQUcsS0FBSyxDQUFDO1FBRVYsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLHlCQUFXLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtZQUNyQyxhQUFhO1lBQ2IsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFBLDZCQUFhLEVBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUztZQUNwRixjQUFjLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUEsNkJBQWEsRUFBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQy9FLHFCQUFxQixFQUFFLGNBQWM7Z0JBQ25DLENBQUMsQ0FBQyxHQUFHLElBQUEsNkJBQWEsRUFBQyxjQUFjLENBQUMsVUFBVTtnQkFDNUMsQ0FBQyxDQUFDLFNBQVM7WUFDYixhQUFhO1lBQ2IsZUFBZTtZQUNmLGtCQUFrQjtTQUNuQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksNkJBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQzNDLGFBQWE7WUFDYixVQUFVLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVO1lBQy9CLGFBQWEsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWE7WUFDckMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUI7WUFDN0MsYUFBYTtZQUNiLGVBQWU7WUFDZixNQUFNO1lBQ04sbUJBQW1CO1lBQ25CLDJCQUEyQjtZQUMzQixvQkFBb0I7WUFDcEIsY0FBYztZQUNkLHVCQUF1QixFQUFFLFdBQVcsS0FBSyxNQUFNO1lBQy9DLEtBQUs7WUFDTCxtQkFBbUIsRUFBRSxvQkFBb0I7U0FDMUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxXQUFXLEdBQW9CLEVBQUUsQ0FBQztRQUV4QyxJQUFJLFdBQVcsS0FBSyxNQUFNLElBQUksaUJBQWlCLElBQUksdUJBQXVCLEVBQUUsQ0FBQztZQUMzRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksNkNBQXFCLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtnQkFDbkUsYUFBYTtnQkFDYixlQUFlO2dCQUNmLGFBQWE7Z0JBQ2IsdUJBQXVCO2dCQUN2QiwwQkFBMEIsRUFBRSxnQkFBZ0I7Z0JBQzVDLGlCQUFpQjtnQkFDakIsWUFBWTtnQkFDWixXQUFXO2dCQUNYLGNBQWM7Z0JBQ2QsYUFBYSxFQUFFLHdCQUF3QixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVM7Z0JBQ3JFLDBCQUEwQjtnQkFDMUIscUJBQXFCLEVBQUUsS0FBSyxDQUFDLHFCQUFxQjthQUNuRCxDQUFDLENBQUM7WUFFSCxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFDRCx3QkFBd0I7UUFDeEIsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQzlCLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSx5QkFBVyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7WUFDdEMsYUFBYTtZQUNiLGFBQWE7WUFDYixlQUFlO1lBQ2YsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixPQUFPO1lBQ1AsUUFBUTtZQUNSLGtCQUFrQixFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCO1lBQy9DLG1CQUFtQixFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQW1CO1lBQ2pELFVBQVUsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVU7WUFDL0IsY0FBYztZQUNkLGtCQUFrQjtZQUNsQix1QkFBdUI7WUFDdkIsa0JBQWtCO1lBQ2xCLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDL0MsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUEzSEgsOEJBNEhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVtb3ZhbFBvbGljeSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGFjbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyJztcbmltcG9ydCAqIGFzIGNmIGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZGZyb250JztcbmltcG9ydCAqIGFzIGR5bmFtb2RiIGZyb20gJ2F3cy1jZGstbGliL2F3cy1keW5hbW9kYic7XG5pbXBvcnQgKiBhcyByNTMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXJvdXRlNTMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBJTWljcm9BcHBzQ0YsIE1pY3JvQXBwc0NGIH0gZnJvbSAnLi9NaWNyb0FwcHNDRic7XG5pbXBvcnQgeyBJTWljcm9BcHBzRWRnZVRvT3JpZ2luLCBNaWNyb0FwcHNFZGdlVG9PcmlnaW4gfSBmcm9tICcuL01pY3JvQXBwc0VkZ2VUb09yaWdpbic7XG5pbXBvcnQgeyBJTWljcm9BcHBzUzMsIE1pY3JvQXBwc1MzIH0gZnJvbSAnLi9NaWNyb0FwcHNTMyc7XG5pbXBvcnQgeyBJTWljcm9BcHBzU3ZjcywgTWljcm9BcHBzU3ZjcyB9IGZyb20gJy4vTWljcm9BcHBzU3Zjcyc7XG5pbXBvcnQgeyByZXZlcnNlRG9tYWluIH0gZnJvbSAnLi91dGlscy9SZXZlcnNlRG9tYWluJztcblxuLyoqXG4gKiBBIENESyBDb25zdHJ1Y3QgZm9yIGNyZWF0aW5nIGEgTWljcm9BcHBzIHJ1bnRpbWUgZW52aXJvbm1lbnQgdXNlZFxuICogdG8gaG9zdCBOZXh0LmpzLCBSZWFjdCwgb3IgYW55IG90aGVyIHNvcnQgb2Ygd2ViIGFwcGxpY2F0aW9uIHdpdGhcbiAqIG11bHRpcGxlIHZlcnNpb25zIGF2YWlsYWJsZSBmb3IgY29tcGFyaXNvbiwgcXVpY2sgcm9sbGJhY2tzLCBxdWlja1xuICogcmVsZWFzZXMsIGFuZCBhIGNvbXBsZXRlIGxhY2sgb2YgdXNlciBkaXN0dXJiYW5jZSBvbiBkZXBsb3lzLlxuICpcbiAqIEByZW1hcmtzXG4gKlxuICoge0BsaW5rIE1pY3JvQXBwc30gcHJvdmlkZXMgYSB0dXJuLWtleSBjb25zdHJ1Y3QgdGhhdCBjcmVhdGVzIGFsbFxuICogZGVwZW5kZW5jaWVzIHdpdGggbGltaXRlZCBleHBvc3VyZSBvZiB1bmRlcmx5aW5nIEFXUyBSZXNvdXJjZSBvcHRpb25zLlxuICogVGhpcyBjb25zdHJ1Y3QgaXMgdGhlIGVhc2llc3QgdG8gdXNlIHdoZW4gZXhwbG9yaW5nIE1pY3JvQXBwcyBmb3IgdGhlXG4gKiBmaXJzdCB0aW1lLlxuICpcbiAqIHtAbGluayBNaWNyb0FwcHNBUElHd3l9LCB7QGxpbmsgTWljcm9BcHBzQ0Z9LCB7QGxpbmsgTWljcm9BcHBzUzN9LFxuICogYW5kIHtAbGluayBNaWNyb0FwcHNTdmNzfSwgYW5kIHRoZWlyIGhlbHBlciBzdGF0aWMgbWV0aG9kcywgY2FuIGJlIHVzZWRcbiAqIHRvIGNyZWF0ZSBBV1MgUmVzb3VyY2VzIG1vcmUgZGlyZWN0bHksIHRvIHByb3ZpZGUgeW91ciBvd24gQVdTIFJlc291cmNlc1xuICogKGUuZy4gYW4gZXhpc3RpbmcgQ2xvdWRGcm9udCBEaXN0cmlidXRpb24pLCBhbmQgdG8gaGF2ZSBtb3JlIGZsZXhpYmlsaXR5XG4gKiB0aGFuIHRoZSB7QGxpbmsgTWljcm9BcHBzfSBjb25zdHJ1Y3Qgb2ZmZXJzLlxuICpcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICovXG5cbi8qKlxuICogUHJvcGVydGllcyB0byBpbml0aWFsaXplIGFuIGluc3RhbmNlIG9mIGBNaWNyb0FwcHNgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1pY3JvQXBwc1Byb3BzIHtcbiAgLyoqXG4gICAqIFJlbW92YWxQb2xpY3kgb3ZlcnJpZGUgZm9yIGNoaWxkIHJlc291cmNlc1xuICAgKlxuICAgKiBOb3RlOiBpZiBzZXQgdG8gREVTVFJPWSB0aGUgUzMgYnVja2VzIHdpbGwgaGF2ZSBgYXV0b0RlbGV0ZU9iamVjdHNgIHNldCB0byBgdHJ1ZWBcbiAgICpcbiAgICogQGRlZmF1bHQgLSBwZXIgcmVzb3VyY2UgZGVmYXVsdFxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeT86IFJlbW92YWxQb2xpY3k7XG5cbiAgLyoqXG4gICAqIFBhc3NlZCB0byBOT0RFX0VOViBvZiBSb3V0ZXIgYW5kIERlcGxveWVyIExhbWJkYSBmdW5jdGlvbnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IGRldlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwRW52OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGFzc2V0IG5hbWUgcm9vdFxuICAgKlxuICAgKiBAZXhhbXBsZSBtaWNyb2FwcHNcbiAgICogQGRlZmF1bHQgLSByZXNvdXJjZSBuYW1lcyBhdXRvIGFzc2lnbmVkXG4gICAqL1xuICByZWFkb25seSBhc3NldE5hbWVSb290Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBhc3NldCBuYW1lIHN1ZmZpeFxuICAgKlxuICAgKiBAZXhhbXBsZSAtZGV2LXByLTEyXG4gICAqIEBkZWZhdWx0IG5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGFzc2V0TmFtZVN1ZmZpeD86IHN0cmluZztcblxuICAvKipcbiAgICogUm91dGU1MyB6b25lIGluIHdoaWNoIHRvIGNyZWF0ZSBvcHRpb25hbCBgZG9tYWluTmFtZUVkZ2VgIHJlY29yZFxuICAgKi9cbiAgcmVhZG9ubHkgcjUzWm9uZT86IHI1My5JSG9zdGVkWm9uZTtcblxuICAvKipcbiAgICogQ2VydGlmaWNhdGUgaW4gVVMtRWFzdC0xIGZvciB0aGUgQ2xvdWRGcm9udCBkaXN0cmlidXRpb24uXG4gICAqL1xuICByZWFkb25seSBjZXJ0RWRnZT86IGFjbS5JQ2VydGlmaWNhdGU7XG5cbiAgLyoqXG4gICAqIENlcnRpZmljYXRlIGluIGRlcGxveWVkIHJlZ2lvbiBmb3IgdGhlIEFQSSBHYXRld2F5LlxuICAgKi9cbiAgcmVhZG9ubHkgY2VydE9yaWdpbj86IGFjbS5JQ2VydGlmaWNhdGU7XG5cbiAgLyoqXG4gICAqIFVzZSBhIHN0cmljdCBTMyBCdWNrZXQgUG9saWN5IHRoYXQgcHJldmVudHMgYXBwbGljYXRpb25zXG4gICAqIGZyb20gcmVhZGluZy93cml0aW5nL21vZGlmeWluZy9kZWxldGluZyBmaWxlcyBpbiB0aGUgUzMgQnVja2V0XG4gICAqIG91dHNpZGUgb2YgdGhlIHBhdGggdGhhdCBpcyBzcGVjaWZpYyB0byB0aGVpciBhcHAvdmVyc2lvbi5cbiAgICpcbiAgICogVGhpcyBzZXR0aW5nIHNob3VsZCBiZSB1c2VkIHdoZW4gYXBwbGljYXRpb25zIGFyZSBsZXNzIHRoYW5cbiAgICogZnVsbHkgdHJ1c3RlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHMzU3RyaWN0QnVja2V0UG9saWN5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQXBwbGllcyB3aGVuIHVzaW5nIHMzU3RyaWN0QnVja2V0UG9saWN5ID0gdHJ1ZVxuICAgKlxuICAgKiBJQU0gUm9sZSBvciBJQU0gVXNlciBuYW1lcyB0byBleGNsdWRlIGZyb20gdGhlIERFTlkgcnVsZXMgb24gdGhlIFMzIEJ1Y2tldCBQb2xpY3kuXG4gICAqXG4gICAqIFJvbGVzIHRoYXQgYXJlIEFzc3VtZWQgbXVzdCBpbnN0ZWFkIGhhdmUgdGhlaXIgQVJPQSBhZGRlZCB0byBgczNQb2xpY3lCeXBhc3NBUk9Bc2AuXG4gICAqXG4gICAqIFR5cGljYWxseSBhbnkgYWRtaW4gcm9sZXMgLyB1c2VycyB0aGF0IG5lZWQgdG8gdmlldyBvciBtYW5hZ2UgdGhlIFMzIEJ1Y2tldFxuICAgKiB3b3VsZCBiZSBhZGRlZCB0byB0aGlzIGxpc3QuXG4gICAqXG4gICAqIEBleGFtcGxlIFsnYXJuOmF3czppYW06OjEyMzQ1Njc4OTAxMjM6cm9sZS9BZG1pbkFjY2VzcycsICdhcm46YXdzOmlhbTo6MTIzNDU2Nzg5MDEyMzp1c2VyL015QWRtaW5Vc2VyJ11cbiAgICpcbiAgICogQHNlZSBzM1BvbGljeUJ5cGFzc0FST0FzXG4gICAqL1xuICByZWFkb25seSBzM1BvbGljeUJ5cGFzc1ByaW5jaXBhbEFSTnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQXBwbGllcyB3aGVuIHVzaW5nIHMzU3RyaWN0QnVja2V0UG9saWN5ID0gdHJ1ZVxuICAgKlxuICAgKiBBUk9BcyBvZiB0aGUgSUFNIFJvbGUgdG8gZXhjbHVkZSBmcm9tIHRoZSBERU5ZIHJ1bGVzIG9uIHRoZSBTMyBCdWNrZXQgUG9saWN5LlxuICAgKiBUaGlzIGFsbG93cyBzZXNzaW9ucyB0aGF0IGFzc3VtZSB0aGUgSUFNIFJvbGUgdG8gYmUgZXhjbHVkZWQgZnJvbSB0aGVcbiAgICogREVOWSBydWxlcyBvbiB0aGUgUzMgQnVja2V0IFBvbGljeS5cbiAgICpcbiAgICogVHlwaWNhbGx5IGFueSBhZG1pbiByb2xlcyAvIHVzZXJzIHRoYXQgbmVlZCB0byB2aWV3IG9yIG1hbmFnZSB0aGUgUzMgQnVja2V0XG4gICAqIHdvdWxkIGJlIGFkZGVkIHRvIHRoaXMgbGlzdC5cbiAgICpcbiAgICogUm9sZXMgLyB1c2VycyB0aGF0IGFyZSB1c2VkIGRpcmVjdGx5LCBub3QgYXNzdW1lZCwgY2FuIGJlIGFkZGVkIHRvIGBzM1BvbGljeUJ5cGFzc1JvbGVOYW1lc2AgaW5zdGVhZC5cbiAgICpcbiAgICogTm90ZTogVGhpcyBBUk9BIG11c3QgYmUgc3BlY2lmaWVkIHRvIHByZXZlbnQgdGhpcyBwb2xpY3kgZnJvbSBsb2NraW5nXG4gICAqIG91dCBub24tcm9vdCBzZXNzaW9ucyB0aGF0IGhhdmUgYXNzdW1lZCB0aGUgYWRtaW4gcm9sZS5cbiAgICpcbiAgICogVGhlIG5vdFByaW5jaXBhbHMgd2lsbCBvbmx5IG1hdGNoIHRoZSByb2xlIG5hbWUgZXhhY3RseSBhbmQgd2lsbCBub3QgbWF0Y2hcbiAgICogYW55IHNlc3Npb24gdGhhdCBoYXMgYXNzdW1lZCB0aGUgcm9sZSBzaW5jZSBub3RQcmluY2lwYWxzIGRvZXMgbm90IGFsbG93XG4gICAqIHdpbGRjYXJkIG1hdGNoZXMgYW5kIGRvZXMgbm90IGRvIHdpbGRjYXJkIG1hdGNoZXMgaW1wbGljaXRseSBlaXRoZXIuXG4gICAqXG4gICAqIFRoZSBBUk9BIG11c3QgYmUgdXNlZCBiZWNhdXNlIHRoZXJlIGFyZSBvbmx5IDMgUHJpbmNpcGFsIHZhcmlhYmxlcyBhdmFpbGFibGU6XG4gICAqICBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX3ZhcmlhYmxlcy5odG1sI3ByaW5jaXBhbHRhYmxlXG4gICAqICBhd3M6dXNlcm5hbWUsIGF3czp1c2VyaWQsIGF3czpQcmluY2lwYWxUYWdcbiAgICpcbiAgICogRm9yIGFuIGFzc3VtZWQgcm9sZSwgYXdzOnVzZXJuYW1lIGlzIGJsYW5rLCBhd3M6dXNlcmlkIGlzOlxuICAgKiAgW3VuaXF1ZSBpZCBBS0EgQVJPQSBmb3IgUm9sZV06W3Nlc3Npb24gbmFtZV1cbiAgICpcbiAgICogVGFibGUgb2YgdW5pcXVlIElEIHByZWZpeGVzIHN1Y2ggYXMgQVJPQTpcbiAgICogIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9yZWZlcmVuY2VfaWRlbnRpZmllcnMuaHRtbCNpZGVudGlmaWVycy1wcmVmaXhlc1xuICAgKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcm9sZSBpcyBzaW1wbHkgbm90IGF2YWlsYWJsZSBmb3IgYW4gYXNzdW1lZCByb2xlIGFuZCwgaWYgaXQgd2FzLFxuICAgKiBhIGNvbXBsaWNhdGVkIGNvbXBhcmlzb24gd291bGQgYmUgcmVxdWllcmQgdG8gcHJldmVudCBleGNsdXNpb25cbiAgICogb2YgYXBwbHlpbmcgdGhlIERlbnkgUnVsZSB0byByb2xlcyBmcm9tIG90aGVyIGFjY291bnRzLlxuICAgKlxuICAgKiBUbyBnZXQgdGhlIEFST0Egd2l0aCB0aGUgQVdTIENMSTpcbiAgICogICBhd3MgaWFtIGdldC1yb2xlIC0tcm9sZS1uYW1lIFJPTEUtTkFNRVxuICAgKiAgIGF3cyBpYW0gZ2V0LXVzZXIgLS11c2VyLW5hbWUgVVNFUi1OQU1FXG4gICAqXG4gICAqIEBleGFtcGxlIFsgJ0FST0ExMjM0NTY3ODkwMTIzJyBdXG4gICAqXG4gICAqIEBzZWUgczNTdHJpY3RCdWNrZXRQb2xpY3lcbiAgICovXG4gIHJlYWRvbmx5IHMzUG9saWN5QnlwYXNzQVJPQXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgY3VzdG9tIGRvbWFpbiBuYW1lIGZvciB0aGUgQ2xvdWRGcm9udCBkaXN0cmlidXRpb24uXG4gICAqXG4gICAqIEBleGFtcGxlIGFwcHMucHdyZHJ2ci5jb21cbiAgICogQGRlZmF1bHQgYXV0by1hc3NpZ25lZFxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluTmFtZUVkZ2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGN1c3RvbSBkb21haW4gbmFtZSBmb3IgdGhlIEFQSSBHYXRld2F5IEhUVFB2MiBBUEkuXG4gICAqXG4gICAqIEBleGFtcGxlIGFwcHMtb3JpZ2luLnB3cmRydnIuY29tXG4gICAqIEBkZWZhdWx0IGF1dG8tYXNzaWduZWRcbiAgICovXG4gIHJlYWRvbmx5IGRvbWFpbk5hbWVPcmlnaW4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggcHJlZml4IG9uIHRoZSByb290IG9mIHRoZSBDbG91ZEZyb250IGRpc3RyaWJ1dGlvblxuICAgKlxuICAgKiBAZXhhbXBsZSBkZXYvXG4gICAqL1xuICByZWFkb25seSByb290UGF0aFByZWZpeD86IHN0cmluZztcblxuICAvKipcbiAgICogQ3JlYXRlIEFQSSBHYXRld2F5IGZvciBub24tZWRnZSBpbnZvY2F0aW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVBUElHYXRld2F5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ3JlYXRlIGFuIGV4dHJhIEJlaGF2aW9yIChSb3V0ZSkgZm9yIC9hcGkvIHRoYXQgYWxsb3dzXG4gICAqIEFQSSByb3V0ZXMgdG8gaGF2ZSBhIHBlcmlvZCBpbiB0aGVtLlxuICAgKlxuICAgKiBXaGVuIGZhbHNlIEFQSSByb3V0ZXMgd2l0aCBhIHBlcmlvZCBpbiB0aGUgcGF0aCB3aWxsIGdldCByb3V0ZWQgdG8gUzMuXG4gICAqXG4gICAqIFdoZW4gdHJ1ZSBBUEkgcm91dGVzIHRoYXQgY29udGFpbiAvYXBpLyBpbiB0aGUgcGF0aCB3aWxsIGdldCByb3V0ZWQgdG8gQVBJIEdhdGV3YXlcbiAgICogZXZlbiBpZiB0aGV5IGhhdmUgYSBwZXJpb2QgaW4gdGhlIHBhdGguXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZUFQSVBhdGhSb3V0ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbiBleHRyYSBCZWhhdmlvciAoUm91dGUpIGZvciAvX25leHQvZGF0YS9cbiAgICogVGhpcyByb3V0ZSBpcyB1c2VkIGJ5IE5leHQuanMgdG8gbG9hZCBkYXRhIGZyb20gdGhlIEFQSSBHYXRld2F5XG4gICAqIG9uIGBnZXRTZXJ2ZXJTaWRlUHJvcHNgIGNhbGxzLiAgVGhlIHJlcXVlc3RzIGNhbiBlbmQgaW4gYC5qc29uYCxcbiAgICogd2hpY2ggd291bGQgY2F1c2UgdGhlbSB0byBiZSByb3V0ZWQgdG8gUzMgaWYgdGhpcyByb3V0ZSBpcyBub3QgY3JlYXRlZC5cbiAgICpcbiAgICogV2hlbiBmYWxzZSBBUEkgcm91dGVzIHdpdGggYSBwZXJpb2QgaW4gdGhlIHBhdGggd2lsbCBnZXQgcm91dGVkIHRvIFMzLlxuICAgKlxuICAgKiBXaGVuIHRydWUgQVBJIHJvdXRlcyB0aGF0IGNvbnRhaW4gL19uZXh0L2RhdGEvIGluIHRoZSBwYXRoIHdpbGwgZ2V0IHJvdXRlZCB0byBBUEkgR2F0ZXdheVxuICAgKiBldmVuIGlmIHRoZXkgaGF2ZSBhIHBlcmlvZCBpbiB0aGUgcGF0aC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlTmV4dERhdGFQYXRoUm91dGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBZGRzIGFuIFgtRm9yd2FyZGVkLUhvc3QtSGVhZGVyIHdoZW4gY2FsbGluZyBBUEkgR2F0ZXdheVxuICAgKlxuICAgKiBDYW4gb25seSBiZSB0cnVzdGVkIGlmIGBzaWduaW5nTW9kZWAgaXMgZW5hYmxlZCwgd2hpY2ggcmVzdHJpY3RzXG4gICAqIGFjY2VzcyB0byBBUEkgR2F0ZXdheSB0byBvbmx5IElBTSBzaWduZWQgcmVxdWVzdHMuXG4gICAqXG4gICAqIE5vdGU6IGlmIHRydWUsIGNyZWF0ZXMgT3JpZ2luUmVxdWVzdCBMYW1iZGEgQCBFZGdlIGZ1bmN0aW9uIGZvciBBUEkgR2F0ZXdheSBPcmlnaW5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgYWRkWEZvcndhcmRlZEhvc3RIZWFkZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZXBsYWNlcyBIb3N0IGhlYWRlciAod2hpY2ggd2lsbCBiZSB0aGUgRWRnZSBkb21haW4gbmFtZSkgd2l0aCB0aGUgT3JpZ2luIGRvbWFpbiBuYW1lXG4gICAqIHdoZW4gZW5hYmxlZC4gIFRoaXMgaXMgbmVjZXNzYXJ5IHdoZW4gQVBJIEdhdGV3YXkgaGFzIG5vdCBiZWVuIGNvbmZpZ3VyZWRcbiAgICogd2l0aCBhIGN1c3RvbSBkb21haW4gbmFtZSB0aGF0IG1hdGNoZXMgdGhlIGV4YWN0IGRvbWFpbiBuYW1lIHVzZWQgYnkgdGhlIENsb3VkRnJvbnRcbiAgICogRGlzdHJpYnV0aW9uIEFORCB3aGVuIHRoZSBPcmlnaW5SZXF1ZXN0UG9saWN5LkhlYWRlcnNCZWhhdmlvciBpcyBzZXRcbiAgICogdG8gcGFzcyBhbGwgaGVhZGVycyB0byB0aGUgb3JpZ2luLlxuICAgKlxuICAgKiBOb3RlOiBpZiB0cnVlLCBjcmVhdGVzIE9yaWdpblJlcXVlc3QgTGFtYmRhIEAgRWRnZSBmdW5jdGlvbiBmb3IgQVBJIEdhdGV3YXkgT3JpZ2luXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHJlcGxhY2VIb3N0SGVhZGVyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmVxdWlyZXMgSUFNIGF1dGggb24gdGhlIEFQSSBHYXRld2F5IG9yaWdpbiBpZiBub3Qgc2V0IHRvICdub25lJy5cbiAgICpcbiAgICogJ3NpZ24nIC0gVXNlcyByZXF1ZXN0IGhlYWRlcnMgZm9yIGF1dGguXG4gICAqICdwcmVzaWduJyAtIFVzZXMgcXVlcnkgc3RyaW5nIGZvciBhdXRoLlxuICAgKlxuICAgKiBJZiBlbmFibGVkLFxuICAgKlxuICAgKiBOb3RlOiBpZiAnc2lnbicgb3IgJ3ByZXNpZ24nLCBjcmVhdGVzIE9yaWdpblJlcXVlc3QgTGFtYmRhIEAgRWRnZSBmdW5jdGlvbiBmb3IgQVBJIEdhdGV3YXkgT3JpZ2luXG4gICAqIEBkZWZhdWx0ICdzaWduJ1xuICAgKi9cbiAgcmVhZG9ubHkgc2lnbmluZ01vZGU/OiAnc2lnbicgfCAncHJlc2lnbicgfCAnbm9uZSc7XG5cbiAgLyoqXG4gICAqIE9yaWdpbiByZWdpb24gdGhhdCBBUEkgR2F0ZXdheSBvciBMYW1iZGEgZnVuY3Rpb24gd2lsbCBiZSBkZXBsb3llZCB0bywgdXNlZFxuICAgKiBmb3IgdGhlIGNvbmZpZy55bWwgb24gdGhlIEVkZ2UgZnVuY3Rpb24gdG8gc2lnbiByZXF1ZXN0cyBmb3JcbiAgICogdGhlIGNvcnJlY3QgcmVnaW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgb3JpZ2luUmVnaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBPcmlnaW4gU2hpZWxkIFJlZ2lvblxuICAgKlxuICAgKiBUaGlzIHNob3VsZCBiZSB0aGUgcmVnaW9uIHdoZXJlIHRoZSBEeW5hbW9EQiBpcyBsb2NhdGVkIHNvIHRoZVxuICAgKiBFZGdlVG9PcmlnaW4gY2FsbHMgaGF2ZSB0aGUgbG93ZXN0IGxhdGVuY3kgKH4xIG1zKS5cbiAgICpcbiAgICogQGRlZmF1bHQgb3JpZ2luUmVnaW9uIGlmIHNwZWNpZmllZCwgb3RoZXJ3aXNlIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgb3JpZ2luU2hpZWxkUmVnaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFeGlzdGluZyB0YWJsZSBmb3IgYXBwcy92ZXJzaW9ucy9ydWxlc1xuICAgKlxuICAgKiBAd2FybmluZyAtIEl0IGlzICpzdHJvbmdseSogc3VnZ2VzdGVkIHRoYXQgcHJvZHVjdGlvbiBzdGFja3MgY3JlYXRlXG4gICAqIHRoZWlyIG93biBEeW5hbW9EQiBUYWJsZSBhbmQgcGFzcyBpdCBpbnRvIHRoaXMgY29uc3RydWN0LCBmb3IgcHJvdGVjdGlvblxuICAgKiBhZ2FpbnN0IGRhdGEgbG9zcyBkdWUgdG8gbG9naWNhbCBJRCBjaGFuZ2VzLCB0aGUgYWJpbGl0eSB0byBjb25maWd1cmVcbiAgICogUHJvdmlzaW9uZWQgY2FwYWNpdHkgd2l0aCBBdXRvIFNjYWxpbmcsIHRoZSBhYmlsaXR5IHRvIGFkZCBhZGRpdGlvbmFsIGluZGljZXMsIGV0Yy5cbiAgICpcbiAgICogUmVxdWlyZW1lbnRzOlxuICAgKiAtIEhhc2ggS2V5OiBgUEtgXG4gICAqIC0gU29ydCBLZXk6IGBTS2BcbiAgICpcbiAgICogQGRlZmF1bHQgY3JlYXRlZCBieSBjb25zdHJ1Y3RcbiAgICovXG4gIHJlYWRvbmx5IHRhYmxlPzogZHluYW1vZGIuSVRhYmxlIHwgZHluYW1vZGIuSVRhYmxlVjI7XG5cbiAgLyoqXG4gICAqIFByZS1zZXQgdGFibGUgbmFtZSBmb3IgYXBwcy92ZXJzaW9ucy9ydWxlc1xuICAgKlxuICAgKiBUaGlzIGlzIHJlcXVpcmVkIHdoZW4gdXNpbmcgdjIgcm91dGluZ1xuICAgKi9cbiAgcmVhZG9ubHkgdGFibGVOYW1lRm9yRWRnZVRvT3JpZ2luPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGVkZ2UgbGFtYmRhIGZ1bmN0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgZWRnZUxhbWJkYXM/OiBjZi5FZGdlTGFtYmRhW107XG5cbiAgLyoqXG4gICAqIEFjY291bnQgSURzIGFsbG93ZWQgZm9yIGNyb3NzLWFjY291bnQgRnVuY3Rpb24gVVJMIGludm9jYXRpb25zXG4gICAqXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICByZWFkb25seSBhbGxvd2VkRnVuY3Rpb25VcmxBY2NvdW50cz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGFsbG93ZWQgbG9jYWxlIHByZWZpeGVzIGZvciBwYWdlc1xuICAgKlxuICAgKiBAZXhhbXBsZTogWydlbicsICdmcicsICdlcyddXG4gICAqIEBkZWZhdWx0IG5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93ZWRMb2NhbGVQcmVmaXhlcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIElBTSBSb2xlIEFSTnMgdGhhdCBzaG91bGQgYmUgYWxsb3dlZCB0byBpbnZva2UgYXBwcyBpbiBjaGlsZCBhY2NvdW50c1xuICAgKi9cbiAgcmVhZG9ubHkgZWRnZVRvT3JpZ2luUm9sZUFSTnM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgTWljcm9BcHBzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSU1pY3JvQXBwcyB7XG4gIC8qKiB7QGluaGVyaXRkb2MgSU1pY3JvQXBwc0NGfSAqL1xuICByZWFkb25seSBjZjogSU1pY3JvQXBwc0NGO1xuXG4gIC8qKiB7QGluaGVyaXRkb2MgSU1pY3JvQXBwc0VkZ2VUb09yaWdpbn0gKi9cbiAgcmVhZG9ubHkgZWRnZVRvT3JpZ2luPzogSU1pY3JvQXBwc0VkZ2VUb09yaWdpbjtcblxuICAvKioge0Bpbmhlcml0ZG9jIElNaWNyb0FwcHNTM30gKi9cbiAgcmVhZG9ubHkgczM6IElNaWNyb0FwcHNTMztcblxuICAvKioge0Bpbmhlcml0ZG9jIElNaWNyb0FwcHNTdmNzfSAqL1xuICByZWFkb25seSBzdmNzOiBJTWljcm9BcHBzU3Zjcztcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBuZXcgTWljcm9BcHBzIFwidHVybmtleVwiIGNvbnN0cnVjdCBmb3Igc2ltcGxlXG4gKiBkZXBsb3ltZW50cyBhbmQgZm9yIGluaXRpYWwgZXZhdWxhdGlvbiBvZiB0aGUgTWljcm9BcHBzIGZyYW1ld29yay5cbiAqXG4gKiBVc2UgdGhpcyBjb25zdHJ1Y3QgdG8gY3JlYXRlIGEgUG9DIHdvcmtpbmcgZW50aXJlIHN0YWNrLlxuICpcbiAqIERvIG5vdCB1c2UgdGhpcyBjb25zdHJ1Y3Qgd2hlbiBhZGRpbmcgTWljcm9BcHBzIHRvIGFuIGV4aXN0aW5nXG4gKiBDbG91ZEZyb250LCBBUEkgR2F0ZXdheSwgUzMgQnVja2V0LCBldGMuIG9yIHdoZXJlIGFjY2Vzc1xuICogdG8gYWxsIGZlYXR1cmVzIG9mIHRoZSBBV1MgUmVzb3VyY2VzIGFyZSBuZWVkZWQgKGUuZy4gdG9cbiAqIGFkZCBhZGRpdGlvbmFsIEJlaGF2aW9ycyB0byB0aGUgQ2xvdWRGcm9udCBkaXN0cmlidXRpb24sIHNldCBhdXRob3Jpem9yc1xuICogb24gQVBJIEdhdGV3YXksIGV0Yy4pLlxuICpcbiAqIEB3YXJuaW5nIFRoaXMgY29uc3RydWN0IGlzIG5vdCBpbnRlbmRlZCBmb3IgcHJvZHVjdGlvbiB1c2UuXG4gKiBJbiBhIHByb2R1Y3Rpb24gc3RhY2sgdGhlIER5bmFtb0RCIFRhYmxlLCBBUEkgR2F0ZXdheSwgUzMgQnVja2V0cyxcbiAqIGV0Yy4gc2hvdWxkIGJlIGNyZWF0ZWQgaW4gYSBcImR1cmFibGVcIiBzdGFjayB3aGVyZSB0aGUgSURzIHdpbGwgbm90XG4gKiBjaGFuZ2UgYW5kIHdoZXJlIGNoYW5nZXMgdG8gdGhlIE1pY3JvQXBwcyBjb25zdHJ1Y3Qgd2lsbCBub3RcbiAqIGNhdXNlIGZhaWx1cmVzIHRvIGRlcGxveSBvciBkYXRhIHRvIGJlIGRlbGV0ZWQuXG4gKlxuICogIEBzZWUge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9wd3JkcnZyL21pY3JvYXBwcy1jb3JlL2Jsb2IvbWFpbi9wYWNrYWdlcy9jZGsvbGliL01pY3JvQXBwcy50cyB8IGV4YW1wbGUgdXNhZ2UgaW4gYSBDREsgU3RhY2sgfVxuICovXG5leHBvcnQgY2xhc3MgTWljcm9BcHBzIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSU1pY3JvQXBwcyB7XG4gIHByaXZhdGUgX2NmOiBNaWNyb0FwcHNDRjtcbiAgcHVibGljIGdldCBjZigpOiBJTWljcm9BcHBzQ0Yge1xuICAgIHJldHVybiB0aGlzLl9jZjtcbiAgfVxuXG4gIHByaXZhdGUgX2VkZ2VUb09yaWdpbj86IE1pY3JvQXBwc0VkZ2VUb09yaWdpbjtcbiAgcHVibGljIGdldCBlZGdlVG9PcmlnaW4oKTogSU1pY3JvQXBwc0VkZ2VUb09yaWdpbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2VkZ2VUb09yaWdpbjtcbiAgfVxuXG4gIHByaXZhdGUgX3MzOiBNaWNyb0FwcHNTMztcbiAgcHVibGljIGdldCBzMygpOiBJTWljcm9BcHBzUzMge1xuICAgIHJldHVybiB0aGlzLl9zMztcbiAgfVxuXG4gIHByaXZhdGUgX3N2Y3M6IE1pY3JvQXBwc1N2Y3M7XG4gIHB1YmxpYyBnZXQgc3ZjcygpOiBJTWljcm9BcHBzU3ZjcyB7XG4gICAgcmV0dXJuIHRoaXMuX3N2Y3M7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IE1pY3JvQXBwc1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGlmIChwcm9wcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3Byb3BzIG11c3QgYmUgc2V0Jyk7XG4gICAgfVxuXG4gICAgY29uc3Qge1xuICAgICAgZG9tYWluTmFtZUVkZ2UsXG4gICAgICBkb21haW5OYW1lT3JpZ2luLFxuICAgICAgYXNzZXROYW1lUm9vdCxcbiAgICAgIGFzc2V0TmFtZVN1ZmZpeCxcbiAgICAgIHI1M1pvbmUsXG4gICAgICBjZXJ0RWRnZSxcbiAgICAgIGFwcEVudiA9ICdkZXYnLFxuICAgICAgcmVtb3ZhbFBvbGljeSxcbiAgICAgIHMzUG9saWN5QnlwYXNzQVJPQXMsXG4gICAgICBzM1BvbGljeUJ5cGFzc1ByaW5jaXBhbEFSTnMsXG4gICAgICBzM1N0cmljdEJ1Y2tldFBvbGljeSxcbiAgICAgIHJvb3RQYXRoUHJlZml4LFxuICAgICAgY3JlYXRlQVBJR2F0ZXdheSA9IGZhbHNlLFxuICAgICAgY3JlYXRlQVBJUGF0aFJvdXRlID0gdHJ1ZSxcbiAgICAgIGNyZWF0ZU5leHREYXRhUGF0aFJvdXRlID0gdHJ1ZSxcbiAgICAgIGFkZFhGb3J3YXJkZWRIb3N0SGVhZGVyID0gdHJ1ZSxcbiAgICAgIHJlcGxhY2VIb3N0SGVhZGVyID0gdHJ1ZSxcbiAgICAgIHNpZ25pbmdNb2RlID0gJ3NpZ24nLFxuICAgICAgb3JpZ2luUmVnaW9uLFxuICAgICAgdGFibGUsXG4gICAgICB0YWJsZU5hbWVGb3JFZGdlVG9PcmlnaW4sXG4gICAgICBvcmlnaW5TaGllbGRSZWdpb24gPSBvcmlnaW5SZWdpb24sXG4gICAgICBhbGxvd2VkRnVuY3Rpb25VcmxBY2NvdW50cyA9IFtdLFxuICAgICAgZWRnZVRvT3JpZ2luUm9sZUFSTnMgPSBbXSxcbiAgICB9ID0gcHJvcHM7XG5cbiAgICB0aGlzLl9zMyA9IG5ldyBNaWNyb0FwcHNTMyh0aGlzLCAnczMnLCB7XG4gICAgICByZW1vdmFsUG9saWN5LFxuICAgICAgYnVja2V0TG9nc05hbWU6IGRvbWFpbk5hbWVFZGdlID8gYCR7cmV2ZXJzZURvbWFpbihkb21haW5OYW1lRWRnZSl9LWxvZ3NgIDogdW5kZWZpbmVkLFxuICAgICAgYnVja2V0QXBwc05hbWU6IGRvbWFpbk5hbWVFZGdlID8gYCR7cmV2ZXJzZURvbWFpbihkb21haW5OYW1lRWRnZSl9YCA6IHVuZGVmaW5lZCxcbiAgICAgIGJ1Y2tldEFwcHNTdGFnaW5nTmFtZTogZG9tYWluTmFtZUVkZ2VcbiAgICAgICAgPyBgJHtyZXZlcnNlRG9tYWluKGRvbWFpbk5hbWVFZGdlKX0tc3RhZ2luZ2BcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBhc3NldE5hbWVSb290LFxuICAgICAgYXNzZXROYW1lU3VmZml4LFxuICAgICAgb3JpZ2luU2hpZWxkUmVnaW9uLFxuICAgIH0pO1xuICAgIHRoaXMuX3N2Y3MgPSBuZXcgTWljcm9BcHBzU3Zjcyh0aGlzLCAnc3ZjcycsIHtcbiAgICAgIHJlbW92YWxQb2xpY3ksXG4gICAgICBidWNrZXRBcHBzOiB0aGlzLl9zMy5idWNrZXRBcHBzLFxuICAgICAgYnVja2V0QXBwc09BSTogdGhpcy5fczMuYnVja2V0QXBwc09BSSxcbiAgICAgIGJ1Y2tldEFwcHNTdGFnaW5nOiB0aGlzLl9zMy5idWNrZXRBcHBzU3RhZ2luZyxcbiAgICAgIGFzc2V0TmFtZVJvb3QsXG4gICAgICBhc3NldE5hbWVTdWZmaXgsXG4gICAgICBhcHBFbnYsXG4gICAgICBzM1BvbGljeUJ5cGFzc0FST0FzLFxuICAgICAgczNQb2xpY3lCeXBhc3NQcmluY2lwYWxBUk5zLFxuICAgICAgczNTdHJpY3RCdWNrZXRQb2xpY3ksXG4gICAgICByb290UGF0aFByZWZpeCxcbiAgICAgIHJlcXVpcmVJQU1BdXRob3JpemF0aW9uOiBzaWduaW5nTW9kZSAhPT0gJ25vbmUnLFxuICAgICAgdGFibGUsXG4gICAgICBlZGdlVG9PcmlnaW5Sb2xlQVJOOiBlZGdlVG9PcmlnaW5Sb2xlQVJOcyxcbiAgICB9KTtcbiAgICBjb25zdCBlZGdlTGFtYmRhczogY2YuRWRnZUxhbWJkYVtdID0gW107XG5cbiAgICBpZiAoc2lnbmluZ01vZGUgIT09ICdub25lJyB8fCByZXBsYWNlSG9zdEhlYWRlciB8fCBhZGRYRm9yd2FyZGVkSG9zdEhlYWRlcikge1xuICAgICAgdGhpcy5fZWRnZVRvT3JpZ2luID0gbmV3IE1pY3JvQXBwc0VkZ2VUb09yaWdpbih0aGlzLCAnZWRnZVRvT3JpZ2luJywge1xuICAgICAgICBhc3NldE5hbWVSb290LFxuICAgICAgICBhc3NldE5hbWVTdWZmaXgsXG4gICAgICAgIHJlbW92YWxQb2xpY3ksXG4gICAgICAgIGFkZFhGb3J3YXJkZWRIb3N0SGVhZGVyLFxuICAgICAgICBzZXR1cEFwaUdhdGV3YXlQZXJtaXNzaW9uczogY3JlYXRlQVBJR2F0ZXdheSxcbiAgICAgICAgcmVwbGFjZUhvc3RIZWFkZXIsXG4gICAgICAgIG9yaWdpblJlZ2lvbixcbiAgICAgICAgc2lnbmluZ01vZGUsXG4gICAgICAgIHJvb3RQYXRoUHJlZml4LFxuICAgICAgICB0YWJsZVJ1bGVzQXJuOiB0YWJsZU5hbWVGb3JFZGdlVG9PcmlnaW4gfHwgdGhpcy5fc3Zjcy50YWJsZS50YWJsZU5hbWUsXG4gICAgICAgIGFsbG93ZWRGdW5jdGlvblVybEFjY291bnRzLFxuICAgICAgICBhbGxvd2VkTG9jYWxlUHJlZml4ZXM6IHByb3BzLmFsbG93ZWRMb2NhbGVQcmVmaXhlcyxcbiAgICAgIH0pO1xuXG4gICAgICBlZGdlTGFtYmRhcy5wdXNoKC4uLnRoaXMuX2VkZ2VUb09yaWdpbi5lZGdlVG9PcmlnaW5MYW1iZGFzKTtcbiAgICB9XG4gICAgLy8gQWRkIGFueSBleHRyYSBsYW1iZGFzXG4gICAgaWYgKHByb3BzLmVkZ2VMYW1iZGFzPy5sZW5ndGgpIHtcbiAgICAgIGVkZ2VMYW1iZGFzLnB1c2goLi4ucHJvcHMuZWRnZUxhbWJkYXMpO1xuICAgIH1cbiAgICB0aGlzLl9jZiA9IG5ldyBNaWNyb0FwcHNDRih0aGlzLCAnY2Z0Jywge1xuICAgICAgcmVtb3ZhbFBvbGljeSxcbiAgICAgIGFzc2V0TmFtZVJvb3QsXG4gICAgICBhc3NldE5hbWVTdWZmaXgsXG4gICAgICBkb21haW5OYW1lRWRnZSxcbiAgICAgIGRvbWFpbk5hbWVPcmlnaW4sXG4gICAgICByNTNab25lLFxuICAgICAgY2VydEVkZ2UsXG4gICAgICBidWNrZXRBcHBzT3JpZ2luUzM6IHRoaXMuX3MzLmJ1Y2tldEFwcHNPcmlnaW5TMyxcbiAgICAgIGJ1Y2tldEFwcHNPcmlnaW5BcHA6IHRoaXMuX3MzLmJ1Y2tldEFwcHNPcmlnaW5BcHAsXG4gICAgICBidWNrZXRMb2dzOiB0aGlzLl9zMy5idWNrZXRMb2dzLFxuICAgICAgcm9vdFBhdGhQcmVmaXgsXG4gICAgICBjcmVhdGVBUElQYXRoUm91dGUsXG4gICAgICBjcmVhdGVOZXh0RGF0YVBhdGhSb3V0ZSxcbiAgICAgIG9yaWdpblNoaWVsZFJlZ2lvbixcbiAgICAgIC4uLihlZGdlTGFtYmRhcy5sZW5ndGggPyB7IGVkZ2VMYW1iZGFzIH0gOiB7fSksXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
package/lib/MicroAppsCF.d.ts
CHANGED
|
@@ -30,12 +30,12 @@ export interface MicroAppsCFProps {
|
|
|
30
30
|
* S3 bucket origin for deployed applications
|
|
31
31
|
* Marked with `x-microapps-origin: s3`
|
|
32
32
|
*/
|
|
33
|
-
readonly bucketAppsOriginS3:
|
|
33
|
+
readonly bucketAppsOriginS3: cf.IOrigin;
|
|
34
34
|
/**
|
|
35
35
|
* S3 bucket origin for deployed applications
|
|
36
36
|
* Marked with `x-microapps-origin: app`
|
|
37
37
|
*/
|
|
38
|
-
readonly bucketAppsOriginApp:
|
|
38
|
+
readonly bucketAppsOriginApp: cf.IOrigin;
|
|
39
39
|
/**
|
|
40
40
|
* S3 bucket for CloudFront logs
|
|
41
41
|
*/
|