@tetacom/ng-components 1.1.24 → 1.1.26

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.
@@ -3,20 +3,21 @@ import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, HostBindi
3
3
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
4
  import { maskitoDateRangeOptionsGenerator } from '@maskito/kit';
5
5
  import dayjs from 'dayjs';
6
- import { ReplaySubject } from 'rxjs';
6
+ import { lastValueFrom, ReplaySubject, take } from 'rxjs';
7
7
  import { Align } from '../../../common/enum/align.enum';
8
8
  import { VerticalAlign } from '../../../common/enum/vertical-align.enum';
9
9
  import { BasePicker } from '../base-picker';
10
10
  import * as i0 from "@angular/core";
11
11
  import * as i1 from "@angular/common";
12
- import * as i2 from "../../dropdown/dropdown/dropdown.component";
13
- import * as i3 from "../../dropdown/dropdown-head.directive";
14
- import * as i4 from "../../dropdown/dropdown-content.directive";
15
- import * as i5 from "@angular/forms";
16
- import * as i6 from "@maskito/angular";
17
- import * as i7 from "../../icon/icon/icon.component";
18
- import * as i8 from "../../input/input/input.component";
19
- import * as i9 from "./range-calendar/range-calendar.component";
12
+ import * as i2 from "../../../locale/teta-config.service";
13
+ import * as i3 from "../../dropdown/dropdown/dropdown.component";
14
+ import * as i4 from "../../dropdown/dropdown-head.directive";
15
+ import * as i5 from "../../dropdown/dropdown-content.directive";
16
+ import * as i6 from "@angular/forms";
17
+ import * as i7 from "@maskito/angular";
18
+ import * as i8 from "../../icon/icon/icon.component";
19
+ import * as i9 from "../../input/input/input.component";
20
+ import * as i10 from "./range-calendar/range-calendar.component";
20
21
  export const DATE_Range_CONTROL_VALUE_ACCESSOR = {
21
22
  provide: NG_VALUE_ACCESSOR,
22
23
  useExisting: forwardRef(() => DateRangeComponent),
@@ -26,6 +27,7 @@ export class DateRangeComponent extends BasePicker {
26
27
  _cdr;
27
28
  _elementRef;
28
29
  datePipe;
30
+ localeService;
29
31
  date = { from: null, to: null };
30
32
  locale = 'ru';
31
33
  showTime = false;
@@ -44,11 +46,12 @@ export class DateRangeComponent extends BasePicker {
44
46
  mask = '';
45
47
  selectedDate = new ReplaySubject(1);
46
48
  classDaterange = true;
47
- constructor(_cdr, _elementRef, datePipe) {
49
+ constructor(_cdr, _elementRef, datePipe, localeService) {
48
50
  super(_elementRef, _cdr, datePipe);
49
51
  this._cdr = _cdr;
50
52
  this._elementRef = _elementRef;
51
53
  this.datePipe = datePipe;
54
+ this.localeService = localeService;
52
55
  }
53
56
  changeSelectedDate(date, selectedDate) {
54
57
  if (selectedDate.from) {
@@ -72,7 +75,8 @@ export class DateRangeComponent extends BasePicker {
72
75
  ' - ' +
73
76
  this.datePipe.transform(new Date(), 'dd.MM.yyyy'));
74
77
  }
75
- prepareInput() {
78
+ async prepareInput() {
79
+ const config = await lastValueFrom(this.localeService.locale.pipe(take(1)));
76
80
  let str = this.getLocaleString(this.date.from) +
77
81
  ' - ' +
78
82
  this.getLocaleString(this.date.to);
@@ -87,7 +91,7 @@ export class DateRangeComponent extends BasePicker {
87
91
  mode: 'dd/mm/yyyy',
88
92
  separator: '.',
89
93
  };
90
- this.mask = 'dd.mm.yyyy - dd.mm.yyyy';
94
+ this.mask = config.dateRangeMask;
91
95
  if (this.minDate) {
92
96
  option.min = dayjs(new Date(this.minDate)).startOf('day');
93
97
  }
@@ -189,13 +193,13 @@ export class DateRangeComponent extends BasePicker {
189
193
  this.prepareInput();
190
194
  }
191
195
  onChange(date) { }
192
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: DateRangeComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.DatePipe }], target: i0.ɵɵFactoryTarget.Component });
193
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: DateRangeComponent, selector: "teta-date-range", inputs: { date: "date", locale: "locale", showTime: "showTime", minDate: "minDate", maxDate: "maxDate", invalid: "invalid", disabled: "disabled", align: "align", verticalAlign: "verticalAlign", viewType: "viewType", appendToBody: "appendToBody", backdrop: "backdrop", allowNull: "allowNull" }, outputs: { selectDate: "selectDate" }, host: { properties: { "class.daterange": "this.classDaterange" } }, providers: [DATE_Range_CONTROL_VALUE_ACCESSOR, DatePipe], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<teta-dropdown *ngIf=\"{selectedDate:selectedDate|async}as data\" [appendToBody]=\"appendToBody\" [backdrop]=\"backdrop\"\n class='row row_auto'\n [(open)]=\"open\" (openChange)=\"openChange($event)\" [viewType]=\"viewType\"\n [disabled]=\"disabled\" [verticalAlign]=\"verticalAlign\" [align]=\"align\"\n [autoCloseIgnore]=\"['esc', 'inside','enter']\">\n <div tetaDropdownHead\n [class]=\"'datepicker-head font-body-3 gap-8 datepicker_'+viewType\"\n [ngClass]=\"{'datepicker-head_invalid':invalid,'datepicker-head_disabled':disabled}\">\n <teta-input class=\"row row_auto flex\">\n <div [class]=\"'row_auto row datepicker_'+viewType\">\n <div class=\"row row_auto position-relative font-body-3 align-center\">\n <input [ngClass]=\"{'color-text-90':!disabled}\" [disabled]=\"disabled\" #input style=\"z-index: 1\"\n class=\"border-0 color-text-90\" (keydown)=\"checkEnter($event)\"\n [(ngModel)]=\"inputText\" (ngModelChange)=\"changeInput($event)\"\n [maskito]=\"maskitoOptions\">\n <div (click)=\"input.focus()\" *ngIf=\"data.selectedDate||allowNull\" class=\"position-absolute color-text-10\"\n style=\"top:-0.3px;cursor: text;user-select: none\">{{placeholder}}</div>\n </div>\n <teta-icon [name]=\"'calendar'\" [palette]=\"'text'\"></teta-icon>\n </div>\n </teta-input>\n </div>\n <div tetaDropdownContent class=\"scrollable\" (click)=\"$event.preventDefault()\">\n <ng-container *ngIf=\"open\">\n <div class=\"row\">\n <teta-range-calendar [isDateNull]=\"date===null||(date?.from===null&&date?.to===null)\" [open]=\"open\"\n [max]=\"maxDate\"\n [allowNull]=\"allowNull\"\n [min]=\"minDate\"\n (setDate)=\"changeSelectedDate($event,data.selectedDate)\"\n [selectedDate]=\"data.selectedDate\"\n [date]=\"date\"\n [viewType]=\"viewType\" [locale]=\"locale\"></teta-range-calendar>\n </div>\n </ng-container>\n </div>\n</teta-dropdown>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.DropdownComponent, selector: "teta-dropdown", exportAs: ["dropdown"] }, { kind: "directive", type: i3.DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { kind: "directive", type: i4.DropdownContentDirective, selector: "[tetaDropdownContent]" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "directive", type: i6.MaskitoCva, selector: "input[maskito], textarea[maskito]", inputs: ["maskito"] }, { kind: "component", type: i7.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "component", type: i8.InputComponent, selector: "teta-input", inputs: ["label", "hint", "viewType", "horizontal", "required"] }, { kind: "component", type: i9.RangeCalendarComponent, selector: "teta-range-calendar", inputs: ["locale", "open", "date", "viewType", "allowNull", "selectedDate", "min", "isDateNull", "max"], outputs: ["hoveredDateChange", "setDate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
196
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: DateRangeComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.DatePipe }, { token: i2.TetaConfigService }], target: i0.ɵɵFactoryTarget.Component });
197
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: DateRangeComponent, selector: "teta-date-range", inputs: { date: "date", locale: "locale", showTime: "showTime", minDate: "minDate", maxDate: "maxDate", invalid: "invalid", disabled: "disabled", align: "align", verticalAlign: "verticalAlign", viewType: "viewType", appendToBody: "appendToBody", backdrop: "backdrop", allowNull: "allowNull" }, outputs: { selectDate: "selectDate" }, host: { properties: { "class.daterange": "this.classDaterange" } }, providers: [DATE_Range_CONTROL_VALUE_ACCESSOR, DatePipe], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<teta-dropdown *ngIf=\"{selectedDate:selectedDate|async}as data\" [appendToBody]=\"appendToBody\" [backdrop]=\"backdrop\"\n class='row row_auto'\n [(open)]=\"open\" (openChange)=\"openChange($event)\" [viewType]=\"viewType\"\n [disabled]=\"disabled\" [verticalAlign]=\"verticalAlign\" [align]=\"align\"\n [autoCloseIgnore]=\"['esc', 'inside','enter']\">\n <div tetaDropdownHead\n [class]=\"'datepicker-head font-body-3 gap-8 datepicker_'+viewType\"\n [ngClass]=\"{'datepicker-head_invalid':invalid,'datepicker-head_disabled':disabled}\">\n <teta-input class=\"row row_auto flex\">\n <div [class]=\"'row_auto row datepicker_'+viewType\">\n <div class=\"row row_auto position-relative font-body-3 align-center\">\n <input [ngClass]=\"{'color-text-90':!disabled}\" [disabled]=\"disabled\" #input style=\"z-index: 1\"\n class=\"border-0 color-text-90\" (keydown)=\"checkEnter($event)\"\n [(ngModel)]=\"inputText\" (ngModelChange)=\"changeInput($event)\"\n [maskito]=\"maskitoOptions\">\n <div (click)=\"input.focus()\" *ngIf=\"data.selectedDate||allowNull\" class=\"position-absolute color-text-10\"\n style=\"top:-0.3px;cursor: text;user-select: none\">{{placeholder}}</div>\n </div>\n <teta-icon [name]=\"'calendar'\" [palette]=\"'text'\"></teta-icon>\n </div>\n </teta-input>\n </div>\n <div tetaDropdownContent class=\"scrollable\" (click)=\"$event.preventDefault()\">\n <ng-container *ngIf=\"open\">\n <div class=\"row\">\n <teta-range-calendar [isDateNull]=\"date===null||(date?.from===null&&date?.to===null)\" [open]=\"open\"\n [max]=\"maxDate\"\n [allowNull]=\"allowNull\"\n [min]=\"minDate\"\n (setDate)=\"changeSelectedDate($event,data.selectedDate)\"\n [selectedDate]=\"data.selectedDate\"\n [date]=\"date\"\n [viewType]=\"viewType\" [locale]=\"locale\"></teta-range-calendar>\n </div>\n </ng-container>\n </div>\n</teta-dropdown>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.DropdownComponent, selector: "teta-dropdown", exportAs: ["dropdown"] }, { kind: "directive", type: i4.DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { kind: "directive", type: i5.DropdownContentDirective, selector: "[tetaDropdownContent]" }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "directive", type: i7.MaskitoCva, selector: "input[maskito], textarea[maskito]", inputs: ["maskito"] }, { kind: "component", type: i8.IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "component", type: i9.InputComponent, selector: "teta-input", inputs: ["label", "hint", "viewType", "horizontal", "required"] }, { kind: "component", type: i10.RangeCalendarComponent, selector: "teta-range-calendar", inputs: ["locale", "open", "date", "viewType", "allowNull", "selectedDate", "min", "isDateNull", "max"], outputs: ["hoveredDateChange", "setDate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
194
198
  }
195
199
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: DateRangeComponent, decorators: [{
196
200
  type: Component,
197
201
  args: [{ selector: 'teta-date-range', providers: [DATE_Range_CONTROL_VALUE_ACCESSOR, DatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<teta-dropdown *ngIf=\"{selectedDate:selectedDate|async}as data\" [appendToBody]=\"appendToBody\" [backdrop]=\"backdrop\"\n class='row row_auto'\n [(open)]=\"open\" (openChange)=\"openChange($event)\" [viewType]=\"viewType\"\n [disabled]=\"disabled\" [verticalAlign]=\"verticalAlign\" [align]=\"align\"\n [autoCloseIgnore]=\"['esc', 'inside','enter']\">\n <div tetaDropdownHead\n [class]=\"'datepicker-head font-body-3 gap-8 datepicker_'+viewType\"\n [ngClass]=\"{'datepicker-head_invalid':invalid,'datepicker-head_disabled':disabled}\">\n <teta-input class=\"row row_auto flex\">\n <div [class]=\"'row_auto row datepicker_'+viewType\">\n <div class=\"row row_auto position-relative font-body-3 align-center\">\n <input [ngClass]=\"{'color-text-90':!disabled}\" [disabled]=\"disabled\" #input style=\"z-index: 1\"\n class=\"border-0 color-text-90\" (keydown)=\"checkEnter($event)\"\n [(ngModel)]=\"inputText\" (ngModelChange)=\"changeInput($event)\"\n [maskito]=\"maskitoOptions\">\n <div (click)=\"input.focus()\" *ngIf=\"data.selectedDate||allowNull\" class=\"position-absolute color-text-10\"\n style=\"top:-0.3px;cursor: text;user-select: none\">{{placeholder}}</div>\n </div>\n <teta-icon [name]=\"'calendar'\" [palette]=\"'text'\"></teta-icon>\n </div>\n </teta-input>\n </div>\n <div tetaDropdownContent class=\"scrollable\" (click)=\"$event.preventDefault()\">\n <ng-container *ngIf=\"open\">\n <div class=\"row\">\n <teta-range-calendar [isDateNull]=\"date===null||(date?.from===null&&date?.to===null)\" [open]=\"open\"\n [max]=\"maxDate\"\n [allowNull]=\"allowNull\"\n [min]=\"minDate\"\n (setDate)=\"changeSelectedDate($event,data.selectedDate)\"\n [selectedDate]=\"data.selectedDate\"\n [date]=\"date\"\n [viewType]=\"viewType\" [locale]=\"locale\"></teta-range-calendar>\n </div>\n </ng-container>\n </div>\n</teta-dropdown>\n" }]
198
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.DatePipe }]; }, propDecorators: { date: [{
202
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.DatePipe }, { type: i2.TetaConfigService }]; }, propDecorators: { date: [{
199
203
  type: Input
200
204
  }], locale: [{
201
205
  type: Input
@@ -230,4 +234,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
230
234
  type: HostBinding,
231
235
  args: ['class.daterange']
232
236
  }] } });
