bx-rest 0.1.1 → 0.1.5
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/consts/part-name-metods.d.ts +9 -0
- package/esm2020/consts/part-name-metods.mjs +10 -1
- package/esm2020/map/lists.mjs +2 -2
- package/esm2020/map/task.mjs +10 -1
- package/esm2020/public-api.mjs +2 -2
- package/esm2020/request/bizproc/activity.mjs +23 -0
- package/esm2020/request/bizproc/event.mjs +19 -0
- package/esm2020/request/bizproc/robot.mjs +22 -0
- package/esm2020/request/bizproc/task.mjs +20 -0
- package/esm2020/request/bizproc/workflow/instance.mjs +19 -0
- package/esm2020/request/bizproc/workflow/template.mjs +27 -0
- package/esm2020/request/bizproc/workflow.mjs +31 -0
- package/esm2020/request/bizproc.mjs +25 -0
- package/esm2020/request/lists/element.mjs +4 -3
- package/esm2020/request/lists.mjs +2 -2
- package/esm2020/request/tasks/task.mjs +34 -1
- package/esm2020/request/user.mjs +9 -6
- package/esm2020/request-navvy/bizproc/workflow.mjs +22 -0
- package/esm2020/request-navvy/bizproc.mjs +60 -0
- package/esm2020/request-navvy/disk/storage.mjs +7 -10
- package/esm2020/request-navvy/lists/element.mjs +6 -3
- package/esm2020/request-navvy/lists.mjs +2 -10
- package/esm2020/request-navvy/tasks/task.mjs +67 -19
- package/esm2020/request-navvy/user.mjs +7 -8
- package/esm2020/rest.mjs +21 -17
- package/esm2020/services/base.mjs +3 -3
- package/esm2020/services/http/HttpBX.mjs +34 -36
- package/esm2020/services/http/http.mjs +36 -38
- package/esm2020/services/http/sessionKey.mjs +128 -113
- package/esm2020/services/vanilla/sessionStorage.mjs +7 -7
- package/esm2020/settings.mjs +2 -2
- package/esm2020/typification/auth/save.mjs +1 -1
- package/esm2020/typification/rest/base/OrderOptions.mjs +2 -0
- package/esm2020/typification/rest/base/sort.mjs +2 -0
- package/esm2020/typification/rest/bizproc/base/filedEnum.mjs +2 -0
- package/esm2020/typification/rest/bizproc/workflow/start.mjs +2 -0
- package/esm2020/typification/rest/bizproc/workflow/template/list.mjs +2 -0
- package/esm2020/typification/rest/lists/element/add.mjs +2 -0
- package/esm2020/typification/rest/task/base/fieldsName.mjs +2 -0
- package/esm2020/typification/rest/tasks/task/add.mjs +2 -0
- package/esm2020/typification/rest/tasks/task/get.mjs +2 -0
- package/esm2020/typification/rest/tasks/task/list.mjs +2 -0
- package/esm2020/typification/rest/user/get.mjs +1 -1
- package/fesm2015/bx-rest.mjs +794 -490
- package/fesm2015/bx-rest.mjs.map +1 -1
- package/fesm2020/bx-rest.mjs +797 -488
- package/fesm2020/bx-rest.mjs.map +1 -1
- package/map/lists.d.ts +1 -1
- package/map/task.d.ts +4 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
- package/request/bizproc/activity.d.ts +12 -0
- package/request/bizproc/event.d.ts +8 -0
- package/request/bizproc/robot.d.ts +11 -0
- package/request/bizproc/task.d.ts +9 -0
- package/request/bizproc/workflow/instance.d.ts +8 -0
- package/request/bizproc/workflow/template.d.ts +16 -0
- package/request/bizproc/workflow.d.ts +20 -0
- package/request/bizproc.d.ts +16 -0
- package/request/lists/element.d.ts +2 -1
- package/request/lists.d.ts +1 -1
- package/request/tasks/task.d.ts +9 -1
- package/request-navvy/bizproc/workflow.d.ts +12 -0
- package/request-navvy/bizproc.d.ts +24 -0
- package/request-navvy/disk/storage.d.ts +1 -3
- package/request-navvy/lists/element.d.ts +3 -1
- package/request-navvy/lists.d.ts +1 -8
- package/request-navvy/tasks/task.d.ts +13 -3
- package/request-navvy/user.d.ts +1 -3
- package/rest.d.ts +13 -9
- package/services/http/sessionKey.d.ts +3 -23
- package/services/vanilla/sessionStorage.d.ts +5 -5
- package/settings.d.ts +1 -1
- package/typification/auth/save.d.ts +1 -1
- package/typification/rest/base/OrderOptions.d.ts +1 -0
- package/typification/rest/base/sort.d.ts +1 -0
- package/typification/rest/bizproc/base/filedEnum.d.ts +1 -0
- package/typification/rest/bizproc/workflow/start.d.ts +5 -0
- package/typification/rest/bizproc/workflow/template/list.d.ts +8 -0
- package/typification/rest/lists/element/add.d.ts +9 -0
- package/typification/rest/task/base/fieldsName.d.ts +1 -0
- package/typification/rest/{task/fieldsForSend.d.ts → tasks/task/add.d.ts} +1 -1
- package/typification/rest/tasks/task/get.d.ts +5 -0
- package/typification/rest/tasks/task/list.d.ts +65 -0
- package/typification/rest/user/get.d.ts +6 -1
- package/esm2020/store/auth.mjs +0 -26
- package/esm2020/typification/rest/task/fieldsForSend.mjs +0 -2
- package/store/auth.d.ts +0 -20
|
@@ -12,46 +12,44 @@ export class HttpServices extends BaseHttpServices {
|
|
|
12
12
|
this.session = session;
|
|
13
13
|
}
|
|
14
14
|
httpPost(url, params = {}, settings = this.defSettings) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}));
|
|
15
|
+
let auth = this.session.getAuthParams();
|
|
16
|
+
if (auth) {
|
|
17
|
+
const paramsClone = clone(params);
|
|
18
|
+
paramsClone[this.session.getKeyAuth()] = auth;
|
|
19
|
+
return this.session.getBaseUrl().pipe(mergeMap(v => {
|
|
20
|
+
if (v) {
|
|
21
|
+
return this.http.post(this.prepareBaseAddress(v) + url, this.getHttpParamsPost(paramsClone, new FormData(), false, [], settings));
|
|
22
|
+
}
|
|
23
|
+
return throwError(() => 'get base url error');
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
this.snackBar.error('Error: Auth not get');
|
|
28
|
+
return throwError(() => 'auth not get');
|
|
29
|
+
}
|
|
31
30
|
}
|
|
32
31
|
httpGet(url, params = {}, settings = this.defSettings) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
const paramsClone = clone(params);
|
|
39
|
-
paramsClone[this.session.getKeyAuth()] = auth;
|
|
40
|
-
let options = {
|
|
41
|
-
params: this.getHttpParamsGet(paramsClone)
|
|
42
|
-
};
|
|
43
|
-
return this.session.getBaseUrl().pipe(mergeMap(v => {
|
|
44
|
-
if (v) {
|
|
45
|
-
return this.http.get(this.prepareBaseAddress(v) + url, options);
|
|
46
|
-
}
|
|
47
|
-
return throwError(() => 'get base url error');
|
|
48
|
-
}));
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
this.snackBar.error('Error: Auth not get');
|
|
52
|
-
return throwError(() => 'auth not get');
|
|
32
|
+
let auth = this.session.getAuthParams();
|
|
33
|
+
if (auth) {
|
|
34
|
+
if (params === null) {
|
|
35
|
+
params = {};
|
|
53
36
|
}
|
|
54
|
-
|
|
37
|
+
const paramsClone = clone(params);
|
|
38
|
+
paramsClone[this.session.getKeyAuth()] = auth;
|
|
39
|
+
let options = {
|
|
40
|
+
params: this.getHttpParamsGet(paramsClone)
|
|
41
|
+
};
|
|
42
|
+
return this.session.getBaseUrl().pipe(mergeMap(v => {
|
|
43
|
+
if (v) {
|
|
44
|
+
return this.http.get(this.prepareBaseAddress(v) + url, options);
|
|
45
|
+
}
|
|
46
|
+
return throwError(() => 'get base url error');
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
this.snackBar.error('Error: Auth not get');
|
|
51
|
+
return throwError(() => 'auth not get');
|
|
52
|
+
}
|
|
55
53
|
}
|
|
56
54
|
}
|
|
57
55
|
HttpServices.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HttpServices, deps: [{ token: i1.HttpClient }, { token: SnackBarService }, { token: SessionKeyServices }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -62,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
62
60
|
providedIn: 'root'
|
|
63
61
|
}]
|
|
64
62
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: SnackBarService }, { type: SessionKeyServices }]; } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL2h0dHAvaHR0cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRTFDLE9BQU8sZUFBZSxNQUFNLDRDQUE0QyxDQUFBO0FBQ3hFLE9BQU8sa0JBQWtCLE1BQU0sZ0NBQWdDLENBQUE7QUFDL0QsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFBO0FBRTlCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTs7O0FBSzlDLE1BQU0sT0FBTyxZQUFhLFNBQVEsZ0JBQWdCO0lBRWhELFlBQVksSUFBZ0IsRUFBRSxRQUF5QixFQUFTLE9BQTJCO1FBQ3pGLEtBQUssQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFEeUMsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7SUFFM0YsQ0FBQztJQUVRLFFBQVEsQ0FBSSxHQUFXLEVBQ1gsU0FBYyxFQUFFLEVBQ2hCLFdBQStCLElBQUksQ0FBQyxXQUFXO1FBRWxFLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDdkMsSUFBSSxJQUFJLEVBQUU7WUFDUixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDakMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUE7WUFDN0MsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2pELElBQUksQ0FBQyxFQUFFO29CQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEVBQ2hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUE7aUJBQzVFO2dCQUNELE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUE7WUFDL0MsQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUNKO2FBQU07WUFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1lBQzFDLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1NBQ3hDO0lBRUgsQ0FBQztJQUVRLE9BQU8sQ0FDZCxHQUFXLEVBQ1gsU0FBYyxFQUFFLEVBQ2hCLFdBQStCLElBQUksQ0FBQyxXQUFXO1FBRS9DLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDdkMsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUU7Z0JBQ25CLE1BQU0sR0FBRyxFQUFFLENBQUE7YUFDWjtZQUNELE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUNqQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQTtZQUM3QyxJQUFJLE9BQU8sR0FBRztnQkFDWixNQUFNLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQzthQUMzQyxDQUFBO1lBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FDbkMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNYLElBQUksQ0FBQyxFQUFFO29CQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQTtpQkFDbkU7Z0JBQ0QsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtZQUMvQyxDQUFDLENBQUMsQ0FDSCxDQUFBO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUE7WUFDMUMsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUE7U0FDeEM7SUFDSCxDQUFDOzt5R0F6RFUsWUFBWSw0Q0FUbEIsZUFBZSxhQUNmLGtCQUFrQjs2R0FRWixZQUFZLGNBRlgsTUFBTTsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjttRkFSTSxlQUFlLFlBQ2Ysa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciwgbWVyZ2VNYXAgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xyXG5pbXBvcnQgU25hY2tCYXJTZXJ2aWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSdcclxuaW1wb3J0IFNlc3Npb25LZXlTZXJ2aWNlcyBmcm9tICcuLi8uLi9zZXJ2aWNlcy9odHRwL3Nlc3Npb25LZXknXHJcbmltcG9ydCBjbG9uZSBmcm9tICdqdXN0LWNsb25lJ1xyXG5pbXBvcnQgeyBpSHR0cFBhcmFtU2V0dGluZ3MgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC9zZXR0aW5ncydcclxuaW1wb3J0IHsgQmFzZUh0dHBTZXJ2aWNlcyB9IGZyb20gJy4vYmFzZS9odHRwJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSHR0cFNlcnZpY2VzIGV4dGVuZHMgQmFzZUh0dHBTZXJ2aWNlcyB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGh0dHA6IEh0dHBDbGllbnQsIHNuYWNrQmFyOiBTbmFja0JhclNlcnZpY2UsIHB1YmxpYyBzZXNzaW9uOiBTZXNzaW9uS2V5U2VydmljZXMpIHtcclxuICAgIHN1cGVyKGh0dHAsIHNuYWNrQmFyKVxyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgaHR0cFBvc3Q8VD4odXJsOiBzdHJpbmcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiBhbnkgPSB7fSxcclxuICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nczogaUh0dHBQYXJhbVNldHRpbmdzID0gdGhpcy5kZWZTZXR0aW5nc1xyXG4gICk6IE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD4ge1xyXG4gICAgbGV0IGF1dGggPSB0aGlzLnNlc3Npb24uZ2V0QXV0aFBhcmFtcygpXHJcbiAgICBpZiAoYXV0aCkge1xyXG4gICAgICBjb25zdCBwYXJhbXNDbG9uZSA9IGNsb25lKHBhcmFtcylcclxuICAgICAgcGFyYW1zQ2xvbmVbdGhpcy5zZXNzaW9uLmdldEtleUF1dGgoKV0gPSBhdXRoXHJcbiAgICAgIHJldHVybiB0aGlzLnNlc3Npb24uZ2V0QmFzZVVybCgpLnBpcGUobWVyZ2VNYXAodiA9PiB7XHJcbiAgICAgICAgaWYgKHYpIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxUIHwgdW5kZWZpbmVkPihcclxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlQmFzZUFkZHJlc3ModikgKyB1cmwsXHJcbiAgICAgICAgICAgIHRoaXMuZ2V0SHR0cFBhcmFtc1Bvc3QocGFyYW1zQ2xvbmUsIG5ldyBGb3JtRGF0YSgpLCBmYWxzZSwgW10sIHNldHRpbmdzKSlcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gJ2dldCBiYXNlIHVybCBlcnJvcicpXHJcbiAgICAgIH0pKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zbmFja0Jhci5lcnJvcignRXJyb3I6IEF1dGggbm90IGdldCcpXHJcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdhdXRoIG5vdCBnZXQnKVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGh0dHBHZXQ8VD4oXHJcbiAgICB1cmw6IHN0cmluZyxcclxuICAgIHBhcmFtczogYW55ID0ge30sXHJcbiAgICBzZXR0aW5nczogaUh0dHBQYXJhbVNldHRpbmdzID0gdGhpcy5kZWZTZXR0aW5nc1xyXG4gICk6IE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD4ge1xyXG4gICAgbGV0IGF1dGggPSB0aGlzLnNlc3Npb24uZ2V0QXV0aFBhcmFtcygpXHJcbiAgICBpZiAoYXV0aCkge1xyXG4gICAgICBpZiAocGFyYW1zID09PSBudWxsKSB7XHJcbiAgICAgICAgcGFyYW1zID0ge31cclxuICAgICAgfVxyXG4gICAgICBjb25zdCBwYXJhbXNDbG9uZSA9IGNsb25lKHBhcmFtcylcclxuICAgICAgcGFyYW1zQ2xvbmVbdGhpcy5zZXNzaW9uLmdldEtleUF1dGgoKV0gPSBhdXRoXHJcbiAgICAgIGxldCBvcHRpb25zID0ge1xyXG4gICAgICAgIHBhcmFtczogdGhpcy5nZXRIdHRwUGFyYW1zR2V0KHBhcmFtc0Nsb25lKVxyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5zZXNzaW9uLmdldEJhc2VVcmwoKS5waXBlKFxyXG4gICAgICAgIG1lcmdlTWFwKHYgPT4ge1xyXG4gICAgICAgICAgaWYgKHYpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VD4odGhpcy5wcmVwYXJlQmFzZUFkZHJlc3ModikgKyB1cmwsIG9wdGlvbnMpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiAnZ2V0IGJhc2UgdXJsIGVycm9yJylcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNuYWNrQmFyLmVycm9yKCdFcnJvcjogQXV0aCBub3QgZ2V0JylcclxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gJ2F1dGggbm90IGdldCcpXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,125 +1,144 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
2
|
import Cookies from '../../services/vanilla/сookies';
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
import { saveAccessToken } from '../../store/auth';
|
|
6
|
-
import { map } from 'rxjs/operators';
|
|
3
|
+
import { of, Subscription } from 'rxjs';
|
|
4
|
+
// import { ActivatedRoute, ParamMap } from '@angular/router'
|
|
7
5
|
import { BaseServices } from '../base';
|
|
8
6
|
import { LocalStorageServices as LocalStorage } from '../../services/vanilla/localStorage';
|
|
9
|
-
import {
|
|
7
|
+
import { BX_REST_SETTINGS } from '../../settings';
|
|
8
|
+
import { SessionStorage } from '../vanilla/sessionStorage';
|
|
10
9
|
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "
|
|
12
|
-
import * as i2 from "@angular/router";
|
|
13
|
-
import * as i3 from "../../typification/rest/api-lib";
|
|
10
|
+
import * as i1 from "../../typification/rest/api-lib";
|
|
14
11
|
export default class SessionKeyServices extends BaseServices {
|
|
15
|
-
constructor(
|
|
12
|
+
constructor(
|
|
13
|
+
// private route: ActivatedRoute,
|
|
14
|
+
BxApiLib) {
|
|
16
15
|
super();
|
|
17
|
-
this.store = store;
|
|
18
|
-
this.route = route;
|
|
19
16
|
this.BxApiLib = BxApiLib;
|
|
20
17
|
this.authHave = false;
|
|
21
18
|
this.subscribe = {
|
|
22
19
|
authData: new Subscription()
|
|
23
20
|
};
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
//
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
let save = {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
status: (param.status) ? param.status : undefined,
|
|
50
|
-
user_id: (param.user_id) ? param.user_id : undefined,
|
|
51
|
-
type: (param.type) ? param.type : undefined,
|
|
52
|
-
};
|
|
53
|
-
}
|
|
21
|
+
let authData = SessionStorage.getItem(this.constructor.name);
|
|
22
|
+
if ((authData && !authData.access_token.length) || !authData) {
|
|
23
|
+
// получаем токен по собственным каналом (в битриксе приложение trace:apps.trace)
|
|
24
|
+
window.addEventListener('message', (event) => {
|
|
25
|
+
if (event.origin !== window.origin) { // проверяем что это не наше сообщение (с текущего приложения)
|
|
26
|
+
if (event.data && event.data.param) {
|
|
27
|
+
if (typeof event.data.param === 'string') {
|
|
28
|
+
event.data.param = JSON.parse(event.data.param);
|
|
29
|
+
}
|
|
30
|
+
if (event.data.param.access_token) {
|
|
31
|
+
let param = event.data.param;
|
|
32
|
+
let save = {
|
|
33
|
+
access_token: (param.access_token) ? param.access_token : undefined,
|
|
34
|
+
client_endpoint: (param.client_endpoint) ? param.client_endpoint : undefined,
|
|
35
|
+
domain: (param.domain) ? param.domain : undefined,
|
|
36
|
+
expires: (param.expires) ? param.expires : undefined,
|
|
37
|
+
expires_in: (param.expires_in) ? param.expires_in : undefined,
|
|
38
|
+
member_id: (param.member_id) ? param.member_id : undefined,
|
|
39
|
+
refresh_token: (param.refresh_token) ? param.refresh_token : undefined,
|
|
40
|
+
scope: (param.scope) ? param.scope : undefined,
|
|
41
|
+
server_endpoint: (param.server_endpoint) ? param.server_endpoint : undefined,
|
|
42
|
+
status: (param.status) ? param.status : undefined,
|
|
43
|
+
user_id: (param.user_id) ? param.user_id : undefined,
|
|
44
|
+
type: (param.type) ? param.type : undefined,
|
|
45
|
+
};
|
|
54
46
|
if (Object.keys(save).length && save.access_token) {
|
|
55
|
-
this.
|
|
47
|
+
SessionStorage.setItem(this.constructor.name, save);
|
|
56
48
|
this.subscribeAll();
|
|
57
49
|
}
|
|
58
50
|
}
|
|
59
51
|
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
/*
|
|
55
|
+
this.subscribe.authData = this.route.queryParamMap
|
|
56
|
+
.pipe(
|
|
57
|
+
filter(param =>
|
|
58
|
+
param.has('AUTH_ID')
|
|
59
|
+
|| param.has('access_token')
|
|
60
|
+
|| param.has('REFRESH_ID')
|
|
61
|
+
|| param.has('DOMAIN')
|
|
62
|
+
)
|
|
63
|
+
)
|
|
64
|
+
.subscribe((param: ParamMap) => {
|
|
65
|
+
if(!save) {
|
|
66
|
+
let save = {
|
|
67
|
+
access_token: undefined,
|
|
68
|
+
client_endpoint: (param.client_endpoint) ? param.client_endpoint : undefined,
|
|
69
|
+
domain: (param.domain) ? param.domain : undefined,
|
|
70
|
+
expires: (param.expires) ? param.expires : undefined,
|
|
71
|
+
expires_in: (param.expires_in) ? param.expires_in : undefined,
|
|
72
|
+
member_id: (param.member_id) ? param.member_id : undefined,
|
|
73
|
+
refresh_token: (param.refresh_token) ? param.refresh_token : undefined,
|
|
74
|
+
scope: (param.scope) ? param.scope : undefined,
|
|
75
|
+
server_endpoint: (param.server_endpoint) ? param.server_endpoint : undefined,
|
|
76
|
+
status: (param.status) ? param.status : undefined,
|
|
77
|
+
user_id: (param.user_id) ? param.user_id : undefined,
|
|
78
|
+
type: (param.type) ? param.type : undefined,
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
if (param.has('AUTH_ID') && !authData?.access_token.length) {
|
|
83
|
+
const get = param.get('AUTH_ID')
|
|
84
|
+
if (get) {
|
|
85
|
+
Cookies.set('auth', get) //TODO: потом убрать
|
|
86
|
+
save.access_token = get
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
if (param.has('access_token') && !authData.access_token.length) {
|
|
91
|
+
const get = param.get('access_token')
|
|
92
|
+
if (get) {
|
|
93
|
+
Cookies.set('auth', get) // TODO: потом убрать
|
|
94
|
+
save.access_token = get
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
if (param.has('REFRESH_ID') && !authData.refresh_token.length) {
|
|
99
|
+
const get = param.get('REFRESH_ID')
|
|
100
|
+
if (get) {
|
|
101
|
+
save.refresh_token = get
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
if (param.has('DOMAIN') && !authData.domain.length) {
|
|
106
|
+
const get = param.get('DOMAIN')
|
|
107
|
+
if (get) {
|
|
108
|
+
save.domain = get
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
if (Object.keys(save).length && save.access_token) {
|
|
112
|
+
SessionStorage.setItem(this.constructor.name, save)
|
|
113
|
+
this.subscribeAll()
|
|
114
|
+
} else {
|
|
115
|
+
// если битрикс не шлёт нужные мне параметры на прямую
|
|
116
|
+
// просим их мне отдать так как описано это в документации
|
|
117
|
+
let f = () => {
|
|
118
|
+
if (this.BxApiLib.BX24) {
|
|
119
|
+
const initDate = this.BxApiLib.BX24.getAuth()
|
|
120
|
+
SessionStorage.setItem(this.constructor.name, save)
|
|
108
121
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
this.BxApiLib.init(f)
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
})
|
|
128
|
+
*/
|
|
129
|
+
}
|
|
130
|
+
else if (this.getAuth().length) {
|
|
131
|
+
this.authHave = true;
|
|
132
|
+
}
|
|
133
|
+
this.authData = authData;
|
|
116
134
|
}
|
|
117
135
|
subscribeAll() {
|
|
118
136
|
this.subscribe.authData.unsubscribe();
|
|
119
137
|
}
|
|
120
138
|
getAuth() {
|
|
121
|
-
switch (
|
|
139
|
+
switch (BX_REST_SETTINGS.auth.key) {
|
|
122
140
|
case 'auth':
|
|
141
|
+
console.log('Cookies.get(\'auth\')', Cookies.get('auth'));
|
|
123
142
|
return Cookies.get('auth');
|
|
124
143
|
default:
|
|
125
144
|
if (window.BX && window.BX.bitrix_sessid()) {
|
|
@@ -135,8 +154,8 @@ export default class SessionKeyServices extends BaseServices {
|
|
|
135
154
|
}
|
|
136
155
|
}
|
|
137
156
|
getKeyAuth() {
|
|
138
|
-
if (
|
|
139
|
-
return
|
|
157
|
+
if (BX_REST_SETTINGS.auth.key.length) {
|
|
158
|
+
return BX_REST_SETTINGS.auth.key;
|
|
140
159
|
}
|
|
141
160
|
else {
|
|
142
161
|
if (window.BX && window.BX.bitrix_sessid()
|
|
@@ -171,32 +190,28 @@ export default class SessionKeyServices extends BaseServices {
|
|
|
171
190
|
return false;
|
|
172
191
|
}
|
|
173
192
|
getAuthParams() {
|
|
174
|
-
|
|
193
|
+
console.log('BX_REST_SETTINGS', BX_REST_SETTINGS);
|
|
194
|
+
switch (BX_REST_SETTINGS.auth.source) {
|
|
175
195
|
case 'cookies':
|
|
176
|
-
return
|
|
196
|
+
return this.getAuth();
|
|
177
197
|
default:
|
|
178
|
-
return this.authData
|
|
198
|
+
return (this.authData) ? this.authData.access_token : undefined;
|
|
179
199
|
}
|
|
180
200
|
}
|
|
181
201
|
getBaseUrl() {
|
|
182
|
-
return of(this.prepareBaseAddress(
|
|
202
|
+
return of(this.prepareBaseAddress(BX_REST_SETTINGS.urls.home, 'rest'));
|
|
183
203
|
// return this.authData$.pipe( // TODO: разобраться позже
|
|
184
204
|
// take(1),
|
|
185
205
|
// map(v => (v && v.domain) ? this.prepareBaseAddress(v.domain) : undefined)
|
|
186
206
|
// )
|
|
187
207
|
}
|
|
188
208
|
}
|
|
189
|
-
SessionKeyServices.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionKeyServices, deps: [{ token: i1.
|
|
209
|
+
SessionKeyServices.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionKeyServices, deps: [{ token: i1.RestServices }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
190
210
|
SessionKeyServices.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionKeyServices, providedIn: 'root' });
|
|
191
211
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionKeyServices, decorators: [{
|
|
192
212
|
type: Injectable,
|
|
193
213
|
args: [{
|
|
194
214
|
providedIn: 'root'
|
|
195
215
|
}]
|
|
196
|
-
}], ctorParameters: function () { return [{ type: i1.
|
|
197
|
-
type: Optional
|
|
198
|
-
}, {
|
|
199
|
-
type: Inject,
|
|
200
|
-
args: [REST_SETTINGS]
|
|
201
|
-
}] }]; } });
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbktleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL2h0dHAvc2Vzc2lvbktleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDNUQsT0FBTyxPQUFPLE1BQU0sZ0NBQWdDLENBQUE7QUFHcEQsd0VBQXdFO0FBQ3hFLE9BQU8sRUFBRSxNQUFNLEVBQWMsRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFFakUsT0FBTyxFQUFFLGVBQWUsRUFBMkIsTUFBTSxrQkFBa0IsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsb0JBQW9CLElBQUksWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFFMUYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFBOzs7OztBQU85QyxNQUFNLENBQUMsT0FBTyxPQUFPLGtCQUFtQixTQUFRLFlBQVk7SUFXMUQsWUFDUyxLQUEyQyxFQUMxQyxLQUFxQixFQUN0QixRQUFzQixFQUNNLGFBS2xDO1FBRUQsS0FBSyxFQUFFLENBQUE7UUFWQSxVQUFLLEdBQUwsS0FBSyxDQUFzQztRQUMxQyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFjO1FBWi9CLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFHaEIsY0FBUyxHQUFHO1lBQ1YsUUFBUSxFQUFFLElBQUksWUFBWSxFQUFFO1NBQzdCLENBQUE7UUFnQkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUE7UUFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJ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QUFPLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUE7WUFDaEMsT0FBTyxJQUFJLENBQUE7U0FDWjtRQUNELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELGFBQWE7UUFDWCxRQUFRLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2pDLEtBQUssU0FBUztnQkFDWixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQTtZQUMzQjtnQkFDRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUN4QixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQzNDLENBQUE7U0FDSjtJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBQ3hFLHlEQUF5RDtRQUN6RCxhQUFhO1FBQ2IsOEVBQThFO1FBQzlFLElBQUk7SUFDTixDQUFDOzsrR0ExTWtCLGtCQUFrQixpR0FlZixhQUFhO21IQWZoQixrQkFBa0IsY0FGekIsTUFBTTsyRkFFQyxrQkFBa0I7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFnQkksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgQ29va2llcyBmcm9tICcuLi8uLi9zZXJ2aWNlcy92YW5pbGxhL9GBb29raWVzJ1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSdcbmltcG9ydCBzYXZlQXBwbGljYXRpb25BdXRoIGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9hdXRoL3NhdmUnXG4vLyBpbXBvcnQgeyBlbnZpcm9ubWVudCBhcyBlbnYgfSBmcm9tICdieC1yZXN0L2Vudmlyb25tZW50cy9lbnZpcm9ubWVudCdcbmltcG9ydCB7IGZpbHRlciwgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiwgdGFrZSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1NYXAgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBzYXZlQWNjZXNzVG9rZW4sIHNhdmVBcHBsaWNhdGlvbkF1dGhQYXRoIH0gZnJvbSAnLi4vLi4vc3RvcmUvYXV0aCdcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHsgQmFzZVNlcnZpY2VzIH0gZnJvbSAnLi4vYmFzZSdcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2VzIGFzIExvY2FsU3RvcmFnZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3ZhbmlsbGEvbG9jYWxTdG9yYWdlJ1xuaW1wb3J0IHsgUmVzdFNlcnZpY2VzIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvYXBpLWxpYidcbmltcG9ydCB7IFJFU1RfU0VUVElOR1MgfSBmcm9tICcuLi8uLi9zZXR0aW5ncydcblxudHlwZSBJS2V5QXV0aCA9ICdzZXNzaWQnIHwgJ2F1dGgnIHwgc3RyaW5nXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2Vzc2lvbktleVNlcnZpY2VzIGV4dGVuZHMgQmFzZVNlcnZpY2VzIHtcblxuICBhdXRoSGF2ZSA9IGZhbHNlXG4gIGF1dGhEYXRhJDogT2JzZXJ2YWJsZTxzYXZlQXBwbGljYXRpb25BdXRoPlxuICBhdXRoRGF0YTogc2F2ZUFwcGxpY2F0aW9uQXV0aCB8IHVuZGVmaW5lZFxuICBzdWJzY3JpYmUgPSB7XG4gICAgYXV0aERhdGE6IG5ldyBTdWJzY3JpcHRpb24oKVxuICB9XG5cbiAgUkVTVF9TRVRUSU5HU1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzdG9yZTogU3RvcmU8eyBhdXRoOiBzYXZlQXBwbGljYXRpb25BdXRoIH0+LFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHB1YmxpYyBCeEFwaUxpYjogUmVzdFNlcnZpY2VzLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoUkVTVF9TRVRUSU5HUykgUkVTVF9TRVRUSU5HUzoge1xuICAgICAgYXV0aDogJ2Nvb2tpZXMnLFxuICAgICAgdXJsczoge1xuICAgICAgICBob21lOiAnJ1xuICAgICAgfVxuICAgIH1cbiAgKSB7XG4gICAgc3VwZXIoKVxuICAgIHRoaXMuUkVTVF9TRVRUSU5HUyA9IFJFU1RfU0VUVElOR1NcbiAgICB0aGlzLmF1dGhEYXRhJCA9IHRoaXMuc3RvcmUuc2VsZWN0KCdhdXRoJylcbiAgICB0aGlzLmF1dGhEYXRhJC5zdWJzY3JpYmUoYXV0aERhdGEgPT4ge1xuICAgICAgaWYgKChhdXRoRGF0YSAmJiAhYXV0aERhdGEuYWNjZXNzX3Rva2VuLmxlbmd0aCkgfHwgIWF1dGhEYXRhKSB7XG4gICAgICAgIC8vINC/0L7Qu9GD0YfQsNC10Lwg0YLQvtC60LXQvSDQv9C+INGB0L7QsdGB0YLQstC10L3QvdGL0Lwg0LrQsNC90LDQu9C+0LwgKNCyINCx0LjRgtGA0LjQutGB0LUg0L/RgNC40LvQvtC20LXQvdC40LUgdHJhY2U6YXBwcy50cmFjZSlcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCAoZXZlbnQ6IE1lc3NhZ2VFdmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudC5vcmlnaW4gIT09IHdpbmRvdy5vcmlnaW4pIHsgLy8g0L/RgNC+0LLQtdGA0Y/QtdC8INGH0YLQviDRjdGC0L4g0L3QtSDQvdCw0YjQtSDRgdC+0L7QsdGJ0LXQvdC40LUgKNGBINGC0LXQutGD0YnQtdCz0L4g0L/RgNC40LvQvtC20LXQvdC40Y8pXG4gICAgICAgICAgICBpZiAoZXZlbnQuZGF0YSAmJiBldmVudC5kYXRhLnBhcmFtKSB7XG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgZXZlbnQuZGF0YS5wYXJhbSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBldmVudC5kYXRhLnBhcmFtID0gSlNPTi5wYXJzZShldmVudC5kYXRhLnBhcmFtKVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgbGV0IHNhdmU6IHNhdmVBcHBsaWNhdGlvbkF1dGhQYXRoID0ge31cblxuICAgICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5wYXJhbS5hY2Nlc3NfdG9rZW4pIHtcbiAgICAgICAgICAgICAgICBsZXQgcGFyYW0gPSBldmVudC5kYXRhLnBhcmFtO1xuICAgICAgICAgICAgICAgIHNhdmUuYWNjZXNzX3Rva2VuID0gZXZlbnQuZGF0YS5wYXJhbS5hY2Nlc3NfdG9rZW5cbiAgICAgICAgICAgICAgICBzYXZlID0ge1xuICAgICAgICAgICAgICAgICAgYWNjZXNzX3Rva2VuOiAocGFyYW0uYWNjZXNzX3Rva2VuKSA/IHBhcmFtLmFjY2Vzc190b2tlbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIGNsaWVudF9lbmRwb2ludDogKHBhcmFtLmNsaWVudF9lbmRwb2ludCkgPyBwYXJhbS5jbGllbnRfZW5kcG9pbnQgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICBkb21haW46IChwYXJhbS5kb21haW4pID8gcGFyYW0uZG9tYWluIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgZXhwaXJlczogKHBhcmFtLmV4cGlyZXMpID8gcGFyYW0uZXhwaXJlcyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIGV4cGlyZXNfaW46IChwYXJhbS5leHBpcmVzX2luKSA/IHBhcmFtLmV4cGlyZXNfaW4gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICBtZW1iZXJfaWQ6IChwYXJhbS5tZW1iZXJfaWQpID8gcGFyYW0ubWVtYmVyX2lkIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgcmVmcmVzaF90b2tlbjogKHBhcmFtLnJlZnJlc2hfdG9rZW4pID8gcGFyYW0ucmVmcmVzaF90b2tlbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIHNjb3BlOiAocGFyYW0uc2NvcGUpID8gcGFyYW0uc2NvcGUgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICBzZXJ2ZXJfZW5kcG9pbnQ6IChwYXJhbS5zZXJ2ZXJfZW5kcG9pbnQpID8gcGFyYW0uc2VydmVyX2VuZHBvaW50IDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgc3RhdHVzOiAocGFyYW0uc3RhdHVzKSA/IHBhcmFtLnN0YXR1cyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgIHVzZXJfaWQ6IChwYXJhbS51c2VyX2lkKSA/IHBhcmFtLnVzZXJfaWQgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICB0eXBlOiAocGFyYW0udHlwZSkgPyBwYXJhbS50eXBlIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhzYXZlKS5sZW5ndGggJiYgc2F2ZS5hY2Nlc3NfdG9rZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHNhdmVBY2Nlc3NUb2tlbihzYXZlKSlcbiAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmliZUFsbCgpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pXG5cbiAgICAgICAgdGhpcy5zdWJzY3JpYmUuYXV0aERhdGEgPSB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1NYXBcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihwYXJhbSA9PlxuICAgICAgICAgICAgICBwYXJhbS5oYXMoJ0FVVEhfSUQnKVxuICAgICAgICAgICAgICB8fCBwYXJhbS5oYXMoJ2FjY2Vzc190b2tlbicpXG4gICAgICAgICAgICAgIHx8IHBhcmFtLmhhcygnUkVGUkVTSF9JRCcpXG4gICAgICAgICAgICAgIHx8IHBhcmFtLmhhcygnRE9NQUlOJylcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSgocGFyYW06IFBhcmFtTWFwKSA9PiB7XG4gICAgICAgICAgICBsZXQgc2F2ZTogc2F2ZUFwcGxpY2F0aW9uQXV0aFBhdGggPSB7fVxuICAgICAgICAgICAgaWYgKHBhcmFtLmhhcygnQVVUSF9JRCcpICYmICFhdXRoRGF0YS5hY2Nlc3NfdG9rZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGdldCA9IHBhcmFtLmdldCgnQVVUSF9JRCcpXG4gICAgICAgICAgICAgIGlmIChnZXQpIHtcbiAgICAgICAgICAgICAgICBDb29raWVzLnNldCgnYXV0aCcsIGdldCkgLy8g0L/QvtGC0L7QvCDRg9Cx0YDQsNGC0YxcbiAgICAgICAgICAgICAgICBzYXZlLmFjY2Vzc190b2tlbiA9IGdldFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwYXJhbS5oYXMoJ2FjY2Vzc190b2tlbicpICYmICFhdXRoRGF0YS5hY2Nlc3NfdG9rZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGdldCA9IHBhcmFtLmdldCgnYWNjZXNzX3Rva2VuJylcbiAgICAgICAgICAgICAgaWYgKGdldCkge1xuICAgICAgICAgICAgICAgIENvb2tpZXMuc2V0KCdhdXRoJywgZ2V0KSAvLyDQv9C+0YLQvtC8INGD0LHRgNCw0YLRjFxuICAgICAgICAgICAgICAgIHNhdmUuYWNjZXNzX3Rva2VuID0gZ2V0XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBhcmFtLmhhcygnUkVGUkVTSF9JRCcpICYmICFhdXRoRGF0YS5yZWZyZXNoX3Rva2VuLmxlbmd0aCkge1xuICAgICAgICAgICAgICBjb25zdCBnZXQgPSBwYXJhbS5nZXQoJ1JFRlJFU0hfSUQnKVxuICAgICAgICAgICAgICBpZiAoZ2V0KSB7XG4gICAgICAgICAgICAgICAgc2F2ZS5yZWZyZXNoX3Rva2VuID0gZ2V0XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBhcmFtLmhhcygnRE9NQUlOJykgJiYgIWF1dGhEYXRhLmRvbWFpbi5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgY29uc3QgZ2V0ID0gcGFyYW0uZ2V0KCdET01BSU4nKVxuICAgICAgICAgICAgICBpZiAoZ2V0KSB7XG4gICAgICAgICAgICAgICAgc2F2ZS5kb21haW4gPSBnZXRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKE9iamVjdC5rZXlzKHNhdmUpLmxlbmd0aCAmJiBzYXZlLmFjY2Vzc190b2tlbikge1xuICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHNhdmVBY2Nlc3NUb2tlbihzYXZlKSlcbiAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpYmVBbGwoKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8g0LXRgdC70Lgg0LHQuNGC0YDQuNC60YEg0L3QtSDRiNC70ZHRgiDQvdGD0LbQvdGL0LUg0LzQvdC1INC/0LDRgNCw0LzQtdGC0YDRiyDQvdCwINC/0YDRj9C80YPRjlxuICAgICAgICAgICAgICAvLyDQv9GA0L7RgdC40Lwg0LjRhSDQvNC90LUg0L7RgtC00LDRgtGMINGC0LDQuiDQutCw0Log0L7Qv9C40YHQsNC90L4g0Y3RgtC+INCyINC00L7QutGD0LzQtdC90YLQsNGG0LjQuFxuICAgICAgICAgICAgICBsZXQgZiA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5CeEFwaUxpYi5CWDI0KSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBpbml0RGF0ZSA9IHRoaXMuQnhBcGlMaWIuQlgyNC5nZXRBdXRoKClcbiAgICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goc2F2ZUFjY2Vzc1Rva2VuKGluaXREYXRlKSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICB0aGlzLkJ4QXBpTGliLmluaXQoZilcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH0pXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZ2V0QXV0aCgpLmxlbmd0aCkge1xuICAgICAgICB0aGlzLmF1dGhIYXZlID0gdHJ1ZVxuICAgICAgfVxuXG4gICAgICB0aGlzLmF1dGhEYXRhID0gYXV0aERhdGFcbiAgICB9KVxuICB9XG5cbiAgc3Vic2NyaWJlQWxsKCkge1xuICAgIHRoaXMuc3Vic2NyaWJlLmF1dGhEYXRhLnVuc3Vic2NyaWJlKClcbiAgfVxuXG4gIGdldEF1dGgoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKFJFU1RfU0VUVElOR1MuYXV0aC5rZXkpe1xuICAgICAgY2FzZSAnYXV0aCc6XG4gICAgICAgIHJldHVybiBDb29raWVzLmdldCgnYXV0aCcpXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAoKDxhbnk+d2luZG93KS5CWCAmJiAoPGFueT53aW5kb3cpLkJYLmJpdHJpeF9zZXNzaWQoKSkge1xuICAgICAgICAgIHJldHVybiAoPGFueT53aW5kb3cpLkJYLmJpdHJpeF9zZXNzaWQoKVxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZ2V0U2Vzc2lkKCkubGVuZ3RoKSB7XG4gICAgICAgICAgbGV0IHN0ciA9IHRoaXMuZ2V0U2Vzc2lkKClcbiAgICAgICAgICByZXR1cm4gKHN0cikgPyBzdHIgOiAnJ1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBDb29raWVzLmdldCgnYXV0aCcpXG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRLZXlBdXRoKCk6IElLZXlBdXRoIHtcbiAgICBpZihSRVNUX1NFVFRJTkdTLmF1dGgua2V5Lmxlbmd0aCl7XG4gICAgICByZXR1cm4gUkVTVF9TRVRUSU5HUy5hdXRoLmtleVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoKDxhbnk+d2luZG93KS5CWCAmJiAoPGFueT53aW5kb3cpLkJYLmJpdHJpeF9zZXNzaWQoKVxuICAgICAgICB8fCB0aGlzLmdldFNlc3NpZCgpLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gJ3Nlc3NpZCdcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAnYXV0aCdcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRTZXNzaWQoKSB7XG4gICAgY29uc3QgY2hlY2sgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGRvY3VtZW50LmxvY2F0aW9uLnNlYXJjaCkuZ2V0KCdzZXNzaWQnKVxuICAgIGlmIChjaGVjaykge1xuICAgICAgTG9jYWxTdG9yYWdlLnNldCgnc2Vzc2lkJywgY2hlY2spXG4gICAgICByZXR1cm4gY2hlY2tcbiAgICB9IGVsc2UgaWYgKExvY2FsU3RvcmFnZS5nZXQoJ3Nlc3NpZCcpKSB7XG4gICAgICByZXR1cm4gTG9jYWxTdG9yYWdlLmdldCgnc2Vzc2lkJylcbiAgICB9XG4gICAgcmV0dXJuICcnXG4gIH1cblxuICBzZXRBdXRoUGFyYW1zPFQ+KHBhcmFtczogYW55KTogYm9vbGVhbiB7XG4gICAgY29uc3Qga2V5QXV0aCA9IHRoaXMuZ2V0S2V5QXV0aCgpXG4gICAgaWYgKHBhcmFtc1trZXlBdXRoXSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGVsc2UgaWYgKGtleUF1dGgpIHtcbiAgICAgIHBhcmFtc1trZXlBdXRoXSA9IHRoaXMuZ2V0QXV0aCgpXG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGdldEF1dGhQYXJhbXMoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICBzd2l0Y2ggKFJFU1RfU0VUVElOR1MuYXV0aC5zb3VyY2UpIHtcbiAgICAgIGNhc2UgJ2Nvb2tpZXMnOlxuICAgICAgICByZXR1cm4gb2YodGhpcy5nZXRBdXRoKCkpXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdGhpcy5hdXRoRGF0YSQucGlwZShcbiAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgIG1hcCh2ID0+ICh2KSA/IHYuYWNjZXNzX3Rva2VuIDogdW5kZWZpbmVkKVxuICAgICAgICApXG4gICAgfVxuICB9XG5cbiAgZ2V0QmFzZVVybCgpOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBvZih0aGlzLnByZXBhcmVCYXNlQWRkcmVzcyh0aGlzLlJFU1RfU0VUVElOR1MudXJscy5ob21lLCAncmVzdCcpKVxuICAgIC8vIHJldHVybiB0aGlzLmF1dGhEYXRhJC5waXBlKCAvLyBUT0RPOiDRgNCw0LfQvtCx0YDQsNGC0YzRgdGPINC/0L7Qt9C20LVcbiAgICAvLyAgIHRha2UoMSksXG4gICAgLy8gICBtYXAodiA9PiAodiAmJiB2LmRvbWFpbikgPyB0aGlzLnByZXBhcmVCYXNlQWRkcmVzcyh2LmRvbWFpbikgOiB1bmRlZmluZWQpXG4gICAgLy8gKVxuICB9XG5cbiAgLy8gZ2V0SG9tZVVybCgpOiBzdHJpbmcge1xuICAvLyAgICAgcmV0dXJuIGVudi51cmxzLmhvbWVcbiAgLy8gfVxufVxuIl19
|
|
216
|
+
}], ctorParameters: function () { return [{ type: i1.RestServices }]; } });
|
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbktleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL2h0dHAvc2Vzc2lvbktleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFBO0FBQzVELE9BQU8sT0FBTyxNQUFNLGdDQUFnQyxDQUFBO0FBRXBELE9BQU8sRUFBYyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ25ELDZEQUE2RDtBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQ3RDLE9BQU8sRUFBRSxvQkFBb0IsSUFBSSxZQUFZLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUUxRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUE7OztBQU8xRCxNQUFNLENBQUMsT0FBTyxPQUFPLGtCQUFtQixTQUFRLFlBQVk7SUFRMUQ7SUFDRSxpQ0FBaUM7SUFDMUIsUUFBc0I7UUFFN0IsS0FBSyxFQUFFLENBQUE7UUFGQSxhQUFRLEdBQVIsUUFBUSxDQUFjO1FBUi9CLGFBQVEsR0FBRyxLQUFLLENBQUE7UUFFaEIsY0FBUyxHQUFHO1lBQ1YsUUFBUSxFQUFFLElBQUksWUFBWSxFQUFFO1NBQzdCLENBQUE7UUFPQyxJQUFJLFFBQVEsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFjLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDekUsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDNUQsaUZBQWlGO1lBQ2pGLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFtQixFQUFF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WUFDcEMsS0FBSyxTQUFTO2dCQUNaLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO1lBQ3ZCO2dCQUNFLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7U0FDbEU7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUE7UUFDdEUseURBQXlEO1FBQ3pELGFBQWE7UUFDYiw4RUFBOEU7UUFDOUUsSUFBSTtJQUNOLENBQUM7OytHQTVNa0Isa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGekIsTUFBTTsyRkFFQyxrQkFBa0I7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgQ29va2llcyBmcm9tICcuLi8uLi9zZXJ2aWNlcy92YW5pbGxhL9GBb29raWVzJ1xuaW1wb3J0IHNhdmVBcHBsaWNhdGlvbkF1dGggZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL2F1dGgvc2F2ZSdcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJ1xuLy8gaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBhcmFtTWFwIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuaW1wb3J0IHsgQmFzZVNlcnZpY2VzIH0gZnJvbSAnLi4vYmFzZSdcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2VzIGFzIExvY2FsU3RvcmFnZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3ZhbmlsbGEvbG9jYWxTdG9yYWdlJ1xuaW1wb3J0IHsgUmVzdFNlcnZpY2VzIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvYXBpLWxpYidcbmltcG9ydCB7IEJYX1JFU1RfU0VUVElOR1MgfSBmcm9tICcuLi8uLi9zZXR0aW5ncydcbmltcG9ydCBpQlhSZXN0QXV0aCBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vYXV0aC9zYXZlJ1xuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2UgfSBmcm9tICcuLi92YW5pbGxhL3Nlc3Npb25TdG9yYWdlJ1xuXG50eXBlIElLZXlBdXRoID0gJ3Nlc3NpZCcgfCAnYXV0aCcgfCBzdHJpbmdcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTZXNzaW9uS2V5U2VydmljZXMgZXh0ZW5kcyBCYXNlU2VydmljZXMge1xuXG4gIGF1dGhIYXZlID0gZmFsc2VcbiAgYXV0aERhdGE6IHNhdmVBcHBsaWNhdGlvbkF1dGggfCB1bmRlZmluZWRcbiAgc3Vic2NyaWJlID0ge1xuICAgIGF1dGhEYXRhOiBuZXcgU3Vic2NyaXB0aW9uKClcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8vIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHB1YmxpYyBCeEFwaUxpYjogUmVzdFNlcnZpY2VzLFxuICApIHtcbiAgICBzdXBlcigpXG4gICAgbGV0IGF1dGhEYXRhID0gU2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbTxpQlhSZXN0QXV0aD4odGhpcy5jb25zdHJ1Y3Rvci5uYW1lKVxuICAgIGlmICgoYXV0aERhdGEgJiYgIWF1dGhEYXRhLmFjY2Vzc190b2tlbi5sZW5ndGgpIHx8ICFhdXRoRGF0YSkge1xuICAgICAgLy8g0L/QvtC70YPRh9Cw0LXQvCDRgtC+0LrQtdC9INC/0L4g0YHQvtCx0YHRgtCy0LXQvdC90YvQvCDQutCw0L3QsNC70L7QvCAo0LIg0LHQuNGC0YDQuNC60YHQtSDQv9GA0LjQu9C+0LbQtdC90LjQtSB0cmFjZTphcHBzLnRyYWNlKVxuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCAoZXZlbnQ6IE1lc3NhZ2VFdmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQub3JpZ2luICE9PSB3aW5kb3cub3JpZ2luKSB7IC8vINC/0YDQvtCy0LXRgNGP0LXQvCDRh9GC0L4g0Y3RgtC+INC90LUg0L3QsNGI0LUg0YHQvtC+0LHRidC10L3QuNC1ICjRgSDRgtC10LrRg9GJ0LXQs9C+INC/0YDQuNC70L7QttC10L3QuNGPKVxuICAgICAgICAgIGlmIChldmVudC5kYXRhICYmIGV2ZW50LmRhdGEucGFyYW0pIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZXZlbnQuZGF0YS5wYXJhbSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgZXZlbnQuZGF0YS5wYXJhbSA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YS5wYXJhbSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEucGFyYW0uYWNjZXNzX3Rva2VuKSB7XG4gICAgICAgICAgICAgIGxldCBwYXJhbSA9IGV2ZW50LmRhdGEucGFyYW07XG4gICAgICAgICAgICAgIGxldCBzYXZlID0ge1xuICAgICAgICAgICAgICAgIGFjY2Vzc190b2tlbjogKHBhcmFtLmFjY2Vzc190b2tlbikgPyBwYXJhbS5hY2Nlc3NfdG9rZW4gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgY2xpZW50X2VuZHBvaW50OiAocGFyYW0uY2xpZW50X2VuZHBvaW50KSA/IHBhcmFtLmNsaWVudF9lbmRwb2ludCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBkb21haW46IChwYXJhbS5kb21haW4pID8gcGFyYW0uZG9tYWluIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIGV4cGlyZXM6IChwYXJhbS5leHBpcmVzKSA/IHBhcmFtLmV4cGlyZXMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgZXhwaXJlc19pbjogKHBhcmFtLmV4cGlyZXNfaW4pID8gcGFyYW0uZXhwaXJlc19pbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBtZW1iZXJfaWQ6IChwYXJhbS5tZW1iZXJfaWQpID8gcGFyYW0ubWVtYmVyX2lkIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIHJlZnJlc2hfdG9rZW46IChwYXJhbS5yZWZyZXNoX3Rva2VuKSA/IHBhcmFtLnJlZnJlc2hfdG9rZW4gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgc2NvcGU6IChwYXJhbS5zY29wZSkgPyBwYXJhbS5zY29wZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBzZXJ2ZXJfZW5kcG9pbnQ6IChwYXJhbS5zZXJ2ZXJfZW5kcG9pbnQpID8gcGFyYW0uc2VydmVyX2VuZHBvaW50IDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIHN0YXR1czogKHBhcmFtLnN0YXR1cykgPyBwYXJhbS5zdGF0dXMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgdXNlcl9pZDogKHBhcmFtLnVzZXJfaWQpID8gcGFyYW0udXNlcl9pZCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICB0eXBlOiAocGFyYW0udHlwZSkgPyBwYXJhbS50eXBlIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaWYgKE9iamVjdC5rZXlzKHNhdmUpLmxlbmd0aCAmJiBzYXZlLmFjY2Vzc190b2tlbikge1xuICAgICAgICAgICAgICAgIFNlc3Npb25TdG9yYWdlLnNldEl0ZW0odGhpcy5jb25zdHJ1Y3Rvci5uYW1lLCBzYXZlKVxuICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlQWxsKClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcblxuICAgICAgLypcbiAgICAgIHRoaXMuc3Vic2NyaWJlLmF1dGhEYXRhID0gdGhpcy5yb3V0ZS5xdWVyeVBhcmFtTWFwXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGZpbHRlcihwYXJhbSA9PlxuICAgICAgICAgICAgcGFyYW0uaGFzKCdBVVRIX0lEJylcbiAgICAgICAgICAgIHx8IHBhcmFtLmhhcygnYWNjZXNzX3Rva2VuJylcbiAgICAgICAgICAgIHx8IHBhcmFtLmhhcygnUkVGUkVTSF9JRCcpXG4gICAgICAgICAgICB8fCBwYXJhbS5oYXMoJ0RPTUFJTicpXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHBhcmFtOiBQYXJhbU1hcCkgPT4ge1xuICAgICAgICAgIGlmKCFzYXZlKSB7XG4gICAgICAgICAgICBsZXQgc2F2ZSA9IHtcbiAgICAgICAgICAgICAgYWNjZXNzX3Rva2VuOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIGNsaWVudF9lbmRwb2ludDogKHBhcmFtLmNsaWVudF9lbmRwb2ludCkgPyBwYXJhbS5jbGllbnRfZW5kcG9pbnQgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIGRvbWFpbjogKHBhcmFtLmRvbWFpbikgPyBwYXJhbS5kb21haW4gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIGV4cGlyZXM6IChwYXJhbS5leHBpcmVzKSA/IHBhcmFtLmV4cGlyZXMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIGV4cGlyZXNfaW46IChwYXJhbS5leHBpcmVzX2luKSA/IHBhcmFtLmV4cGlyZXNfaW4gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIG1lbWJlcl9pZDogKHBhcmFtLm1lbWJlcl9pZCkgPyBwYXJhbS5tZW1iZXJfaWQgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIHJlZnJlc2hfdG9rZW46IChwYXJhbS5yZWZyZXNoX3Rva2VuKSA/IHBhcmFtLnJlZnJlc2hfdG9rZW4gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIHNjb3BlOiAocGFyYW0uc2NvcGUpID8gcGFyYW0uc2NvcGUgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIHNlcnZlcl9lbmRwb2ludDogKHBhcmFtLnNlcnZlcl9lbmRwb2ludCkgPyBwYXJhbS5zZXJ2ZXJfZW5kcG9pbnQgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIHN0YXR1czogKHBhcmFtLnN0YXR1cykgPyBwYXJhbS5zdGF0dXMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIHVzZXJfaWQ6IChwYXJhbS51c2VyX2lkKSA/IHBhcmFtLnVzZXJfaWQgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIHR5cGU6IChwYXJhbS50eXBlKSA/IHBhcmFtLnR5cGUgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHBhcmFtLmhhcygnQVVUSF9JRCcpICYmICFhdXRoRGF0YT8uYWNjZXNzX3Rva2VuLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgZ2V0ID0gcGFyYW0uZ2V0KCdBVVRIX0lEJylcbiAgICAgICAgICAgIGlmIChnZXQpIHtcbiAgICAgICAgICAgICAgQ29va2llcy5zZXQoJ2F1dGgnLCBnZXQpIC8vVE9ETzog0L/QvtGC0L7QvCDRg9Cx0YDQsNGC0YxcbiAgICAgICAgICAgICAgc2F2ZS5hY2Nlc3NfdG9rZW4gPSBnZXRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAocGFyYW0uaGFzKCdhY2Nlc3NfdG9rZW4nKSAmJiAhYXV0aERhdGEuYWNjZXNzX3Rva2VuLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgZ2V0ID0gcGFyYW0uZ2V0KCdhY2Nlc3NfdG9rZW4nKVxuICAgICAgICAgICAgaWYgKGdldCkge1xuICAgICAgICAgICAgICBDb29raWVzLnNldCgnYXV0aCcsIGdldCkgLy8gVE9ETzog0L/QvtGC0L7QvCDRg9Cx0YDQsNGC0YxcbiAgICAgICAgICAgICAgc2F2ZS5hY2Nlc3NfdG9rZW4gPSBnZXRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAocGFyYW0uaGFzKCdSRUZSRVNIX0lEJykgJiYgIWF1dGhEYXRhLnJlZnJlc2hfdG9rZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBnZXQgPSBwYXJhbS5nZXQoJ1JFRlJFU0hfSUQnKVxuICAgICAgICAgICAgaWYgKGdldCkge1xuICAgICAgICAgICAgICBzYXZlLnJlZnJlc2hfdG9rZW4gPSBnZXRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAocGFyYW0uaGFzKCdET01BSU4nKSAmJiAhYXV0aERhdGEuZG9tYWluLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgZ2V0ID0gcGFyYW0uZ2V0KCdET01BSU4nKVxuICAgICAgICAgICAgaWYgKGdldCkge1xuICAgICAgICAgICAgICBzYXZlLmRvbWFpbiA9IGdldFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoT2JqZWN0LmtleXMoc2F2ZSkubGVuZ3RoICYmIHNhdmUuYWNjZXNzX3Rva2VuKSB7XG4gICAgICAgICAgICBTZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHRoaXMuY29uc3RydWN0b3IubmFtZSwgc2F2ZSlcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaWJlQWxsKClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8g0LXRgdC70Lgg0LHQuNGC0YDQuNC60YEg0L3QtSDRiNC70ZHRgiDQvdGD0LbQvdGL0LUg0LzQvdC1INC/0LDRgNCw0LzQtdGC0YDRiyDQvdCwINC/0YDRj9C80YPRjlxuICAgICAgICAgICAgLy8g0L/RgNC+0YHQuNC8INC40YUg0LzQvdC1INC+0YLQtNCw0YLRjCDRgtCw0Log0LrQsNC6INC+0L/QuNGB0LDQvdC+INGN0YLQviDQsiDQtNC+0LrRg9C80LXQvdGC0LDRhtC40LhcbiAgICAgICAgICAgIGxldCBmID0gKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodGhpcy5CeEFwaUxpYi5CWDI0KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5pdERhdGUgPSB0aGlzLkJ4QXBpTGliLkJYMjQuZ2V0QXV0aCgpXG4gICAgICAgICAgICAgICAgU2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmNvbnN0cnVjdG9yLm5hbWUsIHNhdmUpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5CeEFwaUxpYi5pbml0KGYpXG4gICAgICAgICAgfVxuXG4gICAgICAgIH0pXG4gICAgICAqL1xuICAgIH0gZWxzZSBpZiAodGhpcy5nZXRBdXRoKCkubGVuZ3RoKSB7XG4gICAgICB0aGlzLmF1dGhIYXZlID0gdHJ1ZVxuICAgIH1cblxuICAgIHRoaXMuYXV0aERhdGEgPSBhdXRoRGF0YVxuXG4gIH1cblxuICBzdWJzY3JpYmVBbGwoKSB7XG4gICAgdGhpcy5zdWJzY3JpYmUuYXV0aERhdGEudW5zdWJzY3JpYmUoKVxuICB9XG5cbiAgZ2V0QXV0aCgpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAoQlhfUkVTVF9TRVRUSU5HUy5hdXRoLmtleSkge1xuICAgICAgY2FzZSAnYXV0aCc6XG4gICAgICAgIGNvbnNvbGUubG9nKCdDb29raWVzLmdldChcXCdhdXRoXFwnKScsIENvb2tpZXMuZ2V0KCdhdXRoJykpXG4gICAgICAgIHJldHVybiBDb29raWVzLmdldCgnYXV0aCcpXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAoKDxhbnk+d2luZG93KS5CWCAmJiAoPGFueT53aW5kb3cpLkJYLmJpdHJpeF9zZXNzaWQoKSkge1xuICAgICAgICAgIHJldHVybiAoPGFueT53aW5kb3cpLkJYLmJpdHJpeF9zZXNzaWQoKVxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZ2V0U2Vzc2lkKCkubGVuZ3RoKSB7XG4gICAgICAgICAgbGV0IHN0ciA9IHRoaXMuZ2V0U2Vzc2lkKClcbiAgICAgICAgICByZXR1cm4gKHN0cikgPyBzdHIgOiAnJ1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBDb29raWVzLmdldCgnYXV0aCcpXG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRLZXlBdXRoKCk6IElLZXlBdXRoIHtcbiAgICBpZiAoQlhfUkVTVF9TRVRUSU5HUy5hdXRoLmtleS5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBCWF9SRVNUX1NFVFRJTkdTLmF1dGgua2V5XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICgoPGFueT53aW5kb3cpLkJYICYmICg8YW55PndpbmRvdykuQlguYml0cml4X3Nlc3NpZCgpXG4gICAgICAgIHx8IHRoaXMuZ2V0U2Vzc2lkKCkubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiAnc2Vzc2lkJ1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuICdhdXRoJ1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldFNlc3NpZCgpIHtcbiAgICBjb25zdCBjaGVjayA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoZG9jdW1lbnQubG9jYXRpb24uc2VhcmNoKS5nZXQoJ3Nlc3NpZCcpXG4gICAgaWYgKGNoZWNrKSB7XG4gICAgICBMb2NhbFN0b3JhZ2Uuc2V0KCdzZXNzaWQnLCBjaGVjaylcbiAgICAgIHJldHVybiBjaGVja1xuICAgIH0gZWxzZSBpZiAoTG9jYWxTdG9yYWdlLmdldCgnc2Vzc2lkJykpIHtcbiAgICAgIHJldHVybiBMb2NhbFN0b3JhZ2UuZ2V0KCdzZXNzaWQnKVxuICAgIH1cbiAgICByZXR1cm4gJydcbiAgfVxuXG4gIHNldEF1dGhQYXJhbXM8VD4ocGFyYW1zOiBhbnkpOiBib29sZWFuIHtcbiAgICBjb25zdCBrZXlBdXRoID0gdGhpcy5nZXRLZXlBdXRoKClcbiAgICBpZiAocGFyYW1zW2tleUF1dGhdKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH0gZWxzZSBpZiAoa2V5QXV0aCkge1xuICAgICAgcGFyYW1zW2tleUF1dGhdID0gdGhpcy5nZXRBdXRoKClcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgZ2V0QXV0aFBhcmFtcygpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnNvbGUubG9nKCdCWF9SRVNUX1NFVFRJTkdTJywgQlhfUkVTVF9TRVRUSU5HUylcbiAgICBzd2l0Y2ggKEJYX1JFU1RfU0VUVElOR1MuYXV0aC5zb3VyY2UpIHtcbiAgICAgIGNhc2UgJ2Nvb2tpZXMnOlxuICAgICAgICByZXR1cm4gdGhpcy5nZXRBdXRoKClcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAodGhpcy5hdXRoRGF0YSkgPyB0aGlzLmF1dGhEYXRhLmFjY2Vzc190b2tlbiA6IHVuZGVmaW5lZFxuICAgIH1cbiAgfVxuXG4gIGdldEJhc2VVcmwoKTogT2JzZXJ2YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gb2YodGhpcy5wcmVwYXJlQmFzZUFkZHJlc3MoQlhfUkVTVF9TRVRUSU5HUy51cmxzLmhvbWUsICdyZXN0JykpXG4gICAgLy8gcmV0dXJuIHRoaXMuYXV0aERhdGEkLnBpcGUoIC8vIFRPRE86INGA0LDQt9C+0LHRgNCw0YLRjNGB0Y8g0L/QvtC30LbQtVxuICAgIC8vICAgdGFrZSgxKSxcbiAgICAvLyAgIG1hcCh2ID0+ICh2ICYmIHYuZG9tYWluKSA/IHRoaXMucHJlcGFyZUJhc2VBZGRyZXNzKHYuZG9tYWluKSA6IHVuZGVmaW5lZClcbiAgICAvLyApXG4gIH1cblxuICAvLyBnZXRIb21lVXJsKCk6IHN0cmluZyB7XG4gIC8vICAgICByZXR1cm4gZW52LnVybHMuaG9tZVxuICAvLyB9XG59XG4iXX0=
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
export class
|
|
4
|
-
setItem(name, value) {
|
|
3
|
+
export class SessionStorage {
|
|
4
|
+
static setItem(name, value) {
|
|
5
5
|
sessionStorage.setItem(name, JSON.stringify(value));
|
|
6
6
|
}
|
|
7
|
-
getItem(name) {
|
|
7
|
+
static getItem(name) {
|
|
8
8
|
const res = sessionStorage.getItem(name);
|
|
9
9
|
if (res) {
|
|
10
10
|
return JSON.parse(res);
|
|
@@ -12,12 +12,12 @@ export class SessionStorageServices {
|
|
|
12
12
|
return undefined;
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type:
|
|
15
|
+
SessionStorage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionStorage, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
16
|
+
SessionStorage.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionStorage, providedIn: 'root' });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SessionStorage, decorators: [{
|
|
18
18
|
type: Injectable,
|
|
19
19
|
args: [{
|
|
20
20
|
providedIn: 'root'
|
|
21
21
|
}]
|
|
22
22
|
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvblN0b3JhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9zZXJ2aWNlcy92YW5pbGxhL3Nlc3Npb25TdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7O0FBSzFDLE1BQU0sT0FBTyxjQUFjO0lBRXpCLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBWSxFQUFFLEtBQVU7UUFDckMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBQ3JELENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFJLElBQVk7UUFDNUIsTUFBTSxHQUFHLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4QyxJQUFHLEdBQUcsRUFBQztZQUNMLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQU0sQ0FBQTtTQUM1QjtRQUNELE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUM7OzJHQVpVLGNBQWM7K0dBQWQsY0FBYyxjQUZiLE1BQU07MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlc3Npb25TdG9yYWdlIHtcclxuXHJcbiAgc3RhdGljIHNldEl0ZW0obmFtZTogc3RyaW5nLCB2YWx1ZTogYW55KXtcclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0obmFtZSwgSlNPTi5zdHJpbmdpZnkodmFsdWUpKVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldEl0ZW08VD4obmFtZTogc3RyaW5nKXtcclxuICAgIGNvbnN0IHJlcyA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0obmFtZSlcclxuICAgIGlmKHJlcyl7XHJcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKHJlcykgYXMgVFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxyXG4gIH1cclxufVxyXG4iXX0=
|
package/esm2020/settings.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export const
|
|
1
|
+
export const BX_REST_SETTINGS = {
|
|
2
2
|
auth: {
|
|
3
3
|
source: 'cookies',
|
|
4
4
|
key: 'auth'
|
|
@@ -7,4 +7,4 @@ export const REST_SETTINGS = {
|
|
|
7
7
|
home: 'b24.trace-studio.com'
|
|
8
8
|
}
|
|
9
9
|
};
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBa0I7SUFDN0MsSUFBSSxFQUFFO1FBQ0osTUFBTSxFQUFFLFNBQVM7UUFDakIsR0FBRyxFQUFFLE1BQU07S0FDWjtJQUNELElBQUksRUFBRTtRQUNKLElBQUksRUFBRSxzQkFBc0I7S0FDN0I7Q0FDRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaVJlc3RTZXR0aW5ncyB9IGZyb20gJy4vdHlwaWZpY2F0aW9uL3NldHRpbmdzJ1xyXG5cclxuZXhwb3J0IGNvbnN0IEJYX1JFU1RfU0VUVElOR1M6IGlSZXN0U2V0dGluZ3MgPSB7XHJcbiAgYXV0aDoge1xyXG4gICAgc291cmNlOiAnY29va2llcycsXHJcbiAgICBrZXk6ICdhdXRoJ1xyXG4gIH0sXHJcbiAgdXJsczoge1xyXG4gICAgaG9tZTogJ2IyNC50cmFjZS1zdHVkaW8uY29tJ1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9hdXRoL3NhdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGludGVyZmFjZSBpQlhSZXN0QXV0aCB7XG4gIGFjY2Vzc190b2tlbjogc3RyaW5nLCAvLyDQvtGB0L3QvtCy0L3QvtC5INCw0LLRgtC+0YDQuNC30LDRhtC40L7QvdC90YvQuSDRgtC+0LrQtdC9LCDRgtGA0LXQsdGD0LXQvNGL0Lkg0LTQu9GPINC00L7RgdGC0YPQv9CwINC6IFJFU1QgQVBJXG4gIGNsaWVudF9lbmRwb2ludDogc3RyaW5nLCAvLyDQsNC00YDQtdGBIFJFU1Qt0LjQvdGC0LXRgNGE0LXQudGB0LAg0L/QvtGA0YLQsNC70LBcbiAgZG9tYWluOiBzdHJpbmcsXG4gIGV4cGlyZXM6IG51bWJlcixcbiAgZXhwaXJlc19pbjogbnVtYmVyLFxuICBtZW1iZXJfaWQ6IHN0cmluZyxcbiAgcmVmcmVzaF90b2tlbjogc3RyaW5nLCAvLyDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3Ri9C5INCw0LLRgtC+0YDQuNC30LDRhtC40L7QvdC90YvQuSDRgtC+0LrQtdC9LCDRgdC70YPQttCw0YnQuNC5INC00LvRjyDQv9GA0L7QtNC70LXQvdC40Y8g0YHQvtGF0YDQsNC90LXQvdC90L7QuSDQsNCy0YLQvtGA0LjQt9Cw0YbQuNC4XG4gIHNjb3BlOiBzdHJpbmcsXG4gIHNlcnZlcl9lbmRwb2ludDogc3RyaW5nLCAvLyDQsNC00YDQtdGBIFJFU1Qt0LjQvdGC0LXRgNGE0LXQudGB0LAg0YHQtdGA0LLQtdGA0LBcbiAgc3RhdHVzOiBzdHJpbmcsIC8vINGB0YLQsNGC0YPRgSDQv9GA0LjQu9C+0LbQtdC90LjRjyDQvdCwINC/0L7RgNGC0LDQu9C1XG4gIHVzZXJfaWQ6IG51bWJlcixcbiAgc3RhdGU/OiBhbnlcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JkZXJPcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvdHlwaWZpY2F0aW9uL3Jlc3QvYmFzZS9PcmRlck9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIGlCWFJlc3RPcmRlck9wdGlvbiA9ICdhc2MnIC8vINC/0L4g0LLQvtC30YDQsNGB0YLQsNC90LjRjlxyXG4gfCAnZGVzYycgIC8vINC/0L4g0YPQsdGL0LLQsNC90LjRjlxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9yZXN0L2Jhc2Uvc29ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgaUJYUmVzdFBhcmFtU29ydCA9ICdBU0MnIHwgJ0RFU0MnXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZWRFbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvdHlwaWZpY2F0aW9uL3Jlc3QvYml6cHJvYy9iYXNlL2ZpbGVkRW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgaVJlc3RCWEJpenByb2NXb3JrZmxvd1RlbXBsYXRlRmllbGRFbnVtID1cclxuICAnSUQnXHJcbiAgfCAnTU9EVUxFX0lEJ1xyXG4gIHwgJ0VOVElUWSdcclxuICB8ICdET0NVTUVOVF9UWVBFJ1xyXG4gIHwgJ0FVVE9fRVhFQ1VURSdcclxuICB8ICdOQU1FJ1xyXG4gIHwgJ1RFTVBMQVRFJ1xyXG4gIHwgJ1BBUkFNRVRFUlMnXHJcbiAgfCAnVkFSSUFCTEVTJ1xyXG4gIHwgJ0NPTlNUQU5UUydcclxuICB8ICdNT0RJRklFRCdcclxuICB8ICdJU19NT0RJRklFRCdcclxuICB8ICdVU0VSX0lEJ1xyXG4gIHwgJ1NZU1RFTV9DT0RFJ1xyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy90eXBpZmljYXRpb24vcmVzdC9iaXpwcm9jL3dvcmtmbG93L3N0YXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RQYXJhbUJpenByb2NXb3JrZmxvd1N0YXJ0IHtcclxuICBURU1QTEFURV9JRDogbnVtYmVyLCAvL1x00JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YjQsNCx0LvQvtC90LAg0JHQn1xyXG4gIERPQ1VNRU5UX0lEOiBzdHJpbmdbXSwgLy9cdNCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC00L7QutGD0LzQtdC90YLQsCDQkdCfXHJcbiAgUEFSQU1FVEVSUzogYW55IC8vXHTQl9C90LDRh9C10L3QuNGPINC/0LDRgNCw0LzQtdGC0YDQvtCyINCR0J8gKNC10YHQu9C4INGI0LDQsdC70L7QvSDRgSDQv9Cw0YDQsNC80LXRgtGA0LDQvNC4KSBUT0RPOiDQntC/0LjRgdCw0YLRjCDQvdC+0YDQvNCw0LvRjNC90L5cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9yZXN0L2JpenByb2Mvd29ya2Zsb3cvdGVtcGxhdGUvbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaVJlc3RCWEJpenByb2NXb3JrZmxvd1RlbXBsYXRlRmllbGRFbnVtIH0gZnJvbSAnLi4vLi4vYmFzZS9maWxlZEVudW0nXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RQYXJhbUJpenByb2NXb3JrZmxvd1RlbXBsYXRlTGlzdCB7XHJcbiAgc2VsZWN0OiBpUmVzdEJYQml6cHJvY1dvcmtmbG93VGVtcGxhdGVGaWVsZEVudW1bXSxcclxuICBmaWx0ZXI6IGlCWFJlc3RQYXJhbUJpenByb2NXb3JrZmxvd1RlbXBsYXRlTGlzdEZpbHRlclxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBpQlhSZXN0UGFyYW1CaXpwcm9jV29ya2Zsb3dUZW1wbGF0ZUxpc3RGaWx0ZXIgPSB7XHJcbiAgW1Byb3BlcnR5IGluIGlSZXN0QlhCaXpwcm9jV29ya2Zsb3dUZW1wbGF0ZUZpZWxkRW51bV0/OiBhbnk7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvdHlwaWZpY2F0aW9uL3Jlc3QvbGlzdHMvZWxlbWVudC9hZGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdFBhcmFtTGlzdHNFbGVtZW50QWRkIHtcclxuICBJQkxPQ0tfVFlQRV9JRDogJ2xpc3RzJyB8ICdiaXRyaXhfcHJvY2Vzc2VzJywgLy8gVE9ETzog0LLRi9C00LXQu9C40YLRjCDQsiDQvtGC0LTQtdC70YzQvdGL0Lkg0YLQuNC/XHJcbiAgSUJMT0NLX0lEOiBudW1iZXIgfCBhbnksXHJcbiAgRUxFTUVOVF9DT0RFOiBzdHJpbmcsXHJcbiAgRklFTERTOiB7XHJcbiAgICBOQU1FOiBzdHJpbmcsXHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnlcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzTmFtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2svYmFzZS9maWVsZHNOYW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBpQlhSZXN0VGFza0ZpZWxkc05hbWUgPSAnSUQnIC8vINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC30LDQtNCw0YfQuFxuICAgIHwgJ1BBUkVOVF9JRCcgLy8g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YDQvtC00LjRgtC10LvRjNGB0LrQvtC5INC30LDQtNCw0YfQuFxuICAgIHwgJ1RJVExFJyAvLyDQvdCw0LfQstCw0L3QuNC1INC30LDQtNCw0YfQuFxuICAgIHwgJ0RFU0NSSVBUSU9OJyAvLyDQvtC/0LjRgdCw0L3QuNC1XG4gICAgfCAnTUFSSycgLy8g0L7RhtC10L3QutCwXG4gICAgfCAnUFJJT1JJVFknIC8vINC/0YDQuNC+0YDQuNGC0LXRgjogMCAtINC90LjQt9C60LjQuSwgMSAtINGB0YDQtdC00L3QuNC5LCAyIC0g0LLRi9GB0L7QutC40LlcbiAgICB8ICdTVEFUVVMnIC8vICfRgdGC0LDRgtGD0YEnXG4gICAgfCAnTVVMVElUQVNLJyAvLyDQvNC90L7QttC10YHRgtCy0LXQvdC90LDRjyDQt9Cw0LTQsNGH0LBcbiAgICB8ICdOT1RfVklFV0VEJy8vINC90LXQv9GA0L7RgdC80L7RgtGA0LXQvdC90LDRjyDQt9Cw0LTQsNGH0LBcbiAgICB8ICdSRVBMSUNBVEUnIC8vICDQv9C+0LLRgtC+0YDRj9C10LzQsNGPINC30LDQtNCw0YfQsFxuICAgIHwgJ0dST1VQX0lEJyAvLyDRgNCw0LHQvtGH0LDRjyDQs9GA0YPQv9C/0LAuXG4gICAgfCAnU1RBR0VfSUQnIC8vINGB0YLQsNC00LjRj1xuICAgIHwgJ0NSRUFURURfQlknIC8vINC/0L7RgdGC0LDQvdC+0LLRidC40LpcbiAgICB8ICdDUkVBVEVEX0RBVEUnIC8vINC00LDRgtCwINGB0L7Qt9C00LDQvdC40Y9cbiAgICB8ICdSRVNQT05TSUJMRV9JRCcgLy8g0LjRgdC/0L7Qu9C90LjRgtC10LvRjFxuICAgIHwgJ0FDQ09NUExJQ0VTJyAvLyDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgdC+0LjRgdC/0L7Qu9C90LjRgtC10LvRj1xuICAgIHwgJ0FVRElUT1JTJyAvLyDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQsNGD0LTQuNGC0L7RgNCwXG4gICAgfCAnQ0hBTkdFRF9CWScgLy8g0LrQtdC8INC40LfQvNC10L3QtdC90LAg0LfQsNC00LDRh9CwXG4gICAgfCAnQ0hBTkdFRF9EQVRFJyAvLyDQtNCw0YLQsCDQuNC30LzQtdC90LXQvdC40Y9cbiAgICB8ICdTVEFUVVNfQ0hBTkdFRF9EQVRFJyAvLyDQutGC0L4g0LjQt9C80LXQvdC40Lsg0YHRgtCw0YLRg9GBXG4gICAgfCAnQ0xPU0VEX0JZJyAvLyDQutGC0L4g0LfQsNC60YDRi9C7INC30LDQtNCw0YfRg1xuICAgIHwgJ0NMT1NFRF9EQVRFJyAvLyDQtNCw0YLQsCDQt9Cw0LrRgNGL0YLQuNGPINC30LDQtNCw0YfQuFxuICAgIHwgJ0RBVEVfU1RBUlQnIC8vINC00LDRgtCwINC90LDRh9Cw0LvQsFxuICAgIHwgJ0RFQURMSU5FJyAvLyDQutGA0LDQudC90LjQuSDRgdGA0L7QulxuICAgIHwgJ1NUQVJUX0RBVEVfUExBTicgLy8g0L/Qu9Cw0L3QvtCy0L7QtSDQvdCw0YfQsNC70L5cbiAgICB8ICdFTkRfREFURV9QTEFOJyAvLyDQv9C70LDQvdC+0LLQvtC1INC30LDQstC10YDRiNC10L3QuNC1XG4gICAgfCAnR1VJRCcgLy8gR1VJRCAo0YHRgtCw0YLQuNGB0YLQuNGH0LXRgdC60Lgg0YPQvdC40LrQsNC70YzQvdGL0LkgMTI4LdCx0LjRgtC90YvQuSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgClcbiAgICB8ICdYTUxfSUQnIC8vINCy0L3QtdGI0L3QuNC5INC60L7QtFxuICAgIHwgJ0NPTU1FTlRTX0NPVU5UJyAvLyDQutC+0LvQuNGH0LXRgdGC0LLQviDQutC+0LzQvNC10L3RgtCw0YDQuNC10LJcbiAgICB8ICdORVdfQ09NTUVOVFNfQ09VTlQnIC8vINC60L7Qu9C40YfQtdGB0YLQstC+INC90L7QstGL0YUg0LrQvtC80LzQtdC90YLQsNGA0LjQtdCyXG4gICAgfCAnVEFTS19DT05UUk9MJyAvLyDQv9GA0LjQvdGP0YLRjCDQsiDRgNCw0LHQvtGC0YNcbiAgICB8ICdBRERfSU5fUkVQT1JUJyAvLyDQtNC+0LHQsNCy0LjRgtGMINCyINC+0YLRh9C10YJcbiAgICB8ICdGT1JLRURfQllfVEVNUExBVEVfSUQnIC8vINGB0L7Qt9C00LDQvdC+INC40Lcg0YjQsNCx0LvQvtC90LBcbiAgICB8ICdUSU1FX0VTVElNQVRFJyAvLyDQt9Cw0YLRgNCw0YfQtdC90L3QvtC1INCy0YDQtdC80Y9cbiAgICB8ICdUSU1FX1NQRU5UX0lOX0xPR1MnIC8vINC30LDRgtGA0LDRh9C10L3QvdC+0LUg0LLRgNC10LzRjyDQuNC3INC40YHRgtC+0YDQuNC4INC40LfQvNC10L3QtdC90LjQuVxuICAgIHwgJ01BVENIX1dPUktfVElNRScgLy8g0L/RgNC+0L/Rg9GB0YLQuNGC0Ywg0LLRi9GF0L7QtNC90YvQtSDQtNC90LhcbiAgICB8ICdGT1JVTV9UT1BJQ19JRCcgLy8g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YLQtdC80Ysg0YTQvtGA0YPQvNCwXG4gICAgfCAnRk9SVU1fSUQnIC8vINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGE0L7RgNGD0LzQsFxuICAgIHwgJ1NJVEVfSUQnIC8vINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGB0LDQudGC0LBcbiAgICB8ICdTVUJPUkRJTkFURScgLy8g0LfQsNC00LDRh9CwINC/0L7QtNGH0LjQvdC10L3QvdC+0LPQvlxuICAgIHwgJ0ZBVk9SSVRFJyAvLyDQmNC30LHRgNCw0L3QvdC+0LVcbiAgICB8ICdWSUVXRURfREFURScgLy8g0LTQsNGC0LAg0L/QvtGB0LvQtdC00L3QtdCz0L4g0L/RgNC+0YHQvNC+0YLRgNCwXG4gICAgfCAnU09SVElORycgLy8g0LjQvdC00LXQutGBINGB0L7RgNGC0LjRgNC+0LLQutC4XG4gICAgfCAnRFVSQVRJT05fUExBTicgLy8g0LfQsNGC0YDQsNGH0LXQvdC+ICjQv9C70LDQvSlcbiAgICB8ICdEVVJBVElPTl9GQUNUJyAvLyDQt9Cw0YLRgNCw0YfQtdC90L4gKNGE0LDQutGC0LjRh9C10YHQutC4KVxuICAgIHwgJ0RVUkFUSU9OX1RZUEUnIC8vINGC0LjQvyDQtdC00LjQvdC40YbRiyDQuNC30LzQtdGA0LXQvdC40Y8g0LIg0L/Qu9Cw0L3QuNGA0YPQtdC80L7QuSDQtNC70LjRgtC10LvRjNC90L7RgdGC0Lg6IGRheXMsIGhvdXJzINC40LvQuCBtaW51dGVzXG4gICAgfCAnQUNUSVZJVFlfREFURSdcbiAgICB8ICdUQUdTJ1xuICAgIHwgJ0FMTE9XX1RJTUVfVFJBQ0tJTkcnIC8vINGA0LDQt9GA0LXRiNGR0L0g0YLRgNC10Log0LLRgNC10LzQtdC90LhcbiJdfQ==
|