@tetacom/ng-components 1.0.71 → 1.0.74

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.
@@ -14,8 +14,8 @@ export declare class DaySelectComponent implements OnInit, OnDestroy, ControlVal
14
14
  disabledDates: Date[];
15
15
  disabledPeriods: DatePeriod[];
16
16
  disabledDays: number[];
17
- minDate: Date;
18
- maxDate: Date;
17
+ set minDate(d: Date);
18
+ set maxDate(d: Date);
19
19
  disabled: boolean;
20
20
  dateSelected: EventEmitter<Date>;
21
21
  monthSelected: EventEmitter<number>;
@@ -23,6 +23,8 @@ export declare class DaySelectComponent implements OnInit, OnDestroy, ControlVal
23
23
  locale: TetaLocalisation;
24
24
  value: Date;
25
25
  _currentValue: Date;
26
+ private _minDate;
27
+ private _maxDate;
26
28
  set currentValue(val: Date);
27
29
  get currentValue(): Date;
28
30
  days: Array<DayModel>;
@@ -1,14 +1,17 @@
1
- import { AfterViewInit, ElementRef } from '@angular/core';
1
+ import { AfterViewInit, ElementRef, NgZone, OnDestroy } from '@angular/core';
2
2
  import { Align } from '../../common/enum/align.enum';
3
3
  import { VerticalAlign } from '../../common/enum/vertical-align.enum';
4
4
  import * as i0 from "@angular/core";
5
- export declare class AutoPositionDirective implements AfterViewInit {
5
+ export declare class AutoPositionDirective implements AfterViewInit, OnDestroy {
6
6
  private _elementRef;
7
+ private _zone;
7
8
  align: Align;
8
9
  verticalAlign: VerticalAlign;
9
10
  fixed: string;
10
- constructor(_elementRef: ElementRef);
11
+ private _alive;
12
+ constructor(_elementRef: ElementRef, _zone: NgZone);
11
13
  ngAfterViewInit(): void;
14
+ ngOnDestroy(): void;
12
15
  private setPosition;
13
16
  static ɵfac: i0.ɵɵFactoryDeclaration<AutoPositionDirective, never>;
14
17
  static ɵdir: i0.ɵɵDirectiveDeclaration<AutoPositionDirective, "[tetaAutoPosition]", never, { "align": "align"; "verticalAlign": "verticalAlign"; }, {}, never, never, false>;
@@ -123,7 +123,7 @@ export class DatePickerComponent {
123
123
  if (this.isScrollIgnored()) {
124
124
  return false;
125
125
  }
126
- this.currentValue = DatePickerUtil.scrollMonth(e.deltaY, this.internalValue);
126
+ this.currentValue = DatePickerUtil.scrollYear(e.deltaY, this.internalValue);
127
127
  };
128
128
  this.openPicker = (show) => {
129
129
  if (this.disabled) {
@@ -285,4 +285,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
285
285
  type: HostListener,
286
286
  args: ['window:keyup', ['$event']]
287
287
  }] } });
