@james_jayaraj/test-npm 1.2.1 → 1.2.3
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/esm2020/lib/confirm-patient-contact-details/confirm-patient-contact-details.component.mjs +6 -4
- package/esm2020/lib/hola-rx.component.mjs +5 -1
- package/esm2020/lib/rx/rx.component.mjs +63 -3
- package/esm2020/lib/services/common.mjs +5 -1
- package/fesm2015/james_jayaraj-test-npm.mjs +76 -5
- package/fesm2015/james_jayaraj-test-npm.mjs.map +1 -1
- package/fesm2020/james_jayaraj-test-npm.mjs +75 -5
- package/fesm2020/james_jayaraj-test-npm.mjs.map +1 -1
- package/lib/confirm-patient-contact-details/confirm-patient-contact-details.component.d.ts +1 -0
- package/lib/rx/rx.component.d.ts +1 -0
- package/lib/services/common.d.ts +4 -0
- package/package.json +1 -1
- package/_hola-rx.styles.scss +0 -2653
package/esm2020/lib/confirm-patient-contact-details/confirm-patient-contact-details.component.mjs
CHANGED
|
@@ -16,8 +16,10 @@ export class ConfirmPatientContactDetailsComponent {
|
|
|
16
16
|
this.rxemailId = "";
|
|
17
17
|
this.rxEmailFlag = true;
|
|
18
18
|
this.MobileNo = this.commonServices.patientDetails.phone;
|
|
19
|
-
this.Email = this.commonServices.isScriptToPharmacy == 1 && this.commonServices.pharmacyEmail != null && this.commonServices.pharmacyEmail != "" ? this.commonServices.pharmacyEmail : this.commonServices.patientDetails.email;
|
|
19
|
+
this.Email = this.commonServices.isScriptToPharmacy == 1 && this.commonServices.scriptType?.toLocaleLowerCase() !== 'm' && this.commonServices.pharmacyEmail != null && this.commonServices.pharmacyEmail != "" ? this.commonServices.pharmacyEmail : this.commonServices.patientDetails.email;
|
|
20
20
|
this.commonServices.isScriptToPharmacy == 1 ? this.AddressSendToAddType = "Email" : this.AddressSendToAddType = "SMS";
|
|
21
|
+
this.scriptType = this.commonServices.scriptType?.toLocaleLowerCase();
|
|
22
|
+
this.AddressSendToAddType = this.commonServices.scriptType.toLocaleLowerCase() == 'e' ? 'SMS' : 'email';
|
|
21
23
|
}
|
|
22
24
|
ngOnInit() {
|
|
23
25
|
try {
|
|
@@ -125,10 +127,10 @@ export class ConfirmPatientContactDetailsComponent {
|
|
|
125
127
|
}
|
|
126
128
|
}
|
|
127
129
|
ConfirmPatientContactDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ConfirmPatientContactDetailsComponent, deps: [{ token: i0.ElementRef }, { token: i1.CommonServices }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
128
|
-
ConfirmPatientContactDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ConfirmPatientContactDetailsComponent, selector: "app-confirm-patient-contact-details", outputs: { closeEvent: "closeEvent", submitEvent: "submitEvent" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["rxwidgets"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"ReactModalPortal e_prescription_box\">\r\n <div class=\"ReactModal__Overlay ReactModal__Overlay--after-open open_popup\">\r\n <div class=\"ReactModal__Content ReactModal__Content--after-open popup_header e_prescription_popup_inner_box\"\r\n tabindex=\"-1\" role=\"dialog\" aria-modal=\"true\">\r\n <p class=\"rx_record_change_popup\">{{modaldata==1?'Confirm Patient Contact Details':'Cease Prescription'}}</p>\r\n <button type=\"button\" class=\"rx_record_popup_close\" (click)=\"close(1)\">X</button>\r\n <div class=\"content\">\r\n <hr class=\"m-0\">\r\n <div *ngIf=\"modaldata==1\">\r\n <div class=\"mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone new_rx_mobile_fullwidth\">\r\n <div class=\"details_width_flex\"><label class=\"label\">Send Token Via<span\r\n class=\"text_content\">*</span></label>\r\n </div>\r\n <div class=\"rx_new_popup_checkbox\">\r\n <div class=\"rx_new_radiobox_button rx-btn rx_radio_overall\">\r\n <label class=\"rx_radio_label\"><input [disabled]=\"this.commonServices.isScriptToPharmacy==1\" type=\"radio\" class=\"mdl-radio__button custom-radio-button\"\r\n name=\"AddressSendToAddType\" [value]=\"'SMS'\" (click)=\"radioChange(1)\"\r\n [checked]=\"AddressSendToAddType.toLowerCase() == 'sms'\" /><span\r\n class=\"mdl-radio__label radio_txt\">SMS</span></label>\r\n\r\n <label class=\"rx_radio_label\"><input type=\"radio\" [checked]=\"AddressSendToAddType.toLowerCase() == 'email'\"\r\n (click)=\"radioChange(2)\" class=\"mdl-radio__button d-inline radio custom-radio-button\"\r\n name=\"AddressSendToAddType\" [value]=\"'Email'\"><span class=\"mdl-radio__label radio_txt\">E-Mail</span>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"AddressSendToAddType.toLowerCase() == 'sms'\"\r\n class=\"mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone mobilenumber-input addpatient-details-col \">\r\n <div class=\"mdl-textfield mdl-js-textfield first-row-input\">\r\n <div class=\"details_width_flex\"><label for=\"mobile-number\" class=\"no_txt_clr\">Mobile\r\n Number</label></div>\r\n <div class=\"details_flag_number\">\r\n <div class=\"img-w\"><span class=\"addpatient-country-flag\"><img\r\n src=\"https://passets.hola.health/rx-widgets/rx-australia.png\"></span>\r\n </div>\r\n <div class=\"details_mobileNo_input\"><input autocomplete=\"off\" class=\"mdl-textfield__input input_textfield\" type=\"tel\"\r\n id=\"mobile-number\" (keypress)=\"checkMobile($event)\"\r\n placeholder=\"04 123 45678\" [(ngModel)]=\"MobileNo\"\r\n style=\"text-decoration: none; border-bottom: none;\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"AddressSendToAddType.toLowerCase() == 'email'\"\r\n class=\"mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone mobilenumber-input addpatient-details-col \">\r\n <div class=\"mdl-textfield mdl-js-textfield first-row-input\">\r\n <div class=\"details_width_flex\"><label for=\"mobile-number\" class=\"no_txt_clr\">Email\r\n </label></div>\r\n <div class=\"details_flag_number\">\r\n <div class=\"details_mobileNo_input\"><input autocomplete=\"off\" class=\"mdl-textfield__input input_textfield\" type=\"email\"\r\n id=\"mobile-number\"\r\n placeholder=\"text@gmail.com\" [(ngModel)]=\"Email\"\r\n style=\"text-decoration: none; border-bottom: none;\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <hr class=\"m-0\"><br>\r\n <div class=\"btn-bottom\">\r\n <div class=\"btn-outer\"><button class=\"mdl-button mdl-js-button rx_record_change_popup_cancel cancel_send\"\r\n (click)=\"close(1)\">Cancel</button>\r\n </div>\r\n <div class=\"btn-send\"><button class=\"mdl-button mdl-js-button rx_record_change_popup_submit\"\r\n (click)=\"close(2)\">Send</button>\r\n </div>\r\n <div class=\"btn-print\"><button (click)=\"close(3)\"\r\n class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--colored rx_record_change_popup_submit rx_popup_margin_mobile_top\">Send\r\n & Print</button></div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"modaldata==2\">\r\n <div class=\"mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone new_rx_mobile_fullwidth\">\r\n <span class=\"new_rx_IncludeBrand_popup_text\">The selected SCID is already dispensed to the patient. You can choose to cease the prescription to\r\n prevent future dispenses to the patient.</span>\r\n </div>\r\n <div class=\"btn-bottom\">\r\n <div class=\"btn-outer\"><button class=\"mdl-button mdl-js-button rx_record_change_popup_cancel cancel_send\"\r\n (click)=\"close(1)\">Cancel</button>\r\n <div class=\"btn-print \" style=\"margin-left: 10px;\"><button (click)=\"close(4)\"\r\n class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--colored rx_record_change_popup_submit rx_popup_margin_mobile_top\">Cease Prescription</button></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #rxwidgets> </ng-template>", styles: [".details_width_flex{width:100%;display:flex}.details_width_flex,.details_width_flex label{font-size:15px!important;font-family:Roboto Medium!important;font-weight:600}@media (min-width: 480px) and (max-width: 839px){.mdl-cell--8-col,.mdl-cell--8-col-tablet.mdl-cell--8-col-tablet{width:calc(100% - 16px)}}@media only screen and (max-width: 767px){.new_rx_mobile_fullwidth.mdl-cell{width:calc(100% - 16px)!important}}@media (min-width: 480px) and (max-width: 839px){.mdl-cell--12-col,.mdl-cell--12-col-tablet.mdl-cell--12-col-tablet{width:calc(100% - 16px)}}@media (min-width: 480px) and (max-width: 839px){.mdl-cell{margin:8px;width:calc(50% - 16px)}}.mdl-cell{box-sizing:border-box}@media only screen and (max-width: 767px){.mdl-cell{width:100%!important}}.details_flag_number{border:1.5px solid #d7d7d7;margin-top:5px;padding:6px;flex-direction:row;display:flex;border-radius:4px}div span.addpatient-country-flag img{height:100%;width:100%}.mdl-textfield{position:relative;font-size:16px;display:inline-block;box-sizing:border-box;width:300px;max-width:100%;margin:0;padding:20px 0}div.first-row-input{padding:0!important;width:100%}.details_mobileNo_input{font-size:15px!important;font-family:Roboto Medium!important}.mdl-textfield__input{border:none;border-bottom:1px solid rgba(0,0,0,.12);display:block;font-size:16px;font-family:Helvetica,Arial,sans-serif;margin:0;padding:4px 0;width:100%;background:0 0;text-align:left;color:inherit}.details_mobileNo_input input{font-size:15px!important;font-family:Roboto Medium!important;color:#5a5a5a}.mdl-textfield__input{outline:none}.details_mobileNo_input{padding-left:10px;width:100%}.mdl-button{background:0 0;border:none;border-radius:2px;color:#000;position:relative;height:36px;margin:3;min-width:64px;padding:0 16px;display:inline-block;font-family:Roboto,Helvetica,Arial,sans-serif;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:0;overflow:hidden;will-change:box-shadow;transition:box-shadow .2s cubic-bezier(.4,0,1,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);outline:none;cursor:pointer;text-decoration:none;text-align:center;line-height:36px;vertical-align:middle}.cancel_send{padding:0 27px!important}.radio_txt{vertical-align:super}.content{margin-bottom:20px;margin-top:10px}.label{color:#000}.text_content{color:red;font-size:16px}.rx-btn{padding:.375rem 0rem!important}.no_txt_clr{color:#000}.img-w{width:40px}.btn-bottom{float:right}.btn-outer,.btn-send{display:inline-block;margin-right:5px}.btn-print{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
130
|
+
ConfirmPatientContactDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ConfirmPatientContactDetailsComponent, selector: "app-confirm-patient-contact-details", outputs: { closeEvent: "closeEvent", submitEvent: "submitEvent" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["rxwidgets"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"ReactModalPortal e_prescription_box\">\r\n <div class=\"ReactModal__Overlay ReactModal__Overlay--after-open open_popup\">\r\n <div class=\"ReactModal__Content ReactModal__Content--after-open popup_header e_prescription_popup_inner_box\"\r\n tabindex=\"-1\" role=\"dialog\" aria-modal=\"true\">\r\n <p class=\"rx_record_change_popup\">{{modaldata==1?'Confirm Patient Contact Details':'Cease Prescription'}}</p>\r\n <button type=\"button\" class=\"rx_record_popup_close\" (click)=\"close(1)\">X</button>\r\n <div class=\"content\">\r\n <hr class=\"m-0\">\r\n <div *ngIf=\"modaldata==1\">\r\n <div class=\"mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone new_rx_mobile_fullwidth\">\r\n <div class=\"details_width_flex\"><label class=\"label\">Send Token Via<span\r\n class=\"text_content\">*</span></label>\r\n </div>\r\n <div class=\"rx_new_popup_checkbox\">\r\n <div class=\"rx_new_radiobox_button rx-btn rx_radio_overall\">\r\n <label class=\"rx_radio_label\" *ngIf=\"scriptType !== 'm'\"><input [disabled]=\"this.commonServices.isScriptToPharmacy==1\" type=\"radio\" class=\"mdl-radio__button custom-radio-button\"\r\n name=\"AddressSendToAddType\" [value]=\"'SMS'\" (click)=\"radioChange(1)\"\r\n [checked]=\"AddressSendToAddType.toLowerCase() == 'sms'\" /><span\r\n class=\"mdl-radio__label radio_txt\">SMS</span></label>\r\n\r\n <label class=\"rx_radio_label\"><input type=\"radio\" [checked]=\"AddressSendToAddType.toLowerCase() == 'email'\"\r\n (click)=\"radioChange(2)\" class=\"mdl-radio__button d-inline radio custom-radio-button\"\r\n name=\"AddressSendToAddType\" [value]=\"'Email'\"><span class=\"mdl-radio__label radio_txt\">E-Mail</span>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"AddressSendToAddType.toLowerCase() == 'sms'\"\r\n class=\"mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone mobilenumber-input addpatient-details-col \">\r\n <div class=\"mdl-textfield mdl-js-textfield first-row-input\">\r\n <div class=\"details_width_flex\"><label for=\"mobile-number\" class=\"no_txt_clr\">Mobile\r\n Number</label></div>\r\n <div class=\"details_flag_number\">\r\n <div class=\"img-w\"><span class=\"addpatient-country-flag\"><img\r\n src=\"https://passets.hola.health/rx-widgets/rx-australia.png\"></span>\r\n </div>\r\n <div class=\"details_mobileNo_input\"><input autocomplete=\"off\" class=\"mdl-textfield__input input_textfield\" type=\"tel\"\r\n id=\"mobile-number\" (keypress)=\"checkMobile($event)\"\r\n placeholder=\"04 123 45678\" [(ngModel)]=\"MobileNo\"\r\n style=\"text-decoration: none; border-bottom: none;\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"AddressSendToAddType.toLowerCase() == 'email'\"\r\n class=\"mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone mobilenumber-input addpatient-details-col \">\r\n <div class=\"mdl-textfield mdl-js-textfield first-row-input\">\r\n <div class=\"details_width_flex\"><label for=\"mobile-number\" class=\"no_txt_clr\">Email\r\n </label></div>\r\n <div class=\"details_flag_number\">\r\n <div class=\"details_mobileNo_input\"><input autocomplete=\"off\" class=\"mdl-textfield__input input_textfield\" type=\"email\"\r\n id=\"mobile-number\"\r\n placeholder=\"text@gmail.com\" [(ngModel)]=\"Email\"\r\n style=\"text-decoration: none; border-bottom: none;\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <hr class=\"m-0\"><br>\r\n <div class=\"btn-bottom\">\r\n <div class=\"btn-outer\"><button class=\"mdl-button mdl-js-button rx_record_change_popup_cancel cancel_send\"\r\n (click)=\"close(1)\">Cancel</button>\r\n </div>\r\n <div class=\"btn-send\"><button class=\"mdl-button mdl-js-button rx_record_change_popup_submit\"\r\n (click)=\"close(2)\">Send</button>\r\n </div>\r\n <div class=\"btn-print\" *ngIf=\"scriptType !== 'm'\"><button (click)=\"close(3)\"\r\n class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--colored rx_record_change_popup_submit rx_popup_margin_mobile_top\">Send\r\n & Print</button></div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"modaldata==2\">\r\n <div class=\"mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone new_rx_mobile_fullwidth\">\r\n <span class=\"new_rx_IncludeBrand_popup_text\">The selected SCID is already dispensed to the patient. You can choose to cease the prescription to\r\n prevent future dispenses to the patient.</span>\r\n </div>\r\n <div class=\"btn-bottom\">\r\n <div class=\"btn-outer\"><button class=\"mdl-button mdl-js-button rx_record_change_popup_cancel cancel_send\"\r\n (click)=\"close(1)\">Cancel</button>\r\n <div class=\"btn-print \" style=\"margin-left: 10px;\"><button (click)=\"close(4)\"\r\n class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--colored rx_record_change_popup_submit rx_popup_margin_mobile_top\">Cease Prescription</button></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #rxwidgets> </ng-template>", styles: [".details_width_flex{width:100%;display:flex}.details_width_flex,.details_width_flex label{font-size:15px!important;font-family:Roboto Medium!important;font-weight:600}@media (min-width: 480px) and (max-width: 839px){.mdl-cell--8-col,.mdl-cell--8-col-tablet.mdl-cell--8-col-tablet{width:calc(100% - 16px)}}@media only screen and (max-width: 767px){.new_rx_mobile_fullwidth.mdl-cell{width:calc(100% - 16px)!important}}@media (min-width: 480px) and (max-width: 839px){.mdl-cell--12-col,.mdl-cell--12-col-tablet.mdl-cell--12-col-tablet{width:calc(100% - 16px)}}@media (min-width: 480px) and (max-width: 839px){.mdl-cell{margin:8px;width:calc(50% - 16px)}}.mdl-cell{box-sizing:border-box}@media only screen and (max-width: 767px){.mdl-cell{width:100%!important}}.details_flag_number{border:1.5px solid #d7d7d7;margin-top:5px;padding:6px;flex-direction:row;display:flex;border-radius:4px}div span.addpatient-country-flag img{height:100%;width:100%}.mdl-textfield{position:relative;font-size:16px;display:inline-block;box-sizing:border-box;width:300px;max-width:100%;margin:0;padding:20px 0}div.first-row-input{padding:0!important;width:100%}.details_mobileNo_input{font-size:15px!important;font-family:Roboto Medium!important}.mdl-textfield__input{border:none;border-bottom:1px solid rgba(0,0,0,.12);display:block;font-size:16px;font-family:Helvetica,Arial,sans-serif;margin:0;padding:4px 0;width:100%;background:0 0;text-align:left;color:inherit}.details_mobileNo_input input{font-size:15px!important;font-family:Roboto Medium!important;color:#5a5a5a}.mdl-textfield__input{outline:none}.details_mobileNo_input{padding-left:10px;width:100%}.mdl-button{background:0 0;border:none;border-radius:2px;color:#000;position:relative;height:36px;margin:3;min-width:64px;padding:0 16px;display:inline-block;font-family:Roboto,Helvetica,Arial,sans-serif;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:0;overflow:hidden;will-change:box-shadow;transition:box-shadow .2s cubic-bezier(.4,0,1,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);outline:none;cursor:pointer;text-decoration:none;text-align:center;line-height:36px;vertical-align:middle}.cancel_send{padding:0 27px!important}.radio_txt{vertical-align:super}.content{margin-bottom:20px;margin-top:10px}.label{color:#000}.text_content{color:red;font-size:16px}.rx-btn{padding:.375rem 0rem!important}.no_txt_clr{color:#000}.img-w{width:40px}.btn-bottom{float:right}.btn-outer,.btn-send{display:inline-block;margin-right:5px}.btn-print{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
129
131
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ConfirmPatientContactDetailsComponent, decorators: [{
|
|
130
132
|
type: Component,
|
|
131
|
-
args: [{ selector: 'app-confirm-patient-contact-details', template: "<div class=\"ReactModalPortal e_prescription_box\">\r\n <div class=\"ReactModal__Overlay ReactModal__Overlay--after-open open_popup\">\r\n <div class=\"ReactModal__Content ReactModal__Content--after-open popup_header e_prescription_popup_inner_box\"\r\n tabindex=\"-1\" role=\"dialog\" aria-modal=\"true\">\r\n <p class=\"rx_record_change_popup\">{{modaldata==1?'Confirm Patient Contact Details':'Cease Prescription'}}</p>\r\n <button type=\"button\" class=\"rx_record_popup_close\" (click)=\"close(1)\">X</button>\r\n <div class=\"content\">\r\n <hr class=\"m-0\">\r\n <div *ngIf=\"modaldata==1\">\r\n <div class=\"mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone new_rx_mobile_fullwidth\">\r\n <div class=\"details_width_flex\"><label class=\"label\">Send Token Via<span\r\n class=\"text_content\">*</span></label>\r\n </div>\r\n <div class=\"rx_new_popup_checkbox\">\r\n <div class=\"rx_new_radiobox_button rx-btn rx_radio_overall\">\r\n <label class=\"rx_radio_label\"><input [disabled]=\"this.commonServices.isScriptToPharmacy==1\" type=\"radio\" class=\"mdl-radio__button custom-radio-button\"\r\n name=\"AddressSendToAddType\" [value]=\"'SMS'\" (click)=\"radioChange(1)\"\r\n [checked]=\"AddressSendToAddType.toLowerCase() == 'sms'\" /><span\r\n class=\"mdl-radio__label radio_txt\">SMS</span></label>\r\n\r\n <label class=\"rx_radio_label\"><input type=\"radio\" [checked]=\"AddressSendToAddType.toLowerCase() == 'email'\"\r\n (click)=\"radioChange(2)\" class=\"mdl-radio__button d-inline radio custom-radio-button\"\r\n name=\"AddressSendToAddType\" [value]=\"'Email'\"><span class=\"mdl-radio__label radio_txt\">E-Mail</span>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"AddressSendToAddType.toLowerCase() == 'sms'\"\r\n class=\"mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone mobilenumber-input addpatient-details-col \">\r\n <div class=\"mdl-textfield mdl-js-textfield first-row-input\">\r\n <div class=\"details_width_flex\"><label for=\"mobile-number\" class=\"no_txt_clr\">Mobile\r\n Number</label></div>\r\n <div class=\"details_flag_number\">\r\n <div class=\"img-w\"><span class=\"addpatient-country-flag\"><img\r\n src=\"https://passets.hola.health/rx-widgets/rx-australia.png\"></span>\r\n </div>\r\n <div class=\"details_mobileNo_input\"><input autocomplete=\"off\" class=\"mdl-textfield__input input_textfield\" type=\"tel\"\r\n id=\"mobile-number\" (keypress)=\"checkMobile($event)\"\r\n placeholder=\"04 123 45678\" [(ngModel)]=\"MobileNo\"\r\n style=\"text-decoration: none; border-bottom: none;\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"AddressSendToAddType.toLowerCase() == 'email'\"\r\n class=\"mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone mobilenumber-input addpatient-details-col \">\r\n <div class=\"mdl-textfield mdl-js-textfield first-row-input\">\r\n <div class=\"details_width_flex\"><label for=\"mobile-number\" class=\"no_txt_clr\">Email\r\n </label></div>\r\n <div class=\"details_flag_number\">\r\n <div class=\"details_mobileNo_input\"><input autocomplete=\"off\" class=\"mdl-textfield__input input_textfield\" type=\"email\"\r\n id=\"mobile-number\"\r\n placeholder=\"text@gmail.com\" [(ngModel)]=\"Email\"\r\n style=\"text-decoration: none; border-bottom: none;\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <hr class=\"m-0\"><br>\r\n <div class=\"btn-bottom\">\r\n <div class=\"btn-outer\"><button class=\"mdl-button mdl-js-button rx_record_change_popup_cancel cancel_send\"\r\n (click)=\"close(1)\">Cancel</button>\r\n </div>\r\n <div class=\"btn-send\"><button class=\"mdl-button mdl-js-button rx_record_change_popup_submit\"\r\n (click)=\"close(2)\">Send</button>\r\n </div>\r\n <div class=\"btn-print\"><button (click)=\"close(3)\"\r\n class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--colored rx_record_change_popup_submit rx_popup_margin_mobile_top\">Send\r\n & Print</button></div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"modaldata==2\">\r\n <div class=\"mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone new_rx_mobile_fullwidth\">\r\n <span class=\"new_rx_IncludeBrand_popup_text\">The selected SCID is already dispensed to the patient. You can choose to cease the prescription to\r\n prevent future dispenses to the patient.</span>\r\n </div>\r\n <div class=\"btn-bottom\">\r\n <div class=\"btn-outer\"><button class=\"mdl-button mdl-js-button rx_record_change_popup_cancel cancel_send\"\r\n (click)=\"close(1)\">Cancel</button>\r\n <div class=\"btn-print \" style=\"margin-left: 10px;\"><button (click)=\"close(4)\"\r\n class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--colored rx_record_change_popup_submit rx_popup_margin_mobile_top\">Cease Prescription</button></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #rxwidgets> </ng-template>", styles: [".details_width_flex{width:100%;display:flex}.details_width_flex,.details_width_flex label{font-size:15px!important;font-family:Roboto Medium!important;font-weight:600}@media (min-width: 480px) and (max-width: 839px){.mdl-cell--8-col,.mdl-cell--8-col-tablet.mdl-cell--8-col-tablet{width:calc(100% - 16px)}}@media only screen and (max-width: 767px){.new_rx_mobile_fullwidth.mdl-cell{width:calc(100% - 16px)!important}}@media (min-width: 480px) and (max-width: 839px){.mdl-cell--12-col,.mdl-cell--12-col-tablet.mdl-cell--12-col-tablet{width:calc(100% - 16px)}}@media (min-width: 480px) and (max-width: 839px){.mdl-cell{margin:8px;width:calc(50% - 16px)}}.mdl-cell{box-sizing:border-box}@media only screen and (max-width: 767px){.mdl-cell{width:100%!important}}.details_flag_number{border:1.5px solid #d7d7d7;margin-top:5px;padding:6px;flex-direction:row;display:flex;border-radius:4px}div span.addpatient-country-flag img{height:100%;width:100%}.mdl-textfield{position:relative;font-size:16px;display:inline-block;box-sizing:border-box;width:300px;max-width:100%;margin:0;padding:20px 0}div.first-row-input{padding:0!important;width:100%}.details_mobileNo_input{font-size:15px!important;font-family:Roboto Medium!important}.mdl-textfield__input{border:none;border-bottom:1px solid rgba(0,0,0,.12);display:block;font-size:16px;font-family:Helvetica,Arial,sans-serif;margin:0;padding:4px 0;width:100%;background:0 0;text-align:left;color:inherit}.details_mobileNo_input input{font-size:15px!important;font-family:Roboto Medium!important;color:#5a5a5a}.mdl-textfield__input{outline:none}.details_mobileNo_input{padding-left:10px;width:100%}.mdl-button{background:0 0;border:none;border-radius:2px;color:#000;position:relative;height:36px;margin:3;min-width:64px;padding:0 16px;display:inline-block;font-family:Roboto,Helvetica,Arial,sans-serif;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:0;overflow:hidden;will-change:box-shadow;transition:box-shadow .2s cubic-bezier(.4,0,1,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);outline:none;cursor:pointer;text-decoration:none;text-align:center;line-height:36px;vertical-align:middle}.cancel_send{padding:0 27px!important}.radio_txt{vertical-align:super}.content{margin-bottom:20px;margin-top:10px}.label{color:#000}.text_content{color:red;font-size:16px}.rx-btn{padding:.375rem 0rem!important}.no_txt_clr{color:#000}.img-w{width:40px}.btn-bottom{float:right}.btn-outer,.btn-send{display:inline-block;margin-right:5px}.btn-print{display:inline-block}\n"] }]
|
|
133
|
+
args: [{ selector: 'app-confirm-patient-contact-details', template: "<div class=\"ReactModalPortal e_prescription_box\">\r\n <div class=\"ReactModal__Overlay ReactModal__Overlay--after-open open_popup\">\r\n <div class=\"ReactModal__Content ReactModal__Content--after-open popup_header e_prescription_popup_inner_box\"\r\n tabindex=\"-1\" role=\"dialog\" aria-modal=\"true\">\r\n <p class=\"rx_record_change_popup\">{{modaldata==1?'Confirm Patient Contact Details':'Cease Prescription'}}</p>\r\n <button type=\"button\" class=\"rx_record_popup_close\" (click)=\"close(1)\">X</button>\r\n <div class=\"content\">\r\n <hr class=\"m-0\">\r\n <div *ngIf=\"modaldata==1\">\r\n <div class=\"mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone new_rx_mobile_fullwidth\">\r\n <div class=\"details_width_flex\"><label class=\"label\">Send Token Via<span\r\n class=\"text_content\">*</span></label>\r\n </div>\r\n <div class=\"rx_new_popup_checkbox\">\r\n <div class=\"rx_new_radiobox_button rx-btn rx_radio_overall\">\r\n <label class=\"rx_radio_label\" *ngIf=\"scriptType !== 'm'\"><input [disabled]=\"this.commonServices.isScriptToPharmacy==1\" type=\"radio\" class=\"mdl-radio__button custom-radio-button\"\r\n name=\"AddressSendToAddType\" [value]=\"'SMS'\" (click)=\"radioChange(1)\"\r\n [checked]=\"AddressSendToAddType.toLowerCase() == 'sms'\" /><span\r\n class=\"mdl-radio__label radio_txt\">SMS</span></label>\r\n\r\n <label class=\"rx_radio_label\"><input type=\"radio\" [checked]=\"AddressSendToAddType.toLowerCase() == 'email'\"\r\n (click)=\"radioChange(2)\" class=\"mdl-radio__button d-inline radio custom-radio-button\"\r\n name=\"AddressSendToAddType\" [value]=\"'Email'\"><span class=\"mdl-radio__label radio_txt\">E-Mail</span>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"AddressSendToAddType.toLowerCase() == 'sms'\"\r\n class=\"mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone mobilenumber-input addpatient-details-col \">\r\n <div class=\"mdl-textfield mdl-js-textfield first-row-input\">\r\n <div class=\"details_width_flex\"><label for=\"mobile-number\" class=\"no_txt_clr\">Mobile\r\n Number</label></div>\r\n <div class=\"details_flag_number\">\r\n <div class=\"img-w\"><span class=\"addpatient-country-flag\"><img\r\n src=\"https://passets.hola.health/rx-widgets/rx-australia.png\"></span>\r\n </div>\r\n <div class=\"details_mobileNo_input\"><input autocomplete=\"off\" class=\"mdl-textfield__input input_textfield\" type=\"tel\"\r\n id=\"mobile-number\" (keypress)=\"checkMobile($event)\"\r\n placeholder=\"04 123 45678\" [(ngModel)]=\"MobileNo\"\r\n style=\"text-decoration: none; border-bottom: none;\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"AddressSendToAddType.toLowerCase() == 'email'\"\r\n class=\"mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone mobilenumber-input addpatient-details-col \">\r\n <div class=\"mdl-textfield mdl-js-textfield first-row-input\">\r\n <div class=\"details_width_flex\"><label for=\"mobile-number\" class=\"no_txt_clr\">Email\r\n </label></div>\r\n <div class=\"details_flag_number\">\r\n <div class=\"details_mobileNo_input\"><input autocomplete=\"off\" class=\"mdl-textfield__input input_textfield\" type=\"email\"\r\n id=\"mobile-number\"\r\n placeholder=\"text@gmail.com\" [(ngModel)]=\"Email\"\r\n style=\"text-decoration: none; border-bottom: none;\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n <hr class=\"m-0\"><br>\r\n <div class=\"btn-bottom\">\r\n <div class=\"btn-outer\"><button class=\"mdl-button mdl-js-button rx_record_change_popup_cancel cancel_send\"\r\n (click)=\"close(1)\">Cancel</button>\r\n </div>\r\n <div class=\"btn-send\"><button class=\"mdl-button mdl-js-button rx_record_change_popup_submit\"\r\n (click)=\"close(2)\">Send</button>\r\n </div>\r\n <div class=\"btn-print\" *ngIf=\"scriptType !== 'm'\"><button (click)=\"close(3)\"\r\n class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--colored rx_record_change_popup_submit rx_popup_margin_mobile_top\">Send\r\n & Print</button></div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"modaldata==2\">\r\n <div class=\"mdl-cell mdl-cell--12-col mdl-cell--8-col-tablet mdl-cell--4-col-phone new_rx_mobile_fullwidth\">\r\n <span class=\"new_rx_IncludeBrand_popup_text\">The selected SCID is already dispensed to the patient. You can choose to cease the prescription to\r\n prevent future dispenses to the patient.</span>\r\n </div>\r\n <div class=\"btn-bottom\">\r\n <div class=\"btn-outer\"><button class=\"mdl-button mdl-js-button rx_record_change_popup_cancel cancel_send\"\r\n (click)=\"close(1)\">Cancel</button>\r\n <div class=\"btn-print \" style=\"margin-left: 10px;\"><button (click)=\"close(4)\"\r\n class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--colored rx_record_change_popup_submit rx_popup_margin_mobile_top\">Cease Prescription</button></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #rxwidgets> </ng-template>", styles: [".details_width_flex{width:100%;display:flex}.details_width_flex,.details_width_flex label{font-size:15px!important;font-family:Roboto Medium!important;font-weight:600}@media (min-width: 480px) and (max-width: 839px){.mdl-cell--8-col,.mdl-cell--8-col-tablet.mdl-cell--8-col-tablet{width:calc(100% - 16px)}}@media only screen and (max-width: 767px){.new_rx_mobile_fullwidth.mdl-cell{width:calc(100% - 16px)!important}}@media (min-width: 480px) and (max-width: 839px){.mdl-cell--12-col,.mdl-cell--12-col-tablet.mdl-cell--12-col-tablet{width:calc(100% - 16px)}}@media (min-width: 480px) and (max-width: 839px){.mdl-cell{margin:8px;width:calc(50% - 16px)}}.mdl-cell{box-sizing:border-box}@media only screen and (max-width: 767px){.mdl-cell{width:100%!important}}.details_flag_number{border:1.5px solid #d7d7d7;margin-top:5px;padding:6px;flex-direction:row;display:flex;border-radius:4px}div span.addpatient-country-flag img{height:100%;width:100%}.mdl-textfield{position:relative;font-size:16px;display:inline-block;box-sizing:border-box;width:300px;max-width:100%;margin:0;padding:20px 0}div.first-row-input{padding:0!important;width:100%}.details_mobileNo_input{font-size:15px!important;font-family:Roboto Medium!important}.mdl-textfield__input{border:none;border-bottom:1px solid rgba(0,0,0,.12);display:block;font-size:16px;font-family:Helvetica,Arial,sans-serif;margin:0;padding:4px 0;width:100%;background:0 0;text-align:left;color:inherit}.details_mobileNo_input input{font-size:15px!important;font-family:Roboto Medium!important;color:#5a5a5a}.mdl-textfield__input{outline:none}.details_mobileNo_input{padding-left:10px;width:100%}.mdl-button{background:0 0;border:none;border-radius:2px;color:#000;position:relative;height:36px;margin:3;min-width:64px;padding:0 16px;display:inline-block;font-family:Roboto,Helvetica,Arial,sans-serif;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:0;overflow:hidden;will-change:box-shadow;transition:box-shadow .2s cubic-bezier(.4,0,1,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);outline:none;cursor:pointer;text-decoration:none;text-align:center;line-height:36px;vertical-align:middle}.cancel_send{padding:0 27px!important}.radio_txt{vertical-align:super}.content{margin-bottom:20px;margin-top:10px}.label{color:#000}.text_content{color:red;font-size:16px}.rx-btn{padding:.375rem 0rem!important}.no_txt_clr{color:#000}.img-w{width:40px}.btn-bottom{float:right}.btn-outer,.btn-send{display:inline-block;margin-right:5px}.btn-print{display:inline-block}\n"] }]
|
|
132
134
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.CommonServices }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { closeEvent: [{
|
|
133
135
|
type: Output
|
|
134
136
|
}], submitEvent: [{
|
|
@@ -137,4 +139,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
137
139
|
type: ViewChild,
|
|
138
140
|
args: ['rxwidgets', { static: true }]
|
|
139
141
|
}] } });
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1wYXRpZW50LWNvbnRhY3QtZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ob2xhLXJ4L3NyYy9saWIvY29uZmlybS1wYXRpZW50LWNvbnRhY3QtZGV0YWlscy9jb25maXJtLXBhdGllbnQtY29udGFjdC1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2hvbGEtcngvc3JjL2xpYi9jb25maXJtLXBhdGllbnQtY29udGFjdC1kZXRhaWxzL2NvbmZpcm0tcGF0aWVudC1jb250YWN0LWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXJELE9BQU8sRUFBcUIsU0FBUyxFQUFjLFlBQVksRUFBVSxNQUFNLEVBQWUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQU8vSCxNQUFNLE9BQU8scUNBQXFDO0lBV2hELFlBQW9CLFVBQXNCLEVBQVMsY0FBOEIsRUFBVSxZQUErQjtRQUF0RyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBVmhILGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUzQyx5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDN0IsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFHZixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUdqQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQztRQUN6RCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxj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LEdBQUcsQ0FBQyxPQUFPLENBQUM7WUFDckQsSUFBSSxRQUFRLEdBQUcsRUFBRSxJQUFJLFFBQVEsR0FBRyxFQUFFO2dCQUNoQyxPQUFPLEtBQUssQ0FBQztZQUNmLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLEVBQU8sRUFBRTtZQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsdUNBQXVDLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDckgsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7O2tJQXZIVSxxQ0FBcUM7c0hBQXJDLHFDQUFxQyxrUUNUbEQsNHhMQXdGeUM7MkZEL0U1QixxQ0FBcUM7a0JBTGpELFNBQVM7K0JBQ0UscUNBQXFDOzhKQUtyQyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ21DLE9BQU87c0JBQWhELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVycm9yY29uZmlnIH0gZnJvbSAnLi4vZW52aXJvbm1lbnRzL2NvbmZpZyc7XHJcbmltcG9ydCB7IENvbW1vblNlcnZpY2VzIH0gZnJvbSAnLi4vc2VydmljZXMvY29tbW9uJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtY29uZmlybS1wYXRpZW50LWNvbnRhY3QtZGV0YWlscycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpcm0tcGF0aWVudC1jb250YWN0LWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvbmZpcm0tcGF0aWVudC1jb250YWN0LWRldGFpbHMuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb25maXJtUGF0aWVudENvbnRhY3REZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAT3V0cHV0KCkgY2xvc2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgc3VibWl0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQFZpZXdDaGlsZCgncnh3aWRnZXRzJywgeyBzdGF0aWM6IHRydWUgfSkgY29udGVudCE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQWRkcmVzc1NlbmRUb0FkZFR5cGUgPSBcIlNNU1wiO1xyXG4gIHJ4bnVtYmVyID0gXCJcIjtcclxuICByeGVtYWlsSWQgPSBcIlwiO1xyXG4gIE1vYmlsZU5vOiBhbnk7XHJcbiAgRW1haWw6IGFueTtcclxuICByeEVtYWlsRmxhZyA9IHRydWU7XHJcbiAgbW9kYWxkYXRhOiBhbnk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwdWJsaWMgY29tbW9uU2VydmljZXM6IENvbW1vblNlcnZpY2VzLCBwcml2YXRlIGNoYW5nZWRldGVjdDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgIHRoaXMuTW9iaWxlTm8gPSB0aGlzLmNvbW1vblNlcnZpY2VzLnBhdGllbnREZXRhaWxzLnBob25lO1xyXG4gICAgdGhpcy5FbWFpbCA9IHRoaXMuY29tbW9uU2VydmljZXMuaXNTY3JpcHRUb1BoYXJtYWN5ID09IDEgJiYgdGhpcy5jb21tb25TZXJ2aWNlcy5waGFybWFjeUVtYWlsICE9IG51bGwgJiYgdGhpcy5jb21tb25TZXJ2aWNlcy5waGFybWFjeUVtYWlsICE9IFwiXCI/IHRoaXMuY29tbW9uU2VydmljZXMucGhhcm1hY3lFbWFpbCA6IHRoaXMuY29tbW9uU2VydmljZXMucGF0aWVudERldGFpbHMuZW1haWw7XHJcbiAgICB0aGlzLmNvbW1vblNlcnZpY2VzLmlzU2NyaXB0VG9QaGFybWFjeSA9PSAxID8gdGhpcy5BZGRyZXNzU2VuZFRvQWRkVHlwZSA9IFwiRW1haWxcIiA6IHRoaXMuQWRkcmVzc1NlbmRUb0FkZFR5cGUgPSBcIlNNU1wiXHJcbiAgfVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWVwcmVzY3JpcHRpb25fcG9wdXBfd2lkdGgnLCAnNDUwcHgnKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChleDogYW55KSB7XHJcbiAgICAgIHRoaXMuY29tbW9uU2VydmljZXMuc2V0bG9ndmFsdWUoZmFsc2UsIGV4Lm1lc3NhZ2UsIGV4LnN0YWNrLCBcIkNvbmZpcm1QYXRpZW50Q29udGFjdERldGFpbHNDb21wb25lbnRcIiwgXCJuZ09uSW5pdFwiKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NlKGluZGV4OiBhbnkpOiBhbnkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgdmFyIHNjaGVkdWxlTnVtYmVyID0gdGhpcy5jb21tb25TZXJ2aWNlcy5nZXRTY2hlZHVsZU51bWJlcih0aGlzLmNvbW1vblNlcnZpY2VzLnNlbGVjdGVkRm9ybXVsYXRpb24pO1xyXG4gICAgICBpZiAoaW5kZXggPT0gMiB8fCBpbmRleCA9PSAzKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuQWRkcmVzc1NlbmRUb0FkZFR5cGUudG9Mb3dlckNhc2UoKSA9PSBcInNtc1wiKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5jb21tb25TZXJ2aWNlcy5Jc051bGxPckVtcHR5KHRoaXMuTW9iaWxlTm8udHJpbSgpKSkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnRvYXN0b3BlbihlcnJvcmNvbmZpZy5lcnJvcl81Ny5tZXNzYWdlLCBcImVycm9yXCIsIGVycm9yY29uZmlnLmVycm9yXzU3LmNvZGUpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLmVycm9yUmVzcG9uc2UoZXJyb3Jjb25maWcuZXJyb3JfNTcuY29kZSwgZXJyb3Jjb25maWcuZXJyb3JfNTcubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHZhciB2YWxpZGJ5ID0gdGhpcy5jb21tb25TZXJ2aWNlcy52YWxpZEJ5TW9iaWxlTm8odGhpcy5Nb2JpbGVOby50cmltKCkpO1xyXG4gICAgICAgICAgaWYgKHZhbGlkYnkgPT0gMSkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnRvYXN0b3BlbihlcnJvcmNvbmZpZy5lcnJvcl81Ny5tZXNzYWdlLCBcImVycm9yXCIsIGVycm9yY29uZmlnLmVycm9yXzU3LmNvZGUpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLmVycm9yUmVzcG9uc2UoZXJyb3Jjb25maWcuZXJyb3JfNTcuY29kZSwgZXJyb3Jjb25maWcuZXJyb3JfNTcubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh2YWxpZGJ5ID09IDMpIHtcclxuICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy50b2FzdG9wZW4oZXJyb3Jjb25maWcuZXJyb3JfNTgubWVzc2FnZSwgXCJlcnJvclwiLCBlcnJvcmNvbmZpZy5lcnJvcl81OC5jb2RlKTtcclxuICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5lcnJvclJlc3BvbnNlKGVycm9yY29uZmlnLmVycm9yXzU4LmNvZGUsIGVycm9yY29uZmlnLmVycm9yXzU4Lm1lc3NhZ2UpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodmFsaWRieSA9PSAyKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLk1vYmlsZU5vLmNoYXJBdCgwKSAhPSAnMCcpIHsgdGhpcy5Nb2JpbGVObyA9IFwiMFwiICsgdGhpcy5Nb2JpbGVObzsgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy50b2FzdG9wZW4oZXJyb3Jjb25maWcuZXJyb3JfNTgubWVzc2FnZSwgXCJlcnJvclwiLCBlcnJvcmNvbmZpZy5lcnJvcl81OC5jb2RlKTtcclxuICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5lcnJvclJlc3BvbnNlKGVycm9yY29uZmlnLmVycm9yXzU4LmNvZGUsIGVycm9yY29uZmlnLmVycm9yXzU4Lm1lc3NhZ2UpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLkVtYWlsID0gXCJcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuQWRkcmVzc1NlbmRUb0FkZFR5cGUudG9Mb3dlckNhc2UoKSA9PSBcImVtYWlsXCIpIHtcclxuICAgICAgICAgIGlmICh0aGlzLmNvbW1vblNlcnZpY2VzLklzTnVsbE9yRW1wdHkodGhpcy5FbWFpbC50cmltKCkpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29tbW9uU2VydmljZXMudG9hc3RvcGVuKGVycm9yY29uZmlnLmVycm9yXzU5Lm1lc3NhZ2UsIFwiZXJyb3JcIiwgZXJyb3Jjb25maWcuZXJyb3JfNTkuY29kZSk7XHJcbiAgICAgICAgICAgIHRoaXMuY29tbW9uU2VydmljZXMuZXJyb3JSZXNwb25zZShlcnJvcmNvbmZpZy5lcnJvcl81OS5jb2RlLCBlcnJvcmNvbmZpZy5lcnJvcl81OS5tZXNzYWdlKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKCF0aGlzLmNvbW1vblNlcnZpY2VzLnZhbGlkQnlFbWFpbE5vKHRoaXMuRW1haWwudHJpbSgpKSkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnRvYXN0b3BlbihlcnJvcmNvbmZpZy5lcnJvcl82MC5tZXNzYWdlLCBcImVycm9yXCIsIGVycm9yY29uZmlnLmVycm9yXzYwLmNvZGUpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLmVycm9yUmVzcG9uc2UoZXJyb3Jjb25maWcuZXJyb3JfNjAuY29kZSwgZXJyb3Jjb25maWcuZXJyb3JfNjAubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuTW9iaWxlTm8gPSBcIlwiO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoaW5kZXggPT0gMikge1xyXG4gICAgICAgIHZhciBpc1ByaW50QXZhaWxhYmxlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jbG9zZUV2ZW50LmVtaXQoeyBzY2hlZHVsZU51bWJlcjogc2NoZWR1bGVOdW1iZXIsIGlzUHJpbnRBdmFpbGFibGU6IGlzUHJpbnRBdmFpbGFibGUsIEFkZHJlc3NTZW5kVG9BZGRUeXBlOiB0aGlzLkFkZHJlc3NTZW5kVG9BZGRUeXBlLCByeG51bWJlcjogdGhpcy5Nb2JpbGVOby50cmltKCksIHJ4ZW1haWxJZDogdGhpcy5FbWFpbC50cmltKCkgfSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAoaW5kZXggPT0gMykge1xyXG4gICAgICAgIHZhciBpc1ByaW50QXZhaWxhYmxlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmNsb3NlRXZlbnQuZW1pdCh7IHNjaGVkdWxlTnVtYmVyOiBzY2hlZHVsZU51bWJlciwgaXNQcmludEF2YWlsYWJsZTogaXNQcmludEF2YWlsYWJsZSwgQWRkcmVzc1NlbmRUb0FkZFR5cGU6IHRoaXMuQWRkcmVzc1NlbmRUb0FkZFR5cGUsIHJ4bnVtYmVyOiB0aGlzLk1vYmlsZU5vLnRyaW0oKSwgcnhlbWFpbElkOiB0aGlzLkVtYWlsLnRyaW0oKSB9KTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChpbmRleCA9PSA0KSB7XHJcbiAgICAgICAgdGhpcy5jbG9zZUV2ZW50LmVtaXQoeyBmbGFnOiB0cnVlIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGluZGV4ID09IDEpIHtcclxuICAgICAgICB0aGlzLmNsb3NlRXZlbnQuZW1pdChudWxsKTtcclxuICAgICAgICB0aGlzLkFkZHJlc3NTZW5kVG9BZGRUeXBlID0gXCJcIjtcclxuICAgICAgICB0aGlzLnJ4bnVtYmVyID0gXCJcIjtcclxuICAgICAgICB0aGlzLnJ4ZW1haWxJZCA9IFwiXCI7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlKCk7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXg6IGFueSkge1xyXG4gICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnNldGxvZ3ZhbHVlKGZhbHNlLCBleC5tZXNzYWdlLCBleC5zdGFjaywgXCJDb25maXJtUGF0aWVudENvbnRhY3REZXRhaWxzQ29tcG9uZW50XCIsIFwiY2xvc2VcIik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByYWRpb0NoYW5nZShpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAoaW5kZXggPT0gMSkge1xyXG4gICAgICAgIHRoaXMuQWRkcmVzc1NlbmRUb0FkZFR5cGUgPSBcIlNNU1wiXHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5BZGRyZXNzU2VuZFRvQWRkVHlwZSA9IFwiRW1haWxcIlxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2hhbmdlZGV0ZWN0LmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChleDogYW55KSB7XHJcbiAgICAgIHRoaXMuY29tbW9uU2VydmljZXMuc2V0bG9ndmFsdWUoZmFsc2UsIGV4Lm1lc3NhZ2UsIGV4LnN0YWNrLCBcIkNvbmZpcm1QYXRpZW50Q29udGFjdERldGFpbHNDb21wb25lbnRcIiwgXCJyYWRpb0NoYW5nZVwiKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNoZWNrTW9iaWxlKGV2dDogYW55KTogYW55IHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHZhciBjaGFyQ29kZSA9IChldnQud2hpY2gpID8gZXZ0LndoaWNoIDogZXZ0LmtleUNvZGU7XHJcbiAgICAgIGlmIChjaGFyQ29kZSA8IDQ4IHx8IGNoYXJDb2RlID4gNTcpXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGNhdGNoIChleDogYW55KSB7XHJcbiAgICAgIHRoaXMuY29tbW9uU2VydmljZXMuc2V0bG9ndmFsdWUoZmFsc2UsIGV4Lm1lc3NhZ2UsIGV4LnN0YWNrLCBcIkNvbmZpcm1QYXRpZW50Q29udGFjdERldGFpbHNDb21wb25lbnRcIiwgXCJjaGVja01vYmlsZVwiKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiUmVhY3RNb2RhbFBvcnRhbCBlX3ByZXNjcmlwdGlvbl9ib3hcIj5cclxuICA8ZGl2IGNsYXNzPVwiUmVhY3RNb2RhbF9fT3ZlcmxheSBSZWFjdE1vZGFsX19PdmVybGF5LS1hZnRlci1vcGVuIG9wZW5fcG9wdXBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJSZWFjdE1vZGFsX19Db250ZW50IFJlYWN0TW9kYWxfX0NvbnRlbnQtLWFmdGVyLW9wZW4gcG9wdXBfaGVhZGVyIGVfcHJlc2NyaXB0aW9uX3BvcHVwX2lubmVyX2JveFwiXHJcbiAgICAgIHRhYmluZGV4PVwiLTFcIiByb2xlPVwiZGlhbG9nXCIgYXJpYS1tb2RhbD1cInRydWVcIj5cclxuICAgICAgPHAgY2xhc3M9XCJyeF9yZWNvcmRfY2hhbmdlX3BvcHVwXCI+e3ttb2RhbGRhdGE9PTE/J0NvbmZpcm0gUGF0aWVudCBDb250YWN0IERldGFpbHMnOidDZWFzZSBQcmVzY3JpcHRpb24nfX08L3A+XHJcbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwicnhfcmVjb3JkX3BvcHVwX2Nsb3NlXCIgKGNsaWNrKT1cImNsb3NlKDEpXCI+WDwvYnV0dG9uPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxyXG4gICAgICAgIDxociBjbGFzcz1cIm0tMFwiPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJtb2RhbGRhdGE9PTFcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZGwtY2VsbCBtZGwtY2VsbC0tMTItY29sIG1kbC1jZWxsLS04LWNvbC10YWJsZXQgbWRsLWNlbGwtLTQtY29sLXBob25lICBuZXdfcnhfbW9iaWxlX2Z1bGx3aWR0aFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc193aWR0aF9mbGV4XCI+PGxhYmVsIGNsYXNzPVwibGFiZWxcIj5TZW5kIFRva2VuIFZpYTxzcGFuXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dF9jb250ZW50XCI+Kjwvc3Bhbj48L2xhYmVsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJ4X25ld19wb3B1cF9jaGVja2JveFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyeF9uZXdfcmFkaW9ib3hfYnV0dG9uIHJ4LWJ0biByeF9yYWRpb19vdmVyYWxsXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJyeF9yYWRpb19sYWJlbFwiPjxpbnB1dCBbZGlzYWJsZWRdPVwidGhpcy5jb21tb25TZXJ2aWNlcy5pc1NjcmlwdFRvUGhhcm1hY3k9PTFcIiB0eXBlPVwicmFkaW9cIiBjbGFzcz1cIm1kbC1yYWRpb19fYnV0dG9uIGN1c3RvbS1yYWRpby1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJBZGRyZXNzU2VuZFRvQWRkVHlwZVwiIFt2YWx1ZV09XCInU01TJ1wiIChjbGljayk9XCJyYWRpb0NoYW5nZSgxKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiQWRkcmVzc1NlbmRUb0FkZFR5cGUudG9Mb3dlckNhc2UoKSA9PSAnc21zJ1wiIC8+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1kbC1yYWRpb19fbGFiZWwgcmFkaW9fdHh0XCI+U01TPC9zcGFuPjwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwicnhfcmFkaW9fbGFiZWxcIj48aW5wdXQgdHlwZT1cInJhZGlvXCIgW2NoZWNrZWRdPVwiQWRkcmVzc1NlbmRUb0FkZFR5cGUudG9Mb3dlckNhc2UoKSA9PSAnZW1haWwnXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmFkaW9DaGFuZ2UoMilcIiBjbGFzcz1cIm1kbC1yYWRpb19fYnV0dG9uIGQtaW5saW5lIHJhZGlvIGN1c3RvbS1yYWRpby1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJBZGRyZXNzU2VuZFRvQWRkVHlwZVwiIFt2YWx1ZV09XCInRW1haWwnXCI+PHNwYW4gY2xhc3M9XCJtZGwtcmFkaW9fX2xhYmVsIHJhZGlvX3R4dFwiPkUtTWFpbDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiQWRkcmVzc1NlbmRUb0FkZFR5cGUudG9Mb3dlckNhc2UoKSA9PSAnc21zJ1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwibWRsLWNlbGwgbWRsLWNlbGwtLTEyLWNvbCBtZGwtY2VsbC0tOC1jb2wtdGFibGV0IG1kbC1jZWxsLS00LWNvbC1waG9uZSBtb2JpbGVudW1iZXItaW5wdXQgYWRkcGF0aWVudC1kZXRhaWxzLWNvbCBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1kbC10ZXh0ZmllbGQgbWRsLWpzLXRleHRmaWVsZCBmaXJzdC1yb3ctaW5wdXRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc193aWR0aF9mbGV4XCI+PGxhYmVsIGZvcj1cIm1vYmlsZS1udW1iZXJcIiBjbGFzcz1cIm5vX3R4dF9jbHJcIj5Nb2JpbGVcclxuICAgICAgICAgICAgICAgICAgTnVtYmVyPC9sYWJlbD48L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc19mbGFnX251bWJlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltZy13XCI+PHNwYW4gY2xhc3M9XCJhZGRwYXRpZW50LWNvdW50cnktZmxhZ1wiPjxpbWdcclxuICAgICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vcGFzc2V0cy5ob2xhLmhlYWx0aC9yeC13aWRnZXRzL3J4LWF1c3RyYWxpYS5wbmdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzX21vYmlsZU5vX2lucHV0XCI+PGlucHV0IGF1dG9jb21wbGV0ZT1cIm9mZlwiIGNsYXNzPVwibWRsLXRleHRmaWVsZF9faW5wdXQgaW5wdXRfdGV4dGZpZWxkXCIgdHlwZT1cInRlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJtb2JpbGUtbnVtYmVyXCIgKGtleXByZXNzKT1cImNoZWNrTW9iaWxlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiMDQgMTIzIDQ1Njc4XCIgWyhuZ01vZGVsKV09XCJNb2JpbGVOb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1ib3R0b206IG5vbmU7XCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiQWRkcmVzc1NlbmRUb0FkZFR5cGUudG9Mb3dlckNhc2UoKSA9PSAnZW1haWwnXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJtZGwtY2VsbCBtZGwtY2VsbC0tMTItY29sIG1kbC1jZWxsLS04LWNvbC10YWJsZXQgbWRsLWNlbGwtLTQtY29sLXBob25lIG1vYmlsZW51bWJlci1pbnB1dCBhZGRwYXRpZW50LWRldGFpbHMtY29sIFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWRsLXRleHRmaWVsZCBtZGwtanMtdGV4dGZpZWxkIGZpcnN0LXJvdy1pbnB1dFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzX3dpZHRoX2ZsZXhcIj48bGFiZWwgZm9yPVwibW9iaWxlLW51bWJlclwiIGNsYXNzPVwibm9fdHh0X2NsclwiPkVtYWlsXHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzX2ZsYWdfbnVtYmVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc19tb2JpbGVOb19pbnB1dFwiPjxpbnB1dCBhdXRvY29tcGxldGU9XCJvZmZcIiBjbGFzcz1cIm1kbC10ZXh0ZmllbGRfX2lucHV0IGlucHV0X3RleHRmaWVsZFwiIHR5cGU9XCJlbWFpbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJtb2JpbGUtbnVtYmVyXCJcclxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInRleHRAZ21haWwuY29tXCIgWyhuZ01vZGVsKV09XCJFbWFpbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1ib3R0b206IG5vbmU7XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8aHIgY2xhc3M9XCJtLTBcIj48YnI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWJvdHRvbVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLW91dGVyXCI+PGJ1dHRvbiBjbGFzcz1cIm1kbC1idXR0b24gbWRsLWpzLWJ1dHRvbiAgcnhfcmVjb3JkX2NoYW5nZV9wb3B1cF9jYW5jZWwgY2FuY2VsX3NlbmRcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlKDEpXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLXNlbmRcIj48YnV0dG9uIGNsYXNzPVwibWRsLWJ1dHRvbiBtZGwtanMtYnV0dG9uICByeF9yZWNvcmRfY2hhbmdlX3BvcHVwX3N1Ym1pdFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2UoMilcIj5TZW5kPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLXByaW50XCI+PGJ1dHRvbiAoY2xpY2spPVwiY2xvc2UoMylcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtZGwtYnV0dG9uIG1kbC1qcy1idXR0b24gbWRsLWJ1dHRvbi0tcmFpc2VkIG1kbC1idXR0b24tLWNvbG9yZWQgcnhfcmVjb3JkX2NoYW5nZV9wb3B1cF9zdWJtaXQgcnhfcG9wdXBfbWFyZ2luX21vYmlsZV90b3BcIj5TZW5kXHJcbiAgICAgICAgICAgICAgICAmYW1wOyBQcmludDwvYnV0dG9uPjwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIm1vZGFsZGF0YT09MlwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1kbC1jZWxsIG1kbC1jZWxsLS0xMi1jb2wgbWRsLWNlbGwtLTgtY29sLXRhYmxldCBtZGwtY2VsbC0tNC1jb2wtcGhvbmUgIG5ld19yeF9tb2JpbGVfZnVsbHdpZHRoXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibmV3X3J4X0luY2x1ZGVCcmFuZF9wb3B1cF90ZXh0XCI+VGhlIHNlbGVjdGVkIFNDSUQgaXMgYWxyZWFkeSBkaXNwZW5zZWQgdG8gdGhlIHBhdGllbnQuIFlvdSBjYW4gY2hvb3NlIHRvIGNlYXNlIHRoZSBwcmVzY3JpcHRpb24gdG9cclxuICAgICAgICAgICAgICBwcmV2ZW50IGZ1dHVyZSBkaXNwZW5zZXMgdG8gdGhlIHBhdGllbnQuPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWJvdHRvbVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLW91dGVyXCI+PGJ1dHRvbiBjbGFzcz1cIm1kbC1idXR0b24gbWRsLWpzLWJ1dHRvbiAgcnhfcmVjb3JkX2NoYW5nZV9wb3B1cF9jYW5jZWwgY2FuY2VsX3NlbmRcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlKDEpXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bi1wcmludCBcIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxMHB4O1wiPjxidXR0b24gKGNsaWNrKT1cImNsb3NlKDQpXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZGwtYnV0dG9uIG1kbC1qcy1idXR0b24gbWRsLWJ1dHRvbi0tcmFpc2VkIG1kbC1idXR0b24tLWNvbG9yZWQgcnhfcmVjb3JkX2NoYW5nZV9wb3B1cF9zdWJtaXQgcnhfcG9wdXBfbWFyZ2luX21vYmlsZV90b3BcIj5DZWFzZSBQcmVzY3JpcHRpb248L2J1dHRvbj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNyeHdpZGdldHM+IDwvbmctdGVtcGxhdGU+Il19
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1wYXRpZW50LWNvbnRhY3QtZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ob2xhLXJ4L3NyYy9saWIvY29uZmlybS1wYXRpZW50LWNvbnRhY3QtZGV0YWlscy9jb25maXJtLXBhdGllbnQtY29udGFjdC1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2hvbGEtcngvc3JjL2xpYi9jb25maXJtLXBhdGllbnQtY29udGFjdC1kZXRhaWxzL2NvbmZpcm0tcGF0aWVudC1jb250YWN0LWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXJELE9BQU8sRUFBcUIsU0FBUyxFQUFjLFlBQVksRUFBVSxNQUFNLEVBQWUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQU8vSCxNQUFNLE9BQU8scUNBQXFDO0lBWWhELFlBQW9CLFVBQXNCLEVBQVMsY0FBOEIsRUFBVSxZQUErQjtRQUF0RyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVUsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBWGhILGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUzQyx5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDN0IsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFHZixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUlqQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQztRQUN6RCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLElBQUksQ0FBQyxJQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLGlCQUFpQixFQUFFLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUM7UUFDL1IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDdEgsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO1FBQ3RFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDMUcsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJO1lBQ0YsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLDZCQUE2QixFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ3BGO1FBQ0QsT0FBTyxFQUFPLEVBQUU7WUFDZCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLHVDQUF1QyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQ25IO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFVO1FBQ2QsSUFBSTtZQUNGLElBQUksY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3BHLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO2dCQUM1QixJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsSUFBSSxLQUFLLEVBQUU7b0JBQ3BELElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFO3dCQUMzRCxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDaEcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQzt3QkFDM0YsT0FBTztxQkFDUjtvQkFDRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7b0JBQ3hFLElBQUksT0FBTyxJQUFJLENBQUMsRUFBRTt3QkFDaEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ2hHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7d0JBQzNGLE9BQU87cUJBQ1I7b0JBQ0QsSUFBSSxPQUFPLElBQUksQ0FBQyxFQUFFO3dCQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDaEcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQzt3QkFDM0YsT0FBTztxQkFDUjtvQkFDRCxJQUFJLE9BQU8sSUFBSSxDQUFDLEVBQUU7d0JBQ2hCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFOzRCQUFFLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7eUJBQUU7cUJBQzdFO3lCQUFNO3dCQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUNoRyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO3dCQUMzRixPQUFPO3FCQUNSO29CQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO2lCQUNqQjtnQkFDRCxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsSUFBSSxPQUFPLEVBQUU7b0JBQ3RELElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFO3dCQUN4RCxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDaEcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQzt3QkFDM0YsT0FBTztxQkFDUjtvQkFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFO3dCQUMxRCxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDaEcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQzt3QkFDM0YsT0FBTztxQkFDUjtvQkFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztpQkFDcEI7YUFDRjtZQUNELElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtnQkFDZCxJQUFJLGdCQUFnQixHQUFHLEtBQUssQ0FBQztnQkFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDN007aUJBQ0ksSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO2dCQUNuQixJQUFJLGdCQUFnQixHQUFHLElBQUksQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDN007aUJBQ0ksSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFO2dCQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2FBQ3RDO2lCQUNJLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxFQUFFLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO2dCQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQzthQUNyQjtZQUNELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3hDO1FBQ0QsT0FBTyxFQUFPLEVBQUU7WUFDZCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLHVDQUF1QyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ2hIO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhO1FBQ3ZCLElBQUk7WUFDRixJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQTthQUNsQztpQkFDSTtnQkFDSCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsT0FBTyxDQUFBO2FBQ3BDO1lBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUNuQztRQUNELE9BQU8sRUFBTyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSx1Q0FBdUMsRUFBRSxhQUFhLENBQUMsQ0FBQztTQUN0SDtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsR0FBUTtRQUNsQixJQUFJO1lBQ0YsSUFBSSxRQUFRLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7WUFDckQsSUFBSSxRQUFRLEdBQUcsRUFBRSxJQUFJLFFBQVEsR0FBRyxFQUFFO2dCQUNoQyxPQUFPLEtBQUssQ0FBQztZQUNmLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLEVBQU8sRUFBRTtZQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsdUNBQXVDLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDckgsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7O2tJQTFIVSxxQ0FBcUM7c0hBQXJDLHFDQUFxQyxrUUNUbEQsczFMQXdGeUM7MkZEL0U1QixxQ0FBcUM7a0JBTGpELFNBQVM7K0JBQ0UscUNBQXFDOzhKQUtyQyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ21DLE9BQU87c0JBQWhELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVycm9yY29uZmlnIH0gZnJvbSAnLi4vZW52aXJvbm1lbnRzL2NvbmZpZyc7XHJcbmltcG9ydCB7IENvbW1vblNlcnZpY2VzIH0gZnJvbSAnLi4vc2VydmljZXMvY29tbW9uJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtY29uZmlybS1wYXRpZW50LWNvbnRhY3QtZGV0YWlscycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpcm0tcGF0aWVudC1jb250YWN0LWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvbmZpcm0tcGF0aWVudC1jb250YWN0LWRldGFpbHMuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb25maXJtUGF0aWVudENvbnRhY3REZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAT3V0cHV0KCkgY2xvc2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgc3VibWl0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQFZpZXdDaGlsZCgncnh3aWRnZXRzJywgeyBzdGF0aWM6IHRydWUgfSkgY29udGVudCE6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQWRkcmVzc1NlbmRUb0FkZFR5cGUgPSBcIlNNU1wiO1xyXG4gIHJ4bnVtYmVyID0gXCJcIjtcclxuICByeGVtYWlsSWQgPSBcIlwiO1xyXG4gIE1vYmlsZU5vOiBhbnk7XHJcbiAgRW1haWw6IGFueTtcclxuICByeEVtYWlsRmxhZyA9IHRydWU7XHJcbiAgbW9kYWxkYXRhOiBhbnk7XHJcbiAgc2NyaXB0VHlwZTogYW55O1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHVibGljIGNvbW1vblNlcnZpY2VzOiBDb21tb25TZXJ2aWNlcywgcHJpdmF0ZSBjaGFuZ2VkZXRlY3Q6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICB0aGlzLk1vYmlsZU5vID0gdGhpcy5jb21tb25TZXJ2aWNlcy5wYXRpZW50RGV0YWlscy5waG9uZTtcclxuICAgIHRoaXMuRW1haWwgPSB0aGlzLmNvbW1vblNlcnZpY2VzLmlzU2NyaXB0VG9QaGFybWFjeSA9PSAxICYmICB0aGlzLmNvbW1vblNlcnZpY2VzLnNjcmlwdFR5cGU/LnRvTG9jYWxlTG93ZXJDYXNlKCkgIT09ICdtJyAmJiB0aGlzLmNvbW1vblNlcnZpY2VzLnBoYXJtYWN5RW1haWwgIT0gbnVsbCAmJiB0aGlzLmNvbW1vblNlcnZpY2VzLnBoYXJtYWN5RW1haWwgIT0gXCJcIj8gdGhpcy5jb21tb25TZXJ2aWNlcy5waGFybWFjeUVtYWlsIDogdGhpcy5jb21tb25TZXJ2aWNlcy5wYXRpZW50RGV0YWlscy5lbWFpbDtcclxuICAgIHRoaXMuY29tbW9uU2VydmljZXMuaXNTY3JpcHRUb1BoYXJtYWN5ID09IDEgPyB0aGlzLkFkZHJlc3NTZW5kVG9BZGRUeXBlID0gXCJFbWFpbFwiIDogdGhpcy5BZGRyZXNzU2VuZFRvQWRkVHlwZSA9IFwiU01TXCI7XHJcbiAgICB0aGlzLnNjcmlwdFR5cGUgPSB0aGlzLmNvbW1vblNlcnZpY2VzLnNjcmlwdFR5cGU/LnRvTG9jYWxlTG93ZXJDYXNlKCk7XHJcbiAgICB0aGlzLkFkZHJlc3NTZW5kVG9BZGRUeXBlID0gdGhpcy5jb21tb25TZXJ2aWNlcy5zY3JpcHRUeXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT0gJ2UnID8gJ1NNUycgOiAnZW1haWwnO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1lcHJlc2NyaXB0aW9uX3BvcHVwX3dpZHRoJywgJzQ1MHB4Jyk7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXg6IGFueSkge1xyXG4gICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnNldGxvZ3ZhbHVlKGZhbHNlLCBleC5tZXNzYWdlLCBleC5zdGFjaywgXCJDb25maXJtUGF0aWVudENvbnRhY3REZXRhaWxzQ29tcG9uZW50XCIsIFwibmdPbkluaXRcIik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9zZShpbmRleDogYW55KTogYW55IHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHZhciBzY2hlZHVsZU51bWJlciA9IHRoaXMuY29tbW9uU2VydmljZXMuZ2V0U2NoZWR1bGVOdW1iZXIodGhpcy5jb21tb25TZXJ2aWNlcy5zZWxlY3RlZEZvcm11bGF0aW9uKTtcclxuICAgICAgaWYgKGluZGV4ID09IDIgfHwgaW5kZXggPT0gMykge1xyXG4gICAgICAgIGlmICh0aGlzLkFkZHJlc3NTZW5kVG9BZGRUeXBlLnRvTG93ZXJDYXNlKCkgPT0gXCJzbXNcIikge1xyXG4gICAgICAgICAgaWYgKHRoaXMuY29tbW9uU2VydmljZXMuSXNOdWxsT3JFbXB0eSh0aGlzLk1vYmlsZU5vLnRyaW0oKSkpIHtcclxuICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy50b2FzdG9wZW4oZXJyb3Jjb25maWcuZXJyb3JfNTcubWVzc2FnZSwgXCJlcnJvclwiLCBlcnJvcmNvbmZpZy5lcnJvcl81Ny5jb2RlKTtcclxuICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5lcnJvclJlc3BvbnNlKGVycm9yY29uZmlnLmVycm9yXzU3LmNvZGUsIGVycm9yY29uZmlnLmVycm9yXzU3Lm1lc3NhZ2UpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB2YXIgdmFsaWRieSA9IHRoaXMuY29tbW9uU2VydmljZXMudmFsaWRCeU1vYmlsZU5vKHRoaXMuTW9iaWxlTm8udHJpbSgpKTtcclxuICAgICAgICAgIGlmICh2YWxpZGJ5ID09IDEpIHtcclxuICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy50b2FzdG9wZW4oZXJyb3Jjb25maWcuZXJyb3JfNTcubWVzc2FnZSwgXCJlcnJvclwiLCBlcnJvcmNvbmZpZy5lcnJvcl81Ny5jb2RlKTtcclxuICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5lcnJvclJlc3BvbnNlKGVycm9yY29uZmlnLmVycm9yXzU3LmNvZGUsIGVycm9yY29uZmlnLmVycm9yXzU3Lm1lc3NhZ2UpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodmFsaWRieSA9PSAzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29tbW9uU2VydmljZXMudG9hc3RvcGVuKGVycm9yY29uZmlnLmVycm9yXzU4Lm1lc3NhZ2UsIFwiZXJyb3JcIiwgZXJyb3Jjb25maWcuZXJyb3JfNTguY29kZSk7XHJcbiAgICAgICAgICAgIHRoaXMuY29tbW9uU2VydmljZXMuZXJyb3JSZXNwb25zZShlcnJvcmNvbmZpZy5lcnJvcl81OC5jb2RlLCBlcnJvcmNvbmZpZy5lcnJvcl81OC5tZXNzYWdlKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHZhbGlkYnkgPT0gMikge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5Nb2JpbGVOby5jaGFyQXQoMCkgIT0gJzAnKSB7IHRoaXMuTW9iaWxlTm8gPSBcIjBcIiArIHRoaXMuTW9iaWxlTm87IH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29tbW9uU2VydmljZXMudG9hc3RvcGVuKGVycm9yY29uZmlnLmVycm9yXzU4Lm1lc3NhZ2UsIFwiZXJyb3JcIiwgZXJyb3Jjb25maWcuZXJyb3JfNTguY29kZSk7XHJcbiAgICAgICAgICAgIHRoaXMuY29tbW9uU2VydmljZXMuZXJyb3JSZXNwb25zZShlcnJvcmNvbmZpZy5lcnJvcl81OC5jb2RlLCBlcnJvcmNvbmZpZy5lcnJvcl81OC5tZXNzYWdlKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5FbWFpbCA9IFwiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLkFkZHJlc3NTZW5kVG9BZGRUeXBlLnRvTG93ZXJDYXNlKCkgPT0gXCJlbWFpbFwiKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5jb21tb25TZXJ2aWNlcy5Jc051bGxPckVtcHR5KHRoaXMuRW1haWwudHJpbSgpKSkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnRvYXN0b3BlbihlcnJvcmNvbmZpZy5lcnJvcl81OS5tZXNzYWdlLCBcImVycm9yXCIsIGVycm9yY29uZmlnLmVycm9yXzU5LmNvZGUpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLmVycm9yUmVzcG9uc2UoZXJyb3Jjb25maWcuZXJyb3JfNTkuY29kZSwgZXJyb3Jjb25maWcuZXJyb3JfNTkubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICghdGhpcy5jb21tb25TZXJ2aWNlcy52YWxpZEJ5RW1haWxObyh0aGlzLkVtYWlsLnRyaW0oKSkpIHtcclxuICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy50b2FzdG9wZW4oZXJyb3Jjb25maWcuZXJyb3JfNjAubWVzc2FnZSwgXCJlcnJvclwiLCBlcnJvcmNvbmZpZy5lcnJvcl82MC5jb2RlKTtcclxuICAgICAgICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5lcnJvclJlc3BvbnNlKGVycm9yY29uZmlnLmVycm9yXzYwLmNvZGUsIGVycm9yY29uZmlnLmVycm9yXzYwLm1lc3NhZ2UpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLk1vYmlsZU5vID0gXCJcIjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGluZGV4ID09IDIpIHtcclxuICAgICAgICB2YXIgaXNQcmludEF2YWlsYWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY2xvc2VFdmVudC5lbWl0KHsgc2NoZWR1bGVOdW1iZXI6IHNjaGVkdWxlTnVtYmVyLCBpc1ByaW50QXZhaWxhYmxlOiBpc1ByaW50QXZhaWxhYmxlLCBBZGRyZXNzU2VuZFRvQWRkVHlwZTogdGhpcy5BZGRyZXNzU2VuZFRvQWRkVHlwZSwgcnhudW1iZXI6IHRoaXMuTW9iaWxlTm8udHJpbSgpLCByeGVtYWlsSWQ6IHRoaXMuRW1haWwudHJpbSgpIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGluZGV4ID09IDMpIHtcclxuICAgICAgICB2YXIgaXNQcmludEF2YWlsYWJsZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5jbG9zZUV2ZW50LmVtaXQoeyBzY2hlZHVsZU51bWJlcjogc2NoZWR1bGVOdW1iZXIsIGlzUHJpbnRBdmFpbGFibGU6IGlzUHJpbnRBdmFpbGFibGUsIEFkZHJlc3NTZW5kVG9BZGRUeXBlOiB0aGlzLkFkZHJlc3NTZW5kVG9BZGRUeXBlLCByeG51bWJlcjogdGhpcy5Nb2JpbGVOby50cmltKCksIHJ4ZW1haWxJZDogdGhpcy5FbWFpbC50cmltKCkgfSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAoaW5kZXggPT0gNCkge1xyXG4gICAgICAgIHRoaXMuY2xvc2VFdmVudC5lbWl0KHsgZmxhZzogdHJ1ZSB9KTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChpbmRleCA9PSAxKSB7XHJcbiAgICAgICAgdGhpcy5jbG9zZUV2ZW50LmVtaXQobnVsbCk7XHJcbiAgICAgICAgdGhpcy5BZGRyZXNzU2VuZFRvQWRkVHlwZSA9IFwiXCI7XHJcbiAgICAgICAgdGhpcy5yeG51bWJlciA9IFwiXCI7XHJcbiAgICAgICAgdGhpcy5yeGVtYWlsSWQgPSBcIlwiO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnJlbW92ZSgpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGV4OiBhbnkpIHtcclxuICAgICAgdGhpcy5jb21tb25TZXJ2aWNlcy5zZXRsb2d2YWx1ZShmYWxzZSwgZXgubWVzc2FnZSwgZXguc3RhY2ssIFwiQ29uZmlybVBhdGllbnRDb250YWN0RGV0YWlsc0NvbXBvbmVudFwiLCBcImNsb3NlXCIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmFkaW9DaGFuZ2UoaW5kZXg6IG51bWJlcikge1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKGluZGV4ID09IDEpIHtcclxuICAgICAgICB0aGlzLkFkZHJlc3NTZW5kVG9BZGRUeXBlID0gXCJTTVNcIlxyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMuQWRkcmVzc1NlbmRUb0FkZFR5cGUgPSBcIkVtYWlsXCJcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNoYW5nZWRldGVjdC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXg6IGFueSkge1xyXG4gICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnNldGxvZ3ZhbHVlKGZhbHNlLCBleC5tZXNzYWdlLCBleC5zdGFjaywgXCJDb25maXJtUGF0aWVudENvbnRhY3REZXRhaWxzQ29tcG9uZW50XCIsIFwicmFkaW9DaGFuZ2VcIik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGVja01vYmlsZShldnQ6IGFueSk6IGFueSB7XHJcbiAgICB0cnkge1xyXG4gICAgICB2YXIgY2hhckNvZGUgPSAoZXZ0LndoaWNoKSA/IGV2dC53aGljaCA6IGV2dC5rZXlDb2RlO1xyXG4gICAgICBpZiAoY2hhckNvZGUgPCA0OCB8fCBjaGFyQ29kZSA+IDU3KVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXg6IGFueSkge1xyXG4gICAgICB0aGlzLmNvbW1vblNlcnZpY2VzLnNldGxvZ3ZhbHVlKGZhbHNlLCBleC5tZXNzYWdlLCBleC5zdGFjaywgXCJDb25maXJtUGF0aWVudENvbnRhY3REZXRhaWxzQ29tcG9uZW50XCIsIFwiY2hlY2tNb2JpbGVcIik7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIlJlYWN0TW9kYWxQb3J0YWwgZV9wcmVzY3JpcHRpb25fYm94XCI+XHJcbiAgPGRpdiBjbGFzcz1cIlJlYWN0TW9kYWxfX092ZXJsYXkgUmVhY3RNb2RhbF9fT3ZlcmxheS0tYWZ0ZXItb3BlbiBvcGVuX3BvcHVwXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiUmVhY3RNb2RhbF9fQ29udGVudCBSZWFjdE1vZGFsX19Db250ZW50LS1hZnRlci1vcGVuIHBvcHVwX2hlYWRlciBlX3ByZXNjcmlwdGlvbl9wb3B1cF9pbm5lcl9ib3hcIlxyXG4gICAgICB0YWJpbmRleD1cIi0xXCIgcm9sZT1cImRpYWxvZ1wiIGFyaWEtbW9kYWw9XCJ0cnVlXCI+XHJcbiAgICAgIDxwIGNsYXNzPVwicnhfcmVjb3JkX2NoYW5nZV9wb3B1cFwiPnt7bW9kYWxkYXRhPT0xPydDb25maXJtIFBhdGllbnQgQ29udGFjdCBEZXRhaWxzJzonQ2Vhc2UgUHJlc2NyaXB0aW9uJ319PC9wPlxyXG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInJ4X3JlY29yZF9wb3B1cF9jbG9zZVwiIChjbGljayk9XCJjbG9zZSgxKVwiPlg8L2J1dHRvbj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj5cclxuICAgICAgICA8aHIgY2xhc3M9XCJtLTBcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwibW9kYWxkYXRhPT0xXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWRsLWNlbGwgbWRsLWNlbGwtLTEyLWNvbCBtZGwtY2VsbC0tOC1jb2wtdGFibGV0IG1kbC1jZWxsLS00LWNvbC1waG9uZSAgbmV3X3J4X21vYmlsZV9mdWxsd2lkdGhcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbHNfd2lkdGhfZmxleFwiPjxsYWJlbCBjbGFzcz1cImxhYmVsXCI+U2VuZCBUb2tlbiBWaWE8c3BhblxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHRfY29udGVudFwiPio8L3NwYW4+PC9sYWJlbD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyeF9uZXdfcG9wdXBfY2hlY2tib3hcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicnhfbmV3X3JhZGlvYm94X2J1dHRvbiByeC1idG4gcnhfcmFkaW9fb3ZlcmFsbFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwicnhfcmFkaW9fbGFiZWxcIiAqbmdJZj1cInNjcmlwdFR5cGUgIT09ICdtJ1wiPjxpbnB1dCBbZGlzYWJsZWRdPVwidGhpcy5jb21tb25TZXJ2aWNlcy5pc1NjcmlwdFRvUGhhcm1hY3k9PTFcIiB0eXBlPVwicmFkaW9cIiBjbGFzcz1cIm1kbC1yYWRpb19fYnV0dG9uIGN1c3RvbS1yYWRpby1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJBZGRyZXNzU2VuZFRvQWRkVHlwZVwiIFt2YWx1ZV09XCInU01TJ1wiIChjbGljayk9XCJyYWRpb0NoYW5nZSgxKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiQWRkcmVzc1NlbmRUb0FkZFR5cGUudG9Mb3dlckNhc2UoKSA9PSAnc21zJ1wiIC8+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1kbC1yYWRpb19fbGFiZWwgcmFkaW9fdHh0XCI+U01TPC9zcGFuPjwvbGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwicnhfcmFkaW9fbGFiZWxcIj48aW5wdXQgdHlwZT1cInJhZGlvXCIgW2NoZWNrZWRdPVwiQWRkcmVzc1NlbmRUb0FkZFR5cGUudG9Mb3dlckNhc2UoKSA9PSAnZW1haWwnXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmFkaW9DaGFuZ2UoMilcIiBjbGFzcz1cIm1kbC1yYWRpb19fYnV0dG9uIGQtaW5saW5lIHJhZGlvIGN1c3RvbS1yYWRpby1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJBZGRyZXNzU2VuZFRvQWRkVHlwZVwiIFt2YWx1ZV09XCInRW1haWwnXCI+PHNwYW4gY2xhc3M9XCJtZGwtcmFkaW9fX2xhYmVsIHJhZGlvX3R4dFwiPkUtTWFpbDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiQWRkcmVzc1NlbmRUb0FkZFR5cGUudG9Mb3dlckNhc2UoKSA9PSAnc21zJ1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwibWRsLWNlbGwgbWRsLWNlbGwtLTEyLWNvbCBtZGwtY2VsbC0tOC1jb2wtdGFibGV0IG1kbC1jZWxsLS00LWNvbC1waG9uZSBtb2JpbGVudW1iZXItaW5wdXQgYWRkcGF0aWVudC1kZXRhaWxzLWNvbCBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1kbC10ZXh0ZmllbGQgbWRsLWpzLXRleHRmaWVsZCBmaXJzdC1yb3ctaW5wdXRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc193aWR0aF9mbGV4XCI+PGxhYmVsIGZvcj1cIm1vYmlsZS1udW1iZXJcIiBjbGFzcz1cIm5vX3R4dF9jbHJcIj5Nb2JpbGVcclxuICAgICAgICAgICAgICAgICAgTnVtYmVyPC9sYWJlbD48L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc19mbGFnX251bWJlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltZy13XCI+PHNwYW4gY2xhc3M9XCJhZGRwYXRpZW50LWNvdW50cnktZmxhZ1wiPjxpbWdcclxuICAgICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vcGFzc2V0cy5ob2xhLmhlYWx0aC9yeC13aWRnZXRzL3J4LWF1c3RyYWxpYS5wbmdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzX21vYmlsZU5vX2lucHV0XCI+PGlucHV0IGF1dG9jb21wbGV0ZT1cIm9mZlwiIGNsYXNzPVwibWRsLXRleHRmaWVsZF9faW5wdXQgaW5wdXRfdGV4dGZpZWxkXCIgdHlwZT1cInRlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJtb2JpbGUtbnVtYmVyXCIgKGtleXByZXNzKT1cImNoZWNrTW9iaWxlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiMDQgMTIzIDQ1Njc4XCIgWyhuZ01vZGVsKV09XCJNb2JpbGVOb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1ib3R0b206IG5vbmU7XCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiQWRkcmVzc1NlbmRUb0FkZFR5cGUudG9Mb3dlckNhc2UoKSA9PSAnZW1haWwnXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJtZGwtY2VsbCBtZGwtY2VsbC0tMTItY29sIG1kbC1jZWxsLS04LWNvbC10YWJsZXQgbWRsLWNlbGwtLTQtY29sLXBob25lIG1vYmlsZW51bWJlci1pbnB1dCBhZGRwYXRpZW50LWRldGFpbHMtY29sIFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWRsLXRleHRmaWVsZCBtZGwtanMtdGV4dGZpZWxkIGZpcnN0LXJvdy1pbnB1dFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzX3dpZHRoX2ZsZXhcIj48bGFiZWwgZm9yPVwibW9iaWxlLW51bWJlclwiIGNsYXNzPVwibm9fdHh0X2NsclwiPkVtYWlsXHJcbiAgICAgICAgICAgICAgICA8L2xhYmVsPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzX2ZsYWdfbnVtYmVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsc19tb2JpbGVOb19pbnB1dFwiPjxpbnB1dCBhdXRvY29tcGxldGU9XCJvZmZcIiBjbGFzcz1cIm1kbC10ZXh0ZmllbGRfX2lucHV0IGlucHV0X3RleHRmaWVsZFwiIHR5cGU9XCJlbWFpbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJtb2JpbGUtbnVtYmVyXCJcclxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInRleHRAZ21haWwuY29tXCIgWyhuZ01vZGVsKV09XCJFbWFpbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1ib3R0b206IG5vbmU7XCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8aHIgY2xhc3M9XCJtLTBcIj48YnI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLWJvdHRvbVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLW91dGVyXCI+PGJ1dHRvbiBjbGFzcz1cIm1kbC1idXR0b24gbWRsLWpzLWJ1dHRvbiAgcnhfcmVjb3JkX2NoYW5nZV9wb3B1cF9jYW5jZWwgY2FuY2VsX3NlbmRcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlKDEpXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLXNlbmRcIj48YnV0dG9uIGNsYXNzPVwibWRsLWJ1dHRvbiBtZGwtanMtYnV0dG9uICByeF9yZWNvcmRfY2hhbmdlX3BvcHVwX3N1Ym1pdFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2UoMilcIj5TZW5kPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLXByaW50XCIgKm5nSWY9XCJzY3JpcHRUeXBlICE9PSAnbSdcIj48YnV0dG9uIChjbGljayk9XCJjbG9zZSgzKVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1kbC1idXR0b24gbWRsLWpzLWJ1dHRvbiBtZGwtYnV0dG9uLS1yYWlzZWQgbWRsLWJ1dHRvbi0tY29sb3JlZCByeF9yZWNvcmRfY2hhbmdlX3BvcHVwX3N1Ym1pdCByeF9wb3B1cF9tYXJnaW5fbW9iaWxlX3RvcFwiPlNlbmRcclxuICAgICAgICAgICAgICAgICZhbXA7IFByaW50PC9idXR0b24+PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwibW9kYWxkYXRhPT0yXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWRsLWNlbGwgbWRsLWNlbGwtLTEyLWNvbCBtZGwtY2VsbC0tOC1jb2wtdGFibGV0IG1kbC1jZWxsLS00LWNvbC1waG9uZSAgbmV3X3J4X21vYmlsZV9mdWxsd2lkdGhcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuZXdfcnhfSW5jbHVkZUJyYW5kX3BvcHVwX3RleHRcIj5UaGUgc2VsZWN0ZWQgU0NJRCBpcyBhbHJlYWR5IGRpc3BlbnNlZCB0byB0aGUgcGF0aWVudC4gWW91IGNhbiBjaG9vc2UgdG8gY2Vhc2UgdGhlIHByZXNjcmlwdGlvbiB0b1xyXG4gICAgICAgICAgICAgIHByZXZlbnQgZnV0dXJlIGRpc3BlbnNlcyB0byB0aGUgcGF0aWVudC48L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG4tYm90dG9tXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG4tb3V0ZXJcIj48YnV0dG9uIGNsYXNzPVwibWRsLWJ1dHRvbiBtZGwtanMtYnV0dG9uICByeF9yZWNvcmRfY2hhbmdlX3BvcHVwX2NhbmNlbCBjYW5jZWxfc2VuZFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2UoMSlcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuLXByaW50IFwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDEwcHg7XCI+PGJ1dHRvbiAoY2xpY2spPVwiY2xvc2UoNClcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm1kbC1idXR0b24gbWRsLWpzLWJ1dHRvbiBtZGwtYnV0dG9uLS1yYWlzZWQgbWRsLWJ1dHRvbi0tY29sb3JlZCByeF9yZWNvcmRfY2hhbmdlX3BvcHVwX3N1Ym1pdCByeF9wb3B1cF9tYXJnaW5fbW9iaWxlX3RvcFwiPkNlYXNlIFByZXNjcmlwdGlvbjwvYnV0dG9uPjwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8bmctdGVtcGxhdGUgI3J4d2lkZ2V0cz4gPC9uZy10ZW1wbGF0ZT4iXX0=
|