@bizdoc/core 1.14.0-next.10 → 1.14.0-next.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/esm2020/lib/admin/diff/configuration-diff.component.mjs +2 -2
  2. package/esm2020/lib/admin/document-trace/document-trace.component.mjs +120 -59
  3. package/esm2020/lib/admin/document-trace/trace-element.component.mjs +52 -34
  4. package/esm2020/lib/admin/form/form.service.mjs +20 -3
  5. package/esm2020/lib/chat/conversation.component.mjs +2 -2
  6. package/esm2020/lib/compose/trace/trace.component.mjs +3 -3
  7. package/esm2020/lib/compose/version-compare/version.pane.component.mjs +3 -3
  8. package/esm2020/lib/core/controls/combination-picker-body.mjs +2 -2
  9. package/esm2020/lib/core/slots/router.service.mjs +1 -4
  10. package/esm2020/lib/core/slots/slots.component.mjs +11 -8
  11. package/esm2020/lib/core/translate.service.mjs +5 -5
  12. package/esm2020/lib/core/translations.mjs +9 -3
  13. package/esm2020/lib/cube/accum/accum.component.mjs +1 -1
  14. package/esm2020/lib/cube/chart/chart.component.mjs +1 -1
  15. package/esm2020/lib/cube/parallel/parallel.component.mjs +3 -3
  16. package/esm2020/lib/cube/pivot/pivot.component.mjs +15 -19
  17. package/esm2020/lib/home/home.desktop.component.mjs +7 -13
  18. package/esm2020/lib/modules/chart.module.mjs +12 -10
  19. package/esm2020/lib/modules/diagram.module.mjs +4 -4
  20. package/esm2020/lib/modules/pivot.module.mjs +3 -2
  21. package/esm2020/lib/modules/spreadsheet.module.mjs +5 -3
  22. package/esm2020/lib/modules/texteditor.module.mjs +4 -4
  23. package/esm2020/lib/reports/cube/usage-pivot.component.mjs +2 -3
  24. package/esm2020/lib/views/cube/sum.component.mjs +3 -3
  25. package/esm2020/public-api.mjs +1 -1
  26. package/fesm2015/bizdoc-core.mjs +248 -163
  27. package/fesm2015/bizdoc-core.mjs.map +1 -1
  28. package/fesm2020/bizdoc-core.mjs +222 -139
  29. package/fesm2020/bizdoc-core.mjs.map +1 -1
  30. package/lib/admin/document-trace/document-trace.component.d.ts +33 -18
  31. package/lib/admin/document-trace/trace-element.component.d.ts +22 -8
  32. package/lib/admin/form/form.service.d.ts +19 -2
  33. package/lib/core/slots/router.service.d.ts +2 -1
  34. package/lib/core/slots/slots.component.d.ts +1 -1
  35. package/lib/core/translations.d.ts +6 -0
  36. package/lib/home/home.desktop.component.d.ts +3 -3
  37. package/lib/modules/chart.module.d.ts +1 -1
  38. package/lib/views/cube/sum.component.d.ts +1 -1
  39. package/package.json +1 -1
  40. package/public-api.d.ts +1 -1
@@ -1,34 +1,46 @@
1
- import { Component, EventEmitter, Input, Output } from "@angular/core";
1
+ import { Component } from "@angular/core";
2
2
  import { forkJoin, of } from "rxjs";
3
3
  import { map } from "rxjs/operators";
4
4
  import { OpenPolicy } from "../../core/configuration";
5
+ import { ReassignDialog } from "./reassign.dialog";
5
6
  import * as i0 from "@angular/core";
6
- import * as i1 from "../../chat/chat-info";
7
- import * as i2 from "../../core/slots/router.service";
8
- import * as i3 from "../../core/translate.service";
9
- import * as i4 from "../../core/account.service";
10
- import * as i5 from "../../core/session.service";
11
- import * as i6 from "@angular/material/icon";
12
- import * as i7 from "@angular/material/button";
13
- import * as i8 from "@angular/material/menu";
14
- import * as i9 from "@angular/common";
15
- import * as i10 from "../../core/popup/tooltip.directive";
16
- import * as i11 from "../../core/pipes/translate.pipe";
17
- import * as i12 from "../../core/pipes/sanitize-html.pipe";
18
- import * as i13 from "../../core/pipes/action.pipe";
19
- import * as i14 from "../../core/pipes/date-format.pipe";
20
- import * as i15 from "../../core/pipes/state.pipe";
7
+ import * as i1 from "../../core/slots/pane-ref";
8
+ import * as i2 from "../../chat/chat-info";
9
+ import * as i3 from "../../core/prompt.service";
10
+ import * as i4 from "../../core/slots/router.service";
11
+ import * as i5 from "../../core/translate.service";
12
+ import * as i6 from "../../core/account.service";
13
+ import * as i7 from "@angular/material/dialog";
14
+ import * as i8 from "../../core/session.service";
15
+ import * as i9 from "@angular/material/icon";
16
+ import * as i10 from "@angular/material/button";
17
+ import * as i11 from "@angular/material/menu";
18
+ import * as i12 from "@angular/flex-layout/flex";
19
+ import * as i13 from "@angular/common";
20
+ import * as i14 from "../../core/popup/tooltip.directive";
21
+ import * as i15 from "../../core/pipes/translate.pipe";
22
+ import * as i16 from "../../core/pipes/sanitize-html.pipe";
23
+ import * as i17 from "../../core/pipes/action.pipe";
24
+ import * as i18 from "../../core/pipes/date-format.pipe";
25
+ import * as i19 from "../../core/pipes/state.pipe";
21
26
  const VISIABLE_LOG_TYPES = ['StateChange', 'ModelChange', 'Download'];
