@lifeready/core 5.0.9 → 5.0.10
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/bundles/lifeready-core.umd.js +1515 -734
- package/bundles/lifeready-core.umd.js.map +1 -1
- package/bundles/lifeready-core.umd.min.js +1 -1
- package/bundles/lifeready-core.umd.min.js.map +1 -1
- package/esm2015/lib/_common/key.js +28 -0
- package/esm2015/lib/_common/types.js +1 -1
- package/esm2015/lib/api/types/lr-graphql.types.js +1 -1
- package/esm2015/lib/auth/auth.types.js +1 -3
- package/esm2015/lib/auth2/auth2.gql.private.js +78 -0
- package/esm2015/lib/auth2/auth2.service.js +591 -0
- package/esm2015/lib/auth2/auth2.types.js +21 -0
- package/esm2015/lib/contact-card/contact-card.service.js +3 -3
- package/esm2015/lib/contact-card/contact-card2.service.js +3 -3
- package/esm2015/lib/item2/item2.service.js +9 -9
- package/esm2015/lib/key/key-factory.service.js +1 -1
- package/esm2015/lib/key/key-graph.service.js +2 -2
- package/esm2015/lib/key/key-meta.service.js +2 -2
- package/esm2015/lib/key/key.service.js +6 -6
- package/esm2015/lib/key-exchange/key-exchange.service.js +24 -29
- package/esm2015/lib/key-exchange/key-exchange2.service.js +16 -17
- package/esm2015/lib/lbop/lbop.service.js +13 -14
- package/esm2015/lib/profile/profile.service.js +2 -2
- package/esm2015/lib/profile/profile.types.js +1 -1
- package/esm2015/lib/register/register.service.js +1 -1
- package/esm2015/lib/register/register.types.js +3 -0
- package/esm2015/lib/server-config/server-config.gql.js +1 -1
- package/esm2015/lib/shared-contact-card/shared-contact-card.service.js +3 -3
- package/esm2015/lib/shared-contact-card/shared-contact-card2.service.js +2 -2
- package/esm2015/lib/tp-assembly/tp-assembly.js +3 -3
- package/esm2015/lib/trusted-party/trusted-party2.service.js +4 -4
- package/esm2015/public-api.js +4 -1
- package/fesm2015/lifeready-core.js +876 -199
- package/fesm2015/lifeready-core.js.map +1 -1
- package/lib/_common/key.d.ts +14 -0
- package/lib/_common/types.d.ts +6 -0
- package/lib/api/types/lr-graphql.types.d.ts +1 -0
- package/lib/auth/auth.types.d.ts +0 -6
- package/lib/auth2/auth2.gql.private.d.ts +12 -0
- package/lib/auth2/auth2.service.d.ts +70 -0
- package/lib/auth2/auth2.types.d.ts +50 -0
- package/lib/item2/item2.service.d.ts +3 -3
- package/lib/key/key-factory.service.d.ts +1 -0
- package/lib/key/key-graph.service.d.ts +2 -3
- package/lib/key/key.service.d.ts +5 -5
- package/lib/key-exchange/key-exchange.service.d.ts +3 -5
- package/lib/lbop/lbop.service.d.ts +3 -3
- package/lib/profile/profile.types.d.ts +2 -2
- package/lib/register/register.service.d.ts +1 -1
- package/lib/register/register.types.d.ts +6 -0
- package/lib/server-config/server-config.gql.d.ts +1 -1
- package/lib/server-config/server-config.service.d.ts +1 -1
- package/lib/shared-contact-card/shared-contact-card.service.d.ts +2 -2
- package/lifeready-core.metadata.json +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +3 -0
|
@@ -6,20 +6,20 @@ import { AuthClass } from '@aws-amplify/auth/lib-esm/Auth';
|
|
|
6
6
|
import gql from 'graphql-tag';
|
|
7
7
|
import { Slip39Helper } from 'slip39';
|
|
8
8
|
import { LrApolloService } from '../api/lr-apollo.service';
|
|
9
|
-
import {
|
|
9
|
+
import { Auth2Service } from '../auth2/auth2.service';
|
|
10
10
|
import { EncryptionService } from '../encryption/encryption.service';
|
|
11
11
|
import { KeyFactoryService as KFS } from '../key/key-factory.service';
|
|
12
12
|
import { KeyGraphService } from '../key/key-graph.service';
|
|
13
13
|
import { KeyService } from '../key/key.service';
|
|
14
14
|
import { KC_CONFIG } from '../life-ready.config';
|
|
15
15
|
import { PasswordService } from '../password/password.service';
|
|
16
|
-
import { KcError, KcException,
|
|
16
|
+
import { KcBadLogicException, KcError, KcException, KcInternalErrorException, } from '../_common/exceptions';
|
|
17
17
|
import * as i0 from "@angular/core";
|
|
18
18
|
import * as i1 from "../life-ready.config";
|
|
19
19
|
import * as i2 from "@angular/common/http";
|
|
20
20
|
import * as i3 from "../api/lr-apollo.service";
|
|
21
21
|
import * as i4 from "@aws-amplify/auth/lib-esm/Auth";
|
|
22
|
-
import * as i5 from "../
|
|
22
|
+
import * as i5 from "../auth2/auth2.service";
|
|
23
23
|
import * as i6 from "../key/key-factory.service";
|
|
24
24
|
import * as i7 from "../key/key.service";
|
|
25
25
|
import * as i8 from "../encryption/encryption.service";
|
|
@@ -76,12 +76,12 @@ export const LbopsQuery = gql `
|
|
|
76
76
|
}
|
|
77
77
|
`;
|
|
78
78
|
export class LbopService {
|
|
79
|
-
constructor(config, http, lrApollo, auth,
|
|
79
|
+
constructor(config, http, lrApollo, auth, auth2Service, keyFactory, keyService, encryptionService, keyGraph, passwordService) {
|
|
80
80
|
this.config = config;
|
|
81
81
|
this.http = http;
|
|
82
82
|
this.lrApollo = lrApollo;
|
|
83
83
|
this.auth = auth;
|
|
84
|
-
this.
|
|
84
|
+
this.auth2Service = auth2Service;
|
|
85
85
|
this.keyFactory = keyFactory;
|
|
86
86
|
this.keyService = keyService;
|
|
87
87
|
this.encryptionService = encryptionService;
|
|
@@ -111,7 +111,7 @@ export class LbopService {
|
|
|
111
111
|
return __awaiter(this, void 0, void 0, function* () {
|
|
112
112
|
const lbop = yield this.get(id);
|
|
113
113
|
lbop.name = name;
|
|
114
|
-
const masterKey =
|
|
114
|
+
const masterKey = this.keyService.currentMasterKey;
|
|
115
115
|
const cipherMeta = yield this.encryptionService.encrypt(masterKey.jwk, lbop);
|
|
116
116
|
const res = yield this.lrApollo.mutate({
|
|
117
117
|
mutation: UpdateLbopQuery,
|
|
@@ -133,7 +133,7 @@ export class LbopService {
|
|
|
133
133
|
id,
|
|
134
134
|
},
|
|
135
135
|
});
|
|
136
|
-
const masterKey =
|
|
136
|
+
const masterKey = this.keyService.currentMasterKey;
|
|
137
137
|
const plainCipherMeta = yield this.encryptionService.decrypt(masterKey.jwk, JSON.parse(res.lbop.cipherMeta));
|
|
138
138
|
return Object.assign({ id: res.id }, plainCipherMeta);
|
|
139
139
|
});
|
|
@@ -143,7 +143,7 @@ export class LbopService {
|
|
|
143
143
|
const res = yield this.lrApollo.query({
|
|
144
144
|
query: LbopsQuery,
|
|
145
145
|
});
|
|
146
|
-
const masterKey = yield this.keyService.
|
|
146
|
+
const masterKey = yield this.keyService.currentMasterKey;
|
|
147
147
|
return Promise.all(res.lbops.edges.map((edge) => __awaiter(this, void 0, void 0, function* () {
|
|
148
148
|
const plainCipherMeta = yield this.encryptionService.decrypt(masterKey.jwk, JSON.parse(edge.node.cipherMeta));
|
|
149
149
|
return Object.assign({ id: edge.node.id }, plainCipherMeta);
|
|
@@ -174,8 +174,7 @@ export class LbopService {
|
|
|
174
174
|
const lbopKeyVerifier = yield this.keyFactory.createSignKey();
|
|
175
175
|
const wrappedLbopKeyVerifier = yield this.encryptionService.encrypt(lbopKey, lbopKeyVerifier.toJSON(true));
|
|
176
176
|
// Re-encrypt master key with new key
|
|
177
|
-
const
|
|
178
|
-
const masterKey = yield this.keyGraph.getKey(currentUser.currentUserKey.masterKey.id);
|
|
177
|
+
const masterKey = this.keyService.currentMasterKey;
|
|
179
178
|
const wrappedMasterKey = yield this.encryptionService.encrypt(lbopKey, masterKey.jwk.toJSON(true));
|
|
180
179
|
const meta = Object.assign(Object.assign({}, (name && { name })), { partial: this.getPartial(lbopString) });
|
|
181
180
|
const cipherMeta = yield this.encryptionService.encrypt(masterKey.jwk, meta);
|
|
@@ -187,7 +186,7 @@ export class LbopService {
|
|
|
187
186
|
lbopKeyParams: JSON.stringify(lbopKeyParams),
|
|
188
187
|
lbopKeyVerifier: JSON.stringify(lbopKeyVerifier.toJSON(true)),
|
|
189
188
|
wrappedLbopKeyVerifier: JSON.stringify(wrappedLbopKeyVerifier),
|
|
190
|
-
masterKeyId:
|
|
189
|
+
masterKeyId: masterKey.id,
|
|
191
190
|
wrappedMasterKey: JSON.stringify(wrappedMasterKey),
|
|
192
191
|
},
|
|
193
192
|
},
|
|
@@ -339,7 +338,7 @@ export class LbopService {
|
|
|
339
338
|
});
|
|
340
339
|
}
|
|
341
340
|
}
|
|
342
|
-
LbopService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LbopService_Factory() { return new LbopService(i0.ɵɵinject(i1.KC_CONFIG), i0.ɵɵinject(i2.HttpClient), i0.ɵɵinject(i3.LrApolloService), i0.ɵɵinject(i4.AuthClass), i0.ɵɵinject(i5.
|
|
341
|
+
LbopService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LbopService_Factory() { return new LbopService(i0.ɵɵinject(i1.KC_CONFIG), i0.ɵɵinject(i2.HttpClient), i0.ɵɵinject(i3.LrApolloService), i0.ɵɵinject(i4.AuthClass), i0.ɵɵinject(i5.Auth2Service), i0.ɵɵinject(i6.KeyFactoryService), i0.ɵɵinject(i7.KeyService), i0.ɵɵinject(i8.EncryptionService), i0.ɵɵinject(i9.KeyGraphService), i0.ɵɵinject(i10.PasswordService)); }, token: LbopService, providedIn: "root" });
|
|
343
342
|
LbopService.decorators = [
|
|
344
343
|
{ type: Injectable, args: [{
|
|
345
344
|
providedIn: 'root',
|
|
@@ -350,11 +349,11 @@ LbopService.ctorParameters = () => [
|
|
|
350
349
|
{ type: HttpClient },
|
|
351
350
|
{ type: LrApolloService },
|
|
352
351
|
{ type: AuthClass },
|
|
353
|
-
{ type:
|
|
352
|
+
{ type: Auth2Service },
|
|
354
353
|
{ type: KFS },
|
|
355
354
|
{ type: KeyService },
|
|
356
355
|
{ type: EncryptionService },
|
|
357
356
|
{ type: KeyGraphService },
|
|
358
357
|
{ type: PasswordService }
|
|
359
358
|
];
|
|
360
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGJvcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2xib3AvbGJvcC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRCxPQUFPLEdBQUcsTUFBTSxhQUFhLENBQUM7QUFFOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixJQUFJLEdBQUcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFaEQsT0FBTyxFQUFZLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQ0wsT0FBTyxFQUNQLFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsd0JBQXdCLEdBQ3pCLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7OztBQUUvQixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDO0FBQ25DLE1BQU0sQ0FBTixJQUFZLGVBRVg7QUFGRCxXQUFZ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QUNILENBQUM7WUFFRixpQ0FBaUM7WUFDakMsc0RBQXNEO1lBRXRELE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUUxQixPQUFPLE1BQU0sSUFBSSxDQUFDLElBQUk7aUJBQ25CLElBQUksQ0FBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyw0QkFBNEIsRUFBRTtnQkFDN0QsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO2dCQUNyQixnQkFBZ0IsRUFBRSxNQUFNLENBQUMsZ0JBQWdCO2FBQzFDLENBQUM7aUJBQ0QsU0FBUyxFQUFFLENBQUM7UUFDakIsQ0FBQztLQUFBOzs7O1lBallGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OzRDQU9JLE1BQU0sU0FBQyxTQUFTO1lBckxaLFVBQVU7WUFNVixlQUFlO1lBSmYsU0FBUztZQUtULG9CQUFvQjtZQUVDLEdBQUc7WUFFeEIsVUFBVTtZQUhWLGlCQUFpQjtZQUVqQixlQUFlO1lBSWYsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dGhDbGFzcyB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9hdXRoL2xpYi1lc20vQXV0aCc7XG5pbXBvcnQgZ3FsIGZyb20gJ2dyYXBocWwtdGFnJztcbmltcG9ydCB7IEpXSyB9IGZyb20gJ25vZGUtam9zZSc7XG5pbXBvcnQgeyBTbGlwMzlIZWxwZXIgfSBmcm9tICdzbGlwMzknO1xuaW1wb3J0IHsgTHJBcG9sbG9TZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL2xyLWFwb2xsby5zZXJ2aWNlJztcbmltcG9ydCB7IExpZmVSZWFkeUF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aC9saWZlLXJlYWR5LWF1dGguc2VydmljZSc7XG5pbXBvcnQgeyBFbmNyeXB0aW9uU2VydmljZSB9IGZyb20gJy4uL2VuY3J5cHRpb24vZW5jcnlwdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEtleUZhY3RvcnlTZXJ2aWNlIGFzIEtGUyB9IGZyb20gJy4uL2tleS9rZXktZmFjdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IEtleUdyYXBoU2VydmljZSB9IGZyb20gJy4uL2tleS9rZXktZ3JhcGguc2VydmljZSc7XG5pbXBvcnQgeyBLZXlTZXJ2aWNlIH0gZnJvbSAnLi4va2V5L2tleS5zZXJ2aWNlJztcbmltcG9ydCB7IFBhc3NLZXlQYXJhbXMgfSBmcm9tICcuLi9rZXkva2V5LnR5cGVzJztcbmltcG9ydCB7IEtjQ29uZmlnLCBLQ19DT05GSUcgfSBmcm9tICcuLi9saWZlLXJlYWR5LmNvbmZpZyc7XG5pbXBvcnQgeyBQYXNzd29yZFNlcnZpY2UgfSBmcm9tICcuLi9wYXNzd29yZC9wYXNzd29yZC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEtjRXJyb3IsXG4gIEtjRXhjZXB0aW9uLFxuICBLY0JhZExvZ2ljRXhjZXB0aW9uLFxuICBLY0ludGVybmFsRXJyb3JFeGNlcHRpb24sXG59IGZyb20gJy4uL19jb21tb24vZXhjZXB0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBFUlJPUl9TT1VSQ0UgPSAnTEJPUCc7XG5leHBvcnQgZW51bSBLY0xib3BFcnJvckNvZGUge1xuICBJTlZBTElEX1BBU1NQSFJBU0UgPSAnSU5WQUxJRF9QQVNTUEhSQVNFJyxcbn1cblxuaW50ZXJmYWNlIFNldFBhc3N3b3JkQXBpUmVzdWx0IHtcbiAgdXNlcm5hbWU6IHN0cmluZztcbiAgaWRwUGFzc3dvcmQ6IHN0cmluZztcbiAgc2V0UGFzc3dvcmRUb2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNldFBhc3N3b3JkUGFyYW1zIHtcbiAgbGJvcElkOiBzdHJpbmc7XG4gIG5ld1Bhc3N3b3JkOiBDcnlwdG9LZXk7XG4gIHZlcmlmaWVkVG9rZW46IHN0cmluZztcbiAgbWFzdGVyS2V5SWQ6IHN0cmluZztcbiAgbWFzdGVyS2V5OiBKV0suS2V5O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeUNvbnRhY3RQYXJhbXMge1xuICBlbWFpbD86IHN0cmluZztcbiAgcGhvbmU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5Q29udGFjdFJlc3VsdCB7XG4gIC8vIFRoZSBjbGFpbV9pZCBpZGVudGlmaWVzIHRoZSBFbWFpbC9TTVMgY29uZmlybWF0aW9uXG4gIGNsYWltSWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25maXJtQ29udGFjdFBhcmFtcyB7XG4gIGNsYWltSWQ6IHN0cmluZztcbiAgdkNvZGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25maXJtQ29udGFjdFJlc3VsdCB7XG4gIC8vIFRoZSB0b2tlbiB0byBwcm92ZSB0aGUgY2xpZW50IGhhZCB0aGUgY29ycmVjdCBjb25maXJtYXRpb24gY29kZS5cbiAgdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZXJpZnlQYXJhbXMge1xuICBjbGFpbUlkOiBzdHJpbmc7XG4gIGNsYWltVG9rZW46IHN0cmluZztcbiAgbGJvcDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeVJlc3VsdCB7XG4gIC8vIHVzZXJJZDogc3RyaW5nO1xuICBsYm9wSWQ6IHN0cmluZztcbiAgdmVyaWZpZWRUb2tlbjogc3RyaW5nO1xuICBtYXN0ZXJLZXlJZDogc3RyaW5nO1xuICBtYXN0ZXJLZXk6IEpXSy5LZXk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbGxlbmdlUmVzdWx0TGJvcCB7XG4gIGxib3BJZDogc3RyaW5nO1xuICBsYm9wS2V5UGFyYW1zOiBQYXNzS2V5UGFyYW1zO1xuICB3cmFwcGVkTGJvcEtleVZlcmlmaWVyOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbGxlbmdlUmVzdWx0IHtcbiAgY2hhbGxlbmdlOiB7XG4gICAgc2VydmVyTm9uY2U6IHN0cmluZztcbiAgfTtcbiAgbGJvcHM6IENoYWxsZW5nZVJlc3VsdExib3BbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYm9wIHtcbiAgaWQ6IHN0cmluZztcbiAgcGFydGlhbD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgbGJvcFN0cmluZz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVMYm9wUGFyYW1zIHtcbiAgbmFtZT86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIENyZWF0ZUxib3BRdWVyeSB7XG4gIGNyZWF0ZUxib3A6IHtcbiAgICBsYm9wOiBMYm9wO1xuICB9O1xufVxuXG5leHBvcnQgY29uc3QgQ3JlYXRlTGJvcFF1ZXJ5ID0gZ3FsYFxuICBtdXRhdGlvbiBDcmVhdGVMYm9wKCRpbnB1dDogQ3JlYXRlTGJvcElucHV0ISkge1xuICAgIGNyZWF0ZUxib3AoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgbGJvcCB7XG4gICAgICAgIGlkXG4gICAgICB9XG4gICAgfVxuICB9XG5gO1xuXG5pbnRlcmZhY2UgRGVsZXRlTGJvcFF1ZXJ5IHtcbiAgZGVsZXRlTGJvcDogTGJvcDtcbn1cblxuZXhwb3J0IGNvbnN0IERlbGV0ZUxib3BRdWVyeSA9IGdxbGBcbiAgbXV0YXRpb24gRGVsZXRlTGJvcCgkaW5wdXQ6IERlbGV0ZUxib3BJbnB1dCEpIHtcbiAgICBkZWxldGVMYm9wKGlucHV0OiAkaW5wdXQpIHtcbiAgICAgIGlkXG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZUxib3BQYXJhbXMge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBVcGRhdGVMYm9wUXVlcnkge1xuICB1cGRhdGVMYm9wOiBMYm9wO1xufVxuXG5leHBvcnQgY29uc3QgVXBkYXRlTGJvcFF1ZXJ5ID0gZ3FsYFxuICBtdXRhdGlvbiBVcGRhdGVMYm9wKCRpbnB1dDogVXBkYXRlTGJvcElucHV0ISkge1xuICAgIHVwZGF0ZUxib3AoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgbGJvcCB7XG4gICAgICAgIGlkXG4gICAgICB9XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgTGJvcFF1ZXJ5ID0gZ3FsYFxuICBxdWVyeSBMYm9wKCRpZDogTHJSZWxheUlkSW5wdXQhKSB7XG4gICAgbGJvcChpZDogJGlkKSB7XG4gICAgICBpZFxuICAgICAgY2lwaGVyTWV0YVxuICAgIH1cbiAgfVxuYDtcblxuaW50ZXJmYWNlIExib3BzUXVlcnkge1xuICBsYm9wczogYW55O1xufVxuXG5leHBvcnQgY29uc3QgTGJvcHNRdWVyeSA9IGdxbGBcbiAgcXVlcnkgTGJvcHMge1xuICAgIGxib3BzIHtcbiAgICAgIGVkZ2VzIHtcbiAgICAgICAgbm9kZSB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBjaXBoZXJNZXRhXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBMYm9wU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgQ0xJRU5UX05PTkNFX0xFTkdUSCA9IDMyO1xuICAvLyBUaGVyZSBhcmUgMTAyNCB3b3JkcyAoMTAgYml0cyksIHNvIDI1IHdvcmRzIHNob3VsZCBnaXZlIH4yNTYgYml0cyBvZiBlbnRyb3B5LlxuICBwcml2YXRlIHJlYWRvbmx5IExCT1BfV09SRFMgPSAyNTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEtDX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IEtjQ29uZmlnLFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGxyQXBvbGxvOiBMckFwb2xsb1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBhdXRoOiBBdXRoQ2xhc3MsXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogTGlmZVJlYWR5QXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBrZXlGYWN0b3J5OiBLRlMsXG4gICAgcHJpdmF0ZSBrZXlTZXJ2aWNlOiBLZXlTZXJ2aWNlLFxuICAgIHByaXZhdGUgZW5jcnlwdGlvblNlcnZpY2U6IEVuY3J5cHRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUga2V5R3JhcGg6IEtleUdyYXBoU2VydmljZSxcbiAgICBwcml2YXRlIHBhc3N3b3JkU2VydmljZTogUGFzc3dvcmRTZXJ2aWNlXG4gICkge31cblxuICBwcml2YXRlIGdldFBhcnRpYWwobGJvcFN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbGJvcFN0cmluZy5zcGxpdCgnICcpWzBdO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHJlbW92ZShpZDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmxyQXBvbGxvLm11dGF0ZTxhbnk+KHtcbiAgICAgIG11dGF0aW9uOiBEZWxldGVMYm9wUXVlcnksXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVzLmRlbGV0ZUxib3AuaWQ7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgdXBkYXRlKHsgaWQsIG5hbWUgfTogVXBkYXRlTGJvcFBhcmFtcyk6IFByb21pc2U8TGJvcD4ge1xuICAgIGNvbnN0IGxib3AgPSBhd2FpdCB0aGlzLmdldChpZCk7XG4gICAgbGJvcC5uYW1lID0gbmFtZTtcblxuICAgIGNvbnN0IG1hc3RlcktleSA9IGF3YWl0IHRoaXMua2V5U2VydmljZS5nZXRDdXJyZW50TWFzdGVyS2V5KCk7XG4gICAgY29uc3QgY2lwaGVyTWV0YSA9IGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2UuZW5jcnlwdChcbiAgICAgIG1hc3RlcktleS5qd2ssXG4gICAgICBsYm9wXG4gICAgKTtcblxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPFVwZGF0ZUxib3BRdWVyeT4oe1xuICAgICAgbXV0YXRpb246IFVwZGF0ZUxib3BRdWVyeSxcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIGNpcGhlck1ldGE6IEpTT04uc3RyaW5naWZ5KGNpcGhlck1ldGEpLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHJldHVybiByZXMudXBkYXRlTGJvcDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXQoaWQ6IHN0cmluZyk6IFByb21pc2U8TGJvcD4ge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMubHJBcG9sbG8ucXVlcnk8YW55Pih7XG4gICAgICBxdWVyeTogTGJvcFF1ZXJ5LFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlkLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IG1hc3RlcktleSA9IGF3YWl0IHRoaXMua2V5U2VydmljZS5nZXRDdXJyZW50TWFzdGVyS2V5KCk7XG5cbiAgICBjb25zdCBwbGFpbkNpcGhlck1ldGEgPSBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmRlY3J5cHQoXG4gICAgICBtYXN0ZXJLZXkuandrLFxuICAgICAgSlNPTi5wYXJzZShyZXMubGJvcC5jaXBoZXJNZXRhKVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHJlcy5pZCxcbiAgICAgIC4uLnBsYWluQ2lwaGVyTWV0YSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGxpc3QoKTogUHJvbWlzZTxMYm9wW10+IHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmxyQXBvbGxvLnF1ZXJ5PExib3BzUXVlcnk+KHtcbiAgICAgIHF1ZXJ5OiBMYm9wc1F1ZXJ5LFxuICAgIH0pO1xuXG4gICAgY29uc3QgbWFzdGVyS2V5ID0gYXdhaXQgdGhpcy5rZXlTZXJ2aWNlLmdldEN1cnJlbnRNYXN0ZXJLZXkoKTtcblxuICAgIHJldHVybiBQcm9taXNlLmFsbChcbiAgICAgIHJlcy5sYm9wcy5lZGdlcy5tYXAoYXN5bmMgKGVkZ2UpID0+IHtcbiAgICAgICAgY29uc3QgcGxhaW5DaXBoZXJNZXRhID0gYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5kZWNyeXB0KFxuICAgICAgICAgIG1hc3RlcktleS5qd2ssXG4gICAgICAgICAgSlNPTi5wYXJzZShlZGdlLm5vZGUuY2lwaGVyTWV0YSlcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpZDogZWRnZS5ub2RlLmlkLFxuICAgICAgICAgIC4uLnBsYWluQ2lwaGVyTWV0YSxcbiAgICAgICAgfTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjcmVhdGUoeyBuYW1lIH06IENyZWF0ZUxib3BQYXJhbXMpOiBQcm9taXNlPExib3A+IHtcbiAgICBpZiAoU2xpcDM5SGVscGVyLldPUkRfTElTVC5sZW5ndGggIT09IDEwMjQpIHtcbiAgICAgIHRocm93IG5ldyBLY0JhZExvZ2ljRXhjZXB0aW9uKCdTbGlwMzlIZWxwZXIuV09SRF9MSVNULmxlbmd0aCAhPSAxMDI0Jyk7XG4gICAgfVxuXG4gICAgLy8gR2V0IGV4aXN0aW5nIHRvIG1ha2Ugc3VyZSB0aGVyZSBhcmUgbm90IGR1cGxpY2F0ZSBmaXJzdCB3b3Jkc1xuICAgIGNvbnN0IGxib3BzID0gYXdhaXQgdGhpcy5saXN0KCk7XG5cbiAgICAvLyBHZW5lcmF0ZSBuZXcgb25lXG4gICAgbGV0IGxib3BTdHJpbmc6IHN0cmluZztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc3RhbnQtY29uZGl0aW9uXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGxib3BTdHJpbmcgPSB0aGlzLmtleUZhY3RvcnlcbiAgICAgICAgLnJhbmRvbUNob2ljZXMoU2xpcDM5SGVscGVyLldPUkRfTElTVCwgdGhpcy5MQk9QX1dPUkRTKVxuICAgICAgICAuam9pbignICcpO1xuICAgICAgY29uc3QgcGFydGlhbCA9IHRoaXMuZ2V0UGFydGlhbChsYm9wU3RyaW5nKTtcblxuICAgICAgaWYgKCFsYm9wcy5zb21lKChsYm9wKSA9PiBsYm9wLnBhcnRpYWwgPT09IHBhcnRpYWwpKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGxib3BLZXlQYXJhbXMgPSBhd2FpdCB0aGlzLmtleUZhY3RvcnkuY3JlYXRlTGJvcEtleVBhcmFtcygpO1xuICAgIGNvbnN0IGxib3BLZXkgPSAoXG4gICAgICBhd2FpdCB0aGlzLmtleUZhY3RvcnkuZGVyaXZlTGJvcEtleSh7XG4gICAgICAgIHBhc3N3b3JkOiBhd2FpdCB0aGlzLmtleUZhY3RvcnkuaW1wb3J0UGFzc3dvcmQobGJvcFN0cmluZyksXG4gICAgICAgIC4uLmxib3BLZXlQYXJhbXMsXG4gICAgICB9KVxuICAgICkuandrO1xuXG4gICAgY29uc3QgbGJvcEtleVZlcmlmaWVyID0gYXdhaXQgdGhpcy5rZXlGYWN0b3J5LmNyZWF0ZVNpZ25LZXkoKTtcbiAgICBjb25zdCB3cmFwcGVkTGJvcEtleVZlcmlmaWVyID0gYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5lbmNyeXB0KFxuICAgICAgbGJvcEtleSxcbiAgICAgIGxib3BLZXlWZXJpZmllci50b0pTT04odHJ1ZSlcbiAgICApO1xuXG4gICAgLy8gUmUtZW5jcnlwdCBtYXN0ZXIga2V5IHdpdGggbmV3IGtleVxuICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gYXdhaXQgdGhpcy5hdXRoU2VydmljZS5nZXRVc2VyKCk7XG4gICAgY29uc3QgbWFzdGVyS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRLZXkoXG4gICAgICBjdXJyZW50VXNlci5jdXJyZW50VXNlcktleS5tYXN0ZXJLZXkuaWRcbiAgICApO1xuICAgIGNvbnN0IHdyYXBwZWRNYXN0ZXJLZXkgPSBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmVuY3J5cHQoXG4gICAgICBsYm9wS2V5LFxuICAgICAgbWFzdGVyS2V5Lmp3ay50b0pTT04odHJ1ZSlcbiAgICApO1xuXG4gICAgY29uc3QgbWV0YSA9IHtcbiAgICAgIC4uLihuYW1lICYmIHsgbmFtZSB9KSxcbiAgICAgIHBhcnRpYWw6IHRoaXMuZ2V0UGFydGlhbChsYm9wU3RyaW5nKSxcbiAgICB9O1xuICAgIGNvbnN0IGNpcGhlck1ldGEgPSBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmVuY3J5cHQoXG4gICAgICBtYXN0ZXJLZXkuandrLFxuICAgICAgbWV0YVxuICAgICk7XG5cbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmxyQXBvbGxvLm11dGF0ZTxDcmVhdGVMYm9wUXVlcnk+KHtcbiAgICAgIG11dGF0aW9uOiBDcmVhdGVMYm9wUXVlcnksXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICBjaXBoZXJNZXRhOiBKU09OLnN0cmluZ2lmeShjaXBoZXJNZXRhKSxcbiAgICAgICAgICBsYm9wS2V5UGFyYW1zOiBKU09OLnN0cmluZ2lmeShsYm9wS2V5UGFyYW1zKSxcbiAgICAgICAgICBsYm9wS2V5VmVyaWZpZXI6IEpTT04uc3RyaW5naWZ5KGxib3BLZXlWZXJpZmllci50b0pTT04odHJ1ZSkpLFxuICAgICAgICAgIHdyYXBwZWRMYm9wS2V5VmVyaWZpZXI6IEpTT04uc3RyaW5naWZ5KHdyYXBwZWRMYm9wS2V5VmVyaWZpZXIpLFxuICAgICAgICAgIG1hc3RlcktleUlkOiBjdXJyZW50VXNlci5jdXJyZW50VXNlcktleS5tYXN0ZXJLZXkuaWQsXG4gICAgICAgICAgd3JhcHBlZE1hc3RlcktleTogSlNPTi5zdHJpbmdpZnkod3JhcHBlZE1hc3RlcktleSksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnJlcy5jcmVhdGVMYm9wLmxib3AsXG4gICAgICBsYm9wU3RyaW5nLFxuICAgIH07XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBGbG93IGJlbG93IGFyZSBmb3IgcGFzc3dvcmQgcmVzZXQgdmlhIExCT1BcbiAgLy9cbiAgLy8gLS1Qb3RlbnRpYWwgRmFpbHVyZSBQb2ludCB4eHgtLVxuICAvL1xuICAvLyBMb29rIGZvciB0aGUgYWJvdmUgYW5kIHlvdSBjYW4gdGVzdCBieSBpbnRlcnJ1cHRpbmcgYXQgdGhlc2UgcG9pbnRzLlxuICAvL1xuICAvLyBUaGUgTEJPUCByZXNldCBwcm9jZXNzIGNhbiBiZSByZXN0YXJ0ZWQgYXQgYW55IHBvaW50IGJlZm9yZSB0aGUgY2FsbCB0byBcInNldC1wYXNzd29yZC9cIi4gT25jZSBcInNldC1wYXNzd29yZC9cIiBoYXMgYmVlblxuICAvLyBjYWxsZWQsIHdlIGFzc3VtZSB0aGUgY2xpZW50IGhhcyBhIHNob3J0IHBlcmlvZCBvZiB0aW1lIHRvIGNoYW5nZSB0aGUgSWRwIHBhc3N3b3JkIHRvIHRoZSBvbmUgdGhleSd2ZSBjaG9zZW4uIFRoZSBcInNldC1wYXNzd29yZC9cIlxuICAvLyB3aWxsIHNldCB0aGUgSWRwIHBhc3N3b3JkIHRvIGEgdGVtcG9yYXJ5IHJhbmRvbSBwYXNzd29yZC4gVGhlIHVzZXIgY2FuIG5vIGxvbmdlciBsb2dpbiB1c2luZyB0aGVpciBjdXJyZW50IHBhc3N3b3JkLiBJZiB0aGUgSWRwXG4gIC8vIHBhc3N3b3JkIGNoYW5nZSBwcm9jZXNzIGRvZXMgbm90IGNvbXBsZXRlIG9yIHRha2VzIGxvbmdlciB0aGFuIHRoZSBsb2Nrb3V0IHBlcmlvZCwgdGhlIGFjY291bnQgd2lsbCBub3QgYmUgYWNjZXNzaWJsZSBhbmQgYSBuZXdcbiAgLy8gTEJPUCBwYXNzd29yZCByZXNldCBtdXN0IGJlIGNhcnJpZWQgb3V0LlxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBwcml2YXRlIGFzeW5jIHZlcmlmeUxib3BzKFxuICAgIGNoYWxsZW5nZVJlc3VsdDogQ2hhbGxlbmdlUmVzdWx0LFxuICAgIGxib3BTdHJpbmc6IHN0cmluZ1xuICApOiBQcm9taXNlPHtcbiAgICBsYm9wOiBDaGFsbGVuZ2VSZXN1bHRMYm9wO1xuICAgIHNpZ25lZENoYWxsZW5nZTogYW55O1xuICAgIGxib3BLZXk6IEpXSy5LZXk7XG4gIH0+IHtcbiAgICBjb25zdCBjbGllbnROb25jZSA9IHRoaXMua2V5RmFjdG9yeS5yYW5kb21TdHJpbmcodGhpcy5DTElFTlRfTk9OQ0VfTEVOR1RIKTtcblxuICAgIGZvciAoY29uc3QgbGJvcCBvZiBjaGFsbGVuZ2VSZXN1bHQubGJvcHMpIHtcbiAgICAgIGNvbnN0IGxib3BLZXkgPSAoXG4gICAgICAgIGF3YWl0IHRoaXMua2V5RmFjdG9yeS5kZXJpdmVMYm9wS2V5KHtcbiAgICAgICAgICBwYXNzd29yZDogYXdhaXQgdGhpcy5rZXlGYWN0b3J5LmltcG9ydFBhc3N3b3JkKGxib3BTdHJpbmcpLFxuICAgICAgICAgIC4uLmxib3AubGJvcEtleVBhcmFtcyxcbiAgICAgICAgfSlcbiAgICAgICkuandrO1xuXG4gICAgICAvLyBJZiBkZWNvZGluZyBzdWNjZXNzZnVsIHRoZW4gaXQncyB0aGUgY29ycmVjdCBsYm9wXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBsYm9wS2V5VmVyaWZpZXIgPSAoYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5kZWNyeXB0KFxuICAgICAgICAgIGxib3BLZXksXG4gICAgICAgICAgbGJvcC53cmFwcGVkTGJvcEtleVZlcmlmaWVyXG4gICAgICAgICkpIGFzIGFueTtcblxuICAgICAgICAvLyBGb3JjZSBhIGJhZCBzaWduYXR1cmUuXG4gICAgICAgIC8vIGNvbnN0IHNlcnZlck5vbmNlID0gY2hhbGxlbmdlUmVzdWx0LmNoYWxsZW5nZS5zZXJ2ZXJOb25jZSArIFwiMVwiLFxuXG4gICAgICAgIGNvbnN0IHNlcnZlck5vbmNlID0gY2hhbGxlbmdlUmVzdWx0LmNoYWxsZW5nZS5zZXJ2ZXJOb25jZTtcblxuICAgICAgICBjb25zdCBzaWduZWRDaGFsbGVuZ2UgPSBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLnNpZ24oXG4gICAgICAgICAgbGJvcEtleVZlcmlmaWVyLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHNlcnZlck5vbmNlLFxuICAgICAgICAgICAgY2xpZW50Tm9uY2UsXG4gICAgICAgICAgfVxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbGJvcCxcbiAgICAgICAgICBzaWduZWRDaGFsbGVuZ2UsXG4gICAgICAgICAgbGJvcEtleSxcbiAgICAgICAgfTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgIH1cbiAgICB0aHJvdyBuZXcgS2NFeGNlcHRpb24oXG4gICAgICBuZXcgS2NFcnJvcih7XG4gICAgICAgIHNvdXJjZTogRVJST1JfU09VUkNFLFxuICAgICAgICBjb2RlOiBLY0xib3BFcnJvckNvZGUuSU5WQUxJRF9QQVNTUEhSQVNFLFxuICAgICAgICBtZXNzYWdlOiAnSW52YWxpZCBwYXNzcGhyYXNlLicsXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgdmVyaWZ5Q29udGFjdChcbiAgICBwYXJhbXM6IFZlcmlmeUNvbnRhY3RQYXJhbXNcbiAgKTogUHJvbWlzZTxWZXJpZnlDb250YWN0UmVzdWx0PiB7XG4gICAgY29uc3QgcmV0ID0gdGhpcy5odHRwXG4gICAgICAucG9zdDxWZXJpZnlDb250YWN0UmVzdWx0PihcbiAgICAgICAgYCR7dGhpcy5jb25maWcuYXV0aFVybH11c2Vycy9sYm9wLXJlc2V0L3ZlcmlmeS1jb250YWN0L2AsXG4gICAgICAgIHBhcmFtc1xuICAgICAgKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuXG4gICAgLy8gLS1Qb3RlbnRpYWwgRmFpbHVyZSBQb2ludCAxIC0tXG4gICAgLy8gVGhlIGNvbnRhY3QgdmVyaWZpY2F0aW9ucyBhcmUgdGhyb3R0bGVkLiBCdXQgb3RoZXJ3aXNlIGhhcm1sZXNzLlxuXG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjb25maXJtQ29udGFjdChcbiAgICBwYXJhbXM6IENvbmZpcm1Db250YWN0UGFyYW1zXG4gICk6IFByb21pc2U8Q29uZmlybUNvbnRhY3RSZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdDxDb25maXJtQ29udGFjdFJlc3VsdD4oYCR7dGhpcy5jb25maWcuYXV0aFVybH1jb3ZlL3Jlc3BvbmQvYCwge1xuICAgICAgICBjbGFpbV9pZDogcGFyYW1zLmNsYWltSWQsXG4gICAgICAgIHZfY29kZTogcGFyYW1zLnZDb2RlLFxuICAgICAgfSlcbiAgICAgIC50b1Byb21pc2UoKTtcblxuICAgIC8vIC0tUG90ZW50aWFsIEZhaWx1cmUgUG9pbnQgMiAtLVxuICAgIC8vIEEgdmVyaWZpZWQgY2xhaW0gZm9yIGEgY29udGFjdCBkb2VzIG5vdCBwcmV2ZW50IG5ldyBvbmVzIGZyb20gYmVpbmcgZ2VuZXJhdGVkLiBTbyBpdCBzaG91bGQgYmUgZmluZSB0byBqdXN0IHN0YXJ0IGFnYWluLlxuICB9XG5cbiAgcHVibGljIGFzeW5jIHZlcmlmeShwYXJhbXM6IFZlcmlmeVBhcmFtcyk6IFByb21pc2U8VmVyaWZ5UmVzdWx0PiB7XG4gICAgY29uc3QgY2hhbGxlbmdlUmVzdWx0ID0gYXdhaXQgdGhpcy5odHRwXG4gICAgICAucG9zdDxDaGFsbGVuZ2VSZXN1bHQ+KFxuICAgICAgICBgJHt0aGlzLmNvbmZpZy5hdXRoVXJsfXVzZXJzL2xib3AtcmVzZXQvZ2V0LWNoYWxsZW5nZS9gLFxuICAgICAgICB7XG4gICAgICAgICAgY2xhaW1JZDogcGFyYW1zLmNsYWltSWQsXG4gICAgICAgICAgY2xhaW1Ub2tlbjogcGFyYW1zLmNsYWltVG9rZW4sXG4gICAgICAgIH1cbiAgICAgIClcbiAgICAgIC50b1Byb21pc2UoKTtcblxuICAgIC8vIC0tUG90ZW50aWFsIEZhaWx1cmUgUG9pbnQgMyAtLVxuICAgIC8vIFRoaXMgZG9lcyBub3QgbG9jayBhbnl0aGluZy4gQSBzZWNvbmQgY2FsbCB0byBcImdldC1jaGFsbGVuZ2UvXCIgd2lsbCBjcmVhdGUgYSBuZXcgY2hhbGxlbmdlIGFtZCBpbnZhbGlkYXRlIHRoZSBmaXJzdCBvbmUuXG4gICAgY29uc3QgeyBzaWduZWRDaGFsbGVuZ2UsIGxib3AsIGxib3BLZXkgfSA9IGF3YWl0IHRoaXMudmVyaWZ5TGJvcHMoXG4gICAgICBjaGFsbGVuZ2VSZXN1bHQsXG4gICAgICBwYXJhbXMubGJvcFxuICAgICk7XG5cbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmh0dHBcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy5jb25maWcuYXV0aFVybH11c2Vycy9sYm9wLXJlc2V0L3ZlcmlmeS1jaGFsbGVuZ2UvYCwge1xuICAgICAgICBsYm9wSWQ6IGxib3AubGJvcElkLFxuICAgICAgICBzaWduZWRDaGFsbGVuZ2UsXG4gICAgICB9KVxuICAgICAgLnRvUHJvbWlzZSgpO1xuXG4gICAgLy8gLS1Qb3RlbnRpYWwgRmFpbHVyZSBQb2ludCA0IC0tXG4gICAgLy8gVGhpcyBkb2VzIG5vdCBsb2NrIGFueXRoaW5nLiBTbyBvayB0byByZXN0YXJ0LlxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxib3BJZDogbGJvcC5sYm9wSWQsXG4gICAgICB2ZXJpZmllZFRva2VuOiByZXMudmVyaWZpZWRUb2tlbixcbiAgICAgIG1hc3RlcktleUlkOiByZXMubWFzdGVyS2V5SWQsXG4gICAgICBtYXN0ZXJLZXk6IGF3YWl0IEtGUy5hc0tleShcbiAgICAgICAgYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5kZWNyeXB0KGxib3BLZXksIHJlcy53cmFwcGVkTWFzdGVyS2V5KVxuICAgICAgKSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNldFBhc3N3b3JkKHBhcmFtczogU2V0UGFzc3dvcmRQYXJhbXMpOiBQcm9taXNlPGFueT4ge1xuICAgIC8vIEdlbmVyYXRlIHRoZSBuZXcgcGFzc3dvcmQgZGVyaXZlZCBrZXlzXG4gICAgY29uc3QgcGFzc0tleUJ1bmRsZSA9IGF3YWl0IHRoaXMucGFzc3dvcmRTZXJ2aWNlLmNyZWF0ZVBhc3NLZXlCdW5kbGUoXG4gICAgICBwYXJhbXMubmV3UGFzc3dvcmRcbiAgICApO1xuXG4gICAgLy8gUmUtZW5jcnlwdCBtYXN0ZXIga2V5IHdpdGggbmV3IGtleVxuICAgIGNvbnN0IG5ld1dyYXBwZWRNYXN0ZXJLZXkgPSBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmVuY3J5cHQoXG4gICAgICBwYXNzS2V5QnVuZGxlLnBhc3NLZXksXG4gICAgICBwYXJhbXMubWFzdGVyS2V5LnRvSlNPTih0cnVlKVxuICAgICk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmh0dHBcbiAgICAgIC5wb3N0PFNldFBhc3N3b3JkQXBpUmVzdWx0PihcbiAgICAgICAgYCR7dGhpcy5jb25maWcuYXV0aFVybH11c2Vycy9sYm9wLXJlc2V0L3NldC1wYXNzd29yZC9gLFxuICAgICAgICB7XG4gICAgICAgICAgbGJvcElkOiBwYXJhbXMubGJvcElkLFxuICAgICAgICAgIHZlcmlmaWVkVG9rZW46IHBhcmFtcy52ZXJpZmllZFRva2VuLFxuICAgICAgICAgIG1hc3RlcktleUlkOiBwYXJhbXMubWFzdGVyS2V5SWQsXG4gICAgICAgICAgbmV3V3JhcHBlZE1hc3RlcktleSxcbiAgICAgICAgICBuZXdQYXNzS2V5OiB7XG4gICAgICAgICAgICBwYXNzS2V5UGFyYW1zOiBwYXNzS2V5QnVuZGxlLnBhc3NLZXlQYXJhbXMsXG4gICAgICAgICAgICBwYXNzSWRwUGFyYW1zOiBwYXNzS2V5QnVuZGxlLnBhc3NJZHBQYXJhbXMsXG4gICAgICAgICAgICBwYXNzSWRwVmVyaWZpZXJQYms6IHBhc3NLZXlCdW5kbGUucGFzc0lkcFZlcmlmaWVyLnRvSlNPTigpLFxuICAgICAgICAgICAgd3JhcHBlZFBhc3NJZHBWZXJpZmllclByazogcGFzc0tleUJ1bmRsZS53cmFwcGVkUGFzc0lkcFZlcmlmaWVyUHJrLFxuICAgICAgICAgIH0sXG4gICAgICAgIH1cbiAgICAgIClcbiAgICAgIC50b1Byb21pc2UoKTtcblxuICAgIC8vIC0tUG90ZW50aWFsIEZhaWx1cmUgUG9pbnQgNSAtLVxuICAgIC8vIEEgdGltZWQgbXV0ZXggaXMgbG9ja2VkLiBUaGUgSWRwIHBhc3N3b3JkIGNoYW5nZSBtdXN0IG9jY3VyIHdpdGhpbiBhIHBlcmlvZCBvZiB0aW1lLlxuICAgIC8vIElmIGludGVycnVwdGVkIGhlcmUsIHRoZSB1c2VyIGNhbiBub3QgbG9naW4gd2l0aCB0aGVpciBvbGQgcGFzc3dvcmQgYWdhaW4uIFRoZXkgbXVzdFxuICAgIC8vIHN0YXJ0IHRoZSB3aG9sZSBMQk9QIHBhc3N3b3JkIHJlc2V0IHByb2Nlc3MgYWdhaW4uXG5cbiAgICAvLyBUaGlzIGNhbGwgd2lsbCBnbyB0aHJvdWdoIHRoZSBMUiBwcm94eSB3aGljaCBpcyBPSyBzaW5jZSB0aGUgTFIgc2VydmVyIGtub3dzXG4gICAgLy8gdGhlIHRlbXBvcmFyeSBwYXNzd29yZCBhbnl3YXkuXG4gICAgbGV0IHVzZXIgPSBhd2FpdCB0aGlzLmF1dGguc2lnbkluKHJlc3VsdC51c2VybmFtZSwgcmVzdWx0LmlkcFBhc3N3b3JkLCB7XG4gICAgICBub1Byb3h5OiAndHJ1ZScsXG4gICAgfSk7XG5cbiAgICBpZiAodXNlci5jaGFsbGVuZ2VOYW1lICE9PSAnTkVXX1BBU1NXT1JEX1JFUVVJUkVEJykge1xuICAgICAgdGhyb3cgbmV3IEtjSW50ZXJuYWxFcnJvckV4Y2VwdGlvbihcbiAgICAgICAgJ0V4cGVjdGluZyBDb2duaXRvIHRvIGhhdmUgZG9uZSBhIHBhc3N3b3JkIHJlc2V0LidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gLS1Qb3RlbnRpYWwgRmFpbHVyZSBQb2ludCA2IC0tXG4gICAgLy8gTXVzdCByZXN0YXJ0IHRoZSBMQk9QIHBhc3N3b3JkIHJlc2V0IHByb2Nlc3MgYWdhaW4uXG5cbiAgICAvLyBTZXQgbmV3IHBhc3N3b3JkIG9uIElkcFxuICAgIHVzZXIgPSBhd2FpdCB0aGlzLmF1dGguY29tcGxldGVOZXdQYXNzd29yZChcbiAgICAgIHVzZXIsXG4gICAgICB0aGlzLnBhc3N3b3JkU2VydmljZS5nZXRQYXNzSWRwU3RyaW5nKHBhc3NLZXlCdW5kbGUucGFzc0lkcCksXG4gICAgICB7fVxuICAgICk7XG5cbiAgICAvLyAtLVBvdGVudGlhbCBGYWlsdXJlIFBvaW50IDcgLS1cbiAgICAvLyBNdXN0IHJlc3RhcnQgdGhlIExCT1AgcGFzc3dvcmQgcmVzZXQgcHJvY2VzcyBhZ2Fpbi5cblxuICAgIGF3YWl0IHRoaXMuYXV0aC5zaWduT3V0KCk7XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5odHRwXG4gICAgICAucG9zdDxhbnk+KGAke3RoaXMuY29uZmlnLmF1dGhVcmx9dXNlcnMvbGJvcC1yZXNldC9jb21wbGV0ZS9gLCB7XG4gICAgICAgIGxib3BJZDogcGFyYW1zLmxib3BJZCxcbiAgICAgICAgc2V0UGFzc3dvcmRUb2tlbjogcmVzdWx0LnNldFBhc3N3b3JkVG9rZW4sXG4gICAgICB9KVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG59XG4iXX0=
|
|
359
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGJvcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2xib3AvbGJvcC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRCxPQUFPLEdBQUcsTUFBTSxhQUFhLENBQUM7QUFFOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsSUFBSSxHQUFHLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWhELE9BQU8sRUFBWSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixPQUFPLEVBQ1AsV0FBVyxFQUNYLHdCQUF3QixHQUN6QixNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7Ozs7QUFFL0IsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQztBQUNuQyxNQUFNLENBQU4sSUFBWSxlQUVYO0FBRkQsV0FBWSxl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NEJBQTRCLEVBQUU7Z0JBQzdELE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtnQkFDckIsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLGdCQUFnQjthQUMxQyxDQUFDO2lCQUNELFNBQVMsRUFBRSxDQUFDO1FBQ2pCLENBQUM7S0FBQTs7OztZQTlYRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs0Q0FPSSxNQUFNLFNBQUMsU0FBUztZQXJMWixVQUFVO1lBTVYsZUFBZTtZQUpmLFNBQVM7WUFLVCxZQUFZO1lBRVMsR0FBRztZQUV4QixVQUFVO1lBSFYsaUJBQWlCO1lBRWpCLGVBQWU7WUFJZixlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aENsYXNzIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L2F1dGgvbGliLWVzbS9BdXRoJztcbmltcG9ydCBncWwgZnJvbSAnZ3JhcGhxbC10YWcnO1xuaW1wb3J0IHsgSldLIH0gZnJvbSAnbm9kZS1qb3NlJztcbmltcG9ydCB7IFNsaXAzOUhlbHBlciB9IGZyb20gJ3NsaXAzOSc7XG5pbXBvcnQgeyBMckFwb2xsb1NlcnZpY2UgfSBmcm9tICcuLi9hcGkvbHItYXBvbGxvLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aDJTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aDIvYXV0aDIuc2VydmljZSc7XG5pbXBvcnQgeyBFbmNyeXB0aW9uU2VydmljZSB9IGZyb20gJy4uL2VuY3J5cHRpb24vZW5jcnlwdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEtleUZhY3RvcnlTZXJ2aWNlIGFzIEtGUyB9IGZyb20gJy4uL2tleS9rZXktZmFjdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IEtleUdyYXBoU2VydmljZSB9IGZyb20gJy4uL2tleS9rZXktZ3JhcGguc2VydmljZSc7XG5pbXBvcnQgeyBLZXlTZXJ2aWNlIH0gZnJvbSAnLi4va2V5L2tleS5zZXJ2aWNlJztcbmltcG9ydCB7IFBhc3NLZXlQYXJhbXMgfSBmcm9tICcuLi9rZXkva2V5LnR5cGVzJztcbmltcG9ydCB7IEtjQ29uZmlnLCBLQ19DT05GSUcgfSBmcm9tICcuLi9saWZlLXJlYWR5LmNvbmZpZyc7XG5pbXBvcnQgeyBQYXNzd29yZFNlcnZpY2UgfSBmcm9tICcuLi9wYXNzd29yZC9wYXNzd29yZC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEtjQmFkTG9naWNFeGNlcHRpb24sXG4gIEtjRXJyb3IsXG4gIEtjRXhjZXB0aW9uLFxuICBLY0ludGVybmFsRXJyb3JFeGNlcHRpb24sXG59IGZyb20gJy4uL19jb21tb24vZXhjZXB0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBFUlJPUl9TT1VSQ0UgPSAnTEJPUCc7XG5leHBvcnQgZW51bSBLY0xib3BFcnJvckNvZGUge1xuICBJTlZBTElEX1BBU1NQSFJBU0UgPSAnSU5WQUxJRF9QQVNTUEhSQVNFJyxcbn1cblxuaW50ZXJmYWNlIFNldFBhc3N3b3JkQXBpUmVzdWx0IHtcbiAgdXNlcm5hbWU6IHN0cmluZztcbiAgaWRwUGFzc3dvcmQ6IHN0cmluZztcbiAgc2V0UGFzc3dvcmRUb2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNldFBhc3N3b3JkUGFyYW1zIHtcbiAgbGJvcElkOiBzdHJpbmc7XG4gIG5ld1Bhc3N3b3JkOiBDcnlwdG9LZXk7XG4gIHZlcmlmaWVkVG9rZW46IHN0cmluZztcbiAgbWFzdGVyS2V5SWQ6IHN0cmluZztcbiAgbWFzdGVyS2V5OiBKV0suS2V5O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeUNvbnRhY3RQYXJhbXMge1xuICBlbWFpbD86IHN0cmluZztcbiAgcGhvbmU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5Q29udGFjdFJlc3VsdCB7XG4gIC8vIFRoZSBjbGFpbV9pZCBpZGVudGlmaWVzIHRoZSBFbWFpbC9TTVMgY29uZmlybWF0aW9uXG4gIGNsYWltSWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25maXJtQ29udGFjdFBhcmFtcyB7XG4gIGNsYWltSWQ6IHN0cmluZztcbiAgdkNvZGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25maXJtQ29udGFjdFJlc3VsdCB7XG4gIC8vIFRoZSB0b2tlbiB0byBwcm92ZSB0aGUgY2xpZW50IGhhZCB0aGUgY29ycmVjdCBjb25maXJtYXRpb24gY29kZS5cbiAgdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZXJpZnlQYXJhbXMge1xuICBjbGFpbUlkOiBzdHJpbmc7XG4gIGNsYWltVG9rZW46IHN0cmluZztcbiAgbGJvcDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeVJlc3VsdCB7XG4gIC8vIHVzZXJJZDogc3RyaW5nO1xuICBsYm9wSWQ6IHN0cmluZztcbiAgdmVyaWZpZWRUb2tlbjogc3RyaW5nO1xuICBtYXN0ZXJLZXlJZDogc3RyaW5nO1xuICBtYXN0ZXJLZXk6IEpXSy5LZXk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbGxlbmdlUmVzdWx0TGJvcCB7XG4gIGxib3BJZDogc3RyaW5nO1xuICBsYm9wS2V5UGFyYW1zOiBQYXNzS2V5UGFyYW1zO1xuICB3cmFwcGVkTGJvcEtleVZlcmlmaWVyOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbGxlbmdlUmVzdWx0IHtcbiAgY2hhbGxlbmdlOiB7XG4gICAgc2VydmVyTm9uY2U6IHN0cmluZztcbiAgfTtcbiAgbGJvcHM6IENoYWxsZW5nZVJlc3VsdExib3BbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYm9wIHtcbiAgaWQ6IHN0cmluZztcbiAgcGFydGlhbD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgbGJvcFN0cmluZz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVMYm9wUGFyYW1zIHtcbiAgbmFtZT86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIENyZWF0ZUxib3BRdWVyeSB7XG4gIGNyZWF0ZUxib3A6IHtcbiAgICBsYm9wOiBMYm9wO1xuICB9O1xufVxuXG5leHBvcnQgY29uc3QgQ3JlYXRlTGJvcFF1ZXJ5ID0gZ3FsYFxuICBtdXRhdGlvbiBDcmVhdGVMYm9wKCRpbnB1dDogQ3JlYXRlTGJvcElucHV0ISkge1xuICAgIGNyZWF0ZUxib3AoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgbGJvcCB7XG4gICAgICAgIGlkXG4gICAgICB9XG4gICAgfVxuICB9XG5gO1xuXG5pbnRlcmZhY2UgRGVsZXRlTGJvcFF1ZXJ5IHtcbiAgZGVsZXRlTGJvcDogTGJvcDtcbn1cblxuZXhwb3J0IGNvbnN0IERlbGV0ZUxib3BRdWVyeSA9IGdxbGBcbiAgbXV0YXRpb24gRGVsZXRlTGJvcCgkaW5wdXQ6IERlbGV0ZUxib3BJbnB1dCEpIHtcbiAgICBkZWxldGVMYm9wKGlucHV0OiAkaW5wdXQpIHtcbiAgICAgIGlkXG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZUxib3BQYXJhbXMge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBVcGRhdGVMYm9wUXVlcnkge1xuICB1cGRhdGVMYm9wOiBMYm9wO1xufVxuXG5leHBvcnQgY29uc3QgVXBkYXRlTGJvcFF1ZXJ5ID0gZ3FsYFxuICBtdXRhdGlvbiBVcGRhdGVMYm9wKCRpbnB1dDogVXBkYXRlTGJvcElucHV0ISkge1xuICAgIHVwZGF0ZUxib3AoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgbGJvcCB7XG4gICAgICAgIGlkXG4gICAgICB9XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgTGJvcFF1ZXJ5ID0gZ3FsYFxuICBxdWVyeSBMYm9wKCRpZDogTHJSZWxheUlkSW5wdXQhKSB7XG4gICAgbGJvcChpZDogJGlkKSB7XG4gICAgICBpZFxuICAgICAgY2lwaGVyTWV0YVxuICAgIH1cbiAgfVxuYDtcblxuaW50ZXJmYWNlIExib3BzUXVlcnkge1xuICBsYm9wczogYW55O1xufVxuXG5leHBvcnQgY29uc3QgTGJvcHNRdWVyeSA9IGdxbGBcbiAgcXVlcnkgTGJvcHMge1xuICAgIGxib3BzIHtcbiAgICAgIGVkZ2VzIHtcbiAgICAgICAgbm9kZSB7XG4gICAgICAgICAgaWRcbiAgICAgICAgICBjaXBoZXJNZXRhXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBMYm9wU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgQ0xJRU5UX05PTkNFX0xFTkdUSCA9IDMyO1xuICAvLyBUaGVyZSBhcmUgMTAyNCB3b3JkcyAoMTAgYml0cyksIHNvIDI1IHdvcmRzIHNob3VsZCBnaXZlIH4yNTYgYml0cyBvZiBlbnRyb3B5LlxuICBwcml2YXRlIHJlYWRvbmx5IExCT1BfV09SRFMgPSAyNTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEtDX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IEtjQ29uZmlnLFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGxyQXBvbGxvOiBMckFwb2xsb1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBhdXRoOiBBdXRoQ2xhc3MsXG4gICAgcHJpdmF0ZSBhdXRoMlNlcnZpY2U6IEF1dGgyU2VydmljZSxcbiAgICBwcml2YXRlIGtleUZhY3Rvcnk6IEtGUyxcbiAgICBwcml2YXRlIGtleVNlcnZpY2U6IEtleVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbmNyeXB0aW9uU2VydmljZTogRW5jcnlwdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBrZXlHcmFwaDogS2V5R3JhcGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGFzc3dvcmRTZXJ2aWNlOiBQYXNzd29yZFNlcnZpY2VcbiAgKSB7fVxuXG4gIHByaXZhdGUgZ2V0UGFydGlhbChsYm9wU3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBsYm9wU3RyaW5nLnNwbGl0KCcgJylbMF07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcmVtb3ZlKGlkOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPGFueT4oe1xuICAgICAgbXV0YXRpb246IERlbGV0ZUxib3BRdWVyeSxcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgIGlkLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHJldHVybiByZXMuZGVsZXRlTGJvcC5pZDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyB1cGRhdGUoeyBpZCwgbmFtZSB9OiBVcGRhdGVMYm9wUGFyYW1zKTogUHJvbWlzZTxMYm9wPiB7XG4gICAgY29uc3QgbGJvcCA9IGF3YWl0IHRoaXMuZ2V0KGlkKTtcbiAgICBsYm9wLm5hbWUgPSBuYW1lO1xuXG4gICAgY29uc3QgbWFzdGVyS2V5ID0gdGhpcy5rZXlTZXJ2aWNlLmN1cnJlbnRNYXN0ZXJLZXk7XG4gICAgY29uc3QgY2lwaGVyTWV0YSA9IGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2UuZW5jcnlwdChcbiAgICAgIG1hc3RlcktleS5qd2ssXG4gICAgICBsYm9wXG4gICAgKTtcblxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPFVwZGF0ZUxib3BRdWVyeT4oe1xuICAgICAgbXV0YXRpb246IFVwZGF0ZUxib3BRdWVyeSxcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIGNpcGhlck1ldGE6IEpTT04uc3RyaW5naWZ5KGNpcGhlck1ldGEpLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHJldHVybiByZXMudXBkYXRlTGJvcDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXQoaWQ6IHN0cmluZyk6IFByb21pc2U8TGJvcD4ge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMubHJBcG9sbG8ucXVlcnk8YW55Pih7XG4gICAgICBxdWVyeTogTGJvcFF1ZXJ5LFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlkLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IG1hc3RlcktleSA9IHRoaXMua2V5U2VydmljZS5jdXJyZW50TWFzdGVyS2V5O1xuXG4gICAgY29uc3QgcGxhaW5DaXBoZXJNZXRhID0gYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5kZWNyeXB0KFxuICAgICAgbWFzdGVyS2V5Lmp3ayxcbiAgICAgIEpTT04ucGFyc2UocmVzLmxib3AuY2lwaGVyTWV0YSlcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiByZXMuaWQsXG4gICAgICAuLi5wbGFpbkNpcGhlck1ldGEsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBsaXN0KCk6IFByb21pc2U8TGJvcFtdPiB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5sckFwb2xsby5xdWVyeTxMYm9wc1F1ZXJ5Pih7XG4gICAgICBxdWVyeTogTGJvcHNRdWVyeSxcbiAgICB9KTtcblxuICAgIGNvbnN0IG1hc3RlcktleSA9IGF3YWl0IHRoaXMua2V5U2VydmljZS5jdXJyZW50TWFzdGVyS2V5O1xuXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFxuICAgICAgcmVzLmxib3BzLmVkZ2VzLm1hcChhc3luYyAoZWRnZSkgPT4ge1xuICAgICAgICBjb25zdCBwbGFpbkNpcGhlck1ldGEgPSBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmRlY3J5cHQoXG4gICAgICAgICAgbWFzdGVyS2V5Lmp3ayxcbiAgICAgICAgICBKU09OLnBhcnNlKGVkZ2Uubm9kZS5jaXBoZXJNZXRhKVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGlkOiBlZGdlLm5vZGUuaWQsXG4gICAgICAgICAgLi4ucGxhaW5DaXBoZXJNZXRhLFxuICAgICAgICB9O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNyZWF0ZSh7IG5hbWUgfTogQ3JlYXRlTGJvcFBhcmFtcyk6IFByb21pc2U8TGJvcD4ge1xuICAgIGlmIChTbGlwMzlIZWxwZXIuV09SRF9MSVNULmxlbmd0aCAhPT0gMTAyNCkge1xuICAgICAgdGhyb3cgbmV3IEtjQmFkTG9naWNFeGNlcHRpb24oJ1NsaXAzOUhlbHBlci5XT1JEX0xJU1QubGVuZ3RoICE9IDEwMjQnKTtcbiAgICB9XG5cbiAgICAvLyBHZXQgZXhpc3RpbmcgdG8gbWFrZSBzdXJlIHRoZXJlIGFyZSBub3QgZHVwbGljYXRlIGZpcnN0IHdvcmRzXG4gICAgY29uc3QgbGJvcHMgPSBhd2FpdCB0aGlzLmxpc3QoKTtcblxuICAgIC8vIEdlbmVyYXRlIG5ldyBvbmVcbiAgICBsZXQgbGJvcFN0cmluZzogc3RyaW5nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zdGFudC1jb25kaXRpb25cbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgbGJvcFN0cmluZyA9IHRoaXMua2V5RmFjdG9yeVxuICAgICAgICAucmFuZG9tQ2hvaWNlcyhTbGlwMzlIZWxwZXIuV09SRF9MSVNULCB0aGlzLkxCT1BfV09SRFMpXG4gICAgICAgIC5qb2luKCcgJyk7XG4gICAgICBjb25zdCBwYXJ0aWFsID0gdGhpcy5nZXRQYXJ0aWFsKGxib3BTdHJpbmcpO1xuXG4gICAgICBpZiAoIWxib3BzLnNvbWUoKGxib3ApID0+IGxib3AucGFydGlhbCA9PT0gcGFydGlhbCkpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgbGJvcEtleVBhcmFtcyA9IGF3YWl0IHRoaXMua2V5RmFjdG9yeS5jcmVhdGVMYm9wS2V5UGFyYW1zKCk7XG4gICAgY29uc3QgbGJvcEtleSA9IChcbiAgICAgIGF3YWl0IHRoaXMua2V5RmFjdG9yeS5kZXJpdmVMYm9wS2V5KHtcbiAgICAgICAgcGFzc3dvcmQ6IGF3YWl0IHRoaXMua2V5RmFjdG9yeS5pbXBvcnRQYXNzd29yZChsYm9wU3RyaW5nKSxcbiAgICAgICAgLi4ubGJvcEtleVBhcmFtcyxcbiAgICAgIH0pXG4gICAgKS5qd2s7XG5cbiAgICBjb25zdCBsYm9wS2V5VmVyaWZpZXIgPSBhd2FpdCB0aGlzLmtleUZhY3RvcnkuY3JlYXRlU2lnbktleSgpO1xuICAgIGNvbnN0IHdyYXBwZWRMYm9wS2V5VmVyaWZpZXIgPSBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmVuY3J5cHQoXG4gICAgICBsYm9wS2V5LFxuICAgICAgbGJvcEtleVZlcmlmaWVyLnRvSlNPTih0cnVlKVxuICAgICk7XG5cbiAgICAvLyBSZS1lbmNyeXB0IG1hc3RlciBrZXkgd2l0aCBuZXcga2V5XG4gICAgY29uc3QgbWFzdGVyS2V5ID0gdGhpcy5rZXlTZXJ2aWNlLmN1cnJlbnRNYXN0ZXJLZXk7XG4gICAgY29uc3Qgd3JhcHBlZE1hc3RlcktleSA9IGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2UuZW5jcnlwdChcbiAgICAgIGxib3BLZXksXG4gICAgICBtYXN0ZXJLZXkuandrLnRvSlNPTih0cnVlKVxuICAgICk7XG5cbiAgICBjb25zdCBtZXRhID0ge1xuICAgICAgLi4uKG5hbWUgJiYgeyBuYW1lIH0pLFxuICAgICAgcGFydGlhbDogdGhpcy5nZXRQYXJ0aWFsKGxib3BTdHJpbmcpLFxuICAgIH07XG4gICAgY29uc3QgY2lwaGVyTWV0YSA9IGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2UuZW5jcnlwdChcbiAgICAgIG1hc3RlcktleS5qd2ssXG4gICAgICBtZXRhXG4gICAgKTtcblxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPENyZWF0ZUxib3BRdWVyeT4oe1xuICAgICAgbXV0YXRpb246IENyZWF0ZUxib3BRdWVyeSxcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgIGNpcGhlck1ldGE6IEpTT04uc3RyaW5naWZ5KGNpcGhlck1ldGEpLFxuICAgICAgICAgIGxib3BLZXlQYXJhbXM6IEpTT04uc3RyaW5naWZ5KGxib3BLZXlQYXJhbXMpLFxuICAgICAgICAgIGxib3BLZXlWZXJpZmllcjogSlNPTi5zdHJpbmdpZnkobGJvcEtleVZlcmlmaWVyLnRvSlNPTih0cnVlKSksXG4gICAgICAgICAgd3JhcHBlZExib3BLZXlWZXJpZmllcjogSlNPTi5zdHJpbmdpZnkod3JhcHBlZExib3BLZXlWZXJpZmllciksXG4gICAgICAgICAgbWFzdGVyS2V5SWQ6IG1hc3RlcktleS5pZCxcbiAgICAgICAgICB3cmFwcGVkTWFzdGVyS2V5OiBKU09OLnN0cmluZ2lmeSh3cmFwcGVkTWFzdGVyS2V5KSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ucmVzLmNyZWF0ZUxib3AubGJvcCxcbiAgICAgIGxib3BTdHJpbmcsXG4gICAgfTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEZsb3cgYmVsb3cgYXJlIGZvciBwYXNzd29yZCByZXNldCB2aWEgTEJPUFxuICAvL1xuICAvLyAtLVBvdGVudGlhbCBGYWlsdXJlIFBvaW50IHh4eC0tXG4gIC8vXG4gIC8vIExvb2sgZm9yIHRoZSBhYm92ZSBhbmQgeW91IGNhbiB0ZXN0IGJ5IGludGVycnVwdGluZyBhdCB0aGVzZSBwb2ludHMuXG4gIC8vXG4gIC8vIFRoZSBMQk9QIHJlc2V0IHByb2Nlc3MgY2FuIGJlIHJlc3RhcnRlZCBhdCBhbnkgcG9pbnQgYmVmb3JlIHRoZSBjYWxsIHRvIFwic2V0LXBhc3N3b3JkL1wiLiBPbmNlIFwic2V0LXBhc3N3b3JkL1wiIGhhcyBiZWVuXG4gIC8vIGNhbGxlZCwgd2UgYXNzdW1lIHRoZSBjbGllbnQgaGFzIGEgc2hvcnQgcGVyaW9kIG9mIHRpbWUgdG8gY2hhbmdlIHRoZSBJZHAgcGFzc3dvcmQgdG8gdGhlIG9uZSB0aGV5J3ZlIGNob3Nlbi4gVGhlIFwic2V0LXBhc3N3b3JkL1wiXG4gIC8vIHdpbGwgc2V0IHRoZSBJZHAgcGFzc3dvcmQgdG8gYSB0ZW1wb3JhcnkgcmFuZG9tIHBhc3N3b3JkLiBUaGUgdXNlciBjYW4gbm8gbG9uZ2VyIGxvZ2luIHVzaW5nIHRoZWlyIGN1cnJlbnQgcGFzc3dvcmQuIElmIHRoZSBJZHBcbiAgLy8gcGFzc3dvcmQgY2hhbmdlIHByb2Nlc3MgZG9lcyBub3QgY29tcGxldGUgb3IgdGFrZXMgbG9uZ2VyIHRoYW4gdGhlIGxvY2tvdXQgcGVyaW9kLCB0aGUgYWNjb3VudCB3aWxsIG5vdCBiZSBhY2Nlc3NpYmxlIGFuZCBhIG5ld1xuICAvLyBMQk9QIHBhc3N3b3JkIHJlc2V0IG11c3QgYmUgY2FycmllZCBvdXQuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIHByaXZhdGUgYXN5bmMgdmVyaWZ5TGJvcHMoXG4gICAgY2hhbGxlbmdlUmVzdWx0OiBDaGFsbGVuZ2VSZXN1bHQsXG4gICAgbGJvcFN0cmluZzogc3RyaW5nXG4gICk6IFByb21pc2U8e1xuICAgIGxib3A6IENoYWxsZW5nZVJlc3VsdExib3A7XG4gICAgc2lnbmVkQ2hhbGxlbmdlOiBhbnk7XG4gICAgbGJvcEtleTogSldLLktleTtcbiAgfT4ge1xuICAgIGNvbnN0IGNsaWVudE5vbmNlID0gdGhpcy5rZXlGYWN0b3J5LnJhbmRvbVN0cmluZyh0aGlzLkNMSUVOVF9OT05DRV9MRU5HVEgpO1xuXG4gICAgZm9yIChjb25zdCBsYm9wIG9mIGNoYWxsZW5nZVJlc3VsdC5sYm9wcykge1xuICAgICAgY29uc3QgbGJvcEtleSA9IChcbiAgICAgICAgYXdhaXQgdGhpcy5rZXlGYWN0b3J5LmRlcml2ZUxib3BLZXkoe1xuICAgICAgICAgIHBhc3N3b3JkOiBhd2FpdCB0aGlzLmtleUZhY3RvcnkuaW1wb3J0UGFzc3dvcmQobGJvcFN0cmluZyksXG4gICAgICAgICAgLi4ubGJvcC5sYm9wS2V5UGFyYW1zLFxuICAgICAgICB9KVxuICAgICAgKS5qd2s7XG5cbiAgICAgIC8vIElmIGRlY29kaW5nIHN1Y2Nlc3NmdWwgdGhlbiBpdCdzIHRoZSBjb3JyZWN0IGxib3BcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGxib3BLZXlWZXJpZmllciA9IChhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmRlY3J5cHQoXG4gICAgICAgICAgbGJvcEtleSxcbiAgICAgICAgICBsYm9wLndyYXBwZWRMYm9wS2V5VmVyaWZpZXJcbiAgICAgICAgKSkgYXMgYW55O1xuXG4gICAgICAgIC8vIEZvcmNlIGEgYmFkIHNpZ25hdHVyZS5cbiAgICAgICAgLy8gY29uc3Qgc2VydmVyTm9uY2UgPSBjaGFsbGVuZ2VSZXN1bHQuY2hhbGxlbmdlLnNlcnZlck5vbmNlICsgXCIxXCIsXG5cbiAgICAgICAgY29uc3Qgc2VydmVyTm9uY2UgPSBjaGFsbGVuZ2VSZXN1bHQuY2hhbGxlbmdlLnNlcnZlck5vbmNlO1xuXG4gICAgICAgIGNvbnN0IHNpZ25lZENoYWxsZW5nZSA9IGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2Uuc2lnbihcbiAgICAgICAgICBsYm9wS2V5VmVyaWZpZXIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgc2VydmVyTm9uY2UsXG4gICAgICAgICAgICBjbGllbnROb25jZSxcbiAgICAgICAgICB9XG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBsYm9wLFxuICAgICAgICAgIHNpZ25lZENoYWxsZW5nZSxcbiAgICAgICAgICBsYm9wS2V5LFxuICAgICAgICB9O1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgfVxuICAgIHRocm93IG5ldyBLY0V4Y2VwdGlvbihcbiAgICAgIG5ldyBLY0Vycm9yKHtcbiAgICAgICAgc291cmNlOiBFUlJPUl9TT1VSQ0UsXG4gICAgICAgIGNvZGU6IEtjTGJvcEVycm9yQ29kZS5JTlZBTElEX1BBU1NQSFJBU0UsXG4gICAgICAgIG1lc3NhZ2U6ICdJbnZhbGlkIHBhc3NwaHJhc2UuJyxcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyB2ZXJpZnlDb250YWN0KFxuICAgIHBhcmFtczogVmVyaWZ5Q29udGFjdFBhcmFtc1xuICApOiBQcm9taXNlPFZlcmlmeUNvbnRhY3RSZXN1bHQ+IHtcbiAgICBjb25zdCByZXQgPSB0aGlzLmh0dHBcbiAgICAgIC5wb3N0PFZlcmlmeUNvbnRhY3RSZXN1bHQ+KFxuICAgICAgICBgJHt0aGlzLmNvbmZpZy5hdXRoVXJsfXVzZXJzL2xib3AtcmVzZXQvdmVyaWZ5LWNvbnRhY3QvYCxcbiAgICAgICAgcGFyYW1zXG4gICAgICApXG4gICAgICAudG9Qcm9taXNlKCk7XG5cbiAgICAvLyAtLVBvdGVudGlhbCBGYWlsdXJlIFBvaW50IDEgLS1cbiAgICAvLyBUaGUgY29udGFjdCB2ZXJpZmljYXRpb25zIGFyZSB0aHJvdHRsZWQuIEJ1dCBvdGhlcndpc2UgaGFybWxlc3MuXG5cbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNvbmZpcm1Db250YWN0KFxuICAgIHBhcmFtczogQ29uZmlybUNvbnRhY3RQYXJhbXNcbiAgKTogUHJvbWlzZTxDb25maXJtQ29udGFjdFJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0PENvbmZpcm1Db250YWN0UmVzdWx0PihgJHt0aGlzLmNvbmZpZy5hdXRoVXJsfWNvdmUvcmVzcG9uZC9gLCB7XG4gICAgICAgIGNsYWltX2lkOiBwYXJhbXMuY2xhaW1JZCxcbiAgICAgICAgdl9jb2RlOiBwYXJhbXMudkNvZGUsXG4gICAgICB9KVxuICAgICAgLnRvUHJvbWlzZSgpO1xuXG4gICAgLy8gLS1Qb3RlbnRpYWwgRmFpbHVyZSBQb2ludCAyIC0tXG4gICAgLy8gQSB2ZXJpZmllZCBjbGFpbSBmb3IgYSBjb250YWN0IGRvZXMgbm90IHByZXZlbnQgbmV3IG9uZXMgZnJvbSBiZWluZyBnZW5lcmF0ZWQuIFNvIGl0IHNob3VsZCBiZSBmaW5lIHRvIGp1c3Qgc3RhcnQgYWdhaW4uXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgdmVyaWZ5KHBhcmFtczogVmVyaWZ5UGFyYW1zKTogUHJvbWlzZTxWZXJpZnlSZXN1bHQ+IHtcbiAgICBjb25zdCBjaGFsbGVuZ2VSZXN1bHQgPSBhd2FpdCB0aGlzLmh0dHBcbiAgICAgIC5wb3N0PENoYWxsZW5nZVJlc3VsdD4oXG4gICAgICAgIGAke3RoaXMuY29uZmlnLmF1dGhVcmx9dXNlcnMvbGJvcC1yZXNldC9nZXQtY2hhbGxlbmdlL2AsXG4gICAgICAgIHtcbiAgICAgICAgICBjbGFpbUlkOiBwYXJhbXMuY2xhaW1JZCxcbiAgICAgICAgICBjbGFpbVRva2VuOiBwYXJhbXMuY2xhaW1Ub2tlbixcbiAgICAgICAgfVxuICAgICAgKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuXG4gICAgLy8gLS1Qb3RlbnRpYWwgRmFpbHVyZSBQb2ludCAzIC0tXG4gICAgLy8gVGhpcyBkb2VzIG5vdCBsb2NrIGFueXRoaW5nLiBBIHNlY29uZCBjYWxsIHRvIFwiZ2V0LWNoYWxsZW5nZS9cIiB3aWxsIGNyZWF0ZSBhIG5ldyBjaGFsbGVuZ2UgYW1kIGludmFsaWRhdGUgdGhlIGZpcnN0IG9uZS5cbiAgICBjb25zdCB7IHNpZ25lZENoYWxsZW5nZSwgbGJvcCwgbGJvcEtleSB9ID0gYXdhaXQgdGhpcy52ZXJpZnlMYm9wcyhcbiAgICAgIGNoYWxsZW5nZVJlc3VsdCxcbiAgICAgIHBhcmFtcy5sYm9wXG4gICAgKTtcblxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuaHR0cFxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLmNvbmZpZy5hdXRoVXJsfXVzZXJzL2xib3AtcmVzZXQvdmVyaWZ5LWNoYWxsZW5nZS9gLCB7XG4gICAgICAgIGxib3BJZDogbGJvcC5sYm9wSWQsXG4gICAgICAgIHNpZ25lZENoYWxsZW5nZSxcbiAgICAgIH0pXG4gICAgICAudG9Qcm9taXNlKCk7XG5cbiAgICAvLyAtLVBvdGVudGlhbCBGYWlsdXJlIFBvaW50IDQgLS1cbiAgICAvLyBUaGlzIGRvZXMgbm90IGxvY2sgYW55dGhpbmcuIFNvIG9rIHRvIHJlc3RhcnQuXG5cbiAgICByZXR1cm4ge1xuICAgICAgbGJvcElkOiBsYm9wLmxib3BJZCxcbiAgICAgIHZlcmlmaWVkVG9rZW46IHJlcy52ZXJpZmllZFRva2VuLFxuICAgICAgbWFzdGVyS2V5SWQ6IHJlcy5tYXN0ZXJLZXlJZCxcbiAgICAgIG1hc3RlcktleTogYXdhaXQgS0ZTLmFzS2V5KFxuICAgICAgICBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmRlY3J5cHQobGJvcEtleSwgcmVzLndyYXBwZWRNYXN0ZXJLZXkpXG4gICAgICApLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2V0UGFzc3dvcmQocGFyYW1zOiBTZXRQYXNzd29yZFBhcmFtcyk6IFByb21pc2U8YW55PiB7XG4gICAgLy8gR2VuZXJhdGUgdGhlIG5ldyBwYXNzd29yZCBkZXJpdmVkIGtleXNcbiAgICBjb25zdCBwYXNzS2V5QnVuZGxlID0gYXdhaXQgdGhpcy5wYXNzd29yZFNlcnZpY2UuY3JlYXRlUGFzc0tleUJ1bmRsZShcbiAgICAgIHBhcmFtcy5uZXdQYXNzd29yZFxuICAgICk7XG5cbiAgICAvLyBSZS1lbmNyeXB0IG1hc3RlciBrZXkgd2l0aCBuZXcga2V5XG4gICAgY29uc3QgbmV3V3JhcHBlZE1hc3RlcktleSA9IGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2UuZW5jcnlwdChcbiAgICAgIHBhc3NLZXlCdW5kbGUucGFzc0tleSxcbiAgICAgIHBhcmFtcy5tYXN0ZXJLZXkudG9KU09OKHRydWUpXG4gICAgKTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuaHR0cFxuICAgICAgLnBvc3Q8U2V0UGFzc3dvcmRBcGlSZXN1bHQ+KFxuICAgICAgICBgJHt0aGlzLmNvbmZpZy5hdXRoVXJsfXVzZXJzL2xib3AtcmVzZXQvc2V0LXBhc3N3b3JkL2AsXG4gICAgICAgIHtcbiAgICAgICAgICBsYm9wSWQ6IHBhcmFtcy5sYm9wSWQsXG4gICAgICAgICAgdmVyaWZpZWRUb2tlbjogcGFyYW1zLnZlcmlmaWVkVG9rZW4sXG4gICAgICAgICAgbWFzdGVyS2V5SWQ6IHBhcmFtcy5tYXN0ZXJLZXlJZCxcbiAgICAgICAgICBuZXdXcmFwcGVkTWFzdGVyS2V5LFxuICAgICAgICAgIG5ld1Bhc3NLZXk6IHtcbiAgICAgICAgICAgIHBhc3NLZXlQYXJhbXM6IHBhc3NLZXlCdW5kbGUucGFzc0tleVBhcmFtcyxcbiAgICAgICAgICAgIHBhc3NJZHBQYXJhbXM6IHBhc3NLZXlCdW5kbGUucGFzc0lkcFBhcmFtcyxcbiAgICAgICAgICAgIHBhc3NJZHBWZXJpZmllclBiazogcGFzc0tleUJ1bmRsZS5wYXNzSWRwVmVyaWZpZXIudG9KU09OKCksXG4gICAgICAgICAgICB3cmFwcGVkUGFzc0lkcFZlcmlmaWVyUHJrOiBwYXNzS2V5QnVuZGxlLndyYXBwZWRQYXNzSWRwVmVyaWZpZXJQcmssXG4gICAgICAgICAgfSxcbiAgICAgICAgfVxuICAgICAgKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuXG4gICAgLy8gLS1Qb3RlbnRpYWwgRmFpbHVyZSBQb2ludCA1IC0tXG4gICAgLy8gQSB0aW1lZCBtdXRleCBpcyBsb2NrZWQuIFRoZSBJZHAgcGFzc3dvcmQgY2hhbmdlIG11c3Qgb2NjdXIgd2l0aGluIGEgcGVyaW9kIG9mIHRpbWUuXG4gICAgLy8gSWYgaW50ZXJydXB0ZWQgaGVyZSwgdGhlIHVzZXIgY2FuIG5vdCBsb2dpbiB3aXRoIHRoZWlyIG9sZCBwYXNzd29yZCBhZ2Fpbi4gVGhleSBtdXN0XG4gICAgLy8gc3RhcnQgdGhlIHdob2xlIExCT1AgcGFzc3dvcmQgcmVzZXQgcHJvY2VzcyBhZ2Fpbi5cblxuICAgIC8vIFRoaXMgY2FsbCB3aWxsIGdvIHRocm91Z2ggdGhlIExSIHByb3h5IHdoaWNoIGlzIE9LIHNpbmNlIHRoZSBMUiBzZXJ2ZXIga25vd3NcbiAgICAvLyB0aGUgdGVtcG9yYXJ5IHBhc3N3b3JkIGFueXdheS5cbiAgICBsZXQgdXNlciA9IGF3YWl0IHRoaXMuYXV0aC5zaWduSW4ocmVzdWx0LnVzZXJuYW1lLCByZXN1bHQuaWRwUGFzc3dvcmQsIHtcbiAgICAgIG5vUHJveHk6ICd0cnVlJyxcbiAgICB9KTtcblxuICAgIGlmICh1c2VyLmNoYWxsZW5nZU5hbWUgIT09ICdORVdfUEFTU1dPUkRfUkVRVUlSRUQnKSB7XG4gICAgICB0aHJvdyBuZXcgS2NJbnRlcm5hbEVycm9yRXhjZXB0aW9uKFxuICAgICAgICAnRXhwZWN0aW5nIENvZ25pdG8gdG8gaGF2ZSBkb25lIGEgcGFzc3dvcmQgcmVzZXQuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyAtLVBvdGVudGlhbCBGYWlsdXJlIFBvaW50IDYgLS1cbiAgICAvLyBNdXN0IHJlc3RhcnQgdGhlIExCT1AgcGFzc3dvcmQgcmVzZXQgcHJvY2VzcyBhZ2Fpbi5cblxuICAgIC8vIFNldCBuZXcgcGFzc3dvcmQgb24gSWRwXG4gICAgdXNlciA9IGF3YWl0IHRoaXMuYXV0aC5jb21wbGV0ZU5ld1Bhc3N3b3JkKFxuICAgICAgdXNlcixcbiAgICAgIHRoaXMucGFzc3dvcmRTZXJ2aWNlLmdldFBhc3NJZHBTdHJpbmcocGFzc0tleUJ1bmRsZS5wYXNzSWRwKSxcbiAgICAgIHt9XG4gICAgKTtcblxuICAgIC8vIC0tUG90ZW50aWFsIEZhaWx1cmUgUG9pbnQgNyAtLVxuICAgIC8vIE11c3QgcmVzdGFydCB0aGUgTEJPUCBwYXNzd29yZCByZXNldCBwcm9jZXNzIGFnYWluLlxuXG4gICAgYXdhaXQgdGhpcy5hdXRoLnNpZ25PdXQoKTtcblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmh0dHBcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy5jb25maWcuYXV0aFVybH11c2Vycy9sYm9wLXJlc2V0L2NvbXBsZXRlL2AsIHtcbiAgICAgICAgbGJvcElkOiBwYXJhbXMubGJvcElkLFxuICAgICAgICBzZXRQYXNzd29yZFRva2VuOiByZXN1bHQuc2V0UGFzc3dvcmRUb2tlbixcbiAgICAgIH0pXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -68,7 +68,7 @@ export class ProfileService {
|
|
|
68
68
|
}
|
|
69
69
|
prepareContactCardInput(contactCard) {
|
|
70
70
|
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
-
const sigPxk =
|
|
71
|
+
const sigPxk = this.keyService.currentSigPxk;
|
|
72
72
|
const publicDataSig = JSON.stringify(yield this.encryptionService.sign(sigPxk.jwk, ''));
|
|
73
73
|
const publicSearchableSig = JSON.stringify(yield this.encryptionService.sign(sigPxk.jwk, ''));
|
|
74
74
|
const plainDataJson = {
|
|
@@ -167,4 +167,4 @@ ProfileService.ctorParameters = () => [
|
|
|
167
167
|
{ type: KeyGraphService },
|
|
168
168
|
{ type: EncryptionService }
|
|
169
169
|
];
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3Byb2ZpbGUvcHJvZmlsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHlCQUF5QixHQUMxQixNQUFNLGtDQUFrQyxDQUFDO0FBRTFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBWSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFcEQsT0FBTyxFQUNMLHlCQUF5QixFQUN6QixnQkFBZ0IsRUFFaEIseUJBQXlCLEdBQzFCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxlQUFlLEdBS2hCLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7OztBQUt6QixNQUFNLE9BQU8sY0FBYztJQUN6QixZQUM2QixNQUFnQixFQUNuQyxJQUFnQixFQUNoQixRQUF5QixFQUN6QixVQUFzQixFQUN0QixjQUE4QixFQUM5QixRQUF5QixFQUN6QixpQkFBb0M7UUFOakIsV0FBTSxHQUFOLE1BQU0sQ0FBVTtRQUNuQyxTQUFJ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QUNELFNBQVMsRUFBRSxDQUFDO1FBQ2pCLENBQUM7S0FBQTs7OztZQTVMRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs0Q0FHSSxNQUFNLFNBQUMsU0FBUztZQXBDWixVQUFVO1lBRVYsZUFBZTtZQVNmLFVBQVU7WUFEVixjQUFjO1lBRGQsZUFBZTtZQURmLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExyQXBvbGxvU2VydmljZSB9IGZyb20gJy4uL2FwaS9sci1hcG9sbG8uc2VydmljZSc7XG5pbXBvcnQge1xuICBDb250YWN0Q2FyZExpc3RRdWVyeSxcbiAgRGVsZXRlQ29udGFjdENhcmRNdXRhdGlvbixcbn0gZnJvbSAnLi4vY29udGFjdC1jYXJkL2NvbnRhY3QtY2FyZC5ncWwnO1xuaW1wb3J0IHsgQ29udGFjdENhcmQgfSBmcm9tICcuLi9jb250YWN0LWNhcmQvY29udGFjdC1jYXJkLnNlcnZpY2UnO1xuaW1wb3J0IHsgRW5jcnlwdGlvblNlcnZpY2UgfSBmcm9tICcuLi9lbmNyeXB0aW9uL2VuY3J5cHRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBLZXlHcmFwaFNlcnZpY2UgfSBmcm9tICcuLi9rZXkva2V5LWdyYXBoLnNlcnZpY2UnO1xuaW1wb3J0IHsgS2V5TWV0YVNlcnZpY2UgfSBmcm9tICcuLi9rZXkva2V5LW1ldGEuc2VydmljZSc7XG5pbXBvcnQgeyBLZXlTZXJ2aWNlIH0gZnJvbSAnLi4va2V5L2tleS5zZXJ2aWNlJztcbmltcG9ydCB7IEtjQ29uZmlnLCBLQ19DT05GSUcgfSBmcm9tICcuLi9saWZlLXJlYWR5LmNvbmZpZyc7XG5pbXBvcnQgeyBtYXBVc2VyUGxhbnMgfSBmcm9tICcuLi9wbGFuL3BsYW4uc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyUGxhbiB9IGZyb20gJy4uL3BsYW4vcGxhbi50eXBlcyc7XG5pbXBvcnQge1xuICBDcmVhdGVDb250YWN0Q2FyZE11dGF0aW9uLFxuICBDdXJyZW50VXNlclF1ZXJ5LFxuICBDdXJyZW50VXNlclF1ZXJ5VHlwZSxcbiAgVXBkYXRlQ29udGFjdENhcmRNdXRhdGlvbixcbn0gZnJvbSAnLi9wcm9maWxlLmdxbCc7XG5pbXBvcnQge1xuICBBcGlDb250YWN0Q2FyZCxcbiAgQXBpQ3VycmVudFVzZXIsXG4gIENvbnRhY3RDYXJkTmFtZSxcbiAgTWFpbkNvbnRhY3RDYXJkLFxuICBNYWluQ29udGFjdENhcmRGaWVsZHMsXG4gIE1haW5Db250YWN0Q2FyZFBsYWluRmllbGRzLFxuICBQYXNzSWRwQXBpUmVzdWx0LFxufSBmcm9tICcuL3Byb2ZpbGUudHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZmlsZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEtDX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IEtjQ29uZmlnLFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGxyQXBvbGxvOiBMckFwb2xsb1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBrZXlTZXJ2aWNlOiBLZXlTZXJ2aWNlLFxuICAgIHByaXZhdGUga2V5TWV0YVNlcnZpY2U6IEtleU1ldGFTZXJ2aWNlLFxuICAgIHByaXZhdGUga2V5R3JhcGg6IEtleUdyYXBoU2VydmljZSxcbiAgICBwcml2YXRlIGVuY3J5cHRpb25TZXJ2aWNlOiBFbmNyeXB0aW9uU2VydmljZVxuICApIHt9XG5cbiAgYXN5bmMgZ2V0UGFzc0lkcFBhcmFtcyhlbWFpbE9yUGhvbmU6IHN0cmluZyk6IFByb21pc2U8UGFzc0lkcEFwaVJlc3VsdD4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8UGFzc0lkcEFwaVJlc3VsdD4oXG4gICAgICAgIGAke1xuICAgICAgICAgIHRoaXMuY29uZmlnLmF1dGhVcmxcbiAgICAgICAgfXVzZXJzL3Bhc3MtaWRwLXBhcmFtcy8/bG9naW5fbmFtZT0ke2VuY29kZVVSSUNvbXBvbmVudChlbWFpbE9yUGhvbmUpfWBcbiAgICAgIClcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldEN1cnJlbnRVc2VyKCk6IFByb21pc2U8e1xuICAgIGN1cnJlbnRVc2VyOiBBcGlDdXJyZW50VXNlcjtcbiAgICBjb250YWN0Q2FyZDogQXBpQ29udGFjdENhcmQ7XG4gICAgdXNlclBsYW5zOiBVc2VyUGxhbltdO1xuICB9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50VXNlciwgY29udGFjdENhcmRzLCB1c2VyUGxhbnMgfSA9XG4gICAgICBhd2FpdCB0aGlzLmxyQXBvbGxvLnF1ZXJ5PEN1cnJlbnRVc2VyUXVlcnlUeXBlPih7XG4gICAgICAgIHF1ZXJ5OiBDdXJyZW50VXNlclF1ZXJ5LFxuICAgICAgfSk7XG5cbiAgICBjb25zdCBjb250YWN0Q2FyZCA9IGNvbnRhY3RDYXJkcy5lZGdlcy5tYXAoKHgpID0+IHgubm9kZSlbMF07XG5cbiAgICByZXR1cm4ge1xuICAgICAgY3VycmVudFVzZXIsXG4gICAgICBjb250YWN0Q2FyZCxcbiAgICAgIHVzZXJQbGFuczogbWFwVXNlclBsYW5zKHVzZXJQbGFucyksXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGRlY3J5cHRDb250YWN0Q2FyZChcbiAgICBjb250YWN0Q2FyZDogQXBpQ29udGFjdENhcmRcbiAgKTogUHJvbWlzZTxNYWluQ29udGFjdENhcmQ+IHtcbiAgICBpZiAoIWNvbnRhY3RDYXJkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBkZXRhaWxzID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5kZWNyeXB0RnJvbVN0cmluZzxhbnk+KFxuICAgICAgY29udGFjdENhcmQua2V5LmlkLFxuICAgICAgY29udGFjdENhcmQuY2lwaGVyRGF0YVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IGNvbnRhY3RDYXJkLmlkLFxuICAgICAga2V5SWQ6IGNvbnRhY3RDYXJkLmtleS5pZCxcbiAgICAgIC4uLmRldGFpbHMsXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZURldGFpbHMoXG4gICAgaWQ6IHN0cmluZyxcbiAgICBrZXlJZDogc3RyaW5nLFxuICAgIGZpZWxkczogTWFpbkNvbnRhY3RDYXJkRmllbGRzXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IChpZFxuICAgICAgPyB0aGlzLnVwZGF0ZUNvbnRhY3RDYXJkKGlkLCBrZXlJZCwgZmllbGRzKVxuICAgICAgOiB0aGlzLmNyZWF0ZUNvbnRhY3RDYXJkKGZpZWxkcykpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwcmVwYXJlQ29udGFjdENhcmRJbnB1dChcbiAgICBjb250YWN0Q2FyZDogTWFpbkNvbnRhY3RDYXJkRmllbGRzXG4gICk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3Qgc2lnUHhrID0gYXdhaXQgdGhpcy5rZXlTZXJ2aWNlLmdldEN1cnJlbnRTaWdQeGsoKTtcblxuICAgIGNvbnN0IHB1YmxpY0RhdGFTaWcgPSBKU09OLnN0cmluZ2lmeShcbiAgICAgIGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2Uuc2lnbihzaWdQeGsuandrLCAnJylcbiAgICApO1xuICAgIGNvbnN0IHB1YmxpY1NlYXJjaGFibGVTaWcgPSBKU09OLnN0cmluZ2lmeShcbiAgICAgIGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2Uuc2lnbihzaWdQeGsuandrLCAnJylcbiAgICApO1xuXG4gICAgY29uc3QgcGxhaW5EYXRhSnNvbjogTWFpbkNvbnRhY3RDYXJkUGxhaW5GaWVsZHMgPSB7XG4gICAgICAvLyBjb250YWN0Q2FyZC5uYW1lLnZhbHVlIG1heSBoYXZlIGFkZGl0aW9uYWwgYXR0cmlidXRlcyBzdWNoIGFzIHRoZSBpZCBvZiB0aGUgY29udGFjdCBjYXJkLlxuICAgICAgLy8gU28gd2UgY3JlYXRlIGEgY2xlYW4gdmVyc2lvbi4gT3RoZXJ3aXNlIGl0IHdpbGwgZmFpbCBzZXJ2ZXIgY2hlY2tzLlxuICAgICAgbmFtZTogbmV3IENvbnRhY3RDYXJkTmFtZShjb250YWN0Q2FyZC5uYW1lLnZhbHVlKSxcbiAgICB9O1xuICAgIGNvbnN0IHBsYWluRGF0YVNpZyA9IEpTT04uc3RyaW5naWZ5KFxuICAgICAgYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5zaWduKHNpZ1B4ay5qd2ssIHBsYWluRGF0YUpzb24pXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBzaWdQeGtJZDogc2lnUHhrLmlkLFxuICAgICAgcHVibGljRGF0YVNpZyxcbiAgICAgIHB1YmxpY1NlYXJjaGFibGVTaWcsXG4gICAgICBwbGFpbkRhdGFTaWcsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlQ29udGFjdENhcmQoXG4gICAgY29udGFjdENhcmQ6IE1haW5Db250YWN0Q2FyZEZpZWxkc1xuICApOiBQcm9taXNlPEFwaUNvbnRhY3RDYXJkPiB7XG4gICAgY29uc3QgaW5wdXQgPSBhd2FpdCB0aGlzLnByZXBhcmVDb250YWN0Q2FyZElucHV0KGNvbnRhY3RDYXJkKTtcblxuICAgIGNvbnN0IHsgcm9vdEtleSwgY2lwaGVyTWV0YSB9ID0gYXdhaXQgdGhpcy5rZXlNZXRhU2VydmljZS53cmFwQ29udGVudChcbiAgICAgIGNvbnRhY3RDYXJkXG4gICAgKTtcblxuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmxyQXBvbGxvLm11dGF0ZTx7XG4gICAgICBjcmVhdGVDb250YWN0Q2FyZDogeyBjb250YWN0Q2FyZDogQXBpQ29udGFjdENhcmQgfTtcbiAgICB9Pih7XG4gICAgICBtdXRhdGlvbjogQ3JlYXRlQ29udGFjdENhcmRNdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgIC4uLmlucHV0LFxuICAgICAgICAgIGNpcGhlckRhdGE6IGNpcGhlck1ldGEsXG4gICAgICAgICAgd3JhcHBpbmdLZXlJZDogcm9vdEtleS53cmFwcGluZ0tleUlkLFxuICAgICAgICAgIHdyYXBwZWRLZXk6IHJvb3RLZXkud3JhcHBlZEtleSxcbiAgICAgICAgICBkZWZhdWx0OiB0cnVlLCAvLyBVc2UgdGhpcyBjb250YWN0IGNhcmQgYXMgZGVmYXVsdCBjb250YWN0IGNhcmQuXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHJldHVybiBkYXRhLmNyZWF0ZUNvbnRhY3RDYXJkLmNvbnRhY3RDYXJkO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB1cGRhdGVDb250YWN0Q2FyZChcbiAgICBpZDogc3RyaW5nLFxuICAgIGtleUlkOiBzdHJpbmcsXG4gICAgY29udGFjdENhcmQ6IE1haW5Db250YWN0Q2FyZEZpZWxkc1xuICApOiBQcm9taXNlPEFwaUNvbnRhY3RDYXJkPiB7XG4gICAgY29uc3QgaW5wdXQgPSBhd2FpdCB0aGlzLnByZXBhcmVDb250YWN0Q2FyZElucHV0KGNvbnRhY3RDYXJkKTtcblxuICAgIGNvbnN0IGNpcGhlckRhdGEgPSBhd2FpdCB0aGlzLmtleUdyYXBoLmVuY3J5cHRUb1N0cmluZyhrZXlJZCwgY29udGFjdENhcmQpO1xuXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPHtcbiAgICAgIHVwZGF0ZUNvbnRhY3RDYXJkOiB7IGNvbnRhY3RDYXJkOiBBcGlDb250YWN0Q2FyZCB9O1xuICAgIH0+KHtcbiAgICAgIG11dGF0aW9uOiBVcGRhdGVDb250YWN0Q2FyZE11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgLi4uaW5wdXQsXG4gICAgICAgICAgaWQsXG4gICAgICAgICAgY2lwaGVyRGF0YSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgcmV0dXJuIGRhdGEudXBkYXRlQ29udGFjdENhcmQuY29udGFjdENhcmQ7XG4gIH1cblxuICBhc3luYyBkZWNyeXB0Q29udGFjdENhcmRFZGdlcyhlZGdlcyk6IFByb21pc2U8Q29udGFjdENhcmRbXT4ge1xuICAgIHJldHVybiBQcm9taXNlLmFsbChcbiAgICAgIGVkZ2VzLm1hcChhc3luYyAoZWRnZTogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGNjID0gZWRnZS5ub2RlIGFzIENvbnRhY3RDYXJkO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGhpcy5kZWNyeXB0Q29udGFjdENhcmQoY2MpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgZ2V0Q29udGFjdENhcmRzKCk6IFByb21pc2U8Q29udGFjdENhcmRbXT4ge1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmxyQXBvbGxvLnF1ZXJ5PGFueT4oe1xuICAgICAgcXVlcnk6IENvbnRhY3RDYXJkTGlzdFF1ZXJ5LFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZGVjcnlwdENvbnRhY3RDYXJkRWRnZXMoZGF0YS5jb250YWN0Q2FyZHMuZWRnZXMpO1xuICB9XG5cbiAgYXN5bmMgZGVsZXRlQ29udGFjdENhcmQoaWQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPGFueT4oe1xuICAgICAgbXV0YXRpb246IERlbGV0ZUNvbnRhY3RDYXJkTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICByZXR1cm4gZGF0YS5kZWxldGVDb250YWN0Q2FyZC5pZDtcbiAgfVxuXG4gIGFzeW5jIHNpZ25PdXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5odHRwXG4gICAgICAucG9zdChgJHt0aGlzLmNvbmZpZy5hdXRoVXJsfWF1dGgvc2lnbi1vdXQvYCwgbnVsbCwge1xuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxuICAgICAgfSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxufVxuIl19
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3Byb2ZpbGUvcHJvZmlsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHlCQUF5QixHQUMxQixNQUFNLGtDQUFrQyxDQUFDO0FBRTFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBWSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFcEQsT0FBTyxFQUNMLHlCQUF5QixFQUN6QixnQkFBZ0IsRUFFaEIseUJBQXlCLEdBQzFCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxlQUFlLEdBS2hCLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7OztBQUt6QixNQUFNLE9BQU8sY0FBYztJQUN6QixZQUM2QixNQUFnQixFQUNuQyxJQUFnQixFQUNoQixRQUF5QixFQUN6QixVQUFzQixFQUN0QixjQUE4QixFQUM5QixRQUF5QixFQUN6QixpQkFBb0M7UUFOakIsV0FBTSxHQUFOLE1BQU0sQ0FBVTtRQUNuQyxTQUFJ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RSxDQUFDO1FBQ2pCLENBQUM7S0FBQTs7OztZQTVMRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs0Q0FHSSxNQUFNLFNBQUMsU0FBUztZQXBDWixVQUFVO1lBRVYsZUFBZTtZQVNmLFVBQVU7WUFEVixjQUFjO1lBRGQsZUFBZTtZQURmLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExyQXBvbGxvU2VydmljZSB9IGZyb20gJy4uL2FwaS9sci1hcG9sbG8uc2VydmljZSc7XG5pbXBvcnQge1xuICBDb250YWN0Q2FyZExpc3RRdWVyeSxcbiAgRGVsZXRlQ29udGFjdENhcmRNdXRhdGlvbixcbn0gZnJvbSAnLi4vY29udGFjdC1jYXJkL2NvbnRhY3QtY2FyZC5ncWwnO1xuaW1wb3J0IHsgQ29udGFjdENhcmQgfSBmcm9tICcuLi9jb250YWN0LWNhcmQvY29udGFjdC1jYXJkLnNlcnZpY2UnO1xuaW1wb3J0IHsgRW5jcnlwdGlvblNlcnZpY2UgfSBmcm9tICcuLi9lbmNyeXB0aW9uL2VuY3J5cHRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBLZXlHcmFwaFNlcnZpY2UgfSBmcm9tICcuLi9rZXkva2V5LWdyYXBoLnNlcnZpY2UnO1xuaW1wb3J0IHsgS2V5TWV0YVNlcnZpY2UgfSBmcm9tICcuLi9rZXkva2V5LW1ldGEuc2VydmljZSc7XG5pbXBvcnQgeyBLZXlTZXJ2aWNlIH0gZnJvbSAnLi4va2V5L2tleS5zZXJ2aWNlJztcbmltcG9ydCB7IEtjQ29uZmlnLCBLQ19DT05GSUcgfSBmcm9tICcuLi9saWZlLXJlYWR5LmNvbmZpZyc7XG5pbXBvcnQgeyBtYXBVc2VyUGxhbnMgfSBmcm9tICcuLi9wbGFuL3BsYW4uc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyUGxhbiB9IGZyb20gJy4uL3BsYW4vcGxhbi50eXBlcyc7XG5pbXBvcnQge1xuICBDcmVhdGVDb250YWN0Q2FyZE11dGF0aW9uLFxuICBDdXJyZW50VXNlclF1ZXJ5LFxuICBDdXJyZW50VXNlclF1ZXJ5VHlwZSxcbiAgVXBkYXRlQ29udGFjdENhcmRNdXRhdGlvbixcbn0gZnJvbSAnLi9wcm9maWxlLmdxbCc7XG5pbXBvcnQge1xuICBBcGlDb250YWN0Q2FyZCxcbiAgQXBpQ3VycmVudFVzZXIsXG4gIENvbnRhY3RDYXJkTmFtZSxcbiAgTWFpbkNvbnRhY3RDYXJkLFxuICBNYWluQ29udGFjdENhcmRGaWVsZHMsXG4gIE1haW5Db250YWN0Q2FyZFBsYWluRmllbGRzLFxuICBQYXNzSWRwQXBpUmVzdWx0LFxufSBmcm9tICcuL3Byb2ZpbGUudHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZmlsZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEtDX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IEtjQ29uZmlnLFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGxyQXBvbGxvOiBMckFwb2xsb1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBrZXlTZXJ2aWNlOiBLZXlTZXJ2aWNlLFxuICAgIHByaXZhdGUga2V5TWV0YVNlcnZpY2U6IEtleU1ldGFTZXJ2aWNlLFxuICAgIHByaXZhdGUga2V5R3JhcGg6IEtleUdyYXBoU2VydmljZSxcbiAgICBwcml2YXRlIGVuY3J5cHRpb25TZXJ2aWNlOiBFbmNyeXB0aW9uU2VydmljZVxuICApIHt9XG5cbiAgYXN5bmMgZ2V0UGFzc0lkcFBhcmFtcyhlbWFpbE9yUGhvbmU6IHN0cmluZyk6IFByb21pc2U8UGFzc0lkcEFwaVJlc3VsdD4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8UGFzc0lkcEFwaVJlc3VsdD4oXG4gICAgICAgIGAke1xuICAgICAgICAgIHRoaXMuY29uZmlnLmF1dGhVcmxcbiAgICAgICAgfXVzZXJzL3Bhc3MtaWRwLXBhcmFtcy8/bG9naW5fbmFtZT0ke2VuY29kZVVSSUNvbXBvbmVudChlbWFpbE9yUGhvbmUpfWBcbiAgICAgIClcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldEN1cnJlbnRVc2VyKCk6IFByb21pc2U8e1xuICAgIGN1cnJlbnRVc2VyOiBBcGlDdXJyZW50VXNlcjtcbiAgICBjb250YWN0Q2FyZDogQXBpQ29udGFjdENhcmQ7XG4gICAgdXNlclBsYW5zOiBVc2VyUGxhbltdO1xuICB9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50VXNlciwgY29udGFjdENhcmRzLCB1c2VyUGxhbnMgfSA9XG4gICAgICBhd2FpdCB0aGlzLmxyQXBvbGxvLnF1ZXJ5PEN1cnJlbnRVc2VyUXVlcnlUeXBlPih7XG4gICAgICAgIHF1ZXJ5OiBDdXJyZW50VXNlclF1ZXJ5LFxuICAgICAgfSk7XG5cbiAgICBjb25zdCBjb250YWN0Q2FyZCA9IGNvbnRhY3RDYXJkcy5lZGdlcy5tYXAoKHgpID0+IHgubm9kZSlbMF07XG5cbiAgICByZXR1cm4ge1xuICAgICAgY3VycmVudFVzZXIsXG4gICAgICBjb250YWN0Q2FyZCxcbiAgICAgIHVzZXJQbGFuczogbWFwVXNlclBsYW5zKHVzZXJQbGFucyksXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGRlY3J5cHRDb250YWN0Q2FyZChcbiAgICBjb250YWN0Q2FyZDogQXBpQ29udGFjdENhcmRcbiAgKTogUHJvbWlzZTxNYWluQ29udGFjdENhcmQ+IHtcbiAgICBpZiAoIWNvbnRhY3RDYXJkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBkZXRhaWxzID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5kZWNyeXB0RnJvbVN0cmluZzxhbnk+KFxuICAgICAgY29udGFjdENhcmQua2V5LmlkLFxuICAgICAgY29udGFjdENhcmQuY2lwaGVyRGF0YVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IGNvbnRhY3RDYXJkLmlkLFxuICAgICAga2V5SWQ6IGNvbnRhY3RDYXJkLmtleS5pZCxcbiAgICAgIC4uLmRldGFpbHMsXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZURldGFpbHMoXG4gICAgaWQ6IHN0cmluZyxcbiAgICBrZXlJZDogc3RyaW5nLFxuICAgIGZpZWxkczogTWFpbkNvbnRhY3RDYXJkRmllbGRzXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IChpZFxuICAgICAgPyB0aGlzLnVwZGF0ZUNvbnRhY3RDYXJkKGlkLCBrZXlJZCwgZmllbGRzKVxuICAgICAgOiB0aGlzLmNyZWF0ZUNvbnRhY3RDYXJkKGZpZWxkcykpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwcmVwYXJlQ29udGFjdENhcmRJbnB1dChcbiAgICBjb250YWN0Q2FyZDogTWFpbkNvbnRhY3RDYXJkRmllbGRzXG4gICk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3Qgc2lnUHhrID0gdGhpcy5rZXlTZXJ2aWNlLmN1cnJlbnRTaWdQeGs7XG5cbiAgICBjb25zdCBwdWJsaWNEYXRhU2lnID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLnNpZ24oc2lnUHhrLmp3aywgJycpXG4gICAgKTtcbiAgICBjb25zdCBwdWJsaWNTZWFyY2hhYmxlU2lnID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLnNpZ24oc2lnUHhrLmp3aywgJycpXG4gICAgKTtcblxuICAgIGNvbnN0IHBsYWluRGF0YUpzb246IE1haW5Db250YWN0Q2FyZFBsYWluRmllbGRzID0ge1xuICAgICAgLy8gY29udGFjdENhcmQubmFtZS52YWx1ZSBtYXkgaGF2ZSBhZGRpdGlvbmFsIGF0dHJpYnV0ZXMgc3VjaCBhcyB0aGUgaWQgb2YgdGhlIGNvbnRhY3QgY2FyZC5cbiAgICAgIC8vIFNvIHdlIGNyZWF0ZSBhIGNsZWFuIHZlcnNpb24uIE90aGVyd2lzZSBpdCB3aWxsIGZhaWwgc2VydmVyIGNoZWNrcy5cbiAgICAgIG5hbWU6IG5ldyBDb250YWN0Q2FyZE5hbWUoY29udGFjdENhcmQubmFtZS52YWx1ZSksXG4gICAgfTtcbiAgICBjb25zdCBwbGFpbkRhdGFTaWcgPSBKU09OLnN0cmluZ2lmeShcbiAgICAgIGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2Uuc2lnbihzaWdQeGsuandrLCBwbGFpbkRhdGFKc29uKVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgc2lnUHhrSWQ6IHNpZ1B4ay5pZCxcbiAgICAgIHB1YmxpY0RhdGFTaWcsXG4gICAgICBwdWJsaWNTZWFyY2hhYmxlU2lnLFxuICAgICAgcGxhaW5EYXRhU2lnLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNyZWF0ZUNvbnRhY3RDYXJkKFxuICAgIGNvbnRhY3RDYXJkOiBNYWluQ29udGFjdENhcmRGaWVsZHNcbiAgKTogUHJvbWlzZTxBcGlDb250YWN0Q2FyZD4ge1xuICAgIGNvbnN0IGlucHV0ID0gYXdhaXQgdGhpcy5wcmVwYXJlQ29udGFjdENhcmRJbnB1dChjb250YWN0Q2FyZCk7XG5cbiAgICBjb25zdCB7IHJvb3RLZXksIGNpcGhlck1ldGEgfSA9IGF3YWl0IHRoaXMua2V5TWV0YVNlcnZpY2Uud3JhcENvbnRlbnQoXG4gICAgICBjb250YWN0Q2FyZFxuICAgICk7XG5cbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5sckFwb2xsby5tdXRhdGU8e1xuICAgICAgY3JlYXRlQ29udGFjdENhcmQ6IHsgY29udGFjdENhcmQ6IEFwaUNvbnRhY3RDYXJkIH07XG4gICAgfT4oe1xuICAgICAgbXV0YXRpb246IENyZWF0ZUNvbnRhY3RDYXJkTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAuLi5pbnB1dCxcbiAgICAgICAgICBjaXBoZXJEYXRhOiBjaXBoZXJNZXRhLFxuICAgICAgICAgIHdyYXBwaW5nS2V5SWQ6IHJvb3RLZXkud3JhcHBpbmdLZXlJZCxcbiAgICAgICAgICB3cmFwcGVkS2V5OiByb290S2V5LndyYXBwZWRLZXksXG4gICAgICAgICAgZGVmYXVsdDogdHJ1ZSwgLy8gVXNlIHRoaXMgY29udGFjdCBjYXJkIGFzIGRlZmF1bHQgY29udGFjdCBjYXJkLlxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgICByZXR1cm4gZGF0YS5jcmVhdGVDb250YWN0Q2FyZC5jb250YWN0Q2FyZDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdXBkYXRlQ29udGFjdENhcmQoXG4gICAgaWQ6IHN0cmluZyxcbiAgICBrZXlJZDogc3RyaW5nLFxuICAgIGNvbnRhY3RDYXJkOiBNYWluQ29udGFjdENhcmRGaWVsZHNcbiAgKTogUHJvbWlzZTxBcGlDb250YWN0Q2FyZD4ge1xuICAgIGNvbnN0IGlucHV0ID0gYXdhaXQgdGhpcy5wcmVwYXJlQ29udGFjdENhcmRJbnB1dChjb250YWN0Q2FyZCk7XG5cbiAgICBjb25zdCBjaXBoZXJEYXRhID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5lbmNyeXB0VG9TdHJpbmcoa2V5SWQsIGNvbnRhY3RDYXJkKTtcblxuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmxyQXBvbGxvLm11dGF0ZTx7XG4gICAgICB1cGRhdGVDb250YWN0Q2FyZDogeyBjb250YWN0Q2FyZDogQXBpQ29udGFjdENhcmQgfTtcbiAgICB9Pih7XG4gICAgICBtdXRhdGlvbjogVXBkYXRlQ29udGFjdENhcmRNdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgIC4uLmlucHV0LFxuICAgICAgICAgIGlkLFxuICAgICAgICAgIGNpcGhlckRhdGEsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHJldHVybiBkYXRhLnVwZGF0ZUNvbnRhY3RDYXJkLmNvbnRhY3RDYXJkO1xuICB9XG5cbiAgYXN5bmMgZGVjcnlwdENvbnRhY3RDYXJkRWRnZXMoZWRnZXMpOiBQcm9taXNlPENvbnRhY3RDYXJkW10+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgICBlZGdlcy5tYXAoYXN5bmMgKGVkZ2U6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBjYyA9IGVkZ2Uubm9kZSBhcyBDb250YWN0Q2FyZDtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuZGVjcnlwdENvbnRhY3RDYXJkKGNjKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIGdldENvbnRhY3RDYXJkcygpOiBQcm9taXNlPENvbnRhY3RDYXJkW10+IHtcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5sckFwb2xsby5xdWVyeTxhbnk+KHtcbiAgICAgIHF1ZXJ5OiBDb250YWN0Q2FyZExpc3RRdWVyeSxcbiAgICB9KTtcblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmRlY3J5cHRDb250YWN0Q2FyZEVkZ2VzKGRhdGEuY29udGFjdENhcmRzLmVkZ2VzKTtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZUNvbnRhY3RDYXJkKGlkOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmxyQXBvbGxvLm11dGF0ZTxhbnk+KHtcbiAgICAgIG11dGF0aW9uOiBEZWxldGVDb250YWN0Q2FyZE11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgaWQsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGRhdGEuZGVsZXRlQ29udGFjdENhcmQuaWQ7XG4gIH1cblxuICBhc3luYyBzaWduT3V0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuaHR0cFxuICAgICAgLnBvc3QoYCR7dGhpcy5jb25maWcuYXV0aFVybH1hdXRoL3NpZ24tb3V0L2AsIG51bGwsIHtcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICByZXNwb25zZVR5cGU6ICd0ZXh0JyxcbiAgICAgIH0pXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -38,4 +38,4 @@ export class PassIdpApiResult {
|
|
|
38
38
|
}
|
|
39
39
|
export class TrustedPartyDetails {
|
|
40
40
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9wcm9maWxlL3Byb2ZpbGUudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxDQUFOLElBQVksYUFHWDtBQUhELFdBQVksYUFBYTtJQUN2Qix1QkFBdUI7SUFDdkIsa0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUhXLGFBQWEsS0FBYixhQUFhLFFBR3hCO0FBRUQsTUFBTSxPQUFPLFFBQVE7Q0FJcEI7QUFFRCxNQUFNLE9BQU8sY0FBYztDQU0xQjtBQUVELE1BQU0sT0FBTyxjQUFjO0NBUTFCO0FBRUQsTUFBTSxPQUFPLGNBQWM7Q0FNMUI7QUFFRCxNQUFNLE9BQU8sZUFBZTtJQU0xQixZQUFZLEtBQVU7UUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO0lBQ2pDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxrQkFBa0I7Q0FTOUI7QUFFRCxNQUFNLE9BQU8sdUJBQXVCO0NBS25DO0FBRUQsTUFBTSxPQUFPLHFCQUFxQjtDQU1qQztBQUVELE1BQU0sT0FBTyxlQUFnQixTQUFRLHFCQUFxQjtDQUd6RDtBQUVELE1BQU0sT0FBTywwQkFBMEI7Q0FFdEM7QUFFRCxNQUFNLENBQU4sSUFBWSxvQkFHWDtBQUhELFdBQVksb0JBQW9CO0lBQzlCLGtEQUEwQixDQUFBO0lBQzFCLDZDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBRy9CO0FBRUQsTUFBTSxPQUFPLGdCQUFnQjtDQVE1QjtBQUVELE1BQU0sT0FBTyxtQkFBbUI7Q0FTL0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBEYXRlVGltZSwgVXNlckRlbGV0ZU5vZGUgfSBmcm9tICcuLi9hcGkvdHlwZXMnO1xuaW1wb3J0IHsgUGFzc0lkcFBhcmFtcywgUGFzc0tleSB9IGZyb20gJy4uL2tleS9rZXkudHlwZXMnO1xuXG5leHBvcnQgZW51bSBGZWF0dXJlQWN0aW9uIHtcbiAgLy8gSnVzdCB0aGUgb25lIGZvciBub3dcbiAgQUNDRVNTID0gJ2FjY2VzcycsXG59XG5cbmV4cG9ydCBjbGFzcyBGZWF0dXJlcyB7XG4gIG15VmF1bHQ6IEZlYXR1cmVBY3Rpb25bXTtcbiAgdHBWYXVsdDogRmVhdHVyZUFjdGlvbltdO1xuICBzaGFyZVZhdWx0OiBGZWF0dXJlQWN0aW9uW107XG59XG5cbmV4cG9ydCBjbGFzcyBDdXJyZW50VXNlcktleSB7XG4gIHBhc3NLZXk6IFBhc3NLZXk7XG4gIG1hc3RlcktleTogeyBpZDogc3RyaW5nIH07XG4gIHJvb3RLZXk/OiB7IGlkOiBzdHJpbmcgfTtcbiAgcHhrPzogeyBpZDogc3RyaW5nIH07XG4gIHNpZ1B4az86IHsgaWQ6IHN0cmluZyB9O1xufVxuXG5leHBvcnQgY2xhc3MgQXBpQ3VycmVudFVzZXIge1xuICBpZDogc3RyaW5nO1xuICB1c2VybmFtZTogc3RyaW5nO1xuICBjdXJyZW50VXNlcktleTogQ3VycmVudFVzZXJLZXk7XG4gIHVzZXJEZWxldGU6IFVzZXJEZWxldGVOb2RlO1xuICBmZWF0dXJlczogRmVhdHVyZXM7XG4gIHNlc3Npb25FbmNyeXB0aW9uS2V5OiBzdHJpbmc7XG4gIGRhdGVKb2luZWQ6IERhdGVUaW1lO1xufVxuXG5leHBvcnQgY2xhc3MgQXBpQ29udGFjdENhcmQge1xuICBpZDogc3RyaW5nO1xuICBjaXBoZXJEYXRhOiBzdHJpbmc7XG4gIGtleToge1xuICAgIGlkOiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyBDb250YWN0Q2FyZE5hbWUge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBmaXJzdE5hbWU/OiBzdHJpbmc7XG4gIGxhc3ROYW1lPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGlucHV0OiBhbnkpIHtcbiAgICB0aGlzLm5hbWUgPSBpbnB1dC5uYW1lO1xuICAgIHRoaXMudGl0bGUgPSBpbnB1dC50aXRsZTtcbiAgICB0aGlzLmZpcnN0TmFtZSA9IGlucHV0LmZpcnN0TmFtZTtcbiAgICB0aGlzLmxhc3ROYW1lID0gaW5wdXQubGFzdE5hbWU7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIENvbnRhY3RDYXJkQWRkcmVzcyB7XG4gIGZ1bGxBZGRyZXNzOiBzdHJpbmc7XG4gIHN0cmVldEFkZHJlc3M6IHN0cmluZztcbiAgc3RyZWV0QWRkcmVzczI/OiBzdHJpbmc7XG4gIHN1YnVyYjogc3RyaW5nO1xuICBzdGF0ZTogc3RyaW5nO1xuICBwb3N0Y29kZTogc3RyaW5nO1xuICBjb3VudHJ5OiBzdHJpbmc7XG4gIGNvdW50cnlDb2RlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgTWFpbkNvbnRhY3RDYXJkUHJvcGVydHk8VD4ge1xuICB2YWx1ZTogVDtcbiAgaGFzTXVsdGlwbGU6IGJvb2xlYW47XG5cbiAgdmFsdWVzPzogeyBpZDogc3RyaW5nOyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogVCB9W107XG59XG5cbmV4cG9ydCBjbGFzcyBNYWluQ29udGFjdENhcmRGaWVsZHMge1xuICBuYW1lOiBNYWluQ29udGFjdENhcmRQcm9wZXJ0eTxDb250YWN0Q2FyZE5hbWU+O1xuICBlbWFpbDogTWFpbkNvbnRhY3RDYXJkUHJvcGVydHk8c3RyaW5nPjtcbiAgaW1hZ2U6IE1haW5Db250YWN0Q2FyZFByb3BlcnR5PHN0cmluZz47XG4gIHBob25lOiBNYWluQ29udGFjdENhcmRQcm9wZXJ0eTxzdHJpbmc+O1xuICBhZGRyZXNzOiBNYWluQ29udGFjdENhcmRQcm9wZXJ0eTxDb250YWN0Q2FyZEFkZHJlc3M+O1xufVxuXG5leHBvcnQgY2xhc3MgTWFpbkNvbnRhY3RDYXJkIGV4dGVuZHMgTWFpbkNvbnRhY3RDYXJkRmllbGRzIHtcbiAgaWQ6IHN0cmluZztcbiAga2V5SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIE1haW5Db250YWN0Q2FyZFBsYWluRmllbGRzIHtcbiAgbmFtZTogQ29udGFjdENhcmROYW1lO1xufVxuXG5leHBvcnQgZW51bSBQYXNzd29yZENoYW5nZVN0YXR1cyB7XG4gIEluUHJvZ3Jlc3MgPSAnSU5fUFJPR1JFU1MnLFxuICBSZWNvdmVyeSA9ICdSRUNPVkVSWScsXG59XG5cbmV4cG9ydCBjbGFzcyBQYXNzSWRwQXBpUmVzdWx0IHtcbiAgcGFzc3dvcmRDaGFuZ2VTdGF0dXM/OiBQYXNzd29yZENoYW5nZVN0YXR1cztcbiAgY3VycmVudFBhc3NJZHBQYXJhbXM6IFBhc3NJZHBQYXJhbXM7XG4gIG5ld1Bhc3NJZHBQYXJhbXM6IFBhc3NJZHBQYXJhbXM7XG4gIHRwUGFzc3dvcmRSZXNldDoge1xuICAgIHBhc3NJZHBQYXJhbXM6IFBhc3NJZHBQYXJhbXM7XG4gICAgcmVzZXRVc2VybmFtZTogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgY2xhc3MgVHJ1c3RlZFBhcnR5RGV0YWlscyB7XG4gIG5hbWU6IENvbnRhY3RDYXJkTmFtZTtcbiAgZW1haWw/OiBzdHJpbmc7XG4gIGltYWdlPzogc3RyaW5nO1xuICBwaG9uZXM/OiB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdO1xuICBhZGRyZXNzZXM/OiB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB2YWx1ZTogQ29udGFjdENhcmRBZGRyZXNzO1xuICB9W107XG59XG4iXX0=
|
|
@@ -170,4 +170,4 @@ RegisterService.ctorParameters = () => [
|
|
|
170
170
|
{ type: EncryptionService },
|
|
171
171
|
{ type: PasswordService }
|
|
172
172
|
];
|
|
173
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9yZWdpc3Rlci9yZWdpc3Rlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBWSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7O0FBSy9ELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQzZCLE1BQWdCLEVBQ25DLElBQWUsRUFDZixJQUFnQixFQUNoQixVQUE2QixFQUM3QixpQkFBb0MsRUFDcEMsZUFBZ0M7UUFMYixXQUFNLEdBQU4sTUFBTSxDQUFVO1FBQ25DLFNBQUksR0FBSixJQUFJLENBQVc7UUFDZixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQzdCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQ3ZDLENBQUM7SUFFSjs7O09BR0c7SUFDVSxXQUFXLENBQUMsS0FBYTs7WUFDcEMsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUk7aUJBQ2pDLElBQUksQ0FBZSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxtQkFBbUIsRUFBRTtn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ZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoQ2xhc3MgfSBmcm9tICdAYXdzLWFtcGxpZnkvYXV0aC9saWItZXNtL0F1dGgnO1xuaW1wb3J0IHsgSlNPTk9iamVjdCB9IGZyb20gJy4uL2FwaS90eXBlcyc7XG5pbXBvcnQgeyBSZWdpc3RlclJlc3VsdCB9IGZyb20gJy4uL2F1dGgvYXV0aC50eXBlcyc7XG5pbXBvcnQgeyBFbmNyeXB0aW9uU2VydmljZSB9IGZyb20gJy4uL2VuY3J5cHRpb24vZW5jcnlwdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEtleUZhY3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi4va2V5L2tleS1mYWN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgS2NDb25maWcsIEtDX0NPTkZJRyB9IGZyb20gJy4uL2xpZmUtcmVhZHkuY29uZmlnJztcbmltcG9ydCB7IFBhc3N3b3JkU2VydmljZSB9IGZyb20gJy4uL3Bhc3N3b3JkL3Bhc3N3b3JkLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUmVnaXN0ZXJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChLQ19DT05GSUcpIHByaXZhdGUgY29uZmlnOiBLY0NvbmZpZyxcbiAgICBwcml2YXRlIGF1dGg6IEF1dGhDbGFzcyxcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBrZXlGYWN0b3J5OiBLZXlGYWN0b3J5U2VydmljZSxcbiAgICBwcml2YXRlIGVuY3J5cHRpb25TZXJ2aWNlOiBFbmNyeXB0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHBhc3N3b3JkU2VydmljZTogUGFzc3dvcmRTZXJ2aWNlXG4gICkge31cblxuICAvKipcbiAgICogUmVxdWVzdCBhIHZlcmlmaWNhdGlvbiBjb2RlIHRvIGJlIHNlbnQgb3V0IHRvIGFuIGVtYWlsLlxuICAgKiBAcmV0dXJuIEluZm8gbmVlZGVkIHRvIGJlIHN1Ym1pdHRlZCBhbG9uZyB3aXRoIHRoZSB2ZXJpZmljYXRpb24gY29kZVxuICAgKi9cbiAgcHVibGljIGFzeW5jIHZlcmlmeUVtYWlsKGVtYWlsOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHsgY2xhaW1faWQgfSA9IGF3YWl0IHRoaXMuaHR0cFxuICAgICAgLnBvc3Q8eyBjbGFpbV9pZCB9PihgJHt0aGlzLmNvbmZpZy5hdXRoVXJsfWNvdmUvY2xhaW0vZW1haWwvYCwge1xuICAgICAgICBhZGRyZXNzOiBlbWFpbCxcbiAgICAgICAgY29udGV4dDogJ3NpZ251cCcsXG4gICAgICB9KVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICAgIHJldHVybiBjbGFpbV9pZDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyB2ZXJpZnlQaG9uZShwaG9uZU51bWJlcjogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCB7IGNsYWltX2lkIH0gPSBhd2FpdCB0aGlzLmh0dHBcbiAgICAgIC5wb3N0PHsgY2xhaW1faWQgfT4oYCR7dGhpcy5jb25maWcuYXV0aFVybH1jb3ZlL2NsYWltL3Ntcy9gLCB7XG4gICAgICAgIGFkZHJlc3M6IHBob25lTnVtYmVyLFxuICAgICAgICBjb250ZXh0OiAnc2lnbnVwJyxcbiAgICAgIH0pXG4gICAgICAudG9Qcm9taXNlKCk7XG4gICAgcmV0dXJuIGNsYWltX2lkO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNvbmZpcm1WZXJpZmljYXRpb25Db2RlKFxuICAgIHZlcmlmaWNhdGlvbklkOiBzdHJpbmcsXG4gICAgdmVyaWZpY2F0aW9uQ29kZTogc3RyaW5nXG4gICk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgeyB0b2tlbiB9ID0gYXdhaXQgdGhpcy5odHRwXG4gICAgICAucG9zdDx7IHRva2VuIH0+KGAke3RoaXMuY29uZmlnLmF1dGhVcmx9Y292ZS9yZXNwb25kL2AsIHtcbiAgICAgICAgY2xhaW1faWQ6IHZlcmlmaWNhdGlvbklkLFxuICAgICAgICB2X2NvZGU6IHZlcmlmaWNhdGlvbkNvZGUsXG4gICAgICB9KVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICAgIHJldHVybiB0b2tlbjtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyByZWdpc3RlcihcbiAgICBlbWFpbDogc3RyaW5nLFxuICAgIHBhc3N3b3JkOiBDcnlwdG9LZXksXG4gICAgdmVyaWZpY2F0aW9uSWQ6IHN0cmluZyxcbiAgICB2ZXJpZmljYXRpb25Ub2tlbjogc3RyaW5nLFxuICAgIHZlcmlmaWNhdGlvblR5cGU6ICdlbWFpbCcgfCAncGhvbmUnID0gJ2VtYWlsJ1xuICApOiBQcm9taXNlPFJlZ2lzdGVyUmVzdWx0PiB7XG4gICAgLy8gR2VuZXJhdGUgdGhlIGtleSBtYXRlcmlhbCBuZWVkZWQgZm9yIFBhc3NJZHAgd2hpY2ggd2lsbCBiZSB0aGUgcGFzc3dvcmQgdXNlZCBmb3IgQ29nbml0by5cbiAgICBjb25zdCBwYXNzS2V5QnVuZGxlID0gYXdhaXQgdGhpcy5wYXNzd29yZFNlcnZpY2UuY3JlYXRlUGFzc0tleUJ1bmRsZShcbiAgICAgIHBhc3N3b3JkXG4gICAgKTtcblxuICAgIGNvbnN0IG1hc3RlcktleSA9IGF3YWl0IHRoaXMua2V5RmFjdG9yeS5jcmVhdGVLZXkoKTtcbiAgICBjb25zdCB3cmFwcGVkTWFzdGVyS2V5ID0gYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5lbmNyeXB0KFxuICAgICAgcGFzc0tleUJ1bmRsZS5wYXNzS2V5LFxuICAgICAgbWFzdGVyS2V5LnRvSlNPTih0cnVlKVxuICAgICk7XG5cbiAgICBjb25zdCByb290S2V5ID0gYXdhaXQgdGhpcy5rZXlGYWN0b3J5LmNyZWF0ZUtleSgpO1xuICAgIGNvbnN0IHdyYXBwZWRSb290S2V5ID0gYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5lbmNyeXB0KFxuICAgICAgbWFzdGVyS2V5LFxuICAgICAgcm9vdEtleS50b0pTT04odHJ1ZSlcbiAgICApO1xuXG4gICAgLy8gRW5jcnlwdGlvbiBQS0Mga2V5XG4gICAgY29uc3QgcHJrID0gYXdhaXQgdGhpcy5rZXlGYWN0b3J5LmNyZWF0ZVBrY0tleSgpO1xuICAgIGNvbnN0IHdyYXBwZWRQcmsgPSBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmVuY3J5cHQoXG4gICAgICByb290S2V5LFxuICAgICAgcHJrLnRvSlNPTih0cnVlKVxuICAgICk7XG5cbiAgICAvLyBTaWduaW5nIFBLQyBrZXlcbiAgICBjb25zdCBzaWdQcmsgPSBhd2FpdCB0aGlzLmtleUZhY3RvcnkuY3JlYXRlUGtjU2lnbktleSgpO1xuICAgIGNvbnN0IHdyYXBwZWRTaWdQcmsgPSBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmVuY3J5cHQoXG4gICAgICByb290S2V5LFxuICAgICAgc2lnUHJrLnRvSlNPTih0cnVlKVxuICAgICk7XG5cbiAgICAvLyBBUEkgY2FsbCB0byBzZXR1cCBwcm9maWxlXG4gICAgY29uc3QgdXNlciA9IGF3YWl0IHRoaXMuaHR0cFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy5jb25maWcuYXV0aFVybH11c2Vycy9gLCB7XG4gICAgICAgIGNsYWltczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6IHZlcmlmaWNhdGlvblR5cGUsXG4gICAgICAgICAgICB0b2tlbjogdmVyaWZpY2F0aW9uVG9rZW4sXG4gICAgICAgICAgICBjbGFpbV9pZDogdmVyaWZpY2F0aW9uSWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgcGFzc19pZHBfcGFyYW1zOiBwYXNzS2V5QnVuZGxlLnBhc3NJZHBQYXJhbXMsXG4gICAgICAgIHBhc3NfaWRwX3ZlcmlmaWVyX3BiazogcGFzc0tleUJ1bmRsZS5wYXNzSWRwVmVyaWZpZXIudG9KU09OKCksXG4gICAgICAgIHdyYXBwZWRfcGFzc19pZHBfdmVyaWZpZXJfcHJrOiBwYXNzS2V5QnVuZGxlLndyYXBwZWRQYXNzSWRwVmVyaWZpZXJQcmssXG4gICAgICAgIHBhc3Nfa2V5X3BhcmFtczogcGFzc0tleUJ1bmRsZS5wYXNzS2V5UGFyYW1zLFxuICAgICAgICB3cmFwcGVkX21hc3Rlcl9rZXk6IHdyYXBwZWRNYXN0ZXJLZXksXG4gICAgICAgIHdyYXBwZWRfcm9vdF9rZXk6IHdyYXBwZWRSb290S2V5LFxuICAgICAgICBwYms6IHByay50b0pTT04oKSwgLy8gcHVibGljIGVuY3J5cHRpb24ga2V5XG4gICAgICAgIHdyYXBwZWRfcHJrOiB3cmFwcGVkUHJrLFxuICAgICAgICBzaWdfcGJrOiBzaWdQcmsudG9KU09OKCksIC8vIHB1YmxpYyBzaWduaW5nIGtleVxuICAgICAgICB3cmFwcGVkX3NpZ19wcms6IHdyYXBwZWRTaWdQcmssXG4gICAgICB9KVxuICAgICAgLnRvUHJvbWlzZSgpO1xuXG4gICAgLy8gQVBJIGNhbGwgdG8gY3JlYXRlIHVzZXIgb24gY29nbml0b1xuICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSB7fTtcbiAgICB1c2VyLmNsYWltcy5mb3JFYWNoKChjbGFpbSkgPT4ge1xuICAgICAgYXR0cmlidXRlc1tjbGFpbS50eXBlXSA9IGNsYWltLnZhbHVlO1xuICAgIH0pO1xuXG4gICAgLy8gUmFuZG9tIHN1ZmZpeCBmb3IgdW5pcXVlbmVzcy4gSWYgdGhlcmUncyBhIGR1cGxpY2F0ZSwgdGhlbiB1c2VkIGp1c3QgbmVlZHMgdG9cbiAgICAvLyBzaWduIHVwIGFnYWluLiBCdXQgY2hhbmNlcyBvZiBjb2xsaXNpb24gaXMgbG93LlxuICAgIGNvbnN0IHN1ZmZpeCA9IHRoaXMua2V5RmFjdG9yeS5yYW5kb21EaWdpdHNOb1plcm9zKDQpO1xuXG4gICAgY29uc3QgY29nbml0b1VzZXIgPSBhd2FpdCB0aGlzLmF1dGguc2lnblVwKHtcbiAgICAgIHVzZXJuYW1lOiBgJHtlbWFpbC5zcGxpdCgnQCcpWzBdfS4ke3N1ZmZpeH1gLFxuICAgICAgcGFzc3dvcmQ6IHRoaXMucGFzc3dvcmRTZXJ2aWNlLmdldFBhc3NJZHBTdHJpbmcocGFzc0tleUJ1bmRsZS5wYXNzSWRwKSxcbiAgICAgIGF0dHJpYnV0ZXMsXG4gICAgICAvLyBVbmZvcnR1bmF0ZWx5LCB2YWxpZGF0aW9uRGF0YSBpcyBub3QgcGFzc2VkIHRvIHRoZSBwb3N0XG4gICAgICAvLyBjb25maXJtYXRpb24gY29nbml0byB0cmlnZ2VyLiBTbyBjYW4gY2FuJ3QgZG8gdGhlIGFzc29jaWF0aW9uIHRoZXJlLlxuICAgICAgLy8gVGhlIGN1cnJlbnQgd29ya2Zsb3cgd2lsbCBjcmVhdGUgYSBuZXcgdXNlciBvbiBMUiBiZWZvcmUgc2lnbmluZyB1cFxuICAgICAgLy8gd2l0aCBDb2duaXRvLiBUaGVuIENvZ25pdG8gY2FuIHVzZSB0aGUgdXNlci5pZCBhbmQgdXNlci5wcmVfc2lnbl91cF90b2tlbiB0b1xuICAgICAgLy8gZG8gdGhlIHZhbGlkYXRpb24gb2YgdGhlIGF0dHJpYnV0ZXMuXG4gICAgICAvLyB2YWxpZGF0aW9uRGF0YTogW1xuICAgICAgLy8gICBuZXcgQ29nbml0b1VzZXJBdHRyaWJ1dGUoe1xuICAgICAgLy8gICAgIE5hbWU6IFwidXNlcl9pZFwiLFxuICAgICAgLy8gICAgIFZhbHVlOiBTdHJpbmcodXNlci5pZClcbiAgICAgIC8vICAgfSksXG4gICAgICAvLyAgIG5ldyBDb2duaXRvVXNlckF0dHJpYnV0ZSh7XG4gICAgICAvLyAgICAgTmFtZTogXCJ1c2VyX3ByZV9zaWduX3VwX3Rva2VuXCIsXG4gICAgICAvLyAgICAgVmFsdWU6IHVzZXIucHJlX3NpZ25fdXBfdG9rZW5cbiAgICAgIC8vICAgfSlcbiAgICAgIC8vIF1cbiAgICAgIGNsaWVudE1ldGFkYXRhOiB7XG4gICAgICAgIHVzZXJfaWQ6IFN0cmluZyh1c2VyLmlkKSxcbiAgICAgICAgdXNlcl9wcmVfc2lnbl91cF90b2tlbjogU3RyaW5nKHVzZXIucHJlX3NpZ25fdXBfdG9rZW4pLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICB1c2VybmFtZTogY29nbml0b1VzZXIudXNlci5nZXRVc2VybmFtZSgpLFxuICAgICAgdXNlcklkOiB1c2VyLmlkLFxuICAgICAgcHJlU2lnblVwVG9rZW46IHVzZXIucHJlX3NpZ25fdXBfdG9rZW4sXG4gICAgICB1c2VyU3ViOiBjb2duaXRvVXNlci51c2VyU3ViLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaGlicEJyZWFjaGVkQWNjb3VudHMoYWNjb3VudDogc3RyaW5nKSB7XG4gICAgLy8gVGhlIGFjY291bnQgaXMganVzdCB0aGUgZW1haWxcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmh0dHBcbiAgICAgICAgLmdldDxKU09OT2JqZWN0PihcbiAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hdXRoVXJsfXVzZXJzL2hpYnAvYnJlYWNoZWRhY2NvdW50LyR7YWNjb3VudH0vP3RydW5jYXRlUmVzcG9uc2U9ZmFsc2VgXG4gICAgICAgIClcbiAgICAgICAgLnRvUHJvbWlzZSgpO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9yZWdpc3Rlci9yZWdpc3Rlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBWSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7O0FBTS9ELE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQzZCLE1BQWdCLEVBQ25DLElBQWUsRUFDZixJQUFnQixFQUNoQixVQUE2QixFQUM3QixpQkFBb0MsRUFDcEMsZUFBZ0M7UUFMYixXQUFNLEdBQU4sTUFBTSxDQUFVO1FBQ25DLFNBQUksR0FBSixJQUFJLENBQVc7UUFDZixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQzdCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBQ3ZDLENBQUM7SUFFSjs7O09BR0c7SUFDVSxXQUFXLENBQUMsS0FBYTs7WUFDcEMsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUk7aUJBQ2pDLElBQUksQ0FBZSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxtQkFBbUIsRUFBRTtn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ZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoQ2xhc3MgfSBmcm9tICdAYXdzLWFtcGxpZnkvYXV0aC9saWItZXNtL0F1dGgnO1xuaW1wb3J0IHsgSlNPTk9iamVjdCB9IGZyb20gJy4uL2FwaS90eXBlcyc7XG5pbXBvcnQgeyBFbmNyeXB0aW9uU2VydmljZSB9IGZyb20gJy4uL2VuY3J5cHRpb24vZW5jcnlwdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEtleUZhY3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi4va2V5L2tleS1mYWN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgS2NDb25maWcsIEtDX0NPTkZJRyB9IGZyb20gJy4uL2xpZmUtcmVhZHkuY29uZmlnJztcbmltcG9ydCB7IFBhc3N3b3JkU2VydmljZSB9IGZyb20gJy4uL3Bhc3N3b3JkL3Bhc3N3b3JkLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVnaXN0ZXJSZXN1bHQgfSBmcm9tICcuL3JlZ2lzdGVyLnR5cGVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFJlZ2lzdGVyU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoS0NfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogS2NDb25maWcsXG4gICAgcHJpdmF0ZSBhdXRoOiBBdXRoQ2xhc3MsXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUga2V5RmFjdG9yeTogS2V5RmFjdG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbmNyeXB0aW9uU2VydmljZTogRW5jcnlwdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwYXNzd29yZFNlcnZpY2U6IFBhc3N3b3JkU2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIFJlcXVlc3QgYSB2ZXJpZmljYXRpb24gY29kZSB0byBiZSBzZW50IG91dCB0byBhbiBlbWFpbC5cbiAgICogQHJldHVybiBJbmZvIG5lZWRlZCB0byBiZSBzdWJtaXR0ZWQgYWxvbmcgd2l0aCB0aGUgdmVyaWZpY2F0aW9uIGNvZGVcbiAgICovXG4gIHB1YmxpYyBhc3luYyB2ZXJpZnlFbWFpbChlbWFpbDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCB7IGNsYWltX2lkIH0gPSBhd2FpdCB0aGlzLmh0dHBcbiAgICAgIC5wb3N0PHsgY2xhaW1faWQgfT4oYCR7dGhpcy5jb25maWcuYXV0aFVybH1jb3ZlL2NsYWltL2VtYWlsL2AsIHtcbiAgICAgICAgYWRkcmVzczogZW1haWwsXG4gICAgICAgIGNvbnRleHQ6ICdzaWdudXAnLFxuICAgICAgfSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgICByZXR1cm4gY2xhaW1faWQ7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgdmVyaWZ5UGhvbmUocGhvbmVOdW1iZXI6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgeyBjbGFpbV9pZCB9ID0gYXdhaXQgdGhpcy5odHRwXG4gICAgICAucG9zdDx7IGNsYWltX2lkIH0+KGAke3RoaXMuY29uZmlnLmF1dGhVcmx9Y292ZS9jbGFpbS9zbXMvYCwge1xuICAgICAgICBhZGRyZXNzOiBwaG9uZU51bWJlcixcbiAgICAgICAgY29udGV4dDogJ3NpZ251cCcsXG4gICAgICB9KVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICAgIHJldHVybiBjbGFpbV9pZDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjb25maXJtVmVyaWZpY2F0aW9uQ29kZShcbiAgICB2ZXJpZmljYXRpb25JZDogc3RyaW5nLFxuICAgIHZlcmlmaWNhdGlvbkNvZGU6IHN0cmluZ1xuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHsgdG9rZW4gfSA9IGF3YWl0IHRoaXMuaHR0cFxuICAgICAgLnBvc3Q8eyB0b2tlbiB9PihgJHt0aGlzLmNvbmZpZy5hdXRoVXJsfWNvdmUvcmVzcG9uZC9gLCB7XG4gICAgICAgIGNsYWltX2lkOiB2ZXJpZmljYXRpb25JZCxcbiAgICAgICAgdl9jb2RlOiB2ZXJpZmljYXRpb25Db2RlLFxuICAgICAgfSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgICByZXR1cm4gdG9rZW47XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcmVnaXN0ZXIoXG4gICAgZW1haWw6IHN0cmluZyxcbiAgICBwYXNzd29yZDogQ3J5cHRvS2V5LFxuICAgIHZlcmlmaWNhdGlvbklkOiBzdHJpbmcsXG4gICAgdmVyaWZpY2F0aW9uVG9rZW46IHN0cmluZyxcbiAgICB2ZXJpZmljYXRpb25UeXBlOiAnZW1haWwnIHwgJ3Bob25lJyA9ICdlbWFpbCdcbiAgKTogUHJvbWlzZTxSZWdpc3RlclJlc3VsdD4ge1xuICAgIC8vIEdlbmVyYXRlIHRoZSBrZXkgbWF0ZXJpYWwgbmVlZGVkIGZvciBQYXNzSWRwIHdoaWNoIHdpbGwgYmUgdGhlIHBhc3N3b3JkIHVzZWQgZm9yIENvZ25pdG8uXG4gICAgY29uc3QgcGFzc0tleUJ1bmRsZSA9IGF3YWl0IHRoaXMucGFzc3dvcmRTZXJ2aWNlLmNyZWF0ZVBhc3NLZXlCdW5kbGUoXG4gICAgICBwYXNzd29yZFxuICAgICk7XG5cbiAgICBjb25zdCBtYXN0ZXJLZXkgPSBhd2FpdCB0aGlzLmtleUZhY3RvcnkuY3JlYXRlS2V5KCk7XG4gICAgY29uc3Qgd3JhcHBlZE1hc3RlcktleSA9IGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2UuZW5jcnlwdChcbiAgICAgIHBhc3NLZXlCdW5kbGUucGFzc0tleSxcbiAgICAgIG1hc3RlcktleS50b0pTT04odHJ1ZSlcbiAgICApO1xuXG4gICAgY29uc3Qgcm9vdEtleSA9IGF3YWl0IHRoaXMua2V5RmFjdG9yeS5jcmVhdGVLZXkoKTtcbiAgICBjb25zdCB3cmFwcGVkUm9vdEtleSA9IGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2UuZW5jcnlwdChcbiAgICAgIG1hc3RlcktleSxcbiAgICAgIHJvb3RLZXkudG9KU09OKHRydWUpXG4gICAgKTtcblxuICAgIC8vIEVuY3J5cHRpb24gUEtDIGtleVxuICAgIGNvbnN0IHByayA9IGF3YWl0IHRoaXMua2V5RmFjdG9yeS5jcmVhdGVQa2NLZXkoKTtcbiAgICBjb25zdCB3cmFwcGVkUHJrID0gYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5lbmNyeXB0KFxuICAgICAgcm9vdEtleSxcbiAgICAgIHByay50b0pTT04odHJ1ZSlcbiAgICApO1xuXG4gICAgLy8gU2lnbmluZyBQS0Mga2V5XG4gICAgY29uc3Qgc2lnUHJrID0gYXdhaXQgdGhpcy5rZXlGYWN0b3J5LmNyZWF0ZVBrY1NpZ25LZXkoKTtcbiAgICBjb25zdCB3cmFwcGVkU2lnUHJrID0gYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5lbmNyeXB0KFxuICAgICAgcm9vdEtleSxcbiAgICAgIHNpZ1Byay50b0pTT04odHJ1ZSlcbiAgICApO1xuXG4gICAgLy8gQVBJIGNhbGwgdG8gc2V0dXAgcHJvZmlsZVxuICAgIGNvbnN0IHVzZXIgPSBhd2FpdCB0aGlzLmh0dHBcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAucG9zdDxhbnk+KGAke3RoaXMuY29uZmlnLmF1dGhVcmx9dXNlcnMvYCwge1xuICAgICAgICBjbGFpbXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiB2ZXJpZmljYXRpb25UeXBlLFxuICAgICAgICAgICAgdG9rZW46IHZlcmlmaWNhdGlvblRva2VuLFxuICAgICAgICAgICAgY2xhaW1faWQ6IHZlcmlmaWNhdGlvbklkLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHBhc3NfaWRwX3BhcmFtczogcGFzc0tleUJ1bmRsZS5wYXNzSWRwUGFyYW1zLFxuICAgICAgICBwYXNzX2lkcF92ZXJpZmllcl9wYms6IHBhc3NLZXlCdW5kbGUucGFzc0lkcFZlcmlmaWVyLnRvSlNPTigpLFxuICAgICAgICB3cmFwcGVkX3Bhc3NfaWRwX3ZlcmlmaWVyX3ByazogcGFzc0tleUJ1bmRsZS53cmFwcGVkUGFzc0lkcFZlcmlmaWVyUHJrLFxuICAgICAgICBwYXNzX2tleV9wYXJhbXM6IHBhc3NLZXlCdW5kbGUucGFzc0tleVBhcmFtcyxcbiAgICAgICAgd3JhcHBlZF9tYXN0ZXJfa2V5OiB3cmFwcGVkTWFzdGVyS2V5LFxuICAgICAgICB3cmFwcGVkX3Jvb3Rfa2V5OiB3cmFwcGVkUm9vdEtleSxcbiAgICAgICAgcGJrOiBwcmsudG9KU09OKCksIC8vIHB1YmxpYyBlbmNyeXB0aW9uIGtleVxuICAgICAgICB3cmFwcGVkX3Byazogd3JhcHBlZFByayxcbiAgICAgICAgc2lnX3Biazogc2lnUHJrLnRvSlNPTigpLCAvLyBwdWJsaWMgc2lnbmluZyBrZXlcbiAgICAgICAgd3JhcHBlZF9zaWdfcHJrOiB3cmFwcGVkU2lnUHJrLFxuICAgICAgfSlcbiAgICAgIC50b1Byb21pc2UoKTtcblxuICAgIC8vIEFQSSBjYWxsIHRvIGNyZWF0ZSB1c2VyIG9uIGNvZ25pdG9cbiAgICBjb25zdCBhdHRyaWJ1dGVzID0ge307XG4gICAgdXNlci5jbGFpbXMuZm9yRWFjaCgoY2xhaW0pID0+IHtcbiAgICAgIGF0dHJpYnV0ZXNbY2xhaW0udHlwZV0gPSBjbGFpbS52YWx1ZTtcbiAgICB9KTtcblxuICAgIC8vIFJhbmRvbSBzdWZmaXggZm9yIHVuaXF1ZW5lc3MuIElmIHRoZXJlJ3MgYSBkdXBsaWNhdGUsIHRoZW4gdXNlZCBqdXN0IG5lZWRzIHRvXG4gICAgLy8gc2lnbiB1cCBhZ2Fpbi4gQnV0IGNoYW5jZXMgb2YgY29sbGlzaW9uIGlzIGxvdy5cbiAgICBjb25zdCBzdWZmaXggPSB0aGlzLmtleUZhY3RvcnkucmFuZG9tRGlnaXRzTm9aZXJvcyg0KTtcblxuICAgIGNvbnN0IGNvZ25pdG9Vc2VyID0gYXdhaXQgdGhpcy5hdXRoLnNpZ25VcCh7XG4gICAgICB1c2VybmFtZTogYCR7ZW1haWwuc3BsaXQoJ0AnKVswXX0uJHtzdWZmaXh9YCxcbiAgICAgIHBhc3N3b3JkOiB0aGlzLnBhc3N3b3JkU2VydmljZS5nZXRQYXNzSWRwU3RyaW5nKHBhc3NLZXlCdW5kbGUucGFzc0lkcCksXG4gICAgICBhdHRyaWJ1dGVzLFxuICAgICAgLy8gVW5mb3J0dW5hdGVseSwgdmFsaWRhdGlvbkRhdGEgaXMgbm90IHBhc3NlZCB0byB0aGUgcG9zdFxuICAgICAgLy8gY29uZmlybWF0aW9uIGNvZ25pdG8gdHJpZ2dlci4gU28gY2FuIGNhbid0IGRvIHRoZSBhc3NvY2lhdGlvbiB0aGVyZS5cbiAgICAgIC8vIFRoZSBjdXJyZW50IHdvcmtmbG93IHdpbGwgY3JlYXRlIGEgbmV3IHVzZXIgb24gTFIgYmVmb3JlIHNpZ25pbmcgdXBcbiAgICAgIC8vIHdpdGggQ29nbml0by4gVGhlbiBDb2duaXRvIGNhbiB1c2UgdGhlIHVzZXIuaWQgYW5kIHVzZXIucHJlX3NpZ25fdXBfdG9rZW4gdG9cbiAgICAgIC8vIGRvIHRoZSB2YWxpZGF0aW9uIG9mIHRoZSBhdHRyaWJ1dGVzLlxuICAgICAgLy8gdmFsaWRhdGlvbkRhdGE6IFtcbiAgICAgIC8vICAgbmV3IENvZ25pdG9Vc2VyQXR0cmlidXRlKHtcbiAgICAgIC8vICAgICBOYW1lOiBcInVzZXJfaWRcIixcbiAgICAgIC8vICAgICBWYWx1ZTogU3RyaW5nKHVzZXIuaWQpXG4gICAgICAvLyAgIH0pLFxuICAgICAgLy8gICBuZXcgQ29nbml0b1VzZXJBdHRyaWJ1dGUoe1xuICAgICAgLy8gICAgIE5hbWU6IFwidXNlcl9wcmVfc2lnbl91cF90b2tlblwiLFxuICAgICAgLy8gICAgIFZhbHVlOiB1c2VyLnByZV9zaWduX3VwX3Rva2VuXG4gICAgICAvLyAgIH0pXG4gICAgICAvLyBdXG4gICAgICBjbGllbnRNZXRhZGF0YToge1xuICAgICAgICB1c2VyX2lkOiBTdHJpbmcodXNlci5pZCksXG4gICAgICAgIHVzZXJfcHJlX3NpZ25fdXBfdG9rZW46IFN0cmluZyh1c2VyLnByZV9zaWduX3VwX3Rva2VuKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdXNlcm5hbWU6IGNvZ25pdG9Vc2VyLnVzZXIuZ2V0VXNlcm5hbWUoKSxcbiAgICAgIHVzZXJJZDogdXNlci5pZCxcbiAgICAgIHByZVNpZ25VcFRva2VuOiB1c2VyLnByZV9zaWduX3VwX3Rva2VuLFxuICAgICAgdXNlclN1YjogY29nbml0b1VzZXIudXNlclN1YixcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGhpYnBCcmVhY2hlZEFjY291bnRzKGFjY291bnQ6IHN0cmluZykge1xuICAgIC8vIFRoZSBhY2NvdW50IGlzIGp1c3QgdGhlIGVtYWlsXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5odHRwXG4gICAgICAgIC5nZXQ8SlNPTk9iamVjdD4oXG4gICAgICAgICAgYCR7dGhpcy5jb25maWcuYXV0aFVybH11c2Vycy9oaWJwL2JyZWFjaGVkYWNjb3VudC8ke2FjY291bnR9Lz90cnVuY2F0ZVJlc3BvbnNlPWZhbHNlYFxuICAgICAgICApXG4gICAgICAgIC50b1Byb21pc2UoKTtcbiAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDA0KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export class RegisterResult {
|
|
2
|
+
}
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXIudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvcmVnaXN0ZXIvcmVnaXN0ZXIudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGNBQWM7Q0FLMUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgUmVnaXN0ZXJSZXN1bHQge1xuICB1c2VybmFtZTogc3RyaW5nO1xuICB1c2VySWQ6IHN0cmluZztcbiAgcHJlU2lnblVwVG9rZW46IHN0cmluZztcbiAgdXNlclN1Yjogc3RyaW5nO1xufVxuIl19
|
|
@@ -6,4 +6,4 @@ query ServerConfigQuery {
|
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
8
|
`;
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLWNvbmZpZy5ncWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvc2VydmVyLWNvbmZpZy9zZXJ2ZXItY29uZmlnLmdxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLMUMsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsUUFBUSxDQUF5Qjs7Ozs7O0NBTWpFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZXJ2ZXJDb25maWcgfSBmcm9tICcuLi9hcGkvdHlwZXMnO1xuaW1wb3J0IHsgZ3FsVHlwZWQgfSBmcm9tICcuLi9fY29tbW9uL2FzdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmVyQ29uZmlnUXVlcnlSZXN1bHQge1xuICBzZXJ2ZXJDb25maWc6IFBpY2s8UmVxdWlyZWQ8U2VydmVyQ29uZmlnPiwgJ3JlbGF5Q29ubmVjdGlvbk1heExpbWl0Jz47XG59XG5leHBvcnQgY29uc3QgU2VydmVyQ29uZmlnUXVlcnkgPSBncWxUeXBlZDxTZXJ2ZXJDb25maWdRdWVyeVJlc3VsdD5gXG5xdWVyeSBTZXJ2ZXJDb25maWdRdWVyeSB7XG4gIHNlcnZlckNvbmZpZyB7XG4gICAgcmVsYXlDb25uZWN0aW9uTWF4TGltaXRcbiAgfVxufVxuYDtcbiJdfQ==
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
3
|
import gql from 'graphql-tag';
|
|
4
|
+
import { LrApolloService } from '../api/lr-apollo.service';
|
|
4
5
|
import { EncryptionService } from '../encryption/encryption.service';
|
|
5
6
|
import { KeyGraphService } from '../key/key-graph.service';
|
|
6
7
|
import { KeyService } from '../key/key.service';
|
|
7
8
|
import { ContactCardName } from '../profile/profile.types';
|
|
8
|
-
import { LrApolloService } from '../api/lr-apollo.service';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "../key/key.service";
|
|
11
11
|
import * as i2 from "../api/lr-apollo.service";
|
|
@@ -80,7 +80,7 @@ export class SharedContactCardService {
|
|
|
80
80
|
return __awaiter(this, void 0, void 0, function* () {
|
|
81
81
|
const ownerKey = yield this.keyGraph.getKey(ownedKeyId);
|
|
82
82
|
const sharedKey = yield this.keyGraph.getKey(sharedKeyId);
|
|
83
|
-
const sigPxk =
|
|
83
|
+
const sigPxk = this.keyService.currentSigPxk;
|
|
84
84
|
const sharedCipherData = yield this.encryptionService.encrypt(sharedKey.jwk, contactCard);
|
|
85
85
|
const sharedCipherDataSig = JSON.stringify(yield this.encryptionService.sign(sigPxk.jwk, sharedCipherData));
|
|
86
86
|
const ownerPlainData = {
|
|
@@ -116,4 +116,4 @@ SharedContactCardService.ctorParameters = () => [
|
|
|
116
116
|
{ type: KeyGraphService },
|
|
117
117
|
{ type: EncryptionService }
|
|
118
118
|
];
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWNvbnRhY3QtY2FyZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3NoYXJlZC1jb250YWN0LWNhcmQvc2hhcmVkLWNvbnRhY3QtY2FyZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sR0FBRyxNQUFNLGFBQWEsQ0FBQztBQUM5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsZUFBZSxFQUF1QixNQUFNLDBCQUEwQixDQUFDOzs7Ozs7QUFJaEYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBMEJ0QyxDQUFDO0FBRUYsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7O1FBUTFCLHVCQUF1Qjs7O0VBRzdCLENBQUM7QUEyQkgsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxZQUNVLFVBQXNCLEVBQ3RCLFFBQXlCLEVBQ3pCLFFBQXlCLEVBQ3pCLGlCQUFvQztRQUhwQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQ3pCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFDM0MsQ0FBQztJQUVFLGdDQUFnQyxDQUNwQyxFQUFxQjs7WUFFckIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsMEJBQTBCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFMUQsdUJBQ0UsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQ1QsVUFBVSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUMxQixXQUFXLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQ3pCLE9BQU8sRUFDVjtRQUNKLENBQUM7S0FBQTtJQUVLLDBCQUEwQixDQUM5QixFQUFxQjs7WUFFckIsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQzdDLElBQUk7b0JBQ0YsT0FBTyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQ3pDLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFDOUMsRUFBRSxDQUFDLGdCQUFnQixDQUNwQixDQUFDO2lCQUNIO2dCQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsc0NBQXNDLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQzFEO2FBQ0Y7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7S0FBQTtJQUVLLHlCQUF5QixDQUM3QixFQUFVLEVBQ1YsVUFBa0IsRUFDbEIsV0FBbUIsRUFDbkIsV0FBZ0M7O1lBRWhDLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDeEQsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMxRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztZQUU3QyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FDM0QsU0FBUyxDQUFDLEdBQUcsRUFDYixXQUFXLENBQ1osQ0FBQztZQUNGLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FDeEMsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsZ0JBQWdCLENBQUMsQ0FDaEUsQ0FBQztZQUVGLE1BQU0sY0FBYyxHQUFHO2dCQUNyQixJQUFJLEVBQUUsSUFBSSxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQzthQUM1QyxDQUFDO1lBQ0YsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUN0QyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsQ0FDOUQsQ0FBQztZQUVGLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQXlCO2dCQUNqRCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyxTQUFTLEVBQUU7b0JBQ1QsS0FBSyxFQUFFO3dCQUNMLEVBQUU7d0JBQ0YsZUFBZSxFQUFFLEVBQUU7d0JBQ25CLFVBQVUsRUFBRSxRQUFRLENBQUMsRUFBRTt3QkFDdkIsbUJBQW1CO3dCQUNuQixXQUFXLEVBQUUsU0FBUyxDQUFDLEVBQUU7d0JBQ3pCLFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBRTt3QkFDbkIsaUJBQWlCO3FCQUNsQjtpQkFDRjthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTs7OztZQS9FRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQXZFUSxVQUFVO1lBSlYsZUFBZTtZQUdmLGVBQWU7WUFEZixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgZ3FsIGZyb20gJ2dyYXBocWwtdGFnJztcbmltcG9ydCB7IExyQXBvbGxvU2VydmljZSB9IGZyb20gJy4uL2FwaS9sci1hcG9sbG8uc2VydmljZSc7XG5pbXBvcnQgeyBKU09OT2JqZWN0IH0gZnJvbSAnLi4vYXBpL3R5cGVzJztcbmltcG9ydCB7IEVuY3J5cHRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vZW5jcnlwdGlvbi9lbmNyeXB0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgS2V5R3JhcGhTZXJ2aWNlIH0gZnJvbSAnLi4va2V5L2tleS1ncmFwaC5zZXJ2aWNlJztcbmltcG9ydCB7IEtleVNlcnZpY2UgfSBmcm9tICcuLi9rZXkva2V5LnNlcnZpY2UnO1xuaW1wb3J0IHsgS2V5IH0gZnJvbSAnLi4va2V5L2tleS50eXBlcyc7XG5pbXBvcnQgeyBDb250YWN0Q2FyZE5hbWUsIFRydXN0ZWRQYXJ0eURldGFpbHMgfSBmcm9tICcuLi9wcm9maWxlL3Byb2ZpbGUudHlwZXMnO1xuaW1wb3J0IHsgU2hhcmVkVHJ1c3RlZFBhcnR5RGV0YWlscyB9IGZyb20gJy4uL3RydXN0ZWQtcGFydHkvdHJ1c3RlZC1wYXJ0eS50eXBlcyc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vdXNlci91c2VyLnR5cGVzJztcblxuZXhwb3J0IGNvbnN0IFNoYXJlZENvbnRhY3RDYXJkRmllbGRzID0gYFxuICBpZFxuICBvd25lciB7XG4gICAgaWRcbiAgICB1c2VybmFtZVxuICB9XG4gIG93bmVyS2V5IHtcbiAgICBpZFxuICB9XG4gIG93bmVyQ2lwaGVyRGF0YVxuICByZWNlaXZlciB7XG4gICAgaWRcbiAgICB1c2VybmFtZVxuICB9XG4gIHJlY2VpdmVyS2V5IHtcbiAgICBpZFxuICB9XG4gIHJlY2VpdmVyQ2lwaGVyRGF0YVxuICBzaGFyZWRLZXkge1xuICAgIGlkXG4gIH1cbiAgc2hhcmVkQ2lwaGVyRGF0YVxuICBzaGFyZWRDaXBoZXJEYXRhU2lnXG4gIHNoYXJlZENpcGhlckRhdGFTaWdQeGsge1xuICAgIGlkXG4gIH1cbmA7XG5cbmNvbnN0IFVwZGF0ZU93bmVkQ29udGFjdENhcmQgPSBncWxgXG5tdXRhdGlvbiBVcGRhdGVPd25lZENvbnRhY3RDYXJkKFxuICAkaW5wdXQ6IFVwZGF0ZU93bmVkQ29udGFjdENhcmRJbnB1dCFcbikge1xuICB1cGRhdGVPd25lZENvbnRhY3RDYXJkKFxuICAgIGlucHV0OiAkaW5wdXRcbiAgKSB7XG4gICAgb3duZWRDb250YWN0Q2FyZCB7XG4gICAgICAke1NoYXJlZENvbnRhY3RDYXJkRmllbGRzfVxuICAgIH1cbiAgfVxufWA7XG5cbmludGVyZmFjZSBVcGRhdGVPd25lZENvbnRhY3RDYXJkIHtcbiAgdXBkYXRlT3duZWRDb250YWN0Q2FyZDoge1xuICAgIG93bmVkQ29udGFjdENhcmQ6IFNoYXJlZENvbnRhY3RDYXJkO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNoYXJlZENvbnRhY3RDYXJkIHtcbiAgaWQ6IHN0cmluZztcbiAgb3duZXI6IFVzZXI7XG4gIG93bmVyS2V5OiBLZXk7XG4gIG93bmVyQ2lwaGVyRGF0YTogc3RyaW5nO1xuICByZWNlaXZlcjogVXNlcjtcbiAgcmVjZWl2ZXJLZXk6IEtleTtcbiAgcmVjZWl2ZXJDaXBoZXJEYXRhOiBzdHJpbmc7XG4gIHNoYXJlZEtleTogS2V5O1xuICBzaGFyZWRDaXBoZXJEYXRhOiBzdHJpbmc7XG4gIC8vIERlY3J5cHRlZFxuICBwbGFpbk93bmVyQ2lwaGVyRGF0YUpzb246IEpTT05PYmplY3Q7XG4gIHBsYWluUmVjZWl2ZXJDaXBoZXJEYXRhSnNvbjogSlNPTk9iamVjdDtcbiAgcGxhaW5TaGFyZWRDaXBoZXJEYXRhSnNvbjogSlNPTk9iamVjdDtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlZENvbnRhY3RDYXJkU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUga2V5U2VydmljZTogS2V5U2VydmljZSxcbiAgICBwcml2YXRlIGxyQXBvbGxvOiBMckFwb2xsb1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBrZXlHcmFwaDogS2V5R3JhcGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgZW5jcnlwdGlvblNlcnZpY2U6IEVuY3J5cHRpb25TZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBkZWNyeXB0U2hhcmVkVHJ1c3RlZFBhcnR5RGV0YWlscyhcbiAgICBjYzogU2hhcmVkQ29udGFjdENhcmRcbiAgKTogUHJvbWlzZTxTaGFyZWRUcnVzdGVkUGFydHlEZXRhaWxzPiB7XG4gICAgY29uc3QgZGV0YWlscyA9IGF3YWl0IHRoaXMuZGVjcnlwdFRydXN0ZWRQYXJ0eURldGFpbHMoY2MpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiBjYy5pZCxcbiAgICAgIG93bmVkS2V5SWQ6IGNjLm93bmVyS2V5LmlkLFxuICAgICAgc2hhcmVkS2V5SWQ6IGNjLnNoYXJlZEtleS5pZCxcbiAgICAgIC4uLmRldGFpbHMsXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGRlY3J5cHRUcnVzdGVkUGFydHlEZXRhaWxzKFxuICAgIGNjOiBTaGFyZWRDb250YWN0Q2FyZFxuICApOiBQcm9taXNlPFRydXN0ZWRQYXJ0eURldGFpbHM+IHtcbiAgICBpZiAoY2MgJiYgY2Muc2hhcmVkS2V5ICYmIGNjLnNoYXJlZENpcGhlckRhdGEpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmRlY3J5cHQoXG4gICAgICAgICAgYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRKd2tLZXkoY2Muc2hhcmVkS2V5LmlkKSxcbiAgICAgICAgICBjYy5zaGFyZWRDaXBoZXJEYXRhXG4gICAgICAgICk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Nhbm5vdCBkZWNyeXB0IHRydXN0ZWQgcGFydHkgZGV0YWlscycsIGUpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZU15U2hhcmVkQ29udGFjdENhcmQoXG4gICAgaWQ6IHN0cmluZyxcbiAgICBvd25lZEtleUlkOiBzdHJpbmcsXG4gICAgc2hhcmVkS2V5SWQ6IHN0cmluZyxcbiAgICBjb250YWN0Q2FyZDogVHJ1c3RlZFBhcnR5RGV0YWlsc1xuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBvd25lcktleSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZ2V0S2V5KG93bmVkS2V5SWQpO1xuICAgIGNvbnN0IHNoYXJlZEtleSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZ2V0S2V5KHNoYXJlZEtleUlkKTtcbiAgICBjb25zdCBzaWdQeGsgPSB0aGlzLmtleVNlcnZpY2UuY3VycmVudFNpZ1B4aztcblxuICAgIGNvbnN0IHNoYXJlZENpcGhlckRhdGEgPSBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmVuY3J5cHQoXG4gICAgICBzaGFyZWRLZXkuandrLFxuICAgICAgY29udGFjdENhcmRcbiAgICApO1xuICAgIGNvbnN0IHNoYXJlZENpcGhlckRhdGFTaWcgPSBKU09OLnN0cmluZ2lmeShcbiAgICAgIGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2Uuc2lnbihzaWdQeGsuandrLCBzaGFyZWRDaXBoZXJEYXRhKVxuICAgICk7XG5cbiAgICBjb25zdCBvd25lclBsYWluRGF0YSA9IHtcbiAgICAgIG5hbWU6IG5ldyBDb250YWN0Q2FyZE5hbWUoY29udGFjdENhcmQubmFtZSksXG4gICAgfTtcbiAgICBjb25zdCBvd25lclBsYWluRGF0YVNpZyA9IEpTT04uc3RyaW5naWZ5KFxuICAgICAgYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5zaWduKHNpZ1B4ay5qd2ssIG93bmVyUGxhaW5EYXRhKVxuICAgICk7XG5cbiAgICBhd2FpdCB0aGlzLmxyQXBvbGxvLm11dGF0ZTxVcGRhdGVPd25lZENvbnRhY3RDYXJkPih7XG4gICAgICBtdXRhdGlvbjogVXBkYXRlT3duZWRDb250YWN0Q2FyZCxcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIG93bmVyQ2lwaGVyRGF0YTogJycsXG4gICAgICAgICAgb3duZXJLZXlJZDogb3duZXJLZXkuaWQsXG4gICAgICAgICAgc2hhcmVkQ2lwaGVyRGF0YVNpZyxcbiAgICAgICAgICBzaGFyZWRLZXlJZDogc2hhcmVkS2V5LmlkLFxuICAgICAgICAgIHNpZ1B4a0lkOiBzaWdQeGsuaWQsXG4gICAgICAgICAgb3duZXJQbGFpbkRhdGFTaWcsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -57,7 +57,7 @@ let SharedContactCard2Service = class SharedContactCard2Service {
|
|
|
57
57
|
ownerKey = yield this.keyGraph.getKey(keys.ownerKeyId);
|
|
58
58
|
sharedKey = yield this.keyGraph.getKey(keys.sharedKeyId);
|
|
59
59
|
}
|
|
60
|
-
const sigPxk =
|
|
60
|
+
const sigPxk = this.keyService.currentSigPxk;
|
|
61
61
|
const sharedCipherData = yield this.encryptionService.encrypt(sharedKey.jwk, sharedCipherDataClearJson);
|
|
62
62
|
const sharedCipherDataSig = JSON.stringify(yield this.encryptionService.sign(sigPxk.jwk, sharedCipherData));
|
|
63
63
|
const ownerPlainDataSig = JSON.stringify(yield this.encryptionService.sign(sigPxk.jwk, ownerPlainDataJson));
|
|
@@ -114,4 +114,4 @@ SharedContactCard2Service = __decorate([
|
|
|
114
114
|
})
|
|
115
115
|
], SharedContactCard2Service);
|
|
116
116
|
export { SharedContactCard2Service };
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWNvbnRhY3QtY2FyZDIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9zaGFyZWQtY29udGFjdC1jYXJkL3NoYXJlZC1jb250YWN0LWNhcmQyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUtyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWhELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFDTCw4QkFBOEIsRUFDOUIsZ0NBQWdDLEVBQ2hDLDhCQUE4QixFQUM5QixpQ0FBaUMsR0FDbEMsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7O0lBb0J2Qix5QkFBeUIsU0FBekIseUJBQXlCO0lBQ3BDLFlBQ1UsTUFBYyxFQUNkLFVBQXNCLEVBQ3RCLFFBQXlCLEVBQ3pCLGlCQUFvQyxFQUNwQyxTQUEyQjtRQUozQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBQ2xDLENBQUM7SUFFVSx5QkFBeUIsQ0FBQyxFQUFrQjs7WUFDeEQsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEVBQUUsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7Z0JBQzFELEtBQUssRUFBRSw4QkFBOEI7Z0JBQ3JDLFNBQVMsRUFBRTtvQkFDVCxFQUFFO2lCQUNIO2FBQ0YsQ0FBQyxDQUFDO1lBRUgsT0FBTztnQkFDTCxXQUFXLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUM1QixVQUFVLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFO2FBQzNCLENBQUM7UUFDSixDQUFDO0tBQUE7SUFFYSwyQkFBMkIsQ0FBQyxFQUFrQjs7WUFDMUQsT0FBTyxDQUNMLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7Z0JBQ3pCLEtBQUssRUFBRSxnQ0FBZ0M7Z0JBQ3ZDLFNBQVMsRUFBRTtvQkFDVCxFQUFFO2lCQUNIO2FBQ0YsQ0FBQyxDQUNILENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztRQUN2QyxDQUFDO0tBQUE7SUFFSyxzQkFBc0IsQ0FBQyxFQUMzQixFQUFFLEVBQ0YsVUFBVSxFQUNWLFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsd0JBQXdCLEVBQ3hCLHlCQUF5QixHQUNHOztZQUM1QixJQUFJLFFBQWEsQ0FBQztZQUNsQixJQUFJLFNBQWMsQ0FBQztZQUVuQixJQUFJO2dCQUNGLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNsRCxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNyRDtZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNkLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUV0RCxZQUFZO2dCQUNaLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDdkQsU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQzFEO1lBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFFeEQsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQzNELFNBQVMsQ0FBQyxHQUFHLEVBQ2IseUJBQXlCLENBQzFCLENBQUM7WUFDRixNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQ3hDLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDLENBQ2hFLENBQUM7WUFFRixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQ3RDLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDLENBQ2xFLENBQUM7WUFFRixNQUFNLGVBQWUsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQ2xFLFFBQVEsQ0FBQyxHQUFHLEVBQ1osd0JBQXdCLENBQ3pCLENBQUM7WUFFRixPQUFPLElBQUksVUFBVSxDQUFDO2dCQUNwQixRQUFRLEVBQUUsOEJBQThCO2dCQUN4QyxTQUFTLEVBQUU7b0JBQ1QsS0FBSyxFQUFFO3dCQUNMLEVBQUU7d0JBQ0YsZUFBZTt3QkFDZixVQUFVLEVBQUUsUUFBUSxDQUFDLEVBQUU7d0JBQ3ZCLG1CQUFtQjt3QkFDbkIsV0FBVyxFQUFFLFNBQVMsQ0FBQyxFQUFFO3dCQUN6QixRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQUU7d0JBQ25CLGlCQUFpQjtxQkFDbEI7aUJBQ0Y7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO0tBQUE7SUFFSyx5QkFBeUIsQ0FBQyxFQUM5QixFQUFFLEVBQ0YsYUFBYSxFQUNiLDJCQUEyQixHQUNJOztZQUMvQixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FDakUsSUFBSSxDQUFDLDJCQUEyQixDQUFDLEVBQUUsQ0FBQyxDQUNyQyxDQUFDO1lBRUYsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQ3JFLFdBQVcsQ0FBQyxHQUFHLEVBQ2YsMkJBQTJCLENBQzVCLENBQUM7WUFFRixPQUFPLElBQUksVUFBVSxDQUFDO2dCQUNwQixRQUFRLEVBQUUsaUNBQWlDO2dCQUMzQyxTQUFTLEVBQUU7b0JBQ1QsS0FBSyxFQUFFO3dCQUNMLEVBQUU7d0JBQ0Ysa0JBQWtCO3dCQUNsQixhQUFhLEVBQUUsV0FBVyxDQUFDLEVBQUU7cUJBQzlCO2lCQUNGO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0NBQ0YsQ0FBQTs7O1lBdkhBLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBcENvQixNQUFNO1lBU2xCLFVBQVU7WUFEVixlQUFlO1lBTGYsaUJBQWlCO1lBRmpCLGdCQUFnQjs7QUFvQ1oseUJBQXlCO0lBTnJDLGlCQUFpQixDQUFDO1FBQ2pCLFVBQVUsRUFBRSxRQUFRO0tBQ3JCLENBQUM7R0FJVyx5QkFBeUIsQ0FvSHJDO1NBcEhZLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTHJHcmFwaFFMU2VydmljZSwgTHJNdXRhdGlvbiB9IGZyb20gJy4uL2FwaS9sci1ncmFwaHFsJztcbmltcG9ydCB7IExyUmVsYXlJZElucHV0IH0gZnJvbSAnLi4vYXBpL3R5cGVzJztcbmltcG9ydCB7IEVuY3J5cHRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vZW5jcnlwdGlvbi9lbmNyeXB0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQ29udGFjdENhcmRSZWNlaXZlckNpcGhlckRhdGEsXG4gIFNlbmRDb250YWN0Q2FyZElucHV0LFxufSBmcm9tICcuLi9rZXktZXhjaGFuZ2Uva2V5LWV4Y2hhbmdlMi5zZXJ2aWNlJztcbmltcG9ydCB7IEtleUdyYXBoU2VydmljZSB9IGZyb20gJy4uL2tleS9rZXktZ3JhcGguc2VydmljZSc7XG5pbXBvcnQgeyBLZXlTZXJ2aWNlIH0gZnJvbSAnLi4va2V5L2tleS5zZXJ2aWNlJztcbmltcG9ydCB7IEtleSB9IGZyb20gJy4uL2tleS9rZXkudHlwZXMnO1xuaW1wb3J0IHsgUnVuT3V0c2lkZUFuZ3VsYXIgfSBmcm9tICcuLi9fY29tbW9uL3J1bi1vdXRzaWRlLWFuZ3VsYXInO1xuaW1wb3J0IHtcbiAgR2V0T3duZWRDb250YWN0Q2FyZEtleUlkc1F1ZXJ5LFxuICBHZXRSZWNlaXZlZENvbnRhY3RDYXJkS2V5SWRRdWVyeSxcbiAgVXBkYXRlT3duZWRDb250YWN0Q2FyZE11dGF0aW9uLFxuICBVcGRhdGVSZWNlaXZlZENvbnRhY3RDYXJkTXV0YXRpb24sXG59IGZyb20gJy4vc2hhcmVkLWNvbnRhY3QtY2FyZDIuZ3FsJztcblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVPd25lZENvbnRhY3RDYXJkSW5wdXQgZXh0ZW5kcyBTZW5kQ29udGFjdENhcmRJbnB1dCB7XG4gIGlkOiBMclJlbGF5SWRJbnB1dDtcbiAgb3duZXJLZXlJZD86IExyUmVsYXlJZElucHV0O1xuICBzaGFyZWRLZXlJZD86IExyUmVsYXlJZElucHV0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVJlY2VpdmVkQ29udGFjdENhcmRJbnB1dFxuICBleHRlbmRzIENvbnRhY3RDYXJkUmVjZWl2ZXJDaXBoZXJEYXRhIHtcbiAgaWQ6IExyUmVsYXlJZElucHV0O1xuICByZWNlaXZlcktleUlkPzogTHJSZWxheUlkSW5wdXQ7XG59XG5cbkBSdW5PdXRzaWRlQW5ndWxhcih7XG4gIG5nWm9uZU5hbWU6ICduZ1pvbmUnLFxufSlcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTaGFyZWRDb250YWN0Q2FyZDJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGtleVNlcnZpY2U6IEtleVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBrZXlHcmFwaDogS2V5R3JhcGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgZW5jcnlwdGlvblNlcnZpY2U6IEVuY3J5cHRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgbHJHcmFwaFFMOiBMckdyYXBoUUxTZXJ2aWNlXG4gICkge31cblxuICBwcml2YXRlIGFzeW5jIGdldE93bmVkQ29udGFjdENhcmRLZXlJZHMoaWQ6IExyUmVsYXlJZElucHV0KSB7XG4gICAgY29uc3QgeyBvd25lZENvbnRhY3RDYXJkOiBjYyB9ID0gYXdhaXQgdGhpcy5sckdyYXBoUUwucXVlcnkoe1xuICAgICAgcXVlcnk6IEdldE93bmVkQ29udGFjdENhcmRLZXlJZHNRdWVyeSxcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpZCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgc2hhcmVkS2V5SWQ6IGNjLnNoYXJlZEtleS5pZCxcbiAgICAgIG93bmVyS2V5SWQ6IGNjLm93bmVyS2V5LmlkLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFJlY2VpdmVkQ29udGFjdENhcmRLZXlJZChpZDogTHJSZWxheUlkSW5wdXQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgYXdhaXQgdGhpcy5sckdyYXBoUUwucXVlcnkoe1xuICAgICAgICBxdWVyeTogR2V0UmVjZWl2ZWRDb250YWN0Q2FyZEtleUlkUXVlcnksXG4gICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgIGlkLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApLnJlY2VpdmVkQ29udGFjdENhcmQucmVjZWl2ZXJLZXkuaWQ7XG4gIH1cblxuICBhc3luYyB1cGRhdGVPd25lZENvbnRhY3RDYXJkKHtcbiAgICBpZCxcbiAgICBvd25lcktleUlkLFxuICAgIHNoYXJlZEtleUlkLFxuICAgIG93bmVyUGxhaW5EYXRhSnNvbixcbiAgICBvd25lckNpcGhlckRhdGFDbGVhckpzb24sXG4gICAgc2hhcmVkQ2lwaGVyRGF0YUNsZWFySnNvbixcbiAgfTogVXBkYXRlT3duZWRDb250YWN0Q2FyZElucHV0KSB7XG4gICAgbGV0IG93bmVyS2V5OiBLZXk7XG4gICAgbGV0IHNoYXJlZEtleTogS2V5O1xuXG4gICAgdHJ5IHtcbiAgICAgIG93bmVyS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRLZXkob3duZXJLZXlJZCk7XG4gICAgICBzaGFyZWRLZXkgPSBhd2FpdCB0aGlzLmtleUdyYXBoLmdldEtleShzaGFyZWRLZXlJZCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IGtleXMgPSBhd2FpdCB0aGlzLmdldE93bmVkQ29udGFjdENhcmRLZXlJZHMoaWQpO1xuXG4gICAgICAvLyB0cnkgYWdhaW5cbiAgICAgIG93bmVyS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRLZXkoa2V5cy5vd25lcktleUlkKTtcbiAgICAgIHNoYXJlZEtleSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZ2V0S2V5KGtleXMuc2hhcmVkS2V5SWQpO1xuICAgIH1cblxuICAgIGNvbnN0IHNpZ1B4ayA9IGF3YWl0IHRoaXMua2V5U2VydmljZS5nZXRDdXJyZW50U2lnUHhrKCk7XG5cbiAgICBjb25zdCBzaGFyZWRDaXBoZXJEYXRhID0gYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5lbmNyeXB0KFxuICAgICAgc2hhcmVkS2V5Lmp3ayxcbiAgICAgIHNoYXJlZENpcGhlckRhdGFDbGVhckpzb25cbiAgICApO1xuICAgIGNvbnN0IHNoYXJlZENpcGhlckRhdGFTaWcgPSBKU09OLnN0cmluZ2lmeShcbiAgICAgIGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2Uuc2lnbihzaWdQeGsuandrLCBzaGFyZWRDaXBoZXJEYXRhKVxuICAgICk7XG5cbiAgICBjb25zdCBvd25lclBsYWluRGF0YVNpZyA9IEpTT04uc3RyaW5naWZ5KFxuICAgICAgYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5zaWduKHNpZ1B4ay5qd2ssIG93bmVyUGxhaW5EYXRhSnNvbilcbiAgICApO1xuXG4gICAgY29uc3Qgb3duZXJDaXBoZXJEYXRhID0gYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5lbmNyeXB0VG9TdHJpbmcoXG4gICAgICBvd25lcktleS5qd2ssXG4gICAgICBvd25lckNpcGhlckRhdGFDbGVhckpzb25cbiAgICApO1xuXG4gICAgcmV0dXJuIG5ldyBMck11dGF0aW9uKHtcbiAgICAgIG11dGF0aW9uOiBVcGRhdGVPd25lZENvbnRhY3RDYXJkTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICBvd25lckNpcGhlckRhdGEsXG4gICAgICAgICAgb3duZXJLZXlJZDogb3duZXJLZXkuaWQsXG4gICAgICAgICAgc2hhcmVkQ2lwaGVyRGF0YVNpZyxcbiAgICAgICAgICBzaGFyZWRLZXlJZDogc2hhcmVkS2V5LmlkLFxuICAgICAgICAgIHNpZ1B4a0lkOiBzaWdQeGsuaWQsXG4gICAgICAgICAgb3duZXJQbGFpbkRhdGFTaWcsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlUmVjZWl2ZWRDb250YWN0Q2FyZCh7XG4gICAgaWQsXG4gICAgcmVjZWl2ZXJLZXlJZCxcbiAgICByZWNlaXZlckNpcGhlckRhdGFDbGVhckpzb24sXG4gIH06IFVwZGF0ZVJlY2VpdmVkQ29udGFjdENhcmRJbnB1dCkge1xuICAgIGNvbnN0IHJlY2VpdmVyS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRLZXkocmVjZWl2ZXJLZXlJZCwgKCkgPT5cbiAgICAgIHRoaXMuZ2V0UmVjZWl2ZWRDb250YWN0Q2FyZEtleUlkKGlkKVxuICAgICk7XG5cbiAgICBjb25zdCByZWNlaXZlckNpcGhlckRhdGEgPSBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmVuY3J5cHRUb1N0cmluZyhcbiAgICAgIHJlY2VpdmVyS2V5Lmp3ayxcbiAgICAgIHJlY2VpdmVyQ2lwaGVyRGF0YUNsZWFySnNvblxuICAgICk7XG5cbiAgICByZXR1cm4gbmV3IExyTXV0YXRpb24oe1xuICAgICAgbXV0YXRpb246IFVwZGF0ZVJlY2VpdmVkQ29udGFjdENhcmRNdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIHJlY2VpdmVyQ2lwaGVyRGF0YSxcbiAgICAgICAgICByZWNlaXZlcktleUlkOiByZWNlaXZlcktleS5pZCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWNvbnRhY3QtY2FyZDIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9zaGFyZWQtY29udGFjdC1jYXJkL3NoYXJlZC1jb250YWN0LWNhcmQyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUtyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWhELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFDTCw4QkFBOEIsRUFDOUIsZ0NBQWdDLEVBQ2hDLDhCQUE4QixFQUM5QixpQ0FBaUMsR0FDbEMsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7O0lBb0J2Qix5QkFBeUIsU0FBekIseUJBQXlCO0lBQ3BDLFlBQ1UsTUFBYyxFQUNkLFVBQXNCLEVBQ3RCLFFBQXlCLEVBQ3pCLGlCQUFvQyxFQUNwQyxTQUEyQjtRQUozQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBQ2xDLENBQUM7SUFFVSx5QkFBeUIsQ0FBQyxFQUFrQjs7WUFDeEQsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEVBQUUsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FB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LENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FDakUsSUFBSSxDQUFDLDJCQUEyQixDQUFDLEVBQUUsQ0FBQyxDQUNyQyxDQUFDO1lBRUYsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQ3JFLFdBQVcsQ0FBQyxHQUFHLEVBQ2YsMkJBQTJCLENBQzVCLENBQUM7WUFFRixPQUFPLElBQUksVUFBVSxDQUFDO2dCQUNwQixRQUFRLEVBQUUsaUNBQWlDO2dCQUMzQyxTQUFTLEVBQUU7b0JBQ1QsS0FBSyxFQUFFO3dCQUNMLEVBQUU7d0JBQ0Ysa0JBQWtCO3dCQUNsQixhQUFhLEVBQUUsV0FBVyxDQUFDLEVBQUU7cUJBQzlCO2lCQUNGO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0NBQ0YsQ0FBQTs7O1lBdkhBLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBcENvQixNQUFNO1lBU2xCLFVBQVU7WUFEVixlQUFlO1lBTGYsaUJBQWlCO1lBRmpCLGdCQUFnQjs7QUFvQ1oseUJBQXlCO0lBTnJDLGlCQUFpQixDQUFDO1FBQ2pCLFVBQVUsRUFBRSxRQUFRO0tBQ3JCLENBQUM7R0FJVyx5QkFBeUIsQ0FvSHJDO1NBcEhZLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTHJHcmFwaFFMU2VydmljZSwgTHJNdXRhdGlvbiB9IGZyb20gJy4uL2FwaS9sci1ncmFwaHFsJztcbmltcG9ydCB7IExyUmVsYXlJZElucHV0IH0gZnJvbSAnLi4vYXBpL3R5cGVzJztcbmltcG9ydCB7IEVuY3J5cHRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vZW5jcnlwdGlvbi9lbmNyeXB0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQ29udGFjdENhcmRSZWNlaXZlckNpcGhlckRhdGEsXG4gIFNlbmRDb250YWN0Q2FyZElucHV0LFxufSBmcm9tICcuLi9rZXktZXhjaGFuZ2Uva2V5LWV4Y2hhbmdlMi5zZXJ2aWNlJztcbmltcG9ydCB7IEtleUdyYXBoU2VydmljZSB9IGZyb20gJy4uL2tleS9rZXktZ3JhcGguc2VydmljZSc7XG5pbXBvcnQgeyBLZXlTZXJ2aWNlIH0gZnJvbSAnLi4va2V5L2tleS5zZXJ2aWNlJztcbmltcG9ydCB7IEtleSB9IGZyb20gJy4uL2tleS9rZXkudHlwZXMnO1xuaW1wb3J0IHsgUnVuT3V0c2lkZUFuZ3VsYXIgfSBmcm9tICcuLi9fY29tbW9uL3J1bi1vdXRzaWRlLWFuZ3VsYXInO1xuaW1wb3J0IHtcbiAgR2V0T3duZWRDb250YWN0Q2FyZEtleUlkc1F1ZXJ5LFxuICBHZXRSZWNlaXZlZENvbnRhY3RDYXJkS2V5SWRRdWVyeSxcbiAgVXBkYXRlT3duZWRDb250YWN0Q2FyZE11dGF0aW9uLFxuICBVcGRhdGVSZWNlaXZlZENvbnRhY3RDYXJkTXV0YXRpb24sXG59IGZyb20gJy4vc2hhcmVkLWNvbnRhY3QtY2FyZDIuZ3FsJztcblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVPd25lZENvbnRhY3RDYXJkSW5wdXQgZXh0ZW5kcyBTZW5kQ29udGFjdENhcmRJbnB1dCB7XG4gIGlkOiBMclJlbGF5SWRJbnB1dDtcbiAgb3duZXJLZXlJZD86IExyUmVsYXlJZElucHV0O1xuICBzaGFyZWRLZXlJZD86IExyUmVsYXlJZElucHV0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVJlY2VpdmVkQ29udGFjdENhcmRJbnB1dFxuICBleHRlbmRzIENvbnRhY3RDYXJkUmVjZWl2ZXJDaXBoZXJEYXRhIHtcbiAgaWQ6IExyUmVsYXlJZElucHV0O1xuICByZWNlaXZlcktleUlkPzogTHJSZWxheUlkSW5wdXQ7XG59XG5cbkBSdW5PdXRzaWRlQW5ndWxhcih7XG4gIG5nWm9uZU5hbWU6ICduZ1pvbmUnLFxufSlcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTaGFyZWRDb250YWN0Q2FyZDJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGtleVNlcnZpY2U6IEtleVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBrZXlHcmFwaDogS2V5R3JhcGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgZW5jcnlwdGlvblNlcnZpY2U6IEVuY3J5cHRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgbHJHcmFwaFFMOiBMckdyYXBoUUxTZXJ2aWNlXG4gICkge31cblxuICBwcml2YXRlIGFzeW5jIGdldE93bmVkQ29udGFjdENhcmRLZXlJZHMoaWQ6IExyUmVsYXlJZElucHV0KSB7XG4gICAgY29uc3QgeyBvd25lZENvbnRhY3RDYXJkOiBjYyB9ID0gYXdhaXQgdGhpcy5sckdyYXBoUUwucXVlcnkoe1xuICAgICAgcXVlcnk6IEdldE93bmVkQ29udGFjdENhcmRLZXlJZHNRdWVyeSxcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpZCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgc2hhcmVkS2V5SWQ6IGNjLnNoYXJlZEtleS5pZCxcbiAgICAgIG93bmVyS2V5SWQ6IGNjLm93bmVyS2V5LmlkLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFJlY2VpdmVkQ29udGFjdENhcmRLZXlJZChpZDogTHJSZWxheUlkSW5wdXQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgYXdhaXQgdGhpcy5sckdyYXBoUUwucXVlcnkoe1xuICAgICAgICBxdWVyeTogR2V0UmVjZWl2ZWRDb250YWN0Q2FyZEtleUlkUXVlcnksXG4gICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgIGlkLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApLnJlY2VpdmVkQ29udGFjdENhcmQucmVjZWl2ZXJLZXkuaWQ7XG4gIH1cblxuICBhc3luYyB1cGRhdGVPd25lZENvbnRhY3RDYXJkKHtcbiAgICBpZCxcbiAgICBvd25lcktleUlkLFxuICAgIHNoYXJlZEtleUlkLFxuICAgIG93bmVyUGxhaW5EYXRhSnNvbixcbiAgICBvd25lckNpcGhlckRhdGFDbGVhckpzb24sXG4gICAgc2hhcmVkQ2lwaGVyRGF0YUNsZWFySnNvbixcbiAgfTogVXBkYXRlT3duZWRDb250YWN0Q2FyZElucHV0KSB7XG4gICAgbGV0IG93bmVyS2V5OiBLZXk7XG4gICAgbGV0IHNoYXJlZEtleTogS2V5O1xuXG4gICAgdHJ5IHtcbiAgICAgIG93bmVyS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRLZXkob3duZXJLZXlJZCk7XG4gICAgICBzaGFyZWRLZXkgPSBhd2FpdCB0aGlzLmtleUdyYXBoLmdldEtleShzaGFyZWRLZXlJZCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IGtleXMgPSBhd2FpdCB0aGlzLmdldE93bmVkQ29udGFjdENhcmRLZXlJZHMoaWQpO1xuXG4gICAgICAvLyB0cnkgYWdhaW5cbiAgICAgIG93bmVyS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRLZXkoa2V5cy5vd25lcktleUlkKTtcbiAgICAgIHNoYXJlZEtleSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZ2V0S2V5KGtleXMuc2hhcmVkS2V5SWQpO1xuICAgIH1cblxuICAgIGNvbnN0IHNpZ1B4ayA9IHRoaXMua2V5U2VydmljZS5jdXJyZW50U2lnUHhrO1xuXG4gICAgY29uc3Qgc2hhcmVkQ2lwaGVyRGF0YSA9IGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2UuZW5jcnlwdChcbiAgICAgIHNoYXJlZEtleS5qd2ssXG4gICAgICBzaGFyZWRDaXBoZXJEYXRhQ2xlYXJKc29uXG4gICAgKTtcbiAgICBjb25zdCBzaGFyZWRDaXBoZXJEYXRhU2lnID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLnNpZ24oc2lnUHhrLmp3aywgc2hhcmVkQ2lwaGVyRGF0YSlcbiAgICApO1xuXG4gICAgY29uc3Qgb3duZXJQbGFpbkRhdGFTaWcgPSBKU09OLnN0cmluZ2lmeShcbiAgICAgIGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2Uuc2lnbihzaWdQeGsuandrLCBvd25lclBsYWluRGF0YUpzb24pXG4gICAgKTtcblxuICAgIGNvbnN0IG93bmVyQ2lwaGVyRGF0YSA9IGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2UuZW5jcnlwdFRvU3RyaW5nKFxuICAgICAgb3duZXJLZXkuandrLFxuICAgICAgb3duZXJDaXBoZXJEYXRhQ2xlYXJKc29uXG4gICAgKTtcblxuICAgIHJldHVybiBuZXcgTHJNdXRhdGlvbih7XG4gICAgICBtdXRhdGlvbjogVXBkYXRlT3duZWRDb250YWN0Q2FyZE11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgaWQsXG4gICAgICAgICAgb3duZXJDaXBoZXJEYXRhLFxuICAgICAgICAgIG93bmVyS2V5SWQ6IG93bmVyS2V5LmlkLFxuICAgICAgICAgIHNoYXJlZENpcGhlckRhdGFTaWcsXG4gICAgICAgICAgc2hhcmVkS2V5SWQ6IHNoYXJlZEtleS5pZCxcbiAgICAgICAgICBzaWdQeGtJZDogc2lnUHhrLmlkLFxuICAgICAgICAgIG93bmVyUGxhaW5EYXRhU2lnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZVJlY2VpdmVkQ29udGFjdENhcmQoe1xuICAgIGlkLFxuICAgIHJlY2VpdmVyS2V5SWQsXG4gICAgcmVjZWl2ZXJDaXBoZXJEYXRhQ2xlYXJKc29uLFxuICB9OiBVcGRhdGVSZWNlaXZlZENvbnRhY3RDYXJkSW5wdXQpIHtcbiAgICBjb25zdCByZWNlaXZlcktleSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZ2V0S2V5KHJlY2VpdmVyS2V5SWQsICgpID0+XG4gICAgICB0aGlzLmdldFJlY2VpdmVkQ29udGFjdENhcmRLZXlJZChpZClcbiAgICApO1xuXG4gICAgY29uc3QgcmVjZWl2ZXJDaXBoZXJEYXRhID0gYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5lbmNyeXB0VG9TdHJpbmcoXG4gICAgICByZWNlaXZlcktleS5qd2ssXG4gICAgICByZWNlaXZlckNpcGhlckRhdGFDbGVhckpzb25cbiAgICApO1xuXG4gICAgcmV0dXJuIG5ldyBMck11dGF0aW9uKHtcbiAgICAgIG11dGF0aW9uOiBVcGRhdGVSZWNlaXZlZENvbnRhY3RDYXJkTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICByZWNlaXZlckNpcGhlckRhdGEsXG4gICAgICAgICAgcmVjZWl2ZXJLZXlJZDogcmVjZWl2ZXJLZXkuaWQsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|