@rosoftlab/rdict 1.0.0-alpha-17 → 1.0.1-alpha-2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,285 +0,0 @@
1
- import { Component, ElementRef, EventEmitter, Injector, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
2
- import { MatPaginator } from '@angular/material/paginator';
3
- import { MatSort } from '@angular/material/sort';
4
- import { ActivatedRoute, NavigationStart, Router, RouterModule, UrlSegment } from '@angular/router';
5
- import { TranslateModule, TranslateService } from '@ngx-translate/core';
6
- // import { Rule } from '@rosoftlab/core';
7
- import { CommonModule } from '@angular/common';
8
- import { KENDO_GRID } from '@progress/kendo-angular-grid';
9
- import { KENDO_LABEL } from '@progress/kendo-angular-label';
10
- import { KENDO_TOOLBAR } from '@progress/kendo-angular-toolbar';
11
- import { ColumnMode, SelectionType } from '@swimlane/ngx-datatable';
12
- import { ReactiveDictionary } from '../../reactive-dictionary';
13
- import { WsAuthService } from '../../services';
14
- import { SocketService } from '../../services/socket.service';
15
- import { RdictTableTitle } from './rdict-table-title';
16
- import * as i0 from "@angular/core";
17
- import * as i1 from "@angular/router";
18
- import * as i2 from "@ngx-translate/core";
19
- import * as i3 from "../../services/socket.service";
20
- import * as i4 from "../../services";
21
- import * as i5 from "@angular/common";
22
- import * as i6 from "@progress/kendo-angular-grid";
23
- import * as i7 from "@progress/kendo-angular-toolbar";
24
- export class GenericRdictTableComponent {
25
- constructor(router, route, translate, injector, socketService, wsAuthService, el) {
26
- this.router = router;
27
- this.route = route;
28
- this.translate = translate;
29
- this.injector = injector;
30
- this.socketService = socketService;
31
- this.wsAuthService = wsAuthService;
32
- this.el = el;
33
- this.editOnClick = false;
34
- this.editOnDblClick = false;
35
- this.data = [];
36
- this.pageIndex = 1;
37
- this.pageSize = 30;
38
- this.isLoadingResults = true;
39
- this.isRateLimitReached = false;
40
- // @ViewChild('table') table: MatTable<any>;
41
- // @ViewChild('table', { read: ElementRef }) public matTableRef: ElementRef;
42
- this.selectedObject = new EventEmitter();
43
- this.click = new EventEmitter();
44
- this.editModel = new EventEmitter();
45
- this.columns = [];
46
- this.tableLayout = {};
47
- this.allColumns = [];
48
- this.ColumnMode = ColumnMode;
49
- this.SelectionType = SelectionType;
50
- this.headerHeight = 50;
51
- this.rowHeight = 50;
52
- }
53
- async ngOnInit() {
54
- this.setValueFromSnapshot(this, this.route.snapshot, 'model', "");
55
- this.setValueFromSnapshot(this, this.route.snapshot, 'showSerach', false);
56
- this.setValueFromSnapshot(this, this.route.snapshot, 'searchFields', null);
57
- this.setValueFromSnapshot(this, this.route.snapshot, 'customInclude', null);
58
- this.setValueFromSnapshot(this, this.route.snapshot, 'defaultSort', null);
59
- this.setValueFromSnapshot(this, this.route.snapshot, 'defaultSortDirection', '');
60
- this.setValueFromSnapshot(this, this.route.snapshot, 'deletePropertyName', 'name');
61
- this.setValueFromSnapshot(this, this.route.snapshot, 'defaultFilter', null);
62
- this.setValueFromSnapshot(this, this.route.snapshot, 'showHeader', true);
63
- this.setValueFromSnapshot(this, this.route.snapshot, 'deleteDisableRule', null);
64
- this.setValueFromSnapshot(this, this.route.snapshot, 'hasAdd', true);
65
- this.setValueFromSnapshot(this, this.route.snapshot, 'canDelete', true);
66
- this.setValueFromSnapshot(this, this.route.snapshot, 'canEdit', true);
67
- this.setValueFromSnapshot(this, this.route.snapshot, 'editOnClick', false);
68
- this.setValueFromSnapshot(this, this.route.snapshot, 'editOnDblClick', false);
69
- const currentUrlSegments = this.router.url.split('/').map(segment => new UrlSegment(segment, {}));
70
- this.basePath = currentUrlSegments.map(segment => segment.path).join('/');
71
- const filteredSegments = currentUrlSegments.filter(segment => segment.path !== '');
72
- this.dictPath = filteredSegments.map(segment => segment.path).join('.');
73
- this.model = filteredSegments.length > 0 ? filteredSegments[filteredSegments.length - 1].path : ''; // Default to empty string if no valid segments
74
- this.router.events.subscribe(event => {
75
- if (event instanceof NavigationStart) {
76
- // Navigation to another page is about to occur
77
- this.data = [];
78
- this.pageIndex = 1;
79
- // Perform actions or update component as needed
80
- }
81
- });
82
- this.rdict = ReactiveDictionary.getInstance(this.socketService, this.wsAuthService.Token);
83
- if (this.rdict.size == 0)
84
- await this.rdict.asyncInit();
85
- await this.getListLayout();
86
- await this.loadData();
87
- // this.isLoading = true;
88
- // this.onScroll(0);
89
- }
90
- setValueFromSnapshot(component, snapshot, key, defaultValue) {
91
- if (component[key] === undefined) {
92
- let dataFromSnapshot = snapshot.data[key];
93
- if (dataFromSnapshot === null || dataFromSnapshot === undefined) {
94
- dataFromSnapshot = snapshot.params[key];
95
- }
96
- component[key] = dataFromSnapshot !== undefined ? dataFromSnapshot : defaultValue;
97
- }
98
- }
99
- async loadData() {
100
- var x = await this.rdict.getTable(this.dictPath);
101
- const result = x.map(dictionary => {
102
- // Convert Map to object and filter out __guid
103
- const filteredObject = {};
104
- for (const [key, value] of dictionary.entries()) {
105
- if (key !== '__guid') {
106
- filteredObject[key] = value;
107
- }
108
- }
109
- return filteredObject;
110
- });
111
- this.dataSource = result; //new MatTableDataSource(result);
112
- }
113
- // async handleChange(event) {
114
- // this.filterValue = event.target.value.toLowerCase();
115
- // this.data = [];
116
- // this.pageIndex = 1
117
- // this.loadData();
118
- // }
119
- // loadData(event = null) {
120
- // const filters = [];
121
- // let sorts = '';
122
- // this.isLoading = true;
123
- // if (this.defaultSort) {
124
- // if (this.defaultSortDirection === 'desc') {
125
- // sorts = '-' + this.defaultSort;
126
- // } else {
127
- // sorts = this.defaultSort;
128
- // }
129
- // }
130
- // if (this.showSerach) {
131
- // if (this.filterValue) {
132
- // const y = '(' + this.searchFields.replace(',', '|') + ')';
133
- // filters.push(y + '@=*' + this.filterValue);
134
- // }
135
- // }
136
- // if (this.defaultFilter) {
137
- // filters.push(this.defaultFilter)
138
- // }
139
- // setTimeout(() => {
140
- // const filtersValue = filters.join(', ');
141
- // this.modelService.getAll(this.pageIndex, this.pageSize, sorts, filtersValue, this.customInclude).subscribe(
142
- // (response: BaseQueryData<T>) => {
143
- // if (this.pageIndex !== response.getMeta().meta.count) {
144
- // this.pageIndex++
145
- // } else {
146
- // if (event) event.target.disabled = true;
147
- // }
148
- // // if (this.filterValue)
149
- // // this.data = response.getModels();
150
- // // else
151
- // const rows = [...this.data, ...response.getModels()];
152
- // this.data = rows;
153
- // // this.data = this.data.concat();
154
- // if (event) event.target.complete();
155
- // this.isLoading = false;
156
- // })
157
- // }, 700);
158
- // }
159
- // async handleRefresh(event) {
160
- // this.pageIndex = 1
161
- // this.data = [];
162
- // this.loadData();
163
- // event.target.complete();
164
- // }
165
- // onAdd() {
166
- // console.log(this.basePath)
167
- // this.router.navigate([this.basePath + '/add'])
168
- // // this.navCtrl.navigateForward(this.basePath + '/add');
169
- // }
170
- // editModel(model: BaseModelFormly) {
171
- // if (this.canEdit)
172
- // this.router.navigate([this.basePath + '/edit/', model.id]);
173
- // // this.navCtrl.navigateForward(this.basePath + '/edit/' + model.id);
174
- // }
175
- async getListLayout() {
176
- if (this.model) {
177
- this.tableLayout = await this.rdict.asyncGet("config.models." + this.model + ".tableLayout");
178
- if (this.tableLayout) {
179
- this.title = this.translate.instant(this.tableLayout["title"]);
180
- this.allColumns = this.tableLayout["columns"].map(item => {
181
- if (!item.isTranslated) {
182
- item.name = this.translate.instant(item.translateKey);
183
- item.isTranslated = true;
184
- }
185
- return item;
186
- });
187
- this.columns = [];
188
- // this.allColumns = Reflect.getMetadata('IonicDataTableLayout', this.model).map((item: IonicDataTableLayoutConfig) => {
189
- // if (!item.isTranslated) {
190
- // item.name = this.translate.instant(item.name);
191
- // item.isTranslated = true
192
- // }
193
- // return item;
194
- // });
195
- this.allColumns.sort((a, b) => a.order - b.order);
196
- // if (this.canDelete || this.canEdit) {
197
- // this.allColumns.push({
198
- // // cellTemplate: null,
199
- // name: '',
200
- // // cellClass: 'actions-cell',
201
- // draggable: false,
202
- // sortable: false,
203
- // visible: true
204
- // // width: 100,
205
- // // maxWidth: 100,
206
- // // minWidth: 100
207
- // })
208
- // }
209
- // this.columns = this.allColumns.filter((item: IonicDataTableLayoutConfig) => item.visible);
210
- this.displayedColumns = [];
211
- // if (this.allowReorderItems) {
212
- // this.displayedColumns.push('position')
213
- // }
214
- this.displayedColumns.push.apply(this.displayedColumns, this.allColumns.map(x => x.propertyName));
215
- }
216
- }
217
- }
218
- addHandler() {
219
- console.log("add");
220
- this.router.navigate([this.basePath + '/add']);
221
- // this.editDataItem = new Product();
222
- // this.isNew = true;
223
- }
224
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: GenericRdictTableComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.TranslateService }, { token: i0.Injector }, { token: i3.SocketService }, { token: i4.WsAuthService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
225
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: GenericRdictTableComponent, isStandalone: true, selector: "rsl-rdict-generic-table", inputs: { showSerach: "showSerach", searchFields: "searchFields", customInclude: "customInclude", defaultSort: "defaultSort", defaultSortDirection: "defaultSortDirection", deletePropertyName: "deletePropertyName", defaultFilter: "defaultFilter", showHeader: "showHeader", hasAdd: "hasAdd", canDelete: "canDelete", canEdit: "canEdit", editOnClick: "editOnClick", editOnDblClick: "editOnDblClick" }, outputs: { selectedObject: "selectedObject", click: "click", editModel: "editModel" }, providers: [], viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }, { propertyName: "filter", first: true, predicate: ElementRef, descendants: true }], ngImport: i0, template: "<kendo-grid [data]=\"dataSource\" \n [sortable]=\"true\" \n [filterable]=\"showSerach\"\n (add)=\"addHandler()\">\n <kendo-toolbar>\n <table-title text=\"{{title}}\"></table-title>\n <kendo-toolbar-messages>Test</kendo-toolbar-messages>\n <!-- <kendo-toolbar-separator></kendo-toolbar-separator> -->\n <kendo-toolbar-spacer></kendo-toolbar-spacer>\n <kendo-toolbar-button text=\"Add new\" kendoGridAddTool></kendo-toolbar-button>\n </kendo-toolbar>\n <!-- <kendo-toolbar>\n \n <kendo-toolbar-spacer></kendo-toolbar-spacer>\n <button kendoGridAddCommand type=\"button\">Add new</button>\n </kendo-toolbar> -->\n <kendo-grid-column *ngFor=\"let column of allColumns\" field=\"{{ column.propertyName }}\"\n title=\" {{column.translateKey | translate}}\">\n </kendo-grid-column>\n</kendo-grid>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type:
226
- // MatPaginatorModule,
227
- // MatTableModule,
228
- TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "component", type: i6.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "rowReorderable", "navigable", "navigatable", "autoSize", "rowClass", "rowSticky", "rowSelected", "isRowSelectable", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "isDetailExpanded", "isGroupExpanded"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "component", type: i6.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterable", "editable"] }, { kind: "directive", type: i6.AddCommandToolbarDirective, selector: "[kendoGridAddTool]" }, { kind: "component", type: i7.ToolBarComponent, selector: "kendo-toolbar", inputs: ["overflow", "resizable", "popupSettings", "fillMode", "tabindex", "size", "tabIndex"], outputs: ["open", "close"], exportAs: ["kendoToolBar"] }, { kind: "component", type: i7.ToolbarCustomMessagesComponent, selector: "kendo-toolbar-messages" }, { kind: "component", type: i7.ToolBarButtonComponent, selector: "kendo-toolbar-button", inputs: ["showText", "showIcon", "text", "style", "className", "title", "disabled", "toggleable", "look", "togglable", "selected", "fillMode", "themeColor", "icon", "iconClass", "svgIcon", "imageUrl"], outputs: ["click", "pointerdown", "selectedChange"], exportAs: ["kendoToolBarButton"] }, { kind: "component", type: i7.ToolBarSpacerComponent, selector: "kendo-toolbar-spacer", exportAs: ["kendoToolBarSpacer"] }, { kind: "component", type: RdictTableTitle, selector: "table-title", inputs: ["text"] }], encapsulation: i0.ViewEncapsulation.None }); }
229
- }
230
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: GenericRdictTableComponent, decorators: [{
231
- type: Component,
232
- args: [{ selector: 'rsl-rdict-generic-table', encapsulation: ViewEncapsulation.None, standalone: true, imports: [
233
- CommonModule,
234
- RouterModule,
235
- // MatPaginatorModule,
236
- // MatTableModule,
237
- TranslateModule,
238
- KENDO_GRID,
239
- KENDO_TOOLBAR,
240
- KENDO_LABEL,
241
- RdictTableTitle
242
- ], providers: [], template: "<kendo-grid [data]=\"dataSource\" \n [sortable]=\"true\" \n [filterable]=\"showSerach\"\n (add)=\"addHandler()\">\n <kendo-toolbar>\n <table-title text=\"{{title}}\"></table-title>\n <kendo-toolbar-messages>Test</kendo-toolbar-messages>\n <!-- <kendo-toolbar-separator></kendo-toolbar-separator> -->\n <kendo-toolbar-spacer></kendo-toolbar-spacer>\n <kendo-toolbar-button text=\"Add new\" kendoGridAddTool></kendo-toolbar-button>\n </kendo-toolbar>\n <!-- <kendo-toolbar>\n \n <kendo-toolbar-spacer></kendo-toolbar-spacer>\n <button kendoGridAddCommand type=\"button\">Add new</button>\n </kendo-toolbar> -->\n <kendo-grid-column *ngFor=\"let column of allColumns\" field=\"{{ column.propertyName }}\"\n title=\" {{column.translateKey | translate}}\">\n </kendo-grid-column>\n</kendo-grid>" }]
243
- }], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.TranslateService }, { type: i0.Injector }, { type: i3.SocketService }, { type: i4.WsAuthService }, { type: i0.ElementRef }], propDecorators: { showSerach: [{
244
- type: Input
245
- }], searchFields: [{
246
- type: Input
247
- }], customInclude: [{
248
- type: Input
249
- }], defaultSort: [{
250
- type: Input
251
- }], defaultSortDirection: [{
252
- type: Input
253
- }], deletePropertyName: [{
254
- type: Input
255
- }], defaultFilter: [{
256
- type: Input
257
- }], showHeader: [{
258
- type: Input
259
- }], hasAdd: [{
260
- type: Input
261
- }], canDelete: [{
262
- type: Input
263
- }], canEdit: [{
264
- type: Input
265
- }], editOnClick: [{
266
- type: Input
267
- }], editOnDblClick: [{
268
- type: Input
269
- }], paginator: [{
270
- type: ViewChild,
271
- args: [MatPaginator, { static: true }]
272
- }], sort: [{
273
- type: ViewChild,
274
- args: [MatSort, { static: true }]
275
- }], filter: [{
276
- type: ViewChild,
277
- args: [ElementRef, { static: false }]
278
- }], selectedObject: [{
279
- type: Output
280
- }], click: [{
281
- type: Output
282
- }], editModel: [{
283
- type: Output
284
- }] } });
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRpY3QtZ2VuZXJpYy10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvcmRpY3Qvc3JjL2xpYi9jb21wb25lbnRzL3JkaWN0LWdlbmVyaWMtdGFibGUvcmRpY3QtZ2VuZXJpYy10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvcmRpY3Qvc3JjL2xpYi9jb21wb25lbnRzL3JkaWN0LWdlbmVyaWMtdGFibGUvcmRpY3QtZ2VuZXJpYy10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25JLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFpQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQTBCLGVBQWUsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVILE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSwwQ0FBMEM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7OztBQXdCdEQsTUFBTSxPQUFPLDBCQUEwQjtJQXNEckMsWUFDUyxNQUFjLEVBQ2QsS0FBcUIsRUFDckIsU0FBMkIsRUFDMUIsUUFBa0IsRUFDbEIsYUFBNEIsRUFDNUIsYUFBNEIsRUFDNUIsRUFBYztRQU5mLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMxQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLE9BQUUsR0FBRixFQUFFLENBQVk7UUE3Q2YsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFDekMsU0FBSSxHQUFVLEVBQUUsQ0FBQztRQUNqQixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLGFBQVEsR0FBVyxFQUFFLENBQUE7UUFJckIscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUszQiw0Q0FBNEM7UUFDNUMsNEVBQTRFO1FBR2xFLG1CQUFjLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDNUQsVUFBSyxHQUF1RCxJQUFJLFlBQVksRUFBd0MsQ0FBQztRQUNySCxjQUFTLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFFakUsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFFaEIsZUFBVSxHQUFHLFVBQVUsQ0FBQztRQUN4QixrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQUVyQixpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUNsQixjQUFTLEdBQUcsRUFBRSxDQUFDO0lBZ0J4QixDQUFDO0lBQ0QsS0FBSyxDQUFDLFFBQVE7UUFDWixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLHNCQUFzQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTlFLE1BQU0sa0JBQWtCLEdBQWlCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoSCxJQUFJLENBQUMsUUFBUSxHQUFHLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUUsTUFBTSxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsS0FBSyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLCtDQUErQztRQUNuSixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbkMsSUFBSSxLQUFLLFlBQVksZUFBZSxFQUFFLENBQUM7Z0JBQ3JDLCtDQUErQztnQkFDL0MsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUE7Z0JBQ2xCLGdEQUFnRDtZQUNsRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekYsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDO1lBQ3RCLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMvQixNQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUMxQixNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUNyQix5QkFBeUI7UUFDekIsb0JBQW9CO0lBQ3RCLENBQUM7SUFDRCxvQkFBb0IsQ0FBSSxTQUFjLEVBQUUsUUFBZ0MsRUFBRSxHQUFXLEVBQUUsWUFBZTtRQUNwRyxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqQyxJQUFJLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDMUMsSUFBSSxnQkFBZ0IsS0FBSyxJQUFJLElBQUksZ0JBQWdCLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ2hFLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDMUMsQ0FBQztZQUNELFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxnQkFBZ0IsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7UUFDcEYsQ0FBQztJQUNILENBQUM7SUFDRCxLQUFLLENBQUMsUUFBUTtRQUNaLElBQUksQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ2hELE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDaEMsOENBQThDO1lBQzlDLE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQztZQUMxQixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7Z0JBQ2hELElBQUksR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO29CQUNyQixjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO2dCQUM5QixDQUFDO1lBQ0gsQ0FBQztZQUNELE9BQU8sY0FBYyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUEsQ0FBQSxpQ0FBaUM7SUFDM0QsQ0FBQztJQUNELDhCQUE4QjtJQUM5Qix5REFBeUQ7SUFDekQsb0JBQW9CO0lBQ3BCLHVCQUF1QjtJQUN2QixxQkFBcUI7SUFDckIsSUFBSTtJQUNKLDJCQUEyQjtJQUMzQix3QkFBd0I7SUFDeEIsb0JBQW9CO0lBQ3BCLDJCQUEyQjtJQUMzQiw0QkFBNEI7SUFDNUIsa0RBQWtEO0lBQ2xELHdDQUF3QztJQUN4QyxlQUFlO0lBQ2Ysa0NBQWtDO0lBQ2xDLFFBQVE7SUFDUixNQUFNO0lBQ04sMkJBQTJCO0lBQzNCLDhCQUE4QjtJQUM5QixtRUFBbUU7SUFDbkUsb0RBQW9EO0lBQ3BELFFBQVE7SUFDUixNQUFNO0lBQ04sOEJBQThCO0lBQzlCLHVDQUF1QztJQUN2QyxNQUFNO0lBQ04sdUJBQXVCO0lBQ3ZCLCtDQUErQztJQUMvQyxrSEFBa0g7SUFDbEgsMENBQTBDO0lBQzFDLGtFQUFrRTtJQUNsRSw2QkFBNkI7SUFDN0IsbUJBQW1CO0lBQ25CLHFEQUFxRDtJQUNyRCxZQUFZO0lBQ1osbUNBQW1DO0lBQ25DLGlEQUFpRDtJQUNqRCxrQkFBa0I7SUFDbEIsZ0VBQWdFO0lBQ2hFLDRCQUE0QjtJQUM1Qiw2Q0FBNkM7SUFFN0MsOENBQThDO0lBQzlDLGtDQUFrQztJQUNsQyxXQUFXO0lBQ1gsYUFBYTtJQUNiLElBQUk7SUFDSiwrQkFBK0I7SUFDL0IsdUJBQXVCO0lBQ3ZCLG9CQUFvQjtJQUNwQixxQkFBcUI7SUFDckIsNkJBQTZCO0lBQzdCLElBQUk7SUFDSixZQUFZO0lBQ1osK0JBQStCO0lBQy9CLG1EQUFtRDtJQUNuRCw2REFBNkQ7SUFDN0QsSUFBSTtJQUNKLHNDQUFzQztJQUN0QyxzQkFBc0I7SUFDdEIsa0VBQWtFO0lBQ2xFLDBFQUEwRTtJQUMxRSxJQUFJO0lBQ0osS0FBSyxDQUFDLGFBQWE7UUFDakIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUMsQ0FBQTtZQUM1RixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQy9ELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ3ZELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7d0JBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO3dCQUN0RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQTtvQkFDMUIsQ0FBQztvQkFDRCxPQUFPLElBQUksQ0FBQztnQkFDZCxDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztnQkFDbEIsd0hBQXdIO2dCQUN4SCw4QkFBOEI7Z0JBQzlCLHFEQUFxRDtnQkFDckQsK0JBQStCO2dCQUMvQixNQUFNO2dCQUNOLGlCQUFpQjtnQkFDakIsTUFBTTtnQkFFTixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUVsRCx3Q0FBd0M7Z0JBQ3hDLDJCQUEyQjtnQkFDM0IsNkJBQTZCO2dCQUM3QixnQkFBZ0I7Z0JBQ2hCLG9DQUFvQztnQkFDcEMsd0JBQXdCO2dCQUN4Qix1QkFBdUI7Z0JBQ3ZCLG9CQUFvQjtnQkFDcEIscUJBQXFCO2dCQUNyQix3QkFBd0I7Z0JBQ3hCLHVCQUF1QjtnQkFDdkIsT0FBTztnQkFDUCxJQUFJO2dCQUNKLDZGQUE2RjtnQkFFN0YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztnQkFDM0IsZ0NBQWdDO2dCQUNoQywyQ0FBMkM7Z0JBQzNDLElBQUk7Z0JBQ0osSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFFcEcsQ0FBQztRQUNILENBQUM7SUFFSCxDQUFDO0lBQ00sVUFBVTtRQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUE7UUFDOUMscUNBQXFDO1FBQ3JDLHFCQUFxQjtJQUN2QixDQUFDOzhHQWhQVSwwQkFBMEI7a0dBQTFCLDBCQUEwQiwyaUJBSjFCLEVBRVYscUVBNkJVLFlBQVkscUZBQ1osT0FBTyx1RkFDUCxVQUFVLGdEQ25FdkIsdTBCQW1CYSx5RERLVCxZQUFZLDJKQUNaLFlBQVk7Z0JBQ1osc0JBQXNCO2dCQUN0QixrQkFBa0I7Z0JBQ2xCLGVBQWUsK25FQUlmLGVBQWU7OzJGQU1OLDBCQUEwQjtrQkFyQnRDLFNBQVM7K0JBQ0UseUJBQXlCLGlCQUdwQixpQkFBaUIsQ0FBQyxJQUFJLGNBQ3pCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osc0JBQXNCO3dCQUN0QixrQkFBa0I7d0JBQ2xCLGVBQWU7d0JBQ2YsVUFBVTt3QkFDVixhQUFhO3dCQUNiLFdBQVc7d0JBQ1gsZUFBZTtxQkFDaEIsYUFDVSxFQUVWOytPQU1RLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFVcUMsU0FBUztzQkFBbkQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNILElBQUk7c0JBQXpDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDTSxNQUFNO3NCQUEvQyxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBSzlCLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7IE1hdFNvcnQsIFNvcnREaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciwgUm91dGVyTW9kdWxlLCBVcmxTZWdtZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuLy8gaW1wb3J0IHsgUnVsZSB9IGZyb20gJ0Byb3NvZnRsYWIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgS0VORE9fR1JJRCB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWdyaWQnO1xuaW1wb3J0IHsgS0VORE9fTEFCRUwgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1sYWJlbCc7XG5pbXBvcnQgeyBLRU5ET19UT09MQkFSIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItdG9vbGJhcic7XG5pbXBvcnQgeyBDb2x1bW5Nb2RlLCBTZWxlY3Rpb25UeXBlIH0gZnJvbSAnQHN3aW1sYW5lL25neC1kYXRhdGFibGUnO1xuaW1wb3J0IHsgUmVhY3RpdmVEaWN0aW9uYXJ5IH0gZnJvbSAnLi4vLi4vcmVhY3RpdmUtZGljdGlvbmFyeSc7XG5pbXBvcnQgeyBXc0F1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgU29ja2V0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NvY2tldC5zZXJ2aWNlJztcbmltcG9ydCB7IFJkaWN0VGFibGVUaXRsZSB9IGZyb20gJy4vcmRpY3QtdGFibGUtdGl0bGUnO1xuZGVjbGFyZSB2YXIgJDogYW55O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyc2wtcmRpY3QtZ2VuZXJpYy10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZGljdC1nZW5lcmljLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmRpY3QtZ2VuZXJpYy10YWJsZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICAvLyBNYXRQYWdpbmF0b3JNb2R1bGUsXG4gICAgLy8gTWF0VGFibGVNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIEtFTkRPX0dSSUQsXG4gICAgS0VORE9fVE9PTEJBUixcbiAgICBLRU5ET19MQUJFTCxcbiAgICBSZGljdFRhYmxlVGl0bGVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG5cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBHZW5lcmljUmRpY3RUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGRhdGFTb3VyY2U6IHVua25vd25bXSAvL01hdFRhYmxlRGF0YVNvdXJjZTxhbnk+ID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZSgpO1xuICBwdWJsaWMgdGl0bGU6IHN0cmluZztcbiAgbW9kZWw6IHN0cmluZztcbiAgQElucHV0KCkgc2hvd1NlcmFjaDogYm9vbGVhbjtcbiAgQElucHV0KCkgc2VhcmNoRmllbGRzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGN1c3RvbUluY2x1ZGU6IHN0cmluZztcbiAgQElucHV0KCkgZGVmYXVsdFNvcnQ6IHN0cmluZztcbiAgQElucHV0KCkgZGVmYXVsdFNvcnREaXJlY3Rpb246IFNvcnREaXJlY3Rpb247XG4gIEBJbnB1dCgpIGRlbGV0ZVByb3BlcnR5TmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBkZWZhdWx0RmlsdGVyOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNob3dIZWFkZXI6IGJvb2xlYW47XG4gIC8vIEBJbnB1dCgpIGRlbGV0ZURpc2FibGVSdWxlOiBSdWxlW107XG4gIEBJbnB1dCgpIGhhc0FkZDogYm9vbGVhbjtcbiAgQElucHV0KCkgY2FuRGVsZXRlOiBib29sZWFuO1xuICBASW5wdXQoKSBjYW5FZGl0OiBib29sZWFuO1xuICBASW5wdXQoKSBlZGl0T25DbGljazogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBlZGl0T25EYmxDbGljazogYm9vbGVhbiA9IGZhbHNlO1xuICBkYXRhOiBhbnlbXSA9IFtdO1xuICBwYWdlSW5kZXg6IG51bWJlciA9IDE7XG4gIHBhZ2VTaXplOiBudW1iZXIgPSAzMFxuXG4gIGJhc2VQYXRoOiBzdHJpbmc7XG4gIGRpY3RQYXRoOiBzdHJpbmc7XG4gIGlzTG9hZGluZ1Jlc3VsdHMgPSB0cnVlO1xuICBpc1JhdGVMaW1pdFJlYWNoZWQgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKE1hdFBhZ2luYXRvciwgeyBzdGF0aWM6IHRydWUgfSkgcGFnaW5hdG9yOiBNYXRQYWdpbmF0b3I7XG4gIEBWaWV3Q2hpbGQoTWF0U29ydCwgeyBzdGF0aWM6IHRydWUgfSkgc29ydDogTWF0U29ydDtcbiAgQFZpZXdDaGlsZChFbGVtZW50UmVmLCB7IHN0YXRpYzogZmFsc2UgfSkgZmlsdGVyOiBFbGVtZW50UmVmO1xuICAvLyBAVmlld0NoaWxkKCd0YWJsZScpIHRhYmxlOiBNYXRUYWJsZTxhbnk+O1xuICAvLyBAVmlld0NoaWxkKCd0YWJsZScsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBwdWJsaWMgbWF0VGFibGVSZWY6IEVsZW1lbnRSZWY7XG5cblxuICBAT3V0cHV0KCkgc2VsZWN0ZWRPYmplY3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBjbGljazogRXZlbnRFbWl0dGVyPHsgcHJvcGVydHlOYW1lOiBzdHJpbmcsIG1vZGVsOiBhbnkgfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHsgcHJvcGVydHlOYW1lOiBzdHJpbmcsIG1vZGVsOiBhbnkgfT4oKTtcbiAgQE91dHB1dCgpIGVkaXRNb2RlbDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb2x1bW5zID0gW107XG4gIHRhYmxlTGF5b3V0ID0ge307XG4gIGFsbENvbHVtbnMgPSBbXTtcbiAgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW107XG4gIENvbHVtbk1vZGUgPSBDb2x1bW5Nb2RlO1xuICBTZWxlY3Rpb25UeXBlID0gU2VsZWN0aW9uVHlwZTtcblxuICByZWFkb25seSBoZWFkZXJIZWlnaHQgPSA1MDtcbiAgcmVhZG9ubHkgcm93SGVpZ2h0ID0gNTA7XG4gIGlzTG9hZGluZzogYm9vbGVhbjtcbiAgZmlsdGVyVmFsdWU6IHN0cmluZztcbiAgb2xkT2Zmc2V0WTogbnVtYmVyO1xuICBoYXNTZWFyY2g6IGZhbHNlXG4gIHJkaWN0OiBSZWFjdGl2ZURpY3Rpb25hcnkgfCB1bmRlZmluZWQ7XG4gIHNlbGVjdGVkSXRlbTogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcbiAgICBwdWJsaWMgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBzb2NrZXRTZXJ2aWNlOiBTb2NrZXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgd3NBdXRoU2VydmljZTogV3NBdXRoU2VydmljZSxcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7XG4gIH1cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXRWYWx1ZUZyb21TbmFwc2hvdCh0aGlzLCB0aGlzLnJvdXRlLnNuYXBzaG90LCAnbW9kZWwnLCBcIlwiKTtcbiAgICB0aGlzLnNldFZhbHVlRnJvbVNuYXBzaG90KHRoaXMsIHRoaXMucm91dGUuc25hcHNob3QsICdzaG93U2VyYWNoJywgZmFsc2UpO1xuICAgIHRoaXMuc2V0VmFsdWVGcm9tU25hcHNob3QodGhpcywgdGhpcy5yb3V0ZS5zbmFwc2hvdCwgJ3NlYXJjaEZpZWxkcycsIG51bGwpO1xuICAgIHRoaXMuc2V0VmFsdWVGcm9tU25hcHNob3QodGhpcywgdGhpcy5yb3V0ZS5zbmFwc2hvdCwgJ2N1c3RvbUluY2x1ZGUnLCBudWxsKTtcbiAgICB0aGlzLnNldFZhbHVlRnJvbVNuYXBzaG90KHRoaXMsIHRoaXMucm91dGUuc25hcHNob3QsICdkZWZhdWx0U29ydCcsIG51bGwpO1xuICAgIHRoaXMuc2V0VmFsdWVGcm9tU25hcHNob3QodGhpcywgdGhpcy5yb3V0ZS5zbmFwc2hvdCwgJ2RlZmF1bHRTb3J0RGlyZWN0aW9uJywgJycpO1xuICAgIHRoaXMuc2V0VmFsdWVGcm9tU25hcHNob3QodGhpcywgdGhpcy5yb3V0ZS5zbmFwc2hvdCwgJ2RlbGV0ZVByb3BlcnR5TmFtZScsICduYW1lJyk7XG4gICAgdGhpcy5zZXRWYWx1ZUZyb21TbmFwc2hvdCh0aGlzLCB0aGlzLnJvdXRlLnNuYXBzaG90LCAnZGVmYXVsdEZpbHRlcicsIG51bGwpO1xuICAgIHRoaXMuc2V0VmFsdWVGcm9tU25hcHNob3QodGhpcywgdGhpcy5yb3V0ZS5zbmFwc2hvdCwgJ3Nob3dIZWFkZXInLCB0cnVlKTtcbiAgICB0aGlzLnNldFZhbHVlRnJvbVNuYXBzaG90KHRoaXMsIHRoaXMucm91dGUuc25hcHNob3QsICdkZWxldGVEaXNhYmxlUnVsZScsIG51bGwpO1xuICAgIHRoaXMuc2V0VmFsdWVGcm9tU25hcHNob3QodGhpcywgdGhpcy5yb3V0ZS5zbmFwc2hvdCwgJ2hhc0FkZCcsIHRydWUpO1xuICAgIHRoaXMuc2V0VmFsdWVGcm9tU25hcHNob3QodGhpcywgdGhpcy5yb3V0ZS5zbmFwc2hvdCwgJ2NhbkRlbGV0ZScsIHRydWUpO1xuICAgIHRoaXMuc2V0VmFsdWVGcm9tU25hcHNob3QodGhpcywgdGhpcy5yb3V0ZS5zbmFwc2hvdCwgJ2NhbkVkaXQnLCB0cnVlKTtcbiAgICB0aGlzLnNldFZhbHVlRnJvbVNuYXBzaG90KHRoaXMsIHRoaXMucm91dGUuc25hcHNob3QsICdlZGl0T25DbGljaycsIGZhbHNlKTtcbiAgICB0aGlzLnNldFZhbHVlRnJvbVNuYXBzaG90KHRoaXMsIHRoaXMucm91dGUuc25hcHNob3QsICdlZGl0T25EYmxDbGljaycsIGZhbHNlKTtcblxuICAgIGNvbnN0IGN1cnJlbnRVcmxTZWdtZW50czogVXJsU2VnbWVudFtdID0gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCcvJykubWFwKHNlZ21lbnQgPT4gbmV3IFVybFNlZ21lbnQoc2VnbWVudCwge30pKTtcbiAgICB0aGlzLmJhc2VQYXRoID0gY3VycmVudFVybFNlZ21lbnRzLm1hcChzZWdtZW50ID0+IHNlZ21lbnQucGF0aCkuam9pbignLycpO1xuICAgIGNvbnN0IGZpbHRlcmVkU2VnbWVudHMgPSBjdXJyZW50VXJsU2VnbWVudHMuZmlsdGVyKHNlZ21lbnQgPT4gc2VnbWVudC5wYXRoICE9PSAnJyk7XG4gICAgdGhpcy5kaWN0UGF0aCA9IGZpbHRlcmVkU2VnbWVudHMubWFwKHNlZ21lbnQgPT4gc2VnbWVudC5wYXRoKS5qb2luKCcuJyk7XG4gICAgdGhpcy5tb2RlbCA9IGZpbHRlcmVkU2VnbWVudHMubGVuZ3RoID4gMCA/IGZpbHRlcmVkU2VnbWVudHNbZmlsdGVyZWRTZWdtZW50cy5sZW5ndGggLSAxXS5wYXRoIDogJyc7IC8vIERlZmF1bHQgdG8gZW1wdHkgc3RyaW5nIGlmIG5vIHZhbGlkIHNlZ21lbnRzXG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICAgICAgLy8gTmF2aWdhdGlvbiB0byBhbm90aGVyIHBhZ2UgaXMgYWJvdXQgdG8gb2NjdXJcbiAgICAgICAgdGhpcy5kYXRhID0gW107XG4gICAgICAgIHRoaXMucGFnZUluZGV4ID0gMVxuICAgICAgICAvLyBQZXJmb3JtIGFjdGlvbnMgb3IgdXBkYXRlIGNvbXBvbmVudCBhcyBuZWVkZWRcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnJkaWN0ID0gUmVhY3RpdmVEaWN0aW9uYXJ5LmdldEluc3RhbmNlKHRoaXMuc29ja2V0U2VydmljZSx0aGlzLndzQXV0aFNlcnZpY2UuVG9rZW4pO1xuICAgIGlmICh0aGlzLnJkaWN0LnNpemUgPT0gMClcbiAgICAgIGF3YWl0IHRoaXMucmRpY3QuYXN5bmNJbml0KCk7XG4gICAgYXdhaXQgdGhpcy5nZXRMaXN0TGF5b3V0KClcbiAgICBhd2FpdCB0aGlzLmxvYWREYXRhKClcbiAgICAvLyB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgLy8gdGhpcy5vblNjcm9sbCgwKTtcbiAgfVxuICBzZXRWYWx1ZUZyb21TbmFwc2hvdDxUPihjb21wb25lbnQ6IGFueSwgc25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IFQpOiB2b2lkIHtcbiAgICBpZiAoY29tcG9uZW50W2tleV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IGRhdGFGcm9tU25hcHNob3QgPSBzbmFwc2hvdC5kYXRhW2tleV07XG4gICAgICBpZiAoZGF0YUZyb21TbmFwc2hvdCA9PT0gbnVsbCB8fCBkYXRhRnJvbVNuYXBzaG90ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZGF0YUZyb21TbmFwc2hvdCA9IHNuYXBzaG90LnBhcmFtc1trZXldO1xuICAgICAgfVxuICAgICAgY29tcG9uZW50W2tleV0gPSBkYXRhRnJvbVNuYXBzaG90ICE9PSB1bmRlZmluZWQgPyBkYXRhRnJvbVNuYXBzaG90IDogZGVmYXVsdFZhbHVlO1xuICAgIH1cbiAgfVxuICBhc3luYyBsb2FkRGF0YSgpIHtcbiAgICB2YXIgeCA9IGF3YWl0IHRoaXMucmRpY3QuZ2V0VGFibGUodGhpcy5kaWN0UGF0aClcbiAgICBjb25zdCByZXN1bHQgPSB4Lm1hcChkaWN0aW9uYXJ5ID0+IHtcbiAgICAgIC8vIENvbnZlcnQgTWFwIHRvIG9iamVjdCBhbmQgZmlsdGVyIG91dCBfX2d1aWRcbiAgICAgIGNvbnN0IGZpbHRlcmVkT2JqZWN0ID0ge307XG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBkaWN0aW9uYXJ5LmVudHJpZXMoKSkge1xuICAgICAgICBpZiAoa2V5ICE9PSAnX19ndWlkJykge1xuICAgICAgICAgIGZpbHRlcmVkT2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGZpbHRlcmVkT2JqZWN0O1xuICAgIH0pO1xuICAgIHRoaXMuZGF0YVNvdXJjZSA9IHJlc3VsdC8vbmV3IE1hdFRhYmxlRGF0YVNvdXJjZShyZXN1bHQpO1xuICB9XG4gIC8vIGFzeW5jIGhhbmRsZUNoYW5nZShldmVudCkge1xuICAvLyAgIHRoaXMuZmlsdGVyVmFsdWUgPSBldmVudC50YXJnZXQudmFsdWUudG9Mb3dlckNhc2UoKTtcbiAgLy8gICB0aGlzLmRhdGEgPSBbXTtcbiAgLy8gICB0aGlzLnBhZ2VJbmRleCA9IDFcbiAgLy8gICB0aGlzLmxvYWREYXRhKCk7XG4gIC8vIH1cbiAgLy8gbG9hZERhdGEoZXZlbnQgPSBudWxsKSB7XG4gIC8vICAgY29uc3QgZmlsdGVycyA9IFtdO1xuICAvLyAgIGxldCBzb3J0cyA9ICcnO1xuICAvLyAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgLy8gICBpZiAodGhpcy5kZWZhdWx0U29ydCkge1xuICAvLyAgICAgaWYgKHRoaXMuZGVmYXVsdFNvcnREaXJlY3Rpb24gPT09ICdkZXNjJykge1xuICAvLyAgICAgICBzb3J0cyA9ICctJyArIHRoaXMuZGVmYXVsdFNvcnQ7XG4gIC8vICAgICB9IGVsc2Uge1xuICAvLyAgICAgICBzb3J0cyA9IHRoaXMuZGVmYXVsdFNvcnQ7XG4gIC8vICAgICB9XG4gIC8vICAgfVxuICAvLyAgIGlmICh0aGlzLnNob3dTZXJhY2gpIHtcbiAgLy8gICAgIGlmICh0aGlzLmZpbHRlclZhbHVlKSB7XG4gIC8vICAgICAgIGNvbnN0IHkgPSAnKCcgKyB0aGlzLnNlYXJjaEZpZWxkcy5yZXBsYWNlKCcsJywgJ3wnKSArICcpJztcbiAgLy8gICAgICAgZmlsdGVycy5wdXNoKHkgKyAnQD0qJyArIHRoaXMuZmlsdGVyVmFsdWUpO1xuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gICBpZiAodGhpcy5kZWZhdWx0RmlsdGVyKSB7XG4gIC8vICAgICBmaWx0ZXJzLnB1c2godGhpcy5kZWZhdWx0RmlsdGVyKVxuICAvLyAgIH1cbiAgLy8gICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgLy8gICAgIGNvbnN0IGZpbHRlcnNWYWx1ZSA9IGZpbHRlcnMuam9pbignLCAnKTtcbiAgLy8gICAgIHRoaXMubW9kZWxTZXJ2aWNlLmdldEFsbCh0aGlzLnBhZ2VJbmRleCwgdGhpcy5wYWdlU2l6ZSwgc29ydHMsIGZpbHRlcnNWYWx1ZSwgdGhpcy5jdXN0b21JbmNsdWRlKS5zdWJzY3JpYmUoXG4gIC8vICAgICAgIChyZXNwb25zZTogQmFzZVF1ZXJ5RGF0YTxUPikgPT4ge1xuICAvLyAgICAgICAgIGlmICh0aGlzLnBhZ2VJbmRleCAhPT0gcmVzcG9uc2UuZ2V0TWV0YSgpLm1ldGEuY291bnQpIHtcbiAgLy8gICAgICAgICAgIHRoaXMucGFnZUluZGV4KytcbiAgLy8gICAgICAgICB9IGVsc2Uge1xuICAvLyAgICAgICAgICAgaWYgKGV2ZW50KSBldmVudC50YXJnZXQuZGlzYWJsZWQgPSB0cnVlO1xuICAvLyAgICAgICAgIH1cbiAgLy8gICAgICAgICAvLyBpZiAodGhpcy5maWx0ZXJWYWx1ZSlcbiAgLy8gICAgICAgICAvLyAgIHRoaXMuZGF0YSA9IHJlc3BvbnNlLmdldE1vZGVscygpO1xuICAvLyAgICAgICAgIC8vIGVsc2VcbiAgLy8gICAgICAgICBjb25zdCByb3dzID0gWy4uLnRoaXMuZGF0YSwgLi4ucmVzcG9uc2UuZ2V0TW9kZWxzKCldO1xuICAvLyAgICAgICAgIHRoaXMuZGF0YSA9IHJvd3M7XG4gIC8vICAgICAgICAgLy8gdGhpcy5kYXRhID0gdGhpcy5kYXRhLmNvbmNhdCgpO1xuXG4gIC8vICAgICAgICAgaWYgKGV2ZW50KSBldmVudC50YXJnZXQuY29tcGxldGUoKTtcbiAgLy8gICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAvLyAgICAgICB9KVxuICAvLyAgIH0sIDcwMCk7XG4gIC8vIH1cbiAgLy8gYXN5bmMgaGFuZGxlUmVmcmVzaChldmVudCkge1xuICAvLyAgIHRoaXMucGFnZUluZGV4ID0gMVxuICAvLyAgIHRoaXMuZGF0YSA9IFtdO1xuICAvLyAgIHRoaXMubG9hZERhdGEoKTtcbiAgLy8gICBldmVudC50YXJnZXQuY29tcGxldGUoKTtcbiAgLy8gfVxuICAvLyBvbkFkZCgpIHtcbiAgLy8gICBjb25zb2xlLmxvZyh0aGlzLmJhc2VQYXRoKVxuICAvLyAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmJhc2VQYXRoICsgJy9hZGQnXSlcbiAgLy8gICAvLyB0aGlzLm5hdkN0cmwubmF2aWdhdGVGb3J3YXJkKHRoaXMuYmFzZVBhdGggKyAnL2FkZCcpO1xuICAvLyB9XG4gIC8vIGVkaXRNb2RlbChtb2RlbDogQmFzZU1vZGVsRm9ybWx5KSB7XG4gIC8vICAgaWYgKHRoaXMuY2FuRWRpdClcbiAgLy8gICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmJhc2VQYXRoICsgJy9lZGl0LycsIG1vZGVsLmlkXSk7XG4gIC8vICAgLy8gdGhpcy5uYXZDdHJsLm5hdmlnYXRlRm9yd2FyZCh0aGlzLmJhc2VQYXRoICsgJy9lZGl0LycgKyBtb2RlbC5pZCk7XG4gIC8vIH1cbiAgYXN5bmMgZ2V0TGlzdExheW91dCgpIHtcbiAgICBpZiAodGhpcy5tb2RlbCkge1xuICAgICAgdGhpcy50YWJsZUxheW91dCA9IGF3YWl0IHRoaXMucmRpY3QuYXN5bmNHZXQoXCJjb25maWcubW9kZWxzLlwiICsgdGhpcy5tb2RlbCArIFwiLnRhYmxlTGF5b3V0XCIpXG4gICAgICBpZiAodGhpcy50YWJsZUxheW91dCkge1xuICAgICAgICB0aGlzLnRpdGxlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0aGlzLnRhYmxlTGF5b3V0W1widGl0bGVcIl0pO1xuICAgICAgICB0aGlzLmFsbENvbHVtbnMgPSB0aGlzLnRhYmxlTGF5b3V0W1wiY29sdW1uc1wiXS5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgaWYgKCFpdGVtLmlzVHJhbnNsYXRlZCkge1xuICAgICAgICAgICAgaXRlbS5uYW1lID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChpdGVtLnRyYW5zbGF0ZUtleSk7XG4gICAgICAgICAgICBpdGVtLmlzVHJhbnNsYXRlZCA9IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNvbHVtbnMgPSBbXTtcbiAgICAgICAgLy8gdGhpcy5hbGxDb2x1bW5zID0gUmVmbGVjdC5nZXRNZXRhZGF0YSgnSW9uaWNEYXRhVGFibGVMYXlvdXQnLCB0aGlzLm1vZGVsKS5tYXAoKGl0ZW06IElvbmljRGF0YVRhYmxlTGF5b3V0Q29uZmlnKSA9PiB7XG4gICAgICAgIC8vICAgaWYgKCFpdGVtLmlzVHJhbnNsYXRlZCkge1xuICAgICAgICAvLyAgICAgaXRlbS5uYW1lID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChpdGVtLm5hbWUpO1xuICAgICAgICAvLyAgICAgaXRlbS5pc1RyYW5zbGF0ZWQgPSB0cnVlXG4gICAgICAgIC8vICAgfVxuICAgICAgICAvLyAgIHJldHVybiBpdGVtO1xuICAgICAgICAvLyB9KTtcblxuICAgICAgICB0aGlzLmFsbENvbHVtbnMuc29ydCgoYSwgYikgPT4gYS5vcmRlciAtIGIub3JkZXIpO1xuXG4gICAgICAgIC8vIGlmICh0aGlzLmNhbkRlbGV0ZSB8fCB0aGlzLmNhbkVkaXQpIHtcbiAgICAgICAgLy8gICB0aGlzLmFsbENvbHVtbnMucHVzaCh7XG4gICAgICAgIC8vICAgICAvLyBjZWxsVGVtcGxhdGU6IG51bGwsXG4gICAgICAgIC8vICAgICBuYW1lOiAnJyxcbiAgICAgICAgLy8gICAgIC8vIGNlbGxDbGFzczogJ2FjdGlvbnMtY2VsbCcsXG4gICAgICAgIC8vICAgICBkcmFnZ2FibGU6IGZhbHNlLFxuICAgICAgICAvLyAgICAgc29ydGFibGU6IGZhbHNlLFxuICAgICAgICAvLyAgICAgdmlzaWJsZTogdHJ1ZVxuICAgICAgICAvLyAgICAgLy8gd2lkdGg6IDEwMCxcbiAgICAgICAgLy8gICAgIC8vIG1heFdpZHRoOiAxMDAsXG4gICAgICAgIC8vICAgICAvLyBtaW5XaWR0aDogMTAwXG4gICAgICAgIC8vICAgfSlcbiAgICAgICAgLy8gfVxuICAgICAgICAvLyB0aGlzLmNvbHVtbnMgPSB0aGlzLmFsbENvbHVtbnMuZmlsdGVyKChpdGVtOiBJb25pY0RhdGFUYWJsZUxheW91dENvbmZpZykgPT4gaXRlbS52aXNpYmxlKTtcblxuICAgICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSBbXTtcbiAgICAgICAgLy8gaWYgKHRoaXMuYWxsb3dSZW9yZGVySXRlbXMpIHtcbiAgICAgICAgLy8gICB0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaCgncG9zaXRpb24nKVxuICAgICAgICAvLyB9XG4gICAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucy5wdXNoLmFwcGx5KHRoaXMuZGlzcGxheWVkQ29sdW1ucywgdGhpcy5hbGxDb2x1bW5zLm1hcCh4ID0+IHgucHJvcGVydHlOYW1lKSk7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuICBwdWJsaWMgYWRkSGFuZGxlcigpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZyhcImFkZFwiKVxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmJhc2VQYXRoICsgJy9hZGQnXSlcbiAgICAvLyB0aGlzLmVkaXREYXRhSXRlbSA9IG5ldyBQcm9kdWN0KCk7XG4gICAgLy8gdGhpcy5pc05ldyA9IHRydWU7XG4gIH1cblxufVxuIiwiPGtlbmRvLWdyaWQgW2RhdGFdPVwiZGF0YVNvdXJjZVwiIFxuICAgICAgW3NvcnRhYmxlXT1cInRydWVcIiBcbiAgICAgIFtmaWx0ZXJhYmxlXT1cInNob3dTZXJhY2hcIlxuICAgICAgKGFkZCk9XCJhZGRIYW5kbGVyKClcIj5cbiAgPGtlbmRvLXRvb2xiYXI+XG4gICAgPHRhYmxlLXRpdGxlIHRleHQ9XCJ7e3RpdGxlfX1cIj48L3RhYmxlLXRpdGxlPlxuICAgIDxrZW5kby10b29sYmFyLW1lc3NhZ2VzPlRlc3Q8L2tlbmRvLXRvb2xiYXItbWVzc2FnZXM+XG4gICAgPCEtLSA8a2VuZG8tdG9vbGJhci1zZXBhcmF0b3I+PC9rZW5kby10b29sYmFyLXNlcGFyYXRvcj4gLS0+XG4gICAgPGtlbmRvLXRvb2xiYXItc3BhY2VyPjwva2VuZG8tdG9vbGJhci1zcGFjZXI+XG4gICAgPGtlbmRvLXRvb2xiYXItYnV0dG9uIHRleHQ9XCJBZGQgbmV3XCIga2VuZG9HcmlkQWRkVG9vbD48L2tlbmRvLXRvb2xiYXItYnV0dG9uPlxuICA8L2tlbmRvLXRvb2xiYXI+XG4gIDwhLS0gPGtlbmRvLXRvb2xiYXI+XG4gICAgXG4gICAgPGtlbmRvLXRvb2xiYXItc3BhY2VyPjwva2VuZG8tdG9vbGJhci1zcGFjZXI+XG4gICAgPGJ1dHRvbiBrZW5kb0dyaWRBZGRDb21tYW5kIHR5cGU9XCJidXR0b25cIj5BZGQgbmV3PC9idXR0b24+XG4gIDwva2VuZG8tdG9vbGJhcj4gLS0+XG4gIDxrZW5kby1ncmlkLWNvbHVtbiAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGFsbENvbHVtbnNcIiBmaWVsZD1cInt7IGNvbHVtbi5wcm9wZXJ0eU5hbWUgfX1cIlxuICAgIHRpdGxlPVwiIHt7Y29sdW1uLnRyYW5zbGF0ZUtleSB8IHRyYW5zbGF0ZX19XCI+XG4gIDwva2VuZG8tZ3JpZC1jb2x1bW4+XG48L2tlbmRvLWdyaWQ+Il19
@@ -1,34 +0,0 @@
1
- import { Component, Input, TemplateRef, ViewChild, forwardRef } from '@angular/core';
2
- import { ToolBarToolComponent } from '@progress/kendo-angular-toolbar';
3
- import * as i0 from "@angular/core";
4
- export class RdictTableTitle extends ToolBarToolComponent {
5
- constructor() {
6
- super();
7
- this.tabindex = -1;
8
- }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: RdictTableTitle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: RdictTableTitle, isStandalone: true, selector: "table-title", inputs: { text: "text" }, providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => RdictTableTitle) }], viewQueries: [{ propertyName: "toolbarTemplate", first: true, predicate: ["toolbarTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
11
- <ng-template #toolbarTemplate>
12
- <kendo-label>{{text}}</kendo-label>
13
- </ng-template>
14
- `, isInline: true }); }
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: RdictTableTitle, decorators: [{
17
- type: Component,
18
- args: [{
19
- providers: [{ provide: ToolBarToolComponent, useExisting: forwardRef(() => RdictTableTitle) }],
20
- selector: 'table-title',
21
- standalone: true,
22
- template: `
23
- <ng-template #toolbarTemplate>
24
- <kendo-label>{{text}}</kendo-label>
25
- </ng-template>
26
- `
27
- }]
28
- }], ctorParameters: () => [], propDecorators: { toolbarTemplate: [{
29
- type: ViewChild,
30
- args: ['toolbarTemplate', { static: true }]
31
- }], text: [{
32
- type: Input
33
- }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRpY3QtdGFibGUtdGl0bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvcmRpY3Qvc3JjL2xpYi9jb21wb25lbnRzL3JkaWN0LWdlbmVyaWMtdGFibGUvcmRpY3QtdGFibGUtdGl0bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxLQUFLLEVBQ0wsV0FBVyxFQUNYLFNBQVMsRUFDVCxVQUFVLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBWXZFLE1BQU0sT0FBTyxlQUFnQixTQUFRLG9CQUFvQjtJQUlyRDtRQUNJLEtBQUssRUFBRSxDQUFDO1FBSkwsYUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBS3JCLENBQUM7OEdBTlEsZUFBZTtrR0FBZixlQUFlLG9GQVRiLENBQUMsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLG1MQUdwRjs7OztLQUlUOzsyRkFFUSxlQUFlO2tCQVYzQixTQUFTO21CQUFDO29CQUNQLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztvQkFDOUYsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7S0FJVDtpQkFDSjt3REFHa0UsZUFBZTtzQkFBN0UsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQzlCLElBQUk7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgSW5wdXQsXHJcbiAgICBUZW1wbGF0ZVJlZixcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIGZvcndhcmRSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVG9vbEJhclRvb2xDb21wb25lbnQgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci10b29sYmFyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBUb29sQmFyVG9vbENvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUmRpY3RUYWJsZVRpdGxlKSB9XSxcclxuICAgIHNlbGVjdG9yOiAndGFibGUtdGl0bGUnLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICN0b29sYmFyVGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDxrZW5kby1sYWJlbD57e3RleHR9fTwva2VuZG8tbGFiZWw+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIFJkaWN0VGFibGVUaXRsZSBleHRlbmRzIFRvb2xCYXJUb29sQ29tcG9uZW50IHtcclxuICAgIHB1YmxpYyB0YWJpbmRleCA9IC0xO1xyXG4gICAgQFZpZXdDaGlsZCgndG9vbGJhclRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSkgcHVibGljIGRlY2xhcmUgdG9vbGJhclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gICAgQElucHV0KCkgcHVibGljIHRleHQ6IHN0cmluZztcclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICB9XHJcbn0iXX0=
@@ -1,5 +0,0 @@
1
- export * from './components';
2
- export * from './models';
3
- export * from './services';
4
- export * from './socket-config.token';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9yZGljdC9zcmMvbGliL2NvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29ja2V0LWNvbmZpZy50b2tlbic7XHJcblxyXG4iXX0=
@@ -1,4 +0,0 @@
1
- export { Menu } from './menu';
2
- export { Right } from './right';
3
- export { User } from './user';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvcmRpY3Qvc3JjL2xpYi9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUM3QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQy9CLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBNZW51IH0gZnJvbSAnLi9tZW51J1xyXG5leHBvcnQgeyBSaWdodCB9IGZyb20gJy4vcmlnaHQnXHJcbmV4cG9ydCB7IFVzZXIgfSBmcm9tICcuL3VzZXInXHJcbiJdfQ==
@@ -1,60 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Attribute, BaseModel, BaseModelConfig } from "@rosoftlab/core";
3
- let Menu = class Menu extends BaseModel {
4
- };
5
- __decorate([
6
- Attribute({ serializedName: 'id' }),
7
- __metadata("design:type", String)
8
- ], Menu.prototype, "id", void 0);
9
- __decorate([
10
- Attribute({ serializedName: 'header' }),
11
- __metadata("design:type", String)
12
- ], Menu.prototype, "header", void 0);
13
- __decorate([
14
- Attribute({ serializedName: 'icon' }),
15
- __metadata("design:type", String)
16
- ], Menu.prototype, "icon", void 0);
17
- __decorate([
18
- Attribute({ serializedName: 'link' }),
19
- __metadata("design:type", String)
20
- ], Menu.prototype, "link", void 0);
21
- __decorate([
22
- Attribute({ serializedName: 'title' }),
23
- __metadata("design:type", String)
24
- ], Menu.prototype, "title", void 0);
25
- __decorate([
26
- Attribute({ serializedName: 'sublinks' }),
27
- __metadata("design:type", Array)
28
- ], Menu.prototype, "sublinks", void 0);
29
- __decorate([
30
- Attribute({ serializedName: 'target' }),
31
- __metadata("design:type", String)
32
- ], Menu.prototype, "target", void 0);
33
- __decorate([
34
- Attribute({ serializedName: 'external' }),
35
- __metadata("design:type", Boolean)
36
- ], Menu.prototype, "external", void 0);
37
- __decorate([
38
- Attribute({ serializedName: 'description' }),
39
- __metadata("design:type", String)
40
- ], Menu.prototype, "description", void 0);
41
- __decorate([
42
- Attribute({ serializedName: 'order' }),
43
- __metadata("design:type", Number)
44
- ], Menu.prototype, "order", void 0);
45
- __decorate([
46
- Attribute({ serializedName: 'translationKey' }),
47
- __metadata("design:type", String)
48
- ], Menu.prototype, "translationKey", void 0);
49
- __decorate([
50
- Attribute({ serializedName: 'color' }),
51
- __metadata("design:type", String)
52
- ], Menu.prototype, "color", void 0);
53
- Menu = __decorate([
54
- BaseModelConfig({
55
- type: 'user',
56
- modelEndpointUrl: 'user/menus'
57
- })
58
- ], Menu);
59
- export { Menu };
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9yZGljdC9zcmMvbGliL21vZGVscy9tZW51LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUtqRSxJQUFNLElBQUksR0FBVixNQUFNLElBQUssU0FBUSxTQUFTO0NBcUNsQyxDQUFBO0FBbENZO0lBRFIsU0FBUyxDQUFDLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxDQUFDOztnQ0FDZjtBQUdyQjtJQURDLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsQ0FBQzs7b0NBQ3hCO0FBR2hCO0lBREMsU0FBUyxDQUFDLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxDQUFDOztrQ0FDeEI7QUFHZDtJQURDLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQzs7a0NBQ3hCO0FBR2Q7SUFEQyxTQUFTLENBQUMsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLENBQUM7O21DQUN4QjtBQUdmO0lBREMsU0FBUyxDQUFDLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxDQUFDOztzQ0FDeEI7QUFHbEI7SUFEQyxTQUFTLENBQUMsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLENBQUM7O29DQUN4QjtBQUdoQjtJQURDLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsQ0FBQzs7c0NBQ3ZCO0FBR25CO0lBREMsU0FBUyxDQUFDLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxDQUFDOzt5Q0FDeEI7QUFHckI7SUFEQyxTQUFTLENBQUMsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLENBQUM7O21DQUN4QjtBQUdmO0lBREMsU0FBUyxDQUFDLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLENBQUM7OzRDQUN4QjtBQUd4QjtJQURDLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsQ0FBQzs7bUNBQ3hCO0FBcENOLElBQUk7SUFKaEIsZUFBZSxDQUFDO1FBQ2IsSUFBSSxFQUFFLE1BQU07UUFDWixnQkFBZ0IsRUFBRSxZQUFZO0tBQ2pDLENBQUM7R0FDVyxJQUFJLENBcUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF0dHJpYnV0ZSwgQmFzZU1vZGVsLCBCYXNlTW9kZWxDb25maWcgfSBmcm9tIFwiQHJvc29mdGxhYi9jb3JlXCI7XHJcbkBCYXNlTW9kZWxDb25maWcoe1xyXG4gICAgdHlwZTogJ3VzZXInLFxyXG4gICAgbW9kZWxFbmRwb2ludFVybDogJ3VzZXIvbWVudXMnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51IGV4dGVuZHMgQmFzZU1vZGVsIHtcclxuXHJcbiAgICBAQXR0cmlidXRlKHsgc2VyaWFsaXplZE5hbWU6ICdpZCcgfSlcclxuICAgIG92ZXJyaWRlIGlkITogc3RyaW5nO1xyXG5cclxuICAgIEBBdHRyaWJ1dGUoeyBzZXJpYWxpemVkTmFtZTogJ2hlYWRlcicgfSlcclxuICAgIGhlYWRlcj86IHN0cmluZztcclxuXHJcbiAgICBAQXR0cmlidXRlKHsgc2VyaWFsaXplZE5hbWU6ICdpY29uJyB9KVxyXG4gICAgaWNvbj86IHN0cmluZztcclxuXHJcbiAgICBAQXR0cmlidXRlKHsgc2VyaWFsaXplZE5hbWU6ICdsaW5rJyB9KVxyXG4gICAgbGluaz86IHN0cmluZztcclxuXHJcbiAgICBAQXR0cmlidXRlKHsgc2VyaWFsaXplZE5hbWU6ICd0aXRsZScgfSlcclxuICAgIHRpdGxlPzogc3RyaW5nO1xyXG5cclxuICAgIEBBdHRyaWJ1dGUoeyBzZXJpYWxpemVkTmFtZTogJ3N1YmxpbmtzJyB9KVxyXG4gICAgc3VibGlua3M/OiBNZW51W107XHJcblxyXG4gICAgQEF0dHJpYnV0ZSh7IHNlcmlhbGl6ZWROYW1lOiAndGFyZ2V0JyB9KVxyXG4gICAgdGFyZ2V0Pzogc3RyaW5nO1xyXG5cclxuICAgIEBBdHRyaWJ1dGUoeyBzZXJpYWxpemVkTmFtZTogJ2V4dGVybmFsJyB9KVxyXG4gICAgZXh0ZXJuYWw/OiBib29sZWFuO1xyXG5cclxuICAgIEBBdHRyaWJ1dGUoeyBzZXJpYWxpemVkTmFtZTogJ2Rlc2NyaXB0aW9uJyB9KVxyXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcblxyXG4gICAgQEF0dHJpYnV0ZSh7IHNlcmlhbGl6ZWROYW1lOiAnb3JkZXInIH0pXHJcbiAgICBvcmRlcj86IG51bWJlcjtcclxuXHJcbiAgICBAQXR0cmlidXRlKHsgc2VyaWFsaXplZE5hbWU6ICd0cmFuc2xhdGlvbktleScgfSlcclxuICAgIHRyYW5zbGF0aW9uS2V5ITogc3RyaW5nO1xyXG5cclxuICAgIEBBdHRyaWJ1dGUoeyBzZXJpYWxpemVkTmFtZTogJ2NvbG9yJyB9KVxyXG4gICAgY29sb3I/OiBzdHJpbmc7XHJcbn1cclxuXHJcbiJdfQ==
@@ -1,57 +0,0 @@
1
- // import { Attribute, BaseModel, BaseModelConfig } from '@rosoftlab/core';
2
- import { __decorate, __metadata } from "tslib";
3
- import { Attribute, BaseModel, BaseModelConfig } from "@rosoftlab/core";
4
- let Right = class Right extends BaseModel {
5
- };
6
- __decorate([
7
- Attribute({ serializedName: 'id' }),
8
- __metadata("design:type", String)
9
- ], Right.prototype, "id", void 0);
10
- __decorate([
11
- Attribute({ serializedName: 'name' }),
12
- __metadata("design:type", String)
13
- ], Right.prototype, "name", void 0);
14
- __decorate([
15
- Attribute({ serializedName: 'rightKey' }),
16
- __metadata("design:type", String)
17
- ], Right.prototype, "rightKey", void 0);
18
- __decorate([
19
- Attribute({ serializedName: 'pagePath' }),
20
- __metadata("design:type", String)
21
- ], Right.prototype, "pagePath", void 0);
22
- __decorate([
23
- Attribute({ serializedName: 'order' }),
24
- __metadata("design:type", Number)
25
- ], Right.prototype, "order", void 0);
26
- __decorate([
27
- Attribute({ serializedName: 'isMenu' }),
28
- __metadata("design:type", Boolean)
29
- ], Right.prototype, "isMenu", void 0);
30
- __decorate([
31
- Attribute({ serializedName: 'resourceName' }),
32
- __metadata("design:type", String)
33
- ], Right.prototype, "resourceName", void 0);
34
- __decorate([
35
- Attribute({ serializedName: 'parentId' }),
36
- __metadata("design:type", String)
37
- ], Right.prototype, "parentId", void 0);
38
- __decorate([
39
- Attribute({ serializedName: 'color' }),
40
- __metadata("design:type", String)
41
- ], Right.prototype, "color", void 0);
42
- __decorate([
43
- Attribute({ serializedName: 'defaultRoles' }),
44
- __metadata("design:type", String)
45
- ], Right.prototype, "defaultRoles", void 0);
46
- __decorate([
47
- Attribute({ serializedName: 'icon' }),
48
- __metadata("design:type", String)
49
- ], Right.prototype, "icon", void 0);
50
- Right = __decorate([
51
- BaseModelConfig({
52
- type: 'right',
53
- modelEndpointUrl: 'user/rights'
54
- })
55
- ], Right);
56
- export { Right };
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlnaHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvcmRpY3Qvc3JjL2xpYi9tb2RlbHMvcmlnaHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMkVBQTJFOztBQUUzRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQU1qRSxJQUFNLEtBQUssR0FBWCxNQUFNLEtBQU0sU0FBUSxTQUFTO0NBbUNuQyxDQUFBO0FBaENZO0lBRFIsU0FBUyxDQUFDLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxDQUFDOztpQ0FDZjtBQUdyQjtJQURDLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQzs7bUNBQ3hCO0FBR2Q7SUFEQyxTQUFTLENBQUMsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLENBQUM7O3VDQUN4QjtBQUdsQjtJQURDLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsQ0FBQzs7dUNBQ3hCO0FBR2xCO0lBREMsU0FBUyxDQUFDLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxDQUFDOztvQ0FDeEI7QUFHZjtJQURDLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsQ0FBQzs7cUNBQ3ZCO0FBR2pCO0lBREMsU0FBUyxDQUFDLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxDQUFDOzsyQ0FDeEI7QUFHdEI7SUFEQyxTQUFTLENBQUMsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLENBQUM7O3VDQUN4QjtBQUdsQjtJQURDLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsQ0FBQzs7b0NBQ3hCO0FBR2Y7SUFEQyxTQUFTLENBQUMsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLENBQUM7OzJDQUN4QjtBQUd0QjtJQURDLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQzs7bUNBQ3hCO0FBakNMLEtBQUs7SUFKakIsZUFBZSxDQUFDO1FBQ2IsSUFBSSxFQUFFLE9BQU87UUFDYixnQkFBZ0IsRUFBRSxhQUFhO0tBQ2xDLENBQUM7R0FDVyxLQUFLLENBbUNqQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCB7IEF0dHJpYnV0ZSwgQmFzZU1vZGVsLCBCYXNlTW9kZWxDb25maWcgfSBmcm9tICdAcm9zb2Z0bGFiL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQXR0cmlidXRlLCBCYXNlTW9kZWwsIEJhc2VNb2RlbENvbmZpZyB9IGZyb20gXCJAcm9zb2Z0bGFiL2NvcmVcIjtcclxuXHJcbkBCYXNlTW9kZWxDb25maWcoe1xyXG4gICAgdHlwZTogJ3JpZ2h0JyxcclxuICAgIG1vZGVsRW5kcG9pbnRVcmw6ICd1c2VyL3JpZ2h0cydcclxufSlcclxuZXhwb3J0IGNsYXNzIFJpZ2h0IGV4dGVuZHMgQmFzZU1vZGVsIHtcclxuXHJcbiAgICBAQXR0cmlidXRlKHsgc2VyaWFsaXplZE5hbWU6ICdpZCcgfSlcclxuICAgIG92ZXJyaWRlIGlkITogc3RyaW5nO1xyXG5cclxuICAgIEBBdHRyaWJ1dGUoeyBzZXJpYWxpemVkTmFtZTogJ25hbWUnIH0pXHJcbiAgICBuYW1lITogc3RyaW5nO1xyXG5cclxuICAgIEBBdHRyaWJ1dGUoeyBzZXJpYWxpemVkTmFtZTogJ3JpZ2h0S2V5JyB9KVxyXG4gICAgcmlnaHRLZXkhOiBzdHJpbmc7XHJcblxyXG4gICAgQEF0dHJpYnV0ZSh7IHNlcmlhbGl6ZWROYW1lOiAncGFnZVBhdGgnIH0pXHJcbiAgICBwYWdlUGF0aCE6IHN0cmluZztcclxuXHJcbiAgICBAQXR0cmlidXRlKHsgc2VyaWFsaXplZE5hbWU6ICdvcmRlcicgfSlcclxuICAgIG9yZGVyITogbnVtYmVyO1xyXG5cclxuICAgIEBBdHRyaWJ1dGUoeyBzZXJpYWxpemVkTmFtZTogJ2lzTWVudScgfSlcclxuICAgIGlzTWVudSE6IGJvb2xlYW47XHJcblxyXG4gICAgQEF0dHJpYnV0ZSh7IHNlcmlhbGl6ZWROYW1lOiAncmVzb3VyY2VOYW1lJyB9KVxyXG4gICAgcmVzb3VyY2VOYW1lITogc3RyaW5nO1xyXG5cclxuICAgIEBBdHRyaWJ1dGUoeyBzZXJpYWxpemVkTmFtZTogJ3BhcmVudElkJyB9KVxyXG4gICAgcGFyZW50SWQhOiBzdHJpbmc7XHJcblxyXG4gICAgQEF0dHJpYnV0ZSh7IHNlcmlhbGl6ZWROYW1lOiAnY29sb3InIH0pXHJcbiAgICBjb2xvciE6IHN0cmluZztcclxuXHJcbiAgICBAQXR0cmlidXRlKHsgc2VyaWFsaXplZE5hbWU6ICdkZWZhdWx0Um9sZXMnIH0pXHJcbiAgICBkZWZhdWx0Um9sZXMhOiBzdHJpbmc7XHJcblxyXG4gICAgQEF0dHJpYnV0ZSh7IHNlcmlhbGl6ZWROYW1lOiAnaWNvbicgfSlcclxuICAgIGljb24/OiBzdHJpbmc7XHJcblxyXG59XHJcbiJdfQ==
@@ -1,30 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Attribute, BaseModel, BaseModelConfig } from "@rosoftlab/core";
3
- let User = class User extends BaseModel {
4
- get fullName() {
5
- return this.firstName + ' ' + this.lastName;
6
- }
7
- };
8
- __decorate([
9
- Attribute({ serializedName: 'id' }),
10
- __metadata("design:type", String)
11
- ], User.prototype, "id", void 0);
12
- __decorate([
13
- Attribute({ serializedName: 'firstName' }),
14
- __metadata("design:type", String)
15
- ], User.prototype, "firstName", void 0);
16
- __decorate([
17
- Attribute({ serializedName: 'lastName' }),
18
- __metadata("design:type", String)
19
- ], User.prototype, "lastName", void 0);
20
- __decorate([
21
- Attribute({ serializedName: 'email' }),
22
- __metadata("design:type", String)
23
- ], User.prototype, "email", void 0);
24
- User = __decorate([
25
- BaseModelConfig({
26
- type: 'user'
27
- })
28
- ], User);
29
- export { User };
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9yZGljdC9zcmMvbGliL21vZGVscy91c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUtqRSxJQUFNLElBQUksR0FBVixNQUFNLElBQUssU0FBUSxTQUFTO0lBYy9CLElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNoRCxDQUFDO0NBQ0osQ0FBQTtBQWRZO0lBRFIsU0FBUyxDQUFDLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxDQUFDOztnQ0FDZjtBQUdyQjtJQURDLFNBQVMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsQ0FBQzs7dUNBQ3hCO0FBR25CO0lBREMsU0FBUyxDQUFDLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxDQUFDOztzQ0FDeEI7QUFHbEI7SUFEQyxTQUFTLENBQUMsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLENBQUM7O21DQUN4QjtBQVpOLElBQUk7SUFIaEIsZUFBZSxDQUFDO1FBQ2IsSUFBSSxFQUFFLE1BQU07S0FDZixDQUFDO0dBQ1csSUFBSSxDQWlCaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdHRyaWJ1dGUsIEJhc2VNb2RlbCwgQmFzZU1vZGVsQ29uZmlnIH0gZnJvbSBcIkByb3NvZnRsYWIvY29yZVwiO1xyXG5cclxuQEJhc2VNb2RlbENvbmZpZyh7XHJcbiAgICB0eXBlOiAndXNlcidcclxufSlcclxuZXhwb3J0IGNsYXNzIFVzZXIgZXh0ZW5kcyBCYXNlTW9kZWwge1xyXG5cclxuICAgIEBBdHRyaWJ1dGUoeyBzZXJpYWxpemVkTmFtZTogJ2lkJyB9KVxyXG4gICAgb3ZlcnJpZGUgaWQhOiBzdHJpbmc7XHJcblxyXG4gICAgQEF0dHJpYnV0ZSh7IHNlcmlhbGl6ZWROYW1lOiAnZmlyc3ROYW1lJyB9KVxyXG4gICAgZmlyc3ROYW1lITogc3RyaW5nO1xyXG5cclxuICAgIEBBdHRyaWJ1dGUoeyBzZXJpYWxpemVkTmFtZTogJ2xhc3ROYW1lJyB9KVxyXG4gICAgbGFzdE5hbWUhOiBzdHJpbmc7XHJcblxyXG4gICAgQEF0dHJpYnV0ZSh7IHNlcmlhbGl6ZWROYW1lOiAnZW1haWwnIH0pXHJcbiAgICBlbWFpbCE6IHN0cmluZztcclxuXHJcbiAgICBnZXQgZnVsbE5hbWUoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5maXJzdE5hbWUgKyAnICcgKyB0aGlzLmxhc3ROYW1lO1xyXG4gICAgfVxyXG59XHJcblxyXG4iXX0=