@biggive/components-angular 202307201413.0.0 → 202307271726.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -64,8 +64,8 @@ let BiggiveAccordion = class BiggiveAccordion {
64
64
  c.detach();
65
65
  this.el = r.nativeElement;
66
66
  }
67
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveAccordion, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
68
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveAccordion, selector: "biggive-accordion", inputs: { headingColour: "headingColour", spaceBelow: "spaceBelow", textColour: "textColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
67
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveAccordion, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
68
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveAccordion, selector: "biggive-accordion", inputs: { headingColour: "headingColour", spaceBelow: "spaceBelow", textColour: "textColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
69
69
  };
70
70
  BiggiveAccordion = __decorate([
71
71
  ProxyCmp({
@@ -74,7 +74,7 @@ BiggiveAccordion = __decorate([
74
74
  })
75
75
  ], BiggiveAccordion);
76
76
  export { BiggiveAccordion };
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveAccordion, decorators: [{
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveAccordion, decorators: [{
78
78
  type: Component,
79
79
  args: [{
80
80
  selector: 'biggive-accordion',
@@ -92,8 +92,8 @@ let BiggiveAccordionEntry = class BiggiveAccordionEntry {
92
92
  c.detach();
93
93
  this.el = r.nativeElement;
94
94
  }
95
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveAccordionEntry, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
96
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveAccordionEntry, selector: "biggive-accordion-entry", inputs: { heading: "heading" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
95
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveAccordionEntry, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
96
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveAccordionEntry, selector: "biggive-accordion-entry", inputs: { heading: "heading" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
97
97
  };
98
98
  BiggiveAccordionEntry = __decorate([
99
99
  ProxyCmp({
@@ -102,7 +102,7 @@ BiggiveAccordionEntry = __decorate([
102
102
  })
103
103
  ], BiggiveAccordionEntry);
104
104
  export { BiggiveAccordionEntry };
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveAccordionEntry, decorators: [{
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveAccordionEntry, decorators: [{
106
106
  type: Component,
107
107
  args: [{
108
108
  selector: 'biggive-accordion-entry',
@@ -120,8 +120,8 @@ let BiggiveArticleCard = class BiggiveArticleCard {
120
120
  c.detach();
121
121
  this.el = r.nativeElement;
122
122
  }
123
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveArticleCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
124
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveArticleCard, selector: "biggive-article-card", inputs: { backgroundColour: "backgroundColour", backgroundImageUrl: "backgroundImageUrl", buttonColour: "buttonColour", buttonLabel: "buttonLabel", buttonUrl: "buttonUrl", clipBottomLeftCorner: "clipBottomLeftCorner", clipTopRightCorner: "clipTopRightCorner", date: "date", dateColour: "dateColour", image1AltText: "image1AltText", image1Url: "image1Url", image2AltText: "image2AltText", image2Url: "image2Url", imageLabel: "imageLabel", imageLabelColour: "imageLabelColour", mainImageAltText: "mainImageAltText", mainImageUrl: "mainImageUrl", mainTitle: "mainTitle", mainTitleColour: "mainTitleColour", slug: "slug", slugColour: "slugColour", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
123
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveArticleCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
124
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveArticleCard, selector: "biggive-article-card", inputs: { backgroundColour: "backgroundColour", backgroundImageUrl: "backgroundImageUrl", buttonColour: "buttonColour", buttonLabel: "buttonLabel", buttonUrl: "buttonUrl", clipBottomLeftCorner: "clipBottomLeftCorner", clipTopRightCorner: "clipTopRightCorner", date: "date", dateColour: "dateColour", image1AltText: "image1AltText", image1Url: "image1Url", image2AltText: "image2AltText", image2Url: "image2Url", imageLabel: "imageLabel", imageLabelColour: "imageLabelColour", mainImageAltText: "mainImageAltText", mainImageUrl: "mainImageUrl", mainTitle: "mainTitle", mainTitleColour: "mainTitleColour", slug: "slug", slugColour: "slugColour", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
125
125
  };
126
126
  BiggiveArticleCard = __decorate([
127
127
  ProxyCmp({
@@ -130,7 +130,7 @@ BiggiveArticleCard = __decorate([
130
130
  })
131
131
  ], BiggiveArticleCard);
132
132
  export { BiggiveArticleCard };
133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveArticleCard, decorators: [{
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveArticleCard, decorators: [{
134
134
  type: Component,
135
135
  args: [{
136
136
  selector: 'biggive-article-card',
@@ -148,8 +148,8 @@ let BiggiveBackToTop = class BiggiveBackToTop {
148
148
  c.detach();
149
149
  this.el = r.nativeElement;
150
150
  }
151
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveBackToTop, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
152
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveBackToTop, selector: "biggive-back-to-top", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
151
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveBackToTop, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
152
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveBackToTop, selector: "biggive-back-to-top", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
153
153
  };
154
154
  BiggiveBackToTop = __decorate([
155
155
  ProxyCmp({
@@ -157,7 +157,7 @@ BiggiveBackToTop = __decorate([
157
157
  })
158
158
  ], BiggiveBackToTop);
159
159
  export { BiggiveBackToTop };
160
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveBackToTop, decorators: [{
160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveBackToTop, decorators: [{
161
161
  type: Component,
162
162
  args: [{
163
163
  selector: 'biggive-back-to-top',
@@ -175,8 +175,8 @@ let BiggiveBasicCard = class BiggiveBasicCard {
175
175
  c.detach();
176
176
  this.el = r.nativeElement;
177
177
  }
178
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveBasicCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
179
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveBasicCard, selector: "biggive-basic-card", inputs: { addAnimation: "addAnimation", backgroundColour: "backgroundColour", backgroundImageUrl: "backgroundImageUrl", buttonAlign: "buttonAlign", buttonColourScheme: "buttonColourScheme", buttonLabel: "buttonLabel", buttonStyle: "buttonStyle", buttonUrl: "buttonUrl", cardColour: "cardColour", clipBottomLeftCorner: "clipBottomLeftCorner", clipTopRightCorner: "clipTopRightCorner", headingLevel: "headingLevel", icon: "icon", iconColour: "iconColour", mainImageAltText: "mainImageAltText", mainImageUrl: "mainImageUrl", mainTitle: "mainTitle", spaceBelow: "spaceBelow", subtitle: "subtitle", teaser: "teaser", textColour: "textColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
178
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveBasicCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
179
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveBasicCard, selector: "biggive-basic-card", inputs: { addAnimation: "addAnimation", backgroundColour: "backgroundColour", backgroundImageUrl: "backgroundImageUrl", buttonAlign: "buttonAlign", buttonColourScheme: "buttonColourScheme", buttonLabel: "buttonLabel", buttonStyle: "buttonStyle", buttonUrl: "buttonUrl", cardColour: "cardColour", clipBottomLeftCorner: "clipBottomLeftCorner", clipTopRightCorner: "clipTopRightCorner", headingLevel: "headingLevel", icon: "icon", iconColour: "iconColour", mainImageAltText: "mainImageAltText", mainImageUrl: "mainImageUrl", mainTitle: "mainTitle", spaceBelow: "spaceBelow", subtitle: "subtitle", teaser: "teaser", textColour: "textColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
180
180
  };
181
181
  BiggiveBasicCard = __decorate([
182
182
  ProxyCmp({
@@ -185,7 +185,7 @@ BiggiveBasicCard = __decorate([
185
185
  })
186
186
  ], BiggiveBasicCard);
187
187
  export { BiggiveBasicCard };
188
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveBasicCard, decorators: [{
188
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveBasicCard, decorators: [{
189
189
  type: Component,
190
190
  args: [{
191
191
  selector: 'biggive-basic-card',
@@ -203,8 +203,8 @@ let BiggiveBeneficiaryIcon = class BiggiveBeneficiaryIcon {
203
203
  c.detach();
204
204
  this.el = r.nativeElement;
205
205
  }
206
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveBeneficiaryIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
207
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveBeneficiaryIcon, selector: "biggive-beneficiary-icon", inputs: { backgroundColour: "backgroundColour", icon: "icon", iconColour: "iconColour", label: "label", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
206
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveBeneficiaryIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
207
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveBeneficiaryIcon, selector: "biggive-beneficiary-icon", inputs: { backgroundColour: "backgroundColour", icon: "icon", iconColour: "iconColour", label: "label", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
208
208
  };
209
209
  BiggiveBeneficiaryIcon = __decorate([
210
210
  ProxyCmp({
@@ -213,7 +213,7 @@ BiggiveBeneficiaryIcon = __decorate([
213
213
  })
214
214
  ], BiggiveBeneficiaryIcon);
215
215
  export { BiggiveBeneficiaryIcon };
216
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveBeneficiaryIcon, decorators: [{
216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveBeneficiaryIcon, decorators: [{
217
217
  type: Component,
218
218
  args: [{
219
219
  selector: 'biggive-beneficiary-icon',
@@ -231,8 +231,8 @@ let BiggiveBiographyCard = class BiggiveBiographyCard {
231
231
  c.detach();
232
232
  this.el = r.nativeElement;
233
233
  }
234
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveBiographyCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
235
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveBiographyCard, selector: "biggive-biography-card", inputs: { backgroundColour: "backgroundColour", borderWidth: "borderWidth", circle: "circle", circleColour: "circleColour", fullName: "fullName", imageStyle: "imageStyle", imageUrl: "imageUrl", jobTitle: "jobTitle", ratio: "ratio", rounded: "rounded", spaceBelow: "spaceBelow", textAlign: "textAlign", textColour: "textColour", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
234
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveBiographyCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
235
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveBiographyCard, selector: "biggive-biography-card", inputs: { backgroundColour: "backgroundColour", borderWidth: "borderWidth", circle: "circle", circleColour: "circleColour", fullName: "fullName", imageStyle: "imageStyle", imageUrl: "imageUrl", jobTitle: "jobTitle", ratio: "ratio", rounded: "rounded", spaceBelow: "spaceBelow", textAlign: "textAlign", textColour: "textColour", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
236
236
  };
237
237
  BiggiveBiographyCard = __decorate([
238
238
  ProxyCmp({
@@ -241,7 +241,7 @@ BiggiveBiographyCard = __decorate([
241
241
  })
242
242
  ], BiggiveBiographyCard);
243
243
  export { BiggiveBiographyCard };
244
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveBiographyCard, decorators: [{
244
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveBiographyCard, decorators: [{
245
245
  type: Component,
246
246
  args: [{
247
247
  selector: 'biggive-biography-card',
@@ -259,8 +259,8 @@ let BiggiveBoxedContent = class BiggiveBoxedContent {
259
259
  c.detach();
260
260
  this.el = r.nativeElement;
261
261
  }
262
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveBoxedContent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
263
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveBoxedContent, selector: "biggive-boxed-content", inputs: { backgroundColour: "backgroundColour", horizontalPadding: "horizontalPadding", shadow: "shadow", spaceBelow: "spaceBelow", verticalPadding: "verticalPadding" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
262
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveBoxedContent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
263
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveBoxedContent, selector: "biggive-boxed-content", inputs: { backgroundColour: "backgroundColour", horizontalPadding: "horizontalPadding", shadow: "shadow", spaceBelow: "spaceBelow", verticalPadding: "verticalPadding" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
264
264
  };
265
265
  BiggiveBoxedContent = __decorate([
266
266
  ProxyCmp({
@@ -269,7 +269,7 @@ BiggiveBoxedContent = __decorate([
269
269
  })
270
270
  ], BiggiveBoxedContent);
271
271
  export { BiggiveBoxedContent };
272
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveBoxedContent, decorators: [{
272
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveBoxedContent, decorators: [{
273
273
  type: Component,
274
274
  args: [{
275
275
  selector: 'biggive-boxed-content',
@@ -287,8 +287,8 @@ let BiggiveBrandedImage = class BiggiveBrandedImage {
287
287
  c.detach();
288
288
  this.el = r.nativeElement;
289
289
  }
290
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveBrandedImage, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
291
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveBrandedImage, selector: "biggive-branded-image", inputs: { charityLocation: "charityLocation", charityName: "charityName", charityUrl: "charityUrl", imageUrl: "imageUrl", logoUrl: "logoUrl", slug: "slug", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
290
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveBrandedImage, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
291
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveBrandedImage, selector: "biggive-branded-image", inputs: { charityLocation: "charityLocation", charityName: "charityName", charityUrl: "charityUrl", imageUrl: "imageUrl", logoUrl: "logoUrl", slug: "slug", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
292
292
  };
293
293
  BiggiveBrandedImage = __decorate([
294
294
  ProxyCmp({
@@ -297,7 +297,7 @@ BiggiveBrandedImage = __decorate([
297
297
  })
298
298
  ], BiggiveBrandedImage);
299
299
  export { BiggiveBrandedImage };
300
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveBrandedImage, decorators: [{
300
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveBrandedImage, decorators: [{
301
301
  type: Component,
302
302
  args: [{
303
303
  selector: 'biggive-branded-image',
@@ -316,8 +316,8 @@ let BiggiveButton = class BiggiveButton {
316
316
  this.el = r.nativeElement;
317
317
  proxyOutputs(this, this.el, ['doButtonClick']);
318
318
  }
319
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
320
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveButton, selector: "biggive-button", inputs: { buttonId: "buttonId", centered: "centered", colourScheme: "colourScheme", fullWidth: "fullWidth", label: "label", openInNewTab: "openInNewTab", rounded: "rounded", size: "size", spaceBelow: "spaceBelow", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
319
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
320
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveButton, selector: "biggive-button", inputs: { buttonId: "buttonId", centered: "centered", colourScheme: "colourScheme", fullWidth: "fullWidth", label: "label", openInNewTab: "openInNewTab", rounded: "rounded", size: "size", spaceBelow: "spaceBelow", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
321
321
  };
322
322
  BiggiveButton = __decorate([
323
323
  ProxyCmp({
@@ -326,7 +326,7 @@ BiggiveButton = __decorate([
326
326
  })
327
327
  ], BiggiveButton);
328
328
  export { BiggiveButton };
329
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveButton, decorators: [{
329
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveButton, decorators: [{
330
330
  type: Component,
331
331
  args: [{
332
332
  selector: 'biggive-button',
@@ -344,8 +344,8 @@ let BiggiveCallToAction = class BiggiveCallToAction {
344
344
  c.detach();
345
345
  this.el = r.nativeElement;
346
346
  }
347
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveCallToAction, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
348
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveCallToAction, selector: "biggive-call-to-action", inputs: { defaultTextColour: "defaultTextColour", mainTitle: "mainTitle", mainTitleColour: "mainTitleColour", mainTitleSize: "mainTitleSize", primaryButtonColourScheme: "primaryButtonColourScheme", primaryButtonLabel: "primaryButtonLabel", primaryButtonUrl: "primaryButtonUrl", secondaryButtonColourScheme: "secondaryButtonColourScheme", secondaryButtonLabel: "secondaryButtonLabel", secondaryButtonUrl: "secondaryButtonUrl", slug: "slug", slugColour: "slugColour", slugSize: "slugSize", spaceAbove: "spaceAbove", spaceBelow: "spaceBelow", subtitle: "subtitle", subtitleColour: "subtitleColour", subtitleSize: "subtitleSize", teaser: "teaser", teaserColour: "teaserColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
347
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveCallToAction, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
348
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveCallToAction, selector: "biggive-call-to-action", inputs: { defaultTextColour: "defaultTextColour", mainTitle: "mainTitle", mainTitleColour: "mainTitleColour", mainTitleSize: "mainTitleSize", primaryButtonColourScheme: "primaryButtonColourScheme", primaryButtonLabel: "primaryButtonLabel", primaryButtonUrl: "primaryButtonUrl", secondaryButtonColourScheme: "secondaryButtonColourScheme", secondaryButtonLabel: "secondaryButtonLabel", secondaryButtonUrl: "secondaryButtonUrl", slug: "slug", slugColour: "slugColour", slugSize: "slugSize", spaceAbove: "spaceAbove", spaceBelow: "spaceBelow", subtitle: "subtitle", subtitleColour: "subtitleColour", subtitleSize: "subtitleSize", teaser: "teaser", teaserColour: "teaserColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
349
349
  };
350
350
  BiggiveCallToAction = __decorate([
351
351
  ProxyCmp({
@@ -354,7 +354,7 @@ BiggiveCallToAction = __decorate([
354
354
  })
355
355
  ], BiggiveCallToAction);
356
356
  export { BiggiveCallToAction };
357
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveCallToAction, decorators: [{
357
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveCallToAction, decorators: [{
358
358
  type: Component,
359
359
  args: [{
360
360
  selector: 'biggive-call-to-action',
@@ -373,8 +373,8 @@ let BiggiveCampaignCard = class BiggiveCampaignCard {
373
373
  this.el = r.nativeElement;
374
374
  proxyOutputs(this, this.el, ['doCardGeneralClick']);
375
375
  }
376
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveCampaignCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
377
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveCampaignCard, selector: "biggive-campaign-card", inputs: { banner: "banner", campaignTitle: "campaignTitle", campaignType: "campaignType", datetime: "datetime", donateButtonColourScheme: "donateButtonColourScheme", donateButtonLabel: "donateButtonLabel", donateButtonUrl: "donateButtonUrl", isFutureCampaign: "isFutureCampaign", isPastCampaign: "isPastCampaign", moreInfoButtonColourScheme: "moreInfoButtonColourScheme", moreInfoButtonLabel: "moreInfoButtonLabel", moreInfoButtonUrl: "moreInfoButtonUrl", organisationName: "organisationName", primaryFigureAmount: "primaryFigureAmount", primaryFigureLabel: "primaryFigureLabel", progressBarCounter: "progressBarCounter", secondaryFigureAmount: "secondaryFigureAmount", secondaryFigureLabel: "secondaryFigureLabel", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
376
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveCampaignCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
377
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveCampaignCard, selector: "biggive-campaign-card", inputs: { banner: "banner", campaignTitle: "campaignTitle", campaignType: "campaignType", datetime: "datetime", donateButtonColourScheme: "donateButtonColourScheme", donateButtonLabel: "donateButtonLabel", donateButtonUrl: "donateButtonUrl", isFutureCampaign: "isFutureCampaign", isPastCampaign: "isPastCampaign", moreInfoButtonColourScheme: "moreInfoButtonColourScheme", moreInfoButtonLabel: "moreInfoButtonLabel", moreInfoButtonUrl: "moreInfoButtonUrl", organisationName: "organisationName", primaryFigureAmount: "primaryFigureAmount", primaryFigureLabel: "primaryFigureLabel", progressBarCounter: "progressBarCounter", secondaryFigureAmount: "secondaryFigureAmount", secondaryFigureLabel: "secondaryFigureLabel", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
378
378
  };
379
379
  BiggiveCampaignCard = __decorate([
380
380
  ProxyCmp({
@@ -383,7 +383,7 @@ BiggiveCampaignCard = __decorate([
383
383
  })
384
384
  ], BiggiveCampaignCard);
385
385
  export { BiggiveCampaignCard };
386
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveCampaignCard, decorators: [{
386
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveCampaignCard, decorators: [{
387
387
  type: Component,
388
388
  args: [{
389
389
  selector: 'biggive-campaign-card',
@@ -402,8 +402,8 @@ let BiggiveCampaignCardFilterGrid = class BiggiveCampaignCardFilterGrid {
402
402
  this.el = r.nativeElement;
403
403
  proxyOutputs(this, this.el, ['doSearchAndFilterUpdate']);
404
404
  }
405
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveCampaignCardFilterGrid, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
406
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveCampaignCardFilterGrid, selector: "biggive-campaign-card-filter-grid", inputs: { beneficiaryOptions: "beneficiaryOptions", buttonText: "buttonText", categoryOptions: "categoryOptions", fundingOptions: "fundingOptions", intro: "intro", locationOptions: "locationOptions", placeholderText: "placeholderText", searchText: "searchText", selectedFilterBeneficiary: "selectedFilterBeneficiary", selectedFilterCategory: "selectedFilterCategory", selectedFilterFunding: "selectedFilterFunding", selectedFilterLocation: "selectedFilterLocation", selectedSortByOption: "selectedSortByOption", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
405
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveCampaignCardFilterGrid, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
406
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveCampaignCardFilterGrid, selector: "biggive-campaign-card-filter-grid", inputs: { beneficiaryOptions: "beneficiaryOptions", buttonText: "buttonText", categoryOptions: "categoryOptions", fundingOptions: "fundingOptions", intro: "intro", locationOptions: "locationOptions", placeholderText: "placeholderText", searchText: "searchText", selectedFilterBeneficiary: "selectedFilterBeneficiary", selectedFilterCategory: "selectedFilterCategory", selectedFilterFunding: "selectedFilterFunding", selectedFilterLocation: "selectedFilterLocation", selectedSortByOption: "selectedSortByOption", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
407
407
  };
408
408
  BiggiveCampaignCardFilterGrid = __decorate([
409
409
  ProxyCmp({
@@ -412,7 +412,7 @@ BiggiveCampaignCardFilterGrid = __decorate([
412
412
  })
413
413
  ], BiggiveCampaignCardFilterGrid);
414
414
  export { BiggiveCampaignCardFilterGrid };
415
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveCampaignCardFilterGrid, decorators: [{
415
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveCampaignCardFilterGrid, decorators: [{
416
416
  type: Component,
417
417
  args: [{
418
418
  selector: 'biggive-campaign-card-filter-grid',
@@ -430,8 +430,8 @@ let BiggiveCampaignHighlights = class BiggiveCampaignHighlights {
430
430
  c.detach();
431
431
  this.el = r.nativeElement;
432
432
  }
433
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveCampaignHighlights, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
434
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveCampaignHighlights, selector: "biggive-campaign-highlights", inputs: { banner: "banner", campaignTitle: "campaignTitle", championName: "championName", championUrl: "championUrl", primaryFigureAmount: "primaryFigureAmount", primaryFigureLabel: "primaryFigureLabel", primaryStatIcon: "primaryStatIcon", primaryStatText: "primaryStatText", progressBarCounter: "progressBarCounter", secondaryFigureAmount: "secondaryFigureAmount", secondaryFigureLabel: "secondaryFigureLabel", secondaryStatIcon: "secondaryStatIcon", secondaryStatText: "secondaryStatText", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
433
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveCampaignHighlights, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
434
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveCampaignHighlights, selector: "biggive-campaign-highlights", inputs: { banner: "banner", campaignTitle: "campaignTitle", championName: "championName", championUrl: "championUrl", primaryFigureAmount: "primaryFigureAmount", primaryFigureLabel: "primaryFigureLabel", primaryStatIcon: "primaryStatIcon", primaryStatText: "primaryStatText", progressBarCounter: "progressBarCounter", secondaryFigureAmount: "secondaryFigureAmount", secondaryFigureLabel: "secondaryFigureLabel", secondaryStatIcon: "secondaryStatIcon", secondaryStatText: "secondaryStatText", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
435
435
  };
436
436
  BiggiveCampaignHighlights = __decorate([
437
437
  ProxyCmp({
@@ -440,7 +440,7 @@ BiggiveCampaignHighlights = __decorate([
440
440
  })
441
441
  ], BiggiveCampaignHighlights);
442
442
  export { BiggiveCampaignHighlights };
443
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveCampaignHighlights, decorators: [{
443
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveCampaignHighlights, decorators: [{
444
444
  type: Component,
445
445
  args: [{
446
446
  selector: 'biggive-campaign-highlights',
@@ -458,8 +458,8 @@ let BiggiveCarousel = class BiggiveCarousel {
458
458
  c.detach();
459
459
  this.el = r.nativeElement;
460
460
  }
461
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveCarousel, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
462
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveCarousel, selector: "biggive-carousel", inputs: { buttonBackgroundColour: "buttonBackgroundColour", buttonIconColour: "buttonIconColour", columnCount: "columnCount", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
461
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveCarousel, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
462
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveCarousel, selector: "biggive-carousel", inputs: { buttonBackgroundColour: "buttonBackgroundColour", buttonIconColour: "buttonIconColour", columnCount: "columnCount", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
463
463
  };
464
464
  BiggiveCarousel = __decorate([
465
465
  ProxyCmp({
@@ -469,7 +469,7 @@ BiggiveCarousel = __decorate([
469
469
  })
470
470
  ], BiggiveCarousel);
471
471
  export { BiggiveCarousel };
472
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveCarousel, decorators: [{
472
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveCarousel, decorators: [{
473
473
  type: Component,
474
474
  args: [{
475
475
  selector: 'biggive-carousel',
@@ -487,8 +487,8 @@ let BiggiveCategoryIcon = class BiggiveCategoryIcon {
487
487
  c.detach();
488
488
  this.el = r.nativeElement;
489
489
  }
490
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveCategoryIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
491
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveCategoryIcon, selector: "biggive-category-icon", inputs: { backgroundColour: "backgroundColour", icon: "icon", iconColour: "iconColour", label: "label", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
490
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveCategoryIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
491
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveCategoryIcon, selector: "biggive-category-icon", inputs: { backgroundColour: "backgroundColour", icon: "icon", iconColour: "iconColour", label: "label", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
492
492
  };
493
493
  BiggiveCategoryIcon = __decorate([
494
494
  ProxyCmp({
@@ -497,7 +497,7 @@ BiggiveCategoryIcon = __decorate([
497
497
  })
498
498
  ], BiggiveCategoryIcon);
499
499
  export { BiggiveCategoryIcon };
500
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveCategoryIcon, decorators: [{
500
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveCategoryIcon, decorators: [{
501
501
  type: Component,
502
502
  args: [{
503
503
  selector: 'biggive-category-icon',
@@ -515,8 +515,8 @@ let BiggiveFilteredCarousel = class BiggiveFilteredCarousel {
515
515
  c.detach();
516
516
  this.el = r.nativeElement;
517
517
  }
518
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveFilteredCarousel, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
519
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveFilteredCarousel, selector: "biggive-filtered-carousel", inputs: { buttonBackgroundColour: "buttonBackgroundColour", buttonIconColour: "buttonIconColour", columnCount: "columnCount", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
518
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveFilteredCarousel, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
519
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveFilteredCarousel, selector: "biggive-filtered-carousel", inputs: { buttonBackgroundColour: "buttonBackgroundColour", buttonIconColour: "buttonIconColour", columnCount: "columnCount", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
520
520
  };
521
521
  BiggiveFilteredCarousel = __decorate([
522
522
  ProxyCmp({
@@ -525,7 +525,7 @@ BiggiveFilteredCarousel = __decorate([
525
525
  })
526
526
  ], BiggiveFilteredCarousel);
527
527
  export { BiggiveFilteredCarousel };
528
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveFilteredCarousel, decorators: [{
528
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveFilteredCarousel, decorators: [{
529
529
  type: Component,
530
530
  args: [{
531
531
  selector: 'biggive-filtered-carousel',
@@ -543,8 +543,8 @@ let BiggiveFooter = class BiggiveFooter {
543
543
  c.detach();
544
544
  this.el = r.nativeElement;
545
545
  }
546
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveFooter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
547
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveFooter, selector: "biggive-footer", inputs: { blogUrlPrefix: "blogUrlPrefix", experienceUrlPrefix: "experienceUrlPrefix", headingLevel: "headingLevel", usePresetFooter: "usePresetFooter" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
546
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveFooter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
547
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveFooter, selector: "biggive-footer", inputs: { blogUrlPrefix: "blogUrlPrefix", experienceUrlPrefix: "experienceUrlPrefix", headingLevel: "headingLevel", usePresetFooter: "usePresetFooter" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
548
548
  };
549
549
  BiggiveFooter = __decorate([
550
550
  ProxyCmp({
@@ -553,7 +553,7 @@ BiggiveFooter = __decorate([
553
553
  })
554
554
  ], BiggiveFooter);
555
555
  export { BiggiveFooter };
556
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveFooter, decorators: [{
556
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveFooter, decorators: [{
557
557
  type: Component,
558
558
  args: [{
559
559
  selector: 'biggive-footer',
@@ -571,8 +571,8 @@ let BiggiveForm = class BiggiveForm {
571
571
  c.detach();
572
572
  this.el = r.nativeElement;
573
573
  }
574
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveForm, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
575
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveForm, selector: "biggive-form", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
574
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveForm, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
575
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveForm, selector: "biggive-form", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
576
576
  };
577
577
  BiggiveForm = __decorate([
578
578
  ProxyCmp({
@@ -580,7 +580,7 @@ BiggiveForm = __decorate([
580
580
  })
581
581
  ], BiggiveForm);
582
582
  export { BiggiveForm };
583
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveForm, decorators: [{
583
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveForm, decorators: [{
584
584
  type: Component,
585
585
  args: [{
586
586
  selector: 'biggive-form',
@@ -598,8 +598,8 @@ let BiggiveFormFieldSelect = class BiggiveFormFieldSelect {
598
598
  c.detach();
599
599
  this.el = r.nativeElement;
600
600
  }
601
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveFormFieldSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
602
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveFormFieldSelect, selector: "biggive-form-field-select", inputs: { backgroundColour: "backgroundColour", options: "options", placeholder: "placeholder", prompt: "prompt", selectStyle: "selectStyle", selectedLabel: "selectedLabel", selectedOptionColour: "selectedOptionColour", selectedValue: "selectedValue", selectionChanged: "selectionChanged", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
601
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveFormFieldSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
602
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveFormFieldSelect, selector: "biggive-form-field-select", inputs: { backgroundColour: "backgroundColour", options: "options", placeholder: "placeholder", prompt: "prompt", selectStyle: "selectStyle", selectedLabel: "selectedLabel", selectedOptionColour: "selectedOptionColour", selectedValue: "selectedValue", selectionChanged: "selectionChanged", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
603
603
  };
604
604
  BiggiveFormFieldSelect = __decorate([
605
605
  ProxyCmp({
@@ -608,7 +608,7 @@ BiggiveFormFieldSelect = __decorate([
608
608
  })
609
609
  ], BiggiveFormFieldSelect);
610
610
  export { BiggiveFormFieldSelect };
611
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveFormFieldSelect, decorators: [{
611
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveFormFieldSelect, decorators: [{
612
612
  type: Component,
613
613
  args: [{
614
614
  selector: 'biggive-form-field-select',
@@ -626,8 +626,8 @@ let BiggiveFormattedText = class BiggiveFormattedText {
626
626
  c.detach();
627
627
  this.el = r.nativeElement;
628
628
  }
629
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveFormattedText, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
630
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveFormattedText, selector: "biggive-formatted-text", inputs: { defaultTextColour: "defaultTextColour", maxWidth: "maxWidth", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
629
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveFormattedText, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
630
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveFormattedText, selector: "biggive-formatted-text", inputs: { defaultTextColour: "defaultTextColour", maxWidth: "maxWidth", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
631
631
  };
632
632
  BiggiveFormattedText = __decorate([
633
633
  ProxyCmp({
@@ -636,7 +636,7 @@ BiggiveFormattedText = __decorate([
636
636
  })
637
637
  ], BiggiveFormattedText);
638
638
  export { BiggiveFormattedText };
639
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveFormattedText, decorators: [{
639
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveFormattedText, decorators: [{
640
640
  type: Component,
641
641
  args: [{
642
642
  selector: 'biggive-formatted-text',
@@ -654,8 +654,8 @@ let BiggiveGenericIcon = class BiggiveGenericIcon {
654
654
  c.detach();
655
655
  this.el = r.nativeElement;
656
656
  }
657
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveGenericIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
658
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveGenericIcon, selector: "biggive-generic-icon", inputs: { backgroundColour: "backgroundColour", icon: "icon", iconColour: "iconColour", iconGroup: "iconGroup", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
657
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveGenericIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
658
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveGenericIcon, selector: "biggive-generic-icon", inputs: { backgroundColour: "backgroundColour", icon: "icon", iconColour: "iconColour", iconGroup: "iconGroup", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
659
659
  };
660
660
  BiggiveGenericIcon = __decorate([
661
661
  ProxyCmp({
@@ -664,7 +664,7 @@ BiggiveGenericIcon = __decorate([
664
664
  })
665
665
  ], BiggiveGenericIcon);
666
666
  export { BiggiveGenericIcon };
667
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveGenericIcon, decorators: [{
667
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveGenericIcon, decorators: [{
668
668
  type: Component,
669
669
  args: [{
670
670
  selector: 'biggive-generic-icon',
@@ -682,8 +682,8 @@ let BiggiveGrid = class BiggiveGrid {
682
682
  c.detach();
683
683
  this.el = r.nativeElement;
684
684
  }
685
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveGrid, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
686
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveGrid, selector: "biggive-grid", inputs: { columnCount: "columnCount", columnGap: "columnGap", spaceBelow: "spaceBelow", spaceBetween: "spaceBetween" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
685
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveGrid, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
686
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveGrid, selector: "biggive-grid", inputs: { columnCount: "columnCount", columnGap: "columnGap", spaceBelow: "spaceBelow", spaceBetween: "spaceBetween" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
687
687
  };
688
688
  BiggiveGrid = __decorate([
689
689
  ProxyCmp({
@@ -692,7 +692,7 @@ BiggiveGrid = __decorate([
692
692
  })
693
693
  ], BiggiveGrid);
694
694
  export { BiggiveGrid };
695
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveGrid, decorators: [{
695
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveGrid, decorators: [{
696
696
  type: Component,
697
697
  args: [{
698
698
  selector: 'biggive-grid',
@@ -710,8 +710,8 @@ let BiggiveHeading = class BiggiveHeading {
710
710
  c.detach();
711
711
  this.el = r.nativeElement;
712
712
  }
713
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveHeading, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
714
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveHeading, selector: "biggive-heading", inputs: { align: "align", colour: "colour", htmlElement: "htmlElement", icon: "icon", iconColour: "iconColour", size: "size", spaceAbove: "spaceAbove", spaceBelow: "spaceBelow", text: "text" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
713
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveHeading, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
714
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveHeading, selector: "biggive-heading", inputs: { align: "align", colour: "colour", htmlElement: "htmlElement", icon: "icon", iconColour: "iconColour", size: "size", spaceAbove: "spaceAbove", spaceBelow: "spaceBelow", text: "text" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
715
715
  };
716
716
  BiggiveHeading = __decorate([
717
717
  ProxyCmp({
@@ -720,7 +720,7 @@ BiggiveHeading = __decorate([
720
720
  })
721
721
  ], BiggiveHeading);
722
722
  export { BiggiveHeading };
723
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveHeading, decorators: [{
723
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveHeading, decorators: [{
724
724
  type: Component,
725
725
  args: [{
726
726
  selector: 'biggive-heading',
@@ -738,8 +738,8 @@ let BiggiveHeroImage = class BiggiveHeroImage {
738
738
  c.detach();
739
739
  this.el = r.nativeElement;
740
740
  }
741
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveHeroImage, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
742
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveHeroImage, selector: "biggive-hero-image", inputs: { buttonColourScheme: "buttonColourScheme", buttonLabel: "buttonLabel", buttonUrl: "buttonUrl", colourScheme: "colourScheme", logo: "logo", logoAltText: "logoAltText", logoHeight: "logoHeight", mainImage: "mainImage", mainImageAlignHorizontal: "mainImageAlignHorizontal", mainImageAlignVertical: "mainImageAlignVertical", mainTitle: "mainTitle", mainTitleColour: "mainTitleColour", slug: "slug", slugColour: "slugColour", spaceBelow: "spaceBelow", teaser: "teaser", teaserColour: "teaserColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
741
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveHeroImage, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
742
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveHeroImage, selector: "biggive-hero-image", inputs: { buttonColourScheme: "buttonColourScheme", buttonLabel: "buttonLabel", buttonUrl: "buttonUrl", colourScheme: "colourScheme", logo: "logo", logoAltText: "logoAltText", logoHeight: "logoHeight", mainImage: "mainImage", mainImageAlignHorizontal: "mainImageAlignHorizontal", mainImageAlignVertical: "mainImageAlignVertical", mainTitle: "mainTitle", mainTitleColour: "mainTitleColour", slug: "slug", slugColour: "slugColour", spaceBelow: "spaceBelow", teaser: "teaser", teaserColour: "teaserColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
743
743
  };
744
744
  BiggiveHeroImage = __decorate([
745
745
  ProxyCmp({
@@ -748,7 +748,7 @@ BiggiveHeroImage = __decorate([
748
748
  })
749
749
  ], BiggiveHeroImage);
750
750
  export { BiggiveHeroImage };
751
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveHeroImage, decorators: [{
751
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveHeroImage, decorators: [{
752
752
  type: Component,
753
753
  args: [{
754
754
  selector: 'biggive-hero-image',
@@ -767,8 +767,8 @@ let BiggiveIconButton = class BiggiveIconButton {
767
767
  this.el = r.nativeElement;
768
768
  proxyOutputs(this, this.el, ['doButtonClick']);
769
769
  }
770
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveIconButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
771
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveIconButton, selector: "biggive-icon-button", inputs: { arrow: "arrow", arrowColour: "arrowColour", backgroundColour: "backgroundColour", backgroundPadding: "backgroundPadding", buttonId: "buttonId", centered: "centered", circle: "circle", icon: "icon", iconGroup: "iconGroup", openInNewTab: "openInNewTab", rounded: "rounded", shadow: "shadow", size: "size", spaceBelow: "spaceBelow", text: "text", textColour: "textColour", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
770
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveIconButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
771
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveIconButton, selector: "biggive-icon-button", inputs: { arrow: "arrow", arrowColour: "arrowColour", backgroundColour: "backgroundColour", backgroundPadding: "backgroundPadding", buttonId: "buttonId", centered: "centered", circle: "circle", icon: "icon", iconGroup: "iconGroup", openInNewTab: "openInNewTab", rounded: "rounded", shadow: "shadow", size: "size", spaceBelow: "spaceBelow", text: "text", textColour: "textColour", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
772
772
  };
773
773
  BiggiveIconButton = __decorate([
774
774
  ProxyCmp({
@@ -777,7 +777,7 @@ BiggiveIconButton = __decorate([
777
777
  })
778
778
  ], BiggiveIconButton);
779
779
  export { BiggiveIconButton };
780
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveIconButton, decorators: [{
780
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveIconButton, decorators: [{
781
781
  type: Component,
782
782
  args: [{
783
783
  selector: 'biggive-icon-button',
@@ -795,8 +795,8 @@ let BiggiveIconGroup = class BiggiveIconGroup {
795
795
  c.detach();
796
796
  this.el = r.nativeElement;
797
797
  }
798
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveIconGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
799
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveIconGroup, selector: "biggive-icon-group", inputs: { label: "label", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
798
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveIconGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
799
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveIconGroup, selector: "biggive-icon-group", inputs: { label: "label", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
800
800
  };
801
801
  BiggiveIconGroup = __decorate([
802
802
  ProxyCmp({
@@ -805,7 +805,7 @@ BiggiveIconGroup = __decorate([
805
805
  })
806
806
  ], BiggiveIconGroup);
807
807
  export { BiggiveIconGroup };
808
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveIconGroup, decorators: [{
808
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveIconGroup, decorators: [{
809
809
  type: Component,
810
810
  args: [{
811
811
  selector: 'biggive-icon-group',
@@ -823,8 +823,8 @@ let BiggiveImage = class BiggiveImage {
823
823
  c.detach();
824
824
  this.el = r.nativeElement;
825
825
  }
826
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveImage, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
827
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveImage, selector: "biggive-image", inputs: { height: "height", imageAltText: "imageAltText", imageUrl: "imageUrl", sizeUnit: "sizeUnit", spaceAbove: "spaceAbove", spaceBelow: "spaceBelow", width: "width" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
826
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveImage, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
827
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveImage, selector: "biggive-image", inputs: { height: "height", imageAltText: "imageAltText", imageUrl: "imageUrl", sizeUnit: "sizeUnit", spaceAbove: "spaceAbove", spaceBelow: "spaceBelow", width: "width" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
828
828
  };
829
829
  BiggiveImage = __decorate([
830
830
  ProxyCmp({
@@ -833,7 +833,7 @@ BiggiveImage = __decorate([
833
833
  })
834
834
  ], BiggiveImage);
835
835
  export { BiggiveImage };
836
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveImage, decorators: [{
836
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveImage, decorators: [{
837
837
  type: Component,
838
838
  args: [{
839
839
  selector: 'biggive-image',
@@ -852,8 +852,8 @@ let BiggiveImageButton = class BiggiveImageButton {
852
852
  this.el = r.nativeElement;
853
853
  proxyOutputs(this, this.el, ['doButtonClick']);
854
854
  }
855
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveImageButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
856
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveImageButton, selector: "biggive-image-button", inputs: { arrow: "arrow", arrowColour: "arrowColour", backgroundColour: "backgroundColour", backgroundPadding: "backgroundPadding", buttonId: "buttonId", centered: "centered", circle: "circle", imageStyle: "imageStyle", imageUrl: "imageUrl", openInNewTab: "openInNewTab", rounded: "rounded", shadow: "shadow", size: "size", spaceBelow: "spaceBelow", text: "text", textColour: "textColour", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
855
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveImageButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
856
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveImageButton, selector: "biggive-image-button", inputs: { arrow: "arrow", arrowColour: "arrowColour", backgroundColour: "backgroundColour", backgroundPadding: "backgroundPadding", buttonId: "buttonId", centered: "centered", circle: "circle", imageStyle: "imageStyle", imageUrl: "imageUrl", openInNewTab: "openInNewTab", rounded: "rounded", shadow: "shadow", size: "size", spaceBelow: "spaceBelow", text: "text", textColour: "textColour", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
857
857
  };
858
858
  BiggiveImageButton = __decorate([
859
859
  ProxyCmp({
@@ -862,7 +862,7 @@ BiggiveImageButton = __decorate([
862
862
  })
863
863
  ], BiggiveImageButton);
864
864
  export { BiggiveImageButton };
865
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveImageButton, decorators: [{
865
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveImageButton, decorators: [{
866
866
  type: Component,
867
867
  args: [{
868
868
  selector: 'biggive-image-button',
@@ -880,8 +880,8 @@ let BiggiveImageFeature = class BiggiveImageFeature {
880
880
  c.detach();
881
881
  this.el = r.nativeElement;
882
882
  }
883
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveImageFeature, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
884
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveImageFeature, selector: "biggive-image-feature", inputs: { buttonColourScheme: "buttonColourScheme", buttonLabel: "buttonLabel", buttonUrl: "buttonUrl", defaultTextColour: "defaultTextColour", imageAltText: "imageAltText", imageUrl: "imageUrl", mainTitle: "mainTitle", mainTitleColour: "mainTitleColour", slug: "slug", slugColour: "slugColour", spaceBelow: "spaceBelow", teaser: "teaser", teaserColour: "teaserColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
883
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveImageFeature, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
884
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveImageFeature, selector: "biggive-image-feature", inputs: { buttonColourScheme: "buttonColourScheme", buttonLabel: "buttonLabel", buttonUrl: "buttonUrl", defaultTextColour: "defaultTextColour", imageAltText: "imageAltText", imageUrl: "imageUrl", mainTitle: "mainTitle", mainTitleColour: "mainTitleColour", slug: "slug", slugColour: "slugColour", spaceBelow: "spaceBelow", teaser: "teaser", teaserColour: "teaserColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
885
885
  };
886
886
  BiggiveImageFeature = __decorate([
887
887
  ProxyCmp({
@@ -890,7 +890,7 @@ BiggiveImageFeature = __decorate([
890
890
  })
891
891
  ], BiggiveImageFeature);
892
892
  export { BiggiveImageFeature };
893
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveImageFeature, decorators: [{
893
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveImageFeature, decorators: [{
894
894
  type: Component,
895
895
  args: [{
896
896
  selector: 'biggive-image-feature',
@@ -908,8 +908,8 @@ let BiggiveMainMenu = class BiggiveMainMenu {
908
908
  c.detach();
909
909
  this.el = r.nativeElement;
910
910
  }
911
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveMainMenu, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
912
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveMainMenu, selector: "biggive-main-menu", inputs: { blogUrlPrefix: "blogUrlPrefix", donateUrlPrefix: "donateUrlPrefix", experienceUrlPrefix: "experienceUrlPrefix", isLoggedIn: "isLoggedIn", logoUrl: "logoUrl", usePresetMenuContent: "usePresetMenuContent" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
911
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveMainMenu, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
912
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveMainMenu, selector: "biggive-main-menu", inputs: { blogUrlPrefix: "blogUrlPrefix", donateUrlPrefix: "donateUrlPrefix", experienceUrlPrefix: "experienceUrlPrefix", isLoggedIn: "isLoggedIn", logoUrl: "logoUrl", usePresetMenuContent: "usePresetMenuContent" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
913
913
  };
914
914
  BiggiveMainMenu = __decorate([
915
915
  ProxyCmp({
@@ -919,7 +919,7 @@ BiggiveMainMenu = __decorate([
919
919
  })
920
920
  ], BiggiveMainMenu);
921
921
  export { BiggiveMainMenu };
922
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveMainMenu, decorators: [{
922
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveMainMenu, decorators: [{
923
923
  type: Component,
924
924
  args: [{
925
925
  selector: 'biggive-main-menu',
@@ -937,8 +937,8 @@ let BiggiveMiscIcon = class BiggiveMiscIcon {
937
937
  c.detach();
938
938
  this.el = r.nativeElement;
939
939
  }
940
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveMiscIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
941
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveMiscIcon, selector: "biggive-misc-icon", inputs: { backgroundColour: "backgroundColour", icon: "icon", iconColour: "iconColour", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
940
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveMiscIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
941
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveMiscIcon, selector: "biggive-misc-icon", inputs: { backgroundColour: "backgroundColour", icon: "icon", iconColour: "iconColour", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
942
942
  };
943
943
  BiggiveMiscIcon = __decorate([
944
944
  ProxyCmp({
@@ -947,7 +947,7 @@ BiggiveMiscIcon = __decorate([
947
947
  })
948
948
  ], BiggiveMiscIcon);
949
949
  export { BiggiveMiscIcon };
950
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveMiscIcon, decorators: [{
950
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveMiscIcon, decorators: [{
951
951
  type: Component,
952
952
  args: [{
953
953
  selector: 'biggive-misc-icon',
@@ -965,8 +965,8 @@ let BiggiveNavGroup = class BiggiveNavGroup {
965
965
  c.detach();
966
966
  this.el = r.nativeElement;
967
967
  }
968
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveNavGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
969
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveNavGroup, selector: "biggive-nav-group", inputs: { inline: "inline" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
968
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveNavGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
969
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveNavGroup, selector: "biggive-nav-group", inputs: { inline: "inline" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
970
970
  };
971
971
  BiggiveNavGroup = __decorate([
972
972
  ProxyCmp({
@@ -975,7 +975,7 @@ BiggiveNavGroup = __decorate([
975
975
  })
976
976
  ], BiggiveNavGroup);
977
977
  export { BiggiveNavGroup };
978
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveNavGroup, decorators: [{
978
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveNavGroup, decorators: [{
979
979
  type: Component,
980
980
  args: [{
981
981
  selector: 'biggive-nav-group',
@@ -993,8 +993,8 @@ let BiggiveNavItem = class BiggiveNavItem {
993
993
  c.detach();
994
994
  this.el = r.nativeElement;
995
995
  }
996
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveNavItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
997
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveNavItem, selector: "biggive-nav-item", inputs: { iconColour: "iconColour", label: "label", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
996
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveNavItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
997
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveNavItem, selector: "biggive-nav-item", inputs: { iconColour: "iconColour", label: "label", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
998
998
  };
999
999
  BiggiveNavItem = __decorate([
1000
1000
  ProxyCmp({
@@ -1003,7 +1003,7 @@ BiggiveNavItem = __decorate([
1003
1003
  })
1004
1004
  ], BiggiveNavItem);
1005
1005
  export { BiggiveNavItem };
1006
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveNavItem, decorators: [{
1006
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveNavItem, decorators: [{
1007
1007
  type: Component,
1008
1008
  args: [{
1009
1009
  selector: 'biggive-nav-item',
@@ -1021,8 +1021,8 @@ let BiggivePageColumn = class BiggivePageColumn {
1021
1021
  c.detach();
1022
1022
  this.el = r.nativeElement;
1023
1023
  }
1024
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggivePageColumn, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1025
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggivePageColumn, selector: "biggive-page-column", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1024
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggivePageColumn, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1025
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggivePageColumn, selector: "biggive-page-column", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1026
1026
  };
1027
1027
  BiggivePageColumn = __decorate([
1028
1028
  ProxyCmp({
@@ -1030,7 +1030,7 @@ BiggivePageColumn = __decorate([
1030
1030
  })
1031
1031
  ], BiggivePageColumn);
1032
1032
  export { BiggivePageColumn };
1033
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggivePageColumn, decorators: [{
1033
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggivePageColumn, decorators: [{
1034
1034
  type: Component,
1035
1035
  args: [{
1036
1036
  selector: 'biggive-page-column',
@@ -1048,8 +1048,8 @@ let BiggivePageColumns = class BiggivePageColumns {
1048
1048
  c.detach();
1049
1049
  this.el = r.nativeElement;
1050
1050
  }
1051
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggivePageColumns, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1052
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggivePageColumns, selector: "biggive-page-columns", inputs: { spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1051
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggivePageColumns, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1052
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggivePageColumns, selector: "biggive-page-columns", inputs: { spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1053
1053
  };
1054
1054
  BiggivePageColumns = __decorate([
1055
1055
  ProxyCmp({
@@ -1058,7 +1058,7 @@ BiggivePageColumns = __decorate([
1058
1058
  })
1059
1059
  ], BiggivePageColumns);
1060
1060
  export { BiggivePageColumns };
1061
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggivePageColumns, decorators: [{
1061
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggivePageColumns, decorators: [{
1062
1062
  type: Component,
1063
1063
  args: [{
1064
1064
  selector: 'biggive-page-columns',
@@ -1076,8 +1076,8 @@ let BiggivePageSection = class BiggivePageSection {
1076
1076
  c.detach();
1077
1077
  this.el = r.nativeElement;
1078
1078
  }
1079
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggivePageSection, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1080
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggivePageSection, selector: "biggive-page-section", inputs: { colourScheme: "colourScheme", maxWidth: "maxWidth", primaryFullBleed: "primaryFullBleed", sectionStyleBottom: "sectionStyleBottom", sectionStyleTop: "sectionStyleTop", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1079
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggivePageSection, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1080
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggivePageSection, selector: "biggive-page-section", inputs: { colourScheme: "colourScheme", maxWidth: "maxWidth", primaryFullBleed: "primaryFullBleed", sectionStyleBottom: "sectionStyleBottom", sectionStyleTop: "sectionStyleTop", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1081
1081
  };
1082
1082
  BiggivePageSection = __decorate([
1083
1083
  ProxyCmp({
@@ -1086,7 +1086,7 @@ BiggivePageSection = __decorate([
1086
1086
  })
1087
1087
  ], BiggivePageSection);
1088
1088
  export { BiggivePageSection };
1089
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggivePageSection, decorators: [{
1089
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggivePageSection, decorators: [{
1090
1090
  type: Component,
1091
1091
  args: [{
1092
1092
  selector: 'biggive-page-section',
@@ -1104,8 +1104,8 @@ let BiggivePopup = class BiggivePopup {
1104
1104
  c.detach();
1105
1105
  this.el = r.nativeElement;
1106
1106
  }
1107
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggivePopup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1108
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggivePopup, selector: "biggive-popup", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1107
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggivePopup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1108
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggivePopup, selector: "biggive-popup", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1109
1109
  };
1110
1110
  BiggivePopup = __decorate([
1111
1111
  ProxyCmp({
@@ -1114,7 +1114,7 @@ BiggivePopup = __decorate([
1114
1114
  })
1115
1115
  ], BiggivePopup);
1116
1116
  export { BiggivePopup };
1117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggivePopup, decorators: [{
1117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggivePopup, decorators: [{
1118
1118
  type: Component,
1119
1119
  args: [{
1120
1120
  selector: 'biggive-popup',
@@ -1132,8 +1132,8 @@ let BiggiveProgressBar = class BiggiveProgressBar {
1132
1132
  c.detach();
1133
1133
  this.el = r.nativeElement;
1134
1134
  }
1135
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveProgressBar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1136
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveProgressBar, selector: "biggive-progress-bar", inputs: { colourScheme: "colourScheme", counter: "counter", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1135
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveProgressBar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1136
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveProgressBar, selector: "biggive-progress-bar", inputs: { colourScheme: "colourScheme", counter: "counter", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1137
1137
  };
1138
1138
  BiggiveProgressBar = __decorate([
1139
1139
  ProxyCmp({
@@ -1142,7 +1142,7 @@ BiggiveProgressBar = __decorate([
1142
1142
  })
1143
1143
  ], BiggiveProgressBar);
1144
1144
  export { BiggiveProgressBar };
1145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveProgressBar, decorators: [{
1145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveProgressBar, decorators: [{
1146
1146
  type: Component,
1147
1147
  args: [{
1148
1148
  selector: 'biggive-progress-bar',
@@ -1160,8 +1160,8 @@ let BiggiveQuote = class BiggiveQuote {
1160
1160
  c.detach();
1161
1161
  this.el = r.nativeElement;
1162
1162
  }
1163
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveQuote, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1164
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveQuote, selector: "biggive-quote", inputs: { attribution: "attribution", defaultTextColour: "defaultTextColour", quote: "quote", quoteIconColour: "quoteIconColour", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1163
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveQuote, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1164
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveQuote, selector: "biggive-quote", inputs: { attribution: "attribution", defaultTextColour: "defaultTextColour", quote: "quote", quoteIconColour: "quoteIconColour", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1165
1165
  };
1166
1166
  BiggiveQuote = __decorate([
1167
1167
  ProxyCmp({
@@ -1170,7 +1170,7 @@ BiggiveQuote = __decorate([
1170
1170
  })
1171
1171
  ], BiggiveQuote);
1172
1172
  export { BiggiveQuote };
1173
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveQuote, decorators: [{
1173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveQuote, decorators: [{
1174
1174
  type: Component,
1175
1175
  args: [{
1176
1176
  selector: 'biggive-quote',
@@ -1188,8 +1188,8 @@ let BiggiveSheet = class BiggiveSheet {
1188
1188
  c.detach();
1189
1189
  this.el = r.nativeElement;
1190
1190
  }
1191
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveSheet, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1192
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveSheet, selector: "biggive-sheet", inputs: { backgroundColour: "backgroundColour", sheetId: "sheetId", textColour: "textColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1191
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveSheet, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1192
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveSheet, selector: "biggive-sheet", inputs: { backgroundColour: "backgroundColour", sheetId: "sheetId", textColour: "textColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1193
1193
  };
1194
1194
  BiggiveSheet = __decorate([
1195
1195
  ProxyCmp({
@@ -1198,7 +1198,7 @@ BiggiveSheet = __decorate([
1198
1198
  })
1199
1199
  ], BiggiveSheet);
1200
1200
  export { BiggiveSheet };
1201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveSheet, decorators: [{
1201
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveSheet, decorators: [{
1202
1202
  type: Component,
1203
1203
  args: [{
1204
1204
  selector: 'biggive-sheet',
@@ -1216,8 +1216,8 @@ let BiggiveSocialIcon = class BiggiveSocialIcon {
1216
1216
  c.detach();
1217
1217
  this.el = r.nativeElement;
1218
1218
  }
1219
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveSocialIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1220
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveSocialIcon, selector: "biggive-social-icon", inputs: { backgroundColour: "backgroundColour", iconColour: "iconColour", labelPrefix: "labelPrefix", service: "service", url: "url", wide: "wide" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1219
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveSocialIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1220
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveSocialIcon, selector: "biggive-social-icon", inputs: { backgroundColour: "backgroundColour", iconColour: "iconColour", labelPrefix: "labelPrefix", service: "service", url: "url", wide: "wide" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1221
1221
  };
1222
1222
  BiggiveSocialIcon = __decorate([
1223
1223
  ProxyCmp({
@@ -1226,7 +1226,7 @@ BiggiveSocialIcon = __decorate([
1226
1226
  })
1227
1227
  ], BiggiveSocialIcon);
1228
1228
  export { BiggiveSocialIcon };
1229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveSocialIcon, decorators: [{
1229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveSocialIcon, decorators: [{
1230
1230
  type: Component,
1231
1231
  args: [{
1232
1232
  selector: 'biggive-social-icon',
@@ -1244,8 +1244,8 @@ let BiggiveTab = class BiggiveTab {
1244
1244
  c.detach();
1245
1245
  this.el = r.nativeElement;
1246
1246
  }
1247
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveTab, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1248
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveTab, selector: "biggive-tab", inputs: { tabTitle: "tabTitle" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1247
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveTab, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1248
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveTab, selector: "biggive-tab", inputs: { tabTitle: "tabTitle" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1249
1249
  };
1250
1250
  BiggiveTab = __decorate([
1251
1251
  ProxyCmp({
@@ -1254,7 +1254,7 @@ BiggiveTab = __decorate([
1254
1254
  })
1255
1255
  ], BiggiveTab);
1256
1256
  export { BiggiveTab };
1257
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveTab, decorators: [{
1257
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveTab, decorators: [{
1258
1258
  type: Component,
1259
1259
  args: [{
1260
1260
  selector: 'biggive-tab',
@@ -1272,8 +1272,8 @@ let BiggiveTabbedContent = class BiggiveTabbedContent {
1272
1272
  c.detach();
1273
1273
  this.el = r.nativeElement;
1274
1274
  }
1275
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveTabbedContent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1276
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveTabbedContent, selector: "biggive-tabbed-content", inputs: { buttonBackgroundColour: "buttonBackgroundColour", buttonIconColour: "buttonIconColour", navigationHighlightColour: "navigationHighlightColour", selectedNavigationHighlightColour: "selectedNavigationHighlightColour", selectedTextColour: "selectedTextColour", spaceBelow: "spaceBelow", textColour: "textColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1275
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveTabbedContent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1276
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveTabbedContent, selector: "biggive-tabbed-content", inputs: { buttonBackgroundColour: "buttonBackgroundColour", buttonIconColour: "buttonIconColour", navigationHighlightColour: "navigationHighlightColour", selectedNavigationHighlightColour: "selectedNavigationHighlightColour", selectedTextColour: "selectedTextColour", spaceBelow: "spaceBelow", textColour: "textColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1277
1277
  };
1278
1278
  BiggiveTabbedContent = __decorate([
1279
1279
  ProxyCmp({
@@ -1282,7 +1282,7 @@ BiggiveTabbedContent = __decorate([
1282
1282
  })
1283
1283
  ], BiggiveTabbedContent);
1284
1284
  export { BiggiveTabbedContent };
1285
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveTabbedContent, decorators: [{
1285
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveTabbedContent, decorators: [{
1286
1286
  type: Component,
1287
1287
  args: [{
1288
1288
  selector: 'biggive-tabbed-content',
@@ -1300,8 +1300,8 @@ let BiggiveTable = class BiggiveTable {
1300
1300
  c.detach();
1301
1301
  this.el = r.nativeElement;
1302
1302
  }
1303
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveTable, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1304
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveTable, selector: "biggive-table", inputs: { bodyBackgroundColour: "bodyBackgroundColour", bodyTextColour: "bodyTextColour", headerBackgroundColour: "headerBackgroundColour", headerTextColour: "headerTextColour", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1303
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveTable, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1304
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveTable, selector: "biggive-table", inputs: { bodyBackgroundColour: "bodyBackgroundColour", bodyTextColour: "bodyTextColour", headerBackgroundColour: "headerBackgroundColour", headerTextColour: "headerTextColour", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1305
1305
  };
1306
1306
  BiggiveTable = __decorate([
1307
1307
  ProxyCmp({
@@ -1310,7 +1310,7 @@ BiggiveTable = __decorate([
1310
1310
  })
1311
1311
  ], BiggiveTable);
1312
1312
  export { BiggiveTable };
1313
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveTable, decorators: [{
1313
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveTable, decorators: [{
1314
1314
  type: Component,
1315
1315
  args: [{
1316
1316
  selector: 'biggive-table',
@@ -1328,24 +1328,24 @@ let BiggiveTextInput = class BiggiveTextInput {
1328
1328
  c.detach();
1329
1329
  this.el = r.nativeElement;
1330
1330
  }
1331
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveTextInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1332
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveTextInput, selector: "biggive-text-input", inputs: { currency: "currency", prompt: "prompt", selectStyle: "selectStyle", spaceBelow: "spaceBelow", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1331
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveTextInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1332
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveTextInput, selector: "biggive-text-input", inputs: { currency: "currency", selectStyle: "selectStyle", spaceBelow: "spaceBelow", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1333
1333
  };
1334
1334
  BiggiveTextInput = __decorate([
1335
1335
  ProxyCmp({
1336
1336
  defineCustomElementFn: defineBiggiveTextInput,
1337
- inputs: ['currency', 'prompt', 'selectStyle', 'spaceBelow', 'value']
1337
+ inputs: ['currency', 'selectStyle', 'spaceBelow', 'value']
1338
1338
  })
1339
1339
  ], BiggiveTextInput);
1340
1340
  export { BiggiveTextInput };
1341
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveTextInput, decorators: [{
1341
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveTextInput, decorators: [{
1342
1342
  type: Component,
1343
1343
  args: [{
1344
1344
  selector: 'biggive-text-input',
1345
1345
  changeDetection: ChangeDetectionStrategy.OnPush,
1346
1346
  template: '<ng-content></ng-content>',
1347
1347
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
1348
- inputs: ['currency', 'prompt', 'selectStyle', 'spaceBelow', 'value'],
1348
+ inputs: ['currency', 'selectStyle', 'spaceBelow', 'value'],
1349
1349
  }]
1350
1350
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1351
1351
  let BiggiveTimeline = class BiggiveTimeline {
@@ -1356,8 +1356,8 @@ let BiggiveTimeline = class BiggiveTimeline {
1356
1356
  c.detach();
1357
1357
  this.el = r.nativeElement;
1358
1358
  }
1359
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveTimeline, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1360
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveTimeline, selector: "biggive-timeline", inputs: { buttonBackgroundColour: "buttonBackgroundColour", buttonIconColour: "buttonIconColour", entryBackgroundColour: "entryBackgroundColour", entryDateColour: "entryDateColour", entryHighlightColour: "entryHighlightColour", entryTextColour: "entryTextColour", entryTitleColour: "entryTitleColour", navigationHighlightColour: "navigationHighlightColour", selectedNavigationHighlightColour: "selectedNavigationHighlightColour", selectedTextColour: "selectedTextColour", spaceBelow: "spaceBelow", textColour: "textColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1359
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveTimeline, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1360
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveTimeline, selector: "biggive-timeline", inputs: { buttonBackgroundColour: "buttonBackgroundColour", buttonIconColour: "buttonIconColour", entryBackgroundColour: "entryBackgroundColour", entryDateColour: "entryDateColour", entryHighlightColour: "entryHighlightColour", entryTextColour: "entryTextColour", entryTitleColour: "entryTitleColour", navigationHighlightColour: "navigationHighlightColour", selectedNavigationHighlightColour: "selectedNavigationHighlightColour", selectedTextColour: "selectedTextColour", spaceBelow: "spaceBelow", textColour: "textColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1361
1361
  };
1362
1362
  BiggiveTimeline = __decorate([
1363
1363
  ProxyCmp({
@@ -1366,7 +1366,7 @@ BiggiveTimeline = __decorate([
1366
1366
  })
1367
1367
  ], BiggiveTimeline);
1368
1368
  export { BiggiveTimeline };
1369
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveTimeline, decorators: [{
1369
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveTimeline, decorators: [{
1370
1370
  type: Component,
1371
1371
  args: [{
1372
1372
  selector: 'biggive-timeline',
@@ -1384,8 +1384,8 @@ let BiggiveTimelineEntry = class BiggiveTimelineEntry {
1384
1384
  c.detach();
1385
1385
  this.el = r.nativeElement;
1386
1386
  }
1387
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveTimelineEntry, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1388
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveTimelineEntry, selector: "biggive-timeline-entry", inputs: { date: "date", heading: "heading" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1387
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveTimelineEntry, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1388
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveTimelineEntry, selector: "biggive-timeline-entry", inputs: { date: "date", heading: "heading" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1389
1389
  };
1390
1390
  BiggiveTimelineEntry = __decorate([
1391
1391
  ProxyCmp({
@@ -1394,7 +1394,7 @@ BiggiveTimelineEntry = __decorate([
1394
1394
  })
1395
1395
  ], BiggiveTimelineEntry);
1396
1396
  export { BiggiveTimelineEntry };
1397
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveTimelineEntry, decorators: [{
1397
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveTimelineEntry, decorators: [{
1398
1398
  type: Component,
1399
1399
  args: [{
1400
1400
  selector: 'biggive-timeline-entry',
@@ -1412,8 +1412,8 @@ let BiggiveTotalizer = class BiggiveTotalizer {
1412
1412
  c.detach();
1413
1413
  this.el = r.nativeElement;
1414
1414
  }
1415
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveTotalizer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1416
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveTotalizer, selector: "biggive-totalizer", inputs: { mainMessage: "mainMessage", primaryColour: "primaryColour", primaryTextColour: "primaryTextColour", secondaryColour: "secondaryColour", secondaryTextColour: "secondaryTextColour", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1415
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveTotalizer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1416
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveTotalizer, selector: "biggive-totalizer", inputs: { mainMessage: "mainMessage", primaryColour: "primaryColour", primaryTextColour: "primaryTextColour", secondaryColour: "secondaryColour", secondaryTextColour: "secondaryTextColour", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1417
1417
  };
1418
1418
  BiggiveTotalizer = __decorate([
1419
1419
  ProxyCmp({
@@ -1422,7 +1422,7 @@ BiggiveTotalizer = __decorate([
1422
1422
  })
1423
1423
  ], BiggiveTotalizer);
1424
1424
  export { BiggiveTotalizer };
1425
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveTotalizer, decorators: [{
1425
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveTotalizer, decorators: [{
1426
1426
  type: Component,
1427
1427
  args: [{
1428
1428
  selector: 'biggive-totalizer',
@@ -1440,8 +1440,8 @@ let BiggiveTotalizerTickerItem = class BiggiveTotalizerTickerItem {
1440
1440
  c.detach();
1441
1441
  this.el = r.nativeElement;
1442
1442
  }
1443
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveTotalizerTickerItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1444
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveTotalizerTickerItem, selector: "biggive-totalizer-ticker-item", inputs: { figure: "figure", label: "label" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1443
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveTotalizerTickerItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1444
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveTotalizerTickerItem, selector: "biggive-totalizer-ticker-item", inputs: { figure: "figure", label: "label" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1445
1445
  };
1446
1446
  BiggiveTotalizerTickerItem = __decorate([
1447
1447
  ProxyCmp({
@@ -1450,7 +1450,7 @@ BiggiveTotalizerTickerItem = __decorate([
1450
1450
  })
1451
1451
  ], BiggiveTotalizerTickerItem);
1452
1452
  export { BiggiveTotalizerTickerItem };
1453
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveTotalizerTickerItem, decorators: [{
1453
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveTotalizerTickerItem, decorators: [{
1454
1454
  type: Component,
1455
1455
  args: [{
1456
1456
  selector: 'biggive-totalizer-ticker-item',
@@ -1468,8 +1468,8 @@ let BiggiveVideo = class BiggiveVideo {
1468
1468
  c.detach();
1469
1469
  this.el = r.nativeElement;
1470
1470
  }
1471
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveVideo, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1472
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveVideo, selector: "biggive-video", inputs: { spaceAbove: "spaceAbove", spaceBelow: "spaceBelow", videoUrl: "videoUrl" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1471
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveVideo, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1472
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveVideo, selector: "biggive-video", inputs: { spaceAbove: "spaceAbove", spaceBelow: "spaceBelow", videoUrl: "videoUrl" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1473
1473
  };
1474
1474
  BiggiveVideo = __decorate([
1475
1475
  ProxyCmp({
@@ -1478,7 +1478,7 @@ BiggiveVideo = __decorate([
1478
1478
  })
1479
1479
  ], BiggiveVideo);
1480
1480
  export { BiggiveVideo };
1481
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveVideo, decorators: [{
1481
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveVideo, decorators: [{
1482
1482
  type: Component,
1483
1483
  args: [{
1484
1484
  selector: 'biggive-video',
@@ -1496,8 +1496,8 @@ let BiggiveVideoFeature = class BiggiveVideoFeature {
1496
1496
  c.detach();
1497
1497
  this.el = r.nativeElement;
1498
1498
  }
1499
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveVideoFeature, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1500
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: BiggiveVideoFeature, selector: "biggive-video-feature", inputs: { buttonColourScheme: "buttonColourScheme", buttonLabel: "buttonLabel", buttonUrl: "buttonUrl", defaultTextColour: "defaultTextColour", mainTitle: "mainTitle", mainTitleColour: "mainTitleColour", slug: "slug", slugColour: "slugColour", spaceAbove: "spaceAbove", spaceBelow: "spaceBelow", teaser: "teaser", teaserColour: "teaserColour", videoUrl: "videoUrl" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1499
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveVideoFeature, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1500
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: BiggiveVideoFeature, selector: "biggive-video-feature", inputs: { buttonColourScheme: "buttonColourScheme", buttonLabel: "buttonLabel", buttonUrl: "buttonUrl", defaultTextColour: "defaultTextColour", mainTitle: "mainTitle", mainTitleColour: "mainTitleColour", slug: "slug", slugColour: "slugColour", spaceAbove: "spaceAbove", spaceBelow: "spaceBelow", teaser: "teaser", teaserColour: "teaserColour", videoUrl: "videoUrl" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1501
1501
  };
1502
1502
  BiggiveVideoFeature = __decorate([
1503
1503
  ProxyCmp({
@@ -1506,7 +1506,7 @@ BiggiveVideoFeature = __decorate([
1506
1506
  })
1507
1507
  ], BiggiveVideoFeature);
1508
1508
  export { BiggiveVideoFeature };
1509
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: BiggiveVideoFeature, decorators: [{
1509
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: BiggiveVideoFeature, decorators: [{
1510
1510
  type: Component,
1511
1511
  args: [{
1512
1512
  selector: 'biggive-video-feature',
@@ -1516,4 +1516,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
1516
1516
  inputs: ['buttonColourScheme', 'buttonLabel', 'buttonUrl', 'defaultTextColour', 'mainTitle', 'mainTitleColour', 'slug', 'slugColour', 'spaceAbove', 'spaceBelow', 'teaser', 'teaserColour', 'videoUrl'],
1517
1517
  }]
1518
1518
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1519
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zdGVuY2lsLWdlbmVyYXRlZC9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUV4SCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBSXZFLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxzQkFBc0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3pILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSwyQkFBMkIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQ3BJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx3QkFBd0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzlILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxzQkFBc0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQzNILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxzQkFBc0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzFILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSw0QkFBNEIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQ3RJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSwwQkFBMEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ2xJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxtQkFBbUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ25ILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx5QkFB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b0JBQW9CLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsVUFBVSxDQUFDO0tBQ3hNLENBQUM7R0FRVyxtQkFBbUIsQ0FNL0I7U0FOWSxtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFQL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxVQUFVLENBQUM7aUJBQ3hNIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGUgKi9cbi8qIGF1dG8tZ2VuZXJhdGVkIGFuZ3VsYXIgZGlyZWN0aXZlIHByb3hpZXMgKi9cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQcm94eUNtcCwgcHJveHlPdXRwdXRzIH0gZnJvbSAnLi9hbmd1bGFyLWNvbXBvbmVudC1saWIvdXRpbHMnO1xuXG5pbXBvcnQgdHlwZSB7IENvbXBvbmVudHMgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cyc7XG5cbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUFjY29yZGlvbiB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtYWNjb3JkaW9uLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUFjY29yZGlvbkVudHJ5IH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1hY2NvcmRpb24tZW50cnkuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlQXJ0aWNsZUNhcmQgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWFydGljbGUtY2FyZC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVCYWNrVG9Ub3AgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWJhY2stdG8tdG9wLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUJhc2ljQ2FyZCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtYmFzaWMtY2FyZC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVCZW5lZmljaWFyeUljb24gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWJlbmVmaWNpYXJ5LWljb24uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlQmlvZ3JhcGh5Q2FyZCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtYmlvZ3JhcGh5LWNhcmQuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlQm94ZWRDb250ZW50IH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1ib3hlZC1jb250ZW50LmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUJyYW5kZWRJbWFnZSB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtYnJhbmRlZC1pbWFnZS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVCdXR0b24gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWJ1dHRvbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVDYWxsVG9BY3Rpb24gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWNhbGwtdG8tYWN0aW9uLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUNhbXBhaWduQ2FyZCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtY2FtcGFpZ24tY2FyZC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVDYW1wYWlnbkNhcmRGaWx0ZXJHcmlkIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1jYW1wYWlnbi1jYXJkLWZpbHRlci1ncmlkLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUNhbXBhaWduSGlnaGxpZ2h0cyB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtY2FtcGFpZ24taGlnaGxpZ2h0cy5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVDYXJvdXNlbCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtY2Fyb3VzZWwuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlQ2F0ZWdvcnlJY29uIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1jYXRlZ29yeS1pY29uLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUZpbHRlcmVkQ2Fyb3VzZWwgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWZpbHRlcmVkLWNhcm91c2VsLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUZvb3RlciB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtZm9vdGVyLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUZvcm0gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWZvcm0uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlRm9ybUZpZWxkU2VsZWN0IH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1mb3JtLWZpZWxkLXNlbGVjdC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVGb3JtYXR0ZWRUZXh0IH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1mb3JtYXR0ZWQtdGV4dC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVHZW5lcmljSWNvbiB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtZ2VuZXJpYy1pY29uLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUdyaWQgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWdyaWQuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlSGVhZGluZyB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtaGVhZGluZy5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVIZXJvSW1hZ2UgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWhlcm8taW1hZ2UuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlSWNvbkJ1dHRvbiB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtaWNvbi1idXR0b24uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlSWNvbkdyb3VwIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1pY29uLWdyb3VwLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUltYWdlIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1pbWFnZS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVJbWFnZUJ1dHRvbiB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtaW1hZ2UtYnV0dG9uLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUltYWdlRmVhdHVyZSB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtaW1hZ2UtZmVhdHVyZS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVNYWluTWVudSB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtbWFpbi1tZW51LmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZU1pc2NJY29uIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1taXNjLWljb24uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlTmF2R3JvdXAgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLW5hdi1ncm91cC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVOYXZJdGVtIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1uYXYtaXRlbS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVQYWdlQ29sdW1uIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1wYWdlLWNvbHVtbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVQYWdlQ29sdW1ucyB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtcGFnZS1jb2x1bW5zLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZVBhZ2VTZWN0aW9uIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1wYWdlLXNlY3Rpb24uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlUG9wdXAgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLXBvcHVwLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZVByb2dyZXNzQmFyIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1wcm9ncmVzcy1iYXIuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlUXVvdGUgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLXF1b3RlLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZVNoZWV0IH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1zaGVldC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVTb2NpYWxJY29uIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1zb2NpYWwtaWNvbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVUYWIgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLXRhYi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVUYWJiZWRDb250ZW50IH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS10YWJiZWQtY29udGVudC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVUYWJsZSB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtdGFibGUuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlVGV4dElucHV0IH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS10ZXh0LWlucHV0LmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZVRpbWVsaW5lIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS10aW1lbGluZS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVUaW1lbGluZUVudHJ5IH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS10aW1lbGluZS1lbnRyeS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVUb3RhbGl6ZXIgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLXRvdGFsaXplci5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVUb3RhbGl6ZXJUaWNrZXJJdGVtIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS10b3RhbGl6ZXItdGlja2VyLWl0ZW0uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlVmlkZW8gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLXZpZGVvLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZVZpZGVvRmVhdHVyZSB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtdmlkZW8tZmVhdHVyZS5qcyc7XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVBY2NvcmRpb24sXG4gIGlucHV0czogWydoZWFkaW5nQ29sb3VyJywgJ3NwYWNlQmVsb3cnLCAndGV4dENvbG91ciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1hY2NvcmRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hlYWRpbmdDb2xvdXInLCAnc3BhY2VCZWxvdycsICd0ZXh0Q29sb3VyJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVBY2NvcmRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQWNjb3JkaW9uIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlQWNjb3JkaW9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlQWNjb3JkaW9uRW50cnksXG4gIGlucHV0czogWydoZWFkaW5nJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWFjY29yZGlvbi1lbnRyeScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaGVhZGluZyddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQWNjb3JkaW9uRW50cnkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQWNjb3JkaW9uRW50cnkgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVBY2NvcmRpb25FbnRyeSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUFydGljbGVDYXJkLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdiYWNrZ3JvdW5kSW1hZ2VVcmwnLCAnYnV0dG9uQ29sb3VyJywgJ2J1dHRvbkxhYmVsJywgJ2J1dHRvblVybCcsICdjbGlwQm90dG9tTGVmdENvcm5lcicsICdjbGlwVG9wUmlnaHRDb3JuZXInLCAnZGF0ZScsICdkYXRlQ29sb3VyJywgJ2ltYWdlMUFsdFRleHQnLCAnaW1hZ2UxVXJsJywgJ2ltYWdlMkFsdFRleHQnLCAnaW1hZ2UyVXJsJywgJ2ltYWdlTGFiZWwnLCAnaW1hZ2VMYWJlbENvbG91cicsICdtYWluSW1hZ2VBbHRUZXh0JywgJ21haW5JbWFnZVVybCcsICdtYWluVGl0bGUnLCAnbWFpblRpdGxlQ29sb3VyJywgJ3NsdWcnLCAnc2x1Z0NvbG91cicsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWFydGljbGUtY2FyZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdiYWNrZ3JvdW5kSW1hZ2VVcmwnLCAnYnV0dG9uQ29sb3VyJywgJ2J1dHRvbkxhYmVsJywgJ2J1dHRvblVybCcsICdjbGlwQm90dG9tTGVmdENvcm5lcicsICdjbGlwVG9wUmlnaHRDb3JuZXInLCAnZGF0ZScsICdkYXRlQ29sb3VyJywgJ2ltYWdlMUFsdFRleHQnLCAnaW1hZ2UxVXJsJywgJ2ltYWdlMkFsdFRleHQnLCAnaW1hZ2UyVXJsJywgJ2ltYWdlTGFiZWwnLCAnaW1hZ2VMYWJlbENvbG91cicsICdtYWluSW1hZ2VBbHRUZXh0JywgJ21haW5JbWFnZVVybCcsICdtYWluVGl0bGUnLCAnbWFpblRpdGxlQ29sb3VyJywgJ3NsdWcnLCAnc2x1Z0NvbG91cicsICdzcGFjZUJlbG93J10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVBcnRpY2xlQ2FyZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVBcnRpY2xlQ2FyZCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUFydGljbGVDYXJkIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlQmFja1RvVG9wXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1iYWNrLXRvLXRvcCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQmFja1RvVG9wIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUJhY2tUb1RvcCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUJhY2tUb1RvcCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUJhc2ljQ2FyZCxcbiAgaW5wdXRzOiBbJ2FkZEFuaW1hdGlvbicsICdiYWNrZ3JvdW5kQ29sb3VyJywgJ2JhY2tncm91bmRJbWFnZVVybCcsICdidXR0b25BbGlnbicsICdidXR0b25Db2xvdXJTY2hlbWUnLCAnYnV0dG9uTGFiZWwnLCAnYnV0dG9uU3R5bGUnLCAnYnV0dG9uVXJsJywgJ2NhcmRDb2xvdXInLCAnY2xpcEJvdHRvbUxlZnRDb3JuZXInLCAnY2xpcFRvcFJpZ2h0Q29ybmVyJywgJ2hlYWRpbmdMZXZlbCcsICdpY29uJywgJ2ljb25Db2xvdXInLCAnbWFpbkltYWdlQWx0VGV4dCcsICdtYWluSW1hZ2VVcmwnLCAnbWFpblRpdGxlJywgJ3NwYWNlQmVsb3cnLCAnc3VidGl0bGUnLCAndGVhc2VyJywgJ3RleHRDb2xvdXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtYmFzaWMtY2FyZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWRkQW5pbWF0aW9uJywgJ2JhY2tncm91bmRDb2xvdXInLCAnYmFja2dyb3VuZEltYWdlVXJsJywgJ2J1dHRvbkFsaWduJywgJ2J1dHRvbkNvbG91clNjaGVtZScsICdidXR0b25MYWJlbCcsICdidXR0b25TdHlsZScsICdidXR0b25VcmwnLCAnY2FyZENvbG91cicsICdjbGlwQm90dG9tTGVmdENvcm5lcicsICdjbGlwVG9wUmlnaHRDb3JuZXInLCAnaGVhZGluZ0xldmVsJywgJ2ljb24nLCAnaWNvbkNvbG91cicsICdtYWluSW1hZ2VBbHRUZXh0JywgJ21haW5JbWFnZVVybCcsICdtYWluVGl0bGUnLCAnc3BhY2VCZWxvdycsICdzdWJ0aXRsZScsICd0ZWFzZXInLCAndGV4dENvbG91ciddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQmFzaWNDYXJkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUJhc2ljQ2FyZCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUJhc2ljQ2FyZCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUJlbmVmaWNpYXJ5SWNvbixcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnaWNvbicsICdpY29uQ29sb3VyJywgJ2xhYmVsJywgJ3VybCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1iZW5lZmljaWFyeS1pY29uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3VyJywgJ2ljb24nLCAnaWNvbkNvbG91cicsICdsYWJlbCcsICd1cmwnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUJlbmVmaWNpYXJ5SWNvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVCZW5lZmljaWFyeUljb24gZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVCZW5lZmljaWFyeUljb24ge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVCaW9ncmFwaHlDYXJkLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdib3JkZXJXaWR0aCcsICdjaXJjbGUnLCAnY2lyY2xlQ29sb3VyJywgJ2Z1bGxOYW1lJywgJ2ltYWdlU3R5bGUnLCAnaW1hZ2VVcmwnLCAnam9iVGl0bGUnLCAncmF0aW8nLCAncm91bmRlZCcsICdzcGFjZUJlbG93JywgJ3RleHRBbGlnbicsICd0ZXh0Q29sb3VyJywgJ3VybCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1iaW9ncmFwaHktY2FyZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdib3JkZXJXaWR0aCcsICdjaXJjbGUnLCAnY2lyY2xlQ29sb3VyJywgJ2Z1bGxOYW1lJywgJ2ltYWdlU3R5bGUnLCAnaW1hZ2VVcmwnLCAnam9iVGl0bGUnLCAncmF0aW8nLCAncm91bmRlZCcsICdzcGFjZUJlbG93JywgJ3RleHRBbGlnbicsICd0ZXh0Q29sb3VyJywgJ3VybCddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQmlvZ3JhcGh5Q2FyZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVCaW9ncmFwaHlDYXJkIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlQmlvZ3JhcGh5Q2FyZCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUJveGVkQ29udGVudCxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnaG9yaXpvbnRhbFBhZGRpbmcnLCAnc2hhZG93JywgJ3NwYWNlQmVsb3cnLCAndmVydGljYWxQYWRkaW5nJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWJveGVkLWNvbnRlbnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnaG9yaXpvbnRhbFBhZGRpbmcnLCAnc2hhZG93JywgJ3NwYWNlQmVsb3cnLCAndmVydGljYWxQYWRkaW5nJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVCb3hlZENvbnRlbnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQm94ZWRDb250ZW50IGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlQm94ZWRDb250ZW50IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlQnJhbmRlZEltYWdlLFxuICBpbnB1dHM6IFsnY2hhcml0eUxvY2F0aW9uJywgJ2NoYXJpdHlOYW1lJywgJ2NoYXJpdHlVcmwnLCAnaW1hZ2VVcmwnLCAnbG9nb1VybCcsICdzbHVnJywgJ3NwYWNlQmVsb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtYnJhbmRlZC1pbWFnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2hhcml0eUxvY2F0aW9uJywgJ2NoYXJpdHlOYW1lJywgJ2NoYXJpdHlVcmwnLCAnaW1hZ2VVcmwnLCAnbG9nb1VybCcsICdzbHVnJywgJ3NwYWNlQmVsb3cnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUJyYW5kZWRJbWFnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVCcmFuZGVkSW1hZ2UgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVCcmFuZGVkSW1hZ2Uge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVCdXR0b24sXG4gIGlucHV0czogWydidXR0b25JZCcsICdjZW50ZXJlZCcsICdjb2xvdXJTY2hlbWUnLCAnZnVsbFdpZHRoJywgJ2xhYmVsJywgJ29wZW5Jbk5ld1RhYicsICdyb3VuZGVkJywgJ3NpemUnLCAnc3BhY2VCZWxvdycsICd1cmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydidXR0b25JZCcsICdjZW50ZXJlZCcsICdjb2xvdXJTY2hlbWUnLCAnZnVsbFdpZHRoJywgJ2xhYmVsJywgJ29wZW5Jbk5ld1RhYicsICdyb3VuZGVkJywgJ3NpemUnLCAnc3BhY2VCZWxvdycsICd1cmwnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUJ1dHRvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2RvQnV0dG9uQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUJ1dHRvbiB7XG5cbiAgZG9CdXR0b25DbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgZXZlbnQ6IG9iamVjdDsgdXJsOiBzdHJpbmcgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUNhbGxUb0FjdGlvbixcbiAgaW5wdXRzOiBbJ2RlZmF1bHRUZXh0Q29sb3VyJywgJ21haW5UaXRsZScsICdtYWluVGl0bGVDb2xvdXInLCAnbWFpblRpdGxlU2l6ZScsICdwcmltYXJ5QnV0dG9uQ29sb3VyU2NoZW1lJywgJ3ByaW1hcnlCdXR0b25MYWJlbCcsICdwcmltYXJ5QnV0dG9uVXJsJywgJ3NlY29uZGFyeUJ1dHRvbkNvbG91clNjaGVtZScsICdzZWNvbmRhcnlCdXR0b25MYWJlbCcsICdzZWNvbmRhcnlCdXR0b25VcmwnLCAnc2x1ZycsICdzbHVnQ29sb3VyJywgJ3NsdWdTaXplJywgJ3NwYWNlQWJvdmUnLCAnc3BhY2VCZWxvdycsICdzdWJ0aXRsZScsICdzdWJ0aXRsZUNvbG91cicsICdzdWJ0aXRsZVNpemUnLCAndGVhc2VyJywgJ3RlYXNlckNvbG91ciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1jYWxsLXRvLWFjdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVmYXVsdFRleHRDb2xvdXInLCAnbWFpblRpdGxlJywgJ21haW5UaXRsZUNvbG91cicsICdtYWluVGl0bGVTaXplJywgJ3ByaW1hcnlCdXR0b25Db2xvdXJTY2hlbWUnLCAncHJpbWFyeUJ1dHRvbkxhYmVsJywgJ3ByaW1hcnlCdXR0b25VcmwnLCAnc2Vjb25kYXJ5QnV0dG9uQ29sb3VyU2NoZW1lJywgJ3NlY29uZGFyeUJ1dHRvbkxhYmVsJywgJ3NlY29uZGFyeUJ1dHRvblVybCcsICdzbHVnJywgJ3NsdWdDb2xvdXInLCAnc2x1Z1NpemUnLCAnc3BhY2VBYm92ZScsICdzcGFjZUJlbG93JywgJ3N1YnRpdGxlJywgJ3N1YnRpdGxlQ29sb3VyJywgJ3N1YnRpdGxlU2l6ZScsICd0ZWFzZXInLCAndGVhc2VyQ29sb3VyJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVDYWxsVG9BY3Rpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQ2FsbFRvQWN0aW9uIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlQ2FsbFRvQWN0aW9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlQ2FtcGFpZ25DYXJkLFxuICBpbnB1dHM6IFsnYmFubmVyJywgJ2NhbXBhaWduVGl0bGUnLCAnY2FtcGFpZ25UeXBlJywgJ2RhdGV0aW1lJywgJ2RvbmF0ZUJ1dHRvbkNvbG91clNjaGVtZScsICdkb25hdGVCdXR0b25MYWJlbCcsICdkb25hdGVCdXR0b25VcmwnLCAnaXNGdXR1cmVDYW1wYWlnbicsICdpc1Bhc3RDYW1wYWlnbicsICdtb3JlSW5mb0J1dHRvbkNvbG91clNjaGVtZScsICdtb3JlSW5mb0J1dHRvbkxhYmVsJywgJ21vcmVJbmZvQnV0dG9uVXJsJywgJ29yZ2FuaXNhdGlvbk5hbWUnLCAncHJpbWFyeUZpZ3VyZUFtb3VudCcsICdwcmltYXJ5RmlndXJlTGFiZWwnLCAncHJvZ3Jlc3NCYXJDb3VudGVyJywgJ3NlY29uZGFyeUZpZ3VyZUFtb3VudCcsICdzZWNvbmRhcnlGaWd1cmVMYWJlbCcsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWNhbXBhaWduLWNhcmQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Jhbm5lcicsICdjYW1wYWlnblRpdGxlJywgJ2NhbXBhaWduVHlwZScsICdkYXRldGltZScsICdkb25hdGVCdXR0b25Db2xvdXJTY2hlbWUnLCAnZG9uYXRlQnV0dG9uTGFiZWwnLCAnZG9uYXRlQnV0dG9uVXJsJywgJ2lzRnV0dXJlQ2FtcGFpZ24nLCAnaXNQYXN0Q2FtcGFpZ24nLCAnbW9yZUluZm9CdXR0b25Db2xvdXJTY2hlbWUnLCAnbW9yZUluZm9CdXR0b25MYWJlbCcsICdtb3JlSW5mb0J1dHRvblVybCcsICdvcmdhbmlzYXRpb25OYW1lJywgJ3ByaW1hcnlGaWd1cmVBbW91bnQnLCAncHJpbWFyeUZpZ3VyZUxhYmVsJywgJ3Byb2dyZXNzQmFyQ291bnRlcicsICdzZWNvbmRhcnlGaWd1cmVBbW91bnQnLCAnc2Vjb25kYXJ5RmlndXJlTGFiZWwnLCAnc3BhY2VCZWxvdyddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQ2FtcGFpZ25DYXJkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZG9DYXJkR2VuZXJhbENsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVDYW1wYWlnbkNhcmQgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVDYW1wYWlnbkNhcmQge1xuXG4gIGRvQ2FyZEdlbmVyYWxDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgZXZlbnQ6IG9iamVjdDsgdXJsOiBzdHJpbmcgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUNhbXBhaWduQ2FyZEZpbHRlckdyaWQsXG4gIGlucHV0czogWydiZW5lZmljaWFyeU9wdGlvbnMnLCAnYnV0dG9uVGV4dCcsICdjYXRlZ29yeU9wdGlvbnMnLCAnZnVuZGluZ09wdGlvbnMnLCAnaW50cm8nLCAnbG9jYXRpb25PcHRpb25zJywgJ3BsYWNlaG9sZGVyVGV4dCcsICdzZWFyY2hUZXh0JywgJ3NlbGVjdGVkRmlsdGVyQmVuZWZpY2lhcnknLCAnc2VsZWN0ZWRGaWx0ZXJDYXRlZ29yeScsICdzZWxlY3RlZEZpbHRlckZ1bmRpbmcnLCAnc2VsZWN0ZWRGaWx0ZXJMb2NhdGlvbicsICdzZWxlY3RlZFNvcnRCeU9wdGlvbicsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWNhbXBhaWduLWNhcmQtZmlsdGVyLWdyaWQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JlbmVmaWNpYXJ5T3B0aW9ucycsICdidXR0b25UZXh0JywgJ2NhdGVnb3J5T3B0aW9ucycsICdmdW5kaW5nT3B0aW9ucycsICdpbnRybycsICdsb2NhdGlvbk9wdGlvbnMnLCAncGxhY2Vob2xkZXJUZXh0JywgJ3NlYXJjaFRleHQnLCAnc2VsZWN0ZWRGaWx0ZXJCZW5lZmljaWFyeScsICdzZWxlY3RlZEZpbHRlckNhdGVnb3J5JywgJ3NlbGVjdGVkRmlsdGVyRnVuZGluZycsICdzZWxlY3RlZEZpbHRlckxvY2F0aW9uJywgJ3NlbGVjdGVkU29ydEJ5T3B0aW9uJywgJ3NwYWNlQmVsb3cnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUNhbXBhaWduQ2FyZEZpbHRlckdyaWQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydkb1NlYXJjaEFuZEZpbHRlclVwZGF0ZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQ2FtcGFpZ25DYXJkRmlsdGVyR3JpZCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUNhbXBhaWduQ2FyZEZpbHRlckdyaWQge1xuICAvKipcbiAgICogVGhpcyBldmVudCBgZG9TZWFyY2hBbmRGaWx0ZXJVcGRhdGVgIGV2ZW50IGlzIGVtaXR0ZWQgYW5kIHByb3BvZ2F0ZXMgdG8gdGhlIHBhcmVudFxuY29tcG9uZW50IHdoaWNoIGhhbmRsZXMgaXRcbiAgICovXG4gIGRvU2VhcmNoQW5kRmlsdGVyVXBkYXRlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBzZWFyY2hUZXh0OiBzdHJpbmcgfCBudWxsOyBzb3J0Qnk6IHN0cmluZyB8IG51bGw7IGZpbHRlckNhdGVnb3J5OiBzdHJpbmcgfCBudWxsOyBmaWx0ZXJCZW5lZmljaWFyeTogc3RyaW5nIHwgbnVsbDsgZmlsdGVyTG9jYXRpb246IHN0cmluZyB8IG51bGw7IGZpbHRlckZ1bmRpbmc6IHN0cmluZyB8IG51bGw7IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVDYW1wYWlnbkhpZ2hsaWdodHMsXG4gIGlucHV0czogWydiYW5uZXInLCAnY2FtcGFpZ25UaXRsZScsICdjaGFtcGlvbk5hbWUnLCAnY2hhbXBpb25VcmwnLCAncHJpbWFyeUZpZ3VyZUFtb3VudCcsICdwcmltYXJ5RmlndXJlTGFiZWwnLCAncHJpbWFyeVN0YXRJY29uJywgJ3ByaW1hcnlTdGF0VGV4dCcsICdwcm9ncmVzc0JhckNvdW50ZXInLCAnc2Vjb25kYXJ5RmlndXJlQW1vdW50JywgJ3NlY29uZGFyeUZpZ3VyZUxhYmVsJywgJ3NlY29uZGFyeVN0YXRJY29uJywgJ3NlY29uZGFyeVN0YXRUZXh0JywgJ3NwYWNlQmVsb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtY2FtcGFpZ24taGlnaGxpZ2h0cycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmFubmVyJywgJ2NhbXBhaWduVGl0bGUnLCAnY2hhbXBpb25OYW1lJywgJ2NoYW1waW9uVXJsJywgJ3ByaW1hcnlGaWd1cmVBbW91bnQnLCAncHJpbWFyeUZpZ3VyZUxhYmVsJywgJ3ByaW1hcnlTdGF0SWNvbicsICdwcmltYXJ5U3RhdFRleHQnLCAncHJvZ3Jlc3NCYXJDb3VudGVyJywgJ3NlY29uZGFyeUZpZ3VyZUFtb3VudCcsICdzZWNvbmRhcnlGaWd1cmVMYWJlbCcsICdzZWNvbmRhcnlTdGF0SWNvbicsICdzZWNvbmRhcnlTdGF0VGV4dCcsICdzcGFjZUJlbG93J10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVDYW1wYWlnbkhpZ2hsaWdodHMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQ2FtcGFpZ25IaWdobGlnaHRzIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlQ2FtcGFpZ25IaWdobGlnaHRzIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlQ2Fyb3VzZWwsXG4gIGlucHV0czogWydidXR0b25CYWNrZ3JvdW5kQ29sb3VyJywgJ2J1dHRvbkljb25Db2xvdXInLCAnY29sdW1uQ291bnQnLCAnc3BhY2VCZWxvdyddLFxuICBtZXRob2RzOiBbJ3Jlc2l6ZVRvRml0Q29udGVudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1jYXJvdXNlbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYnV0dG9uQmFja2dyb3VuZENvbG91cicsICdidXR0b25JY29uQ29sb3VyJywgJ2NvbHVtbkNvdW50JywgJ3NwYWNlQmVsb3cnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUNhcm91c2VsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUNhcm91c2VsIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlQ2Fyb3VzZWwge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVDYXRlZ29yeUljb24sXG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3VyJywgJ2ljb24nLCAnaWNvbkNvbG91cicsICdsYWJlbCcsICd1cmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtY2F0ZWdvcnktaWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdpY29uJywgJ2ljb25Db2xvdXInLCAnbGFiZWwnLCAndXJsJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVDYXRlZ29yeUljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQ2F0ZWdvcnlJY29uIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlQ2F0ZWdvcnlJY29uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlRmlsdGVyZWRDYXJvdXNlbCxcbiAgaW5wdXRzOiBbJ2J1dHRvbkJhY2tncm91bmRDb2xvdXInLCAnYnV0dG9uSWNvbkNvbG91cicsICdjb2x1bW5Db3VudCcsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWZpbHRlcmVkLWNhcm91c2VsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydidXR0b25CYWNrZ3JvdW5kQ29sb3VyJywgJ2J1dHRvbkljb25Db2xvdXInLCAnY29sdW1uQ291bnQnLCAnc3BhY2VCZWxvdyddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlRmlsdGVyZWRDYXJvdXNlbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVGaWx0ZXJlZENhcm91c2VsIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlRmlsdGVyZWRDYXJvdXNlbCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUZvb3RlcixcbiAgaW5wdXRzOiBbJ2Jsb2dVcmxQcmVmaXgnLCAnZXhwZXJpZW5jZVVybFByZWZpeCcsICdoZWFkaW5nTGV2ZWwnLCAndXNlUHJlc2V0Rm9vdGVyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWZvb3RlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmxvZ1VybFByZWZpeCcsICdleHBlcmllbmNlVXJsUHJlZml4JywgJ2hlYWRpbmdMZXZlbCcsICd1c2VQcmVzZXRGb290ZXInXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUZvb3RlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVGb290ZXIgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVGb290ZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVGb3JtXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1mb3JtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVGb3JtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUZvcm0gZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVGb3JtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlRm9ybUZpZWxkU2VsZWN0LFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdvcHRpb25zJywgJ3BsYWNlaG9sZGVyJywgJ3Byb21wdCcsICdzZWxlY3RTdHlsZScsICdzZWxlY3RlZExhYmVsJywgJ3NlbGVjdGVkT3B0aW9uQ29sb3VyJywgJ3NlbGVjdGVkVmFsdWUnLCAnc2VsZWN0aW9uQ2hhbmdlZCcsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWZvcm0tZmllbGQtc2VsZWN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3VyJywgJ29wdGlvbnMnLCAncGxhY2Vob2xkZXInLCAncHJvbXB0JywgJ3NlbGVjdFN0eWxlJywgJ3NlbGVjdGVkTGFiZWwnLCAnc2VsZWN0ZWRPcHRpb25Db2xvdXInLCAnc2VsZWN0ZWRWYWx1ZScsICdzZWxlY3Rpb25DaGFuZ2VkJywgJ3NwYWNlQmVsb3cnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUZvcm1GaWVsZFNlbGVjdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVGb3JtRmllbGRTZWxlY3QgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVGb3JtRmllbGRTZWxlY3Qge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVGb3JtYXR0ZWRUZXh0LFxuICBpbnB1dHM6IFsnZGVmYXVsdFRleHRDb2xvdXInLCAnbWF4V2lkdGgnLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1mb3JtYXR0ZWQtdGV4dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVmYXVsdFRleHRDb2xvdXInLCAnbWF4V2lkdGgnLCAnc3BhY2VCZWxvdyddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlRm9ybWF0dGVkVGV4dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVGb3JtYXR0ZWRUZXh0IGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlRm9ybWF0dGVkVGV4dCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUdlbmVyaWNJY29uLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdpY29uJywgJ2ljb25Db2xvdXInLCAnaWNvbkdyb3VwJywgJ3VybCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1nZW5lcmljLWljb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnaWNvbicsICdpY29uQ29sb3VyJywgJ2ljb25Hcm91cCcsICd1cmwnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUdlbmVyaWNJY29uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUdlbmVyaWNJY29uIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlR2VuZXJpY0ljb24ge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVHcmlkLFxuICBpbnB1dHM6IFsnY29sdW1uQ291bnQnLCAnY29sdW1uR2FwJywgJ3NwYWNlQmVsb3cnLCAnc3BhY2VCZXR3ZWVuJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWdyaWQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbHVtbkNvdW50JywgJ2NvbHVtbkdhcCcsICdzcGFjZUJlbG93JywgJ3NwYWNlQmV0d2VlbiddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlR3JpZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVHcmlkIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlR3JpZCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUhlYWRpbmcsXG4gIGlucHV0czogWydhbGlnbicsICdjb2xvdXInLCAnaHRtbEVsZW1lbnQnLCAnaWNvbicsICdpY29uQ29sb3VyJywgJ3NpemUnLCAnc3BhY2VBYm92ZScsICdzcGFjZUJlbG93JywgJ3RleHQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtaGVhZGluZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWxpZ24nLCAnY29sb3VyJywgJ2h0bWxFbGVtZW50JywgJ2ljb24nLCAnaWNvbkNvbG91cicsICdzaXplJywgJ3NwYWNlQWJvdmUnLCAnc3BhY2VCZWxvdycsICd0ZXh0J10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVIZWFkaW5nIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUhlYWRpbmcgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVIZWFkaW5nIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlSGVyb0ltYWdlLFxuICBpbnB1dHM6IFsnYnV0dG9uQ29sb3VyU2NoZW1lJywgJ2J1dHRvbkxhYmVsJywgJ2J1dHRvblVybCcsICdjb2xvdXJTY2hlbWUnLCAnbG9nbycsICdsb2dvQWx0VGV4dCcsICdsb2dvSGVpZ2h0JywgJ21haW5JbWFnZScsICdtYWluSW1hZ2VBbGlnbkhvcml6b250YWwnLCAnbWFpbkltYWdlQWxpZ25WZXJ0aWNhbCcsICdtYWluVGl0bGUnLCAnbWFpblRpdGxlQ29sb3VyJywgJ3NsdWcnLCAnc2x1Z0NvbG91cicsICdzcGFjZUJlbG93JywgJ3RlYXNlcicsICd0ZWFzZXJDb2xvdXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtaGVyby1pbWFnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYnV0dG9uQ29sb3VyU2NoZW1lJywgJ2J1dHRvbkxhYmVsJywgJ2J1dHRvblVybCcsICdjb2xvdXJTY2hlbWUnLCAnbG9nbycsICdsb2dvQWx0VGV4dCcsICdsb2dvSGVpZ2h0JywgJ21haW5JbWFnZScsICdtYWluSW1hZ2VBbGlnbkhvcml6b250YWwnLCAnbWFpbkltYWdlQWxpZ25WZXJ0aWNhbCcsICdtYWluVGl0bGUnLCAnbWFpblRpdGxlQ29sb3VyJywgJ3NsdWcnLCAnc2x1Z0NvbG91cicsICdzcGFjZUJlbG93JywgJ3RlYXNlcicsICd0ZWFzZXJDb2xvdXInXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUhlcm9JbWFnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVIZXJvSW1hZ2UgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVIZXJvSW1hZ2Uge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVJY29uQnV0dG9uLFxuICBpbnB1dHM6IFsnYXJyb3cnLCAnYXJyb3dDb2xvdXInLCAnYmFja2dyb3VuZENvbG91cicsICdiYWNrZ3JvdW5kUGFkZGluZycsICdidXR0b25JZCcsICdjZW50ZXJlZCcsICdjaXJjbGUnLCAnaWNvbicsICdpY29uR3JvdXAnLCAnb3BlbkluTmV3VGFiJywgJ3JvdW5kZWQnLCAnc2hhZG93JywgJ3NpemUnLCAnc3BhY2VCZWxvdycsICd0ZXh0JywgJ3RleHRDb2xvdXInLCAndXJsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWljb24tYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcnJvdycsICdhcnJvd0NvbG91cicsICdiYWNrZ3JvdW5kQ29sb3VyJywgJ2JhY2tncm91bmRQYWRkaW5nJywgJ2J1dHRvbklkJywgJ2NlbnRlcmVkJywgJ2NpcmNsZScsICdpY29uJywgJ2ljb25Hcm91cCcsICdvcGVuSW5OZXdUYWInLCAncm91bmRlZCcsICdzaGFkb3cnLCAnc2l6ZScsICdzcGFjZUJlbG93JywgJ3RleHQnLCAndGV4dENvbG91cicsICd1cmwnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUljb25CdXR0b24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydkb0J1dHRvbkNsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVJY29uQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlSWNvbkJ1dHRvbiB7XG5cbiAgZG9CdXR0b25DbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgZXZlbnQ6IG9iamVjdDsgdXJsOiBzdHJpbmcgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUljb25Hcm91cCxcbiAgaW5wdXRzOiBbJ2xhYmVsJywgJ3NwYWNlQmVsb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtaWNvbi1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnbGFiZWwnLCAnc3BhY2VCZWxvdyddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlSWNvbkdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUljb25Hcm91cCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUljb25Hcm91cCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUltYWdlLFxuICBpbnB1dHM6IFsnaGVpZ2h0JywgJ2ltYWdlQWx0VGV4dCcsICdpbWFnZVVybCcsICdzaXplVW5pdCcsICdzcGFjZUFib3ZlJywgJ3NwYWNlQmVsb3cnLCAnd2lkdGgnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtaW1hZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hlaWdodCcsICdpbWFnZUFsdFRleHQnLCAnaW1hZ2VVcmwnLCAnc2l6ZVVuaXQnLCAnc3BhY2VBYm92ZScsICdzcGFjZUJlbG93JywgJ3dpZHRoJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVJbWFnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVJbWFnZSBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUltYWdlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlSW1hZ2VCdXR0b24sXG4gIGlucHV0czogWydhcnJvdycsICdhcnJvd0NvbG91cicsICdiYWNrZ3JvdW5kQ29sb3VyJywgJ2JhY2tncm91bmRQYWRkaW5nJywgJ2J1dHRvbklkJywgJ2NlbnRlcmVkJywgJ2NpcmNsZScsICdpbWFnZVN0eWxlJywgJ2ltYWdlVXJsJywgJ29wZW5Jbk5ld1RhYicsICdyb3VuZGVkJywgJ3NoYWRvdycsICdzaXplJywgJ3NwYWNlQmVsb3cnLCAndGV4dCcsICd0ZXh0Q29sb3VyJywgJ3VybCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1pbWFnZS1idXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Fycm93JywgJ2Fycm93Q29sb3VyJywgJ2JhY2tncm91bmRDb2xvdXInLCAnYmFja2dyb3VuZFBhZGRpbmcnLCAnYnV0dG9uSWQnLCAnY2VudGVyZWQnLCAnY2lyY2xlJywgJ2ltYWdlU3R5bGUnLCAnaW1hZ2VVcmwnLCAnb3BlbkluTmV3VGFiJywgJ3JvdW5kZWQnLCAnc2hhZG93JywgJ3NpemUnLCAnc3BhY2VCZWxvdycsICd0ZXh0JywgJ3RleHRDb2xvdXInLCAndXJsJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVJbWFnZUJ1dHRvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2RvQnV0dG9uQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUltYWdlQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlSW1hZ2VCdXR0b24ge1xuXG4gIGRvQnV0dG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGV2ZW50OiBvYmplY3Q7IHVybDogc3RyaW5nIH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVJbWFnZUZlYXR1cmUsXG4gIGlucHV0czogWydidXR0b25Db2xvdXJTY2hlbWUnLCAnYnV0dG9uTGFiZWwnLCAnYnV0dG9uVXJsJywgJ2RlZmF1bHRUZXh0Q29sb3VyJywgJ2ltYWdlQWx0VGV4dCcsICdpbWFnZVVybCcsICdtYWluVGl0bGUnLCAnbWFpblRpdGxlQ29sb3VyJywgJ3NsdWcnLCAnc2x1Z0NvbG91cicsICdzcGFjZUJlbG93JywgJ3RlYXNlcicsICd0ZWFzZXJDb2xvdXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtaW1hZ2UtZmVhdHVyZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYnV0dG9uQ29sb3VyU2NoZW1lJywgJ2J1dHRvbkxhYmVsJywgJ2J1dHRvblVybCcsICdkZWZhdWx0VGV4dENvbG91cicsICdpbWFnZUFsdFRleHQnLCAnaW1hZ2VVcmwnLCAnbWFpblRpdGxlJywgJ21haW5UaXRsZUNvbG91cicsICdzbHVnJywgJ3NsdWdDb2xvdXInLCAnc3BhY2VCZWxvdycsICd0ZWFzZXInLCAndGVhc2VyQ29sb3VyJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVJbWFnZUZlYXR1cmUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlSW1hZ2VGZWF0dXJlIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlSW1hZ2VGZWF0dXJlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlTWFpbk1lbnUsXG4gIGlucHV0czogWydibG9nVXJsUHJlZml4JywgJ2RvbmF0ZVVybFByZWZpeCcsICdleHBlcmllbmNlVXJsUHJlZml4JywgJ2lzTG9nZ2VkSW4nLCAnbG9nb1VybCcsICd1c2VQcmVzZXRNZW51Q29udGVudCddLFxuICBtZXRob2RzOiBbJ2Nsb3NlTW9iaWxlTWVudUZyb21PdXRzaWRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLW1haW4tbWVudScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmxvZ1VybFByZWZpeCcsICdkb25hdGVVcmxQcmVmaXgnLCAnZXhwZXJpZW5jZVVybFByZWZpeCcsICdpc0xvZ2dlZEluJywgJ2xvZ29VcmwnLCAndXNlUHJlc2V0TWVudUNvbnRlbnQnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZU1haW5NZW51IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZU1haW5NZW51IGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlTWFpbk1lbnUge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVNaXNjSWNvbixcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnaWNvbicsICdpY29uQ29sb3VyJywgJ3VybCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1taXNjLWljb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnaWNvbicsICdpY29uQ29sb3VyJywgJ3VybCddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlTWlzY0ljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlTWlzY0ljb24gZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVNaXNjSWNvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZU5hdkdyb3VwLFxuICBpbnB1dHM6IFsnaW5saW5lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLW5hdi1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaW5saW5lJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVOYXZHcm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVOYXZHcm91cCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZU5hdkdyb3VwIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlTmF2SXRlbSxcbiAgaW5wdXRzOiBbJ2ljb25Db2xvdXInLCAnbGFiZWwnLCAndXJsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLW5hdi1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydpY29uQ29sb3VyJywgJ2xhYmVsJywgJ3VybCddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlTmF2SXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVOYXZJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlTmF2SXRlbSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVBhZ2VDb2x1bW5cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXBhZ2UtY29sdW1uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVQYWdlQ29sdW1uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVBhZ2VDb2x1bW4gZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVQYWdlQ29sdW1uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlUGFnZUNvbHVtbnMsXG4gIGlucHV0czogWydzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXBhZ2UtY29sdW1ucycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc3BhY2VCZWxvdyddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlUGFnZUNvbHVtbnMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlUGFnZUNvbHVtbnMgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVQYWdlQ29sdW1ucyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVBhZ2VTZWN0aW9uLFxuICBpbnB1dHM6IFsnY29sb3VyU2NoZW1lJywgJ21heFdpZHRoJywgJ3ByaW1hcnlGdWxsQmxlZWQnLCAnc2VjdGlvblN0eWxlQm90dG9tJywgJ3NlY3Rpb25TdHlsZVRvcCcsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXBhZ2Utc2VjdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sb3VyU2NoZW1lJywgJ21heFdpZHRoJywgJ3ByaW1hcnlGdWxsQmxlZWQnLCAnc2VjdGlvblN0eWxlQm90dG9tJywgJ3NlY3Rpb25TdHlsZVRvcCcsICdzcGFjZUJlbG93J10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVQYWdlU2VjdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVQYWdlU2VjdGlvbiBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVBhZ2VTZWN0aW9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlUG9wdXAsXG4gIG1ldGhvZHM6IFsnb3BlbkZyb21PdXRzaWRlJywgJ2Nsb3NlRnJvbU91dHNpZGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtcG9wdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVBvcHVwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVBvcHVwIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlUG9wdXAge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVQcm9ncmVzc0JhcixcbiAgaW5wdXRzOiBbJ2NvbG91clNjaGVtZScsICdjb3VudGVyJywgJ3NwYWNlQmVsb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtcHJvZ3Jlc3MtYmFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb2xvdXJTY2hlbWUnLCAnY291bnRlcicsICdzcGFjZUJlbG93J10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVQcm9ncmVzc0JhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVQcm9ncmVzc0JhciBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVByb2dyZXNzQmFyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlUXVvdGUsXG4gIGlucHV0czogWydhdHRyaWJ1dGlvbicsICdkZWZhdWx0VGV4dENvbG91cicsICdxdW90ZScsICdxdW90ZUljb25Db2xvdXInLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1xdW90ZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXR0cmlidXRpb24nLCAnZGVmYXVsdFRleHRDb2xvdXInLCAncXVvdGUnLCAncXVvdGVJY29uQ29sb3VyJywgJ3NwYWNlQmVsb3cnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVF1b3RlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVF1b3RlIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlUXVvdGUge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVTaGVldCxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnc2hlZXRJZCcsICd0ZXh0Q29sb3VyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXNoZWV0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3VyJywgJ3NoZWV0SWQnLCAndGV4dENvbG91ciddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlU2hlZXQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlU2hlZXQgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVTaGVldCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVNvY2lhbEljb24sXG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3VyJywgJ2ljb25Db2xvdXInLCAnbGFiZWxQcmVmaXgnLCAnc2VydmljZScsICd1cmwnLCAnd2lkZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1zb2NpYWwtaWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdpY29uQ29sb3VyJywgJ2xhYmVsUHJlZml4JywgJ3NlcnZpY2UnLCAndXJsJywgJ3dpZGUnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVNvY2lhbEljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlU29jaWFsSWNvbiBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVNvY2lhbEljb24ge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVUYWIsXG4gIGlucHV0czogWyd0YWJUaXRsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS10YWInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3RhYlRpdGxlJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVUYWIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlVGFiIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlVGFiIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlVGFiYmVkQ29udGVudCxcbiAgaW5wdXRzOiBbJ2J1dHRvbkJhY2tncm91bmRDb2xvdXInLCAnYnV0dG9uSWNvbkNvbG91cicsICduYXZpZ2F0aW9uSGlnaGxpZ2h0Q29sb3VyJywgJ3NlbGVjdGVkTmF2aWdhdGlvbkhpZ2hsaWdodENvbG91cicsICdzZWxlY3RlZFRleHRDb2xvdXInLCAnc3BhY2VCZWxvdycsICd0ZXh0Q29sb3VyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXRhYmJlZC1jb250ZW50JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydidXR0b25CYWNrZ3JvdW5kQ29sb3VyJywgJ2J1dHRvbkljb25Db2xvdXInLCAnbmF2aWdhdGlvbkhpZ2hsaWdodENvbG91cicsICdzZWxlY3RlZE5hdmlnYXRpb25IaWdobGlnaHRDb2xvdXInLCAnc2VsZWN0ZWRUZXh0Q29sb3VyJywgJ3NwYWNlQmVsb3cnLCAndGV4dENvbG91ciddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlVGFiYmVkQ29udGVudCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVUYWJiZWRDb250ZW50IGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlVGFiYmVkQ29udGVudCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVRhYmxlLFxuICBpbnB1dHM6IFsnYm9keUJhY2tncm91bmRDb2xvdXInLCAnYm9keVRleHRDb2xvdXInLCAnaGVhZGVyQmFja2dyb3VuZENvbG91cicsICdoZWFkZXJUZXh0Q29sb3VyJywgJ3NwYWNlQmVsb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtdGFibGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JvZHlCYWNrZ3JvdW5kQ29sb3VyJywgJ2JvZHlUZXh0Q29sb3VyJywgJ2hlYWRlckJhY2tncm91bmRDb2xvdXInLCAnaGVhZGVyVGV4dENvbG91cicsICdzcGFjZUJlbG93J10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVUYWJsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVUYWJsZSBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVRhYmxlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlVGV4dElucHV0LFxuICBpbnB1dHM6IFsnY3VycmVuY3knLCAncHJvbXB0JywgJ3NlbGVjdFN0eWxlJywgJ3NwYWNlQmVsb3cnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtdGV4dC1pbnB1dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY3VycmVuY3knLCAncHJvbXB0JywgJ3NlbGVjdFN0eWxlJywgJ3NwYWNlQmVsb3cnLCAndmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVRleHRJbnB1dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVUZXh0SW5wdXQgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVUZXh0SW5wdXQge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVUaW1lbGluZSxcbiAgaW5wdXRzOiBbJ2J1dHRvbkJhY2tncm91bmRDb2xvdXInLCAnYnV0dG9uSWNvbkNvbG91cicsICdlbnRyeUJhY2tncm91bmRDb2xvdXInLCAnZW50cnlEYXRlQ29sb3VyJywgJ2VudHJ5SGlnaGxpZ2h0Q29sb3VyJywgJ2VudHJ5VGV4dENvbG91cicsICdlbnRyeVRpdGxlQ29sb3VyJywgJ25hdmlnYXRpb25IaWdobGlnaHRDb2xvdXInLCAnc2VsZWN0ZWROYXZpZ2F0aW9uSGlnaGxpZ2h0Q29sb3VyJywgJ3NlbGVjdGVkVGV4dENvbG91cicsICdzcGFjZUJlbG93JywgJ3RleHRDb2xvdXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtdGltZWxpbmUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2J1dHRvbkJhY2tncm91bmRDb2xvdXInLCAnYnV0dG9uSWNvbkNvbG91cicsICdlbnRyeUJhY2tncm91bmRDb2xvdXInLCAnZW50cnlEYXRlQ29sb3VyJywgJ2VudHJ5SGlnaGxpZ2h0Q29sb3VyJywgJ2VudHJ5VGV4dENvbG91cicsICdlbnRyeVRpdGxlQ29sb3VyJywgJ25hdmlnYXRpb25IaWdobGlnaHRDb2xvdXInLCAnc2VsZWN0ZWROYXZpZ2F0aW9uSGlnaGxpZ2h0Q29sb3VyJywgJ3NlbGVjdGVkVGV4dENvbG91cicsICdzcGFjZUJlbG93JywgJ3RleHRDb2xvdXInXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVRpbWVsaW5lIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVRpbWVsaW5lIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlVGltZWxpbmUge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVUaW1lbGluZUVudHJ5LFxuICBpbnB1dHM6IFsnZGF0ZScsICdoZWFkaW5nJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXRpbWVsaW5lLWVudHJ5JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkYXRlJywgJ2hlYWRpbmcnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVRpbWVsaW5lRW50cnkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlVGltZWxpbmVFbnRyeSBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVRpbWVsaW5lRW50cnkge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVUb3RhbGl6ZXIsXG4gIGlucHV0czogWydtYWluTWVzc2FnZScsICdwcmltYXJ5Q29sb3VyJywgJ3ByaW1hcnlUZXh0Q29sb3VyJywgJ3NlY29uZGFyeUNvbG91cicsICdzZWNvbmRhcnlUZXh0Q29sb3VyJywgJ3NwYWNlQmVsb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtdG90YWxpemVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydtYWluTWVzc2FnZScsICdwcmltYXJ5Q29sb3VyJywgJ3ByaW1hcnlUZXh0Q29sb3VyJywgJ3NlY29uZGFyeUNvbG91cicsICdzZWNvbmRhcnlUZXh0Q29sb3VyJywgJ3NwYWNlQmVsb3cnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVRvdGFsaXplciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVUb3RhbGl6ZXIgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVUb3RhbGl6ZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVUb3RhbGl6ZXJUaWNrZXJJdGVtLFxuICBpbnB1dHM6IFsnZmlndXJlJywgJ2xhYmVsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXRvdGFsaXplci10aWNrZXItaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZmlndXJlJywgJ2xhYmVsJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVUb3RhbGl6ZXJUaWNrZXJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVRvdGFsaXplclRpY2tlckl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVUb3RhbGl6ZXJUaWNrZXJJdGVtIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlVmlkZW8sXG4gIGlucHV0czogWydzcGFjZUFib3ZlJywgJ3NwYWNlQmVsb3cnLCAndmlkZW9VcmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtdmlkZW8nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3NwYWNlQWJvdmUnLCAnc3BhY2VCZWxvdycsICd2aWRlb1VybCddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlVmlkZW8ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlVmlkZW8gZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVWaWRlbyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVZpZGVvRmVhdHVyZSxcbiAgaW5wdXRzOiBbJ2J1dHRvbkNvbG91clNjaGVtZScsICdidXR0b25MYWJlbCcsICdidXR0b25VcmwnLCAnZGVmYXVsdFRleHRDb2xvdXInLCAnbWFpblRpdGxlJywgJ21haW5UaXRsZUNvbG91cicsICdzbHVnJywgJ3NsdWdDb2xvdXInLCAnc3BhY2VBYm92ZScsICdzcGFjZUJlbG93JywgJ3RlYXNlcicsICd0ZWFzZXJDb2xvdXInLCAndmlkZW9VcmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtdmlkZW8tZmVhdHVyZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYnV0dG9uQ29sb3VyU2NoZW1lJywgJ2J1dHRvbkxhYmVsJywgJ2J1dHRvblVybCcsICdkZWZhdWx0VGV4dENvbG91cicsICdtYWluVGl0bGUnLCAnbWFpblRpdGxlQ29sb3VyJywgJ3NsdWcnLCAnc2x1Z0NvbG91cicsICdzcGFjZUFib3ZlJywgJ3NwYWNlQmVsb3cnLCAndGVhc2VyJywgJ3RlYXNlckNvbG91cicsICd2aWRlb1VybCddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlVmlkZW9GZWF0dXJlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVZpZGVvRmVhdHVyZSBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVZpZGVvRmVhdHVyZSB7fVxuXG5cbiJdfQ==
1519
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zdGVuY2lsLWdlbmVyYXRlZC9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUV4SCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBSXZFLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxzQkFBc0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3pILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSwyQkFBMkIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQ3BJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx3QkFBd0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzlILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxzQkFBc0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQzNILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxzQkFBc0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzFILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSw0QkFBNEIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQ3RJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSwwQkFBMEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ2xJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxtQkFBbUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ25ILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx5QkFB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RSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLFVBQVUsQ0FBQztLQUN4TSxDQUFDO0dBUVcsbUJBQW1CLENBTS9CO1NBTlksbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBUC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsVUFBVSxDQUFDO2lCQUN4TSIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBhdXRvLWdlbmVyYXRlZCBhbmd1bGFyIGRpcmVjdGl2ZSBwcm94aWVzICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUHJveHlDbXAsIHByb3h5T3V0cHV0cyB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcblxuaW1wb3J0IHR5cGUgeyBDb21wb25lbnRzIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVBY2NvcmRpb24gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWFjY29yZGlvbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVBY2NvcmRpb25FbnRyeSB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtYWNjb3JkaW9uLWVudHJ5LmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUFydGljbGVDYXJkIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1hcnRpY2xlLWNhcmQuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlQmFja1RvVG9wIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1iYWNrLXRvLXRvcC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVCYXNpY0NhcmQgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWJhc2ljLWNhcmQuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlQmVuZWZpY2lhcnlJY29uIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1iZW5lZmljaWFyeS1pY29uLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUJpb2dyYXBoeUNhcmQgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWJpb2dyYXBoeS1jYXJkLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUJveGVkQ29udGVudCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtYm94ZWQtY29udGVudC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVCcmFuZGVkSW1hZ2UgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWJyYW5kZWQtaW1hZ2UuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlQnV0dG9uIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1idXR0b24uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlQ2FsbFRvQWN0aW9uIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1jYWxsLXRvLWFjdGlvbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVDYW1wYWlnbkNhcmQgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWNhbXBhaWduLWNhcmQuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlQ2FtcGFpZ25DYXJkRmlsdGVyR3JpZCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtY2FtcGFpZ24tY2FyZC1maWx0ZXItZ3JpZC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVDYW1wYWlnbkhpZ2hsaWdodHMgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWNhbXBhaWduLWhpZ2hsaWdodHMuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlQ2Fyb3VzZWwgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWNhcm91c2VsLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUNhdGVnb3J5SWNvbiB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtY2F0ZWdvcnktaWNvbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVGaWx0ZXJlZENhcm91c2VsIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1maWx0ZXJlZC1jYXJvdXNlbC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVGb290ZXIgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWZvb3Rlci5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVGb3JtIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1mb3JtLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUZvcm1GaWVsZFNlbGVjdCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtZm9ybS1maWVsZC1zZWxlY3QuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlRm9ybWF0dGVkVGV4dCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtZm9ybWF0dGVkLXRleHQuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlR2VuZXJpY0ljb24gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWdlbmVyaWMtaWNvbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVHcmlkIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1ncmlkLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUhlYWRpbmcgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWhlYWRpbmcuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlSGVyb0ltYWdlIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1oZXJvLWltYWdlLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUljb25CdXR0b24gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWljb24tYnV0dG9uLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUljb25Hcm91cCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtaWNvbi1ncm91cC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVJbWFnZSB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtaW1hZ2UuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlSW1hZ2VCdXR0b24gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWltYWdlLWJ1dHRvbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVJbWFnZUZlYXR1cmUgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWltYWdlLWZlYXR1cmUuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlTWFpbk1lbnUgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLW1haW4tbWVudS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVNaXNjSWNvbiB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtbWlzYy1pY29uLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZU5hdkdyb3VwIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1uYXYtZ3JvdXAuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlTmF2SXRlbSB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtbmF2LWl0ZW0uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlUGFnZUNvbHVtbiB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtcGFnZS1jb2x1bW4uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlUGFnZUNvbHVtbnMgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLXBhZ2UtY29sdW1ucy5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVQYWdlU2VjdGlvbiB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtcGFnZS1zZWN0aW9uLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZVBvcHVwIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1wb3B1cC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVQcm9ncmVzc0JhciB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtcHJvZ3Jlc3MtYmFyLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZVF1b3RlIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1xdW90ZS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVTaGVldCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtc2hlZXQuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlU29jaWFsSWNvbiB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtc29jaWFsLWljb24uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlVGFiIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS10YWIuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlVGFiYmVkQ29udGVudCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtdGFiYmVkLWNvbnRlbnQuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlVGFibGUgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLXRhYmxlLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZVRleHRJbnB1dCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtdGV4dC1pbnB1dC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVUaW1lbGluZSB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtdGltZWxpbmUuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlVGltZWxpbmVFbnRyeSB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtdGltZWxpbmUtZW50cnkuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlVG90YWxpemVyIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS10b3RhbGl6ZXIuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlVG90YWxpemVyVGlja2VySXRlbSB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtdG90YWxpemVyLXRpY2tlci1pdGVtLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZVZpZGVvIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS12aWRlby5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVWaWRlb0ZlYXR1cmUgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLXZpZGVvLWZlYXR1cmUuanMnO1xuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlQWNjb3JkaW9uLFxuICBpbnB1dHM6IFsnaGVhZGluZ0NvbG91cicsICdzcGFjZUJlbG93JywgJ3RleHRDb2xvdXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtYWNjb3JkaW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoZWFkaW5nQ29sb3VyJywgJ3NwYWNlQmVsb3cnLCAndGV4dENvbG91ciddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQWNjb3JkaW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUFjY29yZGlvbiBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUFjY29yZGlvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUFjY29yZGlvbkVudHJ5LFxuICBpbnB1dHM6IFsnaGVhZGluZyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1hY2NvcmRpb24tZW50cnknLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hlYWRpbmcnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUFjY29yZGlvbkVudHJ5IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUFjY29yZGlvbkVudHJ5IGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlQWNjb3JkaW9uRW50cnkge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVBcnRpY2xlQ2FyZCxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnYmFja2dyb3VuZEltYWdlVXJsJywgJ2J1dHRvbkNvbG91cicsICdidXR0b25MYWJlbCcsICdidXR0b25VcmwnLCAnY2xpcEJvdHRvbUxlZnRDb3JuZXInLCAnY2xpcFRvcFJpZ2h0Q29ybmVyJywgJ2RhdGUnLCAnZGF0ZUNvbG91cicsICdpbWFnZTFBbHRUZXh0JywgJ2ltYWdlMVVybCcsICdpbWFnZTJBbHRUZXh0JywgJ2ltYWdlMlVybCcsICdpbWFnZUxhYmVsJywgJ2ltYWdlTGFiZWxDb2xvdXInLCAnbWFpbkltYWdlQWx0VGV4dCcsICdtYWluSW1hZ2VVcmwnLCAnbWFpblRpdGxlJywgJ21haW5UaXRsZUNvbG91cicsICdzbHVnJywgJ3NsdWdDb2xvdXInLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1hcnRpY2xlLWNhcmQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnYmFja2dyb3VuZEltYWdlVXJsJywgJ2J1dHRvbkNvbG91cicsICdidXR0b25MYWJlbCcsICdidXR0b25VcmwnLCAnY2xpcEJvdHRvbUxlZnRDb3JuZXInLCAnY2xpcFRvcFJpZ2h0Q29ybmVyJywgJ2RhdGUnLCAnZGF0ZUNvbG91cicsICdpbWFnZTFBbHRUZXh0JywgJ2ltYWdlMVVybCcsICdpbWFnZTJBbHRUZXh0JywgJ2ltYWdlMlVybCcsICdpbWFnZUxhYmVsJywgJ2ltYWdlTGFiZWxDb2xvdXInLCAnbWFpbkltYWdlQWx0VGV4dCcsICdtYWluSW1hZ2VVcmwnLCAnbWFpblRpdGxlJywgJ21haW5UaXRsZUNvbG91cicsICdzbHVnJywgJ3NsdWdDb2xvdXInLCAnc3BhY2VCZWxvdyddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQXJ0aWNsZUNhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQXJ0aWNsZUNhcmQgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVBcnRpY2xlQ2FyZCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUJhY2tUb1RvcFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtYmFjay10by10b3AnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUJhY2tUb1RvcCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVCYWNrVG9Ub3AgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVCYWNrVG9Ub3Age31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVCYXNpY0NhcmQsXG4gIGlucHV0czogWydhZGRBbmltYXRpb24nLCAnYmFja2dyb3VuZENvbG91cicsICdiYWNrZ3JvdW5kSW1hZ2VVcmwnLCAnYnV0dG9uQWxpZ24nLCAnYnV0dG9uQ29sb3VyU2NoZW1lJywgJ2J1dHRvbkxhYmVsJywgJ2J1dHRvblN0eWxlJywgJ2J1dHRvblVybCcsICdjYXJkQ29sb3VyJywgJ2NsaXBCb3R0b21MZWZ0Q29ybmVyJywgJ2NsaXBUb3BSaWdodENvcm5lcicsICdoZWFkaW5nTGV2ZWwnLCAnaWNvbicsICdpY29uQ29sb3VyJywgJ21haW5JbWFnZUFsdFRleHQnLCAnbWFpbkltYWdlVXJsJywgJ21haW5UaXRsZScsICdzcGFjZUJlbG93JywgJ3N1YnRpdGxlJywgJ3RlYXNlcicsICd0ZXh0Q29sb3VyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWJhc2ljLWNhcmQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FkZEFuaW1hdGlvbicsICdiYWNrZ3JvdW5kQ29sb3VyJywgJ2JhY2tncm91bmRJbWFnZVVybCcsICdidXR0b25BbGlnbicsICdidXR0b25Db2xvdXJTY2hlbWUnLCAnYnV0dG9uTGFiZWwnLCAnYnV0dG9uU3R5bGUnLCAnYnV0dG9uVXJsJywgJ2NhcmRDb2xvdXInLCAnY2xpcEJvdHRvbUxlZnRDb3JuZXInLCAnY2xpcFRvcFJpZ2h0Q29ybmVyJywgJ2hlYWRpbmdMZXZlbCcsICdpY29uJywgJ2ljb25Db2xvdXInLCAnbWFpbkltYWdlQWx0VGV4dCcsICdtYWluSW1hZ2VVcmwnLCAnbWFpblRpdGxlJywgJ3NwYWNlQmVsb3cnLCAnc3VidGl0bGUnLCAndGVhc2VyJywgJ3RleHRDb2xvdXInXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUJhc2ljQ2FyZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVCYXNpY0NhcmQgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVCYXNpY0NhcmQge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVCZW5lZmljaWFyeUljb24sXG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3VyJywgJ2ljb24nLCAnaWNvbkNvbG91cicsICdsYWJlbCcsICd1cmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtYmVuZWZpY2lhcnktaWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdpY29uJywgJ2ljb25Db2xvdXInLCAnbGFiZWwnLCAndXJsJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVCZW5lZmljaWFyeUljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQmVuZWZpY2lhcnlJY29uIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlQmVuZWZpY2lhcnlJY29uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlQmlvZ3JhcGh5Q2FyZCxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnYm9yZGVyV2lkdGgnLCAnY2lyY2xlJywgJ2NpcmNsZUNvbG91cicsICdmdWxsTmFtZScsICdpbWFnZVN0eWxlJywgJ2ltYWdlVXJsJywgJ2pvYlRpdGxlJywgJ3JhdGlvJywgJ3JvdW5kZWQnLCAnc3BhY2VCZWxvdycsICd0ZXh0QWxpZ24nLCAndGV4dENvbG91cicsICd1cmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtYmlvZ3JhcGh5LWNhcmQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnYm9yZGVyV2lkdGgnLCAnY2lyY2xlJywgJ2NpcmNsZUNvbG91cicsICdmdWxsTmFtZScsICdpbWFnZVN0eWxlJywgJ2ltYWdlVXJsJywgJ2pvYlRpdGxlJywgJ3JhdGlvJywgJ3JvdW5kZWQnLCAnc3BhY2VCZWxvdycsICd0ZXh0QWxpZ24nLCAndGV4dENvbG91cicsICd1cmwnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUJpb2dyYXBoeUNhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQmlvZ3JhcGh5Q2FyZCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUJpb2dyYXBoeUNhcmQge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVCb3hlZENvbnRlbnQsXG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3VyJywgJ2hvcml6b250YWxQYWRkaW5nJywgJ3NoYWRvdycsICdzcGFjZUJlbG93JywgJ3ZlcnRpY2FsUGFkZGluZyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1ib3hlZC1jb250ZW50JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3VyJywgJ2hvcml6b250YWxQYWRkaW5nJywgJ3NoYWRvdycsICdzcGFjZUJlbG93JywgJ3ZlcnRpY2FsUGFkZGluZyddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQm94ZWRDb250ZW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUJveGVkQ29udGVudCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUJveGVkQ29udGVudCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUJyYW5kZWRJbWFnZSxcbiAgaW5wdXRzOiBbJ2NoYXJpdHlMb2NhdGlvbicsICdjaGFyaXR5TmFtZScsICdjaGFyaXR5VXJsJywgJ2ltYWdlVXJsJywgJ2xvZ29VcmwnLCAnc2x1ZycsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWJyYW5kZWQtaW1hZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NoYXJpdHlMb2NhdGlvbicsICdjaGFyaXR5TmFtZScsICdjaGFyaXR5VXJsJywgJ2ltYWdlVXJsJywgJ2xvZ29VcmwnLCAnc2x1ZycsICdzcGFjZUJlbG93J10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVCcmFuZGVkSW1hZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQnJhbmRlZEltYWdlIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlQnJhbmRlZEltYWdlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlQnV0dG9uLFxuICBpbnB1dHM6IFsnYnV0dG9uSWQnLCAnY2VudGVyZWQnLCAnY29sb3VyU2NoZW1lJywgJ2Z1bGxXaWR0aCcsICdsYWJlbCcsICdvcGVuSW5OZXdUYWInLCAncm91bmRlZCcsICdzaXplJywgJ3NwYWNlQmVsb3cnLCAndXJsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYnV0dG9uSWQnLCAnY2VudGVyZWQnLCAnY29sb3VyU2NoZW1lJywgJ2Z1bGxXaWR0aCcsICdsYWJlbCcsICdvcGVuSW5OZXdUYWInLCAncm91bmRlZCcsICdzaXplJywgJ3NwYWNlQmVsb3cnLCAndXJsJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVCdXR0b24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydkb0J1dHRvbkNsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVCdXR0b24gZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVCdXR0b24ge1xuXG4gIGRvQnV0dG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGV2ZW50OiBvYmplY3Q7IHVybDogc3RyaW5nIH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVDYWxsVG9BY3Rpb24sXG4gIGlucHV0czogWydkZWZhdWx0VGV4dENvbG91cicsICdtYWluVGl0bGUnLCAnbWFpblRpdGxlQ29sb3VyJywgJ21haW5UaXRsZVNpemUnLCAncHJpbWFyeUJ1dHRvbkNvbG91clNjaGVtZScsICdwcmltYXJ5QnV0dG9uTGFiZWwnLCAncHJpbWFyeUJ1dHRvblVybCcsICdzZWNvbmRhcnlCdXR0b25Db2xvdXJTY2hlbWUnLCAnc2Vjb25kYXJ5QnV0dG9uTGFiZWwnLCAnc2Vjb25kYXJ5QnV0dG9uVXJsJywgJ3NsdWcnLCAnc2x1Z0NvbG91cicsICdzbHVnU2l6ZScsICdzcGFjZUFib3ZlJywgJ3NwYWNlQmVsb3cnLCAnc3VidGl0bGUnLCAnc3VidGl0bGVDb2xvdXInLCAnc3VidGl0bGVTaXplJywgJ3RlYXNlcicsICd0ZWFzZXJDb2xvdXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtY2FsbC10by1hY3Rpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RlZmF1bHRUZXh0Q29sb3VyJywgJ21haW5UaXRsZScsICdtYWluVGl0bGVDb2xvdXInLCAnbWFpblRpdGxlU2l6ZScsICdwcmltYXJ5QnV0dG9uQ29sb3VyU2NoZW1lJywgJ3ByaW1hcnlCdXR0b25MYWJlbCcsICdwcmltYXJ5QnV0dG9uVXJsJywgJ3NlY29uZGFyeUJ1dHRvbkNvbG91clNjaGVtZScsICdzZWNvbmRhcnlCdXR0b25MYWJlbCcsICdzZWNvbmRhcnlCdXR0b25VcmwnLCAnc2x1ZycsICdzbHVnQ29sb3VyJywgJ3NsdWdTaXplJywgJ3NwYWNlQWJvdmUnLCAnc3BhY2VCZWxvdycsICdzdWJ0aXRsZScsICdzdWJ0aXRsZUNvbG91cicsICdzdWJ0aXRsZVNpemUnLCAndGVhc2VyJywgJ3RlYXNlckNvbG91ciddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQ2FsbFRvQWN0aW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUNhbGxUb0FjdGlvbiBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUNhbGxUb0FjdGlvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUNhbXBhaWduQ2FyZCxcbiAgaW5wdXRzOiBbJ2Jhbm5lcicsICdjYW1wYWlnblRpdGxlJywgJ2NhbXBhaWduVHlwZScsICdkYXRldGltZScsICdkb25hdGVCdXR0b25Db2xvdXJTY2hlbWUnLCAnZG9uYXRlQnV0dG9uTGFiZWwnLCAnZG9uYXRlQnV0dG9uVXJsJywgJ2lzRnV0dXJlQ2FtcGFpZ24nLCAnaXNQYXN0Q2FtcGFpZ24nLCAnbW9yZUluZm9CdXR0b25Db2xvdXJTY2hlbWUnLCAnbW9yZUluZm9CdXR0b25MYWJlbCcsICdtb3JlSW5mb0J1dHRvblVybCcsICdvcmdhbmlzYXRpb25OYW1lJywgJ3ByaW1hcnlGaWd1cmVBbW91bnQnLCAncHJpbWFyeUZpZ3VyZUxhYmVsJywgJ3Byb2dyZXNzQmFyQ291bnRlcicsICdzZWNvbmRhcnlGaWd1cmVBbW91bnQnLCAnc2Vjb25kYXJ5RmlndXJlTGFiZWwnLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1jYW1wYWlnbi1jYXJkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydiYW5uZXInLCAnY2FtcGFpZ25UaXRsZScsICdjYW1wYWlnblR5cGUnLCAnZGF0ZXRpbWUnLCAnZG9uYXRlQnV0dG9uQ29sb3VyU2NoZW1lJywgJ2RvbmF0ZUJ1dHRvbkxhYmVsJywgJ2RvbmF0ZUJ1dHRvblVybCcsICdpc0Z1dHVyZUNhbXBhaWduJywgJ2lzUGFzdENhbXBhaWduJywgJ21vcmVJbmZvQnV0dG9uQ29sb3VyU2NoZW1lJywgJ21vcmVJbmZvQnV0dG9uTGFiZWwnLCAnbW9yZUluZm9CdXR0b25VcmwnLCAnb3JnYW5pc2F0aW9uTmFtZScsICdwcmltYXJ5RmlndXJlQW1vdW50JywgJ3ByaW1hcnlGaWd1cmVMYWJlbCcsICdwcm9ncmVzc0JhckNvdW50ZXInLCAnc2Vjb25kYXJ5RmlndXJlQW1vdW50JywgJ3NlY29uZGFyeUZpZ3VyZUxhYmVsJywgJ3NwYWNlQmVsb3cnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUNhbXBhaWduQ2FyZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2RvQ2FyZEdlbmVyYWxDbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQ2FtcGFpZ25DYXJkIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlQ2FtcGFpZ25DYXJkIHtcblxuICBkb0NhcmRHZW5lcmFsQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGV2ZW50OiBvYmplY3Q7IHVybDogc3RyaW5nIH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVDYW1wYWlnbkNhcmRGaWx0ZXJHcmlkLFxuICBpbnB1dHM6IFsnYmVuZWZpY2lhcnlPcHRpb25zJywgJ2J1dHRvblRleHQnLCAnY2F0ZWdvcnlPcHRpb25zJywgJ2Z1bmRpbmdPcHRpb25zJywgJ2ludHJvJywgJ2xvY2F0aW9uT3B0aW9ucycsICdwbGFjZWhvbGRlclRleHQnLCAnc2VhcmNoVGV4dCcsICdzZWxlY3RlZEZpbHRlckJlbmVmaWNpYXJ5JywgJ3NlbGVjdGVkRmlsdGVyQ2F0ZWdvcnknLCAnc2VsZWN0ZWRGaWx0ZXJGdW5kaW5nJywgJ3NlbGVjdGVkRmlsdGVyTG9jYXRpb24nLCAnc2VsZWN0ZWRTb3J0QnlPcHRpb24nLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1jYW1wYWlnbi1jYXJkLWZpbHRlci1ncmlkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydiZW5lZmljaWFyeU9wdGlvbnMnLCAnYnV0dG9uVGV4dCcsICdjYXRlZ29yeU9wdGlvbnMnLCAnZnVuZGluZ09wdGlvbnMnLCAnaW50cm8nLCAnbG9jYXRpb25PcHRpb25zJywgJ3BsYWNlaG9sZGVyVGV4dCcsICdzZWFyY2hUZXh0JywgJ3NlbGVjdGVkRmlsdGVyQmVuZWZpY2lhcnknLCAnc2VsZWN0ZWRGaWx0ZXJDYXRlZ29yeScsICdzZWxlY3RlZEZpbHRlckZ1bmRpbmcnLCAnc2VsZWN0ZWRGaWx0ZXJMb2NhdGlvbicsICdzZWxlY3RlZFNvcnRCeU9wdGlvbicsICdzcGFjZUJlbG93J10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVDYW1wYWlnbkNhcmRGaWx0ZXJHcmlkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZG9TZWFyY2hBbmRGaWx0ZXJVcGRhdGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUNhbXBhaWduQ2FyZEZpbHRlckdyaWQgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVDYW1wYWlnbkNhcmRGaWx0ZXJHcmlkIHtcbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgYGRvU2VhcmNoQW5kRmlsdGVyVXBkYXRlYCBldmVudCBpcyBlbWl0dGVkIGFuZCBwcm9wb2dhdGVzIHRvIHRoZSBwYXJlbnRcbmNvbXBvbmVudCB3aGljaCBoYW5kbGVzIGl0XG4gICAqL1xuICBkb1NlYXJjaEFuZEZpbHRlclVwZGF0ZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgc2VhcmNoVGV4dDogc3RyaW5nIHwgbnVsbDsgc29ydEJ5OiBzdHJpbmcgfCBudWxsOyBmaWx0ZXJDYXRlZ29yeTogc3RyaW5nIHwgbnVsbDsgZmlsdGVyQmVuZWZpY2lhcnk6IHN0cmluZyB8IG51bGw7IGZpbHRlckxvY2F0aW9uOiBzdHJpbmcgfCBudWxsOyBmaWx0ZXJGdW5kaW5nOiBzdHJpbmcgfCBudWxsOyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlQ2FtcGFpZ25IaWdobGlnaHRzLFxuICBpbnB1dHM6IFsnYmFubmVyJywgJ2NhbXBhaWduVGl0bGUnLCAnY2hhbXBpb25OYW1lJywgJ2NoYW1waW9uVXJsJywgJ3ByaW1hcnlGaWd1cmVBbW91bnQnLCAncHJpbWFyeUZpZ3VyZUxhYmVsJywgJ3ByaW1hcnlTdGF0SWNvbicsICdwcmltYXJ5U3RhdFRleHQnLCAncHJvZ3Jlc3NCYXJDb3VudGVyJywgJ3NlY29uZGFyeUZpZ3VyZUFtb3VudCcsICdzZWNvbmRhcnlGaWd1cmVMYWJlbCcsICdzZWNvbmRhcnlTdGF0SWNvbicsICdzZWNvbmRhcnlTdGF0VGV4dCcsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWNhbXBhaWduLWhpZ2hsaWdodHMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Jhbm5lcicsICdjYW1wYWlnblRpdGxlJywgJ2NoYW1waW9uTmFtZScsICdjaGFtcGlvblVybCcsICdwcmltYXJ5RmlndXJlQW1vdW50JywgJ3ByaW1hcnlGaWd1cmVMYWJlbCcsICdwcmltYXJ5U3RhdEljb24nLCAncHJpbWFyeVN0YXRUZXh0JywgJ3Byb2dyZXNzQmFyQ291bnRlcicsICdzZWNvbmRhcnlGaWd1cmVBbW91bnQnLCAnc2Vjb25kYXJ5RmlndXJlTGFiZWwnLCAnc2Vjb25kYXJ5U3RhdEljb24nLCAnc2Vjb25kYXJ5U3RhdFRleHQnLCAnc3BhY2VCZWxvdyddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQ2FtcGFpZ25IaWdobGlnaHRzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUNhbXBhaWduSGlnaGxpZ2h0cyBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUNhbXBhaWduSGlnaGxpZ2h0cyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUNhcm91c2VsLFxuICBpbnB1dHM6IFsnYnV0dG9uQmFja2dyb3VuZENvbG91cicsICdidXR0b25JY29uQ29sb3VyJywgJ2NvbHVtbkNvdW50JywgJ3NwYWNlQmVsb3cnXSxcbiAgbWV0aG9kczogWydyZXNpemVUb0ZpdENvbnRlbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtY2Fyb3VzZWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2J1dHRvbkJhY2tncm91bmRDb2xvdXInLCAnYnV0dG9uSWNvbkNvbG91cicsICdjb2x1bW5Db3VudCcsICdzcGFjZUJlbG93J10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVDYXJvdXNlbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVDYXJvdXNlbCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUNhcm91c2VsIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlQ2F0ZWdvcnlJY29uLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdpY29uJywgJ2ljb25Db2xvdXInLCAnbGFiZWwnLCAndXJsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWNhdGVnb3J5LWljb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnaWNvbicsICdpY29uQ29sb3VyJywgJ2xhYmVsJywgJ3VybCddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQ2F0ZWdvcnlJY29uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUNhdGVnb3J5SWNvbiBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUNhdGVnb3J5SWNvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUZpbHRlcmVkQ2Fyb3VzZWwsXG4gIGlucHV0czogWydidXR0b25CYWNrZ3JvdW5kQ29sb3VyJywgJ2J1dHRvbkljb25Db2xvdXInLCAnY29sdW1uQ291bnQnLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1maWx0ZXJlZC1jYXJvdXNlbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYnV0dG9uQmFja2dyb3VuZENvbG91cicsICdidXR0b25JY29uQ29sb3VyJywgJ2NvbHVtbkNvdW50JywgJ3NwYWNlQmVsb3cnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUZpbHRlcmVkQ2Fyb3VzZWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlRmlsdGVyZWRDYXJvdXNlbCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUZpbHRlcmVkQ2Fyb3VzZWwge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVGb290ZXIsXG4gIGlucHV0czogWydibG9nVXJsUHJlZml4JywgJ2V4cGVyaWVuY2VVcmxQcmVmaXgnLCAnaGVhZGluZ0xldmVsJywgJ3VzZVByZXNldEZvb3RlciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1mb290ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Jsb2dVcmxQcmVmaXgnLCAnZXhwZXJpZW5jZVVybFByZWZpeCcsICdoZWFkaW5nTGV2ZWwnLCAndXNlUHJlc2V0Rm9vdGVyJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVGb290ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlRm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlRm9vdGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlRm9ybVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtZm9ybScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlRm9ybSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVGb3JtIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlRm9ybSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUZvcm1GaWVsZFNlbGVjdCxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnb3B0aW9ucycsICdwbGFjZWhvbGRlcicsICdwcm9tcHQnLCAnc2VsZWN0U3R5bGUnLCAnc2VsZWN0ZWRMYWJlbCcsICdzZWxlY3RlZE9wdGlvbkNvbG91cicsICdzZWxlY3RlZFZhbHVlJywgJ3NlbGVjdGlvbkNoYW5nZWQnLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1mb3JtLWZpZWxkLXNlbGVjdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdvcHRpb25zJywgJ3BsYWNlaG9sZGVyJywgJ3Byb21wdCcsICdzZWxlY3RTdHlsZScsICdzZWxlY3RlZExhYmVsJywgJ3NlbGVjdGVkT3B0aW9uQ29sb3VyJywgJ3NlbGVjdGVkVmFsdWUnLCAnc2VsZWN0aW9uQ2hhbmdlZCcsICdzcGFjZUJlbG93J10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVGb3JtRmllbGRTZWxlY3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlRm9ybUZpZWxkU2VsZWN0IGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlRm9ybUZpZWxkU2VsZWN0IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlRm9ybWF0dGVkVGV4dCxcbiAgaW5wdXRzOiBbJ2RlZmF1bHRUZXh0Q29sb3VyJywgJ21heFdpZHRoJywgJ3NwYWNlQmVsb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtZm9ybWF0dGVkLXRleHQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RlZmF1bHRUZXh0Q29sb3VyJywgJ21heFdpZHRoJywgJ3NwYWNlQmVsb3cnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUZvcm1hdHRlZFRleHQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlRm9ybWF0dGVkVGV4dCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUZvcm1hdHRlZFRleHQge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVHZW5lcmljSWNvbixcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnaWNvbicsICdpY29uQ29sb3VyJywgJ2ljb25Hcm91cCcsICd1cmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtZ2VuZXJpYy1pY29uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3VyJywgJ2ljb24nLCAnaWNvbkNvbG91cicsICdpY29uR3JvdXAnLCAndXJsJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVHZW5lcmljSWNvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVHZW5lcmljSWNvbiBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUdlbmVyaWNJY29uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlR3JpZCxcbiAgaW5wdXRzOiBbJ2NvbHVtbkNvdW50JywgJ2NvbHVtbkdhcCcsICdzcGFjZUJlbG93JywgJ3NwYWNlQmV0d2VlbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1ncmlkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb2x1bW5Db3VudCcsICdjb2x1bW5HYXAnLCAnc3BhY2VCZWxvdycsICdzcGFjZUJldHdlZW4nXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUdyaWQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlR3JpZCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUdyaWQge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVIZWFkaW5nLFxuICBpbnB1dHM6IFsnYWxpZ24nLCAnY29sb3VyJywgJ2h0bWxFbGVtZW50JywgJ2ljb24nLCAnaWNvbkNvbG91cicsICdzaXplJywgJ3NwYWNlQWJvdmUnLCAnc3BhY2VCZWxvdycsICd0ZXh0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWhlYWRpbmcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FsaWduJywgJ2NvbG91cicsICdodG1sRWxlbWVudCcsICdpY29uJywgJ2ljb25Db2xvdXInLCAnc2l6ZScsICdzcGFjZUFib3ZlJywgJ3NwYWNlQmVsb3cnLCAndGV4dCddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlSGVhZGluZyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVIZWFkaW5nIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlSGVhZGluZyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUhlcm9JbWFnZSxcbiAgaW5wdXRzOiBbJ2J1dHRvbkNvbG91clNjaGVtZScsICdidXR0b25MYWJlbCcsICdidXR0b25VcmwnLCAnY29sb3VyU2NoZW1lJywgJ2xvZ28nLCAnbG9nb0FsdFRleHQnLCAnbG9nb0hlaWdodCcsICdtYWluSW1hZ2UnLCAnbWFpbkltYWdlQWxpZ25Ib3Jpem9udGFsJywgJ21haW5JbWFnZUFsaWduVmVydGljYWwnLCAnbWFpblRpdGxlJywgJ21haW5UaXRsZUNvbG91cicsICdzbHVnJywgJ3NsdWdDb2xvdXInLCAnc3BhY2VCZWxvdycsICd0ZWFzZXInLCAndGVhc2VyQ29sb3VyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWhlcm8taW1hZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2J1dHRvbkNvbG91clNjaGVtZScsICdidXR0b25MYWJlbCcsICdidXR0b25VcmwnLCAnY29sb3VyU2NoZW1lJywgJ2xvZ28nLCAnbG9nb0FsdFRleHQnLCAnbG9nb0hlaWdodCcsICdtYWluSW1hZ2UnLCAnbWFpbkltYWdlQWxpZ25Ib3Jpem9udGFsJywgJ21haW5JbWFnZUFsaWduVmVydGljYWwnLCAnbWFpblRpdGxlJywgJ21haW5UaXRsZUNvbG91cicsICdzbHVnJywgJ3NsdWdDb2xvdXInLCAnc3BhY2VCZWxvdycsICd0ZWFzZXInLCAndGVhc2VyQ29sb3VyJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVIZXJvSW1hZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlSGVyb0ltYWdlIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlSGVyb0ltYWdlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlSWNvbkJ1dHRvbixcbiAgaW5wdXRzOiBbJ2Fycm93JywgJ2Fycm93Q29sb3VyJywgJ2JhY2tncm91bmRDb2xvdXInLCAnYmFja2dyb3VuZFBhZGRpbmcnLCAnYnV0dG9uSWQnLCAnY2VudGVyZWQnLCAnY2lyY2xlJywgJ2ljb24nLCAnaWNvbkdyb3VwJywgJ29wZW5Jbk5ld1RhYicsICdyb3VuZGVkJywgJ3NoYWRvdycsICdzaXplJywgJ3NwYWNlQmVsb3cnLCAndGV4dCcsICd0ZXh0Q29sb3VyJywgJ3VybCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1pY29uLWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJyb3cnLCAnYXJyb3dDb2xvdXInLCAnYmFja2dyb3VuZENvbG91cicsICdiYWNrZ3JvdW5kUGFkZGluZycsICdidXR0b25JZCcsICdjZW50ZXJlZCcsICdjaXJjbGUnLCAnaWNvbicsICdpY29uR3JvdXAnLCAnb3BlbkluTmV3VGFiJywgJ3JvdW5kZWQnLCAnc2hhZG93JywgJ3NpemUnLCAnc3BhY2VCZWxvdycsICd0ZXh0JywgJ3RleHRDb2xvdXInLCAndXJsJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVJY29uQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZG9CdXR0b25DbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlSWNvbkJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUljb25CdXR0b24ge1xuXG4gIGRvQnV0dG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGV2ZW50OiBvYmplY3Q7IHVybDogc3RyaW5nIH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVJY29uR3JvdXAsXG4gIGlucHV0czogWydsYWJlbCcsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWljb24tZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xhYmVsJywgJ3NwYWNlQmVsb3cnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUljb25Hcm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVJY29uR3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVJY29uR3JvdXAge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVJbWFnZSxcbiAgaW5wdXRzOiBbJ2hlaWdodCcsICdpbWFnZUFsdFRleHQnLCAnaW1hZ2VVcmwnLCAnc2l6ZVVuaXQnLCAnc3BhY2VBYm92ZScsICdzcGFjZUJlbG93JywgJ3dpZHRoJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWltYWdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydoZWlnaHQnLCAnaW1hZ2VBbHRUZXh0JywgJ2ltYWdlVXJsJywgJ3NpemVVbml0JywgJ3NwYWNlQWJvdmUnLCAnc3BhY2VCZWxvdycsICd3aWR0aCddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlSW1hZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlSW1hZ2UgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVJbWFnZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUltYWdlQnV0dG9uLFxuICBpbnB1dHM6IFsnYXJyb3cnLCAnYXJyb3dDb2xvdXInLCAnYmFja2dyb3VuZENvbG91cicsICdiYWNrZ3JvdW5kUGFkZGluZycsICdidXR0b25JZCcsICdjZW50ZXJlZCcsICdjaXJjbGUnLCAnaW1hZ2VTdHlsZScsICdpbWFnZVVybCcsICdvcGVuSW5OZXdUYWInLCAncm91bmRlZCcsICdzaGFkb3cnLCAnc2l6ZScsICdzcGFjZUJlbG93JywgJ3RleHQnLCAndGV4dENvbG91cicsICd1cmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtaW1hZ2UtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcnJvdycsICdhcnJvd0NvbG91cicsICdiYWNrZ3JvdW5kQ29sb3VyJywgJ2JhY2tncm91bmRQYWRkaW5nJywgJ2J1dHRvbklkJywgJ2NlbnRlcmVkJywgJ2NpcmNsZScsICdpbWFnZVN0eWxlJywgJ2ltYWdlVXJsJywgJ29wZW5Jbk5ld1RhYicsICdyb3VuZGVkJywgJ3NoYWRvdycsICdzaXplJywgJ3NwYWNlQmVsb3cnLCAndGV4dCcsICd0ZXh0Q29sb3VyJywgJ3VybCddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlSW1hZ2VCdXR0b24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydkb0J1dHRvbkNsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVJbWFnZUJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUltYWdlQnV0dG9uIHtcblxuICBkb0J1dHRvbkNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBldmVudDogb2JqZWN0OyB1cmw6IHN0cmluZyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlSW1hZ2VGZWF0dXJlLFxuICBpbnB1dHM6IFsnYnV0dG9uQ29sb3VyU2NoZW1lJywgJ2J1dHRvbkxhYmVsJywgJ2J1dHRvblVybCcsICdkZWZhdWx0VGV4dENvbG91cicsICdpbWFnZUFsdFRleHQnLCAnaW1hZ2VVcmwnLCAnbWFpblRpdGxlJywgJ21haW5UaXRsZUNvbG91cicsICdzbHVnJywgJ3NsdWdDb2xvdXInLCAnc3BhY2VCZWxvdycsICd0ZWFzZXInLCAndGVhc2VyQ29sb3VyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWltYWdlLWZlYXR1cmUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2J1dHRvbkNvbG91clNjaGVtZScsICdidXR0b25MYWJlbCcsICdidXR0b25VcmwnLCAnZGVmYXVsdFRleHRDb2xvdXInLCAnaW1hZ2VBbHRUZXh0JywgJ2ltYWdlVXJsJywgJ21haW5UaXRsZScsICdtYWluVGl0bGVDb2xvdXInLCAnc2x1ZycsICdzbHVnQ29sb3VyJywgJ3NwYWNlQmVsb3cnLCAndGVhc2VyJywgJ3RlYXNlckNvbG91ciddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlSW1hZ2VGZWF0dXJlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUltYWdlRmVhdHVyZSBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUltYWdlRmVhdHVyZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZU1haW5NZW51LFxuICBpbnB1dHM6IFsnYmxvZ1VybFByZWZpeCcsICdkb25hdGVVcmxQcmVmaXgnLCAnZXhwZXJpZW5jZVVybFByZWZpeCcsICdpc0xvZ2dlZEluJywgJ2xvZ29VcmwnLCAndXNlUHJlc2V0TWVudUNvbnRlbnQnXSxcbiAgbWV0aG9kczogWydjbG9zZU1vYmlsZU1lbnVGcm9tT3V0c2lkZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1tYWluLW1lbnUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Jsb2dVcmxQcmVmaXgnLCAnZG9uYXRlVXJsUHJlZml4JywgJ2V4cGVyaWVuY2VVcmxQcmVmaXgnLCAnaXNMb2dnZWRJbicsICdsb2dvVXJsJywgJ3VzZVByZXNldE1lbnVDb250ZW50J10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVNYWluTWVudSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVNYWluTWVudSBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZU1haW5NZW51IHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlTWlzY0ljb24sXG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3VyJywgJ2ljb24nLCAnaWNvbkNvbG91cicsICd1cmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtbWlzYy1pY29uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3VyJywgJ2ljb24nLCAnaWNvbkNvbG91cicsICd1cmwnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZU1pc2NJY29uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZU1pc2NJY29uIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlTWlzY0ljb24ge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVOYXZHcm91cCxcbiAgaW5wdXRzOiBbJ2lubGluZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1uYXYtZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2lubGluZSddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlTmF2R3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlTmF2R3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVOYXZHcm91cCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZU5hdkl0ZW0sXG4gIGlucHV0czogWydpY29uQ29sb3VyJywgJ2xhYmVsJywgJ3VybCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1uYXYtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaWNvbkNvbG91cicsICdsYWJlbCcsICd1cmwnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZU5hdkl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlTmF2SXRlbSBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZU5hdkl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVQYWdlQ29sdW1uXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1wYWdlLWNvbHVtbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlUGFnZUNvbHVtbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVQYWdlQ29sdW1uIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlUGFnZUNvbHVtbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVBhZ2VDb2x1bW5zLFxuICBpbnB1dHM6IFsnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1wYWdlLWNvbHVtbnMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3NwYWNlQmVsb3cnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVBhZ2VDb2x1bW5zIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVBhZ2VDb2x1bW5zIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlUGFnZUNvbHVtbnMge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVQYWdlU2VjdGlvbixcbiAgaW5wdXRzOiBbJ2NvbG91clNjaGVtZScsICdtYXhXaWR0aCcsICdwcmltYXJ5RnVsbEJsZWVkJywgJ3NlY3Rpb25TdHlsZUJvdHRvbScsICdzZWN0aW9uU3R5bGVUb3AnLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1wYWdlLXNlY3Rpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NvbG91clNjaGVtZScsICdtYXhXaWR0aCcsICdwcmltYXJ5RnVsbEJsZWVkJywgJ3NlY3Rpb25TdHlsZUJvdHRvbScsICdzZWN0aW9uU3R5bGVUb3AnLCAnc3BhY2VCZWxvdyddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlUGFnZVNlY3Rpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlUGFnZVNlY3Rpb24gZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVQYWdlU2VjdGlvbiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVBvcHVwLFxuICBtZXRob2RzOiBbJ29wZW5Gcm9tT3V0c2lkZScsICdjbG9zZUZyb21PdXRzaWRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXBvcHVwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVQb3B1cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVQb3B1cCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVBvcHVwIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlUHJvZ3Jlc3NCYXIsXG4gIGlucHV0czogWydjb2xvdXJTY2hlbWUnLCAnY291bnRlcicsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXByb2dyZXNzLWJhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sb3VyU2NoZW1lJywgJ2NvdW50ZXInLCAnc3BhY2VCZWxvdyddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlUHJvZ3Jlc3NCYXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlUHJvZ3Jlc3NCYXIgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVQcm9ncmVzc0JhciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVF1b3RlLFxuICBpbnB1dHM6IFsnYXR0cmlidXRpb24nLCAnZGVmYXVsdFRleHRDb2xvdXInLCAncXVvdGUnLCAncXVvdGVJY29uQ29sb3VyJywgJ3NwYWNlQmVsb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtcXVvdGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F0dHJpYnV0aW9uJywgJ2RlZmF1bHRUZXh0Q29sb3VyJywgJ3F1b3RlJywgJ3F1b3RlSWNvbkNvbG91cicsICdzcGFjZUJlbG93J10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVRdW90ZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVRdW90ZSBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVF1b3RlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlU2hlZXQsXG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3VyJywgJ3NoZWV0SWQnLCAndGV4dENvbG91ciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1zaGVldCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdzaGVldElkJywgJ3RleHRDb2xvdXInXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVNoZWV0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVNoZWV0IGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlU2hlZXQge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVTb2NpYWxJY29uLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdpY29uQ29sb3VyJywgJ2xhYmVsUHJlZml4JywgJ3NlcnZpY2UnLCAndXJsJywgJ3dpZGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtc29jaWFsLWljb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnaWNvbkNvbG91cicsICdsYWJlbFByZWZpeCcsICdzZXJ2aWNlJywgJ3VybCcsICd3aWRlJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVTb2NpYWxJY29uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVNvY2lhbEljb24gZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVTb2NpYWxJY29uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlVGFiLFxuICBpbnB1dHM6IFsndGFiVGl0bGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtdGFiJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWyd0YWJUaXRsZSddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlVGFiIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVRhYiBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVRhYiB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVRhYmJlZENvbnRlbnQsXG4gIGlucHV0czogWydidXR0b25CYWNrZ3JvdW5kQ29sb3VyJywgJ2J1dHRvbkljb25Db2xvdXInLCAnbmF2aWdhdGlvbkhpZ2hsaWdodENvbG91cicsICdzZWxlY3RlZE5hdmlnYXRpb25IaWdobGlnaHRDb2xvdXInLCAnc2VsZWN0ZWRUZXh0Q29sb3VyJywgJ3NwYWNlQmVsb3cnLCAndGV4dENvbG91ciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS10YWJiZWQtY29udGVudCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYnV0dG9uQmFja2dyb3VuZENvbG91cicsICdidXR0b25JY29uQ29sb3VyJywgJ25hdmlnYXRpb25IaWdobGlnaHRDb2xvdXInLCAnc2VsZWN0ZWROYXZpZ2F0aW9uSGlnaGxpZ2h0Q29sb3VyJywgJ3NlbGVjdGVkVGV4dENvbG91cicsICdzcGFjZUJlbG93JywgJ3RleHRDb2xvdXInXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVRhYmJlZENvbnRlbnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlVGFiYmVkQ29udGVudCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVRhYmJlZENvbnRlbnQge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVUYWJsZSxcbiAgaW5wdXRzOiBbJ2JvZHlCYWNrZ3JvdW5kQ29sb3VyJywgJ2JvZHlUZXh0Q29sb3VyJywgJ2hlYWRlckJhY2tncm91bmRDb2xvdXInLCAnaGVhZGVyVGV4dENvbG91cicsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXRhYmxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydib2R5QmFja2dyb3VuZENvbG91cicsICdib2R5VGV4dENvbG91cicsICdoZWFkZXJCYWNrZ3JvdW5kQ29sb3VyJywgJ2hlYWRlclRleHRDb2xvdXInLCAnc3BhY2VCZWxvdyddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlVGFibGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlVGFibGUgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVUYWJsZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVRleHRJbnB1dCxcbiAgaW5wdXRzOiBbJ2N1cnJlbmN5JywgJ3NlbGVjdFN0eWxlJywgJ3NwYWNlQmVsb3cnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtdGV4dC1pbnB1dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY3VycmVuY3knLCAnc2VsZWN0U3R5bGUnLCAnc3BhY2VCZWxvdycsICd2YWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlVGV4dElucHV0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVRleHRJbnB1dCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVRleHRJbnB1dCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVRpbWVsaW5lLFxuICBpbnB1dHM6IFsnYnV0dG9uQmFja2dyb3VuZENvbG91cicsICdidXR0b25JY29uQ29sb3VyJywgJ2VudHJ5QmFja2dyb3VuZENvbG91cicsICdlbnRyeURhdGVDb2xvdXInLCAnZW50cnlIaWdobGlnaHRDb2xvdXInLCAnZW50cnlUZXh0Q29sb3VyJywgJ2VudHJ5VGl0bGVDb2xvdXInLCAnbmF2aWdhdGlvbkhpZ2hsaWdodENvbG91cicsICdzZWxlY3RlZE5hdmlnYXRpb25IaWdobGlnaHRDb2xvdXInLCAnc2VsZWN0ZWRUZXh0Q29sb3VyJywgJ3NwYWNlQmVsb3cnLCAndGV4dENvbG91ciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS10aW1lbGluZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYnV0dG9uQmFja2dyb3VuZENvbG91cicsICdidXR0b25JY29uQ29sb3VyJywgJ2VudHJ5QmFja2dyb3VuZENvbG91cicsICdlbnRyeURhdGVDb2xvdXInLCAnZW50cnlIaWdobGlnaHRDb2xvdXInLCAnZW50cnlUZXh0Q29sb3VyJywgJ2VudHJ5VGl0bGVDb2xvdXInLCAnbmF2aWdhdGlvbkhpZ2hsaWdodENvbG91cicsICdzZWxlY3RlZE5hdmlnYXRpb25IaWdobGlnaHRDb2xvdXInLCAnc2VsZWN0ZWRUZXh0Q29sb3VyJywgJ3NwYWNlQmVsb3cnLCAndGV4dENvbG91ciddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlVGltZWxpbmUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlVGltZWxpbmUgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVUaW1lbGluZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVRpbWVsaW5lRW50cnksXG4gIGlucHV0czogWydkYXRlJywgJ2hlYWRpbmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtdGltZWxpbmUtZW50cnknLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RhdGUnLCAnaGVhZGluZyddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlVGltZWxpbmVFbnRyeSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVUaW1lbGluZUVudHJ5IGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlVGltZWxpbmVFbnRyeSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVRvdGFsaXplcixcbiAgaW5wdXRzOiBbJ21haW5NZXNzYWdlJywgJ3ByaW1hcnlDb2xvdXInLCAncHJpbWFyeVRleHRDb2xvdXInLCAnc2Vjb25kYXJ5Q29sb3VyJywgJ3NlY29uZGFyeVRleHRDb2xvdXInLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS10b3RhbGl6ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ21haW5NZXNzYWdlJywgJ3ByaW1hcnlDb2xvdXInLCAncHJpbWFyeVRleHRDb2xvdXInLCAnc2Vjb25kYXJ5Q29sb3VyJywgJ3NlY29uZGFyeVRleHRDb2xvdXInLCAnc3BhY2VCZWxvdyddLFxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlVG90YWxpemVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVRvdGFsaXplciBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVRvdGFsaXplciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVRvdGFsaXplclRpY2tlckl0ZW0sXG4gIGlucHV0czogWydmaWd1cmUnLCAnbGFiZWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtdG90YWxpemVyLXRpY2tlci1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydmaWd1cmUnLCAnbGFiZWwnXSxcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVRvdGFsaXplclRpY2tlckl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlVG90YWxpemVyVGlja2VySXRlbSBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVRvdGFsaXplclRpY2tlckl0ZW0ge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVWaWRlbyxcbiAgaW5wdXRzOiBbJ3NwYWNlQWJvdmUnLCAnc3BhY2VCZWxvdycsICd2aWRlb1VybCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS12aWRlbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc3BhY2VBYm92ZScsICdzcGFjZUJlbG93JywgJ3ZpZGVvVXJsJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVWaWRlbyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVWaWRlbyBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVZpZGVvIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlVmlkZW9GZWF0dXJlLFxuICBpbnB1dHM6IFsnYnV0dG9uQ29sb3VyU2NoZW1lJywgJ2J1dHRvbkxhYmVsJywgJ2J1dHRvblVybCcsICdkZWZhdWx0VGV4dENvbG91cicsICdtYWluVGl0bGUnLCAnbWFpblRpdGxlQ29sb3VyJywgJ3NsdWcnLCAnc2x1Z0NvbG91cicsICdzcGFjZUFib3ZlJywgJ3NwYWNlQmVsb3cnLCAndGVhc2VyJywgJ3RlYXNlckNvbG91cicsICd2aWRlb1VybCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS12aWRlby1mZWF0dXJlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydidXR0b25Db2xvdXJTY2hlbWUnLCAnYnV0dG9uTGFiZWwnLCAnYnV0dG9uVXJsJywgJ2RlZmF1bHRUZXh0Q29sb3VyJywgJ21haW5UaXRsZScsICdtYWluVGl0bGVDb2xvdXInLCAnc2x1ZycsICdzbHVnQ29sb3VyJywgJ3NwYWNlQWJvdmUnLCAnc3BhY2VCZWxvdycsICd0ZWFzZXInLCAndGVhc2VyQ29sb3VyJywgJ3ZpZGVvVXJsJ10sXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVWaWRlb0ZlYXR1cmUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlVmlkZW9GZWF0dXJlIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlVmlkZW9GZWF0dXJlIHt9XG5cblxuIl19