233
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcmFuZ2UvZGF0ZS1yYW5nZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcmFuZ2UvZGF0ZS1yYW5nZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVyQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFHNUMsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQVE7SUFDcEQsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQVNGLE1BQU0sT0FBTyxrQkFDWCxTQUFRLFVBQVU7SUF3QlA7SUFDQTtJQUNBO0lB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ZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBtYXNraXRvRGF0ZVJhbmdlT3B0aW9uc0dlbmVyYXRvciB9IGZyb20gJ0BtYXNraXRvL2tpdCc7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBbGlnbiB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9lbnVtL2FsaWduLmVudW0nO1xuaW1wb3J0IHsgVmVydGljYWxBbGlnbiB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9lbnVtL3ZlcnRpY2FsLWFsaWduLmVudW0nO1xuaW1wb3J0IHsgdmlld1R5cGUgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vbW9kZWwvdmlldy10eXBlLm1vZGVsJztcbmltcG9ydCB7IEJhc2VQaWNrZXIgfSBmcm9tICcuLi9iYXNlLXBpY2tlcic7XG5pbXBvcnQgeyBEYXRlRnJvbVRvTW9kZWwgfSBmcm9tICcuLi9tb2RlbC9mcm9tLXRvLm1vZGVsJztcblxuZXhwb3J0IGNvbnN0IERBVEVfUmFuZ2VfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVJhbmdlQ29tcG9uZW50KSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLWRhdGUtcmFuZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS1yYW5nZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGUtcmFuZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbREFURV9SYW5nZV9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SLCBEYXRlUGlwZV0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUmFuZ2VDb21wb25lbnRcbiAgZXh0ZW5kcyBCYXNlUGlja2VyXG4gIGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3Nvclxue1xuICBASW5wdXQoKSBkYXRlOiBEYXRlRnJvbVRvTW9kZWwgPSB7IGZyb206IG51bGwsIHRvOiBudWxsIH07XG4gIEBJbnB1dCgpIGxvY2FsZSA9ICdydSc7XG4gIEBJbnB1dCgpIHNob3dUaW1lID0gZmFsc2U7XG4gIEBJbnB1dCgpIG1pbkRhdGU6IERhdGUgfCBzdHJpbmcgfCBudW1iZXIgPSBudWxsO1xuICBASW5wdXQoKSBtYXhEYXRlOiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyID0gbnVsbDtcbiAgQElucHV0KCkgaW52YWxpZCA9IGZhbHNlO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBhbGlnbjogQWxpZ24gPSBBbGlnbi5sZWZ0O1xuICBASW5wdXQoKSB2ZXJ0aWNhbEFsaWduOiBWZXJ0aWNhbEFsaWduID0gVmVydGljYWxBbGlnbi5hdXRvO1xuICBASW5wdXQoKSB2aWV3VHlwZTogdmlld1R5cGUgPSAncm91bmRlZCc7XG4gIEBJbnB1dCgpIGFwcGVuZFRvQm9keTogYm9vbGVhbjtcbiAgQElucHV0KCkgYmFja2Ryb3A6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGFsbG93TnVsbCA9IHRydWU7XG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQ6IEVsZW1lbnRSZWY7XG4gIEBPdXRwdXQoKSBzZWxlY3REYXRlOiBFdmVudEVtaXR0ZXI8RGF0ZUZyb21Ub01vZGVsPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxEYXRlRnJvbVRvTW9kZWw+KCk7XG4gIHB1YmxpYyBtYXNrID0gJyc7XG4gIHB1YmxpYyBzZWxlY3RlZERhdGU6IFJlcGxheVN1YmplY3Q8RGF0ZUZyb21Ub01vZGVsPiA9XG4gICAgbmV3IFJlcGxheVN1YmplY3Q8RGF0ZUZyb21Ub01vZGVsPigxKTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kYXRlcmFuZ2UnKSBwcml2YXRlIHJlYWRvbmx5IGNsYXNzRGF0ZXJhbmdlID0gdHJ1ZTtcbiAgY29uc3RydWN0b3IoXG4gICAgb3ZlcnJpZGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgb3ZlcnJpZGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgb3ZlcnJpZGUgZGF0ZVBpcGU6IERhdGVQaXBlXG4gICkge1xuICAgIHN1cGVyKF9lbGVtZW50UmVmLCBfY2RyLCBkYXRlUGlwZSk7XG4gIH1cblxuICBvdmVycmlkZSBjaGFuZ2VTZWxlY3RlZERhdGUoZGF0ZTogRGF0ZSwgc2VsZWN0ZWREYXRlOiBEYXRlRnJvbVRvTW9kZWwpIHtcbiAgICBpZiAoc2VsZWN0ZWREYXRlLmZyb20pIHtcbiAgICAgIGNvbnN0IGZyb20gPSBuZXcgRGF0ZShcbiAgICAgICAgTWF0aC5taW4obmV3IERhdGUoc2VsZWN0ZWREYXRlLmZyb20pLmdldFRpbWUoKSwgZGF0ZS5nZXRUaW1lKCkpXG4gICAgICApO1xuICAgICAgY29uc3QgdG8gPSBuZXcgRGF0ZShcbiAgICAgICAgTWF0aC5tYXgobmV3IERhdGUoc2VsZWN0ZWREYXRlLmZyb20pLmdldFRpbWUoKSwgZGF0ZS5nZXRUaW1lKCkpXG4gICAgICApO1xuICAgICAgdGhpcy5zZXREYXRlKHsgZnJvbSwgdG8gfSk7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5uZXh0KHsgZnJvbTogbnVsbCwgdG86IG51bGwgfSk7XG4gICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0RGF0ZSh7IGZyb206IGRhdGUsIHRvOiBudWxsIH0pO1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUubmV4dCh7IGZyb206IGRhdGUsIHRvOiBudWxsIH0pO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIGNoZWNrTnVsbCgpIHtcbiAgICBpZiAodGhpcy5hbGxvd051bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0obmV3IERhdGUoKSwgJ2RkLk1NLnl5eXknKSArXG4gICAgICAnIC0gJyArXG4gICAgICB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShuZXcgRGF0ZSgpLCAnZGQuTU0ueXl5eScpXG4gICAgKTtcbiAgfVxuXG4gIHByZXBhcmVJbnB1dCgpIHtcbiAgICBsZXQgc3RyID1cbiAgICAgIHRoaXMuZ2V0TG9jYWxlU3RyaW5nKHRoaXMuZGF0ZS5mcm9tKSArXG4gICAgICAnIC0gJyArXG4gICAgICB0aGlzLmdldExvY2FsZVN0cmluZyh0aGlzLmRhdGUudG8pO1xuICAgIGlmICghdGhpcy5kYXRlPy5mcm9tKSB7XG4gICAgICBzdHIgPSB0aGlzLmFsbG93TnVsbFxuICAgICAgICA/ICcnXG4gICAgICAgIDogdGhpcy5nZXRMb2NhbGVTdHJpbmcobmV3IERhdGUoKSkgK1xuICAgICAgICAgICcgLSAnICtcbiAgICAgICAgICB0aGlzLmdldExvY2FsZVN0cmluZyhuZXcgRGF0ZSgpKTtcbiAgICB9XG4gICAgY29uc3Qgb3B0aW9uOiB7IG1vZGU7IHNlcGFyYXRvcjsgbWluPzsgbWF4PzsgbWluTGVuZ3RoPzsgbWF4TGVuZ3RoPyB9ID0ge1xuICAgICAgbW9kZTogJ2RkL21tL3l5eXknLFxuICAgICAgc2VwYXJhdG9yOiAnLicsXG4gICAgfTtcbiAgICB0aGlzLm1hc2sgPSAnZGQubW0ueXl5eSAtIGRkLm1tLnl5eXknO1xuICAgIGlmICh0aGlzLm1pbkRhdGUpIHtcbiAgICAgIG9wdGlvbi5taW4gPSBkYXlqcyhuZXcgRGF0ZSh0aGlzLm1pbkRhdGUpKS5zdGFydE9mKCdkYXknKTtcbiAgICB9XG4gICAgaWYgKHRoaXMubWF4RGF0ZSkge1xuICAgICAgb3B0aW9uLm1heCA9IGRheWpzKG5ldyBEYXRlKHRoaXMubWF4RGF0ZSkpLmVuZE9mKCdkYXknKTtcbiAgICB9XG4gICAgdGhpcy5tYXNraXRvT3B0aW9ucyA9IG1hc2tpdG9EYXRlUmFuZ2VPcHRpb25zR2VuZXJhdG9yKG9wdGlvbik7XG4gICAgdGhpcy5jaGFuZ2VQbGFjZWhvbGRlcihzdHIpO1xuICB9XG5cbiAgb25CbHVyKCkge1xuICAgIGlmICh0aGlzLmFsbG93TnVsbCAmJiB0aGlzLmlucHV0VGV4dC50cmltKCkgPT09ICcnKSB7XG4gICAgICB0aGlzLnNldERhdGUoeyBmcm9tOiBudWxsLCB0bzogbnVsbCB9KTtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLm5leHQoeyBmcm9tOiBudWxsLCB0bzogbnVsbCB9KTtcbiAgICAgIHRoaXMuZW1pdFZhbHVlKHsgZnJvbTogbnVsbCwgdG86IG51bGwgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHZhbCA9IHRoaXMuaW5wdXRUZXh0LnJlcGxhY2UoJ+KAkycsICctJykuc3BsaXQoJy0nKTtcbiAgICAgIGNvbnN0IGZyb20gPSB0aGlzLmdldERhdGVGcm9tU3RyKHZhbFswXS50cmltKCkpO1xuICAgICAgY29uc3QgdG8gPSB0aGlzLmdldERhdGVGcm9tU3RyKHZhbFsxXT8udHJpbSgpKTtcbiAgICAgIGlmICh0by5kYXkgJiYgdG8ueWVhciAmJiB0by5tb250aCkge1xuICAgICAgICBsZXQgZnJvbURhdGUgPSB0aGlzLmdldEF2YWlsYWJsZURhdGUoXG4gICAgICAgICAgdGhpcy5taW5EYXRlLFxuICAgICAgICAgIHRoaXMubWF4RGF0ZSxcbiAgICAgICAgICBuZXcgRGF0ZShmcm9tLnllYXIsIGZyb20ubW9udGggLSAxLCBmcm9tLmRheSlcbiAgICAgICAgKTtcbiAgICAgICAgbGV0IHRvRGF0ZSA9IHRoaXMuZ2V0QXZhaWxhYmxlRGF0ZShcbiAgICAgICAgICB0aGlzLm1pbkRhdGUsXG4gICAgICAgICAgdGhpcy5tYXhEYXRlLFxuICAgICAgICAgIG5ldyBEYXRlKHRvLnllYXIsIHRvLm1vbnRoIC0gMSwgdG8uZGF5KVxuICAgICAgICApO1xuICAgICAgICBpZiAoZnJvbURhdGUuZ2V0VGltZSgpID4gdG9EYXRlLmdldFRpbWUoKSkge1xuICAgICAgICAgIFtmcm9tRGF0ZSwgdG9EYXRlXSA9IFt0b0RhdGUsIGZyb21EYXRlXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0RGF0ZSh7IGZyb206IGZyb21EYXRlLCB0bzogdG9EYXRlIH0pO1xuICAgICAgICB0aGlzLmVtaXRWYWx1ZSh7IGZyb206IGZyb21EYXRlLCB0bzogdG9EYXRlIH0pO1xuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5uZXh0KHsgZnJvbTogbnVsbCwgdG86IG51bGwgfSk7XG4gICAgICAgIGlmICh0b0RhdGUgJiYgZnJvbURhdGUpIHtcbiAgICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZXREYXRlKHRoaXMuZGF0ZSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLm5leHQoeyBmcm9tOiBudWxsLCB0bzogbnVsbCB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZXREYXRlKHJhbmdlOiBEYXRlRnJvbVRvTW9kZWwpIHtcbiAgICBpZiAoIXJhbmdlPy5mcm9tICYmICFyYW5nZT8udG8gJiYgdGhpcy5hbGxvd051bGwpIHtcbiAgICAgIHRoaXMuaW5wdXRUZXh0ID0gJyc7XG5cbiAgICAgIHRoaXMuY2hhbmdlUGxhY2Vob2xkZXIoJycpO1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUubmV4dCh7XG4gICAgICAgIGZyb206IHJhbmdlPy5mcm9tIHx8IG51bGwsXG4gICAgICAgIHRvOiByYW5nZT8udG8gfHwgbnVsbCxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBmcm9tID0gdGhpcy5nZXRMb2NhbGVTdHJpbmcocmFuZ2UuZnJvbSk7XG4gICAgICBjb25zdCB0byA9IHJhbmdlLmZyb20gJiYgIXJhbmdlLnRvID8gJycgOiB0aGlzLmdldExvY2FsZVN0cmluZyhyYW5nZS50byk7XG4gICAgICB0aGlzLmlucHV0VGV4dCA9IGZyb20gKyAnIC0gJyArIHRvO1xuICAgICAgdGhpcy5jaGFuZ2VQbGFjZWhvbGRlcihmcm9tICsgJyAtICcgKyB0byk7XG4gICAgfVxuICB9XG5cbiAgd3JpdGVWYWx1ZShvYmo6IERhdGVGcm9tVG9Nb2RlbCk6IHZvaWQge1xuICAgIGlmIChvYmo/LmZyb20pIHtcbiAgICAgIHRoaXMuZGF0ZSA9IHtcbiAgICAgICAgZnJvbTogbmV3IERhdGUob2JqLmZyb20pLFxuICAgICAgICB0bzogbmV3IERhdGUob2JqLnRvKSxcbiAgICAgIH07XG4gICAgICB0aGlzLnNldERhdGUoe1xuICAgICAgICBmcm9tOiBuZXcgRGF0ZShvYmouZnJvbSksXG4gICAgICAgIHRvOiBuZXcgRGF0ZShvYmoudG8pLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGF0ZSA9IHsgZnJvbTogbnVsbCwgdG86IG51bGwgfTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZERhdGUubmV4dCh7XG4gICAgICBmcm9tOiBudWxsLFxuICAgICAgdG86IG51bGwsXG4gICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSBpc1ZhbHVlQ2hhbmdlKHZhbHVlKSB7XG4gICAgcmV0dXJuICEoXG4gICAgICBuZXcgRGF0ZSh2YWx1ZS5mcm9tKS5nZXRUaW1lKCkgPT09IG5ldyBEYXRlKHRoaXMuZGF0ZS5mcm9tKS5nZXRUaW1lKCkgJiZcbiAgICAgIG5ldyBEYXRlKHZhbHVlLnRvKS5nZXRUaW1lKCkgPT09IG5ldyBEYXRlKHRoaXMuZGF0ZS50bykuZ2V0VGltZSgpXG4gICAgKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGF0ZT8uZnJvbSkge1xuICAgICAgdGhpcy5zZXREYXRlKHtcbiAgICAgICAgZnJvbTogdGhpcy5hbGxvd051bGwgPyBudWxsIDogbmV3IERhdGUodGhpcy5kYXRlPy5mcm9tKSxcbiAgICAgICAgdG86IHRoaXMuYWxsb3dOdWxsID8gbnVsbCA6IG5ldyBEYXRlKHRoaXMuZGF0ZT8udG8pLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0RGF0ZSh7XG4gICAgICAgIGZyb206IHRoaXMuYWxsb3dOdWxsID8gbnVsbCA6IG5ldyBEYXRlKCksXG4gICAgICAgIHRvOiB0aGlzLmFsbG93TnVsbCA/IG51bGwgOiBuZXcgRGF0ZSgpLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZERhdGUubmV4dCh7XG4gICAgICBmcm9tOiBudWxsLFxuICAgICAgdG86IG51bGwsXG4gICAgfSk7XG5cbiAgICB0aGlzLnByZXBhcmVJbnB1dCgpO1xuICB9XG5cbiAgb25DaGFuZ2UoZGF0ZSkge31cbn1cbiIsIjx0ZXRhLWRyb3Bkb3duICpuZ0lmPVwie3NlbGVjdGVkRGF0ZTpzZWxlY3RlZERhdGV8YXN5bmN9YXMgZGF0YVwiIFthcHBlbmRUb0JvZHldPVwiYXBwZW5kVG9Cb2R5XCIgW2JhY2tkcm9wXT1cImJhY2tkcm9wXCJcbiAgICAgICAgICAgICAgIGNsYXNzPSdyb3cgcm93X2F1dG8nXG4gICAgICAgICAgICAgICBbKG9wZW4pXT1cIm9wZW5cIiAob3BlbkNoYW5nZSk9XCJvcGVuQ2hhbmdlKCRldmVudClcIiBbdmlld1R5cGVdPVwidmlld1R5cGVcIlxuICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3ZlcnRpY2FsQWxpZ25dPVwidmVydGljYWxBbGlnblwiIFthbGlnbl09XCJhbGlnblwiXG4gICAgICAgICAgICAgICBbYXV0b0Nsb3NlSWdub3JlXT1cIlsnZXNjJywgJ2luc2lkZScsJ2VudGVyJ11cIj5cbiAgPGRpdiB0ZXRhRHJvcGRvd25IZWFkXG4gICAgICAgW2NsYXNzXT1cIidkYXRlcGlja2VyLWhlYWQgZm9udC1ib2R5LTMgZ2FwLTggZGF0ZXBpY2tlcl8nK3ZpZXdUeXBlXCJcbiAgICAgICBbbmdDbGFzc109XCJ7J2RhdGVwaWNrZXItaGVhZF9pbnZhbGlkJzppbnZhbGlkLCdkYXRlcGlja2VyLWhlYWRfZGlzYWJsZWQnOmRpc2FibGVkfVwiPlxuICAgIDx0ZXRhLWlucHV0IGNsYXNzPVwicm93IHJvd19hdXRvIGZsZXhcIj5cbiAgICAgIDxkaXYgW2NsYXNzXT1cIidyb3dfYXV0byByb3cgZGF0ZXBpY2tlcl8nK3ZpZXdUeXBlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcm93X2F1dG8gcG9zaXRpb24tcmVsYXRpdmUgZm9udC1ib2R5LTMgYWxpZ24tY2VudGVyXCI+XG4gICAgICAgICAgPGlucHV0IFtuZ0NsYXNzXT1cInsnY29sb3ItdGV4dC05MCc6IWRpc2FibGVkfVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiICNpbnB1dCBzdHlsZT1cInotaW5kZXg6IDFcIlxuICAgICAgICAgICAgICAgICBjbGFzcz1cImJvcmRlci0wIGNvbG9yLXRleHQtOTBcIiAoa2V5ZG93bik9XCJjaGVja0VudGVyKCRldmVudClcIlxuICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImlucHV0VGV4dFwiIChuZ01vZGVsQ2hhbmdlKT1cImNoYW5nZUlucHV0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICBbbWFza2l0b109XCJtYXNraXRvT3B0aW9uc1wiPlxuICAgICAgICAgIDxkaXYgKGNsaWNrKT1cImlucHV0LmZvY3VzKClcIiAqbmdJZj1cImRhdGEuc2VsZWN0ZWREYXRlfHxhbGxvd051bGxcIiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIGNvbG9yLXRleHQtMTBcIlxuICAgICAgICAgICAgICAgc3R5bGU9XCJ0b3A6LTAuM3B4O2N1cnNvcjogdGV4dDt1c2VyLXNlbGVjdDogbm9uZVwiPnt7cGxhY2Vob2xkZXJ9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHRldGEtaWNvbiBbbmFtZV09XCInY2FsZW5kYXInXCIgW3BhbGV0dGVdPVwiJ3RleHQnXCI+PC90ZXRhLWljb24+XG4gICAgICA8L2Rpdj5cbiAgICA8L3RldGEtaW5wdXQ+XG4gIDwvZGl2PlxuICA8ZGl2IHRldGFEcm9wZG93bkNvbnRlbnQgY2xhc3M9XCJzY3JvbGxhYmxlXCIgKGNsaWNrKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wZW5cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgPHRldGEtcmFuZ2UtY2FsZW5kYXIgW2lzRGF0ZU51bGxdPVwiZGF0ZT09PW51bGx8fChkYXRlPy5mcm9tPT09bnVsbCYmZGF0ZT8udG89PT1udWxsKVwiIFtvcGVuXT1cIm9wZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF4XT1cIm1heERhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxsb3dOdWxsXT1cImFsbG93TnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttaW5dPVwibWluRGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZXREYXRlKT1cImNoYW5nZVNlbGVjdGVkRGF0ZSgkZXZlbnQsZGF0YS5zZWxlY3RlZERhdGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkRGF0ZV09XCJkYXRhLnNlbGVjdGVkRGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRlXT1cImRhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmlld1R5cGVdPVwidmlld1R5cGVcIiBbbG9jYWxlXT1cImxvY2FsZVwiPjwvdGV0YS1yYW5nZS1jYWxlbmRhcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvdGV0YS1kcm9wZG93bj5cbiJdfQ==
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcmFuZ2UvZGF0ZS1yYW5nZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcmFuZ2UvZGF0ZS1yYW5nZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFekUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7QUFJNUMsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQVE7SUFDcEQsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQVNGLE1BQU0sT0FBTyxrQkFDWCxTQUFRLFVB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LFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNjLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTztnQkFDUixVQUFVO3NCQUFuQixNQUFNO2dCQUswQyxjQUFjO3NCQUE5RCxXQUFXO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBtYXNraXRvRGF0ZVJhbmdlT3B0aW9uc0dlbmVyYXRvciB9IGZyb20gJ0BtYXNraXRvL2tpdCc7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IHsgbGFzdFZhbHVlRnJvbSwgUmVwbGF5U3ViamVjdCwgdGFrZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBbGlnbiB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9lbnVtL2FsaWduLmVudW0nO1xuaW1wb3J0IHsgVmVydGljYWxBbGlnbiB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9lbnVtL3ZlcnRpY2FsLWFsaWduLmVudW0nO1xuaW1wb3J0IHsgdmlld1R5cGUgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vbW9kZWwvdmlldy10eXBlLm1vZGVsJztcbmltcG9ydCB7IEJhc2VQaWNrZXIgfSBmcm9tICcuLi9iYXNlLXBpY2tlcic7XG5pbXBvcnQgeyBEYXRlRnJvbVRvTW9kZWwgfSBmcm9tICcuLi9tb2RlbC9mcm9tLXRvLm1vZGVsJztcbmltcG9ydCB7IFRldGFDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vbG9jYWxlL3RldGEtY29uZmlnLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgREFURV9SYW5nZV9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SOiBhbnkgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlUmFuZ2VDb21wb25lbnQpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtZGF0ZS1yYW5nZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXJhbmdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1yYW5nZS5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtEQVRFX1JhbmdlX0NPTlRST0xfVkFMVUVfQUNDRVNTT1IsIERhdGVQaXBlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERhdGVSYW5nZUNvbXBvbmVudFxuICBleHRlbmRzIEJhc2VQaWNrZXJcbiAgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG57XG4gIEBJbnB1dCgpIGRhdGU6IERhdGVGcm9tVG9Nb2RlbCA9IHsgZnJvbTogbnVsbCwgdG86IG51bGwgfTtcbiAgQElucHV0KCkgbG9jYWxlOiAnZW4nIHwgJ3J1JyA9ICdydSc7XG4gIEBJbnB1dCgpIHNob3dUaW1lID0gZmFsc2U7XG4gIEBJbnB1dCgpIG1pbkRhdGU6IERhdGUgfCBzdHJpbmcgfCBudW1iZXIgPSBudWxsO1xuICBASW5wdXQoKSBtYXhEYXRlOiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyID0gbnVsbDtcbiAgQElucHV0KCkgaW52YWxpZCA9IGZhbHNlO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBhbGlnbjogQWxpZ24gPSBBbGlnbi5sZWZ0O1xuICBASW5wdXQoKSB2ZXJ0aWNhbEFsaWduOiBWZXJ0aWNhbEFsaWduID0gVmVydGljYWxBbGlnbi5hdXRvO1xuICBASW5wdXQoKSB2aWV3VHlwZTogdmlld1R5cGUgPSAncm91bmRlZCc7XG4gIEBJbnB1dCgpIGFwcGVuZFRvQm9keTogYm9vbGVhbjtcbiAgQElucHV0KCkgYmFja2Ryb3A6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGFsbG93TnVsbCA9IHRydWU7XG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQ6IEVsZW1lbnRSZWY7XG4gIEBPdXRwdXQoKSBzZWxlY3REYXRlOiBFdmVudEVtaXR0ZXI8RGF0ZUZyb21Ub01vZGVsPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxEYXRlRnJvbVRvTW9kZWw+KCk7XG4gIHB1YmxpYyBtYXNrID0gJyc7XG4gIHB1YmxpYyBzZWxlY3RlZERhdGU6IFJlcGxheVN1YmplY3Q8RGF0ZUZyb21Ub01vZGVsPiA9XG4gICAgbmV3IFJlcGxheVN1YmplY3Q8RGF0ZUZyb21Ub01vZGVsPigxKTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kYXRlcmFuZ2UnKSBwcml2YXRlIHJlYWRvbmx5IGNsYXNzRGF0ZXJhbmdlID0gdHJ1ZTtcbiAgY29uc3RydWN0b3IoXG4gICAgb3ZlcnJpZGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgb3ZlcnJpZGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgb3ZlcnJpZGUgZGF0ZVBpcGU6IERhdGVQaXBlLFxuICAgIHByaXZhdGUgbG9jYWxlU2VydmljZTogVGV0YUNvbmZpZ1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoX2VsZW1lbnRSZWYsIF9jZHIsIGRhdGVQaXBlKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGNoYW5nZVNlbGVjdGVkRGF0ZShkYXRlOiBEYXRlLCBzZWxlY3RlZERhdGU6IERhdGVGcm9tVG9Nb2RlbCkge1xuICAgIGlmIChzZWxlY3RlZERhdGUuZnJvbSkge1xuICAgICAgY29uc3QgZnJvbSA9IG5ldyBEYXRlKFxuICAgICAgICBNYXRoLm1pbihuZXcgRGF0ZShzZWxlY3RlZERhdGUuZnJvbSkuZ2V0VGltZSgpLCBkYXRlLmdldFRpbWUoKSlcbiAgICAgICk7XG4gICAgICBjb25zdCB0byA9IG5ldyBEYXRlKFxuICAgICAgICBNYXRoLm1heChuZXcgRGF0ZShzZWxlY3RlZERhdGUuZnJvbSkuZ2V0VGltZSgpLCBkYXRlLmdldFRpbWUoKSlcbiAgICAgICk7XG4gICAgICB0aGlzLnNldERhdGUoeyBmcm9tLCB0byB9KTtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLm5leHQoeyBmcm9tOiBudWxsLCB0bzogbnVsbCB9KTtcbiAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXREYXRlKHsgZnJvbTogZGF0ZSwgdG86IG51bGwgfSk7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5uZXh0KHsgZnJvbTogZGF0ZSwgdG86IG51bGwgfSk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgY2hlY2tOdWxsKCkge1xuICAgIGlmICh0aGlzLmFsbG93TnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShuZXcgRGF0ZSgpLCAnZGQuTU0ueXl5eScpICtcbiAgICAgICcgLSAnICtcbiAgICAgIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKG5ldyBEYXRlKCksICdkZC5NTS55eXl5JylcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgcHJlcGFyZUlucHV0KCkge1xuICAgIGNvbnN0IGNvbmZpZyA9IGF3YWl0IGxhc3RWYWx1ZUZyb20odGhpcy5sb2NhbGVTZXJ2aWNlLmxvY2FsZS5waXBlKHRha2UoMSkpKTtcbiAgICBsZXQgc3RyID1cbiAgICAgIHRoaXMuZ2V0TG9jYWxlU3RyaW5nKHRoaXMuZGF0ZS5mcm9tKSArXG4gICAgICAnIC0gJyArXG4gICAgICB0aGlzLmdldExvY2FsZVN0cmluZyh0aGlzLmRhdGUudG8pO1xuICAgIGlmICghdGhpcy5kYXRlPy5mcm9tKSB7XG4gICAgICBzdHIgPSB0aGlzLmFsbG93TnVsbFxuICAgICAgICA/ICcnXG4gICAgICAgIDogdGhpcy5nZXRMb2NhbGVTdHJpbmcobmV3IERhdGUoKSkgK1xuICAgICAgICAgICcgLSAnICtcbiAgICAgICAgICB0aGlzLmdldExvY2FsZVN0cmluZyhuZXcgRGF0ZSgpKTtcbiAgICB9XG4gICAgY29uc3Qgb3B0aW9uOiB7IG1vZGU7IHNlcGFyYXRvcjsgbWluPzsgbWF4PzsgbWluTGVuZ3RoPzsgbWF4TGVuZ3RoPyB9ID0ge1xuICAgICAgbW9kZTogJ2RkL21tL3l5eXknLFxuICAgICAgc2VwYXJhdG9yOiAnLicsXG4gICAgfTtcbiAgICB0aGlzLm1hc2sgPSBjb25maWcuZGF0ZVJhbmdlTWFzaztcbiAgICBpZiAodGhpcy5taW5EYXRlKSB7XG4gICAgICBvcHRpb24ubWluID0gZGF5anMobmV3IERhdGUodGhpcy5taW5EYXRlKSkuc3RhcnRPZignZGF5Jyk7XG4gICAgfVxuICAgIGlmICh0aGlzLm1heERhdGUpIHtcbiAgICAgIG9wdGlvbi5tYXggPSBkYXlqcyhuZXcgRGF0ZSh0aGlzLm1heERhdGUpKS5lbmRPZignZGF5Jyk7XG4gICAgfVxuICAgIHRoaXMubWFza2l0b09wdGlvbnMgPSBtYXNraXRvRGF0ZVJhbmdlT3B0aW9uc0dlbmVyYXRvcihvcHRpb24pO1xuICAgIHRoaXMuY2hhbmdlUGxhY2Vob2xkZXIoc3RyKTtcbiAgfVxuXG4gIG9uQmx1cigpIHtcbiAgICBpZiAodGhpcy5hbGxvd051bGwgJiYgdGhpcy5pbnB1dFRleHQudHJpbSgpID09PSAnJykge1xuICAgICAgdGhpcy5zZXREYXRlKHsgZnJvbTogbnVsbCwgdG86IG51bGwgfSk7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5uZXh0KHsgZnJvbTogbnVsbCwgdG86IG51bGwgfSk7XG4gICAgICB0aGlzLmVtaXRWYWx1ZSh7IGZyb206IG51bGwsIHRvOiBudWxsIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB2YWwgPSB0aGlzLmlucHV0VGV4dC5yZXBsYWNlKCfigJMnLCAnLScpLnNwbGl0KCctJyk7XG4gICAgICBjb25zdCBmcm9tID0gdGhpcy5nZXREYXRlRnJvbVN0cih2YWxbMF0udHJpbSgpKTtcbiAgICAgIGNvbnN0IHRvID0gdGhpcy5nZXREYXRlRnJvbVN0cih2YWxbMV0/LnRyaW0oKSk7XG4gICAgICBpZiAodG8uZGF5ICYmIHRvLnllYXIgJiYgdG8ubW9udGgpIHtcbiAgICAgICAgbGV0IGZyb21EYXRlID0gdGhpcy5nZXRBdmFpbGFibGVEYXRlKFxuICAgICAgICAgIHRoaXMubWluRGF0ZSxcbiAgICAgICAgICB0aGlzLm1heERhdGUsXG4gICAgICAgICAgbmV3IERhdGUoZnJvbS55ZWFyLCBmcm9tLm1vbnRoIC0gMSwgZnJvbS5kYXkpXG4gICAgICAgICk7XG4gICAgICAgIGxldCB0b0RhdGUgPSB0aGlzLmdldEF2YWlsYWJsZURhdGUoXG4gICAgICAgICAgdGhpcy5taW5EYXRlLFxuICAgICAgICAgIHRoaXMubWF4RGF0ZSxcbiAgICAgICAgICBuZXcgRGF0ZSh0by55ZWFyLCB0by5tb250aCAtIDEsIHRvLmRheSlcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGZyb21EYXRlLmdldFRpbWUoKSA+IHRvRGF0ZS5nZXRUaW1lKCkpIHtcbiAgICAgICAgICBbZnJvbURhdGUsIHRvRGF0ZV0gPSBbdG9EYXRlLCBmcm9tRGF0ZV07XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldERhdGUoeyBmcm9tOiBmcm9tRGF0ZSwgdG86IHRvRGF0ZSB9KTtcbiAgICAgICAgdGhpcy5lbWl0VmFsdWUoeyBmcm9tOiBmcm9tRGF0ZSwgdG86IHRvRGF0ZSB9KTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUubmV4dCh7IGZyb206IG51bGwsIHRvOiBudWxsIH0pO1xuICAgICAgICBpZiAodG9EYXRlICYmIGZyb21EYXRlKSB7XG4gICAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2V0RGF0ZSh0aGlzLmRhdGUpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5uZXh0KHsgZnJvbTogbnVsbCwgdG86IG51bGwgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0RGF0ZShyYW5nZTogRGF0ZUZyb21Ub01vZGVsKSB7XG4gICAgaWYgKCFyYW5nZT8uZnJvbSAmJiAhcmFuZ2U/LnRvICYmIHRoaXMuYWxsb3dOdWxsKSB7XG4gICAgICB0aGlzLmlucHV0VGV4dCA9ICcnO1xuXG4gICAgICB0aGlzLmNoYW5nZVBsYWNlaG9sZGVyKCcnKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLm5leHQoe1xuICAgICAgICBmcm9tOiByYW5nZT8uZnJvbSB8fCBudWxsLFxuICAgICAgICB0bzogcmFuZ2U/LnRvIHx8IG51bGwsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZnJvbSA9IHRoaXMuZ2V0TG9jYWxlU3RyaW5nKHJhbmdlLmZyb20pO1xuICAgICAgY29uc3QgdG8gPSByYW5nZS5mcm9tICYmICFyYW5nZS50byA/ICcnIDogdGhpcy5nZXRMb2NhbGVTdHJpbmcocmFuZ2UudG8pO1xuICAgICAgdGhpcy5pbnB1dFRleHQgPSBmcm9tICsgJyAtICcgKyB0bztcbiAgICAgIHRoaXMuY2hhbmdlUGxhY2Vob2xkZXIoZnJvbSArICcgLSAnICsgdG8pO1xuICAgIH1cbiAgfVxuXG4gIHdyaXRlVmFsdWUob2JqOiBEYXRlRnJvbVRvTW9kZWwpOiB2b2lkIHtcbiAgICBpZiAob2JqPy5mcm9tKSB7XG4gICAgICB0aGlzLmRhdGUgPSB7XG4gICAgICAgIGZyb206IG5ldyBEYXRlKG9iai5mcm9tKSxcbiAgICAgICAgdG86IG5ldyBEYXRlKG9iai50byksXG4gICAgICB9O1xuICAgICAgdGhpcy5zZXREYXRlKHtcbiAgICAgICAgZnJvbTogbmV3IERhdGUob2JqLmZyb20pLFxuICAgICAgICB0bzogbmV3IERhdGUob2JqLnRvKSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRhdGUgPSB7IGZyb206IG51bGwsIHRvOiBudWxsIH07XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWREYXRlLm5leHQoe1xuICAgICAgZnJvbTogbnVsbCxcbiAgICAgIHRvOiBudWxsLFxuICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgaXNWYWx1ZUNoYW5nZSh2YWx1ZSkge1xuICAgIHJldHVybiAhKFxuICAgICAgbmV3IERhdGUodmFsdWUuZnJvbSkuZ2V0VGltZSgpID09PSBuZXcgRGF0ZSh0aGlzLmRhdGUuZnJvbSkuZ2V0VGltZSgpICYmXG4gICAgICBuZXcgRGF0ZSh2YWx1ZS50bykuZ2V0VGltZSgpID09PSBuZXcgRGF0ZSh0aGlzLmRhdGUudG8pLmdldFRpbWUoKVxuICAgICk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRhdGU/LmZyb20pIHtcbiAgICAgIHRoaXMuc2V0RGF0ZSh7XG4gICAgICAgIGZyb206IHRoaXMuYWxsb3dOdWxsID8gbnVsbCA6IG5ldyBEYXRlKHRoaXMuZGF0ZT8uZnJvbSksXG4gICAgICAgIHRvOiB0aGlzLmFsbG93TnVsbCA/IG51bGwgOiBuZXcgRGF0ZSh0aGlzLmRhdGU/LnRvKSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldERhdGUoe1xuICAgICAgICBmcm9tOiB0aGlzLmFsbG93TnVsbCA/IG51bGwgOiBuZXcgRGF0ZSgpLFxuICAgICAgICB0bzogdGhpcy5hbGxvd051bGwgPyBudWxsIDogbmV3IERhdGUoKSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0ZWREYXRlLm5leHQoe1xuICAgICAgZnJvbTogbnVsbCxcbiAgICAgIHRvOiBudWxsLFxuICAgIH0pO1xuXG4gICAgdGhpcy5wcmVwYXJlSW5wdXQoKTtcbiAgfVxuXG4gIG9uQ2hhbmdlKGRhdGUpIHt9XG59XG4iLCI8dGV0YS1kcm9wZG93biAqbmdJZj1cIntzZWxlY3RlZERhdGU6c2VsZWN0ZWREYXRlfGFzeW5jfWFzIGRhdGFcIiBbYXBwZW5kVG9Cb2R5XT1cImFwcGVuZFRvQm9keVwiIFtiYWNrZHJvcF09XCJiYWNrZHJvcFwiXG4gICAgICAgICAgICAgICBjbGFzcz0ncm93IHJvd19hdXRvJ1xuICAgICAgICAgICAgICAgWyhvcGVuKV09XCJvcGVuXCIgKG9wZW5DaGFuZ2UpPVwib3BlbkNoYW5nZSgkZXZlbnQpXCIgW3ZpZXdUeXBlXT1cInZpZXdUeXBlXCJcbiAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFt2ZXJ0aWNhbEFsaWduXT1cInZlcnRpY2FsQWxpZ25cIiBbYWxpZ25dPVwiYWxpZ25cIlxuICAgICAgICAgICAgICAgW2F1dG9DbG9zZUlnbm9yZV09XCJbJ2VzYycsICdpbnNpZGUnLCdlbnRlciddXCI+XG4gIDxkaXYgdGV0YURyb3Bkb3duSGVhZFxuICAgICAgIFtjbGFzc109XCInZGF0ZXBpY2tlci1oZWFkIGZvbnQtYm9keS0zIGdhcC04IGRhdGVwaWNrZXJfJyt2aWV3VHlwZVwiXG4gICAgICAgW25nQ2xhc3NdPVwieydkYXRlcGlja2VyLWhlYWRfaW52YWxpZCc6aW52YWxpZCwnZGF0ZXBpY2tlci1oZWFkX2Rpc2FibGVkJzpkaXNhYmxlZH1cIj5cbiAgICA8dGV0YS1pbnB1dCBjbGFzcz1cInJvdyByb3dfYXV0byBmbGV4XCI+XG4gICAgICA8ZGl2IFtjbGFzc109XCIncm93X2F1dG8gcm93IGRhdGVwaWNrZXJfJyt2aWV3VHlwZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHJvd19hdXRvIHBvc2l0aW9uLXJlbGF0aXZlIGZvbnQtYm9keS0zIGFsaWduLWNlbnRlclwiPlxuICAgICAgICAgIDxpbnB1dCBbbmdDbGFzc109XCJ7J2NvbG9yLXRleHQtOTAnOiFkaXNhYmxlZH1cIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAjaW5wdXQgc3R5bGU9XCJ6LWluZGV4OiAxXCJcbiAgICAgICAgICAgICAgICAgY2xhc3M9XCJib3JkZXItMCBjb2xvci10ZXh0LTkwXCIgKGtleWRvd24pPVwiY2hlY2tFbnRlcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dFRleHRcIiAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VJbnB1dCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgW21hc2tpdG9dPVwibWFza2l0b09wdGlvbnNcIj5cbiAgICAgICAgICA8ZGl2IChjbGljayk9XCJpbnB1dC5mb2N1cygpXCIgKm5nSWY9XCJkYXRhLnNlbGVjdGVkRGF0ZXx8YWxsb3dOdWxsXCIgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBjb2xvci10ZXh0LTEwXCJcbiAgICAgICAgICAgICAgIHN0eWxlPVwidG9wOi0wLjNweDtjdXJzb3I6IHRleHQ7dXNlci1zZWxlY3Q6IG5vbmVcIj57e3BsYWNlaG9sZGVyfX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDx0ZXRhLWljb24gW25hbWVdPVwiJ2NhbGVuZGFyJ1wiIFtwYWxldHRlXT1cIid0ZXh0J1wiPjwvdGV0YS1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgPC90ZXRhLWlucHV0PlxuICA8L2Rpdj5cbiAgPGRpdiB0ZXRhRHJvcGRvd25Db250ZW50IGNsYXNzPVwic2Nyb2xsYWJsZVwiIChjbGljayk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcGVuXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgIDx0ZXRhLXJhbmdlLWNhbGVuZGFyIFtpc0RhdGVOdWxsXT1cImRhdGU9PT1udWxsfHwoZGF0ZT8uZnJvbT09PW51bGwmJmRhdGU/LnRvPT09bnVsbClcIiBbb3Blbl09XCJvcGVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21heF09XCJtYXhEYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FsbG93TnVsbF09XCJhbGxvd051bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWluXT1cIm1pbkRhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2V0RGF0ZSk9XCJjaGFuZ2VTZWxlY3RlZERhdGUoJGV2ZW50LGRhdGEuc2VsZWN0ZWREYXRlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZERhdGVdPVwiZGF0YS5zZWxlY3RlZERhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0ZV09XCJkYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZpZXdUeXBlXT1cInZpZXdUeXBlXCIgW2xvY2FsZV09XCJsb2NhbGVcIj48L3RldGEtcmFuZ2UtY2FsZW5kYXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L3RldGEtZHJvcGRvd24+XG4iXX0=
@@ -49,12 +49,12 @@ export class Axes3dComponent {
49
49
  this._alive = false;
50
50
  }
