bx-rest 0.9.3 → 0.9.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/map/im/recent.mjs +1 -1
- package/esm2022/public-api.mjs +2 -6
- package/esm2022/request/app.mjs +2 -3
- package/esm2022/request/bizproc/activity.mjs +1 -1
- package/esm2022/request/bizproc/event.mjs +1 -1
- package/esm2022/request/bizproc/robot.mjs +1 -1
- package/esm2022/request/bizproc/task.mjs +1 -1
- package/esm2022/request/bizproc/workflow/instance.mjs +1 -1
- package/esm2022/request/bizproc/workflow/template.mjs +1 -1
- package/esm2022/request/department.mjs +8 -3
- package/esm2022/request/disk/attachedObject.mjs +5 -3
- package/esm2022/request/disk/file.mjs +6 -3
- package/esm2022/request/disk/folder.mjs +16 -3
- package/esm2022/request/lists/element.mjs +6 -3
- package/esm2022/request/log/blogcomment.mjs +1 -1
- package/esm2022/request/log/blogpost.mjs +6 -3
- package/esm2022/request/server.mjs +5 -3
- package/esm2022/request/socialnetwork/api/contentview.mjs +5 -3
- package/esm2022/request/socialnetwork/api/livefeed/blogpost/important.mjs +5 -3
- package/esm2022/request/socialnetwork.mjs +1 -2
- package/esm2022/request/sonet_group.mjs +5 -3
- package/esm2022/request/task/elapseditem.mjs +9 -3
- package/esm2022/request/task/item/userfield.mjs +5 -3
- package/esm2022/request/task/planner.mjs +3 -3
- package/esm2022/request/tasks/task/result.mjs +7 -3
- package/esm2022/request/tasks/task.mjs +13 -3
- package/esm2022/request/user/userfield.mjs +5 -3
- package/esm2022/request/user.mjs +11 -3
- package/esm2022/request-navvy/disk/attachedObject.mjs +3 -3
- package/esm2022/request-navvy/socialnetwork/api/contentview.mjs +3 -3
- package/esm2022/request-navvy/task/commentitem.mjs +9 -3
- package/esm2022/request-navvy/task/operation/elapseditem.mjs +1 -2
- package/esm2022/services/http/HttpBX.mjs +21 -14
- package/esm2022/services/http/http.mjs +52 -53
- package/esm2022/services/http/sessionKey.mjs +152 -52
- package/fesm2022/bx-rest.mjs +525 -1044
- package/fesm2022/bx-rest.mjs.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -5
- package/request/department.d.ts +6 -1
- package/request/disk/attachedObject.d.ts +3 -1
- package/request/disk/file.d.ts +4 -1
- package/request/disk/folder.d.ts +14 -1
- package/request/lists/element.d.ts +4 -1
- package/request/log/blogpost.d.ts +4 -1
- package/request/server.d.ts +3 -1
- package/request/sonet_group.d.ts +3 -1
- package/request/task/elapseditem.d.ts +7 -1
- package/request/tasks/task/result.d.ts +5 -1
- package/request/tasks/task.d.ts +11 -1
- package/request/user/userfield.d.ts +3 -1
- package/request/user.d.ts +9 -1
- package/request-navvy/task/commentitem.d.ts +7 -1
- package/request-navvy/task/operation/elapseditem.d.ts +9 -10
- package/services/http/http.d.ts +1 -1
- package/services/http/sessionKey.d.ts +16 -2
- package/esm2022/typification/base/methods.mjs +0 -700
- package/typification/base/methods.d.ts +0 -6
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { HttpBXServices } from '../../../services/http/HttpBX';
|
|
2
|
-
import {
|
|
2
|
+
import { $list, $result, $task, $tasks } from '../../../consts/part-name-methods';
|
|
3
3
|
export class BXRestTasksTaskResult {
|
|
4
4
|
constructor() {
|
|
5
|
-
this.url =
|
|
5
|
+
this.url = {
|
|
6
|
+
list: [$tasks, $task, $result, $list],
|
|
7
|
+
addFromComment: [$tasks, $task, $result, 'addFromComment'],
|
|
8
|
+
deleteFromComment: [$tasks, $task, $result, 'deleteFromComment'],
|
|
9
|
+
};
|
|
6
10
|
this.http = new HttpBXServices();
|
|
7
11
|
}
|
|
8
12
|
deleteFromComment(commentID) {
|
|
@@ -15,4 +19,4 @@ export class BXRestTasksTaskResult {
|
|
|
15
19
|
return this.http.post(this.url.list, param);
|
|
16
20
|
}
|
|
17
21
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvcmVxdWVzdC90YXNrcy90YXNrL3Jlc3VsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFNOUQsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBRWpGLE1BQU0sT0FBTyxxQkFBcUI7SUFBbEM7UUFDWSxRQUFHLEdBQUc7WUFDZCxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUM7WUFDckMsY0FBYyxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLENBQUM7WUFDMUQsaUJBQWlCLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQztTQUNqRSxDQUFBO1FBQ2dCLFNBQUksR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFBO0lBYTlDLENBQUM7SUFYQyxpQkFBaUIsQ0FBQyxTQUFpQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQTtJQUNqRixDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQXFDO1FBQ2xELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQTZCLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ25GLENBQUM7SUFFRCxJQUFJLENBQUMsS0FBc0M7UUFDekMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBK0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDM0UsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEJYU2VydmljZXMgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9odHRwL0h0dHBCWCdcclxuaW1wb3J0IHtcclxuICBpQlhQYXJhbVJlc3RUYXNrc1Rhc2tSZXN1bHRBZGQsXHJcbiAgaUJYUmVzdFRhc2tzVGFza1Jlc3VsdEh0dHBcclxufSBmcm9tICcuLi8uLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrcy90YXNrL3Jlc3VsdC9yZXN1bHQnXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1UYXNrc1Rhc2tSZXN1bHRMaXN0IH0gZnJvbSAnLi4vLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFza3MvcmVzdWx0L2xpc3QnXG5pbXBvcnQgeyAkbGlzdCwgJHJlc3VsdCwgJHRhc2ssICR0YXNrcyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0cy9wYXJ0LW5hbWUtbWV0aG9kcydcblxuZXhwb3J0IGNsYXNzIEJYUmVzdFRhc2tzVGFza1Jlc3VsdCB7XG4gIHByb3RlY3RlZCB1cmwgPSB7XG4gICAgbGlzdDogWyR0YXNrcywgJHRhc2ssICRyZXN1bHQsICRsaXN0XSxcbiAgICBhZGRGcm9tQ29tbWVudDogWyR0YXNrcywgJHRhc2ssICRyZXN1bHQsICdhZGRGcm9tQ29tbWVudCddLFxuICAgIGRlbGV0ZUZyb21Db21tZW50OiBbJHRhc2tzLCAkdGFzaywgJHJlc3VsdCwgJ2RlbGV0ZUZyb21Db21tZW50J10sXG4gIH1cbiAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gbmV3IEh0dHBCWFNlcnZpY2VzKClcblxyXG4gIGRlbGV0ZUZyb21Db21tZW50KGNvbW1lbnRJRDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy51cmwuZGVsZXRlRnJvbUNvbW1lbnQsIHtjb21tZW50SWQ6IGNvbW1lbnRJRH0pXHJcbiAgfVxyXG5cclxuICBhZGRGcm9tQ29tbWVudChwYXJhbTogaUJYUGFyYW1SZXN0VGFza3NUYXNrUmVzdWx0QWRkKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUJYUmVzdFRhc2tzVGFza1Jlc3VsdEh0dHA+KHRoaXMudXJsLmFkZEZyb21Db21tZW50LCBwYXJhbSlcclxuICB9XHJcblxyXG4gIGxpc3QocGFyYW06IGlCWFJlc3RQYXJhbVRhc2tzVGFza1Jlc3VsdExpc3QpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpQlhSZXN0VGFza3NUYXNrUmVzdWx0SHR0cFtdPih0aGlzLnVybC5saXN0LCBwYXJhbSlcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import { HttpBXServices } from '../../services/http/HttpBX';
|
|
2
2
|
import { BXRestTasksTaskResult } from './task/result';
|
|
3
|
-
import {
|
|
3
|
+
import { $add, $approve, $complete, $defer, $get, $getaccess, $getFields, $list, $task, $tasks, $update } from '../../consts/part-name-methods';
|
|
4
4
|
export class BXRestTasksTask {
|
|
5
5
|
constructor() {
|
|
6
|
-
this.url =
|
|
6
|
+
this.url = {
|
|
7
|
+
add: [$tasks, $task, $add],
|
|
8
|
+
approve: [$tasks, $task, $approve],
|
|
9
|
+
complete: [$tasks, $task, $complete],
|
|
10
|
+
defer: [$tasks, $task, $defer],
|
|
11
|
+
get: [$tasks, $task, $get],
|
|
12
|
+
getFields: [$tasks, $task, $getFields],
|
|
13
|
+
getAccess: [$tasks, $task, $getaccess],
|
|
14
|
+
list: [$tasks, $task, $list],
|
|
15
|
+
update: [$tasks, $task, $update],
|
|
16
|
+
};
|
|
7
17
|
this.result = new BXRestTasksTaskResult();
|
|
8
18
|
this.http = new HttpBXServices();
|
|
9
19
|
}
|
|
@@ -97,4 +107,4 @@ export class BXRestTasksTask {
|
|
|
97
107
|
return this.http.post(this.url.getAccess, param);
|
|
98
108
|
}
|
|
99
109
|
}
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QvdGFza3MvdGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFlM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBS3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUd6RCxNQUFNLE9BQU8sZUFBZTtJQUE1QjtRQUVZLFFBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQTtRQUVsQixXQUFNLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFBO1FBQ25DLFNBQUksR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFBO0lBc0c5QyxDQUFDO0lBcEdDLEdBQUcsQ0FBdUMsS0FBd0M7UUFDaEYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBNkQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDeEcsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFtQztRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUEwRCxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN6RyxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQW9DO1FBQzNDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQTJELElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQzNHLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBaUM7UUFDckMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBd0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDckcsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFrQztRQUN2QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUF3RCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN0RyxDQUFDO0lBRUQsR0FBRyxDQUEwRSxLQUE2QztRQUN4SCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUEyQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN0RixDQUFDO0lBRUQsSUFBSSxDQUEwRSxLQUEwQztRQUN0SCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUE0QyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN4RixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUE2REU7SUFFRixTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBNEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUN0RSxDQUFDO0lBR0QsU0FBUyxDQUFDLEtBQWdDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQXVCLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ3hFLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBCWFNlcnZpY2VzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaHR0cC9IdHRwQlgnXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVRhc2tBZGQgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrcy90YXNrL2FkZCdcclxuaW1wb3J0IHtcclxuICBpQlhSZXN0VGFza3NUYXNrR2V0SHR0cCxcclxuICBpQlhSZXN0VGFza3NUYXNrR2V0SHR0cERlZmF1bHRcclxufSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrcy90YXNrL2dldCdcclxuaW1wb3J0IHtcclxuICBpQlhSZXN0UGFyYW1UYXNrc0xpc3QsIGlCWFJlc3RUYXNrc1Rhc2tMaXN0SHR0cCB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2tzL3Rhc2svbGlzdCdcclxuaW1wb3J0IHsgaUJYUmVzdFBhcmFtVGFza0dldEFjY2VzcywgaUJYUmVzdFRhc2tHZXRBY2Nlc3MgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrL2FjY2Vzcy9nZXRhY2Nlc3MnXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVRhc2tzVGFza0FwcHJvdmUsIGlCWFJlc3RUYXNrc1Rhc2tBcHByb3ZlSHR0cCB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2tzL3Rhc2svYXBwcm92ZSdcclxuaW1wb3J0IHtcclxuICBpQlhSZXN0UGFyYW1UYXNrc1Rhc2tDb21wbGV0ZSxcclxuICBpQlhSZXN0VGFza3NUYXNrQ29tcGxldGVIdHRwXHJcbn0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFza3MvdGFzay9jb21wbGV0ZSdcclxuaW1wb3J0IHsgaUJYUmVzdFBhcmFtVGFza3NUYXNrRGVmZXIsIGlCWFJlc3RUYXNrc1Rhc2tEZWZlckh0dHAgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrcy90YXNrL2RlZmVyJ1xyXG5pbXBvcnQgeyBCWFJlc3RUYXNrc1Rhc2tSZXN1bHQgfSBmcm9tICcuL3Rhc2svcmVzdWx0J1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1UYXNrc1Rhc2tHZXQgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrcy90YXNrL2dldCdcclxuaW1wb3J0IHsgaUJYUmVzdFRhc2tzVGFza0dldEZpZWxkcyB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2tzL3Rhc2svZ2V0RmllbGRzJ1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1UYXNrc1Rhc2tVcGRhdGUgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrcy90YXNrL3VwZGF0ZSdcclxuaW1wb3J0IHsgaUJYUmVzdFRhc2tGaWVsZHNOYW1lIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFza3MvYmFzZS9maWVsZHMtbmFtZSdcclxuaW1wb3J0IHsgbWV0aG9kcyB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9iYXNlL21ldGhvZHMnXHJcbmltcG9ydCB7IGlCWFJlc3RUYXNrc1Rhc2tCYXNlQW5zd2VyIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFza3MvdGFzay9iYXNlJ1xyXG5cclxuZXhwb3J0IGNsYXNzIEJYUmVzdFRhc2tzVGFzayB7XHJcblxyXG4gIHByb3RlY3RlZCB1cmwgPSBtZXRob2RzLnRhc2tzLnRhc2tcclxuXHJcbiAgcHVibGljIHJlYWRvbmx5IHJlc3VsdCA9IG5ldyBCWFJlc3RUYXNrc1Rhc2tSZXN1bHQoKVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IG5ldyBIdHRwQlhTZXJ2aWNlcygpXHJcblxyXG4gIGFkZDxDdXN0b21GaWVsZHMgZXh0ZW5kcyBvYmplY3QgPSBvYmplY3Q+KHBhcmFtOiBpQlhSZXN0UGFyYW1UYXNrQWRkPEN1c3RvbUZpZWxkcz4pIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpQlhSZXN0VGFza3NUYXNrQmFzZUFuc3dlcjxpQlhSZXN0VGFza3NUYXNrR2V0SHR0cERlZmF1bHQ+Pih0aGlzLnVybC5hZGQsIHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgYXBwcm92ZShwYXJhbTogaUJYUmVzdFBhcmFtVGFza3NUYXNrQXBwcm92ZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RUYXNrc1Rhc2tCYXNlQW5zd2VyPGlCWFJlc3RUYXNrc1Rhc2tBcHByb3ZlSHR0cD4+KHRoaXMudXJsLmFwcHJvdmUsIHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgY29tcGxldGUocGFyYW06IGlCWFJlc3RQYXJhbVRhc2tzVGFza0NvbXBsZXRlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUJYUmVzdFRhc2tzVGFza0Jhc2VBbnN3ZXI8aUJYUmVzdFRhc2tzVGFza0NvbXBsZXRlSHR0cD4+KHRoaXMudXJsLmNvbXBsZXRlLCBwYXJhbSlcclxuICB9XHJcblxyXG4gIGRlZmVyKHBhcmFtOiBpQlhSZXN0UGFyYW1UYXNrc1Rhc2tEZWZlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RUYXNrc1Rhc2tCYXNlQW5zd2VyPGlCWFJlc3RUYXNrc1Rhc2tEZWZlckh0dHA+Pih0aGlzLnVybC5kZWZlciwgcGFyYW0pXHJcbiAgfVxyXG5cclxuICB1cGRhdGUocGFyYW06IGlCWFJlc3RQYXJhbVRhc2tzVGFza1VwZGF0ZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RUYXNrc1Rhc2tCYXNlQW5zd2VyPGlCWFJlc3RUYXNrc1Rhc2tEZWZlckh0dHA+Pih0aGlzLnVybC51cGRhdGUsIHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgZ2V0PFMgZXh0ZW5kcyBpQlhSZXN0VGFza0ZpZWxkc05hbWVbXSwgQ3VzdG9tRmllbGRzIGV4dGVuZHMgb2JqZWN0ID0gb2JqZWN0PihwYXJhbTogaUJYUmVzdFBhcmFtVGFza3NUYXNrR2V0PEN1c3RvbUZpZWxkcz4pIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpQlhSZXN0VGFza3NUYXNrR2V0SHR0cDxTLCBDdXN0b21GaWVsZHM+Pih0aGlzLnVybC5nZXQsIHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgbGlzdDxTIGV4dGVuZHMgaUJYUmVzdFRhc2tGaWVsZHNOYW1lW10sIEN1c3RvbUZpZWxkcyBleHRlbmRzIG9iamVjdCA9IG9iamVjdD4ocGFyYW06IGlCWFJlc3RQYXJhbVRhc2tzTGlzdDxDdXN0b21GaWVsZHM+KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUJYUmVzdFRhc2tzVGFza0xpc3RIdHRwPFMsIEN1c3RvbUZpZWxkcz4+KHRoaXMudXJsLmxpc3QsIHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgLypcclxuICBsaXN0QXJyYXkocmVxdWVzdEFycmF5OiBSZXF1ZXN0QXBpVGFza0xpc3RCWCA9IHt9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5saXN0KHJlcXVlc3RBcnJheSkucGlwZShcclxuICAgICAgbWFwKHYgPT4gdGhpcy5odHRwLm1hcFJlc3VsdCh2KSksXHJcbiAgICAgIG1hcCh2ID0+ICh2ICYmIHYudGFza3MpID8gdi50YXNrcyA6IFtdKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgbGlzdEFsbChyZXF1ZXN0QXJyYXk6IFJlcXVlc3RBcGlUYXNrTGlzdEJYID0ge30sIGNhY2hlID0gZmFsc2UpOiBPYnNlcnZhYmxlPFRhc2tCWFtdPiB7XHJcbiAgICBpZiAoIXJlcXVlc3RBcnJheS5zZWxlY3QpIHtcclxuICAgICAgcmVxdWVzdEFycmF5LnNlbGVjdCA9IHRoaXMuZGVmLnNlbGVjdFxyXG4gICAgICBpZiAoY2FjaGUpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZVRhc2skLnBpcGUoXHJcbiAgICAgICAgICB0YWtlKDEpLFxyXG4gICAgICAgICAgbWVyZ2VNYXAodGFza3MgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGFza3MgJiYgdGFza3MuZGF0YS5odHRwLmxpc3QgJiYgcmVxdWVzdEFycmF5LmZpbHRlciAmJiByZXF1ZXN0QXJyYXkuZmlsdGVyLklEKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgaWRzID0gKHR5cGVvZiByZXF1ZXN0QXJyYXkuZmlsdGVyLklEID09PSAnbnVtYmVyJykgPyBbcmVxdWVzdEFycmF5LmZpbHRlci5JRF0gOiByZXF1ZXN0QXJyYXkuZmlsdGVyLklEXHJcbiAgICAgICAgICAgICAgbGV0IGZpbHRlciA9IHRhc2tzLmRhdGEuaHR0cC5saXN0LmZpbHRlcihpID0+IChpLmlkKSA/IGlkcy5pbmNsdWRlcyhpLmlkKSA6IGZhbHNlKVxyXG4gICAgICAgICAgICAgIGlmIChmaWx0ZXIubGVuZ3RoID09PSBpZHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoZmlsdGVyKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRFbmRMaXN0QXJyYXkocmVxdWVzdEFycmF5KVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0RW5kTGlzdEFycmF5KHJlcXVlc3RBcnJheSlcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmdldEVuZExpc3RBcnJheShyZXF1ZXN0QXJyYXkpXHJcbiAgfVxyXG5cclxuICBnZXRFbmRMaXN0QXJyYXkocmVxdWVzdEFycmF5OiBSZXF1ZXN0QXBpVGFza0xpc3RCWCk6IE9ic2VydmFibGU8VGFza0JYW10+IHtcclxuICAgIHJldHVybiB0aGlzLmxpc3QocmVxdWVzdEFycmF5KS5waXBlKFxyXG4gICAgICBtZXJnZU1hcCgoaXRlbXM6IEFuc3dlckFwaVRhc2tCWCB8IHVuZGVmaW5lZCk6IE9ic2VydmFibGVJbnB1dDxhbnk+IHwgT2JzZXJ2YWJsZTxBbnN3ZXJBcGlUYXNrQlhbXT4gPT4ge1xyXG4gICAgICAgIGlmIChpdGVtcyAmJiBpdGVtcy5yZXN1bHQgJiYgdHlwZW9mIGl0ZW1zLnJlc3VsdC50YXNrcyA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgIGNvbnN0IGl0ZW1zJCA9IG9mKGl0ZW1zLnJlc3VsdC50YXNrcylcclxuICAgICAgICAgIGlmIChpdGVtcy5uZXh0KSB7XHJcbiAgICAgICAgICAgIHRoaXMubm93TG9hZCQubmV4dCh7XHJcbiAgICAgICAgICAgICAgdG90YWw6IChpdGVtcy50b3RhbCkgPyBpdGVtcy50b3RhbCA6IDAsXHJcbiAgICAgICAgICAgICAgbmV4dDogaXRlbXMubmV4dFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICByZXF1ZXN0QXJyYXkuc3RhcnQgPSBpdGVtcy5uZXh0XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEVuZExpc3RBcnJheShyZXF1ZXN0QXJyYXkpLnBpcGUoXHJcbiAgICAgICAgICAgICAgbWFwKHZFbmQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHZFbmQgJiYgaXRlbXMucmVzdWx0LnRhc2tzKSB7XHJcbiAgICAgICAgICAgICAgICAgIHJldHVybiBbLi4uaXRlbXMucmVzdWx0LnRhc2tzLCAuLi52RW5kXVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIChpdGVtcy5yZXN1bHQudGFza3MpID8gaXRlbXMucmVzdWx0LnRhc2tzIDogW11cclxuICAgICAgICAgICAgICB9KSlcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMubm93TG9hZCQubmV4dCh7XHJcbiAgICAgICAgICAgIHRvdGFsOiAwLFxyXG4gICAgICAgICAgICBuZXh0OiAwXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgcmV0dXJuIGl0ZW1zJFxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gb2YoW10pXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gIH1cclxuICAqL1xyXG5cclxuICBnZXRGaWVsZHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUJYUmVzdFRhc2tzVGFza0dldEZpZWxkcz4odGhpcy51cmwuZ2V0RmllbGRzKVxyXG4gIH1cclxuXHJcblxyXG4gIGdldEFjY2VzcyhwYXJhbTogaUJYUmVzdFBhcmFtVGFza0dldEFjY2Vzcykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RUYXNrR2V0QWNjZXNzPih0aGlzLnVybC5nZXRBY2Nlc3MsIHBhcmFtKVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbiJdfQ==
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QvdGFza3MvdGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFlM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBTXJELE9BQU8sRUFDTCxJQUFJLEVBQ0osUUFBUSxFQUNSLFNBQVMsRUFDVCxNQUFNLEVBQ04sSUFBSSxFQUNKLFVBQVUsRUFDVixVQUFVLEVBQ1YsS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sT0FBTyxFQUNSLE1BQU0sZ0NBQWdDLENBQUE7QUFFdkMsTUFBTSxPQUFPLGVBQWU7SUFBNUI7UUFFWSxRQUFHLEdBQUc7WUFDZCxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQztZQUMxQixPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQztZQUNsQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQztZQUNwQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQztZQUM5QixHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQztZQUMxQixTQUFTLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQztZQUN0QyxTQUFTLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQztZQUN0QyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztZQUM1QixNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQztTQUNqQyxDQUFBO1FBRWUsV0FBTSxHQUFHLElBQUkscUJBQXFCLEVBQUUsQ0FBQTtRQUNuQyxTQUFJLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQTtJQXNHOUMsQ0FBQztJQXBHQyxHQUFHLENBQXVDLEtBQXdDO1FBQ2hGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQTZELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ3hHLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBbUM7UUFDekMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBMEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDekcsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFvQztRQUMzQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUEyRCxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUMzRyxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQWlDO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQXdELElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQ3JHLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBa0M7UUFDdkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBd0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDdEcsQ0FBQztJQUVELEdBQUcsQ0FBMEUsS0FBNkM7UUFDeEgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBMkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDdEYsQ0FBQztJQUVELElBQUksQ0FBMEUsS0FBMEM7UUFDdEgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBNEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDeEYsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BNkRFO0lBRUYsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQTRCLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDdEUsQ0FBQztJQUdELFNBQVMsQ0FBQyxLQUFnQztRQUN4QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUF1QixJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN4RSxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQlhTZXJ2aWNlcyB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2h0dHAvSHR0cEJYJ1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1UYXNrQWRkIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFza3MvdGFzay9hZGQnXHJcbmltcG9ydCB7XHJcbiAgaUJYUmVzdFRhc2tzVGFza0dldEh0dHAsXHJcbiAgaUJYUmVzdFRhc2tzVGFza0dldEh0dHBEZWZhdWx0XHJcbn0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFza3MvdGFzay9nZXQnXHJcbmltcG9ydCB7XHJcbiAgaUJYUmVzdFBhcmFtVGFza3NMaXN0LCBpQlhSZXN0VGFza3NUYXNrTGlzdEh0dHAgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrcy90YXNrL2xpc3QnXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVRhc2tHZXRBY2Nlc3MsIGlCWFJlc3RUYXNrR2V0QWNjZXNzIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9hY2Nlc3MvZ2V0YWNjZXNzJ1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1UYXNrc1Rhc2tBcHByb3ZlLCBpQlhSZXN0VGFza3NUYXNrQXBwcm92ZUh0dHAgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrcy90YXNrL2FwcHJvdmUnXHJcbmltcG9ydCB7XHJcbiAgaUJYUmVzdFBhcmFtVGFza3NUYXNrQ29tcGxldGUsXHJcbiAgaUJYUmVzdFRhc2tzVGFza0NvbXBsZXRlSHR0cFxyXG59IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2tzL3Rhc2svY29tcGxldGUnXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVRhc2tzVGFza0RlZmVyLCBpQlhSZXN0VGFza3NUYXNrRGVmZXJIdHRwIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFza3MvdGFzay9kZWZlcidcclxuaW1wb3J0IHsgQlhSZXN0VGFza3NUYXNrUmVzdWx0IH0gZnJvbSAnLi90YXNrL3Jlc3VsdCdcclxuaW1wb3J0IHsgaUJYUmVzdFBhcmFtVGFza3NUYXNrR2V0IH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFza3MvdGFzay9nZXQnXHJcbmltcG9ydCB7IGlCWFJlc3RUYXNrc1Rhc2tHZXRGaWVsZHMgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrcy90YXNrL2dldEZpZWxkcydcclxuaW1wb3J0IHsgaUJYUmVzdFBhcmFtVGFza3NUYXNrVXBkYXRlIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFza3MvdGFzay91cGRhdGUnXG5pbXBvcnQgeyBpQlhSZXN0VGFza0ZpZWxkc05hbWUgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrcy9iYXNlL2ZpZWxkcy1uYW1lJ1xuaW1wb3J0IHsgaUJYUmVzdFRhc2tzVGFza0Jhc2VBbnN3ZXIgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrcy90YXNrL2Jhc2UnXG5pbXBvcnQge1xuICAkYWRkLFxuICAkYXBwcm92ZSxcbiAgJGNvbXBsZXRlLFxuICAkZGVmZXIsXG4gICRnZXQsXG4gICRnZXRhY2Nlc3MsXG4gICRnZXRGaWVsZHMsXG4gICRsaXN0LFxuICAkdGFzayxcbiAgJHRhc2tzLFxuICAkdXBkYXRlXG59IGZyb20gJy4uLy4uL2NvbnN0cy9wYXJ0LW5hbWUtbWV0aG9kcydcblxyXG5leHBvcnQgY2xhc3MgQlhSZXN0VGFza3NUYXNrIHtcclxuXHJcbiAgcHJvdGVjdGVkIHVybCA9IHtcbiAgICBhZGQ6IFskdGFza3MsICR0YXNrLCAkYWRkXSxcbiAgICBhcHByb3ZlOiBbJHRhc2tzLCAkdGFzaywgJGFwcHJvdmVdLFxuICAgIGNvbXBsZXRlOiBbJHRhc2tzLCAkdGFzaywgJGNvbXBsZXRlXSxcbiAgICBkZWZlcjogWyR0YXNrcywgJHRhc2ssICRkZWZlcl0sXG4gICAgZ2V0OiBbJHRhc2tzLCAkdGFzaywgJGdldF0sXG4gICAgZ2V0RmllbGRzOiBbJHRhc2tzLCAkdGFzaywgJGdldEZpZWxkc10sXG4gICAgZ2V0QWNjZXNzOiBbJHRhc2tzLCAkdGFzaywgJGdldGFjY2Vzc10sXG4gICAgbGlzdDogWyR0YXNrcywgJHRhc2ssICRsaXN0XSxcbiAgICB1cGRhdGU6IFskdGFza3MsICR0YXNrLCAkdXBkYXRlXSxcbiAgfVxuXHJcbiAgcHVibGljIHJlYWRvbmx5IHJlc3VsdCA9IG5ldyBCWFJlc3RUYXNrc1Rhc2tSZXN1bHQoKVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IG5ldyBIdHRwQlhTZXJ2aWNlcygpXHJcblxyXG4gIGFkZDxDdXN0b21GaWVsZHMgZXh0ZW5kcyBvYmplY3QgPSBvYmplY3Q+KHBhcmFtOiBpQlhSZXN0UGFyYW1UYXNrQWRkPEN1c3RvbUZpZWxkcz4pIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpQlhSZXN0VGFza3NUYXNrQmFzZUFuc3dlcjxpQlhSZXN0VGFza3NUYXNrR2V0SHR0cERlZmF1bHQ+Pih0aGlzLnVybC5hZGQsIHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgYXBwcm92ZShwYXJhbTogaUJYUmVzdFBhcmFtVGFza3NUYXNrQXBwcm92ZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RUYXNrc1Rhc2tCYXNlQW5zd2VyPGlCWFJlc3RUYXNrc1Rhc2tBcHByb3ZlSHR0cD4+KHRoaXMudXJsLmFwcHJvdmUsIHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgY29tcGxldGUocGFyYW06IGlCWFJlc3RQYXJhbVRhc2tzVGFza0NvbXBsZXRlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUJYUmVzdFRhc2tzVGFza0Jhc2VBbnN3ZXI8aUJYUmVzdFRhc2tzVGFza0NvbXBsZXRlSHR0cD4+KHRoaXMudXJsLmNvbXBsZXRlLCBwYXJhbSlcclxuICB9XHJcblxyXG4gIGRlZmVyKHBhcmFtOiBpQlhSZXN0UGFyYW1UYXNrc1Rhc2tEZWZlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RUYXNrc1Rhc2tCYXNlQW5zd2VyPGlCWFJlc3RUYXNrc1Rhc2tEZWZlckh0dHA+Pih0aGlzLnVybC5kZWZlciwgcGFyYW0pXHJcbiAgfVxyXG5cclxuICB1cGRhdGUocGFyYW06IGlCWFJlc3RQYXJhbVRhc2tzVGFza1VwZGF0ZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RUYXNrc1Rhc2tCYXNlQW5zd2VyPGlCWFJlc3RUYXNrc1Rhc2tEZWZlckh0dHA+Pih0aGlzLnVybC51cGRhdGUsIHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgZ2V0PFMgZXh0ZW5kcyBpQlhSZXN0VGFza0ZpZWxkc05hbWVbXSwgQ3VzdG9tRmllbGRzIGV4dGVuZHMgb2JqZWN0ID0gb2JqZWN0PihwYXJhbTogaUJYUmVzdFBhcmFtVGFza3NUYXNrR2V0PEN1c3RvbUZpZWxkcz4pIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpQlhSZXN0VGFza3NUYXNrR2V0SHR0cDxTLCBDdXN0b21GaWVsZHM+Pih0aGlzLnVybC5nZXQsIHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgbGlzdDxTIGV4dGVuZHMgaUJYUmVzdFRhc2tGaWVsZHNOYW1lW10sIEN1c3RvbUZpZWxkcyBleHRlbmRzIG9iamVjdCA9IG9iamVjdD4ocGFyYW06IGlCWFJlc3RQYXJhbVRhc2tzTGlzdDxDdXN0b21GaWVsZHM+KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUJYUmVzdFRhc2tzVGFza0xpc3RIdHRwPFMsIEN1c3RvbUZpZWxkcz4+KHRoaXMudXJsLmxpc3QsIHBhcmFtKVxyXG4gIH1cclxuXHJcbiAgLypcclxuICBsaXN0QXJyYXkocmVxdWVzdEFycmF5OiBSZXF1ZXN0QXBpVGFza0xpc3RCWCA9IHt9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5saXN0KHJlcXVlc3RBcnJheSkucGlwZShcclxuICAgICAgbWFwKHYgPT4gdGhpcy5odHRwLm1hcFJlc3VsdCh2KSksXHJcbiAgICAgIG1hcCh2ID0+ICh2ICYmIHYudGFza3MpID8gdi50YXNrcyA6IFtdKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgbGlzdEFsbChyZXF1ZXN0QXJyYXk6IFJlcXVlc3RBcGlUYXNrTGlzdEJYID0ge30sIGNhY2hlID0gZmFsc2UpOiBPYnNlcnZhYmxlPFRhc2tCWFtdPiB7XHJcbiAgICBpZiAoIXJlcXVlc3RBcnJheS5zZWxlY3QpIHtcclxuICAgICAgcmVxdWVzdEFycmF5LnNlbGVjdCA9IHRoaXMuZGVmLnNlbGVjdFxyXG4gICAgICBpZiAoY2FjaGUpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZVRhc2skLnBpcGUoXHJcbiAgICAgICAgICB0YWtlKDEpLFxyXG4gICAgICAgICAgbWVyZ2VNYXAodGFza3MgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGFza3MgJiYgdGFza3MuZGF0YS5odHRwLmxpc3QgJiYgcmVxdWVzdEFycmF5LmZpbHRlciAmJiByZXF1ZXN0QXJyYXkuZmlsdGVyLklEKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgaWRzID0gKHR5cGVvZiByZXF1ZXN0QXJyYXkuZmlsdGVyLklEID09PSAnbnVtYmVyJykgPyBbcmVxdWVzdEFycmF5LmZpbHRlci5JRF0gOiByZXF1ZXN0QXJyYXkuZmlsdGVyLklEXHJcbiAgICAgICAgICAgICAgbGV0IGZpbHRlciA9IHRhc2tzLmRhdGEuaHR0cC5saXN0LmZpbHRlcihpID0+IChpLmlkKSA/IGlkcy5pbmNsdWRlcyhpLmlkKSA6IGZhbHNlKVxyXG4gICAgICAgICAgICAgIGlmIChmaWx0ZXIubGVuZ3RoID09PSBpZHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoZmlsdGVyKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRFbmRMaXN0QXJyYXkocmVxdWVzdEFycmF5KVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0RW5kTGlzdEFycmF5KHJlcXVlc3RBcnJheSlcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmdldEVuZExpc3RBcnJheShyZXF1ZXN0QXJyYXkpXHJcbiAgfVxyXG5cclxuICBnZXRFbmRMaXN0QXJyYXkocmVxdWVzdEFycmF5OiBSZXF1ZXN0QXBpVGFza0xpc3RCWCk6IE9ic2VydmFibGU8VGFza0JYW10+IHtcclxuICAgIHJldHVybiB0aGlzLmxpc3QocmVxdWVzdEFycmF5KS5waXBlKFxyXG4gICAgICBtZXJnZU1hcCgoaXRlbXM6IEFuc3dlckFwaVRhc2tCWCB8IHVuZGVmaW5lZCk6IE9ic2VydmFibGVJbnB1dDxhbnk+IHwgT2JzZXJ2YWJsZTxBbnN3ZXJBcGlUYXNrQlhbXT4gPT4ge1xyXG4gICAgICAgIGlmIChpdGVtcyAmJiBpdGVtcy5yZXN1bHQgJiYgdHlwZW9mIGl0ZW1zLnJlc3VsdC50YXNrcyA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgIGNvbnN0IGl0ZW1zJCA9IG9mKGl0ZW1zLnJlc3VsdC50YXNrcylcclxuICAgICAgICAgIGlmIChpdGVtcy5uZXh0KSB7XHJcbiAgICAgICAgICAgIHRoaXMubm93TG9hZCQubmV4dCh7XHJcbiAgICAgICAgICAgICAgdG90YWw6IChpdGVtcy50b3RhbCkgPyBpdGVtcy50b3RhbCA6IDAsXHJcbiAgICAgICAgICAgICAgbmV4dDogaXRlbXMubmV4dFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICByZXF1ZXN0QXJyYXkuc3RhcnQgPSBpdGVtcy5uZXh0XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEVuZExpc3RBcnJheShyZXF1ZXN0QXJyYXkpLnBpcGUoXHJcbiAgICAgICAgICAgICAgbWFwKHZFbmQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHZFbmQgJiYgaXRlbXMucmVzdWx0LnRhc2tzKSB7XHJcbiAgICAgICAgICAgICAgICAgIHJldHVybiBbLi4uaXRlbXMucmVzdWx0LnRhc2tzLCAuLi52RW5kXVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIChpdGVtcy5yZXN1bHQudGFza3MpID8gaXRlbXMucmVzdWx0LnRhc2tzIDogW11cclxuICAgICAgICAgICAgICB9KSlcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMubm93TG9hZCQubmV4dCh7XHJcbiAgICAgICAgICAgIHRvdGFsOiAwLFxyXG4gICAgICAgICAgICBuZXh0OiAwXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgcmV0dXJuIGl0ZW1zJFxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gb2YoW10pXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gIH1cclxuICAqL1xyXG5cclxuICBnZXRGaWVsZHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUJYUmVzdFRhc2tzVGFza0dldEZpZWxkcz4odGhpcy51cmwuZ2V0RmllbGRzKVxyXG4gIH1cclxuXHJcblxyXG4gIGdldEFjY2VzcyhwYXJhbTogaUJYUmVzdFBhcmFtVGFza0dldEFjY2Vzcykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RUYXNrR2V0QWNjZXNzPih0aGlzLnVybC5nZXRBY2Nlc3MsIHBhcmFtKVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbiJdfQ==
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { HttpBXServices } from '../../services/http/HttpBX';
|
|
2
|
-
import {
|
|
2
|
+
import { $list, $user, $userfield } from '../../consts/part-name-methods';
|
|
3
3
|
export class BXRestUserUserfield {
|
|
4
4
|
constructor() {
|
|
5
|
-
this.url =
|
|
5
|
+
this.url = {
|
|
6
|
+
list: [$user, $userfield, $list],
|
|
7
|
+
};
|
|
6
8
|
this.http = new HttpBXServices();
|
|
7
9
|
}
|
|
8
10
|
list() {
|
|
9
11
|
return this.http.post(this.url.list);
|
|
10
12
|
}
|
|
11
13
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcmZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvcmVxdWVzdC91c2VyL3VzZXJmaWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFFM0QsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFFekUsTUFBTSxPQUFPLG1CQUFtQjtJQUFoQztRQUNZLFFBQUcsR0FBRztZQUNkLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDO1NBQ2pDLENBQUE7UUFDZ0IsU0FBSSxHQUFHLElBQUksY0FBYyxFQUFFLENBQUE7SUFLOUMsQ0FBQztJQUhDLElBQUk7UUFDRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUF5QixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzlELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBCWFNlcnZpY2VzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaHR0cC9IdHRwQlgnXG5pbXBvcnQgeyBpQlhSZXN0VXNlclVzZXJGaWVsZCB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3VzZXIvdXNlcmZpZWxkL2xpc3QnXG5pbXBvcnQgeyAkbGlzdCwgJHVzZXIsICR1c2VyZmllbGQgfSBmcm9tICcuLi8uLi9jb25zdHMvcGFydC1uYW1lLW1ldGhvZHMnXG5cbmV4cG9ydCBjbGFzcyBCWFJlc3RVc2VyVXNlcmZpZWxkIHtcbiAgcHJvdGVjdGVkIHVybCA9IHtcbiAgICBsaXN0OiBbJHVzZXIsICR1c2VyZmllbGQsICRsaXN0XSxcbiAgfVxuICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBuZXcgSHR0cEJYU2VydmljZXMoKVxuXHJcbiAgbGlzdCgpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpQlhSZXN0VXNlclVzZXJGaWVsZFtdPih0aGlzLnVybC5saXN0KVxyXG4gIH1cclxufVxyXG4iXX0=
|
package/esm2022/request/user.mjs
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
import { HttpBXServices } from '../services/http/HttpBX';
|
|
2
2
|
import { BXRestUserUserfield } from './user/userfield';
|
|
3
|
-
import {
|
|
3
|
+
import { $get, $search, $update, $user } from '../consts/part-name-methods';
|
|
4
4
|
export class BXRestUser {
|
|
5
5
|
constructor() {
|
|
6
6
|
this.http = new HttpBXServices();
|
|
7
7
|
this.userfield = new BXRestUserUserfield();
|
|
8
|
-
this.url =
|
|
8
|
+
this.url = {
|
|
9
|
+
admin: [$user, 'admin'],
|
|
10
|
+
get: [$user, $get],
|
|
11
|
+
current: [$user, 'current'],
|
|
12
|
+
update: [$user, $update],
|
|
13
|
+
search: [$user, $search],
|
|
14
|
+
access: [$user, 'access'],
|
|
15
|
+
fields: [$user, 'fields'],
|
|
16
|
+
};
|
|
9
17
|
}
|
|
10
18
|
admin() {
|
|
11
19
|
return this.http.post(this.url.admin);
|
|
@@ -29,4 +37,4 @@ export class BXRestUser {
|
|
|
29
37
|
return this.http.post(this.url.fields);
|
|
30
38
|
}
|
|
31
39
|
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QvdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFHeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDdEQsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBRTNFLE1BQU0sT0FBTyxVQUFVO0lBQXZCO1FBQ21CLFNBQUksR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFBO1FBQzVCLGNBQVMsR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUE7UUFFM0MsUUFBRyxHQUFHO1lBQ2QsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztZQUN2QixHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDO1lBQ2xCLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUM7WUFDM0IsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztZQUN4QixNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDO1lBQ3hCLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUM7WUFDekIsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQztTQUMxQixDQUFBO0lBb0NILENBQUM7SUFsQ0MsS0FBSztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQVUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoRCxDQUFDO0lBRUQsR0FBRyxDQUFDLFNBQThCLEVBQUU7UUFDbEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FFbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQ1osTUFBTSxDQUNQLENBQUE7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWtCLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQzlELENBQUM7SUFFRCxNQUFNLENBQUMsSUFBeUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQ2YsSUFBSSxDQUNMLENBQUE7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQThCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQW9CLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBVSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBdUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUM5RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpQlhSZXN0UGFyYW1Vc2VyR2V0IH0gZnJvbSAnLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdXNlcidcclxuaW1wb3J0IHsgSHR0cEJYU2VydmljZXMgfSBmcm9tICcuLi9zZXJ2aWNlcy9odHRwL0h0dHBCWCdcclxuaW1wb3J0IHsgaUJYUmVzdFVzZXJIdHRwLCBpQlhSZXN0VXNlckh0dHBGaWVsZCB9IGZyb20gJy4uL3R5cGlmaWNhdGlvbi9yZXN0L3VzZXInXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1Vc2VyU2VhcmNoIH0gZnJvbSAnLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdXNlcidcbmltcG9ydCB7IEJYUmVzdFVzZXJVc2VyZmllbGQgfSBmcm9tICcuL3VzZXIvdXNlcmZpZWxkJ1xuaW1wb3J0IHsgJGdldCwgJHNlYXJjaCwgJHVwZGF0ZSwgJHVzZXIgfSBmcm9tICcuLi9jb25zdHMvcGFydC1uYW1lLW1ldGhvZHMnXG5cclxuZXhwb3J0IGNsYXNzIEJYUmVzdFVzZXIge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IG5ldyBIdHRwQlhTZXJ2aWNlcygpXHJcbiAgcHVibGljIHJlYWRvbmx5IHVzZXJmaWVsZCA9IG5ldyBCWFJlc3RVc2VyVXNlcmZpZWxkKClcclxuXHJcbiAgcHJvdGVjdGVkIHVybCA9IHtcbiAgICBhZG1pbjogWyR1c2VyLCAnYWRtaW4nXSxcbiAgICBnZXQ6IFskdXNlciwgJGdldF0sXG4gICAgY3VycmVudDogWyR1c2VyLCAnY3VycmVudCddLFxuICAgIHVwZGF0ZTogWyR1c2VyLCAkdXBkYXRlXSxcbiAgICBzZWFyY2g6IFskdXNlciwgJHNlYXJjaF0sXG4gICAgYWNjZXNzOiBbJHVzZXIsICdhY2Nlc3MnXSxcbiAgICBmaWVsZHM6IFskdXNlciwgJ2ZpZWxkcyddLFxuICB9XG5cclxuICBhZG1pbigpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxib29sZWFuPih0aGlzLnVybC5hZG1pbilcclxuICB9XHJcblxyXG4gIGdldChwYXJhbXM6IGlCWFJlc3RQYXJhbVVzZXJHZXQgPSB7fSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RVc2VySHR0cFtdPlxyXG4gICAgKFxyXG4gICAgICB0aGlzLnVybC5nZXQsXHJcbiAgICAgIHBhcmFtc1xyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgY3VycmVudCgpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpQlhSZXN0VXNlckh0dHA+KHRoaXMudXJsLmN1cnJlbnQsIHt9KVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlKHVzZXI6IGlCWFJlc3RQYXJhbVVzZXJHZXQpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpQlhSZXN0VXNlckh0dHBbXT4oXHJcbiAgICAgIHRoaXMudXJsLnVwZGF0ZSxcclxuICAgICAgdXNlclxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgc2VhcmNoKHBhcmFtczogaUJYUmVzdFBhcmFtVXNlclNlYXJjaCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RVc2VySHR0cFtdPih0aGlzLnVybC5zZWFyY2gsIHBhcmFtcylcclxuICB9XHJcblxyXG4gIGFjY2VzcyhhY2Nlc3M6IHN0cmluZ1tdKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Ym9vbGVhbj4odGhpcy51cmwuYWNjZXNzLCB7QUNDRVNTOiBhY2Nlc3N9KVxyXG4gIH1cclxuXHJcbiAgZmllbGRzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RVc2VySHR0cEZpZWxkPih0aGlzLnVybC5maWVsZHMpXHJcbiAgfVxyXG59XHJcblxyXG4iXX0=
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { BXRestMapDiskAttachedObject } from '../../map/disk/attachedObject';
|
|
2
2
|
import { Navvy } from '../../services/navvy';
|
|
3
|
-
import {
|
|
3
|
+
import { $disk, $get } from '../../consts/part-name-methods';
|
|
4
4
|
export class BXRestNavvyDiskAttachedObject {
|
|
5
5
|
constructor() {
|
|
6
6
|
this.Navvy = new Navvy();
|
|
7
7
|
}
|
|
8
8
|
get(param) {
|
|
9
|
-
return this.Navvy.simple(
|
|
9
|
+
return this.Navvy.simple([$disk, 'attachedObject', $get], param, BXRestMapDiskAttachedObject.get);
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNoZWRPYmplY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L2Rpc2svYXR0YWNoZWRPYmplY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDM0UsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRTVDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFFNUQsTUFBTSxPQUFPLDZCQUE2QjtJQUExQztRQUVVLFVBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFBO0lBUTdCLENBQUM7SUFOQyxHQUFHLENBQUMsS0FBeUM7UUFDM0MsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FDdEIsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEVBQy9CLEtBQUssRUFDTCwyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCWFJlc3RNYXBEaXNrQXR0YWNoZWRPYmplY3QgfSBmcm9tICcuLi8uLi9tYXAvZGlzay9hdHRhY2hlZE9iamVjdCdcbmltcG9ydCB7IE5hdnZ5IH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbmF2dnknXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1SZXN0RGlza0F0dGFjaGVkT2JqZWN0IH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvZGlzaydcbmltcG9ydCB7ICRkaXNrLCAkZ2V0IH0gZnJvbSAnLi4vLi4vY29uc3RzL3BhcnQtbmFtZS1tZXRob2RzJ1xuXHJcbmV4cG9ydCBjbGFzcyBCWFJlc3ROYXZ2eURpc2tBdHRhY2hlZE9iamVjdCB7XHJcblxyXG4gIHByaXZhdGUgTmF2dnkgPSBuZXcgTmF2dnkoKVxuXG4gIGdldChwYXJhbTogaUJYUmVzdFBhcmFtUmVzdERpc2tBdHRhY2hlZE9iamVjdCkge1xuICAgIHJldHVybiB0aGlzLk5hdnZ5LnNpbXBsZShcbiAgICAgIFskZGlzaywgJ2F0dGFjaGVkT2JqZWN0JywgJGdldF0sXG4gICAgICBwYXJhbSxcbiAgICAgIEJYUmVzdE1hcERpc2tBdHRhY2hlZE9iamVjdC5nZXQpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Navvy } from '../../../services/navvy';
|
|
2
|
-
import {
|
|
2
|
+
import { $api, $set, $socialnetwork } from '../../../consts/part-name-methods';
|
|
3
3
|
export class BXRestNavvySocialNetWorkApiContentView {
|
|
4
4
|
constructor() {
|
|
5
5
|
this.Navvy = new Navvy();
|
|
6
6
|
}
|
|
7
7
|
set(param) {
|
|
8
|
-
return this.Navvy.simple(
|
|
8
|
+
return this.Navvy.simple([$socialnetwork, $api, 'contentView', $set], param);
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudHZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L3NvY2lhbG5ldHdvcmsvYXBpL2NvbnRlbnR2aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUU5RSxNQUFNLE9BQU8sc0NBQXNDO0lBQW5EO1FBRW1CLFVBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFBO0lBS3RDLENBQUM7SUFIQyxHQUFHLENBQUMsS0FBaUQ7UUFDbkQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQzlFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgaUJYUmVzdFBhcmFtU29jaWFsTmV0V29ya0FwaUNvbnRlbnRWaWV3U2V0XHJcbn0gZnJvbSAnLi4vLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3Qvc29jaWFsbmV0d29yaydcclxuXG5pbXBvcnQgeyBOYXZ2eSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25hdnZ5J1xuaW1wb3J0IHsgJGFwaSwgJHNldCwgJHNvY2lhbG5ldHdvcmsgfSBmcm9tICcuLi8uLi8uLi9jb25zdHMvcGFydC1uYW1lLW1ldGhvZHMnXG5cclxuZXhwb3J0IGNsYXNzIEJYUmVzdE5hdnZ5U29jaWFsTmV0V29ya0FwaUNvbnRlbnRWaWV3IHtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBOYXZ2eSA9IG5ldyBOYXZ2eSgpXHJcblxuICBzZXQocGFyYW06IGlCWFJlc3RQYXJhbVNvY2lhbE5ldFdvcmtBcGlDb250ZW50Vmlld1NldCl7XG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlKFskc29jaWFsbmV0d29yaywgJGFwaSwgJ2NvbnRlbnRWaWV3JywgJHNldF0sIHBhcmFtKVxuICB9XG59XG4iXX0=
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { Navvy } from '../../services/navvy';
|
|
2
2
|
import { BXRestMapTaskCommentItem } from '../../map/task/commentitem';
|
|
3
3
|
import { mergeMap, of } from 'rxjs';
|
|
4
|
-
import {
|
|
4
|
+
import { $add, $commentitem, $delete, $get, $getlist, $task, $update } from '../../consts/part-name-methods';
|
|
5
5
|
export class BXRestNavvyTaskCommentItem {
|
|
6
6
|
constructor() {
|
|
7
|
-
this.url =
|
|
7
|
+
this.url = {
|
|
8
|
+
getList: [$task, $commentitem, $getlist],
|
|
9
|
+
get: [$task, $commentitem, $get],
|
|
10
|
+
add: [$task, $commentitem, $add],
|
|
11
|
+
update: [$task, $commentitem, $update],
|
|
12
|
+
delete: [$task, $commentitem, $delete],
|
|
13
|
+
};
|
|
8
14
|
this.Navvy = new Navvy();
|
|
9
15
|
}
|
|
10
16
|
add(param) {
|
|
@@ -38,4 +44,4 @@ export class BXRestNavvyTaskCommentItem {
|
|
|
38
44
|
}
|
|
39
45
|
}
|
|
40
46
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudGl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L3Rhc2svY29tbWVudGl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQzVDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBVXJFLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ25DLE9BQU8sRUFDTCxJQUFJLEVBQ0osWUFBWSxFQUNaLE9BQU8sRUFDUCxJQUFJLEVBQ0osUUFBUSxFQUNSLEtBQUssRUFDTCxPQUFPLEVBQ1IsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUV2QyxNQUFNLE9BQU8sMEJBQTBCO0lBQXZDO1FBQ1ksUUFBRyxHQUFHO1lBQ2QsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUM7WUFDeEMsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUM7WUFDaEMsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUM7WUFDaEMsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUM7WUFDdEMsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUM7U0FDdkMsQ0FBQTtRQUVnQixVQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQTtJQWlEdEMsQ0FBQztJQS9DQyxHQUFHLENBQUMsS0FBNEI7UUFDOUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUNwQixDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFtQztRQUN4QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQ3ZCLENBQUE7SUFDSCxDQUFDO0lBRUQsR0FBRyxDQUFDLEtBQXFDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssRUFDbkIsd0JBQXdCLENBQUMsR0FBRyxDQUM3QixDQUFBO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FBQyxRQUFzQztRQUM1QyxNQUFNLEVBQUUsRUFBRTtRQUNWLEtBQUssRUFBRTtZQUNMLFNBQVMsRUFBRSxLQUFLO1NBQ2pCO0tBQ0Y7UUFDQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQ3ZCLHdCQUF3QixDQUFDLE9BQU8sQ0FDakMsQ0FBQTtJQUNILENBQUM7SUFFRCxHQUFHLENBQUMsS0FBa0M7UUFDcEMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQy9CLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDWCxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FDdkIsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtnQkFDVCxDQUFDO2dCQUNELE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ2xCLENBQUMsQ0FBQyxDQUNILENBQUE7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2xCLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOYXZ2eSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25hdnZ5J1xyXG5pbXBvcnQgeyBCWFJlc3RNYXBUYXNrQ29tbWVudEl0ZW0gfSBmcm9tICcuLi8uLi9tYXAvdGFzay9jb21tZW50aXRlbSdcclxuaW1wb3J0IHtcclxuICBpQlhSZXN0UGFyYW1UYXNrQ29tbWVudEl0ZW1HZXQsXHJcbiAgaUJYUmVzdFRhc2tDb21tZW50SXRlbVVwZGF0ZSxcclxuICBpQlhSZXN0Q29tbWVudFRhc2tBZGQsXHJcbiAgQlhSZXN0VGFza0NvbW1lbnRJdGVtR2V0TGlzdCxcclxuICBCWFJlc3RUYXNrQ29tbWVudEl0ZW1EZWxldGUsXHJcbiAgaUJYUmVzdFRhc2tDb21tZW50LFxyXG4gIGlCWFJlc3RUYXNrQ29tbWVudEh0bWxcclxufSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrJ1xuaW1wb3J0IHsgbWVyZ2VNYXAsIG9mIH0gZnJvbSAncnhqcydcbmltcG9ydCB7XG4gICRhZGQsXG4gICRjb21tZW50aXRlbSxcbiAgJGRlbGV0ZSxcbiAgJGdldCxcbiAgJGdldGxpc3QsXG4gICR0YXNrLFxuICAkdXBkYXRlXG59IGZyb20gJy4uLy4uL2NvbnN0cy9wYXJ0LW5hbWUtbWV0aG9kcydcblxuZXhwb3J0IGNsYXNzIEJYUmVzdE5hdnZ5VGFza0NvbW1lbnRJdGVtIHtcbiAgcHJvdGVjdGVkIHVybCA9IHtcbiAgICBnZXRMaXN0OiBbJHRhc2ssICRjb21tZW50aXRlbSwgJGdldGxpc3RdLFxuICAgIGdldDogWyR0YXNrLCAkY29tbWVudGl0ZW0sICRnZXRdLFxuICAgIGFkZDogWyR0YXNrLCAkY29tbWVudGl0ZW0sICRhZGRdLFxuICAgIHVwZGF0ZTogWyR0YXNrLCAkY29tbWVudGl0ZW0sICR1cGRhdGVdLFxuICAgIGRlbGV0ZTogWyR0YXNrLCAkY29tbWVudGl0ZW0sICRkZWxldGVdLFxuICB9XG5cclxuICBwcml2YXRlIHJlYWRvbmx5IE5hdnZ5ID0gbmV3IE5hdnZ5KClcclxuXHJcbiAgYWRkKHBhcmFtOiBpQlhSZXN0Q29tbWVudFRhc2tBZGQpIHtcclxuICAgIHJldHVybiB0aGlzLk5hdnZ5LnNpbXBsZTxudW1iZXIsIG51bWJlciwgaUJYUmVzdENvbW1lbnRUYXNrQWRkPihcclxuICAgICAgdGhpcy51cmwuYWRkLCBwYXJhbVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlKHBhcmFtOiBpQlhSZXN0VGFza0NvbW1lbnRJdGVtVXBkYXRlKSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGU8Ym9vbGVhbiwgYm9vbGVhbiwgaUJYUmVzdFRhc2tDb21tZW50SXRlbVVwZGF0ZT4oXHJcbiAgICAgIHRoaXMudXJsLnVwZGF0ZSwgcGFyYW1cclxuICAgIClcclxuICB9XHJcblxyXG4gIGdldChwYXJhbTogaUJYUmVzdFBhcmFtVGFza0NvbW1lbnRJdGVtR2V0KSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGU8aUJYUmVzdFRhc2tDb21tZW50SHRtbCwgaUJYUmVzdFRhc2tDb21tZW50LCBpQlhSZXN0UGFyYW1UYXNrQ29tbWVudEl0ZW1HZXQ+KFxyXG4gICAgICB0aGlzLnVybC5nZXQsIHBhcmFtLFxyXG4gICAgICBCWFJlc3RNYXBUYXNrQ29tbWVudEl0ZW0uZ2V0XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBnZXRsaXN0KHBhcmFtOiBCWFJlc3RUYXNrQ29tbWVudEl0ZW1HZXRMaXN0ID0ge1xyXG4gICAgRklMVEVSOiB7fSxcclxuICAgIE9SREVSOiB7XHJcbiAgICAgIFBPU1RfREFURTogJ2FzYydcclxuICAgIH1cclxuICB9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGUoXHJcbiAgICAgIHRoaXMudXJsLmdldExpc3QsIHBhcmFtLFxyXG4gICAgICBCWFJlc3RNYXBUYXNrQ29tbWVudEl0ZW0uZ2V0bGlzdFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgZGVsKHBhcmFtOiBCWFJlc3RUYXNrQ29tbWVudEl0ZW1EZWxldGUpIHtcclxuICAgIGlmIChwYXJhbS5JVEVNSUQgPiAwKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmdldChwYXJhbSkucmVzKCkucGlwZShcclxuICAgICAgICBtZXJnZU1hcCh2ID0+IHtcclxuICAgICAgICAgIGlmICh2KSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLk5hdnZ5LnNpbXBsZTxib29sZWFuLCBib29sZWFuLCBCWFJlc3RUYXNrQ29tbWVudEl0ZW1EZWxldGU+KFxyXG4gICAgICAgICAgICAgIHRoaXMudXJsLmRlbGV0ZSwgcGFyYW1cclxuICAgICAgICAgICAgKS5yZXMoKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKVxyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBvZihmYWxzZSlcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -7,7 +7,6 @@ import { BXRestNavvyUser } from '../../user';
|
|
|
7
7
|
import { BXRestNavvyTasks } from '../../tasks';
|
|
8
8
|
import { BXRestNavvyDelegateElapsedItem } from '../delegate/elapseditem';
|
|
9
9
|
export class BXRestNavvyOperationElapsedItem {
|
|
10
|
-
// private readonly BXRestNavvyElapsedItem = new BXRestNavvyElapsedItem()
|
|
11
10
|
constructor(BXRestNavvyElapsedItem) {
|
|
12
11
|
this.BXRestNavvyElapsedItem = BXRestNavvyElapsedItem;
|
|
13
12
|
this.http = new HttpBXServices();
|
|
@@ -322,4 +321,4 @@ export class BXRestNavvyOperationElapsedItem {
|
|
|
322
321
|
});
|
|
323
322
|
}
|
|
324
323
|
}
|
|
325
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhcHNlZGl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L3Rhc2svb3BlcmF0aW9uL2VsYXBzZWRpdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ3ZILE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDMUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDeEUsT0FBTyxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDNUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzlDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBSXhFLE1BQU0sT0FBTywrQkFBK0I7SUFPMUMseUVBQXlFO0lBRXpFLFlBQW9CLHNCQUE4QztRQUE5QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBUGpELFNBQUksR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFBO1FBQzNCLGFBQVEsR0FBRyxJQUFJLDhCQUE4QixFQUFFLENBQUE7UUFDL0Msb0JBQWUsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFBO1FBQ3ZDLHFCQUFnQixHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQTtJQUsxRCxDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQWtCLEVBQUUsU0FBZSxFQUFFLE9BQWE7UUFDOUQsTUFBTSxL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LENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDLENBQUE7WUFDMUUsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDO0lBRU8sZUFBZSxDQUFDLE1BQWMsRUFBRSxNQUFjO1FBQ3BELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FDekI7WUFDRSxNQUFNLEVBQUUsTUFBTTtZQUNkLE1BQU0sRUFBRSxNQUFNO1lBQ2QsUUFBUSxFQUFFLENBQUM7U0FDWixDQUFDLENBQUE7SUFDTixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIGlCWFJlc3RQYXJhbUVsYXBzZWRpdGVtR2V0LFxyXG4gIGlCWFJlc3RUYXNrRWxhcHNlZEl0ZW1IdHRwLFxyXG4gIGlCWFJlc3RQYXJhbVRhc2tHZXRBY2Nlc3MsXHJcbiAgaUJYUmVzdFRhc2tHZXRBY2Nlc3MsXHJcbiAgaUlzQWN0aW9uQWxsb3dlZFBhcmFtLFxyXG4gIGlCWFJlc3RQYXJhbUFkZEVsYXBzZWRpdGVtLFxyXG4gIGlCWFJlc3RQYXJhbVVwZGF0ZUVsYXBzZWRpdGVtLFxyXG4gIGlCWFJlc3RQYXJhbURlbEVsYXBzZWRpdGVtXHJcbn0gZnJvbSAnLi4vLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFzaydcclxuaW1wb3J0IHsgSHR0cEJYU2VydmljZXMgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9odHRwL0h0dHBCWCdcclxuaW1wb3J0IHsgJGVsYXBzZWRpdGVtLCAkZ2V0YWNjZXNzLCAkZ2V0bGlzdCwgJGlzYWN0aW9uYWxsb3dlZCwgJHRhc2ssICR0YXNrcyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0cy9wYXJ0LW5hbWUtbWV0aG9kcydcclxuaW1wb3J0IHsgbWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXHJcbmltcG9ydCB7IEJYUmVzdE1hcFRhc2tFbGFwc2VkSXRlbSB9IGZyb20gJy4uLy4uLy4uL21hcC90YXNrL2VsYXBzZWRpdGVtJ1xyXG5pbXBvcnQgeyBtZXJnZU1hcCwgT2JzZXJ2YWJsZSwgb2YsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBCWFJlc3ROYXZ2eVVzZXIgfSBmcm9tICcuLi8uLi91c2VyJ1xyXG5pbXBvcnQgeyBCWFJlc3ROYXZ2eVRhc2tzIH0gZnJvbSAnLi4vLi4vdGFza3MnXHJcbmltcG9ydCB7IEJYUmVzdE5hdnZ5RGVsZWdhdGVFbGFwc2VkSXRlbSB9IGZyb20gJy4uL2RlbGVnYXRlL2VsYXBzZWRpdGVtJ1xyXG5pbXBvcnQgeyBpQlhSZXN0VXNlciB9IGZyb20gJy4uLy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3VzZXInXHJcbmltcG9ydCB7IEJYUmVzdE5hdnZ5RWxhcHNlZEl0ZW0gfSBmcm9tICcuLi9lbGFwc2VkaXRlbSdcclxuXHJcbmV4cG9ydCBjbGFzcyBCWFJlc3ROYXZ2eU9wZXJhdGlvbkVsYXBzZWRJdGVtIHtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gbmV3IEh0dHBCWFNlcnZpY2VzKClcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlbGVnYXRlID0gbmV3IEJYUmVzdE5hdnZ5RGVsZWdhdGVFbGFwc2VkSXRlbSgpXHJcbiAgcHJpdmF0ZSByZWFkb25seSBCWFJlc3ROYXZ2eVVzZXIgPSBuZXcgQlhSZXN0TmF2dnlVc2VyKClcclxuICBwcml2YXRlIHJlYWRvbmx5IEJYUmVzdE5hdnZ5VGFza3MgPSBuZXcgQlhSZXN0TmF2dnlUYXNrcygpXHJcblxyXG4gIC8vIHByaXZhdGUgcmVhZG9ubHkgQlhSZXN0TmF2dnlFbGFwc2VkSXRlbSA9IG5ldyBCWFJlc3ROYXZ2eUVsYXBzZWRJdGVtKClcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBCWFJlc3ROYXZ2eUVsYXBzZWRJdGVtOiBCWFJlc3ROYXZ2eUVsYXBzZWRJdGVtKSB7XHJcbiAgfVxyXG5cclxuICBnZXRCeUludGVydmFsKGlkc1VzZXJzOiBudW1iZXJbXSwgZGF0ZVN0YXJ0OiBEYXRlLCBkYXRlRW5kOiBEYXRlKSB7XHJcbiAgICBjb25zdCBwYXJhbTogaUJYUmVzdFBhcmFtRWxhcHNlZGl0ZW1HZXQgPSB7XHJcbiAgICAgIE9SREVSOiB7XHJcbiAgICAgICAgSUQ6ICdERVNDJ1xyXG4gICAgICB9LFxyXG4gICAgICBGSUxURVI6IHtcclxuICAgICAgICBVU0VSX0lEOiBpZHNVc2VycyxcclxuICAgICAgICAnPj1DUkVBVEVEX0RBVEUnOiBkYXRlU3RhcnQudG9Mb2NhbGVTdHJpbmcoJ3J1LVJ1Jywge1xyXG4gICAgICAgICAgdGltZVpvbmVOYW1lOiAnc2hvcnQnXHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgJzw9Q1JFQVRFRF9EQVRFJzogZGF0ZUVuZC50b0xvY2FsZVN0cmluZygncnUtUnUnLCB7XHJcbiAgICAgICAgICB0aW1lWm9uZU5hbWU6ICdzaG9ydCdcclxuICAgICAgICB9KSxcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGUuZ2V0TGlzdChwYXJhbSlcclxuICB9XHJcblxyXG4gIC8vIFRPRE86INCh0LTQtdC70LDRgtGMINC90L7RgNC80LDQu9GM0L3QvlxyXG4gIGdldExpc3RCeUlEVGFzayhpZHM6IG51bWJlcltdKSB7XHJcbiAgICAvLyDQoNCw0LHQvtGC0LDQtdGCINGC0L7Qu9GM0LrQviDQv9C+0YLQvtC80YMg0YfRgtC+IFwiblBhZ2VTaXplOiA5OTk5OVwiXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmJyYW5jaDxpQlhSZXN0UGFyYW1FbGFwc2VkaXRlbUdldCwgaUJYUmVzdFRhc2tFbGFwc2VkSXRlbUh0dHA+XHJcbiAgICAoXHJcbiAgICAgIGlkcy5tYXAoaSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIG5hbWU6IHRoaXMuaHR0cC5nZXROYW1lTWV0aG9kKFskdGFzaywgJGVsYXBzZWRpdGVtLCAkZ2V0bGlzdF0pLFxyXG4gICAgICAgICAgcGFyYW06IHtcclxuICAgICAgICAgICAgVEFTS0lEOiBpLFxyXG4gICAgICAgICAgICBQQVJBTVM6IHtcclxuICAgICAgICAgICAgICBOQVZfUEFSQU1TOiB7XHJcbiAgICAgICAgICAgICAgICBuUGFnZVNpemU6IDk5OTk5LFxyXG4gICAgICAgICAgICAgICAgaU51bVBhZ2U6IDFcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcCh2ID0+IHtcclxuICAgICAgICBpZiAodiAmJiB2Lmxlbmd0aCkge1xyXG4gICAgICAgICAgY29uc3QgcmVzID0gdGhpcy5odHRwLm1hcEJyYW5jaFJlc3VsdFdpdGhvdXRLZXkodilcclxuICAgICAgICAgIHJldHVybiBCWFJlc3RNYXBUYXNrRWxhcHNlZEl0ZW0uZ2V0TGlzdChyZXMpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIGNoZWNrUGVybWlzc2lvbkFkZEVsYXBzZWRUaW1lVG9UYXNrQXJyKHRhc2tzOiBudW1iZXJbXSwgdXNlckN1cnJlbnQ6IGlCWFJlc3RVc2VyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKSB7XG4gICAgLy8g0KPQsdC40YDQsNC10Lwg0LTRg9Cx0LvQuCwg0YfRgtC+0LHRiyDQvdC1INC/0YDQvtCy0LXRgNGP0YLRjCDQv9GA0LDQstCwINC/0L4g0L7QtNC90L7QuSDQt9Cw0LTQsNGH0LUg0L3QtdGB0LrQvtC70YzQutC+INGA0LDQty5cbiAgICBjb25zdCBpZHMgPSBbLi4ubmV3IFNldCh0YXNrcy5maWx0ZXIoaSA9PiAhIWkpKV1cbiAgICAvLyDQldGB0LvQuCDRgtC10LrRg9GJ0LjQuSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L3QtSDQv9C10YDQtdC00LDQvSDRgdC90LDRgNGD0LbQuCwg0LfQsNC/0YDQsNGI0LjQstCw0LXQvCDQtdCz0L4g0L7QtNC40L0g0YDQsNC3INC90LAg0LLQtdGB0Ywg0L3QsNCx0L7RgCDQt9Cw0LTQsNGHLlxuICAgIGNvbnN0IHVzZXIkID0gdXNlckN1cnJlbnQgPyBvZih1c2VyQ3VycmVudCkgOiB0aGlzLkJYUmVzdE5hdnZ5VXNlci5jdXJyZW50KCkucmVzKClcblxuICAgIC8vINCh0YLQsNGA0YvQuSBiYXRjaCDRh9C10YDQtdC3IHRhc2suZWxhcHNlZGl0ZW0uaXNhY3Rpb25hbGxvd2VkLlxuICAgIC8vINCS0YvQt9GL0LLQsNC10Lwg0LXQs9C+INC90LjQttC1INGC0L7Qu9GM0LrQviDQtNC70Y8g0LfQsNC00LDRhywg0L/QviDQutC+0YLQvtGA0YvQvCBnZXRhY2Nlc3Mg0L3QtSDQstC10YDQvdGD0LsgRUxBUFNFRFRJTUUuQURELlxuICAgIGNvbnN0IGxvYWRNaXNzaW5nQnlBY3Rpb25BbGxvd2VkID0gKG1pc3NpbmdJZHM6IG51bWJlcltdLCByZXNvbHZlZDogeyBpZDogbnVtYmVyLCB2YWx1ZTogYm9vbGVhbiB9W10pID0+IHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuYnJhbmNoPGlJc0FjdGlvbkFsbG93ZWRQYXJhbSwgYm9vbGVhbj4oXG4gICAgICAgIE9iamVjdC5hc3NpZ24oe30sIC4uLm1pc3NpbmdJZHMubWFwKGkgPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBbaV06IHtcbiAgICAgICAgICAgICAgbmFtZTogdGhpcy5odHRwLmdldE5hbWVNZXRob2QoWyR0YXNrLCAkZWxhcHNlZGl0ZW0sICRpc2FjdGlvbmFsbG93ZWRdKSxcbiAgICAgICAgICAgICAgcGFyYW06IHtcbiAgICAgICAgICAgICAgICBUQVNLSUQ6IGksXG4gICAgICAgICAgICAgICAgSVRFTUlEOiAxLFxuICAgICAgICAgICAgICAgIEFDVElPTklEOiAxXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pKVxuICAgICAgKS5waXBlKFxuICAgICAgICBtYXAodiA9PiB7XG4gICAgICAgICAgaWYgKHYgJiYgdi5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlczogUmVjb3JkPG51bWJlciwgYm9vbGVhbj4gPSB0aGlzLmh0dHAubWFwQnJhbmNoUmVzdWx0KHYpXG4gICAgICAgICAgICBjb25zdCBsb2FkZWQgPSBPYmplY3QuZW50cmllcyhyZXMpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7aWQ6IE51bWJlcihrZXkpLCB2YWx1ZX1cbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIHJldHVybiBbLi4ucmVzb2x2ZWQsIC4uLmxvYWRlZF1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgfVxuXG4gICAgaWYgKCFpZHMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gb2YoW10pXG4gICAgfVxuXG4gICAgcmV0dXJuIHVzZXIkLnBpcGUoXG4gICAgICB0YWtlKDEpLFxuICAgICAgbWVyZ2VNYXAoc2VsZiA9PiB7XG4gICAgICAgIGlmICghc2VsZikge1xuICAgICAgICAgIC8vINCh0YLRgNCw0YXQvtCy0L7Rh9C90LDRjyDQstC10YLQutCwOiDQtdGB0LvQuCB1c2VyLmN1cnJlbnQg0L3QtSDQstC10YDQvdGD0LvRgdGPLCBnZXRhY2Nlc3Mg0LLRi9C30LLQsNGC0Ywg0L3QtdC70YzQt9GPLlxuICAgICAgICAgIHJldHVybiBsb2FkTWlzc2luZ0J5QWN0aW9uQWxsb3dlZChpZHMsIFtdKVxuICAgICAgICB9XG5cbiAgICAgICAgLy8g0J7RgdC90L7QstC90L7QuSDQv9GD0YLRjDog0L7QtNC90LjQvCBiYXRjaC3Qt9Cw0L/RgNC+0YHQvtC8INC/0L7Qu9GD0YfQsNC10Lwg0L/RgNCw0LLQsCBFTEFQU0VEVElNRS5BREQg0L/QviDQstGB0LXQvCDQt9Cw0LTQsNGH0LDQvC5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5icmFuY2g8aUJYUmVzdFBhcmFtVGFza0dldEFjY2VzcywgaUJYUmVzdFRhc2tHZXRBY2Nlc3M+KFxuICAgICAgICAgIE9iamVjdC5hc3NpZ24oe30sIC4uLmlkcy5tYXAoaWQgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgW2lkXToge1xuICAgICAgICAgICAgICAgIG5hbWU6IHRoaXMuaHR0cC5nZXROYW1lTWV0aG9kKFskdGFza3MsICR0YXNrLCAkZ2V0YWNjZXNzXSksXG4gICAgICAgICAgICAgICAgcGFyYW06IHtcbiAgICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgICAgdXNlcnM6IFtzZWxmLklEXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pKVxuICAgICAgICApLnBpcGUoXG4gICAgICAgICAgbWVyZ2VNYXAodiA9PiB7XG4gICAgICAgICAgICBpZiAodiAmJiB2Lmxlbmd0aCkge1xuICAgICAgICAgICAgICBjb25zdCByZXMgPSB0aGlzLmh0dHAubWFwQnJhbmNoUmVzdWx0PGlCWFJlc3RUYXNrR2V0QWNjZXNzPih2KVxuICAgICAgICAgICAgICBjb25zdCBwZXJtaXNzaW9ucyA9IGlkcy5tYXAoaWQgPT4gKHtcbiAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzW2lkXT8uYWxsb3dlZEFjdGlvbnM/LltzZWxmLklEXT8uWydFTEFQU0VEVElNRS5BREQnXVxuICAgICAgICAgICAgICB9KSlcblxuICAgICAgICAgICAgICAvLyBnZXRhY2Nlc3Mg0LzQvtC20LXRgiDQstC10YDQvdGD0YLRjCB0cnVlINC40LvQuCBmYWxzZSAtINC+0LHQsCDQt9C90LDRh9C10L3QuNGPINGB0YfQuNGC0LDQtdC8INCz0L7RgtC+0LLRi9C8INC+0YLQstC10YLQvtC8LlxuICAgICAgICAgICAgICAvLyDQkiDRgdGC0LDRgNGL0LkgaXNhY3Rpb25hbGxvd2VkINC+0YLQv9GA0LDQstC70Y/QtdC8INGC0L7Qu9GM0LrQviDQt9Cw0LTQsNGH0Lgg0LHQtdC3INGP0LLQvdC+0LPQviBFTEFQU0VEVElNRS5BREQuXG4gICAgICAgICAgICAgIGNvbnN0IHJlc29sdmVkID0gcGVybWlzc2lvbnMuZmlsdGVyKGkgPT4gaS52YWx1ZSAhPT0gdW5kZWZpbmVkKSBhcyB7IGlkOiBudW1iZXIsIHZhbHVlOiBib29sZWFuIH1bXVxuICAgICAgICAgICAgICBjb25zdCBtaXNzaW5nSWRzID0gcGVybWlzc2lvbnMuZmlsdGVyKGkgPT4gaS52YWx1ZSA9PT0gdW5kZWZpbmVkKS5tYXAoaSA9PiBpLmlkKVxuXG4gICAgICAgICAgICAgIGlmIChtaXNzaW5nSWRzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBsb2FkTWlzc2luZ0J5QWN0aW9uQWxsb3dlZChtaXNzaW5nSWRzLCByZXNvbHZlZClcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiBvZihwZXJtaXNzaW9ucylcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8g0JXRgdC70LggYmF0Y2ggZ2V0YWNjZXNzINC90LUg0LLQtdGA0L3Rg9C70YHRjywg0YHQvtGF0YDQsNC90Y/QtdC8INC/0L7QstC10LTQtdC90LjQtSDRgdGC0LDRgNC+0LPQviBmYWxsYmFjay5cbiAgICAgICAgICAgIHJldHVybiBsb2FkTWlzc2luZ0J5QWN0aW9uQWxsb3dlZChpZHMsIFtdKVxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIH0pXG4gICAgKVxuICB9XG4gIC8qKlxyXG4gICAqINCf0YDQvtCy0LXRgNC60LAg0L3QsCDQstC+0LfQvNC+0LbQvdC+0YHRgtGMINC00L7QsdCw0LLQu9C10L3QuNC1INC30LDQv9C40YHQuCDRgtGA0LXQutCwINCyINGC0LDRgdC60YNcclxuICAgKlxyXG4gICAqIEBwYXJhbSBpZFRhc2tcclxuICAgKiBAcGFyYW0gdXNlckN1cnJlbnRcclxuICAgKi9cclxuICBjaGVja1Blcm1pc3Npb25BZGRFbGFwc2VkVGltZVRvVGFzayhpZFRhc2s6IG51bWJlciwgdXNlckN1cnJlbnQ6IGlCWFJlc3RVc2VyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKSB7XG4gICAgLy8gbGV0IHBlcm1pc3Npb24gPSBQZXJtaXNzaW9uLmdldCgpXG4gICAgLy8gaWYgKHBlcm1pc3Npb24/LnRhc2tzPy5sZW5ndGgpIHtcbiAgICAvLyAgIGxldCBmaW5kVGFzayA9IHBlcm1pc3Npb24udGFza3MuZmluZChpID0+IGkuaWQgPT09IGlkVGFzaylcbiAgICAvLyAgIGlmIChmaW5kVGFzaz8ucGVybWlzc2lvbikge1xuICAgIC8vICAgICByZXR1cm4gb2YoZmluZFRhc2sucGVybWlzc2lvblsnRUxBUFNFRFRJTUUuQUREJ10pXG4gICAgLy8gICB9XG4gICAgcmV0dXJuICgodXNlckN1cnJlbnQpID8gb2YodXNlckN1cnJlbnQpIDogdGhpcy5CWFJlc3ROYXZ2eVVzZXIuY3VycmVudCgpLnJlcygpKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoc2VsZiA9PiB7XG4gICAgICAgIGlmIChzZWxmKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuQlhSZXN0TmF2dnlUYXNrcy50YXNrLmdldEFjY2VzcyhcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIGlkOiBpZFRhc2ssXG4gICAgICAgICAgICAgIHVzZXJzOiBbc2VsZi5JRF1cbiAgICAgICAgICAgIH0pLnJlcygpLnBpcGUoXG4gICAgICAgICAgICAvLyB0YXAodiA9PiB7XG4gICAgICAgICAgICAvLyAgIGlmICh2ICYmIHZbc2VsZi5JRF0pIHtcbiAgICAgICAgICAgIC8vICAgICBQZXJtaXNzaW9uLnNldCh7XG4gICAgICAgICAgICAvLyAgICAgICB0YXNrczogW3tpZDogaWRUYXNrLCBwZXJtaXNzaW9uOiB2W3NlbGYuSURdLCBlbGFwc2VkSXRlbTogW119XVxuICAgICAgICAgICAgLy8gICAgIH0pXG4gICAgICAgICAgICAvLyAgIH1cbiAgICAgICAgICAgIC8vIH0pLFxuICAgICAgICAgICAgbWFwKHYgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gKHYgJiYgdltzZWxmLklEXSkgPyB2W3NlbGYuSURdWydFTEFQU0VEVElNRS5BREQnXSA6IGZhbHNlXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXG4gICAgICB9KVxuICAgIClcbiAgICAvLyB9XG5cbiAgICAvLyByZXR1cm4gb2YodW5kZWZpbmVkKVxuICB9XG5cbiAgLyoqXG4gICAqINCf0YDQvtCy0LXRgNC60LAg0L3QsCDQstC+0LfQvNC+0LbQvdC+0YHRgtGMINC/0YDQvtGH0YLQtdC90LjRjyDRgtCw0LrRgdC60LhcbiAgICpcclxuICAgKiBAcGFyYW0gaWRUYXNrXHJcbiAgICogQHBhcmFtIHVzZXJDdXJyZW50XHJcbiAgICovXHJcbiAgY2hlY2tQZXJtaXNzaW9uUmVhZFRhc2soaWRUYXNrOiBudW1iZXIsIHVzZXJDdXJyZW50OiBpQlhSZXN0VXNlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCkge1xyXG4gICAgLy8gbGV0IHBlcm1pc3Npb24gPSBQZXJtaXNzaW9uLmdldCgpXHJcbiAgICAvLyBpZiAocGVybWlzc2lvbj8udGFza3M/Lmxlbmd0aCkge1xyXG4gICAgLy8gICBsZXQgZmluZFRhc2sgPSBwZXJtaXNzaW9uLnRhc2tzLmZpbmQoaSA9PiBpLmlkID09PSBpZFRhc2spXHJcbiAgICAvLyAgIGlmIChmaW5kVGFzaz8ucGVybWlzc2lvbikge1xyXG4gICAgLy8gICAgIHJldHVybiBvZihmaW5kVGFzay5wZXJtaXNzaW9uLkFDQ0VQVClcclxuICAgIC8vICAgfVxyXG4gICAgLy8gICBjb25zb2xlLmxvZygnaWRUYXNrJywgaWRUYXNrKVxyXG4gICAgcmV0dXJuICgodXNlckN1cnJlbnQpID8gb2YodXNlckN1cnJlbnQpIDogdGhpcy5CWFJlc3ROYXZ2eVVzZXIuY3VycmVudCgpLnJlcygpKS5waXBlKFxyXG4gICAgICBtZXJnZU1hcChzZWxmID0+IHtcclxuICAgICAgICBpZiAoc2VsZikge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuQlhSZXN0TmF2dnlUYXNrcy50YXNrLmdldEFjY2VzcyhcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIGlkOiBpZFRhc2ssXHJcbiAgICAgICAgICAgICAgdXNlcnM6IFtzZWxmLklEXVxyXG4gICAgICAgICAgICB9KS5yZXMoKS5waXBlKFxyXG4gICAgICAgICAgICAvLyB0YXAodiA9PiB7XHJcbiAgICAgICAgICAgIC8vICAgaWYgKHYgJiYgdltzZWxmLklEXSkge1xyXG4gICAgICAgICAgICAvLyAgICAgUGVybWlzc2lvbi5zZXQoe1xyXG4gICAgICAgICAgICAvLyAgICAgICB0YXNrczogW3tpZDogaWRUYXNrLCBwZXJtaXNzaW9uOiB2W3NlbGYuSURdLCBlbGFwc2VkSXRlbTogW119XVxyXG4gICAgICAgICAgICAvLyAgICAgfSlcclxuICAgICAgICAgICAgLy8gICB9XHJcbiAgICAgICAgICAgIC8vIH0pLFxyXG4gICAgICAgICAgICBtYXAodiA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuICh2ICYmIHZbc2VsZi5JRF0pID8gISF2W3NlbGYuSURdIDogZmFsc2UgLy8g0L7RgtC00LXQu9GM0L3QvtCz0L4g0YTQu9Cw0LPQsCDQvdCwINGH0YLQtdC90LjQtSDQvdC10YIsINCy0YvRhdC+0LTQuNGCINGH0YLQviDQtdGB0LvQuCDQv9GA0LDQstCwINC+0YLQtNCw0LvQuNGB0Ywg0YLQviDQuCDQv9GA0LDQstCwINC10YHRgtGMXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgKVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gICAgLy8gfVxyXG4gICAgLy9cclxuICAgIC8vIHJldHVybiBvZih1bmRlZmluZWQpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDQl9Cw0LrQvtC90YfQtdC90L3Ri9C5INC80LXRgtC+0LQg0LTQvtCx0LDQstC70LXQvdC40Y8g0LfQsNC/0LjRgdC4INGBINC/0YDQtdC00LLQsNGA0LjRgtC10LvRjNC90L7QuSDQv9GA0L7QstC10YDQutC+0Lkg0L/RgNCw0LJcclxuICAgKlxyXG4gICAqIFRPRE86INC00L7QsdCw0LLQuNGC0Ywg0YHQvtGF0YDQsNC90LXQvdC40LUg0L/RgNC10LTQstCw0YDQuNGC0LXQu9GM0L3QviDQv9GA0L7QstC10YDQtdC90L3Ri9GFINC30LDQv9C40YHQtdC5XHJcbiAgICogQHBhcmFtIHBhcmFtXHJcbiAgICovXHJcbiAgYWRkKHBhcmFtOiBpQlhSZXN0UGFyYW1BZGRFbGFwc2VkaXRlbSkge1xyXG4gICAgcmV0dXJuIHRoaXMuY2hlY2tQZXJtaXNzaW9uUmVhZFRhc2socGFyYW0uVEFTS0lEKS5waXBlKFxyXG4gICAgICBtZXJnZU1hcChhbGxvd2VkUmVhZFRhc2sgPT4ge1xyXG4gICAgICAgIGlmIChhbGxvd2VkUmVhZFRhc2spIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmNoZWNrUGVybWlzc2lvbkFkZEVsYXBzZWRUaW1lVG9UYXNrKHBhcmFtLlRBU0tJRCkucGlwZShcclxuICAgICAgICAgICAgbWVyZ2VNYXAoYWxsb3dlZCA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGFsbG93ZWQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5RWxhcHNlZEl0ZW0uYWRkKHBhcmFtKS5yZXMoKVxyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQtNC+0LHQsNCy0LvQtdC90LjQtSDQt9Cw0L/QuNGB0Lgg0LfQsNGC0YDQsNGH0LXQvdC90L7Qs9C+INCy0YDQtdC80LXQvdC4JykpXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSlcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCfQntGC0YHRg9GC0YHRgtCy0YPRjtGCINC/0YDQsNCy0LAg0L3QsCDRh9GC0LXQvdC40LUg0LfQsNC00LDRh9C4JykpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KSlcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqINCX0LDQutC+0L3Rh9C10L3QvdGL0Lkg0LzQtdGC0L7QtCDQvtCx0L3QvtCy0LvQtdC90LjRjyDQt9Cw0L/QuNGB0Lgg0YEg0L/RgNC10LTQstCw0YDQuNGC0LXQu9GM0L3QvtC5INC/0YDQvtCy0LXRgNC60L7QuSDQv9GA0LDQslxyXG4gICAqXHJcbiAgICogVE9ETzog0LTQvtCx0LDQstC40YLRjCDRgdC+0YXRgNCw0L3QtdC90LjQtSDQv9GA0LXQtNCy0LDRgNC40YLQtdC70YzQvdC+INC/0YDQvtCy0LXRgNC10L3QvdGL0YUg0LfQsNC/0LjRgdC10LlcclxuICAgKiBAcGFyYW0gcGFyYW1cclxuICAgKi9cclxuICB1cGRhdGUocGFyYW06IGlCWFJlc3RQYXJhbVVwZGF0ZUVsYXBzZWRpdGVtKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jaGVja1Blcm1pc3Npb25SZWFkVGFzayhwYXJhbS5UQVNLSUQpLnBpcGUoXHJcbiAgICAgIG1lcmdlTWFwKChhbGxvd2VkUmVhZFRhc2spID0+IHtcclxuICAgICAgICBpZiAoYWxsb3dlZFJlYWRUYXNrKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5pc0FsbG93ZWRNb2RpZnkocGFyYW0uVEFTS0lELCBwYXJhbS5JVEVNSUQpLnBpcGUoXHJcbiAgICAgICAgICAgIG1lcmdlTWFwKGFsbG93ZWQgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChhbGxvd2VkKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5CWFJlc3ROYXZ2eUVsYXBzZWRJdGVtLnVwZGF0ZShwYXJhbSkucmVzKClcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCfQntGC0YHRg9GC0YHRgtCy0YPRjtGCINC/0YDQsNCy0LAg0L3QsCDQuNC30LzQtdC90LXQvdC40LUg0LfQsNC/0LjRgdC4INC30LDRgtGA0LDRh9C10L3QvdC+0LPQviDQstGA0LXQvNC10L3QuCcpKVxyXG4gICAgICAgICAgICB9KSlcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCfQntGC0YHRg9GC0YHRgtCy0YPRjtGCINC/0YDQsNCy0LAg0L3QsCDRh9GC0LXQvdC40LUg0LfQsNC00LDRh9C4JykpXHJcbiAgICAgIH0pKVxyXG4gIH1cclxuXHJcbiAgLy8gVE9ETzog0YDQsNC30L7QsdGA0LDRgtGM0YHRjyDRh9GC0L4g0Y3RgtC+INC30LAg0LXQsdCw0YLQvdGPINCyINC60L7QvNC80LXQvdGC0LDRhSDQuCDQstC/0LjRgdCw0YLRjCDQvdC+0YDQvNCw0LvRjNC90L7QuSDQutC+0LzQtdC90YIg0LXRgdC70Lgg0L7QvdCwINC90YPQttC90LBcclxuICBpc0FsbG93ZWRNb2RpZnkoaWRUYXNrOiBudW1iZXIsIGlkSXRlbTogbnVtYmVyKSB7XHJcbiAgICAvLyBsZXQgcGVybWlzc2lvbiA9IFBlcm1pc3Npb24uZ2V0KClcclxuICAgIC8vIGlmIChwZXJtaXNzaW9uPy50YXNrcz8ubGVuZ3RoKSB7XHJcbiAgICAvLyAgIGxldCBmaW5kVGFzayA9IHBlcm1pc3Npb24udGFza3MuZmluZChpID0+IGkuaWQgPT09IGlkVGFzaylcclxuICAgIC8vICAgaWYgKGZpbmRUYXNrKSB7XHJcbiAgICAvLyAgICAgbGV0IGZpbmQgPSBmaW5kVGFzay5lbGFwc2VkSXRlbS5maW5kKGkgPT4gaS5pZCA9PT0gaWRJdGVtKVxyXG4gICAgLy8gICAgIGlmIChmaW5kICYmIGZpbmQudmVyaWZpZWQuZWRpdCkge1xyXG4gICAgLy8gICAgICAgcmV0dXJuIG9mKGZpbmQuZWRpdClcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgIH1cclxuICAgIC8vIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5CWFJlc3ROYXZ2eUVsYXBzZWRJdGVtLmlzQWN0aW9uQWxsb3dlZCh7XHJcbiAgICAgIFRBU0tJRDogaWRUYXNrLFxyXG4gICAgICBJVEVNSUQ6IGlkSXRlbSxcclxuICAgICAgQUNUSU9OSUQ6IDJcclxuICAgIH0pLnJlcygpXHJcbiAgICAvLyAgIC5waXBlKFxyXG4gICAgLy8gICB0YXAodiA9PiB7XHJcbiAgICAvLyAgICAgaWYgKHYgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgLy8gICAgICAgUGVybWlzc2lvbi5zZXRUYXNrRWxhcHNlZEl0ZW0oaWRUYXNrLFxyXG4gICAgLy8gICAgICAgICB7XHJcbiAgICAvLyAgICAgICAgICAgaWQ6IGlkSXRlbSxcclxuICAgIC8vICAgICAgICAgICBlZGl0OiB2LFxyXG4gICAgLy8gICAgICAgICAgIGRlbDogZmFsc2UsXHJcbiAgICAvLyAgICAgICAgICAgdmVyaWZpZWQ6IHtcclxuICAgIC8vICAgICAgICAgICAgIGVkaXQ6IHRydWUsXHJcbiAgICAvLyAgICAgICAgICAgICBkZWw6IGZhbHNlLFxyXG4gICAgLy8gICAgICAgICAgIH1cclxuICAgIC8vICAgICAgICAgfSlcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgIH0pXHJcbiAgICAvLyApXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBpc0FjdGlvbkFsbG93ZWQg0YEg0YTQuNC60YHQvtC8INC90LAg0L/RgNC+0LLQtdGA0LrRgyDQstC+0LfQvNC+0LbQvdC+0YHRgtC4INGH0YLQtdC90LjRjyDQt9Cw0LTQsNGH0Lgg0LfQsNC/0LjRgdC4XHJcbiAgICogKNCx0LXQtyDQv9GA0L7QstC10YDQutC4INC00LDRkdGCINC+0YjQuNCx0LrRgylcclxuICAgKlxyXG4gICAqIGlkQWN0aW9uOlxyXG4gICAqIDEgLSBBQ1RJT05fRUxBUFNFRF9USU1FX0FERFxyXG4gICAqIDIgLSBBQ1RJT05fRUxBUFNFRF9USU1FX01PRElGWVxyXG4gICAqIDMgLSBBQ1RJT05fRUxBUFNFRF9USU1FX1JFTU9WRVxyXG4gICAqIEBwYXJhbSBwYXJhbVxyXG4gICAqL1xyXG4gIGlzQWN0aW9uQWxsb3dlZChwYXJhbTogaUlzQWN0aW9uQWxsb3dlZFBhcmFtKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jaGVja1Blcm1pc3Npb25SZWFkVGFzayhwYXJhbS5UQVNLSUQpLnBpcGUoXHJcbiAgICAgIG1lcmdlTWFwKGNhblJlYWQgPT4ge1xyXG4gICAgICAgIGlmIChjYW5SZWFkKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5CWFJlc3ROYXZ2eUVsYXBzZWRJdGVtLmlzQWN0aW9uQWxsb3dlZChwYXJhbSkucmVzKClcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCfQntGC0YHRg9GC0YHRgtCy0YPRjtGCINC/0YDQsNCy0LAg0L3QsCDRh9GC0LXQvdC40LUg0LfQsNC00LDRh9C4JykpXHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICog0J/QvtC70L3QvtGG0LXQvdC90YvQuSDQvNC10YLQvtC0INGD0LTQsNC70LXQvdC40Y9cclxuICAgKlxyXG4gICAqIEBwYXJhbSBwYXJhbVxyXG4gICAqL1xyXG4gIGRlbChwYXJhbTogaUJYUmVzdFBhcmFtRGVsRWxhcHNlZGl0ZW0pIHtcclxuICAgIHJldHVybiB0aGlzLmNoZWNrUGVybWlzc2lvblJlYWRUYXNrKHBhcmFtLlRBU0tJRCkucGlwZShcclxuICAgICAgbWVyZ2VNYXAoYWxsb3dlZFJlYWRUYXNrID0+IHtcclxuICAgICAgICBpZiAoYWxsb3dlZFJlYWRUYXNrKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5pc0FsbG93ZWRSZW1vdmUocGFyYW0uVEFTS0lELCBwYXJhbS5JVEVNSUQpLnBpcGUoXHJcbiAgICAgICAgICAgIG1lcmdlTWFwKGFsbG93ZWQgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChhbGxvd2VkKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5CWFJlc3ROYXZ2eUVsYXBzZWRJdGVtLmRlbGV0ZShwYXJhbSkucmVzKClcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCfQntGC0YHRg9GC0YHRgtCy0YPRjtGCINC/0YDQsNCy0LAg0L3QsCDRg9C00LDQu9C10L3QuNC1INC30LDQv9C40YHQuCDQt9Cw0YLRgNCw0YfQtdC90L3QvtCz0L4g0LLRgNC10LzQtdC90LgnKSlcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGH0YLQtdC90LjQtSDQt9Cw0LTQsNGH0LgnKSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzQWxsb3dlZFJlbW92ZShpZFRhc2s6IG51bWJlciwgaWRJdGVtOiBudW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLmlzQWN0aW9uQWxsb3dlZChcclxuICAgICAge1xyXG4gICAgICAgIFRBU0tJRDogaWRUYXNrLFxyXG4gICAgICAgIElURU1JRDogaWRJdGVtLFxyXG4gICAgICAgIEFDVElPTklEOiAzXHJcbiAgICAgIH0pXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
324
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhcHNlZGl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L3Rhc2svb3BlcmF0aW9uL2VsYXBzZWRpdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ3ZILE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDMUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDeEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDNUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzlDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBSXhFLE1BQU0sT0FBTywrQkFBK0I7SUFPMUMsWUFBb0Isc0JBQThDO1FBQTlDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFMakQsU0FBSSxHQUFHLElBQUksY0FBYyxFQUFFLENBQUE7UUFDM0IsYUFBUSxHQUFHLElBQUksOEJBQThCLEVBQUUsQ0FBQTtRQUMvQyxvQkFBZSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUE7UUFDdkMscUJBQWdCLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFBO0lBRzFELENBQUM7SUFFRCxhQUFhLENBQUMsUUFBa0IsRUFBRSxTQUFlLEVBQUUsT0FBYTtRQUM5RCxNQUFNLEtBQUssR0FBK0I7WUFD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QUFDO2dCQUNOLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUMsQ0FBQTtZQUMxRSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNILENBQUM7SUFFTyxlQUFlLENBQUMsTUFBYyxFQUFFLE1BQWM7UUFDcEQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUN6QjtZQUNFLE1BQU0sRUFBRSxNQUFNO1lBQ2QsTUFBTSxFQUFFLE1BQU07WUFDZCxRQUFRLEVBQUUsQ0FBQztTQUNaLENBQUMsQ0FBQTtJQUNOLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgaUJYUmVzdFBhcmFtRWxhcHNlZGl0ZW1HZXQsXHJcbiAgaUJYUmVzdFRhc2tFbGFwc2VkSXRlbUh0dHAsXHJcbiAgaUJYUmVzdFBhcmFtVGFza0dldEFjY2VzcyxcclxuICBpQlhSZXN0VGFza0dldEFjY2VzcyxcclxuICBpSXNBY3Rpb25BbGxvd2VkUGFyYW0sXHJcbiAgaUJYUmVzdFBhcmFtQWRkRWxhcHNlZGl0ZW0sXHJcbiAgaUJYUmVzdFBhcmFtVXBkYXRlRWxhcHNlZGl0ZW0sXHJcbiAgaUJYUmVzdFBhcmFtRGVsRWxhcHNlZGl0ZW1cclxufSBmcm9tICcuLi8uLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrJ1xyXG5pbXBvcnQgeyBIdHRwQlhTZXJ2aWNlcyB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2h0dHAvSHR0cEJYJ1xyXG5pbXBvcnQgeyAkZWxhcHNlZGl0ZW0sICRnZXRhY2Nlc3MsICRnZXRsaXN0LCAkaXNhY3Rpb25hbGxvd2VkLCAkdGFzaywgJHRhc2tzIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RzL3BhcnQtbmFtZS1tZXRob2RzJ1xyXG5pbXBvcnQgeyBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuaW1wb3J0IHsgQlhSZXN0TWFwVGFza0VsYXBzZWRJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbWFwL3Rhc2svZWxhcHNlZGl0ZW0nXHJcbmltcG9ydCB7IG1lcmdlTWFwLCBvZiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCB7IEJYUmVzdE5hdnZ5VXNlciB9IGZyb20gJy4uLy4uL3VzZXInXHJcbmltcG9ydCB7IEJYUmVzdE5hdnZ5VGFza3MgfSBmcm9tICcuLi8uLi90YXNrcydcclxuaW1wb3J0IHsgQlhSZXN0TmF2dnlEZWxlZ2F0ZUVsYXBzZWRJdGVtIH0gZnJvbSAnLi4vZGVsZWdhdGUvZWxhcHNlZGl0ZW0nXHJcbmltcG9ydCB7IGlCWFJlc3RVc2VyIH0gZnJvbSAnLi4vLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdXNlcidcclxuaW1wb3J0IHsgQlhSZXN0TmF2dnlFbGFwc2VkSXRlbSB9IGZyb20gJy4uL2VsYXBzZWRpdGVtJ1xyXG5cclxuZXhwb3J0IGNsYXNzIEJYUmVzdE5hdnZ5T3BlcmF0aW9uRWxhcHNlZEl0ZW0ge1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBuZXcgSHR0cEJYU2VydmljZXMoKVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVsZWdhdGUgPSBuZXcgQlhSZXN0TmF2dnlEZWxlZ2F0ZUVsYXBzZWRJdGVtKClcclxuICBwcml2YXRlIHJlYWRvbmx5IEJYUmVzdE5hdnZ5VXNlciA9IG5ldyBCWFJlc3ROYXZ2eVVzZXIoKVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgQlhSZXN0TmF2dnlUYXNrcyA9IG5ldyBCWFJlc3ROYXZ2eVRhc2tzKClcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBCWFJlc3ROYXZ2eUVsYXBzZWRJdGVtOiBCWFJlc3ROYXZ2eUVsYXBzZWRJdGVtKSB7XHJcbiAgfVxyXG5cclxuICBnZXRCeUludGVydmFsKGlkc1VzZXJzOiBudW1iZXJbXSwgZGF0ZVN0YXJ0OiBEYXRlLCBkYXRlRW5kOiBEYXRlKSB7XHJcbiAgICBjb25zdCBwYXJhbTogaUJYUmVzdFBhcmFtRWxhcHNlZGl0ZW1HZXQgPSB7XHJcbiAgICAgIE9SREVSOiB7XHJcbiAgICAgICAgSUQ6ICdERVNDJ1xyXG4gICAgICB9LFxyXG4gICAgICBGSUxURVI6IHtcclxuICAgICAgICBVU0VSX0lEOiBpZHNVc2VycyxcclxuICAgICAgICAnPj1DUkVBVEVEX0RBVEUnOiBkYXRlU3RhcnQudG9Mb2NhbGVTdHJpbmcoJ3J1LVJ1Jywge1xyXG4gICAgICAgICAgdGltZVpvbmVOYW1lOiAnc2hvcnQnXHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgJzw9Q1JFQVRFRF9EQVRFJzogZGF0ZUVuZC50b0xvY2FsZVN0cmluZygncnUtUnUnLCB7XHJcbiAgICAgICAgICB0aW1lWm9uZU5hbWU6ICdzaG9ydCdcclxuICAgICAgICB9KSxcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGUuZ2V0TGlzdChwYXJhbSlcclxuICB9XHJcblxyXG4gIC8vIFRPRE86INCh0LTQtdC70LDRgtGMINC90L7RgNC80LDQu9GM0L3QvlxyXG4gIGdldExpc3RCeUlEVGFzayhpZHM6IG51bWJlcltdKSB7XHJcbiAgICAvLyDQoNCw0LHQvtGC0LDQtdGCINGC0L7Qu9GM0LrQviDQv9C+0YLQvtC80YMg0YfRgtC+IFwiblBhZ2VTaXplOiA5OTk5OVwiXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmJyYW5jaDxpQlhSZXN0UGFyYW1FbGFwc2VkaXRlbUdldCwgaUJYUmVzdFRhc2tFbGFwc2VkSXRlbUh0dHA+XHJcbiAgICAoXHJcbiAgICAgIGlkcy5tYXAoaSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIG5hbWU6IHRoaXMuaHR0cC5nZXROYW1lTWV0aG9kKFskdGFzaywgJGVsYXBzZWRpdGVtLCAkZ2V0bGlzdF0pLFxyXG4gICAgICAgICAgcGFyYW06IHtcclxuICAgICAgICAgICAgVEFTS0lEOiBpLFxyXG4gICAgICAgICAgICBQQVJBTVM6IHtcclxuICAgICAgICAgICAgICBOQVZfUEFSQU1TOiB7XHJcbiAgICAgICAgICAgICAgICBuUGFnZVNpemU6IDk5OTk5LFxyXG4gICAgICAgICAgICAgICAgaU51bVBhZ2U6IDFcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcCh2ID0+IHtcclxuICAgICAgICBpZiAodiAmJiB2Lmxlbmd0aCkge1xyXG4gICAgICAgICAgY29uc3QgcmVzID0gdGhpcy5odHRwLm1hcEJyYW5jaFJlc3VsdFdpdGhvdXRLZXkodilcclxuICAgICAgICAgIHJldHVybiBCWFJlc3RNYXBUYXNrRWxhcHNlZEl0ZW0uZ2V0TGlzdChyZXMpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIGNoZWNrUGVybWlzc2lvbkFkZEVsYXBzZWRUaW1lVG9UYXNrQXJyKHRhc2tzOiBudW1iZXJbXSwgdXNlckN1cnJlbnQ6IGlCWFJlc3RVc2VyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKSB7XHJcbiAgICAvLyDQo9Cx0LjRgNCw0LXQvCDQtNGD0LHQu9C4LCDRh9GC0L7QsdGLINC90LUg0L/RgNC+0LLQtdGA0Y/RgtGMINC/0YDQsNCy0LAg0L/QviDQvtC00L3QvtC5INC30LDQtNCw0YfQtSDQvdC10YHQutC+0LvRjNC60L4g0YDQsNC3LlxyXG4gICAgY29uc3QgaWRzID0gWy4uLm5ldyBTZXQodGFza3MuZmlsdGVyKGkgPT4gISFpKSldXHJcbiAgICAvLyDQldGB0LvQuCDRgtC10LrRg9GJ0LjQuSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L3QtSDQv9C10YDQtdC00LDQvSDRgdC90LDRgNGD0LbQuCwg0LfQsNC/0YDQsNGI0LjQstCw0LXQvCDQtdCz0L4g0L7QtNC40L0g0YDQsNC3INC90LAg0LLQtdGB0Ywg0L3QsNCx0L7RgCDQt9Cw0LTQsNGHLlxyXG4gICAgY29uc3QgdXNlciQgPSB1c2VyQ3VycmVudCA/IG9mKHVzZXJDdXJyZW50KSA6IHRoaXMuQlhSZXN0TmF2dnlVc2VyLmN1cnJlbnQoKS5yZXMoKVxyXG5cclxuICAgIC8vINCh0YLQsNGA0YvQuSBiYXRjaCDRh9C10YDQtdC3IHRhc2suZWxhcHNlZGl0ZW0uaXNhY3Rpb25hbGxvd2VkLlxyXG4gICAgLy8g0JLRi9C30YvQstCw0LXQvCDQtdCz0L4g0L3QuNC20LUg0YLQvtC70YzQutC+INC00LvRjyDQt9Cw0LTQsNGHLCDQv9C+INC60L7RgtC+0YDRi9C8IGdldGFjY2VzcyDQvdC1INCy0LXRgNC90YPQuyBFTEFQU0VEVElNRS5BREQuXHJcbiAgICBjb25zdCBsb2FkTWlzc2luZ0J5QWN0aW9uQWxsb3dlZCA9IChtaXNzaW5nSWRzOiBudW1iZXJbXSwgcmVzb2x2ZWQ6IHsgaWQ6IG51bWJlciwgdmFsdWU6IGJvb2xlYW4gfVtdKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuYnJhbmNoPGlJc0FjdGlvbkFsbG93ZWRQYXJhbSwgYm9vbGVhbj4oXHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbih7fSwgLi4ubWlzc2luZ0lkcy5tYXAoaSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBbaV06IHtcclxuICAgICAgICAgICAgICBuYW1lOiB0aGlzLmh0dHAuZ2V0TmFtZU1ldGhvZChbJHRhc2ssICRlbGFwc2VkaXRlbSwgJGlzYWN0aW9uYWxsb3dlZF0pLFxyXG4gICAgICAgICAgICAgIHBhcmFtOiB7XHJcbiAgICAgICAgICAgICAgICBUQVNLSUQ6IGksXHJcbiAgICAgICAgICAgICAgICBJVEVNSUQ6IDEsXHJcbiAgICAgICAgICAgICAgICBBQ1RJT05JRDogMVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pKVxyXG4gICAgICApLnBpcGUoXHJcbiAgICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgICAgaWYgKHYgJiYgdi5sZW5ndGgpIHtcclxuICAgICAgICAgICAgY29uc3QgcmVzOiBSZWNvcmQ8bnVtYmVyLCBib29sZWFuPiA9IHRoaXMuaHR0cC5tYXBCcmFuY2hSZXN1bHQodilcclxuICAgICAgICAgICAgY29uc3QgbG9hZGVkID0gT2JqZWN0LmVudHJpZXMocmVzKS5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xyXG4gICAgICAgICAgICAgIHJldHVybiB7aWQ6IE51bWJlcihrZXkpLCB2YWx1ZX1cclxuICAgICAgICAgICAgfSlcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBbLi4ucmVzb2x2ZWQsIC4uLmxvYWRlZF1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkXHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgfVxyXG5cclxuICAgIGlmICghaWRzLmxlbmd0aCkge1xyXG4gICAgICByZXR1cm4gb2YoW10pXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHVzZXIkLnBpcGUoXHJcbiAgICAgIHRha2UoMSksXHJcbiAgICAgIG1lcmdlTWFwKHNlbGYgPT4ge1xyXG4gICAgICAgIGlmICghc2VsZikge1xyXG4gICAgICAgICAgLy8g0KHRgtGA0LDRhdC+0LLQvtGH0L3QsNGPINCy0LXRgtC60LA6INC10YHQu9C4IHVzZXIuY3VycmVudCDQvdC1INCy0LXRgNC90YPQu9GB0Y8sIGdldGFjY2VzcyDQstGL0LfQstCw0YLRjCDQvdC10LvRjNC30Y8uXHJcbiAgICAgICAgICByZXR1cm4gbG9hZE1pc3NpbmdCeUFjdGlvbkFsbG93ZWQoaWRzLCBbXSlcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vINCe0YHQvdC+0LLQvdC+0Lkg0L/Rg9GC0Yw6INC+0LTQvdC40LwgYmF0Y2gt0LfQsNC/0YDQvtGB0L7QvCDQv9C+0LvRg9GH0LDQtdC8INC/0YDQsNCy0LAgRUxBUFNFRFRJTUUuQUREINC/0L4g0LLRgdC10Lwg0LfQsNC00LDRh9Cw0LwuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5icmFuY2g8aUJYUmVzdFBhcmFtVGFza0dldEFjY2VzcywgaUJYUmVzdFRhc2tHZXRBY2Nlc3M+KFxyXG4gICAgICAgICAgT2JqZWN0LmFzc2lnbih7fSwgLi4uaWRzLm1hcChpZCA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgW2lkXToge1xyXG4gICAgICAgICAgICAgICAgbmFtZTogdGhpcy5odHRwLmdldE5hbWVNZXRob2QoWyR0YXNrcywgJHRhc2ssICRnZXRhY2Nlc3NdKSxcclxuICAgICAgICAgICAgICAgIHBhcmFtOiB7XHJcbiAgICAgICAgICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgICAgICAgICB1c2VyczogW3NlbGYuSURdXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KSlcclxuICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICBtZXJnZU1hcCh2ID0+IHtcclxuICAgICAgICAgICAgaWYgKHYgJiYgdi5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICBjb25zdCByZXMgPSB0aGlzLmh0dHAubWFwQnJhbmNoUmVzdWx0PGlCWFJlc3RUYXNrR2V0QWNjZXNzPih2KVxyXG4gICAgICAgICAgICAgIGNvbnN0IHBlcm1pc3Npb25zID0gaWRzLm1hcChpZCA9PiAoe1xyXG4gICAgICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzW2lkXT8uYWxsb3dlZEFjdGlvbnM/LltzZWxmLklEXT8uWydFTEFQU0VEVElNRS5BREQnXVxyXG4gICAgICAgICAgICAgIH0pKVxyXG5cclxuICAgICAgICAgICAgICAvLyBnZXRhY2Nlc3Mg0LzQvtC20LXRgiDQstC10YDQvdGD0YLRjCB0cnVlINC40LvQuCBmYWxzZSAtINC+0LHQsCDQt9C90LDRh9C10L3QuNGPINGB0YfQuNGC0LDQtdC8INCz0L7RgtC+0LLRi9C8INC+0YLQstC10YLQvtC8LlxyXG4gICAgICAgICAgICAgIC8vINCSINGB0YLQsNGA0YvQuSBpc2FjdGlvbmFsbG93ZWQg0L7RgtC/0YDQsNCy0LvRj9C10Lwg0YLQvtC70YzQutC+INC30LDQtNCw0YfQuCDQsdC10Lcg0Y/QstC90L7Qs9C+IEVMQVBTRURUSU1FLkFERC5cclxuICAgICAgICAgICAgICBjb25zdCByZXNvbHZlZCA9IHBlcm1pc3Npb25zLmZpbHRlcihpID0+IGkudmFsdWUgIT09IHVuZGVmaW5lZCkgYXMgeyBpZDogbnVtYmVyLCB2YWx1ZTogYm9vbGVhbiB9W11cclxuICAgICAgICAgICAgICBjb25zdCBtaXNzaW5nSWRzID0gcGVybWlzc2lvbnMuZmlsdGVyKGkgPT4gaS52YWx1ZSA9PT0gdW5kZWZpbmVkKS5tYXAoaSA9PiBpLmlkKVxyXG5cclxuICAgICAgICAgICAgICBpZiAobWlzc2luZ0lkcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBsb2FkTWlzc2luZ0J5QWN0aW9uQWxsb3dlZChtaXNzaW5nSWRzLCByZXNvbHZlZClcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIHJldHVybiBvZihwZXJtaXNzaW9ucylcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8g0JXRgdC70LggYmF0Y2ggZ2V0YWNjZXNzINC90LUg0LLQtdGA0L3Rg9C70YHRjywg0YHQvtGF0YDQsNC90Y/QtdC8INC/0L7QstC10LTQtdC90LjQtSDRgdGC0LDRgNC+0LPQviBmYWxsYmFjay5cclxuICAgICAgICAgICAgcmV0dXJuIGxvYWRNaXNzaW5nQnlBY3Rpb25BbGxvd2VkKGlkcywgW10pXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcbiAgLyoqXHJcbiAgICog0J/RgNC+0LLQtdGA0LrQsCDQvdCwINCy0L7Qt9C80L7QttC90L7RgdGC0Ywg0LTQvtCx0LDQstC70LXQvdC40LUg0LfQsNC/0LjRgdC4INGC0YDQtdC60LAg0LIg0YLQsNGB0LrRg1xyXG4gICAqXHJcbiAgICogQHBhcmFtIGlkVGFza1xyXG4gICAqIEBwYXJhbSB1c2VyQ3VycmVudFxyXG4gICAqL1xyXG4gIGNoZWNrUGVybWlzc2lvbkFkZEVsYXBzZWRUaW1lVG9UYXNrKGlkVGFzazogbnVtYmVyLCB1c2VyQ3VycmVudDogaUJYUmVzdFVzZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQpIHtcclxuICAgIC8vIGxldCBwZXJtaXNzaW9uID0gUGVybWlzc2lvbi5nZXQoKVxyXG4gICAgLy8gaWYgKHBlcm1pc3Npb24/LnRhc2tzPy5sZW5ndGgpIHtcclxuICAgIC8vICAgbGV0IGZpbmRUYXNrID0gcGVybWlzc2lvbi50YXNrcy5maW5kKGkgPT4gaS5pZCA9PT0gaWRUYXNrKVxyXG4gICAgLy8gICBpZiAoZmluZFRhc2s/LnBlcm1pc3Npb24pIHtcclxuICAgIC8vICAgICByZXR1cm4gb2YoZmluZFRhc2sucGVybWlzc2lvblsnRUxBUFNFRFRJTUUuQUREJ10pXHJcbiAgICAvLyAgIH1cclxuICAgIHJldHVybiAoKHVzZXJDdXJyZW50KSA/IG9mKHVzZXJDdXJyZW50KSA6IHRoaXMuQlhSZXN0TmF2dnlVc2VyLmN1cnJlbnQoKS5yZXMoKSkucGlwZShcclxuICAgICAgbWVyZ2VNYXAoc2VsZiA9PiB7XHJcbiAgICAgICAgaWYgKHNlbGYpIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5VGFza3MudGFzay5nZXRBY2Nlc3MoXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBpZDogaWRUYXNrLFxyXG4gICAgICAgICAgICAgIHVzZXJzOiBbc2VsZi5JRF1cclxuICAgICAgICAgICAgfSkucmVzKCkucGlwZShcclxuICAgICAgICAgICAgLy8gdGFwKHYgPT4ge1xyXG4gICAgICAgICAgICAvLyAgIGlmICh2ICYmIHZbc2VsZi5JRF0pIHtcclxuICAgICAgICAgICAgLy8gICAgIFBlcm1pc3Npb24uc2V0KHtcclxuICAgICAgICAgICAgLy8gICAgICAgdGFza3M6IFt7aWQ6IGlkVGFzaywgcGVybWlzc2lvbjogdltzZWxmLklEXSwgZWxhcHNlZEl0ZW06IFtdfV1cclxuICAgICAgICAgICAgLy8gICAgIH0pXHJcbiAgICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgICAvLyB9KSxcclxuICAgICAgICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgICAgICAgIHJldHVybiAodiAmJiB2W3NlbGYuSURdKSA/IHZbc2VsZi5JRF1bJ0VMQVBTRURUSU1FLkFERCddIDogZmFsc2VcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gcmV0dXJuIG9mKHVuZGVmaW5lZClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqINCf0YDQvtCy0LXRgNC60LAg0L3QsCDQstC+0LfQvNC+0LbQvdC+0YHRgtGMINC/0YDQvtGH0YLQtdC90LjRjyDRgtCw0LrRgdC60LhcclxuICAgKlxyXG4gICAqIEBwYXJhbSBpZFRhc2tcclxuICAgKiBAcGFyYW0gdXNlckN1cnJlbnRcclxuICAgKi9cclxuICBjaGVja1Blcm1pc3Npb25SZWFkVGFzayhpZFRhc2s6IG51bWJlciwgdXNlckN1cnJlbnQ6IGlCWFJlc3RVc2VyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKSB7XHJcbiAgICAvLyBsZXQgcGVybWlzc2lvbiA9IFBlcm1pc3Npb24uZ2V0KClcclxuICAgIC8vIGlmIChwZXJtaXNzaW9uPy50YXNrcz8ubGVuZ3RoKSB7XHJcbiAgICAvLyAgIGxldCBmaW5kVGFzayA9IHBlcm1pc3Npb24udGFza3MuZmluZChpID0+IGkuaWQgPT09IGlkVGFzaylcclxuICAgIC8vICAgaWYgKGZpbmRUYXNrPy5wZXJtaXNzaW9uKSB7XHJcbiAgICAvLyAgICAgcmV0dXJuIG9mKGZpbmRUYXNrLnBlcm1pc3Npb24uQUNDRVBUKVxyXG4gICAgLy8gICB9XHJcbiAgICAvLyAgIGNvbnNvbGUubG9nKCdpZFRhc2snLCBpZFRhc2spXHJcbiAgICByZXR1cm4gKCh1c2VyQ3VycmVudCkgPyBvZih1c2VyQ3VycmVudCkgOiB0aGlzLkJYUmVzdE5hdnZ5VXNlci5jdXJyZW50KCkucmVzKCkpLnBpcGUoXHJcbiAgICAgIG1lcmdlTWFwKHNlbGYgPT4ge1xyXG4gICAgICAgIGlmIChzZWxmKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5CWFJlc3ROYXZ2eVRhc2tzLnRhc2suZ2V0QWNjZXNzKFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgaWQ6IGlkVGFzayxcclxuICAgICAgICAgICAgICB1c2VyczogW3NlbGYuSURdXHJcbiAgICAgICAgICAgIH0pLnJlcygpLnBpcGUoXHJcbiAgICAgICAgICAgIC8vIHRhcCh2ID0+IHtcclxuICAgICAgICAgICAgLy8gICBpZiAodiAmJiB2W3NlbGYuSURdKSB7XHJcbiAgICAgICAgICAgIC8vICAgICBQZXJtaXNzaW9uLnNldCh7XHJcbiAgICAgICAgICAgIC8vICAgICAgIHRhc2tzOiBbe2lkOiBpZFRhc2ssIHBlcm1pc3Npb246IHZbc2VsZi5JRF0sIGVsYXBzZWRJdGVtOiBbXX1dXHJcbiAgICAgICAgICAgIC8vICAgICB9KVxyXG4gICAgICAgICAgICAvLyAgIH1cclxuICAgICAgICAgICAgLy8gfSksXHJcbiAgICAgICAgICAgIG1hcCh2ID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gKHYgJiYgdltzZWxmLklEXSkgPyAhIXZbc2VsZi5JRF0gOiBmYWxzZSAvLyDQvtGC0LTQtdC70YzQvdC+0LPQviDRhNC70LDQs9CwINC90LAg0YfRgtC10L3QuNC1INC90LXRgiwg0LLRi9GF0L7QtNC40YIg0YfRgtC+INC10YHQu9C4INC/0YDQsNCy0LAg0L7RgtC00LDQu9C40YHRjCDRgtC+INC4INC/0YDQsNCy0LAg0LXRgdGC0YxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgICAvLyB9XHJcbiAgICAvL1xyXG4gICAgLy8gcmV0dXJuIG9mKHVuZGVmaW5lZClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqINCX0LDQutC+0L3Rh9C10L3QvdGL0Lkg0LzQtdGC0L7QtCDQtNC+0LHQsNCy0LvQtdC90LjRjyDQt9Cw0L/QuNGB0Lgg0YEg0L/RgNC10LTQstCw0YDQuNGC0LXQu9GM0L3QvtC5INC/0YDQvtCy0LXRgNC60L7QuSDQv9GA0LDQslxyXG4gICAqXHJcbiAgICogVE9ETzog0LTQvtCx0LDQstC40YLRjCDRgdC+0YXRgNCw0L3QtdC90LjQtSDQv9GA0LXQtNCy0LDRgNC40YLQtdC70YzQvdC+INC/0YDQvtCy0LXRgNC10L3QvdGL0YUg0LfQsNC/0LjRgdC10LlcclxuICAgKiBAcGFyYW0gcGFyYW1cclxuICAgKi9cclxuICBhZGQocGFyYW06IGlCWFJlc3RQYXJhbUFkZEVsYXBzZWRpdGVtKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jaGVja1Blcm1pc3Npb25SZWFkVGFzayhwYXJhbS5UQVNLSUQpLnBpcGUoXHJcbiAgICAgIG1lcmdlTWFwKGFsbG93ZWRSZWFkVGFzayA9PiB7XHJcbiAgICAgICAgaWYgKGFsbG93ZWRSZWFkVGFzaykge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tQZXJtaXNzaW9uQWRkRWxhcHNlZFRpbWVUb1Rhc2socGFyYW0uVEFTS0lEKS5waXBlKFxyXG4gICAgICAgICAgICBtZXJnZU1hcChhbGxvd2VkID0+IHtcclxuICAgICAgICAgICAgICBpZiAoYWxsb3dlZCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuQlhSZXN0TmF2dnlFbGFwc2VkSXRlbS5hZGQocGFyYW0pLnJlcygpXHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcign0J7RgtGB0YPRgtGB0YLQstGD0Y7RgiDQv9GA0LDQstCwINC00L7QsdCw0LLQu9C10L3QuNC1INC30LDQv9C40YHQuCDQt9Cw0YLRgNCw0YfQtdC90L3QvtCz0L4g0LLRgNC10LzQtdC90LgnKSlcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGH0YLQtdC90LjQtSDQt9Cw0LTQsNGH0LgnKSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog0JfQsNC60L7QvdGH0LXQvdC90YvQuSDQvNC10YLQvtC0INC+0LHQvdC+0LLQu9C10L3QuNGPINC30LDQv9C40YHQuCDRgSDQv9GA0LXQtNCy0LDRgNC40YLQtdC70YzQvdC+0Lkg0L/RgNC+0LLQtdGA0LrQvtC5INC/0YDQsNCyXHJcbiAgICpcclxuICAgKiBUT0RPOiDQtNC+0LHQsNCy0LjRgtGMINGB0L7RhdGA0LDQvdC10L3QuNC1INC/0YDQtdC00LLQsNGA0LjRgtC10LvRjNC90L4g0L/RgNC+0LLQtdGA0LXQvdC90YvRhSDQt9Cw0L/QuNGB0LXQuVxyXG4gICAqIEBwYXJhbSBwYXJhbVxyXG4gICAqL1xyXG4gIHVwZGF0ZShwYXJhbTogaUJYUmVzdFBhcmFtVXBkYXRlRWxhcHNlZGl0ZW0pIHtcclxuICAgIHJldHVybiB0aGlzLmNoZWNrUGVybWlzc2lvblJlYWRUYXNrKHBhcmFtLlRBU0tJRCkucGlwZShcclxuICAgICAgbWVyZ2VNYXAoKGFsbG93ZWRSZWFkVGFzaykgPT4ge1xyXG4gICAgICAgIGlmIChhbGxvd2VkUmVhZFRhc2spIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmlzQWxsb3dlZE1vZGlmeShwYXJhbS5UQVNLSUQsIHBhcmFtLklURU1JRCkucGlwZShcclxuICAgICAgICAgICAgbWVyZ2VNYXAoYWxsb3dlZCA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGFsbG93ZWQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5RWxhcHNlZEl0ZW0udXBkYXRlKHBhcmFtKS5yZXMoKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINC40LfQvNC10L3QtdC90LjQtSDQt9Cw0L/QuNGB0Lgg0LfQsNGC0YDQsNGH0LXQvdC90L7Qs9C+INCy0YDQtdC80LXQvdC4JykpXHJcbiAgICAgICAgICAgIH0pKVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGH0YLQtdC90LjQtSDQt9Cw0LTQsNGH0LgnKSlcclxuICAgICAgfSkpXHJcbiAgfVxyXG5cclxuICAvLyBUT0RPOiDRgNCw0LfQvtCx0YDQsNGC0YzRgdGPINGH0YLQviDRjdGC0L4g0LfQsCDQtdCx0LDRgtC90Y8g0LIg0LrQvtC80LzQtdC90YLQsNGFINC4INCy0L/QuNGB0LDRgtGMINC90L7RgNC80LDQu9GM0L3QvtC5INC60L7QvNC10L3RgiDQtdGB0LvQuCDQvtC90LAg0L3Rg9C20L3QsFxyXG4gIGlzQWxsb3dlZE1vZGlmeShpZFRhc2s6IG51bWJlciwgaWRJdGVtOiBudW1iZXIpIHtcclxuICAgIC8vIGxldCBwZXJtaXNzaW9uID0gUGVybWlzc2lvbi5nZXQoKVxyXG4gICAgLy8gaWYgKHBlcm1pc3Npb24/LnRhc2tzPy5sZW5ndGgpIHtcclxuICAgIC8vICAgbGV0IGZpbmRUYXNrID0gcGVybWlzc2lvbi50YXNrcy5maW5kKGkgPT4gaS5pZCA9PT0gaWRUYXNrKVxyXG4gICAgLy8gICBpZiAoZmluZFRhc2spIHtcclxuICAgIC8vICAgICBsZXQgZmluZCA9IGZpbmRUYXNrLmVsYXBzZWRJdGVtLmZpbmQoaSA9PiBpLmlkID09PSBpZEl0ZW0pXHJcbiAgICAvLyAgICAgaWYgKGZpbmQgJiYgZmluZC52ZXJpZmllZC5lZGl0KSB7XHJcbiAgICAvLyAgICAgICByZXR1cm4gb2YoZmluZC5lZGl0KVxyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgfVxyXG4gICAgLy8gfVxyXG5cclxuICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5RWxhcHNlZEl0ZW0uaXNBY3Rpb25BbGxvd2VkKHtcclxuICAgICAgVEFTS0lEOiBpZFRhc2ssXHJcbiAgICAgIElURU1JRDogaWRJdGVtLFxyXG4gICAgICBBQ1RJT05JRDogMlxyXG4gICAgfSkucmVzKClcclxuICAgIC8vICAgLnBpcGUoXHJcbiAgICAvLyAgIHRhcCh2ID0+IHtcclxuICAgIC8vICAgICBpZiAodiAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAvLyAgICAgICBQZXJtaXNzaW9uLnNldFRhc2tFbGFwc2VkSXRlbShpZFRhc2ssXHJcbiAgICAvLyAgICAgICAgIHtcclxuICAgIC8vICAgICAgICAgICBpZDogaWRJdGVtLFxyXG4gICAgLy8gICAgICAgICAgIGVkaXQ6IHYsXHJcbiAgICAvLyAgICAgICAgICAgZGVsOiBmYWxzZSxcclxuICAgIC8vICAgICAgICAgICB2ZXJpZmllZDoge1xyXG4gICAgLy8gICAgICAgICAgICAgZWRpdDogdHJ1ZSxcclxuICAgIC8vICAgICAgICAgICAgIGRlbDogZmFsc2UsXHJcbiAgICAvLyAgICAgICAgICAgfVxyXG4gICAgLy8gICAgICAgICB9KVxyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgfSlcclxuICAgIC8vIClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIGlzQWN0aW9uQWxsb3dlZCDRgSDRhNC40LrRgdC+0Lwg0L3QsCDQv9GA0L7QstC10YDQutGDINCy0L7Qt9C80L7QttC90L7RgdGC0Lgg0YfRgtC10L3QuNGPINC30LDQtNCw0YfQuCDQt9Cw0L/QuNGB0LhcclxuICAgKiAo0LHQtdC3INC/0YDQvtCy0LXRgNC60Lgg0LTQsNGR0YIg0L7RiNC40LHQutGDKVxyXG4gICAqXHJcbiAgICogaWRBY3Rpb246XHJcbiAgICogMSAtIEFDVElPTl9FTEFQU0VEX1RJTUVfQUREXHJcbiAgICogMiAtIEFDVElPTl9FTEFQU0VEX1RJTUVfTU9ESUZZXHJcbiAgICogMyAtIEFDVElPTl9FTEFQU0VEX1RJTUVfUkVNT1ZFXHJcbiAgICogQHBhcmFtIHBhcmFtXHJcbiAgICovXHJcbiAgaXNBY3Rpb25BbGxvd2VkKHBhcmFtOiBpSXNBY3Rpb25BbGxvd2VkUGFyYW0pIHtcclxuICAgIHJldHVybiB0aGlzLmNoZWNrUGVybWlzc2lvblJlYWRUYXNrKHBhcmFtLlRBU0tJRCkucGlwZShcclxuICAgICAgbWVyZ2VNYXAoY2FuUmVhZCA9PiB7XHJcbiAgICAgICAgaWYgKGNhblJlYWQpIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5RWxhcHNlZEl0ZW0uaXNBY3Rpb25BbGxvd2VkKHBhcmFtKS5yZXMoKVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGH0YLQtdC90LjQtSDQt9Cw0LTQsNGH0LgnKSlcclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiDQn9C+0LvQvdC+0YbQtdC90L3Ri9C5INC80LXRgtC+0LQg0YPQtNCw0LvQtdC90LjRj1xyXG4gICAqXHJcbiAgICogQHBhcmFtIHBhcmFtXHJcbiAgICovXHJcbiAgZGVsKHBhcmFtOiBpQlhSZXN0UGFyYW1EZWxFbGFwc2VkaXRlbSkge1xyXG4gICAgcmV0dXJuIHRoaXMuY2hlY2tQZXJtaXNzaW9uUmVhZFRhc2socGFyYW0uVEFTS0lEKS5waXBlKFxyXG4gICAgICBtZXJnZU1hcChhbGxvd2VkUmVhZFRhc2sgPT4ge1xyXG4gICAgICAgIGlmIChhbGxvd2VkUmVhZFRhc2spIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmlzQWxsb3dlZFJlbW92ZShwYXJhbS5UQVNLSUQsIHBhcmFtLklURU1JRCkucGlwZShcclxuICAgICAgICAgICAgbWVyZ2VNYXAoYWxsb3dlZCA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGFsbG93ZWQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5RWxhcHNlZEl0ZW0uZGVsZXRlKHBhcmFtKS5yZXMoKVxyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGD0LTQsNC70LXQvdC40LUg0LfQsNC/0LjRgdC4INC30LDRgtGA0LDRh9C10L3QvdC+0LPQviDQstGA0LXQvNC10L3QuCcpKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcign0J7RgtGB0YPRgtGB0YLQstGD0Y7RgiDQv9GA0LDQstCwINC90LAg0YfRgtC10L3QuNC1INC30LDQtNCw0YfQuCcpKVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNBbGxvd2VkUmVtb3ZlKGlkVGFzazogbnVtYmVyLCBpZEl0ZW06IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNBY3Rpb25BbGxvd2VkKFxyXG4gICAgICB7XHJcbiAgICAgICAgVEFTS0lEOiBpZFRhc2ssXHJcbiAgICAgICAgSVRFTUlEOiBpZEl0ZW0sXHJcbiAgICAgICAgQUNUSU9OSUQ6IDNcclxuICAgICAgfSlcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -6,7 +6,6 @@ import { instanceOfiBXRestAnswerSuccess } from '../../functions/mapResult';
|
|
|
6
6
|
import { switchMap } from 'rxjs/operators';
|
|
7
7
|
import * as qs from 'qs';
|
|
8
8
|
import { prepareBaseAddress } from '../base';
|
|
9
|
-
import { BXRestSettings } from '../../settings';
|
|
10
9
|
export class HttpBXServices extends HttpServices {
|
|
11
10
|
/**
|
|
12
11
|
* Это пиздец а не метод
|
|
@@ -70,19 +69,19 @@ export class HttpBXServices extends HttpServices {
|
|
|
70
69
|
httpPost(url, params = {}) {
|
|
71
70
|
const paramsClone = clone(params);
|
|
72
71
|
const key = this.session.getKeyAuth();
|
|
73
|
-
|
|
72
|
+
const auth = this.session.getAuthParams();
|
|
74
73
|
const checkIsOn = this.session.getCheckAuthParamsIsOn();
|
|
75
|
-
if (checkIsOn
|
|
76
|
-
if (!auth
|
|
77
|
-
|
|
74
|
+
if (checkIsOn) {
|
|
75
|
+
if (!auth) {
|
|
76
|
+
return throwError(() => this.session.getAuthError('post'));
|
|
77
|
+
}
|
|
78
|
+
if (key !== 'OAuth2') {
|
|
79
|
+
paramsClone[key] = auth;
|
|
78
80
|
}
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
paramsClone[key] = auth;
|
|
82
81
|
}
|
|
83
82
|
return this.session.getBaseUrl().pipe(switchMap((baseUrl) => {
|
|
84
83
|
if (!baseUrl) {
|
|
85
|
-
return throwError(() =>
|
|
84
|
+
return throwError(() => this.session.getBaseUrlError('post'));
|
|
86
85
|
}
|
|
87
86
|
const fullUrl = prepareBaseAddress(baseUrl) + url;
|
|
88
87
|
if (key === 'sessid') {
|
|
@@ -148,10 +147,17 @@ export class HttpBXServices extends HttpServices {
|
|
|
148
147
|
if (params === null) {
|
|
149
148
|
params = {};
|
|
150
149
|
}
|
|
151
|
-
|
|
150
|
+
const auth = this.session.getAuthParams();
|
|
152
151
|
const paramsClone = clone(params);
|
|
153
|
-
|
|
154
|
-
|
|
152
|
+
const checkIsOn = this.session.getCheckAuthParamsIsOn();
|
|
153
|
+
const key = this.session.getKeyAuth();
|
|
154
|
+
if (checkIsOn) {
|
|
155
|
+
if (!auth) {
|
|
156
|
+
return throwError(() => this.session.getAuthError('get'));
|
|
157
|
+
}
|
|
158
|
+
if (key !== 'OAuth2') {
|
|
159
|
+
paramsClone[key] = auth;
|
|
160
|
+
}
|
|
155
161
|
}
|
|
156
162
|
let options = {
|
|
157
163
|
params: paramsClone
|
|
@@ -159,9 +165,10 @@ export class HttpBXServices extends HttpServices {
|
|
|
159
165
|
};
|
|
160
166
|
return this.session.getBaseUrl().pipe(switchMap((baseUrl) => {
|
|
161
167
|
if (!baseUrl) {
|
|
162
|
-
return throwError(() =>
|
|
168
|
+
return throwError(() => this.session.getBaseUrlError('get'));
|
|
163
169
|
}
|
|
164
170
|
return from(this.axiosInstance.post(prepareBaseAddress(baseUrl) + url, options, {
|
|
171
|
+
withCredentials: key === 'OAuth2',
|
|
165
172
|
headers: {
|
|
166
173
|
'Content-Type': 'application/json',
|
|
167
174
|
}
|
|
@@ -172,4 +179,4 @@ export class HttpBXServices extends HttpServices {
|
|
|
172
179
|
return arr.join('.');
|
|
173
180
|
}
|
|
174
181
|
}
|
|
175
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cEJYLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvc2VydmljZXMvaHR0cC9IdHRwQlgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzdELE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQTtBQUM5QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBS3JDLE9BQU8sT0FBTyxNQUFNLGlCQUFpQixDQUFBO0FBQ3JDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUMxQyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQTtBQUN4QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBRS9DLE1BQU0sT0FBTyxjQUFlLFNBQVEsWUFBWTtJQUU5Qzs7OztPQUlHO0lBQ0gsTUFBTSxDQUFPLEtBQXlEO1FBRXBFLElBQUksWUFBWSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQVMsSUFBSSxDQUFDLFlBQVksQ0FBSSxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQ3RFLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQSxDQUFDLG1CQUFtQjtRQUNuQyxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUEsQ0FBQywyQ0FBMkM7UUFDN0QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQy9ELFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO1FBQ2pFLENBQUM7UUFFRCxPQUFPLFFBQVEsQ0FDYixRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRTtnQkFDakMsSUFBSSxFQUFFLENBQUM7Z0JBQ1AsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDbEMsT0FBTyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUE7Z0JBQ3ZCLENBQUMsQ0FBQyxDQUFDO2FBQ0osQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQ3FDLENBQUE7SUFDM0MsQ0FBQztJQUVELFlBQVksQ0FBSSxLQUF5RDtRQUN2RSxJQUFJLEdBQUcsR0FBMkIsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQ3pELENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ1gsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtZQUNiLE9BQU8sR0FBRyxDQUFBO1FBQ1osQ0FBQyxFQUNELEVBQTRCLENBQzdCLENBQUE7UUFDRCxLQUFLLElBQUksR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3RCLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzNFLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQTtZQUM5RixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFBO0lBQ1osQ0FBQztJQUVELGVBQWUsQ0FBSSxHQUE2QjtRQUM5QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUN0QyxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxJQUFJLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQ3hGLENBQUE7SUFDMUIsQ0FBQztJQUVELHlCQUF5QixDQUFJLEdBQTZCO1FBQ3hELE9BQU8sT0FBTyxDQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNqRCxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxJQUFJLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM3RSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQ2pCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUNoQixDQUFBO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsSUFBSSxDQUFJLElBQWMsRUFBRSxTQUFjLEVBQUU7UUFDdEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFtQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQzFFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEdBQUcsQ0FBSSxJQUFjLEVBQUUsU0FBYyxFQUFFO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBbUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQTtJQUN6RSxDQUFDO0lBRVEsUUFBUSxDQUFJLEdBQVcsRUFBRSxTQUFjLEVBQUU7UUFDaEQsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ2pDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUE7UUFDckMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN2QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFLENBQUE7UUFDdkQsSUFBSSxTQUFTLElBQUksR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxJQUFJLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRSxDQUFDO2dCQUN2RCxNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUE7WUFDbEQsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQTtRQUN6QixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FDbkMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNiLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQTtZQUMxRCxDQUFDO1lBRUQsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFBO1lBRWpELElBQUksR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNyQix1REFBdUQ7Z0JBQ3ZELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQTtnQkFDMUQsT0FBTyxJQUFJLENBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUksT0FBTyxFQUFFLFVBQVUsRUFBRTtvQkFDOUMsT0FBTyxFQUFFLEVBQUMsY0FBYyxFQUFFLG1DQUFtQyxFQUFDO2lCQUMvRCxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQ3JDLENBQUE7WUFDSCxDQUFDO1lBRUQsT0FBTyxJQUFJLENBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUksT0FBTyxFQUFFLFdBQVcsRUFDN0M7Z0JBQ0UsZUFBZSxFQUFFLEdBQUcsS0FBSyxRQUFRO2dCQUNqQyxPQUFPLEVBQUU7b0JBQ1AsY0FBYyxFQUFFLGtCQUFrQjtpQkFDbkM7YUFDRixDQUNGLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQ3BDLENBQUE7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVELHFCQUFxQixDQUFDLEdBQVEsRUFBRSxNQUFNLEdBQUcsRUFBRTtRQUN6QyxNQUFNLEtBQUssR0FBYSxFQUFFLENBQUE7UUFFMUIsS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7Z0JBQUUsU0FBUTtZQUU3RCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDdEIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFBO1lBRXRELElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUN4QixTQUFRO1lBQ1YsQ0FBQztpQkFBTSxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDMUIsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUNuRCxDQUFDO2lCQUFNLElBQUksS0FBSyxZQUFZLElBQUksRUFBRSxDQUFDO2dCQUNqQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsa0JBQWtCLENBQUMsV0FBVyxDQUFDLElBQUksa0JBQWtCLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQzdGLENBQUM7aUJBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2hDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDckIsSUFBSSxJQUFJLEtBQUssU0FBUzt3QkFBRSxPQUFNO29CQUM5QixJQUFJLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQzt3QkFDbEIsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtvQkFDckQsQ0FBQzt5QkFBTSxJQUFJLElBQUksWUFBWSxJQUFJLEVBQUUsQ0FBQzt3QkFDaEMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxNQUFNLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtvQkFDOUYsQ0FBQzt5QkFBTSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO3dCQUNwQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsR0FBRyxXQUFXLElBQUksQ0FBQyxDQUFDLENBQUE7b0JBQ2xFLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsa0JBQWtCLENBQUMsV0FBVyxDQUFDLE1BQU0sa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO29CQUNoRixDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFBO1lBQ0osQ0FBQztpQkFBTSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNyQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQTtZQUM1RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQTtZQUMvRSxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUN4QixDQUFDO0lBRUQsaUJBQWlCO0lBQ1IsT0FBTyxDQUFJLEdBQVcsRUFBRSxTQUFjLEVBQUU7UUFDL0MsSUFBSSxNQUFNLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDcEIsTUFBTSxHQUFHLEVBQUUsQ0FBQTtRQUNiLENBQUM7UUFDRCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ3ZDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNqQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUE7UUFDL0MsQ0FBQztRQUVELElBQUksT0FBTyxHQUFHO1lBQ1osTUFBTSxFQUFFLFdBQVc7WUFDbkIsc0NBQXNDO1NBQ3ZDLENBQUE7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUNuQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2IsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFBO1lBQzFELENBQUM7WUFFRCxPQUFPLElBQUksQ0FDVCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBSSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLEVBQUUsT0FBTyxFQUNuRTtnQkFDRSxPQUFPLEVBQUU7b0JBQ1AsY0FBYyxFQUFFLGtCQUFrQjtpQkFDbkM7YUFDRixDQUNGLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQ3BDLENBQUE7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUFhO1FBQ3pCLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUN0QixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yLCBmb3JrSm9pbiwgZnJvbSB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCBjbG9uZSBmcm9tICdqdXN0LWNsb25lJ1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZXMgfSBmcm9tICcuL2h0dHAnXHJcbmltcG9ydCB7XHJcbiAgaUJhdGNoUmVxdWVzdEFuc3dlciwgaUJhdGNoUmVxdWVzdFBhcmFtLCBpQmF0Y2hSZXF1ZXN0UGFyYW1BcnIsIGlCYXRjaFJlcXVlc3RQYXJhbUh0dHAsIGtleUJhdGNoLFxyXG59IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L2JhdGNoL2JhdGNoUmVxdWVzdFBhcmFtJ1xyXG5pbXBvcnQgeyBpQlhSZXN0QW5zd2VyIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvYmFzZS9hbnN3ZXInXHJcbmltcG9ydCBmbGF0dGVuIGZyb20gJ2p1c3QtZmxhdHRlbi1pdCdcclxuaW1wb3J0IHsgaW5zdGFuY2VPZmlCWFJlc3RBbnN3ZXJTdWNjZXNzIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb25zL21hcFJlc3VsdCdcclxuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXHJcbmltcG9ydCAqIGFzIHFzIGZyb20gJ3FzJ1xyXG5pbXBvcnQgeyBwcmVwYXJlQmFzZUFkZHJlc3MgfSBmcm9tICcuLi9iYXNlJ1xyXG5pbXBvcnQgeyBCWFJlc3RTZXR0aW5ncyB9IGZyb20gJy4uLy4uL3NldHRpbmdzJ1xyXG5cclxuZXhwb3J0IGNsYXNzIEh0dHBCWFNlcnZpY2VzIGV4dGVuZHMgSHR0cFNlcnZpY2VzIHtcclxuXHJcbiAgLyoqXHJcbiAgICog0K3RgtC+INC/0LjQt9C00LXRhiDQsCDQvdC1INC80LXRgtC+0LRcclxuICAgKiBUT0RPOiDQo9C00LDQu9C40YLRjCDQtNCw0L3QvdGL0Lkg0LzQtdGC0L7QtCDQv9C+0YHQu9C1INGA0LXQsNC70LjQt9Cw0YbQuNC4INC10LPQviDQsiDRgNCw0LfQtNC10LvQtSBOYXZ2eVxyXG4gICAqIEBwYXJhbSBwYXJhbVxyXG4gICAqL1xyXG4gIGJyYW5jaDxULCBBPihwYXJhbTogaUJhdGNoUmVxdWVzdFBhcmFtQXJyPFQ+IHwgaUJhdGNoUmVxdWVzdFBhcmFtPFQ+W10pXHJcbiAgICA6IE9ic2VydmFibGU8aUJhdGNoUmVxdWVzdEFuc3dlcjxBPltdIHwgdW5kZWZpbmVkPiB7XHJcbiAgICBsZXQgcHJlcGFyZVBhcmFtID0gT2JqZWN0LmVudHJpZXM8c3RyaW5nPih0aGlzLnByZXBhcmVCYXRjaDxUPihwYXJhbSkpXHJcbiAgICBjb25zdCBzaXplID0gNTAgLy8g0LHQvtC70YzRiNC1INC90LUg0L7RgtC00LDRgdGCXHJcbiAgICBsZXQgc3ViYXJyYXkgPSBbXSAvL9C80LDRgdGB0LjQsiDQsiDQutC+0YLQvtGA0YvQuSDQsdGD0LTQtdGCINCy0YvQstC10LTQtdC9INGA0LXQt9GD0LvRjNGC0LDRgi5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgTWF0aC5jZWlsKHByZXBhcmVQYXJhbS5sZW5ndGggLyBzaXplKTsgaSsrKSB7XHJcbiAgICAgIHN1YmFycmF5W2ldID0gcHJlcGFyZVBhcmFtLnNsaWNlKChpICogc2l6ZSksIChpICogc2l6ZSkgKyBzaXplKVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmb3JrSm9pbihcclxuICAgICAgc3ViYXJyYXkubWFwKGkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBQb3N0KCdiYXRjaC5qc29uJywge1xyXG4gICAgICAgICAgaGFsdDogMCxcclxuICAgICAgICAgIGNtZDogT2JqZWN0LmFzc2lnbih7fSwgLi4uaS5tYXAoeCA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7W3hbMF1dOiB4WzFdfVxyXG4gICAgICAgICAgfSkpXHJcbiAgICAgICAgfSlcclxuICAgICAgfSlcclxuICAgICkgYXMgT2JzZXJ2YWJsZTxpQmF0Y2hSZXF1ZXN0QW5zd2VyPEE+W10+XHJcbiAgfVxyXG5cclxuICBwcmVwYXJlQmF0Y2g8VD4ocGFyYW06IGlCYXRjaFJlcXVlc3RQYXJhbUFycjxUPiB8IGlCYXRjaFJlcXVlc3RQYXJhbTxUPltdKTogaUJhdGNoUmVxdWVzdFBhcmFtSHR0cCB7XHJcbiAgICBsZXQgcmVzOiBpQmF0Y2hSZXF1ZXN0UGFyYW1IdHRwID0gT2JqZWN0LmtleXMocGFyYW0pLnJlZHVjZShcclxuICAgICAgKG9iaiwga2V5KSA9PiB7XHJcbiAgICAgICAgb2JqW2tleV0gPSAnJ1xyXG4gICAgICAgIHJldHVybiBvYmpcclxuICAgICAgfSxcclxuICAgICAge30gYXMgaUJhdGNoUmVxdWVzdFBhcmFtSHR0cFxyXG4gICAgKVxyXG4gICAgZm9yIChsZXQga2V5IGluIHBhcmFtKSB7XHJcbiAgICAgIGlmICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyB8fCB0eXBlb2Yga2V5ID09PSAnbnVtYmVyJyAmJiBwYXJhbVtrZXldLnBhcmFtKSB7XHJcbiAgICAgICAgcmVzW2tleV0gPSBwYXJhbVtrZXldLm5hbWUgKyAnPycgKyBxcy5zdHJpbmdpZnkocGFyYW1ba2V5XS5wYXJhbSwge2FycmF5Rm9ybWF0OiAnYnJhY2tldHMnfSlcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc1xyXG4gIH1cclxuXHJcbiAgbWFwQnJhbmNoUmVzdWx0PFQ+KHJlczogaUJhdGNoUmVxdWVzdEFuc3dlcjxUPltdKSB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihbXSwgLi4ucmVzLm1hcChpID0+XHJcbiAgICAgIChpbnN0YW5jZU9maUJYUmVzdEFuc3dlclN1Y2Nlc3MoaSkgJiYgaW5zdGFuY2VPZmlCWFJlc3RBbnN3ZXJTdWNjZXNzKGkucmVzdWx0KSkgPyBpLnJlc3VsdC5yZXN1bHQgOiB1bmRlZmluZWQpXHJcbiAgICApIGFzIFJlY29yZDxrZXlCYXRjaCwgVD5cclxuICB9XHJcblxyXG4gIG1hcEJyYW5jaFJlc3VsdFdpdGhvdXRLZXk8VD4ocmVzOiBpQmF0Y2hSZXF1ZXN0QW5zd2VyPFQ+W10pOiBUW10ge1xyXG4gICAgcmV0dXJuIGZsYXR0ZW48VD4oT2JqZWN0LmFzc2lnbihbXSwgLi4ucmVzLm1hcChpID0+XHJcbiAgICAgIChpbnN0YW5jZU9maUJYUmVzdEFuc3dlclN1Y2Nlc3MoaSkgJiYgaW5zdGFuY2VPZmlCWFJlc3RBbnN3ZXJTdWNjZXNzKGkucmVzdWx0KSlcclxuICAgICAgICA/IGkucmVzdWx0LnJlc3VsdFxyXG4gICAgICAgIDogdW5kZWZpbmVkKSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqINCe0YHQvdC+0LLQvdC+0Lkg0LzQtdGC0L7QtCDQtNC70Y8g0LfQsNC/0YDQvtGB0L7QslxyXG4gICAqXHJcbiAgICogQHBhcmFtIG5hbWVcclxuICAgKiBAcGFyYW0gcGFyYW1zXHJcbiAgICovXHJcbiAgcG9zdDxUPihuYW1lOiBzdHJpbmdbXSwgcGFyYW1zOiBhbnkgPSB7fSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFBvc3Q8aUJYUmVzdEFuc3dlcjxUPj4odGhpcy5nZXROYW1lTWV0aG9kKG5hbWUpLCBwYXJhbXMpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDQktGC0L7RgNC+0YHRgtC10L/QtdC90L3Ri9C5INC80LXRgtC+0LQg0LTQu9GPINC30LDQv9GA0L7RgdC+0LIuINCf0L4g0LLQvtC30LzQvtC20L3QvtGB0YLQuCDQu9GD0YfRiNC1INC90LUg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMXHJcbiAgICpcclxuICAgKiBAcGFyYW0gbmFtZVxyXG4gICAqIEBwYXJhbSBwYXJhbXNcclxuICAgKi9cclxuICBnZXQ8VD4obmFtZTogc3RyaW5nW10sIHBhcmFtczogYW55ID0ge30pIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBHZXQ8aUJYUmVzdEFuc3dlcjxUPj4odGhpcy5nZXROYW1lTWV0aG9kKG5hbWUpLCBwYXJhbXMpXHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBodHRwUG9zdDxUPih1cmw6IHN0cmluZywgcGFyYW1zOiBhbnkgPSB7fSk6IE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD4ge1xyXG4gICAgY29uc3QgcGFyYW1zQ2xvbmUgPSBjbG9uZShwYXJhbXMpXHJcbiAgICBjb25zdCBrZXkgPSB0aGlzLnNlc3Npb24uZ2V0S2V5QXV0aCgpXHJcbiAgICBsZXQgYXV0aCA9IHRoaXMuc2Vzc2lvbi5nZXRBdXRoUGFyYW1zKClcclxuICAgIGNvbnN0IGNoZWNrSXNPbiA9IHRoaXMuc2Vzc2lvbi5nZXRDaGVja0F1dGhQYXJhbXNJc09uKClcclxuICAgIGlmIChjaGVja0lzT24gJiYga2V5ID09PSAnT0F1dGgyJykge1xyXG4gICAgICBpZiAoIWF1dGggJiYgQlhSZXN0U2V0dGluZ3MuZGF0ZS5hdXRoLnNvdXJjZSAhPT0gJ29mZicpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0F1dGhvcml6YXRpb24gcmVxdWlyZWQgKHBvc3QpJylcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcGFyYW1zQ2xvbmVba2V5XSA9IGF1dGhcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLnNlc3Npb24uZ2V0QmFzZVVybCgpLnBpcGUoXHJcbiAgICAgIHN3aXRjaE1hcCgoYmFzZVVybCkgPT4ge1xyXG4gICAgICAgIGlmICghYmFzZVVybCkge1xyXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCdnZXQgYmFzZSB1cmwgZXJyb3InKSlcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGZ1bGxVcmwgPSBwcmVwYXJlQmFzZUFkZHJlc3MoYmFzZVVybCkgKyB1cmxcclxuXHJcbiAgICAgICAgaWYgKGtleSA9PT0gJ3Nlc3NpZCcpIHtcclxuICAgICAgICAgIC8vINCf0YDQtdC+0LHRgNCw0LfRg9C10Lwg0L/QsNGA0LDQvNC10YLRgNGLINCyINGE0L7RgNC80LDRgiB4LXd3dy1mb3JtLXVybGVuY29kZWRcclxuICAgICAgICAgIGNvbnN0IGJvZHlTdHJpbmcgPSB0aGlzLnNlcmlhbGl6ZUJpdHJpeFBhcmFtcyhwYXJhbXNDbG9uZSlcclxuICAgICAgICAgIHJldHVybiBmcm9tKFxyXG4gICAgICAgICAgICB0aGlzLmF4aW9zSW5zdGFuY2UucG9zdDxUPihmdWxsVXJsLCBib2R5U3RyaW5nLCB7XHJcbiAgICAgICAgICAgICAgaGVhZGVyczogeydDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ30sXHJcbiAgICAgICAgICAgIH0pLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5kYXRhKVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGZyb20oXHJcbiAgICAgICAgICB0aGlzLmF4aW9zSW5zdGFuY2UucG9zdDxUPihmdWxsVXJsLCBwYXJhbXNDbG9uZSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczoga2V5ID09PSAnT0F1dGgyJyxcclxuICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKS50aGVuKChyZXNwb25zZSkgPT4gcmVzcG9uc2UuZGF0YSlcclxuICAgICAgICApXHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBzZXJpYWxpemVCaXRyaXhQYXJhbXMob2JqOiBhbnksIHByZWZpeCA9ICcnKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHBhaXJzOiBzdHJpbmdbXSA9IFtdXHJcblxyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gb2JqKSB7XHJcbiAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KSkgY29udGludWVcclxuXHJcbiAgICAgIGNvbnN0IHZhbHVlID0gb2JqW2tleV1cclxuICAgICAgY29uc3QgcHJlZml4ZWRLZXkgPSBwcmVmaXggPyBgJHtwcmVmaXh9WyR7a2V5fV1gIDoga2V5XHJcblxyXG4gICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGNvbnRpbnVlXHJcbiAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT09IG51bGwpIHtcclxuICAgICAgICBwYWlycy5wdXNoKGAke2VuY29kZVVSSUNvbXBvbmVudChwcmVmaXhlZEtleSl9PWApXHJcbiAgICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XHJcbiAgICAgICAgcGFpcnMucHVzaChgJHtlbmNvZGVVUklDb21wb25lbnQocHJlZml4ZWRLZXkpfT0ke2VuY29kZVVSSUNvbXBvbmVudCh2YWx1ZS50b0lTT1N0cmluZygpKX1gKVxyXG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgdmFsdWUuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGl0ZW0gPT09IHVuZGVmaW5lZCkgcmV0dXJuXHJcbiAgICAgICAgICBpZiAoaXRlbSA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICBwYWlycy5wdXNoKGAke2VuY29kZVVSSUNvbXBvbmVudChwcmVmaXhlZEtleSl9W109YClcclxuICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbSBpbnN0YW5jZW9mIERhdGUpIHtcclxuICAgICAgICAgICAgcGFpcnMucHVzaChgJHtlbmNvZGVVUklDb21wb25lbnQocHJlZml4ZWRLZXkpfVtdPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGl0ZW0udG9JU09TdHJpbmcoKSl9YClcclxuICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGl0ZW0gPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICAgIHBhaXJzLnB1c2godGhpcy5zZXJpYWxpemVCaXRyaXhQYXJhbXMoaXRlbSwgYCR7cHJlZml4ZWRLZXl9W11gKSlcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHBhaXJzLnB1c2goYCR7ZW5jb2RlVVJJQ29tcG9uZW50KHByZWZpeGVkS2V5KX1bXT0ke2VuY29kZVVSSUNvbXBvbmVudChpdGVtKX1gKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgIHBhaXJzLnB1c2godGhpcy5zZXJpYWxpemVCaXRyaXhQYXJhbXModmFsdWUsIHByZWZpeGVkS2V5KSlcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBwYWlycy5wdXNoKGAke2VuY29kZVVSSUNvbXBvbmVudChwcmVmaXhlZEtleSl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gKVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHBhaXJzLmpvaW4oJyYnKVxyXG4gIH1cclxuXHJcbiAgLy8g0JzQsSDQvdC1INGA0LDQsdC+0YLQsNC10YJcclxuICBvdmVycmlkZSBodHRwR2V0PFQ+KHVybDogc3RyaW5nLCBwYXJhbXM6IGFueSA9IHt9KTogT2JzZXJ2YWJsZTxUIHwgdW5kZWZpbmVkPiB7XHJcbiAgICBpZiAocGFyYW1zID09PSBudWxsKSB7XHJcbiAgICAgIHBhcmFtcyA9IHt9XHJcbiAgICB9XHJcbiAgICBsZXQgYXV0aCA9IHRoaXMuc2Vzc2lvbi5nZXRBdXRoUGFyYW1zKClcclxuICAgIGNvbnN0IHBhcmFtc0Nsb25lID0gY2xvbmUocGFyYW1zKVxyXG4gICAgaWYgKGF1dGgpIHtcclxuICAgICAgcGFyYW1zQ2xvbmVbdGhpcy5zZXNzaW9uLmdldEtleUF1dGgoKV0gPSBhdXRoXHJcbiAgICB9XHJcblxyXG4gICAgbGV0IG9wdGlvbnMgPSB7XHJcbiAgICAgIHBhcmFtczogcGFyYW1zQ2xvbmVcclxuICAgICAgLy8gcGFyYW1zOiBKU09OLnN0cmluZ2lmeShwYXJhbXNDbG9uZSlcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5zZXNzaW9uLmdldEJhc2VVcmwoKS5waXBlKFxyXG4gICAgICBzd2l0Y2hNYXAoKGJhc2VVcmwpID0+IHtcclxuICAgICAgICBpZiAoIWJhc2VVcmwpIHtcclxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcignZ2V0IGJhc2UgdXJsIGVycm9yJykpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZnJvbShcclxuICAgICAgICAgIHRoaXMuYXhpb3NJbnN0YW5jZS5wb3N0PFQ+KHByZXBhcmVCYXNlQWRkcmVzcyhiYXNlVXJsKSArIHVybCwgb3B0aW9ucyxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5kYXRhKVxyXG4gICAgICAgIClcclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIGdldE5hbWVNZXRob2QoYXJyOiBzdHJpbmdbXSkge1xyXG4gICAgcmV0dXJuIGFyci5qb2luKCcuJylcclxuICB9XHJcblxyXG59XHJcblxyXG4iXX0=
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cEJYLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvc2VydmljZXMvaHR0cC9IdHRwQlgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzdELE9BQU8sS0FBSyxNQUFNLFlBQVksQ0FBQTtBQUM5QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBS3JDLE9BQU8sT0FBTyxNQUFNLGlCQUFpQixDQUFBO0FBQ3JDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUMxQyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQTtBQUN4QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFFNUMsTUFBTSxPQUFPLGNBQWUsU0FBUSxZQUFZO0lBRTlDOzs7O09BSUc7SUFDSCxNQUFNLENBQU8sS0FBeUQ7UUFFcEUsSUFBSSxZQUFZLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBUyxJQUFJLENBQUMsWUFBWSxDQUFJLEtBQUssQ0FBQyxDQUFDLENBQUE7UUFDdEUsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFBLENBQUMsbUJBQW1CO1FBQ25DLElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQSxDQUFDLDJDQUEyQztRQUM3RCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDL0QsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFB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V0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQTtZQUN6QixDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksT0FBTyxHQUFHO1lBQ1osTUFBTSxFQUFFLFdBQVc7WUFDbkIsc0NBQXNDO1NBQ3ZDLENBQUE7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUNuQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2IsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtZQUM5RCxDQUFDO1lBRUQsT0FBTyxJQUFJLENBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxFQUFFLE9BQU8sRUFDbkU7Z0JBQ0UsZUFBZSxFQUFFLEdBQUcsS0FBSyxRQUFRO2dCQUNqQyxPQUFPLEVBQUU7b0JBQ1AsY0FBYyxFQUFFLGtCQUFrQjtpQkFDbkM7YUFDRixDQUNGLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQ3BDLENBQUE7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUFhO1FBQ3pCLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUN0QixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yLCBmb3JrSm9pbiwgZnJvbSB9IGZyb20gJ3J4anMnXHJcbmltcG9ydCBjbG9uZSBmcm9tICdqdXN0LWNsb25lJ1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZXMgfSBmcm9tICcuL2h0dHAnXHJcbmltcG9ydCB7XHJcbiAgaUJhdGNoUmVxdWVzdEFuc3dlciwgaUJhdGNoUmVxdWVzdFBhcmFtLCBpQmF0Y2hSZXF1ZXN0UGFyYW1BcnIsIGlCYXRjaFJlcXVlc3RQYXJhbUh0dHAsIGtleUJhdGNoLFxyXG59IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L2JhdGNoL2JhdGNoUmVxdWVzdFBhcmFtJ1xyXG5pbXBvcnQgeyBpQlhSZXN0QW5zd2VyIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvYmFzZS9hbnN3ZXInXHJcbmltcG9ydCBmbGF0dGVuIGZyb20gJ2p1c3QtZmxhdHRlbi1pdCdcclxuaW1wb3J0IHsgaW5zdGFuY2VPZmlCWFJlc3RBbnN3ZXJTdWNjZXNzIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb25zL21hcFJlc3VsdCdcclxuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgKiBhcyBxcyBmcm9tICdxcydcbmltcG9ydCB7IHByZXBhcmVCYXNlQWRkcmVzcyB9IGZyb20gJy4uL2Jhc2UnXG5cclxuZXhwb3J0IGNsYXNzIEh0dHBCWFNlcnZpY2VzIGV4dGVuZHMgSHR0cFNlcnZpY2VzIHtcclxuXHJcbiAgLyoqXHJcbiAgICog0K3RgtC+INC/0LjQt9C00LXRhiDQsCDQvdC1INC80LXRgtC+0LRcclxuICAgKiBUT0RPOiDQo9C00LDQu9C40YLRjCDQtNCw0L3QvdGL0Lkg0LzQtdGC0L7QtCDQv9C+0YHQu9C1INGA0LXQsNC70LjQt9Cw0YbQuNC4INC10LPQviDQsiDRgNCw0LfQtNC10LvQtSBOYXZ2eVxyXG4gICAqIEBwYXJhbSBwYXJhbVxyXG4gICAqL1xyXG4gIGJyYW5jaDxULCBBPihwYXJhbTogaUJhdGNoUmVxdWVzdFBhcmFtQXJyPFQ+IHwgaUJhdGNoUmVxdWVzdFBhcmFtPFQ+W10pXHJcbiAgICA6IE9ic2VydmFibGU8aUJhdGNoUmVxdWVzdEFuc3dlcjxBPltdIHwgdW5kZWZpbmVkPiB7XHJcbiAgICBsZXQgcHJlcGFyZVBhcmFtID0gT2JqZWN0LmVudHJpZXM8c3RyaW5nPih0aGlzLnByZXBhcmVCYXRjaDxUPihwYXJhbSkpXHJcbiAgICBjb25zdCBzaXplID0gNTAgLy8g0LHQvtC70YzRiNC1INC90LUg0L7RgtC00LDRgdGCXHJcbiAgICBsZXQgc3ViYXJyYXkgPSBbXSAvL9C80LDRgdGB0LjQsiDQsiDQutC+0YLQvtGA0YvQuSDQsdGD0LTQtdGCINCy0YvQstC10LTQtdC9INGA0LXQt9GD0LvRjNGC0LDRgi5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgTWF0aC5jZWlsKHByZXBhcmVQYXJhbS5sZW5ndGggLyBzaXplKTsgaSsrKSB7XHJcbiAgICAgIHN1YmFycmF5W2ldID0gcHJlcGFyZVBhcmFtLnNsaWNlKChpICogc2l6ZSksIChpICogc2l6ZSkgKyBzaXplKVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmb3JrSm9pbihcclxuICAgICAgc3ViYXJyYXkubWFwKGkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBQb3N0KCdiYXRjaC5qc29uJywge1xyXG4gICAgICAgICAgaGFsdDogMCxcclxuICAgICAgICAgIGNtZDogT2JqZWN0LmFzc2lnbih7fSwgLi4uaS5tYXAoeCA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7W3hbMF1dOiB4WzFdfVxyXG4gICAgICAgICAgfSkpXHJcbiAgICAgICAgfSlcclxuICAgICAgfSlcclxuICAgICkgYXMgT2JzZXJ2YWJsZTxpQmF0Y2hSZXF1ZXN0QW5zd2VyPEE+W10+XHJcbiAgfVxyXG5cclxuICBwcmVwYXJlQmF0Y2g8VD4ocGFyYW06IGlCYXRjaFJlcXVlc3RQYXJhbUFycjxUPiB8IGlCYXRjaFJlcXVlc3RQYXJhbTxUPltdKTogaUJhdGNoUmVxdWVzdFBhcmFtSHR0cCB7XHJcbiAgICBsZXQgcmVzOiBpQmF0Y2hSZXF1ZXN0UGFyYW1IdHRwID0gT2JqZWN0LmtleXMocGFyYW0pLnJlZHVjZShcclxuICAgICAgKG9iaiwga2V5KSA9PiB7XHJcbiAgICAgICAgb2JqW2tleV0gPSAnJ1xyXG4gICAgICAgIHJldHVybiBvYmpcclxuICAgICAgfSxcclxuICAgICAge30gYXMgaUJhdGNoUmVxdWVzdFBhcmFtSHR0cFxyXG4gICAgKVxyXG4gICAgZm9yIChsZXQga2V5IGluIHBhcmFtKSB7XHJcbiAgICAgIGlmICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyB8fCB0eXBlb2Yga2V5ID09PSAnbnVtYmVyJyAmJiBwYXJhbVtrZXldLnBhcmFtKSB7XHJcbiAgICAgICAgcmVzW2tleV0gPSBwYXJhbVtrZXldLm5hbWUgKyAnPycgKyBxcy5zdHJpbmdpZnkocGFyYW1ba2V5XS5wYXJhbSwge2FycmF5Rm9ybWF0OiAnYnJhY2tldHMnfSlcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc1xyXG4gIH1cclxuXHJcbiAgbWFwQnJhbmNoUmVzdWx0PFQ+KHJlczogaUJhdGNoUmVxdWVzdEFuc3dlcjxUPltdKSB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihbXSwgLi4ucmVzLm1hcChpID0+XHJcbiAgICAgIChpbnN0YW5jZU9maUJYUmVzdEFuc3dlclN1Y2Nlc3MoaSkgJiYgaW5zdGFuY2VPZmlCWFJlc3RBbnN3ZXJTdWNjZXNzKGkucmVzdWx0KSkgPyBpLnJlc3VsdC5yZXN1bHQgOiB1bmRlZmluZWQpXHJcbiAgICApIGFzIFJlY29yZDxrZXlCYXRjaCwgVD5cclxuICB9XHJcblxyXG4gIG1hcEJyYW5jaFJlc3VsdFdpdGhvdXRLZXk8VD4ocmVzOiBpQmF0Y2hSZXF1ZXN0QW5zd2VyPFQ+W10pOiBUW10ge1xyXG4gICAgcmV0dXJuIGZsYXR0ZW48VD4oT2JqZWN0LmFzc2lnbihbXSwgLi4ucmVzLm1hcChpID0+XHJcbiAgICAgIChpbnN0YW5jZU9maUJYUmVzdEFuc3dlclN1Y2Nlc3MoaSkgJiYgaW5zdGFuY2VPZmlCWFJlc3RBbnN3ZXJTdWNjZXNzKGkucmVzdWx0KSlcclxuICAgICAgICA/IGkucmVzdWx0LnJlc3VsdFxyXG4gICAgICAgIDogdW5kZWZpbmVkKSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqINCe0YHQvdC+0LLQvdC+0Lkg0LzQtdGC0L7QtCDQtNC70Y8g0LfQsNC/0YDQvtGB0L7QslxyXG4gICAqXHJcbiAgICogQHBhcmFtIG5hbWVcclxuICAgKiBAcGFyYW0gcGFyYW1zXHJcbiAgICovXHJcbiAgcG9zdDxUPihuYW1lOiBzdHJpbmdbXSwgcGFyYW1zOiBhbnkgPSB7fSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFBvc3Q8aUJYUmVzdEFuc3dlcjxUPj4odGhpcy5nZXROYW1lTWV0aG9kKG5hbWUpLCBwYXJhbXMpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDQktGC0L7RgNC+0YHRgtC10L/QtdC90L3Ri9C5INC80LXRgtC+0LQg0LTQu9GPINC30LDQv9GA0L7RgdC+0LIuINCf0L4g0LLQvtC30LzQvtC20L3QvtGB0YLQuCDQu9GD0YfRiNC1INC90LUg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMXHJcbiAgICpcclxuICAgKiBAcGFyYW0gbmFtZVxyXG4gICAqIEBwYXJhbSBwYXJhbXNcclxuICAgKi9cclxuICBnZXQ8VD4obmFtZTogc3RyaW5nW10sIHBhcmFtczogYW55ID0ge30pIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBHZXQ8aUJYUmVzdEFuc3dlcjxUPj4odGhpcy5nZXROYW1lTWV0aG9kKG5hbWUpLCBwYXJhbXMpXHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBodHRwUG9zdDxUPih1cmw6IHN0cmluZywgcGFyYW1zOiBhbnkgPSB7fSk6IE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IHBhcmFtc0Nsb25lID0gY2xvbmUocGFyYW1zKVxuICAgIGNvbnN0IGtleSA9IHRoaXMuc2Vzc2lvbi5nZXRLZXlBdXRoKClcbiAgICBjb25zdCBhdXRoID0gdGhpcy5zZXNzaW9uLmdldEF1dGhQYXJhbXMoKVxuICAgIGNvbnN0IGNoZWNrSXNPbiA9IHRoaXMuc2Vzc2lvbi5nZXRDaGVja0F1dGhQYXJhbXNJc09uKClcblxuICAgIGlmIChjaGVja0lzT24pIHtcbiAgICAgIGlmICghYXV0aCkge1xuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiB0aGlzLnNlc3Npb24uZ2V0QXV0aEVycm9yKCdwb3N0JykpXG4gICAgICB9XG5cbiAgICAgIGlmIChrZXkgIT09ICdPQXV0aDInKSB7XG4gICAgICAgIHBhcmFtc0Nsb25lW2tleV0gPSBhdXRoXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc2Vzc2lvbi5nZXRCYXNlVXJsKCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoYmFzZVVybCkgPT4ge1xuICAgICAgICBpZiAoIWJhc2VVcmwpIHtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiB0aGlzLnNlc3Npb24uZ2V0QmFzZVVybEVycm9yKCdwb3N0JykpXG4gICAgICAgIH1cblxyXG4gICAgICAgIGNvbnN0IGZ1bGxVcmwgPSBwcmVwYXJlQmFzZUFkZHJlc3MoYmFzZVVybCkgKyB1cmxcclxuXHJcbiAgICAgICAgaWYgKGtleSA9PT0gJ3Nlc3NpZCcpIHtcclxuICAgICAgICAgIC8vINCf0YDQtdC+0LHRgNCw0LfRg9C10Lwg0L/QsNGA0LDQvNC10YLRgNGLINCyINGE0L7RgNC80LDRgiB4LXd3dy1mb3JtLXVybGVuY29kZWRcclxuICAgICAgICAgIGNvbnN0IGJvZHlTdHJpbmcgPSB0aGlzLnNlcmlhbGl6ZUJpdHJpeFBhcmFtcyhwYXJhbXNDbG9uZSlcclxuICAgICAgICAgIHJldHVybiBmcm9tKFxyXG4gICAgICAgICAgICB0aGlzLmF4aW9zSW5zdGFuY2UucG9zdDxUPihmdWxsVXJsLCBib2R5U3RyaW5nLCB7XHJcbiAgICAgICAgICAgICAgaGVhZGVyczogeydDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ30sXHJcbiAgICAgICAgICAgIH0pLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5kYXRhKVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGZyb20oXHJcbiAgICAgICAgICB0aGlzLmF4aW9zSW5zdGFuY2UucG9zdDxUPihmdWxsVXJsLCBwYXJhbXNDbG9uZSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczoga2V5ID09PSAnT0F1dGgyJyxcclxuICAgICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKS50aGVuKChyZXNwb25zZSkgPT4gcmVzcG9uc2UuZGF0YSlcclxuICAgICAgICApXHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBzZXJpYWxpemVCaXRyaXhQYXJhbXMob2JqOiBhbnksIHByZWZpeCA9ICcnKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHBhaXJzOiBzdHJpbmdbXSA9IFtdXHJcblxyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gb2JqKSB7XHJcbiAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KSkgY29udGludWVcclxuXHJcbiAgICAgIGNvbnN0IHZhbHVlID0gb2JqW2tleV1cclxuICAgICAgY29uc3QgcHJlZml4ZWRLZXkgPSBwcmVmaXggPyBgJHtwcmVmaXh9WyR7a2V5fV1gIDoga2V5XHJcblxyXG4gICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGNvbnRpbnVlXHJcbiAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT09IG51bGwpIHtcclxuICAgICAgICBwYWlycy5wdXNoKGAke2VuY29kZVVSSUNvbXBvbmVudChwcmVmaXhlZEtleSl9PWApXHJcbiAgICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XHJcbiAgICAgICAgcGFpcnMucHVzaChgJHtlbmNvZGVVUklDb21wb25lbnQocHJlZml4ZWRLZXkpfT0ke2VuY29kZVVSSUNvbXBvbmVudCh2YWx1ZS50b0lTT1N0cmluZygpKX1gKVxyXG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgdmFsdWUuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGl0ZW0gPT09IHVuZGVmaW5lZCkgcmV0dXJuXHJcbiAgICAgICAgICBpZiAoaXRlbSA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICBwYWlycy5wdXNoKGAke2VuY29kZVVSSUNvbXBvbmVudChwcmVmaXhlZEtleSl9W109YClcclxuICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbSBpbnN0YW5jZW9mIERhdGUpIHtcclxuICAgICAgICAgICAgcGFpcnMucHVzaChgJHtlbmNvZGVVUklDb21wb25lbnQocHJlZml4ZWRLZXkpfVtdPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGl0ZW0udG9JU09TdHJpbmcoKSl9YClcclxuICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGl0ZW0gPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICAgIHBhaXJzLnB1c2godGhpcy5zZXJpYWxpemVCaXRyaXhQYXJhbXMoaXRlbSwgYCR7cHJlZml4ZWRLZXl9W11gKSlcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHBhaXJzLnB1c2goYCR7ZW5jb2RlVVJJQ29tcG9uZW50KHByZWZpeGVkS2V5KX1bXT0ke2VuY29kZVVSSUNvbXBvbmVudChpdGVtKX1gKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgIHBhaXJzLnB1c2godGhpcy5zZXJpYWxpemVCaXRyaXhQYXJhbXModmFsdWUsIHByZWZpeGVkS2V5KSlcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBwYWlycy5wdXNoKGAke2VuY29kZVVSSUNvbXBvbmVudChwcmVmaXhlZEtleSl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKX1gKVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHBhaXJzLmpvaW4oJyYnKVxyXG4gIH1cclxuXHJcbiAgLy8g0JzQsSDQvdC1INGA0LDQsdC+0YLQsNC10YJcclxuICBvdmVycmlkZSBodHRwR2V0PFQ+KHVybDogc3RyaW5nLCBwYXJhbXM6IGFueSA9IHt9KTogT2JzZXJ2YWJsZTxUIHwgdW5kZWZpbmVkPiB7XG4gICAgaWYgKHBhcmFtcyA9PT0gbnVsbCkge1xuICAgICAgcGFyYW1zID0ge31cbiAgICB9XG4gICAgY29uc3QgYXV0aCA9IHRoaXMuc2Vzc2lvbi5nZXRBdXRoUGFyYW1zKClcbiAgICBjb25zdCBwYXJhbXNDbG9uZSA9IGNsb25lKHBhcmFtcylcbiAgICBjb25zdCBjaGVja0lzT24gPSB0aGlzLnNlc3Npb24uZ2V0Q2hlY2tBdXRoUGFyYW1zSXNPbigpXG4gICAgY29uc3Qga2V5ID0gdGhpcy5zZXNzaW9uLmdldEtleUF1dGgoKVxuXG4gICAgaWYgKGNoZWNrSXNPbikge1xuICAgICAgaWYgKCFhdXRoKSB7XG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IHRoaXMuc2Vzc2lvbi5nZXRBdXRoRXJyb3IoJ2dldCcpKVxuICAgICAgfVxuXG4gICAgICBpZiAoa2V5ICE9PSAnT0F1dGgyJykge1xuICAgICAgICBwYXJhbXNDbG9uZVtrZXldID0gYXV0aFxuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBvcHRpb25zID0ge1xuICAgICAgcGFyYW1zOiBwYXJhbXNDbG9uZVxuICAgICAgLy8gcGFyYW1zOiBKU09OLnN0cmluZ2lmeShwYXJhbXNDbG9uZSlcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5zZXNzaW9uLmdldEJhc2VVcmwoKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChiYXNlVXJsKSA9PiB7XG4gICAgICAgIGlmICghYmFzZVVybCkge1xuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IHRoaXMuc2Vzc2lvbi5nZXRCYXNlVXJsRXJyb3IoJ2dldCcpKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZyb20oXG4gICAgICAgICAgdGhpcy5heGlvc0luc3RhbmNlLnBvc3Q8VD4ocHJlcGFyZUJhc2VBZGRyZXNzKGJhc2VVcmwpICsgdXJsLCBvcHRpb25zLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IGtleSA9PT0gJ09BdXRoMicsXG4gICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5kYXRhKVxyXG4gICAgICAgIClcclxuICAgICAgfSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIGdldE5hbWVNZXRob2QoYXJyOiBzdHJpbmdbXSkge1xyXG4gICAgcmV0dXJuIGFyci5qb2luKCcuJylcclxuICB9XHJcblxyXG59XHJcblxyXG4iXX0=
|