22
27
  export class TraceElementComponent {
23
- constructor(_chat, _router, _translate, _accounts, _session) {
28
+ constructor(_pane, _chat, _sb, _router, _translate, _accounts, _dialog, _session) {
29
+ this._pane = _pane;
24
30
  this._chat = _chat;
31
+ this._sb = _sb;
25
32
  this._router = _router;
26
33
  this._translate = _translate;
27
34
  this._accounts = _accounts;
35
+ this._dialog = _dialog;
28
36
  this._session = _session;
29
- this.assign = new EventEmitter();
37
+ _pane.dataChange.subscribe(this.change.bind(this));
30
38
  }
31
- ngOnChanges() {
39
+ change(state) {
40
+ this.model = state.model;
41
+ this.timeline = state.timeline;
42
+ this.node = state.node;
43
+ this._utilityRef = state.utilityRef;
32
44
  const { id, addInfo } = this.node;
33
45
  const recipients = this.timeline.recipients.filter(r => r.nodeId === id), log = this.timeline.log.filter(l => l.nodeId === id);
34
46
  this.recipients = recipients,
@@ -37,8 +49,22 @@ export class TraceElementComponent {
37
49
  this.log = log.filter(l => VISIABLE_LOG_TYPES.indexOf(l.type) > -1),
38
50
  this.estimate = log.find(l => l.estimate) !== undefined,
39
51
  this.skip = log.find(l => l.type === 'NodeJump') !== undefined,
40
- this.none = log.length === 0,
41
- this.nodeType = this._session.profile.nodes.find(n => n.name === addInfo.nodeType);
52
+ this.none = log.length === 0;
53
+ const nodeType = this._session.profile.nodes.find(n => n.name === addInfo.nodeType);
54
+ this._pane.title = nodeType.title;
55
+ }
56
+ fileName(fileId) {
57
+ const file = this.model.attachments.find(f => f.id === fileId);
58
+ return file.fileName;
59
+ }
60
+ /** */
61
+ assign(recipient) {
62
+ this._dialog.open(ReassignDialog, { data: { exclude: [recipient.userId] } }).afterClosed().
63
+ subscribe((m) => {
64
+ m && this._utilityRef.execute({ id: recipient.id, ...m }).subscribe(r => {
65
+ Object.assign(this.model, r);
66
+ }, () => this._sb.error());
67
+ });
42
68
  }
43
69
  async recipientInfo(recipient) {
44
70
  const info = [];
@@ -88,18 +114,10 @@ export class TraceElementComponent {
88
114
  this._chat.open(userId);
89
115
  }
90
116
  }
91
- TraceElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: TraceElementComponent, deps: [{ token: i1.ChatInfo }, { token: i2.PanesRouter }, { token: i3.TranslateService }, { token: i4.AccountService }, { token: i5.SessionService }], target: i0.ɵɵFactoryTarget.Component });
92
- TraceElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: TraceElementComponent, selector: "bizdoc-document-trace-element", inputs: { model: "model", timeline: "timeline", node: "node" }, outputs: { assign: "assign" }, usesOnChanges: true, ngImport: i0, template: "<h3>\r\n {{nodeType.title}}\r\n</h3>\r\n\r\n<h4 *ngIf=\"estimate\">{{'Estimate' | translate}}</h4>\r\n<h4 *ngIf=\"none\">{{'NoEstimate' | translate}}</h4>\r\n<h4 *ngIf=\"skip\">{{'Skipped' | translate}}</h4>\r\n\r\n<h4 *ngIf=\"recurring\" class=\"message mat-body-1\"><mat-icon>info</mat-icon> {{'TimelineMore' | translate}}</h4>\r\n\r\n<table class=\"mat-table\">\r\n <tbody class=\"mat-table-body\">\r\n <tr *ngFor=\"let r of recipients\" class=\"mat-row\">\r\n <td class=\"mat-cell\" (click)=\"chat($event)\" [innerHTML]=\"recipientInfo(r) | async | sanitizeHtml\">\r\n </td>\r\n <td class=\"mat-cell\">\r\n <span *ngIf=\"r.action\">\r\n {{r.action | action : 'past'}}\r\n </span>\r\n <span *ngIf=\"r.pending\">\r\n <span *ngIf=\"!r.estimate; else estimate\">\r\n {{'IsPending' | translate}}\r\n </span>\r\n </span>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <span *ngIf=\"!r.estimate; estimate\">{{r.received || r.replied | amDateFormat: 'lll'}}</span>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button *ngIf=\"!r.estimate\" [matMenuTriggerFor]=\"options\" [disabled]=\"!r.pending\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #options>\r\n <button mat-menu-item (click)=\"assign.emit(r)\" *ngIf=\"r.pending\">{{'Reassign'|translate}}</button>\r\n </mat-menu>\r\n </td>\r\n </tr>\r\n </tbody>\r\n <tbody class=\"mat-table-body\">\r\n <tr *ngFor=\"let l of log\" class=\"mat-row\">\r\n <td class=\"mat-cell\" (click)=\"chat($event)\" [innerHTML]=\"logInfo(l) | async | sanitizeHtml\">\r\n </td>\r\n <td [ngSwitch]=\"l.type\" class=\"mat-cell\">\r\n <span *ngSwitchCase=\"'StateChange'\">\r\n {{l.state | state : (l.estimate ? 'future' : 'past')}}\r\n </span>\r\n <span *ngSwitchCase=\"'ModelChange'\">\r\n {{'Changed' | translate}}\r\n </span>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <span *ngIf=\"!l.estimate\">{{l.time | amDateFormat: 'lll'}}</span>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"compare(l)\" *ngIf=\"l.type==='ModelChange'\" [bizdocTooltip]=\"'Compare'|translate\"><mat-icon>visibility</mat-icon></button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n", styles: [":host{padding:8px;display:block}:host .message{text-align:center}:host .message>*{vertical-align:text-bottom}:host table{background:none}:host table tr td{padding-left:2px;padding-right:2px}\n"], components: [{ type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i8.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i9.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i9.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i10.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }], pipes: { "translate": i11.TranslatePipe, "sanitizeHtml": i12.SanitizeHtmlPipe, "async": i9.AsyncPipe, "action": i13.ActionPipe, "amDateFormat": i14.DateFormatPipe, "state": i15.StatePipe } });
117
+ TraceElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: TraceElementComponent, deps: [{ token: i1.PaneRef }, { token: i2.ChatInfo }, { token: i3.PromptService }, { token: i4.PanesRouter }, { token: i5.TranslateService }, { token: i6.AccountService }, { token: i7.MatDialog }, { token: i8.SessionService }], target: i0.ɵɵFactoryTarget.Component });
118
+ TraceElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: TraceElementComponent, selector: "bizdoc-document-trace-element", ngImport: i0, template: "<h4 fxLayoutAlign=\"center\" class=\"mat-body-2\">\r\n <span *ngIf=\"estimate\">{{'Estimate' | translate}}</span>\r\n <span *ngIf=\"none\">{{'NoEstimate' | translate}}</span>\r\n <span *ngIf=\"skip\">{{'Skipped' | translate}}</span>\r\n</h4>\r\n\r\n<h4 *ngIf=\"recurring\" class=\"message mat-body-1\"><mat-icon>info</mat-icon> {{'TimelineMore' | translate}}</h4>\r\n\r\n<table class=\"mat-table\">\r\n <tbody class=\"mat-table-body\">\r\n <tr *ngFor=\"let r of recipients\" class=\"mat-row\">\r\n <td class=\"mat-cell\" (click)=\"chat($event)\" [innerHTML]=\"recipientInfo(r) | async | sanitizeHtml\">\r\n </td>\r\n <td class=\"mat-cell\">\r\n <span *ngIf=\"r.action\">\r\n {{r.action | action : 'past'}}\r\n </span>\r\n <span *ngIf=\"r.pending\">\r\n <span *ngIf=\"!r.estimate; else estimate\">\r\n {{'IsPending' | translate}}\r\n </span>\r\n </span>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <span *ngIf=\"!r.estimate; estimate\">{{r.received || r.replied | amDateFormat: 'lll'}}</span>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button *ngIf=\"!r.estimate\" [matMenuTriggerFor]=\"options\" [disabled]=\"!r.pending\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #options>\r\n <button mat-menu-item (click)=\"assign(r)\" *ngIf=\"r.pending\">{{'Reassign'|translate}}</button>\r\n </mat-menu>\r\n </td>\r\n </tr>\r\n </tbody>\r\n <tbody class=\"mat-table-body\">\r\n <tr *ngFor=\"let l of log\" class=\"mat-row\">\r\n <td class=\"mat-cell\" (click)=\"chat($event)\" [innerHTML]=\"logInfo(l) | async | sanitizeHtml\">\r\n </td>\r\n <td [ngSwitch]=\"l.type\" class=\"mat-cell\">\r\n <span *ngSwitchCase=\"'StateChange'\">\r\n {{l.state | state : (l.estimate ? 'future' : 'past')}}\r\n </span>\r\n <span *ngSwitchCase=\"'ModelChange'\">\r\n {{'Changed' | translate}}\r\n </span>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <span *ngIf=\"!l.estimate\">{{l.time | amDateFormat: 'lll'}}</span>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"compare(l)\" *ngIf=\"l.type==='ModelChange'\" [bizdocTooltip]=\"'Compare'|translate\"><mat-icon>visibility</mat-icon></button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n", styles: [":host{padding:8px;min-width:300px;display:block}.message{text-align:center}.message>*{vertical-align:text-bottom}table{background:none;width:100%}table tr td{padding-left:2px;padding-right:2px}\n"], components: [{ type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i10.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i11.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }], directives: [{ type: i12.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i13.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i13.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i13.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i14.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }], pipes: { "translate": i15.TranslatePipe, "sanitizeHtml": i16.SanitizeHtmlPipe, "async": i13.AsyncPipe, "action": i17.ActionPipe, "amDateFormat": i18.DateFormatPipe, "state": i19.StatePipe } });
93
119
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: TraceElementComponent, decorators: [{
94
120
  type: Component,
95
- args: [{ selector: 'bizdoc-document-trace-element', template: "<h3>\r\n {{nodeType.title}}\r\n</h3>\r\n\r\n<h4 *ngIf=\"estimate\">{{'Estimate' | translate}}</h4>\r\n<h4 *ngIf=\"none\">{{'NoEstimate' | translate}}</h4>\r\n<h4 *ngIf=\"skip\">{{'Skipped' | translate}}</h4>\r\n\r\n<h4 *ngIf=\"recurring\" class=\"message mat-body-1\"><mat-icon>info</mat-icon> {{'TimelineMore' | translate}}</h4>\r\n\r\n<table class=\"mat-table\">\r\n <tbody class=\"mat-table-body\">\r\n <tr *ngFor=\"let r of recipients\" class=\"mat-row\">\r\n <td class=\"mat-cell\" (click)=\"chat($event)\" [innerHTML]=\"recipientInfo(r) | async | sanitizeHtml\">\r\n </td>\r\n <td class=\"mat-cell\">\r\n <span *ngIf=\"r.action\">\r\n {{r.action | action : 'past'}}\r\n </span>\r\n <span *ngIf=\"r.pending\">\r\n <span *ngIf=\"!r.estimate; else estimate\">\r\n {{'IsPending' | translate}}\r\n </span>\r\n </span>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <span *ngIf=\"!r.estimate; estimate\">{{r.received || r.replied | amDateFormat: 'lll'}}</span>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button *ngIf=\"!r.estimate\" [matMenuTriggerFor]=\"options\" [disabled]=\"!r.pending\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #options>\r\n <button mat-menu-item (click)=\"assign.emit(r)\" *ngIf=\"r.pending\">{{'Reassign'|translate}}</button>\r\n </mat-menu>\r\n </td>\r\n </tr>\r\n </tbody>\r\n <tbody class=\"mat-table-body\">\r\n <tr *ngFor=\"let l of log\" class=\"mat-row\">\r\n <td class=\"mat-cell\" (click)=\"chat($event)\" [innerHTML]=\"logInfo(l) | async | sanitizeHtml\">\r\n </td>\r\n <td [ngSwitch]=\"l.type\" class=\"mat-cell\">\r\n <span *ngSwitchCase=\"'StateChange'\">\r\n {{l.state | state : (l.estimate ? 'future' : 'past')}}\r\n </span>\r\n <span *ngSwitchCase=\"'ModelChange'\">\r\n {{'Changed' | translate}}\r\n </span>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <span *ngIf=\"!l.estimate\">{{l.time | amDateFormat: 'lll'}}</span>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"compare(l)\" *ngIf=\"l.type==='ModelChange'\" [bizdocTooltip]=\"'Compare'|translate\"><mat-icon>visibility</mat-icon></button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n", styles: [":host{padding:8px;display:block}:host .message{text-align:center}:host .message>*{vertical-align:text-bottom}:host table{background:none}:host table tr td{padding-left:2px;padding-right:2px}\n"] }]
96
- }], ctorParameters: function () { return [{ type: i1.ChatInfo }, { type: i2.PanesRouter }, { type: i3.TranslateService }, { type: i4.AccountService }, { type: i5.SessionService }]; }, propDecorators: { assign: [{
97
- type: Output
98
- }], model: [{
99
- type: Input
100
- }], timeline: [{
101
- type: Input
102
- }], node: [{
103
- type: Input
104
- }] } });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2UtZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2RvY3VtZW50LXRyYWNlL3RyYWNlLWVsZW1lbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9kb2N1bWVudC10cmFjZS90cmFjZS1lbGVtZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBU3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFdEQsTUFBTSxrQkFBa0IsR0FBYyxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFPakYsTUFBTSxPQUFPLHFCQUFxQjtJQWVoQyxZQUNVLEtBQWUsRUFDZixPQUFvQixFQUNwQixVQUE0QixFQUM1QixTQUF5QixFQUN6QixRQUF3QjtRQUp4QixVQUFLLEdBQUwsS0FBSyxDQUFVO1FBQ2YsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQUNwQixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUN6QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQW5CZixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztJQXFCMUQsQ0FBQztJQUNELFdBQVc7UUFDVCxNQUFNLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFDdEUsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVO1lBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU07Z0JBQzlGLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNO1lBQy9ELElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDbkUsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLFNBQVM7WUFDdkQsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsS0FBSyxTQUFTO1lBQzlELElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLE1B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QUNmLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRTtZQUMxSCxNQUFNLEVBQUUsVUFBVSxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUMsTUFBTTtTQUMzQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBQ0QsSUFBSSxDQUFDLENBQWE7UUFDaEIsTUFBTSxNQUFNLEdBQUksQ0FBQyxDQUFDLFVBQTBCLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZFLE1BQU07WUFDSixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QixDQUFDOztrSEFwRlUscUJBQXFCO3NHQUFyQixxQkFBcUIseUxDcEJsQywyMUVBeURBOzJGRHJDYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsK0JBQStCO2tOQUt0QixNQUFNO3NCQUF4QixNQUFNO2dCQUVFLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgTG9nLCBMb2dUeXBlLCBSZWNpcGllbnQgfSBmcm9tIFwiLi4vLi4vY29yZS9tb2RlbHNcIjtcclxuaW1wb3J0IHsgTm9kZU1vZGVsIH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWRpYWdyYW1zXCI7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2FjY291bnQuc2VydmljZSc7XHJcbmltcG9ydCB7IENoYXRJbmZvIH0gZnJvbSAnLi4vLi4vY2hhdC9jaGF0LWluZm8nO1xyXG5pbXBvcnQgeyBUaW1lbGluZSwgRGlhZ3JhbUluZm8gfSBmcm9tIFwiLi90aW1lbGluZVwiO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBQYW5lc1JvdXRlciB9IGZyb20gXCIuLi8uLi9jb3JlL3Nsb3RzL3JvdXRlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IE9wZW5Qb2xpY3kgfSBmcm9tIFwiLi4vLi4vY29yZS9jb25maWd1cmF0aW9uXCI7XHJcblxyXG5jb25zdCBWSVNJQUJMRV9MT0dfVFlQRVM6IExvZ1R5cGVbXSA9IFsnU3RhdGVDaGFuZ2UnLCAnTW9kZWxDaGFuZ2UnLCAnRG93bmxvYWQnXTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWRvY3VtZW50LXRyYWNlLWVsZW1lbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAndHJhY2UtZWxlbWVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJ3RyYWNlLWVsZW1lbnQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhY2VFbGVtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgYXNzaWduID0gbmV3IEV2ZW50RW1pdHRlcjxSZWNpcGllbnQ+KCk7XHJcblxyXG4gIEBJbnB1dCgpIG1vZGVsOiBEaWFncmFtSW5mbztcclxuICBASW5wdXQoKSB0aW1lbGluZTogVGltZWxpbmU7XHJcbiAgQElucHV0KCkgbm9kZTogTm9kZU1vZGVsO1xyXG5cclxuICByZWNpcGllbnRzOiBSZWNpcGllbnRbXTtcclxuICBsb2c6IExvZ1tdO1xyXG4gIGVzdGltYXRlOiBib29sZWFuO1xyXG4gIHJlY3VycmluZzogYm9vbGVhbjtcclxuICBub25lOiBib29sZWFuO1xyXG4gIHNraXA6IGJvb2xlYW47XHJcbiAgbm9kZVR5cGU6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9jaGF0OiBDaGF0SW5mbyxcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUGFuZXNSb3V0ZXIsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9hY2NvdW50czogQWNjb3VudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgaWQsIGFkZEluZm8gfSA9IHRoaXMubm9kZTtcclxuICAgIGNvbnN0IHJlY2lwaWVudHMgPSB0aGlzLnRpbWVsaW5lLnJlY2lwaWVudHMuZmlsdGVyKHIgPT4gci5ub2RlSWQgPT09IGlkKSxcclxuICAgICAgbG9nID0gdGhpcy50aW1lbGluZS5sb2cuZmlsdGVyKGwgPT4gbC5ub2RlSWQgPT09IGlkKTtcclxuICAgIHRoaXMucmVjaXBpZW50cyA9IHJlY2lwaWVudHMsXHJcbiAgICAgIHRoaXMucmVjdXJyaW5nID0gcmVjaXBpZW50cy5sZW5ndGggPCB0aGlzLm1vZGVsLnJlY2lwaWVudHMuZmlsdGVyKHIgPT4gci5ub2RlSWQgPT09IGlkKS5sZW5ndGggfHxcclxuICAgICAgbG9nLmxlbmd0aCA8IHRoaXMubW9kZWwubG9nLmZpbHRlcihsID0+IGwubm9kZUlkID09PSBpZCkubGVuZ3RoLFxyXG4gICAgICB0aGlzLmxvZyA9IGxvZy5maWx0ZXIobCA9PiBWSVNJQUJMRV9MT0dfVFlQRVMuaW5kZXhPZihsLnR5cGUpID4gLTEpLFxyXG4gICAgICB0aGlzLmVzdGltYXRlID0gbG9nLmZpbmQobCA9PiBsLmVzdGltYXRlKSAhPT0gdW5kZWZpbmVkLFxyXG4gICAgICB0aGlzLnNraXAgPSBsb2cuZmluZChsID0+IGwudHlwZSA9PT0gJ05vZGVKdW1wJykgIT09IHVuZGVmaW5lZCxcclxuICAgICAgdGhpcy5ub25lID0gbG9nLmxlbmd0aCA9PT0gMCxcclxuICAgICAgdGhpcy5ub2RlVHlwZSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5ub2Rlcy5maW5kKG4gPT4gbi5uYW1lID09PSAoYWRkSW5mbyBhcyBhbnkpLm5vZGVUeXBlKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHJlY2lwaWVudEluZm8ocmVjaXBpZW50OiBSZWNpcGllbnQpIHtcclxuICAgIGNvbnN0IGluZm8gPSBbXTtcclxuICAgIGNvbnN0IHdobyA9IGF3YWl0IHRoaXMuX2FjY291bnRzLmdldChyZWNpcGllbnQudXNlcklkKS50b1Byb21pc2UoKTtcclxuICAgIGlmIChyZWNpcGllbnQuZXNjYWxhdGVkKSB7XHJcbiAgICAgIGNvbnN0IGVzY2FsYXRpb24gPSB0aGlzLnRpbWVsaW5lLmxvZy5maW5kKGwgPT4gbC50eXBlID09PSAnRXNjYWxhdGlvbicgJiYgbC5yZWNpcGllbnRJZCA9PT0gcmVjaXBpZW50Lm9yaWdpbklkKTtcclxuICAgICAgY29uc3QgdG8gPSBhd2FpdCB0aGlzLl9hY2NvdW50cy5nZXQoZXNjYWxhdGlvbi51c2VySWQpLnRvUHJvbWlzZSgpO1xyXG4gICAgICBpbmZvLnB1c2godGhpcy5fdHJhbnNsYXRlLmdldCgnRXNjYWxhdGVkQnknLCB0aGlzLl9jaGF0LmZvcm1hdCh0byksIHRoaXMuX2NoYXQuZm9ybWF0KHdobykpKTtcclxuICAgIH1cclxuICAgIGlmIChyZWNpcGllbnQuc3Vic3RpdHV0ZUlkKSB7XHJcbiAgICAgIGNvbnN0IHN1YnN0aXR1dGUgPSBhd2FpdCB0aGlzLl9hY2NvdW50cy5nZXQocmVjaXBpZW50LnN1YnN0aXR1dGVJZCkudG9Qcm9taXNlKCk7XHJcbiAgICAgIGlmIChyZWNpcGllbnQuYnlJZCkge1xyXG4gICAgICAgIGNvbnN0IGJ5ID0gYXdhaXQgdGhpcy5fYWNjb3VudHMuZ2V0KHJlY2lwaWVudC5ieUlkKS50b1Byb21pc2UoKTtcclxuICAgICAgICBpbmZvLnB1c2godGhpcy5fdHJhbnNsYXRlLmdldCgnU3Vic3RpdHV0aW5nQnknLCB0aGlzLl9jaGF0LmZvcm1hdCh3aG8pLCB0aGlzLl9jaGF0LmZvcm1hdChzdWJzdGl0dXRlKSwgdGhpcy5fY2hhdC5mb3JtYXQoYnkpKSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpbmZvLnB1c2godGhpcy5fdHJhbnNsYXRlLmdldCgnU3Vic3RpdHV0aW5nJywgdGhpcy5fY2hhdC5mb3JtYXQod2hvKSwgdGhpcy5fY2hhdC5mb3JtYXQoc3Vic3RpdHV0ZSkpKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHJlY2lwaWVudC5ieUlkKSB7XHJcbiAgICAgIGNvbnN0IGJ5ID0gYXdhaXQgdGhpcy5fYWNjb3VudHMuZ2V0KHJlY2lwaWVudC5ieUlkKS50b1Byb21pc2UoKTtcclxuICAgICAgaW5mby5wdXNoKHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0J5JywgdGhpcy5fY2hhdC5mb3JtYXQod2hvKSwgdGhpcy5fY2hhdC5mb3JtYXQoYnkpKSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGluZm8ucHVzaCh0aGlzLl9jaGF0LmZvcm1hdCh3aG8pKTtcclxuICAgIHJldHVybiBpbmZvLmpvaW4odGhpcy5fdHJhbnNsYXRlLmNvbW1hKTtcclxuICB9XHJcbiAgbG9nSW5mbyhsb2c6IExvZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICBjb25zdCBvYnNlcnZhYmxlczogT2JzZXJ2YWJsZTxhbnk+W10gPSBbXTtcclxuXHJcbiAgICBpZiAobG9nLnVzZXJJZCkge1xyXG4gICAgICBjb25zdCBvYnNlcnZlID0gdGhpcy5fYWNjb3VudHMuZ2V0KGxvZy51c2VySWQpO1xyXG4gICAgICBvYnNlcnZhYmxlcy5wdXNoKG9ic2VydmUpO1xyXG4gICAgfVxyXG4gICAgaWYgKGxvZy5ieUlkKSB7XHJcbiAgICAgIGNvbnN0IG9ic2VydmUgPSB0aGlzLl9hY2NvdW50cy5nZXQobG9nLmJ5SWQpO1xyXG4gICAgICBvYnNlcnZhYmxlcy5wdXNoKG9ic2VydmUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG9ic2VydmFibGVzLmxlbmd0aCA/IGZvcmtKb2luKG9ic2VydmFibGVzKS5waXBlKG1hcCh1cyA9PiB1cy5tYXAodSA9PiB0aGlzLl9jaGF0LmZvcm1hdCh1KSkpLFxyXG4gICAgICBtYXAodXMgPT5cclxuICAgICAgICBsb2cuYnlJZCA/IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0J5JywgdXNbMF0sIHVzWzFdKSA6IHVzWzBdKSkgOiBvZignJyk7XHJcbiAgfVxyXG4gIGNvbXBhcmUoaXRlbTogTG9nKSB7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydtYWlsYm94L2QnLCB0aGlzLm1vZGVsLmRvY3VtZW50SWQuZW5jb2RlSWQoKSwgJ3ZlcnNpb24nLCBuZXcgRGF0ZShpdGVtLnRpbWUpLnZhbHVlT2YoKS5lbmNvZGVJZCgpXSwge1xyXG4gICAgICBwb2xpY3k6IE9wZW5Qb2xpY3kuVGFiIHwgT3BlblBvbGljeS5Ub2dnbGUsXHJcbiAgICB9KVxyXG4gIH1cclxuICBjaGF0KGU6IE1vdXNlRXZlbnQpIHtcclxuICAgIGNvbnN0IHVzZXJJZCA9IChlLnNyY0VsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmdldEF0dHJpYnV0ZSgnZGF0YS1pbmZvJyk7XHJcbiAgICB1c2VySWQgJiZcclxuICAgICAgdGhpcy5fY2hhdC5vcGVuKHVzZXJJZCk7XHJcbiAgfVxyXG59XHJcbiIsIjxoMz5cclxuICB7e25vZGVUeXBlLnRpdGxlfX1cclxuPC9oMz5cclxuXHJcbjxoNCAqbmdJZj1cImVzdGltYXRlXCI+e3snRXN0aW1hdGUnIHwgdHJhbnNsYXRlfX08L2g0PlxyXG48aDQgKm5nSWY9XCJub25lXCI+e3snTm9Fc3RpbWF0ZScgfCB0cmFuc2xhdGV9fTwvaDQ+XHJcbjxoNCAqbmdJZj1cInNraXBcIj57eydTa2lwcGVkJyB8IHRyYW5zbGF0ZX19PC9oND5cclxuXHJcbjxoNCAqbmdJZj1cInJlY3VycmluZ1wiIGNsYXNzPVwibWVzc2FnZSBtYXQtYm9keS0xXCI+PG1hdC1pY29uPmluZm88L21hdC1pY29uPiB7eydUaW1lbGluZU1vcmUnIHwgdHJhbnNsYXRlfX08L2g0PlxyXG5cclxuPHRhYmxlIGNsYXNzPVwibWF0LXRhYmxlXCI+XHJcbiAgPHRib2R5IGNsYXNzPVwibWF0LXRhYmxlLWJvZHlcIj5cclxuICAgIDx0ciAqbmdGb3I9XCJsZXQgciBvZiByZWNpcGllbnRzXCIgY2xhc3M9XCJtYXQtcm93XCI+XHJcbiAgICAgIDx0ZCBjbGFzcz1cIm1hdC1jZWxsXCIgKGNsaWNrKT1cImNoYXQoJGV2ZW50KVwiIFtpbm5lckhUTUxdPVwicmVjaXBpZW50SW5mbyhyKSB8IGFzeW5jIHwgc2FuaXRpemVIdG1sXCI+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICAgIDx0ZCBjbGFzcz1cIm1hdC1jZWxsXCI+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJyLmFjdGlvblwiPlxyXG4gICAgICAgICAge3tyLmFjdGlvbiB8IGFjdGlvbiA6ICdwYXN0J319XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwici5wZW5kaW5nXCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFyLmVzdGltYXRlOyBlbHNlIGVzdGltYXRlXCI+XHJcbiAgICAgICAgICAgIHt7J0lzUGVuZGluZycgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC90ZD5cclxuICAgICAgPHRkIGNsYXNzPVwibWF0LWNlbGxcIj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFyLmVzdGltYXRlOyBlc3RpbWF0ZVwiPnt7ci5yZWNlaXZlZCB8fCByLnJlcGxpZWQgfCBhbURhdGVGb3JtYXQ6ICdsbGwnfX08L3NwYW4+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICAgIDx0ZCBjbGFzcz1cIm1hdC1jZWxsXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKm5nSWY9XCIhci5lc3RpbWF0ZVwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJvcHRpb25zXCIgW2Rpc2FibGVkXT1cIiFyLnBlbmRpbmdcIj48bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICA8bWF0LW1lbnUgI29wdGlvbnM+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImFzc2lnbi5lbWl0KHIpXCIgKm5nSWY9XCJyLnBlbmRpbmdcIj57eydSZWFzc2lnbid8dHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgICAgICA8L21hdC1tZW51PlxyXG4gICAgICA8L3RkPlxyXG4gICAgPC90cj5cclxuICA8L3Rib2R5PlxyXG4gIDx0Ym9keSBjbGFzcz1cIm1hdC10YWJsZS1ib2R5XCI+XHJcbiAgICA8dHIgKm5nRm9yPVwibGV0IGwgb2YgbG9nXCIgY2xhc3M9XCJtYXQtcm93XCI+XHJcbiAgICAgIDx0ZCBjbGFzcz1cIm1hdC1jZWxsXCIgKGNsaWNrKT1cImNoYXQoJGV2ZW50KVwiIFtpbm5lckhUTUxdPVwibG9nSW5mbyhsKSB8IGFzeW5jIHwgc2FuaXRpemVIdG1sXCI+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICAgIDx0ZCBbbmdTd2l0Y2hdPVwibC50eXBlXCIgY2xhc3M9XCJtYXQtY2VsbFwiPlxyXG4gICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInU3RhdGVDaGFuZ2UnXCI+XHJcbiAgICAgICAgICB7e2wuc3RhdGUgfCBzdGF0ZSA6IChsLmVzdGltYXRlID8gJ2Z1dHVyZScgOiAncGFzdCcpfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidNb2RlbENoYW5nZSdcIj5cclxuICAgICAgICAgIHt7J0NoYW5nZWQnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICAgIDx0ZCBjbGFzcz1cIm1hdC1jZWxsXCI+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhbC5lc3RpbWF0ZVwiPnt7bC50aW1lIHwgYW1EYXRlRm9ybWF0OiAnbGxsJ319PC9zcGFuPlxyXG4gICAgICA8L3RkPlxyXG4gICAgICA8dGQgY2xhc3M9XCJtYXQtY2VsbFwiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJjb21wYXJlKGwpXCIgKm5nSWY9XCJsLnR5cGU9PT0nTW9kZWxDaGFuZ2UnXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0NvbXBhcmUnfHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj52aXNpYmlsaXR5PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgPC90ZD5cclxuICAgIDwvdHI+XHJcbiAgPC90Ym9keT5cclxuPC90YWJsZT5cclxuIl19
121
+ args: [{ selector: 'bizdoc-document-trace-element', template: "<h4 fxLayoutAlign=\"center\" class=\"mat-body-2\">\r\n <span *ngIf=\"estimate\">{{'Estimate' | translate}}</span>\r\n <span *ngIf=\"none\">{{'NoEstimate' | translate}}</span>\r\n <span *ngIf=\"skip\">{{'Skipped' | translate}}</span>\r\n</h4>\r\n\r\n<h4 *ngIf=\"recurring\" class=\"message mat-body-1\"><mat-icon>info</mat-icon> {{'TimelineMore' | translate}}</h4>\r\n\r\n<table class=\"mat-table\">\r\n <tbody class=\"mat-table-body\">\r\n <tr *ngFor=\"let r of recipients\" class=\"mat-row\">\r\n <td class=\"mat-cell\" (click)=\"chat($event)\" [innerHTML]=\"recipientInfo(r) | async | sanitizeHtml\">\r\n </td>\r\n <td class=\"mat-cell\">\r\n <span *ngIf=\"r.action\">\r\n {{r.action | action : 'past'}}\r\n </span>\r\n <span *ngIf=\"r.pending\">\r\n <span *ngIf=\"!r.estimate; else estimate\">\r\n {{'IsPending' | translate}}\r\n </span>\r\n </span>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <span *ngIf=\"!r.estimate; estimate\">{{r.received || r.replied | amDateFormat: 'lll'}}</span>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button *ngIf=\"!r.estimate\" [matMenuTriggerFor]=\"options\" [disabled]=\"!r.pending\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #options>\r\n <button mat-menu-item (click)=\"assign(r)\" *ngIf=\"r.pending\">{{'Reassign'|translate}}</button>\r\n </mat-menu>\r\n </td>\r\n </tr>\r\n </tbody>\r\n <tbody class=\"mat-table-body\">\r\n <tr *ngFor=\"let l of log\" class=\"mat-row\">\r\n <td class=\"mat-cell\" (click)=\"chat($event)\" [innerHTML]=\"logInfo(l) | async | sanitizeHtml\">\r\n </td>\r\n <td [ngSwitch]=\"l.type\" class=\"mat-cell\">\r\n <span *ngSwitchCase=\"'StateChange'\">\r\n {{l.state | state : (l.estimate ? 'future' : 'past')}}\r\n </span>\r\n <span *ngSwitchCase=\"'ModelChange'\">\r\n {{'Changed' | translate}}\r\n </span>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <span *ngIf=\"!l.estimate\">{{l.time | amDateFormat: 'lll'}}</span>\r\n </td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"compare(l)\" *ngIf=\"l.type==='ModelChange'\" [bizdocTooltip]=\"'Compare'|translate\"><mat-icon>visibility</mat-icon></button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n", styles: [":host{padding:8px;min-width:300px;display:block}.message{text-align:center}.message>*{vertical-align:text-bottom}table{background:none;width:100%}table tr td{padding-left:2px;padding-right:2px}\n"] }]
122
+ }], ctorParameters: function () { return [{ type: i1.PaneRef }, { type: i2.ChatInfo }, { type: i3.PromptService }, { type: i4.PanesRouter }, { type: i5.TranslateService }, { type: i6.AccountService }, { type: i7.MatDialog }, { type: i8.SessionService }]; } });
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2UtZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2RvY3VtZW50LXRyYWNlL3RyYWNlLWVsZW1lbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9kb2N1bWVudC10cmFjZS90cmFjZS1lbGVtZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsT0FBTyxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBUXJDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsY0FBYyxFQUFpQixNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJbEUsTUFBTSxrQkFBa0IsR0FBYyxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFjakYsTUFBTSxPQUFPLHFCQUFxQjtJQWFoQyxZQUNVLEtBQWMsRUFDZCxLQUFlLEVBQ2YsR0FBa0IsRUFDbEIsT0FBb0IsRUFDcEIsVUFBNEIsRUFDNUIsU0FBeUIsRUFDekIsT0FBa0IsRUFDbEIsUUFBd0I7UUFQeEIsVUFBSyxHQUFMLEtBQUssQ0FBUztRQUNkLFVBQUssR0FBTCxLQUFLLENBQVU7UUFDZixRQUFHLEdBQUgsR0FBRyxDQUFlO1FBQ2xCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFDcEIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFDNUIsY0FBUyxHQUFULFNBQVMsQ0FBZ0I7UUFDekIsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQUNsQixhQUFR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QUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM5RjtRQUNELElBQUksU0FBUyxDQUFDLFlBQVksRUFBRTtZQUMxQixNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNoRixJQUFJLFNBQVMsQ0FBQyxJQUFJLEVBQUU7Z0JBQ2xCLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNoRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNoSTs7Z0JBQ0ksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzVHO2FBQ0ksSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFO1lBQ3ZCLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2hFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyRjs7WUFDSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELE9BQU8sQ0FBQyxHQUFRO1FBQ2QsTUFBTSxXQUFXLEdBQXNCLEVBQUUsQ0FBQztRQUUxQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEVBQUU7WUFDZCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDL0MsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMzQjtRQUNELElBQUksR0FBRyxDQUFDLElBQUksRUFBRTtZQUNaLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3QyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzNCO1FBQ0QsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2pHLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUNQLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBQ0QsT0FBTyxDQUFDLElBQVM7UUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUU7WUFDMUgsTUFBTSxFQUFFLFVBQVUsQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDLE1BQU07U0FDM0MsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUNELElBQUksQ0FBQyxDQUFhO1FBQ2hCLE1BQU0sTUFBTSxHQUFJLENBQUMsQ0FBQyxVQUEwQixDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN2RSxNQUFNO1lBQ0osSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUIsQ0FBQzs7a0hBekdVLHFCQUFxQjtzR0FBckIscUJBQXFCLHFFQ2hDbEMsMDNFQXVEQTsyRkR2QmEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgTm9kZU1vZGVsIH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWRpYWdyYW1zXCI7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBMb2csIExvZ1R5cGUsIFJlY2lwaWVudCB9IGZyb20gXCIuLi8uLi9jb3JlL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9hY2NvdW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDaGF0SW5mbyB9IGZyb20gJy4uLy4uL2NoYXQvY2hhdC1pbmZvJztcclxuaW1wb3J0IHsgVGltZWxpbmUsIERpYWdyYW1JbmZvIH0gZnJvbSBcIi4vdGltZWxpbmVcIjtcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUGFuZXNSb3V0ZXIgfSBmcm9tIFwiLi4vLi4vY29yZS9zbG90cy9yb3V0ZXIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBPcGVuUG9saWN5IH0gZnJvbSBcIi4uLy4uL2NvcmUvY29uZmlndXJhdGlvblwiO1xyXG5pbXBvcnQgeyBQYW5lUmVmIH0gZnJvbSBcIi4uLy4uL2NvcmUvc2xvdHMvcGFuZS1yZWZcIjtcclxuaW1wb3J0IHsgUmVhc3NpZ25EaWFsb2csIFJlYXNzaWduTW9kZWwgfSBmcm9tIFwiLi9yZWFzc2lnbi5kaWFsb2dcIjtcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFV0aWxpdHlSZWYgfSBmcm9tIFwiLi4vdXRpbGl0eS1yZWZcIjtcclxuXHJcbmNvbnN0IFZJU0lBQkxFX0xPR19UWVBFUzogTG9nVHlwZVtdID0gWydTdGF0ZUNoYW5nZScsICdNb2RlbENoYW5nZScsICdEb3dubG9hZCddO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50RGF0YSB7XHJcbiAgbW9kZWw6IERpYWdyYW1JbmZvO1xyXG4gIHRpbWVsaW5lOiBUaW1lbGluZTtcclxuICBub2RlOiBOb2RlTW9kZWw7XHJcbiAgdXRpbGl0eVJlZjogVXRpbGl0eVJlZjtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtZG9jdW1lbnQtdHJhY2UtZWxlbWVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICd0cmFjZS1lbGVtZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsndHJhY2UtZWxlbWVudC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFjZUVsZW1lbnRDb21wb25lbnQge1xyXG4gIG1vZGVsOiBEaWFncmFtSW5mbztcclxuICB0aW1lbGluZTogVGltZWxpbmU7XHJcbiAgbm9kZTogTm9kZU1vZGVsO1xyXG5cclxuICByZWNpcGllbnRzOiBSZWNpcGllbnRbXTtcclxuICBsb2c6IExvZ1tdO1xyXG4gIGVzdGltYXRlOiBib29sZWFuO1xyXG4gIHJlY3VycmluZzogYm9vbGVhbjtcclxuICBub25lOiBib29sZWFuO1xyXG4gIHNraXA6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfdXRpbGl0eVJlZjogVXRpbGl0eVJlZjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9wYW5lOiBQYW5lUmVmLFxyXG4gICAgcHJpdmF0ZSBfY2hhdDogQ2hhdEluZm8sXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUGFuZXNSb3V0ZXIsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9hY2NvdW50czogQWNjb3VudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBfcGFuZS5kYXRhQ2hhbmdlLnN1YnNjcmliZSh0aGlzLmNoYW5nZS5iaW5kKHRoaXMpKTtcclxuICB9XHJcbiAgY2hhbmdlKHN0YXRlOiBFbGVtZW50RGF0YSkge1xyXG4gICAgdGhpcy5tb2RlbCA9IHN0YXRlLm1vZGVsO1xyXG4gICAgdGhpcy50aW1lbGluZSA9IHN0YXRlLnRpbWVsaW5lO1xyXG4gICAgdGhpcy5ub2RlID0gc3RhdGUubm9kZTtcclxuICAgIHRoaXMuX3V0aWxpdHlSZWYgPSBzdGF0ZS51dGlsaXR5UmVmO1xyXG4gICAgY29uc3QgeyBpZCwgYWRkSW5mbyB9ID0gdGhpcy5ub2RlO1xyXG4gICAgY29uc3QgcmVjaXBpZW50cyA9IHRoaXMudGltZWxpbmUucmVjaXBpZW50cy5maWx0ZXIociA9PiByLm5vZGVJZCA9PT0gaWQpLFxyXG4gICAgICBsb2cgPSB0aGlzLnRpbWVsaW5lLmxvZy5maWx0ZXIobCA9PiBsLm5vZGVJZCA9PT0gaWQpO1xyXG4gICAgdGhpcy5yZWNpcGllbnRzID0gcmVjaXBpZW50cyxcclxuICAgICAgdGhpcy5yZWN1cnJpbmcgPSByZWNpcGllbnRzLmxlbmd0aCA8IHRoaXMubW9kZWwucmVjaXBpZW50cy5maWx0ZXIociA9PiByLm5vZGVJZCA9PT0gaWQpLmxlbmd0aCB8fFxyXG4gICAgICBsb2cubGVuZ3RoIDwgdGhpcy5tb2RlbC5sb2cuZmlsdGVyKGwgPT4gbC5ub2RlSWQgPT09IGlkKS5sZW5ndGgsXHJcbiAgICAgIHRoaXMubG9nID0gbG9nLmZpbHRlcihsID0+IFZJU0lBQkxFX0xPR19UWVBFUy5pbmRleE9mKGwudHlwZSkgPiAtMSksXHJcbiAgICAgIHRoaXMuZXN0aW1hdGUgPSBsb2cuZmluZChsID0+IGwuZXN0aW1hdGUpICE9PSB1bmRlZmluZWQsXHJcbiAgICAgIHRoaXMuc2tpcCA9IGxvZy5maW5kKGwgPT4gbC50eXBlID09PSAnTm9kZUp1bXAnKSAhPT0gdW5kZWZpbmVkLFxyXG4gICAgICB0aGlzLm5vbmUgPSBsb2cubGVuZ3RoID09PSAwO1xyXG4gICAgY29uc3Qgbm9kZVR5cGUgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUubm9kZXMuZmluZChuID0+IG4ubmFtZSA9PT0gKGFkZEluZm8gYXMgYW55KS5ub2RlVHlwZSk7XHJcbiAgICB0aGlzLl9wYW5lLnRpdGxlID0gbm9kZVR5cGUudGl0bGU7XHJcbiAgfVxyXG4gIGZpbGVOYW1lKGZpbGVJZDogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBmaWxlID0gdGhpcy5tb2RlbC5hdHRhY2htZW50cy5maW5kKGYgPT4gZi5pZCA9PT0gZmlsZUlkKTtcclxuICAgIHJldHVybiBmaWxlLmZpbGVOYW1lO1xyXG4gIH1cclxuICAvKiogKi9cclxuICBhc3NpZ24ocmVjaXBpZW50OiBSZWNpcGllbnQpIHtcclxuICAgIHRoaXMuX2RpYWxvZy5vcGVuKFJlYXNzaWduRGlhbG9nLCB7IGRhdGE6IHsgZXhjbHVkZTogW3JlY2lwaWVudC51c2VySWRdIH0gfSkuYWZ0ZXJDbG9zZWQoKS5cclxuICAgICAgc3Vic2NyaWJlKChtOiBSZWFzc2lnbk1vZGVsKSA9PiB7XHJcbiAgICAgICAgbSAmJiB0aGlzLl91dGlsaXR5UmVmLmV4ZWN1dGUoeyBpZDogcmVjaXBpZW50LmlkLCAuLi5tIH0pLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5tb2RlbCwgcik7XHJcbiAgICAgICAgfSwgKCkgPT5cclxuICAgICAgICAgIHRoaXMuX3NiLmVycm9yKCkpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHJlY2lwaWVudEluZm8ocmVjaXBpZW50OiBSZWNpcGllbnQpIHtcclxuICAgIGNvbnN0IGluZm8gPSBbXTtcclxuICAgIGNvbnN0IHdobyA9IGF3YWl0IHRoaXMuX2FjY291bnRzLmdldChyZWNpcGllbnQudXNlcklkKS50b1Byb21pc2UoKTtcclxuICAgIGlmIChyZWNpcGllbnQuZXNjYWxhdGVkKSB7XHJcbiAgICAgIGNvbnN0IGVzY2FsYXRpb24gPSB0aGlzLnRpbWVsaW5lLmxvZy5maW5kKGwgPT4gbC50eXBlID09PSAnRXNjYWxhdGlvbicgJiYgbC5yZWNpcGllbnRJZCA9PT0gcmVjaXBpZW50Lm9yaWdpbklkKTtcclxuICAgICAgY29uc3QgdG8gPSBhd2FpdCB0aGlzLl9hY2NvdW50cy5nZXQoZXNjYWxhdGlvbi51c2VySWQpLnRvUHJvbWlzZSgpO1xyXG4gICAgICBpbmZvLnB1c2godGhpcy5fdHJhbnNsYXRlLmdldCgnRXNjYWxhdGVkQnknLCB0aGlzLl9jaGF0LmZvcm1hdCh0byksIHRoaXMuX2NoYXQuZm9ybWF0KHdobykpKTtcclxuICAgIH1cclxuICAgIGlmIChyZWNpcGllbnQuc3Vic3RpdHV0ZUlkKSB7XHJcbiAgICAgIGNvbnN0IHN1YnN0aXR1dGUgPSBhd2FpdCB0aGlzLl9hY2NvdW50cy5nZXQocmVjaXBpZW50LnN1YnN0aXR1dGVJZCkudG9Qcm9taXNlKCk7XHJcbiAgICAgIGlmIChyZWNpcGllbnQuYnlJZCkge1xyXG4gICAgICAgIGNvbnN0IGJ5ID0gYXdhaXQgdGhpcy5fYWNjb3VudHMuZ2V0KHJlY2lwaWVudC5ieUlkKS50b1Byb21pc2UoKTtcclxuICAgICAgICBpbmZvLnB1c2godGhpcy5fdHJhbnNsYXRlLmdldCgnU3Vic3RpdHV0aW5nQnknLCB0aGlzLl9jaGF0LmZvcm1hdCh3aG8pLCB0aGlzLl9jaGF0LmZvcm1hdChzdWJzdGl0dXRlKSwgdGhpcy5fY2hhdC5mb3JtYXQoYnkpKSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpbmZvLnB1c2godGhpcy5fdHJhbnNsYXRlLmdldCgnU3Vic3RpdHV0aW5nJywgdGhpcy5fY2hhdC5mb3JtYXQod2hvKSwgdGhpcy5fY2hhdC5mb3JtYXQoc3Vic3RpdHV0ZSkpKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHJlY2lwaWVudC5ieUlkKSB7XHJcbiAgICAgIGNvbnN0IGJ5ID0gYXdhaXQgdGhpcy5fYWNjb3VudHMuZ2V0KHJlY2lwaWVudC5ieUlkKS50b1Byb21pc2UoKTtcclxuICAgICAgaW5mby5wdXNoKHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0J5JywgdGhpcy5fY2hhdC5mb3JtYXQod2hvKSwgdGhpcy5fY2hhdC5mb3JtYXQoYnkpKSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGluZm8ucHVzaCh0aGlzLl9jaGF0LmZvcm1hdCh3aG8pKTtcclxuICAgIHJldHVybiBpbmZvLmpvaW4odGhpcy5fdHJhbnNsYXRlLmNvbW1hKTtcclxuICB9XHJcbiAgbG9nSW5mbyhsb2c6IExvZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICBjb25zdCBvYnNlcnZhYmxlczogT2JzZXJ2YWJsZTxhbnk+W10gPSBbXTtcclxuXHJcbiAgICBpZiAobG9nLnVzZXJJZCkge1xyXG4gICAgICBjb25zdCBvYnNlcnZlID0gdGhpcy5fYWNjb3VudHMuZ2V0KGxvZy51c2VySWQpO1xyXG4gICAgICBvYnNlcnZhYmxlcy5wdXNoKG9ic2VydmUpO1xyXG4gICAgfVxyXG4gICAgaWYgKGxvZy5ieUlkKSB7XHJcbiAgICAgIGNvbnN0IG9ic2VydmUgPSB0aGlzLl9hY2NvdW50cy5nZXQobG9nLmJ5SWQpO1xyXG4gICAgICBvYnNlcnZhYmxlcy5wdXNoKG9ic2VydmUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG9ic2VydmFibGVzLmxlbmd0aCA/IGZvcmtKb2luKG9ic2VydmFibGVzKS5waXBlKG1hcCh1cyA9PiB1cy5tYXAodSA9PiB0aGlzLl9jaGF0LmZvcm1hdCh1KSkpLFxyXG4gICAgICBtYXAodXMgPT5cclxuICAgICAgICBsb2cuYnlJZCA/IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0J5JywgdXNbMF0sIHVzWzFdKSA6IHVzWzBdKSkgOiBvZignJyk7XHJcbiAgfVxyXG4gIGNvbXBhcmUoaXRlbTogTG9nKSB7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydtYWlsYm94L2QnLCB0aGlzLm1vZGVsLmRvY3VtZW50SWQuZW5jb2RlSWQoKSwgJ3ZlcnNpb24nLCBuZXcgRGF0ZShpdGVtLnRpbWUpLnZhbHVlT2YoKS5lbmNvZGVJZCgpXSwge1xyXG4gICAgICBwb2xpY3k6IE9wZW5Qb2xpY3kuVGFiIHwgT3BlblBvbGljeS5Ub2dnbGUsXHJcbiAgICB9KVxyXG4gIH1cclxuICBjaGF0KGU6IE1vdXNlRXZlbnQpIHtcclxuICAgIGNvbnN0IHVzZXJJZCA9IChlLnNyY0VsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmdldEF0dHJpYnV0ZSgnZGF0YS1pbmZvJyk7XHJcbiAgICB1c2VySWQgJiZcclxuICAgICAgdGhpcy5fY2hhdC5vcGVuKHVzZXJJZCk7XHJcbiAgfVxyXG59XHJcbiIsIjxoNCBmeExheW91dEFsaWduPVwiY2VudGVyXCIgY2xhc3M9XCJtYXQtYm9keS0yXCI+XHJcbiAgPHNwYW4gKm5nSWY9XCJlc3RpbWF0ZVwiPnt7J0VzdGltYXRlJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gIDxzcGFuICpuZ0lmPVwibm9uZVwiPnt7J05vRXN0aW1hdGUnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgPHNwYW4gKm5nSWY9XCJza2lwXCI+e3snU2tpcHBlZCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuPC9oND5cclxuXHJcbjxoNCAqbmdJZj1cInJlY3VycmluZ1wiIGNsYXNzPVwibWVzc2FnZSBtYXQtYm9keS0xXCI+PG1hdC1pY29uPmluZm88L21hdC1pY29uPiB7eydUaW1lbGluZU1vcmUnIHwgdHJhbnNsYXRlfX08L2g0PlxyXG5cclxuPHRhYmxlIGNsYXNzPVwibWF0LXRhYmxlXCI+XHJcbiAgPHRib2R5IGNsYXNzPVwibWF0LXRhYmxlLWJvZHlcIj5cclxuICAgIDx0ciAqbmdGb3I9XCJsZXQgciBvZiByZWNpcGllbnRzXCIgY2xhc3M9XCJtYXQtcm93XCI+XHJcbiAgICAgIDx0ZCBjbGFzcz1cIm1hdC1jZWxsXCIgKGNsaWNrKT1cImNoYXQoJGV2ZW50KVwiIFtpbm5lckhUTUxdPVwicmVjaXBpZW50SW5mbyhyKSB8IGFzeW5jIHwgc2FuaXRpemVIdG1sXCI+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICAgIDx0ZCBjbGFzcz1cIm1hdC1jZWxsXCI+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJyLmFjdGlvblwiPlxyXG4gICAgICAgICAge3tyLmFjdGlvbiB8IGFjdGlvbiA6ICdwYXN0J319XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwici5wZW5kaW5nXCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFyLmVzdGltYXRlOyBlbHNlIGVzdGltYXRlXCI+XHJcbiAgICAgICAgICAgIHt7J0lzUGVuZGluZycgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC90ZD5cclxuICAgICAgPHRkIGNsYXNzPVwibWF0LWNlbGxcIj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFyLmVzdGltYXRlOyBlc3RpbWF0ZVwiPnt7ci5yZWNlaXZlZCB8fCByLnJlcGxpZWQgfCBhbURhdGVGb3JtYXQ6ICdsbGwnfX08L3NwYW4+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICAgIDx0ZCBjbGFzcz1cIm1hdC1jZWxsXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKm5nSWY9XCIhci5lc3RpbWF0ZVwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJvcHRpb25zXCIgW2Rpc2FibGVkXT1cIiFyLnBlbmRpbmdcIj48bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICA8bWF0LW1lbnUgI29wdGlvbnM+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImFzc2lnbihyKVwiICpuZ0lmPVwici5wZW5kaW5nXCI+e3snUmVhc3NpZ24nfHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICAgICAgPC9tYXQtbWVudT5cclxuICAgICAgPC90ZD5cclxuICAgIDwvdHI+XHJcbiAgPC90Ym9keT5cclxuICA8dGJvZHkgY2xhc3M9XCJtYXQtdGFibGUtYm9keVwiPlxyXG4gICAgPHRyICpuZ0Zvcj1cImxldCBsIG9mIGxvZ1wiIGNsYXNzPVwibWF0LXJvd1wiPlxyXG4gICAgICA8dGQgY2xhc3M9XCJtYXQtY2VsbFwiIChjbGljayk9XCJjaGF0KCRldmVudClcIiBbaW5uZXJIVE1MXT1cImxvZ0luZm8obCkgfCBhc3luYyB8IHNhbml0aXplSHRtbFwiPlxyXG4gICAgICA8L3RkPlxyXG4gICAgICA8dGQgW25nU3dpdGNoXT1cImwudHlwZVwiIGNsYXNzPVwibWF0LWNlbGxcIj5cclxuICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ1N0YXRlQ2hhbmdlJ1wiPlxyXG4gICAgICAgICAge3tsLnN0YXRlIHwgc3RhdGUgOiAobC5lc3RpbWF0ZSA/ICdmdXR1cmUnIDogJ3Bhc3QnKX19XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInTW9kZWxDaGFuZ2UnXCI+XHJcbiAgICAgICAgICB7eydDaGFuZ2VkJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L3RkPlxyXG4gICAgICA8dGQgY2xhc3M9XCJtYXQtY2VsbFwiPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiIWwuZXN0aW1hdGVcIj57e2wudGltZSB8IGFtRGF0ZUZvcm1hdDogJ2xsbCd9fTwvc3Bhbj5cclxuICAgICAgPC90ZD5cclxuICAgICAgPHRkIGNsYXNzPVwibWF0LWNlbGxcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiY29tcGFyZShsKVwiICpuZ0lmPVwibC50eXBlPT09J01vZGVsQ2hhbmdlJ1wiIFtiaXpkb2NUb29sdGlwXT1cIidDb21wYXJlJ3x0cmFuc2xhdGVcIj48bWF0LWljb24+dmlzaWJpbGl0eTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICA8L3RyPlxyXG4gIDwvdGJvZHk+XHJcbjwvdGFibGU+XHJcbiJdfQ==
@@ -1,15 +1,32 @@
1
1
  import { Injectable } from '@angular/core';