51
51
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Axes3dComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
52
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: Axes3dComponent, isStandalone: true, selector: "teta-axes-3d", inputs: { rotation: "rotation" }, ngImport: i0, template: "<ng-container *ngIf=\"{axes:axes|async}as data\">\n<ngts-text *ngFor=\"let tick of data.axes?.y;let i=index; trackBy: trackBy\" [text]=\"tick.value+'-'\"\n [color]=\"'var(--color-text-90)'\"\n [rotation]=\"rotation\"\n [fontSize]=\"2.5\"\n [position]=\"[0,tick.position,50]\"\n [anchorX]=\"'right'\"\n [anchorY]=\"'middle'\"\n [textAlign]=\"'right'\"\n></ngts-text>\n<ngts-text *ngFor=\"let tick of data.axes?.z;let i=index; trackBy: trackBy\" [text]=\"tick.value\"\n [color]=\"'var(--color-text-90)'\"\n [rotation]=\"rotation\"\n [fontSize]=\"2.5\"\n [position]=\"[25,-50,tick.position]\"\n ></ngts-text>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: NgtsText, selector: "ngts-text[text]", inputs: ["textRef", "text", "characters", "font", "anchorX", "anchorY"], outputs: ["sync"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
52
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: Axes3dComponent, isStandalone: true, selector: "teta-axes-3d", inputs: { rotation: "rotation" }, ngImport: i0, template: "<ng-container *ngIf='{axes:axes|async}as data'>\n <ngts-text *ngFor='let tick of data.axes?.x;let i=index; trackBy: trackBy' [text]=\"tick.value+'-'\"\n [color]=\"'var(--color-text-90)'\"\n [rotation]='rotation'\n [fontSize]='2.5'\n [position]='[tick.position, -50, 50]'\n [anchorX]=\"'right'\"\n [anchorY]=\"'middle'\"\n [textAlign]=\"'right'\"\n ></ngts-text>\n <ngts-text *ngFor='let tick of data.axes?.y;let i=index; trackBy: trackBy' [text]=\"tick.value+'-'\"\n [color]=\"'var(--color-text-90)'\"\n [rotation]='rotation'\n [fontSize]='2.5'\n [position]='[0,tick.position,50]'\n [anchorX]=\"'right'\"\n [anchorY]=\"'middle'\"\n [textAlign]=\"'right'\"\n ></ngts-text>\n <ngts-text *ngFor='let tick of data.axes?.z;let i=index; trackBy: trackBy' [text]='tick.value'\n [color]=\"'var(--color-text-90)'\"\n [rotation]='rotation'\n [fontSize]='2.5'\n [position]='[25,-50,tick.position]'\n ></ngts-text>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: NgtsText, selector: "ngts-text[text]", inputs: ["textRef", "text", "characters", "font", "anchorX", "anchorY"], outputs: ["sync"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
53
53
  }
