ca-components 0.0.90 → 0.0.92
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/lib/components/ca-activity-log-list/ca-activity-log-list.component.mjs +84 -9
- package/esm2022/lib/components/ca-activity-log-list/config/activity-log-search-filter.config.mjs +16 -0
- package/esm2022/lib/components/ca-activity-log-list/config/index.mjs +2 -0
- package/esm2022/lib/components/ca-activity-log-list/models/company-user-avatar-file.model.mjs +2 -0
- package/esm2022/lib/components/ca-activity-log-list/models/company-user.model.mjs +1 -1
- package/esm2022/lib/components/ca-activity-log-list/models/index.mjs +2 -1
- package/esm2022/lib/components/ca-activity-log-list/utils/pipes/company-user-name-transform.pipe.mjs +20 -0
- package/esm2022/lib/components/ca-activity-log-list/utils/pipes/index.mjs +2 -1
- package/esm2022/lib/components/ca-chart/ca-chart.component.mjs +57 -12
- package/esm2022/lib/components/ca-chart/config/ca-base-chart-dataset.config.mjs +3 -3
- package/esm2022/lib/components/ca-chart/config/index.mjs +1 -1
- package/esm2022/lib/components/ca-chart/enums/chart-colors-enum.mjs +3 -1
- package/esm2022/lib/components/ca-chart/enums/chart-event-properties-enum.mjs +5 -0
- package/esm2022/lib/components/ca-chart/enums/chart-event-types-enum.mjs +5 -0
- package/esm2022/lib/components/ca-chart/enums/chart-plugin-ids-enum.mjs +6 -0
- package/esm2022/lib/components/ca-chart/enums/chart-types-enum.mjs +1 -1
- package/esm2022/lib/components/ca-chart/enums/cubic-interpolation-mode-enum.mjs +1 -1
- package/esm2022/lib/components/ca-chart/enums/index.mjs +4 -1
- package/esm2022/lib/components/ca-chart/models/chart-base-dataset.model.mjs +1 -1
- package/esm2022/lib/components/ca-chart/models/chart-data.model.mjs +1 -1
- package/esm2022/lib/components/ca-chart/models/chart-line-dataset.model.mjs +1 -1
- package/esm2022/lib/components/ca-chart/models/index.mjs +1 -1
- package/esm2022/lib/components/ca-chart/utils/guards/chart-type.guard.mjs +2 -2
- package/esm2022/lib/components/ca-chart/utils/guards/index.mjs +2 -2
- package/esm2022/lib/components/ca-chart/utils/helpers/chart.helper.mjs +55 -9
- package/esm2022/lib/components/ca-chart/utils/helpers/index.mjs +2 -2
- package/esm2022/lib/components/ca-filters/components/ca-user-filter/models/index.mjs +3 -0
- package/esm2022/lib/components/ca-right-side-panel/ca-right-side-panel.component.mjs +46 -12
- package/esm2022/lib/components/ca-right-side-panel/components/ca-right-side-panel-menu/ca-right-side-panel-menu.component.mjs +10 -7
- package/esm2022/lib/components/ca-right-side-panel/components/ca-right-side-panel-top-bar/ca-right-side-panel-top-bar.component.mjs +209 -22
- package/esm2022/lib/components/ca-right-side-panel/config/ca-right-side-panel.config.mjs +2 -2
- package/esm2022/lib/components/ca-right-side-panel/enums/activity-log-sort-type.enum.mjs +6 -0
- package/esm2022/lib/components/ca-right-side-panel/enums/filter-type.enum.mjs +8 -0
- package/esm2022/lib/components/ca-right-side-panel/enums/index.mjs +5 -1
- package/esm2022/lib/components/ca-right-side-panel/enums/modules-filter-item-label.enum.mjs +5 -0
- package/esm2022/lib/components/ca-right-side-panel/enums/right-side-panel-current-tab.enum.mjs +1 -1
- package/esm2022/lib/components/ca-right-side-panel/enums/selected-module.enum.mjs +2 -2
- package/esm2022/lib/components/ca-right-side-panel/enums/time-filter-type.enum.mjs +11 -0
- package/esm2022/lib/components/ca-right-side-panel/models/action-filter/action-filter-input-data.model.mjs +2 -0
- package/esm2022/lib/components/ca-right-side-panel/models/activity-log-filter-params.model.mjs +2 -0
- package/esm2022/lib/components/ca-right-side-panel/models/activity-log-filter.model.mjs +2 -0
- package/esm2022/lib/components/ca-right-side-panel/models/index.mjs +10 -1
- package/esm2022/lib/components/ca-right-side-panel/models/module-filter/module-filter-activity-log.model.mjs +2 -0
- package/esm2022/lib/components/ca-right-side-panel/models/module-filter/module-filter-input-data.model.mjs +2 -0
- package/esm2022/lib/components/ca-right-side-panel/models/navigation-item.model.mjs +1 -1
- package/esm2022/lib/components/ca-right-side-panel/models/time-filter/time-filter-event.model.mjs +2 -0
- package/esm2022/lib/components/ca-right-side-panel/models/user-filter/user-filter-avatar-file.model.mjs +2 -0
- package/esm2022/lib/components/ca-right-side-panel/models/user-filter/user-filter-data.model.mjs +2 -0
- package/esm2022/lib/components/ca-right-side-panel/models/user-filter/user-filter-input-data.model.mjs +2 -0
- package/esm2022/lib/components/ca-right-side-panel/utils/svg-routes/index.mjs +2 -0
- package/esm2022/lib/components/ca-right-side-panel/utils/svg-routes/right-side-panel-top-bar-svg.routes.mjs +10 -0
- package/fesm2022/ca-components.mjs +545 -79
- package/fesm2022/ca-components.mjs.map +1 -1
- package/lib/components/ca-activity-log-list/ca-activity-log-list.component.d.ts +28 -4
- package/lib/components/ca-activity-log-list/config/activity-log-search-filter.config.d.ts +5 -0
- package/lib/components/ca-activity-log-list/config/index.d.ts +1 -0
- package/lib/components/ca-activity-log-list/models/company-user-avatar-file.model.d.ts +9 -0
- package/lib/components/ca-activity-log-list/models/company-user.model.d.ts +2 -1
- package/lib/components/ca-activity-log-list/models/index.d.ts +1 -0
- package/lib/components/ca-activity-log-list/utils/pipes/company-user-name-transform.pipe.d.ts +7 -0
- package/lib/components/ca-activity-log-list/utils/pipes/index.d.ts +1 -0
- package/lib/components/ca-chart/ca-chart.component.d.ts +3 -1
- package/lib/components/ca-chart/config/ca-base-chart-dataset.config.d.ts +1 -1
- package/lib/components/ca-chart/enums/chart-colors-enum.d.ts +3 -1
- package/lib/components/ca-chart/enums/chart-event-properties-enum.d.ts +3 -0
- package/lib/components/ca-chart/enums/chart-event-types-enum.d.ts +3 -0
- package/lib/components/ca-chart/enums/chart-plugin-ids-enum.d.ts +4 -0
- package/lib/components/ca-chart/enums/index.d.ts +3 -0
- package/lib/components/ca-chart/models/chart-base-dataset.model.d.ts +2 -1
- package/lib/components/ca-chart/models/chart-data.model.d.ts +1 -1
- package/lib/components/ca-chart/models/chart-line-dataset.model.d.ts +5 -1
- package/lib/components/ca-chart/utils/guards/chart-type.guard.d.ts +1 -1
- package/lib/components/ca-chart/utils/guards/index.d.ts +1 -1
- package/lib/components/ca-chart/utils/helpers/chart.helper.d.ts +7 -1
- package/lib/components/ca-chart/utils/helpers/index.d.ts +1 -1
- package/lib/components/ca-filters/ca-filter.component.d.ts +2 -2
- package/lib/components/ca-filters/components/ca-user-filter/models/index.d.ts +2 -0
- package/lib/components/ca-right-side-panel/ca-right-side-panel.component.d.ts +11 -5
- package/lib/components/ca-right-side-panel/components/ca-right-side-panel-menu/ca-right-side-panel-menu.component.d.ts +2 -1
- package/lib/components/ca-right-side-panel/components/ca-right-side-panel-top-bar/ca-right-side-panel-top-bar.component.d.ts +37 -8
- package/lib/components/ca-right-side-panel/enums/activity-log-sort-type.enum.d.ts +4 -0
- package/lib/components/ca-right-side-panel/enums/filter-type.enum.d.ts +6 -0
- package/lib/components/ca-right-side-panel/enums/index.d.ts +4 -0
- package/lib/components/ca-right-side-panel/enums/modules-filter-item-label.enum.d.ts +3 -0
- package/lib/components/ca-right-side-panel/enums/selected-module.enum.d.ts +1 -1
- package/lib/components/ca-right-side-panel/enums/time-filter-type.enum.d.ts +9 -0
- package/lib/components/ca-right-side-panel/models/action-filter/action-filter-input-data.model.d.ts +7 -0
- package/lib/components/ca-right-side-panel/models/activity-log-filter-params.model.d.ts +11 -0
- package/lib/components/ca-right-side-panel/models/activity-log-filter.model.d.ts +6 -0
- package/lib/components/ca-right-side-panel/models/index.d.ts +9 -0
- package/lib/components/ca-right-side-panel/models/module-filter/module-filter-activity-log.model.d.ts +6 -0
- package/lib/components/ca-right-side-panel/models/module-filter/module-filter-input-data.model.d.ts +5 -0
- package/lib/components/ca-right-side-panel/models/navigation-item.model.d.ts +1 -1
- package/lib/components/ca-right-side-panel/models/time-filter/time-filter-event.model.d.ts +8 -0
- package/lib/components/ca-right-side-panel/models/user-filter/user-filter-avatar-file.model.d.ts +9 -0
- package/lib/components/ca-right-side-panel/models/user-filter/user-filter-data.model.d.ts +7 -0
- package/lib/components/ca-right-side-panel/models/user-filter/user-filter-input-data.model.d.ts +7 -0
- package/lib/components/ca-right-side-panel/utils/svg-routes/index.d.ts +1 -0
- package/lib/components/ca-right-side-panel/utils/svg-routes/right-side-panel-top-bar-svg.routes.d.ts +9 -0
- package/package.json +1 -1
- package/src/assets/ca-components/svg/common/ic_action.svg +3 -0
- package/src/assets/ca-components/svg/common/ic_module.svg +5 -0
- package/src/assets/ca-components/svg/right-side-panel/ic_reload_refresh.svg +3 -0
|
@@ -1,26 +1,34 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
2
|
import { HttpClientModule } from '@angular/common/http';
|
|
3
|
-
import { Component, Input } from '@angular/core';
|
|
3
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
4
4
|
// components
|
|
5
5
|
import { CaRightSidePanelMenuComponent } from './components/ca-right-side-panel-menu/ca-right-side-panel-menu.component';
|
|
6
6
|
import { CaActivityLogListComponent } from '../ca-activity-log-list/ca-activity-log-list.component';
|
|
7
7
|
import { CaRightSidePanelTopBarComponent } from './components/ca-right-side-panel-top-bar/ca-right-side-panel-top-bar.component';
|
|
8
8
|
// enums
|
|
9
|
-
import { RightSidePanelCurrentTab, SelectedModule } from './enums';
|
|
9
|
+
import { ActivityLogSortType, RightSidePanelCurrentTab, SelectedModule, } from './enums';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
import * as i1 from "@angular/common";
|
|
12
12
|
export class CaRightSidePanelComponent {
|
|
13
13
|
constructor() {
|
|
14
|
+
this._activityLogFilterParams = {
|
|
15
|
+
companyUserIds: [],
|
|
16
|
+
actionLogIds: [],
|
|
17
|
+
entityTypeActivityIds: [],
|
|
18
|
+
sort: ActivityLogSortType.DESCENDING,
|
|
19
|
+
userFilterType: RightSidePanelCurrentTab.PERSONAL,
|
|
20
|
+
dateFrom: null,
|
|
21
|
+
dateTo: null,
|
|
22
|
+
search: null,
|
|
23
|
+
};
|
|
24
|
+
this.activityLogFilterParams = new EventEmitter();
|
|
25
|
+
this.selectedTab = RightSidePanelCurrentTab.PERSONAL;
|
|
14
26
|
this.isPinned = false;
|
|
15
27
|
this.SelectedModule = SelectedModule;
|
|
16
28
|
}
|
|
17
|
-
ngOnInit() {
|
|
18
|
-
this.setSelectedTab();
|
|
19
|
-
}
|
|
20
|
-
setSelectedTab() {
|
|
21
|
-
this.selectedTab = RightSidePanelCurrentTab.PERSONAL;
|
|
22
|
-
}
|
|
23
29
|
selectedNavEvent(selectedNav) {
|
|
30
|
+
if (!selectedNav)
|
|
31
|
+
this.selectedTab = RightSidePanelCurrentTab.PERSONAL;
|
|
24
32
|
this.selectedNav = selectedNav;
|
|
25
33
|
}
|
|
26
34
|
selectedTabEvent(selectedTab) {
|
|
@@ -29,10 +37,28 @@ export class CaRightSidePanelComponent {
|
|
|
29
37
|
pinSidebarEvent(isPinned) {
|
|
30
38
|
this.isPinned = isPinned;
|
|
31
39
|
}
|
|
40
|
+
setActivityLogFilterParams(activityLogFilterParams) {
|
|
41
|
+
this._activityLogFilterParams.companyUserIds =
|
|
42
|
+
activityLogFilterParams.companyUserIds;
|
|
43
|
+
this._activityLogFilterParams.actionLogIds =
|
|
44
|
+
activityLogFilterParams.actionLogIds;
|
|
45
|
+
this._activityLogFilterParams.entityTypeActivityIds =
|
|
46
|
+
activityLogFilterParams.entityTypeActivityIds;
|
|
47
|
+
this._activityLogFilterParams.sort = activityLogFilterParams.sort;
|
|
48
|
+
this._activityLogFilterParams.userFilterType =
|
|
49
|
+
activityLogFilterParams.userFilterType;
|
|
50
|
+
this._activityLogFilterParams.dateFrom = activityLogFilterParams.dateFrom;
|
|
51
|
+
this._activityLogFilterParams.dateTo = activityLogFilterParams.dateTo;
|
|
52
|
+
this.activityLogFilterParams.emit(this._activityLogFilterParams);
|
|
53
|
+
}
|
|
54
|
+
searchEvent(searchText) {
|
|
55
|
+
this._activityLogFilterParams.search = searchText;
|
|
56
|
+
this.activityLogFilterParams.emit(this._activityLogFilterParams);
|
|
57
|
+
}
|
|
32
58
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CaRightSidePanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CaRightSidePanelComponent, isStandalone: true, selector: "lib-ca-right-side-panel", inputs: { data: "data" }, ngImport: i0, template: "<div class=\"side-panel-container-box\" [class.with-side-bar]=\"isPinned\">\n <div\n class=\"side-panel-container d-flex flex-column\"\n [class.side-panel-pinned]=\"isPinned\"\n >\n <ng-container *ngIf=\"selectedNav\">\n <lib-ca-right-side-panel-top-bar\n [
|
|
59
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CaRightSidePanelComponent, isStandalone: true, selector: "lib-ca-right-side-panel", inputs: { data: "data", usersFilter: "usersFilter", modulesFilter: "modulesFilter", actionsFilter: "actionsFilter" }, outputs: { activityLogFilterParams: "activityLogFilterParams" }, ngImport: i0, template: "<div class=\"side-panel-container-box\" [class.with-side-bar]=\"isPinned\">\n <div\n class=\"side-panel-container d-flex flex-column\"\n [class.side-panel-pinned]=\"isPinned\"\n >\n <ng-container *ngIf=\"selectedNav\">\n <lib-ca-right-side-panel-top-bar\n [selectedModule]=\"selectedNav\"\n [usersFilter]=\"usersFilter\"\n [modulesFilter]=\"modulesFilter\"\n [actionsFilter]=\"actionsFilter\"\n (selectedTab)=\"selectedTabEvent($event)\"\n (activityLogFilterParams)=\"setActivityLogFilterParams($event)\"\n ></lib-ca-right-side-panel-top-bar>\n </ng-container>\n\n <ng-container *ngIf=\"selectedNav == SelectedModule.ACTIVITY_LOG\">\n <lib-ca-activity-log-list\n [activityLogList]=\"data\"\n [selectedTab]=\"selectedTab\"\n (searchText)=\"searchEvent($event)\"\n ></lib-ca-activity-log-list>\n </ng-container>\n\n <lib-ca-right-side-panel-menu\n (selectedNav)=\"selectedNavEvent($event)\"\n (isPinned)=\"pinSidebarEvent($event)\"\n ></lib-ca-right-side-panel-menu>\n </div>\n</div>\n", styles: [".side-panel-container-box.with-side-bar{margin-right:366px}.side-panel-container-box .side-panel-container{position:fixed;bottom:12px;right:12px;gap:4px;max-height:calc(100vh - 24px)}.side-panel-container-box .side-panel-container.side-panel-pinned{position:absolute;width:350px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: HttpClientModule }, { kind: "component", type:
|
|
34
60
|
// Components
|
|
35
|
-
CaRightSidePanelMenuComponent, selector: "lib-ca-right-side-panel-menu", outputs: ["selectedNav", "isPinned"] }, { kind: "component", type: CaActivityLogListComponent, selector: "lib-ca-activity-log-list", inputs: ["activityLogList", "selectedTab"] }, { kind: "component", type: CaRightSidePanelTopBarComponent, selector: "lib-ca-right-side-panel-top-bar", inputs: ["
|
|
61
|
+
CaRightSidePanelMenuComponent, selector: "lib-ca-right-side-panel-menu", outputs: ["selectedNav", "isPinned"] }, { kind: "component", type: CaActivityLogListComponent, selector: "lib-ca-activity-log-list", inputs: ["activityLogList", "selectedTab"], outputs: ["searchText"] }, { kind: "component", type: CaRightSidePanelTopBarComponent, selector: "lib-ca-right-side-panel-top-bar", inputs: ["selectedModule", "usersFilter", "modulesFilter", "actionsFilter"], outputs: ["selectedTab", "activityLogFilterParams"] }] }); }
|
|
36
62
|
}
|
|
37
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CaRightSidePanelComponent, decorators: [{
|
|
38
64
|
type: Component,
|
|
@@ -43,8 +69,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
43
69
|
CaRightSidePanelMenuComponent,
|
|
44
70
|
CaActivityLogListComponent,
|
|
45
71
|
CaRightSidePanelTopBarComponent,
|
|
46
|
-
], template: "<div class=\"side-panel-container-box\" [class.with-side-bar]=\"isPinned\">\n <div\n class=\"side-panel-container d-flex flex-column\"\n [class.side-panel-pinned]=\"isPinned\"\n >\n <ng-container *ngIf=\"selectedNav\">\n <lib-ca-right-side-panel-top-bar\n [
|
|
72
|
+
], template: "<div class=\"side-panel-container-box\" [class.with-side-bar]=\"isPinned\">\n <div\n class=\"side-panel-container d-flex flex-column\"\n [class.side-panel-pinned]=\"isPinned\"\n >\n <ng-container *ngIf=\"selectedNav\">\n <lib-ca-right-side-panel-top-bar\n [selectedModule]=\"selectedNav\"\n [usersFilter]=\"usersFilter\"\n [modulesFilter]=\"modulesFilter\"\n [actionsFilter]=\"actionsFilter\"\n (selectedTab)=\"selectedTabEvent($event)\"\n (activityLogFilterParams)=\"setActivityLogFilterParams($event)\"\n ></lib-ca-right-side-panel-top-bar>\n </ng-container>\n\n <ng-container *ngIf=\"selectedNav == SelectedModule.ACTIVITY_LOG\">\n <lib-ca-activity-log-list\n [activityLogList]=\"data\"\n [selectedTab]=\"selectedTab\"\n (searchText)=\"searchEvent($event)\"\n ></lib-ca-activity-log-list>\n </ng-container>\n\n <lib-ca-right-side-panel-menu\n (selectedNav)=\"selectedNavEvent($event)\"\n (isPinned)=\"pinSidebarEvent($event)\"\n ></lib-ca-right-side-panel-menu>\n </div>\n</div>\n", styles: [".side-panel-container-box.with-side-bar{margin-right:366px}.side-panel-container-box .side-panel-container{position:fixed;bottom:12px;right:12px;gap:4px;max-height:calc(100vh - 24px)}.side-panel-container-box .side-panel-container.side-panel-pinned{position:absolute;width:350px}\n"] }]
|
|
47
73
|
}], propDecorators: { data: [{
|
|
48
74
|
type: Input
|
|
75
|
+
}], usersFilter: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}], modulesFilter: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}], actionsFilter: [{
|
|
80
|
+
type: Input
|
|
81
|
+
}], activityLogFilterParams: [{
|
|
82
|
+
type: Output
|
|
49
83
|
}] } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtcmlnaHQtc2lkZS1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1yaWdodC1zaWRlLXBhbmVsL2NhLXJpZ2h0LXNpZGUtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtcmlnaHQtc2lkZS1wYW5lbC9jYS1yaWdodC1zaWRlLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLGFBQWE7QUFDYixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUN6SCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNwRyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxnRkFBZ0YsQ0FBQztBQVdqSSxRQUFRO0FBQ1IsT0FBTyxFQUNMLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsY0FBYyxHQUNmLE1BQU0sU0FBUyxDQUFDOzs7QUFpQmpCLE1BQU0sT0FBTyx5QkFBeUI7SUFmdEM7UUFnQlMsNkJBQXdCLEdBQTRCO1lBQ3pELGNBQWMsRUFBRSxFQUFFO1lBQ2xCLFlBQVksRUFBRSxFQUFFO1lBQ2hCLHFCQUFxQixFQUFFLEVBQUU7WUFDekIsSUFBSSxFQUFFLG1CQUFtQixDQUFDLFVBQVU7WUFDcEMsY0FBYyxFQUFFLHdCQUF3QixDQUFDLFFBQVE7WUFDakQsUUFBUSxFQUFFLElBQUk7WUFDZCxNQUFNLEVBQUUsSUFBSTtZQUNaLE1BQU0sRUFBRSxJQUFJO1NBQ2IsQ0FBQztRQU9RLDRCQUF1QixHQUMvQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBR2QsZ0JBQVcsR0FDaEIsd0JBQXdCLENBQUMsUUFBUSxDQUFDO1FBQzdCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsbUJBQWMsR0FBRyxjQUFjLENBQUM7S0FvQ3hDO0lBbENRLGdCQUFnQixDQUFDLFdBQTJCO1FBQ2pELElBQUksQ0FBQyxXQUFXO1lBQUUsSUFBSSxDQUFDLFdBQVcsR0FBRyx3QkFBd0IsQ0FBQyxRQUFRLENBQUM7UUFDdkUsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FBQztJQUVNLGdCQUFnQixDQUFDLFdBQXFDO1FBQzNELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxlQUFlLENBQUMsUUFBaUI7UUFDdEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVNLDBCQUEwQixDQUMvQix1QkFBZ0Q7UUFFaEQsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGNBQWM7WUFDMUMsdUJBQXVCLENBQUMsY0FBYyxDQUFDO1FBQ3pDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZO1lBQ3hDLHVCQUF1QixDQUFDLFlBQVksQ0FBQztRQUN2QyxJQUFJLENBQUMsd0JBQXdCLENBQUMscUJBQXFCO1lBQ2pELHVCQUF1QixDQUFDLHFCQUFxQixDQUFDO1FBQ2hELElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLEdBQUcsdUJBQXVCLENBQUMsSUFBSSxDQUFDO1FBQ2xFLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxjQUFjO1lBQzFDLHVCQUF1QixDQUFDLGNBQWMsQ0FBQztRQUN6QyxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxHQUFHLHVCQUF1QixDQUFDLFFBQVEsQ0FBQztRQUMxRSxJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxHQUFHLHVCQUF1QixDQUFDLE1BQU0sQ0FBQztRQUN0RSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTSxXQUFXLENBQUMsVUFBa0I7UUFDbkMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUM7UUFDbEQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUNuRSxDQUFDOytHQTNEVSx5QkFBeUI7bUdBQXpCLHlCQUF5QiwwUUN4Q3RDLGlsQ0E4QkEsa1ZEQ0ksWUFBWSxrSUFDWixnQkFBZ0I7Z0JBRWhCLGFBQWE7Z0JBQ2IsNkJBQTZCLCtHQUM3QiwwQkFBMEIsMElBQzFCLCtCQUErQjs7NEZBR3RCLHlCQUF5QjtrQkFmckMsU0FBUzsrQkFDRSx5QkFBeUIsY0FHdkIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUVoQixhQUFhO3dCQUNiLDZCQUE2Qjt3QkFDN0IsMEJBQTBCO3dCQUMxQiwrQkFBK0I7cUJBQ2hDOzhCQWNRLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFSSx1QkFBdUI7c0JBQWhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vIGNvbXBvbmVudHNcbmltcG9ydCB7IENhUmlnaHRTaWRlUGFuZWxNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLXJpZ2h0LXNpZGUtcGFuZWwtbWVudS9jYS1yaWdodC1zaWRlLXBhbmVsLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IENhQWN0aXZpdHlMb2dMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vY2EtYWN0aXZpdHktbG9nLWxpc3QvY2EtYWN0aXZpdHktbG9nLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IENhUmlnaHRTaWRlUGFuZWxUb3BCYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtcmlnaHQtc2lkZS1wYW5lbC10b3AtYmFyL2NhLXJpZ2h0LXNpZGUtcGFuZWwtdG9wLWJhci5jb21wb25lbnQnO1xuXG4vLyBtb2RlbHNcbmltcG9ydCB7IEFjdGl2aXR5TG9nSXRlbSB9IGZyb20gJy4uL2NhLWFjdGl2aXR5LWxvZy1saXN0L21vZGVscyc7XG5pbXBvcnQge1xuICBBY3Rpb25GaWx0ZXJJbnB1dERhdGEsXG4gIEFjdGl2aXR5TG9nRmlsdGVyUGFyYW1zLFxuICBNb2R1bGVGaWx0ZXJJbnB1dERhdGEsXG4gIFVzZXJGaWx0ZXJJbnB1dERhdGEsXG59IGZyb20gJy4vbW9kZWxzJztcblxuLy8gZW51bXNcbmltcG9ydCB7XG4gIEFjdGl2aXR5TG9nU29ydFR5cGUsXG4gIFJpZ2h0U2lkZVBhbmVsQ3VycmVudFRhYixcbiAgU2VsZWN0ZWRNb2R1bGUsXG59IGZyb20gJy4vZW51bXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItY2EtcmlnaHQtc2lkZS1wYW5lbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYS1yaWdodC1zaWRlLXBhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2EtcmlnaHQtc2lkZS1wYW5lbC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEh0dHBDbGllbnRNb2R1bGUsXG5cbiAgICAvLyBDb21wb25lbnRzXG4gICAgQ2FSaWdodFNpZGVQYW5lbE1lbnVDb21wb25lbnQsXG4gICAgQ2FBY3Rpdml0eUxvZ0xpc3RDb21wb25lbnQsXG4gICAgQ2FSaWdodFNpZGVQYW5lbFRvcEJhckNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FSaWdodFNpZGVQYW5lbENvbXBvbmVudCB7XG4gIHB1YmxpYyBfYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXM6IEFjdGl2aXR5TG9nRmlsdGVyUGFyYW1zID0ge1xuICAgIGNvbXBhbnlVc2VySWRzOiBbXSxcbiAgICBhY3Rpb25Mb2dJZHM6IFtdLFxuICAgIGVudGl0eVR5cGVBY3Rpdml0eUlkczogW10sXG4gICAgc29ydDogQWN0aXZpdHlMb2dTb3J0VHlwZS5ERVNDRU5ESU5HLFxuICAgIHVzZXJGaWx0ZXJUeXBlOiBSaWdodFNpZGVQYW5lbEN1cnJlbnRUYWIuUEVSU09OQUwsXG4gICAgZGF0ZUZyb206IG51bGwsXG4gICAgZGF0ZVRvOiBudWxsLFxuICAgIHNlYXJjaDogbnVsbCxcbiAgfTtcblxuICBASW5wdXQoKSBkYXRhITogQWN0aXZpdHlMb2dJdGVtW107XG4gIEBJbnB1dCgpIHVzZXJzRmlsdGVyITogVXNlckZpbHRlcklucHV0RGF0YVtdO1xuICBASW5wdXQoKSBtb2R1bGVzRmlsdGVyITogTW9kdWxlRmlsdGVySW5wdXREYXRhW107XG4gIEBJbnB1dCgpIGFjdGlvbnNGaWx0ZXIhOiBBY3Rpb25GaWx0ZXJJbnB1dERhdGFbXTtcblxuICBAT3V0cHV0KCkgYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXM6IEV2ZW50RW1pdHRlcjxBY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcz4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgc2VsZWN0ZWROYXY/OiBTZWxlY3RlZE1vZHVsZTtcbiAgcHVibGljIHNlbGVjdGVkVGFiOiBSaWdodFNpZGVQYW5lbEN1cnJlbnRUYWIgPVxuICAgIFJpZ2h0U2lkZVBhbmVsQ3VycmVudFRhYi5QRVJTT05BTDtcbiAgcHVibGljIGlzUGlubmVkOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBTZWxlY3RlZE1vZHVsZSA9IFNlbGVjdGVkTW9kdWxlO1xuXG4gIHB1YmxpYyBzZWxlY3RlZE5hdkV2ZW50KHNlbGVjdGVkTmF2OiBTZWxlY3RlZE1vZHVsZSk6IHZvaWQge1xuICAgIGlmICghc2VsZWN0ZWROYXYpIHRoaXMuc2VsZWN0ZWRUYWIgPSBSaWdodFNpZGVQYW5lbEN1cnJlbnRUYWIuUEVSU09OQUw7XG4gICAgdGhpcy5zZWxlY3RlZE5hdiA9IHNlbGVjdGVkTmF2O1xuICB9XG5cbiAgcHVibGljIHNlbGVjdGVkVGFiRXZlbnQoc2VsZWN0ZWRUYWI6IFJpZ2h0U2lkZVBhbmVsQ3VycmVudFRhYik6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBzZWxlY3RlZFRhYjtcbiAgfVxuXG4gIHB1YmxpYyBwaW5TaWRlYmFyRXZlbnQoaXNQaW5uZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzUGlubmVkID0gaXNQaW5uZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0QWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMoXG4gICAgYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXM6IEFjdGl2aXR5TG9nRmlsdGVyUGFyYW1zXG4gICk6IHZvaWQge1xuICAgIHRoaXMuX2FjdGl2aXR5TG9nRmlsdGVyUGFyYW1zLmNvbXBhbnlVc2VySWRzID1cbiAgICAgIGFjdGl2aXR5TG9nRmlsdGVyUGFyYW1zLmNvbXBhbnlVc2VySWRzO1xuICAgIHRoaXMuX2FjdGl2aXR5TG9nRmlsdGVyUGFyYW1zLmFjdGlvbkxvZ0lkcyA9XG4gICAgICBhY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcy5hY3Rpb25Mb2dJZHM7XG4gICAgdGhpcy5fYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMuZW50aXR5VHlwZUFjdGl2aXR5SWRzID1cbiAgICAgIGFjdGl2aXR5TG9nRmlsdGVyUGFyYW1zLmVudGl0eVR5cGVBY3Rpdml0eUlkcztcbiAgICB0aGlzLl9hY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcy5zb3J0ID0gYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMuc29ydDtcbiAgICB0aGlzLl9hY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcy51c2VyRmlsdGVyVHlwZSA9XG4gICAgICBhY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcy51c2VyRmlsdGVyVHlwZTtcbiAgICB0aGlzLl9hY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcy5kYXRlRnJvbSA9IGFjdGl2aXR5TG9nRmlsdGVyUGFyYW1zLmRhdGVGcm9tO1xuICAgIHRoaXMuX2FjdGl2aXR5TG9nRmlsdGVyUGFyYW1zLmRhdGVUbyA9IGFjdGl2aXR5TG9nRmlsdGVyUGFyYW1zLmRhdGVUbztcbiAgICB0aGlzLmFjdGl2aXR5TG9nRmlsdGVyUGFyYW1zLmVtaXQodGhpcy5fYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMpO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaEV2ZW50KHNlYXJjaFRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX2FjdGl2aXR5TG9nRmlsdGVyUGFyYW1zLnNlYXJjaCA9IHNlYXJjaFRleHQ7XG4gICAgdGhpcy5hY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcy5lbWl0KHRoaXMuX2FjdGl2aXR5TG9nRmlsdGVyUGFyYW1zKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNpZGUtcGFuZWwtY29udGFpbmVyLWJveFwiIFtjbGFzcy53aXRoLXNpZGUtYmFyXT1cImlzUGlubmVkXCI+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNpZGUtcGFuZWwtY29udGFpbmVyIGQtZmxleCBmbGV4LWNvbHVtblwiXG4gICAgW2NsYXNzLnNpZGUtcGFuZWwtcGlubmVkXT1cImlzUGlubmVkXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZE5hdlwiPlxuICAgICAgPGxpYi1jYS1yaWdodC1zaWRlLXBhbmVsLXRvcC1iYXJcbiAgICAgICAgW3NlbGVjdGVkTW9kdWxlXT1cInNlbGVjdGVkTmF2XCJcbiAgICAgICAgW3VzZXJzRmlsdGVyXT1cInVzZXJzRmlsdGVyXCJcbiAgICAgICAgW21vZHVsZXNGaWx0ZXJdPVwibW9kdWxlc0ZpbHRlclwiXG4gICAgICAgIFthY3Rpb25zRmlsdGVyXT1cImFjdGlvbnNGaWx0ZXJcIlxuICAgICAgICAoc2VsZWN0ZWRUYWIpPVwic2VsZWN0ZWRUYWJFdmVudCgkZXZlbnQpXCJcbiAgICAgICAgKGFjdGl2aXR5TG9nRmlsdGVyUGFyYW1zKT1cInNldEFjdGl2aXR5TG9nRmlsdGVyUGFyYW1zKCRldmVudClcIlxuICAgICAgPjwvbGliLWNhLXJpZ2h0LXNpZGUtcGFuZWwtdG9wLWJhcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZE5hdiA9PSBTZWxlY3RlZE1vZHVsZS5BQ1RJVklUWV9MT0dcIj5cbiAgICAgIDxsaWItY2EtYWN0aXZpdHktbG9nLWxpc3RcbiAgICAgICAgW2FjdGl2aXR5TG9nTGlzdF09XCJkYXRhXCJcbiAgICAgICAgW3NlbGVjdGVkVGFiXT1cInNlbGVjdGVkVGFiXCJcbiAgICAgICAgKHNlYXJjaFRleHQpPVwic2VhcmNoRXZlbnQoJGV2ZW50KVwiXG4gICAgICA+PC9saWItY2EtYWN0aXZpdHktbG9nLWxpc3Q+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bGliLWNhLXJpZ2h0LXNpZGUtcGFuZWwtbWVudVxuICAgICAgKHNlbGVjdGVkTmF2KT1cInNlbGVjdGVkTmF2RXZlbnQoJGV2ZW50KVwiXG4gICAgICAoaXNQaW5uZWQpPVwicGluU2lkZWJhckV2ZW50KCRldmVudClcIlxuICAgID48L2xpYi1jYS1yaWdodC1zaWRlLXBhbmVsLW1lbnU+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|