288
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXVCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDakQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBSXZFLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFRO0lBQ3JELE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztJQUNsRCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFTRixNQUFNLE9BQU8sbUJBQW1CO0lBMEU5QixZQUNTLGFBQWdDLEVBQy9CLElBQXVCLEVBQ3ZCLFdBQXVCO1FBRnhCLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUMvQixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQXpFeEIsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFRbkIsVUFBSyxHQUFVLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDMUIsa0JBQWEsR0FBa0IsYUFBYSxDQUFDLElBQUksQ0FBQztRQUVsRCxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBSzFCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFlaUMsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFDL0IsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUd2RCxVQUFLLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUV6Qix1QkFBa0IsR0FBRyxjQUFjLENBQUM7UUFDcEMsZ0JBQVcsR0FBbUIsY0FBYyxDQUFDLElBQUksQ0FBQztRQUdsRCxXQUFNLEdBQWdCLElBQUksQ0FBQztRQUduQixXQUFNLEdBQUcsSUFBSSxDQUFDO1FBcUR0QixhQUFRLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRTtRQUN0QixDQUFDLENBQUM7UUFFRixjQUFTLEdBQUcsR0FBRyxFQUFFO1FBQ2pCLENBQUMsQ0FBQztRQTZCRixZQUFPLEdBQUcsQ0FBQyxHQUFTLEVBQUUsRUFBRTtZQUN0QixJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRTtnQkFDckMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7Z0JBQ3pCLE9BQU87YUFDUjtZQUNELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDOUIsRUFBRSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUM7UUFFRixZQUFPLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRTtZQUN6QixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQzlCLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQztRQUVGLGFBQVEsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFO1lBQzNCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDOUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDO1FBRUYsWUFBTyxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDMUIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUM5QixFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUM7UUFFRixjQUFTLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUM3QixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQzlCLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQztRQUVGLGNBQVMsR0FBRyxDQUFDLE9BQWUsRUFBRSxFQUFFO1lBQzlCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDOUIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDO1FBRUYsYUFBUSxHQUFHLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDO1FBRUYsZ0JBQVcsR0FBRyxDQUFDLEtBQWlCLEVBQVEsRUFBRTtZQUN4QyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsQ0FBQyxDQUFDO1FBRUYsMkJBQXNCLEdBQUcsQ0FBQyxHQUFTLEVBQVcsRUFBRTtZQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ3BFLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7WUFDRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUM5QixDQUFDLENBQWEsRUFBRSxFQUFFLENBQ2hCLENBQUM7Z0JBQ0QsQ0FBQyxDQUFDLEtBQUs7Z0JBQ1AsQ0FBQyxDQUFDLEdBQUc7Z0JBQ0wsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFO2dCQUNsQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FDbkMsQ0FBQztRQUNKLENBQUMsQ0FBQztRQUVGLG9CQUFlLEdBQUcsR0FBWSxFQUFFLENBQzlCLElBQUksQ0FBQyxXQUFXLEtBQUssY0FBYyxDQUFDLEtBQUs7WUFDekMsSUFBSSxDQUFDLFdBQVcsS0FBSyxjQUFjLENBQUMsSUFBSSxDQUFDO1FBRTNDLGdCQUFXLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRTtZQUN2QixNQUFNLEtBQUssR0FBRyxDQUFDLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQztZQUU3QixJQUFJLENBQUMsWUFBWSxVQUFVLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdEI7WUFFRCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRTtnQkFDMUIsT0FBTyxLQUFLLENBQUM7YUFDZDtZQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsY0FBYyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzVFLENBQUMsQ0FBQztRQUVGLGVBQVUsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUU7Z0JBQzFCLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7WUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLGNBQWMsQ0FBQyxXQUFXLENBQzVDLENBQUMsQ0FBQyxNQUFNLEVBQ1IsSUFBSSxDQUFDLGFBQWEsQ0FDbkIsQ0FBQztRQUNKLENBQUMsQ0FBQztRQUVGLGVBQVUsR0FBRyxDQUFDLElBQWEsRUFBRSxFQUFFO1lBQzdCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDakIsT0FBTzthQUNSO1lBQ0QsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDcEM7WUFDRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQztRQUVGLGdCQUFXLEdBQUcsR0FBRyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQztRQUVGLGlCQUFZLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUM1QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDO1FBakxBLGFBQWEsQ0FBQyxNQUFNO2FBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNuQyxTQUFTLENBQUMsQ0FBQyxNQUF3QixFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBOURELElBQ0ksTUFBTSxDQUFDLEdBQVc7UUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDckI7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7SUFDOUQsQ0FBQztJQWtCRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLENBQWM7UUFDdEIsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUMzQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNoQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLFlBQVksQ0FBQyxJQUFVO1FBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQWN5QyxLQUFLLENBQUMsS0FBb0I7UUFDbEUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxPQUFPO1NBQ1I7UUFDRCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUMvQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztTQUNuQjtJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFRRCxnQkFBZ0IsQ0FBQyxFQUFvQjtRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBYztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFVO1FBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQThIRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFvQjtRQUMxQixJQUFJLE1BQXNCLENBQUM7UUFDM0IsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLEtBQUssY0FBYyxDQUFDLElBQUksRUFBRTtZQUM3RCxNQUFNLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQztTQUM5QjthQUFNO1lBQ0wsTUFBTSxHQUFHLElBQUksQ0FBQztTQUNmO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUM7SUFDNUIsQ0FBQztJQUVPLFNBQVM7UUFDZixPQUFPLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7O2dIQWxSVSxtQkFBbUI7b0dBQW5CLG1CQUFtQiw0c0JBSG5CLENBQUMsa0NBQWtDLENBQUMsMEJDakNqRCxtaElBK0ZBOzJGRDNEYSxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0Usa0JBQWtCLGFBR2pCLENBQUMsa0NBQWtDLENBQUMsbUJBQzlCLHVCQUF1QixDQUFDLE1BQU07aUtBSXRDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSU4sUUFBUTtzQkFGUCxXQUFXO3VCQUFDLHVCQUF1Qjs7c0JBQ25DLEtBQUs7Z0JBSUYsTUFBTTtzQkFEVCxLQUFLO2dCQVlnQyxJQUFJO3NCQUF6QyxXQUFXO3VCQUFDLHVCQUF1QjtnQkFDYyxlQUFlO3NCQUFoRSxXQUFXO3VCQUFDLGtCQUFrQjtnQkFDVyxRQUFRO3NCQUFqRCxXQUFXO3VCQUFDLFVBQVU7Z0JBa0RtQixLQUFLO3NCQUE5QyxZQUFZO3VCQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7dGFrZVdoaWxlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0RhdGVQZXJpb2R9IGZyb20gJy4uL21vZGVsL2RhdGUtcGVyaW9kJztcbmltcG9ydCB7RGF0ZVBpY2tlck1vZGV9IGZyb20gJy4uL21vZGVsL2RhdGUtcGlja2VyLW1vZGUuZW51bSc7XG5pbXBvcnQge0RhdGVVdGlsfSBmcm9tICcuLi8uLi8uLi91dGlsL2RhdGUtdXRpbCc7XG5pbXBvcnQge0RhdGVQaWNrZXJVdGlsfSBmcm9tICcuLi91dGlsL2RhdGUtcGlja2VyLXV0aWwnO1xuaW1wb3J0IHtBbGlnbn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2VudW0vYWxpZ24uZW51bSc7XG5pbXBvcnQge1ZlcnRpY2FsQWxpZ259IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9lbnVtL3ZlcnRpY2FsLWFsaWduLmVudW0nO1xuaW1wb3J0IHtUZXRhTG9jYWxpc2F0aW9ufSBmcm9tICcuLi8uLi8uLi9sb2NhbGUvdGV0YS1sb2NhbGlzYXRpb24nO1xuaW1wb3J0IHtUZXRhQ29uZmlnU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vbG9jYWxlL3RldGEtY29uZmlnLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgREFURV9QSUNLRVJfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVBpY2tlckNvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1kYXRlLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW0RBVEVfUElDS0VSX0NPTlRST0xfVkFMVUVfQUNDRVNTT1JdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSBpbnZhbGlkOiBib29sZWFuO1xuICBASW5wdXQoKSBmaXJzdERheU9mV2VlayA9IDE7XG4gIEBJbnB1dCgpIGRpc2FibGVkRGF0ZXM6IERhdGVbXTtcbiAgQElucHV0KCkgZGlzYWJsZWRQZXJpb2RzOiBEYXRlUGVyaW9kW107XG4gIEBJbnB1dCgpIGRpc2FibGVkRGF5czogbnVtYmVyW107XG4gIEBJbnB1dCgpIG1pbkRhdGU6IERhdGU7XG4gIEBJbnB1dCgpIG1heERhdGU6IERhdGU7XG4gIEBJbnB1dCgpIG1pblllYXJEYXRlOiBEYXRlO1xuICBASW5wdXQoKSBtYXhZZWFyRGF0ZTogRGF0ZTtcbiAgQElucHV0KCkgYWxpZ246IEFsaWduID0gQWxpZ24ubGVmdDtcbiAgQElucHV0KCkgdmVydGljYWxBbGlnbjogVmVydGljYWxBbGlnbiA9IFZlcnRpY2FsQWxpZ24uYXV0bztcbiAgQElucHV0KCkgYXBwZW5kVG9Cb2R5OiBib29sZWFuO1xuICBASW5wdXQoKSBhbGxvd051bGwgPSB0cnVlO1xuICBASW5wdXQoKSBiYWNrZHJvcDogYm9vbGVhbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRhdGVwaWNrZXItd2lkZScpXG4gIEBJbnB1dCgpXG4gIHNob3dUaW1lID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgc2V0IGZvcm1hdCh2YWw6IHN0cmluZykge1xuICAgIHRoaXMuX2Zvcm1hdCA9IHZhbDtcbiAgfVxuXG4gIGdldCBmb3JtYXQoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5fZm9ybWF0KSB7XG4gICAgICByZXR1cm4gdGhpcy5fZm9ybWF0O1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zaG93VGltZSA/ICdkZC5NTS55eXl5IEhIOm1tOnNzJyA6ICdkZC5NTS55eXl5JztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZGF0ZXBpY2tlcl9vcGVuJykgb3BlbjogYm9vbGVhbjtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kYXRlcGlja2VyJykgcHJpdmF0ZSByZWFkb25seSBjbGFzc0RhdGVwaWNrZXIgPSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ3RhYmluZGV4JykgcHJpdmF0ZSByZWFkb25seSB0YWJpbmRleCA9IDA7XG5cbiAgbG9jYWxlOiBUZXRhTG9jYWxpc2F0aW9uO1xuICB0b2RheTogRGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgZGF0ZVBpY2tlck1vZGVFbnVtID0gRGF0ZVBpY2tlck1vZGU7XG4gIGRpc3BsYXlNb2RlOiBEYXRlUGlja2VyTW9kZSA9IERhdGVQaWNrZXJNb2RlLmRhdGU7XG4gIF9mb3JtYXQ6IHN0cmluZztcblxuICBfdmFsdWU6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgX2N1cnJlbnRWYWx1ZTogRGF0ZTtcblxuICBwcml2YXRlIF9hbGl2ZSA9IHRydWU7XG5cbiAgZ2V0IHZhbHVlKCk6IERhdGUgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBzZXQgdmFsdWUodjogRGF0ZSB8IG51bGwpIHtcbiAgICBpZiAodj8uZ2V0VGltZSgpICE9PSB0aGlzLl92YWx1ZT8uZ2V0VGltZSgpKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHY7XG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHRoaXMuX3ZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGdldCBjdXJyZW50VmFsdWUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRWYWx1ZTtcbiAgfVxuXG4gIHNldCBjdXJyZW50VmFsdWUoZGF0ZTogRGF0ZSkge1xuICAgIHRoaXMuX2N1cnJlbnRWYWx1ZSA9IGRhdGU7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZ2V0IGludGVybmFsVmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFZhbHVlID8/IHRoaXMuZW1wdHlEYXRlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbG9jYWxlU2VydmljZTogVGV0YUNvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICkge1xuICAgIGxvY2FsZVNlcnZpY2UubG9jYWxlXG4gICAgICAucGlwZSh0YWtlV2hpbGUoKF8pID0+IHRoaXMuX2FsaXZlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGxvY2FsZTogVGV0YUxvY2FsaXNhdGlvbikgPT4ge1xuICAgICAgICB0aGlzLmxvY2FsZSA9IGxvY2FsZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleXVwJywgWyckZXZlbnQnXSkga2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub3Blbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHtcbiAgfTtcblxuICBvblRvdWNoZWQgPSAoKSA9PiB7XG4gIH07XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gIH1cblxuICBhcHBseVZhbHVlKGRhdGU6IERhdGUpIHtcbiAgICB0aGlzLnNldERhdGUoZGF0ZSk7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuY3VycmVudFZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UobmV3IERhdGUodGhpcy52YWx1ZSkpO1xuICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgc2V0RGF0ZSA9IChkYXk6IERhdGUpID0+IHtcbiAgICBpZiAoZGF5ID09PSBudWxsIHx8IGRheSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGR0ID0gdGhpcy5pbnRlcm5hbFZhbHVlO1xuICAgIGR0LnNldEZ1bGxZZWFyKGRheS5nZXRGdWxsWWVhcigpLCBkYXkuZ2V0TW9udGgoKSwgZGF5LmdldERhdGUoKSk7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBuZXcgRGF0ZShkdCk7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuXG4gIHNldFllYXIgPSAoeWVhcjogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgZHQgPSB0aGlzLmludGVybmFsVmFsdWU7XG4gICAgZHQuc2V0RnVsbFllYXIoeWVhcik7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBuZXcgRGF0ZShkdCk7XG4gICAgdGhpcy5zZXRNb2RlKERhdGVQaWNrZXJNb2RlLmRhdGUpO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBzZXRNb250aCA9IChtb250aDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgZHQgPSB0aGlzLmludGVybmFsVmFsdWU7XG4gICAgZHQuc2V0TW9udGgobW9udGgpO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gbmV3IERhdGUoZHQpO1xuICAgIHRoaXMuc2V0TW9kZShEYXRlUGlja2VyTW9kZS5kYXRlKTtcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH07XG5cbiAgc2V0SG91ciA9IChob3VyczogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgZHQgPSB0aGlzLmludGVybmFsVmFsdWU7XG4gICAgZHQuc2V0SG91cnMoaG91cnMpO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gbmV3IERhdGUoZHQpO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBzZXRNaW51dGUgPSAobWludXRlOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBkdCA9IHRoaXMuaW50ZXJuYWxWYWx1ZTtcbiAgICBkdC5zZXRNaW51dGVzKG1pbnV0ZSk7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBuZXcgRGF0ZShkdCk7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuXG4gIHNldFNlY29uZCA9IChzZWNvbmRzOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBkdCA9IHRoaXMuaW50ZXJuYWxWYWx1ZTtcbiAgICBkdC5zZXRTZWNvbmRzKHNlY29uZHMpO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gbmV3IERhdGUoZHQpO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBzZXRUb2RheSA9ICgpID0+IHtcbiAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHRoaXMuZW1wdHlEYXRlKCk7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuXG4gIGNsZWFyUGlja2VyID0gKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCA9PiB7XG4gICAgdGhpcy5wcmV2ZW50RXZlbnQoZXZlbnQpO1xuICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XG4gIH07XG5cbiAgaXNEYXRlSW5EaXNhYmxlZFBlcmlvZCA9IChkYXQ6IERhdGUpOiBib29sZWFuID0+IHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWRQZXJpb2RzIHx8IHRoaXMuZGlzYWJsZWRQZXJpb2RzLmxlbmd0aCA8IDEgfHwgIWRhdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZFBlcmlvZHMuc29tZShcbiAgICAgIChkOiBEYXRlUGVyaW9kKSA9PlxuICAgICAgICBkICYmXG4gICAgICAgIGQuc3RhcnQgJiZcbiAgICAgICAgZC5lbmQgJiZcbiAgICAgICAgZC5zdGFydC5nZXRUaW1lKCkgPD0gZGF0LmdldFRpbWUoKSAmJlxuICAgICAgICBkLmVuZC5nZXRUaW1lKCkgPj0gZGF0LmdldFRpbWUoKVxuICAgICk7XG4gIH07XG5cbiAgaXNTY3JvbGxJZ25vcmVkID0gKCk6IGJvb2xlYW4gPT5cbiAgICB0aGlzLmRpc3BsYXlNb2RlID09PSBEYXRlUGlja2VyTW9kZS5tb250aCB8fFxuICAgIHRoaXMuZGlzcGxheU1vZGUgPT09IERhdGVQaWNrZXJNb2RlLnllYXI7XG5cbiAgc2Nyb2xsTW9udGggPSAoZTogYW55KSA9PiB7XG4gICAgY29uc3QgZGVsdGEgPSBlPy5kZWx0YVkgPz8gZTtcblxuICAgIGlmIChlIGluc3RhbmNlb2YgV2hlZWxFdmVudCkge1xuICAgICAgdGhpcy5wcmV2ZW50RXZlbnQoZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNTY3JvbGxJZ25vcmVkKCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBEYXRlUGlja2VyVXRpbC5zY3JvbGxNb250aChkZWx0YSwgdGhpcy5pbnRlcm5hbFZhbHVlKTtcbiAgfTtcblxuICBzY3JvbGxZZWFyID0gKGU6IGFueSkgPT4ge1xuICAgIHRoaXMucHJldmVudEV2ZW50KGUpO1xuICAgIGlmICh0aGlzLmlzU2Nyb2xsSWdub3JlZCgpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudFZhbHVlID0gRGF0ZVBpY2tlclV0aWwuc2Nyb2xsTW9udGgoXG4gICAgICBlLmRlbHRhWSxcbiAgICAgIHRoaXMuaW50ZXJuYWxWYWx1ZVxuICAgICk7XG4gIH07XG5cbiAgb3BlblBpY2tlciA9IChzaG93OiBib29sZWFuKSA9PiB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCFzaG93KSB7XG4gICAgICB0aGlzLnNldE1vZGUoRGF0ZVBpY2tlck1vZGUuZGF0ZSk7XG4gICAgICB0aGlzLmFwcGx5VmFsdWUodGhpcy5jdXJyZW50VmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLm9wZW4gPSBzaG93O1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBjbG9zZVBpY2tlciA9ICgpID0+IHtcbiAgICB0aGlzLm9wZW5QaWNrZXIoZmFsc2UpO1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gIH07XG5cbiAgcHJldmVudEV2ZW50ID0gKGV2ZW50OiBhbnkpID0+IHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICBmb2N1cygpIHtcbiAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIHNldE1vZGUobW9kZTogRGF0ZVBpY2tlck1vZGUpIHtcbiAgICBsZXQgcmVzdWx0OiBEYXRlUGlja2VyTW9kZTtcbiAgICBpZiAobW9kZSA9PT0gdGhpcy5kaXNwbGF5TW9kZSB8fCBtb2RlID09PSBEYXRlUGlja2VyTW9kZS5kYXRlKSB7XG4gICAgICByZXN1bHQgPSBEYXRlUGlja2VyTW9kZS5kYXRlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSBtb2RlO1xuICAgIH1cbiAgICB0aGlzLmRpc3BsYXlNb2RlID0gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBlbXB0eURhdGUoKSB7XG4gICAgcmV0dXJuIERhdGVVdGlsLnRydW5jYXRlVG9EYXkobmV3IERhdGUoKSk7XG4gIH1cbn1cbiIsIjx0ZXRhLWRyb3Bkb3duXG4gIGNsYXNzPVwicm93IHJvd19hdXRvXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW29wZW5dPVwib3BlblwiXG4gIFthdXRvQ2xvc2VJZ25vcmVdPVwiWydlc2MnLCAnaW5zaWRlJ11cIlxuICAob3BlbkNoYW5nZSk9XCJvcGVuUGlja2VyKCRldmVudClcIlxuICBbYWxpZ25dPVwiYWxpZ25cIlxuICBbdmVydGljYWxBbGlnbl09XCJ2ZXJ0aWNhbEFsaWduXCJcbiAgW2FwcGVuZFRvQm9keV09XCJhcHBlbmRUb0JvZHlcIlxuICBbYmFja2Ryb3BdPVwiYmFja2Ryb3BcIj5cbiAgPGRpdiB0ZXRhRHJvcGRvd25IZWFkXG4gICAgICAgY2xhc3M9XCJkYXRlcGlja2VyLWhlYWQgZm9udC1ib2R5LTNcIlxuICAgICAgIFtjbGFzcy5kYXRlcGlja2VyLWhlYWRfZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgIFtjbGFzcy5kYXRlcGlja2VyLWhlYWRfaW52YWxpZF09XCJpbnZhbGlkXCI+XG4gICAgPHRldGEtaWNvbiBbbmFtZV09XCInY2FsZW5kYXInXCIgY2xhc3M9XCJtYXJnaW4tcmlnaHQtMVwiPjwvdGV0YS1pY29uPlxuICAgIDxkaXYgY2xhc3M9XCJyb3dfYXV0byBub3dyYXBcIj5cbiAgICAgIHt7Y3VycmVudFZhbHVlICE9PSBudWxsICYmIGN1cnJlbnRWYWx1ZSAhPT0gdW5kZWZpbmVkID8gKGN1cnJlbnRWYWx1ZSB8IGRhdGUgOiBmb3JtYXQpIDogJyd9fVxuICAgIDwvZGl2PlxuICAgIDx0ZXRhLWljb24gKm5nSWY9XCJhbGxvd051bGxcIlxuICAgICAgICAgICAgICAgW25hbWVdPVwiJ2Nsb3NlQmlnJ1wiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJQaWNrZXIoJGV2ZW50KTtcIlxuICAgICAgICAgICAgICAgY2xhc3M9XCJtYXJnaW4tbGVmdC0xXCI+PC90ZXRhLWljb24+XG4gIDwvZGl2PlxuICA8ZGl2IHRldGFEcm9wZG93bkNvbnRlbnQgY2xhc3M9XCJzY3JvbGxhYmxlXCIgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCI+XG4gICAgPGRpdiBjbGFzcz1cInBhZGRpbmctM1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8YnV0dG9uIHRldGEtYnV0dG9uXG4gICAgICAgICAgICAgICAgICBbcGFsZXR0ZV09XCIndGV4dCdcIlxuICAgICAgICAgICAgICAgICAgW3ZpZXddPVwiZGlzcGxheU1vZGU9PT1kYXRlUGlja2VyTW9kZUVudW0ubW9udGggPyAncHJpbWFyeScgOiAnZ2hvc3QnXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZXRNb2RlKGRhdGVQaWNrZXJNb2RlRW51bS5tb250aClcIlxuICAgICAgICAgICAgICAgICAgKHdoZWVsKT1cInNjcm9sbE1vbnRoKCRldmVudCk7XCI+XG4gICAgICAgICAgICB7e2xvY2FsZS5tb250aHNbaW50ZXJuYWxWYWx1ZT8uZ2V0TW9udGgoKV19fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gdGV0YS1idXR0b25cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWFyZ2luLWxlZnQtMlwiXG4gICAgICAgICAgICAgICAgICBbcGFsZXR0ZV09XCIndGV4dCdcIlxuICAgICAgICAgICAgICAgICAgW3ZpZXddPVwiZGlzcGxheU1vZGU9PT1kYXRlUGlja2VyTW9kZUVudW0ueWVhciA/ICdwcmltYXJ5JyA6ICdnaG9zdCdcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldE1vZGUoZGF0ZVBpY2tlck1vZGVFbnVtLnllYXIpXCJcbiAgICAgICAgICAgICAgICAgICh3aGVlbCk9XCJzY3JvbGxZZWFyKCRldmVudCk7XCI+XG4gICAgICAgICAgICB7e2ludGVybmFsVmFsdWU/LmdldEZ1bGxZZWFyKCl9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvbiB0ZXRhLWJ1dHRvblxuICAgICAgICAgICAgICAgIFtwYWxldHRlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICAgICAgW3ZpZXddPVwiJ2dob3N0J1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldFRvZGF5KClcIj5cbiAgICAgICAgICA8dGV0YS1pY29uIFtuYW1lXT1cIidjYWxlbmRhcidcIj48L3RldGEtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkYXRlcGlja2VyLWNvbnRlbnRcIj5cbiAgICAgICAgPHRldGEteWVhci1zZWxlY3RcbiAgICAgICAgICAqbmdJZj1cImRpc3BsYXlNb2RlID09PSBkYXRlUGlja2VyTW9kZUVudW0ueWVhclwiXG4gICAgICAgICAgW2N1cnJlbnRZZWFyXT1cImludGVybmFsVmFsdWU/LmdldEZ1bGxZZWFyKClcIlxuICAgICAgICAgIFt0b2RheV09XCJ0b2RheVwiXG4gICAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgICAgICAgKHllYXJTZWxlY3RlZCk9XCJzZXRZZWFyKCRldmVudClcIj5cbiAgICAgICAgPC90ZXRhLXllYXItc2VsZWN0PlxuICAgICAgICA8dGV0YS1tb250aC1zZWxlY3RcbiAgICAgICAgICAqbmdJZj1cImRpc3BsYXlNb2RlID09PSBkYXRlUGlja2VyTW9kZUVudW0ubW9udGhcIlxuICAgICAgICAgIFtjdXJyZW50TW9udGhdPVwiaW50ZXJuYWxWYWx1ZT8uZ2V0TW9udGgoKVwiXG4gICAgICAgICAgW2N1cnJlbnRZZWFyXT1cImludGVybmFsVmFsdWU/LmdldEZ1bGxZZWFyKClcIlxuICAgICAgICAgIFtsb2NhbGVdPVwibG9jYWxlXCJcbiAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgICAgICAobW9udGhTZWxlY3RlZCk9XCJzZXRNb250aCgkZXZlbnQpXCI+XG4gICAgICAgIDwvdGV0YS1tb250aC1zZWxlY3Q+XG4gICAgICAgIDx0ZXRhLWRheS1zZWxlY3RcbiAgICAgICAgICAqbmdJZj1cImRpc3BsYXlNb2RlID09PSBkYXRlUGlja2VyTW9kZUVudW0uZGF0ZVwiXG4gICAgICAgICAgW25nTW9kZWxdPVwiY3VycmVudFZhbHVlXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJhcHBseVZhbHVlKCRldmVudClcIlxuICAgICAgICAgIChkYXRlU2VsZWN0ZWQpPVwic2V0RGF0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAoeWVhclNlbGVjdGVkKT1cInNldFllYXIoJGV2ZW50KVwiXG4gICAgICAgICAgKG1vbnRoU2VsZWN0ZWQpPVwic2V0TW9udGgoJGV2ZW50KVwiXG4gICAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgICAgICAgW2ZpcnN0RGF5T2ZXZWVrXT1cImZpcnN0RGF5T2ZXZWVrXCJcbiAgICAgICAgICBbZGlzYWJsZWREYXlzXT1cImRpc2FibGVkRGF5c1wiXG4gICAgICAgICAgW2Rpc2FibGVkRGF0ZXNdPVwiZGlzYWJsZWREYXRlc1wiXG4gICAgICAgICAgW2Rpc2FibGVkUGVyaW9kc109XCJkaXNhYmxlZFBlcmlvZHNcIj48L3RldGEtZGF5LXNlbGVjdD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJzaG93VGltZVwiIGNsYXNzPVwiZGF0ZXBpY2tlci10aW1lIHBhZGRpbmctdi0xIGJvcmRlci10b3AgYm9yZGVyLXRleHQtMTAgZm9udC1ib2R5LTMgY29sb3ItdGV4dC05MFwiPlxuICAgICAgPHRldGEtdGltZS1wYXJ0LWNvbnRyb2wgW21heF09XCIyM1wiIFtuZ01vZGVsXT1cImludGVybmFsVmFsdWU/LmdldEhvdXJzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0SG91cigkZXZlbnQpXCI+PC90ZXRhLXRpbWUtcGFydC1jb250cm9sPlxuICAgICAgOlxuICAgICAgPHRldGEtdGltZS1wYXJ0LWNvbnRyb2wgW25nTW9kZWxdPVwiaW50ZXJuYWxWYWx1ZT8uZ2V0TWludXRlcygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNldE1pbnV0ZSgkZXZlbnQpXCI+PC90ZXRhLXRpbWUtcGFydC1jb250cm9sPlxuICAgICAgOlxuICAgICAgPHRldGEtdGltZS1wYXJ0LWNvbnRyb2wgW25nTW9kZWxdPVwiaW50ZXJuYWxWYWx1ZT8uZ2V0U2Vjb25kcygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNldFNlY29uZCgkZXZlbnQpXCI+PC90ZXRhLXRpbWUtcGFydC1jb250cm9sPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvdGV0YS1kcm9wZG93bj5cbiJdfQ==
288
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXVCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDakQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBSXZFLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFRO0lBQ3JELE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztJQUNsRCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFTRixNQUFNLE9BQU8sbUJBQW1CO0lBMEU5QixZQUNTLGFBQWdDLEVBQy9CLElBQXVCLEVBQ3ZCLFdBQXVCO1FBRnhCLGtCQUFhLEdBQWIsYUFBYSxDQUFt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Q0FBQyxDQUFDO0lBQzVDLENBQUM7O2dIQWxSVSxtQkFBbUI7b0dBQW5CLG1CQUFtQiw0c0JBSG5CLENBQUMsa0NBQWtDLENBQUMsMEJDakNqRCxtaElBK0ZBOzJGRDNEYSxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0Usa0JBQWtCLGFBR2pCLENBQUMsa0NBQWtDLENBQUMsbUJBQzlCLHVCQUF1QixDQUFDLE1BQU07aUtBSXRDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSU4sUUFBUTtzQkFGUCxXQUFXO3VCQUFDLHVCQUF1Qjs7c0JBQ25DLEtBQUs7Z0JBSUYsTUFBTTtzQkFEVCxLQUFLO2dCQVlnQyxJQUFJO3NCQUF6QyxXQUFXO3VCQUFDLHVCQUF1QjtnQkFDYyxlQUFlO3NCQUFoRSxXQUFXO3VCQUFDLGtCQUFrQjtnQkFDVyxRQUFRO3NCQUFqRCxXQUFXO3VCQUFDLFVBQVU7Z0JBa0RtQixLQUFLO3NCQUE5QyxZQUFZO3VCQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7dGFrZVdoaWxlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0RhdGVQZXJpb2R9IGZyb20gJy4uL21vZGVsL2RhdGUtcGVyaW9kJztcbmltcG9ydCB7RGF0ZVBpY2tlck1vZGV9IGZyb20gJy4uL21vZGVsL2RhdGUtcGlja2VyLW1vZGUuZW51bSc7XG5pbXBvcnQge0RhdGVVdGlsfSBmcm9tICcuLi8uLi8uLi91dGlsL2RhdGUtdXRpbCc7XG5pbXBvcnQge0RhdGVQaWNrZXJVdGlsfSBmcm9tICcuLi91dGlsL2RhdGUtcGlja2VyLXV0aWwnO1xuaW1wb3J0IHtBbGlnbn0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2VudW0vYWxpZ24uZW51bSc7XG5pbXBvcnQge1ZlcnRpY2FsQWxpZ259IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9lbnVtL3ZlcnRpY2FsLWFsaWduLmVudW0nO1xuaW1wb3J0IHtUZXRhTG9jYWxpc2F0aW9ufSBmcm9tICcuLi8uLi8uLi9sb2NhbGUvdGV0YS1sb2NhbGlzYXRpb24nO1xuaW1wb3J0IHtUZXRhQ29uZmlnU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vbG9jYWxlL3RldGEtY29uZmlnLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgREFURV9QSUNLRVJfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVBpY2tlckNvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1kYXRlLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW0RBVEVfUElDS0VSX0NPTlRST0xfVkFMVUVfQUNDRVNTT1JdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSBpbnZhbGlkOiBib29sZWFuO1xuICBASW5wdXQoKSBmaXJzdERheU9mV2VlayA9IDE7XG4gIEBJbnB1dCgpIGRpc2FibGVkRGF0ZXM6IERhdGVbXTtcbiAgQElucHV0KCkgZGlzYWJsZWRQZXJpb2RzOiBEYXRlUGVyaW9kW107XG4gIEBJbnB1dCgpIGRpc2FibGVkRGF5czogbnVtYmVyW107XG4gIEBJbnB1dCgpIG1pbkRhdGU6IERhdGU7XG4gIEBJbnB1dCgpIG1heERhdGU6IERhdGU7XG4gIEBJbnB1dCgpIG1pblllYXJEYXRlOiBEYXRlO1xuICBASW5wdXQoKSBtYXhZZWFyRGF0ZTogRGF0ZTtcbiAgQElucHV0KCkgYWxpZ246IEFsaWduID0gQWxpZ24ubGVmdDtcbiAgQElucHV0KCkgdmVydGljYWxBbGlnbjogVmVydGljYWxBbGlnbiA9IFZlcnRpY2FsQWxpZ24uYXV0bztcbiAgQElucHV0KCkgYXBwZW5kVG9Cb2R5OiBib29sZWFuO1xuICBASW5wdXQoKSBhbGxvd051bGwgPSB0cnVlO1xuICBASW5wdXQoKSBiYWNrZHJvcDogYm9vbGVhbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRhdGVwaWNrZXItd2lkZScpXG4gIEBJbnB1dCgpXG4gIHNob3dUaW1lID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgc2V0IGZvcm1hdCh2YWw6IHN0cmluZykge1xuICAgIHRoaXMuX2Zvcm1hdCA9IHZhbDtcbiAgfVxuXG4gIGdldCBmb3JtYXQoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5fZm9ybWF0KSB7XG4gICAgICByZXR1cm4gdGhpcy5fZm9ybWF0O1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zaG93VGltZSA/ICdkZC5NTS55eXl5IEhIOm1tOnNzJyA6ICdkZC5NTS55eXl5JztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZGF0ZXBpY2tlcl9vcGVuJykgb3BlbjogYm9vbGVhbjtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kYXRlcGlja2VyJykgcHJpdmF0ZSByZWFkb25seSBjbGFzc0RhdGVwaWNrZXIgPSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ3RhYmluZGV4JykgcHJpdmF0ZSByZWFkb25seSB0YWJpbmRleCA9IDA7XG5cbiAgbG9jYWxlOiBUZXRhTG9jYWxpc2F0aW9uO1xuICB0b2RheTogRGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgZGF0ZVBpY2tlck1vZGVFbnVtID0gRGF0ZVBpY2tlck1vZGU7XG4gIGRpc3BsYXlNb2RlOiBEYXRlUGlja2VyTW9kZSA9IERhdGVQaWNrZXJNb2RlLmRhdGU7XG4gIF9mb3JtYXQ6IHN0cmluZztcblxuICBfdmFsdWU6IERhdGUgfCBudWxsID0gbnVsbDtcbiAgX2N1cnJlbnRWYWx1ZTogRGF0ZTtcblxuICBwcml2YXRlIF9hbGl2ZSA9IHRydWU7XG5cbiAgZ2V0IHZhbHVlKCk6IERhdGUgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBzZXQgdmFsdWUodjogRGF0ZSB8IG51bGwpIHtcbiAgICBpZiAodj8uZ2V0VGltZSgpICE9PSB0aGlzLl92YWx1ZT8uZ2V0VGltZSgpKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHY7XG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHRoaXMuX3ZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGdldCBjdXJyZW50VmFsdWUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRWYWx1ZTtcbiAgfVxuXG4gIHNldCBjdXJyZW50VmFsdWUoZGF0ZTogRGF0ZSkge1xuICAgIHRoaXMuX2N1cnJlbnRWYWx1ZSA9IGRhdGU7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZ2V0IGludGVybmFsVmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFZhbHVlID8/IHRoaXMuZW1wdHlEYXRlKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbG9jYWxlU2VydmljZTogVGV0YUNvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICkge1xuICAgIGxvY2FsZVNlcnZpY2UubG9jYWxlXG4gICAgICAucGlwZSh0YWtlV2hpbGUoKF8pID0+IHRoaXMuX2FsaXZlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGxvY2FsZTogVGV0YUxvY2FsaXNhdGlvbikgPT4ge1xuICAgICAgICB0aGlzLmxvY2FsZSA9IGxvY2FsZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleXVwJywgWyckZXZlbnQnXSkga2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub3Blbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvbkNoYW5nZSA9IChfOiBhbnkpID0+IHtcbiAgfTtcblxuICBvblRvdWNoZWQgPSAoKSA9PiB7XG4gIH07XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gIH1cblxuICBhcHBseVZhbHVlKGRhdGU6IERhdGUpIHtcbiAgICB0aGlzLnNldERhdGUoZGF0ZSk7XG4gICAgdGhpcy52YWx1ZSA9IHRoaXMuY3VycmVudFZhbHVlO1xuICAgIHRoaXMub25DaGFuZ2UobmV3IERhdGUodGhpcy52YWx1ZSkpO1xuICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgc2V0RGF0ZSA9IChkYXk6IERhdGUpID0+IHtcbiAgICBpZiAoZGF5ID09PSBudWxsIHx8IGRheSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGR0ID0gdGhpcy5pbnRlcm5hbFZhbHVlO1xuICAgIGR0LnNldEZ1bGxZZWFyKGRheS5nZXRGdWxsWWVhcigpLCBkYXkuZ2V0TW9udGgoKSwgZGF5LmdldERhdGUoKSk7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBuZXcgRGF0ZShkdCk7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuXG4gIHNldFllYXIgPSAoeWVhcjogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgZHQgPSB0aGlzLmludGVybmFsVmFsdWU7XG4gICAgZHQuc2V0RnVsbFllYXIoeWVhcik7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBuZXcgRGF0ZShkdCk7XG4gICAgdGhpcy5zZXRNb2RlKERhdGVQaWNrZXJNb2RlLmRhdGUpO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBzZXRNb250aCA9IChtb250aDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgZHQgPSB0aGlzLmludGVybmFsVmFsdWU7XG4gICAgZHQuc2V0TW9udGgobW9udGgpO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gbmV3IERhdGUoZHQpO1xuICAgIHRoaXMuc2V0TW9kZShEYXRlUGlja2VyTW9kZS5kYXRlKTtcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH07XG5cbiAgc2V0SG91ciA9IChob3VyczogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgZHQgPSB0aGlzLmludGVybmFsVmFsdWU7XG4gICAgZHQuc2V0SG91cnMoaG91cnMpO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gbmV3IERhdGUoZHQpO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBzZXRNaW51dGUgPSAobWludXRlOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBkdCA9IHRoaXMuaW50ZXJuYWxWYWx1ZTtcbiAgICBkdC5zZXRNaW51dGVzKG1pbnV0ZSk7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBuZXcgRGF0ZShkdCk7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuXG4gIHNldFNlY29uZCA9IChzZWNvbmRzOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBkdCA9IHRoaXMuaW50ZXJuYWxWYWx1ZTtcbiAgICBkdC5zZXRTZWNvbmRzKHNlY29uZHMpO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gbmV3IERhdGUoZHQpO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBzZXRUb2RheSA9ICgpID0+IHtcbiAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHRoaXMuZW1wdHlEYXRlKCk7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuXG4gIGNsZWFyUGlja2VyID0gKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCA9PiB7XG4gICAgdGhpcy5wcmV2ZW50RXZlbnQoZXZlbnQpO1xuICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XG4gIH07XG5cbiAgaXNEYXRlSW5EaXNhYmxlZFBlcmlvZCA9IChkYXQ6IERhdGUpOiBib29sZWFuID0+IHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWRQZXJpb2RzIHx8IHRoaXMuZGlzYWJsZWRQZXJpb2RzLmxlbmd0aCA8IDEgfHwgIWRhdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZFBlcmlvZHMuc29tZShcbiAgICAgIChkOiBEYXRlUGVyaW9kKSA9PlxuICAgICAgICBkICYmXG4gICAgICAgIGQuc3RhcnQgJiZcbiAgICAgICAgZC5lbmQgJiZcbiAgICAgICAgZC5zdGFydC5nZXRUaW1lKCkgPD0gZGF0LmdldFRpbWUoKSAmJlxuICAgICAgICBkLmVuZC5nZXRUaW1lKCkgPj0gZGF0LmdldFRpbWUoKVxuICAgICk7XG4gIH07XG5cbiAgaXNTY3JvbGxJZ25vcmVkID0gKCk6IGJvb2xlYW4gPT5cbiAgICB0aGlzLmRpc3BsYXlNb2RlID09PSBEYXRlUGlja2VyTW9kZS5tb250aCB8fFxuICAgIHRoaXMuZGlzcGxheU1vZGUgPT09IERhdGVQaWNrZXJNb2RlLnllYXI7XG5cbiAgc2Nyb2xsTW9udGggPSAoZTogYW55KSA9PiB7XG4gICAgY29uc3QgZGVsdGEgPSBlPy5kZWx0YVkgPz8gZTtcblxuICAgIGlmIChlIGluc3RhbmNlb2YgV2hlZWxFdmVudCkge1xuICAgICAgdGhpcy5wcmV2ZW50RXZlbnQoZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNTY3JvbGxJZ25vcmVkKCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBEYXRlUGlja2VyVXRpbC5zY3JvbGxNb250aChkZWx0YSwgdGhpcy5pbnRlcm5hbFZhbHVlKTtcbiAgfTtcblxuICBzY3JvbGxZZWFyID0gKGU6IGFueSkgPT4ge1xuICAgIHRoaXMucHJldmVudEV2ZW50KGUpO1xuICAgIGlmICh0aGlzLmlzU2Nyb2xsSWdub3JlZCgpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudFZhbHVlID0gRGF0ZVBpY2tlclV0aWwuc2Nyb2xsWWVhcihcbiAgICAgIGUuZGVsdGFZLFxuICAgICAgdGhpcy5pbnRlcm5hbFZhbHVlXG4gICAgKTtcbiAgfTtcblxuICBvcGVuUGlja2VyID0gKHNob3c6IGJvb2xlYW4pID0+IHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIXNob3cpIHtcbiAgICAgIHRoaXMuc2V0TW9kZShEYXRlUGlja2VyTW9kZS5kYXRlKTtcbiAgICAgIHRoaXMuYXBwbHlWYWx1ZSh0aGlzLmN1cnJlbnRWYWx1ZSk7XG4gICAgfVxuICAgIHRoaXMub3BlbiA9IHNob3c7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9O1xuXG4gIGNsb3NlUGlja2VyID0gKCkgPT4ge1xuICAgIHRoaXMub3BlblBpY2tlcihmYWxzZSk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfTtcblxuICBwcmV2ZW50RXZlbnQgPSAoZXZlbnQ6IGFueSkgPT4ge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xuXG4gIGZvY3VzKCkge1xuICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgc2V0TW9kZShtb2RlOiBEYXRlUGlja2VyTW9kZSkge1xuICAgIGxldCByZXN1bHQ6IERhdGVQaWNrZXJNb2RlO1xuICAgIGlmIChtb2RlID09PSB0aGlzLmRpc3BsYXlNb2RlIHx8IG1vZGUgPT09IERhdGVQaWNrZXJNb2RlLmRhdGUpIHtcbiAgICAgIHJlc3VsdCA9IERhdGVQaWNrZXJNb2RlLmRhdGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IG1vZGU7XG4gICAgfVxuICAgIHRoaXMuZGlzcGxheU1vZGUgPSByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGVtcHR5RGF0ZSgpIHtcbiAgICByZXR1cm4gRGF0ZVV0aWwudHJ1bmNhdGVUb0RheShuZXcgRGF0ZSgpKTtcbiAgfVxufVxuIiwiPHRldGEtZHJvcGRvd25cbiAgY2xhc3M9XCJyb3cgcm93X2F1dG9cIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbb3Blbl09XCJvcGVuXCJcbiAgW2F1dG9DbG9zZUlnbm9yZV09XCJbJ2VzYycsICdpbnNpZGUnXVwiXG4gIChvcGVuQ2hhbmdlKT1cIm9wZW5QaWNrZXIoJGV2ZW50KVwiXG4gIFthbGlnbl09XCJhbGlnblwiXG4gIFt2ZXJ0aWNhbEFsaWduXT1cInZlcnRpY2FsQWxpZ25cIlxuICBbYXBwZW5kVG9Cb2R5XT1cImFwcGVuZFRvQm9keVwiXG4gIFtiYWNrZHJvcF09XCJiYWNrZHJvcFwiPlxuICA8ZGl2IHRldGFEcm9wZG93bkhlYWRcbiAgICAgICBjbGFzcz1cImRhdGVwaWNrZXItaGVhZCBmb250LWJvZHktM1wiXG4gICAgICAgW2NsYXNzLmRhdGVwaWNrZXItaGVhZF9kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgW2NsYXNzLmRhdGVwaWNrZXItaGVhZF9pbnZhbGlkXT1cImludmFsaWRcIj5cbiAgICA8dGV0YS1pY29uIFtuYW1lXT1cIidjYWxlbmRhcidcIiBjbGFzcz1cIm1hcmdpbi1yaWdodC0xXCI+PC90ZXRhLWljb24+XG4gICAgPGRpdiBjbGFzcz1cInJvd19hdXRvIG5vd3JhcFwiPlxuICAgICAge3tjdXJyZW50VmFsdWUgIT09IG51bGwgJiYgY3VycmVudFZhbHVlICE9PSB1bmRlZmluZWQgPyAoY3VycmVudFZhbHVlIHwgZGF0ZSA6IGZvcm1hdCkgOiAnJ319XG4gICAgPC9kaXY+XG4gICAgPHRldGEtaWNvbiAqbmdJZj1cImFsbG93TnVsbFwiXG4gICAgICAgICAgICAgICBbbmFtZV09XCInY2xvc2VCaWcnXCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJjbGVhclBpY2tlcigkZXZlbnQpO1wiXG4gICAgICAgICAgICAgICBjbGFzcz1cIm1hcmdpbi1sZWZ0LTFcIj48L3RldGEtaWNvbj5cbiAgPC9kaXY+XG4gIDxkaXYgdGV0YURyb3Bkb3duQ29udGVudCBjbGFzcz1cInNjcm9sbGFibGVcIiAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIj5cbiAgICA8ZGl2IGNsYXNzPVwicGFkZGluZy0zXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicm93IGFsaWduLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxidXR0b24gdGV0YS1idXR0b25cbiAgICAgICAgICAgICAgICAgIFtwYWxldHRlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICAgICAgICBbdmlld109XCJkaXNwbGF5TW9kZT09PWRhdGVQaWNrZXJNb2RlRW51bS5tb250aCA/ICdwcmltYXJ5JyA6ICdnaG9zdCdcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldE1vZGUoZGF0ZVBpY2tlck1vZGVFbnVtLm1vbnRoKVwiXG4gICAgICAgICAgICAgICAgICAod2hlZWwpPVwic2Nyb2xsTW9udGgoJGV2ZW50KTtcIj5cbiAgICAgICAgICAgIHt7bG9jYWxlLm1vbnRoc1tpbnRlcm5hbFZhbHVlPy5nZXRNb250aCgpXX19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiB0ZXRhLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXJnaW4tbGVmdC0yXCJcbiAgICAgICAgICAgICAgICAgIFtwYWxldHRlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICAgICAgICBbdmlld109XCJkaXNwbGF5TW9kZT09PWRhdGVQaWNrZXJNb2RlRW51bS55ZWFyID8gJ3ByaW1hcnknIDogJ2dob3N0J1wiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0TW9kZShkYXRlUGlja2VyTW9kZUVudW0ueWVhcilcIlxuICAgICAgICAgICAgICAgICAgKHdoZWVsKT1cInNjcm9sbFllYXIoJGV2ZW50KTtcIj5cbiAgICAgICAgICAgIHt7aW50ZXJuYWxWYWx1ZT8uZ2V0RnVsbFllYXIoKX19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uIHRldGEtYnV0dG9uXG4gICAgICAgICAgICAgICAgW3BhbGV0dGVdPVwiJ3RleHQnXCJcbiAgICAgICAgICAgICAgICBbdmlld109XCInZ2hvc3QnXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0VG9kYXkoKVwiPlxuICAgICAgICAgIDx0ZXRhLWljb24gW25hbWVdPVwiJ2NhbGVuZGFyJ1wiPjwvdGV0YS1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImRhdGVwaWNrZXItY29udGVudFwiPlxuICAgICAgICA8dGV0YS15ZWFyLXNlbGVjdFxuICAgICAgICAgICpuZ0lmPVwiZGlzcGxheU1vZGUgPT09IGRhdGVQaWNrZXJNb2RlRW51bS55ZWFyXCJcbiAgICAgICAgICBbY3VycmVudFllYXJdPVwiaW50ZXJuYWxWYWx1ZT8uZ2V0RnVsbFllYXIoKVwiXG4gICAgICAgICAgW3RvZGF5XT1cInRvZGF5XCJcbiAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgICAgICAoeWVhclNlbGVjdGVkKT1cInNldFllYXIoJGV2ZW50KVwiPlxuICAgICAgICA8L3RldGEteWVhci1zZWxlY3Q+XG4gICAgICAgIDx0ZXRhLW1vbnRoLXNlbGVjdFxuICAgICAgICAgICpuZ0lmPVwiZGlzcGxheU1vZGUgPT09IGRhdGVQaWNrZXJNb2RlRW51bS5tb250aFwiXG4gICAgICAgICAgW2N1cnJlbnRNb250aF09XCJpbnRlcm5hbFZhbHVlPy5nZXRNb250aCgpXCJcbiAgICAgICAgICBbY3VycmVudFllYXJdPVwiaW50ZXJuYWxWYWx1ZT8uZ2V0RnVsbFllYXIoKVwiXG4gICAgICAgICAgW2xvY2FsZV09XCJsb2NhbGVcIlxuICAgICAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgICAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgICAgICAgIChtb250aFNlbGVjdGVkKT1cInNldE1vbnRoKCRldmVudClcIj5cbiAgICAgICAgPC90ZXRhLW1vbnRoLXNlbGVjdD5cbiAgICAgICAgPHRldGEtZGF5LXNlbGVjdFxuICAgICAgICAgICpuZ0lmPVwiZGlzcGxheU1vZGUgPT09IGRhdGVQaWNrZXJNb2RlRW51bS5kYXRlXCJcbiAgICAgICAgICBbbmdNb2RlbF09XCJjdXJyZW50VmFsdWVcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImFwcGx5VmFsdWUoJGV2ZW50KVwiXG4gICAgICAgICAgKGRhdGVTZWxlY3RlZCk9XCJzZXREYXRlKCRldmVudClcIlxuICAgICAgICAgICh5ZWFyU2VsZWN0ZWQpPVwic2V0WWVhcigkZXZlbnQpXCJcbiAgICAgICAgICAobW9udGhTZWxlY3RlZCk9XCJzZXRNb250aCgkZXZlbnQpXCJcbiAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgICAgICBbZmlyc3REYXlPZldlZWtdPVwiZmlyc3REYXlPZldlZWtcIlxuICAgICAgICAgIFtkaXNhYmxlZERheXNdPVwiZGlzYWJsZWREYXlzXCJcbiAgICAgICAgICBbZGlzYWJsZWREYXRlc109XCJkaXNhYmxlZERhdGVzXCJcbiAgICAgICAgICBbZGlzYWJsZWRQZXJpb2RzXT1cImRpc2FibGVkUGVyaW9kc1wiPjwvdGV0YS1kYXktc2VsZWN0PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cInNob3dUaW1lXCIgY2xhc3M9XCJkYXRlcGlja2VyLXRpbWUgcGFkZGluZy12LTEgYm9yZGVyLXRvcCBib3JkZXItdGV4dC0xMCBmb250LWJvZHktMyBjb2xvci10ZXh0LTkwXCI+XG4gICAgICA8dGV0YS10aW1lLXBhcnQtY29udHJvbCBbbWF4XT1cIjIzXCIgW25nTW9kZWxdPVwiaW50ZXJuYWxWYWx1ZT8uZ2V0SG91cnMoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZXRIb3VyKCRldmVudClcIj48L3RldGEtdGltZS1wYXJ0LWNvbnRyb2w+XG4gICAgICA6XG4gICAgICA8dGV0YS10aW1lLXBhcnQtY29udHJvbCBbbmdNb2RlbF09XCJpbnRlcm5hbFZhbHVlPy5nZXRNaW51dGVzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0TWludXRlKCRldmVudClcIj48L3RldGEtdGltZS1wYXJ0LWNvbnRyb2w+XG4gICAgICA6XG4gICAgICA8dGV0YS10aW1lLXBhcnQtY29udHJvbCBbbmdNb2RlbF09XCJpbnRlcm5hbFZhbHVlPy5nZXRTZWNvbmRzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0U2Vjb25kKCRldmVudClcIj48L3RldGEtdGltZS1wYXJ0LWNvbnRyb2w+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC90ZXRhLWRyb3Bkb3duPlxuIl19
@@ -29,6 +29,22 @@ export class DaySelectComponent {
29
29
  this.locale = locale;
30
30
  });