54
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: Axes3dComponent, decorators: [{
55
55
  type: Component,
56
- args: [{ selector: 'teta-axes-3d', standalone: true, imports: [CommonModule, NgtsText], schemas: [CUSTOM_ELEMENTS_SCHEMA], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"{axes:axes|async}as data\">\n<ngts-text *ngFor=\"let tick of data.axes?.y;let i=index; trackBy: trackBy\" [text]=\"tick.value+'-'\"\n [color]=\"'var(--color-text-90)'\"\n [rotation]=\"rotation\"\n [fontSize]=\"2.5\"\n [position]=\"[0,tick.position,50]\"\n [anchorX]=\"'right'\"\n [anchorY]=\"'middle'\"\n [textAlign]=\"'right'\"\n></ngts-text>\n<ngts-text *ngFor=\"let tick of data.axes?.z;let i=index; trackBy: trackBy\" [text]=\"tick.value\"\n [color]=\"'var(--color-text-90)'\"\n [rotation]=\"rotation\"\n [fontSize]=\"2.5\"\n [position]=\"[25,-50,tick.position]\"\n ></ngts-text>\n</ng-container>\n" }]
56
+ args: [{ selector: 'teta-axes-3d', standalone: true, imports: [CommonModule, NgtsText], schemas: [CUSTOM_ELEMENTS_SCHEMA], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf='{axes:axes|async}as data'>\n <ngts-text *ngFor='let tick of data.axes?.x;let i=index; trackBy: trackBy' [text]=\"tick.value+'-'\"\n [color]=\"'var(--color-text-90)'\"\n [rotation]='rotation'\n [fontSize]='2.5'\n [position]='[tick.position, -50, 50]'\n [anchorX]=\"'right'\"\n [anchorY]=\"'middle'\"\n [textAlign]=\"'right'\"\n ></ngts-text>\n <ngts-text *ngFor='let tick of data.axes?.y;let i=index; trackBy: trackBy' [text]=\"tick.value+'-'\"\n [color]=\"'var(--color-text-90)'\"\n [rotation]='rotation'\n [fontSize]='2.5'\n [position]='[0,tick.position,50]'\n [anchorX]=\"'right'\"\n [anchorY]=\"'middle'\"\n [textAlign]=\"'right'\"\n ></ngts-text>\n <ngts-text *ngFor='let tick of data.axes?.z;let i=index; trackBy: trackBy' [text]='tick.value'\n [color]=\"'var(--color-text-90)'\"\n [rotation]='rotation'\n [fontSize]='2.5'\n [position]='[25,-50,tick.position]'\n ></ngts-text>\n</ng-container>\n" }]
57
57
  }], ctorParameters: function () { return []; }, propDecorators: { rotation: [{
58
58
  type: Input
59
59
  }] } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhlcy0zZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2F4ZXMtM2QvYXhlcy0zZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2F4ZXMtM2QvYXhlcy0zZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxzQkFBc0IsRUFDdEIsTUFBTSxFQUNOLEtBQUssR0FFTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3pCLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRS9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBR2pFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQVVkLE1BQU0sT0FBTyxlQUFlO0lBQ2pCLFFBQVEsQ0FBUTtJQUNsQixJQUFJLENBSVI7SUFDSyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBRUgsWUFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN6RDtRQUNFLElBQUksQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTTtZQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU07U0FDekIsQ0FBQyxDQUFDLElBQUksQ0FDTCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUM1QixHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQW9CO1FBQ3JDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDckQsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3hELENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFDRCxhQUFhLENBQUMsUUFBa0IsRUFBRSxLQUFLLEdBQUcsRUFBRTtRQUMxQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUM1QixNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7UUFFckMsTUFBTSxLQUFLLEdBQUcsRUFBRTthQUNiLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLFFBQVEsRUFBRSxRQUFRLENBQUM7YUFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBRS9CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELE9BQU8sQ0FBQyxDQUFDO1FBQ1AsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7dUdBakRVLGVBQWU7MkZBQWYsZUFBZSwwR0M3QjVCLDJ1QkFpQkEsMkNEUVksWUFBWSxxVEFBRSxRQUFROzsyRkFJckIsZUFBZTtrQkFSM0IsU0FBUzsrQkFDRSxjQUFjLGNBRVosSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxXQUN4QixDQUFDLHNCQUFzQixDQUFDLG1CQUNoQix1QkFBdUIsQ0FBQyxNQUFNOzBFQUd0QyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ3RzVGV4dCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtc29iYS9hYnN0cmFjdGlvbnMnO1xuaW1wb3J0ICogYXMgZDMgZnJvbSAnZDMnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgRXVsZXIgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBleHRlbmQgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IEF4aXMzZFBvaW50IH0gZnJvbSAnLi4vbW9kZWwvYXhpcy0zZC1wb2ludCc7XG5pbXBvcnQgeyBDaGFydDNkU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvY2hhcnQtM2Quc2VydmljZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXhlczNkTWluTWF4IH0gZnJvbSAnLi4vbW9kZWwvYXhlcy0zZC1taW4tbWF4JztcblxuZXh0ZW5kKFRIUkVFKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1heGVzLTNkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F4ZXMtM2QuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOZ3RzVGV4dF0sXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEF4ZXMzZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHJvdGF0aW9uOiBFdWxlcjtcbiAgcHVibGljIGF4ZXM6IE9ic2VydmFibGU8e1xuICAgIHo6IEF4aXMzZFBvaW50W107XG4gICAgeTogQXhpczNkUG9pbnRbXTtcbiAgICB4OiBBeGlzM2RQb2ludFtdO1xuICB9PjtcbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBjaGFydFNlcnZpY2UgPSBpbmplY3QoQ2hhcnQzZFNlcnZpY2UpO1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmF4ZXMgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuY2hhcnRTZXJ2aWNlLnNjYWxlcyxcbiAgICAgIHRoaXMuY2hhcnRTZXJ2aWNlLm1pbk1heCxcbiAgICBdKS5waXBlKFxuICAgICAgdGFrZVdoaWxlKCgpID0+IHRoaXMuX2FsaXZlKSxcbiAgICAgIG1hcCgoW3NjYWxlcywgbWluTWF4XSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVBeGVzKHNjYWxlcywgbWluTWF4KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGNyZWF0ZUF4ZXMoc2NhbGVzLCBtaW5NYXg6IEF4ZXMzZE1pbk1heCkge1xuICAgIGNvbnN0IGF4aXNaID0gdGhpcy5nZW5lcmF0ZVRpY2tzKG1pbk1heC56LCAxMikubWFwKF8gPT4ge1xuICAgICAgcmV0dXJuIHsgdmFsdWU6IF8udG9GaXhlZCgxKSwgcG9zaXRpb246IHNjYWxlcy56KF8pIH07XG4gICAgfSk7XG4gICAgY29uc3QgYXhpc1kgPSB0aGlzLmdlbmVyYXRlVGlja3MobWluTWF4LnksIDEyKS5tYXAoXyA9PiB7XG4gICAgICByZXR1cm4geyB2YWx1ZTogXy50b0ZpeGVkKDEpLCBwb3NpdGlvbjogc2NhbGVzLnkoXykgfTtcbiAgICB9KTtcbiAgICBjb25zdCBheGlzWCA9IHRoaXMuZ2VuZXJhdGVUaWNrcyhtaW5NYXgueCwgNCkubWFwKF8gPT4ge1xuICAgICAgcmV0dXJuIHsgdmFsdWU6IF8udG9GaXhlZCgxKSwgcG9zaXRpb246IHNjYWxlcy54KF8pIH07XG4gICAgfSk7XG4gICAgcmV0dXJuIHsgejogYXhpc1osIHk6IGF4aXNZLCB4OiBheGlzWCB9O1xuICB9XG4gIGdlbmVyYXRlVGlja3MoZXh0cmVtZXM6IG51bWJlcltdLCBjb3VudCA9IDEwKSB7XG4gICAgY29uc3QgW21pbiwgbWF4XSA9IGV4dHJlbWVzO1xuICAgIGNvbnN0IHRpY2tTdGVwID0gKG1heCAtIG1pbikgLyBjb3VudDtcblxuICAgIGNvbnN0IHRpY2tzID0gZDNcbiAgICAgIC5yYW5nZShtaW4sIG1heCArIHRpY2tTdGVwLCB0aWNrU3RlcClcbiAgICAgIC5maWx0ZXIoc3RlcCA9PiBzdGVwIDw9IG1heCk7XG5cbiAgICByZXR1cm4gdGlja3M7XG4gIH1cbiAgdHJhY2tCeShpKSB7XG4gICAgcmV0dXJuIGk7XG4gIH1cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIntheGVzOmF4ZXN8YXN5bmN9YXMgZGF0YVwiPlxuPG5ndHMtdGV4dCAqbmdGb3I9XCJsZXQgdGljayBvZiBkYXRhLmF4ZXM/Lnk7bGV0IGk9aW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlcIiBbdGV4dF09XCJ0aWNrLnZhbHVlKyctJ1wiXG4gICAgICAgICAgIFtjb2xvcl09XCIndmFyKC0tY29sb3ItdGV4dC05MCknXCJcbiAgICAgICAgICAgW3JvdGF0aW9uXT1cInJvdGF0aW9uXCJcbiAgICAgICAgICAgW2ZvbnRTaXplXT1cIjIuNVwiXG4gICAgICAgICAgIFtwb3NpdGlvbl09XCJbMCx0aWNrLnBvc2l0aW9uLDUwXVwiXG4gICAgICAgICAgIFthbmNob3JYXT1cIidyaWdodCdcIlxuICAgICAgICAgICBbYW5jaG9yWV09XCInbWlkZGxlJ1wiXG4gICAgICAgICAgIFt0ZXh0QWxpZ25dPVwiJ3JpZ2h0J1wiXG4+PC9uZ3RzLXRleHQ+XG48bmd0cy10ZXh0ICpuZ0Zvcj1cImxldCB0aWNrIG9mIGRhdGEuYXhlcz8uejtsZXQgaT1pbmRleDsgdHJhY2tCeTogdHJhY2tCeVwiICBbdGV4dF09XCJ0aWNrLnZhbHVlXCJcbiAgICAgICAgICAgW2NvbG9yXT1cIid2YXIoLS1jb2xvci10ZXh0LTkwKSdcIlxuICAgICAgICAgICBbcm90YXRpb25dPVwicm90YXRpb25cIlxuICAgICAgICAgICBbZm9udFNpemVdPVwiMi41XCJcbiAgICAgICAgICAgW3Bvc2l0aW9uXT1cIlsyNSwtNTAsdGljay5wb3NpdGlvbl1cIlxuICAgICAgICAgICA+PC9uZ3RzLXRleHQ+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhlcy0zZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2F4ZXMtM2QvYXhlcy0zZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2F4ZXMtM2QvYXhlcy0zZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxzQkFBc0IsRUFDdEIsTUFBTSxFQUNOLEtBQUssR0FFTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3pCLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRS9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBR2pFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQVVkLE1BQU0sT0FBTyxlQUFlO0lBQ2pCLFFBQVEsQ0FBUTtJQUNsQixJQUFJLENBSVI7SUFDSyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBRUgsWUFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN6RDtRQUNFLElBQUksQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTTtZQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU07U0FDekIsQ0FBQyxDQUFDLElBQUksQ0FDTCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUM1QixHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQW9CO1FBQ3JDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDckQsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3hELENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFDRCxhQUFhLENBQUMsUUFBa0IsRUFBRSxLQUFLLEdBQUcsRUFBRTtRQUMxQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUM1QixNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7UUFFckMsTUFBTSxLQUFLLEdBQUcsRUFBRTthQUNiLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLFFBQVEsRUFBRSxRQUFRLENBQUM7YUFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBRS9CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELE9BQU8sQ0FBQyxDQUFDO1FBQ1AsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7dUdBakRVLGVBQWU7MkZBQWYsZUFBZSwwR0M3QjVCLHluQ0EwQkEsMkNERFksWUFBWSxxVEFBRSxRQUFROzsyRkFJckIsZUFBZTtrQkFSM0IsU0FBUzsrQkFDRSxjQUFjLGNBRVosSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxXQUN4QixDQUFDLHNCQUFzQixDQUFDLG1CQUNoQix1QkFBdUIsQ0FBQyxNQUFNOzBFQUd0QyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ3RzVGV4dCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtc29iYS9hYnN0cmFjdGlvbnMnO1xuaW1wb3J0ICogYXMgZDMgZnJvbSAnZDMnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgRXVsZXIgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBleHRlbmQgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IEF4aXMzZFBvaW50IH0gZnJvbSAnLi4vbW9kZWwvYXhpcy0zZC1wb2ludCc7XG5pbXBvcnQgeyBDaGFydDNkU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvY2hhcnQtM2Quc2VydmljZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXhlczNkTWluTWF4IH0gZnJvbSAnLi4vbW9kZWwvYXhlcy0zZC1taW4tbWF4JztcblxuZXh0ZW5kKFRIUkVFKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1heGVzLTNkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F4ZXMtM2QuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOZ3RzVGV4dF0sXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEF4ZXMzZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHJvdGF0aW9uOiBFdWxlcjtcbiAgcHVibGljIGF4ZXM6IE9ic2VydmFibGU8e1xuICAgIHo6IEF4aXMzZFBvaW50W107XG4gICAgeTogQXhpczNkUG9pbnRbXTtcbiAgICB4OiBBeGlzM2RQb2ludFtdO1xuICB9PjtcbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBjaGFydFNlcnZpY2UgPSBpbmplY3QoQ2hhcnQzZFNlcnZpY2UpO1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmF4ZXMgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuY2hhcnRTZXJ2aWNlLnNjYWxlcyxcbiAgICAgIHRoaXMuY2hhcnRTZXJ2aWNlLm1pbk1heCxcbiAgICBdKS5waXBlKFxuICAgICAgdGFrZVdoaWxlKCgpID0+IHRoaXMuX2FsaXZlKSxcbiAgICAgIG1hcCgoW3NjYWxlcywgbWluTWF4XSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVBeGVzKHNjYWxlcywgbWluTWF4KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGNyZWF0ZUF4ZXMoc2NhbGVzLCBtaW5NYXg6IEF4ZXMzZE1pbk1heCkge1xuICAgIGNvbnN0IGF4aXNaID0gdGhpcy5nZW5lcmF0ZVRpY2tzKG1pbk1heC56LCAxMikubWFwKF8gPT4ge1xuICAgICAgcmV0dXJuIHsgdmFsdWU6IF8udG9GaXhlZCgxKSwgcG9zaXRpb246IHNjYWxlcy56KF8pIH07XG4gICAgfSk7XG4gICAgY29uc3QgYXhpc1kgPSB0aGlzLmdlbmVyYXRlVGlja3MobWluTWF4LnksIDEyKS5tYXAoXyA9PiB7XG4gICAgICByZXR1cm4geyB2YWx1ZTogXy50b0ZpeGVkKDEpLCBwb3NpdGlvbjogc2NhbGVzLnkoXykgfTtcbiAgICB9KTtcbiAgICBjb25zdCBheGlzWCA9IHRoaXMuZ2VuZXJhdGVUaWNrcyhtaW5NYXgueCwgNCkubWFwKF8gPT4ge1xuICAgICAgcmV0dXJuIHsgdmFsdWU6IF8udG9GaXhlZCgxKSwgcG9zaXRpb246IHNjYWxlcy54KF8pIH07XG4gICAgfSk7XG4gICAgcmV0dXJuIHsgejogYXhpc1osIHk6IGF4aXNZLCB4OiBheGlzWCB9O1xuICB9XG4gIGdlbmVyYXRlVGlja3MoZXh0cmVtZXM6IG51bWJlcltdLCBjb3VudCA9IDEwKSB7XG4gICAgY29uc3QgW21pbiwgbWF4XSA9IGV4dHJlbWVzO1xuICAgIGNvbnN0IHRpY2tTdGVwID0gKG1heCAtIG1pbikgLyBjb3VudDtcblxuICAgIGNvbnN0IHRpY2tzID0gZDNcbiAgICAgIC5yYW5nZShtaW4sIG1heCArIHRpY2tTdGVwLCB0aWNrU3RlcClcbiAgICAgIC5maWx0ZXIoc3RlcCA9PiBzdGVwIDw9IG1heCk7XG5cbiAgICByZXR1cm4gdGlja3M7XG4gIH1cbiAgdHJhY2tCeShpKSB7XG4gICAgcmV0dXJuIGk7XG4gIH1cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fYWxpdmUgPSBmYWxzZTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj0ne2F4ZXM6YXhlc3xhc3luY31hcyBkYXRhJz5cbiAgPG5ndHMtdGV4dCAqbmdGb3I9J2xldCB0aWNrIG9mIGRhdGEuYXhlcz8ueDtsZXQgaT1pbmRleDsgdHJhY2tCeTogdHJhY2tCeScgW3RleHRdPVwidGljay52YWx1ZSsnLSdcIlxuICAgICAgICAgICAgIFtjb2xvcl09XCIndmFyKC0tY29sb3ItdGV4dC05MCknXCJcbiAgICAgICAgICAgICBbcm90YXRpb25dPSdyb3RhdGlvbidcbiAgICAgICAgICAgICBbZm9udFNpemVdPScyLjUnXG4gICAgICAgICAgICAgW3Bvc2l0aW9uXT0nW3RpY2sucG9zaXRpb24sIC01MCwgNTBdJ1xuICAgICAgICAgICAgIFthbmNob3JYXT1cIidyaWdodCdcIlxuICAgICAgICAgICAgIFthbmNob3JZXT1cIidtaWRkbGUnXCJcbiAgICAgICAgICAgICBbdGV4dEFsaWduXT1cIidyaWdodCdcIlxuICA+PC9uZ3RzLXRleHQ+XG4gIDxuZ3RzLXRleHQgKm5nRm9yPSdsZXQgdGljayBvZiBkYXRhLmF4ZXM/Lnk7bGV0IGk9aW5kZXg7IHRyYWNrQnk6IHRyYWNrQnknIFt0ZXh0XT1cInRpY2sudmFsdWUrJy0nXCJcbiAgICAgICAgICAgICBbY29sb3JdPVwiJ3ZhcigtLWNvbG9yLXRleHQtOTApJ1wiXG4gICAgICAgICAgICAgW3JvdGF0aW9uXT0ncm90YXRpb24nXG4gICAgICAgICAgICAgW2ZvbnRTaXplXT0nMi41J1xuICAgICAgICAgICAgIFtwb3NpdGlvbl09J1swLHRpY2sucG9zaXRpb24sNTBdJ1xuICAgICAgICAgICAgIFthbmNob3JYXT1cIidyaWdodCdcIlxuICAgICAgICAgICAgIFthbmNob3JZXT1cIidtaWRkbGUnXCJcbiAgICAgICAgICAgICBbdGV4dEFsaWduXT1cIidyaWdodCdcIlxuICA+PC9uZ3RzLXRleHQ+XG4gIDxuZ3RzLXRleHQgKm5nRm9yPSdsZXQgdGljayBvZiBkYXRhLmF4ZXM/Lno7bGV0IGk9aW5kZXg7IHRyYWNrQnk6IHRyYWNrQnknIFt0ZXh0XT0ndGljay52YWx1ZSdcbiAgICAgICAgICAgICBbY29sb3JdPVwiJ3ZhcigtLWNvbG9yLXRleHQtOTApJ1wiXG4gICAgICAgICAgICAgW3JvdGF0aW9uXT0ncm90YXRpb24nXG4gICAgICAgICAgICAgW2ZvbnRTaXplXT0nMi41J1xuICAgICAgICAgICAgIFtwb3NpdGlvbl09J1syNSwtNTAsdGljay5wb3NpdGlvbl0nXG4gID48L25ndHMtdGV4dD5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -1,7 +1,7 @@
