ps-toolkit-ui 1.4.44 → 1.4.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/ps-toolkit-ui.umd.js +1 -1
- package/bundles/ps-toolkit-ui.umd.js.map +1 -1
- package/bundles/ps-toolkit-ui.umd.min.js +1 -1
- package/bundles/ps-toolkit-ui.umd.min.js.map +1 -1
- package/esm2015/lib/components/table/row/table.row.component.js +2 -2
- package/fesm2015/ps-toolkit-ui.js +1 -1
- package/fesm2015/ps-toolkit-ui.js.map +1 -1
- package/package.json +1 -1
|
@@ -222,7 +222,7 @@ export class TableRowComponent {
|
|
|
222
222
|
if (opt.modal.accordion) {
|
|
223
223
|
for (const r of opt.modal.accordion.rows) {
|
|
224
224
|
if (r.table) {
|
|
225
|
-
const options = this.row.Options
|
|
225
|
+
const options = [...this.row.Options];
|
|
226
226
|
console.log(options);
|
|
227
227
|
const p = new PermissionClass();
|
|
228
228
|
p.RelatedId = this.row.Data.Id;
|
|
@@ -403,4 +403,4 @@ TableRowComponent.propDecorators = {
|
|
|
403
403
|
loadParent: [{ type: Output }],
|
|
404
404
|
childrenDiv: [{ type: ViewChild, args: ['childrenDiv',] }]
|
|
405
405
|
};
|
|
406
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUucm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJEOi9Qcm9qZWN0cy9Qc1Rvb2xraXQvVUkvcHJvamVjdHMvcHMtdG9vbGtpdC11aS9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy90YWJsZS9yb3cvdGFibGUucm93LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxNQUFNLEVBQUUsd0JBQXdCLEVBQ2hDLHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDdkIsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixlQUFlLEVBQ2hCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDMUQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDMUUsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBT2xFLE1BQU0sT0FBTyxpQkFBaUI7SUFxQjVCLFlBQW1CLE9BQWlDO1FBQWpDLFlBQU8sR0FBUCxPQUFPLENBQTBCO1FBbkJwRCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFekMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFReEMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFJeEMsaUJBQVksR0FBZSxJ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QUUsZUFBZTtnQkFDekIscS9EQUF5Qzs7YUFFMUM7OztZQVJPLHdCQUF3Qjs7OzBCQVU3QixNQUFNO3lCQUVOLE1BQU07b0JBRU4sS0FBSztvQkFFTCxLQUFLO2tCQUVMLEtBQUs7eUJBRUwsTUFBTTswQkFTTixTQUFTLFNBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQge1RhYmxlQ2xhc3MsIFRhYmxlQ29sbENsYXNzfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL3RhYmxlLmNsYXNzJztcclxuaW1wb3J0IHtcclxuICBFbnVtVXRpbHMsXHJcbiAgSW5wdXRUeXBlLFxyXG4gIE1ldGhvZCwgUGVybWlzc2lvbkFjY2Vzc1R5cGVFbnVtLFxyXG4gIFBlcm1pc3Npb25JbnB1dEFjdGlvbkVudW0sXHJcbiAgUGVybWlzc2lvbklucHV0VHlwZUVudW0sXHJcbiAgUGVybWlzc2lvblR5cGVFbnVtLFxyXG4gIFRhYmxlQ29sbFR5cGUsXHJcbiAgVGFibGVPcHRpb25UeXBlXHJcbn0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9lbnVtLmNsYXNzJztcclxuaW1wb3J0IHtJbnB1dENsYXNzfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2Zvcm0uY2xhc3MnO1xyXG5pbXBvcnQge1JlcXVlc3RDbGFzc30gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9yZXF1ZXN0LmNsYXNzJztcclxuaW1wb3J0IHtIZWxwZXJDbGFzc30gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9oZWxwZXIuY2xhc3MnO1xyXG5pbXBvcnQge1BzVG9vbGtpdFVpQ29uZmlnU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgKiBhcyAkIGZyb20gJ2pxdWVyeSc7XHJcbmltcG9ydCB7UGVybWlzc2lvbkNsYXNzfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL3Blcm1pc3Npb24uY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdGFibGUtcm93JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUucm93LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5yb3cuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZVJvd0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuICBAT3V0cHV0KClcclxuICBjb25maXJtU2hvdyA9IG5ldyBFdmVudEVtaXR0ZXI8b2JqZWN0PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIGNoYW5nZVJvd3MgPSBuZXcgRXZlbnRFbWl0dGVyPG9iamVjdD4oKTtcclxuICBASW5wdXQoKVxyXG4gIGxldmVsOiBudW1iZXI7XHJcbiAgQElucHV0KClcclxuICB0YWJsZTogVGFibGVDbGFzcztcclxuICBASW5wdXQoKVxyXG4gIHJvdztcclxuICBAT3V0cHV0KClcclxuICBsb2FkUGFyZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgZ2V0IHR5cGUoKTogdHlwZW9mIElucHV0VHlwZSB7IHJldHVybiBJbnB1dFR5cGU7IH1cclxuICBnZXQgdGFibGVPcHRpb25UeXBlKCk6IHR5cGVvZiBUYWJsZU9wdGlvblR5cGV7IHJldHVybiBUYWJsZU9wdGlvblR5cGU7IH1cclxuICBvcHRTdGF0dXM6IElucHV0Q2xhc3M7XHJcbiAgc2hvd0NoaWxkcmVuOiBJbnB1dENsYXNzID0gbnVsbDtcclxuICBhZGRDaGlsZHJlbjogSW5wdXRDbGFzcyA9IG51bGw7XHJcbiAgY2hpbGRyZW46IGFueVtdID0gW107XHJcbiAgb3B0aW9uczogYW55W10gPSBbXTtcclxuICBAVmlld0NoaWxkKCdjaGlsZHJlbkRpdicpIGNoaWxkcmVuRGl2OiBFbGVtZW50UmVmO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzZXJ2aWNlOiBQc1Rvb2xraXRVaUNvbmZpZ1NlcnZpY2UpIHtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy50YWJsZS5oYXNDaGlsZHJlbil7XHJcbiAgICAgIGlmICghdGhpcy50YWJsZS5jaGlsZHJlbkF1dG9Mb2FkKXtcclxuICAgICAgICB0aGlzLmNoaWxkcmVuID0gdGhpcy5nZXRDaGlsZHJlbigpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnRhYmxlLnBlcm1pc3Npb25zLmhhc0FjY2VzcyhQZXJtaXNzaW9uQWNjZXNzVHlwZUVudW0uSW5zZXJ0KSl7XHJcbiAgICAgICAgdGhpcy5hZGRDaGlsZHJlbiA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgdGhpcy50YWJsZS5uYW1lICsgJ0FkZFN1YnNldFRpdGxlJyxcclxuICAgICAgICAgICdmYS1kdW90b25lIGZhLXBsdXMgZmEtcm90YXRlLTkwJywgSW5wdXRUeXBlLkljb24sXHJcbiAgICAgICAgICAnZ3JlZW4gbS1oLTUgaC0yNSBkLWliIHZhLW0gZi11Jyk7XHJcbiAgICAgICAgdGhpcy5hZGRDaGlsZHJlbi5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy50YWJsZS5mb3JtLm9uU3VjY2Vzc0Jhc2UgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudGFibGUubW9kYWwuaGlkZSgpO1xyXG4gICAgICAgICAgICB0aGlzLnNob3dDaGlsZHJlbi50eXBlID0gSW5wdXRUeXBlLkljb247XHJcbiAgICAgICAgICAgIHRoaXMubG9hZENoaWxkcmVuKHRoaXMucm93LkRhdGEuSWQpO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIHRoaXMudGFibGUuc2hvd0luc2VydE1vZGFsKHRoaXMucm93LkRhdGEuSWQpO1xyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zaG93Q2hpbGRyZW4gPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsIHRoaXMudGFibGUubmFtZSArICdTdWJzZXRUaXRsZScsICdmYS1kdW90b25lIGZhLWFuZ2xlLWxlZnQgZi1zLTIyJyxcclxuICAgICAgICB0aGlzLnJvdy5EYXRhLkNvdW50Q2hpbGQgPiAwIHx8ICghdGhpcy50YWJsZS5jaGlsZHJlbkF1dG9Mb2FkICYmIHRoaXMuY2hpbGRyZW4ubGVuZ3RoID4gMCkgPyBJbnB1dFR5cGUuSWNvbiA6IElucHV0VHlwZS5IaWRkZW4sICdoLTI1IG0taC01IGQtaWIgdmEtbSBmLXUnKTtcclxuICAgICAgdGhpcy5zaG93Q2hpbGRyZW4ub25DbGljayA9ICgpID0+IHtcclxuICAgICAgICBpZiAoJCh0aGlzLmNoaWxkcmVuRGl2Lm5hdGl2ZUVsZW1lbnQpLmlzKCc6dmlzaWJsZScpKXtcclxuICAgICAgICAgICQodGhpcy5jaGlsZHJlbkRpdi5uYXRpdmVFbGVtZW50KS5zbGlkZVVwKCk7XHJcbiAgICAgICAgICB0aGlzLnNob3dDaGlsZHJlbi5pY29uID0gJ2ZhLWR1b3RvbmUgZmEtYW5nbGUtbGVmdCBmLXMtMjInO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jaGlsZHJlbi5sZW5ndGggPT09IDApe1xyXG4gICAgICAgICAgdGhpcy5sb2FkQ2hpbGRyZW4odGhpcy5yb3cuRGF0YS5JZCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICQodGhpcy5jaGlsZHJlbkRpdi5uYXRpdmVFbGVtZW50KS5zbGlkZURvd24oKTtcclxuICAgICAgICAgIHRoaXMuc2hvd0NoaWxkcmVuLmljb24gPSAnZmEtZHVvdG9uZSBmYS1hbmdsZS1kb3duIGYtcy0yMic7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudGFibGUuaGFzU3RhdHVzKXtcclxuICAgICAgdGhpcy5vcHRTdGF0dXMgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdTdGF0dXMnLFxyXG4gICAgICAgIHRoaXMucm93LkRhdGEuQWN0aXZlID8gJ2ZhLXRvZ2dsZS1vbicgOiAnZmEtdG9nZ2xlLW9mZicsIElucHV0VHlwZS5JY29uLFxyXG4gICAgICAgICdtLWgtNSBoLTIwICcgKyAodGhpcy5yb3cuRGF0YS5BY3RpdmUgPyAnZ3JlZW4nIDogJycpKTtcclxuICAgICAgdGhpcy5vcHRTdGF0dXMucm93ID0gdGhpcy5yb3cuRGF0YTtcclxuICAgICAgdGhpcy5vcHRTdGF0dXMub25DbGljayA9IChidG4pID0+IHtcclxuICAgICAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMudGFibGUubCkuc2VuZCh0aGlzLnRhYmxlLnVybCArICcvU3RhdHVzLycgKyBidG4ucm93LklkLCBNZXRob2QuUG9zdCwgbnVsbCwgYnRuLCAocikgPT4ge1xyXG4gICAgICAgICAgYnRuLmNsYXNzID0gJ20taC01IGgtMjAgJyArIChyID8gJ2dyZWVuJyA6ICcnKTtcclxuICAgICAgICAgIGJ0bi5pY29uID0gciA/ICdmYS10b2dnbGUtb24nIDogJ2ZhLXRvZ2dsZS1vZmYnO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudGFibGUuc29ydGFibGUpe1xyXG4gICAgICB0aGlzLnNldFNvcnRSb3coKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0T3B0aW9ucygpO1xyXG4gIH1cclxuICBsb2FkQ2hpbGRyZW4ocCk6IHZvaWR7XHJcbiAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCkuc2VuZCh0aGlzLnRhYmxlLnVybCArIGAvJHtwfWAsIE1ldGhvZC5Qb3N0LFxyXG4gICAgICBudWxsLCB0aGlzLnNob3dDaGlsZHJlbiwgKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2hpbGRyZW4gPSByZXN1bHQuTGlzdDtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICQodGhpcy5jaGlsZHJlbkRpdi5uYXRpdmVFbGVtZW50KS5zbGlkZURvd24oKTtcclxuICAgICAgICAgIHRoaXMuc2hvd0NoaWxkcmVuLmljb24gPSAnZmEtZHVvdG9uZSBmYS1hbmdsZS1kb3duIGYtcy0yMic7XHJcbiAgICAgICAgfSwgNTApO1xyXG4gICAgICB9KTtcclxuICB9XHJcbiAgc2VsZWN0KCk6IHZvaWR7XHJcbiAgICB0aGlzLnJvdy5EYXRhLnNlbGVjdGVkID0gIXRoaXMucm93LkRhdGEuc2VsZWN0ZWQ7XHJcbiAgfVxyXG4gIG9uQ2hhbmdlUm93cyhlKTogdm9pZHtcclxuICAgIHJldHVybiB0aGlzLmNoYW5nZVJvd3MuZW1pdChlKTtcclxuICB9XHJcbiAgb25Db25maXJtU2hvdyhlKTogdm9pZHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpcm1TaG93LmVtaXQoZSk7XHJcbiAgfVxyXG4gIHNldFNvcnRSb3coKTogdm9pZHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy50YWJsZS5oYXNDaGlsZHJlbikge1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAkKHRoaXMuY2hpbGRyZW5EaXYubmF0aXZlRWxlbWVudCkuc29ydGFibGUoe1xyXG4gICAgICAgICAgYXhpczogJ3knLFxyXG4gICAgICAgICAgaGFuZGxlOiAnPiAucm93ID4gLml0ZW0tY29uID4gLmhhbmRsZS1zb3J0YWJsZScsXHJcbiAgICAgICAgICB1cGRhdGU6ICgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZGF0YSA9IFtdO1xyXG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICAgICQodGhpcy5jaGlsZHJlbkRpdi5uYXRpdmVFbGVtZW50KS5zb3J0YWJsZSgndG9BcnJheScpLmZvckVhY2goeCA9PiBkYXRhLnB1c2goeCkpO1xyXG4gICAgICAgICAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMudGFibGUubCkuc2VuZCh0aGlzLnRhYmxlLnVybCArICcvU29ydCcsIE1ldGhvZC5Qb3N0LCBkYXRhLCBudWxsLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMudGFibGUub25Tb3J0KXtcclxuICAgICAgICAgICAgICAgIHRoaXMudGFibGUub25Tb3J0KCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSwgNTAwKTtcclxuICB9XHJcblxyXG4gIGdldE9wdGlvblVybCh1cmwsIHJlbGF0ZWRJZCwgcm93SWQpOiBzdHJpbmd7XHJcbiAgICByZXR1cm4gKHJlbGF0ZWRJZCA/IHVybC5yZXBsYWNlKCd7fScsIHJlbGF0ZWRJZCkgOiB1cmwpLnJlcGxhY2UoJ3t9Jywgcm93SWQpO1xyXG4gIH1cclxuICBzZXRPcHRpb25zKCk6IHZvaWR7XHJcbiAgICBjb25zdCBvcHRzID0gW107XHJcbiAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiB0aGlzLnJvdy5PcHRpb25zLmZpbHRlcih4ID0+IHguVHlwZSA9PT0gUGVybWlzc2lvblR5cGVFbnVtLk9wdGlvbiAmJiB4LklucHV0QWN0aW9uID09PSBQZXJtaXNzaW9uSW5wdXRBY3Rpb25FbnVtLklucHV0KSl7XHJcbiAgICAgIGNvbnN0IGlucCA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgbnVsbCwgbnVsbCwgSW5wdXRUeXBlLkNoZWNrLCAnaC0yNSB3aXRob3V0LWJvcmRlciBtLWgtNSBwLTAgdy11JywgdGhpcy5yb3cuRGF0YVtvcHRpb24uQWN0aW9uXSA9PT0gdHJ1ZSk7XHJcbiAgICAgIGlucC5yb3cgPSB0aGlzLnJvdztcclxuICAgICAgaW5wLnRvb2x0aXAgPSBvcHRpb24uTmFtZTtcclxuICAgICAgaW5wLm9uQ2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucm93LkRhdGFbb3B0aW9uLkFjdGlvbl0gPSAhaW5wLmRhdGEoKTtcclxuICAgICAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCkuc2VuZChvcHRpb24udXJsICsgJy8nICsgdGhpcy5yb3cuRGF0YS5JZCwgTWV0aG9kLlBvc3QsIG51bGwsIG51bGwsICgpID0+IHtcclxuICAgICAgICB9KTtcclxuICAgICAgfTtcclxuICAgICAgaW5wLmRpc3BsYXlMYWJlbCA9IGZhbHNlO1xyXG4gICAgICBvcHRzLnB1c2goaW5wKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmFkZENoaWxkcmVuICE9PSBudWxsICYmICh0aGlzLnRhYmxlLmxldmVsID09PSBudWxsIHx8IHRoaXMudGFibGUubGV2ZWwgPiB0aGlzLmxldmVsKSl7XHJcbiAgICAgIG9wdHMucHVzaCh0aGlzLmFkZENoaWxkcmVuKTtcclxuICAgIH1cclxuICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIHRoaXMucm93Lk9wdGlvbnMuZmlsdGVyKHggPT4geC5UeXBlID09PSBQZXJtaXNzaW9uVHlwZUVudW0uT3B0aW9uICYmIHguSW5wdXRBY3Rpb24gIT09IFBlcm1pc3Npb25JbnB1dEFjdGlvbkVudW0uSW5wdXQpKXtcclxuICAgICAgY29uc3Qgb3B0ID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCBvcHRpb24uTmFtZSwgb3B0aW9uLkljb24sXHJcbiAgICAgICAgb3B0aW9uLklucHV0VHlwZSA9PT0gUGVybWlzc2lvbklucHV0VHlwZUVudW0uSWNvbiA/IElucHV0VHlwZS5JY29uIDogSW5wdXRUeXBlLkJ1dHRvbiwgJ2JsdWUgaC0yNSBtLWgtNSBkLWliIHZhLW0gZi11Jyk7XHJcbiAgICAgIG9wdC5yb3cgPSB0aGlzLnJvdztcclxuICAgICAgaWYgKG9wdGlvbi5BY2Nlc3NUeXBlID09PSBQZXJtaXNzaW9uQWNjZXNzVHlwZUVudW0uVXBkYXRlKXtcclxuICAgICAgICBpZiAodGhpcy50YWJsZS5mb3JtKXtcclxuICAgICAgICAgIG9wdC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnRhYmxlLmZvcm0udXJsID0gdGhpcy5nZXRPcHRpb25Vcmwob3B0aW9uLlVybCwgdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5SZWxhdGVkSWQsIHRoaXMucm93LkRhdGEuSWQpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy50YWJsZS5oYXNDaGlsZHJlbiAmJiB0aGlzLnJvdy5EYXRhLlBhcmVudElkICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICB0aGlzLnRhYmxlLmZvcm0ub25TdWNjZXNzQmFzZSA9ICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMudGFibGUubW9kYWwuaGlkZSgpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudGFibGUuY2hpbGRyZW5BdXRvTG9hZCl7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMubG9hZFBhcmVudC5lbWl0KHRoaXMucm93LkRhdGEuUGFyZW50SWQpO1xyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudGFibGUubG9hZCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy50YWJsZS5mb3JtLm9uU3VjY2Vzc0Jhc2UgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMudGFibGUuZm9ybS5vblRvcCl7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudGFibGUubW9kYWwuaGlkZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZS5mb3JtLmNsZWFyKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlLmxvYWQoKTtcclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuZWRpdChvcHQsIG9wdGlvbik7XHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBvcHQudXJsID0gdGhpcy5nZXRPcHRpb25Vcmwob3B0aW9uLlVybCwgdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5SZWxhdGVkSWQsIHRoaXMucm93LkRhdGEuSWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChvcHRpb24uQWNjZXNzVHlwZSA9PT0gUGVybWlzc2lvbkFjY2Vzc1R5cGVFbnVtLkRlbGV0ZSl7XHJcbiAgICAgICAgb3B0LmNsYXNzID0gb3B0LmNsYXNzLnJlcGxhY2UoJ2JsdWUnLCAncmVkJyk7XHJcbiAgICAgICAgb3B0Lm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgICBpZiAodGhpcy50YWJsZS5mb3JtKXtcclxuICAgICAgICAgICAgdGhpcy50YWJsZS5mb3JtLmNsZWFyKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodGhpcy50YWJsZS5wZXJtaXNzaW9ucy5UeXBlID09PSBQZXJtaXNzaW9uVHlwZUVudW0uRm9ybSl7XHJcbiAgICAgICAgICAgIHRoaXMudGFibGUucm93cyA9IHRoaXMudGFibGUucm93cy5maWx0ZXIoeCA9PiB4LklkICE9PSB0aGlzLnJvdy5EYXRhLklkKTtcclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VSb3dzLmVtaXQodGhpcy5yb3cuRGF0YSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmNvbmZpcm1TaG93LmVtaXQoe1xyXG4gICAgICAgICAgICAgIGFjdGlvbjogb3B0aW9uLkFjdGlvbixcclxuICAgICAgICAgICAgICB1cmw6IHRoaXMuZ2V0T3B0aW9uVXJsKG9wdGlvbi5VcmwsIHRoaXMudGFibGUucGVybWlzc2lvbnMuUmVsYXRlZElkLCB0aGlzLnJvdy5EYXRhLklkKSxcclxuICAgICAgICAgICAgICBhY2NlcHQ6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRhYmxlLmhhc0NoaWxkcmVuICYmIHRoaXMudGFibGUuY2hpbGRyZW5BdXRvTG9hZCAmJiB0aGlzLnJvdy5EYXRhLlBhcmVudElkICE9IG51bGwgKXtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkUGFyZW50LmVtaXQodGhpcy5yb3cuRGF0YS5QYXJlbnRJZCk7XHJcbiAgICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZS5sb2FkKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfX0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAob3B0aW9uLkFjY2Vzc1R5cGUgPT09IFBlcm1pc3Npb25BY2Nlc3NUeXBlRW51bS5SZXBvcnQpe1xyXG4gICAgICAgIG9wdC51cmwgPSAnL1JlcG9ydCcgKyBvcHRpb24uVXJsICsgJy8nICsgdGhpcy5yb3cuRGF0YS5JZDtcclxuICAgICAgICBvcHQudXJsTmV3VGFiID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChvcHRpb24uSW5wdXRBY3Rpb24gPT09IFBlcm1pc3Npb25JbnB1dEFjdGlvbkVudW0uTGluayB8fCBvcHRpb24uSW5wdXRBY3Rpb24gPT09IFBlcm1pc3Npb25JbnB1dEFjdGlvbkVudW0uTGlua05ld1RhYil7XHJcbiAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICBvcHQudXJsID0gb3B0aW9uLlVybCArICcvJyArIHRoaXMucm93LkRhdGEuSWQ7XHJcbiAgICAgICAgb3B0LnVybE5ld1RhYiA9IG9wdGlvbi5JbnB1dEFjdGlvbiA9PT0gUGVybWlzc2lvbklucHV0QWN0aW9uRW51bS5MaW5rTmV3VGFiO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKG9wdGlvbi5JbnB1dEFjdGlvbiA9PT0gUGVybWlzc2lvbklucHV0QWN0aW9uRW51bS5Nb2RhbCl7XHJcbiAgICAgICAgb3B0Lm1vZGFsID0gdGhpcy50YWJsZS5vcHRpb25zQWN0aW9ucy5maW5kKHggPT4geC5uYW1lID09PSBvcHRpb24uQWN0aW9uKTtcclxuICAgICAgICBvcHQub25DbGljayA9ICgpID0+IHtcclxuICAgICAgICAgIGlmIChvcHQubW9kYWwudGFibGUpe1xyXG4gICAgICAgICAgICBjb25zdCBwID0gbmV3IFBlcm1pc3Npb25DbGFzcygpO1xyXG4gICAgICAgICAgICBwLlJlbGF0ZWRJZCA9IHRoaXMucm93LkRhdGEuSWQ7XHJcbiAgICAgICAgICAgIHAuQXJlYSA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQXJlYTtcclxuICAgICAgICAgICAgcC5Db250cm9sbGVyID0gdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5Db250cm9sbGVyO1xyXG4gICAgICAgICAgICBwLkFjdGlvbiA9IG9wdGlvbi5BY3Rpb247XHJcbiAgICAgICAgICAgIHAuQWNjZXNzZXMgPSB0aGlzLnJvdy5PcHRpb25zLmZpbHRlcih4ID0+IHguUGFyZW50SWQgPT09IG9wdGlvbi5JZCk7XHJcbiAgICAgICAgICAgIG9wdC5tb2RhbC50YWJsZS5wZXJtaXNzaW9ucyA9IHA7XHJcbiAgICAgICAgICAgIGlmIChvcHQubW9kYWwudGFibGUuZm9ybSl7XHJcbiAgICAgICAgICAgICAgb3B0Lm1vZGFsLnRhYmxlLmZvcm0udXJsID0gb3B0aW9uLlVybC5yZXBsYWNlKCd7fScsIHRoaXMucm93LkRhdGEuSWQpICsgJy1pbnNlcnQnO1xyXG4gICAgICAgICAgICAgIG9wdC5tb2RhbC50YWJsZS5mb3JtLmJhc2VVcmwgPSBvcHRpb24uVXJsLnJlcGxhY2UoJ3t9JywgdGhpcy5yb3cuRGF0YS5JZCkgKyAnLWluc2VydCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb3B0Lm1vZGFsLnRhYmxlLnNldCgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKG9wdC5tb2RhbC5mb3JtKXtcclxuICAgICAgICAgICAgb3B0Lm1vZGFsLmZvcm0ubmFtZSA9IG9wdGlvbi5OYW1lO1xyXG4gICAgICAgICAgICBvcHQubW9kYWwuZm9ybS51cmwgPSBvcHRpb24uVXJsLnJlcGxhY2UoJ3t9JywgdGhpcy5yb3cuRGF0YS5JZCkgKyAnLXVwZGF0ZSc7XHJcbiAgICAgICAgICAgIG9wdC5tb2RhbC5mb3JtLmxvYWREYXRhKG9wdGlvbi5VcmwucmVwbGFjZSgne30nLCB0aGlzLnJvdy5EYXRhLklkKSArICctZ2V0Jyk7XHJcbiAgICAgICAgICAgIG9wdC5tb2RhbC5mb3JtLm9uU3VjY2Vzc0Jhc2UgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgb3B0Lm1vZGFsLmhpZGUoKTtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChvcHQubW9kYWwuYWNjb3JkaW9uKXtcclxuICAgICAgICAgICAgZm9yIChjb25zdCByIG9mIG9wdC5tb2RhbC5hY2NvcmRpb24ucm93cyl7XHJcbiAgICAgICAgICAgICAgaWYgKHIudGFibGUpe1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMucm93Lk9wdGlvbnMuc2xpY2UoKTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKG9wdGlvbnMpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICAgICAgICAgIHAuUmVsYXRlZElkID0gdGhpcy5yb3cuRGF0YS5JZDtcclxuICAgICAgICAgICAgICAgIHAuQXJlYSA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQXJlYTtcclxuICAgICAgICAgICAgICAgIHAuQ29udHJvbGxlciA9IG9wdGlvbi5Db250cm9sbGVyO1xyXG4gICAgICAgICAgICAgICAgcC5BY3Rpb24gPSByLm5hbWU7XHJcbiAgICAgICAgICAgICAgICBwLkFjY2Vzc2VzID0gb3B0aW9ucy5maWx0ZXIoeCA9PiB4LlBhcmVudElkID09PSBvcHRpb24uSWQpO1xyXG4gICAgICAgICAgICAgICAgcC5BY2Nlc3Nlcy5mb3JFYWNoKHggPT4geC5VcmwgPSB4LlVybC5yZXBsYWNlKCd7YWN0aW9ufScsIHIubmFtZS50b0xvd2VyQ2FzZSgpKSk7XHJcbiAgICAgICAgICAgICAgICByLnRhYmxlLnBlcm1pc3Npb25zID0gcDtcclxuICAgICAgICAgICAgICAgIGlmIChyLnRhYmxlLmZvcm0pe1xyXG4gICAgICAgICAgICAgICAgICByLnRhYmxlLmZvcm0udXJsID0gb3B0aW9uLlVybCArICdpbnNlcnQnO1xyXG4gICAgICAgICAgICAgICAgICByLnRhYmxlLmZvcm0uYmFzZVVybCA9IG9wdGlvbi5VcmwgKyAnaW5zZXJ0JztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHIudGFibGUuc2V0KCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChvcHRpb24uSW5wdXRBY3Rpb24gPT09IFBlcm1pc3Npb25JbnB1dEFjdGlvbkVudW0uRmlsZSl7XHJcbiAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICBwLlJlbGF0ZWRJZCA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuUmVsYXRlZElkO1xyXG4gICAgICAgIHAuQXJlYSA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQXJlYTtcclxuICAgICAgICBwLkNvbnRyb2xsZXIgPSBvcHRpb24uQ29udHJvbGxlcjtcclxuICAgICAgICBwLkFjdGlvbiA9IG9wdGlvbi5BY3Rpb247XHJcbiAgICAgICAgb3B0LnVybCA9ICcvZmlsZScgKyB0aGlzLmdldE9wdGlvblVybChvcHRpb24uVXJsLCB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLlJlbGF0ZWRJZCwgdGhpcy5yb3cuRGF0YS5JZCk7XHJcbiAgICAgICAgb3B0LnVybE5ld1RhYiA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAob3B0aW9uLklucHV0QWN0aW9uID09PSBQZXJtaXNzaW9uSW5wdXRBY3Rpb25FbnVtLkNvbmZpcm0pe1xyXG4gICAgICAgIG9wdC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICAgIHAuUmVsYXRlZElkID0gdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5SZWxhdGVkSWQ7XHJcbiAgICAgICAgICBwLkFyZWEgPSB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLkFyZWE7XHJcbiAgICAgICAgICBwLkNvbnRyb2xsZXIgPSBvcHRpb24uQ29udHJvbGxlcjtcclxuICAgICAgICAgIHAuQWN0aW9uID0gb3B0aW9uLkFjdGlvbjtcclxuICAgICAgICAgIHRoaXMudGFibGUuc2hvd0NvbmZpcm0odGhpcy50YWJsZS5sKG9wdGlvbi5BY3Rpb24gKyAnQ29uZmlybScpLCBvcHRpb24uVXJsLnJlcGxhY2UoJ3t9JywgdGhpcy5yb3cuRGF0YS5JZCksIG51bGwsICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy50YWJsZS5sb2FkKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKG9wdGlvbi5JbnB1dEFjdGlvbiA9PT0gUGVybWlzc2lvbklucHV0QWN0aW9uRW51bS5PbkNsaWNrKXtcclxuICAgICAgICBvcHQub25DbGljayA9IChidG4pID0+IHtcclxuICAgICAgICAgIHRoaXMudGFibGUub3B0aW9uc0FjdGlvbnMuZmluZCh4ID0+IHgubmFtZSA9PT0gb3B0aW9uLkFjdGlvbikub25DbGljayhidG4pO1xyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgb3B0cy5wdXNoKG9wdCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRzO1xyXG4gICAgLy8gcmV0dXJuICh0aGlzLmFkZENoaWxkcmVuICE9PSBudWxsICYmICh0aGlzLnRhYmxlLmxldmVsID09PSBudWxsIHx8IHRoaXMudGFibGUubGV2ZWwgPiB0aGlzLmxldmVsKSA/IFt0aGlzLmFkZENoaWxkcmVuXSA6IFtdKVxyXG4gICAgLy8gICAuY29uY2F0KHRoaXMudGFibGUub3B0aW9ucy5maWx0ZXIoeCA9PiB4LmNvbmRpdGlvbiA9PSBudWxsIHx8XHJcbiAgICAvLyAgICAgKHguY29uZGl0aW9uLnN0YXJ0c1dpdGgoJyEnKSA/ICF0aGlzLnJvdy5EYXRhW3guY29uZGl0aW9uLnN1YnN0cmluZygxKV0gOiB0aGlzLnJvdy5EYXRhW3guY29uZGl0aW9uXSkpLm1hcCgobykgPT4ge1xyXG4gICAgLy8gICAgIGNvbnN0IGkgPSBIZWxwZXJDbGFzcy5jbG9uZShvKTtcclxuICAgIC8vICAgICBpZiAoaS51cmwpe1xyXG4gICAgLy8gICAgICAgaS51cmwgPSBpLnVybC5yZXBsYWNlKCd7fScsIHRoaXMucm93LkRhdGEuSWQpO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgICBpLnJvdyA9IHRoaXMucm93LkRhdGE7XHJcbiAgICAvLyAgICAgaS5jbGFzcyA9IGkuY2xhc3MgKyAnIG0taC01IGgtMjUgZC1pYiB2YS1tIGYtdSc7XHJcbiAgICAvLyAgICAgcmV0dXJuIGk7XHJcbiAgICAvLyB9KSkuY29uY2F0KHRoaXMudGFibGUuaGFzU3RhdHVzID8gW3RoaXMub3B0U3RhdHVzXSA6IFtdKVxyXG4gICAgLy8gICAgIC5jb25jYXQodGhpcy50YWJsZS5wZXJtaXNzaW9ucy5oYXNBY2Nlc3MoJ1VwZGF0ZScpID8gW3RoaXMub3B0RWRpdF0gOiBbXSlcclxuICAgIC8vICAgICAuY29uY2F0KHRoaXMudGFibGUucGVybWlzc2lvbnMuaGFzQWNjZXNzKCdEZWxldGUnKSA/IFt0aGlzLm9wdERlbGV0ZV0gOiBbXSk7XHJcbiAgfVxyXG4gIGdldENlbGwoY29sOiBUYWJsZUNvbGxDbGFzcyk6IGFueXtcclxuICAgIGNvbnNvbGUubG9nKCdnZXRDZWxsJyk7XHJcbiAgICBjb25zdCBjdiA9IF8uZ2V0KHRoaXMucm93LkRhdGEsIGNvbC5uYW1lKTtcclxuICAgIGlmIChjb2wuZnVuICE9IG51bGwpIHtcclxuICAgICAgcmV0dXJuIGNvbC5mdW4odGhpcy5yb3cuRGF0YSk7XHJcbiAgICB9IGVsc2UgaWYgKGNvbC5lbnVtICE9PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnRhYmxlLmwoRW51bVV0aWxzLmdldEtleUJ5VmFsdWUoY29sLmVudW0sIGN2KSk7XHJcbiAgICB9IGVsc2UgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbGxUeXBlLkRhdGVEaWYpIHtcclxuICAgICAgcmV0dXJuIEhlbHBlckNsYXNzLmdldERhdGVEaWYodGhpcy50YWJsZS5sLCBjdik7XHJcbiAgICB9IGVsc2UgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbGxUeXBlLkRhdGUpIHtcclxuICAgICAgcmV0dXJuIEhlbHBlckNsYXNzLmdldERhdGUoY3YpO1xyXG4gICAgfSBlbHNlIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2xsVHlwZS5EYXRlVGltZSkge1xyXG4gICAgICByZXR1cm4gSGVscGVyQ2xhc3MuZ2V0RGF0ZVRpbWUoY3YpO1xyXG4gICAgfSBlbHNlIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2xsVHlwZS5UaW1lKSB7XHJcbiAgICAgIHJldHVybiBIZWxwZXJDbGFzcy5nZXRUaW1lKGN2KTtcclxuICAgIH0gZWxzZSBpZiAoY29sLnR5cGUgPT09IFRhYmxlQ29sbFR5cGUuQ29sb3IpIHtcclxuICAgICAgcmV0dXJuICc8ZGl2IGNsYXNzPVwiY29sb3JcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICcgKyBjdiArICc7IGNvbG9yOiAnICsgSGVscGVyQ2xhc3MuZ2V0Q29sb3JCeUJnQ29sb3IoY3YpICsgJ1wiPicgKyBjdiArICc8L2Rpdj4nO1xyXG4gICAgfSBlbHNlIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2xsVHlwZS5VcmwpIHtcclxuICAgICAgcmV0dXJuICc8YSB0YXJnZXQ9XCJfYmxhbmtcIiBjbGFzcz1cImx0clwiIGhyZWY9XCInICsgY3YgKyAnXCI+JyArIGN2ICsgJzwvYT4nO1xyXG4gICAgfSBlbHNlIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2xsVHlwZS5JbWFnZSkge1xyXG4gICAgICByZXR1cm4gJzxpbWcgY2xhc3M9XCJoLTEwMFwiIGFsdD1cIlwiIHNyYz1cIicgKyB0aGlzLnNlcnZpY2UuZW52aXJvbm1lbnQudXJsICsgY3YgKyAnXCIvPic7XHJcbiAgICB9IGVsc2UgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbGxUeXBlLkZpbGVTaXplKSB7XHJcbiAgICAgIHJldHVybiBIZWxwZXJDbGFzcy5nZXRGaWxlU2l6ZShjdik7XHJcbiAgICB9IGVsc2UgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbGxUeXBlLlByaWNlKSB7XHJcbiAgICAgIHJldHVybiBjdi50b0xvY2FsZVN0cmluZygpICsgJyAnICsgdGhpcy50YWJsZS5sKCdSaWFsJyk7XHJcbiAgICB9IGVsc2UgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbGxUeXBlLlBsYXF1ZSkge1xyXG4gICAgICBjb25zdCBwYXJ0cyA9IGN2LnNwbGl0KCdfJyk7XHJcbiAgICAgIGlmIChwYXJ0cy5sZW5ndGggPT09IDQpIHtcclxuICAgICAgICByZXR1cm4gJzxkaXYgY2xhc3M9XCJwbGFxdWUnICsgKHBhcnRzWzFdID09PSAn2LknID8gJyBwJyA6ICcnKSArIChwYXJ0c1sxXSA9PT0gJ9in2YTZgScgPyAnIGcnIDogJycpICsgJ1wiPicgK1xyXG4gICAgICAgICAgJzxkaXYgY2xhc3M9XCJwYXJ0MVwiPicgKyBwYXJ0c1swXSArICc8L2Rpdj4nICtcclxuICAgICAgICAgICc8ZGl2IGNsYXNzPVwicGFydDJcIj4nICsgcGFydHNbMV0gKyAnPC9kaXY+JyArXHJcbiAgICAgICAgICAnPGRpdiBjbGFzcz1cInBhcnQzXCI+JyArIHBhcnRzWzJdICsgJzwvZGl2PicgK1xyXG4gICAgICAgICAgJzxkaXYgY2xhc3M9XCJwYXJ0NFwiPicgKyBwYXJ0c1szXSArICc8L2Rpdj4nICtcclxuICAgICAgICAgICc8L2Rpdj4nO1xyXG4gICAgICB9IGVsc2UgaWYgKHBhcnRzLmxlbmd0aCA9PT0gMiAmJiBwYXJ0cy5ldmVyeSh4ID0+IC9eWzAtOV0rJC8udGVzdCh4KSkpe1xyXG4gICAgICAgIHJldHVybiAnPGRpdiBjbGFzcz1cInBsYXF1ZSBwbGFxdWUtbVwiPicgK1xyXG4gICAgICAgICAgJzxkaXYgY2xhc3M9XCJwYXJ0MVwiPicgKyBwYXJ0c1swXSArICc8L2Rpdj4nICtcclxuICAgICAgICAgICc8ZGl2IGNsYXNzPVwicGFydDJcIj4nICsgcGFydHNbMV0gKyAnPC9kaXY+JyArXHJcbiAgICAgICAgICAnPC9kaXY+JztcclxuICAgICAgfSBlbHNlIGlmIChwYXJ0cy5sZW5ndGggPT09IDIpe1xyXG4gICAgICAgIHJldHVybiAnPGRpdiBjbGFzcz1cInBsYXF1ZSBwbGFxdWUtZlwiPicgK1xyXG4gICAgICAgICAgJzxkaXYgY2xhc3M9XCJwYXJ0MVwiPicgKyBwYXJ0c1swXSArICc8L2Rpdj4nICtcclxuICAgICAgICAgICc8ZGl2IGNsYXNzPVwicGFydDJcIj4nICsgcGFydHNbMV0gKyAnPC9kaXY+JyArXHJcbiAgICAgICAgICAnPC9kaXY+JztcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2xsVHlwZS5QbGFxdWVUZXh0KSB7XHJcbiAgICAgIGNvbnN0IHBhcnRzID0gY3Yuc3BsaXQoJ18nKTtcclxuICAgICAgaWYgKHBhcnRzLmxlbmd0aCA9PT0gNCl7XHJcbiAgICAgICAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwibHRyXCI+JHtwYXJ0c1swXX0gJHtwYXJ0c1sxXX0mbHJtOyAke3BhcnRzWzJdfSAke3BhcnRzWzNdfTwvZGl2PmA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLnRhYmxlLmwoY3YpO1xyXG4gIH1cclxuICBnZXRDb2wobik6IHN0cmluZ3tcclxuICAgIGxldCBjID0gdGhpcy5yb3cuRGF0YTtcclxuICAgIG4uc3BsaXQoJy4nKS5mb3JFYWNoKCh4KSA9PiB7XHJcbiAgICAgIGMgPSBjW3hdO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gYztcclxuICB9XHJcbiAgZWRpdChvcHQ6IElucHV0Q2xhc3MsIG9wdGlvbjogUGVybWlzc2lvbkNsYXNzKTogdm9pZHtcclxuICAgIGlmICh0aGlzLnRhYmxlLnBlcm1pc3Npb25zLlR5cGUgPT09IFBlcm1pc3Npb25UeXBlRW51bS5Gb3JtKXtcclxuICAgICAgdGhpcy50YWJsZS5mb3JtLm5hbWUgPSBvcHQubmFtZTtcclxuICAgICAgdGhpcy50YWJsZS5mb3JtLnNldERhdGEodGhpcy5yb3cuRGF0YSk7XHJcbiAgICAgIHRoaXMudGFibGUuZm9ybS5zZXRCdXR0b25zKHRoaXMudGFibGUuZm9ybS5vblRvcCwgdHJ1ZSwgdGhpcy5yb3cuRGF0YS5JZCk7XHJcbiAgICAgIHRoaXMudGFibGUuZm9ybS5pbnB1dHMuZmlsdGVyKHggPT4geC5pbkVkaXREaXNhYmxlZCkuZm9yRWFjaCh4ID0+IHguZGlzYWJsZWQgPSB0cnVlKTtcclxuICAgICAgdGhpcy50YWJsZS5mb3JtLmlucHV0cy5maWx0ZXIoeCA9PiAheC5pbkVkaXRWaXNpYmxlKS5mb3JFYWNoKHggPT4geC52aXNpYmxlID0gZmFsc2UpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIG5ldyBSZXF1ZXN0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sKS5zZW5kKHRoaXMuZ2V0T3B0aW9uVXJsKG9wdGlvbi5VcmwucmVwbGFjZSgndXBkYXRlJywgJ2dldCcpLCB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLlJlbGF0ZWRJZCwgdGhpcy5yb3cuRGF0YS5JZCksIE1ldGhvZC5Qb3N0LFxyXG4gICAgICAgIG51bGwsIG9wdCwgKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy50YWJsZS5mb3JtLm5hbWUgPSBvcHQubmFtZTtcclxuICAgICAgICAgIHRoaXMudGFibGUuZm9ybS5zZXRCdXR0b25zKHRoaXMudGFibGUuZm9ybS5vblRvcCwgdHJ1ZSwgdGhpcy5yb3cuRGF0YS5JZCk7XHJcbiAgICAgICAgICB0aGlzLnRhYmxlLmZvcm0uc2V0RGF0YShyZXN1bHQpO1xyXG4gICAgICAgICAgdGhpcy50YWJsZS5mb3JtLmlucHV0cy5maWx0ZXIoeCA9PiB4LmluRWRpdERpc2FibGVkKS5mb3JFYWNoKHggPT4geC5kaXNhYmxlZCA9IHRydWUpO1xyXG4gICAgICAgICAgdGhpcy50YWJsZS5mb3JtLmlucHV0cy5maWx0ZXIoeCA9PiAheC5pbkVkaXRWaXNpYmxlKS5mb3JFYWNoKHggPT4geC52aXNpYmxlID0gZmFsc2UpO1xyXG4gICAgICAgICAgaWYgKHRoaXMudGFibGUubW9kYWwpe1xyXG4gICAgICAgICAgICB0aGlzLnRhYmxlLm1vZGFsLnNob3coKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0Q2hpbGRyZW4oKTogYW55W117XHJcbiAgICByZXR1cm4gdGhpcy5yb3cuRGF0YS5JZCA/IHRoaXMudGFibGUucm93cy5maWx0ZXIoeCA9PiB4LkRhdGEuUGFyZW50SWQgPT09IHRoaXMucm93LkRhdGEuSWQpIDogW107XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
406
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUucm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJEOi9Qcm9qZWN0cy9Qc1Rvb2xraXQvVUkvcHJvamVjdHMvcHMtdG9vbGtpdC11aS9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy90YWJsZS9yb3cvdGFibGUucm93LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxNQUFNLEVBQUUsd0JBQXdCLEVBQ2hDLHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDdkIsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixlQUFlLEVBQ2hCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDMUQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDMUUsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBT2xFLE1BQU0sT0FBTyxpQkFBaUI7SUFxQjVCLFlBQW1CLE9BQWlDO1FBQWpDLFlBQU8sR0FBUCxPQUFPLENBQTBCO1FBbkJwRCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFekMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFReEMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFJeEMsaUJBQVksR0FBZSxJ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QUUsZUFBZTtnQkFDekIscS9EQUF5Qzs7YUFFMUM7OztZQVJPLHdCQUF3Qjs7OzBCQVU3QixNQUFNO3lCQUVOLE1BQU07b0JBRU4sS0FBSztvQkFFTCxLQUFLO2tCQUVMLEtBQUs7eUJBRUwsTUFBTTswQkFTTixTQUFTLFNBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQge1RhYmxlQ2xhc3MsIFRhYmxlQ29sbENsYXNzfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL3RhYmxlLmNsYXNzJztcclxuaW1wb3J0IHtcclxuICBFbnVtVXRpbHMsXHJcbiAgSW5wdXRUeXBlLFxyXG4gIE1ldGhvZCwgUGVybWlzc2lvbkFjY2Vzc1R5cGVFbnVtLFxyXG4gIFBlcm1pc3Npb25JbnB1dEFjdGlvbkVudW0sXHJcbiAgUGVybWlzc2lvbklucHV0VHlwZUVudW0sXHJcbiAgUGVybWlzc2lvblR5cGVFbnVtLFxyXG4gIFRhYmxlQ29sbFR5cGUsXHJcbiAgVGFibGVPcHRpb25UeXBlXHJcbn0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9lbnVtLmNsYXNzJztcclxuaW1wb3J0IHtJbnB1dENsYXNzfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2Zvcm0uY2xhc3MnO1xyXG5pbXBvcnQge1JlcXVlc3RDbGFzc30gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9yZXF1ZXN0LmNsYXNzJztcclxuaW1wb3J0IHtIZWxwZXJDbGFzc30gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9oZWxwZXIuY2xhc3MnO1xyXG5pbXBvcnQge1BzVG9vbGtpdFVpQ29uZmlnU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgKiBhcyAkIGZyb20gJ2pxdWVyeSc7XHJcbmltcG9ydCB7UGVybWlzc2lvbkNsYXNzfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL3Blcm1pc3Npb24uY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdGFibGUtcm93JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUucm93LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5yb3cuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZVJvd0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuICBAT3V0cHV0KClcclxuICBjb25maXJtU2hvdyA9IG5ldyBFdmVudEVtaXR0ZXI8b2JqZWN0PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIGNoYW5nZVJvd3MgPSBuZXcgRXZlbnRFbWl0dGVyPG9iamVjdD4oKTtcclxuICBASW5wdXQoKVxyXG4gIGxldmVsOiBudW1iZXI7XHJcbiAgQElucHV0KClcclxuICB0YWJsZTogVGFibGVDbGFzcztcclxuICBASW5wdXQoKVxyXG4gIHJvdztcclxuICBAT3V0cHV0KClcclxuICBsb2FkUGFyZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgZ2V0IHR5cGUoKTogdHlwZW9mIElucHV0VHlwZSB7IHJldHVybiBJbnB1dFR5cGU7IH1cclxuICBnZXQgdGFibGVPcHRpb25UeXBlKCk6IHR5cGVvZiBUYWJsZU9wdGlvblR5cGV7IHJldHVybiBUYWJsZU9wdGlvblR5cGU7IH1cclxuICBvcHRTdGF0dXM6IElucHV0Q2xhc3M7XHJcbiAgc2hvd0NoaWxkcmVuOiBJbnB1dENsYXNzID0gbnVsbDtcclxuICBhZGRDaGlsZHJlbjogSW5wdXRDbGFzcyA9IG51bGw7XHJcbiAgY2hpbGRyZW46IGFueVtdID0gW107XHJcbiAgb3B0aW9uczogYW55W10gPSBbXTtcclxuICBAVmlld0NoaWxkKCdjaGlsZHJlbkRpdicpIGNoaWxkcmVuRGl2OiBFbGVtZW50UmVmO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzZXJ2aWNlOiBQc1Rvb2xraXRVaUNvbmZpZ1NlcnZpY2UpIHtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy50YWJsZS5oYXNDaGlsZHJlbil7XHJcbiAgICAgIGlmICghdGhpcy50YWJsZS5jaGlsZHJlbkF1dG9Mb2FkKXtcclxuICAgICAgICB0aGlzLmNoaWxkcmVuID0gdGhpcy5nZXRDaGlsZHJlbigpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnRhYmxlLnBlcm1pc3Npb25zLmhhc0FjY2VzcyhQZXJtaXNzaW9uQWNjZXNzVHlwZUVudW0uSW5zZXJ0KSl7XHJcbiAgICAgICAgdGhpcy5hZGRDaGlsZHJlbiA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgdGhpcy50YWJsZS5uYW1lICsgJ0FkZFN1YnNldFRpdGxlJyxcclxuICAgICAgICAgICdmYS1kdW90b25lIGZhLXBsdXMgZmEtcm90YXRlLTkwJywgSW5wdXRUeXBlLkljb24sXHJcbiAgICAgICAgICAnZ3JlZW4gbS1oLTUgaC0yNSBkLWliIHZhLW0gZi11Jyk7XHJcbiAgICAgICAgdGhpcy5hZGRDaGlsZHJlbi5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy50YWJsZS5mb3JtLm9uU3VjY2Vzc0Jhc2UgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudGFibGUubW9kYWwuaGlkZSgpO1xyXG4gICAgICAgICAgICB0aGlzLnNob3dDaGlsZHJlbi50eXBlID0gSW5wdXRUeXBlLkljb247XHJcbiAgICAgICAgICAgIHRoaXMubG9hZENoaWxkcmVuKHRoaXMucm93LkRhdGEuSWQpO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIHRoaXMudGFibGUuc2hvd0luc2VydE1vZGFsKHRoaXMucm93LkRhdGEuSWQpO1xyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zaG93Q2hpbGRyZW4gPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsIHRoaXMudGFibGUubmFtZSArICdTdWJzZXRUaXRsZScsICdmYS1kdW90b25lIGZhLWFuZ2xlLWxlZnQgZi1zLTIyJyxcclxuICAgICAgICB0aGlzLnJvdy5EYXRhLkNvdW50Q2hpbGQgPiAwIHx8ICghdGhpcy50YWJsZS5jaGlsZHJlbkF1dG9Mb2FkICYmIHRoaXMuY2hpbGRyZW4ubGVuZ3RoID4gMCkgPyBJbnB1dFR5cGUuSWNvbiA6IElucHV0VHlwZS5IaWRkZW4sICdoLTI1IG0taC01IGQtaWIgdmEtbSBmLXUnKTtcclxuICAgICAgdGhpcy5zaG93Q2hpbGRyZW4ub25DbGljayA9ICgpID0+IHtcclxuICAgICAgICBpZiAoJCh0aGlzLmNoaWxkcmVuRGl2Lm5hdGl2ZUVsZW1lbnQpLmlzKCc6dmlzaWJsZScpKXtcclxuICAgICAgICAgICQodGhpcy5jaGlsZHJlbkRpdi5uYXRpdmVFbGVtZW50KS5zbGlkZVVwKCk7XHJcbiAgICAgICAgICB0aGlzLnNob3dDaGlsZHJlbi5pY29uID0gJ2ZhLWR1b3RvbmUgZmEtYW5nbGUtbGVmdCBmLXMtMjInO1xyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jaGlsZHJlbi5sZW5ndGggPT09IDApe1xyXG4gICAgICAgICAgdGhpcy5sb2FkQ2hpbGRyZW4odGhpcy5yb3cuRGF0YS5JZCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICQodGhpcy5jaGlsZHJlbkRpdi5uYXRpdmVFbGVtZW50KS5zbGlkZURvd24oKTtcclxuICAgICAgICAgIHRoaXMuc2hvd0NoaWxkcmVuLmljb24gPSAnZmEtZHVvdG9uZSBmYS1hbmdsZS1kb3duIGYtcy0yMic7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudGFibGUuaGFzU3RhdHVzKXtcclxuICAgICAgdGhpcy5vcHRTdGF0dXMgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdTdGF0dXMnLFxyXG4gICAgICAgIHRoaXMucm93LkRhdGEuQWN0aXZlID8gJ2ZhLXRvZ2dsZS1vbicgOiAnZmEtdG9nZ2xlLW9mZicsIElucHV0VHlwZS5JY29uLFxyXG4gICAgICAgICdtLWgtNSBoLTIwICcgKyAodGhpcy5yb3cuRGF0YS5BY3RpdmUgPyAnZ3JlZW4nIDogJycpKTtcclxuICAgICAgdGhpcy5vcHRTdGF0dXMucm93ID0gdGhpcy5yb3cuRGF0YTtcclxuICAgICAgdGhpcy5vcHRTdGF0dXMub25DbGljayA9IChidG4pID0+IHtcclxuICAgICAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMudGFibGUubCkuc2VuZCh0aGlzLnRhYmxlLnVybCArICcvU3RhdHVzLycgKyBidG4ucm93LklkLCBNZXRob2QuUG9zdCwgbnVsbCwgYnRuLCAocikgPT4ge1xyXG4gICAgICAgICAgYnRuLmNsYXNzID0gJ20taC01IGgtMjAgJyArIChyID8gJ2dyZWVuJyA6ICcnKTtcclxuICAgICAgICAgIGJ0bi5pY29uID0gciA/ICdmYS10b2dnbGUtb24nIDogJ2ZhLXRvZ2dsZS1vZmYnO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudGFibGUuc29ydGFibGUpe1xyXG4gICAgICB0aGlzLnNldFNvcnRSb3coKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0T3B0aW9ucygpO1xyXG4gIH1cclxuICBsb2FkQ2hpbGRyZW4ocCk6IHZvaWR7XHJcbiAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCkuc2VuZCh0aGlzLnRhYmxlLnVybCArIGAvJHtwfWAsIE1ldGhvZC5Qb3N0LFxyXG4gICAgICBudWxsLCB0aGlzLnNob3dDaGlsZHJlbiwgKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2hpbGRyZW4gPSByZXN1bHQuTGlzdDtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICQodGhpcy5jaGlsZHJlbkRpdi5uYXRpdmVFbGVtZW50KS5zbGlkZURvd24oKTtcclxuICAgICAgICAgIHRoaXMuc2hvd0NoaWxkcmVuLmljb24gPSAnZmEtZHVvdG9uZSBmYS1hbmdsZS1kb3duIGYtcy0yMic7XHJcbiAgICAgICAgfSwgNTApO1xyXG4gICAgICB9KTtcclxuICB9XHJcbiAgc2VsZWN0KCk6IHZvaWR7XHJcbiAgICB0aGlzLnJvdy5EYXRhLnNlbGVjdGVkID0gIXRoaXMucm93LkRhdGEuc2VsZWN0ZWQ7XHJcbiAgfVxyXG4gIG9uQ2hhbmdlUm93cyhlKTogdm9pZHtcclxuICAgIHJldHVybiB0aGlzLmNoYW5nZVJvd3MuZW1pdChlKTtcclxuICB9XHJcbiAgb25Db25maXJtU2hvdyhlKTogdm9pZHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpcm1TaG93LmVtaXQoZSk7XHJcbiAgfVxyXG4gIHNldFNvcnRSb3coKTogdm9pZHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy50YWJsZS5oYXNDaGlsZHJlbikge1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAkKHRoaXMuY2hpbGRyZW5EaXYubmF0aXZlRWxlbWVudCkuc29ydGFibGUoe1xyXG4gICAgICAgICAgYXhpczogJ3knLFxyXG4gICAgICAgICAgaGFuZGxlOiAnPiAucm93ID4gLml0ZW0tY29uID4gLmhhbmRsZS1zb3J0YWJsZScsXHJcbiAgICAgICAgICB1cGRhdGU6ICgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZGF0YSA9IFtdO1xyXG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICAgICQodGhpcy5jaGlsZHJlbkRpdi5uYXRpdmVFbGVtZW50KS5zb3J0YWJsZSgndG9BcnJheScpLmZvckVhY2goeCA9PiBkYXRhLnB1c2goeCkpO1xyXG4gICAgICAgICAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMudGFibGUubCkuc2VuZCh0aGlzLnRhYmxlLnVybCArICcvU29ydCcsIE1ldGhvZC5Qb3N0LCBkYXRhLCBudWxsLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMudGFibGUub25Tb3J0KXtcclxuICAgICAgICAgICAgICAgIHRoaXMudGFibGUub25Tb3J0KCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSwgNTAwKTtcclxuICB9XHJcblxyXG4gIGdldE9wdGlvblVybCh1cmwsIHJlbGF0ZWRJZCwgcm93SWQpOiBzdHJpbmd7XHJcbiAgICByZXR1cm4gKHJlbGF0ZWRJZCA/IHVybC5yZXBsYWNlKCd7fScsIHJlbGF0ZWRJZCkgOiB1cmwpLnJlcGxhY2UoJ3t9Jywgcm93SWQpO1xyXG4gIH1cclxuICBzZXRPcHRpb25zKCk6IHZvaWR7XHJcbiAgICBjb25zdCBvcHRzID0gW107XHJcbiAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiB0aGlzLnJvdy5PcHRpb25zLmZpbHRlcih4ID0+IHguVHlwZSA9PT0gUGVybWlzc2lvblR5cGVFbnVtLk9wdGlvbiAmJiB4LklucHV0QWN0aW9uID09PSBQZXJtaXNzaW9uSW5wdXRBY3Rpb25FbnVtLklucHV0KSl7XHJcbiAgICAgIGNvbnN0IGlucCA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgbnVsbCwgbnVsbCwgSW5wdXRUeXBlLkNoZWNrLCAnaC0yNSB3aXRob3V0LWJvcmRlciBtLWgtNSBwLTAgdy11JywgdGhpcy5yb3cuRGF0YVtvcHRpb24uQWN0aW9uXSA9PT0gdHJ1ZSk7XHJcbiAgICAgIGlucC5yb3cgPSB0aGlzLnJvdztcclxuICAgICAgaW5wLnRvb2x0aXAgPSBvcHRpb24uTmFtZTtcclxuICAgICAgaW5wLm9uQ2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMucm93LkRhdGFbb3B0aW9uLkFjdGlvbl0gPSAhaW5wLmRhdGEoKTtcclxuICAgICAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCkuc2VuZChvcHRpb24udXJsICsgJy8nICsgdGhpcy5yb3cuRGF0YS5JZCwgTWV0aG9kLlBvc3QsIG51bGwsIG51bGwsICgpID0+IHtcclxuICAgICAgICB9KTtcclxuICAgICAgfTtcclxuICAgICAgaW5wLmRpc3BsYXlMYWJlbCA9IGZhbHNlO1xyXG4gICAgICBvcHRzLnB1c2goaW5wKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmFkZENoaWxkcmVuICE9PSBudWxsICYmICh0aGlzLnRhYmxlLmxldmVsID09PSBudWxsIHx8IHRoaXMudGFibGUubGV2ZWwgPiB0aGlzLmxldmVsKSl7XHJcbiAgICAgIG9wdHMucHVzaCh0aGlzLmFkZENoaWxkcmVuKTtcclxuICAgIH1cclxuICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIHRoaXMucm93Lk9wdGlvbnMuZmlsdGVyKHggPT4geC5UeXBlID09PSBQZXJtaXNzaW9uVHlwZUVudW0uT3B0aW9uICYmIHguSW5wdXRBY3Rpb24gIT09IFBlcm1pc3Npb25JbnB1dEFjdGlvbkVudW0uSW5wdXQpKXtcclxuICAgICAgY29uc3Qgb3B0ID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCBvcHRpb24uTmFtZSwgb3B0aW9uLkljb24sXHJcbiAgICAgICAgb3B0aW9uLklucHV0VHlwZSA9PT0gUGVybWlzc2lvbklucHV0VHlwZUVudW0uSWNvbiA/IElucHV0VHlwZS5JY29uIDogSW5wdXRUeXBlLkJ1dHRvbiwgJ2JsdWUgaC0yNSBtLWgtNSBkLWliIHZhLW0gZi11Jyk7XHJcbiAgICAgIG9wdC5yb3cgPSB0aGlzLnJvdztcclxuICAgICAgaWYgKG9wdGlvbi5BY2Nlc3NUeXBlID09PSBQZXJtaXNzaW9uQWNjZXNzVHlwZUVudW0uVXBkYXRlKXtcclxuICAgICAgICBpZiAodGhpcy50YWJsZS5mb3JtKXtcclxuICAgICAgICAgIG9wdC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnRhYmxlLmZvcm0udXJsID0gdGhpcy5nZXRPcHRpb25Vcmwob3B0aW9uLlVybCwgdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5SZWxhdGVkSWQsIHRoaXMucm93LkRhdGEuSWQpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy50YWJsZS5oYXNDaGlsZHJlbiAmJiB0aGlzLnJvdy5EYXRhLlBhcmVudElkICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICB0aGlzLnRhYmxlLmZvcm0ub25TdWNjZXNzQmFzZSA9ICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMudGFibGUubW9kYWwuaGlkZSgpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudGFibGUuY2hpbGRyZW5BdXRvTG9hZCl7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMubG9hZFBhcmVudC5lbWl0KHRoaXMucm93LkRhdGEuUGFyZW50SWQpO1xyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudGFibGUubG9hZCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy50YWJsZS5mb3JtLm9uU3VjY2Vzc0Jhc2UgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMudGFibGUuZm9ybS5vblRvcCl7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudGFibGUubW9kYWwuaGlkZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy50YWJsZS5mb3JtLmNsZWFyKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRhYmxlLmxvYWQoKTtcclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuZWRpdChvcHQsIG9wdGlvbik7XHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBvcHQudXJsID0gdGhpcy5nZXRPcHRpb25Vcmwob3B0aW9uLlVybCwgdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5SZWxhdGVkSWQsIHRoaXMucm93LkRhdGEuSWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChvcHRpb24uQWNjZXNzVHlwZSA9PT0gUGVybWlzc2lvbkFjY2Vzc1R5cGVFbnVtLkRlbGV0ZSl7XHJcbiAgICAgICAgb3B0LmNsYXNzID0gb3B0LmNsYXNzLnJlcGxhY2UoJ2JsdWUnLCAncmVkJyk7XHJcbiAgICAgICAgb3B0Lm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgICBpZiAodGhpcy50YWJsZS5mb3JtKXtcclxuICAgICAgICAgICAgdGhpcy50YWJsZS5mb3JtLmNsZWFyKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodGhpcy50YWJsZS5wZXJtaXNzaW9ucy5UeXBlID09PSBQZXJtaXNzaW9uVHlwZUVudW0uRm9ybSl7XHJcbiAgICAgICAgICAgIHRoaXMudGFibGUucm93cyA9IHRoaXMudGFibGUucm93cy5maWx0ZXIoeCA9PiB4LklkICE9PSB0aGlzLnJvdy5EYXRhLklkKTtcclxuICAgICAgICAgICAgdGhpcy5jaGFuZ2VSb3dzLmVtaXQodGhpcy5yb3cuRGF0YSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmNvbmZpcm1TaG93LmVtaXQoe1xyXG4gICAgICAgICAgICAgIGFjdGlvbjogb3B0aW9uLkFjdGlvbixcclxuICAgICAgICAgICAgICB1cmw6IHRoaXMuZ2V0T3B0aW9uVXJsKG9wdGlvbi5VcmwsIHRoaXMudGFibGUucGVybWlzc2lvbnMuUmVsYXRlZElkLCB0aGlzLnJvdy5EYXRhLklkKSxcclxuICAgICAgICAgICAgICBhY2NlcHQ6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRhYmxlLmhhc0NoaWxkcmVuICYmIHRoaXMudGFibGUuY2hpbGRyZW5BdXRvTG9hZCAmJiB0aGlzLnJvdy5EYXRhLlBhcmVudElkICE9IG51bGwgKXtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkUGFyZW50LmVtaXQodGhpcy5yb3cuRGF0YS5QYXJlbnRJZCk7XHJcbiAgICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZS5sb2FkKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfX0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAob3B0aW9uLkFjY2Vzc1R5cGUgPT09IFBlcm1pc3Npb25BY2Nlc3NUeXBlRW51bS5SZXBvcnQpe1xyXG4gICAgICAgIG9wdC51cmwgPSAnL1JlcG9ydCcgKyBvcHRpb24uVXJsICsgJy8nICsgdGhpcy5yb3cuRGF0YS5JZDtcclxuICAgICAgICBvcHQudXJsTmV3VGFiID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChvcHRpb24uSW5wdXRBY3Rpb24gPT09IFBlcm1pc3Npb25JbnB1dEFjdGlvbkVudW0uTGluayB8fCBvcHRpb24uSW5wdXRBY3Rpb24gPT09IFBlcm1pc3Npb25JbnB1dEFjdGlvbkVudW0uTGlua05ld1RhYil7XHJcbiAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICBvcHQudXJsID0gb3B0aW9uLlVybCArICcvJyArIHRoaXMucm93LkRhdGEuSWQ7XHJcbiAgICAgICAgb3B0LnVybE5ld1RhYiA9IG9wdGlvbi5JbnB1dEFjdGlvbiA9PT0gUGVybWlzc2lvbklucHV0QWN0aW9uRW51bS5MaW5rTmV3VGFiO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKG9wdGlvbi5JbnB1dEFjdGlvbiA9PT0gUGVybWlzc2lvbklucHV0QWN0aW9uRW51bS5Nb2RhbCl7XHJcbiAgICAgICAgb3B0Lm1vZGFsID0gdGhpcy50YWJsZS5vcHRpb25zQWN0aW9ucy5maW5kKHggPT4geC5uYW1lID09PSBvcHRpb24uQWN0aW9uKTtcclxuICAgICAgICBvcHQub25DbGljayA9ICgpID0+IHtcclxuICAgICAgICAgIGlmIChvcHQubW9kYWwudGFibGUpe1xyXG4gICAgICAgICAgICBjb25zdCBwID0gbmV3IFBlcm1pc3Npb25DbGFzcygpO1xyXG4gICAgICAgICAgICBwLlJlbGF0ZWRJZCA9IHRoaXMucm93LkRhdGEuSWQ7XHJcbiAgICAgICAgICAgIHAuQXJlYSA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQXJlYTtcclxuICAgICAgICAgICAgcC5Db250cm9sbGVyID0gdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5Db250cm9sbGVyO1xyXG4gICAgICAgICAgICBwLkFjdGlvbiA9IG9wdGlvbi5BY3Rpb247XHJcbiAgICAgICAgICAgIHAuQWNjZXNzZXMgPSB0aGlzLnJvdy5PcHRpb25zLmZpbHRlcih4ID0+IHguUGFyZW50SWQgPT09IG9wdGlvbi5JZCk7XHJcbiAgICAgICAgICAgIG9wdC5tb2RhbC50YWJsZS5wZXJtaXNzaW9ucyA9IHA7XHJcbiAgICAgICAgICAgIGlmIChvcHQubW9kYWwudGFibGUuZm9ybSl7XHJcbiAgICAgICAgICAgICAgb3B0Lm1vZGFsLnRhYmxlLmZvcm0udXJsID0gb3B0aW9uLlVybC5yZXBsYWNlKCd7fScsIHRoaXMucm93LkRhdGEuSWQpICsgJy1pbnNlcnQnO1xyXG4gICAgICAgICAgICAgIG9wdC5tb2RhbC50YWJsZS5mb3JtLmJhc2VVcmwgPSBvcHRpb24uVXJsLnJlcGxhY2UoJ3t9JywgdGhpcy5yb3cuRGF0YS5JZCkgKyAnLWluc2VydCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb3B0Lm1vZGFsLnRhYmxlLnNldCgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKG9wdC5tb2RhbC5mb3JtKXtcclxuICAgICAgICAgICAgb3B0Lm1vZGFsLmZvcm0ubmFtZSA9IG9wdGlvbi5OYW1lO1xyXG4gICAgICAgICAgICBvcHQubW9kYWwuZm9ybS51cmwgPSBvcHRpb24uVXJsLnJlcGxhY2UoJ3t9JywgdGhpcy5yb3cuRGF0YS5JZCkgKyAnLXVwZGF0ZSc7XHJcbiAgICAgICAgICAgIG9wdC5tb2RhbC5mb3JtLmxvYWREYXRhKG9wdGlvbi5VcmwucmVwbGFjZSgne30nLCB0aGlzLnJvdy5EYXRhLklkKSArICctZ2V0Jyk7XHJcbiAgICAgICAgICAgIG9wdC5tb2RhbC5mb3JtLm9uU3VjY2Vzc0Jhc2UgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgb3B0Lm1vZGFsLmhpZGUoKTtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChvcHQubW9kYWwuYWNjb3JkaW9uKXtcclxuICAgICAgICAgICAgZm9yIChjb25zdCByIG9mIG9wdC5tb2RhbC5hY2NvcmRpb24ucm93cyl7XHJcbiAgICAgICAgICAgICAgaWYgKHIudGFibGUpe1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IFsuLi50aGlzLnJvdy5PcHRpb25zXTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKG9wdGlvbnMpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICAgICAgICAgIHAuUmVsYXRlZElkID0gdGhpcy5yb3cuRGF0YS5JZDtcclxuICAgICAgICAgICAgICAgIHAuQXJlYSA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQXJlYTtcclxuICAgICAgICAgICAgICAgIHAuQ29udHJvbGxlciA9IG9wdGlvbi5Db250cm9sbGVyO1xyXG4gICAgICAgICAgICAgICAgcC5BY3Rpb24gPSByLm5hbWU7XHJcbiAgICAgICAgICAgICAgICBwLkFjY2Vzc2VzID0gb3B0aW9ucy5maWx0ZXIoeCA9PiB4LlBhcmVudElkID09PSBvcHRpb24uSWQpO1xyXG4gICAgICAgICAgICAgICAgcC5BY2Nlc3Nlcy5mb3JFYWNoKHggPT4geC5VcmwgPSB4LlVybC5yZXBsYWNlKCd7YWN0aW9ufScsIHIubmFtZS50b0xvd2VyQ2FzZSgpKSk7XHJcbiAgICAgICAgICAgICAgICByLnRhYmxlLnBlcm1pc3Npb25zID0gcDtcclxuICAgICAgICAgICAgICAgIGlmIChyLnRhYmxlLmZvcm0pe1xyXG4gICAgICAgICAgICAgICAgICByLnRhYmxlLmZvcm0udXJsID0gb3B0aW9uLlVybCArICdpbnNlcnQnO1xyXG4gICAgICAgICAgICAgICAgICByLnRhYmxlLmZvcm0uYmFzZVVybCA9IG9wdGlvbi5VcmwgKyAnaW5zZXJ0JztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHIudGFibGUuc2V0KCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChvcHRpb24uSW5wdXRBY3Rpb24gPT09IFBlcm1pc3Npb25JbnB1dEFjdGlvbkVudW0uRmlsZSl7XHJcbiAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICBwLlJlbGF0ZWRJZCA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuUmVsYXRlZElkO1xyXG4gICAgICAgIHAuQXJlYSA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQXJlYTtcclxuICAgICAgICBwLkNvbnRyb2xsZXIgPSBvcHRpb24uQ29udHJvbGxlcjtcclxuICAgICAgICBwLkFjdGlvbiA9IG9wdGlvbi5BY3Rpb247XHJcbiAgICAgICAgb3B0LnVybCA9ICcvZmlsZScgKyB0aGlzLmdldE9wdGlvblVybChvcHRpb24uVXJsLCB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLlJlbGF0ZWRJZCwgdGhpcy5yb3cuRGF0YS5JZCk7XHJcbiAgICAgICAgb3B0LnVybE5ld1RhYiA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAob3B0aW9uLklucHV0QWN0aW9uID09PSBQZXJtaXNzaW9uSW5wdXRBY3Rpb25FbnVtLkNvbmZpcm0pe1xyXG4gICAgICAgIG9wdC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICAgIHAuUmVsYXRlZElkID0gdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5SZWxhdGVkSWQ7XHJcbiAgICAgICAgICBwLkFyZWEgPSB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLkFyZWE7XHJcbiAgICAgICAgICBwLkNvbnRyb2xsZXIgPSBvcHRpb24uQ29udHJvbGxlcjtcclxuICAgICAgICAgIHAuQWN0aW9uID0gb3B0aW9uLkFjdGlvbjtcclxuICAgICAgICAgIHRoaXMudGFibGUuc2hvd0NvbmZpcm0odGhpcy50YWJsZS5sKG9wdGlvbi5BY3Rpb24gKyAnQ29uZmlybScpLCBvcHRpb24uVXJsLnJlcGxhY2UoJ3t9JywgdGhpcy5yb3cuRGF0YS5JZCksIG51bGwsICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy50YWJsZS5sb2FkKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKG9wdGlvbi5JbnB1dEFjdGlvbiA9PT0gUGVybWlzc2lvbklucHV0QWN0aW9uRW51bS5PbkNsaWNrKXtcclxuICAgICAgICBvcHQub25DbGljayA9IChidG4pID0+IHtcclxuICAgICAgICAgIHRoaXMudGFibGUub3B0aW9uc0FjdGlvbnMuZmluZCh4ID0+IHgubmFtZSA9PT0gb3B0aW9uLkFjdGlvbikub25DbGljayhidG4pO1xyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgb3B0cy5wdXNoKG9wdCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRzO1xyXG4gICAgLy8gcmV0dXJuICh0aGlzLmFkZENoaWxkcmVuICE9PSBudWxsICYmICh0aGlzLnRhYmxlLmxldmVsID09PSBudWxsIHx8IHRoaXMudGFibGUubGV2ZWwgPiB0aGlzLmxldmVsKSA/IFt0aGlzLmFkZENoaWxkcmVuXSA6IFtdKVxyXG4gICAgLy8gICAuY29uY2F0KHRoaXMudGFibGUub3B0aW9ucy5maWx0ZXIoeCA9PiB4LmNvbmRpdGlvbiA9PSBudWxsIHx8XHJcbiAgICAvLyAgICAgKHguY29uZGl0aW9uLnN0YXJ0c1dpdGgoJyEnKSA/ICF0aGlzLnJvdy5EYXRhW3guY29uZGl0aW9uLnN1YnN0cmluZygxKV0gOiB0aGlzLnJvdy5EYXRhW3guY29uZGl0aW9uXSkpLm1hcCgobykgPT4ge1xyXG4gICAgLy8gICAgIGNvbnN0IGkgPSBIZWxwZXJDbGFzcy5jbG9uZShvKTtcclxuICAgIC8vICAgICBpZiAoaS51cmwpe1xyXG4gICAgLy8gICAgICAgaS51cmwgPSBpLnVybC5yZXBsYWNlKCd7fScsIHRoaXMucm93LkRhdGEuSWQpO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgICBpLnJvdyA9IHRoaXMucm93LkRhdGE7XHJcbiAgICAvLyAgICAgaS5jbGFzcyA9IGkuY2xhc3MgKyAnIG0taC01IGgtMjUgZC1pYiB2YS1tIGYtdSc7XHJcbiAgICAvLyAgICAgcmV0dXJuIGk7XHJcbiAgICAvLyB9KSkuY29uY2F0KHRoaXMudGFibGUuaGFzU3RhdHVzID8gW3RoaXMub3B0U3RhdHVzXSA6IFtdKVxyXG4gICAgLy8gICAgIC5jb25jYXQodGhpcy50YWJsZS5wZXJtaXNzaW9ucy5oYXNBY2Nlc3MoJ1VwZGF0ZScpID8gW3RoaXMub3B0RWRpdF0gOiBbXSlcclxuICAgIC8vICAgICAuY29uY2F0KHRoaXMudGFibGUucGVybWlzc2lvbnMuaGFzQWNjZXNzKCdEZWxldGUnKSA/IFt0aGlzLm9wdERlbGV0ZV0gOiBbXSk7XHJcbiAgfVxyXG4gIGdldENlbGwoY29sOiBUYWJsZUNvbGxDbGFzcyk6IGFueXtcclxuICAgIGNvbnNvbGUubG9nKCdnZXRDZWxsJyk7XHJcbiAgICBjb25zdCBjdiA9IF8uZ2V0KHRoaXMucm93LkRhdGEsIGNvbC5uYW1lKTtcclxuICAgIGlmIChjb2wuZnVuICE9IG51bGwpIHtcclxuICAgICAgcmV0dXJuIGNvbC5mdW4odGhpcy5yb3cuRGF0YSk7XHJcbiAgICB9IGVsc2UgaWYgKGNvbC5lbnVtICE9PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnRhYmxlLmwoRW51bVV0aWxzLmdldEtleUJ5VmFsdWUoY29sLmVudW0sIGN2KSk7XHJcbiAgICB9IGVsc2UgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbGxUeXBlLkRhdGVEaWYpIHtcclxuICAgICAgcmV0dXJuIEhlbHBlckNsYXNzLmdldERhdGVEaWYodGhpcy50YWJsZS5sLCBjdik7XHJcbiAgICB9IGVsc2UgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbGxUeXBlLkRhdGUpIHtcclxuICAgICAgcmV0dXJuIEhlbHBlckNsYXNzLmdldERhdGUoY3YpO1xyXG4gICAgfSBlbHNlIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2xsVHlwZS5EYXRlVGltZSkge1xyXG4gICAgICByZXR1cm4gSGVscGVyQ2xhc3MuZ2V0RGF0ZVRpbWUoY3YpO1xyXG4gICAgfSBlbHNlIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2xsVHlwZS5UaW1lKSB7XHJcbiAgICAgIHJldHVybiBIZWxwZXJDbGFzcy5nZXRUaW1lKGN2KTtcclxuICAgIH0gZWxzZSBpZiAoY29sLnR5cGUgPT09IFRhYmxlQ29sbFR5cGUuQ29sb3IpIHtcclxuICAgICAgcmV0dXJuICc8ZGl2IGNsYXNzPVwiY29sb3JcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICcgKyBjdiArICc7IGNvbG9yOiAnICsgSGVscGVyQ2xhc3MuZ2V0Q29sb3JCeUJnQ29sb3IoY3YpICsgJ1wiPicgKyBjdiArICc8L2Rpdj4nO1xyXG4gICAgfSBlbHNlIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2xsVHlwZS5VcmwpIHtcclxuICAgICAgcmV0dXJuICc8YSB0YXJnZXQ9XCJfYmxhbmtcIiBjbGFzcz1cImx0clwiIGhyZWY9XCInICsgY3YgKyAnXCI+JyArIGN2ICsgJzwvYT4nO1xyXG4gICAgfSBlbHNlIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2xsVHlwZS5JbWFnZSkge1xyXG4gICAgICByZXR1cm4gJzxpbWcgY2xhc3M9XCJoLTEwMFwiIGFsdD1cIlwiIHNyYz1cIicgKyB0aGlzLnNlcnZpY2UuZW52aXJvbm1lbnQudXJsICsgY3YgKyAnXCIvPic7XHJcbiAgICB9IGVsc2UgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbGxUeXBlLkZpbGVTaXplKSB7XHJcbiAgICAgIHJldHVybiBIZWxwZXJDbGFzcy5nZXRGaWxlU2l6ZShjdik7XHJcbiAgICB9IGVsc2UgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbGxUeXBlLlByaWNlKSB7XHJcbiAgICAgIHJldHVybiBjdi50b0xvY2FsZVN0cmluZygpICsgJyAnICsgdGhpcy50YWJsZS5sKCdSaWFsJyk7XHJcbiAgICB9IGVsc2UgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbGxUeXBlLlBsYXF1ZSkge1xyXG4gICAgICBjb25zdCBwYXJ0cyA9IGN2LnNwbGl0KCdfJyk7XHJcbiAgICAgIGlmIChwYXJ0cy5sZW5ndGggPT09IDQpIHtcclxuICAgICAgICByZXR1cm4gJzxkaXYgY2xhc3M9XCJwbGFxdWUnICsgKHBhcnRzWzFdID09PSAn2LknID8gJyBwJyA6ICcnKSArIChwYXJ0c1sxXSA9PT0gJ9in2YTZgScgPyAnIGcnIDogJycpICsgJ1wiPicgK1xyXG4gICAgICAgICAgJzxkaXYgY2xhc3M9XCJwYXJ0MVwiPicgKyBwYXJ0c1swXSArICc8L2Rpdj4nICtcclxuICAgICAgICAgICc8ZGl2IGNsYXNzPVwicGFydDJcIj4nICsgcGFydHNbMV0gKyAnPC9kaXY+JyArXHJcbiAgICAgICAgICAnPGRpdiBjbGFzcz1cInBhcnQzXCI+JyArIHBhcnRzWzJdICsgJzwvZGl2PicgK1xyXG4gICAgICAgICAgJzxkaXYgY2xhc3M9XCJwYXJ0NFwiPicgKyBwYXJ0c1szXSArICc8L2Rpdj4nICtcclxuICAgICAgICAgICc8L2Rpdj4nO1xyXG4gICAgICB9IGVsc2UgaWYgKHBhcnRzLmxlbmd0aCA9PT0gMiAmJiBwYXJ0cy5ldmVyeSh4ID0+IC9eWzAtOV0rJC8udGVzdCh4KSkpe1xyXG4gICAgICAgIHJldHVybiAnPGRpdiBjbGFzcz1cInBsYXF1ZSBwbGFxdWUtbVwiPicgK1xyXG4gICAgICAgICAgJzxkaXYgY2xhc3M9XCJwYXJ0MVwiPicgKyBwYXJ0c1swXSArICc8L2Rpdj4nICtcclxuICAgICAgICAgICc8ZGl2IGNsYXNzPVwicGFydDJcIj4nICsgcGFydHNbMV0gKyAnPC9kaXY+JyArXHJcbiAgICAgICAgICAnPC9kaXY+JztcclxuICAgICAgfSBlbHNlIGlmIChwYXJ0cy5sZW5ndGggPT09IDIpe1xyXG4gICAgICAgIHJldHVybiAnPGRpdiBjbGFzcz1cInBsYXF1ZSBwbGFxdWUtZlwiPicgK1xyXG4gICAgICAgICAgJzxkaXYgY2xhc3M9XCJwYXJ0MVwiPicgKyBwYXJ0c1swXSArICc8L2Rpdj4nICtcclxuICAgICAgICAgICc8ZGl2IGNsYXNzPVwicGFydDJcIj4nICsgcGFydHNbMV0gKyAnPC9kaXY+JyArXHJcbiAgICAgICAgICAnPC9kaXY+JztcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2xsVHlwZS5QbGFxdWVUZXh0KSB7XHJcbiAgICAgIGNvbnN0IHBhcnRzID0gY3Yuc3BsaXQoJ18nKTtcclxuICAgICAgaWYgKHBhcnRzLmxlbmd0aCA9PT0gNCl7XHJcbiAgICAgICAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwibHRyXCI+JHtwYXJ0c1swXX0gJHtwYXJ0c1sxXX0mbHJtOyAke3BhcnRzWzJdfSAke3BhcnRzWzNdfTwvZGl2PmA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLnRhYmxlLmwoY3YpO1xyXG4gIH1cclxuICBnZXRDb2wobik6IHN0cmluZ3tcclxuICAgIGxldCBjID0gdGhpcy5yb3cuRGF0YTtcclxuICAgIG4uc3BsaXQoJy4nKS5mb3JFYWNoKCh4KSA9PiB7XHJcbiAgICAgIGMgPSBjW3hdO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gYztcclxuICB9XHJcbiAgZWRpdChvcHQ6IElucHV0Q2xhc3MsIG9wdGlvbjogUGVybWlzc2lvbkNsYXNzKTogdm9pZHtcclxuICAgIGlmICh0aGlzLnRhYmxlLnBlcm1pc3Npb25zLlR5cGUgPT09IFBlcm1pc3Npb25UeXBlRW51bS5Gb3JtKXtcclxuICAgICAgdGhpcy50YWJsZS5mb3JtLm5hbWUgPSBvcHQubmFtZTtcclxuICAgICAgdGhpcy50YWJsZS5mb3JtLnNldERhdGEodGhpcy5yb3cuRGF0YSk7XHJcbiAgICAgIHRoaXMudGFibGUuZm9ybS5zZXRCdXR0b25zKHRoaXMudGFibGUuZm9ybS5vblRvcCwgdHJ1ZSwgdGhpcy5yb3cuRGF0YS5JZCk7XHJcbiAgICAgIHRoaXMudGFibGUuZm9ybS5pbnB1dHMuZmlsdGVyKHggPT4geC5pbkVkaXREaXNhYmxlZCkuZm9yRWFjaCh4ID0+IHguZGlzYWJsZWQgPSB0cnVlKTtcclxuICAgICAgdGhpcy50YWJsZS5mb3JtLmlucHV0cy5maWx0ZXIoeCA9PiAheC5pbkVkaXRWaXNpYmxlKS5mb3JFYWNoKHggPT4geC52aXNpYmxlID0gZmFsc2UpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIG5ldyBSZXF1ZXN0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sKS5zZW5kKHRoaXMuZ2V0T3B0aW9uVXJsKG9wdGlvbi5VcmwucmVwbGFjZSgndXBkYXRlJywgJ2dldCcpLCB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLlJlbGF0ZWRJZCwgdGhpcy5yb3cuRGF0YS5JZCksIE1ldGhvZC5Qb3N0LFxyXG4gICAgICAgIG51bGwsIG9wdCwgKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy50YWJsZS5mb3JtLm5hbWUgPSBvcHQubmFtZTtcclxuICAgICAgICAgIHRoaXMudGFibGUuZm9ybS5zZXRCdXR0b25zKHRoaXMudGFibGUuZm9ybS5vblRvcCwgdHJ1ZSwgdGhpcy5yb3cuRGF0YS5JZCk7XHJcbiAgICAgICAgICB0aGlzLnRhYmxlLmZvcm0uc2V0RGF0YShyZXN1bHQpO1xyXG4gICAgICAgICAgdGhpcy50YWJsZS5mb3JtLmlucHV0cy5maWx0ZXIoeCA9PiB4LmluRWRpdERpc2FibGVkKS5mb3JFYWNoKHggPT4geC5kaXNhYmxlZCA9IHRydWUpO1xyXG4gICAgICAgICAgdGhpcy50YWJsZS5mb3JtLmlucHV0cy5maWx0ZXIoeCA9PiAheC5pbkVkaXRWaXNpYmxlKS5mb3JFYWNoKHggPT4geC52aXNpYmxlID0gZmFsc2UpO1xyXG4gICAgICAgICAgaWYgKHRoaXMudGFibGUubW9kYWwpe1xyXG4gICAgICAgICAgICB0aGlzLnRhYmxlLm1vZGFsLnNob3coKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0Q2hpbGRyZW4oKTogYW55W117XHJcbiAgICByZXR1cm4gdGhpcy5yb3cuRGF0YS5JZCA/IHRoaXMudGFibGUucm93cy5maWx0ZXIoeCA9PiB4LkRhdGEuUGFyZW50SWQgPT09IHRoaXMucm93LkRhdGEuSWQpIDogW107XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -2124,7 +2124,7 @@ class TableRowComponent {
|
|
|
2124
2124
|
if (opt.modal.accordion) {
|
|
2125
2125
|
for (const r of opt.modal.accordion.rows) {
|
|
2126
2126
|
if (r.table) {
|
|
2127
|
-
const options = this.row.Options
|
|
2127
|
+
const options = [...this.row.Options];
|
|
2128
2128
|
console.log(options);
|
|
2129
2129
|
const p = new PermissionClass();
|
|
2130
2130
|
p.RelatedId = this.row.Data.Id;
|