@ieeesa-npm/presentation 0.25.7 → 0.25.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.
@@ -53,8 +53,9 @@ export class DynamicFormComponent {
53
53
  return this._searchResponse;
54
54
  }
55
55
  // eslint-disable-next-line no-unused-vars, no-empty-function
56
- constructor(fb) {
56
+ constructor(fb, elementRef) {
57
57
  this.fb = fb;
58
+ this.elementRef = elementRef;
58
59
  this.isSubmitButtonDisabled = false;
59
60
  this.isLeftButtonDisabled = false;
60
61
  this.isLeftButtonNeeded = false;
@@ -113,6 +114,14 @@ export class DynamicFormComponent {
113
114
  ngAfterContentInit() {
114
115
  this.formAfterContentInit.emit(this.formGroupArray);
115
116
  }
117
+ /**
118
+ * Sets the focus to the first field.
119
+ * @memberof DynamicFormComponent
120
+ */
121
+ ngAfterViewInit() {
122
+ const firstFocusableElement = this.elementRef.nativeElement.querySelector('input, mat-select, textarea, mat-checkbox, mat-radio-button');
123
+ setTimeout(() => firstFocusableElement?.focus(), 0);
124
+ }
116
125
  /**
117
126
  * Creates form group on the basis of formGroups configuration input
118
127
  * @return {void}
@@ -177,7 +186,7 @@ export class DynamicFormComponent {
177
186
  else
178
187
  formArray = new FormArray([]);
179
188
  controls?.checkboxOptions?.forEach((control) => {
180
- formArray.push(new FormControl(control.checked));
189
+ formArray.push(new FormControl({ value: control.checked, disabled: control.disabled }));
181
190
  });
182
191
  return formArray;
183
192
  }
@@ -443,7 +452,7 @@ export class DynamicFormComponent {
443
452
  onCheckboxCTAButtonClick(event) {
444
453
  this.ctaButtonClick.emit(event);
445
454
  }
446
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicFormComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
455
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicFormComponent, deps: [{ token: i1.FormBuilder }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
447
456
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DynamicFormComponent, isStandalone: true, selector: "ieeesa-dynamic-form", inputs: { formGroups: "formGroups", submitResponse: "submitResponse", searchResponse: "searchResponse", colWidth: "colWidth", isLegendVisible: "isLegendVisible", rightButtonLabel: "rightButtonLabel", leftButtonLabel: "leftButtonLabel", isSubmitButtonDisabled: "isSubmitButtonDisabled", isLeftButtonDisabled: "isLeftButtonDisabled", isLeftButtonNeeded: "isLeftButtonNeeded", actionButtonAlign: "actionButtonAlign" }, outputs: { formSubmit: "formSubmit", formChange: "formChange", formInput: "formInput", formLeftButtonClicked: "formLeftButtonClicked", formSearchApply: "formSearchApply", formGroupsReference: "formGroupsReference", dropdownChange: "dropdownChange", formCheckboxSelection: "formCheckboxSelection", formDateSelected: "formDateSelected", formSelectSearch: "formSelectSearch", formControlChange: "formControlChange", formAutoCompleteSearch: "formAutoCompleteSearch", formAutoCompleteClearSearchValue: "formAutoCompleteClearSearchValue", autoCompleteOptionSelected: "autoCompleteOptionSelected", formAfterContentInit: "formAfterContentInit", formSelectedDateRange: "formSelectedDateRange", addFormGroup: "addFormGroup", formTimeSelected: "formTimeSelected", supportTextLinkClick: "supportTextLinkClick", formSlideToggleChange: "formSlideToggleChange", formFileUpload: "formFileUpload", dropdownOpenedChange: "dropdownOpenedChange", formColorPickerChange: "formColorPickerChange", formRadioOptionSelected: "formRadioOptionSelected", ctaButtonClick: "ctaButtonClick", formMultiSelectAutoCompleteSearch: "formMultiSelectAutoCompleteSearch", formMultiSelectAutoCompleteClearSearchValue: "formMultiSelectAutoCompleteClearSearchValue", multiSelectAutoCompleteOptionsSelected: "multiSelectAutoCompleteOptionsSelected", formRichTextEditorContentChange: "formRichTextEditorContentChange" }, viewQueries: [{ propertyName: "formFields", predicate: DynamicFormFieldDirective, descendants: true }], exportAs: ["dynamicForm"], ngImport: i0, template: "<form\r\n class=\"ieeesa-dynamic-form\"\r\n [formGroup]=\"form\"\r\n (change)=\"onFormChange()\"\r\n (ngSubmit)=\"onFormSubmit()\"\r\n (input)=\"formInputChange($event)\"\r\n ieeesaFocusInvalidFormField\r\n>\r\n <fieldset\r\n class=\"ieeesa-dynamic-form__fieldset\"\r\n *ngFor=\"\r\n let formGrp of formGroupArray;\r\n let i = index;\r\n trackBy: trackByFormGroup\r\n \"\r\n >\r\n <legend\r\n class=\"float-none w-auto p-2 ieeesa-dynamic-form__legend\"\r\n *ngIf=\"isLegendVisible\"\r\n >\r\n {{ legendsArray[i] }}\r\n </legend>\r\n <div class=\"row\">\r\n <div\r\n class=\"col-{{ colWidth.xs }} col-sm-{{ colWidth.sm }} col-md-{{\r\n colWidth.md\r\n }} col-lg-{{ colWidth.lg }} col-xl-{{ colWidth.xl }}\r\n ieeesa-dynamic-form__form-field\"\r\n [ngClass]=\"getRowClassName(formControlArray[i][j].controlName)\"\r\n *ngFor=\"let control of formControlArray[i]; let j = index\"\r\n >\r\n <ng-template\r\n ieeesaDynamicFormField\r\n [config]=\"formControlArray[i][j]\"\r\n [group]=\"formGrp\"\r\n [submitResponse]=\"submitResponse\"\r\n [searchResponse]=\"searchResponse\"\r\n (formSearchApply)=\"onSearchApply($event)\"\r\n (formDropdownSelected)=\"onFormChange(); onDropdownChange()\"\r\n (formDateSelected)=\"onFormChange(); onDateSelected($event)\"\r\n (formSelectedDateRange)=\"onSelectedDateRange($event)\"\r\n (formSelectSearch)=\"onSelectSearch($event)\"\r\n (formAutoCompleteSearch)=\"onAutoCompleteSearch($event)\"\r\n (autoCompleteClearSearchValue)=\"\r\n onAutoCompleteClearSearchValue($event)\r\n \"\r\n (autoCompleteOptionSelected)=\"\r\n onFormChange(); onAutoCompleteOptionSelected()\r\n \"\r\n (formCheckboxSelection)=\"onCheckboxSelection($event)\"\r\n (ctaButtonClick)=\"onCheckboxCTAButtonClick($event)\"\r\n (formInputValue)=\"onFormChange()\"\r\n (addFormGroup)=\"onAddFormGroup($event)\"\r\n (formTimeSelected)=\"onFormChange(); onTimeSelected($event)\"\r\n (supportTextLinkClick)=\"onSupportTextLinkClick($event)\"\r\n (formSlideToggleChange)=\"onFormSlideToggleChange($event)\"\r\n (formFileUpload)=\"onFileUpload($event)\"\r\n (dropdownOpenedChange)=\"onDropdownOpenedChange($event)\"\r\n (formColorPickerChange)=\"onFormColorPickerChange($event)\"\r\n (formRadioOptionSelected)=\"onRadioOptionSelection($event)\"\r\n (formMultiSelectAutoCompleteSearch)=\"onMultiSelectAutoCompleteSearch($event)\"\r\n (multiSelectAutoCompleteClearSearchValue)=\"\r\n onMultiSelectAutoCompleteClearSearchValue($event)\r\n \"\r\n (multiSelectAutoCompleteOptionsSelected)=\"\r\n onFormChange(); onMultiSelectAutoCompleteOptionsSelected($event)\r\n \"\r\n (formRichTextEditorContentChange)=\"onFormRichTextEditorContentChange($event)\"\r\n >\r\n </ng-template>\r\n </div>\r\n </div>\r\n </fieldset>\r\n <ng-content select=\"[component]\"></ng-content>\r\n <div class=\"row\">\r\n <div\r\n class=\"col-12 ieeesa-dynamic-form__actions\"\r\n [ngClass]=\"{\r\n 'justify-content-end': actionButtonAlign === alignmentType.LEFT,\r\n 'justify-content-center': actionButtonAlign === alignmentType.MIDDLE,\r\n 'justify-content-start': actionButtonAlign === alignmentType.RIGHT\r\n }\"\r\n >\r\n <button\r\n type=\"submit\"\r\n mat-button\r\n class=\"mat-primary-button ieeesa-dynamic-form__actions--right-btn\"\r\n [disabled]=\"isSubmitButtonDisabled\"\r\n >\r\n {{ rightButtonLabel }}\r\n </button>\r\n <button\r\n *ngIf=\"isLeftButtonNeeded\"\r\n type=\"button\"\r\n mat-button\r\n class=\"mat-tertiary-button ieeesa-dynamic-form__actions--left-btn\"\r\n (click)=\"onLeftButtonClicked()\"\r\n [disabled]=\"isLeftButtonDisabled\"\r\n >\r\n {{ leftButtonLabel }}\r\n </button>\r\n </div>\r\n </div>\r\n</form>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;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.813rem;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.9375rem;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.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;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.125rem;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.875rem;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.5rem;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.625rem;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.5rem;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.5rem;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.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;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:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;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:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;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:1rem;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.125rem;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.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;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:.875rem;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:.875rem;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.5rem;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:1rem;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:focus{background:#1f75a7}.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:focus{background:#f0f5f9}.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:focus{background-color:#f0f5f9}.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:1rem;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:1rem;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:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-dynamic-form__actions{display:flex;padding-top:15px}.ieeesa-dynamic-form__actions--left-btn{margin-right:2%}.ieeesa-dynamic-form__form-field{padding-top:5px}.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]){margin-bottom:0!important}.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper,.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-focus-overlay{background:#fff;padding:0;border:0}.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix,.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-focus-overlay .mat-mdc-form-field-infix{min-height:2.375em;padding-top:.0625em;padding-bottom:.375em}.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mdc-line-ripple:before,.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mdc-line-ripple:after{border:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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: DynamicFormFieldDirective, selector: "[ieeesaDynamicFormField]", inputs: ["config", "group", "submitResponse", "searchResponse"], outputs: ["formSearchApply", "formDropdownSelected", "formDateSelected", "formTimeSelected", "formSelectedDateRange", "formSelectSearch", "formAutoCompleteSearch", "autoCompleteClearSearchValue", "autoCompleteOptionSelected", "formCheckboxSelection", "formInputValue", "addFormGroup", "supportTextLinkClick", "formSlideToggleChange", "dropdownOpenedChange", "formColorPickerChange", "formFileUpload", "formRadioOptionSelected", "ctaButtonClick", "formMultiSelectAutoCompleteSearch", "multiSelectAutoCompleteClearSearchValue", "multiSelectAutoCompleteOptionsSelected", "formRichTextEditorContentChange"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: FocusInvalidFormFieldDirective, selector: "[ieeesaFocusInvalidFormField]" }], encapsulation: i0.ViewEncapsulation.None }); }
448
457
  }
449
458
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicFormComponent, decorators: [{
@@ -456,7 +465,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
456
465
  FocusInvalidFormFieldDirective,
457
466
  TextTruncatedDirective
458
467
  ], encapsulation: ViewEncapsulation.None, template: "<form\r\n class=\"ieeesa-dynamic-form\"\r\n [formGroup]=\"form\"\r\n (change)=\"onFormChange()\"\r\n (ngSubmit)=\"onFormSubmit()\"\r\n (input)=\"formInputChange($event)\"\r\n ieeesaFocusInvalidFormField\r\n>\r\n <fieldset\r\n class=\"ieeesa-dynamic-form__fieldset\"\r\n *ngFor=\"\r\n let formGrp of formGroupArray;\r\n let i = index;\r\n trackBy: trackByFormGroup\r\n \"\r\n >\r\n <legend\r\n class=\"float-none w-auto p-2 ieeesa-dynamic-form__legend\"\r\n *ngIf=\"isLegendVisible\"\r\n >\r\n {{ legendsArray[i] }}\r\n </legend>\r\n <div class=\"row\">\r\n <div\r\n class=\"col-{{ colWidth.xs }} col-sm-{{ colWidth.sm }} col-md-{{\r\n colWidth.md\r\n }} col-lg-{{ colWidth.lg }} col-xl-{{ colWidth.xl }}\r\n ieeesa-dynamic-form__form-field\"\r\n [ngClass]=\"getRowClassName(formControlArray[i][j].controlName)\"\r\n *ngFor=\"let control of formControlArray[i]; let j = index\"\r\n >\r\n <ng-template\r\n ieeesaDynamicFormField\r\n [config]=\"formControlArray[i][j]\"\r\n [group]=\"formGrp\"\r\n [submitResponse]=\"submitResponse\"\r\n [searchResponse]=\"searchResponse\"\r\n (formSearchApply)=\"onSearchApply($event)\"\r\n (formDropdownSelected)=\"onFormChange(); onDropdownChange()\"\r\n (formDateSelected)=\"onFormChange(); onDateSelected($event)\"\r\n (formSelectedDateRange)=\"onSelectedDateRange($event)\"\r\n (formSelectSearch)=\"onSelectSearch($event)\"\r\n (formAutoCompleteSearch)=\"onAutoCompleteSearch($event)\"\r\n (autoCompleteClearSearchValue)=\"\r\n onAutoCompleteClearSearchValue($event)\r\n \"\r\n (autoCompleteOptionSelected)=\"\r\n onFormChange(); onAutoCompleteOptionSelected()\r\n \"\r\n (formCheckboxSelection)=\"onCheckboxSelection($event)\"\r\n (ctaButtonClick)=\"onCheckboxCTAButtonClick($event)\"\r\n (formInputValue)=\"onFormChange()\"\r\n (addFormGroup)=\"onAddFormGroup($event)\"\r\n (formTimeSelected)=\"onFormChange(); onTimeSelected($event)\"\r\n (supportTextLinkClick)=\"onSupportTextLinkClick($event)\"\r\n (formSlideToggleChange)=\"onFormSlideToggleChange($event)\"\r\n (formFileUpload)=\"onFileUpload($event)\"\r\n (dropdownOpenedChange)=\"onDropdownOpenedChange($event)\"\r\n (formColorPickerChange)=\"onFormColorPickerChange($event)\"\r\n (formRadioOptionSelected)=\"onRadioOptionSelection($event)\"\r\n (formMultiSelectAutoCompleteSearch)=\"onMultiSelectAutoCompleteSearch($event)\"\r\n (multiSelectAutoCompleteClearSearchValue)=\"\r\n onMultiSelectAutoCompleteClearSearchValue($event)\r\n \"\r\n (multiSelectAutoCompleteOptionsSelected)=\"\r\n onFormChange(); onMultiSelectAutoCompleteOptionsSelected($event)\r\n \"\r\n (formRichTextEditorContentChange)=\"onFormRichTextEditorContentChange($event)\"\r\n >\r\n </ng-template>\r\n </div>\r\n </div>\r\n </fieldset>\r\n <ng-content select=\"[component]\"></ng-content>\r\n <div class=\"row\">\r\n <div\r\n class=\"col-12 ieeesa-dynamic-form__actions\"\r\n [ngClass]=\"{\r\n 'justify-content-end': actionButtonAlign === alignmentType.LEFT,\r\n 'justify-content-center': actionButtonAlign === alignmentType.MIDDLE,\r\n 'justify-content-start': actionButtonAlign === alignmentType.RIGHT\r\n }\"\r\n >\r\n <button\r\n type=\"submit\"\r\n mat-button\r\n class=\"mat-primary-button ieeesa-dynamic-form__actions--right-btn\"\r\n [disabled]=\"isSubmitButtonDisabled\"\r\n >\r\n {{ rightButtonLabel }}\r\n </button>\r\n <button\r\n *ngIf=\"isLeftButtonNeeded\"\r\n type=\"button\"\r\n mat-button\r\n class=\"mat-tertiary-button ieeesa-dynamic-form__actions--left-btn\"\r\n (click)=\"onLeftButtonClicked()\"\r\n [disabled]=\"isLeftButtonDisabled\"\r\n >\r\n {{ leftButtonLabel }}\r\n </button>\r\n </div>\r\n </div>\r\n</form>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;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.813rem;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.9375rem;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.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;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.125rem;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.875rem;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.5rem;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.625rem;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.5rem;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.5rem;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.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;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:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;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:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;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:1rem;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.125rem;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.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;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:.875rem;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:.875rem;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.5rem;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:1rem;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:focus{background:#1f75a7}.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:focus{background:#f0f5f9}.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:focus{background-color:#f0f5f9}.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:1rem;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:1rem;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:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-dynamic-form__actions{display:flex;padding-top:15px}.ieeesa-dynamic-form__actions--left-btn{margin-right:2%}.ieeesa-dynamic-form__form-field{padding-top:5px}.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]){margin-bottom:0!important}.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper,.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-focus-overlay{background:#fff;padding:0;border:0}.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-text-field-wrapper .mat-mdc-form-field-infix,.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-focus-overlay .mat-mdc-form-field-infix{min-height:2.375em;padding-top:.0625em;padding-bottom:.375em}.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mdc-line-ripple:before,.ieeesa-dynamic-form__form-field:has(.mat-mdc-input-element[readonly=true]) .ieeesa-text-area-field .mat-mdc-form-field .mdc-line-ripple:after{border:0}\n"] }]
459
- }], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { formFields: [{
468
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i0.ElementRef }]; }, propDecorators: { formFields: [{
460
469
  type: ViewChildren,
461
470
  args: [DynamicFormFieldDirective]
462
471
  }], formGroups: [{
@@ -540,4 +549,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
540
549
  }], formRichTextEditorContentChange: [{
541
550
  type: Output
542
551
  }] } });
543
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixZQUFZLEVBQ1osaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxTQUFTLEVBRVQsV0FBVyxFQUVYLG1CQUFtQixFQUNuQixVQUFVLEdBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBSTNELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4RUFBOEUsQ0FBQztBQUU5SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFTeEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMERBQTBELENBQUM7Ozs7O0FBRWxHOzs7Ozs7R0FNRztBQWlCSCxNQUFNLE9BQU8sb0JBQW9CO0lBSS9COzs7T0FHRztJQUNILElBQ0ksVUFBVSxDQUFDLEtBQWdCO1FBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pC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QUVHLFVBQVU7c0JBQW5CLE1BQU07Z0JBRUcsU0FBUztzQkFBbEIsTUFBTTtnQkFFRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBRUcsZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBRUcsY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFJRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csc0JBQXNCO3NCQUEvQixNQUFNO2dCQUVHLGdDQUFnQztzQkFBekMsTUFBTTtnQkFFRywwQkFBMEI7c0JBQW5DLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFJRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFDRyx1QkFBdUI7c0JBQWhDLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxpQ0FBaUM7c0JBQTFDLE1BQU07Z0JBRUcsMkNBQTJDO3NCQUFwRCxNQUFNO2dCQUVHLHNDQUFzQztzQkFBL0MsTUFBTTtnQkFHRywrQkFBK0I7c0JBQXhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyQ29udGVudEluaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFF1ZXJ5TGlzdCxcclxuICBWaWV3Q2hpbGRyZW4sXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgRm9ybUFycmF5LFxyXG4gIEZvcm1CdWlsZGVyLFxyXG4gIEZvcm1Db250cm9sLFxyXG4gIEZvcm1Hcm91cCxcclxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gIFZhbGlkYXRvcnMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBGb3JtTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS5tb2RlbCc7XHJcbmltcG9ydCB7IEZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpZWxkLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1HcmlkIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tZ3JpZC5tb2RlbCc7XHJcbmltcG9ydCB7IER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2R5bmFtaWMtZm9ybS1maWVsZC9keW5hbWljLWZvcm0tZmllbGQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQWxpZ25UeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FsaWduLXR5cGUubW9kZWwnO1xyXG5pbXBvcnQgeyBGb2N1c0ludmFsaWRGb3JtRmllbGREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2ZvY3VzLWludmFsaWQtZm9ybS1maWVsZC9mb2N1cy1pbnZhbGlkLWZvcm0tZmllbGQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ2hlY2tib3hPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvY2hlY2tib3gtb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2xUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tY29udHJvbC10eXBlcy5tb2RlbCc7XHJcbmltcG9ydCB7IFNlbGVjdGVkRGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscy9zZWxlY3RlZC1kYXRlLm1vZGVsJztcclxuaW1wb3J0IHsgU2VsZWN0ZWRUaW1lIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlbGVjdGVkLXRpbWUubW9kZWwnO1xyXG5pbXBvcnQgeyBMaW5rRXZlbnRFbWl0VHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9ldmVudC1lbWl0LXR5cGUubW9kZWwnO1xyXG5pbXBvcnQgeyBTbGlkZVRvZ2dsZU9wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9zbGlkZS10b2dnbGUtb3B0aW9ucy5tb2RlbCc7XHJcbmltcG9ydCB7IFNlbGVjdE9wZW5lZFN0YXRlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlbGVjdC1vcGVuZWQtc3RhdGUubW9kZWwnO1xyXG5pbXBvcnQgeyBSYWRpb09wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9yYWRpby1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ljb24tYnV0dG9uLm1vZGVsJztcclxuaW1wb3J0IHsgQXV0b0NvbXBsZXRlT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2F1dG9jb21wbGV0ZS1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBUZXh0VHJ1bmNhdGVkRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy90ZXh0LXRydW5jYXRlZC90ZXh0LXRydW5jYXRlZC5kaXJlY3RpdmUnO1xyXG5cclxuLyoqXHJcbiAqIENyZWF0ZXMgYSByZWFjdGl2ZSBmb3JtIGR5bmFtaWNhbGx5IGJhc2VkIG9uIHRoZSBwYXNzZWQgZm9ybSBmaWVsZCBjb25maWd1cmF0aW9uIGFuZCBoYW5kbGVzIHRoZSBmb3JtIGV2ZW50cy5cclxuICogQGV4cG9ydFxyXG4gKiBAY2xhc3MgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICogQGltcGxlbWVudHMge09uSW5pdH1cclxuICogQGltcGxlbWVudHMge0FmdGVyQ29udGVudEluaXR9XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBleHBvcnRBczogJ2R5bmFtaWNGb3JtJyxcclxuICBzZWxlY3RvcjogJ2llZWVzYS1keW5hbWljLWZvcm0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBGb2N1c0ludmFsaWRGb3JtRmllbGREaXJlY3RpdmUsXHJcbiAgICBUZXh0VHJ1bmNhdGVkRGlyZWN0aXZlXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOlZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0IHtcclxuICBAVmlld0NoaWxkcmVuKER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmUpXHJcbiAgZm9ybUZpZWxkcyE6IFF1ZXJ5TGlzdDxEeW5hbWljRm9ybUZpZWxkRGlyZWN0aXZlPjtcclxuICBwcml2YXRlIF9mb3JtR3JvdXBzITogRm9ybU1vZGVsO1xyXG4gIC8qKlxyXG4gICAqIEZvcm1Hcm91cHMgcGFzc2VkIGFuIGFuIGlucHV0IGFuZCB3aGljaCBjb250YWlucyBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIG9mIGV2ZXJ5IGZvcm0gZmllbGRzLlxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGZvcm1Hcm91cHModmFsdWU6IEZvcm1Nb2RlbCkge1xyXG4gICAgdGhpcy5fZm9ybUdyb3VwcyA9IHZhbHVlO1xyXG4gICAgdGhpcy5jcmVhdGVGb3JtR3JvdXBBcnJheSgpO1xyXG4gIH1cclxuICBnZXQgZm9ybUdyb3VwcygpOiBGb3JtTW9kZWwge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1Hcm91cHM7XHJcbiAgfVxyXG5cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIHByaXZhdGUgX3N1Ym1pdFJlc3BvbnNlITogYW55O1xyXG4gIC8qKlxyXG4gICAqIFNldHMgc3VibWl0IHJlc3BvbnNlIG9uIGZvcm0gc3VibWl0XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIHNldCBzdWJtaXRSZXNwb25zZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLl9zdWJtaXRSZXNwb25zZSA9IHZhbHVlO1xyXG4gIH1cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGdldCBzdWJtaXRSZXNwb25zZSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N1Ym1pdFJlc3BvbnNlO1xyXG4gIH1cclxuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBwcml2YXRlIF9zZWFyY2hSZXNwb25zZSE6IGFueTtcclxuICAvKipcclxuICAgKiBTZXRzIHNlYXJjaCByZXNwb25zZSBvbiBmb3JtIHNlYXJjaCBldmVudFxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBzZXQgc2VhcmNoUmVzcG9uc2UodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5fc2VhcmNoUmVzcG9uc2UgPSB2YWx1ZTtcclxuICB9XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBnZXQgc2VhcmNoUmVzcG9uc2UoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl9zZWFyY2hSZXNwb25zZTtcclxuICB9XHJcbiAgQElucHV0KCkgY29sV2lkdGghOiBGb3JtR3JpZDtcclxuICBASW5wdXQoKSBpc0xlZ2VuZFZpc2libGUhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHJpZ2h0QnV0dG9uTGFiZWwhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbGVmdEJ1dHRvbkxhYmVsITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGlzU3VibWl0QnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc0xlZnRCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzTGVmdEJ1dHRvbk5lZWRlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGFjdGlvbkJ1dHRvbkFsaWduITogQWxpZ25UeXBlO1xyXG4gIGFsaWdubWVudFR5cGUgPSBBbGlnblR5cGU7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBAT3V0cHV0KCkgZm9ybVN1Ym1pdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIEBPdXRwdXQoKSBmb3JtQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgQE91dHB1dCgpIGZvcm1JbnB1dDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIEBPdXRwdXQoKSBmb3JtTGVmdEJ1dHRvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBAT3V0cHV0KCkgZm9ybVNlYXJjaEFwcGx5OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1Hcm91cHNSZWZlcmVuY2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1Hcm91cFtdPigpO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgQE91dHB1dCgpIGRyb3Bkb3duQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1DaGVja2JveFNlbGVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hlY2tib3hPcHRpb24+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1EYXRlU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdGVkRGF0ZT4oKTtcclxuICBAT3V0cHV0KCkgZm9ybVNlbGVjdFNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgc2VhcmNoRXZlbnQ6IEV2ZW50O1xyXG4gICAgY29udHJvbE5hbWU6IHN0cmluZztcclxuICB9PigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtQ29udHJvbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1BdXRvQ29tcGxldGVTZWFyY2g6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID1cclxuICAgIG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtQXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPVxyXG4gICAgbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIGF1dG9Db21wbGV0ZU9wdGlvblNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtR3JvdXBbXT4oKTtcclxuICBAT3V0cHV0KCkgZm9ybUFmdGVyQ29udGVudEluaXQgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1Hcm91cFtdPigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtU2VsZWN0ZWREYXRlUmFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgIHN0YXJ0RGF0ZTogc3RyaW5nO1xyXG4gICAgZW5kRGF0ZTogc3RyaW5nO1xyXG4gIH0+KCk7XHJcbiAgQE91dHB1dCgpIGFkZEZvcm1Hcm91cCA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1UaW1lU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdGVkVGltZT4oKTtcclxuICBAT3V0cHV0KCkgc3VwcG9ydFRleHRMaW5rQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPExpbmtFdmVudEVtaXRUeXBlPigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtU2xpZGVUb2dnbGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNsaWRlVG9nZ2xlT3B0aW9uPigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtRmlsZVVwbG9hZCA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZSB8IEZpbGVMaXN0PigpO1xyXG4gIEBPdXRwdXQoKSBkcm9wZG93bk9wZW5lZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0T3BlbmVkU3RhdGU+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1Db2xvclBpY2tlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtUmFkaW9PcHRpb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8UmFkaW9PcHRpb24+KCk7XHJcbiAgQE91dHB1dCgpIGN0YUJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxJY29uQnV0dG9uPigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtTXVsdGlTZWxlY3RBdXRvQ29tcGxldGVTZWFyY2g6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID1cclxuICAgIG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtTXVsdGlTZWxlY3RBdXRvQ29tcGxldGVDbGVhclNlYXJjaFZhbHVlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9XHJcbiAgICBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgbXVsdGlTZWxlY3RBdXRvQ29tcGxldGVPcHRpb25zU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFxyXG4gICAgQXV0b0NvbXBsZXRlT3B0aW9uW11cclxuICA+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1SaWNoVGV4dEVkaXRvckNvbnRlbnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBmb3JtITogRm9ybUdyb3VwO1xyXG4gIGZvcm1Hcm91cEFycmF5OiBGb3JtR3JvdXBbXSA9IFtdO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgZm9ybUNvbnRyb2xBcnJheTogYW55W10gPSBbXTtcclxuICBsZWdlbmRzQXJyYXk6IHN0cmluZ1tdID0gW107XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzLCBuby1lbXB0eS1mdW5jdGlvblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBJbXBsZW1lbnRhdGlvbiBvZiBuZ09uSW5pdCBsaWZlY3ljbGUgaG9vayBtZXRob2QgdG8gY3JlYXRlIGZvcm0gZ3JvdXBcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY3JlYXRlRm9ybUdyb3VwQXJyYXkoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXQgZ2VuZXJhdGVkIGZvcm0gcmVmZXJlbmNlIG9uIG5nQWZ0ZXJDb250ZW50SW5pdCBsaWZlY3ljbGUgaG9vay5cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1BZnRlckNvbnRlbnRJbml0LmVtaXQodGhpcy5mb3JtR3JvdXBBcnJheSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGVzIGZvcm0gZ3JvdXAgb24gdGhlIGJhc2lzIG9mIGZvcm1Hcm91cHMgY29uZmlndXJhdGlvbiBpbnB1dFxyXG4gICAqIEByZXR1cm4ge3ZvaWR9XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgY3JlYXRlRm9ybUdyb3VwQXJyYXkoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1Hcm91cEFycmF5ID0gW107XHJcbiAgICB0aGlzLmZvcm1Db250cm9sQXJyYXkgPSBbXTtcclxuICAgIHRoaXMubGVnZW5kc0FycmF5ID0gW107XHJcbiAgICBpZiAoIXRoaXMuZm9ybUdyb3Vwcykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm1Hcm91cHM/LmZvcm1Hcm91cD8uZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICBjb25zdCBjb250cm9scyA9IGVsZW1lbnQuY29udHJvbHMuZmlsdGVyKFxyXG4gICAgICAgIChjb250cm9sKSA9PiBjb250cm9sLnR5cGUgIT09ICdidXR0b24nXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwQXJyYXkucHVzaCh0aGlzLmNyZWF0ZUdyb3VwKGNvbnRyb2xzKSk7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2xBcnJheS5wdXNoKGNvbnRyb2xzKTtcclxuICAgICAgdGhpcy5sZWdlbmRzQXJyYXkucHVzaChlbGVtZW50LmxlZ2VuZCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBjaGlsZHJlbjogdGhpcy5mb3JtR3JvdXBBcnJheSxcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZm9ybUdyb3Vwc1JlZmVyZW5jZS5lbWl0KHRoaXMuZm9ybUdyb3VwQXJyYXkpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBDcmVhdGVzIGZvcm0gZ3JvdXAgdXNpbmcgZm9ybSBidWlsZGVyXHJcbiAgICogQHBhcmFtIHthbnlbXX0gY29udHJvbHNcclxuICAgKiBAcmV0dXJuIHtGb3JtR3JvdXB9XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBjcmVhdGVHcm91cChjb250cm9sczogYW55W10pOiBGb3JtR3JvdXAge1xyXG4gICAgY29uc3QgZ3JvdXAgPSB0aGlzLmZiLmdyb3VwKHt9KTtcclxuICAgIGNvbnRyb2xzLmZvckVhY2goKGNvbnRyb2w6IEZpZWxkQ29uZmlnKSA9PiB7XHJcbiAgICAgIGlmIChjb250cm9sLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5DSEVDS0JPWCkge1xyXG4gICAgICAgIGdyb3VwLmFkZENvbnRyb2woY29udHJvbC5jb250cm9sTmFtZSwgdGhpcy5jcmVhdGVGb3JtQXJyYXkoY29udHJvbCkpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGdyb3VwLmFkZENvbnRyb2woY29udHJvbC5jb250cm9sTmFtZSwgdGhpcy5jcmVhdGVDb250cm9sKGNvbnRyb2wpKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZ3JvdXA7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgZm9ybSBhcnJheSBmb3IgQ2hlY2tib3ggZ3JvdXAgYW5kIHJldHVybnMuXHJcbiAgICogQHBhcmFtIHtGaWVsZENvbmZpZ30gY29udHJvbHNcclxuICAgKiBAcmV0dXJuIHtGb3JtQXJyYXk8YW55Pn1cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGNyZWF0ZUZvcm1BcnJheShjb250cm9sczogRmllbGRDb25maWcpOiBGb3JtQXJyYXk8YW55PiB7XHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgbGV0IGZvcm1BcnJheTogRm9ybUFycmF5PGFueT47XHJcbiAgICBjb25zdCBncm91cCA9IHRoaXMuZmIuZ3JvdXAoe30pO1xyXG4gICAgZ3JvdXAuYWRkQ29udHJvbChjb250cm9scy5jb250cm9sTmFtZSwgdGhpcy5jcmVhdGVDb250cm9sKGNvbnRyb2xzKSk7XHJcbiAgICBjb25zdCBpc1JlcXVpcmVkVmFsaWRhdG9yID0gZ3JvdXBcclxuICAgICAgPy5nZXQoY29udHJvbHMuY29udHJvbE5hbWUpXHJcbiAgICAgID8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgaWYgKGlzUmVxdWlyZWRWYWxpZGF0b3IpXHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgIGZvcm1BcnJheSA9IG5ldyBGb3JtQXJyYXk8YW55PihcclxuICAgICAgICBbXSxcclxuICAgICAgICB0aGlzLmNoZWNrYm94U2VsZWN0aW9uUmVxdWlyZWRWYWxpZGF0b3IoY29udHJvbHM/Lm1pblNlbGVjdGlvblJlcXVpcmVkKVxyXG4gICAgICApO1xyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgIGVsc2UgZm9ybUFycmF5ID0gbmV3IEZvcm1BcnJheTxhbnk+KFtdKTtcclxuICAgIGNvbnRyb2xzPy5jaGVja2JveE9wdGlvbnM/LmZvckVhY2goKGNvbnRyb2wpID0+IHtcclxuICAgICAgZm9ybUFycmF5LnB1c2gobmV3IEZvcm1Db250cm9sKGNvbnRyb2wuY2hlY2tlZCkpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZm9ybUFycmF5O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3VzdG9tIHZhbGlkYXRvciB0byBzZXQgcmVxdWlyZWQgZmlsZWQgdmFsaWRhdGlvbiBlcnJvciBmb3IgdGhlIGNoZWNrYm94IGZpZWxkIHR5cGUgYmFzZWQgb24gdGhlIG51bWJlciBvZiBjb25maWd1cmVkIG1pbmltdW0gY2hlY2tib3ggb3B0aW9ucyB0byBiZSBzZWxlY3RlZCB3aGVuZXZlciB0aGUgZmlsZWQgY29uZmlndXJlZCB3aXRoIHJlcXVpcmVkLlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbbWluU2VsZWN0aW9uUmVxdWlyZWQ9MV1cclxuICAgKiBAcmV0dXJuIHsqfVxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgY2hlY2tib3hTZWxlY3Rpb25SZXF1aXJlZFZhbGlkYXRvcihtaW5TZWxlY3Rpb25SZXF1aXJlZCA9IDEpOiBhbnkge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uIHZhbGlkYXRlKGZvcm1Hcm91cDogRm9ybUdyb3VwKSB7XHJcbiAgICAgIGxldCBjaGVja2VkID0gMDtcclxuICAgICAgT2JqZWN0LmtleXMoZm9ybUdyb3VwLmNvbnRyb2xzKS5mb3JFYWNoKChrZXkpID0+IHtcclxuICAgICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmNvbnRyb2xzW2tleV07XHJcbiAgICAgICAgaWYgKGNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgICAgIGNoZWNrZWQrKztcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAoY2hlY2tlZCA8IG1pblNlbGVjdGlvblJlcXVpcmVkKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGNoZWNrYm94U2VsZWN0aW9uUmVxdWlyZWQ6IHRydWUsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9O1xyXG4gIH1cclxuICAvKipcclxuICAgKiBDcmVhdGVzIGZvcm0gY29udHJvbCBiYXNlZCBvbiBmb3JtIGZpZWxkIGNvbmZpZ3VyYXRpb25cclxuICAgKiBAcGFyYW0ge0ZpZWxkQ29uZmlnfSBjb250cm9sXHJcbiAgICogQHJldHVybiB7Rm9ybUNvbnRyb2x9XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgY3JlYXRlQ29udHJvbChjb250cm9sOiBGaWVsZENvbmZpZyk6IEZvcm1Db250cm9sIHtcclxuICAgIGNvbnN0IHsgZGlzYWJsZWQsIHZhbGlkYXRpb24sIHZhbHVlIH0gPSBjb250cm9sO1xyXG4gICAgcmV0dXJuIHRoaXMuZmIuY29udHJvbCh7IGRpc2FibGVkLCB2YWx1ZSB9LCB2YWxpZGF0aW9uKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIGZvcm1Hcm91cEFycmF5XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25Gb3JtU3VibWl0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtU3VibWl0LmVtaXQodGhpcy5mb3JtR3JvdXBBcnJheSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbWl0cyBmb3JtR3JvdXBBcnJheVxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uTGVmdEJ1dHRvbkNsaWNrZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1MZWZ0QnV0dG9uQ2xpY2tlZC5lbWl0KHRoaXMuZm9ybUdyb3VwQXJyYXkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdHMgZm9ybUdyb3VwQXJyYXlcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvbkZvcm1DaGFuZ2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1DaGFuZ2UuZW1pdCh0aGlzLmZvcm1Hcm91cEFycmF5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgZm9ybSBmaWVsZCBzZWxlY3QgdHlwZSBkcm9wIGRvd24gc2VsZWN0aW9uIGV2ZW50XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25Ecm9wZG93bkNoYW5nZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZHJvcGRvd25DaGFuZ2UuZW1pdCh0aGlzLmZvcm1Hcm91cEFycmF5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgZm9ybSBpbnB1dCBjaGFuZ2UgZXZlbnRcclxuICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudFxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGZvcm1JbnB1dENoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2xDaGFuZ2UuZW1pdChldmVudCk7XHJcbiAgICB0aGlzLmZvcm1JbnB1dC5lbWl0KHRoaXMuZm9ybUdyb3VwQXJyYXkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBmb3JtIGZpZWxkIHNlYXJjaCBhcHBseSBldmVudFxyXG4gICAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25TZWFyY2hBcHBseShldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybVNlYXJjaEFwcGx5LmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBzZWFyY2ggZXZlbnQgaW5zaWRlIGZvcm0gZmllbGQgc2VsZWN0XHJcbiAgICogQHBhcmFtIHtFdmVudH0gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvblNlbGVjdFNlYXJjaChldmVudDogeyBzZWFyY2hFdmVudDogRXZlbnQ7IGNvbnRyb2xOYW1lOiBzdHJpbmcgfSk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtU2VsZWN0U2VhcmNoLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVGFrZXMgdGhlIGluZGV4IGFuZCB0aGUgZm9ybUdyb3VwIGFzIGFyZ3VtZW50cyBhbmQgbmVlZHMgdG8gcmV0dXJuIHRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBmb3JtR3JvdXAuXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGluZGV4XHJcbiAgICogQHBhcmFtIHtGb3JtR3JvdXB9IGZvcm1Hcm91cFxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIHRyYWNrQnlGb3JtR3JvdXAoaW5kZXg6IG51bWJlciwgZm9ybUdyb3VwOiBGb3JtR3JvdXApIHtcclxuICAgIHJldHVybiBmb3JtR3JvdXAuY29udHJvbHM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIGZvcm0gZGF0ZSBzZWxlY3Rpb24gZXZlbnRcclxuICAgKiBAcGFyYW0ge1NlbGVjdGVkRGF0ZX0gc2VsZWN0ZWREYXRlXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25EYXRlU2VsZWN0ZWQoc2VsZWN0ZWREYXRlOiBTZWxlY3RlZERhdGUpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybURhdGVTZWxlY3RlZC5lbWl0KHNlbGVjdGVkRGF0ZSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgZm9ybSB0aW1lIHNlbGVjdGlvbiBldmVudFxyXG4gICAqIEBwYXJhbSB7U2VsZWN0ZWRUaW1lfSBzZWxlY3RlZFRpbWVcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvblRpbWVTZWxlY3RlZChzZWxlY3RlZFRpbWU6IFNlbGVjdGVkVGltZSk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtVGltZVNlbGVjdGVkLmVtaXQoc2VsZWN0ZWRUaW1lKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogRW1pdHMgc2VsZWN0ZWQgZm9ybSBkYXRlIHJhbmdlXHJcbiAgICogQHBhcmFtIHt7c3RhcnREYXRlOiBzdHJpbmcsIGVuZERhdGU6IHN0cmluZ319IGRhdGVSYW5nZVxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uU2VsZWN0ZWREYXRlUmFuZ2UoZGF0ZVJhbmdlOiB7IHN0YXJ0RGF0ZTogc3RyaW5nOyBlbmREYXRlOiBzdHJpbmcgfSkge1xyXG4gICAgdGhpcy5mb3JtU2VsZWN0ZWREYXRlUmFuZ2UuZW1pdChkYXRlUmFuZ2UpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBmb3JtIGZpZWxkIGF1dG8gY29tcGxldGUgc2VhcmNoIGV2ZW50XHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25BdXRvQ29tcGxldGVTZWFyY2goZXZlbnQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtQXV0b0NvbXBsZXRlU2VhcmNoLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBIYW5kbGVzIGZvcm0gZmllbGQgYXV0byBjb21wbGV0ZSBzZWFyY2ggY2xlYXIgZXZlbnRcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvbkF1dG9Db21wbGV0ZUNsZWFyU2VhcmNoVmFsdWUoZXZlbnQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtQXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZS5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgZm9ybSBmaWVsZCBjaGVja2JveCBzZWxlY3Rpb24gZXZlbnRcclxuICAgKiBAcGFyYW0ge0NoZWNrYm94T3B0aW9ufSBvcHRpb25cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvbkNoZWNrYm94U2VsZWN0aW9uKG9wdGlvbjogQ2hlY2tib3hPcHRpb24pOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUNoZWNrYm94U2VsZWN0aW9uLmVtaXQob3B0aW9uKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgZm9ybSBmaWVsZCBhdXRvIGNvbXBsZXRlIG9wdGlvbiBzZWxlY3Rpb24gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvbkF1dG9Db21wbGV0ZU9wdGlvblNlbGVjdGVkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5hdXRvQ29tcGxldGVPcHRpb25TZWxlY3RlZC5lbWl0KHRoaXMuZm9ybUdyb3VwQXJyYXkpO1xyXG4gIH1cclxuICAvKipcclxuICAgKlxyXG4gICAqIExpc3RlbnMgZm9ybSBmaWVsZCBtdWx0aSBzZWxlY3QgYXV0byBjb21wbGV0ZSBzZWFyY2ggZXZlbnQgYW5kIGVtaXRzIGZvcm1NdWx0aVNlbGVjdEF1dG9Db21wbGV0ZVNlYXJjaCBldmVudC5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvbk11bHRpU2VsZWN0QXV0b0NvbXBsZXRlU2VhcmNoKGV2ZW50OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybU11bHRpU2VsZWN0QXV0b0NvbXBsZXRlU2VhcmNoLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTGlzdGVucyBmb3JtIGZpZWxkIG11bHRpIHNlbGVjdCBhdXRvIGNvbXBsZXRlIHNlYXJjaCBjbGVhciBldmVudCBhbmQgZW1pdHMgZm9ybU11bHRpU2VsZWN0QXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZSBldmVudC5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvbk11bHRpU2VsZWN0QXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZShldmVudDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1NdWx0aVNlbGVjdEF1dG9Db21wbGV0ZUNsZWFyU2VhcmNoVmFsdWUuZW1pdChldmVudCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIExpc3RlbnMgZm9ybSBmaWVsZCBtdWx0aSBzZWxlY3QgYXV0byBjb21wbGV0ZSBvcHRpb24gc2VsZWN0aW9uIGV2ZW50IGFuZCBlbWl0cyBtdWx0aVNlbGVjdEF1dG9Db21wbGV0ZU9wdGlvblNlbGVjdGVkIGV2ZW50LlxyXG4gICAqIEBwYXJhbSB7QXV0b0NvbXBsZXRlT3B0aW9uW119IGV2ZW50XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25NdWx0aVNlbGVjdEF1dG9Db21wbGV0ZU9wdGlvbnNTZWxlY3RlZChldmVudDogQXV0b0NvbXBsZXRlT3B0aW9uW10pOiB2b2lkIHtcclxuICAgIHRoaXMubXVsdGlTZWxlY3RBdXRvQ29tcGxldGVPcHRpb25zU2VsZWN0ZWQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIGZvcm0gc2xpZGUgdG9nZ2xlIGV2ZW50IGFuZCBlbWl0cyBmb3JtU2xpZGVUb2dnbGVDaGFuZ2UgZXZlbnQuXHJcbiAgICogQHBhcmFtIHtTbGlkZVRvZ2dsZU9wdGlvbn0gdG9nZ2xlXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25Gb3JtU2xpZGVUb2dnbGVDaGFuZ2UodG9nZ2xlOiBTbGlkZVRvZ2dsZU9wdGlvbik6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtU2xpZGVUb2dnbGVDaGFuZ2UuZW1pdCh0b2dnbGUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBmb3JtIGNvbG9yIHBpY2tlciBldmVudCBhbmQgZW1pdHMgZm9ybUNvbG9yUGlja2VyQ2hhbmdlIGV2ZW50LlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjb2xvckNvZGVcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvbkZvcm1Db2xvclBpY2tlckNoYW5nZShjb2xvckNvZGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtQ29sb3JQaWNrZXJDaGFuZ2UuZW1pdChjb2xvckNvZGUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBmb3JtIHJpY2ggdGV4dCBlZGl0b3IgZXZlbnQgYW5kIGVtaXRzIGZvcm1SaWNoVGV4dEVkaXRvckNvbnRlbnRDaGFuZ2UgZXZlbnQuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGh0bWxNYXJrdXBUZXh0XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25Gb3JtUmljaFRleHRFZGl0b3JDb250ZW50Q2hhbmdlKGh0bWxNYXJrdXBUZXh0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybVJpY2hUZXh0RWRpdG9yQ29udGVudENoYW5nZS5lbWl0KGh0bWxNYXJrdXBUZXh0KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgZmlsZSB1cGxvYWQgZXZlbnQgYW5kIGVtaXRzIGZvcm1GaWxlVXBsb2FkIGV2ZW50XHJcbiAgICogQHBhcmFtIHsoRmlsZSB8IEZpbGVMaXN0KX0gZmlsZVxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRmlsZVVwbG9hZChmaWxlOiBGaWxlIHwgRmlsZUxpc3QpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUZpbGVVcGxvYWQuZW1pdChmaWxlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgZm9ybSBmaWVsZCByYWRpbyBidXR0b24gc2VsZWN0aW9uIGV2ZW50XHJcbiAgICogQHBhcmFtIHtSYWRpb09wdGlvbn0gb3B0aW9uXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25SYWRpb09wdGlvblNlbGVjdGlvbihvcHRpb246IFJhZGlvT3B0aW9uKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1SYWRpb09wdGlvblNlbGVjdGVkLmVtaXQob3B0aW9uKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnZlcnRzIHBhc3NlZCBjb250cm9sIG5hbWUgaW4gaHlwaGVuYXRlZCBjc3MgY2xhc3MgbmFtZVxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjbGFzc05hbWVcclxuICAgKiBAcmV0dXJuIHtzdHJpbmd9XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0Um93Q2xhc3NOYW1lKGNsYXNzTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBjbGFzc05hbWVcclxuICAgICAgLnJlcGxhY2UoLyhbQS1aXSkvZywgJyAkMScpXHJcbiAgICAgIC50b0xvd2VyQ2FzZSgpXHJcbiAgICAgIC5zcGxpdCgnICcpXHJcbiAgICAgIC5qb2luKCctJyk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIHRoZSBhZGRGb3JtR3JvdXAgZXZlbnRcclxuICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudFxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uQWRkRm9ybUdyb3VwKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5hZGRGb3JtR3JvdXAuZW1pdChldmVudCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIHN1cHBvcnRUZXh0TGlua0NsaWNrIGV2ZW50IG9uIGNsaWNrIG9mIGZvcm0gc3VwcG9ydCB0ZXh0IGxpbmtcclxuICAgKiBAcGFyYW0ge0xpbmtFdmVudEVtaXRUeXBlfSBldmVudFxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uU3VwcG9ydFRleHRMaW5rQ2xpY2soZXZlbnQ6IExpbmtFdmVudEVtaXRUeXBlKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1cHBvcnRUZXh0TGlua0NsaWNrLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBMaXN0ZW5zIHNlbGVjdCBmb3JtIGZpZWxkIGRyb3Bkb3duT3BlbmVkQ2hhbmdlIGV2ZW50IGFuZCBlbWl0cyBkcm9wZG93bk9wZW5lZENoYW5nZSBldmVudC5cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKiBAcGFyYW0ge1NlbGVjdE9wZW5lZFN0YXRlfSBldmVudFxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRHJvcGRvd25PcGVuZWRDaGFuZ2UoZXZlbnQ6IFNlbGVjdE9wZW5lZFN0YXRlKTogdm9pZCB7XHJcbiAgICB0aGlzLmRyb3Bkb3duT3BlbmVkQ2hhbmdlLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdHMgY3RhQnV0dG9uQ2xpY2sgZXZlbnQgYWxvbmcgd2l0aCBjbGlja2VkIGJ1dHRvbiBpbmZvcm1hdGlvbi5cclxuICAgKiBAcGFyYW0ge0ljb25CdXR0b259IGV2ZW50XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25DaGVja2JveENUQUJ1dHRvbkNsaWNrKGV2ZW50OiBJY29uQnV0dG9uKTogdm9pZCB7XHJcbiAgICB0aGlzLmN0YUJ1dHRvbkNsaWNrLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxufVxyXG4iLCI8Zm9ybVxyXG4gIGNsYXNzPVwiaWVlZXNhLWR5bmFtaWMtZm9ybVwiXHJcbiAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcclxuICAoY2hhbmdlKT1cIm9uRm9ybUNoYW5nZSgpXCJcclxuICAobmdTdWJtaXQpPVwib25Gb3JtU3VibWl0KClcIlxyXG4gIChpbnB1dCk9XCJmb3JtSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgaWVlZXNhRm9jdXNJbnZhbGlkRm9ybUZpZWxkXHJcbj5cclxuICA8ZmllbGRzZXRcclxuICAgIGNsYXNzPVwiaWVlZXNhLWR5bmFtaWMtZm9ybV9fZmllbGRzZXRcIlxyXG4gICAgKm5nRm9yPVwiXHJcbiAgICAgIGxldCBmb3JtR3JwIG9mIGZvcm1Hcm91cEFycmF5O1xyXG4gICAgICBsZXQgaSA9IGluZGV4O1xyXG4gICAgICB0cmFja0J5OiB0cmFja0J5Rm9ybUdyb3VwXHJcbiAgICBcIlxyXG4gID5cclxuICAgIDxsZWdlbmRcclxuICAgICAgY2xhc3M9XCJmbG9hdC1ub25lIHctYXV0byBwLTIgaWVlZXNhLWR5bmFtaWMtZm9ybV9fbGVnZW5kXCJcclxuICAgICAgKm5nSWY9XCJpc0xlZ2VuZFZpc2libGVcIlxyXG4gICAgPlxyXG4gICAgICB7eyBsZWdlbmRzQXJyYXlbaV0gfX1cclxuICAgIDwvbGVnZW5kPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJjb2wte3sgY29sV2lkdGgueHMgfX0gY29sLXNtLXt7IGNvbFdpZHRoLnNtIH19IGNvbC1tZC17e1xyXG4gICAgICAgICAgY29sV2lkdGgubWRcclxuICAgICAgICB9fSBjb2wtbGcte3sgY29sV2lkdGgubGcgfX0gY29sLXhsLXt7IGNvbFdpZHRoLnhsIH19XHJcbiAgICAgICAgaWVlZXNhLWR5bmFtaWMtZm9ybV9fZm9ybS1maWVsZFwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwiZ2V0Um93Q2xhc3NOYW1lKGZvcm1Db250cm9sQXJyYXlbaV1bal0uY29udHJvbE5hbWUpXCJcclxuICAgICAgICAqbmdGb3I9XCJsZXQgY29udHJvbCBvZiBmb3JtQ29udHJvbEFycmF5W2ldOyBsZXQgaiA9IGluZGV4XCJcclxuICAgICAgPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgICAgaWVlZXNhRHluYW1pY0Zvcm1GaWVsZFxyXG4gICAgICAgICAgW2NvbmZpZ109XCJmb3JtQ29udHJvbEFycmF5W2ldW2pdXCJcclxuICAgICAgICAgIFtncm91cF09XCJmb3JtR3JwXCJcclxuICAgICAgICAgIFtzdWJtaXRSZXNwb25zZV09XCJzdWJtaXRSZXNwb25zZVwiXHJcbiAgICAgICAgICBbc2VhcmNoUmVzcG9uc2VdPVwic2VhcmNoUmVzcG9uc2VcIlxyXG4gICAgICAgICAgKGZvcm1TZWFyY2hBcHBseSk9XCJvblNlYXJjaEFwcGx5KCRldmVudClcIlxyXG4gICAgICAgICAgKGZvcm1Ecm9wZG93blNlbGVjdGVkKT1cIm9uRm9ybUNoYW5nZSgpOyBvbkRyb3Bkb3duQ2hhbmdlKClcIlxyXG4gICAgICAgICAgKGZvcm1EYXRlU2VsZWN0ZWQpPVwib25Gb3JtQ2hhbmdlKCk7IG9uRGF0ZVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgKGZvcm1TZWxlY3RlZERhdGVSYW5nZSk9XCJvblNlbGVjdGVkRGF0ZVJhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgKGZvcm1TZWxlY3RTZWFyY2gpPVwib25TZWxlY3RTZWFyY2goJGV2ZW50KVwiXHJcbiAgICAgICAgICAoZm9ybUF1dG9Db21wbGV0ZVNlYXJjaCk9XCJvbkF1dG9Db21wbGV0ZVNlYXJjaCgkZXZlbnQpXCJcclxuICAgICAgICAgIChhdXRvQ29tcGxldGVDbGVhclNlYXJjaFZhbHVlKT1cIlxyXG4gICAgICAgICAgICBvbkF1dG9Db21wbGV0ZUNsZWFyU2VhcmNoVmFsdWUoJGV2ZW50KVxyXG4gICAgICAgICAgXCJcclxuICAgICAgICAgIChhdXRvQ29tcGxldGVPcHRpb25TZWxlY3RlZCk9XCJcclxuICAgICAgICAgICAgb25Gb3JtQ2hhbmdlKCk7IG9uQXV0b0NvbXBsZXRlT3B0aW9uU2VsZWN0ZWQoKVxyXG4gICAgICAgICAgXCJcclxuICAgICAgICAgIChmb3JtQ2hlY2tib3hTZWxlY3Rpb24pPVwib25DaGVja2JveFNlbGVjdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAgIChjdGFCdXR0b25DbGljayk9XCJvbkNoZWNrYm94Q1RBQnV0dG9uQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAoZm9ybUlucHV0VmFsdWUpPVwib25Gb3JtQ2hhbmdlKClcIlxyXG4gICAgICAgICAgKGFkZEZvcm1Hcm91cCk9XCJvbkFkZEZvcm1Hcm91cCgkZXZlbnQpXCJcclxuICAgICAgICAgIChmb3JtVGltZVNlbGVjdGVkKT1cIm9uRm9ybUNoYW5nZSgpOyBvblRpbWVTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgIChzdXBwb3J0VGV4dExpbmtDbGljayk9XCJvblN1cHBvcnRUZXh0TGlua0NsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgKGZvcm1TbGlkZVRvZ2dsZUNoYW5nZSk9XCJvbkZvcm1TbGlkZVRvZ2dsZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgIChmb3JtRmlsZVVwbG9hZCk9XCJvbkZpbGVVcGxvYWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAoZHJvcGRvd25PcGVuZWRDaGFuZ2UpPVwib25Ecm9wZG93bk9wZW5lZENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgIChmb3JtQ29sb3JQaWNrZXJDaGFuZ2UpPVwib25Gb3JtQ29sb3JQaWNrZXJDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAoZm9ybVJhZGlvT3B0aW9uU2VsZWN0ZWQpPVwib25SYWRpb09wdGlvblNlbGVjdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAgIChmb3JtTXVsdGlTZWxlY3RBdXRvQ29tcGxldGVTZWFyY2gpPVwib25NdWx0aVNlbGVjdEF1dG9Db21wbGV0ZVNlYXJjaCgkZXZlbnQpXCJcclxuICAgICAgICAgIChtdWx0aVNlbGVjdEF1dG9Db21wbGV0ZUNsZWFyU2VhcmNoVmFsdWUpPVwiXHJcbiAgICAgICAgICAgIG9uTXVsdGlTZWxlY3RBdXRvQ29tcGxldGVDbGVhclNlYXJjaFZhbHVlKCRldmVudClcclxuICAgICAgICAgIFwiXHJcbiAgICAgICAgICAobXVsdGlTZWxlY3RBdXRvQ29tcGxldGVPcHRpb25zU2VsZWN0ZWQpPVwiXHJcbiAgICAgICAgICAgIG9uRm9ybUNoYW5nZSgpOyBvbk11bHRpU2VsZWN0QXV0b0NvbXBsZXRlT3B0aW9uc1NlbGVjdGVkKCRldmVudClcclxuICAgICAgICAgIFwiXHJcbiAgICAgICAgICAoZm9ybVJpY2hUZXh0RWRpdG9yQ29udGVudENoYW5nZSk9XCJvbkZvcm1SaWNoVGV4dEVkaXRvckNvbnRlbnRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9maWVsZHNldD5cclxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbY29tcG9uZW50XVwiPjwvbmctY29udGVudD5cclxuICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiY29sLTEyIGllZWVzYS1keW5hbWljLWZvcm1fX2FjdGlvbnNcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgJ2p1c3RpZnktY29udGVudC1lbmQnOiBhY3Rpb25CdXR0b25BbGlnbiA9PT0gYWxpZ25tZW50VHlwZS5MRUZULFxyXG4gICAgICAgICdqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJzogYWN0aW9uQnV0dG9uQWxpZ24gPT09IGFsaWdubWVudFR5cGUuTUlERExFLFxyXG4gICAgICAgICdqdXN0aWZ5LWNvbnRlbnQtc3RhcnQnOiBhY3Rpb25CdXR0b25BbGlnbiA9PT0gYWxpZ25tZW50VHlwZS5SSUdIVFxyXG4gICAgICB9XCJcclxuICAgID5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIHR5cGU9XCJzdWJtaXRcIlxyXG4gICAgICAgIG1hdC1idXR0b25cclxuICAgICAgICBjbGFzcz1cIm1hdC1wcmltYXJ5LWJ1dHRvbiBpZWVlc2EtZHluYW1pYy1mb3JtX19hY3Rpb25zLS1yaWdodC1idG5cIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc1N1Ym1pdEJ1dHRvbkRpc2FibGVkXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IHJpZ2h0QnV0dG9uTGFiZWwgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICAqbmdJZj1cImlzTGVmdEJ1dHRvbk5lZWRlZFwiXHJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgbWF0LWJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwibWF0LXRlcnRpYXJ5LWJ1dHRvbiBpZWVlc2EtZHluYW1pYy1mb3JtX19hY3Rpb25zLS1sZWZ0LWJ0blwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uTGVmdEJ1dHRvbkNsaWNrZWQoKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzTGVmdEJ1dHRvbkRpc2FibGVkXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IGxlZnRCdXR0b25MYWJlbCB9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Zvcm0+XHJcbiJdfQ==
552
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixZQUFZLEVBQ1osaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxTQUFTLEVBRVQsV0FBVyxFQUVYLG1CQUFtQixFQUNuQixVQUFVLEdBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBSTNELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4RUFBOEUsQ0FBQztBQUU5SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFTeEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMERBQTBELENBQUM7Ozs7O0FBRWxHOzs7Ozs7R0FNRztBQWlCSCxNQUFNLE9BQU8sb0JBQW9CO0lBTS9COzs7T0FHRztJQUNILElBQ0ksVUFBVSxDQUFDLEtBQWdCO1FBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pC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QXBELE1BQU07Z0JBRUcsc0NBQXNDO3NCQUEvQyxNQUFNO2dCQUdHLCtCQUErQjtzQkFBeEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50SW5pdCxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFF1ZXJ5TGlzdCxcclxuICBWaWV3Q2hpbGRyZW4sXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgRm9ybUFycmF5LFxyXG4gIEZvcm1CdWlsZGVyLFxyXG4gIEZvcm1Db250cm9sLFxyXG4gIEZvcm1Hcm91cCxcclxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gIFZhbGlkYXRvcnMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBGb3JtTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS5tb2RlbCc7XHJcbmltcG9ydCB7IEZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpZWxkLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1HcmlkIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tZ3JpZC5tb2RlbCc7XHJcbmltcG9ydCB7IER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2R5bmFtaWMtZm9ybS1maWVsZC9keW5hbWljLWZvcm0tZmllbGQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQWxpZ25UeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FsaWduLXR5cGUubW9kZWwnO1xyXG5pbXBvcnQgeyBGb2N1c0ludmFsaWRGb3JtRmllbGREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2ZvY3VzLWludmFsaWQtZm9ybS1maWVsZC9mb2N1cy1pbnZhbGlkLWZvcm0tZmllbGQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ2hlY2tib3hPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvY2hlY2tib3gtb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2xUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tY29udHJvbC10eXBlcy5tb2RlbCc7XHJcbmltcG9ydCB7IFNlbGVjdGVkRGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscy9zZWxlY3RlZC1kYXRlLm1vZGVsJztcclxuaW1wb3J0IHsgU2VsZWN0ZWRUaW1lIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlbGVjdGVkLXRpbWUubW9kZWwnO1xyXG5pbXBvcnQgeyBMaW5rRXZlbnRFbWl0VHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9ldmVudC1lbWl0LXR5cGUubW9kZWwnO1xyXG5pbXBvcnQgeyBTbGlkZVRvZ2dsZU9wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9zbGlkZS10b2dnbGUtb3B0aW9ucy5tb2RlbCc7XHJcbmltcG9ydCB7IFNlbGVjdE9wZW5lZFN0YXRlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlbGVjdC1vcGVuZWQtc3RhdGUubW9kZWwnO1xyXG5pbXBvcnQgeyBSYWRpb09wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9yYWRpby1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ljb24tYnV0dG9uLm1vZGVsJztcclxuaW1wb3J0IHsgQXV0b0NvbXBsZXRlT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2F1dG9jb21wbGV0ZS1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBUZXh0VHJ1bmNhdGVkRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy90ZXh0LXRydW5jYXRlZC90ZXh0LXRydW5jYXRlZC5kaXJlY3RpdmUnO1xyXG5cclxuLyoqXHJcbiAqIENyZWF0ZXMgYSByZWFjdGl2ZSBmb3JtIGR5bmFtaWNhbGx5IGJhc2VkIG9uIHRoZSBwYXNzZWQgZm9ybSBmaWVsZCBjb25maWd1cmF0aW9uIGFuZCBoYW5kbGVzIHRoZSBmb3JtIGV2ZW50cy5cclxuICogQGV4cG9ydFxyXG4gKiBAY2xhc3MgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICogQGltcGxlbWVudHMge09uSW5pdH1cclxuICogQGltcGxlbWVudHMge0FmdGVyQ29udGVudEluaXR9XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBleHBvcnRBczogJ2R5bmFtaWNGb3JtJyxcclxuICBzZWxlY3RvcjogJ2llZWVzYS1keW5hbWljLWZvcm0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBGb2N1c0ludmFsaWRGb3JtRmllbGREaXJlY3RpdmUsXHJcbiAgICBUZXh0VHJ1bmNhdGVkRGlyZWN0aXZlXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdFxyXG57XHJcbiAgQFZpZXdDaGlsZHJlbihEeW5hbWljRm9ybUZpZWxkRGlyZWN0aXZlKVxyXG4gIGZvcm1GaWVsZHMhOiBRdWVyeUxpc3Q8RHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZT47XHJcbiAgcHJpdmF0ZSBfZm9ybUdyb3VwcyE6IEZvcm1Nb2RlbDtcclxuICAvKipcclxuICAgKiBGb3JtR3JvdXBzIHBhc3NlZCBhbiBhbiBpbnB1dCBhbmQgd2hpY2ggY29udGFpbnMgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBvZiBldmVyeSBmb3JtIGZpZWxkcy5cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBmb3JtR3JvdXBzKHZhbHVlOiBGb3JtTW9kZWwpIHtcclxuICAgIHRoaXMuX2Zvcm1Hcm91cHMgPSB2YWx1ZTtcclxuICAgIHRoaXMuY3JlYXRlRm9ybUdyb3VwQXJyYXkoKTtcclxuICB9XHJcbiAgZ2V0IGZvcm1Hcm91cHMoKTogRm9ybU1vZGVsIHtcclxuICAgIHJldHVybiB0aGlzLl9mb3JtR3JvdXBzO1xyXG4gIH1cclxuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBwcml2YXRlIF9zdWJtaXRSZXNwb25zZSE6IGFueTtcclxuICAvKipcclxuICAgKiBTZXRzIHN1Ym1pdCByZXNwb25zZSBvbiBmb3JtIHN1Ym1pdFxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBzZXQgc3VibWl0UmVzcG9uc2UodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5fc3VibWl0UmVzcG9uc2UgPSB2YWx1ZTtcclxuICB9XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBnZXQgc3VibWl0UmVzcG9uc2UoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl9zdWJtaXRSZXNwb25zZTtcclxuICB9XHJcblxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgcHJpdmF0ZSBfc2VhcmNoUmVzcG9uc2UhOiBhbnk7XHJcbiAgLyoqXHJcbiAgICogU2V0cyBzZWFyY2ggcmVzcG9uc2Ugb24gZm9ybSBzZWFyY2ggZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgc2V0IHNlYXJjaFJlc3BvbnNlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuX3NlYXJjaFJlc3BvbnNlID0gdmFsdWU7XHJcbiAgfVxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgZ2V0IHNlYXJjaFJlc3BvbnNlKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoUmVzcG9uc2U7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIGNvbFdpZHRoITogRm9ybUdyaWQ7XHJcbiAgQElucHV0KCkgaXNMZWdlbmRWaXNpYmxlITogYm9vbGVhbjtcclxuICBASW5wdXQoKSByaWdodEJ1dHRvbkxhYmVsITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxlZnRCdXR0b25MYWJlbCE6IHN0cmluZztcclxuICBASW5wdXQoKSBpc1N1Ym1pdEJ1dHRvbkRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNMZWZ0QnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc0xlZnRCdXR0b25OZWVkZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBhY3Rpb25CdXR0b25BbGlnbiE6IEFsaWduVHlwZTtcclxuICBhbGlnbm1lbnRUeXBlID0gQWxpZ25UeXBlO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgQE91dHB1dCgpIGZvcm1TdWJtaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBAT3V0cHV0KCkgZm9ybUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIEBPdXRwdXQoKSBmb3JtSW5wdXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBAT3V0cHV0KCkgZm9ybUxlZnRCdXR0b25DbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgQE91dHB1dCgpIGZvcm1TZWFyY2hBcHBseTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtR3JvdXBzUmVmZXJlbmNlID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtR3JvdXBbXT4oKTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIEBPdXRwdXQoKSBkcm9wZG93bkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtQ2hlY2tib3hTZWxlY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPENoZWNrYm94T3B0aW9uPigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtRGF0ZVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RlZERhdGU+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1TZWxlY3RTZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgIHNlYXJjaEV2ZW50OiBFdmVudDtcclxuICAgIGNvbnRyb2xOYW1lOiBzdHJpbmc7XHJcbiAgfT4oKTtcclxuICBAT3V0cHV0KCkgZm9ybUNvbnRyb2xDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtQXV0b0NvbXBsZXRlU2VhcmNoOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9XHJcbiAgICBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgZm9ybUF1dG9Db21wbGV0ZUNsZWFyU2VhcmNoVmFsdWU6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID1cclxuICAgIG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBhdXRvQ29tcGxldGVPcHRpb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9ybUdyb3VwW10+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1BZnRlckNvbnRlbnRJbml0ID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtR3JvdXBbXT4oKTtcclxuICBAT3V0cHV0KCkgZm9ybVNlbGVjdGVkRGF0ZVJhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBzdGFydERhdGU6IHN0cmluZztcclxuICAgIGVuZERhdGU6IHN0cmluZztcclxuICB9PigpO1xyXG4gIEBPdXRwdXQoKSBhZGRGb3JtR3JvdXAgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtVGltZVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RlZFRpbWU+KCk7XHJcbiAgQE91dHB1dCgpIHN1cHBvcnRUZXh0TGlua0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxMaW5rRXZlbnRFbWl0VHlwZT4oKTtcclxuICBAT3V0cHV0KCkgZm9ybVNsaWRlVG9nZ2xlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTbGlkZVRvZ2dsZU9wdGlvbj4oKTtcclxuICBAT3V0cHV0KCkgZm9ybUZpbGVVcGxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGUgfCBGaWxlTGlzdD4oKTtcclxuICBAT3V0cHV0KCkgZHJvcGRvd25PcGVuZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdE9wZW5lZFN0YXRlPigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtQ29sb3JQaWNrZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgZm9ybVJhZGlvT3B0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFJhZGlvT3B0aW9uPigpO1xyXG4gIEBPdXRwdXQoKSBjdGFCdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8SWNvbkJ1dHRvbj4oKTtcclxuICBAT3V0cHV0KCkgZm9ybU11bHRpU2VsZWN0QXV0b0NvbXBsZXRlU2VhcmNoOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9XHJcbiAgICBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgZm9ybU11bHRpU2VsZWN0QXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPVxyXG4gICAgbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIG11bHRpU2VsZWN0QXV0b0NvbXBsZXRlT3B0aW9uc1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxcclxuICAgIEF1dG9Db21wbGV0ZU9wdGlvbltdXHJcbiAgPigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtUmljaFRleHRFZGl0b3JDb250ZW50Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgZm9ybSE6IEZvcm1Hcm91cDtcclxuICBmb3JtR3JvdXBBcnJheTogRm9ybUdyb3VwW10gPSBbXTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGZvcm1Db250cm9sQXJyYXk6IGFueVtdID0gW107XHJcbiAgbGVnZW5kc0FycmF5OiBzdHJpbmdbXSA9IFtdO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFycywgbm8tZW1wdHktZnVuY3Rpb25cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBJbXBsZW1lbnRhdGlvbiBvZiBuZ09uSW5pdCBsaWZlY3ljbGUgaG9vayBtZXRob2QgdG8gY3JlYXRlIGZvcm0gZ3JvdXBcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY3JlYXRlRm9ybUdyb3VwQXJyYXkoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXQgZ2VuZXJhdGVkIGZvcm0gcmVmZXJlbmNlIG9uIG5nQWZ0ZXJDb250ZW50SW5pdCBsaWZlY3ljbGUgaG9vay5cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1BZnRlckNvbnRlbnRJbml0LmVtaXQodGhpcy5mb3JtR3JvdXBBcnJheSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIGZvY3VzIHRvIHRoZSBmaXJzdCBmaWVsZC5cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBmaXJzdEZvY3VzYWJsZUVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxyXG4gICAgICAnaW5wdXQsIG1hdC1zZWxlY3QsIHRleHRhcmVhLCBtYXQtY2hlY2tib3gsIG1hdC1yYWRpby1idXR0b24nXHJcbiAgICApIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgc2V0VGltZW91dCgoKT0+IGZpcnN0Rm9jdXNhYmxlRWxlbWVudD8uZm9jdXMoKSwgMCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgZm9ybSBncm91cCBvbiB0aGUgYmFzaXMgb2YgZm9ybUdyb3VwcyBjb25maWd1cmF0aW9uIGlucHV0XHJcbiAgICogQHJldHVybiB7dm9pZH1cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBjcmVhdGVGb3JtR3JvdXBBcnJheSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUdyb3VwQXJyYXkgPSBbXTtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2xBcnJheSA9IFtdO1xyXG4gICAgdGhpcy5sZWdlbmRzQXJyYXkgPSBbXTtcclxuICAgIGlmICghdGhpcy5mb3JtR3JvdXBzKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuZm9ybUdyb3Vwcz8uZm9ybUdyb3VwPy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbnRyb2xzID0gZWxlbWVudC5jb250cm9scy5maWx0ZXIoXHJcbiAgICAgICAgKGNvbnRyb2wpID0+IGNvbnRyb2wudHlwZSAhPT0gJ2J1dHRvbidcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5mb3JtR3JvdXBBcnJheS5wdXNoKHRoaXMuY3JlYXRlR3JvdXAoY29udHJvbHMpKTtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbEFycmF5LnB1c2goY29udHJvbHMpO1xyXG4gICAgICB0aGlzLmxlZ2VuZHNBcnJheS5wdXNoKGVsZW1lbnQubGVnZW5kKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIGNoaWxkcmVuOiB0aGlzLmZvcm1Hcm91cEFycmF5LFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5mb3JtR3JvdXBzUmVmZXJlbmNlLmVtaXQodGhpcy5mb3JtR3JvdXBBcnJheSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgZm9ybSBncm91cCB1c2luZyBmb3JtIGJ1aWxkZXJcclxuICAgKiBAcGFyYW0ge2FueVtdfSBjb250cm9sc1xyXG4gICAqIEByZXR1cm4ge0Zvcm1Hcm91cH1cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGNyZWF0ZUdyb3VwKGNvbnRyb2xzOiBhbnlbXSk6IEZvcm1Hcm91cCB7XHJcbiAgICBjb25zdCBncm91cCA9IHRoaXMuZmIuZ3JvdXAoe30pO1xyXG4gICAgY29udHJvbHMuZm9yRWFjaCgoY29udHJvbDogRmllbGRDb25maWcpID0+IHtcclxuICAgICAgaWYgKGNvbnRyb2wudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLkNIRUNLQk9YKSB7XHJcbiAgICAgICAgZ3JvdXAuYWRkQ29udHJvbChjb250cm9sLmNvbnRyb2xOYW1lLCB0aGlzLmNyZWF0ZUZvcm1BcnJheShjb250cm9sKSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZ3JvdXAuYWRkQ29udHJvbChjb250cm9sLmNvbnRyb2xOYW1lLCB0aGlzLmNyZWF0ZUNvbnRyb2woY29udHJvbCkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBncm91cDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlcyBmb3JtIGFycmF5IGZvciBDaGVja2JveCBncm91cCBhbmQgcmV0dXJucy5cclxuICAgKiBAcGFyYW0ge0ZpZWxkQ29uZmlnfSBjb250cm9sc1xyXG4gICAqIEByZXR1cm4ge0Zvcm1BcnJheTxhbnk+fVxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgY3JlYXRlRm9ybUFycmF5KGNvbnRyb2xzOiBGaWVsZENvbmZpZyk6IEZvcm1BcnJheTxhbnk+IHtcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICBsZXQgZm9ybUFycmF5OiBGb3JtQXJyYXk8YW55PjtcclxuICAgIGNvbnN0IGdyb3VwID0gdGhpcy5mYi5ncm91cCh7fSk7XHJcbiAgICBncm91cC5hZGRDb250cm9sKGNvbnRyb2xzLmNvbnRyb2xOYW1lLCB0aGlzLmNyZWF0ZUNvbnRyb2woY29udHJvbHMpKTtcclxuICAgIGNvbnN0IGlzUmVxdWlyZWRWYWxpZGF0b3IgPSBncm91cFxyXG4gICAgICA/LmdldChjb250cm9scy5jb250cm9sTmFtZSlcclxuICAgICAgPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICBpZiAoaXNSZXF1aXJlZFZhbGlkYXRvcilcclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgZm9ybUFycmF5ID0gbmV3IEZvcm1BcnJheTxhbnk+KFxyXG4gICAgICAgIFtdLFxyXG4gICAgICAgIHRoaXMuY2hlY2tib3hTZWxlY3Rpb25SZXF1aXJlZFZhbGlkYXRvcihjb250cm9scz8ubWluU2VsZWN0aW9uUmVxdWlyZWQpXHJcbiAgICAgICk7XHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgZWxzZSBmb3JtQXJyYXkgPSBuZXcgRm9ybUFycmF5PGFueT4oW10pO1xyXG4gICAgY29udHJvbHM/LmNoZWNrYm94T3B0aW9ucz8uZm9yRWFjaCgoY29udHJvbCkgPT4ge1xyXG4gICAgICBmb3JtQXJyYXkucHVzaChcclxuICAgICAgICBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogY29udHJvbC5jaGVja2VkLCBkaXNhYmxlZDogY29udHJvbC5kaXNhYmxlZCB9KVxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZm9ybUFycmF5O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3VzdG9tIHZhbGlkYXRvciB0byBzZXQgcmVxdWlyZWQgZmlsZWQgdmFsaWRhdGlvbiBlcnJvciBmb3IgdGhlIGNoZWNrYm94IGZpZWxkIHR5cGUgYmFzZWQgb24gdGhlIG51bWJlciBvZiBjb25maWd1cmVkIG1pbmltdW0gY2hlY2tib3ggb3B0aW9ucyB0byBiZSBzZWxlY3RlZCB3aGVuZXZlciB0aGUgZmlsZWQgY29uZmlndXJlZCB3aXRoIHJlcXVpcmVkLlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbbWluU2VsZWN0aW9uUmVxdWlyZWQ9MV1cclxuICAgKiBAcmV0dXJuIHsqfVxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgY2hlY2tib3hTZWxlY3Rpb25SZXF1aXJlZFZhbGlkYXRvcihtaW5TZWxlY3Rpb25SZXF1aXJlZCA9IDEpOiBhbnkge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uIHZhbGlkYXRlKGZvcm1Hcm91cDogRm9ybUdyb3VwKSB7XHJcbiAgICAgIGxldCBjaGVja2VkID0gMDtcclxuICAgICAgT2JqZWN0LmtleXMoZm9ybUdyb3VwLmNvbnRyb2xzKS5mb3JFYWNoKChrZXkpID0+IHtcclxuICAgICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmNvbnRyb2xzW2tleV07XHJcbiAgICAgICAgaWYgKGNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgICAgIGNoZWNrZWQrKztcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAoY2hlY2tlZCA8IG1pblNlbGVjdGlvblJlcXVpcmVkKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGNoZWNrYm94U2VsZWN0aW9uUmVxdWlyZWQ6IHRydWUsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9O1xyXG4gIH1cclxuICAvKipcclxuICAgKiBDcmVhdGVzIGZvcm0gY29udHJvbCBiYXNlZCBvbiBmb3JtIGZpZWxkIGNvbmZpZ3VyYXRpb25cclxuICAgKiBAcGFyYW0ge0ZpZWxkQ29uZmlnfSBjb250cm9sXHJcbiAgICogQHJldHVybiB7Rm9ybUNvbnRyb2x9XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgY3JlYXRlQ29udHJvbChjb250cm9sOiBGaWVsZENvbmZpZyk6IEZvcm1Db250cm9sIHtcclxuICAgIGNvbnN0IHsgZGlzYWJsZWQsIHZhbGlkYXRpb24sIHZhbHVlIH0gPSBjb250cm9sO1xyXG4gICAgcmV0dXJuIHRoaXMuZmIuY29udHJvbCh7IGRpc2FibGVkLCB2YWx1ZSB9LCB2YWxpZGF0aW9uKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIGZvcm1Hcm91cEFycmF5XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25Gb3JtU3VibWl0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtU3VibWl0LmVtaXQodGhpcy5mb3JtR3JvdXBBcnJheSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbWl0cyBmb3JtR3JvdXBBcnJheVxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uTGVmdEJ1dHRvbkNsaWNrZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1MZWZ0QnV0dG9uQ2xpY2tlZC5lbWl0KHRoaXMuZm9ybUdyb3VwQXJyYXkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdHMgZm9ybUdyb3VwQXJyYXlcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvbkZvcm1DaGFuZ2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1DaGFuZ2UuZW1pdCh0aGlzLmZvcm1Hcm91cEFycmF5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgZm9ybSBmaWVsZCBzZWxlY3QgdHlwZSBkcm9wIGRvd24gc2VsZWN0aW9uIGV2ZW50XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25Ecm9wZG93bkNoYW5nZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZHJvcGRvd25DaGFuZ2UuZW1pdCh0aGlzLmZvcm1Hcm91cEFycmF5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgZm9ybSBpbnB1dCBjaGFuZ2UgZXZlbnRcclxuICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudFxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGZvcm1JbnB1dENoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2xDaGFuZ2UuZW1pdChldmVudCk7XHJcbiAgICB0aGlzLmZvcm1JbnB1dC5lbWl0KHRoaXMuZm9ybUdyb3VwQXJyYXkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBmb3JtIGZpZWxkIHNlYXJjaCBhcHBseSBldmVudFxyXG4gICAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25TZWFyY2hBcHBseShldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybVNlYXJjaEFwcGx5LmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBzZWFyY2ggZXZlbnQgaW5zaWRlIGZvcm0gZmllbGQgc2VsZWN0XHJcbiAgICogQHBhcmFtIHtFdmVudH0gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvblNlbGVjdFNlYXJjaChldmVudDogeyBzZWFyY2hFdmVudDogRXZlbnQ7IGNvbnRyb2xOYW1lOiBzdHJpbmcgfSk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtU2VsZWN0U2VhcmNoLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVGFrZXMgdGhlIGluZGV4IGFuZCB0aGUgZm9ybUdyb3VwIGFzIGFyZ3VtZW50cyBhbmQgbmVlZHMgdG8gcmV0dXJuIHRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBmb3JtR3JvdXAuXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGluZGV4XHJcbiAgICogQHBhcmFtIHtGb3JtR3JvdXB9IGZvcm1Hcm91cFxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIHRyYWNrQnlGb3JtR3JvdXAoaW5kZXg6IG51bWJlciwgZm9ybUdyb3VwOiBGb3JtR3JvdXApIHtcclxuICAgIHJldHVybiBmb3JtR3JvdXAuY29udHJvbHM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIGZvcm0gZGF0ZSBzZWxlY3Rpb24gZXZlbnRcclxuICAgKiBAcGFyYW0ge1NlbGVjdGVkRGF0ZX0gc2VsZWN0ZWREYXRlXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25EYXRlU2VsZWN0ZWQoc2VsZWN0ZWREYXRlOiBTZWxlY3RlZERhdGUpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybURhdGVTZWxlY3RlZC5lbWl0KHNlbGVjdGVkRGF0ZSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgZm9ybSB0aW1lIHNlbGVjdGlvbiBldmVudFxyXG4gICAqIEBwYXJhbSB7U2VsZWN0ZWRUaW1lfSBzZWxlY3RlZFRpbWVcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvblRpbWVTZWxlY3RlZChzZWxlY3RlZFRpbWU6IFNlbGVjdGVkVGltZSk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtVGltZVNlbGVjdGVkLmVtaXQoc2VsZWN0ZWRUaW1lKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogRW1pdHMgc2VsZWN0ZWQgZm9ybSBkYXRlIHJhbmdlXHJcbiAgICogQHBhcmFtIHt7c3RhcnREYXRlOiBzdHJpbmcsIGVuZERhdGU6IHN0cmluZ319IGRhdGVSYW5nZVxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uU2VsZWN0ZWREYXRlUmFuZ2UoZGF0ZVJhbmdlOiB7IHN0YXJ0RGF0ZTogc3RyaW5nOyBlbmREYXRlOiBzdHJpbmcgfSkge1xyXG4gICAgdGhpcy5mb3JtU2VsZWN0ZWREYXRlUmFuZ2UuZW1pdChkYXRlUmFuZ2UpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBmb3JtIGZpZWxkIGF1dG8gY29tcGxldGUgc2VhcmNoIGV2ZW50XHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25BdXRvQ29tcGxldGVTZWFyY2goZXZlbnQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtQXV0b0NvbXBsZXRlU2VhcmNoLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBIYW5kbGVzIGZvcm0gZmllbGQgYXV0byBjb21wbGV0ZSBzZWFyY2ggY2xlYXIgZXZlbnRcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvbkF1dG9Db21wbGV0ZUNsZWFyU2VhcmNoVmFsdWUoZXZlbnQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtQXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZS5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgZm9ybSBmaWVsZCBjaGVja2JveCBzZWxlY3Rpb24gZXZlbnRcclxuICAgKiBAcGFyYW0ge0NoZWNrYm94T3B0aW9ufSBvcHRpb25cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvbkNoZWNrYm94U2VsZWN0aW9uKG9wdGlvbjogQ2hlY2tib3hPcHRpb24pOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUNoZWNrYm94U2VsZWN0aW9uLmVtaXQob3B0aW9uKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgZm9ybSBmaWVsZCBhdXRvIGNvbXBsZXRlIG9wdGlvbiBzZWxlY3Rpb24gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvbkF1dG9Db21wbGV0ZU9wdGlvblNlbGVjdGVkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5hdXRvQ29tcGxldGVPcHRpb25TZWxlY3RlZC5lbWl0KHRoaXMuZm9ybUdyb3VwQXJyYXkpO1xyXG4gIH1cclxuICAvKipcclxuICAgKlxyXG4gICAqIExpc3RlbnMgZm9ybSBmaWVsZCBtdWx0aSBzZWxlY3QgYXV0byBjb21wbGV0ZSBzZWFyY2ggZXZlbnQgYW5kIGVtaXRzIGZvcm1NdWx0aVNlbGVjdEF1dG9Db21wbGV0ZVNlYXJjaCBldmVudC5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvbk11bHRpU2VsZWN0QXV0b0NvbXBsZXRlU2VhcmNoKGV2ZW50OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybU11bHRpU2VsZWN0QXV0b0NvbXBsZXRlU2VhcmNoLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTGlzdGVucyBmb3JtIGZpZWxkIG11bHRpIHNlbGVjdCBhdXRvIGNvbXBsZXRlIHNlYXJjaCBjbGVhciBldmVudCBhbmQgZW1pdHMgZm9ybU11bHRpU2VsZWN0QXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZSBldmVudC5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvbk11bHRpU2VsZWN0QXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZShldmVudDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1NdWx0aVNlbGVjdEF1dG9Db21wbGV0ZUNsZWFyU2VhcmNoVmFsdWUuZW1pdChldmVudCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIExpc3RlbnMgZm9ybSBmaWVsZCBtdWx0aSBzZWxlY3QgYXV0byBjb21wbGV0ZSBvcHRpb24gc2VsZWN0aW9uIGV2ZW50IGFuZCBlbWl0cyBtdWx0aVNlbGVjdEF1dG9Db21wbGV0ZU9wdGlvblNlbGVjdGVkIGV2ZW50LlxyXG4gICAqIEBwYXJhbSB7QXV0b0NvbXBsZXRlT3B0aW9uW119IGV2ZW50XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25NdWx0aVNlbGVjdEF1dG9Db21wbGV0ZU9wdGlvbnNTZWxlY3RlZChldmVudDogQXV0b0NvbXBsZXRlT3B0aW9uW10pOiB2b2lkIHtcclxuICAgIHRoaXMubXVsdGlTZWxlY3RBdXRvQ29tcGxldGVPcHRpb25zU2VsZWN0ZWQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIGZvcm0gc2xpZGUgdG9nZ2xlIGV2ZW50IGFuZCBlbWl0cyBmb3JtU2xpZGVUb2dnbGVDaGFuZ2UgZXZlbnQuXHJcbiAgICogQHBhcmFtIHtTbGlkZVRvZ2dsZU9wdGlvbn0gdG9nZ2xlXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25Gb3JtU2xpZGVUb2dnbGVDaGFuZ2UodG9nZ2xlOiBTbGlkZVRvZ2dsZU9wdGlvbik6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtU2xpZGVUb2dnbGVDaGFuZ2UuZW1pdCh0b2dnbGUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBmb3JtIGNvbG9yIHBpY2tlciBldmVudCBhbmQgZW1pdHMgZm9ybUNvbG9yUGlja2VyQ2hhbmdlIGV2ZW50LlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjb2xvckNvZGVcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvbkZvcm1Db2xvclBpY2tlckNoYW5nZShjb2xvckNvZGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtQ29sb3JQaWNrZXJDaGFuZ2UuZW1pdChjb2xvckNvZGUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBmb3JtIHJpY2ggdGV4dCBlZGl0b3IgZXZlbnQgYW5kIGVtaXRzIGZvcm1SaWNoVGV4dEVkaXRvckNvbnRlbnRDaGFuZ2UgZXZlbnQuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGh0bWxNYXJrdXBUZXh0XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25Gb3JtUmljaFRleHRFZGl0b3JDb250ZW50Q2hhbmdlKGh0bWxNYXJrdXBUZXh0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybVJpY2hUZXh0RWRpdG9yQ29udGVudENoYW5nZS5lbWl0KGh0bWxNYXJrdXBUZXh0KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgZmlsZSB1cGxvYWQgZXZlbnQgYW5kIGVtaXRzIGZvcm1GaWxlVXBsb2FkIGV2ZW50XHJcbiAgICogQHBhcmFtIHsoRmlsZSB8IEZpbGVMaXN0KX0gZmlsZVxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRmlsZVVwbG9hZChmaWxlOiBGaWxlIHwgRmlsZUxpc3QpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUZpbGVVcGxvYWQuZW1pdChmaWxlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgZm9ybSBmaWVsZCByYWRpbyBidXR0b24gc2VsZWN0aW9uIGV2ZW50XHJcbiAgICogQHBhcmFtIHtSYWRpb09wdGlvbn0gb3B0aW9uXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25SYWRpb09wdGlvblNlbGVjdGlvbihvcHRpb246IFJhZGlvT3B0aW9uKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1SYWRpb09wdGlvblNlbGVjdGVkLmVtaXQob3B0aW9uKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnZlcnRzIHBhc3NlZCBjb250cm9sIG5hbWUgaW4gaHlwaGVuYXRlZCBjc3MgY2xhc3MgbmFtZVxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjbGFzc05hbWVcclxuICAgKiBAcmV0dXJuIHtzdHJpbmd9XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0Um93Q2xhc3NOYW1lKGNsYXNzTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBjbGFzc05hbWVcclxuICAgICAgLnJlcGxhY2UoLyhbQS1aXSkvZywgJyAkMScpXHJcbiAgICAgIC50b0xvd2VyQ2FzZSgpXHJcbiAgICAgIC5zcGxpdCgnICcpXHJcbiAgICAgIC5qb2luKCctJyk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIHRoZSBhZGRGb3JtR3JvdXAgZXZlbnRcclxuICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudFxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uQWRkRm9ybUdyb3VwKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5hZGRGb3JtR3JvdXAuZW1pdChldmVudCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIHN1cHBvcnRUZXh0TGlua0NsaWNrIGV2ZW50IG9uIGNsaWNrIG9mIGZvcm0gc3VwcG9ydCB0ZXh0IGxpbmtcclxuICAgKiBAcGFyYW0ge0xpbmtFdmVudEVtaXRUeXBlfSBldmVudFxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uU3VwcG9ydFRleHRMaW5rQ2xpY2soZXZlbnQ6IExpbmtFdmVudEVtaXRUeXBlKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1cHBvcnRUZXh0TGlua0NsaWNrLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBMaXN0ZW5zIHNlbGVjdCBmb3JtIGZpZWxkIGRyb3Bkb3duT3BlbmVkQ2hhbmdlIGV2ZW50IGFuZCBlbWl0cyBkcm9wZG93bk9wZW5lZENoYW5nZSBldmVudC5cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKiBAcGFyYW0ge1NlbGVjdE9wZW5lZFN0YXRlfSBldmVudFxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRHJvcGRvd25PcGVuZWRDaGFuZ2UoZXZlbnQ6IFNlbGVjdE9wZW5lZFN0YXRlKTogdm9pZCB7XHJcbiAgICB0aGlzLmRyb3Bkb3duT3BlbmVkQ2hhbmdlLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdHMgY3RhQnV0dG9uQ2xpY2sgZXZlbnQgYWxvbmcgd2l0aCBjbGlja2VkIGJ1dHRvbiBpbmZvcm1hdGlvbi5cclxuICAgKiBAcGFyYW0ge0ljb25CdXR0b259IGV2ZW50XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25DaGVja2JveENUQUJ1dHRvbkNsaWNrKGV2ZW50OiBJY29uQnV0dG9uKTogdm9pZCB7XHJcbiAgICB0aGlzLmN0YUJ1dHRvbkNsaWNrLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxufVxyXG4iLCI8Zm9ybVxyXG4gIGNsYXNzPVwiaWVlZXNhLWR5bmFtaWMtZm9ybVwiXHJcbiAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcclxuICAoY2hhbmdlKT1cIm9uRm9ybUNoYW5nZSgpXCJcclxuICAobmdTdWJtaXQpPVwib25Gb3JtU3VibWl0KClcIlxyXG4gIChpbnB1dCk9XCJmb3JtSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgaWVlZXNhRm9jdXNJbnZhbGlkRm9ybUZpZWxkXHJcbj5cclxuICA8ZmllbGRzZXRcclxuICAgIGNsYXNzPVwiaWVlZXNhLWR5bmFtaWMtZm9ybV9fZmllbGRzZXRcIlxyXG4gICAgKm5nRm9yPVwiXHJcbiAgICAgIGxldCBmb3JtR3JwIG9mIGZvcm1Hcm91cEFycmF5O1xyXG4gICAgICBsZXQgaSA9IGluZGV4O1xyXG4gICAgICB0cmFja0J5OiB0cmFja0J5Rm9ybUdyb3VwXHJcbiAgICBcIlxyXG4gID5cclxuICAgIDxsZWdlbmRcclxuICAgICAgY2xhc3M9XCJmbG9hdC1ub25lIHctYXV0byBwLTIgaWVlZXNhLWR5bmFtaWMtZm9ybV9fbGVnZW5kXCJcclxuICAgICAgKm5nSWY9XCJpc0xlZ2VuZFZpc2libGVcIlxyXG4gICAgPlxyXG4gICAgICB7eyBsZWdlbmRzQXJyYXlbaV0gfX1cclxuICAgIDwvbGVnZW5kPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJjb2wte3sgY29sV2lkdGgueHMgfX0gY29sLXNtLXt7IGNvbFdpZHRoLnNtIH19IGNvbC1tZC17e1xyXG4gICAgICAgICAgY29sV2lkdGgubWRcclxuICAgICAgICB9fSBjb2wtbGcte3sgY29sV2lkdGgubGcgfX0gY29sLXhsLXt7IGNvbFdpZHRoLnhsIH19XHJcbiAgICAgICAgaWVlZXNhLWR5bmFtaWMtZm9ybV9fZm9ybS1maWVsZFwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwiZ2V0Um93Q2xhc3NOYW1lKGZvcm1Db250cm9sQXJyYXlbaV1bal0uY29udHJvbE5hbWUpXCJcclxuICAgICAgICAqbmdGb3I9XCJsZXQgY29udHJvbCBvZiBmb3JtQ29udHJvbEFycmF5W2ldOyBsZXQgaiA9IGluZGV4XCJcclxuICAgICAgPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZVxyXG4gICAgICAgICAgaWVlZXNhRHluYW1pY0Zvcm1GaWVsZFxyXG4gICAgICAgICAgW2NvbmZpZ109XCJmb3JtQ29udHJvbEFycmF5W2ldW2pdXCJcclxuICAgICAgICAgIFtncm91cF09XCJmb3JtR3JwXCJcclxuICAgICAgICAgIFtzdWJtaXRSZXNwb25zZV09XCJzdWJtaXRSZXNwb25zZVwiXHJcbiAgICAgICAgICBbc2VhcmNoUmVzcG9uc2VdPVwic2VhcmNoUmVzcG9uc2VcIlxyXG4gICAgICAgICAgKGZvcm1TZWFyY2hBcHBseSk9XCJvblNlYXJjaEFwcGx5KCRldmVudClcIlxyXG4gICAgICAgICAgKGZvcm1Ecm9wZG93blNlbGVjdGVkKT1cIm9uRm9ybUNoYW5nZSgpOyBvbkRyb3Bkb3duQ2hhbmdlKClcIlxyXG4gICAgICAgICAgKGZvcm1EYXRlU2VsZWN0ZWQpPVwib25Gb3JtQ2hhbmdlKCk7IG9uRGF0ZVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgKGZvcm1TZWxlY3RlZERhdGVSYW5nZSk9XCJvblNlbGVjdGVkRGF0ZVJhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgKGZvcm1TZWxlY3RTZWFyY2gpPVwib25TZWxlY3RTZWFyY2goJGV2ZW50KVwiXHJcbiAgICAgICAgICAoZm9ybUF1dG9Db21wbGV0ZVNlYXJjaCk9XCJvbkF1dG9Db21wbGV0ZVNlYXJjaCgkZXZlbnQpXCJcclxuICAgICAgICAgIChhdXRvQ29tcGxldGVDbGVhclNlYXJjaFZhbHVlKT1cIlxyXG4gICAgICAgICAgICBvbkF1dG9Db21wbGV0ZUNsZWFyU2VhcmNoVmFsdWUoJGV2ZW50KVxyXG4gICAgICAgICAgXCJcclxuICAgICAgICAgIChhdXRvQ29tcGxldGVPcHRpb25TZWxlY3RlZCk9XCJcclxuICAgICAgICAgICAgb25Gb3JtQ2hhbmdlKCk7IG9uQXV0b0NvbXBsZXRlT3B0aW9uU2VsZWN0ZWQoKVxyXG4gICAgICAgICAgXCJcclxuICAgICAgICAgIChmb3JtQ2hlY2tib3hTZWxlY3Rpb24pPVwib25DaGVja2JveFNlbGVjdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAgIChjdGFCdXR0b25DbGljayk9XCJvbkNoZWNrYm94Q1RBQnV0dG9uQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAoZm9ybUlucHV0VmFsdWUpPVwib25Gb3JtQ2hhbmdlKClcIlxyXG4gICAgICAgICAgKGFkZEZvcm1Hcm91cCk9XCJvbkFkZEZvcm1Hcm91cCgkZXZlbnQpXCJcclxuICAgICAgICAgIChmb3JtVGltZVNlbGVjdGVkKT1cIm9uRm9ybUNoYW5nZSgpOyBvblRpbWVTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgIChzdXBwb3J0VGV4dExpbmtDbGljayk9XCJvblN1cHBvcnRUZXh0TGlua0NsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgKGZvcm1TbGlkZVRvZ2dsZUNoYW5nZSk9XCJvbkZvcm1TbGlkZVRvZ2dsZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgIChmb3JtRmlsZVVwbG9hZCk9XCJvbkZpbGVVcGxvYWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAoZHJvcGRvd25PcGVuZWRDaGFuZ2UpPVwib25Ecm9wZG93bk9wZW5lZENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgIChmb3JtQ29sb3JQaWNrZXJDaGFuZ2UpPVwib25Gb3JtQ29sb3JQaWNrZXJDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAoZm9ybVJhZGlvT3B0aW9uU2VsZWN0ZWQpPVwib25SYWRpb09wdGlvblNlbGVjdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAgIChmb3JtTXVsdGlTZWxlY3RBdXRvQ29tcGxldGVTZWFyY2gpPVwib25NdWx0aVNlbGVjdEF1dG9Db21wbGV0ZVNlYXJjaCgkZXZlbnQpXCJcclxuICAgICAgICAgIChtdWx0aVNlbGVjdEF1dG9Db21wbGV0ZUNsZWFyU2VhcmNoVmFsdWUpPVwiXHJcbiAgICAgICAgICAgIG9uTXVsdGlTZWxlY3RBdXRvQ29tcGxldGVDbGVhclNlYXJjaFZhbHVlKCRldmVudClcclxuICAgICAgICAgIFwiXHJcbiAgICAgICAgICAobXVsdGlTZWxlY3RBdXRvQ29tcGxldGVPcHRpb25zU2VsZWN0ZWQpPVwiXHJcbiAgICAgICAgICAgIG9uRm9ybUNoYW5nZSgpOyBvbk11bHRpU2VsZWN0QXV0b0NvbXBsZXRlT3B0aW9uc1NlbGVjdGVkKCRldmVudClcclxuICAgICAgICAgIFwiXHJcbiAgICAgICAgICAoZm9ybVJpY2hUZXh0RWRpdG9yQ29udGVudENoYW5nZSk9XCJvbkZvcm1SaWNoVGV4dEVkaXRvckNvbnRlbnRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9maWVsZHNldD5cclxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbY29tcG9uZW50XVwiPjwvbmctY29udGVudD5cclxuICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiY29sLTEyIGllZWVzYS1keW5hbWljLWZvcm1fX2FjdGlvbnNcIlxyXG4gICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgJ2p1c3RpZnktY29udGVudC1lbmQnOiBhY3Rpb25CdXR0b25BbGlnbiA9PT0gYWxpZ25tZW50VHlwZS5MRUZULFxyXG4gICAgICAgICdqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJzogYWN0aW9uQnV0dG9uQWxpZ24gPT09IGFsaWdubWVudFR5cGUuTUlERExFLFxyXG4gICAgICAgICdqdXN0aWZ5LWNvbnRlbnQtc3RhcnQnOiBhY3Rpb25CdXR0b25BbGlnbiA9PT0gYWxpZ25tZW50VHlwZS5SSUdIVFxyXG4gICAgICB9XCJcclxuICAgID5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIHR5cGU9XCJzdWJtaXRcIlxyXG4gICAgICAgIG1hdC1idXR0b25cclxuICAgICAgICBjbGFzcz1cIm1hdC1wcmltYXJ5LWJ1dHRvbiBpZWVlc2EtZHluYW1pYy1mb3JtX19hY3Rpb25zLS1yaWdodC1idG5cIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc1N1Ym1pdEJ1dHRvbkRpc2FibGVkXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IHJpZ2h0QnV0dG9uTGFiZWwgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICAqbmdJZj1cImlzTGVmdEJ1dHRvbk5lZWRlZFwiXHJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgbWF0LWJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwibWF0LXRlcnRpYXJ5LWJ1dHRvbiBpZWVlc2EtZHluYW1pYy1mb3JtX19hY3Rpb25zLS1sZWZ0LWJ0blwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uTGVmdEJ1dHRvbkNsaWNrZWQoKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzTGVmdEJ1dHRvbkRpc2FibGVkXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IGxlZnRCdXR0b25MYWJlbCB9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Zvcm0+XHJcbiJdfQ==
@@ -81,7 +81,7 @@ export class InputComponent {
81
81
  return InputFieldType.TEXT;
82
82
  }
83
83
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
84
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: InputComponent, isStandalone: true, selector: "ieeesa-input", outputs: { inputValueChange: "inputValueChange" }, ngImport: i0, template: "<div\r\n [formGroup]=\"group\"\r\n class=\"ieeesa-input-field\"\r\n [ngClass]=\"\r\n config.isLabelAlignedLeft\r\n ? 'ieeesa-input-field__label-left'\r\n : 'ieeesa-input-field__label-top'\r\n \"\r\n>\r\n <mat-label class=\"ieeesa-body-sm-14 ieeesa-input-field__label\">{{\r\n config.label\r\n }}</mat-label>\r\n <mat-form-field>\r\n <input\r\n class=\"ieeesa-input-field__content ieeesa-body-lg-16\"\r\n [type]=\"getInputFieldType()\"\r\n [attr.aria-label]=\"config.ariaLabel\"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n [min]=\"config.min ?? null\"\r\n [max]=\"config.max ?? null\"\r\n [maxlength]=\"config.maxLength ?? null\"\r\n [minlength]=\"config.minLength ?? null\"\r\n [placeholder]=\"config.placeholder ?? ''\"\r\n [formControlName]=\"config.controlName\"\r\n [name]=\"config.controlName\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (input)=\"onChange()\"\r\n autocomplete=\"off\"\r\n matInput\r\n />\r\n <button\r\n *ngIf=\"\r\n group.get(this.config.controlName)?.value &&\r\n group.get(this.config.controlName)?.valid &&\r\n this.config?.clear\r\n \"\r\n matSuffix\r\n mat-icon-button\r\n [attr.aria-label]=\"buttonActionsInfo.ariaLabel.clear\"\r\n class=\"ieeesa-input-field__btn--clear\"\r\n (click)=\"clear()\"\r\n >\r\n <i class=\"fa-regular fa-circle-xmark ieeesa-input-field__icon--clear\"></i>\r\n </button>\r\n <ng-container\r\n *ngIf=\"\r\n group.get(this.config.controlName)?.invalid &&\r\n (group.get(this.config.controlName)?.dirty ||\r\n group.get(this.config.controlName)?.touched)\r\n \"\r\n matSuffix>\r\n <i\r\n class=\"fa-solid fa-circle-exclamation ieeesa-input-field__icon--warning\"\r\n [attr.aria-label]=\"buttonActionsInfo.ariaLabel.warning\"\r\n role=\"img\"\r\n ></i>\r\n </ng-container>\r\n </mat-form-field>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\"> </ieeesa-form-error>\r\n <ieeesa-form-support-text [formGroup]=\"group\" [config]=\"config\"></ieeesa-form-support-text>\r\n</div>", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;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.813rem;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.9375rem;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.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;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.125rem;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.875rem;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.5rem;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.625rem;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.5rem;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.5rem;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.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;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:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;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:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;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:1rem;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.125rem;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.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;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:.875rem;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:.875rem;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.5rem;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:1rem;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:focus{background:#1f75a7}.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:focus{background:#f0f5f9}.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:focus{background-color:#f0f5f9}.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:1rem;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:1rem;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:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-input-field__warning-btn{display:none}.ieeesa-input-field__icon--clear,.ieeesa-input-field__icon--warning{height:20px;width:20px}.ieeesa-input-field__icon--warning{color:#ba0c2f}.ieeesa-input-field__btn--clear,.ieeesa-input-field__btn--warning{border:none;background-color:inherit}.ieeesa-input-field__content{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-input-field__label-left{display:flex}.ieeesa-input-field__label-top{display:block}.ieeesa-input-field__label{color:#49454f!important;font-size:.75rem!important}.ieeesa-input-field ::placeholder{color:#63666a;font-size:1rem}.ieeesa-input-field .mat-mdc-form-field{min-height:40px;height:40px;width:-webkit-fill-available;width:-moz-available}.ieeesa-input-field .mat-mdc-form-field-subscript-wrapper{display:none}.ieeesa-input-field .mat-mdc-text-field-wrapper{height:40px;min-width:210px;width:auto;background:#fff;border-top:1px solid #878b8f;border-right:1px solid #878b8f;border-left:1px solid #878b8f;border-radius:4px}.ieeesa-input-field .mat-mdc-form-field-focus-overlay{background:#fff}.ieeesa-input-field .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input{color:#1c1b1f}.ieeesa-input-field:has(.mdc-text-field--focused) .mdc-text-field--filled{border-top:2px solid #00629b;border-right:2px solid #00629b;border-left:2px solid #00629b}.ieeesa-input-field:has(.mdc-text-field--focused) .mdc-text-field--filled .mdc-line-ripple:after{border-bottom:2px solid #00629b}.ieeesa-input-field:has(.mdc-text-field) .mdc-text-field--filled .mdc-line-ripple:before,.ieeesa-input-field:has(.mdc-text-field) .mdc-text-field--filled:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-line-ripple:before{border-bottom-color:#878b8f}.ieeesa-input-field .mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-line-ripple:before{border-bottom:2px solid #ba0c2f}.ieeesa-input-field .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix{padding-top:5px}.ieeesa-input-field .mat-mdc-form-field-icon-suffix,.ieeesa-input-field [dir=rtl] .mat-mdc-form-field-icon-prefix{padding:0 8px 16px 4px}.ieeesa-input-field:has(.mdc-line-ripple--active) .ieeesa-input-field__label{color:#00629b!important}.ieeesa-input-field:has(.mdc-line-ripple--active) .mat-mdc-form-field-focus-overlay{background-color:#fff}.ieeesa-input-field:has(.mdc-text-field--invalid) .mdc-text-field--filled{border-top:2px solid #ba0c2f;border-right:2px solid #ba0c2f;border-left:2px solid #ba0c2f}.ieeesa-input-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:after,.ieeesa-input-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:before{border-bottom:2px solid #ba0c2f}.ieeesa-input-field:has(.mdc-text-field--invalid) .ieeesa-input-field__btn--warning{display:block}.ieeesa-input-field:has(.mdc-text-field--invalid) .ieeesa-input-field__label{color:#ba0c2f!important}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormErrorComponent, selector: "ieeesa-form-error", inputs: ["formGroup", "config", "submitResponse"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.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: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: FormSupportTextComponent, selector: "ieeesa-form-support-text", inputs: ["formGroup", "config"], outputs: ["supportTextLinkClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
84
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: InputComponent, isStandalone: true, selector: "ieeesa-input", outputs: { inputValueChange: "inputValueChange" }, ngImport: i0, template: "<div\r\n [formGroup]=\"group\"\r\n class=\"ieeesa-input-field\"\r\n [ngClass]=\"\r\n config.isLabelAlignedLeft\r\n ? 'ieeesa-input-field__label-left'\r\n : 'ieeesa-input-field__label-top'\r\n \"\r\n>\r\n <mat-label class=\"ieeesa-body-sm-14 ieeesa-input-field__label\">{{\r\n config.label\r\n }}</mat-label>\r\n <mat-form-field>\r\n <input\r\n class=\"ieeesa-input-field__content ieeesa-body-lg-16\"\r\n [type]=\"getInputFieldType()\"\r\n [attr.aria-label]=\"config.ariaLabel\"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n [min]=\"config.min ?? null\"\r\n [max]=\"config.max ?? null\"\r\n [maxlength]=\"config.maxLength ?? null\"\r\n [minlength]=\"config.minLength ?? null\"\r\n [placeholder]=\"config.placeholder ?? ''\"\r\n [formControlName]=\"config.controlName\"\r\n [name]=\"config.controlName\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (input)=\"onChange()\"\r\n autocomplete=\"off\"\r\n matInput\r\n />\r\n <button\r\n *ngIf=\"\r\n group.get(this.config.controlName)?.value &&\r\n group.get(this.config.controlName)?.valid &&\r\n this.config?.clear\r\n \"\r\n matSuffix\r\n mat-icon-button\r\n [attr.aria-label]=\"buttonActionsInfo.ariaLabel.clear\"\r\n class=\"ieeesa-input-field__btn--clear\"\r\n (click)=\"clear()\"\r\n >\r\n <i class=\"fa-regular fa-circle-xmark ieeesa-input-field__icon--clear\"></i>\r\n </button>\r\n <ng-container\r\n *ngIf=\"\r\n group.get(this.config.controlName)?.invalid &&\r\n (group.get(this.config.controlName)?.dirty ||\r\n group.get(this.config.controlName)?.touched)\r\n \"\r\n matSuffix>\r\n <i\r\n class=\"fa-solid fa-circle-exclamation ieeesa-input-field__icon--warning\"\r\n [attr.aria-label]=\"buttonActionsInfo.ariaLabel.warning\"\r\n role=\"img\"\r\n ></i>\r\n </ng-container>\r\n </mat-form-field>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\"> </ieeesa-form-error>\r\n <ieeesa-form-support-text [formGroup]=\"group\" [config]=\"config\"></ieeesa-form-support-text>\r\n</div>", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;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.813rem;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.9375rem;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.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;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.125rem;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.875rem;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.5rem;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.625rem;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.5rem;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.5rem;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.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;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:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;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:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;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:1rem;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.125rem;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.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;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:.875rem;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:.875rem;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.5rem;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:1rem;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:focus{background:#1f75a7}.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:focus{background:#f0f5f9}.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:focus{background-color:#f0f5f9}.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:1rem;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:1rem;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:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-input-field__warning-btn{display:none}.ieeesa-input-field__icon--clear,.ieeesa-input-field__icon--warning{height:20px;width:20px}.ieeesa-input-field__icon--warning{color:#ba0c2f}.ieeesa-input-field__btn--clear,.ieeesa-input-field__btn--warning{border:none;background-color:inherit}.ieeesa-input-field__content{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-input-field__label-left{display:flex}.ieeesa-input-field__label-top{display:block}.ieeesa-input-field__label{color:#49454f!important;font-size:.75rem!important}.ieeesa-input-field ::placeholder{color:#63666a;font-size:1rem}.ieeesa-input-field .mat-mdc-form-field{min-height:40px;height:40px;width:-webkit-fill-available;width:-moz-available}.ieeesa-input-field .mat-mdc-form-field-subscript-wrapper{display:none}.ieeesa-input-field .mat-mdc-text-field-wrapper{height:40px;min-width:210px;width:auto;background:#fff!important;border-top:1px solid #878b8f;border-right:1px solid #878b8f;border-left:1px solid #878b8f;border-radius:4px}.ieeesa-input-field .mat-mdc-form-field-focus-overlay{background:#fff}.ieeesa-input-field .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input{color:#1c1b1f}.ieeesa-input-field:has(.mdc-text-field--focused) .mdc-text-field--filled{border-top:2px solid #00629b;border-right:2px solid #00629b;border-left:2px solid #00629b}.ieeesa-input-field:has(.mdc-text-field--focused) .mdc-text-field--filled .mdc-line-ripple:after{border-bottom:2px solid #00629b}.ieeesa-input-field:has(.mdc-text-field) .mdc-text-field--filled .mdc-line-ripple:before,.ieeesa-input-field:has(.mdc-text-field) .mdc-text-field--filled:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-line-ripple:before{border-bottom-color:#878b8f}.ieeesa-input-field .mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-line-ripple:before{border-bottom:2px solid #ba0c2f}.ieeesa-input-field .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix{padding-top:5px}.ieeesa-input-field .mat-mdc-form-field-icon-suffix,.ieeesa-input-field [dir=rtl] .mat-mdc-form-field-icon-prefix{padding:0 8px 16px 4px}.ieeesa-input-field:has(.mdc-line-ripple--active) .ieeesa-input-field__label{color:#00629b!important}.ieeesa-input-field:has(.mdc-line-ripple--active) .mat-mdc-form-field-focus-overlay{background-color:#fff}.ieeesa-input-field:has(.mdc-text-field--invalid) .mdc-text-field--filled{border-top:2px solid #ba0c2f;border-right:2px solid #ba0c2f;border-left:2px solid #ba0c2f}.ieeesa-input-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:after,.ieeesa-input-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:before{border-bottom:2px solid #ba0c2f}.ieeesa-input-field:has(.mdc-text-field--invalid) .ieeesa-input-field__btn--warning{display:block}.ieeesa-input-field:has(.mdc-text-field--invalid) .ieeesa-input-field__label{color:#ba0c2f!important}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormErrorComponent, selector: "ieeesa-form-error", inputs: ["formGroup", "config", "submitResponse"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.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: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: FormSupportTextComponent, selector: "ieeesa-form-support-text", inputs: ["formGroup", "config"], outputs: ["supportTextLinkClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
85
85
  }
86
86
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InputComponent, decorators: [{
87
87
  type: Component,
@@ -92,8 +92,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
92
92
  MatInputModule,
93
93
  MatIconModule,
94
94
  FormSupportTextComponent,
95
- ], encapsulation: ViewEncapsulation.None, template: "<div\r\n [formGroup]=\"group\"\r\n class=\"ieeesa-input-field\"\r\n [ngClass]=\"\r\n config.isLabelAlignedLeft\r\n ? 'ieeesa-input-field__label-left'\r\n : 'ieeesa-input-field__label-top'\r\n \"\r\n>\r\n <mat-label class=\"ieeesa-body-sm-14 ieeesa-input-field__label\">{{\r\n config.label\r\n }}</mat-label>\r\n <mat-form-field>\r\n <input\r\n class=\"ieeesa-input-field__content ieeesa-body-lg-16\"\r\n [type]=\"getInputFieldType()\"\r\n [attr.aria-label]=\"config.ariaLabel\"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n [min]=\"config.min ?? null\"\r\n [max]=\"config.max ?? null\"\r\n [maxlength]=\"config.maxLength ?? null\"\r\n [minlength]=\"config.minLength ?? null\"\r\n [placeholder]=\"config.placeholder ?? ''\"\r\n [formControlName]=\"config.controlName\"\r\n [name]=\"config.controlName\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (input)=\"onChange()\"\r\n autocomplete=\"off\"\r\n matInput\r\n />\r\n <button\r\n *ngIf=\"\r\n group.get(this.config.controlName)?.value &&\r\n group.get(this.config.controlName)?.valid &&\r\n this.config?.clear\r\n \"\r\n matSuffix\r\n mat-icon-button\r\n [attr.aria-label]=\"buttonActionsInfo.ariaLabel.clear\"\r\n class=\"ieeesa-input-field__btn--clear\"\r\n (click)=\"clear()\"\r\n >\r\n <i class=\"fa-regular fa-circle-xmark ieeesa-input-field__icon--clear\"></i>\r\n </button>\r\n <ng-container\r\n *ngIf=\"\r\n group.get(this.config.controlName)?.invalid &&\r\n (group.get(this.config.controlName)?.dirty ||\r\n group.get(this.config.controlName)?.touched)\r\n \"\r\n matSuffix>\r\n <i\r\n class=\"fa-solid fa-circle-exclamation ieeesa-input-field__icon--warning\"\r\n [attr.aria-label]=\"buttonActionsInfo.ariaLabel.warning\"\r\n role=\"img\"\r\n ></i>\r\n </ng-container>\r\n </mat-form-field>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\"> </ieeesa-form-error>\r\n <ieeesa-form-support-text [formGroup]=\"group\" [config]=\"config\"></ieeesa-form-support-text>\r\n</div>", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;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.813rem;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.9375rem;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.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;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.125rem;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.875rem;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.5rem;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.625rem;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.5rem;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.5rem;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.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;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:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;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:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;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:1rem;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.125rem;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.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;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:.875rem;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:.875rem;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.5rem;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:1rem;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:focus{background:#1f75a7}.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:focus{background:#f0f5f9}.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:focus{background-color:#f0f5f9}.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:1rem;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:1rem;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:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-input-field__warning-btn{display:none}.ieeesa-input-field__icon--clear,.ieeesa-input-field__icon--warning{height:20px;width:20px}.ieeesa-input-field__icon--warning{color:#ba0c2f}.ieeesa-input-field__btn--clear,.ieeesa-input-field__btn--warning{border:none;background-color:inherit}.ieeesa-input-field__content{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-input-field__label-left{display:flex}.ieeesa-input-field__label-top{display:block}.ieeesa-input-field__label{color:#49454f!important;font-size:.75rem!important}.ieeesa-input-field ::placeholder{color:#63666a;font-size:1rem}.ieeesa-input-field .mat-mdc-form-field{min-height:40px;height:40px;width:-webkit-fill-available;width:-moz-available}.ieeesa-input-field .mat-mdc-form-field-subscript-wrapper{display:none}.ieeesa-input-field .mat-mdc-text-field-wrapper{height:40px;min-width:210px;width:auto;background:#fff;border-top:1px solid #878b8f;border-right:1px solid #878b8f;border-left:1px solid #878b8f;border-radius:4px}.ieeesa-input-field .mat-mdc-form-field-focus-overlay{background:#fff}.ieeesa-input-field .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input{color:#1c1b1f}.ieeesa-input-field:has(.mdc-text-field--focused) .mdc-text-field--filled{border-top:2px solid #00629b;border-right:2px solid #00629b;border-left:2px solid #00629b}.ieeesa-input-field:has(.mdc-text-field--focused) .mdc-text-field--filled .mdc-line-ripple:after{border-bottom:2px solid #00629b}.ieeesa-input-field:has(.mdc-text-field) .mdc-text-field--filled .mdc-line-ripple:before,.ieeesa-input-field:has(.mdc-text-field) .mdc-text-field--filled:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-line-ripple:before{border-bottom-color:#878b8f}.ieeesa-input-field .mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-line-ripple:before{border-bottom:2px solid #ba0c2f}.ieeesa-input-field .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix{padding-top:5px}.ieeesa-input-field .mat-mdc-form-field-icon-suffix,.ieeesa-input-field [dir=rtl] .mat-mdc-form-field-icon-prefix{padding:0 8px 16px 4px}.ieeesa-input-field:has(.mdc-line-ripple--active) .ieeesa-input-field__label{color:#00629b!important}.ieeesa-input-field:has(.mdc-line-ripple--active) .mat-mdc-form-field-focus-overlay{background-color:#fff}.ieeesa-input-field:has(.mdc-text-field--invalid) .mdc-text-field--filled{border-top:2px solid #ba0c2f;border-right:2px solid #ba0c2f;border-left:2px solid #ba0c2f}.ieeesa-input-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:after,.ieeesa-input-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:before{border-bottom:2px solid #ba0c2f}.ieeesa-input-field:has(.mdc-text-field--invalid) .ieeesa-input-field__btn--warning{display:block}.ieeesa-input-field:has(.mdc-text-field--invalid) .ieeesa-input-field__label{color:#ba0c2f!important}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"] }]
95
+ ], encapsulation: ViewEncapsulation.None, template: "<div\r\n [formGroup]=\"group\"\r\n class=\"ieeesa-input-field\"\r\n [ngClass]=\"\r\n config.isLabelAlignedLeft\r\n ? 'ieeesa-input-field__label-left'\r\n : 'ieeesa-input-field__label-top'\r\n \"\r\n>\r\n <mat-label class=\"ieeesa-body-sm-14 ieeesa-input-field__label\">{{\r\n config.label\r\n }}</mat-label>\r\n <mat-form-field>\r\n <input\r\n class=\"ieeesa-input-field__content ieeesa-body-lg-16\"\r\n [type]=\"getInputFieldType()\"\r\n [attr.aria-label]=\"config.ariaLabel\"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n [min]=\"config.min ?? null\"\r\n [max]=\"config.max ?? null\"\r\n [maxlength]=\"config.maxLength ?? null\"\r\n [minlength]=\"config.minLength ?? null\"\r\n [placeholder]=\"config.placeholder ?? ''\"\r\n [formControlName]=\"config.controlName\"\r\n [name]=\"config.controlName\"\r\n (keydown)=\"onKeyDown($event)\"\r\n (input)=\"onChange()\"\r\n autocomplete=\"off\"\r\n matInput\r\n />\r\n <button\r\n *ngIf=\"\r\n group.get(this.config.controlName)?.value &&\r\n group.get(this.config.controlName)?.valid &&\r\n this.config?.clear\r\n \"\r\n matSuffix\r\n mat-icon-button\r\n [attr.aria-label]=\"buttonActionsInfo.ariaLabel.clear\"\r\n class=\"ieeesa-input-field__btn--clear\"\r\n (click)=\"clear()\"\r\n >\r\n <i class=\"fa-regular fa-circle-xmark ieeesa-input-field__icon--clear\"></i>\r\n </button>\r\n <ng-container\r\n *ngIf=\"\r\n group.get(this.config.controlName)?.invalid &&\r\n (group.get(this.config.controlName)?.dirty ||\r\n group.get(this.config.controlName)?.touched)\r\n \"\r\n matSuffix>\r\n <i\r\n class=\"fa-solid fa-circle-exclamation ieeesa-input-field__icon--warning\"\r\n [attr.aria-label]=\"buttonActionsInfo.ariaLabel.warning\"\r\n role=\"img\"\r\n ></i>\r\n </ng-container>\r\n </mat-form-field>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\"> </ieeesa-form-error>\r\n <ieeesa-form-support-text [formGroup]=\"group\" [config]=\"config\"></ieeesa-form-support-text>\r\n</div>", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;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.813rem;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.9375rem;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.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;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.125rem;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.875rem;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.5rem;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.625rem;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.5rem;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.5rem;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.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;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:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;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:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;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:1rem;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.125rem;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.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;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:.875rem;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:.875rem;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.5rem;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:1rem;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:focus{background:#1f75a7}.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:focus{background:#f0f5f9}.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:focus{background-color:#f0f5f9}.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:1rem;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:1rem;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:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-input-field__warning-btn{display:none}.ieeesa-input-field__icon--clear,.ieeesa-input-field__icon--warning{height:20px;width:20px}.ieeesa-input-field__icon--warning{color:#ba0c2f}.ieeesa-input-field__btn--clear,.ieeesa-input-field__btn--warning{border:none;background-color:inherit}.ieeesa-input-field__content{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-input-field__label-left{display:flex}.ieeesa-input-field__label-top{display:block}.ieeesa-input-field__label{color:#49454f!important;font-size:.75rem!important}.ieeesa-input-field ::placeholder{color:#63666a;font-size:1rem}.ieeesa-input-field .mat-mdc-form-field{min-height:40px;height:40px;width:-webkit-fill-available;width:-moz-available}.ieeesa-input-field .mat-mdc-form-field-subscript-wrapper{display:none}.ieeesa-input-field .mat-mdc-text-field-wrapper{height:40px;min-width:210px;width:auto;background:#fff!important;border-top:1px solid #878b8f;border-right:1px solid #878b8f;border-left:1px solid #878b8f;border-radius:4px}.ieeesa-input-field .mat-mdc-form-field-focus-overlay{background:#fff}.ieeesa-input-field .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input{color:#1c1b1f}.ieeesa-input-field:has(.mdc-text-field--focused) .mdc-text-field--filled{border-top:2px solid #00629b;border-right:2px solid #00629b;border-left:2px solid #00629b}.ieeesa-input-field:has(.mdc-text-field--focused) .mdc-text-field--filled .mdc-line-ripple:after{border-bottom:2px solid #00629b}.ieeesa-input-field:has(.mdc-text-field) .mdc-text-field--filled .mdc-line-ripple:before,.ieeesa-input-field:has(.mdc-text-field) .mdc-text-field--filled:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-line-ripple:before{border-bottom-color:#878b8f}.ieeesa-input-field .mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-line-ripple:before{border-bottom:2px solid #ba0c2f}.ieeesa-input-field .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix{padding-top:5px}.ieeesa-input-field .mat-mdc-form-field-icon-suffix,.ieeesa-input-field [dir=rtl] .mat-mdc-form-field-icon-prefix{padding:0 8px 16px 4px}.ieeesa-input-field:has(.mdc-line-ripple--active) .ieeesa-input-field__label{color:#00629b!important}.ieeesa-input-field:has(.mdc-line-ripple--active) .mat-mdc-form-field-focus-overlay{background-color:#fff}.ieeesa-input-field:has(.mdc-text-field--invalid) .mdc-text-field--filled{border-top:2px solid #ba0c2f;border-right:2px solid #ba0c2f;border-left:2px solid #ba0c2f}.ieeesa-input-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:after,.ieeesa-input-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:before{border-bottom:2px solid #ba0c2f}.ieeesa-input-field:has(.mdc-text-field--invalid) .ieeesa-input-field__btn--warning{display:block}.ieeesa-input-field:has(.mdc-text-field--invalid) .ieeesa-input-field__label{color:#ba0c2f!important}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}\n"] }]
96
96
  }], propDecorators: { inputValueChange: [{
97
97
  type: Output
98
98
  }] } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc2VudGF0aW9uL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2lucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBYSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3RGLE9BQU8sS0FBSyxpQkFBaUIsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7Ozs7O0FBRTVGOzs7OztHQUtHO0FBZ0JILE1BQU0sT0FBTyxjQUFjO0lBZjNCO1FBa0JFLGlCQUFZLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLDhEQUE4RDtRQUM5RCxzQkFBaUIsR0FBUSxpQkFBaUIsQ0FBQztRQUNqQyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztLQStEbEU7SUE3REM7Ozs7T0FJRztJQUNILFNBQVMsQ0FBQyxLQUFvQjtRQUM1QixJQUNFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNsRCxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQ3BCO1lBQ0EsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUNEOzs7T0FHRztJQUNILEtBQUs7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUTtRQUNOLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDL0QsSUFDRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUc7WUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7WUFDcEIsTUFBTSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFDN0M7WUFDQSxZQUFZLEVBQUUsU0FBUyxDQUFDO2dCQUN0QixTQUFTLEVBQUUsSUFBSTthQUNoQixDQUFDLENBQUM7U0FDSjtRQUNELElBQ0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHO1lBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO1lBQ3BCLFlBQVksRUFBRSxLQUFLLEtBQUssRUFBRTtZQUMxQixNQUFNLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUM3QztZQUNBLFlBQVksRUFBRSxTQUFTLENBQUM7Z0JBQ3RCLFNBQVMsRUFBRSxJQUFJO2FBQ2hCLENBQUMsQ0FBQztTQUNKO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNEOzs7T0FHRztJQUNILGlCQUFpQjtRQUNmLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUU7WUFDeEIsT0FBTyxjQUFjLENBQUMsS0FBSyxDQUFDO1NBQzdCO2FBQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRTtZQUNoQyxPQUFPLGNBQWMsQ0FBQyxNQUFNLENBQUM7U0FDOUI7UUFDRCxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUM7SUFDN0IsQ0FBQzsrR0FwRVUsY0FBYzttR0FBZCxjQUFjLDJIQ3RDM0IscXFFQTRETSx1MlhEakNGLFlBQVksZ09BQ1osbUJBQW1CLDBxQ0FDbkIsa0JBQWtCLGdIQUNsQixjQUFjLHV2QkFDZCxhQUFhLCtCQUNiLHdCQUF3Qjs7NEZBTWYsY0FBYztrQkFmMUIsU0FBUzsrQkFDRSxjQUFjLGNBQ1osSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYix3QkFBd0I7cUJBQ3pCLGlCQUdjLGlCQUFpQixDQUFDLElBQUk7OEJBUTNCLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBPdXRwdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmllbGQtY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybUZpZWxkIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tZmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBJbnB1dEZpZWxkVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9pbnB1dC1maWVsZC10eXBlLm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybUVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9mb3JtLWVycm9yL2Zvcm0tZXJyb3IuY29tcG9uZW50JztcclxuaW1wb3J0ICogYXMgYnV0dG9uQWN0aW9uc0luZm8gZnJvbSAnLi4vLi4vYXNzZXRzL2NvbnN0YW50cy5qc29uJztcclxuaW1wb3J0IHsgRm9ybVN1cHBvcnRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS1zdXBwb3J0LXRleHQvZm9ybS1zdXBwb3J0LXRleHQuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBQcm92aWRlcyBpbXBsZW1lbnRhdGlvbiBvZiBpbnB1dCB0eXBlIG51bWJlciwgZW1haWwgYW5kIHRleHRcclxuICogQGV4cG9ydFxyXG4gKiBAY2xhc3MgSW5wdXRDb21wb25lbnRcclxuICogQGltcGxlbWVudHMge0Zvcm1GaWVsZH1cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLWlucHV0JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBGb3JtRXJyb3JDb21wb25lbnQsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBGb3JtU3VwcG9ydFRleHRDb21wb25lbnQsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2lucHV0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgRm9ybUZpZWxkIHtcclxuICBjb25maWchOiBGaWVsZENvbmZpZztcclxuICBncm91cCE6IEZvcm1Hcm91cDtcclxuICBpbnZhbGlkQ2hhcnMgPSBbJy0nLCAnKycsICdlJ107XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBidXR0b25BY3Rpb25zSW5mbzogYW55ID0gYnV0dG9uQWN0aW9uc0luZm87XHJcbiAgQE91dHB1dCgpIGlucHV0VmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bWJlcj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBrZXlib2FyZCBldmVudCBvZiB0eXBlIGtleWRvd24gdG8gcmVzdHJpY3QgaW52YWxpZCBjaGFyYWN0ZXJzLlxyXG4gICAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgSW5wdXRDb21wb25lbnRcclxuICAgKi9cclxuICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmIChcclxuICAgICAgKHRoaXMuaW52YWxpZENoYXJzLmluY2x1ZGVzKGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpKSB8fFxyXG4gICAgICAgICh0aGlzLmNvbmZpZy5pc0ludGVnZXIgJiYgZXZlbnQua2V5LnRvTG93ZXJDYXNlKCkgPT09ICcuJykpICYmXHJcbiAgICAgIHRoaXMuY29uZmlnLmlzTnVtYmVyXHJcbiAgICApIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgLyoqXHJcbiAgICogQ2xlYXJzIHRoZSBmb3JtIGdyb3VwIGNvbnRyb2wgdmFsdWUgb2YgdHlwZSBpbnB1dFxyXG4gICAqIEBtZW1iZXJvZiBJbnB1dENvbXBvbmVudFxyXG4gICAqL1xyXG4gIGNsZWFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5ncm91cC5nZXQodGhpcy5jb25maWcuY29udHJvbE5hbWUpPy5zZXRWYWx1ZSgnJyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIGZvcm0gY29udHJvbCBpbnB1dCBvbiBjaGFuZ2UgZXZlbnQgdG8gc2V0IG1pbiBhbmQgbWF4IHZhbHVlIGVycm9yc1xyXG4gICAqIEBtZW1iZXJvZiBJbnB1dENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgY29uc3QgaW5wdXRDb250cm9sID0gdGhpcy5ncm91cD8uZ2V0KHRoaXMuY29uZmlnPy5jb250cm9sTmFtZSk7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuY29uZmlnLm1heCAmJlxyXG4gICAgICB0aGlzLmNvbmZpZy5pc051bWJlciAmJlxyXG4gICAgICBOdW1iZXIoaW5wdXRDb250cm9sPy52YWx1ZSkgPiB0aGlzLmNvbmZpZy5tYXhcclxuICAgICkge1xyXG4gICAgICBpbnB1dENvbnRyb2w/LnNldEVycm9ycyh7XHJcbiAgICAgICAgbWF4bGVuZ3RoOiB0cnVlLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5jb25maWcubWluICYmXHJcbiAgICAgIHRoaXMuY29uZmlnLmlzTnVtYmVyICYmXHJcbiAgICAgIGlucHV0Q29udHJvbD8udmFsdWUgIT09ICcnICYmXHJcbiAgICAgIE51bWJlcihpbnB1dENvbnRyb2w/LnZhbHVlKSA8IHRoaXMuY29uZmlnLm1pblxyXG4gICAgKSB7XHJcbiAgICAgIGlucHV0Q29udHJvbD8uc2V0RXJyb3JzKHtcclxuICAgICAgICBtaW5sZW5ndGg6IHRydWUsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pbnB1dFZhbHVlQ2hhbmdlLmVtaXQoaW5wdXRDb250cm9sPy52YWx1ZSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgaW5wdXQgZmllbGQgdHlwZVxyXG4gICAqIEBtZW1iZXJvZiBJbnB1dENvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldElucHV0RmllbGRUeXBlKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5jb25maWc/LmlzRW1haWwpIHtcclxuICAgICAgcmV0dXJuIElucHV0RmllbGRUeXBlLkVNQUlMO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZz8uaXNOdW1iZXIpIHtcclxuICAgICAgcmV0dXJuIElucHV0RmllbGRUeXBlLk5VTUJFUjtcclxuICAgIH1cclxuICAgIHJldHVybiBJbnB1dEZpZWxkVHlwZS5URVhUO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgW2Zvcm1Hcm91cF09XCJncm91cFwiXHJcbiAgY2xhc3M9XCJpZWVlc2EtaW5wdXQtZmllbGRcIlxyXG4gIFtuZ0NsYXNzXT1cIlxyXG4gICAgY29uZmlnLmlzTGFiZWxBbGlnbmVkTGVmdFxyXG4gICAgICA/ICdpZWVlc2EtaW5wdXQtZmllbGRfX2xhYmVsLWxlZnQnXHJcbiAgICAgIDogJ2llZWVzYS1pbnB1dC1maWVsZF9fbGFiZWwtdG9wJ1xyXG4gIFwiXHJcbj5cclxuICA8bWF0LWxhYmVsIGNsYXNzPVwiaWVlZXNhLWJvZHktc20tMTQgaWVlZXNhLWlucHV0LWZpZWxkX19sYWJlbFwiPnt7XHJcbiAgICBjb25maWcubGFiZWxcclxuICB9fTwvbWF0LWxhYmVsPlxyXG4gIDxtYXQtZm9ybS1maWVsZD5cclxuICAgIDxpbnB1dFxyXG4gICAgICBjbGFzcz1cImllZWVzYS1pbnB1dC1maWVsZF9fY29udGVudCBpZWVlc2EtYm9keS1sZy0xNlwiXHJcbiAgICAgIFt0eXBlXT1cImdldElucHV0RmllbGRUeXBlKClcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbmZpZy5hcmlhTGFiZWxcIlxyXG4gICAgICBbYXJpYS1kZXNjcmliZWRieV09XCJjb25maWcuYXJpYURlc2NyaWJlZEJ5SWQgPz8gJydcIlxyXG4gICAgICBbbWluXT1cImNvbmZpZy5taW4gPz8gbnVsbFwiXHJcbiAgICAgIFttYXhdPVwiY29uZmlnLm1heCA/PyBudWxsXCJcclxuICAgICAgW21heGxlbmd0aF09XCJjb25maWcubWF4TGVuZ3RoID8/IG51bGxcIlxyXG4gICAgICBbbWlubGVuZ3RoXT1cImNvbmZpZy5taW5MZW5ndGggPz8gbnVsbFwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJjb25maWcucGxhY2Vob2xkZXIgPz8gJydcIlxyXG4gICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5jb250cm9sTmFtZVwiXHJcbiAgICAgIFtuYW1lXT1cImNvbmZpZy5jb250cm9sTmFtZVwiXHJcbiAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCJcclxuICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlKClcIlxyXG4gICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICBtYXRJbnB1dFxyXG4gICAgLz5cclxuICAgIDxidXR0b25cclxuICAgICAgKm5nSWY9XCJcclxuICAgICAgICBncm91cC5nZXQodGhpcy5jb25maWcuY29udHJvbE5hbWUpPy52YWx1ZSAmJlxyXG4gICAgICAgIGdyb3VwLmdldCh0aGlzLmNvbmZpZy5jb250cm9sTmFtZSk/LnZhbGlkICYmXHJcbiAgICAgICAgdGhpcy5jb25maWc/LmNsZWFyXHJcbiAgICAgIFwiXHJcbiAgICAgIG1hdFN1ZmZpeFxyXG4gICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b25BY3Rpb25zSW5mby5hcmlhTGFiZWwuY2xlYXJcIlxyXG4gICAgICBjbGFzcz1cImllZWVzYS1pbnB1dC1maWVsZF9fYnRuLS1jbGVhclwiXHJcbiAgICAgIChjbGljayk9XCJjbGVhcigpXCJcclxuICAgID5cclxuICAgICAgPGkgY2xhc3M9XCJmYS1yZWd1bGFyIGZhLWNpcmNsZS14bWFyayBpZWVlc2EtaW5wdXQtZmllbGRfX2ljb24tLWNsZWFyXCI+PC9pPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgZ3JvdXAuZ2V0KHRoaXMuY29uZmlnLmNvbnRyb2xOYW1lKT8uaW52YWxpZCAmJlxyXG4gICAgICAgIChncm91cC5nZXQodGhpcy5jb25maWcuY29udHJvbE5hbWUpPy5kaXJ0eSB8fFxyXG4gICAgICAgICAgZ3JvdXAuZ2V0KHRoaXMuY29uZmlnLmNvbnRyb2xOYW1lKT8udG91Y2hlZClcclxuICAgICAgXCJcclxuICAgICAgbWF0U3VmZml4PlxyXG4gICAgICA8aVxyXG4gICAgICAgIGNsYXNzPVwiZmEtc29saWQgZmEtY2lyY2xlLWV4Y2xhbWF0aW9uIGllZWVzYS1pbnB1dC1maWVsZF9faWNvbi0td2FybmluZ1wiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b25BY3Rpb25zSW5mby5hcmlhTGFiZWwud2FybmluZ1wiXHJcbiAgICAgICAgcm9sZT1cImltZ1wiXHJcbiAgICAgID48L2k+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxpZWVlc2EtZm9ybS1lcnJvciBbZm9ybUdyb3VwXT1cImdyb3VwXCIgW2NvbmZpZ109XCJjb25maWdcIj4gPC9pZWVlc2EtZm9ybS1lcnJvcj5cclxuICA8aWVlZXNhLWZvcm0tc3VwcG9ydC10ZXh0IFtmb3JtR3JvdXBdPVwiZ3JvdXBcIiBbY29uZmlnXT1cImNvbmZpZ1wiPjwvaWVlZXNhLWZvcm0tc3VwcG9ydC10ZXh0PlxyXG48L2Rpdj4iXX0=
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc2VudGF0aW9uL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dC9pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2lucHV0L2lucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBYSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3RGLE9BQU8sS0FBSyxpQkFBaUIsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7Ozs7O0FBRTVGOzs7OztHQUtHO0FBZ0JILE1BQU0sT0FBTyxjQUFjO0lBZjNCO1FBa0JFLGlCQUFZLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLDhEQUE4RDtRQUM5RCxzQkFBaUIsR0FBUSxpQkFBaUIsQ0FBQztRQUNqQyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztLQStEbEU7SUE3REM7Ozs7T0FJRztJQUNILFNBQVMsQ0FBQyxLQUFvQjtRQUM1QixJQUNFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNsRCxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQ3BCO1lBQ0EsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUNEOzs7T0FHRztJQUNILEtBQUs7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUTtRQUNOLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDL0QsSUFDRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUc7WUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7WUFDcEIsTUFBTSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFDN0M7WUFDQSxZQUFZLEVBQUUsU0FBUyxDQUFDO2dCQUN0QixTQUFTLEVBQUUsSUFBSTthQUNoQixDQUFDLENBQUM7U0FDSjtRQUNELElBQ0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHO1lBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO1lBQ3BCLFlBQVksRUFBRSxLQUFLLEtBQUssRUFBRTtZQUMxQixNQUFNLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUM3QztZQUNBLFlBQVksRUFBRSxTQUFTLENBQUM7Z0JBQ3RCLFNBQVMsRUFBRSxJQUFJO2FBQ2hCLENBQUMsQ0FBQztTQUNKO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNEOzs7T0FHRztJQUNILGlCQUFpQjtRQUNmLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUU7WUFDeEIsT0FBTyxjQUFjLENBQUMsS0FBSyxDQUFDO1NBQzdCO2FBQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRTtZQUNoQyxPQUFPLGNBQWMsQ0FBQyxNQUFNLENBQUM7U0FDOUI7UUFDRCxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUM7SUFDN0IsQ0FBQzsrR0FwRVUsY0FBYzttR0FBZCxjQUFjLDJIQ3RDM0IscXFFQTRETSxpM1hEakNGLFlBQVksZ09BQ1osbUJBQW1CLDBxQ0FDbkIsa0JBQWtCLGdIQUNsQixjQUFjLHV2QkFDZCxhQUFhLCtCQUNiLHdCQUF3Qjs7NEZBTWYsY0FBYztrQkFmMUIsU0FBUzsrQkFDRSxjQUFjLGNBQ1osSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYix3QkFBd0I7cUJBQ3pCLGlCQUdjLGlCQUFpQixDQUFDLElBQUk7OEJBUTNCLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBPdXRwdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmllbGQtY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybUZpZWxkIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tZmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBJbnB1dEZpZWxkVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9pbnB1dC1maWVsZC10eXBlLm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybUVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9mb3JtLWVycm9yL2Zvcm0tZXJyb3IuY29tcG9uZW50JztcclxuaW1wb3J0ICogYXMgYnV0dG9uQWN0aW9uc0luZm8gZnJvbSAnLi4vLi4vYXNzZXRzL2NvbnN0YW50cy5qc29uJztcclxuaW1wb3J0IHsgRm9ybVN1cHBvcnRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS1zdXBwb3J0LXRleHQvZm9ybS1zdXBwb3J0LXRleHQuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBQcm92aWRlcyBpbXBsZW1lbnRhdGlvbiBvZiBpbnB1dCB0eXBlIG51bWJlciwgZW1haWwgYW5kIHRleHRcclxuICogQGV4cG9ydFxyXG4gKiBAY2xhc3MgSW5wdXRDb21wb25lbnRcclxuICogQGltcGxlbWVudHMge0Zvcm1GaWVsZH1cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLWlucHV0JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBGb3JtRXJyb3JDb21wb25lbnQsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBGb3JtU3VwcG9ydFRleHRDb21wb25lbnQsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2lucHV0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgRm9ybUZpZWxkIHtcclxuICBjb25maWchOiBGaWVsZENvbmZpZztcclxuICBncm91cCE6IEZvcm1Hcm91cDtcclxuICBpbnZhbGlkQ2hhcnMgPSBbJy0nLCAnKycsICdlJ107XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBidXR0b25BY3Rpb25zSW5mbzogYW55ID0gYnV0dG9uQWN0aW9uc0luZm87XHJcbiAgQE91dHB1dCgpIGlucHV0VmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bWJlcj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBrZXlib2FyZCBldmVudCBvZiB0eXBlIGtleWRvd24gdG8gcmVzdHJpY3QgaW52YWxpZCBjaGFyYWN0ZXJzLlxyXG4gICAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgSW5wdXRDb21wb25lbnRcclxuICAgKi9cclxuICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmIChcclxuICAgICAgKHRoaXMuaW52YWxpZENoYXJzLmluY2x1ZGVzKGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpKSB8fFxyXG4gICAgICAgICh0aGlzLmNvbmZpZy5pc0ludGVnZXIgJiYgZXZlbnQua2V5LnRvTG93ZXJDYXNlKCkgPT09ICcuJykpICYmXHJcbiAgICAgIHRoaXMuY29uZmlnLmlzTnVtYmVyXHJcbiAgICApIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgLyoqXHJcbiAgICogQ2xlYXJzIHRoZSBmb3JtIGdyb3VwIGNvbnRyb2wgdmFsdWUgb2YgdHlwZSBpbnB1dFxyXG4gICAqIEBtZW1iZXJvZiBJbnB1dENvbXBvbmVudFxyXG4gICAqL1xyXG4gIGNsZWFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5ncm91cC5nZXQodGhpcy5jb25maWcuY29udHJvbE5hbWUpPy5zZXRWYWx1ZSgnJyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIGZvcm0gY29udHJvbCBpbnB1dCBvbiBjaGFuZ2UgZXZlbnQgdG8gc2V0IG1pbiBhbmQgbWF4IHZhbHVlIGVycm9yc1xyXG4gICAqIEBtZW1iZXJvZiBJbnB1dENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgY29uc3QgaW5wdXRDb250cm9sID0gdGhpcy5ncm91cD8uZ2V0KHRoaXMuY29uZmlnPy5jb250cm9sTmFtZSk7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuY29uZmlnLm1heCAmJlxyXG4gICAgICB0aGlzLmNvbmZpZy5pc051bWJlciAmJlxyXG4gICAgICBOdW1iZXIoaW5wdXRDb250cm9sPy52YWx1ZSkgPiB0aGlzLmNvbmZpZy5tYXhcclxuICAgICkge1xyXG4gICAgICBpbnB1dENvbnRyb2w/LnNldEVycm9ycyh7XHJcbiAgICAgICAgbWF4bGVuZ3RoOiB0cnVlLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5jb25maWcubWluICYmXHJcbiAgICAgIHRoaXMuY29uZmlnLmlzTnVtYmVyICYmXHJcbiAgICAgIGlucHV0Q29udHJvbD8udmFsdWUgIT09ICcnICYmXHJcbiAgICAgIE51bWJlcihpbnB1dENvbnRyb2w/LnZhbHVlKSA8IHRoaXMuY29uZmlnLm1pblxyXG4gICAgKSB7XHJcbiAgICAgIGlucHV0Q29udHJvbD8uc2V0RXJyb3JzKHtcclxuICAgICAgICBtaW5sZW5ndGg6IHRydWUsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pbnB1dFZhbHVlQ2hhbmdlLmVtaXQoaW5wdXRDb250cm9sPy52YWx1ZSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgaW5wdXQgZmllbGQgdHlwZVxyXG4gICAqIEBtZW1iZXJvZiBJbnB1dENvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldElucHV0RmllbGRUeXBlKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5jb25maWc/LmlzRW1haWwpIHtcclxuICAgICAgcmV0dXJuIElucHV0RmllbGRUeXBlLkVNQUlMO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZz8uaXNOdW1iZXIpIHtcclxuICAgICAgcmV0dXJuIElucHV0RmllbGRUeXBlLk5VTUJFUjtcclxuICAgIH1cclxuICAgIHJldHVybiBJbnB1dEZpZWxkVHlwZS5URVhUO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgW2Zvcm1Hcm91cF09XCJncm91cFwiXHJcbiAgY2xhc3M9XCJpZWVlc2EtaW5wdXQtZmllbGRcIlxyXG4gIFtuZ0NsYXNzXT1cIlxyXG4gICAgY29uZmlnLmlzTGFiZWxBbGlnbmVkTGVmdFxyXG4gICAgICA/ICdpZWVlc2EtaW5wdXQtZmllbGRfX2xhYmVsLWxlZnQnXHJcbiAgICAgIDogJ2llZWVzYS1pbnB1dC1maWVsZF9fbGFiZWwtdG9wJ1xyXG4gIFwiXHJcbj5cclxuICA8bWF0LWxhYmVsIGNsYXNzPVwiaWVlZXNhLWJvZHktc20tMTQgaWVlZXNhLWlucHV0LWZpZWxkX19sYWJlbFwiPnt7XHJcbiAgICBjb25maWcubGFiZWxcclxuICB9fTwvbWF0LWxhYmVsPlxyXG4gIDxtYXQtZm9ybS1maWVsZD5cclxuICAgIDxpbnB1dFxyXG4gICAgICBjbGFzcz1cImllZWVzYS1pbnB1dC1maWVsZF9fY29udGVudCBpZWVlc2EtYm9keS1sZy0xNlwiXHJcbiAgICAgIFt0eXBlXT1cImdldElucHV0RmllbGRUeXBlKClcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbmZpZy5hcmlhTGFiZWxcIlxyXG4gICAgICBbYXJpYS1kZXNjcmliZWRieV09XCJjb25maWcuYXJpYURlc2NyaWJlZEJ5SWQgPz8gJydcIlxyXG4gICAgICBbbWluXT1cImNvbmZpZy5taW4gPz8gbnVsbFwiXHJcbiAgICAgIFttYXhdPVwiY29uZmlnLm1heCA/PyBudWxsXCJcclxuICAgICAgW21heGxlbmd0aF09XCJjb25maWcubWF4TGVuZ3RoID8/IG51bGxcIlxyXG4gICAgICBbbWlubGVuZ3RoXT1cImNvbmZpZy5taW5MZW5ndGggPz8gbnVsbFwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJjb25maWcucGxhY2Vob2xkZXIgPz8gJydcIlxyXG4gICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5jb250cm9sTmFtZVwiXHJcbiAgICAgIFtuYW1lXT1cImNvbmZpZy5jb250cm9sTmFtZVwiXHJcbiAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCJcclxuICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlKClcIlxyXG4gICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICBtYXRJbnB1dFxyXG4gICAgLz5cclxuICAgIDxidXR0b25cclxuICAgICAgKm5nSWY9XCJcclxuICAgICAgICBncm91cC5nZXQodGhpcy5jb25maWcuY29udHJvbE5hbWUpPy52YWx1ZSAmJlxyXG4gICAgICAgIGdyb3VwLmdldCh0aGlzLmNvbmZpZy5jb250cm9sTmFtZSk/LnZhbGlkICYmXHJcbiAgICAgICAgdGhpcy5jb25maWc/LmNsZWFyXHJcbiAgICAgIFwiXHJcbiAgICAgIG1hdFN1ZmZpeFxyXG4gICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b25BY3Rpb25zSW5mby5hcmlhTGFiZWwuY2xlYXJcIlxyXG4gICAgICBjbGFzcz1cImllZWVzYS1pbnB1dC1maWVsZF9fYnRuLS1jbGVhclwiXHJcbiAgICAgIChjbGljayk9XCJjbGVhcigpXCJcclxuICAgID5cclxuICAgICAgPGkgY2xhc3M9XCJmYS1yZWd1bGFyIGZhLWNpcmNsZS14bWFyayBpZWVlc2EtaW5wdXQtZmllbGRfX2ljb24tLWNsZWFyXCI+PC9pPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgZ3JvdXAuZ2V0KHRoaXMuY29uZmlnLmNvbnRyb2xOYW1lKT8uaW52YWxpZCAmJlxyXG4gICAgICAgIChncm91cC5nZXQodGhpcy5jb25maWcuY29udHJvbE5hbWUpPy5kaXJ0eSB8fFxyXG4gICAgICAgICAgZ3JvdXAuZ2V0KHRoaXMuY29uZmlnLmNvbnRyb2xOYW1lKT8udG91Y2hlZClcclxuICAgICAgXCJcclxuICAgICAgbWF0U3VmZml4PlxyXG4gICAgICA8aVxyXG4gICAgICAgIGNsYXNzPVwiZmEtc29saWQgZmEtY2lyY2xlLWV4Y2xhbWF0aW9uIGllZWVzYS1pbnB1dC1maWVsZF9faWNvbi0td2FybmluZ1wiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b25BY3Rpb25zSW5mby5hcmlhTGFiZWwud2FybmluZ1wiXHJcbiAgICAgICAgcm9sZT1cImltZ1wiXHJcbiAgICAgID48L2k+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxpZWVlc2EtZm9ybS1lcnJvciBbZm9ybUdyb3VwXT1cImdyb3VwXCIgW2NvbmZpZ109XCJjb25maWdcIj4gPC9pZWVlc2EtZm9ybS1lcnJvcj5cclxuICA8aWVlZXNhLWZvcm0tc3VwcG9ydC10ZXh0IFtmb3JtR3JvdXBdPVwiZ3JvdXBcIiBbY29uZmlnXT1cImNvbmZpZ1wiPjwvaWVlZXNhLWZvcm0tc3VwcG9ydC10ZXh0PlxyXG48L2Rpdj4iXX0=