@hmcts/ccpay-web-component 6.2.13 → 6.2.14-beta2
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/esm2022/lib/components/add-remission/add-remission.component.mjs +4 -4
- package/esm2022/lib/components/allocate-payments/allocate-payments.component.mjs +14 -9
- package/esm2022/lib/components/card-details/card-details.component.mjs +4 -4
- package/esm2022/lib/components/case-transactions/case-transactions.component.mjs +4 -4
- package/esm2022/lib/components/contact-details/contact-details.component.mjs +4 -4
- package/esm2022/lib/components/error-banner/error-banner.component.mjs +4 -4
- package/esm2022/lib/components/fee-summary/fee-summary.component.mjs +4 -4
- package/esm2022/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.mjs +4 -4
- package/esm2022/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.mjs +4 -4
- package/esm2022/lib/components/notification-preview/notification-preview.component.mjs +4 -4
- package/esm2022/lib/components/page-not-found.component.mjs +4 -4
- package/esm2022/lib/components/payment-list/payment-list.component.mjs +4 -4
- package/esm2022/lib/components/payment-view/payment-view.component.mjs +4 -4
- package/esm2022/lib/components/pba-details/pba-details.component.mjs +4 -4
- package/esm2022/lib/components/pba-payment/pba-payment.component.mjs +4 -4
- package/esm2022/lib/components/process-refund/process-refund.component.mjs +4 -4
- package/esm2022/lib/components/processed-payments/processed-payments.component.mjs +4 -4
- package/esm2022/lib/components/refund-list/refund-list.component.mjs +4 -4
- package/esm2022/lib/components/refund-status/refund-status.component.mjs +4 -4
- package/esm2022/lib/components/reports/reports.component.mjs +4 -4
- package/esm2022/lib/components/service-request/service-request.component.mjs +4 -4
- package/esm2022/lib/components/status-history/status-history.component.mjs +4 -4
- package/esm2022/lib/components/table/table.component.mjs +4 -4
- package/esm2022/lib/components/unprocessed-payments/unprocessed-payments.component.mjs +4 -4
- package/esm2022/lib/payment-lib.component.mjs +4 -4
- package/esm2022/lib/payment-lib.module.mjs +35 -42
- package/esm2022/lib/payment-lib.service.mjs +4 -4
- package/esm2022/lib/pipes/capitalize.pipe.mjs +4 -4
- package/esm2022/lib/pipes/ccd-hyphens.pipe.mjs +4 -4
- package/esm2022/lib/pipes/key-value.pipe.mjs +4 -4
- package/esm2022/lib/pipes/sanitize-html.pipe.mjs +4 -4
- package/esm2022/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.mjs +4 -4
- package/esm2022/lib/services/card-details/card-details.service.mjs +4 -4
- package/esm2022/lib/services/case-transactions/case-transactions.service.mjs +4 -4
- package/esm2022/lib/services/notification/notification.service.mjs +4 -4
- package/esm2022/lib/services/orderslist.service.mjs +4 -4
- package/esm2022/lib/services/payment-list/payment-list.service.mjs +4 -4
- package/esm2022/lib/services/payment-view/payment-view.service.mjs +4 -4
- package/esm2022/lib/services/refunds/refunds.service.mjs +4 -4
- package/esm2022/lib/services/shared/error-handler.service.mjs +4 -4
- package/esm2022/lib/services/shared/httpclient/webcomponent.http.client.mjs +4 -4
- package/esm2022/lib/services/shared/logger/console-logger.service.mjs +4 -4
- package/esm2022/lib/services/shared/logger/logger.service.mjs +4 -4
- package/esm2022/lib/services/status-history/status-history.service.mjs +4 -4
- package/esm2022/lib/services/xl-file/xl-file.service.mjs +4 -4
- package/fesm2022/hmcts-ccpay-web-component.mjs +177 -179
- package/fesm2022/hmcts-ccpay-web-component.mjs.map +1 -1
- package/lib/components/add-remission/add-remission.component.d.ts +1 -1
- package/lib/components/allocate-payments/allocate-payments.component.d.ts +2 -2
- package/lib/components/case-transactions/case-transactions.component.d.ts +1 -1
- package/lib/components/fee-summary/fee-summary.component.d.ts +1 -1
- package/lib/payment-lib.module.d.ts +19 -20
- package/package.json +3 -3
|
@@ -306,10 +306,10 @@ export class ContactDetailsComponent {
|
|
|
306
306
|
this.isCountryEmpty = val[13];
|
|
307
307
|
}
|
|
308
308
|
}
|
|
309
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
310
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: ContactDetailsComponent, isStandalone: true, selector: "ccpay-contact-details", inputs: { isEditOperation: "isEditOperation", isEditOperationInRefundList: "isEditOperationInRefundList", addressObj: "addressObj" }, outputs: { assignContactDetails: "assignContactDetails", assignContactDetailsInFefundsList: "assignContactDetailsInFefundsList", redirectToIssueRefund: "redirectToIssueRefund" }, ngImport: i0, template: "<fieldset class=\"govuk-fieldset contact-details--size\">\n <hr class=\"govuk-section-break govuk-section-break--m govuk-section-break--visible\">\n <div class=\"govuk-form-group\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--s govuk-font19px\">\n {{ isEditOperation ? 'Edit contact information' : 'Contact information' }}\n </legend>\n <div id=\"contact-hint\" class=\"govuk-hint govuk-font19px\">\n Notifications will be sent via email or post when this refund is issued or rejected. You can only choose one option.\n </div>\n <div class=\"govuk-form-group\">\n <fieldset class=\"govuk-fieldset\">\n <div class=\"govuk-radios govuk-radios--conditional\" data-module=\"govuk-radios\">\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"contact\" name=\"contact\" (click)=\"selectContactOption('Email', 'false')\" type=\"radio\" value=\"email\" [checked]=\"isEmailSAddressClicked\" aria-controls=\"conditional-contact\" aria-expanded=\"true\">\n <label class=\"govuk-label govuk-radios__label govuk-font19px\" for=\"contact\">\n Email\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" id=\"conditional-contact-email\" *ngIf=\"isEmailSAddressClicked\">\n <form [formGroup]=\"emailAddressForm\" novalidate>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label \" for=\"email\">\n <span class=\"govuk-hint govuk-font19px\">Information about this refund will be sent to this email address.</span>\n </label>\n\n <div id=\"email-hint\" class=\"govuk-hint\">\n </div>\n <input class=\"govuk-input govuk-font19px\" id=\"email\" name=\"\" type=\"email\" [ngClass]=\"{ 'inline-error-class': isEmailEmpty || emailHasError }\" value=\"{{addressObj?.contact_details?.email}}\" formControlName=\"email\" aria-describedby=\"email-hint\">\n <p class=\"inline-error-message\" *ngIf=\"isEmailEmpty || emailHasError\">\n <span *ngIf=\"isEmailEmpty\">Enter a email address.</span>\n <span *ngIf=\"emailHasError\">Enter a valid email address.</span>\n </p>\n </div>\n </form>\n </div>\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"contact-2\" name=\"contact\" (click)=\"selectContactOption('Postcode', 'false')\" type=\"radio\" [checked]=\"isPostcodeClicked\" value=\"post\" aria-controls=\"conditional-contact-2\" aria-expanded=\"false\">\n <label class=\"govuk-label govuk-radios__label govuk-font19px\" for=\"contact-2\">\n Post\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" id=\"conditional-contact-postcode\" *ngIf=\"isPostcodeClicked && !isManualAddressClicked\">\n <form [formGroup]=\"postCodeForm\" novalidate>\n <label class=\"govuk-label govuk-font19px\" for=\"address-postcode\">\n <span class=\"govuk-hint govuk-font19px\">Information about this refund will be sent to this address.</span>Postcode\n </label>\n <div class=\"postcode-align-css\">\n <div class=\"govuk-form-group govuk-margin-right-10px\">\n <input class=\"govuk-input govuk-input--width-10\" id=\"address-postcode\" name=\"address-postcode\" [ngClass]=\"{ 'inline-error-class': isPostcodeEmpty || postcodeHasError }\" formControlName=\"postcode\" type=\"text\" autocomplete=\"postal-code\">\n <p class=\"inline-error-message\" *ngIf=\"isPostcodeEmpty || postcodeHasError\">\n <span *ngIf=\"isPostcodeEmpty\">Enter a postcode.</span>\n <span *ngIf=\"postcodeHasError\">Enter a valid postcode.</span>\n </p>\n </div>\n <div class=\"govuk-button-group\">\n <button class=\"govuk-button govuk-button--secondary govuk-font19px\" (click)=\"postcodeValidation('FA')\" data-module=\"govuk-button\">\n Find address\n </button>\n </div>\n </div>\n </form>\n <div class=\"govuk-form-group govuk-margin-btm-20px\" *ngIf=\"isShowPickAddress\">\n <label class=\"govuk-label govuk-font19px\" for=\"country\">\n Pick an address\n </label>\n <select class=\"govuk-select govuk-font19px\" [(ngModel)]=\"postcodeAddress\" id=\"postcodeAddress\" [ngClass]=\"{ 'inline-error-class': isAddressBoxEmpty }\" name=\"postcodeAddress\">\n <option *ngFor=\"let address of addressPostcodeList;\" [ngValue]=\"address.DPA\" > {{address.DPA.ADDRESS}}</option>\n </select> \n <p class=\"inline-error-message\" *ngIf=\"isAddressBoxEmpty\">\n <span *ngIf=\"isAddressBoxEmpty\">Please select an address.</span>\n </p>\n </div>\n <details class=\"govuk-details\" data-module=\"govuk-details\">\n <summary class=\"govuk-details__summary\">\n <span class=\"govuk-details__summary-text govuk-font19px\">\n <a href=\"Javascript:void(0);\" (click)=\"selectContactOption('Postcode', 'true')\"> Enter address manually</a>\n </span>\n </summary>\n </details>\n </div>\n <div class=\"govuk-radios__conditional\" id=\"conditional-contact-manual\" *ngIf=\"isPostcodeClicked && isManualAddressClicked\">\n <form [formGroup]=\"manualAddressForm\" novalidate>\n\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-font19px\" for=\"address-line-1\">\n <span class=\"govuk-hint govuk-font19px\">Information about this refund will be sent to this address.</span>Building and street <span class=\"govuk-visually-hidden\">line 1 of 2</span>\n </label>\n <input class=\"govuk-input govuk-font19px\" id=\"address-line-1\" name=\"address-line-1\" [ngClass]=\"{ 'inline-error-class': isaddressLine1Empty || addressLine1HasError }\" value=\"{{addressObj?.contact_details?.address_line}}\" formControlName=\"addressl1\" type=\"text\" autocomplete=\"address-line1\">\n <p class=\"inline-error-message\" *ngIf=\"isaddressLine1Empty || addressLine1HasError\">\n <span *ngIf=\"isaddressLine1Empty\">Enter a Building and street.</span>\n <span *ngIf=\"addressLine1HasError\">Enter a valid Building and street.</span>\n </p> \n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"address-line-2\">\n <span class=\"govuk-visually-hidden govuk-font19px\">Building and street line 2 of 2</span>\n </label>\n <input class=\"govuk-input govuk-font19px\" id=\"address-line-2\" name=\"address-line-2\" [ngClass]=\"{ 'inline-error-class': addressLine2HasError}\" formControlName=\"addressl2\" type=\"text\" autocomplete=\"address-line2\">\n <p class=\"inline-error-message\" *ngIf=\"addressLine2HasError\">\n <span *ngIf=\"addressLine2HasError\">Enter a valid Building and street line 2 of 2.</span>\n </p> \n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-font19px\" for=\"address-town\">\n Town or city\n </label>\n <input class=\"govuk-input govuk-!-width-two-thirds govuk-font19px\" id=\"address-town\" name=\"address-town\" [ngClass]=\"{ 'inline-error-class': isTownOrCityEmpty || townOrCityHasError}\" value=\"{{addressObj?.contact_details?.city}}\" formControlName=\"townorcity\" type=\"text\" autocomplete=\"address-level2\">\n <p class=\"inline-error-message\" *ngIf=\"isTownOrCityEmpty || townOrCityHasError\">\n <span *ngIf=\"isTownOrCityEmpty\">Enter a town or city.</span>\n <span *ngIf=\"townOrCityHasError\">Enter a town or city.</span>\n </p> \n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-font19px\" for=\"address-county\">\n County\n </label>\n <input class=\"govuk-input govuk-!-width-two-thirds govuk-font19px\" id=\"address-county\" [ngClass]=\"{ 'inline-error-class': isCountyEmpty || countyHasError}\" value=\"{{addressObj?.contact_details?.county}}\" formControlName=\"county\" name=\"address-county\" type=\"text\">\n <p class=\"inline-error-message\" *ngIf=\"isCountyEmpty || countyHasError\">\n <span *ngIf=\"isCountyEmpty\">Enter a County.</span>\n <span *ngIf=\"countyHasError\">Enter a valid County.</span>\n </p> \n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-font19px\" for=\"address-postcode\">\n Postcode\n </label>\n <input class=\"govuk-input govuk-input--width-10 govuk-font19px\" id=\"address-postcode\" formControlName=\"mpostcode\" name=\"address-postcode\" [ngClass]=\"{ 'inline-error-class': isMPostcodeEmpty || mpostcodeHasError}\" value=\"{{addressObj?.contact_details?.postal_code}}\" type=\"text\" autocomplete=\"postal-code\">\n <p class=\"inline-error-message\" *ngIf=\"isMPostcodeEmpty || mpostcodeHasError\">\n <span *ngIf=\"isMPostcodeEmpty\">Enter a postcode.</span>\n <span *ngIf=\"mpostcodeHasError\">Enter a valid postcode.</span>\n </p> \n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-font19px\" for=\"country\">\n Country\n </label>\n <select class=\"govuk-select govuk-font19px\" id=\"country\" name=\"country\" [ngClass]=\"{'inline-error-class': isCountryEmpty}\" formControlName=\"country\">\n <option value=\"\" selected=\"selected\">Please select</option>\n <option value=\"United Kingdom\" selected=\"{{ addressObj?.contact_details?.country ? 'selected' : '' }}\">United Kingdom</option>\n </select>\n <p class=\"inline-error-message\" *ngIf=\"isCountryEmpty\">\n <span *ngIf=\"isCountryEmpty\">Select a Country.</span>\n </p> \n </div>\n </form>\n </div>\n </div>\n </fieldset>\n </div>\n <!---FORM--->\n </div>\n\n<hr class=\"govuk-section-break govuk-section-break--m govuk-section-break--visible\">\n</fieldset>\n<div class=\"govuk-button-group\">\n<button type=\"submit\" class=\"button govuk-button--secondary govuk-font19px\" (click)=\"redirection($event)\"> Previous </button>\n \n<button type=\"submit\" class=\"button govuk-button govuk-font19px\" (click)=\"finalFormSubmit()\">\n Continue\n</button>\n</div>", styles: [".govuk-font19px{font-size:19px}.inline-error-class{outline:3px solid #a71414;outline-offset:0}.inline-error-message{color:#a71414;font-weight:700;margin-top:10px}.contact-details--size{width:50%}.postcode-align-css{display:flex;flex-direction:row}.govuk-margin-right-10px{margin-right:10px}.govuk-margin-btm-20px{margin-bottom:20px!important}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
309
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContactDetailsComponent, deps: [{ token: i1.FormBuilder }, { token: i2.NotificationService }, { token: 'PAYMENT_LIB' }], target: i0.ɵɵFactoryTarget.Component });
|
|
310
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ContactDetailsComponent, isStandalone: true, selector: "ccpay-contact-details", inputs: { isEditOperation: "isEditOperation", isEditOperationInRefundList: "isEditOperationInRefundList", addressObj: "addressObj" }, outputs: { assignContactDetails: "assignContactDetails", assignContactDetailsInFefundsList: "assignContactDetailsInFefundsList", redirectToIssueRefund: "redirectToIssueRefund" }, ngImport: i0, template: "<fieldset class=\"govuk-fieldset contact-details--size\">\n <hr class=\"govuk-section-break govuk-section-break--m govuk-section-break--visible\">\n <div class=\"govuk-form-group\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--s govuk-font19px\">\n {{ isEditOperation ? 'Edit contact information' : 'Contact information' }}\n </legend>\n <div id=\"contact-hint\" class=\"govuk-hint govuk-font19px\">\n Notifications will be sent via email or post when this refund is issued or rejected. You can only choose one option.\n </div>\n <div class=\"govuk-form-group\">\n <fieldset class=\"govuk-fieldset\">\n <div class=\"govuk-radios govuk-radios--conditional\" data-module=\"govuk-radios\">\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"contact\" name=\"contact\" (click)=\"selectContactOption('Email', 'false')\" type=\"radio\" value=\"email\" [checked]=\"isEmailSAddressClicked\" aria-controls=\"conditional-contact\" aria-expanded=\"true\">\n <label class=\"govuk-label govuk-radios__label govuk-font19px\" for=\"contact\">\n Email\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" id=\"conditional-contact-email\" *ngIf=\"isEmailSAddressClicked\">\n <form [formGroup]=\"emailAddressForm\" novalidate>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label \" for=\"email\">\n <span class=\"govuk-hint govuk-font19px\">Information about this refund will be sent to this email address.</span>\n </label>\n\n <div id=\"email-hint\" class=\"govuk-hint\">\n </div>\n <input class=\"govuk-input govuk-font19px\" id=\"email\" name=\"\" type=\"email\" [ngClass]=\"{ 'inline-error-class': isEmailEmpty || emailHasError }\" value=\"{{addressObj?.contact_details?.email}}\" formControlName=\"email\" aria-describedby=\"email-hint\">\n <p class=\"inline-error-message\" *ngIf=\"isEmailEmpty || emailHasError\">\n <span *ngIf=\"isEmailEmpty\">Enter a email address.</span>\n <span *ngIf=\"emailHasError\">Enter a valid email address.</span>\n </p>\n </div>\n </form>\n </div>\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"contact-2\" name=\"contact\" (click)=\"selectContactOption('Postcode', 'false')\" type=\"radio\" [checked]=\"isPostcodeClicked\" value=\"post\" aria-controls=\"conditional-contact-2\" aria-expanded=\"false\">\n <label class=\"govuk-label govuk-radios__label govuk-font19px\" for=\"contact-2\">\n Post\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" id=\"conditional-contact-postcode\" *ngIf=\"isPostcodeClicked && !isManualAddressClicked\">\n <form [formGroup]=\"postCodeForm\" novalidate>\n <label class=\"govuk-label govuk-font19px\" for=\"address-postcode\">\n <span class=\"govuk-hint govuk-font19px\">Information about this refund will be sent to this address.</span>Postcode\n </label>\n <div class=\"postcode-align-css\">\n <div class=\"govuk-form-group govuk-margin-right-10px\">\n <input class=\"govuk-input govuk-input--width-10\" id=\"address-postcode\" name=\"address-postcode\" [ngClass]=\"{ 'inline-error-class': isPostcodeEmpty || postcodeHasError }\" formControlName=\"postcode\" type=\"text\" autocomplete=\"postal-code\">\n <p class=\"inline-error-message\" *ngIf=\"isPostcodeEmpty || postcodeHasError\">\n <span *ngIf=\"isPostcodeEmpty\">Enter a postcode.</span>\n <span *ngIf=\"postcodeHasError\">Enter a valid postcode.</span>\n </p>\n </div>\n <div class=\"govuk-button-group\">\n <button class=\"govuk-button govuk-button--secondary govuk-font19px\" (click)=\"postcodeValidation('FA')\" data-module=\"govuk-button\">\n Find address\n </button>\n </div>\n </div>\n </form>\n <div class=\"govuk-form-group govuk-margin-btm-20px\" *ngIf=\"isShowPickAddress\">\n <label class=\"govuk-label govuk-font19px\" for=\"country\">\n Pick an address\n </label>\n <select class=\"govuk-select govuk-font19px\" [(ngModel)]=\"postcodeAddress\" id=\"postcodeAddress\" [ngClass]=\"{ 'inline-error-class': isAddressBoxEmpty }\" name=\"postcodeAddress\">\n <option *ngFor=\"let address of addressPostcodeList;\" [ngValue]=\"address.DPA\" > {{address.DPA.ADDRESS}}</option>\n </select> \n <p class=\"inline-error-message\" *ngIf=\"isAddressBoxEmpty\">\n <span *ngIf=\"isAddressBoxEmpty\">Please select an address.</span>\n </p>\n </div>\n <details class=\"govuk-details\" data-module=\"govuk-details\">\n <summary class=\"govuk-details__summary\">\n <span class=\"govuk-details__summary-text govuk-font19px\">\n <a href=\"Javascript:void(0);\" (click)=\"selectContactOption('Postcode', 'true')\"> Enter address manually</a>\n </span>\n </summary>\n </details>\n </div>\n <div class=\"govuk-radios__conditional\" id=\"conditional-contact-manual\" *ngIf=\"isPostcodeClicked && isManualAddressClicked\">\n <form [formGroup]=\"manualAddressForm\" novalidate>\n\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-font19px\" for=\"address-line-1\">\n <span class=\"govuk-hint govuk-font19px\">Information about this refund will be sent to this address.</span>Building and street <span class=\"govuk-visually-hidden\">line 1 of 2</span>\n </label>\n <input class=\"govuk-input govuk-font19px\" id=\"address-line-1\" name=\"address-line-1\" [ngClass]=\"{ 'inline-error-class': isaddressLine1Empty || addressLine1HasError }\" value=\"{{addressObj?.contact_details?.address_line}}\" formControlName=\"addressl1\" type=\"text\" autocomplete=\"address-line1\">\n <p class=\"inline-error-message\" *ngIf=\"isaddressLine1Empty || addressLine1HasError\">\n <span *ngIf=\"isaddressLine1Empty\">Enter a Building and street.</span>\n <span *ngIf=\"addressLine1HasError\">Enter a valid Building and street.</span>\n </p> \n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"address-line-2\">\n <span class=\"govuk-visually-hidden govuk-font19px\">Building and street line 2 of 2</span>\n </label>\n <input class=\"govuk-input govuk-font19px\" id=\"address-line-2\" name=\"address-line-2\" [ngClass]=\"{ 'inline-error-class': addressLine2HasError}\" formControlName=\"addressl2\" type=\"text\" autocomplete=\"address-line2\">\n <p class=\"inline-error-message\" *ngIf=\"addressLine2HasError\">\n <span *ngIf=\"addressLine2HasError\">Enter a valid Building and street line 2 of 2.</span>\n </p> \n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-font19px\" for=\"address-town\">\n Town or city\n </label>\n <input class=\"govuk-input govuk-!-width-two-thirds govuk-font19px\" id=\"address-town\" name=\"address-town\" [ngClass]=\"{ 'inline-error-class': isTownOrCityEmpty || townOrCityHasError}\" value=\"{{addressObj?.contact_details?.city}}\" formControlName=\"townorcity\" type=\"text\" autocomplete=\"address-level2\">\n <p class=\"inline-error-message\" *ngIf=\"isTownOrCityEmpty || townOrCityHasError\">\n <span *ngIf=\"isTownOrCityEmpty\">Enter a town or city.</span>\n <span *ngIf=\"townOrCityHasError\">Enter a town or city.</span>\n </p> \n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-font19px\" for=\"address-county\">\n County\n </label>\n <input class=\"govuk-input govuk-!-width-two-thirds govuk-font19px\" id=\"address-county\" [ngClass]=\"{ 'inline-error-class': isCountyEmpty || countyHasError}\" value=\"{{addressObj?.contact_details?.county}}\" formControlName=\"county\" name=\"address-county\" type=\"text\">\n <p class=\"inline-error-message\" *ngIf=\"isCountyEmpty || countyHasError\">\n <span *ngIf=\"isCountyEmpty\">Enter a County.</span>\n <span *ngIf=\"countyHasError\">Enter a valid County.</span>\n </p> \n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-font19px\" for=\"address-postcode\">\n Postcode\n </label>\n <input class=\"govuk-input govuk-input--width-10 govuk-font19px\" id=\"address-postcode\" formControlName=\"mpostcode\" name=\"address-postcode\" [ngClass]=\"{ 'inline-error-class': isMPostcodeEmpty || mpostcodeHasError}\" value=\"{{addressObj?.contact_details?.postal_code}}\" type=\"text\" autocomplete=\"postal-code\">\n <p class=\"inline-error-message\" *ngIf=\"isMPostcodeEmpty || mpostcodeHasError\">\n <span *ngIf=\"isMPostcodeEmpty\">Enter a postcode.</span>\n <span *ngIf=\"mpostcodeHasError\">Enter a valid postcode.</span>\n </p> \n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-font19px\" for=\"country\">\n Country\n </label>\n <select class=\"govuk-select govuk-font19px\" id=\"country\" name=\"country\" [ngClass]=\"{'inline-error-class': isCountryEmpty}\" formControlName=\"country\">\n <option value=\"\" selected=\"selected\">Please select</option>\n <option value=\"United Kingdom\" selected=\"{{ addressObj?.contact_details?.country ? 'selected' : '' }}\">United Kingdom</option>\n </select>\n <p class=\"inline-error-message\" *ngIf=\"isCountryEmpty\">\n <span *ngIf=\"isCountryEmpty\">Select a Country.</span>\n </p> \n </div>\n </form>\n </div>\n </div>\n </fieldset>\n </div>\n <!---FORM--->\n </div>\n\n<hr class=\"govuk-section-break govuk-section-break--m govuk-section-break--visible\">\n</fieldset>\n<div class=\"govuk-button-group\">\n<button type=\"submit\" class=\"button govuk-button--secondary govuk-font19px\" (click)=\"redirection($event)\"> Previous </button>\n \n<button type=\"submit\" class=\"button govuk-button govuk-font19px\" (click)=\"finalFormSubmit()\">\n Continue\n</button>\n</div>", styles: [".govuk-font19px{font-size:19px}.inline-error-class{outline:3px solid #a71414;outline-offset:0}.inline-error-message{color:#a71414;font-weight:700;margin-top:10px}.contact-details--size{width:50%}.postcode-align-css{display:flex;flex-direction:row}.govuk-margin-right-10px{margin-right:10px}.govuk-margin-btm-20px{margin-bottom:20px!important}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
311
311
|
}
|
|
312
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
312
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContactDetailsComponent, decorators: [{
|
|
313
313
|
type: Component,
|
|
314
314
|
args: [{ selector: 'ccpay-contact-details', imports: [
|
|
315
315
|
FormsModule,
|
|
@@ -335,4 +335,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
335
335
|
}], redirectToIssueRefund: [{
|
|
336
336
|
type: Output
|
|
337
337
|
}] } });
|
|
338
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvY29tcG9uZW50cy9jb250YWN0LWRldGFpbHMvY29udGFjdC1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvY29tcG9uZW50cy9jb250YWN0LWRldGFpbHMvY29udGFjdC1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBYy9DLE1BQU0sT0FBTyx1QkFBdUI7SUFtQ2Q7SUFDVjtJQUN1QjtJQXBDUCxlQUFlLENBQVU7SUFDYiwyQkFBMkIsQ0FBVTtJQUN0RCxVQUFVLENBQU07SUFDM0Isb0JBQW9CLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFDN0QsaUNBQWlDLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFDMUUscUJBQXFCLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFDeEUsU0FBUyxHQUFXLHdCQUF3QixDQUFDO0lBQzdDLFlBQVksQ0FBUztJQUNyQixzQkFBc0IsR0FBWSxJQUFJLENBQUM7SUFDdkMsaUJBQWlCLEdBQVksS0FBSyxDQUFDO0lBQ25DLGlCQUFpQixHQUFZLEtBQUss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RSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDaEksQ0FBQztnQkFDRCxJQUFJLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxJQUFJLEVBQUUsSUFBSSxVQUFVLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUNyRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUNoSSxDQUFDO2dCQUNELElBQUksVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRSxJQUFJLFVBQVUsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ3JFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQ2hJLENBQUM7Z0JBQ0QsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUUsQ0FBQztvQkFDdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDNUgsQ0FBQztnQkFDRCxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxJQUFJLEVBQUUsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUN2RSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUM1SCxDQUFDO2dCQUNELElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFFLENBQUM7b0JBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQzlILENBQUM7Z0JBQ0QsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDL0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FB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SSxDQUFDLGlCQUFpQixHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBRUgsQ0FBQzt1R0F0U1UsdUJBQXVCLGdGQXFDeEIsYUFBYTsyRkFyQ1osdUJBQXVCLDBZQ2xCcEMsbTJWQWdLTSxpWkRwSkYsV0FBVyw4d0NBQ1gsbUJBQW1CLCtVQUNuQixZQUFZOzsyRkFJSCx1QkFBdUI7a0JBWG5DLFNBQVM7K0JBQ0UsdUJBQXVCLFdBR3hCO3dCQUNQLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixZQUFZO3FCQUNiLGNBQ1csSUFBSTs7MEJBdUNiLE1BQU07MkJBQUMsYUFBYTt5Q0FwQ0csZUFBZTtzQkFBeEMsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBQ2MsMkJBQTJCO3NCQUFoRSxLQUFLO3VCQUFDLDZCQUE2QjtnQkFDZixVQUFVO3NCQUE5QixLQUFLO3VCQUFDLFlBQVk7Z0JBQ1Qsb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLGlDQUFpQztzQkFBMUMsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIElucHV0LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMsIEZvcm1Db250cm9sLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB0eXBlIHsgUGF5bWVudExpYkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BheW1lbnQtbGliLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG50eXBlIFBheW1lbnRMaWJBbGlhcyA9IFBheW1lbnRMaWJDb21wb25lbnQ7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjcGF5LWNvbnRhY3QtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250YWN0LWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb250YWN0LWRldGFpbHMuY29tcG9uZW50LmNzcyddLFxuICBpbXBvcnRzOiBbXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGVcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBDb250YWN0RGV0YWlsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgnaXNFZGl0T3BlcmF0aW9uJykgaXNFZGl0T3BlcmF0aW9uOiBib29sZWFuO1xuICBASW5wdXQoJ2lzRWRpdE9wZXJhdGlvbkluUmVmdW5kTGlzdCcpIGlzRWRpdE9wZXJhdGlvbkluUmVmdW5kTGlzdDogYm9vbGVhbjtcbiAgQElucHV0KCdhZGRyZXNzT2JqJykgYWRkcmVzc09iajogYW55O1xuICBAT3V0cHV0KCkgYXNzaWduQ29udGFjdERldGFpbHM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgYXNzaWduQ29udGFjdERldGFpbHNJbkZlZnVuZHNMaXN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHJlZGlyZWN0VG9Jc3N1ZVJlZnVuZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHBhZ2VUaXRsZTogc3RyaW5nID0gJ1BheW1lbnQgc3RhdHVzIGhpc3RvcnknO1xuICBlcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgaXNFbWFpbFNBZGRyZXNzQ2xpY2tlZDogYm9vbGVhbiA9IHRydWU7XG4gIGlzU2hvd1BpY2tBZGRyZXNzOiBib29sZWFuID0gZmFsc2U7XG4gIGlzUG9zdGNvZGVDbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzTWFudWFsQWRkcmVzc0NsaWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZW1haWxBZGRyZXNzRm9ybTogRm9ybUdyb3VwO1xuICBwb3N0Q29kZUZvcm06IEZvcm1Hcm91cDtcbiAgbWFudWFsQWRkcmVzc0Zvcm06IEZvcm1Hcm91cDtcbiAgYWRkcmVzc1Bvc3Rjb2RlTGlzdDogYW55W10gPSBbXTtcbiAgcG9zdGNvZGVBZGRyZXNzOiBhbnk7XG4gIGlzQWRkcmVzc0JveEVtcHR5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgaXNFbWFpbEVtcHR5OiBib29sZWFuID0gZmFsc2U7XG4gIGVtYWlsSGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNQb3N0Y29kZUVtcHR5OiBib29sZWFuID0gZmFsc2U7XG4gIHBvc3Rjb2RlSGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNhZGRyZXNzTGluZTFFbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuICBhZGRyZXNzTGluZTFIYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBhZGRyZXNzTGluZTJIYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1Rvd25PckNpdHlFbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuICB0b3duT3JDaXR5SGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNDb3VudHlFbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuICBjb3VudHlIYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBpc01Qb3N0Y29kZUVtcHR5OiBib29sZWFuID0gZmFsc2U7XG4gIG1wb3N0Y29kZUhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIGlzQ291bnRyeUVtcHR5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgIEBJbmplY3QoJ1BBWU1FTlRfTElCJykgcHJpdmF0ZSBwYXltZW50TGliQ29tcG9uZW50OiBQYXltZW50TGliQWxpYXMpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAnYWxsJyk7XG5cbiAgICB0aGlzLmVtYWlsQWRkcmVzc0Zvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGVtYWlsOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybignLitAKy4rXFxcXC4rLisnKVxuICAgICAgXSkpXG4gICAgfSk7XG4gICAgdGhpcy5wb3N0Q29kZUZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIHBvc3Rjb2RlOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybignXihbQS1aYS16XXsxLDJ9WzAtOV17MSwyfVtBLVphLXpdezAsMX0gP1swLTldW0EtWmEtel17Mn0pJylcbiAgICAgIF0pKVxuICAgIH0pO1xuICAgIHRoaXMubWFudWFsQWRkcmVzc0Zvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGFkZHJlc3NsMTogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oJ15bYS16QS1aMC05XFxcXHMsXFwnLV0qJCcpXG4gICAgICBdKSksXG4gICAgICBhZGRyZXNzbDI6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKCdeW2EtekEtWjAtOVxcXFxzLFxcJy1dKiQnKVxuICAgICAgXSkpLFxuICAgICAgdG93bm9yY2l0eTogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oJ15bYS16QS1aMC05XFxcXHMsXFwnLV0qJCcpXG4gICAgICBdKSksXG4gICAgICBjb3VudHk6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKCdeW2EtekEtWjAtOVxcXFxzLFxcJy1dKiQnKVxuICAgICAgXSkpLFxuICAgICAgbXBvc3Rjb2RlOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybignXihbQS1aYS16XXsxLDJ9WzAtOV17MSwyfVtBLVphLXpdezAsMX0gP1swLTldW0EtWmEtel17Mn0pJylcbiAgICAgIF0pKSxcbiAgICAgIGNvdW50cnk6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxuICAgICAgXSkpXG4gICAgfSk7XG4gICAgaWYgKHRoaXMuYWRkcmVzc09iaiAhPT0gdW5kZWZpbmVkICYmIHRoaXMuYWRkcmVzc09iaiAhPT0gJycpIHtcbiAgICAgIHRoaXMuc2V0RWRpdERldGFpbHMoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNFZGl0T3BlcmF0aW9uSW5SZWZ1bmRMaXN0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaXNFZGl0T3BlcmF0aW9uSW5SZWZ1bmRMaXN0ID0gZmFsc2U7XG4gICAgfVxuICB9XG4gIHNldEVkaXREZXRhaWxzKCkge1xuICAgIGlmICh0aGlzLmFkZHJlc3NPYmoubm90aWZpY2F0aW9uX3R5cGUgPT09ICdFTUFJTCcpIHtcbiAgICAgIHRoaXMuaXNFbWFpbFNBZGRyZXNzQ2xpY2tlZCA9IHRydWU7XG4gICAgICB0aGlzLmlzUG9zdGNvZGVDbGlja2VkID0gZmFsc2U7XG4gICAgICB0aGlzLmlzTWFudWFsQWRkcmVzc0NsaWNrZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuZW1haWxBZGRyZXNzRm9ybS5zZXRWYWx1ZSh7IGVtYWlsOiB0aGlzLmFkZHJlc3NPYmouY29udGFjdF9kZXRhaWxzLmVtYWlsIH0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hZGRyZXNzT2JqLm5vdGlmaWNhdGlvbl90eXBlID09PSAnTEVUVEVSJykge1xuICAgICAgdGhpcy5pc0VtYWlsU0FkZHJlc3NDbGlja2VkID0gZmFsc2U7XG4gICAgICB0aGlzLmlzUG9zdGNvZGVDbGlja2VkID0gdHJ1ZTtcbiAgICAgIHRoaXMuaXNNYW51YWxBZGRyZXNzQ2xpY2tlZCA9IHRydWU7XG4gICAgICB0aGlzLm1hbnVhbEFkZHJlc3NGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICBhZGRyZXNzbDE6IHRoaXMuYWRkcmVzc09iai5jb250YWN0X2RldGFpbHMuYWRkcmVzc19saW5lLFxuICAgICAgICB0b3dub3JjaXR5OiB0aGlzLmFkZHJlc3NPYmouY29udGFjdF9kZXRhaWxzLmNpdHksXG4gICAgICAgIGNvdW50eTogdGhpcy5hZGRyZXNzT2JqLmNvbnRhY3RfZGV0YWlscy5jb3VudHksXG4gICAgICAgIGNvdW50cnk6IHRoaXMuYWRkcmVzc09iai5jb250YWN0X2RldGFpbHMuY291bnRyeSxcbiAgICAgICAgbXBvc3Rjb2RlOiB0aGlzLmFkZHJlc3NPYmouY29udGFjdF9kZXRhaWxzLnBvc3RhbF9jb2RlXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RDb250YWN0T3B0aW9uKHR5cGUsIGlzTGlua2VkQ2xpZWQpIHtcbiAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZV0sICdhbGwnKTtcbiAgICBpZiAodHlwZSA9PT0gJ0VtYWlsJyAmJiBpc0xpbmtlZENsaWVkID09PSAnZmFsc2UnKSB7XG4gICAgICB0aGlzLmlzRW1haWxTQWRkcmVzc0NsaWNrZWQgPSB0cnVlO1xuICAgICAgdGhpcy5pc1Bvc3Rjb2RlQ2xpY2tlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5pc01hbnVhbEFkZHJlc3NDbGlja2VkID0gZmFsc2U7XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnUG9zdGNvZGUnICYmIGlzTGlua2VkQ2xpZWQgPT09ICdmYWxzZScpIHtcbiAgICAgIHRoaXMuaXNFbWFpbFNBZGRyZXNzQ2xpY2tlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5pc1Bvc3Rjb2RlQ2xpY2tlZCA9IHRydWU7XG4gICAgICB0aGlzLmlzTWFudWFsQWRkcmVzc0NsaWNrZWQgPSBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdQb3N0Y29kZScgJiYgaXNMaW5rZWRDbGllZCA9PT0gJ3RydWUnKSB7XG4gICAgICB0aGlzLmlzRW1haWxTQWRkcmVzc0NsaWNrZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNQb3N0Y29kZUNsaWNrZWQgPSB0cnVlO1xuICAgICAgdGhpcy5pc01hbnVhbEFkZHJlc3NDbGlja2VkID0gdHJ1ZTtcblxuICAgIH1cbiAgfVxuXG4gIGZpbmFsRm9ybVN1Ym1pdCgpIHtcbiAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZV0sICdhbGwnKTtcbiAgICBpZiAodGhpcy5pc0VtYWlsU0FkZHJlc3NDbGlja2VkKSB7XG4gICAgICBjb25zdCBlbWFpbEZpZWxkID0gdGhpcy5lbWFpbEFkZHJlc3NGb3JtLmNvbnRyb2xzLmVtYWlsO1xuICAgICAgaWYgKHRoaXMuZW1haWxBZGRyZXNzRm9ybS52YWxpZCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNFZGl0T3BlcmF0aW9uSW5SZWZ1bmRMaXN0KSB7XG4gICAgICAgICAgdGhpcy5hc3NpZ25Db250YWN0RGV0YWlscy5lbWl0KHtcbiAgICAgICAgICAgIGVtYWlsOiBlbWFpbEZpZWxkLnZhbHVlLFxuICAgICAgICAgICAgbm90aWZpY2F0aW9uX3R5cGU6ICdFTUFJTCdcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmFzc2lnbkNvbnRhY3REZXRhaWxzSW5GZWZ1bmRzTGlzdC5lbWl0KHtcbiAgICAgICAgICAgIGVtYWlsOiBlbWFpbEZpZWxkLnZhbHVlLFxuICAgICAgICAgICAgbm90aWZpY2F0aW9uX3R5cGU6ICdFTUFJTCdcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGVtYWlsRmllbGQudmFsdWUgPT0gJycpIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAnZW1haWwnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW1haWxGaWVsZC52YWx1ZSAhPSAnJyAmJiBlbWFpbEZpZWxkLmludmFsaWQpIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAnZW1haWwnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5pc1Bvc3Rjb2RlQ2xpY2tlZCAmJiAhdGhpcy5pc01hbnVhbEFkZHJlc3NDbGlja2VkKSB7XG4gICAgICB0aGlzLnBvc3Rjb2RlVmFsaWRhdGlvbignRlMnKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNQb3N0Y29kZUNsaWNrZWQgJiYgdGhpcy5pc01hbnVhbEFkZHJlc3NDbGlja2VkKSB7XG4gICAgICBjb25zdCBmaWVsZEN0cmxzID0gdGhpcy5tYW51YWxBZGRyZXNzRm9ybS5jb250cm9scztcbiAgICAgIGlmICh0aGlzLm1hbnVhbEFkZHJlc3NGb3JtLnZhbGlkKSB7XG4gICAgICAgIGlmICghdGhpcy5pc0VkaXRPcGVyYXRpb25JblJlZnVuZExpc3QpIHtcbiAgICAgICAgICB0aGlzLmFzc2lnbkNvbnRhY3REZXRhaWxzLmVtaXQoe1xuICAgICAgICAgICAgYWRkcmVzc19saW5lOiBmaWVsZEN0cmxzLmFkZHJlc3NsMS52YWx1ZSArICcgJyArIGZpZWxkQ3RybHMuYWRkcmVzc2wyLnZhbHVlLFxuICAgICAgICAgICAgY2l0eTogZmllbGRDdHJscy50b3dub3JjaXR5LnZhbHVlLFxuICAgICAgICAgICAgY291bnR5OiBmaWVsZEN0cmxzLmNvdW50eS52YWx1ZSxcbiAgICAgICAgICAgIHBvc3RhbF9jb2RlOiBmaWVsZEN0cmxzLm1wb3N0Y29kZS52YWx1ZSxcbiAgICAgICAgICAgIGNvdW50cnk6IGZpZWxkQ3RybHMuY291bnRyeS52YWx1ZSxcbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbl90eXBlOiAnTEVUVEVSJ1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYXNzaWduQ29udGFjdERldGFpbHNJbkZlZnVuZHNMaXN0LmVtaXQoe1xuICAgICAgICAgICAgYWRkcmVzc19saW5lOiBmaWVsZEN0cmxzLmFkZHJlc3NsMS52YWx1ZSArICcgJyArIGZpZWxkQ3RybHMuYWRkcmVzc2wyLnZhbHVlLFxuICAgICAgICAgICAgY2l0eTogZmllbGRDdHJscy50b3dub3JjaXR5LnZhbHVlLFxuICAgICAgICAgICAgY291bnR5OiBmaWVsZEN0cmxzLmNvdW50eS52YWx1ZSxcbiAgICAgICAgICAgIHBvc3RhbF9jb2RlOiBmaWVsZEN0cmxzLm1wb3N0Y29kZS52YWx1ZSxcbiAgICAgICAgICAgIGNvdW50cnk6IGZpZWxkQ3RybHMuY291bnRyeS52YWx1ZSxcbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbl90eXBlOiAnTEVUVEVSJ1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoZmllbGRDdHJscy5hZGRyZXNzbDEudmFsdWUgPT0gJycpIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAnYWRkcmVzczEnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmllbGRDdHJscy5hZGRyZXNzbDEudmFsdWUgIT0gJycgJiYgZmllbGRDdHJscy5hZGRyZXNzbDEuaW52YWxpZCkge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZV0sICdhZGRyZXNzMScpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmaWVsZEN0cmxzLmFkZHJlc3NsMi52YWx1ZSAhPSAnJyAmJiBmaWVsZEN0cmxzLmFkZHJlc3NsMi5pbnZhbGlkKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ2FkZHJlc3MyJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZpZWxkQ3RybHMudG93bm9yY2l0eS52YWx1ZSA9PSAnJykge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZV0sICd0b3duJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZpZWxkQ3RybHMudG93bm9yY2l0eS52YWx1ZSAhPSAnJyAmJiBmaWVsZEN0cmxzLnRvd25vcmNpdHkuaW52YWxpZCkge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZV0sICd0b3duJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZpZWxkQ3RybHMuY291bnR5LnZhbHVlID09ICcnKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ2NvdW50eScpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmaWVsZEN0cmxzLmNvdW50eS52YWx1ZSAhPSAnJyAmJiBmaWVsZEN0cmxzLmNvdW50eS5pbnZhbGlkKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ2NvdW50eScpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmaWVsZEN0cmxzLm1wb3N0Y29kZS52YWx1ZSA9PSAnJykge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0sICdtcG9zdGNvZGUnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmllbGRDdHJscy5tcG9zdGNvZGUudmFsdWUgIT0gJycgJiYgZmllbGRDdHJscy5tcG9zdGNvZGUuaW52YWxpZCkge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZV0sICdtcG9zdGNvZGUnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmllbGRDdHJscy5jb3VudHJ5LnZhbHVlID09ICcnKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlXSwgJ2NvdW50cnknKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxuICBwb3N0Y29kZVZhbGlkYXRpb24oc3RyKSB7XG4gICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAnYWxsJyk7XG4gICAgY29uc3QgcG9zdGNvZGVGaWVsZCA9IHRoaXMucG9zdENvZGVGb3JtLmNvbnRyb2xzLnBvc3Rjb2RlO1xuICAgIGlmICh0aGlzLnBvc3RDb2RlRm9ybS52YWxpZCkge1xuICAgICAgaWYgKHN0ciA9PT0gJ0ZBJykge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZ2V0QWRkcmVzc0J5UG9zdGNvZGUocG9zdGNvZGVGaWVsZC52YWx1ZSkuc3Vic2NyaWJlKFxuICAgICAgICAgIHJlZnVuZHNOb3RpZmljYXRpb24gPT4ge1xuICAgICAgICAgICAgdGhpcy5hZGRyZXNzUG9zdGNvZGVMaXN0ID0gcmVmdW5kc05vdGlmaWNhdGlvblsncmVzdWx0cyddO1xuICAgICAgICAgICAgdGhpcy5pc1Nob3dQaWNrQWRkcmVzcyA9IHJlZnVuZHNOb3RpZmljYXRpb25bJ2hlYWRlciddLnRvdGFscmVzdWx0cyA+IDA7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNTaG93UGlja0FkZHJlc3MpIHtcbiAgICAgICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAncG9zdGNvZGUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICksXG4gICAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNTaG93UGlja0FkZHJlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gZXJyb3IucmVwbGFjZSgvXCIvZywgXCJcIik7XG4gICAgICAgICAgfTtcbiAgICAgIH0gZWxzZSBpZiAoc3RyID09PSAnRlMnKSB7XG4gICAgICAgIGlmICh0aGlzLnBvc3Rjb2RlQWRkcmVzcyAhPT0gdW5kZWZpbmVkICYmIHRoaXMucG9zdGNvZGVBZGRyZXNzKSB7XG4gICAgICAgICAgdGhpcy5pc0FkZHJlc3NCb3hFbXB0eSA9IGZhbHNlO1xuICAgICAgICAgIGxldCBhZGRyZXNzTGluZSA9IFwiXCI7XG4gICAgICAgICAgbGV0IGFkZHJlc3NBcnJheSA9IHRoaXMucG9zdGNvZGVBZGRyZXNzLkFERFJFU1Muc3BsaXQoXCIsXCIpO1xuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYWRkcmVzc0FycmF5Lmxlbmd0aCAtIDI7IGkrKykge1xuICAgICAgICAgICAgYWRkcmVzc0xpbmUgKz0gYWRkcmVzc0FycmF5W2ldO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBhZGRyZXNzT2JqZWN0ID0ge1xuICAgICAgICAgICAgYWRkcmVzc19saW5lOiBhZGRyZXNzTGluZSxcbiAgICAgICAgICAgIGNpdHk6IHRoaXMucG9zdGNvZGVBZGRyZXNzLlBPU1RfVE9XTixcbiAgICAgICAgICAgIGNvdW50eTogdGhpcy5wb3N0Y29kZUFkZHJlc3MuTE9DQUxfQ1VTVE9ESUFOX0NPREVfREVTQ1JJUFRJT04sXG4gICAgICAgICAgICBwb3N0YWxfY29kZTogdGhpcy5wb3N0Y29kZUFkZHJlc3MuUE9TVENPREUsXG4gICAgICAgICAgICBjb3VudHJ5OiAnVW5pdGVkIEtpbmdkb20nLFxuICAgICAgICAgICAgbm90aWZpY2F0aW9uX3R5cGU6ICdMRVRURVInXG4gICAgICAgICAgfTtcbiAgICAgICAgICBpZiAoIXRoaXMuaXNFZGl0T3BlcmF0aW9uSW5SZWZ1bmRMaXN0KSB7XG4gICAgICAgICAgICB0aGlzLmFzc2lnbkNvbnRhY3REZXRhaWxzLmVtaXQoYWRkcmVzc09iamVjdCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYXNzaWduQ29udGFjdERldGFpbHNJbkZlZnVuZHNMaXN0LmVtaXQoYWRkcmVzc09iamVjdCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuaXNBZGRyZXNzQm94RW1wdHkgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChwb3N0Y29kZUZpZWxkLnZhbHVlID09ICcnKSB7XG4gICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ3Bvc3Rjb2RlJyk7XG4gICAgICB9XG4gICAgICBpZiAocG9zdGNvZGVGaWVsZC52YWx1ZSAhPSAnJyAmJiBwb3N0Y29kZUZpZWxkLmludmFsaWQpIHtcbiAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAncG9zdGNvZGUnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmVkaXJlY3Rpb24oZXZlbnQ6IGFueSkge1xuICAgIHRoaXMucmVkaXJlY3RUb0lzc3VlUmVmdW5kLmVtaXQoZXZlbnQpO1xuICB9XG4gIHJlc2V0Rm9ybSh2YWwsIGZpZWxkKSB7XG4gICAgaWYgKGZpZWxkID09PSAnZW1haWwnIHx8IGZpZWxkID09PSAnYWxsJykge1xuICAgICAgdGhpcy5pc0VtYWlsRW1wdHkgPSB2YWxbMF07XG4gICAgICB0aGlzLmVtYWlsSGFzRXJyb3IgPSB2YWxbMV07XG4gICAgfVxuICAgIGlmIChmaWVsZCA9PT0gJ3Bvc3Rjb2RlJyB8fCBmaWVsZCA9PT0gJ2FsbCcpIHtcbiAgICAgIHRoaXMuaXNQb3N0Y29kZUVtcHR5ID0gdmFsWzJdO1xuICAgICAgdGhpcy5wb3N0Y29kZUhhc0Vycm9yID0gdmFsWzNdO1xuICAgIH1cbiAgICBpZiAoZmllbGQgPT09ICdhZGRyZXNzMScgfHwgZmllbGQgPT09ICdhbGwnKSB7XG4gICAgICB0aGlzLmlzYWRkcmVzc0xpbmUxRW1wdHkgPSB2YWxbNF07XG4gICAgICB0aGlzLmFkZHJlc3NMaW5lMUhhc0Vycm9yID0gdmFsWzVdO1xuICAgIH1cbiAgICBpZiAoZmllbGQgPT09ICdhZGRyZXNzMicgfHwgZmllbGQgPT09ICdhbGwnKSB7XG4gICAgICB0aGlzLmFkZHJlc3NMaW5lMkhhc0Vycm9yID0gdmFsWzZdO1xuICAgIH1cbiAgICBpZiAoZmllbGQgPT09ICd0b3duJyB8fCBmaWVsZCA9PT0gJ2FsbCcpIHtcbiAgICAgIHRoaXMuaXNUb3duT3JDaXR5RW1wdHkgPSB2YWxbN107XG4gICAgICB0aGlzLnRvd25PckNpdHlIYXNFcnJvciA9IHZhbFs4XTtcbiAgICB9XG4gICAgaWYgKGZpZWxkID09PSAnY291bnR5JyB8fCBmaWVsZCA9PT0gJ2FsbCcpIHtcbiAgICAgIHRoaXMuaXNDb3VudHlFbXB0eSA9IHZhbFs5XTtcbiAgICAgIHRoaXMuY291bnR5SGFzRXJyb3IgPSB2YWxbMTBdO1xuICAgIH1cbiAgICBpZiAoZmllbGQgPT09ICdtcG9zdGNvZGUnIHx8IGZpZWxkID09PSAnYWxsJykge1xuICAgICAgdGhpcy5pc01Qb3N0Y29kZUVtcHR5ID0gdmFsWzExXTtcbiAgICAgIHRoaXMubXBvc3Rjb2RlSGFzRXJyb3IgPSB2YWxbMTJdO1xuICAgIH1cbiAgICBpZiAoZmllbGQgPT09ICdjb3VudHJ5JyB8fCBmaWVsZCA9PT0gJ2FsbCcpIHtcbiAgICAgIHRoaXMuaXNDb3VudHJ5RW1wdHkgPSB2YWxbMTNdO1xuICAgIH1cblxuICB9XG59XG4iLCI8ZmllbGRzZXQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldCBjb250YWN0LWRldGFpbHMtLXNpemVcIj5cbiAgPGhyIGNsYXNzPVwiZ292dWstc2VjdGlvbi1icmVhayBnb3Z1ay1zZWN0aW9uLWJyZWFrLS1tIGdvdnVrLXNlY3Rpb24tYnJlYWstLXZpc2libGVcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIj5cbiAgICA8bGVnZW5kIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2xlZ2VuZCBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1zIGdvdnVrLWZvbnQxOXB4XCI+XG4gICAgICB7eyBpc0VkaXRPcGVyYXRpb24gPyAnRWRpdCBjb250YWN0IGluZm9ybWF0aW9uJyA6ICdDb250YWN0IGluZm9ybWF0aW9uJyB9fVxuICAgIDwvbGVnZW5kPlxuICAgIDxkaXYgaWQ9XCJjb250YWN0LWhpbnRcIiBjbGFzcz1cImdvdnVrLWhpbnQgZ292dWstZm9udDE5cHhcIj5cbiAgICAgIE5vdGlmaWNhdGlvbnMgd2lsbCBiZSBzZW50IHZpYSBlbWFpbCBvciBwb3N0IHdoZW4gdGhpcyByZWZ1bmQgaXMgaXNzdWVkIG9yIHJlamVjdGVkLiBZb3UgY2FuIG9ubHkgY2hvb3NlIG9uZSBvcHRpb24uXG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIj5cbiAgICAgIDxmaWVsZHNldCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3MgZ292dWstcmFkaW9zLS1jb25kaXRpb25hbFwiIGRhdGEtbW9kdWxlPVwiZ292dWstcmFkaW9zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiPlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIGlkPVwiY29udGFjdFwiIG5hbWU9XCJjb250YWN0XCIgKGNsaWNrKT1cInNlbGVjdENvbnRhY3RPcHRpb24oJ0VtYWlsJywgJ2ZhbHNlJylcIiB0eXBlPVwicmFkaW9cIiB2YWx1ZT1cImVtYWlsXCIgW2NoZWNrZWRdPVwiaXNFbWFpbFNBZGRyZXNzQ2xpY2tlZFwiICBhcmlhLWNvbnRyb2xzPVwiY29uZGl0aW9uYWwtY29udGFjdFwiIGFyaWEtZXhwYW5kZWQ9XCJ0cnVlXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1yYWRpb3NfX2xhYmVsIGdvdnVrLWZvbnQxOXB4XCIgZm9yPVwiY29udGFjdFwiPlxuICAgICAgICAgICAgICBFbWFpbFxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zX19jb25kaXRpb25hbFwiIGlkPVwiY29uZGl0aW9uYWwtY29udGFjdC1lbWFpbFwiICpuZ0lmPVwiaXNFbWFpbFNBZGRyZXNzQ2xpY2tlZFwiPlxuICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJlbWFpbEFkZHJlc3NGb3JtXCIgbm92YWxpZGF0ZT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIFwiIGZvcj1cImVtYWlsXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1oaW50IGdvdnVrLWZvbnQxOXB4XCI+SW5mb3JtYXRpb24gYWJvdXQgdGhpcyByZWZ1bmQgd2lsbCBiZSBzZW50IHRvIHRoaXMgZW1haWwgYWRkcmVzcy48L3NwYW4+XG4gICAgICAgICAgICAgIDwvbGFiZWw+XG5cbiAgICAgICAgICAgICAgPGRpdiBpZD1cImVtYWlsLWhpbnRcIiBjbGFzcz1cImdvdnVrLWhpbnRcIj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0IGdvdnVrLWZvbnQxOXB4XCIgaWQ9XCJlbWFpbFwiIG5hbWU9XCJcIiB0eXBlPVwiZW1haWxcIiBbbmdDbGFzc109XCJ7ICdpbmxpbmUtZXJyb3ItY2xhc3MnOiBpc0VtYWlsRW1wdHkgfHwgZW1haWxIYXNFcnJvciB9XCIgdmFsdWU9XCJ7e2FkZHJlc3NPYmo/LmNvbnRhY3RfZGV0YWlscz8uZW1haWx9fVwiIGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCIgYXJpYS1kZXNjcmliZWRieT1cImVtYWlsLWhpbnRcIj5cbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJpbmxpbmUtZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiaXNFbWFpbEVtcHR5IHx8IGVtYWlsSGFzRXJyb3JcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzRW1haWxFbXB0eVwiPkVudGVyIGEgZW1haWwgYWRkcmVzcy48L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJlbWFpbEhhc0Vycm9yXCI+RW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzLjwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiPlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIGlkPVwiY29udGFjdC0yXCIgbmFtZT1cImNvbnRhY3RcIiAoY2xpY2spPVwic2VsZWN0Q29udGFjdE9wdGlvbignUG9zdGNvZGUnLCAnZmFsc2UnKVwiIHR5cGU9XCJyYWRpb1wiIFtjaGVja2VkXT1cImlzUG9zdGNvZGVDbGlja2VkXCIgdmFsdWU9XCJwb3N0XCIgYXJpYS1jb250cm9scz1cImNvbmRpdGlvbmFsLWNvbnRhY3QtMlwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbCBnb3Z1ay1mb250MTlweFwiIGZvcj1cImNvbnRhY3QtMlwiPlxuICAgICAgICAgICAgICBQb3N0XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2NvbmRpdGlvbmFsXCIgaWQ9XCJjb25kaXRpb25hbC1jb250YWN0LXBvc3Rjb2RlXCIgKm5nSWY9XCJpc1Bvc3Rjb2RlQ2xpY2tlZCAmJiAhaXNNYW51YWxBZGRyZXNzQ2xpY2tlZFwiPlxuICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJwb3N0Q29kZUZvcm1cIiBub3ZhbGlkYXRlPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1mb250MTlweFwiIGZvcj1cImFkZHJlc3MtcG9zdGNvZGVcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLWhpbnQgZ292dWstZm9udDE5cHhcIj5JbmZvcm1hdGlvbiBhYm91dCB0aGlzIHJlZnVuZCB3aWxsIGJlIHNlbnQgdG8gdGhpcyBhZGRyZXNzLjwvc3Bhbj5Qb3N0Y29kZVxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9zdGNvZGUtYWxpZ24tY3NzXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwIGdvdnVrLW1hcmdpbi1yaWdodC0xMHB4XCI+XG4gICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0IGdvdnVrLWlucHV0LS13aWR0aC0xMFwiIGlkPVwiYWRkcmVzcy1wb3N0Y29kZVwiIG5hbWU9XCJhZGRyZXNzLXBvc3Rjb2RlXCIgW25nQ2xhc3NdPVwieyAnaW5saW5lLWVycm9yLWNsYXNzJzogaXNQb3N0Y29kZUVtcHR5IHx8IHBvc3Rjb2RlSGFzRXJyb3IgfVwiIGZvcm1Db250cm9sTmFtZT1cInBvc3Rjb2RlXCIgdHlwZT1cInRleHRcIiBhdXRvY29tcGxldGU9XCJwb3N0YWwtY29kZVwiPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cImlubGluZS1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJpc1Bvc3Rjb2RlRW1wdHkgfHwgcG9zdGNvZGVIYXNFcnJvclwiPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNQb3N0Y29kZUVtcHR5XCI+RW50ZXIgYSBwb3N0Y29kZS48L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJwb3N0Y29kZUhhc0Vycm9yXCI+RW50ZXIgYSB2YWxpZCBwb3N0Y29kZS48L3NwYW4+XG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi1ncm91cFwiPlxuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZ292dWstYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGdvdnVrLWZvbnQxOXB4XCIgKGNsaWNrKT1cInBvc3Rjb2RlVmFsaWRhdGlvbignRkEnKVwiIGRhdGEtbW9kdWxlPVwiZ292dWstYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgRmluZCBhZGRyZXNzXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cCBnb3Z1ay1tYXJnaW4tYnRtLTIwcHhcIiAqbmdJZj1cImlzU2hvd1BpY2tBZGRyZXNzXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWZvbnQxOXB4XCIgZm9yPVwiY291bnRyeVwiPlxuICAgICAgICAgICAgICAgIFBpY2sgYW4gYWRkcmVzc1xuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZ292dWstc2VsZWN0IGdvdnVrLWZvbnQxOXB4XCIgWyhuZ01vZGVsKV09XCJwb3N0Y29kZUFkZHJlc3NcIiBpZD1cInBvc3Rjb2RlQWRkcmVzc1wiIFtuZ0NsYXNzXT1cInsgJ2lubGluZS1lcnJvci1jbGFzcyc6IGlzQWRkcmVzc0JveEVtcHR5IH1cIiBuYW1lPVwicG9zdGNvZGVBZGRyZXNzXCI+XG4gICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgYWRkcmVzcyBvZiBhZGRyZXNzUG9zdGNvZGVMaXN0O1wiIFtuZ1ZhbHVlXT1cImFkZHJlc3MuRFBBXCIgPiB7e2FkZHJlc3MuRFBBLkFERFJFU1N9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICA8L3NlbGVjdD4gXG4gICAgICAgICAgICAgIDxwIGNsYXNzPVwiaW5saW5lLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImlzQWRkcmVzc0JveEVtcHR5XCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc0FkZHJlc3NCb3hFbXB0eVwiPlBsZWFzZSBzZWxlY3QgYW4gYWRkcmVzcy48L3NwYW4+XG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRldGFpbHMgY2xhc3M9XCJnb3Z1ay1kZXRhaWxzXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1kZXRhaWxzXCI+XG4gICAgICAgICAgICAgIDxzdW1tYXJ5IGNsYXNzPVwiZ292dWstZGV0YWlsc19fc3VtbWFyeVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstZGV0YWlsc19fc3VtbWFyeS10ZXh0IGdvdnVrLWZvbnQxOXB4XCI+XG4gICAgICAgICAgICAgICAgICA8YSBocmVmPVwiSmF2YXNjcmlwdDp2b2lkKDApO1wiIChjbGljayk9XCJzZWxlY3RDb250YWN0T3B0aW9uKCdQb3N0Y29kZScsICd0cnVlJylcIj4gIEVudGVyIGFkZHJlc3MgbWFudWFsbHk8L2E+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L3N1bW1hcnk+XG4gICAgICAgICAgICA8L2RldGFpbHM+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19fY29uZGl0aW9uYWxcIiBpZD1cImNvbmRpdGlvbmFsLWNvbnRhY3QtbWFudWFsXCIgKm5nSWY9XCJpc1Bvc3Rjb2RlQ2xpY2tlZCAmJiBpc01hbnVhbEFkZHJlc3NDbGlja2VkXCI+XG4gICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cIm1hbnVhbEFkZHJlc3NGb3JtXCIgbm92YWxpZGF0ZT5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstZm9udDE5cHhcIiBmb3I9XCJhZGRyZXNzLWxpbmUtMVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstaGludCBnb3Z1ay1mb250MTlweFwiPkluZm9ybWF0aW9uIGFib3V0IHRoaXMgcmVmdW5kIHdpbGwgYmUgc2VudCB0byB0aGlzIGFkZHJlc3MuPC9zcGFuPkJ1aWxkaW5nIGFuZCBzdHJlZXQgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5saW5lIDEgb2YgMjwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstaW5wdXQgZ292dWstZm9udDE5cHhcIiBpZD1cImFkZHJlc3MtbGluZS0xXCIgbmFtZT1cImFkZHJlc3MtbGluZS0xXCIgW25nQ2xhc3NdPVwieyAnaW5saW5lLWVycm9yLWNsYXNzJzogaXNhZGRyZXNzTGluZTFFbXB0eSB8fCBhZGRyZXNzTGluZTFIYXNFcnJvciB9XCIgdmFsdWU9XCJ7e2FkZHJlc3NPYmo/LmNvbnRhY3RfZGV0YWlscz8uYWRkcmVzc19saW5lfX1cIiBmb3JtQ29udHJvbE5hbWU9XCJhZGRyZXNzbDFcIiB0eXBlPVwidGV4dFwiIGF1dG9jb21wbGV0ZT1cImFkZHJlc3MtbGluZTFcIj5cbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJpbmxpbmUtZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiaXNhZGRyZXNzTGluZTFFbXB0eSB8fCBhZGRyZXNzTGluZTFIYXNFcnJvclwiPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNhZGRyZXNzTGluZTFFbXB0eVwiPkVudGVyIGEgQnVpbGRpbmcgYW5kIHN0cmVldC48L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJhZGRyZXNzTGluZTFIYXNFcnJvclwiPkVudGVyIGEgdmFsaWQgQnVpbGRpbmcgYW5kIHN0cmVldC48L3NwYW4+XG4gICAgICAgICAgICAgIDwvcD4gIFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbFwiIGZvcj1cImFkZHJlc3MtbGluZS0yXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW4gZ292dWstZm9udDE5cHhcIj5CdWlsZGluZyBhbmQgc3RyZWV0IGxpbmUgMiBvZiAyPC9zcGFuPlxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1pbnB1dCBnb3Z1ay1mb250MTlweFwiIGlkPVwiYWRkcmVzcy1saW5lLTJcIiBuYW1lPVwiYWRkcmVzcy1saW5lLTJcIiBbbmdDbGFzc109XCJ7ICdpbmxpbmUtZXJyb3ItY2xhc3MnOiBhZGRyZXNzTGluZTJIYXNFcnJvcn1cIiBmb3JtQ29udHJvbE5hbWU9XCJhZGRyZXNzbDJcIiB0eXBlPVwidGV4dFwiIGF1dG9jb21wbGV0ZT1cImFkZHJlc3MtbGluZTJcIj5cbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJpbmxpbmUtZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiYWRkcmVzc0xpbmUySGFzRXJyb3JcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImFkZHJlc3NMaW5lMkhhc0Vycm9yXCI+RW50ZXIgYSB2YWxpZCBCdWlsZGluZyBhbmQgc3RyZWV0IGxpbmUgMiBvZiAyLjwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9wPiAgXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWZvbnQxOXB4XCIgZm9yPVwiYWRkcmVzcy10b3duXCI+XG4gICAgICAgICAgICAgICAgVG93biBvciBjaXR5XG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0IGdvdnVrLSEtd2lkdGgtdHdvLXRoaXJkcyBnb3Z1ay1mb250MTlweFwiIGlkPVwiYWRkcmVzcy10b3duXCIgbmFtZT1cImFkZHJlc3MtdG93blwiIFtuZ0NsYXNzXT1cInsgJ2lubGluZS1lcnJvci1jbGFzcyc6IGlzVG93bk9yQ2l0eUVtcHR5IHx8IHRvd25PckNpdHlIYXNFcnJvcn1cIiB2YWx1ZT1cInt7YWRkcmVzc09iaj8uY29udGFjdF9kZXRhaWxzPy5jaXR5fX1cIiBmb3JtQ29udHJvbE5hbWU9XCJ0b3dub3JjaXR5XCIgdHlwZT1cInRleHRcIiBhdXRvY29tcGxldGU9XCJhZGRyZXNzLWxldmVsMlwiPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cImlubGluZS1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJpc1Rvd25PckNpdHlFbXB0eSB8fCB0b3duT3JDaXR5SGFzRXJyb3JcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzVG93bk9yQ2l0eUVtcHR5XCI+RW50ZXIgYSB0b3duIG9yIGNpdHkuPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidG93bk9yQ2l0eUhhc0Vycm9yXCI+RW50ZXIgYSB0b3duIG9yIGNpdHkuPC9zcGFuPlxuICAgICAgICAgICAgICA8L3A+ICBcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstZm9udDE5cHhcIiBmb3I9XCJhZGRyZXNzLWNvdW50eVwiPlxuICAgICAgICAgICAgICAgIENvdW50eVxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1pbnB1dCBnb3Z1ay0hLXdpZHRoLXR3by10aGlyZHMgZ292dWstZm9udDE5cHhcIiBpZD1cImFkZHJlc3MtY291bnR5XCIgW25nQ2xhc3NdPVwieyAnaW5saW5lLWVycm9yLWNsYXNzJzogaXNDb3VudHlFbXB0eSB8fCBjb3VudHlIYXNFcnJvcn1cIiB2YWx1ZT1cInt7YWRkcmVzc09iaj8uY29udGFjdF9kZXRhaWxzPy5jb3VudHl9fVwiIGZvcm1Db250cm9sTmFtZT1cImNvdW50eVwiIG5hbWU9XCJhZGRyZXNzLWNvdW50eVwiIHR5cGU9XCJ0ZXh0XCI+XG4gICAgICAgICAgICAgIDxwIGNsYXNzPVwiaW5saW5lLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImlzQ291bnR5RW1wdHkgfHwgY291bnR5SGFzRXJyb3JcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzQ291bnR5RW1wdHlcIj5FbnRlciBhIENvdW50eS48L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb3VudHlIYXNFcnJvclwiPkVudGVyIGEgdmFsaWQgQ291bnR5Ljwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9wPiAgXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWZvbnQxOXB4XCIgZm9yPVwiYWRkcmVzcy1wb3N0Y29kZVwiPlxuICAgICAgICAgICAgICAgIFBvc3Rjb2RlXG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0IGdvdnVrLWlucHV0LS13aWR0aC0xMCBnb3Z1ay1mb250MTlweFwiIGlkPVwiYWRkcmVzcy1wb3N0Y29kZVwiIGZvcm1Db250cm9sTmFtZT1cIm1wb3N0Y29kZVwiIG5hbWU9XCJhZGRyZXNzLXBvc3Rjb2RlXCIgW25nQ2xhc3NdPVwieyAnaW5saW5lLWVycm9yLWNsYXNzJzogaXNNUG9zdGNvZGVFbXB0eSB8fCBtcG9zdGNvZGVIYXNFcnJvcn1cIiB2YWx1ZT1cInt7YWRkcmVzc09iaj8uY29udGFjdF9kZXRhaWxzPy5wb3N0YWxfY29kZX19XCIgdHlwZT1cInRleHRcIiBhdXRvY29tcGxldGU9XCJwb3N0YWwtY29kZVwiPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cImlubGluZS1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJpc01Qb3N0Y29kZUVtcHR5IHx8IG1wb3N0Y29kZUhhc0Vycm9yXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc01Qb3N0Y29kZUVtcHR5XCI+RW50ZXIgYSBwb3N0Y29kZS48L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJtcG9zdGNvZGVIYXNFcnJvclwiPkVudGVyIGEgdmFsaWQgcG9zdGNvZGUuPC9zcGFuPlxuICAgICAgICAgICAgICA8L3A+ICBcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstZm9udDE5cHhcIiBmb3I9XCJjb3VudHJ5XCI+XG4gICAgICAgICAgICAgICAgQ291bnRyeVxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZ292dWstc2VsZWN0IGdvdnVrLWZvbnQxOXB4XCIgaWQ9XCJjb3VudHJ5XCIgbmFtZT1cImNvdW50cnlcIiBbbmdDbGFzc109XCJ7J2lubGluZS1lcnJvci1jbGFzcyc6IGlzQ291bnRyeUVtcHR5fVwiIGZvcm1Db250cm9sTmFtZT1cImNvdW50cnlcIj5cbiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiXCIgc2VsZWN0ZWQ9XCJzZWxlY3RlZFwiPlBsZWFzZSBzZWxlY3Q8L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiVW5pdGVkIEtpbmdkb21cIiBzZWxlY3RlZD1cInt7IGFkZHJlc3NPYmo/LmNvbnRhY3RfZGV0YWlscz8uY291bnRyeSA/ICdzZWxlY3RlZCcgOiAnJyB9fVwiPlVuaXRlZCBLaW5nZG9tPC9vcHRpb24+XG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cImlubGluZS1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJpc0NvdW50cnlFbXB0eVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNDb3VudHJ5RW1wdHlcIj5TZWxlY3QgYSBDb3VudHJ5Ljwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9wPiAgXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2ZpZWxkc2V0PlxuICAgIDwvZGl2PlxuICAgIDwhLS0tRk9STS0tLT5cbiAgPC9kaXY+XG5cbjxociBjbGFzcz1cImdvdnVrLXNlY3Rpb24tYnJlYWsgZ292dWstc2VjdGlvbi1icmVhay0tbSBnb3Z1ay1zZWN0aW9uLWJyZWFrLS12aXNpYmxlXCI+XG48L2ZpZWxkc2V0PlxuPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi1ncm91cFwiPlxuPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidXR0b24gZ292dWstYnV0dG9uLS1zZWNvbmRhcnkgZ292dWstZm9udDE5cHhcIiAoY2xpY2spPVwicmVkaXJlY3Rpb24oJGV2ZW50KVwiPiBQcmV2aW91cyA8L2J1dHRvbj5cbiZuYnNwO1xuPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidXR0b24gZ292dWstYnV0dG9uIGdvdnVrLWZvbnQxOXB4XCIgKGNsaWNrKT1cImZpbmFsRm9ybVN1Ym1pdCgpXCI+XG4gIENvbnRpbnVlXG48L2J1dHRvbj5cbjwvZGl2PiJdfQ==
|
|
338
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvY29tcG9uZW50cy9jb250YWN0LWRldGFpbHMvY29udGFjdC1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvY29tcG9uZW50cy9jb250YWN0LWRldGFpbHMvY29udGFjdC1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxXQUFXLEVBQWEsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBYy9DLE1BQU0sT0FBTyx1QkFBdUI7SUFtQ2Q7SUFDVjtJQUN1QjtJQXBDUCxlQUFlLENBQVU7SUFDYiwyQkFBMkIsQ0FBVTtJQUN0RCxVQUFVLENBQU07SUFDM0Isb0JBQW9CLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFDN0QsaUNBQWlDLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFDMUUscUJBQXFCLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFDeEUsU0FBUyxHQUFXLHdCQUF3QixDQUFDO0lBQzdDLFlBQVksQ0FBUztJQUNyQixzQkFBc0IsR0FBWSxJQUFJLENBQUM7SUFDdkMsaUJBQWlCLEdBQVksS0FBSyxDQUFDO0lBQ25DLGlCQUFpQixHQUFZLEtBQUssQ0FBQztJQUNuQyxzQkFBc0IsR0FBWSxLQUFLLENBQUM7SUFDeEMsZ0JBQWdCLENBQVk7SUFDNUIsWUFBWSxDQUFZO0lBQ3hCLGlCQUFpQixDQUFZO0lBQzdCLG1CQUFtQixHQUFVLEVBQUUsQ0FBQztJQUNoQyxlQUFlLENBQU07SUFDckIsaUJBQWlCLEdBQVksS0FBSyxDQUFDO0lBRW5DLFlBQVksR0FBWSxLQUFLLENBQUM7SUFDOUIsYUFBYSxHQUFZLEtBQUssQ0FBQztJQUMvQixlQUFlLEdBQVksS0FBSyxDQUFDO0lBQ2pDLGdCQUFnQixHQUFZLEtBQUssQ0FBQztJQUNsQyxtQkFBbUIsR0FBWSxLQUFLLENBQUM7SUFDckMsb0JBQW9CLEdBQVksS0FBSyxDQUFDO0lBQ3RDLG9CQUFvQixHQUFZLEtBQUssQ0FBQztJQUN0QyxpQkFBaUIsR0FBWSxLQUFLLENBQUM7SUFDbkMsa0JBQWtCLEdBQVksS0FBSyxDQUFDO0lBQ3BDLGFBQWEsR0FBWSxLQUFLLENBQUM7SUFDL0IsY0FBYyxHQUFZLEtBQUssQ0FBQztJQUNoQyxnQkFBZ0IsR0FBWSxLQUFLLENBQUM7SUFDbEMsaUJBQWlCLEdBQVksS0FBSyxDQUFDO0lBQ25DLGNBQWMsR0FBWSxLQUFLLENBQUM7SUFFaEMsWUFBb0IsV0FBd0IsRUFDbEMsbUJBQXdDLEVBQ2pCLG1CQUFvQztRQUZqRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNsQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ2pCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBaUI7SUFBSSxDQUFDO0lBRTFFLFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTFILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUM3QyxLQUFLLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUM7Z0JBQzVDLFVBQVUsQ0FBQyxRQUFRO2dCQUNuQixVQUFVLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQzthQUNuQyxDQUFDLENBQUM7U0FDSixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQ3pDLFFBQVEsRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQztnQkFDL0MsVUFBVSxDQUFDLFFBQVE7Z0JBQ25CLFVBQVUsQ0FBQyxPQUFPLENBQUMsMkRBQTJELENBQUM7YUFDaEYsQ0FBQyxDQUFDO1NBQ0osQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQzlDLFNBQVMsRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQztnQkFDaEQsVUFBVSxDQUFDLFFBQVE7Z0JBQ25CLFVBQVUsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUM7YUFDNUMsQ0FBQyxDQUFDO1lBQ0gsU0FBUyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDO2dCQUNoRCxVQUFVLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDO2FBQzVDLENBQUMsQ0FBQztZQUNILFVBQVUsRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQztnQkFDakQsVUFBVSxDQUFDLFFBQVE7Z0JBQ25CLFVBQVUsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUM7YUFDNUMsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDO2dCQUM3QyxVQUFVLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDO2FBQzVDLENBQUMsQ0FBQztZQUNILFNBQVMsRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQztnQkFDaEQsVUFBVSxDQUFDLFFBQVE7Z0JBQ25CLFVBQVUsQ0FBQyxPQUFPLENBQUMsMkRBQTJELENBQUM7YUFDaEYsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDO2dCQUM5QyxVQUFVLENBQUMsUUFBUTthQUNwQixDQUFDLENBQUM7U0FDSixDQUFDLENBQUM7UUFDSCxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDNUQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQywyQkFBMkIsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsMkJBQTJCLEdBQUcsS0FBSyxDQUFDO1FBQzNDLENBQUM7SUFDSCxDQUFDO0lBQ0QsY0FBYztRQUNaLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUNsRCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO1lBQ25DLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7WUFDL0IsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQztZQUNwQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDbkYsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMxRCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7WUFDOUIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztZQUNuQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDO2dCQUNoQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsWUFBWTtnQkFDdkQsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLElBQUk7Z0JBQ2hELE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxNQUFNO2dCQUM5QyxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsT0FBTztnQkFDaEQsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLFdBQVc7YUFDdkQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsYUFBYTtRQUNyQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqSSxJQUFJLElBQUksS0FBSyxPQUFPLElBQUksYUFBYSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ2xELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUM7WUFDbkMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztZQUMvQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO1FBQ3RDLENBQUM7YUFBTSxJQUFJLElBQUksS0FBSyxVQUFVLElBQUksYUFBYSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQzVELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUM7WUFDcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztZQUM5QixJQUFJLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO1FBQ3RDLENBQUM7YUFBTSxJQUFJLElBQUksS0FBSyxVQUFVLElBQUksYUFBYSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQzNELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUM7WUFDcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztZQUM5QixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO1FBRXJDLENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pJLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDaEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDeEQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztvQkFDdEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQzt3QkFDN0IsS0FBSyxFQUFFLFVBQVUsQ0FBQyxLQUFLO3dCQUN2QixpQkFBaUIsRUFBRSxPQUFPO3FCQUMzQixDQUFDLENBQUM7Z0JBQ0wsQ0FBQztxQkFBTSxDQUFDO29CQUNOLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxJQUFJLENBQUM7d0JBQzFDLEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSzt3QkFDdkIsaUJBQWlCLEVBQUUsT0FBTztxQkFDM0IsQ0FBQyxDQUFDO2dCQUNMLENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxVQUFVLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBRSxDQUFDO29CQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUM3SCxDQUFDO2dCQUNELElBQUksVUFBVSxDQUFDLEtBQUssSUFBSSxFQUFFLElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUNqRCxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUM3SCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ2xFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDakUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztZQUNuRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxDQUFDLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO29CQUN0QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDO3dCQUM3QixZQUFZLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSzt3QkFDM0UsSUFBSSxFQUFFLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSzt3QkFDakMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSzt3QkFDL0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSzt3QkFDdkMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSzt3QkFDakMsaUJBQWlCLEVBQUUsUUFBUTtxQkFDNUIsQ0FBQyxDQUFDO2dCQUNMLENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLENBQUMsaUNBQWlDLENBQUMsSUFBSSxDQUFDO3dCQUMxQyxZQUFZLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSzt3QkFDM0UsSUFBSSxFQUFFLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSzt3QkFDakMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSzt3QkFDL0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSzt3QkFDdkMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSzt3QkFDakMsaUJBQWlCLEVBQUUsUUFBUTtxQkFDNUIsQ0FBQyxDQUFDO2dCQUNMLENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUUsQ0FBQztvQkFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDaEksQ0FBQztnQkFDRCxJQUFJLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxJQUFJLEVBQUUsSUFBSSxVQUFVLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUNyRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUNoSSxDQUFDO2dCQUNELElBQUksVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRSxJQUFJLFVBQVUsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ3JFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQ2hJLENBQUM7Z0JBQ0QsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUUsQ0FBQztvQkFDdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDNUgsQ0FBQztnQkFDRCxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxJQUFJLEVBQUUsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUN2RSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUM1SCxDQUFDO2dCQUNELElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFFLENBQUM7b0JBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQzlILENBQUM7Z0JBQ0QsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDL0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FB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SSxDQUFDLGlCQUFpQixHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsSUFBSSxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBRUgsQ0FBQzt3R0F0U1UsdUJBQXVCLGdGQXFDeEIsYUFBYTs0RkFyQ1osdUJBQXVCLDBZQ2xCcEMsbTJWQWdLTSxpWkRwSkYsV0FBVyw4d0NBQ1gsbUJBQW1CLCtVQUNuQixZQUFZOzs0RkFJSCx1QkFBdUI7a0JBWG5DLFNBQVM7K0JBQ0UsdUJBQXVCLFdBR3hCO3dCQUNQLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixZQUFZO3FCQUNiLGNBQ1csSUFBSTs7MEJBdUNiLE1BQU07MkJBQUMsYUFBYTt5Q0FwQ0csZUFBZTtzQkFBeEMsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBQ2MsMkJBQTJCO3NCQUFoRSxLQUFLO3VCQUFDLDZCQUE2QjtnQkFDZixVQUFVO3NCQUE5QixLQUFLO3VCQUFDLFlBQVk7Z0JBQ1Qsb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLGlDQUFpQztzQkFBMUMsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIElucHV0LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMsIEZvcm1Db250cm9sLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB0eXBlIHsgUGF5bWVudExpYkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BheW1lbnQtbGliLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG50eXBlIFBheW1lbnRMaWJBbGlhcyA9IFBheW1lbnRMaWJDb21wb25lbnQ7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjcGF5LWNvbnRhY3QtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250YWN0LWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb250YWN0LWRldGFpbHMuY29tcG9uZW50LmNzcyddLFxuICBpbXBvcnRzOiBbXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGVcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBDb250YWN0RGV0YWlsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgnaXNFZGl0T3BlcmF0aW9uJykgaXNFZGl0T3BlcmF0aW9uOiBib29sZWFuO1xuICBASW5wdXQoJ2lzRWRpdE9wZXJhdGlvbkluUmVmdW5kTGlzdCcpIGlzRWRpdE9wZXJhdGlvbkluUmVmdW5kTGlzdDogYm9vbGVhbjtcbiAgQElucHV0KCdhZGRyZXNzT2JqJykgYWRkcmVzc09iajogYW55O1xuICBAT3V0cHV0KCkgYXNzaWduQ29udGFjdERldGFpbHM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgYXNzaWduQ29udGFjdERldGFpbHNJbkZlZnVuZHNMaXN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHJlZGlyZWN0VG9Jc3N1ZVJlZnVuZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHBhZ2VUaXRsZTogc3RyaW5nID0gJ1BheW1lbnQgc3RhdHVzIGhpc3RvcnknO1xuICBlcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgaXNFbWFpbFNBZGRyZXNzQ2xpY2tlZDogYm9vbGVhbiA9IHRydWU7XG4gIGlzU2hvd1BpY2tBZGRyZXNzOiBib29sZWFuID0gZmFsc2U7XG4gIGlzUG9zdGNvZGVDbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzTWFudWFsQWRkcmVzc0NsaWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZW1haWxBZGRyZXNzRm9ybTogRm9ybUdyb3VwO1xuICBwb3N0Q29kZUZvcm06IEZvcm1Hcm91cDtcbiAgbWFudWFsQWRkcmVzc0Zvcm06IEZvcm1Hcm91cDtcbiAgYWRkcmVzc1Bvc3Rjb2RlTGlzdDogYW55W10gPSBbXTtcbiAgcG9zdGNvZGVBZGRyZXNzOiBhbnk7XG4gIGlzQWRkcmVzc0JveEVtcHR5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgaXNFbWFpbEVtcHR5OiBib29sZWFuID0gZmFsc2U7XG4gIGVtYWlsSGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNQb3N0Y29kZUVtcHR5OiBib29sZWFuID0gZmFsc2U7XG4gIHBvc3Rjb2RlSGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNhZGRyZXNzTGluZTFFbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuICBhZGRyZXNzTGluZTFIYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBhZGRyZXNzTGluZTJIYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1Rvd25PckNpdHlFbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuICB0b3duT3JDaXR5SGFzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNDb3VudHlFbXB0eTogYm9vbGVhbiA9IGZhbHNlO1xuICBjb3VudHlIYXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBpc01Qb3N0Y29kZUVtcHR5OiBib29sZWFuID0gZmFsc2U7XG4gIG1wb3N0Y29kZUhhc0Vycm9yOiBib29sZWFuID0gZmFsc2U7XG4gIGlzQ291bnRyeUVtcHR5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgIEBJbmplY3QoJ1BBWU1FTlRfTElCJykgcHJpdmF0ZSBwYXltZW50TGliQ29tcG9uZW50OiBQYXltZW50TGliQWxpYXMpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAnYWxsJyk7XG5cbiAgICB0aGlzLmVtYWlsQWRkcmVzc0Zvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGVtYWlsOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybignLitAKy4rXFxcXC4rLisnKVxuICAgICAgXSkpXG4gICAgfSk7XG4gICAgdGhpcy5wb3N0Q29kZUZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIHBvc3Rjb2RlOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybignXihbQS1aYS16XXsxLDJ9WzAtOV17MSwyfVtBLVphLXpdezAsMX0gP1swLTldW0EtWmEtel17Mn0pJylcbiAgICAgIF0pKVxuICAgIH0pO1xuICAgIHRoaXMubWFudWFsQWRkcmVzc0Zvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgIGFkZHJlc3NsMTogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oJ15bYS16QS1aMC05XFxcXHMsXFwnLV0qJCcpXG4gICAgICBdKSksXG4gICAgICBhZGRyZXNzbDI6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKCdeW2EtekEtWjAtOVxcXFxzLFxcJy1dKiQnKVxuICAgICAgXSkpLFxuICAgICAgdG93bm9yY2l0eTogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oJ15bYS16QS1aMC05XFxcXHMsXFwnLV0qJCcpXG4gICAgICBdKSksXG4gICAgICBjb3VudHk6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKCdeW2EtekEtWjAtOVxcXFxzLFxcJy1dKiQnKVxuICAgICAgXSkpLFxuICAgICAgbXBvc3Rjb2RlOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMucGF0dGVybignXihbQS1aYS16XXsxLDJ9WzAtOV17MSwyfVtBLVphLXpdezAsMX0gP1swLTldW0EtWmEtel17Mn0pJylcbiAgICAgIF0pKSxcbiAgICAgIGNvdW50cnk6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxuICAgICAgXSkpXG4gICAgfSk7XG4gICAgaWYgKHRoaXMuYWRkcmVzc09iaiAhPT0gdW5kZWZpbmVkICYmIHRoaXMuYWRkcmVzc09iaiAhPT0gJycpIHtcbiAgICAgIHRoaXMuc2V0RWRpdERldGFpbHMoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNFZGl0T3BlcmF0aW9uSW5SZWZ1bmRMaXN0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaXNFZGl0T3BlcmF0aW9uSW5SZWZ1bmRMaXN0ID0gZmFsc2U7XG4gICAgfVxuICB9XG4gIHNldEVkaXREZXRhaWxzKCkge1xuICAgIGlmICh0aGlzLmFkZHJlc3NPYmoubm90aWZpY2F0aW9uX3R5cGUgPT09ICdFTUFJTCcpIHtcbiAgICAgIHRoaXMuaXNFbWFpbFNBZGRyZXNzQ2xpY2tlZCA9IHRydWU7XG4gICAgICB0aGlzLmlzUG9zdGNvZGVDbGlja2VkID0gZmFsc2U7XG4gICAgICB0aGlzLmlzTWFudWFsQWRkcmVzc0NsaWNrZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuZW1haWxBZGRyZXNzRm9ybS5zZXRWYWx1ZSh7IGVtYWlsOiB0aGlzLmFkZHJlc3NPYmouY29udGFjdF9kZXRhaWxzLmVtYWlsIH0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hZGRyZXNzT2JqLm5vdGlmaWNhdGlvbl90eXBlID09PSAnTEVUVEVSJykge1xuICAgICAgdGhpcy5pc0VtYWlsU0FkZHJlc3NDbGlja2VkID0gZmFsc2U7XG4gICAgICB0aGlzLmlzUG9zdGNvZGVDbGlja2VkID0gdHJ1ZTtcbiAgICAgIHRoaXMuaXNNYW51YWxBZGRyZXNzQ2xpY2tlZCA9IHRydWU7XG4gICAgICB0aGlzLm1hbnVhbEFkZHJlc3NGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICBhZGRyZXNzbDE6IHRoaXMuYWRkcmVzc09iai5jb250YWN0X2RldGFpbHMuYWRkcmVzc19saW5lLFxuICAgICAgICB0b3dub3JjaXR5OiB0aGlzLmFkZHJlc3NPYmouY29udGFjdF9kZXRhaWxzLmNpdHksXG4gICAgICAgIGNvdW50eTogdGhpcy5hZGRyZXNzT2JqLmNvbnRhY3RfZGV0YWlscy5jb3VudHksXG4gICAgICAgIGNvdW50cnk6IHRoaXMuYWRkcmVzc09iai5jb250YWN0X2RldGFpbHMuY291bnRyeSxcbiAgICAgICAgbXBvc3Rjb2RlOiB0aGlzLmFkZHJlc3NPYmouY29udGFjdF9kZXRhaWxzLnBvc3RhbF9jb2RlXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RDb250YWN0T3B0aW9uKHR5cGUsIGlzTGlua2VkQ2xpZWQpIHtcbiAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZV0sICdhbGwnKTtcbiAgICBpZiAodHlwZSA9PT0gJ0VtYWlsJyAmJiBpc0xpbmtlZENsaWVkID09PSAnZmFsc2UnKSB7XG4gICAgICB0aGlzLmlzRW1haWxTQWRkcmVzc0NsaWNrZWQgPSB0cnVlO1xuICAgICAgdGhpcy5pc1Bvc3Rjb2RlQ2xpY2tlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5pc01hbnVhbEFkZHJlc3NDbGlja2VkID0gZmFsc2U7XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnUG9zdGNvZGUnICYmIGlzTGlua2VkQ2xpZWQgPT09ICdmYWxzZScpIHtcbiAgICAgIHRoaXMuaXNFbWFpbFNBZGRyZXNzQ2xpY2tlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5pc1Bvc3Rjb2RlQ2xpY2tlZCA9IHRydWU7XG4gICAgICB0aGlzLmlzTWFudWFsQWRkcmVzc0NsaWNrZWQgPSBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdQb3N0Y29kZScgJiYgaXNMaW5rZWRDbGllZCA9PT0gJ3RydWUnKSB7XG4gICAgICB0aGlzLmlzRW1haWxTQWRkcmVzc0NsaWNrZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuaXNQb3N0Y29kZUNsaWNrZWQgPSB0cnVlO1xuICAgICAgdGhpcy5pc01hbnVhbEFkZHJlc3NDbGlja2VkID0gdHJ1ZTtcblxuICAgIH1cbiAgfVxuXG4gIGZpbmFsRm9ybVN1Ym1pdCgpIHtcbiAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZV0sICdhbGwnKTtcbiAgICBpZiAodGhpcy5pc0VtYWlsU0FkZHJlc3NDbGlja2VkKSB7XG4gICAgICBjb25zdCBlbWFpbEZpZWxkID0gdGhpcy5lbWFpbEFkZHJlc3NGb3JtLmNvbnRyb2xzLmVtYWlsO1xuICAgICAgaWYgKHRoaXMuZW1haWxBZGRyZXNzRm9ybS52YWxpZCkge1xuICAgICAgICBpZiAoIXRoaXMuaXNFZGl0T3BlcmF0aW9uSW5SZWZ1bmRMaXN0KSB7XG4gICAgICAgICAgdGhpcy5hc3NpZ25Db250YWN0RGV0YWlscy5lbWl0KHtcbiAgICAgICAgICAgIGVtYWlsOiBlbWFpbEZpZWxkLnZhbHVlLFxuICAgICAgICAgICAgbm90aWZpY2F0aW9uX3R5cGU6ICdFTUFJTCdcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmFzc2lnbkNvbnRhY3REZXRhaWxzSW5GZWZ1bmRzTGlzdC5lbWl0KHtcbiAgICAgICAgICAgIGVtYWlsOiBlbWFpbEZpZWxkLnZhbHVlLFxuICAgICAgICAgICAgbm90aWZpY2F0aW9uX3R5cGU6ICdFTUFJTCdcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGVtYWlsRmllbGQudmFsdWUgPT0gJycpIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAnZW1haWwnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW1haWxGaWVsZC52YWx1ZSAhPSAnJyAmJiBlbWFpbEZpZWxkLmludmFsaWQpIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAnZW1haWwnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5pc1Bvc3Rjb2RlQ2xpY2tlZCAmJiAhdGhpcy5pc01hbnVhbEFkZHJlc3NDbGlja2VkKSB7XG4gICAgICB0aGlzLnBvc3Rjb2RlVmFsaWRhdGlvbignRlMnKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNQb3N0Y29kZUNsaWNrZWQgJiYgdGhpcy5pc01hbnVhbEFkZHJlc3NDbGlja2VkKSB7XG4gICAgICBjb25zdCBmaWVsZEN0cmxzID0gdGhpcy5tYW51YWxBZGRyZXNzRm9ybS5jb250cm9scztcbiAgICAgIGlmICh0aGlzLm1hbnVhbEFkZHJlc3NGb3JtLnZhbGlkKSB7XG4gICAgICAgIGlmICghdGhpcy5pc0VkaXRPcGVyYXRpb25JblJlZnVuZExpc3QpIHtcbiAgICAgICAgICB0aGlzLmFzc2lnbkNvbnRhY3REZXRhaWxzLmVtaXQoe1xuICAgICAgICAgICAgYWRkcmVzc19saW5lOiBmaWVsZEN0cmxzLmFkZHJlc3NsMS52YWx1ZSArICcgJyArIGZpZWxkQ3RybHMuYWRkcmVzc2wyLnZhbHVlLFxuICAgICAgICAgICAgY2l0eTogZmllbGRDdHJscy50b3dub3JjaXR5LnZhbHVlLFxuICAgICAgICAgICAgY291bnR5OiBmaWVsZEN0cmxzLmNvdW50eS52YWx1ZSxcbiAgICAgICAgICAgIHBvc3RhbF9jb2RlOiBmaWVsZEN0cmxzLm1wb3N0Y29kZS52YWx1ZSxcbiAgICAgICAgICAgIGNvdW50cnk6IGZpZWxkQ3RybHMuY291bnRyeS52YWx1ZSxcbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbl90eXBlOiAnTEVUVEVSJ1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYXNzaWduQ29udGFjdERldGFpbHNJbkZlZnVuZHNMaXN0LmVtaXQoe1xuICAgICAgICAgICAgYWRkcmVzc19saW5lOiBmaWVsZEN0cmxzLmFkZHJlc3NsMS52YWx1ZSArICcgJyArIGZpZWxkQ3RybHMuYWRkcmVzc2wyLnZhbHVlLFxuICAgICAgICAgICAgY2l0eTogZmllbGRDdHJscy50b3dub3JjaXR5LnZhbHVlLFxuICAgICAgICAgICAgY291bnR5OiBmaWVsZEN0cmxzLmNvdW50eS52YWx1ZSxcbiAgICAgICAgICAgIHBvc3RhbF9jb2RlOiBmaWVsZEN0cmxzLm1wb3N0Y29kZS52YWx1ZSxcbiAgICAgICAgICAgIGNvdW50cnk6IGZpZWxkQ3RybHMuY291bnRyeS52YWx1ZSxcbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbl90eXBlOiAnTEVUVEVSJ1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoZmllbGRDdHJscy5hZGRyZXNzbDEudmFsdWUgPT0gJycpIHtcbiAgICAgICAgICB0aGlzLnJlc2V0Rm9ybShbZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAnYWRkcmVzczEnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmllbGRDdHJscy5hZGRyZXNzbDEudmFsdWUgIT0gJycgJiYgZmllbGRDdHJscy5hZGRyZXNzbDEuaW52YWxpZCkge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZV0sICdhZGRyZXNzMScpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmaWVsZEN0cmxzLmFkZHJlc3NsMi52YWx1ZSAhPSAnJyAmJiBmaWVsZEN0cmxzLmFkZHJlc3NsMi5pbnZhbGlkKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ2FkZHJlc3MyJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZpZWxkQ3RybHMudG93bm9yY2l0eS52YWx1ZSA9PSAnJykge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZV0sICd0b3duJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZpZWxkQ3RybHMudG93bm9yY2l0eS52YWx1ZSAhPSAnJyAmJiBmaWVsZEN0cmxzLnRvd25vcmNpdHkuaW52YWxpZCkge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZV0sICd0b3duJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZpZWxkQ3RybHMuY291bnR5LnZhbHVlID09ICcnKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ2NvdW50eScpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmaWVsZEN0cmxzLmNvdW50eS52YWx1ZSAhPSAnJyAmJiBmaWVsZEN0cmxzLmNvdW50eS5pbnZhbGlkKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ2NvdW50eScpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmaWVsZEN0cmxzLm1wb3N0Y29kZS52YWx1ZSA9PSAnJykge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZV0sICdtcG9zdGNvZGUnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmllbGRDdHJscy5tcG9zdGNvZGUudmFsdWUgIT0gJycgJiYgZmllbGRDdHJscy5tcG9zdGNvZGUuaW52YWxpZCkge1xuICAgICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZV0sICdtcG9zdGNvZGUnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmllbGRDdHJscy5jb3VudHJ5LnZhbHVlID09ICcnKSB7XG4gICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlXSwgJ2NvdW50cnknKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxuICBwb3N0Y29kZVZhbGlkYXRpb24oc3RyKSB7XG4gICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAnYWxsJyk7XG4gICAgY29uc3QgcG9zdGNvZGVGaWVsZCA9IHRoaXMucG9zdENvZGVGb3JtLmNvbnRyb2xzLnBvc3Rjb2RlO1xuICAgIGlmICh0aGlzLnBvc3RDb2RlRm9ybS52YWxpZCkge1xuICAgICAgaWYgKHN0ciA9PT0gJ0ZBJykge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZ2V0QWRkcmVzc0J5UG9zdGNvZGUocG9zdGNvZGVGaWVsZC52YWx1ZSkuc3Vic2NyaWJlKFxuICAgICAgICAgIHJlZnVuZHNOb3RpZmljYXRpb24gPT4ge1xuICAgICAgICAgICAgdGhpcy5hZGRyZXNzUG9zdGNvZGVMaXN0ID0gcmVmdW5kc05vdGlmaWNhdGlvblsncmVzdWx0cyddO1xuICAgICAgICAgICAgdGhpcy5pc1Nob3dQaWNrQWRkcmVzcyA9IHJlZnVuZHNOb3RpZmljYXRpb25bJ2hlYWRlciddLnRvdGFscmVzdWx0cyA+IDA7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNTaG93UGlja0FkZHJlc3MpIHtcbiAgICAgICAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAncG9zdGNvZGUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICksXG4gICAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNTaG93UGlja0FkZHJlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gZXJyb3IucmVwbGFjZSgvXCIvZywgXCJcIik7XG4gICAgICAgICAgfTtcbiAgICAgIH0gZWxzZSBpZiAoc3RyID09PSAnRlMnKSB7XG4gICAgICAgIGlmICh0aGlzLnBvc3Rjb2RlQWRkcmVzcyAhPT0gdW5kZWZpbmVkICYmIHRoaXMucG9zdGNvZGVBZGRyZXNzKSB7XG4gICAgICAgICAgdGhpcy5pc0FkZHJlc3NCb3hFbXB0eSA9IGZhbHNlO1xuICAgICAgICAgIGxldCBhZGRyZXNzTGluZSA9IFwiXCI7XG4gICAgICAgICAgbGV0IGFkZHJlc3NBcnJheSA9IHRoaXMucG9zdGNvZGVBZGRyZXNzLkFERFJFU1Muc3BsaXQoXCIsXCIpO1xuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYWRkcmVzc0FycmF5Lmxlbmd0aCAtIDI7IGkrKykge1xuICAgICAgICAgICAgYWRkcmVzc0xpbmUgKz0gYWRkcmVzc0FycmF5W2ldO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBhZGRyZXNzT2JqZWN0ID0ge1xuICAgICAgICAgICAgYWRkcmVzc19saW5lOiBhZGRyZXNzTGluZSxcbiAgICAgICAgICAgIGNpdHk6IHRoaXMucG9zdGNvZGVBZGRyZXNzLlBPU1RfVE9XTixcbiAgICAgICAgICAgIGNvdW50eTogdGhpcy5wb3N0Y29kZUFkZHJlc3MuTE9DQUxfQ1VTVE9ESUFOX0NPREVfREVTQ1JJUFRJT04sXG4gICAgICAgICAgICBwb3N0YWxfY29kZTogdGhpcy5wb3N0Y29kZUFkZHJlc3MuUE9TVENPREUsXG4gICAgICAgICAgICBjb3VudHJ5OiAnVW5pdGVkIEtpbmdkb20nLFxuICAgICAgICAgICAgbm90aWZpY2F0aW9uX3R5cGU6ICdMRVRURVInXG4gICAgICAgICAgfTtcbiAgICAgICAgICBpZiAoIXRoaXMuaXNFZGl0T3BlcmF0aW9uSW5SZWZ1bmRMaXN0KSB7XG4gICAgICAgICAgICB0aGlzLmFzc2lnbkNvbnRhY3REZXRhaWxzLmVtaXQoYWRkcmVzc09iamVjdCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYXNzaWduQ29udGFjdERldGFpbHNJbkZlZnVuZHNMaXN0LmVtaXQoYWRkcmVzc09iamVjdCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuaXNBZGRyZXNzQm94RW1wdHkgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChwb3N0Y29kZUZpZWxkLnZhbHVlID09ICcnKSB7XG4gICAgICAgIHRoaXMucmVzZXRGb3JtKFtmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlXSwgJ3Bvc3Rjb2RlJyk7XG4gICAgICB9XG4gICAgICBpZiAocG9zdGNvZGVGaWVsZC52YWx1ZSAhPSAnJyAmJiBwb3N0Y29kZUZpZWxkLmludmFsaWQpIHtcbiAgICAgICAgdGhpcy5yZXNldEZvcm0oW2ZhbHNlLCBmYWxzZSwgZmFsc2UsIHRydWUsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2VdLCAncG9zdGNvZGUnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmVkaXJlY3Rpb24oZXZlbnQ6IGFueSkge1xuICAgIHRoaXMucmVkaXJlY3RUb0lzc3VlUmVmdW5kLmVtaXQoZXZlbnQpO1xuICB9XG4gIHJlc2V0Rm9ybSh2YWwsIGZpZWxkKSB7XG4gICAgaWYgKGZpZWxkID09PSAnZW1haWwnIHx8IGZpZWxkID09PSAnYWxsJykge1xuICAgICAgdGhpcy5pc0VtYWlsRW1wdHkgPSB2YWxbMF07XG4gICAgICB0aGlzLmVtYWlsSGFzRXJyb3IgPSB2YWxbMV07XG4gICAgfVxuICAgIGlmIChmaWVsZCA9PT0gJ3Bvc3Rjb2RlJyB8fCBmaWVsZCA9PT0gJ2FsbCcpIHtcbiAgICAgIHRoaXMuaXNQb3N0Y29kZUVtcHR5ID0gdmFsWzJdO1xuICAgICAgdGhpcy5wb3N0Y29kZUhhc0Vycm9yID0gdmFsWzNdO1xuICAgIH1cbiAgICBpZiAoZmllbGQgPT09ICdhZGRyZXNzMScgfHwgZmllbGQgPT09ICdhbGwnKSB7XG4gICAgICB0aGlzLmlzYWRkcmVzc0xpbmUxRW1wdHkgPSB2YWxbNF07XG4gICAgICB0aGlzLmFkZHJlc3NMaW5lMUhhc0Vycm9yID0gdmFsWzVdO1xuICAgIH1cbiAgICBpZiAoZmllbGQgPT09ICdhZGRyZXNzMicgfHwgZmllbGQgPT09ICdhbGwnKSB7XG4gICAgICB0aGlzLmFkZHJlc3NMaW5lMkhhc0Vycm9yID0gdmFsWzZdO1xuICAgIH1cbiAgICBpZiAoZmllbGQgPT09ICd0b3duJyB8fCBmaWVsZCA9PT0gJ2FsbCcpIHtcbiAgICAgIHRoaXMuaXNUb3duT3JDaXR5RW1wdHkgPSB2YWxbN107XG4gICAgICB0aGlzLnRvd25PckNpdHlIYXNFcnJvciA9IHZhbFs4XTtcbiAgICB9XG4gICAgaWYgKGZpZWxkID09PSAnY291bnR5JyB8fCBmaWVsZCA9PT0gJ2FsbCcpIHtcbiAgICAgIHRoaXMuaXNDb3VudHlFbXB0eSA9IHZhbFs5XTtcbiAgICAgIHRoaXMuY291bnR5SGFzRXJyb3IgPSB2YWxbMTBdO1xuICAgIH1cbiAgICBpZiAoZmllbGQgPT09ICdtcG9zdGNvZGUnIHx8IGZpZWxkID09PSAnYWxsJykge1xuICAgICAgdGhpcy5pc01Qb3N0Y29kZUVtcHR5ID0gdmFsWzExXTtcbiAgICAgIHRoaXMubXBvc3Rjb2RlSGFzRXJyb3IgPSB2YWxbMTJdO1xuICAgIH1cbiAgICBpZiAoZmllbGQgPT09ICdjb3VudHJ5JyB8fCBmaWVsZCA9PT0gJ2FsbCcpIHtcbiAgICAgIHRoaXMuaXNDb3VudHJ5RW1wdHkgPSB2YWxbMTNdO1xuICAgIH1cblxuICB9XG59XG4iLCI8ZmllbGRzZXQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldCBjb250YWN0LWRldGFpbHMtLXNpemVcIj5cbiAgPGhyIGNsYXNzPVwiZ292dWstc2VjdGlvbi1icmVhayBnb3Z1ay1zZWN0aW9uLWJyZWFrLS1tIGdvdnVrLXNlY3Rpb24tYnJlYWstLXZpc2libGVcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIj5cbiAgICA8bGVnZW5kIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2xlZ2VuZCBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1zIGdvdnVrLWZvbnQxOXB4XCI+XG4gICAgICB7eyBpc0VkaXRPcGVyYXRpb24gPyAnRWRpdCBjb250YWN0IGluZm9ybWF0aW9uJyA6ICdDb250YWN0IGluZm9ybWF0aW9uJyB9fVxuICAgIDwvbGVnZW5kPlxuICAgIDxkaXYgaWQ9XCJjb250YWN0LWhpbnRcIiBjbGFzcz1cImdvdnVrLWhpbnQgZ292dWstZm9udDE5cHhcIj5cbiAgICAgIE5vdGlmaWNhdGlvbnMgd2lsbCBiZSBzZW50IHZpYSBlbWFpbCBvciBwb3N0IHdoZW4gdGhpcyByZWZ1bmQgaXMgaXNzdWVkIG9yIHJlamVjdGVkLiBZb3UgY2FuIG9ubHkgY2hvb3NlIG9uZSBvcHRpb24uXG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIj5cbiAgICAgIDxmaWVsZHNldCBjbGFzcz1cImdvdnVrLWZpZWxkc2V0XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3MgZ292dWstcmFkaW9zLS1jb25kaXRpb25hbFwiIGRhdGEtbW9kdWxlPVwiZ292dWstcmFkaW9zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiPlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIGlkPVwiY29udGFjdFwiIG5hbWU9XCJjb250YWN0XCIgKGNsaWNrKT1cInNlbGVjdENvbnRhY3RPcHRpb24oJ0VtYWlsJywgJ2ZhbHNlJylcIiB0eXBlPVwicmFkaW9cIiB2YWx1ZT1cImVtYWlsXCIgW2NoZWNrZWRdPVwiaXNFbWFpbFNBZGRyZXNzQ2xpY2tlZFwiICBhcmlhLWNvbnRyb2xzPVwiY29uZGl0aW9uYWwtY29udGFjdFwiIGFyaWEtZXhwYW5kZWQ9XCJ0cnVlXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1yYWRpb3NfX2xhYmVsIGdvdnVrLWZvbnQxOXB4XCIgZm9yPVwiY29udGFjdFwiPlxuICAgICAgICAgICAgICBFbWFpbFxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zX19jb25kaXRpb25hbFwiIGlkPVwiY29uZGl0aW9uYWwtY29udGFjdC1lbWFpbFwiICpuZ0lmPVwiaXNFbWFpbFNBZGRyZXNzQ2xpY2tlZFwiPlxuICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJlbWFpbEFkZHJlc3NGb3JtXCIgbm92YWxpZGF0ZT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIFwiIGZvcj1cImVtYWlsXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1oaW50IGdvdnVrLWZvbnQxOXB4XCI+SW5mb3JtYXRpb24gYWJvdXQgdGhpcyByZWZ1bmQgd2lsbCBiZSBzZW50IHRvIHRoaXMgZW1haWwgYWRkcmVzcy48L3NwYW4+XG4gICAgICAgICAgICAgIDwvbGFiZWw+XG5cbiAgICAgICAgICAgICAgPGRpdiBpZD1cImVtYWlsLWhpbnRcIiBjbGFzcz1cImdvdnVrLWhpbnRcIj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0IGdvdnVrLWZvbnQxOXB4XCIgaWQ9XCJlbWFpbFwiIG5hbWU9XCJcIiB0eXBlPVwiZW1haWxcIiBbbmdDbGFzc109XCJ7ICdpbmxpbmUtZXJyb3ItY2xhc3MnOiBpc0VtYWlsRW1wdHkgfHwgZW1haWxIYXNFcnJvciB9XCIgdmFsdWU9XCJ7e2FkZHJlc3NPYmo/LmNvbnRhY3RfZGV0YWlscz8uZW1haWx9fVwiIGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCIgYXJpYS1kZXNjcmliZWRieT1cImVtYWlsLWhpbnRcIj5cbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJpbmxpbmUtZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiaXNFbWFpbEVtcHR5IHx8IGVtYWlsSGFzRXJyb3JcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzRW1haWxFbXB0eVwiPkVudGVyIGEgZW1haWwgYWRkcmVzcy48L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJlbWFpbEhhc0Vycm9yXCI+RW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzLjwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiPlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIGlkPVwiY29udGFjdC0yXCIgbmFtZT1cImNvbnRhY3RcIiAoY2xpY2spPVwic2VsZWN0Q29udGFjdE9wdGlvbignUG9zdGNvZGUnLCAnZmFsc2UnKVwiIHR5cGU9XCJyYWRpb1wiIFtjaGVja2VkXT1cImlzUG9zdGNvZGVDbGlja2VkXCIgdmFsdWU9XCJwb3N0XCIgYXJpYS1jb250cm9scz1cImNvbmRpdGlvbmFsLWNvbnRhY3QtMlwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbCBnb3Z1ay1mb250MTlweFwiIGZvcj1cImNvbnRhY3QtMlwiPlxuICAgICAgICAgICAgICBQb3N0XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2NvbmRpdGlvbmFsXCIgaWQ9XCJjb25kaXRpb25hbC1jb250YWN0LXBvc3Rjb2RlXCIgKm5nSWY9XCJpc1Bvc3Rjb2RlQ2xpY2tlZCAmJiAhaXNNYW51YWxBZGRyZXNzQ2xpY2tlZFwiPlxuICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJwb3N0Q29kZUZvcm1cIiBub3ZhbGlkYXRlPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1mb250MTlweFwiIGZvcj1cImFkZHJlc3MtcG9zdGNvZGVcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLWhpbnQgZ292dWstZm9udDE5cHhcIj5JbmZvcm1hdGlvbiBhYm91dCB0aGlzIHJlZnVuZCB3aWxsIGJlIHNlbnQgdG8gdGhpcyBhZGRyZXNzLjwvc3Bhbj5Qb3N0Y29kZVxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9zdGNvZGUtYWxpZ24tY3NzXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwIGdvdnVrLW1hcmdpbi1yaWdodC0xMHB4XCI+XG4gICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0IGdvdnVrLWlucHV0LS13aWR0aC0xMFwiIGlkPVwiYWRkcmVzcy1wb3N0Y29kZVwiIG5hbWU9XCJhZGRyZXNzLXBvc3Rjb2RlXCIgW25nQ2xhc3NdPVwieyAnaW5saW5lLWVycm9yLWNsYXNzJzogaXNQb3N0Y29kZUVtcHR5IHx8IHBvc3Rjb2RlSGFzRXJyb3IgfVwiIGZvcm1Db250cm9sTmFtZT1cInBvc3Rjb2RlXCIgdHlwZT1cInRleHRcIiBhdXRvY29tcGxldGU9XCJwb3N0YWwtY29kZVwiPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cImlubGluZS1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJpc1Bvc3Rjb2RlRW1wdHkgfHwgcG9zdGNvZGVIYXNFcnJvclwiPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNQb3N0Y29kZUVtcHR5XCI+RW50ZXIgYSBwb3N0Y29kZS48L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJwb3N0Y29kZUhhc0Vycm9yXCI+RW50ZXIgYSB2YWxpZCBwb3N0Y29kZS48L3NwYW4+XG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi1ncm91cFwiPlxuICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZ292dWstYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IGdvdnVrLWZvbnQxOXB4XCIgKGNsaWNrKT1cInBvc3Rjb2RlVmFsaWRhdGlvbignRkEnKVwiIGRhdGEtbW9kdWxlPVwiZ292dWstYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgRmluZCBhZGRyZXNzXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cCBnb3Z1ay1tYXJnaW4tYnRtLTIwcHhcIiAqbmdJZj1cImlzU2hvd1BpY2tBZGRyZXNzXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWZvbnQxOXB4XCIgZm9yPVwiY291bnRyeVwiPlxuICAgICAgICAgICAgICAgIFBpY2sgYW4gYWRkcmVzc1xuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZ292dWstc2VsZWN0IGdvdnVrLWZvbnQxOXB4XCIgWyhuZ01vZGVsKV09XCJwb3N0Y29kZUFkZHJlc3NcIiBpZD1cInBvc3Rjb2RlQWRkcmVzc1wiIFtuZ0NsYXNzXT1cInsgJ2lubGluZS1lcnJvci1jbGFzcyc6IGlzQWRkcmVzc0JveEVtcHR5IH1cIiBuYW1lPVwicG9zdGNvZGVBZGRyZXNzXCI+XG4gICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgYWRkcmVzcyBvZiBhZGRyZXNzUG9zdGNvZGVMaXN0O1wiIFtuZ1ZhbHVlXT1cImFkZHJlc3MuRFBBXCIgPiB7e2FkZHJlc3MuRFBBLkFERFJFU1N9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICA8L3NlbGVjdD4gXG4gICAgICAgICAgICAgIDxwIGNsYXNzPVwiaW5saW5lLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImlzQWRkcmVzc0JveEVtcHR5XCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc0FkZHJlc3NCb3hFbXB0eVwiPlBsZWFzZSBzZWxlY3QgYW4gYWRkcmVzcy48L3NwYW4+XG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRldGFpbHMgY2xhc3M9XCJnb3Z1ay1kZXRhaWxzXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1kZXRhaWxzXCI+XG4gICAgICAgICAgICAgIDxzdW1tYXJ5IGNsYXNzPVwiZ292dWstZGV0YWlsc19fc3VtbWFyeVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstZGV0YWlsc19fc3VtbWFyeS10ZXh0IGdvdnVrLWZvbnQxOXB4XCI+XG4gICAgICAgICAgICAgICAgICA8YSBocmVmPVwiSmF2YXNjcmlwdDp2b2lkKDApO1wiIChjbGljayk9XCJzZWxlY3RDb250YWN0T3B0aW9uKCdQb3N0Y29kZScsICd0cnVlJylcIj4gIEVudGVyIGFkZHJlc3MgbWFudWFsbHk8L2E+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L3N1bW1hcnk+XG4gICAgICAgICAgICA8L2RldGFpbHM+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19fY29uZGl0aW9uYWxcIiBpZD1cImNvbmRpdGlvbmFsLWNvbnRhY3QtbWFudWFsXCIgKm5nSWY9XCJpc1Bvc3Rjb2RlQ2xpY2tlZCAmJiBpc01hbnVhbEFkZHJlc3NDbGlja2VkXCI+XG4gICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cIm1hbnVhbEFkZHJlc3NGb3JtXCIgbm92YWxpZGF0ZT5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstZm9udDE5cHhcIiBmb3I9XCJhZGRyZXNzLWxpbmUtMVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstaGludCBnb3Z1ay1mb250MTlweFwiPkluZm9ybWF0aW9uIGFib3V0IHRoaXMgcmVmdW5kIHdpbGwgYmUgc2VudCB0byB0aGlzIGFkZHJlc3MuPC9zcGFuPkJ1aWxkaW5nIGFuZCBzdHJlZXQgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5saW5lIDEgb2YgMjwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstaW5wdXQgZ292dWstZm9udDE5cHhcIiBpZD1cImFkZHJlc3MtbGluZS0xXCIgbmFtZT1cImFkZHJlc3MtbGluZS0xXCIgW25nQ2xhc3NdPVwieyAnaW5saW5lLWVycm9yLWNsYXNzJzogaXNhZGRyZXNzTGluZTFFbXB0eSB8fCBhZGRyZXNzTGluZTFIYXNFcnJvciB9XCIgdmFsdWU9XCJ7e2FkZHJlc3NPYmo/LmNvbnRhY3RfZGV0YWlscz8uYWRkcmVzc19saW5lfX1cIiBmb3JtQ29udHJvbE5hbWU9XCJhZGRyZXNzbDFcIiB0eXBlPVwidGV4dFwiIGF1dG9jb21wbGV0ZT1cImFkZHJlc3MtbGluZTFcIj5cbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJpbmxpbmUtZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiaXNhZGRyZXNzTGluZTFFbXB0eSB8fCBhZGRyZXNzTGluZTFIYXNFcnJvclwiPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNhZGRyZXNzTGluZTFFbXB0eVwiPkVudGVyIGEgQnVpbGRpbmcgYW5kIHN0cmVldC48L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJhZGRyZXNzTGluZTFIYXNFcnJvclwiPkVudGVyIGEgdmFsaWQgQnVpbGRpbmcgYW5kIHN0cmVldC48L3NwYW4+XG4gICAgICAgICAgICAgIDwvcD4gIFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbFwiIGZvcj1cImFkZHJlc3MtbGluZS0yXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW4gZ292dWstZm9udDE5cHhcIj5CdWlsZGluZyBhbmQgc3RyZWV0IGxpbmUgMiBvZiAyPC9zcGFuPlxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1pbnB1dCBnb3Z1ay1mb250MTlweFwiIGlkPVwiYWRkcmVzcy1saW5lLTJcIiBuYW1lPVwiYWRkcmVzcy1saW5lLTJcIiBbbmdDbGFzc109XCJ7ICdpbmxpbmUtZXJyb3ItY2xhc3MnOiBhZGRyZXNzTGluZTJIYXNFcnJvcn1cIiBmb3JtQ29udHJvbE5hbWU9XCJhZGRyZXNzbDJcIiB0eXBlPVwidGV4dFwiIGF1dG9jb21wbGV0ZT1cImFkZHJlc3MtbGluZTJcIj5cbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJpbmxpbmUtZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwiYWRkcmVzc0xpbmUySGFzRXJyb3JcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImFkZHJlc3NMaW5lMkhhc0Vycm9yXCI+RW50ZXIgYSB2YWxpZCBCdWlsZGluZyBhbmQgc3RyZWV0IGxpbmUgMiBvZiAyLjwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9wPiAgXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWZvbnQxOXB4XCIgZm9yPVwiYWRkcmVzcy10b3duXCI+XG4gICAgICAgICAgICAgICAgVG93biBvciBjaXR5XG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0IGdvdnVrLSEtd2lkdGgtdHdvLXRoaXJkcyBnb3Z1ay1mb250MTlweFwiIGlkPVwiYWRkcmVzcy10b3duXCIgbmFtZT1cImFkZHJlc3MtdG93blwiIFtuZ0NsYXNzXT1cInsgJ2lubGluZS1lcnJvci1jbGFzcyc6IGlzVG93bk9yQ2l0eUVtcHR5IHx8IHRvd25PckNpdHlIYXNFcnJvcn1cIiB2YWx1ZT1cInt7YWRkcmVzc09iaj8uY29udGFjdF9kZXRhaWxzPy5jaXR5fX1cIiBmb3JtQ29udHJvbE5hbWU9XCJ0b3dub3JjaXR5XCIgdHlwZT1cInRleHRcIiBhdXRvY29tcGxldGU9XCJhZGRyZXNzLWxldmVsMlwiPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cImlubGluZS1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJpc1Rvd25PckNpdHlFbXB0eSB8fCB0b3duT3JDaXR5SGFzRXJyb3JcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzVG93bk9yQ2l0eUVtcHR5XCI+RW50ZXIgYSB0b3duIG9yIGNpdHkuPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidG93bk9yQ2l0eUhhc0Vycm9yXCI+RW50ZXIgYSB0b3duIG9yIGNpdHkuPC9zcGFuPlxuICAgICAgICAgICAgICA8L3A+ICBcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstZm9udDE5cHhcIiBmb3I9XCJhZGRyZXNzLWNvdW50eVwiPlxuICAgICAgICAgICAgICAgIENvdW50eVxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1pbnB1dCBnb3Z1ay0hLXdpZHRoLXR3by10aGlyZHMgZ292dWstZm9udDE5cHhcIiBpZD1cImFkZHJlc3MtY291bnR5XCIgW25nQ2xhc3NdPVwieyAnaW5saW5lLWVycm9yLWNsYXNzJzogaXNDb3VudHlFbXB0eSB8fCBjb3VudHlIYXNFcnJvcn1cIiB2YWx1ZT1cInt7YWRkcmVzc09iaj8uY29udGFjdF9kZXRhaWxzPy5jb3VudHl9fVwiIGZvcm1Db250cm9sTmFtZT1cImNvdW50eVwiIG5hbWU9XCJhZGRyZXNzLWNvdW50eVwiIHR5cGU9XCJ0ZXh0XCI+XG4gICAgICAgICAgICAgIDxwIGNsYXNzPVwiaW5saW5lLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImlzQ291bnR5RW1wdHkgfHwgY291bnR5SGFzRXJyb3JcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzQ291bnR5RW1wdHlcIj5FbnRlciBhIENvdW50eS48L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb3VudHlIYXNFcnJvclwiPkVudGVyIGEgdmFsaWQgQ291bnR5Ljwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9wPiAgXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWZvbnQxOXB4XCIgZm9yPVwiYWRkcmVzcy1wb3N0Y29kZVwiPlxuICAgICAgICAgICAgICAgIFBvc3Rjb2RlXG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0IGdvdnVrLWlucHV0LS13aWR0aC0xMCBnb3Z1ay1mb250MTlweFwiIGlkPVwiYWRkcmVzcy1wb3N0Y29kZVwiIGZvcm1Db250cm9sTmFtZT1cIm1wb3N0Y29kZVwiIG5hbWU9XCJhZGRyZXNzLXBvc3Rjb2RlXCIgW25nQ2xhc3NdPVwieyAnaW5saW5lLWVycm9yLWNsYXNzJzogaXNNUG9zdGNvZGVFbXB0eSB8fCBtcG9zdGNvZGVIYXNFcnJvcn1cIiB2YWx1ZT1cInt7YWRkcmVzc09iaj8uY29udGFjdF9kZXRhaWxzPy5wb3N0YWxfY29kZX19XCIgdHlwZT1cInRleHRcIiBhdXRvY29tcGxldGU9XCJwb3N0YWwtY29kZVwiPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cImlubGluZS1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJpc01Qb3N0Y29kZUVtcHR5IHx8IG1wb3N0Y29kZUhhc0Vycm9yXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc01Qb3N0Y29kZUVtcHR5XCI+RW50ZXIgYSBwb3N0Y29kZS48L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJtcG9zdGNvZGVIYXNFcnJvclwiPkVudGVyIGEgdmFsaWQgcG9zdGNvZGUuPC9zcGFuPlxuICAgICAgICAgICAgICA8L3A+ICBcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstZm9udDE5cHhcIiBmb3I9XCJjb3VudHJ5XCI+XG4gICAgICAgICAgICAgICAgQ291bnRyeVxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICA8c2VsZWN0IGNsYXNzPVwiZ292dWstc2VsZWN0IGdvdnVrLWZvbnQxOXB4XCIgaWQ9XCJjb3VudHJ5XCIgbmFtZT1cImNvdW50cnlcIiBbbmdDbGFzc109XCJ7J2lubGluZS1lcnJvci1jbGFzcyc6IGlzQ291bnRyeUVtcHR5fVwiIGZvcm1Db250cm9sTmFtZT1cImNvdW50cnlcIj5cbiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiXCIgc2VsZWN0ZWQ9XCJzZWxlY3RlZFwiPlBsZWFzZSBzZWxlY3Q8L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiVW5pdGVkIEtpbmdkb21cIiBzZWxlY3RlZD1cInt7IGFkZHJlc3NPYmo/LmNvbnRhY3RfZGV0YWlscz8uY291bnRyeSA/ICdzZWxlY3RlZCcgOiAnJyB9fVwiPlVuaXRlZCBLaW5nZG9tPC9vcHRpb24+XG4gICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cImlubGluZS1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJpc0NvdW50cnlFbXB0eVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNDb3VudHJ5RW1wdHlcIj5TZWxlY3QgYSBDb3VudHJ5Ljwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9wPiAgXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2ZpZWxkc2V0PlxuICAgIDwvZGl2PlxuICAgIDwhLS0tRk9STS0tLT5cbiAgPC9kaXY+XG5cbjxociBjbGFzcz1cImdvdnVrLXNlY3Rpb24tYnJlYWsgZ292dWstc2VjdGlvbi1icmVhay0tbSBnb3Z1ay1zZWN0aW9uLWJyZWFrLS12aXNpYmxlXCI+XG48L2ZpZWxkc2V0PlxuPGRpdiBjbGFzcz1cImdvdnVrLWJ1dHRvbi1ncm91cFwiPlxuPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidXR0b24gZ292dWstYnV0dG9uLS1zZWNvbmRhcnkgZ292dWstZm9udDE5cHhcIiAoY2xpY2spPVwicmVkaXJlY3Rpb24oJGV2ZW50KVwiPiBQcmV2aW91cyA8L2J1dHRvbj5cbiZuYnNwO1xuPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidXR0b24gZ292dWstYnV0dG9uIGdvdnVrLWZvbnQxOXB4XCIgKGNsaWNrKT1cImZpbmFsRm9ybVN1Ym1pdCgpXCI+XG4gIENvbnRpbnVlXG48L2J1dHRvbj5cbjwvZGl2PiJdfQ==
|
|
@@ -5,14 +5,14 @@ export class ErrorBannerComponent {
|
|
|
5
5
|
constructor() { }
|
|
6
6
|
ngOnInit() {
|
|
7
7
|
}
|
|
8
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ErrorBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ErrorBannerComponent, selector: "ccpay-error-banner", inputs: { errorMessage: "errorMessage" }, ngImport: i0, template: "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom\" id=\"error-summary-title\">\n {{errorMessage.title}}\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li>\n {{errorMessage.body}}\n </li>\n </ul>\n </div>\n</div>", styles: [".govuk-error-summary h2{font-size:24px}.govuk-error-summary__list li{font-size:19px}\n"] });
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ErrorBannerComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
13
|
args: [{ selector: 'ccpay-error-banner', template: "<div class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\" data-module=\"govuk-error-summary\">\n <h2 class=\"govuk-error-summary__title govuk-error-summary__title-custom\" id=\"error-summary-title\">\n {{errorMessage.title}}\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li>\n {{errorMessage.body}}\n </li>\n </ul>\n </div>\n</div>", styles: [".govuk-error-summary h2{font-size:24px}.govuk-error-summary__list li{font-size:19px}\n"] }]
|
|
14
14
|
}], ctorParameters: () => [], propDecorators: { errorMessage: [{
|
|
15
15
|
type: Input,
|
|
16
16
|
args: ['errorMessage']
|
|
17
17
|
}] } });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItYmFubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvY29tcG9uZW50cy9lcnJvci1iYW5uZXIvZXJyb3ItYmFubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BheW1lbnQtbGliL3NyYy9saWIvY29tcG9uZW50cy9lcnJvci1iYW5uZXIvZXJyb3ItYmFubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVV6RCxNQUFNLE9BQU8sb0JBQW9CO0lBQ1IsWUFBWSxDQUFDO0lBRXBDLGdCQUNHLENBQUM7SUFFSixRQUFRO0lBRVIsQ0FBQzt3R0FSVSxvQkFBb0I7NEZBQXBCLG9CQUFvQixvR0NWakMsOGRBV007OzRGRERPLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxvQkFBb0I7d0RBTVAsWUFBWTtzQkFBbEMsS0FBSzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY3BheS1lcnJvci1iYW5uZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZXJyb3ItYmFubmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZXJyb3ItYmFubmVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5cbmV4cG9ydCBjbGFzcyBFcnJvckJhbm5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgnZXJyb3JNZXNzYWdlJykgZXJyb3JNZXNzYWdlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG5cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlcIiBhcmlhLWxhYmVsbGVkYnk9XCJlcnJvci1zdW1tYXJ5LXRpdGxlXCIgcm9sZT1cImFsZXJ0XCIgdGFiaW5kZXg9XCItMVwiIGRhdGEtbW9kdWxlPVwiZ292dWstZXJyb3Itc3VtbWFyeVwiPlxuICA8aDIgY2xhc3M9XCJnb3Z1ay1lcnJvci1zdW1tYXJ5X190aXRsZSBnb3Z1ay1lcnJvci1zdW1tYXJ5X190aXRsZS1jdXN0b21cIiBpZD1cImVycm9yLXN1bW1hcnktdGl0bGVcIj5cbiAgICAgIHt7ZXJyb3JNZXNzYWdlLnRpdGxlfX1cbiAgPC9oMj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWVycm9yLXN1bW1hcnlfX2JvZHlcIj5cbiAgICA8dWwgY2xhc3M9XCJnb3Z1ay1saXN0IGdvdnVrLWVycm9yLXN1bW1hcnlfX2xpc3RcIj5cbiAgICAgIDxsaT5cbiAgICAgICAgICB7e2Vycm9yTWVzc2FnZS5ib2R5fX1cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
|