ng-pli-commons 0.0.1903 → 0.0.1904

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.
@@ -83,28 +83,6 @@ export class AuthenticationService {
83
83
  });
84
84
  }
85
85
  async getLink(patCodigo) {
86
- //https://dev.colfuturo.org/plic/frontoffice/registro-multiaplicacion/create/74
87
- let loginMultiUrl = '';
88
- let registerForm = 'registro-multiaplicacion/create/' + patCodigo;
89
- const loginUrl = new URL(this.environment.host.frontend.frontoffice + registerForm);
90
- try {
91
- loginMultiUrl = loginUrl.href;
92
- }
93
- catch (error) { }
94
- return loginMultiUrl;
95
- }
96
- async getLinkMono(promCodigo) {
97
- // https://dev.colfuturo.org/plic/frontoffice/term/362/-1
98
- let loginMultiUrl = '';
99
- let termsLink = 'term/' + promCodigo + '/-1';
100
- const loginUrl = new URL(this.environment.host.frontend.frontoffice + termsLink);
101
- try {
102
- loginMultiUrl = loginUrl.href;
103
- }
104
- catch (error) { }
105
- return loginMultiUrl;
106
- }
107
- async getLinkOld(patCodigo) {
108
86
  let logoutUrl = '';
109
87
  const loginUrl = new URL(this.environment.host.frontend.login);
110
88
  const idPatrocinador = loginUrl.searchParams.get('idPatrocinador');
@@ -130,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImpor
130
108
  type: Inject,
131
109
  args: ['environment']
132
110
  }] }, { type: i1.HttpClient }, { type: i2.HashService }]; } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy9saWIvc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFRLE1BQU0sYUFBYSxDQUFDOzs7O0FBTXBFLE1BQU0sT0FBTyxxQkFBcUI7SUFJakMsWUFDZ0MsV0FBZ0IsRUFDdkMsVUFBc0IsRUFDdEIsV0FBd0I7UUFGRCxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUN2QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBTmpDLG9FQUFvRTtRQUM1RCxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFVLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFLakQsQ0FBQztJQUVyQzs7O09BR0c7SUFDSCxLQUFLLENBQUMsSUFBUztRQUNkLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxHQUFHLDRCQUE0QixFQUMxRSxJQUFJLEVBQ0osV0FBVyxDQUNYLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBRUgsY0FBYyxDQUFDLElBQVM7UUFDdkIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDMUIsSUFBSSxDQUFDLFdBQVcs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QixhQUFhO3NIQUxWLHFCQUFxQixjQUZyQixNQUFNOzJGQUVOLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEI7OzBCQU1FLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSEVBREVSX0pTT04sIEF1dGhlbnRpY2F0aW9uVXRpbCwgVXNlciB9IGZyb20gJ25nLXBsaS11dGlsJztcclxuaW1wb3J0IHsgSGFzaFNlcnZpY2UgfSBmcm9tICcuL2hhc2guc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdGlvblNlcnZpY2Uge1xyXG5cdC8qKiBUaGlzIG9ic2VydmFibGUgYWxsb3dzIHRvIHZlcmlmeSBpZiB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGVkICovXHJcblx0cHJpdmF0ZSBpc0xvZ2luU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oQXV0aGVudGljYXRpb25VdGlsLmhhc1Rva2VuKCkpO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55LFxyXG5cdFx0cHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG5cdFx0cHJpdmF0ZSBoYXNoU2VydmljZTogSGFzaFNlcnZpY2UpIHt9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEl0IGFsbG93cyB0byBsb2dpbiB3aXRoIHRoZSBhcHAgd2l0aCB1c2VybmFtZSBhbmQgcGFzc3dvcmRcclxuXHQgKiBAcGFyYW0gdXNlciBJdFxyXG5cdCAqL1xyXG5cdGxvZ2luKHVzZXI6IGFueSkge1xyXG5cdFx0bG9jYWxTdG9yYWdlLmNsZWFyKCk7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmNvbmZpZ3VyYXRpb24gKyAnc2VzaW9uL2dldEJ5TG9naW5BbmRTZXNpb24nLFxyXG5cdFx0XHR1c2VyLFxyXG5cdFx0XHRIRUFERVJfSlNPTlxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdC8qX2xvZ2luKHVzZXI6IGFueSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5jb25maWd1cmF0aW9uICsgJ3Nlc2lvbi9nZXRCeUxvZ2luQW5kU2VzaW9uJyxcclxuXHRcdFx0dXNlcixcclxuXHRcdFx0SEVBREVSX0pTT05cclxuXHRcdCk7XHJcblx0fSovXHJcblxyXG5cdGdldFVzZXJCeUxvZ2luKHVzZXI6IGFueSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5jb25maWd1cmF0aW9uICsgJ3Nlc2lvbi9nZXRCeUxvZ2luJyxcclxuXHRcdFx0dXNlcixcclxuXHRcdFx0SEVBREVSX0pTT05cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHQvKiogSXQgcmV0dXJucyB0aGUgc2Vzc2lvbiBpbmZvICovXHJcblx0Z2V0VG9rZW5CeUxvZ2luKGxvZ2luOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQodGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQucGxpcyArICdsb2dpbi9nZXRTZXNzaW9uJywge1xyXG5cdFx0XHRwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdsb2dpbicsIGxvZ2luKVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBJdCBhbGxvd3MgdG8gbG9nb3V0XHJcblx0ICovXHJcblx0bG9nb3V0KHJlZGlyZWN0VVJMPzogc3RyaW5nKSB7XHJcblx0XHR0aGlzLnJlbW92ZVRva2VucygpO1xyXG5cdFx0d2luZG93LmxvY2F0aW9uLmhyZWYgPSByZWRpcmVjdFVSTCA/IHJlZGlyZWN0VVJMIDogdGhpcy5lbnZpcm9ubWVudC5ob3N0LmZyb250ZW5kLmxvZ2luO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogSXQgYWxsb3dzIHRvIGFzc2lnbiBhIG5ldyB2YWx1ZSB0byB0aGUgdG9rZW5cclxuXHQgKiBAcGFyYW0gdG9rZW5cclxuXHQgKi9cclxuXHRzZXRUb2tlbih0b2tlbl9yZXF1ZXN0OiBzdHJpbmcpIHtcclxuXHRcdEF1dGhlbnRpY2F0aW9uVXRpbC5zZXRUb2tlbih0b2tlbl9yZXF1ZXN0KTtcclxuXHRcdHRoaXMuaXNMb2dpblN1YmplY3QubmV4dCh0cnVlKTtcclxuXHR9XHJcblxyXG5cdC8qKiBpdCB2ZXJpZmllcyBpZiB0aGVyZSBpcyB0b2tlbiAqL1xyXG5cdHZlcmlmeVRva2VuKCkge1xyXG5cdFx0dGhpcy5pc0xvZ2luU3ViamVjdC5uZXh0KEF1dGhlbnRpY2F0aW9uVXRpbC52ZXJpZnlUb2tlbigpKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEl0IGFsbG93cyB0byByZW1vdmUgdGhlIHRva2VuXHJcblx0ICovXHJcblx0cHJpdmF0ZSByZW1vdmVUb2tlbnMoKSB7XHJcblx0XHRsb2NhbFN0b3JhZ2UuY2xlYXIoKTtcclxuXHRcdHRoaXMuaXNMb2dpblN1YmplY3QubmV4dChmYWxzZSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBJdCBoYXMgYSBvYnNlcnZhYmxlIHRvIG5vdGlmeSBpZiB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGVkXHJcblx0ICovXHJcblx0aXNBdXRoZW50aWNhdGVkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaXNMb2dpblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGdldEhhc2goXHJcblx0XHRpZFBhdHJvY2luYWRvcjogc3RyaW5nLFxyXG5cdFx0aWRQbGF0YWZvcm1hOiBzdHJpbmcsXHJcblx0XHRpZFBhdHJvY2luYWRvclBMSUM6IHN0cmluZ1xyXG5cdCk6IFByb21pc2U8c3RyaW5nPiB7XHJcblx0XHRjb25zdCBlcnJvck1lc3NhZ2UgPSAnTm8gc2UgcHVkbyBnZW5lcmFyIGVsIGhhc2gnO1xyXG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuXHRcdFx0dGhpcy5oYXNoU2VydmljZS5nZXRIYXNoKGlkUGF0cm9jaW5hZG9yLCBpZFBsYXRhZm9ybWEsIGlkUGF0cm9jaW5hZG9yUExJQykuc3Vic2NyaWJlKFxyXG5cdFx0XHRcdChyZXNwb25zZSkgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLmhhc2gpIHtcclxuXHRcdFx0XHRcdFx0cmVzb2x2ZShyZXNwb25zZS5oYXNoKTtcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdHJlamVjdChlcnJvck1lc3NhZ2UpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0KGVycm9yKSA9PiByZWplY3QoZXJyb3JNZXNzYWdlKVxyXG5cdFx0XHQpO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRhc3luYyBnZXRMaW5rKHBhdENvZGlnbzogc3RyaW5nKSB7XHJcblx0XHQvL2h0dHBzOi8vZGV2LmNvbGZ1dHVyby5vcmcvcGxpYy9mcm9udG9mZmljZS9yZWdpc3Ryby1tdWx0aWFwbGljYWNpb24vY3JlYXRlLzc0XHJcblx0XHRsZXQgbG9naW5NdWx0aVVybCA9ICcnO1xyXG5cdFx0bGV0IHJlZ2lzdGVyRm9ybSA9ICdyZWdpc3Ryby1tdWx0aWFwbGljYWNpb24vY3JlYXRlLycgKyBwYXRDb2RpZ287XHJcblx0XHRjb25zdCBsb2dpblVybCA9IG5ldyBVUkwodGhpcy5lbnZpcm9ubWVudC5ob3N0LmZyb250ZW5kLmZyb250b2ZmaWNlICsgcmVnaXN0ZXJGb3JtKTtcclxuXHRcdHRyeSB7XHJcblx0XHRcdGxvZ2luTXVsdGlVcmwgPSBsb2dpblVybC5ocmVmO1xyXG5cdFx0fSBjYXRjaCAoZXJyb3IpIHt9XHJcblx0XHRyZXR1cm4gbG9naW5NdWx0aVVybDtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGdldExpbmtNb25vKHByb21Db2RpZ286IHN0cmluZykge1xyXG5cdFx0Ly8gaHR0cHM6Ly9kZXYuY29sZnV0dXJvLm9yZy9wbGljL2Zyb250b2ZmaWNlL3Rlcm0vMzYyLy0xXHJcblx0XHRsZXQgbG9naW5NdWx0aVVybCA9ICcnO1xyXG5cdFx0bGV0IHRlcm1zTGluayA9ICd0ZXJtLycgKyBwcm9tQ29kaWdvICsgJy8tMSc7XHJcblx0XHRjb25zdCBsb2dpblVybCA9IG5ldyBVUkwodGhpcy5lbnZpcm9ubWVudC5ob3N0LmZyb250ZW5kLmZyb250b2ZmaWNlICsgdGVybXNMaW5rKTtcclxuXHRcdHRyeSB7XHJcblx0XHRcdGxvZ2luTXVsdGlVcmwgPSBsb2dpblVybC5ocmVmO1xyXG5cdFx0fSBjYXRjaCAoZXJyb3IpIHt9XHJcblx0XHRyZXR1cm4gbG9naW5NdWx0aVVybDtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGdldExpbmtPbGQocGF0Q29kaWdvOiBzdHJpbmcpIHtcclxuXHRcdGxldCBsb2dvdXRVcmwgPSAnJztcclxuXHRcdGNvbnN0IGxvZ2luVXJsID0gbmV3IFVSTCh0aGlzLmVudmlyb25tZW50Lmhvc3QuZnJvbnRlbmQubG9naW4pO1xyXG5cdFx0Y29uc3QgaWRQYXRyb2NpbmFkb3IgPSBsb2dpblVybC5zZWFyY2hQYXJhbXMuZ2V0KCdpZFBhdHJvY2luYWRvcicpO1xyXG5cdFx0Y29uc3QgaWRQbGF0YWZvcm1hID0gbG9naW5Vcmwuc2VhcmNoUGFyYW1zLmdldCgnaWRQbGF0YWZvcm1hJyk7XHJcblx0XHRsb2dpblVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdpZFBhdHJvY2luYWRvclBMSUMnLCBwYXRDb2RpZ28pO1xyXG5cdFx0dHJ5IHtcclxuXHRcdFx0bGV0IGhhc2ggPSBhd2FpdCB0aGlzLmdldEhhc2goaWRQYXRyb2NpbmFkb3IsIGlkUGxhdGFmb3JtYSwgcGF0Q29kaWdvKTtcclxuXHRcdFx0bG9naW5Vcmwuc2VhcmNoUGFyYW1zLnNldCgnaGFzaCcsIGhhc2gpO1xyXG5cdFx0XHRsb2dvdXRVcmwgPSBsb2dpblVybC5ocmVmO1xyXG5cdFx0fSBjYXRjaCAoZXJyb3IpIHt9XHJcblx0XHRyZXR1cm4gbG9nb3V0VXJsO1xyXG5cdH1cclxuXHJcbn1cclxuIl19
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy9saWIvc2VydmljZXMvYXV0aGVudGljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFRLE1BQU0sYUFBYSxDQUFDOzs7O0FBTXBFLE1BQU0sT0FBTyxxQkFBcUI7SUFJakMsWUFDZ0MsV0FBZ0IsRUFDdkMsVUFBc0IsRUFDdEIsV0FBd0I7UUFGRCxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUN2QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBTmpDLG9FQUFvRTtRQUM1RCxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFVLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFLakQsQ0FBQztJQUVyQzs7O09BR0c7SUFDSCxLQUFLLENBQUMsSUFBUztRQUNkLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxHQUFHLDRCQUE0QixFQUMxRSxJQUFJLEVBQ0osV0FBVyxDQUNYLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBRUgsY0FBYyxDQUFDLElBQVM7UUFDdkIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDMUIsSUFBSSxDQUFDLFdBQVcs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LElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQztZQUN2RSxRQUFRLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDeEMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7U0FDMUI7UUFBQyxPQUFPLEtBQUssRUFBRSxHQUFFO1FBQ2xCLE9BQU8sU0FBUyxDQUFDO0lBQ2xCLENBQUM7O2tIQWxIVyxxQkFBcUIsa0JBS3hCLGFBQWE7c0hBTFYscUJBQXFCLGNBRnJCLE1BQU07MkZBRU4scUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQjs7MEJBTUUsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBIRUFERVJfSlNPTiwgQXV0aGVudGljYXRpb25VdGlsLCBVc2VyIH0gZnJvbSAnbmctcGxpLXV0aWwnO1xyXG5pbXBvcnQgeyBIYXNoU2VydmljZSB9IGZyb20gJy4vaGFzaC5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dGhlbnRpY2F0aW9uU2VydmljZSB7XHJcblx0LyoqIFRoaXMgb2JzZXJ2YWJsZSBhbGxvd3MgdG8gdmVyaWZ5IGlmIHRoZSB1c2VyIGlzIGF1dGhlbnRpY2F0ZWQgKi9cclxuXHRwcml2YXRlIGlzTG9naW5TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihBdXRoZW50aWNhdGlvblV0aWwuaGFzVG9rZW4oKSk7XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0QEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBhbnksXHJcblx0XHRwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcblx0XHRwcml2YXRlIGhhc2hTZXJ2aWNlOiBIYXNoU2VydmljZSkge31cclxuXHJcblx0LyoqXHJcblx0ICogSXQgYWxsb3dzIHRvIGxvZ2luIHdpdGggdGhlIGFwcCB3aXRoIHVzZXJuYW1lIGFuZCBwYXNzd29yZFxyXG5cdCAqIEBwYXJhbSB1c2VyIEl0XHJcblx0ICovXHJcblx0bG9naW4odXNlcjogYW55KSB7XHJcblx0XHRsb2NhbFN0b3JhZ2UuY2xlYXIoKTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuY29uZmlndXJhdGlvbiArICdzZXNpb24vZ2V0QnlMb2dpbkFuZFNlc2lvbicsXHJcblx0XHRcdHVzZXIsXHJcblx0XHRcdEhFQURFUl9KU09OXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0LypfbG9naW4odXNlcjogYW55KSB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmNvbmZpZ3VyYXRpb24gKyAnc2VzaW9uL2dldEJ5TG9naW5BbmRTZXNpb24nLFxyXG5cdFx0XHR1c2VyLFxyXG5cdFx0XHRIRUFERVJfSlNPTlxyXG5cdFx0KTtcclxuXHR9Ki9cclxuXHJcblx0Z2V0VXNlckJ5TG9naW4odXNlcjogYW55KSB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmNvbmZpZ3VyYXRpb24gKyAnc2VzaW9uL2dldEJ5TG9naW4nLFxyXG5cdFx0XHR1c2VyLFxyXG5cdFx0XHRIRUFERVJfSlNPTlxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdC8qKiBJdCByZXR1cm5zIHRoZSBzZXNzaW9uIGluZm8gKi9cclxuXHRnZXRUb2tlbkJ5TG9naW4obG9naW46IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldCh0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5wbGlzICsgJ2xvZ2luL2dldFNlc3Npb24nLCB7XHJcblx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2xvZ2luJywgbG9naW4pXHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEl0IGFsbG93cyB0byBsb2dvdXRcclxuXHQgKi9cclxuXHRsb2dvdXQocmVkaXJlY3RVUkw/OiBzdHJpbmcpIHtcclxuXHRcdHRoaXMucmVtb3ZlVG9rZW5zKCk7XHJcblx0XHR3aW5kb3cubG9jYXRpb24uaHJlZiA9IHJlZGlyZWN0VVJMID8gcmVkaXJlY3RVUkwgOiB0aGlzLmVudmlyb25tZW50Lmhvc3QuZnJvbnRlbmQubG9naW47XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBJdCBhbGxvd3MgdG8gYXNzaWduIGEgbmV3IHZhbHVlIHRvIHRoZSB0b2tlblxyXG5cdCAqIEBwYXJhbSB0b2tlblxyXG5cdCAqL1xyXG5cdHNldFRva2VuKHRva2VuX3JlcXVlc3Q6IHN0cmluZykge1xyXG5cdFx0QXV0aGVudGljYXRpb25VdGlsLnNldFRva2VuKHRva2VuX3JlcXVlc3QpO1xyXG5cdFx0dGhpcy5pc0xvZ2luU3ViamVjdC5uZXh0KHRydWUpO1xyXG5cdH1cclxuXHJcblx0LyoqIGl0IHZlcmlmaWVzIGlmIHRoZXJlIGlzIHRva2VuICovXHJcblx0dmVyaWZ5VG9rZW4oKSB7XHJcblx0XHR0aGlzLmlzTG9naW5TdWJqZWN0Lm5leHQoQXV0aGVudGljYXRpb25VdGlsLnZlcmlmeVRva2VuKCkpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogSXQgYWxsb3dzIHRvIHJlbW92ZSB0aGUgdG9rZW5cclxuXHQgKi9cclxuXHRwcml2YXRlIHJlbW92ZVRva2VucygpIHtcclxuXHRcdGxvY2FsU3RvcmFnZS5jbGVhcigpO1xyXG5cdFx0dGhpcy5pc0xvZ2luU3ViamVjdC5uZXh0KGZhbHNlKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEl0IGhhcyBhIG9ic2VydmFibGUgdG8gbm90aWZ5IGlmIHRoZSB1c2VyIGlzIGF1dGhlbnRpY2F0ZWRcclxuXHQgKi9cclxuXHRpc0F1dGhlbnRpY2F0ZWQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcblx0XHRyZXR1cm4gdGhpcy5pc0xvZ2luU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgZ2V0SGFzaChcclxuXHRcdGlkUGF0cm9jaW5hZG9yOiBzdHJpbmcsXHJcblx0XHRpZFBsYXRhZm9ybWE6IHN0cmluZyxcclxuXHRcdGlkUGF0cm9jaW5hZG9yUExJQzogc3RyaW5nXHJcblx0KTogUHJvbWlzZTxzdHJpbmc+IHtcclxuXHRcdGNvbnN0IGVycm9yTWVzc2FnZSA9ICdObyBzZSBwdWRvIGdlbmVyYXIgZWwgaGFzaCc7XHJcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG5cdFx0XHR0aGlzLmhhc2hTZXJ2aWNlLmdldEhhc2goaWRQYXRyb2NpbmFkb3IsIGlkUGxhdGFmb3JtYSwgaWRQYXRyb2NpbmFkb3JQTElDKS5zdWJzY3JpYmUoXHJcblx0XHRcdFx0KHJlc3BvbnNlKSA9PiB7XHJcblx0XHRcdFx0XHRpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UuaGFzaCkge1xyXG5cdFx0XHRcdFx0XHRyZXNvbHZlKHJlc3BvbnNlLmhhc2gpO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0cmVqZWN0KGVycm9yTWVzc2FnZSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHQoZXJyb3IpID0+IHJlamVjdChlcnJvck1lc3NhZ2UpXHJcblx0XHRcdCk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGdldExpbmsocGF0Q29kaWdvOiBzdHJpbmcpIHtcclxuXHRcdGxldCBsb2dvdXRVcmwgPSAnJztcclxuXHRcdGNvbnN0IGxvZ2luVXJsID0gbmV3IFVSTCh0aGlzLmVudmlyb25tZW50Lmhvc3QuZnJvbnRlbmQubG9naW4pO1xyXG5cdFx0Y29uc3QgaWRQYXRyb2NpbmFkb3IgPSBsb2dpblVybC5zZWFyY2hQYXJhbXMuZ2V0KCdpZFBhdHJvY2luYWRvcicpO1xyXG5cdFx0Y29uc3QgaWRQbGF0YWZvcm1hID0gbG9naW5Vcmwuc2VhcmNoUGFyYW1zLmdldCgnaWRQbGF0YWZvcm1hJyk7XHJcblx0XHRsb2dpblVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdpZFBhdHJvY2luYWRvclBMSUMnLCBwYXRDb2RpZ28pO1xyXG5cdFx0dHJ5IHtcclxuXHRcdFx0bGV0IGhhc2ggPSBhd2FpdCB0aGlzLmdldEhhc2goaWRQYXRyb2NpbmFkb3IsIGlkUGxhdGFmb3JtYSwgcGF0Q29kaWdvKTtcclxuXHRcdFx0bG9naW5Vcmwuc2VhcmNoUGFyYW1zLnNldCgnaGFzaCcsIGhhc2gpO1xyXG5cdFx0XHRsb2dvdXRVcmwgPSBsb2dpblVybC5ocmVmO1xyXG5cdFx0fSBjYXRjaCAoZXJyb3IpIHt9XHJcblx0XHRyZXR1cm4gbG9nb3V0VXJsO1xyXG5cdH1cclxuXHJcbn1cclxuIl19
@@ -9,9 +9,6 @@ export class CommitteePdfService {
9
9
  send(lCommitteePdfDeedTO) {
10
10
  return this.httpClient.post(this.environment.host.backend.queue + 'committee-pdf/send', lCommitteePdfDeedTO);
11
11
  }
12
- sendBackoffice(lCommitteePdfDeedTO) {
13
- return this.httpClient.post(this.environment.host.backend.backoffice + 'pdf/getBase64CommitteePdf', lCommitteePdfDeedTO);
14
- }
15
12
  }
16
13
  CommitteePdfService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: CommitteePdfService, deps: [{ token: 'environment' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
17
14
  CommitteePdfService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: CommitteePdfService, providedIn: 'root' });
@@ -24,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImpor
24
21
  type: Inject,
25
22
  args: ['environment']
26
23
  }] }, { type: i1.HttpClient }]; } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWl0dGVlLXBkZi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcGxpLWNvbW1vbnMvc3JjL2xpYi9zZXJ2aWNlcy9jb21taXR0ZWUtcGRmLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU9uRCxNQUFNLE9BQU8sbUJBQW1CO0lBQy9CLFlBQTJDLFdBQVcsRUFBVSxVQUFzQjtRQUEzQyxnQkFBVyxHQUFYLFdBQVcsQ0FBQTtRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7SUFBRyxDQUFDO0lBRTFGLElBQUksQ0FBQyxtQkFBeUM7UUFDN0MsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxvQkFBb0IsRUFDMUQsbUJBQW1CLENBQ25CLENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUFDLG1CQUF5QztRQUN2RCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHLDJCQUEyQixFQUN0RSxtQkFBbUIsQ0FDbkIsQ0FBQztJQUNILENBQUM7O2dIQWZXLG1CQUFtQixrQkFDWCxhQUFhO29IQURyQixtQkFBbUIsY0FGbkIsTUFBTTsyRkFFTixtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCOzswQkFFYSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbWl0dGVlUGRmRGVlZFRPIH0gZnJvbSAnbmctcGxpLXV0aWwnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21taXR0ZWVQZGZTZXJ2aWNlIHtcclxuXHRjb25zdHJ1Y3RvcihASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQsIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCkge31cclxuXHJcblx0c2VuZChsQ29tbWl0dGVlUGRmRGVlZFRPOiBDb21taXR0ZWVQZGZEZWVkVE9bXSk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLnF1ZXVlICsgJ2NvbW1pdHRlZS1wZGYvc2VuZCcsXHJcblx0XHRcdGxDb21taXR0ZWVQZGZEZWVkVE9cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRzZW5kQmFja29mZmljZShsQ29tbWl0dGVlUGRmRGVlZFRPOiBDb21taXR0ZWVQZGZEZWVkVE9bXSk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmJhY2tvZmZpY2UgKyAncGRmL2dldEJhc2U2NENvbW1pdHRlZVBkZicsXHJcblx0XHRcdGxDb21taXR0ZWVQZGZEZWVkVE9cclxuXHRcdCk7XHJcblx0fVxyXG59XHJcbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWl0dGVlLXBkZi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcGxpLWNvbW1vbnMvc3JjL2xpYi9zZXJ2aWNlcy9jb21taXR0ZWUtcGRmLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU9uRCxNQUFNLE9BQU8sbUJBQW1CO0lBQy9CLFlBQTJDLFdBQVcsRUFBVSxVQUFzQjtRQUEzQyxnQkFBVyxHQUFYLFdBQVcsQ0FBQTtRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7SUFBRyxDQUFDO0lBRTFGLElBQUksQ0FBQyxtQkFBeUM7UUFDN0MsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxvQkFBb0IsRUFDMUQsbUJBQW1CLENBQ25CLENBQUM7SUFDSCxDQUFDOztnSEFSVyxtQkFBbUIsa0JBQ1gsYUFBYTtvSEFEckIsbUJBQW1CLGNBRm5CLE1BQU07MkZBRU4sbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQjs7MEJBRWEsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1pdHRlZVBkZkRlZWRUTyB9IGZyb20gJ25nLXBsaS11dGlsJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tbWl0dGVlUGRmU2VydmljZSB7XHJcblx0Y29uc3RydWN0b3IoQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50LCBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHt9XHJcblxyXG5cdHNlbmQobENvbW1pdHRlZVBkZkRlZWRUTzogQ29tbWl0dGVlUGRmRGVlZFRPW10pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5xdWV1ZSArICdjb21taXR0ZWUtcGRmL3NlbmQnLFxyXG5cdFx0XHRsQ29tbWl0dGVlUGRmRGVlZFRPXHJcblx0XHQpO1xyXG5cdH1cclxufVxyXG4iXX0=
@@ -48,10 +48,6 @@ export class CorrespondenceManagerService {
48
48
  .set('promCodigo', promCodigo)
49
49
  });
50
50
  }
51
- getByDataTableParameters(dataTableParameters) {
52
- return this.httpClient.post(this.environment.host.backend.backoffice +
53
- 'correspondence-manager/getByDatatableParameters', dataTableParameters);
54
- }
55
51
  }
56
52
  CorrespondenceManagerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: CorrespondenceManagerService, deps: [{ token: 'environment' }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
57
53
  CorrespondenceManagerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: CorrespondenceManagerService, providedIn: 'root' });
@@ -64,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImpor
64
60
  type: Inject,
65
61
  args: ['environment']
