@annalib/anna-core 31.6.1 → 31.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/anna-core-shared-lib/services/anna-sort.service.mjs +2 -2
- package/esm2022/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +3 -3
- package/fesm2022/annalib-anna-core.mjs +3 -3
- package/fesm2022/annalib-anna-core.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/anna-common-scss/_gt-table.scss +2 -1
|
@@ -26,7 +26,7 @@ export class AnnaSortService {
|
|
|
26
26
|
sortDataForComponentOtherThanLurAndCsrPage(isAsc, data, key) {
|
|
27
27
|
let param1;
|
|
28
28
|
let param2;
|
|
29
|
-
let dataToBeSorted = data;
|
|
29
|
+
let dataToBeSorted = cloneDeep(data);
|
|
30
30
|
if (this.dateSet.has(key)) {
|
|
31
31
|
dataToBeSorted.sort((a, b) => this.annaDateTimeFormatService.compareDate(a[key], b[key], isAsc));
|
|
32
32
|
}
|
|
@@ -174,4 +174,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
174
174
|
providedIn: "root",
|
|
175
175
|
}]
|
|
176
176
|
}], ctorParameters: () => [{ type: i1.AnnaDateTimeFormatService }] });
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1zb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLXNvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0IsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQUU1RSxnQ0FBZ0M7QUFFaEMsaUNBQWlDO0FBS2pDLE1BQU0sT0FBTyxlQUFlO0lBaUJ4QixZQUFvQix5QkFBb0Q7UUFBcEQsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQWR4RSwwQkFBcUIsR0FBb0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV2RCxZQUFPLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDZCxTQUFTO1lBQ1QsV0FBVztZQUNYLFVBQVU7WUFDVixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixNQUFNO1lBQ04sYUFBYTtZQUNiLFNBQVM7U0FDWixDQUFDLENBQUM7SUFFd0UsQ0FBQztJQUU1RSwwQ0FBMEMsQ0FBQyxLQUFjLEVBQUUsSUFBVyxFQUFFLEdBQVc7UUFDL0UsSUFBSSxNQUF1QixDQUFDO1FBQzVCLElBQUksTUFBdUIsQ0FBQztRQUU1QixJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hCLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FB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ZUFBZSxHQUFHLFNBQVMsQ0FDdkIsb0JBQW9CO2dCQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDO2dCQUN4RCxDQUFDLENBQUMsSUFBSSxDQUFDLDBDQUEwQyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQy9FLENBQUM7UUFDTixDQUFDO2FBQU0sSUFBSSxhQUFhLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDckMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBRUQsT0FBTyxlQUFlLENBQUM7SUFDM0IsQ0FBQzsrR0F4TFEsZUFBZTttSEFBZixlQUFlLGNBRlosTUFBTTs7NEZBRVQsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyIGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tIFwibG9kYXNoLWVzXCI7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuaW1wb3J0IHsgU29ydFR5cGUgfSBmcm9tIFwiLi4vbW9kZWxzL2FubmEtc29ydC5tb2RlbFwiO1xyXG5pbXBvcnQgeyBBbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlIH0gZnJvbSBcIi4vYW5uYS1kYXRlLXRpbWUtZm9ybWF0LnNlcnZpY2VcIjtcclxuXHJcbi8vIFRoaXJkIHBhcnR5IGltcG9ydCBzdGF0ZW1lbnRzXHJcblxyXG4vLyBVc2VyIGRlZmluZWQgaW1wb3J0IHN0YXRlbWVudHNcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYVNvcnRTZXJ2aWNlIHtcclxuICAgIGNvbHVtblNvcnRTdGF0ZTogTWFwPHN0cmluZywgU29ydFR5cGU+O1xyXG4gICAgbm9Tb3J0aW5nQXBwbGllZERhdGE6IGFueVtdO1xyXG4gICAgdXBkYXRlU29ydFR5cGVTdWJqZWN0OiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICAgIGRhdGVTZXQgPSBuZXcgU2V0KFtcclxuICAgICAgICBcImVuZERhdGVcIixcclxuICAgICAgICBcInN0YXJ0RGF0ZVwiLFxyXG4gICAgICAgIFwiZW5kX2RhdGVcIixcclxuICAgICAgICBcInN0YXJ0X2RhdGVcIixcclxuICAgICAgICBcImZsaWdodFN0YXJ0RGF0ZVwiLFxyXG4gICAgICAgIFwiZmxpZ2h0RW5kRGF0ZVwiLFxyXG4gICAgICAgIFwiZGF0ZVwiLFxyXG4gICAgICAgIFwiR2VuZXJhdGVkT25cIixcclxuICAgICAgICBcIkFpckRhdGVcIlxyXG4gICAgXSk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlOiBBbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlKSB7fVxyXG5cclxuICAgIHNvcnREYXRhRm9yQ29tcG9uZW50T3RoZXJUaGFuTHVyQW5kQ3NyUGFnZShpc0FzYzogYm9vbGVhbiwgZGF0YTogYW55W10sIGtleTogc3RyaW5nKSB7XHJcbiAgICAgICAgbGV0IHBhcmFtMTogc3RyaW5nIHwgbnVtYmVyO1xyXG4gICAgICAgIGxldCBwYXJhbTI6IHN0cmluZyB8IG51bWJlcjtcclxuXHJcbiAgICAgICAgbGV0IGRhdGFUb0JlU29ydGVkID0gZGF0YTtcclxuICAgICAgICBpZiAodGhpcy5kYXRlU2V0LmhhcyhrZXkpKSB7XHJcbiAgICAgICAgICAgIGRhdGFUb0JlU29ydGVkLnNvcnQoKGEsIGIpID0+IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5jb21wYXJlRGF0ZShhW2tleV0sIGJba2V5XSwgaXNBc2MpKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gXCJBaXJEYXRlQW5kVGltZVwiIHx8IGtleSA9PT0gXCJEYXRlXCIpIHtcclxuICAgICAgICAgICAgZGF0YVRvQmVTb3J0ZWQuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGFba2V5XSA9PT0gXCItXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoYltrZXldID09PSBcIi1cIikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGNvbnN0IGZpcnN0ID0gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLmZvcm1hdERhdGVBbmRISE1NQVRpbWVUb1N0YW5kYXJkRm9ybWF0KGFba2V5XSk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBzZWNvbmQgPSB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuZm9ybWF0RGF0ZUFuZEhITU1BVGltZVRvU3RhbmRhcmRGb3JtYXQoYltrZXldKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBhcmVEYXRlID0gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLmNvbXBhcmVEYXRlKGZpcnN0LCBzZWNvbmQsIGlzQXNjKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBjb21wYXJlRGF0ZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09IFwic3RhcnRFbmRUaW1lXCIgfHwga2V5ID09PSBcIlRpbWVCYW5kXCIpIHtcclxuICAgICAgICAgICAgZGF0YVRvQmVTb3J0ZWQuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGlzQXNjKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW0xID0gYVtrZXldWzFdO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtMiA9IGJba2V5XVsxXTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW0xID0gYVtrZXldWzJdO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtMiA9IGJba2V5XVsyXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbCA9IGlzQXNjXHJcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2Uuc29ydEJ5VGltZUFzY2VuZGluZyhwYXJhbTEsIHBhcmFtMilcclxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5zb3J0QnlUaW1lRGVzY2VuZGluZyhwYXJhbTEsIHBhcmFtMik7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCBkYXRhV2l0aG91dEVtcHR5T3JIeXBoZW5WYWx1ZXMgPSBkYXRhVG9CZVNvcnRlZC5maWx0ZXIoKG4pID0+IG5ba2V5XSAhPT0gXCItXCIpO1xyXG4gICAgICAgICAgICBjb25zdCByb3dzV2l0aEh5cGhlbk9yWmVyb1ZhbHVlcyA9IGRhdGFUb0JlU29ydGVkLmZpbHRlcigobikgPT4gbltrZXldID09PSBcIi1cIik7XHJcblxyXG4gICAgICAgICAgICBkYXRhV2l0aG91dEVtcHR5T3JIeXBoZW5WYWx1ZXMuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcGFyYW0xID0gYVtrZXldO1xyXG4gICAgICAgICAgICAgICAgcGFyYW0yID0gYltrZXldO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChwYXJhbTEgIT09IHBhcmFtMikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuY29tcGFyZShwYXJhbTEsIHBhcmFtMiwgaXNBc2MpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiAwO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIGRhdGFUb0JlU29ydGVkID0gaXNBc2NcclxuICAgICAgICAgICAgICAgID8gWy4uLnJvd3NXaXRoSHlwaGVuT3JaZXJvVmFsdWVzLCAuLi5kYXRhV2l0aG91dEVtcHR5T3JIeXBoZW5WYWx1ZXNdXHJcbiAgICAgICAgICAgICAgICA6IFsuLi5kYXRhV2l0aG91dEVtcHR5T3JIeXBoZW5WYWx1ZXMsIC4uLnJvd3NXaXRoSHlwaGVuT3JaZXJvVmFsdWVzXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBkYXRhVG9CZVNvcnRlZDtcclxuICAgIH1cclxuXHJcbiAgICBzb3J0RW50ZXJFZGl0THVyQW5kQ3NyUGFnZShpc0FzYzogYm9vbGVhbiwgZGF0YTogYW55W10sIGtleTogYW55KSB7XHJcbiAgICAgICAgbGV0IHBhcmFtMTogc3RyaW5nIHwgbnVtYmVyO1xyXG4gICAgICAgIGxldCBwYXJhbTI6IHN0cmluZyB8IG51bWJlcjtcclxuXHJcbiAgICAgICAgaWYgKGtleS5pbmNsdWRlcyhcIl9cIikpIHtcclxuICAgICAgICAgICAgY29uc3Qga2V5cyA9IGtleS5zcGxpdChcIl9cIik7XHJcbiAgICAgICAgICAgIGNvbnN0IHdlZWtOdW1iZXIgPSBrZXlzWzBdO1xyXG4gICAgICAgICAgICBsZXQgc29ydEtleSA9IGtleXNbMV07XHJcblxyXG4gICAgICAgICAgICBpZiAoa2V5cy5sZW5ndGggPiAyKSB7XHJcbiAgICAgICAgICAgICAgICBzb3J0S2V5ID0ga2V5c1syXSA9PT0gXCJ0cnVlXCIgPyBcIkJvb2tlZEF1ckluY2x1ZGluZ05vQ2hhcmdlU3BvdHNcIiA6IFwiQm9va2VkQXVyRXhjbHVkaW5nTm9DaGFyZ2VTcG90c1wiO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBkYXRhLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGFJbnZlbnRvcnlDb2RlV2Vla1dpc2VLZXkgPSBPYmplY3Qua2V5cyhhLldlZWtXaXNlSW52ZW50b3J5Q29kZURhdGEpLmZpbHRlcihcclxuICAgICAgICAgICAgICAgICAgICAoaW52S2V5KSA9PiBpbnZLZXkuc3BsaXQoXCJfXCIpWzFdID09PSB3ZWVrTnVtYmVyLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGJJbnZlbnRvcnlDb2RlV2Vla1dpc2VLZXkgPSBPYmplY3Qua2V5cyhiLldlZWtXaXNlSW52ZW50b3J5Q29kZURhdGEpLmZpbHRlcihcclxuICAgICAgICAgICAgICAgICAgICAoaW52S2V5KSA9PiBpbnZLZXkuc3BsaXQoXCJfXCIpWzFdID09PSB3ZWVrTnVtYmVyLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICAgICBwYXJhbTEgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgcGFyYW0yID0gbnVsbDtcclxuICAgICAgICAgICAgICAgIGlmIChhSW52ZW50b3J5Q29kZVdlZWtXaXNlS2V5Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbTEgPSBhLldlZWtXaXNlSW52ZW50b3J5Q29kZURhdGFbYUludmVudG9yeUNvZGVXZWVrV2lzZUtleVswXV1bc29ydEtleV1bMV07XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGJJbnZlbnRvcnlDb2RlV2Vla1dpc2VLZXkubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtMiA9IGIuV2Vla1dpc2VJbnZlbnRvcnlDb2RlRGF0YVtiSW52ZW50b3J5Q29kZVdlZWtXaXNlS2V5WzBdXVtzb3J0S2V5XVsxXTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAocGFyYW0xICE9PSBwYXJhbTIpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLmNvbXBhcmUocGFyYW0xLCBwYXJhbTIsIGlzQXNjKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09IFwiVGltZUJhbmRcIikge1xyXG4gICAgICAgICAgICBkYXRhLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChpc0FzYykge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtMSA9IGFba2V5XVsxXTtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbTIgPSBiW2tleV1bMV07XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtMSA9IGFba2V5XVsyXTtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbTIgPSBiW2tleV1bMl07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb25zdCB2YWwgPSBpc0FzY1xyXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLnNvcnRCeVRpbWVBc2NlbmRpbmcocGFyYW0xLCBwYXJhbTIpXHJcbiAgICAgICAgICAgICAgICAgICAgOiB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2Uuc29ydEJ5VGltZURlc2NlbmRpbmcocGFyYW0xLCBwYXJhbTIpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbDtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZGF0YS5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbTEgPSBhW2tleV07XHJcbiAgICAgICAgICAgICAgICBwYXJhbTIgPSBiW2tleV07XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtMSAhPT0gcGFyYW0yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5jb21wYXJlKHBhcmFtMSwgcGFyYW0yLCBpc0FzYyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgY2hlY2tJZlNvcnRpbmdJc0FwcGxpZWQodGFibGVEYXRhOiBhbnlbXSwgaXNMdXJBbmRDc3JDb21wb25lbnQ6IGJvb2xlYW4pIHtcclxuICAgICAgICBsZXQgc29ydGVkVGFibGVEYXRhID0gdGFibGVEYXRhO1xyXG4gICAgICAgIHRoaXMuY29sdW1uU29ydFN0YXRlLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHZhbHVlID09PSBcIkFTQ1wiKSB7XHJcbiAgICAgICAgICAgICAgICBzb3J0ZWRUYWJsZURhdGEgPSBjbG9uZURlZXAoXHJcbiAgICAgICAgICAgICAgICAgICAgaXNMdXJBbmRDc3JDb21wb25lbnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLnNvcnRFbnRlckVkaXRMdXJBbmRDc3JQYWdlKHRydWUsIHRhYmxlRGF0YSwga2V5KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMuc29ydERhdGFGb3JDb21wb25lbnRPdGhlclRoYW5MdXJBbmRDc3JQYWdlKHRydWUsIHRhYmxlRGF0YSwga2V5KSxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT09IFwiREVTQ1wiKSB7XHJcbiAgICAgICAgICAgICAgICBzb3J0ZWRUYWJsZURhdGEgPSBjbG9uZURlZXAoXHJcbiAgICAgICAgICAgICAgICAgICAgaXNMdXJBbmRDc3JDb21wb25lbnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLnNvcnRFbnRlckVkaXRMdXJBbmRDc3JQYWdlKGZhbHNlLCB0YWJsZURhdGEsIGtleSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnNvcnREYXRhRm9yQ29tcG9uZW50T3RoZXJUaGFuTHVyQW5kQ3NyUGFnZShmYWxzZSwgdGFibGVEYXRhLCBrZXkpLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gc29ydGVkVGFibGVEYXRhO1xyXG4gICAgfVxyXG5cclxuICAgIGFwcGx5U29ydGluZyhrZXk6IHN0cmluZywgdGVtcFNvcnRPcmRlcjogU29ydFR5cGUsIHRhYmxlRGF0YTogYW55W10sIGlzTHVyQW5kQ3NyQ29tcG9uZW50OiBib29sZWFuKSB7XHJcbiAgICAgICAgbGV0IHNvcnRlZFRhYmxlRGF0YSA9IHRhYmxlRGF0YTtcclxuICAgICAgICBpZiAodGVtcFNvcnRPcmRlciA9PT0gXCJBU0NcIikge1xyXG4gICAgICAgICAgICBzb3J0ZWRUYWJsZURhdGEgPSBjbG9uZURlZXAoXHJcbiAgICAgICAgICAgICAgICBpc0x1ckFuZENzckNvbXBvbmVudFxyXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5zb3J0RW50ZXJFZGl0THVyQW5kQ3NyUGFnZSh0cnVlLCB0YWJsZURhdGEsIGtleSlcclxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuc29ydERhdGFGb3JDb21wb25lbnRPdGhlclRoYW5MdXJBbmRDc3JQYWdlKHRydWUsIHRhYmxlRGF0YSwga2V5KSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRlbXBTb3J0T3JkZXIgPT09IFwiREVTQ1wiKSB7XHJcbiAgICAgICAgICAgIHNvcnRlZFRhYmxlRGF0YSA9IGNsb25lRGVlcChcclxuICAgICAgICAgICAgICAgIGlzTHVyQW5kQ3NyQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLnNvcnRFbnRlckVkaXRMdXJBbmRDc3JQYWdlKGZhbHNlLCB0YWJsZURhdGEsIGtleSlcclxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuc29ydERhdGFGb3JDb21wb25lbnRPdGhlclRoYW5MdXJBbmRDc3JQYWdlKGZhbHNlLCB0YWJsZURhdGEsIGtleSksXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0ZW1wU29ydE9yZGVyID09PSBcIkRFRkFVTFRcIikge1xyXG4gICAgICAgICAgICBzb3J0ZWRUYWJsZURhdGEgPSBjbG9uZURlZXAodGhpcy5ub1NvcnRpbmdBcHBsaWVkRGF0YSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gc29ydGVkVGFibGVEYXRhO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1zb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLXNvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0IsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQUU1RSxnQ0FBZ0M7QUFFaEMsaUNBQWlDO0FBS2pDLE1BQU0sT0FBTyxlQUFlO0lBaUJ4QixZQUFvQix5QkFBb0Q7UUFBcEQsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQWR4RSwwQkFBcUIsR0FBb0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV2RCxZQUFPLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDZCxTQUFTO1lBQ1QsV0FBVztZQUNYLFVBQVU7WUFDVixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixNQUFNO1lBQ04sYUFBYTtZQUNiLFNBQVM7U0FDWixDQUFDLENBQUM7SUFFd0UsQ0FBQztJQUU1RSwwQ0FBMEMsQ0FBQyxLQUFjLEVBQUUsSUFBVyxFQUFFLEdBQVc7UUFDL0UsSUFBSSxNQUF1QixDQUFDO1FBQzVCLElBQUksTUFBdUIsQ0FBQztRQUU1QixJQUFJLGNBQWMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hCLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FB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QUFFLENBQUM7WUFDbEMsZUFBZSxHQUFHLFNBQVMsQ0FDdkIsb0JBQW9CO2dCQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDO2dCQUN4RCxDQUFDLENBQUMsSUFBSSxDQUFDLDBDQUEwQyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQy9FLENBQUM7UUFDTixDQUFDO2FBQU0sSUFBSSxhQUFhLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDckMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBRUQsT0FBTyxlQUFlLENBQUM7SUFDM0IsQ0FBQzsrR0F4TFEsZUFBZTttSEFBZixlQUFlLGNBRlosTUFBTTs7NEZBRVQsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyIGltcG9ydCBzdGF0ZW1lbnRzXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tIFwibG9kYXNoLWVzXCI7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuaW1wb3J0IHsgU29ydFR5cGUgfSBmcm9tIFwiLi4vbW9kZWxzL2FubmEtc29ydC5tb2RlbFwiO1xyXG5pbXBvcnQgeyBBbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlIH0gZnJvbSBcIi4vYW5uYS1kYXRlLXRpbWUtZm9ybWF0LnNlcnZpY2VcIjtcclxuXHJcbi8vIFRoaXJkIHBhcnR5IGltcG9ydCBzdGF0ZW1lbnRzXHJcblxyXG4vLyBVc2VyIGRlZmluZWQgaW1wb3J0IHN0YXRlbWVudHNcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYVNvcnRTZXJ2aWNlIHtcclxuICAgIGNvbHVtblNvcnRTdGF0ZTogTWFwPHN0cmluZywgU29ydFR5cGU+O1xyXG4gICAgbm9Tb3J0aW5nQXBwbGllZERhdGE6IGFueVtdO1xyXG4gICAgdXBkYXRlU29ydFR5cGVTdWJqZWN0OiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICAgIGRhdGVTZXQgPSBuZXcgU2V0KFtcclxuICAgICAgICBcImVuZERhdGVcIixcclxuICAgICAgICBcInN0YXJ0RGF0ZVwiLFxyXG4gICAgICAgIFwiZW5kX2RhdGVcIixcclxuICAgICAgICBcInN0YXJ0X2RhdGVcIixcclxuICAgICAgICBcImZsaWdodFN0YXJ0RGF0ZVwiLFxyXG4gICAgICAgIFwiZmxpZ2h0RW5kRGF0ZVwiLFxyXG4gICAgICAgIFwiZGF0ZVwiLFxyXG4gICAgICAgIFwiR2VuZXJhdGVkT25cIixcclxuICAgICAgICBcIkFpckRhdGVcIlxyXG4gICAgXSk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlOiBBbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlKSB7fVxyXG5cclxuICAgIHNvcnREYXRhRm9yQ29tcG9uZW50T3RoZXJUaGFuTHVyQW5kQ3NyUGFnZShpc0FzYzogYm9vbGVhbiwgZGF0YTogYW55W10sIGtleTogc3RyaW5nKSB7XHJcbiAgICAgICAgbGV0IHBhcmFtMTogc3RyaW5nIHwgbnVtYmVyO1xyXG4gICAgICAgIGxldCBwYXJhbTI6IHN0cmluZyB8IG51bWJlcjtcclxuXHJcbiAgICAgICAgbGV0IGRhdGFUb0JlU29ydGVkID0gY2xvbmVEZWVwKGRhdGEpO1xyXG4gICAgICAgIGlmICh0aGlzLmRhdGVTZXQuaGFzKGtleSkpIHtcclxuICAgICAgICAgICAgZGF0YVRvQmVTb3J0ZWQuc29ydCgoYSwgYikgPT4gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLmNvbXBhcmVEYXRlKGFba2V5XSwgYltrZXldLCBpc0FzYykpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSBcIkFpckRhdGVBbmRUaW1lXCIgfHwga2V5ID09PSBcIkRhdGVcIikge1xyXG4gICAgICAgICAgICBkYXRhVG9CZVNvcnRlZC5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoYVtrZXldID09PSBcIi1cIikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChiW2tleV0gPT09IFwiLVwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3QgZmlyc3QgPSB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuZm9ybWF0RGF0ZUFuZEhITU1BVGltZVRvU3RhbmRhcmRGb3JtYXQoYVtrZXldKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHNlY29uZCA9IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5mb3JtYXREYXRlQW5kSEhNTUFUaW1lVG9TdGFuZGFyZEZvcm1hdChiW2tleV0pO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgY29tcGFyZURhdGUgPSB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuY29tcGFyZURhdGUoZmlyc3QsIHNlY29uZCwgaXNBc2MpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVEYXRlO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gXCJzdGFydEVuZFRpbWVcIiB8fCBrZXkgPT09IFwiVGltZUJhbmRcIikge1xyXG4gICAgICAgICAgICBkYXRhVG9CZVNvcnRlZC5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXNBc2MpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbTEgPSBhW2tleV1bMV07XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW0yID0gYltrZXldWzFdO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBwYXJhbTEgPSBhW2tleV1bMl07XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW0yID0gYltrZXldWzJdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3QgdmFsID0gaXNBc2NcclxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5zb3J0QnlUaW1lQXNjZW5kaW5nKHBhcmFtMSwgcGFyYW0yKVxyXG4gICAgICAgICAgICAgICAgICAgIDogdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLnNvcnRCeVRpbWVEZXNjZW5kaW5nKHBhcmFtMSwgcGFyYW0yKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiB2YWw7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGFXaXRob3V0RW1wdHlPckh5cGhlblZhbHVlcyA9IGRhdGFUb0JlU29ydGVkLmZpbHRlcigobikgPT4gbltrZXldICE9PSBcIi1cIik7XHJcbiAgICAgICAgICAgIGNvbnN0IHJvd3NXaXRoSHlwaGVuT3JaZXJvVmFsdWVzID0gZGF0YVRvQmVTb3J0ZWQuZmlsdGVyKChuKSA9PiBuW2tleV0gPT09IFwiLVwiKTtcclxuXHJcbiAgICAgICAgICAgIGRhdGFXaXRob3V0RW1wdHlPckh5cGhlblZhbHVlcy5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBwYXJhbTEgPSBhW2tleV07XHJcbiAgICAgICAgICAgICAgICBwYXJhbTIgPSBiW2tleV07XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtMSAhPT0gcGFyYW0yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5jb21wYXJlKHBhcmFtMSwgcGFyYW0yLCBpc0FzYyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDA7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgZGF0YVRvQmVTb3J0ZWQgPSBpc0FzY1xyXG4gICAgICAgICAgICAgICAgPyBbLi4ucm93c1dpdGhIeXBoZW5Pclplcm9WYWx1ZXMsIC4uLmRhdGFXaXRob3V0RW1wdHlPckh5cGhlblZhbHVlc11cclxuICAgICAgICAgICAgICAgIDogWy4uLmRhdGFXaXRob3V0RW1wdHlPckh5cGhlblZhbHVlcywgLi4ucm93c1dpdGhIeXBoZW5Pclplcm9WYWx1ZXNdO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGRhdGFUb0JlU29ydGVkO1xyXG4gICAgfVxyXG5cclxuICAgIHNvcnRFbnRlckVkaXRMdXJBbmRDc3JQYWdlKGlzQXNjOiBib29sZWFuLCBkYXRhOiBhbnlbXSwga2V5OiBhbnkpIHtcclxuICAgICAgICBsZXQgcGFyYW0xOiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgICAgICAgbGV0IHBhcmFtMjogc3RyaW5nIHwgbnVtYmVyO1xyXG5cclxuICAgICAgICBpZiAoa2V5LmluY2x1ZGVzKFwiX1wiKSkge1xyXG4gICAgICAgICAgICBjb25zdCBrZXlzID0ga2V5LnNwbGl0KFwiX1wiKTtcclxuICAgICAgICAgICAgY29uc3Qgd2Vla051bWJlciA9IGtleXNbMF07XHJcbiAgICAgICAgICAgIGxldCBzb3J0S2V5ID0ga2V5c1sxXTtcclxuXHJcbiAgICAgICAgICAgIGlmIChrZXlzLmxlbmd0aCA+IDIpIHtcclxuICAgICAgICAgICAgICAgIHNvcnRLZXkgPSBrZXlzWzJdID09PSBcInRydWVcIiA/IFwiQm9va2VkQXVySW5jbHVkaW5nTm9DaGFyZ2VTcG90c1wiIDogXCJCb29rZWRBdXJFeGNsdWRpbmdOb0NoYXJnZVNwb3RzXCI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGRhdGEuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYUludmVudG9yeUNvZGVXZWVrV2lzZUtleSA9IE9iamVjdC5rZXlzKGEuV2Vla1dpc2VJbnZlbnRvcnlDb2RlRGF0YSkuZmlsdGVyKFxyXG4gICAgICAgICAgICAgICAgICAgIChpbnZLZXkpID0+IGludktleS5zcGxpdChcIl9cIilbMV0gPT09IHdlZWtOdW1iZXIsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgYkludmVudG9yeUNvZGVXZWVrV2lzZUtleSA9IE9iamVjdC5rZXlzKGIuV2Vla1dpc2VJbnZlbnRvcnlDb2RlRGF0YSkuZmlsdGVyKFxyXG4gICAgICAgICAgICAgICAgICAgIChpbnZLZXkpID0+IGludktleS5zcGxpdChcIl9cIilbMV0gPT09IHdlZWtOdW1iZXIsXHJcbiAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgIHBhcmFtMSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICBwYXJhbTIgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgaWYgKGFJbnZlbnRvcnlDb2RlV2Vla1dpc2VLZXkubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtMSA9IGEuV2Vla1dpc2VJbnZlbnRvcnlDb2RlRGF0YVthSW52ZW50b3J5Q29kZVdlZWtXaXNlS2V5WzBdXVtzb3J0S2V5XVsxXTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoYkludmVudG9yeUNvZGVXZWVrV2lzZUtleS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW0yID0gYi5XZWVrV2lzZUludmVudG9yeUNvZGVEYXRhW2JJbnZlbnRvcnlDb2RlV2Vla1dpc2VLZXlbMF1dW3NvcnRLZXldWzFdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChwYXJhbTEgIT09IHBhcmFtMikge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2UuY29tcGFyZShwYXJhbTEsIHBhcmFtMiwgaXNBc2MpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiAwO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gXCJUaW1lQmFuZFwiKSB7XHJcbiAgICAgICAgICAgIGRhdGEuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGlzQXNjKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW0xID0gYVtrZXldWzFdO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtMiA9IGJba2V5XVsxXTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyYW0xID0gYVtrZXldWzJdO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtMiA9IGJba2V5XVsyXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbCA9IGlzQXNjXHJcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmFubmFEYXRlVGltZUZvcm1hdFNlcnZpY2Uuc29ydEJ5VGltZUFzY2VuZGluZyhwYXJhbTEsIHBhcmFtMilcclxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuYW5uYURhdGVUaW1lRm9ybWF0U2VydmljZS5zb3J0QnlUaW1lRGVzY2VuZGluZyhwYXJhbTEsIHBhcmFtMik7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBkYXRhLnNvcnQoKGEsIGIpID0+IHtcclxuICAgICAgICAgICAgICAgIHBhcmFtMSA9IGFba2V5XTtcclxuICAgICAgICAgICAgICAgIHBhcmFtMiA9IGJba2V5XTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAocGFyYW0xICE9PSBwYXJhbTIpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5hbm5hRGF0ZVRpbWVGb3JtYXRTZXJ2aWNlLmNvbXBhcmUocGFyYW0xLCBwYXJhbTIsIGlzQXNjKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgIH1cclxuXHJcbiAgICBjaGVja0lmU29ydGluZ0lzQXBwbGllZCh0YWJsZURhdGE6IGFueVtdLCBpc0x1ckFuZENzckNvbXBvbmVudDogYm9vbGVhbikge1xyXG4gICAgICAgIGxldCBzb3J0ZWRUYWJsZURhdGEgPSB0YWJsZURhdGE7XHJcbiAgICAgICAgdGhpcy5jb2x1bW5Tb3J0U3RhdGUuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodmFsdWUgPT09IFwiQVNDXCIpIHtcclxuICAgICAgICAgICAgICAgIHNvcnRlZFRhYmxlRGF0YSA9IGNsb25lRGVlcChcclxuICAgICAgICAgICAgICAgICAgICBpc0x1ckFuZENzckNvbXBvbmVudFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuc29ydEVudGVyRWRpdEx1ckFuZENzclBhZ2UodHJ1ZSwgdGFibGVEYXRhLCBrZXkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5zb3J0RGF0YUZvckNvbXBvbmVudE90aGVyVGhhbkx1ckFuZENzclBhZ2UodHJ1ZSwgdGFibGVEYXRhLCBrZXkpLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gXCJERVNDXCIpIHtcclxuICAgICAgICAgICAgICAgIHNvcnRlZFRhYmxlRGF0YSA9IGNsb25lRGVlcChcclxuICAgICAgICAgICAgICAgICAgICBpc0x1ckFuZENzckNvbXBvbmVudFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMuc29ydEVudGVyRWRpdEx1ckFuZENzclBhZ2UoZmFsc2UsIHRhYmxlRGF0YSwga2V5KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMuc29ydERhdGFGb3JDb21wb25lbnRPdGhlclRoYW5MdXJBbmRDc3JQYWdlKGZhbHNlLCB0YWJsZURhdGEsIGtleSksXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBzb3J0ZWRUYWJsZURhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgYXBwbHlTb3J0aW5nKGtleTogc3RyaW5nLCB0ZW1wU29ydE9yZGVyOiBTb3J0VHlwZSwgdGFibGVEYXRhOiBhbnlbXSwgaXNMdXJBbmRDc3JDb21wb25lbnQ6IGJvb2xlYW4pIHtcclxuICAgICAgICBsZXQgc29ydGVkVGFibGVEYXRhID0gdGFibGVEYXRhO1xyXG4gICAgICAgIGlmICh0ZW1wU29ydE9yZGVyID09PSBcIkFTQ1wiKSB7XHJcbiAgICAgICAgICAgIHNvcnRlZFRhYmxlRGF0YSA9IGNsb25lRGVlcChcclxuICAgICAgICAgICAgICAgIGlzTHVyQW5kQ3NyQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLnNvcnRFbnRlckVkaXRMdXJBbmRDc3JQYWdlKHRydWUsIHRhYmxlRGF0YSwga2V5KVxyXG4gICAgICAgICAgICAgICAgICAgIDogdGhpcy5zb3J0RGF0YUZvckNvbXBvbmVudE90aGVyVGhhbkx1ckFuZENzclBhZ2UodHJ1ZSwgdGFibGVEYXRhLCBrZXkpLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGVtcFNvcnRPcmRlciA9PT0gXCJERVNDXCIpIHtcclxuICAgICAgICAgICAgc29ydGVkVGFibGVEYXRhID0gY2xvbmVEZWVwKFxyXG4gICAgICAgICAgICAgICAgaXNMdXJBbmRDc3JDb21wb25lbnRcclxuICAgICAgICAgICAgICAgICAgICA/IHRoaXMuc29ydEVudGVyRWRpdEx1ckFuZENzclBhZ2UoZmFsc2UsIHRhYmxlRGF0YSwga2V5KVxyXG4gICAgICAgICAgICAgICAgICAgIDogdGhpcy5zb3J0RGF0YUZvckNvbXBvbmVudE90aGVyVGhhbkx1ckFuZENzclBhZ2UoZmFsc2UsIHRhYmxlRGF0YSwga2V5KSxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRlbXBTb3J0T3JkZXIgPT09IFwiREVGQVVMVFwiKSB7XHJcbiAgICAgICAgICAgIHNvcnRlZFRhYmxlRGF0YSA9IGNsb25lRGVlcCh0aGlzLm5vU29ydGluZ0FwcGxpZWREYXRhKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBzb3J0ZWRUYWJsZURhdGE7XHJcbiAgICB9XHJcbn1cclxuIl19
|