@skyux/datetime 9.0.0-alpha.0 → 9.0.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/documentation.json +9489 -4595
  2. package/esm2022/index.mjs +14 -23
  3. package/esm2022/lib/modules/date-pipe/date-pipe.module.mjs +4 -4
  4. package/esm2022/lib/modules/date-pipe/date.pipe.mjs +15 -14
  5. package/esm2022/lib/modules/date-pipe/date.service.mjs +76 -0
  6. package/esm2022/lib/modules/date-pipe/fuzzy-date.pipe.mjs +3 -3
  7. package/esm2022/lib/modules/date-range-picker/date-range-picker-end-date-resource-key.pipe.mjs +3 -3
  8. package/esm2022/lib/modules/date-range-picker/date-range-picker-start-date-resource-key.pipe.mjs +3 -3
  9. package/esm2022/lib/modules/date-range-picker/date-range-picker.component.mjs +6 -6
  10. package/esm2022/lib/modules/date-range-picker/date-range-picker.module.mjs +5 -9
  11. package/esm2022/lib/modules/date-range-picker/date-range.service.mjs +3 -3
  12. package/esm2022/lib/modules/datepicker/datepicker-adapter.service.mjs +3 -3
  13. package/esm2022/lib/modules/datepicker/datepicker-calendar-inner.component.mjs +4 -4
  14. package/esm2022/lib/modules/datepicker/datepicker-calendar.component.mjs +3 -3
  15. package/esm2022/lib/modules/datepicker/datepicker-config.service.mjs +3 -3
  16. package/esm2022/lib/modules/datepicker/datepicker-input-fuzzy.directive.mjs +6 -18
  17. package/esm2022/lib/modules/datepicker/datepicker-input.directive.mjs +6 -17
  18. package/esm2022/lib/modules/datepicker/datepicker.component.mjs +20 -8
  19. package/esm2022/lib/modules/datepicker/datepicker.module.mjs +6 -13
  20. package/esm2022/lib/modules/datepicker/datepicker.service.mjs +3 -3
  21. package/esm2022/lib/modules/datepicker/daypicker-button.component.mjs +3 -3
  22. package/esm2022/lib/modules/datepicker/daypicker-cell.component.mjs +3 -3
  23. package/esm2022/lib/modules/datepicker/daypicker.component.mjs +5 -5
  24. package/esm2022/lib/modules/datepicker/fuzzy-date.service.mjs +3 -3
  25. package/esm2022/lib/modules/datepicker/monthpicker.component.mjs +5 -5
  26. package/esm2022/lib/modules/datepicker/yearpicker.component.mjs +5 -5
  27. package/esm2022/lib/modules/shared/sky-datetime-resources.module.mjs +8 -8
  28. package/esm2022/lib/modules/timepicker/timepicker.component.mjs +9 -6
  29. package/esm2022/lib/modules/timepicker/timepicker.directive.mjs +6 -17
  30. package/esm2022/lib/modules/timepicker/timepicker.module.mjs +6 -13
  31. package/esm2022/testing/public-api.mjs +3 -3
  32. package/fesm2022/skyux-datetime.mjs +164 -169
  33. package/fesm2022/skyux-datetime.mjs.map +1 -1
  34. package/index.d.ts +23 -22
  35. package/lib/modules/date-pipe/date.pipe.d.ts +1 -2
  36. package/lib/modules/date-pipe/date.service.d.ts +13 -0
  37. package/lib/modules/date-range-picker/date-range-picker.module.d.ts +4 -5
  38. package/lib/modules/datepicker/datepicker-input-fuzzy.directive.d.ts +3 -3
  39. package/lib/modules/datepicker/datepicker-input.directive.d.ts +3 -3
  40. package/lib/modules/datepicker/datepicker.component.d.ts +5 -1
  41. package/lib/modules/datepicker/datepicker.module.d.ts +7 -8
  42. package/lib/modules/timepicker/timepicker.directive.d.ts +1 -2
  43. package/lib/modules/timepicker/timepicker.module.d.ts +5 -6
  44. package/package.json +13 -13
  45. package/testing/public-api.d.ts +2 -2
  46. package/esm2022/lib/modules/date-pipe/date-format-utility.mjs +0 -45
  47. package/lib/modules/date-pipe/date-format-utility.d.ts +0 -4
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Inject, Input, Optional, Output, TemplateRef, ViewChild, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, ElementRef, EnvironmentInjector, EventEmitter, Inject, Input, Optional, Output, TemplateRef, ViewChild, inject, } from '@angular/core';
2
2
  import { SKY_STACKING_CONTEXT, SkyAffixAutoFitContext, } from '@skyux/core';
3
3
  import { Subject, fromEvent } from 'rxjs';
4
4
  import { debounceTime, takeUntil } from 'rxjs/operators';