66
62
  }] }, { type: i1.HttpClient }]; } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ycmVzcG9uZGVuY2UtbWFuYWdlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcGxpLWNvbW1vbnMvc3JjL2xpYi9zZXJ2aWNlcy9jb3JyZXNwb25kZW5jZS1tYW5hZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFZOUQsTUFBTSxPQUFPLDRCQUE0QjtJQUN4QyxZQUEyQyxXQUFnQixFQUFVLFVBQXNCO1FBQWhELGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUFHLENBQUM7SUFFL0YsSUFBSSxDQUFDLHFCQUE0QztRQUNoRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHLDZCQUE2QixFQUN4RSxxQkFBcUIsQ0FDckIsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRLENBQUMscUJBQThDO1FBQ3RELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsaUNBQWlDLEVBQzVFLHFCQUFxQixDQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLHVCQUErQixFQUFFLEtBQWE7UUFDL0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRywwQ0FBMEMsRUFDckY7WUFDQyxNQUFNLEVBQUUsSUFBSSxVQUFVLEVBQUU7aUJBQ3RCLEdBQUcsQ0FBQyx5QkFBeUIsRUFBRSx1QkFBdUIsQ0FBQztpQkFDdkQsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUM7U0FDckIsQ0FDRCxDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyx1QkFBK0I7UUFDN0MsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyx1Q0FBdUMsRUFDbEY7WUFDQyxNQUFNLEVBQUUsSUFBSSxVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMseUJBQXlCLEVBQUUsdUJBQXVCLENBQUM7U0FDaEYsQ0FDRCxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxXQUFtQjtRQUM5QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHLG9DQUFvQyxFQUMvRTtZQUNDLE1BQU0sRUFBRSxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDO1NBQ3hELENBQ0QsQ0FBQztJQUNILENBQUM7SUFFRCxjQUFjLENBQUMsY0FBbUI7UUFDakMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyx1Q0FBdUMsRUFDbEYsY0FBYyxDQUNkLENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLGVBQWdEO1FBQy9ELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsd0NBQXdDLEVBQ25GLGVBQWUsQ0FDZixDQUFDO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxVQUFrQjtRQUMvQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHLHNDQUFzQyxFQUNqRjtZQUNDLE1BQU0sRUFBRSxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDO1NBQ3RELENBQ0QsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsZ0JBQXdCLEVBQUUsVUFBa0I7UUFDbkQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyxnQ0FBZ0MsRUFDM0U7WUFDQyxNQUFNLEVBQUUsSUFBSSxVQUFVLEVBQUU7aUJBQ3RCLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQztpQkFDekMsR0FBRyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUM7U0FDL0IsQ0FDRCxDQUFDO0lBQ0gsQ0FBQztJQUVELHdCQUF3QixDQUFDLG1CQUF3QztRQUNoRSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVTtZQUN2QyxpREFBaUQsRUFDbEQsbUJBQW1CLENBQ25CLENBQUM7SUFDSCxDQUFDOzt5SEF0RlcsNEJBQTRCLGtCQUNwQixhQUFhOzZIQURyQiw0QkFBNEIsY0FGNUIsTUFBTTsyRkFFTiw0QkFBNEI7a0JBSHhDLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCOzswQkFFYSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG5cdENvcnJlc3BvbmRlbmNlTWFuYWdlcixcclxuXHRDb3JyZXNwb25kZW5jZU1hbmFnZXJUTyxcclxuXHRDb3JyZXNwb25kZW5jZVRyYW5zbGF0ZVRva2Vuc1RPLFxyXG5cdERhdGFUYWJsZVBhcmFtZXRlcnNcclxufSBmcm9tICduZy1wbGktdXRpbCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3JyZXNwb25kZW5jZU1hbmFnZXJTZXJ2aWNlIHtcclxuXHRjb25zdHJ1Y3RvcihASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueSwgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7fVxyXG5cclxuXHRzYXZlKGNvcnJlc3BvbmRlbmNlTWFuYWdlcjogQ29ycmVzcG9uZGVuY2VNYW5hZ2VyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuYmFja29mZmljZSArICdjb3JyZXNwb25kZW5jZS1tYW5hZ2VyL3NhdmUnLFxyXG5cdFx0XHRjb3JyZXNwb25kZW5jZU1hbmFnZXJcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRzYXZlRWRpdChjb3JyZXNwb25kZW5jZU1hbmFnZXI6IENvcnJlc3BvbmRlbmNlTWFuYWdlclRPKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuYmFja29mZmljZSArICdjb3JyZXNwb25kZW5jZS1tYW5hZ2VyL3NhdmVFZGl0JyxcclxuXHRcdFx0Y29ycmVzcG9uZGVuY2VNYW5hZ2VyXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0ZGVsZXRlQXR0YXRjaG1lbnQoY29ycmVzcG9uZGVuY2VNYW5hZ2VySWQ6IHN0cmluZywgaW5kZXg6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LmRlbGV0ZShcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuYmFja29mZmljZSArICdjb3JyZXNwb25kZW5jZS1tYW5hZ2VyL2RlbGV0ZUF0dGF0Y2htZW50JyxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKVxyXG5cdFx0XHRcdFx0LnNldCgnY29ycmVzcG9uZGVuY2VNYW5hZ2VySWQnLCBjb3JyZXNwb25kZW5jZU1hbmFnZXJJZClcclxuXHRcdFx0XHRcdC5zZXQoJ2luZGV4JywgaW5kZXgpXHJcblx0XHRcdH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRkZWxldGVEb2N1bWVudChjb3JyZXNwb25kZW5jZU1hbmFnZXJJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlKFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5iYWNrb2ZmaWNlICsgJ2NvcnJlc3BvbmRlbmNlLW1hbmFnZXIvZGVsZXRlRG9jdW1lbnQnLFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpLnNldCgnY29ycmVzcG9uZGVuY2VNYW5hZ2VySWQnLCBjb3JyZXNwb25kZW5jZU1hbmFnZXJJZClcclxuXHRcdFx0fVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdGdldERvY3VtZW50KHVybERvY3VtZW50OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmJhY2tvZmZpY2UgKyAnY29ycmVzcG9uZGVuY2UtbWFuYWdlci9nZXREb2N1bWVudCcsXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCd1cmxEb2N1bWVudCcsIHVybERvY3VtZW50KVxyXG5cdFx0XHR9XHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0dXBsb2FkRG9jdW1lbnQodXBsb2FkRG9jdW1lbnQ6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmJhY2tvZmZpY2UgKyAnY29ycmVzcG9uZGVuY2UtbWFuYWdlci91cGxvYWREb2N1bWVudCcsXHJcblx0XHRcdHVwbG9hZERvY3VtZW50XHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0dHJhbnNsYXRlVG9rZW5zKHRyYW5zbGF0ZVRva2VuczogQ29ycmVzcG9uZGVuY2VUcmFuc2xhdGVUb2tlbnNUTyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmJhY2tvZmZpY2UgKyAnY29ycmVzcG9uZGVuY2UtbWFuYWdlci90cmFuc2xhdGVUb2tlbnMnLFxyXG5cdFx0XHR0cmFuc2xhdGVUb2tlbnNcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRkZWxldGVBcmNoaXZlKHVybEFyY2hpdmU6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LmRlbGV0ZShcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuYmFja29mZmljZSArICdjb3JyZXNwb25kZW5jZS1tYW5hZ2VyL2RlbGV0ZUFyY2hpdmUnLFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpLnNldCgndXJsQXJjaGl2ZScsIHVybEFyY2hpdmUpXHJcblx0XHRcdH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRnZXRCeUlkKGNvcnJlc3BvbmRlbmNlSWQ6IHN0cmluZywgcHJvbUNvZGlnbzogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5iYWNrb2ZmaWNlICsgJ2NvcnJlc3BvbmRlbmNlLW1hbmFnZXIvZ2V0QnlJZCcsXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKClcclxuXHRcdFx0XHRcdC5zZXQoJ2NvcnJlc3BvbmRlbmNlSWQnLCBjb3JyZXNwb25kZW5jZUlkKVxyXG5cdFx0XHRcdFx0LnNldCgncHJvbUNvZGlnbycsIHByb21Db2RpZ28pXHJcblx0XHRcdH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRnZXRCeURhdGFUYWJsZVBhcmFtZXRlcnMoZGF0YVRhYmxlUGFyYW1ldGVyczogRGF0YVRhYmxlUGFyYW1ldGVycykge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5iYWNrb2ZmaWNlICtcclxuXHRcdFx0XHQnY29ycmVzcG9uZGVuY2UtbWFuYWdlci9nZXRCeURhdGF0YWJsZVBhcmFtZXRlcnMnLFxyXG5cdFx0XHRkYXRhVGFibGVQYXJhbWV0ZXJzXHJcblx0XHQpO1xyXG5cdH1cclxufVxyXG4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ycmVzcG9uZGVuY2UtbWFuYWdlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcGxpLWNvbW1vbnMvc3JjL2xpYi9zZXJ2aWNlcy9jb3JyZXNwb25kZW5jZS1tYW5hZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFXOUQsTUFBTSxPQUFPLDRCQUE0QjtJQUN4QyxZQUEyQyxXQUFnQixFQUFVLFVBQXNCO1FBQWhELGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUFHLENBQUM7SUFFL0YsSUFBSSxDQUFDLHFCQUE0QztRQUNoRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHLDZCQUE2QixFQUN4RSxxQkFBcUIsQ0FDckIsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRLENBQUMscUJBQThDO1FBQ3RELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsaUNBQWlDLEVBQzVFLHFCQUFxQixDQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLHVCQUErQixFQUFFLEtBQWE7UUFDL0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRywwQ0FBMEMsRUFDckY7WUFDQyxNQUFNLEVBQUUsSUFBSSxVQUFVLEVBQUU7aUJBQ3RCLEdBQUcsQ0FBQyx5QkFBeUIsRUFBRSx1QkFBdUIsQ0FBQztpQkFDdkQsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUM7U0FDckIsQ0FDRCxDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyx1QkFBK0I7UUFDN0MsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyx1Q0FBdUMsRUFDbEY7WUFDQyxNQUFNLEVBQUUsSUFBSSxVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMseUJBQXlCLEVBQUUsdUJBQXVCLENBQUM7U0FDaEYsQ0FDRCxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxXQUFtQjtRQUM5QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHLG9DQUFvQyxFQUMvRTtZQUNDLE1BQU0sRUFBRSxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDO1NBQ3hELENBQ0QsQ0FBQztJQUNILENBQUM7SUFFRCxjQUFjLENBQUMsY0FBbUI7UUFDakMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyx1Q0FBdUMsRUFDbEYsY0FBYyxDQUNkLENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLGVBQWdEO1FBQy9ELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsd0NBQXdDLEVBQ25GLGVBQWUsQ0FDZixDQUFDO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxVQUFrQjtRQUMvQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHLHNDQUFzQyxFQUNqRjtZQUNDLE1BQU0sRUFBRSxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDO1NBQ3RELENBQ0QsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsZ0JBQXdCLEVBQUUsVUFBa0I7UUFDbkQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyxnQ0FBZ0MsRUFDM0U7WUFDQyxNQUFNLEVBQUUsSUFBSSxVQUFVLEVBQUU7aUJBQ3RCLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQztpQkFDekMsR0FBRyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUM7U0FDL0IsQ0FDRCxDQUFDO0lBQ0gsQ0FBQzs7eUhBOUVXLDRCQUE0QixrQkFDcEIsYUFBYTs2SEFEckIsNEJBQTRCLGNBRjVCLE1BQU07MkZBRU4sNEJBQTRCO2tCQUh4QyxVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQjs7MEJBRWEsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuXHRDb3JyZXNwb25kZW5jZU1hbmFnZXIsXHJcblx0Q29ycmVzcG9uZGVuY2VNYW5hZ2VyVE8sXHJcblx0Q29ycmVzcG9uZGVuY2VUcmFuc2xhdGVUb2tlbnNUT1xyXG59IGZyb20gJ25nLXBsaS11dGlsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvcnJlc3BvbmRlbmNlTWFuYWdlclNlcnZpY2Uge1xyXG5cdGNvbnN0cnVjdG9yKEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55LCBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHt9XHJcblxyXG5cdHNhdmUoY29ycmVzcG9uZGVuY2VNYW5hZ2VyOiBDb3JyZXNwb25kZW5jZU1hbmFnZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5iYWNrb2ZmaWNlICsgJ2NvcnJlc3BvbmRlbmNlLW1hbmFnZXIvc2F2ZScsXHJcblx0XHRcdGNvcnJlc3BvbmRlbmNlTWFuYWdlclxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdHNhdmVFZGl0KGNvcnJlc3BvbmRlbmNlTWFuYWdlcjogQ29ycmVzcG9uZGVuY2VNYW5hZ2VyVE8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5iYWNrb2ZmaWNlICsgJ2NvcnJlc3BvbmRlbmNlLW1hbmFnZXIvc2F2ZUVkaXQnLFxyXG5cdFx0XHRjb3JyZXNwb25kZW5jZU1hbmFnZXJcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRkZWxldGVBdHRhdGNobWVudChjb3JyZXNwb25kZW5jZU1hbmFnZXJJZDogc3RyaW5nLCBpbmRleDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlKFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5iYWNrb2ZmaWNlICsgJ2NvcnJlc3BvbmRlbmNlLW1hbmFnZXIvZGVsZXRlQXR0YXRjaG1lbnQnLFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpXHJcblx0XHRcdFx0XHQuc2V0KCdjb3JyZXNwb25kZW5jZU1hbmFnZXJJZCcsIGNvcnJlc3BvbmRlbmNlTWFuYWdlcklkKVxyXG5cdFx0XHRcdFx0LnNldCgnaW5kZXgnLCBpbmRleClcclxuXHRcdFx0fVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdGRlbGV0ZURvY3VtZW50KGNvcnJlc3BvbmRlbmNlTWFuYWdlcklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5kZWxldGUoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmJhY2tvZmZpY2UgKyAnY29ycmVzcG9uZGVuY2UtbWFuYWdlci9kZWxldGVEb2N1bWVudCcsXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdjb3JyZXNwb25kZW5jZU1hbmFnZXJJZCcsIGNvcnJlc3BvbmRlbmNlTWFuYWdlcklkKVxyXG5cdFx0XHR9XHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0Z2V0RG9jdW1lbnQodXJsRG9jdW1lbnQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuYmFja29mZmljZSArICdjb3JyZXNwb25kZW5jZS1tYW5hZ2VyL2dldERvY3VtZW50JyxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3VybERvY3VtZW50JywgdXJsRG9jdW1lbnQpXHJcblx0XHRcdH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHR1cGxvYWREb2N1bWVudCh1cGxvYWREb2N1bWVudDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuYmFja29mZmljZSArICdjb3JyZXNwb25kZW5jZS1tYW5hZ2VyL3VwbG9hZERvY3VtZW50JyxcclxuXHRcdFx0dXBsb2FkRG9jdW1lbnRcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHR0cmFuc2xhdGVUb2tlbnModHJhbnNsYXRlVG9rZW5zOiBDb3JyZXNwb25kZW5jZVRyYW5zbGF0ZVRva2Vuc1RPKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuYmFja29mZmljZSArICdjb3JyZXNwb25kZW5jZS1tYW5hZ2VyL3RyYW5zbGF0ZVRva2VucycsXHJcblx0XHRcdHRyYW5zbGF0ZVRva2Vuc1xyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdGRlbGV0ZUFyY2hpdmUodXJsQXJjaGl2ZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlKFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5iYWNrb2ZmaWNlICsgJ2NvcnJlc3BvbmRlbmNlLW1hbmFnZXIvZGVsZXRlQXJjaGl2ZScsXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCd1cmxBcmNoaXZlJywgdXJsQXJjaGl2ZSlcclxuXHRcdFx0fVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdGdldEJ5SWQoY29ycmVzcG9uZGVuY2VJZDogc3RyaW5nLCBwcm9tQ29kaWdvOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmJhY2tvZmZpY2UgKyAnY29ycmVzcG9uZGVuY2UtbWFuYWdlci9nZXRCeUlkJyxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKVxyXG5cdFx0XHRcdFx0LnNldCgnY29ycmVzcG9uZGVuY2VJZCcsIGNvcnJlc3BvbmRlbmNlSWQpXHJcblx0XHRcdFx0XHQuc2V0KCdwcm9tQ29kaWdvJywgcHJvbUNvZGlnbylcclxuXHRcdFx0fVxyXG5cdFx0KTtcclxuXHR9XHJcbn1cclxuIl19
@@ -7,7 +7,6 @@ export class ImportExcelGICService {
7
7
  this.environment = environment;
8
8
  this.httpClient = httpClient;
9
9
  this.urlBase = this.environment.host.backend.gicQueuePublisher + 'import-excel';
10
- this.urlBaseBackoffice = this.environment.host.backend.gicBackoffice + 'gic-disbursement';
11
10
  this.headerJson = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };
12
11
  }