1
- import { ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, Input, } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
- import { NgtCanvas, NgtStore } from "angular-three";
4
- import { SceneComponent } from "../scene/scene.component";
3
+ import { NgtCanvas, NgtStore } from 'angular-three';
4
+ import { SceneComponent } from '../scene/scene.component';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/common";
7
7
  export class CanvasComponent {
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
21
21
  }], data: [{
22
22
  type: Input
23
23
  }] } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvY2FudmFzL2NhbnZhcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2NhbnZhcy9jYW52YXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxTQUFTLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBY3hELE1BQU0sT0FBTyxlQUFlO0lBQ2pCLEtBQUssQ0FBd0I7SUFDN0IsTUFBTSxDQUFTO0lBQ2YsSUFBSSxDQUFnQjt1R0FIbEIsZUFBZTsyRkFBZixlQUFlLHNIQUhmLENBQUMsUUFBUSxDQUFDLDBCQ2R2QixxTkFNQSx5RkRTWSxTQUFTLDRUQUFrQixZQUFZOzsyRkFFdEMsZUFBZTtrQkFWM0IsU0FBUzsrQkFDRSxhQUFhLGNBQ1gsSUFBSSxXQUdQLENBQUMsc0JBQXNCLENBQUMsbUJBQ2hCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxRQUFRLENBQUMsV0FDWixDQUFDLFNBQVMsRUFBRSxjQUFjLEVBQUUsWUFBWSxDQUFDOzhCQUd6QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05ndENhbnZhcywgTmd0U3RvcmV9IGZyb20gXCJhbmd1bGFyLXRocmVlXCI7XG5pbXBvcnQge1NjZW5lQ29tcG9uZW50fSBmcm9tIFwiLi4vc2NlbmUvc2NlbmUuY29tcG9uZW50XCI7XG5pbXBvcnQge0kzZENoYXJ0Q29uZmlnfSBmcm9tIFwiLi4vbW9kZWwvaS0zZC1jaGFydC1jb25maWdcIjtcbmltcG9ydCB7Q2FtZXJhfSBmcm9tIFwidGhyZWVcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1jYW52YXMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FudmFzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FudmFzLmNvbXBvbmVudC5zY3NzJ10sXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW05ndFN0b3JlXSxcbiAgaW1wb3J0czogW05ndENhbnZhcywgU2NlbmVDb21wb25lbnQsIENvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIENhbnZhc0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNjZW5lOiB0eXBlb2YgU2NlbmVDb21wb25lbnQ7XG4gIEBJbnB1dCgpIGNhbWVyYTogQ2FtZXJhO1xuICBASW5wdXQoKSBkYXRhOiBJM2RDaGFydENvbmZpZ1xufVxuIiwiPG5ndC1jYW52YXMgKm5nSWY9XCJkYXRhPy5zZXJpZXM/Lmxlbmd0aDtlbHNlIG5vRGF0YVwiIFtzY2VuZUdyYXBoXT1cInNjZW5lXCJcbiAgICAgICAgICAgIFtjYW1lcmFdPVwiY2FtZXJhXCI+XG48L25ndC1jYW52YXM+XG48bmctdGVtcGxhdGUgI25vRGF0YT5cbiAgPHA+e3tkYXRhPy5ub0RhdGFUZXh0IHx8ICdubyBkYXRhJ319PC9wPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FudmFzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvY2FudmFzL2NhbnZhcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L2NhbnZhcy9jYW52YXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFjMUQsTUFBTSxPQUFPLGVBQWU7SUFDakIsS0FBSyxDQUF3QjtJQUM3QixNQUFNLENBQVM7SUFDZixJQUFJLENBQWlCO3VHQUhuQixlQUFlOzJGQUFmLGVBQWUsc0hBSGYsQ0FBQyxRQUFRLENBQUMsMEJDbkJ2QixxTkFNQSx5RkRjWSxTQUFTLDRUQUFrQixZQUFZOzsyRkFFdEMsZUFBZTtrQkFWM0IsU0FBUzsrQkFDRSxhQUFhLGNBQ1gsSUFBSSxXQUdQLENBQUMsc0JBQXNCLENBQUMsbUJBQ2hCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxRQUFRLENBQUMsV0FDWixDQUFDLFNBQVMsRUFBRSxjQUFjLEVBQUUsWUFBWSxDQUFDOzhCQUd6QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG4gIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ3RDYW52YXMsIE5ndFN0b3JlIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBTY2VuZUNvbXBvbmVudCB9IGZyb20gJy4uL3NjZW5lL3NjZW5lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJM2RDaGFydENvbmZpZyB9IGZyb20gJy4uL21vZGVsL2ktM2QtY2hhcnQtY29uZmlnJztcbmltcG9ydCB7IENhbWVyYSB9IGZyb20gJ3RocmVlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1jYW52YXMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FudmFzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FudmFzLmNvbXBvbmVudC5zY3NzJ10sXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW05ndFN0b3JlXSxcbiAgaW1wb3J0czogW05ndENhbnZhcywgU2NlbmVDb21wb25lbnQsIENvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIENhbnZhc0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNjZW5lOiB0eXBlb2YgU2NlbmVDb21wb25lbnQ7XG4gIEBJbnB1dCgpIGNhbWVyYTogQ2FtZXJhO1xuICBASW5wdXQoKSBkYXRhOiBJM2RDaGFydENvbmZpZztcbn1cbiIsIjxuZ3QtY2FudmFzICpuZ0lmPVwiZGF0YT8uc2VyaWVzPy5sZW5ndGg7ZWxzZSBub0RhdGFcIiBbc2NlbmVHcmFwaF09XCJzY2VuZVwiXG4gICAgICAgICAgICBbY2FtZXJhXT1cImNhbWVyYVwiPlxuPC9uZ3QtY2FudmFzPlxuPG5nLXRlbXBsYXRlICNub0RhdGE+XG4gIDxwPnt7ZGF0YT8ubm9EYXRhVGV4dCB8fCAnbm8gZGF0YSd9fTwvcD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -30,7 +30,7 @@ export class SceneComponent {
30
30
  this.rotation = this.store.get('camera').rotation;
31
31
  }