@@ -68,6 +68,7 @@ export class SkyDatepickerComponent {
68
68
  #affixService;
69
69
  #changeDetector;
70
70
  #coreAdapter;
71
+ #environmentInjector;
71
72
  #overlayService;
72
73
  #zIndex;
73
74
  constructor(affixService, changeDetector, coreAdapter, overlayService, inputBoxHostService, themeSvc, stackingContext) {
@@ -83,6 +84,10 @@ export class SkyDatepickerComponent {
83
84
  * to modify individual dates on the calendar.
84
85
  */
85
86
  this.calendarDateRangeChange = new EventEmitter();
87
+ /**
88
+ * @internal
89
+ */
90
+ this.openChange = new EventEmitter();
86
91
  this.dateChange = new EventEmitter();
87
92
  this.isDaypickerWaiting = false;
88
93
  this.isOpen = false;
@@ -90,6 +95,7 @@ export class SkyDatepickerComponent {
90
95
  this.#calendarUnsubscribe = new Subject();
91
96
  this.#ngUnsubscribe = new Subject();
92
97
  this.#_disabled = false;
98
+ this.#environmentInjector = inject(EnvironmentInjector);
93
99
  this.#affixService = affixService;
94
100
  this.#changeDetector = changeDetector;
95
101
  this.#coreAdapter = coreAdapter;
@@ -115,6 +121,7 @@ export class SkyDatepickerComponent {
115
121
  }
116
122
  ngOnDestroy() {
117
123
  this.dateChange.complete();
124
+ this.openChange.complete();
118
125
  this.#ngUnsubscribe.next();
119
126
  this.#ngUnsubscribe.complete();
120
127
  this.#removePickerEventListeners();
@@ -166,7 +173,7 @@ export class SkyDatepickerComponent {
166
173
  }
167
174
  else {
168
175
  // If consumer returns an undefined value after custom dates have
169
- // already ben established, remove custom dates.
176
+ // already been established, remove custom dates.
170
177
  if (this.customDates) {
171
178
  this.customDates = undefined;
172
179
  // Avoid an ExpressionChangedAfterItHasBeenCheckedError.
@@ -181,6 +188,7 @@ export class SkyDatepickerComponent {
181
188
  this.#removePickerEventListeners();
182
189
  this.triggerButtonRef?.nativeElement.focus();
183
190
  this.isOpen = false;
191
+ this.openChange.emit(false);
184
192
  }
185
193
  #openPicker() {
186
194
  this.isVisible = false;
@@ -190,11 +198,12 @@ export class SkyDatepickerComponent {
190
198
  this.#createOverlay();
191
199
  this.isOpen = true;
192
200
  this.#changeDetector.markForCheck();
201
+ this.openChange.emit(true);
193
202
  }
194
203
  #createAffixer() {
195
204
  if (this.calendarRef && this.triggerButtonRef) {
196
205
  const affixer = this.#affixService.createAffixer(this.calendarRef);
197
- // Hide calendar when trigger button is scrolled off screen.
206
+ // Hide calendar when trigger button is scrolled off-screen.
198
207
  affixer.placementChange
199
208
  .pipe(takeUntil(this.#calendarUnsubscribe))
200
209
  .subscribe((change) => {
@@ -224,6 +233,7 @@ export class SkyDatepickerComponent {
224
233
  wrapperClass: this.pickerClass,
225
234
  enableClose: false,
226
235
  enablePointerEvents: false,
236
+ environmentInjector: this.#environmentInjector,
227
237
  });
228
238
  if (this.#zIndex) {
229
239
  this.#zIndex
@@ -274,12 +284,12 @@ export class SkyDatepickerComponent {
274
284
  this.#customDatesSubscription = undefined;
275
285
  }
276
286
  }
277
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDatepickerComponent, deps: [{ token: i1.SkyAffixService }, { token: i0.ChangeDetectorRef }, { token: i1.SkyCoreAdapterService }, { token: i1.SkyOverlayService }, { token: i2.SkyInputBoxHostService, optional: true }, { token: i3.SkyThemeService, optional: true }, { token: SKY_STACKING_CONTEXT, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
278
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyDatepickerComponent, selector: "sky-datepicker", inputs: { pickerClass: "pickerClass" }, outputs: { calendarDateRangeChange: "calendarDateRangeChange" }, viewQueries: [{ propertyName: "calendar", first: true, predicate: SkyDatepickerCalendarComponent, descendants: true }, { propertyName: "calendarRef", first: true, predicate: ["calendarRef"], descendants: true, read: ElementRef }, { propertyName: "calendarTemplateRef", first: true, predicate: ["calendarTemplateRef"], descendants: true, read: TemplateRef }, { propertyName: "triggerButtonRef", first: true, predicate: ["triggerButtonRef"], descendants: true, read: ElementRef }, { propertyName: "inputTemplateRef", first: true, predicate: ["inputTemplateRef"], descendants: true, read: TemplateRef, static: true }, { propertyName: "triggerButtonTemplateRef", first: true, predicate: ["triggerButtonTemplateRef"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<div class=\"sky-datepicker\">\n <ng-container *ngIf=\"!inputBoxHostService\">\n <div class=\"sky-input-group\">\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\"></ng-container>\n <ng-container *ngTemplateOutlet=\"triggerButtonTemplateRef\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<ng-template #inputTemplateRef>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #triggerButtonTemplateRef>\n <div class=\"sky-input-group-btn\">\n <button\n aria-haspopup=\"dialog\"\n class=\"sky-btn sky-btn-default sky-input-group-datepicker-btn\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? calendarId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-label]=\"\n 'skyux_datepicker_trigger_button_label' | skyLibResources\n \"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"'skyux_datepicker_trigger_button_label' | skyLibResources\"\n [disabled]=\"disabled\"\n (click)=\"onTriggerButtonClick()\"\n #triggerButtonRef\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"calendar\" size=\"lg\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"calendar\"\n size=\"lg\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </div>\n</ng-template>\n\n<ng-template #calendarTemplateRef>\n <div\n class=\"sky-datepicker-calendar-container sky-shadow sky-elevation-4\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"calendarId\"\n [class.sky-datepicker-hidden]=\"!isVisible\"\n #calendarRef\n >\n <sky-datepicker-calendar\n [customDates]=\"customDates\"\n [isDaypickerWaiting]=\"isDaypickerWaiting\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [startingDay]=\"startingDay\"\n (calendarDateRangeChange)=\"onCalendarDateRangeChange($event)\"\n (calendarModeChange)=\"onCalendarModeChange()\"\n (selectedDateChange)=\"onSelectedDateChange($event)\"\n >\n </sky-datepicker-calendar>\n </div>\n</ng-template>\n", styles: [".sky-datepicker-calendar-container{position:fixed;border-radius:5px}.sky-datepicker-hidden{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "directive", type: i3.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { kind: "component", type: i6.SkyDatepickerCalendarComponent, selector: "sky-datepicker-calendar", inputs: ["customDates", "isDaypickerWaiting", "minDate", "maxDate", "selectedDate", "startingDay"], outputs: ["calendarDateRangeChange", "calendarModeChange", "selectedDateChange"] }, { kind: "pipe", type: i7.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
287
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyDatepickerComponent, deps: [{ token: i1.SkyAffixService }, { token: i0.ChangeDetectorRef }, { token: i1.SkyCoreAdapterService }, { token: i1.SkyOverlayService }, { token: i2.SkyInputBoxHostService, optional: true }, { token: i3.SkyThemeService, optional: true }, { token: SKY_STACKING_CONTEXT, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
288
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SkyDatepickerComponent, selector: "sky-datepicker", inputs: { pickerClass: "pickerClass" }, outputs: { calendarDateRangeChange: "calendarDateRangeChange", openChange: "openChange" }, viewQueries: [{ propertyName: "calendar", first: true, predicate: SkyDatepickerCalendarComponent, descendants: true }, { propertyName: "calendarRef", first: true, predicate: ["calendarRef"], descendants: true, read: ElementRef }, { propertyName: "calendarTemplateRef", first: true, predicate: ["calendarTemplateRef"], descendants: true, read: TemplateRef }, { propertyName: "triggerButtonRef", first: true, predicate: ["triggerButtonRef"], descendants: true, read: ElementRef }, { propertyName: "inputTemplateRef", first: true, predicate: ["inputTemplateRef"], descendants: true, read: TemplateRef, static: true }, { propertyName: "triggerButtonTemplateRef", first: true, predicate: ["triggerButtonTemplateRef"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<div class=\"sky-datepicker\">\n <ng-container *ngIf=\"!inputBoxHostService\">\n <div class=\"sky-input-group\">\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\"></ng-container>\n <ng-container *ngTemplateOutlet=\"triggerButtonTemplateRef\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<ng-template #inputTemplateRef>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #triggerButtonTemplateRef>\n <div class=\"sky-input-group-btn\">\n <button\n aria-haspopup=\"dialog\"\n class=\"sky-btn sky-btn-default sky-input-group-datepicker-btn\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? calendarId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-label]=\"\n 'skyux_datepicker_trigger_button_label' | skyLibResources\n \"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"'skyux_datepicker_trigger_button_label' | skyLibResources\"\n [disabled]=\"disabled\"\n (click)=\"onTriggerButtonClick()\"\n #triggerButtonRef\n >\n <sky-icon icon=\"calendar\" size=\"lg\"></sky-icon>\n </button>\n </div>\n</ng-template>\n\n<ng-template #calendarTemplateRef>\n <div\n class=\"sky-datepicker-calendar-container sky-shadow sky-elevation-4\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"calendarId\"\n [class.sky-datepicker-hidden]=\"!isVisible\"\n #calendarRef\n >\n <sky-datepicker-calendar\n [customDates]=\"customDates\"\n [isDaypickerWaiting]=\"isDaypickerWaiting\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [startingDay]=\"startingDay\"\n (calendarDateRangeChange)=\"onCalendarDateRangeChange($event)\"\n (calendarModeChange)=\"onCalendarModeChange()\"\n (selectedDateChange)=\"onSelectedDateChange($event)\"\n >\n </sky-datepicker-calendar>\n </div>\n</ng-template>\n", styles: [".sky-datepicker-calendar-container{position:fixed;border-radius:5px}.sky-datepicker-hidden{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i6.SkyDatepickerCalendarComponent, selector: "sky-datepicker-calendar", inputs: ["customDates", "isDaypickerWaiting", "minDate", "maxDate", "selectedDate", "startingDay"], outputs: ["calendarDateRangeChange", "calendarModeChange", "selectedDateChange"] }, { kind: "pipe", type: i7.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
279
289
  }
280
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDatepickerComponent, decorators: [{
290
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyDatepickerComponent, decorators: [{
281
291
  type: Component,
282
- args: [{ selector: 'sky-datepicker', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-datepicker\">\n <ng-container *ngIf=\"!inputBoxHostService\">\n <div class=\"sky-input-group\">\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\"></ng-container>\n <ng-container *ngTemplateOutlet=\"triggerButtonTemplateRef\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<ng-template #inputTemplateRef>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #triggerButtonTemplateRef>\n <div class=\"sky-input-group-btn\">\n <button\n aria-haspopup=\"dialog\"\n class=\"sky-btn sky-btn-default sky-input-group-datepicker-btn\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? calendarId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-label]=\"\n 'skyux_datepicker_trigger_button_label' | skyLibResources\n \"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"'skyux_datepicker_trigger_button_label' | skyLibResources\"\n [disabled]=\"disabled\"\n (click)=\"onTriggerButtonClick()\"\n #triggerButtonRef\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"calendar\" size=\"lg\"></sky-icon>\n <sky-icon\n *skyThemeIf=\"'modern'\"\n icon=\"calendar\"\n size=\"lg\"\n iconType=\"skyux\"\n ></sky-icon>\n </button>\n </div>\n</ng-template>\n\n<ng-template #calendarTemplateRef>\n <div\n class=\"sky-datepicker-calendar-container sky-shadow sky-elevation-4\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"calendarId\"\n [class.sky-datepicker-hidden]=\"!isVisible\"\n #calendarRef\n >\n <sky-datepicker-calendar\n [customDates]=\"customDates\"\n [isDaypickerWaiting]=\"isDaypickerWaiting\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [startingDay]=\"startingDay\"\n (calendarDateRangeChange)=\"onCalendarDateRangeChange($event)\"\n (calendarModeChange)=\"onCalendarModeChange()\"\n (selectedDateChange)=\"onSelectedDateChange($event)\"\n >\n </sky-datepicker-calendar>\n </div>\n</ng-template>\n", styles: [".sky-datepicker-calendar-container{position:fixed;border-radius:5px}.sky-datepicker-hidden{visibility:hidden}\n"] }]
292
+ args: [{ selector: 'sky-datepicker', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-datepicker\">\n <ng-container *ngIf=\"!inputBoxHostService\">\n <div class=\"sky-input-group\">\n <ng-container *ngTemplateOutlet=\"inputTemplateRef\"></ng-container>\n <ng-container *ngTemplateOutlet=\"triggerButtonTemplateRef\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<ng-template #inputTemplateRef>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #triggerButtonTemplateRef>\n <div class=\"sky-input-group-btn\">\n <button\n aria-haspopup=\"dialog\"\n class=\"sky-btn sky-btn-default sky-input-group-datepicker-btn\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? calendarId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-label]=\"\n 'skyux_datepicker_trigger_button_label' | skyLibResources\n \"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"'skyux_datepicker_trigger_button_label' | skyLibResources\"\n [disabled]=\"disabled\"\n (click)=\"onTriggerButtonClick()\"\n #triggerButtonRef\n >\n <sky-icon icon=\"calendar\" size=\"lg\"></sky-icon>\n </button>\n </div>\n</ng-template>\n\n<ng-template #calendarTemplateRef>\n <div\n class=\"sky-datepicker-calendar-container sky-shadow sky-elevation-4\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"calendarId\"\n [class.sky-datepicker-hidden]=\"!isVisible\"\n #calendarRef\n >\n <sky-datepicker-calendar\n [customDates]=\"customDates\"\n [isDaypickerWaiting]=\"isDaypickerWaiting\"\n [maxDate]=\"maxDate\"\n [minDate]=\"minDate\"\n [startingDay]=\"startingDay\"\n (calendarDateRangeChange)=\"onCalendarDateRangeChange($event)\"\n (calendarModeChange)=\"onCalendarModeChange()\"\n (selectedDateChange)=\"onSelectedDateChange($event)\"\n >\n </sky-datepicker-calendar>\n </div>\n</ng-template>\n", styles: [".sky-datepicker-calendar-container{position:fixed;border-radius:5px}.sky-datepicker-hidden{visibility:hidden}\n"] }]
283
293
  }], ctorParameters: function () { return [{ type: i1.SkyAffixService }, { type: i0.ChangeDetectorRef }, { type: i1.SkyCoreAdapterService }, { type: i1.SkyOverlayService }, { type: i2.SkyInputBoxHostService, decorators: [{
284
294
  type: Optional
285
295
  }] }, { type: i3.SkyThemeService, decorators: [{
@@ -293,6 +303,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
293
303
  type: Input
294
304
  }], calendarDateRangeChange: [{
295
305
  type: Output
306
+ }], openChange: [{
307
+ type: Output
296
308
  }], calendar: [{
297
309
  type: ViewChild,
298
310
  args: [SkyDatepickerCalendarComponent]
@@ -324,4 +336,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
324
336
  static: true,
325
337
  }]
326
338
  }] } });
327
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsUUFBUSxFQUNSLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsc0JBQXNCLEdBT3ZCLE1BQU0sYUFBYSxDQUFDO0FBSXJCLE9BQU8sRUFBYyxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3pELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7QUFHakYsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBRWY7OztHQUdHO0FBT0gsTUFBTSxPQUFPLHNCQUFzQjtJQVFqQyxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFXLFFBQVEsQ0FBQyxLQUEwQjtRQUM1QyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFXLFlB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RSxXQUFXO3dCQUNqQixNQUFNLEVBQUUsSUFBSTtxQkFDYjtnQkFPTSx3QkFBd0I7c0JBSjlCLFNBQVM7dUJBQUMsMEJBQTBCLEVBQUU7d0JBQ3JDLElBQUksRUFBRSxXQUFXO3dCQUNqQixNQUFNLEVBQUUsSUFBSTtxQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNLWV9TVEFDS0lOR19DT05URVhULFxuICBTa3lBZmZpeEF1dG9GaXRDb250ZXh0LFxuICBTa3lBZmZpeFNlcnZpY2UsXG4gIFNreUFmZml4ZXIsXG4gIFNreUNvcmVBZGFwdGVyU2VydmljZSxcbiAgU2t5T3ZlcmxheUluc3RhbmNlLFxuICBTa3lPdmVybGF5U2VydmljZSxcbiAgU2t5U3RhY2tpbmdDb250ZXh0LFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lJbnB1dEJveEhvc3RTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2Zvcm1zJztcbmltcG9ydCB7IFNreVRoZW1lU2VydmljZSB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5RGF0ZXBpY2tlckNhbGVuZGFyQ2hhbmdlIH0gZnJvbSAnLi9kYXRlcGlja2VyLWNhbGVuZGFyLWNoYW5nZSc7XG5pbXBvcnQgeyBTa3lEYXRlcGlja2VyQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGVwaWNrZXItY2FsZW5kYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreURhdGVwaWNrZXJDdXN0b21EYXRlIH0gZnJvbSAnLi9kYXRlcGlja2VyLWN1c3RvbS1kYXRlJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogQ3JlYXRlcyB0aGUgZGF0ZXBpY2tlciBidXR0b24gYW5kIGNhbGVuZGFyLlxuICogWW91IG11c3Qgd3JhcCB0aGlzIGNvbXBvbmVudCBhcm91bmQgYW4gaW5wdXQgd2l0aCB0aGUgYHNreURhdGVwaWNrZXJJbnB1dGAgZGlyZWN0aXZlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZGF0ZXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0ZXBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgLyoqXG4gICAqIEFkZHMgYSBjbGFzcyB0byB0aGUgZGF0ZXBpY2tlci5cbiAgICogQGRlZmF1bHQgXCJcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHBpY2tlckNsYXNzOiBzdHJpbmcgfCB1bmRlZmluZWQgPSAnJztcblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfZGlzYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2Rpc2FibGVkID0gdmFsdWU7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0IHNlbGVjdGVkRGF0ZSh2YWx1ZTogRGF0ZSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19zZWxlY3RlZERhdGUgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5jYWxlbmRhcikge1xuICAgICAgdGhpcy5jYWxlbmRhci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkRGF0ZSgpOiBEYXRlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX3NlbGVjdGVkRGF0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSByYW5nZSBvZiBkaXNwbGF5ZWQgZGF0ZXMgaW4gdGhlIGNhbGVuZGFyIGNoYW5nZXMuIFByb3ZpZGVzIHRoZVxuICAgKiBjdXJyZW50IHJhbmdlIG9mIGRpc3BsYXllZCBkYXRlcyBhbmQgYSBtdXRhYmxlIGBjdXN0b21EYXRlYCBwcm9wZXJ0eSBjb25zdW1lcnMgY2FuIHVzZVxuICAgKiB0byBtb2RpZnkgaW5kaXZpZHVhbCBkYXRlcyBvbiB0aGUgY2FsZW5kYXIuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGNhbGVuZGFyRGF0ZVJhbmdlQ2hhbmdlID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPFNreURhdGVwaWNrZXJDYWxlbmRhckNoYW5nZT4oKTtcblxuICBwdWJsaWMgY2FsZW5kYXJJZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBjdXN0b21EYXRlczogU2t5RGF0ZXBpY2tlckN1c3RvbURhdGVbXSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcblxuICBwdWJsaWMgaXNEYXlwaWNrZXJXYWl0aW5nID0gZmFsc2U7XG5cbiAgcHVibGljIGlzT3BlbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBpc1Zpc2libGUgPSBmYWxzZTtcblxuICBwdWJsaWMgbWF4RGF0ZTogRGF0ZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgbWluRGF0ZTogRGF0ZSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgc3RhcnRpbmdEYXk6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgdHJpZ2dlckJ1dHRvbklkOiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZChTa3lEYXRlcGlja2VyQ2FsZW5kYXJDb21wb25lbnQpXG4gIHB1YmxpYyBjYWxlbmRhcjogU2t5RGF0ZXBpY2tlckNhbGVuZGFyQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ2NhbGVuZGFyUmVmJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gIH0pXG4gIHB1YmxpYyBzZXQgY2FsZW5kYXJSZWYodmFsdWU6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuI19jYWxlbmRhclJlZiA9IHZhbHVlO1xuXG4gICAgICAvLyBXYWl0IGZvciB0aGUgY2FsZW5kYXIgY29tcG9uZW50IHRvIHJlbmRlciBiZWZvcmUgZ2F1Z2luZyBkaW1lbnNpb25zLlxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmNhbGVuZGFyUmVmKSB7XG4gICAgICAgICAgdGhpcy5jYWxlbmRhcj8ud3JpdGVWYWx1ZSh0aGlzLnNlbGVjdGVkRGF0ZSk7XG5cbiAgICAgICAgICB0aGlzLiNkZXN0cm95QWZmaXhlcigpO1xuICAgICAgICAgIHRoaXMuI2NyZWF0ZUFmZml4ZXIoKTtcblxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuY2FsZW5kYXJSZWYpIHtcbiAgICAgICAgICAgICAgdGhpcy4jY29yZUFkYXB0ZXIuZ2V0Rm9jdXNhYmxlQ2hpbGRyZW5BbmRBcHBseUZvY3VzKFxuICAgICAgICAgICAgICAgIHRoaXMuY2FsZW5kYXJSZWYsXG4gICAgICAgICAgICAgICAgJy5za3ktZGF0ZXBpY2tlci1jYWxlbmRhci1pbm5lcicsXG4gICAgICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICB0aGlzLmlzVmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNhbGVuZGFyUmVmKCk6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfY2FsZW5kYXJSZWY7XG4gIH1cblxuICBAVmlld0NoaWxkKCdjYWxlbmRhclRlbXBsYXRlUmVmJywge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICB9KVxuICBwdWJsaWMgY2FsZW5kYXJUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgndHJpZ2dlckJ1dHRvblJlZicsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICB9KVxuICBwdWJsaWMgdHJpZ2dlckJ1dHRvblJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCdpbnB1dFRlbXBsYXRlUmVmJywge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIGlucHV0VGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ3RyaWdnZXJCdXR0b25UZW1wbGF0ZVJlZicsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyB0cmlnZ2VyQnV0dG9uVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gICNhZmZpeGVyOiBTa3lBZmZpeGVyIHwgdW5kZWZpbmVkO1xuXG4gICNjYWxlbmRhclVuc3Vic2NyaWJlOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjY3VzdG9tRGF0ZXNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI292ZXJsYXk6IFNreU92ZXJsYXlJbnN0YW5jZSB8IHVuZGVmaW5lZDtcblxuICAjb3ZlcmxheUtleWRvd25MaXN0ZW5lcjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICNfY2FsZW5kYXJSZWY6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgI19kaXNhYmxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuXG4gICNfc2VsZWN0ZWREYXRlOiBEYXRlIHwgdW5kZWZpbmVkO1xuXG4gICNhZmZpeFNlcnZpY2U6IFNreUFmZml4U2VydmljZTtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI2NvcmVBZGFwdGVyOiBTa3lDb3JlQWRhcHRlclNlcnZpY2U7XG4gICNvdmVybGF5U2VydmljZTogU2t5T3ZlcmxheVNlcnZpY2U7XG4gICN6SW5kZXg6IE9ic2VydmFibGU8bnVtYmVyPiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhZmZpeFNlcnZpY2U6IFNreUFmZml4U2VydmljZSxcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgY29yZUFkYXB0ZXI6IFNreUNvcmVBZGFwdGVyU2VydmljZSxcbiAgICBvdmVybGF5U2VydmljZTogU2t5T3ZlcmxheVNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcHVibGljIGlucHV0Qm94SG9zdFNlcnZpY2U/OiBTa3lJbnB1dEJveEhvc3RTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHRoZW1lU3ZjPzogU2t5VGhlbWVTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChTS1lfU1RBQ0tJTkdfQ09OVEVYVClcbiAgICBzdGFja2luZ0NvbnRleHQ/OiBTa3lTdGFja2luZ0NvbnRleHRcbiAgKSB7XG4gICAgdGhpcy4jYWZmaXhTZXJ2aWNlID0gYWZmaXhTZXJ2aWNlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yID0gY2hhbmdlRGV0ZWN0b3I7XG4gICAgdGhpcy4jY29yZUFkYXB0ZXIgPSBjb3JlQWRhcHRlcjtcbiAgICB0aGlzLiNvdmVybGF5U2VydmljZSA9IG92ZXJsYXlTZXJ2aWNlO1xuICAgIGNvbnN0IHVuaXF1ZUlkID0gbmV4dElkKys7XG4gICAgdGhpcy5jYWxlbmRhcklkID0gYHNreS1kYXRlcGlja2VyLWNhbGVuZGFyLSR7dW5pcXVlSWR9YDtcbiAgICB0aGlzLnRyaWdnZXJCdXR0b25JZCA9IGBza3ktZGF0ZXBpY2tlci1idXR0b24tJHt1bmlxdWVJZH1gO1xuICAgIHRoaXMuI3pJbmRleCA9IHN0YWNraW5nQ29udGV4dD8uekluZGV4O1xuXG4gICAgLy8gVXBkYXRlIGljb25zIHdoZW4gdGhlbWUgY2hhbmdlcy5cbiAgICB0aGVtZVN2Yz8uc2V0dGluZ3NDaGFuZ2VcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlucHV0Qm94SG9zdFNlcnZpY2UgJiYgdGhpcy5pbnB1dFRlbXBsYXRlUmVmKSB7XG4gICAgICB0aGlzLmlucHV0Qm94SG9zdFNlcnZpY2UucG9wdWxhdGUoe1xuICAgICAgICBpbnB1dFRlbXBsYXRlOiB0aGlzLmlucHV0VGVtcGxhdGVSZWYsXG4gICAgICAgIGJ1dHRvbnNUZW1wbGF0ZTogdGhpcy50cmlnZ2VyQnV0dG9uVGVtcGxhdGVSZWYsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kYXRlQ2hhbmdlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI3JlbW92ZVBpY2tlckV2ZW50TGlzdGVuZXJzKCk7XG4gICAgdGhpcy4jZGVzdHJveUFmZml4ZXIoKTtcbiAgICB0aGlzLiNkZXN0cm95T3ZlcmxheSgpO1xuICB9XG5cbiAgcHVibGljIG9uQ2FsZW5kYXJNb2RlQ2hhbmdlKCk6IHZvaWQge1xuICAgIC8vIExldCB0aGUgY2FsZW5kYXIgcG9wdWxhdGUgaW4gdGhlIERPTSBiZWZvcmUgcmVjYWxjdWxhdGluZyBwbGFjZW1lbnQuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLiNhZmZpeGVyPy5yZWFmZml4KCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3RlZERhdGVDaGFuZ2UodmFsdWU6IERhdGUpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgdGhpcy4jY2xvc2VQaWNrZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblRyaWdnZXJCdXR0b25DbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgIHRoaXMuI2Nsb3NlUGlja2VyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI29wZW5QaWNrZXIoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25DYWxlbmRhckRhdGVSYW5nZUNoYW5nZShldmVudD86IFNreURhdGVwaWNrZXJDYWxlbmRhckNoYW5nZSk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICB0aGlzLiNjYW5jZWxDdXN0b21EYXRlc1N1YnNjcmlwdGlvbigpO1xuXG4gICAgICBjb25zdCBhcmdzOiBTa3lEYXRlcGlja2VyQ2FsZW5kYXJDaGFuZ2UgPSB7XG4gICAgICAgIHN0YXJ0RGF0ZTogZXZlbnQuc3RhcnREYXRlLFxuICAgICAgICBlbmREYXRlOiBldmVudC5lbmREYXRlLFxuICAgICAgICBjdXN0b21EYXRlczogdW5kZWZpbmVkLFxuICAgICAgfTtcbiAgICAgIHRoaXMuY2FsZW5kYXJEYXRlUmFuZ2VDaGFuZ2UuZW1pdChhcmdzKTtcbiAgICAgIC8vIElmIGNvbnN1bWVyIGhhcyBhZGRlZCBhbiBvYnNlcnZhYmxlIHRvIHRoZSBhcmdzLCB3YXRjaCBmb3IgaW5jb21pbmcgY3VzdG9tIGRhdGVzLlxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChhcmdzLmN1c3RvbURhdGVzKSB7XG4gICAgICAgIHRoaXMuaXNEYXlwaWNrZXJXYWl0aW5nID0gdHJ1ZTtcbiAgICAgICAgLy8gQXZvaWQgYW4gRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvci5cbiAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgIHRoaXMuI2N1c3RvbURhdGVzU3Vic2NyaXB0aW9uID0gYXJncy5jdXN0b21EYXRlc1xuICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSgyNTApKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jdXN0b21EYXRlcyA9IHJlc3VsdDtcbiAgICAgICAgICAgIHRoaXMuaXNEYXlwaWNrZXJXYWl0aW5nID0gZmFsc2U7XG5cbiAgICAgICAgICAgIC8vIFRyaWdnZXIgY2hhbmdlIGRldGVjdGlvbiBpbiBjaGlsZCBjb21wb25lbnRzIHRvIHNob3cgY2hhbmdlcyBpbiB0aGUgY2FsZW5kYXIuXG4gICAgICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIElmIGNvbnN1bWVyIHJldHVybnMgYW4gdW5kZWZpbmVkIHZhbHVlIGFmdGVyIGN1c3RvbSBkYXRlcyBoYXZlXG4gICAgICAgIC8vIGFscmVhZHkgYmVuIGVzdGFibGlzaGVkLCByZW1vdmUgY3VzdG9tIGRhdGVzLlxuICAgICAgICBpZiAodGhpcy5jdXN0b21EYXRlcykge1xuICAgICAgICAgIHRoaXMuY3VzdG9tRGF0ZXMgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgLy8gQXZvaWQgYW4gRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvci5cbiAgICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjY2xvc2VQaWNrZXIoKSB7XG4gICAgdGhpcy4jZGVzdHJveUFmZml4ZXIoKTtcbiAgICB0aGlzLiNkZXN0cm95T3ZlcmxheSgpO1xuICAgIHRoaXMuI3JlbW92ZVBpY2tlckV2ZW50TGlzdGVuZXJzKCk7XG4gICAgdGhpcy50cmlnZ2VyQnV0dG9uUmVmPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgfVxuXG4gICNvcGVuUGlja2VyKCk6IHZvaWQge1xuICAgIHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG5cbiAgICB0aGlzLiNyZW1vdmVQaWNrZXJFdmVudExpc3RlbmVycygpO1xuICAgIHRoaXMuI2Rlc3Ryb3lPdmVybGF5KCk7XG4gICAgdGhpcy4jY3JlYXRlT3ZlcmxheSgpO1xuXG4gICAgdGhpcy5pc09wZW4gPSB0cnVlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgI2NyZWF0ZUFmZml4ZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FsZW5kYXJSZWYgJiYgdGhpcy50cmlnZ2VyQnV0dG9uUmVmKSB7XG4gICAgICBjb25zdCBhZmZpeGVyID0gdGhpcy4jYWZmaXhTZXJ2aWNlLmNyZWF0ZUFmZml4ZXIodGhpcy5jYWxlbmRhclJlZik7XG5cbiAgICAgIC8vIEhpZGUgY2FsZW5kYXIgd2hlbiB0cmlnZ2VyIGJ1dHRvbiBpcyBzY3JvbGxlZCBvZmYgc2NyZWVuLlxuICAgICAgYWZmaXhlci5wbGFjZW1lbnRDaGFuZ2VcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI2NhbGVuZGFyVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChjaGFuZ2UpID0+IHtcbiAgICAgICAgICB0aGlzLmlzVmlzaWJsZSA9IGNoYW5nZS5wbGFjZW1lbnQgIT09IG51bGw7XG4gICAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICBhZmZpeGVyLmFmZml4VG8odGhpcy50cmlnZ2VyQnV0dG9uUmVmLm5hdGl2ZUVsZW1lbnQsIHtcbiAgICAgICAgYXV0b0ZpdENvbnRleHQ6IFNreUFmZml4QXV0b0ZpdENvbnRleHQuVmlld3BvcnQsXG4gICAgICAgIGVuYWJsZUF1dG9GaXQ6IHRydWUsXG4gICAgICAgIGhvcml6b250YWxBbGlnbm1lbnQ6ICdyaWdodCcsXG4gICAgICAgIGlzU3RpY2t5OiB0cnVlLFxuICAgICAgICBwbGFjZW1lbnQ6ICdiZWxvdycsXG4gICAgICB9KTtcblxuICAgICAgdGhpcy4jYWZmaXhlciA9IGFmZml4ZXI7XG4gICAgfVxuICB9XG5cbiAgI2Rlc3Ryb3lBZmZpeGVyKCk6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgIGlmICh0aGlzLiNhZmZpeGVyKSB7XG4gICAgICB0aGlzLiNhZmZpeGVyLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMuI2FmZml4ZXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgI2NyZWF0ZU92ZXJsYXkoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FsZW5kYXJUZW1wbGF0ZVJlZikge1xuICAgICAgY29uc3Qgb3ZlcmxheSA9IHRoaXMuI292ZXJsYXlTZXJ2aWNlLmNyZWF0ZSh7XG4gICAgICAgIHdyYXBwZXJDbGFzczogdGhpcy5waWNrZXJDbGFzcyxcbiAgICAgICAgZW5hYmxlQ2xvc2U6IGZhbHNlLFxuICAgICAgICBlbmFibGVQb2ludGVyRXZlbnRzOiBmYWxzZSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAodGhpcy4jekluZGV4KSB7XG4gICAgICAgIHRoaXMuI3pJbmRleFxuICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNjYWxlbmRhclVuc3Vic2NyaWJlKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKCh6SW5kZXgpID0+IHtcbiAgICAgICAgICAgIG92ZXJsYXkuY29tcG9uZW50UmVmLmluc3RhbmNlLnpJbmRleCA9IHpJbmRleC50b1N0cmluZygxMCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIG92ZXJsYXkuYmFja2Ryb3BDbGlja1xuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jY2FsZW5kYXJVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLiNjbG9zZVBpY2tlcigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuI2FkZEtleWRvd25MaXN0ZW5lcigpO1xuXG4gICAgICBvdmVybGF5LmF0dGFjaFRlbXBsYXRlKHRoaXMuY2FsZW5kYXJUZW1wbGF0ZVJlZik7XG5cbiAgICAgIHRoaXMuI292ZXJsYXkgPSBvdmVybGF5O1xuICAgIH1cbiAgfVxuXG4gICNkZXN0cm95T3ZlcmxheSgpOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICBpZiAodGhpcy4jb3ZlcmxheSkge1xuICAgICAgdGhpcy4jb3ZlcmxheVNlcnZpY2UuY2xvc2UodGhpcy4jb3ZlcmxheSk7XG4gICAgICB0aGlzLiNvdmVybGF5ID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gICNhZGRLZXlkb3duTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgdGhpcy4jb3ZlcmxheUtleWRvd25MaXN0ZW5lciA9IGZyb21FdmVudDxLZXlib2FyZEV2ZW50PihcbiAgICAgIHdpbmRvdy5kb2N1bWVudCxcbiAgICAgICdrZXlkb3duJ1xuICAgIClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGtleSA9IGV2ZW50LmtleT8udG9Mb3dlckNhc2UoKTtcbiAgICAgICAgaWYgKGtleSA9PT0gJ2VzY2FwZScgJiYgdGhpcy5pc09wZW4pIHtcbiAgICAgICAgICB0aGlzLiNjbG9zZVBpY2tlcigpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gICNyZW1vdmVQaWNrZXJFdmVudExpc3RlbmVycygpOiB2b2lkIHtcbiAgICB0aGlzLiNjYWxlbmRhclVuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNjYWxlbmRhclVuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy4jY2FsZW5kYXJVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgdGhpcy4jb3ZlcmxheUtleWRvd25MaXN0ZW5lcj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gICNjYW5jZWxDdXN0b21EYXRlc1N1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jY3VzdG9tRGF0ZXNTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuI2N1c3RvbURhdGVzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLiNjdXN0b21EYXRlc1N1YnNjcmlwdGlvbiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktZGF0ZXBpY2tlclwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlucHV0Qm94SG9zdFNlcnZpY2VcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2t5LWlucHV0LWdyb3VwXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5wdXRUZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRyaWdnZXJCdXR0b25UZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2lucHV0VGVtcGxhdGVSZWY+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjdHJpZ2dlckJ1dHRvblRlbXBsYXRlUmVmPlxuICA8ZGl2IGNsYXNzPVwic2t5LWlucHV0LWdyb3VwLWJ0blwiPlxuICAgIDxidXR0b25cbiAgICAgIGFyaWEtaGFzcG9wdXA9XCJkaWFsb2dcIlxuICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktaW5wdXQtZ3JvdXAtZGF0ZXBpY2tlci1idG5cIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImlzT3BlbiA/IGNhbGVuZGFySWQgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNPcGVuXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgICdza3l1eF9kYXRlcGlja2VyX3RyaWdnZXJfYnV0dG9uX2xhYmVsJyB8IHNreUxpYlJlc291cmNlc1xuICAgICAgXCJcbiAgICAgIFthdHRyLmlkXT1cInRyaWdnZXJCdXR0b25JZFwiXG4gICAgICBbYXR0ci50aXRsZV09XCInc2t5dXhfZGF0ZXBpY2tlcl90cmlnZ2VyX2J1dHRvbl9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJvblRyaWdnZXJCdXR0b25DbGljaygpXCJcbiAgICAgICN0cmlnZ2VyQnV0dG9uUmVmXG4gICAgPlxuICAgICAgPHNreS1pY29uICpza3lUaGVtZUlmPVwiJ2RlZmF1bHQnXCIgaWNvbj1cImNhbGVuZGFyXCIgc2l6ZT1cImxnXCI+PC9za3ktaWNvbj5cbiAgICAgIDxza3ktaWNvblxuICAgICAgICAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCJcbiAgICAgICAgaWNvbj1cImNhbGVuZGFyXCJcbiAgICAgICAgc2l6ZT1cImxnXCJcbiAgICAgICAgaWNvblR5cGU9XCJza3l1eFwiXG4gICAgICA+PC9za3ktaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NhbGVuZGFyVGVtcGxhdGVSZWY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNreS1kYXRlcGlja2VyLWNhbGVuZGFyLWNvbnRhaW5lciBza3ktc2hhZG93IHNreS1lbGV2YXRpb24tNFwiXG4gICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cInRyaWdnZXJCdXR0b25JZFwiXG4gICAgW2F0dHIuaWRdPVwiY2FsZW5kYXJJZFwiXG4gICAgW2NsYXNzLnNreS1kYXRlcGlja2VyLWhpZGRlbl09XCIhaXNWaXNpYmxlXCJcbiAgICAjY2FsZW5kYXJSZWZcbiAgPlxuICAgIDxza3ktZGF0ZXBpY2tlci1jYWxlbmRhclxuICAgICAgW2N1c3RvbURhdGVzXT1cImN1c3RvbURhdGVzXCJcbiAgICAgIFtpc0RheXBpY2tlcldhaXRpbmddPVwiaXNEYXlwaWNrZXJXYWl0aW5nXCJcbiAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICBbc3RhcnRpbmdEYXldPVwic3RhcnRpbmdEYXlcIlxuICAgICAgKGNhbGVuZGFyRGF0ZVJhbmdlQ2hhbmdlKT1cIm9uQ2FsZW5kYXJEYXRlUmFuZ2VDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAoY2FsZW5kYXJNb2RlQ2hhbmdlKT1cIm9uQ2FsZW5kYXJNb2RlQ2hhbmdlKClcIlxuICAgICAgKHNlbGVjdGVkRGF0ZUNoYW5nZSk9XCJvblNlbGVjdGVkRGF0ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgPC9za3ktZGF0ZXBpY2tlci1jYWxlbmRhcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
339
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsbUJBQW1CLEVBQ25CLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsRUFDUixNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFDVCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixzQkFBc0IsR0FPdkIsTUFBTSxhQUFhLENBQUM7QUFJckIsT0FBTyxFQUFjLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHekQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7OztBQUdqRixJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFFZjs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sc0JBQXNCO0lBUWpDLElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsUUFBUSxDQUFDLEtBQTBCO1FBQzVDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7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QU07Z0JBUUEsVUFBVTtzQkFEaEIsTUFBTTtnQkF3QkEsUUFBUTtzQkFEZCxTQUFTO3VCQUFDLDhCQUE4QjtnQkFNOUIsV0FBVztzQkFIckIsU0FBUzt1QkFBQyxhQUFhLEVBQUU7d0JBQ3hCLElBQUksRUFBRSxVQUFVO3FCQUNqQjtnQkFxQ00sbUJBQW1CO3NCQUh6QixTQUFTO3VCQUFDLHFCQUFxQixFQUFFO3dCQUNoQyxJQUFJLEVBQUUsV0FBVztxQkFDbEI7Z0JBTU0sZ0JBQWdCO3NCQUh0QixTQUFTO3VCQUFDLGtCQUFrQixFQUFFO3dCQUM3QixJQUFJLEVBQUUsVUFBVTtxQkFDakI7Z0JBT00sZ0JBQWdCO3NCQUp0QixTQUFTO3VCQUFDLGtCQUFrQixFQUFFO3dCQUM3QixJQUFJLEVBQUUsV0FBVzt3QkFDakIsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBT00sd0JBQXdCO3NCQUo5QixTQUFTO3VCQUFDLDBCQUEwQixFQUFFO3dCQUNyQyxJQUFJLEVBQUUsV0FBVzt3QkFDakIsTUFBTSxFQUFFLElBQUk7cUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRW52aXJvbm1lbnRJbmplY3RvcixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNLWV9TVEFDS0lOR19DT05URVhULFxuICBTa3lBZmZpeEF1dG9GaXRDb250ZXh0LFxuICBTa3lBZmZpeFNlcnZpY2UsXG4gIFNreUFmZml4ZXIsXG4gIFNreUNvcmVBZGFwdGVyU2VydmljZSxcbiAgU2t5T3ZlcmxheUluc3RhbmNlLFxuICBTa3lPdmVybGF5U2VydmljZSxcbiAgU2t5U3RhY2tpbmdDb250ZXh0LFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lJbnB1dEJveEhvc3RTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2Zvcm1zJztcbmltcG9ydCB7IFNreVRoZW1lU2VydmljZSB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5RGF0ZXBpY2tlckNhbGVuZGFyQ2hhbmdlIH0gZnJvbSAnLi9kYXRlcGlja2VyLWNhbGVuZGFyLWNoYW5nZSc7XG5pbXBvcnQgeyBTa3lEYXRlcGlja2VyQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGVwaWNrZXItY2FsZW5kYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreURhdGVwaWNrZXJDdXN0b21EYXRlIH0gZnJvbSAnLi9kYXRlcGlja2VyLWN1c3RvbS1kYXRlJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogQ3JlYXRlcyB0aGUgZGF0ZXBpY2tlciBidXR0b24gYW5kIGNhbGVuZGFyLlxuICogWW91IG11c3Qgd3JhcCB0aGlzIGNvbXBvbmVudCBhcm91bmQgYW4gaW5wdXQgd2l0aCB0aGUgYHNreURhdGVwaWNrZXJJbnB1dGAgZGlyZWN0aXZlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZGF0ZXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0ZXBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgLyoqXG4gICAqIEFkZHMgYSBjbGFzcyB0byB0aGUgZGF0ZXBpY2tlci5cbiAgICogQGRlZmF1bHQgXCJcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHBpY2tlckNsYXNzOiBzdHJpbmcgfCB1bmRlZmluZWQgPSAnJztcblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfZGlzYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2Rpc2FibGVkID0gdmFsdWU7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0IHNlbGVjdGVkRGF0ZSh2YWx1ZTogRGF0ZSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19zZWxlY3RlZERhdGUgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5jYWxlbmRhcikge1xuICAgICAgdGhpcy5jYWxlbmRhci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkRGF0ZSgpOiBEYXRlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX3NlbGVjdGVkRGF0ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSByYW5nZSBvZiBkaXNwbGF5ZWQgZGF0ZXMgaW4gdGhlIGNhbGVuZGFyIGNoYW5nZXMuIFByb3ZpZGVzIHRoZVxuICAgKiBjdXJyZW50IHJhbmdlIG9mIGRpc3BsYXllZCBkYXRlcyBhbmQgYSBtdXRhYmxlIGBjdXN0b21EYXRlYCBwcm9wZXJ0eSBjb25zdW1lcnMgY2FuIHVzZVxuICAgKiB0byBtb2RpZnkgaW5kaXZpZHVhbCBkYXRlcyBvbiB0aGUgY2FsZW5kYXIuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGNhbGVuZGFyRGF0ZVJhbmdlQ2hhbmdlID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPFNreURhdGVwaWNrZXJDYWxlbmRhckNoYW5nZT4oKTtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIG9wZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHVibGljIGNhbGVuZGFySWQ6IHN0cmluZztcblxuICBwdWJsaWMgY3VzdG9tRGF0ZXM6IFNreURhdGVwaWNrZXJDdXN0b21EYXRlW10gfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGRhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG5cbiAgcHVibGljIGlzRGF5cGlja2VyV2FpdGluZyA9IGZhbHNlO1xuXG4gIHB1YmxpYyBpc09wZW4gPSBmYWxzZTtcblxuICBwdWJsaWMgaXNWaXNpYmxlID0gZmFsc2U7XG5cbiAgcHVibGljIG1heERhdGU6IERhdGUgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIG1pbkRhdGU6IERhdGUgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIHN0YXJ0aW5nRGF5OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIHRyaWdnZXJCdXR0b25JZDogc3RyaW5nO1xuXG4gIEBWaWV3Q2hpbGQoU2t5RGF0ZXBpY2tlckNhbGVuZGFyQ29tcG9uZW50KVxuICBwdWJsaWMgY2FsZW5kYXI6IFNreURhdGVwaWNrZXJDYWxlbmRhckNvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCdjYWxlbmRhclJlZicsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICB9KVxuICBwdWJsaWMgc2V0IGNhbGVuZGFyUmVmKHZhbHVlOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLiNfY2FsZW5kYXJSZWYgPSB2YWx1ZTtcblxuICAgICAgLy8gV2FpdCBmb3IgdGhlIGNhbGVuZGFyIGNvbXBvbmVudCB0byByZW5kZXIgYmVmb3JlIGdhdWdpbmcgZGltZW5zaW9ucy5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jYWxlbmRhclJlZikge1xuICAgICAgICAgIHRoaXMuY2FsZW5kYXI/LndyaXRlVmFsdWUodGhpcy5zZWxlY3RlZERhdGUpO1xuXG4gICAgICAgICAgdGhpcy4jZGVzdHJveUFmZml4ZXIoKTtcbiAgICAgICAgICB0aGlzLiNjcmVhdGVBZmZpeGVyKCk7XG5cbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNhbGVuZGFyUmVmKSB7XG4gICAgICAgICAgICAgIHRoaXMuI2NvcmVBZGFwdGVyLmdldEZvY3VzYWJsZUNoaWxkcmVuQW5kQXBwbHlGb2N1cyhcbiAgICAgICAgICAgICAgICB0aGlzLmNhbGVuZGFyUmVmLFxuICAgICAgICAgICAgICAgICcuc2t5LWRhdGVwaWNrZXItY2FsZW5kYXItaW5uZXInLFxuICAgICAgICAgICAgICAgIGZhbHNlXG4gICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgdGhpcy5pc1Zpc2libGUgPSB0cnVlO1xuICAgICAgICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBjYWxlbmRhclJlZigpOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2NhbGVuZGFyUmVmO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgnY2FsZW5kYXJUZW1wbGF0ZVJlZicsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgfSlcbiAgcHVibGljIGNhbGVuZGFyVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gIEBWaWV3Q2hpbGQoJ3RyaWdnZXJCdXR0b25SZWYnLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZixcbiAgfSlcbiAgcHVibGljIHRyaWdnZXJCdXR0b25SZWY6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXRUZW1wbGF0ZVJlZicsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyBpbnB1dFRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCd0cmlnZ2VyQnV0dG9uVGVtcGxhdGVSZWYnLCB7XG4gICAgcmVhZDogVGVtcGxhdGVSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwdWJsaWMgdHJpZ2dlckJ1dHRvblRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHVuZGVmaW5lZDtcblxuICAjYWZmaXhlcjogU2t5QWZmaXhlciB8IHVuZGVmaW5lZDtcblxuICAjY2FsZW5kYXJVbnN1YnNjcmliZTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI2N1c3RvbURhdGVzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNvdmVybGF5OiBTa3lPdmVybGF5SW5zdGFuY2UgfCB1bmRlZmluZWQ7XG5cbiAgI292ZXJsYXlLZXlkb3duTGlzdGVuZXI6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICAjX2NhbGVuZGFyUmVmOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gICNfZGlzYWJsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcblxuICAjX3NlbGVjdGVkRGF0ZTogRGF0ZSB8IHVuZGVmaW5lZDtcblxuICAjYWZmaXhTZXJ2aWNlOiBTa3lBZmZpeFNlcnZpY2U7XG4gICNjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG4gICNjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlO1xuICByZWFkb25seSAjZW52aXJvbm1lbnRJbmplY3RvciA9IGluamVjdChFbnZpcm9ubWVudEluamVjdG9yKTtcbiAgI292ZXJsYXlTZXJ2aWNlOiBTa3lPdmVybGF5U2VydmljZTtcbiAgcmVhZG9ubHkgI3pJbmRleDogT2JzZXJ2YWJsZTxudW1iZXI+IHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGFmZml4U2VydmljZTogU2t5QWZmaXhTZXJ2aWNlLFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICAgIG92ZXJsYXlTZXJ2aWNlOiBTa3lPdmVybGF5U2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgaW5wdXRCb3hIb3N0U2VydmljZT86IFNreUlucHV0Qm94SG9zdFNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgdGhlbWVTdmM/OiBTa3lUaGVtZVNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KFNLWV9TVEFDS0lOR19DT05URVhUKVxuICAgIHN0YWNraW5nQ29udGV4dD86IFNreVN0YWNraW5nQ29udGV4dFxuICApIHtcbiAgICB0aGlzLiNhZmZpeFNlcnZpY2UgPSBhZmZpeFNlcnZpY2U7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IgPSBjaGFuZ2VEZXRlY3RvcjtcbiAgICB0aGlzLiNjb3JlQWRhcHRlciA9IGNvcmVBZGFwdGVyO1xuICAgIHRoaXMuI292ZXJsYXlTZXJ2aWNlID0gb3ZlcmxheVNlcnZpY2U7XG4gICAgY29uc3QgdW5pcXVlSWQgPSBuZXh0SWQrKztcbiAgICB0aGlzLmNhbGVuZGFySWQgPSBgc2t5LWRhdGVwaWNrZXItY2FsZW5kYXItJHt1bmlxdWVJZH1gO1xuICAgIHRoaXMudHJpZ2dlckJ1dHRvbklkID0gYHNreS1kYXRlcGlja2VyLWJ1dHRvbi0ke3VuaXF1ZUlkfWA7XG4gICAgdGhpcy4jekluZGV4ID0gc3RhY2tpbmdDb250ZXh0Py56SW5kZXg7XG5cbiAgICAvLyBVcGRhdGUgaWNvbnMgd2hlbiB0aGVtZSBjaGFuZ2VzLlxuICAgIHRoZW1lU3ZjPy5zZXR0aW5nc0NoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5wdXRCb3hIb3N0U2VydmljZSAmJiB0aGlzLmlucHV0VGVtcGxhdGVSZWYpIHtcbiAgICAgIHRoaXMuaW5wdXRCb3hIb3N0U2VydmljZS5wb3B1bGF0ZSh7XG4gICAgICAgIGlucHV0VGVtcGxhdGU6IHRoaXMuaW5wdXRUZW1wbGF0ZVJlZixcbiAgICAgICAgYnV0dG9uc1RlbXBsYXRlOiB0aGlzLnRyaWdnZXJCdXR0b25UZW1wbGF0ZVJlZixcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGVDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB0aGlzLm9wZW5DaGFuZ2UuY29tcGxldGUoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy4jcmVtb3ZlUGlja2VyRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLiNkZXN0cm95QWZmaXhlcigpO1xuICAgIHRoaXMuI2Rlc3Ryb3lPdmVybGF5KCk7XG4gIH1cblxuICBwdWJsaWMgb25DYWxlbmRhck1vZGVDaGFuZ2UoKTogdm9pZCB7XG4gICAgLy8gTGV0IHRoZSBjYWxlbmRhciBwb3B1bGF0ZSBpbiB0aGUgRE9NIGJlZm9yZSByZWNhbGN1bGF0aW5nIHBsYWNlbWVudC5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuI2FmZml4ZXI/LnJlYWZmaXgoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdGVkRGF0ZUNoYW5nZSh2YWx1ZTogRGF0ZSk6IHZvaWQge1xuICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB0aGlzLiNjbG9zZVBpY2tlcigpO1xuICB9XG5cbiAgcHVibGljIG9uVHJpZ2dlckJ1dHRvbkNsaWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgdGhpcy4jY2xvc2VQaWNrZXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jb3BlblBpY2tlcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkNhbGVuZGFyRGF0ZVJhbmdlQ2hhbmdlKGV2ZW50PzogU2t5RGF0ZXBpY2tlckNhbGVuZGFyQ2hhbmdlKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIHRoaXMuI2NhbmNlbEN1c3RvbURhdGVzU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAgIGNvbnN0IGFyZ3M6IFNreURhdGVwaWNrZXJDYWxlbmRhckNoYW5nZSA9IHtcbiAgICAgICAgc3RhcnREYXRlOiBldmVudC5zdGFydERhdGUsXG4gICAgICAgIGVuZERhdGU6IGV2ZW50LmVuZERhdGUsXG4gICAgICAgIGN1c3RvbURhdGVzOiB1bmRlZmluZWQsXG4gICAgICB9O1xuICAgICAgdGhpcy5jYWxlbmRhckRhdGVSYW5nZUNoYW5nZS5lbWl0KGFyZ3MpO1xuICAgICAgLy8gSWYgY29uc3VtZXIgaGFzIGFkZGVkIGFuIG9ic2VydmFibGUgdG8gdGhlIGFyZ3MsIHdhdGNoIGZvciBpbmNvbWluZyBjdXN0b20gZGF0ZXMuXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKGFyZ3MuY3VzdG9tRGF0ZXMpIHtcbiAgICAgICAgdGhpcy5pc0RheXBpY2tlcldhaXRpbmcgPSB0cnVlO1xuICAgICAgICAvLyBBdm9pZCBhbiBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yLlxuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgdGhpcy4jY3VzdG9tRGF0ZXNTdWJzY3JpcHRpb24gPSBhcmdzLmN1c3RvbURhdGVzXG4gICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDI1MCkpXG4gICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmN1c3RvbURhdGVzID0gcmVzdWx0O1xuICAgICAgICAgICAgdGhpcy5pc0RheXBpY2tlcldhaXRpbmcgPSBmYWxzZTtcblxuICAgICAgICAgICAgLy8gVHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uIGluIGNoaWxkIGNvbXBvbmVudHMgdG8gc2hvdyBjaGFuZ2VzIGluIHRoZSBjYWxlbmRhci5cbiAgICAgICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gSWYgY29uc3VtZXIgcmV0dXJucyBhbiB1bmRlZmluZWQgdmFsdWUgYWZ0ZXIgY3VzdG9tIGRhdGVzIGhhdmVcbiAgICAgICAgLy8gYWxyZWFkeSBiZWVuIGVzdGFibGlzaGVkLCByZW1vdmUgY3VzdG9tIGRhdGVzLlxuICAgICAgICBpZiAodGhpcy5jdXN0b21EYXRlcykge1xuICAgICAgICAgIHRoaXMuY3VzdG9tRGF0ZXMgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgLy8gQXZvaWQgYW4gRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvci5cbiAgICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjY2xvc2VQaWNrZXIoKTogdm9pZCB7XG4gICAgdGhpcy4jZGVzdHJveUFmZml4ZXIoKTtcbiAgICB0aGlzLiNkZXN0cm95T3ZlcmxheSgpO1xuICAgIHRoaXMuI3JlbW92ZVBpY2tlckV2ZW50TGlzdGVuZXJzKCk7XG4gICAgdGhpcy50cmlnZ2VyQnV0dG9uUmVmPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICB0aGlzLm9wZW5DaGFuZ2UuZW1pdChmYWxzZSk7XG4gIH1cblxuICAjb3BlblBpY2tlcigpOiB2b2lkIHtcbiAgICB0aGlzLmlzVmlzaWJsZSA9IGZhbHNlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgdGhpcy4jcmVtb3ZlUGlja2VyRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLiNkZXN0cm95T3ZlcmxheSgpO1xuICAgIHRoaXMuI2NyZWF0ZU92ZXJsYXkoKTtcblxuICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICB0aGlzLm9wZW5DaGFuZ2UuZW1pdCh0cnVlKTtcbiAgfVxuXG4gICNjcmVhdGVBZmZpeGVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNhbGVuZGFyUmVmICYmIHRoaXMudHJpZ2dlckJ1dHRvblJlZikge1xuICAgICAgY29uc3QgYWZmaXhlciA9IHRoaXMuI2FmZml4U2VydmljZS5jcmVhdGVBZmZpeGVyKHRoaXMuY2FsZW5kYXJSZWYpO1xuXG4gICAgICAvLyBIaWRlIGNhbGVuZGFyIHdoZW4gdHJpZ2dlciBidXR0b24gaXMgc2Nyb2xsZWQgb2ZmLXNjcmVlbi5cbiAgICAgIGFmZml4ZXIucGxhY2VtZW50Q2hhbmdlXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNjYWxlbmRhclVuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoY2hhbmdlKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc1Zpc2libGUgPSBjaGFuZ2UucGxhY2VtZW50ICE9PSBudWxsO1xuICAgICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcblxuICAgICAgYWZmaXhlci5hZmZpeFRvKHRoaXMudHJpZ2dlckJ1dHRvblJlZi5uYXRpdmVFbGVtZW50LCB7XG4gICAgICAgIGF1dG9GaXRDb250ZXh0OiBTa3lBZmZpeEF1dG9GaXRDb250ZXh0LlZpZXdwb3J0LFxuICAgICAgICBlbmFibGVBdXRvRml0OiB0cnVlLFxuICAgICAgICBob3Jpem9udGFsQWxpZ25tZW50OiAncmlnaHQnLFxuICAgICAgICBpc1N0aWNreTogdHJ1ZSxcbiAgICAgICAgcGxhY2VtZW50OiAnYmVsb3cnLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuI2FmZml4ZXIgPSBhZmZpeGVyO1xuICAgIH1cbiAgfVxuXG4gICNkZXN0cm95QWZmaXhlcigpOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICBpZiAodGhpcy4jYWZmaXhlcikge1xuICAgICAgdGhpcy4jYWZmaXhlci5kZXN0cm95KCk7XG4gICAgICB0aGlzLiNhZmZpeGVyID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gICNjcmVhdGVPdmVybGF5KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNhbGVuZGFyVGVtcGxhdGVSZWYpIHtcbiAgICAgIGNvbnN0IG92ZXJsYXkgPSB0aGlzLiNvdmVybGF5U2VydmljZS5jcmVhdGUoe1xuICAgICAgICB3cmFwcGVyQ2xhc3M6IHRoaXMucGlja2VyQ2xhc3MsXG4gICAgICAgIGVuYWJsZUNsb3NlOiBmYWxzZSxcbiAgICAgICAgZW5hYmxlUG9pbnRlckV2ZW50czogZmFsc2UsXG4gICAgICAgIGVudmlyb25tZW50SW5qZWN0b3I6IHRoaXMuI2Vudmlyb25tZW50SW5qZWN0b3IsXG4gICAgICB9KTtcblxuICAgICAgaWYgKHRoaXMuI3pJbmRleCkge1xuICAgICAgICB0aGlzLiN6SW5kZXhcbiAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jY2FsZW5kYXJVbnN1YnNjcmliZSkpXG4gICAgICAgICAgLnN1YnNjcmliZSgoekluZGV4KSA9PiB7XG4gICAgICAgICAgICBvdmVybGF5LmNvbXBvbmVudFJlZi5pbnN0YW5jZS56SW5kZXggPSB6SW5kZXgudG9TdHJpbmcoMTApO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBvdmVybGF5LmJhY2tkcm9wQ2xpY2tcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI2NhbGVuZGFyVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmICh0aGlzLmlzT3Blbikge1xuICAgICAgICAgICAgdGhpcy4jY2xvc2VQaWNrZXIoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICB0aGlzLiNhZGRLZXlkb3duTGlzdGVuZXIoKTtcblxuICAgICAgb3ZlcmxheS5hdHRhY2hUZW1wbGF0ZSh0aGlzLmNhbGVuZGFyVGVtcGxhdGVSZWYpO1xuXG4gICAgICB0aGlzLiNvdmVybGF5ID0gb3ZlcmxheTtcbiAgICB9XG4gIH1cblxuICAjZGVzdHJveU92ZXJsYXkoKTogdm9pZCB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgaWYgKHRoaXMuI292ZXJsYXkpIHtcbiAgICAgIHRoaXMuI292ZXJsYXlTZXJ2aWNlLmNsb3NlKHRoaXMuI292ZXJsYXkpO1xuICAgICAgdGhpcy4jb3ZlcmxheSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICAjYWRkS2V5ZG93bkxpc3RlbmVyKCk6IHZvaWQge1xuICAgIHRoaXMuI292ZXJsYXlLZXlkb3duTGlzdGVuZXIgPSBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4oXG4gICAgICB3aW5kb3cuZG9jdW1lbnQsXG4gICAgICAna2V5ZG93bidcbiAgICApXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCBrZXkgPSBldmVudC5rZXk/LnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGlmIChrZXkgPT09ICdlc2NhcGUnICYmIHRoaXMuaXNPcGVuKSB7XG4gICAgICAgICAgdGhpcy4jY2xvc2VQaWNrZXIoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAjcmVtb3ZlUGlja2VyRXZlbnRMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgdGhpcy4jY2FsZW5kYXJVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jY2FsZW5kYXJVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI2NhbGVuZGFyVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHRoaXMuI292ZXJsYXlLZXlkb3duTGlzdGVuZXI/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAjY2FuY2VsQ3VzdG9tRGF0ZXNTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI2N1c3RvbURhdGVzU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLiNjdXN0b21EYXRlc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy4jY3VzdG9tRGF0ZXNTdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWRhdGVwaWNrZXJcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpbnB1dEJveEhvc3RTZXJ2aWNlXCI+XG4gICAgPGRpdiBjbGFzcz1cInNreS1pbnB1dC1ncm91cFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlucHV0VGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0cmlnZ2VyQnV0dG9uVGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNpbnB1dFRlbXBsYXRlUmVmPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RyaWdnZXJCdXR0b25UZW1wbGF0ZVJlZj5cbiAgPGRpdiBjbGFzcz1cInNreS1pbnB1dC1ncm91cC1idG5cIj5cbiAgICA8YnV0dG9uXG4gICAgICBhcmlhLWhhc3BvcHVwPVwiZGlhbG9nXCJcbiAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LWlucHV0LWdyb3VwLWRhdGVwaWNrZXItYnRuXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJpc09wZW4gPyBjYWxlbmRhcklkIDogbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzT3BlblwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAnc2t5dXhfZGF0ZXBpY2tlcl90cmlnZ2VyX2J1dHRvbl9sYWJlbCcgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgIFwiXG4gICAgICBbYXR0ci5pZF09XCJ0cmlnZ2VyQnV0dG9uSWRcIlxuICAgICAgW2F0dHIudGl0bGVdPVwiJ3NreXV4X2RhdGVwaWNrZXJfdHJpZ2dlcl9idXR0b25fbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAoY2xpY2spPVwib25UcmlnZ2VyQnV0dG9uQ2xpY2soKVwiXG4gICAgICAjdHJpZ2dlckJ1dHRvblJlZlxuICAgID5cbiAgICAgIDxza3ktaWNvbiBpY29uPVwiY2FsZW5kYXJcIiBzaXplPVwibGdcIj48L3NreS1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY2FsZW5kYXJUZW1wbGF0ZVJlZj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LWRhdGVwaWNrZXItY2FsZW5kYXItY29udGFpbmVyIHNreS1zaGFkb3cgc2t5LWVsZXZhdGlvbi00XCJcbiAgICByb2xlPVwiZGlhbG9nXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwidHJpZ2dlckJ1dHRvbklkXCJcbiAgICBbYXR0ci5pZF09XCJjYWxlbmRhcklkXCJcbiAgICBbY2xhc3Muc2t5LWRhdGVwaWNrZXItaGlkZGVuXT1cIiFpc1Zpc2libGVcIlxuICAgICNjYWxlbmRhclJlZlxuICA+XG4gICAgPHNreS1kYXRlcGlja2VyLWNhbGVuZGFyXG4gICAgICBbY3VzdG9tRGF0ZXNdPVwiY3VzdG9tRGF0ZXNcIlxuICAgICAgW2lzRGF5cGlja2VyV2FpdGluZ109XCJpc0RheXBpY2tlcldhaXRpbmdcIlxuICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgIFtzdGFydGluZ0RheV09XCJzdGFydGluZ0RheVwiXG4gICAgICAoY2FsZW5kYXJEYXRlUmFuZ2VDaGFuZ2UpPVwib25DYWxlbmRhckRhdGVSYW5nZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIChjYWxlbmRhck1vZGVDaGFuZ2UpPVwib25DYWxlbmRhck1vZGVDaGFuZ2UoKVwiXG4gICAgICAoc2VsZWN0ZWREYXRlQ2hhbmdlKT1cIm9uU2VsZWN0ZWREYXRlQ2hhbmdlKCRldmVudClcIlxuICAgID5cbiAgICA8L3NreS1kYXRlcGlja2VyLWNhbGVuZGFyPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,8 +1,7 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { FormsModule } from '@angular/forms';
4
- import { SkyAffixModule, SkyOverlayModule } from '@skyux/core';
5
- import { SkyI18nModule } from '@skyux/i18n';
4
+ import { SkyAffixModule } from '@skyux/core';
6
5
  import { SkyIconModule, SkyWaitModule } from '@skyux/indicators';
7
6
  import { SkyPopoverModule } from '@skyux/popovers';
8
7
  import { SkyThemeModule } from '@skyux/theme';
@@ -20,8 +19,8 @@ import { SkyMonthPickerComponent } from './monthpicker.component';
20
19
  import { SkyYearPickerComponent } from './yearpicker.component';
21
20
  import * as i0 from "@angular/core";
22
21
  export class SkyDatepickerModule {
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
24
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyDatepickerModule, declarations: [SkyDatepickerCalendarComponent,
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
23
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.1", ngImport: i0, type: SkyDatepickerModule, declarations: [SkyDatepickerCalendarComponent,
25
24
  SkyDatepickerCalendarInnerComponent,
26
25
  SkyDayPickerComponent,
27
26
  SkyMonthPickerComponent,
@@ -31,30 +30,26 @@ export class SkyDatepickerModule {
31
30
  SkyFuzzyDatepickerInputDirective,
32
31
  SkyDayPickerCellComponent,
33
32
  SkyDayPickerButtonComponent], imports: [CommonModule,
34
- SkyI18nModule,
35
33
  FormsModule,
36
34
  SkyIconModule,
37
35
  SkyDatetimeResourcesModule,
38
36
  SkyAffixModule,
39
- SkyOverlayModule,
40
37
  SkyThemeModule,
41
38
  SkyPopoverModule,
42
39
  SkyWaitModule], exports: [SkyDatepickerCalendarComponent,
43
40
  SkyDatepickerComponent,
44
41
  SkyDatepickerInputDirective,
45
42
  SkyFuzzyDatepickerInputDirective] }); }
46
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDatepickerModule, providers: [SkyDatepickerService], imports: [CommonModule,
47
- SkyI18nModule,
43
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyDatepickerModule, providers: [SkyDatepickerService], imports: [CommonModule,
48
44
  FormsModule,
49
45
  SkyIconModule,
50
46
  SkyDatetimeResourcesModule,
51
47
  SkyAffixModule,
52
- SkyOverlayModule,
53
48
  SkyThemeModule,
54
49
  SkyPopoverModule,
55
50
  SkyWaitModule] }); }
56
51
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDatepickerModule, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyDatepickerModule, decorators: [{
58
53
  type: NgModule,
59
54
  args: [{
60
55
  declarations: [
@@ -71,12 +66,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
71
66
  ],
72
67
  imports: [
73
68
  CommonModule,
74
- SkyI18nModule,
75
69
  FormsModule,
76
70
  SkyIconModule,
77
71
  SkyDatetimeResourcesModule,
78
72
  SkyAffixModule,
79
- SkyOverlayModule,
80
73
  SkyThemeModule,
81
74
  SkyPopoverModule,
82
75
  SkyWaitModule,
@@ -90,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
90
83
  providers: [SkyDatepickerService],
91
84
  }]
92
85
  }] });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFOUMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFckYsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakYsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBbUNoRSxNQUFNLE9BQU8sbUJBQW1COzhHQUFuQixtQkFBbUI7K0dBQW5CLG1CQUFtQixpQkEvQjVCLDhCQUE4QjtZQUM5QixtQ0FBbUM7WUFDbkMscUJBQXFCO1lBQ3JCLHVCQUF1QjtZQUN2QixzQkFBc0I7WUFDdEIsc0JBQXNCO1lBQ3RCLDJCQUEyQjtZQUMzQixnQ0FBZ0M7WUFDaEMseUJBQXlCO1lBQ3pCLDJCQUEyQixhQUczQixZQUFZO1lBQ1osYUFBYTtZQUNiLFdBQVc7WUFDWCxhQUFhO1lBQ2IsMEJBQTBCO1lBQzFCLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixhQUFhLGFBR2IsOEJBQThCO1lBQzlCLHNCQUFzQjtZQUN0QiwyQkFBMkI7WUFDM0IsZ0NBQWdDOytHQUl2QixtQkFBbUIsYUFGbkIsQ0FBQyxvQkFBb0IsQ0FBQyxZQWpCL0IsWUFBWTtZQUNaLGFBQWE7WUFDYixXQUFXO1lBQ1gsYUFBYTtZQUNiLDBCQUEwQjtZQUMxQixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsYUFBYTs7MkZBVUosbUJBQW1CO2tCQWpDL0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osOEJBQThCO3dCQUM5QixtQ0FBbUM7d0JBQ25DLHFCQUFxQjt3QkFDckIsdUJBQXVCO3dCQUN2QixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsMkJBQTJCO3dCQUMzQixnQ0FBZ0M7d0JBQ2hDLHlCQUF5Qjt3QkFDekIsMkJBQTJCO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYiwwQkFBMEI7d0JBQzFCLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsYUFBYTtxQkFDZDtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsOEJBQThCO3dCQUM5QixzQkFBc0I7d0JBQ3RCLDJCQUEyQjt3QkFDM0IsZ0NBQWdDO3FCQUNqQztvQkFDRCxTQUFTLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2t5QWZmaXhNb2R1bGUsIFNreU92ZXJsYXlNb2R1bGUgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lJMThuTW9kdWxlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSwgU2t5V2FpdE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pbmRpY2F0b3JzJztcbmltcG9ydCB7IFNreVBvcG92ZXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvcG9wb3ZlcnMnO1xuaW1wb3J0IHsgU2t5VGhlbWVNb2R1bGUgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBTa3lEYXRldGltZVJlc291cmNlc01vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9za3ktZGF0ZXRpbWUtcmVzb3VyY2VzLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNreURhdGVwaWNrZXJDYWxlbmRhcklubmVyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlcGlja2VyLWNhbGVuZGFyLWlubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lEYXRlcGlja2VyQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGVwaWNrZXItY2FsZW5kYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUZ1enp5RGF0ZXBpY2tlcklucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi9kYXRlcGlja2VyLWlucHV0LWZ1enp5LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTa3lEYXRlcGlja2VySW5wdXREaXJlY3RpdmUgfSBmcm9tICcuL2RhdGVwaWNrZXItaW5wdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNreURhdGVwaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGVwaWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreURhdGVwaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi9kYXRlcGlja2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5RGF5UGlja2VyQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9kYXlwaWNrZXItYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lEYXlQaWNrZXJDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9kYXlwaWNrZXItY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5RGF5UGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXlwaWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreU1vbnRoUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9tb250aHBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5WWVhclBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4veWVhcnBpY2tlci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTa3lEYXRlcGlja2VyQ2FsZW5kYXJDb21wb25lbnQsXG4gICAgU2t5RGF0ZXBpY2tlckNhbGVuZGFySW5uZXJDb21wb25lbnQsXG4gICAgU2t5RGF5UGlja2VyQ29tcG9uZW50LFxuICAgIFNreU1vbnRoUGlja2VyQ29tcG9uZW50LFxuICAgIFNreVllYXJQaWNrZXJDb21wb25lbnQsXG4gICAgU2t5RGF0ZXBpY2tlckNvbXBvbmVudCxcbiAgICBTa3lEYXRlcGlja2VySW5wdXREaXJlY3RpdmUsXG4gICAgU2t5RnV6enlEYXRlcGlja2VySW5wdXREaXJlY3RpdmUsXG4gICAgU2t5RGF5UGlja2VyQ2VsbENvbXBvbmVudCxcbiAgICBTa3lEYXlQaWNrZXJCdXR0b25Db21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU2t5STE4bk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBTa3lJY29uTW9kdWxlLFxuICAgIFNreURhdGV0aW1lUmVzb3VyY2VzTW9kdWxlLFxuICAgIFNreUFmZml4TW9kdWxlLFxuICAgIFNreU92ZXJsYXlNb2R1bGUsXG4gICAgU2t5VGhlbWVNb2R1bGUsXG4gICAgU2t5UG9wb3Zlck1vZHVsZSxcbiAgICBTa3lXYWl0TW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgU2t5RGF0ZXBpY2tlckNhbGVuZGFyQ29tcG9uZW50LFxuICAgIFNreURhdGVwaWNrZXJDb21wb25lbnQsXG4gICAgU2t5RGF0ZXBpY2tlcklucHV0RGlyZWN0aXZlLFxuICAgIFNreUZ1enp5RGF0ZXBpY2tlcklucHV0RGlyZWN0aXZlLFxuICBdLFxuICBwcm92aWRlcnM6IFtTa3lEYXRlcGlja2VyU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreURhdGVwaWNrZXJNb2R1bGUge31cbiJdfQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTlDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRXJGLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQWlDaEUsTUFBTSxPQUFPLG1CQUFtQjs4R0FBbkIsbUJBQW1COytHQUFuQixtQkFBbUIsaUJBN0I1Qiw4QkFBOEI7WUFDOUIsbUNBQW1DO1lBQ25DLHFCQUFxQjtZQUNyQix1QkFBdUI7WUFDdkIsc0JBQXNCO1lBQ3RCLHNCQUFzQjtZQUN0QiwyQkFBMkI7WUFDM0IsZ0NBQWdDO1lBQ2hDLHlCQUF5QjtZQUN6QiwyQkFBMkIsYUFHM0IsWUFBWTtZQUNaLFdBQVc7WUFDWCxhQUFhO1lBQ2IsMEJBQTBCO1lBQzFCLGNBQWM7WUFDZCxjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLGFBQWEsYUFHYiw4QkFBOEI7WUFDOUIsc0JBQXNCO1lBQ3RCLDJCQUEyQjtZQUMzQixnQ0FBZ0M7K0dBSXZCLG1CQUFtQixhQUZuQixDQUFDLG9CQUFvQixDQUFDLFlBZi9CLFlBQVk7WUFDWixXQUFXO1lBQ1gsYUFBYTtZQUNiLDBCQUEwQjtZQUMxQixjQUFjO1lBQ2QsY0FBYztZQUNkLGdCQUFnQjtZQUNoQixhQUFhOzsyRkFVSixtQkFBbUI7a0JBL0IvQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWiw4QkFBOEI7d0JBQzlCLG1DQUFtQzt3QkFDbkMscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLHNCQUFzQjt3QkFDdEIsc0JBQXNCO3dCQUN0QiwyQkFBMkI7d0JBQzNCLGdDQUFnQzt3QkFDaEMseUJBQXlCO3dCQUN6QiwyQkFBMkI7cUJBQzVCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsYUFBYTt3QkFDYiwwQkFBMEI7d0JBQzFCLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDhCQUE4Qjt3QkFDOUIsc0JBQXNCO3dCQUN0QiwyQkFBMkI7d0JBQzNCLGdDQUFnQztxQkFDakM7b0JBQ0QsU0FBUyxFQUFFLENBQUMsb0JBQW9CLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNreUFmZml4TW9kdWxlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSwgU2t5V2FpdE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pbmRpY2F0b3JzJztcbmltcG9ydCB7IFNreVBvcG92ZXJNb2R1bGUgfSBmcm9tICdAc2t5dXgvcG9wb3ZlcnMnO1xuaW1wb3J0IHsgU2t5VGhlbWVNb2R1bGUgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBTa3lEYXRldGltZVJlc291cmNlc01vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9za3ktZGF0ZXRpbWUtcmVzb3VyY2VzLm1vZHVsZSc7XG5cbmltcG9ydCB7IFNreURhdGVwaWNrZXJDYWxlbmRhcklubmVyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlcGlja2VyLWNhbGVuZGFyLWlubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lEYXRlcGlja2VyQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGVwaWNrZXItY2FsZW5kYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUZ1enp5RGF0ZXBpY2tlcklucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi9kYXRlcGlja2VyLWlucHV0LWZ1enp5LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTa3lEYXRlcGlja2VySW5wdXREaXJlY3RpdmUgfSBmcm9tICcuL2RhdGVwaWNrZXItaW5wdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNreURhdGVwaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGVwaWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreURhdGVwaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi9kYXRlcGlja2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5RGF5UGlja2VyQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9kYXlwaWNrZXItYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lEYXlQaWNrZXJDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9kYXlwaWNrZXItY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5RGF5UGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXlwaWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreU1vbnRoUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9tb250aHBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5WWVhclBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4veWVhcnBpY2tlci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTa3lEYXRlcGlja2VyQ2FsZW5kYXJDb21wb25lbnQsXG4gICAgU2t5RGF0ZXBpY2tlckNhbGVuZGFySW5uZXJDb21wb25lbnQsXG4gICAgU2t5RGF5UGlja2VyQ29tcG9uZW50LFxuICAgIFNreU1vbnRoUGlja2VyQ29tcG9uZW50LFxuICAgIFNreVllYXJQaWNrZXJDb21wb25lbnQsXG4gICAgU2t5RGF0ZXBpY2tlckNvbXBvbmVudCxcbiAgICBTa3lEYXRlcGlja2VySW5wdXREaXJlY3RpdmUsXG4gICAgU2t5RnV6enlEYXRlcGlja2VySW5wdXREaXJlY3RpdmUsXG4gICAgU2t5RGF5UGlja2VyQ2VsbENvbXBvbmVudCxcbiAgICBTa3lEYXlQaWNrZXJCdXR0b25Db21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgU2t5SWNvbk1vZHVsZSxcbiAgICBTa3lEYXRldGltZVJlc291cmNlc01vZHVsZSxcbiAgICBTa3lBZmZpeE1vZHVsZSxcbiAgICBTa3lUaGVtZU1vZHVsZSxcbiAgICBTa3lQb3BvdmVyTW9kdWxlLFxuICAgIFNreVdhaXRNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTa3lEYXRlcGlja2VyQ2FsZW5kYXJDb21wb25lbnQsXG4gICAgU2t5RGF0ZXBpY2tlckNvbXBvbmVudCxcbiAgICBTa3lEYXRlcGlja2VySW5wdXREaXJlY3RpdmUsXG4gICAgU2t5RnV6enlEYXRlcGlja2VySW5wdXREaXJlY3RpdmUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1NreURhdGVwaWNrZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0ZXBpY2tlck1vZHVsZSB7fVxuIl19
@@ -12,10 +12,10 @@ export class SkyDatepickerService {
12
12
  */
13
13
  this.keyDatePopoverStream = new Subject();
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDatepickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
16
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDatepickerService }); }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyDatepickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
16
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyDatepickerService }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDatepickerService, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyDatepickerService, decorators: [{
19
19
  type: Injectable
20
20
  }] });
21
21
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3NyYy9saWIvbW9kdWxlcy9kYXRlcGlja2VyL2RhdGVwaWNrZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBSS9COztHQUVHO0FBRUgsTUFBTSxPQUFPLG9CQUFvQjtJQURqQztRQUVFOzs7V0FHRztRQUNJLHlCQUFvQixHQUN6QixJQUFJLE9BQU8sRUFBaUMsQ0FBQztLQUNoRDs4R0FQWSxvQkFBb0I7a0hBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTa3lEYXRlcGlja2VyRGF0ZSB9IGZyb20gJy4vZGF0ZXBpY2tlci1kYXRlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreURhdGVwaWNrZXJTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgYSBrZXkgZGF0ZSBwb3BvdmVyIGlzIGN1cnJlbnRseSBkaXNwbGF5ZWQuXG4gICAqIFVzZWZ1bCBmb3IgY29tbXVuaWNhdGluZyBhY3Jvc3MgYWxsIGRheXBpY2tlciBzaWJsaW5ncyB3aGVuIGEgcG9wb3ZlciBpcyBkaXNwbGF5ZWQuXG4gICAqL1xuICBwdWJsaWMga2V5RGF0ZVBvcG92ZXJTdHJlYW06IFN1YmplY3Q8U2t5RGF0ZXBpY2tlckRhdGUgfCB1bmRlZmluZWQ+ID1cbiAgICBuZXcgU3ViamVjdDxTa3lEYXRlcGlja2VyRGF0ZSB8IHVuZGVmaW5lZD4oKTtcbn1cbiJdfQ==
@@ -9,10 +9,10 @@ export class SkyDayPickerButtonComponent {
9
9
  constructor(datepicker) {
10
10
  this.datepicker = datepicker;
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDayPickerButtonComponent, deps: [{ token: i1.SkyDatepickerCalendarInnerComponent }], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyDayPickerButtonComponent, selector: "sky-daypicker-button", inputs: { date: "date" }, ngImport: i0, template: "<button\n *ngIf=\"date\"\n class=\"sky-btn sky-btn-sm sky-btn-default sky-datepicker-btn-date\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"date.disabled\"\n [ngClass]=\"{\n 'sky-datepicker-btn-selected': date.selected,\n 'sky-btn-disabled': date.disabled,\n 'sky-btn-active': datepicker.isActive(date),\n 'sky-datepicker-btn-disabled': date.disabled,\n 'sky-datepicker-btn-key-date': date.keyDate\n }\"\n (click)=\"datepicker.selectCalendar($event, date.date, true)\"\n>\n <span [ngClass]=\"{ 'sky-datepicker-secondary': date.secondary }\">\n {{ date.label }}\n </span>\n</button>\n", styles: [".sky-datepicker-btn-disabled{font-style:italic}.sky-datepicker-btn-key-date{position:relative}.sky-datepicker-btn-key-date:before{position:absolute;content:\"\";height:5px;width:5px;background-color:#d93a3d;border-radius:50%;left:15px;top:22px}:host-context(.sky-theme-modern) .sky-datepicker-btn-key-date:before{left:12px}.sky-theme-modern .sky-datepicker-btn-key-date:before{left:12px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyDayPickerButtonComponent, deps: [{ token: i1.SkyDatepickerCalendarInnerComponent }], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SkyDayPickerButtonComponent, selector: "sky-daypicker-button", inputs: { date: "date" }, ngImport: i0, template: "<button\n *ngIf=\"date\"\n class=\"sky-btn sky-btn-sm sky-btn-default sky-datepicker-btn-date\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"date.disabled\"\n [ngClass]=\"{\n 'sky-datepicker-btn-selected': date.selected,\n 'sky-btn-disabled': date.disabled,\n 'sky-btn-active': datepicker.isActive(date),\n 'sky-datepicker-btn-disabled': date.disabled,\n 'sky-datepicker-btn-key-date': date.keyDate\n }\"\n (click)=\"datepicker.selectCalendar($event, date.date, true)\"\n>\n <span [ngClass]=\"{ 'sky-datepicker-secondary': date.secondary }\">\n {{ date.label }}\n </span>\n</button>\n", styles: [".sky-datepicker-btn-disabled{font-style:italic}.sky-datepicker-btn-key-date{position:relative}.sky-datepicker-btn-key-date:before{position:absolute;content:\"\";height:5px;width:5px;background-color:#d93a3d;border-radius:50%;left:15px;top:22px}:host-context(.sky-theme-modern) .sky-datepicker-btn-key-date:before{left:12px}.sky-theme-modern .sky-datepicker-btn-key-date:before{left:12px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDayPickerButtonComponent, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyDayPickerButtonComponent, decorators: [{
16
16
  type: Component,
17
17
  args: [{ selector: 'sky-daypicker-button', template: "<button\n *ngIf=\"date\"\n class=\"sky-btn sky-btn-sm sky-btn-default sky-datepicker-btn-date\"\n tabindex=\"-1\"\n type=\"button\"\n [disabled]=\"date.disabled\"\n [ngClass]=\"{\n 'sky-datepicker-btn-selected': date.selected,\n 'sky-btn-disabled': date.disabled,\n 'sky-btn-active': datepicker.isActive(date),\n 'sky-datepicker-btn-disabled': date.disabled,\n 'sky-datepicker-btn-key-date': date.keyDate\n }\"\n (click)=\"datepicker.selectCalendar($event, date.date, true)\"\n>\n <span [ngClass]=\"{ 'sky-datepicker-secondary': date.secondary }\">\n {{ date.label }}\n </span>\n</button>\n", styles: [".sky-datepicker-btn-disabled{font-style:italic}.sky-datepicker-btn-key-date{position:relative}.sky-datepicker-btn-key-date:before{position:absolute;content:\"\";height:5px;width:5px;background-color:#d93a3d;border-radius:50%;left:15px;top:22px}:host-context(.sky-theme-modern) .sky-datepicker-btn-key-date:before{left:12px}.sky-theme-modern .sky-datepicker-btn-key-date:before{left:12px}\n"] }]
18
18
  }], ctorParameters: function () { return [{ type: i1.SkyDatepickerCalendarInnerComponent }]; }, propDecorators: { date: [{
@@ -114,10 +114,10 @@ export class SkyDayPickerCellComponent {
114
114
  }, 500);
115
115
  }
116
116
  }
117
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDayPickerCellComponent, deps: [{ token: i1.SkyDatepickerCalendarInnerComponent }, { token: i2.SkyDatepickerService }], target: i0.ɵɵFactoryTarget.Component }); }
118
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyDayPickerCellComponent, selector: "sky-daypicker-cell", inputs: { activeDateHasChanged: "activeDateHasChanged", date: "date" }, ngImport: i0, template: "<div\n *ngIf=\"hasTooltip\"\n class=\"sky-daypicker-cell\"\n [attr.aria-label]=\"getKeyDateLabel()\"\n [skyPopover]=\"dayInfoPopover\"\n skyPopoverPlacement=\"left\"\n [skyPopoverMessageStream]=\"popoverController\"\n (mouseenter)=\"onDayMouseenter()\"\n (mouseleave)=\"onDayMouseleave()\"\n>\n <ng-container *ngTemplateOutlet=\"daypickerButtonTemplateRef\"></ng-container>\n <sky-popover\n (popoverClosed)=\"onPopoverClosed()\"\n (popoverOpened)=\"onPopoverOpened()\"\n #dayInfoPopover\n >\n <div *ngFor=\"let text of date?.keyDateText\">\n {{ text }}\n </div>\n </sky-popover>\n</div>\n<div\n *ngIf=\"!hasTooltip\"\n class=\"sky-daypicker-cell\"\n (mouseenter)=\"onDayMouseenter()\"\n (mouseleave)=\"onDayMouseleave()\"\n>\n <ng-container *ngTemplateOutlet=\"daypickerButtonTemplateRef\"></ng-container>\n</div>\n\n<ng-template #daypickerButtonTemplateRef>\n <sky-daypicker-button [date]=\"date\"> </sky-daypicker-button>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.λ6, selector: "sky-popover", inputs: ["alignment", "dismissOnBlur", "placement", "popoverTitle", "popoverType"], outputs: ["popoverClosed", "popoverOpened"] }, { kind: "directive", type: i4.λ7, selector: "[skyPopover]", inputs: ["skyPopover", "skyPopoverAlignment", "skyPopoverMessageStream", "skyPopoverPlacement", "skyPopoverTrigger"] }, { kind: "component", type: i5.SkyDayPickerButtonComponent, selector: "sky-daypicker-button", inputs: ["date"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
117
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyDayPickerCellComponent, deps: [{ token: i1.SkyDatepickerCalendarInnerComponent }, { token: i2.SkyDatepickerService }], target: i0.ɵɵFactoryTarget.Component }); }
118
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SkyDayPickerCellComponent, selector: "sky-daypicker-cell", inputs: { activeDateHasChanged: "activeDateHasChanged", date: "date" }, ngImport: i0, template: "<div\n *ngIf=\"hasTooltip\"\n class=\"sky-daypicker-cell\"\n [attr.aria-label]=\"getKeyDateLabel()\"\n [skyPopover]=\"dayInfoPopover\"\n skyPopoverPlacement=\"left\"\n [skyPopoverMessageStream]=\"popoverController\"\n (mouseenter)=\"onDayMouseenter()\"\n (mouseleave)=\"onDayMouseleave()\"\n>\n <ng-container *ngTemplateOutlet=\"daypickerButtonTemplateRef\"></ng-container>\n <sky-popover\n (popoverClosed)=\"onPopoverClosed()\"\n (popoverOpened)=\"onPopoverOpened()\"\n #dayInfoPopover\n >\n <div *ngFor=\"let text of date?.keyDateText\">\n {{ text }}\n </div>\n </sky-popover>\n</div>\n<div\n *ngIf=\"!hasTooltip\"\n class=\"sky-daypicker-cell\"\n (mouseenter)=\"onDayMouseenter()\"\n (mouseleave)=\"onDayMouseleave()\"\n>\n <ng-container *ngTemplateOutlet=\"daypickerButtonTemplateRef\"></ng-container>\n</div>\n\n<ng-template #daypickerButtonTemplateRef>\n <sky-daypicker-button [date]=\"date\"> </sky-daypicker-button>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.λ6, selector: "sky-popover", inputs: ["alignment", "dismissOnBlur", "placement", "popoverTitle", "popoverType"], outputs: ["popoverClosed", "popoverOpened"] }, { kind: "directive", type: i4.λ7, selector: "[skyPopover]", inputs: ["skyPopover", "skyPopoverAlignment", "skyPopoverMessageStream", "skyPopoverPlacement", "skyPopoverTrigger"] }, { kind: "component", type: i5.SkyDayPickerButtonComponent, selector: "sky-daypicker-button", inputs: ["date"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
119
119
  }
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyDayPickerCellComponent, decorators: [{
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyDayPickerCellComponent, decorators: [{
121
121
  type: Component,
122
122
  args: [{ selector: 'sky-daypicker-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"hasTooltip\"\n class=\"sky-daypicker-cell\"\n [attr.aria-label]=\"getKeyDateLabel()\"\n [skyPopover]=\"dayInfoPopover\"\n skyPopoverPlacement=\"left\"\n [skyPopoverMessageStream]=\"popoverController\"\n (mouseenter)=\"onDayMouseenter()\"\n (mouseleave)=\"onDayMouseleave()\"\n>\n <ng-container *ngTemplateOutlet=\"daypickerButtonTemplateRef\"></ng-container>\n <sky-popover\n (popoverClosed)=\"onPopoverClosed()\"\n (popoverOpened)=\"onPopoverOpened()\"\n #dayInfoPopover\n >\n <div *ngFor=\"let text of date?.keyDateText\">\n {{ text }}\n </div>\n </sky-popover>\n</div>\n<div\n *ngIf=\"!hasTooltip\"\n class=\"sky-daypicker-cell\"\n (mouseenter)=\"onDayMouseenter()\"\n (mouseleave)=\"onDayMouseleave()\"\n>\n <ng-container *ngTemplateOutlet=\"daypickerButtonTemplateRef\"></ng-container>\n</div>\n\n<ng-template #daypickerButtonTemplateRef>\n <sky-daypicker-button [date]=\"date\"> </sky-daypicker-button>\n</ng-template>\n" }]
123
123
  }], ctorParameters: function () { return [{ type: i1.SkyDatepickerCalendarInnerComponent }, { type: i2.SkyDatepickerService }]; }, propDecorators: { activeDateHasChanged: [{