@ieeesa-npm/presentation 0.9.7 → 0.9.8

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.
Files changed (40) hide show
  1. package/esm2022/lib/components/autocomplete/autocomplete.component.mjs +6 -6
  2. package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +5 -5
  3. package/esm2022/lib/components/checkbox/checkbox.component.mjs +5 -5
  4. package/esm2022/lib/components/chips/chips.component.mjs +5 -5
  5. package/esm2022/lib/components/data-table/data-table.component.mjs +5 -5
  6. package/esm2022/lib/components/date-picker/date-picker.component.mjs +9 -9
  7. package/esm2022/lib/components/date-picker-header/date-picker-header.component.mjs +5 -5
  8. package/esm2022/lib/components/dynamic-form/dynamic-form.component.mjs +5 -5
  9. package/esm2022/lib/components/filter/filter.component.mjs +5 -5
  10. package/esm2022/lib/components/footer/footer.component.mjs +5 -5
  11. package/esm2022/lib/components/form-error/form-error.component.mjs +5 -5
  12. package/esm2022/lib/components/form-support-text/form-support-text.component.mjs +5 -5
  13. package/esm2022/lib/components/header/header.component.mjs +5 -5
  14. package/esm2022/lib/components/icon-button/icon-button.component.mjs +4 -4
  15. package/esm2022/lib/components/input/input.component.mjs +5 -5
  16. package/esm2022/lib/components/legend/legend.component.mjs +4 -4
  17. package/esm2022/lib/components/loader/loader.component.mjs +5 -5
  18. package/esm2022/lib/components/menu/menu.component.mjs +5 -5
  19. package/esm2022/lib/components/modal/modal.component.mjs +5 -5
  20. package/esm2022/lib/components/modal-confirmation/modal-confirmation.component.mjs +5 -5
  21. package/esm2022/lib/components/navigation-menu/navigation-menu.component.mjs +5 -5
  22. package/esm2022/lib/components/notification/notification.component.mjs +5 -5
  23. package/esm2022/lib/components/radio/radio.component.mjs +5 -5
  24. package/esm2022/lib/components/search/search.component.mjs +13 -7
  25. package/esm2022/lib/components/select/select.component.mjs +6 -6
  26. package/esm2022/lib/components/text-area/text-area.component.mjs +5 -5
  27. package/esm2022/lib/components/tile/tile.component.mjs +5 -5
  28. package/esm2022/lib/components/toggle-button/toggle-button.component.mjs +5 -5
  29. package/esm2022/lib/components/welcome/welcome.component.mjs +5 -5
  30. package/esm2022/lib/directives/dynamic-form-field/dynamic-form-field.directive.mjs +4 -4
  31. package/esm2022/lib/directives/focus-invalid-form-field/focus-invalid-form-field.directive.mjs +4 -4
  32. package/esm2022/lib/directives/set-background/set-background.directive.mjs +4 -4
  33. package/esm2022/lib/directives/text-truncated/text-truncated.directive.mjs +4 -4
  34. package/esm2022/lib/presentation.module.mjs +5 -5
  35. package/esm2022/lib/services/datepicker.service.mjs +4 -4
  36. package/esm2022/lib/services/form-utility.service.mjs +4 -4
  37. package/fesm2022/ieeesa-npm-presentation.mjs +150 -144
  38. package/fesm2022/ieeesa-npm-presentation.mjs.map +1 -1
  39. package/lib/components/search/search.component.d.ts +1 -0
  40. package/package.json +2 -2
@@ -37,10 +37,10 @@ export class CustomDateAdapter extends MomentDateAdapter {
37
37
  getDayOfWeekNames() {
38
38
  return ['S', 'M', 'T', 'W', 'T', 'F', 'S'];
39
39
  }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: CustomDateAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
41
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: CustomDateAdapter }); }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomDateAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
41
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomDateAdapter }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: CustomDateAdapter, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomDateAdapter, decorators: [{
44
44
  type: Injectable
45
45
  }] });