31
31
  }
32
+ set minDate(d) {
33
+ this._minDate = d;
34
+ if (this._currentValue) {
35
+ this.createDays();
36
+ }
37
+ this._cdr.markForCheck();
38
+ }
39
+ ;
40
+ set maxDate(d) {
41
+ this._maxDate = d;
42
+ if (this._currentValue) {
43
+ this.createDays();
44
+ }
45
+ this._cdr.markForCheck();
46
+ }
47
+ ;
32
48
  set currentValue(val) {
33
49
  if (!this._currentValue ||
34
50
  DateUtil.truncateToDay(val)?.getTime() !==
@@ -121,7 +137,7 @@ export class DaySelectComponent {
121
137
  return result;
122
138
  }
123
139
  createDays() {
124
- this.days = DatePickerUtil.getPickerDays(this.currentValue, this.firstDayOfWeek, this.minDate, this.maxDate, this.disabledDates, this.disabledDays, this.disabledPeriods);
140
+ this.days = DatePickerUtil.getPickerDays(this.currentValue, this.firstDayOfWeek, this._minDate, this._maxDate, this.disabledDates, this.disabledDays, this.disabledPeriods);
125
141
  }
126
142
  checkDays() {
127
143
  if (this.days) {
@@ -165,4 +181,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
165
181
  }], yearSelected: [{
166
182
  type: Output
167
183
  }] } });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RheS1zZWxlY3QvZGF5LXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RheS1zZWxlY3QvZGF5LXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQUlqRCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBUTtJQUNwRCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7SUFDakQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBU0YsTUFBTSxPQUFPLGtCQUFrQjtJQTRDN0IsWUFDUyxhQUFnQyxFQUMvQixJQUF1QixFQUN2QixXQUF1QjtRQUZ4QixrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFDL0IsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUE3Q3hCLG1CQUFjLEdBQUcsQ0FBQyxDQUFDO1FBUWxCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN4QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDM0MsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBNEJwRCxhQUFRLEdBQWEsRUFBRSxDQUFDO1FBRWhCLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFPcEIsYUFBYSxDQUFDLE1BQU07YUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ25DLFNBQVMsQ0FBQyxDQUFDLE1BQXdCLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFsQ0QsSUFBSSxZQUFZLENBQUMsR0FBUztRQUN4QixJQUNFLENBQUMsSUFBSSxDQUFDLGFBQWE7WUFDbkIsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUU7Z0JBQ3RDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUNyRDtZQUNBLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDbEI7YUFBTTtZQUNMLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDO1NBQzFCO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFtQkQsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXRDLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUM1RSxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFeEUsU0FBUzthQUNOLElBQUksQ0FDSCxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFDN0IsY0FBYyxDQUFDLFdBQVcsQ0FBQyxFQUMzQixHQUFHLENBQUMsQ0FBQyxPQUFpQyxFQUFFLEVBQUU7WUFDeEMsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25FLE1BQU0sTUFBTSxHQUFHLEdBQUcsRUFBRSxPQUFPLEdBQUcsS0FBSyxFQUFFLE9BQU8sQ0FBQztZQUM3QyxJQUFJLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDMUI7UUFDSCxDQUFDLENBQUMsQ0FDSDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFXO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsUUFBUSxDQUFDLENBQU07SUFDZixDQUFDO0lBRUQsU0FBUztJQUNULENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFvQjtRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBYztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUUsVUFBbUI7UUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQWEsRUFBRSxLQUFpQjtRQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLElBQUksR0FBRyxLQUFLLElBQUksSUFBSSxHQUFHLEtBQUssU0FBUyxJQUFJLEdBQUcsQ0FBQyxRQUFRLEVBQUU7WUFDckQsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQWEsRUFBRSxLQUFpQjtRQUN0QyxJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFO1lBQ3JELE9BQU87U0FDUjtRQUNELElBQ0UsR0FBRyxDQUFDLElBQUksS0FBSyxJQUFJO1lBQ2pCLEdBQUcsQ0FBQyxJQUFJLEtBQUssU0FBUztZQUN0QixHQUFHLENBQUMsSUFBSSxZQUFZLElBQUksRUFDeEI7WUFDQSxJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUEwQjtRQUNwQyxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFbEUsSUFBSSxLQUFLLFlBQVksVUFBVSxFQUFFO1lBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUI7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLGNBQWMsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLGNBQWM7UUFDcEIsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDbkMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxQixNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3RCLFFBQVEsR0FBRyxRQUFRLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDO1NBQzVDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLElBQUksR0FBRyxjQUFjLENBQUMsYUFBYSxDQUN0QyxJQUFJLENBQUMsWUFBWSxFQUNqQixJQUFJLENBQUMsY0FBYyxFQUNuQixJQUFJLENBQUMsT0FBTyxFQUNaLElBQUksQ0FBQyxPQUFPLEVBQ1osSUFBSSxDQUFDLGFBQWEsRUFDbEIsSUFBSSxDQUFDLFlBQVksRUFDakIsSUFBSSxDQUFDLGVBQWUsQ0FDckIsQ0FBQztJQUNKLENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDNUMsR0FBRyxHQUFHO2dCQUNOLFFBQVEsRUFDTixHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFO29CQUMxRCxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFO29CQUNwRCxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFO2FBQ3JELENBQUMsQ0FBQyxDQUFDO1NBQ0w7SUFDSCxDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQVU7UUFDN0IsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OytHQXBMVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixpV0FIbEIsQ0FBQyxpQ0FBaUMsQ0FBQywwQkNoQ2hELGszQkFzQkE7MkZEYWEsa0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLGlCQUFpQixhQUdoQixDQUFDLGlDQUFpQyxDQUFDLG1CQUM3Qix1QkFBdUIsQ0FBQyxNQUFNO2lLQUl0QyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGF5TW9kZWx9IGZyb20gJy4uL21vZGVsL2RheS1tb2RlbCc7XG5pbXBvcnQge0RhdGVQZXJpb2R9IGZyb20gJy4uL21vZGVsL2RhdGUtcGVyaW9kJztcbmltcG9ydCB7dGFrZVdoaWxlLCB0YXAsIHdpdGhMYXRlc3RGcm9tfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0RhdGVQaWNrZXJVdGlsfSBmcm9tICcuLi91dGlsL2RhdGUtcGlja2VyLXV0aWwnO1xuaW1wb3J0IHtmcm9tRXZlbnR9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7RGF0ZVV0aWx9IGZyb20gJy4uLy4uLy4uL3V0aWwvZGF0ZS11dGlsJztcbmltcG9ydCB7VGV0YUxvY2FsaXNhdGlvbn0gZnJvbSAnLi4vLi4vLi4vbG9jYWxlL3RldGEtbG9jYWxpc2F0aW9uJztcbmltcG9ydCB7VGV0YUNvbmZpZ1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2xvY2FsZS90ZXRhLWNvbmZpZy5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IERBWV9TRUxFQ1RfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF5U2VsZWN0Q29tcG9uZW50KSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLWRheS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF5LXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RheS1zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbREFZX1NFTEVDVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERheVNlbGVjdENvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIGZpcnN0RGF5T2ZXZWVrID0gMTtcbiAgQElucHV0KCkgZGlzYWJsZWREYXRlczogRGF0ZVtdO1xuICBASW5wdXQoKSBkaXNhYmxlZFBlcmlvZHM6IERhdGVQZXJpb2RbXTtcbiAgQElucHV0KCkgZGlzYWJsZWREYXlzOiBudW1iZXJbXTtcbiAgQElucHV0KCkgbWluRGF0ZTogRGF0ZTtcbiAgQElucHV0KCkgbWF4RGF0ZTogRGF0ZTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpIGRhdGVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcbiAgQE91dHB1dCgpIG1vbnRoU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQE91dHB1dCgpIHllYXJTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIGxvY2FsZTogVGV0YUxvY2FsaXNhdGlvbjtcblxuICB2YWx1ZTogRGF0ZTtcblxuICBfY3VycmVudFZhbHVlOiBEYXRlO1xuXG4gIHNldCBjdXJyZW50VmFsdWUodmFsOiBEYXRlKSB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMuX2N1cnJlbnRWYWx1ZSB8fFxuICAgICAgRGF0ZVV0aWwudHJ1bmNhdGVUb0RheSh2YWwpPy5nZXRUaW1lKCkgIT09XG4gICAgICBEYXRlVXRpbC50cnVuY2F0ZVRvRGF5KHRoaXMuX2N1cnJlbnRWYWx1ZSk/LmdldFRpbWUoKVxuICAgICkge1xuICAgICAgdGhpcy5fY3VycmVudFZhbHVlID0gdmFsO1xuICAgICAgdGhpcy5jcmVhdGVEYXlzKCk7XG4gICAgICB0aGlzLmNoZWNrRGF5cygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9jdXJyZW50VmFsdWUgPSB2YWw7XG4gICAgfVxuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldCBjdXJyZW50VmFsdWUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRWYWx1ZTtcbiAgfVxuXG4gIGRheXM6IEFycmF5PERheU1vZGVsPjtcbiAgd2Vla0RheXM6IG51bWJlcltdID0gW107XG5cbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBsb2NhbGVTZXJ2aWNlOiBUZXRhQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgKSB7XG4gICAgbG9jYWxlU2VydmljZS5sb2NhbGVcbiAgICAgIC5waXBlKHRha2VXaGlsZSgoXykgPT4gdGhpcy5fYWxpdmUpKVxuICAgICAgLnN1YnNjcmliZSgobG9jYWxlOiBUZXRhTG9jYWxpc2F0aW9uKSA9PiB7XG4gICAgICAgIHRoaXMubG9jYWxlID0gbG9jYWxlO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLndlZWtEYXlzID0gdGhpcy5jcmVhdGVXZWVrRGF5cygpO1xuXG4gICAgY29uc3QgdG91Y2hTdGFydCQgPSBmcm9tRXZlbnQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndG91Y2hzdGFydCcpO1xuICAgIGNvbnN0IHRvdWNoRW5kJCA9IGZyb21FdmVudCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd0b3VjaGVuZCcpO1xuXG4gICAgdG91Y2hFbmQkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSksXG4gICAgICAgIHdpdGhMYXRlc3RGcm9tKHRvdWNoU3RhcnQkKSxcbiAgICAgICAgdGFwKCh0b3VjaGVzOiBbVG91Y2hFdmVudCwgVG91Y2hFdmVudF0pID0+IHtcbiAgICAgICAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSB0b3VjaGVzLm1hcCgoXykgPT4gXy5jaGFuZ2VkVG91Y2hlcz8uaXRlbSgwKSk7XG4gICAgICAgICAgY29uc3QgZGVsdGFZID0gZW5kPy5jbGllbnRZIC0gc3RhcnQ/LmNsaWVudFk7XG4gICAgICAgICAgaWYgKGRlbHRhWSAhPT0gMCkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxNb250aChkZWx0YVkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gIH1cblxuICB3cml0ZVZhbHVlKG1vZGVsOiBEYXRlKSB7XG4gICAgdGhpcy52YWx1ZSA9IG1vZGVsO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gbW9kZWwgPyBtb2RlbCA6IG5ldyBEYXRlKCk7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25DaGFuZ2UoXzogYW55KSB7XG4gIH1cblxuICBvblRvdWNoZWQoKSB7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoXzogYW55KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGFwcGx5VmFsdWUoZGF5OiBEYXlNb2RlbCwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLnByZXZlbnRFdmVudChldmVudCk7XG4gICAgaWYgKGRheSA9PT0gbnVsbCB8fCBkYXkgPT09IHVuZGVmaW5lZCB8fCBkYXkuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSA9IGRheS5kYXRlO1xuICAgIHRoaXMuY3VycmVudFZhbHVlID0gZGF5LmRhdGU7XG4gICAgdGhpcy5vbkNoYW5nZShkYXkuZGF0ZSk7XG4gIH1cblxuICBzZXREYXRlKGRheTogRGF5TW9kZWwsIGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKGRheSA9PT0gbnVsbCB8fCBkYXkgPT09IHVuZGVmaW5lZCB8fCBkYXkuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgZGF5LmRhdGUgIT09IG51bGwgJiZcbiAgICAgIGRheS5kYXRlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIGRheS5kYXRlIGluc3RhbmNlb2YgRGF0ZVxuICAgICkge1xuICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSBkYXkuZGF0ZTtcbiAgICAgIHRoaXMuZGF0ZVNlbGVjdGVkLmVtaXQoZGF5LmRhdGUpO1xuICAgIH1cbiAgfVxuXG4gIHNjcm9sbE1vbnRoKGV2ZW50OiBXaGVlbEV2ZW50IHwgbnVtYmVyKSB7XG4gICAgY29uc3QgZGVsdGFZID0gZXZlbnQgaW5zdGFuY2VvZiBXaGVlbEV2ZW50ID8gZXZlbnQuZGVsdGFZIDogZXZlbnQ7XG5cbiAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBXaGVlbEV2ZW50KSB7XG4gICAgICB0aGlzLnByZXZlbnRFdmVudChldmVudCk7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudFZhbHVlID0gRGF0ZVBpY2tlclV0aWwuc2Nyb2xsTW9udGgoZGVsdGFZLCB0aGlzLmN1cnJlbnRWYWx1ZSk7XG4gICAgdGhpcy5tb250aFNlbGVjdGVkLmVtaXQodGhpcy5jdXJyZW50VmFsdWUuZ2V0TW9udGgoKSk7XG4gICAgdGhpcy55ZWFyU2VsZWN0ZWQuZW1pdCh0aGlzLmN1cnJlbnRWYWx1ZS5nZXRGdWxsWWVhcigpKTtcbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVXZWVrRGF5cygpOiBudW1iZXJbXSB7XG4gICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgbGV0IGRheUluZGV4ID0gdGhpcy5maXJzdERheU9mV2VlaztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDc7IGkrKykge1xuICAgICAgcmVzdWx0LnB1c2goZGF5SW5kZXgpO1xuICAgICAgZGF5SW5kZXggPSBkYXlJbmRleCA9PT0gNiA/IDAgOiArK2RheUluZGV4O1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVEYXlzKCkge1xuICAgIHRoaXMuZGF5cyA9IERhdGVQaWNrZXJVdGlsLmdldFBpY2tlckRheXMoXG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSxcbiAgICAgIHRoaXMuZmlyc3REYXlPZldlZWssXG4gICAgICB0aGlzLm1pbkRhdGUsXG4gICAgICB0aGlzLm1heERhdGUsXG4gICAgICB0aGlzLmRpc2FibGVkRGF0ZXMsXG4gICAgICB0aGlzLmRpc2FibGVkRGF5cyxcbiAgICAgIHRoaXMuZGlzYWJsZWRQZXJpb2RzXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tEYXlzKCkge1xuICAgIGlmICh0aGlzLmRheXMpIHtcbiAgICAgIHRoaXMuZGF5cyA9IHRoaXMuZGF5cy5tYXAoKGRhdDogRGF5TW9kZWwpID0+ICh7XG4gICAgICAgIC4uLmRhdCxcbiAgICAgICAgc2VsZWN0ZWQ6XG4gICAgICAgICAgZGF0LmRhdGUuZ2V0RnVsbFllYXIoKSA9PT0gdGhpcy5jdXJyZW50VmFsdWUuZ2V0RnVsbFllYXIoKSAmJlxuICAgICAgICAgIGRhdC5kYXRlLmdldE1vbnRoKCkgPT09IHRoaXMuY3VycmVudFZhbHVlLmdldE1vbnRoKCkgJiZcbiAgICAgICAgICBkYXQuZGF0ZS5nZXREYXRlKCkgPT09IHRoaXMuY3VycmVudFZhbHVlLmdldERhdGUoKSxcbiAgICAgIH0pKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHByZXZlbnRFdmVudChldmVudDogYW55KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkYXRlcGlja2VyLXdlZWsgZm9udC1jYXB0aW9uIGNvbG9yLXRleHQtODBcIj5cbiAgPGRpdiBjbGFzcz1cImRhdGVwaWNrZXItZGF5XCJcbiAgICAgICBbY2xhc3MuZm9udC1jYXB0aW9uLWJvbGRdPVwiZGF5ID09PSAwIHx8IGRheSA9PT0gNlwiXG4gICAgICAgKm5nRm9yPVwibGV0IGRheSBvZiB3ZWVrRGF5c1wiPlxuICAgIHt7bG9jYWxlLmRheXNTaG9ydFtkYXldfX1cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJkYXRlcGlja2VyLXBpY2tlciBjb2xvci10ZXh0LTkwIGZvbnQtYm9keS0zXCJcbiAgICAgKHdoZWVsKT1cInNjcm9sbE1vbnRoKCRldmVudClcIj5cbiAgPGRpdiAqbmdGb3I9XCJsZXQgZGF5IG9mIGRheXNcIlxuICAgICAgIGNsYXNzPVwiZGF0ZXBpY2tlci1kYXRlXCJcbiAgICAgICAoY2xpY2spPVwic2V0RGF0ZShkYXksICRldmVudCk7XCJcbiAgICAgICAoZGJsY2xpY2spPVwiYXBwbHlWYWx1ZShkYXksICRldmVudCk7XCJcbiAgICAgICBbY2xhc3MuZGF0ZXBpY2tlci1kYXRlX2FjdGl2ZV09XCJkYXkuc2VsZWN0ZWRcIlxuICAgICAgIFtjbGFzcy5kYXRlcGlja2VyLWRhdGVfZGlzYWJsZWRdPVwiZGF5LmRpc2FibGVkIHx8ICFkYXkuaXNDdXJyZW50TW9udGhcIlxuICAgICAgIFtjbGFzcy5kYXRlcGlja2VyLWRhdGVfd2Vla2VuZF09XCJkYXkud2Vla2VuZFwiXG4gICAgICAgW2NsYXNzLmRhdGVwaWNrZXItZGF0ZV90b2RheV09XCJkYXkudG9kYXlcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF5ICE9PSBudWxsICYmIGRheSAhPT0gdW5kZWZpbmVkXCI+XG4gICAgICB7e2RheS5kYXRlLmdldERhdGUoKX19XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RheS1zZWxlY3QvZGF5LXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RheS1zZWxlY3QvZGF5LXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxTQUFTLEVBQVUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQUlqRCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBUTtJQUNwRCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7SUFDakQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBU0YsTUFBTSxPQUFPLGtCQUFrQjtJQWlFN0IsWUFDUyxhQUFnQyxFQUMvQixJQUF1QixFQUN2QixXQUF1QjtRQUZ4QixrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFDL0IsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFsRXhCLG1CQUFjLEdBQUcsQ0FBQyxDQUFD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LEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzsrR0F6TVUsa0JBQWtCO21HQUFsQixrQkFBa0IsaVdBSGxCLENBQUMsaUNBQWlDLENBQUMsMEJDaENoRCxrM0JBc0JBOzJGRGFhLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxpQkFBaUIsYUFHaEIsQ0FBQyxpQ0FBaUMsQ0FBQyxtQkFDN0IsdUJBQXVCLENBQUMsTUFBTTtpS0FJdEMsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFTyxPQUFPO3NCQUFuQixLQUFLO2dCQVVPLE9BQU87c0JBQW5CLEtBQUs7Z0JBU0csUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGF5TW9kZWx9IGZyb20gJy4uL21vZGVsL2RheS1tb2RlbCc7XG5pbXBvcnQge0RhdGVQZXJpb2R9IGZyb20gJy4uL21vZGVsL2RhdGUtcGVyaW9kJztcbmltcG9ydCB7dGFrZVdoaWxlLCB0YXAsIHdpdGhMYXRlc3RGcm9tfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0RhdGVQaWNrZXJVdGlsfSBmcm9tICcuLi91dGlsL2RhdGUtcGlja2VyLXV0aWwnO1xuaW1wb3J0IHtmcm9tRXZlbnQsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7RGF0ZVV0aWx9IGZyb20gJy4uLy4uLy4uL3V0aWwvZGF0ZS11dGlsJztcbmltcG9ydCB7VGV0YUxvY2FsaXNhdGlvbn0gZnJvbSAnLi4vLi4vLi4vbG9jYWxlL3RldGEtbG9jYWxpc2F0aW9uJztcbmltcG9ydCB7VGV0YUNvbmZpZ1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL2xvY2FsZS90ZXRhLWNvbmZpZy5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IERBWV9TRUxFQ1RfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF5U2VsZWN0Q29tcG9uZW50KSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLWRheS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF5LXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RheS1zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbREFZX1NFTEVDVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERheVNlbGVjdENvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIGZpcnN0RGF5T2ZXZWVrID0gMTtcbiAgQElucHV0KCkgZGlzYWJsZWREYXRlczogRGF0ZVtdO1xuICBASW5wdXQoKSBkaXNhYmxlZFBlcmlvZHM6IERhdGVQZXJpb2RbXTtcbiAgQElucHV0KCkgZGlzYWJsZWREYXlzOiBudW1iZXJbXTtcblxuICBASW5wdXQoKSBzZXQgbWluRGF0ZShkOiBEYXRlKSB7XG4gICAgdGhpcy5fbWluRGF0ZSA9IGQ7XG5cbiAgICBpZih0aGlzLl9jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMuY3JlYXRlRGF5cygpO1xuICAgIH1cblxuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcblxuICBASW5wdXQoKSBzZXQgbWF4RGF0ZShkOiBEYXRlKSB7XG4gICAgdGhpcy5fbWF4RGF0ZSA9IGQ7XG5cbiAgICBpZih0aGlzLl9jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMuY3JlYXRlRGF5cygpO1xuICAgIH1cblxuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpIGRhdGVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcbiAgQE91dHB1dCgpIG1vbnRoU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQE91dHB1dCgpIHllYXJTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIGxvY2FsZTogVGV0YUxvY2FsaXNhdGlvbjtcblxuICB2YWx1ZTogRGF0ZTtcblxuICBfY3VycmVudFZhbHVlOiBEYXRlO1xuICBwcml2YXRlIF9taW5EYXRlOiBEYXRlO1xuICBwcml2YXRlIF9tYXhEYXRlOiBEYXRlO1xuXG5cbiAgc2V0IGN1cnJlbnRWYWx1ZSh2YWw6IERhdGUpIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5fY3VycmVudFZhbHVlIHx8XG4gICAgICBEYXRlVXRpbC50cnVuY2F0ZVRvRGF5KHZhbCk/LmdldFRpbWUoKSAhPT1cbiAgICAgIERhdGVVdGlsLnRydW5jYXRlVG9EYXkodGhpcy5fY3VycmVudFZhbHVlKT8uZ2V0VGltZSgpXG4gICAgKSB7XG4gICAgICB0aGlzLl9jdXJyZW50VmFsdWUgPSB2YWw7XG4gICAgICB0aGlzLmNyZWF0ZURheXMoKTtcbiAgICAgIHRoaXMuY2hlY2tEYXlzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2N1cnJlbnRWYWx1ZSA9IHZhbDtcbiAgICB9XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRWYWx1ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudFZhbHVlO1xuICB9XG5cbiAgZGF5czogQXJyYXk8RGF5TW9kZWw+O1xuICB3ZWVrRGF5czogbnVtYmVyW10gPSBbXTtcblxuICBwcml2YXRlIF9hbGl2ZSA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGxvY2FsZVNlcnZpY2U6IFRldGFDb25maWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICApIHtcbiAgICBsb2NhbGVTZXJ2aWNlLmxvY2FsZVxuICAgICAgLnBpcGUodGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSkpXG4gICAgICAuc3Vic2NyaWJlKChsb2NhbGU6IFRldGFMb2NhbGlzYXRpb24pID0+IHtcbiAgICAgICAgdGhpcy5sb2NhbGUgPSBsb2NhbGU7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMud2Vla0RheXMgPSB0aGlzLmNyZWF0ZVdlZWtEYXlzKCk7XG5cbiAgICBjb25zdCB0b3VjaFN0YXJ0JCA9IGZyb21FdmVudCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd0b3VjaHN0YXJ0Jyk7XG4gICAgY29uc3QgdG91Y2hFbmQkID0gZnJvbUV2ZW50KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RvdWNoZW5kJyk7XG5cbiAgICB0b3VjaEVuZCRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlV2hpbGUoKF8pID0+IHRoaXMuX2FsaXZlKSxcbiAgICAgICAgd2l0aExhdGVzdEZyb20odG91Y2hTdGFydCQpLFxuICAgICAgICB0YXAoKHRvdWNoZXM6IFtUb3VjaEV2ZW50LCBUb3VjaEV2ZW50XSkgPT4ge1xuICAgICAgICAgIGNvbnN0IFtzdGFydCwgZW5kXSA9IHRvdWNoZXMubWFwKChfKSA9PiBfLmNoYW5nZWRUb3VjaGVzPy5pdGVtKDApKTtcbiAgICAgICAgICBjb25zdCBkZWx0YVkgPSBlbmQ/LmNsaWVudFkgLSBzdGFydD8uY2xpZW50WTtcbiAgICAgICAgICBpZiAoZGVsdGFZICE9PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbE1vbnRoKGRlbHRhWSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUobW9kZWw6IERhdGUpIHtcbiAgICB0aGlzLnZhbHVlID0gbW9kZWw7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBtb2RlbCA/IG1vZGVsIDogbmV3IERhdGUoKTtcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBvbkNoYW5nZShfOiBhbnkpIHtcbiAgfVxuXG4gIG9uVG91Y2hlZCgpIHtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChfOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgYXBwbHlWYWx1ZShkYXk6IERheU1vZGVsLCBldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMucHJldmVudEV2ZW50KGV2ZW50KTtcbiAgICBpZiAoZGF5ID09PSBudWxsIHx8IGRheSA9PT0gdW5kZWZpbmVkIHx8IGRheS5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnZhbHVlID0gZGF5LmRhdGU7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBkYXkuZGF0ZTtcbiAgICB0aGlzLm9uQ2hhbmdlKGRheS5kYXRlKTtcbiAgfVxuXG4gIHNldERhdGUoZGF5OiBEYXlNb2RlbCwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoZGF5ID09PSBudWxsIHx8IGRheSA9PT0gdW5kZWZpbmVkIHx8IGRheS5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBkYXkuZGF0ZSAhPT0gbnVsbCAmJlxuICAgICAgZGF5LmRhdGUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgZGF5LmRhdGUgaW5zdGFuY2VvZiBEYXRlXG4gICAgKSB7XG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IGRheS5kYXRlO1xuICAgICAgdGhpcy5kYXRlU2VsZWN0ZWQuZW1pdChkYXkuZGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgc2Nyb2xsTW9udGgoZXZlbnQ6IFdoZWVsRXZlbnQgfCBudW1iZXIpIHtcbiAgICBjb25zdCBkZWx0YVkgPSBldmVudCBpbnN0YW5jZW9mIFdoZWVsRXZlbnQgPyBldmVudC5kZWx0YVkgOiBldmVudDtcblxuICAgIGlmIChldmVudCBpbnN0YW5jZW9mIFdoZWVsRXZlbnQpIHtcbiAgICAgIHRoaXMucHJldmVudEV2ZW50KGV2ZW50KTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBEYXRlUGlja2VyVXRpbC5zY3JvbGxNb250aChkZWx0YVksIHRoaXMuY3VycmVudFZhbHVlKTtcbiAgICB0aGlzLm1vbnRoU2VsZWN0ZWQuZW1pdCh0aGlzLmN1cnJlbnRWYWx1ZS5nZXRNb250aCgpKTtcbiAgICB0aGlzLnllYXJTZWxlY3RlZC5lbWl0KHRoaXMuY3VycmVudFZhbHVlLmdldEZ1bGxZZWFyKCkpO1xuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVdlZWtEYXlzKCk6IG51bWJlcltdIHtcbiAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICBsZXQgZGF5SW5kZXggPSB0aGlzLmZpcnN0RGF5T2ZXZWVrO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNzsgaSsrKSB7XG4gICAgICByZXN1bHQucHVzaChkYXlJbmRleCk7XG4gICAgICBkYXlJbmRleCA9IGRheUluZGV4ID09PSA2ID8gMCA6ICsrZGF5SW5kZXg7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURheXMoKSB7XG4gICAgdGhpcy5kYXlzID0gRGF0ZVBpY2tlclV0aWwuZ2V0UGlja2VyRGF5cyhcbiAgICAgIHRoaXMuY3VycmVudFZhbHVlLFxuICAgICAgdGhpcy5maXJzdERheU9mV2VlayxcbiAgICAgIHRoaXMuX21pbkRhdGUsXG4gICAgICB0aGlzLl9tYXhEYXRlLFxuICAgICAgdGhpcy5kaXNhYmxlZERhdGVzLFxuICAgICAgdGhpcy5kaXNhYmxlZERheXMsXG4gICAgICB0aGlzLmRpc2FibGVkUGVyaW9kc1xuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrRGF5cygpIHtcbiAgICBpZiAodGhpcy5kYXlzKSB7XG4gICAgICB0aGlzLmRheXMgPSB0aGlzLmRheXMubWFwKChkYXQ6IERheU1vZGVsKSA9PiAoe1xuICAgICAgICAuLi5kYXQsXG4gICAgICAgIHNlbGVjdGVkOlxuICAgICAgICAgIGRhdC5kYXRlLmdldEZ1bGxZZWFyKCkgPT09IHRoaXMuY3VycmVudFZhbHVlLmdldEZ1bGxZZWFyKCkgJiZcbiAgICAgICAgICBkYXQuZGF0ZS5nZXRNb250aCgpID09PSB0aGlzLmN1cnJlbnRWYWx1ZS5nZXRNb250aCgpICYmXG4gICAgICAgICAgZGF0LmRhdGUuZ2V0RGF0ZSgpID09PSB0aGlzLmN1cnJlbnRWYWx1ZS5nZXREYXRlKCksXG4gICAgICB9KSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwcmV2ZW50RXZlbnQoZXZlbnQ6IGFueSkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZGF0ZXBpY2tlci13ZWVrIGZvbnQtY2FwdGlvbiBjb2xvci10ZXh0LTgwXCI+XG4gIDxkaXYgY2xhc3M9XCJkYXRlcGlja2VyLWRheVwiXG4gICAgICAgW2NsYXNzLmZvbnQtY2FwdGlvbi1ib2xkXT1cImRheSA9PT0gMCB8fCBkYXkgPT09IDZcIlxuICAgICAgICpuZ0Zvcj1cImxldCBkYXkgb2Ygd2Vla0RheXNcIj5cbiAgICB7e2xvY2FsZS5kYXlzU2hvcnRbZGF5XX19XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZGF0ZXBpY2tlci1waWNrZXIgY29sb3ItdGV4dC05MCBmb250LWJvZHktM1wiXG4gICAgICh3aGVlbCk9XCJzY3JvbGxNb250aCgkZXZlbnQpXCI+XG4gIDxkaXYgKm5nRm9yPVwibGV0IGRheSBvZiBkYXlzXCJcbiAgICAgICBjbGFzcz1cImRhdGVwaWNrZXItZGF0ZVwiXG4gICAgICAgKGNsaWNrKT1cInNldERhdGUoZGF5LCAkZXZlbnQpO1wiXG4gICAgICAgKGRibGNsaWNrKT1cImFwcGx5VmFsdWUoZGF5LCAkZXZlbnQpO1wiXG4gICAgICAgW2NsYXNzLmRhdGVwaWNrZXItZGF0ZV9hY3RpdmVdPVwiZGF5LnNlbGVjdGVkXCJcbiAgICAgICBbY2xhc3MuZGF0ZXBpY2tlci1kYXRlX2Rpc2FibGVkXT1cImRheS5kaXNhYmxlZCB8fCAhZGF5LmlzQ3VycmVudE1vbnRoXCJcbiAgICAgICBbY2xhc3MuZGF0ZXBpY2tlci1kYXRlX3dlZWtlbmRdPVwiZGF5LndlZWtlbmRcIlxuICAgICAgIFtjbGFzcy5kYXRlcGlja2VyLWRhdGVfdG9kYXldPVwiZGF5LnRvZGF5XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRheSAhPT0gbnVsbCAmJiBkYXkgIT09IHVuZGVmaW5lZFwiPlxuICAgICAge3tkYXkuZGF0ZS5nZXREYXRlKCl9fVxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -28,6 +28,7 @@ export class TreeComponent {
28
28
  .pipe(takeWhile((_) => this._alive), filter((_) => this._openItems !== _))
29
29
  .subscribe((_) => {
30
30
  this._openItems = _;
31
+ this.displayData = this.getDisplayData(this._data, 0);
31
32
  this.openItemsChange.emit(_);
32
33
  });
33
34
  }
