bx-rest 0.4.5 → 0.4.7
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/README.md +118 -0
- package/consts/part-name-methods.d.ts +1 -0
- package/esm2022/consts/part-name-methods.mjs +2 -1
- package/esm2022/map/app.mjs +4 -2
- package/esm2022/map/disk/base.mjs +18 -16
- package/esm2022/map/disk/storage.mjs +4 -4
- package/esm2022/map/task/elapseditem.mjs +2 -1
- package/esm2022/map/timeman.mjs +37 -0
- package/esm2022/map/user.mjs +2 -2
- package/esm2022/request/calendar/event.mjs +1 -1
- package/esm2022/request/disk/file.mjs +7 -7
- package/esm2022/request/disk/storage.mjs +16 -16
- package/esm2022/request/task/commentitem.mjs +5 -5
- package/esm2022/request/task/elapseditem.mjs +6 -6
- package/esm2022/request/timeman.mjs +52 -0
- package/esm2022/request-navvy/calendar/event.mjs +2 -2
- package/esm2022/request-navvy/disk/file.mjs +3 -3
- package/esm2022/request-navvy/disk/interlayer/storage.mjs +11 -11
- package/esm2022/request-navvy/disk/operation.mjs +7 -10
- package/esm2022/request-navvy/disk/storage.mjs +9 -9
- package/esm2022/request-navvy/server.mjs +2 -2
- package/esm2022/request-navvy/task/elapseditem.mjs +51 -42
- package/esm2022/request-navvy/task/operation/elapseditem.mjs +63 -54
- package/esm2022/request-navvy/task.mjs +6 -6
- package/esm2022/request-navvy/timeman.mjs +24 -0
- package/esm2022/request-navvy/user.mjs +3 -3
- package/esm2022/rest.mjs +29 -25
- package/esm2022/services/Navvy/NavvySimple.mjs +2 -2
- package/esm2022/services/Navvy/NavvySupport.mjs +1 -2
- package/esm2022/services/navvy.mjs +1 -1
- package/esm2022/typification/rest/task/access/getaccess.mjs +1 -1
- package/esm2022/typification/rest/task/commentitem/add.mjs +1 -1
- package/esm2022/typification/rest/tasks/task/list.mjs +1 -1
- package/esm2022/typification/rest/timeman/status.mjs +2 -0
- package/fesm2022/bx-rest.mjs +312 -226
- package/fesm2022/bx-rest.mjs.map +1 -1
- package/map/app.d.ts +1 -1
- package/map/disk/base.d.ts +1 -1
- package/map/disk/storage.d.ts +2 -2
- package/map/task/elapseditem.d.ts +1 -1
- package/map/timeman.d.ts +7 -0
- package/map/user.d.ts +1 -1
- package/package.json +1 -1
- package/request/disk/file.d.ts +5 -5
- package/request/disk/storage.d.ts +11 -11
- package/request/task/commentitem.d.ts +3 -3
- package/request/task/elapseditem.d.ts +3 -3
- package/request/timeman.d.ts +17 -0
- package/request-navvy/app.d.ts +1 -1
- package/request-navvy/calendar/event.d.ts +1 -1
- package/request-navvy/disk/file.d.ts +1 -1
- package/request-navvy/disk/folder.d.ts +8 -8
- package/request-navvy/disk/interlayer/storage.d.ts +4 -4
- package/request-navvy/disk/storage.d.ts +5 -5
- package/request-navvy/server.d.ts +1 -1
- package/request-navvy/task/elapseditem.d.ts +9 -7
- package/request-navvy/task/operation/elapseditem.d.ts +3 -3
- package/request-navvy/task.d.ts +4 -4
- package/request-navvy/tasks/task.d.ts +1 -1
- package/request-navvy/timeman.d.ts +14 -0
- package/request-navvy/user.d.ts +3 -3
- package/rest.d.ts +6 -2
- package/services/Navvy/NavvySimple.d.ts +2 -2
- package/services/navvy.d.ts +2 -2
- package/typification/rest/task/access/getaccess.d.ts +4 -1
- package/typification/rest/task/commentitem/add.d.ts +9 -1
- package/typification/rest/tasks/task/list.d.ts +4 -4
- package/typification/rest/timeman/status.d.ts +28 -0
- package/esm2022/services/permission.mjs +0 -43
- package/esm2022/typification/permission.mjs +0 -2
- package/services/permission.d.ts +0 -9
- package/typification/permission.d.ts +0 -27
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
-
import { mergeMap,
|
|
3
|
-
import { Permission } from '../../services/permission';
|
|
2
|
+
import { mergeMap, throwError } from 'rxjs';
|
|
4
3
|
import { Navvy } from '../../services/navvy';
|
|
4
|
+
import { NavvySimple } from '../../services/Navvy/NavvySimple';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "../../request/task/elapseditem";
|
|
7
7
|
import * as i2 from "../../map/task/elapseditem";
|
|
8
8
|
import * as i3 from "./delegate/elapseditem";
|
|
9
9
|
import * as i4 from "./operation/elapseditem";
|
|
10
|
-
export class
|
|
10
|
+
export class BXRestNavvyElapsedItem {
|
|
11
11
|
constructor(BXRestElapsedItem, BXRestMapElapsedItem, delegate, operation) {
|
|
12
12
|
this.BXRestElapsedItem = BXRestElapsedItem;
|
|
13
13
|
this.BXRestMapElapsedItem = BXRestMapElapsedItem;
|
|
@@ -27,7 +27,13 @@ export class BXRestNavvyElapseditem {
|
|
|
27
27
|
return this.delegate.getList(param);
|
|
28
28
|
}
|
|
29
29
|
add(param) {
|
|
30
|
+
return new NavvySimple(this, this.BXRestMapElapsedItem, this.addBase.call(this, param));
|
|
31
|
+
// return this.Navvy.simpleWithArg(this.addBase.bind(this), param)
|
|
32
|
+
}
|
|
33
|
+
addBase(param) {
|
|
34
|
+
console.log('this.operation', this.operation);
|
|
30
35
|
return this.operation.checkPermissionReadTask(param.TASKID).pipe(mergeMap(allowedReadTask => {
|
|
36
|
+
console.log('allowedReadTask', allowedReadTask);
|
|
31
37
|
if (allowedReadTask) {
|
|
32
38
|
return this.operation.checkPermissionAddElapsedTimeToTask(param.TASKID).pipe(mergeMap(allowed => {
|
|
33
39
|
if (allowed) {
|
|
@@ -49,21 +55,19 @@ export class BXRestNavvyElapseditem {
|
|
|
49
55
|
* @param param
|
|
50
56
|
*/
|
|
51
57
|
update(param) {
|
|
52
|
-
|
|
58
|
+
const func = () => this.operation.checkPermissionReadTask(param.TASKID).pipe(mergeMap((allowedReadTask) => {
|
|
53
59
|
if (allowedReadTask) {
|
|
54
60
|
return this.isAllowedModify(param.TASKID, param.ITEMID).pipe(mergeMap(allowed => {
|
|
55
61
|
if (allowed) {
|
|
56
62
|
return this.BXRestElapsedItem.update(param);
|
|
57
63
|
}
|
|
58
|
-
|
|
59
|
-
return throwError(() => new Error('Отсутствуют права на изменение записи затраченного времени'));
|
|
60
|
-
}
|
|
64
|
+
return throwError(() => new Error('Отсутствуют права на изменение записи затраченного времени'));
|
|
61
65
|
}));
|
|
62
66
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
+
return throwError(() => new Error('Отсутствуют права на чтение задачи'));
|
|
68
|
+
}));
|
|
69
|
+
console.log('this.BXRestMapElapsedItem.update', this.BXRestMapElapsedItem.update);
|
|
70
|
+
return new NavvySimple(this, this.BXRestMapElapsedItem, func.call(this), this.BXRestMapElapsedItem.update);
|
|
67
71
|
}
|
|
68
72
|
/*
|
|
69
73
|
getAll(
|
|
@@ -125,40 +129,45 @@ export class BXRestNavvyElapseditem {
|
|
|
125
129
|
)
|
|
126
130
|
}
|
|
127
131
|
*/
|
|
132
|
+
// TODO: разобраться что это за ебатня в комментах и вписать нормальной комент если она нужна
|
|
128
133
|
isAllowedModify(idTask, idItem) {
|
|
129
|
-
let permission = Permission.get()
|
|
130
|
-
if (permission?.tasks?.length) {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
}
|
|
134
|
+
// let permission = Permission.get()
|
|
135
|
+
// if (permission?.tasks?.length) {
|
|
136
|
+
// let findTask = permission.tasks.find(i => i.id === idTask)
|
|
137
|
+
// if (findTask) {
|
|
138
|
+
// let find = findTask.elapsedItem.find(i => i.id === idItem)
|
|
139
|
+
// if (find && find.verified.edit) {
|
|
140
|
+
// return of(find.edit)
|
|
141
|
+
// }
|
|
142
|
+
// }
|
|
143
|
+
// }
|
|
139
144
|
return this.isActionAllowed({
|
|
140
145
|
TASKID: idTask,
|
|
141
|
-
ITEMID:
|
|
142
|
-
ACTIONID:
|
|
143
|
-
}).result()
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
}
|
|
146
|
+
ITEMID: idItem,
|
|
147
|
+
ACTIONID: 2
|
|
148
|
+
}).result();
|
|
149
|
+
// .pipe(
|
|
150
|
+
// tap(v => {
|
|
151
|
+
// if (v !== undefined) {
|
|
152
|
+
// Permission.setTaskElapsedItem(idTask,
|
|
153
|
+
// {
|
|
154
|
+
// id: idItem,
|
|
155
|
+
// edit: v,
|
|
156
|
+
// del: false,
|
|
157
|
+
// verified: {
|
|
158
|
+
// edit: true,
|
|
159
|
+
// del: false,
|
|
160
|
+
// }
|
|
161
|
+
// })
|
|
162
|
+
// }
|
|
163
|
+
// })
|
|
164
|
+
// )
|
|
156
165
|
}
|
|
157
166
|
isAllowedRemove(idTask, idItem) {
|
|
158
167
|
return this.isActionAllowed({
|
|
159
168
|
TASKID: idTask,
|
|
160
|
-
ITEMID:
|
|
161
|
-
ACTIONID:
|
|
169
|
+
ITEMID: idItem,
|
|
170
|
+
ACTIONID: 3
|
|
162
171
|
}).result();
|
|
163
172
|
}
|
|
164
173
|
/**
|
|
@@ -193,13 +202,13 @@ export class BXRestNavvyElapseditem {
|
|
|
193
202
|
}
|
|
194
203
|
})), v => (v === null));
|
|
195
204
|
}
|
|
196
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type:
|
|
197
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type:
|
|
205
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvyElapsedItem, deps: [{ token: i1.BXRestTaskElapsedItem }, { token: i2.BXRestMapTaskElapsedItem }, { token: i3.BXRestNavvyDelegateElapsedItem }, { token: i4.BXRestNavvyOperationElapsedItem }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
206
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvyElapsedItem, providedIn: 'root' }); }
|
|
198
207
|
}
|
|
199
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type:
|
|
208
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvyElapsedItem, decorators: [{
|
|
200
209
|
type: Injectable,
|
|
201
210
|
args: [{
|
|
202
211
|
providedIn: 'root'
|
|
203
212
|
}]
|
|
204
213
|
}], ctorParameters: function () { return [{ type: i1.BXRestTaskElapsedItem }, { type: i2.BXRestMapTaskElapsedItem }, { type: i3.BXRestNavvyDelegateElapsedItem }, { type: i4.BXRestNavvyOperationElapsedItem }]; } });
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhcHNlZGl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L3Rhc2svZWxhcHNlZGl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBSXBELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUl0RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7Ozs7OztBQVE1QyxNQUFNLE9BQU8sc0JBQXNCO0lBSWpDLFlBQ1UsaUJBQXdDLEVBQ3hDLG9CQUE4QyxFQUM5QyxRQUF3QyxFQUN6QyxTQUEwQztRQUh6QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXVCO1FBQ3hDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBMEI7UUFDOUMsYUFBUSxHQUFSLFFBQVEsQ0FBZ0M7UUFDekMsY0FBUyxHQUFULFNBQVMsQ0FBaUM7UUFFakQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUE7SUFDM0UsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFFSCxPQUFPLENBQ0wsUUFBb0MsRUFBRTtRQUV0QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3JDLENBQUM7SUFFRCxHQUFHLENBQUMsS0FBaUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQzlELFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUN6QixJ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QUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQ3RGLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUN6QixJQUFJLGVBQWUsRUFBRTtnQkFDbkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDMUQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNqQixJQUFJLE9BQU8sRUFBRTt3QkFDWCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7cUJBQ3pDO3lCQUFNO3dCQUNMLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUMsQ0FBQTtxQkFDaEc7Z0JBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQTthQUNOO2lCQUFNO2dCQUNMLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUMsQ0FBQTthQUN6RTtRQUNILENBQUMsQ0FBQyxDQUNILEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ3ZCLENBQUM7K0dBak5VLHNCQUFzQjttSEFBdEIsc0JBQXNCLGNBRnJCLE1BQU07OzRGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgbWVyZ2VNYXAsIG9mLCB0YXAsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1FbGFwc2VkaXRlbUdldCB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2svZWxhcHNlZGl0ZW0vZ2V0J1xyXG5pbXBvcnQgeyBCWFJlc3RUYXNrRWxhcHNlZEl0ZW0gfSBmcm9tICcuLi8uLi9yZXF1ZXN0L3Rhc2svZWxhcHNlZGl0ZW0nXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbUFkZEVsYXBzZWRpdGVtIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9lbGFwc2VkaXRlbS9hZGQnXHJcbmltcG9ydCB7IFBlcm1pc3Npb24gfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wZXJtaXNzaW9uJ1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1VcGRhdGVFbGFwc2VkaXRlbSB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2svZWxhcHNlZGl0ZW0vdXBkYXRlJ1xyXG5pbXBvcnQgeyBpSXNBY3Rpb25BbGxvd2VkUGFyYW0gfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrL2VsYXBzZWRpdGVtL2lzQWN0aW9uQWxsb3dlZFBhcmFtJ1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1EZWxFbGFwc2VkaXRlbSB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2svZWxhcHNlZGl0ZW0vZGVsJ1xyXG5pbXBvcnQgeyBOYXZ2eSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25hdnZ5J1xyXG5pbXBvcnQgeyBCWFJlc3RNYXBUYXNrRWxhcHNlZEl0ZW0gfSBmcm9tICcuLi8uLi9tYXAvdGFzay9lbGFwc2VkaXRlbSdcclxuaW1wb3J0IHsgQlhSZXN0TmF2dnlPcGVyYXRpb25FbGFwc2VkSXRlbSB9IGZyb20gJy4vb3BlcmF0aW9uL2VsYXBzZWRpdGVtJ1xyXG5pbXBvcnQgeyBCWFJlc3ROYXZ2eURlbGVnYXRlRWxhcHNlZEl0ZW0gfSBmcm9tICcuL2RlbGVnYXRlL2VsYXBzZWRpdGVtJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQlhSZXN0TmF2dnlFbGFwc2VkaXRlbSB7XHJcblxyXG4gIHByaXZhdGUgTmF2dnk6IE5hdnZ5PEJYUmVzdFRhc2tFbGFwc2VkSXRlbSwgQlhSZXN0TWFwVGFza0VsYXBzZWRJdGVtPlxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgQlhSZXN0RWxhcHNlZEl0ZW06IEJYUmVzdFRhc2tFbGFwc2VkSXRlbSxcclxuICAgIHByaXZhdGUgQlhSZXN0TWFwRWxhcHNlZEl0ZW06IEJYUmVzdE1hcFRhc2tFbGFwc2VkSXRlbSxcclxuICAgIHByaXZhdGUgZGVsZWdhdGU6IEJYUmVzdE5hdnZ5RGVsZWdhdGVFbGFwc2VkSXRlbSxcclxuICAgIHB1YmxpYyBvcGVyYXRpb246IEJYUmVzdE5hdnZ5T3BlcmF0aW9uRWxhcHNlZEl0ZW1cclxuICApIHtcclxuICAgIHRoaXMuTmF2dnkgPSBuZXcgTmF2dnkodGhpcy5CWFJlc3RFbGFwc2VkSXRlbSwgdGhpcy5CWFJlc3RNYXBFbGFwc2VkSXRlbSlcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgY2FsbChtZXRob2ROYW1lOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKXtcclxuICAgIGlmICh0eXBlb2YgdGhpc1ttZXRob2ROYW1lXSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICByZXR1cm4gdGhpc1ttZXRob2ROYW1lXSguLi5hcmdzKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzW21ldGhvZE5hbWVdKC4uLmFyZ3MpO1xyXG4gIH1cclxuICAgKi9cclxuXHJcbiAgZ2V0TGlzdChcclxuICAgIHBhcmFtOiBpQlhSZXN0UGFyYW1FbGFwc2VkaXRlbUdldCA9IHt9XHJcbiAgKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZS5nZXRMaXN0KHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgYWRkKHBhcmFtOiBpQlhSZXN0UGFyYW1BZGRFbGFwc2VkaXRlbSkge1xyXG4gICAgcmV0dXJuIHRoaXMub3BlcmF0aW9uLmNoZWNrUGVybWlzc2lvblJlYWRUYXNrKHBhcmFtLlRBU0tJRCkucGlwZShcclxuICAgICAgbWVyZ2VNYXAoYWxsb3dlZFJlYWRUYXNrID0+IHtcclxuICAgICAgICBpZiAoYWxsb3dlZFJlYWRUYXNrKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5vcGVyYXRpb24uY2hlY2tQZXJtaXNzaW9uQWRkRWxhcHNlZFRpbWVUb1Rhc2socGFyYW0uVEFTS0lEKS5waXBlKFxyXG4gICAgICAgICAgICBtZXJnZU1hcChhbGxvd2VkID0+IHtcclxuICAgICAgICAgICAgICBpZiAoYWxsb3dlZCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuQlhSZXN0RWxhcHNlZEl0ZW0uYWRkKHBhcmFtKVxyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQtNC+0LHQsNCy0LvQtdC90LjQtSDQt9Cw0L/QuNGB0Lgg0LfQsNGC0YDQsNGH0LXQvdC90L7Qs9C+INCy0YDQtdC80LXQvdC4JykpXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSlcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCfQntGC0YHRg9GC0YHRgtCy0YPRjtGCINC/0YDQsNCy0LAg0L3QsCDRh9GC0LXQvdC40LUg0LfQsNC00LDRh9C4JykpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqINCe0LHQvdC+0LLQu9C10L3QuNC1INC30LDQv9C40YHQuCDRgNCw0LHQvtGH0LXQs9C+INCy0YDQtdC80LXQvdC4XHJcbiAgICpcclxuICAgKiBAcGFyYW0gcGFyYW1cclxuICAgKi9cclxuICB1cGRhdGUocGFyYW06IGlCWFJlc3RQYXJhbVVwZGF0ZUVsYXBzZWRpdGVtKSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGUoKCkgPT4gdGhpcy5vcGVyYXRpb24uY2hlY2tQZXJtaXNzaW9uUmVhZFRhc2socGFyYW0uVEFTS0lEKS5waXBlKFxyXG4gICAgICBtZXJnZU1hcChhbGxvd2VkUmVhZFRhc2sgPT4ge1xyXG4gICAgICAgIGlmIChhbGxvd2VkUmVhZFRhc2spIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmlzQWxsb3dlZE1vZGlmeShwYXJhbS5UQVNLSUQsIHBhcmFtLklURU1JRCkucGlwZShcclxuICAgICAgICAgICAgbWVyZ2VNYXAoYWxsb3dlZCA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGFsbG93ZWQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdEVsYXBzZWRJdGVtLnVwZGF0ZShwYXJhbSlcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCfQntGC0YHRg9GC0YHRgtCy0YPRjtGCINC/0YDQsNCy0LAg0L3QsCDQuNC30LzQtdC90LXQvdC40LUg0LfQsNC/0LjRgdC4INC30LDRgtGA0LDRh9C10L3QvdC+0LPQviDQstGA0LXQvNC10L3QuCcpKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcign0J7RgtGB0YPRgtGB0YLQstGD0Y7RgiDQv9GA0LDQstCwINC90LAg0YfRgtC10L3QuNC1INC30LDQtNCw0YfQuCcpKVxyXG4gICAgICAgIH1cclxuICAgICAgfSkpLCB0aGlzLkJYUmVzdE1hcEVsYXBzZWRJdGVtLnVwZGF0ZSlcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgZ2V0QWxsKFxyXG4gICAgcGFyYW1zOiBSZXF1ZXN0UGFyYW1zRWxhcHNlZEdldExpc3QgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXHJcbiAgICBjYWNoZSA9IGZhbHNlXHJcbiAgKTogT2JzZXJ2YWJsZTxpSHR0cEFuc3dlckJYPEJYUmVzdEVsYXBzZWRbXT4gfCB1bmRlZmluZWQ+IHtcclxuICAgIHJldHVybiB0aGlzLmdldChwYXJhbXMsIGNhY2hlKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtZXJnZU1hcChpdGVtcyA9PiB7XHJcbiAgICAgICAgICBpZiAoaXRlbXMgJiYgaXRlbXMucmVzdWx0KSB7XHJcbiAgICAgICAgICAgIGlmIChpdGVtcy5uZXh0KSB7XHJcbiAgICAgICAgICAgICAgcGFyYW1zID0gKHBhcmFtcykgPyBwYXJhbXMgOiB7fVxyXG4gICAgICAgICAgICAgIHBhcmFtcy5QQVJBTVMgPSB7XHJcbiAgICAgICAgICAgICAgICBOQVZfUEFSQU1TOiB7XHJcbiAgICAgICAgICAgICAgICAgIG5QYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSxcclxuICAgICAgICAgICAgICAgICAgaU51bVBhZ2U6IGl0ZW1zLm5leHQgLyB0aGlzLnBhZ2VTaXplICsgMVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRBbGwocGFyYW1zLCBjYWNoZSkucGlwZShcclxuICAgICAgICAgICAgICAgIG1hcCh2RW5kID0+IHtcclxuICAgICAgICAgICAgICAgICAgaWYgKHZFbmQgJiYgdkVuZC5yZXN1bHQgJiYgaXRlbXMucmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1lcmdlKGNsb25lKHZFbmQpLCB7cmVzdWx0OiBbLi4uaXRlbXMucmVzdWx0LCAuLi52RW5kLnJlc3VsdF19KVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtc1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIG9mKGl0ZW1zKVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgfVxyXG4gICAqL1xyXG5cclxuICAvKlxyXG4gIGdldENhY2hlT2ZmKHBhcmFtczogUmVxdWVzdFBhcmFtc0VsYXBzZWRHZXRMaXN0IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUh0dHBBbnN3ZXJCWDxCWFJlc3RFbGFwc2VkSHR0cFtdPiB8IHVuZGVmaW5lZD5cclxuICAgICh0aGlzLnVybC5nZXRsaXN0LCBwYXJhbXMsICfQvdC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0LLRgNC10LzRjyDQv9C+INC30LDQtNCw0YfQsNC8JylcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgICAgaWYgKHYgJiYgdi5yZXN1bHQpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3UmVzdWx0OiBCWFJlc3RFbGFwc2VkW10gPSBbXVxyXG4gICAgICAgICAgICBmb3IgKGxldCB0YXNrIG9mIHYucmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgbmV3UmVzdWx0LnB1c2godGhpcy5lbGFwc2VkQlhNYXAuQW5zd2VyRWxhcHNlZEdldEh0dHBUb0Fuc3dlckVsYXBzZWRHZXQodGFzaykpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGV4dGVuZCh2LCB7cmVzdWx0OiBuZXdSZXN1bHR9KSBhcyBpSHR0cEFuc3dlckJYPEJYUmVzdEVsYXBzZWRbXT5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgICB9KSxcclxuICAgICAgICB0YXAodiA9PiB7XHJcbiAgICAgICAgICBpZiAodiAmJiBwYXJhbXMpIHtcclxuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChzYXZlSHR0cFRhc2tUaW1lKHtcclxuICAgICAgICAgICAgICBmaWx0ZXI6IGNsb25lKHBhcmFtcyksXHJcbiAgICAgICAgICAgICAgdGltZTogdlxyXG4gICAgICAgICAgICB9KSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgfVxyXG4gICovXHJcblxyXG4gIGlzQWxsb3dlZE1vZGlmeShpZFRhc2s6IG51bWJlciwgaWRJdGVtOiBudW1iZXIpIHtcclxuICAgIGxldCBwZXJtaXNzaW9uID0gUGVybWlzc2lvbi5nZXQoKVxyXG4gICAgaWYgKHBlcm1pc3Npb24/LnRhc2tzPy5sZW5ndGgpIHtcclxuICAgICAgbGV0IGZpbmRUYXNrID0gcGVybWlzc2lvbi50YXNrcy5maW5kKGkgPT4gaS5pZCA9PT0gaWRUYXNrKVxyXG4gICAgICBpZiAoZmluZFRhc2spIHtcclxuICAgICAgICBsZXQgZmluZCA9IGZpbmRUYXNrLmVsYXBzZWRJdGVtLmZpbmQoaSA9PiBpLmlkID09PSBpZEl0ZW0pXHJcbiAgICAgICAgaWYgKGZpbmQgJiYgZmluZC52ZXJpZmllZC5lZGl0KSB7XHJcbiAgICAgICAgICByZXR1cm4gb2YoZmluZC5lZGl0KVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmlzQWN0aW9uQWxsb3dlZCh7XHJcbiAgICAgIFRBU0tJRDogaWRUYXNrLFxyXG4gICAgICBJVEVNSUQ6IDIsXHJcbiAgICAgIEFDVElPTklEOiBpZEl0ZW1cclxuICAgIH0pLnJlc3VsdCgpLnBpcGUoXHJcbiAgICAgIHRhcCh2ID0+IHtcclxuICAgICAgICBpZiAodiAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBQZXJtaXNzaW9uLnNldFRhc2tFbGFwc2VkSXRlbShpZFRhc2ssXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBpZDogaWRJdGVtLFxyXG4gICAgICAgICAgICAgIGVkaXQ6IHYsXHJcbiAgICAgICAgICAgICAgZGVsOiBmYWxzZSxcclxuICAgICAgICAgICAgICB2ZXJpZmllZDoge1xyXG4gICAgICAgICAgICAgICAgZWRpdDogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGRlbDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNBbGxvd2VkUmVtb3ZlKGlkVGFzazogbnVtYmVyLCBpZEl0ZW06IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNBY3Rpb25BbGxvd2VkKFxyXG4gICAgICB7XHJcbiAgICAgICAgVEFTS0lEOiBpZFRhc2ssXHJcbiAgICAgICAgSVRFTUlEOiAzLFxyXG4gICAgICAgIEFDVElPTklEOiBpZEl0ZW1cclxuICAgICAgfSkucmVzdWx0KClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGlkQWN0aW9uOlxyXG4gICAqIDEgLSBBQ1RJT05fRUxBUFNFRF9USU1FX0FERFxyXG4gICAqIDIgLSBBQ1RJT05fRUxBUFNFRF9USU1FX01PRElGWVxyXG4gICAqIDMgLSBBQ1RJT05fRUxBUFNFRF9USU1FX1JFTU9WRVxyXG4gICAqIEBwYXJhbSBwYXJhbVxyXG4gICAqL1xyXG4gIGlzQWN0aW9uQWxsb3dlZChwYXJhbTogaUlzQWN0aW9uQWxsb3dlZFBhcmFtKSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGUoKCkgPT4gdGhpcy5vcGVyYXRpb24uY2hlY2tQZXJtaXNzaW9uUmVhZFRhc2socGFyYW0uVEFTS0lEKS5waXBlKFxyXG4gICAgICBtZXJnZU1hcChjYW5SZWFkID0+IHtcclxuICAgICAgICBpZiAoY2FuUmVhZCkge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuQlhSZXN0RWxhcHNlZEl0ZW0uaXNBY3Rpb25BbGxvd2VkKHBhcmFtKVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGH0YLQtdC90LjQtSDQt9Cw0LTQsNGH0LgnKSlcclxuICAgICAgfSlcclxuICAgICkpXHJcbiAgfVxyXG5cclxuICBkZWwocGFyYW06IGlCWFJlc3RQYXJhbURlbEVsYXBzZWRpdGVtKSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGUoKCkgPT4gdGhpcy5vcGVyYXRpb24uY2hlY2tQZXJtaXNzaW9uUmVhZFRhc2socGFyYW0uVEFTS0lEKS5waXBlKFxyXG4gICAgICBtZXJnZU1hcChhbGxvd2VkUmVhZFRhc2sgPT4ge1xyXG4gICAgICAgIGlmIChhbGxvd2VkUmVhZFRhc2spIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmlzQWxsb3dlZFJlbW92ZShwYXJhbS5UQVNLSUQsIHBhcmFtLklURU1JRCkucGlwZShcclxuICAgICAgICAgICAgbWVyZ2VNYXAoYWxsb3dlZCA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGFsbG93ZWQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdEVsYXBzZWRJdGVtLmRlbChwYXJhbSlcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCfQntGC0YHRg9GC0YHRgtCy0YPRjtGCINC/0YDQsNCy0LAg0L3QsCDRg9C00LDQu9C10L3QuNC1INC30LDQv9C40YHQuCDQt9Cw0YLRgNCw0YfQtdC90L3QvtCz0L4g0LLRgNC10LzQtdC90LgnKSlcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGH0YLQtdC90LjQtSDQt9Cw0LTQsNGH0LgnKSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApLCB2ID0+ICh2ID09PSBudWxsKSlcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhcHNlZGl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L3Rhc2svZWxhcHNlZGl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQU8zQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFJNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtDQUFrQyxDQUFBOzs7Ozs7QUFLOUQsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxZQUNVLGlCQUF3QyxFQUN4QyxvQkFBOEMsRUFDOUMsUUFBd0MsRUFDekMsU0FBMEM7UUFIekMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF1QjtRQUN4Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQTBCO1FBQzlDLGFBQVEsR0FBUixRQUFRLENBQWdDO1FBQ3pDLGNBQVMsR0FBVCxTQUFTLENBQWlDO1FBRWpELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO0lBQzNFLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBRUgsT0FBTyxDQUNMLFFBQW9DLEVBQUU7UUFFdEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNyQyxDQUFDO0lBRUQsR0FBRyxDQUFDLEtBQWlDO1FBQ25DLE9BQU8sSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUN2RixrRUFBa0U7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QUFTLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDdEYsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ3pCLElBQUksZUFBZSxFQUFFO2dCQUNuQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUMxRCxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ2pCLElBQUksT0FBTyxFQUFFO3dCQUNYLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtxQkFDekM7eUJBQU07d0JBQ0wsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQyxDQUFBO3FCQUNoRztnQkFDSCxDQUFDLENBQUMsQ0FBQyxDQUFBO2FBQ047aUJBQU07Z0JBQ0wsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQyxDQUFBO2FBQ3pFO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDdkIsQ0FBQzsrR0ExTlUsc0JBQXNCO21IQUF0QixzQkFBc0IsY0FGckIsTUFBTTs7NEZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBtZXJnZU1hcCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbUVsYXBzZWRpdGVtR2V0IH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9lbGFwc2VkaXRlbS9nZXQnXHJcbmltcG9ydCB7IEJYUmVzdFRhc2tFbGFwc2VkSXRlbSB9IGZyb20gJy4uLy4uL3JlcXVlc3QvdGFzay9lbGFwc2VkaXRlbSdcclxuaW1wb3J0IHsgaUJYUmVzdFBhcmFtQWRkRWxhcHNlZGl0ZW0gfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrL2VsYXBzZWRpdGVtL2FkZCdcclxuaW1wb3J0IHsgaUJYUmVzdFBhcmFtVXBkYXRlRWxhcHNlZGl0ZW0gfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrL2VsYXBzZWRpdGVtL3VwZGF0ZSdcclxuaW1wb3J0IHsgaUlzQWN0aW9uQWxsb3dlZFBhcmFtIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9lbGFwc2VkaXRlbS9pc0FjdGlvbkFsbG93ZWRQYXJhbSdcclxuaW1wb3J0IHsgaUJYUmVzdFBhcmFtRGVsRWxhcHNlZGl0ZW0gfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrL2VsYXBzZWRpdGVtL2RlbCdcclxuaW1wb3J0IHsgTmF2dnkgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9uYXZ2eSdcclxuaW1wb3J0IHsgQlhSZXN0TWFwVGFza0VsYXBzZWRJdGVtIH0gZnJvbSAnLi4vLi4vbWFwL3Rhc2svZWxhcHNlZGl0ZW0nXHJcbmltcG9ydCB7IEJYUmVzdE5hdnZ5T3BlcmF0aW9uRWxhcHNlZEl0ZW0gfSBmcm9tICcuL29wZXJhdGlvbi9lbGFwc2VkaXRlbSdcclxuaW1wb3J0IHsgQlhSZXN0TmF2dnlEZWxlZ2F0ZUVsYXBzZWRJdGVtIH0gZnJvbSAnLi9kZWxlZ2F0ZS9lbGFwc2VkaXRlbSdcclxuaW1wb3J0IHsgTmF2dnlTaW1wbGUgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9OYXZ2eS9OYXZ2eVNpbXBsZSdcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJYUmVzdE5hdnZ5RWxhcHNlZEl0ZW0ge1xyXG5cclxuICBwcml2YXRlIE5hdnZ5OiBOYXZ2eTxCWFJlc3RUYXNrRWxhcHNlZEl0ZW0sIEJYUmVzdE1hcFRhc2tFbGFwc2VkSXRlbT5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIEJYUmVzdEVsYXBzZWRJdGVtOiBCWFJlc3RUYXNrRWxhcHNlZEl0ZW0sXHJcbiAgICBwcml2YXRlIEJYUmVzdE1hcEVsYXBzZWRJdGVtOiBCWFJlc3RNYXBUYXNrRWxhcHNlZEl0ZW0sXHJcbiAgICBwcml2YXRlIGRlbGVnYXRlOiBCWFJlc3ROYXZ2eURlbGVnYXRlRWxhcHNlZEl0ZW0sXHJcbiAgICBwdWJsaWMgb3BlcmF0aW9uOiBCWFJlc3ROYXZ2eU9wZXJhdGlvbkVsYXBzZWRJdGVtXHJcbiAgKSB7XHJcbiAgICB0aGlzLk5hdnZ5ID0gbmV3IE5hdnZ5KHRoaXMuQlhSZXN0RWxhcHNlZEl0ZW0sIHRoaXMuQlhSZXN0TWFwRWxhcHNlZEl0ZW0pXHJcbiAgfVxyXG5cclxuICAvKlxyXG4gIGNhbGwobWV0aG9kTmFtZTogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSl7XHJcbiAgICBpZiAodHlwZW9mIHRoaXNbbWV0aG9kTmFtZV0gPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgcmV0dXJuIHRoaXNbbWV0aG9kTmFtZV0oLi4uYXJncyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpc1ttZXRob2ROYW1lXSguLi5hcmdzKTtcclxuICB9XHJcbiAgICovXHJcblxyXG4gIGdldExpc3QoXHJcbiAgICBwYXJhbTogaUJYUmVzdFBhcmFtRWxhcHNlZGl0ZW1HZXQgPSB7fVxyXG4gICkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGUuZ2V0TGlzdChwYXJhbSlcclxuICB9XHJcblxyXG4gIGFkZChwYXJhbTogaUJYUmVzdFBhcmFtQWRkRWxhcHNlZGl0ZW0pIHtcclxuICAgIHJldHVybiBuZXcgTmF2dnlTaW1wbGUodGhpcywgdGhpcy5CWFJlc3RNYXBFbGFwc2VkSXRlbSwgdGhpcy5hZGRCYXNlLmNhbGwodGhpcywgcGFyYW0pKVxyXG4gICAgLy8gcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlV2l0aEFyZyh0aGlzLmFkZEJhc2UuYmluZCh0aGlzKSwgcGFyYW0pXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZEJhc2UocGFyYW06IGlCWFJlc3RQYXJhbUFkZEVsYXBzZWRpdGVtKSB7XHJcbiAgICBjb25zb2xlLmxvZygndGhpcy5vcGVyYXRpb24nLCB0aGlzLm9wZXJhdGlvbilcclxuICAgIHJldHVybiB0aGlzLm9wZXJhdGlvbi5jaGVja1Blcm1pc3Npb25SZWFkVGFzayhwYXJhbS5UQVNLSUQpLnBpcGUoXHJcbiAgICAgIG1lcmdlTWFwKGFsbG93ZWRSZWFkVGFzayA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ2FsbG93ZWRSZWFkVGFzaycsIGFsbG93ZWRSZWFkVGFzaylcclxuICAgICAgICBpZiAoYWxsb3dlZFJlYWRUYXNrKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5vcGVyYXRpb24uY2hlY2tQZXJtaXNzaW9uQWRkRWxhcHNlZFRpbWVUb1Rhc2socGFyYW0uVEFTS0lEKS5waXBlKFxyXG4gICAgICAgICAgICBtZXJnZU1hcChhbGxvd2VkID0+IHtcclxuICAgICAgICAgICAgICBpZiAoYWxsb3dlZCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuQlhSZXN0RWxhcHNlZEl0ZW0uYWRkKHBhcmFtKVxyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQtNC+0LHQsNCy0LvQtdC90LjQtSDQt9Cw0L/QuNGB0Lgg0LfQsNGC0YDQsNGH0LXQvdC90L7Qs9C+INCy0YDQtdC80LXQvdC4JykpXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSlcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCfQntGC0YHRg9GC0YHRgtCy0YPRjtGCINC/0YDQsNCy0LAg0L3QsCDRh9GC0LXQvdC40LUg0LfQsNC00LDRh9C4JykpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqINCe0LHQvdC+0LLQu9C10L3QuNC1INC30LDQv9C40YHQuCDRgNCw0LHQvtGH0LXQs9C+INCy0YDQtdC80LXQvdC4XHJcbiAgICpcclxuICAgKiBAcGFyYW0gcGFyYW1cclxuICAgKi9cclxuICB1cGRhdGUocGFyYW06IGlCWFJlc3RQYXJhbVVwZGF0ZUVsYXBzZWRpdGVtKSB7XHJcbiAgICBjb25zdCBmdW5jID0gKCkgPT4gdGhpcy5vcGVyYXRpb24uY2hlY2tQZXJtaXNzaW9uUmVhZFRhc2socGFyYW0uVEFTS0lEKS5waXBlKFxyXG4gICAgICBtZXJnZU1hcCgoYWxsb3dlZFJlYWRUYXNrKSA9PiB7XHJcbiAgICAgICAgaWYgKGFsbG93ZWRSZWFkVGFzaykge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuaXNBbGxvd2VkTW9kaWZ5KHBhcmFtLlRBU0tJRCwgcGFyYW0uSVRFTUlEKS5waXBlKFxyXG4gICAgICAgICAgICBtZXJnZU1hcChhbGxvd2VkID0+IHtcclxuICAgICAgICAgICAgICBpZiAoYWxsb3dlZCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuQlhSZXN0RWxhcHNlZEl0ZW0udXBkYXRlKHBhcmFtKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINC40LfQvNC10L3QtdC90LjQtSDQt9Cw0L/QuNGB0Lgg0LfQsNGC0YDQsNGH0LXQvdC90L7Qs9C+INCy0YDQtdC80LXQvdC4JykpXHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGH0YLQtdC90LjQtSDQt9Cw0LTQsNGH0LgnKSlcclxuICAgICAgfSkpXHJcbiAgICBjb25zb2xlLmxvZygndGhpcy5CWFJlc3RNYXBFbGFwc2VkSXRlbS51cGRhdGUnLCB0aGlzLkJYUmVzdE1hcEVsYXBzZWRJdGVtLnVwZGF0ZSlcclxuICAgIHJldHVybiBuZXcgTmF2dnlTaW1wbGUodGhpcywgdGhpcy5CWFJlc3RNYXBFbGFwc2VkSXRlbSwgZnVuYy5jYWxsKHRoaXMpLCB0aGlzLkJYUmVzdE1hcEVsYXBzZWRJdGVtLnVwZGF0ZSlcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgZ2V0QWxsKFxyXG4gICAgcGFyYW1zOiBSZXF1ZXN0UGFyYW1zRWxhcHNlZEdldExpc3QgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXHJcbiAgICBjYWNoZSA9IGZhbHNlXHJcbiAgKTogT2JzZXJ2YWJsZTxpSHR0cEFuc3dlckJYPEJYUmVzdEVsYXBzZWRbXT4gfCB1bmRlZmluZWQ+IHtcclxuICAgIHJldHVybiB0aGlzLmdldChwYXJhbXMsIGNhY2hlKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtZXJnZU1hcChpdGVtcyA9PiB7XHJcbiAgICAgICAgICBpZiAoaXRlbXMgJiYgaXRlbXMucmVzdWx0KSB7XHJcbiAgICAgICAgICAgIGlmIChpdGVtcy5uZXh0KSB7XHJcbiAgICAgICAgICAgICAgcGFyYW1zID0gKHBhcmFtcykgPyBwYXJhbXMgOiB7fVxyXG4gICAgICAgICAgICAgIHBhcmFtcy5QQVJBTVMgPSB7XHJcbiAgICAgICAgICAgICAgICBOQVZfUEFSQU1TOiB7XHJcbiAgICAgICAgICAgICAgICAgIG5QYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSxcclxuICAgICAgICAgICAgICAgICAgaU51bVBhZ2U6IGl0ZW1zLm5leHQgLyB0aGlzLnBhZ2VTaXplICsgMVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRBbGwocGFyYW1zLCBjYWNoZSkucGlwZShcclxuICAgICAgICAgICAgICAgIG1hcCh2RW5kID0+IHtcclxuICAgICAgICAgICAgICAgICAgaWYgKHZFbmQgJiYgdkVuZC5yZXN1bHQgJiYgaXRlbXMucmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1lcmdlKGNsb25lKHZFbmQpLCB7cmVzdWx0OiBbLi4uaXRlbXMucmVzdWx0LCAuLi52RW5kLnJlc3VsdF19KVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtc1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIG9mKGl0ZW1zKVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgfVxyXG4gICAqL1xyXG5cclxuICAvKlxyXG4gIGdldENhY2hlT2ZmKHBhcmFtczogUmVxdWVzdFBhcmFtc0VsYXBzZWRHZXRMaXN0IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUh0dHBBbnN3ZXJCWDxCWFJlc3RFbGFwc2VkSHR0cFtdPiB8IHVuZGVmaW5lZD5cclxuICAgICh0aGlzLnVybC5nZXRsaXN0LCBwYXJhbXMsICfQvdC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0LLRgNC10LzRjyDQv9C+INC30LDQtNCw0YfQsNC8JylcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgICAgaWYgKHYgJiYgdi5yZXN1bHQpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3UmVzdWx0OiBCWFJlc3RFbGFwc2VkW10gPSBbXVxyXG4gICAgICAgICAgICBmb3IgKGxldCB0YXNrIG9mIHYucmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgbmV3UmVzdWx0LnB1c2godGhpcy5lbGFwc2VkQlhNYXAuQW5zd2VyRWxhcHNlZEdldEh0dHBUb0Fuc3dlckVsYXBzZWRHZXQodGFzaykpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGV4dGVuZCh2LCB7cmVzdWx0OiBuZXdSZXN1bHR9KSBhcyBpSHR0cEFuc3dlckJYPEJYUmVzdEVsYXBzZWRbXT5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgICB9KSxcclxuICAgICAgICB0YXAodiA9PiB7XHJcbiAgICAgICAgICBpZiAodiAmJiBwYXJhbXMpIHtcclxuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChzYXZlSHR0cFRhc2tUaW1lKHtcclxuICAgICAgICAgICAgICBmaWx0ZXI6IGNsb25lKHBhcmFtcyksXHJcbiAgICAgICAgICAgICAgdGltZTogdlxyXG4gICAgICAgICAgICB9KSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgfVxyXG4gICovXHJcblxyXG4gIC8vIFRPRE86INGA0LDQt9C+0LHRgNCw0YLRjNGB0Y8g0YfRgtC+INGN0YLQviDQt9CwINC10LHQsNGC0L3RjyDQsiDQutC+0LzQvNC10L3RgtCw0YUg0Lgg0LLQv9C40YHQsNGC0Ywg0L3QvtGA0LzQsNC70YzQvdC+0Lkg0LrQvtC80LXQvdGCINC10YHQu9C4INC+0L3QsCDQvdGD0LbQvdCwXHJcbiAgaXNBbGxvd2VkTW9kaWZ5KGlkVGFzazogbnVtYmVyLCBpZEl0ZW06IG51bWJlcikge1xyXG4gICAgLy8gbGV0IHBlcm1pc3Npb24gPSBQZXJtaXNzaW9uLmdldCgpXHJcbiAgICAvLyBpZiAocGVybWlzc2lvbj8udGFza3M/Lmxlbmd0aCkge1xyXG4gICAgLy8gICBsZXQgZmluZFRhc2sgPSBwZXJtaXNzaW9uLnRhc2tzLmZpbmQoaSA9PiBpLmlkID09PSBpZFRhc2spXHJcbiAgICAvLyAgIGlmIChmaW5kVGFzaykge1xyXG4gICAgLy8gICAgIGxldCBmaW5kID0gZmluZFRhc2suZWxhcHNlZEl0ZW0uZmluZChpID0+IGkuaWQgPT09IGlkSXRlbSlcclxuICAgIC8vICAgICBpZiAoZmluZCAmJiBmaW5kLnZlcmlmaWVkLmVkaXQpIHtcclxuICAgIC8vICAgICAgIHJldHVybiBvZihmaW5kLmVkaXQpXHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaXNBY3Rpb25BbGxvd2VkKHtcclxuICAgICAgVEFTS0lEOiBpZFRhc2ssXHJcbiAgICAgIElURU1JRDogaWRJdGVtLFxyXG4gICAgICBBQ1RJT05JRDogMlxyXG4gICAgfSkucmVzdWx0KClcclxuICAgIC8vICAgLnBpcGUoXHJcbiAgICAvLyAgIHRhcCh2ID0+IHtcclxuICAgIC8vICAgICBpZiAodiAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAvLyAgICAgICBQZXJtaXNzaW9uLnNldFRhc2tFbGFwc2VkSXRlbShpZFRhc2ssXHJcbiAgICAvLyAgICAgICAgIHtcclxuICAgIC8vICAgICAgICAgICBpZDogaWRJdGVtLFxyXG4gICAgLy8gICAgICAgICAgIGVkaXQ6IHYsXHJcbiAgICAvLyAgICAgICAgICAgZGVsOiBmYWxzZSxcclxuICAgIC8vICAgICAgICAgICB2ZXJpZmllZDoge1xyXG4gICAgLy8gICAgICAgICAgICAgZWRpdDogdHJ1ZSxcclxuICAgIC8vICAgICAgICAgICAgIGRlbDogZmFsc2UsXHJcbiAgICAvLyAgICAgICAgICAgfVxyXG4gICAgLy8gICAgICAgICB9KVxyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgfSlcclxuICAgIC8vIClcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNBbGxvd2VkUmVtb3ZlKGlkVGFzazogbnVtYmVyLCBpZEl0ZW06IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNBY3Rpb25BbGxvd2VkKFxyXG4gICAgICB7XHJcbiAgICAgICAgVEFTS0lEOiBpZFRhc2ssXHJcbiAgICAgICAgSVRFTUlEOiBpZEl0ZW0sXHJcbiAgICAgICAgQUNUSU9OSUQ6IDNcclxuICAgICAgfSkucmVzdWx0KClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGlkQWN0aW9uOlxyXG4gICAqIDEgLSBBQ1RJT05fRUxBUFNFRF9USU1FX0FERFxyXG4gICAqIDIgLSBBQ1RJT05fRUxBUFNFRF9USU1FX01PRElGWVxyXG4gICAqIDMgLSBBQ1RJT05fRUxBUFNFRF9USU1FX1JFTU9WRVxyXG4gICAqIEBwYXJhbSBwYXJhbVxyXG4gICAqL1xyXG4gIGlzQWN0aW9uQWxsb3dlZChwYXJhbTogaUlzQWN0aW9uQWxsb3dlZFBhcmFtKSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGUoKCkgPT4gdGhpcy5vcGVyYXRpb24uY2hlY2tQZXJtaXNzaW9uUmVhZFRhc2socGFyYW0uVEFTS0lEKS5waXBlKFxyXG4gICAgICBtZXJnZU1hcChjYW5SZWFkID0+IHtcclxuICAgICAgICBpZiAoY2FuUmVhZCkge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuQlhSZXN0RWxhcHNlZEl0ZW0uaXNBY3Rpb25BbGxvd2VkKHBhcmFtKVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGH0YLQtdC90LjQtSDQt9Cw0LTQsNGH0LgnKSlcclxuICAgICAgfSlcclxuICAgICkpXHJcbiAgfVxyXG5cclxuICBkZWwocGFyYW06IGlCWFJlc3RQYXJhbURlbEVsYXBzZWRpdGVtKSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGUoKCkgPT4gdGhpcy5vcGVyYXRpb24uY2hlY2tQZXJtaXNzaW9uUmVhZFRhc2socGFyYW0uVEFTS0lEKS5waXBlKFxyXG4gICAgICBtZXJnZU1hcChhbGxvd2VkUmVhZFRhc2sgPT4ge1xyXG4gICAgICAgIGlmIChhbGxvd2VkUmVhZFRhc2spIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmlzQWxsb3dlZFJlbW92ZShwYXJhbS5UQVNLSUQsIHBhcmFtLklURU1JRCkucGlwZShcclxuICAgICAgICAgICAgbWVyZ2VNYXAoYWxsb3dlZCA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGFsbG93ZWQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdEVsYXBzZWRJdGVtLmRlbChwYXJhbSlcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCfQntGC0YHRg9GC0YHRgtCy0YPRjtGCINC/0YDQsNCy0LAg0L3QsCDRg9C00LDQu9C10L3QuNC1INC30LDQv9C40YHQuCDQt9Cw0YLRgNCw0YfQtdC90L3QvtCz0L4g0LLRgNC10LzQtdC90LgnKSlcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGH0YLQtdC90LjQtSDQt9Cw0LTQsNGH0LgnKSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApLCB2ID0+ICh2ID09PSBudWxsKSlcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { $elapseditem, $
|
|
1
|
+
import { $elapseditem, $getlist, $isactionallowed, $task } from '../../../consts/part-name-methods';
|
|
2
2
|
import { map, take } from 'rxjs/operators';
|
|
3
|
-
import { forkJoin, mergeMap, of
|
|
4
|
-
import { Permission } from '../../../services/permission';
|
|
3
|
+
import { forkJoin, mergeMap, of } from 'rxjs';
|
|
5
4
|
import { Injectable } from '@angular/core';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
import * as i1 from "../../../services/http/HttpBX";
|
|
@@ -40,7 +39,8 @@ export class BXRestNavvyOperationElapsedItem {
|
|
|
40
39
|
};
|
|
41
40
|
})).pipe(map(v => {
|
|
42
41
|
if (v && v.length) {
|
|
43
|
-
|
|
42
|
+
const res = this.http.mapBranchResultWithoutKey(v);
|
|
43
|
+
return this.BXRestMapElapsedItem.getList(res);
|
|
44
44
|
}
|
|
45
45
|
return undefined;
|
|
46
46
|
}));
|
|
@@ -62,7 +62,7 @@ export class BXRestNavvyOperationElapsedItem {
|
|
|
62
62
|
.map(i => {
|
|
63
63
|
return {
|
|
64
64
|
[i]: {
|
|
65
|
-
name: this.http.getNameMethod([$
|
|
65
|
+
name: this.http.getNameMethod([$task, $elapseditem, $isactionallowed]),
|
|
66
66
|
param: {
|
|
67
67
|
TASKID: i,
|
|
68
68
|
ITEMID: 1,
|
|
@@ -85,58 +85,67 @@ export class BXRestNavvyOperationElapsedItem {
|
|
|
85
85
|
}));
|
|
86
86
|
}
|
|
87
87
|
checkPermissionAddElapsedTimeToTask(idTask) {
|
|
88
|
-
let permission = Permission.get()
|
|
89
|
-
if (permission?.tasks?.length) {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
88
|
+
// let permission = Permission.get()
|
|
89
|
+
// if (permission?.tasks?.length) {
|
|
90
|
+
// let findTask = permission.tasks.find(i => i.id === idTask)
|
|
91
|
+
// if (findTask?.permission) {
|
|
92
|
+
// return of(findTask.permission['ELAPSEDTIME.ADD'])
|
|
93
|
+
// }
|
|
94
|
+
return this.BXRestNavvyUser.current().result().pipe(mergeMap(self => {
|
|
95
|
+
if (self) {
|
|
96
|
+
return this.BXRestNavvyTasks.task.getAccess({
|
|
97
|
+
id: idTask,
|
|
98
|
+
users: [self.ID]
|
|
99
|
+
}).result().pipe(
|
|
100
|
+
// tap(v => {
|
|
101
|
+
// if (v && v[self.ID]) {
|
|
102
|
+
// Permission.set({
|
|
103
|
+
// tasks: [{id: idTask, permission: v[self.ID], elapsedItem: []}]
|
|
104
|
+
// })
|
|
105
|
+
// }
|
|
106
|
+
// }),
|
|
107
|
+
map(v => {
|
|
108
|
+
return (v && v[self.ID]) ? v[self.ID]['ELAPSEDTIME.ADD'] : false;
|
|
109
|
+
}));
|
|
93
110
|
}
|
|
94
|
-
return
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
users: [self.ID]
|
|
99
|
-
}).result().pipe(tap(v => {
|
|
100
|
-
if (v && v[self.ID]) {
|
|
101
|
-
Permission.set({
|
|
102
|
-
tasks: [{ id: idTask, permission: v[self.ID], elapsedItem: [] }]
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
}), map(v => {
|
|
106
|
-
return (v && v[self.ID]) ? v[self.ID]['ELAPSEDTIME.ADD'] : false;
|
|
107
|
-
}));
|
|
108
|
-
}
|
|
109
|
-
return of(undefined);
|
|
110
|
-
}));
|
|
111
|
-
}
|
|
112
|
-
return of(undefined);
|
|
111
|
+
return of(undefined);
|
|
112
|
+
}));
|
|
113
|
+
// }
|
|
114
|
+
// return of(undefined)
|
|
113
115
|
}
|
|
116
|
+
// вообще метод похоже даже на вредный в какомто смысле
|
|
114
117
|
checkPermissionReadTask(idTask) {
|
|
115
|
-
let permission = Permission.get()
|
|
116
|
-
if (permission?.tasks?.length) {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
118
|
+
// let permission = Permission.get()
|
|
119
|
+
// if (permission?.tasks?.length) {
|
|
120
|
+
// let findTask = permission.tasks.find(i => i.id === idTask)
|
|
121
|
+
// if (findTask?.permission) {
|
|
122
|
+
// return of(findTask.permission.ACCEPT)
|
|
123
|
+
// }
|
|
124
|
+
// console.log('idTask', idTask)
|
|
125
|
+
return this.BXRestNavvyUser.current().result().pipe(mergeMap(self => {
|
|
126
|
+
console.log('self', self);
|
|
127
|
+
if (self) {
|
|
128
|
+
return this.BXRestNavvyTasks.task.getAccess({
|
|
129
|
+
id: idTask,
|
|
130
|
+
users: [self.ID]
|
|
131
|
+
}).result().pipe(
|
|
132
|
+
// tap(v => {
|
|
133
|
+
// if (v && v[self.ID]) {
|
|
134
|
+
// Permission.set({
|
|
135
|
+
// tasks: [{id: idTask, permission: v[self.ID], elapsedItem: []}]
|
|
136
|
+
// })
|
|
137
|
+
// }
|
|
138
|
+
// }),
|
|
139
|
+
map(v => {
|
|
140
|
+
console.log('v', v);
|
|
141
|
+
return (v && v[self.ID]) ? !!v[self.ID] : false; // отдельного флага на чтение нет, выходит что если права отдались то и права есть
|
|
142
|
+
}));
|
|
120
143
|
}
|
|
121
|
-
return
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
}).result().pipe(tap(v => {
|
|
127
|
-
if (v && v[self.ID]) {
|
|
128
|
-
Permission.set({
|
|
129
|
-
tasks: [{ id: idTask, permission: v[self.ID], elapsedItem: [] }]
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
}), map(v => {
|
|
133
|
-
return (v && v[self.ID]) ? v[self.ID].ACCEPT : false;
|
|
134
|
-
}));
|
|
135
|
-
}
|
|
136
|
-
return of(undefined);
|
|
137
|
-
}));
|
|
138
|
-
}
|
|
139
|
-
return of(undefined);
|
|
144
|
+
return of(undefined);
|
|
145
|
+
}));
|
|
146
|
+
// }
|
|
147
|
+
//
|
|
148
|
+
// return of(undefined)
|
|
140
149
|
}
|
|
141
150
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvyOperationElapsedItem, deps: [{ token: i1.HttpBXServices }, { token: i2.BXRestNavvyDelegateElapsedItem }, { token: i3.BXRestMapTaskElapsedItem }, { token: i4.BXRestNavvyUser }, { token: i5.BXRestNavvyTasks }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
142
151
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvyOperationElapsedItem, providedIn: 'root' }); }
|
|
@@ -147,4 +156,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
|
|
|
147
156
|
providedIn: 'root'
|
|
148
157
|
}]
|
|
149
158
|
}], ctorParameters: function () { return [{ type: i1.HttpBXServices }, { type: i2.BXRestNavvyDelegateElapsedItem }, { type: i3.BXRestMapTaskElapsedItem }, { type: i4.BXRestNavvyUser }, { type: i5.BXRestNavvyTasks }]; } });
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhcHNlZGl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L3Rhc2svb3BlcmF0aW9uL2VsYXBzZWRpdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDckcsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRTlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUl6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBOzs7Ozs7O0FBSzFDLE1BQU0sT0FBTywrQkFBK0I7SUFFMUMsWUFDVSxJQUFvQixFQUNwQixRQUF3QyxFQUN4QyxvQkFBOEMsRUFDOUMsZUFBZ0MsRUFDaEMsZ0JBQWtDO1FBSmxDLFNBQUksR0FBSixJQUFJLENBQWdCO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQWdDO1FBQ3hDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBMEI7UUFDOUMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFFNUMsQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUFrQixFQUFFLFNBQWUsRUFBRSxPQUFhO1FBQzlELE1BQU0sS0FBSyxHQUErQjtZQUN4QyxLQUFLLEVBQUU7Z0JBQ0wsRUFBRSxFQUFFLE1BQU07YUFDWDtZQUNELE1BQU0sRUFBRTtnQkFDTixPQUFPLEVBQUUsUUFBUTtnQkFDakIsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLGNBQWMsQ0FBQyxPQUFP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QUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFDLENBQUM7NkJBQy9ELENBQUMsQ0FBQTt5QkFDSDtvQkFDSCxDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7d0JBQ04sT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7b0JBQ3RELENBQUMsQ0FBQyxDQUNILENBQUE7aUJBQ0Y7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUE7WUFDdEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtTQUNGO1FBRUQsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDdEIsQ0FBQzsrR0FuS1UsK0JBQStCO21IQUEvQiwrQkFBK0IsY0FGOUIsTUFBTTs7NEZBRVAsK0JBQStCO2tCQUgzQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlCWFJlc3RQYXJhbUVsYXBzZWRpdGVtR2V0IH0gZnJvbSAnLi4vLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9lbGFwc2VkaXRlbS9nZXQnXHJcbmltcG9ydCB7IEh0dHBCWFNlcnZpY2VzIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaHR0cC9IdHRwQlgnXHJcbmltcG9ydCB7IGlCWFJlc3RUYXNrRWxhcHNlZEl0ZW0sIGlCWFJlc3RUYXNrRWxhcHNlZEl0ZW1IdHRwIH0gZnJvbSAnLi4vLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9lbGFwc2VkaXRlbS9pdGVtJ1xyXG5pbXBvcnQgeyAkZWxhcHNlZGl0ZW0sICRnZXRhY2Nlc3MsICRnZXRsaXN0LCAkdGFzaywgJHRhc2tzIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RzL3BhcnQtbmFtZS1tZXRob2RzJ1xyXG5pbXBvcnQgeyBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuaW1wb3J0IHsgQlhSZXN0TWFwVGFza0VsYXBzZWRJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbWFwL3Rhc2svZWxhcHNlZGl0ZW0nXHJcbmltcG9ydCB7IGZvcmtKb2luLCBtZXJnZU1hcCwgT2JzZXJ2YWJsZSwgb2YsIHRhcCB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IGlJc0FjdGlvbkFsbG93ZWRQYXJhbSB9IGZyb20gJy4uLy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2svZWxhcHNlZGl0ZW0vaXNBY3Rpb25BbGxvd2VkUGFyYW0nXHJcbmltcG9ydCB7IFBlcm1pc3Npb24gfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wZXJtaXNzaW9uJ1xyXG5pbXBvcnQgeyBCWFJlc3ROYXZ2eVVzZXIgfSBmcm9tICcuLi8uLi91c2VyJ1xyXG5pbXBvcnQgeyBCWFJlc3ROYXZ2eVRhc2tzIH0gZnJvbSAnLi4vLi4vdGFza3MnXHJcbmltcG9ydCB7IEJYUmVzdE5hdnZ5RGVsZWdhdGVFbGFwc2VkSXRlbSB9IGZyb20gJy4uL2RlbGVnYXRlL2VsYXBzZWRpdGVtJ1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJYUmVzdE5hdnZ5T3BlcmF0aW9uRWxhcHNlZEl0ZW0ge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cEJYU2VydmljZXMsXHJcbiAgICBwcml2YXRlIGRlbGVnYXRlOiBCWFJlc3ROYXZ2eURlbGVnYXRlRWxhcHNlZEl0ZW0sXHJcbiAgICBwcml2YXRlIEJYUmVzdE1hcEVsYXBzZWRJdGVtOiBCWFJlc3RNYXBUYXNrRWxhcHNlZEl0ZW0sXHJcbiAgICBwcml2YXRlIEJYUmVzdE5hdnZ5VXNlcjogQlhSZXN0TmF2dnlVc2VyLFxyXG4gICAgcHJpdmF0ZSBCWFJlc3ROYXZ2eVRhc2tzOiBCWFJlc3ROYXZ2eVRhc2tzLFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgZ2V0QnlJbnRlcnZhbChpZHNVc2VyczogbnVtYmVyW10sIGRhdGVTdGFydDogRGF0ZSwgZGF0ZUVuZDogRGF0ZSkge1xyXG4gICAgY29uc3QgcGFyYW06IGlCWFJlc3RQYXJhbUVsYXBzZWRpdGVtR2V0ID0ge1xyXG4gICAgICBPUkRFUjoge1xyXG4gICAgICAgIElEOiAnREVTQydcclxuICAgICAgfSxcclxuICAgICAgRklMVEVSOiB7XHJcbiAgICAgICAgVVNFUl9JRDogaWRzVXNlcnMsXHJcbiAgICAgICAgJz49Q1JFQVRFRF9EQVRFJzogZGF0ZVN0YXJ0LnRvTG9jYWxlU3RyaW5nKCdydS1SdScpLFxyXG4gICAgICAgICc8PUNSRUFURURfREFURSc6IGRhdGVFbmQudG9Mb2NhbGVTdHJpbmcoJ3J1LVJ1JyksXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmRlbGVnYXRlLmdldExpc3QocGFyYW0pXHJcbiAgfVxyXG5cclxuICBnZXRMaXN0QnlJRFRhc2soaWRzOiBudW1iZXJbXSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5icmFuY2g8aUJYUmVzdFBhcmFtRWxhcHNlZGl0ZW1HZXQsIGlCWFJlc3RUYXNrRWxhcHNlZEl0ZW1IdHRwW10+XHJcbiAgICAoXHJcbiAgICAgIGlkcy5tYXAoaSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIG5hbWU6IHRoaXMuaHR0cC5nZXROYW1lTWV0aG9kKFskdGFzaywgJGVsYXBzZWRpdGVtLCAkZ2V0bGlzdF0pLFxyXG4gICAgICAgICAgcGFyYW06IHtcclxuICAgICAgICAgICAgVEFTS0lEOiBpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAodiA9PiB7XHJcbiAgICAgICAgaWYgKHYgJiYgdi5sZW5ndGgpIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAubWFwQnJhbmNoUmVzdWx0V2l0aG91dEtleSh2KS5tYXAoXHJcbiAgICAgICAgICAgIGkgPT4gdGhpcy5CWFJlc3RNYXBFbGFwc2VkSXRlbS5nZXRMaXN0KGkpXHJcbiAgICAgICAgICApLmZpbHRlcigoaSk6IGkgaXMgaUJYUmVzdFRhc2tFbGFwc2VkSXRlbVtdID0+IGkgIT09IHVuZGVmaW5lZCkuZmxhdCgpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIGNoZWNrUGVybWlzc2lvbkFkZEVsYXBzZWRUaW1lVG9UYXNrQXJyKHRhc2tzOiBudW1iZXJbXSkge1xyXG4gICAgbGV0IHJlcXVlc3Q6IHsgW2tleTogbnVtYmVyXTogT2JzZXJ2YWJsZTxib29sZWFuPiB9ID0gT2JqZWN0LmFzc2lnbih7fSwgLi4udGFza3MubWFwKGkgPT4ge1xyXG4gICAgICByZXR1cm4ge1tpXTogdGhpcy5jaGVja1Blcm1pc3Npb25BZGRFbGFwc2VkVGltZVRvVGFzayhpKX1cclxuICAgIH0pKVxyXG4gICAgcmV0dXJuIGZvcmtKb2luKHJlcXVlc3QpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHRha2UoMSksXHJcbiAgICAgICAgbWVyZ2VNYXAodiA9PiB7XHJcbiAgICAgICAgICBsZXQgZm9yRm9yZWFjaCA9IE9iamVjdC5lbnRyaWVzKHYpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7aWQ6IE51bWJlcihrZXkpLCB2YWx1ZTogdmFsdWV9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgaWYgKGZvckZvcmVhY2guZmluZChpID0+IGkudmFsdWUgPT09IHVuZGVmaW5lZCkgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBsZXQgZm9yRm9yZWFjaEhhdmUgPSBmb3JGb3JlYWNoLmZpbHRlcihpID0+IGkudmFsdWUgIT09IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgbGV0IGZvckZvcmVhY2hOb3RIYXZlID0gZm9yRm9yZWFjaC5maWx0ZXIoaSA9PiBpLnZhbHVlID09PSB1bmRlZmluZWQpIC8vINGC0YPRgiDQv9C+0LvRg9GH0LDQtdC8INCy0YHQtSBpZCDQvdC1INGB0L7RhdGA0LDQvdC10L3QvdGL0YUg0YMg0L3QsNGBINC/0YDQsNCyXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAuYnJhbmNoPGlJc0FjdGlvbkFsbG93ZWRQYXJhbSwgYm9vbGVhbj4oXHJcbiAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih7fSwgLi4uZm9yRm9yZWFjaE5vdEhhdmVcclxuICAgICAgICAgICAgICAgIC5tYXAoaSA9PiBpLmlkKVxyXG4gICAgICAgICAgICAgICAgLm1hcChpID0+IHtcclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICBbaV06IHtcclxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHRoaXMuaHR0cC5nZXROYW1lTWV0aG9kKFskdGFza3MsICR0YXNrLCAkZ2V0YWNjZXNzXSksXHJcbiAgICAgICAgICAgICAgICAgICAgICBwYXJhbToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBUQVNLSUQ6IGksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIElURU1JRDogMSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgQUNUSU9OSUQ6IDFcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHYgJiYgdi5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgY29uc3QgcmVzOiB7IFtwOiBudW1iZXJdOiBib29sZWFuIH0gPSB0aGlzLmh0dHAubWFwQnJhbmNoUmVzdWx0KHYpXHJcbiAgICAgICAgICAgICAgICAgIGZvckZvcmVhY2hOb3RIYXZlID0gT2JqZWN0LmVudHJpZXMocmVzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7aWQ6IE51bWJlcihrZXkpLCB2YWx1ZTogdmFsdWV9XHJcbiAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGZvckZvcmVhY2hIYXZlLCBmb3JGb3JlYWNoTm90SGF2ZSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gb2YoZm9yRm9yZWFjaClcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgfVxyXG5cclxuICBjaGVja1Blcm1pc3Npb25BZGRFbGFwc2VkVGltZVRvVGFzayhpZFRhc2s6IG51bWJlcikge1xyXG4gICAgbGV0IHBlcm1pc3Npb24gPSBQZXJtaXNzaW9uLmdldCgpXHJcbiAgICBpZiAocGVybWlzc2lvbj8udGFza3M/Lmxlbmd0aCkge1xyXG4gICAgICBsZXQgZmluZFRhc2sgPSBwZXJtaXNzaW9uLnRhc2tzLmZpbmQoaSA9PiBpLmlkID09PSBpZFRhc2spXHJcbiAgICAgIGlmIChmaW5kVGFzaz8ucGVybWlzc2lvbikge1xyXG4gICAgICAgIHJldHVybiBvZihmaW5kVGFzay5wZXJtaXNzaW9uWydFTEFQU0VEVElNRS5BREQnXSlcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdGhpcy5CWFJlc3ROYXZ2eVVzZXIuY3VycmVudCgpLnJlc3VsdCgpLnBpcGUoXHJcbiAgICAgICAgbWVyZ2VNYXAoc2VsZiA9PiB7XHJcbiAgICAgICAgICBpZiAoc2VsZikge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5CWFJlc3ROYXZ2eVRhc2tzLnRhc2suZ2V0QWNjZXNzKFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBpZFRhc2ssXHJcbiAgICAgICAgICAgICAgICB1c2VyczogW3NlbGYuSURdXHJcbiAgICAgICAgICAgICAgfSkucmVzdWx0KCkucGlwZShcclxuICAgICAgICAgICAgICB0YXAodiA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodiAmJiB2W3NlbGYuSURdKSB7XHJcbiAgICAgICAgICAgICAgICAgIFBlcm1pc3Npb24uc2V0KHtcclxuICAgICAgICAgICAgICAgICAgICB0YXNrczogW3tpZDogaWRUYXNrLCBwZXJtaXNzaW9uOiB2W3NlbGYuSURdLCBlbGFwc2VkSXRlbTogW119XVxyXG4gICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgIG1hcCh2ID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAodiAmJiB2W3NlbGYuSURdKSA/IHZbc2VsZi5JRF1bJ0VMQVBTRURUSU1FLkFERCddIDogZmFsc2VcclxuICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZClcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9mKHVuZGVmaW5lZClcclxuICB9XHJcblxyXG4gIGNoZWNrUGVybWlzc2lvblJlYWRUYXNrKGlkVGFzazogbnVtYmVyKSB7XHJcbiAgICBsZXQgcGVybWlzc2lvbiA9IFBlcm1pc3Npb24uZ2V0KClcclxuICAgIGlmIChwZXJtaXNzaW9uPy50YXNrcz8ubGVuZ3RoKSB7XHJcbiAgICAgIGxldCBmaW5kVGFzayA9IHBlcm1pc3Npb24udGFza3MuZmluZChpID0+IGkuaWQgPT09IGlkVGFzaylcclxuICAgICAgaWYgKGZpbmRUYXNrPy5wZXJtaXNzaW9uKSB7XHJcbiAgICAgICAgcmV0dXJuIG9mKGZpbmRUYXNrLnBlcm1pc3Npb24uQUNDRVBUKVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5VXNlci5jdXJyZW50KCkucmVzdWx0KCkucGlwZShcclxuICAgICAgICBtZXJnZU1hcChzZWxmID0+IHtcclxuICAgICAgICAgIGlmIChzZWxmKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5VGFza3MudGFzay5nZXRBY2Nlc3MoXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IGlkVGFzayxcclxuICAgICAgICAgICAgICAgIHVzZXJzOiBbc2VsZi5JRF1cclxuICAgICAgICAgICAgICB9KS5yZXN1bHQoKS5waXBlKFxyXG4gICAgICAgICAgICAgIHRhcCh2ID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh2ICYmIHZbc2VsZi5JRF0pIHtcclxuICAgICAgICAgICAgICAgICAgUGVybWlzc2lvbi5zZXQoe1xyXG4gICAgICAgICAgICAgICAgICAgIHRhc2tzOiBbe2lkOiBpZFRhc2ssIHBlcm1pc3Npb246IHZbc2VsZi5JRF0sIGVsYXBzZWRJdGVtOiBbXX1dXHJcbiAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICh2ICYmIHZbc2VsZi5JRF0pID8gdltzZWxmLklEXS5BQ0NFUFQgOiBmYWxzZVxyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhcHNlZGl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L3Rhc2svb3BlcmF0aW9uL2VsYXBzZWRpdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ25HLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFMUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBS3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7Ozs7Ozs7QUFLMUMsTUFBTSxPQUFPLCtCQUErQjtJQUUxQyxZQUNVLElBQW9CLEVBQ3BCLFFBQXdDLEVBQ3hDLG9CQUE4QyxFQUM5QyxlQUFnQyxFQUNoQyxnQkFBa0M7UUFKbEMsU0FBSSxHQUFKLElBQUksQ0FBZ0I7UUFDcEIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0M7UUFDeEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUEwQjtRQUM5QyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUU1QyxDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQWtCLEVBQUUsU0FBZSxFQUFFLE9BQWE7UUFDOUQsTUFBTSxLQUFLLEdBQStCO1lBQ3hDLEtBQUssRUFBRTtnQkFDTCxFQUFFLEVBQUUsTUFBTTthQUNYO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixnQkFBZ0IsRUFBRSxTQUFTLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQztnQkFDbkQsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7YUFDbEQ7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QUFJO2dCQUNoQixhQUFhO2dCQUNiLDJCQUEyQjtnQkFDM0IsdUJBQXVCO2dCQUN2Qix1RUFBdUU7Z0JBQ3ZFLFNBQVM7Z0JBQ1QsTUFBTTtnQkFDTixNQUFNO2dCQUNOLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDTixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQTtvQkFDbkIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUEsQ0FBQyxrRkFBa0Y7Z0JBQ3BJLENBQUMsQ0FBQyxDQUNILENBQUE7YUFDRjtZQUNELE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ3RCLENBQUMsQ0FBQyxDQUNILENBQUE7UUFDSCxJQUFJO1FBQ0osRUFBRTtRQUNGLHVCQUF1QjtJQUN6QixDQUFDOytHQXRLVSwrQkFBK0I7bUhBQS9CLCtCQUErQixjQUY5QixNQUFNOzs0RkFFUCwrQkFBK0I7a0JBSDNDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaUJYUmVzdFBhcmFtRWxhcHNlZGl0ZW1HZXQgfSBmcm9tICcuLi8uLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrL2VsYXBzZWRpdGVtL2dldCdcclxuaW1wb3J0IHsgSHR0cEJYU2VydmljZXMgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9odHRwL0h0dHBCWCdcclxuaW1wb3J0IHsgaUJYUmVzdFRhc2tFbGFwc2VkSXRlbUh0dHAgfSBmcm9tICcuLi8uLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrL2VsYXBzZWRpdGVtL2l0ZW0nXHJcbmltcG9ydCB7ICRlbGFwc2VkaXRlbSwgJGdldGxpc3QsICRpc2FjdGlvbmFsbG93ZWQsICR0YXNrIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RzL3BhcnQtbmFtZS1tZXRob2RzJ1xyXG5pbXBvcnQgeyBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuaW1wb3J0IHsgQlhSZXN0TWFwVGFza0VsYXBzZWRJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbWFwL3Rhc2svZWxhcHNlZGl0ZW0nXHJcbmltcG9ydCB7IGZvcmtKb2luLCBtZXJnZU1hcCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBpSXNBY3Rpb25BbGxvd2VkUGFyYW0gfSBmcm9tICcuLi8uLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrL2VsYXBzZWRpdGVtL2lzQWN0aW9uQWxsb3dlZFBhcmFtJ1xyXG5pbXBvcnQgeyBCWFJlc3ROYXZ2eVVzZXIgfSBmcm9tICcuLi8uLi91c2VyJ1xyXG5pbXBvcnQgeyBCWFJlc3ROYXZ2eVRhc2tzIH0gZnJvbSAnLi4vLi4vdGFza3MnXHJcbmltcG9ydCB7IEJYUmVzdE5hdnZ5RGVsZWdhdGVFbGFwc2VkSXRlbSB9IGZyb20gJy4uL2RlbGVnYXRlL2VsYXBzZWRpdGVtJ1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJYUmVzdE5hdnZ5T3BlcmF0aW9uRWxhcHNlZEl0ZW0ge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cEJYU2VydmljZXMsXHJcbiAgICBwcml2YXRlIGRlbGVnYXRlOiBCWFJlc3ROYXZ2eURlbGVnYXRlRWxhcHNlZEl0ZW0sXHJcbiAgICBwcml2YXRlIEJYUmVzdE1hcEVsYXBzZWRJdGVtOiBCWFJlc3RNYXBUYXNrRWxhcHNlZEl0ZW0sXHJcbiAgICBwcml2YXRlIEJYUmVzdE5hdnZ5VXNlcjogQlhSZXN0TmF2dnlVc2VyLFxyXG4gICAgcHJpdmF0ZSBCWFJlc3ROYXZ2eVRhc2tzOiBCWFJlc3ROYXZ2eVRhc2tzLFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgZ2V0QnlJbnRlcnZhbChpZHNVc2VyczogbnVtYmVyW10sIGRhdGVTdGFydDogRGF0ZSwgZGF0ZUVuZDogRGF0ZSkge1xyXG4gICAgY29uc3QgcGFyYW06IGlCWFJlc3RQYXJhbUVsYXBzZWRpdGVtR2V0ID0ge1xyXG4gICAgICBPUkRFUjoge1xyXG4gICAgICAgIElEOiAnREVTQydcclxuICAgICAgfSxcclxuICAgICAgRklMVEVSOiB7XHJcbiAgICAgICAgVVNFUl9JRDogaWRzVXNlcnMsXHJcbiAgICAgICAgJz49Q1JFQVRFRF9EQVRFJzogZGF0ZVN0YXJ0LnRvTG9jYWxlU3RyaW5nKCdydS1SdScpLFxyXG4gICAgICAgICc8PUNSRUFURURfREFURSc6IGRhdGVFbmQudG9Mb2NhbGVTdHJpbmcoJ3J1LVJ1JyksXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmRlbGVnYXRlLmdldExpc3QocGFyYW0pXHJcbiAgfVxyXG5cclxuICBnZXRMaXN0QnlJRFRhc2soaWRzOiBudW1iZXJbXSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5icmFuY2g8aUJYUmVzdFBhcmFtRWxhcHNlZGl0ZW1HZXQsIGlCWFJlc3RUYXNrRWxhcHNlZEl0ZW1IdHRwPlxyXG4gICAgKFxyXG4gICAgICBpZHMubWFwKGkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBuYW1lOiB0aGlzLmh0dHAuZ2V0TmFtZU1ldGhvZChbJHRhc2ssICRlbGFwc2VkaXRlbSwgJGdldGxpc3RdKSxcclxuICAgICAgICAgIHBhcmFtOiB7XHJcbiAgICAgICAgICAgIFRBU0tJRDogaVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgIGlmICh2ICYmIHYubGVuZ3RoKSB7XHJcbiAgICAgICAgICBjb25zdCByZXMgPSB0aGlzLmh0dHAubWFwQnJhbmNoUmVzdWx0V2l0aG91dEtleSh2KVxyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuQlhSZXN0TWFwRWxhcHNlZEl0ZW0uZ2V0TGlzdChyZXMpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIGNoZWNrUGVybWlzc2lvbkFkZEVsYXBzZWRUaW1lVG9UYXNrQXJyKHRhc2tzOiBudW1iZXJbXSkge1xyXG4gICAgbGV0IHJlcXVlc3Q6IHsgW2tleTogbnVtYmVyXTogT2JzZXJ2YWJsZTxib29sZWFuPiB9ID0gT2JqZWN0LmFzc2lnbih7fSwgLi4udGFza3MubWFwKGkgPT4ge1xyXG4gICAgICByZXR1cm4ge1tpXTogdGhpcy5jaGVja1Blcm1pc3Npb25BZGRFbGFwc2VkVGltZVRvVGFzayhpKX1cclxuICAgIH0pKVxyXG4gICAgcmV0dXJuIGZvcmtKb2luKHJlcXVlc3QpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHRha2UoMSksXHJcbiAgICAgICAgbWVyZ2VNYXAodiA9PiB7XHJcbiAgICAgICAgICBsZXQgZm9yRm9yZWFjaCA9IE9iamVjdC5lbnRyaWVzKHYpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7aWQ6IE51bWJlcihrZXkpLCB2YWx1ZTogdmFsdWV9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgaWYgKGZvckZvcmVhY2guZmluZChpID0+IGkudmFsdWUgPT09IHVuZGVmaW5lZCkgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBsZXQgZm9yRm9yZWFjaEhhdmUgPSBmb3JGb3JlYWNoLmZpbHRlcihpID0+IGkudmFsdWUgIT09IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgbGV0IGZvckZvcmVhY2hOb3RIYXZlID0gZm9yRm9yZWFjaC5maWx0ZXIoaSA9PiBpLnZhbHVlID09PSB1bmRlZmluZWQpIC8vINGC0YPRgiDQv9C+0LvRg9GH0LDQtdC8INCy0YHQtSBpZCDQvdC1INGB0L7RhdGA0LDQvdC10L3QvdGL0YUg0YMg0L3QsNGBINC/0YDQsNCyXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAuYnJhbmNoPGlJc0FjdGlvbkFsbG93ZWRQYXJhbSwgYm9vbGVhbj4oXHJcbiAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih7fSwgLi4uZm9yRm9yZWFjaE5vdEhhdmVcclxuICAgICAgICAgICAgICAgIC5tYXAoaSA9PiBpLmlkKVxyXG4gICAgICAgICAgICAgICAgLm1hcChpID0+IHtcclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICBbaV06IHtcclxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHRoaXMuaHR0cC5nZXROYW1lTWV0aG9kKFskdGFzaywgJGVsYXBzZWRpdGVtLCAkaXNhY3Rpb25hbGxvd2VkXSksXHJcbiAgICAgICAgICAgICAgICAgICAgICBwYXJhbToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBUQVNLSUQ6IGksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIElURU1JRDogMSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgQUNUSU9OSUQ6IDFcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pKVxyXG4gICAgICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHYgJiYgdi5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgY29uc3QgcmVzOiB7IFtwOiBudW1iZXJdOiBib29sZWFuIH0gPSB0aGlzLmh0dHAubWFwQnJhbmNoUmVzdWx0KHYpXHJcbiAgICAgICAgICAgICAgICAgIGZvckZvcmVhY2hOb3RIYXZlID0gT2JqZWN0LmVudHJpZXMocmVzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7aWQ6IE51bWJlcihrZXkpLCB2YWx1ZTogdmFsdWV9XHJcbiAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGZvckZvcmVhY2hIYXZlLCBmb3JGb3JlYWNoTm90SGF2ZSlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gb2YoZm9yRm9yZWFjaClcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgfVxyXG5cclxuICBjaGVja1Blcm1pc3Npb25BZGRFbGFwc2VkVGltZVRvVGFzayhpZFRhc2s6IG51bWJlcikge1xyXG4gICAgLy8gbGV0IHBlcm1pc3Npb24gPSBQZXJtaXNzaW9uLmdldCgpXHJcbiAgICAvLyBpZiAocGVybWlzc2lvbj8udGFza3M/Lmxlbmd0aCkge1xyXG4gICAgLy8gICBsZXQgZmluZFRhc2sgPSBwZXJtaXNzaW9uLnRhc2tzLmZpbmQoaSA9PiBpLmlkID09PSBpZFRhc2spXHJcbiAgICAvLyAgIGlmIChmaW5kVGFzaz8ucGVybWlzc2lvbikge1xyXG4gICAgLy8gICAgIHJldHVybiBvZihmaW5kVGFzay5wZXJtaXNzaW9uWydFTEFQU0VEVElNRS5BREQnXSlcclxuICAgIC8vICAgfVxyXG4gICAgICByZXR1cm4gdGhpcy5CWFJlc3ROYXZ2eVVzZXIuY3VycmVudCgpLnJlc3VsdCgpLnBpcGUoXHJcbiAgICAgICAgbWVyZ2VNYXAoc2VsZiA9PiB7XHJcbiAgICAgICAgICBpZiAoc2VsZikge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5CWFJlc3ROYXZ2eVRhc2tzLnRhc2suZ2V0QWNjZXNzKFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBpZFRhc2ssXHJcbiAgICAgICAgICAgICAgICB1c2VyczogW3NlbGYuSURdXHJcbiAgICAgICAgICAgICAgfSkucmVzdWx0KCkucGlwZShcclxuICAgICAgICAgICAgICAvLyB0YXAodiA9PiB7XHJcbiAgICAgICAgICAgICAgLy8gICBpZiAodiAmJiB2W3NlbGYuSURdKSB7XHJcbiAgICAgICAgICAgICAgLy8gICAgIFBlcm1pc3Npb24uc2V0KHtcclxuICAgICAgICAgICAgICAvLyAgICAgICB0YXNrczogW3tpZDogaWRUYXNrLCBwZXJtaXNzaW9uOiB2W3NlbGYuSURdLCBlbGFwc2VkSXRlbTogW119XVxyXG4gICAgICAgICAgICAgIC8vICAgICB9KVxyXG4gICAgICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgICAgIC8vIH0pLFxyXG4gICAgICAgICAgICAgIG1hcCh2ID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAodiAmJiB2W3NlbGYuSURdKSA/IHZbc2VsZi5JRF1bJ0VMQVBTRURUSU1FLkFERCddIDogZmFsc2VcclxuICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZClcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gcmV0dXJuIG9mKHVuZGVmaW5lZClcclxuICB9XHJcblxyXG4gIC8vINCy0L7QvtCx0YnQtSDQvNC10YLQvtC0INC/0L7RhdC+0LbQtSDQtNCw0LbQtSDQvdCwINCy0YDQtdC00L3Ri9C5INCyINC60LDQutC+0LzRgtC+INGB0LzRi9GB0LvQtVxyXG4gIGNoZWNrUGVybWlzc2lvblJlYWRUYXNrKGlkVGFzazogbnVtYmVyKSB7XHJcbiAgICAvLyBsZXQgcGVybWlzc2lvbiA9IFBlcm1pc3Npb24uZ2V0KClcclxuICAgIC8vIGlmIChwZXJtaXNzaW9uPy50YXNrcz8ubGVuZ3RoKSB7XHJcbiAgICAvLyAgIGxldCBmaW5kVGFzayA9IHBlcm1pc3Npb24udGFza3MuZmluZChpID0+IGkuaWQgPT09IGlkVGFzaylcclxuICAgIC8vICAgaWYgKGZpbmRUYXNrPy5wZXJtaXNzaW9uKSB7XHJcbiAgICAvLyAgICAgcmV0dXJuIG9mKGZpbmRUYXNrLnBlcm1pc3Npb24uQUNDRVBUKVxyXG4gICAgLy8gICB9XHJcbiAgICAvLyAgIGNvbnNvbGUubG9nKCdpZFRhc2snLCBpZFRhc2spXHJcbiAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5VXNlci5jdXJyZW50KCkucmVzdWx0KCkucGlwZShcclxuICAgICAgICBtZXJnZU1hcChzZWxmID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdzZWxmJywgc2VsZilcclxuICAgICAgICAgIGlmIChzZWxmKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5VGFza3MudGFzay5nZXRBY2Nlc3MoXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IGlkVGFzayxcclxuICAgICAgICAgICAgICAgIHVzZXJzOiBbc2VsZi5JRF1cclxuICAgICAgICAgICAgICB9KS5yZXN1bHQoKS5waXBlKFxyXG4gICAgICAgICAgICAgIC8vIHRhcCh2ID0+IHtcclxuICAgICAgICAgICAgICAvLyAgIGlmICh2ICYmIHZbc2VsZi5JRF0pIHtcclxuICAgICAgICAgICAgICAvLyAgICAgUGVybWlzc2lvbi5zZXQoe1xyXG4gICAgICAgICAgICAgIC8vICAgICAgIHRhc2tzOiBbe2lkOiBpZFRhc2ssIHBlcm1pc3Npb246IHZbc2VsZi5JRF0sIGVsYXBzZWRJdGVtOiBbXX1dXHJcbiAgICAgICAgICAgICAgLy8gICAgIH0pXHJcbiAgICAgICAgICAgICAgLy8gICB9XHJcbiAgICAgICAgICAgICAgLy8gfSksXHJcbiAgICAgICAgICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3YnLCB2KVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICh2ICYmIHZbc2VsZi5JRF0pID8gISF2W3NlbGYuSURdIDogZmFsc2UgLy8g0L7RgtC00LXQu9GM0L3QvtCz0L4g0YTQu9Cw0LPQsCDQvdCwINGH0YLQtdC90LjQtSDQvdC10YIsINCy0YvRhdC+0LTQuNGCINGH0YLQviDQtdGB0LvQuCDQv9GA0LDQstCwINC+0YLQtNCw0LvQuNGB0Ywg0YLQviDQuCDQv9GA0LDQstCwINC10YHRgtGMXHJcbiAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgLy8gfVxyXG4gICAgLy9cclxuICAgIC8vIHJldHVybiBvZih1bmRlZmluZWQpXHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19
|
|
@@ -4,12 +4,12 @@ import * as i1 from "./task/elapseditem";
|
|
|
4
4
|
import * as i2 from "./task/commentitem";
|
|
5
5
|
import * as i3 from "./task/planner";
|
|
6
6
|
export class BXRestNavvyTask {
|
|
7
|
-
constructor(
|
|
8
|
-
this.
|
|
9
|
-
this.
|
|
7
|
+
constructor(elapsedItem, commentItem, planner) {
|
|
8
|
+
this.elapsedItem = elapsedItem;
|
|
9
|
+
this.commentItem = commentItem;
|
|
10
10
|
this.planner = planner;
|
|
11
11
|
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvyTask, deps: [{ token: i1.
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvyTask, deps: [{ token: i1.BXRestNavvyElapsedItem }, { token: i2.BXRestNavvyTaskCommentItem }, { token: i3.BXRestNavvyTaskPlanner }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
13
13
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvyTask, providedIn: 'root' }); }
|
|
14
14
|
}
|
|
15
15
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvyTask, decorators: [{
|
|
@@ -17,5 +17,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
|
|
|
17
17
|
args: [{
|
|
18
18
|
providedIn: 'root'
|
|
19
19
|
}]
|
|
20
|
-
}], ctorParameters: function () { return [{ type: i1.
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
}], ctorParameters: function () { return [{ type: i1.BXRestNavvyElapsedItem }, { type: i2.BXRestNavvyTaskCommentItem }, { type: i3.BXRestNavvyTaskPlanner }]; } });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QtbmF2dnkvdGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBOzs7OztBQVExQyxNQUFNLE9BQU8sZUFBZTtJQUUxQixZQUNTLFdBQW1DLEVBQ25DLFdBQXVDLEVBQ3ZDLE9BQStCO1FBRi9CLGdCQUFXLEdBQVgsV0FBVyxDQUF3QjtRQUNuQyxnQkFBVyxHQUFYLFdBQVcsQ0FBNEI7UUFDdkMsWUFBTyxHQUFQLE9BQU8sQ0FBd0I7SUFFeEMsQ0FBQzsrR0FQVSxlQUFlO21IQUFmLGVBQWUsY0FGZCxNQUFNOzs0RkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBCWFJlc3ROYXZ2eUVsYXBzZWRJdGVtIH0gZnJvbSAnLi90YXNrL2VsYXBzZWRpdGVtJ1xyXG5pbXBvcnQgeyBCWFJlc3ROYXZ2eVRhc2tDb21tZW50SXRlbSB9IGZyb20gJy4vdGFzay9jb21tZW50aXRlbSdcclxuaW1wb3J0IHsgQlhSZXN0TmF2dnlUYXNrUGxhbm5lciB9IGZyb20gJy4vdGFzay9wbGFubmVyJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQlhSZXN0TmF2dnlUYXNrIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZWxhcHNlZEl0ZW06IEJYUmVzdE5hdnZ5RWxhcHNlZEl0ZW0sXHJcbiAgICBwdWJsaWMgY29tbWVudEl0ZW06IEJYUmVzdE5hdnZ5VGFza0NvbW1lbnRJdGVtLFxyXG4gICAgcHVibGljIHBsYW5uZXI6IEJYUmVzdE5hdnZ5VGFza1BsYW5uZXJcclxuICApIHtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Navvy } from '../services/navvy';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../request/timeman";
|
|
5
|
+
import * as i2 from "../map/timeman";
|
|
6
|
+
export class BXRestNavvyTimeMan {
|
|
7
|
+
constructor(BXRestTimeMan, BXRestMapTimeMan) {
|
|
8
|
+
this.BXRestTimeMan = BXRestTimeMan;
|
|
9
|
+
this.BXRestMapTimeMan = BXRestMapTimeMan;
|
|
10
|
+
this.Navvy = new Navvy(BXRestTimeMan, BXRestMapTimeMan);
|
|
11
|
+
}
|
|
12
|
+
status(param = undefined) {
|
|
13
|
+
return this.Navvy.simpleWithArg(this.BXRestTimeMan.status, param, this.BXRestMapTimeMan.status);
|
|
14
|
+
}
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvyTimeMan, deps: [{ token: i1.BXRestTimeMan }, { token: i2.BXRestMapTimeMan }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
16
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvyTimeMan, providedIn: 'root' }); }
|
|
17
|
+
}
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: BXRestNavvyTimeMan, decorators: [{
|
|
19
|
+
type: Injectable,
|
|
20
|
+
args: [{
|
|
21
|
+
providedIn: 'root'
|
|
22
|
+
}]
|
|
23
|
+
}], ctorParameters: function () { return [{ type: i1.BXRestTimeMan }, { type: i2.BXRestMapTimeMan }]; } });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZW1hbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QtbmF2dnkvdGltZW1hbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTs7OztBQU96QyxNQUFNLE9BQU8sa0JBQWtCO0lBSTdCLFlBQ1UsYUFBNEIsRUFDNUIsZ0JBQWtDO1FBRGxDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFFMUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQTtJQUN6RCxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQStDLFNBQVM7UUFDN0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQ3pCLEtBQUssRUFDTCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUM3QixDQUFBO0lBQ0gsQ0FBQzsrR0FqQlUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7NEZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1UaW1lTWFuU3RhdHVzIH0gZnJvbSAnLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGltZW1hbi9zdGF0dXMnXHJcbmltcG9ydCB7IE5hdnZ5IH0gZnJvbSAnLi4vc2VydmljZXMvbmF2dnknXHJcbmltcG9ydCB7IEJYUmVzdFRpbWVNYW4gfSBmcm9tICcuLi9yZXF1ZXN0L3RpbWVtYW4nXHJcbmltcG9ydCB7IEJYUmVzdE1hcFRpbWVNYW4gfSBmcm9tICcuLi9tYXAvdGltZW1hbidcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEJYUmVzdE5hdnZ5VGltZU1hbiB7XHJcblxyXG4gIHByb3RlY3RlZCBOYXZ2eTogTmF2dnk8QlhSZXN0VGltZU1hbiwgQlhSZXN0TWFwVGltZU1hbj5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIEJYUmVzdFRpbWVNYW46IEJYUmVzdFRpbWVNYW4sXHJcbiAgICBwcml2YXRlIEJYUmVzdE1hcFRpbWVNYW46IEJYUmVzdE1hcFRpbWVNYW5cclxuICApIHtcclxuICAgIHRoaXMuTmF2dnkgPSBuZXcgTmF2dnkoQlhSZXN0VGltZU1hbiwgQlhSZXN0TWFwVGltZU1hbilcclxuICB9XHJcblxyXG4gIHN0YXR1cyhwYXJhbTogaUJYUmVzdFBhcmFtVGltZU1hblN0YXR1cyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCl7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGVXaXRoQXJnKFxyXG4gICAgICB0aGlzLkJYUmVzdFRpbWVNYW4uc3RhdHVzLFxyXG4gICAgICBwYXJhbSxcclxuICAgICAgdGhpcy5CWFJlc3RNYXBUaW1lTWFuLnN0YXR1c1xyXG4gICAgKVxyXG4gIH1cclxufVxyXG5cclxuIl19
|
|
@@ -6,10 +6,10 @@ import * as i1 from "../map/user";
|
|
|
6
6
|
import * as i2 from "../request/user";
|
|
7
7
|
import * as i3 from "./user/userfield";
|
|
8
8
|
export class BXRestNavvyUser {
|
|
9
|
-
constructor(BXRestUserMap, BXRestUser,
|
|
9
|
+
constructor(BXRestUserMap, BXRestUser, userField) {
|
|
10
10
|
this.BXRestUserMap = BXRestUserMap;
|
|
11
11
|
this.BXRestUser = BXRestUser;
|
|
12
|
-
this.
|
|
12
|
+
this.userField = userField;
|
|
13
13
|
this.def = {
|
|
14
14
|
params: { ACTIVE: 1, start: 0 }
|
|
15
15
|
};
|
|
@@ -164,4 +164,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImpo
|
|
|
164
164
|
providedIn: 'root'
|
|
165
165
|
}]
|
|
166
166
|
}], ctorParameters: function () { return [{ type: i1.BXRestMapUser }, { type: i2.BXRestUser }, { type: i3.BXRestNavvyUserUserfield }]; } });
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QtbmF2dnkvdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUV6QyxPQUFPLEtBQUssTUFBTSxZQUFZLENBQUE7Ozs7O0FBUTlCLE1BQU0sT0FBTyxlQUFlO0lBUTFCLFlBQ1UsYUFBNEIsRUFDNUIsVUFBc0IsRUFDdkIsU0FBbUM7UUFGbEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUEwQjtRQVQ1QyxRQUFHLEdBQXdDO1lBQ3pDLE1BQU0sRUFBRSxFQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBQztTQUM5QixDQUFBO1FBU0MsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUM3RCxDQUFDO0lBRUQsS0FBSztRQUNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUN0QixDQUFBO0lBQ0gsQ0FBQztJQUVELEdBQUcsQ0FBQyxTQUE4QixFQUFFO1FBQ2xDLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBRTVCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUNuQixVQUFVLEVBQ1YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFH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QUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNuQyxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQTtTQUNyQztRQUVELElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUU7WUFDdEUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQTtTQUNuQztJQUNILENBQUM7K0dBeExVLGVBQWU7bUhBQWYsZUFBZSxjQUZkLE1BQU07OzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IEJYUmVzdFVzZXIgfSBmcm9tICcuLi9yZXF1ZXN0L3VzZXInXHJcbmltcG9ydCB7IE5hdnZ5IH0gZnJvbSAnLi4vc2VydmljZXMvbmF2dnknXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVVzZXJHZXQgfSBmcm9tICcuLi90eXBpZmljYXRpb24vcmVzdC91c2VyL2dldCdcclxuaW1wb3J0IGNsb25lIGZyb20gJ2p1c3QtY2xvbmUnXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVVzZXJTZWFyY2ggfSBmcm9tICcuLi90eXBpZmljYXRpb24vcmVzdC91c2VyL3NlYXJjaCdcclxuaW1wb3J0IHsgQlhSZXN0TmF2dnlVc2VyVXNlcmZpZWxkIH0gZnJvbSAnLi91c2VyL3VzZXJmaWVsZCdcclxuaW1wb3J0IHsgQlhSZXN0TWFwVXNlciB9IGZyb20gJy4uL21hcC91c2VyJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQlhSZXN0TmF2dnlVc2VyIHtcclxuXHJcbiAgZGVmOiB7IHBhcmFtczogeyBBQ1RJVkU6IDEsIHN0YXJ0OiAwIH0gfSA9IHtcclxuICAgIHBhcmFtczoge0FDVElWRTogMSwgc3RhcnQ6IDB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIE5hdnZ5OiBOYXZ2eTxCWFJlc3RVc2VyLCBCWFJlc3RNYXBVc2VyPlxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgQlhSZXN0VXNlck1hcDogQlhSZXN0TWFwVXNlcixcclxuICAgIHByaXZhdGUgQlhSZXN0VXNlcjogQlhSZXN0VXNlcixcclxuICAgIHB1YmxpYyB1c2VyZmllbGQ6IEJYUmVzdE5hdnZ5VXNlclVzZXJmaWVsZFxyXG4gICkge1xyXG4gICAgdGhpcy5OYXZ2eSA9IG5ldyBOYXZ2eSh0aGlzLkJYUmVzdFVzZXIsIHRoaXMuQlhSZXN0VXNlck1hcClcclxuICB9XHJcblxyXG4gIGFkbWluKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlKFxyXG4gICAgICB0aGlzLkJYUmVzdFVzZXIuYWRtaW5cclxuICAgIClcclxuICB9XHJcblxyXG4gIGdldChwYXJhbXM6IGlCWFJlc3RQYXJhbVVzZXJHZXQgPSB7fSl7XHJcbiAgICBsZXQgY29weVBhcmFtcyA9IGNsb25lKHBhcmFtcylcclxuICAgIHRoaXMuc2V0RGVmUGFyYW0oY29weVBhcmFtcylcclxuXHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5QYWdOYXYoXHJcbiAgICAgIHRoaXMuQlhSZXN0VXNlci5nZXQsXHJcbiAgICAgIGNvcHlQYXJhbXMsXHJcbiAgICAgIHRoaXMuQlhSZXN0VXNlck1hcC5nZXRcclxuICAgIClcclxuICB9XHJcblxyXG4gIGN1cnJlbnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGUoXHJcbiAgICAgIHRoaXMuQlhSZXN0VXNlci5jdXJyZW50LFxyXG4gICAgICB0aGlzLkJYUmVzdFVzZXJNYXAuY3VycmVudFxyXG4gICAgKVxyXG4gICAgLy8gVE9ETzog0L/QvtC00YPQvNCw0YLRjCDQviDRgdC+0YXRgNCw0L3QtdC90LjQuCDQtNCw0L3QvdGL0YUgKNC90LAg0LHRg9C00YPRidC10LUsINC/0YDQuNC80LXRgCDQutC+0LQg0L3QuNC20LUpXHJcbiAgICAvKlxyXG4gICAgY29uc3QgbmF2dnkgPSBuZXcgTmF2dnkodGhpcywgdGhpcy5CWFJlc3RVc2VyTWFwKVxyXG4gICAgcmV0dXJuIG5hdnZ5LnNpbXBsZVdpdGhBcmcoXHJcbiAgICAgIHRoaXMuc2VsZixcclxuICAgICAgdXBkYXRlLFxyXG4gICAgICB0aGlzLkJYUmVzdFVzZXJNYXAuY3VycmVudFxyXG4gICAgKVxyXG4gICAgICovXHJcblxyXG4gIH1cclxuXHJcbiAgLypcclxuICB1cGRhdGUodXNlcjogaUJYUmVzdFVzZXIsIGZpZWxkVXBkYXRlOiBzdHJpbmdbXSkge1xyXG5cclxuICAgICAgaWYgKGZpZWxkVXBkYXRlICYmIGZpZWxkVXBkYXRlLmxlbmd0aCkge1xyXG4gICAgICBsZXQgc2VuZERhdGE6IGFueSA9IHtcclxuICAgICAgICBJRDogdXNlci5JRCxcclxuICAgICAgfVxyXG4gICAgICBjb25zdCB1c2VyQlggPSB0aGlzLkJYUmVzdFVzZXJNYXAuQlh0b0h0dHAodXNlcilcclxuICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiBmaWVsZFVwZGF0ZSkge1xyXG4gICAgICAgIGlmICh1c2VyQlhbZmllbGRdKSB7XHJcbiAgICAgICAgICBzZW5kRGF0YVtmaWVsZF0gPSB1c2VyQlhbZmllbGRdXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdPbmUgc2VudCBmaWVsZCBpcyBlbXB0eScpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpQlhSZXN0VXNlckh0dHBbXT4oXHJcbiAgICAgICAgdGhpcy51cmwudXBkYXRlLFxyXG4gICAgICAgIHNlbmREYXRhXHJcbiAgICAgIClcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdBbGwgc2VudCBmaWVsZCBmb3IgZWRpdCBpcyBlbXB0eScpXHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGUoXHJcbiAgICAgIHRoaXMuQlhSZXN0VXNlci51cGRhdGUodXNlciwgZmllbGRVcGRhdGUpLFxyXG4gICAgICAn0J3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QvtCy0LjRgtGMINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDRgSBJRCcgKyB1c2VyLklEXHJcbiAgICApXHJcbiAgfVxyXG4gICovXHJcbiAgc2VhcmNoKHBhcmFtczogaUJYUmVzdFBhcmFtVXNlclNlYXJjaCkge1xyXG4gICAgaWYgKHR5cGVvZiBwYXJhbXMuQUNUSVZFICE9PSAnYm9vbGVhbicpIHtcclxuICAgICAgcGFyYW1zLkFDVElWRSA9IHRydWVcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLk5hdnZ5LlBhZ05hdihcclxuICAgICAgdGhpcy5CWFJlc3RVc2VyLnNlYXJjaCxcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICB0aGlzLkJYUmVzdFVzZXJNYXAuZ2V0XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBhY2Nlc3MocGFyYW1zOiBzdHJpbmdbXSkge1xyXG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlV2l0aEFyZyhcclxuICAgICAgdGhpcy5CWFJlc3RVc2VyLmFjY2VzcyxcclxuICAgICAgcGFyYW1zLFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgZmllbGRzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlKHRoaXMuQlhSZXN0VXNlci5maWVsZHMpXHJcbiAgfVxyXG5cclxuICAvLyBnZXRBbGwocGFyYW1zOiBpQlhHZXRQYXJhbSA9IHt9KTogT2JzZXJ2YWJsZTxpQlhSZXN0VXNlciBbXSB8IHVuZGVmaW5lZD4ge1xyXG4gIC8vICAgaWYgKCFPYmplY3Qua2V5cyhwYXJhbXMpLmxlbmd0aCkge1xyXG4gIC8vICAgICBwYXJhbXMgPSBjbG9uZSh0aGlzLmRlZi5wYXJhbXMpXHJcbiAgLy8gICB9XHJcbiAgLy9cclxuICAvLyAgIGNvbnN0IHNhdmVBbGxVc2VyID0gY29tcGFyZShwYXJhbXMsIHRoaXMuZGVmLnBhcmFtcylcclxuICAvLyAgIHJldHVybiB0aGlzLnVzZXIkLnBpcGUoXHJcbiAgLy8gICAgIHRha2UoMSksXHJcbiAgLy8gICAgIG1lcmdlTWFwKHYgPT4ge1xyXG4gIC8vICAgICAgIGlmICh2LmxvYWQuYWxsKSB7XHJcbiAgLy8gICAgICAgICBpZiAoY29tcGFyZSh0aGlzLmRlZi5wYXJhbXMsIHBhcmFtcykpIHtcclxuICAvLyAgICAgICAgICAgcmV0dXJuIG9mKGNsb25lKHYuZGF0YSkpXHJcbiAgLy8gICAgICAgICB9XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vXHJcbiAgLy8gICAgICAgcmV0dXJuIHRoaXMuZ2V0RW5kQXJyYXkocGFyYW1zKS5waXBlKFxyXG4gIC8vICAgICAgICAgdGFrZSgxKSxcclxuICAvLyAgICAgICAgIG1hcCh2ID0+IHtcclxuICAvLyAgICAgICAgICAgaWYgKHYgJiYgdi5yZXN1bHQpIHtcclxuICAvLyAgICAgICAgICAgICBsZXQgY2wgPSBjbG9uZSh2LnJlc3VsdClcclxuICAvLyAgICAgICAgICAgICByZXR1cm4gdGhpcy5zYXZlQXJyVXNlcihjbClcclxuICAvLyAgICAgICAgICAgfVxyXG4gIC8vICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkXHJcbiAgLy8gICAgICAgICB9KSxcclxuICAvLyAgICAgICApXHJcbiAgLy8gICAgIH0pLFxyXG4gIC8vICAgICB0YXAodiA9PiB7XHJcbiAgLy8gICAgICAgaWYgKHYgJiYgdi5sZW5ndGggJiYgc2F2ZUFsbFVzZXIpIHtcclxuICAvLyAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobG9hZEFsbCh7bG9hZDogdHJ1ZX0pKVxyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgICBwYXJhbXMuc3RhcnQgPSB0aGlzLmRlZi5wYXJhbXMuc3RhcnRcclxuICAvLyAgICAgfSlcclxuICAvLyAgIClcclxuICAvLyB9XHJcblxyXG4gIC8vIHByaXZhdGUgc2F2ZUFyclVzZXIodXNlcnM6IGlCWFJlc3RVc2VySHR0cFtdKSB7XHJcbiAgLy8gICBsZXQgcmVzdWx0OiBpQlhSZXN0VXNlciBbXSA9IFtdXHJcbiAgLy8gICBmb3IgKGNvbnN0IHVzZXIgb2YgdXNlcnMpIHtcclxuICAvLyAgICAgcmVzdWx0LnB1c2godGhpcy51c2VyTWFwLkh0dHBUb0JYKHVzZXIpKVxyXG4gIC8vICAgfVxyXG4gIC8vICAgdGhpcy5zdG9yZS5kaXNwYXRjaChzYXZlQXJyKHthcnI6IHJlc3VsdH0pKVxyXG4gIC8vXHJcbiAgLy8gICByZXR1cm4gcmVzdWx0XHJcbiAgLy8gfVxyXG5cclxuICAvLyBnZXRFbmRBcnJheShwYXJhbXM6IFVzZXJGaWx0ZXIgPSB7fSk6IE9ic2VydmFibGU8aUh0dHBBbnN3ZXJCWDxpQlhSZXN0VXNlckh0dHBbXT4gfCB1bmRlZmluZWQ+IHtcclxuICAvLyAgIHJldHVybiB0aGlzLmdldChwYXJhbXMpLnBpcGUoXHJcbiAgLy8gICAgIG1lcmdlTWFwKGl0ZW1zID0+IHtcclxuICAvLyAgICAgICBpZiAoaXRlbXMgJiYgaXRlbXMucmVzdWx0ICYmIHR5cGVvZiBpdGVtcy5yZXN1bHQgPT09ICdvYmplY3QnKSB7XHJcbiAgLy8gICAgICAgICBpZiAoaXRlbXMubmV4dCkge1xyXG4gIC8vICAgICAgICAgICBwYXJhbXMuc3RhcnQgPSBpdGVtcy5uZXh0XHJcbiAgLy8gICAgICAgICAgIHJldHVybiB0aGlzLmdldEVuZEFycmF5KHBhcmFtcykucGlwZShtYXAodkVuZCA9PiB7XHJcbiAgLy8gICAgICAgICAgICAgaWYgKHZFbmQgJiYgaXRlbXMucmVzdWx0ICYmIHZFbmQucmVzdWx0KSB7XHJcbiAgLy8gICAgICAgICAgICAgICByZXR1cm4ge3Jlc3VsdDogWy4uLml0ZW1zLnJlc3VsdCwgLi4udkVuZC5yZXN1bHRdfVxyXG4gIC8vICAgICAgICAgICAgIH1cclxuICAvLyAgICAgICAgICAgICByZXR1cm4gKGl0ZW1zKSA/IGl0ZW1zIDogdW5kZWZpbmVkXHJcbiAgLy8gICAgICAgICAgIH0pKVxyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICAgICAgcmV0dXJuIG9mKGl0ZW1zKVxyXG4gIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgfSksXHJcbiAgLy8gICApXHJcbiAgLy8gfVxyXG5cclxuICBwcml2YXRlIHNldERlZlBhcmFtKHBhcmFtczogaUJYUmVzdFBhcmFtVXNlckdldCkge1xyXG4gICAgaWYoIXBhcmFtcy5GSUxURVIpIHtcclxuICAgICAgcGFyYW1zLkZJTFRFUiA9IHt9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFwYXJhbXMuaGFzT3duUHJvcGVydHkoJ0FDVElWRScpKSB7XHJcbiAgICAgIHBhcmFtcy5GSUxURVIuQUNUSVZFID0gdGhpcy5kZWYucGFyYW1zLkFDVElWRVxyXG4gICAgfVxyXG4gICAgaWYgKHBhcmFtcy5GSUxURVIuQUNUSVZFICYmIHBhcmFtcy5GSUxURVIuQUNUSVZFID09PSAyKSB7XHJcbiAgICAgIGRlbGV0ZSBwYXJhbXMuRklMVEVSLkFDVElWRVxyXG4gICAgfVxyXG4gICAgaWYgKCFwYXJhbXMuaGFzT3duUHJvcGVydHkoJ3N0YXJ0JykpIHtcclxuICAgICAgcGFyYW1zLnN0YXJ0ID0gdGhpcy5kZWYucGFyYW1zLnN0YXJ0XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHBhcmFtcy5GSUxURVIuVUZfREVQQVJUTUVOVCAmJiAhcGFyYW1zLkZJTFRFUi5VRl9ERVBBUlRNRU5ULmxlbmd0aCkge1xyXG4gICAgICBkZWxldGUgcGFyYW1zLkZJTFRFUi5VRl9ERVBBUlRNRU5UXHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuIl19
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QtbmF2dnkvdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUV6QyxPQUFPLEtBQUssTUFBTSxZQUFZLENBQUE7Ozs7O0FBUTlCLE1BQU0sT0FBTyxlQUFlO0lBUTFCLFlBQ1UsYUFBNEIsRUFDNUIsVUFBc0IsRUFDdkIsU0FBbUM7UUFGbEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUEwQjtRQVQ1QyxRQUFHLEdBQXdDO1lBQ3pDLE1BQU0sRUFBRSxFQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBQztTQUM5QixDQUFBO1FBU0MsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUM3RCxDQUFDO0lBRUQsS0FBSztRQUNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUN0QixDQUFBO0lBQ0gsQ0FBQztJQUVELEdBQUcsQ0FBQyxTQUE4QixFQUFFO1FBQ2xDLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBRTVCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUNuQixVQUFVLEVBQ1YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFH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QUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNuQyxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQTtTQUNyQztRQUVELElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUU7WUFDdEUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQTtTQUNuQztJQUNILENBQUM7K0dBeExVLGVBQWU7bUhBQWYsZUFBZSxjQUZkLE1BQU07OzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IEJYUmVzdFVzZXIgfSBmcm9tICcuLi9yZXF1ZXN0L3VzZXInXHJcbmltcG9ydCB7IE5hdnZ5IH0gZnJvbSAnLi4vc2VydmljZXMvbmF2dnknXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVVzZXJHZXQgfSBmcm9tICcuLi90eXBpZmljYXRpb24vcmVzdC91c2VyL2dldCdcclxuaW1wb3J0IGNsb25lIGZyb20gJ2p1c3QtY2xvbmUnXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVVzZXJTZWFyY2ggfSBmcm9tICcuLi90eXBpZmljYXRpb24vcmVzdC91c2VyL3NlYXJjaCdcclxuaW1wb3J0IHsgQlhSZXN0TmF2dnlVc2VyVXNlcmZpZWxkIH0gZnJvbSAnLi91c2VyL3VzZXJmaWVsZCdcclxuaW1wb3J0IHsgQlhSZXN0TWFwVXNlciB9IGZyb20gJy4uL21hcC91c2VyJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQlhSZXN0TmF2dnlVc2VyIHtcclxuXHJcbiAgZGVmOiB7IHBhcmFtczogeyBBQ1RJVkU6IDEsIHN0YXJ0OiAwIH0gfSA9IHtcclxuICAgIHBhcmFtczoge0FDVElWRTogMSwgc3RhcnQ6IDB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIE5hdnZ5OiBOYXZ2eTxCWFJlc3RVc2VyLCBCWFJlc3RNYXBVc2VyPlxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgQlhSZXN0VXNlck1hcDogQlhSZXN0TWFwVXNlcixcclxuICAgIHByaXZhdGUgQlhSZXN0VXNlcjogQlhSZXN0VXNlcixcclxuICAgIHB1YmxpYyB1c2VyRmllbGQ6IEJYUmVzdE5hdnZ5VXNlclVzZXJmaWVsZFxyXG4gICkge1xyXG4gICAgdGhpcy5OYXZ2eSA9IG5ldyBOYXZ2eSh0aGlzLkJYUmVzdFVzZXIsIHRoaXMuQlhSZXN0VXNlck1hcClcclxuICB9XHJcblxyXG4gIGFkbWluKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlKFxyXG4gICAgICB0aGlzLkJYUmVzdFVzZXIuYWRtaW5cclxuICAgIClcclxuICB9XHJcblxyXG4gIGdldChwYXJhbXM6IGlCWFJlc3RQYXJhbVVzZXJHZXQgPSB7fSl7XHJcbiAgICBsZXQgY29weVBhcmFtcyA9IGNsb25lKHBhcmFtcylcclxuICAgIHRoaXMuc2V0RGVmUGFyYW0oY29weVBhcmFtcylcclxuXHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5QYWdOYXYoXHJcbiAgICAgIHRoaXMuQlhSZXN0VXNlci5nZXQsXHJcbiAgICAgIGNvcHlQYXJhbXMsXHJcbiAgICAgIHRoaXMuQlhSZXN0VXNlck1hcC5nZXRcclxuICAgIClcclxuICB9XHJcblxyXG4gIGN1cnJlbnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGUoXHJcbiAgICAgIHRoaXMuQlhSZXN0VXNlci5jdXJyZW50LFxyXG4gICAgICB0aGlzLkJYUmVzdFVzZXJNYXAuY3VycmVudFxyXG4gICAgKVxyXG4gICAgLy8gVE9ETzog0L/QvtC00YPQvNCw0YLRjCDQviDRgdC+0YXRgNCw0L3QtdC90LjQuCDQtNCw0L3QvdGL0YUgKNC90LAg0LHRg9C00YPRidC10LUsINC/0YDQuNC80LXRgCDQutC+0LQg0L3QuNC20LUpXHJcbiAgICAvKlxyXG4gICAgY29uc3QgbmF2dnkgPSBuZXcgTmF2dnkodGhpcywgdGhpcy5CWFJlc3RVc2VyTWFwKVxyXG4gICAgcmV0dXJuIG5hdnZ5LnNpbXBsZVdpdGhBcmcoXHJcbiAgICAgIHRoaXMuc2VsZixcclxuICAgICAgdXBkYXRlLFxyXG4gICAgICB0aGlzLkJYUmVzdFVzZXJNYXAuY3VycmVudFxyXG4gICAgKVxyXG4gICAgICovXHJcblxyXG4gIH1cclxuXHJcbiAgLypcclxuICB1cGRhdGUodXNlcjogaUJYUmVzdFVzZXIsIGZpZWxkVXBkYXRlOiBzdHJpbmdbXSkge1xyXG5cclxuICAgICAgaWYgKGZpZWxkVXBkYXRlICYmIGZpZWxkVXBkYXRlLmxlbmd0aCkge1xyXG4gICAgICBsZXQgc2VuZERhdGE6IGFueSA9IHtcclxuICAgICAgICBJRDogdXNlci5JRCxcclxuICAgICAgfVxyXG4gICAgICBjb25zdCB1c2VyQlggPSB0aGlzLkJYUmVzdFVzZXJNYXAuQlh0b0h0dHAodXNlcilcclxuICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiBmaWVsZFVwZGF0ZSkge1xyXG4gICAgICAgIGlmICh1c2VyQlhbZmllbGRdKSB7XHJcbiAgICAgICAgICBzZW5kRGF0YVtmaWVsZF0gPSB1c2VyQlhbZmllbGRdXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdPbmUgc2VudCBmaWVsZCBpcyBlbXB0eScpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpQlhSZXN0VXNlckh0dHBbXT4oXHJcbiAgICAgICAgdGhpcy51cmwudXBkYXRlLFxyXG4gICAgICAgIHNlbmREYXRhXHJcbiAgICAgIClcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdBbGwgc2VudCBmaWVsZCBmb3IgZWRpdCBpcyBlbXB0eScpXHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGUoXHJcbiAgICAgIHRoaXMuQlhSZXN0VXNlci51cGRhdGUodXNlciwgZmllbGRVcGRhdGUpLFxyXG4gICAgICAn0J3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QvtCy0LjRgtGMINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDRgSBJRCcgKyB1c2VyLklEXHJcbiAgICApXHJcbiAgfVxyXG4gICovXHJcbiAgc2VhcmNoKHBhcmFtczogaUJYUmVzdFBhcmFtVXNlclNlYXJjaCkge1xyXG4gICAgaWYgKHR5cGVvZiBwYXJhbXMuQUNUSVZFICE9PSAnYm9vbGVhbicpIHtcclxuICAgICAgcGFyYW1zLkFDVElWRSA9IHRydWVcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLk5hdnZ5LlBhZ05hdihcclxuICAgICAgdGhpcy5CWFJlc3RVc2VyLnNlYXJjaCxcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICB0aGlzLkJYUmVzdFVzZXJNYXAuZ2V0XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBhY2Nlc3MocGFyYW1zOiBzdHJpbmdbXSkge1xyXG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlV2l0aEFyZyhcclxuICAgICAgdGhpcy5CWFJlc3RVc2VyLmFjY2VzcyxcclxuICAgICAgcGFyYW1zLFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgZmllbGRzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlKHRoaXMuQlhSZXN0VXNlci5maWVsZHMpXHJcbiAgfVxyXG5cclxuICAvLyBnZXRBbGwocGFyYW1zOiBpQlhHZXRQYXJhbSA9IHt9KTogT2JzZXJ2YWJsZTxpQlhSZXN0VXNlciBbXSB8IHVuZGVmaW5lZD4ge1xyXG4gIC8vICAgaWYgKCFPYmplY3Qua2V5cyhwYXJhbXMpLmxlbmd0aCkge1xyXG4gIC8vICAgICBwYXJhbXMgPSBjbG9uZSh0aGlzLmRlZi5wYXJhbXMpXHJcbiAgLy8gICB9XHJcbiAgLy9cclxuICAvLyAgIGNvbnN0IHNhdmVBbGxVc2VyID0gY29tcGFyZShwYXJhbXMsIHRoaXMuZGVmLnBhcmFtcylcclxuICAvLyAgIHJldHVybiB0aGlzLnVzZXIkLnBpcGUoXHJcbiAgLy8gICAgIHRha2UoMSksXHJcbiAgLy8gICAgIG1lcmdlTWFwKHYgPT4ge1xyXG4gIC8vICAgICAgIGlmICh2LmxvYWQuYWxsKSB7XHJcbiAgLy8gICAgICAgICBpZiAoY29tcGFyZSh0aGlzLmRlZi5wYXJhbXMsIHBhcmFtcykpIHtcclxuICAvLyAgICAgICAgICAgcmV0dXJuIG9mKGNsb25lKHYuZGF0YSkpXHJcbiAgLy8gICAgICAgICB9XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vXHJcbiAgLy8gICAgICAgcmV0dXJuIHRoaXMuZ2V0RW5kQXJyYXkocGFyYW1zKS5waXBlKFxyXG4gIC8vICAgICAgICAgdGFrZSgxKSxcclxuICAvLyAgICAgICAgIG1hcCh2ID0+IHtcclxuICAvLyAgICAgICAgICAgaWYgKHYgJiYgdi5yZXN1bHQpIHtcclxuICAvLyAgICAgICAgICAgICBsZXQgY2wgPSBjbG9uZSh2LnJlc3VsdClcclxuICAvLyAgICAgICAgICAgICByZXR1cm4gdGhpcy5zYXZlQXJyVXNlcihjbClcclxuICAvLyAgICAgICAgICAgfVxyXG4gIC8vICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkXHJcbiAgLy8gICAgICAgICB9KSxcclxuICAvLyAgICAgICApXHJcbiAgLy8gICAgIH0pLFxyXG4gIC8vICAgICB0YXAodiA9PiB7XHJcbiAgLy8gICAgICAgaWYgKHYgJiYgdi5sZW5ndGggJiYgc2F2ZUFsbFVzZXIpIHtcclxuICAvLyAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobG9hZEFsbCh7bG9hZDogdHJ1ZX0pKVxyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgICBwYXJhbXMuc3RhcnQgPSB0aGlzLmRlZi5wYXJhbXMuc3RhcnRcclxuICAvLyAgICAgfSlcclxuICAvLyAgIClcclxuICAvLyB9XHJcblxyXG4gIC8vIHByaXZhdGUgc2F2ZUFyclVzZXIodXNlcnM6IGlCWFJlc3RVc2VySHR0cFtdKSB7XHJcbiAgLy8gICBsZXQgcmVzdWx0OiBpQlhSZXN0VXNlciBbXSA9IFtdXHJcbiAgLy8gICBmb3IgKGNvbnN0IHVzZXIgb2YgdXNlcnMpIHtcclxuICAvLyAgICAgcmVzdWx0LnB1c2godGhpcy51c2VyTWFwLkh0dHBUb0JYKHVzZXIpKVxyXG4gIC8vICAgfVxyXG4gIC8vICAgdGhpcy5zdG9yZS5kaXNwYXRjaChzYXZlQXJyKHthcnI6IHJlc3VsdH0pKVxyXG4gIC8vXHJcbiAgLy8gICByZXR1cm4gcmVzdWx0XHJcbiAgLy8gfVxyXG5cclxuICAvLyBnZXRFbmRBcnJheShwYXJhbXM6IFVzZXJGaWx0ZXIgPSB7fSk6IE9ic2VydmFibGU8aUh0dHBBbnN3ZXJCWDxpQlhSZXN0VXNlckh0dHBbXT4gfCB1bmRlZmluZWQ+IHtcclxuICAvLyAgIHJldHVybiB0aGlzLmdldChwYXJhbXMpLnBpcGUoXHJcbiAgLy8gICAgIG1lcmdlTWFwKGl0ZW1zID0+IHtcclxuICAvLyAgICAgICBpZiAoaXRlbXMgJiYgaXRlbXMucmVzdWx0ICYmIHR5cGVvZiBpdGVtcy5yZXN1bHQgPT09ICdvYmplY3QnKSB7XHJcbiAgLy8gICAgICAgICBpZiAoaXRlbXMubmV4dCkge1xyXG4gIC8vICAgICAgICAgICBwYXJhbXMuc3RhcnQgPSBpdGVtcy5uZXh0XHJcbiAgLy8gICAgICAgICAgIHJldHVybiB0aGlzLmdldEVuZEFycmF5KHBhcmFtcykucGlwZShtYXAodkVuZCA9PiB7XHJcbiAgLy8gICAgICAgICAgICAgaWYgKHZFbmQgJiYgaXRlbXMucmVzdWx0ICYmIHZFbmQucmVzdWx0KSB7XHJcbiAgLy8gICAgICAgICAgICAgICByZXR1cm4ge3Jlc3VsdDogWy4uLml0ZW1zLnJlc3VsdCwgLi4udkVuZC5yZXN1bHRdfVxyXG4gIC8vICAgICAgICAgICAgIH1cclxuICAvLyAgICAgICAgICAgICByZXR1cm4gKGl0ZW1zKSA/IGl0ZW1zIDogdW5kZWZpbmVkXHJcbiAgLy8gICAgICAgICAgIH0pKVxyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICAgICAgcmV0dXJuIG9mKGl0ZW1zKVxyXG4gIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgfSksXHJcbiAgLy8gICApXHJcbiAgLy8gfVxyXG5cclxuICBwcml2YXRlIHNldERlZlBhcmFtKHBhcmFtczogaUJYUmVzdFBhcmFtVXNlckdldCkge1xyXG4gICAgaWYoIXBhcmFtcy5GSUxURVIpIHtcclxuICAgICAgcGFyYW1zLkZJTFRFUiA9IHt9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFwYXJhbXMuaGFzT3duUHJvcGVydHkoJ0FDVElWRScpKSB7XHJcbiAgICAgIHBhcmFtcy5GSUxURVIuQUNUSVZFID0gdGhpcy5kZWYucGFyYW1zLkFDVElWRVxyXG4gICAgfVxyXG4gICAgaWYgKHBhcmFtcy5GSUxURVIuQUNUSVZFICYmIHBhcmFtcy5GSUxURVIuQUNUSVZFID09PSAyKSB7XHJcbiAgICAgIGRlbGV0ZSBwYXJhbXMuRklMVEVSLkFDVElWRVxyXG4gICAgfVxyXG4gICAgaWYgKCFwYXJhbXMuaGFzT3duUHJvcGVydHkoJ3N0YXJ0JykpIHtcclxuICAgICAgcGFyYW1zLnN0YXJ0ID0gdGhpcy5kZWYucGFyYW1zLnN0YXJ0XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHBhcmFtcy5GSUxURVIuVUZfREVQQVJUTUVOVCAmJiAhcGFyYW1zLkZJTFRFUi5VRl9ERVBBUlRNRU5ULmxlbmd0aCkge1xyXG4gICAgICBkZWxldGUgcGFyYW1zLkZJTFRFUi5VRl9ERVBBUlRNRU5UXHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuIl19
|