tango-app-ui-manage-tickets 3.7.0-beta.54 → 3.7.0-beta.55
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/components/audit-report-popup/audit-report-popup.component.mjs +6 -4
- package/esm2022/lib/components/audit-retag/audit-retag.component.mjs +25 -27
- package/esm2022/lib/components/remove-audit/remove-audit.component.mjs +4 -3
- package/esm2022/lib/components/start-audit/start-audit.component.mjs +84 -74
- package/esm2022/lib/components/ticket-footfall-new/ticket-footfall-new.component.mjs +57 -6
- package/esm2022/lib/services/ticket.service.mjs +7 -1
- package/fesm2022/tango-app-ui-manage-tickets.mjs +177 -109
- package/fesm2022/tango-app-ui-manage-tickets.mjs.map +1 -1
- package/lib/components/audit-report-popup/audit-report-popup.component.d.ts +1 -0
- package/lib/components/ticket-footfall-new/ticket-footfall-new.component.d.ts +8 -2
- package/lib/services/ticket.service.d.ts +2 -0
- package/package.json +1 -1
|
@@ -43,32 +43,30 @@ export class AuditRetagComponent {
|
|
|
43
43
|
handleKeyPress(event) {
|
|
44
44
|
if (this.openmodel)
|
|
45
45
|
return;
|
|
46
|
-
if (event.key === 'g' || event.code === 'KeyG') {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
71
|
-
}
|
|
46
|
+
// if (event.key === 'g' || event.code === 'KeyG') {
|
|
47
|
+
// var group = this.auditmappingdata.filter((data: any) => data.selected === true)
|
|
48
|
+
// if (group.length > 0) {
|
|
49
|
+
// if (group.length == 1) {
|
|
50
|
+
// this.toastr.getErrorToast('Please Select multiple file then add to Group')
|
|
51
|
+
// } else {
|
|
52
|
+
// let dummyarray = group.shift()
|
|
53
|
+
// var groupimages: any = []
|
|
54
|
+
// group.forEach((data: any) => {
|
|
55
|
+
// this.auditmappingdata.splice(this.auditmappingdata.findIndex(({ img_name }: { img_name: string }) => img_name == data.img_name), 1);
|
|
56
|
+
// groupimages.push(data.mappedid[0])
|
|
57
|
+
// })
|
|
58
|
+
// dummyarray.count = dummyarray.count + groupimages.length
|
|
59
|
+
// dummyarray.selected = false
|
|
60
|
+
// dummyarray.mappedid = [...dummyarray.mappedid, ...groupimages]
|
|
61
|
+
// const jsonString = JSON.stringify(this.auditmappingdata);
|
|
62
|
+
// const compressedData = LZString.compress(jsonString);
|
|
63
|
+
// sessionStorage.setItem('audit', compressedData)
|
|
64
|
+
// }
|
|
65
|
+
// // this.initial_data_loading()
|
|
66
|
+
// } else {
|
|
67
|
+
// this.toastr.getErrorToast('Please Select file then add to Group')
|
|
68
|
+
// }
|
|
69
|
+
// }
|
|
72
70
|
const pressed = (event.key || '').toLowerCase();
|
|
73
71
|
const matched = this.category.find((m) => {
|
|
74
72
|
if (!m.key)
|
|
@@ -469,4 +467,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
469
467
|
type: HostListener,
|
|
470
468
|
args: ['window:keydown', ['$event']]
|
|
471
469
|
}] } });
|
|
472
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtcmV0YWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLXRpY2tldHMvc3JjL2xpYi9jb21wb25lbnRzL2F1ZGl0LXJldGFnL2F1ZGl0LXJldGFnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS10aWNrZXRzL3NyYy9saWIvY29tcG9uZW50cy9hdWRpdC1yZXRhZy9hdWRpdC1yZXRhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFlBQVksRUFBZ0MsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxLQUFLLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFLdEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDL0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRXhELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7OztBQU8vRSxNQUFNLE9BQU8sbUJBQW1CO0lBeUZYO0lBQWdDO0lBQXdCO0lBQ2pFO0lBQThCO0lBQStCO0lBQW9DO0lBeEYzRyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsUUFBUSxHQUFHLENBQUMsQ0FBQztJQUNiLElBQUksR0FBRyxDQUFDLENBQUM7SUFDVCxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ2IsU0FBUyxHQUFRLEVBQUUsQ0FBQTtJQUNuQixVQUFVLEdBQVEsRUFBRSxDQUFBO0lBQ3BCLFdBQVcsR0FBWSxJQUFJLENBQUM7SUFDNUIsZ0JBQWdCLEdBQVEsRUFBRSxDQUFDO0lBQzNCLGFBQWEsR0FBUSxDQUFDLENBQUM7SUFDdkIsU0FB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ZXIsIE9uRGVzdHJveSwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgTFpTdHJpbmcgZnJvbSAnbHotc3RyaW5nJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLXNoYXJlZCc7XHJcbmltcG9ydCB7IEF1ZGl0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1ZGl0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOZ2JNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFJlbW92ZUF1ZGl0Q29tcG9uZW50IH0gZnJvbSAnLi4vcmVtb3ZlLWF1ZGl0L3JlbW92ZS1hdWRpdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdWRpdFJlcG9ydFBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi4vYXVkaXQtcmVwb3J0LXBvcHVwL2F1ZGl0LXJlcG9ydC1wb3B1cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBUaW1lclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90aW1lci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVmlld2NhdGVnb3J5Q29tcG9uZW50IH0gZnJvbSAnLi4vdmlld2NhdGVnb3J5L3ZpZXdjYXRlZ29yeS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYXVkaXQtcmV0YWcnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hdWRpdC1yZXRhZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2F1ZGl0LXJldGFnLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXVkaXRSZXRhZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgdG90YWxmaWxlID0gMDtcclxuICBjdXN0b21lciA9IDA7XHJcbiAganVuayA9IDA7XHJcbiAgZW1wbG95ZWUgPSAwO1xyXG4gIGp1bmtpbWFnZTogYW55ID0gW11cclxuICByZXRhZ2ltYWdlOiBhbnkgPSBbXVxyXG4gIHN1Ym1pdHZhbHVlOiBib29sZWFuID0gdHJ1ZTtcclxuICBhdWRpdG1hcHBpbmdkYXRhOiBhbnkgPSBbXTtcclxuICBjdXN0b21lcmNvdW50OiBhbnkgPSAwO1xyXG4gIGp1bmtjb3VudDogYW55ID0gMDtcclxuICBlbXBsb3llZWNvdW50OiBhbnkgPSAwO1xyXG4gIGVtcGxveWVpbWFnZTogYW55ID0gW107XHJcbiAgZmlsZWRldGFpbHM6IGFueSA9IHt9O1xyXG4gIGF1ZGl0TG9hZGluZyA9IGZhbHNlO1xyXG4gIHNlbGVjdGVkVHlwZTogYW55O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHRpbWVQYXNzZWQ6IG51bWJlciA9IDA7XHJcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcclxuICBmb3JtYXR0ZWRUaW1lOiBzdHJpbmcgPSAnMDA6MDA6MDAnO1xyXG5cclxuICBvcGVubW9kZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjYXRlZ29yeTogYW55ID0gW11cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6a2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlS2V5UHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLm9wZW5tb2RlbCkgcmV0dXJuO1xyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ2cnIHx8IGV2ZW50LmNvZGUgPT09ICdLZXlHJykge1xyXG4gICAgICB2YXIgZ3JvdXAgPSB0aGlzLmF1ZGl0bWFwcGluZ2RhdGEuZmlsdGVyKChkYXRhOiBhbnkpID0+IGRhdGEuc2VsZWN0ZWQgPT09IHRydWUpXHJcbiAgICAgIGlmIChncm91cC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgaWYgKGdyb3VwLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0ci5nZXRFcnJvclRvYXN0KCdQbGVhc2UgU2VsZWN0IG11bHRpcGxlIGZpbGUgdGhlbiBhZGQgdG8gR3JvdXAnKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBsZXQgZHVtbXlhcnJheSA9IGdyb3VwLnNoaWZ0KClcclxuICAgICAgICAgIHZhciBncm91cGltYWdlczogYW55ID0gW11cclxuICAgICAgICAgIGdyb3VwLmZvckVhY2goKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmF1ZGl0bWFwcGluZ2RhdGEuc3BsaWNlKHRoaXMuYXVkaXRtYXBwaW5nZGF0YS5maW5kSW5kZXgoKHsgaW1nX25hbWUgfTogeyBpbWdfbmFtZTogc3RyaW5nIH0pID0+IGltZ19uYW1lID09IGRhdGEuaW1nX25hbWUpLCAxKTtcclxuICAgICAgICAgICAgZ3JvdXBpbWFnZXMucHVzaChkYXRhLm1hcHBlZGlkWzBdKVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIGR1bW15YXJyYXkuY291bnQgPSBkdW1teWFycmF5LmNvdW50ICsgZ3JvdXBpbWFnZXMubGVuZ3RoXHJcbiAgICAgICAgICBkdW1teWFycmF5LnNlbGVjdGVkID0gZmFsc2VcclxuXHJcbiAgICAgICAgICBkdW1teWFycmF5Lm1hcHBlZGlkID0gWy4uLmR1bW15YXJyYXkubWFwcGVkaWQsIC4uLmdyb3VwaW1hZ2VzXVxyXG4gICAgICAgICAgY29uc3QganNvblN0cmluZyA9IEpTT04uc3RyaW5naWZ5KHRoaXMuYXVkaXRtYXBwaW5nZGF0YSk7XHJcbiAgICAgICAgICBjb25zdCBjb21wcmVzc2VkRGF0YSA9IExaU3RyaW5nLmNvbXByZXNzKGpzb25TdHJpbmcpO1xyXG4gICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnYXVkaXQnLCBjb21wcmVzc2VkRGF0YSlcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIHRoaXMuaW5pdGlhbF9kYXRhX2xvYWRpbmcoKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudG9hc3RyLmdldEVycm9yVG9hc3QoJ1BsZWFzZSBTZWxlY3QgZmlsZSB0aGVuIGFkZCB0byBHcm91cCcpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IHByZXNzZWQgPSAoZXZlbnQua2V5IHx8ICcnKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgY29uc3QgbWF0Y2hlZCA9IHRoaXMuY2F0ZWdvcnkuZmluZCgobTogYW55KSA9PiB7XHJcbiAgICAgIGlmICghbS5rZXkpIHJldHVybiBmYWxzZTtcclxuICAgICAgY29uc3QgbWFwS2V5ID0gbS5rZXkudG9Mb3dlckNhc2UoKTtcclxuICAgICAgLy8gbWF0Y2ggYnkgZXZlbnQua2V5IChwcmVmZXJyZWQpIE9SIGJ5IGV2ZW50LmNvZGUgbGlrZSAnS2V5SidcclxuICAgICAgcmV0dXJuIHByZXNzZWQgPT09IG1hcEtleSB8fCBldmVudC5jb2RlID09PSBgS2V5JHttYXBLZXkudG9VcHBlckNhc2UoKX1gO1xyXG4gICAgfSk7XHJcbiAgICBjb25zb2xlLmxvZyhtYXRjaGVkKVxyXG4gICAgaWYgKCFtYXRjaGVkKSByZXR1cm5cclxuICAgIGlmIChtYXRjaGVkKSB7XHJcbiAgICAgIHZhciBuZXdEYXRhID0gdGhpcy5hdWRpdG1hcHBpbmdkYXRhLmZpbHRlcigoZGF0YTogYW55KSA9PiBkYXRhLnNlbGVjdGVkID09PSB0cnVlKVxyXG4gICAgICBpZiAobmV3RGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdmFyIG9sZERhdGEgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0obWF0Y2hlZD8udHlwZSkgfHwgJ3t9JylcclxuICAgICAgICBpZiAoTnVtYmVyKG9sZERhdGEubGVuZ3RoKSA+IDApIHtcclxuICAgICAgICAgIG5ld0RhdGEgPSBbLi4ub2xkRGF0YSwgLi4ubmV3RGF0YV1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgbmV3RGF0YSA9IG5ld0RhdGFcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jYXRlZ29yeS5tYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGRhdGEudHlwZSA9PT0gbWF0Y2hlZD8udHlwZSkge1xyXG4gICAgICAgICAgICBkYXRhLmNvdW50ID0gbmV3RGF0YS5sZW5ndGhcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0obWF0Y2hlZD8udHlwZSwgSlNPTi5zdHJpbmdpZnkobmV3RGF0YSkpXHJcbiAgICAgICAgdGhpcy5hdWRpdG1hcHBpbmdkYXRhID0gdGhpcy5hdWRpdG1hcHBpbmdkYXRhLmZpbHRlcigoZGF0YTogYW55KSA9PiBkYXRhLnNlbGVjdGVkID09PSBmYWxzZSlcclxuICAgICAgICBjb25zdCBqc29uU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkodGhpcy5hdWRpdG1hcHBpbmdkYXRhKTtcclxuICAgICAgICBjb25zdCBjb21wcmVzc2VkRGF0YSA9IExaU3RyaW5nLmNvbXByZXNzKGpzb25TdHJpbmcpO1xyXG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ2F1ZGl0JywgY29tcHJlc3NlZERhdGEpXHJcbiAgICAgICAgdGhpcy50b2FzdHIuZ2V0U3VjY2Vzc1RvYXN0KGAke21hdGNoZWQ/LnR5cGV9IEFkZGVkIFN1Y2Nlc2Z1bGx5IWApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudG9hc3RyLmdldEVycm9yVG9hc3QoYFBsZWFzZSBTZWxlY3QgZmlsZSB0aGVuIGFkZCB0byAke21hdGNoZWQ/LnR5cGV9IGApXHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSAkYXBpOiBBdWRpdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRvYXN0cjogVG9hc3RTZXJ2aWNlLCBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgcHJpdmF0ZSB0aW1lclNlcnZpY2U6IFRpbWVyU2VydmljZSwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRUeXBlID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ3R5cGUnKVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldEF1ZGl0Q29uZmlnKClcclxuICAgIGlmICh0aGlzLnJldGFnaW1hZ2UubGVuZ3RoID09IDApIHtcclxuICAgICAgdGhpcy5zdWJtaXR2YWx1ZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hdWRpdExvYWRpbmcgPSBmYWxzZVxyXG4gICAgdGhpcy5zZXRUaW1lcigpO1xyXG4gIH1cclxuICBnZXRBdWRpdENvbmZpZygpIHtcclxuXHJcbiAgICBsZXQgZmlsZWRhdGEgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3RvdGFsZmlsZXMnKSB8fCAne30nKVxyXG4gICAgdGhpcy4kYXBpLmdldEF1ZGl0Y29uZmlnKGZpbGVkYXRhPy5maWxlZGV0YWlscz8uY2xpZW50SWQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKHJlcy5kYXRhLmZvb3RmYWxsRGlyZWN0b3J5Q29uZmlncy50YWdnaW5nTGltaXRhdGlvbilcclxuICAgICAgICAgIHRoaXMuY2F0ZWdvcnkgPSByZXMuZGF0YS5mb290ZmFsbERpcmVjdG9yeUNvbmZpZ3MudGFnZ2luZ0xpbWl0YXRpb25cclxuICAgICAgICAgIHRoaXMuaW5pdGlhbF9kYXRhX2xvYWRpbmcoKVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG4gIHNldFRpbWVyKCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnRpbWVyU2VydmljZS5nZXRUaW1lUGFzc2VkKCkuc3Vic2NyaWJlKHRpbWUgPT4ge1xyXG4gICAgICB0aGlzLnRpbWVQYXNzZWQgPSB0aW1lO1xyXG4gICAgICB0aGlzLmZvcm1hdHRlZFRpbWUgPSB0aGlzLnRpbWVyU2VydmljZS5mb3JtYXRUaW1lKHRpbWUpO1xyXG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy50aW1lclNlcnZpY2Uuc3RhcnRUaW1lcigpO1xyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5oYW5kbGVHbG9iYWxNb3VzZUV2ZW50KTtcclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5oYW5kbGVHbG9iYWxNb3VzZUV2ZW50KTtcclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCB0aGlzLmhhbmRsZUdsb2JhbE1vdXNlRXZlbnQpO1xyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5oYW5kbGVHbG9iYWxNb3VzZUV2ZW50KTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUdsb2JhbE1vdXNlRXZlbnQgPSAoKTogdm9pZCA9PiB7XHJcbiAgICB0aGlzLnRpbWVyU2VydmljZS5zdGFydFRpbWVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuaGFuZGxlR2xvYmFsTW91c2VFdmVudCk7XHJcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuaGFuZGxlR2xvYmFsTW91c2VFdmVudCk7XHJcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgdGhpcy5oYW5kbGVHbG9iYWxNb3VzZUV2ZW50KTtcclxuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMuaGFuZGxlR2xvYmFsTW91c2VFdmVudCk7XHJcbiAgICB0aGlzLnRpbWVyU2VydmljZS5jbGVhclRpbWVyKClcclxuXHJcbiAgfVxyXG5cclxuICBpbml0aWFsX2RhdGFfbG9hZGluZygpIHtcclxuICAgIGlmICgnYXVkaXQnIGluIHNlc3Npb25TdG9yYWdlKSB7XHJcbiAgICAgIGxldCBzdHJpbmdpZnlkYXRhID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnYXVkaXQnKSB8fCAne30nXHJcbiAgICAgIGNvbnN0IGRlY29tcHJlc3NlZERhdGEgPSBMWlN0cmluZy5kZWNvbXByZXNzKHN0cmluZ2lmeWRhdGEpO1xyXG4gICAgICB2YXIgYXVkaXRkYXRhID0gSlNPTi5wYXJzZShkZWNvbXByZXNzZWREYXRhIHx8ICd7fScpXHJcbiAgICAgIGlmIChhdWRpdGRhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMuYXVkaXRtYXBwaW5nZGF0YSA9IGF1ZGl0ZGF0YTtcclxuICAgICAgICB0aGlzLmN1c3RvbWVyY291bnQgPSB0aGlzLmF1ZGl0bWFwcGluZ2RhdGEubGVuZ3RoXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5hdWRpdG1hcHBpbmdkYXRhID0gW11cclxuICAgICAgICB0aGlzLmN1c3RvbWVyY291bnQgPSAwXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNhdGVnb3J5Lm1hcCgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgIHZhciBjb3VudCA9IEpTT04ucGFyc2Uoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShkYXRhLnR5cGUpIHx8ICd7fScpXHJcbiAgICAgIGRhdGEuY291bnQgPSBjb3VudD8ubGVuZ3RoXHJcbiAgICB9KVxyXG4gICAgaWYgKCdyZXRhZycgaW4gc2Vzc2lvblN0b3JhZ2UpIHtcclxuICAgICAgdmFyIHJldGFnZGF0YSA9IEpTT04ucGFyc2Uoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgncmV0YWcnKSB8fCAne30nKVxyXG4gICAgICBpZiAocmV0YWdkYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICB0aGlzLnJldGFnaW1hZ2UgPSByZXRhZ2RhdGE7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5yZXRhZ2ltYWdlID0gW107XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICgndG90YWxmaWxlcycgaW4gc2Vzc2lvblN0b3JhZ2UpIHtcclxuICAgICAgdmFyIGZpbGVzID0gSlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd0b3RhbGZpbGVzJykgfHwgJ3t9JylcclxuICAgICAgdGhpcy50b3RhbGZpbGUgPSBmaWxlcz8udG90YWxmaWxlc1xyXG4gICAgICB0aGlzLmZpbGVkZXRhaWxzID0gZmlsZXM/LmZpbGVkZXRhaWxzXHJcblxyXG4gICAgfVxyXG4gIH1cclxuICBnZXRtYXBwaW5nZGF0YSgpIHtcclxuICAgIHRoaXMuYXVkaXRMb2FkaW5nID0gZmFsc2VcclxuICAgIHZhciB0b3RhbGZpbGU6IGFueSA9IEpTT04ucGFyc2Uoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgndG90YWxmaWxlcycpIHx8ICd7fScpO1xyXG4gICAgdGhpcy5maWxlZGV0YWlscyA9IHRvdGFsZmlsZT8uZmlsZWRldGFpbHNcclxuXHJcbiAgICB2YXIgcGF5bG9hZDogYW55ID0ge1xyXG4gICAgICBzdG9yZUlkOiB0b3RhbGZpbGU/LmZpbGVkZXRhaWxzPy5zdG9yZUlkLFxyXG4gICAgICBmaWxlRGF0ZTogdG90YWxmaWxlPy5maWxlZGV0YWlscz8uRGF0ZSxcclxuICAgICAgYXVkaXRJZDogdG90YWxmaWxlPy5hdWRpdElkLFxyXG4gICAgICBjb3VudDogdG90YWxmaWxlPy50b3RhbGZpbGVzXHJcbiAgICB9XHJcbiAgICB0aGlzLiRhcGkuZ2V0QXVkaXRtYXBwaW5nbGlzdChwYXlsb2FkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICB0aGlzLmF1ZGl0TG9hZGluZyA9IGZhbHNlXHJcbiAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCdyZXRhZycpXHJcbiAgICAgICAgICB0aGlzLnJldGFnaW1hZ2UgPSBbXVxyXG4gICAgICAgICAgdGhpcy5jYXRlZ29yeS5tYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgZmlsdGVyRGF0YSA9IHJlcz8uZGF0YT8ucmVzdWx0Py5kcmFmdGVkRGF0YT8uZmlsdGVyKCh4OiBhbnkpID0+IHgudHlwZSA9PT0gZGF0YS50eXBlKVxyXG4gICAgICAgICAgICBkYXRhLnZhbHVlID0gZmlsdGVyRGF0YVswXT8udmFsdWUgJiYgZmlsdGVyRGF0YVswXT8udmFsdWUubGVuZ3RoID4gMCA/IGZpbHRlckRhdGFbMF0/LnZhbHVlIDogW11cclxuICAgICAgICAgICAgZGF0YS5jb3VudCA9IGRhdGE/LnZhbHVlPy5sZW5ndGhcclxuICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShkYXRhPy50eXBlLCBKU09OLnN0cmluZ2lmeShkYXRhPy52YWx1ZSAmJiBkYXRhPy52YWx1ZS5sZW5ndGggPiAwID8gZGF0YT8udmFsdWUgOiBbXSkpXHJcblxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIGxldCBjdXN0b21lckRhdGEgPSByZXM/LmRhdGE/LnJlc3VsdD8uZHJhZnRlZERhdGE/LmZpbHRlcigoeDogYW55KSA9PiB4LnR5cGUgPT09ICdjdXN0b21lcicpXHJcblxyXG4gICAgICAgICAgdGhpcy5hdWRpdG1hcHBpbmdkYXRhID0gY3VzdG9tZXJEYXRhWzBdPy52YWx1ZVxyXG4gICAgICAgICAgY29uc3QganNvblN0cmluZyA9IEpTT04uc3RyaW5naWZ5KGN1c3RvbWVyRGF0YVswXT8udmFsdWUpO1xyXG4gICAgICAgICAgY29uc3QgY29tcHJlc3NlZERhdGEgPSBMWlN0cmluZy5jb21wcmVzcyhqc29uU3RyaW5nKTtcclxuICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ2F1ZGl0JywgY29tcHJlc3NlZERhdGEpXHJcbiAgICAgICAgICB0aGlzLmluaXRpYWxfZGF0YV9sb2FkaW5nKClcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuXHJcbiAgICAgIH0sXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcmV2aWV3ZGF0YSgpIHtcclxuICAgIHRoaXMuc3VibWl0dmFsdWUgPSBmYWxzZTtcclxuICAgIHZhciB0b3RhbGZpbGU6IGFueSA9IEpTT04ucGFyc2Uoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgndG90YWxmaWxlcycpIHx8ICd7fScpO1xyXG4gICAgaWYgKCdhdWRpdCcgaW4gc2Vzc2lvblN0b3JhZ2UpIHtcclxuICAgICAgbGV0IHN0cmluZ2lmeWRhdGEgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdhdWRpdCcpIHx8ICd7fSdcclxuICAgICAgY29uc3QgZGVjb21wcmVzc2VkRGF0YSA9IExaU3RyaW5nLmRlY29tcHJlc3Moc3RyaW5naWZ5ZGF0YSk7XHJcbiAgICAgIHZhciBhdWRpdGRhdGEgPSBKU09OLnBhcnNlKGRlY29tcHJlc3NlZERhdGEgfHwgJ3t9JylcclxuICAgICAgaWYgKGF1ZGl0ZGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5hdWRpdG1hcHBpbmdkYXRhID0gYXVkaXRkYXRhO1xyXG4gICAgICAgIHRoaXMuY3VzdG9tZXJjb3VudCA9IHRoaXMuYXVkaXRtYXBwaW5nZGF0YS5sZW5ndGg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICgncmV0YWcnIGluIHNlc3Npb25TdG9yYWdlKSB7XHJcbiAgICAgIHZhciByZXRhZ2RhdGEgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3JldGFnJykgfHwgJ3t9JylcclxuICAgICAgdGhpcy5yZXRhZ2ltYWdlID0gcmV0YWdkYXRhO1xyXG4gICAgICB0aGlzLmF1ZGl0bWFwcGluZ2RhdGEgPSBbLi4udGhpcy5hdWRpdG1hcHBpbmdkYXRhLCAuLi50aGlzLnJldGFnaW1hZ2VdXHJcbiAgICAgIGNvbnN0IGpzb25TdHJpbmcgPSBKU09OLnN0cmluZ2lmeSh0aGlzLmF1ZGl0bWFwcGluZ2RhdGEpO1xyXG4gICAgICBjb25zdCBjb21wcmVzc2VkRGF0YSA9IExaU3RyaW5nLmNvbXByZXNzKGpzb25TdHJpbmcpO1xyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdhdWRpdCcsIGNvbXByZXNzZWREYXRhKVxyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCdyZXRhZycpXHJcbiAgICAgIHRoaXMucmV0YWdpbWFnZSA9IFtdO1xyXG4gICAgfVxyXG4gICAgbGV0IHN0cmluZ2lmeWRhdGEgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdhdWRpdCcpIHx8ICd7fSdcclxuICAgIGNvbnN0IGRlY29tcHJlc3NlZERhdGEgPSBMWlN0cmluZy5kZWNvbXByZXNzKHN0cmluZ2lmeWRhdGEpO1xyXG4gICAgdmFyIGN1c3RvbWVyID0gSlNPTi5wYXJzZShkZWNvbXByZXNzZWREYXRhIHx8ICd7fScpXHJcbiAgICBsZXQgc3RvcmVkRGF0YSA9IFtcclxuICAgICAge1xyXG4gICAgICAgIHR5cGU6IFwiY3VzdG9tZXJcIixcclxuICAgICAgICB2YWx1ZTogY3VzdG9tZXIgPyBjdXN0b21lciA6IFtdLFxyXG4gICAgICB9XHJcbiAgICBdXHJcblxyXG4gICAgdGhpcy5jYXRlZ29yeS5tYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICBsZXQgc2Vzc2lvbnZhbHVlID0gSlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKGRhdGEudHlwZSkgfHwgJ3t9Jyk7XHJcbiAgICAgIHN0b3JlZERhdGEucHVzaCh7XHJcbiAgICAgICAgdHlwZTogZGF0YS50eXBlLFxyXG4gICAgICAgIHZhbHVlOiBzZXNzaW9udmFsdWUgJiYgc2Vzc2lvbnZhbHVlLmxlbmd0aCA+IDAgPyBzZXNzaW9udmFsdWUgOiBbXVxyXG4gICAgICB9KVxyXG4gICAgfSlcclxuICAgIGNvbnNvbGUubG9nKFwi8J+agCB+IFN0YXJ0QXVkaXRDb21wb25lbnQgfiBSZXZpZXdkYXRhIH4gc3RvcmVkRGF0YTpcIiwgc3RvcmVkRGF0YSlcclxuICAgIHZhciBpbnNlcm9iajogYW55ID0ge1xyXG5cclxuICAgICAgc3RvcmVJZDogdG90YWxmaWxlPy5maWxlZGV0YWlscz8uc3RvcmVJZCxcclxuICAgICAgYXVkaXRJZDogdG90YWxmaWxlPy5hdWRpdElkID8gdG90YWxmaWxlPy5hdWRpdElkIDogdG90YWxmaWxlPy5maWxlZGV0YWlscy5hdWRpdElkLFxyXG4gICAgICBmaWxlRGF0ZTogdG90YWxmaWxlPy5maWxlZGV0YWlscz8uRGF0ZSxcclxuICAgICAgdG90YWxDb3VudDogdG90YWxmaWxlPy50b3RhbGZpbGVzID8gdG90YWxmaWxlLnRvdGFsZmlsZXMgOiAwLFxyXG4gICAgICByZXRhZ0NvdW50OiAwLFxyXG4gICAgICB0aW1lU3BlbnQ6IHRoaXMudGltZVBhc3NlZCxcclxuICAgICAgcmV0YWdJbWFnZTogW10sXHJcbiAgICAgIGRyYWZ0ZWREYXRhOiBzdG9yZWREYXRhXHJcbiAgICB9XHJcbiAgICB0aGlzLiRhcGkuc2F2ZURyYWZ0KGluc2Vyb2JqKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgIHRoaXMuZ2V0bWFwcGluZ2RhdGEoKTtcclxuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi9tYW5hZ2UvdGlja2V0cy9tYXBwaW5nLWxpc3RcIixdKVxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMudG9hc3RyLmdldEVycm9yVG9hc3QoZXJyPy5lcnJvcilcclxuICAgICAgfSxcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICByZXRhZ2FsbG93RHJvcChldmVudDogYW55KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuICBkcmFnU3RhcnQoZXZlbnQ6IGFueSkge1xyXG4gICAgZXZlbnQuZGF0YVRyYW5zZmVyLnNldERhdGEoXCJ0ZXh0L3BsYWluXCIsIGV2ZW50LnRhcmdldC5pZCk7XHJcbiAgfVxyXG5cclxuICBkcm9wcmV0YWcoZXZlbnQ6IGFueSkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGNvbnN0IGRyb3ByZXRhZ2ltYWdlID0gZXZlbnQuZGF0YVRyYW5zZmVyLmdldERhdGEoJ3RleHQvcGxhaW4nKTtcclxuICAgIGV2ZW50LnRhcmdldC5hcHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChkcm9wcmV0YWdpbWFnZSkpO1xyXG4gICAgY29uc3QgZHJvcHpvbmU6IGFueSA9IGRyb3ByZXRhZ2ltYWdlO1xyXG4gICAgdGhpcy5hdWRpdG1hcHBpbmdkYXRhLm1hcCgoZGF0YTogYW55KSA9PiB7XHJcblxyXG4gICAgICBpZiAoZGF0YS5pbWdfaWQgPT0gZHJvcHpvbmUuaWQpIHtcclxuICAgICAgICBpZiAoZGF0YS5tYXBwZWRpZC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB2YXIgZmluZG9uZSA9IHRoaXMuYXVkaXRtYXBwaW5nZGF0YS5maWx0ZXIoKGRhdGE6IGFueSkgPT4gZGF0YS5pbWdfbmFtZSA9PSBkcm9wcmV0YWdpbWFnZSlcclxuICAgICAgICAgIGlmIChmaW5kb25lLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgZGF0YS5jb3VudCA9IGRhdGEuY291bnQgKyBmaW5kb25lWzBdLmNvdW50XHJcbiAgICAgICAgICAgIGRhdGEubWFwcGVkaWQgPSBbLi4uZGF0YS5tYXBwZWRpZCwgLi4uZmluZG9uZVswXS5tYXBwZWRpZF1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICgnZHVwbGljYXRlJyBpbiBzZXNzaW9uU3RvcmFnZSkge1xyXG4gICAgICAgICAgICBsZXQgZmlsZWRhdGEgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2R1cGxpY2F0ZScpIHx8ICd7fScpXHJcbiAgICAgICAgICAgIGZpbGVkYXRhID0gWy4uLmZpbGVkYXRhLCAuLi5maW5kb25lXVxyXG4gICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdkdXBsaWNhdGUnLCBKU09OLnN0cmluZ2lmeShmaWxlZGF0YSkpXHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdkdXBsaWNhdGUnLCBKU09OLnN0cmluZ2lmeShmaW5kb25lKSlcclxuICAgICAgICAgICAgbGV0IGZpbGVkYXRhID0gSlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdkdXBsaWNhdGUnKSB8fCAne30nKVxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIvCfmoAgfiBTdGFydEF1ZGl0Q29tcG9uZW50IH4gZHJvcEltYWdlIH4gZmlsZWRhdGE6XCIsIGZpbGVkYXRhKVxyXG5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuY2F0ZWdvcnkubWFwKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdmFyIGNvdW50ID0gSlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKGRhdGEudHlwZSkgfHwgJ3t9JylcclxuICAgICAgICAgICAgZGF0YS5jb3VudCA9IGNvdW50Py5sZW5ndGhcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhcIvCfmoAgfiBBdWRpdFJldGFnQ29tcG9uZW50IH4gZHJvcHJldGFnIH4gdGhpcy5jYXRlZ29yeTpcIiwgdGhpcy5jYXRlZ29yeSlcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgZGF0YS5jb3VudCA9IGRhdGEuY291bnQgKyAxLFxyXG4gICAgICAgICAgICBkYXRhLm1hcHBlZGlkLnB1c2goZHJvcHJldGFnaW1hZ2UpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0cmV0YWdpbWFnZShyZXM6IGFueSkge1xyXG4gICAgdGhpcy5yZXRhZ2ltYWdlLm1hcCgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgIGlmIChkYXRhLmltZ19pZCA9PSByZXMpIHtcclxuICAgICAgICBpZiAoZGF0YS5tYXBwZWRpZC5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgICAgZGF0YS5zZWxlY3RlZCA9ICFkYXRhLnNlbGVjdGVkXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0Z3JvdXBpbWFnZShyZXM6IGFueSkge1xyXG4gICAgdGhpcy5hdWRpdG1hcHBpbmdkYXRhLm1hcCgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgIGlmIChkYXRhLmltZ19pZCA9PSByZXMpIHtcclxuICAgICAgICBpZiAoZGF0YS5tYXBwZWRpZC5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgICAgZGF0YS5zZWxlY3RlZCA9ICFkYXRhLnNlbGVjdGVkXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlYXVkaXQoZGF0YTogYW55KSB7XHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oUmVtb3ZlQXVkaXRDb21wb25lbnQsIHtcclxuICAgICAgc2l6ZTogJ2xnJyxcclxuICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgIGJhY2tkcm9wOiAnc3RhdGljJyxcclxuICAgICAga2V5Ym9hcmQ6IGZhbHNlXHJcbiAgICB9KVxyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UuZGF0YSA9IGRhdGE7XHJcbiAgICBtb2RhbFJlZi5jbG9zZWQuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzICYmIHJlcz8ucmVsb2FkKSB7XHJcbiAgICAgICAgdGhpcy5pbml0aWFsX2RhdGFfbG9hZGluZygpXHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gIH1cclxuICBzdWJtaXRhdWRpdCgpIHtcclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihBdWRpdFJlcG9ydFBvcHVwQ29tcG9uZW50LCB7XHJcbiAgICAgIHNpemU6ICdsZycsXHJcbiAgICAgIGNlbnRlcmVkOiB0cnVlLFxyXG4gICAgICBiYWNrZHJvcDogJ3N0YXRpYycsXHJcbiAgICAgIGtleWJvYXJkOiBmYWxzZVxyXG4gICAgfSlcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnNlbGVjdGVkVHlwZSA9IHRoaXMuc2VsZWN0ZWRUeXBlO1xyXG4gICAgbW9kYWxSZWYuY2xvc2VkO1xyXG4gIH1cclxuXHJcblxyXG4gIHZpZXdjYXRlZ29yeShkYXRhOiBhbnkpIHtcclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihWaWV3Y2F0ZWdvcnlDb21wb25lbnQsIHtcclxuICAgICAgc2l6ZTogJ2xnJyxcclxuICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgIGJhY2tkcm9wOiAnc3RhdGljJyxcclxuICAgICAga2V5Ym9hcmQ6IGZhbHNlXHJcbiAgICB9KVxyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UuZGF0YSA9IGRhdGFcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLmltYWdlTGlzdCA9IGRhdGEsXHJcbiAgICAgIG1vZGFsUmVmLmNsb3NlZC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXM/LnJlbG9hZCkge1xyXG4gICAgICAgICAgdGhpcy5pbml0aWFsX2RhdGFfbG9hZGluZygpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcbiAgZHJvcEltYWdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGh0bWx0YWcgPSBldmVudC5kYXRhVHJhbnNmZXIuZ2V0RGF0YSgndGV4dC9odG1sJyk7XHJcbiAgICB2YXIgTmFtZSA9IGdldFRhZ05hbWVGcm9tSFRNTChodG1sdGFnKTtcclxuICAgIGNvbnN0IGRyb3Bab25lID0gZXZlbnQudGFyZ2V0O1xyXG4gICAgY29uc29sZS5sb2coTmFtZSlcclxuICAgIGlmIChOYW1lID09ICdjdXN0b21lcicgfHwgTmFtZSA9PSAncmV0YWcnKSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGNvbnN0IGRyYWdnZWRJbWFnZUlkID0gZXZlbnQuZGF0YVRyYW5zZmVyLmdldERhdGEoJ3RleHQvcGxhaW4nKTtcclxuICAgICAgY29uc3QgZHJhZ2dlZEltYWdlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZHJhZ2dlZEltYWdlSWQpO1xyXG4gICAgICBldmVudC50YXJnZXQuYXBwZW5kQ2hpbGQoZHJhZ2dlZEltYWdlKTtcclxuICAgICAgdGhpcy5hdWRpdG1hcHBpbmdkYXRhLm1hcCgoZGF0YTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcblxyXG4gICAgICAgIGlmIChkYXRhLmltZ19pZCA9PT0gZHJvcFpvbmUuaWQpIHtcclxuICAgICAgICAgIGxldCBmaW5kb25lID0gW107XHJcbiAgICAgICAgICBjb25zdCByZXRhZ2RhdGEgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3JldGFnJykgfHwgJ1tdJyk7XHJcbiAgICAgICAgICB0aGlzLnJldGFnaW1hZ2UgPSByZXRhZ2RhdGE7XHJcbiAgICAgICAgICBmaW5kb25lID0gdGhpcy5yZXRhZ2ltYWdlLmZpbHRlcigoaW1nRGF0YTogYW55KSA9PiBpbWdEYXRhLmltZ19pZCA9PT0gZHJhZ2dlZEltYWdlSWQpO1xyXG4gICAgICAgICAgaWYgKGZpbmRvbmUubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIGZpbmRvbmUgPSB0aGlzLmF1ZGl0bWFwcGluZ2RhdGEuZmlsdGVyKChpbWdEYXRhOiBhbnkpID0+IGltZ0RhdGEuaW1nX2lkID09PSBkcmFnZ2VkSW1hZ2VJZCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgdGhpcy5yZXRhZ2ltYWdlID0gdGhpcy5yZXRhZ2ltYWdlLmZpbHRlcigoaW1nRGF0YTogYW55KSA9PiBpbWdEYXRhLmltZ19pZCAhPT0gZHJhZ2dlZEltYWdlSWQpO1xyXG4gICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgncmV0YWcnLCBKU09OLnN0cmluZ2lmeSh0aGlzLnJldGFnaW1hZ2UpKTtcclxuXHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhcIvCfmoAgfiBBdWRpdFJldGFnQ29tcG9uZW50IH4gZHJvcEltYWdlIH4gZmluZG9uZTpcIiwgZmluZG9uZSlcclxuICAgICAgICAgIGlmIChmaW5kb25lLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgZGF0YS5jb3VudCArPSBmaW5kb25lWzBdLmNvdW50O1xyXG4gICAgICAgICAgICBkYXRhLm1hcHBlZGlkID0gWy4uLmRhdGEubWFwcGVkaWQsIC4uLmZpbmRvbmVbMF0ubWFwcGVkaWRdO1xyXG4gICAgICAgICAgICBpZiAoJ2R1cGxpY2F0ZScgaW4gc2Vzc2lvblN0b3JhZ2UpIHtcclxuICAgICAgICAgICAgICBsZXQgZmlsZWRhdGEgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2R1cGxpY2F0ZScpIHx8ICd7fScpXHJcbiAgICAgICAgICAgICAgZmlsZWRhdGEgPSBbLi4uZmlsZWRhdGEsIC4uLmZpbmRvbmVdXHJcbiAgICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnZHVwbGljYXRlJywgSlNPTi5zdHJpbmdpZnkoZmlsZWRhdGEpKVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ2R1cGxpY2F0ZScsIEpTT04uc3RyaW5naWZ5KGZpbmRvbmUpKVxyXG4gICAgICAgICAgICAgIGxldCBmaWxlZGF0YSA9IEpTT04ucGFyc2Uoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnZHVwbGljYXRlJykgfHwgJ3t9JylcclxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIvCfmoAgfiBTdGFydEF1ZGl0Q29tcG9uZW50IH4gZHJvcEltYWdlIH4gZmlsZWRhdGE6XCIsIGZpbGVkYXRhKVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZGF0YS5jb3VudCArPSAxO1xyXG4gICAgICAgICAgICBkYXRhLm1hcHBlZGlkLnB1c2goZHJhZ2dlZEltYWdlSWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICAgaWYgKE5hbWUgPT0gJ2N1c3RvbWVyJykge1xyXG4gICAgICAgIHRoaXMuYXVkaXRtYXBwaW5nZGF0YS5zcGxpY2UodGhpcy5hdWRpdG1hcHBpbmdkYXRhLmZpbmRJbmRleCgoeyBpbWdfaWQgfTogeyBpbWdfaWQ6IHN0cmluZyB9KSA9PiBpbWdfaWQgPT0gZHJhZ2dlZEltYWdlSWQpLCAxKTtcclxuICAgICAgICB0aGlzLmF1ZGl0bWFwcGluZ2RhdGEubWFwKChkYXRhOiBhbnkpID0+IGRhdGEuc2VsZWN0ZWQgPSBmYWxzZSlcclxuICAgICAgfVxyXG5cclxuXHJcbiAgICAgIHRoaXMuY3VzdG9tZXJjb3VudCA9IHRoaXMuYXVkaXRtYXBwaW5nZGF0YT8ubGVuZ3RoO1xyXG4gICAgICBjb25zdCBqc29uU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkodGhpcy5hdWRpdG1hcHBpbmdkYXRhKTtcclxuICAgICAgY29uc3QgY29tcHJlc3NlZERhdGEgPSBMWlN0cmluZy5jb21wcmVzcyhqc29uU3RyaW5nKTtcclxuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnYXVkaXQnLCBjb21wcmVzc2VkRGF0YSlcclxuICAgICAgdmFyIHJldGFnZGF0YSA9IEpTT04ucGFyc2Uoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgncmV0YWcnKSB8fCAne30nKVxyXG4gICAgICB0aGlzLnJldGFnaW1hZ2UgPSByZXRhZ2RhdGE7XHJcbiAgICAgIGlmICh0aGlzLnJldGFnaW1hZ2UubGVuZ3RoID09IDApIHtcclxuICAgICAgICB0aGlzLnN1Ym1pdHZhbHVlID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jYXRlZ29yeS5tYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIHZhciBjb3VudCA9IEpTT04ucGFyc2Uoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShkYXRhLnR5cGUpIHx8ICd7fScpXHJcbiAgICAgICAgZGF0YS5jb3VudCA9IGNvdW50Py5sZW5ndGhcclxuICAgICAgfSlcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIGZ1bmN0aW9uIGdldFRhZ05hbWVGcm9tSFRNTChodG1sOiBhbnkpIHtcclxuICAgICAgdmFyIHRlbXBFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIHRlbXBFbGVtZW50LmlubmVySFRNTCA9IGh0bWw7XHJcbiAgICAgIHZhciBmaXJzdENoaWxkOiBhbnkgPSB0ZW1wRWxlbWVudC5maXJzdENoaWxkO1xyXG4gICAgICBpZiAoZmlyc3RDaGlsZC5oYXNBdHRyaWJ1dGUoJ25hbWUnKSkge1xyXG4gICAgICAgIHZhciBuYW1lUHJvcGVydHlWYWx1ZSA9IGZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCduYW1lJyk7XHJcbiAgICAgICAgcmV0dXJuIG5hbWVQcm9wZXJ0eVZhbHVlO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRpdGxlXCI+XHJcbiAgICAgICAgICAgIDxoMyBjbGFzcz1cImZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7ZmlsZWRldGFpbHM/LnN0b3JlSWR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm14LTMgYXJyb3ctY29kZVwiPiAtIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e2ZpbGVkZXRhaWxzPy5EYXRlfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdW5kZWQtMyBtcy0zIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgYmctdGltZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMyB0ZXh0LXRpbWVyIGZ3LXNlbWlib2xkXCI+e3sgZm9ybWF0dGVkVGltZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk05LjE2NjY3IDIuODcwNzFDOS4xNjY2NyAyLjYyMDIzIDkuMjY2MTcgMi4zODAwMSA5LjQ0MzI5IDIuMjAyODlDOS42MjA0MSAyLjAyNTc3IDkuODYwNjMgMS45MjYyNyAxMC4xMTExIDEuOTI2MjdIMTMuODg4OUMxNC4xMzk0IDEuOTI2MjcgMTQuMzc5NiAyLjAyNTc3IDE0LjU1NjcgMi4yMDI4OUMxNC43MzM4IDIuMzgwMDEgMTQuODMzMyAyLjYyMDIzIDE0LjgzMzMgMi44NzA3MUMxNC44MzMzIDMuMTIxMiAxNC43MzM4IDMuMzYxNDIgMTQuNTU2NyAzLjUzODU0QzE0LjM3OTYgMy43MTU2NSAxNC4xMzk0IDMuODE1MTYgMTMuODg4OSAzLjgxNTE2SDEyLjk0NDRWNS4wNzQ0MkwxMi45NDMyIDUuMTI2MDVDMTQuNTM5NiA1LjMwMDk3IDE2LjA1MjggNS45Mjc4NyAxNy4zMDUzIDYuOTMzMDhMMTcuMzE0MSA2LjkyNTUzTDE4LjI1ODUgNS45ODEwOEMxOC4zNzQgNS44NTY3NiAxOC41MjA4IDUuNzY1ODggMTguNjgzNSA1LjcxODAxQzE4Ljg0NjMgNS42NzAxNCAxOS4wMTkgNS42NjcwNiAxOS4xODMzIDUuNzA5MDhDMTkuMzQ3NyA1Ljc1MTExIDE5LjQ5NzcgNS44MzY2OSAxOS42MTc1IDUuOTU2OEMxOS43MzczIDYuMDc2OTIgMTkuODIyNSA2LjIyNzEzIDE5Ljg2NDEgNi4zOTE2QzE5LjkwNiA2LjU1NTc4IDE5LjkwMyA2LjcyODIzIDE5Ljg1NTQgNi44OTA4NUMxOS44MDc3IDcuMDUzNDggMTkuNzE3MiA3LjIwMDI5IDE5LjU5MzMgNy4zMTU5TDE4LjY0ODkgOC4yNjAzNEwxOC42NDEzIDguMjY5MTVDMTkuNjQwMyA5LjUxOTc0IDIwLjI2NTggMTEuMDI3IDIwLjQ0NiAxMi42MTc0QzIwLjYyNjEgMTQuMjA3OCAyMC4zNTM2IDE1LjgxNjcgMTkuNjU5NyAxNy4yNTkxQzE4Ljk2NTggMTguNzAxNCAxNy44Nzg4IDE5LjkxODUgMTYuNTIzNyAyMC43NzA0QzE1LjE2ODYgMjEuNjIyMiAxMy42MDA2IDIyLjA3NDEgMTIgMjIuMDc0MUMxMC4zOTk0IDIyLjA3NDEgOC44MzEzNyAyMS42MjIyIDcuNDc2MjkgMjAuNzcwNEM2LjEyMTIyIDE5LjkxODUgNS4wMzQxOSAxOC43MDE0IDQuMzQwMyAxNy4yNTkxQzMuNjQ2NDEgMTUuODE2NyAzLjM3Mzg2IDE0LjIwNzggMy41NTQwMiAxMi42MTc0QzMuNzM0MTggMTEuMDI3IDQuMzU5NzMgOS41MTk3NCA1LjM1ODY3IDguMjY5MTVMNS4zNTExMSA4LjI2MDM0TDQuNDA2NjcgNy4zMTU5QzQuMjM5NjQgNy4xMzY5IDQuMTQ4NjUgNi45MDAwMyA0LjE1Mjg3IDYuNjU1MjRDNC4xNTcxIDYuNDEwNDUgNC4yNTYyMiA2LjE3Njg3IDQuNDI5MzQgNi4wMDM3NUM0LjYwMjQ2IDUuODMwNjMgNC44MzYwNCA1LjczMTUxIDUuMDgwODMgNS43MjcyOEM1LjMyNTYyIDUuNzIzMDYgNS41NjI0OSA1LjgxNDA1IDUuNzQxNDkgNS45ODEwOEw2LjY4NTkzIDYuOTI1NTNMNi42OTQ3NCA2LjkzMzA4QzcuOTQ2ODEgNS45MjgwOSA5LjQ1OTYzIDUuMzAxMiAxMS4wNTU2IDUuMTI2MDVWMy44MTUxNkgxMC4xMTExQzkuODYwNjMgMy44MTUxNiA5LjYyMDQxIDMuNzE1NjUgOS40NDMyOSAzLjUzODU0QzkuMjY2MTcgMy4zNjE0MiA5LjE2NjY3IDMuMTIxMiA5LjE2NjY3IDIuODcwNzFaTTEyIDIwLjE4NTVDMTMuNzUzNSAyMC4xODU0IDE1LjQzNTIgMTkuNDg4NiAxNi42NzUgMTguMjQ4NUMxNy45MTQ4IDE3LjAwODUgMTguNjExMyAxNS4zMjY3IDE4LjYxMTEgMTMuNTczMkMxOC42MTA5IDExLjgxOTYgMTcuOTE0MiAxMC4xMzggMTYuNjc0MSA4Ljg5ODEzQzE1LjQzNDEgNy42NTgzMSAxMy43NTIzIDYuOTYxODggMTEuOTk4NyA2Ljk2MjA0QzEwLjI0NTIgNi45NjIyMSA4LjU2MzU0IDcuNjU4OTYgNy4zMjM3MiA4Ljg5OTAyQzYuMDgzOSAxMC4xMzkxIDUuMzg3NDcgMTEuODIwOSA1LjM4NzYzIDEzLjU3NDRDNS4zODc4IDE1LjMyOCA2LjA4NDU1IDE3LjAwOTYgNy4zMjQ2MSAxOC4yNDk0QzguNTY0NjcgMTkuNDg5MyAxMC4yNDY1IDIwLjE4NTcgMTIgMjAuMTg1NVpNMTIuNDg5OSAxMS43NDg1TDE0LjE2NDcgMTAuMDczN0MxNC4yNTE3IDkuOTgzNDMgMTQuMzU1OSA5LjkxMTQzIDE0LjQ3MTEgOS44NjE4OEMxNC41ODYzIDkuODEyMzMgMTQuNzEwMiA5Ljc4NjIyIDE0LjgzNTYgOS43ODUwN0MxNC45NjExIDkuNzgzOTIgMTUuMDg1NCA5LjgwNzc2IDE1LjIwMTUgOS44NTUxOUMxNS4zMTc2IDkuOTAyNjIgMTUuNDIzMSA5Ljk3MjcgMTUuNTExOCAxMC4wNjEzQzE1LjYwMDUgMTAuMTUgMTUuNjcwNyAxMC4yNTU0IDE1LjcxODIgMTAuMzcxNEMxNS43NjU4IDEwLjQ4NzUgMTUuNzg5NyAxMC42MTE4IDE1Ljc4ODcgMTAuNzM3MkMxNS43ODc3IDEwLjg2MjYgMTUuNzYxNyAxMC45ODY2IDE1LjcxMjIgMTEuMTAxOEMxNS42NjI4IDExLjIxNzEgMTUuNTkwOSAxMS4zMjEzIDE1LjUwMDcgMTEuNDA4NUwxMy44MjU5IDEzLjA4NDZDMTMuOTAwMyAxMy4zNjQ1IDEzLjkwOTUgMTMuNjU3OSAxMy44NTI2IDEzLjk0MkMxMy43OTU4IDE0LjIyNiAxMy42NzQ1IDE0LjQ5MzMgMTMuNDk4MSAxNC43MjMxQzEzLjMyMTcgMTQuOTUyOSAxMy4wOTQ5IDE1LjEzOTEgMTIuODM1MiAxNS4yNjc1QzEyLjU3NTQgMTUuMzk1OCAxMi4yODk3IDE1LjQ2MjggMTIgMTUuNDYzM0MxMS43MzI3IDE1LjQ2MSAxMS40Njg4IDE1LjQwMTkgMTEuMjI2IDE1LjI5QzEwLjk4MzIgMTUuMTc4MSAxMC43NjcgMTUuMDE1OSAxMC41OTE2IDE0LjgxNDFDMTAuNDE2MiAxNC42MTIzIDEwLjI4NTcgMTQuMzc1NSAxMC4yMDg3IDE0LjExOTVDMTAuMTMxNiAxMy44NjM1IDEwLjEwOTkgMTMuNTk0IDEwLjE0NDggMTMuMzI5QzEwLjE3OTggMTMuMDYzOSAxMC4yNzA2IDEyLjgwOTMgMTAuNDExNCAxMi41ODJDMTAuNTUyMiAxMi4zNTQ3IDEwLjczOTYgMTIuMTU5OSAxMC45NjEzIDEyLjAxMDRDMTEuMTgzIDExLjg2MSAxMS40MzM5IDExLjc2MDQgMTEuNjk3NCAxMS43MTUyQzExLjk2MDkgMTEuNjcwMSAxMi4yMzEgMTEuNjgxNCAxMi40ODk5IDExLjc0ODVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJibGFja1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImJ0biBidG4tc20gYnRuLWRlZmF1bHQgYnRuLW91dGxpbmUgcHktMiBteC0yXCIgKGNsaWNrKT1cInJldmlld2RhdGEoKVwiPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLXByaW1hcnkgc3ZnLWljb24tMnhcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTUuODMzNyAxMC4wMDAxSDQuMTY2OTlNNC4xNjY5OSAxMC4wMDAxTDEwLjAwMDMgMTUuODMzNE00LjE2Njk5IDEwLjAwMDFMMTAuMDAwMyA0LjE2Njc1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPjxzcGFuIGNsYXNzPVwibXMtM1wiPkJhY2sgdG8gUmV2aWV3PC9zcGFuPjwvYT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXByaW1hcnkgcHktMiBteC0yXCIgW2Rpc2FibGVkXT1cInN1Ym1pdHZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInN1Ym1pdGF1ZGl0KClcIj5TdWJtaXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi1wcmltYXJ5IHN2Zy1pY29uLTJ4XCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTQuMTY2OTkgMTAuMDAwMUgxNS44MzM3TTE1LjgzMzcgMTAuMDAwMUwxMC4wMDAzIDQuMTY2NzVNMTUuODMzNyAxMC4wMDAxTDEwLjAwMDMgMTUuODMzNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LXJvd1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgdGV4dC1kYXJrXCI+VG90YWwgRmlsZXMgLSA8c3Bhbj57e3RvdGFsZmlsZX19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgXHJcbiAgICAgICAgPC9oMz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyIFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZS0zIHRleHQgZnctc2VtaWJvbGRcIj5VbmlxdWUgQ3VzdG9tZXJzIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIiBiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5XCI+e3thdWRpdG1hcHBpbmdkYXRhPy5sZW5ndGggPyBhdWRpdG1hcHBpbmdkYXRhPy5sZW5ndGggOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgMH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjYXRlZ29yeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgdGV4dCB3LXNlbWlib2xkIGJ0bi1zbSBweS0yIGJ1dG4tZmxhZyBteC0yXCIgKGNsaWNrKT1cInZpZXdjYXRlZ29yeShpdGVtKVwiIFtkaXNhYmxlZF09XCIhaXRlbT8uY291bnRcIj5WaWV3XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7aXRlbT8ubmFtZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiIGJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnlcIj57e2l0ZW0/LmNvdW50fX08L3NwYW4+IDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiYXVkaXRMb2FkaW5nXCIgY2xhc3M9XCJjYXJkIG10LTVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGgtNTAwcHhcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0gPGg1IGNsYXNzPVwidGV4dC1kYXJrLTYwMCBmdy1ib2xkIHRleHQtY2VudGVyIG10LTVcIj5Mb2FkaW5nIEF1ZGl0IGZpbGUuLi4uLi48L2g1PiAtLT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cIiFhdWRpdExvYWRpbmdcIiBjbGFzcz1cImNvbC1tZC01XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgbXQtNVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGgtMTAwMHB4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1sYWJlbCBmdy1ib2xkXCI+SW1hZ2VzIGZvciBSZXRhZ2dpbmc8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXN1YiBtdC0yIGZ3LXNlbWlib2xkXCI+RHJhZyBhbmQgRHJvcCBvbiBjb3JyZWN0IGN1c3RvbWVyczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1cIiAqbmdGb3I9XCJsZXQgb2JqMSBvZiByZXRhZ2ltYWdlXCIgKGRyYWdvdmVyKT1cInJldGFnYWxsb3dEcm9wKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIGRyYWdnYWJsZT1cInRydWVcIiAoZHJhZ3N0YXJ0KT1cImRyYWdTdGFydCgkZXZlbnQpXCIgaWQ9XCJ7e29iajEuaW1nX2lkfX1cIiBbc3JjXT1cIm9iajEuaW1nX3BhdGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm15LTMgbXgtNCBpbWctcmV0XCIgKGNsaWNrKT1cInNlbGVjdHJldGFnaW1hZ2Uob2JqMS5pbWdfaWQpXCIgbmFtZT1cInJldGFnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG0tMCBmcy03IGZ3LWJvbGRcIj57e29iajEuaW1nX25hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwib2JqMS5zZWxlY3RlZFwiIGNsYXNzPVwibm90aWZ5LWJhZGdlMSBud2JnXCI+PGkgY2xhc3M9XCJmYSBmYS1jaGVjayBjb2xvcnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHN0eWxlPVwiZm9udC1zaXplOjE1cHg7Y29sb3I6IzAwQTNGRlwiPjwvaT48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJub3RpZnktYmFkZ2UgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwicmVtb3ZlYXVkaXQob2JqMSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm9iajEuY291bnQ+MVwiPnt7b2JqMS5jb3VudH19PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cIiFhdWRpdExvYWRpbmdcIiBjbGFzcz1cImNvbC1tZC03XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgbXQtNVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGgtMTAwMHB4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1sYWJlbCBmdy1ib2xkXCI+VW5pcXVlIEN1c3RvbWVycyA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWxcIj57e2F1ZGl0bWFwcGluZ2RhdGE/Lmxlbmd0aCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGl0bWFwcGluZ2RhdGE/Lmxlbmd0aCA6IDB9fTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtXCIgKm5nRm9yPVwibGV0IG9iaiBvZiBhdWRpdG1hcHBpbmdkYXRhO2xldCBpPWluZGV4XCIgc3R5bGU9XCJwYWRkaW5nOiAxMHB4O1wiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwibXgtMyBtYi01IGltZ1wiIFtzcmNdPVwib2JqLmltZ19wYXRoXCIgaWQ9XCJ7e29iai5pbWdfaWR9fVwiIGFsdD1cIkltYWdlXCIgbmFtZT1cImN1c3RvbWVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGRyYWdvdmVyKT1cInJldGFnYWxsb3dEcm9wKCRldmVudClcIiAoZHJvcCk9XCJkcm9wSW1hZ2UoJGV2ZW50KVwiIGRyYWdnYWJsZT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoZHJhZ3N0YXJ0KT1cImRyYWdTdGFydCgkZXZlbnQpXCIgKGNsaWNrKT1cInNlbGVjdGdyb3VwaW1hZ2Uob2JqLmltZ19pZCApXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG0tMCBmcy03IGZ3LWJvbGRcIj57e29iai5pbWdfbmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJvYmouc2VsZWN0ZWRcIiBjbGFzcz1cIm5vdGlmeS1iYWRnZTFcIj48aSBjbGFzcz1cImZhIGZhLWNoZWNrXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiZm9udC1zaXplOjE1cHg7Y29sb3I6IzAwQTNGRlwiPjwvaT48L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibm90aWZ5LWJhZGdlIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInJlbW92ZWF1ZGl0KG9iailcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm9iai5jb3VudD4xXCI+e3tvYmouY291bnR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuXHJcbjwvZGl2PiJdfQ==
|
|
470
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtcmV0YWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLXRpY2tldHMvc3JjL2xpYi9jb21wb25lbnRzL2F1ZGl0LXJldGFnL2F1ZGl0LXJldGFnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS10aWNrZXRzL3NyYy9saWIvY29tcG9uZW50cy9hdWRpdC1yZXRhZy9hdWRpdC1yZXRhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFlBQVksRUFBZ0MsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxLQUFLLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFLdEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDL0YsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBRXhELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7OztBQU8vRSxNQUFNLE9BQU8sbUJBQW1CO0lBeUZYO0lBQWdDO0lBQXdCO0lBQ2pFO0lBQThCO0lBQStCO0lBQW9DO0lBeEYzRyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsUUFBUSxHQUFHLENBQUMsQ0FBQztJQUNiLElBQUksR0FBRyxDQUFDLENBQUM7SUFDVCxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ2IsU0FBUyxHQUFRLEVBQUUsQ0FBQTtJQUNuQixVQUFVLEdBQVEsRUFBRSxDQUFBO0lBQ3BCLFdBQVcsR0FBWSxJQUFJLENBQUM7SUFDNUIsZ0JBQWdCLEdBQVEsRUFBRSxDQUFDO0lBQzNCLGFBQWEsR0FBUSxDQUFDLENBQUM7SUFDdkIsU0FB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cG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBIb3N0TGlzdGVuZXIsIE9uRGVzdHJveSwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgTFpTdHJpbmcgZnJvbSAnbHotc3RyaW5nJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLXNoYXJlZCc7XHJcbmltcG9ydCB7IEF1ZGl0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1ZGl0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOZ2JNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFJlbW92ZUF1ZGl0Q29tcG9uZW50IH0gZnJvbSAnLi4vcmVtb3ZlLWF1ZGl0L3JlbW92ZS1hdWRpdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdWRpdFJlcG9ydFBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi4vYXVkaXQtcmVwb3J0LXBvcHVwL2F1ZGl0LXJlcG9ydC1wb3B1cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBUaW1lclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90aW1lci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVmlld2NhdGVnb3J5Q29tcG9uZW50IH0gZnJvbSAnLi4vdmlld2NhdGVnb3J5L3ZpZXdjYXRlZ29yeS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYXVkaXQtcmV0YWcnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hdWRpdC1yZXRhZy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2F1ZGl0LXJldGFnLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXVkaXRSZXRhZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgdG90YWxmaWxlID0gMDtcclxuICBjdXN0b21lciA9IDA7XHJcbiAganVuayA9IDA7XHJcbiAgZW1wbG95ZWUgPSAwO1xyXG4gIGp1bmtpbWFnZTogYW55ID0gW11cclxuICByZXRhZ2ltYWdlOiBhbnkgPSBbXVxyXG4gIHN1Ym1pdHZhbHVlOiBib29sZWFuID0gdHJ1ZTtcclxuICBhdWRpdG1hcHBpbmdkYXRhOiBhbnkgPSBbXTtcclxuICBjdXN0b21lcmNvdW50OiBhbnkgPSAwO1xyXG4gIGp1bmtjb3VudDogYW55ID0gMDtcclxuICBlbXBsb3llZWNvdW50OiBhbnkgPSAwO1xyXG4gIGVtcGxveWVpbWFnZTogYW55ID0gW107XHJcbiAgZmlsZWRldGFpbHM6IGFueSA9IHt9O1xyXG4gIGF1ZGl0TG9hZGluZyA9IGZhbHNlO1xyXG4gIHNlbGVjdGVkVHlwZTogYW55O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHRpbWVQYXNzZWQ6IG51bWJlciA9IDA7XHJcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcclxuICBmb3JtYXR0ZWRUaW1lOiBzdHJpbmcgPSAnMDA6MDA6MDAnO1xyXG5cclxuICBvcGVubW9kZWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjYXRlZ29yeTogYW55ID0gW11cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6a2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlS2V5UHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLm9wZW5tb2RlbCkgcmV0dXJuO1xyXG4gICAgLy8gaWYgKGV2ZW50LmtleSA9PT0gJ2cnIHx8IGV2ZW50LmNvZGUgPT09ICdLZXlHJykge1xyXG4gICAgLy8gICB2YXIgZ3JvdXAgPSB0aGlzLmF1ZGl0bWFwcGluZ2RhdGEuZmlsdGVyKChkYXRhOiBhbnkpID0+IGRhdGEuc2VsZWN0ZWQgPT09IHRydWUpXHJcbiAgICAvLyAgIGlmIChncm91cC5sZW5ndGggPiAwKSB7XHJcbiAgICAvLyAgICAgaWYgKGdyb3VwLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAvLyAgICAgICB0aGlzLnRvYXN0ci5nZXRFcnJvclRvYXN0KCdQbGVhc2UgU2VsZWN0IG11bHRpcGxlIGZpbGUgdGhlbiBhZGQgdG8gR3JvdXAnKVxyXG4gICAgLy8gICAgIH0gZWxzZSB7XHJcbiAgICAvLyAgICAgICBsZXQgZHVtbXlhcnJheSA9IGdyb3VwLnNoaWZ0KClcclxuICAgIC8vICAgICAgIHZhciBncm91cGltYWdlczogYW55ID0gW11cclxuICAgIC8vICAgICAgIGdyb3VwLmZvckVhY2goKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgLy8gICAgICAgICB0aGlzLmF1ZGl0bWFwcGluZ2RhdGEuc3BsaWNlKHRoaXMuYXVkaXRtYXBwaW5nZGF0YS5maW5kSW5kZXgoKHsgaW1nX25hbWUgfTogeyBpbWdfbmFtZTogc3RyaW5nIH0pID0+IGltZ19uYW1lID09IGRhdGEuaW1nX25hbWUpLCAxKTtcclxuICAgIC8vICAgICAgICAgZ3JvdXBpbWFnZXMucHVzaChkYXRhLm1hcHBlZGlkWzBdKVxyXG4gICAgLy8gICAgICAgfSlcclxuICAgIC8vICAgICAgIGR1bW15YXJyYXkuY291bnQgPSBkdW1teWFycmF5LmNvdW50ICsgZ3JvdXBpbWFnZXMubGVuZ3RoXHJcbiAgICAvLyAgICAgICBkdW1teWFycmF5LnNlbGVjdGVkID0gZmFsc2VcclxuXHJcbiAgICAvLyAgICAgICBkdW1teWFycmF5Lm1hcHBlZGlkID0gWy4uLmR1bW15YXJyYXkubWFwcGVkaWQsIC4uLmdyb3VwaW1hZ2VzXVxyXG4gICAgLy8gICAgICAgY29uc3QganNvblN0cmluZyA9IEpTT04uc3RyaW5naWZ5KHRoaXMuYXVkaXRtYXBwaW5nZGF0YSk7XHJcbiAgICAvLyAgICAgICBjb25zdCBjb21wcmVzc2VkRGF0YSA9IExaU3RyaW5nLmNvbXByZXNzKGpzb25TdHJpbmcpO1xyXG4gICAgLy8gICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnYXVkaXQnLCBjb21wcmVzc2VkRGF0YSlcclxuICAgIC8vICAgICB9XHJcblxyXG4gICAgLy8gICAgIC8vIHRoaXMuaW5pdGlhbF9kYXRhX2xvYWRpbmcoKVxyXG4gICAgLy8gICB9IGVsc2Uge1xyXG4gICAgLy8gICAgIHRoaXMudG9hc3RyLmdldEVycm9yVG9hc3QoJ1BsZWFzZSBTZWxlY3QgZmlsZSB0aGVuIGFkZCB0byBHcm91cCcpXHJcbiAgICAvLyAgIH1cclxuICAgIC8vIH1cclxuICAgIGNvbnN0IHByZXNzZWQgPSAoZXZlbnQua2V5IHx8ICcnKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgY29uc3QgbWF0Y2hlZCA9IHRoaXMuY2F0ZWdvcnkuZmluZCgobTogYW55KSA9PiB7XHJcbiAgICAgIGlmICghbS5rZXkpIHJldHVybiBmYWxzZTtcclxuICAgICAgY29uc3QgbWFwS2V5ID0gbS5rZXkudG9Mb3dlckNhc2UoKTtcclxuICAgICAgLy8gbWF0Y2ggYnkgZXZlbnQua2V5IChwcmVmZXJyZWQpIE9SIGJ5IGV2ZW50LmNvZGUgbGlrZSAnS2V5SidcclxuICAgICAgcmV0dXJuIHByZXNzZWQgPT09IG1hcEtleSB8fCBldmVudC5jb2RlID09PSBgS2V5JHttYXBLZXkudG9VcHBlckNhc2UoKX1gO1xyXG4gICAgfSk7XHJcbiAgICBjb25zb2xlLmxvZyhtYXRjaGVkKVxyXG4gICAgaWYgKCFtYXRjaGVkKSByZXR1cm5cclxuICAgIGlmIChtYXRjaGVkKSB7XHJcbiAgICAgIHZhciBuZXdEYXRhID0gdGhpcy5hdWRpdG1hcHBpbmdkYXRhLmZpbHRlcigoZGF0YTogYW55KSA9PiBkYXRhLnNlbGVjdGVkID09PSB0cnVlKVxyXG4gICAgICBpZiAobmV3RGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdmFyIG9sZERhdGEgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0obWF0Y2hlZD8udHlwZSkgfHwgJ3t9JylcclxuICAgICAgICBpZiAoTnVtYmVyKG9sZERhdGEubGVuZ3RoKSA+IDApIHtcclxuICAgICAgICAgIG5ld0RhdGEgPSBbLi4ub2xkRGF0YSwgLi4ubmV3RGF0YV1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgbmV3RGF0YSA9IG5ld0RhdGFcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jYXRlZ29yeS5tYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGRhdGEudHlwZSA9PT0gbWF0Y2hlZD8udHlwZSkge1xyXG4gICAgICAgICAgICBkYXRhLmNvdW50ID0gbmV3RGF0YS5sZW5ndGhcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0obWF0Y2hlZD8udHlwZSwgSlNPTi5zdHJpbmdpZnkobmV3RGF0YSkpXHJcbiAgICAgICAgdGhpcy5hdWRpdG1hcHBpbmdkYXRhID0gdGhpcy5hdWRpdG1hcHBpbmdkYXRhLmZpbHRlcigoZGF0YTogYW55KSA9PiBkYXRhLnNlbGVjdGVkID09PSBmYWxzZSlcclxuICAgICAgICBjb25zdCBqc29uU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkodGhpcy5hdWRpdG1hcHBpbmdkYXRhKTtcclxuICAgICAgICBjb25zdCBjb21wcmVzc2VkRGF0YSA9IExaU3RyaW5nLmNvbXByZXNzKGpzb25TdHJpbmcpO1xyXG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ2F1ZGl0JywgY29tcHJlc3NlZERhdGEpXHJcbiAgICAgICAgdGhpcy50b2FzdHIuZ2V0U3VjY2Vzc1RvYXN0KGAke21hdGNoZWQ/LnR5cGV9IEFkZGVkIFN1Y2Nlc2Z1bGx5IWApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudG9hc3RyLmdldEVycm9yVG9hc3QoYFBsZWFzZSBTZWxlY3QgZmlsZSB0aGVuIGFkZCB0byAke21hdGNoZWQ/LnR5cGV9IGApXHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSAkYXBpOiBBdWRpdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRvYXN0cjogVG9hc3RTZXJ2aWNlLCBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgcHJpdmF0ZSB0aW1lclNlcnZpY2U6IFRpbWVyU2VydmljZSwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRUeXBlID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ3R5cGUnKVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldEF1ZGl0Q29uZmlnKClcclxuICAgIGlmICh0aGlzLnJldGFnaW1hZ2UubGVuZ3RoID09IDApIHtcclxuICAgICAgdGhpcy5zdWJtaXR2YWx1ZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hdWRpdExvYWRpbmcgPSBmYWxzZVxyXG4gICAgdGhpcy5zZXRUaW1lcigpO1xyXG4gIH1cclxuICBnZXRBdWRpdENvbmZpZygpIHtcclxuXHJcbiAgICBsZXQgZmlsZWRhdGEgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3RvdGFsZmlsZXMnKSB8fCAne30nKVxyXG4gICAgdGhpcy4kYXBpLmdldEF1ZGl0Y29uZmlnKGZpbGVkYXRhPy5maWxlZGV0YWlscz8uY2xpZW50SWQpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKHJlcy5kYXRhLmZvb3RmYWxsRGlyZWN0b3J5Q29uZmlncy50YWdnaW5nTGltaXRhdGlvbilcclxuICAgICAgICAgIHRoaXMuY2F0ZWdvcnkgPSByZXMuZGF0YS5mb290ZmFsbERpcmVjdG9yeUNvbmZpZ3MudGFnZ2luZ0xpbWl0YXRpb25cclxuICAgICAgICAgIHRoaXMuaW5pdGlhbF9kYXRhX2xvYWRpbmcoKVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG4gIHNldFRpbWVyKCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnRpbWVyU2VydmljZS5nZXRUaW1lUGFzc2VkKCkuc3Vic2NyaWJlKHRpbWUgPT4ge1xyXG4gICAgICB0aGlzLnRpbWVQYXNzZWQgPSB0aW1lO1xyXG4gICAgICB0aGlzLmZvcm1hdHRlZFRpbWUgPSB0aGlzLnRpbWVyU2VydmljZS5mb3JtYXRUaW1lKHRpbWUpO1xyXG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy50aW1lclNlcnZpY2Uuc3RhcnRUaW1lcigpO1xyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5oYW5kbGVHbG9iYWxNb3VzZUV2ZW50KTtcclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5oYW5kbGVHbG9iYWxNb3VzZUV2ZW50KTtcclxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCB0aGlzLmhhbmRsZUdsb2JhbE1vdXNlRXZlbnQpO1xyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5oYW5kbGVHbG9iYWxNb3VzZUV2ZW50KTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUdsb2JhbE1vdXNlRXZlbnQgPSAoKTogdm9pZCA9PiB7XHJcbiAgICB0aGlzLnRpbWVyU2VydmljZS5zdGFydFRpbWVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuaGFuZGxlR2xvYmFsTW91c2VFdmVudCk7XHJcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuaGFuZGxlR2xvYmFsTW91c2VFdmVudCk7XHJcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgdGhpcy5oYW5kbGVHbG9iYWxNb3VzZUV2ZW50KTtcclxuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMuaGFuZGxlR2xvYmFsTW91c2VFdmVudCk7XHJcbiAgICB0aGlzLnRpbWVyU2VydmljZS5jbGVhclRpbWVyKClcclxuXHJcbiAgfVxyXG5cclxuICBpbml0aWFsX2RhdGFfbG9hZGluZygpIHtcclxuICAgIGlmICgnYXVkaXQnIGluIHNlc3Npb25TdG9yYWdlKSB7XHJcbiAgICAgIGxldCBzdHJpbmdpZnlkYXRhID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnYXVkaXQnKSB8fCAne30nXHJcbiAgICAgIGNvbnN0IGRlY29tcHJlc3NlZERhdGEgPSBMWlN0cmluZy5kZWNvbXByZXNzKHN0cmluZ2lmeWRhdGEpO1xyXG4gICAgICB2YXIgYXVkaXRkYXRhID0gSlNPTi5wYXJzZShkZWNvbXByZXNzZWREYXRhIHx8ICd7fScpXHJcbiAgICAgIGlmIChhdWRpdGRhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMuYXVkaXRtYXBwaW5nZGF0YSA9IGF1ZGl0ZGF0YTtcclxuICAgICAgICB0aGlzLmN1c3RvbWVyY291bnQgPSB0aGlzLmF1ZGl0bWFwcGluZ2RhdGEubGVuZ3RoXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5hdWRpdG1hcHBpbmdkYXRhID0gW11cclxuICAgICAgICB0aGlzLmN1c3RvbWVyY291bnQgPSAwXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNhdGVnb3J5Lm1hcCgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgIHZhciBjb3VudCA9IEpTT04ucGFyc2Uoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShkYXRhLnR5cGUpIHx8ICd7fScpXHJcbiAgICAgIGRhdGEuY291bnQgPSBjb3VudD8ubGVuZ3RoXHJcbiAgICB9KVxyXG4gICAgaWYgKCdyZXRhZycgaW4gc2Vzc2lvblN0b3JhZ2UpIHtcclxuICAgICAgdmFyIHJldGFnZGF0YSA9IEpTT04ucGFyc2Uoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgncmV0YWcnKSB8fCAne30nKVxyXG4gICAgICBpZiAocmV0YWdkYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICB0aGlzLnJldGFnaW1hZ2UgPSByZXRhZ2RhdGE7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5yZXRhZ2ltYWdlID0gW107XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICgndG90YWxmaWxlcycgaW4gc2Vzc2lvblN0b3JhZ2UpIHtcclxuICAgICAgdmFyIGZpbGVzID0gSlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd0b3RhbGZpbGVzJykgfHwgJ3t9JylcclxuICAgICAgdGhpcy50b3RhbGZpbGUgPSBmaWxlcz8udG90YWxmaWxlc1xyXG4gICAgICB0aGlzLmZpbGVkZXRhaWxzID0gZmlsZXM/LmZpbGVkZXRhaWxzXHJcblxyXG4gICAgfVxyXG4gIH1cclxuICBnZXRtYXBwaW5nZGF0YSgpIHtcclxuICAgIHRoaXMuYXVkaXRMb2FkaW5nID0gZmFsc2VcclxuICAgIHZhciB0b3RhbGZpbGU6IGFueSA9IEpTT04ucGFyc2Uoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgndG90YWxmaWxlcycpIHx8ICd7fScpO1xyXG4gICAgdGhpcy5maWxlZGV0YWlscyA9IHRvdGFsZmlsZT8uZmlsZWRldGFpbHNcclxuXHJcbiAgICB2YXIgcGF5bG9hZDogYW55ID0ge1xyXG4gICAgICBzdG9yZUlkOiB0b3RhbGZpbGU/LmZpbGVkZXRhaWxzPy5zdG9yZUlkLFxyXG4gICAgICBmaWxlRGF0ZTogdG90YWxmaWxlPy5maWxlZGV0YWlscz8uRGF0ZSxcclxuICAgICAgYXVkaXRJZDogdG90YWxmaWxlPy5hdWRpdElkLFxyXG4gICAgICBjb3VudDogdG90YWxmaWxlPy50b3RhbGZpbGVzXHJcbiAgICB9XHJcbiAgICB0aGlzLiRhcGkuZ2V0QXVkaXRtYXBwaW5nbGlzdChwYXlsb2FkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICB0aGlzLmF1ZGl0TG9hZGluZyA9IGZhbHNlXHJcbiAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCdyZXRhZycpXHJcbiAgICAgICAgICB0aGlzLnJldGFnaW1hZ2UgPSBbXVxyXG4gICAgICAgICAgdGhpcy5jYXRlZ29yeS5tYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgZmlsdGVyRGF0YSA9IHJlcz8uZGF0YT8ucmVzdWx0Py5kcmFmdGVkRGF0YT8uZmlsdGVyKCh4OiBhbnkpID0+IHgudHlwZSA9PT0gZGF0YS50eXBlKVxyXG4gICAgICAgICAgICBkYXRhLnZhbHVlID0gZmlsdGVyRGF0YVswXT8udmFsdWUgJiYgZmlsdGVyRGF0YVswXT8udmFsdWUubGVuZ3RoID4gMCA/IGZpbHRlckRhdGFbMF0/LnZhbHVlIDogW11cclxuICAgICAgICAgICAgZGF0YS5jb3VudCA9IGRhdGE/LnZhbHVlPy5sZW5ndGhcclxuICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShkYXRhPy50eXBlLCBKU09OLnN0cmluZ2lmeShkYXRhPy52YWx1ZSAmJiBkYXRhPy52YWx1ZS5sZW5ndGggPiAwID8gZGF0YT8udmFsdWUgOiBbXSkpXHJcblxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIGxldCBjdXN0b21lckRhdGEgPSByZXM/LmRhdGE/LnJlc3VsdD8uZHJhZnRlZERhdGE/LmZpbHRlcigoeDogYW55KSA9PiB4LnR5cGUgPT09ICdjdXN0b21lcicpXHJcblxyXG4gICAgICAgICAgdGhpcy5hdWRpdG1hcHBpbmdkYXRhID0gY3VzdG9tZXJEYXRhWzBdPy52YWx1ZVxyXG4gICAgICAgICAgY29uc3QganNvblN0cmluZyA9IEpTT04uc3RyaW5naWZ5KGN1c3RvbWVyRGF0YVswXT8udmFsdWUpO1xyXG4gICAgICAgICAgY29uc3QgY29tcHJlc3NlZERhdGEgPSBMWlN0cmluZy5jb21wcmVzcyhqc29uU3RyaW5nKTtcclxuICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ2F1ZGl0JywgY29tcHJlc3NlZERhdGEpXHJcbiAgICAgICAgICB0aGlzLmluaXRpYWxfZGF0YV9sb2FkaW5nKClcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcclxuXHJcbiAgICAgIH0sXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcmV2aWV3ZGF0YSgpIHtcclxuICAgIHRoaXMuc3VibWl0dmFsdWUgPSBmYWxzZTtcclxuICAgIHZhciB0b3RhbGZpbGU6IGFueSA9IEpTT04ucGFyc2Uoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgndG90YWxmaWxlcycpIHx8ICd7fScpO1xyXG4gICAgaWYgKCdhdWRpdCcgaW4gc2Vzc2lvblN0b3JhZ2UpIHtcclxuICAgICAgbGV0IHN0cmluZ2lmeWRhdGEgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdhdWRpdCcpIHx8ICd7fSdcclxuICAgICAgY29uc3QgZGVjb21wcmVzc2VkRGF0YSA9IExaU3RyaW5nLmRlY29tcHJlc3Moc3RyaW5naWZ5ZGF0YSk7XHJcbiAgICAgIHZhciBhdWRpdGRhdGEgPSBKU09OLnBhcnNlKGRlY29tcHJlc3NlZERhdGEgfHwgJ3t9JylcclxuICAgICAgaWYgKGF1ZGl0ZGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5hdWRpdG1hcHBpbmdkYXRhID0gYXVkaXRkYXRhO1xyXG4gICAgICAgIHRoaXMuY3VzdG9tZXJjb3VudCA9IHRoaXMuYXVkaXRtYXBwaW5nZGF0YS5sZW5ndGg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICgncmV0YWcnIGluIHNlc3Npb25TdG9yYWdlKSB7XHJcbiAgICAgIHZhciByZXRhZ2RhdGEgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3JldGFnJykgfHwgJ3t9JylcclxuICAgICAgdGhpcy5yZXRhZ2ltYWdlID0gcmV0YWdkYXRhO1xyXG4gICAgICB0aGlzLmF1ZGl0bWFwcGluZ2RhdGEgPSBbLi4udGhpcy5hdWRpdG1hcHBpbmdkYXRhLCAuLi50aGlzLnJldGFnaW1hZ2VdXHJcbiAgICAgIGNvbnN0IGpzb25TdHJpbmcgPSBKU09OLnN0cmluZ2lmeSh0aGlzLmF1ZGl0bWFwcGluZ2RhdGEpO1xyXG4gICAgICBjb25zdCBjb21wcmVzc2VkRGF0YSA9IExaU3RyaW5nLmNvbXByZXNzKGpzb25TdHJpbmcpO1xyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdhdWRpdCcsIGNvbXByZXNzZWREYXRhKVxyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCdyZXRhZycpXHJcbiAgICAgIHRoaXMucmV0YWdpbWFnZSA9IFtdO1xyXG4gICAgfVxyXG4gICAgbGV0IHN0cmluZ2lmeWRhdGEgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdhdWRpdCcpIHx8ICd7fSdcclxuICAgIGNvbnN0IGRlY29tcHJlc3NlZERhdGEgPSBMWlN0cmluZy5kZWNvbXByZXNzKHN0cmluZ2lmeWRhdGEpO1xyXG4gICAgdmFyIGN1c3RvbWVyID0gSlNPTi5wYXJzZShkZWNvbXByZXNzZWREYXRhIHx8ICd7fScpXHJcbiAgICBsZXQgc3RvcmVkRGF0YSA9IFtcclxuICAgICAge1xyXG4gICAgICAgIHR5cGU6IFwiY3VzdG9tZXJcIixcclxuICAgICAgICB2YWx1ZTogY3VzdG9tZXIgPyBjdXN0b21lciA6IFtdLFxyXG4gICAgICB9XHJcbiAgICBdXHJcblxyXG4gICAgdGhpcy5jYXRlZ29yeS5tYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICBsZXQgc2Vzc2lvbnZhbHVlID0gSlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKGRhdGEudHlwZSkgfHwgJ3t9Jyk7XHJcbiAgICAgIHN0b3JlZERhdGEucHVzaCh7XHJcbiAgICAgICAgdHlwZTogZGF0YS50eXBlLFxyXG4gICAgICAgIHZhbHVlOiBzZXNzaW9udmFsdWUgJiYgc2Vzc2lvbnZhbHVlLmxlbmd0aCA+IDAgPyBzZXNzaW9udmFsdWUgOiBbXVxyXG4gICAgICB9KVxyXG4gICAgfSlcclxuICAgIGNvbnNvbGUubG9nKFwi8J+agCB+IFN0YXJ0QXVkaXRDb21wb25lbnQgfiBSZXZpZXdkYXRhIH4gc3RvcmVkRGF0YTpcIiwgc3RvcmVkRGF0YSlcclxuICAgIHZhciBpbnNlcm9iajogYW55ID0ge1xyXG5cclxuICAgICAgc3RvcmVJZDogdG90YWxmaWxlPy5maWxlZGV0YWlscz8uc3RvcmVJZCxcclxuICAgICAgYXVkaXRJZDogdG90YWxmaWxlPy5hdWRpdElkID8gdG90YWxmaWxlPy5hdWRpdElkIDogdG90YWxmaWxlPy5maWxlZGV0YWlscy5hdWRpdElkLFxyXG4gICAgICBmaWxlRGF0ZTogdG90YWxmaWxlPy5maWxlZGV0YWlscz8uRGF0ZSxcclxuICAgICAgdG90YWxDb3VudDogdG90YWxmaWxlPy50b3RhbGZpbGVzID8gdG90YWxmaWxlLnRvdGFsZmlsZXMgOiAwLFxyXG4gICAgICByZXRhZ0NvdW50OiAwLFxyXG4gICAgICB0aW1lU3BlbnQ6IHRoaXMudGltZVBhc3NlZCxcclxuICAgICAgcmV0YWdJbWFnZTogW10sXHJcbiAgICAgIGRyYWZ0ZWREYXRhOiBzdG9yZWREYXRhXHJcbiAgICB9XHJcbiAgICB0aGlzLiRhcGkuc2F2ZURyYWZ0KGluc2Vyb2JqKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgIHRoaXMuZ2V0bWFwcGluZ2RhdGEoKTtcclxuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcIi9tYW5hZ2UvdGlja2V0cy9tYXBwaW5nLWxpc3RcIixdKVxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMudG9hc3RyLmdldEVycm9yVG9hc3QoZXJyPy5lcnJvcilcclxuICAgICAgfSxcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICByZXRhZ2FsbG93RHJvcChldmVudDogYW55KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuICBkcmFnU3RhcnQoZXZlbnQ6IGFueSkge1xyXG4gICAgZXZlbnQuZGF0YVRyYW5zZmVyLnNldERhdGEoXCJ0ZXh0L3BsYWluXCIsIGV2ZW50LnRhcmdldC5pZCk7XHJcbiAgfVxyXG5cclxuICBkcm9wcmV0YWcoZXZlbnQ6IGFueSkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGNvbnN0IGRyb3ByZXRhZ2ltYWdlID0gZXZlbnQuZGF0YVRyYW5zZmVyLmdldERhdGEoJ3RleHQvcGxhaW4nKTtcclxuICAgIGV2ZW50LnRhcmdldC5hcHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChkcm9wcmV0YWdpbWFnZSkpO1xyXG4gICAgY29uc3QgZHJvcHpvbmU6IGFueSA9IGRyb3ByZXRhZ2ltYWdlO1xyXG4gICAgdGhpcy5hdWRpdG1hcHBpbmdkYXRhLm1hcCgoZGF0YTogYW55KSA9PiB7XHJcblxyXG4gICAgICBpZiAoZGF0YS5pbWdfaWQgPT0gZHJvcHpvbmUuaWQpIHtcclxuICAgICAgICBpZiAoZGF0YS5tYXBwZWRpZC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB2YXIgZmluZG9uZSA9IHRoaXMuYXVkaXRtYXBwaW5nZGF0YS5maWx0ZXIoKGRhdGE6IGFueSkgPT4gZGF0YS5pbWdfbmFtZSA9PSBkcm9wcmV0YWdpbWFnZSlcclxuICAgICAgICAgIGlmIChmaW5kb25lLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgZGF0YS5jb3VudCA9IGRhdGEuY291bnQgKyBmaW5kb25lWzBdLmNvdW50XHJcbiAgICAgICAgICAgIGRhdGEubWFwcGVkaWQgPSBbLi4uZGF0YS5tYXBwZWRpZCwgLi4uZmluZG9uZVswXS5tYXBwZWRpZF1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICgnZHVwbGljYXRlJyBpbiBzZXNzaW9uU3RvcmFnZSkge1xyXG4gICAgICAgICAgICBsZXQgZmlsZWRhdGEgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2R1cGxpY2F0ZScpIHx8ICd7fScpXHJcbiAgICAgICAgICAgIGZpbGVkYXRhID0gWy4uLmZpbGVkYXRhLCAuLi5maW5kb25lXVxyXG4gICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdkdXBsaWNhdGUnLCBKU09OLnN0cmluZ2lmeShmaWxlZGF0YSkpXHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdkdXBsaWNhdGUnLCBKU09OLnN0cmluZ2lmeShmaW5kb25lKSlcclxuICAgICAgICAgICAgbGV0IGZpbGVkYXRhID0gSlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdkdXBsaWNhdGUnKSB8fCAne30nKVxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIvCfmoAgfiBTdGFydEF1ZGl0Q29tcG9uZW50IH4gZHJvcEltYWdlIH4gZmlsZWRhdGE6XCIsIGZpbGVkYXRhKVxyXG5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuY2F0ZWdvcnkubWFwKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdmFyIGNvdW50ID0gSlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKGRhdGEudHlwZSkgfHwgJ3t9JylcclxuICAgICAgICAgICAgZGF0YS5jb3VudCA9IGNvdW50Py5sZW5ndGhcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhcIvCfmoAgfiBBdWRpdFJldGFnQ29tcG9uZW50IH4gZHJvcHJldGFnIH4gdGhpcy5jYXRlZ29yeTpcIiwgdGhpcy5jYXRlZ29yeSlcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgZGF0YS5jb3VudCA9IGRhdGEuY291bnQgKyAxLFxyXG4gICAgICAgICAgICBkYXRhLm1hcHBlZGlkLnB1c2goZHJvcHJldGFnaW1hZ2UpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0cmV0YWdpbWFnZShyZXM6IGFueSkge1xyXG4gICAgdGhpcy5yZXRhZ2ltYWdlLm1hcCgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgIGlmIChkYXRhLmltZ19pZCA9PSByZXMpIHtcclxuICAgICAgICBpZiAoZGF0YS5tYXBwZWRpZC5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgICAgZGF0YS5zZWxlY3RlZCA9ICFkYXRhLnNlbGVjdGVkXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0Z3JvdXBpbWFnZShyZXM6IGFueSkge1xyXG4gICAgdGhpcy5hdWRpdG1hcHBpbmdkYXRhLm1hcCgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgIGlmIChkYXRhLmltZ19pZCA9PSByZXMpIHtcclxuICAgICAgICBpZiAoZGF0YS5tYXBwZWRpZC5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgICAgZGF0YS5zZWxlY3RlZCA9ICFkYXRhLnNlbGVjdGVkXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlYXVkaXQoZGF0YTogYW55KSB7XHJcbiAgICBjb25zdCBtb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oUmVtb3ZlQXVkaXRDb21wb25lbnQsIHtcclxuICAgICAgc2l6ZTogJ2xnJyxcclxuICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgIGJhY2tkcm9wOiAnc3RhdGljJyxcclxuICAgICAga2V5Ym9hcmQ6IGZhbHNlXHJcbiAgICB9KVxyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UuZGF0YSA9IGRhdGE7XHJcbiAgICBtb2RhbFJlZi5jbG9zZWQuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzICYmIHJlcz8ucmVsb2FkKSB7XHJcbiAgICAgICAgdGhpcy5pbml0aWFsX2RhdGFfbG9hZGluZygpXHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gIH1cclxuICBzdWJtaXRhdWRpdCgpIHtcclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihBdWRpdFJlcG9ydFBvcHVwQ29tcG9uZW50LCB7XHJcbiAgICAgIHNpemU6ICdsZycsXHJcbiAgICAgIGNlbnRlcmVkOiB0cnVlLFxyXG4gICAgICBiYWNrZHJvcDogJ3N0YXRpYycsXHJcbiAgICAgIGtleWJvYXJkOiBmYWxzZVxyXG4gICAgfSlcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLnNlbGVjdGVkVHlwZSA9IHRoaXMuc2VsZWN0ZWRUeXBlO1xyXG4gICAgbW9kYWxSZWYuY2xvc2VkO1xyXG4gIH1cclxuXHJcblxyXG4gIHZpZXdjYXRlZ29yeShkYXRhOiBhbnkpIHtcclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihWaWV3Y2F0ZWdvcnlDb21wb25lbnQsIHtcclxuICAgICAgc2l6ZTogJ2xnJyxcclxuICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgIGJhY2tkcm9wOiAnc3RhdGljJyxcclxuICAgICAga2V5Ym9hcmQ6IGZhbHNlXHJcbiAgICB9KVxyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UuZGF0YSA9IGRhdGFcclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLmltYWdlTGlzdCA9IGRhdGEsXHJcbiAgICAgIG1vZGFsUmVmLmNsb3NlZC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXM/LnJlbG9hZCkge1xyXG4gICAgICAgICAgdGhpcy5pbml0aWFsX2RhdGFfbG9hZGluZygpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcbiAgZHJvcEltYWdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGh0bWx0YWcgPSBldmVudC5kYXRhVHJhbnNmZXIuZ2V0RGF0YSgndGV4dC9odG1sJyk7XHJcbiAgICB2YXIgTmFtZSA9IGdldFRhZ05hbWVGcm9tSFRNTChodG1sdGFnKTtcclxuICAgIGNvbnN0IGRyb3Bab25lID0gZXZlbnQudGFyZ2V0O1xyXG4gICAgY29uc29sZS5sb2coTmFtZSlcclxuICAgIGlmIChOYW1lID09ICdjdXN0b21lcicgfHwgTmFtZSA9PSAncmV0YWcnKSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGNvbnN0IGRyYWdnZWRJbWFnZUlkID0gZXZlbnQuZGF0YVRyYW5zZmVyLmdldERhdGEoJ3RleHQvcGxhaW4nKTtcclxuICAgICAgY29uc3QgZHJhZ2dlZEltYWdlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZHJhZ2dlZEltYWdlSWQpO1xyXG4gICAgICBldmVudC50YXJnZXQuYXBwZW5kQ2hpbGQoZHJhZ2dlZEltYWdlKTtcclxuICAgICAgdGhpcy5hdWRpdG1hcHBpbmdkYXRhLm1hcCgoZGF0YTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcblxyXG4gICAgICAgIGlmIChkYXRhLmltZ19pZCA9PT0gZHJvcFpvbmUuaWQpIHtcclxuICAgICAgICAgIGxldCBmaW5kb25lID0gW107XHJcbiAgICAgICAgICBjb25zdCByZXRhZ2RhdGEgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3JldGFnJykgfHwgJ1tdJyk7XHJcbiAgICAgICAgICB0aGlzLnJldGFnaW1hZ2UgPSByZXRhZ2RhdGE7XHJcbiAgICAgICAgICBmaW5kb25lID0gdGhpcy5yZXRhZ2ltYWdlLmZpbHRlcigoaW1nRGF0YTogYW55KSA9PiBpbWdEYXRhLmltZ19pZCA9PT0gZHJhZ2dlZEltYWdlSWQpO1xyXG4gICAgICAgICAgaWYgKGZpbmRvbmUubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIGZpbmRvbmUgPSB0aGlzLmF1ZGl0bWFwcGluZ2RhdGEuZmlsdGVyKChpbWdEYXRhOiBhbnkpID0+IGltZ0RhdGEuaW1nX2lkID09PSBkcmFnZ2VkSW1hZ2VJZCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgdGhpcy5yZXRhZ2ltYWdlID0gdGhpcy5yZXRhZ2ltYWdlLmZpbHRlcigoaW1nRGF0YTogYW55KSA9PiBpbWdEYXRhLmltZ19pZCAhPT0gZHJhZ2dlZEltYWdlSWQpO1xyXG4gICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgncmV0YWcnLCBKU09OLnN0cmluZ2lmeSh0aGlzLnJldGFnaW1hZ2UpKTtcclxuXHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhcIvCfmoAgfiBBdWRpdFJldGFnQ29tcG9uZW50IH4gZHJvcEltYWdlIH4gZmluZG9uZTpcIiwgZmluZG9uZSlcclxuICAgICAgICAgIGlmIChmaW5kb25lLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgZGF0YS5jb3VudCArPSBmaW5kb25lWzBdLmNvdW50O1xyXG4gICAgICAgICAgICBkYXRhLm1hcHBlZGlkID0gWy4uLmRhdGEubWFwcGVkaWQsIC4uLmZpbmRvbmVbMF0ubWFwcGVkaWRdO1xyXG4gICAgICAgICAgICBpZiAoJ2R1cGxpY2F0ZScgaW4gc2Vzc2lvblN0b3JhZ2UpIHtcclxuICAgICAgICAgICAgICBsZXQgZmlsZWRhdGEgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2R1cGxpY2F0ZScpIHx8ICd7fScpXHJcbiAgICAgICAgICAgICAgZmlsZWRhdGEgPSBbLi4uZmlsZWRhdGEsIC4uLmZpbmRvbmVdXHJcbiAgICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnZHVwbGljYXRlJywgSlNPTi5zdHJpbmdpZnkoZmlsZWRhdGEpKVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ2R1cGxpY2F0ZScsIEpTT04uc3RyaW5naWZ5KGZpbmRvbmUpKVxyXG4gICAgICAgICAgICAgIGxldCBmaWxlZGF0YSA9IEpTT04ucGFyc2Uoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnZHVwbGljYXRlJykgfHwgJ3t9JylcclxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIvCfmoAgfiBTdGFydEF1ZGl0Q29tcG9uZW50IH4gZHJvcEltYWdlIH4gZmlsZWRhdGE6XCIsIGZpbGVkYXRhKVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZGF0YS5jb3VudCArPSAxO1xyXG4gICAgICAgICAgICBkYXRhLm1hcHBlZGlkLnB1c2goZHJhZ2dlZEltYWdlSWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICAgaWYgKE5hbWUgPT0gJ2N1c3RvbWVyJykge1xyXG4gICAgICAgIHRoaXMuYXVkaXRtYXBwaW5nZGF0YS5zcGxpY2UodGhpcy5hdWRpdG1hcHBpbmdkYXRhLmZpbmRJbmRleCgoeyBpbWdfaWQgfTogeyBpbWdfaWQ6IHN0cmluZyB9KSA9PiBpbWdfaWQgPT0gZHJhZ2dlZEltYWdlSWQpLCAxKTtcclxuICAgICAgICB0aGlzLmF1ZGl0bWFwcGluZ2RhdGEubWFwKChkYXRhOiBhbnkpID0+IGRhdGEuc2VsZWN0ZWQgPSBmYWxzZSlcclxuICAgICAgfVxyXG5cclxuXHJcbiAgICAgIHRoaXMuY3VzdG9tZXJjb3VudCA9IHRoaXMuYXVkaXRtYXBwaW5nZGF0YT8ubGVuZ3RoO1xyXG4gICAgICBjb25zdCBqc29uU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkodGhpcy5hdWRpdG1hcHBpbmdkYXRhKTtcclxuICAgICAgY29uc3QgY29tcHJlc3NlZERhdGEgPSBMWlN0cmluZy5jb21wcmVzcyhqc29uU3RyaW5nKTtcclxuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnYXVkaXQnLCBjb21wcmVzc2VkRGF0YSlcclxuICAgICAgdmFyIHJldGFnZGF0YSA9IEpTT04ucGFyc2Uoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgncmV0YWcnKSB8fCAne30nKVxyXG4gICAgICB0aGlzLnJldGFnaW1hZ2UgPSByZXRhZ2RhdGE7XHJcbiAgICAgIGlmICh0aGlzLnJldGFnaW1hZ2UubGVuZ3RoID09IDApIHtcclxuICAgICAgICB0aGlzLnN1Ym1pdHZhbHVlID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jYXRlZ29yeS5tYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIHZhciBjb3VudCA9IEpTT04ucGFyc2Uoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShkYXRhLnR5cGUpIHx8ICd7fScpXHJcbiAgICAgICAgZGF0YS5jb3VudCA9IGNvdW50Py5sZW5ndGhcclxuICAgICAgfSlcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIGZ1bmN0aW9uIGdldFRhZ05hbWVGcm9tSFRNTChodG1sOiBhbnkpIHtcclxuICAgICAgdmFyIHRlbXBFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgIHRlbXBFbGVtZW50LmlubmVySFRNTCA9IGh0bWw7XHJcbiAgICAgIHZhciBmaXJzdENoaWxkOiBhbnkgPSB0ZW1wRWxlbWVudC5maXJzdENoaWxkO1xyXG4gICAgICBpZiAoZmlyc3RDaGlsZC5oYXNBdHRyaWJ1dGUoJ25hbWUnKSkge1xyXG4gICAgICAgIHZhciBuYW1lUHJvcGVydHlWYWx1ZSA9IGZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCduYW1lJyk7XHJcbiAgICAgICAgcmV0dXJuIG5hbWVQcm9wZXJ0eVZhbHVlO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRpdGxlXCI+XHJcbiAgICAgICAgICAgIDxoMyBjbGFzcz1cImZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7ZmlsZWRldGFpbHM/LnN0b3JlSWR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm14LTMgYXJyb3ctY29kZVwiPiAtIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e2ZpbGVkZXRhaWxzPy5EYXRlfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdW5kZWQtMyBtcy0zIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgYmctdGltZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWUtMyB0ZXh0LXRpbWVyIGZ3LXNlbWlib2xkXCI+e3sgZm9ybWF0dGVkVGltZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk05LjE2NjY3IDIuODcwNzFDOS4xNjY2NyAyLjYyMDIzIDkuMjY2MTcgMi4zODAwMSA5LjQ0MzI5IDIuMjAyODlDOS42MjA0MSAyLjAyNTc3IDkuODYwNjMgMS45MjYyNyAxMC4xMTExIDEuOTI2MjdIMTMuODg4OUMxNC4xMzk0IDEuOTI2MjcgMTQuMzc5NiAyLjAyNTc3IDE0LjU1NjcgMi4yMDI4OUMxNC43MzM4IDIuMzgwMDEgMTQuODMzMyAyLjYyMDIzIDE0LjgzMzMgMi44NzA3MUMxNC44MzMzIDMuMTIxMiAxNC43MzM4IDMuMzYxNDIgMTQuNTU2NyAzLjUzODU0QzE0LjM3OTYgMy43MTU2NSAxNC4xMzk0IDMuODE1MTYgMTMuODg4OSAzLjgxNTE2SDEyLjk0NDRWNS4wNzQ0MkwxMi45NDMyIDUuMTI2MDVDMTQuNTM5NiA1LjMwMDk3IDE2LjA1MjggNS45Mjc4NyAxNy4zMDUzIDYuOTMzMDhMMTcuMzE0MSA2LjkyNTUzTDE4LjI1ODUgNS45ODEwOEMxOC4zNzQgNS44NTY3NiAxOC41MjA4IDUuNzY1ODggMTguNjgzNSA1LjcxODAxQzE4Ljg0NjMgNS42NzAxNCAxOS4wMTkgNS42NjcwNiAxOS4xODMzIDUuNzA5MDhDMTkuMzQ3NyA1Ljc1MTExIDE5LjQ5NzcgNS44MzY2OSAxOS42MTc1IDUuOTU2OEMxOS43MzczIDYuMDc2OTIgMTkuODIyNSA2LjIyNzEzIDE5Ljg2NDEgNi4zOTE2QzE5LjkwNiA2LjU1NTc4IDE5LjkwMyA2LjcyODIzIDE5Ljg1NTQgNi44OTA4NUMxOS44MDc3IDcuMDUzNDggMTkuNzE3MiA3LjIwMDI5IDE5LjU5MzMgNy4zMTU5TDE4LjY0ODkgOC4yNjAzNEwxOC42NDEzIDguMjY5MTVDMTkuNjQwMyA5LjUxOTc0IDIwLjI2NTggMTEuMDI3IDIwLjQ0NiAxMi42MTc0QzIwLjYyNjEgMTQuMjA3OCAyMC4zNTM2IDE1LjgxNjcgMTkuNjU5NyAxNy4yNTkxQzE4Ljk2NTggMTguNzAxNCAxNy44Nzg4IDE5LjkxODUgMTYuNTIzNyAyMC43NzA0QzE1LjE2ODYgMjEuNjIyMiAxMy42MDA2IDIyLjA3NDEgMTIgMjIuMDc0MUMxMC4zOTk0IDIyLjA3NDEgOC44MzEzNyAyMS42MjIyIDcuNDc2MjkgMjAuNzcwNEM2LjEyMTIyIDE5LjkxODUgNS4wMzQxOSAxOC43MDE0IDQuMzQwMyAxNy4yNTkxQzMuNjQ2NDEgMTUuODE2NyAzLjM3Mzg2IDE0LjIwNzggMy41NTQwMiAxMi42MTc0QzMuNzM0MTggMTEuMDI3IDQuMzU5NzMgOS41MTk3NCA1LjM1ODY3IDguMjY5MTVMNS4zNTExMSA4LjI2MDM0TDQuNDA2NjcgNy4zMTU5QzQuMjM5NjQgNy4xMzY5IDQuMTQ4NjUgNi45MDAwMyA0LjE1Mjg3IDYuNjU1MjRDNC4xNTcxIDYuNDEwNDUgNC4yNTYyMiA2LjE3Njg3IDQuNDI5MzQgNi4wMDM3NUM0LjYwMjQ2IDUuODMwNjMgNC44MzYwNCA1LjczMTUxIDUuMDgwODMgNS43MjcyOEM1LjMyNTYyIDUuNzIzMDYgNS41NjI0OSA1LjgxNDA1IDUuNzQxNDkgNS45ODEwOEw2LjY4NTkzIDYuOTI1NTNMNi42OTQ3NCA2LjkzMzA4QzcuOTQ2ODEgNS45MjgwOSA5LjQ1OTYzIDUuMzAxMiAxMS4wNTU2IDUuMTI2MDVWMy44MTUxNkgxMC4xMTExQzkuODYwNjMgMy44MTUxNiA5LjYyMDQxIDMuNzE1NjUgOS40NDMyOSAzLjUzODU0QzkuMjY2MTcgMy4zNjE0MiA5LjE2NjY3IDMuMTIxMiA5LjE2NjY3IDIuODcwNzFaTTEyIDIwLjE4NTVDMTMuNzUzNSAyMC4xODU0IDE1LjQzNTIgMTkuNDg4NiAxNi42NzUgMTguMjQ4NUMxNy45MTQ4IDE3LjAwODUgMTguNjExMyAxNS4zMjY3IDE4LjYxMTEgMTMuNTczMkMxOC42MTA5IDExLjgxOTYgMTcuOTE0MiAxMC4xMzggMTYuNjc0MSA4Ljg5ODEzQzE1LjQzNDEgNy42NTgzMSAxMy43NTIzIDYuOTYxODggMTEuOTk4NyA2Ljk2MjA0QzEwLjI0NTIgNi45NjIyMSA4LjU2MzU0IDcuNjU4OTYgNy4zMjM3MiA4Ljg5OTAyQzYuMDgzOSAxMC4xMzkxIDUuMzg3NDcgMTEuODIwOSA1LjM4NzYzIDEzLjU3NDRDNS4zODc4IDE1LjMyOCA2LjA4NDU1IDE3LjAwOTYgNy4zMjQ2MSAxOC4yNDk0QzguNTY0NjcgMTkuNDg5MyAxMC4yNDY1IDIwLjE4NTcgMTIgMjAuMTg1NVpNMTIuNDg5OSAxMS43NDg1TDE0LjE2NDcgMTAuMDczN0MxNC4yNTE3IDkuOTgzNDMgMTQuMzU1OSA5LjkxMTQzIDE0LjQ3MTEgOS44NjE4OEMxNC41ODYzIDkuODEyMzMgMTQuNzEwMiA5Ljc4NjIyIDE0LjgzNTYgOS43ODUwN0MxNC45NjExIDkuNzgzOTIgMTUuMDg1NCA5LjgwNzc2IDE1LjIwMTUgOS44NTUxOUMxNS4zMTc2IDkuOTAyNjIgMTUuNDIzMSA5Ljk3MjcgMTUuNTExOCAxMC4wNjEzQzE1LjYwMDUgMTAuMTUgMTUuNjcwNyAxMC4yNTU0IDE1LjcxODIgMTAuMzcxNEMxNS43NjU4IDEwLjQ4NzUgMTUuNzg5NyAxMC42MTE4IDE1Ljc4ODcgMTAuNzM3MkMxNS43ODc3IDEwLjg2MjYgMTUuNzYxNyAxMC45ODY2IDE1LjcxMjIgMTEuMTAxOEMxNS42NjI4IDExLjIxNzEgMTUuNTkwOSAxMS4zMjEzIDE1LjUwMDcgMTEuNDA4NUwxMy44MjU5IDEzLjA4NDZDMTMuOTAwMyAxMy4zNjQ1IDEzLjkwOTUgMTMuNjU3OSAxMy44NTI2IDEzLjk0MkMxMy43OTU4IDE0LjIyNiAxMy42NzQ1IDE0LjQ5MzMgMTMuNDk4MSAxNC43MjMxQzEzLjMyMTcgMTQuOTUyOSAxMy4wOTQ5IDE1LjEzOTEgMTIuODM1MiAxNS4yNjc1QzEyLjU3NTQgMTUuMzk1OCAxMi4yODk3IDE1LjQ2MjggMTIgMTUuNDYzM0MxMS43MzI3IDE1LjQ2MSAxMS40Njg4IDE1LjQwMTkgMTEuMjI2IDE1LjI5QzEwLjk4MzIgMTUuMTc4MSAxMC43NjcgMTUuMDE1OSAxMC41OTE2IDE0LjgxNDFDMTAuNDE2MiAxNC42MTIzIDEwLjI4NTcgMTQuMzc1NSAxMC4yMDg3IDE0LjExOTVDMTAuMTMxNiAxMy44NjM1IDEwLjEwOTkgMTMuNTk0IDEwLjE0NDggMTMuMzI5QzEwLjE3OTggMTMuMDYzOSAxMC4yNzA2IDEyLjgwOTMgMTAuNDExNCAxMi41ODJDMTAuNTUyMiAxMi4zNTQ3IDEwLjczOTYgMTIuMTU5OSAxMC45NjEzIDEyLjAxMDRDMTEuMTgzIDExLjg2MSAxMS40MzM5IDExLjc2MDQgMTEuNjk3NCAxMS43MTUyQzExLjk2MDkgMTEuNjcwMSAxMi4yMzEgMTEuNjgxNCAxMi40ODk5IDExLjc0ODVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJibGFja1wiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImJ0biBidG4tc20gYnRuLWRlZmF1bHQgYnRuLW91dGxpbmUgcHktMiBteC0yXCIgKGNsaWNrKT1cInJldmlld2RhdGEoKVwiPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLXByaW1hcnkgc3ZnLWljb24tMnhcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTUuODMzNyAxMC4wMDAxSDQuMTY2OTlNNC4xNjY5OSAxMC4wMDAxTDEwLjAwMDMgMTUuODMzNE00LjE2Njk5IDEwLjAwMDFMMTAuMDAwMyA0LjE2Njc1XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPjxzcGFuIGNsYXNzPVwibXMtM1wiPkJhY2sgdG8gUmV2aWV3PC9zcGFuPjwvYT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXByaW1hcnkgcHktMiBteC0yXCIgW2Rpc2FibGVkXT1cInN1Ym1pdHZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInN1Ym1pdGF1ZGl0KClcIj5TdWJtaXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi1wcmltYXJ5IHN2Zy1pY29uLTJ4XCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTQuMTY2OTkgMTAuMDAwMUgxNS44MzM3TTE1LjgzMzcgMTAuMDAwMUwxMC4wMDAzIDQuMTY2NzVNMTUuODMzNyAxMC4wMDAxTDEwLjAwMDMgMTUuODMzNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LXJvd1wiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgdGV4dC1kYXJrXCI+VG90YWwgRmlsZXMgLSA8c3Bhbj57e3RvdGFsZmlsZX19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgXHJcbiAgICAgICAgPC9oMz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyIFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtZS0zIHRleHQgZnctc2VtaWJvbGRcIj5VbmlxdWUgQ3VzdG9tZXJzIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIiBiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5XCI+e3thdWRpdG1hcHBpbmdkYXRhPy5sZW5ndGggPyBhdWRpdG1hcHBpbmdkYXRhPy5sZW5ndGggOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgMH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjYXRlZ29yeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgdGV4dCB3LXNlbWlib2xkIGJ0bi1zbSBweS0yIGJ1dG4tZmxhZyBteC0yXCIgKGNsaWNrKT1cInZpZXdjYXRlZ29yeShpdGVtKVwiIFtkaXNhYmxlZF09XCIhaXRlbT8uY291bnRcIj5WaWV3XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7aXRlbT8ubmFtZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiIGJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnlcIj57e2l0ZW0/LmNvdW50fX08L3NwYW4+IDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiYXVkaXRMb2FkaW5nXCIgY2xhc3M9XCJjYXJkIG10LTVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGgtNTAwcHhcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0gPGg1IGNsYXNzPVwidGV4dC1kYXJrLTYwMCBmdy1ib2xkIHRleHQtY2VudGVyIG10LTVcIj5Mb2FkaW5nIEF1ZGl0IGZpbGUuLi4uLi48L2g1PiAtLT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cIiFhdWRpdExvYWRpbmdcIiBjbGFzcz1cImNvbC1tZC01XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgbXQtNVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGgtMTAwMHB4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1sYWJlbCBmdy1ib2xkXCI+SW1hZ2VzIGZvciBSZXRhZ2dpbmc8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXN1YiBtdC0yIGZ3LXNlbWlib2xkXCI+RHJhZyBhbmQgRHJvcCBvbiBjb3JyZWN0IGN1c3RvbWVyczwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1cIiAqbmdGb3I9XCJsZXQgb2JqMSBvZiByZXRhZ2ltYWdlXCIgKGRyYWdvdmVyKT1cInJldGFnYWxsb3dEcm9wKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIGRyYWdnYWJsZT1cInRydWVcIiAoZHJhZ3N0YXJ0KT1cImRyYWdTdGFydCgkZXZlbnQpXCIgaWQ9XCJ7e29iajEuaW1nX2lkfX1cIiBbc3JjXT1cIm9iajEuaW1nX3BhdGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm15LTMgbXgtNCBpbWctcmV0XCIgKGNsaWNrKT1cInNlbGVjdHJldGFnaW1hZ2Uob2JqMS5pbWdfaWQpXCIgbmFtZT1cInJldGFnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG0tMCBmcy03IGZ3LWJvbGRcIj57e29iajEuaW1nX25hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwib2JqMS5zZWxlY3RlZFwiIGNsYXNzPVwibm90aWZ5LWJhZGdlMSBud2JnXCI+PGkgY2xhc3M9XCJmYSBmYS1jaGVjayBjb2xvcnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHN0eWxlPVwiZm9udC1zaXplOjE1cHg7Y29sb3I6IzAwQTNGRlwiPjwvaT48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJub3RpZnktYmFkZ2UgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwicmVtb3ZlYXVkaXQob2JqMSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm9iajEuY291bnQ+MVwiPnt7b2JqMS5jb3VudH19PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cIiFhdWRpdExvYWRpbmdcIiBjbGFzcz1cImNvbC1tZC03XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQgbXQtNVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGgtMTAwMHB4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1sYWJlbCBmdy1ib2xkXCI+VW5pcXVlIEN1c3RvbWVycyA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWxcIj57e2F1ZGl0bWFwcGluZ2RhdGE/Lmxlbmd0aCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGl0bWFwcGluZ2RhdGE/Lmxlbmd0aCA6IDB9fTwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtXCIgKm5nRm9yPVwibGV0IG9iaiBvZiBhdWRpdG1hcHBpbmdkYXRhO2xldCBpPWluZGV4XCIgc3R5bGU9XCJwYWRkaW5nOiAxMHB4O1wiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwibXgtMyBtYi01IGltZ1wiIFtzcmNdPVwib2JqLmltZ19wYXRoXCIgaWQ9XCJ7e29iai5pbWdfaWR9fVwiIGFsdD1cIkltYWdlXCIgbmFtZT1cImN1c3RvbWVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGRyYWdvdmVyKT1cInJldGFnYWxsb3dEcm9wKCRldmVudClcIiAoZHJvcCk9XCJkcm9wSW1hZ2UoJGV2ZW50KVwiIGRyYWdnYWJsZT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoZHJhZ3N0YXJ0KT1cImRyYWdTdGFydCgkZXZlbnQpXCIgKGNsaWNrKT1cInNlbGVjdGdyb3VwaW1hZ2Uob2JqLmltZ19pZCApXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG0tMCBmcy03IGZ3LWJvbGRcIj57e29iai5pbWdfbmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJvYmouc2VsZWN0ZWRcIiBjbGFzcz1cIm5vdGlmeS1iYWRnZTFcIj48aSBjbGFzcz1cImZhIGZhLWNoZWNrXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiZm9udC1zaXplOjE1cHg7Y29sb3I6IzAwQTNGRlwiPjwvaT48L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibm90aWZ5LWJhZGdlIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInJlbW92ZWF1ZGl0KG9iailcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm9iai5jb3VudD4xXCI+e3tvYmouY291bnR9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuXHJcbjwvZGl2PiJdfQ==
|
|
@@ -54,10 +54,11 @@ export class RemoveAuditComponent {
|
|
|
54
54
|
const compressedData = LZString.compress(jsonString);
|
|
55
55
|
sessionStorage.setItem('audit', compressedData);
|
|
56
56
|
}
|
|
57
|
-
console.log(this.maindata);
|
|
57
|
+
console.log(this.maindata, framedobj);
|
|
58
58
|
if ('duplicate' in sessionStorage) {
|
|
59
59
|
let filedata = JSON.parse(sessionStorage.getItem('duplicate') || '{}');
|
|
60
|
-
|
|
60
|
+
console.log("🚀 ~ RemoveAuditComponent ~ removeimage ~ filedata:", filedata);
|
|
61
|
+
let filterData = filedata.filter((x) => x.img_name != framedobj.img_name);
|
|
61
62
|
console.log(filterData);
|
|
62
63
|
sessionStorage.setItem('duplicate', JSON.stringify(filterData));
|
|
63
64
|
}
|
|
@@ -77,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
77
78
|
}], ctorParameters: () => [{ type: i1.NgbModal }, { type: i1.NgbActiveModal }], propDecorators: { data: [{
|
|
78
79
|
type: Input
|
|
79
80
|
}] } });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWF1ZGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS10aWNrZXRzL3NyYy9saWIvY29tcG9uZW50cy9yZW1vdmUtYXVkaXQvcmVtb3ZlLWF1ZGl0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS10aWNrZXRzL3NyYy9saWIvY29tcG9uZW50cy9yZW1vdmUtYXVkaXQvcmVtb3ZlLWF1ZGl0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sS0FBSyxRQUFRLE1BQU0sV0FBVyxDQUFDOzs7O0FBT3RDLE1BQU0sT0FBTyxvQkFBb0I7SUFNWDtJQUErQjtJQUpuRCxTQUFTLEdBQVEsRUFBRSxDQUFBO0lBQ25CLFFBQVEsQ0FBTTtJQUNMLElBQUksQ0FBTTtJQUVuQixZQUFvQixZQUFzQixFQUFTLFdBQTJCO1FBQTFELGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBQVMsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO0lBQzlFLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFBO1lBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUE7U0FDcEM7SUFDSCxDQUFDO0lBQ0QsV0FBVyxDQUFDLElBQVM7UUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBd0IsRUFBRSxFQUFFLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMs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UUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQzlFLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDdkIsY0FBYyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFBO1NBQ2hFO1FBR0QsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUMxQztJQUNILENBQUM7SUFDRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO3dHQWxFVSxvQkFBb0I7NEZBQXBCLG9CQUFvQixrRkNUakMsK2tFQXFDTTs7NEZENUJPLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxrQkFBa0I7MEdBUW5CLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ2JNb2RhbCwgTmdiQWN0aXZlTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCAqIGFzIExaU3RyaW5nIGZyb20gJ2x6LXN0cmluZyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1yZW1vdmUtYXVkaXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yZW1vdmUtYXVkaXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9yZW1vdmUtYXVkaXQuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZW1vdmVBdWRpdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGltYWdlbGlzdDogYW55ID0gW11cclxuICBtYWluZGF0YTogYW55O1xyXG4gIEBJbnB1dCgpIGRhdGE6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLCBwdWJsaWMgYWN0aXZlTW9kYWw6IE5nYkFjdGl2ZU1vZGFsKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRhdGEpIHtcclxuICAgICAgdGhpcy5tYWluZGF0YSA9IHRoaXMuZGF0YVxyXG4gICAgICB0aGlzLmltYWdlbGlzdCA9IHRoaXMuZGF0YS5tYXBwZWRpZFxyXG4gICAgfVxyXG4gIH1cclxuICByZW1vdmVpbWFnZShkYXRhOiBhbnkpIHtcclxuICAgIHRoaXMuaW1hZ2VsaXN0LnNwbGljZSh0aGlzLmltYWdlbGlzdC5maW5kSW5kZXgoKHsgaW1nX25hbWUgfTogeyBpbWdfbmFtZTogc3RyaW5nIH0pID0+IGltZ19uYW1lID09IGRhdGEuaW1nX25hbWUpLCAxKTtcclxuICAgIHRoaXMubWFpbmRhdGEubWFwcGVkaWQgPSB0aGlzLmltYWdlbGlzdFxyXG4gICAgdGhpcy5tYWluZGF0YS5jb3VudCA9IHRoaXMubWFpbmRhdGEuY291bnQgLSAxXHJcbiAgICB2YXIgZnJhbWVkb2JqOiBhbnkgPSB7fVxyXG4gICAgZnJhbWVkb2JqLmltZ19uYW1lID0gZGF0YS5pbWdfbmFtZVxyXG4gICAgZnJhbWVkb2JqLmltZ19pZCA9IGRhdGEuaW1nX2lkXHJcbiAgICBmcmFtZWRvYmouaW1nX3BhdGggPSBkYXRhLmltZ19wYXRoXHJcbiAgICBmcmFtZWRvYmoubWFwcGVkaWQgPSBbe1xyXG4gICAgICBpbWdfbmFtZTogZGF0YS5pbWdfbmFtZSxcclxuICAgICAgaW1nX2lkOiBkYXRhLmltZ19pZCxcclxuICAgICAgaW1nX3BhdGg6IGRhdGEuaW1nX3BhdGhcclxuICAgIH1dXHJcbiAgICBmcmFtZWRvYmouY291bnQgPSAxXHJcbiAgICBmcmFtZWRvYmouc2VsZWN0ZWQgPSBmYWxzZVxyXG4gICAgZnJhbWVkb2JqLmRlbW9ncmFwaGljID0gXCJcIlxyXG4gICAgZnJhbWVkb2JqLmRyb3BwZWQgPSBmYWxzZVxyXG4gICAgbGV0IHN0cmluZ2lmeWRhdGEgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdhdWRpdCcpIHx8ICd7fSdcclxuICAgIGNvbnN0IGRlY29tcHJlc3NlZERhdGEgPSBMWlN0cmluZy5kZWNvbXByZXNzKHN0cmluZ2lmeWRhdGEpO1xyXG4gICAgdmFyIGN1c3RvbWVyID0gSlNPTi5wYXJzZShkZWNvbXByZXNzZWREYXRhIHx8ICd7fScpXHJcbiAgICB2YXIgZm91bmRJbmRleCA9IGN1c3RvbWVyLmZpbmRJbmRleCgoeDogYW55KSA9PiB4LmltZ19pZCA9PSB0aGlzLm1haW5kYXRhLmltZ19pZCk7XHJcbiAgICBpZiAoZm91bmRJbmRleCA9PSAtMSkge1xyXG4gICAgICB2YXIgcmV0YWcgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3JldGFnJykgfHwgJ3t9JylcclxuICAgICAgdmFyIG5ld2luZGV4ID0gcmV0YWcuZmluZEluZGV4KCh4OiBhbnkpID0+IHguaW1nX2lkID09IHRoaXMubWFpbmRhdGEuaW1nX2lkKTtcclxuICAgICAgcmV0YWdbbmV3aW5kZXhdID0gdGhpcy5tYWluZGF0YTtcclxuICAgICAgcmV0YWcucHVzaChmcmFtZWRvYmopXHJcbiAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ3JldGFnJywgSlNPTi5zdHJpbmdpZnkocmV0YWcpKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY3VzdG9tZXJbZm91bmRJbmRleF0gPSB0aGlzLm1haW5kYXRhO1xyXG4gICAgICBjdXN0b21lci5wdXNoKGZyYW1lZG9iailcclxuICAgICAgY29uc3QganNvblN0cmluZyA9IEpTT04uc3RyaW5naWZ5KGN1c3RvbWVyKTtcclxuICAgICAgY29uc3QgY29tcHJlc3NlZERhdGEgPSBMWlN0cmluZy5jb21wcmVzcyhqc29uU3RyaW5nKTtcclxuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnYXVkaXQnLCBjb21wcmVzc2VkRGF0YSlcclxuICAgIH1cclxuXHJcblxyXG4gICAgY29uc29sZS5sb2codGhpcy5tYWluZGF0YSlcclxuICAgIGlmICgnZHVwbGljYXRlJyBpbiBzZXNzaW9uU3RvcmFnZSkge1xyXG4gICAgICBsZXQgZmlsZWRhdGEgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2R1cGxpY2F0ZScpIHx8ICd7fScpXHJcbiAgICAgIGxldCBmaWx0ZXJEYXRhID0gZmlsZWRhdGEuZmlsdGVyKCh4OiBhbnkpID0+IHguaW1nX2lkID09IHRoaXMubWFpbmRhdGEuaW1nX2lkKVxyXG4gICAgICBjb25zb2xlLmxvZyhmaWx0ZXJEYXRhKVxyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdkdXBsaWNhdGUnLCBKU09OLnN0cmluZ2lmeShmaWx0ZXJEYXRhKSlcclxuICAgIH1cclxuXHJcblxyXG4gICAgaWYgKHRoaXMuaW1hZ2VsaXN0Lmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlTW9kYWwuY2xvc2UoeyByZWxvYWQ6IHRydWUgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNsb3NlcG9wdXAoKSB7XHJcbiAgICB0aGlzLmFjdGl2ZU1vZGFsLmNsb3NlKHsgcmVsb2FkOiB0cnVlIH0pO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgbXQtNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIiBkLWZsZXhcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctMTAwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnMtMiB0ZXh0LWRhcmsgZnctYm9sZGVyIG15LTMgbXgtN1wiPiA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgZnctYm9sZCB0ZXh0LWRhcmtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICB7e21haW5kYXRhPy5kZXRlY3Rpb25UeXBlID8gbWFpbmRhdGE/LmRldGVjdGlvblR5cGUgOiAnQ3VzdG9tZXInIH19IEZpbGVzIC1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7bWFpbmRhdGE/LmNvdW50fX08L3NwYW4+PC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1pY29uIGJ0bi1hY3RpdmUtY29sb3ItcHJpbWFyeSBtZS01XCIgKGNsaWNrKT1cImNsb3NlcG9wdXAoKVwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMVwiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHJlY3Qgb3BhY2l0eT1cIjAuNVwiIHg9XCI2XCIgeT1cIjE3LjMxMzdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMlwiIHJ4PVwiMVwiIHRyYW5zZm9ybT1cInJvdGF0ZSgtNDUgNiAxNy4zMTM3KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJibGFja1wiPjwvcmVjdD5cclxuICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiNy40MTQyMlwiIHk9XCI2XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjJcIiByeD1cIjFcIiB0cmFuc2Zvcm09XCJyb3RhdGUoNDUgNy40MTQyMiA2KVwiIGZpbGw9XCJibGFja1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvcmVjdD5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG14LTNcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMiBpdGVtIHNjcm9sbC15XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGltYWdlbGlzdDtsZXQgaT1pbmRleFwiIHN0eWxlPVwicGFkZGluZzogMTBweDtcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cIm14LTMgbWItMyBpbWdcIiBbc3JjXT1cIml0ZW0uaW1nX3BhdGhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbS0wIGZzLTcgZnctYm9sZFwiPnt7aXRlbS5pbWdfbmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpXCIgY2xhc3M9XCJub3RpZnktYmFkZ2UxIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInJlbW92ZWltYWdlKGl0ZW0pXCI+PGkgY2xhc3M9XCJmYSBmYS1jbG9zZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cImZvbnQtc2l6ZToxNXB4O2NvbG9yOiMwMEEzRkZcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWF1ZGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS10aWNrZXRzL3NyYy9saWIvY29tcG9uZW50cy9yZW1vdmUtYXVkaXQvcmVtb3ZlLWF1ZGl0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS10aWNrZXRzL3NyYy9saWIvY29tcG9uZW50cy9yZW1vdmUtYXVkaXQvcmVtb3ZlLWF1ZGl0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sS0FBSyxRQUFRLE1BQU0sV0FBVyxDQUFDOzs7O0FBT3RDLE1BQU0sT0FBTyxvQkFBb0I7SUFNWDtJQUErQjtJQUpuRCxTQUFTLEdBQVEsRUFBRSxDQUFBO0lBQ25CLFFBQVEsQ0FBTTtJQUNMLElBQUksQ0FBTTtJQUVuQixZQUFvQixZQUFzQixFQUFTLFdBQTJCO1FBQTFELGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBQVMsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO0lBQzlFLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFBO1lBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUE7U0FDcEM7SUFDSCxDQUFDO0lBQ0QsV0FBVyxDQUFDLElBQVM7UUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBd0IsRUFBRSxFQUFFLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMs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Q0FBQyxHQUFHLENBQUMscURBQXFELEVBQUUsUUFBUSxDQUFDLENBQUE7WUFDNUUsSUFBSSxVQUFVLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDOUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUVyQixjQUFjLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7U0FFbEU7UUFHRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQzFDO0lBQ0gsQ0FBQztJQUNELFVBQVU7UUFDUixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7d0dBckVVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLGtGQ1RqQywra0VBcUNNOzs0RkQ1Qk8sb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQjswR0FRbkIsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYk1vZGFsLCBOZ2JBY3RpdmVNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0ICogYXMgTFpTdHJpbmcgZnJvbSAnbHotc3RyaW5nJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXJlbW92ZS1hdWRpdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JlbW92ZS1hdWRpdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3JlbW92ZS1hdWRpdC5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlbW92ZUF1ZGl0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgaW1hZ2VsaXN0OiBhbnkgPSBbXVxyXG4gIG1haW5kYXRhOiBhbnk7XHJcbiAgQElucHV0KCkgZGF0YTogYW55O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vZGFsU2VydmljZTogTmdiTW9kYWwsIHB1YmxpYyBhY3RpdmVNb2RhbDogTmdiQWN0aXZlTW9kYWwpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGF0YSkge1xyXG4gICAgICB0aGlzLm1haW5kYXRhID0gdGhpcy5kYXRhXHJcbiAgICAgIHRoaXMuaW1hZ2VsaXN0ID0gdGhpcy5kYXRhLm1hcHBlZGlkXHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbW92ZWltYWdlKGRhdGE6IGFueSkge1xyXG4gICAgdGhpcy5pbWFnZWxpc3Quc3BsaWNlKHRoaXMuaW1hZ2VsaXN0LmZpbmRJbmRleCgoeyBpbWdfbmFtZSB9OiB7IGltZ19uYW1lOiBzdHJpbmcgfSkgPT4gaW1nX25hbWUgPT0gZGF0YS5pbWdfbmFtZSksIDEpO1xyXG4gICAgdGhpcy5tYWluZGF0YS5tYXBwZWRpZCA9IHRoaXMuaW1hZ2VsaXN0XHJcbiAgICB0aGlzLm1haW5kYXRhLmNvdW50ID0gdGhpcy5tYWluZGF0YS5jb3VudCAtIDFcclxuICAgIHZhciBmcmFtZWRvYmo6IGFueSA9IHt9XHJcbiAgICBmcmFtZWRvYmouaW1nX25hbWUgPSBkYXRhLmltZ19uYW1lXHJcbiAgICBmcmFtZWRvYmouaW1nX2lkID0gZGF0YS5pbWdfaWRcclxuICAgIGZyYW1lZG9iai5pbWdfcGF0aCA9IGRhdGEuaW1nX3BhdGhcclxuICAgIGZyYW1lZG9iai5tYXBwZWRpZCA9IFt7XHJcbiAgICAgIGltZ19uYW1lOiBkYXRhLmltZ19uYW1lLFxyXG4gICAgICBpbWdfaWQ6IGRhdGEuaW1nX2lkLFxyXG4gICAgICBpbWdfcGF0aDogZGF0YS5pbWdfcGF0aFxyXG4gICAgfV1cclxuICAgIGZyYW1lZG9iai5jb3VudCA9IDFcclxuICAgIGZyYW1lZG9iai5zZWxlY3RlZCA9IGZhbHNlXHJcbiAgICBmcmFtZWRvYmouZGVtb2dyYXBoaWMgPSBcIlwiXHJcbiAgICBmcmFtZWRvYmouZHJvcHBlZCA9IGZhbHNlXHJcbiAgICBsZXQgc3RyaW5naWZ5ZGF0YSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2F1ZGl0JykgfHwgJ3t9J1xyXG4gICAgY29uc3QgZGVjb21wcmVzc2VkRGF0YSA9IExaU3RyaW5nLmRlY29tcHJlc3Moc3RyaW5naWZ5ZGF0YSk7XHJcbiAgICB2YXIgY3VzdG9tZXIgPSBKU09OLnBhcnNlKGRlY29tcHJlc3NlZERhdGEgfHwgJ3t9JylcclxuICAgIHZhciBmb3VuZEluZGV4ID0gY3VzdG9tZXIuZmluZEluZGV4KCh4OiBhbnkpID0+IHguaW1nX2lkID09IHRoaXMubWFpbmRhdGEuaW1nX2lkKTtcclxuICAgIGlmIChmb3VuZEluZGV4ID09IC0xKSB7XHJcbiAgICAgIHZhciByZXRhZyA9IEpTT04ucGFyc2Uoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgncmV0YWcnKSB8fCAne30nKVxyXG4gICAgICB2YXIgbmV3aW5kZXggPSByZXRhZy5maW5kSW5kZXgoKHg6IGFueSkgPT4geC5pbWdfaWQgPT0gdGhpcy5tYWluZGF0YS5pbWdfaWQpO1xyXG4gICAgICByZXRhZ1tuZXdpbmRleF0gPSB0aGlzLm1haW5kYXRhO1xyXG4gICAgICByZXRhZy5wdXNoKGZyYW1lZG9iailcclxuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgncmV0YWcnLCBKU09OLnN0cmluZ2lmeShyZXRhZykpXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjdXN0b21lcltmb3VuZEluZGV4XSA9IHRoaXMubWFpbmRhdGE7XHJcbiAgICAgIGN1c3RvbWVyLnB1c2goZnJhbWVkb2JqKVxyXG4gICAgICBjb25zdCBqc29uU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoY3VzdG9tZXIpO1xyXG4gICAgICBjb25zdCBjb21wcmVzc2VkRGF0YSA9IExaU3RyaW5nLmNvbXByZXNzKGpzb25TdHJpbmcpO1xyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdhdWRpdCcsIGNvbXByZXNzZWREYXRhKVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLm1haW5kYXRhLGZyYW1lZG9iailcclxuICAgIGlmICgnZHVwbGljYXRlJyBpbiBzZXNzaW9uU3RvcmFnZSkge1xyXG4gICAgICBsZXQgZmlsZWRhdGEgPSBKU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2R1cGxpY2F0ZScpIHx8ICd7fScpXHJcbiAgICAgIGNvbnNvbGUubG9nKFwi8J+agCB+IFJlbW92ZUF1ZGl0Q29tcG9uZW50IH4gcmVtb3ZlaW1hZ2UgfiBmaWxlZGF0YTpcIiwgZmlsZWRhdGEpXHJcbiAgICAgIGxldCBmaWx0ZXJEYXRhID0gZmlsZWRhdGEuZmlsdGVyKCh4OiBhbnkpID0+IHguaW1nX25hbWUgIT0gZnJhbWVkb2JqLmltZ19uYW1lKVxyXG4gICAgICBjb25zb2xlLmxvZyhmaWx0ZXJEYXRhKVxyXG4gICBcclxuICAgICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdkdXBsaWNhdGUnLCBKU09OLnN0cmluZ2lmeShmaWx0ZXJEYXRhKSlcclxuICAgICAgXHJcbiAgICB9XHJcblxyXG5cclxuICAgIGlmICh0aGlzLmltYWdlbGlzdC5sZW5ndGggPT0gMSkge1xyXG4gICAgICB0aGlzLmFjdGl2ZU1vZGFsLmNsb3NlKHsgcmVsb2FkOiB0cnVlIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBjbG9zZXBvcHVwKCkge1xyXG4gICAgdGhpcy5hY3RpdmVNb2RhbC5jbG9zZSh7IHJlbG9hZDogdHJ1ZSB9KTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IG10LTVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCIgZC1mbGV4XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB3LTEwMFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZzLTIgdGV4dC1kYXJrIGZ3LWJvbGRlciBteS0zIG14LTdcIj4gPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIGZ3LWJvbGQgdGV4dC1kYXJrXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAge3ttYWluZGF0YT8uZGV0ZWN0aW9uVHlwZSA/IG1haW5kYXRhPy5kZXRlY3Rpb25UeXBlIDogJ0N1c3RvbWVyJyB9fSBGaWxlcyAtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e21haW5kYXRhPy5jb3VudH19PC9zcGFuPjwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBidG4tYWN0aXZlLWNvbG9yLXByaW1hcnkgbWUtNVwiIChjbGljayk9XCJjbG9zZXBvcHVwKClcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTFcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxyZWN0IG9wYWNpdHk9XCIwLjVcIiB4PVwiNlwiIHk9XCIxNy4zMTM3XCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjJcIiByeD1cIjFcIiB0cmFuc2Zvcm09XCJyb3RhdGUoLTQ1IDYgMTcuMzEzNylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiYmxhY2tcIj48L3JlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjcuNDE0MjJcIiB5PVwiNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIyXCIgcng9XCIxXCIgdHJhbnNmb3JtPVwicm90YXRlKDQ1IDcuNDE0MjIgNilcIiBmaWxsPVwiYmxhY2tcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L3JlY3Q+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBteC0zXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgaXRlbSBzY3JvbGwteVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpbWFnZWxpc3Q7bGV0IGk9aW5kZXhcIiBzdHlsZT1cInBhZGRpbmc6IDEwcHg7XCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJteC0zIG1iLTMgaW1nXCIgW3NyY109XCJpdGVtLmltZ19wYXRoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG0tMCBmcy03IGZ3LWJvbGRcIj57e2l0ZW0uaW1nX25hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaVwiIGNsYXNzPVwibm90aWZ5LWJhZGdlMSBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJyZW1vdmVpbWFnZShpdGVtKVwiPjxpIGNsYXNzPVwiZmEgZmEtY2xvc2VcIiBhcmlhLWhpZGRlbj1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJmb250LXNpemU6MTVweDtjb2xvcjojMDBBM0ZGXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|