32
32
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SceneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SceneComponent, isStandalone: true, selector: "teta-scene", ngImport: i0, template: "<ng-container *ngIf=\"{data:data|async} as config\">\n <ngt-scene>\n <ngts-orbit-controls [minAzimuthAngle]=\"0\" [maxAzimuthAngle]=\"Math.PI/2\" [maxZoom]=\"15\" [minZoom]=\"4\"\n (change)=\"setRotation()\"></ngts-orbit-controls>\n </ngt-scene>\n <teta-area-3d></teta-area-3d>\n <ng-container *ngFor=\"let s of config.data?.series;\">\n <div teta-series-3d-host [series]=\"s\"></div>\n </ng-container>\n <teta-axes-3d [rotation]=\"rotation\"></teta-axes-3d>\n</ng-container>\n\n\n", dependencies: [{ kind: "component", type: NgtsOrbitControls, selector: "ngts-orbit-controls", inputs: ["controlsRef", "camera", "domElement", "makeDefault", "regress", "target", "enableDamping"], outputs: ["change", "start", "end"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: Area3dComponent, selector: "teta-area-3d" }, { kind: "component", type: Axes3dComponent, selector: "teta-axes-3d", inputs: ["rotation"] }, { kind: "component", type: Series3dHost, selector: "[teta-series-3d-host]", inputs: ["series"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
33
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SceneComponent, isStandalone: true, selector: "teta-scene", ngImport: i0, template: "<ng-container *ngIf='{data:data|async} as config'>\n <ngt-scene>\n <ngts-orbit-controls [minAzimuthAngle]='0'\n [maxAzimuthAngle]='Math.PI/2'\n [maxZoom]='30'\n [minZoom]='2'\n (change)='setRotation()'></ngts-orbit-controls>\n </ngt-scene>\n <teta-area-3d></teta-area-3d>\n <ng-container *ngFor='let s of config.data?.series;'>\n <div teta-series-3d-host [series]='s'></div>\n </ng-container>\n <teta-axes-3d [rotation]='rotation'></teta-axes-3d>\n</ng-container>\n\n\n", dependencies: [{ kind: "component", type: NgtsOrbitControls, selector: "ngts-orbit-controls", inputs: ["controlsRef", "camera", "domElement", "makeDefault", "regress", "target", "enableDamping"], outputs: ["change", "start", "end"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: Area3dComponent, selector: "teta-area-3d" }, { kind: "component", type: Axes3dComponent, selector: "teta-axes-3d", inputs: ["rotation"] }, { kind: "component", type: Series3dHost, selector: "[teta-series-3d-host]", inputs: ["series"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
34
34
  }
35
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SceneComponent, decorators: [{
36
36
  type: Component,
@@ -42,6 +42,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
42
42
  Axes3dComponent,
43
43
  Block3dComponent,
44
44
  Series3dHost,
45
- ], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<ng-container *ngIf=\"{data:data|async} as config\">\n <ngt-scene>\n <ngts-orbit-controls [minAzimuthAngle]=\"0\" [maxAzimuthAngle]=\"Math.PI/2\" [maxZoom]=\"15\" [minZoom]=\"4\"\n (change)=\"setRotation()\"></ngts-orbit-controls>\n </ngt-scene>\n <teta-area-3d></teta-area-3d>\n <ng-container *ngFor=\"let s of config.data?.series;\">\n <div teta-series-3d-host [series]=\"s\"></div>\n </ng-container>\n <teta-axes-3d [rotation]=\"rotation\"></teta-axes-3d>\n</ng-container>\n\n\n" }]
45
+ ], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<ng-container *ngIf='{data:data|async} as config'>\n <ngt-scene>\n <ngts-orbit-controls [minAzimuthAngle]='0'\n [maxAzimuthAngle]='Math.PI/2'\n [maxZoom]='30'\n [minZoom]='2'\n (change)='setRotation()'></ngts-orbit-controls>\n </ngt-scene>\n <teta-area-3d></teta-area-3d>\n <ng-container *ngFor='let s of config.data?.series;'>\n <div teta-series-3d-host [series]='s'></div>\n </ng-container>\n <teta-axes-3d [rotation]='rotation'></teta-axes-3d>\n</ng-container>\n\n\n" }]
46
46
  }], ctorParameters: function () { return []; } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90aHJlZS90aHJlZS1jaGFydC9zY2VuZS9zY2VuZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L3NjZW5lL3NjZW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQWtCN0QsTUFBTSxPQUFPLGNBQWM7SUFDbEIsSUFBSSxDQUE2QjtJQUNqQyxRQUFRLENBQVE7SUFDUCxLQUFLLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RCLElBQUksR0FBRyxJQUFJLENBQUM7SUFDWixZQUFZLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RDLElBQUksR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNwRDtRQUNFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUE7SUFDcEMsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUNwRCxDQUFDO3VHQW5CVSxjQUFjOzJGQUFkLGNBQWMsc0VDdEMzQix1Z0JBYUEsNENEZUksaUJBQWlCLDBNQUNqQixZQUFZLHFUQUNaLGVBQWUseURBRWYsZUFBZSwrRUFFZixZQUFZOzsyRkFJSCxjQUFjO2tCQWhCMUIsU0FBUztpQ0FDSSxJQUFJLFlBQ04sWUFBWSxtQkFFTCx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNQLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLFlBQVk7cUJBQ2IsV0FDUSxDQUFDLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuICBpbmplY3QsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3RTdG9yZX0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBOZ3RzT3JiaXRDb250cm9scyB9IGZyb20gJ2FuZ3VsYXItdGhyZWUtc29iYS9jb250cm9scyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFdWxlciB9IGZyb20gJ3RocmVlJztcblxuaW1wb3J0IHsgQXJlYTNkQ29tcG9uZW50IH0gZnJvbSAnLi4vYXJlYS0zZC9hcmVhLTNkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBeGVzM2RDb21wb25lbnQgfSBmcm9tICcuLi9heGVzLTNkL2F4ZXMtM2QuY29tcG9uZW50JztcbmltcG9ydCB7IEJsb2NrM2RDb21wb25lbnQgfSBmcm9tICcuLi9ibG9jay0zZC9ibG9jay0zZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VyaWVzM2RIb3N0IH0gZnJvbSAnLi4vZGlyZWN0aXZlL3Nlcmllcy0zZC1ob3N0JztcbmltcG9ydCB7IExpbmUzZENvbXBvbmVudCB9IGZyb20gJy4uL2xpbmUtM2QvbGluZS0zZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSTNkQ2hhcnRDb25maWcgfSBmcm9tICcuLi9tb2RlbC9pLTNkLWNoYXJ0LWNvbmZpZyc7XG5pbXBvcnQgeyBDaGFydDNkU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvY2hhcnQtM2Quc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3RldGEtc2NlbmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2NlbmUuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIE5ndHNPcmJpdENvbnRyb2xzLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBBcmVhM2RDb21wb25lbnQsXG4gICAgTGluZTNkQ29tcG9uZW50LFxuICAgIEF4ZXMzZENvbXBvbmVudCxcbiAgICBCbG9jazNkQ29tcG9uZW50LFxuICAgIFNlcmllczNkSG9zdCxcbiAgXSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxufSlcbmV4cG9ydCBjbGFzcyBTY2VuZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBkYXRhOiBPYnNlcnZhYmxlPEkzZENoYXJ0Q29uZmlnPjtcbiAgcHVibGljIHJvdGF0aW9uOiBFdWxlcjtcbiAgcHVibGljIHJlYWRvbmx5IHN0b3JlID0gaW5qZWN0KE5ndFN0b3JlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IE1hdGggPSBNYXRoO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhcnRTZXJ2aWNlID0gaW5qZWN0KENoYXJ0M2RTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9jZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmRhdGEgPSB0aGlzLmNoYXJ0U2VydmljZS5kYXRhXG4gIH1cbiAgc2V0Um90YXRpb24oKSB7XG4gICAgdGhpcy5yb3RhdGlvbiA9IG51bGw7XG4gICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLnJvdGF0aW9uID0gdGhpcy5zdG9yZS5nZXQoJ2NhbWVyYScpLnJvdGF0aW9uO1xuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJvdGF0aW9uID0gdGhpcy5zdG9yZS5nZXQoJ2NhbWVyYScpLnJvdGF0aW9uO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwie2RhdGE6ZGF0YXxhc3luY30gYXMgY29uZmlnXCI+XG4gIDxuZ3Qtc2NlbmU+XG4gICAgPG5ndHMtb3JiaXQtY29udHJvbHMgW21pbkF6aW11dGhBbmdsZV09XCIwXCIgW21heEF6aW11dGhBbmdsZV09XCJNYXRoLlBJLzJcIiBbbWF4Wm9vbV09XCIxNVwiIFttaW5ab29tXT1cIjRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwic2V0Um90YXRpb24oKVwiPjwvbmd0cy1vcmJpdC1jb250cm9scz5cbiAgPC9uZ3Qtc2NlbmU+XG4gIDx0ZXRhLWFyZWEtM2Q+PC90ZXRhLWFyZWEtM2Q+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHMgb2YgY29uZmlnLmRhdGE/LnNlcmllcztcIj5cbiAgICA8ZGl2IHRldGEtc2VyaWVzLTNkLWhvc3QgW3Nlcmllc109XCJzXCI+PC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8dGV0YS1heGVzLTNkIFtyb3RhdGlvbl09XCJyb3RhdGlvblwiPjwvdGV0YS1heGVzLTNkPlxuPC9uZy1jb250YWluZXI+XG5cblxuIl19
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90aHJlZS90aHJlZS1jaGFydC9zY2VuZS9zY2VuZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L3NjZW5lL3NjZW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSWhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQWtCN0QsTUFBTSxPQUFPLGNBQWM7SUFDbEIsSUFBSSxDQUE2QjtJQUNqQyxRQUFRLENBQVE7SUFDUCxLQUFLLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RCLElBQUksR0FBRyxJQUFJLENBQUM7SUFDWixZQUFZLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RDLElBQUksR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUVwRDtRQUNFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDckMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUNwRCxDQUFDO3VHQXJCVSxjQUFjOzJGQUFkLGNBQWMsc0VDdEMzQixta0JBZ0JBLDRDRFlJLGlCQUFpQiwwTUFDakIsWUFBWSxxVEFDWixlQUFlLHlEQUVmLGVBQWUsK0VBRWYsWUFBWTs7MkZBSUgsY0FBYztrQkFoQjFCLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLFlBQVksbUJBRUwsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDUCxpQkFBaUI7d0JBQ2pCLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixZQUFZO3FCQUNiLFdBQ1EsQ0FBQyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcbiAgaW5qZWN0LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0U3RvcmUgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IE5ndHNPcmJpdENvbnRyb2xzIH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL2NvbnRyb2xzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEV1bGVyIH0gZnJvbSAndGhyZWUnO1xuXG5pbXBvcnQgeyBBcmVhM2RDb21wb25lbnQgfSBmcm9tICcuLi9hcmVhLTNkL2FyZWEtM2QuY29tcG9uZW50JztcbmltcG9ydCB7IEF4ZXMzZENvbXBvbmVudCB9IGZyb20gJy4uL2F4ZXMtM2QvYXhlcy0zZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmxvY2szZENvbXBvbmVudCB9IGZyb20gJy4uL2Jsb2NrLTNkL2Jsb2NrLTNkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZXJpZXMzZEhvc3QgfSBmcm9tICcuLi9kaXJlY3RpdmUvc2VyaWVzLTNkLWhvc3QnO1xuaW1wb3J0IHsgTGluZTNkQ29tcG9uZW50IH0gZnJvbSAnLi4vbGluZS0zZC9saW5lLTNkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJM2RDaGFydENvbmZpZyB9IGZyb20gJy4uL21vZGVsL2ktM2QtY2hhcnQtY29uZmlnJztcbmltcG9ydCB7IENoYXJ0M2RTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9jaGFydC0zZC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAndGV0YS1zY2VuZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zY2VuZS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgTmd0c09yYml0Q29udHJvbHMsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFyZWEzZENvbXBvbmVudCxcbiAgICBMaW5lM2RDb21wb25lbnQsXG4gICAgQXhlczNkQ29tcG9uZW50LFxuICAgIEJsb2NrM2RDb21wb25lbnQsXG4gICAgU2VyaWVzM2RIb3N0LFxuICBdLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIFNjZW5lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGRhdGE6IE9ic2VydmFibGU8STNkQ2hhcnRDb25maWc+O1xuICBwdWJsaWMgcm90YXRpb246IEV1bGVyO1xuICBwdWJsaWMgcmVhZG9ubHkgc3RvcmUgPSBpbmplY3QoTmd0U3RvcmUpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgTWF0aCA9IE1hdGg7XG4gIHByb3RlY3RlZCByZWFkb25seSBjaGFydFNlcnZpY2UgPSBpbmplY3QoQ2hhcnQzZFNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2NkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5kYXRhID0gdGhpcy5jaGFydFNlcnZpY2UuZGF0YTtcbiAgfVxuXG4gIHNldFJvdGF0aW9uKCkge1xuICAgIHRoaXMucm90YXRpb24gPSBudWxsO1xuICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5yb3RhdGlvbiA9IHRoaXMuc3RvcmUuZ2V0KCdjYW1lcmEnKS5yb3RhdGlvbjtcbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yb3RhdGlvbiA9IHRoaXMuc3RvcmUuZ2V0KCdjYW1lcmEnKS5yb3RhdGlvbjtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj0ne2RhdGE6ZGF0YXxhc3luY30gYXMgY29uZmlnJz5cbiAgPG5ndC1zY2VuZT5cbiAgICA8bmd0cy1vcmJpdC1jb250cm9scyBbbWluQXppbXV0aEFuZ2xlXT0nMCdcbiAgICAgICAgICAgICAgICAgICAgICAgICBbbWF4QXppbXV0aEFuZ2xlXT0nTWF0aC5QSS8yJ1xuICAgICAgICAgICAgICAgICAgICAgICAgIFttYXhab29tXT0nMzAnXG4gICAgICAgICAgICAgICAgICAgICAgICAgW21pblpvb21dPScyJ1xuICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPSdzZXRSb3RhdGlvbigpJz48L25ndHMtb3JiaXQtY29udHJvbHM+XG4gIDwvbmd0LXNjZW5lPlxuICA8dGV0YS1hcmVhLTNkPjwvdGV0YS1hcmVhLTNkPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj0nbGV0IHMgb2YgY29uZmlnLmRhdGE/LnNlcmllczsnPlxuICAgIDxkaXYgdGV0YS1zZXJpZXMtM2QtaG9zdCBbc2VyaWVzXT0ncyc+PC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8dGV0YS1heGVzLTNkIFtyb3RhdGlvbl09J3JvdGF0aW9uJz48L3RldGEtYXhlcy0zZD5cbjwvbmctY29udGFpbmVyPlxuXG5cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { map, ReplaySubject, shareReplay } from 'rxjs';
3
2
  import * as d3 from 'd3';
3
+ import { map, ReplaySubject, shareReplay } from 'rxjs';
4
4
  import * as i0 from "@angular/core";
5
5
  export class Chart3dService {
6
6
  minMax;
@@ -55,11 +55,11 @@ export class Chart3dService {
55
55
  }
56
56
  getMinMaxRange(minMax, axisMin, axisMax) {
57
57
  const min = axisMin ||
58
- (minMax[0] === minMax[1]
58
+ (Math.abs(minMax[0] - minMax[1]) < 0.0000001
59
59
  ? minMax[0] - Math.abs(minMax[0] - 1) * 0.1
60
60
  : minMax[0]);
61
61
  const max = axisMax ||
62
- (minMax[0] === minMax[1]
62
+ (Math.abs(minMax[0] - minMax[1]) < 0.0000001
63
63
  ? minMax[1] + Math.abs(minMax[1] + 1) * 0.1
64
64
  : minMax[1]);
65
65
  return [min, max];
@@ -83,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
83
83
  providedIn: 'root',
84
84
  }]
85
85
  }], ctorParameters: function () { return []; } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtM2Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvc2VydmljZS9jaGFydC0zZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLEdBQUcsRUFBYyxhQUFhLEVBQUUsV0FBVyxFQUFNLE1BQU0sTUFBTSxDQUFDO0FBR3RFLE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDOztBQUt6QixNQUFNLE9BQU8sY0FBYztJQUNsQixNQUFNLENBQTJCO0lBQ2pDLElBQUksQ0FBNkI7SUFDakMsTUFBTSxDQUEwQjtJQUMvQixLQUFLLEdBQ1gsSUFBSSxhQUFhLENBQWlCLENBQUMsQ0FBQyxDQUFDO0lBRXZDO1FBQ0UsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQzFCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNOLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDNUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFJO1FBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFD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b3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHttYXAsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIHNoYXJlUmVwbGF5LCB0YXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtJM2RDaGFydENvbmZpZ30gZnJvbSAnLi4vbW9kZWwvaS0zZC1jaGFydC1jb25maWcnO1xuaW1wb3J0IHtBeGVzM2RNaW5NYXh9IGZyb20gJy4uL21vZGVsL2F4ZXMtM2QtbWluLW1heCc7XG5pbXBvcnQgKiBhcyBkMyBmcm9tICdkMyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFydDNkU2VydmljZSB7XG4gIHB1YmxpYyBtaW5NYXg6IE9ic2VydmFibGU8QXhlczNkTWluTWF4PjtcbiAgcHVibGljIGRhdGE6IE9ic2VydmFibGU8STNkQ2hhcnRDb25maWc+O1xuICBwdWJsaWMgc2NhbGVzOiBPYnNlcnZhYmxlPHsgeDsgeTsgeiB9PjtcbiAgcHJpdmF0ZSBkYXRhJDogUmVwbGF5U3ViamVjdDxJM2RDaGFydENvbmZpZz4gPVxuICAgIG5ldyBSZXBsYXlTdWJqZWN0PEkzZENoYXJ0Q29uZmlnPigxKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmRhdGEgPSB0aGlzLmRhdGEkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMubWluTWF4ID0gdGhpcy5kYXRhLnBpcGUoXG4gICAgICBtYXAoXyA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEF4ZXNNaW5NYXgoXyk7XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5zY2FsZXMgPSB0aGlzLm1pbk1heC5waXBlKFxuICAgICAgbWFwKG1pbk1heCA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFNjYWxlcyhtaW5NYXgpO1xuICAgICAgfSksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG4gIH1cblxuICBzZXREYXRhKGRhdGEpIHtcbiAgICB0aGlzLmRhdGEkLm5leHQoZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIGdldEF4ZXNNaW5NYXgoZGF0YTogSTNkQ2hhcnRDb25maWcpOiBBeGVzM2RNaW5NYXgge1xuICAgIGNvbnN0IHpBcnI6IG51bWJlcltdID0gZGF0YS5zZXJpZXNcbiAgICAgIC5tYXAoXyA9PiB7XG4gICAgICAgIHJldHVybiBfPy5kYXRhPy5tYXAoZCA9PiBkPy56KTtcbiAgICAgIH0pXG4gICAgICAuZmxhdCgpXG4gICAgICAuZmlsdGVyKF8gPT4ge1xuICAgICAgICByZXR1cm4gXyAhPT0gbnVsbCAmJiBfICE9PSB1bmRlZmluZWQ7XG4gICAgICB9KTtcbiAgICBjb25zdCB4QXJyOiBudW1iZXJbXSA9IGRhdGEuc2VyaWVzXG4gICAgICAubWFwKF8gPT4ge1xuICAgICAgICByZXR1cm4gXz8uZGF0YT8ubWFwKGQgPT4gZD8ueCk7XG4gICAgICB9KVxuICAgICAgLmZsYXQoKVxuICAgICAgLmZpbHRlcihfID0+IHtcbiAgICAgICAgcmV0dXJuIF8gIT09IG51bGwgJiYgXyAhPT0gdW5kZWZpbmVkO1xuICAgICAgfSk7XG4gICAgY29uc3QgeUFycjogbnVtYmVyW10gPSBkYXRhLnNlcmllc1xuICAgICAgLm1hcChfID0+IHtcbiAgICAgICAgcmV0dXJuIF8/LmRhdGE/Lm1hcChkID0+IGQ/LnkpO1xuICAgICAgfSlcbiAgICAgIC5mbGF0KClcbiAgICAgIC5maWx0ZXIoXyA9PiB7XG4gICAgICAgIHJldHVybiBfICE9PSBudWxsICYmIF8gIT09IHVuZGVmaW5lZDtcbiAgICAgIH0pO1xuICAgIGNvbnN0IFpNaW5NYXhWYWw6IFtudW1iZXIsIG51bWJlcl0gPSBbTWF0aC5taW4oLi4uekFyciksIE1hdGgubWF4KC4uLnpBcnIpXTtcbiAgICBjb25zdCBYTWluTWF4VmFsOiBbbnVtYmVyLCBudW1iZXJdID0gW01hdGgubWluKC4uLnhBcnIpLCBNYXRoLm1heCguLi54QXJyKV07XG4gICAgY29uc3QgWU1pbk1heFZhbDogW251bWJlciwgbnVtYmVyXSA9IFtNYXRoLm1pbiguLi55QXJyKSwgTWF0aC5tYXgoLi4ueUFycildO1xuICAgIHJldHVybiB7XG4gICAgICB6OiB0aGlzLmdldE1pbk1heFJhbmdlKFpNaW5NYXhWYWwsIGRhdGEuekF4aXM/Lm1pbiwgZGF0YS56QXhpcz8ubWF4KSxcbiAgICAgIHg6IHRoaXMuZ2V0TWluTWF4UmFuZ2UoWE1pbk1heFZhbCwgZGF0YS54QXhpcz8ubWluLCBkYXRhLnhBeGlzPy5tYXgpLFxuICAgICAgeTogdGhpcy5nZXRNaW5NYXhSYW5nZShZTWluTWF4VmFsLCBkYXRhLnlBeGlzPy5taW4sIGRhdGEueUF4aXM/Lm1heCksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TWluTWF4UmFuZ2UoXG4gICAgbWluTWF4OiBbbnVtYmVyLCBudW1iZXJdLFxuICAgIGF4aXNNaW46IG51bWJlcixcbiAgICBheGlzTWF4OiBudW1iZXJcbiAgKTogW251bWJlciwgbnVtYmVyXSB7XG4gICAgY29uc3QgbWluID1cbiAgICAgIGF4aXNNaW4gfHxcbiAgICAgIChtaW5NYXhbMF0gPT09IG1pbk1heFsxXVxuICAgICAgICA/IG1pbk1heFswXSAtIE1hdGguYWJzKG1pbk1heFswXSAtIDEpICogMC4xXG4gICAgICAgIDogbWluTWF4WzBdKTtcbiAgICBjb25zdCBtYXggPVxuICAgICAgYXhpc01heCB8fFxuICAgICAgKG1pbk1heFswXSA9PT0gbWluTWF4WzFdXG4gICAgICAgID8gbWluTWF4WzFdICsgTWF0aC5hYnMobWluTWF4WzFdICsgMSkgKiAwLjFcbiAgICAgICAgOiBtaW5NYXhbMV0pO1xuICAgIHJldHVybiBbbWluLCBtYXhdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTY2FsZXMoYXhlc01pbk1heDogQXhlczNkTWluTWF4KSB7XG4gICAgY29uc3QgeiA9IGQzLnNjYWxlTGluZWFyKCkuZG9tYWluKGF4ZXNNaW5NYXgueikucmFuZ2UoWzUwLCAtNTBdKTtcbiAgICBjb25zdCB4ID0gZDMuc2NhbGVMaW5lYXIoKS5kb21haW4oYXhlc01pbk1heC54KS5yYW5nZShbMjUsIDBdKTtcbiAgICBjb25zdCB5ID0gZDMuc2NhbGVMaW5lYXIoKS5kb21haW4oYXhlc01pbk1heC55KS5yYW5nZShbNTAsIC01MF0pO1xuICAgIHJldHVybiB7XG4gICAgICB4LFxuICAgICAgeSxcbiAgICAgIHosXG4gICAgfTtcbiAgfVxufVxuIl19
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQtM2Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdGhyZWUvdGhyZWUtY2hhcnQvc2VydmljZS9jaGFydC0zZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUFFLEdBQUcsRUFBYyxhQUFhLEVBQUUsV0FBVyxFQUFPLE1BQU0sTUFBTSxDQUFDOztBQVF4RSxNQUFNLE9BQU8sY0FBYztJQUNsQixNQUFNLENBQTJCO0lBQ2pDLElBQUksQ0FBNkI7SUFDakMsTUFBTSxDQUEwQjtJQUMvQixLQUFLLEdBQ1gsSUFBSSxhQUFhLENBQWlCLENBQUMsQ0FBQyxDQUFDO0lBRXZDO1FBQ0UsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQzFCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNOLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDNUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ1gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFJO1FBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFD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QUZiLE1BQU07OzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgZDMgZnJvbSAnZDMnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBzaGFyZVJlcGxheSwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEF4ZXMzZE1pbk1heCB9IGZyb20gJy4uL21vZGVsL2F4ZXMtM2QtbWluLW1heCc7XG5pbXBvcnQgeyBJM2RDaGFydENvbmZpZyB9IGZyb20gJy4uL21vZGVsL2ktM2QtY2hhcnQtY29uZmlnJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENoYXJ0M2RTZXJ2aWNlIHtcbiAgcHVibGljIG1pbk1heDogT2JzZXJ2YWJsZTxBeGVzM2RNaW5NYXg+O1xuICBwdWJsaWMgZGF0YTogT2JzZXJ2YWJsZTxJM2RDaGFydENvbmZpZz47XG4gIHB1YmxpYyBzY2FsZXM6IE9ic2VydmFibGU8eyB4OyB5OyB6IH0+O1xuICBwcml2YXRlIGRhdGEkOiBSZXBsYXlTdWJqZWN0PEkzZENoYXJ0Q29uZmlnPiA9XG4gICAgbmV3IFJlcGxheVN1YmplY3Q8STNkQ2hhcnRDb25maWc+KDEpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZGF0YSA9IHRoaXMuZGF0YSQuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5taW5NYXggPSB0aGlzLmRhdGEucGlwZShcbiAgICAgIG1hcChfID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QXhlc01pbk1heChfKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLnNjYWxlcyA9IHRoaXMubWluTWF4LnBpcGUoXG4gICAgICBtYXAobWluTWF4ID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U2NhbGVzKG1pbk1heCk7XG4gICAgICB9KSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKTtcbiAgfVxuXG4gIHNldERhdGEoZGF0YSkge1xuICAgIHRoaXMuZGF0YSQubmV4dChkYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QXhlc01pbk1heChkYXRhOiBJM2RDaGFydENvbmZpZyk6IEF4ZXMzZE1pbk1heCB7XG4gICAgY29uc3QgekFycjogbnVtYmVyW10gPSBkYXRhLnNlcmllc1xuICAgICAgLm1hcChfID0+IHtcbiAgICAgICAgcmV0dXJuIF8/LmRhdGE/Lm1hcChkID0+IGQ/LnopO1xuICAgICAgfSlcbiAgICAgIC5mbGF0KClcbiAgICAgIC5maWx0ZXIoXyA9PiB7XG4gICAgICAgIHJldHVybiBfICE9PSBudWxsICYmIF8gIT09IHVuZGVmaW5lZDtcbiAgICAgIH0pO1xuICAgIGNvbnN0IHhBcnI6IG51bWJlcltdID0gZGF0YS5zZXJpZXNcbiAgICAgIC5tYXAoXyA9PiB7XG4gICAgICAgIHJldHVybiBfPy5kYXRhPy5tYXAoZCA9PiBkPy54KTtcbiAgICAgIH0pXG4gICAgICAuZmxhdCgpXG4gICAgICAuZmlsdGVyKF8gPT4ge1xuICAgICAgICByZXR1cm4gXyAhPT0gbnVsbCAmJiBfICE9PSB1bmRlZmluZWQ7XG4gICAgICB9KTtcbiAgICBjb25zdCB5QXJyOiBudW1iZXJbXSA9IGRhdGEuc2VyaWVzXG4gICAgICAubWFwKF8gPT4ge1xuICAgICAgICByZXR1cm4gXz8uZGF0YT8ubWFwKGQgPT4gZD8ueSk7XG4gICAgICB9KVxuICAgICAgLmZsYXQoKVxuICAgICAgLmZpbHRlcihfID0+IHtcbiAgICAgICAgcmV0dXJuIF8gIT09IG51bGwgJiYgXyAhPT0gdW5kZWZpbmVkO1xuICAgICAgfSk7XG4gICAgY29uc3QgWk1pbk1heFZhbDogW251bWJlciwgbnVtYmVyXSA9IFtNYXRoLm1pbiguLi56QXJyKSwgTWF0aC5tYXgoLi4uekFycildO1xuICAgIGNvbnN0IFhNaW5NYXhWYWw6IFtudW1iZXIsIG51bWJlcl0gPSBbTWF0aC5taW4oLi4ueEFyciksIE1hdGgubWF4KC4uLnhBcnIpXTtcbiAgICBjb25zdCBZTWluTWF4VmFsOiBbbnVtYmVyLCBudW1iZXJdID0gW01hdGgubWluKC4uLnlBcnIpLCBNYXRoLm1heCguLi55QXJyKV07XG4gICAgcmV0dXJuIHtcbiAgICAgIHo6IHRoaXMuZ2V0TWluTWF4UmFuZ2UoWk1pbk1heFZhbCwgZGF0YS56QXhpcz8ubWluLCBkYXRhLnpBeGlzPy5tYXgpLFxuICAgICAgeDogdGhpcy5nZXRNaW5NYXhSYW5nZShYTWluTWF4VmFsLCBkYXRhLnhBeGlzPy5taW4sIGRhdGEueEF4aXM/Lm1heCksXG4gICAgICB5OiB0aGlzLmdldE1pbk1heFJhbmdlKFlNaW5NYXhWYWwsIGRhdGEueUF4aXM/Lm1pbiwgZGF0YS55QXhpcz8ubWF4KSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNaW5NYXhSYW5nZShcbiAgICBtaW5NYXg6IFtudW1iZXIsIG51bWJlcl0sXG4gICAgYXhpc01pbjogbnVtYmVyLFxuICAgIGF4aXNNYXg6IG51bWJlclxuICApOiBbbnVtYmVyLCBudW1iZXJdIHtcbiAgICBjb25zdCBtaW4gPVxuICAgICAgYXhpc01pbiB8fFxuICAgICAgKE1hdGguYWJzKG1pbk1heFswXSAtIG1pbk1heFsxXSkgPCAwLjAwMDAwMDFcbiAgICAgICAgPyBtaW5NYXhbMF0gLSBNYXRoLmFicyhtaW5NYXhbMF0gLSAxKSAqIDAuMVxuICAgICAgICA6IG1pbk1heFswXSk7XG4gICAgY29uc3QgbWF4ID1cbiAgICAgIGF4aXNNYXggfHxcbiAgICAgIChNYXRoLmFicyhtaW5NYXhbMF0gLSBtaW5NYXhbMV0pIDwgMC4wMDAwMDAxXG4gICAgICAgID8gbWluTWF4WzFdICsgTWF0aC5hYnMobWluTWF4WzFdICsgMSkgKiAwLjFcbiAgICAgICAgOiBtaW5NYXhbMV0pO1xuICAgIHJldHVybiBbbWluLCBtYXhdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTY2FsZXMoYXhlc01pbk1heDogQXhlczNkTWluTWF4KSB7XG4gICAgY29uc3QgeiA9IGQzLnNjYWxlTGluZWFyKCkuZG9tYWluKGF4ZXNNaW5NYXgueikucmFuZ2UoWzUwLCAtNTBdKTtcbiAgICBjb25zdCB4ID0gZDMuc2NhbGVMaW5lYXIoKS5kb21haW4oYXhlc01pbk1heC54KS5yYW5nZShbMjUsIDBdKTtcbiAgICBjb25zdCB5ID0gZDMuc2NhbGVMaW5lYXIoKS5kb21haW4oYXhlc01pbk1heC55KS5yYW5nZShbNTAsIC01MF0pO1xuICAgIHJldHVybiB7XG4gICAgICB4LFxuICAgICAgeSxcbiAgICAgIHosXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -5,8 +5,8 @@ import * as THREE from 'three';
5
5
  import { OrthographicCamera } from 'three';
6
6
  import { SceneComponent } from './scene/scene.component';
7
7
  import { Chart3dService } from './service/chart-3d.service';
8
- import { CanvasComponent } from "./canvas/canvas.component";
9
- import { Canvas3dHost } from "./directive/canvas-3d-host";
8
+ import { CanvasComponent } from './canvas/canvas.component';
9
+ import { Canvas3dHost } from './directive/canvas-3d-host';
10
10
  import * as i0 from "@angular/core";
11
11
  extend(THREE);
12
12
  export class ThreeChartComponent {
@@ -33,8 +33,14 @@ export class ThreeChartComponent {
33
33
  }
34
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ThreeChartComponent, decorators: [{
35
35
  type: Component,
36
- args: [{ selector: 'teta-three-chart', standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA], changeDetection: ChangeDetectionStrategy.OnPush, providers: [NgtStore], imports: [NgtCanvas, SceneComponent, CommonModule, CanvasComponent, Canvas3dHost], template: "<div class=\"column_auto column justify-content-center align-center\" style=\"height: 100%;width: 100%;\">\n <div teta-canvas-3d-host [camera]=\"camera\" [data]=\"data\" [scene]=\"scene\"></div>\n</div>\n", styles: [":host{width:100%;height:100%}\n"] }]
36
+ args: [{ selector: 'teta-three-chart', standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA], changeDetection: ChangeDetectionStrategy.OnPush, providers: [NgtStore], imports: [
37
+ NgtCanvas,
38
+ SceneComponent,
39
+ CommonModule,
40
+ CanvasComponent,
41
+ Canvas3dHost,
42
+ ], template: "<div class=\"column_auto column justify-content-center align-center\" style=\"height: 100%;width: 100%;\">\n <div teta-canvas-3d-host [camera]=\"camera\" [data]=\"data\" [scene]=\"scene\"></div>\n</div>\n", styles: [":host{width:100%;height:100%}\n"] }]
37
43
  }], propDecorators: { data: [{
38
44
  type: Input
39
45
  }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWUtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90aHJlZS90aHJlZS1jaGFydC90aHJlZS1jaGFydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L3RocmVlLWNoYXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQzFDLFNBQVMsRUFDVCxzQkFBc0IsRUFDdEIsTUFBTSxFQUNOLEtBQUssR0FJTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sT0FBTyxDQUFDO0FBR3pDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7QUFHeEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBWWQsTUFBTSxPQUFPLG1CQUFtQjtJQUNyQixJQUFJLENBQWlCO0lBQ3ZCLEtBQUssQ0FBd0I7SUFDN0IsTUFBTSxDQUFxQjtJQUVmLFlBQVksR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUN4QixHQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFFbEQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLEdBQUcsY0FBYyxDQUFDO1FBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRTtZQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEM7SUFDSCxDQUFDO3VHQXJCVSxtQkFBbUI7MkZBQW5CLG1CQUFtQix5RkFIbkIsQ0FBQyxRQUFRLENBQUMsK0NDL0J2QixnTkFHQSx3RkQ2QnVDLFlBQVksK0JBQWtCLFlBQVk7OzJGQUVwRSxtQkFBbUI7a0JBVi9CLFNBQVM7K0JBQ0Usa0JBQWtCLGNBR2hCLElBQUksV0FDUCxDQUFDLHNCQUFzQixDQUFDLG1CQUNoQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsUUFBUSxDQUFDLFdBQ1osQ0FBQyxTQUFTLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUMsWUFBWSxDQUFDOzhCQUd2RSxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7ZXh0ZW5kLCBOZ3RDYW52YXMsIE5ndFN0b3JlfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCB7T3J0aG9ncmFwaGljQ2FtZXJhfSBmcm9tICd0aHJlZSc7XG5cbmltcG9ydCB7STNkQ2hhcnRDb25maWd9IGZyb20gJy4vbW9kZWwvaS0zZC1jaGFydC1jb25maWcnO1xuaW1wb3J0IHtTY2VuZUNvbXBvbmVudH0gZnJvbSAnLi9zY2VuZS9zY2VuZS5jb21wb25lbnQnO1xuaW1wb3J0IHtDaGFydDNkU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL2NoYXJ0LTNkLnNlcnZpY2UnO1xuaW1wb3J0IHtDYW52YXNDb21wb25lbnR9IGZyb20gXCIuL2NhbnZhcy9jYW52YXMuY29tcG9uZW50XCI7XG5pbXBvcnQge0NhbnZhczNkSG9zdH0gZnJvbSBcIi4vZGlyZWN0aXZlL2NhbnZhcy0zZC1ob3N0XCI7XG5pbXBvcnQgeyBTZXJpZXMzZFR5cGUgfSBmcm9tICcuL21vZGVsL2VudW0vc2VyaWVzLTNkLXR5cGUnO1xuXG5leHRlbmQoVEhSRUUpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLXRocmVlLWNoYXJ0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RocmVlLWNoYXJ0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGhyZWUtY2hhcnQuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbTmd0U3RvcmVdLFxuICBpbXBvcnRzOiBbTmd0Q2FudmFzLCBTY2VuZUNvbXBvbmVudCwgQ29tbW9uTW9kdWxlLCBDYW52YXNDb21wb25lbnQsQ2FudmFzM2RIb3N0XSxcbn0pXG5leHBvcnQgY2xhc3MgVGhyZWVDaGFydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZGF0YTogSTNkQ2hhcnRDb25maWc7XG4gIHB1YmxpYyBzY2VuZTogdHlwZW9mIFNjZW5lQ29tcG9uZW50O1xuICBwdWJsaWMgY2FtZXJhOiBPcnRob2dyYXBoaWNDYW1lcmE7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoYXJ0U2VydmljZSA9IGluamVjdChDaGFydDNkU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBzdG9yZSA9IGluamVjdChOZ3RTdG9yZSlcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZilcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNjZW5lID0gU2NlbmVDb21wb25lbnQ7XG4gICAgdGhpcy5jYW1lcmEgPSBuZXcgT3J0aG9ncmFwaGljQ2FtZXJhKDIwLCAyMCwgMjAsIDIwLCAwLjEsIDEwMDApO1xuICAgIHRoaXMuY2FtZXJhLnBvc2l0aW9uLnNldCgxMDAsIDIwLCA3MCk7XG4gICAgdGhpcy5jYW1lcmEuem9vbSA9IDQuNTtcbiAgICB0aGlzLmNhbWVyYS51cGRhdGVQcm9qZWN0aW9uTWF0cml4KCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGF0YT8uc2VyaWVzPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuY2hhcnRTZXJ2aWNlLnNldERhdGEodGhpcy5kYXRhKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgIGNsYXNzPVwiY29sdW1uX2F1dG8gY29sdW1uIGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24tY2VudGVyXCIgc3R5bGU9XCJoZWlnaHQ6IDEwMCU7d2lkdGg6IDEwMCU7XCI+XG4gIDxkaXYgdGV0YS1jYW52YXMtM2QtaG9zdCBbY2FtZXJhXT1cImNhbWVyYVwiIFtkYXRhXT1cImRhdGFcIiBbc2NlbmVdPVwic2NlbmVcIj48L2Rpdj5cbjwvZGl2PlxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWUtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90aHJlZS90aHJlZS1jaGFydC90aHJlZS1jaGFydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RocmVlL3RocmVlLWNoYXJ0L3RocmVlLWNoYXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLE1BQU0sRUFDTixLQUFLLEdBTU4sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQy9CLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUczQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRTFELE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQWtCZCxNQUFNLE9BQU8sbUJBQW1CO0lBQ3JCLElBQUksQ0FBaUI7SUFDdkIsS0FBSyxDQUF3QjtJQUM3QixNQUFNLENBQXFCO0lBRWYsWUFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0QyxLQUFLLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pCLEdBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUVuRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUM7UUFDNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFO1lBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN0QztJQUNILENBQUM7dUdBckJVLG1CQUFtQjsyRkFBbkIsbUJBQW1CLHlGQVRuQixDQUFDLFFBQVEsQ0FBQywrQ0NqQ3ZCLGdOQUdBLHdGRGtDSSxZQUFZLCtCQUVaLFlBQVk7OzJGQUdILG1CQUFtQjtrQkFoQi9CLFNBQVM7K0JBQ0Usa0JBQWtCLGNBR2hCLElBQUksV0FDUCxDQUFDLHNCQUFzQixDQUFDLG1CQUNoQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsUUFBUSxDQUFDLFdBQ1o7d0JBQ1AsU0FBUzt3QkFDVCxjQUFjO3dCQUNkLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixZQUFZO3FCQUNiOzhCQUdRLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBleHRlbmQsIE5ndENhbnZhcywgTmd0U3RvcmUgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCB7IE9ydGhvZ3JhcGhpY0NhbWVyYSB9IGZyb20gJ3RocmVlJztcblxuaW1wb3J0IHsgSTNkQ2hhcnRDb25maWcgfSBmcm9tICcuL21vZGVsL2ktM2QtY2hhcnQtY29uZmlnJztcbmltcG9ydCB7IFNjZW5lQ29tcG9uZW50IH0gZnJvbSAnLi9zY2VuZS9zY2VuZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hhcnQzZFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2UvY2hhcnQtM2Quc2VydmljZSc7XG5pbXBvcnQgeyBDYW52YXNDb21wb25lbnQgfSBmcm9tICcuL2NhbnZhcy9jYW52YXMuY29tcG9uZW50JztcbmltcG9ydCB7IENhbnZhczNkSG9zdCB9IGZyb20gJy4vZGlyZWN0aXZlL2NhbnZhcy0zZC1ob3N0JztcblxuZXh0ZW5kKFRIUkVFKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS10aHJlZS1jaGFydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90aHJlZS1jaGFydC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RocmVlLWNoYXJ0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW05ndFN0b3JlXSxcbiAgaW1wb3J0czogW1xuICAgIE5ndENhbnZhcyxcbiAgICBTY2VuZUNvbXBvbmVudCxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ2FudmFzQ29tcG9uZW50LFxuICAgIENhbnZhczNkSG9zdCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVGhyZWVDaGFydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZGF0YTogSTNkQ2hhcnRDb25maWc7XG4gIHB1YmxpYyBzY2VuZTogdHlwZW9mIFNjZW5lQ29tcG9uZW50O1xuICBwdWJsaWMgY2FtZXJhOiBPcnRob2dyYXBoaWNDYW1lcmE7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNoYXJ0U2VydmljZSA9IGluamVjdChDaGFydDNkU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBzdG9yZSA9IGluamVjdChOZ3RTdG9yZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2NlbmUgPSBTY2VuZUNvbXBvbmVudDtcbiAgICB0aGlzLmNhbWVyYSA9IG5ldyBPcnRob2dyYXBoaWNDYW1lcmEoMjAsIDIwLCAyMCwgMjAsIDAuMSwgMTAwMCk7XG4gICAgdGhpcy5jYW1lcmEucG9zaXRpb24uc2V0KDEwMCwgMjAsIDcwKTtcbiAgICB0aGlzLmNhbWVyYS56b29tID0gNC41O1xuICAgIHRoaXMuY2FtZXJhLnVwZGF0ZVByb2plY3Rpb25NYXRyaXgoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kYXRhPy5zZXJpZXM/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5jaGFydFNlcnZpY2Uuc2V0RGF0YSh0aGlzLmRhdGEpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAgY2xhc3M9XCJjb2x1bW5fYXV0byBjb2x1bW4ganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1jZW50ZXJcIiBzdHlsZT1cImhlaWdodDogMTAwJTt3aWR0aDogMTAwJTtcIj5cbiAgPGRpdiB0ZXRhLWNhbnZhcy0zZC1ob3N0IFtjYW1lcmFdPVwiY2FtZXJhXCIgW2RhdGFdPVwiZGF0YVwiIFtzY2VuZV09XCJzY2VuZVwiPjwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -10,6 +10,9 @@ export const enLocale = {
10
10
  clearAllSort: 'Clear all sort',
11
11
  clearFilter: 'Clear filter',
12
12
  clearAllFilters: 'Clear all filters',
13
+ dateRangeMask: 'dd.mm.yyyy - dd.mm.yyyy',
14
+ dateMask: 'dd.mm.yyyy',
15
+ dateTimeMask: 'dd.mm.yyyy, hh:mm',
13
16
  autosizeColumn: 'Autosize column',
14
17
  autosizeAll: 'Autosize all columns',
15
18
  resetColumnsSize: 'Reset columns settings',
@@ -38,7 +41,7 @@ export const enLocale = {
38
41
  'September',
39
42
  'October',
40
43
  'November',
41
- 'December'
44
+ 'December',
42
45
  ],
43
46
  days: [
44
47
  'Sunday',
@@ -47,16 +50,8 @@ export const enLocale = {
47
50
  'Wednesday',
48
51
  'Thursday',
49
52
  'Friday',
50
- 'Saturday'
53
+ 'Saturday',
51
54
  ],
52
- daysShort: [
53
- 'Su',
54
- 'Mo',
55
- 'Tu',
56
- 'We',
57
- 'Th',
58
- 'Fr',
59
- 'Sa'
60
- ]
55
+ daysShort: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
61
56
  };
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbG9jYWxlL2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBcUI7SUFDeEMsS0FBSyxFQUFFLE9BQU87SUFDZCxNQUFNLEVBQUUsUUFBUTtJQUNoQixLQUFLLEVBQUUsT0FBTztJQUNkLEdBQUcsRUFBRSxLQUFLO0lBQ1YsS0FBSyxFQUFFLE9BQU87SUFDZCxPQUFPLEVBQUUsVUFBVTtJQUNuQixRQUFRLEVBQUUsV0FBVztJQUNyQixTQUFTLEVBQUUsWUFBWTtJQUN2QixZQUFZLEVBQUUsZ0JBQWdCO0lBQzlCLFdBQVcsRUFBRSxjQUFjO0lBQzNCLGVBQWUsRUFBRSxtQkFBbUI7SUFDcEMsY0FBYyxFQUFFLGlCQUFpQjtJQUNqQyxXQUFXLEVBQUUsc0JBQXNCO0lBQ25DLGdCQUFnQixFQUFFLHdCQUF3QjtJQUMxQyxJQUFJLEVBQUUsTUFBTTtJQUNaLEVBQUUsRUFBRSxJQUFJO0lBQ1IsR0FBRyxFQUFFLEtBQUs7SUFDVixHQUFHLEVBQUUsS0FBSztJQUNWLEdBQUcsRUFBRSxLQUFLO0lBQ1YsR0FBRyxFQUFFLEtBQUs7SUFDVixHQUFHLEVBQUUsS0FBSztJQUNWLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFFBQVEsRUFBQyxVQUFVO0lBQ25CLFdBQVcsRUFBRSxjQUFjO0lBQzNCLFFBQVEsRUFBQyxXQUFXO0lBQ3BCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsRUFBRSxFQUFFLElBQUk7SUFDUixNQUFNLEVBQUU7UUFDTixTQUFTO1FBQ1QsVUFBVTtRQUNWLE9BQU87UUFDUCxPQUFPO1FBQ1AsS0FBSztRQUNMLE1BQU07UUFDTixNQUFNO1FBQ04sUUFBUTtRQUNSLFdBQVc7UUFDWCxTQUFTO1FBQ1QsVUFBVTtRQUNWLFVBQVU7S0FDWDtJQUNELElBQUksRUFBRTtRQUNKLFFBQVE7UUFDUixRQUFRO1FBQ1IsU0FBUztRQUNULFdBQVc7UUFDWCxVQUFVO1FBQ1YsUUFBUTtRQUNSLFVBQVU7S0FDWDtJQUNELFNBQVMsRUFBRTtRQUNULElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSTtRQUNKLElBQUk7S0FDTDtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1RldGFMb2NhbGlzYXRpb259IGZyb20gJy4vdGV0YS1sb2NhbGlzYXRpb24nO1xuXG5leHBvcnQgY29uc3QgZW5Mb2NhbGU6IFRldGFMb2NhbGlzYXRpb24gPSB7XG4gIGFwcGx5OiAnQXBwbHknLFxuICBjYW5jZWw6ICdDYW5jZWwnLFxuICBjbGVhcjogJ0NsZWFyJyxcbiAgcGluOiAnUGluJyxcbiAgdW5waW46ICdVbnBpbicsXG4gIHNvcnRBc2M6ICdTb3J0IGFzYycsXG4gIHNvcnREZXNjOiAnU29ydCBkZXNjJyxcbiAgY2xlYXJTb3J0OiAnQ2xlYXIgc29ydCcsXG4gIGNsZWFyQWxsU29ydDogJ0NsZWFyIGFsbCBzb3J0JyxcbiAgY2xlYXJGaWx0ZXI6ICdDbGVhciBmaWx0ZXInLFxuICBjbGVhckFsbEZpbHRlcnM6ICdDbGVhciBhbGwgZmlsdGVycycsXG4gIGF1dG9zaXplQ29sdW1uOiAnQXV0b3NpemUgY29sdW1uJyxcbiAgYXV0b3NpemVBbGw6ICdBdXRvc2l6ZSBhbGwgY29sdW1ucycsXG4gIHJlc2V0Q29sdW1uc1NpemU6ICdSZXNldCBjb2x1bW5zIHNldHRpbmdzJyxcbiAgZnJvbTogJ0Zyb20nLFxuICB0bzogJ1RvJyxcbiAgYWxsOiAnQWxsJyxcbiAgbWluOiAnTWluJyxcbiAgbWF4OiAnTWF4JyxcbiAgc3VtOiAnU3VtJyxcbiAgYXZnOiAnQXZnJyxcbiAgc2VhcmNoOiAnU2VhcmNoJyxcbiAgc2VsZWN0ZWQ6J1NlbGVjdGVkJyxcbiAgbm90U2VsZWN0ZWQ6ICdOb3Qgc2VsZWN0ZWQnLFxuICBub3RGb3VuZDonTm90IGZvdW5kJyxcbiAgeWVzOiAnWWVzJyxcbiAgbm86ICdObycsXG4gIG1vbnRoczogW1xuICAgICdKYW51YXJ5JyxcbiAgICAnRmVicnVhcnknLFxuICAgICdNYXJjaCcsXG4gICAgJ0FwcmlsJyxcbiAgICAnTWF5JyxcbiAgICAnSnVuZScsXG4gICAgJ0p1bHknLFxuICAgICdBdWd1c3QnLFxuICAgICdTZXB0ZW1iZXInLFxuICAgICdPY3RvYmVyJyxcbiAgICAnTm92ZW1iZXInLFxuICAgICdEZWNlbWJlcidcbiAgXSxcbiAgZGF5czogW1xuICAgICdTdW5kYXknLFxuICAgICdNb25kYXknLFxuICAgICdUdWVzZGF5JyxcbiAgICAnV2VkbmVzZGF5JyxcbiAgICAnVGh1cnNkYXknLFxuICAgICdGcmlkYXknLFxuICAgICdTYXR1cmRheSdcbiAgXSxcbiAgZGF5c1Nob3J0OiBbXG4gICAgJ1N1JyxcbiAgICAnTW8nLFxuICAgICdUdScsXG4gICAgJ1dlJyxcbiAgICAnVGgnLFxuICAgICdGcicsXG4gICAgJ1NhJ1xuICBdXG59O1xuIl19
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbG9jYWxlL2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBcUI7SUFDeEMsS0FBSyxFQUFFLE9BQU87SUFDZCxNQUFNLEVBQUUsUUFBUTtJQUNoQixLQUFLLEVBQUUsT0FBTztJQUNkLEdBQUcsRUFBRSxLQUFLO0lBQ1YsS0FBSyxFQUFFLE9BQU87SUFDZCxPQUFPLEVBQUUsVUFBVTtJQUNuQixRQUFRLEVBQUUsV0FBVztJQUNyQixTQUFTLEVBQUUsWUFBWTtJQUN2QixZQUFZLEVBQUUsZ0JBQWdCO0lBQzlCLFdBQVcsRUFBRSxjQUFjO0lBQzNCLGVBQWUsRUFBRSxtQkFBbUI7SUFDcEMsYUFBYSxFQUFFLHlCQUF5QjtJQUN4QyxRQUFRLEVBQUUsWUFBWTtJQUN0QixZQUFZLEVBQUUsbUJBQW1CO0lBQ2pDLGNBQWMsRUFBRSxpQkFBaUI7SUFDakMsV0FBVyxFQUFFLHNCQUFzQjtJQUNuQyxnQkFBZ0IsRUFBRSx3QkFBd0I7SUFDMUMsSUFBSSxFQUFFLE1BQU07SUFDWixFQUFFLEVBQUUsSUFBSTtJQUNSLEdBQUcsRUFBRSxLQUFLO0lBQ1YsR0FBRyxFQUFFLEtBQUs7SUFDVixHQUFHLEVBQUUsS0FBSztJQUNWLEdBQUcsRUFBRSxLQUFLO0lBQ1YsR0FBRyxFQUFFLEtBQUs7SUFDVixNQUFNLEVBQUUsUUFBUTtJQUNoQixRQUFRLEVBQUUsVUFBVTtJQUNwQixXQUFXLEVBQUUsY0FBYztJQUMzQixRQUFRLEVBQUUsV0FBVztJQUNyQixHQUFHLEVBQUUsS0FBSztJQUNWLEVBQUUsRUFBRSxJQUFJO0lBQ1IsTUFBTSxFQUFFO1FBQ04sU0FBUztRQUNULFVBQVU7UUFDVixPQUFPO1FBQ1AsT0FBTztRQUNQLEtBQUs7UUFDTCxNQUFNO1FBQ04sTUFBTTtRQUNOLFFBQVE7UUFDUixXQUFXO1FBQ1gsU0FBUztRQUNULFVBQVU7UUFDVixVQUFVO0tBQ1g7SUFDRCxJQUFJLEVBQUU7UUFDSixRQUFRO1FBQ1IsUUFBUTtRQUNSLFNBQVM7UUFDVCxXQUFXO1FBQ1gsVUFBVTtRQUNWLFFBQVE7UUFDUixVQUFVO0tBQ1g7SUFDRCxTQUFTLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7Q0FDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRldGFMb2NhbGlzYXRpb24gfSBmcm9tICcuL3RldGEtbG9jYWxpc2F0aW9uJztcblxuZXhwb3J0IGNvbnN0IGVuTG9jYWxlOiBUZXRhTG9jYWxpc2F0aW9uID0ge1xuICBhcHBseTogJ0FwcGx5JyxcbiAgY2FuY2VsOiAnQ2FuY2VsJyxcbiAgY2xlYXI6ICdDbGVhcicsXG4gIHBpbjogJ1BpbicsXG4gIHVucGluOiAnVW5waW4nLFxuICBzb3J0QXNjOiAnU29ydCBhc2MnLFxuICBzb3J0RGVzYzogJ1NvcnQgZGVzYycsXG4gIGNsZWFyU29ydDogJ0NsZWFyIHNvcnQnLFxuICBjbGVhckFsbFNvcnQ6ICdDbGVhciBhbGwgc29ydCcsXG4gIGNsZWFyRmlsdGVyOiAnQ2xlYXIgZmlsdGVyJyxcbiAgY2xlYXJBbGxGaWx0ZXJzOiAnQ2xlYXIgYWxsIGZpbHRlcnMnLFxuICBkYXRlUmFuZ2VNYXNrOiAnZGQubW0ueXl5eSAtIGRkLm1tLnl5eXknLFxuICBkYXRlTWFzazogJ2RkLm1tLnl5eXknLFxuICBkYXRlVGltZU1hc2s6ICdkZC5tbS55eXl5LCBoaDptbScsXG4gIGF1dG9zaXplQ29sdW1uOiAnQXV0b3NpemUgY29sdW1uJyxcbiAgYXV0b3NpemVBbGw6ICdBdXRvc2l6ZSBhbGwgY29sdW1ucycsXG4gIHJlc2V0Q29sdW1uc1NpemU6ICdSZXNldCBjb2x1bW5zIHNldHRpbmdzJyxcbiAgZnJvbTogJ0Zyb20nLFxuICB0bzogJ1RvJyxcbiAgYWxsOiAnQWxsJyxcbiAgbWluOiAnTWluJyxcbiAgbWF4OiAnTWF4JyxcbiAgc3VtOiAnU3VtJyxcbiAgYXZnOiAnQXZnJyxcbiAgc2VhcmNoOiAnU2VhcmNoJyxcbiAgc2VsZWN0ZWQ6ICdTZWxlY3RlZCcsXG4gIG5vdFNlbGVjdGVkOiAnTm90IHNlbGVjdGVkJyxcbiAgbm90Rm91bmQ6ICdOb3QgZm91bmQnLFxuICB5ZXM6ICdZZXMnLFxuICBubzogJ05vJyxcbiAgbW9udGhzOiBbXG4gICAgJ0phbnVhcnknLFxuICAgICdGZWJydWFyeScsXG4gICAgJ01hcmNoJyxcbiAgICAnQXByaWwnLFxuICAgICdNYXknLFxuICAgICdKdW5lJyxcbiAgICAnSnVseScsXG4gICAgJ0F1Z3VzdCcsXG4gICAgJ1NlcHRlbWJlcicsXG4gICAgJ09jdG9iZXInLFxuICAgICdOb3ZlbWJlcicsXG4gICAgJ0RlY2VtYmVyJyxcbiAgXSxcbiAgZGF5czogW1xuICAgICdTdW5kYXknLFxuICAgICdNb25kYXknLFxuICAgICdUdWVzZGF5JyxcbiAgICAnV2VkbmVzZGF5JyxcbiAgICAnVGh1cnNkYXknLFxuICAgICdGcmlkYXknLFxuICAgICdTYXR1cmRheScsXG4gIF0sXG4gIGRheXNTaG9ydDogWydTdScsICdNbycsICdUdScsICdXZScsICdUaCcsICdGcicsICdTYSddLFxufTtcbiJdfQ==