46
46
  /**
@@ -249,8 +249,8 @@ export class DatePickerComponent {
249
249
  onDatePickerOpen(controlName) {
250
250
  this.datepickerService.selectedDate = this.group.get(controlName)?.value;
251
251
  }
252
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: DatePickerComponent, deps: [{ token: i1.FormBuilder }, { token: i0.ChangeDetectorRef }, { token: i2.DatepickerService }, { token: i3.FormUtilityService }], target: i0.ɵɵFactoryTarget.Component }); }
253
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: DatePickerComponent, isStandalone: true, selector: "ieeesa-date-picker", inputs: { selectedDates: "selectedDates", selectedRange: "selectedRange", calendarType: "calendarType", formControlName: "formControlName", placeholderLabel: "placeholderLabel", isDisabled: "isDisabled", isLabelAlignedLeft: "isLabelAlignedLeft", datepickerLabel: "datepickerLabel", dateRange: "dateRange", minDate: "minDate", maxDate: "maxDate" }, outputs: { selectedDate: "selectedDate", selectedDateRange: "selectedDateRange" }, providers: [
252
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatePickerComponent, deps: [{ token: i1.FormBuilder }, { token: i0.ChangeDetectorRef }, { token: i2.DatepickerService }, { token: i3.FormUtilityService }], target: i0.ɵɵFactoryTarget.Component }); }
253
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DatePickerComponent, isStandalone: true, selector: "ieeesa-date-picker", inputs: { selectedDates: "selectedDates", selectedRange: "selectedRange", calendarType: "calendarType", formControlName: "formControlName", placeholderLabel: "placeholderLabel", isDisabled: "isDisabled", isLabelAlignedLeft: "isLabelAlignedLeft", datepickerLabel: "datepickerLabel", dateRange: "dateRange", minDate: "minDate", maxDate: "maxDate" }, outputs: { selectedDate: "selectedDate", selectedDateRange: "selectedDateRange" }, providers: [
254
254
  { provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } },
255
255
  {
256
256
  provide: DateAdapter,
@@ -261,9 +261,9 @@ export class DatePickerComponent {
261
261
  provide: MAT_DATE_FORMATS,
262
262
  useValue: DateFormats,
263
263
  },
264
- ], ngImport: i0, template: "<div class=\"ieeesa-datepicker\">\r\n <div\r\n [formGroup]=\"group\"\r\n *ngIf=\"calendarType === calendarTypes.SINGLE_DATE_SELECTION\"\r\n class=\"ieeesa-datepicker--single-selection\"\r\n [ngClass]=\"!isRequired() ? 'ieeesa-datepicker__valid-date' : ''\"\r\n [ngClass]=\"{\r\n 'ieeesa-datepicker__valid-date': !isRequired(),\r\n 'ieeesa-datepicker__label-left': isLabelAlignedLeft,\r\n 'ieeesa-datepicker__label-top': !isLabelAlignedLeft\r\n }\"\r\n >\r\n <mat-label\r\n *ngIf=\"datepickerLabel\"\r\n class=\"ieeesa-datepicker__label ieeesa-body-sm-14\"\r\n >{{ datepickerLabel }}\r\n </mat-label>\r\n <mat-form-field>\r\n <input\r\n matInput\r\n (dateInput)=\"onDateChange()\"\r\n (click)=\"picker.open()\"\r\n [matDatepicker]=\"picker\"\r\n [min]=\"config?.datePicker?.minDate ?? minDate\"\r\n [max]=\"config?.datePicker?.maxDate ?? maxDate\"\r\n [formControlName]=\"config.controlName\"\r\n [placeholder]=\"buttonActionsInfo?.datePicker?.dateFormatLabel\"\r\n #calendar\r\n readonly\r\n />\r\n <mat-datepicker-toggle\r\n class=\"mat-datepicker-toggle\"\r\n matIconSuffix\r\n [for]=\"picker\"\r\n ></mat-datepicker-toggle>\r\n <mat-datepicker\r\n #picker\r\n [calendarHeaderComponent]=\"datePickerHeader\"\r\n (opened)=\"onDatePickerOpen(config.controlName)\"\r\n >\r\n <mat-datepicker-actions>\r\n <button\r\n mat-button\r\n class=\"mat-text-button ieeesa-datepicker__date-picker-button\"\r\n type=\"button\"\r\n matDatepickerCancel\r\n >\r\n {{ buttonActionsInfo?.button?.cancel }}\r\n </button>\r\n <button\r\n mat-button\r\n class=\"mat-text-button ieeesa-datepicker__date-picker-button\"\r\n color=\"primary\"\r\n type=\"button\"\r\n matDatepickerApply\r\n >\r\n {{ buttonActionsInfo?.button?.ok }}\r\n </button>\r\n </mat-datepicker-actions>\r\n </mat-datepicker>\r\n </mat-form-field>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\">\r\n </ieeesa-form-error>\r\n <ieeesa-form-support-text\r\n [formGroup]=\"group\"\r\n [config]=\"config\"\r\n ></ieeesa-form-support-text>\r\n </div>\r\n\r\n <div\r\n [formGroup]=\"group\"\r\n *ngIf=\"calendarType === calendarTypes.DATE_RANGE_SELECTION\"\r\n class=\"ieeesa-datepicker--multi-selection\"\r\n [ngClass]=\"\r\n isLabelAlignedLeft\r\n ? 'ieeesa-datepicker__label-left'\r\n : 'ieeesa-datepicker__label-top'\r\n \"\r\n >\r\n <mat-label\r\n *ngIf=\"datepickerLabel\"\r\n class=\"ieeesa-datepicker__label ieeesa-body-sm-14\"\r\n >{{ datepickerLabel }}\r\n </mat-label>\r\n <mat-form-field>\r\n <mat-date-range-input [rangePicker]=\"rangePicker\" [formGroup]=\"group\">\r\n <input\r\n matStartDate\r\n matInput\r\n [formControlName]=\"config.dateRangeControls?.startDate ?? ''\"\r\n [placeholder]=\"buttonActionsInfo?.datePicker?.dateFormatLabel + ' - '\"\r\n (dateChange)=\"onDateRangeChange()\"\r\n />\r\n <input\r\n matEndDate\r\n matInput\r\n [formControlName]=\"config.dateRangeControls?.endDate ?? ''\"\r\n [placeholder]=\"buttonActionsInfo?.datePicker?.dateFormatLabel\"\r\n (dateChange)=\"onDateRangeChange()\"\r\n />\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle\r\n class=\"mat-datepicker-toggle\"\r\n matIconSuffix\r\n [for]=\"rangePicker\"\r\n ></mat-datepicker-toggle>\r\n <mat-date-range-picker\r\n #rangePicker\r\n [calendarHeaderComponent]=\"datePickerHeader\"\r\n (dateInput)=\"onDateRangeChange()\"\r\n >\r\n <mat-date-range-picker-actions>\r\n <button\r\n mat-button\r\n class=\"mat-text-button ieeesa-datepicker__date-picker-button\"\r\n matDateRangePickerCancel\r\n type=\"button\"\r\n >\r\n {{ buttonActionsInfo?.button?.cancel }}\r\n </button>\r\n <button\r\n mat-button\r\n class=\"mat-text-button ieeesa-datepicker__date-picker-button\"\r\n color=\"primary\"\r\n matDateRangePickerApply\r\n (click)=\"onDateRangeChange()\"\r\n type=\"button\"\r\n >\r\n {{ buttonActionsInfo?.button?.ok }}\r\n </button>\r\n </mat-date-range-picker-actions>\r\n </mat-date-range-picker>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"calendarType === calendarTypes.CALENDAR\"\r\n class=\"ieeesa-datepicker--calendar\"\r\n >\r\n <mat-calendar\r\n [headerComponent]=\"datePickerHeader\"\r\n [(selected)]=\"calendarSelectedDate\"\r\n >\r\n </mat-calendar>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.56em;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25em;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625em;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813em;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375em;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375em;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2em;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125em;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875em;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5em;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625em;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5em;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5em;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875em;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5em;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:rgba(29,25,43,.12)}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:rgba(103,80,164,.12)}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:rgba(103,80,164,.08)}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1em;border:1px solid #cac4d0;background:#ffffff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-datepicker{min-width:360px;width:auto}.ieeesa-datepicker__label-left{display:flex}.ieeesa-datepicker__label-top{display:block}.ieeesa-datepicker__date-picker-button{background:linear-gradient(0deg,rgba(0,98,155,.11),rgba(0,98,155,.11)),#fffbfe}.ieeesa-datepicker--calendar{background:linear-gradient(0deg,rgba(0,98,155,.11),rgba(0,98,155,.11)),#fffbfe;border-radius:16px}.ieeesa-datepicker--calendar .mat-calendar-body-cell-container{margin:0;padding-top:24px 0}.ieeesa-datepicker--calendar .mat-calendar-table-header th,.ieeesa-datepicker--calendar .mat-calendar-body td{height:24px!important;padding-top:24px!important;width:24px!important;padding-bottom:24px!important}.ieeesa-datepicker--calendar .mat-calendar-body-selected{background-color:#00629b;color:#fff;border:none;box-shadow:none}.ieeesa-datepicker--calendar .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#00629b;color:#fff;border:none;box-shadow:none}.ieeesa-datepicker--calendar .mat-calendar-content{padding:0 8px 35px}.ieeesa-datepicker .mat-mdc-form-field{width:-webkit-fill-available;width:-moz-available}.ieeesa-datepicker .mat-mdc-text-field-wrapper.mdc-text-field.mdc-text-field--outlined.mdc-text-field--no-label,.ieeesa-datepicker .mdc-text-field--filled{border-bottom:1px solid #918f90;border-radius:4px 4px 0 0;height:40px;align-items:center;background:linear-gradient(0deg,rgba(0,98,155,.05) 0%,rgba(0,98,155,.05) 100%),#fffbfe}.ieeesa-datepicker .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple:before{border:none}.ieeesa-datepicker .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input,.ieeesa-datepicker .mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:24px;color:#1c1b1f;letter-spacing:.03125em}.ieeesa-datepicker .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input::placeholder,.ieeesa-datepicker .mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input::placeholder{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#c9c5ca;letter-spacing:.03125em}.ieeesa-datepicker .mat-mdc-form-field-hint{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:16px;color:#49454f;letter-spacing:.025em}.ieeesa-datepicker .mat-datepicker-toggle-default-icon{width:18px;height:20px;fill:#104a6b}.ieeesa-datepicker:has(.mdc-text-field--focused) .ieeesa-datepicker__label{color:#00629b!important}.ieeesa-datepicker:has(.mdc-text-field--invalid) .ieeesa-datepicker__label{color:#ba0c2f!important}.ieeesa-datepicker:has(.mdc-text-field--invalid) .mdc-text-field--filled{border-bottom:none}.ieeesa-datepicker:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:before,.ieeesa-datepicker:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:after{border-bottom:2px solid #ba0c2f!important}.mat-datepicker-popup .mat-datepicker-content-container{background:linear-gradient(0deg,rgba(0,98,155,.11),rgba(0,98,155,.11)),#fffbfe;border-radius:28px}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-cell-content{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#1c1b1f;letter-spacing:.03125em}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-selected{background-color:#00629b;color:#fff;border:none;box-shadow:none}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-label{padding-top:0!important;padding-bottom:0!important}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-in-range:before{background-color:#a7a8aa;color:#49454f}.mat-datepicker-popup .mat-datepicker-content{border-radius:28px}.mat-datepicker-popup .mat-calendar-table-header{position:relative;top:25px}.mat-datepicker-popup .mat-calendar-table-header th,.mat-datepicker-popup .mat-calendar-body td{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.mat-datepicker-popup .mat-calendar-table-header-divider,.mat-datepicker-popup .mat-calendar-body tr:first-child td:only-child{display:none}.mat-datepicker-popup .mat-calendar-body tr:first-child td:first-child:not(:only-child){visibility:hidden}.mat-datepicker-popup .mat-calendar-body{position:relative;top:20px}.mat-datepicker-popup .mat-mdc-menu-panel{min-width:360px;width:auto}.mat-datepicker-popup .mat-calendar-body-today{border-color:#00629b;color:#00629b}.mat-datepicker-popup .mat-datepicker-actions{padding:15px 10px 10px}.mat-datepicker-popup .mat-datepicker-toggle{color:#49454f}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormErrorComponent, selector: "ieeesa-form-error", inputs: ["formGroup", "config", "submitResponse"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "ngmodule", type: MatMenuModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i7.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "component", type: i7.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i7.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i7.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i7.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i7.MatStartDate, selector: "input[matStartDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i7.MatEndDate, selector: "input[matEndDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i7.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "component", type: i7.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i7.MatDatepickerCancel, selector: "[matDatepickerCancel], [matDateRangePickerCancel]" }, { kind: "directive", type: i7.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: FormSupportTextComponent, selector: "ieeesa-form-support-text", inputs: ["formGroup", "config"] }], encapsulation: i0.ViewEncapsulation.None }); }
264
+ ], ngImport: i0, template: "<div class=\"ieeesa-datepicker\">\r\n <div\r\n [formGroup]=\"group\"\r\n *ngIf=\"calendarType === calendarTypes.SINGLE_DATE_SELECTION\"\r\n class=\"ieeesa-datepicker--single-selection\"\r\n [ngClass]=\"!isRequired() ? 'ieeesa-datepicker__valid-date' : ''\"\r\n [ngClass]=\"{\r\n 'ieeesa-datepicker__valid-date': !isRequired(),\r\n 'ieeesa-datepicker__label-left': isLabelAlignedLeft,\r\n 'ieeesa-datepicker__label-top': !isLabelAlignedLeft\r\n }\"\r\n >\r\n <mat-label\r\n *ngIf=\"datepickerLabel\"\r\n class=\"ieeesa-datepicker__label ieeesa-body-sm-14\"\r\n >{{ datepickerLabel }}\r\n </mat-label>\r\n <mat-form-field>\r\n <input\r\n matInput\r\n (dateInput)=\"onDateChange()\"\r\n (click)=\"picker.open()\"\r\n [matDatepicker]=\"picker\"\r\n [min]=\"config?.datePicker?.minDate ?? minDate\"\r\n [max]=\"config?.datePicker?.maxDate ?? maxDate\"\r\n [formControlName]=\"config.controlName\"\r\n [placeholder]=\"buttonActionsInfo?.datePicker?.dateFormatLabel\"\r\n #calendar\r\n readonly\r\n />\r\n <mat-datepicker-toggle\r\n class=\"mat-datepicker-toggle\"\r\n matIconSuffix\r\n [for]=\"picker\"\r\n ></mat-datepicker-toggle>\r\n <mat-datepicker\r\n #picker\r\n [calendarHeaderComponent]=\"datePickerHeader\"\r\n (opened)=\"onDatePickerOpen(config.controlName)\"\r\n >\r\n <mat-datepicker-actions>\r\n <button\r\n mat-button\r\n class=\"mat-text-button ieeesa-datepicker__date-picker-button\"\r\n type=\"button\"\r\n matDatepickerCancel\r\n >\r\n {{ buttonActionsInfo?.button?.cancel }}\r\n </button>\r\n <button\r\n mat-button\r\n class=\"mat-text-button ieeesa-datepicker__date-picker-button\"\r\n color=\"primary\"\r\n type=\"button\"\r\n matDatepickerApply\r\n >\r\n {{ buttonActionsInfo?.button?.ok }}\r\n </button>\r\n </mat-datepicker-actions>\r\n </mat-datepicker>\r\n </mat-form-field>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\">\r\n </ieeesa-form-error>\r\n <ieeesa-form-support-text\r\n [formGroup]=\"group\"\r\n [config]=\"config\"\r\n ></ieeesa-form-support-text>\r\n </div>\r\n\r\n <div\r\n [formGroup]=\"group\"\r\n *ngIf=\"calendarType === calendarTypes.DATE_RANGE_SELECTION\"\r\n class=\"ieeesa-datepicker--multi-selection\"\r\n [ngClass]=\"\r\n isLabelAlignedLeft\r\n ? 'ieeesa-datepicker__label-left'\r\n : 'ieeesa-datepicker__label-top'\r\n \"\r\n >\r\n <mat-label\r\n *ngIf=\"datepickerLabel\"\r\n class=\"ieeesa-datepicker__label ieeesa-body-sm-14\"\r\n >{{ datepickerLabel }}\r\n </mat-label>\r\n <mat-form-field>\r\n <mat-date-range-input [rangePicker]=\"rangePicker\" [formGroup]=\"group\">\r\n <input\r\n matStartDate\r\n matInput\r\n [formControlName]=\"config.dateRangeControls?.startDate ?? ''\"\r\n [placeholder]=\"buttonActionsInfo?.datePicker?.dateFormatLabel + ' - '\"\r\n (dateChange)=\"onDateRangeChange()\"\r\n />\r\n <input\r\n matEndDate\r\n matInput\r\n [formControlName]=\"config.dateRangeControls?.endDate ?? ''\"\r\n [placeholder]=\"buttonActionsInfo?.datePicker?.dateFormatLabel\"\r\n (dateChange)=\"onDateRangeChange()\"\r\n />\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle\r\n class=\"mat-datepicker-toggle\"\r\n matIconSuffix\r\n [for]=\"rangePicker\"\r\n ></mat-datepicker-toggle>\r\n <mat-date-range-picker\r\n #rangePicker\r\n [calendarHeaderComponent]=\"datePickerHeader\"\r\n (dateInput)=\"onDateRangeChange()\"\r\n >\r\n <mat-date-range-picker-actions>\r\n <button\r\n mat-button\r\n class=\"mat-text-button ieeesa-datepicker__date-picker-button\"\r\n matDateRangePickerCancel\r\n type=\"button\"\r\n >\r\n {{ buttonActionsInfo?.button?.cancel }}\r\n </button>\r\n <button\r\n mat-button\r\n class=\"mat-text-button ieeesa-datepicker__date-picker-button\"\r\n color=\"primary\"\r\n matDateRangePickerApply\r\n (click)=\"onDateRangeChange()\"\r\n type=\"button\"\r\n >\r\n {{ buttonActionsInfo?.button?.ok }}\r\n </button>\r\n </mat-date-range-picker-actions>\r\n </mat-date-range-picker>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"calendarType === calendarTypes.CALENDAR\"\r\n class=\"ieeesa-datepicker--calendar\"\r\n >\r\n <mat-calendar\r\n [headerComponent]=\"datePickerHeader\"\r\n [(selected)]=\"calendarSelectedDate\"\r\n >\r\n </mat-calendar>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.56em;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25em;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625em;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813em;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375em;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375em;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2em;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125em;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875em;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5em;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625em;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5em;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5em;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875em;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5em;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1em;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-datepicker{min-width:360px;width:auto}.ieeesa-datepicker__label-left{display:flex}.ieeesa-datepicker__label-top{display:block}.ieeesa-datepicker__date-picker-button{background:linear-gradient(0deg,#00629b1c,#00629b1c),#fffbfe}.ieeesa-datepicker--calendar{background:linear-gradient(0deg,#00629b1c,#00629b1c),#fffbfe;border-radius:16px}.ieeesa-datepicker--calendar .mat-calendar-body-cell-container{margin:0;padding-top:24px 0}.ieeesa-datepicker--calendar .mat-calendar-table-header th,.ieeesa-datepicker--calendar .mat-calendar-body td{height:24px!important;padding-top:24px!important;width:24px!important;padding-bottom:24px!important}.ieeesa-datepicker--calendar .mat-calendar-body-selected{background-color:#00629b;color:#fff;border:none;box-shadow:none}.ieeesa-datepicker--calendar .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#00629b;color:#fff;border:none;box-shadow:none}.ieeesa-datepicker--calendar .mat-calendar-content{padding:0 8px 35px}.ieeesa-datepicker .mat-mdc-form-field{width:-webkit-fill-available;width:-moz-available}.ieeesa-datepicker .mat-mdc-text-field-wrapper.mdc-text-field.mdc-text-field--outlined.mdc-text-field--no-label,.ieeesa-datepicker .mdc-text-field--filled{border-bottom:1px solid #918f90;border-radius:4px 4px 0 0;height:40px;align-items:center;background:linear-gradient(0deg,#00629b0d 0% 100%),#fffbfe}.ieeesa-datepicker .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple:before{border:none}.ieeesa-datepicker .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input,.ieeesa-datepicker .mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:24px;color:#1c1b1f;letter-spacing:.03125em}.ieeesa-datepicker .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input::placeholder,.ieeesa-datepicker .mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input::placeholder{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#c9c5ca;letter-spacing:.03125em}.ieeesa-datepicker .mat-mdc-form-field-hint{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:16px;color:#49454f;letter-spacing:.025em}.ieeesa-datepicker .mat-datepicker-toggle-default-icon{width:18px;height:20px;fill:#104a6b}.ieeesa-datepicker:has(.mdc-text-field--focused) .ieeesa-datepicker__label{color:#00629b!important}.ieeesa-datepicker:has(.mdc-text-field--invalid) .ieeesa-datepicker__label{color:#ba0c2f!important}.ieeesa-datepicker:has(.mdc-text-field--invalid) .mdc-text-field--filled{border-bottom:none}.ieeesa-datepicker:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:before,.ieeesa-datepicker:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:after{border-bottom:2px solid #ba0c2f!important}.mat-datepicker-popup .mat-datepicker-content-container{background:linear-gradient(0deg,#00629b1c,#00629b1c),#fffbfe;border-radius:28px}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-cell-content{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#1c1b1f;letter-spacing:.03125em}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-selected{background-color:#00629b;color:#fff;border:none;box-shadow:none}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-label{padding-top:0!important;padding-bottom:0!important}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-in-range:before{background-color:#a7a8aa;color:#49454f}.mat-datepicker-popup .mat-datepicker-content{border-radius:28px}.mat-datepicker-popup .mat-calendar-table-header{position:relative;top:25px}.mat-datepicker-popup .mat-calendar-table-header th,.mat-datepicker-popup .mat-calendar-body td{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.mat-datepicker-popup .mat-calendar-table-header-divider,.mat-datepicker-popup .mat-calendar-body tr:first-child td:only-child{display:none}.mat-datepicker-popup .mat-calendar-body tr:first-child td:first-child:not(:only-child){visibility:hidden}.mat-datepicker-popup .mat-calendar-body{position:relative;top:20px}.mat-datepicker-popup .mat-mdc-menu-panel{min-width:360px;width:auto}.mat-datepicker-popup .mat-calendar-body-today{border-color:#00629b;color:#00629b}.mat-datepicker-popup .mat-datepicker-actions{padding:15px 10px 10px}.mat-datepicker-popup .mat-datepicker-toggle{color:#49454f}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormErrorComponent, selector: "ieeesa-form-error", inputs: ["formGroup", "config", "submitResponse"] }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "ngmodule", type: MatMenuModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i7.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "component", type: i7.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i7.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i7.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i7.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i7.MatStartDate, selector: "input[matStartDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i7.MatEndDate, selector: "input[matEndDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i7.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "component", type: i7.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i7.MatDatepickerCancel, selector: "[matDatepickerCancel], [matDateRangePickerCancel]" }, { kind: "directive", type: i7.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: FormSupportTextComponent, selector: "ieeesa-form-support-text", inputs: ["formGroup", "config"] }], encapsulation: i0.ViewEncapsulation.None }); }
265
265
  }
266
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: DatePickerComponent, decorators: [{
266
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatePickerComponent, decorators: [{
267
267
  type: Component,
268
268
  args: [{ selector: 'ieeesa-date-picker', standalone: true, imports: [
269
269
  CommonModule,
@@ -289,7 +289,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImpor
289
289
  provide: MAT_DATE_FORMATS,
290
290
  useValue: DateFormats,
291
291
  },
292
- ], encapsulation: ViewEncapsulation.None, template: "<div class=\"ieeesa-datepicker\">\r\n <div\r\n [formGroup]=\"group\"\r\n *ngIf=\"calendarType === calendarTypes.SINGLE_DATE_SELECTION\"\r\n class=\"ieeesa-datepicker--single-selection\"\r\n [ngClass]=\"!isRequired() ? 'ieeesa-datepicker__valid-date' : ''\"\r\n [ngClass]=\"{\r\n 'ieeesa-datepicker__valid-date': !isRequired(),\r\n 'ieeesa-datepicker__label-left': isLabelAlignedLeft,\r\n 'ieeesa-datepicker__label-top': !isLabelAlignedLeft\r\n }\"\r\n >\r\n <mat-label\r\n *ngIf=\"datepickerLabel\"\r\n class=\"ieeesa-datepicker__label ieeesa-body-sm-14\"\r\n >{{ datepickerLabel }}\r\n </mat-label>\r\n <mat-form-field>\r\n <input\r\n matInput\r\n (dateInput)=\"onDateChange()\"\r\n (click)=\"picker.open()\"\r\n [matDatepicker]=\"picker\"\r\n [min]=\"config?.datePicker?.minDate ?? minDate\"\r\n [max]=\"config?.datePicker?.maxDate ?? maxDate\"\r\n [formControlName]=\"config.controlName\"\r\n [placeholder]=\"buttonActionsInfo?.datePicker?.dateFormatLabel\"\r\n #calendar\r\n readonly\r\n />\r\n <mat-datepicker-toggle\r\n class=\"mat-datepicker-toggle\"\r\n matIconSuffix\r\n [for]=\"picker\"\r\n ></mat-datepicker-toggle>\r\n <mat-datepicker\r\n #picker\r\n [calendarHeaderComponent]=\"datePickerHeader\"\r\n (opened)=\"onDatePickerOpen(config.controlName)\"\r\n >\r\n <mat-datepicker-actions>\r\n <button\r\n mat-button\r\n class=\"mat-text-button ieeesa-datepicker__date-picker-button\"\r\n type=\"button\"\r\n matDatepickerCancel\r\n >\r\n {{ buttonActionsInfo?.button?.cancel }}\r\n </button>\r\n <button\r\n mat-button\r\n class=\"mat-text-button ieeesa-datepicker__date-picker-button\"\r\n color=\"primary\"\r\n type=\"button\"\r\n matDatepickerApply\r\n >\r\n {{ buttonActionsInfo?.button?.ok }}\r\n </button>\r\n </mat-datepicker-actions>\r\n </mat-datepicker>\r\n </mat-form-field>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\">\r\n </ieeesa-form-error>\r\n <ieeesa-form-support-text\r\n [formGroup]=\"group\"\r\n [config]=\"config\"\r\n ></ieeesa-form-support-text>\r\n </div>\r\n\r\n <div\r\n [formGroup]=\"group\"\r\n *ngIf=\"calendarType === calendarTypes.DATE_RANGE_SELECTION\"\r\n class=\"ieeesa-datepicker--multi-selection\"\r\n [ngClass]=\"\r\n isLabelAlignedLeft\r\n ? 'ieeesa-datepicker__label-left'\r\n : 'ieeesa-datepicker__label-top'\r\n \"\r\n >\r\n <mat-label\r\n *ngIf=\"datepickerLabel\"\r\n class=\"ieeesa-datepicker__label ieeesa-body-sm-14\"\r\n >{{ datepickerLabel }}\r\n </mat-label>\r\n <mat-form-field>\r\n <mat-date-range-input [rangePicker]=\"rangePicker\" [formGroup]=\"group\">\r\n <input\r\n matStartDate\r\n matInput\r\n [formControlName]=\"config.dateRangeControls?.startDate ?? ''\"\r\n [placeholder]=\"buttonActionsInfo?.datePicker?.dateFormatLabel + ' - '\"\r\n (dateChange)=\"onDateRangeChange()\"\r\n />\r\n <input\r\n matEndDate\r\n matInput\r\n [formControlName]=\"config.dateRangeControls?.endDate ?? ''\"\r\n [placeholder]=\"buttonActionsInfo?.datePicker?.dateFormatLabel\"\r\n (dateChange)=\"onDateRangeChange()\"\r\n />\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle\r\n class=\"mat-datepicker-toggle\"\r\n matIconSuffix\r\n [for]=\"rangePicker\"\r\n ></mat-datepicker-toggle>\r\n <mat-date-range-picker\r\n #rangePicker\r\n [calendarHeaderComponent]=\"datePickerHeader\"\r\n (dateInput)=\"onDateRangeChange()\"\r\n >\r\n <mat-date-range-picker-actions>\r\n <button\r\n mat-button\r\n class=\"mat-text-button ieeesa-datepicker__date-picker-button\"\r\n matDateRangePickerCancel\r\n type=\"button\"\r\n >\r\n {{ buttonActionsInfo?.button?.cancel }}\r\n </button>\r\n <button\r\n mat-button\r\n class=\"mat-text-button ieeesa-datepicker__date-picker-button\"\r\n color=\"primary\"\r\n matDateRangePickerApply\r\n (click)=\"onDateRangeChange()\"\r\n type=\"button\"\r\n >\r\n {{ buttonActionsInfo?.button?.ok }}\r\n </button>\r\n </mat-date-range-picker-actions>\r\n </mat-date-range-picker>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"calendarType === calendarTypes.CALENDAR\"\r\n class=\"ieeesa-datepicker--calendar\"\r\n >\r\n <mat-calendar\r\n [headerComponent]=\"datePickerHeader\"\r\n [(selected)]=\"calendarSelectedDate\"\r\n >\r\n </mat-calendar>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.56em;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25em;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625em;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813em;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375em;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375em;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2em;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125em;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875em;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5em;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625em;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5em;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5em;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875em;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5em;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:rgba(29,25,43,.12)}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:rgba(103,80,164,.12)}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:rgba(103,80,164,.08)}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1em;border:1px solid #cac4d0;background:#ffffff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-datepicker{min-width:360px;width:auto}.ieeesa-datepicker__label-left{display:flex}.ieeesa-datepicker__label-top{display:block}.ieeesa-datepicker__date-picker-button{background:linear-gradient(0deg,rgba(0,98,155,.11),rgba(0,98,155,.11)),#fffbfe}.ieeesa-datepicker--calendar{background:linear-gradient(0deg,rgba(0,98,155,.11),rgba(0,98,155,.11)),#fffbfe;border-radius:16px}.ieeesa-datepicker--calendar .mat-calendar-body-cell-container{margin:0;padding-top:24px 0}.ieeesa-datepicker--calendar .mat-calendar-table-header th,.ieeesa-datepicker--calendar .mat-calendar-body td{height:24px!important;padding-top:24px!important;width:24px!important;padding-bottom:24px!important}.ieeesa-datepicker--calendar .mat-calendar-body-selected{background-color:#00629b;color:#fff;border:none;box-shadow:none}.ieeesa-datepicker--calendar .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#00629b;color:#fff;border:none;box-shadow:none}.ieeesa-datepicker--calendar .mat-calendar-content{padding:0 8px 35px}.ieeesa-datepicker .mat-mdc-form-field{width:-webkit-fill-available;width:-moz-available}.ieeesa-datepicker .mat-mdc-text-field-wrapper.mdc-text-field.mdc-text-field--outlined.mdc-text-field--no-label,.ieeesa-datepicker .mdc-text-field--filled{border-bottom:1px solid #918f90;border-radius:4px 4px 0 0;height:40px;align-items:center;background:linear-gradient(0deg,rgba(0,98,155,.05) 0%,rgba(0,98,155,.05) 100%),#fffbfe}.ieeesa-datepicker .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple:before{border:none}.ieeesa-datepicker .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input,.ieeesa-datepicker .mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:24px;color:#1c1b1f;letter-spacing:.03125em}.ieeesa-datepicker .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input::placeholder,.ieeesa-datepicker .mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input::placeholder{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#c9c5ca;letter-spacing:.03125em}.ieeesa-datepicker .mat-mdc-form-field-hint{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:16px;color:#49454f;letter-spacing:.025em}.ieeesa-datepicker .mat-datepicker-toggle-default-icon{width:18px;height:20px;fill:#104a6b}.ieeesa-datepicker:has(.mdc-text-field--focused) .ieeesa-datepicker__label{color:#00629b!important}.ieeesa-datepicker:has(.mdc-text-field--invalid) .ieeesa-datepicker__label{color:#ba0c2f!important}.ieeesa-datepicker:has(.mdc-text-field--invalid) .mdc-text-field--filled{border-bottom:none}.ieeesa-datepicker:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:before,.ieeesa-datepicker:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:after{border-bottom:2px solid #ba0c2f!important}.mat-datepicker-popup .mat-datepicker-content-container{background:linear-gradient(0deg,rgba(0,98,155,.11),rgba(0,98,155,.11)),#fffbfe;border-radius:28px}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-cell-content{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#1c1b1f;letter-spacing:.03125em}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-selected{background-color:#00629b;color:#fff;border:none;box-shadow:none}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-label{padding-top:0!important;padding-bottom:0!important}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-in-range:before{background-color:#a7a8aa;color:#49454f}.mat-datepicker-popup .mat-datepicker-content{border-radius:28px}.mat-datepicker-popup .mat-calendar-table-header{position:relative;top:25px}.mat-datepicker-popup .mat-calendar-table-header th,.mat-datepicker-popup .mat-calendar-body td{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.mat-datepicker-popup .mat-calendar-table-header-divider,.mat-datepicker-popup .mat-calendar-body tr:first-child td:only-child{display:none}.mat-datepicker-popup .mat-calendar-body tr:first-child td:first-child:not(:only-child){visibility:hidden}.mat-datepicker-popup .mat-calendar-body{position:relative;top:20px}.mat-datepicker-popup .mat-mdc-menu-panel{min-width:360px;width:auto}.mat-datepicker-popup .mat-calendar-body-today{border-color:#00629b;color:#00629b}.mat-datepicker-popup .mat-datepicker-actions{padding:15px 10px 10px}.mat-datepicker-popup .mat-datepicker-toggle{color:#49454f}\n"] }]
292
+ ], encapsulation: ViewEncapsulation.None, template: "<div class=\"ieeesa-datepicker\">\r\n <div\r\n [formGroup]=\"group\"\r\n *ngIf=\"calendarType === calendarTypes.SINGLE_DATE_SELECTION\"\r\n class=\"ieeesa-datepicker--single-selection\"\r\n [ngClass]=\"!isRequired() ? 'ieeesa-datepicker__valid-date' : ''\"\r\n [ngClass]=\"{\r\n 'ieeesa-datepicker__valid-date': !isRequired(),\r\n 'ieeesa-datepicker__label-left': isLabelAlignedLeft,\r\n 'ieeesa-datepicker__label-top': !isLabelAlignedLeft\r\n }\"\r\n >\r\n <mat-label\r\n *ngIf=\"datepickerLabel\"\r\n class=\"ieeesa-datepicker__label ieeesa-body-sm-14\"\r\n >{{ datepickerLabel }}\r\n </mat-label>\r\n <mat-form-field>\r\n <input\r\n matInput\r\n (dateInput)=\"onDateChange()\"\r\n (click)=\"picker.open()\"\r\n [matDatepicker]=\"picker\"\r\n [min]=\"config?.datePicker?.minDate ?? minDate\"\r\n [max]=\"config?.datePicker?.maxDate ?? maxDate\"\r\n [formControlName]=\"config.controlName\"\r\n [placeholder]=\"buttonActionsInfo?.datePicker?.dateFormatLabel\"\r\n #calendar\r\n readonly\r\n />\r\n <mat-datepicker-toggle\r\n class=\"mat-datepicker-toggle\"\r\n matIconSuffix\r\n [for]=\"picker\"\r\n ></mat-datepicker-toggle>\r\n <mat-datepicker\r\n #picker\r\n [calendarHeaderComponent]=\"datePickerHeader\"\r\n (opened)=\"onDatePickerOpen(config.controlName)\"\r\n >\r\n <mat-datepicker-actions>\r\n <button\r\n mat-button\r\n class=\"mat-text-button ieeesa-datepicker__date-picker-button\"\r\n type=\"button\"\r\n matDatepickerCancel\r\n >\r\n {{ buttonActionsInfo?.button?.cancel }}\r\n </button>\r\n <button\r\n mat-button\r\n class=\"mat-text-button ieeesa-datepicker__date-picker-button\"\r\n color=\"primary\"\r\n type=\"button\"\r\n matDatepickerApply\r\n >\r\n {{ buttonActionsInfo?.button?.ok }}\r\n </button>\r\n </mat-datepicker-actions>\r\n </mat-datepicker>\r\n </mat-form-field>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\">\r\n </ieeesa-form-error>\r\n <ieeesa-form-support-text\r\n [formGroup]=\"group\"\r\n [config]=\"config\"\r\n ></ieeesa-form-support-text>\r\n </div>\r\n\r\n <div\r\n [formGroup]=\"group\"\r\n *ngIf=\"calendarType === calendarTypes.DATE_RANGE_SELECTION\"\r\n class=\"ieeesa-datepicker--multi-selection\"\r\n [ngClass]=\"\r\n isLabelAlignedLeft\r\n ? 'ieeesa-datepicker__label-left'\r\n : 'ieeesa-datepicker__label-top'\r\n \"\r\n >\r\n <mat-label\r\n *ngIf=\"datepickerLabel\"\r\n class=\"ieeesa-datepicker__label ieeesa-body-sm-14\"\r\n >{{ datepickerLabel }}\r\n </mat-label>\r\n <mat-form-field>\r\n <mat-date-range-input [rangePicker]=\"rangePicker\" [formGroup]=\"group\">\r\n <input\r\n matStartDate\r\n matInput\r\n [formControlName]=\"config.dateRangeControls?.startDate ?? ''\"\r\n [placeholder]=\"buttonActionsInfo?.datePicker?.dateFormatLabel + ' - '\"\r\n (dateChange)=\"onDateRangeChange()\"\r\n />\r\n <input\r\n matEndDate\r\n matInput\r\n [formControlName]=\"config.dateRangeControls?.endDate ?? ''\"\r\n [placeholder]=\"buttonActionsInfo?.datePicker?.dateFormatLabel\"\r\n (dateChange)=\"onDateRangeChange()\"\r\n />\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle\r\n class=\"mat-datepicker-toggle\"\r\n matIconSuffix\r\n [for]=\"rangePicker\"\r\n ></mat-datepicker-toggle>\r\n <mat-date-range-picker\r\n #rangePicker\r\n [calendarHeaderComponent]=\"datePickerHeader\"\r\n (dateInput)=\"onDateRangeChange()\"\r\n >\r\n <mat-date-range-picker-actions>\r\n <button\r\n mat-button\r\n class=\"mat-text-button ieeesa-datepicker__date-picker-button\"\r\n matDateRangePickerCancel\r\n type=\"button\"\r\n >\r\n {{ buttonActionsInfo?.button?.cancel }}\r\n </button>\r\n <button\r\n mat-button\r\n class=\"mat-text-button ieeesa-datepicker__date-picker-button\"\r\n color=\"primary\"\r\n matDateRangePickerApply\r\n (click)=\"onDateRangeChange()\"\r\n type=\"button\"\r\n >\r\n {{ buttonActionsInfo?.button?.ok }}\r\n </button>\r\n </mat-date-range-picker-actions>\r\n </mat-date-range-picker>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"calendarType === calendarTypes.CALENDAR\"\r\n class=\"ieeesa-datepicker--calendar\"\r\n >\r\n <mat-calendar\r\n [headerComponent]=\"datePickerHeader\"\r\n [(selected)]=\"calendarSelectedDate\"\r\n >\r\n </mat-calendar>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.56em;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25em;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625em;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813em;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375em;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375em;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2em;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125em;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875em;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5em;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625em;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5em;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5em;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875em;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5em;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1em;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-datepicker{min-width:360px;width:auto}.ieeesa-datepicker__label-left{display:flex}.ieeesa-datepicker__label-top{display:block}.ieeesa-datepicker__date-picker-button{background:linear-gradient(0deg,#00629b1c,#00629b1c),#fffbfe}.ieeesa-datepicker--calendar{background:linear-gradient(0deg,#00629b1c,#00629b1c),#fffbfe;border-radius:16px}.ieeesa-datepicker--calendar .mat-calendar-body-cell-container{margin:0;padding-top:24px 0}.ieeesa-datepicker--calendar .mat-calendar-table-header th,.ieeesa-datepicker--calendar .mat-calendar-body td{height:24px!important;padding-top:24px!important;width:24px!important;padding-bottom:24px!important}.ieeesa-datepicker--calendar .mat-calendar-body-selected{background-color:#00629b;color:#fff;border:none;box-shadow:none}.ieeesa-datepicker--calendar .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#00629b;color:#fff;border:none;box-shadow:none}.ieeesa-datepicker--calendar .mat-calendar-content{padding:0 8px 35px}.ieeesa-datepicker .mat-mdc-form-field{width:-webkit-fill-available;width:-moz-available}.ieeesa-datepicker .mat-mdc-text-field-wrapper.mdc-text-field.mdc-text-field--outlined.mdc-text-field--no-label,.ieeesa-datepicker .mdc-text-field--filled{border-bottom:1px solid #918f90;border-radius:4px 4px 0 0;height:40px;align-items:center;background:linear-gradient(0deg,#00629b0d 0% 100%),#fffbfe}.ieeesa-datepicker .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple:before{border:none}.ieeesa-datepicker .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input,.ieeesa-datepicker .mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:24px;color:#1c1b1f;letter-spacing:.03125em}.ieeesa-datepicker .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input::placeholder,.ieeesa-datepicker .mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input::placeholder{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#c9c5ca;letter-spacing:.03125em}.ieeesa-datepicker .mat-mdc-form-field-hint{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:16px;color:#49454f;letter-spacing:.025em}.ieeesa-datepicker .mat-datepicker-toggle-default-icon{width:18px;height:20px;fill:#104a6b}.ieeesa-datepicker:has(.mdc-text-field--focused) .ieeesa-datepicker__label{color:#00629b!important}.ieeesa-datepicker:has(.mdc-text-field--invalid) .ieeesa-datepicker__label{color:#ba0c2f!important}.ieeesa-datepicker:has(.mdc-text-field--invalid) .mdc-text-field--filled{border-bottom:none}.ieeesa-datepicker:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:before,.ieeesa-datepicker:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:after{border-bottom:2px solid #ba0c2f!important}.mat-datepicker-popup .mat-datepicker-content-container{background:linear-gradient(0deg,#00629b1c,#00629b1c),#fffbfe;border-radius:28px}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-cell-content{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#1c1b1f;letter-spacing:.03125em}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-selected{background-color:#00629b;color:#fff;border:none;box-shadow:none}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-label{padding-top:0!important;padding-bottom:0!important}.mat-datepicker-popup .mat-datepicker-content-container .mat-calendar-body-in-range:before{background-color:#a7a8aa;color:#49454f}.mat-datepicker-popup .mat-datepicker-content{border-radius:28px}.mat-datepicker-popup .mat-calendar-table-header{position:relative;top:25px}.mat-datepicker-popup .mat-calendar-table-header th,.mat-datepicker-popup .mat-calendar-body td{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125em;line-height:24px;color:#000;letter-spacing:.03125em}.mat-datepicker-popup .mat-calendar-table-header-divider,.mat-datepicker-popup .mat-calendar-body tr:first-child td:only-child{display:none}.mat-datepicker-popup .mat-calendar-body tr:first-child td:first-child:not(:only-child){visibility:hidden}.mat-datepicker-popup .mat-calendar-body{position:relative;top:20px}.mat-datepicker-popup .mat-mdc-menu-panel{min-width:360px;width:auto}.mat-datepicker-popup .mat-calendar-body-today{border-color:#00629b;color:#00629b}.mat-datepicker-popup .mat-datepicker-actions{padding:15px 10px 10px}.mat-datepicker-popup .mat-datepicker-toggle{color:#49454f}\n"] }]
293
293
  }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i0.ChangeDetectorRef }, { type: i2.DatepickerService }, { type: i3.FormUtilityService }]; }, propDecorators: { selectedDates: [{
294
294
  type: Input
295
295
  }], selectedRange: [{
@@ -317,4 +317,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImpor
317
317
  }], selectedDateRange: [{
318
318
  type: Output
319
319
  }] } });
320
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc2VudGF0aW9uL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBRUwsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsV0FBVyxFQUVYLG1CQUFtQixFQUNuQixVQUFVLEdBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLCtCQUErQixHQUNoQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sRUFDTCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLGVBQWUsR0FDaEIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxF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QixJQUFJLEVBQUUsQ0FBQyxlQUFlLEVBQUUsK0JBQStCLENBQUM7eUJBQ3pEO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxnQkFBZ0I7NEJBQ3pCLFFBQVEsRUFBRSxXQUFXO3lCQUN0QjtxQkFDRixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJO21NQWFqQyxhQUFhO3NCQURoQixLQUFLO2dCQTZCRixhQUFhO3NCQURoQixLQUFLO2dCQXNCRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdGFibGUsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBGb3JtQnVpbGRlcixcclxuICBGb3JtQ29udHJvbCxcclxuICBGb3JtR3JvdXAsXHJcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICBWYWxpZGF0b3JzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICBNb21lbnREYXRlQWRhcHRlcixcclxuICBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TLFxyXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsLW1vbWVudC1hZGFwdGVyJztcclxuaW1wb3J0IHtcclxuICBEYXRlQWRhcHRlcixcclxuICBNQVRfREFURV9GT1JNQVRTLFxyXG4gIE1BVF9EQVRFX0xPQ0FMRSxcclxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgbW9tZW50XyBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQgeyBEYXRlUGlja2VySGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9kYXRlLXBpY2tlci1oZWFkZXIvZGF0ZS1waWNrZXItaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVGb3JtYXRzIH0gZnJvbSAnLi4vLi4vZGF0ZS1mb3JtYXRzJztcclxuaW1wb3J0IHsgRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi8vbW9kZWxzL2ZpZWxkLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IENhbGVuZGFyVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9jYWxlbmRhci5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1FcnJvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZm9ybS1lcnJvci9mb3JtLWVycm9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVwaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0ZXBpY2tlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybUZpZWxkIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tZmllbGQubW9kZWwnO1xyXG5pbXBvcnQgKiBhcyBidXR0b25BY3Rpb25zSW5mbyBmcm9tICcuLi8uLi9hc3NldHMvY29uc3RhbnRzLmpzb24nO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS1jb250cm9sLXR5cGVzLm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybVV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZm9ybS11dGlsaXR5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3JtU3VwcG9ydFRleHRDb21wb25lbnQgfSBmcm9tICcuLi9mb3JtLXN1cHBvcnQtdGV4dC9mb3JtLXN1cHBvcnQtdGV4dC5jb21wb25lbnQnO1xyXG5jb25zdCBtb21lbnQgPSBtb21lbnRfO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ3VzdG9tRGF0ZUFkYXB0ZXIgZXh0ZW5kcyBNb21lbnREYXRlQWRhcHRlciB7XHJcbiAgLyoqXHJcbiAgICogT3ZlcnJpZGVzIHRoZSBnZXREYXlPZldlZWtOYW1lcyBtZXRob2Qgb2YgTW9tZW50RGF0ZUFkYXB0ZXIgdG8gc2hvdyBmaXJzdCBsZXR0ZXIgb2YgZGF5IGluIGNhcGl0YWwgaW4gZGF0ZSBwaWNrZXIgaGVhZGVyLlxyXG4gICAqIEByZXR1cm4ge3N0cmluZ1tdfVxyXG4gICAqIEBtZW1iZXJvZiBDdXN0b21EYXRlQWRhcHRlclxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIGdldERheU9mV2Vla05hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBbJ1MnLCAnTScsICdUJywgJ1cnLCAnVCcsICdGJywgJ1MnXTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEYXRlIHNlbGVjdGlvbiBvZiB0eXBlIFNJTkdMRV9EQVRFX1NFTEVDVElPTiwgREFURV9SQU5HRV9TRUxFQ1RJT04gYW5kIENBTEVOREFSIGFuZCBoYW5kbGluZyBvZiBjYWxlbmRhciBldmVudHMuXHJcbiAqIEBleHBvcnRcclxuICogQGNsYXNzIERhdGVQaWNrZXJDb21wb25lbnRcclxuICogQGltcGxlbWVudHMge0Zvcm1GaWVsZH1cclxuICogQGltcGxlbWVudHMge09uSW5pdH1cclxuICogQGltcGxlbWVudHMge0FmdGVyVmlld0luaXR9XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS1kYXRlLXBpY2tlcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRm9ybUVycm9yQ29tcG9uZW50LFxyXG4gICAgTWF0RXhwYW5zaW9uTW9kdWxlLFxyXG4gICAgTWF0TWVudU1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXHJcbiAgICBEYXRlUGlja2VySGVhZGVyQ29tcG9uZW50LFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgRm9ybVN1cHBvcnRUZXh0Q29tcG9uZW50LFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7IHByb3ZpZGU6IE1BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlMsIHVzZVZhbHVlOiB7IHVzZVV0YzogdHJ1ZSB9IH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IERhdGVBZGFwdGVyLFxyXG4gICAgICB1c2VDbGFzczogQ3VzdG9tRGF0ZUFkYXB0ZXIsXHJcbiAgICAgIGRlcHM6IFtNQVRfREFURV9MT0NBTEUsIE1BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlNdLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUyxcclxuICAgICAgdXNlVmFsdWU6IERhdGVGb3JtYXRzLFxyXG4gICAgfSxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIEZvcm1GaWVsZCwgT25Jbml0IHtcclxuICBjb25maWchOiBGaWVsZENvbmZpZztcclxuICBncm91cCE6IEZvcm1Hcm91cDtcclxuICBkYXRlUGlja2VySGVhZGVyID0gRGF0ZVBpY2tlckhlYWRlckNvbXBvbmVudDtcclxuICBjYWxlbmRhclR5cGVzID0gQ2FsZW5kYXJUeXBlO1xyXG4gIHByaXZhdGUgX3NlbGVjdGVkRGF0ZXM6IHN0cmluZ1tdID0gW107XHJcbiAgLyoqXHJcbiAgICogR2V0cyBwcmVzZWxlY3RlZCBkYXRlcyBhcyBhbiBpbnB1dC5cclxuICAgKiBAbWVtYmVyb2YgRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNlbGVjdGVkRGF0ZXModmFsdWU6IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLl9zZWxlY3RlZERhdGVzID0gdmFsdWU7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2xOYW1lICYmXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlcz8ubGVuZ3RoID09PSAxICYmXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlc1swXSAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgIHRoaXMuY2FsZW5kYXJUeXBlID09PSBDYWxlbmRhclR5cGUuU0lOR0xFX0RBVEVfU0VMRUNUSU9OXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5kYXRlcGlja2VyU2VydmljZS5zZWxlY3RlZERhdGUgPSB2YWx1ZVswXTtcclxuICAgICAgdGhpcy5jcmVhdGVGb3JtR3JvdXAodmFsdWVbMF0pO1xyXG4gICAgICB0aGlzLmRhdGVwaWNrZXJTZXJ2aWNlLmlzUmFuZ2VTZWxlY3Rpb24gPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyBzZWxlY3RlZCBkYXRlc1xyXG4gICAqIEByZWFkb25seVxyXG4gICAqIEB0eXBlIHtzdHJpbmdbXX1cclxuICAgKiBAbWVtYmVyb2YgRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldCBzZWxlY3RlZERhdGVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZERhdGVzO1xyXG4gIH1cclxuICBwcml2YXRlIF9zZWxlY3RlZFJhbmdlOiBzdHJpbmdbXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEdldHMgcHJlc2VsZWN0ZWQgZGF0ZSByYW5nZSBhcyBhbiBpbnB1dC5cclxuICAgKiBAbWVtYmVyb2YgRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNlbGVjdGVkUmFuZ2UodmFsdWU6IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLl9zZWxlY3RlZFJhbmdlID0gdmFsdWU7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRSYW5nZT8ubGVuZ3RoID09PSAyICYmXHJcbiAgICAgIHRoaXMuY2FsZW5kYXJUeXBlID09PSBDYWxlbmRhclR5cGUuREFURV9SQU5HRV9TRUxFQ1RJT05cclxuICAgICkge1xyXG4gICAgICB0aGlzLmNyZWF0ZUZvcm1Hcm91cFdpdGhSYW5nZUNvbnRyb2xzKHZhbHVlWzBdLCB2YWx1ZVsxXSk7XHJcbiAgICAgIHRoaXMuc2V0RGF0ZVJhbmdlKHZhbHVlWzBdLCB2YWx1ZVsxXSk7XHJcbiAgICAgIHRoaXMuZGF0ZXBpY2tlclNlcnZpY2UuaXNSYW5nZVNlbGVjdGlvbiA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgc2VsZWN0ZWQgZGF0ZSByYW5nZVxyXG4gICAqIEByZWFkb25seVxyXG4gICAqIEB0eXBlIHtzdHJpbmdbXX1cclxuICAgKiBAbWVtYmVyb2YgRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldCBzZWxlY3RlZFJhbmdlKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZFJhbmdlO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgY2FsZW5kYXJUeXBlOiBDYWxlbmRhclR5cGUgPSBDYWxlbmRhclR5cGUuU0lOR0xFX0RBVEVfU0VMRUNUSU9OO1xyXG4gIEBJbnB1dCgpIGZvcm1Db250cm9sTmFtZSE6IHN0cmluZztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlckxhYmVsID0gJyc7XHJcbiAgQElucHV0KCkgaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzTGFiZWxBbGlnbmVkTGVmdCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRhdGVwaWNrZXJMYWJlbCA9ICcnO1xyXG4gIEBJbnB1dCgpIGRhdGVSYW5nZSE6IHsgbWluRGF0ZTogc3RyaW5nOyBtYXhEYXRlOiBzdHJpbmcgfTtcclxuICBASW5wdXQoKSBtaW5EYXRlITogRGF0ZSB8IG1vbWVudC5Nb21lbnQ7XHJcbiAgQElucHV0KCkgbWF4RGF0ZSE6IERhdGUgfCBtb21lbnQuTW9tZW50O1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZERhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWREYXRlUmFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgIHN0YXJ0RGF0ZTogc3RyaW5nO1xyXG4gICAgZW5kRGF0ZTogc3RyaW5nO1xyXG4gIH0+KCk7XHJcbiAgY2FsZW5kYXJTZWxlY3RlZERhdGUhOiBEYXRlO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgYnV0dG9uQWN0aW9uc0luZm86IGFueSA9IGJ1dHRvbkFjdGlvbnNJbmZvO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgZGF0ZXBpY2tlclNlcnZpY2U6IERhdGVwaWNrZXJTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGZvcm1VdGlsaXR5U2VydmljZTogRm9ybVV0aWxpdHlTZXJ2aWNlIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1lbXB0eS1mdW5jdGlvbixcclxuICApIHt9XHJcbiAgLyoqXHJcbiAgICogSW1wbGVtZW50YXRpb24gb2YgIG5nT25Jbml0IGxpZmVjeWNsZSBob29rIG1ldGhvZCB0byBjcmVhdGVzIGNvbmZpZyBpZiBpdHMgdW5kZWZpbmVkIGFuZCBzZXRzIGNvbXBvbmVudHMgaW5zdGFuY2UgdmFyaWFibGVzIGlmIGNvbmZpZyBpcyBkZWZpbmVkLiBTZXRzIHRoZSBmb3JtIGdyb3VwIHZhbHVlIGlmIGZvcm0gZ3JvdXAgaXMgZGVmaW5lZC5cclxuICAgKiBAbWVtYmVyb2YgRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNvbmZpZykge1xyXG4gICAgICBjb25zdCBjb250cm9sTmFtZSA9IHRoaXMuZm9ybUNvbnRyb2xOYW1lID8/ICdkYXRlcGlja2VyJztcclxuICAgICAgdGhpcy5jb25maWcgPSB0aGlzLmZvcm1VdGlsaXR5U2VydmljZS5nZXRGb3JtRmllbGRDb25maWcoXHJcbiAgICAgICAgY29udHJvbE5hbWUsXHJcbiAgICAgICAgRm9ybUNvbnRyb2xUeXBlLkRBVEVcclxuICAgICAgKTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuY29uZmlnICYmXHJcbiAgICAgICAgdGhpcy5jYWxlbmRhclR5cGUgPT09IENhbGVuZGFyVHlwZS5EQVRFX1JBTkdFX1NFTEVDVElPTlxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLmNvbmZpZy5kYXRlUmFuZ2VDb250cm9scyA9IHtcclxuICAgICAgICAgIHN0YXJ0RGF0ZTogJ3N0YXJ0RGF0ZScsXHJcbiAgICAgICAgICBlbmREYXRlOiAnZW5kRGF0ZScsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pbml0aWFsaXplUHJvcGVydGllc0Zyb21Db25maWcoKTtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5ncm91cCkge1xyXG4gICAgICBpZiAodGhpcy5jYWxlbmRhclR5cGUgPT09IENhbGVuZGFyVHlwZS5TSU5HTEVfREFURV9TRUxFQ1RJT04pIHtcclxuICAgICAgICB0aGlzLmNyZWF0ZUZvcm1Hcm91cCgpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY2FsZW5kYXJUeXBlID09PSBDYWxlbmRhclR5cGUuREFURV9SQU5HRV9TRUxFQ1RJT04pIHtcclxuICAgICAgICB0aGlzLmNyZWF0ZUZvcm1Hcm91cFdpdGhSYW5nZUNvbnRyb2xzKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemVzIHByb3BlcnRpZXMgZnJvbSB0aGUgY29uZmlnIGlucHV0XHJcbiAgICogQG1lbWJlcm9mIERhdGVQaWNrZXJDb21wb25lbnRcclxuICAgKi9cclxuICBpbml0aWFsaXplUHJvcGVydGllc0Zyb21Db25maWcoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhbGVuZGFyVHlwZSA9XHJcbiAgICAgIHRoaXMuY29uZmlnPy5kYXRlUGlja2VyPy5jYWxlbmRhclR5cGUgPz9cclxuICAgICAgQ2FsZW5kYXJUeXBlLlNJTkdMRV9EQVRFX1NFTEVDVElPTjtcclxuICAgIHRoaXMucGxhY2Vob2xkZXJMYWJlbCA9IHRoaXMuY29uZmlnPy5kYXRlUGlja2VyPy5wbGFjZWhvbGRlckxhYmVsID8/ICcnO1xyXG4gICAgdGhpcy5kYXRlcGlja2VyTGFiZWwgPSB0aGlzLmNvbmZpZz8uZGF0ZVBpY2tlcj8ubGFiZWwgPz8gJyc7XHJcbiAgICB0aGlzLmlzTGFiZWxBbGlnbmVkTGVmdCA9XHJcbiAgICAgIHRoaXMuY29uZmlnPy5kYXRlUGlja2VyPy5pc0xhYmVsQWxpZ25lZExlZnQgPz8gZmFsc2U7XHJcbiAgICB0aGlzLmRhdGVSYW5nZSA9IHRoaXMuY29uZmlnPy5kYXRlUGlja2VyPy5kYXRlUmFuZ2UgPz8ge1xyXG4gICAgICBtaW5EYXRlOiAnJyxcclxuICAgICAgbWF4RGF0ZTogJycsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5pc0Rpc2FibGVkID0gISF0aGlzLmNvbmZpZy5kaXNhYmxlZDtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5jb25maWcuZGF0ZVBpY2tlcj8uY2FsZW5kYXJUeXBlID09PSBDYWxlbmRhclR5cGUuREFURV9SQU5HRV9TRUxFQ1RJT05cclxuICAgICkge1xyXG4gICAgICB0aGlzLmdyb3VwLmFkZENvbnRyb2woJ3N0YXJ0RGF0ZScsIG5ldyBGb3JtQ29udHJvbCgpKTtcclxuICAgICAgdGhpcy5ncm91cC5hZGRDb250cm9sKCdlbmREYXRlJywgbmV3IEZvcm1Db250cm9sKCkpO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiBIYW5kbGUgZGF0ZSBjaGFuZ2UgZXZlbnQgYW5kIGVtaXRzIHRoZSBzZWxlY3RlZCBkYXRlLlxyXG4gICAqIEBtZW1iZXJvZiBEYXRlUGlja2VyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25EYXRlQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGUuZW1pdCh0aGlzLmdyb3VwPy5nZXQodGhpcy5jb25maWcuY29udHJvbE5hbWUpPy52YWx1ZSk7XHJcbiAgICB0aGlzLmRhdGVwaWNrZXJTZXJ2aWNlLnNlbGVjdGVkRGF0ZSA9IHRoaXMuZ3JvdXA/LmdldChcclxuICAgICAgdGhpcy5jb25maWcuY29udHJvbE5hbWVcclxuICAgICk/LnZhbHVlO1xyXG4gICAgdGhpcy5kYXRlcGlja2VyU2VydmljZS5pc1JhbmdlU2VsZWN0aW9uID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIGFuZCBlbWl0cyBzZWxlY3RlZCBkYXRlIHJhbmdlXHJcbiAgICogQG1lbWJlcm9mIERhdGVQaWNrZXJDb21wb25lbnRcclxuICAgKi9cclxuICBvbkRhdGVSYW5nZUNoYW5nZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGF0ZXBpY2tlclNlcnZpY2UuaXNSYW5nZVNlbGVjdGlvbiA9IHRydWU7XHJcbiAgICB0aGlzLnNldERhdGVSYW5nZShcclxuICAgICAgdGhpcy5ncm91cC52YWx1ZS5zdGFydERhdGUgPz8gJycsXHJcbiAgICAgIHRoaXMuZ3JvdXAudmFsdWUuZW5kRGF0ZSA/PyAnJ1xyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLmVtaXQoe1xyXG4gICAgICBzdGFydERhdGU6IHRoaXMuZ3JvdXAudmFsdWUuc3RhcnREYXRlID8/ICcnLFxyXG4gICAgICBlbmREYXRlOiB0aGlzLmdyb3VwLnZhbHVlLmVuZERhdGUgPz8gJycsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIG1pbiBhbmQgbWF4IGRhdGUgcmFuZ2UuXHJcbiAgICogQHBhcmFtIHsoc3RyaW5nIHwgRGF0ZSl9IHN0YXJ0RGF0ZVxyXG4gICAqIEBwYXJhbSB7KHN0cmluZyB8IERhdGUpfSBlbmREYXRlXHJcbiAgICogQG1lbWJlcm9mIERhdGVQaWNrZXJDb21wb25lbnRcclxuICAgKi9cclxuICBzZXREYXRlUmFuZ2Uoc3RhcnREYXRlOiBzdHJpbmcgfCBEYXRlLCBlbmREYXRlOiBzdHJpbmcgfCBEYXRlKTogdm9pZCB7XHJcbiAgICB0aGlzLmRhdGVwaWNrZXJTZXJ2aWNlLnJhbmdlLm5leHQoe1xyXG4gICAgICBzdGFydDogc3RhcnREYXRlLFxyXG4gICAgICBlbmQ6IGVuZERhdGUsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgZm9ybSBncm91cCBhbmQgaW5pdGlhbGl6ZXMgZm9ybSB2YWx1ZVxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbZGF0ZV1cclxuICAgKiBAbWVtYmVyb2YgRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGNyZWF0ZUZvcm1Hcm91cChkYXRlPzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmdyb3VwID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIFt0aGlzLmZvcm1Db250cm9sTmFtZSA/IHRoaXMuZm9ybUNvbnRyb2xOYW1lIDogJ2RhdGVwaWNrZXInXTogZGF0ZVxyXG4gICAgICAgID8gW21vbWVudChkYXRlKS51dGModHJ1ZSkuZm9ybWF0KCldXHJcbiAgICAgICAgOiBbXSxcclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBDcmVhdGVzIGZvcm0gZ3JvdXAgd2l0aCByYW5nZSB0eXBlIG9mIGNvbnRyb2xzIGFuZCBzZXRzIHRoZSBtaW4gYW5kIG1heCByYW5nZSB2YWx1ZXMuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtzdGFydERhdGVdXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtlbmREYXRlXVxyXG4gICAqIEBtZW1iZXJvZiBEYXRlUGlja2VyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgY3JlYXRlRm9ybUdyb3VwV2l0aFJhbmdlQ29udHJvbHMoc3RhcnREYXRlPzogc3RyaW5nLCBlbmREYXRlPzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmdyb3VwID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIHN0YXJ0RGF0ZTogc3RhcnREYXRlID8gW21vbWVudChzdGFydERhdGUpLnV0Yyh0cnVlKS5mb3JtYXQoKV0gOiBbXSxcclxuICAgICAgZW5kRGF0ZTogZW5kRGF0ZSA/IFttb21lbnQoZW5kRGF0ZSkudXRjKHRydWUpLmZvcm1hdCgpXSA6IFtdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIENoZWNrcyBpZiB0aGUgZm9ybSBjb250cm9sIGhhcyByZXF1aXJlZCB2YWxpZGF0b3IuXHJcbiAgICogQHJldHVybiB7Ym9vbGVhbn1cclxuICAgKiBAbWVtYmVyb2YgRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGlzUmVxdWlyZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5ncm91cD8uY29udHJvbHNbdGhpcy5jb25maWc/LmNvbnRyb2xOYW1lXT8uaGFzVmFsaWRhdG9yKFxyXG4gICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgdXBkYXRlZCBzZWxlY3RlZCBkYXRlIHVzaW5nIGRhdGVwaWNrZXIgc2VydmljZSB3aGljaCB3aWxsIGJlIHNob3duIGluIGRhdGVwaWNrZXIgaGVhZGVyXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNvbnRyb2xOYW1lXHJcbiAgICogQG1lbWJlcm9mIERhdGVQaWNrZXJDb21wb25lbnRcclxuICAgKi9cclxuICBvbkRhdGVQaWNrZXJPcGVuKGNvbnRyb2xOYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZGF0ZXBpY2tlclNlcnZpY2Uuc2VsZWN0ZWREYXRlID0gdGhpcy5ncm91cC5nZXQoY29udHJvbE5hbWUpPy52YWx1ZTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImllZWVzYS1kYXRlcGlja2VyXCI+XHJcbiAgPGRpdlxyXG4gICAgW2Zvcm1Hcm91cF09XCJncm91cFwiXHJcbiAgICAqbmdJZj1cImNhbGVuZGFyVHlwZSA9PT0gY2FsZW5kYXJUeXBlcy5TSU5HTEVfREFURV9TRUxFQ1RJT05cIlxyXG4gICAgY2xhc3M9XCJpZWVlc2EtZGF0ZXBpY2tlci0tc2luZ2xlLXNlbGVjdGlvblwiXHJcbiAgICBbbmdDbGFzc109XCIhaXNSZXF1aXJlZCgpID8gJ2llZWVzYS1kYXRlcGlja2VyX192YWxpZC1kYXRlJyA6ICcnXCJcclxuICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgJ2llZWVzYS1kYXRlcGlja2VyX192YWxpZC1kYXRlJzogIWlzUmVxdWlyZWQoKSxcclxuICAgICAgJ2llZWVzYS1kYXRlcGlja2VyX19sYWJlbC1sZWZ0JzogaXNMYWJlbEFsaWduZWRMZWZ0LFxyXG4gICAgICAnaWVlZXNhLWRhdGVwaWNrZXJfX2xhYmVsLXRvcCc6ICFpc0xhYmVsQWxpZ25lZExlZnRcclxuICAgIH1cIlxyXG4gID5cclxuICAgIDxtYXQtbGFiZWxcclxuICAgICAgKm5nSWY9XCJkYXRlcGlja2VyTGFiZWxcIlxyXG4gICAgICBjbGFzcz1cImllZWVzYS1kYXRlcGlja2VyX19sYWJlbCBpZWVlc2EtYm9keS1zbS0xNFwiXHJcbiAgICAgID57eyBkYXRlcGlja2VyTGFiZWwgfX1cclxuICAgIDwvbWF0LWxhYmVsPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgIChkYXRlSW5wdXQpPVwib25EYXRlQ2hhbmdlKClcIlxyXG4gICAgICAgIChjbGljayk9XCJwaWNrZXIub3BlbigpXCJcclxuICAgICAgICBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXJcIlxyXG4gICAgICAgIFttaW5dPVwiY29uZmlnPy5kYXRlUGlja2VyPy5taW5EYXRlID8/IG1pbkRhdGVcIlxyXG4gICAgICAgIFttYXhdPVwiY29uZmlnPy5kYXRlUGlja2VyPy5tYXhEYXRlID8/IG1heERhdGVcIlxyXG4gICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY29uZmlnLmNvbnRyb2xOYW1lXCJcclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiYnV0dG9uQWN0aW9uc0luZm8/LmRhdGVQaWNrZXI/LmRhdGVGb3JtYXRMYWJlbFwiXHJcbiAgICAgICAgI2NhbGVuZGFyXHJcbiAgICAgICAgcmVhZG9ubHlcclxuICAgICAgLz5cclxuICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZVxyXG4gICAgICAgIGNsYXNzPVwibWF0LWRhdGVwaWNrZXItdG9nZ2xlXCJcclxuICAgICAgICBtYXRJY29uU3VmZml4XHJcbiAgICAgICAgW2Zvcl09XCJwaWNrZXJcIlxyXG4gICAgICA+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XHJcbiAgICAgIDxtYXQtZGF0ZXBpY2tlclxyXG4gICAgICAgICNwaWNrZXJcclxuICAgICAgICBbY2FsZW5kYXJIZWFkZXJDb21wb25lbnRdPVwiZGF0ZVBpY2tlckhlYWRlclwiXHJcbiAgICAgICAgKG9wZW5lZCk9XCJvbkRhdGVQaWNrZXJPcGVuKGNvbmZpZy5jb250cm9sTmFtZSlcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG1hdC1kYXRlcGlja2VyLWFjdGlvbnM+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIG1hdC1idXR0b25cclxuICAgICAgICAgICAgY2xhc3M9XCJtYXQtdGV4dC1idXR0b24gaWVlZXNhLWRhdGVwaWNrZXJfX2RhdGUtcGlja2VyLWJ1dHRvblwiXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBtYXREYXRlcGlja2VyQ2FuY2VsXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7IGJ1dHRvbkFjdGlvbnNJbmZvPy5idXR0b24/LmNhbmNlbCB9fVxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIG1hdC1idXR0b25cclxuICAgICAgICAgICAgY2xhc3M9XCJtYXQtdGV4dC1idXR0b24gaWVlZXNhLWRhdGVwaWNrZXJfX2RhdGUtcGlja2VyLWJ1dHRvblwiXHJcbiAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBtYXREYXRlcGlja2VyQXBwbHlcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgYnV0dG9uQWN0aW9uc0luZm8/LmJ1dHRvbj8ub2sgfX1cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvbWF0LWRhdGVwaWNrZXItYWN0aW9ucz5cclxuICAgICAgPC9tYXQtZGF0ZXBpY2tlcj5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8aWVlZXNhLWZvcm0tZXJyb3IgW2Zvcm1Hcm91cF09XCJncm91cFwiIFtjb25maWddPVwiY29uZmlnXCI+XHJcbiAgICA8L2llZWVzYS1mb3JtLWVycm9yPlxyXG4gICAgPGllZWVzYS1mb3JtLXN1cHBvcnQtdGV4dFxyXG4gICAgICBbZm9ybUdyb3VwXT1cImdyb3VwXCJcclxuICAgICAgW2NvbmZpZ109XCJjb25maWdcIlxyXG4gICAgPjwvaWVlZXNhLWZvcm0tc3VwcG9ydC10ZXh0PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2XHJcbiAgICBbZm9ybUdyb3VwXT1cImdyb3VwXCJcclxuICAgICpuZ0lmPVwiY2FsZW5kYXJUeXBlID09PSBjYWxlbmRhclR5cGVzLkRBVEVfUkFOR0VfU0VMRUNUSU9OXCJcclxuICAgIGNsYXNzPVwiaWVlZXNhLWRhdGVwaWNrZXItLW11bHRpLXNlbGVjdGlvblwiXHJcbiAgICBbbmdDbGFzc109XCJcclxuICAgICAgaXNMYWJlbEFsaWduZWRMZWZ0XHJcbiAgICAgICAgPyAnaWVlZXNhLWRhdGVwaWNrZXJfX2xhYmVsLWxlZnQnXHJcbiAgICAgICAgOiAnaWVlZXNhLWRhdGVwaWNrZXJfX2xhYmVsLXRvcCdcclxuICAgIFwiXHJcbiAgPlxyXG4gICAgPG1hdC1sYWJlbFxyXG4gICAgICAqbmdJZj1cImRhdGVwaWNrZXJMYWJlbFwiXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLWRhdGVwaWNrZXJfX2xhYmVsIGllZWVzYS1ib2R5LXNtLTE0XCJcclxuICAgICAgPnt7IGRhdGVwaWNrZXJMYWJlbCB9fVxyXG4gICAgPC9tYXQtbGFiZWw+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtZGF0ZS1yYW5nZS1pbnB1dCBbcmFuZ2VQaWNrZXJdPVwicmFuZ2VQaWNrZXJcIiBbZm9ybUdyb3VwXT1cImdyb3VwXCI+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBtYXRTdGFydERhdGVcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5kYXRlUmFuZ2VDb250cm9scz8uc3RhcnREYXRlID8/ICcnXCJcclxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJidXR0b25BY3Rpb25zSW5mbz8uZGF0ZVBpY2tlcj8uZGF0ZUZvcm1hdExhYmVsICsgJyAtICdcIlxyXG4gICAgICAgICAgKGRhdGVDaGFuZ2UpPVwib25EYXRlUmFuZ2VDaGFuZ2UoKVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIG1hdEVuZERhdGVcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5kYXRlUmFuZ2VDb250cm9scz8uZW5kRGF0ZSA/PyAnJ1wiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiYnV0dG9uQWN0aW9uc0luZm8/LmRhdGVQaWNrZXI/LmRhdGVGb3JtYXRMYWJlbFwiXHJcbiAgICAgICAgICAoZGF0ZUNoYW5nZSk9XCJvbkRhdGVSYW5nZUNoYW5nZSgpXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L21hdC1kYXRlLXJhbmdlLWlucHV0PlxyXG4gICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlXHJcbiAgICAgICAgY2xhc3M9XCJtYXQtZGF0ZXBpY2tlci10b2dnbGVcIlxyXG4gICAgICAgIG1hdEljb25TdWZmaXhcclxuICAgICAgICBbZm9yXT1cInJhbmdlUGlja2VyXCJcclxuICAgICAgPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxyXG4gICAgICA8bWF0LWRhdGUtcmFuZ2UtcGlja2VyXHJcbiAgICAgICAgI3JhbmdlUGlja2VyXHJcbiAgICAgICAgW2NhbGVuZGFySGVhZGVyQ29tcG9uZW50XT1cImRhdGVQaWNrZXJIZWFkZXJcIlxyXG4gICAgICAgIChkYXRlSW5wdXQpPVwib25EYXRlUmFuZ2VDaGFuZ2UoKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8bWF0LWRhdGUtcmFuZ2UtcGlja2VyLWFjdGlvbnM+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIG1hdC1idXR0b25cclxuICAgICAgICAgICAgY2xhc3M9XCJtYXQtdGV4dC1idXR0b24gaWVlZXNhLWRhdGVwaWNrZXJfX2RhdGUtcGlja2VyLWJ1dHRvblwiXHJcbiAgICAgICAgICAgIG1hdERhdGVSYW5nZVBpY2tlckNhbmNlbFxyXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgYnV0dG9uQWN0aW9uc0luZm8/LmJ1dHRvbj8uY2FuY2VsIH19XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgbWF0LWJ1dHRvblxyXG4gICAgICAgICAgICBjbGFzcz1cIm1hdC10ZXh0LWJ1dHRvbiBpZWVlc2EtZGF0ZXBpY2tlcl9fZGF0ZS1waWNrZXItYnV0dG9uXCJcclxuICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgbWF0RGF0ZVJhbmdlUGlja2VyQXBwbHlcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGF0ZVJhbmdlQ2hhbmdlKClcIlxyXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgYnV0dG9uQWN0aW9uc0luZm8/LmJ1dHRvbj8ub2sgfX1cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvbWF0LWRhdGUtcmFuZ2UtcGlja2VyLWFjdGlvbnM+XHJcbiAgICAgIDwvbWF0LWRhdGUtcmFuZ2UtcGlja2VyPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdlxyXG4gICAgKm5nSWY9XCJjYWxlbmRhclR5cGUgPT09IGNhbGVuZGFyVHlwZXMuQ0FMRU5EQVJcIlxyXG4gICAgY2xhc3M9XCJpZWVlc2EtZGF0ZXBpY2tlci0tY2FsZW5kYXJcIlxyXG4gID5cclxuICAgIDxtYXQtY2FsZW5kYXJcclxuICAgICAgW2hlYWRlckNvbXBvbmVudF09XCJkYXRlUGlja2VySGVhZGVyXCJcclxuICAgICAgWyhzZWxlY3RlZCldPVwiY2FsZW5kYXJTZWxlY3RlZERhdGVcIlxyXG4gICAgPlxyXG4gICAgPC9tYXQtY2FsZW5kYXI+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
320
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc2VudGF0aW9uL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBRUwsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsV0FBVyxFQUVYLG1CQUFtQixFQUNuQixVQUFVLEdBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLCtCQUErQixHQUNoQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sRUFDTCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLGVBQWUsR0FDaEIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxF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QixJQUFJLEVBQUUsQ0FBQyxlQUFlLEVBQUUsK0JBQStCLENBQUM7eUJBQ3pEO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxnQkFBZ0I7NEJBQ3pCLFFBQVEsRUFBRSxXQUFXO3lCQUN0QjtxQkFDRixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJO21NQWFqQyxhQUFhO3NCQURoQixLQUFLO2dCQTZCRixhQUFhO3NCQURoQixLQUFLO2dCQXNCRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdGFibGUsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBGb3JtQnVpbGRlcixcclxuICBGb3JtQ29udHJvbCxcclxuICBGb3JtR3JvdXAsXHJcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICBWYWxpZGF0b3JzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICBNb21lbnREYXRlQWRhcHRlcixcclxuICBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TLFxyXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsLW1vbWVudC1hZGFwdGVyJztcclxuaW1wb3J0IHtcclxuICBEYXRlQWRhcHRlcixcclxuICBNQVRfREFURV9GT1JNQVRTLFxyXG4gIE1BVF9EQVRFX0xPQ0FMRSxcclxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0RXhwYW5zaW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgbW9tZW50XyBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQgeyBEYXRlUGlja2VySGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9kYXRlLXBpY2tlci1oZWFkZXIvZGF0ZS1waWNrZXItaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVGb3JtYXRzIH0gZnJvbSAnLi4vLi4vZGF0ZS1mb3JtYXRzJztcclxuaW1wb3J0IHsgRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi8vbW9kZWxzL2ZpZWxkLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IENhbGVuZGFyVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9jYWxlbmRhci5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1FcnJvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZm9ybS1lcnJvci9mb3JtLWVycm9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVwaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0ZXBpY2tlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybUZpZWxkIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tZmllbGQubW9kZWwnO1xyXG5pbXBvcnQgKiBhcyBidXR0b25BY3Rpb25zSW5mbyBmcm9tICcuLi8uLi9hc3NldHMvY29uc3RhbnRzLmpzb24nO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS1jb250cm9sLXR5cGVzLm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybVV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZm9ybS11dGlsaXR5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3JtU3VwcG9ydFRleHRDb21wb25lbnQgfSBmcm9tICcuLi9mb3JtLXN1cHBvcnQtdGV4dC9mb3JtLXN1cHBvcnQtdGV4dC5jb21wb25lbnQnO1xyXG5jb25zdCBtb21lbnQgPSBtb21lbnRfO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQ3VzdG9tRGF0ZUFkYXB0ZXIgZXh0ZW5kcyBNb21lbnREYXRlQWRhcHRlciB7XHJcbiAgLyoqXHJcbiAgICogT3ZlcnJpZGVzIHRoZSBnZXREYXlPZldlZWtOYW1lcyBtZXRob2Qgb2YgTW9tZW50RGF0ZUFkYXB0ZXIgdG8gc2hvdyBmaXJzdCBsZXR0ZXIgb2YgZGF5IGluIGNhcGl0YWwgaW4gZGF0ZSBwaWNrZXIgaGVhZGVyLlxyXG4gICAqIEByZXR1cm4ge3N0cmluZ1tdfVxyXG4gICAqIEBtZW1iZXJvZiBDdXN0b21EYXRlQWRhcHRlclxyXG4gICAqL1xyXG4gIG92ZXJyaWRlIGdldERheU9mV2Vla05hbWVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBbJ1MnLCAnTScsICdUJywgJ1cnLCAnVCcsICdGJywgJ1MnXTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEYXRlIHNlbGVjdGlvbiBvZiB0eXBlIFNJTkdMRV9EQVRFX1NFTEVDVElPTiwgREFURV9SQU5HRV9TRUxFQ1RJT04gYW5kIENBTEVOREFSIGFuZCBoYW5kbGluZyBvZiBjYWxlbmRhciBldmVudHMuXHJcbiAqIEBleHBvcnRcclxuICogQGNsYXNzIERhdGVQaWNrZXJDb21wb25lbnRcclxuICogQGltcGxlbWVudHMge0Zvcm1GaWVsZH1cclxuICogQGltcGxlbWVudHMge09uSW5pdH1cclxuICogQGltcGxlbWVudHMge0FmdGVyVmlld0luaXR9XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS1kYXRlLXBpY2tlcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRm9ybUVycm9yQ29tcG9uZW50LFxyXG4gICAgTWF0RXhwYW5zaW9uTW9kdWxlLFxyXG4gICAgTWF0TWVudU1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXHJcbiAgICBEYXRlUGlja2VySGVhZGVyQ29tcG9uZW50LFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgRm9ybVN1cHBvcnRUZXh0Q29tcG9uZW50LFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7IHByb3ZpZGU6IE1BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlMsIHVzZVZhbHVlOiB7IHVzZVV0YzogdHJ1ZSB9IH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IERhdGVBZGFwdGVyLFxyXG4gICAgICB1c2VDbGFzczogQ3VzdG9tRGF0ZUFkYXB0ZXIsXHJcbiAgICAgIGRlcHM6IFtNQVRfREFURV9MT0NBTEUsIE1BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlNdLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUyxcclxuICAgICAgdXNlVmFsdWU6IERhdGVGb3JtYXRzLFxyXG4gICAgfSxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIEZvcm1GaWVsZCwgT25Jbml0IHtcclxuICBjb25maWchOiBGaWVsZENvbmZpZztcclxuICBncm91cCE6IEZvcm1Hcm91cDtcclxuICBkYXRlUGlja2VySGVhZGVyID0gRGF0ZVBpY2tlckhlYWRlckNvbXBvbmVudDtcclxuICBjYWxlbmRhclR5cGVzID0gQ2FsZW5kYXJUeXBlO1xyXG4gIHByaXZhdGUgX3NlbGVjdGVkRGF0ZXM6IHN0cmluZ1tdID0gW107XHJcbiAgLyoqXHJcbiAgICogR2V0cyBwcmVzZWxlY3RlZCBkYXRlcyBhcyBhbiBpbnB1dC5cclxuICAgKiBAbWVtYmVyb2YgRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNlbGVjdGVkRGF0ZXModmFsdWU6IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLl9zZWxlY3RlZERhdGVzID0gdmFsdWU7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2xOYW1lICYmXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlcz8ubGVuZ3RoID09PSAxICYmXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlc1swXSAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgIHRoaXMuY2FsZW5kYXJUeXBlID09PSBDYWxlbmRhclR5cGUuU0lOR0xFX0RBVEVfU0VMRUNUSU9OXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5kYXRlcGlja2VyU2VydmljZS5zZWxlY3RlZERhdGUgPSB2YWx1ZVswXTtcclxuICAgICAgdGhpcy5jcmVhdGVGb3JtR3JvdXAodmFsdWVbMF0pO1xyXG4gICAgICB0aGlzLmRhdGVwaWNrZXJTZXJ2aWNlLmlzUmFuZ2VTZWxlY3Rpb24gPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyBzZWxlY3RlZCBkYXRlc1xyXG4gICAqIEByZWFkb25seVxyXG4gICAqIEB0eXBlIHtzdHJpbmdbXX1cclxuICAgKiBAbWVtYmVyb2YgRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldCBzZWxlY3RlZERhdGVzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZERhdGVzO1xyXG4gIH1cclxuICBwcml2YXRlIF9zZWxlY3RlZFJhbmdlOiBzdHJpbmdbXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEdldHMgcHJlc2VsZWN0ZWQgZGF0ZSByYW5nZSBhcyBhbiBpbnB1dC5cclxuICAgKiBAbWVtYmVyb2YgRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNlbGVjdGVkUmFuZ2UodmFsdWU6IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLl9zZWxlY3RlZFJhbmdlID0gdmFsdWU7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRSYW5nZT8ubGVuZ3RoID09PSAyICYmXHJcbiAgICAgIHRoaXMuY2FsZW5kYXJUeXBlID09PSBDYWxlbmRhclR5cGUuREFURV9SQU5HRV9TRUxFQ1RJT05cclxuICAgICkge1xyXG4gICAgICB0aGlzLmNyZWF0ZUZvcm1Hcm91cFdpdGhSYW5nZUNvbnRyb2xzKHZhbHVlWzBdLCB2YWx1ZVsxXSk7XHJcbiAgICAgIHRoaXMuc2V0RGF0ZVJhbmdlKHZhbHVlWzBdLCB2YWx1ZVsxXSk7XHJcbiAgICAgIHRoaXMuZGF0ZXBpY2tlclNlcnZpY2UuaXNSYW5nZVNlbGVjdGlvbiA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgc2VsZWN0ZWQgZGF0ZSByYW5nZVxyXG4gICAqIEByZWFkb25seVxyXG4gICAqIEB0eXBlIHtzdHJpbmdbXX1cclxuICAgKiBAbWVtYmVyb2YgRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldCBzZWxlY3RlZFJhbmdlKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZFJhbmdlO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgY2FsZW5kYXJUeXBlOiBDYWxlbmRhclR5cGUgPSBDYWxlbmRhclR5cGUuU0lOR0xFX0RBVEVfU0VMRUNUSU9OO1xyXG4gIEBJbnB1dCgpIGZvcm1Db250cm9sTmFtZSE6IHN0cmluZztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlckxhYmVsID0gJyc7XHJcbiAgQElucHV0KCkgaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzTGFiZWxBbGlnbmVkTGVmdCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRhdGVwaWNrZXJMYWJlbCA9ICcnO1xyXG4gIEBJbnB1dCgpIGRhdGVSYW5nZSE6IHsgbWluRGF0ZTogc3RyaW5nOyBtYXhEYXRlOiBzdHJpbmcgfTtcclxuICBASW5wdXQoKSBtaW5EYXRlITogRGF0ZSB8IG1vbWVudC5Nb21lbnQ7XHJcbiAgQElucHV0KCkgbWF4RGF0ZSE6IERhdGUgfCBtb21lbnQuTW9tZW50O1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZERhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWREYXRlUmFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgIHN0YXJ0RGF0ZTogc3RyaW5nO1xyXG4gICAgZW5kRGF0ZTogc3RyaW5nO1xyXG4gIH0+KCk7XHJcbiAgY2FsZW5kYXJTZWxlY3RlZERhdGUhOiBEYXRlO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgYnV0dG9uQWN0aW9uc0luZm86IGFueSA9IGJ1dHRvbkFjdGlvbnNJbmZvO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgZGF0ZXBpY2tlclNlcnZpY2U6IERhdGVwaWNrZXJTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGZvcm1VdGlsaXR5U2VydmljZTogRm9ybVV0aWxpdHlTZXJ2aWNlIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1lbXB0eS1mdW5jdGlvbixcclxuICApIHt9XHJcbiAgLyoqXHJcbiAgICogSW1wbGVtZW50YXRpb24gb2YgIG5nT25Jbml0IGxpZmVjeWNsZSBob29rIG1ldGhvZCB0byBjcmVhdGVzIGNvbmZpZyBpZiBpdHMgdW5kZWZpbmVkIGFuZCBzZXRzIGNvbXBvbmVudHMgaW5zdGFuY2UgdmFyaWFibGVzIGlmIGNvbmZpZyBpcyBkZWZpbmVkLiBTZXRzIHRoZSBmb3JtIGdyb3VwIHZhbHVlIGlmIGZvcm0gZ3JvdXAgaXMgZGVmaW5lZC5cclxuICAgKiBAbWVtYmVyb2YgRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNvbmZpZykge1xyXG4gICAgICBjb25zdCBjb250cm9sTmFtZSA9IHRoaXMuZm9ybUNvbnRyb2xOYW1lID8/ICdkYXRlcGlja2VyJztcclxuICAgICAgdGhpcy5jb25maWcgPSB0aGlzLmZvcm1VdGlsaXR5U2VydmljZS5nZXRGb3JtRmllbGRDb25maWcoXHJcbiAgICAgICAgY29udHJvbE5hbWUsXHJcbiAgICAgICAgRm9ybUNvbnRyb2xUeXBlLkRBVEVcclxuICAgICAgKTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuY29uZmlnICYmXHJcbiAgICAgICAgdGhpcy5jYWxlbmRhclR5cGUgPT09IENhbGVuZGFyVHlwZS5EQVRFX1JBTkdFX1NFTEVDVElPTlxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLmNvbmZpZy5kYXRlUmFuZ2VDb250cm9scyA9IHtcclxuICAgICAgICAgIHN0YXJ0RGF0ZTogJ3N0YXJ0RGF0ZScsXHJcbiAgICAgICAgICBlbmREYXRlOiAnZW5kRGF0ZScsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pbml0aWFsaXplUHJvcGVydGllc0Zyb21Db25maWcoKTtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5ncm91cCkge1xyXG4gICAgICBpZiAodGhpcy5jYWxlbmRhclR5cGUgPT09IENhbGVuZGFyVHlwZS5TSU5HTEVfREFURV9TRUxFQ1RJT04pIHtcclxuICAgICAgICB0aGlzLmNyZWF0ZUZvcm1Hcm91cCgpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY2FsZW5kYXJUeXBlID09PSBDYWxlbmRhclR5cGUuREFURV9SQU5HRV9TRUxFQ1RJT04pIHtcclxuICAgICAgICB0aGlzLmNyZWF0ZUZvcm1Hcm91cFdpdGhSYW5nZUNvbnRyb2xzKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemVzIHByb3BlcnRpZXMgZnJvbSB0aGUgY29uZmlnIGlucHV0XHJcbiAgICogQG1lbWJlcm9mIERhdGVQaWNrZXJDb21wb25lbnRcclxuICAgKi9cclxuICBpbml0aWFsaXplUHJvcGVydGllc0Zyb21Db25maWcoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhbGVuZGFyVHlwZSA9XHJcbiAgICAgIHRoaXMuY29uZmlnPy5kYXRlUGlja2VyPy5jYWxlbmRhclR5cGUgPz9cclxuICAgICAgQ2FsZW5kYXJUeXBlLlNJTkdMRV9EQVRFX1NFTEVDVElPTjtcclxuICAgIHRoaXMucGxhY2Vob2xkZXJMYWJlbCA9IHRoaXMuY29uZmlnPy5kYXRlUGlja2VyPy5wbGFjZWhvbGRlckxhYmVsID8/ICcnO1xyXG4gICAgdGhpcy5kYXRlcGlja2VyTGFiZWwgPSB0aGlzLmNvbmZpZz8uZGF0ZVBpY2tlcj8ubGFiZWwgPz8gJyc7XHJcbiAgICB0aGlzLmlzTGFiZWxBbGlnbmVkTGVmdCA9XHJcbiAgICAgIHRoaXMuY29uZmlnPy5kYXRlUGlja2VyPy5pc0xhYmVsQWxpZ25lZExlZnQgPz8gZmFsc2U7XHJcbiAgICB0aGlzLmRhdGVSYW5nZSA9IHRoaXMuY29uZmlnPy5kYXRlUGlja2VyPy5kYXRlUmFuZ2UgPz8ge1xyXG4gICAgICBtaW5EYXRlOiAnJyxcclxuICAgICAgbWF4RGF0ZTogJycsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5pc0Rpc2FibGVkID0gISF0aGlzLmNvbmZpZy5kaXNhYmxlZDtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5jb25maWcuZGF0ZVBpY2tlcj8uY2FsZW5kYXJUeXBlID09PSBDYWxlbmRhclR5cGUuREFURV9SQU5HRV9TRUxFQ1RJT05cclxuICAgICkge1xyXG4gICAgICB0aGlzLmdyb3VwLmFkZENvbnRyb2woJ3N0YXJ0RGF0ZScsIG5ldyBGb3JtQ29udHJvbCgpKTtcclxuICAgICAgdGhpcy5ncm91cC5hZGRDb250cm9sKCdlbmREYXRlJywgbmV3IEZvcm1Db250cm9sKCkpO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiBIYW5kbGUgZGF0ZSBjaGFuZ2UgZXZlbnQgYW5kIGVtaXRzIHRoZSBzZWxlY3RlZCBkYXRlLlxyXG4gICAqIEBtZW1iZXJvZiBEYXRlUGlja2VyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25EYXRlQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGUuZW1pdCh0aGlzLmdyb3VwPy5nZXQodGhpcy5jb25maWcuY29udHJvbE5hbWUpPy52YWx1ZSk7XHJcbiAgICB0aGlzLmRhdGVwaWNrZXJTZXJ2aWNlLnNlbGVjdGVkRGF0ZSA9IHRoaXMuZ3JvdXA/LmdldChcclxuICAgICAgdGhpcy5jb25maWcuY29udHJvbE5hbWVcclxuICAgICk/LnZhbHVlO1xyXG4gICAgdGhpcy5kYXRlcGlja2VyU2VydmljZS5pc1JhbmdlU2VsZWN0aW9uID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIGFuZCBlbWl0cyBzZWxlY3RlZCBkYXRlIHJhbmdlXHJcbiAgICogQG1lbWJlcm9mIERhdGVQaWNrZXJDb21wb25lbnRcclxuICAgKi9cclxuICBvbkRhdGVSYW5nZUNoYW5nZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGF0ZXBpY2tlclNlcnZpY2UuaXNSYW5nZVNlbGVjdGlvbiA9IHRydWU7XHJcbiAgICB0aGlzLnNldERhdGVSYW5nZShcclxuICAgICAgdGhpcy5ncm91cC52YWx1ZS5zdGFydERhdGUgPz8gJycsXHJcbiAgICAgIHRoaXMuZ3JvdXAudmFsdWUuZW5kRGF0ZSA/PyAnJ1xyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlLmVtaXQoe1xyXG4gICAgICBzdGFydERhdGU6IHRoaXMuZ3JvdXAudmFsdWUuc3RhcnREYXRlID8/ICcnLFxyXG4gICAgICBlbmREYXRlOiB0aGlzLmdyb3VwLnZhbHVlLmVuZERhdGUgPz8gJycsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIG1pbiBhbmQgbWF4IGRhdGUgcmFuZ2UuXHJcbiAgICogQHBhcmFtIHsoc3RyaW5nIHwgRGF0ZSl9IHN0YXJ0RGF0ZVxyXG4gICAqIEBwYXJhbSB7KHN0cmluZyB8IERhdGUpfSBlbmREYXRlXHJcbiAgICogQG1lbWJlcm9mIERhdGVQaWNrZXJDb21wb25lbnRcclxuICAgKi9cclxuICBzZXREYXRlUmFuZ2Uoc3RhcnREYXRlOiBzdHJpbmcgfCBEYXRlLCBlbmREYXRlOiBzdHJpbmcgfCBEYXRlKTogdm9pZCB7XHJcbiAgICB0aGlzLmRhdGVwaWNrZXJTZXJ2aWNlLnJhbmdlLm5leHQoe1xyXG4gICAgICBzdGFydDogc3RhcnREYXRlLFxyXG4gICAgICBlbmQ6IGVuZERhdGUsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgZm9ybSBncm91cCBhbmQgaW5pdGlhbGl6ZXMgZm9ybSB2YWx1ZVxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbZGF0ZV1cclxuICAgKiBAbWVtYmVyb2YgRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGNyZWF0ZUZvcm1Hcm91cChkYXRlPzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmdyb3VwID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIFt0aGlzLmZvcm1Db250cm9sTmFtZSA/IHRoaXMuZm9ybUNvbnRyb2xOYW1lIDogJ2RhdGVwaWNrZXInXTogZGF0ZVxyXG4gICAgICAgID8gW21vbWVudChkYXRlKS51dGModHJ1ZSkuZm9ybWF0KCldXHJcbiAgICAgICAgOiBbXSxcclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBDcmVhdGVzIGZvcm0gZ3JvdXAgd2l0aCByYW5nZSB0eXBlIG9mIGNvbnRyb2xzIGFuZCBzZXRzIHRoZSBtaW4gYW5kIG1heCByYW5nZSB2YWx1ZXMuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtzdGFydERhdGVdXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtlbmREYXRlXVxyXG4gICAqIEBtZW1iZXJvZiBEYXRlUGlja2VyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgY3JlYXRlRm9ybUdyb3VwV2l0aFJhbmdlQ29udHJvbHMoc3RhcnREYXRlPzogc3RyaW5nLCBlbmREYXRlPzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmdyb3VwID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIHN0YXJ0RGF0ZTogc3RhcnREYXRlID8gW21vbWVudChzdGFydERhdGUpLnV0Yyh0cnVlKS5mb3JtYXQoKV0gOiBbXSxcclxuICAgICAgZW5kRGF0ZTogZW5kRGF0ZSA/IFttb21lbnQoZW5kRGF0ZSkudXRjKHRydWUpLmZvcm1hdCgpXSA6IFtdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIENoZWNrcyBpZiB0aGUgZm9ybSBjb250cm9sIGhhcyByZXF1aXJlZCB2YWxpZGF0b3IuXHJcbiAgICogQHJldHVybiB7Ym9vbGVhbn1cclxuICAgKiBAbWVtYmVyb2YgRGF0ZVBpY2tlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGlzUmVxdWlyZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5ncm91cD8uY29udHJvbHNbdGhpcy5jb25maWc/LmNvbnRyb2xOYW1lXT8uaGFzVmFsaWRhdG9yKFxyXG4gICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgdXBkYXRlZCBzZWxlY3RlZCBkYXRlIHVzaW5nIGRhdGVwaWNrZXIgc2VydmljZSB3aGljaCB3aWxsIGJlIHNob3duIGluIGRhdGVwaWNrZXIgaGVhZGVyXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNvbnRyb2xOYW1lXHJcbiAgICogQG1lbWJlcm9mIERhdGVQaWNrZXJDb21wb25lbnRcclxuICAgKi9cclxuICBvbkRhdGVQaWNrZXJPcGVuKGNvbnRyb2xOYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZGF0ZXBpY2tlclNlcnZpY2Uuc2VsZWN0ZWREYXRlID0gdGhpcy5ncm91cC5nZXQoY29udHJvbE5hbWUpPy52YWx1ZTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImllZWVzYS1kYXRlcGlja2VyXCI+XHJcbiAgPGRpdlxyXG4gICAgW2Zvcm1Hcm91cF09XCJncm91cFwiXHJcbiAgICAqbmdJZj1cImNhbGVuZGFyVHlwZSA9PT0gY2FsZW5kYXJUeXBlcy5TSU5HTEVfREFURV9TRUxFQ1RJT05cIlxyXG4gICAgY2xhc3M9XCJpZWVlc2EtZGF0ZXBpY2tlci0tc2luZ2xlLXNlbGVjdGlvblwiXHJcbiAgICBbbmdDbGFzc109XCIhaXNSZXF1aXJlZCgpID8gJ2llZWVzYS1kYXRlcGlja2VyX192YWxpZC1kYXRlJyA6ICcnXCJcclxuICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgJ2llZWVzYS1kYXRlcGlja2VyX192YWxpZC1kYXRlJzogIWlzUmVxdWlyZWQoKSxcclxuICAgICAgJ2llZWVzYS1kYXRlcGlja2VyX19sYWJlbC1sZWZ0JzogaXNMYWJlbEFsaWduZWRMZWZ0LFxyXG4gICAgICAnaWVlZXNhLWRhdGVwaWNrZXJfX2xhYmVsLXRvcCc6ICFpc0xhYmVsQWxpZ25lZExlZnRcclxuICAgIH1cIlxyXG4gID5cclxuICAgIDxtYXQtbGFiZWxcclxuICAgICAgKm5nSWY9XCJkYXRlcGlja2VyTGFiZWxcIlxyXG4gICAgICBjbGFzcz1cImllZWVzYS1kYXRlcGlja2VyX19sYWJlbCBpZWVlc2EtYm9keS1zbS0xNFwiXHJcbiAgICAgID57eyBkYXRlcGlja2VyTGFiZWwgfX1cclxuICAgIDwvbWF0LWxhYmVsPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgIChkYXRlSW5wdXQpPVwib25EYXRlQ2hhbmdlKClcIlxyXG4gICAgICAgIChjbGljayk9XCJwaWNrZXIub3BlbigpXCJcclxuICAgICAgICBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXJcIlxyXG4gICAgICAgIFttaW5dPVwiY29uZmlnPy5kYXRlUGlja2VyPy5taW5EYXRlID8/IG1pbkRhdGVcIlxyXG4gICAgICAgIFttYXhdPVwiY29uZmlnPy5kYXRlUGlja2VyPy5tYXhEYXRlID8/IG1heERhdGVcIlxyXG4gICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY29uZmlnLmNvbnRyb2xOYW1lXCJcclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiYnV0dG9uQWN0aW9uc0luZm8/LmRhdGVQaWNrZXI/LmRhdGVGb3JtYXRMYWJlbFwiXHJcbiAgICAgICAgI2NhbGVuZGFyXHJcbiAgICAgICAgcmVhZG9ubHlcclxuICAgICAgLz5cclxuICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZVxyXG4gICAgICAgIGNsYXNzPVwibWF0LWRhdGVwaWNrZXItdG9nZ2xlXCJcclxuICAgICAgICBtYXRJY29uU3VmZml4XHJcbiAgICAgICAgW2Zvcl09XCJwaWNrZXJcIlxyXG4gICAgICA+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XHJcbiAgICAgIDxtYXQtZGF0ZXBpY2tlclxyXG4gICAgICAgICNwaWNrZXJcclxuICAgICAgICBbY2FsZW5kYXJIZWFkZXJDb21wb25lbnRdPVwiZGF0ZVBpY2tlckhlYWRlclwiXHJcbiAgICAgICAgKG9wZW5lZCk9XCJvbkRhdGVQaWNrZXJPcGVuKGNvbmZpZy5jb250cm9sTmFtZSlcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG1hdC1kYXRlcGlja2VyLWFjdGlvbnM+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIG1hdC1idXR0b25cclxuICAgICAgICAgICAgY2xhc3M9XCJtYXQtdGV4dC1idXR0b24gaWVlZXNhLWRhdGVwaWNrZXJfX2RhdGUtcGlja2VyLWJ1dHRvblwiXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBtYXREYXRlcGlja2VyQ2FuY2VsXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7IGJ1dHRvbkFjdGlvbnNJbmZvPy5idXR0b24/LmNhbmNlbCB9fVxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIG1hdC1idXR0b25cclxuICAgICAgICAgICAgY2xhc3M9XCJtYXQtdGV4dC1idXR0b24gaWVlZXNhLWRhdGVwaWNrZXJfX2RhdGUtcGlja2VyLWJ1dHRvblwiXHJcbiAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBtYXREYXRlcGlja2VyQXBwbHlcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgYnV0dG9uQWN0aW9uc0luZm8/LmJ1dHRvbj8ub2sgfX1cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvbWF0LWRhdGVwaWNrZXItYWN0aW9ucz5cclxuICAgICAgPC9tYXQtZGF0ZXBpY2tlcj5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8aWVlZXNhLWZvcm0tZXJyb3IgW2Zvcm1Hcm91cF09XCJncm91cFwiIFtjb25maWddPVwiY29uZmlnXCI+XHJcbiAgICA8L2llZWVzYS1mb3JtLWVycm9yPlxyXG4gICAgPGllZWVzYS1mb3JtLXN1cHBvcnQtdGV4dFxyXG4gICAgICBbZm9ybUdyb3VwXT1cImdyb3VwXCJcclxuICAgICAgW2NvbmZpZ109XCJjb25maWdcIlxyXG4gICAgPjwvaWVlZXNhLWZvcm0tc3VwcG9ydC10ZXh0PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2XHJcbiAgICBbZm9ybUdyb3VwXT1cImdyb3VwXCJcclxuICAgICpuZ0lmPVwiY2FsZW5kYXJUeXBlID09PSBjYWxlbmRhclR5cGVzLkRBVEVfUkFOR0VfU0VMRUNUSU9OXCJcclxuICAgIGNsYXNzPVwiaWVlZXNhLWRhdGVwaWNrZXItLW11bHRpLXNlbGVjdGlvblwiXHJcbiAgICBbbmdDbGFzc109XCJcclxuICAgICAgaXNMYWJlbEFsaWduZWRMZWZ0XHJcbiAgICAgICAgPyAnaWVlZXNhLWRhdGVwaWNrZXJfX2xhYmVsLWxlZnQnXHJcbiAgICAgICAgOiAnaWVlZXNhLWRhdGVwaWNrZXJfX2xhYmVsLXRvcCdcclxuICAgIFwiXHJcbiAgPlxyXG4gICAgPG1hdC1sYWJlbFxyXG4gICAgICAqbmdJZj1cImRhdGVwaWNrZXJMYWJlbFwiXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLWRhdGVwaWNrZXJfX2xhYmVsIGllZWVzYS1ib2R5LXNtLTE0XCJcclxuICAgICAgPnt7IGRhdGVwaWNrZXJMYWJlbCB9fVxyXG4gICAgPC9tYXQtbGFiZWw+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtZGF0ZS1yYW5nZS1pbnB1dCBbcmFuZ2VQaWNrZXJdPVwicmFuZ2VQaWNrZXJcIiBbZm9ybUdyb3VwXT1cImdyb3VwXCI+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBtYXRTdGFydERhdGVcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5kYXRlUmFuZ2VDb250cm9scz8uc3RhcnREYXRlID8/ICcnXCJcclxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJidXR0b25BY3Rpb25zSW5mbz8uZGF0ZVBpY2tlcj8uZGF0ZUZvcm1hdExhYmVsICsgJyAtICdcIlxyXG4gICAgICAgICAgKGRhdGVDaGFuZ2UpPVwib25EYXRlUmFuZ2VDaGFuZ2UoKVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIG1hdEVuZERhdGVcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5kYXRlUmFuZ2VDb250cm9scz8uZW5kRGF0ZSA/PyAnJ1wiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiYnV0dG9uQWN0aW9uc0luZm8/LmRhdGVQaWNrZXI/LmRhdGVGb3JtYXRMYWJlbFwiXHJcbiAgICAgICAgICAoZGF0ZUNoYW5nZSk9XCJvbkRhdGVSYW5nZUNoYW5nZSgpXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L21hdC1kYXRlLXJhbmdlLWlucHV0PlxyXG4gICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlXHJcbiAgICAgICAgY2xhc3M9XCJtYXQtZGF0ZXBpY2tlci10b2dnbGVcIlxyXG4gICAgICAgIG1hdEljb25TdWZmaXhcclxuICAgICAgICBbZm9yXT1cInJhbmdlUGlja2VyXCJcclxuICAgICAgPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxyXG4gICAgICA8bWF0LWRhdGUtcmFuZ2UtcGlja2VyXHJcbiAgICAgICAgI3JhbmdlUGlja2VyXHJcbiAgICAgICAgW2NhbGVuZGFySGVhZGVyQ29tcG9uZW50XT1cImRhdGVQaWNrZXJIZWFkZXJcIlxyXG4gICAgICAgIChkYXRlSW5wdXQpPVwib25EYXRlUmFuZ2VDaGFuZ2UoKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8bWF0LWRhdGUtcmFuZ2UtcGlja2VyLWFjdGlvbnM+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIG1hdC1idXR0b25cclxuICAgICAgICAgICAgY2xhc3M9XCJtYXQtdGV4dC1idXR0b24gaWVlZXNhLWRhdGVwaWNrZXJfX2RhdGUtcGlja2VyLWJ1dHRvblwiXHJcbiAgICAgICAgICAgIG1hdERhdGVSYW5nZVBpY2tlckNhbmNlbFxyXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgYnV0dG9uQWN0aW9uc0luZm8/LmJ1dHRvbj8uY2FuY2VsIH19XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgbWF0LWJ1dHRvblxyXG4gICAgICAgICAgICBjbGFzcz1cIm1hdC10ZXh0LWJ1dHRvbiBpZWVlc2EtZGF0ZXBpY2tlcl9fZGF0ZS1waWNrZXItYnV0dG9uXCJcclxuICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgbWF0RGF0ZVJhbmdlUGlja2VyQXBwbHlcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGF0ZVJhbmdlQ2hhbmdlKClcIlxyXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgYnV0dG9uQWN0aW9uc0luZm8/LmJ1dHRvbj8ub2sgfX1cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvbWF0LWRhdGUtcmFuZ2UtcGlja2VyLWFjdGlvbnM+XHJcbiAgICAgIDwvbWF0LWRhdGUtcmFuZ2UtcGlja2VyPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdlxyXG4gICAgKm5nSWY9XCJjYWxlbmRhclR5cGUgPT09IGNhbGVuZGFyVHlwZXMuQ0FMRU5EQVJcIlxyXG4gICAgY2xhc3M9XCJpZWVlc2EtZGF0ZXBpY2tlci0tY2FsZW5kYXJcIlxyXG4gID5cclxuICAgIDxtYXQtY2FsZW5kYXJcclxuICAgICAgW2hlYWRlckNvbXBvbmVudF09XCJkYXRlUGlja2VySGVhZGVyXCJcclxuICAgICAgWyhzZWxlY3RlZCldPVwiY2FsZW5kYXJTZWxlY3RlZERhdGVcIlxyXG4gICAgPlxyXG4gICAgPC9tYXQtY2FsZW5kYXI+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=