@hmcts/rpx-xui-common-lib 1.7.4 → 1.7.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/hmcts-rpx-xui-common-lib.umd.js +159 -37
- package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -1
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +1 -1
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -1
- package/esm2015/hmcts-rpx-xui-common-lib.js +22 -21
- package/esm2015/lib/components/find-location/find-location.component.js +18 -4
- package/esm2015/lib/components/find-person/find-person.component.js +14 -4
- package/esm2015/lib/components/generic-filter/generic-filter.component.js +21 -4
- package/esm2015/lib/components/search-location/search-location.component.js +12 -2
- package/esm2015/lib/components/user-list/user-list.component.js +29 -3
- package/esm2015/lib/exui-common-lib.module.js +8 -3
- package/esm2015/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +49 -0
- package/esm2015/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +1 -3
- package/esm2015/lib/models/filter.model.js +5 -1
- package/esm2015/lib/models/index.js +2 -1
- package/esm2015/lib/models/pagination.model.js +18 -0
- package/esm5/hmcts-rpx-xui-common-lib.js +22 -21
- package/esm5/lib/components/find-location/find-location.component.js +21 -4
- package/esm5/lib/components/find-person/find-person.component.js +17 -4
- package/esm5/lib/components/generic-filter/generic-filter.component.js +28 -4
- package/esm5/lib/components/search-location/search-location.component.js +15 -2
- package/esm5/lib/components/user-list/user-list.component.js +36 -3
- package/esm5/lib/exui-common-lib.module.js +9 -3
- package/esm5/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +51 -0
- package/esm5/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +1 -3
- package/esm5/lib/models/filter.model.js +5 -1
- package/esm5/lib/models/index.js +2 -1
- package/esm5/lib/models/pagination.model.js +18 -0
- package/fesm2015/hmcts-rpx-xui-common-lib.js +117 -14
- package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
- package/fesm5/hmcts-rpx-xui-common-lib.js +143 -15
- package/fesm5/hmcts-rpx-xui-common-lib.js.map +1 -1
- package/hmcts-rpx-xui-common-lib.d.ts +21 -20
- package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
- package/lib/components/find-location/find-location.component.d.ts +4 -0
- package/lib/components/find-person/find-person.component.d.ts +2 -0
- package/lib/components/generic-filter/generic-filter.component.d.ts +1 -0
- package/lib/components/search-location/search-location.component.d.ts +2 -0
- package/lib/components/user-list/user-list.component.d.ts +9 -2
- package/lib/exui-common-lib.module.d.ts +2 -2
- package/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.d.ts +10 -0
- package/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.d.ts +0 -1
- package/lib/models/filter.model.d.ts +2 -0
- package/lib/models/index.d.ts +1 -0
- package/lib/models/pagination.model.d.ts +5 -0
- package/package.json +3 -2
|
@@ -164,7 +164,13 @@ export class GenericFilterComponent {
|
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
|
-
|
|
167
|
+
// find-location is special case where need to reset textbox (by existing disabling functionality)
|
|
168
|
+
// field.disable referred to component itself
|
|
169
|
+
if (field.type === 'find-location') {
|
|
170
|
+
return true;
|
|
171
|
+
}
|
|
172
|
+
// Note: field.disable decides whether to actually disable or not
|
|
173
|
+
return field.disable ? field.disable : null;
|
|
168
174
|
}
|
|
169
175
|
/**
|
|
170
176
|
* @param {?} form
|
|
@@ -201,6 +207,17 @@ export class GenericFilterComponent {
|
|
|
201
207
|
}
|
|
202
208
|
}
|
|
203
209
|
}
|
|
210
|
+
// when user enters input change radio button
|
|
211
|
+
/**
|
|
212
|
+
* @param {?} field
|
|
213
|
+
* @return {?}
|
|
214
|
+
*/
|
|
215
|
+
inputChanged(field) {
|
|
216
|
+
if (field.radioSelectionChange && typeof field.radioSelectionChange === 'string') {
|
|
217
|
+
const [name, value] = field.enableCondition.split('=');
|
|
218
|
+
this.form.get(name).patchValue(value);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
204
221
|
/**
|
|
205
222
|
* @return {?}
|
|
206
223
|
*/
|
|
@@ -500,7 +517,7 @@ export class GenericFilterComponent {
|
|
|
500
517
|
* @return {?}
|
|
501
518
|
*/
|
|
502
519
|
(f) => f.name === field.name));
|
|
503
|
-
if (defaultValues) {
|
|
520
|
+
if (defaultValues && defaultValues.value && defaultValues.value.length > 0) {
|
|
504
521
|
for (const defaultValue of defaultValues.value) {
|
|
505
522
|
formArray.push(new FormControl(defaultValue));
|
|
506
523
|
}
|
|
@@ -567,7 +584,7 @@ export class GenericFilterComponent {
|
|
|
567
584
|
GenericFilterComponent.decorators = [
|
|
568
585
|
{ type: Component, args: [{
|
|
569
586
|
selector: 'xuilib-generic-filter',
|
|
570
|
-
template: "<form [formGroup]=\"form\" (ngSubmit)=\"applyFilter(form)\">\n <div class=\"contain-classes\" *ngFor=\"let field of config.fields\">\n <hr *ngIf=\"field.lineBreakBefore\" class=\"govuk-section-break govuk-section-break--visible elevated-break\">\n <div class=\"govuk-form-group xui-generic-filter\"\n [hidden]=\"hidden(field, form)\"\n [id]=\"field.name\"\n [ngClass]=\"{'form-group-error': submitted && (form.get(field.name).errors?.minLength || form.get(field.name).errors?.maxLength)}\">\n <h3 *ngIf=\"field.title\" class=\"govuk-heading-s\">{{field.title}}</h3>\n <p class=\"govuk-body\" *ngIf=\"field.subTitle\">{{field.subTitle}}</p>\n <span [id]=\"field.name + '-error'\" class=\"govuk-error-message\" *ngIf=\"field.displayMinSelectedError && submitted && form.get(field.name).errors?.minLength\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{field.minSelectedError}}\n </span>\n <span [id]=\"field.name + '-error'\" class=\"govuk-error-message\" *ngIf=\"field.displayMaxSelectedError && submitted && form.get(field.name).errors?.maxLength\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{field.maxSelectedError}}\n </span>\n <div class=\"govuk-body\" [ngSwitch]=\"field.type\">\n <ng-container *ngSwitchCase=\"'select'\">\n <select class=\"govuk-select\" (change)=\"fieldChanged(field, form)\" [attr.disabled]=\"disabled(field, form)\" [name]=\"'select_' + field.name\" [id]=\"'select_' + field.name\" [formControlName]=\"field.name\">\n <option disabled selected hidden value=\"\">{{field.disabledText}}</option>\n <option class=\"govuk-radios__item\" *ngFor=\"let item of field.options\" [value]=\"item.key\">{{item.label}}</option>\n </select>\n </ng-container>\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div class=\"govuk-checkboxes govuk-checkboxes--small\" [formGroupName]=\"field.name\" [attr.field]=\"field.name\" [id]=\"'checkbox_' + field.name\">\n <div *ngFor=\"let item of field.options; let i = index\" class=\"govuk-checkboxes__item\">\n <input type=\"checkbox\" class=\"govuk-checkboxes__input\"\n [attr.disabled]=\"disabled(field, form)\"\n [formControlName]=\"i\"\n (change)=\"toggleSelectAll($event, form, item, field)\"\n [value]=\"item.key\" [id]=\"'checkbox_' + item.key\"\n [name]=\"'checkbox_' + item.key\"\n />\n <label\n [for]=\"'checkbox_' + item.key\"\n class=\"govuk-label govuk-checkboxes__label\"\n [ngClass]=\"{'govuk-!-font-weight-bold': item.selectAll}\"\n >{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'checkbox-large'\">\n <div class=\"govuk-checkboxes\" [formGroupName]=\"field.name\" [attr.field]=\"field.name\" [id]=\"'checkbox_' + field.name\">\n <div *ngFor=\"let item of field.options; let i = index\" class=\"govuk-checkboxes__item\">\n <input type=\"checkbox\" class=\"govuk-checkboxes__input\"\n [attr.disabled]=\"disabled(field, form)\"\n [formControlName]=\"i\"\n (change)=\"toggleSelectAll($event, form, item, field)\"\n [value]=\"item.key\" [id]=\"'checkbox_' + item.key\"\n [name]=\"'checkbox_' + item.key\"\n />\n <label\n [for]=\"'checkbox_' + item.key\"\n class=\"govuk-label govuk-checkboxes__label\"\n [ngClass]=\"{'govuk-!-font-weight-bold': item.selectAll}\"\n >{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'radio'\">\n <div class=\"govuk-radios\">\n <div *ngFor=\"let item of field.options\" class=\"govuk-radios__item\">\n <input type=\"radio\"\n [formControlName]=\"field.name\"\n [id]=\"'radio_' + item.key\"\n [attr.disabled]=\"disabled(field, form)\"\n [checked]=\"item.key === form.get(field.name).value\"\n class=\"govuk-radios__input\"\n [value]=\"item.key\"\n (change)=\"fieldChanged(field, form)\"\n />\n <label [for]=\"'radio_' + item.key\" class=\"govuk-label govuk-radios__label\">{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-person'\">\n <xuilib-find-person subTitle=\"\" (personSelected)=\"updatePersonControls($event, field)\"\n [submitted]=\"submitted\"\n [disabled]=\"disabled(field, form)\"\n [domain]=\"form.get(field.domainField)?.value\"\n [findPersonGroup]=\"form\"\n [selectedPerson]=\"form.get(field.name)?.value?.email\"\n [userIncluded]=\"false\"\n ></xuilib-find-person>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-location'\">\n <xuilib-find-location [form]=\"form\"\n [fields]=\"config.fields\"\n [locationTitle]=\"field.locationTitle\"\n [enableAddLocationButton]=\"field.enableAddLocationButton\"\n [disabled]=\"disabled(field, form)\"\n [selectedLocations]=\"form.get(field.name)?.value\"\n [submitted]=\"submitted\"\n [services]=\"form.get(field.findLocationField)?.value\"\n [field]=\"field\"\n ></xuilib-find-location>\n </ng-container>\n </div>\n </div>\n </div>\n <hr class=\"govuk-section-break govuk-section-break--m govuk-section-break--visible\"/>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full\">\n <button\n class=\"govuk-button govuk-!-margin-right-1 govuk-!-margin-bottom-0\"\n type=\"submit\"\n id=\"applyFilter\"\n [disabled]=\"config.enableDisabledButton && form.invalid\"\n >{{config.applyButtonText || 'Apply'}}</button>\n <button *ngIf=\"config.showCancelFilterButton\"\n class=\"govuk-button govuk-button--secondary govuk-!-margin-bottom-0\"\n type=\"button\"\n id=\"cancelFilter\"\n (click)=\"cancelFilter()\">{{ config.cancelButtonText || 'Cancel'}}</button>\n </div>\n </div>\n</form>\n",
|
|
587
|
+
template: "<form [formGroup]=\"form\" (ngSubmit)=\"applyFilter(form)\">\n <div class=\"contain-classes\" *ngFor=\"let field of config.fields\">\n <hr *ngIf=\"field.lineBreakBefore\" class=\"govuk-section-break govuk-section-break--visible elevated-break\">\n <div class=\"govuk-form-group xui-generic-filter\"\n [hidden]=\"hidden(field, form)\"\n [id]=\"field.name\"\n [ngClass]=\"{'form-group-error': submitted && (form.get(field.name).errors?.minLength || form.get(field.name).errors?.maxLength)}\">\n <h3 *ngIf=\"field.title\" class=\"govuk-heading-s\">{{field.title}}</h3>\n <p class=\"govuk-body\" *ngIf=\"field.subTitle\">{{field.subTitle}}</p>\n <span [id]=\"field.name + '-error'\" class=\"govuk-error-message\" *ngIf=\"field.displayMinSelectedError && submitted && form.get(field.name).errors?.minLength\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{field.minSelectedError}}\n </span>\n <span [id]=\"field.name + '-error'\" class=\"govuk-error-message\" *ngIf=\"field.displayMaxSelectedError && submitted && form.get(field.name).errors?.maxLength\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{field.maxSelectedError}}\n </span>\n <div class=\"govuk-body\" [ngSwitch]=\"field.type\">\n <ng-container *ngSwitchCase=\"'select'\">\n <select class=\"govuk-select\" (change)=\"fieldChanged(field, form)\" [attr.disabled]=\"disabled(field, form)\" [name]=\"'select_' + field.name\" [id]=\"'select_' + field.name\" [formControlName]=\"field.name\">\n <option disabled selected hidden value=\"\">{{field.disabledText}}</option>\n <option class=\"govuk-radios__item\" *ngFor=\"let item of field.options\" [value]=\"item.key\">{{item.label}}</option>\n </select>\n </ng-container>\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div class=\"govuk-checkboxes govuk-checkboxes--small\" [formGroupName]=\"field.name\" [attr.field]=\"field.name\" [id]=\"'checkbox_' + field.name\">\n <div *ngFor=\"let item of field.options; let i = index\" class=\"govuk-checkboxes__item\">\n <input type=\"checkbox\" class=\"govuk-checkboxes__input\"\n [attr.disabled]=\"disabled(field, form)\"\n [formControlName]=\"i\"\n (change)=\"toggleSelectAll($event, form, item, field)\"\n [value]=\"item.key\" [id]=\"'checkbox_' + item.key\"\n [name]=\"'checkbox_' + item.key\"\n />\n <label\n [for]=\"'checkbox_' + item.key\"\n class=\"govuk-label govuk-checkboxes__label\"\n [ngClass]=\"{'govuk-!-font-weight-bold': item.selectAll}\"\n >{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'checkbox-large'\">\n <div class=\"govuk-checkboxes\" [formGroupName]=\"field.name\" [attr.field]=\"field.name\" [id]=\"'checkbox_' + field.name\">\n <div *ngFor=\"let item of field.options; let i = index\" class=\"govuk-checkboxes__item\">\n <input type=\"checkbox\" class=\"govuk-checkboxes__input\"\n [attr.disabled]=\"disabled(field, form)\"\n [formControlName]=\"i\"\n (change)=\"toggleSelectAll($event, form, item, field)\"\n [value]=\"item.key\" [id]=\"'checkbox_' + item.key\"\n [name]=\"'checkbox_' + item.key\"\n />\n <label\n [for]=\"'checkbox_' + item.key\"\n class=\"govuk-label govuk-checkboxes__label\"\n [ngClass]=\"{'govuk-!-font-weight-bold': item.selectAll}\"\n >{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'radio'\">\n <div class=\"govuk-radios\">\n <div *ngFor=\"let item of field.options\" class=\"govuk-radios__item\">\n <input type=\"radio\"\n [formControlName]=\"field.name\"\n [id]=\"'radio_' + item.key\"\n [attr.disabled]=\"disabled(field, form)\"\n [checked]=\"item.key === form.get(field.name).value\"\n class=\"govuk-radios__input\"\n [value]=\"item.key\"\n (change)=\"fieldChanged(field, form)\"\n />\n <label [for]=\"'radio_' + item.key\" class=\"govuk-label govuk-radios__label\">{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-person'\">\n <xuilib-find-person subTitle=\"\" (personSelected)=\"updatePersonControls($event, field)\"\n (personFieldChanged)=\"inputChanged(field)\"\n [submitted]=\"submitted\"\n [disabled]=\"disabled(field, form)\"\n [domain]=\"form.get(field.domainField)?.value\"\n [findPersonGroup]=\"form\"\n [selectedPerson]=\"form.get(field.name)?.value?.email\"\n [userIncluded]=\"false\"\n ></xuilib-find-person>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-location'\">\n <xuilib-find-location (locationFieldChanged)=\"inputChanged(field)\"\n [form]=\"form\"\n [fields]=\"config.fields\"\n [locationTitle]=\"field.locationTitle\"\n [enableAddLocationButton]=\"field.enableAddLocationButton\"\n [disabled]=\"disabled(field, form)\"\n [disableInputField]=\"field.disable\"\n [selectedLocations]=\"form.get(field.name)?.value\"\n [submitted]=\"submitted\"\n [services]=\"form.get(field.findLocationField)?.value\"\n [field]=\"field\"\n ></xuilib-find-location>\n </ng-container>\n </div>\n </div>\n </div>\n <hr class=\"govuk-section-break govuk-section-break--m govuk-section-break--visible\"/>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full\">\n <button\n class=\"govuk-button govuk-!-margin-right-1 govuk-!-margin-bottom-0\"\n type=\"submit\"\n id=\"applyFilter\"\n [disabled]=\"config.enableDisabledButton && form.invalid\"\n >{{config.applyButtonText || 'Apply'}}</button>\n <button *ngIf=\"config.showCancelFilterButton\"\n class=\"govuk-button govuk-button--secondary govuk-!-margin-bottom-0\"\n type=\"button\"\n id=\"cancelFilter\"\n (click)=\"cancelFilter()\">{{ config.cancelButtonText || 'Cancel'}}</button>\n </div>\n </div>\n</form>\n",
|
|
571
588
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
572
589
|
encapsulation: ViewEncapsulation.None,
|
|
573
590
|
styles: [".contain-classes .elevated-break{position:relative;top:-10px}.contain-classes .xui-generic-filter .select-all{margin-bottom:10px}.contain-classes .xui-generic-filter .govuk-checkboxes{display:flex;flex-wrap:wrap}.contain-classes .xui-generic-filter .govuk-checkboxes>div{flex-grow:1;flex-shrink:0}"]
|
|
@@ -610,4 +627,4 @@ if (false) {
|
|
|
610
627
|
*/
|
|
611
628
|
GenericFilterComponent.prototype.fb;
|
|
612
629
|
}
|
|
613
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL3JweC14dWktY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2dlbmVyaWMtZmlsdGVyL2dlbmVyaWMtZmlsdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQWtCLFNBQVMsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBZSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4SCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDckUsT0FBTyxFQUFDLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBUzdGLE1BQU0sT0FBTyxzQkFBc0I7Ozs7O0lBS2pDLFlBQTZCLGFBQTRCLEVBQW1CLEVBQWU7UUFBOUQsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBbUIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUhwRixjQUFTLEdBQUcsS0FBSyxDQUFDO0lBSXpCLENBQUM7Ozs7SUFLRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQzs7Ozs7SUFFRCxJQUNXLE1BQU0sQ0FBQyxLQUFtQjtRQUNuQyxJQUFJLENBQUMsT0FBTyxxQkFDUCxLQUFLLElBQ1IsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRzs7OztZQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsbUJBQzdCLEtBQUssSUFDUix1QkFBdUIsRUFBRSxLQUFLLEVBQzlCLHVCQUF1QixFQUFFLEtBQUssSUFDOUIsRUFBQyxHQUNKLENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxH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SUFsQ04sc0NBQXVCOztJQUN2QiwyQ0FBeUI7O0lBQ3pCLHlDQUE2Qjs7Ozs7SUFNN0IseUNBQThCOzs7OztJQW9COUIsMkNBQWtDOzs7OztJQXhCdEIsK0NBQTZDOzs7OztJQUFFLG9DQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7RmlsdGVyQ29uZmlnLCBGaWx0ZXJFcnJvciwgRmlsdGVyRmllbGRDb25maWcsIEZpbHRlclNldHRpbmd9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge0ZpbHRlclNlcnZpY2V9IGZyb20gJy4vLi4vLi4vc2VydmljZXMvZmlsdGVyL2ZpbHRlci5zZXJ2aWNlJztcbmltcG9ydCB7Z2V0VmFsdWVzLCBtYXhTZWxlY3RlZFZhbGlkYXRvciwgbWluU2VsZWN0ZWRWYWxpZGF0b3J9IGZyb20gJy4vZ2VuZXJpYy1maWx0ZXItdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItZ2VuZXJpYy1maWx0ZXInLFxuICB0ZW1wbGF0ZVVybDogJ2dlbmVyaWMtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2dlbmVyaWMtZmlsdGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEdlbmVyaWNGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBmb3JtOiBGb3JtR3JvdXA7XG4gIHB1YmxpYyBzdWJtaXR0ZWQgPSBmYWxzZTtcbiAgcHVibGljIGZvcm1TdWI6IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGZpbHRlclNlcnZpY2U6IEZpbHRlclNlcnZpY2UsIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyKSB7XG4gIH1cblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxuICBwcml2YXRlIF9jb25maWc6IEZpbHRlckNvbmZpZztcblxuICBwdWJsaWMgZ2V0IGNvbmZpZygpOiBGaWx0ZXJDb25maWcge1xuICAgIHJldHVybiB0aGlzLl9jb25maWc7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNvbmZpZyh2YWx1ZTogRmlsdGVyQ29uZmlnKSB7XG4gICAgdGhpcy5fY29uZmlnID0ge1xuICAgICAgLi4udmFsdWUsXG4gICAgICBmaWVsZHM6IHZhbHVlLmZpZWxkcy5tYXAoZmllbGQgPT4gKHtcbiAgICAgICAgLi4uZmllbGQsXG4gICAgICAgIGRpc3BsYXlNaW5TZWxlY3RlZEVycm9yOiBmYWxzZSxcbiAgICAgICAgZGlzcGxheU1heFNlbGVjdGVkRXJyb3I6IGZhbHNlLFxuICAgICAgfSkpXG4gICAgfTtcbiAgICB0aGlzLl9jb25maWcgPSB2YWx1ZTtcbiAgfVxuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIHByaXZhdGUgX3NldHRpbmdzPzogRmlsdGVyU2V0dGluZztcblxuICBwdWJsaWMgZ2V0IHNldHRpbmdzKCk6IEZpbHRlclNldHRpbmcge1xuICAgIHJldHVybiB0aGlzLl9zZXR0aW5ncztcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2V0dGluZ3ModmFsdWU6IEZpbHRlclNldHRpbmcpIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aGlzLmdldFNldHRpbmdzKCk7XG4gICAgfVxuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5maWVsZHMpIHtcbiAgICAgIHRoaXMubWVyZ2VEZWZhdWx0RmllbGRzKHZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy5fc2V0dGluZ3MgPSB2YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGFkZEZvcm1WYWxpZGF0b3JzKGZpZWxkOiBGaWx0ZXJGaWVsZENvbmZpZyk6IFZhbGlkYXRvcnMge1xuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBbXTtcbiAgICBpZiAoZmllbGQgJiYgZmllbGQubWluU2VsZWN0ZWQpIHtcbiAgICAgIHZhbGlkYXRvcnMucHVzaChtaW5TZWxlY3RlZFZhbGlkYXRvcihmaWVsZC5taW5TZWxlY3RlZCkpO1xuICAgIH1cblxuICAgIGlmIChmaWVsZCAmJiBmaWVsZC5tYXhTZWxlY3RlZCkge1xuICAgICAgdmFsaWRhdG9ycy5wdXNoKG1heFNlbGVjdGVkVmFsaWRhdG9yKGZpZWxkLm1heFNlbGVjdGVkKSk7XG4gICAgfVxuICAgIHJldHVybiB2YWxpZGF0b3JzO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zZXR0aW5ncykge1xuICAgICAgdGhpcy5nZXRTZXR0aW5ncygpO1xuICAgIH1cbiAgICB0aGlzLm1lcmdlRGVmYXVsdEZpZWxkcyh0aGlzLnNldHRpbmdzKTtcbiAgICB0aGlzLmJ1aWxkRm9ybSh0aGlzLmNvbmZpZywgdGhpcy5zZXR0aW5ncyk7XG4gICAgdGhpcy5mb3JtU3ViID0gdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zdWJtaXR0ZWQgPSBmYWxzZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9ybVN1Yikge1xuICAgICAgdGhpcy5mb3JtU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhpZGRlbihmaWVsZDogRmlsdGVyRmllbGRDb25maWcsIGZvcm06IEZvcm1Hcm91cCk6IGJvb2xlYW4ge1xuICAgIGlmICghZmllbGQuc2hvd0NvbmRpdGlvbikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGZpZWxkLnNob3dDb25kaXRpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBjb250cm9sID0gZm9ybS5nZXQoZmllbGQubmFtZSkgYXMgRm9ybUNvbnRyb2w7XG4gICAgICBjb25zdCBbbmFtZSwgdmFsdWVdID0gZmllbGQuc2hvd0NvbmRpdGlvbi5zcGxpdCgnPScpO1xuICAgICAgaWYgKGZvcm0udmFsdWUgJiYgZm9ybS52YWx1ZVtuYW1lXSA9PT0gdmFsdWUpIHtcbiAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdmaW5kLXBlcnNvbicpIHtcbiAgICAgICAgICBjb250cm9sLmdldCgnZW1haWwnKS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgICAgIGNvbnRyb2wuZ2V0KCdlbWFpbCcpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb250cm9sLnNldFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICAgICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdmaW5kLXBlcnNvbicpIHtcbiAgICAgICAgICBjb250cm9sLmdldCgnZW1haWwnKS5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgICBjb250cm9sLmdldCgnZW1haWwnKS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29udHJvbC5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgICBjb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNhYmxlZChmaWVsZDogRmlsdGVyRmllbGRDb25maWcsIGZvcm06IEZvcm1Hcm91cCk6IGJvb2xlYW4ge1xuICAgIGlmICghZmllbGQuZW5hYmxlQ29uZGl0aW9uKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBmaWVsZC5lbmFibGVDb25kaXRpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBjb250cm9sID0gZm9ybS5nZXQoZmllbGQubmFtZSkgYXMgRm9ybUNvbnRyb2w7XG4gICAgICBjb25zdCBbbmFtZSwgdmFsdWVdID0gZmllbGQuZW5hYmxlQ29uZGl0aW9uLnNwbGl0KCc9Jyk7XG4gICAgICBpZiAoZm9ybS52YWx1ZSAmJiBmb3JtLnZhbHVlW25hbWVdID09PSB2YWx1ZSkge1xuICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2ZpbmQtcGVyc29uJykge1xuICAgICAgICAgIGNvbnRyb2wuZ2V0KCdlbWFpbCcpLnNldFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICAgICAgY29udHJvbC5nZXQoJ2VtYWlsJykudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgICAgICBjb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChmaWVsZC50eXBlID09PSAnZmluZC1wZXJzb24nKSB7XG4gICAgICAgICAgY29udHJvbC5nZXQoJ2VtYWlsJykuY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgICAgICAgY29udHJvbC5nZXQoJ2VtYWlsJykudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnRyb2wuY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgICAgICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwdWJsaWMgYXBwbHlGaWx0ZXIoZm9ybTogRm9ybUdyb3VwKTogdm9pZCB7XG4gICAgdGhpcy5zdWJtaXR0ZWQgPSB0cnVlO1xuICAgIGZvcm0ubWFya0FzVG91Y2hlZCgpO1xuICAgIGlmIChmb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLl9zZXR0aW5ncyA9IHtcbiAgICAgICAgaWQ6IHRoaXMuY29uZmlnLmlkLFxuICAgICAgICBmaWVsZHM6IHRoaXMuZ2V0U2VsZWN0ZWRWYWx1ZXMoZm9ybS52YWx1ZSwgdGhpcy5jb25maWcpXG4gICAgICB9O1xuICAgICAgdGhpcy5maWx0ZXJTZXJ2aWNlLmdpdmVuRXJyb3JzLm5leHQobnVsbCk7XG4gICAgICBjb25zdCBzZXR0aW5ncyA9IHsuLi50aGlzLnNldHRpbmdzLCByZXNldDogZmFsc2V9O1xuICAgICAgdGhpcy5maWx0ZXJTZXJ2aWNlLnBlcnNpc3Qoc2V0dGluZ3MsIHRoaXMuY29uZmlnLnBlcnNpc3RlbmNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lbWl0Rm9ybUVycm9ycyhmb3JtKTtcbiAgICB9XG4gIH1cblxuICAvLyB3aGVuIGRvbWFpbiBjaGFuZ2VzIGVuc3VyZSB0aGF0IHBlcnNvbiBmaWVsZCBpcyByZXNldFxuICBwdWJsaWMgZmllbGRDaGFuZ2VkKGZpZWxkOiBGaWx0ZXJGaWVsZENvbmZpZywgZm9ybTogRm9ybUdyb3VwKTogdm9pZCB7XG4gICAgLy8gVE9ETyAtIERvIHNpbWlsYXIgd2l0aCBqdXJpc2RpY3Rpb24vc2VydmljZSBmb3IgY2FzZXdvcmtlcnMgYnkgc2VydmljZXNcbiAgICBpZiAoZmllbGQuY2hhbmdlUmVzZXRGaWVsZHMgJiYgZmllbGQuY2hhbmdlUmVzZXRGaWVsZHMubGVuZ3RoKSB7XG4gICAgICBmb3IgKGNvbnN0IHJlc2V0RmllbGQgb2YgZmllbGQuY2hhbmdlUmVzZXRGaWVsZHMpIHtcbiAgICAgICAgdGhpcy5yZXNldEZpZWxkKHJlc2V0RmllbGQsIGZvcm0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWxGaWx0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5idWlsZEZvcm0odGhpcy5jb25maWcsIHRoaXMuc2V0dGluZ3MsIHRydWUpO1xuICAgIGlmICh0aGlzLmNvbmZpZyAmJiB0aGlzLmNvbmZpZy5jYW5jZWxTZXR0aW5nKSB7XG4gICAgICB0aGlzLl9zZXR0aW5ncy5maWVsZHMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuY29uZmlnLmNhbmNlbFNldHRpbmcuZmllbGRzKSk7XG4gICAgfVxuICAgIGNvbnN0IHNldHRpbmdzID0gey4uLnRoaXMuc2V0dGluZ3MsIHJlc2V0OiB0cnVlfTtcbiAgICB0aGlzLmZpbHRlclNlcnZpY2UucGVyc2lzdChzZXR0aW5ncywgdGhpcy5jb25maWcucGVyc2lzdGVuY2UpO1xuICAgIHRoaXMuZmlsdGVyU2VydmljZS5naXZlbkVycm9ycy5uZXh0KG51bGwpO1xuICAgIHRoaXMuc3VibWl0dGVkID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlUGVyc29uQ29udHJvbHModmFsdWVzOiBhbnksIGZpZWxkOiBGaWx0ZXJGaWVsZENvbmZpZyk6IHZvaWQge1xuICAgIGxldCBrZXlzO1xuICAgIGlmICghdmFsdWVzKSB7XG4gICAgICBrZXlzID0gT2JqZWN0LmtleXModGhpcy5mb3JtLmdldChmaWVsZC5uYW1lKS52YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGtleXMgPSBPYmplY3Qua2V5cyh2YWx1ZXMpO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICBpZiAodGhpcy5mb3JtLmdldChmaWVsZC5uYW1lKSAmJiB0aGlzLmZvcm0uZ2V0KGZpZWxkLm5hbWUpLmdldChrZXkpKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVzICYmIHZhbHVlc1trZXldID8gdmFsdWVzW2tleV0gOiBudWxsO1xuICAgICAgICB0aGlzLmZvcm0uZ2V0KGZpZWxkLm5hbWUpLmdldChrZXkpLnBhdGNoVmFsdWUodmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVTZWxlY3RBbGwoZXZlbnQ6IGFueSwgZm9ybTogRm9ybUdyb3VwLCBpdGVtOiB7IGtleTogc3RyaW5nOyBsYWJlbDogc3RyaW5nOyBzZWxlY3RBbGw/OiB0cnVlIH0sIGZpZWxkOiBGaWx0ZXJGaWVsZENvbmZpZyk6IHZvaWQge1xuICAgIGNvbnN0IGlzQ2hlY2tlZCA9IGV2ZW50LnRhcmdldC5jaGVja2VkO1xuICAgIGNvbnN0IGZvcm1BcnJheTogRm9ybUFycmF5ID0gZm9ybS5nZXQoZmllbGQubmFtZSkgYXMgRm9ybUFycmF5O1xuICAgIGlmICghaXRlbS5zZWxlY3RBbGwpIHtcbiAgICAgIGNvbnN0IGFsbENoZWNrZWQgPSBmb3JtQXJyYXkuY29udHJvbHMuZXZlcnkoKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4gY29udHJvbC52YWx1ZSk7XG4gICAgICBsZXQgaW5kZXg6IG51bWJlciA9IG51bGw7XG4gICAgICBjb25zdCBoYXNTZWxlY3RBbGxPcHRpb24gPSBmaWVsZC5vcHRpb25zLmZpbmQoKG9wdGlvbiwgaSkgPT4ge1xuICAgICAgICBpZiAob3B0aW9uLmhhc093blByb3BlcnR5KCdzZWxlY3RBbGwnKSkge1xuICAgICAgICAgIGluZGV4ID0gaTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9KTtcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gICAgICBjb25zdCBpc0FsbENoZWNrZWRFeGNsdWRpbmdUaGVTZWxlY3RBbGxPcHRpb24gPSBmb3JtQXJyYXkuY29udHJvbHMuZmlsdGVyKChfY29udHJvbDogQWJzdHJhY3RDb250cm9sLCBpOiBudW1iZXIpID0+IGkgIT09IGluZGV4KVxuICAgICAgICAuZXZlcnkoKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4gY29udHJvbC52YWx1ZSk7XG5cbiAgICAgIGlmICghYWxsQ2hlY2tlZCAmJiBoYXNTZWxlY3RBbGxPcHRpb24gJiYgIWlzQ2hlY2tlZCkge1xuICAgICAgICBmb3JtQXJyYXkuY29udHJvbHMuZm9yRWFjaCgoY29udHJvbDogQWJzdHJhY3RDb250cm9sLCBpOiBudW1iZXIpID0+IHtcbiAgICAgICAgICBpZiAoaW5kZXggPT09IGkpIHtcbiAgICAgICAgICAgIGNvbnRyb2wucGF0Y2hWYWx1ZShmYWxzZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoaGFzU2VsZWN0QWxsT3B0aW9uICYmICFhbGxDaGVja2VkICYmIGlzQ2hlY2tlZCAmJiBpc0FsbENoZWNrZWRFeGNsdWRpbmdUaGVTZWxlY3RBbGxPcHRpb24pIHtcbiAgICAgICAgZm9ybUFycmF5LmNvbnRyb2xzW2luZGV4XS5wYXRjaFZhbHVlKHRydWUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmb3JtQXJyYXkuY29udHJvbHMuZm9yRWFjaCgoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XG4gICAgICBpZiAoaXNDaGVja2VkKSB7XG4gICAgICAgIGNvbnRyb2wucGF0Y2hWYWx1ZSh0cnVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnRyb2wucGF0Y2hWYWx1ZShmYWxzZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0RmllbGQocmVzZXRGaWVsZDogc3RyaW5nLCBmb3JtOiBGb3JtR3JvdXApOiB2b2lkIHtcbiAgICBjb25zdCBjb250cm9sID0gZm9ybS5nZXQocmVzZXRGaWVsZCk7XG4gICAgY29uc3QgZGVmYXVsdFZhbHVlOiB7IG5hbWU6IHN0cmluZywgdmFsdWU6IGFueVtdIH0gPSB0aGlzLmNvbmZpZy5jYW5jZWxTZXR0aW5nLmZpZWxkcy5maW5kKChmKSA9PiBmLm5hbWUgPT09IHJlc2V0RmllbGQpO1xuICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbnRyb2wubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29udHJvbC5yZW1vdmVBdChpKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcbiAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb250cm9sLnZhbHVlKTtcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICAgICAgdGhpcy5yZXNldEZpZWxkKGtleSwgY29udHJvbCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2wpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gZGVmYXVsdFZhbHVlICYmIGRlZmF1bHRWYWx1ZS52YWx1ZSAmJiBkZWZhdWx0VmFsdWUudmFsdWUubGVuZ3RoID8gZGVmYXVsdFZhbHVlLnZhbHVlWzBdIDogbnVsbDtcbiAgICAgIGNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbWVyZ2VEZWZhdWx0RmllbGRzKGZpbHRlcjogRmlsdGVyU2V0dGluZyk6IHZvaWQge1xuICAgIGlmIChmaWx0ZXIpIHtcbiAgICAgIGZpbHRlci5maWVsZHMgPSB0aGlzLmZpbHRlclNlcnZpY2UuZ2V0KHRoaXMuY29uZmlnLmlkKSA/IHRoaXMuZmlsdGVyU2VydmljZS5nZXQodGhpcy5jb25maWcuaWQpLmZpZWxkcyA6IGZpbHRlci5maWVsZHM7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZyAmJiB0aGlzLmNvbmZpZy5jYW5jZWxTZXR0aW5nKSB7XG4gICAgICB0aGlzLl9zZXR0aW5ncyA9IHtcbiAgICAgICAgaWQ6IHRoaXMuY29uZmlnLmlkLFxuICAgICAgICBmaWVsZHM6IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5jb25maWcuY2FuY2VsU2V0dGluZy5maWVsZHMpKVxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFNldHRpbmdzKCk6IHZvaWQge1xuICAgIHRoaXMuX3NldHRpbmdzID0gdGhpcy5maWx0ZXJTZXJ2aWNlLmdldCh0aGlzLmNvbmZpZy5pZCk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRm9ybShjb25maWc6IEZpbHRlckNvbmZpZywgc2V0dGluZ3M6IEZpbHRlclNldHRpbmcsIHJlc2V0PzogYm9vbGVhbik6IHZvaWQge1xuICAgIGNvbnN0IGZpbmRQZXJzb25Db250cm9sID0gdGhpcy5mb3JtID8gdGhpcy5mb3JtLmdldCgnZmluZFBlcnNvbkNvbnRyb2wnKSA6IG51bGw7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7fSk7XG4gICAgaWYgKGZpbmRQZXJzb25Db250cm9sKSB7XG4gICAgICAvLyBpbiBvcmRlciB0byBtYWludGFpbiBmaW5kIHBlcnNvbiBjb21wb25lbnQsIGNvbnRyb2wgbmVlZHMgdG8gYmUga2VwdFxuICAgICAgdGhpcy5mb3JtLmFkZENvbnRyb2woJ2ZpbmRQZXJzb25Db250cm9sJywgZmluZFBlcnNvbkNvbnRyb2wpO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIGNvbmZpZy5maWVsZHMpIHtcbiAgICAgIGlmIChmaWVsZC50eXBlID09PSAnY2hlY2tib3gnIHx8IGZpZWxkLnR5cGUgPT09ICdjaGVja2JveC1sYXJnZScpIHtcbiAgICAgICAgY29uc3QgZm9ybUFycmF5ID0gdGhpcy5idWlsZENoZWNrQm94Rm9ybUFycmF5KGZpZWxkLCBzZXR0aW5ncyk7XG4gICAgICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKGZpZWxkLm5hbWUsIGZvcm1BcnJheSk7XG4gICAgICB9IGVsc2UgaWYgKGZpZWxkLnR5cGUgPT09ICdmaW5kLWxvY2F0aW9uJykge1xuICAgICAgICBjb25zdCBmb3JtQXJyYXkgPSB0aGlzLmJ1aWxkRmluZExvY2F0aW9uRm9ybUFycmF5KGZpZWxkLCBzZXR0aW5ncyk7XG4gICAgICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKGZpZWxkLm5hbWUsIGZvcm1BcnJheSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gW107XG4gICAgICAgIGlmIChmaWVsZC5taW5TZWxlY3RlZCAmJiBmaWVsZC5taW5TZWxlY3RlZCA+IDApIHtcbiAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGRlZmF1bHRWYWx1ZTogYW55ID0gbnVsbDtcbiAgICAgICAgaWYgKHJlc2V0ICYmIGNvbmZpZy5jYW5jZWxTZXR0aW5nKSB7XG4gICAgICAgICAgY29uc3QgY2FuY2VsRmllbGQgPSBjb25maWcuY2FuY2VsU2V0dGluZy5maWVsZHMuZmluZCgoZikgPT4gZi5uYW1lID09PSBmaWVsZC5uYW1lKTtcbiAgICAgICAgICBkZWZhdWx0VmFsdWUgPSBjYW5jZWxGaWVsZCAmJiBjYW5jZWxGaWVsZC52YWx1ZSA/IGNhbmNlbEZpZWxkLnZhbHVlWzBdIDogJyc7XG4gICAgICAgIH0gZWxzZSBpZiAoc2V0dGluZ3MgJiYgc2V0dGluZ3MuZmllbGRzKSB7XG4gICAgICAgICAgY29uc3QgbGFzdFNhdmVkVmFsdWUgPSBzZXR0aW5ncy5maWVsZHMuZmluZCgoZikgPT4gZi5uYW1lID09PSBmaWVsZC5uYW1lKTtcbiAgICAgICAgICBkZWZhdWx0VmFsdWUgPSBsYXN0U2F2ZWRWYWx1ZSAmJiBsYXN0U2F2ZWRWYWx1ZSA/IGxhc3RTYXZlZFZhbHVlLnZhbHVlWzBdIDogJyc7XG4gICAgICAgIH1cbiAgICAgICAgLy8gaWYgZmllbGQgaXMgZmluZC1wZXJzb24gYnVpbGQgYSBmb3JtIGdyb3VwO1xuICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2ZpbmQtcGVyc29uJykge1xuICAgICAgICAgIGNvbnN0IGZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICAgICAgZG9tYWluOiBuZXcgRm9ybUNvbnRyb2woJycpLFxuICAgICAgICAgICAgZW1haWw6IG5ldyBGb3JtQ29udHJvbChkZWZhdWx0VmFsdWUgJiYgZGVmYXVsdFZhbHVlLmhhc093blByb3BlcnR5KCdlbWFpbCcpID8gZGVmYXVsdFZhbHVlLmVtYWlsIDogJycsIHZhbGlkYXRvcnMpLFxuICAgICAgICAgICAgaWQ6IG5ldyBGb3JtQ29udHJvbCgnJyksXG4gICAgICAgICAgICBuYW1lOiBuZXcgRm9ybUNvbnRyb2woJycpLFxuICAgICAgICAgICAga25vd25BczogbmV3IEZvcm1Db250cm9sKCcnKSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmZvcm0uYWRkQ29udHJvbChmaWVsZC5uYW1lLCBmb3JtR3JvdXApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woZGVmYXVsdFZhbHVlLCB2YWxpZGF0b3JzKTtcbiAgICAgICAgICB0aGlzLmZvcm0uYWRkQ29udHJvbChmaWVsZC5uYW1lLCBjb250cm9sKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGlmIGZpZWxkIHVwZGF0ZXMgZmluZCBwZXJzb24gY29tcG9uZW50IHNldCB0aGUgaW5pdGlhbCBkb21haW5cbiAgICAgICAgaWYgKGZpZWxkLmZpbmRQZXJzb25GaWVsZCkge1xuICAgICAgICAgIHRoaXMuZmllbGRDaGFuZ2VkKGZpZWxkLCB0aGlzLmZvcm0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZENoZWNrQm94Rm9ybUFycmF5KGZpZWxkOiBGaWx0ZXJGaWVsZENvbmZpZywgc2V0dGluZ3M6IEZpbHRlclNldHRpbmcpOiBGb3JtQXJyYXkge1xuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBHZW5lcmljRmlsdGVyQ29tcG9uZW50LmFkZEZvcm1WYWxpZGF0b3JzKGZpZWxkKTtcbiAgICBjb25zdCBmb3JtQXJyYXkgPSB0aGlzLmZiLmFycmF5KFtdLCB2YWxpZGF0b3JzKTtcbiAgICBsZXQgZGVmYXVsdFZhbHVlcztcbiAgICBpZiAoc2V0dGluZ3MgJiYgc2V0dGluZ3MuZmllbGRzKSB7XG4gICAgICBkZWZhdWx0VmFsdWVzID0gc2V0dGluZ3MuZmllbGRzLmZpbmQoKGYpID0+IGYubmFtZSA9PT0gZmllbGQubmFtZSk7XG4gICAgfVxuICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIGZpZWxkLm9wdGlvbnMpIHtcbiAgICAgIGxldCBjaGVja2VkID0gZmFsc2U7XG4gICAgICBpZiAoZGVmYXVsdFZhbHVlcyAmJiBBcnJheS5pc0FycmF5KGRlZmF1bHRWYWx1ZXMudmFsdWUpKSB7XG4gICAgICAgIGNoZWNrZWQgPSAhIWRlZmF1bHRWYWx1ZXMudmFsdWUuZmluZCgodmFsdWUpID0+IHZhbHVlID09PSBvcHRpb24ua2V5KTtcbiAgICAgIH1cbiAgICAgIGZvcm1BcnJheS5wdXNoKG5ldyBGb3JtQ29udHJvbChjaGVja2VkKSk7XG4gICAgfVxuICAgIHJldHVybiBmb3JtQXJyYXk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRmluZExvY2F0aW9uRm9ybUFycmF5KGZpZWxkOiBGaWx0ZXJGaWVsZENvbmZpZywgc2V0dGluZ3M6IEZpbHRlclNldHRpbmcpOiBGb3JtQXJyYXkge1xuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBHZW5lcmljRmlsdGVyQ29tcG9uZW50LmFkZEZvcm1WYWxpZGF0b3JzKGZpZWxkKTtcbiAgICBjb25zdCBmb3JtQXJyYXkgPSB0aGlzLmZiLmFycmF5KFtdLCB2YWxpZGF0b3JzKTtcbiAgICBsZXQgZGVmYXVsdFZhbHVlczogeyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBhbnlbXSB9O1xuICAgIGlmIChzZXR0aW5ncyAmJiBzZXR0aW5ncy5maWVsZHMpIHtcbiAgICAgIGRlZmF1bHRWYWx1ZXMgPSBzZXR0aW5ncy5maWVsZHMuZmluZCgoZikgPT4gZi5uYW1lID09PSBmaWVsZC5uYW1lKTtcbiAgICAgIGlmIChkZWZhdWx0VmFsdWVzKSB7XG4gICAgICAgIGZvciAoY29uc3QgZGVmYXVsdFZhbHVlIG9mIGRlZmF1bHRWYWx1ZXMudmFsdWUpIHtcbiAgICAgICAgICBmb3JtQXJyYXkucHVzaChuZXcgRm9ybUNvbnRyb2woZGVmYXVsdFZhbHVlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZvcm1BcnJheTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VsZWN0ZWRWYWx1ZXMoZm9ybVZhbHVlczogYW55LCBjb25maWc6IEZpbHRlckNvbmZpZyk6IGFueSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGZvcm1WYWx1ZXMpLm1hcCgobmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZXMgPSBmb3JtVmFsdWVzW25hbWVdO1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWVzKSkge1xuICAgICAgICBjb25zdCBmaWVsZCA9IGNvbmZpZy5maWVsZHMuZmluZChmID0+IGYubmFtZSA9PT0gbmFtZSk7XG4gICAgICAgIGlmIChmaWVsZC50eXBlID09PSAnZmluZC1sb2NhdGlvbicpIHtcbiAgICAgICAgICByZXR1cm4ge3ZhbHVlOiB2YWx1ZXMsIG5hbWV9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB7dmFsdWU6IGdldFZhbHVlcyhmaWVsZC5vcHRpb25zLCB2YWx1ZXMpLCBuYW1lfTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHt2YWx1ZTogW3ZhbHVlc10sIG5hbWV9O1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0Rm9ybUVycm9ycyhmb3JtOiBGb3JtR3JvdXApOiB2b2lkIHtcbiAgICBjb25zdCBlcnJvcnM6IEZpbHRlckVycm9yW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIHRoaXMuY29uZmlnLmZpZWxkcykge1xuICAgICAgY29uc3QgZm9ybUdyb3VwID0gZm9ybS5nZXQoZmllbGQubmFtZSk7XG4gICAgICBpZiAoZm9ybUdyb3VwICYmIGZvcm1Hcm91cC5lcnJvcnMgJiYgZm9ybUdyb3VwLmVycm9ycy5taW5MZW5ndGgpIHtcbiAgICAgICAgZXJyb3JzLnB1c2goe25hbWU6IGZpZWxkLm5hbWUsIGVycm9yOiBmaWVsZC5taW5TZWxlY3RlZEVycm9yfSk7XG4gICAgICB9XG4gICAgICBpZiAoZm9ybUdyb3VwICYmIGZvcm1Hcm91cC5lcnJvcnMgJiYgZm9ybUdyb3VwLmVycm9ycy5tYXhMZW5ndGgpIHtcbiAgICAgICAgZXJyb3JzLnB1c2goe25hbWU6IGZpZWxkLm5hbWUsIGVycm9yOiBmaWVsZC5taW5TZWxlY3RlZEVycm9yfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChlcnJvcnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmZpbHRlclNlcnZpY2UuZ2l2ZW5FcnJvcnMubmV4dChlcnJvcnMpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
630
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL3JweC14dWktY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2dlbmVyaWMtZmlsdGVyL2dlbmVyaWMtZmlsdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQWtCLFNBQVMsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBZSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4SCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDckUsT0FBTyxFQUFDLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBUzdGLE1BQU0sT0FBTyxzQkFBc0I7Ozs7O0lBS2pDLFlBQTZCLGFBQTRCLEVBQW1CLEVBQWU7UUFBOUQsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBbUIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUhwRixjQUFTLEdBQUcsS0FBSyxDQUFDO0lBSXpCLENBQUM7Ozs7SUFLRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQzs7Ozs7SUFFRCxJQUNXLE1BQU0sQ0FBQyxLQUFtQjtRQUNuQyxJQUFJLENBQUMsT0FBTyxxQkFDUCxLQUFLLElBQ1IsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRzs7OztZQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsbUJBQzdCLEtBQUssSUFDUix1QkFBdUIsRUFBRSxLQUFLLEVBQzlCLHVCQUF1QixFQUFFLEtBQUssSUFDOUIsRUFBQyxHQUNKLENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxH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QUFDLENBQUM7YUFDaEU7WUFDRCxJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO2dCQUMvRCxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsRUFBQyxDQUFDLENBQUM7YUFDaEU7U0FDRjtRQUNELElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDN0M7SUFDSCxDQUFDOzs7WUFuWUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLHk3TkFBNEM7Z0JBRTVDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7YUFDdEM7Ozs7WUFUTyxhQUFhO1lBSGUsV0FBVzs7O3FCQTRCNUMsS0FBSzt1QkFvQkwsS0FBSzs7OztJQWxDTixzQ0FBdUI7O0lBQ3ZCLDJDQUF5Qjs7SUFDekIseUNBQTZCOzs7OztJQU03Qix5Q0FBOEI7Ozs7O0lBb0I5QiwyQ0FBa0M7Ozs7O0lBeEJ0QiwrQ0FBNkM7Ozs7O0lBQUUsb0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBGb3JtQXJyYXksIEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtGaWx0ZXJDb25maWcsIEZpbHRlckVycm9yLCBGaWx0ZXJGaWVsZENvbmZpZywgRmlsdGVyU2V0dGluZ30gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7RmlsdGVyU2VydmljZX0gZnJvbSAnLi8uLi8uLi9zZXJ2aWNlcy9maWx0ZXIvZmlsdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtnZXRWYWx1ZXMsIG1heFNlbGVjdGVkVmFsaWRhdG9yLCBtaW5TZWxlY3RlZFZhbGlkYXRvcn0gZnJvbSAnLi9nZW5lcmljLWZpbHRlci11dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3h1aWxpYi1nZW5lcmljLWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnZ2VuZXJpYy1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnZ2VuZXJpYy1maWx0ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgR2VuZXJpY0ZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcbiAgcHVibGljIHN1Ym1pdHRlZCA9IGZhbHNlO1xuICBwdWJsaWMgZm9ybVN1YjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZmlsdGVyU2VydmljZTogRmlsdGVyU2VydmljZSwgcHJpdmF0ZSByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIpIHtcbiAgfVxuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIHByaXZhdGUgX2NvbmZpZzogRmlsdGVyQ29uZmlnO1xuXG4gIHB1YmxpYyBnZXQgY29uZmlnKCk6IEZpbHRlckNvbmZpZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZztcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY29uZmlnKHZhbHVlOiBGaWx0ZXJDb25maWcpIHtcbiAgICB0aGlzLl9jb25maWcgPSB7XG4gICAgICAuLi52YWx1ZSxcbiAgICAgIGZpZWxkczogdmFsdWUuZmllbGRzLm1hcChmaWVsZCA9PiAoe1xuICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgZGlzcGxheU1pblNlbGVjdGVkRXJyb3I6IGZhbHNlLFxuICAgICAgICBkaXNwbGF5TWF4U2VsZWN0ZWRFcnJvcjogZmFsc2UsXG4gICAgICB9KSlcbiAgICB9O1xuICAgIHRoaXMuX2NvbmZpZyA9IHZhbHVlO1xuICB9XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcbiAgcHJpdmF0ZSBfc2V0dGluZ3M/OiBGaWx0ZXJTZXR0aW5nO1xuXG4gIHB1YmxpYyBnZXQgc2V0dGluZ3MoKTogRmlsdGVyU2V0dGluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3NldHRpbmdzO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZXR0aW5ncyh2YWx1ZTogRmlsdGVyU2V0dGluZykge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHRoaXMuZ2V0U2V0dGluZ3MoKTtcbiAgICB9XG4gICAgaWYgKHZhbHVlICYmIHZhbHVlLmZpZWxkcykge1xuICAgICAgdGhpcy5tZXJnZURlZmF1bHRGaWVsZHModmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLl9zZXR0aW5ncyA9IHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgYWRkRm9ybVZhbGlkYXRvcnMoZmllbGQ6IEZpbHRlckZpZWxkQ29uZmlnKTogVmFsaWRhdG9ycyB7XG4gICAgY29uc3QgdmFsaWRhdG9ycyA9IFtdO1xuICAgIGlmIChmaWVsZCAmJiBmaWVsZC5taW5TZWxlY3RlZCkge1xuICAgICAgdmFsaWRhdG9ycy5wdXNoKG1pblNlbGVjdGVkVmFsaWRhdG9yKGZpZWxkLm1pblNlbGVjdGVkKSk7XG4gICAgfVxuXG4gICAgaWYgKGZpZWxkICYmIGZpZWxkLm1heFNlbGVjdGVkKSB7XG4gICAgICB2YWxpZGF0b3JzLnB1c2gobWF4U2VsZWN0ZWRWYWxpZGF0b3IoZmllbGQubWF4U2VsZWN0ZWQpKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbGlkYXRvcnM7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNldHRpbmdzKSB7XG4gICAgICB0aGlzLmdldFNldHRpbmdzKCk7XG4gICAgfVxuICAgIHRoaXMubWVyZ2VEZWZhdWx0RmllbGRzKHRoaXMuc2V0dGluZ3MpO1xuICAgIHRoaXMuYnVpbGRGb3JtKHRoaXMuY29uZmlnLCB0aGlzLnNldHRpbmdzKTtcbiAgICB0aGlzLmZvcm1TdWIgPSB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB0aGlzLnN1Ym1pdHRlZCA9IGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtU3ViKSB7XG4gICAgICB0aGlzLmZvcm1TdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGlkZGVuKGZpZWxkOiBGaWx0ZXJGaWVsZENvbmZpZywgZm9ybTogRm9ybUdyb3VwKTogYm9vbGVhbiB7XG4gICAgaWYgKCFmaWVsZC5zaG93Q29uZGl0aW9uKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgZmllbGQuc2hvd0NvbmRpdGlvbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtLmdldChmaWVsZC5uYW1lKSBhcyBGb3JtQ29udHJvbDtcbiAgICAgIGNvbnN0IFtuYW1lLCB2YWx1ZV0gPSBmaWVsZC5zaG93Q29uZGl0aW9uLnNwbGl0KCc9Jyk7XG4gICAgICBpZiAoZm9ybS52YWx1ZSAmJiBmb3JtLnZhbHVlW25hbWVdID09PSB2YWx1ZSkge1xuICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2ZpbmQtcGVyc29uJykge1xuICAgICAgICAgIGNvbnRyb2wuZ2V0KCdlbWFpbCcpLnNldFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICAgICAgY29udHJvbC5nZXQoJ2VtYWlsJykudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgICAgICBjb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2ZpbmQtcGVyc29uJykge1xuICAgICAgICAgIGNvbnRyb2wuZ2V0KCdlbWFpbCcpLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICAgIGNvbnRyb2wuZ2V0KCdlbWFpbCcpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb250cm9sLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgICAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHVibGljIGRpc2FibGVkKGZpZWxkOiBGaWx0ZXJGaWVsZENvbmZpZywgZm9ybTogRm9ybUdyb3VwKTogYm9vbGVhbiB7XG4gICAgaWYgKCFmaWVsZC5lbmFibGVDb25kaXRpb24pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGZpZWxkLmVuYWJsZUNvbmRpdGlvbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtLmdldChmaWVsZC5uYW1lKSBhcyBGb3JtQ29udHJvbDtcbiAgICAgIGNvbnN0IFtuYW1lLCB2YWx1ZV0gPSBmaWVsZC5lbmFibGVDb25kaXRpb24uc3BsaXQoJz0nKTtcbiAgICAgIGlmIChmb3JtLnZhbHVlICYmIGZvcm0udmFsdWVbbmFtZV0gPT09IHZhbHVlKSB7XG4gICAgICAgIGlmIChmaWVsZC50eXBlID09PSAnZmluZC1wZXJzb24nKSB7XG4gICAgICAgICAgY29udHJvbC5nZXQoJ2VtYWlsJykuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgICAgICBjb250cm9sLmdldCgnZW1haWwnKS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29udHJvbC5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdmaW5kLXBlcnNvbicpIHtcbiAgICAgICAgICBjb250cm9sLmdldCgnZW1haWwnKS5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgICBjb250cm9sLmdldCgnZW1haWwnKS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29udHJvbC5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICAgICAgICBjb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvLyBmaW5kLWxvY2F0aW9uIGlzIHNwZWNpYWwgY2FzZSB3aGVyZSBuZWVkIHRvIHJlc2V0IHRleHRib3ggKGJ5IGV4aXN0aW5nIGRpc2FibGluZyBmdW5jdGlvbmFsaXR5KVxuICAgIC8vIGZpZWxkLmRpc2FibGUgcmVmZXJyZWQgdG8gY29tcG9uZW50IGl0c2VsZlxuICAgIGlmIChmaWVsZC50eXBlID09PSAnZmluZC1sb2NhdGlvbicpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvLyBOb3RlOiBmaWVsZC5kaXNhYmxlIGRlY2lkZXMgd2hldGhlciB0byBhY3R1YWxseSBkaXNhYmxlIG9yIG5vdFxuICAgIHJldHVybiBmaWVsZC5kaXNhYmxlID8gZmllbGQuZGlzYWJsZSA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgYXBwbHlGaWx0ZXIoZm9ybTogRm9ybUdyb3VwKTogdm9pZCB7XG4gICAgdGhpcy5zdWJtaXR0ZWQgPSB0cnVlO1xuICAgIGZvcm0ubWFya0FzVG91Y2hlZCgpO1xuICAgIGlmIChmb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLl9zZXR0aW5ncyA9IHtcbiAgICAgICAgaWQ6IHRoaXMuY29uZmlnLmlkLFxuICAgICAgICBmaWVsZHM6IHRoaXMuZ2V0U2VsZWN0ZWRWYWx1ZXMoZm9ybS52YWx1ZSwgdGhpcy5jb25maWcpXG4gICAgICB9O1xuICAgICAgdGhpcy5maWx0ZXJTZXJ2aWNlLmdpdmVuRXJyb3JzLm5leHQobnVsbCk7XG4gICAgICBjb25zdCBzZXR0aW5ncyA9IHsuLi50aGlzLnNldHRpbmdzLCByZXNldDogZmFsc2V9O1xuICAgICAgdGhpcy5maWx0ZXJTZXJ2aWNlLnBlcnNpc3Qoc2V0dGluZ3MsIHRoaXMuY29uZmlnLnBlcnNpc3RlbmNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lbWl0Rm9ybUVycm9ycyhmb3JtKTtcbiAgICB9XG4gIH1cblxuICAvLyB3aGVuIGRvbWFpbiBjaGFuZ2VzIGVuc3VyZSB0aGF0IHBlcnNvbiBmaWVsZCBpcyByZXNldFxuICBwdWJsaWMgZmllbGRDaGFuZ2VkKGZpZWxkOiBGaWx0ZXJGaWVsZENvbmZpZywgZm9ybTogRm9ybUdyb3VwKTogdm9pZCB7XG4gICAgLy8gVE9ETyAtIERvIHNpbWlsYXIgd2l0aCBqdXJpc2RpY3Rpb24vc2VydmljZSBmb3IgY2FzZXdvcmtlcnMgYnkgc2VydmljZXNcbiAgICBpZiAoZmllbGQuY2hhbmdlUmVzZXRGaWVsZHMgJiYgZmllbGQuY2hhbmdlUmVzZXRGaWVsZHMubGVuZ3RoKSB7XG4gICAgICBmb3IgKGNvbnN0IHJlc2V0RmllbGQgb2YgZmllbGQuY2hhbmdlUmVzZXRGaWVsZHMpIHtcbiAgICAgICAgdGhpcy5yZXNldEZpZWxkKHJlc2V0RmllbGQsIGZvcm0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHdoZW4gdXNlciBlbnRlcnMgaW5wdXQgY2hhbmdlIHJhZGlvIGJ1dHRvblxuICBwdWJsaWMgaW5wdXRDaGFuZ2VkKGZpZWxkOiBGaWx0ZXJGaWVsZENvbmZpZyk6IHZvaWQge1xuICAgIGlmIChmaWVsZC5yYWRpb1NlbGVjdGlvbkNoYW5nZSAmJiB0eXBlb2YgZmllbGQucmFkaW9TZWxlY3Rpb25DaGFuZ2UgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBbbmFtZSwgdmFsdWVdID0gZmllbGQuZW5hYmxlQ29uZGl0aW9uLnNwbGl0KCc9Jyk7XG4gICAgICB0aGlzLmZvcm0uZ2V0KG5hbWUpLnBhdGNoVmFsdWUodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWxGaWx0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5idWlsZEZvcm0odGhpcy5jb25maWcsIHRoaXMuc2V0dGluZ3MsIHRydWUpO1xuICAgIGlmICh0aGlzLmNvbmZpZyAmJiB0aGlzLmNvbmZpZy5jYW5jZWxTZXR0aW5nKSB7XG4gICAgICB0aGlzLl9zZXR0aW5ncy5maWVsZHMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuY29uZmlnLmNhbmNlbFNldHRpbmcuZmllbGRzKSk7XG4gICAgfVxuICAgIGNvbnN0IHNldHRpbmdzID0gey4uLnRoaXMuc2V0dGluZ3MsIHJlc2V0OiB0cnVlfTtcbiAgICB0aGlzLmZpbHRlclNlcnZpY2UucGVyc2lzdChzZXR0aW5ncywgdGhpcy5jb25maWcucGVyc2lzdGVuY2UpO1xuICAgIHRoaXMuZmlsdGVyU2VydmljZS5naXZlbkVycm9ycy5uZXh0KG51bGwpO1xuICAgIHRoaXMuc3VibWl0dGVkID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlUGVyc29uQ29udHJvbHModmFsdWVzOiBhbnksIGZpZWxkOiBGaWx0ZXJGaWVsZENvbmZpZyk6IHZvaWQge1xuICAgIGxldCBrZXlzO1xuICAgIGlmICghdmFsdWVzKSB7XG4gICAgICBrZXlzID0gT2JqZWN0LmtleXModGhpcy5mb3JtLmdldChmaWVsZC5uYW1lKS52YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGtleXMgPSBPYmplY3Qua2V5cyh2YWx1ZXMpO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICBpZiAodGhpcy5mb3JtLmdldChmaWVsZC5uYW1lKSAmJiB0aGlzLmZvcm0uZ2V0KGZpZWxkLm5hbWUpLmdldChrZXkpKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVzICYmIHZhbHVlc1trZXldID8gdmFsdWVzW2tleV0gOiBudWxsO1xuICAgICAgICB0aGlzLmZvcm0uZ2V0KGZpZWxkLm5hbWUpLmdldChrZXkpLnBhdGNoVmFsdWUodmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVTZWxlY3RBbGwoZXZlbnQ6IGFueSwgZm9ybTogRm9ybUdyb3VwLCBpdGVtOiB7IGtleTogc3RyaW5nOyBsYWJlbDogc3RyaW5nOyBzZWxlY3RBbGw/OiB0cnVlIH0sIGZpZWxkOiBGaWx0ZXJGaWVsZENvbmZpZyk6IHZvaWQge1xuICAgIGNvbnN0IGlzQ2hlY2tlZCA9IGV2ZW50LnRhcmdldC5jaGVja2VkO1xuICAgIGNvbnN0IGZvcm1BcnJheTogRm9ybUFycmF5ID0gZm9ybS5nZXQoZmllbGQubmFtZSkgYXMgRm9ybUFycmF5O1xuICAgIGlmICghaXRlbS5zZWxlY3RBbGwpIHtcbiAgICAgIGNvbnN0IGFsbENoZWNrZWQgPSBmb3JtQXJyYXkuY29udHJvbHMuZXZlcnkoKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4gY29udHJvbC52YWx1ZSk7XG4gICAgICBsZXQgaW5kZXg6IG51bWJlciA9IG51bGw7XG4gICAgICBjb25zdCBoYXNTZWxlY3RBbGxPcHRpb24gPSBmaWVsZC5vcHRpb25zLmZpbmQoKG9wdGlvbiwgaSkgPT4ge1xuICAgICAgICBpZiAob3B0aW9uLmhhc093blByb3BlcnR5KCdzZWxlY3RBbGwnKSkge1xuICAgICAgICAgIGluZGV4ID0gaTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9KTtcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gICAgICBjb25zdCBpc0FsbENoZWNrZWRFeGNsdWRpbmdUaGVTZWxlY3RBbGxPcHRpb24gPSBmb3JtQXJyYXkuY29udHJvbHMuZmlsdGVyKChfY29udHJvbDogQWJzdHJhY3RDb250cm9sLCBpOiBudW1iZXIpID0+IGkgIT09IGluZGV4KVxuICAgICAgICAuZXZlcnkoKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4gY29udHJvbC52YWx1ZSk7XG5cbiAgICAgIGlmICghYWxsQ2hlY2tlZCAmJiBoYXNTZWxlY3RBbGxPcHRpb24gJiYgIWlzQ2hlY2tlZCkge1xuICAgICAgICBmb3JtQXJyYXkuY29udHJvbHMuZm9yRWFjaCgoY29udHJvbDogQWJzdHJhY3RDb250cm9sLCBpOiBudW1iZXIpID0+IHtcbiAgICAgICAgICBpZiAoaW5kZXggPT09IGkpIHtcbiAgICAgICAgICAgIGNvbnRyb2wucGF0Y2hWYWx1ZShmYWxzZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoaGFzU2VsZWN0QWxsT3B0aW9uICYmICFhbGxDaGVja2VkICYmIGlzQ2hlY2tlZCAmJiBpc0FsbENoZWNrZWRFeGNsdWRpbmdUaGVTZWxlY3RBbGxPcHRpb24pIHtcbiAgICAgICAgZm9ybUFycmF5LmNvbnRyb2xzW2luZGV4XS5wYXRjaFZhbHVlKHRydWUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmb3JtQXJyYXkuY29udHJvbHMuZm9yRWFjaCgoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XG4gICAgICBpZiAoaXNDaGVja2VkKSB7XG4gICAgICAgIGNvbnRyb2wucGF0Y2hWYWx1ZSh0cnVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnRyb2wucGF0Y2hWYWx1ZShmYWxzZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0RmllbGQocmVzZXRGaWVsZDogc3RyaW5nLCBmb3JtOiBGb3JtR3JvdXApOiB2b2lkIHtcbiAgICBjb25zdCBjb250cm9sID0gZm9ybS5nZXQocmVzZXRGaWVsZCk7XG4gICAgY29uc3QgZGVmYXVsdFZhbHVlOiB7IG5hbWU6IHN0cmluZywgdmFsdWU6IGFueVtdIH0gPSB0aGlzLmNvbmZpZy5jYW5jZWxTZXR0aW5nLmZpZWxkcy5maW5kKChmKSA9PiBmLm5hbWUgPT09IHJlc2V0RmllbGQpO1xuICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbnRyb2wubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29udHJvbC5yZW1vdmVBdChpKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcbiAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb250cm9sLnZhbHVlKTtcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICAgICAgdGhpcy5yZXNldEZpZWxkKGtleSwgY29udHJvbCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2wpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gZGVmYXVsdFZhbHVlICYmIGRlZmF1bHRWYWx1ZS52YWx1ZSAmJiBkZWZhdWx0VmFsdWUudmFsdWUubGVuZ3RoID8gZGVmYXVsdFZhbHVlLnZhbHVlWzBdIDogbnVsbDtcbiAgICAgIGNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbWVyZ2VEZWZhdWx0RmllbGRzKGZpbHRlcjogRmlsdGVyU2V0dGluZyk6IHZvaWQge1xuICAgIGlmIChmaWx0ZXIpIHtcbiAgICAgIGZpbHRlci5maWVsZHMgPSB0aGlzLmZpbHRlclNlcnZpY2UuZ2V0KHRoaXMuY29uZmlnLmlkKSA/IHRoaXMuZmlsdGVyU2VydmljZS5nZXQodGhpcy5jb25maWcuaWQpLmZpZWxkcyA6IGZpbHRlci5maWVsZHM7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZyAmJiB0aGlzLmNvbmZpZy5jYW5jZWxTZXR0aW5nKSB7XG4gICAgICB0aGlzLl9zZXR0aW5ncyA9IHtcbiAgICAgICAgaWQ6IHRoaXMuY29uZmlnLmlkLFxuICAgICAgICBmaWVsZHM6IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5jb25maWcuY2FuY2VsU2V0dGluZy5maWVsZHMpKVxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFNldHRpbmdzKCk6IHZvaWQge1xuICAgIHRoaXMuX3NldHRpbmdzID0gdGhpcy5maWx0ZXJTZXJ2aWNlLmdldCh0aGlzLmNvbmZpZy5pZCk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRm9ybShjb25maWc6IEZpbHRlckNvbmZpZywgc2V0dGluZ3M6IEZpbHRlclNldHRpbmcsIHJlc2V0PzogYm9vbGVhbik6IHZvaWQge1xuICAgIGNvbnN0IGZpbmRQZXJzb25Db250cm9sID0gdGhpcy5mb3JtID8gdGhpcy5mb3JtLmdldCgnZmluZFBlcnNvbkNvbnRyb2wnKSA6IG51bGw7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7fSk7XG4gICAgaWYgKGZpbmRQZXJzb25Db250cm9sKSB7XG4gICAgICAvLyBpbiBvcmRlciB0byBtYWludGFpbiBmaW5kIHBlcnNvbiBjb21wb25lbnQsIGNvbnRyb2wgbmVlZHMgdG8gYmUga2VwdFxuICAgICAgdGhpcy5mb3JtLmFkZENvbnRyb2woJ2ZpbmRQZXJzb25Db250cm9sJywgZmluZFBlcnNvbkNvbnRyb2wpO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIGNvbmZpZy5maWVsZHMpIHtcbiAgICAgIGlmIChmaWVsZC50eXBlID09PSAnY2hlY2tib3gnIHx8IGZpZWxkLnR5cGUgPT09ICdjaGVja2JveC1sYXJnZScpIHtcbiAgICAgICAgY29uc3QgZm9ybUFycmF5ID0gdGhpcy5idWlsZENoZWNrQm94Rm9ybUFycmF5KGZpZWxkLCBzZXR0aW5ncyk7XG4gICAgICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKGZpZWxkLm5hbWUsIGZvcm1BcnJheSk7XG4gICAgICB9IGVsc2UgaWYgKGZpZWxkLnR5cGUgPT09ICdmaW5kLWxvY2F0aW9uJykge1xuICAgICAgICBjb25zdCBmb3JtQXJyYXkgPSB0aGlzLmJ1aWxkRmluZExvY2F0aW9uRm9ybUFycmF5KGZpZWxkLCBzZXR0aW5ncyk7XG4gICAgICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKGZpZWxkLm5hbWUsIGZvcm1BcnJheSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gW107XG4gICAgICAgIGlmIChmaWVsZC5taW5TZWxlY3RlZCAmJiBmaWVsZC5taW5TZWxlY3RlZCA+IDApIHtcbiAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGRlZmF1bHRWYWx1ZTogYW55ID0gbnVsbDtcbiAgICAgICAgaWYgKHJlc2V0ICYmIGNvbmZpZy5jYW5jZWxTZXR0aW5nKSB7XG4gICAgICAgICAgY29uc3QgY2FuY2VsRmllbGQgPSBjb25maWcuY2FuY2VsU2V0dGluZy5maWVsZHMuZmluZCgoZikgPT4gZi5uYW1lID09PSBmaWVsZC5uYW1lKTtcbiAgICAgICAgICBkZWZhdWx0VmFsdWUgPSBjYW5jZWxGaWVsZCAmJiBjYW5jZWxGaWVsZC52YWx1ZSA/IGNhbmNlbEZpZWxkLnZhbHVlWzBdIDogJyc7XG4gICAgICAgIH0gZWxzZSBpZiAoc2V0dGluZ3MgJiYgc2V0dGluZ3MuZmllbGRzKSB7XG4gICAgICAgICAgY29uc3QgbGFzdFNhdmVkVmFsdWUgPSBzZXR0aW5ncy5maWVsZHMuZmluZCgoZikgPT4gZi5uYW1lID09PSBmaWVsZC5uYW1lKTtcbiAgICAgICAgICBkZWZhdWx0VmFsdWUgPSBsYXN0U2F2ZWRWYWx1ZSAmJiBsYXN0U2F2ZWRWYWx1ZSA/IGxhc3RTYXZlZFZhbHVlLnZhbHVlWzBdIDogJyc7XG4gICAgICAgIH1cbiAgICAgICAgLy8gaWYgZmllbGQgaXMgZmluZC1wZXJzb24gYnVpbGQgYSBmb3JtIGdyb3VwO1xuICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ2ZpbmQtcGVyc29uJykge1xuICAgICAgICAgIGNvbnN0IGZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICAgICAgZG9tYWluOiBuZXcgRm9ybUNvbnRyb2woJycpLFxuICAgICAgICAgICAgZW1haWw6IG5ldyBGb3JtQ29udHJvbChkZWZhdWx0VmFsdWUgJiYgZGVmYXVsdFZhbHVlLmhhc093blByb3BlcnR5KCdlbWFpbCcpID8gZGVmYXVsdFZhbHVlLmVtYWlsIDogJycsIHZhbGlkYXRvcnMpLFxuICAgICAgICAgICAgaWQ6IG5ldyBGb3JtQ29udHJvbCgnJyksXG4gICAgICAgICAgICBuYW1lOiBuZXcgRm9ybUNvbnRyb2woJycpLFxuICAgICAgICAgICAga25vd25BczogbmV3IEZvcm1Db250cm9sKCcnKSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmZvcm0uYWRkQ29udHJvbChmaWVsZC5uYW1lLCBmb3JtR3JvdXApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woZGVmYXVsdFZhbHVlLCB2YWxpZGF0b3JzKTtcbiAgICAgICAgICB0aGlzLmZvcm0uYWRkQ29udHJvbChmaWVsZC5uYW1lLCBjb250cm9sKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGlmIGZpZWxkIHVwZGF0ZXMgZmluZCBwZXJzb24gY29tcG9uZW50IHNldCB0aGUgaW5pdGlhbCBkb21haW5cbiAgICAgICAgaWYgKGZpZWxkLmZpbmRQZXJzb25GaWVsZCkge1xuICAgICAgICAgIHRoaXMuZmllbGRDaGFuZ2VkKGZpZWxkLCB0aGlzLmZvcm0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZENoZWNrQm94Rm9ybUFycmF5KGZpZWxkOiBGaWx0ZXJGaWVsZENvbmZpZywgc2V0dGluZ3M6IEZpbHRlclNldHRpbmcpOiBGb3JtQXJyYXkge1xuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBHZW5lcmljRmlsdGVyQ29tcG9uZW50LmFkZEZvcm1WYWxpZGF0b3JzKGZpZWxkKTtcbiAgICBjb25zdCBmb3JtQXJyYXkgPSB0aGlzLmZiLmFycmF5KFtdLCB2YWxpZGF0b3JzKTtcbiAgICBsZXQgZGVmYXVsdFZhbHVlcztcbiAgICBpZiAoc2V0dGluZ3MgJiYgc2V0dGluZ3MuZmllbGRzKSB7XG4gICAgICBkZWZhdWx0VmFsdWVzID0gc2V0dGluZ3MuZmllbGRzLmZpbmQoKGYpID0+IGYubmFtZSA9PT0gZmllbGQubmFtZSk7XG4gICAgfVxuICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIGZpZWxkLm9wdGlvbnMpIHtcbiAgICAgIGxldCBjaGVja2VkID0gZmFsc2U7XG4gICAgICBpZiAoZGVmYXVsdFZhbHVlcyAmJiBBcnJheS5pc0FycmF5KGRlZmF1bHRWYWx1ZXMudmFsdWUpKSB7XG4gICAgICAgIGNoZWNrZWQgPSAhIWRlZmF1bHRWYWx1ZXMudmFsdWUuZmluZCgodmFsdWUpID0+IHZhbHVlID09PSBvcHRpb24ua2V5KTtcbiAgICAgIH1cbiAgICAgIGZvcm1BcnJheS5wdXNoKG5ldyBGb3JtQ29udHJvbChjaGVja2VkKSk7XG4gICAgfVxuICAgIHJldHVybiBmb3JtQXJyYXk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRmluZExvY2F0aW9uRm9ybUFycmF5KGZpZWxkOiBGaWx0ZXJGaWVsZENvbmZpZywgc2V0dGluZ3M6IEZpbHRlclNldHRpbmcpOiBGb3JtQXJyYXkge1xuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBHZW5lcmljRmlsdGVyQ29tcG9uZW50LmFkZEZvcm1WYWxpZGF0b3JzKGZpZWxkKTtcbiAgICBjb25zdCBmb3JtQXJyYXkgPSB0aGlzLmZiLmFycmF5KFtdLCB2YWxpZGF0b3JzKTtcbiAgICBsZXQgZGVmYXVsdFZhbHVlczogeyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBhbnlbXSB9O1xuICAgIGlmIChzZXR0aW5ncyAmJiBzZXR0aW5ncy5maWVsZHMpIHtcbiAgICAgIGRlZmF1bHRWYWx1ZXMgPSBzZXR0aW5ncy5maWVsZHMuZmluZCgoZikgPT4gZi5uYW1lID09PSBmaWVsZC5uYW1lKTtcbiAgICAgIGlmIChkZWZhdWx0VmFsdWVzICYmIGRlZmF1bHRWYWx1ZXMudmFsdWUgJiYgZGVmYXVsdFZhbHVlcy52YWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgIGZvciAoY29uc3QgZGVmYXVsdFZhbHVlIG9mIGRlZmF1bHRWYWx1ZXMudmFsdWUpIHtcbiAgICAgICAgICBmb3JtQXJyYXkucHVzaChuZXcgRm9ybUNvbnRyb2woZGVmYXVsdFZhbHVlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZvcm1BcnJheTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2VsZWN0ZWRWYWx1ZXMoZm9ybVZhbHVlczogYW55LCBjb25maWc6IEZpbHRlckNvbmZpZyk6IGFueSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGZvcm1WYWx1ZXMpLm1hcCgobmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZXMgPSBmb3JtVmFsdWVzW25hbWVdO1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWVzKSkge1xuICAgICAgICBjb25zdCBmaWVsZCA9IGNvbmZpZy5maWVsZHMuZmluZChmID0+IGYubmFtZSA9PT0gbmFtZSk7XG4gICAgICAgIGlmIChmaWVsZC50eXBlID09PSAnZmluZC1sb2NhdGlvbicpIHtcbiAgICAgICAgICByZXR1cm4ge3ZhbHVlOiB2YWx1ZXMsIG5hbWV9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB7dmFsdWU6IGdldFZhbHVlcyhmaWVsZC5vcHRpb25zLCB2YWx1ZXMpLCBuYW1lfTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHt2YWx1ZTogW3ZhbHVlc10sIG5hbWV9O1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0Rm9ybUVycm9ycyhmb3JtOiBGb3JtR3JvdXApOiB2b2lkIHtcbiAgICBjb25zdCBlcnJvcnM6IEZpbHRlckVycm9yW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIHRoaXMuY29uZmlnLmZpZWxkcykge1xuICAgICAgY29uc3QgZm9ybUdyb3VwID0gZm9ybS5nZXQoZmllbGQubmFtZSk7XG4gICAgICBpZiAoZm9ybUdyb3VwICYmIGZvcm1Hcm91cC5lcnJvcnMgJiYgZm9ybUdyb3VwLmVycm9ycy5taW5MZW5ndGgpIHtcbiAgICAgICAgZXJyb3JzLnB1c2goe25hbWU6IGZpZWxkLm5hbWUsIGVycm9yOiBmaWVsZC5taW5TZWxlY3RlZEVycm9yfSk7XG4gICAgICB9XG4gICAgICBpZiAoZm9ybUdyb3VwICYmIGZvcm1Hcm91cC5lcnJvcnMgJiYgZm9ybUdyb3VwLmVycm9ycy5tYXhMZW5ndGgpIHtcbiAgICAgICAgZXJyb3JzLnB1c2goe25hbWU6IGZpZWxkLm5hbWUsIGVycm9yOiBmaWVsZC5taW5TZWxlY3RlZEVycm9yfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChlcnJvcnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmZpbHRlclNlcnZpY2UuZ2l2ZW5FcnJvcnMubmV4dChlcnJvcnMpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -27,6 +27,7 @@ export class SearchLocationComponent {
|
|
|
27
27
|
this.locations = [];
|
|
28
28
|
this.locationSelected = new EventEmitter();
|
|
29
29
|
this.locationInputChanged = new EventEmitter();
|
|
30
|
+
this.searchLocationChanged = new EventEmitter();
|
|
30
31
|
this.minSearchCharacters = 3;
|
|
31
32
|
this.term = '';
|
|
32
33
|
this.pSelectedLocations = [];
|
|
@@ -135,6 +136,12 @@ export class SearchLocationComponent {
|
|
|
135
136
|
this.showAutocomplete = true;
|
|
136
137
|
}));
|
|
137
138
|
}
|
|
139
|
+
/**
|
|
140
|
+
* @return {?}
|
|
141
|
+
*/
|
|
142
|
+
onInput() {
|
|
143
|
+
this.searchLocationChanged.emit();
|
|
144
|
+
}
|
|
138
145
|
/**
|
|
139
146
|
* @param {?} term
|
|
140
147
|
* @return {?}
|
|
@@ -171,7 +178,7 @@ export class SearchLocationComponent {
|
|
|
171
178
|
SearchLocationComponent.decorators = [
|
|
172
179
|
{ type: Component, args: [{
|
|
173
180
|
selector: 'exui-search-location',
|
|
174
|
-
template: "<div class=\"auto-complete-container\">\n <input\n id=\"inputLocationSearch\"\n [formControl]=\"form.controls.searchTerm\"\n [matAutocomplete]=\"autoSearchLocation\"\n class=\"govuk-input\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLocation=\"matAutocomplete\">\n <mat-option *ngFor=\"let location of locations\"\n (onSelectionChange)=\"onSelectionChange(location)\">\n {{ location.site_name }}\n </mat-option>\n <mat-option *ngIf=\"!locations.length && showAutocomplete && term && term.length >= this.minSearchCharacters\">No results found</mat-option>\n </mat-autocomplete>\n</div>\n",
|
|
181
|
+
template: "<div class=\"auto-complete-container\">\n <input\n id=\"inputLocationSearch\"\n (input)=\"onInput()\"\n [formControl]=\"form.controls.searchTerm\"\n [matAutocomplete]=\"autoSearchLocation\"\n class=\"govuk-input\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLocation=\"matAutocomplete\">\n <mat-option *ngFor=\"let location of locations\"\n (onSelectionChange)=\"onSelectionChange(location)\">\n {{ location.site_name }}\n </mat-option>\n <mat-option *ngIf=\"!locations.length && showAutocomplete && term && term.length >= this.minSearchCharacters\">No results found</mat-option>\n </mat-autocomplete>\n</div>\n",
|
|
175
182
|
styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:rgba(0,0,0,.256863) 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:550px;display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}"]
|
|
176
183
|
}] }
|
|
177
184
|
];
|
|
@@ -194,6 +201,7 @@ SearchLocationComponent.propDecorators = {
|
|
|
194
201
|
locations: [{ type: Input }],
|
|
195
202
|
locationSelected: [{ type: Output }],
|
|
196
203
|
locationInputChanged: [{ type: Output }],
|
|
204
|
+
searchLocationChanged: [{ type: Output }],
|
|
197
205
|
reset: [{ type: Input }],
|
|
198
206
|
selectedLocations: [{ type: Input }]
|
|
199
207
|
};
|
|
@@ -223,6 +231,8 @@ if (false) {
|
|
|
223
231
|
/** @type {?} */
|
|
224
232
|
SearchLocationComponent.prototype.locationInputChanged;
|
|
225
233
|
/** @type {?} */
|
|
234
|
+
SearchLocationComponent.prototype.searchLocationChanged;
|
|
235
|
+
/** @type {?} */
|
|
226
236
|
SearchLocationComponent.prototype.minSearchCharacters;
|
|
227
237
|
/** @type {?} */
|
|
228
238
|
SearchLocationComponent.prototype.term;
|
|
@@ -252,4 +262,4 @@ if (false) {
|
|
|
252
262
|
*/
|
|
253
263
|
SearchLocationComponent.prototype.cd;
|
|
254
264
|
}
|
|
255
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9zZWFyY2gtbG9jYXRpb24vc2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkUsT0FBTyxFQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFPMUUsTUFBTSxPQUFPLHVCQUF1Qjs7Ozs7O0lBa0JsQyxZQUE2QixlQUFnQyxFQUFtQixFQUFlLEVBQW1CLEVBQXFCO1FBQTFHLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUFtQixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQW1CLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBaEJ2SCxhQUFRLEdBQVksSUFBSSxDQUFDO1FBQ3pCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixjQUFTLEdBQWEsSUFBSSxDQUFDO1FBQzNCLFVBQUssR0FBWSxHQUFHLENBQUM7UUFFckIscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLGNBQVMsR0FBNEIsRUFBRSxDQUFDO1FBQ3ZDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO1FBQzdELHlCQUFvQixHQUF5QixJQUFJLFlB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Q0FBQyxpQkFBaUIsQ0FBQyxHQUFHOzs7O1FBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksUUFBUSxDQUFDLFNBQVMsRUFDM0ksQ0FBQztJQUNKLENBQUM7OztZQTFHRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsdXRCQUErQzs7YUFFaEQ7Ozs7WUFOTyxlQUFlO1lBSkUsV0FBVztZQUQ1QixpQkFBaUI7OztzQkFhdEIsS0FBSzt1QkFDTCxLQUFLO3lCQUNMLEtBQUs7MkJBQ0wsS0FBSzt5QkFDTCxLQUFLO3dCQUNMLEtBQUs7b0JBQ0wsS0FBSzttQkFDTCxLQUFLOytCQUNMLEtBQUs7d0JBQ0wsS0FBSzsrQkFDTCxNQUFNO21DQUNOLE1BQU07b0JBZ0JOLEtBQUs7Z0NBVUwsS0FBSzs7OztJQXJDTiwwQ0FBeUM7O0lBQ3pDLDJDQUF5Qzs7SUFDekMsNkNBQTRDOztJQUM1QywrQ0FBMEM7O0lBQzFDLDZDQUF3Qzs7SUFDeEMsNENBQTJDOztJQUMzQyx3Q0FBcUM7O0lBQ3JDLHVDQUFnQzs7SUFDaEMsbURBQWtEOztJQUNsRCw0Q0FBd0Q7O0lBQ3hELG1EQUE4RTs7SUFDOUUsdURBQXlGOztJQUN6RixzREFBd0M7O0lBQ3hDLHVDQUF5Qjs7Ozs7SUFDekIscURBQXVDOzs7OztJQUN2Qyx5Q0FBK0I7Ozs7O0lBRW5CLGtEQUFpRDs7Ozs7SUFBRSxxQ0FBZ0M7Ozs7O0lBQUUscUNBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCwgbWVyZ2VNYXAsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtMb2NhdGlvbkJ5RVBJTU1TTW9kZWx9IGZyb20gJy4uLy4uL21vZGVscy9sb2NhdGlvbi5tb2RlbCc7XG5pbXBvcnQge0xvY2F0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9jYXRpb25zL2xvY2F0aW9uLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdleHVpLXNlYXJjaC1sb2NhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hMb2NhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBjb250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiA9IG51bGw7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaW5nbGVNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBsb2NhdGlvblR5cGU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgc2VydmljZUlkczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzdWJtaXR0ZWQ/OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIGRlbGF5PzogbnVtYmVyID0gNTAwO1xuICBASW5wdXQoKSBwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd0F1dG9jb21wbGV0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgbG9jYXRpb25zOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSA9IFtdO1xuICBAT3V0cHV0KCkgcHVibGljIGxvY2F0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPExvY2F0aW9uQnlFUElNTVNNb2RlbD4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBsb2NhdGlvbklucHV0Q2hhbmdlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgcHVibGljIHJlYWRvbmx5IG1pblNlYXJjaENoYXJhY3RlcnMgPSAzO1xuICBwdWJsaWMgdGVybTogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgcFNlbGVjdGVkTG9jYXRpb25zOiBhbnlbXSA9IFtdO1xuICBwcml2YXRlIHBSZXNldDogYm9vbGVhbiA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBsb2NhdGlvblNlcnZpY2U6IExvY2F0aW9uU2VydmljZSwgcHJpdmF0ZSByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgcmVhZG9ubHkgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBzZWFyY2hUZXJtOiBbJyddXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlc2V0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBSZXNldDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcmVzZXQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnBSZXNldCA9IHZhbHVlO1xuICAgIHRoaXMucmVzZXRTZWFyY2hUZXJtKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkTG9jYXRpb25zKCk6IGFueVtdIHtcbiAgICByZXR1cm4gdGhpcy5wU2VsZWN0ZWRMb2NhdGlvbnM7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNlbGVjdGVkTG9jYXRpb25zKHZhbHVlOiBhbnlbXSkge1xuICAgIHRoaXMucFNlbGVjdGVkTG9jYXRpb25zID0gdmFsdWU7XG5cbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zaW5nbGVNb2RlICYmIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgbG9jYXRpb24gPSB0aGlzLnNlbGVjdGVkTG9jYXRpb25zWzBdO1xuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLnNlYXJjaFRlcm0ucGF0Y2hWYWx1ZShsb2NhdGlvbi5zaXRlX25hbWUsIHtlbWl0RXZlbnQ6IGZhbHNlLCBvbmx5U2VsZjogdHJ1ZX0pO1xuICAgIH1cbiAgICB0aGlzLnNlYXJjaCgpO1xuICB9XG5cbiAgcHVibGljIGZpbHRlcih0ZXJtOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmdldExvY2F0aW9ucyh0ZXJtKS5waXBlKFxuICAgICAgbWFwKChsb2NhdGlvbnMpID0+IHRoaXMucmVtb3ZlU2VsZWN0ZWRMb2NhdGlvbnMobG9jYXRpb25zKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3Rpb25DaGFuZ2UobG9jYXRpb246IExvY2F0aW9uQnlFUElNTVNNb2RlbCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybS5jb250cm9scy5zZWFyY2hUZXJtLnBhdGNoVmFsdWUobG9jYXRpb24uc2l0ZV9uYW1lLCB7ZW1pdEV2ZW50OiBmYWxzZSwgb25seVNlbGY6IHRydWV9KTtcbiAgICB0aGlzLmxvY2F0aW9uU2VsZWN0ZWQuZW1pdChsb2NhdGlvbik7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybS5jb250cm9scy5zZWFyY2hUZXJtLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgodGVybSkgPT4gdGhpcy5sb2NhdGlvbklucHV0Q2hhbmdlZC5uZXh0KHRlcm0pKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMubG9jYXRpb25zID0gW10pLFxuICAgICAgICB0YXAoKHRlcm0pID0+IHRoaXMudGVybSA9IHRlcm0pLFxuICAgICAgICBmaWx0ZXIodGVybSA9PiAhIXRlcm0gJiYgdGVybS5sZW5ndGggPj0gdGhpcy5taW5TZWFyY2hDaGFyYWN0ZXJzKSxcbiAgICAgICAgZGVib3VuY2VUaW1lKHRoaXMuZGVsYXkpLFxuICAgICAgICBtZXJnZU1hcCh2YWx1ZSA9PiB0aGlzLmdldExvY2F0aW9ucyh2YWx1ZSkpLFxuICAgICAgICBtYXAoKGxvY2F0aW9ucykgPT4gdGhpcy5yZW1vdmVTZWxlY3RlZExvY2F0aW9ucyhsb2NhdGlvbnMpKVxuICAgICAgKS5zdWJzY3JpYmUobG9jYXRpb25zID0+IHtcbiAgICAgIHRoaXMubG9jYXRpb25zID0gbG9jYXRpb25zO1xuICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIGlmIChsb2NhdGlvbnMubGVuZ3RoID09PSAxICYmIHRoaXMudGVybSA9PT0gbG9jYXRpb25zWzBdLnNpdGVfbmFtZSAmJiAhdGhpcy5zaW5nbGVNb2RlKSB7XG4gICAgICAgIHRoaXMubG9jYXRpb25TZWxlY3RlZC5lbWl0KGxvY2F0aW9uc1swXSk7XG4gICAgICAgIHRoaXMuc2hvd0F1dG9jb21wbGV0ZSA9IGZhbHNlO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLnNob3dBdXRvY29tcGxldGUgPSB0cnVlO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldExvY2F0aW9ucyh0ZXJtOiBzdHJpbmcpOiBPYnNlcnZhYmxlPExvY2F0aW9uQnlFUElNTVNNb2RlbFtdPiB7XG4gICAgcmV0dXJuIHRoaXMubG9jYXRpb25TZXJ2aWNlLmdldEFsbExvY2F0aW9ucyh0aGlzLnNlcnZpY2VJZHMsIHRoaXMubG9jYXRpb25UeXBlLCB0ZXJtKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldFNlYXJjaFRlcm0oKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLnNlYXJjaFRlcm0ucGF0Y2hWYWx1ZSgnJywge2VtaXRFdmVudDogZmFsc2UsIG9ubHlTZWxmOiB0cnVlfSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZVNlbGVjdGVkTG9jYXRpb25zKGxvY2F0aW9uczogTG9jYXRpb25CeUVQSU1NU01vZGVsW10pOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSB7XG4gICAgaWYgKHRoaXMuc2luZ2xlTW9kZSkge1xuICAgICAgcmV0dXJuIGxvY2F0aW9ucztcbiAgICB9XG4gICAgcmV0dXJuIGxvY2F0aW9ucy5maWx0ZXIoXG4gICAgICBsb2NhdGlvbiA9PiAhdGhpcy5zZWxlY3RlZExvY2F0aW9ucy5tYXAoc2VsZWN0ZWRMb2NhdGlvbiA9PiBzZWxlY3RlZExvY2F0aW9uLmVwaW1tc19pZCkuaW5jbHVkZXMobG9jYXRpb24uZXBpbW1zX2lkKSAmJiBsb2NhdGlvbi5zaXRlX25hbWVcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
265
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9zZWFyY2gtbG9jYXRpb24vc2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkUsT0FBTyxFQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFPMUUsTUFBTSxPQUFPLHVCQUF1Qjs7Ozs7O0lBbUJsQyxZQUE2QixlQUFnQyxFQUFtQixFQUFlLEVBQW1CLEVBQXFCO1FBQTFHLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUFtQixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQW1CLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBakJ2SCxhQUFRLEdBQVksSUFBSSxDQUFDO1FBQ3pCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixjQUFTLEdBQWEsSUFBSSxDQUFDO1FBQzNCLFVBQUssR0FBWSxHQUFHLENBQUM7UUFFckIscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLGNBQVMsR0FBNEIsRUFBRSxDQUFDO1FBQ3ZDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO1FBQzdELHlCQUFvQixHQUF5QixJQUFJLFlB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QUFDLFVBQVUsRUFBRTtZQUNuQixPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELE9BQU8sU0FBUyxDQUFDLE1BQU07Ozs7UUFDckIsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHOzs7O1FBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksUUFBUSxDQUFDLFNBQVMsRUFDM0ksQ0FBQztJQUNKLENBQUM7OztZQS9HRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsa3ZCQUErQzs7YUFFaEQ7Ozs7WUFOTyxlQUFlO1lBSkUsV0FBVztZQUQ1QixpQkFBaUI7OztzQkFhdEIsS0FBSzt1QkFDTCxLQUFLO3lCQUNMLEtBQUs7MkJBQ0wsS0FBSzt5QkFDTCxLQUFLO3dCQUNMLEtBQUs7b0JBQ0wsS0FBSzttQkFDTCxLQUFLOytCQUNMLEtBQUs7d0JBQ0wsS0FBSzsrQkFDTCxNQUFNO21DQUNOLE1BQU07b0NBQ04sTUFBTTtvQkFnQk4sS0FBSztnQ0FVTCxLQUFLOzs7O0lBdENOLDBDQUF5Qzs7SUFDekMsMkNBQXlDOztJQUN6Qyw2Q0FBNEM7O0lBQzVDLCtDQUEwQzs7SUFDMUMsNkNBQXdDOztJQUN4Qyw0Q0FBMkM7O0lBQzNDLHdDQUFxQzs7SUFDckMsdUNBQWdDOztJQUNoQyxtREFBa0Q7O0lBQ2xELDRDQUF3RDs7SUFDeEQsbURBQThFOztJQUM5RSx1REFBeUY7O0lBQ3pGLHdEQUFzRjs7SUFDdEYsc0RBQXdDOztJQUN4Qyx1Q0FBeUI7Ozs7O0lBQ3pCLHFEQUF1Qzs7Ozs7SUFDdkMseUNBQStCOzs7OztJQUVuQixrREFBaUQ7Ozs7O0lBQUUscUNBQWdDOzs7OztJQUFFLHFDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIEZvcm1CdWlsZGVyLCBGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAsIG1lcmdlTWFwLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TG9jYXRpb25CeUVQSU1NU01vZGVsfSBmcm9tICcuLi8uLi9tb2RlbHMvbG9jYXRpb24ubW9kZWwnO1xuaW1wb3J0IHtMb2NhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvY2F0aW9ucy9sb2NhdGlvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXh1aS1zZWFyY2gtbG9jYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoTG9jYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgY29udHJvbDogQWJzdHJhY3RDb250cm9sO1xuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW4gPSBudWxsO1xuICBASW5wdXQoKSBwdWJsaWMgc2luZ2xlTW9kZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgbG9jYXRpb25UeXBlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHNlcnZpY2VJZHM6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgc3VibWl0dGVkPzogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBkZWxheT86IG51bWJlciA9IDUwMDtcbiAgQElucHV0KCkgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIHNob3dBdXRvY29tcGxldGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGxvY2F0aW9uczogTG9jYXRpb25CeUVQSU1NU01vZGVsW10gPSBbXTtcbiAgQE91dHB1dCgpIHB1YmxpYyBsb2NhdGlvblNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxMb2NhdGlvbkJ5RVBJTU1TTW9kZWw+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgbG9jYXRpb25JbnB1dENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgc2VhcmNoTG9jYXRpb25DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIHB1YmxpYyByZWFkb25seSBtaW5TZWFyY2hDaGFyYWN0ZXJzID0gMztcbiAgcHVibGljIHRlcm06IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIHBTZWxlY3RlZExvY2F0aW9uczogYW55W10gPSBbXTtcbiAgcHJpdmF0ZSBwUmVzZXQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbG9jYXRpb25TZXJ2aWNlOiBMb2NhdGlvblNlcnZpY2UsIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIHJlYWRvbmx5IGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgc2VhcmNoVGVybTogWycnXVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCByZXNldCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wUmVzZXQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHJlc2V0KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5wUmVzZXQgPSB2YWx1ZTtcbiAgICB0aGlzLnJlc2V0U2VhcmNoVGVybSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3RlZExvY2F0aW9ucygpOiBhbnlbXSB7XG4gICAgcmV0dXJuIHRoaXMucFNlbGVjdGVkTG9jYXRpb25zO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWxlY3RlZExvY2F0aW9ucyh2YWx1ZTogYW55W10pIHtcbiAgICB0aGlzLnBTZWxlY3RlZExvY2F0aW9ucyA9IHZhbHVlO1xuXG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2luZ2xlTW9kZSAmJiB0aGlzLnNlbGVjdGVkTG9jYXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGxvY2F0aW9uID0gdGhpcy5zZWxlY3RlZExvY2F0aW9uc1swXTtcbiAgICAgIHRoaXMuZm9ybS5jb250cm9scy5zZWFyY2hUZXJtLnBhdGNoVmFsdWUobG9jYXRpb24uc2l0ZV9uYW1lLCB7ZW1pdEV2ZW50OiBmYWxzZSwgb25seVNlbGY6IHRydWV9KTtcbiAgICB9XG4gICAgdGhpcy5zZWFyY2goKTtcbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXIodGVybTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5nZXRMb2NhdGlvbnModGVybSkucGlwZShcbiAgICAgIG1hcCgobG9jYXRpb25zKSA9PiB0aGlzLnJlbW92ZVNlbGVjdGVkTG9jYXRpb25zKGxvY2F0aW9ucylcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9uU2VsZWN0aW9uQ2hhbmdlKGxvY2F0aW9uOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWwpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0uY29udHJvbHMuc2VhcmNoVGVybS5wYXRjaFZhbHVlKGxvY2F0aW9uLnNpdGVfbmFtZSwge2VtaXRFdmVudDogZmFsc2UsIG9ubHlTZWxmOiB0cnVlfSk7XG4gICAgdGhpcy5sb2NhdGlvblNlbGVjdGVkLmVtaXQobG9jYXRpb24pO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0uY29udHJvbHMuc2VhcmNoVGVybS52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKHRlcm0pID0+IHRoaXMubG9jYXRpb25JbnB1dENoYW5nZWQubmV4dCh0ZXJtKSksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLmxvY2F0aW9ucyA9IFtdKSxcbiAgICAgICAgdGFwKCh0ZXJtKSA9PiB0aGlzLnRlcm0gPSB0ZXJtKSxcbiAgICAgICAgZmlsdGVyKHRlcm0gPT4gISF0ZXJtICYmIHRlcm0ubGVuZ3RoID49IHRoaXMubWluU2VhcmNoQ2hhcmFjdGVycyksXG4gICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmRlbGF5KSxcbiAgICAgICAgbWVyZ2VNYXAodmFsdWUgPT4gdGhpcy5nZXRMb2NhdGlvbnModmFsdWUpKSxcbiAgICAgICAgbWFwKChsb2NhdGlvbnMpID0+IHRoaXMucmVtb3ZlU2VsZWN0ZWRMb2NhdGlvbnMobG9jYXRpb25zKSlcbiAgICAgICkuc3Vic2NyaWJlKGxvY2F0aW9ucyA9PiB7XG4gICAgICB0aGlzLmxvY2F0aW9ucyA9IGxvY2F0aW9ucztcbiAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICBpZiAobG9jYXRpb25zLmxlbmd0aCA9PT0gMSAmJiB0aGlzLnRlcm0gPT09IGxvY2F0aW9uc1swXS5zaXRlX25hbWUgJiYgIXRoaXMuc2luZ2xlTW9kZSkge1xuICAgICAgICB0aGlzLmxvY2F0aW9uU2VsZWN0ZWQuZW1pdChsb2NhdGlvbnNbMF0pO1xuICAgICAgICB0aGlzLnNob3dBdXRvY29tcGxldGUgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5zaG93QXV0b2NvbXBsZXRlID0gdHJ1ZTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbklucHV0KCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoTG9jYXRpb25DaGFuZ2VkLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMb2NhdGlvbnModGVybTogc3RyaW5nKTogT2JzZXJ2YWJsZTxMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLmxvY2F0aW9uU2VydmljZS5nZXRBbGxMb2NhdGlvbnModGhpcy5zZXJ2aWNlSWRzLCB0aGlzLmxvY2F0aW9uVHlwZSwgdGVybSk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRTZWFyY2hUZXJtKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybS5jb250cm9scy5zZWFyY2hUZXJtLnBhdGNoVmFsdWUoJycsIHtlbWl0RXZlbnQ6IGZhbHNlLCBvbmx5U2VsZjogdHJ1ZX0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVTZWxlY3RlZExvY2F0aW9ucyhsb2NhdGlvbnM6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdKTogTG9jYXRpb25CeUVQSU1NU01vZGVsW10ge1xuICAgIGlmICh0aGlzLnNpbmdsZU1vZGUpIHtcbiAgICAgIHJldHVybiBsb2NhdGlvbnM7XG4gICAgfVxuICAgIHJldHVybiBsb2NhdGlvbnMuZmlsdGVyKFxuICAgICAgbG9jYXRpb24gPT4gIXRoaXMuc2VsZWN0ZWRMb2NhdGlvbnMubWFwKHNlbGVjdGVkTG9jYXRpb24gPT4gc2VsZWN0ZWRMb2NhdGlvbi5lcGltbXNfaWQpLmluY2x1ZGVzKGxvY2F0aW9uLmVwaW1tc19pZCkgJiYgbG9jYXRpb24uc2l0ZV9uYW1lXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -8,6 +8,13 @@ export class UserListComponent {
|
|
|
8
8
|
constructor() {
|
|
9
9
|
this.users = [];
|
|
10
10
|
this.userClick = new EventEmitter();
|
|
11
|
+
this.pageChange = new EventEmitter();
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* @return {?}
|
|
15
|
+
*/
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
this.pagination = { itemsPerPage: 50, currentPage: this.currentPageNumber, totalItems: this.pageTotalSize };
|
|
11
18
|
}
|
|
12
19
|
/**
|
|
13
20
|
* @param {?} user
|
|
@@ -16,22 +23,41 @@ export class UserListComponent {
|
|
|
16
23
|
onUserClick(user) {
|
|
17
24
|
this.userClick.emit(user);
|
|
18
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* @param {?} pageNumber
|
|
28
|
+
* @return {?}
|
|
29
|
+
*/
|
|
30
|
+
emitPageClickEvent(pageNumber) {
|
|
31
|
+
this.currentPageNumber = pageNumber;
|
|
32
|
+
this.pageChange.emit(pageNumber);
|
|
33
|
+
}
|
|
19
34
|
}
|
|
20
35
|
UserListComponent.decorators = [
|
|
21
36
|
{ type: Component, args: [{
|
|
22
37
|
selector: 'xuilib-user-list',
|
|
23
|
-
template: "<table class=\"govuk-table\">\n <thead clas=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"col\">Name</th>\n <th class=\"govuk-table__header\" scope=\"col\">Email</th>\n <th class=\"govuk-table__header\" scope=\"col\">Status</th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" data-selector=\"table-row\"
|
|
38
|
+
template: "<table class=\"govuk-table\">\n\n <thead clas=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"col\">Name</th>\n <th class=\"govuk-table__header\" scope=\"col\">Email</th>\n <th class=\"govuk-table__header\" scope=\"col\">Status</th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <ng-container *ngFor=\"let u of users | paginate: { itemsPerPage: pagination.itemsPerPage, currentPage: currentPageNumber, totalItems: pagination.totalItems }\">\n <tr class=\"govuk-table__row\" data-selector=\"table-row\">\n <td class=\"govuk-table__cell\" data-selector=\"table-cell\">\n <a class=\"govuk-link\" [attr.title]=\"u.routerLinkTitle\" [routerLink]=\"u.routerLink\" (click)=\"onUserClick(u)\">{{ u.fullName }}</a>\n </td>\n <td class=\"govuk-table__cell\" data-selector=\"table-cell\">{{ u.email }}</td>\n <td class=\"govuk-table__cell\" data-selector=\"table-cell\">{{ u.status }}</td>\n </tr>\n </ng-container>\n </tbody>\n</table>\n<xuilib-hmcts-pagination (pageChange)=\"emitPageClickEvent($event)\" [pageSize]=\"pagination.itemsPerPage\"></xuilib-hmcts-pagination>\n",
|
|
24
39
|
styles: [":host{display:block}"]
|
|
25
40
|
}] }
|
|
26
41
|
];
|
|
27
42
|
UserListComponent.propDecorators = {
|
|
28
43
|
users: [{ type: Input }],
|
|
29
|
-
|
|
44
|
+
currentPageNumber: [{ type: Input }],
|
|
45
|
+
pageTotalSize: [{ type: Input }],
|
|
46
|
+
userClick: [{ type: Output }],
|
|
47
|
+
pageChange: [{ type: Output }]
|
|
30
48
|
};
|
|
31
49
|
if (false) {
|
|
32
50
|
/** @type {?} */
|
|
33
51
|
UserListComponent.prototype.users;
|
|
34
52
|
/** @type {?} */
|
|
53
|
+
UserListComponent.prototype.currentPageNumber;
|
|
54
|
+
/** @type {?} */
|
|
55
|
+
UserListComponent.prototype.pageTotalSize;
|
|
56
|
+
/** @type {?} */
|
|
35
57
|
UserListComponent.prototype.userClick;
|
|
58
|
+
/** @type {?} */
|
|
59
|
+
UserListComponent.prototype.pageChange;
|
|
60
|
+
/** @type {?} */
|
|
61
|
+
UserListComponent.prototype.pagination;
|
|
36
62
|
}
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy91c2VyLWxpc3QvdXNlci1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTL0UsTUFBTSxPQUFPLGlCQUFpQjtJQUw5QjtRQU1vQixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBR2xCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3JDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBZ0JyRCxDQUFDOzs7O0lBWlUsUUFBUTtRQUNiLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUMsQ0FBQztJQUM3RyxDQUFDOzs7OztJQUVNLFdBQVcsQ0FBQyxJQUFVO1FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7Ozs7O0lBRU0sa0JBQWtCLENBQUMsVUFBZTtRQUN2QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsVUFBVSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7OztZQXpCSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtnQkFFNUIsaXdDQUF5Qzs7YUFDNUM7OztvQkFFSSxLQUFLO2dDQUNMLEtBQUs7NEJBQ0wsS0FBSzt3QkFDTCxNQUFNO3lCQUNOLE1BQU07Ozs7SUFKUCxrQ0FBbUM7O0lBQ25DLDhDQUEyQzs7SUFDM0MsMENBQW9DOztJQUNwQyxzQ0FBc0Q7O0lBQ3RELHVDQUFpRDs7SUFFakQsdUNBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGFnaW5hdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXIubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3h1aWxpYi11c2VyLWxpc3QnLFxuICAgIHN0eWxlVXJsczogWycuL3VzZXItbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91c2VyLWxpc3QuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBwdWJsaWMgdXNlcnM6IFVzZXJbXSA9IFtdO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjdXJyZW50UGFnZU51bWJlcj86IG51bWJlcjtcbiAgICBASW5wdXQoKSBwdWJsaWMgcGFnZVRvdGFsU2l6ZT86IGFueTtcbiAgICBAT3V0cHV0KCkgcHVibGljIHVzZXJDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8VXNlcj4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIHBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwdWJsaWMgcGFnaW5hdGlvbjogUGFnaW5hdGlvbjtcblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgIHRoaXMucGFnaW5hdGlvbiA9IHsgaXRlbXNQZXJQYWdlOiA1MCwgY3VycmVudFBhZ2U6IHRoaXMuY3VycmVudFBhZ2VOdW1iZXIsIHRvdGFsSXRlbXM6IHRoaXMucGFnZVRvdGFsU2l6ZX07XG4gICAgfVxuXG4gICAgcHVibGljIG9uVXNlckNsaWNrKHVzZXI6IFVzZXIpIHtcbiAgICAgIHRoaXMudXNlckNsaWNrLmVtaXQodXNlcik7XG4gICAgfVxuXG4gICAgcHVibGljIGVtaXRQYWdlQ2xpY2tFdmVudChwYWdlTnVtYmVyOiBhbnkpIHtcbiAgICAgIHRoaXMuY3VycmVudFBhZ2VOdW1iZXIgPSBwYWdlTnVtYmVyO1xuICAgICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQocGFnZU51bWJlcik7XG4gICAgfVxufVxuIl19
|
|
@@ -9,6 +9,7 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
|
9
9
|
import { MatInputModule, MatTabsModule } from '@angular/material';
|
|
10
10
|
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
11
11
|
import { RouterModule } from '@angular/router';
|
|
12
|
+
import { NgxPaginationModule, PaginatePipe } from 'ngx-pagination';
|
|
12
13
|
import { AccessibilityComponent } from './components/accessibility/accessibility.component';
|
|
13
14
|
import { CheckboxListComponent } from './components/checkbox-list/checkbox-list.component';
|
|
14
15
|
import { ContactDetailsComponent } from './components/contact-details/contact-details.component';
|
|
@@ -61,6 +62,7 @@ import { HmctsBannerComponent } from './gov-ui/components/hmcts-banner/hmcts-ban
|
|
|
61
62
|
import { HmctsErrorSummaryComponent } from './gov-ui/components/hmcts-error-summary/hmcts-error-summary.component';
|
|
62
63
|
import { HmctsIdentityBarComponent } from './gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component';
|
|
63
64
|
import { HmctsMainWrapperComponent } from './gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component';
|
|
65
|
+
import { HmctsPaginationComponent } from './gov-ui/components/hmcts-pagination/hmcts-pagination.component';
|
|
64
66
|
import { HmctsPrimaryNavigationComponent } from './gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component';
|
|
65
67
|
import { HmctsSubNavigationComponent } from './gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component';
|
|
66
68
|
import { RemoveHostDirective } from './gov-ui/directives/remove-host.directive';
|
|
@@ -105,6 +107,7 @@ export const COMMON_COMPONENTS = [
|
|
|
105
107
|
/** @type {?} */
|
|
106
108
|
export const GOV_UI_COMPONENTS = [
|
|
107
109
|
HmctsIdentityBarComponent,
|
|
110
|
+
HmctsPaginationComponent,
|
|
108
111
|
HmctsSubNavigationComponent,
|
|
109
112
|
HmctsPrimaryNavigationComponent,
|
|
110
113
|
HmctsErrorSummaryComponent,
|
|
@@ -142,16 +145,18 @@ ExuiCommonLibModule.decorators = [
|
|
|
142
145
|
RouterModule.forChild([]),
|
|
143
146
|
MatAutocompleteModule,
|
|
144
147
|
MatTabsModule,
|
|
145
|
-
MatInputModule
|
|
148
|
+
MatInputModule,
|
|
149
|
+
NgxPaginationModule
|
|
146
150
|
],
|
|
147
151
|
providers: [
|
|
148
152
|
{ provide: windowToken, useFactory: ɵ0 }
|
|
149
153
|
],
|
|
150
154
|
exports: [
|
|
151
155
|
...COMMON_COMPONENTS,
|
|
152
|
-
...GOV_UI_COMPONENTS
|
|
156
|
+
...GOV_UI_COMPONENTS,
|
|
157
|
+
PaginatePipe
|
|
153
158
|
]
|
|
154
159
|
},] }
|
|
155
160
|
];
|
|
156
161
|
export { ɵ0 };
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh1aS1jb21tb24tbGliLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvZXh1aS1jb21tb24tbGliLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsY0FBYyxFQUFFLGFBQWEsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUMxRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUN6RixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUMvRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUN6RixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUMxRSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUNwRyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUN6RixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUNuRixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUM1RixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQztBQUM3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O0lBQzlCLG1CQUFtQjtJQUNuQiwwQkFBMEI7SUFDMUIsc0JBQXNCO0lBQ3RCLGtCQUFrQjtJQUNsQix3QkFBd0I7SUFDeEIsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQixvQkFBb0I7SUFDcEIsc0JBQXNCO0lBQ3RCLHdCQUF3QjtJQUN4QixtQkFBbUI7Q0FDcEI7V0FpQnNDLGNBQWM7QUFPckQsTUFBTSxPQUFPLG1CQUFtQjs7O1lBdEIvQixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLEdBQUcsaUJBQWlCO29CQUNwQixHQUFHLGlCQUFpQjtpQkFDckI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO29CQUN6QixxQkFBcUI7b0JBQ3JCLGFBQWE7b0JBQ2IsY0FBYztpQkFDZjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsRUFBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsSUFBZ0IsRUFBQztpQkFDbkQ7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLEdBQUcsaUJBQWlCO29CQUNwQixHQUFHLGlCQUFpQjtpQkFDckI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hdElucHV0TW9kdWxlLCBNYXRUYWJzTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCc7XG5pbXBvcnQge01hdEF1dG9jb21wbGV0ZU1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7Um91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtBY2Nlc3NpYmlsaXR5Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5LmNvbXBvbmVudCc7XG5pbXBvcnQge0NoZWNrYm94TGlzdENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2NoZWNrYm94LWxpc3QvY2hlY2tib3gtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtDb250YWN0RGV0YWlsc0NvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbnRhY3QtZGV0YWlscy9jb250YWN0LWRldGFpbHMuY29tcG9uZW50JztcbmltcG9ydCB7Q29va2llQmFubmVyQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvY29va2llLWJhbm5lci9jb29raWUtYmFubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0R1ZURhdGVDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9kdWUtZGF0ZS9kdWUtZGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtFeHVpUGFnZVdyYXBwZXJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9leHVpLW1haW4td3JhcHBlci9leHVpLXBhZ2Utd3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHtGaW5kTG9jYXRpb25Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9maW5kLWxvY2F0aW9uL2ZpbmQtbG9jYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7RmluZFBlcnNvbkNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbmQtcGVyc29uL2ZpbmQtcGVyc29uLmNvbXBvbmVudCc7XG5pbXBvcnQge0dlbmVyaWNGaWx0ZXJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9nZW5lcmljLWZpbHRlci9nZW5lcmljLWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtIbWN0c1Nlc3Npb25EaWFsb2dDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9obWN0cy1zZXNzaW9uLWRpYWxvZy9obWN0cy1zZXNzaW9uLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHtJbnZpdGVVc2VyRm9ybUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2ludml0ZS11c2VyLWZvcm0vaW52aXRlLXVzZXItZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHtJbnZpdGVVc2VyUGVybWlzc2lvbkNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2ludml0ZS11c2VyLXBlcm1pc3Npb25zL2ludml0ZS11c2VyLXBlcm1pc3Npb24uY29tcG9uZW50JztcbmltcG9ydCB7TG9hZGluZ1NwaW5uZXJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9sb2FkaW5nLXNwaW5uZXIvbG9hZGluZy1zcGlubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge1BhZ2luYXRpb25Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaEp1ZGljaWFsc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWFyY2gtanVkaWNpYWxzL3NlYXJjaC1qdWRpY2lhbHMuY29tcG9uZW50JztcbmltcG9ydCB7U2VhcmNoTG9jYXRpb25Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zZWFyY2gtbG9jYXRpb24vc2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge1NlYXJjaFZlbnVlQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvc2VhcmNoLXZlbnVlL3NlYXJjaC12ZW51ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtTZWxlY3RlZENhc2VDb25maXJtQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0ZWQtY2FzZS1jb25maXJtL3NlbGVjdGVkLWNhc2UtY29uZmlybS5jb21wb25lbnQnO1xuaW1wb3J0IHtTZWxlY3RlZENhc2VMaXN0Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0ZWQtY2FzZS1saXN0L3NlbGVjdGVkLWNhc2UtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtTZWxlY3RlZENhc2VDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3RlZC1jYXNlL3NlbGVjdGVkLWNhc2UuY29tcG9uZW50JztcbmltcG9ydCB7U2VydmljZU1lc3NhZ2VDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zZXJ2aWNlLW1lc3NhZ2Uvc2VydmljZS1tZXNzYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQge1NlcnZpY2VNZXNzYWdlc0NvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3NlcnZpY2UtbWVzc2FnZXMvc2VydmljZS1tZXNzYWdlcy5jb21wb25lbnQnO1xuaW1wb3J0IHtTaGFyZUNhc2VDb25maXJtQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvc2hhcmUtY2FzZS1jb25maXJtL3NoYXJlLWNhc2UtY29uZmlybS5jb21wb25lbnQnO1xuaW1wb3J0IHtTaGFyZUNhc2VDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zaGFyZS1jYXNlL3NoYXJlLWNhc2UuY29tcG9uZW50JztcbmltcG9ydCB7VGFiQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvdGFiL3RhYi5jb21wb25lbnQnO1xuaW1wb3J0IHtUY0NvbmZpcm1Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy90Yy1jb25maXJtL3RjLWNvbmZpcm0uY29tcG9uZW50JztcbmltcG9ydCB7XG4gIFRjRGlzcGxheUh0bWxDb21wb25lbnRcbn0gZnJvbSAnLi9jb21wb25lbnRzL3Rlcm1zLWFuZC1jb25kaXRpb25zL3RjLWRpc3BsYXkvdGMtZGlzcGxheS1odG1sL3RjLWRpc3BsYXktaHRtbC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgVGNEaXNwbGF5UGxhaW5Db21wb25lbnRcbn0gZnJvbSAnLi9jb21wb25lbnRzL3Rlcm1zLWFuZC1jb25kaXRpb25zL3RjLWRpc3BsYXkvdGMtZGlzcGxheS1wbGFpbi90Yy1kaXNwbGF5LXBsYWluLmNvbXBvbmVudCc7XG5pbXBvcnQge1Rlcm1zQW5kQ29uZGl0aW9uc0NvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3Rlcm1zLWFuZC1jb25kaXRpb25zL3Rlcm1zLWFuZC1jb25kaXRpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQge1VzZXJEZXRhaWxzQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvdXNlci1kZXRhaWxzL3VzZXItZGV0YWlscy5jb21wb25lbnQnO1xuaW1wb3J0IHtVc2VyTGlzdENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3VzZXItbGlzdC91c2VyLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7VXNlclNlbGVjdENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3VzZXItc2VsZWN0L3VzZXItc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQge0ZlYXR1cmVUb2dnbGVEaXJlY3RpdmV9IGZyb20gJy4vZGlyZWN0aXZlcy9mZWF0dXJlLXRvZ2dsZS9mZWF0dXJlLXRvZ2dsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtMZXREaXJlY3RpdmV9IGZyb20gJy4vZGlyZWN0aXZlcy9sZXQvbGV0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge0dvdlVrQ2hlY2tib3hDb21wb25lbnR9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvZ292LXVrLWNoZWNrYm94L2dvdi11ay1jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHtHb3ZVa0NoZWNrYm94ZXNDb21wb25lbnR9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvZ292LXVrLWNoZWNrYm94ZXMvZ292LXVrLWNoZWNrYm94ZXMuY29tcG9uZW50JztcbmltcG9ydCB7R292VWtEYXRlQ29tcG9uZW50fSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2dvdi11ay1kYXRlL2dvdi11ay1kYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge0dvdlVrRXJyb3JNZXNzYWdlQ29tcG9uZW50fSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2dvdi11ay1lcnJvci1tZXNzYWdlL2dvdi11ay1lcnJvci1tZXNzYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQge0dvdlVrRmllbGRzZXRDb21wb25lbnR9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvZ292LXVrLWZpZWxkc2V0L2dvdi11ay1maWVsZHNldC5jb21wb25lbnQnO1xuaW1wb3J0IHtHb3ZVa0ZpbGVVcGxvYWRDb21wb25lbnR9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvZ292LXVrLWZpbGUtdXBsb2FkL2dvdi11ay1maWxlLXVwbG9hZC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgR292VWtGb3JtR3JvdXBXcmFwcGVyQ29tcG9uZW50XG59IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvZ292LXVrLWZvcm0tZ3JvdXAtd3JhcHBlci9nb3YtdWstZm9ybS1ncm91cC13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0dvdlVrSW5wdXRDb21wb25lbnR9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvZ292LXVrLWlucHV0L2dvdi11ay1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHtHb3ZVa0xhYmVsQ29tcG9uZW50fSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2dvdi11ay1sYWJlbC9nb3YtdWstbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7R292VWtSYWRpb0NvbXBvbmVudH0gZnJvbSAnLi9nb3YtdWkvY29tcG9uZW50cy9nb3YtdWstcmFkaW8vZ292LXVrLXJhZGlvLmNvbXBvbmVudCc7XG5pbXBvcnQge0dvdlVrUmFkaW9zQ29tcG9uZW50fSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2dvdi11ay1yYWRpb3MvZ292LXVrLXJhZGlvcy5jb21wb25lbnQnO1xuaW1wb3J0IHtHb3ZVa1NlbGVjdENvbXBvbmVudH0gZnJvbSAnLi9nb3YtdWkvY29tcG9uZW50cy9nb3YtdWstc2VsZWN0L2dvdi11ay1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7R292dWtUYWJsZUNvbXBvbmVudH0gZnJvbSAnLi9nb3YtdWkvY29tcG9uZW50cy9nb3YtdWstdGFibGUvZ292LXVrLXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQge0dvdlVrVGV4dGFyZWFDb21wb25lbnR9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvZ292LXVrLXRleHRhcmVhL2dvdi11ay10ZXh0YXJlYS5jb21wb25lbnQnO1xuaW1wb3J0IHtIbWN0c0Jhbm5lckNvbXBvbmVudH0gZnJvbSAnLi9nb3YtdWkvY29tcG9uZW50cy9obWN0cy1iYW5uZXIvaG1jdHMtYmFubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0htY3RzRXJyb3JTdW1tYXJ5Q29tcG9uZW50fSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2htY3RzLWVycm9yLXN1bW1hcnkvaG1jdHMtZXJyb3Itc3VtbWFyeS5jb21wb25lbnQnO1xuaW1wb3J0IHtIbWN0c0lkZW50aXR5QmFyQ29tcG9uZW50fSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2htY3RzLWlkZW50aXR5LWJhci9obWN0cy1pZGVudGl0eS1iYXIuY29tcG9uZW50JztcbmltcG9ydCB7SG1jdHNNYWluV3JhcHBlckNvbXBvbmVudH0gZnJvbSAnLi9nb3YtdWkvY29tcG9uZW50cy9obWN0cy1tYWluLXdyYXBwZXIvaG1jdHMtbWFpbi13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBIbWN0c1ByaW1hcnlOYXZpZ2F0aW9uQ29tcG9uZW50XG59IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvaG1jdHMtcHJpbWFyeS1uYXZpZ2F0aW9uL2htY3RzLXByaW1hcnktbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtIbWN0c1N1Yk5hdmlnYXRpb25Db21wb25lbnR9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvaG1jdHMtc3ViLW5hdmlnYXRpb24vaG1jdHMtc3ViLW5hdmlnYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7UmVtb3ZlSG9zdERpcmVjdGl2ZX0gZnJvbSAnLi9nb3YtdWkvZGlyZWN0aXZlcy9yZW1vdmUtaG9zdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHt3aW5kb3dQcm92aWRlciwgd2luZG93VG9rZW59IGZyb20gJy4vd2luZG93JztcblxuZXhwb3J0IGNvbnN0IENPTU1PTl9DT01QT05FTlRTID0gW1xuICBFeHVpUGFnZVdyYXBwZXJDb21wb25lbnQsXG4gIFRlcm1zQW5kQ29uZGl0aW9uc0NvbXBvbmVudCxcbiAgVGNEaXNwbGF5SHRtbENvbXBvbmVudCxcbiAgVGNEaXNwbGF5UGxhaW5Db21wb25lbnQsXG4gIFRjQ29uZmlybUNvbXBvbmVudCxcbiAgQ29udGFjdERldGFpbHNDb21wb25lbnQsXG4gIEZlYXR1cmVUb2dnbGVEaXJlY3RpdmUsXG4gIExldERpcmVjdGl2ZSxcbiAgSG1jdHNTZXNzaW9uRGlhbG9nQ29tcG9uZW50LFxuICBVc2VyTGlzdENvbXBvbmVudCxcbiAgVXNlckRldGFpbHNDb21wb25lbnQsXG4gIEludml0ZVVzZXJQZXJtaXNzaW9uQ29tcG9uZW50LFxuICBJbnZpdGVVc2VyRm9ybUNvbXBvbmVudCxcbiAgU2hhcmVDYXNlQ29tcG9uZW50LFxuICBTaGFyZUNhc2VDb25maXJtQ29tcG9uZW50LFxuICBTZWxlY3RlZENhc2VMaXN0Q29tcG9uZW50LFxuICBTZWxlY3RlZENhc2VDb21wb25lbnQsXG4gIFNlbGVjdGVkQ2FzZUNvbmZpcm1Db21wb25lbnQsXG4gIFVzZXJTZWxlY3RDb21wb25lbnQsXG4gIFRhYkNvbXBvbmVudCxcbiAgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCxcbiAgRHVlRGF0ZUNvbXBvbmVudCxcbiAgQ2hlY2tib3hMaXN0Q29tcG9uZW50LFxuICBTZXJ2aWNlTWVzc2FnZUNvbXBvbmVudCxcbiAgU2VydmljZU1lc3NhZ2VzQ29tcG9uZW50LFxuICBMb2FkaW5nU3Bpbm5lckNvbXBvbmVudCxcbiAgR2VuZXJpY0ZpbHRlckNvbXBvbmVudCxcbiAgQ29va2llQmFubmVyQ29tcG9uZW50LFxuICBGaW5kUGVyc29uQ29tcG9uZW50LFxuICBTZWFyY2hKdWRpY2lhbHNDb21wb25lbnQsXG4gIEZpbmRMb2NhdGlvbkNvbXBvbmVudCxcbiAgU2VhcmNoTG9jYXRpb25Db21wb25lbnQsXG4gIFNlYXJjaFZlbnVlQ29tcG9uZW50LFxuICBQYWdpbmF0aW9uQ29tcG9uZW50XG5dO1xuXG5leHBvcnQgY29uc3QgR09WX1VJX0NPTVBPTkVOVFMgPSBbXG4gIEhtY3RzSWRlbnRpdHlCYXJDb21wb25lbnQsXG4gIEhtY3RzU3ViTmF2aWdhdGlvbkNvbXBvbmVudCxcbiAgSG1jdHNQcmltYXJ5TmF2aWdhdGlvbkNvbXBvbmVudCxcbiAgSG1jdHNFcnJvclN1bW1hcnlDb21wb25lbnQsXG4gIEhtY3RzTWFpbldyYXBwZXJDb21wb25lbnQsXG4gIEhtY3RzQmFubmVyQ29tcG9uZW50LFxuICBHb3Z1a1RhYmxlQ29tcG9uZW50LFxuICBHb3ZVa0lucHV0Q29tcG9uZW50LFxuICBHb3ZVa0NoZWNrYm94Q29tcG9uZW50LFxuICBHb3ZVa0Zvcm1Hcm91cFdyYXBwZXJDb21wb25lbnQsXG4gIEdvdlVrTGFiZWxDb21wb25lbnQsXG4gIEdvdlVrRXJyb3JNZXNzYWdlQ29tcG9uZW50LFxuICBHb3ZVa0ZpZWxkc2V0Q29tcG9uZW50LFxuICBHb3ZVa0RhdGVDb21wb25lbnQsXG4gIEdvdlVrQ2hlY2tib3hlc0NvbXBvbmVudCxcbiAgR292VWtSYWRpb0NvbXBvbmVudCxcbiAgR292VWtSYWRpb3NDb21wb25lbnQsXG4gIEdvdlVrU2VsZWN0Q29tcG9uZW50LFxuICBHb3ZVa1RleHRhcmVhQ29tcG9uZW50LFxuICBHb3ZVa0ZpbGVVcGxvYWRDb21wb25lbnQsXG4gIFJlbW92ZUhvc3REaXJlY3RpdmVcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIC4uLkNPTU1PTl9DT01QT05FTlRTLFxuICAgIC4uLkdPVl9VSV9DT01QT05FTlRTXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQoW10pLFxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBNYXRUYWJzTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtwcm92aWRlOiB3aW5kb3dUb2tlbiwgdXNlRmFjdG9yeTogd2luZG93UHJvdmlkZXJ9XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICAuLi5DT01NT05fQ09NUE9ORU5UUyxcbiAgICAuLi5HT1ZfVUlfQ09NUE9ORU5UU1xuICBdXG59KVxuZXhwb3J0IGNsYXNzIEV4dWlDb21tb25MaWJNb2R1bGUge1xufVxuIl19
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh1aS1jb21tb24tbGliLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvZXh1aS1jb21tb24tbGliLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsY0FBYyxFQUFFLGFBQWEsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDMUYsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDL0YsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDMUUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDcEcsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDbkYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sc0RBQXNE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eEIsMkJBQTJCO0lBQzNCLCtCQUErQjtJQUMvQiwwQkFBMEI7SUFDMUIseUJBQXlCO0lBQ3pCLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLHNCQUFzQjtJQUN0Qiw4QkFBOEI7SUFDOUIsbUJBQW1CO0lBQ25CLDBCQUEwQjtJQUMxQixzQkFBc0I7SUFDdEIsa0JBQWtCO0lBQ2xCLHdCQUF3QjtJQUN4QixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNwQixzQkFBc0I7SUFDdEIsd0JBQXdCO0lBQ3hCLG1CQUFtQjtDQUNwQjtXQWtCc0MsY0FBYztBQVFyRCxNQUFNLE9BQU8sbUJBQW1COzs7WUF4Qi9CLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osR0FBRyxpQkFBaUI7b0JBQ3BCLEdBQUcsaUJBQWlCO2lCQUNyQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7b0JBQ3pCLHFCQUFxQjtvQkFDckIsYUFBYTtvQkFDYixjQUFjO29CQUNkLG1CQUFtQjtpQkFDcEI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULEVBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLElBQWdCLEVBQUM7aUJBQ25EO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxHQUFHLGlCQUFpQjtvQkFDcEIsR0FBRyxpQkFBaUI7b0JBQ3BCLFlBQVk7aUJBQ2I7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge01hdElucHV0TW9kdWxlLCBNYXRUYWJzTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCc7XG5pbXBvcnQge01hdEF1dG9jb21wbGV0ZU1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7Um91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtOZ3hQYWdpbmF0aW9uTW9kdWxlLCBQYWdpbmF0ZVBpcGV9IGZyb20gJ25neC1wYWdpbmF0aW9uJztcbmltcG9ydCB7QWNjZXNzaWJpbGl0eUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS5jb21wb25lbnQnO1xuaW1wb3J0IHtDaGVja2JveExpc3RDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9jaGVja2JveC1saXN0L2NoZWNrYm94LWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7Q29udGFjdERldGFpbHNDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9jb250YWN0LWRldGFpbHMvY29udGFjdC1kZXRhaWxzLmNvbXBvbmVudCc7XG5pbXBvcnQge0Nvb2tpZUJhbm5lckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2Nvb2tpZS1iYW5uZXIvY29va2llLWJhbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHtEdWVEYXRlQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZHVlLWRhdGUvZHVlLWRhdGUuY29tcG9uZW50JztcbmltcG9ydCB7RXh1aVBhZ2VXcmFwcGVyQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZXh1aS1tYWluLXdyYXBwZXIvZXh1aS1wYWdlLXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7RmluZExvY2F0aW9uQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZmluZC1sb2NhdGlvbi9maW5kLWxvY2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge0ZpbmRQZXJzb25Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9maW5kLXBlcnNvbi9maW5kLXBlcnNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtHZW5lcmljRmlsdGVyQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvZ2VuZXJpYy1maWx0ZXIvZ2VuZXJpYy1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7SG1jdHNTZXNzaW9uRGlhbG9nQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvaG1jdHMtc2Vzc2lvbi1kaWFsb2cvaG1jdHMtc2Vzc2lvbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7SW52aXRlVXNlckZvcm1Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9pbnZpdGUtdXNlci1mb3JtL2ludml0ZS11c2VyLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7SW52aXRlVXNlclBlcm1pc3Npb25Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9pbnZpdGUtdXNlci1wZXJtaXNzaW9ucy9pbnZpdGUtdXNlci1wZXJtaXNzaW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge0xvYWRpbmdTcGlubmVyQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvbG9hZGluZy1zcGlubmVyL2xvYWRpbmctc3Bpbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHtQYWdpbmF0aW9uQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge1NlYXJjaEp1ZGljaWFsc0NvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3NlYXJjaC1qdWRpY2lhbHMvc2VhcmNoLWp1ZGljaWFscy5jb21wb25lbnQnO1xuaW1wb3J0IHtTZWFyY2hMb2NhdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3NlYXJjaC1sb2NhdGlvbi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7U2VhcmNoVmVudWVDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zZWFyY2gtdmVudWUvc2VhcmNoLXZlbnVlLmNvbXBvbmVudCc7XG5pbXBvcnQge1NlbGVjdGVkQ2FzZUNvbmZpcm1Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3RlZC1jYXNlLWNvbmZpcm0vc2VsZWN0ZWQtY2FzZS1jb25maXJtLmNvbXBvbmVudCc7XG5pbXBvcnQge1NlbGVjdGVkQ2FzZUxpc3RDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3RlZC1jYXNlLWxpc3Qvc2VsZWN0ZWQtY2FzZS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQge1NlbGVjdGVkQ2FzZUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdGVkLWNhc2Uvc2VsZWN0ZWQtY2FzZS5jb21wb25lbnQnO1xuaW1wb3J0IHtTZXJ2aWNlTWVzc2FnZUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3NlcnZpY2UtbWVzc2FnZS9zZXJ2aWNlLW1lc3NhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7U2VydmljZU1lc3NhZ2VzQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvc2VydmljZS1tZXNzYWdlcy9zZXJ2aWNlLW1lc3NhZ2VzLmNvbXBvbmVudCc7XG5pbXBvcnQge1NoYXJlQ2FzZUNvbmZpcm1Db21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy9zaGFyZS1jYXNlLWNvbmZpcm0vc2hhcmUtY2FzZS1jb25maXJtLmNvbXBvbmVudCc7XG5pbXBvcnQge1NoYXJlQ2FzZUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3NoYXJlLWNhc2Uvc2hhcmUtY2FzZS5jb21wb25lbnQnO1xuaW1wb3J0IHtUYWJDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy90YWIvdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQge1RjQ29uZmlybUNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3RjLWNvbmZpcm0vdGMtY29uZmlybS5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgVGNEaXNwbGF5SHRtbENvbXBvbmVudFxufSBmcm9tICcuL2NvbXBvbmVudHMvdGVybXMtYW5kLWNvbmRpdGlvbnMvdGMtZGlzcGxheS90Yy1kaXNwbGF5LWh0bWwvdGMtZGlzcGxheS1odG1sLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBUY0Rpc3BsYXlQbGFpbkNvbXBvbmVudFxufSBmcm9tICcuL2NvbXBvbmVudHMvdGVybXMtYW5kLWNvbmRpdGlvbnMvdGMtZGlzcGxheS90Yy1kaXNwbGF5LXBsYWluL3RjLWRpc3BsYXktcGxhaW4uY29tcG9uZW50JztcbmltcG9ydCB7VGVybXNBbmRDb25kaXRpb25zQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvdGVybXMtYW5kLWNvbmRpdGlvbnMvdGVybXMtYW5kLWNvbmRpdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7VXNlckRldGFpbHNDb21wb25lbnR9IGZyb20gJy4vY29tcG9uZW50cy91c2VyLWRldGFpbHMvdXNlci1kZXRhaWxzLmNvbXBvbmVudCc7XG5pbXBvcnQge1VzZXJMaXN0Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvdXNlci1saXN0L3VzZXItbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtVc2VyU2VsZWN0Q29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvdXNlci1zZWxlY3QvdXNlci1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7RmVhdHVyZVRvZ2dsZURpcmVjdGl2ZX0gZnJvbSAnLi9kaXJlY3RpdmVzL2ZlYXR1cmUtdG9nZ2xlL2ZlYXR1cmUtdG9nZ2xlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0xldERpcmVjdGl2ZX0gZnJvbSAnLi9kaXJlY3RpdmVzL2xldC9sZXQuZGlyZWN0aXZlJztcbmltcG9ydCB7R292VWtDaGVja2JveENvbXBvbmVudH0gZnJvbSAnLi9nb3YtdWkvY29tcG9uZW50cy9nb3YtdWstY2hlY2tib3gvZ292LXVrLWNoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQge0dvdlVrQ2hlY2tib3hlc0NvbXBvbmVudH0gZnJvbSAnLi9nb3YtdWkvY29tcG9uZW50cy9nb3YtdWstY2hlY2tib3hlcy9nb3YtdWstY2hlY2tib3hlcy5jb21wb25lbnQnO1xuaW1wb3J0IHtHb3ZVa0RhdGVDb21wb25lbnR9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvZ292LXVrLWRhdGUvZ292LXVrLWRhdGUuY29tcG9uZW50JztcbmltcG9ydCB7R292VWtFcnJvck1lc3NhZ2VDb21wb25lbnR9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvZ292LXVrLWVycm9yLW1lc3NhZ2UvZ292LXVrLWVycm9yLW1lc3NhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7R292VWtGaWVsZHNldENvbXBvbmVudH0gZnJvbSAnLi9nb3YtdWkvY29tcG9uZW50cy9nb3YtdWstZmllbGRzZXQvZ292LXVrLWZpZWxkc2V0LmNvbXBvbmVudCc7XG5pbXBvcnQge0dvdlVrRmlsZVVwbG9hZENvbXBvbmVudH0gZnJvbSAnLi9nb3YtdWkvY29tcG9uZW50cy9nb3YtdWstZmlsZS11cGxvYWQvZ292LXVrLWZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBHb3ZVa0Zvcm1Hcm91cFdyYXBwZXJDb21wb25lbnRcbn0gZnJvbSAnLi9nb3YtdWkvY29tcG9uZW50cy9nb3YtdWstZm9ybS1ncm91cC13cmFwcGVyL2dvdi11ay1mb3JtLWdyb3VwLXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7R292VWtJbnB1dENvbXBvbmVudH0gZnJvbSAnLi9nb3YtdWkvY29tcG9uZW50cy9nb3YtdWstaW5wdXQvZ292LXVrLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge0dvdlVrTGFiZWxDb21wb25lbnR9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvZ292LXVrLWxhYmVsL2dvdi11ay1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHtHb3ZVa1JhZGlvQ29tcG9uZW50fSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2dvdi11ay1yYWRpby9nb3YtdWstcmFkaW8uY29tcG9uZW50JztcbmltcG9ydCB7R292VWtSYWRpb3NDb21wb25lbnR9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvZ292LXVrLXJhZGlvcy9nb3YtdWstcmFkaW9zLmNvbXBvbmVudCc7XG5pbXBvcnQge0dvdlVrU2VsZWN0Q29tcG9uZW50fSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2dvdi11ay1zZWxlY3QvZ292LXVrLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHtHb3Z1a1RhYmxlQ29tcG9uZW50fSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2dvdi11ay10YWJsZS9nb3YtdWstdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7R292VWtUZXh0YXJlYUNvbXBvbmVudH0gZnJvbSAnLi9nb3YtdWkvY29tcG9uZW50cy9nb3YtdWstdGV4dGFyZWEvZ292LXVrLXRleHRhcmVhLmNvbXBvbmVudCc7XG5pbXBvcnQge0htY3RzQmFubmVyQ29tcG9uZW50fSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2htY3RzLWJhbm5lci9obWN0cy1iYW5uZXIuY29tcG9uZW50JztcbmltcG9ydCB7SG1jdHNFcnJvclN1bW1hcnlDb21wb25lbnR9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvaG1jdHMtZXJyb3Itc3VtbWFyeS9obWN0cy1lcnJvci1zdW1tYXJ5LmNvbXBvbmVudCc7XG5pbXBvcnQge0htY3RzSWRlbnRpdHlCYXJDb21wb25lbnR9IGZyb20gJy4vZ292LXVpL2NvbXBvbmVudHMvaG1jdHMtaWRlbnRpdHktYmFyL2htY3RzLWlkZW50aXR5LWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHtIbWN0c01haW5XcmFwcGVyQ29tcG9uZW50fSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2htY3RzLW1haW4td3JhcHBlci9obWN0cy1tYWluLXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7SG1jdHNQYWdpbmF0aW9uQ29tcG9uZW50fSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2htY3RzLXBhZ2luYXRpb24vaG1jdHMtcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgSG1jdHNQcmltYXJ5TmF2aWdhdGlvbkNvbXBvbmVudFxufSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2htY3RzLXByaW1hcnktbmF2aWdhdGlvbi9obWN0cy1wcmltYXJ5LW5hdmlnYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7SG1jdHNTdWJOYXZpZ2F0aW9uQ29tcG9uZW50fSBmcm9tICcuL2dvdi11aS9jb21wb25lbnRzL2htY3RzLXN1Yi1uYXZpZ2F0aW9uL2htY3RzLXN1Yi1uYXZpZ2F0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge1JlbW92ZUhvc3REaXJlY3RpdmV9IGZyb20gJy4vZ292LXVpL2RpcmVjdGl2ZXMvcmVtb3ZlLWhvc3QuZGlyZWN0aXZlJztcbmltcG9ydCB7d2luZG93UHJvdmlkZXIsIHdpbmRvd1Rva2VufSBmcm9tICcuL3dpbmRvdyc7XG5cbmV4cG9ydCBjb25zdCBDT01NT05fQ09NUE9ORU5UUyA9IFtcbiAgRXh1aVBhZ2VXcmFwcGVyQ29tcG9uZW50LFxuICBUZXJtc0FuZENvbmRpdGlvbnNDb21wb25lbnQsXG4gIFRjRGlzcGxheUh0bWxDb21wb25lbnQsXG4gIFRjRGlzcGxheVBsYWluQ29tcG9uZW50LFxuICBUY0NvbmZpcm1Db21wb25lbnQsXG4gIENvbnRhY3REZXRhaWxzQ29tcG9uZW50LFxuICBGZWF0dXJlVG9nZ2xlRGlyZWN0aXZlLFxuICBMZXREaXJlY3RpdmUsXG4gIEhtY3RzU2Vzc2lvbkRpYWxvZ0NvbXBvbmVudCxcbiAgVXNlckxpc3RDb21wb25lbnQsXG4gIFVzZXJEZXRhaWxzQ29tcG9uZW50LFxuICBJbnZpdGVVc2VyUGVybWlzc2lvbkNvbXBvbmVudCxcbiAgSW52aXRlVXNlckZvcm1Db21wb25lbnQsXG4gIFNoYXJlQ2FzZUNvbXBvbmVudCxcbiAgU2hhcmVDYXNlQ29uZmlybUNvbXBvbmVudCxcbiAgU2VsZWN0ZWRDYXNlTGlzdENvbXBvbmVudCxcbiAgU2VsZWN0ZWRDYXNlQ29tcG9uZW50LFxuICBTZWxlY3RlZENhc2VDb25maXJtQ29tcG9uZW50LFxuICBVc2VyU2VsZWN0Q29tcG9uZW50LFxuICBUYWJDb21wb25lbnQsXG4gIEFjY2Vzc2liaWxpdHlDb21wb25lbnQsXG4gIER1ZURhdGVDb21wb25lbnQsXG4gIENoZWNrYm94TGlzdENvbXBvbmVudCxcbiAgU2VydmljZU1lc3NhZ2VDb21wb25lbnQsXG4gIFNlcnZpY2VNZXNzYWdlc0NvbXBvbmVudCxcbiAgTG9hZGluZ1NwaW5uZXJDb21wb25lbnQsXG4gIEdlbmVyaWNGaWx0ZXJDb21wb25lbnQsXG4gIENvb2tpZUJhbm5lckNvbXBvbmVudCxcbiAgRmluZFBlcnNvbkNvbXBvbmVudCxcbiAgU2VhcmNoSnVkaWNpYWxzQ29tcG9uZW50LFxuICBGaW5kTG9jYXRpb25Db21wb25lbnQsXG4gIFNlYXJjaExvY2F0aW9uQ29tcG9uZW50LFxuICBTZWFyY2hWZW51ZUNvbXBvbmVudCxcbiAgUGFnaW5hdGlvbkNvbXBvbmVudFxuXTtcblxuZXhwb3J0IGNvbnN0IEdPVl9VSV9DT01QT05FTlRTID0gW1xuICBIbWN0c0lkZW50aXR5QmFyQ29tcG9uZW50LFxuICBIbWN0c1BhZ2luYXRpb25Db21wb25lbnQsXG4gIEhtY3RzU3ViTmF2aWdhdGlvbkNvbXBvbmVudCxcbiAgSG1jdHNQcmltYXJ5TmF2aWdhdGlvbkNvbXBvbmVudCxcbiAgSG1jdHNFcnJvclN1bW1hcnlDb21wb25lbnQsXG4gIEhtY3RzTWFpbldyYXBwZXJDb21wb25lbnQsXG4gIEhtY3RzQmFubmVyQ29tcG9uZW50LFxuICBHb3Z1a1RhYmxlQ29tcG9uZW50LFxuICBHb3ZVa0lucHV0Q29tcG9uZW50LFxuICBHb3ZVa0NoZWNrYm94Q29tcG9uZW50LFxuICBHb3ZVa0Zvcm1Hcm91cFdyYXBwZXJDb21wb25lbnQsXG4gIEdvdlVrTGFiZWxDb21wb25lbnQsXG4gIEdvdlVrRXJyb3JNZXNzYWdlQ29tcG9uZW50LFxuICBHb3ZVa0ZpZWxkc2V0Q29tcG9uZW50LFxuICBHb3ZVa0RhdGVDb21wb25lbnQsXG4gIEdvdlVrQ2hlY2tib3hlc0NvbXBvbmVudCxcbiAgR292VWtSYWRpb0NvbXBvbmVudCxcbiAgR292VWtSYWRpb3NDb21wb25lbnQsXG4gIEdvdlVrU2VsZWN0Q29tcG9uZW50LFxuICBHb3ZVa1RleHRhcmVhQ29tcG9uZW50LFxuICBHb3ZVa0ZpbGVVcGxvYWRDb21wb25lbnQsXG4gIFJlbW92ZUhvc3REaXJlY3RpdmVcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIC4uLkNPTU1PTl9DT01QT05FTlRTLFxuICAgIC4uLkdPVl9VSV9DT01QT05FTlRTXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQoW10pLFxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBNYXRUYWJzTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE5neFBhZ2luYXRpb25Nb2R1bGVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge3Byb3ZpZGU6IHdpbmRvd1Rva2VuLCB1c2VGYWN0b3J5OiB3aW5kb3dQcm92aWRlcn1cbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIC4uLkNPTU1PTl9DT01QT05FTlRTLFxuICAgIC4uLkdPVl9VSV9DT01QT05FTlRTLFxuICAgIFBhZ2luYXRlUGlwZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEV4dWlDb21tb25MaWJNb2R1bGUge1xufVxuIl19
|