13
12
  sendInitials(clients) {
@@ -17,10 +16,6 @@ export class ImportExcelGICService {
17
16
  let aux = { disbursementList: disbursments };
18
17
  return this.httpClient.post(this.urlBase + '/disbursments', aux, this.headerJson);
19
18
  }
20
- sendDisbursmentsBackoffice(disbursments) {
21
- let aux = { disbursementList: disbursments };
22
- return this.httpClient.post(this.urlBaseBackoffice + '/disbursments', aux, this.headerJson);
23
- }
24
19
  /**
25
20
  * Send collections
26
21
  * @param collections
@@ -42,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImpor
42
37
  type: Inject,
43
38
  args: ['environment']
44
39
  }] }, { type: i1.HttpClient }]; } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LWV4Y2VsLWdpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcGxpLWNvbW1vbnMvc3JjL2xpYi9zZXJ2aWNlcy9pbXBvcnQtZXhjZWwtZ2ljLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNbkQsTUFBTSxPQUFPLHFCQUFxQjtJQUtqQyxZQUEyQyxXQUFnQixFQUFVLFVBQXNCO1FBQWhELGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUpuRixZQUFPLEdBQVcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixHQUFHLGNBQWMsQ0FBQztRQUNuRixzQkFBaUIsR0FDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQztRQUMxRCxlQUFVLEdBQUcsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDSSxDQUFDO0lBRS9GLFlBQVksQ0FBQyxPQUFjO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELGdCQUFnQixDQUFDLFlBQW1CO1FBQ25DLElBQUksR0FBRyxHQUFRLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLENBQUM7UUFDbEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLGVBQWUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxZQUFtQjtRQUM3QyxJQUFJLEdBQUcsR0FBUSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxDQUFDO1FBQ2xELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGVBQWUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsZUFBZSxDQUFDLFdBQWtCO1FBQ2pDLElBQUksR0FBRyxHQUFRLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDbEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLGNBQWMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7O2tIQTdCVyxxQkFBcUIsa0JBS2IsYUFBYTtzSEFMckIscUJBQXFCLGNBRnJCLE1BQU07MkZBRU4scUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQjs7MEJBTWEsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbXBvcnRFeGNlbEdJQ1NlcnZpY2Uge1xyXG5cdHByaXZhdGUgdXJsQmFzZTogc3RyaW5nID0gdGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZ2ljUXVldWVQdWJsaXNoZXIgKyAnaW1wb3J0LWV4Y2VsJztcclxuXHRwcml2YXRlIHVybEJhc2VCYWNrb2ZmaWNlOiBzdHJpbmcgPVxyXG5cdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZ2ljQmFja29mZmljZSArICdnaWMtZGlzYnVyc2VtZW50JztcclxuXHRwcml2YXRlIGhlYWRlckpzb24gPSB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSkgfTtcclxuXHRjb25zdHJ1Y3RvcihASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueSwgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7fVxyXG5cclxuXHRzZW5kSW5pdGlhbHMoY2xpZW50czogYW55W10pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KHRoaXMudXJsQmFzZSArICcvaW5pdGlhbHMnLCBjbGllbnRzKTtcclxuXHR9XHJcblxyXG5cdHNlbmREaXNidXJzbWVudHMoZGlzYnVyc21lbnRzOiBhbnlbXSkge1xyXG5cdFx0bGV0IGF1eDogYW55ID0geyBkaXNidXJzZW1lbnRMaXN0OiBkaXNidXJzbWVudHMgfTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdCh0aGlzLnVybEJhc2UgKyAnL2Rpc2J1cnNtZW50cycsIGF1eCwgdGhpcy5oZWFkZXJKc29uKTtcclxuXHR9XHJcblxyXG5cdHNlbmREaXNidXJzbWVudHNCYWNrb2ZmaWNlKGRpc2J1cnNtZW50czogYW55W10pIHtcclxuXHRcdGxldCBhdXg6IGFueSA9IHsgZGlzYnVyc2VtZW50TGlzdDogZGlzYnVyc21lbnRzIH07XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QodGhpcy51cmxCYXNlQmFja29mZmljZSArICcvZGlzYnVyc21lbnRzJywgYXV4LCB0aGlzLmhlYWRlckpzb24pO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogU2VuZCBjb2xsZWN0aW9uc1xyXG5cdCAqIEBwYXJhbSBjb2xsZWN0aW9uc1xyXG5cdCAqIEByZXR1cm4gb2JzZXJ2YWJsZTxhbnk+XHJcblx0ICovXHJcblx0c2VuZENvbGxlY3Rpb25zKGNvbGxlY3Rpb25zOiBhbnlbXSk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRsZXQgYXV4OiBhbnkgPSB7IGdpY0NvbGxlY3Rpb25MaXN0OiBjb2xsZWN0aW9ucyB9O1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KHRoaXMudXJsQmFzZSArICcvY29sbGVjdGlvbnMnLCBhdXgsIHRoaXMuaGVhZGVySnNvbik7XHJcblx0fVxyXG59XHJcbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LWV4Y2VsLWdpYy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcGxpLWNvbW1vbnMvc3JjL2xpYi9zZXJ2aWNlcy9pbXBvcnQtZXhjZWwtZ2ljLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNbkQsTUFBTSxPQUFPLHFCQUFxQjtJQUdqQyxZQUEyQyxXQUFnQixFQUFVLFVBQXNCO1FBQWhELGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUZuRixZQUFPLEdBQVcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixHQUFHLGNBQWMsQ0FBQztRQUNuRixlQUFVLEdBQUcsRUFBRSxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDSSxDQUFDO0lBRS9GLFlBQVksQ0FBQyxPQUFjO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELGdCQUFnQixDQUFDLFlBQW1CO1FBQ25DLElBQUksR0FBRyxHQUFRLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLENBQUM7UUFDbEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLGVBQWUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsZUFBZSxDQUFDLFdBQWtCO1FBQ2pDLElBQUksR0FBRyxHQUFRLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDbEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLGNBQWMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7O2tIQXRCVyxxQkFBcUIsa0JBR2IsYUFBYTtzSEFIckIscUJBQXFCLGNBRnJCLE1BQU07MkZBRU4scUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQjs7MEJBSWEsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbXBvcnRFeGNlbEdJQ1NlcnZpY2Uge1xyXG5cdHByaXZhdGUgdXJsQmFzZTogc3RyaW5nID0gdGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuZ2ljUXVldWVQdWJsaXNoZXIgKyAnaW1wb3J0LWV4Y2VsJztcclxuXHRwcml2YXRlIGhlYWRlckpzb24gPSB7IGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSkgfTtcclxuXHRjb25zdHJ1Y3RvcihASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueSwgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7fVxyXG5cclxuXHRzZW5kSW5pdGlhbHMoY2xpZW50czogYW55W10pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KHRoaXMudXJsQmFzZSArICcvaW5pdGlhbHMnLCBjbGllbnRzKTtcclxuXHR9XHJcblxyXG5cdHNlbmREaXNidXJzbWVudHMoZGlzYnVyc21lbnRzOiBhbnlbXSkge1xyXG5cdFx0bGV0IGF1eDogYW55ID0geyBkaXNidXJzZW1lbnRMaXN0OiBkaXNidXJzbWVudHMgfTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdCh0aGlzLnVybEJhc2UgKyAnL2Rpc2J1cnNtZW50cycsIGF1eCwgdGhpcy5oZWFkZXJKc29uKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFNlbmQgY29sbGVjdGlvbnNcclxuXHQgKiBAcGFyYW0gY29sbGVjdGlvbnNcclxuXHQgKiBAcmV0dXJuIG9ic2VydmFibGU8YW55PlxyXG5cdCAqL1xyXG5cdHNlbmRDb2xsZWN0aW9ucyhjb2xsZWN0aW9uczogYW55W10pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0bGV0IGF1eDogYW55ID0geyBnaWNDb2xsZWN0aW9uTGlzdDogY29sbGVjdGlvbnMgfTtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdCh0aGlzLnVybEJhc2UgKyAnL2NvbGxlY3Rpb25zJywgYXV4LCB0aGlzLmhlYWRlckpzb24pO1xyXG5cdH1cclxufVxyXG4iXX0=
@@ -15,9 +15,6 @@ export class SesionService {
15
15
  getEmailByLogin(login) {
16
16
  return this.httpClient.get(this.environment.host.backend.configuration + 'sesion/getEmailByLogin', { params: new HttpParams().set('login', login) });
17
17
  }
18
- getIngresoExterno(login) {
19
- return this.httpClient.get(this.environment.host.backend.configuration + 'sesion/getIngresoExterno', { params: new HttpParams().set('login', login) });
20
- }
21
18
  /**
22
19
  * @description if login has a session returns true else false
23
20
  * @param login identification number
@@ -45,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImpor
45
42
  type: Inject,
46
43
  args: ['environment']
47
44
  }] }, { type: i1.HttpClient }]; } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VzaW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wbGktY29tbW9ucy9zcmMvbGliL3NlcnZpY2VzL3Nlc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQU8zRSxNQUFNLE9BQU8sYUFBYTtJQUV6QixZQUEyQyxXQUFXLEVBQVUsVUFBc0I7UUFBM0MsZ0JBQVcsR0FBWCxXQUFXLENBQUE7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRDlFLGVBQVUsR0FBRyxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNELENBQUM7SUFFMUYsNkNBQTZDO0lBQzdDLFVBQVUsQ0FBQyxLQUFhO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEdBQUcsbUJBQW1CLEVBQ2pFLEVBQUUsTUFBTSxFQUFFLElBQUksVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxDQUNoRCxDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFhO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEdBQUcsd0JBQXdCLEVBQ3RFLEVBQUUsTUFBTSxFQUFFLElBQUksVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxDQUNoRCxDQUFDO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQWE7UUFDOUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsR0FBRywwQkFBMEIsRUFDeEUsRUFBRSxNQUFNLEVBQUUsSUFBSSxVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQ2hELENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGFBQWEsQ0FBQyxLQUFhO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQ3pCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsbUJBQW1CLEVBQ2pFLEVBQUUsTUFBTSxFQUFFLElBQUksVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxDQUNoRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILGdCQUFnQjtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQ3pCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsdUJBQXVCLENBQ3JFLENBQUM7SUFDSCxDQUFDOzswR0E5Q1csYUFBYSxrQkFFTCxhQUFhOzhHQUZyQixhQUFhLGNBRmIsTUFBTTsyRkFFTixhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQjs7MEJBR2EsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBIZWFkZXJzLCBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHNlc2lvbiB9IGZyb20gJ25nLXBsaS11dGlsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNlc2lvblNlcnZpY2Uge1xyXG5cdHByaXZhdGUgaGVhZGVySnNvbiA9IHsgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9KSB9O1xyXG5cdGNvbnN0cnVjdG9yKEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudCwgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7fVxyXG5cclxuXHQvKiogSXQgcmV0dXJucyB0aGUgbGlzdCBvZiBzZXNpb24gYnkgbG9naW4gKi9cclxuXHRnZXRCeUxvZ2luKGxvZ2luOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoXHJcblx0XHRcdHRoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmNvbmZpZ3VyYXRpb24gKyAnc2VzaW9uL2dldEJ5TG9naW4nLFxyXG5cdFx0XHR7IHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2xvZ2luJywgbG9naW4pIH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRnZXRFbWFpbEJ5TG9naW4obG9naW46IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuY29uZmlndXJhdGlvbiArICdzZXNpb24vZ2V0RW1haWxCeUxvZ2luJyxcclxuXHRcdFx0eyBwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdsb2dpbicsIGxvZ2luKSB9XHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0Z2V0SW5ncmVzb0V4dGVybm8obG9naW46IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuY29uZmlndXJhdGlvbiArICdzZXNpb24vZ2V0SW5ncmVzb0V4dGVybm8nLFxyXG5cdFx0XHR7IHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2xvZ2luJywgbG9naW4pIH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBAZGVzY3JpcHRpb24gaWYgbG9naW4gaGFzIGEgc2Vzc2lvbiByZXR1cm5zIHRydWUgZWxzZSBmYWxzZVxyXG5cdCAqIEBwYXJhbSBsb2dpbiBpZGVudGlmaWNhdGlvbiBudW1iZXJcclxuXHQgKiBAcmV0dXJuIEJvb2xlYW5cclxuXHQgKi9cclxuXHRnZXRIYXNTZXNzaW9uKGxvZ2luOiBzdHJpbmcpIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PEJvb2xlYW4+KFxyXG5cdFx0XHRgJHt0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5jb25maWd1cmF0aW9ufXNlc2lvbi9oYXNTZXNzaW9uYCxcclxuXHRcdFx0eyBwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdsb2dpbicsIGxvZ2luKSB9XHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogSXQgcmV0dXJucyBsaXN0IG9mIGluYWN0aXZlIHVzZXJzXHJcblx0ICogQHJldHVybiBsaXN0IG9mIHNlc2lvbnNcclxuXHQgKi9cclxuXHRnZXRJbmFjdGl2ZVVzZXJzKCk6IE9ic2VydmFibGU8c2VzaW9uW10+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PHNlc2lvbltdPihcclxuXHRcdFx0YCR7dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuY29uZmlndXJhdGlvbn1zZXNpb24vaW5hY3RpdmUtdXNlcnNgXHJcblx0XHQpO1xyXG5cdH1cclxufVxyXG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VzaW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wbGktY29tbW9ucy9zcmMvbGliL3NlcnZpY2VzL3Nlc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQU8zRSxNQUFNLE9BQU8sYUFBYTtJQUV6QixZQUEyQyxXQUFXLEVBQVUsVUFBc0I7UUFBM0MsZ0JBQVcsR0FBWCxXQUFXLENBQUE7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRDlFLGVBQVUsR0FBRyxFQUFFLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNELENBQUM7SUFFMUYsNkNBQTZDO0lBQzdDLFVBQVUsQ0FBQyxLQUFhO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEdBQUcsbUJBQW1CLEVBQ2pFLEVBQUUsTUFBTSxFQUFFLElBQUksVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxDQUNoRCxDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFhO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEdBQUcsd0JBQXdCLEVBQ3RFLEVBQUUsTUFBTSxFQUFFLElBQUksVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxDQUNoRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxhQUFhLENBQUMsS0FBYTtRQUMxQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUN6QixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLG1CQUFtQixFQUNqRSxFQUFFLE1BQU0sRUFBRSxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FDaEQsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDRixnQkFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FDekIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSx1QkFBdUIsQ0FDckUsQ0FBQztJQUNILENBQUM7OzBHQXZDVyxhQUFhLGtCQUVMLGFBQWE7OEdBRnJCLGFBQWEsY0FGYixNQUFNOzJGQUVOLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCOzswQkFHYSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cEhlYWRlcnMsIEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgc2VzaW9uIH0gZnJvbSAnbmctcGxpLXV0aWwnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VzaW9uU2VydmljZSB7XHJcblx0cHJpdmF0ZSBoZWFkZXJKc29uID0geyBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0pIH07XHJcblx0Y29uc3RydWN0b3IoQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50LCBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHt9XHJcblxyXG5cdC8qKiBJdCByZXR1cm5zIHRoZSBsaXN0IG9mIHNlc2lvbiBieSBsb2dpbiAqL1xyXG5cdGdldEJ5TG9naW4obG9naW46IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChcclxuXHRcdFx0dGhpcy5lbnZpcm9ubWVudC5ob3N0LmJhY2tlbmQuY29uZmlndXJhdGlvbiArICdzZXNpb24vZ2V0QnlMb2dpbicsXHJcblx0XHRcdHsgcGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpLnNldCgnbG9naW4nLCBsb2dpbikgfVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdGdldEVtYWlsQnlMb2dpbihsb2dpbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KFxyXG5cdFx0XHR0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5jb25maWd1cmF0aW9uICsgJ3Nlc2lvbi9nZXRFbWFpbEJ5TG9naW4nLFxyXG5cdFx0XHR7IHBhcmFtczogbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2xvZ2luJywgbG9naW4pIH1cclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBAZGVzY3JpcHRpb24gaWYgbG9naW4gaGFzIGEgc2Vzc2lvbiByZXR1cm5zIHRydWUgZWxzZSBmYWxzZVxyXG5cdCAqIEBwYXJhbSBsb2dpbiBpZGVudGlmaWNhdGlvbiBudW1iZXJcclxuXHQgKiBAcmV0dXJuIEJvb2xlYW5cclxuXHQgKi9cclxuXHRnZXRIYXNTZXNzaW9uKGxvZ2luOiBzdHJpbmcpIHtcclxuXHRcdHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PEJvb2xlYW4+KFxyXG5cdFx0XHRgJHt0aGlzLmVudmlyb25tZW50Lmhvc3QuYmFja2VuZC5jb25maWd1cmF0aW9ufXNlc2lvbi9oYXNTZXNzaW9uYCxcclxuXHRcdFx0eyBwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdsb2dpbicsIGxvZ2luKSB9XHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogSXQgcmV0dXJucyBsaXN0IG9mIGluYWN0aXZlIHVzZXJzXHJcblx0ICogQHJldHVybiBsaXN0IG9mIHNlc2lvbnNcclxuXHQgKi9cclxuXHQgZ2V0SW5hY3RpdmVVc2VycygpOiBPYnNlcnZhYmxlPHNlc2lvbltdPiB7XHJcblx0XHRyZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxzZXNpb25bXT4oXHJcblx0XHRcdGAke3RoaXMuZW52aXJvbm1lbnQuaG9zdC5iYWNrZW5kLmNvbmZpZ3VyYXRpb259c2VzaW9uL2luYWN0aXZlLXVzZXJzYFxyXG5cdFx0KTtcclxuXHR9XHJcbn1cclxuIl19
@@ -71,7 +71,7 @@ export class FormioUtil {
71
71
  !Object.prototype.hasOwnProperty.call(data[key], 'callingCodes') &&
72
72
  !Object.prototype.hasOwnProperty.call(data[key], 'nativeName') &&
73
73
  !Object.prototype.hasOwnProperty.call(data[key], 'original_name') &&
74
- !Object.prototype.hasOwnProperty.call(data[key], 'fullname') &&
74
+ !Object.prototype.hasOwnProperty.call(data[key], 'fullName') &&
75
75
  FormioUtil.getSelectBoxes(data[key])) {
76
76
  // remove item from array
77
77
  array.splice(i, 1);
@@ -82,7 +82,7 @@ export class FormioUtil {
82
82
  !Object.prototype.hasOwnProperty.call(data[key], 'callingCodes') &&
83
83
  !Object.prototype.hasOwnProperty.call(data[key], 'nativeName') &&
84
84
  !Object.prototype.hasOwnProperty.call(data[key], 'original_name') &&
85
- !Object.prototype.hasOwnProperty.call(data[key], 'fullname') &&
85
+ !Object.prototype.hasOwnProperty.call(data[key], 'fullName') &&
86
86
  !FormioUtil.getSelectBoxes(data[key])) {
87
87
  }
88
88
  else if (data[key] != undefined && data[key] != null && data[key] != '') {
@@ -577,4 +577,4 @@ export class FormioUtil {
577
577
  return result;
578
578
  }
579
579
  }
580
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWlvLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wbGktY29tbW9ucy9zcmMvbGliL3V0aWxzL2Zvcm1pby11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFFQUFxRTtBQUNyRSxPQUFPLEtBQUssTUFBTSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQztBQUVyQixNQUFNLE9BQU8sVUFBVTtJQUN0Qjs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLDZCQUE2QixDQUFDLFVBQVU7UUFDOUMsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksVUFBVSxFQUFFO1lBQ2YsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2pCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQztZQUNsQixLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsRUFBRTtnQkFDbkMsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEtBQUssRUFBRTtvQkFDaEQsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO3dCQUNuQixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO3FCQUNwQjtvQkFDRCxNQUFNLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQztvQkFDaEYsS0FBSyxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7aUJBQzFDO2dCQUNELE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO29CQUNqQixLQUFLLEVBQUUs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QUUsUUFBUTtZQUNsQixjQUFjLEVBQUUsY0FBYztTQUM5QixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxVQUFpQjtRQUMxQyxPQUFPLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssTUFBTSxDQUFDLG9CQUFvQixDQUFDLFVBQWlCO1FBQ3BELCtCQUErQjtRQUMvQixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxVQUFVLEVBQUU7WUFDZiwwQkFBMEI7WUFDMUIsS0FBSyxNQUFNLFNBQVMsSUFBSSxVQUFVLEVBQUU7Z0JBQ25DLGtHQUFrRztnQkFDbEcsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxRQUFRLEVBQUU7b0JBQ3ZELDBGQUEwRjtvQkFDMUYsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxLQUFLLEVBQUU7d0JBQ3BELE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7cUJBQ3ZCO2lCQUNEO2FBQ0Q7U0FDRDtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaW1wb3J0ICogYXMgdXRpbHNfIGZyb20gJ2Zvcm1pb2pzLXByb3llY3Rvc2NvbGZ1dHVyby91dGlscy91dGlscyc7XHJcbmltcG9ydCAqIGFzIHV0aWxzXyBmcm9tICdmb3JtaW9qcy1jb2xmdXR1cm8vdXRpbHMvdXRpbHMnO1xyXG5pbXBvcnQgeyBJZlN0bXQgfSBmcm9tICdAYW5ndWxhci9jb21waWxlcic7XHJcbmltcG9ydCB7IFRva2VuU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Rva2VuLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFRm9ybWlvS2V5IH0gZnJvbSAnbmctcGxpLXV0aWwnO1xyXG5jb25zdCB1dGlscyA9IHV0aWxzXztcclxuXHJcbmV4cG9ydCBjbGFzcyBGb3JtaW9VdGlsIHtcclxuXHQvKipcclxuXHQgKiBJdCByZXR1cm5zIHRoZSBjb21wb25lbnRzIGZvcm1hdGVkIGJ5IHBhbmVsXHJcblx0ICogQHBhcmFtIGNvbXBvbmVudHNcclxuXHQgKiBAcmV0dXJuIHRoZSBvYmplY3QgaXMgW3twYW5lbDogLCBpdGVtczogW3sgdmFsdWU6ICwgbGFiZWw6IH1dfV1cclxuXHQgKi9cclxuXHRzdGF0aWMgZ2V0Rm9ybWF0dGVkQ29tcG9uZW50c0J5UGFuZWwoY29tcG9uZW50cyk6IGFueVtdIHtcclxuXHRcdGxldCByZXN1bHQgPSBbXTtcclxuXHRcdGlmIChjb21wb25lbnRzKSB7XHJcblx0XHRcdGxldCBncm91cCA9IG51bGw7XHJcblx0XHRcdGxldCBvYmplY3QgPSBudWxsO1xyXG5cdFx0XHRmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiBjb21wb25lbnRzKSB7XHJcblx0XHRcdFx0aWYgKGNvbXBvbmVudFtFRm9ybWlvS2V5LlRJVExFX1BBTkVMXSAhPT0gZ3JvdXApIHtcclxuXHRcdFx0XHRcdGlmIChncm91cCAhPT0gbnVsbCkge1xyXG5cdFx0XHRcdFx0XHRyZXN1bHQucHVzaChvYmplY3QpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0b2JqZWN0ID0geyBsYWJlbDogY29tcG9uZW50W0VGb3JtaW9LZXkuVElUTEVfUEFORUxdLCBpdGVtczogW10sIHRvZ2dsZTogZmFsc2UgfTtcclxuXHRcdFx0XHRcdGdyb3VwID0gY29tcG9uZW50W0VGb3JtaW9LZXkuVElUTEVfUEFORUxdO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRvYmplY3QuaXRlbXMucHVzaCh7XHJcblx0XHRcdFx0XHRsYWJlbDogY29tcG9uZW50W0VGb3JtaW9LZXkuTEFCRUxdLFxyXG5cdFx0XHRcdFx0dmFsdWU6IGNvbXBvbmVudFtFRm9ybWlvS2V5LktFWV1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAoZ3JvdXAgIT09IG51bGwpIHJlc3VsdC5wdXNoKG9iamVjdCk7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gcmVzdWx0O1xyXG5cdH1cclxuXHRzdGF0aWMgZ2V0U2VsZWN0Qm94ZXMoc2VsZWN0Qm94ZSkge1xyXG5cdFx0dmFyIGlzdHJ1ZSA9IGZhbHNlO1xyXG5cclxuXHRcdGlmIChzZWxlY3RCb3hlICE9IHVuZGVmaW5lZCAmJiBzZWxlY3RCb3hlICE9IG51bGwgJiYgdHlwZW9mIHNlbGVjdEJveGUgPT09ICdvYmplY3QnKSB7XHJcblx0XHRcdGxldCBkYXRhSGFzVHJ1ZSA9IE9iamVjdC52YWx1ZXMoc2VsZWN0Qm94ZSk7XHJcblxyXG5cdFx0XHRkYXRhSGFzVHJ1ZS5mb3JFYWNoKGZ1bmN0aW9uICh2YWx1ZSkge1xyXG5cdFx0XHRcdGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyAmJiB2YWx1ZSkge1xyXG5cdFx0XHRcdFx0aXN0cnVlID0gdmFsdWU7XHJcblx0XHRcdFx0XHRyZXR1cm4gdmFsdWU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBFeHBlY3RlZCBvdXRwdXQ6IEFycmF5IFtcInNvbWVzdHJpbmdcIiwgNDIsIGZhbHNlXVxyXG5cclxuXHRcdHJldHVybiBpc3RydWU7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBJdCByZXR1cm5zIHRoZSBjb21wb25lbnRzIGFyZSByZXF1aXJlZCBhY2NvcmRpbmcgd2l0aCBkYXRhXHJcblx0ICogQHBhcmFtIGNvbXBvbmVudHMgYXJyYXkgb2YgY29tcG9uZW50c1xyXG5cdCAqIEBwYXJhbSBkYXRhXHJcblx0ICovXHJcblx0c3RhdGljIGdldFJlcXVpcmVkQ29tcG9uZW50c0J5RGF0YShjb21wb25lbnRzLCBkYXRhKSB7XHJcblx0XHQvLyBnZXQgdGhlIHJlcXVpcmVkIGNvbXBvbmVudHNcclxuXHJcblx0XHRsZXQgYXJyYXkgPSBGb3JtaW9VdGlsLmdldFJlcXVpcmVkQ29tcG9uZW50cyhjb21wb25lbnRzKTtcclxuXHJcblx0XHQvLyBpZiBub3QgZGF0YSB0aGVuIHJldHVybiBjb21wb25lbnRzXHJcblx0XHRpZiAoZGF0YSAmJiBhcnJheSkge1xyXG5cdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0Y29uc3QgY29tcG9uZW50ID0gYXJyYXlbaV07XHJcblx0XHRcdFx0Ly8gdXNlIGZvcm1pbyB0byBjaGVjayBjb25kaXRpb24gYWNjb3JkaW5nIHdpdGggZGF0YVxyXG5cdFx0XHRcdGlmICh1dGlscy5jaGVja0NvbmRpdGlvbihjb21wb25lbnQsIG51bGwsIGRhdGEsIG51bGwsIG51bGwpKSB7XHJcblx0XHRcdFx0XHRjb25zdCBrZXkgPSBjb21wb25lbnRbRUZvcm1pb0tleS5LRVldO1xyXG5cclxuXHRcdFx0XHRcdGlmIChBcnJheS5pc0FycmF5KGRhdGFba2V5XSkgJiYgZGF0YVtrZXldLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHRcdFx0Ly8gcmVtb3ZlIGl0ZW0gZnJvbSBhcnJheVxyXG5cdFx0XHRcdFx0XHRhcnJheS5zcGxpY2UoaSwgMSk7XHJcblx0XHRcdFx0XHRcdGktLTtcclxuXHRcdFx0XHRcdH0gZWxzZSBpZiAoXHJcblx0XHRcdFx0XHRcdHR5cGVvZiBkYXRhW2tleV0gPT09ICdvYmplY3QnICYmXHJcblx0XHRcdFx0XHRcdCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZGF0YVtrZXldLCAnZm9ybWF0dGVkX2FkZHJlc3MnKSAmJlxyXG5cdFx0XHRcdFx0XHQhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGRhdGFba2V5XSwgJ2NhbGxpbmdDb2RlcycpICYmXHJcblx0XHRcdFx0XHRcdCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZGF0YVtrZXldLCAnbmF0aXZlTmFtZScpICYmXHJcblx0XHRcdFx0XHRcdCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZGF0YVtrZXldLCAnb3JpZ2luYWxfbmFtZScpICYmXHJcblx0XHRcdFx0XHRcdCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZGF0YVtrZXldLCAnZnVsbG5hbWUnKSAmJlxyXG5cdFx0XHRcdFx0XHRGb3JtaW9VdGlsLmdldFNlbGVjdEJveGVzKGRhdGFba2V5XSlcclxuXHRcdFx0XHRcdCkge1xyXG5cdFx0XHRcdFx0XHQvLyByZW1vdmUgaXRlbSBmcm9tIGFycmF5XHJcblx0XHRcdFx0XHRcdGFycmF5LnNwbGljZShpLCAxKTtcclxuXHRcdFx0XHRcdFx0aS0tO1xyXG5cdFx0XHRcdFx0fSBlbHNlIGlmIChcclxuXHRcdFx0XHRcdFx0dHlwZW9mIGRhdGFba2V5XSA9PT0gJ29iamVjdCcgJiZcclxuXHRcdFx0XHRcdFx0IU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkYXRhW2tleV0sICdmb3JtYXR0ZWRfYWRkcmVzcycpICYmXHJcblx0XHRcdFx0XHRcdCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZGF0YVtrZXldLCAnY2FsbGluZ0NvZGVzJykgJiZcclxuXHRcdFx0XHRcdFx0IU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkYXRhW2tleV0sICduYXRpdmVOYW1lJykgJiZcclxuXHRcdFx0XHRcdFx0IU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkYXRhW2tleV0sICdvcmlnaW5hbF9uYW1lJykgJiZcclxuXHRcdFx0XHRcdFx0IU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkYXRhW2tleV0sICdmdWxsbmFtZScpICYmXHJcblx0XHRcdFx0XHRcdCFGb3JtaW9VdGlsLmdldFNlbGVjdEJveGVzKGRhdGFba2V5XSlcclxuXHRcdFx0XHRcdCkge1xyXG5cdFx0XHRcdFx0fSBlbHNlIGlmIChkYXRhW2tleV0gIT0gdW5kZWZpbmVkICYmIGRhdGFba2V5XSAhPSBudWxsICYmIGRhdGFba2V5XSAhPSAnJykge1xyXG5cdFx0XHRcdFx0XHQvLyByZW1vdmUgaXRlbSBmcm9tIGFycmF5XHJcblx0XHRcdFx0XHRcdGFycmF5LnNwbGljZShpLCAxKTtcclxuXHRcdFx0XHRcdFx0aS0tO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0aWYgKFxyXG5cdFx0XHRcdFx0XHRcdGNvbXBvbmVudC5jdXN0b21Db25kaXRpb25hbCAmJlxyXG5cdFx0XHRcdFx0XHRcdGNvbXBvbmVudC5jdXN0b21Db25kaXRpb25hbC5pbmNsdWRlcygnc2hvdycpXHJcblx0XHRcdFx0XHRcdCkge1xyXG5cdFx0XHRcdFx0XHRcdC8vIHJlbW92ZSBpdGVtIGZyb20gYXJyYXlcclxuXHRcdFx0XHRcdFx0XHRhcnJheS5zcGxpY2UoaSwgMSk7XHJcblx0XHRcdFx0XHRcdFx0aS0tO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdC8vIHJlbW92ZSBpdGVtIGZyb20gYXJyYXlcclxuXHRcdFx0XHRcdGFycmF5LnNwbGljZShpLCAxKTtcclxuXHRcdFx0XHRcdGktLTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHJldHVybiBhcnJheTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEl0IHJldHVybnMgdGhlIGNvbXBvbmVudHMgdGhhdCBhcmUgcmVxdWlyZWRcclxuXHQgKiBAcGFyYW0gY29tcG9uZW50cyBhcnJheSBvZiBjb21wb25lbnRzXHJcblx0ICovXHJcblx0c3RhdGljIGdldFVuaXF1ZUNvbXBvbmVudHMoY29tcG9uZW50cykge1xyXG5cdFx0cmV0dXJuIEZvcm1pb1V0aWwuZ2V0Q29tcG9uZW50c0J5RmVhdHVyZShjb21wb25lbnRzLCBbRUZvcm1pb0tleS5VTklRVUVdLCB0cnVlKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEl0IHJldHVybnMgdGhlIGNvbXBvbmVudHMgdGhhdCBhcmUgcmVxdWlyZWRcclxuXHQgKiBAcGFyYW0gY29tcG9uZW50cyBhcnJheSBvZiBjb21wb25lbnRzXHJcblx0ICovXHJcblx0c3RhdGljIGdldFJlcXVpcmVkQ29tcG9uZW50cyhjb21wb25lbnRzKSB7XHJcblx0XHRyZXR1cm4gRm9ybWlvVXRpbC5nZXRDb21wb25lbnRzQnlGZWF0dXJlKFxyXG5cdFx0XHRjb21wb25lbnRzLFxyXG5cdFx0XHRbRUZvcm1pb0tleS5WQUxJREFURSwgRUZvcm1pb0tleS5SRVFVSVJFRF0sXHJcblx0XHRcdHRydWVcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBJdCByZXR1cm5zIHRoZSBjb21wb25lbnRzIHRoYXQgaGF2ZSBhIHNwZWNpZmljIGZlYXR1cmUgZGVmaW5lZCBieSBwcm9wZXJ0aWVzIGFuZCB2YWx1ZVxyXG5cdCAqIEBwYXJhbSBjb21wb25lbnRzIGFycmF5IG9mIGNvbXBvbmVudHNcclxuXHQgKiBAcGFyYW0gcHJvcGVydGllcyBwYXRoIG9mIHByb3BlcnRpZXMgZXhhbXBsZSBbdmFsaWRhdGUsIHJlcXVpcmVkXSBvciBbdW5pcXVlXVxyXG5cdCAqIEBwYXJhbSB2YWx1ZSB0aGUgdmFsdWUgdGhhdCBzaG91bGQgaGF2ZSB0aGUgcHJvcGVydHlcclxuXHQgKi9cclxuXHRwcml2YXRlIHN0YXRpYyBnZXRDb21wb25lbnRzQnlGZWF0dXJlKGNvbXBvbmVudHM6IGFueVtdLCBwcm9wZXJ0aWVzOiBzdHJpbmdbXSwgdmFsdWU6IGFueSkge1xyXG5cdFx0bGV0IHJlc3VsdCA9IFtdO1xyXG5cdFx0aWYgKHByb3BlcnRpZXMgJiYgcHJvcGVydGllcy5sZW5ndGggPiAwKSB7XHJcblx0XHRcdC8vIGdldCBjb21wb25lbnRzXHJcblx0XHRcdGNvbnN0IGZpZWxkczogYW55W10gPSBGb3JtaW9VdGlsLmdldENvbXBvbmVudHMoY29tcG9uZW50cyk7XHJcblxyXG5cdFx0XHQvLyBnZXQgZmlyc3QgYW5kIGxhc3QgcHJvcGVydHlcclxuXHRcdFx0Y29uc3QgZmlyc3RQcm9wZXJ0eSA9IHByb3BlcnRpZXNbMF07XHJcblx0XHRcdGNvbnN0IGxhc3RQcm9wZXJ0eSA9IHByb3BlcnRpZXNbcHJvcGVydGllcy5sZW5ndGggLSAxXTtcclxuXHJcblx0XHRcdGlmIChmaWVsZHMpIHtcclxuXHRcdFx0XHQvLyBpdGVyYXRlIHRoZSBmaWVsZHNcclxuXHRcdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGZpZWxkcy5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRcdFx0Ly8gaXQgY29udGFpbnMgdGhlIGVudGlyZSBvYmplY3QgZmllbGRcclxuXHRcdFx0XHRcdGNvbnN0IGZpZWxkID0gZmllbGRzW2ldO1xyXG5cdFx0XHRcdFx0Ly8gaXQgY29udGFpbnMgdGhlIGN1cnJlbnQgY29tcG9uZW50IGFuZCBpdCBpcyBnb25uYSBiZSB0aGUgY29tcG9uZW50IG9mIGV2ZXJ5IHByb3BlcnR5XHJcblx0XHRcdFx0XHRsZXQgY29tcG9uZW50ID0gZmllbGQ7XHJcblx0XHRcdFx0XHRpZiAoZmllbGRbZmlyc3RQcm9wZXJ0eV0pIHtcclxuXHRcdFx0XHRcdFx0Zm9yIChsZXQgaiA9IDA7IGogPCBwcm9wZXJ0aWVzLmxlbmd0aDsgaisrKSB7XHJcblx0XHRcdFx0XHRcdFx0Y29uc3QgcHJvcGVydHkgPSBwcm9wZXJ0aWVzW2pdO1xyXG5cdFx0XHRcdFx0XHRcdC8vIGlmIGNvbXBvbmVudC5wcm9wZXJ0eSBkb2VzbnQgZXhpc3QgdGhlbiBicmVha1xyXG5cdFx0XHRcdFx0XHRcdGlmICghY29tcG9uZW50W3Byb3BlcnR5XSkgYnJlYWs7XHJcblx0XHRcdFx0XHRcdFx0aWYgKHByb3BlcnR5ID09PSBsYXN0UHJvcGVydHkpIHtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIGl0IGlzIHRoZSBsYXN0IHByb3BlcnR5IHNvIGlmIHRoZSB2YWx1ZSBpcyBlcXVhbHMgdG8gY29tcG9uZW50Lmxhc3Rwcm9wZXJ0eSB0aGVuIGl0IGlzIGFkZGVkIHRvIHJlc3VsdFxyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGNvbXBvbmVudFtwcm9wZXJ0eV0gPT0gdmFsdWUpIHJlc3VsdC5wdXNoKGZpZWxkKTtcclxuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gb3RoZXJ3aXNlIGNvbXBvbmVudCB3aWxsIGJlIGVxdWFsIHRvIHRoZSBjb21wb25lbnQucHJvcGVydHlcclxuXHRcdFx0XHRcdFx0XHRcdGNvbXBvbmVudCA9IGNvbXBvbmVudFtwcm9wZXJ0eV07XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gcmVzdWx0O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogSXQgcmV0dXJucyB0aGUgY29tcG9uZW50c1xyXG5cdCAqIEBwYXJhbSBjb21wb25lbnRzXHJcblx0ICovXHJcblx0c3RhdGljIGdldENvbXBvbmVudHMoY29tcG9uZW50czogYW55W10pOiBhbnlbXSB7XHJcblx0XHRyZXR1cm4gRm9ybWlvVXRpbC5nZXRDb21wb25lbnRzQnlSZWN1cnNpb24oY29tcG9uZW50cywgJycsIG51bGwpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogSXQgcmV0dXJucyB0aGUgY29tcG9uZW50cyBhcnJheSBvZiB0aGUgZm9ybSBieSByZWN1cnNpb25cclxuXHQgKiBAcGFyYW0gY29tcG9uZW50cyBhcnJheSBvZiBjb21wb25lbnRzXHJcblx0ICogQHBhcmFtIHRpdGxlUGFuZWwgbmFtZSBvZiBwYXJlbnQgcGFuZWwsIHNvIGNoaWxkcmVuIGNvbXBvbmVudHMgd2lsbCBpbmhlcml0IHRoZSBwYW5lbE5hbWVcclxuXHQgKiBAcGFyYW0gY29uZGl0aW9uYWxPYmplY3QgY29uZGl0aW9uYWwgb2JqZWN0IGl0IHdpbGwgYmUgaW5oZXJpdGVkIGZyb20gcGFuZWwge2NvbmRpdGlvbmFsOiB7IGVxOiAsIHZhbHVlOiAsIHdoZW46ICwganNvbjogfSwgY3VzdG9tQ29uZGl0aW9uYWw6IH1cclxuXHQgKi9cclxuXHRwcml2YXRlIHN0YXRpYyBnZXRDb21wb25lbnRzQnlSZWN1cnNpb24oXHJcblx0XHRjb21wb25lbnRzOiBhbnlbXSxcclxuXHRcdHRpdGxlUGFuZWw6IHN0cmluZyxcclxuXHRcdGNvbmRpdGlvbmFsUGFyZW50OiBhbnlcclxuXHQpOiBhbnlbXSB7XHJcblx0XHQvLyBpdCBjb250YWlucyB0aGUgcmVzdWx0IGFycmF5XHJcblx0XHRsZXQgcmVzdWx0ID0gW107XHJcblx0XHRpZiAoY29tcG9uZW50cykge1xyXG5cdFx0XHQvLyBpdGVyYXRlIG92ZXIgY29tcG9uZW50c1xyXG5cdFx0XHRmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiBjb21wb25lbnRzKSB7XHJcblx0XHRcdFx0Ly8gYXZvaWQgdGhlIGVkaXRncmlkIGNvbXBvbmVudCBvdCBpZiBpdCBoYXMgYSBkaWZmZXJlbnQgYmVoYXZpb3IgaXQgc2hvdWxkIGhhdmUgYW4gZWxzZSBzdGF0ZW1lbnRcclxuXHRcdFx0XHRpZiAoY29tcG9uZW50W0VGb3JtaW9LZXkuVFlQRV0gIT09IEVGb3JtaW9LZXkuRURJVEdSSUQpIHtcclxuXHRcdFx0XHRcdC8vIGlmIGNvbXBvbmVudCBpcyBwYW5lbCB0aGVuIHRpdGxlUGFuZWwgdmFyaWFibGUgaXMgY2hhbmdlZCwgYW5kIGl0IGlzIGdvbm5hIGJlIGluaGVyaXRlZFxyXG5cdFx0XHRcdFx0aWYgKGNvbXBvbmVudFtFRm9ybWlvS2V5LlRZUEVdID09PSBFRm9ybWlvS2V5LlBBTkVMKSB7XHJcblx0XHRcdFx0XHRcdHRpdGxlUGFuZWwgPSBjb21wb25lbnRbRUZvcm1pb0tleS5USVRMRV07XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0aWYgKFxyXG5cdFx0XHRcdFx0XHQodHlwZW9mIGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTVBPTkVOVFNdICE9PSAndW5kZWZpbmVkJyB8fFxyXG5cdFx0XHRcdFx0XHRcdHR5cGVvZiBjb21wb25lbnRbRUZvcm1pb0tleS5DT0xVTU5TXSAhPT0gJ3VuZGVmaW5lZCcpICYmXHJcblx0XHRcdFx0XHRcdCh0eXBlb2YgY29tcG9uZW50W0VGb3JtaW9LZXkuVFlQRV0gPT0gJ3VuZGVmaW5lZCcgfHxcclxuXHRcdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5UWVBFXSAhPT0gRUZvcm1pb0tleS5UWVBFX0FERFJFU1MpXHJcblx0XHRcdFx0XHQpIHtcclxuXHRcdFx0XHRcdFx0aWYgKGNvbXBvbmVudFsndHlwZSddICE9PSAnYWRkcmVzcycpIHtcclxuXHRcdFx0XHRcdFx0XHQvLyByZXNvbHZlIGNvbmRpdGlvbmFsIHBhcmVudCBjb25kaXRpb25hbFxyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IGNvbmRpdGlvbmFsID0gdGhpcy5yZXNvbHZlSW5oZXJpdGFuY2VDb25kaXRpb25hbChcclxuXHRcdFx0XHRcdFx0XHRcdGNvbmRpdGlvbmFsUGFyZW50LFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ09ORElUSU9OQUxdLFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ1VTVE9NX0NPTkRJVElPTkFMXSxcclxuXHRcdFx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LklEXVxyXG5cdFx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRcdFx0Ly8gY2hhbmdlIGNvbmRpdGlvblxyXG5cdFx0XHRcdFx0XHRcdGlmIChjb25kaXRpb25hbCkgY29uZGl0aW9uYWxQYXJlbnQgPSBjb25kaXRpb25hbDtcclxuXHRcdFx0XHRcdFx0XHQvLyBpdCBjb250YWlucyB0aGUgc3ViY29tcG9uZW50cyBkZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mIGNvbXBvbmVudCBpZiBpdCBoYXMgY29tcG9uZW50cyBvciBjb2x1bW5zXHJcblx0XHRcdFx0XHRcdFx0bGV0IHN1YkNvbXBvbmVudHMgPVxyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZW9mIGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTVBPTkVOVFNdICE9PSAndW5kZWZpbmVkJ1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQ/IGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTVBPTkVOVFNdXHJcblx0XHRcdFx0XHRcdFx0XHRcdDogY29tcG9uZW50W0VGb3JtaW9LZXkuQ09MVU1OU107XHJcblx0XHRcdFx0XHRcdFx0Ly8gaWYgY29tcG9uZW50IGhhcyBzdWJDb21wb25lbnRzLCB0aGVuIGV4ZWN1dGUgdGhlIHJlY3Vyc2lvbiBmdW5jdGlvbiB0byBnZXQgdGhlIHJlY3Vyc2lvbm5SZXN1bHRcclxuXHRcdFx0XHRcdFx0XHRjb25zdCByZWN1cnNpb25SZXN1bHQgPSBGb3JtaW9VdGlsLmdldENvbXBvbmVudHNCeVJlY3Vyc2lvbihcclxuXHRcdFx0XHRcdFx0XHRcdHN1YkNvbXBvbmVudHMsXHJcblx0XHRcdFx0XHRcdFx0XHR0aXRsZVBhbmVsLFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29uZGl0aW9uYWxQYXJlbnRcclxuXHRcdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0XHRcdC8vIGlmIHJlY3Vyc2lvbiByZXN1bHQgdGhlbiByZXN1bHQgY29uY2F0cyB0aGUgcmVjdXJzaW9uUmVzdWx0XHJcblx0XHRcdFx0XHRcdFx0aWYgKHJlY3Vyc2lvblJlc3VsdCkgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdChyZWN1cnNpb25SZXN1bHQpO1xyXG5cdFx0XHRcdFx0XHRcdC8vIHJlc2V0IGNvbmRpdGlvbmFsIFBhcmVudFxyXG5cdFx0XHRcdFx0XHRcdGlmIChjb21wb25lbnRbRUZvcm1pb0tleS5JRF0gPT0gY29uZGl0aW9uYWxQYXJlbnQuaWQpXHJcblx0XHRcdFx0XHRcdFx0XHRjb25kaXRpb25hbFBhcmVudCA9IHVuZGVmaW5lZDtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRyZXN1bHQucHVzaChjb21wb25lbnQpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHQvLyBhdm9pZCB0aGUgY29tcG9uZW50IHR5cGUgYnV0dG9uXHJcblx0XHRcdFx0XHRcdGlmIChcclxuXHRcdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5UWVBFXSAhPT0gRUZvcm1pb0tleS5CVVRUT04gJiZcclxuXHRcdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5LRVldICYmXHJcblx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuTEFCRUxdXHJcblx0XHRcdFx0XHRcdCkge1xyXG5cdFx0XHRcdFx0XHRcdC8vIHJlc29sdmUgY29uZGl0aW9uYWwgY29uZGl0aW9uYWwgb2JqZWN0XHJcblx0XHRcdFx0XHRcdFx0bGV0IGNvbmRpdGlvbmFsID0gdGhpcy5yZXNvbHZlSW5oZXJpdGFuY2VDb25kaXRpb25hbChcclxuXHRcdFx0XHRcdFx0XHRcdGNvbmRpdGlvbmFsUGFyZW50LFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ09ORElUSU9OQUxdLFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ1VTVE9NX0NPTkRJVElPTkFMXSxcclxuXHRcdFx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LklEXVxyXG5cdFx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRcdFx0aWYgKCFjb25kaXRpb25hbCkgY29uZGl0aW9uYWwgPSBjb25kaXRpb25hbFBhcmVudDtcclxuXHRcdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5DT05ESVRJT05BTF0gPSBjb25kaXRpb25hbFtFRm9ybWlvS2V5LkNPTkRJVElPTkFMXTtcclxuXHRcdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5DVVNUT01fQ09ORElUSU9OQUxdID1cclxuXHRcdFx0XHRcdFx0XHRcdGNvbmRpdGlvbmFsW0VGb3JtaW9LZXkuQ1VTVE9NX0NPTkRJVElPTkFMXTtcclxuXHRcdFx0XHRcdFx0XHQvLyBhZGQgbmFtUGFuZWwgYXMgcHJvcGVydHlcclxuXHRcdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5USVRMRV9QQU5FTF0gPSB0aXRsZVBhbmVsO1xyXG5cdFx0XHRcdFx0XHRcdC8vIGFkZCBjb21wb25lbnQgdG8gdGhlIHJlc3VsdFxyXG5cdFx0XHRcdFx0XHRcdHJlc3VsdC5wdXNoKGNvbXBvbmVudCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9IGVsc2UgaWYgKGNvbXBvbmVudFtFRm9ybWlvS2V5LlRZUEVdID09PSBFRm9ybWlvS2V5LkVESVRHUklEKSB7XHJcblx0XHRcdFx0XHRpZiAoY29tcG9uZW50LnZhbGlkYXRlLnJlcXVpcmVkKSB7XHJcblx0XHRcdFx0XHRcdHJlc3VsdC5wdXNoKGNvbXBvbmVudCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gcmVzdWx0O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogSXQgcmV0dXJucyB0aGUgY29tcG9uZW50c1xyXG5cdCAqIEBwYXJhbSBjb21wb25lbnRzXHJcblx0ICogQHBhcmFtIGtlZXBFZGl0R3JpZHNcclxuXHQgKi9cclxuXHRzdGF0aWMgZ2V0Q29tcG9uZW50c1dpdGhFZGl0R3JpZHMoY29tcG9uZW50czogYW55W10pOiBhbnlbXSB7XHJcblx0XHRyZXR1cm4gRm9ybWlvVXRpbC5nZXRDb21wb25lbnRzQnlSZWN1cnNpb25XaXRoRWRpdEdyaWRzKGNvbXBvbmVudHMsICcnLCBudWxsKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEl0IHJldHVybnMgdGhlIGNvbXBvbmVudHMgYXJyYXkgb2YgdGhlIGZvcm0gYnkgcmVjdXJzaW9uXHJcblx0ICogQHBhcmFtIGNvbXBvbmVudHMgYXJyYXkgb2YgY29tcG9uZW50c1xyXG5cdCAqIEBwYXJhbSB0aXRsZVBhbmVsIG5hbWUgb2YgcGFyZW50IHBhbmVsLCBzbyBjaGlsZHJlbiBjb21wb25lbnRzIHdpbGwgaW5oZXJpdCB0aGUgcGFuZWxOYW1lXHJcblx0ICogQHBhcmFtIGNvbmRpdGlvbmFsT2JqZWN0IGNvbmRpdGlvbmFsIG9iamVjdCBpdCB3aWxsIGJlIGluaGVyaXRlZCBmcm9tIHBhbmVsIHtjb25kaXRpb25hbDogeyBlcTogLCB2YWx1ZTogLCB3aGVuOiAsIGpzb246IH0sIGN1c3RvbUNvbmRpdGlvbmFsOiB9XHJcblx0ICovXHJcblx0cHJpdmF0ZSBzdGF0aWMgZ2V0Q29tcG9uZW50c0J5UmVjdXJzaW9uV2l0aEVkaXRHcmlkcyhcclxuXHRcdGNvbXBvbmVudHM6IGFueVtdLFxyXG5cdFx0dGl0bGVQYW5lbDogc3RyaW5nLFxyXG5cdFx0Y29uZGl0aW9uYWxQYXJlbnQ6IGFueVxyXG5cdCk6IGFueVtdIHtcclxuXHRcdC8vIGl0IGNvbnRhaW5zIHRoZSByZXN1bHQgYXJyYXlcclxuXHRcdGxldCByZXN1bHQgPSBbXTtcclxuXHRcdGlmIChjb21wb25lbnRzKSB7XHJcblx0XHRcdC8vIGl0ZXJhdGUgb3ZlciBjb21wb25lbnRzXHJcblx0XHRcdGZvciAoY29uc3QgY29tcG9uZW50IG9mIGNvbXBvbmVudHMpIHtcclxuXHRcdFx0XHQvLyBhdm9pZCB0aGUgZWRpdGdyaWQgY29tcG9uZW50IG90IGlmIGl0IGhhcyBhIGRpZmZlcmVudCBiZWhhdmlvciBpdCBzaG91bGQgaGF2ZSBhbiBlbHNlIHN0YXRlbWVudFxyXG5cclxuXHRcdFx0XHQvLyBpZiBjb21wb25lbnQgaXMgcGFuZWwgdGhlbiB0aXRsZVBhbmVsIHZhcmlhYmxlIGlzIGNoYW5nZWQsIGFuZCBpdCBpcyBnb25uYSBiZSBpbmhlcml0ZWRcclxuXHRcdFx0XHRpZiAoY29tcG9uZW50W0VGb3JtaW9LZXkuVFlQRV0gPT09IEVGb3JtaW9LZXkuUEFORUwpIHtcclxuXHRcdFx0XHRcdHRpdGxlUGFuZWwgPSBjb21wb25lbnRbRUZvcm1pb0tleS5USVRMRV07XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRpZiAoXHJcblx0XHRcdFx0XHQodHlwZW9mIGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTVBPTkVOVFNdICE9PSAndW5kZWZpbmVkJyB8fFxyXG5cdFx0XHRcdFx0XHR0eXBlb2YgY29tcG9uZW50W0VGb3JtaW9LZXkuQ09MVU1OU10gIT09ICd1bmRlZmluZWQnKSAmJlxyXG5cdFx0XHRcdFx0KHR5cGVvZiBjb21wb25lbnRbRUZvcm1pb0tleS5UWVBFXSA9PSAndW5kZWZpbmVkJyB8fFxyXG5cdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5UWVBFXSAhPT0gRUZvcm1pb0tleS5UWVBFX0FERFJFU1MpXHJcblx0XHRcdFx0KSB7XHJcblx0XHRcdFx0XHQvLyByZXNvbHZlIGNvbmRpdGlvbmFsIHBhcmVudCBjb25kaXRpb25hbFxyXG5cdFx0XHRcdFx0Y29uc3QgY29uZGl0aW9uYWwgPSB0aGlzLnJlc29sdmVJbmhlcml0YW5jZUNvbmRpdGlvbmFsKFxyXG5cdFx0XHRcdFx0XHRjb25kaXRpb25hbFBhcmVudCxcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ09ORElUSU9OQUxdLFxyXG5cdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5DVVNUT01fQ09ORElUSU9OQUxdLFxyXG5cdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5JRF1cclxuXHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHQvLyBjaGFuZ2UgY29uZGl0aW9uXHJcblx0XHRcdFx0XHRpZiAoY29uZGl0aW9uYWwpIGNvbmRpdGlvbmFsUGFyZW50ID0gY29uZGl0aW9uYWw7XHJcblx0XHRcdFx0XHQvLyBpdCBjb250YWlucyB0aGUgc3ViY29tcG9uZW50cyBkZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mIGNvbXBvbmVudCBpZiBpdCBoYXMgY29tcG9uZW50cyBvciBjb2x1bW5zXHJcblx0XHRcdFx0XHRsZXQgc3ViQ29tcG9uZW50cyA9XHJcblx0XHRcdFx0XHRcdHR5cGVvZiBjb21wb25lbnRbRUZvcm1pb0tleS5DT01QT05FTlRTXSAhPT0gJ3VuZGVmaW5lZCdcclxuXHRcdFx0XHRcdFx0XHQ/IGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTVBPTkVOVFNdXHJcblx0XHRcdFx0XHRcdFx0OiBjb21wb25lbnRbRUZvcm1pb0tleS5DT0xVTU5TXTtcclxuXHJcblx0XHRcdFx0XHRpZiAoY29tcG9uZW50W0VGb3JtaW9LZXkuVFlQRV0gPT09IEVGb3JtaW9LZXkuRURJVEdSSUQpIHtcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuVElUTEVfUEFORUxdID0gdGl0bGVQYW5lbDtcclxuXHRcdFx0XHRcdFx0cmVzdWx0LnB1c2goY29tcG9uZW50KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC8vIGlmIGNvbXBvbmVudCBoYXMgc3ViQ29tcG9uZW50cywgdGhlbiBleGVjdXRlIHRoZSByZWN1cnNpb24gZnVuY3Rpb24gdG8gZ2V0IHRoZSByZWN1cnNpb25uUmVzdWx0XHJcblx0XHRcdFx0XHRjb25zdCByZWN1cnNpb25SZXN1bHQgPSBGb3JtaW9VdGlsLmdldENvbXBvbmVudHNCeVJlY3Vyc2lvbldpdGhFZGl0R3JpZHMoXHJcblx0XHRcdFx0XHRcdHN1YkNvbXBvbmVudHMsXHJcblx0XHRcdFx0XHRcdHRpdGxlUGFuZWwsXHJcblx0XHRcdFx0XHRcdGNvbmRpdGlvbmFsUGFyZW50XHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0Ly8gaWYgcmVjdXJzaW9uIHJlc3VsdCB0aGVuIHJlc3VsdCBjb25jYXRzIHRoZSByZWN1cnNpb25SZXN1bHRcclxuXHRcdFx0XHRcdGlmIChyZWN1cnNpb25SZXN1bHQpIHJlc3VsdCA9IHJlc3VsdC5jb25jYXQocmVjdXJzaW9uUmVzdWx0KTtcclxuXHRcdFx0XHRcdC8vIHJlc2V0IGNvbmRpdGlvbmFsIFBhcmVudFxyXG5cdFx0XHRcdFx0aWYgKGNvbXBvbmVudFtFRm9ybWlvS2V5LklEXSA9PSBjb25kaXRpb25hbFBhcmVudC5pZClcclxuXHRcdFx0XHRcdFx0Y29uZGl0aW9uYWxQYXJlbnQgPSB1bmRlZmluZWQ7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdC8vIGF2b2lkIHRoZSBjb21wb25lbnQgdHlwZSBidXR0b25cclxuXHRcdFx0XHRcdGlmIChcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuVFlQRV0gIT09IEVGb3JtaW9LZXkuQlVUVE9OICYmXHJcblx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LktFWV0gJiZcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuTEFCRUxdXHJcblx0XHRcdFx0XHQpIHtcclxuXHRcdFx0XHRcdFx0Ly8gcmVzb2x2ZSBjb25kaXRpb25hbCBjb25kaXRpb25hbCBvYmplY3RcclxuXHRcdFx0XHRcdFx0bGV0IGNvbmRpdGlvbmFsID0gdGhpcy5yZXNvbHZlSW5oZXJpdGFuY2VDb25kaXRpb25hbChcclxuXHRcdFx0XHRcdFx0XHRjb25kaXRpb25hbFBhcmVudCxcclxuXHRcdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5DT05ESVRJT05BTF0sXHJcblx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ1VTVE9NX0NPTkRJVElPTkFMXSxcclxuXHRcdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5JRF1cclxuXHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdFx0aWYgKCFjb25kaXRpb25hbCkgY29uZGl0aW9uYWwgPSBjb25kaXRpb25hbFBhcmVudDtcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ09ORElUSU9OQUxdID0gY29uZGl0aW9uYWxbRUZvcm1pb0tleS5DT05ESVRJT05BTF07XHJcblx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LkNVU1RPTV9DT05ESVRJT05BTF0gPVxyXG5cdFx0XHRcdFx0XHRcdGNvbmRpdGlvbmFsW0VGb3JtaW9LZXkuQ1VTVE9NX0NPTkRJVElPTkFMXTtcclxuXHRcdFx0XHRcdFx0Ly8gYWRkIG5hbVBhbmVsIGFzIHByb3BlcnR5XHJcblx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LlRJVExFX1BBTkVMXSA9IHRpdGxlUGFuZWw7XHJcblx0XHRcdFx0XHRcdC8vIGFkZCBjb21wb25lbnQgdG8gdGhlIHJlc3VsdFxyXG5cdFx0XHRcdFx0XHRyZXN1bHQucHVzaChjb21wb25lbnQpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHJlc3VsdDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEl0IHJlc29sdmUgdGhlIGluaGVyaXRhbmNlIGNvbmRpdGlvbmFsXHJcblx0ICogQHBhcmFtIGNvbmRpdGlvbmFsT2JqZWN0XHJcblx0ICogQHBhcmFtIGNvbmRpdGlvbmFsXHJcblx0ICogQHBhcmFtIGN1c3RvbUNvbmRpdGlvbmFsXHJcblx0ICovXHJcblx0cHJpdmF0ZSBzdGF0aWMgcmVzb2x2ZUluaGVyaXRhbmNlQ29uZGl0aW9uYWwoXHJcblx0XHRjb25kaXRpb25hbE9iamVjdCxcclxuXHRcdGNvbmRpdGlvbmFsLFxyXG5cdFx0Y3VzdG9tQ29uZGl0aW9uYWwsXHJcblx0XHRwYXJlbnRJZFxyXG5cdCk6IGFueSB7XHJcblx0XHQvLyB2YWxpZGF0ZSBpZiB0aGVyZSBpcyBhIGNvbmRpdGlvbiB3aXRoIHRoZSBuZXcgZmllbGRzXHJcblx0XHRpZiAoXHJcblx0XHRcdCFjb25kaXRpb25hbE9iamVjdCB8fFxyXG5cdFx0XHRjdXN0b21Db25kaXRpb25hbCB8fFxyXG5cdFx0XHQoY29uZGl0aW9uYWwgJiYgY29uZGl0aW9uYWxbRUZvcm1pb0tleS5XSEVOXSAmJiBjb25kaXRpb25hbFtFRm9ybWlvS2V5LkVRXSkgfHxcclxuXHRcdFx0KGNvbmRpdGlvbmFsICYmIGNvbmRpdGlvbmFsW0VGb3JtaW9LZXkuSlNPTl0pXHJcblx0XHQpIHtcclxuXHRcdFx0cmV0dXJuIHsgY29uZGl0aW9uYWw6IGNvbmRpdGlvbmFsLCBjdXN0b21Db25kaXRpb25hbDogY3VzdG9tQ29uZGl0aW9uYWwsIGlkOiBwYXJlbnRJZCB9O1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIG51bGw7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBJdCByZXR1cm5zIHRoZSBlZGl0IGdyaWQgY29tcG9uZW50c1xyXG5cdCAqIEBwYXJhbSBjb21wb25lbnRzXHJcblx0ICovXHJcblx0c3RhdGljIGdldEVkaXRHcmlkS2V5TGFiZWxzKGNvbXBvbmVudHM6IGFueVtdKTogYW55W10ge1xyXG5cdFx0cmV0dXJuIEZvcm1pb1V0aWwuZ2V0RWRpdEdyaWRLZXlMYWJlbHNCeVJlY3Vyc2lvbihjb21wb25lbnRzLCAnJywgbnVsbCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBJdCByZXR1cm5zIHRoZSBjb21wb25lbnRzIGVkaXQgZ3JpZCBhcnJheSBvZiB0aGUgZm9ybSBieSByZWN1cnNpb25cclxuXHQgKiBAcGFyYW0gY29tcG9uZW50cyBhcnJheSBvZiBjb21wb25lbnRzXHJcblx0ICogQHBhcmFtIHRpdGxlUGFuZWwgbmFtZSBvZiBwYXJlbnQgcGFuZWwsIHNvIGNoaWxkcmVuIGNvbXBvbmVudHMgd2lsbCBpbmhlcml0IHRoZSBwYW5lbE5hbWVcclxuXHQgKiBAcGFyYW0gY29uZGl0aW9uYWxPYmplY3QgY29uZGl0aW9uYWwgb2JqZWN0IGl0IHdpbGwgYmUgaW5oZXJpdGVkIGZyb20gcGFuZWwge2NvbmRpdGlvbmFsOiB7IGVxOiAsIHZhbHVlOiAsIHdoZW46ICwganNvbjogfSwgY3VzdG9tQ29uZGl0aW9uYWw6IH1cclxuXHQgKi9cclxuXHRwcml2YXRlIHN0YXRpYyBnZXRFZGl0R3JpZEtleUxhYmVsc0J5UmVjdXJzaW9uKFxyXG5cdFx0Y29tcG9uZW50czogYW55W10sXHJcblx0XHR0aXRsZVBhbmVsOiBzdHJpbmcsXHJcblx0XHRjb25kaXRpb25hbFBhcmVudDogYW55XHJcblx0KTogYW55W10ge1xyXG5cdFx0Ly8gaXQgY29udGFpbnMgdGhlIHJlc3VsdCBhcnJheVxyXG5cdFx0bGV0IHJlc3VsdCA9IFtdO1xyXG5cdFx0aWYgKGNvbXBvbmVudHMpIHtcclxuXHRcdFx0Ly8gaXRlcmF0ZSBvdmVyIGNvbXBvbmVudHNcclxuXHRcdFx0Zm9yIChjb25zdCBjb21wb25lbnQgb2YgY29tcG9uZW50cykge1xyXG5cdFx0XHRcdC8vIGlmIGNvbXBvbmVudCBpcyBwYW5lbCB0aGVuIHRpdGxlUGFuZWwgdmFyaWFibGUgaXMgY2hhbmdlZCwgYW5kIGl0IGlzIGdvbm5hIGJlIGluaGVyaXRlZFxyXG5cdFx0XHRcdGlmIChjb21wb25lbnRbRUZvcm1pb0tleS5UWVBFXSA9PT0gRUZvcm1pb0tleS5QQU5FTCkge1xyXG5cdFx0XHRcdFx0dGl0bGVQYW5lbCA9IGNvbXBvbmVudFtFRm9ybWlvS2V5LlRJVExFXTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGlmIChcclxuXHRcdFx0XHRcdCh0eXBlb2YgY29tcG9uZW50W0VGb3JtaW9LZXkuQ09NUE9ORU5UU10gIT09ICd1bmRlZmluZWQnIHx8XHJcblx0XHRcdFx0XHRcdHR5cGVvZiBjb21wb25lbnRbRUZvcm1pb0tleS5DT0xVTU5TXSAhPT0gJ3VuZGVmaW5lZCcpICYmXHJcblx0XHRcdFx0XHQodHlwZW9mIGNvbXBvbmVudFtFRm9ybWlvS2V5LlRZUEVdID09ICd1bmRlZmluZWQnIHx8XHJcblx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LlRZUEVdICE9PSBFRm9ybWlvS2V5LlRZUEVfQUREUkVTUylcclxuXHRcdFx0XHQpIHtcclxuXHRcdFx0XHRcdC8vIHJlc29sdmUgY29uZGl0aW9uYWwgcGFyZW50IGNvbmRpdGlvbmFsXHJcblx0XHRcdFx0XHRjb25zdCBjb25kaXRpb25hbCA9IHRoaXMucmVzb2x2ZUluaGVyaXRhbmNlQ29uZGl0aW9uYWwoXHJcblx0XHRcdFx0XHRcdGNvbmRpdGlvbmFsUGFyZW50LFxyXG5cdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5DT05ESVRJT05BTF0sXHJcblx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LkNVU1RPTV9DT05ESVRJT05BTF0sXHJcblx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LklEXVxyXG5cdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdC8vIGNoYW5nZSBjb25kaXRpb25cclxuXHRcdFx0XHRcdGlmIChjb25kaXRpb25hbCkgY29uZGl0aW9uYWxQYXJlbnQgPSBjb25kaXRpb25hbDtcclxuXHRcdFx0XHRcdC8vIGl0IGNvbnRhaW5zIHRoZSBzdWJjb21wb25lbnRzIGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YgY29tcG9uZW50IGlmIGl0IGhhcyBjb21wb25lbnRzIG9yIGNvbHVtbnNcclxuXHRcdFx0XHRcdGxldCBzdWJDb21wb25lbnRzID1cclxuXHRcdFx0XHRcdFx0dHlwZW9mIGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTVBPTkVOVFNdICE9PSAndW5kZWZpbmVkJ1xyXG5cdFx0XHRcdFx0XHRcdD8gY29tcG9uZW50W0VGb3JtaW9LZXkuQ09NUE9ORU5UU11cclxuXHRcdFx0XHRcdFx0XHQ6IGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTFVNTlNdO1xyXG5cdFx0XHRcdFx0aWYgKGNvbXBvbmVudFtFRm9ybWlvS2V5LlRZUEVdID09IEVGb3JtaW9LZXkuRURJVEdSSUQpIHtcclxuXHRcdFx0XHRcdFx0Ly8gYWRkIG5hbVBhbmVsIGFzIHByb3BlcnR5XHJcblx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LlRJVExFX1BBTkVMXSA9IHRpdGxlUGFuZWw7XHJcblx0XHRcdFx0XHRcdC8vIGFkZCBjb21wb25lbnQgdG8gdGhlIHJlc3VsdFxyXG5cdFx0XHRcdFx0XHRyZXN1bHQucHVzaChjb21wb25lbnQpO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0Ly8gaWYgY29tcG9uZW50IGhhcyBzdWJDb21wb25lbnRzLCB0aGVuIGV4ZWN1dGUgdGhlIHJlY3Vyc2lvbiBmdW5jdGlvbiB0byBnZXQgdGhlIHJlY3Vyc2lvbm5SZXN1bHRcclxuXHRcdFx0XHRcdFx0Y29uc3QgcmVjdXJzaW9uUmVzdWx0ID0gRm9ybWlvVXRpbC5nZXRFZGl0R3JpZEtleUxhYmVsc0J5UmVjdXJzaW9uKFxyXG5cdFx0XHRcdFx0XHRcdHN1YkNvbXBvbmVudHMsXHJcblx0XHRcdFx0XHRcdFx0dGl0bGVQYW5lbCxcclxuXHRcdFx0XHRcdFx0XHRjb25kaXRpb25hbFBhcmVudFxyXG5cdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0XHQvLyBpZiByZWN1cnNpb24gcmVzdWx0IHRoZW4gcmVzdWx0IGNvbmNhdHMgdGhlIHJlY3Vyc2lvblJlc3VsdFxyXG5cdFx0XHRcdFx0XHRpZiAocmVjdXJzaW9uUmVzdWx0KSByZXN1bHQgPSByZXN1bHQuY29uY2F0KHJlY3Vyc2lvblJlc3VsdCk7XHJcblx0XHRcdFx0XHRcdC8vIHJlc2V0IGNvbmRpdGlvbmFsIFBhcmVudFxyXG5cdFx0XHRcdFx0XHRpZiAoY29tcG9uZW50W0VGb3JtaW9LZXkuSURdID09IGNvbmRpdGlvbmFsUGFyZW50LmlkKVxyXG5cdFx0XHRcdFx0XHRcdGNvbmRpdGlvbmFsUGFyZW50ID0gdW5kZWZpbmVkO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gcmVzdWx0O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogSXQgcmV0dXJucyB0aGUgY29tcG9uZW50c1xyXG5cdCAqIEBwYXJhbSBjb21wb25lbnRzXHJcblx0ICogQHBhcmFtIGtlZXBFZGl0R3JpZHNcclxuXHQgKi9cclxuXHRzdGF0aWMgZ2V0Q29tcG9uZW50c0ludG9FZGl0R3JpZHMoY29tcG9uZW50czogYW55W10sIGVkaXRHcmlkTmFtZTogc3RyaW5nKTogYW55W10ge1xyXG5cdFx0cmV0dXJuIEZvcm1pb1V0aWwuZ2V0Q29tcG9uZW50c0J5UmVjdXJzaW9uSW50b0VkaXRHcmlkcyhcclxuXHRcdFx0Y29tcG9uZW50cyxcclxuXHRcdFx0JycsXHJcblx0XHRcdG51bGwsXHJcblx0XHRcdGVkaXRHcmlkTmFtZSxcclxuXHRcdFx0ZmFsc2VcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBJdCByZXR1cm5zIHRoZSBjb21wb25lbnRzIGFycmF5IG9mIHRoZSBmb3JtIGJ5IHJlY3Vyc2lvblxyXG5cdCAqIEBwYXJhbSBjb21wb25lbnRzIGFycmF5IG9mIGNvbXBvbmVudHNcclxuXHQgKiBAcGFyYW0gdGl0bGVQYW5lbCBuYW1lIG9mIHBhcmVudCBwYW5lbCwgc28gY2hpbGRyZW4gY29tcG9uZW50cyB3aWxsIGluaGVyaXQgdGhlIHBhbmVsTmFtZVxyXG5cdCAqIEBwYXJhbSBjb25kaXRpb25hbE9iamVjdCBjb25kaXRpb25hbCBvYmplY3QgaXQgd2lsbCBiZSBpbmhlcml0ZWQgZnJvbSBwYW5lbCB7Y29uZGl0aW9uYWw6IHsgZXE6ICwgdmFsdWU6ICwgd2hlbjogLCBqc29uOiB9LCBjdXN0b21Db25kaXRpb25hbDogfVxyXG5cdCAqL1xyXG5cdHByaXZhdGUgc3RhdGljIGdldENvbXBvbmVudHNCeVJlY3Vyc2lvbkludG9FZGl0R3JpZHMoXHJcblx0XHRjb21wb25lbnRzOiBhbnlbXSxcclxuXHRcdHRpdGxlUGFuZWw6IHN0cmluZyxcclxuXHRcdGNvbmRpdGlvbmFsUGFyZW50OiBhbnksXHJcblx0XHRlZGl0R3JpZE5hbWU6IHN0cmluZyxcclxuXHRcdGV4aXN0RWRpdEdyaWQ6IGJvb2xlYW5cclxuXHQpOiBhbnlbXSB7XHJcblx0XHQvLyBpdCBjb250YWlucyB0aGUgcmVzdWx0IGFycmF5XHJcblx0XHRsZXQgcmVzdWx0ID0gW107XHJcblx0XHRpZiAoY29tcG9uZW50cykge1xyXG5cdFx0XHQvLyBpdGVyYXRlIG92ZXIgY29tcG9uZW50c1xyXG5cdFx0XHRmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiBjb21wb25lbnRzKSB7XHJcblx0XHRcdFx0Ly8gYXZvaWQgdGhlIGVkaXRncmlkIGNvbXBvbmVudCBvdCBpZiBpdCBoYXMgYSBkaWZmZXJlbnQgYmVoYXZpb3IgaXQgc2hvdWxkIGhhdmUgYW4gZWxzZSBzdGF0ZW1lbnRcclxuXHJcblx0XHRcdFx0Ly8gaWYgY29tcG9uZW50IGlzIHBhbmVsIHRoZW4gdGl0bGVQYW5lbCB2YXJpYWJsZSBpcyBjaGFuZ2VkLCBhbmQgaXQgaXMgZ29ubmEgYmUgaW5oZXJpdGVkXHJcblx0XHRcdFx0aWYgKGNvbXBvbmVudFtFRm9ybWlvS2V5LlRZUEVdID09PSBFRm9ybWlvS2V5LlBBTkVMKSB7XHJcblx0XHRcdFx0XHR0aXRsZVBhbmVsID0gY29tcG9uZW50W0VGb3JtaW9LZXkuVElUTEVdO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0aWYgKFxyXG5cdFx0XHRcdFx0KHR5cGVvZiBjb21wb25lbnRbRUZvcm1pb0tleS5DT01QT05FTlRTXSAhPT0gJ3VuZGVmaW5lZCcgfHxcclxuXHRcdFx0XHRcdFx0dHlwZW9mIGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTFVNTlNdICE9PSAndW5kZWZpbmVkJykgJiZcclxuXHRcdFx0XHRcdCh0eXBlb2YgY29tcG9uZW50W0VGb3JtaW9LZXkuVFlQRV0gPT0gJ3VuZGVmaW5lZCcgfHxcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuVFlQRV0gIT09IEVGb3JtaW9LZXkuVFlQRV9BRERSRVNTKVxyXG5cdFx0XHRcdCkge1xyXG5cdFx0XHRcdFx0Ly8gcmVzb2x2ZSBjb25kaXRpb25hbCBwYXJlbnQgY29uZGl0aW9uYWxcclxuXHRcdFx0XHRcdGNvbnN0IGNvbmRpdGlvbmFsID0gdGhpcy5yZXNvbHZlSW5oZXJpdGFuY2VDb25kaXRpb25hbChcclxuXHRcdFx0XHRcdFx0Y29uZGl0aW9uYWxQYXJlbnQsXHJcblx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTkRJVElPTkFMXSxcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ1VTVE9NX0NPTkRJVElPTkFMXSxcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuSURdXHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0Ly8gY2hhbmdlIGNvbmRpdGlvblxyXG5cdFx0XHRcdFx0aWYgKGNvbmRpdGlvbmFsKSBjb25kaXRpb25hbFBhcmVudCA9IGNvbmRpdGlvbmFsO1xyXG5cdFx0XHRcdFx0Ly8gaXQgY29udGFpbnMgdGhlIHN1YmNvbXBvbmVudHMgZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiBjb21wb25lbnQgaWYgaXQgaGFzIGNvbXBvbmVudHMgb3IgY29sdW1uc1xyXG5cdFx0XHRcdFx0bGV0IHN1YkNvbXBvbmVudHMgPVxyXG5cdFx0XHRcdFx0XHR0eXBlb2YgY29tcG9uZW50W0VGb3JtaW9LZXkuQ09NUE9ORU5UU10gIT09ICd1bmRlZmluZWQnXHJcblx0XHRcdFx0XHRcdFx0PyBjb21wb25lbnRbRUZvcm1pb0tleS5DT01QT05FTlRTXVxyXG5cdFx0XHRcdFx0XHRcdDogY29tcG9uZW50W0VGb3JtaW9LZXkuQ09MVU1OU107XHJcblxyXG5cdFx0XHRcdFx0aWYgKFxyXG5cdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5UWVBFXSA9PT0gRUZvcm1pb0tleS5FRElUR1JJRCAmJlxyXG5cdFx0XHRcdFx0XHRjb21wb25lbnRbJ2tleSddID09IGVkaXRHcmlkTmFtZVxyXG5cdFx0XHRcdFx0KSB7XHJcblx0XHRcdFx0XHRcdGV4aXN0RWRpdEdyaWQgPSB0cnVlO1xyXG5cdFx0XHRcdFx0XHRpZiAoXHJcblx0XHRcdFx0XHRcdFx0KHR5cGVvZiBjb21wb25lbnRbRUZvcm1pb0tleS5DT01QT05FTlRTXSAhPT0gJ3VuZGVmaW5lZCcgfHxcclxuXHRcdFx0XHRcdFx0XHRcdHR5cGVvZiBjb21wb25lbnRbRUZvcm1pb0tleS5DT0xVTU5TXSAhPT0gJ3VuZGVmaW5lZCcpICYmXHJcblx0XHRcdFx0XHRcdFx0KHR5cGVvZiBjb21wb25lbnRbRUZvcm1pb0tleS5UWVBFXSA9PSAndW5kZWZpbmVkJyB8fFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuVFlQRV0gIT09IEVGb3JtaW9LZXkuVFlQRV9BRERSRVNTKVxyXG5cdFx0XHRcdFx0XHQpIHtcclxuXHRcdFx0XHRcdFx0XHQvLyByZXNvbHZlIGNvbmRpdGlvbmFsIHBhcmVudCBjb25kaXRpb25hbFxyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IGNvbmRpdGlvbmFsID0gdGhpcy5yZXNvbHZlSW5oZXJpdGFuY2VDb25kaXRpb25hbChcclxuXHRcdFx0XHRcdFx0XHRcdGNvbmRpdGlvbmFsUGFyZW50LFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ09ORElUSU9OQUxdLFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ1VTVE9NX0NPTkRJVElPTkFMXSxcclxuXHRcdFx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LklEXVxyXG5cdFx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRcdFx0Ly8gY2hhbmdlIGNvbmRpdGlvblxyXG5cdFx0XHRcdFx0XHRcdGlmIChjb25kaXRpb25hbCkgY29uZGl0aW9uYWxQYXJlbnQgPSBjb25kaXRpb25hbDtcclxuXHRcdFx0XHRcdFx0XHQvLyBpdCBjb250YWlucyB0aGUgc3ViY29tcG9uZW50cyBkZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mIGNvbXBvbmVudCBpZiBpdCBoYXMgY29tcG9uZW50cyBvciBjb2x1bW5zXHJcblx0XHRcdFx0XHRcdFx0bGV0IHN1YkNvbXBvbmVudHMgPVxyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZW9mIGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTVBPTkVOVFNdICE9PSAndW5kZWZpbmVkJ1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQ/IGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTVBPTkVOVFNdXHJcblx0XHRcdFx0XHRcdFx0XHRcdDogY29tcG9uZW50W0VGb3JtaW9LZXkuQ09MVU1OU107XHJcblxyXG5cdFx0XHRcdFx0XHRcdC8vIGlmIGNvbXBvbmVudCBoYXMgc3ViQ29tcG9uZW50cywgdGhlbiBleGVjdXRlIHRoZSByZWN1cnNpb24gZnVuY3Rpb24gdG8gZ2V0IHRoZSByZWN1cnNpb25uUmVzdWx0XHJcblx0XHRcdFx0XHRcdFx0Y29uc3QgcmVjdXJzaW9uUmVzdWx0ID1cclxuXHRcdFx0XHRcdFx0XHRcdEZvcm1pb1V0aWwuZ2V0Q29tcG9uZW50c0J5UmVjdXJzaW9uSW50b0VkaXRHcmlkcyhcclxuXHRcdFx0XHRcdFx0XHRcdFx0c3ViQ29tcG9uZW50cyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGl0bGVQYW5lbCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29uZGl0aW9uYWxQYXJlbnQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdGVkaXRHcmlkTmFtZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0ZXhpc3RFZGl0R3JpZFxyXG5cdFx0XHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdFx0XHQvLyBpZiByZWN1cnNpb24gcmVzdWx0IHRoZW4gcmVzdWx0IGNvbmNhdHMgdGhlIHJlY3Vyc2lvblJlc3VsdFxyXG5cdFx0XHRcdFx0XHRcdGlmIChyZWN1cnNpb25SZXN1bHQpIHJlc3VsdCA9IHJlc3VsdC5jb25jYXQocmVjdXJzaW9uUmVzdWx0KTtcclxuXHRcdFx0XHRcdFx0XHQvLyByZXNldCBjb25kaXRpb25hbCBQYXJlbnRcclxuXHRcdFx0XHRcdFx0XHRpZiAoY29tcG9uZW50ICYmIGNvbmRpdGlvbmFsUGFyZW50KSB7XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoY29tcG9uZW50W0VGb3JtaW9LZXkuSURdID09IGNvbmRpdGlvbmFsUGFyZW50LmlkKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb25kaXRpb25hbFBhcmVudCA9IHVuZGVmaW5lZDtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0Ly8gYXZvaWQgdGhlIGNvbXBvbmVudCB0eXBlIGJ1dHRvblxyXG5cdFx0XHRcdFx0XHRcdGlmIChcclxuXHRcdFx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LlRZUEVdICE9PSBFRm9ybWlvS2V5LkJVVFRPTiAmJlxyXG5cdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuS0VZXSAmJlxyXG5cdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuTEFCRUxdICYmXHJcblx0XHRcdFx0XHRcdFx0XHRleGlzdEVkaXRHcmlkXHJcblx0XHRcdFx0XHRcdFx0KSB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyByZXNvbHZlIGNvbmRpdGlvbmFsIGNvbmRpdGlvbmFsIG9iamVjdFxyXG5cdFx0XHRcdFx0XHRcdFx0bGV0IGNvbmRpdGlvbmFsID0gdGhpcy5yZXNvbHZlSW5oZXJpdGFuY2VDb25kaXRpb25hbChcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29uZGl0aW9uYWxQYXJlbnQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTkRJVElPTkFMXSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ1VTVE9NX0NPTkRJVElPTkFMXSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuSURdXHJcblx0XHRcdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKCFjb25kaXRpb25hbCkgY29uZGl0aW9uYWwgPSBjb25kaXRpb25hbFBhcmVudDtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTkRJVElPTkFMXSA9XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbmRpdGlvbmFsW0VGb3JtaW9LZXkuQ09ORElUSU9OQUxdO1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ1VTVE9NX0NPTkRJVElPTkFMXSA9XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbmRpdGlvbmFsW0VGb3JtaW9LZXkuQ1VTVE9NX0NPTkRJVElPTkFMXTtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIGFkZCBuYW1QYW5lbCBhcyBwcm9wZXJ0eVxyXG5cdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuVElUTEVfUEFORUxdID0gdGl0bGVQYW5lbDtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIGFkZCBjb21wb25lbnQgdG8gdGhlIHJlc3VsdFxyXG5cdFx0XHRcdFx0XHRcdFx0cmVzdWx0LnB1c2goY29tcG9uZW50KTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC8vIGlmIGNvbXBvbmVudCBoYXMgc3ViQ29tcG9uZW50cywgdGhlbiBleGVjdXRlIHRoZSByZWN1cnNpb24gZnVuY3Rpb24gdG8gZ2V0IHRoZSByZWN1cnNpb25uUmVzdWx0XHJcblx0XHRcdFx0XHRjb25zdCByZWN1cnNpb25SZXN1bHQgPSBGb3JtaW9VdGlsLmdldENvbXBvbmVudHNCeVJlY3Vyc2lvbkludG9FZGl0R3JpZHMoXHJcblx0XHRcdFx0XHRcdHN1YkNvbXBvbmVudHMsXHJcblx0XHRcdFx0XHRcdHRpdGxlUGFuZWwsXHJcblx0XHRcdFx0XHRcdGNvbmRpdGlvbmFsUGFyZW50LFxyXG5cdFx0XHRcdFx0XHRlZGl0R3JpZE5hbWUsXHJcblx0XHRcdFx0XHRcdGV4aXN0RWRpdEdyaWRcclxuXHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHQvLyBpZiByZWN1cnNpb24gcmVzdWx0IHRoZW4gcmVzdWx0IGNvbmNhdHMgdGhlIHJlY3Vyc2lvblJlc3VsdFxyXG5cdFx0XHRcdFx0aWYgKHJlY3Vyc2lvblJlc3VsdCkgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdChyZWN1cnNpb25SZXN1bHQpO1xyXG5cdFx0XHRcdFx0Ly8gcmVzZXQgY29uZGl0aW9uYWwgUGFyZW50XHJcblx0XHRcdFx0XHRpZiAoY29tcG9uZW50ICYmIGNvbmRpdGlvbmFsUGFyZW50KSB7XHJcblx0XHRcdFx0XHRcdGlmIChjb21wb25lbnRbRUZvcm1pb0tleS5JRF0gPT0gY29uZGl0aW9uYWxQYXJlbnQuaWQpXHJcblx0XHRcdFx0XHRcdFx0Y29uZGl0aW9uYWxQYXJlbnQgPSB1bmRlZmluZWQ7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdC8vIGF2b2lkIHRoZSBjb21wb25lbnQgdHlwZSBidXR0b25cclxuXHRcdFx0XHRcdGlmIChcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuVFlQRV0gIT09IEVGb3JtaW9LZXkuQlVUVE9OICYmXHJcblx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LktFWV0gJiZcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuTEFCRUxdICYmXHJcblx0XHRcdFx0XHRcdGV4aXN0RWRpdEdyaWRcclxuXHRcdFx0XHRcdCkge1xyXG5cdFx0XHRcdFx0XHQvLyByZXNvbHZlIGNvbmRpdGlvbmFsIGNvbmRpdGlvbmFsIG9iamVjdFxyXG5cdFx0XHRcdFx0XHRsZXQgY29uZGl0aW9uYWwgPSB0aGlzLnJlc29sdmVJbmhlcml0YW5jZUNvbmRpdGlvbmFsKFxyXG5cdFx0XHRcdFx0XHRcdGNvbmRpdGlvbmFsUGFyZW50LFxyXG5cdFx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTkRJVElPTkFMXSxcclxuXHRcdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5DVVNUT01fQ09ORElUSU9OQUxdLFxyXG5cdFx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LklEXVxyXG5cdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0XHRpZiAoIWNvbmRpdGlvbmFsKSBjb25kaXRpb25hbCA9IGNvbmRpdGlvbmFsUGFyZW50O1xyXG5cdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5DT05ESVRJT05BTF0gPSBjb25kaXRpb25hbFtFRm9ybWlvS2V5LkNPTkRJVElPTkFMXTtcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ1VTVE9NX0NPTkRJVElPTkFMXSA9XHJcblx0XHRcdFx0XHRcdFx0Y29uZGl0aW9uYWxbRUZvcm1pb0tleS5DVVNUT01fQ09ORElUSU9OQUxdO1xyXG5cdFx0XHRcdFx0XHQvLyBhZGQgbmFtUGFuZWwgYXMgcHJvcGVydHlcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuVElUTEVfUEFORUxdID0gdGl0bGVQYW5lbDtcclxuXHRcdFx0XHRcdFx0Ly8gYWRkIGNvbXBvbmVudCB0byB0aGUgcmVzdWx0XHJcblx0XHRcdFx0XHRcdHJlc3VsdC5wdXNoKGNvbXBvbmVudCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gcmVzdWx0O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ3JlYXRlIDIgamFzb24gb2JqZWN0cyBvZiBkYXRhIGZvcm0gYnkgY29tcG9uZW50IGtleSBhbmQgb3RoZXIgYnkgY29tcG9uZW50IGtleSBhbmQgdGl0bGUgZm9ybSBrZXlcclxuXHQgKiBAcGFyYW0gZGF0YUZvcm0gZGF0YUZvcm0gbW9kZWwgb2JqZWN0XHJcblx0ICogQHJldHVybnMgT2JqZWN0IG9mIDIgZWxlbWVudFxyXG5cdCAqL1xyXG5cdHN0YXRpYyBjcmVhdGVMaXN0RGF0YUJ5RGF0YUZvcm1MaXN0KGRhdGFGb3JtOiBhbnksIGxpc3RGb3JtOiBhbnlbXSk6IGFueSB7XHJcblx0XHRsZXQgbGlzdERhdGE6IGFueSA9IHt9O1xyXG5cdFx0bGV0IGxpc3REYXRhQnlGb3JtOiBhbnkgPSB7fTtcclxuXHRcdGlmIChkYXRhRm9ybSAmJiBkYXRhRm9ybS5sZW5ndGggPiAwKSB7XHJcblx0XHRcdGxpc3REYXRhID0ge307XHJcblx0XHRcdGxpc3REYXRhQnlGb3JtID0ge307XHJcblx0XHRcdGxldCBkRm9ybTogYW55O1xyXG5cdFx0XHRmb3IgKGRGb3JtIG9mIGRhdGFGb3JtKSB7XHJcblx0XHRcdFx0aWYgKCFkRm9ybS5kYXRhKSB7XHJcblx0XHRcdFx0XHRjb250aW51ZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Y29uc3QgZm9ybSA9IGxpc3RGb3JtLmZpbmQoZnVuY3Rpb24gKGZvcm1UbXApIHtcclxuXHRcdFx0XHRcdHJldHVybiBmb3JtVG1wLmlkID09IGRGb3JtLmZvcm1JZDtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHRpZiAoIWZvcm0pIHtcclxuXHRcdFx0XHRcdC8vY29uc29sZS5lcnJvcignTm8gc2UgZW5jb250csOzIGVsIGZvcm11bGFyaW8gY29uIGlkICcgKyBkRm9ybS5mb3JtSWQpO1xyXG5cdFx0XHRcdFx0Y29udGludWU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNvbnN0IGtleUZvcm1UaXRsZSA9IFRva2VuU2VydmljZS5nZXRLZXlGb3JtdWxhcmlvKGZvcm0udGl0bGUpICsgJ18nO1xyXG5cdFx0XHRcdGZvciAoY29uc3Qga2V5IGluIGRGb3JtLmRhdGEpIHtcclxuXHRcdFx0XHRcdGxpc3REYXRhW2tleV0gPSBkRm9ybS5kYXRhW2tleV07XHJcblx0XHRcdFx0XHRsaXN0RGF0YUJ5Rm9ybVtrZXlGb3JtVGl0bGUgKyBrZXldID0gZEZvcm0uZGF0YVtrZXldO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0bGlzdERhdGE6IGxpc3REYXRhLFxyXG5cdFx0XHRsaXN0RGF0YUJ5Rm9ybTogbGlzdERhdGFCeUZvcm1cclxuXHRcdH07XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBJdCByZXR1cm5zIHRoZSBjb21wb25lbnRzXHJcblx0ICogQHBhcmFtIGNvbXBvbmVudHNcclxuXHQgKi9cclxuXHRzdGF0aWMgZ2V0UGFuZWxDb21wb25lbnRzKGNvbXBvbmVudHM6IGFueVtdKTogYW55W10ge1xyXG5cdFx0cmV0dXJuIEZvcm1pb1V0aWwuZ2V0Q29tcG9uZW50c0J5UGFuZWwoY29tcG9uZW50cyk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBJdCByZXR1cm5zIHRoZSBjb21wb25lbnRzIGFycmF5IG9mIHRoZSBmb3JtXHJcblx0ICogQHBhcmFtIGNvbXBvbmVudHMgYXJyYXkgb2YgY29tcG9uZW50c1xyXG5cdCAqL1xyXG5cdHByaXZhdGUgc3RhdGljIGdldENvbXBvbmVudHNCeVBhbmVsKGNvbXBvbmVudHM6IGFueVtdKTogYW55W10ge1xyXG5cdFx0Ly8gaXQgY29udGFpbnMgdGhlIHJlc3VsdCBhcnJheVxyXG5cdFx0bGV0IHJlc3VsdCA9IFtdO1xyXG5cdFx0aWYgKGNvbXBvbmVudHMpIHtcclxuXHRcdFx0Ly8gaXRlcmF0ZSBvdmVyIGNvbXBvbmVudHNcclxuXHRcdFx0Zm9yIChjb25zdCBjb21wb25lbnQgb2YgY29tcG9uZW50cykge1xyXG5cdFx0XHRcdC8vIGF2b2lkIHRoZSBlZGl0Z3JpZCBjb21wb25lbnQgb3QgaWYgaXQgaGFzIGEgZGlmZmVyZW50IGJlaGF2aW9yIGl0IHNob3VsZCBoYXZlIGFuIGVsc2Ugc3RhdGVtZW50XHJcblx0XHRcdFx0aWYgKGNvbXBvbmVudFtFRm9ybWlvS2V5LlRZUEVdICE9PSBFRm9ybWlvS2V5LkVESVRHUklEKSB7XHJcblx0XHRcdFx0XHQvLyBpZiBjb21wb25lbnQgaXMgcGFuZWwgdGhlbiB0aXRsZVBhbmVsIHZhcmlhYmxlIGlzIGNoYW5nZWQsIGFuZCBpdCBpcyBnb25uYSBiZSBpbmhlcml0ZWRcclxuXHRcdFx0XHRcdGlmIChjb21wb25lbnRbRUZvcm1pb0tleS5UWVBFXSA9PT0gRUZvcm1pb0tleS5QQU5FTCkge1xyXG5cdFx0XHRcdFx0XHRyZXN1bHQucHVzaChjb21wb25lbnQpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHJlc3VsdDtcclxuXHR9XHJcbn1cclxuIl19
580
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWlvLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wbGktY29tbW9ucy9zcmMvbGliL3V0aWxzL2Zvcm1pby11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFFQUFxRTtBQUNyRSxPQUFPLEtBQUssTUFBTSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQztBQUVyQixNQUFNLE9BQU8sVUFBVTtJQUN0Qjs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLDZCQUE2QixDQUFDLFVBQVU7UUFDOUMsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksVUFBVSxFQUFFO1lBQ2YsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2pCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQztZQUNsQixLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsRUFBRTtnQkFDbkMsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEtBQUssRUFBRTtvQkFDaEQsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO3dCQUNuQixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO3FCQUNwQjtvQkFDRCxNQUFNLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQztvQkFDaEYsS0FBSyxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7aUJBQzFDO2dCQUNELE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO29CQUNqQixLQUFLLEVBQUUs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QUUsUUFBUTtZQUNsQixjQUFjLEVBQUUsY0FBYztTQUM5QixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxVQUFpQjtRQUMxQyxPQUFPLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssTUFBTSxDQUFDLG9CQUFvQixDQUFDLFVBQWlCO1FBQ3BELCtCQUErQjtRQUMvQixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsSUFBSSxVQUFVLEVBQUU7WUFDZiwwQkFBMEI7WUFDMUIsS0FBSyxNQUFNLFNBQVMsSUFBSSxVQUFVLEVBQUU7Z0JBQ25DLGtHQUFrRztnQkFDbEcsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxRQUFRLEVBQUU7b0JBQ3ZELDBGQUEwRjtvQkFDMUYsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxLQUFLLEVBQUU7d0JBQ3BELE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7cUJBQ3ZCO2lCQUNEO2FBQ0Q7U0FDRDtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaW1wb3J0ICogYXMgdXRpbHNfIGZyb20gJ2Zvcm1pb2pzLXByb3llY3Rvc2NvbGZ1dHVyby91dGlscy91dGlscyc7XHJcbmltcG9ydCAqIGFzIHV0aWxzXyBmcm9tICdmb3JtaW9qcy1jb2xmdXR1cm8vdXRpbHMvdXRpbHMnO1xyXG5pbXBvcnQgeyBJZlN0bXQgfSBmcm9tICdAYW5ndWxhci9jb21waWxlcic7XHJcbmltcG9ydCB7IFRva2VuU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3Rva2VuLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFRm9ybWlvS2V5IH0gZnJvbSAnbmctcGxpLXV0aWwnO1xyXG5jb25zdCB1dGlscyA9IHV0aWxzXztcclxuXHJcbmV4cG9ydCBjbGFzcyBGb3JtaW9VdGlsIHtcclxuXHQvKipcclxuXHQgKiBJdCByZXR1cm5zIHRoZSBjb21wb25lbnRzIGZvcm1hdGVkIGJ5IHBhbmVsXHJcblx0ICogQHBhcmFtIGNvbXBvbmVudHNcclxuXHQgKiBAcmV0dXJuIHRoZSBvYmplY3QgaXMgW3twYW5lbDogLCBpdGVtczogW3sgdmFsdWU6ICwgbGFiZWw6IH1dfV1cclxuXHQgKi9cclxuXHRzdGF0aWMgZ2V0Rm9ybWF0dGVkQ29tcG9uZW50c0J5UGFuZWwoY29tcG9uZW50cyk6IGFueVtdIHtcclxuXHRcdGxldCByZXN1bHQgPSBbXTtcclxuXHRcdGlmIChjb21wb25lbnRzKSB7XHJcblx0XHRcdGxldCBncm91cCA9IG51bGw7XHJcblx0XHRcdGxldCBvYmplY3QgPSBudWxsO1xyXG5cdFx0XHRmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiBjb21wb25lbnRzKSB7XHJcblx0XHRcdFx0aWYgKGNvbXBvbmVudFtFRm9ybWlvS2V5LlRJVExFX1BBTkVMXSAhPT0gZ3JvdXApIHtcclxuXHRcdFx0XHRcdGlmIChncm91cCAhPT0gbnVsbCkge1xyXG5cdFx0XHRcdFx0XHRyZXN1bHQucHVzaChvYmplY3QpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0b2JqZWN0ID0geyBsYWJlbDogY29tcG9uZW50W0VGb3JtaW9LZXkuVElUTEVfUEFORUxdLCBpdGVtczogW10sIHRvZ2dsZTogZmFsc2UgfTtcclxuXHRcdFx0XHRcdGdyb3VwID0gY29tcG9uZW50W0VGb3JtaW9LZXkuVElUTEVfUEFORUxdO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRvYmplY3QuaXRlbXMucHVzaCh7XHJcblx0XHRcdFx0XHRsYWJlbDogY29tcG9uZW50W0VGb3JtaW9LZXkuTEFCRUxdLFxyXG5cdFx0XHRcdFx0dmFsdWU6IGNvbXBvbmVudFtFRm9ybWlvS2V5LktFWV1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAoZ3JvdXAgIT09IG51bGwpIHJlc3VsdC5wdXNoKG9iamVjdCk7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gcmVzdWx0O1xyXG5cdH1cclxuXHRzdGF0aWMgZ2V0U2VsZWN0Qm94ZXMoc2VsZWN0Qm94ZSkge1xyXG5cdFx0dmFyIGlzdHJ1ZSA9IGZhbHNlO1xyXG5cclxuXHRcdGlmIChzZWxlY3RCb3hlICE9IHVuZGVmaW5lZCAmJiBzZWxlY3RCb3hlICE9IG51bGwgJiYgdHlwZW9mIHNlbGVjdEJveGUgPT09ICdvYmplY3QnKSB7XHJcblx0XHRcdGxldCBkYXRhSGFzVHJ1ZSA9IE9iamVjdC52YWx1ZXMoc2VsZWN0Qm94ZSk7XHJcblxyXG5cdFx0XHRkYXRhSGFzVHJ1ZS5mb3JFYWNoKGZ1bmN0aW9uICh2YWx1ZSkge1xyXG5cdFx0XHRcdGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyAmJiB2YWx1ZSkge1xyXG5cdFx0XHRcdFx0aXN0cnVlID0gdmFsdWU7XHJcblx0XHRcdFx0XHRyZXR1cm4gdmFsdWU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBFeHBlY3RlZCBvdXRwdXQ6IEFycmF5IFtcInNvbWVzdHJpbmdcIiwgNDIsIGZhbHNlXVxyXG5cclxuXHRcdHJldHVybiBpc3RydWU7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBJdCByZXR1cm5zIHRoZSBjb21wb25lbnRzIGFyZSByZXF1aXJlZCBhY2NvcmRpbmcgd2l0aCBkYXRhXHJcblx0ICogQHBhcmFtIGNvbXBvbmVudHMgYXJyYXkgb2YgY29tcG9uZW50c1xyXG5cdCAqIEBwYXJhbSBkYXRhXHJcblx0ICovXHJcblx0c3RhdGljIGdldFJlcXVpcmVkQ29tcG9uZW50c0J5RGF0YShjb21wb25lbnRzLCBkYXRhKSB7XHJcblx0XHQvLyBnZXQgdGhlIHJlcXVpcmVkIGNvbXBvbmVudHNcclxuXHJcblx0XHRsZXQgYXJyYXkgPSBGb3JtaW9VdGlsLmdldFJlcXVpcmVkQ29tcG9uZW50cyhjb21wb25lbnRzKTtcclxuXHJcblx0XHQvLyBpZiBub3QgZGF0YSB0aGVuIHJldHVybiBjb21wb25lbnRzXHJcblx0XHRpZiAoZGF0YSAmJiBhcnJheSkge1xyXG5cdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0Y29uc3QgY29tcG9uZW50ID0gYXJyYXlbaV07XHJcblx0XHRcdFx0Ly8gdXNlIGZvcm1pbyB0byBjaGVjayBjb25kaXRpb24gYWNjb3JkaW5nIHdpdGggZGF0YVxyXG5cdFx0XHRcdGlmICh1dGlscy5jaGVja0NvbmRpdGlvbihjb21wb25lbnQsIG51bGwsIGRhdGEsIG51bGwsIG51bGwpKSB7XHJcblx0XHRcdFx0XHRjb25zdCBrZXkgPSBjb21wb25lbnRbRUZvcm1pb0tleS5LRVldO1xyXG5cclxuXHRcdFx0XHRcdGlmIChBcnJheS5pc0FycmF5KGRhdGFba2V5XSkgJiYgZGF0YVtrZXldLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHRcdFx0Ly8gcmVtb3ZlIGl0ZW0gZnJvbSBhcnJheVxyXG5cdFx0XHRcdFx0XHRhcnJheS5zcGxpY2UoaSwgMSk7XHJcblx0XHRcdFx0XHRcdGktLTtcclxuXHRcdFx0XHRcdH0gZWxzZSBpZiAoXHJcblx0XHRcdFx0XHRcdHR5cGVvZiBkYXRhW2tleV0gPT09ICdvYmplY3QnICYmXHJcblx0XHRcdFx0XHRcdCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZGF0YVtrZXldLCAnZm9ybWF0dGVkX2FkZHJlc3MnKSAmJlxyXG5cdFx0XHRcdFx0XHQhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGRhdGFba2V5XSwgJ2NhbGxpbmdDb2RlcycpICYmXHJcblx0XHRcdFx0XHRcdCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZGF0YVtrZXldLCAnbmF0aXZlTmFtZScpICYmXHJcblx0XHRcdFx0XHRcdCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZGF0YVtrZXldLCAnb3JpZ2luYWxfbmFtZScpICYmXHJcblx0XHRcdFx0XHRcdCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZGF0YVtrZXldLCAnZnVsbE5hbWUnKSAmJlxyXG5cdFx0XHRcdFx0XHRGb3JtaW9VdGlsLmdldFNlbGVjdEJveGVzKGRhdGFba2V5XSlcclxuXHRcdFx0XHRcdCkge1xyXG5cdFx0XHRcdFx0XHQvLyByZW1vdmUgaXRlbSBmcm9tIGFycmF5XHJcblx0XHRcdFx0XHRcdGFycmF5LnNwbGljZShpLCAxKTtcclxuXHRcdFx0XHRcdFx0aS0tO1xyXG5cdFx0XHRcdFx0fSBlbHNlIGlmIChcclxuXHRcdFx0XHRcdFx0dHlwZW9mIGRhdGFba2V5XSA9PT0gJ29iamVjdCcgJiZcclxuXHRcdFx0XHRcdFx0IU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkYXRhW2tleV0sICdmb3JtYXR0ZWRfYWRkcmVzcycpICYmXHJcblx0XHRcdFx0XHRcdCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZGF0YVtrZXldLCAnY2FsbGluZ0NvZGVzJykgJiZcclxuXHRcdFx0XHRcdFx0IU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkYXRhW2tleV0sICduYXRpdmVOYW1lJykgJiZcclxuXHRcdFx0XHRcdFx0IU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkYXRhW2tleV0sICdvcmlnaW5hbF9uYW1lJykgJiZcclxuXHRcdFx0XHRcdFx0IU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkYXRhW2tleV0sICdmdWxsTmFtZScpICYmXHJcblx0XHRcdFx0XHRcdCFGb3JtaW9VdGlsLmdldFNlbGVjdEJveGVzKGRhdGFba2V5XSlcclxuXHRcdFx0XHRcdCkge1xyXG5cdFx0XHRcdFx0fSBlbHNlIGlmIChkYXRhW2tleV0gIT0gdW5kZWZpbmVkICYmIGRhdGFba2V5XSAhPSBudWxsICYmIGRhdGFba2V5XSAhPSAnJykge1xyXG5cdFx0XHRcdFx0XHQvLyByZW1vdmUgaXRlbSBmcm9tIGFycmF5XHJcblx0XHRcdFx0XHRcdGFycmF5LnNwbGljZShpLCAxKTtcclxuXHRcdFx0XHRcdFx0aS0tO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0aWYgKFxyXG5cdFx0XHRcdFx0XHRcdGNvbXBvbmVudC5jdXN0b21Db25kaXRpb25hbCAmJlxyXG5cdFx0XHRcdFx0XHRcdGNvbXBvbmVudC5jdXN0b21Db25kaXRpb25hbC5pbmNsdWRlcygnc2hvdycpXHJcblx0XHRcdFx0XHRcdCkge1xyXG5cdFx0XHRcdFx0XHRcdC8vIHJlbW92ZSBpdGVtIGZyb20gYXJyYXlcclxuXHRcdFx0XHRcdFx0XHRhcnJheS5zcGxpY2UoaSwgMSk7XHJcblx0XHRcdFx0XHRcdFx0aS0tO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdC8vIHJlbW92ZSBpdGVtIGZyb20gYXJyYXlcclxuXHRcdFx0XHRcdGFycmF5LnNwbGljZShpLCAxKTtcclxuXHRcdFx0XHRcdGktLTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHJldHVybiBhcnJheTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEl0IHJldHVybnMgdGhlIGNvbXBvbmVudHMgdGhhdCBhcmUgcmVxdWlyZWRcclxuXHQgKiBAcGFyYW0gY29tcG9uZW50cyBhcnJheSBvZiBjb21wb25lbnRzXHJcblx0ICovXHJcblx0c3RhdGljIGdldFVuaXF1ZUNvbXBvbmVudHMoY29tcG9uZW50cykge1xyXG5cdFx0cmV0dXJuIEZvcm1pb1V0aWwuZ2V0Q29tcG9uZW50c0J5RmVhdHVyZShjb21wb25lbnRzLCBbRUZvcm1pb0tleS5VTklRVUVdLCB0cnVlKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEl0IHJldHVybnMgdGhlIGNvbXBvbmVudHMgdGhhdCBhcmUgcmVxdWlyZWRcclxuXHQgKiBAcGFyYW0gY29tcG9uZW50cyBhcnJheSBvZiBjb21wb25lbnRzXHJcblx0ICovXHJcblx0c3RhdGljIGdldFJlcXVpcmVkQ29tcG9uZW50cyhjb21wb25lbnRzKSB7XHJcblx0XHRyZXR1cm4gRm9ybWlvVXRpbC5nZXRDb21wb25lbnRzQnlGZWF0dXJlKFxyXG5cdFx0XHRjb21wb25lbnRzLFxyXG5cdFx0XHRbRUZvcm1pb0tleS5WQUxJREFURSwgRUZvcm1pb0tleS5SRVFVSVJFRF0sXHJcblx0XHRcdHRydWVcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBJdCByZXR1cm5zIHRoZSBjb21wb25lbnRzIHRoYXQgaGF2ZSBhIHNwZWNpZmljIGZlYXR1cmUgZGVmaW5lZCBieSBwcm9wZXJ0aWVzIGFuZCB2YWx1ZVxyXG5cdCAqIEBwYXJhbSBjb21wb25lbnRzIGFycmF5IG9mIGNvbXBvbmVudHNcclxuXHQgKiBAcGFyYW0gcHJvcGVydGllcyBwYXRoIG9mIHByb3BlcnRpZXMgZXhhbXBsZSBbdmFsaWRhdGUsIHJlcXVpcmVkXSBvciBbdW5pcXVlXVxyXG5cdCAqIEBwYXJhbSB2YWx1ZSB0aGUgdmFsdWUgdGhhdCBzaG91bGQgaGF2ZSB0aGUgcHJvcGVydHlcclxuXHQgKi9cclxuXHRwcml2YXRlIHN0YXRpYyBnZXRDb21wb25lbnRzQnlGZWF0dXJlKGNvbXBvbmVudHM6IGFueVtdLCBwcm9wZXJ0aWVzOiBzdHJpbmdbXSwgdmFsdWU6IGFueSkge1xyXG5cdFx0bGV0IHJlc3VsdCA9IFtdO1xyXG5cdFx0aWYgKHByb3BlcnRpZXMgJiYgcHJvcGVydGllcy5sZW5ndGggPiAwKSB7XHJcblx0XHRcdC8vIGdldCBjb21wb25lbnRzXHJcblx0XHRcdGNvbnN0IGZpZWxkczogYW55W10gPSBGb3JtaW9VdGlsLmdldENvbXBvbmVudHMoY29tcG9uZW50cyk7XHJcblxyXG5cdFx0XHQvLyBnZXQgZmlyc3QgYW5kIGxhc3QgcHJvcGVydHlcclxuXHRcdFx0Y29uc3QgZmlyc3RQcm9wZXJ0eSA9IHByb3BlcnRpZXNbMF07XHJcblx0XHRcdGNvbnN0IGxhc3RQcm9wZXJ0eSA9IHByb3BlcnRpZXNbcHJvcGVydGllcy5sZW5ndGggLSAxXTtcclxuXHJcblx0XHRcdGlmIChmaWVsZHMpIHtcclxuXHRcdFx0XHQvLyBpdGVyYXRlIHRoZSBmaWVsZHNcclxuXHRcdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGZpZWxkcy5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRcdFx0Ly8gaXQgY29udGFpbnMgdGhlIGVudGlyZSBvYmplY3QgZmllbGRcclxuXHRcdFx0XHRcdGNvbnN0IGZpZWxkID0gZmllbGRzW2ldO1xyXG5cdFx0XHRcdFx0Ly8gaXQgY29udGFpbnMgdGhlIGN1cnJlbnQgY29tcG9uZW50IGFuZCBpdCBpcyBnb25uYSBiZSB0aGUgY29tcG9uZW50IG9mIGV2ZXJ5IHByb3BlcnR5XHJcblx0XHRcdFx0XHRsZXQgY29tcG9uZW50ID0gZmllbGQ7XHJcblx0XHRcdFx0XHRpZiAoZmllbGRbZmlyc3RQcm9wZXJ0eV0pIHtcclxuXHRcdFx0XHRcdFx0Zm9yIChsZXQgaiA9IDA7IGogPCBwcm9wZXJ0aWVzLmxlbmd0aDsgaisrKSB7XHJcblx0XHRcdFx0XHRcdFx0Y29uc3QgcHJvcGVydHkgPSBwcm9wZXJ0aWVzW2pdO1xyXG5cdFx0XHRcdFx0XHRcdC8vIGlmIGNvbXBvbmVudC5wcm9wZXJ0eSBkb2VzbnQgZXhpc3QgdGhlbiBicmVha1xyXG5cdFx0XHRcdFx0XHRcdGlmICghY29tcG9uZW50W3Byb3BlcnR5XSkgYnJlYWs7XHJcblx0XHRcdFx0XHRcdFx0aWYgKHByb3BlcnR5ID09PSBsYXN0UHJvcGVydHkpIHtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIGl0IGlzIHRoZSBsYXN0IHByb3BlcnR5IHNvIGlmIHRoZSB2YWx1ZSBpcyBlcXVhbHMgdG8gY29tcG9uZW50Lmxhc3Rwcm9wZXJ0eSB0aGVuIGl0IGlzIGFkZGVkIHRvIHJlc3VsdFxyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGNvbXBvbmVudFtwcm9wZXJ0eV0gPT0gdmFsdWUpIHJlc3VsdC5wdXNoKGZpZWxkKTtcclxuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gb3RoZXJ3aXNlIGNvbXBvbmVudCB3aWxsIGJlIGVxdWFsIHRvIHRoZSBjb21wb25lbnQucHJvcGVydHlcclxuXHRcdFx0XHRcdFx0XHRcdGNvbXBvbmVudCA9IGNvbXBvbmVudFtwcm9wZXJ0eV07XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gcmVzdWx0O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogSXQgcmV0dXJucyB0aGUgY29tcG9uZW50c1xyXG5cdCAqIEBwYXJhbSBjb21wb25lbnRzXHJcblx0ICovXHJcblx0c3RhdGljIGdldENvbXBvbmVudHMoY29tcG9uZW50czogYW55W10pOiBhbnlbXSB7XHJcblx0XHRyZXR1cm4gRm9ybWlvVXRpbC5nZXRDb21wb25lbnRzQnlSZWN1cnNpb24oY29tcG9uZW50cywgJycsIG51bGwpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogSXQgcmV0dXJucyB0aGUgY29tcG9uZW50cyBhcnJheSBvZiB0aGUgZm9ybSBieSByZWN1cnNpb25cclxuXHQgKiBAcGFyYW0gY29tcG9uZW50cyBhcnJheSBvZiBjb21wb25lbnRzXHJcblx0ICogQHBhcmFtIHRpdGxlUGFuZWwgbmFtZSBvZiBwYXJlbnQgcGFuZWwsIHNvIGNoaWxkcmVuIGNvbXBvbmVudHMgd2lsbCBpbmhlcml0IHRoZSBwYW5lbE5hbWVcclxuXHQgKiBAcGFyYW0gY29uZGl0aW9uYWxPYmplY3QgY29uZGl0aW9uYWwgb2JqZWN0IGl0IHdpbGwgYmUgaW5oZXJpdGVkIGZyb20gcGFuZWwge2NvbmRpdGlvbmFsOiB7IGVxOiAsIHZhbHVlOiAsIHdoZW46ICwganNvbjogfSwgY3VzdG9tQ29uZGl0aW9uYWw6IH1cclxuXHQgKi9cclxuXHRwcml2YXRlIHN0YXRpYyBnZXRDb21wb25lbnRzQnlSZWN1cnNpb24oXHJcblx0XHRjb21wb25lbnRzOiBhbnlbXSxcclxuXHRcdHRpdGxlUGFuZWw6IHN0cmluZyxcclxuXHRcdGNvbmRpdGlvbmFsUGFyZW50OiBhbnlcclxuXHQpOiBhbnlbXSB7XHJcblx0XHQvLyBpdCBjb250YWlucyB0aGUgcmVzdWx0IGFycmF5XHJcblx0XHRsZXQgcmVzdWx0ID0gW107XHJcblx0XHRpZiAoY29tcG9uZW50cykge1xyXG5cdFx0XHQvLyBpdGVyYXRlIG92ZXIgY29tcG9uZW50c1xyXG5cdFx0XHRmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiBjb21wb25lbnRzKSB7XHJcblx0XHRcdFx0Ly8gYXZvaWQgdGhlIGVkaXRncmlkIGNvbXBvbmVudCBvdCBpZiBpdCBoYXMgYSBkaWZmZXJlbnQgYmVoYXZpb3IgaXQgc2hvdWxkIGhhdmUgYW4gZWxzZSBzdGF0ZW1lbnRcclxuXHRcdFx0XHRpZiAoY29tcG9uZW50W0VGb3JtaW9LZXkuVFlQRV0gIT09IEVGb3JtaW9LZXkuRURJVEdSSUQpIHtcclxuXHRcdFx0XHRcdC8vIGlmIGNvbXBvbmVudCBpcyBwYW5lbCB0aGVuIHRpdGxlUGFuZWwgdmFyaWFibGUgaXMgY2hhbmdlZCwgYW5kIGl0IGlzIGdvbm5hIGJlIGluaGVyaXRlZFxyXG5cdFx0XHRcdFx0aWYgKGNvbXBvbmVudFtFRm9ybWlvS2V5LlRZUEVdID09PSBFRm9ybWlvS2V5LlBBTkVMKSB7XHJcblx0XHRcdFx0XHRcdHRpdGxlUGFuZWwgPSBjb21wb25lbnRbRUZvcm1pb0tleS5USVRMRV07XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0aWYgKFxyXG5cdFx0XHRcdFx0XHQodHlwZW9mIGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTVBPTkVOVFNdICE9PSAndW5kZWZpbmVkJyB8fFxyXG5cdFx0XHRcdFx0XHRcdHR5cGVvZiBjb21wb25lbnRbRUZvcm1pb0tleS5DT0xVTU5TXSAhPT0gJ3VuZGVmaW5lZCcpICYmXHJcblx0XHRcdFx0XHRcdCh0eXBlb2YgY29tcG9uZW50W0VGb3JtaW9LZXkuVFlQRV0gPT0gJ3VuZGVmaW5lZCcgfHxcclxuXHRcdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5UWVBFXSAhPT0gRUZvcm1pb0tleS5UWVBFX0FERFJFU1MpXHJcblx0XHRcdFx0XHQpIHtcclxuXHRcdFx0XHRcdFx0aWYgKGNvbXBvbmVudFsndHlwZSddICE9PSAnYWRkcmVzcycpIHtcclxuXHRcdFx0XHRcdFx0XHQvLyByZXNvbHZlIGNvbmRpdGlvbmFsIHBhcmVudCBjb25kaXRpb25hbFxyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IGNvbmRpdGlvbmFsID0gdGhpcy5yZXNvbHZlSW5oZXJpdGFuY2VDb25kaXRpb25hbChcclxuXHRcdFx0XHRcdFx0XHRcdGNvbmRpdGlvbmFsUGFyZW50LFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ09ORElUSU9OQUxdLFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ1VTVE9NX0NPTkRJVElPTkFMXSxcclxuXHRcdFx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LklEXVxyXG5cdFx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRcdFx0Ly8gY2hhbmdlIGNvbmRpdGlvblxyXG5cdFx0XHRcdFx0XHRcdGlmIChjb25kaXRpb25hbCkgY29uZGl0aW9uYWxQYXJlbnQgPSBjb25kaXRpb25hbDtcclxuXHRcdFx0XHRcdFx0XHQvLyBpdCBjb250YWlucyB0aGUgc3ViY29tcG9uZW50cyBkZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mIGNvbXBvbmVudCBpZiBpdCBoYXMgY29tcG9uZW50cyBvciBjb2x1bW5zXHJcblx0XHRcdFx0XHRcdFx0bGV0IHN1YkNvbXBvbmVudHMgPVxyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZW9mIGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTVBPTkVOVFNdICE9PSAndW5kZWZpbmVkJ1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQ/IGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTVBPTkVOVFNdXHJcblx0XHRcdFx0XHRcdFx0XHRcdDogY29tcG9uZW50W0VGb3JtaW9LZXkuQ09MVU1OU107XHJcblx0XHRcdFx0XHRcdFx0Ly8gaWYgY29tcG9uZW50IGhhcyBzdWJDb21wb25lbnRzLCB0aGVuIGV4ZWN1dGUgdGhlIHJlY3Vyc2lvbiBmdW5jdGlvbiB0byBnZXQgdGhlIHJlY3Vyc2lvbm5SZXN1bHRcclxuXHRcdFx0XHRcdFx0XHRjb25zdCByZWN1cnNpb25SZXN1bHQgPSBGb3JtaW9VdGlsLmdldENvbXBvbmVudHNCeVJlY3Vyc2lvbihcclxuXHRcdFx0XHRcdFx0XHRcdHN1YkNvbXBvbmVudHMsXHJcblx0XHRcdFx0XHRcdFx0XHR0aXRsZVBhbmVsLFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29uZGl0aW9uYWxQYXJlbnRcclxuXHRcdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0XHRcdC8vIGlmIHJlY3Vyc2lvbiByZXN1bHQgdGhlbiByZXN1bHQgY29uY2F0cyB0aGUgcmVjdXJzaW9uUmVzdWx0XHJcblx0XHRcdFx0XHRcdFx0aWYgKHJlY3Vyc2lvblJlc3VsdCkgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdChyZWN1cnNpb25SZXN1bHQpO1xyXG5cdFx0XHRcdFx0XHRcdC8vIHJlc2V0IGNvbmRpdGlvbmFsIFBhcmVudFxyXG5cdFx0XHRcdFx0XHRcdGlmIChjb21wb25lbnRbRUZvcm1pb0tleS5JRF0gPT0gY29uZGl0aW9uYWxQYXJlbnQuaWQpXHJcblx0XHRcdFx0XHRcdFx0XHRjb25kaXRpb25hbFBhcmVudCA9IHVuZGVmaW5lZDtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRyZXN1bHQucHVzaChjb21wb25lbnQpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHQvLyBhdm9pZCB0aGUgY29tcG9uZW50IHR5cGUgYnV0dG9uXHJcblx0XHRcdFx0XHRcdGlmIChcclxuXHRcdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5UWVBFXSAhPT0gRUZvcm1pb0tleS5CVVRUT04gJiZcclxuXHRcdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5LRVldICYmXHJcblx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuTEFCRUxdXHJcblx0XHRcdFx0XHRcdCkge1xyXG5cdFx0XHRcdFx0XHRcdC8vIHJlc29sdmUgY29uZGl0aW9uYWwgY29uZGl0aW9uYWwgb2JqZWN0XHJcblx0XHRcdFx0XHRcdFx0bGV0IGNvbmRpdGlvbmFsID0gdGhpcy5yZXNvbHZlSW5oZXJpdGFuY2VDb25kaXRpb25hbChcclxuXHRcdFx0XHRcdFx0XHRcdGNvbmRpdGlvbmFsUGFyZW50LFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ09ORElUSU9OQUxdLFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ1VTVE9NX0NPTkRJVElPTkFMXSxcclxuXHRcdFx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LklEXVxyXG5cdFx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRcdFx0aWYgKCFjb25kaXRpb25hbCkgY29uZGl0aW9uYWwgPSBjb25kaXRpb25hbFBhcmVudDtcclxuXHRcdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5DT05ESVRJT05BTF0gPSBjb25kaXRpb25hbFtFRm9ybWlvS2V5LkNPTkRJVElPTkFMXTtcclxuXHRcdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5DVVNUT01fQ09ORElUSU9OQUxdID1cclxuXHRcdFx0XHRcdFx0XHRcdGNvbmRpdGlvbmFsW0VGb3JtaW9LZXkuQ1VTVE9NX0NPTkRJVElPTkFMXTtcclxuXHRcdFx0XHRcdFx0XHQvLyBhZGQgbmFtUGFuZWwgYXMgcHJvcGVydHlcclxuXHRcdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5USVRMRV9QQU5FTF0gPSB0aXRsZVBhbmVsO1xyXG5cdFx0XHRcdFx0XHRcdC8vIGFkZCBjb21wb25lbnQgdG8gdGhlIHJlc3VsdFxyXG5cdFx0XHRcdFx0XHRcdHJlc3VsdC5wdXNoKGNvbXBvbmVudCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9IGVsc2UgaWYgKGNvbXBvbmVudFtFRm9ybWlvS2V5LlRZUEVdID09PSBFRm9ybWlvS2V5LkVESVRHUklEKSB7XHJcblx0XHRcdFx0XHRpZiAoY29tcG9uZW50LnZhbGlkYXRlLnJlcXVpcmVkKSB7XHJcblx0XHRcdFx0XHRcdHJlc3VsdC5wdXNoKGNvbXBvbmVudCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gcmVzdWx0O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogSXQgcmV0dXJucyB0aGUgY29tcG9uZW50c1xyXG5cdCAqIEBwYXJhbSBjb21wb25lbnRzXHJcblx0ICogQHBhcmFtIGtlZXBFZGl0R3JpZHNcclxuXHQgKi9cclxuXHRzdGF0aWMgZ2V0Q29tcG9uZW50c1dpdGhFZGl0R3JpZHMoY29tcG9uZW50czogYW55W10pOiBhbnlbXSB7XHJcblx0XHRyZXR1cm4gRm9ybWlvVXRpbC5nZXRDb21wb25lbnRzQnlSZWN1cnNpb25XaXRoRWRpdEdyaWRzKGNvbXBvbmVudHMsICcnLCBudWxsKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEl0IHJldHVybnMgdGhlIGNvbXBvbmVudHMgYXJyYXkgb2YgdGhlIGZvcm0gYnkgcmVjdXJzaW9uXHJcblx0ICogQHBhcmFtIGNvbXBvbmVudHMgYXJyYXkgb2YgY29tcG9uZW50c1xyXG5cdCAqIEBwYXJhbSB0aXRsZVBhbmVsIG5hbWUgb2YgcGFyZW50IHBhbmVsLCBzbyBjaGlsZHJlbiBjb21wb25lbnRzIHdpbGwgaW5oZXJpdCB0aGUgcGFuZWxOYW1lXHJcblx0ICogQHBhcmFtIGNvbmRpdGlvbmFsT2JqZWN0IGNvbmRpdGlvbmFsIG9iamVjdCBpdCB3aWxsIGJlIGluaGVyaXRlZCBmcm9tIHBhbmVsIHtjb25kaXRpb25hbDogeyBlcTogLCB2YWx1ZTogLCB3aGVuOiAsIGpzb246IH0sIGN1c3RvbUNvbmRpdGlvbmFsOiB9XHJcblx0ICovXHJcblx0cHJpdmF0ZSBzdGF0aWMgZ2V0Q29tcG9uZW50c0J5UmVjdXJzaW9uV2l0aEVkaXRHcmlkcyhcclxuXHRcdGNvbXBvbmVudHM6IGFueVtdLFxyXG5cdFx0dGl0bGVQYW5lbDogc3RyaW5nLFxyXG5cdFx0Y29uZGl0aW9uYWxQYXJlbnQ6IGFueVxyXG5cdCk6IGFueVtdIHtcclxuXHRcdC8vIGl0IGNvbnRhaW5zIHRoZSByZXN1bHQgYXJyYXlcclxuXHRcdGxldCByZXN1bHQgPSBbXTtcclxuXHRcdGlmIChjb21wb25lbnRzKSB7XHJcblx0XHRcdC8vIGl0ZXJhdGUgb3ZlciBjb21wb25lbnRzXHJcblx0XHRcdGZvciAoY29uc3QgY29tcG9uZW50IG9mIGNvbXBvbmVudHMpIHtcclxuXHRcdFx0XHQvLyBhdm9pZCB0aGUgZWRpdGdyaWQgY29tcG9uZW50IG90IGlmIGl0IGhhcyBhIGRpZmZlcmVudCBiZWhhdmlvciBpdCBzaG91bGQgaGF2ZSBhbiBlbHNlIHN0YXRlbWVudFxyXG5cclxuXHRcdFx0XHQvLyBpZiBjb21wb25lbnQgaXMgcGFuZWwgdGhlbiB0aXRsZVBhbmVsIHZhcmlhYmxlIGlzIGNoYW5nZWQsIGFuZCBpdCBpcyBnb25uYSBiZSBpbmhlcml0ZWRcclxuXHRcdFx0XHRpZiAoY29tcG9uZW50W0VGb3JtaW9LZXkuVFlQRV0gPT09IEVGb3JtaW9LZXkuUEFORUwpIHtcclxuXHRcdFx0XHRcdHRpdGxlUGFuZWwgPSBjb21wb25lbnRbRUZvcm1pb0tleS5USVRMRV07XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRpZiAoXHJcblx0XHRcdFx0XHQodHlwZW9mIGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTVBPTkVOVFNdICE9PSAndW5kZWZpbmVkJyB8fFxyXG5cdFx0XHRcdFx0XHR0eXBlb2YgY29tcG9uZW50W0VGb3JtaW9LZXkuQ09MVU1OU10gIT09ICd1bmRlZmluZWQnKSAmJlxyXG5cdFx0XHRcdFx0KHR5cGVvZiBjb21wb25lbnRbRUZvcm1pb0tleS5UWVBFXSA9PSAndW5kZWZpbmVkJyB8fFxyXG5cdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5UWVBFXSAhPT0gRUZvcm1pb0tleS5UWVBFX0FERFJFU1MpXHJcblx0XHRcdFx0KSB7XHJcblx0XHRcdFx0XHQvLyByZXNvbHZlIGNvbmRpdGlvbmFsIHBhcmVudCBjb25kaXRpb25hbFxyXG5cdFx0XHRcdFx0Y29uc3QgY29uZGl0aW9uYWwgPSB0aGlzLnJlc29sdmVJbmhlcml0YW5jZUNvbmRpdGlvbmFsKFxyXG5cdFx0XHRcdFx0XHRjb25kaXRpb25hbFBhcmVudCxcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ09ORElUSU9OQUxdLFxyXG5cdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5DVVNUT01fQ09ORElUSU9OQUxdLFxyXG5cdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5JRF1cclxuXHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHQvLyBjaGFuZ2UgY29uZGl0aW9uXHJcblx0XHRcdFx0XHRpZiAoY29uZGl0aW9uYWwpIGNvbmRpdGlvbmFsUGFyZW50ID0gY29uZGl0aW9uYWw7XHJcblx0XHRcdFx0XHQvLyBpdCBjb250YWlucyB0aGUgc3ViY29tcG9uZW50cyBkZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mIGNvbXBvbmVudCBpZiBpdCBoYXMgY29tcG9uZW50cyBvciBjb2x1bW5zXHJcblx0XHRcdFx0XHRsZXQgc3ViQ29tcG9uZW50cyA9XHJcblx0XHRcdFx0XHRcdHR5cGVvZiBjb21wb25lbnRbRUZvcm1pb0tleS5DT01QT05FTlRTXSAhPT0gJ3VuZGVmaW5lZCdcclxuXHRcdFx0XHRcdFx0XHQ/IGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTVBPTkVOVFNdXHJcblx0XHRcdFx0XHRcdFx0OiBjb21wb25lbnRbRUZvcm1pb0tleS5DT0xVTU5TXTtcclxuXHJcblx0XHRcdFx0XHRpZiAoY29tcG9uZW50W0VGb3JtaW9LZXkuVFlQRV0gPT09IEVGb3JtaW9LZXkuRURJVEdSSUQpIHtcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuVElUTEVfUEFORUxdID0gdGl0bGVQYW5lbDtcclxuXHRcdFx0XHRcdFx0cmVzdWx0LnB1c2goY29tcG9uZW50KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC8vIGlmIGNvbXBvbmVudCBoYXMgc3ViQ29tcG9uZW50cywgdGhlbiBleGVjdXRlIHRoZSByZWN1cnNpb24gZnVuY3Rpb24gdG8gZ2V0IHRoZSByZWN1cnNpb25uUmVzdWx0XHJcblx0XHRcdFx0XHRjb25zdCByZWN1cnNpb25SZXN1bHQgPSBGb3JtaW9VdGlsLmdldENvbXBvbmVudHNCeVJlY3Vyc2lvbldpdGhFZGl0R3JpZHMoXHJcblx0XHRcdFx0XHRcdHN1YkNvbXBvbmVudHMsXHJcblx0XHRcdFx0XHRcdHRpdGxlUGFuZWwsXHJcblx0XHRcdFx0XHRcdGNvbmRpdGlvbmFsUGFyZW50XHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0Ly8gaWYgcmVjdXJzaW9uIHJlc3VsdCB0aGVuIHJlc3VsdCBjb25jYXRzIHRoZSByZWN1cnNpb25SZXN1bHRcclxuXHRcdFx0XHRcdGlmIChyZWN1cnNpb25SZXN1bHQpIHJlc3VsdCA9IHJlc3VsdC5jb25jYXQocmVjdXJzaW9uUmVzdWx0KTtcclxuXHRcdFx0XHRcdC8vIHJlc2V0IGNvbmRpdGlvbmFsIFBhcmVudFxyXG5cdFx0XHRcdFx0aWYgKGNvbXBvbmVudFtFRm9ybWlvS2V5LklEXSA9PSBjb25kaXRpb25hbFBhcmVudC5pZClcclxuXHRcdFx0XHRcdFx0Y29uZGl0aW9uYWxQYXJlbnQgPSB1bmRlZmluZWQ7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdC8vIGF2b2lkIHRoZSBjb21wb25lbnQgdHlwZSBidXR0b25cclxuXHRcdFx0XHRcdGlmIChcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuVFlQRV0gIT09IEVGb3JtaW9LZXkuQlVUVE9OICYmXHJcblx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LktFWV0gJiZcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuTEFCRUxdXHJcblx0XHRcdFx0XHQpIHtcclxuXHRcdFx0XHRcdFx0Ly8gcmVzb2x2ZSBjb25kaXRpb25hbCBjb25kaXRpb25hbCBvYmplY3RcclxuXHRcdFx0XHRcdFx0bGV0IGNvbmRpdGlvbmFsID0gdGhpcy5yZXNvbHZlSW5oZXJpdGFuY2VDb25kaXRpb25hbChcclxuXHRcdFx0XHRcdFx0XHRjb25kaXRpb25hbFBhcmVudCxcclxuXHRcdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5DT05ESVRJT05BTF0sXHJcblx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ1VTVE9NX0NPTkRJVElPTkFMXSxcclxuXHRcdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5JRF1cclxuXHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdFx0aWYgKCFjb25kaXRpb25hbCkgY29uZGl0aW9uYWwgPSBjb25kaXRpb25hbFBhcmVudDtcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ09ORElUSU9OQUxdID0gY29uZGl0aW9uYWxbRUZvcm1pb0tleS5DT05ESVRJT05BTF07XHJcblx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LkNVU1RPTV9DT05ESVRJT05BTF0gPVxyXG5cdFx0XHRcdFx0XHRcdGNvbmRpdGlvbmFsW0VGb3JtaW9LZXkuQ1VTVE9NX0NPTkRJVElPTkFMXTtcclxuXHRcdFx0XHRcdFx0Ly8gYWRkIG5hbVBhbmVsIGFzIHByb3BlcnR5XHJcblx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LlRJVExFX1BBTkVMXSA9IHRpdGxlUGFuZWw7XHJcblx0XHRcdFx0XHRcdC8vIGFkZCBjb21wb25lbnQgdG8gdGhlIHJlc3VsdFxyXG5cdFx0XHRcdFx0XHRyZXN1bHQucHVzaChjb21wb25lbnQpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHJlc3VsdDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEl0IHJlc29sdmUgdGhlIGluaGVyaXRhbmNlIGNvbmRpdGlvbmFsXHJcblx0ICogQHBhcmFtIGNvbmRpdGlvbmFsT2JqZWN0XHJcblx0ICogQHBhcmFtIGNvbmRpdGlvbmFsXHJcblx0ICogQHBhcmFtIGN1c3RvbUNvbmRpdGlvbmFsXHJcblx0ICovXHJcblx0cHJpdmF0ZSBzdGF0aWMgcmVzb2x2ZUluaGVyaXRhbmNlQ29uZGl0aW9uYWwoXHJcblx0XHRjb25kaXRpb25hbE9iamVjdCxcclxuXHRcdGNvbmRpdGlvbmFsLFxyXG5cdFx0Y3VzdG9tQ29uZGl0aW9uYWwsXHJcblx0XHRwYXJlbnRJZFxyXG5cdCk6IGFueSB7XHJcblx0XHQvLyB2YWxpZGF0ZSBpZiB0aGVyZSBpcyBhIGNvbmRpdGlvbiB3aXRoIHRoZSBuZXcgZmllbGRzXHJcblx0XHRpZiAoXHJcblx0XHRcdCFjb25kaXRpb25hbE9iamVjdCB8fFxyXG5cdFx0XHRjdXN0b21Db25kaXRpb25hbCB8fFxyXG5cdFx0XHQoY29uZGl0aW9uYWwgJiYgY29uZGl0aW9uYWxbRUZvcm1pb0tleS5XSEVOXSAmJiBjb25kaXRpb25hbFtFRm9ybWlvS2V5LkVRXSkgfHxcclxuXHRcdFx0KGNvbmRpdGlvbmFsICYmIGNvbmRpdGlvbmFsW0VGb3JtaW9LZXkuSlNPTl0pXHJcblx0XHQpIHtcclxuXHRcdFx0cmV0dXJuIHsgY29uZGl0aW9uYWw6IGNvbmRpdGlvbmFsLCBjdXN0b21Db25kaXRpb25hbDogY3VzdG9tQ29uZGl0aW9uYWwsIGlkOiBwYXJlbnRJZCB9O1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIG51bGw7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBJdCByZXR1cm5zIHRoZSBlZGl0IGdyaWQgY29tcG9uZW50c1xyXG5cdCAqIEBwYXJhbSBjb21wb25lbnRzXHJcblx0ICovXHJcblx0c3RhdGljIGdldEVkaXRHcmlkS2V5TGFiZWxzKGNvbXBvbmVudHM6IGFueVtdKTogYW55W10ge1xyXG5cdFx0cmV0dXJuIEZvcm1pb1V0aWwuZ2V0RWRpdEdyaWRLZXlMYWJlbHNCeVJlY3Vyc2lvbihjb21wb25lbnRzLCAnJywgbnVsbCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBJdCByZXR1cm5zIHRoZSBjb21wb25lbnRzIGVkaXQgZ3JpZCBhcnJheSBvZiB0aGUgZm9ybSBieSByZWN1cnNpb25cclxuXHQgKiBAcGFyYW0gY29tcG9uZW50cyBhcnJheSBvZiBjb21wb25lbnRzXHJcblx0ICogQHBhcmFtIHRpdGxlUGFuZWwgbmFtZSBvZiBwYXJlbnQgcGFuZWwsIHNvIGNoaWxkcmVuIGNvbXBvbmVudHMgd2lsbCBpbmhlcml0IHRoZSBwYW5lbE5hbWVcclxuXHQgKiBAcGFyYW0gY29uZGl0aW9uYWxPYmplY3QgY29uZGl0aW9uYWwgb2JqZWN0IGl0IHdpbGwgYmUgaW5oZXJpdGVkIGZyb20gcGFuZWwge2NvbmRpdGlvbmFsOiB7IGVxOiAsIHZhbHVlOiAsIHdoZW46ICwganNvbjogfSwgY3VzdG9tQ29uZGl0aW9uYWw6IH1cclxuXHQgKi9cclxuXHRwcml2YXRlIHN0YXRpYyBnZXRFZGl0R3JpZEtleUxhYmVsc0J5UmVjdXJzaW9uKFxyXG5cdFx0Y29tcG9uZW50czogYW55W10sXHJcblx0XHR0aXRsZVBhbmVsOiBzdHJpbmcsXHJcblx0XHRjb25kaXRpb25hbFBhcmVudDogYW55XHJcblx0KTogYW55W10ge1xyXG5cdFx0Ly8gaXQgY29udGFpbnMgdGhlIHJlc3VsdCBhcnJheVxyXG5cdFx0bGV0IHJlc3VsdCA9IFtdO1xyXG5cdFx0aWYgKGNvbXBvbmVudHMpIHtcclxuXHRcdFx0Ly8gaXRlcmF0ZSBvdmVyIGNvbXBvbmVudHNcclxuXHRcdFx0Zm9yIChjb25zdCBjb21wb25lbnQgb2YgY29tcG9uZW50cykge1xyXG5cdFx0XHRcdC8vIGlmIGNvbXBvbmVudCBpcyBwYW5lbCB0aGVuIHRpdGxlUGFuZWwgdmFyaWFibGUgaXMgY2hhbmdlZCwgYW5kIGl0IGlzIGdvbm5hIGJlIGluaGVyaXRlZFxyXG5cdFx0XHRcdGlmIChjb21wb25lbnRbRUZvcm1pb0tleS5UWVBFXSA9PT0gRUZvcm1pb0tleS5QQU5FTCkge1xyXG5cdFx0XHRcdFx0dGl0bGVQYW5lbCA9IGNvbXBvbmVudFtFRm9ybWlvS2V5LlRJVExFXTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGlmIChcclxuXHRcdFx0XHRcdCh0eXBlb2YgY29tcG9uZW50W0VGb3JtaW9LZXkuQ09NUE9ORU5UU10gIT09ICd1bmRlZmluZWQnIHx8XHJcblx0XHRcdFx0XHRcdHR5cGVvZiBjb21wb25lbnRbRUZvcm1pb0tleS5DT0xVTU5TXSAhPT0gJ3VuZGVmaW5lZCcpICYmXHJcblx0XHRcdFx0XHQodHlwZW9mIGNvbXBvbmVudFtFRm9ybWlvS2V5LlRZUEVdID09ICd1bmRlZmluZWQnIHx8XHJcblx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LlRZUEVdICE9PSBFRm9ybWlvS2V5LlRZUEVfQUREUkVTUylcclxuXHRcdFx0XHQpIHtcclxuXHRcdFx0XHRcdC8vIHJlc29sdmUgY29uZGl0aW9uYWwgcGFyZW50IGNvbmRpdGlvbmFsXHJcblx0XHRcdFx0XHRjb25zdCBjb25kaXRpb25hbCA9IHRoaXMucmVzb2x2ZUluaGVyaXRhbmNlQ29uZGl0aW9uYWwoXHJcblx0XHRcdFx0XHRcdGNvbmRpdGlvbmFsUGFyZW50LFxyXG5cdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5DT05ESVRJT05BTF0sXHJcblx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LkNVU1RPTV9DT05ESVRJT05BTF0sXHJcblx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LklEXVxyXG5cdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdC8vIGNoYW5nZSBjb25kaXRpb25cclxuXHRcdFx0XHRcdGlmIChjb25kaXRpb25hbCkgY29uZGl0aW9uYWxQYXJlbnQgPSBjb25kaXRpb25hbDtcclxuXHRcdFx0XHRcdC8vIGl0IGNvbnRhaW5zIHRoZSBzdWJjb21wb25lbnRzIGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YgY29tcG9uZW50IGlmIGl0IGhhcyBjb21wb25lbnRzIG9yIGNvbHVtbnNcclxuXHRcdFx0XHRcdGxldCBzdWJDb21wb25lbnRzID1cclxuXHRcdFx0XHRcdFx0dHlwZW9mIGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTVBPTkVOVFNdICE9PSAndW5kZWZpbmVkJ1xyXG5cdFx0XHRcdFx0XHRcdD8gY29tcG9uZW50W0VGb3JtaW9LZXkuQ09NUE9ORU5UU11cclxuXHRcdFx0XHRcdFx0XHQ6IGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTFVNTlNdO1xyXG5cdFx0XHRcdFx0aWYgKGNvbXBvbmVudFtFRm9ybWlvS2V5LlRZUEVdID09IEVGb3JtaW9LZXkuRURJVEdSSUQpIHtcclxuXHRcdFx0XHRcdFx0Ly8gYWRkIG5hbVBhbmVsIGFzIHByb3BlcnR5XHJcblx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LlRJVExFX1BBTkVMXSA9IHRpdGxlUGFuZWw7XHJcblx0XHRcdFx0XHRcdC8vIGFkZCBjb21wb25lbnQgdG8gdGhlIHJlc3VsdFxyXG5cdFx0XHRcdFx0XHRyZXN1bHQucHVzaChjb21wb25lbnQpO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0Ly8gaWYgY29tcG9uZW50IGhhcyBzdWJDb21wb25lbnRzLCB0aGVuIGV4ZWN1dGUgdGhlIHJlY3Vyc2lvbiBmdW5jdGlvbiB0byBnZXQgdGhlIHJlY3Vyc2lvbm5SZXN1bHRcclxuXHRcdFx0XHRcdFx0Y29uc3QgcmVjdXJzaW9uUmVzdWx0ID0gRm9ybWlvVXRpbC5nZXRFZGl0R3JpZEtleUxhYmVsc0J5UmVjdXJzaW9uKFxyXG5cdFx0XHRcdFx0XHRcdHN1YkNvbXBvbmVudHMsXHJcblx0XHRcdFx0XHRcdFx0dGl0bGVQYW5lbCxcclxuXHRcdFx0XHRcdFx0XHRjb25kaXRpb25hbFBhcmVudFxyXG5cdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0XHQvLyBpZiByZWN1cnNpb24gcmVzdWx0IHRoZW4gcmVzdWx0IGNvbmNhdHMgdGhlIHJlY3Vyc2lvblJlc3VsdFxyXG5cdFx0XHRcdFx0XHRpZiAocmVjdXJzaW9uUmVzdWx0KSByZXN1bHQgPSByZXN1bHQuY29uY2F0KHJlY3Vyc2lvblJlc3VsdCk7XHJcblx0XHRcdFx0XHRcdC8vIHJlc2V0IGNvbmRpdGlvbmFsIFBhcmVudFxyXG5cdFx0XHRcdFx0XHRpZiAoY29tcG9uZW50W0VGb3JtaW9LZXkuSURdID09IGNvbmRpdGlvbmFsUGFyZW50LmlkKVxyXG5cdFx0XHRcdFx0XHRcdGNvbmRpdGlvbmFsUGFyZW50ID0gdW5kZWZpbmVkO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gcmVzdWx0O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogSXQgcmV0dXJucyB0aGUgY29tcG9uZW50c1xyXG5cdCAqIEBwYXJhbSBjb21wb25lbnRzXHJcblx0ICogQHBhcmFtIGtlZXBFZGl0R3JpZHNcclxuXHQgKi9cclxuXHRzdGF0aWMgZ2V0Q29tcG9uZW50c0ludG9FZGl0R3JpZHMoY29tcG9uZW50czogYW55W10sIGVkaXRHcmlkTmFtZTogc3RyaW5nKTogYW55W10ge1xyXG5cdFx0cmV0dXJuIEZvcm1pb1V0aWwuZ2V0Q29tcG9uZW50c0J5UmVjdXJzaW9uSW50b0VkaXRHcmlkcyhcclxuXHRcdFx0Y29tcG9uZW50cyxcclxuXHRcdFx0JycsXHJcblx0XHRcdG51bGwsXHJcblx0XHRcdGVkaXRHcmlkTmFtZSxcclxuXHRcdFx0ZmFsc2VcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBJdCByZXR1cm5zIHRoZSBjb21wb25lbnRzIGFycmF5IG9mIHRoZSBmb3JtIGJ5IHJlY3Vyc2lvblxyXG5cdCAqIEBwYXJhbSBjb21wb25lbnRzIGFycmF5IG9mIGNvbXBvbmVudHNcclxuXHQgKiBAcGFyYW0gdGl0bGVQYW5lbCBuYW1lIG9mIHBhcmVudCBwYW5lbCwgc28gY2hpbGRyZW4gY29tcG9uZW50cyB3aWxsIGluaGVyaXQgdGhlIHBhbmVsTmFtZVxyXG5cdCAqIEBwYXJhbSBjb25kaXRpb25hbE9iamVjdCBjb25kaXRpb25hbCBvYmplY3QgaXQgd2lsbCBiZSBpbmhlcml0ZWQgZnJvbSBwYW5lbCB7Y29uZGl0aW9uYWw6IHsgZXE6ICwgdmFsdWU6ICwgd2hlbjogLCBqc29uOiB9LCBjdXN0b21Db25kaXRpb25hbDogfVxyXG5cdCAqL1xyXG5cdHByaXZhdGUgc3RhdGljIGdldENvbXBvbmVudHNCeVJlY3Vyc2lvbkludG9FZGl0R3JpZHMoXHJcblx0XHRjb21wb25lbnRzOiBhbnlbXSxcclxuXHRcdHRpdGxlUGFuZWw6IHN0cmluZyxcclxuXHRcdGNvbmRpdGlvbmFsUGFyZW50OiBhbnksXHJcblx0XHRlZGl0R3JpZE5hbWU6IHN0cmluZyxcclxuXHRcdGV4aXN0RWRpdEdyaWQ6IGJvb2xlYW5cclxuXHQpOiBhbnlbXSB7XHJcblx0XHQvLyBpdCBjb250YWlucyB0aGUgcmVzdWx0IGFycmF5XHJcblx0XHRsZXQgcmVzdWx0ID0gW107XHJcblx0XHRpZiAoY29tcG9uZW50cykge1xyXG5cdFx0XHQvLyBpdGVyYXRlIG92ZXIgY29tcG9uZW50c1xyXG5cdFx0XHRmb3IgKGNvbnN0IGNvbXBvbmVudCBvZiBjb21wb25lbnRzKSB7XHJcblx0XHRcdFx0Ly8gYXZvaWQgdGhlIGVkaXRncmlkIGNvbXBvbmVudCBvdCBpZiBpdCBoYXMgYSBkaWZmZXJlbnQgYmVoYXZpb3IgaXQgc2hvdWxkIGhhdmUgYW4gZWxzZSBzdGF0ZW1lbnRcclxuXHJcblx0XHRcdFx0Ly8gaWYgY29tcG9uZW50IGlzIHBhbmVsIHRoZW4gdGl0bGVQYW5lbCB2YXJpYWJsZSBpcyBjaGFuZ2VkLCBhbmQgaXQgaXMgZ29ubmEgYmUgaW5oZXJpdGVkXHJcblx0XHRcdFx0aWYgKGNvbXBvbmVudFtFRm9ybWlvS2V5LlRZUEVdID09PSBFRm9ybWlvS2V5LlBBTkVMKSB7XHJcblx0XHRcdFx0XHR0aXRsZVBhbmVsID0gY29tcG9uZW50W0VGb3JtaW9LZXkuVElUTEVdO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0aWYgKFxyXG5cdFx0XHRcdFx0KHR5cGVvZiBjb21wb25lbnRbRUZvcm1pb0tleS5DT01QT05FTlRTXSAhPT0gJ3VuZGVmaW5lZCcgfHxcclxuXHRcdFx0XHRcdFx0dHlwZW9mIGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTFVNTlNdICE9PSAndW5kZWZpbmVkJykgJiZcclxuXHRcdFx0XHRcdCh0eXBlb2YgY29tcG9uZW50W0VGb3JtaW9LZXkuVFlQRV0gPT0gJ3VuZGVmaW5lZCcgfHxcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuVFlQRV0gIT09IEVGb3JtaW9LZXkuVFlQRV9BRERSRVNTKVxyXG5cdFx0XHRcdCkge1xyXG5cdFx0XHRcdFx0Ly8gcmVzb2x2ZSBjb25kaXRpb25hbCBwYXJlbnQgY29uZGl0aW9uYWxcclxuXHRcdFx0XHRcdGNvbnN0IGNvbmRpdGlvbmFsID0gdGhpcy5yZXNvbHZlSW5oZXJpdGFuY2VDb25kaXRpb25hbChcclxuXHRcdFx0XHRcdFx0Y29uZGl0aW9uYWxQYXJlbnQsXHJcblx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTkRJVElPTkFMXSxcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ1VTVE9NX0NPTkRJVElPTkFMXSxcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuSURdXHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0Ly8gY2hhbmdlIGNvbmRpdGlvblxyXG5cdFx0XHRcdFx0aWYgKGNvbmRpdGlvbmFsKSBjb25kaXRpb25hbFBhcmVudCA9IGNvbmRpdGlvbmFsO1xyXG5cdFx0XHRcdFx0Ly8gaXQgY29udGFpbnMgdGhlIHN1YmNvbXBvbmVudHMgZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiBjb21wb25lbnQgaWYgaXQgaGFzIGNvbXBvbmVudHMgb3IgY29sdW1uc1xyXG5cdFx0XHRcdFx0bGV0IHN1YkNvbXBvbmVudHMgPVxyXG5cdFx0XHRcdFx0XHR0eXBlb2YgY29tcG9uZW50W0VGb3JtaW9LZXkuQ09NUE9ORU5UU10gIT09ICd1bmRlZmluZWQnXHJcblx0XHRcdFx0XHRcdFx0PyBjb21wb25lbnRbRUZvcm1pb0tleS5DT01QT05FTlRTXVxyXG5cdFx0XHRcdFx0XHRcdDogY29tcG9uZW50W0VGb3JtaW9LZXkuQ09MVU1OU107XHJcblxyXG5cdFx0XHRcdFx0aWYgKFxyXG5cdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5UWVBFXSA9PT0gRUZvcm1pb0tleS5FRElUR1JJRCAmJlxyXG5cdFx0XHRcdFx0XHRjb21wb25lbnRbJ2tleSddID09IGVkaXRHcmlkTmFtZVxyXG5cdFx0XHRcdFx0KSB7XHJcblx0XHRcdFx0XHRcdGV4aXN0RWRpdEdyaWQgPSB0cnVlO1xyXG5cdFx0XHRcdFx0XHRpZiAoXHJcblx0XHRcdFx0XHRcdFx0KHR5cGVvZiBjb21wb25lbnRbRUZvcm1pb0tleS5DT01QT05FTlRTXSAhPT0gJ3VuZGVmaW5lZCcgfHxcclxuXHRcdFx0XHRcdFx0XHRcdHR5cGVvZiBjb21wb25lbnRbRUZvcm1pb0tleS5DT0xVTU5TXSAhPT0gJ3VuZGVmaW5lZCcpICYmXHJcblx0XHRcdFx0XHRcdFx0KHR5cGVvZiBjb21wb25lbnRbRUZvcm1pb0tleS5UWVBFXSA9PSAndW5kZWZpbmVkJyB8fFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuVFlQRV0gIT09IEVGb3JtaW9LZXkuVFlQRV9BRERSRVNTKVxyXG5cdFx0XHRcdFx0XHQpIHtcclxuXHRcdFx0XHRcdFx0XHQvLyByZXNvbHZlIGNvbmRpdGlvbmFsIHBhcmVudCBjb25kaXRpb25hbFxyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IGNvbmRpdGlvbmFsID0gdGhpcy5yZXNvbHZlSW5oZXJpdGFuY2VDb25kaXRpb25hbChcclxuXHRcdFx0XHRcdFx0XHRcdGNvbmRpdGlvbmFsUGFyZW50LFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ09ORElUSU9OQUxdLFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ1VTVE9NX0NPTkRJVElPTkFMXSxcclxuXHRcdFx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LklEXVxyXG5cdFx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRcdFx0Ly8gY2hhbmdlIGNvbmRpdGlvblxyXG5cdFx0XHRcdFx0XHRcdGlmIChjb25kaXRpb25hbCkgY29uZGl0aW9uYWxQYXJlbnQgPSBjb25kaXRpb25hbDtcclxuXHRcdFx0XHRcdFx0XHQvLyBpdCBjb250YWlucyB0aGUgc3ViY29tcG9uZW50cyBkZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mIGNvbXBvbmVudCBpZiBpdCBoYXMgY29tcG9uZW50cyBvciBjb2x1bW5zXHJcblx0XHRcdFx0XHRcdFx0bGV0IHN1YkNvbXBvbmVudHMgPVxyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZW9mIGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTVBPTkVOVFNdICE9PSAndW5kZWZpbmVkJ1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQ/IGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTVBPTkVOVFNdXHJcblx0XHRcdFx0XHRcdFx0XHRcdDogY29tcG9uZW50W0VGb3JtaW9LZXkuQ09MVU1OU107XHJcblxyXG5cdFx0XHRcdFx0XHRcdC8vIGlmIGNvbXBvbmVudCBoYXMgc3ViQ29tcG9uZW50cywgdGhlbiBleGVjdXRlIHRoZSByZWN1cnNpb24gZnVuY3Rpb24gdG8gZ2V0IHRoZSByZWN1cnNpb25uUmVzdWx0XHJcblx0XHRcdFx0XHRcdFx0Y29uc3QgcmVjdXJzaW9uUmVzdWx0ID1cclxuXHRcdFx0XHRcdFx0XHRcdEZvcm1pb1V0aWwuZ2V0Q29tcG9uZW50c0J5UmVjdXJzaW9uSW50b0VkaXRHcmlkcyhcclxuXHRcdFx0XHRcdFx0XHRcdFx0c3ViQ29tcG9uZW50cyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGl0bGVQYW5lbCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29uZGl0aW9uYWxQYXJlbnQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdGVkaXRHcmlkTmFtZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0ZXhpc3RFZGl0R3JpZFxyXG5cdFx0XHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdFx0XHQvLyBpZiByZWN1cnNpb24gcmVzdWx0IHRoZW4gcmVzdWx0IGNvbmNhdHMgdGhlIHJlY3Vyc2lvblJlc3VsdFxyXG5cdFx0XHRcdFx0XHRcdGlmIChyZWN1cnNpb25SZXN1bHQpIHJlc3VsdCA9IHJlc3VsdC5jb25jYXQocmVjdXJzaW9uUmVzdWx0KTtcclxuXHRcdFx0XHRcdFx0XHQvLyByZXNldCBjb25kaXRpb25hbCBQYXJlbnRcclxuXHRcdFx0XHRcdFx0XHRpZiAoY29tcG9uZW50ICYmIGNvbmRpdGlvbmFsUGFyZW50KSB7XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoY29tcG9uZW50W0VGb3JtaW9LZXkuSURdID09IGNvbmRpdGlvbmFsUGFyZW50LmlkKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb25kaXRpb25hbFBhcmVudCA9IHVuZGVmaW5lZDtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0Ly8gYXZvaWQgdGhlIGNvbXBvbmVudCB0eXBlIGJ1dHRvblxyXG5cdFx0XHRcdFx0XHRcdGlmIChcclxuXHRcdFx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LlRZUEVdICE9PSBFRm9ybWlvS2V5LkJVVFRPTiAmJlxyXG5cdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuS0VZXSAmJlxyXG5cdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuTEFCRUxdICYmXHJcblx0XHRcdFx0XHRcdFx0XHRleGlzdEVkaXRHcmlkXHJcblx0XHRcdFx0XHRcdFx0KSB7XHJcblx0XHRcdFx0XHRcdFx0XHQvLyByZXNvbHZlIGNvbmRpdGlvbmFsIGNvbmRpdGlvbmFsIG9iamVjdFxyXG5cdFx0XHRcdFx0XHRcdFx0bGV0IGNvbmRpdGlvbmFsID0gdGhpcy5yZXNvbHZlSW5oZXJpdGFuY2VDb25kaXRpb25hbChcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29uZGl0aW9uYWxQYXJlbnQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTkRJVElPTkFMXSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ1VTVE9NX0NPTkRJVElPTkFMXSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuSURdXHJcblx0XHRcdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKCFjb25kaXRpb25hbCkgY29uZGl0aW9uYWwgPSBjb25kaXRpb25hbFBhcmVudDtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTkRJVElPTkFMXSA9XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbmRpdGlvbmFsW0VGb3JtaW9LZXkuQ09ORElUSU9OQUxdO1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ1VTVE9NX0NPTkRJVElPTkFMXSA9XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbmRpdGlvbmFsW0VGb3JtaW9LZXkuQ1VTVE9NX0NPTkRJVElPTkFMXTtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIGFkZCBuYW1QYW5lbCBhcyBwcm9wZXJ0eVxyXG5cdFx0XHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuVElUTEVfUEFORUxdID0gdGl0bGVQYW5lbDtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIGFkZCBjb21wb25lbnQgdG8gdGhlIHJlc3VsdFxyXG5cdFx0XHRcdFx0XHRcdFx0cmVzdWx0LnB1c2goY29tcG9uZW50KTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC8vIGlmIGNvbXBvbmVudCBoYXMgc3ViQ29tcG9uZW50cywgdGhlbiBleGVjdXRlIHRoZSByZWN1cnNpb24gZnVuY3Rpb24gdG8gZ2V0IHRoZSByZWN1cnNpb25uUmVzdWx0XHJcblx0XHRcdFx0XHRjb25zdCByZWN1cnNpb25SZXN1bHQgPSBGb3JtaW9VdGlsLmdldENvbXBvbmVudHNCeVJlY3Vyc2lvbkludG9FZGl0R3JpZHMoXHJcblx0XHRcdFx0XHRcdHN1YkNvbXBvbmVudHMsXHJcblx0XHRcdFx0XHRcdHRpdGxlUGFuZWwsXHJcblx0XHRcdFx0XHRcdGNvbmRpdGlvbmFsUGFyZW50LFxyXG5cdFx0XHRcdFx0XHRlZGl0R3JpZE5hbWUsXHJcblx0XHRcdFx0XHRcdGV4aXN0RWRpdEdyaWRcclxuXHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHQvLyBpZiByZWN1cnNpb24gcmVzdWx0IHRoZW4gcmVzdWx0IGNvbmNhdHMgdGhlIHJlY3Vyc2lvblJlc3VsdFxyXG5cdFx0XHRcdFx0aWYgKHJlY3Vyc2lvblJlc3VsdCkgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdChyZWN1cnNpb25SZXN1bHQpO1xyXG5cdFx0XHRcdFx0Ly8gcmVzZXQgY29uZGl0aW9uYWwgUGFyZW50XHJcblx0XHRcdFx0XHRpZiAoY29tcG9uZW50ICYmIGNvbmRpdGlvbmFsUGFyZW50KSB7XHJcblx0XHRcdFx0XHRcdGlmIChjb21wb25lbnRbRUZvcm1pb0tleS5JRF0gPT0gY29uZGl0aW9uYWxQYXJlbnQuaWQpXHJcblx0XHRcdFx0XHRcdFx0Y29uZGl0aW9uYWxQYXJlbnQgPSB1bmRlZmluZWQ7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdC8vIGF2b2lkIHRoZSBjb21wb25lbnQgdHlwZSBidXR0b25cclxuXHRcdFx0XHRcdGlmIChcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuVFlQRV0gIT09IEVGb3JtaW9LZXkuQlVUVE9OICYmXHJcblx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LktFWV0gJiZcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuTEFCRUxdICYmXHJcblx0XHRcdFx0XHRcdGV4aXN0RWRpdEdyaWRcclxuXHRcdFx0XHRcdCkge1xyXG5cdFx0XHRcdFx0XHQvLyByZXNvbHZlIGNvbmRpdGlvbmFsIGNvbmRpdGlvbmFsIG9iamVjdFxyXG5cdFx0XHRcdFx0XHRsZXQgY29uZGl0aW9uYWwgPSB0aGlzLnJlc29sdmVJbmhlcml0YW5jZUNvbmRpdGlvbmFsKFxyXG5cdFx0XHRcdFx0XHRcdGNvbmRpdGlvbmFsUGFyZW50LFxyXG5cdFx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LkNPTkRJVElPTkFMXSxcclxuXHRcdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5DVVNUT01fQ09ORElUSU9OQUxdLFxyXG5cdFx0XHRcdFx0XHRcdGNvbXBvbmVudFtFRm9ybWlvS2V5LklEXVxyXG5cdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0XHRpZiAoIWNvbmRpdGlvbmFsKSBjb25kaXRpb25hbCA9IGNvbmRpdGlvbmFsUGFyZW50O1xyXG5cdFx0XHRcdFx0XHRjb21wb25lbnRbRUZvcm1pb0tleS5DT05ESVRJT05BTF0gPSBjb25kaXRpb25hbFtFRm9ybWlvS2V5LkNPTkRJVElPTkFMXTtcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuQ1VTVE9NX0NPTkRJVElPTkFMXSA9XHJcblx0XHRcdFx0XHRcdFx0Y29uZGl0aW9uYWxbRUZvcm1pb0tleS5DVVNUT01fQ09ORElUSU9OQUxdO1xyXG5cdFx0XHRcdFx0XHQvLyBhZGQgbmFtUGFuZWwgYXMgcHJvcGVydHlcclxuXHRcdFx0XHRcdFx0Y29tcG9uZW50W0VGb3JtaW9LZXkuVElUTEVfUEFORUxdID0gdGl0bGVQYW5lbDtcclxuXHRcdFx0XHRcdFx0Ly8gYWRkIGNvbXBvbmVudCB0byB0aGUgcmVzdWx0XHJcblx0XHRcdFx0XHRcdHJlc3VsdC5wdXNoKGNvbXBvbmVudCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gcmVzdWx0O1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQ3JlYXRlIDIgamFzb24gb2JqZWN0cyBvZiBkYXRhIGZvcm0gYnkgY29tcG9uZW50IGtleSBhbmQgb3RoZXIgYnkgY29tcG9uZW50IGtleSBhbmQgdGl0bGUgZm9ybSBrZXlcclxuXHQgKiBAcGFyYW0gZGF0YUZvcm0gZGF0YUZvcm0gbW9kZWwgb2JqZWN0XHJcblx0ICogQHJldHVybnMgT2JqZWN0IG9mIDIgZWxlbWVudFxyXG5cdCAqL1xyXG5cdHN0YXRpYyBjcmVhdGVMaXN0RGF0YUJ5RGF0YUZvcm1MaXN0KGRhdGFGb3JtOiBhbnksIGxpc3RGb3JtOiBhbnlbXSk6IGFueSB7XHJcblx0XHRsZXQgbGlzdERhdGE6IGFueSA9IHt9O1xyXG5cdFx0bGV0IGxpc3REYXRhQnlGb3JtOiBhbnkgPSB7fTtcclxuXHRcdGlmIChkYXRhRm9ybSAmJiBkYXRhRm9ybS5sZW5ndGggPiAwKSB7XHJcblx0XHRcdGxpc3REYXRhID0ge307XHJcblx0XHRcdGxpc3REYXRhQnlGb3JtID0ge307XHJcblx0XHRcdGxldCBkRm9ybTogYW55O1xyXG5cdFx0XHRmb3IgKGRGb3JtIG9mIGRhdGFGb3JtKSB7XHJcblx0XHRcdFx0aWYgKCFkRm9ybS5kYXRhKSB7XHJcblx0XHRcdFx0XHRjb250aW51ZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Y29uc3QgZm9ybSA9IGxpc3RGb3JtLmZpbmQoZnVuY3Rpb24gKGZvcm1UbXApIHtcclxuXHRcdFx0XHRcdHJldHVybiBmb3JtVG1wLmlkID09IGRGb3JtLmZvcm1JZDtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHRpZiAoIWZvcm0pIHtcclxuXHRcdFx0XHRcdC8vY29uc29sZS5lcnJvcignTm8gc2UgZW5jb250csOzIGVsIGZvcm11bGFyaW8gY29uIGlkICcgKyBkRm9ybS5mb3JtSWQpO1xyXG5cdFx0XHRcdFx0Y29udGludWU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNvbnN0IGtleUZvcm1UaXRsZSA9IFRva2VuU2VydmljZS5nZXRLZXlGb3JtdWxhcmlvKGZvcm0udGl0bGUpICsgJ18nO1xyXG5cdFx0XHRcdGZvciAoY29uc3Qga2V5IGluIGRGb3JtLmRhdGEpIHtcclxuXHRcdFx0XHRcdGxpc3REYXRhW2tleV0gPSBkRm9ybS5kYXRhW2tleV07XHJcblx0XHRcdFx0XHRsaXN0RGF0YUJ5Rm9ybVtrZXlGb3JtVGl0bGUgKyBrZXldID0gZEZvcm0uZGF0YVtrZXldO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHtcclxuXHRcdFx0bGlzdERhdGE6IGxpc3REYXRhLFxyXG5cdFx0XHRsaXN0RGF0YUJ5Rm9ybTogbGlzdERhdGFCeUZvcm1cclxuXHRcdH07XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBJdCByZXR1cm5zIHRoZSBjb21wb25lbnRzXHJcblx0ICogQHBhcmFtIGNvbXBvbmVudHNcclxuXHQgKi9cclxuXHRzdGF0aWMgZ2V0UGFuZWxDb21wb25lbnRzKGNvbXBvbmVudHM6IGFueVtdKTogYW55W10ge1xyXG5cdFx0cmV0dXJuIEZvcm1pb1V0aWwuZ2V0Q29tcG9uZW50c0J5UGFuZWwoY29tcG9uZW50cyk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBJdCByZXR1cm5zIHRoZSBjb21wb25lbnRzIGFycmF5IG9mIHRoZSBmb3JtXHJcblx0ICogQHBhcmFtIGNvbXBvbmVudHMgYXJyYXkgb2YgY29tcG9uZW50c1xyXG5cdCAqL1xyXG5cdHByaXZhdGUgc3RhdGljIGdldENvbXBvbmVudHNCeVBhbmVsKGNvbXBvbmVudHM6IGFueVtdKTogYW55W10ge1xyXG5cdFx0Ly8gaXQgY29udGFpbnMgdGhlIHJlc3VsdCBhcnJheVxyXG5cdFx0bGV0IHJlc3VsdCA9IFtdO1xyXG5cdFx0aWYgKGNvbXBvbmVudHMpIHtcclxuXHRcdFx0Ly8gaXRlcmF0ZSBvdmVyIGNvbXBvbmVudHNcclxuXHRcdFx0Zm9yIChjb25zdCBjb21wb25lbnQgb2YgY29tcG9uZW50cykge1xyXG5cdFx0XHRcdC8vIGF2b2lkIHRoZSBlZGl0Z3JpZCBjb21wb25lbnQgb3QgaWYgaXQgaGFzIGEgZGlmZmVyZW50IGJlaGF2aW9yIGl0IHNob3VsZCBoYXZlIGFuIGVsc2Ugc3RhdGVtZW50XHJcblx0XHRcdFx0aWYgKGNvbXBvbmVudFtFRm9ybWlvS2V5LlRZUEVdICE9PSBFRm9ybWlvS2V5LkVESVRHUklEKSB7XHJcblx0XHRcdFx0XHQvLyBpZiBjb21wb25lbnQgaXMgcGFuZWwgdGhlbiB0aXRsZVBhbmVsIHZhcmlhYmxlIGlzIGNoYW5nZWQsIGFuZCBpdCBpcyBnb25uYSBiZSBpbmhlcml0ZWRcclxuXHRcdFx0XHRcdGlmIChjb21wb25lbnRbRUZvcm1pb0tleS5UWVBFXSA9PT0gRUZvcm1pb0tleS5QQU5FTCkge1xyXG5cdFx0XHRcdFx0XHRyZXN1bHQucHVzaChjb21wb25lbnQpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHJlc3VsdDtcclxuXHR9XHJcbn1cclxuIl19
@@ -2,9 +2,9 @@
2
2
  /* tslint:disable */
3
3
  export const VERSION = {
4
4
  "dirty": true,
5
- "raw": "v0.0.18-2473-gab85ce7e-dirty",
6
- "hash": "gab85ce7e",
7
- "distance": 2473,
5
+ "raw": "v0.0.18-2471-g53ea7921-dirty",
6
+ "hash": "g53ea7921",
7
+ "distance": 2471,
8
8
  "tag": "v0.0.18",
9
9
  "semver": {
10
10
  "options": {
@@ -20,10 +20,10 @@ export const VERSION = {
20
20
  "build": [],
21
21
  "version": "0.0.18"
22
22
  },
23
- "suffix": "2473-gab85ce7e-dirty",
24
- "semverString": "0.0.18+2473.gab85ce7e",
25
- "version": "0.0.1903",
26
- "buildTimestamp": "2024-05-15T22:17:35.737Z"
23
+ "suffix": "2471-g53ea7921-dirty",
24
+ "semverString": "0.0.18+2471.g53ea7921",
25
+ "version": "0.0.1904",
26
+ "buildTimestamp": "2024-05-23T21:11:45.197Z"
27
27
  };
28
28
  /* tslint:enable */
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJFQUEyRTtBQUMzRSxvQkFBb0I7QUFDcEIsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHO0lBQ25CLE9BQU8sRUFBRSxJQUFJO0lBQ2IsS0FBSyxFQUFFLDhCQUE4QjtJQUNyQyxNQUFNLEVBQUUsV0FBVztJQUNuQixVQUFVLEVBQUUsSUFBSTtJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixRQUFRLEVBQUU7UUFDTixTQUFTLEVBQUU7WUFDUCxPQUFPLEVBQUUsS0FBSztZQUNkLG1CQUFtQixFQUFFLEtBQUs7U0FDN0I7UUFDRCxPQUFPLEVBQUUsS0FBSztRQUNkLEtBQUssRUFBRSxTQUFTO1FBQ2hCLE9BQU8sRUFBRSxDQUFDO1FBQ1YsT0FBTyxFQUFFLENBQUM7UUFDVixPQUFPLEVBQUUsRUFBRTtRQUNYLFlBQVksRUFBRSxFQUFFO1FBQ2hCLE9BQU8sRUFBRSxFQUFFO1FBQ1gsU0FBUyxFQUFFLFFBQVE7S0FDdEI7SUFDRCxRQUFRLEVBQUUsc0JBQXNCO0lBQ2hDLGNBQWMsRUFBRSx1QkFBdUI7SUFDdkMsU0FBUyxFQUFFLFVBQVU7SUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0NBQy9DLENBQUM7QUFDRixtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJTVBPUlRBTlQ6IFRISVMgRklMRSBJUyBBVVRPIEdFTkVSQVRFRCEgRE8gTk9UIE1BTlVBTExZIEVESVQgT1IgQ0hFQ0tJTiFcbi8qIHRzbGludDpkaXNhYmxlICovXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IHtcbiAgICBcImRpcnR5XCI6IHRydWUsXG4gICAgXCJyYXdcIjogXCJ2MC4wLjE4LTI0NzMtZ2FiODVjZTdlLWRpcnR5XCIsXG4gICAgXCJoYXNoXCI6IFwiZ2FiODVjZTdlXCIsXG4gICAgXCJkaXN0YW5jZVwiOiAyNDczLFxuICAgIFwidGFnXCI6IFwidjAuMC4xOFwiLFxuICAgIFwic2VtdmVyXCI6IHtcbiAgICAgICAgXCJvcHRpb25zXCI6IHtcbiAgICAgICAgICAgIFwibG9vc2VcIjogZmFsc2UsXG4gICAgICAgICAgICBcImluY2x1ZGVQcmVyZWxlYXNlXCI6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIFwibG9vc2VcIjogZmFsc2UsXG4gICAgICAgIFwicmF3XCI6IFwidjAuMC4xOFwiLFxuICAgICAgICBcIm1ham9yXCI6IDAsXG4gICAgICAgIFwibWlub3JcIjogMCxcbiAgICAgICAgXCJwYXRjaFwiOiAxOCxcbiAgICAgICAgXCJwcmVyZWxlYXNlXCI6IFtdLFxuICAgICAgICBcImJ1aWxkXCI6IFtdLFxuICAgICAgICBcInZlcnNpb25cIjogXCIwLjAuMThcIlxuICAgIH0sXG4gICAgXCJzdWZmaXhcIjogXCIyNDczLWdhYjg1Y2U3ZS1kaXJ0eVwiLFxuICAgIFwic2VtdmVyU3RyaW5nXCI6IFwiMC4wLjE4KzI0NzMuZ2FiODVjZTdlXCIsXG4gICAgXCJ2ZXJzaW9uXCI6IFwiMC4wLjE5MDNcIixcbiAgICBcImJ1aWxkVGltZXN0YW1wXCI6IFwiMjAyNC0wNS0xNVQyMjoxNzozNS43MzdaXCJcbn07XG4vKiB0c2xpbnQ6ZW5hYmxlICovXG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJFQUEyRTtBQUMzRSxvQkFBb0I7QUFDcEIsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHO0lBQ25CLE9BQU8sRUFBRSxJQUFJO0lBQ2IsS0FBSyxFQUFFLDhCQUE4QjtJQUNyQyxNQUFNLEVBQUUsV0FBVztJQUNuQixVQUFVLEVBQUUsSUFBSTtJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixRQUFRLEVBQUU7UUFDTixTQUFTLEVBQUU7WUFDUCxPQUFPLEVBQUUsS0FBSztZQUNkLG1CQUFtQixFQUFFLEtBQUs7U0FDN0I7UUFDRCxPQUFPLEVBQUUsS0FBSztRQUNkLEtBQUssRUFBRSxTQUFTO1FBQ2hCLE9BQU8sRUFBRSxDQUFDO1FBQ1YsT0FBTyxFQUFFLENBQUM7UUFDVixPQUFPLEVBQUUsRUFBRTtRQUNYLFlBQVksRUFBRSxFQUFFO1FBQ2hCLE9BQU8sRUFBRSxFQUFFO1FBQ1gsU0FBUyxFQUFFLFFBQVE7S0FDdEI7SUFDRCxRQUFRLEVBQUUsc0JBQXNCO0lBQ2hDLGNBQWMsRUFBRSx1QkFBdUI7SUFDdkMsU0FBUyxFQUFFLFVBQVU7SUFDckIsZ0JBQWdCLEVBQUUsMEJBQTBCO0NBQy9DLENBQUM7QUFDRixtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJTVBPUlRBTlQ6IFRISVMgRklMRSBJUyBBVVRPIEdFTkVSQVRFRCEgRE8gTk9UIE1BTlVBTExZIEVESVQgT1IgQ0hFQ0tJTiFcbi8qIHRzbGludDpkaXNhYmxlICovXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IHtcbiAgICBcImRpcnR5XCI6IHRydWUsXG4gICAgXCJyYXdcIjogXCJ2MC4wLjE4LTI0NzEtZzUzZWE3OTIxLWRpcnR5XCIsXG4gICAgXCJoYXNoXCI6IFwiZzUzZWE3OTIxXCIsXG4gICAgXCJkaXN0YW5jZVwiOiAyNDcxLFxuICAgIFwidGFnXCI6IFwidjAuMC4xOFwiLFxuICAgIFwic2VtdmVyXCI6IHtcbiAgICAgICAgXCJvcHRpb25zXCI6IHtcbiAgICAgICAgICAgIFwibG9vc2VcIjogZmFsc2UsXG4gICAgICAgICAgICBcImluY2x1ZGVQcmVyZWxlYXNlXCI6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIFwibG9vc2VcIjogZmFsc2UsXG4gICAgICAgIFwicmF3XCI6IFwidjAuMC4xOFwiLFxuICAgICAgICBcIm1ham9yXCI6IDAsXG4gICAgICAgIFwibWlub3JcIjogMCxcbiAgICAgICAgXCJwYXRjaFwiOiAxOCxcbiAgICAgICAgXCJwcmVyZWxlYXNlXCI6IFtdLFxuICAgICAgICBcImJ1aWxkXCI6IFtdLFxuICAgICAgICBcInZlcnNpb25cIjogXCIwLjAuMThcIlxuICAgIH0sXG4gICAgXCJzdWZmaXhcIjogXCIyNDcxLWc1M2VhNzkyMS1kaXJ0eVwiLFxuICAgIFwic2VtdmVyU3RyaW5nXCI6IFwiMC4wLjE4KzI0NzEuZzUzZWE3OTIxXCIsXG4gICAgXCJ2ZXJzaW9uXCI6IFwiMC4wLjE5MDRcIixcbiAgICBcImJ1aWxkVGltZXN0YW1wXCI6IFwiMjAyNC0wNS0yM1QyMToxMTo0NS4xOTdaXCJcbn07XG4vKiB0c2xpbnQ6ZW5hYmxlICovXG4iXX0=