@james_jayaraj/test-npm 0.9.6 → 0.9.7
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.
Potentially problematic release.
This version of @james_jayaraj/test-npm might be problematic. Click here for more details.
- package/esm2020/lib/environments/config.mjs +4 -3
- package/esm2020/lib/environments/environment.mjs +2 -2
- package/esm2020/lib/hola-rx.component.mjs +28 -3
- package/esm2020/lib/referral-rx/referral-rx.component.mjs +3 -3
- package/esm2020/lib/rx/rx.component.mjs +10 -5
- package/fesm2015/james_jayaraj-test-npm.mjs +42 -11
- package/fesm2015/james_jayaraj-test-npm.mjs.map +1 -1
- package/fesm2020/james_jayaraj-test-npm.mjs +42 -11
- package/fesm2020/james_jayaraj-test-npm.mjs.map +1 -1
- package/lib/environments/config.d.ts +1 -0
- package/lib/hola-rx.component.d.ts +1 -0
- package/package.json +1 -1
|
@@ -132,10 +132,10 @@ export class ReferralRxComponent {
|
|
|
132
132
|
}
|
|
133
133
|
}
|
|
134
134
|
ReferralRxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ReferralRxComponent, deps: [{ token: i0.ElementRef }, { token: i1.ApiService }, { token: i2.CommonServices }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
135
|
-
ReferralRxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ReferralRxComponent, selector: "lib-referral-rx", outputs: { closeEvent: "closeEvent", submitEvent: "submitEvent" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["rxwidgets"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"overlay\">\r\n <div class=\"popup_referal_pathology\">\r\n <app-splashscreen *ngIf=\"PopupScreenLoader\" [height]=\"'height-referral-spin'\"> </app-splashscreen>\r\n <div *ngIf=\"!PopupScreenLoader\" class=\"page-content\" id=\"qwer\">\r\n <div class=\"new_rx_popup_header_box\">\r\n <div class=\"mdl-grid pathology_header\">\r\n <div>\r\n <h3 class=\"new_rx_popup_header_box_text\">\r\n <img src=\"https://passets.hola.health/rx-widgets/rx-hola-health-logo-1.png\" alt=\"hola_health\" style=\"width: auto;height: 37px;border-radius: 5px;\">\r\n Pathology Referral Form\r\n </h3>\r\n </div>\r\n <div>\r\n <button (click)=\"close(null)\"\r\n class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--colored backButton\"\r\n [disabled]=\"this.commonServices.prescribeMedLoader\">\r\n Close\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"new_rx_popup_tab_1\">\r\n <div class=\"mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone\">\r\n <p class=\"font_f\"><span class=\"new_rx_popup_label\">Send to:\r\n </span>{{commonServices.patientDetails.email}}</p>\r\n <p class=\"new_rx_popup_label\">Tests to Be Conducted<span style=\"color: red !important;\">*</span></p>\r\n <textarea autocomplete=\"off\" [(ngModel)]=\"testsToBeConducted\" name=\"\" id=\"\" rows=\"4\" maxlength=\"500\"\r\n placeholder=\"Tests to Be Conducted (500 characters maximum)\"\r\n class=\"w-100 new_rx_popup_tab_textarea\"></textarea>\r\n </div>\r\n <div class=\"mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone\">\r\n <p class=\"new_rx_popup_label\">Clinical Notes<span style=\"color: red !important;\">*</span></p>\r\n <textarea autocomplete=\"off\" [(ngModel)]=\"clinicalNotes\" name=\"\" id=\"\" rows=\"3\" maxlength=\"500\"\r\n placeholder=\"Clinical Notes\" class=\"w-100 new_rx_popup_tab_textarea\"></textarea>\r\n </div>\r\n <div\r\n class=\"mdl-cell mdl-cell--12-col mdl-cell--12-col-tablet mdl-cell--12-col-phone new_rx_popup_header_box_col new_rx_popup_header_box_col_padding\">\r\n <!-- <button class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--colored nextButton\" (click)=\"Submit()\">\r\n Send Referral\r\n </button> -->\r\n <button class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--colored nextButton\"\r\n style=\"position: relative;padding: 0;\"\r\n [disabled]=\"this.commonServices.prescribeMedLoader\" (click)=\"Submit()\">\r\n <ng-container *ngIf=\"this.commonServices.prescribeMedLoader \">\r\n <p class=\"rx_loader_button m-v4\"\r\n style=\"position: absolute;margin: 0; top: 8px;left: 45%;width: 20px; height: 20px;\">\r\n </p>\r\n </ng-container>\r\n <ng-container *ngIf=\"!this.commonServices.prescribeMedLoader\">\r\n Send Referral\r\n </ng-container><i class=\"fa fa-angle-down\" style=\"margin-left: 5px; color: #fff\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"rx_footer\">\r\n <p class=\"mt-15p\"><span class=\"rx_popup_footer_text\">\u00A9
|
|
135
|
+
ReferralRxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ReferralRxComponent, selector: "lib-referral-rx", outputs: { closeEvent: "closeEvent", submitEvent: "submitEvent" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["rxwidgets"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"overlay\">\r\n <div class=\"popup_referal_pathology\">\r\n <app-splashscreen *ngIf=\"PopupScreenLoader\" [height]=\"'height-referral-spin'\"> </app-splashscreen>\r\n <div *ngIf=\"!PopupScreenLoader\" class=\"page-content\" id=\"qwer\">\r\n <div class=\"new_rx_popup_header_box\">\r\n <div class=\"mdl-grid pathology_header\">\r\n <div>\r\n <h3 class=\"new_rx_popup_header_box_text\">\r\n <img src=\"https://passets.hola.health/rx-widgets/rx-hola-health-logo-1.png\" alt=\"hola_health\" style=\"width: auto;height: 37px;border-radius: 5px;\">\r\n Pathology Referral Form\r\n </h3>\r\n </div>\r\n <div>\r\n <button (click)=\"close(null)\"\r\n class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--colored backButton\"\r\n [disabled]=\"this.commonServices.prescribeMedLoader\">\r\n Close\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"new_rx_popup_tab_1\">\r\n <div class=\"mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone\">\r\n <p class=\"font_f\"><span class=\"new_rx_popup_label\">Send to:\r\n </span>{{commonServices.patientDetails.email}}</p>\r\n <p class=\"new_rx_popup_label\">Tests to Be Conducted<span style=\"color: red !important;\">*</span></p>\r\n <textarea autocomplete=\"off\" [(ngModel)]=\"testsToBeConducted\" name=\"\" id=\"\" rows=\"4\" maxlength=\"500\"\r\n placeholder=\"Tests to Be Conducted (500 characters maximum)\"\r\n class=\"w-100 new_rx_popup_tab_textarea\"></textarea>\r\n </div>\r\n <div class=\"mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone\">\r\n <p class=\"new_rx_popup_label\">Clinical Notes<span style=\"color: red !important;\">*</span></p>\r\n <textarea autocomplete=\"off\" [(ngModel)]=\"clinicalNotes\" name=\"\" id=\"\" rows=\"3\" maxlength=\"500\"\r\n placeholder=\"Clinical Notes\" class=\"w-100 new_rx_popup_tab_textarea\"></textarea>\r\n </div>\r\n <div\r\n class=\"mdl-cell mdl-cell--12-col mdl-cell--12-col-tablet mdl-cell--12-col-phone new_rx_popup_header_box_col new_rx_popup_header_box_col_padding\">\r\n <!-- <button class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--colored nextButton\" (click)=\"Submit()\">\r\n Send Referral\r\n </button> -->\r\n <button class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--colored nextButton\"\r\n style=\"position: relative;padding: 0;\"\r\n [disabled]=\"this.commonServices.prescribeMedLoader\" (click)=\"Submit()\">\r\n <ng-container *ngIf=\"this.commonServices.prescribeMedLoader \">\r\n <p class=\"rx_loader_button m-v4\"\r\n style=\"position: absolute;margin: 0; top: 8px;left: 45%;width: 20px; height: 20px;\">\r\n </p>\r\n </ng-container>\r\n <ng-container *ngIf=\"!this.commonServices.prescribeMedLoader\">\r\n Send Referral\r\n </ng-container><i class=\"fa fa-angle-down\" style=\"margin-left: 5px; color: #fff\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"rx_footer\">\r\n <p class=\"mt-15p\"><span class=\"rx_popup_footer_text\">\u00A9 2026 Hola Health, a brand of Packapill Pty Ltd | v 1.1.0 | <a href=\"https://hola.health/consult-terms\"\r\n target=\"_blank\">Terms</a> | <a href=\"https://hola.health/consult-privacy-policy\" target=\"_blank\">Privacy Policy</a> | <a href=\"mailto:support@hola.health\"\r\n target=\"_blank\">Help</a></span>\r\n </p>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template #rxwidgets> </ng-template>\r\n", styles: [".rx_loader_button{border:2px solid #f3f3f3;border-radius:50%;border-top:4px solid #005760;width:30px;height:30px;animation:spin 1s linear infinite}.backButton{font-family:Roboto Medium!important;font-weight:500;color:gray!important;text-transform:none!important;border:1.5px solid #808080!important;background-color:transparent!important;box-shadow:none!important;font-size:14px;height:unset!important;border-radius:2px!important;cursor:pointer;margin-left:10px;margin-right:0!important;padding:10px 20px!important}.backButton:hover{background-color:#00000008!important;opacity:.8!important}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.SplashscreenComponent, selector: "app-splashscreen", inputs: ["height"] }] });
|
|
136
136
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ReferralRxComponent, decorators: [{
|
|
137
137
|
type: Component,
|
|
138
|
-
args: [{ selector: 'lib-referral-rx', template: "<div class=\"overlay\">\r\n <div class=\"popup_referal_pathology\">\r\n <app-splashscreen *ngIf=\"PopupScreenLoader\" [height]=\"'height-referral-spin'\"> </app-splashscreen>\r\n <div *ngIf=\"!PopupScreenLoader\" class=\"page-content\" id=\"qwer\">\r\n <div class=\"new_rx_popup_header_box\">\r\n <div class=\"mdl-grid pathology_header\">\r\n <div>\r\n <h3 class=\"new_rx_popup_header_box_text\">\r\n <img src=\"https://passets.hola.health/rx-widgets/rx-hola-health-logo-1.png\" alt=\"hola_health\" style=\"width: auto;height: 37px;border-radius: 5px;\">\r\n Pathology Referral Form\r\n </h3>\r\n </div>\r\n <div>\r\n <button (click)=\"close(null)\"\r\n class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--colored backButton\"\r\n [disabled]=\"this.commonServices.prescribeMedLoader\">\r\n Close\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"new_rx_popup_tab_1\">\r\n <div class=\"mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone\">\r\n <p class=\"font_f\"><span class=\"new_rx_popup_label\">Send to:\r\n </span>{{commonServices.patientDetails.email}}</p>\r\n <p class=\"new_rx_popup_label\">Tests to Be Conducted<span style=\"color: red !important;\">*</span></p>\r\n <textarea autocomplete=\"off\" [(ngModel)]=\"testsToBeConducted\" name=\"\" id=\"\" rows=\"4\" maxlength=\"500\"\r\n placeholder=\"Tests to Be Conducted (500 characters maximum)\"\r\n class=\"w-100 new_rx_popup_tab_textarea\"></textarea>\r\n </div>\r\n <div class=\"mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone\">\r\n <p class=\"new_rx_popup_label\">Clinical Notes<span style=\"color: red !important;\">*</span></p>\r\n <textarea autocomplete=\"off\" [(ngModel)]=\"clinicalNotes\" name=\"\" id=\"\" rows=\"3\" maxlength=\"500\"\r\n placeholder=\"Clinical Notes\" class=\"w-100 new_rx_popup_tab_textarea\"></textarea>\r\n </div>\r\n <div\r\n class=\"mdl-cell mdl-cell--12-col mdl-cell--12-col-tablet mdl-cell--12-col-phone new_rx_popup_header_box_col new_rx_popup_header_box_col_padding\">\r\n <!-- <button class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--colored nextButton\" (click)=\"Submit()\">\r\n Send Referral\r\n </button> -->\r\n <button class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--colored nextButton\"\r\n style=\"position: relative;padding: 0;\"\r\n [disabled]=\"this.commonServices.prescribeMedLoader\" (click)=\"Submit()\">\r\n <ng-container *ngIf=\"this.commonServices.prescribeMedLoader \">\r\n <p class=\"rx_loader_button m-v4\"\r\n style=\"position: absolute;margin: 0; top: 8px;left: 45%;width: 20px; height: 20px;\">\r\n </p>\r\n </ng-container>\r\n <ng-container *ngIf=\"!this.commonServices.prescribeMedLoader\">\r\n Send Referral\r\n </ng-container><i class=\"fa fa-angle-down\" style=\"margin-left: 5px; color: #fff\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"rx_footer\">\r\n <p class=\"mt-15p\"><span class=\"rx_popup_footer_text\">\u00A9
|
|
138
|
+
args: [{ selector: 'lib-referral-rx', template: "<div class=\"overlay\">\r\n <div class=\"popup_referal_pathology\">\r\n <app-splashscreen *ngIf=\"PopupScreenLoader\" [height]=\"'height-referral-spin'\"> </app-splashscreen>\r\n <div *ngIf=\"!PopupScreenLoader\" class=\"page-content\" id=\"qwer\">\r\n <div class=\"new_rx_popup_header_box\">\r\n <div class=\"mdl-grid pathology_header\">\r\n <div>\r\n <h3 class=\"new_rx_popup_header_box_text\">\r\n <img src=\"https://passets.hola.health/rx-widgets/rx-hola-health-logo-1.png\" alt=\"hola_health\" style=\"width: auto;height: 37px;border-radius: 5px;\">\r\n Pathology Referral Form\r\n </h3>\r\n </div>\r\n <div>\r\n <button (click)=\"close(null)\"\r\n class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--colored backButton\"\r\n [disabled]=\"this.commonServices.prescribeMedLoader\">\r\n Close\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"new_rx_popup_tab_1\">\r\n <div class=\"mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone\">\r\n <p class=\"font_f\"><span class=\"new_rx_popup_label\">Send to:\r\n </span>{{commonServices.patientDetails.email}}</p>\r\n <p class=\"new_rx_popup_label\">Tests to Be Conducted<span style=\"color: red !important;\">*</span></p>\r\n <textarea autocomplete=\"off\" [(ngModel)]=\"testsToBeConducted\" name=\"\" id=\"\" rows=\"4\" maxlength=\"500\"\r\n placeholder=\"Tests to Be Conducted (500 characters maximum)\"\r\n class=\"w-100 new_rx_popup_tab_textarea\"></textarea>\r\n </div>\r\n <div class=\"mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone\">\r\n <p class=\"new_rx_popup_label\">Clinical Notes<span style=\"color: red !important;\">*</span></p>\r\n <textarea autocomplete=\"off\" [(ngModel)]=\"clinicalNotes\" name=\"\" id=\"\" rows=\"3\" maxlength=\"500\"\r\n placeholder=\"Clinical Notes\" class=\"w-100 new_rx_popup_tab_textarea\"></textarea>\r\n </div>\r\n <div\r\n class=\"mdl-cell mdl-cell--12-col mdl-cell--12-col-tablet mdl-cell--12-col-phone new_rx_popup_header_box_col new_rx_popup_header_box_col_padding\">\r\n <!-- <button class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--colored nextButton\" (click)=\"Submit()\">\r\n Send Referral\r\n </button> -->\r\n <button class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--colored nextButton\"\r\n style=\"position: relative;padding: 0;\"\r\n [disabled]=\"this.commonServices.prescribeMedLoader\" (click)=\"Submit()\">\r\n <ng-container *ngIf=\"this.commonServices.prescribeMedLoader \">\r\n <p class=\"rx_loader_button m-v4\"\r\n style=\"position: absolute;margin: 0; top: 8px;left: 45%;width: 20px; height: 20px;\">\r\n </p>\r\n </ng-container>\r\n <ng-container *ngIf=\"!this.commonServices.prescribeMedLoader\">\r\n Send Referral\r\n </ng-container><i class=\"fa fa-angle-down\" style=\"margin-left: 5px; color: #fff\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"rx_footer\">\r\n <p class=\"mt-15p\"><span class=\"rx_popup_footer_text\">\u00A9 2026 Hola Health, a brand of Packapill Pty Ltd | v 1.1.0 | <a href=\"https://hola.health/consult-terms\"\r\n target=\"_blank\">Terms</a> | <a href=\"https://hola.health/consult-privacy-policy\" target=\"_blank\">Privacy Policy</a> | <a href=\"mailto:support@hola.health\"\r\n target=\"_blank\">Help</a></span>\r\n </p>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template #rxwidgets> </ng-template>\r\n", styles: [".rx_loader_button{border:2px solid #f3f3f3;border-radius:50%;border-top:4px solid #005760;width:30px;height:30px;animation:spin 1s linear infinite}.backButton{font-family:Roboto Medium!important;font-weight:500;color:gray!important;text-transform:none!important;border:1.5px solid #808080!important;background-color:transparent!important;box-shadow:none!important;font-size:14px;height:unset!important;border-radius:2px!important;cursor:pointer;margin-left:10px;margin-right:0!important;padding:10px 20px!important}.backButton:hover{background-color:#00000008!important;opacity:.8!important}\n"] }]
|
|
139
139
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ApiService }, { type: i2.CommonServices }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { closeEvent: [{
|
|
140
140
|
type: Output
|
|
141
141
|
}], submitEvent: [{
|
|
@@ -144,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
144
144
|
type: ViewChild,
|
|
145
145
|
args: ['rxwidgets', { static: true }]
|
|
146
146
|
}] } });
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJyYWwtcnguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaG9sYS1yeC9zcmMvbGliL3JlZmVycmFsLXJ4L3JlZmVycmFsLXJ4LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2hvbGEtcngvc3JjL2xpYi9yZWZlcnJhbC1yeC9yZWZlcnJhbC1yeC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBa0IsTUFBTSxFQUFlLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFdkksT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQVE3RCxNQUFNLE9BQU8sbUJBQW1CO0lBUTlCLFlBQW9CLFVBQXNCLEVBQVUsVUFBc0IsRUFBUyxjQUE4QixFQUFTLEtBQXdCO1FBQTlILGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVMsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFQbEosdUJBQWtCLEdBQVcsRUFBRSxDQUFDO1FBQ2hDLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBQzNCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMxQixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ0osZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTJHLENBQUM7SUFFdkosUUFBUTtRQUNOLElBQUk7WUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztZQUM5QyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztZQUFDLElBQUksQ0FBQyxLQUFLLENBQUMs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Q0FBQTtTQUNIO1FBQ0QsT0FBTyxFQUFPLEVBQUU7WUFDZCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUN4RztJQUNILENBQUM7O2dIQW5IVSxtQkFBbUI7b0dBQW5CLG1CQUFtQiw4T0NWaEMsczVJQWdFQTsyRkR0RGEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGlCQUFpQjt1TEFTakIsVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNtQyxPQUFPO3NCQUFoRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgY29uZmlnLCBlcnJvcmNvbmZpZyB9IGZyb20gJy4uL2Vudmlyb25tZW50cy9jb25maWcnO1xyXG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlcyB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1yZWZlcnJhbC1yeCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JlZmVycmFsLXJ4LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9yZWZlcnJhbC1yeC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWZlcnJhbFJ4Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICB0ZXN0c1RvQmVDb25kdWN0ZWQ6IHN0cmluZyA9IFwiXCI7XHJcbiAgY2xpbmljYWxOb3Rlczogc3RyaW5nID0gXCJcIjtcclxuICBQb3B1cFNjcmVlbkxvYWRlciA9IGZhbHNlO1xyXG4gIGNsaWVudElkID0gXCJcIjtcclxuICBAT3V0cHV0KCkgY2xvc2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgc3VibWl0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQFZpZXdDaGlsZCgncnh3aWRnZXRzJywgeyBzdGF0aWM6IHRydWUgfSkgY29udGVudCE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2UsIHB1YmxpYyBjb21tb25TZXJ2aWNlczogQ29tbW9uU2VydmljZXMsIHB1YmxpYyBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMuY29tbW9uU2VydmljZXMuY2xvc2VFcnJvclJlc3BvbnNlID0gbnVsbDtcclxuICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5wcmVzY3JpYmVNZWRMb2FkZXIgPSBmYWxzZTsgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1wb3Bfd2lkJywgYDU1JWApO1xyXG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tcG9wdXB3JywgYDgwMHB4YCk7XHJcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1oZWFkZXJwYWRkaW5nJywgYDhweGApO1xyXG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tcG9wdXBoJywgYDM1MHB4YCk7XHJcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1oZWFkZXJmb250d2VpZ2h0JywgYDcwMGApO1xyXG4gICAgICB0aGlzLmNsaWVudElkID0gdGhpcy5jb21tb25TZXJ2aWNlcy5nZXRDcmVkZXRpYWwoKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChleDogYW55KSB7XHJcbiAgICAgIHRoaXMuY29tbW9uU2VydmljZXMuc2V0bG9ndmFsdWUoZmFsc2UsIGV4Lm1lc3NhZ2UsIGV4LnN0YWNrLCBcIlJlZmVycmFsUnhDb21wb25lbnRcIiwgXCJuZ09uSW5pdFwiKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NlKGRhdGE6IGFueSkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlKCk7XHJcbiAgICAgIHZhciB2YWx1ZSA9IGRhdGEgIT0gbnVsbCA/IGRhdGEgOiB0aGlzLmNvbW1vblNlcnZpY2VzLmNsb3NlRXJyb3JSZXNwb25zZSAhPSBudWxsIHx8IHRoaXMuY29tbW9uU2VydmljZXMuY2xvc2VFcnJvclJlc3BvbnNlICE9IHVuZGVmaW5lZCA/IHRoaXMuY29tbW9uU2VydmljZXMuY2xvc2VFcnJvclJlc3BvbnNlIDogbnVsbDtcclxuICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5jbG9zZUVycm9yUmVzcG9uc2UgPSBudWxsO1xyXG4gICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnJlbW92ZUVyclRvYXN0KCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKHZhbHVlKTtcclxuICAgICAgdGhpcy5jbG9zZUV2ZW50LmVtaXQodmFsdWUpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGV4OiBhbnkpIHtcclxuICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5zZXRsb2d2YWx1ZShmYWxzZSwgZXgubWVzc2FnZSwgZXguc3RhY2ssIFwiUmVmZXJyYWxSeENvbXBvbmVudFwiLCBcImNsb3NlXCIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgU3VibWl0KCkge1xyXG4gICAgdmFyIHBheWxvYWQgPSB7fTtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB0aGlzLnRlc3RzVG9CZUNvbmR1Y3RlZCA9IFN0cmluZyh0aGlzLnRlc3RzVG9CZUNvbmR1Y3RlZCkudHJpbSgpO1xyXG4gICAgICB0aGlzLmNsaW5pY2FsTm90ZXMgPSBTdHJpbmcodGhpcy5jbGluaWNhbE5vdGVzKS50cmltKCk7XHJcbiAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICBpZiAodGhpcy5jb21tb25TZXJ2aWNlcy5Jc051bGxPckVtcHR5KHRoaXMudGVzdHNUb0JlQ29uZHVjdGVkKSkge1xyXG4gICAgICAgIHRoaXMuY29tbW9uU2VydmljZXMudG9hc3RvcGVuKGVycm9yY29uZmlnLmVycm9yXzQ0Lm1lc3NhZ2UsIFwiZXJyb3JcIiwgZXJyb3Jjb25maWcuZXJyb3JfNDQuY29kZSk7XHJcbiAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5lcnJvclJlc3BvbnNlKGVycm9yY29uZmlnLmVycm9yXzQ0LmNvZGUsIGVycm9yY29uZmlnLmVycm9yXzQ0Lm1lc3NhZ2UpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5jb21tb25TZXJ2aWNlcy5Jc051bGxPckVtcHR5KHRoaXMuY2xpbmljYWxOb3RlcykpIHtcclxuICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnRvYXN0b3BlbihlcnJvcmNvbmZpZy5lcnJvcl80NS5tZXNzYWdlLCBcImVycm9yXCIsIGVycm9yY29uZmlnLmVycm9yXzQ1LmNvZGUpO1xyXG4gICAgICAgIHRoaXMuY29tbW9uU2VydmljZXMuZXJyb3JSZXNwb25zZShlcnJvcmNvbmZpZy5lcnJvcl80NS5jb2RlLCBlcnJvcmNvbmZpZy5lcnJvcl80NS5tZXNzYWdlKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5yZW1vdmVFcnJUb2FzdCgpO1xyXG4gICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnByZXNjcmliZU1lZExvYWRlciA9IHRydWU7XHJcbiAgICAgIHRoaXMuUG9wdXBTY3JlZW5Mb2FkZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgcGF5bG9hZCA9IHtcclxuICAgICAgICByZXF1ZXN0X3R5cGU6IFwicGFyYW1ldGVyXCIsXHJcbiAgICAgICAgdmVuZG9yUGF0aWVudElkOiB0aGlzLmNvbW1vblNlcnZpY2VzLnZlbmRvclBhdGllbnRJZCxcclxuICAgICAgICB2ZW5kb3JQaHlzaWNpYW5JZDogdGhpcy5jb21tb25TZXJ2aWNlcy52ZW5kb3JQaHlzaWNpYW5JZCxcclxuICAgICAgICB2ZW5kb3JGYWNpbGl0eUlkOiB0aGlzLmNvbW1vblNlcnZpY2VzLnZlbmRvckZhY2lsaXR5SWQsXHJcbiAgICAgICAgY05vdGVzOiBTdHJpbmcodGhpcy5jbGluaWNhbE5vdGVzKSxcclxuICAgICAgICByZWFzb246IFN0cmluZyh0aGlzLnRlc3RzVG9CZUNvbmR1Y3RlZCksXHJcbiAgICAgICAgdHlwZTogXCJQYXRob2xvZ3lcIixcclxuICAgICAgICB2aXNpdElkOiBTdHJpbmcodGhpcy5jb21tb25TZXJ2aWNlcy52aXNpdElkKSxcclxuICAgICAgICBjbGllbnRJZDogdGhpcy5jbGllbnRJZFxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuYXBpU2VydmljZS5HZXQoY29uZmlnLlBIWVNJQ0lBTi5QQVRIT0xPR1lfU0VORF9SRUZFUlJBTCArIHRoaXMuY29tbW9uU2VydmljZXMudmVuZG9yUGF0aWVudElkICsgXCImdmVuZG9yUGh5c2ljaWFuSWQ9XCIgKyB0aGlzLmNvbW1vblNlcnZpY2VzLnZlbmRvclBoeXNpY2lhbklkICsgXCImdmVuZG9yRmFjaWxpdHlJZD1cIiArIHRoaXMuY29tbW9uU2VydmljZXMudmVuZG9yRmFjaWxpdHlJZCArIFwiJmNOb3Rlcz1cIiArIFN0cmluZyh0aGlzLmNsaW5pY2FsTm90ZXMpICsgXCImcmVhc29uPVwiICsgU3RyaW5nKHRoaXMudGVzdHNUb0JlQ29uZHVjdGVkKSArIFwiJnR5cGU9UGF0aG9sb2d5JnZpc2l0SWQ9XCIgKyBTdHJpbmcodGhpcy5jb21tb25TZXJ2aWNlcy52aXNpdElkKSArIFwiJmNsaWVudElkPVwiICsgdGhpcy5jbGllbnRJZCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5jb21tb25TZXJ2aWNlcy5Jc051bGxPckVtcHR5KHJlcykpIHtcclxuICAgICAgICAgICAgdGhpcy5Qb3B1cFNjcmVlbkxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnByZXNjcmliZU1lZExvYWRlciA9IGZhbHNlOyB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5zZXRsb2d2YWx1ZShmYWxzZSwgXCJcIiwgXCJcIiwgXCJSZWZlcnJhbFJ4Q29tcG9uZW50XCIsIFwiU3VibWl0XCIsIHBheWxvYWQpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnRvYXN0b3BlbihlcnJvcmNvbmZpZy5lcnJvcl82NC5tZXNzYWdlLCAnZXJyb3InLCBlcnJvcmNvbmZpZy5lcnJvcl82NC5jb2RlKTtcclxuICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5lcnJvclJlc3BvbnNlKGVycm9yY29uZmlnLmVycm9yXzY0LmNvZGUsIGVycm9yY29uZmlnLmVycm9yXzY0Lm1lc3NhZ2UpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAocmVzLnJlc3BvbnNlX2NvZGUgPT0gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5yZW1vdmUoKTtcclxuICAgICAgICAgICAgdGhpcy5Qb3B1cFNjcmVlbkxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnByZXNjcmliZU1lZExvYWRlciA9IGZhbHNlOyB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy50b2FzdG9wZW4ocmVzLnJlc3BvbnNlX21lc3NhZ2UsIFwic3VjY2Vzc1wiKTtcclxuICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5lcnJvclJlc3BvbnNlKFwiXCIsIHJlcy5yZXNwb25zZV9tZXNzYWdlLCB0cnVlLCByZXMuZGF0YSk7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2UocmVzLmRhdGEpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5Qb3B1cFNjcmVlbkxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnByZXNjcmliZU1lZExvYWRlciA9IGZhbHNlOyB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5zZXRsb2d2YWx1ZShmYWxzZSwgcmVzLnJlc3BvbnNlX21lc3NhZ2UsIHJlcy5yZXNwb25zZV9tZXNzYWdlLCBcIlJlZmVycmFsUnhDb21wb25lbnRcIiwgXCJTdWJtaXRcIiwgcGF5bG9hZCk7XHJcbiAgICAgICAgICAgIHRoaXMuY29tbW9uU2VydmljZXMudG9hc3RvcGVuKHJlcy5yZXNwb25zZV9tZXNzYWdlLCBcImVycm9yXCIsIHJlcy5lcnJvcl9jb2RlKTtcclxuICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5lcnJvclJlc3BvbnNlKHJlcy5lcnJvcl9jb2RlLCByZXMucmVzcG9uc2VfbWVzc2FnZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIChleDogYW55KSB7XHJcbiAgICAgICAgICB0aGlzLlBvcHVwU2NyZWVuTG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIHRoaXMuY29tbW9uU2VydmljZXMucHJlc2NyaWJlTWVkTG9hZGVyID0gZmFsc2U7IHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5zZXRsb2d2YWx1ZShmYWxzZSwgZXgubWVzc2FnZSwgZXguc3RhY2ssIFwiUmVmZXJyYWxSeENvbXBvbmVudFwiLCBcIlN1Ym1pdFwiLCBwYXlsb2FkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIGVycm9yID0+IHtcclxuICAgICAgICB0aGlzLlBvcHVwU2NyZWVuTG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5wcmVzY3JpYmVNZWRMb2FkZXIgPSBmYWxzZTsgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5zZXRsb2d2YWx1ZShmYWxzZSwgZXJyb3IubWVzc2FnZSwgZXJyb3Iuc3RhY2ssIFwiUmVmZXJyYWxSeENvbXBvbmVudFwiLCBcIlN1Ym1pdFwiLCBwYXlsb2FkKTtcclxuICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnRvYXN0b3BlbihlcnJvcmNvbmZpZy5lcnJvcl82NS5tZXNzYWdlICsgZXJyb3IsIFwiZXJyb3JcIiwgZXJyb3Jjb25maWcuZXJyb3JfNjUuY29kZSk7XHJcbiAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5lcnJvclJlc3BvbnNlKGVycm9yY29uZmlnLmVycm9yXzY1LmNvZGUsIGVycm9yY29uZmlnLmVycm9yXzY1Lm1lc3NhZ2UgKyBlcnJvcik7XHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXg6IGFueSkge1xyXG4gICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnNldGxvZ3ZhbHVlKGZhbHNlLCBleC5tZXNzYWdlLCBleC5zdGFjaywgXCJSZWZlcnJhbFJ4Q29tcG9uZW50XCIsIFwiU3VibWl0XCIsIHBheWxvYWQpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwib3ZlcmxheVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInBvcHVwX3JlZmVyYWxfcGF0aG9sb2d5XCI+XHJcbiAgICAgICAgPGFwcC1zcGxhc2hzY3JlZW4gKm5nSWY9XCJQb3B1cFNjcmVlbkxvYWRlclwiIFtoZWlnaHRdPVwiJ2hlaWdodC1yZWZlcnJhbC1zcGluJ1wiPiA8L2FwcC1zcGxhc2hzY3JlZW4+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIiFQb3B1cFNjcmVlbkxvYWRlclwiIGNsYXNzPVwicGFnZS1jb250ZW50XCIgaWQ9XCJxd2VyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuZXdfcnhfcG9wdXBfaGVhZGVyX2JveFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1kbC1ncmlkIHBhdGhvbG9neV9oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJuZXdfcnhfcG9wdXBfaGVhZGVyX2JveF90ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vcGFzc2V0cy5ob2xhLmhlYWx0aC9yeC13aWRnZXRzL3J4LWhvbGEtaGVhbHRoLWxvZ28tMS5wbmdcIiBhbHQ9XCJob2xhX2hlYWx0aFwiIHN0eWxlPVwid2lkdGg6IGF1dG87aGVpZ2h0OiAzN3B4O2JvcmRlci1yYWRpdXM6IDVweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhdGhvbG9neSBSZWZlcnJhbCBGb3JtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY2xvc2UobnVsbClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZGwtYnV0dG9uIG1kbC1qcy1idXR0b24gbWRsLWJ1dHRvbi0tcmFpc2VkIG1kbC1idXR0b24tLWNvbG9yZWQgYmFja0J1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwidGhpcy5jb21tb25TZXJ2aWNlcy5wcmVzY3JpYmVNZWRMb2FkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsb3NlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmV3X3J4X3BvcHVwX3RhYl8xXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWRsLWNlbGwgbWRsLWNlbGwtLTEyLWNvbCBtZGwtY2VsbC0tOC1jb2wtdGFibGV0IG1kbC1jZWxsLS00LWNvbC1waG9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZm9udF9mXCI+PHNwYW4gY2xhc3M9XCJuZXdfcnhfcG9wdXBfbGFiZWxcIj5TZW5kIHRvOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+e3tjb21tb25TZXJ2aWNlcy5wYXRpZW50RGV0YWlscy5lbWFpbH19PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibmV3X3J4X3BvcHVwX2xhYmVsXCI+VGVzdHMgdG8gQmUgQ29uZHVjdGVkPHNwYW4gc3R5bGU9XCJjb2xvcjogcmVkICFpbXBvcnRhbnQ7XCI+Kjwvc3Bhbj48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFsobmdNb2RlbCldPVwidGVzdHNUb0JlQ29uZHVjdGVkXCIgbmFtZT1cIlwiIGlkPVwiXCIgcm93cz1cIjRcIiBtYXhsZW5ndGg9XCI1MDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlRlc3RzIHRvIEJlIENvbmR1Y3RlZCAoNTAwIGNoYXJhY3RlcnMgbWF4aW11bSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctMTAwIG5ld19yeF9wb3B1cF90YWJfdGV4dGFyZWFcIj48L3RleHRhcmVhPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWRsLWNlbGwgbWRsLWNlbGwtLTEyLWNvbCBtZGwtY2VsbC0tOC1jb2wtdGFibGV0IG1kbC1jZWxsLS00LWNvbC1waG9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibmV3X3J4X3BvcHVwX2xhYmVsXCI+Q2xpbmljYWwgTm90ZXM8c3BhbiBzdHlsZT1cImNvbG9yOiByZWQgIWltcG9ydGFudDtcIj4qPC9zcGFuPjwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgYXV0b2NvbXBsZXRlPVwib2ZmXCIgWyhuZ01vZGVsKV09XCJjbGluaWNhbE5vdGVzXCIgbmFtZT1cIlwiIGlkPVwiXCIgcm93cz1cIjNcIiBtYXhsZW5ndGg9XCI1MDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkNsaW5pY2FsIE5vdGVzXCIgY2xhc3M9XCJ3LTEwMCBuZXdfcnhfcG9wdXBfdGFiX3RleHRhcmVhXCI+PC90ZXh0YXJlYT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWRsLWNlbGwgbWRsLWNlbGwtLTEyLWNvbCBtZGwtY2VsbC0tMTItY29sLXRhYmxldCBtZGwtY2VsbC0tMTItY29sLXBob25lIG5ld19yeF9wb3B1cF9oZWFkZXJfYm94X2NvbCBuZXdfcnhfcG9wdXBfaGVhZGVyX2JveF9jb2xfcGFkZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGJ1dHRvbiBjbGFzcz1cIm1kbC1idXR0b24gbWRsLWpzLWJ1dHRvbiBtZGwtYnV0dG9uLS1yYWlzZWQgbWRsLWJ1dHRvbi0tY29sb3JlZCBuZXh0QnV0dG9uXCIgKGNsaWNrKT1cIlN1Ym1pdCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFNlbmQgUmVmZXJyYWxcclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1kbC1idXR0b24gbWRsLWpzLWJ1dHRvbiBtZGwtYnV0dG9uLS1yYWlzZWQgbWRsLWJ1dHRvbi0tY29sb3JlZCBuZXh0QnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7cGFkZGluZzogMDtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwidGhpcy5jb21tb25TZXJ2aWNlcy5wcmVzY3JpYmVNZWRMb2FkZXJcIiAoY2xpY2spPVwiU3VibWl0KClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRoaXMuY29tbW9uU2VydmljZXMucHJlc2NyaWJlTWVkTG9hZGVyIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJyeF9sb2FkZXJfYnV0dG9uIG0tdjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlO21hcmdpbjogMDsgdG9wOiA4cHg7bGVmdDogNDUlO3dpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXRoaXMuY29tbW9uU2VydmljZXMucHJlc2NyaWJlTWVkTG9hZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZW5kIFJlZmVycmFsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPjxpIGNsYXNzPVwiZmEgZmEtYW5nbGUtZG93blwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDVweDsgY29sb3I6ICNmZmZcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJ4X2Zvb3RlclwiPlxyXG4gICAgICAgICAgICA8cCBjbGFzcz1cIm10LTE1cFwiPjxzcGFuIGNsYXNzPVwicnhfcG9wdXBfZm9vdGVyX3RleHRcIj7CqSAyMDI1IEhvbGEgSGVhbHRoLCBhIGJyYW5kIG9mIFBhY2thcGlsbCBQdHkgTHRkIHwgdiAxLjEuMCB8IDxhIGhyZWY9XCJodHRwczovL2hvbGEuaGVhbHRoL2NvbnN1bHQtdGVybXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIj5UZXJtczwvYT4gfCA8YSBocmVmPVwiaHR0cHM6Ly9ob2xhLmhlYWx0aC9jb25zdWx0LXByaXZhY3ktcG9saWN5XCIgdGFyZ2V0PVwiX2JsYW5rXCI+UHJpdmFjeSBQb2xpY3k8L2E+IHwgPGEgaHJlZj1cIm1haWx0bzpzdXBwb3J0QGhvbGEuaGVhbHRoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCI+SGVscDwvYT48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPG5nLXRlbXBsYXRlICNyeHdpZGdldHM+IDwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJyYWwtcnguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaG9sYS1yeC9zcmMvbGliL3JlZmVycmFsLXJ4L3JlZmVycmFsLXJ4LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2hvbGEtcngvc3JjL2xpYi9yZWZlcnJhbC1yeC9yZWZlcnJhbC1yeC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBa0IsTUFBTSxFQUFlLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFdkksT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7OztBQVE3RCxNQUFNLE9BQU8sbUJBQW1CO0lBUTlCLFlBQW9CLFVBQXNCLEVBQVUsVUFBc0IsRUFBUyxjQUE4QixFQUFTLEtBQXdCO1FBQTlILGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVMsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFQbEosdUJBQWtCLEdBQVcsRUFBRSxDQUFDO1FBQ2hDLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBQzNCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMxQixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ0osZUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTJHLENBQUM7SUFFdkosUUFBUTtRQUNOLElBQUk7WUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztZQUM5QyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztZQUFDLElBQUksQ0FBQyxLQUFLLENBQUMs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Q0FBQTtTQUNIO1FBQ0QsT0FBTyxFQUFPLEVBQUU7WUFDZCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUN4RztJQUNILENBQUM7O2dIQW5IVSxtQkFBbUI7b0dBQW5CLG1CQUFtQiw4T0NWaEMsczVJQWdFQTsyRkR0RGEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGlCQUFpQjt1TEFTakIsVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNtQyxPQUFPO3NCQUFoRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgY29uZmlnLCBlcnJvcmNvbmZpZyB9IGZyb20gJy4uL2Vudmlyb25tZW50cy9jb25maWcnO1xyXG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlcyB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1yZWZlcnJhbC1yeCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JlZmVycmFsLXJ4LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9yZWZlcnJhbC1yeC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWZlcnJhbFJ4Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICB0ZXN0c1RvQmVDb25kdWN0ZWQ6IHN0cmluZyA9IFwiXCI7XHJcbiAgY2xpbmljYWxOb3Rlczogc3RyaW5nID0gXCJcIjtcclxuICBQb3B1cFNjcmVlbkxvYWRlciA9IGZhbHNlO1xyXG4gIGNsaWVudElkID0gXCJcIjtcclxuICBAT3V0cHV0KCkgY2xvc2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgc3VibWl0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQFZpZXdDaGlsZCgncnh3aWRnZXRzJywgeyBzdGF0aWM6IHRydWUgfSkgY29udGVudCE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2UsIHB1YmxpYyBjb21tb25TZXJ2aWNlczogQ29tbW9uU2VydmljZXMsIHB1YmxpYyBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMuY29tbW9uU2VydmljZXMuY2xvc2VFcnJvclJlc3BvbnNlID0gbnVsbDtcclxuICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5wcmVzY3JpYmVNZWRMb2FkZXIgPSBmYWxzZTsgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1wb3Bfd2lkJywgYDU1JWApO1xyXG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tcG9wdXB3JywgYDgwMHB4YCk7XHJcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1oZWFkZXJwYWRkaW5nJywgYDhweGApO1xyXG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tcG9wdXBoJywgYDM1MHB4YCk7XHJcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1oZWFkZXJmb250d2VpZ2h0JywgYDcwMGApO1xyXG4gICAgICB0aGlzLmNsaWVudElkID0gdGhpcy5jb21tb25TZXJ2aWNlcy5nZXRDcmVkZXRpYWwoKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChleDogYW55KSB7XHJcbiAgICAgIHRoaXMuY29tbW9uU2VydmljZXMuc2V0bG9ndmFsdWUoZmFsc2UsIGV4Lm1lc3NhZ2UsIGV4LnN0YWNrLCBcIlJlZmVycmFsUnhDb21wb25lbnRcIiwgXCJuZ09uSW5pdFwiKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NlKGRhdGE6IGFueSkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlKCk7XHJcbiAgICAgIHZhciB2YWx1ZSA9IGRhdGEgIT0gbnVsbCA/IGRhdGEgOiB0aGlzLmNvbW1vblNlcnZpY2VzLmNsb3NlRXJyb3JSZXNwb25zZSAhPSBudWxsIHx8IHRoaXMuY29tbW9uU2VydmljZXMuY2xvc2VFcnJvclJlc3BvbnNlICE9IHVuZGVmaW5lZCA/IHRoaXMuY29tbW9uU2VydmljZXMuY2xvc2VFcnJvclJlc3BvbnNlIDogbnVsbDtcclxuICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5jbG9zZUVycm9yUmVzcG9uc2UgPSBudWxsO1xyXG4gICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnJlbW92ZUVyclRvYXN0KCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKHZhbHVlKTtcclxuICAgICAgdGhpcy5jbG9zZUV2ZW50LmVtaXQodmFsdWUpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGV4OiBhbnkpIHtcclxuICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5zZXRsb2d2YWx1ZShmYWxzZSwgZXgubWVzc2FnZSwgZXguc3RhY2ssIFwiUmVmZXJyYWxSeENvbXBvbmVudFwiLCBcImNsb3NlXCIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgU3VibWl0KCkge1xyXG4gICAgdmFyIHBheWxvYWQgPSB7fTtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB0aGlzLnRlc3RzVG9CZUNvbmR1Y3RlZCA9IFN0cmluZyh0aGlzLnRlc3RzVG9CZUNvbmR1Y3RlZCkudHJpbSgpO1xyXG4gICAgICB0aGlzLmNsaW5pY2FsTm90ZXMgPSBTdHJpbmcodGhpcy5jbGluaWNhbE5vdGVzKS50cmltKCk7XHJcbiAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICBpZiAodGhpcy5jb21tb25TZXJ2aWNlcy5Jc051bGxPckVtcHR5KHRoaXMudGVzdHNUb0JlQ29uZHVjdGVkKSkge1xyXG4gICAgICAgIHRoaXMuY29tbW9uU2VydmljZXMudG9hc3RvcGVuKGVycm9yY29uZmlnLmVycm9yXzQ0Lm1lc3NhZ2UsIFwiZXJyb3JcIiwgZXJyb3Jjb25maWcuZXJyb3JfNDQuY29kZSk7XHJcbiAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5lcnJvclJlc3BvbnNlKGVycm9yY29uZmlnLmVycm9yXzQ0LmNvZGUsIGVycm9yY29uZmlnLmVycm9yXzQ0Lm1lc3NhZ2UpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5jb21tb25TZXJ2aWNlcy5Jc051bGxPckVtcHR5KHRoaXMuY2xpbmljYWxOb3RlcykpIHtcclxuICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnRvYXN0b3BlbihlcnJvcmNvbmZpZy5lcnJvcl80NS5tZXNzYWdlLCBcImVycm9yXCIsIGVycm9yY29uZmlnLmVycm9yXzQ1LmNvZGUpO1xyXG4gICAgICAgIHRoaXMuY29tbW9uU2VydmljZXMuZXJyb3JSZXNwb25zZShlcnJvcmNvbmZpZy5lcnJvcl80NS5jb2RlLCBlcnJvcmNvbmZpZy5lcnJvcl80NS5tZXNzYWdlKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5yZW1vdmVFcnJUb2FzdCgpO1xyXG4gICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnByZXNjcmliZU1lZExvYWRlciA9IHRydWU7XHJcbiAgICAgIHRoaXMuUG9wdXBTY3JlZW5Mb2FkZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgcGF5bG9hZCA9IHtcclxuICAgICAgICByZXF1ZXN0X3R5cGU6IFwicGFyYW1ldGVyXCIsXHJcbiAgICAgICAgdmVuZG9yUGF0aWVudElkOiB0aGlzLmNvbW1vblNlcnZpY2VzLnZlbmRvclBhdGllbnRJZCxcclxuICAgICAgICB2ZW5kb3JQaHlzaWNpYW5JZDogdGhpcy5jb21tb25TZXJ2aWNlcy52ZW5kb3JQaHlzaWNpYW5JZCxcclxuICAgICAgICB2ZW5kb3JGYWNpbGl0eUlkOiB0aGlzLmNvbW1vblNlcnZpY2VzLnZlbmRvckZhY2lsaXR5SWQsXHJcbiAgICAgICAgY05vdGVzOiBTdHJpbmcodGhpcy5jbGluaWNhbE5vdGVzKSxcclxuICAgICAgICByZWFzb246IFN0cmluZyh0aGlzLnRlc3RzVG9CZUNvbmR1Y3RlZCksXHJcbiAgICAgICAgdHlwZTogXCJQYXRob2xvZ3lcIixcclxuICAgICAgICB2aXNpdElkOiBTdHJpbmcodGhpcy5jb21tb25TZXJ2aWNlcy52aXNpdElkKSxcclxuICAgICAgICBjbGllbnRJZDogdGhpcy5jbGllbnRJZFxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuYXBpU2VydmljZS5HZXQoY29uZmlnLlBIWVNJQ0lBTi5QQVRIT0xPR1lfU0VORF9SRUZFUlJBTCArIHRoaXMuY29tbW9uU2VydmljZXMudmVuZG9yUGF0aWVudElkICsgXCImdmVuZG9yUGh5c2ljaWFuSWQ9XCIgKyB0aGlzLmNvbW1vblNlcnZpY2VzLnZlbmRvclBoeXNpY2lhbklkICsgXCImdmVuZG9yRmFjaWxpdHlJZD1cIiArIHRoaXMuY29tbW9uU2VydmljZXMudmVuZG9yRmFjaWxpdHlJZCArIFwiJmNOb3Rlcz1cIiArIFN0cmluZyh0aGlzLmNsaW5pY2FsTm90ZXMpICsgXCImcmVhc29uPVwiICsgU3RyaW5nKHRoaXMudGVzdHNUb0JlQ29uZHVjdGVkKSArIFwiJnR5cGU9UGF0aG9sb2d5JnZpc2l0SWQ9XCIgKyBTdHJpbmcodGhpcy5jb21tb25TZXJ2aWNlcy52aXNpdElkKSArIFwiJmNsaWVudElkPVwiICsgdGhpcy5jbGllbnRJZCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5jb21tb25TZXJ2aWNlcy5Jc051bGxPckVtcHR5KHJlcykpIHtcclxuICAgICAgICAgICAgdGhpcy5Qb3B1cFNjcmVlbkxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnByZXNjcmliZU1lZExvYWRlciA9IGZhbHNlOyB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5zZXRsb2d2YWx1ZShmYWxzZSwgXCJcIiwgXCJcIiwgXCJSZWZlcnJhbFJ4Q29tcG9uZW50XCIsIFwiU3VibWl0XCIsIHBheWxvYWQpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnRvYXN0b3BlbihlcnJvcmNvbmZpZy5lcnJvcl82NC5tZXNzYWdlLCAnZXJyb3InLCBlcnJvcmNvbmZpZy5lcnJvcl82NC5jb2RlKTtcclxuICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5lcnJvclJlc3BvbnNlKGVycm9yY29uZmlnLmVycm9yXzY0LmNvZGUsIGVycm9yY29uZmlnLmVycm9yXzY0Lm1lc3NhZ2UpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAocmVzLnJlc3BvbnNlX2NvZGUgPT0gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5yZW1vdmUoKTtcclxuICAgICAgICAgICAgdGhpcy5Qb3B1cFNjcmVlbkxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnByZXNjcmliZU1lZExvYWRlciA9IGZhbHNlOyB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy50b2FzdG9wZW4ocmVzLnJlc3BvbnNlX21lc3NhZ2UsIFwic3VjY2Vzc1wiKTtcclxuICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5lcnJvclJlc3BvbnNlKFwiXCIsIHJlcy5yZXNwb25zZV9tZXNzYWdlLCB0cnVlLCByZXMuZGF0YSk7XHJcbiAgICAgICAgICAgIHRoaXMuY2xvc2UocmVzLmRhdGEpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5Qb3B1cFNjcmVlbkxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnByZXNjcmliZU1lZExvYWRlciA9IGZhbHNlOyB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5zZXRsb2d2YWx1ZShmYWxzZSwgcmVzLnJlc3BvbnNlX21lc3NhZ2UsIHJlcy5yZXNwb25zZV9tZXNzYWdlLCBcIlJlZmVycmFsUnhDb21wb25lbnRcIiwgXCJTdWJtaXRcIiwgcGF5bG9hZCk7XHJcbiAgICAgICAgICAgIHRoaXMuY29tbW9uU2VydmljZXMudG9hc3RvcGVuKHJlcy5yZXNwb25zZV9tZXNzYWdlLCBcImVycm9yXCIsIHJlcy5lcnJvcl9jb2RlKTtcclxuICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5lcnJvclJlc3BvbnNlKHJlcy5lcnJvcl9jb2RlLCByZXMucmVzcG9uc2VfbWVzc2FnZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIChleDogYW55KSB7XHJcbiAgICAgICAgICB0aGlzLlBvcHVwU2NyZWVuTG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIHRoaXMuY29tbW9uU2VydmljZXMucHJlc2NyaWJlTWVkTG9hZGVyID0gZmFsc2U7IHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5zZXRsb2d2YWx1ZShmYWxzZSwgZXgubWVzc2FnZSwgZXguc3RhY2ssIFwiUmVmZXJyYWxSeENvbXBvbmVudFwiLCBcIlN1Ym1pdFwiLCBwYXlsb2FkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIGVycm9yID0+IHtcclxuICAgICAgICB0aGlzLlBvcHVwU2NyZWVuTG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5wcmVzY3JpYmVNZWRMb2FkZXIgPSBmYWxzZTsgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5zZXRsb2d2YWx1ZShmYWxzZSwgZXJyb3IubWVzc2FnZSwgZXJyb3Iuc3RhY2ssIFwiUmVmZXJyYWxSeENvbXBvbmVudFwiLCBcIlN1Ym1pdFwiLCBwYXlsb2FkKTtcclxuICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnRvYXN0b3BlbihlcnJvcmNvbmZpZy5lcnJvcl82NS5tZXNzYWdlICsgZXJyb3IsIFwiZXJyb3JcIiwgZXJyb3Jjb25maWcuZXJyb3JfNjUuY29kZSk7XHJcbiAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5lcnJvclJlc3BvbnNlKGVycm9yY29uZmlnLmVycm9yXzY1LmNvZGUsIGVycm9yY29uZmlnLmVycm9yXzY1Lm1lc3NhZ2UgKyBlcnJvcik7XHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXg6IGFueSkge1xyXG4gICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnNldGxvZ3ZhbHVlKGZhbHNlLCBleC5tZXNzYWdlLCBleC5zdGFjaywgXCJSZWZlcnJhbFJ4Q29tcG9uZW50XCIsIFwiU3VibWl0XCIsIHBheWxvYWQpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwib3ZlcmxheVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInBvcHVwX3JlZmVyYWxfcGF0aG9sb2d5XCI+XHJcbiAgICAgICAgPGFwcC1zcGxhc2hzY3JlZW4gKm5nSWY9XCJQb3B1cFNjcmVlbkxvYWRlclwiIFtoZWlnaHRdPVwiJ2hlaWdodC1yZWZlcnJhbC1zcGluJ1wiPiA8L2FwcC1zcGxhc2hzY3JlZW4+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIiFQb3B1cFNjcmVlbkxvYWRlclwiIGNsYXNzPVwicGFnZS1jb250ZW50XCIgaWQ9XCJxd2VyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuZXdfcnhfcG9wdXBfaGVhZGVyX2JveFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1kbC1ncmlkIHBhdGhvbG9neV9oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJuZXdfcnhfcG9wdXBfaGVhZGVyX2JveF90ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vcGFzc2V0cy5ob2xhLmhlYWx0aC9yeC13aWRnZXRzL3J4LWhvbGEtaGVhbHRoLWxvZ28tMS5wbmdcIiBhbHQ9XCJob2xhX2hlYWx0aFwiIHN0eWxlPVwid2lkdGg6IGF1dG87aGVpZ2h0OiAzN3B4O2JvcmRlci1yYWRpdXM6IDVweDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhdGhvbG9neSBSZWZlcnJhbCBGb3JtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiY2xvc2UobnVsbClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZGwtYnV0dG9uIG1kbC1qcy1idXR0b24gbWRsLWJ1dHRvbi0tcmFpc2VkIG1kbC1idXR0b24tLWNvbG9yZWQgYmFja0J1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwidGhpcy5jb21tb25TZXJ2aWNlcy5wcmVzY3JpYmVNZWRMb2FkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsb3NlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmV3X3J4X3BvcHVwX3RhYl8xXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWRsLWNlbGwgbWRsLWNlbGwtLTEyLWNvbCBtZGwtY2VsbC0tOC1jb2wtdGFibGV0IG1kbC1jZWxsLS00LWNvbC1waG9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZm9udF9mXCI+PHNwYW4gY2xhc3M9XCJuZXdfcnhfcG9wdXBfbGFiZWxcIj5TZW5kIHRvOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+e3tjb21tb25TZXJ2aWNlcy5wYXRpZW50RGV0YWlscy5lbWFpbH19PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibmV3X3J4X3BvcHVwX2xhYmVsXCI+VGVzdHMgdG8gQmUgQ29uZHVjdGVkPHNwYW4gc3R5bGU9XCJjb2xvcjogcmVkICFpbXBvcnRhbnQ7XCI+Kjwvc3Bhbj48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFsobmdNb2RlbCldPVwidGVzdHNUb0JlQ29uZHVjdGVkXCIgbmFtZT1cIlwiIGlkPVwiXCIgcm93cz1cIjRcIiBtYXhsZW5ndGg9XCI1MDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlRlc3RzIHRvIEJlIENvbmR1Y3RlZCAoNTAwIGNoYXJhY3RlcnMgbWF4aW11bSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctMTAwIG5ld19yeF9wb3B1cF90YWJfdGV4dGFyZWFcIj48L3RleHRhcmVhPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWRsLWNlbGwgbWRsLWNlbGwtLTEyLWNvbCBtZGwtY2VsbC0tOC1jb2wtdGFibGV0IG1kbC1jZWxsLS00LWNvbC1waG9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibmV3X3J4X3BvcHVwX2xhYmVsXCI+Q2xpbmljYWwgTm90ZXM8c3BhbiBzdHlsZT1cImNvbG9yOiByZWQgIWltcG9ydGFudDtcIj4qPC9zcGFuPjwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgYXV0b2NvbXBsZXRlPVwib2ZmXCIgWyhuZ01vZGVsKV09XCJjbGluaWNhbE5vdGVzXCIgbmFtZT1cIlwiIGlkPVwiXCIgcm93cz1cIjNcIiBtYXhsZW5ndGg9XCI1MDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkNsaW5pY2FsIE5vdGVzXCIgY2xhc3M9XCJ3LTEwMCBuZXdfcnhfcG9wdXBfdGFiX3RleHRhcmVhXCI+PC90ZXh0YXJlYT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWRsLWNlbGwgbWRsLWNlbGwtLTEyLWNvbCBtZGwtY2VsbC0tMTItY29sLXRhYmxldCBtZGwtY2VsbC0tMTItY29sLXBob25lIG5ld19yeF9wb3B1cF9oZWFkZXJfYm94X2NvbCBuZXdfcnhfcG9wdXBfaGVhZGVyX2JveF9jb2xfcGFkZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPGJ1dHRvbiBjbGFzcz1cIm1kbC1idXR0b24gbWRsLWpzLWJ1dHRvbiBtZGwtYnV0dG9uLS1yYWlzZWQgbWRsLWJ1dHRvbi0tY29sb3JlZCBuZXh0QnV0dG9uXCIgKGNsaWNrKT1cIlN1Ym1pdCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFNlbmQgUmVmZXJyYWxcclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1kbC1idXR0b24gbWRsLWpzLWJ1dHRvbiBtZGwtYnV0dG9uLS1yYWlzZWQgbWRsLWJ1dHRvbi0tY29sb3JlZCBuZXh0QnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7cGFkZGluZzogMDtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwidGhpcy5jb21tb25TZXJ2aWNlcy5wcmVzY3JpYmVNZWRMb2FkZXJcIiAoY2xpY2spPVwiU3VibWl0KClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRoaXMuY29tbW9uU2VydmljZXMucHJlc2NyaWJlTWVkTG9hZGVyIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJyeF9sb2FkZXJfYnV0dG9uIG0tdjRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlO21hcmdpbjogMDsgdG9wOiA4cHg7bGVmdDogNDUlO3dpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXRoaXMuY29tbW9uU2VydmljZXMucHJlc2NyaWJlTWVkTG9hZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZW5kIFJlZmVycmFsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPjxpIGNsYXNzPVwiZmEgZmEtYW5nbGUtZG93blwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDVweDsgY29sb3I6ICNmZmZcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJ4X2Zvb3RlclwiPlxyXG4gICAgICAgICAgICA8cCBjbGFzcz1cIm10LTE1cFwiPjxzcGFuIGNsYXNzPVwicnhfcG9wdXBfZm9vdGVyX3RleHRcIj7CqSAyMDI2IEhvbGEgSGVhbHRoLCBhIGJyYW5kIG9mIFBhY2thcGlsbCBQdHkgTHRkIHwgdiAxLjEuMCB8IDxhIGhyZWY9XCJodHRwczovL2hvbGEuaGVhbHRoL2NvbnN1bHQtdGVybXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIj5UZXJtczwvYT4gfCA8YSBocmVmPVwiaHR0cHM6Ly9ob2xhLmhlYWx0aC9jb25zdWx0LXByaXZhY3ktcG9saWN5XCIgdGFyZ2V0PVwiX2JsYW5rXCI+UHJpdmFjeSBQb2xpY3k8L2E+IHwgPGEgaHJlZj1cIm1haWx0bzpzdXBwb3J0QGhvbGEuaGVhbHRoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCI+SGVscDwvYT48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPG5nLXRlbXBsYXRlICNyeHdpZGdldHM+IDwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|