verben-workflow-ui 0.5.75 → 0.5.77
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/components/flowable-status/flowable-status.component.mjs +13 -6
- package/esm2022/src/lib/components/tasks/tasks.component.mjs +23 -153
- package/esm2022/src/lib/components/tasks/tasks.facade.mjs +45 -7
- package/esm2022/src/lib/components/tasks/tasks.service.mjs +2 -2
- package/esm2022/src/lib/components/tasks/tasks.state.mjs +11 -1
- package/esm2022/src/lib/components/workflows/workflows.component.mjs +14 -5
- package/fesm2022/verben-workflow-ui-src-lib-components-flowable-status.mjs +12 -5
- package/fesm2022/verben-workflow-ui-src-lib-components-flowable-status.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-tasks.mjs +79 -159
- package/fesm2022/verben-workflow-ui-src-lib-components-tasks.mjs.map +1 -1
- package/fesm2022/verben-workflow-ui-src-lib-components-workflows.mjs +13 -4
- package/fesm2022/verben-workflow-ui-src-lib-components-workflows.mjs.map +1 -1
- package/package.json +35 -35
- package/src/lib/components/tasks/tasks.component.d.ts +8 -34
- package/src/lib/components/tasks/tasks.facade.d.ts +7 -1
- package/src/lib/components/tasks/tasks.state.d.ts +4 -0
- package/styles/styles.css +0 -6
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
-
import { lastValueFrom } from 'rxjs';
|
|
2
|
+
import { Subject, debounceTime, distinctUntilChanged, lastValueFrom, takeUntil, } from 'rxjs';
|
|
3
3
|
import { ErrorResponse } from 'verben-workflow-ui/src/lib/models';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "./tasks.service";
|
|
@@ -9,14 +9,50 @@ export class TaskFacade {
|
|
|
9
9
|
taskService;
|
|
10
10
|
taskState;
|
|
11
11
|
utilService;
|
|
12
|
+
searchSubject = new Subject();
|
|
13
|
+
destroy$ = new Subject();
|
|
12
14
|
constructor(taskService, taskState, utilService) {
|
|
13
15
|
this.taskService = taskService;
|
|
14
16
|
this.taskState = taskState;
|
|
15
17
|
this.utilService = utilService;
|
|
18
|
+
// Set up debounced search handling
|
|
19
|
+
this.searchSubject
|
|
20
|
+
.pipe(debounceTime(1000), distinctUntilChanged((a, b) => a.term === b.term), takeUntil(this.destroy$))
|
|
21
|
+
.subscribe(({ term, user }) => {
|
|
22
|
+
this.handleSearch(term, user);
|
|
23
|
+
});
|
|
16
24
|
this.isUpdating$().subscribe((loading) => {
|
|
17
25
|
this.utilService.sendBI(loading);
|
|
18
26
|
});
|
|
19
27
|
}
|
|
28
|
+
ngOnDestroy() {
|
|
29
|
+
this.destroy$.next();
|
|
30
|
+
this.destroy$.complete();
|
|
31
|
+
}
|
|
32
|
+
// Search handling
|
|
33
|
+
search(term, user) {
|
|
34
|
+
this.searchSubject.next({ term, user });
|
|
35
|
+
}
|
|
36
|
+
async handleSearch(searchTerm, user) {
|
|
37
|
+
this.taskState.setSearchTerm(searchTerm);
|
|
38
|
+
this.taskState.resetPagination();
|
|
39
|
+
try {
|
|
40
|
+
this.taskState.setUpdating(true);
|
|
41
|
+
if (searchTerm.trim()) {
|
|
42
|
+
await this.loadRequestsWithParam(searchTerm);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
await this.loadRequests(user);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
console.error('Search failed:', error);
|
|
50
|
+
throw error;
|
|
51
|
+
}
|
|
52
|
+
finally {
|
|
53
|
+
this.taskState.setUpdating(false);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
20
56
|
isUpdating$() {
|
|
21
57
|
return this.taskState.isUpdating$();
|
|
22
58
|
}
|
|
@@ -254,12 +290,14 @@ export class TaskFacade {
|
|
|
254
290
|
try {
|
|
255
291
|
this.taskState.setUpdating(true);
|
|
256
292
|
const currentParams = this.taskState.getQueryParamsValue();
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
//
|
|
293
|
+
const searchTerm = this.taskState.getSearchTermValue();
|
|
294
|
+
// The first page is already loaded at skip=0 without advancing the
|
|
295
|
+
// pointer, so fetch the *next* page starting at newSkip.
|
|
260
296
|
const newSkip = currentParams.skip + currentParams.limit;
|
|
261
|
-
// Load and append data
|
|
262
|
-
const response =
|
|
297
|
+
// Load and append data, honouring any active search term
|
|
298
|
+
const response = searchTerm
|
|
299
|
+
? await this.taskService.getTaskWithParam(searchTerm, newSkip, currentParams.limit, currentParams.sortParam || 'createdDate', currentParams.sortOrder)
|
|
300
|
+
: await this.taskService.getTasks(newSkip, currentParams.limit, currentParams.sortParam || 'createdDate', currentParams.sortOrder);
|
|
263
301
|
if (response instanceof ErrorResponse) {
|
|
264
302
|
this.utilService.showError(response.ErrorMsg);
|
|
265
303
|
return;
|
|
@@ -314,4 +352,4 @@ export class TaskFacade {
|
|
|
314
352
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TaskFacade, decorators: [{
|
|
315
353
|
type: Injectable
|
|
316
354
|
}], ctorParameters: () => [{ type: i1.TasksService }, { type: i2.TaskState }, { type: i3.UtilService }] });
|
|
317
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza3MuZmFjYWRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy90YXNrcy90YXNrcy5mYWNhZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBUyxhQUFhLEVBQXFDLE1BQU0sbUNBQW1DLENBQUM7Ozs7O0FBTTVHLE1BQU0sT0FBTyxVQUFVO0lBRVg7SUFDQTtJQUNBO0lBSFYsWUFDVSxXQUF5QixFQUN6QixTQUFvQixFQUNwQixXQUF3QjtRQUZ4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYztRQUN6QixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRWhDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN2QyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENB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UUFDcEMsQ0FBQztJQUNILENBQUM7d0dBdlhVLFVBQVU7NEdBQVYsVUFBVTs7NEZBQVYsVUFBVTtrQkFEdEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGxhc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFjdG9yLCBFcnJvclJlc3BvbnNlLCBGb3JtLCBRdWVyeVBhcmFtcywgVGFzaywgV29ya2Zsb3cgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBUYXNrc1NlcnZpY2UgfSBmcm9tICcuL3Rhc2tzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFza1N0YXRlIH0gZnJvbSAnLi90YXNrcy5zdGF0ZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUYXNrRmFjYWRlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0YXNrU2VydmljZTogVGFza3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgdGFza1N0YXRlOiBUYXNrU3RhdGUsXG4gICAgcHJpdmF0ZSB1dGlsU2VydmljZTogVXRpbFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5pc1VwZGF0aW5nJCgpLnN1YnNjcmliZSgobG9hZGluZykgPT4ge1xuICAgICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkobG9hZGluZyk7XG4gICAgfSk7XG4gIH1cblxuICBpc1VwZGF0aW5nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy50YXNrU3RhdGUuaXNVcGRhdGluZyQoKTtcbiAgfVxuXG4gIGdldFJlcXVlc3RzJCgpOiBPYnNlcnZhYmxlPFRhc2tbXT4ge1xuICAgIHJldHVybiB0aGlzLnRhc2tTdGF0ZS5nZXRSZXF1ZXN0cyQoKTtcbiAgfVxuXG4gIGdldFdvcmtmbG93JCgpOiBPYnNlcnZhYmxlPFdvcmtmbG93W10+IHtcbiAgICByZXR1cm4gdGhpcy50YXNrU3RhdGUuZ2V0V29ya2Zsb3dzJCgpO1xuICB9XG5cbiAgZ2V0Rm9ybXMkKCk6IE9ic2VydmFibGU8Rm9ybVtdPiB7XG4gICAgcmV0dXJuIHRoaXMudGFza1N0YXRlLmdldEZvcm1zJCgpO1xuICB9XG5cbiAgZ2V0TmV4dEFjdG9ycyQoKTogT2JzZXJ2YWJsZTxBY3RvcltdPiB7XG4gICAgcmV0dXJuIHRoaXMudGFza1N0YXRlLmdldE5leHRBY3RvcnMkKCk7XG4gIH1cblxuICBnZXRRdWVyeVBhcmFtcyQoKTogT2JzZXJ2YWJsZTxRdWVyeVBhcmFtczxUYXNrPj4ge1xuICAgIHJldHVybiB0aGlzLnRhc2tTdGF0ZS5nZXRRdWVyeVBhcmFtcyQoKTtcbiAgfVxuXG4gIGFkZE5ld1JlcXVlc3QodGFzazogVGFzaykge1xuICAgIHRoaXMudGFza1N0YXRlLmFkZFJlcXVlc3QodGFzayk7XG4gIH1cblxuICBhc3luYyBsb2FkUmVxdWVzdHModXNlcj86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnRhc2tTdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMudGFza1N0YXRlLmdldFF1ZXJ5UGFyYW1zVmFsdWUoKTtcblxuICAgICAgY29uc3QgcmVxdWVzdHMgPSB1c2VyID8gYXdhaXQgdGhpcy50YXNrU2VydmljZS5nZXRQb3NzaWJsZVRhc2tzRm9yVXNlcihcbiAgICAgICAgdXNlcixcbiAgICAgICAgcGFyYW1zLnNraXAsXG4gICAgICAgIHBhcmFtcy5saW1pdCxcbiAgICAgICAgcGFyYW1zLnNvcnRQYXJhbSB8fCAnY3JlYXRlZERhdGUnLFxuICAgICAgICBwYXJhbXMuc29ydE9yZGVyXG4gICAgICApIDogYXdhaXQgdGhpcy50YXNrU2VydmljZS5nZXRUYXNrcyhcbiAgICAgICAgcGFyYW1zLnNraXAsXG4gICAgICAgIHBhcmFtcy5saW1pdCxcbiAgICAgICAgcGFyYW1zLnNvcnRQYXJhbSB8fCAnY3JlYXRlZERhdGUnLFxuICAgICAgICBwYXJhbXMuc29ydE9yZGVyXG4gICAgICApO1xuXG4gICAgICBpZiAocmVxdWVzdHMgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2hvd0Vycm9yKHJlcXVlc3RzLkVycm9yTXNnKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVxdWVzdHM/LlJlc3VsdCkge1xuICAgICAgICB0aGlzLnRhc2tTdGF0ZS5zZXRSZXF1ZXN0cyhyZXF1ZXN0cy5SZXN1bHQpO1xuICAgICAgICB0aGlzLnRhc2tTdGF0ZS51cGRhdGVRdWVyeVBhcmFtcyh7IHNraXA6IHJlcXVlc3RzLlNraXAgfSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIHJlcXVlc3RzOicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnRhc2tTdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbG9hZFJlcXVlc3RzV2l0aFBhcmFtKHBhcmFtOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy50YXNrU3RhdGUuc2V0VXBkYXRpbmcodHJ1ZSk7XG4gICAgICBjb25zdCBwYXJhbXMgPSB0aGlzLnRhc2tTdGF0ZS5nZXRRdWVyeVBhcmFtc1ZhbHVlKCk7XG5cbiAgICAgIGNvbnN0IHJlcXVlc3RzID0gYXdhaXQgdGhpcy50YXNrU2VydmljZS5nZXRUYXNrV2l0aFBhcmFtKFxuICAgICAgICBwYXJhbSxcbiAgICAgICAgcGFyYW1zLnNraXAsXG4gICAgICAgIHBhcmFtcy5saW1pdCxcbiAgICAgICAgcGFyYW1zLnNvcnRQYXJhbSB8fCAnQ3JlYXRlZERhdGUnLFxuICAgICAgICBwYXJhbXMuc29ydE9yZGVyXG4gICAgICApO1xuXG4gICAgICBpZiAocmVxdWVzdHMgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2hvd0Vycm9yKHJlcXVlc3RzLkVycm9yTXNnKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnRhc2tTdGF0ZS5zZXRSZXF1ZXN0cyhyZXF1ZXN0cy5SZXN1bHQpO1xuICAgICAgdGhpcy50YXNrU3RhdGUudXBkYXRlUXVlcnlQYXJhbXMoeyBza2lwOiByZXF1ZXN0cy5Ta2lwIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbG9hZCByZXF1ZXN0cyB3aXRoIHBhcmFtOicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnRhc2tTdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlUXVlcnlQYXJhbXMocGFyYW1zOiBQYXJ0aWFsPFF1ZXJ5UGFyYW1zPFRhc2s+Pik6IHZvaWQge1xuICAgIHRoaXMudGFza1N0YXRlLnVwZGF0ZVF1ZXJ5UGFyYW1zKHBhcmFtcyk7XG4gICAgLy8gdGhpcy5sb2FkUmVxdWVzdHMoKTtcbiAgfVxuXG4gIGFzeW5jIGFkZFJlcXVlc3QocmVxdWVzdDogUGFydGlhbDxUYXNrPik6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnRhc2tTdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IG5ld1JlcXVlc3QgPSB7IC4uLnJlcXVlc3QsIFRhc2tGb3JtczogW10gfSBhcyBUYXNrO1xuICAgICAgLy8gdGhpcy50YXNrU3RhdGUuYWRkUmVxdWVzdChuZXdSZXF1ZXN0KTtcblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnRhc2tTZXJ2aWNlLnNhdmVUYXNrcyhbbmV3UmVxdWVzdF0pO1xuXG4gICAgICBpZiAocmVzcG9uc2UgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2hvd0Vycm9yKHJlc3BvbnNlLkVycm9yTXNnKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnV0aWxTZXJ2aWNlLnNob3dTdWNjZXNzKCdUYXNrIGFkZGVkIHN1Y2Nlc3NmdWxseScpO1xuICAgICAgdGhpcy50YXNrU3RhdGUucmVzZXRQYWdpbmF0aW9uKCk7XG4gICAgICBhd2FpdCB0aGlzLmxvYWRSZXF1ZXN0cygpOyAvLyBSZWxvYWQgdG8gZ2V0IHNlcnZlci1zaWRlIGNoYW5nZXNcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGFkZCByZXF1ZXN0OicsIGVycm9yKTtcbiAgICAgIHRoaXMudGFza1N0YXRlLnJlbW92ZVJlcXVlc3QocmVxdWVzdC5Db2RlISk7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy50YXNrU3RhdGUuc2V0VXBkYXRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZVJlcXVlc3QocmVxdWVzdDogVGFzayk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnRhc2tTdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy50YXNrU2VydmljZS5zYXZlVGFza3MoW3JlcXVlc3RdKTtcblxuICAgICAgaWYgKHJlc3BvbnNlIGluc3RhbmNlb2YgRXJyb3JSZXNwb25zZSkge1xuICAgICAgICB0aGlzLnV0aWxTZXJ2aWNlLnNob3dFcnJvcihyZXNwb25zZS5FcnJvck1zZyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy51dGlsU2VydmljZS5zaG93U3VjY2VzcygnVGFzayB1cGRhdGVkIHN1Y2Nlc3NmdWxseScpO1xuICAgICAgdGhpcy50YXNrU3RhdGUudXBkYXRlUmVxdWVzdChyZXF1ZXN0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHVwZGF0ZSByZXF1ZXN0OicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnRhc2tTdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZGVsZXRlUmVxdWVzdChyZXF1ZXN0SWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnRhc2tTdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGF3YWl0IGxhc3RWYWx1ZUZyb20odGhpcy50YXNrU2VydmljZS5kZWxldGVUYXNrcyhbcmVxdWVzdElkXSkpO1xuICAgICAgdGhpcy50YXNrU3RhdGUucmVtb3ZlUmVxdWVzdChyZXF1ZXN0SWQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gZGVsZXRlIHJlcXVlc3Q6JywgZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMudGFza1N0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBhcHByb3ZlUmVxdWVzdChyZXF1ZXN0OiBUYXNrKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMudGFza1N0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnRhc2tTZXJ2aWNlLnByb2Nlc3NUYXNrcyhbcmVxdWVzdF0sIHRydWUpO1xuXG4gICAgICBpZiAocmVzcG9uc2UgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2hvd0Vycm9yKHJlc3BvbnNlLkVycm9yTXNnKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICBjb25zdCBkYXRhID0gKHJlc3BvbnNlIGFzIFRhc2tbXSk/LlswXTtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIHRoaXMudGFza1N0YXRlLnVwZGF0ZVJlcXVlc3QoZGF0YSk7XG4gICAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2hvd1N1Y2Nlc3MoJ1Rhc2sgYXBwcm92ZWQgc3VjY2Vzc2Z1bGx5Jyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byB1cGRhdGUgcmVxdWVzdDonLCBlcnJvcik7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy50YXNrU3RhdGUuc2V0VXBkYXRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGxvYWRXb3JrZmxvd3MoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcXVlc3RzID0gYXdhaXQgdGhpcy50YXNrU2VydmljZS5nZXRXb3JrZmxvd3MoKTtcblxuICAgICAgaWYgKHJlcXVlc3RzIGluc3RhbmNlb2YgRXJyb3JSZXNwb25zZSkge1xuICAgICAgICB0aGlzLnV0aWxTZXJ2aWNlLnNob3dFcnJvcihyZXF1ZXN0cy5FcnJvck1zZyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy50YXNrU3RhdGUuc2V0V29ya2Zsb3dzKHJlcXVlc3RzLlJlc3VsdCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIHJlcXVlc3RzOicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbG9hZEZvcm1zV2l0aFBhcmFtKHBhcmFtOiBzdHJpbmcpOiBQcm9taXNlPEZvcm0gfCB2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMudGFza1N0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuXG4gICAgICBjb25zdCByZXF1ZXN0cyA9IGF3YWl0IHRoaXMudGFza1NlcnZpY2UuZ2V0Rm9ybVdpdGhQYXJhbShwYXJhbSk7XG5cbiAgICAgIGlmIChyZXF1ZXN0cyBpbnN0YW5jZW9mIEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgdGhpcy51dGlsU2VydmljZS5zaG93RXJyb3IocmVxdWVzdHMuRXJyb3JNc2cpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZvcm0gPSByZXF1ZXN0cy5SZXN1bHRbMF07XG4gICAgICBpZiAoZm9ybSkgcmV0dXJuIGZvcm07XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIHJlcXVlc3RzIHdpdGggcGFyYW06JywgZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMudGFza1N0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyByZUFzc2lnbihcbiAgICByZXF1ZXN0OiBUYXNrLFxuICAgIGNvbW1lbnQ6IHN0cmluZyxcbiAgICB0b1VzZXI/OiBzdHJpbmcsXG4gICAgZnJvbVVzZXI/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMudGFza1N0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnRhc2tTZXJ2aWNlLnJlQXNzaWduKFxuICAgICAgICB7XG4gICAgICAgICAgLi4ucmVxdWVzdCxcbiAgICAgICAgICBGdWxsU3RhZ2VzOiBbXSxcbiAgICAgICAgICBDdXJyZW50QWN0b3JzOiByZXF1ZXN0LkN1cnJlbnRBY3RvcnMubWFwKChjKSA9PiAoe1xuICAgICAgICAgICAgLi4uYyxcbiAgICAgICAgICAgIEFjdG9yVGFnczogW10sXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9LFxuICAgICAgICBjb21tZW50LFxuICAgICAgICB0b1VzZXIsXG4gICAgICAgIGZyb21Vc2VyXG4gICAgICApO1xuXG4gICAgICBpZiAocmVzcG9uc2UgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2hvd0Vycm9yKHJlc3BvbnNlLkVycm9yTXNnKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICB0aGlzLnV0aWxTZXJ2aWNlLnNob3dTdWNjZXNzKCdUYXNrIHJlLWFzc2lnbmVkIHN1Y2Nlc3NmdWxseScpO1xuICAgICAgY29uc3QgZGF0YSA9IHJlc3BvbnNlIGFzIFRhc2s7XG4gICAgICBpZiAoZGF0YSkge1xuICAgICAgICB0aGlzLnRhc2tTdGF0ZS51cGRhdGVSZXF1ZXN0KGRhdGEpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gdXBkYXRlIHJlcXVlc3Q6JywgZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMudGFza1N0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkTmV4dEFjdG9ycyhcbiAgICB0YXNrQ29kZTogc3RyaW5nLFxuICAgIHN0YWdlQ29kZT86IHN0cmluZyxcbiAgICBmb3JDdXJyZW50U3RhZ2U/OiBib29sZWFuXG4gICk6IFByb21pc2U8QWN0b3JbXT4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnRhc2tTdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMudGFza1N0YXRlLmdldFF1ZXJ5UGFyYW1zVmFsdWUoKTtcblxuICAgICAgY29uc3QgcmVxdWVzdHMgPSBhd2FpdCB0aGlzLnRhc2tTZXJ2aWNlLmdldE5leHRBY3RvcnMoXG4gICAgICAgIHRhc2tDb2RlLFxuICAgICAgICBzdGFnZUNvZGUsXG4gICAgICAgIGZvckN1cnJlbnRTdGFnZVxuICAgICAgKTtcblxuICAgICAgaWYgKHJlcXVlc3RzIGluc3RhbmNlb2YgRXJyb3JSZXNwb25zZSkge1xuICAgICAgICB0aGlzLnV0aWxTZXJ2aWNlLnNob3dFcnJvcihyZXF1ZXN0cy5FcnJvck1zZyk7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cblxuICAgICAgdGhpcy50YXNrU3RhdGUuc2V0TmV4dEFjdG9ycyhyZXF1ZXN0cyk7XG5cbiAgICAgIHJldHVybiByZXF1ZXN0cztcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGxvYWQgcmVxdWVzdHMgd2l0aCBwYXJhbTonLCBlcnJvcik7XG4gICAgICByZXR1cm4gW107XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMudGFza1N0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAvLyBMb2FkIG1vcmUgaGFuZGxpbmdcbiAgYXN5bmMgbG9hZE1vcmUocXVldWU6IGJvb2xlYW4gPSBmYWxzZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnRhc2tTdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IGN1cnJlbnRQYXJhbXMgPSB0aGlzLnRhc2tTdGF0ZS5nZXRRdWVyeVBhcmFtc1ZhbHVlKCk7XG4gICAgICAvLyBjb25zdCBzZWFyY2hUZXJtID0gdGhpcy50YXNrU3RhdGUuZ2V0U2VhcmNoVGVybVZhbHVlKCk7XG4gICAgICBjb25zdCBzZWFyY2hUZXJtID0gZmFsc2U7XG5cbiAgICAgIC8vIFVwZGF0ZSBza2lwIHZhbHVlXG4gICAgICBjb25zdCBuZXdTa2lwID0gY3VycmVudFBhcmFtcy5za2lwICsgY3VycmVudFBhcmFtcy5saW1pdDtcblxuICAgICAgLy8gTG9hZCBhbmQgYXBwZW5kIGRhdGFcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy50YXNrU2VydmljZS5nZXRUYXNrcyhcbiAgICAgICAgY3VycmVudFBhcmFtcy5za2lwLFxuICAgICAgICBjdXJyZW50UGFyYW1zLmxpbWl0LFxuICAgICAgICBjdXJyZW50UGFyYW1zLnNvcnRQYXJhbSB8fCAnY3JlYXRlZERhdGUnLFxuICAgICAgICBjdXJyZW50UGFyYW1zLnNvcnRPcmRlclxuICAgICAgKTtcblxuICAgICAgaWYgKHJlc3BvbnNlIGluc3RhbmNlb2YgRXJyb3JSZXNwb25zZSkge1xuICAgICAgICB0aGlzLnV0aWxTZXJ2aWNlLnNob3dFcnJvcihyZXNwb25zZS5FcnJvck1zZyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy50YXNrU3RhdGUuYXBwZW5kUmVxdWVzdHMocmVzcG9uc2UuUmVzdWx0KTtcbiAgICAgIHRoaXMudGFza1N0YXRlLnVwZGF0ZVF1ZXJ5UGFyYW1zKHtcbiAgICAgICAgc2tpcDogbmV3U2tpcCxcbiAgICAgICAgbGltaXQ6IGN1cnJlbnRQYXJhbXMubGltaXQsXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignTG9hZCBtb3JlIGZhaWxlZDonLCBlcnJvcik7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy50YXNrU3RhdGUuc2V0VXBkYXRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHBpY2tUYXNrKFxuICAgIHJlcXVlc3Q6IFRhc2ssXG4gICAgY29tbWVudDogc3RyaW5nLFxuICAgIHRvVXNlcj86IHN0cmluZyxcbiAgICB0YXJnZXRTdGFnZUNvZGU/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMudGFza1N0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnRhc2tTZXJ2aWNlLnBpY2tUYXNrKFxuICAgICAgICB7XG4gICAgICAgICAgLi4ucmVxdWVzdCxcbiAgICAgICAgICBGdWxsU3RhZ2VzOiBbXSxcbiAgICAgICAgICBDdXJyZW50QWN0b3JzOiByZXF1ZXN0LkN1cnJlbnRBY3RvcnMubWFwKChjKSA9PiAoe1xuICAgICAgICAgICAgLi4uYyxcbiAgICAgICAgICAgIEFjdG9yVGFnczogW10sXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9LFxuICAgICAgICBjb21tZW50LFxuICAgICAgICB0b1VzZXIsXG4gICAgICAgIHRhcmdldFN0YWdlQ29kZSxcbiAgICAgICk7XG5cbiAgICAgIGlmIChyZXNwb25zZSBpbnN0YW5jZW9mIEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgdGhpcy51dGlsU2VydmljZS5zaG93RXJyb3IocmVzcG9uc2UuRXJyb3JNc2cpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcbiAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2hvd1N1Y2Nlc3MoJ1Rhc2sgcGlja2VkIHN1Y2Nlc3NmdWxseScpO1xuICAgICAgY29uc3QgZGF0YSA9IHJlc3BvbnNlIGFzIFRhc2s7XG4gICAgICBpZiAoZGF0YSkge1xuICAgICAgICB0aGlzLnRhc2tTdGF0ZS51cGRhdGVSZXF1ZXN0KGRhdGEpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gcGljayB0YXNrJywgZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMudGFza1N0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
355
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza3MuZmFjYWRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy90YXNrcy90YXNrcy5mYWNhZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBRUwsT0FBTyxFQUNQLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsYUFBYSxFQUNiLFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBUyxhQUFhLEVBQXFDLE1BQU0sbUNBQW1DLENBQUM7Ozs7O0FBTTVHLE1BQU0sT0FBTyxVQUFVO0lBS1g7SUFDQTtJQUNBO0lBTkYsYUFBYSxHQUFHLElBQUksT0FBTyxFQUFtQyxDQUFDO0lBQy9ELFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRXZDLFlBQ1UsV0FBeUIsRUFDekIsU0FBb0IsRUFDcEIsV0FBd0I7UUFGeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWM7UUFDekIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUVoQyxtQ0FBbUM7UUFDbkMsSUFBSSxDQUFDLGFBQWE7YUFDZixJQUFJLENBQ0gsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUNsQixvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUNqRCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN6QjthQUNBLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEMsQ0FB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LEVBQ0QsT0FBTyxFQUNQLE1BQU0sRUFDTixlQUFlLENBQ2hCLENBQUM7WUFFRixJQUFJLFFBQVEsWUFBWSxhQUFhLEVBQUUsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM5QyxPQUFPO1lBQ1QsQ0FBQztZQUVELHlCQUF5QjtZQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1lBQ3pELE1BQU0sSUFBSSxHQUFHLFFBQWdCLENBQUM7WUFDOUIsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyQyxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzVDLE1BQU0sS0FBSyxDQUFDO1FBQ2QsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7d0dBMWFVLFVBQVU7NEdBQVYsVUFBVTs7NEZBQVYsVUFBVTtrQkFEdEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgZGVib3VuY2VUaW1lLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgbGFzdFZhbHVlRnJvbSxcbiAgdGFrZVVudGlsLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFjdG9yLCBFcnJvclJlc3BvbnNlLCBGb3JtLCBRdWVyeVBhcmFtcywgVGFzaywgV29ya2Zsb3cgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBUYXNrc1NlcnZpY2UgfSBmcm9tICcuL3Rhc2tzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFza1N0YXRlIH0gZnJvbSAnLi90YXNrcy5zdGF0ZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUYXNrRmFjYWRlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzZWFyY2hTdWJqZWN0ID0gbmV3IFN1YmplY3Q8eyB0ZXJtOiBzdHJpbmc7IHVzZXI/OiBzdHJpbmcgfT4oKTtcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0YXNrU2VydmljZTogVGFza3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgdGFza1N0YXRlOiBUYXNrU3RhdGUsXG4gICAgcHJpdmF0ZSB1dGlsU2VydmljZTogVXRpbFNlcnZpY2VcbiAgKSB7XG4gICAgLy8gU2V0IHVwIGRlYm91bmNlZCBzZWFyY2ggaGFuZGxpbmdcbiAgICB0aGlzLnNlYXJjaFN1YmplY3RcbiAgICAgIC5waXBlKFxuICAgICAgICBkZWJvdW5jZVRpbWUoMTAwMCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhLnRlcm0gPT09IGIudGVybSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoeyB0ZXJtLCB1c2VyIH0pID0+IHtcbiAgICAgICAgdGhpcy5oYW5kbGVTZWFyY2godGVybSwgdXNlcik7XG4gICAgICB9KTtcblxuICAgIHRoaXMuaXNVcGRhdGluZyQoKS5zdWJzY3JpYmUoKGxvYWRpbmcpID0+IHtcbiAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKGxvYWRpbmcpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLy8gU2VhcmNoIGhhbmRsaW5nXG4gIHNlYXJjaCh0ZXJtOiBzdHJpbmcsIHVzZXI/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFN1YmplY3QubmV4dCh7IHRlcm0sIHVzZXIgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGhhbmRsZVNlYXJjaChzZWFyY2hUZXJtOiBzdHJpbmcsIHVzZXI/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLnRhc2tTdGF0ZS5zZXRTZWFyY2hUZXJtKHNlYXJjaFRlcm0pO1xuICAgIHRoaXMudGFza1N0YXRlLnJlc2V0UGFnaW5hdGlvbigpO1xuXG4gICAgdHJ5IHtcbiAgICAgIHRoaXMudGFza1N0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgaWYgKHNlYXJjaFRlcm0udHJpbSgpKSB7XG4gICAgICAgIGF3YWl0IHRoaXMubG9hZFJlcXVlc3RzV2l0aFBhcmFtKHNlYXJjaFRlcm0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXdhaXQgdGhpcy5sb2FkUmVxdWVzdHModXNlcik7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1NlYXJjaCBmYWlsZWQ6JywgZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMudGFza1N0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBpc1VwZGF0aW5nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy50YXNrU3RhdGUuaXNVcGRhdGluZyQoKTtcbiAgfVxuXG4gIGdldFJlcXVlc3RzJCgpOiBPYnNlcnZhYmxlPFRhc2tbXT4ge1xuICAgIHJldHVybiB0aGlzLnRhc2tTdGF0ZS5nZXRSZXF1ZXN0cyQoKTtcbiAgfVxuXG4gIGdldFdvcmtmbG93JCgpOiBPYnNlcnZhYmxlPFdvcmtmbG93W10+IHtcbiAgICByZXR1cm4gdGhpcy50YXNrU3RhdGUuZ2V0V29ya2Zsb3dzJCgpO1xuICB9XG5cbiAgZ2V0Rm9ybXMkKCk6IE9ic2VydmFibGU8Rm9ybVtdPiB7XG4gICAgcmV0dXJuIHRoaXMudGFza1N0YXRlLmdldEZvcm1zJCgpO1xuICB9XG5cbiAgZ2V0TmV4dEFjdG9ycyQoKTogT2JzZXJ2YWJsZTxBY3RvcltdPiB7XG4gICAgcmV0dXJuIHRoaXMudGFza1N0YXRlLmdldE5leHRBY3RvcnMkKCk7XG4gIH1cblxuICBnZXRRdWVyeVBhcmFtcyQoKTogT2JzZXJ2YWJsZTxRdWVyeVBhcmFtczxUYXNrPj4ge1xuICAgIHJldHVybiB0aGlzLnRhc2tTdGF0ZS5nZXRRdWVyeVBhcmFtcyQoKTtcbiAgfVxuXG4gIGFkZE5ld1JlcXVlc3QodGFzazogVGFzaykge1xuICAgIHRoaXMudGFza1N0YXRlLmFkZFJlcXVlc3QodGFzayk7XG4gIH1cblxuICBhc3luYyBsb2FkUmVxdWVzdHModXNlcj86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnRhc2tTdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMudGFza1N0YXRlLmdldFF1ZXJ5UGFyYW1zVmFsdWUoKTtcblxuICAgICAgY29uc3QgcmVxdWVzdHMgPSB1c2VyID8gYXdhaXQgdGhpcy50YXNrU2VydmljZS5nZXRQb3NzaWJsZVRhc2tzRm9yVXNlcihcbiAgICAgICAgdXNlcixcbiAgICAgICAgcGFyYW1zLnNraXAsXG4gICAgICAgIHBhcmFtcy5saW1pdCxcbiAgICAgICAgcGFyYW1zLnNvcnRQYXJhbSB8fCAnY3JlYXRlZERhdGUnLFxuICAgICAgICBwYXJhbXMuc29ydE9yZGVyXG4gICAgICApIDogYXdhaXQgdGhpcy50YXNrU2VydmljZS5nZXRUYXNrcyhcbiAgICAgICAgcGFyYW1zLnNraXAsXG4gICAgICAgIHBhcmFtcy5saW1pdCxcbiAgICAgICAgcGFyYW1zLnNvcnRQYXJhbSB8fCAnY3JlYXRlZERhdGUnLFxuICAgICAgICBwYXJhbXMuc29ydE9yZGVyXG4gICAgICApO1xuXG4gICAgICBpZiAocmVxdWVzdHMgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2hvd0Vycm9yKHJlcXVlc3RzLkVycm9yTXNnKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVxdWVzdHM/LlJlc3VsdCkge1xuICAgICAgICB0aGlzLnRhc2tTdGF0ZS5zZXRSZXF1ZXN0cyhyZXF1ZXN0cy5SZXN1bHQpO1xuICAgICAgICB0aGlzLnRhc2tTdGF0ZS51cGRhdGVRdWVyeVBhcmFtcyh7IHNraXA6IHJlcXVlc3RzLlNraXAgfSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIHJlcXVlc3RzOicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnRhc2tTdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbG9hZFJlcXVlc3RzV2l0aFBhcmFtKHBhcmFtOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgdGhpcy50YXNrU3RhdGUuc2V0VXBkYXRpbmcodHJ1ZSk7XG4gICAgICBjb25zdCBwYXJhbXMgPSB0aGlzLnRhc2tTdGF0ZS5nZXRRdWVyeVBhcmFtc1ZhbHVlKCk7XG5cbiAgICAgIGNvbnN0IHJlcXVlc3RzID0gYXdhaXQgdGhpcy50YXNrU2VydmljZS5nZXRUYXNrV2l0aFBhcmFtKFxuICAgICAgICBwYXJhbSxcbiAgICAgICAgcGFyYW1zLnNraXAsXG4gICAgICAgIHBhcmFtcy5saW1pdCxcbiAgICAgICAgcGFyYW1zLnNvcnRQYXJhbSB8fCAnQ3JlYXRlZERhdGUnLFxuICAgICAgICBwYXJhbXMuc29ydE9yZGVyXG4gICAgICApO1xuXG4gICAgICBpZiAocmVxdWVzdHMgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2hvd0Vycm9yKHJlcXVlc3RzLkVycm9yTXNnKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnRhc2tTdGF0ZS5zZXRSZXF1ZXN0cyhyZXF1ZXN0cy5SZXN1bHQpO1xuICAgICAgdGhpcy50YXNrU3RhdGUudXBkYXRlUXVlcnlQYXJhbXMoeyBza2lwOiByZXF1ZXN0cy5Ta2lwIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbG9hZCByZXF1ZXN0cyB3aXRoIHBhcmFtOicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnRhc2tTdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlUXVlcnlQYXJhbXMocGFyYW1zOiBQYXJ0aWFsPFF1ZXJ5UGFyYW1zPFRhc2s+Pik6IHZvaWQge1xuICAgIHRoaXMudGFza1N0YXRlLnVwZGF0ZVF1ZXJ5UGFyYW1zKHBhcmFtcyk7XG4gICAgLy8gdGhpcy5sb2FkUmVxdWVzdHMoKTtcbiAgfVxuXG4gIGFzeW5jIGFkZFJlcXVlc3QocmVxdWVzdDogUGFydGlhbDxUYXNrPik6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnRhc2tTdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IG5ld1JlcXVlc3QgPSB7IC4uLnJlcXVlc3QsIFRhc2tGb3JtczogW10gfSBhcyBUYXNrO1xuICAgICAgLy8gdGhpcy50YXNrU3RhdGUuYWRkUmVxdWVzdChuZXdSZXF1ZXN0KTtcblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnRhc2tTZXJ2aWNlLnNhdmVUYXNrcyhbbmV3UmVxdWVzdF0pO1xuXG4gICAgICBpZiAocmVzcG9uc2UgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2hvd0Vycm9yKHJlc3BvbnNlLkVycm9yTXNnKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnV0aWxTZXJ2aWNlLnNob3dTdWNjZXNzKCdUYXNrIGFkZGVkIHN1Y2Nlc3NmdWxseScpO1xuICAgICAgdGhpcy50YXNrU3RhdGUucmVzZXRQYWdpbmF0aW9uKCk7XG4gICAgICBhd2FpdCB0aGlzLmxvYWRSZXF1ZXN0cygpOyAvLyBSZWxvYWQgdG8gZ2V0IHNlcnZlci1zaWRlIGNoYW5nZXNcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGFkZCByZXF1ZXN0OicsIGVycm9yKTtcbiAgICAgIHRoaXMudGFza1N0YXRlLnJlbW92ZVJlcXVlc3QocmVxdWVzdC5Db2RlISk7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy50YXNrU3RhdGUuc2V0VXBkYXRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZVJlcXVlc3QocmVxdWVzdDogVGFzayk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnRhc2tTdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy50YXNrU2VydmljZS5zYXZlVGFza3MoW3JlcXVlc3RdKTtcblxuICAgICAgaWYgKHJlc3BvbnNlIGluc3RhbmNlb2YgRXJyb3JSZXNwb25zZSkge1xuICAgICAgICB0aGlzLnV0aWxTZXJ2aWNlLnNob3dFcnJvcihyZXNwb25zZS5FcnJvck1zZyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy51dGlsU2VydmljZS5zaG93U3VjY2VzcygnVGFzayB1cGRhdGVkIHN1Y2Nlc3NmdWxseScpO1xuICAgICAgdGhpcy50YXNrU3RhdGUudXBkYXRlUmVxdWVzdChyZXF1ZXN0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHVwZGF0ZSByZXF1ZXN0OicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnRhc2tTdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZGVsZXRlUmVxdWVzdChyZXF1ZXN0SWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnRhc2tTdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGF3YWl0IGxhc3RWYWx1ZUZyb20odGhpcy50YXNrU2VydmljZS5kZWxldGVUYXNrcyhbcmVxdWVzdElkXSkpO1xuICAgICAgdGhpcy50YXNrU3RhdGUucmVtb3ZlUmVxdWVzdChyZXF1ZXN0SWQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gZGVsZXRlIHJlcXVlc3Q6JywgZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMudGFza1N0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBhcHByb3ZlUmVxdWVzdChyZXF1ZXN0OiBUYXNrKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMudGFza1N0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnRhc2tTZXJ2aWNlLnByb2Nlc3NUYXNrcyhbcmVxdWVzdF0sIHRydWUpO1xuXG4gICAgICBpZiAocmVzcG9uc2UgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2hvd0Vycm9yKHJlc3BvbnNlLkVycm9yTXNnKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICBjb25zdCBkYXRhID0gKHJlc3BvbnNlIGFzIFRhc2tbXSk/LlswXTtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIHRoaXMudGFza1N0YXRlLnVwZGF0ZVJlcXVlc3QoZGF0YSk7XG4gICAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2hvd1N1Y2Nlc3MoJ1Rhc2sgYXBwcm92ZWQgc3VjY2Vzc2Z1bGx5Jyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byB1cGRhdGUgcmVxdWVzdDonLCBlcnJvcik7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy50YXNrU3RhdGUuc2V0VXBkYXRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGxvYWRXb3JrZmxvd3MoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcXVlc3RzID0gYXdhaXQgdGhpcy50YXNrU2VydmljZS5nZXRXb3JrZmxvd3MoKTtcblxuICAgICAgaWYgKHJlcXVlc3RzIGluc3RhbmNlb2YgRXJyb3JSZXNwb25zZSkge1xuICAgICAgICB0aGlzLnV0aWxTZXJ2aWNlLnNob3dFcnJvcihyZXF1ZXN0cy5FcnJvck1zZyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy50YXNrU3RhdGUuc2V0V29ya2Zsb3dzKHJlcXVlc3RzLlJlc3VsdCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIHJlcXVlc3RzOicsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbG9hZEZvcm1zV2l0aFBhcmFtKHBhcmFtOiBzdHJpbmcpOiBQcm9taXNlPEZvcm0gfCB2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMudGFza1N0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuXG4gICAgICBjb25zdCByZXF1ZXN0cyA9IGF3YWl0IHRoaXMudGFza1NlcnZpY2UuZ2V0Rm9ybVdpdGhQYXJhbShwYXJhbSk7XG5cbiAgICAgIGlmIChyZXF1ZXN0cyBpbnN0YW5jZW9mIEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgdGhpcy51dGlsU2VydmljZS5zaG93RXJyb3IocmVxdWVzdHMuRXJyb3JNc2cpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZvcm0gPSByZXF1ZXN0cy5SZXN1bHRbMF07XG4gICAgICBpZiAoZm9ybSkgcmV0dXJuIGZvcm07XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIHJlcXVlc3RzIHdpdGggcGFyYW06JywgZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMudGFza1N0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyByZUFzc2lnbihcbiAgICByZXF1ZXN0OiBUYXNrLFxuICAgIGNvbW1lbnQ6IHN0cmluZyxcbiAgICB0b1VzZXI/OiBzdHJpbmcsXG4gICAgZnJvbVVzZXI/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMudGFza1N0YXRlLnNldFVwZGF0aW5nKHRydWUpO1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnRhc2tTZXJ2aWNlLnJlQXNzaWduKFxuICAgICAgICB7XG4gICAgICAgICAgLi4ucmVxdWVzdCxcbiAgICAgICAgICBGdWxsU3RhZ2VzOiBbXSxcbiAgICAgICAgICBDdXJyZW50QWN0b3JzOiByZXF1ZXN0LkN1cnJlbnRBY3RvcnMubWFwKChjKSA9PiAoe1xuICAgICAgICAgICAgLi4uYyxcbiAgICAgICAgICAgIEFjdG9yVGFnczogW10sXG4gICAgICAgICAgfSkpLFxuICAgICAgICB9LFxuICAgICAgICBjb21tZW50LFxuICAgICAgICB0b1VzZXIsXG4gICAgICAgIGZyb21Vc2VyXG4gICAgICApO1xuXG4gICAgICBpZiAocmVzcG9uc2UgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2hvd0Vycm9yKHJlc3BvbnNlLkVycm9yTXNnKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICB0aGlzLnV0aWxTZXJ2aWNlLnNob3dTdWNjZXNzKCdUYXNrIHJlLWFzc2lnbmVkIHN1Y2Nlc3NmdWxseScpO1xuICAgICAgY29uc3QgZGF0YSA9IHJlc3BvbnNlIGFzIFRhc2s7XG4gICAgICBpZiAoZGF0YSkge1xuICAgICAgICB0aGlzLnRhc2tTdGF0ZS51cGRhdGVSZXF1ZXN0KGRhdGEpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gdXBkYXRlIHJlcXVlc3Q6JywgZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMudGFza1N0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkTmV4dEFjdG9ycyhcbiAgICB0YXNrQ29kZTogc3RyaW5nLFxuICAgIHN0YWdlQ29kZT86IHN0cmluZyxcbiAgICBmb3JDdXJyZW50U3RhZ2U/OiBib29sZWFuXG4gICk6IFByb21pc2U8QWN0b3JbXT4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnRhc2tTdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMudGFza1N0YXRlLmdldFF1ZXJ5UGFyYW1zVmFsdWUoKTtcblxuICAgICAgY29uc3QgcmVxdWVzdHMgPSBhd2FpdCB0aGlzLnRhc2tTZXJ2aWNlLmdldE5leHRBY3RvcnMoXG4gICAgICAgIHRhc2tDb2RlLFxuICAgICAgICBzdGFnZUNvZGUsXG4gICAgICAgIGZvckN1cnJlbnRTdGFnZVxuICAgICAgKTtcblxuICAgICAgaWYgKHJlcXVlc3RzIGluc3RhbmNlb2YgRXJyb3JSZXNwb25zZSkge1xuICAgICAgICB0aGlzLnV0aWxTZXJ2aWNlLnNob3dFcnJvcihyZXF1ZXN0cy5FcnJvck1zZyk7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cblxuICAgICAgdGhpcy50YXNrU3RhdGUuc2V0TmV4dEFjdG9ycyhyZXF1ZXN0cyk7XG5cbiAgICAgIHJldHVybiByZXF1ZXN0cztcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGxvYWQgcmVxdWVzdHMgd2l0aCBwYXJhbTonLCBlcnJvcik7XG4gICAgICByZXR1cm4gW107XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMudGFza1N0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAvLyBMb2FkIG1vcmUgaGFuZGxpbmdcbiAgYXN5bmMgbG9hZE1vcmUocXVldWU6IGJvb2xlYW4gPSBmYWxzZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnRhc2tTdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IGN1cnJlbnRQYXJhbXMgPSB0aGlzLnRhc2tTdGF0ZS5nZXRRdWVyeVBhcmFtc1ZhbHVlKCk7XG4gICAgICBjb25zdCBzZWFyY2hUZXJtID0gdGhpcy50YXNrU3RhdGUuZ2V0U2VhcmNoVGVybVZhbHVlKCk7XG5cbiAgICAgIC8vIFRoZSBmaXJzdCBwYWdlIGlzIGFscmVhZHkgbG9hZGVkIGF0IHNraXA9MCB3aXRob3V0IGFkdmFuY2luZyB0aGVcbiAgICAgIC8vIHBvaW50ZXIsIHNvIGZldGNoIHRoZSAqbmV4dCogcGFnZSBzdGFydGluZyBhdCBuZXdTa2lwLlxuICAgICAgY29uc3QgbmV3U2tpcCA9IGN1cnJlbnRQYXJhbXMuc2tpcCArIGN1cnJlbnRQYXJhbXMubGltaXQ7XG5cbiAgICAgIC8vIExvYWQgYW5kIGFwcGVuZCBkYXRhLCBob25vdXJpbmcgYW55IGFjdGl2ZSBzZWFyY2ggdGVybVxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBzZWFyY2hUZXJtXG4gICAgICAgID8gYXdhaXQgdGhpcy50YXNrU2VydmljZS5nZXRUYXNrV2l0aFBhcmFtKFxuICAgICAgICAgICAgc2VhcmNoVGVybSxcbiAgICAgICAgICAgIG5ld1NraXAsXG4gICAgICAgICAgICBjdXJyZW50UGFyYW1zLmxpbWl0LFxuICAgICAgICAgICAgY3VycmVudFBhcmFtcy5zb3J0UGFyYW0gfHwgJ2NyZWF0ZWREYXRlJyxcbiAgICAgICAgICAgIGN1cnJlbnRQYXJhbXMuc29ydE9yZGVyXG4gICAgICAgICAgKVxuICAgICAgICA6IGF3YWl0IHRoaXMudGFza1NlcnZpY2UuZ2V0VGFza3MoXG4gICAgICAgICAgICBuZXdTa2lwLFxuICAgICAgICAgICAgY3VycmVudFBhcmFtcy5saW1pdCxcbiAgICAgICAgICAgIGN1cnJlbnRQYXJhbXMuc29ydFBhcmFtIHx8ICdjcmVhdGVkRGF0ZScsXG4gICAgICAgICAgICBjdXJyZW50UGFyYW1zLnNvcnRPcmRlclxuICAgICAgICAgICk7XG5cbiAgICAgIGlmIChyZXNwb25zZSBpbnN0YW5jZW9mIEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgdGhpcy51dGlsU2VydmljZS5zaG93RXJyb3IocmVzcG9uc2UuRXJyb3JNc2cpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMudGFza1N0YXRlLmFwcGVuZFJlcXVlc3RzKHJlc3BvbnNlLlJlc3VsdCk7XG4gICAgICB0aGlzLnRhc2tTdGF0ZS51cGRhdGVRdWVyeVBhcmFtcyh7XG4gICAgICAgIHNraXA6IG5ld1NraXAsXG4gICAgICAgIGxpbWl0OiBjdXJyZW50UGFyYW1zLmxpbWl0LFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0xvYWQgbW9yZSBmYWlsZWQ6JywgZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMudGFza1N0YXRlLnNldFVwZGF0aW5nKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBwaWNrVGFzayhcbiAgICByZXF1ZXN0OiBUYXNrLFxuICAgIGNvbW1lbnQ6IHN0cmluZyxcbiAgICB0b1VzZXI/OiBzdHJpbmcsXG4gICAgdGFyZ2V0U3RhZ2VDb2RlPzogc3RyaW5nXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnRhc2tTdGF0ZS5zZXRVcGRhdGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy50YXNrU2VydmljZS5waWNrVGFzayhcbiAgICAgICAge1xuICAgICAgICAgIC4uLnJlcXVlc3QsXG4gICAgICAgICAgRnVsbFN0YWdlczogW10sXG4gICAgICAgICAgQ3VycmVudEFjdG9yczogcmVxdWVzdC5DdXJyZW50QWN0b3JzLm1hcCgoYykgPT4gKHtcbiAgICAgICAgICAgIC4uLmMsXG4gICAgICAgICAgICBBY3RvclRhZ3M6IFtdLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgfSxcbiAgICAgICAgY29tbWVudCxcbiAgICAgICAgdG9Vc2VyLFxuICAgICAgICB0YXJnZXRTdGFnZUNvZGUsXG4gICAgICApO1xuXG4gICAgICBpZiAocmVzcG9uc2UgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2hvd0Vycm9yKHJlc3BvbnNlLkVycm9yTXNnKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBjb25zb2xlLmxvZyhyZXNwb25zZSk7XG4gICAgICB0aGlzLnV0aWxTZXJ2aWNlLnNob3dTdWNjZXNzKCdUYXNrIHBpY2tlZCBzdWNjZXNzZnVsbHknKTtcbiAgICAgIGNvbnN0IGRhdGEgPSByZXNwb25zZSBhcyBUYXNrO1xuICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgdGhpcy50YXNrU3RhdGUudXBkYXRlUmVxdWVzdChkYXRhKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHBpY2sgdGFzaycsIGVycm9yKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnRhc2tTdGF0ZS5zZXRVcGRhdGluZyhmYWxzZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -28,7 +28,7 @@ export class TasksService {
|
|
|
28
28
|
* @returns Promise containing the filtered tasks
|
|
29
29
|
*/
|
|
30
30
|
getTaskWithParam(param, skip, limit, sortParam, sortOrder) {
|
|
31
|
-
const url = `
|
|
31
|
+
const url = `GetTasksWithParam/${param}/${skip}/${limit}/${sortParam}/${sortOrder}`;
|
|
32
32
|
return this.httpService.get(url);
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
@@ -103,4 +103,4 @@ export class TasksService {
|
|
|
103
103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TasksService, decorators: [{
|
|
104
104
|
type: Injectable
|
|
105
105
|
}], ctorParameters: () => [{ type: i1.HttpWebRequestService }] });
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi13b3JrZmxvdy11aS9zcmMvbGliL2NvbXBvbmVudHMvdGFza3MvdGFza3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLFlBQVk7SUFHSDtJQUFwQixZQUFvQixXQUFrQztRQUFsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBdUI7SUFBSSxDQUFDO0lBRTNEOzs7Ozs7O09BT0c7SUFDSCxRQUFRLENBQ04sSUFBWSxFQUNaLEtBQWEsRUFDYixTQUFpQixFQUNqQixTQUFpQjtRQUVqQixNQUFNLEdBQUcsR0FBRyxZQUFZLElBQUksSUFBSSxLQUFLLElBQUksU0FBUyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2xFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUF5QyxDQUFDO0lBQzNFLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILGdCQUFnQixDQUNkLEtBQWEsRUFDYixJQUFZLEVBQ1osS0FBYSxFQUNiLFNBQWlCLEVBQ2pCLFNBQWlCO1FBRWpCLE1BQU0sR0FBRyxHQUFHLG9CQUFvQixLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxTQUFTLElBQUksU0FBUyxFQUFFLENBQUM7UUFDbkYsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQXlDLENBQUM7SUFDM0UsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxTQUFTLENBQUMsUUFBZ0I7UUFDeEIsTUFBTSxHQUFHLEdBQUcsV0FBVyxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7Ozs7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QixDQUNyQixJQUFZLEVBQ1osSUFBWSxFQUNaLEtBQWEsRUFDYixTQUFpQixFQUNqQixTQUFpQjtRQUVqQixNQUFNLEdBQUcsR0FBRywyQkFBMkIsSUFBSSxJQUFJLEtBQUssSUFBSSxTQUFTLElBQUksU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3pGLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUF5QyxDQUFDO0lBQzNFLENBQUM7d0dBckpVLFlBQVk7NEdBQVosWUFBWTs7NEZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFjdG9yLCBFcnJvclJlc3BvbnNlLCBGb3JtLCBQYWdlZCwgVGFzaywgV29ya2Zsb3cgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgSHR0cFdlYlJlcXVlc3RTZXJ2aWNlIH0gZnJvbSAndmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvc2VydmljZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGFza3NTZXJ2aWNlIHtcblxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cFNlcnZpY2U6IEh0dHBXZWJSZXF1ZXN0U2VydmljZSkgeyB9XG5cbiAgLyoqXG4gICAqIEdldCB0YXNrcyB3aXRoIHBhZ2luYXRpb24gYW5kIHNvcnRpbmdcbiAgICogQHBhcmFtIHNraXAgTnVtYmVyIG9mIHJlY29yZHMgdG8gc2tpcFxuICAgKiBAcGFyYW0gbGltaXQgTnVtYmVyIG9mIHJlY29yZHMgdG8gdGFrZVxuICAgKiBAcGFyYW0gc29ydFBhcmFtIFNvcnQgcGFyYW1ldGVyXG4gICAqIEBwYXJhbSBzb3J0T3JkZXIgU29ydCBvcmRlciAoJ2FzYycgb3IgJ2Rlc2MnKVxuICAgKiBAcmV0dXJucyBQcm9taXNlIGNvbnRhaW5pbmcgdGhlIHRhc2tzXG4gICAqL1xuICBnZXRUYXNrcyhcbiAgICBza2lwOiBudW1iZXIsXG4gICAgbGltaXQ6IG51bWJlcixcbiAgICBzb3J0UGFyYW06IHN0cmluZyxcbiAgICBzb3J0T3JkZXI6IHN0cmluZ1xuICApOiBQcm9taXNlPFBhZ2VkPFRhc2s+IHwgRXJyb3JSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGBHZXRUYXNrcy8ke3NraXB9LyR7bGltaXR9LyR7c29ydFBhcmFtfS8ke3NvcnRPcmRlcn1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldCh1cmwpIGFzIFByb21pc2U8UGFnZWQ8VGFzaz4gfCBFcnJvclJlc3BvbnNlPjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGFza3Mgd2l0aCBhZGRpdGlvbmFsIHBhcmFtZXRlciwgcGFnaW5hdGlvbiBhbmQgc29ydGluZ1xuICAgKiBAcGFyYW0gcGFyYW0gU2VhcmNoIHBhcmFtZXRlclxuICAgKiBAcGFyYW0gc2tpcCBOdW1iZXIgb2YgcmVjb3JkcyB0byBza2lwXG4gICAqIEBwYXJhbSBsaW1pdCBOdW1iZXIgb2YgcmVjb3JkcyB0byB0YWtlXG4gICAqIEBwYXJhbSBzb3J0UGFyYW0gU29ydCBwYXJhbWV0ZXJcbiAgICogQHBhcmFtIHNvcnRPcmRlciBTb3J0IG9yZGVyICgnYXNjJyBvciAnZGVzYycpXG4gICAqIEByZXR1cm5zIFByb21pc2UgY29udGFpbmluZyB0aGUgZmlsdGVyZWQgdGFza3NcbiAgICovXG4gIGdldFRhc2tXaXRoUGFyYW0oXG4gICAgcGFyYW06IHN0cmluZyxcbiAgICBza2lwOiBudW1iZXIsXG4gICAgbGltaXQ6IG51bWJlcixcbiAgICBzb3J0UGFyYW06IHN0cmluZyxcbiAgICBzb3J0T3JkZXI6IHN0cmluZ1xuICApOiBQcm9taXNlPFBhZ2VkPFRhc2s+IHwgRXJyb3JSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGBHZXRUYXNrV2l0aFBhcmFtLyR7cGFyYW19LyR7c2tpcH0vJHtsaW1pdH0vJHtzb3J0UGFyYW19LyR7c29ydE9yZGVyfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0KHVybCkgYXMgUHJvbWlzZTxQYWdlZDxUYXNrPiB8IEVycm9yUmVzcG9uc2U+O1xuICB9XG5cbiAgLyoqXG4gICAqIFNhdmUgbXVsdGlwbGUgdGFza3NcbiAgICogQHBhcmFtIHJlcXVlc3RzIEFycmF5IG9mIHRhc2tzIHRvIHNhdmVcbiAgICogQHJldHVybnMgUHJvbWlzZSBjb250YWluaW5nIHRoZSBzYXZlIG9wZXJhdGlvbiByZXN1bHRcbiAgICovXG4gIHNhdmVUYXNrcyhyZXF1ZXN0czogVGFza1tdKTogUHJvbWlzZTxhbnkgfCBFcnJvclJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gYFNhdmVUYXNrc2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIHJlcXVlc3RzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHByb3ZlIG9yIHJlamVjdCBtdWx0aXBsZSB0YXNrc1xuICAgKiBAcGFyYW0gcmVxdWVzdHMgQXJyYXkgb2YgdGFza3MgdG8gc2F2ZVxuICAgKiBAcGFyYW0gaXNBcHByb3ZhbCBUcnVlIGZvciBhcHByb3ZhbCwgZmFsc2UgZm9yIGRlY2xpbmVcbiAgICogQHJldHVybnMgUHJvbWlzZSBjb250YWluaW5nIHRoZSBzYXZlIG9wZXJhdGlvbiByZXN1bHRcbiAgICovXG4gIHByb2Nlc3NUYXNrcyhyZXF1ZXN0czogVGFza1tdLCBpc0FwcHJvdmFsOiBib29sZWFuKTogUHJvbWlzZTxhbnkgfCBFcnJvclJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gYFRhc2tBY3Rpb24vJHtpc0FwcHJvdmFsfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIHJlcXVlc3RzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGUgbXVsdGlwbGUgdGFza3NcbiAgICogQHBhcmFtIHJlcXVlc3RJZHMgQXJyYXkgb2YgcmVxdWVzdCBJRHMgdG8gZGVsZXRlXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGUgY29udGFpbmluZyB0aGUgZGVsZXRlIG9wZXJhdGlvbiByZXN1bHRcbiAgICovXG4gIGRlbGV0ZVRhc2tzKHJlcXVlc3RJZHM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxhbnkgfCBFcnJvclJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gYERlbGV0ZVRhc2tzYDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5kZWxldGUoYCR7dXJsfT9kYXRhPSR7cmVxdWVzdElkcy5qb2luKCcsJyl9YCk7XG4gIH1cblxuICBnZXRXb3JrZmxvd3MoKTogUHJvbWlzZTxQYWdlZDxXb3JrZmxvdz4gfCBFcnJvclJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gYEdldFdvcmtmbG93cy8wLzBgO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldCh1cmwpIGFzIFByb21pc2U8UGFnZWQ8V29ya2Zsb3c+IHwgRXJyb3JSZXNwb25zZT47XG4gIH1cblxuICBnZXRGb3JtV2l0aFBhcmFtKHBhcmFtOiBzdHJpbmcpOiBQcm9taXNlPFBhZ2VkPEZvcm0+IHwgRXJyb3JSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGBHZXRGb3Jtc1dpdGhQYXJhbS8ke3BhcmFtfS8wLzFgO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldCh1cmwpIGFzIFByb21pc2U8UGFnZWQ8Rm9ybT4gfCBFcnJvclJlc3BvbnNlPjtcbiAgfVxuXG4gIGZvbGxvd1Rhc2soYWN0b3JJZDogc3RyaW5nLCB0YXNrOiBUYXNrKTogUHJvbWlzZTxUYXNrIHwgRXJyb3JSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGBGb2xsb3dUYXNrLyR7YWN0b3JJZH1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLnBvc3QodXJsLCB0YXNrKTtcbiAgfVxuXG4gIHVuRm9sbG93VGFzayhcbiAgICB0YXNrSWQ6IHN0cmluZyxcbiAgICBhY3RvcklkOiBzdHJpbmdcbiAgICAvLyB0YXNrOiBUYXNrLFxuICApOiBQcm9taXNlPHZvaWQgfCBFcnJvclJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gYFVuRm9sbG93VGFzay8ke3Rhc2tJZH0vJHthY3RvcklkfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIHt9KTtcbiAgfVxuXG4gIHJlQXNzaWduKFxuICAgIHRhc2s6IFRhc2ssXG4gICAgY29tbWVudDogc3RyaW5nLFxuICAgIHRvVXNlcj86IHN0cmluZyxcbiAgICBmcm9tVXNlcj86IHN0cmluZ1xuICApOiBQcm9taXNlPFRhc2sgfCBFcnJvclJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gYFJlYXNzaWduLyR7Y29tbWVudH0vJHt0b1VzZXJ9LyR7ZnJvbVVzZXJ9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgdGFzayk7XG4gIH1cblxuICBnZXROZXh0QWN0b3JzKFxuICAgIHRhc2tDb2RlOiBzdHJpbmcsXG4gICAgc3RhZ2VDb2RlPzogc3RyaW5nLFxuICAgIGZvckN1cnJlbnRTdGFnZT86IGJvb2xlYW5cbiAgKTogUHJvbWlzZTxBY3RvcltdIHwgRXJyb3JSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGBHZXROZXh0QWN0b3JzLyR7dGFza0NvZGV9LyR7Zm9yQ3VycmVudFN0YWdlfSR7c3RhZ2VDb2RlID8gYC8ke3N0YWdlQ29kZX1gIDogJydcbiAgICAgIH1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldCh1cmwpIGFzIFByb21pc2U8QWN0b3JbXSB8IEVycm9yUmVzcG9uc2U+O1xuICB9XG5cbiAgcGlja1Rhc2soXG4gICAgdGFzazogVGFzayxcbiAgICBjb21tZW50OiBzdHJpbmcsXG4gICAgcmVjaXBpZW50Pzogc3RyaW5nLFxuICAgIHRhcmdldFN0YWdlPzogc3RyaW5nLFxuICApOiBQcm9taXNlPFRhc2sgfCBFcnJvclJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gYFBpY2tUYXNrLyR7Y29tbWVudH0vJHt0YXJnZXRTdGFnZX0ke3JlY2lwaWVudCA/ICcvJyArIHJlY2lwaWVudCA6ICcnXG4gICAgICB9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgdGFzayk7XG4gIH1cblxuICB1blBpY2tUYXNrKFxuICAgIHRhcmdldFN0YWdlOiBzdHJpbmcsXG4gICAgdGFzazogVGFzayxcbiAgICBjb21tZW50OiBzdHJpbmcsXG4gICAgcmVjaXBpZW50Pzogc3RyaW5nXG4gICk6IFByb21pc2U8VGFzayB8IEVycm9yUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSBgVW5QaWNrVGFzay8ke2NvbW1lbnR9LyR7dGFyZ2V0U3RhZ2V9JHtyZWNpcGllbnQgPyAnLycgKyByZWNpcGllbnQgOiAnJ1xuICAgICAgfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIHRhc2spO1xuICB9XG5cbiAgZ2V0UG9zc2libGVUYXNrc0ZvclVzZXIoXG4gICAgdXNlcjogc3RyaW5nLFxuICAgIHNraXA6IG51bWJlcixcbiAgICBsaW1pdDogbnVtYmVyLFxuICAgIHNvcnRQYXJhbTogc3RyaW5nLFxuICAgIHNvcnRPcmRlcjogc3RyaW5nXG4gICk6IFByb21pc2U8UGFnZWQ8VGFzaz4gfCBFcnJvclJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gYEdldFBvc3NpYmxlVGFza3NGb3JVc2VyLyR7c2tpcH0vJHtsaW1pdH0vJHtzb3J0UGFyYW19LyR7c29ydE9yZGVyfS8ke3VzZXJ9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXQodXJsKSBhcyBQcm9taXNlPFBhZ2VkPFRhc2s+IHwgRXJyb3JSZXNwb25zZT47XG4gIH1cbn1cbiJdfQ==
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi13b3JrZmxvdy11aS9zcmMvbGliL2NvbXBvbmVudHMvdGFza3MvdGFza3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLFlBQVk7SUFHSDtJQUFwQixZQUFvQixXQUFrQztRQUFsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBdUI7SUFBSSxDQUFDO0lBRTNEOzs7Ozs7O09BT0c7SUFDSCxRQUFRLENBQ04sSUFBWSxFQUNaLEtBQWEsRUFDYixTQUFpQixFQUNqQixTQUFpQjtRQUVqQixNQUFNLEdBQUcsR0FBRyxZQUFZLElBQUksSUFBSSxLQUFLLElBQUksU0FBUyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2xFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUF5QyxDQUFDO0lBQzNFLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILGdCQUFnQixDQUNkLEtBQWEsRUFDYixJQUFZLEVBQ1osS0FBYSxFQUNiLFNBQWlCLEVBQ2pCLFNBQWlCO1FBRWpCLE1BQU0sR0FBRyxHQUFHLHFCQUFxQixLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxTQUFTLElBQUksU0FBUyxFQUFFLENBQUM7UUFDcEYsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQXlDLENBQUM7SUFDM0UsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxTQUFTLENBQUMsUUFBZ0I7UUFDeEIsTUFBTSxHQUFHLEdBQUcsV0FBVyxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7Ozs7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QixDQUNyQixJQUFZLEVBQ1osSUFBWSxFQUNaLEtBQWEsRUFDYixTQUFpQixFQUNqQixTQUFpQjtRQUVqQixNQUFNLEdBQUcsR0FBRywyQkFBMkIsSUFBSSxJQUFJLEtBQUssSUFBSSxTQUFTLElBQUksU0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3pGLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUF5QyxDQUFDO0lBQzNFLENBQUM7d0dBckpVLFlBQVk7NEdBQVosWUFBWTs7NEZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFjdG9yLCBFcnJvclJlc3BvbnNlLCBGb3JtLCBQYWdlZCwgVGFzaywgV29ya2Zsb3cgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgSHR0cFdlYlJlcXVlc3RTZXJ2aWNlIH0gZnJvbSAndmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvc2VydmljZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGFza3NTZXJ2aWNlIHtcblxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cFNlcnZpY2U6IEh0dHBXZWJSZXF1ZXN0U2VydmljZSkgeyB9XG5cbiAgLyoqXG4gICAqIEdldCB0YXNrcyB3aXRoIHBhZ2luYXRpb24gYW5kIHNvcnRpbmdcbiAgICogQHBhcmFtIHNraXAgTnVtYmVyIG9mIHJlY29yZHMgdG8gc2tpcFxuICAgKiBAcGFyYW0gbGltaXQgTnVtYmVyIG9mIHJlY29yZHMgdG8gdGFrZVxuICAgKiBAcGFyYW0gc29ydFBhcmFtIFNvcnQgcGFyYW1ldGVyXG4gICAqIEBwYXJhbSBzb3J0T3JkZXIgU29ydCBvcmRlciAoJ2FzYycgb3IgJ2Rlc2MnKVxuICAgKiBAcmV0dXJucyBQcm9taXNlIGNvbnRhaW5pbmcgdGhlIHRhc2tzXG4gICAqL1xuICBnZXRUYXNrcyhcbiAgICBza2lwOiBudW1iZXIsXG4gICAgbGltaXQ6IG51bWJlcixcbiAgICBzb3J0UGFyYW06IHN0cmluZyxcbiAgICBzb3J0T3JkZXI6IHN0cmluZ1xuICApOiBQcm9taXNlPFBhZ2VkPFRhc2s+IHwgRXJyb3JSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGBHZXRUYXNrcy8ke3NraXB9LyR7bGltaXR9LyR7c29ydFBhcmFtfS8ke3NvcnRPcmRlcn1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldCh1cmwpIGFzIFByb21pc2U8UGFnZWQ8VGFzaz4gfCBFcnJvclJlc3BvbnNlPjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGFza3Mgd2l0aCBhZGRpdGlvbmFsIHBhcmFtZXRlciwgcGFnaW5hdGlvbiBhbmQgc29ydGluZ1xuICAgKiBAcGFyYW0gcGFyYW0gU2VhcmNoIHBhcmFtZXRlclxuICAgKiBAcGFyYW0gc2tpcCBOdW1iZXIgb2YgcmVjb3JkcyB0byBza2lwXG4gICAqIEBwYXJhbSBsaW1pdCBOdW1iZXIgb2YgcmVjb3JkcyB0byB0YWtlXG4gICAqIEBwYXJhbSBzb3J0UGFyYW0gU29ydCBwYXJhbWV0ZXJcbiAgICogQHBhcmFtIHNvcnRPcmRlciBTb3J0IG9yZGVyICgnYXNjJyBvciAnZGVzYycpXG4gICAqIEByZXR1cm5zIFByb21pc2UgY29udGFpbmluZyB0aGUgZmlsdGVyZWQgdGFza3NcbiAgICovXG4gIGdldFRhc2tXaXRoUGFyYW0oXG4gICAgcGFyYW06IHN0cmluZyxcbiAgICBza2lwOiBudW1iZXIsXG4gICAgbGltaXQ6IG51bWJlcixcbiAgICBzb3J0UGFyYW06IHN0cmluZyxcbiAgICBzb3J0T3JkZXI6IHN0cmluZ1xuICApOiBQcm9taXNlPFBhZ2VkPFRhc2s+IHwgRXJyb3JSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGBHZXRUYXNrc1dpdGhQYXJhbS8ke3BhcmFtfS8ke3NraXB9LyR7bGltaXR9LyR7c29ydFBhcmFtfS8ke3NvcnRPcmRlcn1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldCh1cmwpIGFzIFByb21pc2U8UGFnZWQ8VGFzaz4gfCBFcnJvclJlc3BvbnNlPjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlIG11bHRpcGxlIHRhc2tzXG4gICAqIEBwYXJhbSByZXF1ZXN0cyBBcnJheSBvZiB0YXNrcyB0byBzYXZlXG4gICAqIEByZXR1cm5zIFByb21pc2UgY29udGFpbmluZyB0aGUgc2F2ZSBvcGVyYXRpb24gcmVzdWx0XG4gICAqL1xuICBzYXZlVGFza3MocmVxdWVzdHM6IFRhc2tbXSk6IFByb21pc2U8YW55IHwgRXJyb3JSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGBTYXZlVGFza3NgO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLnBvc3QodXJsLCByZXF1ZXN0cyk7XG4gIH1cblxuICAvKipcbiAgICogQXBwcm92ZSBvciByZWplY3QgbXVsdGlwbGUgdGFza3NcbiAgICogQHBhcmFtIHJlcXVlc3RzIEFycmF5IG9mIHRhc2tzIHRvIHNhdmVcbiAgICogQHBhcmFtIGlzQXBwcm92YWwgVHJ1ZSBmb3IgYXBwcm92YWwsIGZhbHNlIGZvciBkZWNsaW5lXG4gICAqIEByZXR1cm5zIFByb21pc2UgY29udGFpbmluZyB0aGUgc2F2ZSBvcGVyYXRpb24gcmVzdWx0XG4gICAqL1xuICBwcm9jZXNzVGFza3MocmVxdWVzdHM6IFRhc2tbXSwgaXNBcHByb3ZhbDogYm9vbGVhbik6IFByb21pc2U8YW55IHwgRXJyb3JSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGBUYXNrQWN0aW9uLyR7aXNBcHByb3ZhbH1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLnBvc3QodXJsLCByZXF1ZXN0cyk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlIG11bHRpcGxlIHRhc2tzXG4gICAqIEBwYXJhbSByZXF1ZXN0SWRzIEFycmF5IG9mIHJlcXVlc3QgSURzIHRvIGRlbGV0ZVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIGNvbnRhaW5pbmcgdGhlIGRlbGV0ZSBvcGVyYXRpb24gcmVzdWx0XG4gICAqL1xuICBkZWxldGVUYXNrcyhyZXF1ZXN0SWRzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8YW55IHwgRXJyb3JSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGBEZWxldGVUYXNrc2A7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZGVsZXRlKGAke3VybH0/ZGF0YT0ke3JlcXVlc3RJZHMuam9pbignLCcpfWApO1xuICB9XG5cbiAgZ2V0V29ya2Zsb3dzKCk6IFByb21pc2U8UGFnZWQ8V29ya2Zsb3c+IHwgRXJyb3JSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGBHZXRXb3JrZmxvd3MvMC8wYDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXQodXJsKSBhcyBQcm9taXNlPFBhZ2VkPFdvcmtmbG93PiB8IEVycm9yUmVzcG9uc2U+O1xuICB9XG5cbiAgZ2V0Rm9ybVdpdGhQYXJhbShwYXJhbTogc3RyaW5nKTogUHJvbWlzZTxQYWdlZDxGb3JtPiB8IEVycm9yUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSBgR2V0Rm9ybXNXaXRoUGFyYW0vJHtwYXJhbX0vMC8xYDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXQodXJsKSBhcyBQcm9taXNlPFBhZ2VkPEZvcm0+IHwgRXJyb3JSZXNwb25zZT47XG4gIH1cblxuICBmb2xsb3dUYXNrKGFjdG9ySWQ6IHN0cmluZywgdGFzazogVGFzayk6IFByb21pc2U8VGFzayB8IEVycm9yUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSBgRm9sbG93VGFzay8ke2FjdG9ySWR9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5wb3N0KHVybCwgdGFzayk7XG4gIH1cblxuICB1bkZvbGxvd1Rhc2soXG4gICAgdGFza0lkOiBzdHJpbmcsXG4gICAgYWN0b3JJZDogc3RyaW5nXG4gICAgLy8gdGFzazogVGFzayxcbiAgKTogUHJvbWlzZTx2b2lkIHwgRXJyb3JSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGBVbkZvbGxvd1Rhc2svJHt0YXNrSWR9LyR7YWN0b3JJZH1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLnBvc3QodXJsLCB7fSk7XG4gIH1cblxuICByZUFzc2lnbihcbiAgICB0YXNrOiBUYXNrLFxuICAgIGNvbW1lbnQ6IHN0cmluZyxcbiAgICB0b1VzZXI/OiBzdHJpbmcsXG4gICAgZnJvbVVzZXI/OiBzdHJpbmdcbiAgKTogUHJvbWlzZTxUYXNrIHwgRXJyb3JSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGBSZWFzc2lnbi8ke2NvbW1lbnR9LyR7dG9Vc2VyfS8ke2Zyb21Vc2VyfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIHRhc2spO1xuICB9XG5cbiAgZ2V0TmV4dEFjdG9ycyhcbiAgICB0YXNrQ29kZTogc3RyaW5nLFxuICAgIHN0YWdlQ29kZT86IHN0cmluZyxcbiAgICBmb3JDdXJyZW50U3RhZ2U/OiBib29sZWFuXG4gICk6IFByb21pc2U8QWN0b3JbXSB8IEVycm9yUmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSBgR2V0TmV4dEFjdG9ycy8ke3Rhc2tDb2RlfS8ke2ZvckN1cnJlbnRTdGFnZX0ke3N0YWdlQ29kZSA/IGAvJHtzdGFnZUNvZGV9YCA6ICcnXG4gICAgICB9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXQodXJsKSBhcyBQcm9taXNlPEFjdG9yW10gfCBFcnJvclJlc3BvbnNlPjtcbiAgfVxuXG4gIHBpY2tUYXNrKFxuICAgIHRhc2s6IFRhc2ssXG4gICAgY29tbWVudDogc3RyaW5nLFxuICAgIHJlY2lwaWVudD86IHN0cmluZyxcbiAgICB0YXJnZXRTdGFnZT86IHN0cmluZyxcbiAgKTogUHJvbWlzZTxUYXNrIHwgRXJyb3JSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGBQaWNrVGFzay8ke2NvbW1lbnR9LyR7dGFyZ2V0U3RhZ2V9JHtyZWNpcGllbnQgPyAnLycgKyByZWNpcGllbnQgOiAnJ1xuICAgICAgfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UucG9zdCh1cmwsIHRhc2spO1xuICB9XG5cbiAgdW5QaWNrVGFzayhcbiAgICB0YXJnZXRTdGFnZTogc3RyaW5nLFxuICAgIHRhc2s6IFRhc2ssXG4gICAgY29tbWVudDogc3RyaW5nLFxuICAgIHJlY2lwaWVudD86IHN0cmluZ1xuICApOiBQcm9taXNlPFRhc2sgfCBFcnJvclJlc3BvbnNlPiB7XG4gICAgY29uc3QgdXJsID0gYFVuUGlja1Rhc2svJHtjb21tZW50fS8ke3RhcmdldFN0YWdlfSR7cmVjaXBpZW50ID8gJy8nICsgcmVjaXBpZW50IDogJydcbiAgICAgIH1gO1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLnBvc3QodXJsLCB0YXNrKTtcbiAgfVxuXG4gIGdldFBvc3NpYmxlVGFza3NGb3JVc2VyKFxuICAgIHVzZXI6IHN0cmluZyxcbiAgICBza2lwOiBudW1iZXIsXG4gICAgbGltaXQ6IG51bWJlcixcbiAgICBzb3J0UGFyYW06IHN0cmluZyxcbiAgICBzb3J0T3JkZXI6IHN0cmluZ1xuICApOiBQcm9taXNlPFBhZ2VkPFRhc2s+IHwgRXJyb3JSZXNwb25zZT4ge1xuICAgIGNvbnN0IHVybCA9IGBHZXRQb3NzaWJsZVRhc2tzRm9yVXNlci8ke3NraXB9LyR7bGltaXR9LyR7c29ydFBhcmFtfS8ke3NvcnRPcmRlcn0vJHt1c2VyfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0KHVybCkgYXMgUHJvbWlzZTxQYWdlZDxUYXNrPiB8IEVycm9yUmVzcG9uc2U+O1xuICB9XG59XG4iXX0=
|
|
@@ -5,6 +5,7 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
export class TaskState {
|
|
6
6
|
updating$ = new BehaviorSubject(false);
|
|
7
7
|
tasks$ = new BehaviorSubject([]);
|
|
8
|
+
searchTerm$ = new BehaviorSubject('');
|
|
8
9
|
queryParams$ = new BehaviorSubject({
|
|
9
10
|
skip: 0,
|
|
10
11
|
limit: 20,
|
|
@@ -44,6 +45,15 @@ export class TaskState {
|
|
|
44
45
|
setForms(forms) {
|
|
45
46
|
this.forms$.next(forms);
|
|
46
47
|
}
|
|
48
|
+
getSearchTerm$() {
|
|
49
|
+
return this.searchTerm$.asObservable();
|
|
50
|
+
}
|
|
51
|
+
getSearchTermValue() {
|
|
52
|
+
return this.searchTerm$.getValue();
|
|
53
|
+
}
|
|
54
|
+
setSearchTerm(term) {
|
|
55
|
+
this.searchTerm$.next(term);
|
|
56
|
+
}
|
|
47
57
|
getQueryParams$() {
|
|
48
58
|
return this.queryParams$.asObservable();
|
|
49
59
|
}
|
|
@@ -83,4 +93,4 @@ export class TaskState {
|
|
|
83
93
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TaskState, decorators: [{
|
|
84
94
|
type: Injectable
|
|
85
95
|
}] });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza3Muc3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL3Rhc2tzL3Rhc2tzLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQTRCLGFBQWEsRUFBa0IsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFHNUcsTUFBTSxPQUFPLFNBQVM7SUFDWixTQUFTLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDaEQsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUM5QyxZQUFZLEdBQUcsSUFBSSxlQUFlLENBQW9CO1FBQzVELElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLEVBQUU7UUFDVCxTQUFTLEVBQUUsV0FBVztRQUN0QixTQUFTLEVBQUUsYUFBYSxDQUFDLElBQUk7S0FDOUIsQ0FBQyxDQUFDO0lBRUssVUFBVSxHQUFHLElBQUksZUFBZSxDQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUN6QyxXQUFXLEdBQUcsSUFBSSxlQUFlLENBQVUsRUFBRSxDQUFDLENBQUM7SUFFdkQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsV0FBVyxDQUFDLFVBQW1CO1FBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsYUFBYSxDQUFDLFVBQW1CO1FBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxZQUFZLENBQUMsU0FBcUI7UUFDaEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxhQUFhLENBQUMsSUFBWTtRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsTUFBa0M7UUFDbEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBVTtRQUNuQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsZUFBZTtRQUNiLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsYUFBYSxDQUFDLGNBQW9CO1FBQ2hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDckMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckUsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNqQixLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsY0FBYyxDQUFDO1lBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQWM7UUFDMUIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELGNBQWMsQ0FBQyxXQUFtQjtRQUNoQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxlQUFlLEVBQUUsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7d0dBMUdVLFNBQVM7NEdBQVQsU0FBUzs7NEZBQVQsU0FBUztrQkFEckIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWN0b3IsIEZvcm0sIFF1ZXJ5UGFyYW1zLCBTb3J0RGlyZWN0aW9uLCBUYXNrLCBXb3JrZmxvdyB9IGZyb20gJ3ZlcmJlbi13b3JrZmxvdy11aS9zcmMvbGliL21vZGVscyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUYXNrU3RhdGUge1xuICBwcml2YXRlIHVwZGF0aW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIHRhc2tzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFza1tdPihbXSk7XG4gIHByaXZhdGUgc2VhcmNoVGVybSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICBwcml2YXRlIHF1ZXJ5UGFyYW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UXVlcnlQYXJhbXM8VGFzaz4+KHtcbiAgICBza2lwOiAwLFxuICAgIGxpbWl0OiAyMCxcbiAgICBzb3J0UGFyYW06ICdDcmVhdGVkQXQnLFxuICAgIHNvcnRPcmRlcjogU29ydERpcmVjdGlvbi5EZXNjLFxuICB9KTtcblxuICBwcml2YXRlIHdvcmtmbG93cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFdvcmtmbG93W10+KFtdKTtcbiAgcHJpdmF0ZSBmb3JtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZvcm1bXT4oW10pO1xuICBwcml2YXRlIG5leHRBY3RvcnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBY3RvcltdPihbXSk7XG5cbiAgaXNVcGRhdGluZyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMudXBkYXRpbmckLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgc2V0VXBkYXRpbmcoaXNVcGRhdGluZzogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMudXBkYXRpbmckLm5leHQoaXNVcGRhdGluZyk7XG4gIH1cblxuICBnZXRSZXF1ZXN0cyQoKTogT2JzZXJ2YWJsZTxUYXNrW10+IHtcbiAgICByZXR1cm4gdGhpcy50YXNrcyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBzZXRSZXF1ZXN0cyh0YXNrczogVGFza1tdKTogdm9pZCB7XG4gICAgdGhpcy50YXNrcyQubmV4dCh0YXNrcyk7XG4gIH1cblxuICBnZXROZXh0QWN0b3JzJCgpOiBPYnNlcnZhYmxlPEFjdG9yW10+IHtcbiAgICByZXR1cm4gdGhpcy5uZXh0QWN0b3JzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHNldE5leHRBY3RvcnMobmV4dEFjdG9yczogQWN0b3JbXSk6IHZvaWQge1xuICAgIHRoaXMubmV4dEFjdG9ycyQubmV4dChuZXh0QWN0b3JzKTtcbiAgfVxuXG4gIGdldFdvcmtmbG93cyQoKTogT2JzZXJ2YWJsZTxXb3JrZmxvd1tdPiB7XG4gICAgcmV0dXJuIHRoaXMud29ya2Zsb3dzJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHNldFdvcmtmbG93cyh3b3JrZmxvd3M6IFdvcmtmbG93W10pOiB2b2lkIHtcbiAgICB0aGlzLndvcmtmbG93cyQubmV4dCh3b3JrZmxvd3MpO1xuICB9XG5cbiAgZ2V0Rm9ybXMkKCk6IE9ic2VydmFibGU8Rm9ybVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybXMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgc2V0Rm9ybXMoZm9ybXM6IEZvcm1bXSk6IHZvaWQge1xuICAgIHRoaXMuZm9ybXMkLm5leHQoZm9ybXMpO1xuICB9XG5cbiAgZ2V0U2VhcmNoVGVybSQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hUZXJtJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldFNlYXJjaFRlcm1WYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaFRlcm0kLmdldFZhbHVlKCk7XG4gIH1cblxuICBzZXRTZWFyY2hUZXJtKHRlcm06IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoVGVybSQubmV4dCh0ZXJtKTtcbiAgfVxuXG4gIGdldFF1ZXJ5UGFyYW1zJCgpOiBPYnNlcnZhYmxlPFF1ZXJ5UGFyYW1zPFRhc2s+PiB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlQYXJhbXMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0UXVlcnlQYXJhbXNWYWx1ZSgpOiBRdWVyeVBhcmFtczxUYXNrPiB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlQYXJhbXMkLmdldFZhbHVlKCk7XG4gIH1cblxuICB1cGRhdGVRdWVyeVBhcmFtcyhwYXJhbXM6IFBhcnRpYWw8UXVlcnlQYXJhbXM8VGFzaz4+KTogdm9pZCB7XG4gICAgdGhpcy5xdWVyeVBhcmFtcyQubmV4dCh7IC4uLnRoaXMucXVlcnlQYXJhbXMkLmdldFZhbHVlKCksIC4uLnBhcmFtcyB9KTtcbiAgfVxuXG4gIGFkZFJlcXVlc3QodGFzazogVGFzayk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHRoaXMudGFza3MkLmdldFZhbHVlKCk7XG4gICAgdGhpcy50YXNrcyQubmV4dChbdGFzaywgLi4uY3VycmVudFZhbHVlXSk7XG4gIH1cblxuICByZXNldFBhZ2luYXRpb24oKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudFBhcmFtcyA9IHRoaXMucXVlcnlQYXJhbXMkLmdldFZhbHVlKCk7XG4gICAgdGhpcy5xdWVyeVBhcmFtcyQubmV4dCh7IC4uLmN1cnJlbnRQYXJhbXMsIHNraXA6IDAgfSk7XG4gIH1cblxuICB1cGRhdGVSZXF1ZXN0KHVwZGF0ZWRSZXF1ZXN0OiBUYXNrKTogdm9pZCB7XG4gICAgY29uc3QgdGFza3MgPSB0aGlzLnRhc2tzJC5nZXRWYWx1ZSgpO1xuICAgIGNvbnN0IGluZGV4ID0gdGFza3MuZmluZEluZGV4KChyKSA9PiByLkNvZGUgPT09IHVwZGF0ZWRSZXF1ZXN0LkNvZGUpO1xuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIHRhc2tzW2luZGV4XSA9IHVwZGF0ZWRSZXF1ZXN0O1xuICAgICAgdGhpcy50YXNrcyQubmV4dChbLi4udGFza3NdKTtcbiAgICB9XG4gIH1cblxuICByZW1vdmVSZXF1ZXN0KHRhc2tJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy50YXNrcyQuZ2V0VmFsdWUoKTtcbiAgICB0aGlzLnRhc2tzJC5uZXh0KGN1cnJlbnRWYWx1ZS5maWx0ZXIoKHIpID0+IHIuQ29kZSAhPT0gdGFza0lkKSk7XG4gIH1cblxuICBhcHBlbmRSZXF1ZXN0cyhuZXdSZXF1ZXN0czogVGFza1tdKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudFJlcXVlc3RzID0gdGhpcy50YXNrcyQuZ2V0VmFsdWUoKTtcbiAgICB0aGlzLnRhc2tzJC5uZXh0KFsuLi5jdXJyZW50UmVxdWVzdHMsIC4uLm5ld1JlcXVlc3RzXSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -140,9 +140,8 @@ export class WorkflowsComponent extends BaseDataViewComponent {
|
|
|
140
140
|
}
|
|
141
141
|
onStateChange(event) {
|
|
142
142
|
switch (event.key) {
|
|
143
|
-
case 'create':
|
|
144
|
-
const
|
|
145
|
-
var newForm = {
|
|
143
|
+
case 'create': {
|
|
144
|
+
const newForm = {
|
|
146
145
|
Name: '',
|
|
147
146
|
Description: '',
|
|
148
147
|
StageEntryRule: '',
|
|
@@ -161,8 +160,18 @@ export class WorkflowsComponent extends BaseDataViewComponent {
|
|
|
161
160
|
Stages: [],
|
|
162
161
|
};
|
|
163
162
|
this.data.update((prev) => [newForm, ...prev]);
|
|
164
|
-
|
|
163
|
+
this.dataView.isTableView = false;
|
|
164
|
+
// CardDataViewComponent matches clicks against its cardDataList input,
|
|
165
|
+
// which only receives the new card after a change-detection pass. Force
|
|
166
|
+
// one so the freshly added card is resolvable before we open it.
|
|
167
|
+
this.cdr.detectChanges();
|
|
168
|
+
const card = this.cardData().find((c) => c.data === newForm);
|
|
169
|
+
if (card) {
|
|
170
|
+
this.currentData = this.cardDataView.onItemClick(card);
|
|
171
|
+
this.cdr.detectChanges();
|
|
172
|
+
}
|
|
165
173
|
break;
|
|
174
|
+
}
|
|
166
175
|
default:
|
|
167
176
|
break;
|
|
168
177
|
}
|
|
@@ -178,4 +187,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
178
187
|
type: Component,
|
|
179
188
|
args: [{ selector: 'lib-workflows', template: "<div class=\"space-y-8\">\n <verben-data-view #vdv [viewState]=\"{\n isSearch: true,\n isColumn: true,\n isFilter: true,\n isSort: true,\n isExport: !!permissionConfig()?.Actions?.['Export'],\n isSelect: true,\n isCreate: !!permissionConfig()?.Actions?.['Create'],\n isToggle: true,\n }\" [buttonClass]=\"'my-custom-button-class'\" [iconClass]=\"'my-icon-class'\"\n [activeIconClass]=\"'my-active-icon-class'\" [selectedColumnCount]=\"selectedColumnCount\"\n [selectedSortCount]=\"selectedSortCount\" [selectedFilterTableCount]=\"selectedFilterTableCount\"\n (viewChange)=\"onViewChange($event)\" (stateChange)=\"onStateChange($event)\" (onSearchChange)=\"handleSearch($event)\">\n <div table-content>\n <lib-data-table [data]=\"data()\" [columns]=\"config.columns\" [styleConfig]=\"styles\"\n (selectionChange)=\"onSelectionChange($event)\">\n <ng-container libColumn=\"name\">\n <ng-template #cellEdit let-rowIndex=\"rowIndex\">\n <div class=\"width-max\">\n <verbena-input [formControl]=\"getFormControl(rowIndex, 'Name')\"></verbena-input>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-container libColumn=\"description\">\n <ng-template #cellEdit let-rowIndex=\"rowIndex\">\n <div class=\"width-max\">\n <verbena-input [formControl]=\"getFormControl(rowIndex, 'Description')\"></verbena-input>\n </div>\n </ng-template>\n </ng-container>\n\n <ng-container libColumn=\"assignment-type\">\n <ng-template #cellEdit let-rowIndex=\"rowIndex\">\n <verben-drop-down styleClass=\"w-full\" width=\"100%\" [multiselect]=\"false\" placeholder=\"Select\"\n [options]=\"assignmentTypes\" [formControl]=\"getFormControl(rowIndex, 'AssignmentType')\"\n class=\"form-control\">\n </verben-drop-down>\n </ng-template>\n </ng-container>\n\n <ng-container libColumn=\"operation\">\n <ng-template #cellEdit let-rowIndex=\"rowIndex\">\n <!-- <verbena-input\n [formControl]=\"getFormControl(rowIndex, 'Operation')\"\n ></verbena-input> -->\n <verben-drop-down label=\"Operation\" styleClass=\"w-full\" width=\"100%\" [multiselect]=\"false\"\n placeholder=\"Select\" [options]=\"operations()\" optionLabel=\"Description\" optionValue=\"Description\"\n id=\"operation\" [formControl]=\"getFormControl(rowIndex, 'Operation')\" class=\"form-control\">\n </verben-drop-down>\n </ng-template>\n </ng-container>\n\n <ng-container libColumn=\"status\">\n <ng-template #cell let-value>\n <verbena-badge borderRadius=\"9px\" [bgColor]=\"value == 'Active' ? '#CAE1CC' : '#FFDFDF'\"\n [textColor]=\"value == 'Active' ? '#4ABB54' : '#EB5757'\" fontSize=\"12px\" [text]=\"value\"\n [pd]=\"'2px 6px'\"></verbena-badge>\n </ng-template>\n <ng-template #cellEdit let-rowIndex=\"rowIndex\">\n <verben-drop-down styleClass=\"w-full\" width=\"100%\" [multiselect]=\"false\" placeholder=\"Null\"\n [options]=\"statuses\" [formControl]=\"getFormControl(rowIndex, 'Status')\" class=\"form-control\">\n </verben-drop-down>\n </ng-template>\n </ng-container>\n\n <ng-container libColumn=\"actions\">\n <ng-template #cell let-value let-deleteRow=\"deleteRow\" let-isEditing=\"isEditing\"\n let-toggleRowEdit=\"toggleRowEdit\" let-row=\"row\" let-rowIndex=\"rowIndex\">\n <div class=\"flex gap-6\">\n <!-- @if (!!permissionConfig()?.Actions?.['Design']) { -->\n <verben-svg (click)=\"\n editForms.set(rowIndex, generateFormGroup(row));\n toggleRowEdit()\n \" icon=\"edit\" [width]=\"15\" [height]=\"15\" class=\"cursor-pointer\"></verben-svg>\n <!-- } -->\n\n <verben-svg icon=\"delete\" [width]=\"15\" [height]=\"15\" (click)=\"deleteRow()\"\n class=\"cursor-pointer\"></verben-svg>\n\n @if (!!permissionConfig()?.Actions?.['Design']) {\n <a [routerLink]=\"[designerUrl(), value]\">\n <verben-svg icon=\"designer\" [width]=\"15\" [height]=\"15\" class=\"cursor-pointer\"></verben-svg>\n </a>\n }\n </div>\n </ng-template>\n\n <ng-template #cellEdit let-value let-deleteRow=\"deleteRow\" let-isEditing=\"isEditing\"\n let-toggleRowEdit=\"toggleRowEdit\" let-row=\"row\" let-rowIndex=\"rowIndex\">\n <div class=\"flex gap-6\">\n <verben-svg (click)=\"commitRowChange(rowIndex, row, toggleRowEdit)\" icon=\"tick\" [width]=\"15\" [height]=\"15\"\n class=\"cursor-pointer\"></verben-svg>\n\n <verben-svg icon=\"delete\" [width]=\"15\" [height]=\"15\" (click)=\"toggleRowEdit()\"\n class=\"cursor-pointer\"></verben-svg>\n\n <verben-svg icon=\"cardViewAlt\" [width]=\"15\" [height]=\"15\" class=\"cursor-pointer\"\n (click)=\"goToCardView(value)\"></verben-svg>\n </div>\n </ng-template>\n </ng-container>\n </lib-data-table>\n </div>\n\n <div card-content>\n <verben-card-data-view borderRadius=\"12px\" (loadMoreClick)=\"loadMore()\" #vdcv dataId=\"Code\" border=\"5px\"\n [cardDataList]=\"cardData()\" rbgColor=\"#f5f6f9\" mg=\"20px\">\n <verben-left-card-data-view class=\"space-y-7\">\n <verben-left-card-data #vlcd [parent]=\"vdcv\" dataId=\"Code\"\n class=\"bg-secondary-100 rounded-xl border-primary border-[1px]\" [cardDataList]=\"cardData()\">\n <ng-template #card let-item>\n <div (click)=\"currentData = vdcv.onItemClick(item)\" class=\"flex\">\n <div (click)=\"currentData = vdcv.onItemClick(item)\"\n class=\"flex cursor-pointer w-full bg-secondary rounded-xl\">\n <div class=\"w-3 rounded-xl rounded-tr-none rounded-br-none\" [ngClass]=\"\n item.selected ? 'bg-primary' : 'bg-secondary-200'\n \"></div>\n <div class=\"flex-1 flex justify-between gap-y-2 gap-x-4 p-4\">\n <div class=\"flex-1 flex flex-col justify-between space-y-2\">\n <span class=\"font-semibold text-[#404040] flex-1 truncate line-clamp-1\">{{ item.title }}</span>\n\n <span id=\"role\" class=\"text-sm line-clamp-1 truncate\">\n {{\n item.data?.Operation\n }}\n </span>\n\n <!-- <p class=\"flex items-center my-1\">\n <label for=\"phone\" class=\"text-[10px] font-light\"\n >Assignment:</label\n >\n <span id=\"phone\" class=\"text-sm truncate\">{{\n item.data.AssignmentType\n }}</span>\n </p> -->\n </div>\n\n <div class=\"grid gap-y-1 w-fit justify-items-end\">\n <!-- <p class=\"grid\">\n <span id=\"role\" class=\"text-sm font-medium line-clamp-1 truncate\">{{\n item.data?.Operation\n }}</span>\n </p> -->\n <span id=\"phone\" class=\"text-sm\">\n {{ item.data.AssignmentType }}\n </span>\n\n <div class=\"flex gap-4 items-center\">\n @if (!!permissionConfig()?.Actions?.['Design'] && item.data?.Code) {\n <a [routerLink]=\"[designerUrl(), item.data.Code]\">\n <verben-svg icon=\"designer\" [width]=\"15\" [height]=\"15\" class=\"cursor-pointer\"\n (click)=\"$event.stopPropagation()\"></verben-svg>\n </a>\n }\n\n <verbena-badge borderRadius=\"9px\" [bgColor]=\"\n item.data.Status == 'Active' ? '#CAE1CC' : '#FFDFDF'\n \" [textColor]=\"\n item.data.Status == 'Active' ? '#4ABB54' : '#EB5757'\n \" fontSize=\"12px\" [text]=\"item.data.Status\" [pd]=\"'2px 6px'\"></verbena-badge>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-template>\n </verben-left-card-data>\n </verben-left-card-data-view>\n\n <verben-right-card-data-view>\n <ng-template #parent>\n <lib-workflow-form [currentData]=\"currentData\" (switchView)=\"vdv.toggleView()\" (onSave)=\"onSave($event)\"\n [operations]=\"operations()\" [designerUrl]=\"designerUrl()\"></lib-workflow-form>\n </ng-template>\n </verben-right-card-data-view>\n\n <verben-card-data-view-footer class=\"w-full\">\n <div class=\"flex gap-2 items-center justify-end\">\n <!-- <verbena-button\n *ngIf=\"!vdcv.hasCurrentItem()\"\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'#8E8D87'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'#fff'\"\n [pd]=\"'9.79px 37.28px'\"\n [text]=\"'Delete'\"\n >\n </verbena-button> -->\n <div class=\"flex {{\n vdcv.hasCurrentItem() ? 'flex-1' : ''\n }} justify-end items-center gap-5\">\n <span class=\"paginator-text\">{{ cardData().length }} records loaded</span>\n <button (click)=\"loadMore()\" class=\"load-more view-links text-[#3479E9] underline\">\n Load more\n </button>\n </div>\n </div>\n </verben-card-data-view-footer>\n </verben-card-data-view>\n </div>\n\n <div column-content>\n <!-- <verben-visible-column\n (columnsUpdated)=\"onColumnsUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n [columns]=\"visibleColumns\"\n [displayedColumns]=\"5\"\n ></verben-visible-column> -->\n\n <lib-data-columns [columns]=\"config.columns\" (columnsUpdated)=\"onColumnsUpdated($event)\"></lib-data-columns>\n </div>\n <div filter-content>\n <verben-table-filter (filtersApplied)=\"onFilterSet($event)\" [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\" boxShadow=\"2px 2px 2px 0px silver\" bgColor=\"white\" width=\"420px\" textColor=\"black\" pd=\"1rem\"\n primaryColor=\"#FFE681\" secondaryColor=\"#3479E9\" tertiaryColor=\"#404040\" [filterOptions]=\"filterArray\"\n [maxFilterLength]=\"3\"></verben-table-filter>\n </div>\n <div sort-content>\n <!-- <verben-sort-table\n (selectedOptions)=\"onSortUpdated($event)\"\n [border]=\"'1px solid rgba(212, 160, 7, 1)'\"\n borderRadius=\"10px\"\n boxShadow=\"2px 2px 2px 0px silver\"\n bgColor=\"white\"\n width=\"400px\"\n textColor=\"black\"\n pd=\"1rem\"\n primaryColor=\"#FFE681\"\n secondaryColor=\"#3479E9\"\n tertiaryColor=\"#404040\"\n [enableDragAndDrop]=\"true\"\n [sortOptions]=\"sortOptions\"\n ></verben-sort-table> -->\n <lib-data-sort [columns]=\"config.columns\" [data]=\"data()\" (sortApplied)=\"onSortUpdated($event)\"></lib-data-sort>\n </div>\n <div export-content>\n <lib-data-xport [columns]=\"config.columns\" [data]=\"data()\" [dataQueryFunction]=\"loadData\">\n </lib-data-xport>\n </div>\n </verben-data-view>\n\n <div *ngIf=\"vdv.isTableView\" class=\"flex gap-2 justify-end\">\n <!-- <div class=\"message-log-button-container flex justify-between\">\n <verbena-button\n [fontWeight]=\"'bold'\"\n [bgColor]=\"'#8E8D87'\"\n [borderRadius]=\"'4px'\"\n [textColor]=\"'#fff'\"\n [pd]=\"'9.79px 37.28px'\"\n [text]=\"'Delete'\"\n >\n </verbena-button>\n </div> -->\n <div class=\"flex justify-end items-center gap-5\">\n <span class=\"paginator-text\">{{ cardData().length }} records loaded</span>\n <button (click)=\"loadMore()\" class=\"load-more view-links text-[#3479E9] underline\">\n Load more\n </button>\n </div>\n </div>\n</div>\n", styles: [".view-links{color:#3479e9;cursor:pointer}\n"] }]
|
|
180
189
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.WorkflowFacade }, { type: i2.FormBuilder }] });
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3dzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi13b3JrZmxvdy11aS9zcmMvbGliL2NvbXBvbmVudHMvd29ya2Zsb3dzL3dvcmtmbG93cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtmbG93cy93b3JrZmxvd3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxXQUFXLEVBRVgsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLFdBQVcsRUFBb0IsTUFBTSxFQUFFLGtCQUFrQixFQUErQixNQUFNLG1DQUFtQyxDQUFDO0FBQzNJLE9BQU8sRUFBRSxxQkFBcUIsRUFBa0IsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7O0FBUTlDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxxQkFBK0I7SUE2QjNEO0lBQ0E7SUFDQTtJQTlCVixXQUFXLEdBQUcsS0FBSyxDQUFTLFVBQVUsQ0FBQyxDQUFDO0lBQ3hDLGdCQUFnQixHQUFHLEtBQUssQ0FBMEIsSUFBSSxDQUFDLENBQUM7SUFFeEQsTUFBTSxHQUE2QjtRQUNqQyxVQUFVLEVBQUUsRUFBRTtRQUNkLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLGNBQWMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN6QixRQUFRLEVBQUUsS0FBSztZQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNoQixJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRTtnQkFDSixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ25DLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDdkMsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUU7YUFDeEQ7WUFDRCxRQUFRLEVBQUUsRUFBRTtTQUNiLENBQUM7UUFDRixZQUFZLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNyQiwyQkFBMkI7UUFDN0IsQ0FBQztLQUNGLENBQUM7SUFFRixTQUFTLEdBQTJCLElBQUksR0FBRyxFQUFFLENBQUM7SUFDOUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNwRCxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxVQUFVLEdBQXdDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUU3RCxZQUNVLEdBQXNCLEVBQ3RCLE1BQXNCLEVBQ3RCLEVBQWU7UUFFdkIsS0FBSyxFQUFFLENBQUM7UUFKQSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBSXZCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDOUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsSUFBd0I7UUFDeEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN6QixtRUFBbUU7WUFDbkUsSUFBSSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzlELFdBQVcsRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsV0FBVyxJQUFJLEVBQUUsRUFBRTtnQkFDcEQsVUFBVSxDQUFDLFFBQVE7YUFDcEIsQ0FBQztZQUNGLGNBQWMsRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsY0FBYyxJQUFJLEVBQUUsRUFBRTtnQkFDMUQsVUFBVSxDQUFDLFFBQVE7YUFDcEIsQ0FBQztZQUNGLGtDQUFrQztZQUNsQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxJQUFJLEVBQUUsQ0FBQztZQUNsQyxNQUFNLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLE1BQU0sSUFBSSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDbkUsQ0FBQyxDQUFDO1FBQ0gsMkJBQTJCO1FBQzNCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFhLEVBQUUsS0FBYTtRQUN6QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFxQixDQUFDO1FBQzFFLHdCQUF3QjtRQUN4QixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLElBQUksS0FBSyxDQUFDO0lBQ25ELENBQUM7SUFFUSxlQUFlO1FBQ3RCLElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsZUFBZTtRQUNqQixDQUFDO0lBQ0gsQ0FBQztJQUVTLHVCQUF1QixDQUFDLElBQVk7UUFDNUMsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLElBQXVCO1FBQ2xDLE1BQU0sT0FBTyxHQUFHO1lBQ2QsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUk7WUFDekIsR0FBRyxJQUFJO1NBQ0ksQ0FBQztRQUNkLElBQUksT0FBTyxDQUFDLFNBQVMsS0FBSyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDMUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QyxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7Z0JBQzlCLEdBQUcsT0FBTztnQkFDVixTQUFTLEVBQUUsV0FBVyxDQUFDLE9BQU87YUFDL0IsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUNuQixRQUFnQixFQUNoQixHQUFhLEVBQ2IsVUFBdUI7UUFFdkIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBMEIsQ0FBQztRQUN0RSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsTUFBTSxLQUFLLEdBQUc7Z0JBQ1osR0FBRyxHQUFHO2dCQUNOLEdBQUcsSUFBSTthQUNJLENBQUM7WUFDZCxJQUFJLEtBQUssQ0FBQyxTQUFTLEtBQUssV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO29CQUN0QyxVQUFVLEVBQUUsRUFBRSxDQUFDO2dCQUNqQixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDTixLQUFLLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7b0JBQ3pDLFVBQVUsRUFBRSxFQUFFLENBQUM7Z0JBQ2pCLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQW9CO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztRQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQXFDO1FBQ2hELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRVEsYUFBYSxDQUFDLEtBQXNDO1FBQzNELFFBQVEsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2xCLEtBQUssUUFBUTtnQkFDWCxNQUFNLFNBQVMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUM3QixJQUFJLE9BQU8sR0FBYTtvQkFDdEIsSUFBSSxFQUFFLEVBQUU7b0JBQ1IsV0FBVyxFQUFFLEVBQUU7b0JBQ2YsY0FBYyxFQUFFLEVBQUU7b0JBQ2xCLGNBQWMsRUFBRSxrQkFBa0IsQ0FBQyxTQUFTO29CQUM1QyxRQUFRLEVBQUUsRUFBRTtvQkFDWixXQUFXLEVBQUUsRUFBRTtvQkFDZixFQUFFLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRTtvQkFDdkIsRUFBRSxFQUFFLEVBQUU7b0JBQ04sU0FBUyxFQUFFLElBQUksSUFBSSxFQUFFO29CQUNyQixTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUU7b0JBQ3JCLFNBQVMsRUFBRSxXQUFXLENBQUMsR0FBRztvQkFDMUIsSUFBSSxFQUFFLEVBQUU7b0JBQ1IsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO29CQUNyQixPQUFPLEVBQUUsRUFBRTtvQkFDWCxLQUFLLEVBQUUsRUFBRTtvQkFDVCxNQUFNLEVBQUUsRUFBRTtpQkFDWCxDQUFDO2dCQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQy9DLHdCQUF3QjtnQkFDeEIsTUFBTTtZQUNSO2dCQUNFLE1BQU07UUFDVixDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBc0M7UUFDbkQsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRSxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQzt3R0FqTFUsa0JBQWtCOzRGQUFsQixrQkFBa0IsMlhDeEIvQix3clpBK1FBOzs0RkR2UGEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBpbnB1dCxcbiAgc2lnbmFsLFxuICBXcml0YWJsZVNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBGb3JtQnVpbGRlcixcbiAgRm9ybUNvbnRyb2wsXG4gIEZvcm1Hcm91cCxcbiAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ2FyZERhdGEsIElEYXRhRmlsdGVyIH0gZnJvbSAndmVyYmVuLW5nLXVpJztcbmltcG9ydCB7IE9iamVjdFN0YXRlLCBQZXJtaXNzaW9uQ29uZmlnLCBTdGF0dXMsIFRhc2tBc3NpZ25tZW50VHlwZSwgV29ya2Zsb3csIFdvcmtmbG93T3BlcmF0aW9uIH0gZnJvbSAndmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvbW9kZWxzJztcbmltcG9ydCB7IEJhc2VEYXRhVmlld0NvbXBvbmVudCwgRGF0YVZpZXdDb25maWcgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9zaGFyZWQnO1xuaW1wb3J0IHsgY29sdW1ucyB9IGZyb20gJy4vd29ya2Zsb3dzLmNvbHVtbnMnO1xuaW1wb3J0IHsgV29ya2Zsb3dGYWNhZGUgfSBmcm9tICcuL3dvcmtmbG93cy5mYWNhZGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItd29ya2Zsb3dzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dvcmtmbG93cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi93b3JrZmxvd3MuY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIFdvcmtmbG93c0NvbXBvbmVudCBleHRlbmRzIEJhc2VEYXRhVmlld0NvbXBvbmVudDxXb3JrZmxvdz4ge1xuICBkZXNpZ25lclVybCA9IGlucHV0PHN0cmluZz4oJ3dvcmtmbG93Jyk7XG4gIHBlcm1pc3Npb25Db25maWcgPSBpbnB1dDxQZXJtaXNzaW9uQ29uZmlnIHwgbnVsbD4obnVsbCk7XG5cbiAgY29uZmlnOiBEYXRhVmlld0NvbmZpZzxXb3JrZmxvdz4gPSB7XG4gICAgZGF0YVNvdXJjZTogW10sXG4gICAgY29sdW1uczogY29sdW1ucyxcbiAgICBjYXJkRGF0YU1hcHBlcjogKHRhc2spID0+ICh7XG4gICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICB0aXRsZTogdGFzay5OYW1lLFxuICAgICAgZGF0YTogdGFzayxcbiAgICAgIGJvZHk6IFtcbiAgICAgICAgeyB0aXRsZTogJ05hbWUnLCB2YWx1ZTogdGFzay5OYW1lIH0sXG4gICAgICAgIHsgdGl0bGU6ICdTdGF0dXMnLCB2YWx1ZTogdGFzay5TdGF0dXMgfSxcbiAgICAgICAgeyB0aXRsZTogJ0Fzc2lnbm1lbnRUeXBlJywgdmFsdWU6IHRhc2suQXNzaWdubWVudFR5cGUgfSxcbiAgICAgIF0sXG4gICAgICBjaGlsZHJlbjogW10sXG4gICAgfSksXG4gICAgb25EZXRhaWxWaWV3OiAodGFzaykgPT4ge1xuICAgICAgLy8gQ3VzdG9tIGRldGFpbCB2aWV3IGxvZ2ljXG4gICAgfSxcbiAgfTtcblxuICBlZGl0Rm9ybXM6IE1hcDxudW1iZXIsIEZvcm1Hcm91cD4gPSBuZXcgTWFwKCk7XG4gIGFzc2lnbm1lbnRUeXBlcyA9IE9iamVjdC52YWx1ZXMoVGFza0Fzc2lnbm1lbnRUeXBlKTtcbiAgc3RhdHVzZXMgPSBPYmplY3QudmFsdWVzKFN0YXR1cyk7XG4gIG9wZXJhdGlvbnM6IFdyaXRhYmxlU2lnbmFsPFdvcmtmbG93T3BlcmF0aW9uW10+ID0gc2lnbmFsKFtdKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBmYWNhZGU6IFdvcmtmbG93RmFjYWRlLFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyXG4gICkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmxvYWREYXRhID0gdGhpcy5sb2FkRGF0YS5iaW5kKHRoaXMpO1xuXG4gICAgdGhpcy5mYWNhZGUuZ2V0UmVxdWVzdHMkKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICB0aGlzLmRhdGEuc2V0KGRhdGEpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5mYWNhZGUuZ2V0T3BlcmF0aW9ucyQoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMub3BlcmF0aW9ucy5zZXQoZGF0YSk7XG4gICAgfSk7XG4gIH1cblxuICBnZW5lcmF0ZUZvcm1Hcm91cChkYXRhPzogUGFydGlhbDxXb3JrZmxvdz4pIHtcbiAgICBjb25zb2xlLmxvZyhkYXRhKTtcbiAgICBjb25zdCBmb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICAvLyBOYW1lOiBbZGF0YT8uTmFtZSA/PyAnJywgeyB2YWxpZGF0b3JzOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF0gfV0sXG4gICAgICBOYW1lOiBuZXcgRm9ybUNvbnRyb2woZGF0YT8uTmFtZSA/PyAnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcbiAgICAgIERlc2NyaXB0aW9uOiBuZXcgRm9ybUNvbnRyb2woZGF0YT8uRGVzY3JpcHRpb24gPz8gJycsIFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgIF0pLFxuICAgICAgQXNzaWdubWVudFR5cGU6IG5ldyBGb3JtQ29udHJvbChkYXRhPy5Bc3NpZ25tZW50VHlwZSA/PyAnJywgW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgXSksXG4gICAgICAvLyBTZXJ2aWNlOiBbZGF0YT8uU2VydmljZSA/PyAnJ10sXG4gICAgICBPcGVyYXRpb246IFtkYXRhPy5PcGVyYXRpb24gPz8gJyddLFxuICAgICAgU3RhdHVzOiBuZXcgRm9ybUNvbnRyb2woZGF0YT8uU3RhdHVzID8/ICcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgIH0pO1xuICAgIC8vIGNvbnNvbGUubG9nKGZvcm0udmFsdWUpO1xuICAgIHJldHVybiBmb3JtO1xuICB9XG5cbiAgZ2V0Rm9ybUNvbnRyb2woaW5kZXg6IG51bWJlciwgZmllbGQ6IHN0cmluZykge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmVkaXRGb3Jtcy5nZXQoaW5kZXgpPy5nZXQoZmllbGQpIGFzIEZvcm1Db250cm9sPGFueT47XG4gICAgLy8gY29uc29sZS5sb2coY29udHJvbCk7XG4gICAgcmV0dXJuIGNvbnRyb2w7XG4gIH1cblxuICBpc1Jvd1ZhbGlkKGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lZGl0Rm9ybXMuZ2V0KGluZGV4KT8udmFsaWQgfHwgZmFsc2U7XG4gIH1cblxuICBvdmVycmlkZSBsb2FkSW5pdGlhbERhdGEoKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuZmFjYWRlLmxvYWRSZXF1ZXN0cygpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmZhY2FkZS5sb2FkT3BlcmF0aW9ucygpO1xuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIEhhbmRsZSBlcnJvclxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRDYXJkRGF0YUJ5SWRlbnRpZmllcihjb2RlOiBzdHJpbmcpOiBDYXJkRGF0YSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuY2FyZERhdGEoKS5maW5kKCh7IGRhdGEgfSkgPT4gZGF0YS5kYXRhLkNvZGUgPT09IGNvZGUpO1xuICB9XG5cbiAgbG9hZE1vcmUoKSB7XG4gICAgdGhpcy5mYWNhZGUubG9hZE1vcmUoKTtcbiAgfVxuXG4gIGFzeW5jIG9uU2F2ZShkYXRhOiBQYXJ0aWFsPFdvcmtmbG93Pikge1xuICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICAuLi50aGlzLmN1cnJlbnREYXRhPy5kYXRhLFxuICAgICAgLi4uZGF0YSxcbiAgICB9IGFzIFdvcmtmbG93O1xuICAgIGlmIChwYXlsb2FkLkRhdGFTdGF0ZSA9PT0gT2JqZWN0U3RhdGUuTmV3KSB7XG4gICAgICBhd2FpdCB0aGlzLmZhY2FkZS5hZGRSZXF1ZXN0KHBheWxvYWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCB0aGlzLmZhY2FkZS51cGRhdGVSZXF1ZXN0KHtcbiAgICAgICAgLi4ucGF5bG9hZCxcbiAgICAgICAgRGF0YVN0YXRlOiBPYmplY3RTdGF0ZS5DaGFuZ2VkLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgY29tbWl0Um93Q2hhbmdlKFxuICAgIHJvd0luZGV4OiBudW1iZXIsXG4gICAgcm93OiBXb3JrZmxvdyxcbiAgICBwb3N0Q29tbWl0PzogKCkgPT4gdm9pZFxuICApIHtcbiAgICBjb25zdCBkYXRhID0gdGhpcy5lZGl0Rm9ybXMuZ2V0KHJvd0luZGV4KT8udmFsdWUgYXMgUGFydGlhbDxXb3JrZmxvdz47XG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGNvbnN0IGRhdHVtID0ge1xuICAgICAgICAuLi5yb3csXG4gICAgICAgIC4uLmRhdGEsXG4gICAgICB9IGFzIFdvcmtmbG93O1xuICAgICAgaWYgKGRhdHVtLkRhdGFTdGF0ZSA9PT0gT2JqZWN0U3RhdGUuTmV3KSB7XG4gICAgICAgIHRoaXMuZmFjYWRlLmFkZFJlcXVlc3QoZGF0dW0pLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIHBvc3RDb21taXQ/LigpO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRhdHVtLkRhdGFTdGF0ZSA9IE9iamVjdFN0YXRlLkNoYW5nZWQ7XG4gICAgICAgIHRoaXMuZmFjYWRlLnVwZGF0ZVJlcXVlc3QoZGF0dW0pLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIHBvc3RDb21taXQ/LigpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbkZpbHRlclNldChldmVudDogSURhdGFGaWx0ZXJbXSkge1xuICAgIHRoaXMuZmlsdGVyQXJyYXkgPSBldmVudDtcbiAgICB0aGlzLmNvbmZpZy5maWx0ZXJPcHRpb25zID0gZXZlbnQ7XG4gICAgdGhpcy5mYWNhZGUuZmlsdGVyKGV2ZW50KS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgaGFuZGxlU2VhcmNoKGV2ZW50OiB7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0pIHtcbiAgICB0aGlzLmZhY2FkZS5zZWFyY2goZXZlbnQudmFsdWUpO1xuICB9XG5cbiAgb3ZlcnJpZGUgb25TdGF0ZUNoYW5nZShldmVudDogeyBrZXk6IHN0cmluZzsgdmFsdWU6IGJvb2xlYW4gfSk6IHZvaWQge1xuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdjcmVhdGUnOlxuICAgICAgICBjb25zdCB0aW1lc3RhbXAgPSBuZXcgRGF0ZSgpO1xuICAgICAgICB2YXIgbmV3Rm9ybTogV29ya2Zsb3cgPSB7XG4gICAgICAgICAgTmFtZTogJycsXG4gICAgICAgICAgRGVzY3JpcHRpb246ICcnLFxuICAgICAgICAgIFN0YWdlRW50cnlSdWxlOiAnJyxcbiAgICAgICAgICBBc3NpZ25tZW50VHlwZTogVGFza0Fzc2lnbm1lbnRUeXBlLkF1dG9Sb3V0ZSxcbiAgICAgICAgICBUZW5hbnRJZDogJycsXG4gICAgICAgICAgU2VydmljZU5hbWU6ICcnLFxuICAgICAgICAgIGlkOiBjcnlwdG8ucmFuZG9tVVVJRCgpLFxuICAgICAgICAgIElkOiAnJyxcbiAgICAgICAgICBDcmVhdGVkQXQ6IG5ldyBEYXRlKCksXG4gICAgICAgICAgVXBkYXRlZEF0OiBuZXcgRGF0ZSgpLFxuICAgICAgICAgIERhdGFTdGF0ZTogT2JqZWN0U3RhdGUuTmV3LFxuICAgICAgICAgIENvZGU6ICcnLFxuICAgICAgICAgIFN0YXR1czogU3RhdHVzLkFjdGl2ZSxcbiAgICAgICAgICBBY3Rpb25zOiBbXSxcbiAgICAgICAgICBMYW5lczogW10sXG4gICAgICAgICAgU3RhZ2VzOiBbXSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5kYXRhLnVwZGF0ZSgocHJldikgPT4gW25ld0Zvcm0sIC4uLnByZXZdKTtcbiAgICAgICAgLy8gY29uc29sZS5sb2cobmV3Rm9ybSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbG9hZERhdGEocmFuZ2U6IHsgc2tpcDogbnVtYmVyOyBsaW1pdDogbnVtYmVyIH0pIHtcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5mYWNhZGUubG9hZERhdGEocmFuZ2Uuc2tpcCwgcmFuZ2UubGltaXQpO1xuICAgIHJldHVybiBkYXRhID8/IFtdO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic3BhY2UteS04XCI+XG4gIDx2ZXJiZW4tZGF0YS12aWV3ICN2ZHYgW3ZpZXdTdGF0ZV09XCJ7XG4gICAgICBpc1NlYXJjaDogdHJ1ZSxcbiAgICAgIGlzQ29sdW1uOiB0cnVlLFxuICAgICAgaXNGaWx0ZXI6IHRydWUsXG4gICAgICBpc1NvcnQ6IHRydWUsXG4gICAgICBpc0V4cG9ydDogISFwZXJtaXNzaW9uQ29uZmlnKCk/LkFjdGlvbnM/LlsnRXhwb3J0J10sXG4gICAgICBpc1NlbGVjdDogdHJ1ZSxcbiAgICAgIGlzQ3JlYXRlOiAhIXBlcm1pc3Npb25Db25maWcoKT8uQWN0aW9ucz8uWydDcmVhdGUnXSxcbiAgICAgIGlzVG9nZ2xlOiB0cnVlLFxuICAgIH1cIiBbYnV0dG9uQ2xhc3NdPVwiJ215LWN1c3RvbS1idXR0b24tY2xhc3MnXCIgW2ljb25DbGFzc109XCInbXktaWNvbi1jbGFzcydcIlxuICAgIFthY3RpdmVJY29uQ2xhc3NdPVwiJ215LWFjdGl2ZS1pY29uLWNsYXNzJ1wiIFtzZWxlY3RlZENvbHVtbkNvdW50XT1cInNlbGVjdGVkQ29sdW1uQ291bnRcIlxuICAgIFtzZWxlY3RlZFNvcnRDb3VudF09XCJzZWxlY3RlZFNvcnRDb3VudFwiIFtzZWxlY3RlZEZpbHRlclRhYmxlQ291bnRdPVwic2VsZWN0ZWRGaWx0ZXJUYWJsZUNvdW50XCJcbiAgICAodmlld0NoYW5nZSk9XCJvblZpZXdDaGFuZ2UoJGV2ZW50KVwiIChzdGF0ZUNoYW5nZSk9XCJvblN0YXRlQ2hhbmdlKCRldmVudClcIiAob25TZWFyY2hDaGFuZ2UpPVwiaGFuZGxlU2VhcmNoKCRldmVudClcIj5cbiAgICA8ZGl2IHRhYmxlLWNvbnRlbnQ+XG4gICAgICA8bGliLWRhdGEtdGFibGUgW2RhdGFdPVwiZGF0YSgpXCIgW2NvbHVtbnNdPVwiY29uZmlnLmNvbHVtbnNcIiBbc3R5bGVDb25maWddPVwic3R5bGVzXCJcbiAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgbGliQ29sdW1uPVwibmFtZVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2VsbEVkaXQgbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aWR0aC1tYXhcIj5cbiAgICAgICAgICAgICAgPHZlcmJlbmEtaW5wdXQgW2Zvcm1Db250cm9sXT1cImdldEZvcm1Db250cm9sKHJvd0luZGV4LCAnTmFtZScpXCI+PC92ZXJiZW5hLWlucHV0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBsaWJDb2x1bW49XCJkZXNjcmlwdGlvblwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2VsbEVkaXQgbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aWR0aC1tYXhcIj5cbiAgICAgICAgICAgICAgPHZlcmJlbmEtaW5wdXQgW2Zvcm1Db250cm9sXT1cImdldEZvcm1Db250cm9sKHJvd0luZGV4LCAnRGVzY3JpcHRpb24nKVwiPjwvdmVyYmVuYS1pbnB1dD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgbGliQ29sdW1uPVwiYXNzaWdubWVudC10eXBlXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNjZWxsRWRpdCBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxuICAgICAgICAgICAgPHZlcmJlbi1kcm9wLWRvd24gc3R5bGVDbGFzcz1cInctZnVsbFwiIHdpZHRoPVwiMTAwJVwiIFttdWx0aXNlbGVjdF09XCJmYWxzZVwiIHBsYWNlaG9sZGVyPVwiU2VsZWN0XCJcbiAgICAgICAgICAgICAgW29wdGlvbnNdPVwiYXNzaWdubWVudFR5cGVzXCIgW2Zvcm1Db250cm9sXT1cImdldEZvcm1Db250cm9sKHJvd0luZGV4LCAnQXNzaWdubWVudFR5cGUnKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCI+XG4gICAgICAgICAgICA8L3ZlcmJlbi1kcm9wLWRvd24+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBsaWJDb2x1bW49XCJvcGVyYXRpb25cIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2NlbGxFZGl0IGxldC1yb3dJbmRleD1cInJvd0luZGV4XCI+XG4gICAgICAgICAgICA8IS0tIDx2ZXJiZW5hLWlucHV0XG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJnZXRGb3JtQ29udHJvbChyb3dJbmRleCwgJ09wZXJhdGlvbicpXCJcbiAgICAgICAgICAgID48L3ZlcmJlbmEtaW5wdXQ+IC0tPlxuICAgICAgICAgICAgPHZlcmJlbi1kcm9wLWRvd24gbGFiZWw9XCJPcGVyYXRpb25cIiBzdHlsZUNsYXNzPVwidy1mdWxsXCIgd2lkdGg9XCIxMDAlXCIgW211bHRpc2VsZWN0XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3RcIiBbb3B0aW9uc109XCJvcGVyYXRpb25zKClcIiBvcHRpb25MYWJlbD1cIkRlc2NyaXB0aW9uXCIgb3B0aW9uVmFsdWU9XCJEZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgIGlkPVwib3BlcmF0aW9uXCIgW2Zvcm1Db250cm9sXT1cImdldEZvcm1Db250cm9sKHJvd0luZGV4LCAnT3BlcmF0aW9uJylcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiPlxuICAgICAgICAgICAgPC92ZXJiZW4tZHJvcC1kb3duPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgbGliQ29sdW1uPVwic3RhdHVzXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNjZWxsIGxldC12YWx1ZT5cbiAgICAgICAgICAgIDx2ZXJiZW5hLWJhZGdlIGJvcmRlclJhZGl1cz1cIjlweFwiIFtiZ0NvbG9yXT1cInZhbHVlID09ICdBY3RpdmUnID8gJyNDQUUxQ0MnIDogJyNGRkRGREYnXCJcbiAgICAgICAgICAgICAgW3RleHRDb2xvcl09XCJ2YWx1ZSA9PSAnQWN0aXZlJyA/ICcjNEFCQjU0JyA6ICcjRUI1NzU3J1wiIGZvbnRTaXplPVwiMTJweFwiIFt0ZXh0XT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgW3BkXT1cIicycHggNnB4J1wiPjwvdmVyYmVuYS1iYWRnZT5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2VsbEVkaXQgbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cbiAgICAgICAgICAgIDx2ZXJiZW4tZHJvcC1kb3duIHN0eWxlQ2xhc3M9XCJ3LWZ1bGxcIiB3aWR0aD1cIjEwMCVcIiBbbXVsdGlzZWxlY3RdPVwiZmFsc2VcIiBwbGFjZWhvbGRlcj1cIk51bGxcIlxuICAgICAgICAgICAgICBbb3B0aW9uc109XCJzdGF0dXNlc1wiIFtmb3JtQ29udHJvbF09XCJnZXRGb3JtQ29udHJvbChyb3dJbmRleCwgJ1N0YXR1cycpXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIj5cbiAgICAgICAgICAgIDwvdmVyYmVuLWRyb3AtZG93bj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyIGxpYkNvbHVtbj1cImFjdGlvbnNcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2NlbGwgbGV0LXZhbHVlIGxldC1kZWxldGVSb3c9XCJkZWxldGVSb3dcIiBsZXQtaXNFZGl0aW5nPVwiaXNFZGl0aW5nXCJcbiAgICAgICAgICAgIGxldC10b2dnbGVSb3dFZGl0PVwidG9nZ2xlUm93RWRpdFwiIGxldC1yb3c9XCJyb3dcIiBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTZcIj5cbiAgICAgICAgICAgICAgPCEtLSBAaWYgKCEhcGVybWlzc2lvbkNvbmZpZygpPy5BY3Rpb25zPy5bJ0Rlc2lnbiddKSB7IC0tPlxuICAgICAgICAgICAgICA8dmVyYmVuLXN2ZyAoY2xpY2spPVwiXG4gICAgICAgICAgICAgICAgICAgIGVkaXRGb3Jtcy5zZXQocm93SW5kZXgsIGdlbmVyYXRlRm9ybUdyb3VwKHJvdykpO1xuICAgICAgICAgICAgICAgICAgICB0b2dnbGVSb3dFZGl0KClcbiAgICAgICAgICAgICAgICAgIFwiIGljb249XCJlZGl0XCIgW3dpZHRoXT1cIjE1XCIgW2hlaWdodF09XCIxNVwiIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj48L3ZlcmJlbi1zdmc+XG4gICAgICAgICAgICAgIDwhLS0gfSAtLT5cblxuICAgICAgICAgICAgICA8dmVyYmVuLXN2ZyBpY29uPVwiZGVsZXRlXCIgW3dpZHRoXT1cIjE1XCIgW2hlaWdodF09XCIxNVwiIChjbGljayk9XCJkZWxldGVSb3coKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPjwvdmVyYmVuLXN2Zz5cblxuICAgICAgICAgICAgICBAaWYgKCEhcGVybWlzc2lvbkNvbmZpZygpPy5BY3Rpb25zPy5bJ0Rlc2lnbiddKSB7XG4gICAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIltkZXNpZ25lclVybCgpLCB2YWx1ZV1cIj5cbiAgICAgICAgICAgICAgICA8dmVyYmVuLXN2ZyBpY29uPVwiZGVzaWduZXJcIiBbd2lkdGhdPVwiMTVcIiBbaGVpZ2h0XT1cIjE1XCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPjwvdmVyYmVuLXN2Zz5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNjZWxsRWRpdCBsZXQtdmFsdWUgbGV0LWRlbGV0ZVJvdz1cImRlbGV0ZVJvd1wiIGxldC1pc0VkaXRpbmc9XCJpc0VkaXRpbmdcIlxuICAgICAgICAgICAgbGV0LXRvZ2dsZVJvd0VkaXQ9XCJ0b2dnbGVSb3dFZGl0XCIgbGV0LXJvdz1cInJvd1wiIGxldC1yb3dJbmRleD1cInJvd0luZGV4XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtNlwiPlxuICAgICAgICAgICAgICA8dmVyYmVuLXN2ZyAoY2xpY2spPVwiY29tbWl0Um93Q2hhbmdlKHJvd0luZGV4LCByb3csIHRvZ2dsZVJvd0VkaXQpXCIgaWNvbj1cInRpY2tcIiBbd2lkdGhdPVwiMTVcIiBbaGVpZ2h0XT1cIjE1XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+PC92ZXJiZW4tc3ZnPlxuXG4gICAgICAgICAgICAgIDx2ZXJiZW4tc3ZnIGljb249XCJkZWxldGVcIiBbd2lkdGhdPVwiMTVcIiBbaGVpZ2h0XT1cIjE1XCIgKGNsaWNrKT1cInRvZ2dsZVJvd0VkaXQoKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPjwvdmVyYmVuLXN2Zz5cblxuICAgICAgICAgICAgICA8dmVyYmVuLXN2ZyBpY29uPVwiY2FyZFZpZXdBbHRcIiBbd2lkdGhdPVwiMTVcIiBbaGVpZ2h0XT1cIjE1XCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImdvVG9DYXJkVmlldyh2YWx1ZSlcIj48L3ZlcmJlbi1zdmc+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbGliLWRhdGEtdGFibGU+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNhcmQtY29udGVudD5cbiAgICAgIDx2ZXJiZW4tY2FyZC1kYXRhLXZpZXcgYm9yZGVyUmFkaXVzPVwiMTJweFwiIChsb2FkTW9yZUNsaWNrKT1cImxvYWRNb3JlKClcIiAjdmRjdiBkYXRhSWQ9XCJDb2RlXCIgYm9yZGVyPVwiNXB4XCJcbiAgICAgICAgW2NhcmREYXRhTGlzdF09XCJjYXJkRGF0YSgpXCIgcmJnQ29sb3I9XCIjZjVmNmY5XCIgbWc9XCIyMHB4XCI+XG4gICAgICAgIDx2ZXJiZW4tbGVmdC1jYXJkLWRhdGEtdmlldyBjbGFzcz1cInNwYWNlLXktN1wiPlxuICAgICAgICAgIDx2ZXJiZW4tbGVmdC1jYXJkLWRhdGEgI3ZsY2QgW3BhcmVudF09XCJ2ZGN2XCIgZGF0YUlkPVwiQ29kZVwiXG4gICAgICAgICAgICBjbGFzcz1cImJnLXNlY29uZGFyeS0xMDAgcm91bmRlZC14bCBib3JkZXItcHJpbWFyeSBib3JkZXItWzFweF1cIiBbY2FyZERhdGFMaXN0XT1cImNhcmREYXRhKClcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2FyZCBsZXQtaXRlbT5cbiAgICAgICAgICAgICAgPGRpdiAoY2xpY2spPVwiY3VycmVudERhdGEgPSB2ZGN2Lm9uSXRlbUNsaWNrKGl0ZW0pXCIgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgICAgICAgPGRpdiAoY2xpY2spPVwiY3VycmVudERhdGEgPSB2ZGN2Lm9uSXRlbUNsaWNrKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBjdXJzb3ItcG9pbnRlciB3LWZ1bGwgYmctc2Vjb25kYXJ5IHJvdW5kZWQteGxcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTMgcm91bmRlZC14bCByb3VuZGVkLXRyLW5vbmUgcm91bmRlZC1ici1ub25lXCIgW25nQ2xhc3NdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgaXRlbS5zZWxlY3RlZCA/ICdiZy1wcmltYXJ5JyA6ICdiZy1zZWNvbmRhcnktMjAwJ1xuICAgICAgICAgICAgICAgICAgICBcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LTEgZmxleCBqdXN0aWZ5LWJldHdlZW4gZ2FwLXktMiBnYXAteC00IHAtNFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC0xIGZsZXggZmxleC1jb2wganVzdGlmeS1iZXR3ZWVuIHNwYWNlLXktMlwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1zZW1pYm9sZCB0ZXh0LVsjNDA0MDQwXSBmbGV4LTEgdHJ1bmNhdGUgbGluZS1jbGFtcC0xXCI+e3sgaXRlbS50aXRsZSB9fTwvc3Bhbj5cblxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwicm9sZVwiIGNsYXNzPVwidGV4dC1zbSBsaW5lLWNsYW1wLTEgdHJ1bmNhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmRhdGE/Lk9wZXJhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxwIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgbXktMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBob25lXCIgY2xhc3M9XCJ0ZXh0LVsxMHB4XSBmb250LWxpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPkFzc2lnbm1lbnQ6PC9sYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJwaG9uZVwiIGNsYXNzPVwidGV4dC1zbSB0cnVuY2F0ZVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uZGF0YS5Bc3NpZ25tZW50VHlwZVxuICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC9wPiAtLT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ2FwLXktMSB3LWZpdCBqdXN0aWZ5LWl0ZW1zLWVuZFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHAgY2xhc3M9XCJncmlkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInJvbGVcIiBjbGFzcz1cInRleHQtc20gZm9udC1tZWRpdW0gbGluZS1jbGFtcC0xIHRydW5jYXRlXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5kYXRhPy5PcGVyYXRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDwvcD4gLS0+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJwaG9uZVwiIGNsYXNzPVwidGV4dC1zbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS5kYXRhLkFzc2lnbm1lbnRUeXBlIH19XG4gICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTQgaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCEhcGVybWlzc2lvbkNvbmZpZygpPy5BY3Rpb25zPy5bJ0Rlc2lnbiddICYmIGl0ZW0uZGF0YT8uQ29kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiW2Rlc2lnbmVyVXJsKCksIGl0ZW0uZGF0YS5Db2RlXVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dmVyYmVuLXN2ZyBpY29uPVwiZGVzaWduZXJcIiBbd2lkdGhdPVwiMTVcIiBbaGVpZ2h0XT1cIjE1XCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPjwvdmVyYmVuLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgPHZlcmJlbmEtYmFkZ2UgYm9yZGVyUmFkaXVzPVwiOXB4XCIgW2JnQ29sb3JdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5kYXRhLlN0YXR1cyA9PSAnQWN0aXZlJyA/ICcjQ0FFMUNDJyA6ICcjRkZERkRGJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICBcIiBbdGV4dENvbG9yXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uZGF0YS5TdGF0dXMgPT0gJ0FjdGl2ZScgPyAnIzRBQkI1NCcgOiAnI0VCNTc1NydcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCIgZm9udFNpemU9XCIxMnB4XCIgW3RleHRdPVwiaXRlbS5kYXRhLlN0YXR1c1wiIFtwZF09XCInMnB4IDZweCdcIj48L3ZlcmJlbmEtYmFkZ2U+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L3ZlcmJlbi1sZWZ0LWNhcmQtZGF0YT5cbiAgICAgICAgPC92ZXJiZW4tbGVmdC1jYXJkLWRhdGEtdmlldz5cblxuICAgICAgICA8dmVyYmVuLXJpZ2h0LWNhcmQtZGF0YS12aWV3PlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcGFyZW50PlxuICAgICAgICAgICAgPGxpYi13b3JrZmxvdy1mb3JtIFtjdXJyZW50RGF0YV09XCJjdXJyZW50RGF0YVwiIChzd2l0Y2hWaWV3KT1cInZkdi50b2dnbGVWaWV3KClcIiAob25TYXZlKT1cIm9uU2F2ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgW29wZXJhdGlvbnNdPVwib3BlcmF0aW9ucygpXCIgW2Rlc2lnbmVyVXJsXT1cImRlc2lnbmVyVXJsKClcIj48L2xpYi13b3JrZmxvdy1mb3JtPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvdmVyYmVuLXJpZ2h0LWNhcmQtZGF0YS12aWV3PlxuXG4gICAgICAgIDx2ZXJiZW4tY2FyZC1kYXRhLXZpZXctZm9vdGVyIGNsYXNzPVwidy1mdWxsXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTIgaXRlbXMtY2VudGVyIGp1c3RpZnktZW5kXCI+XG4gICAgICAgICAgICA8IS0tIDx2ZXJiZW5hLWJ1dHRvblxuICAgICAgICAgICAgICAqbmdJZj1cIiF2ZGN2Lmhhc0N1cnJlbnRJdGVtKClcIlxuICAgICAgICAgICAgICBbZm9udFdlaWdodF09XCInYm9sZCdcIlxuICAgICAgICAgICAgICBbYmdDb2xvcl09XCInIzhFOEQ4NydcIlxuICAgICAgICAgICAgICBbYm9yZGVyUmFkaXVzXT1cIic0cHgnXCJcbiAgICAgICAgICAgICAgW3RleHRDb2xvcl09XCInI2ZmZidcIlxuICAgICAgICAgICAgICBbcGRdPVwiJzkuNzlweCAzNy4yOHB4J1wiXG4gICAgICAgICAgICAgIFt0ZXh0XT1cIidEZWxldGUnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvdmVyYmVuYS1idXR0b24+IC0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgge3tcbiAgICAgICAgICAgICAgICB2ZGN2Lmhhc0N1cnJlbnRJdGVtKCkgPyAnZmxleC0xJyA6ICcnXG4gICAgICAgICAgICAgIH19IGp1c3RpZnktZW5kIGl0ZW1zLWNlbnRlciBnYXAtNVwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhZ2luYXRvci10ZXh0XCI+e3sgY2FyZERhdGEoKS5sZW5ndGggfX0gcmVjb3JkcyBsb2FkZWQ8L3NwYW4+XG4gICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImxvYWRNb3JlKClcIiBjbGFzcz1cImxvYWQtbW9yZSB2aWV3LWxpbmtzIHRleHQtWyMzNDc5RTldIHVuZGVybGluZVwiPlxuICAgICAgICAgICAgICAgIExvYWQgbW9yZVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3ZlcmJlbi1jYXJkLWRhdGEtdmlldy1mb290ZXI+XG4gICAgICA8L3ZlcmJlbi1jYXJkLWRhdGEtdmlldz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY29sdW1uLWNvbnRlbnQ+XG4gICAgICA8IS0tIDx2ZXJiZW4tdmlzaWJsZS1jb2x1bW5cbiAgICAgICAgKGNvbHVtbnNVcGRhdGVkKT1cIm9uQ29sdW1uc1VwZGF0ZWQoJGV2ZW50KVwiXG4gICAgICAgIFtib3JkZXJdPVwiJzFweCBzb2xpZCByZ2JhKDIxMiwgMTYwLCA3LCAxKSdcIlxuICAgICAgICBib3JkZXJSYWRpdXM9XCIxMHB4XCJcbiAgICAgICAgYm94U2hhZG93PVwiMnB4IDJweCAycHggMHB4IHNpbHZlclwiXG4gICAgICAgIGJnQ29sb3I9XCJ3aGl0ZVwiXG4gICAgICAgIHdpZHRoPVwiNDAwcHhcIlxuICAgICAgICB0ZXh0Q29sb3I9XCJibGFja1wiXG4gICAgICAgIHBkPVwiMXJlbVwiXG4gICAgICAgIHByaW1hcnlDb2xvcj1cIiNGRkU2ODFcIlxuICAgICAgICBzZWNvbmRhcnlDb2xvcj1cIiMzNDc5RTlcIlxuICAgICAgICBbY29sdW1uc109XCJ2aXNpYmxlQ29sdW1uc1wiXG4gICAgICAgIFtkaXNwbGF5ZWRDb2x1bW5zXT1cIjVcIlxuICAgICAgPjwvdmVyYmVuLXZpc2libGUtY29sdW1uPiAtLT5cblxuICAgICAgPGxpYi1kYXRhLWNvbHVtbnMgW2NvbHVtbnNdPVwiY29uZmlnLmNvbHVtbnNcIiAoY29sdW1uc1VwZGF0ZWQpPVwib25Db2x1bW5zVXBkYXRlZCgkZXZlbnQpXCI+PC9saWItZGF0YS1jb2x1bW5zPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgZmlsdGVyLWNvbnRlbnQ+XG4gICAgICA8dmVyYmVuLXRhYmxlLWZpbHRlciAoZmlsdGVyc0FwcGxpZWQpPVwib25GaWx0ZXJTZXQoJGV2ZW50KVwiIFtib3JkZXJdPVwiJzFweCBzb2xpZCByZ2JhKDIxMiwgMTYwLCA3LCAxKSdcIlxuICAgICAgICBib3JkZXJSYWRpdXM9XCIxMHB4XCIgYm94U2hhZG93PVwiMnB4IDJweCAycHggMHB4IHNpbHZlclwiIGJnQ29sb3I9XCJ3aGl0ZVwiIHdpZHRoPVwiNDIwcHhcIiB0ZXh0Q29sb3I9XCJibGFja1wiIHBkPVwiMXJlbVwiXG4gICAgICAgIHByaW1hcnlDb2xvcj1cIiNGRkU2ODFcIiBzZWNvbmRhcnlDb2xvcj1cIiMzNDc5RTlcIiB0ZXJ0aWFyeUNvbG9yPVwiIzQwNDA0MFwiIFtmaWx0ZXJPcHRpb25zXT1cImZpbHRlckFycmF5XCJcbiAgICAgICAgW21heEZpbHRlckxlbmd0aF09XCIzXCI+PC92ZXJiZW4tdGFibGUtZmlsdGVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgc29ydC1jb250ZW50PlxuICAgICAgPCEtLSA8dmVyYmVuLXNvcnQtdGFibGVcbiAgICAgICAgKHNlbGVjdGVkT3B0aW9ucyk9XCJvblNvcnRVcGRhdGVkKCRldmVudClcIlxuICAgICAgICBbYm9yZGVyXT1cIicxcHggc29saWQgcmdiYSgyMTIsIDE2MCwgNywgMSknXCJcbiAgICAgICAgYm9yZGVyUmFkaXVzPVwiMTBweFwiXG4gICAgICAgIGJveFNoYWRvdz1cIjJweCAycHggMnB4IDBweCBzaWx2ZXJcIlxuICAgICAgICBiZ0NvbG9yPVwid2hpdGVcIlxuICAgICAgICB3aWR0aD1cIjQwMHB4XCJcbiAgICAgICAgdGV4dENvbG9yPVwiYmxhY2tcIlxuICAgICAgICBwZD1cIjFyZW1cIlxuICAgICAgICBwcmltYXJ5Q29sb3I9XCIjRkZFNjgxXCJcbiAgICAgICAgc2Vjb25kYXJ5Q29sb3I9XCIjMzQ3OUU5XCJcbiAgICAgICAgdGVydGlhcnlDb2xvcj1cIiM0MDQwNDBcIlxuICAgICAgICBbZW5hYmxlRHJhZ0FuZERyb3BdPVwidHJ1ZVwiXG4gICAgICAgIFtzb3J0T3B0aW9uc109XCJzb3J0T3B0aW9uc1wiXG4gICAgICA+PC92ZXJiZW4tc29ydC10YWJsZT4gLS0+XG4gICAgICA8bGliLWRhdGEtc29ydCBbY29sdW1uc109XCJjb25maWcuY29sdW1uc1wiIFtkYXRhXT1cImRhdGEoKVwiIChzb3J0QXBwbGllZCk9XCJvblNvcnRVcGRhdGVkKCRldmVudClcIj48L2xpYi1kYXRhLXNvcnQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBleHBvcnQtY29udGVudD5cbiAgICAgIDxsaWItZGF0YS14cG9ydCBbY29sdW1uc109XCJjb25maWcuY29sdW1uc1wiIFtkYXRhXT1cImRhdGEoKVwiIFtkYXRhUXVlcnlGdW5jdGlvbl09XCJsb2FkRGF0YVwiPlxuICAgICAgPC9saWItZGF0YS14cG9ydD5cbiAgICA8L2Rpdj5cbiAgPC92ZXJiZW4tZGF0YS12aWV3PlxuXG4gIDxkaXYgKm5nSWY9XCJ2ZHYuaXNUYWJsZVZpZXdcIiBjbGFzcz1cImZsZXggZ2FwLTIganVzdGlmeS1lbmRcIj5cbiAgICA8IS0tIDxkaXYgY2xhc3M9XCJtZXNzYWdlLWxvZy1idXR0b24tY29udGFpbmVyIGZsZXgganVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICA8dmVyYmVuYS1idXR0b25cbiAgICAgICAgW2ZvbnRXZWlnaHRdPVwiJ2JvbGQnXCJcbiAgICAgICAgW2JnQ29sb3JdPVwiJyM4RThEODcnXCJcbiAgICAgICAgW2JvcmRlclJhZGl1c109XCInNHB4J1wiXG4gICAgICAgIFt0ZXh0Q29sb3JdPVwiJyNmZmYnXCJcbiAgICAgICAgW3BkXT1cIic5Ljc5cHggMzcuMjhweCdcIlxuICAgICAgICBbdGV4dF09XCInRGVsZXRlJ1wiXG4gICAgICA+XG4gICAgICA8L3ZlcmJlbmEtYnV0dG9uPlxuICAgIDwvZGl2PiAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWVuZCBpdGVtcy1jZW50ZXIgZ2FwLTVcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwicGFnaW5hdG9yLXRleHRcIj57eyBjYXJkRGF0YSgpLmxlbmd0aCB9fSByZWNvcmRzIGxvYWRlZDwvc3Bhbj5cbiAgICAgIDxidXR0b24gKGNsaWNrKT1cImxvYWRNb3JlKClcIiBjbGFzcz1cImxvYWQtbW9yZSB2aWV3LWxpbmtzIHRleHQtWyMzNDc5RTldIHVuZGVybGluZVwiPlxuICAgICAgICBMb2FkIG1vcmVcbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3dzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi13b3JrZmxvdy11aS9zcmMvbGliL2NvbXBvbmVudHMvd29ya2Zsb3dzL3dvcmtmbG93cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL3dvcmtmbG93cy93b3JrZmxvd3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxXQUFXLEVBRVgsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLFdBQVcsRUFBb0IsTUFBTSxFQUFFLGtCQUFrQixFQUErQixNQUFNLG1DQUFtQyxDQUFDO0FBQzNJLE9BQU8sRUFBRSxxQkFBcUIsRUFBa0IsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7O0FBUTlDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxxQkFBK0I7SUE2QjNEO0lBQ0E7SUFDQTtJQTlCVixXQUFXLEdBQUcsS0FBSyxDQUFTLFVBQVUsQ0FBQyxDQUFDO0lBQ3hDLGdCQUFnQixHQUFHLEtBQUssQ0FBMEIsSUFBSSxDQUFDLENBQUM7SUFFeEQsTUFBTSxHQUE2QjtRQUNqQyxVQUFVLEVBQUUsRUFBRTtRQUNkLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLGNBQWMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN6QixRQUFRLEVBQUUsS0FBSztZQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNoQixJQUFJLEVBQUUsSUFBSTtZQUNWLElB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SyxPQUFPLENBQUMsQ0FBQztnQkFDN0QsSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFDVCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN2RCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUMzQixDQUFDO2dCQUNELE1BQU07WUFDUixDQUFDO1lBQ0Q7Z0JBQ0UsTUFBTTtRQUNWLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFzQztRQUNuRCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO3dHQTVMVSxrQkFBa0I7NEZBQWxCLGtCQUFrQiwyWEN4Qi9CLHdyWkErUUE7OzRGRHZQYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIGlucHV0LFxuICBzaWduYWwsXG4gIFdyaXRhYmxlU2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEZvcm1CdWlsZGVyLFxuICBGb3JtQ29udHJvbCxcbiAgRm9ybUdyb3VwLFxuICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDYXJkRGF0YSwgSURhdGFGaWx0ZXIgfSBmcm9tICd2ZXJiZW4tbmctdWknO1xuaW1wb3J0IHsgT2JqZWN0U3RhdGUsIFBlcm1pc3Npb25Db25maWcsIFN0YXR1cywgVGFza0Fzc2lnbm1lbnRUeXBlLCBXb3JrZmxvdywgV29ya2Zsb3dPcGVyYXRpb24gfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9tb2RlbHMnO1xuaW1wb3J0IHsgQmFzZURhdGFWaWV3Q29tcG9uZW50LCBEYXRhVmlld0NvbmZpZyB9IGZyb20gJ3ZlcmJlbi13b3JrZmxvdy11aS9zcmMvbGliL3NoYXJlZCc7XG5pbXBvcnQgeyBjb2x1bW5zIH0gZnJvbSAnLi93b3JrZmxvd3MuY29sdW1ucyc7XG5pbXBvcnQgeyBXb3JrZmxvd0ZhY2FkZSB9IGZyb20gJy4vd29ya2Zsb3dzLmZhY2FkZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi13b3JrZmxvd3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vd29ya2Zsb3dzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3dvcmtmbG93cy5jb21wb25lbnQuY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgV29ya2Zsb3dzQ29tcG9uZW50IGV4dGVuZHMgQmFzZURhdGFWaWV3Q29tcG9uZW50PFdvcmtmbG93PiB7XG4gIGRlc2lnbmVyVXJsID0gaW5wdXQ8c3RyaW5nPignd29ya2Zsb3cnKTtcbiAgcGVybWlzc2lvbkNvbmZpZyA9IGlucHV0PFBlcm1pc3Npb25Db25maWcgfCBudWxsPihudWxsKTtcblxuICBjb25maWc6IERhdGFWaWV3Q29uZmlnPFdvcmtmbG93PiA9IHtcbiAgICBkYXRhU291cmNlOiBbXSxcbiAgICBjb2x1bW5zOiBjb2x1bW5zLFxuICAgIGNhcmREYXRhTWFwcGVyOiAodGFzaykgPT4gKHtcbiAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgIHRpdGxlOiB0YXNrLk5hbWUsXG4gICAgICBkYXRhOiB0YXNrLFxuICAgICAgYm9keTogW1xuICAgICAgICB7IHRpdGxlOiAnTmFtZScsIHZhbHVlOiB0YXNrLk5hbWUgfSxcbiAgICAgICAgeyB0aXRsZTogJ1N0YXR1cycsIHZhbHVlOiB0YXNrLlN0YXR1cyB9LFxuICAgICAgICB7IHRpdGxlOiAnQXNzaWdubWVudFR5cGUnLCB2YWx1ZTogdGFzay5Bc3NpZ25tZW50VHlwZSB9LFxuICAgICAgXSxcbiAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICB9KSxcbiAgICBvbkRldGFpbFZpZXc6ICh0YXNrKSA9PiB7XG4gICAgICAvLyBDdXN0b20gZGV0YWlsIHZpZXcgbG9naWNcbiAgICB9LFxuICB9O1xuXG4gIGVkaXRGb3JtczogTWFwPG51bWJlciwgRm9ybUdyb3VwPiA9IG5ldyBNYXAoKTtcbiAgYXNzaWdubWVudFR5cGVzID0gT2JqZWN0LnZhbHVlcyhUYXNrQXNzaWdubWVudFR5cGUpO1xuICBzdGF0dXNlcyA9IE9iamVjdC52YWx1ZXMoU3RhdHVzKTtcbiAgb3BlcmF0aW9uczogV3JpdGFibGVTaWduYWw8V29ya2Zsb3dPcGVyYXRpb25bXT4gPSBzaWduYWwoW10pO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGZhY2FkZTogV29ya2Zsb3dGYWNhZGUsXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXJcbiAgKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMubG9hZERhdGEgPSB0aGlzLmxvYWREYXRhLmJpbmQodGhpcyk7XG5cbiAgICB0aGlzLmZhY2FkZS5nZXRSZXF1ZXN0cyQoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMuZGF0YS5zZXQoZGF0YSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZhY2FkZS5nZXRPcGVyYXRpb25zJCgpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgdGhpcy5vcGVyYXRpb25zLnNldChkYXRhKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdlbmVyYXRlRm9ybUdyb3VwKGRhdGE/OiBQYXJ0aWFsPFdvcmtmbG93Pikge1xuICAgIGNvbnNvbGUubG9nKGRhdGEpO1xuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIC8vIE5hbWU6IFtkYXRhPy5OYW1lID8/ICcnLCB7IHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSB9XSxcbiAgICAgIE5hbWU6IG5ldyBGb3JtQ29udHJvbChkYXRhPy5OYW1lID8/ICcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxuICAgICAgRGVzY3JpcHRpb246IG5ldyBGb3JtQ29udHJvbChkYXRhPy5EZXNjcmlwdGlvbiA/PyAnJywgW1xuICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxuICAgICAgXSksXG4gICAgICBBc3NpZ25tZW50VHlwZTogbmV3IEZvcm1Db250cm9sKGRhdGE/LkFzc2lnbm1lbnRUeXBlID8/ICcnLCBbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICBdKSxcbiAgICAgIC8vIFNlcnZpY2U6IFtkYXRhPy5TZXJ2aWNlID8/ICcnXSxcbiAgICAgIE9wZXJhdGlvbjogW2RhdGE/Lk9wZXJhdGlvbiA/PyAnJ10sXG4gICAgICBTdGF0dXM6IG5ldyBGb3JtQ29udHJvbChkYXRhPy5TdGF0dXMgPz8gJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXG4gICAgfSk7XG4gICAgLy8gY29uc29sZS5sb2coZm9ybS52YWx1ZSk7XG4gICAgcmV0dXJuIGZvcm07XG4gIH1cblxuICBnZXRGb3JtQ29udHJvbChpbmRleDogbnVtYmVyLCBmaWVsZDogc3RyaW5nKSB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZWRpdEZvcm1zLmdldChpbmRleCk/LmdldChmaWVsZCkgYXMgRm9ybUNvbnRyb2w8YW55PjtcbiAgICAvLyBjb25zb2xlLmxvZyhjb250cm9sKTtcbiAgICByZXR1cm4gY29udHJvbDtcbiAgfVxuXG4gIGlzUm93VmFsaWQoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVkaXRGb3Jtcy5nZXQoaW5kZXgpPy52YWxpZCB8fCBmYWxzZTtcbiAgfVxuXG4gIG92ZXJyaWRlIGxvYWRJbml0aWFsRGF0YSgpIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5mYWNhZGUubG9hZFJlcXVlc3RzKCkudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuZmFjYWRlLmxvYWRPcGVyYXRpb25zKCk7XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gSGFuZGxlIGVycm9yXG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldENhcmREYXRhQnlJZGVudGlmaWVyKGNvZGU6IHN0cmluZyk6IENhcmREYXRhIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jYXJkRGF0YSgpLmZpbmQoKHsgZGF0YSB9KSA9PiBkYXRhLmRhdGEuQ29kZSA9PT0gY29kZSk7XG4gIH1cblxuICBsb2FkTW9yZSgpIHtcbiAgICB0aGlzLmZhY2FkZS5sb2FkTW9yZSgpO1xuICB9XG5cbiAgYXN5bmMgb25TYXZlKGRhdGE6IFBhcnRpYWw8V29ya2Zsb3c+KSB7XG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgIC4uLnRoaXMuY3VycmVudERhdGE/LmRhdGEsXG4gICAgICAuLi5kYXRhLFxuICAgIH0gYXMgV29ya2Zsb3c7XG4gICAgaWYgKHBheWxvYWQuRGF0YVN0YXRlID09PSBPYmplY3RTdGF0ZS5OZXcpIHtcbiAgICAgIGF3YWl0IHRoaXMuZmFjYWRlLmFkZFJlcXVlc3QocGF5bG9hZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IHRoaXMuZmFjYWRlLnVwZGF0ZVJlcXVlc3Qoe1xuICAgICAgICAuLi5wYXlsb2FkLFxuICAgICAgICBEYXRhU3RhdGU6IE9iamVjdFN0YXRlLkNoYW5nZWQsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjb21taXRSb3dDaGFuZ2UoXG4gICAgcm93SW5kZXg6IG51bWJlcixcbiAgICByb3c6IFdvcmtmbG93LFxuICAgIHBvc3RDb21taXQ/OiAoKSA9PiB2b2lkXG4gICkge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLmVkaXRGb3Jtcy5nZXQocm93SW5kZXgpPy52YWx1ZSBhcyBQYXJ0aWFsPFdvcmtmbG93PjtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgY29uc3QgZGF0dW0gPSB7XG4gICAgICAgIC4uLnJvdyxcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgIH0gYXMgV29ya2Zsb3c7XG4gICAgICBpZiAoZGF0dW0uRGF0YVN0YXRlID09PSBPYmplY3RTdGF0ZS5OZXcpIHtcbiAgICAgICAgdGhpcy5mYWNhZGUuYWRkUmVxdWVzdChkYXR1bSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgcG9zdENvbW1pdD8uKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGF0dW0uRGF0YVN0YXRlID0gT2JqZWN0U3RhdGUuQ2hhbmdlZDtcbiAgICAgICAgdGhpcy5mYWNhZGUudXBkYXRlUmVxdWVzdChkYXR1bSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgcG9zdENvbW1pdD8uKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uRmlsdGVyU2V0KGV2ZW50OiBJRGF0YUZpbHRlcltdKSB7XG4gICAgdGhpcy5maWx0ZXJBcnJheSA9IGV2ZW50O1xuICAgIHRoaXMuY29uZmlnLmZpbHRlck9wdGlvbnMgPSBldmVudDtcbiAgICB0aGlzLmZhY2FkZS5maWx0ZXIoZXZlbnQpLnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBoYW5kbGVTZWFyY2goZXZlbnQ6IHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfSkge1xuICAgIHRoaXMuZmFjYWRlLnNlYXJjaChldmVudC52YWx1ZSk7XG4gIH1cblxuICBvdmVycmlkZSBvblN0YXRlQ2hhbmdlKGV2ZW50OiB7IGtleTogc3RyaW5nOyB2YWx1ZTogYm9vbGVhbiB9KTogdm9pZCB7XG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ2NyZWF0ZSc6IHtcbiAgICAgICAgY29uc3QgbmV3Rm9ybTogV29ya2Zsb3cgPSB7XG4gICAgICAgICAgTmFtZTogJycsXG4gICAgICAgICAgRGVzY3JpcHRpb246ICcnLFxuICAgICAgICAgIFN0YWdlRW50cnlSdWxlOiAnJyxcbiAgICAgICAgICBBc3NpZ25tZW50VHlwZTogVGFza0Fzc2lnbm1lbnRUeXBlLkF1dG9Sb3V0ZSxcbiAgICAgICAgICBUZW5hbnRJZDogJycsXG4gICAgICAgICAgU2VydmljZU5hbWU6ICcnLFxuICAgICAgICAgIGlkOiBjcnlwdG8ucmFuZG9tVVVJRCgpLFxuICAgICAgICAgIElkOiAnJyxcbiAgICAgICAgICBDcmVhdGVkQXQ6IG5ldyBEYXRlKCksXG4gICAgICAgICAgVXBkYXRlZEF0OiBuZXcgRGF0ZSgpLFxuICAgICAgICAgIERhdGFTdGF0ZTogT2JqZWN0U3RhdGUuTmV3LFxuICAgICAgICAgIENvZGU6ICcnLFxuICAgICAgICAgIFN0YXR1czogU3RhdHVzLkFjdGl2ZSxcbiAgICAgICAgICBBY3Rpb25zOiBbXSxcbiAgICAgICAgICBMYW5lczogW10sXG4gICAgICAgICAgU3RhZ2VzOiBbXSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5kYXRhLnVwZGF0ZSgocHJldikgPT4gW25ld0Zvcm0sIC4uLnByZXZdKTtcbiAgICAgICAgdGhpcy5kYXRhVmlldy5pc1RhYmxlVmlldyA9IGZhbHNlO1xuXG4gICAgICAgIC8vIENhcmREYXRhVmlld0NvbXBvbmVudCBtYXRjaGVzIGNsaWNrcyBhZ2FpbnN0IGl0cyBjYXJkRGF0YUxpc3QgaW5wdXQsXG4gICAgICAgIC8vIHdoaWNoIG9ubHkgcmVjZWl2ZXMgdGhlIG5ldyBjYXJkIGFmdGVyIGEgY2hhbmdlLWRldGVjdGlvbiBwYXNzLiBGb3JjZVxuICAgICAgICAvLyBvbmUgc28gdGhlIGZyZXNobHkgYWRkZWQgY2FyZCBpcyByZXNvbHZhYmxlIGJlZm9yZSB3ZSBvcGVuIGl0LlxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgY29uc3QgY2FyZCA9IHRoaXMuY2FyZERhdGEoKS5maW5kKChjKSA9PiBjLmRhdGEgPT09IG5ld0Zvcm0pO1xuICAgICAgICBpZiAoY2FyZCkge1xuICAgICAgICAgIHRoaXMuY3VycmVudERhdGEgPSB0aGlzLmNhcmREYXRhVmlldy5vbkl0ZW1DbGljayhjYXJkKTtcbiAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkRGF0YShyYW5nZTogeyBza2lwOiBudW1iZXI7IGxpbWl0OiBudW1iZXIgfSkge1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmZhY2FkZS5sb2FkRGF0YShyYW5nZS5za2lwLCByYW5nZS5saW1pdCk7XG4gICAgcmV0dXJuIGRhdGEgPz8gW107XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzcGFjZS15LThcIj5cbiAgPHZlcmJlbi1kYXRhLXZpZXcgI3ZkdiBbdmlld1N0YXRlXT1cIntcbiAgICAgIGlzU2VhcmNoOiB0cnVlLFxuICAgICAgaXNDb2x1bW46IHRydWUsXG4gICAgICBpc0ZpbHRlcjogdHJ1ZSxcbiAgICAgIGlzU29ydDogdHJ1ZSxcbiAgICAgIGlzRXhwb3J0OiAhIXBlcm1pc3Npb25Db25maWcoKT8uQWN0aW9ucz8uWydFeHBvcnQnXSxcbiAgICAgIGlzU2VsZWN0OiB0cnVlLFxuICAgICAgaXNDcmVhdGU6ICEhcGVybWlzc2lvbkNvbmZpZygpPy5BY3Rpb25zPy5bJ0NyZWF0ZSddLFxuICAgICAgaXNUb2dnbGU6IHRydWUsXG4gICAgfVwiIFtidXR0b25DbGFzc109XCInbXktY3VzdG9tLWJ1dHRvbi1jbGFzcydcIiBbaWNvbkNsYXNzXT1cIidteS1pY29uLWNsYXNzJ1wiXG4gICAgW2FjdGl2ZUljb25DbGFzc109XCInbXktYWN0aXZlLWljb24tY2xhc3MnXCIgW3NlbGVjdGVkQ29sdW1uQ291bnRdPVwic2VsZWN0ZWRDb2x1bW5Db3VudFwiXG4gICAgW3NlbGVjdGVkU29ydENvdW50XT1cInNlbGVjdGVkU29ydENvdW50XCIgW3NlbGVjdGVkRmlsdGVyVGFibGVDb3VudF09XCJzZWxlY3RlZEZpbHRlclRhYmxlQ291bnRcIlxuICAgICh2aWV3Q2hhbmdlKT1cIm9uVmlld0NoYW5nZSgkZXZlbnQpXCIgKHN0YXRlQ2hhbmdlKT1cIm9uU3RhdGVDaGFuZ2UoJGV2ZW50KVwiIChvblNlYXJjaENoYW5nZSk9XCJoYW5kbGVTZWFyY2goJGV2ZW50KVwiPlxuICAgIDxkaXYgdGFibGUtY29udGVudD5cbiAgICAgIDxsaWItZGF0YS10YWJsZSBbZGF0YV09XCJkYXRhKClcIiBbY29sdW1uc109XCJjb25maWcuY29sdW1uc1wiIFtzdHlsZUNvbmZpZ109XCJzdHlsZXNcIlxuICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBsaWJDb2x1bW49XCJuYW1lXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNjZWxsRWRpdCBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndpZHRoLW1heFwiPlxuICAgICAgICAgICAgICA8dmVyYmVuYS1pbnB1dCBbZm9ybUNvbnRyb2xdPVwiZ2V0Rm9ybUNvbnRyb2wocm93SW5kZXgsICdOYW1lJylcIj48L3ZlcmJlbmEtaW5wdXQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyIGxpYkNvbHVtbj1cImRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNjZWxsRWRpdCBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndpZHRoLW1heFwiPlxuICAgICAgICAgICAgICA8dmVyYmVuYS1pbnB1dCBbZm9ybUNvbnRyb2xdPVwiZ2V0Rm9ybUNvbnRyb2wocm93SW5kZXgsICdEZXNjcmlwdGlvbicpXCI+PC92ZXJiZW5hLWlucHV0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBsaWJDb2x1bW49XCJhc3NpZ25tZW50LXR5cGVcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2NlbGxFZGl0IGxldC1yb3dJbmRleD1cInJvd0luZGV4XCI+XG4gICAgICAgICAgICA8dmVyYmVuLWRyb3AtZG93biBzdHlsZUNsYXNzPVwidy1mdWxsXCIgd2lkdGg9XCIxMDAlXCIgW211bHRpc2VsZWN0XT1cImZhbHNlXCIgcGxhY2Vob2xkZXI9XCJTZWxlY3RcIlxuICAgICAgICAgICAgICBbb3B0aW9uc109XCJhc3NpZ25tZW50VHlwZXNcIiBbZm9ybUNvbnRyb2xdPVwiZ2V0Rm9ybUNvbnRyb2wocm93SW5kZXgsICdBc3NpZ25tZW50VHlwZScpXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIj5cbiAgICAgICAgICAgIDwvdmVyYmVuLWRyb3AtZG93bj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyIGxpYkNvbHVtbj1cIm9wZXJhdGlvblwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2VsbEVkaXQgbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cbiAgICAgICAgICAgIDwhLS0gPHZlcmJlbmEtaW5wdXRcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImdldEZvcm1Db250cm9sKHJvd0luZGV4LCAnT3BlcmF0aW9uJylcIlxuICAgICAgICAgICAgPjwvdmVyYmVuYS1pbnB1dD4gLS0+XG4gICAgICAgICAgICA8dmVyYmVuLWRyb3AtZG93biBsYWJlbD1cIk9wZXJhdGlvblwiIHN0eWxlQ2xhc3M9XCJ3LWZ1bGxcIiB3aWR0aD1cIjEwMCVcIiBbbXVsdGlzZWxlY3RdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdFwiIFtvcHRpb25zXT1cIm9wZXJhdGlvbnMoKVwiIG9wdGlvbkxhYmVsPVwiRGVzY3JpcHRpb25cIiBvcHRpb25WYWx1ZT1cIkRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgaWQ9XCJvcGVyYXRpb25cIiBbZm9ybUNvbnRyb2xdPVwiZ2V0Rm9ybUNvbnRyb2wocm93SW5kZXgsICdPcGVyYXRpb24nKVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCI+XG4gICAgICAgICAgICA8L3ZlcmJlbi1kcm9wLWRvd24+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBsaWJDb2x1bW49XCJzdGF0dXNcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2NlbGwgbGV0LXZhbHVlPlxuICAgICAgICAgICAgPHZlcmJlbmEtYmFkZ2UgYm9yZGVyUmFkaXVzPVwiOXB4XCIgW2JnQ29sb3JdPVwidmFsdWUgPT0gJ0FjdGl2ZScgPyAnI0NBRTFDQycgOiAnI0ZGREZERidcIlxuICAgICAgICAgICAgICBbdGV4dENvbG9yXT1cInZhbHVlID09ICdBY3RpdmUnID8gJyM0QUJCNTQnIDogJyNFQjU3NTcnXCIgZm9udFNpemU9XCIxMnB4XCIgW3RleHRdPVwidmFsdWVcIlxuICAgICAgICAgICAgICBbcGRdPVwiJzJweCA2cHgnXCI+PC92ZXJiZW5hLWJhZGdlPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNjZWxsRWRpdCBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxuICAgICAgICAgICAgPHZlcmJlbi1kcm9wLWRvd24gc3R5bGVDbGFzcz1cInctZnVsbFwiIHdpZHRoPVwiMTAwJVwiIFttdWx0aXNlbGVjdF09XCJmYWxzZVwiIHBsYWNlaG9sZGVyPVwiTnVsbFwiXG4gICAgICAgICAgICAgIFtvcHRpb25zXT1cInN0YXR1c2VzXCIgW2Zvcm1Db250cm9sXT1cImdldEZvcm1Db250cm9sKHJvd0luZGV4LCAnU3RhdHVzJylcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiPlxuICAgICAgICAgICAgPC92ZXJiZW4tZHJvcC1kb3duPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgbGliQ29sdW1uPVwiYWN0aW9uc1wiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2VsbCBsZXQtdmFsdWUgbGV0LWRlbGV0ZVJvdz1cImRlbGV0ZVJvd1wiIGxldC1pc0VkaXRpbmc9XCJpc0VkaXRpbmdcIlxuICAgICAgICAgICAgbGV0LXRvZ2dsZVJvd0VkaXQ9XCJ0b2dnbGVSb3dFZGl0XCIgbGV0LXJvdz1cInJvd1wiIGxldC1yb3dJbmRleD1cInJvd0luZGV4XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtNlwiPlxuICAgICAgICAgICAgICA8IS0tIEBpZiAoISFwZXJtaXNzaW9uQ29uZmlnKCk/LkFjdGlvbnM/LlsnRGVzaWduJ10pIHsgLS0+XG4gICAgICAgICAgICAgIDx2ZXJiZW4tc3ZnIChjbGljayk9XCJcbiAgICAgICAgICAgICAgICAgICAgZWRpdEZvcm1zLnNldChyb3dJbmRleCwgZ2VuZXJhdGVGb3JtR3JvdXAocm93KSk7XG4gICAgICAgICAgICAgICAgICAgIHRvZ2dsZVJvd0VkaXQoKVxuICAgICAgICAgICAgICAgICAgXCIgaWNvbj1cImVkaXRcIiBbd2lkdGhdPVwiMTVcIiBbaGVpZ2h0XT1cIjE1XCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiPjwvdmVyYmVuLXN2Zz5cbiAgICAgICAgICAgICAgPCEtLSB9IC0tPlxuXG4gICAgICAgICAgICAgIDx2ZXJiZW4tc3ZnIGljb249XCJkZWxldGVcIiBbd2lkdGhdPVwiMTVcIiBbaGVpZ2h0XT1cIjE1XCIgKGNsaWNrKT1cImRlbGV0ZVJvdygpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+PC92ZXJiZW4tc3ZnPlxuXG4gICAgICAgICAgICAgIEBpZiAoISFwZXJtaXNzaW9uQ29uZmlnKCk/LkFjdGlvbnM/LlsnRGVzaWduJ10pIHtcbiAgICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiW2Rlc2lnbmVyVXJsKCksIHZhbHVlXVwiPlxuICAgICAgICAgICAgICAgIDx2ZXJiZW4tc3ZnIGljb249XCJkZXNpZ25lclwiIFt3aWR0aF09XCIxNVwiIFtoZWlnaHRdPVwiMTVcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+PC92ZXJiZW4tc3ZnPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2NlbGxFZGl0IGxldC12YWx1ZSBsZXQtZGVsZXRlUm93PVwiZGVsZXRlUm93XCIgbGV0LWlzRWRpdGluZz1cImlzRWRpdGluZ1wiXG4gICAgICAgICAgICBsZXQtdG9nZ2xlUm93RWRpdD1cInRvZ2dsZVJvd0VkaXRcIiBsZXQtcm93PVwicm93XCIgbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC02XCI+XG4gICAgICAgICAgICAgIDx2ZXJiZW4tc3ZnIChjbGljayk9XCJjb21taXRSb3dDaGFuZ2Uocm93SW5kZXgsIHJvdywgdG9nZ2xlUm93RWRpdClcIiBpY29uPVwidGlja1wiIFt3aWR0aF09XCIxNVwiIFtoZWlnaHRdPVwiMTVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIj48L3ZlcmJlbi1zdmc+XG5cbiAgICAgICAgICAgICAgPHZlcmJlbi1zdmcgaWNvbj1cImRlbGV0ZVwiIFt3aWR0aF09XCIxNVwiIFtoZWlnaHRdPVwiMTVcIiAoY2xpY2spPVwidG9nZ2xlUm93RWRpdCgpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+PC92ZXJiZW4tc3ZnPlxuXG4gICAgICAgICAgICAgIDx2ZXJiZW4tc3ZnIGljb249XCJjYXJkVmlld0FsdFwiIFt3aWR0aF09XCIxNVwiIFtoZWlnaHRdPVwiMTVcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ29Ub0NhcmRWaWV3KHZhbHVlKVwiPjwvdmVyYmVuLXN2Zz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9saWItZGF0YS10YWJsZT5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2FyZC1jb250ZW50PlxuICAgICAgPHZlcmJlbi1jYXJkLWRhdGEtdmlldyBib3JkZXJSYWRpdXM9XCIxMnB4XCIgKGxvYWRNb3JlQ2xpY2spPVwibG9hZE1vcmUoKVwiICN2ZGN2IGRhdGFJZD1cIkNvZGVcIiBib3JkZXI9XCI1cHhcIlxuICAgICAgICBbY2FyZERhdGFMaXN0XT1cImNhcmREYXRhKClcIiByYmdDb2xvcj1cIiNmNWY2ZjlcIiBtZz1cIjIwcHhcIj5cbiAgICAgICAgPHZlcmJlbi1sZWZ0LWNhcmQtZGF0YS12aWV3IGNsYXNzPVwic3BhY2UteS03XCI+XG4gICAgICAgICAgPHZlcmJlbi1sZWZ0LWNhcmQtZGF0YSAjdmxjZCBbcGFyZW50XT1cInZkY3ZcIiBkYXRhSWQ9XCJDb2RlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYmctc2Vjb25kYXJ5LTEwMCByb3VuZGVkLXhsIGJvcmRlci1wcmltYXJ5IGJvcmRlci1bMXB4XVwiIFtjYXJkRGF0YUxpc3RdPVwiY2FyZERhdGEoKVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjYXJkIGxldC1pdGVtPlxuICAgICAgICAgICAgICA8ZGl2IChjbGljayk9XCJjdXJyZW50RGF0YSA9IHZkY3Yub25JdGVtQ2xpY2soaXRlbSlcIiBjbGFzcz1cImZsZXhcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IChjbGljayk9XCJjdXJyZW50RGF0YSA9IHZkY3Yub25JdGVtQ2xpY2soaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGN1cnNvci1wb2ludGVyIHctZnVsbCBiZy1zZWNvbmRhcnkgcm91bmRlZC14bFwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMyByb3VuZGVkLXhsIHJvdW5kZWQtdHItbm9uZSByb3VuZGVkLWJyLW5vbmVcIiBbbmdDbGFzc109XCJcbiAgICAgICAgICAgICAgICAgICAgICBpdGVtLnNlbGVjdGVkID8gJ2JnLXByaW1hcnknIDogJ2JnLXNlY29uZGFyeS0yMDAnXG4gICAgICAgICAgICAgICAgICAgIFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtMSBmbGV4IGp1c3RpZnktYmV0d2VlbiBnYXAteS0yIGdhcC14LTQgcC00XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LTEgZmxleCBmbGV4LWNvbCBqdXN0aWZ5LWJldHdlZW4gc3BhY2UteS0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LXNlbWlib2xkIHRleHQtWyM0MDQwNDBdIGZsZXgtMSB0cnVuY2F0ZSBsaW5lLWNsYW1wLTFcIj57eyBpdGVtLnRpdGxlIH19PC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJyb2xlXCIgY2xhc3M9XCJ0ZXh0LXNtIGxpbmUtY2xhbXAtMSB0cnVuY2F0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uZGF0YT8uT3BlcmF0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPHAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBteS0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicGhvbmVcIiBjbGFzcz1cInRleHQtWzEwcHhdIGZvbnQtbGlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICA+QXNzaWdubWVudDo8L2xhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInBob25lXCIgY2xhc3M9XCJ0ZXh0LXNtIHRydW5jYXRlXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5kYXRhLkFzc2lnbm1lbnRUeXBlXG4gICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L3A+IC0tPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBnYXAteS0xIHctZml0IGp1c3RpZnktaXRlbXMtZW5kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPCEtLSA8cCBjbGFzcz1cImdyaWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwicm9sZVwiIGNsYXNzPVwidGV4dC1zbSBmb250LW1lZGl1bSBsaW5lLWNsYW1wLTEgdHJ1bmNhdGVcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmRhdGE/Lk9wZXJhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPC9wPiAtLT5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInBob25lXCIgY2xhc3M9XCJ0ZXh0LXNtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLmRhdGEuQXNzaWdubWVudFR5cGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtNCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoISFwZXJtaXNzaW9uQ29uZmlnKCk/LkFjdGlvbnM/LlsnRGVzaWduJ10gJiYgaXRlbS5kYXRhPy5Db2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJbZGVzaWduZXJVcmwoKSwgaXRlbS5kYXRhLkNvZGVdXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx2ZXJiZW4tc3ZnIGljb249XCJkZXNpZ25lclwiIFt3aWR0aF09XCIxNVwiIFtoZWlnaHRdPVwiMTVcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+PC92ZXJiZW4tc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8dmVyYmVuYS1iYWRnZSBib3JkZXJSYWRpdXM9XCI5cHhcIiBbYmdDb2xvcl09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmRhdGEuU3RhdHVzID09ICdBY3RpdmUnID8gJyNDQUUxQ0MnIDogJyNGRkRGREYnXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwiIFt0ZXh0Q29sb3JdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5kYXRhLlN0YXR1cyA9PSAnQWN0aXZlJyA/ICcjNEFCQjU0JyA6ICcjRUI1NzU3J1xuICAgICAgICAgICAgICAgICAgICAgICAgICBcIiBmb250U2l6ZT1cIjEycHhcIiBbdGV4dF09XCJpdGVtLmRhdGEuU3RhdHVzXCIgW3BkXT1cIicycHggNnB4J1wiPjwvdmVyYmVuYS1iYWRnZT5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvdmVyYmVuLWxlZnQtY2FyZC1kYXRhPlxuICAgICAgICA8L3ZlcmJlbi1sZWZ0LWNhcmQtZGF0YS12aWV3PlxuXG4gICAgICAgIDx2ZXJiZW4tcmlnaHQtY2FyZC1kYXRhLXZpZXc+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNwYXJlbnQ+XG4gICAgICAgICAgICA8bGliLXdvcmtmbG93LWZvcm0gW2N1cnJlbnREYXRhXT1cImN1cnJlbnREYXRhXCIgKHN3aXRjaFZpZXcpPVwidmR2LnRvZ2dsZVZpZXcoKVwiIChvblNhdmUpPVwib25TYXZlKCRldmVudClcIlxuICAgICAgICAgICAgICBbb3BlcmF0aW9uc109XCJvcGVyYXRpb25zKClcIiBbZGVzaWduZXJVcmxdPVwiZGVzaWduZXJVcmwoKVwiPjwvbGliLXdvcmtmbG93LWZvcm0+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC92ZXJiZW4tcmlnaHQtY2FyZC1kYXRhLXZpZXc+XG5cbiAgICAgICAgPHZlcmJlbi1jYXJkLWRhdGEtdmlldy1mb290ZXIgY2xhc3M9XCJ3LWZ1bGxcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMiBpdGVtcy1jZW50ZXIganVzdGlmeS1lbmRcIj5cbiAgICAgICAgICAgIDwhLS0gPHZlcmJlbmEtYnV0dG9uXG4gICAgICAgICAgICAgICpuZ0lmPVwiIXZkY3YuaGFzQ3VycmVudEl0ZW0oKVwiXG4gICAgICAgICAgICAgIFtmb250V2VpZ2h0XT1cIidib2xkJ1wiXG4gICAgICAgICAgICAgIFtiZ0NvbG9yXT1cIicjOEU4RDg3J1wiXG4gICAgICAgICAgICAgIFtib3JkZXJSYWRpdXNdPVwiJzRweCdcIlxuICAgICAgICAgICAgICBbdGV4dENvbG9yXT1cIicjZmZmJ1wiXG4gICAgICAgICAgICAgIFtwZF09XCInOS43OXB4IDM3LjI4cHgnXCJcbiAgICAgICAgICAgICAgW3RleHRdPVwiJ0RlbGV0ZSdcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC92ZXJiZW5hLWJ1dHRvbj4gLS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCB7e1xuICAgICAgICAgICAgICAgIHZkY3YuaGFzQ3VycmVudEl0ZW0oKSA/ICdmbGV4LTEnIDogJydcbiAgICAgICAgICAgICAgfX0ganVzdGlmeS1lbmQgaXRlbXMtY2VudGVyIGdhcC01XCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGFnaW5hdG9yLXRleHRcIj57eyBjYXJkRGF0YSgpLmxlbmd0aCB9fSByZWNvcmRzIGxvYWRlZDwvc3Bhbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwibG9hZE1vcmUoKVwiIGNsYXNzPVwibG9hZC1tb3JlIHZpZXctbGlua3MgdGV4dC1bIzM0NzlFOV0gdW5kZXJsaW5lXCI+XG4gICAgICAgICAgICAgICAgTG9hZCBtb3JlXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdmVyYmVuLWNhcmQtZGF0YS12aWV3LWZvb3Rlcj5cbiAgICAgIDwvdmVyYmVuLWNhcmQtZGF0YS12aWV3PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjb2x1bW4tY29udGVudD5cbiAgICAgIDwhLS0gPHZlcmJlbi12aXNpYmxlLWNvbHVtblxuICAgICAgICAoY29sdW1uc1VwZGF0ZWQpPVwib25Db2x1bW5zVXBkYXRlZCgkZXZlbnQpXCJcbiAgICAgICAgW2JvcmRlcl09XCInMXB4IHNvbGlkIHJnYmEoMjEyLCAxNjAsIDcsIDEpJ1wiXG4gICAgICAgIGJvcmRlclJhZGl1cz1cIjEwcHhcIlxuICAgICAgICBib3hTaGFkb3c9XCIycHggMnB4IDJweCAwcHggc2lsdmVyXCJcbiAgICAgICAgYmdDb2xvcj1cIndoaXRlXCJcbiAgICAgICAgd2lkdGg9XCI0MDBweFwiXG4gICAgICAgIHRleHRDb2xvcj1cImJsYWNrXCJcbiAgICAgICAgcGQ9XCIxcmVtXCJcbiAgICAgICAgcHJpbWFyeUNvbG9yPVwiI0ZGRTY4MVwiXG4gICAgICAgIHNlY29uZGFyeUNvbG9yPVwiIzM0NzlFOVwiXG4gICAgICAgIFtjb2x1bW5zXT1cInZpc2libGVDb2x1bW5zXCJcbiAgICAgICAgW2Rpc3BsYXllZENvbHVtbnNdPVwiNVwiXG4gICAgICA+PC92ZXJiZW4tdmlzaWJsZS1jb2x1bW4+IC0tPlxuXG4gICAgICA8bGliLWRhdGEtY29sdW1ucyBbY29sdW1uc109XCJjb25maWcuY29sdW1uc1wiIChjb2x1bW5zVXBkYXRlZCk9XCJvbkNvbHVtbnNVcGRhdGVkKCRldmVudClcIj48L2xpYi1kYXRhLWNvbHVtbnM+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBmaWx0ZXItY29udGVudD5cbiAgICAgIDx2ZXJiZW4tdGFibGUtZmlsdGVyIChmaWx0ZXJzQXBwbGllZCk9XCJvbkZpbHRlclNldCgkZXZlbnQpXCIgW2JvcmRlcl09XCInMXB4IHNvbGlkIHJnYmEoMjEyLCAxNjAsIDcsIDEpJ1wiXG4gICAgICAgIGJvcmRlclJhZGl1cz1cIjEwcHhcIiBib3hTaGFkb3c9XCIycHggMnB4IDJweCAwcHggc2lsdmVyXCIgYmdDb2xvcj1cIndoaXRlXCIgd2lkdGg9XCI0MjBweFwiIHRleHRDb2xvcj1cImJsYWNrXCIgcGQ9XCIxcmVtXCJcbiAgICAgICAgcHJpbWFyeUNvbG9yPVwiI0ZGRTY4MVwiIHNlY29uZGFyeUNvbG9yPVwiIzM0NzlFOVwiIHRlcnRpYXJ5Q29sb3I9XCIjNDA0MDQwXCIgW2ZpbHRlck9wdGlvbnNdPVwiZmlsdGVyQXJyYXlcIlxuICAgICAgICBbbWF4RmlsdGVyTGVuZ3RoXT1cIjNcIj48L3ZlcmJlbi10YWJsZS1maWx0ZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBzb3J0LWNvbnRlbnQ+XG4gICAgICA8IS0tIDx2ZXJiZW4tc29ydC10YWJsZVxuICAgICAgICAoc2VsZWN0ZWRPcHRpb25zKT1cIm9uU29ydFVwZGF0ZWQoJGV2ZW50KVwiXG4gICAgICAgIFtib3JkZXJdPVwiJzFweCBzb2xpZCByZ2JhKDIxMiwgMTYwLCA3LCAxKSdcIlxuICAgICAgICBib3JkZXJSYWRpdXM9XCIxMHB4XCJcbiAgICAgICAgYm94U2hhZG93PVwiMnB4IDJweCAycHggMHB4IHNpbHZlclwiXG4gICAgICAgIGJnQ29sb3I9XCJ3aGl0ZVwiXG4gICAgICAgIHdpZHRoPVwiNDAwcHhcIlxuICAgICAgICB0ZXh0Q29sb3I9XCJibGFja1wiXG4gICAgICAgIHBkPVwiMXJlbVwiXG4gICAgICAgIHByaW1hcnlDb2xvcj1cIiNGRkU2ODFcIlxuICAgICAgICBzZWNvbmRhcnlDb2xvcj1cIiMzNDc5RTlcIlxuICAgICAgICB0ZXJ0aWFyeUNvbG9yPVwiIzQwNDA0MFwiXG4gICAgICAgIFtlbmFibGVEcmFnQW5kRHJvcF09XCJ0cnVlXCJcbiAgICAgICAgW3NvcnRPcHRpb25zXT1cInNvcnRPcHRpb25zXCJcbiAgICAgID48L3ZlcmJlbi1zb3J0LXRhYmxlPiAtLT5cbiAgICAgIDxsaWItZGF0YS1zb3J0IFtjb2x1bW5zXT1cImNvbmZpZy5jb2x1bW5zXCIgW2RhdGFdPVwiZGF0YSgpXCIgKHNvcnRBcHBsaWVkKT1cIm9uU29ydFVwZGF0ZWQoJGV2ZW50KVwiPjwvbGliLWRhdGEtc29ydD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGV4cG9ydC1jb250ZW50PlxuICAgICAgPGxpYi1kYXRhLXhwb3J0IFtjb2x1bW5zXT1cImNvbmZpZy5jb2x1bW5zXCIgW2RhdGFdPVwiZGF0YSgpXCIgW2RhdGFRdWVyeUZ1bmN0aW9uXT1cImxvYWREYXRhXCI+XG4gICAgICA8L2xpYi1kYXRhLXhwb3J0PlxuICAgIDwvZGl2PlxuICA8L3ZlcmJlbi1kYXRhLXZpZXc+XG5cbiAgPGRpdiAqbmdJZj1cInZkdi5pc1RhYmxlVmlld1wiIGNsYXNzPVwiZmxleCBnYXAtMiBqdXN0aWZ5LWVuZFwiPlxuICAgIDwhLS0gPGRpdiBjbGFzcz1cIm1lc3NhZ2UtbG9nLWJ1dHRvbi1jb250YWluZXIgZmxleCBqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgIDx2ZXJiZW5hLWJ1dHRvblxuICAgICAgICBbZm9udFdlaWdodF09XCInYm9sZCdcIlxuICAgICAgICBbYmdDb2xvcl09XCInIzhFOEQ4NydcIlxuICAgICAgICBbYm9yZGVyUmFkaXVzXT1cIic0cHgnXCJcbiAgICAgICAgW3RleHRDb2xvcl09XCInI2ZmZidcIlxuICAgICAgICBbcGRdPVwiJzkuNzlweCAzNy4yOHB4J1wiXG4gICAgICAgIFt0ZXh0XT1cIidEZWxldGUnXCJcbiAgICAgID5cbiAgICAgIDwvdmVyYmVuYS1idXR0b24+XG4gICAgPC9kaXY+IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktZW5kIGl0ZW1zLWNlbnRlciBnYXAtNVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJwYWdpbmF0b3ItdGV4dFwiPnt7IGNhcmREYXRhKCkubGVuZ3RoIH19IHJlY29yZHMgbG9hZGVkPC9zcGFuPlxuICAgICAgPGJ1dHRvbiAoY2xpY2spPVwibG9hZE1vcmUoKVwiIGNsYXNzPVwibG9hZC1tb3JlIHZpZXctbGlua3MgdGV4dC1bIzM0NzlFOV0gdW5kZXJsaW5lXCI+XG4gICAgICAgIExvYWQgbW9yZVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -498,11 +498,9 @@ class FlowableStatusComponent extends BaseDataViewComponent {
|
|
|
498
498
|
return data ?? [];
|
|
499
499
|
}
|
|
500
500
|
onStateChange(event) {
|
|
501
|
-
console.log(`State changed for ${event.key}:`, event.value);
|
|
502
501
|
switch (event.key) {
|
|
503
|
-
case 'create':
|
|
504
|
-
const
|
|
505
|
-
var newForm = {
|
|
502
|
+
case 'create': {
|
|
503
|
+
const newForm = {
|
|
506
504
|
Name: '',
|
|
507
505
|
Description: '',
|
|
508
506
|
TenantId: '',
|
|
@@ -515,8 +513,17 @@ class FlowableStatusComponent extends BaseDataViewComponent {
|
|
|
515
513
|
Code: '',
|
|
516
514
|
};
|
|
517
515
|
this.data.update((prev) => [newForm, ...prev]);
|
|
518
|
-
//
|
|
516
|
+
// CardDataViewComponent matches clicks against its cardDataList input,
|
|
517
|
+
// which only receives the new card after a change-detection pass. Force
|
|
518
|
+
// one so the freshly added card is resolvable before we open it.
|
|
519
|
+
this.cdr.detectChanges();
|
|
520
|
+
const card = this.cardData().find((c) => c.data === newForm);
|
|
521
|
+
if (card) {
|
|
522
|
+
this.currentData = this.cardDataView.onItemClick(card);
|
|
523
|
+
this.cdr.detectChanges();
|
|
524
|
+
}
|
|
519
525
|
break;
|
|
526
|
+
}
|
|
520
527
|
default:
|
|
521
528
|
break;
|
|
522
529
|
}
|