@eui/components 15.0.0-rc.11 → 15.0.0-rc.12

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.
@@ -110,8 +110,7 @@ export class EuiTimepickerComponent {
110
110
  this.updateSeconds(val.toString());
111
111
  }
112
112
  updateHours(newVal) {
113
- const value = (typeof newVal === 'string') ? newVal : newVal.target.value;
114
- const enteredHour = this.toInteger(value);
113
+ const enteredHour = this.toInteger(newVal);
115
114
  if (!isNaN(enteredHour)) {
116
115
  this.hours = (enteredHour < 0 ? 24 + enteredHour : enteredHour) % 24;
117
116
  }
@@ -125,8 +124,7 @@ export class EuiTimepickerComponent {
125
124
  this.propagateChange(this.propagatedValues);
126
125
  }
127
126
  updateMinutes(newVal) {
128
- const value = (typeof newVal === 'string') ? newVal : newVal.target.value;
129
- const enteredMin = this.toInteger(value);
127
+ const enteredMin = this.toInteger(newVal);
130
128
  if (!isNaN(enteredMin)) {
131
129
  this.mins = enteredMin % 60 < 0 ? 60 + enteredMin % 60 : enteredMin % 60;
132
130
  this.changeHours(Math.floor(enteredMin / 60));
@@ -141,8 +139,7 @@ export class EuiTimepickerComponent {
141
139
  this.propagateChange(this.propagatedValues);
142
140
  }
143
141
  updateSeconds(newVal) {
144
- const value = (typeof newVal === 'string') ? newVal : newVal.target.value;
145
- const enteredSec = this.toInteger(value);
142
+ const enteredSec = this.toInteger(newVal);
146
143
  if (!isNaN(enteredSec)) {
147
144
  this.secs = enteredSec % 60 < 0 ? 60 + enteredSec % 60 : enteredSec % 60;
148
145
  this.changeMinutes(Math.floor(enteredSec / 60));
@@ -225,10 +222,10 @@ export class EuiTimepickerComponent {
225
222
  }
226
223
  }
227
224
  /** @nocollapse */ EuiTimepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: EuiTimepickerComponent, deps: [{ token: DYNAMIC_COMPONENT_CONFIG, optional: true }, { token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
228
- /** @nocollapse */ EuiTimepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: EuiTimepickerComponent, selector: "eui-timepicker", inputs: { isreadOnly: "isreadOnly", isOneInputField: "isOneInputField", hasSeconds: "hasSeconds", timeMask: "timeMask" }, viewQueries: [{ propertyName: "inputHoursElement", first: true, predicate: ["inputrefhours"], descendants: true, read: ElementRef }, { propertyName: "inputMinsElement", first: true, predicate: ["inputrefmins"], descendants: true, read: ElementRef }, { propertyName: "inputSecsElement", first: true, predicate: ["inputrefsecs"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"eui-timepicker\" [class.eui-timepicker--centered]=\"isDatetimepicker\">\n <ng-container *ngIf=\"isOneInputField; else multipleInputs\">\n <input\n [class.eui-timepicker__input--one-field]=\"isDatetimepicker\"\n euiInputText\n mask=\"{{ timeMask }}\"\n [leadZeroDateTime]=\"true\"\n placeholder=\"{{ timeMask }}\"\n aria-label=\"Time Input Field\"\n [formControl]=\"oneInputFormControl\"\n (focusout)=\"onFocusOut()\"\n [dropSpecialCharacters]=\"false\"\n [readOnly]=\"isreadOnly\">\n </ng-container>\n\n <ng-template #multipleInputs>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" class=\"eui-timepicker__chevron\" tabindex=\"-1\" (click)=\"changeHours(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase Hours\"></eui-icon-svg>\n </a>\n <input #inputrefhours\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"HH\"\n [ngModel]=\"hours\"\n (keyup)=\"updateHours($event)\"\n [readOnly]=\"isreadOnly\"\n aria-label=\"Hours\"\n (keydown.ArrowUp)=\"changeHours(1); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeHours(-1); $event.preventDefault()\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeHours(-1)\">\n <eui-icon-svg icon=\"eui-chevron-down\" role=\"img\" aria-label=\"Decrease Hours\"></eui-icon-svg>\n </a>\n </div>\n <div class=\"eui-timepicker__spacer\">:</div>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeMinutes(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase Minutes\"></eui-icon-svg>\n </a>\n <input #inputrefmins\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"MM\"\n [ngModel]=\"mins\"\n (keyup)=\"updateMinutes($event)\"\n [readOnly]=\"isreadOnly\"\n aria-label=\"Minutes\"\n (keydown.ArrowUp)=\"changeMinutes(1); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeMinutes(-1); $event.preventDefault()\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeMinutes(-1)\">\n <eui-icon-svg icon=\"eui-chevron-down\" role=\"img\" aria-label=\"Decrease Minutes\"></eui-icon-svg>\n </a>\n </div>\n <ng-container *ngIf=\"hasSeconds\">\n <div class=\"eui-timepicker__spacer\">:</div>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeSeconds(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase seconds\"></eui-icon-svg>\n </a>\n <input #inputrefsecs\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"SS\"\n [ngModel]=\"secs\"\n (keyup)=\"updateSeconds($event)\"\n [readOnly]=\"isreadOnly\"\n aria-label=\"Seconds\"\n (keydown.ArrowUp)=\"changeSeconds(1); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeSeconds(-1); $event.preventDefault()\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeSeconds(-1)\">\n <eui-icon-svg icon=\"eui-chevron-down\" role=\"img\" aria-label=\"Decrease seconds\"></eui-icon-svg>\n </a>\n </div>\n </ng-container>\n </ng-template>\n</div>\n", styles: [".eui-timepicker{align-items:center;display:flex}.eui-timepicker--centered{justify-content:center}.eui-timepicker__input-container{width:calc(4 * var(--eui-base-spacing-m))}.eui-timepicker__input{text-align:center;width:100%}.eui-timepicker__input--one-field{width:calc(6 * var(--eui-base-spacing-m));margin-bottom:var(--eui-base-spacing-2xs)}.eui-timepicker__spacer{text-align:center;width:var(--eui-base-spacing-m)}.eui-timepicker__chevron:not([href]){color:var(--eui-base-color-grey-25);display:flex;justify-content:center;padding:var(--eui-base-spacing-xs);text-decoration-line:none!important}.eui-timepicker__chevron:not([href]):hover{color:var(--eui-base-color-primary-100)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.EuiInputNumberComponent, selector: "input[euiInputNumber]:not([euiInputCheckBox])", inputs: ["min", "max", "leadingZero", "isInvalid", "fractionDigits", "digits", "fillFraction", "roundUp", "noFormat", "styleClass", "value"] }, { kind: "component", type: i4.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["class", "isInvalid"] }, { kind: "component", type: i5.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "directive", type: i6.MaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "triggerOnMaskChange"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }], encapsulation: i0.ViewEncapsulation.None });
225
+ /** @nocollapse */ EuiTimepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: EuiTimepickerComponent, selector: "eui-timepicker", inputs: { isreadOnly: "isreadOnly", isOneInputField: "isOneInputField", hasSeconds: "hasSeconds", timeMask: "timeMask" }, viewQueries: [{ propertyName: "inputHoursElement", first: true, predicate: ["inputrefhours"], descendants: true, read: ElementRef }, { propertyName: "inputMinsElement", first: true, predicate: ["inputrefmins"], descendants: true, read: ElementRef }, { propertyName: "inputSecsElement", first: true, predicate: ["inputrefsecs"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"eui-timepicker\" [class.eui-timepicker--centered]=\"isDatetimepicker\">\n <ng-container *ngIf=\"isOneInputField; else multipleInputs\">\n <input\n [class.eui-timepicker__input--one-field]=\"isDatetimepicker\"\n euiInputText\n mask=\"{{ timeMask }}\"\n [leadZeroDateTime]=\"true\"\n placeholder=\"{{ timeMask }}\"\n aria-label=\"Time Input Field\"\n [formControl]=\"oneInputFormControl\"\n (focusout)=\"onFocusOut()\"\n [dropSpecialCharacters]=\"false\"\n [readOnly]=\"isreadOnly\">\n </ng-container>\n\n <ng-template #multipleInputs>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" class=\"eui-timepicker__chevron\" tabindex=\"-1\" (click)=\"changeHours(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase Hours\"></eui-icon-svg>\n </a>\n <input #inputrefhours\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"HH\"\n [ngModel]=\"hours\"\n (ngModelChange)=\"updateHours($event)\"\n [readOnly]=\"isreadOnly\"\n aria-label=\"Hours\"\n (keydown.ArrowUp)=\"changeHours(1); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeHours(-1); $event.preventDefault()\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeHours(-1)\">\n <eui-icon-svg icon=\"eui-chevron-down\" role=\"img\" aria-label=\"Decrease Hours\"></eui-icon-svg>\n </a>\n </div>\n <div class=\"eui-timepicker__spacer\">:</div>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeMinutes(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase Minutes\"></eui-icon-svg>\n </a>\n <input #inputrefmins\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"MM\"\n [ngModel]=\"mins\"\n (ngModelChange)=\"updateMinutes($event)\"\n [readOnly]=\"isreadOnly\"\n aria-label=\"Minutes\"\n (keydown.ArrowUp)=\"changeMinutes(1); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeMinutes(-1); $event.preventDefault()\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeMinutes(-1)\">\n <eui-icon-svg icon=\"eui-chevron-down\" role=\"img\" aria-label=\"Decrease Minutes\"></eui-icon-svg>\n </a>\n </div>\n <ng-container *ngIf=\"hasSeconds\">\n <div class=\"eui-timepicker__spacer\">:</div>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeSeconds(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase seconds\"></eui-icon-svg>\n </a>\n <input #inputrefsecs\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"SS\"\n [ngModel]=\"secs\"\n (ngModelChange)=\"updateSeconds($event)\"\n [readOnly]=\"isreadOnly\"\n aria-label=\"Seconds\"\n (keydown.ArrowUp)=\"changeSeconds(1); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeSeconds(-1); $event.preventDefault()\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeSeconds(-1)\">\n <eui-icon-svg icon=\"eui-chevron-down\" role=\"img\" aria-label=\"Decrease seconds\"></eui-icon-svg>\n </a>\n </div>\n </ng-container>\n </ng-template>\n</div>\n", styles: [".eui-timepicker{align-items:center;display:flex}.eui-timepicker--centered{justify-content:center}.eui-timepicker__input-container{width:calc(4 * var(--eui-base-spacing-m))}.eui-timepicker__input{text-align:center;width:100%}.eui-timepicker__input--one-field{width:calc(6 * var(--eui-base-spacing-m));margin-bottom:var(--eui-base-spacing-2xs)}.eui-timepicker__spacer{text-align:center;width:var(--eui-base-spacing-m)}.eui-timepicker__chevron:not([href]){color:var(--eui-base-color-grey-25);display:flex;justify-content:center;padding:var(--eui-base-spacing-xs);text-decoration-line:none!important}.eui-timepicker__chevron:not([href]):hover{color:var(--eui-base-color-primary-100)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.EuiInputNumberComponent, selector: "input[euiInputNumber]:not([euiInputCheckBox])", inputs: ["min", "max", "leadingZero", "isInvalid", "fractionDigits", "digits", "fillFraction", "roundUp", "noFormat", "styleClass", "value"] }, { kind: "component", type: i4.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["class", "isInvalid"] }, { kind: "component", type: i5.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "directive", type: i6.MaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "triggerOnMaskChange"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }], encapsulation: i0.ViewEncapsulation.None });
229
226
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: EuiTimepickerComponent, decorators: [{
230
227
  type: Component,
231
- args: [{ selector: 'eui-timepicker', encapsulation: ViewEncapsulation.None, template: "<div class=\"eui-timepicker\" [class.eui-timepicker--centered]=\"isDatetimepicker\">\n <ng-container *ngIf=\"isOneInputField; else multipleInputs\">\n <input\n [class.eui-timepicker__input--one-field]=\"isDatetimepicker\"\n euiInputText\n mask=\"{{ timeMask }}\"\n [leadZeroDateTime]=\"true\"\n placeholder=\"{{ timeMask }}\"\n aria-label=\"Time Input Field\"\n [formControl]=\"oneInputFormControl\"\n (focusout)=\"onFocusOut()\"\n [dropSpecialCharacters]=\"false\"\n [readOnly]=\"isreadOnly\">\n </ng-container>\n\n <ng-template #multipleInputs>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" class=\"eui-timepicker__chevron\" tabindex=\"-1\" (click)=\"changeHours(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase Hours\"></eui-icon-svg>\n </a>\n <input #inputrefhours\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"HH\"\n [ngModel]=\"hours\"\n (keyup)=\"updateHours($event)\"\n [readOnly]=\"isreadOnly\"\n aria-label=\"Hours\"\n (keydown.ArrowUp)=\"changeHours(1); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeHours(-1); $event.preventDefault()\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeHours(-1)\">\n <eui-icon-svg icon=\"eui-chevron-down\" role=\"img\" aria-label=\"Decrease Hours\"></eui-icon-svg>\n </a>\n </div>\n <div class=\"eui-timepicker__spacer\">:</div>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeMinutes(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase Minutes\"></eui-icon-svg>\n </a>\n <input #inputrefmins\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"MM\"\n [ngModel]=\"mins\"\n (keyup)=\"updateMinutes($event)\"\n [readOnly]=\"isreadOnly\"\n aria-label=\"Minutes\"\n (keydown.ArrowUp)=\"changeMinutes(1); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeMinutes(-1); $event.preventDefault()\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeMinutes(-1)\">\n <eui-icon-svg icon=\"eui-chevron-down\" role=\"img\" aria-label=\"Decrease Minutes\"></eui-icon-svg>\n </a>\n </div>\n <ng-container *ngIf=\"hasSeconds\">\n <div class=\"eui-timepicker__spacer\">:</div>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeSeconds(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase seconds\"></eui-icon-svg>\n </a>\n <input #inputrefsecs\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"SS\"\n [ngModel]=\"secs\"\n (keyup)=\"updateSeconds($event)\"\n [readOnly]=\"isreadOnly\"\n aria-label=\"Seconds\"\n (keydown.ArrowUp)=\"changeSeconds(1); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeSeconds(-1); $event.preventDefault()\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeSeconds(-1)\">\n <eui-icon-svg icon=\"eui-chevron-down\" role=\"img\" aria-label=\"Decrease seconds\"></eui-icon-svg>\n </a>\n </div>\n </ng-container>\n </ng-template>\n</div>\n", styles: [".eui-timepicker{align-items:center;display:flex}.eui-timepicker--centered{justify-content:center}.eui-timepicker__input-container{width:calc(4 * var(--eui-base-spacing-m))}.eui-timepicker__input{text-align:center;width:100%}.eui-timepicker__input--one-field{width:calc(6 * var(--eui-base-spacing-m));margin-bottom:var(--eui-base-spacing-2xs)}.eui-timepicker__spacer{text-align:center;width:var(--eui-base-spacing-m)}.eui-timepicker__chevron:not([href]){color:var(--eui-base-color-grey-25);display:flex;justify-content:center;padding:var(--eui-base-spacing-xs);text-decoration-line:none!important}.eui-timepicker__chevron:not([href]):hover{color:var(--eui-base-color-primary-100)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}\n"] }]
228
+ args: [{ selector: 'eui-timepicker', encapsulation: ViewEncapsulation.None, template: "<div class=\"eui-timepicker\" [class.eui-timepicker--centered]=\"isDatetimepicker\">\n <ng-container *ngIf=\"isOneInputField; else multipleInputs\">\n <input\n [class.eui-timepicker__input--one-field]=\"isDatetimepicker\"\n euiInputText\n mask=\"{{ timeMask }}\"\n [leadZeroDateTime]=\"true\"\n placeholder=\"{{ timeMask }}\"\n aria-label=\"Time Input Field\"\n [formControl]=\"oneInputFormControl\"\n (focusout)=\"onFocusOut()\"\n [dropSpecialCharacters]=\"false\"\n [readOnly]=\"isreadOnly\">\n </ng-container>\n\n <ng-template #multipleInputs>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" class=\"eui-timepicker__chevron\" tabindex=\"-1\" (click)=\"changeHours(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase Hours\"></eui-icon-svg>\n </a>\n <input #inputrefhours\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"HH\"\n [ngModel]=\"hours\"\n (ngModelChange)=\"updateHours($event)\"\n [readOnly]=\"isreadOnly\"\n aria-label=\"Hours\"\n (keydown.ArrowUp)=\"changeHours(1); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeHours(-1); $event.preventDefault()\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeHours(-1)\">\n <eui-icon-svg icon=\"eui-chevron-down\" role=\"img\" aria-label=\"Decrease Hours\"></eui-icon-svg>\n </a>\n </div>\n <div class=\"eui-timepicker__spacer\">:</div>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeMinutes(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase Minutes\"></eui-icon-svg>\n </a>\n <input #inputrefmins\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"MM\"\n [ngModel]=\"mins\"\n (ngModelChange)=\"updateMinutes($event)\"\n [readOnly]=\"isreadOnly\"\n aria-label=\"Minutes\"\n (keydown.ArrowUp)=\"changeMinutes(1); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeMinutes(-1); $event.preventDefault()\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeMinutes(-1)\">\n <eui-icon-svg icon=\"eui-chevron-down\" role=\"img\" aria-label=\"Decrease Minutes\"></eui-icon-svg>\n </a>\n </div>\n <ng-container *ngIf=\"hasSeconds\">\n <div class=\"eui-timepicker__spacer\">:</div>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeSeconds(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase seconds\"></eui-icon-svg>\n </a>\n <input #inputrefsecs\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"SS\"\n [ngModel]=\"secs\"\n (ngModelChange)=\"updateSeconds($event)\"\n [readOnly]=\"isreadOnly\"\n aria-label=\"Seconds\"\n (keydown.ArrowUp)=\"changeSeconds(1); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeSeconds(-1); $event.preventDefault()\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeSeconds(-1)\">\n <eui-icon-svg icon=\"eui-chevron-down\" role=\"img\" aria-label=\"Decrease seconds\"></eui-icon-svg>\n </a>\n </div>\n </ng-container>\n </ng-template>\n</div>\n", styles: [".eui-timepicker{align-items:center;display:flex}.eui-timepicker--centered{justify-content:center}.eui-timepicker__input-container{width:calc(4 * var(--eui-base-spacing-m))}.eui-timepicker__input{text-align:center;width:100%}.eui-timepicker__input--one-field{width:calc(6 * var(--eui-base-spacing-m));margin-bottom:var(--eui-base-spacing-2xs)}.eui-timepicker__spacer{text-align:center;width:var(--eui-base-spacing-m)}.eui-timepicker__chevron:not([href]){color:var(--eui-base-color-grey-25);display:flex;justify-content:center;padding:var(--eui-base-spacing-xs);text-decoration-line:none!important}.eui-timepicker__chevron:not([href]):hover{color:var(--eui-base-color-primary-100)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}\n"] }]
232
229
  }], ctorParameters: function () { return [{ type: i7.EuiDateTimePickerConfig, decorators: [{
233
230
  type: Optional
234
231
  }, {
@@ -256,4 +253,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
256
253
  type: ViewChild,
257
254
  args: ['inputrefsecs', { read: ElementRef }]
258
255
  }] } });
259
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRpbWVwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZXVpLXRpbWVwaWNrZXIvZXVpLXRpbWVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLXRpbWVwaWNrZXIvZXVpLXRpbWVwaWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsUUFBUSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQXNCLE1BQU0sZUFBZSxDQUFDO0FBQy9JLE9BQU8sRUFBbUMsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7Ozs7Ozs7QUFVckQsTUFBTSxPQUFPLHNCQUFzQjtJQXdDL0IsWUFBMEQsTUFBK0IsRUFDakQsT0FBa0I7UUFBbEIsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQW5DMUQsd0JBQW1CLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUtoQyxxQkFBZ0IsR0FBa0I7WUFDdEMsS0FBSyxFQUFFLElBQUk7WUFDWCxJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVM7U0FDM0MsQ0FBQztRQUNNLGFBQVEsR0FBcUIsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUtwRCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUtwQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7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QUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFNBQVMsQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQy9CLE9BQU8sSUFBSSxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNoQzthQUFNO1lBQ0gsT0FBTyxFQUFFLENBQUM7U0FDYjtJQUNMLENBQUM7O3NJQTFQUSxzQkFBc0Isa0JBd0NDLHdCQUF3QjswSEF4Qy9DLHNCQUFzQiwrUUFvQ0ssVUFBVSwyR0FDWCxVQUFVLDJHQUNWLFVBQVUsNkJDdERqRCxzNElBcUZBOzJGRHJFYSxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0ksZ0JBQWdCLGlCQUdYLGlCQUFpQixDQUFDLElBQUk7OzBCQTBDeEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx3QkFBd0I7OzBCQUMzQyxJQUFJOzswQkFBSSxRQUFROzRDQXRCekIsVUFBVTtzQkFEYixLQUFLO2dCQU1GLGVBQWU7c0JBRGxCLEtBQUs7Z0JBTUYsVUFBVTtzQkFEYixLQUFLO2dCQU1HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRXNELGlCQUFpQjtzQkFBNUUsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUNXLGdCQUFnQjtzQkFBMUUsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUNZLGdCQUFnQjtzQkFBMUUsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3QsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uLCBTZWxmLCBEb0NoZWNrLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBEWU5BTUlDX0NPTVBPTkVOVF9DT05GSUcgfSBmcm9tICdAZXVpL2NvcmUnO1xuaW1wb3J0IHsgRXVpRGF0ZVRpbWVQaWNrZXJDb25maWcgfSBmcm9tICcuL21vZGVscy9ldWktZGF0ZS10aW1lLXBpY2tlci5jb25maWcubW9kZWwnO1xuaW1wb3J0IHsgRXVpVGltZVBpY2tlciB9IGZyb20gJy4vbW9kZWxzL2V1aS10aW1lcGlja2VyLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktdGltZXBpY2tlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V1aS10aW1lcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlUaW1lcGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgRG9DaGVjaywgT25EZXN0cm95IHtcblxuICAgIGhvdXJzOiBudW1iZXI7XG4gICAgbWluczogbnVtYmVyO1xuICAgIHNlY3M6IG51bWJlcjtcbiAgICBpc0RhdGV0aW1lcGlja2VyOiBib29sZWFuO1xuICAgIG9uZUlucHV0Rm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgICBvbmVJbnB1dEhvdXJzOiBzdHJpbmc7XG4gICAgb25lSW5wdXRNaW5zOiBzdHJpbmc7XG4gICAgb25lSW5wdXRTZWNzOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIHByb3BhZ2F0ZWRWYWx1ZXM6IEV1aVRpbWVQaWNrZXIgPSB7XG4gICAgICAgIGhvdXJzOiBudWxsLFxuICAgICAgICBtaW5zOiBudWxsLFxuICAgICAgICBzZWNzOiB0aGlzLmhhc1NlY29uZHMgPyBudWxsIDogdW5kZWZpbmVkXG4gICAgfTtcbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzcmVhZE9ubHkoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9pc3JlYWRPbmx5OyB9XG4gICAgc2V0IGlzcmVhZE9ubHkodmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9pc3JlYWRPbmx5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2lzcmVhZE9ubHkgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzT25lSW5wdXRGaWVsZCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2lzT25lSW5wdXRGaWVsZDsgfVxuICAgIHNldCBpc09uZUlucHV0RmllbGQodmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9pc09uZUlucHV0RmllbGQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfaXNPbmVJbnB1dEZpZWxkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBoYXNTZWNvbmRzKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5faGFzU2Vjb25kczsgfVxuICAgIHNldCBoYXNTZWNvbmRzKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5faGFzU2Vjb25kcyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9oYXNTZWNvbmRzID0gZmFsc2U7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICAgIEBJbnB1dCgpIHRpbWVNYXNrID0gJ0hoOm0wJztcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0cmVmaG91cnMnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgcHJvdGVjdGVkIGlucHV0SG91cnNFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoJ2lucHV0cmVmbWlucycsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBwcm90ZWN0ZWQgaW5wdXRNaW5zRWxlbWVudDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgICBAVmlld0NoaWxkKCdpbnB1dHJlZnNlY3MnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgcHJvdGVjdGVkIGlucHV0U2Vjc0VsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KERZTkFNSUNfQ09NUE9ORU5UX0NPTkZJRykgY29uZmlnOiBFdWlEYXRlVGltZVBpY2tlckNvbmZpZyxcbiAgICAgICAgICAgICAgICBAU2VsZigpIEBPcHRpb25hbCgpIHByaXZhdGUgY29udHJvbDogTmdDb250cm9sLCkge1xuICAgICAgICAgICAgdGhpcy5ob3VycyA9IGNvbmZpZz8uaG91cnMgfHwgMDtcbiAgICAgICAgICAgIHRoaXMubWlucyA9IGNvbmZpZz8ubWlucyB8fCAwO1xuICAgICAgICAgICAgdGhpcy5zZWNzID0gY29uZmlnPy5zZWNzIHx8IDA7XG4gICAgICAgICAgICB0aGlzLmlzRGF0ZXRpbWVwaWNrZXIgPSBjb25maWc/LmlzRGF0ZXRpbWVwaWNrZXI7XG4gICAgICAgICAgICB0aGlzLmhhc1NlY29uZHMgPSBjb25maWc/Lmhhc1NlY29uZHM7XG4gICAgICAgICAgICB0aGlzLmlzT25lSW5wdXRGaWVsZCA9IGNvbmZpZz8uaXNPbmVJbnB1dEZpZWxkO1xuICAgICAgICAgICAgY29uc3QgaG91cnMgPSB0aGlzLmhvdXJzID09PSAwIHx8IG51bGwgPyAnMDAnIDogdGhpcy5ob3VycztcbiAgICAgICAgICAgIGNvbnN0IG1pbnMgPSB0aGlzLm1pbnMgPT09IDAgfHwgbnVsbCA/ICcwMCc6IHRoaXMubWlucztcbiAgICAgICAgICAgIGNvbnN0IHNlY3MgPSB0aGlzLnNlY3MgPT09IDAgfHwgbnVsbCA/ICcwMCc6IHRoaXMuc2VjcztcbiAgICAgICAgICAgIHRoaXMub25lSW5wdXRGb3JtQ29udHJvbC5zZXRWYWx1ZSgnJyArIGhvdXJzICsgJzonICsgbWlucyArICc6JyArIHNlY3MpO1xuICAgICAgICAgICAgdGhpcy5jYWxsYmFja0ZuID0gY29uZmlnPy5jYWxsYmFja0ZuIHx8IHRoaXMuY2FsbGJhY2tGbjtcblxuICAgICAgICAgICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICAgICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaGFzU2Vjb25kcykge1xuICAgICAgICAgICAgdGhpcy50aW1lTWFzayA9ICdIaDptMDpzMCc7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9uZUlucHV0Rm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICAgICAgLy8gc3BsaXRzIHRoZSBlbnRlcmVkIHRpbWUgaW50byAzIHBhcnRzIGJhc2VkIG9uIHRoZSA6IGFuZCBwcm9wYWdhdGVzIGJhY2sgdGhlIGNvcnJlc3BvbmRpbmcgcGFydHNcbiAgICAgICAgICAgIGNvbnN0IHRpbWVBcnJheSA9IHZhbHVlLnNwbGl0KCc6Jyk7XG4gICAgICAgICAgICB0aGlzLm9uZUlucHV0SG91cnMgPSB0aW1lQXJyYXlbMF07XG4gICAgICAgICAgICB0aGlzLm9uZUlucHV0TWlucyA9IHRpbWVBcnJheVsxXTtcbiAgICAgICAgICAgIHRoaXMub25lSW5wdXRTZWNzID0gdGltZUFycmF5WzJdO1xuICAgICAgICAgICAgY29uc3Qgc3BsaXR0ZWRob3VycyA9IHZhbHVlICE9PSAnJyA/IE51bWJlcih0aGlzLm9uZUlucHV0SG91cnMpOiBudWxsO1xuICAgICAgICAgICAgY29uc3Qgc3BsaXR0ZWRtaW5zID0gdmFsdWUgIT09ICcnID8gTnVtYmVyKHRoaXMub25lSW5wdXRNaW5zKTogbnVsbDtcbiAgICAgICAgICAgIGNvbnN0IHNwbGl0dGVkc2Vjcz0gdmFsdWUgIT09ICcnID8gTnVtYmVyKHRoaXMub25lSW5wdXRTZWNzKTogbnVsbDtcbiAgICAgICAgICAgIGlmKHRoaXMuaGFzU2Vjb25kcykge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvcGFnYXRlZFZhbHVlcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5wcm9wYWdhdGVkVmFsdWVzLCBob3Vyczogc3BsaXR0ZWRob3VycywgbWluczogc3BsaXR0ZWRtaW5zLCBzZWNzOiBzcGxpdHRlZHNlY3NcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHRoaXMuY2FsbGJhY2tGbihzcGxpdHRlZGhvdXJzLCBzcGxpdHRlZG1pbnMsIHNwbGl0dGVkc2Vjcyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvcGFnYXRlZFZhbHVlcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5wcm9wYWdhdGVkVmFsdWVzLCBob3Vyczogc3BsaXR0ZWRob3VycywgbWluczogc3BsaXR0ZWRtaW5zXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB0aGlzLmNhbGxiYWNrRm4oc3BsaXR0ZWRob3Vycywgc3BsaXR0ZWRtaW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmKHNwbGl0dGVkaG91cnMgPT09IG51bGwgJiYgc3BsaXR0ZWRtaW5zPT09IG51bGwgJiYgc3BsaXR0ZWRzZWNzPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZShudWxsKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5wcm9wYWdhdGVkVmFsdWVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sKSB7XG4gICAgICAgICAgLy8gbWFya3MgdGhlIGlucHV0IGNvbnRyb2wgYXMgdG91Y2hlZC9pbnZhbGlkIGlmIHRoZSBmb3JtIGNvbnRyb2wgaXMgdG91Y2hlZC9pbnZhbGlkXG4gICAgICAgICAgdGhpcy5jb250cm9sPy50b3VjaGVkID8gdGhpcy5vbmVJbnB1dEZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoKSA6IHRoaXMub25lSW5wdXRGb3JtQ29udHJvbC5tYXJrQXNVbnRvdWNoZWQoKTtcbiAgICAgICAgICB0aGlzLmNvbnRyb2w/LmludmFsaWQgPyB0aGlzLm9uZUlucHV0Rm9ybUNvbnRyb2wuc2V0RXJyb3JzKHRoaXMuY29udHJvbC5lcnJvcnMpIDogdGhpcy5vbmVJbnB1dEZvcm1Db250cm9sLnNldEVycm9ycyhudWxsKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgY2hhbmdlSG91cnMoc3RlcDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbCA9IChpc05hTih0aGlzLmhvdXJzKSA/IDAgOiB0aGlzLmhvdXJzKSArIChzdGVwKTtcbiAgICAgICAgdGhpcy51cGRhdGVIb3Vycyh2YWwudG9TdHJpbmcoKSk7XG4gICAgfVxuXG4gICAgY2hhbmdlTWludXRlcyhzdGVwOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsID0gKGlzTmFOKHRoaXMubWlucykgPyAwIDogdGhpcy5taW5zKSArIChzdGVwKTtcbiAgICAgICAgdGhpcy51cGRhdGVNaW51dGVzKHZhbC50b1N0cmluZygpKTtcbiAgICB9XG5cbiAgICBjaGFuZ2VTZWNvbmRzKHN0ZXA6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWwgPSAoaXNOYU4odGhpcy5zZWNzKSA/IDAgOiB0aGlzLnNlY3MpICsgKHN0ZXApO1xuICAgICAgICB0aGlzLnVwZGF0ZVNlY29uZHModmFsLnRvU3RyaW5nKCkpO1xuICAgIH1cblxuICAgIHVwZGF0ZUhvdXJzKG5ld1ZhbDogc3RyaW5nIHwgRXZlbnQpOiB2b2lkIHsgLy8gVE9ETyBFVUkxNSBjaGVjayBvbiBjaGFuZ2luZyB0aGUga2V5dXAgZXZlbnQgZm9yIG5nbW9kZWxjaGFuZ2VcbiAgICAgICAgY29uc3QgdmFsdWUgPSAodHlwZW9mIG5ld1ZhbCA9PT0gJ3N0cmluZycpID8gbmV3VmFsIDogKG5ld1ZhbC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgICAgIGNvbnN0IGVudGVyZWRIb3VyID0gdGhpcy50b0ludGVnZXIodmFsdWUpO1xuXG4gICAgICAgIGlmICghaXNOYU4oZW50ZXJlZEhvdXIpKSB7XG4gICAgICAgICAgICB0aGlzLmhvdXJzID0gKGVudGVyZWRIb3VyIDwgMCA/IDI0ICsgZW50ZXJlZEhvdXIgOiBlbnRlcmVkSG91cikgJSAyNDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaG91cnMgPSBOYU47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNhbGxiYWNrRm4odGhpcy5ob3VycywgdGhpcy5taW5zKTtcblxuICAgICAgICB0aGlzLnByb3BhZ2F0ZWRWYWx1ZXMgPSB7XG4gICAgICAgICAgICAuLi50aGlzLnByb3BhZ2F0ZWRWYWx1ZXMsIGhvdXJzOiB0aGlzLmhvdXJzLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnByb3BhZ2F0ZWRWYWx1ZXMpO1xuICAgIH1cblxuICAgIHVwZGF0ZU1pbnV0ZXMobmV3VmFsOiBzdHJpbmcgfCBFdmVudCk6IHZvaWQgeyAvLyBUT0RPIEVVSTE1IGNoZWNrIG9uIGNoYW5naW5nIHRoZSBrZXl1cCBldmVudCBmb3Igbmdtb2RlbGNoYW5nZVxuICAgICAgICBjb25zdCB2YWx1ZSA9ICh0eXBlb2YgbmV3VmFsID09PSAnc3RyaW5nJykgPyBuZXdWYWwgOiAobmV3VmFsLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcbiAgICAgICAgY29uc3QgZW50ZXJlZE1pbiA9IHRoaXMudG9JbnRlZ2VyKHZhbHVlKTtcblxuICAgICAgICBpZiAoIWlzTmFOKGVudGVyZWRNaW4pKSB7XG4gICAgICAgICAgICB0aGlzLm1pbnMgPSBlbnRlcmVkTWluICUgNjAgPCAwID8gNjAgKyBlbnRlcmVkTWluICUgNjAgOiBlbnRlcmVkTWluICUgNjA7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZUhvdXJzKE1hdGguZmxvb3IoZW50ZXJlZE1pbiAvIDYwKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm1pbnMgPSBOYU47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNhbGxiYWNrRm4odGhpcy5ob3VycywgdGhpcy5taW5zKTtcblxuICAgICAgICB0aGlzLnByb3BhZ2F0ZWRWYWx1ZXMgPSB7XG4gICAgICAgICAgICAuLi50aGlzLnByb3BhZ2F0ZWRWYWx1ZXMsIG1pbnM6IHRoaXMubWluc1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnByb3BhZ2F0ZWRWYWx1ZXMpO1xuICAgIH1cblxuICAgIHVwZGF0ZVNlY29uZHMobmV3VmFsOiBzdHJpbmcgfCBFdmVudCk6IHZvaWQgeyAvLyBUT0RPIEVVSTE1IGNoZWNrIG9uIGNoYW5naW5nIHRoZSBrZXl1cCBldmVudCBmb3Igbmdtb2RlbGNoYW5nZVxuICAgICAgICBjb25zdCB2YWx1ZSA9ICh0eXBlb2YgbmV3VmFsID09PSAnc3RyaW5nJykgPyBuZXdWYWwgOiAobmV3VmFsLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcbiAgICAgICAgY29uc3QgZW50ZXJlZFNlYyA9IHRoaXMudG9JbnRlZ2VyKHZhbHVlKTtcblxuICAgICAgICBpZiAoIWlzTmFOKGVudGVyZWRTZWMpKSB7XG4gICAgICAgICAgICB0aGlzLnNlY3MgPSBlbnRlcmVkU2VjICUgNjAgPCAwID8gNjAgKyBlbnRlcmVkU2VjICUgNjAgOiBlbnRlcmVkU2VjICUgNjA7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZU1pbnV0ZXMoTWF0aC5mbG9vcihlbnRlcmVkU2VjIC8gNjApKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VjcyA9IE5hTjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2FsbGJhY2tGbih0aGlzLmhvdXJzLCB0aGlzLm1pbnMsIHRoaXMuc2Vjcyk7XG5cbiAgICAgICAgdGhpcy5wcm9wYWdhdGVkVmFsdWVzID0ge1xuICAgICAgICAgICAgLi4udGhpcy5wcm9wYWdhdGVkVmFsdWVzLCBzZWNzOiB0aGlzLnNlY3NcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnByb3BhZ2F0ZWRWYWx1ZXMpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBBdXRvZmlsbHMgbWlucyBhbmQgc2VjcyB3aXRoIDAwcyBpZiB0aGUgdXNlciB0YWJzIGFmdGVyIGVudGVyaW5nIGhvdXJzIGFuZCBtYXJrcyB0aGUgaW5wdXQgYXMgdG91Y2hlZFxuICAgICAqL1xuICAgIG9uRm9jdXNPdXQoKTogdm9pZCB7XG5cbiAgICAgICAgaWYodGhpcy5vbmVJbnB1dEhvdXJzICYmICF0aGlzLm9uZUlucHV0TWlucyAmJiAhdGhpcy5vbmVJbnB1dFNlY3MgKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMub25lSW5wdXRIb3Vycykge1xuICAgICAgICAgICAgICAgIGNhc2UgJzAnOlxuICAgICAgICAgICAgICAgICAgdGhpcy5vbmVJbnB1dEhvdXJzPSAnMDAnO1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnMSc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25lSW5wdXRIb3Vycz0nMDEnO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICcyJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbmVJbnB1dEhvdXJzPScwMic7XG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5vbmVJbnB1dEZvcm1Db250cm9sLnBhdGNoVmFsdWUoYCR7dGhpcy5vbmVJbnB1dEhvdXJzfSA6IDAwIDogMDBgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJvcGFnYXRlVG91Y2hlZCgpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWVzOiBFdWlUaW1lUGlja2VyKTogdm9pZCB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWVzICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KHZhbHVlcykpIHsgdGhyb3cgbmV3IEVycm9yKCd2YWx1ZSBtdXN0IGJlIGFuIEV1aVRpbWVQaWNrZXIgT2JqZWN0Jyk7IH1cbiAgICAgICAgaWYgKHZhbHVlcy5ob3VycyA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlcy5ob3VycyA8IDAgfHwgdmFsdWVzLmhvdXJzID4gMjMgfHwgdHlwZW9mIHZhbHVlcy5ob3VycyAhPT0gJ251bWJlcicgKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2hvdXJzIG11c3QgYmUgZGVmaW5lZCBhbmQgYmUgYSBudW1iZXIgd2l0aCByYW5nZSAwLTIzJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlcy5taW5zID09PSB1bmRlZmluZWQgfHwgdmFsdWVzLm1pbnMgPCAwIHx8IHZhbHVlcy5taW5zID4gNTkgfHwgdHlwZW9mIHZhbHVlcy5taW5zICE9PSAnbnVtYmVyJyApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignbWlucyBtdXN0IGJlIGRlZmluZWQgYW5kIGJlIGEgbnVtYmVyIHdpdGggcmFuZ2UgMC01OScpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmhhc1NlY29uZHMgJiYgKHZhbHVlcy5zZWNzID09PSB1bmRlZmluZWQgfHwgdmFsdWVzLnNlY3MgPCAwIHx8IHZhbHVlcy5zZWNzID4gNTkgfHwgdHlwZW9mIHZhbHVlcy5zZWNzICE9PSAnbnVtYmVyJyApKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3NlY3MgbXVzdCBiZSBkZWZpbmVkIGFuZCBiZSBhIG51bWJlciB3aXRoIHJhbmdlIDAtNTknKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlSG91cnModmFsdWVzLmhvdXJzLnRvU3RyaW5nKCkpO1xuICAgICAgICB0aGlzLnVwZGF0ZU1pbnV0ZXModmFsdWVzLm1pbnMudG9TdHJpbmcoKSk7XG4gICAgICAgIGlmICh2YWx1ZXMuc2Vjcykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTZWNvbmRzKHZhbHVlcy5zZWNzLnRvU3RyaW5nKCkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlzT25lSW5wdXRGaWVsZCkge1xuICAgICAgICAgICAgY29uc3QgaG91cnMgPSB0aGlzLnBhZE51bWJlcih2YWx1ZXMuaG91cnMpO1xuICAgICAgICAgICAgY29uc3QgbWlucyA9IHRoaXMucGFkTnVtYmVyKHZhbHVlcy5taW5zKTtcbiAgICAgICAgICAgIGNvbnN0IHNlY3MgPXRoaXMucGFkTnVtYmVyKHZhbHVlcy5zZWNzKTtcblxuICAgICAgICAgICAgdGhpcy5vbmVJbnB1dEZvcm1Db250cm9sLnBhdGNoVmFsdWUoJycgKyBob3VycyArICc6JyArIG1pbnMgKyAnOicgKyBzZWNzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVUb3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxsYmFja0ZuOiAoaG91cnM6IG51bWJlciwgbWluczogbnVtYmVyLCBzZWNzPzogbnVtYmVyKSA9PiB2b2lkID0gKCkgPT4geyB9O1xuXG4gICAgcHJpdmF0ZSB0b0ludGVnZXIodmFsdWU6IGFueSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBwYXJzZUludChgJHt2YWx1ZX1gLCAxMCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFkcyBsZWFkaW5nIHplcm8gdG8gdGhlIHByb3ZpZGVkIG51bWJlciB3aGVuIGlzT25lSW5wdXRGaWVsZFxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gYWRkIGxlYWRpbmcgemVybyB0b1xuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBwYWROdW1iZXIodmFsdWU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIGlmICghaXNOYU4odGhpcy50b0ludGVnZXIodmFsdWUpKSkge1xuICAgICAgICAgICAgcmV0dXJuIGAwJHt2YWx1ZX1gLnNsaWNlKC0yKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSk6IHZvaWQgPT4ge1xuICAgIH07XG5cbiAgICBwcml2YXRlIHByb3BhZ2F0ZVRvdWNoZWQgPSAoKTogdm9pZCA9PiB7XG4gICAgfTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJldWktdGltZXBpY2tlclwiIFtjbGFzcy5ldWktdGltZXBpY2tlci0tY2VudGVyZWRdPVwiaXNEYXRldGltZXBpY2tlclwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc09uZUlucHV0RmllbGQ7IGVsc2UgbXVsdGlwbGVJbnB1dHNcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBbY2xhc3MuZXVpLXRpbWVwaWNrZXJfX2lucHV0LS1vbmUtZmllbGRdPVwiaXNEYXRldGltZXBpY2tlclwiXG4gICAgICAgICAgICBldWlJbnB1dFRleHRcbiAgICAgICAgICAgIG1hc2s9XCJ7eyB0aW1lTWFzayB9fVwiXG4gICAgICAgICAgICBbbGVhZFplcm9EYXRlVGltZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgdGltZU1hc2sgfX1cIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlRpbWUgSW5wdXQgRmllbGRcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIm9uZUlucHV0Rm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgKGZvY3Vzb3V0KT1cIm9uRm9jdXNPdXQoKVwiXG4gICAgICAgICAgICBbZHJvcFNwZWNpYWxDaGFyYWN0ZXJzXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFtyZWFkT25seV09XCJpc3JlYWRPbmx5XCI+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctdGVtcGxhdGUgI211bHRpcGxlSW5wdXRzPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXRpbWVwaWNrZXJfX2lucHV0LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGEgKm5nSWY9XCIhaXNyZWFkT25seVwiIGNsYXNzPVwiZXVpLXRpbWVwaWNrZXJfX2NoZXZyb25cIiB0YWJpbmRleD1cIi0xXCIgKGNsaWNrKT1cImNoYW5nZUhvdXJzKDEpXCI+XG4gICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLWNoZXZyb24tdXBcIiByb2xlPVwiaW1nXCIgYXJpYS1sYWJlbD1cIkluY3JlYXNlIEhvdXJzXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8aW5wdXQgI2lucHV0cmVmaG91cnNcbiAgICAgICAgICAgICAgICBldWlJbnB1dE51bWJlclxuICAgICAgICAgICAgICAgIFtsZWFkaW5nWmVyb109XCIyXCJcbiAgICAgICAgICAgICAgICBbZGlnaXRzXT1cIjJcIlxuICAgICAgICAgICAgICAgIFtmcmFjdGlvbkRpZ2l0c109XCIwXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS10aW1lcGlja2VyX19pbnB1dFwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJISFwiXG4gICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiaG91cnNcIlxuICAgICAgICAgICAgICAgIChrZXl1cCk9XCJ1cGRhdGVIb3VycygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbcmVhZE9ubHldPVwiaXNyZWFkT25seVwiXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIkhvdXJzXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5BcnJvd1VwKT1cImNoYW5nZUhvdXJzKDEpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24uQXJyb3dEb3duKT1cImNoYW5nZUhvdXJzKC0xKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIj5cbiAgICAgICAgICAgIDxhICpuZ0lmPVwiIWlzcmVhZE9ubHlcIiB0YWJpbmRleD1cIi0xXCIgY2xhc3M9XCJldWktdGltZXBpY2tlcl9fY2hldnJvblwiIChjbGljayk9XCJjaGFuZ2VIb3VycygtMSlcIj5cbiAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJldWktY2hldnJvbi1kb3duXCIgcm9sZT1cImltZ1wiIGFyaWEtbGFiZWw9XCJEZWNyZWFzZSBIb3Vyc1wiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV1aS10aW1lcGlja2VyX19zcGFjZXJcIj46PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJldWktdGltZXBpY2tlcl9faW5wdXQtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8YSAqbmdJZj1cIiFpc3JlYWRPbmx5XCIgdGFiaW5kZXg9XCItMVwiIGNsYXNzPVwiZXVpLXRpbWVwaWNrZXJfX2NoZXZyb25cIiAoY2xpY2spPVwiY2hhbmdlTWludXRlcygxKVwiPlxuICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgaWNvbj1cImV1aS1jaGV2cm9uLXVwXCIgcm9sZT1cImltZ1wiIGFyaWEtbGFiZWw9XCJJbmNyZWFzZSBNaW51dGVzXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8aW5wdXQgI2lucHV0cmVmbWluc1xuICAgICAgICAgICAgICAgIGV1aUlucHV0TnVtYmVyXG4gICAgICAgICAgICAgICAgW2xlYWRpbmdaZXJvXT1cIjJcIlxuICAgICAgICAgICAgICAgIFtkaWdpdHNdPVwiMlwiXG4gICAgICAgICAgICAgICAgW2ZyYWN0aW9uRGlnaXRzXT1cIjBcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXRpbWVwaWNrZXJfX2lucHV0XCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk1NXCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJtaW5zXCJcbiAgICAgICAgICAgICAgICAoa2V5dXApPVwidXBkYXRlTWludXRlcygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbcmVhZE9ubHldPVwiaXNyZWFkT25seVwiXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIk1pbnV0ZXNcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLkFycm93VXApPVwiY2hhbmdlTWludXRlcygxKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLkFycm93RG93bik9XCJjaGFuZ2VNaW51dGVzKC0xKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIj5cbiAgICAgICAgICAgIDxhICpuZ0lmPVwiIWlzcmVhZE9ubHlcIiB0YWJpbmRleD1cIi0xXCIgY2xhc3M9XCJldWktdGltZXBpY2tlcl9fY2hldnJvblwiIChjbGljayk9XCJjaGFuZ2VNaW51dGVzKC0xKVwiPlxuICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgaWNvbj1cImV1aS1jaGV2cm9uLWRvd25cIiByb2xlPVwiaW1nXCIgYXJpYS1sYWJlbD1cIkRlY3JlYXNlIE1pbnV0ZXNcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNTZWNvbmRzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXRpbWVwaWNrZXJfX3NwYWNlclwiPjo8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldWktdGltZXBpY2tlcl9faW5wdXQtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGEgKm5nSWY9XCIhaXNyZWFkT25seVwiIHRhYmluZGV4PVwiLTFcIiBjbGFzcz1cImV1aS10aW1lcGlja2VyX19jaGV2cm9uXCIgKGNsaWNrKT1cImNoYW5nZVNlY29uZHMoMSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLWNoZXZyb24tdXBcIiByb2xlPVwiaW1nXCIgYXJpYS1sYWJlbD1cIkluY3JlYXNlIHNlY29uZHNcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPGlucHV0ICNpbnB1dHJlZnNlY3NcbiAgICAgICAgICAgICAgICAgICAgZXVpSW5wdXROdW1iZXJcbiAgICAgICAgICAgICAgICAgICAgW2xlYWRpbmdaZXJvXT1cIjJcIlxuICAgICAgICAgICAgICAgICAgICBbZGlnaXRzXT1cIjJcIlxuICAgICAgICAgICAgICAgICAgICBbZnJhY3Rpb25EaWdpdHNdPVwiMFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXRpbWVwaWNrZXJfX2lucHV0XCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTU1wiXG4gICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInNlY3NcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5dXApPVwidXBkYXRlU2Vjb25kcygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW3JlYWRPbmx5XT1cImlzcmVhZE9ubHlcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiU2Vjb25kc1wiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duLkFycm93VXApPVwiY2hhbmdlU2Vjb25kcygxKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5BcnJvd0Rvd24pPVwiY2hhbmdlU2Vjb25kcygtMSk7ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCI+XG4gICAgICAgICAgICAgICAgPGEgKm5nSWY9XCIhaXNyZWFkT25seVwiIHRhYmluZGV4PVwiLTFcIiBjbGFzcz1cImV1aS10aW1lcGlja2VyX19jaGV2cm9uXCIgKGNsaWNrKT1cImNoYW5nZVNlY29uZHMoLTEpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgaWNvbj1cImV1aS1jaGV2cm9uLWRvd25cIiByb2xlPVwiaW1nXCIgYXJpYS1sYWJlbD1cIkRlY3JlYXNlIHNlY29uZHNcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRpbWVwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZXVpLXRpbWVwaWNrZXIvZXVpLXRpbWVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLXRpbWVwaWNrZXIvZXVpLXRpbWVwaWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsUUFBUSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQXNCLE1BQU0sZUFBZSxDQUFDO0FBQy9JLE9BQU8sRUFBbUMsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7Ozs7Ozs7QUFVckQsTUFBTSxPQUFPLHNCQUFzQjtJQXdDL0IsWUFBMEQsTUFBK0IsRUFDakQsT0FBa0I7UUFBbEIsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQW5DMUQsd0JBQW1CLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUtoQyxxQkFBZ0IsR0FBa0I7WUFDdEMsS0FBSyxFQUFFLElBQUk7WUFDWCxJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVM7U0FDM0MsQ0FBQztRQUNNLGFBQVEsR0FBcUIsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUtwRCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUtwQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7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QUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1NBQUU7UUFDdEgsSUFBSSxNQUFNLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxHQUFHLEVBQUUsSUFBSSxPQUFPLE1BQU0sQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFHO1lBQzFHLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztTQUM1RTtRQUNELElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksR0FBRyxFQUFFLElBQUksT0FBTyxNQUFNLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRztZQUN0RyxNQUFNLElBQUksS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7U0FDM0U7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQUUsSUFBSSxPQUFPLE1BQU0sQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFFLEVBQUU7WUFDM0gsTUFBTSxJQUFJLEtBQUssQ0FBQyxzREFBc0QsQ0FBQyxDQUFDO1NBQzNFO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDM0MsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ2IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDOUM7UUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekMsTUFBTSxJQUFJLEdBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFeEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxFQUFFLEdBQUcsS0FBSyxHQUFHLEdBQUcsR0FBRyxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDO1NBQzdFO0lBQ0wsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDcEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDckIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBSU8sU0FBUyxDQUFDLEtBQVU7UUFDeEIsT0FBTyxRQUFRLENBQUMsR0FBRyxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFNBQVMsQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQy9CLE9BQU8sSUFBSSxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNoQzthQUFNO1lBQ0gsT0FBTyxFQUFFLENBQUM7U0FDYjtJQUNMLENBQUM7O3NJQXZQUSxzQkFBc0Isa0JBd0NDLHdCQUF3QjswSEF4Qy9DLHNCQUFzQiwrUUFvQ0ssVUFBVSwyR0FDWCxVQUFVLDJHQUNWLFVBQVUsNkJDdERqRCw4NUlBcUZBOzJGRHJFYSxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0ksZ0JBQWdCLGlCQUdYLGlCQUFpQixDQUFDLElBQUk7OzBCQTBDeEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx3QkFBd0I7OzBCQUMzQyxJQUFJOzswQkFBSSxRQUFROzRDQXRCekIsVUFBVTtzQkFEYixLQUFLO2dCQU1GLGVBQWU7c0JBRGxCLEtBQUs7Z0JBTUYsVUFBVTtzQkFEYixLQUFLO2dCQU1HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRXNELGlCQUFpQjtzQkFBNUUsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUNXLGdCQUFnQjtzQkFBMUUsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUNZLGdCQUFnQjtzQkFBMUUsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3QsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uLCBTZWxmLCBEb0NoZWNrLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBEWU5BTUlDX0NPTVBPTkVOVF9DT05GSUcgfSBmcm9tICdAZXVpL2NvcmUnO1xuaW1wb3J0IHsgRXVpRGF0ZVRpbWVQaWNrZXJDb25maWcgfSBmcm9tICcuL21vZGVscy9ldWktZGF0ZS10aW1lLXBpY2tlci5jb25maWcubW9kZWwnO1xuaW1wb3J0IHsgRXVpVGltZVBpY2tlciB9IGZyb20gJy4vbW9kZWxzL2V1aS10aW1lcGlja2VyLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktdGltZXBpY2tlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V1aS10aW1lcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlUaW1lcGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgRG9DaGVjaywgT25EZXN0cm95IHtcblxuICAgIGhvdXJzOiBudW1iZXI7XG4gICAgbWluczogbnVtYmVyO1xuICAgIHNlY3M6IG51bWJlcjtcbiAgICBpc0RhdGV0aW1lcGlja2VyOiBib29sZWFuO1xuICAgIG9uZUlucHV0Rm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgICBvbmVJbnB1dEhvdXJzOiBzdHJpbmc7XG4gICAgb25lSW5wdXRNaW5zOiBzdHJpbmc7XG4gICAgb25lSW5wdXRTZWNzOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIHByb3BhZ2F0ZWRWYWx1ZXM6IEV1aVRpbWVQaWNrZXIgPSB7XG4gICAgICAgIGhvdXJzOiBudWxsLFxuICAgICAgICBtaW5zOiBudWxsLFxuICAgICAgICBzZWNzOiB0aGlzLmhhc1NlY29uZHMgPyBudWxsIDogdW5kZWZpbmVkXG4gICAgfTtcbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzcmVhZE9ubHkoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9pc3JlYWRPbmx5OyB9XG4gICAgc2V0IGlzcmVhZE9ubHkodmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9pc3JlYWRPbmx5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTsgfVxuICAgIHByaXZhdGUgX2lzcmVhZE9ubHkgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IGlzT25lSW5wdXRGaWVsZCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2lzT25lSW5wdXRGaWVsZDsgfVxuICAgIHNldCBpc09uZUlucHV0RmllbGQodmFsdWU6IEJvb2xlYW5JbnB1dCkgeyB0aGlzLl9pc09uZUlucHV0RmllbGQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfaXNPbmVJbnB1dEZpZWxkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBoYXNTZWNvbmRzKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5faGFzU2Vjb25kczsgfVxuICAgIHNldCBoYXNTZWNvbmRzKHZhbHVlOiBCb29sZWFuSW5wdXQpIHsgdGhpcy5faGFzU2Vjb25kcyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7IH1cbiAgICBwcml2YXRlIF9oYXNTZWNvbmRzID0gZmFsc2U7XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICAgIEBJbnB1dCgpIHRpbWVNYXNrID0gJ0hoOm0wJztcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0cmVmaG91cnMnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgcHJvdGVjdGVkIGlucHV0SG91cnNFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoJ2lucHV0cmVmbWlucycsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBwcm90ZWN0ZWQgaW5wdXRNaW5zRWxlbWVudDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgICBAVmlld0NoaWxkKCdpbnB1dHJlZnNlY3MnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgcHJvdGVjdGVkIGlucHV0U2Vjc0VsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KERZTkFNSUNfQ09NUE9ORU5UX0NPTkZJRykgY29uZmlnOiBFdWlEYXRlVGltZVBpY2tlckNvbmZpZyxcbiAgICAgICAgICAgICAgICBAU2VsZigpIEBPcHRpb25hbCgpIHByaXZhdGUgY29udHJvbDogTmdDb250cm9sLCkge1xuICAgICAgICAgICAgdGhpcy5ob3VycyA9IGNvbmZpZz8uaG91cnMgfHwgMDtcbiAgICAgICAgICAgIHRoaXMubWlucyA9IGNvbmZpZz8ubWlucyB8fCAwO1xuICAgICAgICAgICAgdGhpcy5zZWNzID0gY29uZmlnPy5zZWNzIHx8IDA7XG4gICAgICAgICAgICB0aGlzLmlzRGF0ZXRpbWVwaWNrZXIgPSBjb25maWc/LmlzRGF0ZXRpbWVwaWNrZXI7XG4gICAgICAgICAgICB0aGlzLmhhc1NlY29uZHMgPSBjb25maWc/Lmhhc1NlY29uZHM7XG4gICAgICAgICAgICB0aGlzLmlzT25lSW5wdXRGaWVsZCA9IGNvbmZpZz8uaXNPbmVJbnB1dEZpZWxkO1xuICAgICAgICAgICAgY29uc3QgaG91cnMgPSB0aGlzLmhvdXJzID09PSAwIHx8IG51bGwgPyAnMDAnIDogdGhpcy5ob3VycztcbiAgICAgICAgICAgIGNvbnN0IG1pbnMgPSB0aGlzLm1pbnMgPT09IDAgfHwgbnVsbCA/ICcwMCc6IHRoaXMubWlucztcbiAgICAgICAgICAgIGNvbnN0IHNlY3MgPSB0aGlzLnNlY3MgPT09IDAgfHwgbnVsbCA/ICcwMCc6IHRoaXMuc2VjcztcbiAgICAgICAgICAgIHRoaXMub25lSW5wdXRGb3JtQ29udHJvbC5zZXRWYWx1ZSgnJyArIGhvdXJzICsgJzonICsgbWlucyArICc6JyArIHNlY3MpO1xuICAgICAgICAgICAgdGhpcy5jYWxsYmFja0ZuID0gY29uZmlnPy5jYWxsYmFja0ZuIHx8IHRoaXMuY2FsbGJhY2tGbjtcblxuICAgICAgICAgICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICAgICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaGFzU2Vjb25kcykge1xuICAgICAgICAgICAgdGhpcy50aW1lTWFzayA9ICdIaDptMDpzMCc7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9uZUlucHV0Rm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICAgICAgLy8gc3BsaXRzIHRoZSBlbnRlcmVkIHRpbWUgaW50byAzIHBhcnRzIGJhc2VkIG9uIHRoZSA6IGFuZCBwcm9wYWdhdGVzIGJhY2sgdGhlIGNvcnJlc3BvbmRpbmcgcGFydHNcbiAgICAgICAgICAgIGNvbnN0IHRpbWVBcnJheSA9IHZhbHVlLnNwbGl0KCc6Jyk7XG4gICAgICAgICAgICB0aGlzLm9uZUlucHV0SG91cnMgPSB0aW1lQXJyYXlbMF07XG4gICAgICAgICAgICB0aGlzLm9uZUlucHV0TWlucyA9IHRpbWVBcnJheVsxXTtcbiAgICAgICAgICAgIHRoaXMub25lSW5wdXRTZWNzID0gdGltZUFycmF5WzJdO1xuICAgICAgICAgICAgY29uc3Qgc3BsaXR0ZWRob3VycyA9IHZhbHVlICE9PSAnJyA/IE51bWJlcih0aGlzLm9uZUlucHV0SG91cnMpOiBudWxsO1xuICAgICAgICAgICAgY29uc3Qgc3BsaXR0ZWRtaW5zID0gdmFsdWUgIT09ICcnID8gTnVtYmVyKHRoaXMub25lSW5wdXRNaW5zKTogbnVsbDtcbiAgICAgICAgICAgIGNvbnN0IHNwbGl0dGVkc2Vjcz0gdmFsdWUgIT09ICcnID8gTnVtYmVyKHRoaXMub25lSW5wdXRTZWNzKTogbnVsbDtcbiAgICAgICAgICAgIGlmKHRoaXMuaGFzU2Vjb25kcykge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvcGFnYXRlZFZhbHVlcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5wcm9wYWdhdGVkVmFsdWVzLCBob3Vyczogc3BsaXR0ZWRob3VycywgbWluczogc3BsaXR0ZWRtaW5zLCBzZWNzOiBzcGxpdHRlZHNlY3NcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHRoaXMuY2FsbGJhY2tGbihzcGxpdHRlZGhvdXJzLCBzcGxpdHRlZG1pbnMsIHNwbGl0dGVkc2Vjcyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvcGFnYXRlZFZhbHVlcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5wcm9wYWdhdGVkVmFsdWVzLCBob3Vyczogc3BsaXR0ZWRob3VycywgbWluczogc3BsaXR0ZWRtaW5zXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB0aGlzLmNhbGxiYWNrRm4oc3BsaXR0ZWRob3Vycywgc3BsaXR0ZWRtaW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmKHNwbGl0dGVkaG91cnMgPT09IG51bGwgJiYgc3BsaXR0ZWRtaW5zPT09IG51bGwgJiYgc3BsaXR0ZWRzZWNzPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZShudWxsKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5wcm9wYWdhdGVkVmFsdWVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sKSB7XG4gICAgICAgICAgLy8gbWFya3MgdGhlIGlucHV0IGNvbnRyb2wgYXMgdG91Y2hlZC9pbnZhbGlkIGlmIHRoZSBmb3JtIGNvbnRyb2wgaXMgdG91Y2hlZC9pbnZhbGlkXG4gICAgICAgICAgdGhpcy5jb250cm9sPy50b3VjaGVkID8gdGhpcy5vbmVJbnB1dEZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoKSA6IHRoaXMub25lSW5wdXRGb3JtQ29udHJvbC5tYXJrQXNVbnRvdWNoZWQoKTtcbiAgICAgICAgICB0aGlzLmNvbnRyb2w/LmludmFsaWQgPyB0aGlzLm9uZUlucHV0Rm9ybUNvbnRyb2wuc2V0RXJyb3JzKHRoaXMuY29udHJvbC5lcnJvcnMpIDogdGhpcy5vbmVJbnB1dEZvcm1Db250cm9sLnNldEVycm9ycyhudWxsKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgY2hhbmdlSG91cnMoc3RlcDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbCA9IChpc05hTih0aGlzLmhvdXJzKSA/IDAgOiB0aGlzLmhvdXJzKSArIChzdGVwKTtcbiAgICAgICAgdGhpcy51cGRhdGVIb3Vycyh2YWwudG9TdHJpbmcoKSk7XG4gICAgfVxuXG4gICAgY2hhbmdlTWludXRlcyhzdGVwOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsID0gKGlzTmFOKHRoaXMubWlucykgPyAwIDogdGhpcy5taW5zKSArIChzdGVwKTtcbiAgICAgICAgdGhpcy51cGRhdGVNaW51dGVzKHZhbC50b1N0cmluZygpKTtcbiAgICB9XG5cbiAgICBjaGFuZ2VTZWNvbmRzKHN0ZXA6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWwgPSAoaXNOYU4odGhpcy5zZWNzKSA/IDAgOiB0aGlzLnNlY3MpICsgKHN0ZXApO1xuICAgICAgICB0aGlzLnVwZGF0ZVNlY29uZHModmFsLnRvU3RyaW5nKCkpO1xuICAgIH1cblxuICAgIHVwZGF0ZUhvdXJzKG5ld1ZhbDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVudGVyZWRIb3VyID0gdGhpcy50b0ludGVnZXIobmV3VmFsKTtcblxuICAgICAgICBpZiAoIWlzTmFOKGVudGVyZWRIb3VyKSkge1xuICAgICAgICAgICAgdGhpcy5ob3VycyA9IChlbnRlcmVkSG91ciA8IDAgPyAyNCArIGVudGVyZWRIb3VyIDogZW50ZXJlZEhvdXIpICUgMjQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmhvdXJzID0gTmFOO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jYWxsYmFja0ZuKHRoaXMuaG91cnMsIHRoaXMubWlucyk7XG5cbiAgICAgICAgdGhpcy5wcm9wYWdhdGVkVmFsdWVzID0ge1xuICAgICAgICAgICAgLi4udGhpcy5wcm9wYWdhdGVkVmFsdWVzLCBob3VyczogdGhpcy5ob3VycyxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5wcm9wYWdhdGVkVmFsdWVzKTtcbiAgICB9XG5cbiAgICB1cGRhdGVNaW51dGVzKG5ld1ZhbDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVudGVyZWRNaW4gPSB0aGlzLnRvSW50ZWdlcihuZXdWYWwpO1xuXG4gICAgICAgIGlmICghaXNOYU4oZW50ZXJlZE1pbikpIHtcbiAgICAgICAgICAgIHRoaXMubWlucyA9IGVudGVyZWRNaW4gJSA2MCA8IDAgPyA2MCArIGVudGVyZWRNaW4gJSA2MCA6IGVudGVyZWRNaW4gJSA2MDtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlSG91cnMoTWF0aC5mbG9vcihlbnRlcmVkTWluIC8gNjApKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubWlucyA9IE5hTjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2FsbGJhY2tGbih0aGlzLmhvdXJzLCB0aGlzLm1pbnMpO1xuXG4gICAgICAgIHRoaXMucHJvcGFnYXRlZFZhbHVlcyA9IHtcbiAgICAgICAgICAgIC4uLnRoaXMucHJvcGFnYXRlZFZhbHVlcywgbWluczogdGhpcy5taW5zXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMucHJvcGFnYXRlZFZhbHVlcyk7XG4gICAgfVxuXG4gICAgdXBkYXRlU2Vjb25kcyhuZXdWYWw6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBlbnRlcmVkU2VjID0gdGhpcy50b0ludGVnZXIobmV3VmFsKTtcblxuICAgICAgICBpZiAoIWlzTmFOKGVudGVyZWRTZWMpKSB7XG4gICAgICAgICAgICB0aGlzLnNlY3MgPSBlbnRlcmVkU2VjICUgNjAgPCAwID8gNjAgKyBlbnRlcmVkU2VjICUgNjAgOiBlbnRlcmVkU2VjICUgNjA7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZU1pbnV0ZXMoTWF0aC5mbG9vcihlbnRlcmVkU2VjIC8gNjApKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VjcyA9IE5hTjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2FsbGJhY2tGbih0aGlzLmhvdXJzLCB0aGlzLm1pbnMsIHRoaXMuc2Vjcyk7XG5cbiAgICAgICAgdGhpcy5wcm9wYWdhdGVkVmFsdWVzID0ge1xuICAgICAgICAgICAgLi4udGhpcy5wcm9wYWdhdGVkVmFsdWVzLCBzZWNzOiB0aGlzLnNlY3NcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnByb3BhZ2F0ZWRWYWx1ZXMpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBBdXRvZmlsbHMgbWlucyBhbmQgc2VjcyB3aXRoIDAwcyBpZiB0aGUgdXNlciB0YWJzIGFmdGVyIGVudGVyaW5nIGhvdXJzIGFuZCBtYXJrcyB0aGUgaW5wdXQgYXMgdG91Y2hlZFxuICAgICAqL1xuICAgIG9uRm9jdXNPdXQoKTogdm9pZCB7XG5cbiAgICAgICAgaWYodGhpcy5vbmVJbnB1dEhvdXJzICYmICF0aGlzLm9uZUlucHV0TWlucyAmJiAhdGhpcy5vbmVJbnB1dFNlY3MgKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMub25lSW5wdXRIb3Vycykge1xuICAgICAgICAgICAgICAgIGNhc2UgJzAnOlxuICAgICAgICAgICAgICAgICAgdGhpcy5vbmVJbnB1dEhvdXJzPSAnMDAnO1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnMSc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25lSW5wdXRIb3Vycz0nMDEnO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICcyJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbmVJbnB1dEhvdXJzPScwMic7XG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5vbmVJbnB1dEZvcm1Db250cm9sLnBhdGNoVmFsdWUoYCR7dGhpcy5vbmVJbnB1dEhvdXJzfSA6IDAwIDogMDBgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJvcGFnYXRlVG91Y2hlZCgpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWVzOiBFdWlUaW1lUGlja2VyKTogdm9pZCB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWVzICE9PSAnb2JqZWN0JyB8fCBBcnJheS5pc0FycmF5KHZhbHVlcykpIHsgdGhyb3cgbmV3IEVycm9yKCd2YWx1ZSBtdXN0IGJlIGFuIEV1aVRpbWVQaWNrZXIgT2JqZWN0Jyk7IH1cbiAgICAgICAgaWYgKHZhbHVlcy5ob3VycyA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlcy5ob3VycyA8IDAgfHwgdmFsdWVzLmhvdXJzID4gMjMgfHwgdHlwZW9mIHZhbHVlcy5ob3VycyAhPT0gJ251bWJlcicgKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2hvdXJzIG11c3QgYmUgZGVmaW5lZCBhbmQgYmUgYSBudW1iZXIgd2l0aCByYW5nZSAwLTIzJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlcy5taW5zID09PSB1bmRlZmluZWQgfHwgdmFsdWVzLm1pbnMgPCAwIHx8IHZhbHVlcy5taW5zID4gNTkgfHwgdHlwZW9mIHZhbHVlcy5taW5zICE9PSAnbnVtYmVyJyApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignbWlucyBtdXN0IGJlIGRlZmluZWQgYW5kIGJlIGEgbnVtYmVyIHdpdGggcmFuZ2UgMC01OScpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmhhc1NlY29uZHMgJiYgKHZhbHVlcy5zZWNzID09PSB1bmRlZmluZWQgfHwgdmFsdWVzLnNlY3MgPCAwIHx8IHZhbHVlcy5zZWNzID4gNTkgfHwgdHlwZW9mIHZhbHVlcy5zZWNzICE9PSAnbnVtYmVyJyApKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3NlY3MgbXVzdCBiZSBkZWZpbmVkIGFuZCBiZSBhIG51bWJlciB3aXRoIHJhbmdlIDAtNTknKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlSG91cnModmFsdWVzLmhvdXJzLnRvU3RyaW5nKCkpO1xuICAgICAgICB0aGlzLnVwZGF0ZU1pbnV0ZXModmFsdWVzLm1pbnMudG9TdHJpbmcoKSk7XG4gICAgICAgIGlmICh2YWx1ZXMuc2Vjcykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTZWNvbmRzKHZhbHVlcy5zZWNzLnRvU3RyaW5nKCkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmlzT25lSW5wdXRGaWVsZCkge1xuICAgICAgICAgICAgY29uc3QgaG91cnMgPSB0aGlzLnBhZE51bWJlcih2YWx1ZXMuaG91cnMpO1xuICAgICAgICAgICAgY29uc3QgbWlucyA9IHRoaXMucGFkTnVtYmVyKHZhbHVlcy5taW5zKTtcbiAgICAgICAgICAgIGNvbnN0IHNlY3MgPXRoaXMucGFkTnVtYmVyKHZhbHVlcy5zZWNzKTtcblxuICAgICAgICAgICAgdGhpcy5vbmVJbnB1dEZvcm1Db250cm9sLnBhdGNoVmFsdWUoJycgKyBob3VycyArICc6JyArIG1pbnMgKyAnOicgKyBzZWNzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVUb3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxsYmFja0ZuOiAoaG91cnM6IG51bWJlciwgbWluczogbnVtYmVyLCBzZWNzPzogbnVtYmVyKSA9PiB2b2lkID0gKCkgPT4geyB9O1xuXG4gICAgcHJpdmF0ZSB0b0ludGVnZXIodmFsdWU6IGFueSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBwYXJzZUludChgJHt2YWx1ZX1gLCAxMCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGFkcyBsZWFkaW5nIHplcm8gdG8gdGhlIHByb3ZpZGVkIG51bWJlciB3aGVuIGlzT25lSW5wdXRGaWVsZFxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gYWRkIGxlYWRpbmcgemVybyB0b1xuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBwYWROdW1iZXIodmFsdWU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIGlmICghaXNOYU4odGhpcy50b0ludGVnZXIodmFsdWUpKSkge1xuICAgICAgICAgICAgcmV0dXJuIGAwJHt2YWx1ZX1gLnNsaWNlKC0yKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSk6IHZvaWQgPT4ge1xuICAgIH07XG5cbiAgICBwcml2YXRlIHByb3BhZ2F0ZVRvdWNoZWQgPSAoKTogdm9pZCA9PiB7XG4gICAgfTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJldWktdGltZXBpY2tlclwiIFtjbGFzcy5ldWktdGltZXBpY2tlci0tY2VudGVyZWRdPVwiaXNEYXRldGltZXBpY2tlclwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc09uZUlucHV0RmllbGQ7IGVsc2UgbXVsdGlwbGVJbnB1dHNcIj5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBbY2xhc3MuZXVpLXRpbWVwaWNrZXJfX2lucHV0LS1vbmUtZmllbGRdPVwiaXNEYXRldGltZXBpY2tlclwiXG4gICAgICAgICAgICBldWlJbnB1dFRleHRcbiAgICAgICAgICAgIG1hc2s9XCJ7eyB0aW1lTWFzayB9fVwiXG4gICAgICAgICAgICBbbGVhZFplcm9EYXRlVGltZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgdGltZU1hc2sgfX1cIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlRpbWUgSW5wdXQgRmllbGRcIlxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIm9uZUlucHV0Rm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgKGZvY3Vzb3V0KT1cIm9uRm9jdXNPdXQoKVwiXG4gICAgICAgICAgICBbZHJvcFNwZWNpYWxDaGFyYWN0ZXJzXT1cImZhbHNlXCJcbiAgICAgICAgICAgIFtyZWFkT25seV09XCJpc3JlYWRPbmx5XCI+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctdGVtcGxhdGUgI211bHRpcGxlSW5wdXRzPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXRpbWVwaWNrZXJfX2lucHV0LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGEgKm5nSWY9XCIhaXNyZWFkT25seVwiIGNsYXNzPVwiZXVpLXRpbWVwaWNrZXJfX2NoZXZyb25cIiB0YWJpbmRleD1cIi0xXCIgKGNsaWNrKT1cImNoYW5nZUhvdXJzKDEpXCI+XG4gICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLWNoZXZyb24tdXBcIiByb2xlPVwiaW1nXCIgYXJpYS1sYWJlbD1cIkluY3JlYXNlIEhvdXJzXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8aW5wdXQgI2lucHV0cmVmaG91cnNcbiAgICAgICAgICAgICAgICBldWlJbnB1dE51bWJlclxuICAgICAgICAgICAgICAgIFtsZWFkaW5nWmVyb109XCIyXCJcbiAgICAgICAgICAgICAgICBbZGlnaXRzXT1cIjJcIlxuICAgICAgICAgICAgICAgIFtmcmFjdGlvbkRpZ2l0c109XCIwXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS10aW1lcGlja2VyX19pbnB1dFwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJISFwiXG4gICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiaG91cnNcIlxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZUhvdXJzKCRldmVudClcIlxuICAgICAgICAgICAgICAgIFtyZWFkT25seV09XCJpc3JlYWRPbmx5XCJcbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiSG91cnNcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLkFycm93VXApPVwiY2hhbmdlSG91cnMoMSk7ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5BcnJvd0Rvd24pPVwiY2hhbmdlSG91cnMoLTEpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiPlxuICAgICAgICAgICAgPGEgKm5nSWY9XCIhaXNyZWFkT25seVwiIHRhYmluZGV4PVwiLTFcIiBjbGFzcz1cImV1aS10aW1lcGlja2VyX19jaGV2cm9uXCIgKGNsaWNrKT1cImNoYW5nZUhvdXJzKC0xKVwiPlxuICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgaWNvbj1cImV1aS1jaGV2cm9uLWRvd25cIiByb2xlPVwiaW1nXCIgYXJpYS1sYWJlbD1cIkRlY3JlYXNlIEhvdXJzXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXRpbWVwaWNrZXJfX3NwYWNlclwiPjo8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImV1aS10aW1lcGlja2VyX19pbnB1dC1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxhICpuZ0lmPVwiIWlzcmVhZE9ubHlcIiB0YWJpbmRleD1cIi0xXCIgY2xhc3M9XCJldWktdGltZXBpY2tlcl9fY2hldnJvblwiIChjbGljayk9XCJjaGFuZ2VNaW51dGVzKDEpXCI+XG4gICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2ZyBpY29uPVwiZXVpLWNoZXZyb24tdXBcIiByb2xlPVwiaW1nXCIgYXJpYS1sYWJlbD1cIkluY3JlYXNlIE1pbnV0ZXNcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDxpbnB1dCAjaW5wdXRyZWZtaW5zXG4gICAgICAgICAgICAgICAgZXVpSW5wdXROdW1iZXJcbiAgICAgICAgICAgICAgICBbbGVhZGluZ1plcm9dPVwiMlwiXG4gICAgICAgICAgICAgICAgW2RpZ2l0c109XCIyXCJcbiAgICAgICAgICAgICAgICBbZnJhY3Rpb25EaWdpdHNdPVwiMFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdGltZXBpY2tlcl9faW5wdXRcIlxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTU1cIlxuICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cIm1pbnNcIlxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZU1pbnV0ZXMoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW3JlYWRPbmx5XT1cImlzcmVhZE9ubHlcIlxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJNaW51dGVzXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5BcnJvd1VwKT1cImNoYW5nZU1pbnV0ZXMoMSk7ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAgICAgICAgICAgICAoa2V5ZG93bi5BcnJvd0Rvd24pPVwiY2hhbmdlTWludXRlcygtMSk7ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCI+XG4gICAgICAgICAgICA8YSAqbmdJZj1cIiFpc3JlYWRPbmx5XCIgdGFiaW5kZXg9XCItMVwiIGNsYXNzPVwiZXVpLXRpbWVwaWNrZXJfX2NoZXZyb25cIiAoY2xpY2spPVwiY2hhbmdlTWludXRlcygtMSlcIj5cbiAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJldWktY2hldnJvbi1kb3duXCIgcm9sZT1cImltZ1wiIGFyaWEtbGFiZWw9XCJEZWNyZWFzZSBNaW51dGVzXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzU2Vjb25kc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV1aS10aW1lcGlja2VyX19zcGFjZXJcIj46PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXRpbWVwaWNrZXJfX2lucHV0LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxhICpuZ0lmPVwiIWlzcmVhZE9ubHlcIiB0YWJpbmRleD1cIi0xXCIgY2xhc3M9XCJldWktdGltZXBpY2tlcl9fY2hldnJvblwiIChjbGljayk9XCJjaGFuZ2VTZWNvbmRzKDEpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgaWNvbj1cImV1aS1jaGV2cm9uLXVwXCIgcm9sZT1cImltZ1wiIGFyaWEtbGFiZWw9XCJJbmNyZWFzZSBzZWNvbmRzXCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDxpbnB1dCAjaW5wdXRyZWZzZWNzXG4gICAgICAgICAgICAgICAgICAgIGV1aUlucHV0TnVtYmVyXG4gICAgICAgICAgICAgICAgICAgIFtsZWFkaW5nWmVyb109XCIyXCJcbiAgICAgICAgICAgICAgICAgICAgW2RpZ2l0c109XCIyXCJcbiAgICAgICAgICAgICAgICAgICAgW2ZyYWN0aW9uRGlnaXRzXT1cIjBcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS10aW1lcGlja2VyX19pbnB1dFwiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU1NcIlxuICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJzZWNzXCJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlU2Vjb25kcygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW3JlYWRPbmx5XT1cImlzcmVhZE9ubHlcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiU2Vjb25kc1wiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duLkFycm93VXApPVwiY2hhbmdlU2Vjb25kcygxKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5BcnJvd0Rvd24pPVwiY2hhbmdlU2Vjb25kcygtMSk7ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCI+XG4gICAgICAgICAgICAgICAgPGEgKm5nSWY9XCIhaXNyZWFkT25seVwiIHRhYmluZGV4PVwiLTFcIiBjbGFzcz1cImV1aS10aW1lcGlja2VyX19jaGV2cm9uXCIgKGNsaWNrKT1cImNoYW5nZVNlY29uZHMoLTEpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgaWNvbj1cImV1aS1jaGV2cm9uLWRvd25cIiByb2xlPVwiaW1nXCIgYXJpYS1sYWJlbD1cIkRlY3JlYXNlIHNlY29uZHNcIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
@@ -3,6 +3,7 @@ import { ControlValueAccessor, FormControl, NgControl } from '@angular/forms';
3
3
  import { DateAdapter, MatDateFormats } from '@angular/material/core';
4
4
  import { MatCalendarCellClassFunction, MatDatepicker, MatDatepickerInputEvent } from '@angular/material/datepicker';
5
5
  import { TranslateService } from '@ngx-translate/core';
6
+ import { OverlayOutsideClickDispatcher } from '@angular/cdk/overlay';
6
7
  import { LocaleService, UxAppShellService } from '@eui/core';
7
8
  import { BooleanInput } from '@angular/cdk/coercion';
8
9
  import { BaseDirective } from '@eui/components/shared';
@@ -15,6 +16,7 @@ export declare class EuiDatepickerComponent extends BaseDirective implements OnI
15
16
  private componentFactoryResolver;
16
17
  private injector;
17
18
  private appRef;
19
+ private cdkConnectedOverlay;
18
20
  euiLetterFormat: EuiLetterFormatDirective;
19
21
  private control;
20
22
  inputFormControl: FormControl<any>;
@@ -86,14 +88,14 @@ export declare class EuiDatepickerComponent extends BaseDirective implements OnI
86
88
  private portalHost;
87
89
  private portal;
88
90
  private isNull;
89
- constructor(adapter: DateAdapter<any>, translateService: TranslateService, localeService: LocaleService, uxAppShellService: UxAppShellService, componentFactoryResolver: ComponentFactoryResolver, injector: Injector, appRef: ApplicationRef, euiLetterFormat: EuiLetterFormatDirective, control: NgControl, format: MatDateFormats);
91
+ constructor(adapter: DateAdapter<any>, translateService: TranslateService, localeService: LocaleService, uxAppShellService: UxAppShellService, componentFactoryResolver: ComponentFactoryResolver, injector: Injector, appRef: ApplicationRef, cdkConnectedOverlay: OverlayOutsideClickDispatcher, euiLetterFormat: EuiLetterFormatDirective, control: NgControl, format: MatDateFormats);
90
92
  ngOnInit(): void;
91
93
  ngDoCheck(): void;
92
94
  ngOnChanges(changes: SimpleChanges): void;
93
- onClickOutside(e: MouseEvent): void;
94
95
  createInjector(data: any): Injector;
95
96
  openCalendar(): void;
96
97
  ngOnDestroy(): void;
98
+ onOpened(): void;
97
99
  getEventPath(event: any): any;
98
100
  chosenDateHandler(normalizedDate: any, calendar: MatDatepicker<any>): void;
99
101
  datepickerFiltering(): boolean;
@@ -110,7 +112,7 @@ export declare class EuiDatepickerComponent extends BaseDirective implements OnI
110
112
  setDisabledState?(isDisabled: boolean): void;
111
113
  private propagateChange;
112
114
  private propagateTouched;
113
- static ɵfac: i0.ɵɵFactoryDeclaration<EuiDatepickerComponent, [null, null, null, null, null, null, null, { optional: true; }, { optional: true; self: true; }, null]>;
115
+ static ɵfac: i0.ɵɵFactoryDeclaration<EuiDatepickerComponent, [null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; self: true; }, null]>;
114
116
  static ɵcmp: i0.ɵɵComponentDeclaration<EuiDatepickerComponent, "eui-datepicker", never, { "styleClass": "styleClass"; "value": "value"; "togglerIcon": "togglerIcon"; "togglerIconSvg": "togglerIconSvg"; "togglerLabel": "togglerLabel"; "placeholder": "placeholder"; "type": "type"; "startView": "startView"; "e2eAttr": "e2eAttr"; "minDate": "minDate"; "maxDate": "maxDate"; "datepickerFilter": "datepickerFilter"; "dateOutputFormat": "dateOutputFormat"; "customHeader": "customHeader"; "dateClass": "dateClass"; "isDatetimepicker": "isDatetimepicker"; "hasSeconds": "hasSeconds"; "isOneInputField": "isOneInputField"; "hasNoButton": "hasNoButton"; "isDatepickerBlock": "isDatepickerBlock"; "isReadOnly": "isReadOnly"; "isDisabled": "isDisabled"; "isInputDisabled": "isInputDisabled"; "isButtonDisabled": "isButtonDisabled"; "isPickerDisabled": "isPickerDisabled"; "isClearable": "isClearable"; "hasActionButtons": "hasActionButtons"; "hasTodayButton": "hasTodayButton"; "restrictToRegex": "restrictToRegex"; }, { "inputChange": "inputChange"; "dateSelect": "dateSelect"; }, never, never, false, never>;
115
117
  }
116
118
  export declare const LETTER_FORMAT: {
@@ -1 +1 @@
1
- {"version":3,"file":"eui-datepicker.component.d.ts","sourceRoot":"","sources":["../../eui-datepicker/eui-datepicker.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-datepicker.component.d.ts","sourceRoot":"","sources":["../../eui-datepicker/eui-datepicker.component.ts"],"names":[],"mappings":"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"}
@@ -36,9 +36,9 @@ export declare class EuiTimepickerComponent implements ControlValueAccessor, OnI
36
36
  changeHours(step: number): void;
37
37
  changeMinutes(step: number): void;
38
38
  changeSeconds(step: number): void;
39
- updateHours(newVal: string | Event): void;
40
- updateMinutes(newVal: string | Event): void;
41
- updateSeconds(newVal: string | Event): void;
39
+ updateHours(newVal: string): void;
40
+ updateMinutes(newVal: string): void;
41
+ updateSeconds(newVal: string): void;
42
42
  /**
43
43
  * Autofills mins and secs with 00s if the user tabs after entering hours and marks the input as touched
44
44
  */
@@ -1 +1 @@
1
- {"version":3,"file":"eui-timepicker.component.d.ts","sourceRoot":"","sources":["../../eui-timepicker/eui-timepicker.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAa,UAAU,EAAiB,MAAM,EAAgD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/I,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAK9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;;AAE9D,qBAMa,sBAAuB,YAAW,oBAAoB,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS;IAyC3D,OAAO,CAAC,OAAO;IAvC/C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,mBAAqB;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IAErB,OAAO,CAAC,gBAAgB,CAItB;IACF,OAAO,CAAC,QAAQ,CAA4C;IAE5D,IACI,UAAU,IAAI,OAAO,CAA6B;IACtD,IAAI,UAAU,CAAC,KAAK,EAAE,YAAY,EAAsD;IACxF,OAAO,CAAC,WAAW,CAAS;IAE5B,IACI,eAAe,IAAI,OAAO,CAAkC;IAChE,IAAI,eAAe,CAAC,KAAK,EAAE,YAAY,EAA2D;IAClG,OAAO,CAAC,gBAAgB,CAAS;IAEjC,IACI,UAAU,IAAI,OAAO,CAA6B;IACtD,IAAI,UAAU,CAAC,KAAK,EAAE,YAAY,EAAsD;IACxF,OAAO,CAAC,WAAW,CAAS;IAGnB,QAAQ,SAAW;IAEsB,SAAS,CAAC,iBAAiB,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC3D,SAAS,CAAC,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACzD,SAAS,CAAC,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;gBAEhD,MAAM,EAAE,uBAAuB,EACjD,OAAO,EAAE,SAAS;IAkB1D,QAAQ,IAAI,IAAI;IAiChB,SAAS,IAAI,IAAI;IAQjB,WAAW,IAAI,IAAI;IAKnB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/B,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKjC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKjC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAkBzC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAmB3C,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAmB3C;;OAEG;IACH,UAAU,IAAI,IAAI;IAoBlB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IA0BvC,gBAAgB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAI/B,iBAAiB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAIhC,OAAO,CAAC,UAAU,CAAmE;IAErF,OAAO,CAAC,SAAS;IAIjB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,eAAe,CACrB;IAEF,OAAO,CAAC,gBAAgB,CACtB;yCAhQO,sBAAsB;2CAAtB,sBAAsB;CAiQlC"}
1
+ {"version":3,"file":"eui-timepicker.component.d.ts","sourceRoot":"","sources":["../../eui-timepicker/eui-timepicker.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAa,UAAU,EAAiB,MAAM,EAAgD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/I,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAK9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;;AAE9D,qBAMa,sBAAuB,YAAW,oBAAoB,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS;IAyC3D,OAAO,CAAC,OAAO;IAvC/C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,mBAAqB;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IAErB,OAAO,CAAC,gBAAgB,CAItB;IACF,OAAO,CAAC,QAAQ,CAA4C;IAE5D,IACI,UAAU,IAAI,OAAO,CAA6B;IACtD,IAAI,UAAU,CAAC,KAAK,EAAE,YAAY,EAAsD;IACxF,OAAO,CAAC,WAAW,CAAS;IAE5B,IACI,eAAe,IAAI,OAAO,CAAkC;IAChE,IAAI,eAAe,CAAC,KAAK,EAAE,YAAY,EAA2D;IAClG,OAAO,CAAC,gBAAgB,CAAS;IAEjC,IACI,UAAU,IAAI,OAAO,CAA6B;IACtD,IAAI,UAAU,CAAC,KAAK,EAAE,YAAY,EAAsD;IACxF,OAAO,CAAC,WAAW,CAAS;IAGnB,QAAQ,SAAW;IAEsB,SAAS,CAAC,iBAAiB,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC3D,SAAS,CAAC,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACzD,SAAS,CAAC,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;gBAEhD,MAAM,EAAE,uBAAuB,EACjD,OAAO,EAAE,SAAS;IAkB1D,QAAQ,IAAI,IAAI;IAiChB,SAAS,IAAI,IAAI;IAQjB,WAAW,IAAI,IAAI;IAKnB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/B,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKjC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKjC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAiBjC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAkBnC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAkBnC;;OAEG;IACH,UAAU,IAAI,IAAI;IAoBlB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IA0BvC,gBAAgB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAI/B,iBAAiB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAIhC,OAAO,CAAC,UAAU,CAAmE;IAErF,OAAO,CAAC,SAAS;IAIjB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,eAAe,CACrB;IAEF,OAAO,CAAC,gBAAgB,CACtB;yCA7PO,sBAAsB;2CAAtB,sBAAsB;CA8PlC"}