@rtsee/ngx 0.0.42 → 0.0.44

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.
@@ -9,13 +9,15 @@ export class EventThumbnailComponent {
9
9
  widgetsService;
10
10
  componentFactoryResolver;
11
11
  timeFormatService;
12
+ cd;
12
13
  tooltip;
13
14
  event;
14
15
  widgetHost;
15
- constructor(widgetsService, componentFactoryResolver, timeFormatService) {
16
+ constructor(widgetsService, componentFactoryResolver, timeFormatService, cd) {
16
17
  this.widgetsService = widgetsService;
17
18
  this.componentFactoryResolver = componentFactoryResolver;
18
19
  this.timeFormatService = timeFormatService;
20
+ this.cd = cd;
19
21
  }
20
22
  ngOnInit() {
21
23
  if (this.event.data) {
@@ -45,6 +47,7 @@ export class EventThumbnailComponent {
45
47
  /* eslint-enable */
46
48
  }
47
49
  ngAfterViewInit() {
50
+ this.cd.detectChanges();
48
51
  /* eslint-disable */
49
52
  if (this.event.widget) {
50
53
  const widget = this.widgetsService.getWidgetComponentByName(this.event.widget);
@@ -61,16 +64,16 @@ export class EventThumbnailComponent {
61
64
  }
62
65
  /* eslint-enable */
63
66
  }
64
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: EventThumbnailComponent, deps: [{ token: i1.EventsWidgetsService }, { token: i0.ComponentFactoryResolver }, { token: i2.TimeFormatHelperService }], target: i0.ɵɵFactoryTarget.Component });
67
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: EventThumbnailComponent, deps: [{ token: i1.EventsWidgetsService }, { token: i0.ComponentFactoryResolver }, { token: i2.TimeFormatHelperService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
65
68
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: EventThumbnailComponent, selector: "rtsee-event-thumbnail", inputs: { event: "event" }, viewQueries: [{ propertyName: "widgetHost", first: true, predicate: WidgetDirective, descendants: true }], ngImport: i0, template: "<div class=\"rtsee-events-dashboard-event-thumbnail\">\n <ng-template *ngIf=\"event.widget\" widgetHost></ng-template>\n <div *ngIf=\"!event.widget\" class=\"rtsee-events-dashboard-default-event-thumbnail\"\n [ngClass]=\"{'rtsee-events-dashboard-default-event-thumbnail-with-data': event.data}\"\n >\n <div class=\"rtsee-events-dashboard-default-event-thumbnail-name\">{{event.name}}</div>\n <div class=\"rtsee-events-dashboard-default-event-thumbnail-info\">\n <div *ngIf=\"event.data\" class=\"rtsee-events-dashboard-default-event-thumbnail-details\"\n [title]=\"tooltip\"\n >\n <span class=\"rtsee-events-dashboard-default-event-thumbnail-details-icon material-icons-outlined\"\n >info</span>\n </div>\n <div class=\"rtsee-events-dashboard-default-event-thumbnail-time\">\n <span>{{ timeFormatService.toAgo(event.createdAt) }}</span>\n </div>\n </div>\n\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.WidgetDirective, selector: "[widgetHost]" }] });
66
69
  }
67
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: EventThumbnailComponent, decorators: [{
68
71
  type: Component,
69
72
  args: [{ selector: 'rtsee-event-thumbnail', template: "<div class=\"rtsee-events-dashboard-event-thumbnail\">\n <ng-template *ngIf=\"event.widget\" widgetHost></ng-template>\n <div *ngIf=\"!event.widget\" class=\"rtsee-events-dashboard-default-event-thumbnail\"\n [ngClass]=\"{'rtsee-events-dashboard-default-event-thumbnail-with-data': event.data}\"\n >\n <div class=\"rtsee-events-dashboard-default-event-thumbnail-name\">{{event.name}}</div>\n <div class=\"rtsee-events-dashboard-default-event-thumbnail-info\">\n <div *ngIf=\"event.data\" class=\"rtsee-events-dashboard-default-event-thumbnail-details\"\n [title]=\"tooltip\"\n >\n <span class=\"rtsee-events-dashboard-default-event-thumbnail-details-icon material-icons-outlined\"\n >info</span>\n </div>\n <div class=\"rtsee-events-dashboard-default-event-thumbnail-time\">\n <span>{{ timeFormatService.toAgo(event.createdAt) }}</span>\n </div>\n </div>\n\n </div>\n</div>\n" }]
70
- }], ctorParameters: function () { return [{ type: i1.EventsWidgetsService }, { type: i0.ComponentFactoryResolver }, { type: i2.TimeFormatHelperService }]; }, propDecorators: { event: [{
73
+ }], ctorParameters: function () { return [{ type: i1.EventsWidgetsService }, { type: i0.ComponentFactoryResolver }, { type: i2.TimeFormatHelperService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { event: [{
71
74
  type: Input
72
75
  }], widgetHost: [{
73
76
  type: ViewChild,
74
77
  args: [WidgetDirective, { static: false }]
75
78
  }] } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtdGh1bWJuYWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC9zcmMvbGliL2NvbXBvbmVudHMvcnRzZWUtZXZlbnRzLWRhc2hib2FyZC9jb21wb25lbnRzL2V2ZW50LXRodW1ibmFpbC9ldmVudC10aHVtYm5haWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4L3NyYy9saWIvY29tcG9uZW50cy9ydHNlZS1ldmVudHMtZGFzaGJvYXJkL2NvbXBvbmVudHMvZXZlbnQtdGh1bWJuYWlsL2V2ZW50LXRodW1ibmFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUdULEtBQUssRUFFTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7QUFRMUUsTUFBTSxPQUFPLHVCQUF1QjtJQU14QjtJQUNBO0lBQ0Q7SUFQVCxPQUFPLENBQVU7SUFFUixLQUFLLENBQXVCO0lBQ1UsVUFBVSxDQUFtQjtJQUM1RSxZQUNVLGNBQW9DLEVBQ3BDLHdCQUFrRCxFQUNuRCxpQkFBMEM7UUFGekMsbUJBQWMsR0FBZCxjQUFjLENBQXNCO1FBQ3BDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbkQsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF5QjtJQUNoRCxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDbkIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixvQkFBb0I7UUFDcEIsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDdkMsT0FBTztTQUNSO1FBQ0QsSUFBSTtZQUNGLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7Z0JBQ2pDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUN2QyxJQUFJLE9BQU8sRUFBRTt3QkFDWCxPQUFPLElBQUksUUFBUSxDQUFDO3FCQUNyQjtvQkFDRCxPQUFPLElBQUksR0FBRyxHQUFHLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDaEQ7YUFDRjtZQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1NBQ3hCO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixPQUFPLENBQUMsR0FBRyxDQUFDLDhCQUE4QixDQUFDLENBQUM7U0FDN0M7UUFDRCxtQkFBbUI7SUFDckIsQ0FBQztJQUVELGVBQWU7UUFDYixvQkFBb0I7UUFDcEIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNyQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLHdCQUF3QixDQUN6RCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FDbEIsQ0FBQztZQUNGLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ1gsT0FBTzthQUNSO1lBQ0QsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDO1lBQzFELGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3pCLE1BQU0sZUFBZSxHQUNuQixJQUFJLENBQUMsd0JBQXdCLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDaEUsTUFBTSxZQUFZLEdBQ2hCLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNwRCxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3pDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDekMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ2hEO1FBQ0QsbUJBQW1CO0lBQ3JCLENBQUM7dUdBM0RVLHVCQUF1QjsyRkFBdkIsdUJBQXVCLHFJQUl2QixlQUFlLGdEQ3RCNUIsbzdCQW9CQTs7MkZERmEsdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNFLHVCQUF1Qjt3TEFNeEIsS0FBSztzQkFBYixLQUFLO2dCQUN5QyxVQUFVO3NCQUF4RCxTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgQ29tcG9uZW50UmVmLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUlRTZWVEYXNoYm9hcmRFdmVudCB9IGZyb20gJ0BydHNlZS9ldmVudHMtbWFuYWdlcic7XG5pbXBvcnQgeyBXaWRnZXREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi8uLi9kaXJlY3RpdmVzL3dpZGdldC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRXZlbnRzV2lkZ2V0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9ldmVudHMtd2lkZ2V0cy5zZXJ2aWNlJztcbmltcG9ydCB7IFRpbWVGb3JtYXRIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvdGltZS1mb3JtYXQtaGVscGVyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdydHNlZS1ldmVudC10aHVtYm5haWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vZXZlbnQtdGh1bWJuYWlsLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRXZlbnRUaHVtYm5haWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICB0b29sdGlwPzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGV2ZW50ITogUlRTZWVEYXNoYm9hcmRFdmVudDtcbiAgQFZpZXdDaGlsZChXaWRnZXREaXJlY3RpdmUsIHsgc3RhdGljOiBmYWxzZSB9KSB3aWRnZXRIb3N0ITogV2lkZ2V0RGlyZWN0aXZlO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHdpZGdldHNTZXJ2aWNlOiBFdmVudHNXaWRnZXRzU2VydmljZSxcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHB1YmxpYyB0aW1lRm9ybWF0U2VydmljZTogVGltZUZvcm1hdEhlbHBlclNlcnZpY2UsXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ldmVudC5kYXRhKSB7XG4gICAgICB0aGlzLmdlbmVyYXRlVG9vbHRpcCgpO1xuICAgIH1cbiAgfVxuXG4gIGdlbmVyYXRlVG9vbHRpcCgpIHtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIGxldCB0b29sdGlwID0gJyc7XG4gICAgaWYgKHR5cGVvZiB0aGlzLmV2ZW50LmRhdGEgIT09ICdvYmplY3QnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLmV2ZW50LmRhdGEpIHtcbiAgICAgICAgaWYgKHRoaXMuZXZlbnQuZGF0YS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgaWYgKHRvb2x0aXApIHtcbiAgICAgICAgICAgIHRvb2x0aXAgKz0gJyYjMDEzOyc7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRvb2x0aXAgKz0ga2V5ICsgJyAtPiAnICsgdGhpcy5ldmVudC5kYXRhW2tleV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMudG9vbHRpcCA9IHRvb2x0aXA7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5sb2coJ0ZhaWxlZCB0byBnZW5lcmF0ZSBhIHRvb2x0aXAnKTtcbiAgICB9XG4gICAgLyogZXNsaW50LWVuYWJsZSAqL1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIC8qIGVzbGludC1kaXNhYmxlICovXG4gICAgaWYgKHRoaXMuZXZlbnQud2lkZ2V0KSB7XG4gICAgICBjb25zdCB3aWRnZXQgPSB0aGlzLndpZGdldHNTZXJ2aWNlLmdldFdpZGdldENvbXBvbmVudEJ5TmFtZShcbiAgICAgICAgdGhpcy5ldmVudC53aWRnZXQsXG4gICAgICApO1xuICAgICAgaWYgKCF3aWRnZXQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3Qgdmlld0NvbnRhaW5lclJlZiA9IHRoaXMud2lkZ2V0SG9zdC52aWV3Q29udGFpbmVyUmVmO1xuICAgICAgdmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgICAgY29uc3QgY29tcG9uZW50VG9TaG93ID1cbiAgICAgICAgdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3Rvcnkod2lkZ2V0KTtcbiAgICAgIGNvbnN0IGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPHR5cGVvZiB3aWRnZXQ+ID1cbiAgICAgICAgdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50VG9TaG93KTtcbiAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5ldmVudCA9IHRoaXMuZXZlbnQ7XG4gICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuZXZlbnQgPSB0aGlzLmV2ZW50O1xuICAgICAgY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gICAgLyogZXNsaW50LWVuYWJsZSAqL1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicnRzZWUtZXZlbnRzLWRhc2hib2FyZC1ldmVudC10aHVtYm5haWxcIj5cbiAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiZXZlbnQud2lkZ2V0XCIgd2lkZ2V0SG9zdD48L25nLXRlbXBsYXRlPlxuICA8ZGl2ICpuZ0lmPVwiIWV2ZW50LndpZGdldFwiIGNsYXNzPVwicnRzZWUtZXZlbnRzLWRhc2hib2FyZC1kZWZhdWx0LWV2ZW50LXRodW1ibmFpbFwiXG4gICAgICAgW25nQ2xhc3NdPVwieydydHNlZS1ldmVudHMtZGFzaGJvYXJkLWRlZmF1bHQtZXZlbnQtdGh1bWJuYWlsLXdpdGgtZGF0YSc6IGV2ZW50LmRhdGF9XCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJydHNlZS1ldmVudHMtZGFzaGJvYXJkLWRlZmF1bHQtZXZlbnQtdGh1bWJuYWlsLW5hbWVcIj57e2V2ZW50Lm5hbWV9fTwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJydHNlZS1ldmVudHMtZGFzaGJvYXJkLWRlZmF1bHQtZXZlbnQtdGh1bWJuYWlsLWluZm9cIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJldmVudC5kYXRhXCIgY2xhc3M9XCJydHNlZS1ldmVudHMtZGFzaGJvYXJkLWRlZmF1bHQtZXZlbnQtdGh1bWJuYWlsLWRldGFpbHNcIlxuICAgICAgICAgICBbdGl0bGVdPVwidG9vbHRpcFwiXG4gICAgICA+XG4gICAgICA8c3BhbiBjbGFzcz1cInJ0c2VlLWV2ZW50cy1kYXNoYm9hcmQtZGVmYXVsdC1ldmVudC10aHVtYm5haWwtZGV0YWlscy1pY29uIG1hdGVyaWFsLWljb25zLW91dGxpbmVkXCJcbiAgICAgID5pbmZvPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwicnRzZWUtZXZlbnRzLWRhc2hib2FyZC1kZWZhdWx0LWV2ZW50LXRodW1ibmFpbC10aW1lXCI+XG4gICAgICAgIDxzcGFuPnt7IHRpbWVGb3JtYXRTZXJ2aWNlLnRvQWdvKGV2ZW50LmNyZWF0ZWRBdCkgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtdGh1bWJuYWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC9zcmMvbGliL2NvbXBvbmVudHMvcnRzZWUtZXZlbnRzLWRhc2hib2FyZC9jb21wb25lbnRzL2V2ZW50LXRodW1ibmFpbC9ldmVudC10aHVtYm5haWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4L3NyYy9saWIvY29tcG9uZW50cy9ydHNlZS1ldmVudHMtZGFzaGJvYXJkL2NvbXBvbmVudHMvZXZlbnQtdGh1bWJuYWlsL2V2ZW50LXRodW1ibmFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUdULEtBQUssRUFFTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7QUFRMUUsTUFBTSxPQUFPLHVCQUF1QjtJQU14QjtJQUNBO0lBQ0Q7SUFDQztJQVJWLE9BQU8sQ0FBVTtJQUVSLEtBQUssQ0FBdUI7SUFDVSxVQUFVLENBQW1CO0lBQzVFLFlBQ1UsY0FBb0MsRUFDcEMsd0JBQWtELEVBQ25ELGlCQUEwQyxFQUN6QyxFQUFxQjtRQUhyQixtQkFBYyxHQUFkLGNBQWMsQ0FBc0I7UUFDcEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNuRCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXlCO1FBQ3pDLE9BQUUsR0FBRixFQUFFLENBQW1CO0lBQzVCLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRTtZQUNuQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLG9CQUFvQjtRQUNwQixJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUN2QyxPQUFPO1NBQ1I7UUFDRCxJQUFJO1lBQ0YsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRTtnQkFDakMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ3ZDLElBQUksT0FBTyxFQUFFO3dCQUNYLE9BQU8sSUFBSSxRQUFRLENBQUM7cUJBQ3JCO29CQUNELE9BQU8sSUFBSSxHQUFHLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUNoRDthQUNGO1lBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7U0FDeEI7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsOEJBQThCLENBQUMsQ0FBQztTQUM3QztRQUNELG1CQUFtQjtJQUNyQixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDeEIsb0JBQW9CO1FBQ3BCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDckIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FDekQsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ2xCLENBQUM7WUFDRixJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNYLE9BQU87YUFDUjtZQUNELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQztZQUMxRCxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN6QixNQUFNLGVBQWUsR0FDbkIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2hFLE1BQU0sWUFBWSxHQUNoQixnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDcEQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN6QyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3pDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUNoRDtRQUNELG1CQUFtQjtJQUNyQixDQUFDO3VHQTdEVSx1QkFBdUI7MkZBQXZCLHVCQUF1QixxSUFJdkIsZUFBZSxnREN2QjVCLG83QkFvQkE7OzJGRERhLHVCQUF1QjtrQkFKbkMsU0FBUzsrQkFDRSx1QkFBdUI7d05BTXhCLEtBQUs7c0JBQWIsS0FBSztnQkFDeUMsVUFBVTtzQkFBeEQsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBDb21wb25lbnRSZWYsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSVFNlZURhc2hib2FyZEV2ZW50IH0gZnJvbSAnQHJ0c2VlL2V2ZW50cy1kYXNoYm9hcmQnO1xuaW1wb3J0IHsgV2lkZ2V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcy93aWRnZXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEV2ZW50c1dpZGdldHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvZXZlbnRzLXdpZGdldHMuc2VydmljZSc7XG5pbXBvcnQgeyBUaW1lRm9ybWF0SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3RpbWUtZm9ybWF0LWhlbHBlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncnRzZWUtZXZlbnQtdGh1bWJuYWlsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2V2ZW50LXRodW1ibmFpbC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEV2ZW50VGh1bWJuYWlsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgdG9vbHRpcD86IHN0cmluZztcblxuICBASW5wdXQoKSBldmVudCE6IFJUU2VlRGFzaGJvYXJkRXZlbnQ7XG4gIEBWaWV3Q2hpbGQoV2lkZ2V0RGlyZWN0aXZlLCB7IHN0YXRpYzogZmFsc2UgfSkgd2lkZ2V0SG9zdCE6IFdpZGdldERpcmVjdGl2ZTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB3aWRnZXRzU2VydmljZTogRXZlbnRzV2lkZ2V0c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBwdWJsaWMgdGltZUZvcm1hdFNlcnZpY2U6IFRpbWVGb3JtYXRIZWxwZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZXZlbnQuZGF0YSkge1xuICAgICAgdGhpcy5nZW5lcmF0ZVRvb2x0aXAoKTtcbiAgICB9XG4gIH1cblxuICBnZW5lcmF0ZVRvb2x0aXAoKSB7XG4gICAgLyogZXNsaW50LWRpc2FibGUgKi9cbiAgICBsZXQgdG9vbHRpcCA9ICcnO1xuICAgIGlmICh0eXBlb2YgdGhpcy5ldmVudC5kYXRhICE9PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5ldmVudC5kYXRhKSB7XG4gICAgICAgIGlmICh0aGlzLmV2ZW50LmRhdGEuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgIGlmICh0b29sdGlwKSB7XG4gICAgICAgICAgICB0b29sdGlwICs9ICcmIzAxMzsnO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0b29sdGlwICs9IGtleSArICcgLT4gJyArIHRoaXMuZXZlbnQuZGF0YVtrZXldO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLnRvb2x0aXAgPSB0b29sdGlwO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdGYWlsZWQgdG8gZ2VuZXJhdGUgYSB0b29sdGlwJyk7XG4gICAgfVxuICAgIC8qIGVzbGludC1lbmFibGUgKi9cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIGlmICh0aGlzLmV2ZW50LndpZGdldCkge1xuICAgICAgY29uc3Qgd2lkZ2V0ID0gdGhpcy53aWRnZXRzU2VydmljZS5nZXRXaWRnZXRDb21wb25lbnRCeU5hbWUoXG4gICAgICAgIHRoaXMuZXZlbnQud2lkZ2V0LFxuICAgICAgKTtcbiAgICAgIGlmICghd2lkZ2V0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHZpZXdDb250YWluZXJSZWYgPSB0aGlzLndpZGdldEhvc3Qudmlld0NvbnRhaW5lclJlZjtcbiAgICAgIHZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICAgIGNvbnN0IGNvbXBvbmVudFRvU2hvdyA9XG4gICAgICAgIHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KHdpZGdldCk7XG4gICAgICBjb25zdCBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjx0eXBlb2Ygd2lkZ2V0PiA9XG4gICAgICAgIHZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudFRvU2hvdyk7XG4gICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuZXZlbnQgPSB0aGlzLmV2ZW50O1xuICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmV2ZW50ID0gdGhpcy5ldmVudDtcbiAgICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICAgIC8qIGVzbGludC1lbmFibGUgKi9cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJ0c2VlLWV2ZW50cy1kYXNoYm9hcmQtZXZlbnQtdGh1bWJuYWlsXCI+XG4gIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImV2ZW50LndpZGdldFwiIHdpZGdldEhvc3Q+PC9uZy10ZW1wbGF0ZT5cbiAgPGRpdiAqbmdJZj1cIiFldmVudC53aWRnZXRcIiBjbGFzcz1cInJ0c2VlLWV2ZW50cy1kYXNoYm9hcmQtZGVmYXVsdC1ldmVudC10aHVtYm5haWxcIlxuICAgICAgIFtuZ0NsYXNzXT1cInsncnRzZWUtZXZlbnRzLWRhc2hib2FyZC1kZWZhdWx0LWV2ZW50LXRodW1ibmFpbC13aXRoLWRhdGEnOiBldmVudC5kYXRhfVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwicnRzZWUtZXZlbnRzLWRhc2hib2FyZC1kZWZhdWx0LWV2ZW50LXRodW1ibmFpbC1uYW1lXCI+e3tldmVudC5uYW1lfX08L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicnRzZWUtZXZlbnRzLWRhc2hib2FyZC1kZWZhdWx0LWV2ZW50LXRodW1ibmFpbC1pbmZvXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXZlbnQuZGF0YVwiIGNsYXNzPVwicnRzZWUtZXZlbnRzLWRhc2hib2FyZC1kZWZhdWx0LWV2ZW50LXRodW1ibmFpbC1kZXRhaWxzXCJcbiAgICAgICAgICAgW3RpdGxlXT1cInRvb2x0aXBcIlxuICAgICAgPlxuICAgICAgPHNwYW4gY2xhc3M9XCJydHNlZS1ldmVudHMtZGFzaGJvYXJkLWRlZmF1bHQtZXZlbnQtdGh1bWJuYWlsLWRldGFpbHMtaWNvbiBtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiXG4gICAgICA+aW5mbzwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInJ0c2VlLWV2ZW50cy1kYXNoYm9hcmQtZGVmYXVsdC1ldmVudC10aHVtYm5haWwtdGltZVwiPlxuICAgICAgICA8c3Bhbj57eyB0aW1lRm9ybWF0U2VydmljZS50b0FnbyhldmVudC5jcmVhdGVkQXQpIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -30,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
30
30
  }], client: [{
31
31
  type: Input
32
32
  }] } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnRzZWUtZXZlbnRzLWRhc2hib2FyZC1jbGllbnQtdGh1bWJuYWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC9zcmMvbGliL2NvbXBvbmVudHMvcnRzZWUtZXZlbnRzLWRhc2hib2FyZC9jb21wb25lbnRzL3J0c2VlLWV2ZW50cy1kYXNoYm9hcmQtY2xpZW50LXRodW1ibmFpbC9ydHNlZS1ldmVudHMtZGFzaGJvYXJkLWNsaWVudC10aHVtYm5haWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4L3NyYy9saWIvY29tcG9uZW50cy9ydHNlZS1ldmVudHMtZGFzaGJvYXJkL2NvbXBvbmVudHMvcnRzZWUtZXZlbnRzLWRhc2hib2FyZC1jbGllbnQtdGh1bWJuYWlsL3J0c2VlLWV2ZW50cy1kYXNoYm9hcmQtY2xpZW50LXRodW1ibmFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBWXpELE1BQU0sT0FBTyw0Q0FBNEM7SUFLOUM7SUFDQTtJQUxBLFNBQVMsQ0FBd0I7SUFDakMsTUFBTSxDQUF3QjtJQUV2QyxZQUNTLGlCQUEwQyxFQUMxQyxvQkFBMEM7UUFEMUMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF5QjtRQUMxQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO0lBQ2hELENBQUM7SUFFSixRQUFRO1FBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxDQUFDO3VHQWZVLDRDQUE0QzsyRkFBNUMsNENBQTRDLHlJQ1p6RCxva0NBc0JBOzsyRkRWYSw0Q0FBNEM7a0JBSnhELFNBQVM7K0JBQ0UsNkNBQTZDO2lKQUk5QyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgUlRTZWVEYXNoYm9hcmRDbGllbnQsXG4gIFJUU2VlRXZlbnRzRGFzaGJvYXJkLFxufSBmcm9tICdAcnRzZWUvZXZlbnRzLW1hbmFnZXInO1xuaW1wb3J0IHsgVGltZUZvcm1hdEhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy90aW1lLWZvcm1hdC1oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBEZWZhdWx0SW1hZ2VzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2RlZmF1bHQtaW1hZ2VzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtcnRzZWUtZXZlbnRzLWRhc2hib2FyZC1jbGllbnQtdGh1bWJuYWlsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3J0c2VlLWV2ZW50cy1kYXNoYm9hcmQtY2xpZW50LXRodW1ibmFpbC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFJ0c2VlRXZlbnRzRGFzaGJvYXJkQ2xpZW50VGh1bWJuYWlsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgZGFzaGJvYXJkITogUlRTZWVFdmVudHNEYXNoYm9hcmQ7XG4gIEBJbnB1dCgpIGNsaWVudCE6IFJUU2VlRGFzaGJvYXJkQ2xpZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0aW1lRm9ybWF0U2VydmljZTogVGltZUZvcm1hdEhlbHBlclNlcnZpY2UsXG4gICAgcHVibGljIGRlZmF1bHRJbWFnZXNTZXJ2aWNlOiBEZWZhdWx0SW1hZ2VzU2VydmljZSxcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKCdjbGllbnQgaWQnLCB0aGlzLmNsaWVudC5pZCk7XG4gIH1cblxuICBvcGVuQ2hhdCgpIHtcbiAgICB0aGlzLmRhc2hib2FyZC5vcGVuQ2hhdCh0aGlzLmNsaWVudCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJydHNlZS1kYXNoYm9hcmQtY2xpZW50LXRodW1ibmFpbFwiPlxuICA8ZGl2IGNsYXNzPVwicnRzZWUtZGFzaGJvYXJkLWNsaWVudC1oZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwicnRzZWUtZGFzaGJvYXJkLWNsaWVudC1oZWFkZXItcGhvdG9cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJydHNlZS1kYXNoYm9hcmQtY2xpZW50LWhlYWRlci1pbWFnZVwiXG4gICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWltYWdlXT1cIid1cmwoJyArIGNsaWVudC5pbWFnZVVybCB8fCBkZWZhdWx0SW1hZ2VzU2VydmljZS5QUk9GSUxFICsgJyknXCJcbiAgICAgID48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJydHNlZS1kYXNoYm9hcmQtY2xpZW50LWxpdmUtaW5kaWNhdG9yXCIgKm5nSWY9XCJjbGllbnQuaXNDb25uZWN0ZWRcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8cCBjbGFzcz1cInJ0c2VlLWRhc2hib2FyZC1jbGllbnQtbmFtZVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJydHNlZS1kYXNoYm9hcmQtY2xpZW50LW5hbWUtdGV4dFwiPnt7IGNsaWVudC5uYW1lIHx8IGNsaWVudC5pZCB9fTwvc3Bhbj5cbiAgICAgIDxidXR0b24gKGNsaWNrKT1cIm9wZW5DaGF0KClcIiBjbGFzcz1cInJ0c2VlLWRhc2hib2FyZC1jbGllbnQtZW5nYWdlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicnRzZWUtZGFzaGJvYXJkLWNsaWVudC1lbmdhZ2UtaWNvbiBtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPmNoYXRfYnViYmxlPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9wPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInJ0c2VlLWRhc2hib2FyZC1zZXNzaW9uc1wiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IHNlc3Npb24gb2YgY2xpZW50LnNlc3Npb25zXCJcbiAgICAgICAgIGNsYXNzPVwicnRzZWUtZGFzaGJvYXJkLXNlc3Npb25zLWNvbnRhaW5lclwiPlxuICAgICAgPHJ0c2VlLXJ0c2VlLWV2ZW50cy1kYXNoYm9hcmQtc2Vzc2lvbiBbc2Vzc2lvbl09XCJzZXNzaW9uXCI+PC9ydHNlZS1ydHNlZS1ldmVudHMtZGFzaGJvYXJkLXNlc3Npb24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnRzZWUtZXZlbnRzLWRhc2hib2FyZC1jbGllbnQtdGh1bWJuYWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC9zcmMvbGliL2NvbXBvbmVudHMvcnRzZWUtZXZlbnRzLWRhc2hib2FyZC9jb21wb25lbnRzL3J0c2VlLWV2ZW50cy1kYXNoYm9hcmQtY2xpZW50LXRodW1ibmFpbC9ydHNlZS1ldmVudHMtZGFzaGJvYXJkLWNsaWVudC10aHVtYm5haWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4L3NyYy9saWIvY29tcG9uZW50cy9ydHNlZS1ldmVudHMtZGFzaGJvYXJkL2NvbXBvbmVudHMvcnRzZWUtZXZlbnRzLWRhc2hib2FyZC1jbGllbnQtdGh1bWJuYWlsL3J0c2VlLWV2ZW50cy1kYXNoYm9hcmQtY2xpZW50LXRodW1ibmFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBWXpELE1BQU0sT0FBTyw0Q0FBNEM7SUFLOUM7SUFDQTtJQUxBLFNBQVMsQ0FBd0I7SUFDakMsTUFBTSxDQUF3QjtJQUV2QyxZQUNTLGlCQUEwQyxFQUMxQyxvQkFBMEM7UUFEMUMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF5QjtRQUMxQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO0lBQ2hELENBQUM7SUFFSixRQUFRO1FBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxDQUFDO3VHQWZVLDRDQUE0QzsyRkFBNUMsNENBQTRDLHlJQ1p6RCxva0NBc0JBOzsyRkRWYSw0Q0FBNEM7a0JBSnhELFNBQVM7K0JBQ0UsNkNBQTZDO2lKQUk5QyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGltZUZvcm1hdEhlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy90aW1lLWZvcm1hdC1oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBEZWZhdWx0SW1hZ2VzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2RlZmF1bHQtaW1hZ2VzLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgUlRTZWVFdmVudHNEYXNoYm9hcmQsXG4gIFJUU2VlRGFzaGJvYXJkQ2xpZW50LFxufSBmcm9tICdAcnRzZWUvZXZlbnRzLWRhc2hib2FyZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1ydHNlZS1ldmVudHMtZGFzaGJvYXJkLWNsaWVudC10aHVtYm5haWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vcnRzZWUtZXZlbnRzLWRhc2hib2FyZC1jbGllbnQtdGh1bWJuYWlsLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUnRzZWVFdmVudHNEYXNoYm9hcmRDbGllbnRUaHVtYm5haWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBkYXNoYm9hcmQhOiBSVFNlZUV2ZW50c0Rhc2hib2FyZDtcbiAgQElucHV0KCkgY2xpZW50ITogUlRTZWVEYXNoYm9hcmRDbGllbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRpbWVGb3JtYXRTZXJ2aWNlOiBUaW1lRm9ybWF0SGVscGVyU2VydmljZSxcbiAgICBwdWJsaWMgZGVmYXVsdEltYWdlc1NlcnZpY2U6IERlZmF1bHRJbWFnZXNTZXJ2aWNlLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coJ2NsaWVudCBpZCcsIHRoaXMuY2xpZW50LmlkKTtcbiAgfVxuXG4gIG9wZW5DaGF0KCkge1xuICAgIHRoaXMuZGFzaGJvYXJkLm9wZW5DaGF0KHRoaXMuY2xpZW50KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJ0c2VlLWRhc2hib2FyZC1jbGllbnQtdGh1bWJuYWlsXCI+XG4gIDxkaXYgY2xhc3M9XCJydHNlZS1kYXNoYm9hcmQtY2xpZW50LWhlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJydHNlZS1kYXNoYm9hcmQtY2xpZW50LWhlYWRlci1waG90b1wiPlxuICAgICAgPGRpdiBjbGFzcz1cInJ0c2VlLWRhc2hib2FyZC1jbGllbnQtaGVhZGVyLWltYWdlXCJcbiAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtaW1hZ2VdPVwiJ3VybCgnICsgY2xpZW50LmltYWdlVXJsIHx8IGRlZmF1bHRJbWFnZXNTZXJ2aWNlLlBST0ZJTEUgKyAnKSdcIlxuICAgICAgPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInJ0c2VlLWRhc2hib2FyZC1jbGllbnQtbGl2ZS1pbmRpY2F0b3JcIiAqbmdJZj1cImNsaWVudC5pc0Nvbm5lY3RlZFwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxwIGNsYXNzPVwicnRzZWUtZGFzaGJvYXJkLWNsaWVudC1uYW1lXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInJ0c2VlLWRhc2hib2FyZC1jbGllbnQtbmFtZS10ZXh0XCI+e3sgY2xpZW50Lm5hbWUgfHwgY2xpZW50LmlkIH19PC9zcGFuPlxuICAgICAgPGJ1dHRvbiAoY2xpY2spPVwib3BlbkNoYXQoKVwiIGNsYXNzPVwicnRzZWUtZGFzaGJvYXJkLWNsaWVudC1lbmdhZ2VcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJydHNlZS1kYXNoYm9hcmQtY2xpZW50LWVuZ2FnZS1pY29uIG1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+Y2hhdF9idWJibGU8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L3A+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicnRzZWUtZGFzaGJvYXJkLXNlc3Npb25zXCI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgc2Vzc2lvbiBvZiBjbGllbnQuc2Vzc2lvbnNcIlxuICAgICAgICAgY2xhc3M9XCJydHNlZS1kYXNoYm9hcmQtc2Vzc2lvbnMtY29udGFpbmVyXCI+XG4gICAgICA8cnRzZWUtcnRzZWUtZXZlbnRzLWRhc2hib2FyZC1zZXNzaW9uIFtzZXNzaW9uXT1cInNlc3Npb25cIj48L3J0c2VlLXJ0c2VlLWV2ZW50cy1kYXNoYm9hcmQtc2Vzc2lvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
18
18
  }], ctorParameters: function () { return [{ type: i1.TimeFormatHelperService }]; }, propDecorators: { session: [{
19
19
  type: Input
20
20
  }] } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnRzZWUtZXZlbnRzLWRhc2hib2FyZC1zZXNzaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC9zcmMvbGliL2NvbXBvbmVudHMvcnRzZWUtZXZlbnRzLWRhc2hib2FyZC9jb21wb25lbnRzL3J0c2VlLWV2ZW50cy1kYXNoYm9hcmQtc2Vzc2lvbi9ydHNlZS1ldmVudHMtZGFzaGJvYXJkLXNlc3Npb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4L3NyYy9saWIvY29tcG9uZW50cy9ydHNlZS1ldmVudHMtZGFzaGJvYXJkL2NvbXBvbmVudHMvcnRzZWUtZXZlbnRzLWRhc2hib2FyZC1zZXNzaW9uL3J0c2VlLWV2ZW50cy1kYXNoYm9hcmQtc2Vzc2lvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFRakQsTUFBTSxPQUFPLG9DQUFvQztJQUU1QjtJQURWLE9BQU8sQ0FBK0I7SUFDL0MsWUFBbUIsaUJBQTBDO1FBQTFDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBeUI7SUFBRyxDQUFDO3VHQUZ0RCxvQ0FBb0M7MkZBQXBDLG9DQUFvQyw0R0NSakQsd3JEQThCQTs7MkZEdEJhLG9DQUFvQztrQkFKaEQsU0FBUzsrQkFDRSxzQ0FBc0M7OEdBSXZDLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJUU2VlRGFzaGJvYXJkQ2xpZW50U2Vzc2lvbiB9IGZyb20gJ0BydHNlZS9ldmVudHMtbWFuYWdlcic7XG5pbXBvcnQgeyBUaW1lRm9ybWF0SGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3RpbWUtZm9ybWF0LWhlbHBlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncnRzZWUtcnRzZWUtZXZlbnRzLWRhc2hib2FyZC1zZXNzaW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3J0c2VlLWV2ZW50cy1kYXNoYm9hcmQtc2Vzc2lvbi5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFJ0c2VlRXZlbnRzRGFzaGJvYXJkU2Vzc2lvbkNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNlc3Npb24hOiBSVFNlZURhc2hib2FyZENsaWVudFNlc3Npb247XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0aW1lRm9ybWF0U2VydmljZTogVGltZUZvcm1hdEhlbHBlclNlcnZpY2UpIHt9XG59XG4iLCI8ZGl2IGNsYXNzPVwicnRzZWUtZXZlbnRzLWRhc2hib2FyZC1zZXNzaW9uXCI+XG4gIDxkaXYgY2xhc3M9XCJydHNlZS1ldmVudHMtZGFzaGJvYXJkLXNlc3Npb24taGVhZGVyXCIgKm5nSWY9XCJzZXNzaW9uLmluZm9cIj5cbiAgICA8cCBjbGFzcz1cInJ0c2VlLWV2ZW50cy1kYXNoYm9hcmQtc2Vzc2lvbi1jbGllbnQtaW5mb1wiPnt7c2Vzc2lvbi5pbmZvLmNsaWVudFRodW1ibmFpbH19PC9wPlxuICAgIDxwIGNsYXNzPVwicnRzZWUtZXZlbnRzLWRhc2hib2FyZC1zZXNzaW9uLW9zLWluZm9cIj57e3Nlc3Npb24uaW5mby5vc1RodW1ibmFpbH19PC9wPlxuICAgIDxkaXYgY2xhc3M9XCJydHNlZS1ldmVudHMtZGFzaGJvYXJkLXNlc3Npb24tZGV2aWNlLWluZm9cIiBbdGl0bGVdPVwic2Vzc2lvbi5pbmZvLmRldmljZVRodW1ibmFpbFwiPlxuICAgICAgPHNwYW4gKm5nSWY9XCJzZXNzaW9uLmluZm8uZGV2aWNlVHlwZSA9PT0gJ3NtYXJ0cGhvbmUnICYmICFzZXNzaW9uLmluZm8uYm90TmFtZVwiXG4gICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWQgcnRzZWUtZXZlbnRzLWRhc2hib2FyZC1zZXNzaW9uLWRldmljZS1pbmZvLWljb25cIlxuICAgICAgPnBob25lX2lwaG9uZTwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWQgcnRzZWUtZXZlbnRzLWRhc2hib2FyZC1zZXNzaW9uLWRldmljZS1pbmZvLWljb25cIlxuICAgICAgICAgICAgKm5nSWY9XCJzZXNzaW9uLmluZm8uZGV2aWNlVHlwZSA9PT0gJ3RhYmxldCcgJiYgIXNlc3Npb24uaW5mby5ib3ROYW1lXCJcbiAgICAgID50YWJsZXRfbWFjPC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCBydHNlZS1ldmVudHMtZGFzaGJvYXJkLXNlc3Npb24tZGV2aWNlLWluZm8taWNvblwiXG4gICAgICAgICAgICAqbmdJZj1cInNlc3Npb24uaW5mby5kZXZpY2VUeXBlID09PSAnZGVza3RvcCcgJiYgIXNlc3Npb24uaW5mby5ib3ROYW1lXCJcbiAgICAgID5jb21wdXRlcjwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWQgcnRzZWUtZXZlbnRzLWRhc2hib2FyZC1zZXNzaW9uLWRldmljZS1pbmZvLWljb25cIlxuICAgICAgICAgICAgKm5nSWY9XCJzZXNzaW9uLmluZm8uYm90TmFtZVwiXG4gICAgICA+c21hcnRfdG95PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPHVsICpuZ0lmPVwic2Vzc2lvbi5ldmVudHMgJiYgc2Vzc2lvbi5ldmVudHMubGVuZ3RoXCJcbiAgICAgIGNsYXNzPVwicnRzZWUtZXZlbnRzLWRhc2hib2FyZC1zZXNzaW9uLWV2ZW50cy1saXN0XCJcbiAgPlxuICAgIDxsaSAqbmdGb3I9XCJsZXQgZXZlbnQgb2Ygc2Vzc2lvbi5ldmVudHMgfCBzbGljZTowOjU7XCIgY2xhc3M9XCJydHNlZS1ldmVudHMtZGFzaGJvYXJkLXNlc3Npb24tZXZlbnRcIj5cbiAgICAgIDxydHNlZS1ldmVudC10aHVtYm5haWwgW2V2ZW50XT1cImV2ZW50XCI+PC9ydHNlZS1ldmVudC10aHVtYm5haWw+XG4gICAgPC9saT5cbiAgPC91bD5cbiAgPGRpdiBjbGFzcz1cInJ0c2VlLWV2ZW50cy1kYXNoYm9hcmQtc2Vzc2lvbi1mb290ZXJcIj5cbiAgICA8YnV0dG9uICpuZ0lmPVwic2Vzc2lvbi5ldmVudHMubGVuZ3RoID4gNVwiPnt7c2Vzc2lvbi5ldmVudHMubGVuZ3RoIC0gNX19IG1vcmU8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnRzZWUtZXZlbnRzLWRhc2hib2FyZC1zZXNzaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC9zcmMvbGliL2NvbXBvbmVudHMvcnRzZWUtZXZlbnRzLWRhc2hib2FyZC9jb21wb25lbnRzL3J0c2VlLWV2ZW50cy1kYXNoYm9hcmQtc2Vzc2lvbi9ydHNlZS1ldmVudHMtZGFzaGJvYXJkLXNlc3Npb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4L3NyYy9saWIvY29tcG9uZW50cy9ydHNlZS1ldmVudHMtZGFzaGJvYXJkL2NvbXBvbmVudHMvcnRzZWUtZXZlbnRzLWRhc2hib2FyZC1zZXNzaW9uL3J0c2VlLWV2ZW50cy1kYXNoYm9hcmQtc2Vzc2lvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFRakQsTUFBTSxPQUFPLG9DQUFvQztJQUU1QjtJQURWLE9BQU8sQ0FBK0I7SUFDL0MsWUFBbUIsaUJBQTBDO1FBQTFDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBeUI7SUFBRyxDQUFDO3VHQUZ0RCxvQ0FBb0M7MkZBQXBDLG9DQUFvQyw0R0NSakQsd3JEQThCQTs7MkZEdEJhLG9DQUFvQztrQkFKaEQsU0FBUzsrQkFDRSxzQ0FBc0M7OEdBSXZDLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRpbWVGb3JtYXRIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvdGltZS1mb3JtYXQtaGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUlRTZWVEYXNoYm9hcmRDbGllbnRTZXNzaW9uIH0gZnJvbSAnQHJ0c2VlL2V2ZW50cy1kYXNoYm9hcmQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdydHNlZS1ydHNlZS1ldmVudHMtZGFzaGJvYXJkLXNlc3Npb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcnRzZWUtZXZlbnRzLWRhc2hib2FyZC1zZXNzaW9uLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUnRzZWVFdmVudHNEYXNoYm9hcmRTZXNzaW9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgc2Vzc2lvbiE6IFJUU2VlRGFzaGJvYXJkQ2xpZW50U2Vzc2lvbjtcbiAgY29uc3RydWN0b3IocHVibGljIHRpbWVGb3JtYXRTZXJ2aWNlOiBUaW1lRm9ybWF0SGVscGVyU2VydmljZSkge31cbn1cbiIsIjxkaXYgY2xhc3M9XCJydHNlZS1ldmVudHMtZGFzaGJvYXJkLXNlc3Npb25cIj5cbiAgPGRpdiBjbGFzcz1cInJ0c2VlLWV2ZW50cy1kYXNoYm9hcmQtc2Vzc2lvbi1oZWFkZXJcIiAqbmdJZj1cInNlc3Npb24uaW5mb1wiPlxuICAgIDxwIGNsYXNzPVwicnRzZWUtZXZlbnRzLWRhc2hib2FyZC1zZXNzaW9uLWNsaWVudC1pbmZvXCI+e3tzZXNzaW9uLmluZm8uY2xpZW50VGh1bWJuYWlsfX08L3A+XG4gICAgPHAgY2xhc3M9XCJydHNlZS1ldmVudHMtZGFzaGJvYXJkLXNlc3Npb24tb3MtaW5mb1wiPnt7c2Vzc2lvbi5pbmZvLm9zVGh1bWJuYWlsfX08L3A+XG4gICAgPGRpdiBjbGFzcz1cInJ0c2VlLWV2ZW50cy1kYXNoYm9hcmQtc2Vzc2lvbi1kZXZpY2UtaW5mb1wiIFt0aXRsZV09XCJzZXNzaW9uLmluZm8uZGV2aWNlVGh1bWJuYWlsXCI+XG4gICAgICA8c3BhbiAqbmdJZj1cInNlc3Npb24uaW5mby5kZXZpY2VUeXBlID09PSAnc21hcnRwaG9uZScgJiYgIXNlc3Npb24uaW5mby5ib3ROYW1lXCJcbiAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCBydHNlZS1ldmVudHMtZGFzaGJvYXJkLXNlc3Npb24tZGV2aWNlLWluZm8taWNvblwiXG4gICAgICA+cGhvbmVfaXBob25lPC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCBydHNlZS1ldmVudHMtZGFzaGJvYXJkLXNlc3Npb24tZGV2aWNlLWluZm8taWNvblwiXG4gICAgICAgICAgICAqbmdJZj1cInNlc3Npb24uaW5mby5kZXZpY2VUeXBlID09PSAndGFibGV0JyAmJiAhc2Vzc2lvbi5pbmZvLmJvdE5hbWVcIlxuICAgICAgPnRhYmxldF9tYWM8L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkIHJ0c2VlLWV2ZW50cy1kYXNoYm9hcmQtc2Vzc2lvbi1kZXZpY2UtaW5mby1pY29uXCJcbiAgICAgICAgICAgICpuZ0lmPVwic2Vzc2lvbi5pbmZvLmRldmljZVR5cGUgPT09ICdkZXNrdG9wJyAmJiAhc2Vzc2lvbi5pbmZvLmJvdE5hbWVcIlxuICAgICAgPmNvbXB1dGVyPC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCBydHNlZS1ldmVudHMtZGFzaGJvYXJkLXNlc3Npb24tZGV2aWNlLWluZm8taWNvblwiXG4gICAgICAgICAgICAqbmdJZj1cInNlc3Npb24uaW5mby5ib3ROYW1lXCJcbiAgICAgID5zbWFydF90b3k8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8dWwgKm5nSWY9XCJzZXNzaW9uLmV2ZW50cyAmJiBzZXNzaW9uLmV2ZW50cy5sZW5ndGhcIlxuICAgICAgY2xhc3M9XCJydHNlZS1ldmVudHMtZGFzaGJvYXJkLXNlc3Npb24tZXZlbnRzLWxpc3RcIlxuICA+XG4gICAgPGxpICpuZ0Zvcj1cImxldCBldmVudCBvZiBzZXNzaW9uLmV2ZW50cyB8IHNsaWNlOjA6NTtcIiBjbGFzcz1cInJ0c2VlLWV2ZW50cy1kYXNoYm9hcmQtc2Vzc2lvbi1ldmVudFwiPlxuICAgICAgPHJ0c2VlLWV2ZW50LXRodW1ibmFpbCBbZXZlbnRdPVwiZXZlbnRcIj48L3J0c2VlLWV2ZW50LXRodW1ibmFpbD5cbiAgICA8L2xpPlxuICA8L3VsPlxuICA8ZGl2IGNsYXNzPVwicnRzZWUtZXZlbnRzLWRhc2hib2FyZC1zZXNzaW9uLWZvb3RlclwiPlxuICAgIDxidXR0b24gKm5nSWY9XCJzZXNzaW9uLmV2ZW50cy5sZW5ndGggPiA1XCI+e3tzZXNzaW9uLmV2ZW50cy5sZW5ndGggLSA1fX0gbW9yZTwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -13,4 +13,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
13
13
  }], propDecorators: { eventsDashboard: [{
14
14
  type: Input
15
15
  }] } });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnRzZWUtZXZlbnRzLWRhc2hib2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3J0c2VlLWV2ZW50cy1kYXNoYm9hcmQvcnRzZWUtZXZlbnRzLWRhc2hib2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3J0c2VlLWV2ZW50cy1kYXNoYm9hcmQvcnRzZWUtZXZlbnRzLWRhc2hib2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQU9qRCxNQUFNLE9BQU8sNkJBQTZCO0lBQy9CLGVBQWUsQ0FBd0I7dUdBRHJDLDZCQUE2QjsyRkFBN0IsNkJBQTZCLGtIQ1AxQyxxYkFXQTs7MkZESmEsNkJBQTZCO2tCQUp6QyxTQUFTOytCQUNFLDRCQUE0Qjs4QkFJN0IsZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJUU2VlRXZlbnRzRGFzaGJvYXJkIH0gZnJvbSAnQHJ0c2VlL2V2ZW50cy1tYW5hZ2VyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmd4LXJ0c2VlLWV2ZW50cy1kYXNoYm9hcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcnRzZWUtZXZlbnRzLWRhc2hib2FyZC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFJ0c2VlRXZlbnRzRGFzaGJvYXJkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZXZlbnRzRGFzaGJvYXJkITogUlRTZWVFdmVudHNEYXNoYm9hcmQ7XG59XG4iLCI8ZGl2IGNsYXNzPVwicnRzZWUtZXZlbnRzLWRhc2hib2FyZFwiPlxuICA8ZGl2IGNsYXNzPVwicnRzZWUtZXZlbnRzLWRhc2hib2FyZC1jbGllbnQtdGh1bWJuYWlsc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJydHNlZS1ldmVudHMtZGFzaGJvYXJkLWNsaWVudC10aHVtYm5haWwtd3JhcHBlclwiXG4gICAgICAgICAqbmdGb3I9XCJsZXQgY2xpZW50IG9mIGV2ZW50c0Rhc2hib2FyZC5jbGllbnRzXCI+XG4gICAgICA8bmd4LXJ0c2VlLWV2ZW50cy1kYXNoYm9hcmQtY2xpZW50LXRodW1ibmFpbFxuICAgICAgICBbY2xpZW50XT1cImNsaWVudFwiXG4gICAgICAgIFtkYXNoYm9hcmRdPVwiZXZlbnRzRGFzaGJvYXJkXCJcbiAgICAgID48L25neC1ydHNlZS1ldmVudHMtZGFzaGJvYXJkLWNsaWVudC10aHVtYm5haWw+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnRzZWUtZXZlbnRzLWRhc2hib2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3J0c2VlLWV2ZW50cy1kYXNoYm9hcmQvcnRzZWUtZXZlbnRzLWRhc2hib2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gvc3JjL2xpYi9jb21wb25lbnRzL3J0c2VlLWV2ZW50cy1kYXNoYm9hcmQvcnRzZWUtZXZlbnRzLWRhc2hib2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQU9qRCxNQUFNLE9BQU8sNkJBQTZCO0lBQy9CLGVBQWUsQ0FBd0I7dUdBRHJDLDZCQUE2QjsyRkFBN0IsNkJBQTZCLGtIQ1AxQyxxYkFXQTs7MkZESmEsNkJBQTZCO2tCQUp6QyxTQUFTOytCQUNFLDRCQUE0Qjs4QkFJN0IsZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJUU2VlRXZlbnRzRGFzaGJvYXJkIH0gZnJvbSAnQHJ0c2VlL2V2ZW50cy1kYXNoYm9hcmQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtcnRzZWUtZXZlbnRzLWRhc2hib2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ydHNlZS1ldmVudHMtZGFzaGJvYXJkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUnRzZWVFdmVudHNEYXNoYm9hcmRDb21wb25lbnQge1xuICBASW5wdXQoKSBldmVudHNEYXNoYm9hcmQhOiBSVFNlZUV2ZW50c0Rhc2hib2FyZDtcbn1cbiIsIjxkaXYgY2xhc3M9XCJydHNlZS1ldmVudHMtZGFzaGJvYXJkXCI+XG4gIDxkaXYgY2xhc3M9XCJydHNlZS1ldmVudHMtZGFzaGJvYXJkLWNsaWVudC10aHVtYm5haWxzXCI+XG4gICAgPGRpdiBjbGFzcz1cInJ0c2VlLWV2ZW50cy1kYXNoYm9hcmQtY2xpZW50LXRodW1ibmFpbC13cmFwcGVyXCJcbiAgICAgICAgICpuZ0Zvcj1cImxldCBjbGllbnQgb2YgZXZlbnRzRGFzaGJvYXJkLmNsaWVudHNcIj5cbiAgICAgIDxuZ3gtcnRzZWUtZXZlbnRzLWRhc2hib2FyZC1jbGllbnQtdGh1bWJuYWlsXG4gICAgICAgIFtjbGllbnRdPVwiY2xpZW50XCJcbiAgICAgICAgW2Rhc2hib2FyZF09XCJldmVudHNEYXNoYm9hcmRcIlxuICAgICAgPjwvbmd4LXJ0c2VlLWV2ZW50cy1kYXNoYm9hcmQtY2xpZW50LXRodW1ibmFpbD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -16,6 +16,9 @@ export class MessengerComponent {
16
16
  onScroll() {
17
17
  this.messenger.loadChats();
18
18
  }
19
+ // onGeneralScroll($event) {
20
+ // // $event.stopPropagation();
21
+ // }
19
22
  onHeaderExpandToggled(value) {
20
23
  this.isHeaderExpanded = value;
21
24
  }
@@ -28,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImpor
28
31
  }], ctorParameters: function () { return []; }, propDecorators: { messenger: [{
29
32
  type: Input
30
33
  }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2VuZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC9zcmMvbGliL2NvbXBvbmVudHMvcnRzZWUtbWVzc2VuZ2VyL21lc3Nlbmdlci9tZXNzZW5nZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4L3NyYy9saWIvY29tcG9uZW50cy9ydHNlZS1tZXNzZW5nZXIvbWVzc2VuZ2VyL21lc3Nlbmdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7O0FBT2pELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsZ0JBQWdCLENBQVU7SUFFakIsU0FBUyxDQUFrQjtJQUNwQztRQUNFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxLQUFjO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQzt1R0FkVSxrQkFBa0I7MkZBQWxCLGtCQUFrQiwyRkNQL0IseXZDQTRCQTs7MkZEckJhLGtCQUFrQjtrQkFKOUIsU0FBUzsrQkFDRSxpQkFBaUI7MEVBTWxCLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSVFNlZU1lc3NlbmdlciB9IGZyb20gJ0BydHNlZS9tZXNzZW5nZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdydHNlZS1tZXNzZW5nZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVzc2VuZ2VyLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgTWVzc2VuZ2VyQ29tcG9uZW50IHtcbiAgaXNIZWFkZXJFeHBhbmRlZDogYm9vbGVhbjtcblxuICBASW5wdXQoKSBtZXNzZW5nZXIhOiBSVFNlZU1lc3NlbmdlcjtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5pc0hlYWRlckV4cGFuZGVkID0gZmFsc2U7XG4gIH1cblxuICBvblNjcm9sbCgpIHtcbiAgICB0aGlzLm1lc3Nlbmdlci5sb2FkQ2hhdHMoKTtcbiAgfVxuXG4gIG9uSGVhZGVyRXhwYW5kVG9nZ2xlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuaXNIZWFkZXJFeHBhbmRlZCA9IHZhbHVlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicnRzZWUtbWVzc2VuZ2VyXCIgW25nQ2xhc3NdPVwie1xuICAncnRzZWUtbWVzc2VuZ2VyLW1haW4tbWVudS1vcGVuZWQnOiBtZXNzZW5nZXIubWFpbk1lbnVPcGVuZWQsXG4gICdydHNlZS1tZXNzZW5nZXItaGVhZGVyLWV4cGFuZGVkJzogaXNIZWFkZXJFeHBhbmRlZFxufVwiPlxuICA8ZGl2IGNsYXNzPVwicnRzZWUtbWVzc2VuZ2VyLWhlYWRlci1jb250YWluZXJcIj5cbiAgICA8cnRzZWUtbWVzc2VuZ2VyLWhlYWRlciBbbWVzc2VuZ2VyXT1cIm1lc3NlbmdlclwiIChleHBhbmRUb2dnbGVkKT1cIm9uSGVhZGVyRXhwYW5kVG9nZ2xlZCgkZXZlbnQpXCI+PC9ydHNlZS1tZXNzZW5nZXItaGVhZGVyPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInJ0c2VlLW1lc3Nlbmdlci1ib2R5LWNvbnRhaW5lclwiXG4gICAgICAgaW5maW5pdGVTY3JvbGxcbiAgICAgICBbaW5maW5pdGVTY3JvbGxEaXN0YW5jZV09XCIyXCJcbiAgICAgICBbaW5maW5pdGVTY3JvbGxUaHJvdHRsZV09XCI1MFwiXG4gICAgICAgW3Njcm9sbFdpbmRvd109XCJmYWxzZVwiXG4gICAgICAgKHNjcm9sbGVkKT1cIm9uU2Nyb2xsKClcIlxuICA+XG4gICAgPHJ0c2VlLWNoYXRzLWxpc3QgKm5nSWY9XCIhbWVzc2VuZ2VyLm9wZW5lZENoYXRcIiBbY2hhdHNdPVwibWVzc2VuZ2VyLmNoYXRzXCIgW21lc3Nlbmdlcl09XCJtZXNzZW5nZXJcIj48L3J0c2VlLWNoYXRzLWxpc3Q+XG4gICAgPHJ0c2VlLWNoYXQgKm5nSWY9XCJtZXNzZW5nZXIub3BlbmVkQ2hhdFwiIFttZXNzZW5nZXJdPVwibWVzc2VuZ2VyXCIgW2NoYXRdPVwibWVzc2VuZ2VyLm9wZW5lZENoYXRcIj48L3J0c2VlLWNoYXQ+XG4gICAgPHJ0c2VlLXByZWxvYWRlciBbZGlhbWV0ZXJdPVwiNTBcIiAqbmdJZj1cIm1lc3Nlbmdlci5sb2FkaW5nQ2hhdHNJblByb2dyZXNzXCIgPjwvcnRzZWUtcHJlbG9hZGVyPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInJ0c2VlLW1lc3Nlbmdlci1tYWluLW1lbnUtY29udGFpbmVyXCI+XG4gICAgPHJ0c2VlLW1haW4tbWVudVxuICAgICAgKm5nSWY9XCJtZXNzZW5nZXIubWFpbk1lbnVPcGVuZWRcIlxuICAgICAgW3NlYXJjaF09XCJtZXNzZW5nZXIuc2VhcmNoXCJcbiAgICAgIFttZXNzZW5nZXJdPVwibWVzc2VuZ2VyXCI+PC9ydHNlZS1tYWluLW1lbnU+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicnRzZWUtbWVzc2VuZ2VyLW92ZXJsYXlcIiAoY2xpY2spPVwibWVzc2VuZ2VyLm9wZW5NYWluTWVudShmYWxzZSlcIj48L2Rpdj5cbjwvZGl2PlxuXG5cbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2VuZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC9zcmMvbGliL2NvbXBvbmVudHMvcnRzZWUtbWVzc2VuZ2VyL21lc3Nlbmdlci9tZXNzZW5nZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4L3NyYy9saWIvY29tcG9uZW50cy9ydHNlZS1tZXNzZW5nZXIvbWVzc2VuZ2VyL21lc3Nlbmdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7O0FBT2pELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsZ0JBQWdCLENBQVU7SUFFakIsU0FBUyxDQUFrQjtJQUNwQztRQUNFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCw0QkFBNEI7SUFDNUIsaUNBQWlDO0lBQ2pDLElBQUk7SUFFSixxQkFBcUIsQ0FBQyxLQUFjO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQzt1R0FsQlUsa0JBQWtCOzJGQUFsQixrQkFBa0IsMkZDUC9CLHl2Q0E0QkE7OzJGRHJCYSxrQkFBa0I7a0JBSjlCLFNBQVM7K0JBQ0UsaUJBQWlCOzBFQU1sQixTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUlRTZWVNZXNzZW5nZXIgfSBmcm9tICdAcnRzZWUvbWVzc2VuZ2VyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncnRzZWUtbWVzc2VuZ2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21lc3Nlbmdlci5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NlbmdlckNvbXBvbmVudCB7XG4gIGlzSGVhZGVyRXhwYW5kZWQ6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgbWVzc2VuZ2VyITogUlRTZWVNZXNzZW5nZXI7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuaXNIZWFkZXJFeHBhbmRlZCA9IGZhbHNlO1xuICB9XG5cbiAgb25TY3JvbGwoKSB7XG4gICAgdGhpcy5tZXNzZW5nZXIubG9hZENoYXRzKCk7XG4gIH1cblxuICAvLyBvbkdlbmVyYWxTY3JvbGwoJGV2ZW50KSB7XG4gIC8vICAgLy8gJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAvLyB9XG5cbiAgb25IZWFkZXJFeHBhbmRUb2dnbGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc0hlYWRlckV4cGFuZGVkID0gdmFsdWU7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJydHNlZS1tZXNzZW5nZXJcIiBbbmdDbGFzc109XCJ7XG4gICdydHNlZS1tZXNzZW5nZXItbWFpbi1tZW51LW9wZW5lZCc6IG1lc3Nlbmdlci5tYWluTWVudU9wZW5lZCxcbiAgJ3J0c2VlLW1lc3Nlbmdlci1oZWFkZXItZXhwYW5kZWQnOiBpc0hlYWRlckV4cGFuZGVkXG59XCI+XG4gIDxkaXYgY2xhc3M9XCJydHNlZS1tZXNzZW5nZXItaGVhZGVyLWNvbnRhaW5lclwiPlxuICAgIDxydHNlZS1tZXNzZW5nZXItaGVhZGVyIFttZXNzZW5nZXJdPVwibWVzc2VuZ2VyXCIgKGV4cGFuZFRvZ2dsZWQpPVwib25IZWFkZXJFeHBhbmRUb2dnbGVkKCRldmVudClcIj48L3J0c2VlLW1lc3Nlbmdlci1oZWFkZXI+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicnRzZWUtbWVzc2VuZ2VyLWJvZHktY29udGFpbmVyXCJcbiAgICAgICBpbmZpbml0ZVNjcm9sbFxuICAgICAgIFtpbmZpbml0ZVNjcm9sbERpc3RhbmNlXT1cIjJcIlxuICAgICAgIFtpbmZpbml0ZVNjcm9sbFRocm90dGxlXT1cIjUwXCJcbiAgICAgICBbc2Nyb2xsV2luZG93XT1cImZhbHNlXCJcbiAgICAgICAoc2Nyb2xsZWQpPVwib25TY3JvbGwoKVwiXG4gID5cbiAgICA8cnRzZWUtY2hhdHMtbGlzdCAqbmdJZj1cIiFtZXNzZW5nZXIub3BlbmVkQ2hhdFwiIFtjaGF0c109XCJtZXNzZW5nZXIuY2hhdHNcIiBbbWVzc2VuZ2VyXT1cIm1lc3NlbmdlclwiPjwvcnRzZWUtY2hhdHMtbGlzdD5cbiAgICA8cnRzZWUtY2hhdCAqbmdJZj1cIm1lc3Nlbmdlci5vcGVuZWRDaGF0XCIgW21lc3Nlbmdlcl09XCJtZXNzZW5nZXJcIiBbY2hhdF09XCJtZXNzZW5nZXIub3BlbmVkQ2hhdFwiPjwvcnRzZWUtY2hhdD5cbiAgICA8cnRzZWUtcHJlbG9hZGVyIFtkaWFtZXRlcl09XCI1MFwiICpuZ0lmPVwibWVzc2VuZ2VyLmxvYWRpbmdDaGF0c0luUHJvZ3Jlc3NcIiA+PC9ydHNlZS1wcmVsb2FkZXI+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicnRzZWUtbWVzc2VuZ2VyLW1haW4tbWVudS1jb250YWluZXJcIj5cbiAgICA8cnRzZWUtbWFpbi1tZW51XG4gICAgICAqbmdJZj1cIm1lc3Nlbmdlci5tYWluTWVudU9wZW5lZFwiXG4gICAgICBbc2VhcmNoXT1cIm1lc3Nlbmdlci5zZWFyY2hcIlxuICAgICAgW21lc3Nlbmdlcl09XCJtZXNzZW5nZXJcIj48L3J0c2VlLW1haW4tbWVudT5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJydHNlZS1tZXNzZW5nZXItb3ZlcmxheVwiIChjbGljayk9XCJtZXNzZW5nZXIub3Blbk1haW5NZW51KGZhbHNlKVwiPjwvZGl2PlxuPC9kaXY+XG5cblxuIl19
@@ -796,6 +796,9 @@ class MessengerComponent {
796
796
  onScroll() {
797
797
  this.messenger.loadChats();
798
798
  }
799
+ // onGeneralScroll($event) {
800
+ // // $event.stopPropagation();
801
+ // }
799
802
  onHeaderExpandToggled(value) {
800
803
  this.isHeaderExpanded = value;
801
804
  }
@@ -834,13 +837,15 @@ class EventThumbnailComponent {
834
837
  widgetsService;
835
838
  componentFactoryResolver;
836
839
  timeFormatService;
840
+ cd;
837
841
  tooltip;
838
842
  event;
839
843
  widgetHost;
840
- constructor(widgetsService, componentFactoryResolver, timeFormatService) {
844
+ constructor(widgetsService, componentFactoryResolver, timeFormatService, cd) {
841
845
  this.widgetsService = widgetsService;
842
846
  this.componentFactoryResolver = componentFactoryResolver;
843
847
  this.timeFormatService = timeFormatService;
848
+ this.cd = cd;
844
849
  }
845
850
  ngOnInit() {
846
851
  if (this.event.data) {
@@ -870,6 +875,7 @@ class EventThumbnailComponent {
870
875
  /* eslint-enable */
871
876
  }
872
877
  ngAfterViewInit() {
878
+ this.cd.detectChanges();
873
879
  /* eslint-disable */
874
880
  if (this.event.widget) {
875
881
  const widget = this.widgetsService.getWidgetComponentByName(this.event.widget);
@@ -886,13 +892,13 @@ class EventThumbnailComponent {
886
892
  }
887
893
  /* eslint-enable */
888
894
  }
889
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: EventThumbnailComponent, deps: [{ token: EventsWidgetsService }, { token: i0.ComponentFactoryResolver }, { token: TimeFormatHelperService }], target: i0.ɵɵFactoryTarget.Component });
895
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: EventThumbnailComponent, deps: [{ token: EventsWidgetsService }, { token: i0.ComponentFactoryResolver }, { token: TimeFormatHelperService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
890
896
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: EventThumbnailComponent, selector: "rtsee-event-thumbnail", inputs: { event: "event" }, viewQueries: [{ propertyName: "widgetHost", first: true, predicate: WidgetDirective, descendants: true }], ngImport: i0, template: "<div class=\"rtsee-events-dashboard-event-thumbnail\">\n <ng-template *ngIf=\"event.widget\" widgetHost></ng-template>\n <div *ngIf=\"!event.widget\" class=\"rtsee-events-dashboard-default-event-thumbnail\"\n [ngClass]=\"{'rtsee-events-dashboard-default-event-thumbnail-with-data': event.data}\"\n >\n <div class=\"rtsee-events-dashboard-default-event-thumbnail-name\">{{event.name}}</div>\n <div class=\"rtsee-events-dashboard-default-event-thumbnail-info\">\n <div *ngIf=\"event.data\" class=\"rtsee-events-dashboard-default-event-thumbnail-details\"\n [title]=\"tooltip\"\n >\n <span class=\"rtsee-events-dashboard-default-event-thumbnail-details-icon material-icons-outlined\"\n >info</span>\n </div>\n <div class=\"rtsee-events-dashboard-default-event-thumbnail-time\">\n <span>{{ timeFormatService.toAgo(event.createdAt) }}</span>\n </div>\n </div>\n\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: WidgetDirective, selector: "[widgetHost]" }] });
891
897
  }
892
898
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: EventThumbnailComponent, decorators: [{
893
899
  type: Component,
894
900
  args: [{ selector: 'rtsee-event-thumbnail', template: "<div class=\"rtsee-events-dashboard-event-thumbnail\">\n <ng-template *ngIf=\"event.widget\" widgetHost></ng-template>\n <div *ngIf=\"!event.widget\" class=\"rtsee-events-dashboard-default-event-thumbnail\"\n [ngClass]=\"{'rtsee-events-dashboard-default-event-thumbnail-with-data': event.data}\"\n >\n <div class=\"rtsee-events-dashboard-default-event-thumbnail-name\">{{event.name}}</div>\n <div class=\"rtsee-events-dashboard-default-event-thumbnail-info\">\n <div *ngIf=\"event.data\" class=\"rtsee-events-dashboard-default-event-thumbnail-details\"\n [title]=\"tooltip\"\n >\n <span class=\"rtsee-events-dashboard-default-event-thumbnail-details-icon material-icons-outlined\"\n >info</span>\n </div>\n <div class=\"rtsee-events-dashboard-default-event-thumbnail-time\">\n <span>{{ timeFormatService.toAgo(event.createdAt) }}</span>\n </div>\n </div>\n\n </div>\n</div>\n" }]
895
- }], ctorParameters: function () { return [{ type: EventsWidgetsService }, { type: i0.ComponentFactoryResolver }, { type: TimeFormatHelperService }]; }, propDecorators: { event: [{
901
+ }], ctorParameters: function () { return [{ type: EventsWidgetsService }, { type: i0.ComponentFactoryResolver }, { type: TimeFormatHelperService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { event: [{
896
902
  type: Input
897
903
  }], widgetHost: [{
898
904
  type: ViewChild,
@@ -1 +1 @@
1
- {"version":3,"file":"rtsee-ngx.mjs","sources":["../../../projects/ngx/src/lib/ngx.service.ts","../../../projects/ngx/src/lib/components/rtsee/rtsee-controls/rtsee-controls.component.ts","../../../projects/ngx/src/lib/components/rtsee/rtsee-controls/rtsee-controls.component.html","../../../projects/ngx/src/lib/components/rtsee-soundbar/rtsee-soundbar.component.ts","../../../projects/ngx/src/lib/components/rtsee-soundbar/rtsee-soundbar.component.html","../../../projects/ngx/src/lib/components/rtsee-peer/rtsee-peer.component.ts","../../../projects/ngx/src/lib/components/rtsee-peer/rtsee-peer.component.html","../../../projects/ngx/src/lib/components/rtsee-settings/rtsee-settings.component.ts","../../../projects/ngx/src/lib/components/rtsee-settings/rtsee-settings.component.html","../../../projects/ngx/src/lib/components/rtsee/rtsee.component.ts","../../../projects/ngx/src/lib/components/rtsee/rtsee.component.html","../../../projects/ngx/src/lib/services/time-format-helper.service.ts","../../../projects/ngx/src/lib/directives/widget.directive.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.html","../../../projects/ngx/src/lib/services/message-widgets.service.ts","../../../projects/ngx/src/lib/common/components/preloader/preloader.component.ts","../../../projects/ngx/src/lib/common/components/preloader/preloader.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/message/components/message-time-and-status/message-time-and-status.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/message/components/message-time-and-status/message-time-and-status.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/message/message.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/message/message.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/messages-list/messages-list.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/messages-list/messages-list.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/chat-input/chat-input.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/chat-input/chat-input.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/chat/chat.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/chat/chat.component.html","../../../projects/ngx/src/lib/directives/shave.directive.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/chats-list/chats-list.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/chats-list/chats-list.component.html","../../../projects/ngx/src/lib/services/default-images.service.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/profile/profile.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/profile/profile.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/messenger-header/messenger-header.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/messenger-header/messenger-header.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/models/MainMenuState.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/search/search.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/search/search.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/main-menu/main-menu.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/main-menu/main-menu.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/messenger/messenger.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/messenger/messenger.component.html","../../../projects/ngx/src/lib/services/events-widgets.service.ts","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/components/event-thumbnail/event-thumbnail.component.ts","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/components/event-thumbnail/event-thumbnail.component.html","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-session/rtsee-events-dashboard-session.component.ts","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-session/rtsee-events-dashboard-session.component.html","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.ts","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.html","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.ts","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.html","../../../projects/ngx/src/lib/components/rtsee-peers-list/rtsee-peers-list.component.ts","../../../projects/ngx/src/lib/components/rtsee-peers-list/rtsee-peers-list.component.html","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component.ts","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component.html","../../../projects/ngx/src/lib/components/rtsee-container/rtsee-container.component.ts","../../../projects/ngx/src/lib/components/rtsee-container/rtsee-container.component.html","../../../projects/ngx/src/lib/ngx.module.ts","../../../projects/ngx/src/public-api.ts","../../../projects/ngx/src/rtsee-ngx.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NgxService {\n lol: string;\n constructor() {\n this.lol = 'lol';\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { RTSeeConference } from '@rtsee/conference';\n\n@Component({\n selector: 'ngx-rtsee-controls',\n templateUrl: './rtsee-controls.component.html',\n styleUrls: ['./rtsee-controls.component.scss'],\n})\nexport class RTSeeControlsComponent {\n @Input() rtsee!: RTSeeConference;\n @Input() fullScreenMode?: boolean;\n\n onPresentClicked() {\n return this.rtsee.isPresenter\n ? this.rtsee.stopScreenShare()\n : this.rtsee.startScreenShare();\n }\n}\n","<div class=\"rtsee-controls\" [ngClass]=\"{'rtsee-full-screen-controls' : fullScreenMode }\">\n <div class=\"rtsee-bottom-panel\">\n <div class=\"mic rtsee-buttons-container\">\n <button mat-icon-button matSuffix\n class=\"rtsee-ripple-button\"\n *ngIf=\"rtsee.microphone\"\n type=\"button\"\n (click)=\"this.rtsee.disableMicrophone()\"\n >\n <span class=\"material-icons-outlined\">mic_none</span>\n </button>\n <button mat-icon-button matSuffix\n class=\"rtsee-ripple-button\"\n *ngIf=\"!rtsee.microphone\"\n type=\"button\" (click)=\"this.rtsee.enableMicrophone()\"\n >\n <span class=\"material-icons-outlined\">mic_off</span>\n </button>\n </div>\n\n <div class=\"video-camera rtsee-buttons-container\">\n <button mat-icon-button matSuffix\n class=\"rtsee-ripple-button\"\n *ngIf=\"rtsee.camera\"\n type=\"button\"\n (click)=\"rtsee.disableCamera()\"\n >\n <span class=\"material-icons-outlined\">videocam</span>\n </button>\n <button mat-icon-button matSuffix\n class=\"rtsee-ripple-button\"\n *ngIf=\"!rtsee.camera\"\n type=\"button\"\n (click)=\"rtsee.enableCamera()\"\n >\n <span class=\"material-icons-outlined\">videocam_off</span>\n </button>\n </div>\n <div class=\"present rtsee-buttons-container\" [ngClass]=\"{'rtsee-present-button-container': rtsee.isPresenter}\">\n <button mat-icon-button matSuffix\n class=\"rtsee-ripple-button\"\n type=\"button\"\n (click)=\"onPresentClicked()\"\n >\n <span class=\"material-icons-outlined\">present_to_all</span>\n </button>\n </div>\n <div class=\"call-end rtsee-buttons-container\">\n <button mat-icon-button matSuffix\n class=\"rtsee-ripple-button\"\n type=\"button\"\n (click)=\"rtsee.end()\"\n >\n <span class=\"material-icons-outlined\">call_end</span>\n </button>\n </div>\n </div>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { RTSeePeerConnection } from '@rtsee/conference';\nimport { interval } from 'rxjs';\n\n@Component({\n selector: 'ngx-rtsee-soundbar',\n templateUrl: './rtsee-soundbar.component.html',\n styleUrls: ['./rtsee-soundbar.component.scss'],\n})\nexport class RtseeSoundbarComponent implements OnInit {\n intervalLength: number;\n noiceLevel: number;\n scaleOneLevel: number;\n scaleTwoLevel: number;\n scaleThreeLevel: number;\n\n @Input() peer!: RTSeePeerConnection;\n constructor() {\n this.intervalLength = 1000;\n this.noiceLevel = 0;\n this.scaleOneLevel = 0;\n this.scaleTwoLevel = 0;\n this.scaleThreeLevel = 0;\n }\n\n ngOnInit(): void {\n this.startSoundMeterListening();\n }\n\n startSoundMeterListening() {\n const step = interval(1000 / 10);\n step.subscribe(() => {\n if (!this.peer.soundMeter || !this.peer.soundMeter.level) {\n this.noiceLevel = 0;\n } else {\n this.noiceLevel = this.peer.soundMeter?.level * 100 || 0;\n }\n\n this.setSoundMeterHeights();\n });\n }\n\n setSoundMeterHeights() {\n const ZERO_LEVEL = 25;\n const SCALE_STEP = 25;\n const SCALE_ONE_TOP = ZERO_LEVEL + SCALE_STEP;\n const SCALE_TWO_TOP = SCALE_ONE_TOP + SCALE_STEP;\n\n if (!this.peer || !this.peer.soundMeter || this.noiceLevel < ZERO_LEVEL) {\n this.scaleOneLevel = 0;\n this.scaleTwoLevel = 0;\n this.scaleThreeLevel = 0;\n }\n\n const scaleOneValue = ((this.noiceLevel - ZERO_LEVEL) / SCALE_STEP) * 100;\n const scaleTwoValue =\n ((this.noiceLevel - SCALE_ONE_TOP) / SCALE_STEP) * 100;\n const scaleThreeValue =\n ((this.noiceLevel - SCALE_TWO_TOP) / SCALE_STEP) * 100;\n\n this.scaleOneLevel = scaleOneValue > 0 ? scaleOneValue : 0;\n this.scaleTwoLevel = scaleTwoValue > 0 ? scaleTwoValue : 0;\n this.scaleThreeLevel = scaleThreeValue > 0 ? scaleTwoValue : 0;\n }\n}\n","<div class=\"rtsee-soundbar\">\n <div class=\"rtsee-soundbar-scale\">\n <div class=\"rtsee-soundbar-scale-item\">\n <div class=\"rtsee-soundbar-scale-item-level rtsee-soundbar-scale-item-level-one\"\n [style.height.%]=\"scaleOneLevel\"\n ></div>\n </div>\n <div class=\"rtsee-soundbar-scale-item\">\n <div class=\"rtsee-soundbar-scale-item-level rtsee-soundbar-scale-item-level-two\"\n [style.height.%]=\"scaleTwoLevel\"\n ></div>\n </div>\n <div class=\"rtsee-soundbar-scale-item\">\n <div class=\"rtsee-soundbar-scale-item-level rtsee-soundbar-scale-item-level-three\"\n [style.height.%]=\"scaleThreeLevel\"\n ></div>\n </div>\n </div>\n</div>\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n ViewChild,\n} from '@angular/core';\nimport { RTSeePeerConnection } from '@rtsee/conference';\n\n@Component({\n selector: 'ngx-rtsee-peer',\n templateUrl: './rtsee-peer.component.html',\n styleUrls: ['./rtsee-peer.component.scss'],\n})\nexport class RtseePeerComponent implements AfterViewInit {\n intervalLength: number;\n noiceLevel: number;\n\n @ViewChild('audioOutput') audioOutput?: ElementRef;\n @ViewChild('videoOutput') videoOutput?: ElementRef;\n @Input() peer!: RTSeePeerConnection;\n\n constructor() {\n this.intervalLength = 1000;\n this.noiceLevel = 0;\n }\n\n ngAfterViewInit(): void {\n if (!this.audioOutput) {\n return;\n }\n this.peer.setAudioOutputElement(\n this.audioOutput.nativeElement as HTMLAudioElement,\n );\n }\n}\n","<div class=\"rtsee-peer\" [ngClass]=\"{\n'rtsee-peer-video-disabled': !peer.remoteVideoStream || !peer.camera\n}\">\n <div class=\"rtsee-peer-content\">\n <div class=\"rtsee-peer-photo\" *ngIf=\"!peer.camera\">\n <div class=\"rtsee-peer-photo-wrapper\">\n <div *ngIf=\"peer.imageUrl\"\n [style.background-image]=\"'url(' + peer.imageUrl + ')'\"\n class=\"rtsee-peer-photo-image\"\n ></div>\n <img *ngIf=\"!peer.imageUrl\" [src]=\"\" alt=\"peer_photo\" class=\"rtsee-peer-photo-image\">\n </div>\n <div class=\"rtsee-peer-info\">\n <p class=\"rtsee-peer-name\" *ngIf=\"peer.name\">{{peer.name}}</p>\n </div>\n </div>\n <video #videoOutput\n class=\"rtsee-peer-video\"\n [autoplay]=\"true\"\n [srcObject]=\"peer.remoteVideoStream\"\n playsinline=\"true\"\n >\n </video>\n <div class=\"rtsee-peer-soundbar\">\n <ngx-rtsee-soundbar [peer]=\"peer\"></ngx-rtsee-soundbar>\n </div>\n </div>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { RTSeeConference } from '@rtsee/conference';\n\n@Component({\n selector: 'ngx-rtsee-settings',\n templateUrl: './rtsee-settings.component.html',\n styleUrls: ['./rtsee-settings.component.scss'],\n})\nexport class RtseeSettingsComponent implements OnInit {\n availableAudioInputDevices: MediaDeviceInfo[];\n availableVideoInputDevices: MediaDeviceInfo[];\n availableAudioOutputDevices: MediaDeviceInfo[];\n\n @Input() rtSee!: RTSeeConference;\n @Input() fullScreenMode!: boolean;\n constructor() {\n this.availableAudioInputDevices = [];\n this.availableVideoInputDevices = [];\n this.availableAudioOutputDevices = [];\n }\n\n ngOnInit(): void {\n this.refreshSelectOptions();\n }\n\n refreshSelectOptions() {\n void this.rtSee.refreshMediaDevicesList();\n }\n\n setAudioInput(deviceId: string) {\n this.rtSee.setAudioInputDevice(deviceId);\n console.log(deviceId);\n }\n\n setAudioOutput(deviceId: string) {\n this.rtSee.setAudioOutputDevice(deviceId);\n }\n\n setVideoInput(deviceId: string) {\n this.rtSee.setVideoInputDevice(deviceId);\n }\n}\n","<div class=\"rtsee-settings\" [ngClass]=\"{'rtsee-full-screen-settings' : fullScreenMode}\">\n <div class=\"rtsee-devices\">\n <div class=\"rtsee-device-select-wrapper\">\n <label class=\"rtsee-select-label\" for=\"audio-input\">Audio Input:</label>\n <select class=\"rtsee-select\" id=\"audio-input\" (click)=\"refreshSelectOptions()\">\n <option *ngFor=\"let device of rtSee.audioInputDevices\" [value]=\"device.deviceId\" (click)=\"setAudioInput(device.deviceId)\">\n {{device.label}}\n </option>\n </select>\n </div>\n <div class=\"rtsee-device-select-wrapper\">\n <label class=\"rtsee-select-label\" for=\"audio-output\">Audio Output:</label>\n <select class=\"rtsee-select\" id=\"audio-output\" (click)=\"refreshSelectOptions()\">\n <option *ngFor=\"let device of rtSee.audioOutputDevices\" [value]=\"device.deviceId\" (click)=\"setAudioOutput(device.deviceId)\">\n {{device.label}}\n </option>\n </select>\n </div>\n <div class=\"rtsee-device-select-wrapper\">\n <label class=\"rtsee-select-label\" for=\"video-input\">Video Input:</label>\n <select class=\"rtsee-select\" id=\"video-input\" (click)=\"refreshSelectOptions()\">\n <option *ngFor=\"let device of rtSee.videoInputDevices\" [value]=\"device.deviceId\" (click)=\"setVideoInput(device.deviceId)\">\n {{device.label}}\n </option>\n </select>\n </div>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeConference } from '@rtsee/conference';\n\n@Component({\n selector: 'ngx-rtsee',\n templateUrl: './rtsee.component.html',\n styleUrls: ['./rtsee.component.scss'],\n})\nexport class RTSeeComponent {\n settingsViewEnabled: boolean;\n fullScreenModeEnabled: boolean;\n\n @Input() rtSee!: RTSeeConference;\n constructor() {\n this.settingsViewEnabled = false;\n this.fullScreenModeEnabled = false;\n }\n\n toggleSettings() {\n this.settingsViewEnabled = !this.settingsViewEnabled;\n }\n\n toggleFullScreenMode() {\n this.fullScreenModeEnabled = !this.fullScreenModeEnabled;\n }\n}\n","<div class=\"rtsee-shell\" [ngClass]=\"{\n'rtsee-shell-expanded': rtSee.uiControls.isExpanded || fullScreenModeEnabled,\n'rtsee-shell-no-companions': !rtSee.rtcPeerConnections.connections?.length\n}\">\n <div class=\"rtsee-local-peer\" *ngIf=\"rtSee.localStream && rtSee.camera\">\n <video class=\"rtsee-local-video\"\n [autoplay]=\"true\"\n [muted]=\"true\"\n [srcObject]=\"rtSee.localStream\"\n playsinline=\"true\"\n ></video>\n </div>\n <div class=\"rtsee-window-controls\">\n <button mat-icon-button matSuffix\n type=\"button\"\n (click)=\"this.toggleSettings()\"\n class=\"rtsee-window-controls-button rtsee-ripple-button\"\n >\n <span class=\"material-icons-outlined\">settings</span>\n </button>\n <button mat-icon-button matSuffix\n type=\"button\"\n (click)=\"this.toggleFullScreenMode()\"\n class=\"rtsee-window-controls-button rtsee-ripple-button\"\n >\n <span class=\"material-icons-outlined\">open_in_full</span>\n </button>\n </div>\n <div class=\"rtsee-settings-container\" *ngIf=\"settingsViewEnabled\">\n <button mat-icon-button matSuffix\n type=\"button\"\n (click)=\"this.toggleSettings()\"\n class=\"rtsee-close-settings-button\"\n >\n <span class=\"material-icons-outlined\">close</span>\n </button>\n <ngx-rtsee-settings [rtSee]=\"rtSee\" [fullScreenMode]=\"fullScreenModeEnabled\"></ngx-rtsee-settings>\n </div>\n <div class=\"rtsee-screen-share\" *ngIf=\"rtSee.screenSharePeer\" >\n <video [autoplay]=\"true\"\n [muted]=\"true\"\n [srcObject]=\"rtSee.screenSharePeer.remoteVideoStream\"\n playsinline=\"true\"\n class=\"rtsee-screen-share-video\"\n ></video>\n </div>\n <div class=\"rtsee-peers\" [ngClass]=\"{\n 'rtsee-peers-alone': !rtSee.rtcPeerConnections.connections?.length,\n 'rtsee-peers-one': rtSee.rtcPeerConnections.connections?.length === 1,\n 'rtsee-peers-three-grid': rtSee.rtcPeerConnections.connections?.length\n && rtSee.rtcPeerConnections.connections.length > 1\n && rtSee.rtcPeerConnections.connections.length < 4,\n 'rtsee-peers-six-grid': rtSee.rtcPeerConnections.connections?.length\n && rtSee.rtcPeerConnections.connections.length > 3\n && rtSee.rtcPeerConnections.connections.length < 7,\n 'rtsee-peers-nine-grid': rtSee.rtcPeerConnections.connections?.length\n && rtSee.rtcPeerConnections.connections.length >= 7\n }\">\n <div class=\"rtsee-peer-wrapper\"\n *ngFor=\"let peer of rtSee.rtcPeerConnections.connections\"\n >\n <ngx-rtsee-peer [peer]=\"peer\"></ngx-rtsee-peer>\n </div>\n </div>\n <div class=\"rtsee-peers-list\"></div>\n <div class=\"rtsee-controls-wrapper\">\n <ngx-rtsee-controls [rtsee]=\"rtSee\" [fullScreenMode]=\"fullScreenModeEnabled\"></ngx-rtsee-controls>\n </div>\n</div>\n\n","import { Injectable } from '@angular/core';\n\nimport dayjs from 'dayjs';\nimport relativeTime from 'dayjs/plugin/relativeTime';\ndayjs.extend(relativeTime);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TimeFormatHelperService {\n toAgo(time: Date): string {\n /* eslint-disable */\n return dayjs(time).fromNow() as string;\n /* eslint-enable */\n }\n toDayOfWeek(time: Date): string {\n /* eslint-disable */\n return dayjs(time).format('ddd');\n /* eslint-enable */\n }\n toTime(time: Date): string {\n /* eslint-disable */\n return dayjs(time).format('HH:mm') as string;\n /* eslint-enable */\n }\n toDate(time: Date): string {\n /* eslint-disable */\n return dayjs(time).format('D MMMM') as string;\n /* eslint-enable */\n }\n toDateNumeral(time: Date): string {\n /* eslint-disable */\n return dayjs(time).format('DD.MM');\n /* eslint-enable */\n }\n\n toDateNumeralWithYear(time: Date): string {\n /* eslint-disable */\n return dayjs(time).format('DD.MM.YY');\n /* eslint-enable */\n }\n\n toDateWithYear(time: Date): string {\n /* eslint-disable */\n return dayjs(time).format('MMMM D, YYYY ') as string;\n /* eslint-enable */\n }\n\n formatDate(time: Date) {\n const today = new Date();\n const dayMs = 1000 * 60 * 60 * 24;\n const twoDays = dayMs * 2;\n\n if (!time) {\n return '';\n }\n\n if (\n today.getTime() - time.getTime() < dayMs &&\n today.getDay() === time.getDay()\n ) {\n return 'Today';\n }\n\n if (\n today.getTime() - time.getTime() < twoDays &&\n today.getTime() - time.getTime() > dayMs &&\n today.getDay() !== time.getDay()\n ) {\n return 'Yesterday';\n }\n\n if (today.getFullYear() === time.getFullYear()) {\n return this.toDate(time);\n }\n\n return this.toDateWithYear(time);\n }\n\n formatTimeOrDate(time: Date) {\n if (!time) {\n return '';\n }\n\n const today = new Date();\n const dayMs = 1000 * 60 * 60 * 24;\n\n if (\n today.getTime() - time.getTime() < dayMs &&\n today.getDay() === time.getDay()\n ) {\n return this.toTime(time);\n }\n\n if (\n today.getTime() - time.getTime() > dayMs &&\n today.getTime() - time.getTime() < dayMs * 7\n ) {\n return this.toDayOfWeek(time);\n }\n\n if (\n today.getTime() - time.getTime() > dayMs * 7 &&\n today.getFullYear() === time.getFullYear()\n ) {\n return this.toDateNumeral(time);\n }\n\n return this.toDateNumeralWithYear(time);\n }\n}\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[widgetHost]',\n})\nexport class WidgetDirective {\n constructor(public viewContainerRef: ViewContainerRef) {}\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { RTSeeMessage, RTSeeMessenger } from '@rtsee/messenger';\nimport { IRTSeeCall } from '@rtsee/core';\n\n@Component({\n selector: 'ngx-call-widget',\n templateUrl: './call-widget.component.html',\n styleUrls: ['./call-widget.component.css'],\n})\nexport class CallWidgetComponent implements OnInit {\n @Input() message!: RTSeeMessage<IRTSeeCall>;\n @Input() messenger!: RTSeeMessenger;\n callerName?: string;\n\n ngOnInit(): void {\n if (this.messenger.clientId === this.message.data?.callerId) {\n this.callerName = 'You';\n } else {\n this.callerName = this.message.data?.caller?.name;\n }\n }\n\n joinCall() {\n if (!this.messenger || !this.message.data?.roomId) {\n console.log('No Room Id specified or no messenger!');\n return;\n }\n void this.messenger.joinCall(this.message.data.roomId);\n }\n}\n","<div class=\"rtsee-call-widget\">\n <p *ngIf=\"callerName\"> {{ callerName }} has started a call</p>\n <p *ngIf=\"callerName === 'You'\"> You have started a call</p>\n <p *ngIf=\"!callerName\"> The call has started</p>\n <button (click)=\"joinCall()\">Join Call</button>\n</div>\n","import { Injectable } from '@angular/core';\nimport { CallWidgetComponent } from '../components/rtsee-messenger/message-widgets/call-widget/call-widget.component';\n\nexport interface IMessageWidget {\n name: string;\n component: any;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MessageWidgetsService {\n widgetsMap: IMessageWidget[] = [\n { name: 'rtsee-call', component: CallWidgetComponent },\n ];\n\n getWidgetComponentByName(name: string) {\n /* eslint-disable */\n const mapping = this.widgetsMap.find((e) => e.name === name);\n if (!mapping) {\n return null;\n }\n return mapping.component;\n /* eslint-enable */\n }\n}\n","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'rtsee-preloader',\n templateUrl: './preloader.component.html',\n})\nexport class PreloaderComponent implements OnInit {\n viewBox = '0 0 100 100';\n d = 'M 50 96 a 46 46 0 0 1 0 -92 46 46 0 0 1 0 92';\n\n @ViewChild('canvas') canvas?: ElementRef<SVGElement>;\n @Input() diameter?: number;\n @Input() color?: string = '#000000';\n constructor() {\n if (this.diameter) {\n this.viewBox = `0 0 ${this.diameter} ${this.diameter}`;\n this.d = `M ${this.diameter / 2} ${this.diameter * 0.96} a ${\n this.diameter * 0.46\n } ${this.diameter * 0.46} 0 0 1 0 -${this.diameter * 0.92} ${\n this.diameter * 0.46\n } ${this.diameter * 0.46} 0 0 1 0 ${this.diameter * 0.92}`;\n }\n }\n\n ngOnInit(): void {\n //viewBox=\"0 0 100 100\"\n //d=\"M 50 96 a 46 46 0 0 1 0 -92 46 46 0 0 1 0 92\"\n }\n}\n","<div class=\"rtsee-preloader\">\n <svg [style.max-width.px]=\"diameter\" #canvas [attr.viewBox]=\"viewBox\">\n <path [attr.d]=\"d\" [attr.stroke]=\"color\"/>\n </svg>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeMessage } from '@rtsee/messenger';\nimport { IMessageThumbnail } from '@rtsee/common';\nimport { TimeFormatHelperService } from '../../../../../services/time-format-helper.service';\n\n@Component({\n selector: 'rtsee-message-time-and-status',\n templateUrl: './message-time-and-status.component.html',\n})\nexport class MessageTimeAndStatusComponent {\n @Input() message!: RTSeeMessage | IMessageThumbnail;\n @Input() hideStatus?: boolean;\n constructor(public timeFormatService: TimeFormatHelperService) {}\n}\n","<div class=\"rtsee-messenger-message-time-and-status\">\n <span class=\"rtsee-messenger-message-status\" *ngIf=\"!hideStatus\">\n <span *ngIf=\"message.status === 'pending'\"><rtsee-preloader [diameter]=\"5\"></rtsee-preloader></span>\n <span *ngIf=\"message.status === 'sent'\" class=\"material-icons-outlined rtsee-message-sent-status\">check</span>\n <span *ngIf=\"message.status === 'delivered'\" class=\"material-icons-outlined rtsee-message-delivered-status\">check</span>\n <span *ngIf=\"message.status === 'seen'\" class=\"material-icons-outlined rtsee-message-seen-status\">done_all</span>\n </span>\n <span class=\"rtsee-messenger-message-time\">{{timeFormatService.formatTimeOrDate(message.createdAt)}}</span>\n</div>\n","import {\n AfterViewInit,\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {\n RTSeeChat,\n RTSeeChatMember,\n RTSeeMessage,\n RTSeeMessenger,\n} from '@rtsee/messenger';\nimport { MessageWidgetsService } from '../../../services/message-widgets.service';\nimport { WidgetDirective } from '../../../directives/widget.directive';\nimport { TimeFormatHelperService } from '../../../services/time-format-helper.service';\n\n@Component({\n selector: 'rtsee-message',\n templateUrl: './message.component.html',\n})\nexport class MessageComponent implements AfterViewInit {\n @Input() chat!: RTSeeChat;\n @Input() message!: RTSeeMessage;\n @Input() member!: RTSeeChatMember<any>;\n @Input() messenger!: RTSeeMessenger;\n @ViewChild(WidgetDirective, { static: false }) widgetHost!: WidgetDirective;\n constructor(\n private widgetsService: MessageWidgetsService,\n private componentFactoryResolver: ComponentFactoryResolver,\n public timeFormatService: TimeFormatHelperService,\n ) {}\n\n ngAfterViewInit() {\n /* eslint-disable */\n if (this.message.widget) {\n const widget = this.widgetsService.getWidgetComponentByName(\n this.message.widget,\n );\n if (!widget) {\n return;\n }\n const viewContainerRef = this.widgetHost.viewContainerRef;\n viewContainerRef.clear();\n const componentToShow =\n this.componentFactoryResolver.resolveComponentFactory(widget);\n const componentRef: ComponentRef<typeof widget> =\n viewContainerRef.createComponent(componentToShow);\n componentRef.instance.message = this.message;\n componentRef.instance.messenger = this.messenger;\n componentRef.changeDetectorRef.detectChanges();\n }\n /* eslint-enable */\n }\n}\n","<div class=\"rtsee-messenger-message-container\" #rtsMessageContainer\n [ngClass]=\"{'rtsee-message-from-me': message.from.id === messenger.clientId}\"\n>\n <div class=\"rtsee-messenger-message\">\n <ng-template *ngIf=\"message.widget\" widgetHost></ng-template>\n <p *ngIf=\"!message.widget\"\n class=\"rtsee-messenger-message-text\"\n >{{ message.text }}</p>\n <div class=\"rtsee-messenger-message-info\" #rtsMessageInfo>\n <rtsee-message-time-and-status [message]=\"message\"\n [hideStatus]=\"message.from.id !== messenger.clientId\"\n ></rtsee-message-time-and-status>\n </div>\n </div>\n <div class=\"message-tail\"></div>\n</div>\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport {\n RTSeeChat,\n RTSeeMessenger,\n RTSeeMessage,\n RTSeeChatEvents,\n} from '@rtsee/messenger';\nimport { TimeFormatHelperService } from '../../../services/time-format-helper.service';\n\n@Component({\n selector: 'rtsee-messages-list',\n templateUrl: './messages-list.component.html',\n})\nexport class MessagesListComponent implements AfterViewInit, OnDestroy, OnInit {\n bindScrollFunction: () => void;\n\n @Input() chat!: RTSeeChat;\n @Input() messenger!: RTSeeMessenger;\n @ViewChild('scrollBlock') scrollContainer!: ElementRef<HTMLDivElement>;\n constructor(private timeFormatService: TimeFormatHelperService) {\n this.bindScrollFunction = this.scrollToBottom.bind(this) as () => void;\n }\n\n ngOnInit() {\n this.chat.on(RTSeeChatEvents.MESSAGE_ADDED, this.bindScrollFunction);\n }\n\n ngAfterViewInit() {\n this.scrollToBottom();\n }\n\n onMessageSent() {\n this.scrollToBottom();\n }\n\n ngOnDestroy() {\n this.chat.off(RTSeeChatEvents.MESSAGE_ADDED, this.bindScrollFunction);\n }\n\n onScrolledToTop() {\n if (this.chat.messagesLoadInProgress) {\n return;\n }\n this.chat.loadRemoteMessages('back');\n }\n\n onScroll() {\n // if (this.scrollContainer.nativeElement.scrollTop < 1) {\n // this.scrollContainer.nativeElement.scrollTop = 1;\n // }\n if (this.chat.messagesLoadInProgress) {\n return;\n }\n this.chat.loadRemoteMessages('front');\n }\n\n scrollToBottom() {\n if (!this.scrollContainer?.nativeElement?.scrollHeight) {\n return;\n }\n\n try {\n this.scrollContainer.nativeElement.scrollTop =\n this.scrollContainer.nativeElement.scrollHeight;\n } catch (err) {\n console.log('Failed to Scroll');\n }\n }\n\n formatDate(message: RTSeeMessage) {\n return this.timeFormatService.formatDate(message.createdAt);\n }\n}\n","<div class=\"rtsee-messenger-messages-list\"\n #scrollBlock\n infiniteScroll\n [infiniteScrollUpDistance]=\"2\"\n [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\"\n [scrollWindow]=\"false\"\n (scrolledUp)=\"onScrolledToTop()\"\n (scroll)=\"onScroll()\"\n>\n <div *ngFor=\"let message of chat.messages; let i = index;\"\n [ngClass]=\"{'rtsee-messenger-message-wrapper-consecutive': message.from === chat.messages[i+1]?.from}\"\n class=\"rtsee-messenger-message-wrapper\"\n >\n <div *ngIf=\"message.hasDateChanged\" class=\"rtsee-messenger-message-date\">\n <span>{{formatDate(message)}}</span>\n </div>\n <rtsee-message [message]=\"message\" [messenger]=\"messenger\" [chat]=\"chat\"></rtsee-message>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { RTSeeChat, RTSeeMessenger } from '@rtsee/messenger';\n\n@Component({\n selector: 'rtsee-chat-input',\n templateUrl: './chat-input.component.html',\n})\nexport class ChatInputComponent {\n sendMessageForm: FormGroup = new FormGroup({\n /* eslint-disable */\n message: new FormControl('', Validators.required),\n /* eslint-enable */\n });\n\n @Input() messenger!: RTSeeMessenger;\n @Input() chat!: RTSeeChat;\n\n sendMessage() {\n const text = this.sendMessageForm.get('message')?.value as string;\n if (!text) {\n return;\n }\n this.chat.sendMessage(text);\n this.sendMessageForm.get('message')?.setValue('');\n }\n}\n","<div class=\"rtsee-chat-input\" xmlns=\"http://www.w3.org/1999/html\">\n <div class=\"rtsee-send-message\">\n <form [formGroup]=\"sendMessageForm\">\n <textarea\n placeholder=\"Type message...\"\n type=\"text\"\n formControlName=\"message\"\n class=\"rtsee-chat-input-field\"\n autosize\n required\n (keyup.enter)=\"sendMessage()\"\n ></textarea>\n </form>\n </div>\n <button (click)=\"sendMessage()\"\n class=\"rtsee-send-message-button\"\n type=\"submit\">\n <span class=\"material-icons-outlined\">send</span>\n </button>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeChat, RTSeeMessenger } from '@rtsee/messenger';\n\n@Component({\n selector: 'rtsee-chat',\n templateUrl: './chat.component.html',\n})\nexport class ChatComponent {\n @Input() chat!: RTSeeChat;\n @Input() messenger!: RTSeeMessenger;\n}\n","<div class=\"rtsee-chat\">\n <div class=\"rtsee-chat-body-container\">\n <rtsee-messages-list [messenger]=\"messenger\" [chat]=\"chat\"></rtsee-messages-list>\n </div>\n <div class=\"rtsee-chat-footer-container\">\n <rtsee-chat-input [messenger]=\"messenger\" [chat]=\"chat\"></rtsee-chat-input>\n </div>\n</div>\n","import { AfterViewInit, Directive, ElementRef } from '@angular/core';\nimport shave from 'shave';\n\n@Directive({\n selector: '[rtseeShave]',\n})\nexport class ShaveDirective implements AfterViewInit {\n constructor(private elem: ElementRef<HTMLDivElement>) {}\n\n ngAfterViewInit() {\n const height = this.elem.nativeElement?.offsetHeight;\n shave(this.elem.nativeElement as unknown as NodeList, height);\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { RTSeeMessenger } from '@rtsee/messenger';\nimport { RTSeeChatTypes, IMessageThumbnail } from '@rtsee/common';\nimport { TimeFormatHelperService } from '../../../services/time-format-helper.service';\n\n@Component({\n selector: 'rtsee-chat-thumbnail',\n templateUrl: './chat-thumbnail.component.html',\n})\nexport class ChatThumbnailComponent {\n @Input() chat!: IMessageThumbnail;\n @Input() messenger!: RTSeeMessenger;\n\n readonly RTSeeChatTypes = RTSeeChatTypes;\n\n constructor(public timeFormatService: TimeFormatHelperService) {}\n}\n","<div class=\"rtsee-chat-thumbnail\" (click)=\"messenger.openChatById(chat.chatId)\">\n <div class=\"rtsee-chat-thumbnail-image\">\n <img [src]=\"chat.chatImageUrl\" alt=\"chat-img\">\n </div>\n <div class=\"rtsee-chat-thumbnail-left\">\n <div class=\"rtsee-chat-thumbnail-name\">\n <span>{{ chat.chatName }}</span>\n <div class=\"rtsee-chat-thumbnail-status\">\n <rtsee-message-time-and-status [message]=\"chat\"></rtsee-message-time-and-status>\n </div>\n </div>\n <div class=\"rtsee-chat-thumbnail-last-message\"\n [ngClass]=\"{'rtsee-has-unread': chat.unreadMessagesCount}\"\n rtseeShave>\n <span class=\"rtsee-chat-thumbnail-last-message-sender\"\n *ngIf=\"chat.chatType !== RTSeeChatTypes.INDIVIDUAL && chat.senderName\"\n >{{chat.senderName}}</span>\n <span class=\"rtsee-chat-thumbnail-last-message-text\"\n *ngIf=\"chat.text\"\n >{{chat.text}}</span>\n <div class=\"rtsee-messenger-thumbnail-unread\" *ngIf=\"chat.unreadMessagesCount\">\n <span class=\"rtsee-messenger-thumbnail-unread-count\">{{chat.unreadMessagesCount}}</span>\n </div>\n </div>\n </div>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { RTSeeChat, RTSeeMessenger } from '@rtsee/messenger';\n\n@Component({\n selector: 'rtsee-chats-list',\n templateUrl: './chats-list.component.html',\n})\nexport class ChatsListComponent implements OnInit {\n @Input() messenger!: RTSeeMessenger;\n @Input() chats!: RTSeeChat[];\n\n ngOnInit(): void {\n // console.log(this.chats);\n }\n}\n","<div class=\"rtsee-chats-list\">\n <div class=\"rtsee-chat-thumbnail-container\" *ngFor=\"let chat of chats; let last = last;\">\n <rtsee-chat-thumbnail [chat]=\"chat.thumbnail\" [messenger]=\"messenger\"></rtsee-chat-thumbnail>\n<!-- <div class=\"rtsee-chat-thumbnail-separator\" *ngIf=\"!last\"></div>-->\n </div>\n</div>\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DefaultImagesService {\n PROFILE = 'https://werf-assets.s3.amazonaws.com/default-profile-logo.png';\n}\n","import { Component, Input } from '@angular/core';\nimport { RTSeeMessenger } from '@rtsee/messenger';\n\n@Component({\n selector: 'rtsee-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent {\n @Input() messenger!: RTSeeMessenger;\n\n call() {\n if (!this.messenger.openedChat) {\n return;\n }\n void this.messenger.initializeVideoCall(this.messenger.openedChat);\n }\n\n videoCall() {\n if (!this.messenger.openedChat) {\n return;\n }\n void this.messenger.initializeVideoCall(this.messenger.openedChat);\n }\n}\n","<div class=\"rtsee-messenger-profile\">\n <ul class=\"rtsee-messenger-profile-controls\">\n <li class=\"rtsee-messenger-profile-control\">\n <div class=\"rtsee-messenger-control-item\" (click)=\"call()\">\n <div class=\"rtsee-messenger-control-icon\">\n <span class=\"material-icons-outlined\">call</span>\n </div>\n <span>Call</span>\n </div>\n </li>\n <li class=\"rtsee-messenger-profile-control\">\n <div class=\"rtsee-messenger-control-item\" (click)=\"videoCall()\">\n <div class=\"rtsee-messenger-control-icon\">\n <span class=\"material-icons-outlined\">videocam</span>\n </div>\n <span>Video</span>\n </div>\n </li>\n </ul>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { RTSeeMessenger } from '@rtsee/messenger';\nimport { DefaultImagesService } from '../../../services/default-images.service';\n\n@Component({\n selector: 'rtsee-messenger-header',\n templateUrl: './messenger-header.component.html',\n})\nexport class MessengerHeaderComponent {\n @Output() expandToggled = new EventEmitter();\n @Input() isExpanded?: boolean;\n @Input() messenger!: RTSeeMessenger;\n constructor(public defaultImagesService: DefaultImagesService) {\n this.isExpanded = false;\n this.expandToggled.emit(this.isExpanded);\n }\n\n toggleExpand() {\n this.isExpanded = !this.isExpanded;\n this.expandToggled.emit(this.isExpanded);\n }\n}\n","<div class=\"rtsee-messenger-header\"\n [ngClass]=\"{\n 'rtsee-messenger-header-chat-opened': messenger.openedChat,\n 'rtsee-messenger-header-expanded': isExpanded\n }\"\n>\n <div class=\"rtsee-messenger-profile-image-container \">\n <div *ngIf=\"!messenger.openedChat\"\n [style.background-image]=\"'url(' + messenger.myPeer?.imageUrl || defaultImagesService.PROFILE + ')'\"\n class=\"rtsee-messenger-profile-image\">\n </div>\n </div>\n\n <button class=\"rtsee-messenger-close-chat\"\n *ngIf=\"messenger.openedChat\"\n (click)=\"messenger.closeChat()\"\n >\n <span class=\"material-icons-outlined\">arrow_back</span>\n <span class=\"unread-count\" *ngIf=\"messenger.unreadMessagesCount\">{{messenger.unreadMessagesCount}}</span>\n </button>\n\n <button class=\"rtsee-messenger-menu-toggle\"\n *ngIf=\"!messenger.openedChat\"\n (click)=\"messenger.openMainMenu(true)\"\n >\n <span class=\"material-icons-outlined rtsee-messenger-menu-toggle-icon\">menu</span>\n </button>\n <div *ngIf=\"messenger.openedChat\"\n [ngClass]=\"{'rtsee-messenger-header-opened-chat-info-expanded': isExpanded}\"\n class=\"rtsee-messenger-header-opened-chat-info\">\n <div class=\"rtsee-messenger-profile-header-placeholder\">\n <p *ngIf=\"messenger.openedChat\"\n class=\"rtsee-messenger-header-chat-title\"\n >{{ messenger.openedChat.name }}</p>\n <div class=\"rtsee-messenger-profile-image-container\" (click)=\"toggleExpand()\">\n <div class=\"rtsee-messenger-profile-image\"\n [style.background-image]=\"'url(' + messenger.openedChat.imageUrl || defaultImagesService.PROFILE + ')'\"\n ></div>\n </div>\n </div>\n <div class=\"rtsee-messenger-profile-data-container\">\n <rtsee-profile *ngIf=\"isExpanded\" [messenger]=\"messenger\"></rtsee-profile>\n </div>\n </div>\n\n <p *ngIf=\"!messenger.openedChat\"\n class=\"rtsee-messenger-header-title\"\n >Messaging</p>\n</div>\n","export enum MainMenuPanels {\n HOME = 'home',\n CONTACTS_SELECT = 'contacts-select',\n MANAGE_CHAT = 'manage-chat',\n}\n\nexport interface IMainMenuState {\n activePanel: MainMenuPanels;\n}\n\nexport const DEFAULT_MAIN_MENU_STATE = MainMenuPanels.HOME;\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { debounceTime } from 'rxjs/operators';\nimport { FormControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { RTSeeMessengerSearch } from '@rtsee/messenger';\n\n@Component({\n selector: 'rtsee-search',\n templateUrl: './search.component.html',\n})\nexport class SearchComponent implements OnInit, OnDestroy {\n queryControl = new FormControl();\n queryCtrlSub?: Subscription;\n\n @Input() search!: RTSeeMessengerSearch;\n\n ngOnInit(): void {\n this.queryCtrlSub = this.queryControl.valueChanges\n .pipe(debounceTime(200))\n .subscribe((value: string) => this.search.onQueryChange(value));\n }\n\n ngOnDestroy() {\n if (this.queryCtrlSub) {\n this.queryCtrlSub.unsubscribe();\n }\n }\n}\n","<div class=\"rtsee-messenger-search\">\n <input type=\"text\"\n [formControl]=\"queryControl\"\n class=\"rtsee-messenger-search-input\"\n placeholder=\"Search\"/>\n</div>\n\n<div class=\"rtsee-messenger-search-results\">\n <rtsee-preloader [diameter]=\"50\" *ngIf=\"search.searchInProgress\"></rtsee-preloader>\n <p>Chats</p>\n <div class=\"rtsee-messenger-search-results-chats\">\n <div *ngFor=\"let chat of search.results.chats\" class=\"rtsee-messenger-search-results-chat-wrapper\">\n <p>{{chat.name}}</p>\n </div>\n </div>\n <p>Messages</p>\n <div class=\"rtsee-messenger-search-results-messages\">\n <div *ngFor=\"let message of search.results.messages\" class=\"rtsee-messenger-search-results-message-wrapper\">\n <p>{{message.chatName || message.senderName }}</p>\n </div>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeMessenger } from '@rtsee/messenger';\nimport { IMainMenuState, MainMenuPanels } from '../models/MainMenuState';\n\n@Component({\n selector: 'rtsee-manage-chat',\n templateUrl: './manage-chat.component.html',\n styleUrls: ['./manage-chat.component.scss'],\n})\nexport class ManageChatComponent {\n @Input() messenger!: RTSeeMessenger;\n @Input() menuState!: IMainMenuState;\n\n onInviteContactsClicked() {\n this.menuState.activePanel = MainMenuPanels.CONTACTS_SELECT;\n }\n}\n","<div class=\"rtsee-messenger-manage-chat\">\n <p>We are going to manage chat here</p>\n <button (click)=\"onInviteContactsClicked()\">Invite Contacts</button>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { IMainMenuState } from '../models/MainMenuState';\nimport { RTSeeMessengerSearch } from '@rtsee/messenger';\n\n@Component({\n selector: 'rtsee-contacts-multiselect',\n templateUrl: './contacts-multiselect.component.html',\n styleUrls: ['./contacts-multiselect.component.scss'],\n})\nexport class ContactsMultiselectComponent {\n @Input() menuState!: IMainMenuState;\n @Input() search!: RTSeeMessengerSearch;\n}\n","<div class=\"rtsee-messenger-contacts-multiselect\">\n <rtsee-search [search]=\"search\"></rtsee-search>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeMessenger, RTSeeMessengerSearch } from '@rtsee/messenger';\nimport {\n DEFAULT_MAIN_MENU_STATE,\n IMainMenuState,\n MainMenuPanels,\n} from './components/models/MainMenuState';\n\n@Component({\n selector: 'rtsee-main-menu',\n templateUrl: './main-menu.component.html',\n})\nexport class MainMenuComponent {\n @Input() search!: RTSeeMessengerSearch;\n @Input() messenger!: RTSeeMessenger;\n\n readonly MainMenuPanels = MainMenuPanels;\n\n state: IMainMenuState = {\n activePanel: DEFAULT_MAIN_MENU_STATE,\n };\n\n onNewGroupClicked() {\n this.state.activePanel = MainMenuPanels.CONTACTS_SELECT;\n }\n\n onNewChannelClicked() {\n this.state.activePanel = MainMenuPanels.MANAGE_CHAT;\n }\n}\n","<div class=\"rtsee-messenger-main-menu\">\n <div class=\"rtsee-messenger-main-menu-home\" *ngIf=\"state.activePanel === MainMenuPanels.HOME\">\n <ul class=\"rtsee-messenger-controls\">\n <li>\n <div class=\"rtsee-messenger-control-item\" (click)=\"onNewGroupClicked()\">\n <div class=\"rtsee-messenger-control-icon\">\n <span class=\"material-icons-outlined\">people</span>\n </div>\n <span>New Group</span>\n </div>\n </li>\n <li>\n <div class=\"rtsee-messenger-control-item\" (click)=\"onNewChannelClicked()\">\n <div class=\"rtsee-messenger-control-icon\">\n <span class=\"material-icons-outlined\">campaign</span>\n </div>\n <span>New Channel</span>\n </div>\n </li>\n </ul>\n <rtsee-search [search]=\"search\" ></rtsee-search>\n </div>\n\n <rtsee-manage-chat *ngIf=\"state.activePanel === MainMenuPanels.MANAGE_CHAT\"\n [messenger]=\"messenger\"\n [menuState]=\"state\"\n ></rtsee-manage-chat>\n <rtsee-contacts-multiselect [search]=\"search\"\n [menuState]=\"state\"\n *ngIf=\"state.activePanel === MainMenuPanels.CONTACTS_SELECT\"\n ></rtsee-contacts-multiselect>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeMessenger } from '@rtsee/messenger';\n\n@Component({\n selector: 'rtsee-messenger',\n templateUrl: './messenger.component.html',\n})\nexport class MessengerComponent {\n isHeaderExpanded: boolean;\n\n @Input() messenger!: RTSeeMessenger;\n constructor() {\n this.isHeaderExpanded = false;\n }\n\n onScroll() {\n this.messenger.loadChats();\n }\n\n onHeaderExpandToggled(value: boolean) {\n this.isHeaderExpanded = value;\n }\n}\n","<div class=\"rtsee-messenger\" [ngClass]=\"{\n 'rtsee-messenger-main-menu-opened': messenger.mainMenuOpened,\n 'rtsee-messenger-header-expanded': isHeaderExpanded\n}\">\n <div class=\"rtsee-messenger-header-container\">\n <rtsee-messenger-header [messenger]=\"messenger\" (expandToggled)=\"onHeaderExpandToggled($event)\"></rtsee-messenger-header>\n </div>\n <div class=\"rtsee-messenger-body-container\"\n infiniteScroll\n [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\"\n [scrollWindow]=\"false\"\n (scrolled)=\"onScroll()\"\n >\n <rtsee-chats-list *ngIf=\"!messenger.openedChat\" [chats]=\"messenger.chats\" [messenger]=\"messenger\"></rtsee-chats-list>\n <rtsee-chat *ngIf=\"messenger.openedChat\" [messenger]=\"messenger\" [chat]=\"messenger.openedChat\"></rtsee-chat>\n <rtsee-preloader [diameter]=\"50\" *ngIf=\"messenger.loadingChatsInProgress\" ></rtsee-preloader>\n </div>\n <div class=\"rtsee-messenger-main-menu-container\">\n <rtsee-main-menu\n *ngIf=\"messenger.mainMenuOpened\"\n [search]=\"messenger.search\"\n [messenger]=\"messenger\"></rtsee-main-menu>\n </div>\n <div class=\"rtsee-messenger-overlay\" (click)=\"messenger.openMainMenu(false)\"></div>\n</div>\n\n\n","import { Injectable } from '@angular/core';\nimport { IMessageWidget } from './message-widgets.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EventsWidgetsService {\n widgetsMap: IMessageWidget[] = [];\n\n getWidgetComponentByName(name: string) {\n /* eslint-disable */\n const mapping = this.widgetsMap.find((e) => e.name === name);\n if (!mapping) {\n return null;\n }\n return mapping.component;\n /* eslint-enable */\n }\n}\n","import {\n AfterViewInit,\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n Input,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { RTSeeDashboardEvent } from '@rtsee/events-manager';\nimport { WidgetDirective } from '../../../../directives/widget.directive';\nimport { EventsWidgetsService } from '../../../../services/events-widgets.service';\nimport { TimeFormatHelperService } from '../../../../services/time-format-helper.service';\n\n@Component({\n selector: 'rtsee-event-thumbnail',\n templateUrl: './event-thumbnail.component.html',\n})\nexport class EventThumbnailComponent implements OnInit, AfterViewInit {\n tooltip?: string;\n\n @Input() event!: RTSeeDashboardEvent;\n @ViewChild(WidgetDirective, { static: false }) widgetHost!: WidgetDirective;\n constructor(\n private widgetsService: EventsWidgetsService,\n private componentFactoryResolver: ComponentFactoryResolver,\n public timeFormatService: TimeFormatHelperService,\n ) {}\n\n ngOnInit(): void {\n if (this.event.data) {\n this.generateTooltip();\n }\n }\n\n generateTooltip() {\n /* eslint-disable */\n let tooltip = '';\n if (typeof this.event.data !== 'object') {\n return;\n }\n try {\n for (const key in this.event.data) {\n if (this.event.data.hasOwnProperty(key)) {\n if (tooltip) {\n tooltip += '&#013;';\n }\n tooltip += key + ' -> ' + this.event.data[key];\n }\n }\n this.tooltip = tooltip;\n } catch (e) {\n console.log('Failed to generate a tooltip');\n }\n /* eslint-enable */\n }\n\n ngAfterViewInit() {\n /* eslint-disable */\n if (this.event.widget) {\n const widget = this.widgetsService.getWidgetComponentByName(\n this.event.widget,\n );\n if (!widget) {\n return;\n }\n const viewContainerRef = this.widgetHost.viewContainerRef;\n viewContainerRef.clear();\n const componentToShow =\n this.componentFactoryResolver.resolveComponentFactory(widget);\n const componentRef: ComponentRef<typeof widget> =\n viewContainerRef.createComponent(componentToShow);\n componentRef.instance.event = this.event;\n componentRef.instance.event = this.event;\n componentRef.changeDetectorRef.detectChanges();\n }\n /* eslint-enable */\n }\n}\n","<div class=\"rtsee-events-dashboard-event-thumbnail\">\n <ng-template *ngIf=\"event.widget\" widgetHost></ng-template>\n <div *ngIf=\"!event.widget\" class=\"rtsee-events-dashboard-default-event-thumbnail\"\n [ngClass]=\"{'rtsee-events-dashboard-default-event-thumbnail-with-data': event.data}\"\n >\n <div class=\"rtsee-events-dashboard-default-event-thumbnail-name\">{{event.name}}</div>\n <div class=\"rtsee-events-dashboard-default-event-thumbnail-info\">\n <div *ngIf=\"event.data\" class=\"rtsee-events-dashboard-default-event-thumbnail-details\"\n [title]=\"tooltip\"\n >\n <span class=\"rtsee-events-dashboard-default-event-thumbnail-details-icon material-icons-outlined\"\n >info</span>\n </div>\n <div class=\"rtsee-events-dashboard-default-event-thumbnail-time\">\n <span>{{ timeFormatService.toAgo(event.createdAt) }}</span>\n </div>\n </div>\n\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeDashboardClientSession } from '@rtsee/events-manager';\nimport { TimeFormatHelperService } from '../../../../services/time-format-helper.service';\n\n@Component({\n selector: 'rtsee-rtsee-events-dashboard-session',\n templateUrl: './rtsee-events-dashboard-session.component.html',\n})\nexport class RtseeEventsDashboardSessionComponent {\n @Input() session!: RTSeeDashboardClientSession;\n constructor(public timeFormatService: TimeFormatHelperService) {}\n}\n","<div class=\"rtsee-events-dashboard-session\">\n <div class=\"rtsee-events-dashboard-session-header\" *ngIf=\"session.info\">\n <p class=\"rtsee-events-dashboard-session-client-info\">{{session.info.clientThumbnail}}</p>\n <p class=\"rtsee-events-dashboard-session-os-info\">{{session.info.osThumbnail}}</p>\n <div class=\"rtsee-events-dashboard-session-device-info\" [title]=\"session.info.deviceThumbnail\">\n <span *ngIf=\"session.info.deviceType === 'smartphone' && !session.info.botName\"\n class=\"material-icons-outlined rtsee-events-dashboard-session-device-info-icon\"\n >phone_iphone</span>\n <span class=\"material-icons-outlined rtsee-events-dashboard-session-device-info-icon\"\n *ngIf=\"session.info.deviceType === 'tablet' && !session.info.botName\"\n >tablet_mac</span>\n <span class=\"material-icons-outlined rtsee-events-dashboard-session-device-info-icon\"\n *ngIf=\"session.info.deviceType === 'desktop' && !session.info.botName\"\n >computer</span>\n <span class=\"material-icons-outlined rtsee-events-dashboard-session-device-info-icon\"\n *ngIf=\"session.info.botName\"\n >smart_toy</span>\n </div>\n </div>\n <ul *ngIf=\"session.events && session.events.length\"\n class=\"rtsee-events-dashboard-session-events-list\"\n >\n <li *ngFor=\"let event of session.events | slice:0:5;\" class=\"rtsee-events-dashboard-session-event\">\n <rtsee-event-thumbnail [event]=\"event\"></rtsee-event-thumbnail>\n </li>\n </ul>\n <div class=\"rtsee-events-dashboard-session-footer\">\n <button *ngIf=\"session.events.length > 5\">{{session.events.length - 5}} more</button>\n </div>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport {\n RTSeeDashboardClient,\n RTSeeEventsDashboard,\n} from '@rtsee/events-manager';\nimport { TimeFormatHelperService } from '../../../../services/time-format-helper.service';\nimport { DefaultImagesService } from '../../../../services/default-images.service';\n\n@Component({\n selector: 'ngx-rtsee-events-dashboard-client-thumbnail',\n templateUrl: './rtsee-events-dashboard-client-thumbnail.component.html',\n})\nexport class RtseeEventsDashboardClientThumbnailComponent implements OnInit {\n @Input() dashboard!: RTSeeEventsDashboard;\n @Input() client!: RTSeeDashboardClient;\n\n constructor(\n public timeFormatService: TimeFormatHelperService,\n public defaultImagesService: DefaultImagesService,\n ) {}\n\n ngOnInit(): void {\n console.log('client id', this.client.id);\n }\n\n openChat() {\n this.dashboard.openChat(this.client);\n }\n}\n","<div class=\"rtsee-dashboard-client-thumbnail\">\n <div class=\"rtsee-dashboard-client-header\">\n <div class=\"rtsee-dashboard-client-header-photo\">\n <div class=\"rtsee-dashboard-client-header-image\"\n [style.background-image]=\"'url(' + client.imageUrl || defaultImagesService.PROFILE + ')'\"\n ></div>\n <div class=\"rtsee-dashboard-client-live-indicator\" *ngIf=\"client.isConnected\"></div>\n </div>\n <p class=\"rtsee-dashboard-client-name\">\n <span class=\"rtsee-dashboard-client-name-text\">{{ client.name || client.id }}</span>\n <button (click)=\"openChat()\" class=\"rtsee-dashboard-client-engage\">\n <span class=\"rtsee-dashboard-client-engage-icon material-icons-outlined\">chat_bubble</span>\n </button>\n </p>\n </div>\n <div class=\"rtsee-dashboard-sessions\">\n <div *ngFor=\"let session of client.sessions\"\n class=\"rtsee-dashboard-sessions-container\">\n <rtsee-rtsee-events-dashboard-session [session]=\"session\"></rtsee-rtsee-events-dashboard-session>\n </div>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeEventsDashboard } from '@rtsee/events-manager';\n\n@Component({\n selector: 'ngx-rtsee-events-dashboard',\n templateUrl: './rtsee-events-dashboard.component.html',\n})\nexport class RtseeEventsDashboardComponent {\n @Input() eventsDashboard!: RTSeeEventsDashboard;\n}\n","<div class=\"rtsee-events-dashboard\">\n <div class=\"rtsee-events-dashboard-client-thumbnails\">\n <div class=\"rtsee-events-dashboard-client-thumbnail-wrapper\"\n *ngFor=\"let client of eventsDashboard.clients\">\n <ngx-rtsee-events-dashboard-client-thumbnail\n [client]=\"client\"\n [dashboard]=\"eventsDashboard\"\n ></ngx-rtsee-events-dashboard-client-thumbnail>\n </div>\n </div>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngx-rtsee-peers-list',\n templateUrl: './rtsee-peers-list.component.html',\n styleUrls: ['./rtsee-peers-list.component.scss'],\n})\nexport class RtseePeersListComponent {}\n","<p>rtsee-peers-list works!</p>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngx-rtsee-events-dashboard-client',\n templateUrl: './rtsee-events-dashboard-client.component.html',\n})\nexport class RtseeEventsDashboardClientComponent {}\n","<p>rtsee-events-dashboard-client works!</p>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'rtsee-rtsee-container',\n templateUrl: './rtsee-container.component.html',\n})\nexport class RtseeContainerComponent {}\n","<p>rtsee-container works!</p>\n","import { NgModule } from '@angular/core';\nimport { RTSeeComponent } from './components/rtsee/rtsee.component';\nimport { RTSeeControlsComponent } from './components/rtsee/rtsee-controls/rtsee-controls.component';\nimport { CommonModule } from '@angular/common';\nimport { RtseePeerComponent } from './components/rtsee-peer/rtsee-peer.component';\nimport { RtseeSoundbarComponent } from './components/rtsee-soundbar/rtsee-soundbar.component';\nimport { RtseePeersListComponent } from './components/rtsee-peers-list/rtsee-peers-list.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { RtseeSettingsComponent } from './components/rtsee-settings/rtsee-settings.component';\nimport { MatSelectModule } from '@angular/material/select';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MessengerComponent } from './components/rtsee-messenger/messenger/messenger.component';\nimport { ChatComponent } from './components/rtsee-messenger/chat/chat.component';\nimport { MessageComponent } from './components/rtsee-messenger/message/message.component';\nimport { ChatsListComponent } from './components/rtsee-messenger/chats-list/chats-list.component';\nimport { MessagesListComponent } from './components/rtsee-messenger/messages-list/messages-list.component';\nimport { ChatThumbnailComponent } from './components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component';\nimport { ChatInputComponent } from './components/rtsee-messenger/chat-input/chat-input.component';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MessengerHeaderComponent } from './components/rtsee-messenger/messenger-header/messenger-header.component';\nimport { RtseeEventsDashboardComponent } from './components/rtsee-events-dashboard/rtsee-events-dashboard.component';\nimport { RtseeEventsDashboardClientComponent } from './components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component';\nimport { RtseeEventsDashboardClientThumbnailComponent } from './components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component';\nimport { WidgetDirective } from './directives/widget.directive';\nimport { CallWidgetComponent } from './components/rtsee-messenger/message-widgets/call-widget/call-widget.component';\nimport { AutosizeModule } from 'ngx-autosize';\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\nimport { MainMenuComponent } from './components/rtsee-messenger/main-menu/main-menu.component';\nimport { MessageTimeAndStatusComponent } from './components/rtsee-messenger/message/components/message-time-and-status/message-time-and-status.component';\nimport { PreloaderComponent } from './common/components/preloader/preloader.component';\nimport { SearchComponent } from './components/rtsee-messenger/main-menu/components/search/search.component';\nimport { ManageChatComponent } from './components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component';\nimport { ContactsMultiselectComponent } from './components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component';\nimport { ShaveDirective } from './directives/shave.directive';\nimport { ProfileComponent } from './components/rtsee-messenger/profile/profile.component';\nimport { EventThumbnailComponent } from './components/rtsee-events-dashboard/components/event-thumbnail/event-thumbnail.component';\nimport { RtseeEventsDashboardSessionComponent } from './components/rtsee-events-dashboard/components/rtsee-events-dashboard-session/rtsee-events-dashboard-session.component';\nimport { RtseeContainerComponent } from './components/rtsee-container/rtsee-container.component';\n\n@NgModule({\n declarations: [\n RTSeeComponent,\n RTSeeControlsComponent,\n RtseePeerComponent,\n RtseeSoundbarComponent,\n RtseePeersListComponent,\n RtseeSettingsComponent,\n MessengerComponent,\n ChatComponent,\n MessageComponent,\n ChatsListComponent,\n MessagesListComponent,\n ChatThumbnailComponent,\n ChatInputComponent,\n MessengerHeaderComponent,\n RtseeEventsDashboardComponent,\n RtseeEventsDashboardClientComponent,\n RtseeEventsDashboardClientThumbnailComponent,\n WidgetDirective,\n CallWidgetComponent,\n MainMenuComponent,\n MessageTimeAndStatusComponent,\n PreloaderComponent,\n SearchComponent,\n ManageChatComponent,\n ContactsMultiselectComponent,\n ShaveDirective,\n ProfileComponent,\n EventThumbnailComponent,\n RtseeEventsDashboardSessionComponent,\n RtseeContainerComponent,\n ],\n imports: [\n CommonModule,\n MatIconModule,\n MatButtonModule,\n MatSelectModule,\n BrowserAnimationsModule,\n MatFormFieldModule,\n ReactiveFormsModule,\n AutosizeModule,\n InfiniteScrollModule,\n ],\n exports: [RTSeeComponent, MessengerComponent, RtseeEventsDashboardComponent],\n})\nexport class RTSeeModule {}\n","/*\n * Public API Surface of ngx\n */\n\nexport * from './lib/ngx.service';\nexport * from './lib/components/rtsee/rtsee-controls/rtsee-controls.component';\nexport * from './lib/components/rtsee/rtsee.component';\nexport * from './lib/components/rtsee-messenger/messenger/messenger.component';\nexport * from './lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component';\nexport * from './lib/ngx.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.RtseeSoundbarComponent","i2","i4.RTSeeControlsComponent","i5.RtseePeerComponent","i6.RtseeSettingsComponent","i1.TimeFormatHelperService","i3.PreloaderComponent","i1.MessageWidgetsService","i2.TimeFormatHelperService","i3","i4.WidgetDirective","i5.MessageTimeAndStatusComponent","i4.MessageComponent","i1","i1.MessagesListComponent","i2.ChatInputComponent","i3.MessageTimeAndStatusComponent","i4.ShaveDirective","i2.ChatThumbnailComponent","i1.DefaultImagesService","i3.ProfileComponent","i1.SearchComponent","i2.SearchComponent","i3.ManageChatComponent","i4.ContactsMultiselectComponent","i3.ChatComponent","i4.ChatsListComponent","i5.MessengerHeaderComponent","i6.MainMenuComponent","i7.PreloaderComponent","i1.EventsWidgetsService","i3.EventThumbnailComponent","i2.DefaultImagesService","i4.RtseeEventsDashboardSessionComponent","i2.RtseeEventsDashboardClientThumbnailComponent"],"mappings":"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"}
1
+ {"version":3,"file":"rtsee-ngx.mjs","sources":["../../../projects/ngx/src/lib/ngx.service.ts","../../../projects/ngx/src/lib/components/rtsee/rtsee-controls/rtsee-controls.component.ts","../../../projects/ngx/src/lib/components/rtsee/rtsee-controls/rtsee-controls.component.html","../../../projects/ngx/src/lib/components/rtsee-soundbar/rtsee-soundbar.component.ts","../../../projects/ngx/src/lib/components/rtsee-soundbar/rtsee-soundbar.component.html","../../../projects/ngx/src/lib/components/rtsee-peer/rtsee-peer.component.ts","../../../projects/ngx/src/lib/components/rtsee-peer/rtsee-peer.component.html","../../../projects/ngx/src/lib/components/rtsee-settings/rtsee-settings.component.ts","../../../projects/ngx/src/lib/components/rtsee-settings/rtsee-settings.component.html","../../../projects/ngx/src/lib/components/rtsee/rtsee.component.ts","../../../projects/ngx/src/lib/components/rtsee/rtsee.component.html","../../../projects/ngx/src/lib/services/time-format-helper.service.ts","../../../projects/ngx/src/lib/directives/widget.directive.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/message-widgets/call-widget/call-widget.component.html","../../../projects/ngx/src/lib/services/message-widgets.service.ts","../../../projects/ngx/src/lib/common/components/preloader/preloader.component.ts","../../../projects/ngx/src/lib/common/components/preloader/preloader.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/message/components/message-time-and-status/message-time-and-status.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/message/components/message-time-and-status/message-time-and-status.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/message/message.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/message/message.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/messages-list/messages-list.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/messages-list/messages-list.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/chat-input/chat-input.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/chat-input/chat-input.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/chat/chat.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/chat/chat.component.html","../../../projects/ngx/src/lib/directives/shave.directive.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/chats-list/chats-list.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/chats-list/chats-list.component.html","../../../projects/ngx/src/lib/services/default-images.service.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/profile/profile.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/profile/profile.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/messenger-header/messenger-header.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/messenger-header/messenger-header.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/models/MainMenuState.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/search/search.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/search/search.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/main-menu/main-menu.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/main-menu/main-menu.component.html","../../../projects/ngx/src/lib/components/rtsee-messenger/messenger/messenger.component.ts","../../../projects/ngx/src/lib/components/rtsee-messenger/messenger/messenger.component.html","../../../projects/ngx/src/lib/services/events-widgets.service.ts","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/components/event-thumbnail/event-thumbnail.component.ts","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/components/event-thumbnail/event-thumbnail.component.html","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-session/rtsee-events-dashboard-session.component.ts","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-session/rtsee-events-dashboard-session.component.html","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.ts","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component.html","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.ts","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component.html","../../../projects/ngx/src/lib/components/rtsee-peers-list/rtsee-peers-list.component.ts","../../../projects/ngx/src/lib/components/rtsee-peers-list/rtsee-peers-list.component.html","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component.ts","../../../projects/ngx/src/lib/components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component.html","../../../projects/ngx/src/lib/components/rtsee-container/rtsee-container.component.ts","../../../projects/ngx/src/lib/components/rtsee-container/rtsee-container.component.html","../../../projects/ngx/src/lib/ngx.module.ts","../../../projects/ngx/src/public-api.ts","../../../projects/ngx/src/rtsee-ngx.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NgxService {\n lol: string;\n constructor() {\n this.lol = 'lol';\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { RTSeeConference } from '@rtsee/conference';\n\n@Component({\n selector: 'ngx-rtsee-controls',\n templateUrl: './rtsee-controls.component.html',\n styleUrls: ['./rtsee-controls.component.scss'],\n})\nexport class RTSeeControlsComponent {\n @Input() rtsee!: RTSeeConference;\n @Input() fullScreenMode?: boolean;\n\n onPresentClicked() {\n return this.rtsee.isPresenter\n ? this.rtsee.stopScreenShare()\n : this.rtsee.startScreenShare();\n }\n}\n","<div class=\"rtsee-controls\" [ngClass]=\"{'rtsee-full-screen-controls' : fullScreenMode }\">\n <div class=\"rtsee-bottom-panel\">\n <div class=\"mic rtsee-buttons-container\">\n <button mat-icon-button matSuffix\n class=\"rtsee-ripple-button\"\n *ngIf=\"rtsee.microphone\"\n type=\"button\"\n (click)=\"this.rtsee.disableMicrophone()\"\n >\n <span class=\"material-icons-outlined\">mic_none</span>\n </button>\n <button mat-icon-button matSuffix\n class=\"rtsee-ripple-button\"\n *ngIf=\"!rtsee.microphone\"\n type=\"button\" (click)=\"this.rtsee.enableMicrophone()\"\n >\n <span class=\"material-icons-outlined\">mic_off</span>\n </button>\n </div>\n\n <div class=\"video-camera rtsee-buttons-container\">\n <button mat-icon-button matSuffix\n class=\"rtsee-ripple-button\"\n *ngIf=\"rtsee.camera\"\n type=\"button\"\n (click)=\"rtsee.disableCamera()\"\n >\n <span class=\"material-icons-outlined\">videocam</span>\n </button>\n <button mat-icon-button matSuffix\n class=\"rtsee-ripple-button\"\n *ngIf=\"!rtsee.camera\"\n type=\"button\"\n (click)=\"rtsee.enableCamera()\"\n >\n <span class=\"material-icons-outlined\">videocam_off</span>\n </button>\n </div>\n <div class=\"present rtsee-buttons-container\" [ngClass]=\"{'rtsee-present-button-container': rtsee.isPresenter}\">\n <button mat-icon-button matSuffix\n class=\"rtsee-ripple-button\"\n type=\"button\"\n (click)=\"onPresentClicked()\"\n >\n <span class=\"material-icons-outlined\">present_to_all</span>\n </button>\n </div>\n <div class=\"call-end rtsee-buttons-container\">\n <button mat-icon-button matSuffix\n class=\"rtsee-ripple-button\"\n type=\"button\"\n (click)=\"rtsee.end()\"\n >\n <span class=\"material-icons-outlined\">call_end</span>\n </button>\n </div>\n </div>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { RTSeePeerConnection } from '@rtsee/conference';\nimport { interval } from 'rxjs';\n\n@Component({\n selector: 'ngx-rtsee-soundbar',\n templateUrl: './rtsee-soundbar.component.html',\n styleUrls: ['./rtsee-soundbar.component.scss'],\n})\nexport class RtseeSoundbarComponent implements OnInit {\n intervalLength: number;\n noiceLevel: number;\n scaleOneLevel: number;\n scaleTwoLevel: number;\n scaleThreeLevel: number;\n\n @Input() peer!: RTSeePeerConnection;\n constructor() {\n this.intervalLength = 1000;\n this.noiceLevel = 0;\n this.scaleOneLevel = 0;\n this.scaleTwoLevel = 0;\n this.scaleThreeLevel = 0;\n }\n\n ngOnInit(): void {\n this.startSoundMeterListening();\n }\n\n startSoundMeterListening() {\n const step = interval(1000 / 10);\n step.subscribe(() => {\n if (!this.peer.soundMeter || !this.peer.soundMeter.level) {\n this.noiceLevel = 0;\n } else {\n this.noiceLevel = this.peer.soundMeter?.level * 100 || 0;\n }\n\n this.setSoundMeterHeights();\n });\n }\n\n setSoundMeterHeights() {\n const ZERO_LEVEL = 25;\n const SCALE_STEP = 25;\n const SCALE_ONE_TOP = ZERO_LEVEL + SCALE_STEP;\n const SCALE_TWO_TOP = SCALE_ONE_TOP + SCALE_STEP;\n\n if (!this.peer || !this.peer.soundMeter || this.noiceLevel < ZERO_LEVEL) {\n this.scaleOneLevel = 0;\n this.scaleTwoLevel = 0;\n this.scaleThreeLevel = 0;\n }\n\n const scaleOneValue = ((this.noiceLevel - ZERO_LEVEL) / SCALE_STEP) * 100;\n const scaleTwoValue =\n ((this.noiceLevel - SCALE_ONE_TOP) / SCALE_STEP) * 100;\n const scaleThreeValue =\n ((this.noiceLevel - SCALE_TWO_TOP) / SCALE_STEP) * 100;\n\n this.scaleOneLevel = scaleOneValue > 0 ? scaleOneValue : 0;\n this.scaleTwoLevel = scaleTwoValue > 0 ? scaleTwoValue : 0;\n this.scaleThreeLevel = scaleThreeValue > 0 ? scaleTwoValue : 0;\n }\n}\n","<div class=\"rtsee-soundbar\">\n <div class=\"rtsee-soundbar-scale\">\n <div class=\"rtsee-soundbar-scale-item\">\n <div class=\"rtsee-soundbar-scale-item-level rtsee-soundbar-scale-item-level-one\"\n [style.height.%]=\"scaleOneLevel\"\n ></div>\n </div>\n <div class=\"rtsee-soundbar-scale-item\">\n <div class=\"rtsee-soundbar-scale-item-level rtsee-soundbar-scale-item-level-two\"\n [style.height.%]=\"scaleTwoLevel\"\n ></div>\n </div>\n <div class=\"rtsee-soundbar-scale-item\">\n <div class=\"rtsee-soundbar-scale-item-level rtsee-soundbar-scale-item-level-three\"\n [style.height.%]=\"scaleThreeLevel\"\n ></div>\n </div>\n </div>\n</div>\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n ViewChild,\n} from '@angular/core';\nimport { RTSeePeerConnection } from '@rtsee/conference';\n\n@Component({\n selector: 'ngx-rtsee-peer',\n templateUrl: './rtsee-peer.component.html',\n styleUrls: ['./rtsee-peer.component.scss'],\n})\nexport class RtseePeerComponent implements AfterViewInit {\n intervalLength: number;\n noiceLevel: number;\n\n @ViewChild('audioOutput') audioOutput?: ElementRef;\n @ViewChild('videoOutput') videoOutput?: ElementRef;\n @Input() peer!: RTSeePeerConnection;\n\n constructor() {\n this.intervalLength = 1000;\n this.noiceLevel = 0;\n }\n\n ngAfterViewInit(): void {\n if (!this.audioOutput) {\n return;\n }\n this.peer.setAudioOutputElement(\n this.audioOutput.nativeElement as HTMLAudioElement,\n );\n }\n}\n","<div class=\"rtsee-peer\" [ngClass]=\"{\n'rtsee-peer-video-disabled': !peer.remoteVideoStream || !peer.camera\n}\">\n <div class=\"rtsee-peer-content\">\n <div class=\"rtsee-peer-photo\" *ngIf=\"!peer.camera\">\n <div class=\"rtsee-peer-photo-wrapper\">\n <div *ngIf=\"peer.imageUrl\"\n [style.background-image]=\"'url(' + peer.imageUrl + ')'\"\n class=\"rtsee-peer-photo-image\"\n ></div>\n <img *ngIf=\"!peer.imageUrl\" [src]=\"\" alt=\"peer_photo\" class=\"rtsee-peer-photo-image\">\n </div>\n <div class=\"rtsee-peer-info\">\n <p class=\"rtsee-peer-name\" *ngIf=\"peer.name\">{{peer.name}}</p>\n </div>\n </div>\n <video #videoOutput\n class=\"rtsee-peer-video\"\n [autoplay]=\"true\"\n [srcObject]=\"peer.remoteVideoStream\"\n playsinline=\"true\"\n >\n </video>\n <div class=\"rtsee-peer-soundbar\">\n <ngx-rtsee-soundbar [peer]=\"peer\"></ngx-rtsee-soundbar>\n </div>\n </div>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { RTSeeConference } from '@rtsee/conference';\n\n@Component({\n selector: 'ngx-rtsee-settings',\n templateUrl: './rtsee-settings.component.html',\n styleUrls: ['./rtsee-settings.component.scss'],\n})\nexport class RtseeSettingsComponent implements OnInit {\n availableAudioInputDevices: MediaDeviceInfo[];\n availableVideoInputDevices: MediaDeviceInfo[];\n availableAudioOutputDevices: MediaDeviceInfo[];\n\n @Input() rtSee!: RTSeeConference;\n @Input() fullScreenMode!: boolean;\n constructor() {\n this.availableAudioInputDevices = [];\n this.availableVideoInputDevices = [];\n this.availableAudioOutputDevices = [];\n }\n\n ngOnInit(): void {\n this.refreshSelectOptions();\n }\n\n refreshSelectOptions() {\n void this.rtSee.refreshMediaDevicesList();\n }\n\n setAudioInput(deviceId: string) {\n this.rtSee.setAudioInputDevice(deviceId);\n console.log(deviceId);\n }\n\n setAudioOutput(deviceId: string) {\n this.rtSee.setAudioOutputDevice(deviceId);\n }\n\n setVideoInput(deviceId: string) {\n this.rtSee.setVideoInputDevice(deviceId);\n }\n}\n","<div class=\"rtsee-settings\" [ngClass]=\"{'rtsee-full-screen-settings' : fullScreenMode}\">\n <div class=\"rtsee-devices\">\n <div class=\"rtsee-device-select-wrapper\">\n <label class=\"rtsee-select-label\" for=\"audio-input\">Audio Input:</label>\n <select class=\"rtsee-select\" id=\"audio-input\" (click)=\"refreshSelectOptions()\">\n <option *ngFor=\"let device of rtSee.audioInputDevices\" [value]=\"device.deviceId\" (click)=\"setAudioInput(device.deviceId)\">\n {{device.label}}\n </option>\n </select>\n </div>\n <div class=\"rtsee-device-select-wrapper\">\n <label class=\"rtsee-select-label\" for=\"audio-output\">Audio Output:</label>\n <select class=\"rtsee-select\" id=\"audio-output\" (click)=\"refreshSelectOptions()\">\n <option *ngFor=\"let device of rtSee.audioOutputDevices\" [value]=\"device.deviceId\" (click)=\"setAudioOutput(device.deviceId)\">\n {{device.label}}\n </option>\n </select>\n </div>\n <div class=\"rtsee-device-select-wrapper\">\n <label class=\"rtsee-select-label\" for=\"video-input\">Video Input:</label>\n <select class=\"rtsee-select\" id=\"video-input\" (click)=\"refreshSelectOptions()\">\n <option *ngFor=\"let device of rtSee.videoInputDevices\" [value]=\"device.deviceId\" (click)=\"setVideoInput(device.deviceId)\">\n {{device.label}}\n </option>\n </select>\n </div>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeConference } from '@rtsee/conference';\n\n@Component({\n selector: 'ngx-rtsee',\n templateUrl: './rtsee.component.html',\n styleUrls: ['./rtsee.component.scss'],\n})\nexport class RTSeeComponent {\n settingsViewEnabled: boolean;\n fullScreenModeEnabled: boolean;\n\n @Input() rtSee!: RTSeeConference;\n constructor() {\n this.settingsViewEnabled = false;\n this.fullScreenModeEnabled = false;\n }\n\n toggleSettings() {\n this.settingsViewEnabled = !this.settingsViewEnabled;\n }\n\n toggleFullScreenMode() {\n this.fullScreenModeEnabled = !this.fullScreenModeEnabled;\n }\n}\n","<div class=\"rtsee-shell\" [ngClass]=\"{\n'rtsee-shell-expanded': rtSee.uiControls.isExpanded || fullScreenModeEnabled,\n'rtsee-shell-no-companions': !rtSee.rtcPeerConnections.connections?.length\n}\">\n <div class=\"rtsee-local-peer\" *ngIf=\"rtSee.localStream && rtSee.camera\">\n <video class=\"rtsee-local-video\"\n [autoplay]=\"true\"\n [muted]=\"true\"\n [srcObject]=\"rtSee.localStream\"\n playsinline=\"true\"\n ></video>\n </div>\n <div class=\"rtsee-window-controls\">\n <button mat-icon-button matSuffix\n type=\"button\"\n (click)=\"this.toggleSettings()\"\n class=\"rtsee-window-controls-button rtsee-ripple-button\"\n >\n <span class=\"material-icons-outlined\">settings</span>\n </button>\n <button mat-icon-button matSuffix\n type=\"button\"\n (click)=\"this.toggleFullScreenMode()\"\n class=\"rtsee-window-controls-button rtsee-ripple-button\"\n >\n <span class=\"material-icons-outlined\">open_in_full</span>\n </button>\n </div>\n <div class=\"rtsee-settings-container\" *ngIf=\"settingsViewEnabled\">\n <button mat-icon-button matSuffix\n type=\"button\"\n (click)=\"this.toggleSettings()\"\n class=\"rtsee-close-settings-button\"\n >\n <span class=\"material-icons-outlined\">close</span>\n </button>\n <ngx-rtsee-settings [rtSee]=\"rtSee\" [fullScreenMode]=\"fullScreenModeEnabled\"></ngx-rtsee-settings>\n </div>\n <div class=\"rtsee-screen-share\" *ngIf=\"rtSee.screenSharePeer\" >\n <video [autoplay]=\"true\"\n [muted]=\"true\"\n [srcObject]=\"rtSee.screenSharePeer.remoteVideoStream\"\n playsinline=\"true\"\n class=\"rtsee-screen-share-video\"\n ></video>\n </div>\n <div class=\"rtsee-peers\" [ngClass]=\"{\n 'rtsee-peers-alone': !rtSee.rtcPeerConnections.connections?.length,\n 'rtsee-peers-one': rtSee.rtcPeerConnections.connections?.length === 1,\n 'rtsee-peers-three-grid': rtSee.rtcPeerConnections.connections?.length\n && rtSee.rtcPeerConnections.connections.length > 1\n && rtSee.rtcPeerConnections.connections.length < 4,\n 'rtsee-peers-six-grid': rtSee.rtcPeerConnections.connections?.length\n && rtSee.rtcPeerConnections.connections.length > 3\n && rtSee.rtcPeerConnections.connections.length < 7,\n 'rtsee-peers-nine-grid': rtSee.rtcPeerConnections.connections?.length\n && rtSee.rtcPeerConnections.connections.length >= 7\n }\">\n <div class=\"rtsee-peer-wrapper\"\n *ngFor=\"let peer of rtSee.rtcPeerConnections.connections\"\n >\n <ngx-rtsee-peer [peer]=\"peer\"></ngx-rtsee-peer>\n </div>\n </div>\n <div class=\"rtsee-peers-list\"></div>\n <div class=\"rtsee-controls-wrapper\">\n <ngx-rtsee-controls [rtsee]=\"rtSee\" [fullScreenMode]=\"fullScreenModeEnabled\"></ngx-rtsee-controls>\n </div>\n</div>\n\n","import { Injectable } from '@angular/core';\n\nimport dayjs from 'dayjs';\nimport relativeTime from 'dayjs/plugin/relativeTime';\ndayjs.extend(relativeTime);\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TimeFormatHelperService {\n toAgo(time: Date): string {\n /* eslint-disable */\n return dayjs(time).fromNow() as string;\n /* eslint-enable */\n }\n toDayOfWeek(time: Date): string {\n /* eslint-disable */\n return dayjs(time).format('ddd');\n /* eslint-enable */\n }\n toTime(time: Date): string {\n /* eslint-disable */\n return dayjs(time).format('HH:mm') as string;\n /* eslint-enable */\n }\n toDate(time: Date): string {\n /* eslint-disable */\n return dayjs(time).format('D MMMM') as string;\n /* eslint-enable */\n }\n toDateNumeral(time: Date): string {\n /* eslint-disable */\n return dayjs(time).format('DD.MM');\n /* eslint-enable */\n }\n\n toDateNumeralWithYear(time: Date): string {\n /* eslint-disable */\n return dayjs(time).format('DD.MM.YY');\n /* eslint-enable */\n }\n\n toDateWithYear(time: Date): string {\n /* eslint-disable */\n return dayjs(time).format('MMMM D, YYYY ') as string;\n /* eslint-enable */\n }\n\n formatDate(time: Date) {\n const today = new Date();\n const dayMs = 1000 * 60 * 60 * 24;\n const twoDays = dayMs * 2;\n\n if (!time) {\n return '';\n }\n\n if (\n today.getTime() - time.getTime() < dayMs &&\n today.getDay() === time.getDay()\n ) {\n return 'Today';\n }\n\n if (\n today.getTime() - time.getTime() < twoDays &&\n today.getTime() - time.getTime() > dayMs &&\n today.getDay() !== time.getDay()\n ) {\n return 'Yesterday';\n }\n\n if (today.getFullYear() === time.getFullYear()) {\n return this.toDate(time);\n }\n\n return this.toDateWithYear(time);\n }\n\n formatTimeOrDate(time: Date) {\n if (!time) {\n return '';\n }\n\n const today = new Date();\n const dayMs = 1000 * 60 * 60 * 24;\n\n if (\n today.getTime() - time.getTime() < dayMs &&\n today.getDay() === time.getDay()\n ) {\n return this.toTime(time);\n }\n\n if (\n today.getTime() - time.getTime() > dayMs &&\n today.getTime() - time.getTime() < dayMs * 7\n ) {\n return this.toDayOfWeek(time);\n }\n\n if (\n today.getTime() - time.getTime() > dayMs * 7 &&\n today.getFullYear() === time.getFullYear()\n ) {\n return this.toDateNumeral(time);\n }\n\n return this.toDateNumeralWithYear(time);\n }\n}\n","import { Directive, ViewContainerRef } from '@angular/core';\n\n@Directive({\n selector: '[widgetHost]',\n})\nexport class WidgetDirective {\n constructor(public viewContainerRef: ViewContainerRef) {}\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { RTSeeMessage, RTSeeMessenger } from '@rtsee/messenger';\nimport { IRTSeeCall } from '@rtsee/core';\n\n@Component({\n selector: 'ngx-call-widget',\n templateUrl: './call-widget.component.html',\n styleUrls: ['./call-widget.component.css'],\n})\nexport class CallWidgetComponent implements OnInit {\n @Input() message!: RTSeeMessage<IRTSeeCall>;\n @Input() messenger!: RTSeeMessenger;\n callerName?: string;\n\n ngOnInit(): void {\n if (this.messenger.clientId === this.message.data?.callerId) {\n this.callerName = 'You';\n } else {\n this.callerName = this.message.data?.caller?.name;\n }\n }\n\n joinCall() {\n if (!this.messenger || !this.message.data?.roomId) {\n console.log('No Room Id specified or no messenger!');\n return;\n }\n void this.messenger.joinCall(this.message.data.roomId);\n }\n}\n","<div class=\"rtsee-call-widget\">\n <p *ngIf=\"callerName\"> {{ callerName }} has started a call</p>\n <p *ngIf=\"callerName === 'You'\"> You have started a call</p>\n <p *ngIf=\"!callerName\"> The call has started</p>\n <button (click)=\"joinCall()\">Join Call</button>\n</div>\n","import { Injectable } from '@angular/core';\nimport { CallWidgetComponent } from '../components/rtsee-messenger/message-widgets/call-widget/call-widget.component';\n\nexport interface IMessageWidget {\n name: string;\n component: any;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MessageWidgetsService {\n widgetsMap: IMessageWidget[] = [\n { name: 'rtsee-call', component: CallWidgetComponent },\n ];\n\n getWidgetComponentByName(name: string) {\n /* eslint-disable */\n const mapping = this.widgetsMap.find((e) => e.name === name);\n if (!mapping) {\n return null;\n }\n return mapping.component;\n /* eslint-enable */\n }\n}\n","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'rtsee-preloader',\n templateUrl: './preloader.component.html',\n})\nexport class PreloaderComponent implements OnInit {\n viewBox = '0 0 100 100';\n d = 'M 50 96 a 46 46 0 0 1 0 -92 46 46 0 0 1 0 92';\n\n @ViewChild('canvas') canvas?: ElementRef<SVGElement>;\n @Input() diameter?: number;\n @Input() color?: string = '#000000';\n constructor() {\n if (this.diameter) {\n this.viewBox = `0 0 ${this.diameter} ${this.diameter}`;\n this.d = `M ${this.diameter / 2} ${this.diameter * 0.96} a ${\n this.diameter * 0.46\n } ${this.diameter * 0.46} 0 0 1 0 -${this.diameter * 0.92} ${\n this.diameter * 0.46\n } ${this.diameter * 0.46} 0 0 1 0 ${this.diameter * 0.92}`;\n }\n }\n\n ngOnInit(): void {\n //viewBox=\"0 0 100 100\"\n //d=\"M 50 96 a 46 46 0 0 1 0 -92 46 46 0 0 1 0 92\"\n }\n}\n","<div class=\"rtsee-preloader\">\n <svg [style.max-width.px]=\"diameter\" #canvas [attr.viewBox]=\"viewBox\">\n <path [attr.d]=\"d\" [attr.stroke]=\"color\"/>\n </svg>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeMessage } from '@rtsee/messenger';\nimport { IMessageThumbnail } from '@rtsee/common';\nimport { TimeFormatHelperService } from '../../../../../services/time-format-helper.service';\n\n@Component({\n selector: 'rtsee-message-time-and-status',\n templateUrl: './message-time-and-status.component.html',\n})\nexport class MessageTimeAndStatusComponent {\n @Input() message!: RTSeeMessage | IMessageThumbnail;\n @Input() hideStatus?: boolean;\n constructor(public timeFormatService: TimeFormatHelperService) {}\n}\n","<div class=\"rtsee-messenger-message-time-and-status\">\n <span class=\"rtsee-messenger-message-status\" *ngIf=\"!hideStatus\">\n <span *ngIf=\"message.status === 'pending'\"><rtsee-preloader [diameter]=\"5\"></rtsee-preloader></span>\n <span *ngIf=\"message.status === 'sent'\" class=\"material-icons-outlined rtsee-message-sent-status\">check</span>\n <span *ngIf=\"message.status === 'delivered'\" class=\"material-icons-outlined rtsee-message-delivered-status\">check</span>\n <span *ngIf=\"message.status === 'seen'\" class=\"material-icons-outlined rtsee-message-seen-status\">done_all</span>\n </span>\n <span class=\"rtsee-messenger-message-time\">{{timeFormatService.formatTimeOrDate(message.createdAt)}}</span>\n</div>\n","import {\n AfterViewInit,\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {\n RTSeeChat,\n RTSeeChatMember,\n RTSeeMessage,\n RTSeeMessenger,\n} from '@rtsee/messenger';\nimport { MessageWidgetsService } from '../../../services/message-widgets.service';\nimport { WidgetDirective } from '../../../directives/widget.directive';\nimport { TimeFormatHelperService } from '../../../services/time-format-helper.service';\n\n@Component({\n selector: 'rtsee-message',\n templateUrl: './message.component.html',\n})\nexport class MessageComponent implements AfterViewInit {\n @Input() chat!: RTSeeChat;\n @Input() message!: RTSeeMessage;\n @Input() member!: RTSeeChatMember<any>;\n @Input() messenger!: RTSeeMessenger;\n @ViewChild(WidgetDirective, { static: false }) widgetHost!: WidgetDirective;\n constructor(\n private widgetsService: MessageWidgetsService,\n private componentFactoryResolver: ComponentFactoryResolver,\n public timeFormatService: TimeFormatHelperService,\n ) {}\n\n ngAfterViewInit() {\n /* eslint-disable */\n if (this.message.widget) {\n const widget = this.widgetsService.getWidgetComponentByName(\n this.message.widget,\n );\n if (!widget) {\n return;\n }\n const viewContainerRef = this.widgetHost.viewContainerRef;\n viewContainerRef.clear();\n const componentToShow =\n this.componentFactoryResolver.resolveComponentFactory(widget);\n const componentRef: ComponentRef<typeof widget> =\n viewContainerRef.createComponent(componentToShow);\n componentRef.instance.message = this.message;\n componentRef.instance.messenger = this.messenger;\n componentRef.changeDetectorRef.detectChanges();\n }\n /* eslint-enable */\n }\n}\n","<div class=\"rtsee-messenger-message-container\" #rtsMessageContainer\n [ngClass]=\"{'rtsee-message-from-me': message.from.id === messenger.clientId}\"\n>\n <div class=\"rtsee-messenger-message\">\n <ng-template *ngIf=\"message.widget\" widgetHost></ng-template>\n <p *ngIf=\"!message.widget\"\n class=\"rtsee-messenger-message-text\"\n >{{ message.text }}</p>\n <div class=\"rtsee-messenger-message-info\" #rtsMessageInfo>\n <rtsee-message-time-and-status [message]=\"message\"\n [hideStatus]=\"message.from.id !== messenger.clientId\"\n ></rtsee-message-time-and-status>\n </div>\n </div>\n <div class=\"message-tail\"></div>\n</div>\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport {\n RTSeeChat,\n RTSeeMessenger,\n RTSeeMessage,\n RTSeeChatEvents,\n} from '@rtsee/messenger';\nimport { TimeFormatHelperService } from '../../../services/time-format-helper.service';\n\n@Component({\n selector: 'rtsee-messages-list',\n templateUrl: './messages-list.component.html',\n})\nexport class MessagesListComponent implements AfterViewInit, OnDestroy, OnInit {\n bindScrollFunction: () => void;\n\n @Input() chat!: RTSeeChat;\n @Input() messenger!: RTSeeMessenger;\n @ViewChild('scrollBlock') scrollContainer!: ElementRef<HTMLDivElement>;\n constructor(private timeFormatService: TimeFormatHelperService) {\n this.bindScrollFunction = this.scrollToBottom.bind(this) as () => void;\n }\n\n ngOnInit() {\n this.chat.on(RTSeeChatEvents.MESSAGE_ADDED, this.bindScrollFunction);\n }\n\n ngAfterViewInit() {\n this.scrollToBottom();\n }\n\n onMessageSent() {\n this.scrollToBottom();\n }\n\n ngOnDestroy() {\n this.chat.off(RTSeeChatEvents.MESSAGE_ADDED, this.bindScrollFunction);\n }\n\n onScrolledToTop() {\n if (this.chat.messagesLoadInProgress) {\n return;\n }\n this.chat.loadRemoteMessages('back');\n }\n\n onScroll() {\n // if (this.scrollContainer.nativeElement.scrollTop < 1) {\n // this.scrollContainer.nativeElement.scrollTop = 1;\n // }\n if (this.chat.messagesLoadInProgress) {\n return;\n }\n this.chat.loadRemoteMessages('front');\n }\n\n scrollToBottom() {\n if (!this.scrollContainer?.nativeElement?.scrollHeight) {\n return;\n }\n\n try {\n this.scrollContainer.nativeElement.scrollTop =\n this.scrollContainer.nativeElement.scrollHeight;\n } catch (err) {\n console.log('Failed to Scroll');\n }\n }\n\n formatDate(message: RTSeeMessage) {\n return this.timeFormatService.formatDate(message.createdAt);\n }\n}\n","<div class=\"rtsee-messenger-messages-list\"\n #scrollBlock\n infiniteScroll\n [infiniteScrollUpDistance]=\"2\"\n [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\"\n [scrollWindow]=\"false\"\n (scrolledUp)=\"onScrolledToTop()\"\n (scroll)=\"onScroll()\"\n>\n <div *ngFor=\"let message of chat.messages; let i = index;\"\n [ngClass]=\"{'rtsee-messenger-message-wrapper-consecutive': message.from === chat.messages[i+1]?.from}\"\n class=\"rtsee-messenger-message-wrapper\"\n >\n <div *ngIf=\"message.hasDateChanged\" class=\"rtsee-messenger-message-date\">\n <span>{{formatDate(message)}}</span>\n </div>\n <rtsee-message [message]=\"message\" [messenger]=\"messenger\" [chat]=\"chat\"></rtsee-message>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { RTSeeChat, RTSeeMessenger } from '@rtsee/messenger';\n\n@Component({\n selector: 'rtsee-chat-input',\n templateUrl: './chat-input.component.html',\n})\nexport class ChatInputComponent {\n sendMessageForm: FormGroup = new FormGroup({\n /* eslint-disable */\n message: new FormControl('', Validators.required),\n /* eslint-enable */\n });\n\n @Input() messenger!: RTSeeMessenger;\n @Input() chat!: RTSeeChat;\n\n sendMessage() {\n const text = this.sendMessageForm.get('message')?.value as string;\n if (!text) {\n return;\n }\n this.chat.sendMessage(text);\n this.sendMessageForm.get('message')?.setValue('');\n }\n}\n","<div class=\"rtsee-chat-input\" xmlns=\"http://www.w3.org/1999/html\">\n <div class=\"rtsee-send-message\">\n <form [formGroup]=\"sendMessageForm\">\n <textarea\n placeholder=\"Type message...\"\n type=\"text\"\n formControlName=\"message\"\n class=\"rtsee-chat-input-field\"\n autosize\n required\n (keyup.enter)=\"sendMessage()\"\n ></textarea>\n </form>\n </div>\n <button (click)=\"sendMessage()\"\n class=\"rtsee-send-message-button\"\n type=\"submit\">\n <span class=\"material-icons-outlined\">send</span>\n </button>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeChat, RTSeeMessenger } from '@rtsee/messenger';\n\n@Component({\n selector: 'rtsee-chat',\n templateUrl: './chat.component.html',\n})\nexport class ChatComponent {\n @Input() chat!: RTSeeChat;\n @Input() messenger!: RTSeeMessenger;\n}\n","<div class=\"rtsee-chat\">\n <div class=\"rtsee-chat-body-container\">\n <rtsee-messages-list [messenger]=\"messenger\" [chat]=\"chat\"></rtsee-messages-list>\n </div>\n <div class=\"rtsee-chat-footer-container\">\n <rtsee-chat-input [messenger]=\"messenger\" [chat]=\"chat\"></rtsee-chat-input>\n </div>\n</div>\n","import { AfterViewInit, Directive, ElementRef } from '@angular/core';\nimport shave from 'shave';\n\n@Directive({\n selector: '[rtseeShave]',\n})\nexport class ShaveDirective implements AfterViewInit {\n constructor(private elem: ElementRef<HTMLDivElement>) {}\n\n ngAfterViewInit() {\n const height = this.elem.nativeElement?.offsetHeight;\n shave(this.elem.nativeElement as unknown as NodeList, height);\n }\n}\n","import { Component, Input } from '@angular/core';\nimport { RTSeeMessenger } from '@rtsee/messenger';\nimport { RTSeeChatTypes, IMessageThumbnail } from '@rtsee/common';\nimport { TimeFormatHelperService } from '../../../services/time-format-helper.service';\n\n@Component({\n selector: 'rtsee-chat-thumbnail',\n templateUrl: './chat-thumbnail.component.html',\n})\nexport class ChatThumbnailComponent {\n @Input() chat!: IMessageThumbnail;\n @Input() messenger!: RTSeeMessenger;\n\n readonly RTSeeChatTypes = RTSeeChatTypes;\n\n constructor(public timeFormatService: TimeFormatHelperService) {}\n}\n","<div class=\"rtsee-chat-thumbnail\" (click)=\"messenger.openChatById(chat.chatId)\">\n <div class=\"rtsee-chat-thumbnail-image\">\n <img [src]=\"chat.chatImageUrl\" alt=\"chat-img\">\n </div>\n <div class=\"rtsee-chat-thumbnail-left\">\n <div class=\"rtsee-chat-thumbnail-name\">\n <span>{{ chat.chatName }}</span>\n <div class=\"rtsee-chat-thumbnail-status\">\n <rtsee-message-time-and-status [message]=\"chat\"></rtsee-message-time-and-status>\n </div>\n </div>\n <div class=\"rtsee-chat-thumbnail-last-message\"\n [ngClass]=\"{'rtsee-has-unread': chat.unreadMessagesCount}\"\n rtseeShave>\n <span class=\"rtsee-chat-thumbnail-last-message-sender\"\n *ngIf=\"chat.chatType !== RTSeeChatTypes.INDIVIDUAL && chat.senderName\"\n >{{chat.senderName}}</span>\n <span class=\"rtsee-chat-thumbnail-last-message-text\"\n *ngIf=\"chat.text\"\n >{{chat.text}}</span>\n <div class=\"rtsee-messenger-thumbnail-unread\" *ngIf=\"chat.unreadMessagesCount\">\n <span class=\"rtsee-messenger-thumbnail-unread-count\">{{chat.unreadMessagesCount}}</span>\n </div>\n </div>\n </div>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { RTSeeChat, RTSeeMessenger } from '@rtsee/messenger';\n\n@Component({\n selector: 'rtsee-chats-list',\n templateUrl: './chats-list.component.html',\n})\nexport class ChatsListComponent implements OnInit {\n @Input() messenger!: RTSeeMessenger;\n @Input() chats!: RTSeeChat[];\n\n ngOnInit(): void {\n // console.log(this.chats);\n }\n}\n","<div class=\"rtsee-chats-list\">\n <div class=\"rtsee-chat-thumbnail-container\" *ngFor=\"let chat of chats; let last = last;\">\n <rtsee-chat-thumbnail [chat]=\"chat.thumbnail\" [messenger]=\"messenger\"></rtsee-chat-thumbnail>\n<!-- <div class=\"rtsee-chat-thumbnail-separator\" *ngIf=\"!last\"></div>-->\n </div>\n</div>\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DefaultImagesService {\n PROFILE = 'https://werf-assets.s3.amazonaws.com/default-profile-logo.png';\n}\n","import { Component, Input } from '@angular/core';\nimport { RTSeeMessenger } from '@rtsee/messenger';\n\n@Component({\n selector: 'rtsee-profile',\n templateUrl: './profile.component.html',\n})\nexport class ProfileComponent {\n @Input() messenger!: RTSeeMessenger;\n\n call() {\n if (!this.messenger.openedChat) {\n return;\n }\n void this.messenger.initializeVideoCall(this.messenger.openedChat);\n }\n\n videoCall() {\n if (!this.messenger.openedChat) {\n return;\n }\n void this.messenger.initializeVideoCall(this.messenger.openedChat);\n }\n}\n","<div class=\"rtsee-messenger-profile\">\n <ul class=\"rtsee-messenger-profile-controls\">\n <li class=\"rtsee-messenger-profile-control\">\n <div class=\"rtsee-messenger-control-item\" (click)=\"call()\">\n <div class=\"rtsee-messenger-control-icon\">\n <span class=\"material-icons-outlined\">call</span>\n </div>\n <span>Call</span>\n </div>\n </li>\n <li class=\"rtsee-messenger-profile-control\">\n <div class=\"rtsee-messenger-control-item\" (click)=\"videoCall()\">\n <div class=\"rtsee-messenger-control-icon\">\n <span class=\"material-icons-outlined\">videocam</span>\n </div>\n <span>Video</span>\n </div>\n </li>\n </ul>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { RTSeeMessenger } from '@rtsee/messenger';\nimport { DefaultImagesService } from '../../../services/default-images.service';\n\n@Component({\n selector: 'rtsee-messenger-header',\n templateUrl: './messenger-header.component.html',\n})\nexport class MessengerHeaderComponent {\n @Output() expandToggled = new EventEmitter();\n @Input() isExpanded?: boolean;\n @Input() messenger!: RTSeeMessenger;\n constructor(public defaultImagesService: DefaultImagesService) {\n this.isExpanded = false;\n this.expandToggled.emit(this.isExpanded);\n }\n\n toggleExpand() {\n this.isExpanded = !this.isExpanded;\n this.expandToggled.emit(this.isExpanded);\n }\n}\n","<div class=\"rtsee-messenger-header\"\n [ngClass]=\"{\n 'rtsee-messenger-header-chat-opened': messenger.openedChat,\n 'rtsee-messenger-header-expanded': isExpanded\n }\"\n>\n <div class=\"rtsee-messenger-profile-image-container \">\n <div *ngIf=\"!messenger.openedChat\"\n [style.background-image]=\"'url(' + messenger.myPeer?.imageUrl || defaultImagesService.PROFILE + ')'\"\n class=\"rtsee-messenger-profile-image\">\n </div>\n </div>\n\n <button class=\"rtsee-messenger-close-chat\"\n *ngIf=\"messenger.openedChat\"\n (click)=\"messenger.closeChat()\"\n >\n <span class=\"material-icons-outlined\">arrow_back</span>\n <span class=\"unread-count\" *ngIf=\"messenger.unreadMessagesCount\">{{messenger.unreadMessagesCount}}</span>\n </button>\n\n <button class=\"rtsee-messenger-menu-toggle\"\n *ngIf=\"!messenger.openedChat\"\n (click)=\"messenger.openMainMenu(true)\"\n >\n <span class=\"material-icons-outlined rtsee-messenger-menu-toggle-icon\">menu</span>\n </button>\n <div *ngIf=\"messenger.openedChat\"\n [ngClass]=\"{'rtsee-messenger-header-opened-chat-info-expanded': isExpanded}\"\n class=\"rtsee-messenger-header-opened-chat-info\">\n <div class=\"rtsee-messenger-profile-header-placeholder\">\n <p *ngIf=\"messenger.openedChat\"\n class=\"rtsee-messenger-header-chat-title\"\n >{{ messenger.openedChat.name }}</p>\n <div class=\"rtsee-messenger-profile-image-container\" (click)=\"toggleExpand()\">\n <div class=\"rtsee-messenger-profile-image\"\n [style.background-image]=\"'url(' + messenger.openedChat.imageUrl || defaultImagesService.PROFILE + ')'\"\n ></div>\n </div>\n </div>\n <div class=\"rtsee-messenger-profile-data-container\">\n <rtsee-profile *ngIf=\"isExpanded\" [messenger]=\"messenger\"></rtsee-profile>\n </div>\n </div>\n\n <p *ngIf=\"!messenger.openedChat\"\n class=\"rtsee-messenger-header-title\"\n >Messaging</p>\n</div>\n","export enum MainMenuPanels {\n HOME = 'home',\n CONTACTS_SELECT = 'contacts-select',\n MANAGE_CHAT = 'manage-chat',\n}\n\nexport interface IMainMenuState {\n activePanel: MainMenuPanels;\n}\n\nexport const DEFAULT_MAIN_MENU_STATE = MainMenuPanels.HOME;\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { debounceTime } from 'rxjs/operators';\nimport { FormControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { RTSeeMessengerSearch } from '@rtsee/messenger';\n\n@Component({\n selector: 'rtsee-search',\n templateUrl: './search.component.html',\n})\nexport class SearchComponent implements OnInit, OnDestroy {\n queryControl = new FormControl();\n queryCtrlSub?: Subscription;\n\n @Input() search!: RTSeeMessengerSearch;\n\n ngOnInit(): void {\n this.queryCtrlSub = this.queryControl.valueChanges\n .pipe(debounceTime(200))\n .subscribe((value: string) => this.search.onQueryChange(value));\n }\n\n ngOnDestroy() {\n if (this.queryCtrlSub) {\n this.queryCtrlSub.unsubscribe();\n }\n }\n}\n","<div class=\"rtsee-messenger-search\">\n <input type=\"text\"\n [formControl]=\"queryControl\"\n class=\"rtsee-messenger-search-input\"\n placeholder=\"Search\"/>\n</div>\n\n<div class=\"rtsee-messenger-search-results\">\n <rtsee-preloader [diameter]=\"50\" *ngIf=\"search.searchInProgress\"></rtsee-preloader>\n <p>Chats</p>\n <div class=\"rtsee-messenger-search-results-chats\">\n <div *ngFor=\"let chat of search.results.chats\" class=\"rtsee-messenger-search-results-chat-wrapper\">\n <p>{{chat.name}}</p>\n </div>\n </div>\n <p>Messages</p>\n <div class=\"rtsee-messenger-search-results-messages\">\n <div *ngFor=\"let message of search.results.messages\" class=\"rtsee-messenger-search-results-message-wrapper\">\n <p>{{message.chatName || message.senderName }}</p>\n </div>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeMessenger } from '@rtsee/messenger';\nimport { IMainMenuState, MainMenuPanels } from '../models/MainMenuState';\n\n@Component({\n selector: 'rtsee-manage-chat',\n templateUrl: './manage-chat.component.html',\n styleUrls: ['./manage-chat.component.scss'],\n})\nexport class ManageChatComponent {\n @Input() messenger!: RTSeeMessenger;\n @Input() menuState!: IMainMenuState;\n\n onInviteContactsClicked() {\n this.menuState.activePanel = MainMenuPanels.CONTACTS_SELECT;\n }\n}\n","<div class=\"rtsee-messenger-manage-chat\">\n <p>We are going to manage chat here</p>\n <button (click)=\"onInviteContactsClicked()\">Invite Contacts</button>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { IMainMenuState } from '../models/MainMenuState';\nimport { RTSeeMessengerSearch } from '@rtsee/messenger';\n\n@Component({\n selector: 'rtsee-contacts-multiselect',\n templateUrl: './contacts-multiselect.component.html',\n styleUrls: ['./contacts-multiselect.component.scss'],\n})\nexport class ContactsMultiselectComponent {\n @Input() menuState!: IMainMenuState;\n @Input() search!: RTSeeMessengerSearch;\n}\n","<div class=\"rtsee-messenger-contacts-multiselect\">\n <rtsee-search [search]=\"search\"></rtsee-search>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeMessenger, RTSeeMessengerSearch } from '@rtsee/messenger';\nimport {\n DEFAULT_MAIN_MENU_STATE,\n IMainMenuState,\n MainMenuPanels,\n} from './components/models/MainMenuState';\n\n@Component({\n selector: 'rtsee-main-menu',\n templateUrl: './main-menu.component.html',\n})\nexport class MainMenuComponent {\n @Input() search!: RTSeeMessengerSearch;\n @Input() messenger!: RTSeeMessenger;\n\n readonly MainMenuPanels = MainMenuPanels;\n\n state: IMainMenuState = {\n activePanel: DEFAULT_MAIN_MENU_STATE,\n };\n\n onNewGroupClicked() {\n this.state.activePanel = MainMenuPanels.CONTACTS_SELECT;\n }\n\n onNewChannelClicked() {\n this.state.activePanel = MainMenuPanels.MANAGE_CHAT;\n }\n}\n","<div class=\"rtsee-messenger-main-menu\">\n <div class=\"rtsee-messenger-main-menu-home\" *ngIf=\"state.activePanel === MainMenuPanels.HOME\">\n <ul class=\"rtsee-messenger-controls\">\n <li>\n <div class=\"rtsee-messenger-control-item\" (click)=\"onNewGroupClicked()\">\n <div class=\"rtsee-messenger-control-icon\">\n <span class=\"material-icons-outlined\">people</span>\n </div>\n <span>New Group</span>\n </div>\n </li>\n <li>\n <div class=\"rtsee-messenger-control-item\" (click)=\"onNewChannelClicked()\">\n <div class=\"rtsee-messenger-control-icon\">\n <span class=\"material-icons-outlined\">campaign</span>\n </div>\n <span>New Channel</span>\n </div>\n </li>\n </ul>\n <rtsee-search [search]=\"search\" ></rtsee-search>\n </div>\n\n <rtsee-manage-chat *ngIf=\"state.activePanel === MainMenuPanels.MANAGE_CHAT\"\n [messenger]=\"messenger\"\n [menuState]=\"state\"\n ></rtsee-manage-chat>\n <rtsee-contacts-multiselect [search]=\"search\"\n [menuState]=\"state\"\n *ngIf=\"state.activePanel === MainMenuPanels.CONTACTS_SELECT\"\n ></rtsee-contacts-multiselect>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeMessenger } from '@rtsee/messenger';\n\n@Component({\n selector: 'rtsee-messenger',\n templateUrl: './messenger.component.html',\n})\nexport class MessengerComponent {\n isHeaderExpanded: boolean;\n\n @Input() messenger!: RTSeeMessenger;\n constructor() {\n this.isHeaderExpanded = false;\n }\n\n onScroll() {\n this.messenger.loadChats();\n }\n\n // onGeneralScroll($event) {\n // // $event.stopPropagation();\n // }\n\n onHeaderExpandToggled(value: boolean) {\n this.isHeaderExpanded = value;\n }\n}\n","<div class=\"rtsee-messenger\" [ngClass]=\"{\n 'rtsee-messenger-main-menu-opened': messenger.mainMenuOpened,\n 'rtsee-messenger-header-expanded': isHeaderExpanded\n}\">\n <div class=\"rtsee-messenger-header-container\">\n <rtsee-messenger-header [messenger]=\"messenger\" (expandToggled)=\"onHeaderExpandToggled($event)\"></rtsee-messenger-header>\n </div>\n <div class=\"rtsee-messenger-body-container\"\n infiniteScroll\n [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\"\n [scrollWindow]=\"false\"\n (scrolled)=\"onScroll()\"\n >\n <rtsee-chats-list *ngIf=\"!messenger.openedChat\" [chats]=\"messenger.chats\" [messenger]=\"messenger\"></rtsee-chats-list>\n <rtsee-chat *ngIf=\"messenger.openedChat\" [messenger]=\"messenger\" [chat]=\"messenger.openedChat\"></rtsee-chat>\n <rtsee-preloader [diameter]=\"50\" *ngIf=\"messenger.loadingChatsInProgress\" ></rtsee-preloader>\n </div>\n <div class=\"rtsee-messenger-main-menu-container\">\n <rtsee-main-menu\n *ngIf=\"messenger.mainMenuOpened\"\n [search]=\"messenger.search\"\n [messenger]=\"messenger\"></rtsee-main-menu>\n </div>\n <div class=\"rtsee-messenger-overlay\" (click)=\"messenger.openMainMenu(false)\"></div>\n</div>\n\n\n","import { Injectable } from '@angular/core';\nimport { IMessageWidget } from './message-widgets.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class EventsWidgetsService {\n widgetsMap: IMessageWidget[] = [];\n\n getWidgetComponentByName(name: string) {\n /* eslint-disable */\n const mapping = this.widgetsMap.find((e) => e.name === name);\n if (!mapping) {\n return null;\n }\n return mapping.component;\n /* eslint-enable */\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n Input,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { RTSeeDashboardEvent } from '@rtsee/events-dashboard';\nimport { WidgetDirective } from '../../../../directives/widget.directive';\nimport { EventsWidgetsService } from '../../../../services/events-widgets.service';\nimport { TimeFormatHelperService } from '../../../../services/time-format-helper.service';\n\n@Component({\n selector: 'rtsee-event-thumbnail',\n templateUrl: './event-thumbnail.component.html',\n})\nexport class EventThumbnailComponent implements OnInit, AfterViewInit {\n tooltip?: string;\n\n @Input() event!: RTSeeDashboardEvent;\n @ViewChild(WidgetDirective, { static: false }) widgetHost!: WidgetDirective;\n constructor(\n private widgetsService: EventsWidgetsService,\n private componentFactoryResolver: ComponentFactoryResolver,\n public timeFormatService: TimeFormatHelperService,\n private cd: ChangeDetectorRef,\n ) {}\n\n ngOnInit(): void {\n if (this.event.data) {\n this.generateTooltip();\n }\n }\n\n generateTooltip() {\n /* eslint-disable */\n let tooltip = '';\n if (typeof this.event.data !== 'object') {\n return;\n }\n try {\n for (const key in this.event.data) {\n if (this.event.data.hasOwnProperty(key)) {\n if (tooltip) {\n tooltip += '&#013;';\n }\n tooltip += key + ' -> ' + this.event.data[key];\n }\n }\n this.tooltip = tooltip;\n } catch (e) {\n console.log('Failed to generate a tooltip');\n }\n /* eslint-enable */\n }\n\n ngAfterViewInit() {\n this.cd.detectChanges();\n /* eslint-disable */\n if (this.event.widget) {\n const widget = this.widgetsService.getWidgetComponentByName(\n this.event.widget,\n );\n if (!widget) {\n return;\n }\n const viewContainerRef = this.widgetHost.viewContainerRef;\n viewContainerRef.clear();\n const componentToShow =\n this.componentFactoryResolver.resolveComponentFactory(widget);\n const componentRef: ComponentRef<typeof widget> =\n viewContainerRef.createComponent(componentToShow);\n componentRef.instance.event = this.event;\n componentRef.instance.event = this.event;\n componentRef.changeDetectorRef.detectChanges();\n }\n /* eslint-enable */\n }\n}\n","<div class=\"rtsee-events-dashboard-event-thumbnail\">\n <ng-template *ngIf=\"event.widget\" widgetHost></ng-template>\n <div *ngIf=\"!event.widget\" class=\"rtsee-events-dashboard-default-event-thumbnail\"\n [ngClass]=\"{'rtsee-events-dashboard-default-event-thumbnail-with-data': event.data}\"\n >\n <div class=\"rtsee-events-dashboard-default-event-thumbnail-name\">{{event.name}}</div>\n <div class=\"rtsee-events-dashboard-default-event-thumbnail-info\">\n <div *ngIf=\"event.data\" class=\"rtsee-events-dashboard-default-event-thumbnail-details\"\n [title]=\"tooltip\"\n >\n <span class=\"rtsee-events-dashboard-default-event-thumbnail-details-icon material-icons-outlined\"\n >info</span>\n </div>\n <div class=\"rtsee-events-dashboard-default-event-thumbnail-time\">\n <span>{{ timeFormatService.toAgo(event.createdAt) }}</span>\n </div>\n </div>\n\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { TimeFormatHelperService } from '../../../../services/time-format-helper.service';\nimport { RTSeeDashboardClientSession } from '@rtsee/events-dashboard';\n\n@Component({\n selector: 'rtsee-rtsee-events-dashboard-session',\n templateUrl: './rtsee-events-dashboard-session.component.html',\n})\nexport class RtseeEventsDashboardSessionComponent {\n @Input() session!: RTSeeDashboardClientSession;\n constructor(public timeFormatService: TimeFormatHelperService) {}\n}\n","<div class=\"rtsee-events-dashboard-session\">\n <div class=\"rtsee-events-dashboard-session-header\" *ngIf=\"session.info\">\n <p class=\"rtsee-events-dashboard-session-client-info\">{{session.info.clientThumbnail}}</p>\n <p class=\"rtsee-events-dashboard-session-os-info\">{{session.info.osThumbnail}}</p>\n <div class=\"rtsee-events-dashboard-session-device-info\" [title]=\"session.info.deviceThumbnail\">\n <span *ngIf=\"session.info.deviceType === 'smartphone' && !session.info.botName\"\n class=\"material-icons-outlined rtsee-events-dashboard-session-device-info-icon\"\n >phone_iphone</span>\n <span class=\"material-icons-outlined rtsee-events-dashboard-session-device-info-icon\"\n *ngIf=\"session.info.deviceType === 'tablet' && !session.info.botName\"\n >tablet_mac</span>\n <span class=\"material-icons-outlined rtsee-events-dashboard-session-device-info-icon\"\n *ngIf=\"session.info.deviceType === 'desktop' && !session.info.botName\"\n >computer</span>\n <span class=\"material-icons-outlined rtsee-events-dashboard-session-device-info-icon\"\n *ngIf=\"session.info.botName\"\n >smart_toy</span>\n </div>\n </div>\n <ul *ngIf=\"session.events && session.events.length\"\n class=\"rtsee-events-dashboard-session-events-list\"\n >\n <li *ngFor=\"let event of session.events | slice:0:5;\" class=\"rtsee-events-dashboard-session-event\">\n <rtsee-event-thumbnail [event]=\"event\"></rtsee-event-thumbnail>\n </li>\n </ul>\n <div class=\"rtsee-events-dashboard-session-footer\">\n <button *ngIf=\"session.events.length > 5\">{{session.events.length - 5}} more</button>\n </div>\n</div>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { TimeFormatHelperService } from '../../../../services/time-format-helper.service';\nimport { DefaultImagesService } from '../../../../services/default-images.service';\nimport {\n RTSeeEventsDashboard,\n RTSeeDashboardClient,\n} from '@rtsee/events-dashboard';\n\n@Component({\n selector: 'ngx-rtsee-events-dashboard-client-thumbnail',\n templateUrl: './rtsee-events-dashboard-client-thumbnail.component.html',\n})\nexport class RtseeEventsDashboardClientThumbnailComponent implements OnInit {\n @Input() dashboard!: RTSeeEventsDashboard;\n @Input() client!: RTSeeDashboardClient;\n\n constructor(\n public timeFormatService: TimeFormatHelperService,\n public defaultImagesService: DefaultImagesService,\n ) {}\n\n ngOnInit(): void {\n console.log('client id', this.client.id);\n }\n\n openChat() {\n this.dashboard.openChat(this.client);\n }\n}\n","<div class=\"rtsee-dashboard-client-thumbnail\">\n <div class=\"rtsee-dashboard-client-header\">\n <div class=\"rtsee-dashboard-client-header-photo\">\n <div class=\"rtsee-dashboard-client-header-image\"\n [style.background-image]=\"'url(' + client.imageUrl || defaultImagesService.PROFILE + ')'\"\n ></div>\n <div class=\"rtsee-dashboard-client-live-indicator\" *ngIf=\"client.isConnected\"></div>\n </div>\n <p class=\"rtsee-dashboard-client-name\">\n <span class=\"rtsee-dashboard-client-name-text\">{{ client.name || client.id }}</span>\n <button (click)=\"openChat()\" class=\"rtsee-dashboard-client-engage\">\n <span class=\"rtsee-dashboard-client-engage-icon material-icons-outlined\">chat_bubble</span>\n </button>\n </p>\n </div>\n <div class=\"rtsee-dashboard-sessions\">\n <div *ngFor=\"let session of client.sessions\"\n class=\"rtsee-dashboard-sessions-container\">\n <rtsee-rtsee-events-dashboard-session [session]=\"session\"></rtsee-rtsee-events-dashboard-session>\n </div>\n </div>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { RTSeeEventsDashboard } from '@rtsee/events-dashboard';\n\n@Component({\n selector: 'ngx-rtsee-events-dashboard',\n templateUrl: './rtsee-events-dashboard.component.html',\n})\nexport class RtseeEventsDashboardComponent {\n @Input() eventsDashboard!: RTSeeEventsDashboard;\n}\n","<div class=\"rtsee-events-dashboard\">\n <div class=\"rtsee-events-dashboard-client-thumbnails\">\n <div class=\"rtsee-events-dashboard-client-thumbnail-wrapper\"\n *ngFor=\"let client of eventsDashboard.clients\">\n <ngx-rtsee-events-dashboard-client-thumbnail\n [client]=\"client\"\n [dashboard]=\"eventsDashboard\"\n ></ngx-rtsee-events-dashboard-client-thumbnail>\n </div>\n </div>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngx-rtsee-peers-list',\n templateUrl: './rtsee-peers-list.component.html',\n styleUrls: ['./rtsee-peers-list.component.scss'],\n})\nexport class RtseePeersListComponent {}\n","<p>rtsee-peers-list works!</p>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngx-rtsee-events-dashboard-client',\n templateUrl: './rtsee-events-dashboard-client.component.html',\n})\nexport class RtseeEventsDashboardClientComponent {}\n","<p>rtsee-events-dashboard-client works!</p>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'rtsee-rtsee-container',\n templateUrl: './rtsee-container.component.html',\n})\nexport class RtseeContainerComponent {}\n","<p>rtsee-container works!</p>\n","import { NgModule } from '@angular/core';\nimport { RTSeeComponent } from './components/rtsee/rtsee.component';\nimport { RTSeeControlsComponent } from './components/rtsee/rtsee-controls/rtsee-controls.component';\nimport { CommonModule } from '@angular/common';\nimport { RtseePeerComponent } from './components/rtsee-peer/rtsee-peer.component';\nimport { RtseeSoundbarComponent } from './components/rtsee-soundbar/rtsee-soundbar.component';\nimport { RtseePeersListComponent } from './components/rtsee-peers-list/rtsee-peers-list.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { RtseeSettingsComponent } from './components/rtsee-settings/rtsee-settings.component';\nimport { MatSelectModule } from '@angular/material/select';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MessengerComponent } from './components/rtsee-messenger/messenger/messenger.component';\nimport { ChatComponent } from './components/rtsee-messenger/chat/chat.component';\nimport { MessageComponent } from './components/rtsee-messenger/message/message.component';\nimport { ChatsListComponent } from './components/rtsee-messenger/chats-list/chats-list.component';\nimport { MessagesListComponent } from './components/rtsee-messenger/messages-list/messages-list.component';\nimport { ChatThumbnailComponent } from './components/rtsee-messenger/chat-thumbnail/chat-thumbnail.component';\nimport { ChatInputComponent } from './components/rtsee-messenger/chat-input/chat-input.component';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MessengerHeaderComponent } from './components/rtsee-messenger/messenger-header/messenger-header.component';\nimport { RtseeEventsDashboardComponent } from './components/rtsee-events-dashboard/rtsee-events-dashboard.component';\nimport { RtseeEventsDashboardClientComponent } from './components/rtsee-events-dashboard/components/rtsee-events-dashboard-client/rtsee-events-dashboard-client.component';\nimport { RtseeEventsDashboardClientThumbnailComponent } from './components/rtsee-events-dashboard/components/rtsee-events-dashboard-client-thumbnail/rtsee-events-dashboard-client-thumbnail.component';\nimport { WidgetDirective } from './directives/widget.directive';\nimport { CallWidgetComponent } from './components/rtsee-messenger/message-widgets/call-widget/call-widget.component';\nimport { AutosizeModule } from 'ngx-autosize';\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\nimport { MainMenuComponent } from './components/rtsee-messenger/main-menu/main-menu.component';\nimport { MessageTimeAndStatusComponent } from './components/rtsee-messenger/message/components/message-time-and-status/message-time-and-status.component';\nimport { PreloaderComponent } from './common/components/preloader/preloader.component';\nimport { SearchComponent } from './components/rtsee-messenger/main-menu/components/search/search.component';\nimport { ManageChatComponent } from './components/rtsee-messenger/main-menu/components/manage-chat/manage-chat.component';\nimport { ContactsMultiselectComponent } from './components/rtsee-messenger/main-menu/components/contacts-multiselect/contacts-multiselect.component';\nimport { ShaveDirective } from './directives/shave.directive';\nimport { ProfileComponent } from './components/rtsee-messenger/profile/profile.component';\nimport { EventThumbnailComponent } from './components/rtsee-events-dashboard/components/event-thumbnail/event-thumbnail.component';\nimport { RtseeEventsDashboardSessionComponent } from './components/rtsee-events-dashboard/components/rtsee-events-dashboard-session/rtsee-events-dashboard-session.component';\nimport { RtseeContainerComponent } from './components/rtsee-container/rtsee-container.component';\n\n@NgModule({\n declarations: [\n RTSeeComponent,\n RTSeeControlsComponent,\n RtseePeerComponent,\n RtseeSoundbarComponent,\n RtseePeersListComponent,\n RtseeSettingsComponent,\n MessengerComponent,\n ChatComponent,\n MessageComponent,\n ChatsListComponent,\n MessagesListComponent,\n ChatThumbnailComponent,\n ChatInputComponent,\n MessengerHeaderComponent,\n RtseeEventsDashboardComponent,\n RtseeEventsDashboardClientComponent,\n RtseeEventsDashboardClientThumbnailComponent,\n WidgetDirective,\n CallWidgetComponent,\n MainMenuComponent,\n MessageTimeAndStatusComponent,\n PreloaderComponent,\n SearchComponent,\n ManageChatComponent,\n ContactsMultiselectComponent,\n ShaveDirective,\n ProfileComponent,\n EventThumbnailComponent,\n RtseeEventsDashboardSessionComponent,\n RtseeContainerComponent,\n ],\n imports: [\n CommonModule,\n MatIconModule,\n MatButtonModule,\n MatSelectModule,\n BrowserAnimationsModule,\n MatFormFieldModule,\n ReactiveFormsModule,\n AutosizeModule,\n InfiniteScrollModule,\n ],\n exports: [RTSeeComponent, MessengerComponent, RtseeEventsDashboardComponent],\n})\nexport class RTSeeModule {}\n","/*\n * Public API Surface of ngx\n */\n\nexport * from './lib/ngx.service';\nexport * from './lib/components/rtsee/rtsee-controls/rtsee-controls.component';\nexport * from './lib/components/rtsee/rtsee.component';\nexport * from './lib/components/rtsee-messenger/messenger/messenger.component';\nexport * from './lib/components/rtsee-events-dashboard/rtsee-events-dashboard.component';\nexport * from './lib/ngx.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.RtseeSoundbarComponent","i2","i4.RTSeeControlsComponent","i5.RtseePeerComponent","i6.RtseeSettingsComponent","i1.TimeFormatHelperService","i3.PreloaderComponent","i1.MessageWidgetsService","i2.TimeFormatHelperService","i3","i4.WidgetDirective","i5.MessageTimeAndStatusComponent","i4.MessageComponent","i1","i1.MessagesListComponent","i2.ChatInputComponent","i3.MessageTimeAndStatusComponent","i4.ShaveDirective","i2.ChatThumbnailComponent","i1.DefaultImagesService","i3.ProfileComponent","i1.SearchComponent","i2.SearchComponent","i3.ManageChatComponent","i4.ContactsMultiselectComponent","i3.ChatComponent","i4.ChatsListComponent","i5.MessengerHeaderComponent","i6.MainMenuComponent","i7.PreloaderComponent","i1.EventsWidgetsService","i3.EventThumbnailComponent","i2.DefaultImagesService","i4.RtseeEventsDashboardSessionComponent","i2.RtseeEventsDashboardClientThumbnailComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;MAKa,UAAU,CAAA;AACrB,IAAA,GAAG,CAAS;AACZ,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;KAClB;uGAJU,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAV,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,cAFT,MAAM,EAAA,CAAA,CAAA;;2FAEP,UAAU,EAAA,UAAA,EAAA,CAAA;kBAHtB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCIY,sBAAsB,CAAA;AACxB,IAAA,KAAK,CAAmB;AACxB,IAAA,cAAc,CAAW;IAElC,gBAAgB,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW;AAC3B,cAAE,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE;AAC9B,cAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;KACnC;uGARU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,wHCRnC,0oEA0DA,EAAA,MAAA,EAAA,CAAA,g8BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDlDa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,oBAAoB,EAAA,QAAA,EAAA,0oEAAA,EAAA,MAAA,EAAA,CAAA,g8BAAA,CAAA,EAAA,CAAA;8BAKrB,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;;;MEDK,sBAAsB,CAAA;AACjC,IAAA,cAAc,CAAS;AACvB,IAAA,UAAU,CAAS;AACnB,IAAA,aAAa,CAAS;AACtB,IAAA,aAAa,CAAS;AACtB,IAAA,eAAe,CAAS;AAEf,IAAA,IAAI,CAAuB;AACpC,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AAC3B,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACpB,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;AACvB,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;AACvB,QAAA,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;KAC1B;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,wBAAwB,EAAE,CAAC;KACjC;IAED,wBAAwB,GAAA;QACtB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,SAAS,CAAC,MAAK;AAClB,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;AACxD,gBAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACrB,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,GAAG,IAAI,CAAC,CAAC;AAC1D,aAAA;YAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAC9B,SAAC,CAAC,CAAC;KACJ;IAED,oBAAoB,GAAA;QAClB,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,QAAA,MAAM,aAAa,GAAG,UAAU,GAAG,UAAU,CAAC;AAC9C,QAAA,MAAM,aAAa,GAAG,aAAa,GAAG,UAAU,CAAC;AAEjD,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,GAAG,UAAU,EAAE;AACvE,YAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;AACvB,YAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;AACvB,YAAA,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;AAC1B,SAAA;AAED,QAAA,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,UAAU,IAAI,GAAG,CAAC;AAC1E,QAAA,MAAM,aAAa,GACjB,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,aAAa,IAAI,UAAU,IAAI,GAAG,CAAC;AACzD,QAAA,MAAM,eAAe,GACnB,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,aAAa,IAAI,UAAU,IAAI,GAAG,CAAC;AAEzD,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa,GAAG,CAAC,GAAG,aAAa,GAAG,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa,GAAG,CAAC,GAAG,aAAa,GAAG,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe,GAAG,CAAC,GAAG,aAAa,GAAG,CAAC,CAAC;KAChE;uGAtDU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,oFCTnC,ytBAmBA,EAAA,MAAA,EAAA,CAAA,4iCAAA,CAAA,EAAA,CAAA,CAAA;;2FDVa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,oBAAoB,EAAA,QAAA,EAAA,ytBAAA,EAAA,MAAA,EAAA,CAAA,4iCAAA,CAAA,EAAA,CAAA;0EAWrB,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;MEFK,kBAAkB,CAAA;AAC7B,IAAA,cAAc,CAAS;AACvB,IAAA,UAAU,CAAS;AAEO,IAAA,WAAW,CAAc;AACzB,IAAA,WAAW,CAAc;AAC1C,IAAA,IAAI,CAAuB;AAEpC,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AAC3B,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;KACrB;IAED,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,OAAO;AACR,SAAA;QACD,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAC7B,IAAI,CAAC,WAAW,CAAC,aAAiC,CACnD,CAAC;KACH;uGApBU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,yRCd/B,4hCA4BA,EAAA,MAAA,EAAA,CAAA,o/BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,sBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDda,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;+BACE,gBAAgB,EAAA,QAAA,EAAA,4hCAAA,EAAA,MAAA,EAAA,CAAA,o/BAAA,CAAA,EAAA,CAAA;0EAQA,WAAW,EAAA,CAAA;sBAApC,SAAS;uBAAC,aAAa,CAAA;gBACE,WAAW,EAAA,CAAA;sBAApC,SAAS;uBAAC,aAAa,CAAA;gBACf,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;MEZK,sBAAsB,CAAA;AACjC,IAAA,0BAA0B,CAAoB;AAC9C,IAAA,0BAA0B,CAAoB;AAC9C,IAAA,2BAA2B,CAAoB;AAEtC,IAAA,KAAK,CAAmB;AACxB,IAAA,cAAc,CAAW;AAClC,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC;AACrC,QAAA,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC;AACrC,QAAA,IAAI,CAAC,2BAA2B,GAAG,EAAE,CAAC;KACvC;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAED,oBAAoB,GAAA;AAClB,QAAA,KAAK,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;KAC3C;AAED,IAAA,aAAa,CAAC,QAAgB,EAAA;AAC5B,QAAA,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AACzC,QAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KACvB;AAED,IAAA,cAAc,CAAC,QAAgB,EAAA;AAC7B,QAAA,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;KAC3C;AAED,IAAA,aAAa,CAAC,QAAgB,EAAA;AAC5B,QAAA,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;KAC1C;uGAhCU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,wHCRnC,g8CA4BA,EAAA,MAAA,EAAA,CAAA,kZAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDpBa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,oBAAoB,EAAA,QAAA,EAAA,g8CAAA,EAAA,MAAA,EAAA,CAAA,kZAAA,CAAA,EAAA,CAAA;0EASrB,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;;;MENK,cAAc,CAAA;AACzB,IAAA,mBAAmB,CAAU;AAC7B,IAAA,qBAAqB,CAAU;AAEtB,IAAA,KAAK,CAAmB;AACjC,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;AACjC,QAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;KACpC;IAED,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC;KACtD;IAED,oBAAoB,GAAA;AAClB,QAAA,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC;KAC1D;uGAhBU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,6ECR3B,s5FAsEA,EAAA,MAAA,EAAA,CAAA,kvHAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,kBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FD9Da,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,SAAS;+BACE,WAAW,EAAA,QAAA,EAAA,s5FAAA,EAAA,MAAA,EAAA,CAAA,kvHAAA,CAAA,EAAA,CAAA;0EAQZ,KAAK,EAAA,CAAA;sBAAb,KAAK;;;AERR,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;MAKd,uBAAuB,CAAA;AAClC,IAAA,KAAK,CAAC,IAAU,EAAA;;AAEd,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAY,CAAC;;KAExC;AACD,IAAA,WAAW,CAAC,IAAU,EAAA;;QAEpB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;KAElC;AACD,IAAA,MAAM,CAAC,IAAU,EAAA;;QAEf,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAW,CAAC;;KAE9C;AACD,IAAA,MAAM,CAAC,IAAU,EAAA;;QAEf,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAW,CAAC;;KAE/C;AACD,IAAA,aAAa,CAAC,IAAU,EAAA;;QAEtB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;;KAEpC;AAED,IAAA,qBAAqB,CAAC,IAAU,EAAA;;QAE9B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;;KAEvC;AAED,IAAA,cAAc,CAAC,IAAU,EAAA;;QAEvB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,eAAe,CAAW,CAAC;;KAEtD;AAED,IAAA,UAAU,CAAC,IAAU,EAAA;AACnB,QAAA,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAClC,QAAA,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC;QAE1B,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,EAAE,CAAC;AACX,SAAA;QAED,IACE,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK;YACxC,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,MAAM,EAAE,EAChC;AACA,YAAA,OAAO,OAAO,CAAC;AAChB,SAAA;QAED,IACE,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO;YAC1C,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK;YACxC,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,MAAM,EAAE,EAChC;AACA,YAAA,OAAO,WAAW,CAAC;AACpB,SAAA;QAED,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE;AAC9C,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC1B,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;KAClC;AAED,IAAA,gBAAgB,CAAC,IAAU,EAAA;QACzB,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,EAAE,CAAC;AACX,SAAA;AAED,QAAA,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QAElC,IACE,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK;YACxC,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,MAAM,EAAE,EAChC;AACA,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC1B,SAAA;QAED,IACE,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK;AACxC,YAAA,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,GAAG,CAAC,EAC5C;AACA,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC/B,SAAA;AAED,QAAA,IACE,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,GAAG,CAAC;YAC5C,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,EAC1C;AACA,YAAA,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACjC,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;KACzC;uGApGU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFtB,MAAM,EAAA,CAAA,CAAA;;2FAEP,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCHY,eAAe,CAAA;AACP,IAAA,gBAAA,CAAA;AAAnB,IAAA,WAAA,CAAmB,gBAAkC,EAAA;QAAlC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;KAAI;uGAD9C,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAAf,eAAe,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACzB,iBAAA,CAAA;;;MCKY,mBAAmB,CAAA;AACrB,IAAA,OAAO,CAA4B;AACnC,IAAA,SAAS,CAAkB;AACpC,IAAA,UAAU,CAAU;IAEpB,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE;AAC3D,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACzB,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC;AACnD,SAAA;KACF;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE;AACjD,YAAA,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;YACrD,OAAO;AACR,SAAA;AACD,QAAA,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACxD;uGAnBU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,+GCThC,8RAMA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDGa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,8RAAA,EAAA,CAAA;8BAKlB,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MEAK,qBAAqB,CAAA;AAChC,IAAA,UAAU,GAAqB;AAC7B,QAAA,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE;KACvD,CAAC;AAEF,IAAA,wBAAwB,CAAC,IAAY,EAAA;;AAEnC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;QACD,OAAO,OAAO,CAAC,SAAS,CAAC;;KAE1B;uGAbU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAArB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFpB,MAAM,EAAA,CAAA,CAAA;;2FAEP,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCJY,kBAAkB,CAAA;IAC7B,OAAO,GAAG,aAAa,CAAC;IACxB,CAAC,GAAG,8CAA8C,CAAC;AAE9B,IAAA,MAAM,CAA0B;AAC5C,IAAA,QAAQ,CAAU;IAClB,KAAK,GAAY,SAAS,CAAC;AACpC,IAAA,WAAA,GAAA;QACE,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,OAAO,GAAG,CAAA,IAAA,EAAO,IAAI,CAAC,QAAQ,CAAA,CAAA,EAAI,IAAI,CAAC,QAAQ,CAAA,CAAE,CAAC;YACvD,IAAI,CAAC,CAAC,GAAG,CAAK,EAAA,EAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA,CAAA,EAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CACrD,GAAA,EAAA,IAAI,CAAC,QAAQ,GAAG,IAClB,CAAA,CAAA,EAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAa,UAAA,EAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,IACvD,IAAI,CAAC,QAAQ,GAAG,IAClB,CAAA,CAAA,EAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAY,SAAA,EAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA,CAAE,CAAC;AAC5D,SAAA;KACF;IAED,QAAQ,GAAA;;;KAGP;uGArBU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,2MCN/B,uLAKA,EAAA,CAAA,CAAA;;2FDCa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,uLAAA,EAAA,CAAA;0EAON,MAAM,EAAA,CAAA;sBAA1B,SAAS;uBAAC,QAAQ,CAAA;gBACV,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;;;MEHK,6BAA6B,CAAA;AAGrB,IAAA,iBAAA,CAAA;AAFV,IAAA,OAAO,CAAoC;AAC3C,IAAA,UAAU,CAAW;AAC9B,IAAA,WAAA,CAAmB,iBAA0C,EAAA;QAA1C,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAyB;KAAI;uGAHtD,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,uBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,+HCT1C,2uBASA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,kBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDAa,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAJzC,SAAS;+BACE,+BAA+B,EAAA,QAAA,EAAA,2uBAAA,EAAA,CAAA;2GAIhC,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;;;MEWK,gBAAgB,CAAA;AAOjB,IAAA,cAAA,CAAA;AACA,IAAA,wBAAA,CAAA;AACD,IAAA,iBAAA,CAAA;AARA,IAAA,IAAI,CAAa;AACjB,IAAA,OAAO,CAAgB;AACvB,IAAA,MAAM,CAAwB;AAC9B,IAAA,SAAS,CAAkB;AACW,IAAA,UAAU,CAAmB;AAC5E,IAAA,WAAA,CACU,cAAqC,EACrC,wBAAkD,EACnD,iBAA0C,EAAA;QAFzC,IAAc,CAAA,cAAA,GAAd,cAAc,CAAuB;QACrC,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;QACnD,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAyB;KAC/C;IAEJ,eAAe,GAAA;;AAEb,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AACvB,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,wBAAwB,CACzD,IAAI,CAAC,OAAO,CAAC,MAAM,CACpB,CAAC;YACF,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO;AACR,aAAA;AACD,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;YAC1D,gBAAgB,CAAC,KAAK,EAAE,CAAC;YACzB,MAAM,eAAe,GACnB,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;YAChE,MAAM,YAAY,GAChB,gBAAgB,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;YACpD,YAAY,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7C,YAAY,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AACjD,YAAA,YAAY,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;AAChD,SAAA;;KAEF;uGAhCU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,qBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,uBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAAhB,gBAAgB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAKhB,eAAe,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3B5B,ssBAgBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,cAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,6BAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDMa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,SAAS;+BACE,eAAe,EAAA,QAAA,EAAA,ssBAAA,EAAA,CAAA;mLAIhB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACyC,UAAU,EAAA,CAAA;sBAAxD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;;;MENlC,qBAAqB,CAAA;AAMZ,IAAA,iBAAA,CAAA;AALpB,IAAA,kBAAkB,CAAa;AAEtB,IAAA,IAAI,CAAa;AACjB,IAAA,SAAS,CAAkB;AACV,IAAA,eAAe,CAA8B;AACvE,IAAA,WAAA,CAAoB,iBAA0C,EAAA;QAA1C,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAyB;QAC5D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAe,CAAC;KACxE;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;KACtE;IAED,eAAe,GAAA;QACb,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,aAAa,GAAA;QACX,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;KACvE;IAED,eAAe,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YACpC,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;KACtC;IAED,QAAQ,GAAA;;;;AAIN,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YACpC,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;KACvC;IAED,cAAc,GAAA;QACZ,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE;YACtD,OAAO;AACR,SAAA;QAED,IAAI;AACF,YAAA,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS;AAC1C,gBAAA,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC;AACnD,SAAA;AAAC,QAAA,OAAO,GAAG,EAAE;AACZ,YAAA,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AACjC,SAAA;KACF;AAED,IAAA,UAAU,CAAC,OAAqB,EAAA;QAC9B,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KAC7D;uGA1DU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAN,uBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,6NCrBlC,6xBAoBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAQ,IAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,6DAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,EAAA,0BAAA,EAAA,wBAAA,EAAA,wBAAA,EAAA,yBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,gBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDCa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;+BACE,qBAAqB,EAAA,QAAA,EAAA,6xBAAA,EAAA,CAAA;2GAMtB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACoB,eAAe,EAAA,CAAA;sBAAxC,SAAS;uBAAC,aAAa,CAAA;;;MElBb,kBAAkB,CAAA;IAC7B,eAAe,GAAc,IAAI,SAAS,CAAC;;QAEzC,OAAO,EAAE,IAAI,WAAW,CAAC,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC;;AAElD,KAAA,CAAC,CAAC;AAEM,IAAA,SAAS,CAAkB;AAC3B,IAAA,IAAI,CAAa;IAE1B,WAAW,GAAA;AACT,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,KAAe,CAAC;QAClE,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC5B,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;KACnD;uGAjBU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,0GCR/B,knBAoBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAZ,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDZa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,knBAAA,EAAA,CAAA;8BAUnB,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;;;METK,aAAa,CAAA;AACf,IAAA,IAAI,CAAa;AACjB,IAAA,SAAS,CAAkB;uGAFzB,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,oGCP1B,sUAQA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAa,qBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,kBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDDa,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,SAAS;+BACE,YAAY,EAAA,QAAA,EAAA,sUAAA,EAAA,CAAA;8BAIb,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MEHK,cAAc,CAAA;AACL,IAAA,IAAA,CAAA;AAApB,IAAA,WAAA,CAAoB,IAAgC,EAAA;QAAhC,IAAI,CAAA,IAAA,GAAJ,IAAI,CAA4B;KAAI;IAExD,eAAe,GAAA;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAoC,EAAE,MAAM,CAAC,CAAC;KAC/D;uGANU,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAAd,cAAc,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACzB,iBAAA,CAAA;;;MCIY,sBAAsB,CAAA;AAMd,IAAA,iBAAA,CAAA;AALV,IAAA,IAAI,CAAqB;AACzB,IAAA,SAAS,CAAkB;IAE3B,cAAc,GAAG,cAAc,CAAC;AAEzC,IAAA,WAAA,CAAmB,iBAA0C,EAAA;QAA1C,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAyB;KAAI;uGANtD,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAV,uBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,8GCTnC,wqCA0BA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAe,6BAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,cAAA,EAAA,QAAA,EAAA,cAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDjBa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;+BACE,sBAAsB,EAAA,QAAA,EAAA,wqCAAA,EAAA,CAAA;2GAIvB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MEJK,kBAAkB,CAAA;AACpB,IAAA,SAAS,CAAkB;AAC3B,IAAA,KAAK,CAAe;IAE7B,QAAQ,GAAA;;KAEP;uGANU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,4GCP/B,+UAMA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDCa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,+UAAA,EAAA,CAAA;8BAInB,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;;;MEJK,oBAAoB,CAAA;IAC/B,OAAO,GAAG,+DAA+D,CAAC;uGAD/D,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAApB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFnB,MAAM,EAAA,CAAA,CAAA;;2FAEP,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCGY,gBAAgB,CAAA;AAClB,IAAA,SAAS,CAAkB;IAEpC,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;YAC9B,OAAO;AACR,SAAA;AACD,QAAA,KAAK,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;KACpE;IAED,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;YAC9B,OAAO;AACR,SAAA;AACD,QAAA,KAAK,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;KACpE;uGAfU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,yFCP7B,iuBAoBA,EAAA,CAAA,CAAA;;2FDba,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,SAAS;+BACE,eAAe,EAAA,QAAA,EAAA,iuBAAA,EAAA,CAAA;8BAIhB,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MEAK,wBAAwB,CAAA;AAIhB,IAAA,oBAAA,CAAA;AAHT,IAAA,aAAa,GAAG,IAAI,YAAY,EAAE,CAAC;AACpC,IAAA,UAAU,CAAW;AACrB,IAAA,SAAS,CAAkB;AACpC,IAAA,WAAA,CAAmB,oBAA0C,EAAA;QAA1C,IAAoB,CAAA,oBAAA,GAApB,oBAAoB,CAAsB;AAC3D,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC1C;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC1C;uGAZU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,yKCRrC,0/DAiDA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAlB,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAmB,gBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDzCa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;+BACE,wBAAwB,EAAA,QAAA,EAAA,0/DAAA,EAAA,CAAA;wGAIxB,aAAa,EAAA,CAAA;sBAAtB,MAAM;gBACE,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;AEXR,IAAY,cAIX,CAAA;AAJD,CAAA,UAAY,cAAc,EAAA;AACxB,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,cAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;AACnC,IAAA,cAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC7B,CAAC,EAJW,cAAc,KAAd,cAAc,GAIzB,EAAA,CAAA,CAAA,CAAA;AAMM,MAAM,uBAAuB,GAAG,cAAc,CAAC,IAAI;;MCA7C,eAAe,CAAA;AAC1B,IAAA,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC;AACjC,IAAA,YAAY,CAAgB;AAEnB,IAAA,MAAM,CAAwB;IAEvC,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY;AAC/C,aAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;AACvB,aAAA,SAAS,CAAC,CAAC,KAAa,KAAK,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;KACnE;IAED,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;AACjC,SAAA;KACF;uGAhBU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,kFCV5B,u1BAsBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAnB,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,kBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDZa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAJ3B,SAAS;+BACE,cAAc,EAAA,QAAA,EAAA,u1BAAA,EAAA,CAAA;8BAOf,MAAM,EAAA,CAAA;sBAAd,KAAK;;;MELK,mBAAmB,CAAA;AACrB,IAAA,SAAS,CAAkB;AAC3B,IAAA,SAAS,CAAkB;IAEpC,uBAAuB,GAAA;QACrB,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,cAAc,CAAC,eAAe,CAAC;KAC7D;uGANU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,qHCThC,4KAIA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDKa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,4KAAA,EAAA,CAAA;8BAKpB,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MEFK,4BAA4B,CAAA;AAC9B,IAAA,SAAS,CAAkB;AAC3B,IAAA,MAAM,CAAwB;uGAF5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,wHCTzC,qHAGA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAe,eAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDMa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;+BACE,4BAA4B,EAAA,QAAA,EAAA,qHAAA,EAAA,CAAA;8BAK7B,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;MECK,iBAAiB,CAAA;AACnB,IAAA,MAAM,CAAwB;AAC9B,IAAA,SAAS,CAAkB;IAE3B,cAAc,GAAG,cAAc,CAAC;AAEzC,IAAA,KAAK,GAAmB;AACtB,QAAA,WAAW,EAAE,uBAAuB;KACrC,CAAC;IAEF,iBAAiB,GAAA;QACf,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,cAAc,CAAC,eAAe,CAAC;KACzD;IAED,mBAAmB,GAAA;QACjB,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC;KACrD;uGAhBU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,6GCZ9B,uyCAgCA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,4BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDpBa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,uyCAAA,EAAA,CAAA;8BAIlB,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MEPK,kBAAkB,CAAA;AAC7B,IAAA,gBAAgB,CAAU;AAEjB,IAAA,SAAS,CAAkB;AACpC,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;KAC/B;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;KAC5B;;;;AAMD,IAAA,qBAAqB,CAAC,KAAc,EAAA;AAClC,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;KAC/B;uGAlBU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,2FCP/B,yvCA4BA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAvB,IAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,6DAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,EAAA,0BAAA,EAAA,wBAAA,EAAA,wBAAA,EAAA,yBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAwB,aAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,kBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,wBAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,kBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDrBa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,yvCAAA,EAAA,CAAA;0EAMlB,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MEJK,oBAAoB,CAAA;IAC/B,UAAU,GAAqB,EAAE,CAAC;AAElC,IAAA,wBAAwB,CAAC,IAAY,EAAA;;AAEnC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;QACD,OAAO,OAAO,CAAC,SAAS,CAAC;;KAE1B;uGAXU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAApB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFnB,MAAM,EAAA,CAAA,CAAA;;2FAEP,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCcY,uBAAuB,CAAA;AAMxB,IAAA,cAAA,CAAA;AACA,IAAA,wBAAA,CAAA;AACD,IAAA,iBAAA,CAAA;AACC,IAAA,EAAA,CAAA;AARV,IAAA,OAAO,CAAU;AAER,IAAA,KAAK,CAAuB;AACU,IAAA,UAAU,CAAmB;AAC5E,IAAA,WAAA,CACU,cAAoC,EACpC,wBAAkD,EACnD,iBAA0C,EACzC,EAAqB,EAAA;QAHrB,IAAc,CAAA,cAAA,GAAd,cAAc,CAAsB;QACpC,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;QACnD,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAyB;QACzC,IAAE,CAAA,EAAA,GAAF,EAAE,CAAmB;KAC3B;IAEJ,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YACnB,IAAI,CAAC,eAAe,EAAE,CAAC;AACxB,SAAA;KACF;IAED,eAAe,GAAA;;QAEb,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;YACvC,OAAO;AACR,SAAA;QACD,IAAI;YACF,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gBACjC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;AACvC,oBAAA,IAAI,OAAO,EAAE;wBACX,OAAO,IAAI,QAAQ,CAAC;AACrB,qBAAA;AACD,oBAAA,OAAO,IAAI,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChD,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACxB,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;AACV,YAAA,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAC7C,SAAA;;KAEF;IAED,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC;;AAExB,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;AACrB,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,wBAAwB,CACzD,IAAI,CAAC,KAAK,CAAC,MAAM,CAClB,CAAC;YACF,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO;AACR,aAAA;AACD,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;YAC1D,gBAAgB,CAAC,KAAK,EAAE,CAAC;YACzB,MAAM,eAAe,GACnB,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;YAChE,MAAM,YAAY,GAChB,gBAAgB,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;YACpD,YAAY,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzC,YAAY,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACzC,YAAA,YAAY,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;AAChD,SAAA;;KAEF;uGA7DU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,oBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAAtB,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAAvB,uBAAuB,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAIvB,eAAe,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvB5B,o7BAoBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,cAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDDa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,o7BAAA,EAAA,CAAA;kNAMxB,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACyC,UAAU,EAAA,CAAA;sBAAxD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;;;MEflC,oCAAoC,CAAA;AAE5B,IAAA,iBAAA,CAAA;AADV,IAAA,OAAO,CAA+B;AAC/C,IAAA,WAAA,CAAmB,iBAA0C,EAAA;QAA1C,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAyB;KAAI;uGAFtD,oCAAoC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAL,uBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oCAAoC,4GCRjD,wrDA8BA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA8B,uBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA9B,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDtBa,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBAJhD,SAAS;+BACE,sCAAsC,EAAA,QAAA,EAAA,wrDAAA,EAAA,CAAA;2GAIvC,OAAO,EAAA,CAAA;sBAAf,KAAK;;;MEGK,4CAA4C,CAAA;AAK9C,IAAA,iBAAA,CAAA;AACA,IAAA,oBAAA,CAAA;AALA,IAAA,SAAS,CAAwB;AACjC,IAAA,MAAM,CAAwB;IAEvC,WACS,CAAA,iBAA0C,EAC1C,oBAA0C,EAAA;QAD1C,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAyB;QAC1C,IAAoB,CAAA,oBAAA,GAApB,oBAAoB,CAAsB;KAC/C;IAEJ,QAAQ,GAAA;QACN,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KAC1C;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACtC;uGAfU,4CAA4C,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAI,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAA2B,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5C,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4CAA4C,yICZzD,okCAsBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAvB,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAwB,oCAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDVa,4CAA4C,EAAA,UAAA,EAAA,CAAA;kBAJxD,SAAS;+BACE,6CAA6C,EAAA,QAAA,EAAA,okCAAA,EAAA,CAAA;2IAI9C,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;MEPK,6BAA6B,CAAA;AAC/B,IAAA,eAAe,CAAwB;uGADrC,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,kHCP1C,qbAWA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,4CAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDJa,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAJzC,SAAS;+BACE,4BAA4B,EAAA,QAAA,EAAA,qbAAA,EAAA,CAAA;8BAI7B,eAAe,EAAA,CAAA;sBAAvB,KAAK;;;MEDK,uBAAuB,CAAA;uGAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,4DCPpC,kCACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDMa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,sBAAsB,EAAA,QAAA,EAAA,kCAAA,EAAA,CAAA;;;MEGrB,mCAAmC,CAAA;uGAAnC,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mCAAmC,yECNhD,+CACA,EAAA,CAAA,CAAA;;2FDKa,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAJ/C,SAAS;+BACE,mCAAmC,EAAA,QAAA,EAAA,+CAAA,EAAA,CAAA;;;MEGlC,uBAAuB,CAAA;uGAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,6DCNpC,iCACA,EAAA,CAAA,CAAA;;2FDKa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;+BACE,uBAAuB,EAAA,QAAA,EAAA,iCAAA,EAAA,CAAA;;;MEoFtB,WAAW,CAAA;uGAAX,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,iBA5CpB,cAAc;YACd,sBAAsB;YACtB,kBAAkB;YAClB,sBAAsB;YACtB,uBAAuB;YACvB,sBAAsB;YACtB,kBAAkB;YAClB,aAAa;YACb,gBAAgB;YAChB,kBAAkB;YAClB,qBAAqB;YACrB,sBAAsB;YACtB,kBAAkB;YAClB,wBAAwB;YACxB,6BAA6B;YAC7B,mCAAmC;YACnC,4CAA4C;YAC5C,eAAe;YACf,mBAAmB;YACnB,iBAAiB;YACjB,6BAA6B;YAC7B,kBAAkB;YAClB,eAAe;YACf,mBAAmB;YACnB,4BAA4B;YAC5B,cAAc;YACd,gBAAgB;YAChB,uBAAuB;YACvB,oCAAoC;AACpC,YAAA,uBAAuB,aAGvB,YAAY;YACZ,aAAa;YACb,eAAe;YACf,eAAe;YACf,uBAAuB;YACvB,kBAAkB;YAClB,mBAAmB;YACnB,cAAc;AACd,YAAA,oBAAoB,CAEZ,EAAA,OAAA,EAAA,CAAA,cAAc,EAAE,kBAAkB,EAAE,6BAA6B,CAAA,EAAA,CAAA,CAAA;AAEhE,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,YAZpB,YAAY;YACZ,aAAa;YACb,eAAe;YACf,eAAe;YACf,uBAAuB;YACvB,kBAAkB;YAClB,mBAAmB;YACnB,cAAc;YACd,oBAAoB,CAAA,EAAA,CAAA,CAAA;;2FAIX,WAAW,EAAA,UAAA,EAAA,CAAA;kBA9CvB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,cAAc;wBACd,sBAAsB;wBACtB,kBAAkB;wBAClB,sBAAsB;wBACtB,uBAAuB;wBACvB,sBAAsB;wBACtB,kBAAkB;wBAClB,aAAa;wBACb,gBAAgB;wBAChB,kBAAkB;wBAClB,qBAAqB;wBACrB,sBAAsB;wBACtB,kBAAkB;wBAClB,wBAAwB;wBACxB,6BAA6B;wBAC7B,mCAAmC;wBACnC,4CAA4C;wBAC5C,eAAe;wBACf,mBAAmB;wBACnB,iBAAiB;wBACjB,6BAA6B;wBAC7B,kBAAkB;wBAClB,eAAe;wBACf,mBAAmB;wBACnB,4BAA4B;wBAC5B,cAAc;wBACd,gBAAgB;wBAChB,uBAAuB;wBACvB,oCAAoC;wBACpC,uBAAuB;AACxB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,aAAa;wBACb,eAAe;wBACf,eAAe;wBACf,uBAAuB;wBACvB,kBAAkB;wBAClB,mBAAmB;wBACnB,cAAc;wBACd,oBAAoB;AACrB,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC,cAAc,EAAE,kBAAkB,EAAE,6BAA6B,CAAC;AAC7E,iBAAA,CAAA;;;ACtFD;;AAEG;;ACFH;;AAEG;;;;"}
@@ -1,5 +1,5 @@
1
- import { AfterViewInit, ComponentFactoryResolver, OnInit } from '@angular/core';
2
- import { RTSeeDashboardEvent } from '@rtsee/events-manager';
1
+ import { AfterViewInit, ChangeDetectorRef, ComponentFactoryResolver, OnInit } from '@angular/core';
2
+ import { RTSeeDashboardEvent } from '@rtsee/events-dashboard';
3
3
  import { WidgetDirective } from '../../../../directives/widget.directive';
4
4
  import { EventsWidgetsService } from '../../../../services/events-widgets.service';
5
5
  import { TimeFormatHelperService } from '../../../../services/time-format-helper.service';
@@ -8,10 +8,11 @@ export declare class EventThumbnailComponent implements OnInit, AfterViewInit {
8
8
  private widgetsService;
9
9
  private componentFactoryResolver;
10
10
  timeFormatService: TimeFormatHelperService;
11
+ private cd;
11
12
  tooltip?: string;
12
13
  event: RTSeeDashboardEvent;
13
14
  widgetHost: WidgetDirective;
14
- constructor(widgetsService: EventsWidgetsService, componentFactoryResolver: ComponentFactoryResolver, timeFormatService: TimeFormatHelperService);
15
+ constructor(widgetsService: EventsWidgetsService, componentFactoryResolver: ComponentFactoryResolver, timeFormatService: TimeFormatHelperService, cd: ChangeDetectorRef);
15
16
  ngOnInit(): void;
16
17
  generateTooltip(): void;
17
18
  ngAfterViewInit(): void;
@@ -1,7 +1,7 @@
1
1
  import { OnInit } from '@angular/core';
2
- import { RTSeeDashboardClient, RTSeeEventsDashboard } from '@rtsee/events-manager';
3
2
  import { TimeFormatHelperService } from '../../../../services/time-format-helper.service';
4
3
  import { DefaultImagesService } from '../../../../services/default-images.service';
4
+ import { RTSeeEventsDashboard, RTSeeDashboardClient } from '@rtsee/events-dashboard';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class RtseeEventsDashboardClientThumbnailComponent implements OnInit {
7
7
  timeFormatService: TimeFormatHelperService;
@@ -1,5 +1,5 @@
1
- import { RTSeeDashboardClientSession } from '@rtsee/events-manager';
2
1
  import { TimeFormatHelperService } from '../../../../services/time-format-helper.service';
2
+ import { RTSeeDashboardClientSession } from '@rtsee/events-dashboard';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class RtseeEventsDashboardSessionComponent {
5
5
  timeFormatService: TimeFormatHelperService;
@@ -1,4 +1,4 @@
1
- import { RTSeeEventsDashboard } from '@rtsee/events-manager';
1
+ import { RTSeeEventsDashboard } from '@rtsee/events-dashboard';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class RtseeEventsDashboardComponent {
4
4
  eventsDashboard: RTSeeEventsDashboard;
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.0.42",
2
+ "version": "0.0.44",
3
3
  "name": "@rtsee/ngx",
4
4
  "module": "./dist/ngx/esm2022/public-api.mjs",
5
5
  "types": "./dist/ngx/index.d.ts",
@@ -34,10 +34,10 @@
34
34
  "@angular/platform-browser": "~16.2.2",
35
35
  "@angular/platform-browser-dynamic": "~16.2.2",
36
36
  "@angular/router": "~16.2.2",
37
- "@rtsee/common": "^0.0.12",
38
- "@rtsee/conference": "^0.0.13",
39
- "@rtsee/events-manager": "^0.0.46",
40
- "@rtsee/messenger": "^0.0.46",
37
+ "@rtsee/common": "^0.0.14",
38
+ "@rtsee/conference": "^0.0.15",
39
+ "@rtsee/events-dashboard": "./packages/@rtsee/events-dashboard",
40
+ "@rtsee/messenger": "^0.0.48",
41
41
  "dayjs": "^1.11.9",
42
42
  "ngx-autosize": "^2.0.4",
43
43
  "ngx-infinite-scroll": "16.0.0",
@@ -60,5 +60,5 @@
60
60
  "publishConfig": {
61
61
  "access": "public"
62
62
  },
63
- "gitHead": "c03d58e5a79ff2353cda3e25dc9b6c19c591ed88"
63
+ "gitHead": "d01a715eca40e33e454964292e4b9ac7e9899581"
64
64
  }