2
+ import { isString } from '../../core/functions';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "@angular/common/http";
4
5
  export class FormService {
5
6
  constructor(_http) {
6
7
  this._http = _http;
7
8
  }
8
- findAll(value) {
9
+ findAll(options) {
10
+ const params = {};
11
+ if (isString(options))
12
+ params['search'] = options;
13
+ else {
14
+ if (options.search)
15
+ params['search'] = options.search;
16
+ if (options.formId)
17
+ params['formId'] = options.formId;
18
+ if (options.start)
19
+ params['start'] = new Date(options.start).toISOString();
20
+ if (options.end)
21
+ params['end'] = new Date(options.end).toISOString();
22
+ }
9
23
  return this._http.get('/api/form/findAll', {
10
- params: { value }
24
+ params
11
25
  });
12
26
  }
27
+ range() {
28
+ return this._http.get('/api/form/range', {});
29
+ }
13
30
  get(name) {
14
31
  return this._http.get(`/api/form/${name}`);
15
32
  }
@@ -23,4 +40,4 @@ FormService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version:
23
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: FormService, decorators: [{
24
41
  type: Injectable
25
42
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9mb3JtL2Zvcm0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLFdBQVc7SUFhdEIsWUFBb0IsS0FBaUI7UUFBakIsVUFBSyxHQUFMLEtBQUssQ0FBWTtJQUVyQyxDQUFDO0lBZEQsT0FBTyxDQUFDLEtBQWE7UUFDbkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBa0IsbUJBQW1CLEVBQUU7WUFDMUQsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFO1NBQ2xCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxHQUFHLENBQUMsSUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQU8sYUFBYSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFDRCxJQUFJLENBQUMsSUFBVTtRQUNiLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDMUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBUyxhQUFhLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQzs7d0dBWlUsV0FBVzs0R0FBWCxXQUFXOzJGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRm9ybSwgRG9jdW1lbnRNb2RlbCB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEZvcm1TZXJ2aWNlIHtcclxuICBmaW5kQWxsKHZhbHVlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPERvY3VtZW50TW9kZWxbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PERvY3VtZW50TW9kZWxbXT4oJy9hcGkvZm9ybS9maW5kQWxsJywge1xyXG4gICAgICBwYXJhbXM6IHsgdmFsdWUgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGdldChuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEZvcm0+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxGb3JtPihgL2FwaS9mb3JtLyR7bmFtZX1gKTtcclxuICB9XHJcbiAgc2F2ZShmb3JtOiBGb3JtKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcclxuICAgIGNvbnN0IHsgd29ya2Zsb3cgfSA9IGZvcm07XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQ8bnVtYmVyPihgL2FwaS9mb3JtLyR7Zm9ybS5uYW1lfWAsIHt3b3JrZmxvdyB9KTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfaHR0cDogSHR0cENsaWVudCkge1xyXG5cclxuICB9XHJcbn1cclxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9mb3JtL2Zvcm0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBR2hELE1BQU0sT0FBTyxXQUFXO0lBNEJ0QixZQUFvQixLQUFpQjtRQUFqQixVQUFLLEdBQUwsS0FBSyxDQUFZO0lBRXJDLENBQUM7SUEzQkQsT0FBTyxDQUFDLE9BQWdGO1FBQ3RGLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFDbkIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE9BQU8sQ0FBQzthQUN4QjtZQUNILElBQUksT0FBTyxDQUFDLE1BQU07Z0JBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDdEQsSUFBSSxPQUFPLENBQUMsTUFBTTtnQkFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUN0RCxJQUFJLE9BQU8sQ0FBQyxLQUFLO2dCQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDM0UsSUFBSSxPQUFPLENBQUMsR0FBRztnQkFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3RFO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBaUIsbUJBQW1CLEVBQUU7WUFDekQsTUFBTTtTQUNQLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxLQUFLO1FBQ0gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBZSxpQkFBaUIsRUFBRSxFQUN0RCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsR0FBRyxDQUFDLElBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFPLGFBQWEsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQ0QsSUFBSSxDQUFDLElBQVU7UUFDYixNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQVMsYUFBYSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7O3dHQTNCVSxXQUFXOzRHQUFYLFdBQVc7MkZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBGb3JtIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gJy4uLy4uL2NvcmUvZnVuY3Rpb25zJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEZvcm1TZXJ2aWNlIHtcclxuICBmaW5kQWxsKHNlYXJjaD86IHN0cmluZylcclxuICBmaW5kQWxsKG9wdGlvbnM6IHsgc2VhcmNoPzogc3RyaW5nLCBzdGFydD86IERhdGUsIGVuZD86IERhdGUsIGZvcm1JZD86IHN0cmluZyB9KVxyXG4gIGZpbmRBbGwob3B0aW9uczogc3RyaW5nIHwgeyBzZWFyY2g/OiBzdHJpbmcsIHN0YXJ0PzogRGF0ZSwgZW5kPzogRGF0ZSwgZm9ybUlkPzogc3RyaW5nIH0pOiBPYnNlcnZhYmxlPERvY3VtZW50SW5mb1tdPiB7XHJcbiAgICBjb25zdCBwYXJhbXMgPSB7fTtcclxuICAgIGlmIChpc1N0cmluZyhvcHRpb25zKSlcclxuICAgICAgcGFyYW1zWydzZWFyY2gnXSA9IG9wdGlvbnM7XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKG9wdGlvbnMuc2VhcmNoKSBwYXJhbXNbJ3NlYXJjaCddID0gb3B0aW9ucy5zZWFyY2g7XHJcbiAgICAgIGlmIChvcHRpb25zLmZvcm1JZCkgcGFyYW1zWydmb3JtSWQnXSA9IG9wdGlvbnMuZm9ybUlkO1xyXG4gICAgICBpZiAob3B0aW9ucy5zdGFydCkgcGFyYW1zWydzdGFydCddID0gbmV3IERhdGUob3B0aW9ucy5zdGFydCkudG9JU09TdHJpbmcoKTtcclxuICAgICAgaWYgKG9wdGlvbnMuZW5kKSBwYXJhbXNbJ2VuZCddID0gbmV3IERhdGUob3B0aW9ucy5lbmQpLnRvSVNPU3RyaW5nKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8RG9jdW1lbnRJbmZvW10+KCcvYXBpL2Zvcm0vZmluZEFsbCcsIHtcclxuICAgICAgcGFyYW1zXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcmFuZ2UoKTogT2JzZXJ2YWJsZTxSYW5nZU1vZGVsW10+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxSYW5nZU1vZGVsW10+KCcvYXBpL2Zvcm0vcmFuZ2UnLCB7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgZ2V0KG5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8Rm9ybT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PEZvcm0+KGAvYXBpL2Zvcm0vJHtuYW1lfWApO1xyXG4gIH1cclxuICBzYXZlKGZvcm06IEZvcm0pOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xyXG4gICAgY29uc3QgeyB3b3JrZmxvdyB9ID0gZm9ybTtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnB1dDxudW1iZXI+KGAvYXBpL2Zvcm0vJHtmb3JtLm5hbWV9YCwgeyB3b3JrZmxvdyB9KTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfaHR0cDogSHR0cENsaWVudCkge1xyXG5cclxuICB9XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBSYW5nZU1vZGVsIHtcclxuICBjb3VudDogbnVtYmVyO1xyXG4gIGRhdGU6IERhdGU7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBEb2N1bWVudEluZm8ge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgbnVtYmVyOiBzdHJpbmc7XHJcbiAgc3ViamVjdDogc3RyaW5nO1xyXG4gIHN0YXRlSWQ6IHN0cmluZztcclxufVxyXG4iXX0=
@@ -38,7 +38,7 @@ export class ConversationComponent {
38
38
  this.sending = false;
39
39
  this.working = false;
40
40
  this.CALENDAR_SPEC = {
41
- lastDay: `[${this._translate.get('Yesterday')}] HH:mm`,
41
+ lastDay: this._translate.get('YesterdayAt', 'HH:mm'),
42
42
  lastWeek: 'ddd HH:mm',
43
43
  sameDay: 'HH:mm',
44
44
  sameElse: 'MMM D HH:mm'
@@ -190,4 +190,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
190
190
  type: ViewChild,
191
191
  args: ['previewTemplate']
192
192
  }] } });
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY2hhdC9jb252ZXJzYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jaGF0L2NvbnZlcnNhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUEyRCxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakosT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVFqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQWlCLE1BQU0sc0NBQXNDLENBQUM7QUFFekYsT0FBTyxFQUFnQixhQUFhLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEYsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUM7QUFPakMsTUFBTSxPQUNFLHFCQUFxQjtJQXVCM0IsWUFDeUIsTUFBb0IsRUFDbkMsUUFBcUIsRUFDckIsVUFBc0IsRUFDdEIsVUFBNEIsRUFDNUIsU0FBeUIsRUFDekIsR0FBa0IsRUFDbEIsR0FBcUIsRUFDckIsUUFBaUI7UUFOakIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FB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bGVtZW50UmVmLCBWaWV3Q2hpbGQsIE9uSW5pdCwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBFU0NBUEUgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xyXG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIGRlYm91bmNlVGltZSwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDYWxlbmRhclNwZWMgfSBmcm9tIFwiLi4vY29yZS9waXBlcy9jYWxlbmRhci5waXBlXCI7XHJcbmltcG9ydCB7IENoYXQsIENvbnRhY3QsIFVzZXJJbmZvIH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBIdWJTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9odWIuc2VydmljZSc7XHJcbmltcG9ydCB7IENoYXRTZXJ2aWNlIH0gZnJvbSAnLi9jaGF0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9hY2NvdW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IEVkaXRJbnB1dENvbXBvbmVudCwgRWRpdFRleHRFdmVudCB9IGZyb20gJy4uL2NvcmUvdGFnZ2luZy9lZGl0LWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCaXpEb2NDb25maWcsIEJJWkRPQ19DT05GSUcsIENoYXRTZXR0aW5ncyB9IGZyb20gJy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcblxyXG5jb25zdCBDT05UQUNUX1RZUElOR19OT1RFID0gMTUwMDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWNoYXQtY29udmVyc2F0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udmVyc2F0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb252ZXJzYXRpb24uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnRcclxuICBjbGFzcyBDb252ZXJzYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBwdWJsaWMgY29udGFjdDogQ29udGFjdDtcclxuICBwcm9maWxlOiBVc2VySW5mbztcclxuICBpdGVtczogQ2hhdFtdID0gW107XHJcbiAgdHlwaW5nID0gZmFsc2U7XHJcbiAgd2F0ZXJtYXJrOiBEYXRlO1xyXG4gIHNlbmRpbmcgPSBmYWxzZTtcclxuICB3b3JraW5nID0gZmFsc2U7XHJcbiAgcmVhZG9ubHkgQ0FMRU5EQVJfU1BFQzogQ2FsZW5kYXJTcGVjID0ge1xyXG4gICAgbGFzdERheTogYFske3RoaXMuX3RyYW5zbGF0ZS5nZXQoJ1llc3RlcmRheScpfV0gSEg6bW1gLFxyXG4gICAgbGFzdFdlZWs6ICdkZGQgSEg6bW0nLFxyXG4gICAgc2FtZURheTogJ0hIOm1tJyxcclxuICAgIHNhbWVFbHNlOiAnTU1NIEQgSEg6bW0nXHJcbiAgfTtcclxuICBAVmlld0NoaWxkKEVkaXRJbnB1dENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgX2lucHV0OiBFZGl0SW5wdXRDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnY29udmVyc2F0aW9uJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgY29udmVyc2F0aW9uRWxlbWVudDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgncHJldmlld1RlbXBsYXRlJykgcHJldmlld1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIHByaXZhdGUgX2luRm9jdXMgPSBmYWxzZTtcclxuICBwcml2YXRlIF90b3AgPSBmYWxzZTtcclxuICBwcml2YXRlIF90eXBpbmdUYXNrOiBOb2RlSlMuVGltZW91dDtcclxuICBwcml2YXRlIF9wcmVzZXJ2ZURyYWZ0OiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IF90ZXh0Q2hhbmdlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoQklaRE9DX0NPTkZJRykgY29uZmlnOiBCaXpEb2NDb25maWcsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBDaGF0U2VydmljZSxcclxuICAgIHByaXZhdGUgX21lc3NhZ2luZzogSHViU2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2FjY291bnRzOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdmM6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5XHJcbiAgKSB7XHJcbiAgICB0aGlzLl9wcmVzZXJ2ZURyYWZ0ID0gY29uZmlnLmNoYXRpbmcgJiYgKGNvbmZpZy5jaGF0aW5nIGFzIENoYXRTZXR0aW5ncykucHJlc2VydmVEcmFmdDtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcuY2hhdFR5cGluZyQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgaWYgKGUuY29udGFjdElkID09PSB0aGlzLmNvbnRhY3QuaWQpIHtcclxuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fdHlwaW5nVGFzayk7XHJcbiAgICAgICAgdGhpcy5fdHlwaW5nVGFzayA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy50eXBpbmcgPSBmYWxzZSwgQ09OVEFDVF9UWVBJTkdfTk9URSk7XHJcbiAgICAgICAgdGhpcy50eXBpbmcgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX21lc3NhZ2luZy5jaGF0JC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICBpZiAoZS5jb250YWN0SWQgPT09IHRoaXMuY29udGFjdC5pZCkge1xyXG4gICAgICAgIHRoaXMuaXRlbXMucHVzaChlLm1vZGVsKTtcclxuICAgICAgICB0aGlzLl9zY3JvbGxUb0JvdHRvbSgpO1xyXG4gICAgICAgIHRoaXMuX2luRm9jdXMgJiYgdGhpcy5fc2VlbigpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX21lc3NhZ2luZy5jaGF0V2F0ZXJtYXJrJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICBpZiAoZS5jb250YWN0SWQgPT09IHRoaXMuY29udGFjdC5pZCkgdGhpcy53YXRlcm1hcmsgPSBlLnRpbWU7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3RleHRDaGFuZ2UucGlwZShkZWJvdW5jZVRpbWUoMzUwKSwgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoKCkgPT5cclxuICAgICAgdGhpcy5fc2VydmljZS50eXBpbmcodGhpcy5jb250YWN0LmlkKSk7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKF86IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIHRoaXMucHJvZmlsZSAmJlxyXG4gICAgICB0aGlzLl9wcmVzZXJ2ZURyYWZ0ICYmIHRoaXMuX3BlcnNpc3QoKTtcclxuXHJcbiAgICB0aGlzLl9hY2NvdW50cy5nZXQodGhpcy5jb250YWN0LmlkKS5zdWJzY3JpYmUodSA9PiB7XHJcbiAgICAgIHRoaXMucHJvZmlsZSA9IHU7XHJcbiAgICB9LCAoKSA9PiB0aGlzLl9zYi5lcnJvcigpKTtcclxuICAgIC8vIGxhdGVzdFxyXG4gICAgdGhpcy53YXRlcm1hcmsgPSB0aGlzLmNvbnRhY3QudmlzaXRlZCB8fCB0aGlzLmNvbnRhY3Qud2F0ZXJtYXJrID8gKHRoaXMuY29udGFjdC52aXNpdGVkICYmIHRoaXMuY29udGFjdC53YXRlcm1hcmsgP1xyXG4gICAgICB0aGlzLmNvbnRhY3Qud2F0ZXJtYXJrID4gdGhpcy5jb250YWN0LnZpc2l0ZWQgP1xyXG4gICAgICAgIHRoaXMuY29udGFjdC53YXRlcm1hcmsgOiB0aGlzLmNvbnRhY3QudmlzaXRlZCA6XHJcbiAgICAgIHRoaXMuY29udGFjdC53YXRlcm1hcmsgfHwgdGhpcy5jb250YWN0LnZpc2l0ZWQpIDogbnVsbDtcclxuICAgIC8vIGZldGNoXHJcbiAgICB0aGlzLl9zZXJ2aWNlLmNvbnZlcnNhdGlvbnModGhpcy5jb250YWN0LmlkKS5zdWJzY3JpYmUoY3MgPT4ge1xyXG4gICAgICB0aGlzLml0ZW1zID0gY3MucmV2ZXJzZSgpO1xyXG4gICAgICB0aGlzLl9zY3JvbGxUb0JvdHRvbSgpO1xyXG4gICAgICAhdGhpcy5jb250YWN0LmNvdW50ICYmXHJcbiAgICAgICAgdGhpcy5mb2N1cygpO1xyXG4gICAgfSwgKCkgPT5cclxuICAgICAgdGhpcy5fc2IuZXJyb3IoKSk7XHJcbiAgICBpZiAodGhpcy5fcHJlc2VydmVEcmFmdCkge1xyXG4gICAgICBjb25zdCB0ZXh0ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5jb250YWN0LmlkKTtcclxuICAgICAgaWYgKHRleHQpIHRoaXMuX2lucHV0LnRleHQgPSB0ZXh0O1xyXG4gICAgfVxyXG4gIH1cclxuICB0cmFja0J5ID0gKF8sIGl0ZW06IENoYXQpID0+IGl0ZW0udGltZTtcclxuXHJcbiAgcHJpdmF0ZSBfc2Nyb2xsVG9Cb3R0b20oKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICB0aGlzLmNvbnZlcnNhdGlvbkVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPSB0aGlzLmNvbnZlcnNhdGlvbkVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQ7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGUpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBvblNjcm9sbChlOiBNb3VzZUV2ZW50KSB7XHJcbiAgICBjb25zdCBlbCA9IHRoaXMuY29udmVyc2F0aW9uRWxlbWVudC5uYXRpdmVFbGVtZW50O1xyXG4gICAgaWYgKGVsLnNjcm9sbFRvcCA8IDEwICYmICF0aGlzLl90b3AgJiYgIXRoaXMud29ya2luZykge1xyXG4gICAgICB0aGlzLndvcmtpbmcgPSB0cnVlO1xyXG4gICAgICB0aGlzLl9zZXJ2aWNlLmNvbnZlcnNhdGlvbnModGhpcy5jb250YWN0LmlkLCB0aGlzLml0ZW1zLmxlbmd0aCA/IHRoaXMuaXRlbXNbMF0udGltZSA6IG51bGwpLnN1YnNjcmliZShpcyA9PiB7XHJcbiAgICAgICAgaWYgKGlzLmxlbmd0aClcclxuICAgICAgICAgIHRoaXMuaXRlbXMgPSBpcy5yZXZlcnNlKCkuY29uY2F0KHRoaXMuaXRlbXMpXHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgdGhpcy5fdG9wID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgc2VuZChldnQ6IEVkaXRUZXh0RXZlbnQpIHtcclxuICAgIHRoaXMuc2VuZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnNlbmQodGhpcy5jb250YWN0LmlkLCBldnQpLnN1YnNjcmliZShjID0+IHtcclxuICAgICAgdGhpcy5pdGVtcy5wdXNoKGMpO1xyXG4gICAgICB0aGlzLl9pbnB1dC5jbGVhcigpO1xyXG4gICAgICB0aGlzLl9zY3JvbGxUb0JvdHRvbSgpO1xyXG4gICAgICB0aGlzLnNlbmRpbmcgPSBmYWxzZTtcclxuICAgIH0sIGUgPT4ge1xyXG4gICAgICB0aGlzLnNlbmRpbmcgPSBmYWxzZTtcclxuICAgICAgdGhpcy5fc2IuZXJyb3IoKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkZvY3VzKCkge1xyXG4gICAgdGhpcy5faW5Gb2N1cyA9IHRydWU7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLmFjdGl2ZSA9IHRoaXMuY29udGFjdC5pZDtcclxuICAgIHRoaXMuY29udGFjdC5jb3VudCAmJiB0aGlzLl9zZWVuKCk7XHJcbiAgfVxyXG4gIG9uQmx1cigpIHtcclxuICAgIHRoaXMuX3NlcnZpY2UuYWN0aXZlID0gbnVsbDtcclxuICAgIHRoaXMuX2luRm9jdXMgPSBmYWxzZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfc2VlbigpIHtcclxuICAgIHRoaXMuX3NlcnZpY2Uuc2Vlbih0aGlzLmNvbnRhY3QuaWQpLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgdGhpcy53YXRlcm1hcmsgPSBlLnRpbWU7XHJcbiAgICAgIHRoaXMuX3Njcm9sbFRvQm90dG9tKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGZvY3VzKCkge1xyXG4gICAgdGhpcy5faW5wdXQuZm9jdXMoKTtcclxuICB9XHJcbiAgcHJldmlldyhpdGVtOiBDaGF0KSB7XHJcbiAgICBjb25zdCBvUmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xyXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgZGlzcG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLmNlbnRlckhvcml6b250YWxseSgpLmNlbnRlclZlcnRpY2FsbHkoKSxcclxuICAgIH0pO1xyXG4gICAgb1JlZi5hdHRhY2gobmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMucHJldmlld1RlbXBsYXRlLCB0aGlzLl92YywgeyBpdGVtIH0pKTtcclxuICAgIG1lcmdlKG9SZWYua2V5ZG93bkV2ZW50cygpLnBpcGUoZmlsdGVyKGsgPT4gay5rZXlDb2RlID09PSBFU0NBUEUpKSwgb1JlZi5iYWNrZHJvcENsaWNrKCkpLnN1YnNjcmliZSgoKSA9PiBvUmVmLmRldGFjaCgpKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX3R5cGluZ1Rhc2spIGNsZWFyVGltZW91dCh0aGlzLl90eXBpbmdUYXNrKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG5cclxuICAgIHRoaXMuX3ByZXNlcnZlRHJhZnQgJiYgdGhpcy5fcGVyc2lzdCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcGVyc2lzdCgpIHtcclxuICAgIHRoaXMuX2lucHV0LnRleHQgJiYgdGhpcy5faW5wdXQudGV4dC5sZW5ndGggJiZcclxuICAgICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuY29udGFjdC5pZCwgdGhpcy5faW5wdXQudGV4dCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKHdoZWVsKT1cIm9uU2Nyb2xsKCRldmVudClcIiBjbGFzcz1cImNoYXQtY29udmVyc2F0aW9uXCIgI2NvbnZlcnNhdGlvbj5cclxuICA8Yml6ZG9jLW5vbmUgKm5nSWY9XCIhaXRlbXMubGVuZ3RoXCIgdGl0bGU9XCJDaGF0XCIgaWNvbj1cImNoYXRcIj48L2JpemRvYy1ub25lPlxyXG5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2hhdC1pdGVtXCIgW2NsYXNzLnlvdV09XCJpdGVtLnVzZXJJZCE9PWNvbnRhY3QuaWRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNoYXQtdGV4dFwiIFtpbm5lckhUTUxdPVwiaXRlbS50ZXh0fHRhZ2dpbmdIdG1sOml0ZW0ucmVzb3VyY2VcIj48L2Rpdj5cclxuICAgICAgPGltZyAqbmdJZj1cIml0ZW0uaW1hZ2VcIiBbc3JjXT1cIidkYXRhOmltYWdlL3BuZztiYXNlNjQsJytpdGVtLmltYWdlXCIgYWx0PVwiXCIgKGNsaWNrKT1cInByZXZpZXcoaXRlbSlcIiAvPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2hhdC1pbmZvXCIgKm5nSWY9XCIoaT09PWl0ZW1zLmxlbmd0aCAtIDEpfHxpdGVtLnVzZXJJZCE9PWl0ZW1zW2krMV0udXNlcklkXCI+XHJcbiAgICAgICAgPHNtYWxsPlxyXG4gICAgICAgICAgPGJpemRvYy1pZGVudGl0eS1uYW1lIFtpZGVudGl0eV09XCJpdGVtLnVzZXJJZFwiIGNoYXRpbmc9XCJub25lXCI+XHJcbiAgICAgICAgICA8L2JpemRvYy1pZGVudGl0eS1uYW1lPlxyXG4gICAgICAgIDwvc21hbGw+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICAgIDxzbWFsbCBjbGFzcz1cImNoYXQtdGltZVwiIFtiaXpkb2NUb29sdGlwXT1cIml0ZW0udGltZSB8IGFtRGF0ZUZvcm1hdDogJ2xsbCdcIj57e2l0ZW0udGltZSB8IGFtQ2FsZW5kYXIgOiBudWxsIDogQ0FMRU5EQVJfU1BFQyB9fTwvc21hbGw+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2hhdC13YXRlcm1hcmtcIiAqbmdJZj1cIndhdGVybWFyayAmJiAoKGk8aXRlbXMubGVuZ3RoIC0gMSAmJiBpdGVtc1tpKzFdLnRpbWU+d2F0ZXJtYXJrJiZpdGVtLnRpbWU8PXdhdGVybWFyayl8fChpPT09aXRlbXMubGVuZ3RoIC0gMSAmJml0ZW0udGltZTw9d2F0ZXJtYXJrKSlcIj5cclxuICAgICAgPG1hdC1pY29uIFtiaXpkb2NUb29sdGlwXT1cIidXYXRjaGVkJyB8IHRyYW5zbGF0ZSA6ICh3YXRlcm1hcmsgfCBhbVRpbWVBZ28pXCI+ZG9uZV9hbGw8L21hdC1pY29uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwiY2hhdC10eXBpbmdcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJ0eXBpbmcgPyAndmlzaWJsZSc6J2hpZGRlbidcIiBbaW5uZXJIVE1MXT1cIihwcm9maWxlPy5nZW5kZXIgPT09ICdNYWxlJyA/ICdUeXBpbmdNYWxlJyA6IHByb2ZpbGU/LmdlbmRlciA9PT0gJ0ZlbWFsZScgPyAnVHlwaW5nRmVtYWxlJyA6ICdUeXBpbmcnKSB8IHRyYW5zbGF0ZSA6IChwcm9maWxlPy5uaWNrIHx8IHByb2ZpbGU/Lm5hbWUpXCI+PC9kaXY+XHJcblxyXG48Yml6ZG9jLWVkaXQtdGV4dCAob2spPVwic2VuZCgkZXZlbnQpXCIgKGZvY3VzKT1cIm9uRm9jdXMoKVwiXHJcbiAgICAgICAgICAgICAgICAgIChmb2N1c291dCk9XCJvbkJsdXIoKVwiIFtkaXNhYmxlZF09XCJzZW5kaW5nXCIgKGNoYW5nZSk9XCJfdGV4dENoYW5nZS5uZXh0KClcIj48L2JpemRvYy1lZGl0LXRleHQ+XHJcbjxuZy10ZW1wbGF0ZSAjcHJldmlld1RlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiPlxyXG4gIDxpbWcgW3NyY109XCInZGF0YTppbWFnZS9wbmc7YmFzZTY0LCcraXRlbS5pbWFnZVwiIGFsdD1cIlwiIC8+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY2hhdC9jb252ZXJzYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jaGF0L2NvbnZlcnNhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUEyRCxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakosT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVFqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQWlCLE1BQU0sc0NBQXNDLENBQUM7QUFFekYsT0FBTyxFQUFnQixhQUFhLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEYsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUM7QUFPakMsTUFBTSxPQUNFLHFCQUFxQjtJQXVCM0IsWUFDeUIsTUFBb0IsRUFDbkMsUUFBcUIsRUFDckIsVUFBc0IsRUFDdEIsVUFBNEIsRUFDNUIsU0FBeUIsRUFDekIsR0FBa0IsRUFDbEIsR0FBcUIsRUFDckIsUUFBaUI7UUFOakIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FB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bGVtZW50UmVmLCBWaWV3Q2hpbGQsIE9uSW5pdCwgSW5wdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBFU0NBUEUgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xyXG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIGRlYm91bmNlVGltZSwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDYWxlbmRhclNwZWMgfSBmcm9tIFwiLi4vY29yZS9waXBlcy9jYWxlbmRhci5waXBlXCI7XHJcbmltcG9ydCB7IENoYXQsIENvbnRhY3QsIFVzZXJJbmZvIH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBIdWJTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9odWIuc2VydmljZSc7XHJcbmltcG9ydCB7IENoYXRTZXJ2aWNlIH0gZnJvbSAnLi9jaGF0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9hY2NvdW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IEVkaXRJbnB1dENvbXBvbmVudCwgRWRpdFRleHRFdmVudCB9IGZyb20gJy4uL2NvcmUvdGFnZ2luZy9lZGl0LWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCaXpEb2NDb25maWcsIEJJWkRPQ19DT05GSUcsIENoYXRTZXR0aW5ncyB9IGZyb20gJy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcblxyXG5jb25zdCBDT05UQUNUX1RZUElOR19OT1RFID0gMTUwMDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWNoYXQtY29udmVyc2F0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udmVyc2F0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb252ZXJzYXRpb24uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnRcclxuICBjbGFzcyBDb252ZXJzYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBwdWJsaWMgY29udGFjdDogQ29udGFjdDtcclxuICBwcm9maWxlOiBVc2VySW5mbztcclxuICBpdGVtczogQ2hhdFtdID0gW107XHJcbiAgdHlwaW5nID0gZmFsc2U7XHJcbiAgd2F0ZXJtYXJrOiBEYXRlO1xyXG4gIHNlbmRpbmcgPSBmYWxzZTtcclxuICB3b3JraW5nID0gZmFsc2U7XHJcbiAgcmVhZG9ubHkgQ0FMRU5EQVJfU1BFQzogQ2FsZW5kYXJTcGVjID0ge1xyXG4gICAgbGFzdERheTogdGhpcy5fdHJhbnNsYXRlLmdldCgnWWVzdGVyZGF5QXQnLCAnSEg6bW0nKSxcclxuICAgIGxhc3RXZWVrOiAnZGRkIEhIOm1tJyxcclxuICAgIHNhbWVEYXk6ICdISDptbScsXHJcbiAgICBzYW1lRWxzZTogJ01NTSBEIEhIOm1tJ1xyXG4gIH07XHJcbiAgQFZpZXdDaGlsZChFZGl0SW5wdXRDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIF9pbnB1dDogRWRpdElucHV0Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ2NvbnZlcnNhdGlvbicsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIGNvbnZlcnNhdGlvbkVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ3ByZXZpZXdUZW1wbGF0ZScpIHByZXZpZXdUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICBwcml2YXRlIF9pbkZvY3VzID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfdG9wID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfdHlwaW5nVGFzazogTm9kZUpTLlRpbWVvdXQ7XHJcbiAgcHJpdmF0ZSBfcHJlc2VydmVEcmFmdDogYm9vbGVhbjtcclxuICByZWFkb25seSBfdGV4dENoYW5nZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KEJJWkRPQ19DT05GSUcpIGNvbmZpZzogQml6RG9jQ29uZmlnLFxyXG4gICAgcHJpdmF0ZSBfc2VydmljZTogQ2hhdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9tZXNzYWdpbmc6IEh1YlNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9hY2NvdW50czogQWNjb3VudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX3ZjOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheVxyXG4gICkge1xyXG4gICAgdGhpcy5fcHJlc2VydmVEcmFmdCA9IGNvbmZpZy5jaGF0aW5nICYmIChjb25maWcuY2hhdGluZyBhcyBDaGF0U2V0dGluZ3MpLnByZXNlcnZlRHJhZnQ7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fbWVzc2FnaW5nLmNoYXRUeXBpbmckLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgIGlmIChlLmNvbnRhY3RJZCA9PT0gdGhpcy5jb250YWN0LmlkKSB7XHJcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX3R5cGluZ1Rhc2spO1xyXG4gICAgICAgIHRoaXMuX3R5cGluZ1Rhc2sgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMudHlwaW5nID0gZmFsc2UsIENPTlRBQ1RfVFlQSU5HX05PVEUpO1xyXG4gICAgICAgIHRoaXMudHlwaW5nID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcuY2hhdCQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgaWYgKGUuY29udGFjdElkID09PSB0aGlzLmNvbnRhY3QuaWQpIHtcclxuICAgICAgICB0aGlzLml0ZW1zLnB1c2goZS5tb2RlbCk7XHJcbiAgICAgICAgdGhpcy5fc2Nyb2xsVG9Cb3R0b20oKTtcclxuICAgICAgICB0aGlzLl9pbkZvY3VzICYmIHRoaXMuX3NlZW4oKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcuY2hhdFdhdGVybWFyayQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgaWYgKGUuY29udGFjdElkID09PSB0aGlzLmNvbnRhY3QuaWQpIHRoaXMud2F0ZXJtYXJrID0gZS50aW1lO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl90ZXh0Q2hhbmdlLnBpcGUoZGVib3VuY2VUaW1lKDM1MCksIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKCgpID0+XHJcbiAgICAgIHRoaXMuX3NlcnZpY2UudHlwaW5nKHRoaXMuY29udGFjdC5pZCkpO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhfOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLnByb2ZpbGUgJiZcclxuICAgICAgdGhpcy5fcHJlc2VydmVEcmFmdCAmJiB0aGlzLl9wZXJzaXN0KCk7XHJcblxyXG4gICAgdGhpcy5fYWNjb3VudHMuZ2V0KHRoaXMuY29udGFjdC5pZCkuc3Vic2NyaWJlKHUgPT4ge1xyXG4gICAgICB0aGlzLnByb2ZpbGUgPSB1O1xyXG4gICAgfSwgKCkgPT4gdGhpcy5fc2IuZXJyb3IoKSk7XHJcbiAgICAvLyBsYXRlc3RcclxuICAgIHRoaXMud2F0ZXJtYXJrID0gdGhpcy5jb250YWN0LnZpc2l0ZWQgfHwgdGhpcy5jb250YWN0LndhdGVybWFyayA/ICh0aGlzLmNvbnRhY3QudmlzaXRlZCAmJiB0aGlzLmNvbnRhY3Qud2F0ZXJtYXJrID9cclxuICAgICAgdGhpcy5jb250YWN0LndhdGVybWFyayA+IHRoaXMuY29udGFjdC52aXNpdGVkID9cclxuICAgICAgICB0aGlzLmNvbnRhY3Qud2F0ZXJtYXJrIDogdGhpcy5jb250YWN0LnZpc2l0ZWQgOlxyXG4gICAgICB0aGlzLmNvbnRhY3Qud2F0ZXJtYXJrIHx8IHRoaXMuY29udGFjdC52aXNpdGVkKSA6IG51bGw7XHJcbiAgICAvLyBmZXRjaFxyXG4gICAgdGhpcy5fc2VydmljZS5jb252ZXJzYXRpb25zKHRoaXMuY29udGFjdC5pZCkuc3Vic2NyaWJlKGNzID0+IHtcclxuICAgICAgdGhpcy5pdGVtcyA9IGNzLnJldmVyc2UoKTtcclxuICAgICAgdGhpcy5fc2Nyb2xsVG9Cb3R0b20oKTtcclxuICAgICAgIXRoaXMuY29udGFjdC5jb3VudCAmJlxyXG4gICAgICAgIHRoaXMuZm9jdXMoKTtcclxuICAgIH0sICgpID0+XHJcbiAgICAgIHRoaXMuX3NiLmVycm9yKCkpO1xyXG4gICAgaWYgKHRoaXMuX3ByZXNlcnZlRHJhZnQpIHtcclxuICAgICAgY29uc3QgdGV4dCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuY29udGFjdC5pZCk7XHJcbiAgICAgIGlmICh0ZXh0KSB0aGlzLl9pbnB1dC50ZXh0ID0gdGV4dDtcclxuICAgIH1cclxuICB9XHJcbiAgdHJhY2tCeSA9IChfLCBpdGVtOiBDaGF0KSA9PiBpdGVtLnRpbWU7XHJcblxyXG4gIHByaXZhdGUgX3Njcm9sbFRvQm90dG9tKCk6IHZvaWQge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgdGhpcy5jb252ZXJzYXRpb25FbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID0gdGhpcy5jb252ZXJzYXRpb25FbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0O1xyXG4gICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihlKVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgb25TY3JvbGwoZTogTW91c2VFdmVudCkge1xyXG4gICAgY29uc3QgZWwgPSB0aGlzLmNvbnZlcnNhdGlvbkVsZW1lbnQubmF0aXZlRWxlbWVudDtcclxuICAgIGlmIChlbC5zY3JvbGxUb3AgPCAxMCAmJiAhdGhpcy5fdG9wICYmICF0aGlzLndvcmtpbmcpIHtcclxuICAgICAgdGhpcy53b3JraW5nID0gdHJ1ZTtcclxuICAgICAgdGhpcy5fc2VydmljZS5jb252ZXJzYXRpb25zKHRoaXMuY29udGFjdC5pZCwgdGhpcy5pdGVtcy5sZW5ndGggPyB0aGlzLml0ZW1zWzBdLnRpbWUgOiBudWxsKS5zdWJzY3JpYmUoaXMgPT4ge1xyXG4gICAgICAgIGlmIChpcy5sZW5ndGgpXHJcbiAgICAgICAgICB0aGlzLml0ZW1zID0gaXMucmV2ZXJzZSgpLmNvbmNhdCh0aGlzLml0ZW1zKVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRoaXMuX3RvcCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy53b3JraW5nID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNlbmQoZXZ0OiBFZGl0VGV4dEV2ZW50KSB7XHJcbiAgICB0aGlzLnNlbmRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5fc2VydmljZS5zZW5kKHRoaXMuY29udGFjdC5pZCwgZXZ0KS5zdWJzY3JpYmUoYyA9PiB7XHJcbiAgICAgIHRoaXMuaXRlbXMucHVzaChjKTtcclxuICAgICAgdGhpcy5faW5wdXQuY2xlYXIoKTtcclxuICAgICAgdGhpcy5fc2Nyb2xsVG9Cb3R0b20oKTtcclxuICAgICAgdGhpcy5zZW5kaW5nID0gZmFsc2U7XHJcbiAgICB9LCBlID0+IHtcclxuICAgICAgdGhpcy5zZW5kaW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuX3NiLmVycm9yKClcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25Gb2N1cygpIHtcclxuICAgIHRoaXMuX2luRm9jdXMgPSB0cnVlO1xyXG4gICAgdGhpcy5fc2VydmljZS5hY3RpdmUgPSB0aGlzLmNvbnRhY3QuaWQ7XHJcbiAgICB0aGlzLmNvbnRhY3QuY291bnQgJiYgdGhpcy5fc2VlbigpO1xyXG4gIH1cclxuICBvbkJsdXIoKSB7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLmFjdGl2ZSA9IG51bGw7XHJcbiAgICB0aGlzLl9pbkZvY3VzID0gZmFsc2U7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3NlZW4oKSB7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnNlZW4odGhpcy5jb250YWN0LmlkKS5zdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgIHRoaXMud2F0ZXJtYXJrID0gZS50aW1lO1xyXG4gICAgICB0aGlzLl9zY3JvbGxUb0JvdHRvbSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBmb2N1cygpIHtcclxuICAgIHRoaXMuX2lucHV0LmZvY3VzKCk7XHJcbiAgfVxyXG4gIHByZXZpZXcoaXRlbTogQ2hhdCkge1xyXG4gICAgY29uc3Qgb1JlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgIGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKS5jZW50ZXJIb3Jpem9udGFsbHkoKS5jZW50ZXJWZXJ0aWNhbGx5KCksXHJcbiAgICB9KTtcclxuICAgIG9SZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLnByZXZpZXdUZW1wbGF0ZSwgdGhpcy5fdmMsIHsgaXRlbSB9KSk7XHJcbiAgICBtZXJnZShvUmVmLmtleWRvd25FdmVudHMoKS5waXBlKGZpbHRlcihrID0+IGsua2V5Q29kZSA9PT0gRVNDQVBFKSksIG9SZWYuYmFja2Ryb3BDbGljaygpKS5zdWJzY3JpYmUoKCkgPT4gb1JlZi5kZXRhY2goKSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl90eXBpbmdUYXNrKSBjbGVhclRpbWVvdXQodGhpcy5fdHlwaW5nVGFzayk7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuXHJcbiAgICB0aGlzLl9wcmVzZXJ2ZURyYWZ0ICYmIHRoaXMuX3BlcnNpc3QoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3BlcnNpc3QoKSB7XHJcbiAgICB0aGlzLl9pbnB1dC50ZXh0ICYmIHRoaXMuX2lucHV0LnRleHQubGVuZ3RoICYmXHJcbiAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmNvbnRhY3QuaWQsIHRoaXMuX2lucHV0LnRleHQpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICh3aGVlbCk9XCJvblNjcm9sbCgkZXZlbnQpXCIgY2xhc3M9XCJjaGF0LWNvbnZlcnNhdGlvblwiICNjb252ZXJzYXRpb24+XHJcbiAgPGJpemRvYy1ub25lICpuZ0lmPVwiIWl0ZW1zLmxlbmd0aFwiIHRpdGxlPVwiQ2hhdFwiIGljb249XCJjaGF0XCI+PC9iaXpkb2Mtbm9uZT5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNoYXQtaXRlbVwiIFtjbGFzcy55b3VdPVwiaXRlbS51c2VySWQhPT1jb250YWN0LmlkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjaGF0LXRleHRcIiBbaW5uZXJIVE1MXT1cIml0ZW0udGV4dHx0YWdnaW5nSHRtbDppdGVtLnJlc291cmNlXCI+PC9kaXY+XHJcbiAgICAgIDxpbWcgKm5nSWY9XCJpdGVtLmltYWdlXCIgW3NyY109XCInZGF0YTppbWFnZS9wbmc7YmFzZTY0LCcraXRlbS5pbWFnZVwiIGFsdD1cIlwiIChjbGljayk9XCJwcmV2aWV3KGl0ZW0pXCIgLz5cclxuICAgICAgPGRpdiBjbGFzcz1cImNoYXQtaW5mb1wiICpuZ0lmPVwiKGk9PT1pdGVtcy5sZW5ndGggLSAxKXx8aXRlbS51c2VySWQhPT1pdGVtc1tpKzFdLnVzZXJJZFwiPlxyXG4gICAgICAgIDxzbWFsbD5cclxuICAgICAgICAgIDxiaXpkb2MtaWRlbnRpdHktbmFtZSBbaWRlbnRpdHldPVwiaXRlbS51c2VySWRcIiBjaGF0aW5nPVwibm9uZVwiPlxyXG4gICAgICAgICAgPC9iaXpkb2MtaWRlbnRpdHktbmFtZT5cclxuICAgICAgICA8L3NtYWxsPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICA8c21hbGwgY2xhc3M9XCJjaGF0LXRpbWVcIiBbYml6ZG9jVG9vbHRpcF09XCJpdGVtLnRpbWUgfCBhbURhdGVGb3JtYXQ6ICdsbGwnXCI+e3tpdGVtLnRpbWUgfCBhbUNhbGVuZGFyIDogbnVsbCA6IENBTEVOREFSX1NQRUMgfX08L3NtYWxsPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNoYXQtd2F0ZXJtYXJrXCIgKm5nSWY9XCJ3YXRlcm1hcmsgJiYgKChpPGl0ZW1zLmxlbmd0aCAtIDEgJiYgaXRlbXNbaSsxXS50aW1lPndhdGVybWFyayYmaXRlbS50aW1lPD13YXRlcm1hcmspfHwoaT09PWl0ZW1zLmxlbmd0aCAtIDEgJiZpdGVtLnRpbWU8PXdhdGVybWFyaykpXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBbYml6ZG9jVG9vbHRpcF09XCInV2F0Y2hlZCcgfCB0cmFuc2xhdGUgOiAod2F0ZXJtYXJrIHwgYW1UaW1lQWdvKVwiPmRvbmVfYWxsPC9tYXQtaWNvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cImNoYXQtdHlwaW5nXCIgW3N0eWxlLnZpc2liaWxpdHldPVwidHlwaW5nID8gJ3Zpc2libGUnOidoaWRkZW4nXCIgW2lubmVySFRNTF09XCIocHJvZmlsZT8uZ2VuZGVyID09PSAnTWFsZScgPyAnVHlwaW5nTWFsZScgOiBwcm9maWxlPy5nZW5kZXIgPT09ICdGZW1hbGUnID8gJ1R5cGluZ0ZlbWFsZScgOiAnVHlwaW5nJykgfCB0cmFuc2xhdGUgOiAocHJvZmlsZT8ubmljayB8fCBwcm9maWxlPy5uYW1lKVwiPjwvZGl2PlxyXG5cclxuPGJpemRvYy1lZGl0LXRleHQgKG9rKT1cInNlbmQoJGV2ZW50KVwiIChmb2N1cyk9XCJvbkZvY3VzKClcIlxyXG4gICAgICAgICAgICAgICAgICAoZm9jdXNvdXQpPVwib25CbHVyKClcIiBbZGlzYWJsZWRdPVwic2VuZGluZ1wiIChjaGFuZ2UpPVwiX3RleHRDaGFuZ2UubmV4dCgpXCI+PC9iaXpkb2MtZWRpdC10ZXh0PlxyXG48bmctdGVtcGxhdGUgI3ByZXZpZXdUZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIj5cclxuICA8aW1nIFtzcmNdPVwiJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwnK2l0ZW0uaW1hZ2VcIiBhbHQ9XCJcIiAvPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=