@sunbird-cb/cbp-ai 0.1.5 → 0.1.7
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/review-request/review-request.component.mjs +32 -3
- package/esm2022/lib/components/role-mapping-list/role-mapping-list.component.mjs +18 -7
- package/esm2022/lib/modules/shared/services/shared.service.mjs +8 -1
- package/fesm2022/sunbird-cb-cbp-ai.mjs +55 -8
- package/fesm2022/sunbird-cb-cbp-ai.mjs.map +1 -1
- package/lib/components/review-request/review-request.component.d.ts +2 -0
- package/lib/components/review-request/review-request.component.d.ts.map +1 -1
- package/lib/components/role-mapping-list/role-mapping-list.component.d.ts +1 -0
- package/lib/components/role-mapping-list/role-mapping-list.component.d.ts.map +1 -1
- package/lib/modules/shared/services/shared.service.d.ts +1 -0
- package/lib/modules/shared/services/shared.service.d.ts.map +1 -1
- package/package.json +1 -1
- package/sunbird-cb-cbp-ai-0.1.5.tgz +0 -0
|
@@ -36,9 +36,17 @@ export class ReviewRequestComponent {
|
|
|
36
36
|
this.dataSource = new MatTableDataSource([]);
|
|
37
37
|
}
|
|
38
38
|
ngOnInit() {
|
|
39
|
+
this.portalData = this.route.snapshot.data['parentData'];
|
|
40
|
+
console.log('resolver parentData', this.portalData);
|
|
39
41
|
const requestId = this.route.snapshot.paramMap.get('request_id');
|
|
40
|
-
if (
|
|
41
|
-
this.
|
|
42
|
+
if (this.portalData && this.portalData?.parentAppData && this.portalData?.parentAppData?.fromPortal &&
|
|
43
|
+
this.portalData?.parentAppData?.fromPortal === 'mdo') {
|
|
44
|
+
this.getMDORequestDetails(requestId);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
if (requestId) {
|
|
48
|
+
this.getRequestDetails(requestId);
|
|
49
|
+
}
|
|
42
50
|
}
|
|
43
51
|
}
|
|
44
52
|
getRequestDetails(requestId) {
|
|
@@ -62,6 +70,27 @@ export class ReviewRequestComponent {
|
|
|
62
70
|
}
|
|
63
71
|
});
|
|
64
72
|
}
|
|
73
|
+
getMDORequestDetails(requestId) {
|
|
74
|
+
this.loading = true;
|
|
75
|
+
this.sharedService.viewMDOApprovalRequests(requestId).subscribe({
|
|
76
|
+
next: (res) => {
|
|
77
|
+
console.log('res', res);
|
|
78
|
+
this.request = res;
|
|
79
|
+
this.loading = false;
|
|
80
|
+
this.dataSource = new MatTableDataSource(res?.items);
|
|
81
|
+
setTimeout(() => {
|
|
82
|
+
this.dataSource.paginator = this.paginator;
|
|
83
|
+
}, 100);
|
|
84
|
+
},
|
|
85
|
+
error: () => {
|
|
86
|
+
this.loading = false;
|
|
87
|
+
this.snackBar.open('Failed to load the approval request information.', 'X', {
|
|
88
|
+
duration: 3000,
|
|
89
|
+
panelClass: ['snackbar-error']
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
}
|
|
65
94
|
toggleResponsibilityExpand(id) {
|
|
66
95
|
this.expandedResponsibilityRows[id] = !this.expandedResponsibilityRows[id];
|
|
67
96
|
}
|
|
@@ -141,4 +170,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
141
170
|
type: ViewChild,
|
|
142
171
|
args: [MatPaginator]
|
|
143
172
|
}] } });
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2aWV3LXJlcXVlc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL2NicC1haS9zcmMvbGliL2NvbXBvbmVudHMvcmV2aWV3LXJlcXVlc3QvcmV2aWV3LXJlcXVlc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL2NicC1haS9zcmMvbGliL2NvbXBvbmVudHMvcmV2aWV3LXJlcXVlc3QvcmV2aWV3LXJlcXVlc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7Ozs7O0FBTzNELE1BQU0sT0FBTyxzQkFBc0I7SUFtQmpDLFlBQW1CLGFBQTRCLEVBQVUsUUFBcUIsRUFBVSxLQUFxQixFQUFVLE1BQWM7UUFBbEgsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBbEJySSxZQUFPLEdBQVEsRUFDZCxDQUFDO1FBQ0YsZUFBVSxHQUFHLEVBQUUsQ0FBQTtRQUNmLCtCQUEwQixHQUE4QixFQUFFLENBQUM7UUFDM0QseUJBQW9CLEdBQThCLEVBQUUsQ0FBQztRQUVyRCxZQUFPLEdBQUcsS0FBSyxDQUFBO1FBQ2YsY0FBUyxHQUFHLFNBQVMsQ0FBQTtRQUNyQixxQkFBZ0IsR0FBYTtZQUMzQixrQkFBa0I7WUFDbEIsdUJBQXVCO1lBQ3ZCLFlBQVk7WUFDWixZQUFZO1lBQ1osWUFBWTtZQUNaLFFBQVE7U0FD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LENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFFNUIsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRTtZQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUN2QztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBTztRQUNqQixPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUN2QyxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVksRUFBRSxPQUFZO1FBQ3JDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksRUFBQyxPQUFPLENBQUMsQ0FBQTtJQUM1QyxDQUFDOytHQXBKVSxzQkFBc0I7bUdBQXRCLHNCQUFzQixxR0FNdEIsWUFBWSxnRENsQnpCLGt2WEE4T007OzRGRGxPTyxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9CO2dMQVVMLFNBQVM7c0JBQWpDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaGFyZWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbW9kdWxlcy9zaGFyZWQvc2VydmljZXMvc2hhcmVkLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcmV2aWV3LXJlcXVlc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmV2aWV3LXJlcXVlc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXZpZXctcmVxdWVzdC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJldmlld1JlcXVlc3RDb21wb25lbnQge1xuICByZXF1ZXN0OiBhbnkgPSB7XG4gIH07XG4gIHNlYXJjaFRleHQgPSAnJ1xuICBleHBhbmRlZFJlc3BvbnNpYmlsaXR5Um93czogeyBbaWQ6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xuICBleHBhbmRlZEFjdGl2aXR5Um93czogeyBbaWQ6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xuICBAVmlld0NoaWxkKE1hdFBhZ2luYXRvcikgcGFnaW5hdG9yITogTWF0UGFnaW5hdG9yO1xuICBsb2FkaW5nID0gZmFsc2VcbiAgYWN0aXZlVGFiID0gJ21hdGNoZWQnXG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gW1xuICAgICdkZXNpZ25hdGlvbl9uYW1lJyxcbiAgICAncm9sZV9yZXNwb25zaWJpbGl0aWVzJyxcbiAgICAnYWN0aXZpdGllcycsXG4gICAgJ2JlaGF2aW9yYWwnLFxuICAgICdmdW5jdGlvbmFsJyxcbiAgICAnZG9tYWluJ1xuICBdO1xuICBkYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZTxhbnk+KFtdKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZSwgcHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIsIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XG5cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IHJlcXVlc3RJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KCdyZXF1ZXN0X2lkJyk7XG5cbiAgICBpZiAocmVxdWVzdElkKSB7XG4gICAgICB0aGlzLmdldFJlcXVlc3REZXRhaWxzKHJlcXVlc3RJZCk7XG4gICAgfVxuXG5cbiAgfVxuXG4gIGdldFJlcXVlc3REZXRhaWxzKHJlcXVlc3RJZCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWVcbiAgICB0aGlzLnNoYXJlZFNlcnZpY2Uudmlld0FwcHJvdmFsUmVxdWVzdHMocmVxdWVzdElkKS5zdWJzY3JpYmUoe1xuXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ3JlcycsIHJlcylcbiAgICAgICAgdGhpcy5yZXF1ZXN0ID0gcmVzXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UocmVzPy5pdGVtcyk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvcjtcbiAgICAgICAgfSwgMTAwKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZVxuICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oJ0ZhaWxlZCB0byBsb2FkIHRoZSBhcHByb3ZhbCByZXF1ZXN0IGluZm9ybWF0aW9uLicsICdYJywge1xuICAgICAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAgICAgIHBhbmVsQ2xhc3M6IFsnc25hY2tiYXItZXJyb3InXVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG5cbiAgdG9nZ2xlUmVzcG9uc2liaWxpdHlFeHBhbmQoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZXhwYW5kZWRSZXNwb25zaWJpbGl0eVJvd3NbaWRdID0gIXRoaXMuZXhwYW5kZWRSZXNwb25zaWJpbGl0eVJvd3NbaWRdO1xuICB9XG5cbiAgaXNSZXNwb25pc2JpbGl0eUV4cGFuZGVkKGlkOiBzdHJpbmcpOiBib29sZWFuIHtcblxuXG4gICAgLy8gY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihMaXN0UG9wdXBDb21wb25lbnQsIHtcbiAgICAvLyAgIHdpZHRoOiAnMTAwMHB4JyxcbiAgICAvLyAgIGRhdGE6IHRoaXMuYWN0aXZlUm93RWxlbWVudCxcbiAgICAvLyAgICBwYW5lbENsYXNzOiAndmlldy1jYnAtcGxhbi1wb3B1cCcsXG4gICAgLy8gICBtaW5IZWlnaHQ6ICc0MDBweCcsICAgICAgICAgIC8vIFNldCBtaW5pbXVtIGhlaWdodFxuICAgIC8vICAgbWF4SGVpZ2h0OiAnOTB2aCcsICAgICAgICAgICAvLyBQcmV2ZW50IGl0IGZyb20gZ29pbmcgYmV5b25kIHZpZXdwb3J0XG4gICAgLy8gICBkaXNhYmxlQ2xvc2U6IHRydWUgLy8gT3B0aW9uYWw6IHByZXZlbnQgY2xvc2luZyB3aXRoIG91dHNpZGUgY2xpY2tcbiAgICAvLyB9KTtcblxuICAgIC8vIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgIC8vICAgcmV0dXJuIGZhbHNlXG4gICAgLy8gfSk7XG4gICAgcmV0dXJuIHRoaXMuZXhwYW5kZWRSZXNwb25zaWJpbGl0eVJvd3NbaWRdO1xuICB9XG5cbiAgdG9nZ2xlQWN0aXZpdHlFeHBhbmQoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZXhwYW5kZWRBY3Rpdml0eVJvd3NbaWRdID0gIXRoaXMuZXhwYW5kZWRBY3Rpdml0eVJvd3NbaWRdO1xuICB9XG5cbiAgaXNBY3Rpdml0eUV4cGFuZGVkKGlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5leHBhbmRlZEFjdGl2aXR5Um93c1tpZF07XG4gIH1cblxuICBnZXRDb21wZXRlbmNpZXNCeVR5cGUoY29tcGV0ZW5jaWVzOiBhbnlbXSwgdHlwZTogc3RyaW5nKTogYW55W10ge1xuICAgIHJldHVybiBjb21wZXRlbmNpZXM/LmZpbHRlcihjID0+IGMudHlwZSA9PT0gdHlwZSkgfHwgW107XG4gIH1cblxuICBiYWNrVG9BcHByb3ZhbFJlcXVlc3QoKSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvYWkvYXBwcm92ZS1yZXF1ZXN0cyddKTtcbiAgfVxuXG4gIGFwcGx5RmlsdGVyKCkge1xuICAgIGNvbnN0IGZpbHRlclZhbHVlID0gdGhpcy5zZWFyY2hUZXh0LnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgdGhpcy5kYXRhU291cmNlLmZpbHRlclByZWRpY2F0ZSA9IChkYXRhOiBhbnksIGZpbHRlcjogc3RyaW5nKSA9PiB7XG5cbiAgICAgIGNvbnN0IGRlc2lnbmF0aW9uID0gZGF0YS5kZXNpZ25hdGlvbl9uYW1lPy50b0xvd2VyQ2FzZSgpIHx8ICcnO1xuICAgICAgY29uc3Qgd2luZyA9IGRhdGEud2luZ19kaXZpc2lvbl9zZWN0aW9uPy50b0xvd2VyQ2FzZSgpIHx8ICcnO1xuXG4gICAgICBjb25zdCByZXNwb25zaWJpbGl0aWVzID0gKGRhdGEucm9sZV9yZXNwb25zaWJpbGl0aWVzIHx8IFtdKVxuICAgICAgICAuam9pbignICcpXG4gICAgICAgIC50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICBjb25zdCBhY3Rpdml0aWVzID0gKGRhdGEuYWN0aXZpdGllcyB8fCBbXSlcbiAgICAgICAgLmpvaW4oJyAnKVxuICAgICAgICAudG9Mb3dlckNhc2UoKTtcblxuICAgICAgY29uc3QgY29tcGV0ZW5jaWVzID0gKGRhdGEuY29tcGV0ZW5jaWVzIHx8IFtdKVxuICAgICAgICAubWFwKGMgPT4gYCR7Yy50aGVtZX0gJHtjLnN1Yl90aGVtZX1gKVxuICAgICAgICAuam9pbignICcpXG4gICAgICAgIC50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICBjb25zdCBjb21iaW5lZCA9XG4gICAgICAgIGRlc2lnbmF0aW9uICtcbiAgICAgICAgd2luZyArXG4gICAgICAgIHJlc3BvbnNpYmlsaXRpZXMgK1xuICAgICAgICBhY3Rpdml0aWVzICtcbiAgICAgICAgY29tcGV0ZW5jaWVzO1xuXG4gICAgICByZXR1cm4gY29tYmluZWQuaW5jbHVkZXMoZmlsdGVyKTtcbiAgICB9O1xuXG4gICAgdGhpcy5kYXRhU291cmNlLmZpbHRlciA9IGZpbHRlclZhbHVlO1xuXG4gICAgaWYgKHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IpIHtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IuZmlyc3RQYWdlKCk7XG4gICAgfVxuICB9XG5cbiAgY2xlYXJTZWFyY2goKSB7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gJyc7XG4gICAgdGhpcy5kYXRhU291cmNlLmZpbHRlciA9ICcnO1xuXG4gICAgaWYgKHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IpIHtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IuZmlyc3RQYWdlKCk7XG4gICAgfVxuICB9XG5cbiAgdmlld0NCUFBsYW4oZWxlbWVudCkge1xuICAgIGNvbnNvbGUubG9nKCd2aWV3IGNicCBwbGFuJywgZWxlbWVudClcbiAgfVxuXG4gIG9wZW5GdWxsTGlzdCh0eXBlOiBzdHJpbmcsIGVsZW1lbnQ6IGFueSkge1xuICAgIGNvbnNvbGUubG9nKCd2aWV3IGNicCBwbGFuJywgdHlwZSxlbGVtZW50KVxuICB9XG5cblxufVxuIiwiPGRpdiBjbGFzcz1cInJldmlldy1jb250YWluZXJcIj5cblxuICAgIDwhLS0gSEVBREVSIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJwYWdlLWhlYWRlclwiPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LXNlY3Rpb25cIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImJhY2staWNvblwiIChjbGljayk9XCJiYWNrVG9BcHByb3ZhbFJlcXVlc3QoKVwiPmFycm93X2JhY2s8L21hdC1pY29uPlxuXG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwic2VjdGlvbi10aXRsZVwiPlJldmlldyBSZXF1ZXN0PC9wPlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwicmVxdWVzdC1pZFwiPnt7cmVxdWVzdD8uaWR9fTwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLWJhZGdlXCI+XG4gICAgICAgICAgICB7e3JlcXVlc3Q/LnN0YXR1cyB8IHRpdGxlY2FzZX19XG4gICAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG5cblxuICAgIDwhLS0gUkVRVUVTVCBERVRBSUxTIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJpbm5lci1jb250YWluZXJcIj5cbiAgICAgICAgPG1hdC1jYXJkIGNsYXNzPVwiZGV0YWlscy1jYXJkXCI+XG5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwic2VjdGlvbi10aXRsZVwiPlJlcXVlc3QgRGV0YWlsczwvcD5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbHMtZ3JpZFwiPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbC1ib3hcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnRhZzwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImxhYmVsXCI+UmVxdWVzdCBJRDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidmFsdWVcIj57e3JlcXVlc3Q/LmlkfX08L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbC1ib3hcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmFzc2lnbm1lbnQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJsYWJlbFwiPlJlcXVlc3QgTmFtZTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidmFsdWVcIj57e3JlcXVlc3Q/LnJlcXVlc3RfbmFtZX19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWwtYm94XCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5tYWlsPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibGFiZWxcIj5SZXF1ZXN0ZWQgQnk8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInZhbHVlXCI+e3tyZXF1ZXN0Py51c2VyPy51c2VybmFtZSB8IHRpdGxlY2FzZX19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWwtYm94XCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5ldmVudDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImxhYmVsXCI+U3VibWl0dGVkIE9uPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ2YWx1ZVwiPnt7cmVxdWVzdD8uY3JlYXRlZF9hdCB8IGRhdGU6ICdNTU0gZCwgeSd9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsLWJveFwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+cGVyc29uPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibGFiZWxcIj5Oby4gb2YgRGVzaWduYXRpb25zPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ2YWx1ZVwiPnt7cmVxdWVzdD8uZGVzaWduYXRpb25fY291bnR9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJkaXZpZGVyXCI+PC9tYXQtZGl2aWRlcj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9yZ2FuaXphdGlvblwiPlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibGFiZWxcIj5Pcmdhbml6YXRpb248L3A+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJvcmctdmFsdWVcIj57e3JlcXVlc3Q/LnN0YXRlX2NlbnRlcl9uYW1lfX08L3A+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8L21hdC1jYXJkPlxuXG5cbiAgICAgICAgPCEtLSBST0xFIE1BUFBJTkcgU0VDVElPTiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvbGUtaGVhZGVyXCI+XG5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJzZWN0aW9uLXRpdGxlXCI+Um9sZSBNYXBwaW5ncyBmb3IgUmV2aWV3PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaCBmbGV4IG1hcmdpbi1yaWdodC1tXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyc2VhcmNoXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29sb3ItNjAgc2VhcmNoLWljb24gbWF0LWljb24gbm90cmFuc2xhdGUgbWF0ZXJpYWwtaWNvbnMgbWF0LWljb24tbm8tY29sb3JcIj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cInNpbnB1dCBjb2xvci02MCB3LWZ1bGxcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIiBsYWJlbD1cIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnB1dCk9XCJhcHBseUZpbHRlcigpXCIgcGxhY2Vob2xkZXI9XCJTZWFyY2ggYnkgZGVzaWduYXRpb24gbmFtZVwiIHR5cGU9XCJTdGFuZGFyZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cInNlYXJjaFRleHQudHJpbSgpLmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbG9yLTYwIGNsZWFyLWljb24gbWF0LWljb24gbm90cmFuc2xhdGUgbWF0ZXJpYWwtaWNvbnMgbWF0LWljb24tbm8tY29sb3IgY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJTZWFyY2goKVwiPmNsZWFyPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsLTIgbXQtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBbZGlzYWJsZWRdPVwic2VhcmNoVGV4dC50cmltKCk/Lmxlbmd0aCA9PT0gMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNlYXJjaFRleHQudHJpbSgpPy5sZW5ndGggPT09IDAgPyAnYnRuLWRpc2FibGUnOididG4tYWN0aXZlJ1wiIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cIlNlYXJjaFwiIChjbGljayk9XCJhcHBseUZpbHRlcigpXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuXG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cblxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jbGFzc1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGFTb3VyY2U/LmRhdGE/Lmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29udGFpbmVyIG10LTRcIiBzdHlsZT1cIm92ZXJmbG93OiBhdXRvO1wiPlxuICAgICAgICAgICAgICAgICAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIiBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejEgdGFibGUtYm9keVwiPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImRlc2lnbmF0aW9uX25hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0YWJsZS1oZWFkZXJcIiBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IERlc2lnbmF0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidmlld0NCUFBsYW4oZWxlbWVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiYWN0aXZlVGFiID09PSAnbWF0Y2hlZCc/ICdkZXNpZ25hdGlvbi10ZXh0JzogJ2Rlc2lnbmF0aW9uLXRleHQtdW5tYXRjaGVkJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJkZXNpZ25hdGlvblwiPnt7IGVsZW1lbnQ/LmRlc2lnbmF0aW9uX25hbWUgfX0gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ3aW5nLXRleHQgbXQtMlwiPldpbmcvRGl2aXNpb24gLSB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQ/LndpbmdfZGl2aXNpb25fc2VjdGlvbiB9fSA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJyb2xlX3Jlc3BvbnNpYmlsaXRpZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggW25nQ2xhc3NdPVwiYWN0aXZlVGFiID09PSAnbWF0Y2hlZCc/ICd0YWJsZS1oZWFkZXInOiAndGFibGUtaGVhZGVyLXVubWF0Y2hlZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IFJvbGUgJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNwb25zaWJpbGl0aWVzIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicm9sZS1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgcm9sZSBvZiAoaXNSZXNwb25pc2JpbGl0eUV4cGFuZGVkKGVsZW1lbnQuaWQpID8gZWxlbWVudC5yb2xlX3Jlc3BvbnNpYmlsaXRpZXMgOiBlbGVtZW50LnJvbGVfcmVzcG9uc2liaWxpdGllcy5zbGljZSgwLCAyKSk7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2krMX19LiB7eyByb2xlIH19PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdJZj1cImVsZW1lbnQucm9sZV9yZXNwb25zaWJpbGl0aWVzLmxlbmd0aCA+IDJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmlldy1tb3JlLWxlc3MgY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuRnVsbExpc3QoZWxlbWVudCwgJ3JvbGVfcmVzcG9uc2liaWxpdGllcycpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJjb2xvcjogIzFCNENBMTtmb250LXNpemU6IDE2cHg7XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZXcgTW9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJhY3Rpdml0aWVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIFtuZ0NsYXNzXT1cImFjdGl2ZVRhYiA9PT0gJ21hdGNoZWQnPyAndGFibGUtaGVhZGVyJzogJ3RhYmxlLWhlYWRlci11bm1hdGNoZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBBY3Rpdml0aWVzIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicm9sZS1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgYWN0aXZpdHkgb2YgKGlzQWN0aXZpdHlFeHBhbmRlZChlbGVtZW50LmlkKSA/IGVsZW1lbnQuYWN0aXZpdGllcyA6IGVsZW1lbnQuYWN0aXZpdGllcy5zbGljZSgwLCAyKSk7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2krMX19LiB7eyBhY3Rpdml0eSB9fTwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nSWY9XCJlbGVtZW50LmFjdGl2aXRpZXMubGVuZ3RoID4gMlwiIGNsYXNzPVwidmlldy1tb3JlLWxlc3MgY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuRnVsbExpc3QoZWxlbWVudCwgJ2FjdGl2aXR5JylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cImNvbG9yOiAjMUI0Q0ExO2ZvbnQtc2l6ZTogMTZweDtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlldyBNb3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImJlaGF2aW9yYWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggW25nQ2xhc3NdPVwiYWN0aXZlVGFiID09PSAnbWF0Y2hlZCc/ICd0YWJsZS1oZWFkZXInOiAndGFibGUtaGVhZGVyLXVubWF0Y2hlZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IEJlaGF2aW9yYWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tcGV0ZW5jaWVzIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiY29tcGV0ZW5jeS1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJiZWhhdmlvdXJhbC1waWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29tcCBvZiBnZXRDb21wZXRlbmNpZXNCeVR5cGUoZWxlbWVudC5jb21wZXRlbmNpZXMsICdCZWhhdmlvcmFsJylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbXBldGVuY3ktdGV4dC1iZWhhdmlvcmFsXCI+IHt7IGNvbXAudGhlbWUgfX0gLSB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wLnN1Yl90aGVtZSB9fSA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZnVuY3Rpb25hbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBbbmdDbGFzc109XCJhY3RpdmVUYWIgPT09ICdtYXRjaGVkJz8gJ3RhYmxlLWhlYWRlcic6ICd0YWJsZS1oZWFkZXItdW5tYXRjaGVkJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gRnVuY3Rpb25hbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wZXRlbmNpZXMgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJjb21wZXRlbmN5LWxpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImZ1bmN0aW9uYWwtcGlsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbXAgb2YgZ2V0Q29tcGV0ZW5jaWVzQnlUeXBlKGVsZW1lbnQuY29tcGV0ZW5jaWVzLCAnRnVuY3Rpb25hbCcpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb21wZXRlbmN5LXRleHQtZnVuY3Rpb25hbFwiPiB7eyBjb21wLnRoZW1lIH19IC0ge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcC5zdWJfdGhlbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZG9tYWluXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIFtuZ0NsYXNzXT1cImFjdGl2ZVRhYiA9PT0gJ21hdGNoZWQnPyAndGFibGUtaGVhZGVyJzogJ3RhYmxlLWhlYWRlci11bm1hdGNoZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBEb21haW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tcGV0ZW5jaWVzIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiY29tcGV0ZW5jeS1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJkb21haW4tcGlsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbXAgb2YgZ2V0Q29tcGV0ZW5jaWVzQnlUeXBlKGVsZW1lbnQuY29tcGV0ZW5jaWVzLCAnRG9tYWluJylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbXBldGVuY3ktdGV4dC1kb21haW5cIj4ge3sgY29tcC50aGVtZSB9fSAtIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXAuc3ViX3RoZW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7XCI+PC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBjbGFzcz1cIm1hdC1yb3dcIiAqbWF0Tm9EYXRhUm93PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm1hdC1jZWxsIG5vLWRhdGEtY2VsbFwiIFthdHRyLmNvbHNwYW5dPVwiZGlzcGxheWVkQ29sdW1ucy5sZW5ndGhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm8gRGF0YSBGb3VuZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YVNvdXJjZT8uZmlsdGVyZWREYXRhPy5sZW5ndGggfHwgZGF0YVNvdXJjZT8uZmlsdGVyZWREYXRhPy5sZW5ndGhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtcGFnaW5hdG9yIFtsZW5ndGhdPVwiZGF0YVNvdXJjZT8uZGF0YT8ubGVuZ3RoXCIgW3BhZ2VTaXplXT1cIjVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYWdlU2l6ZU9wdGlvbnNdPVwiWzUsIDEwLCAyMF1cIiBzaG93Rmlyc3RMYXN0QnV0dG9ucz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXBhZ2luYXRvcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIFxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJvdmVybGF5LWxvYWRlclwiICpuZ0lmPVwibG9hZGluZ1wiPlxuICAgIDxtYXQtc3Bpbm5lciBkaWFtZXRlcj1cIjUwXCI+PC9tYXQtc3Bpbm5lcj5cbjwvZGl2PiJdfQ==
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2aWV3LXJlcXVlc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL2NicC1haS9zcmMvbGliL2NvbXBvbmVudHMvcmV2aWV3LXJlcXVlc3QvcmV2aWV3LXJlcXVlc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL2NicC1haS9zcmMvbGliL2NvbXBvbmVudHMvcmV2aWV3LXJlcXVlc3QvcmV2aWV3LXJlcXVlc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7Ozs7O0FBTzNELE1BQU0sT0FBTyxzQkFBc0I7SUFtQmpDLFlBQW1CLGFBQTRCLEVBQVUsUUFBcUIsRUFBVSxLQUFxQixFQUFVLE1BQWM7UUFBbEgsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBbEJySSxZQUFPLEdBQVEsRUFDZCxDQUFDO1FBQ0YsZUFBVSxHQUFHLEVBQUUsQ0FBQTtRQUNmLCtCQUEwQixHQUE4QixFQUFFLENBQUM7UUFDM0QseUJBQW9CLEdBQThCLEVBQUUsQ0FBQztRQUVyRCxZQUFPLEdBQUcsS0FBSyxDQUFBO1FBQ2YsY0FBUyxHQUFHLFNBQVMsQ0FBQTtRQUNyQixxQkFBZ0IsR0FBYTtZQUMzQixrQkFBa0I7WUFDbEIsdUJBQXVCO1lBQ3ZCLFlBQVk7WUFDWixZQUFZO1lBQ1osWUFBWTtZQUNaLFFBQVE7U0FD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QyxVQUFVLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQztRQUVyQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFO1lBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ3ZDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFFNUIsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRTtZQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUN2QztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBTztRQUNqQixPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUN2QyxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVksRUFBRSxPQUFZO1FBQ3JDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksRUFBQyxPQUFPLENBQUMsQ0FBQTtJQUM1QyxDQUFDOytHQWxMVSxzQkFBc0I7bUdBQXRCLHNCQUFzQixxR0FNdEIsWUFBWSxnRENsQnpCLGt2WEE4T007OzRGRGxPTyxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9CO2dMQVVMLFNBQVM7c0JBQWpDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaGFyZWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbW9kdWxlcy9zaGFyZWQvc2VydmljZXMvc2hhcmVkLnNlcnZpY2UnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcmV2aWV3LXJlcXVlc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmV2aWV3LXJlcXVlc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXZpZXctcmVxdWVzdC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJldmlld1JlcXVlc3RDb21wb25lbnQge1xuICByZXF1ZXN0OiBhbnkgPSB7XG4gIH07XG4gIHNlYXJjaFRleHQgPSAnJ1xuICBleHBhbmRlZFJlc3BvbnNpYmlsaXR5Um93czogeyBbaWQ6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xuICBleHBhbmRlZEFjdGl2aXR5Um93czogeyBbaWQ6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xuICBAVmlld0NoaWxkKE1hdFBhZ2luYXRvcikgcGFnaW5hdG9yITogTWF0UGFnaW5hdG9yO1xuICBsb2FkaW5nID0gZmFsc2VcbiAgYWN0aXZlVGFiID0gJ21hdGNoZWQnXG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gW1xuICAgICdkZXNpZ25hdGlvbl9uYW1lJyxcbiAgICAncm9sZV9yZXNwb25zaWJpbGl0aWVzJyxcbiAgICAnYWN0aXZpdGllcycsXG4gICAgJ2JlaGF2aW9yYWwnLFxuICAgICdmdW5jdGlvbmFsJyxcbiAgICAnZG9tYWluJ1xuICBdO1xuICBkYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZTxhbnk+KFtdKTtcbiAgcG9ydGFsRGF0YVxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZSwgcHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIsIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XG5cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucG9ydGFsRGF0YSA9IHRoaXMucm91dGUuc25hcHNob3QuZGF0YVsncGFyZW50RGF0YSddXG4gICAgY29uc29sZS5sb2coJ3Jlc29sdmVyIHBhcmVudERhdGEnLCB0aGlzLnBvcnRhbERhdGEpXG4gICAgY29uc3QgcmVxdWVzdElkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbU1hcC5nZXQoJ3JlcXVlc3RfaWQnKTtcbiAgICAgaWYodGhpcy5wb3J0YWxEYXRhICYmIHRoaXMucG9ydGFsRGF0YT8ucGFyZW50QXBwRGF0YSAmJiB0aGlzLnBvcnRhbERhdGE/LnBhcmVudEFwcERhdGE/LmZyb21Qb3J0YWwgJiYgXG4gICAgICB0aGlzLnBvcnRhbERhdGE/LnBhcmVudEFwcERhdGE/LmZyb21Qb3J0YWwgPT09ICdtZG8nXG4gICAgKXsgXG4gICAgICB0aGlzLmdldE1ET1JlcXVlc3REZXRhaWxzKHJlcXVlc3RJZCk7XG4gICAgfSBlbHNlIHtcbiAgICBpZiAocmVxdWVzdElkKSB7XG4gICAgICB0aGlzLmdldFJlcXVlc3REZXRhaWxzKHJlcXVlc3RJZCk7XG4gICAgfVxuICB9XG5cblxuICB9XG5cbiAgZ2V0UmVxdWVzdERldGFpbHMocmVxdWVzdElkKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZVxuICAgIHRoaXMuc2hhcmVkU2VydmljZS52aWV3QXBwcm92YWxSZXF1ZXN0cyhyZXF1ZXN0SWQpLnN1YnNjcmliZSh7XG5cbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygncmVzJywgcmVzKVxuICAgICAgICB0aGlzLnJlcXVlc3QgPSByZXNcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2VcbiAgICAgICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZShyZXM/Lml0ZW1zKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5kYXRhU291cmNlLnBhZ2luYXRvciA9IHRoaXMucGFnaW5hdG9yO1xuICAgICAgICB9LCAxMDApO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgICAgIHRoaXMuc25hY2tCYXIub3BlbignRmFpbGVkIHRvIGxvYWQgdGhlIGFwcHJvdmFsIHJlcXVlc3QgaW5mb3JtYXRpb24uJywgJ1gnLCB7XG4gICAgICAgICAgZHVyYXRpb246IDMwMDAsXG4gICAgICAgICAgcGFuZWxDbGFzczogWydzbmFja2Jhci1lcnJvciddXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgIGdldE1ET1JlcXVlc3REZXRhaWxzKHJlcXVlc3RJZCkge1xuICAgIHRoaXMubG9hZGluZyA9IHRydWVcbiAgICB0aGlzLnNoYXJlZFNlcnZpY2Uudmlld01ET0FwcHJvdmFsUmVxdWVzdHMocmVxdWVzdElkKS5zdWJzY3JpYmUoe1xuXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coJ3JlcycsIHJlcylcbiAgICAgICAgdGhpcy5yZXF1ZXN0ID0gcmVzXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UocmVzPy5pdGVtcyk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvcjtcbiAgICAgICAgfSwgMTAwKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKCkgPT4ge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZVxuICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oJ0ZhaWxlZCB0byBsb2FkIHRoZSBhcHByb3ZhbCByZXF1ZXN0IGluZm9ybWF0aW9uLicsICdYJywge1xuICAgICAgICAgIGR1cmF0aW9uOiAzMDAwLFxuICAgICAgICAgIHBhbmVsQ2xhc3M6IFsnc25hY2tiYXItZXJyb3InXVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG5cbiAgdG9nZ2xlUmVzcG9uc2liaWxpdHlFeHBhbmQoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZXhwYW5kZWRSZXNwb25zaWJpbGl0eVJvd3NbaWRdID0gIXRoaXMuZXhwYW5kZWRSZXNwb25zaWJpbGl0eVJvd3NbaWRdO1xuICB9XG5cbiAgaXNSZXNwb25pc2JpbGl0eUV4cGFuZGVkKGlkOiBzdHJpbmcpOiBib29sZWFuIHtcblxuXG4gICAgLy8gY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihMaXN0UG9wdXBDb21wb25lbnQsIHtcbiAgICAvLyAgIHdpZHRoOiAnMTAwMHB4JyxcbiAgICAvLyAgIGRhdGE6IHRoaXMuYWN0aXZlUm93RWxlbWVudCxcbiAgICAvLyAgICBwYW5lbENsYXNzOiAndmlldy1jYnAtcGxhbi1wb3B1cCcsXG4gICAgLy8gICBtaW5IZWlnaHQ6ICc0MDBweCcsICAgICAgICAgIC8vIFNldCBtaW5pbXVtIGhlaWdodFxuICAgIC8vICAgbWF4SGVpZ2h0OiAnOTB2aCcsICAgICAgICAgICAvLyBQcmV2ZW50IGl0IGZyb20gZ29pbmcgYmV5b25kIHZpZXdwb3J0XG4gICAgLy8gICBkaXNhYmxlQ2xvc2U6IHRydWUgLy8gT3B0aW9uYWw6IHByZXZlbnQgY2xvc2luZyB3aXRoIG91dHNpZGUgY2xpY2tcbiAgICAvLyB9KTtcblxuICAgIC8vIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgIC8vICAgcmV0dXJuIGZhbHNlXG4gICAgLy8gfSk7XG4gICAgcmV0dXJuIHRoaXMuZXhwYW5kZWRSZXNwb25zaWJpbGl0eVJvd3NbaWRdO1xuICB9XG5cbiAgdG9nZ2xlQWN0aXZpdHlFeHBhbmQoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZXhwYW5kZWRBY3Rpdml0eVJvd3NbaWRdID0gIXRoaXMuZXhwYW5kZWRBY3Rpdml0eVJvd3NbaWRdO1xuICB9XG5cbiAgaXNBY3Rpdml0eUV4cGFuZGVkKGlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5leHBhbmRlZEFjdGl2aXR5Um93c1tpZF07XG4gIH1cblxuICBnZXRDb21wZXRlbmNpZXNCeVR5cGUoY29tcGV0ZW5jaWVzOiBhbnlbXSwgdHlwZTogc3RyaW5nKTogYW55W10ge1xuICAgIHJldHVybiBjb21wZXRlbmNpZXM/LmZpbHRlcihjID0+IGMudHlwZSA9PT0gdHlwZSkgfHwgW107XG4gIH1cblxuICBiYWNrVG9BcHByb3ZhbFJlcXVlc3QoKSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvYWkvYXBwcm92ZS1yZXF1ZXN0cyddKTtcbiAgfVxuXG4gIGFwcGx5RmlsdGVyKCkge1xuICAgIGNvbnN0IGZpbHRlclZhbHVlID0gdGhpcy5zZWFyY2hUZXh0LnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgdGhpcy5kYXRhU291cmNlLmZpbHRlclByZWRpY2F0ZSA9IChkYXRhOiBhbnksIGZpbHRlcjogc3RyaW5nKSA9PiB7XG5cbiAgICAgIGNvbnN0IGRlc2lnbmF0aW9uID0gZGF0YS5kZXNpZ25hdGlvbl9uYW1lPy50b0xvd2VyQ2FzZSgpIHx8ICcnO1xuICAgICAgY29uc3Qgd2luZyA9IGRhdGEud2luZ19kaXZpc2lvbl9zZWN0aW9uPy50b0xvd2VyQ2FzZSgpIHx8ICcnO1xuXG4gICAgICBjb25zdCByZXNwb25zaWJpbGl0aWVzID0gKGRhdGEucm9sZV9yZXNwb25zaWJpbGl0aWVzIHx8IFtdKVxuICAgICAgICAuam9pbignICcpXG4gICAgICAgIC50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICBjb25zdCBhY3Rpdml0aWVzID0gKGRhdGEuYWN0aXZpdGllcyB8fCBbXSlcbiAgICAgICAgLmpvaW4oJyAnKVxuICAgICAgICAudG9Mb3dlckNhc2UoKTtcblxuICAgICAgY29uc3QgY29tcGV0ZW5jaWVzID0gKGRhdGEuY29tcGV0ZW5jaWVzIHx8IFtdKVxuICAgICAgICAubWFwKGMgPT4gYCR7Yy50aGVtZX0gJHtjLnN1Yl90aGVtZX1gKVxuICAgICAgICAuam9pbignICcpXG4gICAgICAgIC50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICBjb25zdCBjb21iaW5lZCA9XG4gICAgICAgIGRlc2lnbmF0aW9uICtcbiAgICAgICAgd2luZyArXG4gICAgICAgIHJlc3BvbnNpYmlsaXRpZXMgK1xuICAgICAgICBhY3Rpdml0aWVzICtcbiAgICAgICAgY29tcGV0ZW5jaWVzO1xuXG4gICAgICByZXR1cm4gY29tYmluZWQuaW5jbHVkZXMoZmlsdGVyKTtcbiAgICB9O1xuXG4gICAgdGhpcy5kYXRhU291cmNlLmZpbHRlciA9IGZpbHRlclZhbHVlO1xuXG4gICAgaWYgKHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IpIHtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IuZmlyc3RQYWdlKCk7XG4gICAgfVxuICB9XG5cbiAgY2xlYXJTZWFyY2goKSB7XG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gJyc7XG4gICAgdGhpcy5kYXRhU291cmNlLmZpbHRlciA9ICcnO1xuXG4gICAgaWYgKHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IpIHtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IuZmlyc3RQYWdlKCk7XG4gICAgfVxuICB9XG5cbiAgdmlld0NCUFBsYW4oZWxlbWVudCkge1xuICAgIGNvbnNvbGUubG9nKCd2aWV3IGNicCBwbGFuJywgZWxlbWVudClcbiAgfVxuXG4gIG9wZW5GdWxsTGlzdCh0eXBlOiBzdHJpbmcsIGVsZW1lbnQ6IGFueSkge1xuICAgIGNvbnNvbGUubG9nKCd2aWV3IGNicCBwbGFuJywgdHlwZSxlbGVtZW50KVxuICB9XG5cblxufVxuIiwiPGRpdiBjbGFzcz1cInJldmlldy1jb250YWluZXJcIj5cblxuICAgIDwhLS0gSEVBREVSIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJwYWdlLWhlYWRlclwiPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LXNlY3Rpb25cIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImJhY2staWNvblwiIChjbGljayk9XCJiYWNrVG9BcHByb3ZhbFJlcXVlc3QoKVwiPmFycm93X2JhY2s8L21hdC1pY29uPlxuXG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwic2VjdGlvbi10aXRsZVwiPlJldmlldyBSZXF1ZXN0PC9wPlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwicmVxdWVzdC1pZFwiPnt7cmVxdWVzdD8uaWR9fTwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLWJhZGdlXCI+XG4gICAgICAgICAgICB7e3JlcXVlc3Q/LnN0YXR1cyB8IHRpdGxlY2FzZX19XG4gICAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG5cblxuICAgIDwhLS0gUkVRVUVTVCBERVRBSUxTIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJpbm5lci1jb250YWluZXJcIj5cbiAgICAgICAgPG1hdC1jYXJkIGNsYXNzPVwiZGV0YWlscy1jYXJkXCI+XG5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwic2VjdGlvbi10aXRsZVwiPlJlcXVlc3QgRGV0YWlsczwvcD5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbHMtZ3JpZFwiPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbC1ib3hcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPnRhZzwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImxhYmVsXCI+UmVxdWVzdCBJRDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidmFsdWVcIj57e3JlcXVlc3Q/LmlkfX08L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbC1ib3hcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmFzc2lnbm1lbnQ8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJsYWJlbFwiPlJlcXVlc3QgTmFtZTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwidmFsdWVcIj57e3JlcXVlc3Q/LnJlcXVlc3RfbmFtZX19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWwtYm94XCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5tYWlsPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibGFiZWxcIj5SZXF1ZXN0ZWQgQnk8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInZhbHVlXCI+e3tyZXF1ZXN0Py51c2VyPy51c2VybmFtZSB8IHRpdGxlY2FzZX19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWwtYm94XCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5ldmVudDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImxhYmVsXCI+U3VibWl0dGVkIE9uPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ2YWx1ZVwiPnt7cmVxdWVzdD8uY3JlYXRlZF9hdCB8IGRhdGU6ICdNTU0gZCwgeSd9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsLWJveFwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+cGVyc29uPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibGFiZWxcIj5Oby4gb2YgRGVzaWduYXRpb25zPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ2YWx1ZVwiPnt7cmVxdWVzdD8uZGVzaWduYXRpb25fY291bnR9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJkaXZpZGVyXCI+PC9tYXQtZGl2aWRlcj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9yZ2FuaXphdGlvblwiPlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwibGFiZWxcIj5Pcmdhbml6YXRpb248L3A+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJvcmctdmFsdWVcIj57e3JlcXVlc3Q/LnN0YXRlX2NlbnRlcl9uYW1lfX08L3A+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8L21hdC1jYXJkPlxuXG5cbiAgICAgICAgPCEtLSBST0xFIE1BUFBJTkcgU0VDVElPTiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvbGUtaGVhZGVyXCI+XG5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJzZWN0aW9uLXRpdGxlXCI+Um9sZSBNYXBwaW5ncyBmb3IgUmV2aWV3PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaCBmbGV4IG1hcmdpbi1yaWdodC1tXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyc2VhcmNoXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY29sb3ItNjAgc2VhcmNoLWljb24gbWF0LWljb24gbm90cmFuc2xhdGUgbWF0ZXJpYWwtaWNvbnMgbWF0LWljb24tbm8tY29sb3JcIj5zZWFyY2g8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cInNpbnB1dCBjb2xvci02MCB3LWZ1bGxcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIiBsYWJlbD1cIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnB1dCk9XCJhcHBseUZpbHRlcigpXCIgcGxhY2Vob2xkZXI9XCJTZWFyY2ggYnkgZGVzaWduYXRpb24gbmFtZVwiIHR5cGU9XCJTdGFuZGFyZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cInNlYXJjaFRleHQudHJpbSgpLmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvbG9yLTYwIGNsZWFyLWljb24gbWF0LWljb24gbm90cmFuc2xhdGUgbWF0ZXJpYWwtaWNvbnMgbWF0LWljb24tbm8tY29sb3IgY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xlYXJTZWFyY2goKVwiPmNsZWFyPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsLTIgbXQtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBbZGlzYWJsZWRdPVwic2VhcmNoVGV4dC50cmltKCk/Lmxlbmd0aCA9PT0gMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNlYXJjaFRleHQudHJpbSgpPy5sZW5ndGggPT09IDAgPyAnYnRuLWRpc2FibGUnOididG4tYWN0aXZlJ1wiIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cIlNlYXJjaFwiIChjbGljayk9XCJhcHBseUZpbHRlcigpXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuXG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cblxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jbGFzc1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGFTb3VyY2U/LmRhdGE/Lmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29udGFpbmVyIG10LTRcIiBzdHlsZT1cIm92ZXJmbG93OiBhdXRvO1wiPlxuICAgICAgICAgICAgICAgICAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIiBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejEgdGFibGUtYm9keVwiPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImRlc2lnbmF0aW9uX25hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJ0YWJsZS1oZWFkZXJcIiBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IERlc2lnbmF0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidmlld0NCUFBsYW4oZWxlbWVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiYWN0aXZlVGFiID09PSAnbWF0Y2hlZCc/ICdkZXNpZ25hdGlvbi10ZXh0JzogJ2Rlc2lnbmF0aW9uLXRleHQtdW5tYXRjaGVkJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJkZXNpZ25hdGlvblwiPnt7IGVsZW1lbnQ/LmRlc2lnbmF0aW9uX25hbWUgfX0gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJ3aW5nLXRleHQgbXQtMlwiPldpbmcvRGl2aXNpb24gLSB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQ/LndpbmdfZGl2aXNpb25fc2VjdGlvbiB9fSA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJyb2xlX3Jlc3BvbnNpYmlsaXRpZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggW25nQ2xhc3NdPVwiYWN0aXZlVGFiID09PSAnbWF0Y2hlZCc/ICd0YWJsZS1oZWFkZXInOiAndGFibGUtaGVhZGVyLXVubWF0Y2hlZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IFJvbGUgJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNwb25zaWJpbGl0aWVzIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicm9sZS1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgcm9sZSBvZiAoaXNSZXNwb25pc2JpbGl0eUV4cGFuZGVkKGVsZW1lbnQuaWQpID8gZWxlbWVudC5yb2xlX3Jlc3BvbnNpYmlsaXRpZXMgOiBlbGVtZW50LnJvbGVfcmVzcG9uc2liaWxpdGllcy5zbGljZSgwLCAyKSk7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2krMX19LiB7eyByb2xlIH19PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdJZj1cImVsZW1lbnQucm9sZV9yZXNwb25zaWJpbGl0aWVzLmxlbmd0aCA+IDJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmlldy1tb3JlLWxlc3MgY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuRnVsbExpc3QoZWxlbWVudCwgJ3JvbGVfcmVzcG9uc2liaWxpdGllcycpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJjb2xvcjogIzFCNENBMTtmb250LXNpemU6IDE2cHg7XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZXcgTW9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJhY3Rpdml0aWVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIFtuZ0NsYXNzXT1cImFjdGl2ZVRhYiA9PT0gJ21hdGNoZWQnPyAndGFibGUtaGVhZGVyJzogJ3RhYmxlLWhlYWRlci11bm1hdGNoZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBBY3Rpdml0aWVzIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicm9sZS1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgYWN0aXZpdHkgb2YgKGlzQWN0aXZpdHlFeHBhbmRlZChlbGVtZW50LmlkKSA/IGVsZW1lbnQuYWN0aXZpdGllcyA6IGVsZW1lbnQuYWN0aXZpdGllcy5zbGljZSgwLCAyKSk7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2krMX19LiB7eyBhY3Rpdml0eSB9fTwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nSWY9XCJlbGVtZW50LmFjdGl2aXRpZXMubGVuZ3RoID4gMlwiIGNsYXNzPVwidmlldy1tb3JlLWxlc3MgY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuRnVsbExpc3QoZWxlbWVudCwgJ2FjdGl2aXR5JylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cImNvbG9yOiAjMUI0Q0ExO2ZvbnQtc2l6ZTogMTZweDtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmlldyBNb3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImJlaGF2aW9yYWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggW25nQ2xhc3NdPVwiYWN0aXZlVGFiID09PSAnbWF0Y2hlZCc/ICd0YWJsZS1oZWFkZXInOiAndGFibGUtaGVhZGVyLXVubWF0Y2hlZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IEJlaGF2aW9yYWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tcGV0ZW5jaWVzIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiY29tcGV0ZW5jeS1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJiZWhhdmlvdXJhbC1waWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29tcCBvZiBnZXRDb21wZXRlbmNpZXNCeVR5cGUoZWxlbWVudC5jb21wZXRlbmNpZXMsICdCZWhhdmlvcmFsJylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbXBldGVuY3ktdGV4dC1iZWhhdmlvcmFsXCI+IHt7IGNvbXAudGhlbWUgfX0gLSB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wLnN1Yl90aGVtZSB9fSA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZnVuY3Rpb25hbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBbbmdDbGFzc109XCJhY3RpdmVUYWIgPT09ICdtYXRjaGVkJz8gJ3RhYmxlLWhlYWRlcic6ICd0YWJsZS1oZWFkZXItdW5tYXRjaGVkJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gRnVuY3Rpb25hbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wZXRlbmNpZXMgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJjb21wZXRlbmN5LWxpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImZ1bmN0aW9uYWwtcGlsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbXAgb2YgZ2V0Q29tcGV0ZW5jaWVzQnlUeXBlKGVsZW1lbnQuY29tcGV0ZW5jaWVzLCAnRnVuY3Rpb25hbCcpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb21wZXRlbmN5LXRleHQtZnVuY3Rpb25hbFwiPiB7eyBjb21wLnRoZW1lIH19IC0ge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcC5zdWJfdGhlbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZG9tYWluXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIFtuZ0NsYXNzXT1cImFjdGl2ZVRhYiA9PT0gJ21hdGNoZWQnPyAndGFibGUtaGVhZGVyJzogJ3RhYmxlLWhlYWRlci11bm1hdGNoZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBEb21haW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tcGV0ZW5jaWVzIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiY29tcGV0ZW5jeS1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJkb21haW4tcGlsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbXAgb2YgZ2V0Q29tcGV0ZW5jaWVzQnlUeXBlKGVsZW1lbnQuY29tcGV0ZW5jaWVzLCAnRG9tYWluJylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbXBldGVuY3ktdGV4dC1kb21haW5cIj4ge3sgY29tcC50aGVtZSB9fSAtIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXAuc3ViX3RoZW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7XCI+PC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBjbGFzcz1cIm1hdC1yb3dcIiAqbWF0Tm9EYXRhUm93PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm1hdC1jZWxsIG5vLWRhdGEtY2VsbFwiIFthdHRyLmNvbHNwYW5dPVwiZGlzcGxheWVkQ29sdW1ucy5sZW5ndGhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm8gRGF0YSBGb3VuZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGF0YVNvdXJjZT8uZmlsdGVyZWREYXRhPy5sZW5ndGggfHwgZGF0YVNvdXJjZT8uZmlsdGVyZWREYXRhPy5sZW5ndGhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtcGFnaW5hdG9yIFtsZW5ndGhdPVwiZGF0YVNvdXJjZT8uZGF0YT8ubGVuZ3RoXCIgW3BhZ2VTaXplXT1cIjVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYWdlU2l6ZU9wdGlvbnNdPVwiWzUsIDEwLCAyMF1cIiBzaG93Rmlyc3RMYXN0QnV0dG9ucz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXBhZ2luYXRvcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIFxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJvdmVybGF5LWxvYWRlclwiICpuZ0lmPVwibG9hZGluZ1wiPlxuICAgIDxtYXQtc3Bpbm5lciBkaWFtZXRlcj1cIjUwXCI+PC9tYXQtc3Bpbm5lcj5cbjwvZGl2PiJdfQ==
|