@biggive/components-angular 1.0.120 → 1.0.122

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.
@@ -53,8 +53,8 @@ let BiggiveArticleCard = class BiggiveArticleCard {
53
53
  this.el = r.nativeElement;
54
54
  }
55
55
  };
56
- BiggiveArticleCard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveArticleCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
57
- BiggiveArticleCard.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveArticleCard, selector: "biggive-article-card", inputs: { backgroundColour: "backgroundColour", backgroundColourHover: "backgroundColourHover", buttonLabel: "buttonLabel", buttonUrl: "buttonUrl", date: "date", imageLabel: "imageLabel", imageUrl: "imageUrl", mainTitle: "mainTitle", slug: "slug", spaceBelow: "spaceBelow", textColour: "textColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
56
+ BiggiveArticleCard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveArticleCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
57
+ BiggiveArticleCard.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveArticleCard, selector: "biggive-article-card", inputs: { backgroundColour: "backgroundColour", backgroundColourHover: "backgroundColourHover", buttonLabel: "buttonLabel", buttonUrl: "buttonUrl", date: "date", imageLabel: "imageLabel", imageUrl: "imageUrl", mainTitle: "mainTitle", slug: "slug", spaceBelow: "spaceBelow", textColour: "textColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
58
58
  BiggiveArticleCard = __decorate([
59
59
  ProxyCmp({
60
60
  defineCustomElementFn: defineBiggiveArticleCard,
@@ -62,7 +62,7 @@ BiggiveArticleCard = __decorate([
62
62
  })
63
63
  ], BiggiveArticleCard);
64
64
  export { BiggiveArticleCard };
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveArticleCard, decorators: [{
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveArticleCard, decorators: [{
66
66
  type: Component,
67
67
  args: [{
68
68
  selector: 'biggive-article-card',
@@ -78,15 +78,15 @@ let BiggiveBackToTop = class BiggiveBackToTop {
78
78
  this.el = r.nativeElement;
79
79
  }
80
80
  };
81
- BiggiveBackToTop.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveBackToTop, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
82
- BiggiveBackToTop.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveBackToTop, selector: "biggive-back-to-top", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
81
+ BiggiveBackToTop.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveBackToTop, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
82
+ BiggiveBackToTop.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveBackToTop, selector: "biggive-back-to-top", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
83
83
  BiggiveBackToTop = __decorate([
84
84
  ProxyCmp({
85
85
  defineCustomElementFn: defineBiggiveBackToTop
86
86
  })
87
87
  ], BiggiveBackToTop);
88
88
  export { BiggiveBackToTop };
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveBackToTop, decorators: [{
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveBackToTop, decorators: [{
90
90
  type: Component,
91
91
  args: [{
92
92
  selector: 'biggive-back-to-top',
@@ -101,8 +101,8 @@ let BiggiveBasicCard = class BiggiveBasicCard {
101
101
  this.el = r.nativeElement;
102
102
  }
103
103
  };
104
- BiggiveBasicCard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveBasicCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
105
- BiggiveBasicCard.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveBasicCard, selector: "biggive-basic-card", inputs: { backgroundColour: "backgroundColour", backgroundImageUrl: "backgroundImageUrl", buttonColourScheme: "buttonColourScheme", buttonLabel: "buttonLabel", buttonUrl: "buttonUrl", cardColour: "cardColour", iconColour: "iconColour", mainTitle: "mainTitle", spaceBelow: "spaceBelow", subtitle: "subtitle", textColour: "textColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
104
+ BiggiveBasicCard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveBasicCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
105
+ BiggiveBasicCard.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveBasicCard, selector: "biggive-basic-card", inputs: { backgroundColour: "backgroundColour", backgroundImageUrl: "backgroundImageUrl", buttonColourScheme: "buttonColourScheme", buttonLabel: "buttonLabel", buttonUrl: "buttonUrl", cardColour: "cardColour", iconColour: "iconColour", mainTitle: "mainTitle", spaceBelow: "spaceBelow", subtitle: "subtitle", textColour: "textColour" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
106
106
  BiggiveBasicCard = __decorate([
107
107
  ProxyCmp({
108
108
  defineCustomElementFn: defineBiggiveBasicCard,
@@ -110,7 +110,7 @@ BiggiveBasicCard = __decorate([
110
110
  })
111
111
  ], BiggiveBasicCard);
112
112
  export { BiggiveBasicCard };
113
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveBasicCard, decorators: [{
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveBasicCard, decorators: [{
114
114
  type: Component,
115
115
  args: [{
116
116
  selector: 'biggive-basic-card',
@@ -126,8 +126,8 @@ let BiggiveBeneficiaryIcon = class BiggiveBeneficiaryIcon {
126
126
  this.el = r.nativeElement;
127
127
  }
128
128
  };
129
- BiggiveBeneficiaryIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveBeneficiaryIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
130
- BiggiveBeneficiaryIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", 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 });
129
+ BiggiveBeneficiaryIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveBeneficiaryIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
130
+ BiggiveBeneficiaryIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", 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 });
131
131
  BiggiveBeneficiaryIcon = __decorate([
132
132
  ProxyCmp({
133
133
  defineCustomElementFn: defineBiggiveBeneficiaryIcon,
@@ -135,7 +135,7 @@ BiggiveBeneficiaryIcon = __decorate([
135
135
  })
136
136
  ], BiggiveBeneficiaryIcon);
137
137
  export { BiggiveBeneficiaryIcon };
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveBeneficiaryIcon, decorators: [{
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveBeneficiaryIcon, decorators: [{
139
139
  type: Component,
140
140
  args: [{
141
141
  selector: 'biggive-beneficiary-icon',
@@ -151,8 +151,8 @@ let BiggiveBoxedContent = class BiggiveBoxedContent {
151
151
  this.el = r.nativeElement;
152
152
  }
153
153
  };
154
- BiggiveBoxedContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveBoxedContent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
155
- BiggiveBoxedContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", 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 });
154
+ BiggiveBoxedContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveBoxedContent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
155
+ BiggiveBoxedContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", 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 });
156
156
  BiggiveBoxedContent = __decorate([
157
157
  ProxyCmp({
158
158
  defineCustomElementFn: defineBiggiveBoxedContent,
@@ -160,7 +160,7 @@ BiggiveBoxedContent = __decorate([
160
160
  })
161
161
  ], BiggiveBoxedContent);
162
162
  export { BiggiveBoxedContent };
163
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveBoxedContent, decorators: [{
163
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveBoxedContent, decorators: [{
164
164
  type: Component,
165
165
  args: [{
166
166
  selector: 'biggive-boxed-content',
@@ -176,8 +176,8 @@ let BiggiveBrandedImage = class BiggiveBrandedImage {
176
176
  this.el = r.nativeElement;
177
177
  }
178
178
  };
179
- BiggiveBrandedImage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveBrandedImage, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
180
- BiggiveBrandedImage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveBrandedImage, selector: "biggive-branded-image", inputs: { imageUrl: "imageUrl", logoUrl: "logoUrl", slug: "slug", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
179
+ BiggiveBrandedImage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveBrandedImage, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
180
+ BiggiveBrandedImage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveBrandedImage, selector: "biggive-branded-image", inputs: { imageUrl: "imageUrl", logoUrl: "logoUrl", slug: "slug", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
181
181
  BiggiveBrandedImage = __decorate([
182
182
  ProxyCmp({
183
183
  defineCustomElementFn: defineBiggiveBrandedImage,
@@ -185,7 +185,7 @@ BiggiveBrandedImage = __decorate([
185
185
  })
186
186
  ], BiggiveBrandedImage);
187
187
  export { BiggiveBrandedImage };
188
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveBrandedImage, decorators: [{
188
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveBrandedImage, decorators: [{
189
189
  type: Component,
190
190
  args: [{
191
191
  selector: 'biggive-branded-image',
@@ -201,8 +201,8 @@ let BiggiveButton = class BiggiveButton {
201
201
  this.el = r.nativeElement;
202
202
  }
203
203
  };
204
- BiggiveButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
205
- BiggiveButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveButton, selector: "biggive-button", inputs: { colourScheme: "colourScheme", fullWidth: "fullWidth", label: "label", rounded: "rounded", size: "size", spaceBelow: "spaceBelow", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
204
+ BiggiveButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
205
+ BiggiveButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveButton, selector: "biggive-button", inputs: { colourScheme: "colourScheme", fullWidth: "fullWidth", label: "label", rounded: "rounded", size: "size", spaceBelow: "spaceBelow", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
206
206
  BiggiveButton = __decorate([
207
207
  ProxyCmp({
208
208
  defineCustomElementFn: defineBiggiveButton,
@@ -210,7 +210,7 @@ BiggiveButton = __decorate([
210
210
  })
211
211
  ], BiggiveButton);
212
212
  export { BiggiveButton };
213
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveButton, decorators: [{
213
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveButton, decorators: [{
214
214
  type: Component,
215
215
  args: [{
216
216
  selector: 'biggive-button',
@@ -226,8 +226,8 @@ let BiggiveCallToAction = class BiggiveCallToAction {
226
226
  this.el = r.nativeElement;
227
227
  }
228
228
  };
229
- BiggiveCallToAction.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveCallToAction, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
230
- BiggiveCallToAction.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", 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 });
229
+ BiggiveCallToAction.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveCallToAction, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
230
+ BiggiveCallToAction.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", 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 });
231
231
  BiggiveCallToAction = __decorate([
232
232
  ProxyCmp({
233
233
  defineCustomElementFn: defineBiggiveCallToAction,
@@ -235,7 +235,7 @@ BiggiveCallToAction = __decorate([
235
235
  })
236
236
  ], BiggiveCallToAction);
237
237
  export { BiggiveCallToAction };
238
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveCallToAction, decorators: [{
238
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveCallToAction, decorators: [{
239
239
  type: Component,
240
240
  args: [{
241
241
  selector: 'biggive-call-to-action',
@@ -251,22 +251,22 @@ let BiggiveCampaignCard = class BiggiveCampaignCard {
251
251
  this.el = r.nativeElement;
252
252
  }
253
253
  };
254
- BiggiveCampaignCard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveCampaignCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
255
- BiggiveCampaignCard.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveCampaignCard, selector: "biggive-campaign-card", inputs: { banner: "banner", campaignTitle: "campaignTitle", campaignType: "campaignType", currencyCode: "currencyCode", donateButtonColourScheme: "donateButtonColourScheme", donateButtonLabel: "donateButtonLabel", donateButtonUrl: "donateButtonUrl", 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 });
254
+ BiggiveCampaignCard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveCampaignCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
255
+ BiggiveCampaignCard.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveCampaignCard, selector: "biggive-campaign-card", inputs: { banner: "banner", campaignTitle: "campaignTitle", campaignType: "campaignType", donateButtonColourScheme: "donateButtonColourScheme", donateButtonLabel: "donateButtonLabel", donateButtonUrl: "donateButtonUrl", 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 });
256
256
  BiggiveCampaignCard = __decorate([
257
257
  ProxyCmp({
258
258
  defineCustomElementFn: defineBiggiveCampaignCard,
259
- inputs: ['banner', 'campaignTitle', 'campaignType', 'currencyCode', 'donateButtonColourScheme', 'donateButtonLabel', 'donateButtonUrl', 'moreInfoButtonColourScheme', 'moreInfoButtonLabel', 'moreInfoButtonUrl', 'organisationName', 'primaryFigureAmount', 'primaryFigureLabel', 'progressBarCounter', 'secondaryFigureAmount', 'secondaryFigureLabel', 'spaceBelow']
259
+ inputs: ['banner', 'campaignTitle', 'campaignType', 'donateButtonColourScheme', 'donateButtonLabel', 'donateButtonUrl', 'moreInfoButtonColourScheme', 'moreInfoButtonLabel', 'moreInfoButtonUrl', 'organisationName', 'primaryFigureAmount', 'primaryFigureLabel', 'progressBarCounter', 'secondaryFigureAmount', 'secondaryFigureLabel', 'spaceBelow']
260
260
  })
261
261
  ], BiggiveCampaignCard);
262
262
  export { BiggiveCampaignCard };
263
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveCampaignCard, decorators: [{
263
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveCampaignCard, decorators: [{
264
264
  type: Component,
265
265
  args: [{
266
266
  selector: 'biggive-campaign-card',
267
267
  changeDetection: ChangeDetectionStrategy.OnPush,
268
268
  template: '<ng-content></ng-content>',
269
- inputs: ['banner', 'campaignTitle', 'campaignType', 'currencyCode', 'donateButtonColourScheme', 'donateButtonLabel', 'donateButtonUrl', 'moreInfoButtonColourScheme', 'moreInfoButtonLabel', 'moreInfoButtonUrl', 'organisationName', 'primaryFigureAmount', 'primaryFigureLabel', 'progressBarCounter', 'secondaryFigureAmount', 'secondaryFigureLabel', 'spaceBelow']
269
+ inputs: ['banner', 'campaignTitle', 'campaignType', 'donateButtonColourScheme', 'donateButtonLabel', 'donateButtonUrl', 'moreInfoButtonColourScheme', 'moreInfoButtonLabel', 'moreInfoButtonUrl', 'organisationName', 'primaryFigureAmount', 'primaryFigureLabel', 'progressBarCounter', 'secondaryFigureAmount', 'secondaryFigureLabel', 'spaceBelow']
270
270
  }]
271
271
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
272
272
  let BiggiveCampaignCardFilterGrid = class BiggiveCampaignCardFilterGrid {
@@ -277,8 +277,8 @@ let BiggiveCampaignCardFilterGrid = class BiggiveCampaignCardFilterGrid {
277
277
  proxyOutputs(this, this.el, ['doSearchAndFilterUpdate']);
278
278
  }
279
279
  };
280
- BiggiveCampaignCardFilterGrid.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveCampaignCardFilterGrid, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
281
- BiggiveCampaignCardFilterGrid.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveCampaignCardFilterGrid, selector: "biggive-campaign-card-filter-grid", inputs: { beneficiaryOptions: "beneficiaryOptions", buttonText: "buttonText", categoryOptions: "categoryOptions", fundingOptions: "fundingOptions", intro: "intro", locationOptions: "locationOptions", placeholderText: "placeholderText", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
280
+ BiggiveCampaignCardFilterGrid.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveCampaignCardFilterGrid, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
281
+ BiggiveCampaignCardFilterGrid.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveCampaignCardFilterGrid, selector: "biggive-campaign-card-filter-grid", inputs: { beneficiaryOptions: "beneficiaryOptions", buttonText: "buttonText", categoryOptions: "categoryOptions", fundingOptions: "fundingOptions", intro: "intro", locationOptions: "locationOptions", placeholderText: "placeholderText", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
282
282
  BiggiveCampaignCardFilterGrid = __decorate([
283
283
  ProxyCmp({
284
284
  defineCustomElementFn: defineBiggiveCampaignCardFilterGrid,
@@ -286,7 +286,7 @@ BiggiveCampaignCardFilterGrid = __decorate([
286
286
  })
287
287
  ], BiggiveCampaignCardFilterGrid);
288
288
  export { BiggiveCampaignCardFilterGrid };
289
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveCampaignCardFilterGrid, decorators: [{
289
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveCampaignCardFilterGrid, decorators: [{
290
290
  type: Component,
291
291
  args: [{
292
292
  selector: 'biggive-campaign-card-filter-grid',
@@ -302,22 +302,22 @@ let BiggiveCampaignHighlights = class BiggiveCampaignHighlights {
302
302
  this.el = r.nativeElement;
303
303
  }
304
304
  };
305
- BiggiveCampaignHighlights.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveCampaignHighlights, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
306
- BiggiveCampaignHighlights.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveCampaignHighlights, selector: "biggive-campaign-highlights", inputs: { banner: "banner", campaignTitle: "campaignTitle", currencyCode: "currencyCode", 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 });
305
+ BiggiveCampaignHighlights.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveCampaignHighlights, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
306
+ BiggiveCampaignHighlights.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveCampaignHighlights, selector: "biggive-campaign-highlights", inputs: { banner: "banner", campaignTitle: "campaignTitle", 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 });
307
307
  BiggiveCampaignHighlights = __decorate([
308
308
  ProxyCmp({
309
309
  defineCustomElementFn: defineBiggiveCampaignHighlights,
310
- inputs: ['banner', 'campaignTitle', 'currencyCode', 'primaryFigureAmount', 'primaryFigureLabel', 'primaryStatIcon', 'primaryStatText', 'progressBarCounter', 'secondaryFigureAmount', 'secondaryFigureLabel', 'secondaryStatIcon', 'secondaryStatText', 'spaceBelow']
310
+ inputs: ['banner', 'campaignTitle', 'primaryFigureAmount', 'primaryFigureLabel', 'primaryStatIcon', 'primaryStatText', 'progressBarCounter', 'secondaryFigureAmount', 'secondaryFigureLabel', 'secondaryStatIcon', 'secondaryStatText', 'spaceBelow']
311
311
  })
312
312
  ], BiggiveCampaignHighlights);
313
313
  export { BiggiveCampaignHighlights };
314
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveCampaignHighlights, decorators: [{
314
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveCampaignHighlights, decorators: [{
315
315
  type: Component,
316
316
  args: [{
317
317
  selector: 'biggive-campaign-highlights',
318
318
  changeDetection: ChangeDetectionStrategy.OnPush,
319
319
  template: '<ng-content></ng-content>',
320
- inputs: ['banner', 'campaignTitle', 'currencyCode', 'primaryFigureAmount', 'primaryFigureLabel', 'primaryStatIcon', 'primaryStatText', 'progressBarCounter', 'secondaryFigureAmount', 'secondaryFigureLabel', 'secondaryStatIcon', 'secondaryStatText', 'spaceBelow']
320
+ inputs: ['banner', 'campaignTitle', 'primaryFigureAmount', 'primaryFigureLabel', 'primaryStatIcon', 'primaryStatText', 'progressBarCounter', 'secondaryFigureAmount', 'secondaryFigureLabel', 'secondaryStatIcon', 'secondaryStatText', 'spaceBelow']
321
321
  }]
322
322
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
323
323
  let BiggiveCategoryIcon = class BiggiveCategoryIcon {
@@ -327,8 +327,8 @@ let BiggiveCategoryIcon = class BiggiveCategoryIcon {
327
327
  this.el = r.nativeElement;
328
328
  }
329
329
  };
330
- BiggiveCategoryIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveCategoryIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
331
- BiggiveCategoryIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", 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 });
330
+ BiggiveCategoryIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveCategoryIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
331
+ BiggiveCategoryIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", 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 });
332
332
  BiggiveCategoryIcon = __decorate([
333
333
  ProxyCmp({
334
334
  defineCustomElementFn: defineBiggiveCategoryIcon,
@@ -336,7 +336,7 @@ BiggiveCategoryIcon = __decorate([
336
336
  })
337
337
  ], BiggiveCategoryIcon);
338
338
  export { BiggiveCategoryIcon };
339
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveCategoryIcon, decorators: [{
339
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveCategoryIcon, decorators: [{
340
340
  type: Component,
341
341
  args: [{
342
342
  selector: 'biggive-category-icon',
@@ -352,15 +352,15 @@ let BiggiveFooter = class BiggiveFooter {
352
352
  this.el = r.nativeElement;
353
353
  }
354
354
  };
355
- BiggiveFooter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveFooter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
356
- BiggiveFooter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveFooter, selector: "biggive-footer", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
355
+ BiggiveFooter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveFooter, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
356
+ BiggiveFooter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveFooter, selector: "biggive-footer", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
357
357
  BiggiveFooter = __decorate([
358
358
  ProxyCmp({
359
359
  defineCustomElementFn: defineBiggiveFooter
360
360
  })
361
361
  ], BiggiveFooter);
362
362
  export { BiggiveFooter };
363
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveFooter, decorators: [{
363
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveFooter, decorators: [{
364
364
  type: Component,
365
365
  args: [{
366
366
  selector: 'biggive-footer',
@@ -375,15 +375,15 @@ let BiggiveForm = class BiggiveForm {
375
375
  this.el = r.nativeElement;
376
376
  }
377
377
  };
378
- BiggiveForm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveForm, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
379
- BiggiveForm.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveForm, selector: "biggive-form", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
378
+ BiggiveForm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveForm, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
379
+ BiggiveForm.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveForm, selector: "biggive-form", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
380
380
  BiggiveForm = __decorate([
381
381
  ProxyCmp({
382
382
  defineCustomElementFn: defineBiggiveForm
383
383
  })
384
384
  ], BiggiveForm);
385
385
  export { BiggiveForm };
386
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveForm, decorators: [{
386
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveForm, decorators: [{
387
387
  type: Component,
388
388
  args: [{
389
389
  selector: 'biggive-form',
@@ -399,8 +399,8 @@ let BiggiveFormFieldSelect = class BiggiveFormFieldSelect {
399
399
  proxyOutputs(this, this.el, ['doSelectChange']);
400
400
  }
401
401
  };
402
- BiggiveFormFieldSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveFormFieldSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
403
- BiggiveFormFieldSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveFormFieldSelect, selector: "biggive-form-field-select", inputs: { placeholder: "placeholder", selectedLabel: "selectedLabel", selectedValue: "selectedValue", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
402
+ BiggiveFormFieldSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveFormFieldSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
403
+ BiggiveFormFieldSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveFormFieldSelect, selector: "biggive-form-field-select", inputs: { placeholder: "placeholder", selectedLabel: "selectedLabel", selectedValue: "selectedValue", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
404
404
  BiggiveFormFieldSelect = __decorate([
405
405
  ProxyCmp({
406
406
  defineCustomElementFn: defineBiggiveFormFieldSelect,
@@ -408,7 +408,7 @@ BiggiveFormFieldSelect = __decorate([
408
408
  })
409
409
  ], BiggiveFormFieldSelect);
410
410
  export { BiggiveFormFieldSelect };
411
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveFormFieldSelect, decorators: [{
411
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveFormFieldSelect, decorators: [{
412
412
  type: Component,
413
413
  args: [{
414
414
  selector: 'biggive-form-field-select',
@@ -425,8 +425,8 @@ let BiggiveFormFieldSelectOption = class BiggiveFormFieldSelectOption {
425
425
  proxyOutputs(this, this.el, ['doOptionSelect']);
426
426
  }
427
427
  };
428
- BiggiveFormFieldSelectOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveFormFieldSelectOption, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
429
- BiggiveFormFieldSelectOption.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveFormFieldSelectOption, selector: "biggive-form-field-select-option", inputs: { label: "label", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
428
+ BiggiveFormFieldSelectOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveFormFieldSelectOption, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
429
+ BiggiveFormFieldSelectOption.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveFormFieldSelectOption, selector: "biggive-form-field-select-option", inputs: { label: "label", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
430
430
  BiggiveFormFieldSelectOption = __decorate([
431
431
  ProxyCmp({
432
432
  defineCustomElementFn: defineBiggiveFormFieldSelectOption,
@@ -434,7 +434,7 @@ BiggiveFormFieldSelectOption = __decorate([
434
434
  })
435
435
  ], BiggiveFormFieldSelectOption);
436
436
  export { BiggiveFormFieldSelectOption };
437
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveFormFieldSelectOption, decorators: [{
437
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveFormFieldSelectOption, decorators: [{
438
438
  type: Component,
439
439
  args: [{
440
440
  selector: 'biggive-form-field-select-option',
@@ -450,8 +450,8 @@ let BiggiveFormattedText = class BiggiveFormattedText {
450
450
  this.el = r.nativeElement;
451
451
  }
452
452
  };
453
- BiggiveFormattedText.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveFormattedText, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
454
- BiggiveFormattedText.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveFormattedText, selector: "biggive-formatted-text", inputs: { defaultTextColour: "defaultTextColour", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
453
+ BiggiveFormattedText.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveFormattedText, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
454
+ BiggiveFormattedText.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveFormattedText, selector: "biggive-formatted-text", inputs: { defaultTextColour: "defaultTextColour", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
455
455
  BiggiveFormattedText = __decorate([
456
456
  ProxyCmp({
457
457
  defineCustomElementFn: defineBiggiveFormattedText,
@@ -459,7 +459,7 @@ BiggiveFormattedText = __decorate([
459
459
  })
460
460
  ], BiggiveFormattedText);
461
461
  export { BiggiveFormattedText };
462
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveFormattedText, decorators: [{
462
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveFormattedText, decorators: [{
463
463
  type: Component,
464
464
  args: [{
465
465
  selector: 'biggive-formatted-text',
@@ -475,8 +475,8 @@ let BiggiveGrid = class BiggiveGrid {
475
475
  this.el = r.nativeElement;
476
476
  }
477
477
  };
478
- BiggiveGrid.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveGrid, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
479
- BiggiveGrid.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveGrid, selector: "biggive-grid", inputs: { columnCount: "columnCount", columnGap: "columnGap", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
478
+ BiggiveGrid.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveGrid, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
479
+ BiggiveGrid.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveGrid, selector: "biggive-grid", inputs: { columnCount: "columnCount", columnGap: "columnGap", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
480
480
  BiggiveGrid = __decorate([
481
481
  ProxyCmp({
482
482
  defineCustomElementFn: defineBiggiveGrid,
@@ -484,7 +484,7 @@ BiggiveGrid = __decorate([
484
484
  })
485
485
  ], BiggiveGrid);
486
486
  export { BiggiveGrid };
487
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveGrid, decorators: [{
487
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveGrid, decorators: [{
488
488
  type: Component,
489
489
  args: [{
490
490
  selector: 'biggive-grid',
@@ -500,8 +500,8 @@ let BiggiveHeader = class BiggiveHeader {
500
500
  this.el = r.nativeElement;
501
501
  }
502
502
  };
503
- BiggiveHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
504
- BiggiveHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveHeader, selector: "biggive-header", inputs: { logoUrl: "logoUrl", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
503
+ BiggiveHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
504
+ BiggiveHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveHeader, selector: "biggive-header", inputs: { logoUrl: "logoUrl", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
505
505
  BiggiveHeader = __decorate([
506
506
  ProxyCmp({
507
507
  defineCustomElementFn: defineBiggiveHeader,
@@ -509,7 +509,7 @@ BiggiveHeader = __decorate([
509
509
  })
510
510
  ], BiggiveHeader);
511
511
  export { BiggiveHeader };
512
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveHeader, decorators: [{
512
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveHeader, decorators: [{
513
513
  type: Component,
514
514
  args: [{
515
515
  selector: 'biggive-header',
@@ -525,8 +525,8 @@ let BiggiveHeading = class BiggiveHeading {
525
525
  this.el = r.nativeElement;
526
526
  }
527
527
  };
528
- BiggiveHeading.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveHeading, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
529
- BiggiveHeading.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveHeading, selector: "biggive-heading", inputs: { align: "align", colour: "colour", htmlElement: "htmlElement", size: "size", spaceAbove: "spaceAbove", spaceBelow: "spaceBelow", text: "text" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
528
+ BiggiveHeading.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveHeading, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
529
+ BiggiveHeading.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveHeading, selector: "biggive-heading", inputs: { align: "align", colour: "colour", htmlElement: "htmlElement", size: "size", spaceAbove: "spaceAbove", spaceBelow: "spaceBelow", text: "text" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
530
530
  BiggiveHeading = __decorate([
531
531
  ProxyCmp({
532
532
  defineCustomElementFn: defineBiggiveHeading,
@@ -534,7 +534,7 @@ BiggiveHeading = __decorate([
534
534
  })
535
535
  ], BiggiveHeading);
536
536
  export { BiggiveHeading };
537
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveHeading, decorators: [{
537
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveHeading, decorators: [{
538
538
  type: Component,
539
539
  args: [{
540
540
  selector: 'biggive-heading',
@@ -550,8 +550,8 @@ let BiggiveHeroImage = class BiggiveHeroImage {
550
550
  this.el = r.nativeElement;
551
551
  }
552
552
  };
553
- BiggiveHeroImage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveHeroImage, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
554
- BiggiveHeroImage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveHeroImage, selector: "biggive-hero-image", inputs: { buttonColourScheme: "buttonColourScheme", buttonLabel: "buttonLabel", buttonUrl: "buttonUrl", colourScheme: "colourScheme", logo: "logo", 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 });
553
+ BiggiveHeroImage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveHeroImage, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
554
+ BiggiveHeroImage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveHeroImage, selector: "biggive-hero-image", inputs: { buttonColourScheme: "buttonColourScheme", buttonLabel: "buttonLabel", buttonUrl: "buttonUrl", colourScheme: "colourScheme", logo: "logo", 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 });
555
555
  BiggiveHeroImage = __decorate([
556
556
  ProxyCmp({
557
557
  defineCustomElementFn: defineBiggiveHeroImage,
@@ -559,7 +559,7 @@ BiggiveHeroImage = __decorate([
559
559
  })
560
560
  ], BiggiveHeroImage);
561
561
  export { BiggiveHeroImage };
562
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveHeroImage, decorators: [{
562
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveHeroImage, decorators: [{
563
563
  type: Component,
564
564
  args: [{
565
565
  selector: 'biggive-hero-image',
@@ -575,8 +575,8 @@ let BiggiveIconGroup = class BiggiveIconGroup {
575
575
  this.el = r.nativeElement;
576
576
  }
577
577
  };
578
- BiggiveIconGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveIconGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
579
- BiggiveIconGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveIconGroup, selector: "biggive-icon-group", inputs: { label: "label", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
578
+ BiggiveIconGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveIconGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
579
+ BiggiveIconGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveIconGroup, selector: "biggive-icon-group", inputs: { label: "label", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
580
580
  BiggiveIconGroup = __decorate([
581
581
  ProxyCmp({
582
582
  defineCustomElementFn: defineBiggiveIconGroup,
@@ -584,7 +584,7 @@ BiggiveIconGroup = __decorate([
584
584
  })
585
585
  ], BiggiveIconGroup);
586
586
  export { BiggiveIconGroup };
587
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveIconGroup, decorators: [{
587
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveIconGroup, decorators: [{
588
588
  type: Component,
589
589
  args: [{
590
590
  selector: 'biggive-icon-group',
@@ -600,8 +600,8 @@ let BiggiveImage = class BiggiveImage {
600
600
  this.el = r.nativeElement;
601
601
  }
602
602
  };
603
- BiggiveImage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveImage, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
604
- BiggiveImage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveImage, selector: "biggive-image", inputs: { height: "height", imageUrl: "imageUrl", sizeUnit: "sizeUnit", spaceAbove: "spaceAbove", spaceBelow: "spaceBelow", width: "width" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
603
+ BiggiveImage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveImage, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
604
+ BiggiveImage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveImage, selector: "biggive-image", inputs: { height: "height", imageUrl: "imageUrl", sizeUnit: "sizeUnit", spaceAbove: "spaceAbove", spaceBelow: "spaceBelow", width: "width" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
605
605
  BiggiveImage = __decorate([
606
606
  ProxyCmp({
607
607
  defineCustomElementFn: defineBiggiveImage,
@@ -609,7 +609,7 @@ BiggiveImage = __decorate([
609
609
  })
610
610
  ], BiggiveImage);
611
611
  export { BiggiveImage };
612
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveImage, decorators: [{
612
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveImage, decorators: [{
613
613
  type: Component,
614
614
  args: [{
615
615
  selector: 'biggive-image',
@@ -625,8 +625,8 @@ let BiggiveImageFeature = class BiggiveImageFeature {
625
625
  this.el = r.nativeElement;
626
626
  }
627
627
  };
628
- BiggiveImageFeature.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveImageFeature, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
629
- BiggiveImageFeature.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveImageFeature, selector: "biggive-image-feature", inputs: { buttonColourScheme: "buttonColourScheme", buttonLabel: "buttonLabel", buttonUrl: "buttonUrl", defaultTextColour: "defaultTextColour", 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 });
628
+ BiggiveImageFeature.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveImageFeature, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
629
+ BiggiveImageFeature.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveImageFeature, selector: "biggive-image-feature", inputs: { buttonColourScheme: "buttonColourScheme", buttonLabel: "buttonLabel", buttonUrl: "buttonUrl", defaultTextColour: "defaultTextColour", 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 });
630
630
  BiggiveImageFeature = __decorate([
631
631
  ProxyCmp({
632
632
  defineCustomElementFn: defineBiggiveImageFeature,
@@ -634,7 +634,7 @@ BiggiveImageFeature = __decorate([
634
634
  })
635
635
  ], BiggiveImageFeature);
636
636
  export { BiggiveImageFeature };
637
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveImageFeature, decorators: [{
637
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveImageFeature, decorators: [{
638
638
  type: Component,
639
639
  args: [{
640
640
  selector: 'biggive-image-feature',
@@ -650,8 +650,8 @@ let BiggiveMiscIcon = class BiggiveMiscIcon {
650
650
  this.el = r.nativeElement;
651
651
  }
652
652
  };
653
- BiggiveMiscIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveMiscIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
654
- BiggiveMiscIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", 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 });
653
+ BiggiveMiscIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveMiscIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
654
+ BiggiveMiscIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", 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 });
655
655
  BiggiveMiscIcon = __decorate([
656
656
  ProxyCmp({
657
657
  defineCustomElementFn: defineBiggiveMiscIcon,
@@ -659,7 +659,7 @@ BiggiveMiscIcon = __decorate([
659
659
  })
660
660
  ], BiggiveMiscIcon);
661
661
  export { BiggiveMiscIcon };
662
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveMiscIcon, decorators: [{
662
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveMiscIcon, decorators: [{
663
663
  type: Component,
664
664
  args: [{
665
665
  selector: 'biggive-misc-icon',
@@ -675,8 +675,8 @@ let BiggiveNavGroup = class BiggiveNavGroup {
675
675
  this.el = r.nativeElement;
676
676
  }
677
677
  };
678
- BiggiveNavGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveNavGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
679
- BiggiveNavGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveNavGroup, selector: "biggive-nav-group", inputs: { inline: "inline" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
678
+ BiggiveNavGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveNavGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
679
+ BiggiveNavGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveNavGroup, selector: "biggive-nav-group", inputs: { inline: "inline" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
680
680
  BiggiveNavGroup = __decorate([
681
681
  ProxyCmp({
682
682
  defineCustomElementFn: defineBiggiveNavGroup,
@@ -684,7 +684,7 @@ BiggiveNavGroup = __decorate([
684
684
  })
685
685
  ], BiggiveNavGroup);
686
686
  export { BiggiveNavGroup };
687
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveNavGroup, decorators: [{
687
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveNavGroup, decorators: [{
688
688
  type: Component,
689
689
  args: [{
690
690
  selector: 'biggive-nav-group',
@@ -700,8 +700,8 @@ let BiggiveNavItem = class BiggiveNavItem {
700
700
  this.el = r.nativeElement;
701
701
  }
702
702
  };
703
- BiggiveNavItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveNavItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
704
- BiggiveNavItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", 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 });
703
+ BiggiveNavItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveNavItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
704
+ BiggiveNavItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", 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 });
705
705
  BiggiveNavItem = __decorate([
706
706
  ProxyCmp({
707
707
  defineCustomElementFn: defineBiggiveNavItem,
@@ -709,7 +709,7 @@ BiggiveNavItem = __decorate([
709
709
  })
710
710
  ], BiggiveNavItem);
711
711
  export { BiggiveNavItem };
712
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveNavItem, decorators: [{
712
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveNavItem, decorators: [{
713
713
  type: Component,
714
714
  args: [{
715
715
  selector: 'biggive-nav-item',
@@ -725,15 +725,15 @@ let BiggivePageColumn = class BiggivePageColumn {
725
725
  this.el = r.nativeElement;
726
726
  }
727
727
  };
728
- BiggivePageColumn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggivePageColumn, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
729
- BiggivePageColumn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggivePageColumn, selector: "biggive-page-column", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
728
+ BiggivePageColumn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggivePageColumn, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
729
+ BiggivePageColumn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggivePageColumn, selector: "biggive-page-column", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
730
730
  BiggivePageColumn = __decorate([
731
731
  ProxyCmp({
732
732
  defineCustomElementFn: defineBiggivePageColumn
733
733
  })
734
734
  ], BiggivePageColumn);
735
735
  export { BiggivePageColumn };
736
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggivePageColumn, decorators: [{
736
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggivePageColumn, decorators: [{
737
737
  type: Component,
738
738
  args: [{
739
739
  selector: 'biggive-page-column',
@@ -748,8 +748,8 @@ let BiggivePageColumns = class BiggivePageColumns {
748
748
  this.el = r.nativeElement;
749
749
  }
750
750
  };
751
- BiggivePageColumns.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggivePageColumns, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
752
- BiggivePageColumns.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggivePageColumns, selector: "biggive-page-columns", inputs: { spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
751
+ BiggivePageColumns.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggivePageColumns, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
752
+ BiggivePageColumns.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggivePageColumns, selector: "biggive-page-columns", inputs: { spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
753
753
  BiggivePageColumns = __decorate([
754
754
  ProxyCmp({
755
755
  defineCustomElementFn: defineBiggivePageColumns,
@@ -757,7 +757,7 @@ BiggivePageColumns = __decorate([
757
757
  })
758
758
  ], BiggivePageColumns);
759
759
  export { BiggivePageColumns };
760
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggivePageColumns, decorators: [{
760
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggivePageColumns, decorators: [{
761
761
  type: Component,
762
762
  args: [{
763
763
  selector: 'biggive-page-columns',
@@ -773,8 +773,8 @@ let BiggivePageSection = class BiggivePageSection {
773
773
  this.el = r.nativeElement;
774
774
  }
775
775
  };
776
- BiggivePageSection.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggivePageSection, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
777
- BiggivePageSection.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggivePageSection, selector: "biggive-page-section", inputs: { colourScheme: "colourScheme", sectionStyleBottom: "sectionStyleBottom", sectionStyleTop: "sectionStyleTop", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
776
+ BiggivePageSection.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggivePageSection, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
777
+ BiggivePageSection.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggivePageSection, selector: "biggive-page-section", inputs: { colourScheme: "colourScheme", sectionStyleBottom: "sectionStyleBottom", sectionStyleTop: "sectionStyleTop", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
778
778
  BiggivePageSection = __decorate([
779
779
  ProxyCmp({
780
780
  defineCustomElementFn: defineBiggivePageSection,
@@ -782,7 +782,7 @@ BiggivePageSection = __decorate([
782
782
  })
783
783
  ], BiggivePageSection);
784
784
  export { BiggivePageSection };
785
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggivePageSection, decorators: [{
785
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggivePageSection, decorators: [{
786
786
  type: Component,
787
787
  args: [{
788
788
  selector: 'biggive-page-section',
@@ -798,8 +798,8 @@ let BiggivePopup = class BiggivePopup {
798
798
  this.el = r.nativeElement;
799
799
  }
800
800
  };
801
- BiggivePopup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggivePopup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
802
- BiggivePopup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggivePopup, selector: "biggive-popup", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
801
+ BiggivePopup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggivePopup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
802
+ BiggivePopup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggivePopup, selector: "biggive-popup", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
803
803
  BiggivePopup = __decorate([
804
804
  ProxyCmp({
805
805
  defineCustomElementFn: defineBiggivePopup,
@@ -807,7 +807,7 @@ BiggivePopup = __decorate([
807
807
  })
808
808
  ], BiggivePopup);
809
809
  export { BiggivePopup };
810
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggivePopup, decorators: [{
810
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggivePopup, decorators: [{
811
811
  type: Component,
812
812
  args: [{
813
813
  selector: 'biggive-popup',
@@ -822,8 +822,8 @@ let BiggiveProgressBar = class BiggiveProgressBar {
822
822
  this.el = r.nativeElement;
823
823
  }
824
824
  };
825
- BiggiveProgressBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveProgressBar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
826
- BiggiveProgressBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", 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 });
825
+ BiggiveProgressBar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveProgressBar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
826
+ BiggiveProgressBar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", 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 });
827
827
  BiggiveProgressBar = __decorate([
828
828
  ProxyCmp({
829
829
  defineCustomElementFn: defineBiggiveProgressBar,
@@ -831,7 +831,7 @@ BiggiveProgressBar = __decorate([
831
831
  })
832
832
  ], BiggiveProgressBar);
833
833
  export { BiggiveProgressBar };
834
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveProgressBar, decorators: [{
834
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveProgressBar, decorators: [{
835
835
  type: Component,
836
836
  args: [{
837
837
  selector: 'biggive-progress-bar',
@@ -847,8 +847,8 @@ let BiggiveQuote = class BiggiveQuote {
847
847
  this.el = r.nativeElement;
848
848
  }
849
849
  };
850
- BiggiveQuote.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveQuote, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
851
- BiggiveQuote.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveQuote, selector: "biggive-quote", inputs: { attribution: "attribution", defaultTextColour: "defaultTextColour", quote: "quote", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
850
+ BiggiveQuote.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveQuote, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
851
+ BiggiveQuote.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveQuote, selector: "biggive-quote", inputs: { attribution: "attribution", defaultTextColour: "defaultTextColour", quote: "quote", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
852
852
  BiggiveQuote = __decorate([
853
853
  ProxyCmp({
854
854
  defineCustomElementFn: defineBiggiveQuote,
@@ -856,7 +856,7 @@ BiggiveQuote = __decorate([
856
856
  })
857
857
  ], BiggiveQuote);
858
858
  export { BiggiveQuote };
859
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveQuote, decorators: [{
859
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveQuote, decorators: [{
860
860
  type: Component,
861
861
  args: [{
862
862
  selector: 'biggive-quote',
@@ -873,8 +873,8 @@ let BiggiveSearch = class BiggiveSearch {
873
873
  proxyOutputs(this, this.el, ['doSearch']);
874
874
  }
875
875
  };
876
- BiggiveSearch.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveSearch, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
877
- BiggiveSearch.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveSearch, selector: "biggive-search", inputs: { buttonText: "buttonText", placeholderText: "placeholderText" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
876
+ BiggiveSearch.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveSearch, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
877
+ BiggiveSearch.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveSearch, selector: "biggive-search", inputs: { buttonText: "buttonText", placeholderText: "placeholderText" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
878
878
  BiggiveSearch = __decorate([
879
879
  ProxyCmp({
880
880
  defineCustomElementFn: defineBiggiveSearch,
@@ -882,7 +882,7 @@ BiggiveSearch = __decorate([
882
882
  })
883
883
  ], BiggiveSearch);
884
884
  export { BiggiveSearch };
885
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveSearch, decorators: [{
885
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveSearch, decorators: [{
886
886
  type: Component,
887
887
  args: [{
888
888
  selector: 'biggive-search',
@@ -898,8 +898,8 @@ let BiggiveSocialIcon = class BiggiveSocialIcon {
898
898
  this.el = r.nativeElement;
899
899
  }
900
900
  };
901
- BiggiveSocialIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveSocialIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
902
- BiggiveSocialIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveSocialIcon, selector: "biggive-social-icon", inputs: { backgroundColour: "backgroundColour", iconColour: "iconColour", service: "service", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
901
+ BiggiveSocialIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveSocialIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
902
+ BiggiveSocialIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveSocialIcon, selector: "biggive-social-icon", inputs: { backgroundColour: "backgroundColour", iconColour: "iconColour", service: "service", url: "url" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
903
903
  BiggiveSocialIcon = __decorate([
904
904
  ProxyCmp({
905
905
  defineCustomElementFn: defineBiggiveSocialIcon,
@@ -907,7 +907,7 @@ BiggiveSocialIcon = __decorate([
907
907
  })
908
908
  ], BiggiveSocialIcon);
909
909
  export { BiggiveSocialIcon };
910
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveSocialIcon, decorators: [{
910
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveSocialIcon, decorators: [{
911
911
  type: Component,
912
912
  args: [{
913
913
  selector: 'biggive-social-icon',
@@ -923,8 +923,8 @@ let BiggiveTab = class BiggiveTab {
923
923
  this.el = r.nativeElement;
924
924
  }
925
925
  };
926
- BiggiveTab.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveTab, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
927
- BiggiveTab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveTab, selector: "biggive-tab", inputs: { tabTitle: "tabTitle" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
926
+ BiggiveTab.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveTab, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
927
+ BiggiveTab.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveTab, selector: "biggive-tab", inputs: { tabTitle: "tabTitle" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
928
928
  BiggiveTab = __decorate([
929
929
  ProxyCmp({
930
930
  defineCustomElementFn: defineBiggiveTab,
@@ -932,7 +932,7 @@ BiggiveTab = __decorate([
932
932
  })
933
933
  ], BiggiveTab);
934
934
  export { BiggiveTab };
935
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveTab, decorators: [{
935
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveTab, decorators: [{
936
936
  type: Component,
937
937
  args: [{
938
938
  selector: 'biggive-tab',
@@ -948,8 +948,8 @@ let BiggiveTabbedContent = class BiggiveTabbedContent {
948
948
  this.el = r.nativeElement;
949
949
  }
950
950
  };
951
- BiggiveTabbedContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveTabbedContent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
952
- BiggiveTabbedContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveTabbedContent, selector: "biggive-tabbed-content", inputs: { defaultTextColour: "defaultTextColour", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
951
+ BiggiveTabbedContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveTabbedContent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
952
+ BiggiveTabbedContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveTabbedContent, selector: "biggive-tabbed-content", inputs: { defaultTextColour: "defaultTextColour", spaceBelow: "spaceBelow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
953
953
  BiggiveTabbedContent = __decorate([
954
954
  ProxyCmp({
955
955
  defineCustomElementFn: defineBiggiveTabbedContent,
@@ -957,7 +957,7 @@ BiggiveTabbedContent = __decorate([
957
957
  })
958
958
  ], BiggiveTabbedContent);
959
959
  export { BiggiveTabbedContent };
960
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveTabbedContent, decorators: [{
960
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveTabbedContent, decorators: [{
961
961
  type: Component,
962
962
  args: [{
963
963
  selector: 'biggive-tabbed-content',
@@ -973,15 +973,15 @@ let BiggiveTextInput = class BiggiveTextInput {
973
973
  this.el = r.nativeElement;
974
974
  }
975
975
  };
976
- BiggiveTextInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveTextInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
977
- BiggiveTextInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveTextInput, selector: "biggive-text-input", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
976
+ BiggiveTextInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveTextInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
977
+ BiggiveTextInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveTextInput, selector: "biggive-text-input", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
978
978
  BiggiveTextInput = __decorate([
979
979
  ProxyCmp({
980
980
  defineCustomElementFn: defineBiggiveTextInput
981
981
  })
982
982
  ], BiggiveTextInput);
983
983
  export { BiggiveTextInput };
984
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveTextInput, decorators: [{
984
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveTextInput, decorators: [{
985
985
  type: Component,
986
986
  args: [{
987
987
  selector: 'biggive-text-input',
@@ -996,8 +996,8 @@ let BiggiveTotalizer = class BiggiveTotalizer {
996
996
  this.el = r.nativeElement;
997
997
  }
998
998
  };
999
- BiggiveTotalizer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveTotalizer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1000
- BiggiveTotalizer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", type: BiggiveTotalizer, selector: "biggive-totalizer", inputs: { mainMessage: "mainMessage", primaryColour: "primaryColour", primaryTextColour: "primaryTextColour", secondaryColour: "secondaryColour", secondaryTextColour: "secondaryTextColour", spaceBelow: "spaceBelow", tickerItems: "tickerItems" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
999
+ BiggiveTotalizer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveTotalizer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1000
+ BiggiveTotalizer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: BiggiveTotalizer, selector: "biggive-totalizer", inputs: { mainMessage: "mainMessage", primaryColour: "primaryColour", primaryTextColour: "primaryTextColour", secondaryColour: "secondaryColour", secondaryTextColour: "secondaryTextColour", spaceBelow: "spaceBelow", tickerItems: "tickerItems" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1001
1001
  BiggiveTotalizer = __decorate([
1002
1002
  ProxyCmp({
1003
1003
  defineCustomElementFn: defineBiggiveTotalizer,
@@ -1005,7 +1005,7 @@ BiggiveTotalizer = __decorate([
1005
1005
  })
1006
1006
  ], BiggiveTotalizer);
1007
1007
  export { BiggiveTotalizer };
1008
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveTotalizer, decorators: [{
1008
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveTotalizer, decorators: [{
1009
1009
  type: Component,
1010
1010
  args: [{
1011
1011
  selector: 'biggive-totalizer',
@@ -1021,8 +1021,8 @@ let BiggiveTotalizerTickerItem = class BiggiveTotalizerTickerItem {
1021
1021
  this.el = r.nativeElement;
1022
1022
  }
1023
1023
  };
1024
- BiggiveTotalizerTickerItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveTotalizerTickerItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1025
- BiggiveTotalizerTickerItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", 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 });
1024
+ BiggiveTotalizerTickerItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveTotalizerTickerItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1025
+ BiggiveTotalizerTickerItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", 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 });
1026
1026
  BiggiveTotalizerTickerItem = __decorate([
1027
1027
  ProxyCmp({
1028
1028
  defineCustomElementFn: defineBiggiveTotalizerTickerItem,
@@ -1030,7 +1030,7 @@ BiggiveTotalizerTickerItem = __decorate([
1030
1030
  })
1031
1031
  ], BiggiveTotalizerTickerItem);
1032
1032
  export { BiggiveTotalizerTickerItem };
1033
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveTotalizerTickerItem, decorators: [{
1033
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveTotalizerTickerItem, decorators: [{
1034
1034
  type: Component,
1035
1035
  args: [{
1036
1036
  selector: 'biggive-totalizer-ticker-item',
@@ -1046,8 +1046,8 @@ let BiggiveVideo = class BiggiveVideo {
1046
1046
  this.el = r.nativeElement;
1047
1047
  }
1048
1048
  };
1049
- BiggiveVideo.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveVideo, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1050
- BiggiveVideo.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", 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 });
1049
+ BiggiveVideo.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveVideo, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1050
+ BiggiveVideo.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", 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 });
1051
1051
  BiggiveVideo = __decorate([
1052
1052
  ProxyCmp({
1053
1053
  defineCustomElementFn: defineBiggiveVideo,
@@ -1055,7 +1055,7 @@ BiggiveVideo = __decorate([
1055
1055
  })
1056
1056
  ], BiggiveVideo);
1057
1057
  export { BiggiveVideo };
1058
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveVideo, decorators: [{
1058
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveVideo, decorators: [{
1059
1059
  type: Component,
1060
1060
  args: [{
1061
1061
  selector: 'biggive-video',
@@ -1071,8 +1071,8 @@ let BiggiveVideoFeature = class BiggiveVideoFeature {
1071
1071
  this.el = r.nativeElement;
1072
1072
  }
1073
1073
  };
1074
- BiggiveVideoFeature.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveVideoFeature, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1075
- BiggiveVideoFeature.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.9", 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 });
1074
+ BiggiveVideoFeature.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveVideoFeature, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1075
+ BiggiveVideoFeature.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", 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 });
1076
1076
  BiggiveVideoFeature = __decorate([
1077
1077
  ProxyCmp({
1078
1078
  defineCustomElementFn: defineBiggiveVideoFeature,
@@ -1080,7 +1080,7 @@ BiggiveVideoFeature = __decorate([
1080
1080
  })
1081
1081
  ], BiggiveVideoFeature);
1082
1082
  export { BiggiveVideoFeature };
1083
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImport: i0, type: BiggiveVideoFeature, decorators: [{
1083
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: BiggiveVideoFeature, decorators: [{
1084
1084
  type: Component,
1085
1085
  args: [{
1086
1086
  selector: 'biggive-video-feature',
@@ -1089,4 +1089,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.9", ngImpor
1089
1089
  inputs: ['buttonColourScheme', 'buttonLabel', 'buttonUrl', 'defaultTextColour', 'mainTitle', 'mainTitleColour', 'slug', 'slugColour', 'spaceAbove', 'spaceBelow', 'teaser', 'teaserColour', 'videoUrl']
1090
1090
  }]
1091
1091
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
1092
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zdGVuY2lsLWdlbmVyYXRlZC9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBSXZFLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx3QkFBd0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzlILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxzQkFBc0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQzNILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxzQkFBc0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzFILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSw0QkFBNEIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQ3RJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxtQkFBbUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ25ILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ2pJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxtQ0FBbUMsRUFBRSxNQUFNLDBFQUEwRSxDQUFDO0FBQ3RKLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSwrQkFB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QUFjLEVBQUUsVUFBVSxDQUFDO0tBQ3hNLENBQUM7R0FPVyxtQkFBbUIsQ0FNL0I7U0FOWSxtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFOL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsTUFBTSxFQUFFLENBQUMsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsVUFBVSxDQUFDO2lCQUN4TSIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBhdXRvLWdlbmVyYXRlZCBhbmd1bGFyIGRpcmVjdGl2ZSBwcm94aWVzICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb3h5Q21wLCBwcm94eU91dHB1dHMgfSBmcm9tICcuL2FuZ3VsYXItY29tcG9uZW50LWxpYi91dGlscyc7XG5cbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50cyB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzJztcblxuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlQXJ0aWNsZUNhcmQgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWFydGljbGUtY2FyZC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVCYWNrVG9Ub3AgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWJhY2stdG8tdG9wLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUJhc2ljQ2FyZCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtYmFzaWMtY2FyZC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVCZW5lZmljaWFyeUljb24gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWJlbmVmaWNpYXJ5LWljb24uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlQm94ZWRDb250ZW50IH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1ib3hlZC1jb250ZW50LmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUJyYW5kZWRJbWFnZSB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtYnJhbmRlZC1pbWFnZS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVCdXR0b24gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWJ1dHRvbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVDYWxsVG9BY3Rpb24gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWNhbGwtdG8tYWN0aW9uLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUNhbXBhaWduQ2FyZCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtY2FtcGFpZ24tY2FyZC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVDYW1wYWlnbkNhcmRGaWx0ZXJHcmlkIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1jYW1wYWlnbi1jYXJkLWZpbHRlci1ncmlkLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUNhbXBhaWduSGlnaGxpZ2h0cyB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtY2FtcGFpZ24taGlnaGxpZ2h0cy5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVDYXRlZ29yeUljb24gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWNhdGVnb3J5LWljb24uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlRm9vdGVyIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1mb290ZXIuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlRm9ybSB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtZm9ybS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVGb3JtRmllbGRTZWxlY3QgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWZvcm0tZmllbGQtc2VsZWN0LmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUZvcm1GaWVsZFNlbGVjdE9wdGlvbiB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtZm9ybS1maWVsZC1zZWxlY3Qtb3B0aW9uLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUZvcm1hdHRlZFRleHQgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWZvcm1hdHRlZC10ZXh0LmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUdyaWQgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWdyaWQuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlSGVhZGVyIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1oZWFkZXIuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlSGVhZGluZyB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtaGVhZGluZy5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVIZXJvSW1hZ2UgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWhlcm8taW1hZ2UuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlSWNvbkdyb3VwIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1pY29uLWdyb3VwLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUltYWdlIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1pbWFnZS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVJbWFnZUZlYXR1cmUgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWltYWdlLWZlYXR1cmUuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlTWlzY0ljb24gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLW1pc2MtaWNvbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVOYXZHcm91cCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtbmF2LWdyb3VwLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZU5hdkl0ZW0gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLW5hdi1pdGVtLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZVBhZ2VDb2x1bW4gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLXBhZ2UtY29sdW1uLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZVBhZ2VDb2x1bW5zIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1wYWdlLWNvbHVtbnMuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlUGFnZVNlY3Rpb24gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLXBhZ2Utc2VjdGlvbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVQb3B1cCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtcG9wdXAuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlUHJvZ3Jlc3NCYXIgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLXByb2dyZXNzLWJhci5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVRdW90ZSB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtcXVvdGUuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlU2VhcmNoIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1zZWFyY2guanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlU29jaWFsSWNvbiB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtc29jaWFsLWljb24uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlVGFiIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS10YWIuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlVGFiYmVkQ29udGVudCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtdGFiYmVkLWNvbnRlbnQuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlVGV4dElucHV0IH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS10ZXh0LWlucHV0LmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZVRvdGFsaXplciB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtdG90YWxpemVyLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZVRvdGFsaXplclRpY2tlckl0ZW0gfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLXRvdGFsaXplci10aWNrZXItaXRlbS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVWaWRlbyB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtdmlkZW8uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlVmlkZW9GZWF0dXJlIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS12aWRlby1mZWF0dXJlLmpzJztcblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUFydGljbGVDYXJkIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlQXJ0aWNsZUNhcmQge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlQXJ0aWNsZUNhcmQsXG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3VyJywgJ2JhY2tncm91bmRDb2xvdXJIb3ZlcicsICdidXR0b25MYWJlbCcsICdidXR0b25VcmwnLCAnZGF0ZScsICdpbWFnZUxhYmVsJywgJ2ltYWdlVXJsJywgJ21haW5UaXRsZScsICdzbHVnJywgJ3NwYWNlQmVsb3cnLCAndGV4dENvbG91ciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1hcnRpY2xlLWNhcmQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnYmFja2dyb3VuZENvbG91ckhvdmVyJywgJ2J1dHRvbkxhYmVsJywgJ2J1dHRvblVybCcsICdkYXRlJywgJ2ltYWdlTGFiZWwnLCAnaW1hZ2VVcmwnLCAnbWFpblRpdGxlJywgJ3NsdWcnLCAnc3BhY2VCZWxvdycsICd0ZXh0Q29sb3VyJ11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUFydGljbGVDYXJkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUJhY2tUb1RvcCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUJhY2tUb1RvcCB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVCYWNrVG9Ub3Bcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWJhY2stdG8tdG9wJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pidcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUJhY2tUb1RvcCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVCYXNpY0NhcmQgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVCYXNpY0NhcmQge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlQmFzaWNDYXJkLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdiYWNrZ3JvdW5kSW1hZ2VVcmwnLCAnYnV0dG9uQ29sb3VyU2NoZW1lJywgJ2J1dHRvbkxhYmVsJywgJ2J1dHRvblVybCcsICdjYXJkQ29sb3VyJywgJ2ljb25Db2xvdXInLCAnbWFpblRpdGxlJywgJ3NwYWNlQmVsb3cnLCAnc3VidGl0bGUnLCAndGV4dENvbG91ciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1iYXNpYy1jYXJkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3VyJywgJ2JhY2tncm91bmRJbWFnZVVybCcsICdidXR0b25Db2xvdXJTY2hlbWUnLCAnYnV0dG9uTGFiZWwnLCAnYnV0dG9uVXJsJywgJ2NhcmRDb2xvdXInLCAnaWNvbkNvbG91cicsICdtYWluVGl0bGUnLCAnc3BhY2VCZWxvdycsICdzdWJ0aXRsZScsICd0ZXh0Q29sb3VyJ11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUJhc2ljQ2FyZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVCZW5lZmljaWFyeUljb24gZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVCZW5lZmljaWFyeUljb24ge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlQmVuZWZpY2lhcnlJY29uLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdpY29uJywgJ2ljb25Db2xvdXInLCAnbGFiZWwnLCAndXJsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWJlbmVmaWNpYXJ5LWljb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnaWNvbicsICdpY29uQ29sb3VyJywgJ2xhYmVsJywgJ3VybCddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVCZW5lZmljaWFyeUljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQm94ZWRDb250ZW50IGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlQm94ZWRDb250ZW50IHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUJveGVkQ29udGVudCxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnaG9yaXpvbnRhbFBhZGRpbmcnLCAnc2hhZG93JywgJ3NwYWNlQmVsb3cnLCAndmVydGljYWxQYWRkaW5nJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWJveGVkLWNvbnRlbnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnaG9yaXpvbnRhbFBhZGRpbmcnLCAnc2hhZG93JywgJ3NwYWNlQmVsb3cnLCAndmVydGljYWxQYWRkaW5nJ11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUJveGVkQ29udGVudCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVCcmFuZGVkSW1hZ2UgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVCcmFuZGVkSW1hZ2Uge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlQnJhbmRlZEltYWdlLFxuICBpbnB1dHM6IFsnaW1hZ2VVcmwnLCAnbG9nb1VybCcsICdzbHVnJywgJ3NwYWNlQmVsb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtYnJhbmRlZC1pbWFnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnaW1hZ2VVcmwnLCAnbG9nb1VybCcsICdzbHVnJywgJ3NwYWNlQmVsb3cnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQnJhbmRlZEltYWdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUJ1dHRvbiB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVCdXR0b24sXG4gIGlucHV0czogWydjb2xvdXJTY2hlbWUnLCAnZnVsbFdpZHRoJywgJ2xhYmVsJywgJ3JvdW5kZWQnLCAnc2l6ZScsICdzcGFjZUJlbG93JywgJ3VybCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1idXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2NvbG91clNjaGVtZScsICdmdWxsV2lkdGgnLCAnbGFiZWwnLCAncm91bmRlZCcsICdzaXplJywgJ3NwYWNlQmVsb3cnLCAndXJsJ11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUJ1dHRvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVDYWxsVG9BY3Rpb24gZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVDYWxsVG9BY3Rpb24ge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlQ2FsbFRvQWN0aW9uLFxuICBpbnB1dHM6IFsnZGVmYXVsdFRleHRDb2xvdXInLCAnbWFpblRpdGxlJywgJ21haW5UaXRsZUNvbG91cicsICdtYWluVGl0bGVTaXplJywgJ3ByaW1hcnlCdXR0b25Db2xvdXJTY2hlbWUnLCAncHJpbWFyeUJ1dHRvbkxhYmVsJywgJ3ByaW1hcnlCdXR0b25VcmwnLCAnc2Vjb25kYXJ5QnV0dG9uQ29sb3VyU2NoZW1lJywgJ3NlY29uZGFyeUJ1dHRvbkxhYmVsJywgJ3NlY29uZGFyeUJ1dHRvblVybCcsICdzbHVnJywgJ3NsdWdDb2xvdXInLCAnc2x1Z1NpemUnLCAnc3BhY2VBYm92ZScsICdzcGFjZUJlbG93JywgJ3N1YnRpdGxlJywgJ3N1YnRpdGxlQ29sb3VyJywgJ3N1YnRpdGxlU2l6ZScsICd0ZWFzZXInLCAndGVhc2VyQ29sb3VyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWNhbGwtdG8tYWN0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydkZWZhdWx0VGV4dENvbG91cicsICdtYWluVGl0bGUnLCAnbWFpblRpdGxlQ29sb3VyJywgJ21haW5UaXRsZVNpemUnLCAncHJpbWFyeUJ1dHRvbkNvbG91clNjaGVtZScsICdwcmltYXJ5QnV0dG9uTGFiZWwnLCAncHJpbWFyeUJ1dHRvblVybCcsICdzZWNvbmRhcnlCdXR0b25Db2xvdXJTY2hlbWUnLCAnc2Vjb25kYXJ5QnV0dG9uTGFiZWwnLCAnc2Vjb25kYXJ5QnV0dG9uVXJsJywgJ3NsdWcnLCAnc2x1Z0NvbG91cicsICdzbHVnU2l6ZScsICdzcGFjZUFib3ZlJywgJ3NwYWNlQmVsb3cnLCAnc3VidGl0bGUnLCAnc3VidGl0bGVDb2xvdXInLCAnc3VidGl0bGVTaXplJywgJ3RlYXNlcicsICd0ZWFzZXJDb2xvdXInXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQ2FsbFRvQWN0aW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUNhbXBhaWduQ2FyZCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUNhbXBhaWduQ2FyZCB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVDYW1wYWlnbkNhcmQsXG4gIGlucHV0czogWydiYW5uZXInLCAnY2FtcGFpZ25UaXRsZScsICdjYW1wYWlnblR5cGUnLCAnY3VycmVuY3lDb2RlJywgJ2RvbmF0ZUJ1dHRvbkNvbG91clNjaGVtZScsICdkb25hdGVCdXR0b25MYWJlbCcsICdkb25hdGVCdXR0b25VcmwnLCAnbW9yZUluZm9CdXR0b25Db2xvdXJTY2hlbWUnLCAnbW9yZUluZm9CdXR0b25MYWJlbCcsICdtb3JlSW5mb0J1dHRvblVybCcsICdvcmdhbmlzYXRpb25OYW1lJywgJ3ByaW1hcnlGaWd1cmVBbW91bnQnLCAncHJpbWFyeUZpZ3VyZUxhYmVsJywgJ3Byb2dyZXNzQmFyQ291bnRlcicsICdzZWNvbmRhcnlGaWd1cmVBbW91bnQnLCAnc2Vjb25kYXJ5RmlndXJlTGFiZWwnLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1jYW1wYWlnbi1jYXJkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydiYW5uZXInLCAnY2FtcGFpZ25UaXRsZScsICdjYW1wYWlnblR5cGUnLCAnY3VycmVuY3lDb2RlJywgJ2RvbmF0ZUJ1dHRvbkNvbG91clNjaGVtZScsICdkb25hdGVCdXR0b25MYWJlbCcsICdkb25hdGVCdXR0b25VcmwnLCAnbW9yZUluZm9CdXR0b25Db2xvdXJTY2hlbWUnLCAnbW9yZUluZm9CdXR0b25MYWJlbCcsICdtb3JlSW5mb0J1dHRvblVybCcsICdvcmdhbmlzYXRpb25OYW1lJywgJ3ByaW1hcnlGaWd1cmVBbW91bnQnLCAncHJpbWFyeUZpZ3VyZUxhYmVsJywgJ3Byb2dyZXNzQmFyQ291bnRlcicsICdzZWNvbmRhcnlGaWd1cmVBbW91bnQnLCAnc2Vjb25kYXJ5RmlndXJlTGFiZWwnLCAnc3BhY2VCZWxvdyddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVDYW1wYWlnbkNhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQ2FtcGFpZ25DYXJkRmlsdGVyR3JpZCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUNhbXBhaWduQ2FyZEZpbHRlckdyaWQge1xuICAvKipcbiAgICogVGhpcyBldmVudCBgZG9TZWFyY2hBbmRGaWx0ZXJVcGRhdGVgIGV2ZW50IGlzIGVtaXR0ZWQgYW5kIHByb3BvZ2F0ZXMgdG8gdGhlIHBhcmVudFxuY29tcG9uZW50IHdoaWNoIGhhbmRsZXMgaXQgXG4gICAqL1xuICBkb1NlYXJjaEFuZEZpbHRlclVwZGF0ZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgc2VhcmNoVGV4dDogc3RyaW5nOyBzb3J0Qnk6IHN0cmluZzsgZmlsdGVyQ2F0ZWdvcnk6IHN0cmluZzsgZmlsdGVyQmVuZWZpY2lhcnk6IHN0cmluZzsgZmlsdGVyTG9jYXRpb246IHN0cmluZzsgZmlsdGVyRnVuZGluZzogc3RyaW5nOyB9Pj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlQ2FtcGFpZ25DYXJkRmlsdGVyR3JpZCxcbiAgaW5wdXRzOiBbJ2JlbmVmaWNpYXJ5T3B0aW9ucycsICdidXR0b25UZXh0JywgJ2NhdGVnb3J5T3B0aW9ucycsICdmdW5kaW5nT3B0aW9ucycsICdpbnRybycsICdsb2NhdGlvbk9wdGlvbnMnLCAncGxhY2Vob2xkZXJUZXh0JywgJ3NwYWNlQmVsb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtY2FtcGFpZ24tY2FyZC1maWx0ZXItZ3JpZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYmVuZWZpY2lhcnlPcHRpb25zJywgJ2J1dHRvblRleHQnLCAnY2F0ZWdvcnlPcHRpb25zJywgJ2Z1bmRpbmdPcHRpb25zJywgJ2ludHJvJywgJ2xvY2F0aW9uT3B0aW9ucycsICdwbGFjZWhvbGRlclRleHQnLCAnc3BhY2VCZWxvdyddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVDYW1wYWlnbkNhcmRGaWx0ZXJHcmlkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZG9TZWFyY2hBbmRGaWx0ZXJVcGRhdGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUNhbXBhaWduSGlnaGxpZ2h0cyBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUNhbXBhaWduSGlnaGxpZ2h0cyB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVDYW1wYWlnbkhpZ2hsaWdodHMsXG4gIGlucHV0czogWydiYW5uZXInLCAnY2FtcGFpZ25UaXRsZScsICdjdXJyZW5jeUNvZGUnLCAncHJpbWFyeUZpZ3VyZUFtb3VudCcsICdwcmltYXJ5RmlndXJlTGFiZWwnLCAncHJpbWFyeVN0YXRJY29uJywgJ3ByaW1hcnlTdGF0VGV4dCcsICdwcm9ncmVzc0JhckNvdW50ZXInLCAnc2Vjb25kYXJ5RmlndXJlQW1vdW50JywgJ3NlY29uZGFyeUZpZ3VyZUxhYmVsJywgJ3NlY29uZGFyeVN0YXRJY29uJywgJ3NlY29uZGFyeVN0YXRUZXh0JywgJ3NwYWNlQmVsb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtY2FtcGFpZ24taGlnaGxpZ2h0cycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYmFubmVyJywgJ2NhbXBhaWduVGl0bGUnLCAnY3VycmVuY3lDb2RlJywgJ3ByaW1hcnlGaWd1cmVBbW91bnQnLCAncHJpbWFyeUZpZ3VyZUxhYmVsJywgJ3ByaW1hcnlTdGF0SWNvbicsICdwcmltYXJ5U3RhdFRleHQnLCAncHJvZ3Jlc3NCYXJDb3VudGVyJywgJ3NlY29uZGFyeUZpZ3VyZUFtb3VudCcsICdzZWNvbmRhcnlGaWd1cmVMYWJlbCcsICdzZWNvbmRhcnlTdGF0SWNvbicsICdzZWNvbmRhcnlTdGF0VGV4dCcsICdzcGFjZUJlbG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUNhbXBhaWduSGlnaGxpZ2h0cyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVDYXRlZ29yeUljb24gZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVDYXRlZ29yeUljb24ge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlQ2F0ZWdvcnlJY29uLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdpY29uJywgJ2ljb25Db2xvdXInLCAnbGFiZWwnLCAndXJsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWNhdGVnb3J5LWljb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnaWNvbicsICdpY29uQ29sb3VyJywgJ2xhYmVsJywgJ3VybCddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVDYXRlZ29yeUljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlRm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlRm9vdGVyIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUZvb3RlclxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtZm9vdGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pidcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUZvb3RlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVGb3JtIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlRm9ybSB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVGb3JtXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1mb3JtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pidcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUZvcm0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlRm9ybUZpZWxkU2VsZWN0IGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlRm9ybUZpZWxkU2VsZWN0IHtcbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgYGRvQ2hhbmdlYCBldmVudCBpcyBlbWl0dGVkIGFuZCBwcm9wb2dhdGVzIHRvIHRoZSBwYXJlbnRcbmNvbXBvbmVudCB3aGljaCBoYW5kbGVzIGl0IFxuICAgKi9cbiAgZG9TZWxlY3RDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxvYmplY3Q+PjtcblxufVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVGb3JtRmllbGRTZWxlY3QsXG4gIGlucHV0czogWydwbGFjZWhvbGRlcicsICdzZWxlY3RlZExhYmVsJywgJ3NlbGVjdGVkVmFsdWUnLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1mb3JtLWZpZWxkLXNlbGVjdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsncGxhY2Vob2xkZXInLCAnc2VsZWN0ZWRMYWJlbCcsICdzZWxlY3RlZFZhbHVlJywgJ3NwYWNlQmVsb3cnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlRm9ybUZpZWxkU2VsZWN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZG9TZWxlY3RDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUZvcm1GaWVsZFNlbGVjdE9wdGlvbiBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUZvcm1GaWVsZFNlbGVjdE9wdGlvbiB7XG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGBkb09wdGlvblNlbGVjdGAgZXZlbnQgaXMgZW1pdHRlZCBhbmQgcHJvcG9nYXRlcyB0byB0aGUgcGFyZW50XG5jb21wb25lbnQgd2hpY2ggaGFuZGxlcyBpdCBcbiAgICovXG4gIGRvT3B0aW9uU2VsZWN0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8b2JqZWN0Pj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlRm9ybUZpZWxkU2VsZWN0T3B0aW9uLFxuICBpbnB1dHM6IFsnbGFiZWwnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtZm9ybS1maWVsZC1zZWxlY3Qtb3B0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydsYWJlbCcsICd2YWx1ZSddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVGb3JtRmllbGRTZWxlY3RPcHRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydkb09wdGlvblNlbGVjdCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlRm9ybWF0dGVkVGV4dCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUZvcm1hdHRlZFRleHQge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlRm9ybWF0dGVkVGV4dCxcbiAgaW5wdXRzOiBbJ2RlZmF1bHRUZXh0Q29sb3VyJywgJ3NwYWNlQmVsb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtZm9ybWF0dGVkLXRleHQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2RlZmF1bHRUZXh0Q29sb3VyJywgJ3NwYWNlQmVsb3cnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlRm9ybWF0dGVkVGV4dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVHcmlkIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlR3JpZCB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVHcmlkLFxuICBpbnB1dHM6IFsnY29sdW1uQ291bnQnLCAnY29sdW1uR2FwJywgJ3NwYWNlQmVsb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtZ3JpZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnY29sdW1uQ291bnQnLCAnY29sdW1uR2FwJywgJ3NwYWNlQmVsb3cnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlR3JpZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVIZWFkZXIgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVIZWFkZXIge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlSGVhZGVyLFxuICBpbnB1dHM6IFsnbG9nb1VybCcsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWhlYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnbG9nb1VybCcsICdzcGFjZUJlbG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUhlYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVIZWFkaW5nIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlSGVhZGluZyB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVIZWFkaW5nLFxuICBpbnB1dHM6IFsnYWxpZ24nLCAnY29sb3VyJywgJ2h0bWxFbGVtZW50JywgJ3NpemUnLCAnc3BhY2VBYm92ZScsICdzcGFjZUJlbG93JywgJ3RleHQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtaGVhZGluZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYWxpZ24nLCAnY29sb3VyJywgJ2h0bWxFbGVtZW50JywgJ3NpemUnLCAnc3BhY2VBYm92ZScsICdzcGFjZUJlbG93JywgJ3RleHQnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlSGVhZGluZyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVIZXJvSW1hZ2UgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVIZXJvSW1hZ2Uge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlSGVyb0ltYWdlLFxuICBpbnB1dHM6IFsnYnV0dG9uQ29sb3VyU2NoZW1lJywgJ2J1dHRvbkxhYmVsJywgJ2J1dHRvblVybCcsICdjb2xvdXJTY2hlbWUnLCAnbG9nbycsICdtYWluSW1hZ2UnLCAnbWFpbkltYWdlQWxpZ25Ib3Jpem9udGFsJywgJ21haW5JbWFnZUFsaWduVmVydGljYWwnLCAnbWFpblRpdGxlJywgJ21haW5UaXRsZUNvbG91cicsICdzbHVnJywgJ3NsdWdDb2xvdXInLCAnc3BhY2VCZWxvdycsICd0ZWFzZXInLCAndGVhc2VyQ29sb3VyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWhlcm8taW1hZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2J1dHRvbkNvbG91clNjaGVtZScsICdidXR0b25MYWJlbCcsICdidXR0b25VcmwnLCAnY29sb3VyU2NoZW1lJywgJ2xvZ28nLCAnbWFpbkltYWdlJywgJ21haW5JbWFnZUFsaWduSG9yaXpvbnRhbCcsICdtYWluSW1hZ2VBbGlnblZlcnRpY2FsJywgJ21haW5UaXRsZScsICdtYWluVGl0bGVDb2xvdXInLCAnc2x1ZycsICdzbHVnQ29sb3VyJywgJ3NwYWNlQmVsb3cnLCAndGVhc2VyJywgJ3RlYXNlckNvbG91ciddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVIZXJvSW1hZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlSWNvbkdyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlSWNvbkdyb3VwIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUljb25Hcm91cCxcbiAgaW5wdXRzOiBbJ2xhYmVsJywgJ3NwYWNlQmVsb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtaWNvbi1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnbGFiZWwnLCAnc3BhY2VCZWxvdyddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVJY29uR3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlSW1hZ2UgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVJbWFnZSB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVJbWFnZSxcbiAgaW5wdXRzOiBbJ2hlaWdodCcsICdpbWFnZVVybCcsICdzaXplVW5pdCcsICdzcGFjZUFib3ZlJywgJ3NwYWNlQmVsb3cnLCAnd2lkdGgnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtaW1hZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2hlaWdodCcsICdpbWFnZVVybCcsICdzaXplVW5pdCcsICdzcGFjZUFib3ZlJywgJ3NwYWNlQmVsb3cnLCAnd2lkdGgnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlSW1hZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlSW1hZ2VGZWF0dXJlIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlSW1hZ2VGZWF0dXJlIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUltYWdlRmVhdHVyZSxcbiAgaW5wdXRzOiBbJ2J1dHRvbkNvbG91clNjaGVtZScsICdidXR0b25MYWJlbCcsICdidXR0b25VcmwnLCAnZGVmYXVsdFRleHRDb2xvdXInLCAnaW1hZ2VVcmwnLCAnbWFpblRpdGxlJywgJ21haW5UaXRsZUNvbG91cicsICdzbHVnJywgJ3NsdWdDb2xvdXInLCAnc3BhY2VCZWxvdycsICd0ZWFzZXInLCAndGVhc2VyQ29sb3VyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWltYWdlLWZlYXR1cmUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2J1dHRvbkNvbG91clNjaGVtZScsICdidXR0b25MYWJlbCcsICdidXR0b25VcmwnLCAnZGVmYXVsdFRleHRDb2xvdXInLCAnaW1hZ2VVcmwnLCAnbWFpblRpdGxlJywgJ21haW5UaXRsZUNvbG91cicsICdzbHVnJywgJ3NsdWdDb2xvdXInLCAnc3BhY2VCZWxvdycsICd0ZWFzZXInLCAndGVhc2VyQ29sb3VyJ11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUltYWdlRmVhdHVyZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVNaXNjSWNvbiBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZU1pc2NJY29uIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZU1pc2NJY29uLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdpY29uJywgJ2ljb25Db2xvdXInLCAndXJsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLW1pc2MtaWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdpY29uJywgJ2ljb25Db2xvdXInLCAndXJsJ11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZU1pc2NJY29uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZU5hdkdyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlTmF2R3JvdXAge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlTmF2R3JvdXAsXG4gIGlucHV0czogWydpbmxpbmUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtbmF2LWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydpbmxpbmUnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlTmF2R3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlTmF2SXRlbSBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZU5hdkl0ZW0ge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlTmF2SXRlbSxcbiAgaW5wdXRzOiBbJ2ljb25Db2xvdXInLCAnbGFiZWwnLCAndXJsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLW5hdi1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydpY29uQ29sb3VyJywgJ2xhYmVsJywgJ3VybCddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVOYXZJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVBhZ2VDb2x1bW4gZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVQYWdlQ29sdW1uIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVBhZ2VDb2x1bW5cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXBhZ2UtY29sdW1uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pidcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVBhZ2VDb2x1bW4ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlUGFnZUNvbHVtbnMgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVQYWdlQ29sdW1ucyB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVQYWdlQ29sdW1ucyxcbiAgaW5wdXRzOiBbJ3NwYWNlQmVsb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtcGFnZS1jb2x1bW5zJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydzcGFjZUJlbG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVBhZ2VDb2x1bW5zIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVBhZ2VTZWN0aW9uIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlUGFnZVNlY3Rpb24ge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlUGFnZVNlY3Rpb24sXG4gIGlucHV0czogWydjb2xvdXJTY2hlbWUnLCAnc2VjdGlvblN0eWxlQm90dG9tJywgJ3NlY3Rpb25TdHlsZVRvcCcsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXBhZ2Utc2VjdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnY29sb3VyU2NoZW1lJywgJ3NlY3Rpb25TdHlsZUJvdHRvbScsICdzZWN0aW9uU3R5bGVUb3AnLCAnc3BhY2VCZWxvdyddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVQYWdlU2VjdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVQb3B1cCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVBvcHVwIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVBvcHVwLFxuICBtZXRob2RzOiBbJ29wZW4nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtcG9wdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+J1xufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlUG9wdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlUHJvZ3Jlc3NCYXIgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVQcm9ncmVzc0JhciB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVQcm9ncmVzc0JhcixcbiAgaW5wdXRzOiBbJ2NvbG91clNjaGVtZScsICdjb3VudGVyJywgJ3NwYWNlQmVsb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtcHJvZ3Jlc3MtYmFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydjb2xvdXJTY2hlbWUnLCAnY291bnRlcicsICdzcGFjZUJlbG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVByb2dyZXNzQmFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVF1b3RlIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlUXVvdGUge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlUXVvdGUsXG4gIGlucHV0czogWydhdHRyaWJ1dGlvbicsICdkZWZhdWx0VGV4dENvbG91cicsICdxdW90ZScsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXF1b3RlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydhdHRyaWJ1dGlvbicsICdkZWZhdWx0VGV4dENvbG91cicsICdxdW90ZScsICdzcGFjZUJlbG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVF1b3RlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVNlYXJjaCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVNlYXJjaCB7XG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGBkb1NlYXJjaGAgZXZlbnQgaXMgZW1pdHRlZCBhbmQgcHJvcG9nYXRlcyB0byB0aGUgcGFyZW50XG5jb21wb25lbnQgd2hpY2ggaGFuZGxlcyBpdCBcbiAgICovXG4gIGRvU2VhcmNoOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlU2VhcmNoLFxuICBpbnB1dHM6IFsnYnV0dG9uVGV4dCcsICdwbGFjZWhvbGRlclRleHQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtc2VhcmNoJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydidXR0b25UZXh0JywgJ3BsYWNlaG9sZGVyVGV4dCddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVTZWFyY2gge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydkb1NlYXJjaCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlU29jaWFsSWNvbiBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVNvY2lhbEljb24ge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlU29jaWFsSWNvbixcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnaWNvbkNvbG91cicsICdzZXJ2aWNlJywgJ3VybCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1zb2NpYWwtaWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdpY29uQ29sb3VyJywgJ3NlcnZpY2UnLCAndXJsJ11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVNvY2lhbEljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlVGFiIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlVGFiIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVRhYixcbiAgaW5wdXRzOiBbJ3RhYlRpdGxlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXRhYicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsndGFiVGl0bGUnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlVGFiIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVRhYmJlZENvbnRlbnQgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVUYWJiZWRDb250ZW50IHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVRhYmJlZENvbnRlbnQsXG4gIGlucHV0czogWydkZWZhdWx0VGV4dENvbG91cicsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXRhYmJlZC1jb250ZW50JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydkZWZhdWx0VGV4dENvbG91cicsICdzcGFjZUJlbG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVRhYmJlZENvbnRlbnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlVGV4dElucHV0IGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlVGV4dElucHV0IHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVRleHRJbnB1dFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtdGV4dC1pbnB1dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVUZXh0SW5wdXQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlVG90YWxpemVyIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlVG90YWxpemVyIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVRvdGFsaXplcixcbiAgaW5wdXRzOiBbJ21haW5NZXNzYWdlJywgJ3ByaW1hcnlDb2xvdXInLCAncHJpbWFyeVRleHRDb2xvdXInLCAnc2Vjb25kYXJ5Q29sb3VyJywgJ3NlY29uZGFyeVRleHRDb2xvdXInLCAnc3BhY2VCZWxvdycsICd0aWNrZXJJdGVtcyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS10b3RhbGl6ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ21haW5NZXNzYWdlJywgJ3ByaW1hcnlDb2xvdXInLCAncHJpbWFyeVRleHRDb2xvdXInLCAnc2Vjb25kYXJ5Q29sb3VyJywgJ3NlY29uZGFyeVRleHRDb2xvdXInLCAnc3BhY2VCZWxvdycsICd0aWNrZXJJdGVtcyddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVUb3RhbGl6ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlVG90YWxpemVyVGlja2VySXRlbSBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVRvdGFsaXplclRpY2tlckl0ZW0ge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlVG90YWxpemVyVGlja2VySXRlbSxcbiAgaW5wdXRzOiBbJ2ZpZ3VyZScsICdsYWJlbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS10b3RhbGl6ZXItdGlja2VyLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2ZpZ3VyZScsICdsYWJlbCddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVUb3RhbGl6ZXJUaWNrZXJJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVZpZGVvIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlVmlkZW8ge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlVmlkZW8sXG4gIGlucHV0czogWydzcGFjZUFib3ZlJywgJ3NwYWNlQmVsb3cnLCAndmlkZW9VcmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtdmlkZW8nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ3NwYWNlQWJvdmUnLCAnc3BhY2VCZWxvdycsICd2aWRlb1VybCddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVWaWRlbyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVWaWRlb0ZlYXR1cmUgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVWaWRlb0ZlYXR1cmUge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlVmlkZW9GZWF0dXJlLFxuICBpbnB1dHM6IFsnYnV0dG9uQ29sb3VyU2NoZW1lJywgJ2J1dHRvbkxhYmVsJywgJ2J1dHRvblVybCcsICdkZWZhdWx0VGV4dENvbG91cicsICdtYWluVGl0bGUnLCAnbWFpblRpdGxlQ29sb3VyJywgJ3NsdWcnLCAnc2x1Z0NvbG91cicsICdzcGFjZUFib3ZlJywgJ3NwYWNlQmVsb3cnLCAndGVhc2VyJywgJ3RlYXNlckNvbG91cicsICd2aWRlb1VybCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS12aWRlby1mZWF0dXJlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydidXR0b25Db2xvdXJTY2hlbWUnLCAnYnV0dG9uTGFiZWwnLCAnYnV0dG9uVXJsJywgJ2RlZmF1bHRUZXh0Q29sb3VyJywgJ21haW5UaXRsZScsICdtYWluVGl0bGVDb2xvdXInLCAnc2x1ZycsICdzbHVnQ29sb3VyJywgJ3NwYWNlQWJvdmUnLCAnc3BhY2VCZWxvdycsICd0ZWFzZXInLCAndGVhc2VyQ29sb3VyJywgJ3ZpZGVvVXJsJ11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVZpZGVvRmVhdHVyZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG4iXX0=
1092
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zdGVuY2lsLWdlbmVyYXRlZC9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBSXZFLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx3QkFBd0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzlILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxzQkFBc0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQzNILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxzQkFBc0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQzFILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSw0QkFBNEIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQ3RJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxtQkFBbUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ25ILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ2pJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxtQ0FBbUMsRUFBRSxNQUFNLDBFQUEwRSxDQUFDO0FBQ3RKLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSwrQkFB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QixDQU0vQjtTQU5ZLG1CQUFtQjs0RkFBbkIsbUJBQW1CO2tCQU4vQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxNQUFNLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxVQUFVLENBQUM7aUJBQ3hNIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGUgKi9cbi8qIGF1dG8tZ2VuZXJhdGVkIGFuZ3VsYXIgZGlyZWN0aXZlIHByb3hpZXMgKi9cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJveHlDbXAsIHByb3h5T3V0cHV0cyB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcblxuaW1wb3J0IHR5cGUgeyBDb21wb25lbnRzIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVBcnRpY2xlQ2FyZCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtYXJ0aWNsZS1jYXJkLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUJhY2tUb1RvcCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtYmFjay10by10b3AuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlQmFzaWNDYXJkIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1iYXNpYy1jYXJkLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUJlbmVmaWNpYXJ5SWNvbiB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtYmVuZWZpY2lhcnktaWNvbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVCb3hlZENvbnRlbnQgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWJveGVkLWNvbnRlbnQuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlQnJhbmRlZEltYWdlIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1icmFuZGVkLWltYWdlLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUJ1dHRvbiB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtYnV0dG9uLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUNhbGxUb0FjdGlvbiB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtY2FsbC10by1hY3Rpb24uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlQ2FtcGFpZ25DYXJkIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1jYW1wYWlnbi1jYXJkLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUNhbXBhaWduQ2FyZEZpbHRlckdyaWQgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWNhbXBhaWduLWNhcmQtZmlsdGVyLWdyaWQuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlQ2FtcGFpZ25IaWdobGlnaHRzIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1jYW1wYWlnbi1oaWdobGlnaHRzLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUNhdGVnb3J5SWNvbiB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtY2F0ZWdvcnktaWNvbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVGb290ZXIgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWZvb3Rlci5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVGb3JtIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1mb3JtLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUZvcm1GaWVsZFNlbGVjdCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtZm9ybS1maWVsZC1zZWxlY3QuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlRm9ybUZpZWxkU2VsZWN0T3B0aW9uIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1mb3JtLWZpZWxkLXNlbGVjdC1vcHRpb24uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlRm9ybWF0dGVkVGV4dCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtZm9ybWF0dGVkLXRleHQuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlR3JpZCB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtZ3JpZC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVIZWFkZXIgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWhlYWRlci5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVIZWFkaW5nIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1oZWFkaW5nLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUhlcm9JbWFnZSB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtaGVyby1pbWFnZS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVJY29uR3JvdXAgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWljb24tZ3JvdXAuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlSW1hZ2UgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLWltYWdlLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZUltYWdlRmVhdHVyZSB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtaW1hZ2UtZmVhdHVyZS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVNaXNjSWNvbiB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtbWlzYy1pY29uLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZU5hdkdyb3VwIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1uYXYtZ3JvdXAuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlTmF2SXRlbSB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtbmF2LWl0ZW0uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlUGFnZUNvbHVtbiB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtcGFnZS1jb2x1bW4uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlUGFnZUNvbHVtbnMgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLXBhZ2UtY29sdW1ucy5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVQYWdlU2VjdGlvbiB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtcGFnZS1zZWN0aW9uLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZVBvcHVwIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1wb3B1cC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVQcm9ncmVzc0JhciB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtcHJvZ3Jlc3MtYmFyLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZVF1b3RlIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1xdW90ZS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVTZWFyY2ggfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLXNlYXJjaC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVTb2NpYWxJY29uIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS1zb2NpYWwtaWNvbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVUYWIgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLXRhYi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVUYWJiZWRDb250ZW50IH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS10YWJiZWQtY29udGVudC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVUZXh0SW5wdXQgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLXRleHQtaW5wdXQuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlVG90YWxpemVyIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS10b3RhbGl6ZXIuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCaWdnaXZlVG90YWxpemVyVGlja2VySXRlbSB9IGZyb20gJ0BiaWdnaXZlL2NvbXBvbmVudHMvZGlzdC9jb21wb25lbnRzL2JpZ2dpdmUtdG90YWxpemVyLXRpY2tlci1pdGVtLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmlnZ2l2ZVZpZGVvIH0gZnJvbSAnQGJpZ2dpdmUvY29tcG9uZW50cy9kaXN0L2NvbXBvbmVudHMvYmlnZ2l2ZS12aWRlby5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJpZ2dpdmVWaWRlb0ZlYXR1cmUgfSBmcm9tICdAYmlnZ2l2ZS9jb21wb25lbnRzL2Rpc3QvY29tcG9uZW50cy9iaWdnaXZlLXZpZGVvLWZlYXR1cmUuanMnO1xuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQXJ0aWNsZUNhcmQgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVBcnRpY2xlQ2FyZCB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVBcnRpY2xlQ2FyZCxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnYmFja2dyb3VuZENvbG91ckhvdmVyJywgJ2J1dHRvbkxhYmVsJywgJ2J1dHRvblVybCcsICdkYXRlJywgJ2ltYWdlTGFiZWwnLCAnaW1hZ2VVcmwnLCAnbWFpblRpdGxlJywgJ3NsdWcnLCAnc3BhY2VCZWxvdycsICd0ZXh0Q29sb3VyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWFydGljbGUtY2FyZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdiYWNrZ3JvdW5kQ29sb3VySG92ZXInLCAnYnV0dG9uTGFiZWwnLCAnYnV0dG9uVXJsJywgJ2RhdGUnLCAnaW1hZ2VMYWJlbCcsICdpbWFnZVVybCcsICdtYWluVGl0bGUnLCAnc2x1ZycsICdzcGFjZUJlbG93JywgJ3RleHRDb2xvdXInXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQXJ0aWNsZUNhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQmFja1RvVG9wIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlQmFja1RvVG9wIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUJhY2tUb1RvcFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtYmFjay10by10b3AnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+J1xufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQmFja1RvVG9wIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUJhc2ljQ2FyZCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUJhc2ljQ2FyZCB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVCYXNpY0NhcmQsXG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3VyJywgJ2JhY2tncm91bmRJbWFnZVVybCcsICdidXR0b25Db2xvdXJTY2hlbWUnLCAnYnV0dG9uTGFiZWwnLCAnYnV0dG9uVXJsJywgJ2NhcmRDb2xvdXInLCAnaWNvbkNvbG91cicsICdtYWluVGl0bGUnLCAnc3BhY2VCZWxvdycsICdzdWJ0aXRsZScsICd0ZXh0Q29sb3VyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWJhc2ljLWNhcmQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnYmFja2dyb3VuZEltYWdlVXJsJywgJ2J1dHRvbkNvbG91clNjaGVtZScsICdidXR0b25MYWJlbCcsICdidXR0b25VcmwnLCAnY2FyZENvbG91cicsICdpY29uQ29sb3VyJywgJ21haW5UaXRsZScsICdzcGFjZUJlbG93JywgJ3N1YnRpdGxlJywgJ3RleHRDb2xvdXInXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQmFzaWNDYXJkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUJlbmVmaWNpYXJ5SWNvbiBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUJlbmVmaWNpYXJ5SWNvbiB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVCZW5lZmljaWFyeUljb24sXG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3VyJywgJ2ljb24nLCAnaWNvbkNvbG91cicsICdsYWJlbCcsICd1cmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtYmVuZWZpY2lhcnktaWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdpY29uJywgJ2ljb25Db2xvdXInLCAnbGFiZWwnLCAndXJsJ11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUJlbmVmaWNpYXJ5SWNvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVCb3hlZENvbnRlbnQgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVCb3hlZENvbnRlbnQge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlQm94ZWRDb250ZW50LFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdob3Jpem9udGFsUGFkZGluZycsICdzaGFkb3cnLCAnc3BhY2VCZWxvdycsICd2ZXJ0aWNhbFBhZGRpbmcnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtYm94ZWQtY29udGVudCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZENvbG91cicsICdob3Jpem9udGFsUGFkZGluZycsICdzaGFkb3cnLCAnc3BhY2VCZWxvdycsICd2ZXJ0aWNhbFBhZGRpbmcnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQm94ZWRDb250ZW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUJyYW5kZWRJbWFnZSBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUJyYW5kZWRJbWFnZSB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVCcmFuZGVkSW1hZ2UsXG4gIGlucHV0czogWydpbWFnZVVybCcsICdsb2dvVXJsJywgJ3NsdWcnLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1icmFuZGVkLWltYWdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydpbWFnZVVybCcsICdsb2dvVXJsJywgJ3NsdWcnLCAnc3BhY2VCZWxvdyddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVCcmFuZGVkSW1hZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlQnV0dG9uIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUJ1dHRvbixcbiAgaW5wdXRzOiBbJ2NvbG91clNjaGVtZScsICdmdWxsV2lkdGgnLCAnbGFiZWwnLCAncm91bmRlZCcsICdzaXplJywgJ3NwYWNlQmVsb3cnLCAndXJsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnY29sb3VyU2NoZW1lJywgJ2Z1bGxXaWR0aCcsICdsYWJlbCcsICdyb3VuZGVkJywgJ3NpemUnLCAnc3BhY2VCZWxvdycsICd1cmwnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUNhbGxUb0FjdGlvbiBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUNhbGxUb0FjdGlvbiB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVDYWxsVG9BY3Rpb24sXG4gIGlucHV0czogWydkZWZhdWx0VGV4dENvbG91cicsICdtYWluVGl0bGUnLCAnbWFpblRpdGxlQ29sb3VyJywgJ21haW5UaXRsZVNpemUnLCAncHJpbWFyeUJ1dHRvbkNvbG91clNjaGVtZScsICdwcmltYXJ5QnV0dG9uTGFiZWwnLCAncHJpbWFyeUJ1dHRvblVybCcsICdzZWNvbmRhcnlCdXR0b25Db2xvdXJTY2hlbWUnLCAnc2Vjb25kYXJ5QnV0dG9uTGFiZWwnLCAnc2Vjb25kYXJ5QnV0dG9uVXJsJywgJ3NsdWcnLCAnc2x1Z0NvbG91cicsICdzbHVnU2l6ZScsICdzcGFjZUFib3ZlJywgJ3NwYWNlQmVsb3cnLCAnc3VidGl0bGUnLCAnc3VidGl0bGVDb2xvdXInLCAnc3VidGl0bGVTaXplJywgJ3RlYXNlcicsICd0ZWFzZXJDb2xvdXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtY2FsbC10by1hY3Rpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2RlZmF1bHRUZXh0Q29sb3VyJywgJ21haW5UaXRsZScsICdtYWluVGl0bGVDb2xvdXInLCAnbWFpblRpdGxlU2l6ZScsICdwcmltYXJ5QnV0dG9uQ29sb3VyU2NoZW1lJywgJ3ByaW1hcnlCdXR0b25MYWJlbCcsICdwcmltYXJ5QnV0dG9uVXJsJywgJ3NlY29uZGFyeUJ1dHRvbkNvbG91clNjaGVtZScsICdzZWNvbmRhcnlCdXR0b25MYWJlbCcsICdzZWNvbmRhcnlCdXR0b25VcmwnLCAnc2x1ZycsICdzbHVnQ29sb3VyJywgJ3NsdWdTaXplJywgJ3NwYWNlQWJvdmUnLCAnc3BhY2VCZWxvdycsICdzdWJ0aXRsZScsICdzdWJ0aXRsZUNvbG91cicsICdzdWJ0aXRsZVNpemUnLCAndGVhc2VyJywgJ3RlYXNlckNvbG91ciddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVDYWxsVG9BY3Rpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQ2FtcGFpZ25DYXJkIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlQ2FtcGFpZ25DYXJkIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUNhbXBhaWduQ2FyZCxcbiAgaW5wdXRzOiBbJ2Jhbm5lcicsICdjYW1wYWlnblRpdGxlJywgJ2NhbXBhaWduVHlwZScsICdkb25hdGVCdXR0b25Db2xvdXJTY2hlbWUnLCAnZG9uYXRlQnV0dG9uTGFiZWwnLCAnZG9uYXRlQnV0dG9uVXJsJywgJ21vcmVJbmZvQnV0dG9uQ29sb3VyU2NoZW1lJywgJ21vcmVJbmZvQnV0dG9uTGFiZWwnLCAnbW9yZUluZm9CdXR0b25VcmwnLCAnb3JnYW5pc2F0aW9uTmFtZScsICdwcmltYXJ5RmlndXJlQW1vdW50JywgJ3ByaW1hcnlGaWd1cmVMYWJlbCcsICdwcm9ncmVzc0JhckNvdW50ZXInLCAnc2Vjb25kYXJ5RmlndXJlQW1vdW50JywgJ3NlY29uZGFyeUZpZ3VyZUxhYmVsJywgJ3NwYWNlQmVsb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtY2FtcGFpZ24tY2FyZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYmFubmVyJywgJ2NhbXBhaWduVGl0bGUnLCAnY2FtcGFpZ25UeXBlJywgJ2RvbmF0ZUJ1dHRvbkNvbG91clNjaGVtZScsICdkb25hdGVCdXR0b25MYWJlbCcsICdkb25hdGVCdXR0b25VcmwnLCAnbW9yZUluZm9CdXR0b25Db2xvdXJTY2hlbWUnLCAnbW9yZUluZm9CdXR0b25MYWJlbCcsICdtb3JlSW5mb0J1dHRvblVybCcsICdvcmdhbmlzYXRpb25OYW1lJywgJ3ByaW1hcnlGaWd1cmVBbW91bnQnLCAncHJpbWFyeUZpZ3VyZUxhYmVsJywgJ3Byb2dyZXNzQmFyQ291bnRlcicsICdzZWNvbmRhcnlGaWd1cmVBbW91bnQnLCAnc2Vjb25kYXJ5RmlndXJlTGFiZWwnLCAnc3BhY2VCZWxvdyddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVDYW1wYWlnbkNhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQ2FtcGFpZ25DYXJkRmlsdGVyR3JpZCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUNhbXBhaWduQ2FyZEZpbHRlckdyaWQge1xuICAvKipcbiAgICogVGhpcyBldmVudCBgZG9TZWFyY2hBbmRGaWx0ZXJVcGRhdGVgIGV2ZW50IGlzIGVtaXR0ZWQgYW5kIHByb3BvZ2F0ZXMgdG8gdGhlIHBhcmVudFxuY29tcG9uZW50IHdoaWNoIGhhbmRsZXMgaXQgXG4gICAqL1xuICBkb1NlYXJjaEFuZEZpbHRlclVwZGF0ZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgc2VhcmNoVGV4dDogc3RyaW5nOyBzb3J0Qnk6IHN0cmluZzsgZmlsdGVyQ2F0ZWdvcnk6IHN0cmluZzsgZmlsdGVyQmVuZWZpY2lhcnk6IHN0cmluZzsgZmlsdGVyTG9jYXRpb246IHN0cmluZzsgZmlsdGVyRnVuZGluZzogc3RyaW5nOyB9Pj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlQ2FtcGFpZ25DYXJkRmlsdGVyR3JpZCxcbiAgaW5wdXRzOiBbJ2JlbmVmaWNpYXJ5T3B0aW9ucycsICdidXR0b25UZXh0JywgJ2NhdGVnb3J5T3B0aW9ucycsICdmdW5kaW5nT3B0aW9ucycsICdpbnRybycsICdsb2NhdGlvbk9wdGlvbnMnLCAncGxhY2Vob2xkZXJUZXh0JywgJ3NwYWNlQmVsb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtY2FtcGFpZ24tY2FyZC1maWx0ZXItZ3JpZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYmVuZWZpY2lhcnlPcHRpb25zJywgJ2J1dHRvblRleHQnLCAnY2F0ZWdvcnlPcHRpb25zJywgJ2Z1bmRpbmdPcHRpb25zJywgJ2ludHJvJywgJ2xvY2F0aW9uT3B0aW9ucycsICdwbGFjZWhvbGRlclRleHQnLCAnc3BhY2VCZWxvdyddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVDYW1wYWlnbkNhcmRGaWx0ZXJHcmlkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZG9TZWFyY2hBbmRGaWx0ZXJVcGRhdGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUNhbXBhaWduSGlnaGxpZ2h0cyBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUNhbXBhaWduSGlnaGxpZ2h0cyB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVDYW1wYWlnbkhpZ2hsaWdodHMsXG4gIGlucHV0czogWydiYW5uZXInLCAnY2FtcGFpZ25UaXRsZScsICdwcmltYXJ5RmlndXJlQW1vdW50JywgJ3ByaW1hcnlGaWd1cmVMYWJlbCcsICdwcmltYXJ5U3RhdEljb24nLCAncHJpbWFyeVN0YXRUZXh0JywgJ3Byb2dyZXNzQmFyQ291bnRlcicsICdzZWNvbmRhcnlGaWd1cmVBbW91bnQnLCAnc2Vjb25kYXJ5RmlndXJlTGFiZWwnLCAnc2Vjb25kYXJ5U3RhdEljb24nLCAnc2Vjb25kYXJ5U3RhdFRleHQnLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1jYW1wYWlnbi1oaWdobGlnaHRzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydiYW5uZXInLCAnY2FtcGFpZ25UaXRsZScsICdwcmltYXJ5RmlndXJlQW1vdW50JywgJ3ByaW1hcnlGaWd1cmVMYWJlbCcsICdwcmltYXJ5U3RhdEljb24nLCAncHJpbWFyeVN0YXRUZXh0JywgJ3Byb2dyZXNzQmFyQ291bnRlcicsICdzZWNvbmRhcnlGaWd1cmVBbW91bnQnLCAnc2Vjb25kYXJ5RmlndXJlTGFiZWwnLCAnc2Vjb25kYXJ5U3RhdEljb24nLCAnc2Vjb25kYXJ5U3RhdFRleHQnLCAnc3BhY2VCZWxvdyddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVDYW1wYWlnbkhpZ2hsaWdodHMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlQ2F0ZWdvcnlJY29uIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlQ2F0ZWdvcnlJY29uIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUNhdGVnb3J5SWNvbixcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnaWNvbicsICdpY29uQ29sb3VyJywgJ2xhYmVsJywgJ3VybCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1jYXRlZ29yeS1pY29uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3VyJywgJ2ljb24nLCAnaWNvbkNvbG91cicsICdsYWJlbCcsICd1cmwnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlQ2F0ZWdvcnlJY29uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUZvb3RlciBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUZvb3RlciB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVGb290ZXJcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWZvb3RlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVGb290ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlRm9ybSBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUZvcm0ge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlRm9ybVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtZm9ybScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVGb3JtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUZvcm1GaWVsZFNlbGVjdCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUZvcm1GaWVsZFNlbGVjdCB7XG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGBkb0NoYW5nZWAgZXZlbnQgaXMgZW1pdHRlZCBhbmQgcHJvcG9nYXRlcyB0byB0aGUgcGFyZW50XG5jb21wb25lbnQgd2hpY2ggaGFuZGxlcyBpdCBcbiAgICovXG4gIGRvU2VsZWN0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8b2JqZWN0Pj47XG5cbn1cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlRm9ybUZpZWxkU2VsZWN0LFxuICBpbnB1dHM6IFsncGxhY2Vob2xkZXInLCAnc2VsZWN0ZWRMYWJlbCcsICdzZWxlY3RlZFZhbHVlJywgJ3NwYWNlQmVsb3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtZm9ybS1maWVsZC1zZWxlY3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ3BsYWNlaG9sZGVyJywgJ3NlbGVjdGVkTGFiZWwnLCAnc2VsZWN0ZWRWYWx1ZScsICdzcGFjZUJlbG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUZvcm1GaWVsZFNlbGVjdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2RvU2VsZWN0Q2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVGb3JtRmllbGRTZWxlY3RPcHRpb24gZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVGb3JtRmllbGRTZWxlY3RPcHRpb24ge1xuICAvKipcbiAgICogVGhpcyBldmVudCBgZG9PcHRpb25TZWxlY3RgIGV2ZW50IGlzIGVtaXR0ZWQgYW5kIHByb3BvZ2F0ZXMgdG8gdGhlIHBhcmVudFxuY29tcG9uZW50IHdoaWNoIGhhbmRsZXMgaXQgXG4gICAqL1xuICBkb09wdGlvblNlbGVjdDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PG9iamVjdD4+O1xuXG59XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUZvcm1GaWVsZFNlbGVjdE9wdGlvbixcbiAgaW5wdXRzOiBbJ2xhYmVsJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWZvcm0tZmllbGQtc2VsZWN0LW9wdGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnbGFiZWwnLCAndmFsdWUnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlRm9ybUZpZWxkU2VsZWN0T3B0aW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZG9PcHRpb25TZWxlY3QnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUZvcm1hdHRlZFRleHQgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVGb3JtYXR0ZWRUZXh0IHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUZvcm1hdHRlZFRleHQsXG4gIGlucHV0czogWydkZWZhdWx0VGV4dENvbG91cicsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWZvcm1hdHRlZC10ZXh0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydkZWZhdWx0VGV4dENvbG91cicsICdzcGFjZUJlbG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUZvcm1hdHRlZFRleHQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlR3JpZCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUdyaWQge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlR3JpZCxcbiAgaW5wdXRzOiBbJ2NvbHVtbkNvdW50JywgJ2NvbHVtbkdhcCcsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWdyaWQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2NvbHVtbkNvdW50JywgJ2NvbHVtbkdhcCcsICdzcGFjZUJlbG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUdyaWQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlSGVhZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlSGVhZGVyIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUhlYWRlcixcbiAgaW5wdXRzOiBbJ2xvZ29VcmwnLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1oZWFkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2xvZ29VcmwnLCAnc3BhY2VCZWxvdyddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVIZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlSGVhZGluZyBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUhlYWRpbmcge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlSGVhZGluZyxcbiAgaW5wdXRzOiBbJ2FsaWduJywgJ2NvbG91cicsICdodG1sRWxlbWVudCcsICdzaXplJywgJ3NwYWNlQWJvdmUnLCAnc3BhY2VCZWxvdycsICd0ZXh0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWhlYWRpbmcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2FsaWduJywgJ2NvbG91cicsICdodG1sRWxlbWVudCcsICdzaXplJywgJ3NwYWNlQWJvdmUnLCAnc3BhY2VCZWxvdycsICd0ZXh0J11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUhlYWRpbmcge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlSGVyb0ltYWdlIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlSGVyb0ltYWdlIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZUhlcm9JbWFnZSxcbiAgaW5wdXRzOiBbJ2J1dHRvbkNvbG91clNjaGVtZScsICdidXR0b25MYWJlbCcsICdidXR0b25VcmwnLCAnY29sb3VyU2NoZW1lJywgJ2xvZ28nLCAnbWFpbkltYWdlJywgJ21haW5JbWFnZUFsaWduSG9yaXpvbnRhbCcsICdtYWluSW1hZ2VBbGlnblZlcnRpY2FsJywgJ21haW5UaXRsZScsICdtYWluVGl0bGVDb2xvdXInLCAnc2x1ZycsICdzbHVnQ29sb3VyJywgJ3NwYWNlQmVsb3cnLCAndGVhc2VyJywgJ3RlYXNlckNvbG91ciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1oZXJvLWltYWdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydidXR0b25Db2xvdXJTY2hlbWUnLCAnYnV0dG9uTGFiZWwnLCAnYnV0dG9uVXJsJywgJ2NvbG91clNjaGVtZScsICdsb2dvJywgJ21haW5JbWFnZScsICdtYWluSW1hZ2VBbGlnbkhvcml6b250YWwnLCAnbWFpbkltYWdlQWxpZ25WZXJ0aWNhbCcsICdtYWluVGl0bGUnLCAnbWFpblRpdGxlQ29sb3VyJywgJ3NsdWcnLCAnc2x1Z0NvbG91cicsICdzcGFjZUJlbG93JywgJ3RlYXNlcicsICd0ZWFzZXJDb2xvdXInXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlSGVyb0ltYWdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUljb25Hcm91cCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUljb25Hcm91cCB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVJY29uR3JvdXAsXG4gIGlucHV0czogWydsYWJlbCcsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWljb24tZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2xhYmVsJywgJ3NwYWNlQmVsb3cnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlSWNvbkdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUltYWdlIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlSW1hZ2Uge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlSW1hZ2UsXG4gIGlucHV0czogWydoZWlnaHQnLCAnaW1hZ2VVcmwnLCAnc2l6ZVVuaXQnLCAnc3BhY2VBYm92ZScsICdzcGFjZUJlbG93JywgJ3dpZHRoJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLWltYWdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydoZWlnaHQnLCAnaW1hZ2VVcmwnLCAnc2l6ZVVuaXQnLCAnc3BhY2VBYm92ZScsICdzcGFjZUJlbG93JywgJ3dpZHRoJ11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZUltYWdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZUltYWdlRmVhdHVyZSBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZUltYWdlRmVhdHVyZSB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVJbWFnZUZlYXR1cmUsXG4gIGlucHV0czogWydidXR0b25Db2xvdXJTY2hlbWUnLCAnYnV0dG9uTGFiZWwnLCAnYnV0dG9uVXJsJywgJ2RlZmF1bHRUZXh0Q29sb3VyJywgJ2ltYWdlVXJsJywgJ21haW5UaXRsZScsICdtYWluVGl0bGVDb2xvdXInLCAnc2x1ZycsICdzbHVnQ29sb3VyJywgJ3NwYWNlQmVsb3cnLCAndGVhc2VyJywgJ3RlYXNlckNvbG91ciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1pbWFnZS1mZWF0dXJlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydidXR0b25Db2xvdXJTY2hlbWUnLCAnYnV0dG9uTGFiZWwnLCAnYnV0dG9uVXJsJywgJ2RlZmF1bHRUZXh0Q29sb3VyJywgJ2ltYWdlVXJsJywgJ21haW5UaXRsZScsICdtYWluVGl0bGVDb2xvdXInLCAnc2x1ZycsICdzbHVnQ29sb3VyJywgJ3NwYWNlQmVsb3cnLCAndGVhc2VyJywgJ3RlYXNlckNvbG91ciddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVJbWFnZUZlYXR1cmUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlTWlzY0ljb24gZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVNaXNjSWNvbiB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVNaXNjSWNvbixcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnaWNvbicsICdpY29uQ29sb3VyJywgJ3VybCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1taXNjLWljb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnaWNvbicsICdpY29uQ29sb3VyJywgJ3VybCddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVNaXNjSWNvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVOYXZHcm91cCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZU5hdkdyb3VwIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZU5hdkdyb3VwLFxuICBpbnB1dHM6IFsnaW5saW5lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLW5hdi1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnaW5saW5lJ11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZU5hdkdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZU5hdkl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVOYXZJdGVtIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZU5hdkl0ZW0sXG4gIGlucHV0czogWydpY29uQ29sb3VyJywgJ2xhYmVsJywgJ3VybCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1uYXYtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnaWNvbkNvbG91cicsICdsYWJlbCcsICd1cmwnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlTmF2SXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVQYWdlQ29sdW1uIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlUGFnZUNvbHVtbiB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVQYWdlQ29sdW1uXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1wYWdlLWNvbHVtbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVQYWdlQ29sdW1uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVBhZ2VDb2x1bW5zIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlUGFnZUNvbHVtbnMge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlUGFnZUNvbHVtbnMsXG4gIGlucHV0czogWydzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXBhZ2UtY29sdW1ucycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnc3BhY2VCZWxvdyddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVQYWdlQ29sdW1ucyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVQYWdlU2VjdGlvbiBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVBhZ2VTZWN0aW9uIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVBhZ2VTZWN0aW9uLFxuICBpbnB1dHM6IFsnY29sb3VyU2NoZW1lJywgJ3NlY3Rpb25TdHlsZUJvdHRvbScsICdzZWN0aW9uU3R5bGVUb3AnLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1wYWdlLXNlY3Rpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2NvbG91clNjaGVtZScsICdzZWN0aW9uU3R5bGVCb3R0b20nLCAnc2VjdGlvblN0eWxlVG9wJywgJ3NwYWNlQmVsb3cnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlUGFnZVNlY3Rpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlUG9wdXAgZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVQb3B1cCB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVQb3B1cCxcbiAgbWV0aG9kczogWydvcGVuJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXBvcHVwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pidcbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVBvcHVwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVByb2dyZXNzQmFyIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlUHJvZ3Jlc3NCYXIge31cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCaWdnaXZlUHJvZ3Jlc3NCYXIsXG4gIGlucHV0czogWydjb2xvdXJTY2hlbWUnLCAnY291bnRlcicsICdzcGFjZUJlbG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXByb2dyZXNzLWJhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnY29sb3VyU2NoZW1lJywgJ2NvdW50ZXInLCAnc3BhY2VCZWxvdyddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVQcm9ncmVzc0JhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVRdW90ZSBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVF1b3RlIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVF1b3RlLFxuICBpbnB1dHM6IFsnYXR0cmlidXRpb24nLCAnZGVmYXVsdFRleHRDb2xvdXInLCAncXVvdGUnLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS1xdW90ZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYXR0cmlidXRpb24nLCAnZGVmYXVsdFRleHRDb2xvdXInLCAncXVvdGUnLCAnc3BhY2VCZWxvdyddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVRdW90ZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVTZWFyY2ggZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVTZWFyY2gge1xuICAvKipcbiAgICogVGhpcyBldmVudCBgZG9TZWFyY2hgIGV2ZW50IGlzIGVtaXR0ZWQgYW5kIHByb3BvZ2F0ZXMgdG8gdGhlIHBhcmVudFxuY29tcG9uZW50IHdoaWNoIGhhbmRsZXMgaXQgXG4gICAqL1xuICBkb1NlYXJjaDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuXG59XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVNlYXJjaCxcbiAgaW5wdXRzOiBbJ2J1dHRvblRleHQnLCAncGxhY2Vob2xkZXJUZXh0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXNlYXJjaCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYnV0dG9uVGV4dCcsICdwbGFjZWhvbGRlclRleHQnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlU2VhcmNoIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZG9TZWFyY2gnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVNvY2lhbEljb24gZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVTb2NpYWxJY29uIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVNvY2lhbEljb24sXG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3VyJywgJ2ljb25Db2xvdXInLCAnc2VydmljZScsICd1cmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtc29jaWFsLWljb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvdXInLCAnaWNvbkNvbG91cicsICdzZXJ2aWNlJywgJ3VybCddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVTb2NpYWxJY29uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVRhYiBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVRhYiB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVUYWIsXG4gIGlucHV0czogWyd0YWJUaXRsZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS10YWInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgaW5wdXRzOiBbJ3RhYlRpdGxlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmlnZ2l2ZVRhYiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVUYWJiZWRDb250ZW50IGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlVGFiYmVkQ29udGVudCB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVUYWJiZWRDb250ZW50LFxuICBpbnB1dHM6IFsnZGVmYXVsdFRleHRDb2xvdXInLCAnc3BhY2VCZWxvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmlnZ2l2ZS10YWJiZWQtY29udGVudCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnZGVmYXVsdFRleHRDb2xvdXInLCAnc3BhY2VCZWxvdyddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVUYWJiZWRDb250ZW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVRleHRJbnB1dCBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVRleHRJbnB1dCB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVUZXh0SW5wdXRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXRleHQtaW5wdXQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+J1xufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlVGV4dElucHV0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVRvdGFsaXplciBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVRvdGFsaXplciB7fVxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJpZ2dpdmVUb3RhbGl6ZXIsXG4gIGlucHV0czogWydtYWluTWVzc2FnZScsICdwcmltYXJ5Q29sb3VyJywgJ3ByaW1hcnlUZXh0Q29sb3VyJywgJ3NlY29uZGFyeUNvbG91cicsICdzZWNvbmRhcnlUZXh0Q29sb3VyJywgJ3NwYWNlQmVsb3cnLCAndGlja2VySXRlbXMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtdG90YWxpemVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydtYWluTWVzc2FnZScsICdwcmltYXJ5Q29sb3VyJywgJ3ByaW1hcnlUZXh0Q29sb3VyJywgJ3NlY29uZGFyeUNvbG91cicsICdzZWNvbmRhcnlUZXh0Q29sb3VyJywgJ3NwYWNlQmVsb3cnLCAndGlja2VySXRlbXMnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlVG90YWxpemVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmlnZ2l2ZVRvdGFsaXplclRpY2tlckl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLkJpZ2dpdmVUb3RhbGl6ZXJUaWNrZXJJdGVtIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVRvdGFsaXplclRpY2tlckl0ZW0sXG4gIGlucHV0czogWydmaWd1cmUnLCAnbGFiZWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtdG90YWxpemVyLXRpY2tlci1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydmaWd1cmUnLCAnbGFiZWwnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlVG90YWxpemVyVGlja2VySXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJpZ2dpdmVWaWRlbyBleHRlbmRzIENvbXBvbmVudHMuQmlnZ2l2ZVZpZGVvIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVZpZGVvLFxuICBpbnB1dHM6IFsnc3BhY2VBYm92ZScsICdzcGFjZUJlbG93JywgJ3ZpZGVvVXJsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWdnaXZlLXZpZGVvJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIGlucHV0czogWydzcGFjZUFib3ZlJywgJ3NwYWNlQmVsb3cnLCAndmlkZW9VcmwnXVxufSlcbmV4cG9ydCBjbGFzcyBCaWdnaXZlVmlkZW8ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCaWdnaXZlVmlkZW9GZWF0dXJlIGV4dGVuZHMgQ29tcG9uZW50cy5CaWdnaXZlVmlkZW9GZWF0dXJlIHt9XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmlnZ2l2ZVZpZGVvRmVhdHVyZSxcbiAgaW5wdXRzOiBbJ2J1dHRvbkNvbG91clNjaGVtZScsICdidXR0b25MYWJlbCcsICdidXR0b25VcmwnLCAnZGVmYXVsdFRleHRDb2xvdXInLCAnbWFpblRpdGxlJywgJ21haW5UaXRsZUNvbG91cicsICdzbHVnJywgJ3NsdWdDb2xvdXInLCAnc3BhY2VBYm92ZScsICdzcGFjZUJlbG93JywgJ3RlYXNlcicsICd0ZWFzZXJDb2xvdXInLCAndmlkZW9VcmwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JpZ2dpdmUtdmlkZW8tZmVhdHVyZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBpbnB1dHM6IFsnYnV0dG9uQ29sb3VyU2NoZW1lJywgJ2J1dHRvbkxhYmVsJywgJ2J1dHRvblVybCcsICdkZWZhdWx0VGV4dENvbG91cicsICdtYWluVGl0bGUnLCAnbWFpblRpdGxlQ29sb3VyJywgJ3NsdWcnLCAnc2x1Z0NvbG91cicsICdzcGFjZUFib3ZlJywgJ3NwYWNlQmVsb3cnLCAndGVhc2VyJywgJ3RlYXNlckNvbG91cicsICd2aWRlb1VybCddXG59KVxuZXhwb3J0IGNsYXNzIEJpZ2dpdmVWaWRlb0ZlYXR1cmUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuIl19