@provoly/hypervisor 1.9.9 → 2.0.1
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.
- package/esm2022/src/lib/event/list/event-list.component.mjs +14 -7
- package/esm2022/src/lib/model/event/hyp-event-detail.interface.mjs +11 -7
- package/esm2022/src/lib/store/event/event.service.mjs +3 -3
- package/fesm2022/provoly-hypervisor.mjs +34 -23
- package/fesm2022/provoly-hypervisor.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/event/list/event-list.component.d.ts +4 -3
- package/src/lib/model/event/hyp-event-detail.interface.d.ts +25 -26
- package/src/lib/model/procedure/hyp-procedure.interface.d.ts +24 -25
- package/styles/components/_o-hvy-event-summary-list.scss +10 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, ElementRef, Input, ViewChild, ViewChildren } from '@angular/core';
|
|
1
|
+
import { Component, ElementRef, Host, Input, Optional, ViewChild, ViewChildren } from '@angular/core';
|
|
2
2
|
import { EventActions } from '../../store/event/event.actions';
|
|
3
3
|
import { EventSelectors } from '../../store/event/event.selectors';
|
|
4
4
|
import { combineLatest, fromEvent, map } from 'rxjs';
|
|
@@ -31,7 +31,7 @@ export const statusOrder = {
|
|
|
31
31
|
CANCELLED: 4,
|
|
32
32
|
};
|
|
33
33
|
export class EventListComponent extends SubscriptionnerDirective {
|
|
34
|
-
constructor(store, el, router, scroll, overlay, viewContainerRef, overlayPositionBuilder) {
|
|
34
|
+
constructor(store, el, router, scroll, overlay, viewContainerRef, overlayPositionBuilder, scrollContainer) {
|
|
35
35
|
super();
|
|
36
36
|
this.store = store;
|
|
37
37
|
this.el = el;
|
|
@@ -40,6 +40,7 @@ export class EventListComponent extends SubscriptionnerDirective {
|
|
|
40
40
|
this.overlay = overlay;
|
|
41
41
|
this.viewContainerRef = viewContainerRef;
|
|
42
42
|
this.overlayPositionBuilder = overlayPositionBuilder;
|
|
43
|
+
this.scrollContainer = scrollContainer;
|
|
43
44
|
this.eventDisLength = 0;
|
|
44
45
|
this.EVENT_LINK = EVENT_LINK;
|
|
45
46
|
this._store = this.store;
|
|
@@ -104,6 +105,7 @@ export class EventListComponent extends SubscriptionnerDirective {
|
|
|
104
105
|
else {
|
|
105
106
|
const positionStrategy = this.overlayPositionBuilder
|
|
106
107
|
.flexibleConnectedTo(this.elem.get(index))
|
|
108
|
+
.withScrollableContainers([this.scrollContainer])
|
|
107
109
|
.withPositions([{
|
|
108
110
|
offsetX: -25,
|
|
109
111
|
offsetY: -35,
|
|
@@ -115,17 +117,22 @@ export class EventListComponent extends SubscriptionnerDirective {
|
|
|
115
117
|
this.overlayRef = this.overlay.create(new OverlayConfig({
|
|
116
118
|
hasBackdrop: false,
|
|
117
119
|
positionStrategy,
|
|
120
|
+
scrollStrategy: this.overlay.scrollStrategies.close()
|
|
118
121
|
}));
|
|
119
122
|
this.overlayRef.attach(new TemplatePortal(this.diTooltip, this.viewContainerRef, { $implicit: event }));
|
|
120
123
|
}
|
|
121
124
|
}
|
|
122
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: EventListComponent, deps: [{ token: i1.Store }, { token: i0.ElementRef }, { token: i2.Router }, { token: i3.InfiniteScrollService }, { token: i4.Overlay }, { token: i0.ViewContainerRef }, { token: i4.OverlayPositionBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
123
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: EventListComponent, selector: "hvy-event-list", inputs: { disableGotoDetail: "disableGotoDetail" }, viewQueries: [{ propertyName: "diTooltip", first: true, predicate: ["diTooltip"], descendants: true }, { propertyName: "elem", predicate: ["elem"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<table class=\"o-hvy-events-table\">\n <thead>\n <tr class=\"o-hvy-events-table__header\">\n <th class=\"-checkbox\">\n <pry-checkbox [ngModel]=\"allSelected$ | async\" (ngModelChange)=\"selectAll($event)\">\n <div>\n ({{(selectedIds$| async)?.length}})\n </div>\n </pry-checkbox>\n </th>\n <th>\n <hvy-event-column-order field=\"criticality\">{{ '@hvy.event.criticality.name' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"id\">{{ '@hvy.event.id' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"domain\">{{ '@hvy.event.domain.name' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"name\">{{ '@hvy.event.name' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n {{ '@hvy.event.dis' | i18n }}\n </th>\n <th>\n <hvy-event-column-order field=\"status\">{{ '@hvy.event.status.name' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"source\">{{ '@hvy.event.source' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"procedureProgress\"\n >{{ '@hvy.procedure.progress' | i18n }}\n </hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"category\">{{ '@hvy.event.category.name' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"creationDate\">{{ '@hvy.event.creationDateTable' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"lastModificationDate\"\n >{{ '@hvy.event.lastModificationDateTable' | i18n }}\n </hvy-event-column-order>\n </th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n @for (event of events$ | async; track event.id; let index = $index) {\n <tr class=\"o-hvy-events-table__line\" [class.-nogo]=\"disableGotoDetail\" (click)=\"goTo(event)\">\n <td class=\"o-hvy-events-table__line__cell checkbox\">\n <pry-checkbox\n [ngModel]=\"(selectedIds$ | async)!.includes(event.id)\"\n (click)=\"select(event, $event)\"\n ></pry-checkbox>\n </td>\n <td class=\"o-hvy-events-table__line__cell -centered icon\">\n <hvy-icon-display [event]=\"event\"></hvy-icon-display>\n </td>\n <td class=\"o-hvy-events-table__line__cell id\">\n {{ padId.fn(event.id) }}\n </td>\n <td class=\"o-hvy-events-table__line__cell domain\">\n {{ event.domain ?? '' }}\n </td>\n <td class=\"o-hvy-events-table__line__cell name\">\n <div class=\"o-hvy-events-table__line__cell__name__main\">{{ event.name }}</div>\n <div class=\"o-hvy-events-table__line__cell__name__sub\">\n @if (event.equipment) {\n {{ event.equipment.name ? event.equipment.name : '' }} -\n {{ event.equipment ? ('@hvy.event.family.' + event.equipment.family | i18n) : '' }}\n }\n </div>\n <div class=\"o-hvy-events-table__line__cell__name__subsub\">\n <span>{{ event.address }}</span>\n @if(event.district) {\n @if(event.address) {\n <span>, </span>\n }\n <span>{{(\"@hvy.event.places.\" + event.district | i18n)}} </span>\n }\n </div>\n </td>\n <td class=\"o-hvy-events-table__line__cell\" #elem>\n @if (getEventDisLength(event) > 0){\n <div class=\"o-hvy-last-events__services__item__icon\">\n <div class=\"event-dis-container\"\n (mouseenter)=\"showDiTooltip(event, index)\"\n (mouseleave)=\"showDiTooltip(event, index)\">\n <pry-icon iconSvg=\"service\" [height]=\"30\" [width]=\"30\"></pry-icon>\n <div class=\"event-dis-number\">\n {{eventDisLength}}\n </div>\n </div>\n </div>\n }\n </td>\n <td class=\"o-hvy-events-table__line__cell -centered status\">\n <hvy-status-display [item]=\"event\"></hvy-status-display>\n </td>\n <td class=\"o-hvy-events-table__line__cell source\">\n {{ event.externalSourceRef ?? ('@hvy.event.hypervisor' | i18n) }}\n </td>\n <td class=\"o-hvy-events-table__line__cell -centered progress\">{{ event.procedureProgress }} %</td>\n <td class=\"o-hvy-events-table__line__cell category\">\n <div class=\"o-hvy-events-table__line__cell__name__main\">\n {{ '@hvy.event.category.' + event.category | i18n }}\n </div>\n @if (event.subCategory && event.subCategory !== 'NONE') {\n <div class=\"o-hvy-events-table__line__cell__name__sub\">\n {{ '@hvy.event.subCategory.' + event.subCategory | i18n }}\n </div>\n }\n </td>\n <td class=\"o-hvy-events-table__line__cell creation-date\">\n {{ event.creationDate | displayLocaleDatetime }}\n </td>\n <td class=\"o-hvy-events-table__line__cell modification-date\">\n {{ event.lastModificationDate | displayLocaleDatetime }}\n </td>\n <td class=\"o-hvy-events-table__line__cell link\">\n @if (!disableGotoDetail) {\n <a\n [routerLink]=\"EVENT_LINK.fn(event, _store)\"\n [title]=\"\n '@hvy.event.consult'\n | i18n: { howMany: Math.max(1, event.linkedEvents), plural: event.linkedEvents > 1 ? 's' : '' }\n \"\n >\n <div class=\"consult-link\">\n <pry-icon iconSvg=\"eye\" [height]=\"30\" [width]=\"40\"></pry-icon>\n @if (event.linkedEvents > 1) {\n <div class=\"indicator-badge\">{{ event.linkedEvents }}</div>\n }\n </div>\n </a>\n }\n </td>\n </tr>\n } @empty {\n <tr>\n <td class=\"o-hvy-events-table__empty\" colspan=\"50\">\n <div>{{ '@hvy.event.log.empty' | i18n }}</div>\n <div>\n <ng-content></ng-content>\n </div>\n </td>\n </tr>\n }\n </tbody>\n</table>\n\n<ng-template #diTooltip let-event>\n <div class=\"event-dis-tooltip\">\n @for (di of event.dis; track di){\n <div>\n - {{di.id}} ({{'@hvy.procedure.status.' + di.status | i18n}})\n </div>\n }\n </div>\n</ng-template>\n\n", dependencies: [{ kind: "component", type: i5.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle", "name", "inputId", "inhibit"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i7.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i8.EventColumnOrderComponent, selector: "hvy-event-column-order" }, { kind: "component", type: i9.IconDisplayComponent, selector: "hvy-icon-display", inputs: ["event"] }, { kind: "component", type: i10.StatusDisplayComponent, selector: "hvy-status-display", inputs: ["type", "readonly", "item", "modifiable"], outputs: ["modified"] }, { kind: "pipe", type: i11.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.I18nPipe, name: "i18n" }, { kind: "pipe", type: i12.DisplayLocaleDateTime, name: "displayLocaleDatetime" }] }); }
|
|
125
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: EventListComponent, deps: [{ token: i1.Store }, { token: i0.ElementRef }, { token: i2.Router }, { token: i3.InfiniteScrollService }, { token: i4.Overlay }, { token: i0.ViewContainerRef }, { token: i4.OverlayPositionBuilder }, { token: i4.CdkScrollable, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
126
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: EventListComponent, selector: "hvy-event-list", inputs: { disableGotoDetail: "disableGotoDetail" }, viewQueries: [{ propertyName: "diTooltip", first: true, predicate: ["diTooltip"], descendants: true }, { propertyName: "elem", predicate: ["elem"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<table class=\"o-hvy-events-table journal-table-event\">\n <thead>\n <tr class=\"o-hvy-events-table__header\">\n <th class=\"-checkbox\">\n <pry-checkbox [ngModel]=\"allSelected$ | async\" (ngModelChange)=\"selectAll($event)\">\n <div>\n ({{(selectedIds$| async)?.length}})\n </div>\n </pry-checkbox>\n </th>\n <th>\n <hvy-event-column-order field=\"criticality\">{{ '@hvy.event.criticality.name' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"id\">{{ '@hvy.event.id' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"domain\">{{ '@hvy.event.domain.name' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"name\">{{ '@hvy.event.name' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n {{ '@hvy.event.dis' | i18n }}\n </th>\n <th>\n <hvy-event-column-order field=\"status\">{{ '@hvy.event.status.name' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"source\">{{ '@hvy.event.source' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"procedureProgress\"\n >{{ '@hvy.procedure.progress' | i18n }}\n </hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"category\">{{ '@hvy.event.category.name' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"creationDate\">{{ '@hvy.event.creationDateTable' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"lastModificationDate\"\n >{{ '@hvy.event.lastModificationDateTable' | i18n }}\n </hvy-event-column-order>\n </th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n @for (event of events$ | async; track event.id; let index = $index) {\n <tr class=\"o-hvy-events-table__line\" [class.-nogo]=\"disableGotoDetail\" (click)=\"goTo(event)\">\n <td class=\"o-hvy-events-table__line__cell checkbox\">\n <pry-checkbox\n [ngModel]=\"(selectedIds$ | async)!.includes(event.id)\"\n (click)=\"select(event, $event)\"\n ></pry-checkbox>\n </td>\n <td class=\"o-hvy-events-table__line__cell -centered icon\">\n <hvy-icon-display [event]=\"event\"></hvy-icon-display>\n </td>\n <td class=\"o-hvy-events-table__line__cell id\">\n {{ padId.fn(event.id) }}\n </td>\n <td class=\"o-hvy-events-table__line__cell domain\">\n {{ event.domain ?? '' }}\n </td>\n <td class=\"o-hvy-events-table__line__cell name\">\n <div class=\"o-hvy-events-table__line__cell__name__main\">{{ event.name }}</div>\n <div class=\"o-hvy-events-table__line__cell__name__sub\">\n @if (event.equipment) {\n {{ event.equipment.name ? event.equipment.name : '' }} -\n {{ event.equipment ? ('@hvy.event.family.' + event.equipment.family | i18n) : '' }}\n }\n </div>\n <div class=\"o-hvy-events-table__line__cell__name__subsub\">\n <span>{{ event.address }}</span>\n @if(event.district) {\n @if(event.address) {\n <span>, </span>\n }\n <span>{{(\"@hvy.event.places.\" + event.district | i18n)}} </span>\n }\n </div>\n </td>\n <td class=\"o-hvy-events-table__line__cell td-journal-di\" #elem>\n @if (getEventDisLength(event) > 0){\n <div class=\"o-hvy-last-events__services__item__icon\">\n <div class=\"event-dis-container\"\n (mouseenter)=\"showDiTooltip(event, index)\"\n (mouseleave)=\"showDiTooltip(event, index)\">\n <pry-icon iconSvg=\"service\" [height]=\"30\" [width]=\"30\"></pry-icon>\n <div class=\"event-dis-number\">\n {{eventDisLength}}\n </div>\n </div>\n </div>\n }\n </td>\n <td class=\"o-hvy-events-table__line__cell -centered status\">\n <hvy-status-display [item]=\"event\"></hvy-status-display>\n </td>\n <td class=\"o-hvy-events-table__line__cell source\">\n {{ event.externalSourceRef ?? ('@hvy.event.hypervisor' | i18n) }}\n </td>\n <td class=\"o-hvy-events-table__line__cell -centered progress\">{{ event.procedureProgress }} %</td>\n <td class=\"o-hvy-events-table__line__cell category\">\n <div class=\"o-hvy-events-table__line__cell__name__main\">\n {{ '@hvy.event.category.' + event.category | i18n }}\n </div>\n @if (event.subCategory && event.subCategory !== 'NONE') {\n <div class=\"o-hvy-events-table__line__cell__name__sub\">\n {{ '@hvy.event.subCategory.' + event.subCategory | i18n }}\n </div>\n }\n </td>\n <td class=\"o-hvy-events-table__line__cell creation-date\">\n {{ event.creationDate | displayLocaleDatetime }}\n </td>\n <td class=\"o-hvy-events-table__line__cell modification-date\">\n {{ event.lastModificationDate | displayLocaleDatetime }}\n </td>\n <td class=\"o-hvy-events-table__line__cell link\">\n @if (!disableGotoDetail) {\n <a\n [routerLink]=\"EVENT_LINK.fn(event, _store)\"\n [title]=\"\n '@hvy.event.consult'\n | i18n: { howMany: Math.max(1, event.linkedEvents), plural: event.linkedEvents > 1 ? 's' : '' }\n \"\n >\n <div class=\"consult-link\">\n <pry-icon iconSvg=\"eye\" [height]=\"30\" [width]=\"40\"></pry-icon>\n @if (event.linkedEvents > 1) {\n <div class=\"indicator-badge\">{{ event.linkedEvents }}</div>\n }\n </div>\n </a>\n }\n </td>\n </tr>\n } @empty {\n <tr>\n <td class=\"o-hvy-events-table__empty\" colspan=\"50\">\n <div>{{ '@hvy.event.log.empty' | i18n }}</div>\n <div>\n <ng-content></ng-content>\n </div>\n </td>\n </tr>\n }\n </tbody>\n</table>\n\n<ng-template #diTooltip let-event>\n <div class=\"event-dis-tooltip\">\n @for (di of event.dis; track di){\n <div>\n - {{di.id}} ({{'@hvy.procedure.status.' + di.status | i18n}})\n </div>\n }\n </div>\n</ng-template>\n\n", dependencies: [{ kind: "component", type: i5.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle", "name", "inputId", "inhibit"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i7.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i8.EventColumnOrderComponent, selector: "hvy-event-column-order" }, { kind: "component", type: i9.IconDisplayComponent, selector: "hvy-icon-display", inputs: ["event"] }, { kind: "component", type: i10.StatusDisplayComponent, selector: "hvy-status-display", inputs: ["type", "readonly", "item", "modifiable"], outputs: ["modified"] }, { kind: "pipe", type: i11.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.I18nPipe, name: "i18n" }, { kind: "pipe", type: i12.DisplayLocaleDateTime, name: "displayLocaleDatetime" }] }); }
|
|
124
127
|
}
|
|
125
128
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: EventListComponent, decorators: [{
|
|
126
129
|
type: Component,
|
|
127
|
-
args: [{ selector: 'hvy-event-list', template: "<table class=\"o-hvy-events-table\">\n <thead>\n <tr class=\"o-hvy-events-table__header\">\n <th class=\"-checkbox\">\n <pry-checkbox [ngModel]=\"allSelected$ | async\" (ngModelChange)=\"selectAll($event)\">\n <div>\n ({{(selectedIds$| async)?.length}})\n </div>\n </pry-checkbox>\n </th>\n <th>\n <hvy-event-column-order field=\"criticality\">{{ '@hvy.event.criticality.name' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"id\">{{ '@hvy.event.id' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"domain\">{{ '@hvy.event.domain.name' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"name\">{{ '@hvy.event.name' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n {{ '@hvy.event.dis' | i18n }}\n </th>\n <th>\n <hvy-event-column-order field=\"status\">{{ '@hvy.event.status.name' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"source\">{{ '@hvy.event.source' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"procedureProgress\"\n >{{ '@hvy.procedure.progress' | i18n }}\n </hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"category\">{{ '@hvy.event.category.name' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"creationDate\">{{ '@hvy.event.creationDateTable' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"lastModificationDate\"\n >{{ '@hvy.event.lastModificationDateTable' | i18n }}\n </hvy-event-column-order>\n </th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n @for (event of events$ | async; track event.id; let index = $index) {\n <tr class=\"o-hvy-events-table__line\" [class.-nogo]=\"disableGotoDetail\" (click)=\"goTo(event)\">\n <td class=\"o-hvy-events-table__line__cell checkbox\">\n <pry-checkbox\n [ngModel]=\"(selectedIds$ | async)!.includes(event.id)\"\n (click)=\"select(event, $event)\"\n ></pry-checkbox>\n </td>\n <td class=\"o-hvy-events-table__line__cell -centered icon\">\n <hvy-icon-display [event]=\"event\"></hvy-icon-display>\n </td>\n <td class=\"o-hvy-events-table__line__cell id\">\n {{ padId.fn(event.id) }}\n </td>\n <td class=\"o-hvy-events-table__line__cell domain\">\n {{ event.domain ?? '' }}\n </td>\n <td class=\"o-hvy-events-table__line__cell name\">\n <div class=\"o-hvy-events-table__line__cell__name__main\">{{ event.name }}</div>\n <div class=\"o-hvy-events-table__line__cell__name__sub\">\n @if (event.equipment) {\n {{ event.equipment.name ? event.equipment.name : '' }} -\n {{ event.equipment ? ('@hvy.event.family.' + event.equipment.family | i18n) : '' }}\n }\n </div>\n <div class=\"o-hvy-events-table__line__cell__name__subsub\">\n <span>{{ event.address }}</span>\n @if(event.district) {\n @if(event.address) {\n <span>, </span>\n }\n <span>{{(\"@hvy.event.places.\" + event.district | i18n)}} </span>\n }\n </div>\n </td>\n <td class=\"o-hvy-events-table__line__cell\" #elem>\n @if (getEventDisLength(event) > 0){\n <div class=\"o-hvy-last-events__services__item__icon\">\n <div class=\"event-dis-container\"\n (mouseenter)=\"showDiTooltip(event, index)\"\n (mouseleave)=\"showDiTooltip(event, index)\">\n <pry-icon iconSvg=\"service\" [height]=\"30\" [width]=\"30\"></pry-icon>\n <div class=\"event-dis-number\">\n {{eventDisLength}}\n </div>\n </div>\n </div>\n }\n </td>\n <td class=\"o-hvy-events-table__line__cell -centered status\">\n <hvy-status-display [item]=\"event\"></hvy-status-display>\n </td>\n <td class=\"o-hvy-events-table__line__cell source\">\n {{ event.externalSourceRef ?? ('@hvy.event.hypervisor' | i18n) }}\n </td>\n <td class=\"o-hvy-events-table__line__cell -centered progress\">{{ event.procedureProgress }} %</td>\n <td class=\"o-hvy-events-table__line__cell category\">\n <div class=\"o-hvy-events-table__line__cell__name__main\">\n {{ '@hvy.event.category.' + event.category | i18n }}\n </div>\n @if (event.subCategory && event.subCategory !== 'NONE') {\n <div class=\"o-hvy-events-table__line__cell__name__sub\">\n {{ '@hvy.event.subCategory.' + event.subCategory | i18n }}\n </div>\n }\n </td>\n <td class=\"o-hvy-events-table__line__cell creation-date\">\n {{ event.creationDate | displayLocaleDatetime }}\n </td>\n <td class=\"o-hvy-events-table__line__cell modification-date\">\n {{ event.lastModificationDate | displayLocaleDatetime }}\n </td>\n <td class=\"o-hvy-events-table__line__cell link\">\n @if (!disableGotoDetail) {\n <a\n [routerLink]=\"EVENT_LINK.fn(event, _store)\"\n [title]=\"\n '@hvy.event.consult'\n | i18n: { howMany: Math.max(1, event.linkedEvents), plural: event.linkedEvents > 1 ? 's' : '' }\n \"\n >\n <div class=\"consult-link\">\n <pry-icon iconSvg=\"eye\" [height]=\"30\" [width]=\"40\"></pry-icon>\n @if (event.linkedEvents > 1) {\n <div class=\"indicator-badge\">{{ event.linkedEvents }}</div>\n }\n </div>\n </a>\n }\n </td>\n </tr>\n } @empty {\n <tr>\n <td class=\"o-hvy-events-table__empty\" colspan=\"50\">\n <div>{{ '@hvy.event.log.empty' | i18n }}</div>\n <div>\n <ng-content></ng-content>\n </div>\n </td>\n </tr>\n }\n </tbody>\n</table>\n\n<ng-template #diTooltip let-event>\n <div class=\"event-dis-tooltip\">\n @for (di of event.dis; track di){\n <div>\n - {{di.id}} ({{'@hvy.procedure.status.' + di.status | i18n}})\n </div>\n }\n </div>\n</ng-template>\n\n" }]
|
|
128
|
-
}], ctorParameters: () => [{ type: i1.Store }, { type: i0.ElementRef }, { type: i2.Router }, { type: i3.InfiniteScrollService }, { type: i4.Overlay }, { type: i0.ViewContainerRef }, { type: i4.OverlayPositionBuilder }
|
|
130
|
+
args: [{ selector: 'hvy-event-list', template: "<table class=\"o-hvy-events-table journal-table-event\">\n <thead>\n <tr class=\"o-hvy-events-table__header\">\n <th class=\"-checkbox\">\n <pry-checkbox [ngModel]=\"allSelected$ | async\" (ngModelChange)=\"selectAll($event)\">\n <div>\n ({{(selectedIds$| async)?.length}})\n </div>\n </pry-checkbox>\n </th>\n <th>\n <hvy-event-column-order field=\"criticality\">{{ '@hvy.event.criticality.name' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"id\">{{ '@hvy.event.id' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"domain\">{{ '@hvy.event.domain.name' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"name\">{{ '@hvy.event.name' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n {{ '@hvy.event.dis' | i18n }}\n </th>\n <th>\n <hvy-event-column-order field=\"status\">{{ '@hvy.event.status.name' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"source\">{{ '@hvy.event.source' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"procedureProgress\"\n >{{ '@hvy.procedure.progress' | i18n }}\n </hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"category\">{{ '@hvy.event.category.name' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"creationDate\">{{ '@hvy.event.creationDateTable' | i18n }}</hvy-event-column-order>\n </th>\n <th>\n <hvy-event-column-order field=\"lastModificationDate\"\n >{{ '@hvy.event.lastModificationDateTable' | i18n }}\n </hvy-event-column-order>\n </th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n @for (event of events$ | async; track event.id; let index = $index) {\n <tr class=\"o-hvy-events-table__line\" [class.-nogo]=\"disableGotoDetail\" (click)=\"goTo(event)\">\n <td class=\"o-hvy-events-table__line__cell checkbox\">\n <pry-checkbox\n [ngModel]=\"(selectedIds$ | async)!.includes(event.id)\"\n (click)=\"select(event, $event)\"\n ></pry-checkbox>\n </td>\n <td class=\"o-hvy-events-table__line__cell -centered icon\">\n <hvy-icon-display [event]=\"event\"></hvy-icon-display>\n </td>\n <td class=\"o-hvy-events-table__line__cell id\">\n {{ padId.fn(event.id) }}\n </td>\n <td class=\"o-hvy-events-table__line__cell domain\">\n {{ event.domain ?? '' }}\n </td>\n <td class=\"o-hvy-events-table__line__cell name\">\n <div class=\"o-hvy-events-table__line__cell__name__main\">{{ event.name }}</div>\n <div class=\"o-hvy-events-table__line__cell__name__sub\">\n @if (event.equipment) {\n {{ event.equipment.name ? event.equipment.name : '' }} -\n {{ event.equipment ? ('@hvy.event.family.' + event.equipment.family | i18n) : '' }}\n }\n </div>\n <div class=\"o-hvy-events-table__line__cell__name__subsub\">\n <span>{{ event.address }}</span>\n @if(event.district) {\n @if(event.address) {\n <span>, </span>\n }\n <span>{{(\"@hvy.event.places.\" + event.district | i18n)}} </span>\n }\n </div>\n </td>\n <td class=\"o-hvy-events-table__line__cell td-journal-di\" #elem>\n @if (getEventDisLength(event) > 0){\n <div class=\"o-hvy-last-events__services__item__icon\">\n <div class=\"event-dis-container\"\n (mouseenter)=\"showDiTooltip(event, index)\"\n (mouseleave)=\"showDiTooltip(event, index)\">\n <pry-icon iconSvg=\"service\" [height]=\"30\" [width]=\"30\"></pry-icon>\n <div class=\"event-dis-number\">\n {{eventDisLength}}\n </div>\n </div>\n </div>\n }\n </td>\n <td class=\"o-hvy-events-table__line__cell -centered status\">\n <hvy-status-display [item]=\"event\"></hvy-status-display>\n </td>\n <td class=\"o-hvy-events-table__line__cell source\">\n {{ event.externalSourceRef ?? ('@hvy.event.hypervisor' | i18n) }}\n </td>\n <td class=\"o-hvy-events-table__line__cell -centered progress\">{{ event.procedureProgress }} %</td>\n <td class=\"o-hvy-events-table__line__cell category\">\n <div class=\"o-hvy-events-table__line__cell__name__main\">\n {{ '@hvy.event.category.' + event.category | i18n }}\n </div>\n @if (event.subCategory && event.subCategory !== 'NONE') {\n <div class=\"o-hvy-events-table__line__cell__name__sub\">\n {{ '@hvy.event.subCategory.' + event.subCategory | i18n }}\n </div>\n }\n </td>\n <td class=\"o-hvy-events-table__line__cell creation-date\">\n {{ event.creationDate | displayLocaleDatetime }}\n </td>\n <td class=\"o-hvy-events-table__line__cell modification-date\">\n {{ event.lastModificationDate | displayLocaleDatetime }}\n </td>\n <td class=\"o-hvy-events-table__line__cell link\">\n @if (!disableGotoDetail) {\n <a\n [routerLink]=\"EVENT_LINK.fn(event, _store)\"\n [title]=\"\n '@hvy.event.consult'\n | i18n: { howMany: Math.max(1, event.linkedEvents), plural: event.linkedEvents > 1 ? 's' : '' }\n \"\n >\n <div class=\"consult-link\">\n <pry-icon iconSvg=\"eye\" [height]=\"30\" [width]=\"40\"></pry-icon>\n @if (event.linkedEvents > 1) {\n <div class=\"indicator-badge\">{{ event.linkedEvents }}</div>\n }\n </div>\n </a>\n }\n </td>\n </tr>\n } @empty {\n <tr>\n <td class=\"o-hvy-events-table__empty\" colspan=\"50\">\n <div>{{ '@hvy.event.log.empty' | i18n }}</div>\n <div>\n <ng-content></ng-content>\n </div>\n </td>\n </tr>\n }\n </tbody>\n</table>\n\n<ng-template #diTooltip let-event>\n <div class=\"event-dis-tooltip\">\n @for (di of event.dis; track di){\n <div>\n - {{di.id}} ({{'@hvy.procedure.status.' + di.status | i18n}})\n </div>\n }\n </div>\n</ng-template>\n\n" }]
|
|
131
|
+
}], ctorParameters: () => [{ type: i1.Store }, { type: i0.ElementRef }, { type: i2.Router }, { type: i3.InfiniteScrollService }, { type: i4.Overlay }, { type: i0.ViewContainerRef }, { type: i4.OverlayPositionBuilder }, { type: i4.CdkScrollable, decorators: [{
|
|
132
|
+
type: Optional
|
|
133
|
+
}, {
|
|
134
|
+
type: Host
|
|
135
|
+
}] }], propDecorators: { disableGotoDetail: [{
|
|
129
136
|
type: Input
|
|
130
137
|
}], diTooltip: [{
|
|
131
138
|
type: ViewChild,
|
|
@@ -134,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
134
141
|
type: ViewChildren,
|
|
135
142
|
args: ['elem', { read: ElementRef }]
|
|
136
143
|
}] } });
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2h5cGVydmlzb3Ivc3JjL2xpYi9ldmVudC9saXN0L2V2ZW50LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9oeXBlcnZpc29yL3NyYy9saWIvZXZlbnQvbGlzdC9ldmVudC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUViLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBbUIsd0JBQXdCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUs5RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBVSxhQUFhLEVBQXFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEcsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQUVuRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDeEIsRUFBRSxFQUFFLENBQUMsS0FBd0MsRUFBRSxLQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztDQUNo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QUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LCBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlbixcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgRXZlbnRBY3Rpb25zIH0gZnJvbSAnLi4vLi4vc3RvcmUvZXZlbnQvZXZlbnQuYWN0aW9ucyc7XG5pbXBvcnQgeyBFdmVudFNlbGVjdG9ycyB9IGZyb20gJy4uLy4uL3N0b3JlL2V2ZW50L2V2ZW50LnNlbGVjdG9ycyc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIGZyb21FdmVudCwgbWFwLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7UHJ5SWNvbkNvbXBvbmVudCwgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgSHlwRXZlbnREZXRhaWxzIH0gZnJvbSAnLi4vLi4vbW9kZWwvZXZlbnQvaHlwLWV2ZW50LWRldGFpbC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSHlwRXZlbnRTdW1tYXJ5IH0gZnJvbSAnLi4vLi4vbW9kZWwvZXZlbnQvaHlwLWV2ZW50LXN1bW1hcnkuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9nZW5lcmFsL2luZmluaXRlU2Nyb2xsLnNlcnZpY2UnO1xuaW1wb3J0IHsgcGFkSWQgfSBmcm9tICcuLi8uLi9nZW5lcmFsL3BhZC1pZC5mdW5jdGlvbic7XG5pbXBvcnQge3N0YXJ0V2l0aH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQge092ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsIE92ZXJsYXlSZWZ9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHtUZW1wbGF0ZVBvcnRhbH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcblxuZXhwb3J0IGNvbnN0IEVWRU5UX0xJTksgPSB7XG4gIGZuOiAoZXZlbnQ6IEh5cEV2ZW50RGV0YWlscyB8IEh5cEV2ZW50U3VtbWFyeSwgc3RvcmU6IFN0b3JlPGFueT4pID0+IFsnLi8nLCBwYWRJZC5mbihldmVudC5pZCldXG59O1xuXG5leHBvcnQgY29uc3Qgc3RhdHVzT3JkZXIgOiB7IFtrZXk6IHN0cmluZ106IG51bWJlcn0gPSB7XG4gIE5FVzogMCxcbiAgQVNLRUQ6IDEsXG4gIElOX1BST0dSRVNTOiAyLFxuICBET05FOiAzLFxuICBDQU5DRUxMRUQ6IDQsXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2h2eS1ldmVudC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2V2ZW50LWxpc3QuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEV2ZW50TGlzdENvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBldmVudHMkOiBPYnNlcnZhYmxlPEh5cEV2ZW50RGV0YWlsc1tdPjtcbiAgZXZlbnREaXNMZW5ndGggPSAwO1xuICBzZWxlY3RlZElkcyQ6IE9ic2VydmFibGU8bnVtYmVyW10+O1xuICBFVkVOVF9MSU5LID0gRVZFTlRfTElOSztcbiAgX3N0b3JlID0gdGhpcy5zdG9yZTtcbiAgYWxsU2VsZWN0ZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBfaW5oaWJpdCA9IHRydWU7XG4gIEBJbnB1dCgpIGRpc2FibGVHb3RvRGV0YWlsOiBib29sZWFuIHwgbnVsbCA9IGZhbHNlO1xuICBAVmlld0NoaWxkKCdkaVRvb2x0aXAnLCB7c3RhdGljOiBmYWxzZX0pIGRpVG9vbHRpcCE6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBWaWV3Q2hpbGRyZW4oJ2VsZW0nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgZWxlbSE6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcbiAgb3ZlcmxheVJlZjogT3ZlcmxheVJlZiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHNjcm9sbDogSW5maW5pdGVTY3JvbGxTZXJ2aWNlLFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSBvdmVybGF5UG9zaXRpb25CdWlsZGVyOiBPdmVybGF5UG9zaXRpb25CdWlsZGVyLFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICBmcm9tRXZlbnQ8Q3VzdG9tRXZlbnQ+KHdpbmRvdywgJ2pvdXJuYWwtcmVmcmVzaCcpLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aChuZXcgQ3VzdG9tRXZlbnQoYGpvdXJuYWwtcmVmcmVzaGAsIHsgZGV0YWlsOiB0cnVlIH0pKVxuICAgICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEV2ZW50QWN0aW9ucy5sb2FkKHt9KSk7XG4gICAgICB9KVxuICAgIClcbiAgICB0aGlzLmV2ZW50cyQgPSB0aGlzLnN0b3JlLnNlbGVjdChFdmVudFNlbGVjdG9ycy5ldmVudHMpLnBpcGUobWFwKGV2ZW50cyA9PiBldmVudHMubWFwKGV2ZW50ID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uZXZlbnQsXG4gICAgICBkaXM6IGV2ZW50LmRpcz8uZmlsdGVyKGRpID0+ICEhZGkgJiYgISFkaS5pZCkuc29ydChmdW5jdGlvbiAoYSxiKXtcbiAgICAgICAgcmV0dXJuIChzdGF0dXNPcmRlclthLnN0YXR1cyBhcyBzdHJpbmddIC0gc3RhdHVzT3JkZXJbYi5zdGF0dXMgYXMgc3RyaW5nXSlcbiAgICAgIH0pXG4gICAgfVxuICAgIH0pKSk7XG4gICAgdGhpcy5zZWxlY3RlZElkcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChFdmVudFNlbGVjdG9ycy5zZWxlY3RlZElkcyk7XG4gICAgdGhpcy5hbGxTZWxlY3RlZCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmV2ZW50cyQsIHRoaXMuc2VsZWN0ZWRJZHMkXSkucGlwZShcbiAgICAgIG1hcChcbiAgICAgICAgKFtldmVudHMsIHNlbGVjdGVkSWRzXSkgPT4gZXZlbnRzLmxlbmd0aCA+IDAgJiYgZXZlbnRzLmZpbHRlcigoZXYpID0+ICFzZWxlY3RlZElkcy5pbmNsdWRlcyhldi5pZCkpLmxlbmd0aCA9PT0gMFxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuc2Nyb2xsLmlzRW5kT2ZQYWdlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgRXZlbnRTZWxlY3RvcnMubm9Nb3JlRXZlbnRzKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEV2ZW50QWN0aW9ucy5sb2FkKHsgbmV4dDogdHJ1ZSB9KSk7XG4gICAgICAgIHRoaXMuX2luaGliaXQgPSB0cnVlO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX2luaGliaXQgPSBmYWxzZSwgMTAwMCk7XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5faW5oaWJpdCA9IGZhbHNlO1xuICB9XG5cbiAgc2VsZWN0KGV2ZW50OiBIeXBFdmVudERldGFpbHMsICRldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuaW5oaWJpdCgpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRXZlbnRBY3Rpb25zLnNlbGVjdCh7IGlkczogW2V2ZW50LmlkXSwgY3VtdWxhdGl2ZTogdHJ1ZSB9KSk7XG4gICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgc2VsZWN0QWxsKCRldmVudDogYW55KSB7XG4gICAgaWYgKCF0aGlzLl9pbmhpYml0KSB7XG4gICAgICBjb25zdCB0bXBTdWIgPSB0aGlzLmV2ZW50cyQuc3Vic2NyaWJlKChldmVudHMpID0+IHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChFdmVudEFjdGlvbnMuc2VsZWN0KHsgaWRzOiAkZXZlbnQgPyBldmVudHMubWFwKChldikgPT4gZXYuaWQpIDogW10sIGN1bXVsYXRpdmU6IGZhbHNlIH0pKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0bXBTdWIudW5zdWJzY3JpYmUoKSwgMTApO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgaW5oaWJpdCgpIHtcbiAgICB0aGlzLl9pbmhpYml0ID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLl9pbmhpYml0ID0gZmFsc2UpLCAxMDApO1xuICB9XG5cbiAgZ29UbyhldmVudDogSHlwRXZlbnREZXRhaWxzKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVHb3RvRGV0YWlsKSB7XG4gICAgICByZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGUodGhpcy5FVkVOVF9MSU5LLmZuKGV2ZW50LCB0aGlzLnN0b3JlKSk7XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuXG4gIGdldEV2ZW50RGlzTGVuZ3RoKGV2ZW50OiBIeXBFdmVudERldGFpbHMpe1xuICAgIHJldHVybiB0aGlzLmV2ZW50RGlzTGVuZ3RoID0gIGV2ZW50LmRpcz8uZmlsdGVyKGV2ZSA9PiAhIWV2ZSkubGVuZ3RoID8/IDA7XG4gIH1cblxuICBzaG93RGlUb29sdGlwKGV2ZW50Okh5cEV2ZW50RGV0YWlscywgaW5kZXg6bnVtYmVyKXtcbiAgICBpZighIXRoaXMub3ZlcmxheVJlZil7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5UG9zaXRpb25CdWlsZGVyXG4gICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuZWxlbS5nZXQoaW5kZXgpISlcbiAgICAgICAgLndpdGhQb3NpdGlvbnMoW3tcbiAgICAgICAgICBvZmZzZXRYOiAtMjUsXG4gICAgICAgICAgb2Zmc2V0WTogLTM1LFxuICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgfV0pO1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShcbiAgICAgICAgbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2gobmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMuZGlUb29sdGlwLCB0aGlzLnZpZXdDb250YWluZXJSZWYsIDxhbnk+eyAkaW1wbGljaXQ6IGV2ZW50IH0pKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgTWF0aCA9IE1hdGg7XG4gIHByb3RlY3RlZCByZWFkb25seSBwYWRJZCA9IHBhZElkO1xufVxuIiwiPHRhYmxlIGNsYXNzPVwiby1odnktZXZlbnRzLXRhYmxlXCI+XG4gIDx0aGVhZD5cbiAgICA8dHIgY2xhc3M9XCJvLWh2eS1ldmVudHMtdGFibGVfX2hlYWRlclwiPlxuICAgICAgPHRoIGNsYXNzPVwiLWNoZWNrYm94XCI+XG4gICAgICAgIDxwcnktY2hlY2tib3ggW25nTW9kZWxdPVwiYWxsU2VsZWN0ZWQkIHwgYXN5bmNcIiAobmdNb2RlbENoYW5nZSk9XCJzZWxlY3RBbGwoJGV2ZW50KVwiPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAoe3soc2VsZWN0ZWRJZHMkfCBhc3luYyk/Lmxlbmd0aH19KVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3ByeS1jaGVja2JveD5cbiAgICAgIDwvdGg+XG4gICAgICA8dGg+XG4gICAgICAgIDxodnktZXZlbnQtY29sdW1uLW9yZGVyIGZpZWxkPVwiY3JpdGljYWxpdHlcIj57eyAnQGh2eS5ldmVudC5jcml0aWNhbGl0eS5uYW1lJyB8IGkxOG4gfX08L2h2eS1ldmVudC1jb2x1bW4tb3JkZXI+XG4gICAgICA8L3RoPlxuICAgICAgPHRoPlxuICAgICAgICA8aHZ5LWV2ZW50LWNvbHVtbi1vcmRlciBmaWVsZD1cImlkXCI+e3sgJ0BodnkuZXZlbnQuaWQnIHwgaTE4biB9fTwvaHZ5LWV2ZW50LWNvbHVtbi1vcmRlcj5cbiAgICAgIDwvdGg+XG4gICAgICA8dGg+XG4gICAgICAgIDxodnktZXZlbnQtY29sdW1uLW9yZGVyIGZpZWxkPVwiZG9tYWluXCI+e3sgJ0BodnkuZXZlbnQuZG9tYWluLm5hbWUnIHwgaTE4biB9fTwvaHZ5LWV2ZW50LWNvbHVtbi1vcmRlcj5cbiAgICAgIDwvdGg+XG4gICAgICA8dGg+XG4gICAgICAgIDxodnktZXZlbnQtY29sdW1uLW9yZGVyIGZpZWxkPVwibmFtZVwiPnt7ICdAaHZ5LmV2ZW50Lm5hbWUnIHwgaTE4biB9fTwvaHZ5LWV2ZW50LWNvbHVtbi1vcmRlcj5cbiAgICAgIDwvdGg+XG4gICAgICA8dGg+XG4gICAgICAgIHt7ICdAaHZ5LmV2ZW50LmRpcycgfCBpMThuIH19XG4gICAgICA8L3RoPlxuICAgICAgPHRoPlxuICAgICAgICA8aHZ5LWV2ZW50LWNvbHVtbi1vcmRlciBmaWVsZD1cInN0YXR1c1wiPnt7ICdAaHZ5LmV2ZW50LnN0YXR1cy5uYW1lJyB8IGkxOG4gfX08L2h2eS1ldmVudC1jb2x1bW4tb3JkZXI+XG4gICAgICA8L3RoPlxuICAgICAgPHRoPlxuICAgICAgICA8aHZ5LWV2ZW50LWNvbHVtbi1vcmRlciBmaWVsZD1cInNvdXJjZVwiPnt7ICdAaHZ5LmV2ZW50LnNvdXJjZScgfCBpMThuIH19PC9odnktZXZlbnQtY29sdW1uLW9yZGVyPlxuICAgICAgPC90aD5cbiAgICAgIDx0aD5cbiAgICAgICAgPGh2eS1ldmVudC1jb2x1bW4tb3JkZXIgZmllbGQ9XCJwcm9jZWR1cmVQcm9ncmVzc1wiXG4gICAgICAgICAgPnt7ICdAaHZ5LnByb2NlZHVyZS5wcm9ncmVzcycgfCBpMThuIH19XG4gICAgICAgIDwvaHZ5LWV2ZW50LWNvbHVtbi1vcmRlcj5cbiAgICAgIDwvdGg+XG4gICAgICA8dGg+XG4gICAgICAgIDxodnktZXZlbnQtY29sdW1uLW9yZGVyIGZpZWxkPVwiY2F0ZWdvcnlcIj57eyAnQGh2eS5ldmVudC5jYXRlZ29yeS5uYW1lJyB8IGkxOG4gfX08L2h2eS1ldmVudC1jb2x1bW4tb3JkZXI+XG4gICAgICA8L3RoPlxuICAgICAgPHRoPlxuICAgICAgICA8aHZ5LWV2ZW50LWNvbHVtbi1vcmRlciBmaWVsZD1cImNyZWF0aW9uRGF0ZVwiPnt7ICdAaHZ5LmV2ZW50LmNyZWF0aW9uRGF0ZVRhYmxlJyB8IGkxOG4gfX08L2h2eS1ldmVudC1jb2x1bW4tb3JkZXI+XG4gICAgICA8L3RoPlxuICAgICAgPHRoPlxuICAgICAgICA8aHZ5LWV2ZW50LWNvbHVtbi1vcmRlciBmaWVsZD1cImxhc3RNb2RpZmljYXRpb25EYXRlXCJcbiAgICAgICAgICA+e3sgJ0BodnkuZXZlbnQubGFzdE1vZGlmaWNhdGlvbkRhdGVUYWJsZScgfCBpMThuIH19XG4gICAgICAgIDwvaHZ5LWV2ZW50LWNvbHVtbi1vcmRlcj5cbiAgICAgIDwvdGg+XG4gICAgICA8dGg+PC90aD5cbiAgICA8L3RyPlxuICA8L3RoZWFkPlxuICA8dGJvZHk+XG4gICAgQGZvciAoZXZlbnQgb2YgZXZlbnRzJCB8IGFzeW5jOyB0cmFjayBldmVudC5pZDsgbGV0IGluZGV4ID0gJGluZGV4KSB7XG4gICAgICA8dHIgY2xhc3M9XCJvLWh2eS1ldmVudHMtdGFibGVfX2xpbmVcIiBbY2xhc3MuLW5vZ29dPVwiZGlzYWJsZUdvdG9EZXRhaWxcIiAoY2xpY2spPVwiZ29UbyhldmVudClcIj5cbiAgICAgICAgPHRkIGNsYXNzPVwiby1odnktZXZlbnRzLXRhYmxlX19saW5lX19jZWxsIGNoZWNrYm94XCI+XG4gICAgICAgICAgPHByeS1jaGVja2JveFxuICAgICAgICAgICAgW25nTW9kZWxdPVwiKHNlbGVjdGVkSWRzJCB8IGFzeW5jKSEuaW5jbHVkZXMoZXZlbnQuaWQpXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3QoZXZlbnQsICRldmVudClcIlxuICAgICAgICAgID48L3ByeS1jaGVja2JveD5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGNsYXNzPVwiby1odnktZXZlbnRzLXRhYmxlX19saW5lX19jZWxsIC1jZW50ZXJlZCBpY29uXCI+XG4gICAgICAgICAgPGh2eS1pY29uLWRpc3BsYXkgW2V2ZW50XT1cImV2ZW50XCI+PC9odnktaWNvbi1kaXNwbGF5PlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJvLWh2eS1ldmVudHMtdGFibGVfX2xpbmVfX2NlbGwgaWRcIj5cbiAgICAgICAgICB7eyBwYWRJZC5mbihldmVudC5pZCkgfX1cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGNsYXNzPVwiby1odnktZXZlbnRzLXRhYmxlX19saW5lX19jZWxsIGRvbWFpblwiPlxuICAgICAgICAgIHt7IGV2ZW50LmRvbWFpbiA/PyAnJyB9fVxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJvLWh2eS1ldmVudHMtdGFibGVfX2xpbmVfX2NlbGwgbmFtZVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLWh2eS1ldmVudHMtdGFibGVfX2xpbmVfX2NlbGxfX25hbWVfX21haW5cIj57eyBldmVudC5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm8taHZ5LWV2ZW50cy10YWJsZV9fbGluZV9fY2VsbF9fbmFtZV9fc3ViXCI+XG4gICAgICAgICAgICBAaWYgKGV2ZW50LmVxdWlwbWVudCkge1xuICAgICAgICAgICAgICB7eyBldmVudC5lcXVpcG1lbnQubmFtZSA/IGV2ZW50LmVxdWlwbWVudC5uYW1lIDogJycgfX0gLVxuICAgICAgICAgICAgICB7eyBldmVudC5lcXVpcG1lbnQgPyAoJ0BodnkuZXZlbnQuZmFtaWx5LicgKyBldmVudC5lcXVpcG1lbnQuZmFtaWx5IHwgaTE4bikgOiAnJyB9fVxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLWh2eS1ldmVudHMtdGFibGVfX2xpbmVfX2NlbGxfX25hbWVfX3N1YnN1YlwiPlxuICAgICAgICAgICAgPHNwYW4+e3sgZXZlbnQuYWRkcmVzcyB9fTwvc3Bhbj5cbiAgICAgICAgICAgIEBpZihldmVudC5kaXN0cmljdCkge1xuICAgICAgICAgICAgICBAaWYoZXZlbnQuYWRkcmVzcykge1xuICAgICAgICAgICAgICAgIDxzcGFuPiwmbmJzcDs8L3NwYW4+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPHNwYW4+e3soXCJAaHZ5LmV2ZW50LnBsYWNlcy5cIiArIGV2ZW50LmRpc3RyaWN0IHwgaTE4bil9fSA8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCBjbGFzcz1cIm8taHZ5LWV2ZW50cy10YWJsZV9fbGluZV9fY2VsbFwiICNlbGVtPlxuICAgICAgICAgIEBpZiAoZ2V0RXZlbnREaXNMZW5ndGgoZXZlbnQpID4gMCl7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiby1odnktbGFzdC1ldmVudHNfX3NlcnZpY2VzX19pdGVtX19pY29uXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC1kaXMtY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAobW91c2VlbnRlcik9XCJzaG93RGlUb29sdGlwKGV2ZW50LCBpbmRleClcIlxuICAgICAgICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cInNob3dEaVRvb2x0aXAoZXZlbnQsIGluZGV4KVwiPlxuICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwic2VydmljZVwiIFtoZWlnaHRdPVwiMzBcIiBbd2lkdGhdPVwiMzBcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LWRpcy1udW1iZXJcIj5cbiAgICAgICAgICAgICAgICAgICAge3tldmVudERpc0xlbmd0aH19XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCBjbGFzcz1cIm8taHZ5LWV2ZW50cy10YWJsZV9fbGluZV9fY2VsbCAtY2VudGVyZWQgc3RhdHVzXCI+XG4gICAgICAgICAgPGh2eS1zdGF0dXMtZGlzcGxheSBbaXRlbV09XCJldmVudFwiPjwvaHZ5LXN0YXR1cy1kaXNwbGF5PlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJvLWh2eS1ldmVudHMtdGFibGVfX2xpbmVfX2NlbGwgc291cmNlXCI+XG4gICAgICAgICAge3sgZXZlbnQuZXh0ZXJuYWxTb3VyY2VSZWYgPz8gKCdAaHZ5LmV2ZW50Lmh5cGVydmlzb3InIHwgaTE4bikgfX1cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGNsYXNzPVwiby1odnktZXZlbnRzLXRhYmxlX19saW5lX19jZWxsIC1jZW50ZXJlZCBwcm9ncmVzc1wiPnt7IGV2ZW50LnByb2NlZHVyZVByb2dyZXNzIH19ICU8L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJvLWh2eS1ldmVudHMtdGFibGVfX2xpbmVfX2NlbGwgY2F0ZWdvcnlcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiby1odnktZXZlbnRzLXRhYmxlX19saW5lX19jZWxsX19uYW1lX19tYWluXCI+XG4gICAgICAgICAgICB7eyAnQGh2eS5ldmVudC5jYXRlZ29yeS4nICsgZXZlbnQuY2F0ZWdvcnkgfCBpMThuIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgQGlmIChldmVudC5zdWJDYXRlZ29yeSAmJiBldmVudC5zdWJDYXRlZ29yeSAhPT0gJ05PTkUnKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiby1odnktZXZlbnRzLXRhYmxlX19saW5lX19jZWxsX19uYW1lX19zdWJcIj5cbiAgICAgICAgICAgICAge3sgJ0BodnkuZXZlbnQuc3ViQ2F0ZWdvcnkuJyArIGV2ZW50LnN1YkNhdGVnb3J5IHwgaTE4biB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJvLWh2eS1ldmVudHMtdGFibGVfX2xpbmVfX2NlbGwgY3JlYXRpb24tZGF0ZVwiPlxuICAgICAgICAgIHt7IGV2ZW50LmNyZWF0aW9uRGF0ZSB8IGRpc3BsYXlMb2NhbGVEYXRldGltZSB9fVxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJvLWh2eS1ldmVudHMtdGFibGVfX2xpbmVfX2NlbGwgbW9kaWZpY2F0aW9uLWRhdGVcIj5cbiAgICAgICAgICB7eyBldmVudC5sYXN0TW9kaWZpY2F0aW9uRGF0ZSB8IGRpc3BsYXlMb2NhbGVEYXRldGltZSB9fVxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJvLWh2eS1ldmVudHMtdGFibGVfX2xpbmVfX2NlbGwgbGlua1wiPlxuICAgICAgICAgIEBpZiAoIWRpc2FibGVHb3RvRGV0YWlsKSB7XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJFVkVOVF9MSU5LLmZuKGV2ZW50LCBfc3RvcmUpXCJcbiAgICAgICAgICAgICAgW3RpdGxlXT1cIlxuICAgICAgICAgICAgICAgICdAaHZ5LmV2ZW50LmNvbnN1bHQnXG4gICAgICAgICAgICAgICAgICB8IGkxOG46IHsgaG93TWFueTogTWF0aC5tYXgoMSwgZXZlbnQubGlua2VkRXZlbnRzKSwgcGx1cmFsOiBldmVudC5saW5rZWRFdmVudHMgPiAxID8gJ3MnIDogJycgfVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29uc3VsdC1saW5rXCI+XG4gICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJleWVcIiBbaGVpZ2h0XT1cIjMwXCIgW3dpZHRoXT1cIjQwXCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICBAaWYgKGV2ZW50LmxpbmtlZEV2ZW50cyA+IDEpIHtcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmRpY2F0b3ItYmFkZ2VcIj57eyBldmVudC5saW5rZWRFdmVudHMgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIH1cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgfSBAZW1wdHkge1xuICAgICAgPHRyPlxuICAgICAgICA8dGQgY2xhc3M9XCJvLWh2eS1ldmVudHMtdGFibGVfX2VtcHR5XCIgY29sc3Bhbj1cIjUwXCI+XG4gICAgICAgICAgPGRpdj57eyAnQGh2eS5ldmVudC5sb2cuZW1wdHknIHwgaTE4biB9fTwvZGl2PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgIH1cbiAgPC90Ym9keT5cbjwvdGFibGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGlUb29sdGlwIGxldC1ldmVudD5cbiAgPGRpdiBjbGFzcz1cImV2ZW50LWRpcy10b29sdGlwXCI+XG4gICAgQGZvciAoZGkgb2YgZXZlbnQuZGlzOyB0cmFjayBkaSl7XG4gICAgICA8ZGl2PlxuICAgICAgICAtIHt7ZGkuaWR9fSAoe3snQGh2eS5wcm9jZWR1cmUuc3RhdHVzLicgKyBkaS5zdGF0dXMgfCBpMThufX0pXG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuIl19
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2h5cGVydmlzb3Ivc3JjL2xpYi9ldmVudC9saXN0L2V2ZW50LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9oeXBlcnZpc29yL3NyYy9saWIvZXZlbnQvbGlzdC9ldmVudC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUFFLElBQUksRUFDaEIsS0FBSyxFQUFFLFFBQVEsRUFFZixTQUFTLEVBQ1QsWUFBWSxFQUViLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBSzVELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUdMLGFBQWEsRUFHZCxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFFbkQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLEVBQUUsRUFBRSxDQUFDLEtBQXdDLEVBQUUsS0FBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMs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dkhhLGtCQUFrQjtrQkFKOUIsU0FBUzsrQkFDRSxnQkFBZ0I7OzBCQXdCdkIsUUFBUTs7MEJBQUksSUFBSTt5Q0FiVixpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ21DLFNBQVM7c0JBQWpELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQztnQkFDSyxJQUFJO3NCQUEvQyxZQUFZO3VCQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsIEhvc3QsXG4gIElucHV0LCBPcHRpb25hbCwgUXVlcnlMaXN0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW4sXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEV2ZW50QWN0aW9ucyB9IGZyb20gJy4uLy4uL3N0b3JlL2V2ZW50L2V2ZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgRXZlbnRTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9zdG9yZS9ldmVudC9ldmVudC5zZWxlY3RvcnMnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBmcm9tRXZlbnQsIG1hcCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZX0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IEh5cEV2ZW50RGV0YWlscyB9IGZyb20gJy4uLy4uL21vZGVsL2V2ZW50L2h5cC1ldmVudC1kZXRhaWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IEh5cEV2ZW50U3VtbWFyeSB9IGZyb20gJy4uLy4uL21vZGVsL2V2ZW50L2h5cC1ldmVudC1zdW1tYXJ5LmludGVyZmFjZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZ2VuZXJhbC9pbmZpbml0ZVNjcm9sbC5zZXJ2aWNlJztcbmltcG9ydCB7IHBhZElkIH0gZnJvbSAnLi4vLi4vZ2VuZXJhbC9wYWQtaWQuZnVuY3Rpb24nO1xuaW1wb3J0IHtzdGFydFdpdGh9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHtcbiAgQ2RrU2Nyb2xsYWJsZSxcbiAgT3ZlcmxheSxcbiAgT3ZlcmxheUNvbmZpZyxcbiAgT3ZlcmxheVBvc2l0aW9uQnVpbGRlcixcbiAgT3ZlcmxheVJlZlxufSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcbmltcG9ydCB7VGVtcGxhdGVQb3J0YWx9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5cbmV4cG9ydCBjb25zdCBFVkVOVF9MSU5LID0ge1xuICBmbjogKGV2ZW50OiBIeXBFdmVudERldGFpbHMgfCBIeXBFdmVudFN1bW1hcnksIHN0b3JlOiBTdG9yZTxhbnk+KSA9PiBbJy4vJywgcGFkSWQuZm4oZXZlbnQuaWQpXVxufTtcblxuZXhwb3J0IGNvbnN0IHN0YXR1c09yZGVyIDogeyBba2V5OiBzdHJpbmddOiBudW1iZXJ9ID0ge1xuICBORVc6IDAsXG4gIEFTS0VEOiAxLFxuICBJTl9QUk9HUkVTUzogMixcbiAgRE9ORTogMyxcbiAgQ0FOQ0VMTEVEOiA0LFxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdodnktZXZlbnQtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ldmVudC1saXN0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBFdmVudExpc3RDb21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgZXZlbnRzJDogT2JzZXJ2YWJsZTxIeXBFdmVudERldGFpbHNbXT47XG4gIGV2ZW50RGlzTGVuZ3RoID0gMDtcbiAgc2VsZWN0ZWRJZHMkOiBPYnNlcnZhYmxlPG51bWJlcltdPjtcbiAgRVZFTlRfTElOSyA9IEVWRU5UX0xJTks7XG4gIF9zdG9yZSA9IHRoaXMuc3RvcmU7XG4gIGFsbFNlbGVjdGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgX2luaGliaXQgPSB0cnVlO1xuICBASW5wdXQoKSBkaXNhYmxlR290b0RldGFpbDogYm9vbGVhbiB8IG51bGwgPSBmYWxzZTtcbiAgQFZpZXdDaGlsZCgnZGlUb29sdGlwJywge3N0YXRpYzogZmFsc2V9KSBkaVRvb2x0aXAhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAVmlld0NoaWxkcmVuKCdlbGVtJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGVsZW0hOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XG4gIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PixcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBzY3JvbGw6IEluZmluaXRlU2Nyb2xsU2VydmljZSxcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgb3ZlcmxheVBvc2l0aW9uQnVpbGRlcjogT3ZlcmxheVBvc2l0aW9uQnVpbGRlcixcbiAgICBAT3B0aW9uYWwoKSBASG9zdCgpIHByaXZhdGUgc2Nyb2xsQ29udGFpbmVyOiBDZGtTY3JvbGxhYmxlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIGZyb21FdmVudDxDdXN0b21FdmVudD4od2luZG93LCAnam91cm5hbC1yZWZyZXNoJykucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKG5ldyBDdXN0b21FdmVudChgam91cm5hbC1yZWZyZXNoYCwgeyBkZXRhaWw6IHRydWUgfSkpXG4gICAgICApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRXZlbnRBY3Rpb25zLmxvYWQoe30pKTtcbiAgICAgIH0pXG4gICAgKVxuICAgIHRoaXMuZXZlbnRzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KEV2ZW50U2VsZWN0b3JzLmV2ZW50cykucGlwZShtYXAoZXZlbnRzID0+IGV2ZW50cy5tYXAoZXZlbnQgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5ldmVudCxcbiAgICAgIGRpczogZXZlbnQuZGlzPy5maWx0ZXIoZGkgPT4gISFkaSAmJiAhIWRpLmlkKS5zb3J0KGZ1bmN0aW9uIChhLGIpe1xuICAgICAgICByZXR1cm4gKHN0YXR1c09yZGVyW2Euc3RhdHVzIGFzIHN0cmluZ10gLSBzdGF0dXNPcmRlcltiLnN0YXR1cyBhcyBzdHJpbmddKVxuICAgICAgfSlcbiAgICB9XG4gICAgfSkpKTtcbiAgICB0aGlzLnNlbGVjdGVkSWRzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KEV2ZW50U2VsZWN0b3JzLnNlbGVjdGVkSWRzKTtcbiAgICB0aGlzLmFsbFNlbGVjdGVkJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuZXZlbnRzJCwgdGhpcy5zZWxlY3RlZElkcyRdKS5waXBlKFxuICAgICAgbWFwKFxuICAgICAgICAoW2V2ZW50cywgc2VsZWN0ZWRJZHNdKSA9PiBldmVudHMubGVuZ3RoID4gMCAmJiBldmVudHMuZmlsdGVyKChldikgPT4gIXNlbGVjdGVkSWRzLmluY2x1ZGVzKGV2LmlkKSkubGVuZ3RoID09PSAwXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5zY3JvbGwuaXNFbmRPZlBhZ2UodGhpcy5lbC5uYXRpdmVFbGVtZW50LCBFdmVudFNlbGVjdG9ycy5ub01vcmVFdmVudHMpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRXZlbnRBY3Rpb25zLmxvYWQoeyBuZXh0OiB0cnVlIH0pKTtcbiAgICAgICAgdGhpcy5faW5oaWJpdCA9IHRydWU7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5faW5oaWJpdCA9IGZhbHNlLCAxMDAwKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLl9pbmhpYml0ID0gZmFsc2U7XG4gIH1cblxuICBzZWxlY3QoZXZlbnQ6IEh5cEV2ZW50RGV0YWlscywgJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5pbmhpYml0KCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChFdmVudEFjdGlvbnMuc2VsZWN0KHsgaWRzOiBbZXZlbnQuaWRdLCBjdW11bGF0aXZlOiB0cnVlIH0pKTtcbiAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBzZWxlY3RBbGwoJGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoIXRoaXMuX2luaGliaXQpIHtcbiAgICAgIGNvbnN0IHRtcFN1YiA9IHRoaXMuZXZlbnRzJC5zdWJzY3JpYmUoKGV2ZW50cykgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEV2ZW50QWN0aW9ucy5zZWxlY3QoeyBpZHM6ICRldmVudCA/IGV2ZW50cy5tYXAoKGV2KSA9PiBldi5pZCkgOiBbXSwgY3VtdWxhdGl2ZTogZmFsc2UgfSkpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRtcFN1Yi51bnN1YnNjcmliZSgpLCAxMCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBpbmhpYml0KCkge1xuICAgIHRoaXMuX2luaGliaXQgPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMuX2luaGliaXQgPSBmYWxzZSksIDEwMCk7XG4gIH1cblxuICBnb1RvKGV2ZW50OiBIeXBFdmVudERldGFpbHMpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZUdvdG9EZXRhaWwpIHtcbiAgICAgIHJldHVybiB0aGlzLnJvdXRlci5uYXZpZ2F0ZSh0aGlzLkVWRU5UX0xJTksuZm4oZXZlbnQsIHRoaXMuc3RvcmUpKTtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZ2V0RXZlbnREaXNMZW5ndGgoZXZlbnQ6IEh5cEV2ZW50RGV0YWlscyl7XG4gICAgcmV0dXJuIHRoaXMuZXZlbnREaXNMZW5ndGggPSAgZXZlbnQuZGlzPy5maWx0ZXIoZXZlID0+ICEhZXZlKS5sZW5ndGggPz8gMDtcbiAgfVxuXG4gIHNob3dEaVRvb2x0aXAoZXZlbnQ6SHlwRXZlbnREZXRhaWxzLCBpbmRleDpudW1iZXIpe1xuICAgIGlmKCEhdGhpcy5vdmVybGF5UmVmKXtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYgPSB1bmRlZmluZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlQb3NpdGlvbkJ1aWxkZXJcbiAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5lbGVtLmdldChpbmRleCkhKVxuICAgICAgICAud2l0aFNjcm9sbGFibGVDb250YWluZXJzKFt0aGlzLnNjcm9sbENvbnRhaW5lcl0gYXMgQ2RrU2Nyb2xsYWJsZVtdKVxuICAgICAgICAud2l0aFBvc2l0aW9ucyhbe1xuICAgICAgICAgIG9mZnNldFg6IC0yNSxcbiAgICAgICAgICBvZmZzZXRZOiAtMzUsXG4gICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICB9XSk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKFxuICAgICAgICBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmNsb3NlKClcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLmRpVG9vbHRpcCwgdGhpcy52aWV3Q29udGFpbmVyUmVmLCA8YW55PnsgJGltcGxpY2l0OiBldmVudCB9KSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IE1hdGggPSBNYXRoO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGFkSWQgPSBwYWRJZDtcbn1cbiIsIjx0YWJsZSBjbGFzcz1cIm8taHZ5LWV2ZW50cy10YWJsZSBqb3VybmFsLXRhYmxlLWV2ZW50XCI+XG4gIDx0aGVhZD5cbiAgICA8dHIgY2xhc3M9XCJvLWh2eS1ldmVudHMtdGFibGVfX2hlYWRlclwiPlxuICAgICAgPHRoIGNsYXNzPVwiLWNoZWNrYm94XCI+XG4gICAgICAgIDxwcnktY2hlY2tib3ggW25nTW9kZWxdPVwiYWxsU2VsZWN0ZWQkIHwgYXN5bmNcIiAobmdNb2RlbENoYW5nZSk9XCJzZWxlY3RBbGwoJGV2ZW50KVwiPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAoe3soc2VsZWN0ZWRJZHMkfCBhc3luYyk/Lmxlbmd0aH19KVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3ByeS1jaGVja2JveD5cbiAgICAgIDwvdGg+XG4gICAgICA8dGg+XG4gICAgICAgIDxodnktZXZlbnQtY29sdW1uLW9yZGVyIGZpZWxkPVwiY3JpdGljYWxpdHlcIj57eyAnQGh2eS5ldmVudC5jcml0aWNhbGl0eS5uYW1lJyB8IGkxOG4gfX08L2h2eS1ldmVudC1jb2x1bW4tb3JkZXI+XG4gICAgICA8L3RoPlxuICAgICAgPHRoPlxuICAgICAgICA8aHZ5LWV2ZW50LWNvbHVtbi1vcmRlciBmaWVsZD1cImlkXCI+e3sgJ0BodnkuZXZlbnQuaWQnIHwgaTE4biB9fTwvaHZ5LWV2ZW50LWNvbHVtbi1vcmRlcj5cbiAgICAgIDwvdGg+XG4gICAgICA8dGg+XG4gICAgICAgIDxodnktZXZlbnQtY29sdW1uLW9yZGVyIGZpZWxkPVwiZG9tYWluXCI+e3sgJ0BodnkuZXZlbnQuZG9tYWluLm5hbWUnIHwgaTE4biB9fTwvaHZ5LWV2ZW50LWNvbHVtbi1vcmRlcj5cbiAgICAgIDwvdGg+XG4gICAgICA8dGg+XG4gICAgICAgIDxodnktZXZlbnQtY29sdW1uLW9yZGVyIGZpZWxkPVwibmFtZVwiPnt7ICdAaHZ5LmV2ZW50Lm5hbWUnIHwgaTE4biB9fTwvaHZ5LWV2ZW50LWNvbHVtbi1vcmRlcj5cbiAgICAgIDwvdGg+XG4gICAgICA8dGg+XG4gICAgICAgIHt7ICdAaHZ5LmV2ZW50LmRpcycgfCBpMThuIH19XG4gICAgICA8L3RoPlxuICAgICAgPHRoPlxuICAgICAgICA8aHZ5LWV2ZW50LWNvbHVtbi1vcmRlciBmaWVsZD1cInN0YXR1c1wiPnt7ICdAaHZ5LmV2ZW50LnN0YXR1cy5uYW1lJyB8IGkxOG4gfX08L2h2eS1ldmVudC1jb2x1bW4tb3JkZXI+XG4gICAgICA8L3RoPlxuICAgICAgPHRoPlxuICAgICAgICA8aHZ5LWV2ZW50LWNvbHVtbi1vcmRlciBmaWVsZD1cInNvdXJjZVwiPnt7ICdAaHZ5LmV2ZW50LnNvdXJjZScgfCBpMThuIH19PC9odnktZXZlbnQtY29sdW1uLW9yZGVyPlxuICAgICAgPC90aD5cbiAgICAgIDx0aD5cbiAgICAgICAgPGh2eS1ldmVudC1jb2x1bW4tb3JkZXIgZmllbGQ9XCJwcm9jZWR1cmVQcm9ncmVzc1wiXG4gICAgICAgICAgPnt7ICdAaHZ5LnByb2NlZHVyZS5wcm9ncmVzcycgfCBpMThuIH19XG4gICAgICAgIDwvaHZ5LWV2ZW50LWNvbHVtbi1vcmRlcj5cbiAgICAgIDwvdGg+XG4gICAgICA8dGg+XG4gICAgICAgIDxodnktZXZlbnQtY29sdW1uLW9yZGVyIGZpZWxkPVwiY2F0ZWdvcnlcIj57eyAnQGh2eS5ldmVudC5jYXRlZ29yeS5uYW1lJyB8IGkxOG4gfX08L2h2eS1ldmVudC1jb2x1bW4tb3JkZXI+XG4gICAgICA8L3RoPlxuICAgICAgPHRoPlxuICAgICAgICA8aHZ5LWV2ZW50LWNvbHVtbi1vcmRlciBmaWVsZD1cImNyZWF0aW9uRGF0ZVwiPnt7ICdAaHZ5LmV2ZW50LmNyZWF0aW9uRGF0ZVRhYmxlJyB8IGkxOG4gfX08L2h2eS1ldmVudC1jb2x1bW4tb3JkZXI+XG4gICAgICA8L3RoPlxuICAgICAgPHRoPlxuICAgICAgICA8aHZ5LWV2ZW50LWNvbHVtbi1vcmRlciBmaWVsZD1cImxhc3RNb2RpZmljYXRpb25EYXRlXCJcbiAgICAgICAgICA+e3sgJ0BodnkuZXZlbnQubGFzdE1vZGlmaWNhdGlvbkRhdGVUYWJsZScgfCBpMThuIH19XG4gICAgICAgIDwvaHZ5LWV2ZW50LWNvbHVtbi1vcmRlcj5cbiAgICAgIDwvdGg+XG4gICAgICA8dGg+PC90aD5cbiAgICA8L3RyPlxuICA8L3RoZWFkPlxuICA8dGJvZHk+XG4gICAgQGZvciAoZXZlbnQgb2YgZXZlbnRzJCB8IGFzeW5jOyB0cmFjayBldmVudC5pZDsgbGV0IGluZGV4ID0gJGluZGV4KSB7XG4gICAgICA8dHIgY2xhc3M9XCJvLWh2eS1ldmVudHMtdGFibGVfX2xpbmVcIiBbY2xhc3MuLW5vZ29dPVwiZGlzYWJsZUdvdG9EZXRhaWxcIiAoY2xpY2spPVwiZ29UbyhldmVudClcIj5cbiAgICAgICAgPHRkIGNsYXNzPVwiby1odnktZXZlbnRzLXRhYmxlX19saW5lX19jZWxsIGNoZWNrYm94XCI+XG4gICAgICAgICAgPHByeS1jaGVja2JveFxuICAgICAgICAgICAgW25nTW9kZWxdPVwiKHNlbGVjdGVkSWRzJCB8IGFzeW5jKSEuaW5jbHVkZXMoZXZlbnQuaWQpXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3QoZXZlbnQsICRldmVudClcIlxuICAgICAgICAgID48L3ByeS1jaGVja2JveD5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGNsYXNzPVwiby1odnktZXZlbnRzLXRhYmxlX19saW5lX19jZWxsIC1jZW50ZXJlZCBpY29uXCI+XG4gICAgICAgICAgPGh2eS1pY29uLWRpc3BsYXkgW2V2ZW50XT1cImV2ZW50XCI+PC9odnktaWNvbi1kaXNwbGF5PlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJvLWh2eS1ldmVudHMtdGFibGVfX2xpbmVfX2NlbGwgaWRcIj5cbiAgICAgICAgICB7eyBwYWRJZC5mbihldmVudC5pZCkgfX1cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGNsYXNzPVwiby1odnktZXZlbnRzLXRhYmxlX19saW5lX19jZWxsIGRvbWFpblwiPlxuICAgICAgICAgIHt7IGV2ZW50LmRvbWFpbiA/PyAnJyB9fVxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJvLWh2eS1ldmVudHMtdGFibGVfX2xpbmVfX2NlbGwgbmFtZVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLWh2eS1ldmVudHMtdGFibGVfX2xpbmVfX2NlbGxfX25hbWVfX21haW5cIj57eyBldmVudC5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm8taHZ5LWV2ZW50cy10YWJsZV9fbGluZV9fY2VsbF9fbmFtZV9fc3ViXCI+XG4gICAgICAgICAgICBAaWYgKGV2ZW50LmVxdWlwbWVudCkge1xuICAgICAgICAgICAgICB7eyBldmVudC5lcXVpcG1lbnQubmFtZSA/IGV2ZW50LmVxdWlwbWVudC5uYW1lIDogJycgfX0gLVxuICAgICAgICAgICAgICB7eyBldmVudC5lcXVpcG1lbnQgPyAoJ0BodnkuZXZlbnQuZmFtaWx5LicgKyBldmVudC5lcXVpcG1lbnQuZmFtaWx5IHwgaTE4bikgOiAnJyB9fVxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLWh2eS1ldmVudHMtdGFibGVfX2xpbmVfX2NlbGxfX25hbWVfX3N1YnN1YlwiPlxuICAgICAgICAgICAgPHNwYW4+e3sgZXZlbnQuYWRkcmVzcyB9fTwvc3Bhbj5cbiAgICAgICAgICAgIEBpZihldmVudC5kaXN0cmljdCkge1xuICAgICAgICAgICAgICBAaWYoZXZlbnQuYWRkcmVzcykge1xuICAgICAgICAgICAgICAgIDxzcGFuPiwmbmJzcDs8L3NwYW4+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPHNwYW4+e3soXCJAaHZ5LmV2ZW50LnBsYWNlcy5cIiArIGV2ZW50LmRpc3RyaWN0IHwgaTE4bil9fSA8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCBjbGFzcz1cIm8taHZ5LWV2ZW50cy10YWJsZV9fbGluZV9fY2VsbCB0ZC1qb3VybmFsLWRpXCIgI2VsZW0+XG4gICAgICAgICAgQGlmIChnZXRFdmVudERpc0xlbmd0aChldmVudCkgPiAwKXtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLWh2eS1sYXN0LWV2ZW50c19fc2VydmljZXNfX2l0ZW1fX2ljb25cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LWRpcy1jb250YWluZXJcIlxuICAgICAgICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cInNob3dEaVRvb2x0aXAoZXZlbnQsIGluZGV4KVwiXG4gICAgICAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwic2hvd0RpVG9vbHRpcChldmVudCwgaW5kZXgpXCI+XG4gICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJzZXJ2aWNlXCIgW2hlaWdodF09XCIzMFwiIFt3aWR0aF09XCIzMFwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnQtZGlzLW51bWJlclwiPlxuICAgICAgICAgICAgICAgICAgICB7e2V2ZW50RGlzTGVuZ3RofX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGNsYXNzPVwiby1odnktZXZlbnRzLXRhYmxlX19saW5lX19jZWxsIC1jZW50ZXJlZCBzdGF0dXNcIj5cbiAgICAgICAgICA8aHZ5LXN0YXR1cy1kaXNwbGF5IFtpdGVtXT1cImV2ZW50XCI+PC9odnktc3RhdHVzLWRpc3BsYXk+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCBjbGFzcz1cIm8taHZ5LWV2ZW50cy10YWJsZV9fbGluZV9fY2VsbCBzb3VyY2VcIj5cbiAgICAgICAgICB7eyBldmVudC5leHRlcm5hbFNvdXJjZVJlZiA/PyAoJ0BodnkuZXZlbnQuaHlwZXJ2aXNvcicgfCBpMThuKSB9fVxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJvLWh2eS1ldmVudHMtdGFibGVfX2xpbmVfX2NlbGwgLWNlbnRlcmVkIHByb2dyZXNzXCI+e3sgZXZlbnQucHJvY2VkdXJlUHJvZ3Jlc3MgfX0gJTwvdGQ+XG4gICAgICAgIDx0ZCBjbGFzcz1cIm8taHZ5LWV2ZW50cy10YWJsZV9fbGluZV9fY2VsbCBjYXRlZ29yeVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLWh2eS1ldmVudHMtdGFibGVfX2xpbmVfX2NlbGxfX25hbWVfX21haW5cIj5cbiAgICAgICAgICAgIHt7ICdAaHZ5LmV2ZW50LmNhdGVnb3J5LicgKyBldmVudC5jYXRlZ29yeSB8IGkxOG4gfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBAaWYgKGV2ZW50LnN1YkNhdGVnb3J5ICYmIGV2ZW50LnN1YkNhdGVnb3J5ICE9PSAnTk9ORScpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLWh2eS1ldmVudHMtdGFibGVfX2xpbmVfX2NlbGxfX25hbWVfX3N1YlwiPlxuICAgICAgICAgICAgICB7eyAnQGh2eS5ldmVudC5zdWJDYXRlZ29yeS4nICsgZXZlbnQuc3ViQ2F0ZWdvcnkgfCBpMThuIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCBjbGFzcz1cIm8taHZ5LWV2ZW50cy10YWJsZV9fbGluZV9fY2VsbCBjcmVhdGlvbi1kYXRlXCI+XG4gICAgICAgICAge3sgZXZlbnQuY3JlYXRpb25EYXRlIHwgZGlzcGxheUxvY2FsZURhdGV0aW1lIH19XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCBjbGFzcz1cIm8taHZ5LWV2ZW50cy10YWJsZV9fbGluZV9fY2VsbCBtb2RpZmljYXRpb24tZGF0ZVwiPlxuICAgICAgICAgIHt7IGV2ZW50Lmxhc3RNb2RpZmljYXRpb25EYXRlIHwgZGlzcGxheUxvY2FsZURhdGV0aW1lIH19XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCBjbGFzcz1cIm8taHZ5LWV2ZW50cy10YWJsZV9fbGluZV9fY2VsbCBsaW5rXCI+XG4gICAgICAgICAgQGlmICghZGlzYWJsZUdvdG9EZXRhaWwpIHtcbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIkVWRU5UX0xJTksuZm4oZXZlbnQsIF9zdG9yZSlcIlxuICAgICAgICAgICAgICBbdGl0bGVdPVwiXG4gICAgICAgICAgICAgICAgJ0BodnkuZXZlbnQuY29uc3VsdCdcbiAgICAgICAgICAgICAgICAgIHwgaTE4bjogeyBob3dNYW55OiBNYXRoLm1heCgxLCBldmVudC5saW5rZWRFdmVudHMpLCBwbHVyYWw6IGV2ZW50LmxpbmtlZEV2ZW50cyA+IDEgPyAncycgOiAnJyB9XG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb25zdWx0LWxpbmtcIj5cbiAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImV5ZVwiIFtoZWlnaHRdPVwiMzBcIiBbd2lkdGhdPVwiNDBcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgIEBpZiAoZXZlbnQubGlua2VkRXZlbnRzID4gMSkge1xuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluZGljYXRvci1iYWRnZVwiPnt7IGV2ZW50LmxpbmtlZEV2ZW50cyB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgfVxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICB9IEBlbXB0eSB7XG4gICAgICA8dHI+XG4gICAgICAgIDx0ZCBjbGFzcz1cIm8taHZ5LWV2ZW50cy10YWJsZV9fZW1wdHlcIiBjb2xzcGFuPVwiNTBcIj5cbiAgICAgICAgICA8ZGl2Pnt7ICdAaHZ5LmV2ZW50LmxvZy5lbXB0eScgfCBpMThuIH19PC9kaXY+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgfVxuICA8L3Rib2R5PlxuPC90YWJsZT5cblxuPG5nLXRlbXBsYXRlICNkaVRvb2x0aXAgbGV0LWV2ZW50PlxuICA8ZGl2IGNsYXNzPVwiZXZlbnQtZGlzLXRvb2x0aXBcIj5cbiAgICBAZm9yIChkaSBvZiBldmVudC5kaXM7IHRyYWNrIGRpKXtcbiAgICAgIDxkaXY+XG4gICAgICAgIC0ge3tkaS5pZH19ICh7eydAaHZ5LnByb2NlZHVyZS5zdGF0dXMuJyArIGRpLnN0YXR1cyB8IGkxOG59fSlcbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG4iXX0=
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
export function eventForWriteAPI(event) {
|
|
2
|
+
const eve = {
|
|
3
|
+
...event,
|
|
4
|
+
equipmentId: event.equipment?.id,
|
|
5
|
+
parent: event.parent && typeof event.parent === 'object' ? event.parent.id : event.parent,
|
|
6
|
+
subCategory: event.category === 'ANOMALY' ? event.subCategory : undefined
|
|
7
|
+
};
|
|
8
|
+
const { creator, ...newEve } = eve;
|
|
9
|
+
return newEve;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHlwLWV2ZW50LWRldGFpbC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2h5cGVydmlzb3Ivc3JjL2xpYi9tb2RlbC9ldmVudC9oeXAtZXZlbnQtZGV0YWlsLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQ0EsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQStCO0lBQzlELE1BQU0sR0FBRyxHQUFHO1FBQ1YsR0FBRyxLQUFLO1FBQ1IsV0FBVyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsRUFBRTtRQUNoQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sSUFBSSxPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU07UUFDekYsV0FBVyxFQUFFLEtBQUssQ0FBQyxRQUFRLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTO0tBQzFFLENBQUE7SUFDRCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDO0lBQ25DLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIeXBFdmVudCB9IGZyb20gJy4vaHlwLWV2ZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBIeXBDb21tZW50IH0gZnJvbSAnLi4vY29tbWVudC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEh5cEV2ZW50RGV0YWlscyBleHRlbmRzIEh5cEV2ZW50IHtcbiAgYWRkcmVzczogc3RyaW5nO1xuICBkaXN0cmljdD86IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgc3RhdHVzOiBzdHJpbmc7XG4gIGxhc3RNb2RpZmljYXRpb25EYXRlOiBzdHJpbmc7XG4gIGNyZWF0aW9uRGF0ZTogc3RyaW5nO1xuICBkaXM6IHtpZDogc3RyaW5nLCBzdGF0dXM6IHN0cmluZ31bXTtcbiAgZXF1aXBtZW50Pzoge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGVudGl0eTogc3RyaW5nO1xuICAgIGZhbWlseTogc3RyaW5nO1xuICAgIGRvbWFpbjogc3RyaW5nO1xuICAgIGRpc3RyaWN0Pzogc3RyaW5nO1xuICB9O1xuICBleHRlcm5hbFNvdXJjZVJlZj86IHN0cmluZztcbiAgZXh0ZXJuYWxJZD86IHN0cmluZztcbiAgc3RhcnREYXRlPzogc3RyaW5nO1xuICBlbmREYXRlPzogc3RyaW5nO1xuICBjbG9zZURhdGU6IHN0cmluZztcbiAgcHJvY2VkdXJlSWQ/OiBzdHJpbmc7XG4gIGxpbmtlZEV2ZW50czogbnVtYmVyO1xuICBwcm9jZWR1cmVQcm9ncmVzcz86IG51bWJlcjtcbiAgZG9tYWluPzogc3RyaW5nO1xuICBsYXN0Q29tbWVudDogSHlwQ29tbWVudDtcbiAgY29tbWVudENvdW50OiBudW1iZXI7XG4gIGNyZWF0b3I6IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV2ZW50Rm9yV3JpdGVBUEkoZXZlbnQ6IFBhcnRpYWw8SHlwRXZlbnREZXRhaWxzPil7XG4gIGNvbnN0IGV2ZSA9IHtcbiAgICAuLi5ldmVudCxcbiAgICBlcXVpcG1lbnRJZDogZXZlbnQuZXF1aXBtZW50Py5pZCxcbiAgICBwYXJlbnQ6IGV2ZW50LnBhcmVudCAmJiB0eXBlb2YgZXZlbnQucGFyZW50ID09PSAnb2JqZWN0JyA/IGV2ZW50LnBhcmVudC5pZCA6IGV2ZW50LnBhcmVudCxcbiAgICBzdWJDYXRlZ29yeTogZXZlbnQuY2F0ZWdvcnkgPT09ICdBTk9NQUxZJyA/IGV2ZW50LnN1YkNhdGVnb3J5IDogdW5kZWZpbmVkXG4gIH1cbiAgY29uc3QgeyBjcmVhdG9yLCAuLi5uZXdFdmUgfSA9IGV2ZTtcbiAgcmV0dXJuIG5ld0V2ZTtcbn1cbiJdfQ==
|
|
@@ -62,9 +62,9 @@ export class EventService {
|
|
|
62
62
|
}
|
|
63
63
|
return this.store.select(HypSelectors.url).pipe(mergeMap((url) => {
|
|
64
64
|
if (!!toSend.id) {
|
|
65
|
-
return this.httpClient.put(encodeURI(`${url}/events/id/${toSend.id}`), eventForWriteAPI(
|
|
65
|
+
return this.httpClient.put(encodeURI(`${url}/events/id/${toSend.id}`), eventForWriteAPI(toSend));
|
|
66
66
|
}
|
|
67
|
-
return this.httpClient.post(encodeURI(`${url}/events`), eventForWriteAPI(
|
|
67
|
+
return this.httpClient.post(encodeURI(`${url}/events`), eventForWriteAPI(toSend));
|
|
68
68
|
}));
|
|
69
69
|
}
|
|
70
70
|
saveProcedure(procedure) {
|
|
@@ -132,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
132
132
|
providedIn: 'root'
|
|
133
133
|
}]
|
|
134
134
|
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.Store }] });
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvaHlwZXJ2aXNvci9zcmMvbGliL3N0b3JlL2V2ZW50L2V2ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBYyxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQW1CLE1BQU0sOENBQThDLENBQUM7QUFDakcsT0FBTyxFQUFnQixvQkFBb0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBRW5HLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFFMUIsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLE9BQU8sRUFBRSxTQUFTO0NBQ25CLENBQUM7QUFLRixNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUNVLFVBQXNCLEVBQ3RCLEtBQWlCO1FBRGpCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsVUFBSyxHQUFMLEtBQUssQ0FBWTtJQUN4QixDQUFDO0lBRUosSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEVBQUUsUUFBUSxHQUFHLGVBQWUsQ0FBQyxLQUFLO1FBQ2xELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFB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fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBtZXJnZU1hcCwgT2JzZXJ2YWJsZSwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgSHlwU2VsZWN0b3JzIH0gZnJvbSAnLi4vaHlwZXJ2aXNvci9oeXBlcnZpc29yLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBFdmVudFNlbGVjdG9ycyB9IGZyb20gJy4vZXZlbnQuc2VsZWN0b3JzJztcbmltcG9ydCB7IGV2ZW50Rm9yV3JpdGVBUEksIEh5cEV2ZW50RGV0YWlscyB9IGZyb20gJy4uLy4uL21vZGVsL2V2ZW50L2h5cC1ldmVudC1kZXRhaWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IEh5cFByb2NlZHVyZSwgcHJvY2VkdXJlRm9yV3JpdGVBUEkgfSBmcm9tICcuLi8uLi9tb2RlbC9wcm9jZWR1cmUvaHlwLXByb2NlZHVyZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSHlwRXZlbnRUb29sdGlwIH0gZnJvbSAnLi4vLi4vbW9kZWwvZXZlbnQvaHlwLWV2ZW50LXRvb2x0aXAuaW50ZXJmYWNlJztcbmltcG9ydCB7IHY0IH0gZnJvbSAndXVpZCc7XG5cbmV4cG9ydCBjb25zdCBQQUdFX1NJWkVfRkVUQ0ggPSB7IHZhbHVlOiAyMCB9O1xuXG5leHBvcnQgY29uc3QgS05PV05fRklMVEVSX1NFVFMgPSB7XG4gIEVWRU5UUzogJ2V2ZW50cycsXG4gIFNVTU1BUlk6ICdzdW1tYXJ5J1xufTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRXZlbnRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPGFueT5cbiAgKSB7fVxuXG4gIGxpc3Qoc3RhcnRXaXRoID0gMCwgcGFnZVNpemUgPSBQQUdFX1NJWkVfRkVUQ0gudmFsdWUpOiBPYnNlcnZhYmxlPEFycmF5PEh5cEV2ZW50RGV0YWlscz4+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoSHlwU2VsZWN0b3JzLnVybCkucGlwZShcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUuc2VsZWN0KEV2ZW50U2VsZWN0b3JzLmZpbHRlcnMpLCB0aGlzLnN0b3JlLnNlbGVjdChFdmVudFNlbGVjdG9ycy5zb3J0KSksXG4gICAgICBtZXJnZU1hcCgoW3VybCwgZmlsdGVyU2V0cywgc29ydF0pID0+IHtcbiAgICAgICAgY29uc3QgZmlsdGVycyA9IGZpbHRlclNldHNbS05PV05fRklMVEVSX1NFVFMuRVZFTlRTXSA/PyB7fTtcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgICAgIE9iamVjdC5rZXlzKGZpbHRlcnMpLmZvckVhY2goKGZpbHRlcikgPT4ge1xuICAgICAgICAgIGZpbHRlcnNbZmlsdGVyXS5mb3JFYWNoKChmaWx0ZXJWYWx1ZSkgPT4ge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChmaWx0ZXIsIGZpbHRlclZhbHVlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3BhZ2UnLCBzdGFydFdpdGggLyBwYWdlU2l6ZSArIDEpO1xuICAgICAgICBpZiAoc29ydCkge1xuICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3NvcnQnLCBzb3J0LmZpZWxkKS5zZXQoJ29yZGVyJywgc29ydC5vcmRlcik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8QXJyYXk8SHlwRXZlbnREZXRhaWxzPj4oZW5jb2RlVVJJKGAke3VybH0vZXZlbnRzYCksIHsgcGFyYW1zIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZ2V0KGlkOiBudW1iZXIpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoSHlwU2VsZWN0b3JzLnVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8SHlwRXZlbnREZXRhaWxzPihlbmNvZGVVUkkoYCR7dXJsfS9ldmVudHMvaWQvJHtpZH1gKSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBnZXRUb29sdGlwSW5mbyhuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoSHlwU2VsZWN0b3JzLnVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8SHlwRXZlbnRUb29sdGlwPihlbmNvZGVVUkkoYCR7dXJsfS9lcXVpcG1lbnRzL25hbWUvJHtuYW1lfWApKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldFRvb2x0aXBTZXJ2aWNlc0luZm8obmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KEh5cFNlbGVjdG9ycy51cmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PGFueT4oZW5jb2RlVVJJKGAke3VybH0vZXF1aXBtZW50cy9uYW1lLyR7bmFtZX0vb3JkZXJTZXJ2aWNlU3RhdHVzYCkpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZ2V0UHJvY2VkdXJlKGlkOiBudW1iZXIpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoSHlwU2VsZWN0b3JzLnVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8SHlwUHJvY2VkdXJlPihlbmNvZGVVUkkoYCR7dXJsfS9wcm9jZWR1cmVzL2lkLyR7aWR9YCkpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc2F2ZShldmVudDogSHlwRXZlbnREZXRhaWxzKSB7XG4gICAgY29uc3QgdG9TZW5kID0geyAuLi5ldmVudCB9IGFzIFBhcnRpYWw8SHlwRXZlbnREZXRhaWxzPjtcbiAgICBpZiAoZXZlbnQuaWQgPCAwKSB7XG4gICAgICBkZWxldGUgdG9TZW5kLmlkO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoSHlwU2VsZWN0b3JzLnVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHtcbiAgICAgICAgaWYgKCEhdG9TZW5kLmlkKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wdXQ8SHlwRXZlbnREZXRhaWxzPihcbiAgICAgICAgICAgIGVuY29kZVVSSShgJHt1cmx9L2V2ZW50cy9pZC8ke3RvU2VuZC5pZH1gKSxcbiAgICAgICAgICAgIGV2ZW50Rm9yV3JpdGVBUEkoZXZlbnQpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8SHlwRXZlbnREZXRhaWxzPihlbmNvZGVVUkkoYCR7dXJsfS9ldmVudHNgKSwgZXZlbnRGb3JXcml0ZUFQSShldmVudCkpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc2F2ZVByb2NlZHVyZShwcm9jZWR1cmU6IEh5cFByb2NlZHVyZSkge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChIeXBTZWxlY3RvcnMudXJsKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHVybCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnB1dDx2b2lkPihcbiAgICAgICAgICBlbmNvZGVVUkkoYCR7dXJsfS9wcm9jZWR1cmVzL2lkLyR7cHJvY2VkdXJlLmlkfWApLFxuICAgICAgICAgIHByb2NlZHVyZUZvcldyaXRlQVBJKHByb2NlZHVyZSlcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGFkZEV2ZW50VG9Qcm9jZWR1cmUoZXZlbnRJZDogbnVtYmVyLCBwcm9jZWR1cmU6IEh5cFByb2NlZHVyZSkge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChIeXBTZWxlY3RvcnMudXJsKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHVybCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnB1dDx2b2lkPihcbiAgICAgICAgICBlbmNvZGVVUkkoYCR7dXJsfS9wcm9jZWR1cmVzL2lkLyR7cHJvY2VkdXJlLmlkfS9hc3NvY2lhdGUvZXZlbnQvaWQvJHtldmVudElkfWApLFxuICAgICAgICAgIHt9XG4gICAgICAgICk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBzdGF0dXMoZXZlbnQ6IEh5cEV2ZW50RGV0YWlscywgc3RhdHVzOiBzdHJpbmcsIGNvbW1lbnQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChIeXBTZWxlY3RvcnMudXJsKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHVybCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnB1dDx2b2lkPihlbmNvZGVVUkkoYCR7dXJsfS9ldmVudHMvaWQvJHtldmVudC5pZH0vY2xvc2VgKSwge1xuICAgICAgICAgIGlkOiB2NCgpLFxuICAgICAgICAgIG1lc3NhZ2U6IGNvbW1lbnRcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBzdGF0dXNQcm9jZWR1cmUocHJvY2VkdXJlOiBIeXBQcm9jZWR1cmUsIHN0YXR1czogc3RyaW5nLCBjb21tZW50OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoSHlwU2VsZWN0b3JzLnVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wdXQ8dm9pZD4oZW5jb2RlVVJJKGAke3VybH0vcHJvY2VkdXJlcy9pZC8ke3Byb2NlZHVyZS5pZH0vY2xvc2VgKSwge1xuICAgICAgICAgIGlkOiB2NCgpLFxuICAgICAgICAgIG1lc3NhZ2U6IGNvbW1lbnRcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBhc3NvY2lhdGVQcm9jZWR1cmUocHJvY2VkdXJlSWQ6IG51bWJlciwgZXZlbnRJZHM6IG51bWJlcltdKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KEh5cFNlbGVjdG9ycy51cmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucHV0PEh5cFByb2NlZHVyZT4oXG4gICAgICAgICAgZW5jb2RlVVJJKGAke3VybH0vcHJvY2VkdXJlcy9tb2RlbC9pZC8ke3Byb2NlZHVyZUlkfS9hc3NvY2lhdGVgKSxcbiAgICAgICAgICBldmVudElkc1xuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZXhwb3J0KGFyY2hpdmVkOiBib29sZWFuKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KEh5cFNlbGVjdG9ycy51cmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGVuY29kZVVSSShgJHt1cmx9L2V2ZW50cy9leHBvcnQ/YXJjaGl2ZWQ9JHthcmNoaXZlZH1gKSwge1xuICAgICAgICAgIG9ic2VydmU6ICdyZXNwb25zZScsXG4gICAgICAgICAgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInXG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc2VhcmNoKHNlYXJjaDogc3RyaW5nIHwgdW5kZWZpbmVkLCBmaWVsZHM6IHN0cmluZ1tdLCBzdGF0dXNlczogc3RyaW5nW10gPSBbXSk6IE9ic2VydmFibGU8SHlwRXZlbnREZXRhaWxzW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoSHlwU2VsZWN0b3JzLnVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHtcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3NvcnQnLCAnbmFtZScpLnNldCgnb3JkZXInLCAnREVTQycpLnNldCgncGFnZVNpemUnLCAnMTAnKTtcbiAgICAgICAgaWYgKHN0YXR1c2VzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBzdGF0dXNlcy5mb3JFYWNoKChzdGF0dXMpID0+IHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3N0YXR1cycsIHN0YXR1cyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNlYXJjaCAmJiBzZWFyY2gubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChmaWVsZCwgc2VhcmNoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxIeXBFdmVudERldGFpbHNbXT4oZW5jb2RlVVJJKGAke3VybH0vZXZlbnRzYCksIHsgcGFyYW1zIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvaHlwZXJ2aXNvci9zcmMvbGliL3N0b3JlL2V2ZW50L2V2ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBYyxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQW1CLE1BQU0sOENBQThDLENBQUM7QUFDakcsT0FBTyxFQUFnQixvQkFBb0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBRW5HLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFFMUIsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLE9BQU8sRUFBRSxTQUFTO0NBQ25CLENBQUM7QUFLRixNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUNVLFVBQXNCLEVBQ3RCLEtBQWlCO1FBRGpCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsVUFBSyxHQUFMLEtBQUssQ0FBWTtJQUN4QixDQUFDO0lBRUosSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEVBQUUsUUFBUSxHQUFHLGVBQWUsQ0FBQyxLQUFLO1FBQ2xELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFB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fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBtZXJnZU1hcCwgT2JzZXJ2YWJsZSwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgSHlwU2VsZWN0b3JzIH0gZnJvbSAnLi4vaHlwZXJ2aXNvci9oeXBlcnZpc29yLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBFdmVudFNlbGVjdG9ycyB9IGZyb20gJy4vZXZlbnQuc2VsZWN0b3JzJztcbmltcG9ydCB7IGV2ZW50Rm9yV3JpdGVBUEksIEh5cEV2ZW50RGV0YWlscyB9IGZyb20gJy4uLy4uL21vZGVsL2V2ZW50L2h5cC1ldmVudC1kZXRhaWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IEh5cFByb2NlZHVyZSwgcHJvY2VkdXJlRm9yV3JpdGVBUEkgfSBmcm9tICcuLi8uLi9tb2RlbC9wcm9jZWR1cmUvaHlwLXByb2NlZHVyZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSHlwRXZlbnRUb29sdGlwIH0gZnJvbSAnLi4vLi4vbW9kZWwvZXZlbnQvaHlwLWV2ZW50LXRvb2x0aXAuaW50ZXJmYWNlJztcbmltcG9ydCB7IHY0IH0gZnJvbSAndXVpZCc7XG5cbmV4cG9ydCBjb25zdCBQQUdFX1NJWkVfRkVUQ0ggPSB7IHZhbHVlOiAyMCB9O1xuXG5leHBvcnQgY29uc3QgS05PV05fRklMVEVSX1NFVFMgPSB7XG4gIEVWRU5UUzogJ2V2ZW50cycsXG4gIFNVTU1BUlk6ICdzdW1tYXJ5J1xufTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRXZlbnRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPGFueT5cbiAgKSB7fVxuXG4gIGxpc3Qoc3RhcnRXaXRoID0gMCwgcGFnZVNpemUgPSBQQUdFX1NJWkVfRkVUQ0gudmFsdWUpOiBPYnNlcnZhYmxlPEFycmF5PEh5cEV2ZW50RGV0YWlscz4+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoSHlwU2VsZWN0b3JzLnVybCkucGlwZShcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUuc2VsZWN0KEV2ZW50U2VsZWN0b3JzLmZpbHRlcnMpLCB0aGlzLnN0b3JlLnNlbGVjdChFdmVudFNlbGVjdG9ycy5zb3J0KSksXG4gICAgICBtZXJnZU1hcCgoW3VybCwgZmlsdGVyU2V0cywgc29ydF0pID0+IHtcbiAgICAgICAgY29uc3QgZmlsdGVycyA9IGZpbHRlclNldHNbS05PV05fRklMVEVSX1NFVFMuRVZFTlRTXSA/PyB7fTtcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgICAgIE9iamVjdC5rZXlzKGZpbHRlcnMpLmZvckVhY2goKGZpbHRlcikgPT4ge1xuICAgICAgICAgIGZpbHRlcnNbZmlsdGVyXS5mb3JFYWNoKChmaWx0ZXJWYWx1ZSkgPT4ge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChmaWx0ZXIsIGZpbHRlclZhbHVlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3BhZ2UnLCBzdGFydFdpdGggLyBwYWdlU2l6ZSArIDEpO1xuICAgICAgICBpZiAoc29ydCkge1xuICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3NvcnQnLCBzb3J0LmZpZWxkKS5zZXQoJ29yZGVyJywgc29ydC5vcmRlcik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8QXJyYXk8SHlwRXZlbnREZXRhaWxzPj4oZW5jb2RlVVJJKGAke3VybH0vZXZlbnRzYCksIHsgcGFyYW1zIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZ2V0KGlkOiBudW1iZXIpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoSHlwU2VsZWN0b3JzLnVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8SHlwRXZlbnREZXRhaWxzPihlbmNvZGVVUkkoYCR7dXJsfS9ldmVudHMvaWQvJHtpZH1gKSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBnZXRUb29sdGlwSW5mbyhuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoSHlwU2VsZWN0b3JzLnVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8SHlwRXZlbnRUb29sdGlwPihlbmNvZGVVUkkoYCR7dXJsfS9lcXVpcG1lbnRzL25hbWUvJHtuYW1lfWApKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldFRvb2x0aXBTZXJ2aWNlc0luZm8obmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KEh5cFNlbGVjdG9ycy51cmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PGFueT4oZW5jb2RlVVJJKGAke3VybH0vZXF1aXBtZW50cy9uYW1lLyR7bmFtZX0vb3JkZXJTZXJ2aWNlU3RhdHVzYCkpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZ2V0UHJvY2VkdXJlKGlkOiBudW1iZXIpIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoSHlwU2VsZWN0b3JzLnVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8SHlwUHJvY2VkdXJlPihlbmNvZGVVUkkoYCR7dXJsfS9wcm9jZWR1cmVzL2lkLyR7aWR9YCkpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc2F2ZShldmVudDogSHlwRXZlbnREZXRhaWxzKSB7XG4gICAgY29uc3QgdG9TZW5kID0geyAuLi5ldmVudCB9IGFzIFBhcnRpYWw8SHlwRXZlbnREZXRhaWxzPjtcbiAgICBpZiAoZXZlbnQuaWQgPCAwKSB7XG4gICAgICBkZWxldGUgdG9TZW5kLmlkO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoSHlwU2VsZWN0b3JzLnVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHtcbiAgICAgICAgaWYgKCEhdG9TZW5kLmlkKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wdXQ8SHlwRXZlbnREZXRhaWxzPihcbiAgICAgICAgICAgIGVuY29kZVVSSShgJHt1cmx9L2V2ZW50cy9pZC8ke3RvU2VuZC5pZH1gKSxcbiAgICAgICAgICAgIGV2ZW50Rm9yV3JpdGVBUEkodG9TZW5kKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PEh5cEV2ZW50RGV0YWlscz4oZW5jb2RlVVJJKGAke3VybH0vZXZlbnRzYCksIGV2ZW50Rm9yV3JpdGVBUEkodG9TZW5kKSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBzYXZlUHJvY2VkdXJlKHByb2NlZHVyZTogSHlwUHJvY2VkdXJlKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KEh5cFNlbGVjdG9ycy51cmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucHV0PHZvaWQ+KFxuICAgICAgICAgIGVuY29kZVVSSShgJHt1cmx9L3Byb2NlZHVyZXMvaWQvJHtwcm9jZWR1cmUuaWR9YCksXG4gICAgICAgICAgcHJvY2VkdXJlRm9yV3JpdGVBUEkocHJvY2VkdXJlKVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgYWRkRXZlbnRUb1Byb2NlZHVyZShldmVudElkOiBudW1iZXIsIHByb2NlZHVyZTogSHlwUHJvY2VkdXJlKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KEh5cFNlbGVjdG9ycy51cmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucHV0PHZvaWQ+KFxuICAgICAgICAgIGVuY29kZVVSSShgJHt1cmx9L3Byb2NlZHVyZXMvaWQvJHtwcm9jZWR1cmUuaWR9L2Fzc29jaWF0ZS9ldmVudC9pZC8ke2V2ZW50SWR9YCksXG4gICAgICAgICAge31cbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHN0YXR1cyhldmVudDogSHlwRXZlbnREZXRhaWxzLCBzdGF0dXM6IHN0cmluZywgY29tbWVudDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KEh5cFNlbGVjdG9ycy51cmwpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgodXJsKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucHV0PHZvaWQ+KGVuY29kZVVSSShgJHt1cmx9L2V2ZW50cy9pZC8ke2V2ZW50LmlkfS9jbG9zZWApLCB7XG4gICAgICAgICAgaWQ6IHY0KCksXG4gICAgICAgICAgbWVzc2FnZTogY29tbWVudFxuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHN0YXR1c1Byb2NlZHVyZShwcm9jZWR1cmU6IEh5cFByb2NlZHVyZSwgc3RhdHVzOiBzdHJpbmcsIGNvbW1lbnQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChIeXBTZWxlY3RvcnMudXJsKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHVybCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnB1dDx2b2lkPihlbmNvZGVVUkkoYCR7dXJsfS9wcm9jZWR1cmVzL2lkLyR7cHJvY2VkdXJlLmlkfS9jbG9zZWApLCB7XG4gICAgICAgICAgaWQ6IHY0KCksXG4gICAgICAgICAgbWVzc2FnZTogY29tbWVudFxuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGFzc29jaWF0ZVByb2NlZHVyZShwcm9jZWR1cmVJZDogbnVtYmVyLCBldmVudElkczogbnVtYmVyW10pIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoSHlwU2VsZWN0b3JzLnVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wdXQ8SHlwUHJvY2VkdXJlPihcbiAgICAgICAgICBlbmNvZGVVUkkoYCR7dXJsfS9wcm9jZWR1cmVzL21vZGVsL2lkLyR7cHJvY2VkdXJlSWR9L2Fzc29jaWF0ZWApLFxuICAgICAgICAgIGV2ZW50SWRzXG4gICAgICAgICk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBleHBvcnQoYXJjaGl2ZWQ6IGJvb2xlYW4pIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoSHlwU2VsZWN0b3JzLnVybCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh1cmwpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoZW5jb2RlVVJJKGAke3VybH0vZXZlbnRzL2V4cG9ydD9hcmNoaXZlZD0ke2FyY2hpdmVkfWApLCB7XG4gICAgICAgICAgb2JzZXJ2ZTogJ3Jlc3BvbnNlJyxcbiAgICAgICAgICByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcidcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBzZWFyY2goc2VhcmNoOiBzdHJpbmcgfCB1bmRlZmluZWQsIGZpZWxkczogc3RyaW5nW10sIHN0YXR1c2VzOiBzdHJpbmdbXSA9IFtdKTogT2JzZXJ2YWJsZTxIeXBFdmVudERldGFpbHNbXT4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChIeXBTZWxlY3RvcnMudXJsKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHVybCkgPT4ge1xuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnc29ydCcsICduYW1lJykuc2V0KCdvcmRlcicsICdERVNDJykuc2V0KCdwYWdlU2l6ZScsICcxMCcpO1xuICAgICAgICBpZiAoc3RhdHVzZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHN0YXR1c2VzLmZvckVhY2goKHN0YXR1cykgPT4ge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnc3RhdHVzJywgc3RhdHVzKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2VhcmNoICYmIHNlYXJjaC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgZmllbGRzLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KGZpZWxkLCBzZWFyY2gpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PEh5cEV2ZW50RGV0YWlsc1tdPihlbmNvZGVVUkkoYCR7dXJsfS9ldmVudHNgKSwgeyBwYXJhbXMgfSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|