@@ -53,7 +54,7 @@ export class TreeComponent {
53
54
  ngOnChanges(changes) {
54
55
  this.displayData = this.getDisplayData(this._data, 0);
55
56
  this.childPadding = this.hasChildren(this._data);
56
- this._cdr.detectChanges();
57
+ //this._cdr.detectChanges();
57
58
  }
58
59
  ngOnDestroy() {
59
60
  this._alive = false;
@@ -75,10 +76,10 @@ export class TreeComponent {
75
76
  }
76
77
  }
77
78
  TreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: TreeComponent, deps: [{ token: i1.TreeService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
78
- TreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: TreeComponent, selector: "teta-tree", inputs: { data: "data", padding: "padding", childNodeName: "childNodeName", virtual: "virtual", height: "height", openItems: "openItems", compareItems: "compareItems" }, outputs: { service: "service", openItemsChange: "openItemsChange" }, host: { properties: { "class.tree": "this.treeClass" } }, providers: [TreeService], queries: [{ propertyName: "template", first: true, predicate: TetaTemplateDirective, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<cdk-virtual-scroll-viewport *ngIf=\"virtual; else default\"\n class=\"table-body-container\"\n [itemSize]=\"height\">\n <teta-tree-item *cdkVirtualFor=\"let item of displayData;templateCacheSize: 0; trackBy: trackRow;\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n</cdk-virtual-scroll-viewport>\n<ng-template #default>\n <teta-tree-item *ngFor=\"let item of displayData\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i3.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i3.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: i4.TreeItemComponent, selector: "teta-tree-item", inputs: ["item", "depth", "padding", "childNodeName", "template", "childPadding"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
79
+ TreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: TreeComponent, selector: "teta-tree", inputs: { data: "data", padding: "padding", childNodeName: "childNodeName", virtual: "virtual", height: "height", openItems: "openItems", compareItems: "compareItems" }, outputs: { service: "service", openItemsChange: "openItemsChange" }, host: { properties: { "class.tree": "this.treeClass" } }, providers: [TreeService], queries: [{ propertyName: "template", first: true, predicate: TetaTemplateDirective, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<cdk-virtual-scroll-viewport *ngIf=\"virtual; else default\"\n class=\"table-body-container\"\n [itemSize]=\"height\">\n <teta-tree-item *cdkVirtualFor=\"let item of displayData;templateCacheSize: 0; trackBy: trackRow;\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n</cdk-virtual-scroll-viewport>\n<ng-template #default>\n <teta-tree-item *ngFor=\"let item of displayData; trackBy: trackRow\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i3.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i3.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: i4.TreeItemComponent, selector: "teta-tree-item", inputs: ["item", "depth", "padding", "childNodeName", "template", "childPadding"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
79
80
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: TreeComponent, decorators: [{
80
81
  type: Component,
81
- args: [{ selector: 'teta-tree', providers: [TreeService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<cdk-virtual-scroll-viewport *ngIf=\"virtual; else default\"\n class=\"table-body-container\"\n [itemSize]=\"height\">\n <teta-tree-item *cdkVirtualFor=\"let item of displayData;templateCacheSize: 0; trackBy: trackRow;\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n</cdk-virtual-scroll-viewport>\n<ng-template #default>\n <teta-tree-item *ngFor=\"let item of displayData\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n</ng-template>\n" }]
82
+ args: [{ selector: 'teta-tree', providers: [TreeService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<cdk-virtual-scroll-viewport *ngIf=\"virtual; else default\"\n class=\"table-body-container\"\n [itemSize]=\"height\">\n <teta-tree-item *cdkVirtualFor=\"let item of displayData;templateCacheSize: 0; trackBy: trackRow;\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n</cdk-virtual-scroll-viewport>\n<ng-template #default>\n <teta-tree-item *ngFor=\"let item of displayData; trackBy: trackRow\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n</ng-template>\n" }]
82
83
  }], ctorParameters: function () { return [{ type: i1.TreeService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
83
84
  type: Input
84
85
  }], padding: [{
@@ -104,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
104
105
  type: HostBinding,
105
106
  args: ['class.tree']
106
107
  }] } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RyZWUvdHJlZS90cmVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdHJlZS90cmVlL3RyZWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUlMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDL0YsT0FBTyxFQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBU2pELE1BQU0sT0FBTyxhQUFhO0lBa0N4QixZQUFvQixRQUFxQixFQUFVLElBQXVCO1FBQXRELGFBQVEsR0FBUixRQUFRLENBQWE7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQXhCakUsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUNaLGtCQUFhLEdBQUcsVUFBVSxDQUFDO1FBRTNCLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFRWCxZQUFPLEdBQ2YsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUN4QixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFTdkMsV0FBTSxHQUFHLElBQUksQ0FBQztRQXVCc0IsY0FBUyxHQUFHLElBQUksQ0FBQztRQWdCN0QsYUFBUSxHQUFHLENBQUMsS0FBYSxFQUFFLElBQWUsRUFBTyxFQUFFO1lBQ2pELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDckIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2hDO1lB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Q0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7MEdBaEdVLGFBQWE7OEZBQWIsYUFBYSw2VUFIYixDQUFDLFdBQVcsQ0FBQyxnRUE0QlYscUJBQXFCLG1GQ25EckMsdWtDQXNCQTsyRkRJYSxhQUFhO2tCQVB6QixTQUFTOytCQUNFLFdBQVcsYUFHVixDQUFDLFdBQVcsQ0FBQyxtQkFDUCx1QkFBdUIsQ0FBQyxNQUFNO2tJQUkzQyxJQUFJO3NCQURQLEtBQUs7Z0JBU0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFHRixTQUFTO3NCQURaLEtBQUs7Z0JBTUksT0FBTztzQkFBaEIsTUFBTTtnQkFFRyxlQUFlO3NCQUF4QixNQUFNO2dCQUdQLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxxQkFBcUIsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBc0IvQyxZQUFZO3NCQURmLEtBQUs7Z0JBU3NDLFNBQVM7c0JBQXBELFdBQVc7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJVHJlZURhdGF9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb250cmFjdC9pLXRyZWUtZGF0YSc7XG5pbXBvcnQge1RyZWVTZXJ2aWNlfSBmcm9tICcuLi90cmVlLnNlcnZpY2UnO1xuaW1wb3J0IHtUZXRhVGVtcGxhdGVEaXJlY3RpdmV9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS90ZXRhLXRlbXBsYXRlL3RldGEtdGVtcGxhdGUuZGlyZWN0aXZlJztcbmltcG9ydCB7ZmlsdGVyLCB0YWtlV2hpbGV9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS10cmVlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RyZWUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90cmVlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1RyZWVTZXJ2aWNlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRyZWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgc2V0IGRhdGEoZGF0YTogSVRyZWVEYXRhW10pIHtcbiAgICB0aGlzLl9kYXRhID0gZGF0YTtcbiAgfVxuXG4gIGdldCBkYXRhKCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhO1xuICB9XG5cbiAgQElucHV0KCkgcGFkZGluZyA9IDg7XG4gIEBJbnB1dCgpIGNoaWxkTm9kZU5hbWUgPSAnY2hpbGRyZW4nO1xuICBASW5wdXQoKSB2aXJ0dWFsOiBib29sZWFuO1xuICBASW5wdXQoKSBoZWlnaHQgPSAyODtcblxuICBASW5wdXQoKVxuICBzZXQgb3Blbkl0ZW1zKGl0ZW1zOiBJVHJlZURhdGFbXSkge1xuICAgIHRoaXMuX29wZW5JdGVtcyA9IGl0ZW1zO1xuICAgIHRoaXMuX3NlcnZpY2Uuc2V0T3Blbkl0ZW1zKGl0ZW1zKTtcbiAgfVxuXG4gIEBPdXRwdXQoKSBzZXJ2aWNlOiBFdmVudEVtaXR0ZXI8VHJlZVNlcnZpY2U+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPFRyZWVTZXJ2aWNlPigpO1xuICBAT3V0cHV0KCkgb3Blbkl0ZW1zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBDb250ZW50Q2hpbGQoVGV0YVRlbXBsYXRlRGlyZWN0aXZlLCB7c3RhdGljOiB0cnVlfSlcbiAgdGVtcGxhdGU6IFRldGFUZW1wbGF0ZURpcmVjdGl2ZTtcbiAgY2hpbGRQYWRkaW5nOiBib29sZWFuO1xuICBkaXNwbGF5RGF0YTogSVRyZWVEYXRhW107XG5cbiAgcHJpdmF0ZSBfZGF0YTogSVRyZWVEYXRhW107XG4gIHByaXZhdGUgX29wZW5JdGVtczogSVRyZWVEYXRhW107XG4gIHByaXZhdGUgX2FsaXZlID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zZXJ2aWNlOiBUcmVlU2VydmljZSwgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHRoaXMuX3NlcnZpY2Uub3Blbkl0ZW1zXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSksXG4gICAgICAgIGZpbHRlcigoXykgPT4gdGhpcy5fb3Blbkl0ZW1zICE9PSBfKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgICB0aGlzLl9vcGVuSXRlbXMgPSBfO1xuICAgICAgICB0aGlzLm9wZW5JdGVtc0NoYW5nZS5lbWl0KF8pO1xuICAgICAgfSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgY29tcGFyZUl0ZW1zKGZ1bmM6IChpdGVtOiBJVHJlZURhdGEpID0+IGFueSkge1xuICAgIHRoaXMuX3NlcnZpY2UuY29tcGFyZUl0ZW1zID0gZnVuYztcbiAgfVxuXG4gIGdldCBjb21wYXJlSXRlbXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlcnZpY2UuY29tcGFyZUl0ZW1zO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50cmVlJykgcHJpdmF0ZSByZWFkb25seSB0cmVlQ2xhc3MgPSB0cnVlO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2VydmljZS5lbWl0KHRoaXMuX3NlcnZpY2UpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuZGlzcGxheURhdGEgPSB0aGlzLmdldERpc3BsYXlEYXRhKHRoaXMuX2RhdGEsIDApO1xuICAgIHRoaXMuY2hpbGRQYWRkaW5nID0gdGhpcy5oYXNDaGlsZHJlbih0aGlzLl9kYXRhKTtcbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgfVxuXG4gIHRyYWNrUm93ID0gKGluZGV4OiBudW1iZXIsIGl0ZW06IElUcmVlRGF0YSk6IGFueSA9PiB7XG4gICAgaWYgKHRoaXMuY29tcGFyZUl0ZW1zKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb21wYXJlSXRlbXMoaXRlbSk7XG4gICAgfVxuICAgIHJldHVybiBpbmRleDtcbiAgfTtcblxuXG4gIHByaXZhdGUgaGFzQ2hpbGRyZW4oZGF0YTogSVRyZWVEYXRhW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gZGF0YS5zb21lKFxuICAgICAgKF8pID0+IF9bdGhpcy5jaGlsZE5vZGVOYW1lXT8ubGVuZ3RoID4gMFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldERpc3BsYXlEYXRhKGRhdGE6IElUcmVlRGF0YVtdLCBsZXZlbDogbnVtYmVyKSB7XG4gICAgY29uc3QgcmVzdWx0OiBJVHJlZURhdGFbXSA9IFtdO1xuICAgIGRhdGE/LmZvckVhY2goKGl0ZW06IElUcmVlRGF0YSkgPT4ge1xuICAgICAgaXRlbVsnbGV2ZWwnXSA9IGxldmVsO1xuICAgICAgcmVzdWx0LnB1c2goaXRlbSk7XG4gICAgICBpZiAoaXRlbVt0aGlzLmNoaWxkTm9kZU5hbWVdPy5sZW5ndGggPiAwXG4gICAgICAgICYmIHRoaXMuX29wZW5JdGVtcz8uZmluZCgob3Blbkl0ZW0pID0+IHRoaXMuY29tcGFyZUl0ZW1zKG9wZW5JdGVtKSA9PT0gdGhpcy5jb21wYXJlSXRlbXMoaXRlbSkpKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuZ2V0RGlzcGxheURhdGEoaXRlbVt0aGlzLmNoaWxkTm9kZU5hbWVdLCBsZXZlbCArIDEpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iLCI8Y2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0ICpuZ0lmPVwidmlydHVhbDsgZWxzZSBkZWZhdWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1ib2R5LWNvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpdGVtU2l6ZV09XCJoZWlnaHRcIj5cbiAgPHRldGEtdHJlZS1pdGVtICpjZGtWaXJ0dWFsRm9yPVwibGV0IGl0ZW0gb2YgZGlzcGxheURhdGE7dGVtcGxhdGVDYWNoZVNpemU6IDA7IHRyYWNrQnk6IHRyYWNrUm93O1wiXG4gICAgICAgICAgICAgICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgICAgICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiaGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgIFtkZXB0aF09XCJpdGVtWydsZXZlbCddXCJcbiAgICAgICAgICAgICAgICAgIFtwYWRkaW5nXT1cInBhZGRpbmdcIlxuICAgICAgICAgICAgICAgICAgW2NoaWxkTm9kZU5hbWVdPVwiY2hpbGROb2RlTmFtZVwiXG4gICAgICAgICAgICAgICAgICBbY2hpbGRQYWRkaW5nXT1cImNoaWxkUGFkZGluZ1wiXG4gICAgICAgICAgICAgICAgICBbdGVtcGxhdGVdPVwidGVtcGxhdGU/LnRlbXBsYXRlXCI+PC90ZXRhLXRyZWUtaXRlbT5cbjwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxuPG5nLXRlbXBsYXRlICNkZWZhdWx0PlxuICA8dGV0YS10cmVlLWl0ZW0gKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGlzcGxheURhdGFcIlxuICAgICAgICAgICAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgICAgICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiXG4gICAgICAgICAgICAgICAgICBbZGVwdGhdPVwiaXRlbVsnbGV2ZWwnXVwiXG4gICAgICAgICAgICAgICAgICBbcGFkZGluZ109XCJwYWRkaW5nXCJcbiAgICAgICAgICAgICAgICAgIFtjaGlsZE5vZGVOYW1lXT1cImNoaWxkTm9kZU5hbWVcIlxuICAgICAgICAgICAgICAgICAgW2NoaWxkUGFkZGluZ109XCJjaGlsZFBhZGRpbmdcIlxuICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlXT1cInRlbXBsYXRlPy50ZW1wbGF0ZVwiPjwvdGV0YS10cmVlLWl0ZW0+XG48L25nLXRlbXBsYXRlPlxuIl19
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RyZWUvdHJlZS90cmVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdHJlZS90cmVlL3RyZWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUlMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDL0YsT0FBTyxFQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBU2pELE1BQU0sT0FBTyxhQUFhO0lBa0N4QixZQUFvQixRQUFxQixFQUFVLElBQXVCO1FBQXRELGFBQVEsR0FBUixRQUFRLENBQWE7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQXhCakUsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUNaLGtCQUFhLEdBQUcsVUFBVSxDQUFDO1FBRTNCLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFRWCxZQUFPLEdBQ2YsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUN4QixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFTdkMsV0FBTSxHQUFHLElBQUksQ0FBQztRQXlCc0IsY0FBUyxHQUFHLElBQUksQ0FBQztRQWdCN0QsYUFBUSxHQUFHLENBQUMsS0FBYSxFQUFFLElBQWUsRUFBTyxFQUFFO1lBQ2pELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDckIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2hDO1lB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QyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzFFO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzswR0FsR1UsYUFBYTs4RkFBYixhQUFhLDZVQUhiLENBQUMsV0FBVyxDQUFDLGdFQTRCVixxQkFBcUIsbUZDbkRyQywwbENBc0JBOzJGRElhLGFBQWE7a0JBUHpCLFNBQVM7K0JBQ0UsV0FBVyxhQUdWLENBQUMsV0FBVyxDQUFDLG1CQUNQLHVCQUF1QixDQUFDLE1BQU07a0lBSTNDLElBQUk7c0JBRFAsS0FBSztnQkFTRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUdGLFNBQVM7c0JBRFosS0FBSztnQkFNSSxPQUFPO3NCQUFoQixNQUFNO2dCQUVHLGVBQWU7c0JBQXhCLE1BQU07Z0JBR1AsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLHFCQUFxQixFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkF3Qi9DLFlBQVk7c0JBRGYsS0FBSztnQkFTc0MsU0FBUztzQkFBcEQsV0FBVzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lUcmVlRGF0YX0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbnRyYWN0L2ktdHJlZS1kYXRhJztcbmltcG9ydCB7VHJlZVNlcnZpY2V9IGZyb20gJy4uL3RyZWUuc2VydmljZSc7XG5pbXBvcnQge1RldGFUZW1wbGF0ZURpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL3RldGEtdGVtcGxhdGUvdGV0YS10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtmaWx0ZXIsIHRha2VXaGlsZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLXRyZWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdHJlZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RyZWUuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbVHJlZVNlcnZpY2VdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHJlZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBzZXQgZGF0YShkYXRhOiBJVHJlZURhdGFbXSkge1xuICAgIHRoaXMuX2RhdGEgPSBkYXRhO1xuICB9XG5cbiAgZ2V0IGRhdGEoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGE7XG4gIH1cblxuICBASW5wdXQoKSBwYWRkaW5nID0gODtcbiAgQElucHV0KCkgY2hpbGROb2RlTmFtZSA9ICdjaGlsZHJlbic7XG4gIEBJbnB1dCgpIHZpcnR1YWw6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGhlaWdodCA9IDI4O1xuXG4gIEBJbnB1dCgpXG4gIHNldCBvcGVuSXRlbXMoaXRlbXM6IElUcmVlRGF0YVtdKSB7XG4gICAgdGhpcy5fb3Blbkl0ZW1zID0gaXRlbXM7XG4gICAgdGhpcy5fc2VydmljZS5zZXRPcGVuSXRlbXMoaXRlbXMpO1xuICB9XG5cbiAgQE91dHB1dCgpIHNlcnZpY2U6IEV2ZW50RW1pdHRlcjxUcmVlU2VydmljZT4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8VHJlZVNlcnZpY2U+KCk7XG4gIEBPdXRwdXQoKSBvcGVuSXRlbXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQENvbnRlbnRDaGlsZChUZXRhVGVtcGxhdGVEaXJlY3RpdmUsIHtzdGF0aWM6IHRydWV9KVxuICB0ZW1wbGF0ZTogVGV0YVRlbXBsYXRlRGlyZWN0aXZlO1xuICBjaGlsZFBhZGRpbmc6IGJvb2xlYW47XG4gIGRpc3BsYXlEYXRhOiBJVHJlZURhdGFbXTtcblxuICBwcml2YXRlIF9kYXRhOiBJVHJlZURhdGFbXTtcbiAgcHJpdmF0ZSBfb3Blbkl0ZW1zOiBJVHJlZURhdGFbXTtcbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3NlcnZpY2U6IFRyZWVTZXJ2aWNlLCBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy5fc2VydmljZS5vcGVuSXRlbXNcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlV2hpbGUoKF8pID0+IHRoaXMuX2FsaXZlKSxcbiAgICAgICAgZmlsdGVyKChfKSA9PiB0aGlzLl9vcGVuSXRlbXMgIT09IF8pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICAgIHRoaXMuX29wZW5JdGVtcyA9IF87XG4gICAgICAgIHRoaXMuZGlzcGxheURhdGEgPSB0aGlzLmdldERpc3BsYXlEYXRhKHRoaXMuX2RhdGEsIDApO1xuXG4gICAgICAgIHRoaXMub3Blbkl0ZW1zQ2hhbmdlLmVtaXQoXyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBjb21wYXJlSXRlbXMoZnVuYzogKGl0ZW06IElUcmVlRGF0YSkgPT4gYW55KSB7XG4gICAgdGhpcy5fc2VydmljZS5jb21wYXJlSXRlbXMgPSBmdW5jO1xuICB9XG5cbiAgZ2V0IGNvbXBhcmVJdGVtcygpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VydmljZS5jb21wYXJlSXRlbXM7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRyZWUnKSBwcml2YXRlIHJlYWRvbmx5IHRyZWVDbGFzcyA9IHRydWU7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXJ2aWNlLmVtaXQodGhpcy5fc2VydmljZSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwbGF5RGF0YSA9IHRoaXMuZ2V0RGlzcGxheURhdGEodGhpcy5fZGF0YSwgMCk7XG4gICAgdGhpcy5jaGlsZFBhZGRpbmcgPSB0aGlzLmhhc0NoaWxkcmVuKHRoaXMuX2RhdGEpO1xuICAgIC8vdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gIH1cblxuICB0cmFja1JvdyA9IChpbmRleDogbnVtYmVyLCBpdGVtOiBJVHJlZURhdGEpOiBhbnkgPT4ge1xuICAgIGlmICh0aGlzLmNvbXBhcmVJdGVtcykge1xuICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZUl0ZW1zKGl0ZW0pO1xuICAgIH1cbiAgICByZXR1cm4gaW5kZXg7XG4gIH07XG5cblxuICBwcml2YXRlIGhhc0NoaWxkcmVuKGRhdGE6IElUcmVlRGF0YVtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGRhdGEuc29tZShcbiAgICAgIChfKSA9PiBfW3RoaXMuY2hpbGROb2RlTmFtZV0/Lmxlbmd0aCA+IDBcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREaXNwbGF5RGF0YShkYXRhOiBJVHJlZURhdGFbXSwgbGV2ZWw6IG51bWJlcikge1xuICAgIGNvbnN0IHJlc3VsdDogSVRyZWVEYXRhW10gPSBbXTtcbiAgICBkYXRhPy5mb3JFYWNoKChpdGVtOiBJVHJlZURhdGEpID0+IHtcbiAgICAgIGl0ZW1bJ2xldmVsJ10gPSBsZXZlbDtcbiAgICAgIHJlc3VsdC5wdXNoKGl0ZW0pO1xuICAgICAgaWYgKGl0ZW1bdGhpcy5jaGlsZE5vZGVOYW1lXT8ubGVuZ3RoID4gMFxuICAgICAgICAmJiB0aGlzLl9vcGVuSXRlbXM/LmZpbmQoKG9wZW5JdGVtKSA9PiB0aGlzLmNvbXBhcmVJdGVtcyhvcGVuSXRlbSkgPT09IHRoaXMuY29tcGFyZUl0ZW1zKGl0ZW0pKSkge1xuICAgICAgICByZXN1bHQucHVzaCguLi50aGlzLmdldERpc3BsYXlEYXRhKGl0ZW1bdGhpcy5jaGlsZE5vZGVOYW1lXSwgbGV2ZWwgKyAxKSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIiwiPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCAqbmdJZj1cInZpcnR1YWw7IGVsc2UgZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtYm9keS1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbVNpemVdPVwiaGVpZ2h0XCI+XG4gIDx0ZXRhLXRyZWUtaXRlbSAqY2RrVmlydHVhbEZvcj1cImxldCBpdGVtIG9mIGRpc3BsYXlEYXRhO3RlbXBsYXRlQ2FjaGVTaXplOiAwOyB0cmFja0J5OiB0cmFja1JvdztcIlxuICAgICAgICAgICAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgICAgICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiXG4gICAgICAgICAgICAgICAgICBbZGVwdGhdPVwiaXRlbVsnbGV2ZWwnXVwiXG4gICAgICAgICAgICAgICAgICBbcGFkZGluZ109XCJwYWRkaW5nXCJcbiAgICAgICAgICAgICAgICAgIFtjaGlsZE5vZGVOYW1lXT1cImNoaWxkTm9kZU5hbWVcIlxuICAgICAgICAgICAgICAgICAgW2NoaWxkUGFkZGluZ109XCJjaGlsZFBhZGRpbmdcIlxuICAgICAgICAgICAgICAgICAgW3RlbXBsYXRlXT1cInRlbXBsYXRlPy50ZW1wbGF0ZVwiPjwvdGV0YS10cmVlLWl0ZW0+XG48L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdD5cbiAgPHRldGEtdHJlZS1pdGVtICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRpc3BsYXlEYXRhOyB0cmFja0J5OiB0cmFja1Jvd1wiXG4gICAgICAgICAgICAgICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgICAgICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiaGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgIFtkZXB0aF09XCJpdGVtWydsZXZlbCddXCJcbiAgICAgICAgICAgICAgICAgIFtwYWRkaW5nXT1cInBhZGRpbmdcIlxuICAgICAgICAgICAgICAgICAgW2NoaWxkTm9kZU5hbWVdPVwiY2hpbGROb2RlTmFtZVwiXG4gICAgICAgICAgICAgICAgICBbY2hpbGRQYWRkaW5nXT1cImNoaWxkUGFkZGluZ1wiXG4gICAgICAgICAgICAgICAgICBbdGVtcGxhdGVdPVwidGVtcGxhdGU/LnRlbXBsYXRlXCI+PC90ZXRhLXRyZWUtaXRlbT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -1,14 +1,23 @@
1
1
  import { Directive, HostBinding, Input } from '@angular/core';
2
2
  import { DomUtil } from '../../common/util/dom-util';
3
3
  import { PositionUtil } from '../../common/util/position-util';
4
+ import { takeWhile } from 'rxjs/operators';
4
5
  import * as i0 from "@angular/core";
5
6
  export class AutoPositionDirective {
6
- constructor(_elementRef) {
7
+ constructor(_elementRef, _zone) {
7
8
  this._elementRef = _elementRef;
9
+ this._zone = _zone;
8
10
  this.fixed = 'fixed';
11
+ this._alive = true;
9
12
  }
10
13
  ngAfterViewInit() {
11
14
  this.setPosition();
15
+ this._zone.onStable.pipe(takeWhile(() => this._alive)).subscribe(() => {
16
+ this.setPosition();
17
+ });
18
+ }
19
+ ngOnDestroy() {
20
+ this._alive = false;
12
21
  }
13
22
  setPosition() {
14
23
  const target = this._elementRef.nativeElement;
@@ -40,14 +49,14 @@ export class AutoPositionDirective {
40
49
  PositionUtil.setElementPosition(target, position);
41
50
  }
42
51
  }
43
- AutoPositionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AutoPositionDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
52
+ AutoPositionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AutoPositionDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
44
53
  AutoPositionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.2", type: AutoPositionDirective, selector: "[tetaAutoPosition]", inputs: { align: "align", verticalAlign: "verticalAlign" }, host: { properties: { "style.position": "this.fixed" } }, ngImport: i0 });
45
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AutoPositionDirective, decorators: [{
46
55
  type: Directive,
47
56
  args: [{
48
57
  selector: '[tetaAutoPosition]'
49
58
  }]
50
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { align: [{
59
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { align: [{
51
60
  type: Input
52
61
  }], verticalAlign: [{
53
62
  type: Input
@@ -55,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
55
64
  type: HostBinding,
56
65
  args: ['style.position']
57
66
  }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1wb3NpdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlL2F1dG8tcG9zaXRpb24vYXV0by1wb3NpdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQWMsV0FBVyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUl2RixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDbkQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlDQUFpQyxDQUFDOztBQUs3RCxNQUFNLE9BQU8scUJBQXFCO0lBTWhDLFlBQW9CLFdBQXVCO1FBQXZCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBRlosVUFBSyxHQUFHLE9BQU8sQ0FBQztJQUcvQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU8sV0FBVztRQUNqQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztRQUM5QyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQy9GLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRXRELE1BQU0sSUFBSSxHQUFVO1lBQ2xCLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxNQUFNO1lBQ2hDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxHQUFHO1lBQzFCLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO1lBQzVCLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxLQUFLO1NBQy9CLENBQUM7UUFFRixNQUFNLFVBQVUsR0FBVTtZQUN4QixNQUFNLEVBQUUsY0FBYyxDQUFDLE1BQU07WUFDN0IsR0FBRyxFQUFFLGNBQWMsQ0FBQyxHQUFHO1lBQ3ZCLElBQUksRUFBRSxjQUFjLENBQUMsSUFBSTtZQUN6QixLQUFLLEVBQUUsY0FBYyxDQUFDLEtBQUs7U0FDNUIsQ0FBQztRQUVGLE1BQU0sdUJBQXVCLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RFLElBQUksY0FBYyxHQUFHO1lBQ25CLElBQUksRUFBRSxDQUFDO1lBQ1AsS0FBSyxFQUFFLENBQUM7WUFDUixHQUFHLEVBQUUsQ0FBQztZQUNOLE1BQU0sRUFBRSxDQUFDO1NBQ1YsQ0FBQztRQUNGLElBQUksdUJBQXVCLEVBQUU7WUFDM0IsY0FBYyxHQUFHLHVCQUF1QixDQUFDLHFCQUFxQixFQUFFLENBQUM7U0FDbEU7UUFFRCxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUN2QyxJQUFJLEVBQ0osVUFBVSxFQUNWLElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLGFBQWEsRUFDbEIsQ0FBQyxFQUNELENBQUMsRUFDRCxjQUFjLENBQ2YsQ0FBQztRQUVGLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDcEQsQ0FBQzs7a0hBdERVLHFCQUFxQjtzR0FBckIscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBSGpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtpQkFDL0I7aUdBRVUsS0FBSztzQkFBYixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRXlCLEtBQUs7c0JBQW5DLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FsaWdufSBmcm9tICcuLi8uLi9jb21tb24vZW51bS9hbGlnbi5lbnVtJztcbmltcG9ydCB7VmVydGljYWxBbGlnbn0gZnJvbSAnLi4vLi4vY29tbW9uL2VudW0vdmVydGljYWwtYWxpZ24uZW51bSc7XG5pbXBvcnQge0lSZWN0fSBmcm9tICcuLi8uLi9jb21tb24vY29udHJhY3QvaS1yZWN0JztcbmltcG9ydCB7RG9tVXRpbH0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwvZG9tLXV0aWwnO1xuaW1wb3J0IHtQb3NpdGlvblV0aWx9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL3Bvc2l0aW9uLXV0aWwnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdGV0YUF1dG9Qb3NpdGlvbl0nXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9Qb3NpdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBhbGlnbjogQWxpZ247XG4gIEBJbnB1dCgpIHZlcnRpY2FsQWxpZ246IFZlcnRpY2FsQWxpZ247XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5wb3NpdGlvbicpIGZpeGVkID0gJ2ZpeGVkJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5zZXRQb3NpdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQb3NpdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgY29udGFpbmVyUG9zaXRpb24gPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB0YXJnZXRQb3NpdGlvbiA9IHRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIGNvbnN0IHJlY3Q6IElSZWN0ID0ge1xuICAgICAgYm90dG9tOiBjb250YWluZXJQb3NpdGlvbi5ib3R0b20sXG4gICAgICB0b3A6IGNvbnRhaW5lclBvc2l0aW9uLnRvcCxcbiAgICAgIGxlZnQ6IGNvbnRhaW5lclBvc2l0aW9uLmxlZnQsXG4gICAgICByaWdodDogY29udGFpbmVyUG9zaXRpb24ucmlnaHQsXG4gICAgfTtcblxuICAgIGNvbnN0IHRhcmdldFJlY3Q6IElSZWN0ID0ge1xuICAgICAgYm90dG9tOiB0YXJnZXRQb3NpdGlvbi5ib3R0b20sXG4gICAgICB0b3A6IHRhcmdldFBvc2l0aW9uLnRvcCxcbiAgICAgIGxlZnQ6IHRhcmdldFBvc2l0aW9uLmxlZnQsXG4gICAgICByaWdodDogdGFyZ2V0UG9zaXRpb24ucmlnaHQsXG4gICAgfTtcblxuICAgIGNvbnN0IHRhcmdldFRyYW5zZm9ybWVkUGFyZW50ID0gRG9tVXRpbC5maW5kVHJhbnNmb3JtZWRQYXJlbnQodGFyZ2V0KTtcbiAgICBsZXQgcGFyZW50UG9zaXRpb24gPSB7XG4gICAgICBsZWZ0OiAwLFxuICAgICAgcmlnaHQ6IDAsXG4gICAgICB0b3A6IDAsXG4gICAgICBib3R0b206IDBcbiAgICB9O1xuICAgIGlmICh0YXJnZXRUcmFuc2Zvcm1lZFBhcmVudCkge1xuICAgICAgcGFyZW50UG9zaXRpb24gPSB0YXJnZXRUcmFuc2Zvcm1lZFBhcmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB9XG5cbiAgICBjb25zdCBwb3NpdGlvbiA9IFBvc2l0aW9uVXRpbC5nZXRQb3NpdGlvbihcbiAgICAgIHJlY3QsXG4gICAgICB0YXJnZXRSZWN0LFxuICAgICAgdGhpcy5hbGlnbixcbiAgICAgIHRoaXMudmVydGljYWxBbGlnbixcbiAgICAgIDAsXG4gICAgICAwLFxuICAgICAgcGFyZW50UG9zaXRpb25cbiAgICApO1xuXG4gICAgUG9zaXRpb25VdGlsLnNldEVsZW1lbnRQb3NpdGlvbih0YXJnZXQsIHBvc2l0aW9uKTtcbiAgfVxufVxuIl19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1wb3NpdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlL2F1dG8tcG9zaXRpb24vYXV0by1wb3NpdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQWMsV0FBVyxFQUFFLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFJMUcsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ25ELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUU3RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBS3pDLE1BQU0sT0FBTyxxQkFBcUI7SUFRaEMsWUFBb0IsV0FBdUIsRUFBVSxLQUFhO1FBQTlDLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUpuQyxVQUFLLEdBQUcsT0FBTyxDQUFDO1FBRXZDLFdBQU0sR0FBRyxJQUFJLENBQUM7SUFHdEIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3BFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVPLFdBQVc7UUFDakIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFDOUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUMvRixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUV0RCxNQUFNLElBQUksR0FBVTtZQUNsQixNQUFNLEVBQUUsaUJBQWlCLENBQUMsTUFBTTtZQUNoQyxHQUFHLEVBQUUsaUJBQWlCLENBQUMsR0FBRztZQUMxQixJQUFJLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtZQUM1QixLQUFLLEVBQUUsaUJBQWlCLENBQUMsS0FBSztTQUMvQixDQUFDO1FBRUYsTUFBTSxVQUFVLEdBQVU7WUFDeEIsTUFBTSxFQUFFLGNBQWMsQ0FBQyxNQUFNO1lBQzdCLEdBQUcsRUFBRSxjQUFjLENBQUMsR0FBRztZQUN2QixJQUFJLEVBQUUsY0FBYyxDQUFDLElBQUk7WUFDekIsS0FBSyxFQUFFLGNBQWMsQ0FBQyxLQUFLO1NBQzVCLENBQUM7UUFFRixNQUFNLHVCQUF1QixHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0RSxJQUFJLGNBQWMsR0FBRztZQUNuQixJQUFJLEVBQUUsQ0FBQztZQUNQLEtBQUssRUFBRSxDQUFDO1lBQ1IsR0FBRyxFQUFFLENBQUM7WUFDTixNQUFNLEVBQUUsQ0FBQztTQUNWLENBQUM7UUFDRixJQUFJLHVCQUF1QixFQUFFO1lBQzNCLGNBQWMsR0FBRyx1QkFBdUIsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1NBQ2xFO1FBRUQsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FDdkMsSUFBSSxFQUNKLFVBQVUsRUFDVixJQUFJLENBQUMsS0FBSyxFQUNWLElBQUksQ0FBQyxhQUFhLEVBQ2xCLENBQUMsRUFDRCxDQUFDLEVBQ0QsY0FBYyxDQUNmLENBQUM7UUFFRixZQUFZLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3BELENBQUM7O2tIQS9EVSxxQkFBcUI7c0dBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQUhqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7aUJBQy9CO3NIQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUV5QixLQUFLO3NCQUFuQyxXQUFXO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWxpZ259IGZyb20gJy4uLy4uL2NvbW1vbi9lbnVtL2FsaWduLmVudW0nO1xuaW1wb3J0IHtWZXJ0aWNhbEFsaWdufSBmcm9tICcuLi8uLi9jb21tb24vZW51bS92ZXJ0aWNhbC1hbGlnbi5lbnVtJztcbmltcG9ydCB7SVJlY3R9IGZyb20gJy4uLy4uL2NvbW1vbi9jb250cmFjdC9pLXJlY3QnO1xuaW1wb3J0IHtEb21VdGlsfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9kb20tdXRpbCc7XG5pbXBvcnQge1Bvc2l0aW9uVXRpbH0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwvcG9zaXRpb24tdXRpbCc7XG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VXaGlsZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdGV0YUF1dG9Qb3NpdGlvbl0nXG59KVxuZXhwb3J0IGNsYXNzIEF1dG9Qb3NpdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGFsaWduOiBBbGlnbjtcbiAgQElucHV0KCkgdmVydGljYWxBbGlnbjogVmVydGljYWxBbGlnbjtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLnBvc2l0aW9uJykgZml4ZWQgPSAnZml4ZWQnO1xuXG4gIHByaXZhdGUgX2FsaXZlID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIF96b25lOiBOZ1pvbmUpIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnNldFBvc2l0aW9uKCk7XG4gICAgdGhpcy5fem9uZS5vblN0YWJsZS5waXBlKHRha2VXaGlsZSgoKSA9PiB0aGlzLl9hbGl2ZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnNldFBvc2l0aW9uKCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9hbGl2ZSA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQb3NpdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgY29udGFpbmVyUG9zaXRpb24gPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB0YXJnZXRQb3NpdGlvbiA9IHRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIGNvbnN0IHJlY3Q6IElSZWN0ID0ge1xuICAgICAgYm90dG9tOiBjb250YWluZXJQb3NpdGlvbi5ib3R0b20sXG4gICAgICB0b3A6IGNvbnRhaW5lclBvc2l0aW9uLnRvcCxcbiAgICAgIGxlZnQ6IGNvbnRhaW5lclBvc2l0aW9uLmxlZnQsXG4gICAgICByaWdodDogY29udGFpbmVyUG9zaXRpb24ucmlnaHQsXG4gICAgfTtcblxuICAgIGNvbnN0IHRhcmdldFJlY3Q6IElSZWN0ID0ge1xuICAgICAgYm90dG9tOiB0YXJnZXRQb3NpdGlvbi5ib3R0b20sXG4gICAgICB0b3A6IHRhcmdldFBvc2l0aW9uLnRvcCxcbiAgICAgIGxlZnQ6IHRhcmdldFBvc2l0aW9uLmxlZnQsXG4gICAgICByaWdodDogdGFyZ2V0UG9zaXRpb24ucmlnaHQsXG4gICAgfTtcblxuICAgIGNvbnN0IHRhcmdldFRyYW5zZm9ybWVkUGFyZW50ID0gRG9tVXRpbC5maW5kVHJhbnNmb3JtZWRQYXJlbnQodGFyZ2V0KTtcbiAgICBsZXQgcGFyZW50UG9zaXRpb24gPSB7XG4gICAgICBsZWZ0OiAwLFxuICAgICAgcmlnaHQ6IDAsXG4gICAgICB0b3A6IDAsXG4gICAgICBib3R0b206IDBcbiAgICB9O1xuICAgIGlmICh0YXJnZXRUcmFuc2Zvcm1lZFBhcmVudCkge1xuICAgICAgcGFyZW50UG9zaXRpb24gPSB0YXJnZXRUcmFuc2Zvcm1lZFBhcmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB9XG5cbiAgICBjb25zdCBwb3NpdGlvbiA9IFBvc2l0aW9uVXRpbC5nZXRQb3NpdGlvbihcbiAgICAgIHJlY3QsXG4gICAgICB0YXJnZXRSZWN0LFxuICAgICAgdGhpcy5hbGlnbixcbiAgICAgIHRoaXMudmVydGljYWxBbGlnbixcbiAgICAgIDAsXG4gICAgICAwLFxuICAgICAgcGFyZW50UG9zaXRpb25cbiAgICApO1xuXG4gICAgUG9zaXRpb25VdGlsLnNldEVsZW1lbnRQb3NpdGlvbih0YXJnZXQsIHBvc2l0aW9uKTtcbiAgfVxufVxuIl19
@@ -1481,6 +1481,22 @@ class DaySelectComponent {
1481
1481
  this.locale = locale;
1482
1482
  });
1483
1483
  }
1484
+ set minDate(d) {
1485
+ this._minDate = d;
1486
+ if (this._currentValue) {
1487
+ this.createDays();
1488
+ }
1489
+ this._cdr.markForCheck();
1490
+ }
1491
+ ;
1492
+ set maxDate(d) {
1493
+ this._maxDate = d;
1494
+ if (this._currentValue) {
1495
+ this.createDays();
1496
+ }
1497
+ this._cdr.markForCheck();
1498
+ }
1499
+ ;
1484
1500
  set currentValue(val) {
1485
1501
  var _a, _b;
1486
1502
  if (!this._currentValue ||
@@ -1574,7 +1590,7 @@ class DaySelectComponent {
1574
1590
  return result;
1575
1591
  }
1576
1592
  createDays() {
1577
- this.days = DatePickerUtil.getPickerDays(this.currentValue, this.firstDayOfWeek, this.minDate, this.maxDate, this.disabledDates, this.disabledDays, this.disabledPeriods);
1593
+ this.days = DatePickerUtil.getPickerDays(this.currentValue, this.firstDayOfWeek, this._minDate, this._maxDate, this.disabledDates, this.disabledDays, this.disabledPeriods);
1578
1594
  }
1579
1595
  checkDays() {
1580
1596
  if (this.days) {
@@ -2161,7 +2177,7 @@ class DatePickerComponent {
2161
2177
  if (this.isScrollIgnored()) {
2162
2178
  return false;
2163
2179
  }
2164
- this.currentValue = DatePickerUtil.scrollMonth(e.deltaY, this.internalValue);
2180
+ this.currentValue = DatePickerUtil.scrollYear(e.deltaY, this.internalValue);
2165
2181
  };
2166
2182
  this.openPicker = (show) => {
2167
2183
  if (this.disabled) {
@@ -8742,6 +8758,7 @@ class TreeComponent {
8742
8758
  .pipe(takeWhile((_) => this._alive), filter((_) => this._openItems !== _))
8743
8759
  .subscribe((_) => {
8744
8760
  this._openItems = _;
8761
+ this.displayData = this.getDisplayData(this._data, 0);
8745
8762
  this.openItemsChange.emit(_);
8746
8763
  });
8747
8764
  }
@@ -8767,7 +8784,7 @@ class TreeComponent {
8767
8784
  ngOnChanges(changes) {
8768
8785
  this.displayData = this.getDisplayData(this._data, 0);
8769
8786
  this.childPadding = this.hasChildren(this._data);
8770
- this._cdr.detectChanges();
8787
+ //this._cdr.detectChanges();
8771
8788
  }
8772
8789
  ngOnDestroy() {
8773
8790
  this._alive = false;
@@ -8790,10 +8807,10 @@ class TreeComponent {
8790
8807
  }
8791
8808
  }
8792
8809
  TreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: TreeComponent, deps: [{ token: TreeService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
8793
- TreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: TreeComponent, selector: "teta-tree", inputs: { data: "data", padding: "padding", childNodeName: "childNodeName", virtual: "virtual", height: "height", openItems: "openItems", compareItems: "compareItems" }, outputs: { service: "service", openItemsChange: "openItemsChange" }, host: { properties: { "class.tree": "this.treeClass" } }, providers: [TreeService], queries: [{ propertyName: "template", first: true, predicate: TetaTemplateDirective, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<cdk-virtual-scroll-viewport *ngIf=\"virtual; else default\"\n class=\"table-body-container\"\n [itemSize]=\"height\">\n <teta-tree-item *cdkVirtualFor=\"let item of displayData;templateCacheSize: 0; trackBy: trackRow;\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n</cdk-virtual-scroll-viewport>\n<ng-template #default>\n <teta-tree-item *ngFor=\"let item of displayData\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i5.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i5.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: TreeItemComponent, selector: "teta-tree-item", inputs: ["item", "depth", "padding", "childNodeName", "template", "childPadding"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8810
+ TreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: TreeComponent, selector: "teta-tree", inputs: { data: "data", padding: "padding", childNodeName: "childNodeName", virtual: "virtual", height: "height", openItems: "openItems", compareItems: "compareItems" }, outputs: { service: "service", openItemsChange: "openItemsChange" }, host: { properties: { "class.tree": "this.treeClass" } }, providers: [TreeService], queries: [{ propertyName: "template", first: true, predicate: TetaTemplateDirective, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<cdk-virtual-scroll-viewport *ngIf=\"virtual; else default\"\n class=\"table-body-container\"\n [itemSize]=\"height\">\n <teta-tree-item *cdkVirtualFor=\"let item of displayData;templateCacheSize: 0; trackBy: trackRow;\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n</cdk-virtual-scroll-viewport>\n<ng-template #default>\n <teta-tree-item *ngFor=\"let item of displayData; trackBy: trackRow\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i5.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i5.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: TreeItemComponent, selector: "teta-tree-item", inputs: ["item", "depth", "padding", "childNodeName", "template", "childPadding"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8794
8811
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: TreeComponent, decorators: [{
8795
8812
  type: Component,
8796
- args: [{ selector: 'teta-tree', providers: [TreeService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<cdk-virtual-scroll-viewport *ngIf=\"virtual; else default\"\n class=\"table-body-container\"\n [itemSize]=\"height\">\n <teta-tree-item *cdkVirtualFor=\"let item of displayData;templateCacheSize: 0; trackBy: trackRow;\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n</cdk-virtual-scroll-viewport>\n<ng-template #default>\n <teta-tree-item *ngFor=\"let item of displayData\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n</ng-template>\n" }]
8813
+ args: [{ selector: 'teta-tree', providers: [TreeService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<cdk-virtual-scroll-viewport *ngIf=\"virtual; else default\"\n class=\"table-body-container\"\n [itemSize]=\"height\">\n <teta-tree-item *cdkVirtualFor=\"let item of displayData;templateCacheSize: 0; trackBy: trackRow;\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n</cdk-virtual-scroll-viewport>\n<ng-template #default>\n <teta-tree-item *ngFor=\"let item of displayData; trackBy: trackRow\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"></teta-tree-item>\n</ng-template>\n" }]
8797
8814
  }], ctorParameters: function () { return [{ type: TreeService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
8798
8815
  type: Input
8799
8816
  }], padding: [{
@@ -11170,12 +11187,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
11170
11187
  /* accordion */
11171
11188
 
11172
11189
  class AutoPositionDirective {
11173
- constructor(_elementRef) {
11190
+ constructor(_elementRef, _zone) {
11174
11191
  this._elementRef = _elementRef;
11192
+ this._zone = _zone;
11175
11193
  this.fixed = 'fixed';
11194
+ this._alive = true;
11176
11195
  }
11177
11196
  ngAfterViewInit() {
11178
11197
  this.setPosition();
11198
+ this._zone.onStable.pipe(takeWhile(() => this._alive)).subscribe(() => {
11199
+ this.setPosition();
11200
+ });
11201
+ }
11202
+ ngOnDestroy() {
11203
+ this._alive = false;
11179
11204
  }
11180
11205
  setPosition() {
11181
11206
  const target = this._elementRef.nativeElement;
@@ -11207,14 +11232,14 @@ class AutoPositionDirective {
11207
11232
  PositionUtil.setElementPosition(target, position);
11208
11233
  }
11209
11234
  }
11210
- AutoPositionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AutoPositionDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
11235
+ AutoPositionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AutoPositionDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
11211
11236
  AutoPositionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.2", type: AutoPositionDirective, selector: "[tetaAutoPosition]", inputs: { align: "align", verticalAlign: "verticalAlign" }, host: { properties: { "style.position": "this.fixed" } }, ngImport: i0 });
11212
11237
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: AutoPositionDirective, decorators: [{
11213
11238
  type: Directive,
11214
11239
  args: [{
11215
11240
  selector: '[tetaAutoPosition]'
11216
11241
  }]
11217
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { align: [{
11242
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { align: [{
11218
11243
  type: Input
11219
11244
  }], verticalAlign: [{
11220
11245
  type: Input