ps-toolkit-ui 0.0.97 → 0.0.101

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.
@@ -179,7 +179,7 @@ export class TableClass {
179
179
  const p = new PermissionClass();
180
180
  p.RelatedId = this.permissions.RelatedId;
181
181
  p.Area = this.permissions.Area;
182
- p.Controller = this.permissions.Controller;
182
+ p.Controller = option.Controller ? option.Controller : this.permissions.Controller;
183
183
  p.Action = this.permissions.Action;
184
184
  opt.url = p.getUrl() + option.Action + '/{}';
185
185
  opt.urlNewTab = option.Type === PermissionTypeEnum.OptionLinkNewTab;
@@ -231,9 +231,9 @@ export class TableClass {
231
231
  }
232
232
  else if (option.Type === PermissionTypeEnum.OptionReport) {
233
233
  const p = new PermissionClass();
234
- p.RelatedId = this.permissions.RelatedId;
234
+ p.RelatedId = 'Index';
235
235
  p.Area = this.permissions.Area;
236
- p.Controller = this.permissions.Controller;
236
+ p.Controller = 'Print';
237
237
  p.Action = option.Action;
238
238
  opt.url = '/Report' + p.getUrl() + '/{}';
239
239
  opt.urlNewTab = true;
@@ -290,4 +290,4 @@ export class TableRowClass {
290
290
  this.children = children;
291
291
  }
292
292
  }
293
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiRDovUHJvamVjdHMvUHNUb29sa2l0L1VJL3Byb2plY3RzL3BzLXRvb2xraXQtdWkvc3JjLyIsInNvdXJjZXMiOlsibGliL2NsYXNzZXMvdGFibGUuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQVksVUFBVSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLHdCQUF3QixFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDN0gsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsTUFBTSxPQUFPLFVBQVU7SUFDckIsWUFBWSxXQUFnQixFQUFFLENBQW9CLEVBQUUsV0FBNEIsRUFBRSxPQUFlLEVBQUUsRUFBRSxNQUFjLEVBQUUsRUFDekcsVUFBa0IsRUFBRSxFQUFFLFNBQWlCLEVBQUU7UUFVckQsZ0JBQVcsR0FBUSxJQUFJLENBQUM7UUFHeEIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUlsQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsUUFBRyxHQUFHLElBQUksQ0FBQztRQUNYLFdBQU0sR0FBVyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQzdCLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFDWixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsU0FBSSxHQUFxQixFQUFFLENBQUM7UUFDNUIsWUFBTyxHQUFpQixFQUFFLENBQUM7UUFDM0IsWUFBTyxHQUFpQixFQUFFLENBQUM7UUFDM0IsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLFVB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QUlaLFNBQUksR0FBRyxJQUFJLENBQUM7UUFFWixXQUFNLEdBQWUsSUFBSSxDQUFDO1FBRTFCLFFBQUcsR0FBa0IsSUFBSSxDQUFDO1FBZnhCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7Q0FVRjtBQUVELE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQW1CLElBQUksRUFBUyxRQUFRO1FBQXJCLFNBQUksR0FBSixJQUFJLENBQUE7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFBO0lBQ3hDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TW9kYWxDbGFzc30gZnJvbSAnLi9tb2RhbC5jbGFzcyc7XHJcbmltcG9ydCB7Rm9ybUNsYXNzLCBJbnB1dENsYXNzfSBmcm9tICcuL2Zvcm0uY2xhc3MnO1xyXG5pbXBvcnQge0lucHV0VHlwZSwgTWV0aG9kLCBQZXJtaXNzaW9uT3B0aW9uVHlwZUVudW0sIFBlcm1pc3Npb25UeXBlRW51bSwgVGFibGVDb2xsVHlwZSwgVGFibGVPcHRpb25UeXBlfSBmcm9tICcuL2VudW0uY2xhc3MnO1xyXG5pbXBvcnQge1JlcXVlc3RDbGFzc30gZnJvbSAnLi9yZXF1ZXN0LmNsYXNzJztcclxuaW1wb3J0IHtQZXJtaXNzaW9uQ2xhc3N9IGZyb20gJy4vcGVybWlzc2lvbi5jbGFzcyc7XHJcbmltcG9ydCB7SGVscGVyQ2xhc3N9IGZyb20gJy4vaGVscGVyLmNsYXNzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNsYXNzIHtcclxuICBjb25zdHJ1Y3RvcihlbnZpcm9ubWVudDogYW55LCBsOiAoaywgdj8pID0+IHN0cmluZywgcGVybWlzc2lvbnM6IFBlcm1pc3Npb25DbGFzcywgbmFtZTogc3RyaW5nID0gJycsIGNsczogc3RyaW5nID0gJycsXHJcbiAgICAgICAgICAgICAgcGVyUGFnZTogbnVtYmVyID0gMTAsIGhlaWdodDogbnVtYmVyID0gNTApIHtcclxuICAgIHRoaXMuZW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudDtcclxuICAgIHRoaXMubCA9IGw7XHJcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xyXG4gICAgdGhpcy5pZCA9IHRoaXMubmFtZTtcclxuICAgIHRoaXMucGVybWlzc2lvbnMgPSBwZXJtaXNzaW9ucztcclxuICAgIHRoaXMuY2xhc3MgPSBjbHM7XHJcbiAgICB0aGlzLnBlclBhZ2UgPSBwZXJQYWdlO1xyXG4gICAgdGhpcy5oZWlnaHQgPSBoZWlnaHQ7XHJcbiAgfVxyXG4gIGVudmlyb25tZW50OiBhbnkgPSBudWxsO1xyXG4gIGw6IChrLCB2PykgPT4gc3RyaW5nO1xyXG4gIHBlcm1pc3Npb25zOiBQZXJtaXNzaW9uQ2xhc3M7XHJcbiAgcGVybWlzc2lvbiA9IHRydWU7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgY2xhc3M6IHN0cmluZztcclxuICBzdHlsZSA9IHt9O1xyXG4gIHVybCA9IG51bGw7XHJcbiAgbWV0aG9kOiBNZXRob2QgPSBNZXRob2QuUG9zdDtcclxuICBoZWlnaHQgPSA0MDtcclxuICBwZXJQYWdlID0gMTA7XHJcbiAgY29sczogVGFibGVDb2xsQ2xhc3NbXSA9IFtdO1xyXG4gIGJ1dHRvbnM6IElucHV0Q2xhc3NbXSA9IFtdO1xyXG4gIG9wdGlvbnM6IElucHV0Q2xhc3NbXSA9IFtdO1xyXG4gIHJvd3MgPSBbXTtcclxuICBjb3VudCA9IDA7XHJcbiAgcGFnZSA9IDE7XHJcbiAgc29ydCA9IG51bGw7XHJcbiAgcXVlcnlQYXJhbXMgPSB7fTtcclxuICB0aXRsZSA9IG51bGw7XHJcbiAgc29ydFR5cGUgPSBudWxsO1xyXG4gIGRpc3BsYXlMYWJlbCA9IHRydWU7XHJcbiAgaXNSZXBvcnQgPSBmYWxzZTtcclxuICBzb3J0YWJsZSA9IGZhbHNlO1xyXG4gIG9wdGlvblR5cGUgPSBUYWJsZU9wdGlvblR5cGUuSGlkZGVuO1xyXG4gIGxvYWRpbmcgPSB0cnVlO1xyXG4gIGhhc1N0YXR1cyA9IGZhbHNlO1xyXG4gIGhhc0NoaWxkcmVuID0gZmFsc2U7XHJcbiAgY2hpbGRyZW5BdXRvTG9hZCA9IGZhbHNlO1xyXG4gIHdpdGhTZWxlY3QgPSBmYWxzZTtcclxuICBleHRyYUJ1dHRvbnMgPSB0cnVlO1xyXG4gIGZvcm06IEZvcm1DbGFzcyA9IG51bGw7XHJcbiAgc2VhcmNoRm9ybTogRm9ybUNsYXNzID0gbnVsbDtcclxuICBtb2RhbDogTW9kYWxDbGFzcyA9IG51bGw7XHJcbiAgbGV2ZWwgPSBudWxsO1xyXG4gIG9uTG9hZDogKCkgPT4gdm9pZCA9IG51bGw7XHJcbiAgb25Tb3J0OiAoKSA9PiB2b2lkID0gbnVsbDtcclxuICBzaG93Q29uZmlybTogKGw6IHN0cmluZywgdXJsOiBzdHJpbmcsIGRhdGEsIGFjY2VwdDogKGJ0bjogSW5wdXRDbGFzcykgPT4gdm9pZCkgPT4gdm9pZCA9IG51bGw7XHJcbiAgaGFzT3B0aW9uKCk6IGJvb2xlYW57IHJldHVybiB0aGlzLnBlcm1pc3Npb25zICYmICh0aGlzLnBlcm1pc3Npb25zLmhhc0FjY2VzcygnRGVsZXRlJykgfHxcclxuICAgIHRoaXMucGVybWlzc2lvbnMuaGFzQWNjZXNzKCdVcGRhdGUnKSB8fCB0aGlzLmhhc1N0YXR1cyB8fCB0aGlzLm9wdGlvbnMubGVuZ3RoID4gMCB8fCB0aGlzLmhhc0NoaWxkcmVuKTsgfVxyXG4gIGxvYWQoYnRuID0gbnVsbCk6IHZvaWR7XHJcbiAgICBpZiAodGhpcy51cmwpe1xyXG4gICAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMuZW52aXJvbm1lbnQsIHRoaXMubCkudGFibGUodGhpcywgYnRuKTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlYXJjaERhdGEoKToge30ge1xyXG4gICAgY29uc3QgZDogYW55ID0ge1xyXG4gICAgICBQYWdlOiB0aGlzLnBhZ2UsXHJcbiAgICAgIFBlclBhZ2U6IHRoaXMucGVyUGFnZSxcclxuICAgIH07XHJcbiAgICBpZiAodGhpcy5zb3J0YWJsZSl7XHJcbiAgICAgIGQuU29ydCA9ICdQcmlvcml0eSc7XHJcbiAgICAgIGQuU29ydFR5cGUgPSAnQVNDJztcclxuICAgIH1lbHNlIGlmICh0aGlzLnNvcnQpe1xyXG4gICAgICBkLlNvcnQgPSB0aGlzLnNvcnQ7XHJcbiAgICAgIGQuU29ydFR5cGUgPSB0aGlzLnNvcnRUeXBlO1xyXG4gICAgfVxyXG4gICAgZm9yIChjb25zdCBjIG9mIHRoaXMuY29scy5maWx0ZXIoeCA9PiB4LndpdGhTZWFyY2ggJiYgeC5zZWFyY2ggIT0gbnVsbCAmJiB4LnNlYXJjaC5kYXRhKCkgIT0gbnVsbCAmJiB4LnNlYXJjaC5kYXRhKCkgIT09ICcnKSl7XHJcbiAgICAgIGRbYy5uYW1lXSA9IGMuc2VhcmNoLmRhdGEoKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLnNlYXJjaEZvcm0gPyB0aGlzLnNlYXJjaEZvcm0uanNvbihkKSA6IGQ7XHJcbiAgfVxyXG4gIGdldFVybChpc1JlcG9ydDogYm9vbGVhbiA9IGZhbHNlKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnVybCArICh0aGlzLmlzUmVwb3J0IHx8IGlzUmVwb3J0ID8gJ1JlcG9ydD8nIDogJ0xpc3QnKTtcclxuICB9XHJcbiAgc2hvd0luc2VydE1vZGFsKCk6IHZvaWQge1xyXG4gICAgY29uc3QgaW5zZXJ0QWNjZXNzID0gdGhpcy5wZXJtaXNzaW9ucy5nZXRBY2Nlc3MoJ0luc2VydCcpO1xyXG4gICAgdGhpcy5mb3JtLnVybCA9IHRoaXMuZm9ybS5iYXNlVXJsID0gdGhpcy51cmwgKyAnSW5zZXJ0JztcclxuICAgIHRoaXMuZm9ybS5uYW1lID0gaW5zZXJ0QWNjZXNzLk5hbWU7XHJcbiAgICB0aGlzLmZvcm0ubWV0aG9kID0gTWV0aG9kLlBvc3Q7XHJcbiAgICB0aGlzLmZvcm0uaW5wdXRzLmZpbHRlcih4ID0+IHguaW5FZGl0RGlzYWJsZWQpLmZvckVhY2goeCA9PiB4LmRpc2FibGVkID0gZmFsc2UpO1xyXG4gICAgdGhpcy5mb3JtLmlucHV0cy5maWx0ZXIoeCA9PiAheC5pbkVkaXRWaXNpYmxlKS5mb3JFYWNoKHggPT4geC52aXNpYmxlID0gdHJ1ZSk7XHJcbiAgICB0aGlzLm1vZGFsLnNob3coKTtcclxuICB9XHJcbiAgc2V0KGNoYW5nZVJvd3MgPSBudWxsKTogdm9pZHtcclxuICAgIHRoaXMucGVybWlzc2lvbiA9IHRydWU7XHJcbiAgICBpZiAodGhpcy5wZXJtaXNzaW9ucylcclxuICAgIHtcclxuICAgICAgY29uc3QgbGlzdEFjY2VzcyA9IHRoaXMucGVybWlzc2lvbnMuZ2V0QWNjZXNzKCdMaXN0Jyk7XHJcbiAgICAgIGlmIChsaXN0QWNjZXNzICE9PSBudWxsKXtcclxuICAgICAgICB0aGlzLnRpdGxlID0gbGlzdEFjY2Vzcy5OYW1lO1xyXG4gICAgICAgIHRoaXMudXJsID0gdGhpcy5wZXJtaXNzaW9ucy5nZXRVcmwoKTtcclxuICAgICAgICBpZiAodGhpcy5wZXJtaXNzaW9ucy5UeXBlICE9PSBQZXJtaXNzaW9uVHlwZUVudW0uRm9ybSl7XHJcbiAgICAgICAgICB0aGlzLmxvYWQoKTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMucGVybWlzc2lvbiA9IGZhbHNlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBpbnNlcnRBY2Nlc3MgPSB0aGlzLnBlcm1pc3Npb25zLmdldEFjY2VzcygnSW5zZXJ0Jyk7XHJcbiAgICBpZiAoaW5zZXJ0QWNjZXNzICE9IG51bGwpe1xyXG4gICAgICBjb25zdCBpbnNlcnQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLmVudmlyb25tZW50LCB0aGlzLmwsIGluc2VydEFjY2Vzcy5OYW1lLCAnZmFkIGZhLXBsdXMgZmEtcm90YXRlLTkwJywgSW5wdXRUeXBlLkJ1dHRvbiwgJ3ctdSBncmVlbiBoLTMwJyk7XHJcbiAgICAgIGlmICh0aGlzLmZvcm0pe1xyXG4gICAgICAgIHRoaXMuZm9ybS51cmwgPSB0aGlzLmZvcm0uYmFzZVVybCA9IHRoaXMudXJsICsgJ0luc2VydCc7XHJcbiAgICAgICAgaWYgKCF0aGlzLmZvcm0ub25Ub3Ape1xyXG4gICAgICAgICAgaW5zZXJ0Lm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybS5vblN1Y2Nlc3NCYXNlID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMubW9kYWwuaGlkZSgpO1xyXG4gICAgICAgICAgICAgIHRoaXMubG9hZCgpO1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB0aGlzLnNob3dJbnNlcnRNb2RhbCgpO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIHRoaXMuYnV0dG9ucy51bnNoaWZ0KGluc2VydCk7XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICB0aGlzLmZvcm0uZGlzcGxheUxhYmVsID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICB0aGlzLmJ1dHRvbnMudW5zaGlmdChpbnNlcnQpO1xyXG4gICAgICAgIGlmICh0aGlzLm1vZGFsKXtcclxuICAgICAgICAgIGluc2VydC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGFsLnNob3coKTtcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICBpbnNlcnQudXJsID0gdGhpcy51cmwgKyAnSW5zZXJ0JztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICgodGhpcy5wZXJtaXNzaW9ucy5oYXNBY2Nlc3MoJ0luc2VydCcpIHx8IHRoaXMucGVybWlzc2lvbnMuaGFzQWNjZXNzKCdVcGRhdGUnKSkgJiYgdGhpcy5mb3JtKXtcclxuICAgICAgdGhpcy5mb3JtLmFkZEJ1dHRvbnMoJ1NhdmUnLCAnZ3JlZW4nLCB0cnVlLCB0aGlzLnBlcm1pc3Npb25zLlR5cGUgPT09IFBlcm1pc3Npb25UeXBlRW51bS5Gb3JtID8gKGRhdGEpID0+IHtcclxuICAgICAgICBpZiAoZGF0YS5JZCl7XHJcbiAgICAgICAgICBjb25zdCBpID0gdGhpcy5yb3dzLmZpbmRJbmRleCh4ID0+IHguSWQgPT09IGRhdGEuSWQpO1xyXG4gICAgICAgICAgdGhpcy5yb3dzW2ldID0gZGF0YTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIGRhdGEuSWQgPSBwYXJzZUludChIZWxwZXJDbGFzcy5yYW5kb20oNSwgZmFsc2UsIGZhbHNlKSwgMTApO1xyXG4gICAgICAgICAgdGhpcy5yb3dzLnVuc2hpZnQoZGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChjaGFuZ2VSb3dzKXtcclxuICAgICAgICAgIGNoYW5nZVJvd3MuZW1pdChkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5mb3JtLmNsZWFyKCk7XHJcbiAgICAgIH0gOiBudWxsKTtcclxuICAgICAgaWYgKHRoaXMuZm9ybS5vblRvcCl7XHJcbiAgICAgICAgdGhpcy5mb3JtLm9uU3VjY2Vzc0Jhc2UgPSAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmZvcm0uY2xlYXIoKTtcclxuICAgICAgICAgIHRoaXMubG9hZCgpO1xyXG4gICAgICAgIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLm1vZGFsKXtcclxuICAgICAgICAgIHRoaXMubW9kYWwgPSBuZXcgTW9kYWxDbGFzcyh0aGlzLmVudmlyb25tZW50LCB0aGlzLmwsIHRoaXMubmFtZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubW9kYWwuZm9ybSA9IHRoaXMuZm9ybTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZm9yIChjb25zdCBvcHRpb24gb2YgdGhpcy5wZXJtaXNzaW9ucy5nZXRPcHRpb25zKCkpe1xyXG4gICAgICBpZiAodGhpcy5vcHRpb25zLmZpbHRlcih4ID0+IHgubmFtZSA9PT0gb3B0aW9uLk5hbWUpLmxlbmd0aCA+IDApe1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG9wdCA9IG5ldyBJbnB1dENsYXNzKHRoaXMuZW52aXJvbm1lbnQsIHRoaXMubCwgb3B0aW9uLk5hbWUsIG9wdGlvbi5JY29uLFxyXG4gICAgICAgIG9wdGlvbi5PcHRpb25UeXBlID09PSBQZXJtaXNzaW9uT3B0aW9uVHlwZUVudW0uSWNvbiA/IElucHV0VHlwZS5JY29uIDogSW5wdXRUeXBlLkJ1dHRvbiwgJ2JsdWUgaC0yNSBtLWgtNSBkLWliIHZhLW0gZi11Jyk7XHJcbiAgICAgIG9wdC5jb25kaXRpb24gPSBvcHRpb24uQ29uZGl0aW9uO1xyXG4gICAgICBpZiAob3B0aW9uLlR5cGUgPT09IFBlcm1pc3Npb25UeXBlRW51bS5PcHRpb25MaW5rIHx8IG9wdGlvbi5UeXBlID09PSBQZXJtaXNzaW9uVHlwZUVudW0uT3B0aW9uTGlua05ld1RhYil7XHJcbiAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICBwLlJlbGF0ZWRJZCA9IHRoaXMucGVybWlzc2lvbnMuUmVsYXRlZElkO1xyXG4gICAgICAgIHAuQXJlYSA9IHRoaXMucGVybWlzc2lvbnMuQXJlYTtcclxuICAgICAgICBwLkNvbnRyb2xsZXIgPSB0aGlzLnBlcm1pc3Npb25zLkNvbnRyb2xsZXI7XHJcbiAgICAgICAgcC5BY3Rpb24gPSB0aGlzLnBlcm1pc3Npb25zLkFjdGlvbjtcclxuICAgICAgICBvcHQudXJsID0gcC5nZXRVcmwoKSArIG9wdGlvbi5BY3Rpb24gKyAnL3t9JztcclxuICAgICAgICBvcHQudXJsTmV3VGFiID0gb3B0aW9uLlR5cGUgPT09IFBlcm1pc3Npb25UeXBlRW51bS5PcHRpb25MaW5rTmV3VGFiO1xyXG4gICAgICB9IGVsc2UgaWYgKG9wdGlvbi5UeXBlID09PSBQZXJtaXNzaW9uVHlwZUVudW0uT3B0aW9uTW9kYWwpe1xyXG4gICAgICAgIG9wdC5tb2RhbCA9IG9wdGlvbi5Nb2RhbDtcclxuICAgICAgICBvcHQub25DbGljayA9IChidG4pID0+IHtcclxuICAgICAgICAgIGlmIChvcHQubW9kYWwudGFibGUpe1xyXG4gICAgICAgICAgICBjb25zdCBwID0gbmV3IFBlcm1pc3Npb25DbGFzcygpO1xyXG4gICAgICAgICAgICBwLlJlbGF0ZWRJZCA9IGJ0bi5yb3cuSWQ7XHJcbiAgICAgICAgICAgIHAuQXJlYSA9IHRoaXMucGVybWlzc2lvbnMuQXJlYTtcclxuICAgICAgICAgICAgcC5Db250cm9sbGVyID0gdGhpcy5wZXJtaXNzaW9ucy5Db250cm9sbGVyO1xyXG4gICAgICAgICAgICBwLkFjdGlvbiA9IG9wdGlvbi5BY3Rpb247XHJcbiAgICAgICAgICAgIHAuQWNjZXNzZXMgPSBvcHRpb24uQWNjZXNzZXM7XHJcbiAgICAgICAgICAgIG9wdC5tb2RhbC50YWJsZS5wZXJtaXNzaW9ucyA9IHA7XHJcbiAgICAgICAgICAgIGlmIChvcHQubW9kYWwudGFibGUuZm9ybSl7XHJcbiAgICAgICAgICAgICAgb3B0Lm1vZGFsLnRhYmxlLmZvcm0udXJsID0gcC5nZXRVcmwoKSArICdJbnNlcnQnO1xyXG4gICAgICAgICAgICAgIG9wdC5tb2RhbC50YWJsZS5mb3JtLmJhc2VVcmwgPSBwLmdldFVybCgpICsgJ0luc2VydCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb3B0Lm1vZGFsLnRhYmxlLnNldCgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKG9wdC5tb2RhbC5mb3JtKXtcclxuICAgICAgICAgICAgb3B0Lm1vZGFsLmZvcm0ubmFtZSA9IG9wdGlvbi5OYW1lO1xyXG4gICAgICAgICAgICBvcHQubW9kYWwuZm9ybS51cmwgPSBvcHQubW9kYWwuZm9ybS5iYXNlVXJsICsgJ1VwZGF0ZS8nICsgYnRuLnJvdy5JZDtcclxuICAgICAgICAgICAgb3B0Lm1vZGFsLmZvcm0ubG9hZERhdGEob3B0Lm1vZGFsLmZvcm0uYmFzZVVybCArICdHZXQvJyArIGJ0bi5yb3cuSWQpO1xyXG4gICAgICAgICAgICBvcHQubW9kYWwuZm9ybS5vblN1Y2Nlc3NCYXNlID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgIG9wdC5tb2RhbC5oaWRlKCk7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAob3B0Lm1vZGFsLmFjY29yZGlvbil7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgciBvZiBvcHQubW9kYWwuYWNjb3JkaW9uLnJvd3Mpe1xyXG4gICAgICAgICAgICAgIGlmIChyLnRhYmxlKXtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHAgPSBuZXcgUGVybWlzc2lvbkNsYXNzKCk7XHJcbiAgICAgICAgICAgICAgICBwLlJlbGF0ZWRJZCA9IGJ0bi5yb3cuSWQ7XHJcbiAgICAgICAgICAgICAgICBwLkFyZWEgPSB0aGlzLnBlcm1pc3Npb25zLkFyZWE7XHJcbiAgICAgICAgICAgICAgICBwLkNvbnRyb2xsZXIgPSB0aGlzLnBlcm1pc3Npb25zLkNvbnRyb2xsZXI7XHJcbiAgICAgICAgICAgICAgICBwLkFjdGlvbiA9IHIubmFtZTtcclxuICAgICAgICAgICAgICAgIHAuQWNjZXNzZXMgPSBvcHRpb24uQWNjZXNzZXM7XHJcbiAgICAgICAgICAgICAgICByLnRhYmxlLnBlcm1pc3Npb25zID0gcDtcclxuICAgICAgICAgICAgICAgIGlmIChyLnRhYmxlLmZvcm0pe1xyXG4gICAgICAgICAgICAgICAgICByLnRhYmxlLmZvcm0udXJsID0gcC5nZXRVcmwoKSArICdJbnNlcnQnO1xyXG4gICAgICAgICAgICAgICAgICByLnRhYmxlLmZvcm0uYmFzZVVybCA9IHAuZ2V0VXJsKCkgKyAnSW5zZXJ0JztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHIudGFibGUuc2V0KCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgfSBlbHNlIGlmIChvcHRpb24uVHlwZSA9PT0gUGVybWlzc2lvblR5cGVFbnVtLk9wdGlvblJlcG9ydCl7XHJcbiAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICBwLlJlbGF0ZWRJZCA9IHRoaXMucGVybWlzc2lvbnMuUmVsYXRlZElkO1xyXG4gICAgICAgIHAuQXJlYSA9IHRoaXMucGVybWlzc2lvbnMuQXJlYTtcclxuICAgICAgICBwLkNvbnRyb2xsZXIgPSB0aGlzLnBlcm1pc3Npb25zLkNvbnRyb2xsZXI7XHJcbiAgICAgICAgcC5BY3Rpb24gPSBvcHRpb24uQWN0aW9uO1xyXG4gICAgICAgIG9wdC51cmwgPSAnL1JlcG9ydCcgKyBwLmdldFVybCgpICsgJy97fSc7XHJcbiAgICAgICAgb3B0LnVybE5ld1RhYiA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSBpZiAob3B0aW9uLlR5cGUgPT09IFBlcm1pc3Npb25UeXBlRW51bS5PcHRpb25GaWxlKXtcclxuICAgICAgICBjb25zdCBwID0gbmV3IFBlcm1pc3Npb25DbGFzcygpO1xyXG4gICAgICAgIHAuUmVsYXRlZElkID0gdGhpcy5wZXJtaXNzaW9ucy5SZWxhdGVkSWQ7XHJcbiAgICAgICAgcC5BcmVhID0gdGhpcy5wZXJtaXNzaW9ucy5BcmVhO1xyXG4gICAgICAgIHAuQ29udHJvbGxlciA9IHRoaXMucGVybWlzc2lvbnMuQ29udHJvbGxlcjtcclxuICAgICAgICBwLkFjdGlvbiA9ICh0aGlzLnBlcm1pc3Npb25zLkFjdGlvbiA/IHRoaXMucGVybWlzc2lvbnMuQWN0aW9uIDogJycpICsgb3B0aW9uLkFjdGlvbjtcclxuICAgICAgICBvcHQudXJsID0gJy9GaWxlJyArIHAuZ2V0VXJsKCkgKyAnL3t9JztcclxuICAgICAgICBvcHQudXJsTmV3VGFiID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIGlmIChvcHRpb24uVHlwZSA9PT0gUGVybWlzc2lvblR5cGVFbnVtLk9wdGlvbkNvbmZpcm0pe1xyXG4gICAgICAgIG9wdC5vbkNsaWNrID0gKGJ0bikgPT4ge1xyXG4gICAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICAgIHAuUmVsYXRlZElkID0gdGhpcy5wZXJtaXNzaW9ucy5SZWxhdGVkSWQ7XHJcbiAgICAgICAgICBwLkFyZWEgPSB0aGlzLnBlcm1pc3Npb25zLkFyZWE7XHJcbiAgICAgICAgICBwLkNvbnRyb2xsZXIgPSB0aGlzLnBlcm1pc3Npb25zLkNvbnRyb2xsZXI7XHJcbiAgICAgICAgICBwLkFjdGlvbiA9IG9wdGlvbi5BY3Rpb247XHJcbiAgICAgICAgICB0aGlzLnNob3dDb25maXJtKHRoaXMubChvcHRpb24uQWN0aW9uICsgJ0NvbmZpcm0nKSwgcC5nZXRVcmwoKSArICcvJyArIGJ0bi5yb3cuSWQsIG51bGwsICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5sb2FkKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9O1xyXG4gICAgICB9IGVsc2UgaWYgKG9wdGlvbi5UeXBlID09PSBQZXJtaXNzaW9uVHlwZUVudW0uT3B0aW9uSWNvbil7XHJcbiAgICAgICAgaWYgKG9wdGlvbi5PbkNsaWNrKXtcclxuICAgICAgICAgIG9wdC5vbkNsaWNrID0gKGJ0bikgPT4ge1xyXG4gICAgICAgICAgICBvcHRpb24uT25DbGljayhidG4pO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5vcHRpb25zLnB1c2gob3B0KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbGxDbGFzcyB7XHJcbiAgY29uc3RydWN0b3IobmFtZTogc3RyaW5nLCBwZXJjZW50OiBudW1iZXIsIGNscyA9ICcnLCB0eXBlOiBUYWJsZUNvbGxUeXBlID0gVGFibGVDb2xsVHlwZS5UZXh0LFxyXG4gICAgICAgICAgICAgIHdpdGhTZWFyY2g6IGJvb2xlYW4gPSB0cnVlLCBzb3J0OiBib29sZWFuID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgIHRoaXMucGVyY2VudCA9IHBlcmNlbnQ7XHJcbiAgICB0aGlzLmNsYXNzID0gY2xzO1xyXG4gICAgdGhpcy50eXBlID0gdHlwZTtcclxuICAgIHRoaXMud2l0aFNlYXJjaCA9IHdpdGhTZWFyY2g7XHJcbiAgICB0aGlzLnNvcnQgPSBzb3J0O1xyXG4gIH1cclxuICBlbnVtID0gbnVsbDtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgcGVyY2VudDogbnVtYmVyO1xyXG4gIGNsYXNzOiBzdHJpbmc7XHJcbiAgc29ydCA9IHRydWU7XHJcbiAgd2l0aFNlYXJjaDogYm9vbGVhbjtcclxuICBzZWFyY2g6IElucHV0Q2xhc3MgPSBudWxsO1xyXG4gIHR5cGU6IFRhYmxlQ29sbFR5cGU7XHJcbiAgZnVuOiAocm93KSA9PiB2b2lkID0gbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFRhYmxlUm93Q2xhc3Mge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkYXRhLCBwdWJsaWMgY2hpbGRyZW4pIHtcclxuICB9XHJcbn1cclxuIl19
293
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiRDovUHJvamVjdHMvUHNUb29sa2l0L1VJL3Byb2plY3RzL3BzLXRvb2xraXQtdWkvc3JjLyIsInNvdXJjZXMiOlsibGliL2NsYXNzZXMvdGFibGUuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQVksVUFBVSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ25ELE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLHdCQUF3QixFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDN0gsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsTUFBTSxPQUFPLFVBQVU7SUFDckIsWUFBWSxXQUFnQixFQUFFLENBQW9CLEVBQUUsV0FBNEIsRUFBRSxPQUFlLEVBQUUsRUFBRSxNQUFjLEVBQUUsRUFDekcsVUFBa0IsRUFBRSxFQUFFLFNBQWlCLEVBQUU7UUFVckQsZ0JBQVcsR0FBUSxJQUFJLENBQUM7UUFHeEIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUlsQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsUUFBRyxHQUFHLElBQUksQ0FBQztRQUNYLFdBQU0sR0FBVyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQzdCLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFDWixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsU0FBSSxHQUFxQixFQUFFLENBQUM7UUFDNUIsWUFBTyxHQUFpQixFQUFFLENBQUM7UUFDM0IsWUFBTyxHQUFpQixFQUFFLENBQUM7UUFDM0IsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLFVB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QUFJLEdBQUcsSUFBSSxDQUFDO1FBSVosU0FBSSxHQUFHLElBQUksQ0FBQztRQUVaLFdBQU0sR0FBZSxJQUFJLENBQUM7UUFFMUIsUUFBRyxHQUFrQixJQUFJLENBQUM7UUFmeEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztDQVVGO0FBRUQsTUFBTSxPQUFPLGFBQWE7SUFDeEIsWUFBbUIsSUFBSSxFQUFTLFFBQVE7UUFBckIsU0FBSSxHQUFKLElBQUksQ0FBQTtRQUFTLGFBQVEsR0FBUixRQUFRLENBQUE7SUFDeEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb2RhbENsYXNzfSBmcm9tICcuL21vZGFsLmNsYXNzJztcclxuaW1wb3J0IHtGb3JtQ2xhc3MsIElucHV0Q2xhc3N9IGZyb20gJy4vZm9ybS5jbGFzcyc7XHJcbmltcG9ydCB7SW5wdXRUeXBlLCBNZXRob2QsIFBlcm1pc3Npb25PcHRpb25UeXBlRW51bSwgUGVybWlzc2lvblR5cGVFbnVtLCBUYWJsZUNvbGxUeXBlLCBUYWJsZU9wdGlvblR5cGV9IGZyb20gJy4vZW51bS5jbGFzcyc7XHJcbmltcG9ydCB7UmVxdWVzdENsYXNzfSBmcm9tICcuL3JlcXVlc3QuY2xhc3MnO1xyXG5pbXBvcnQge1Blcm1pc3Npb25DbGFzc30gZnJvbSAnLi9wZXJtaXNzaW9uLmNsYXNzJztcclxuaW1wb3J0IHtIZWxwZXJDbGFzc30gZnJvbSAnLi9oZWxwZXIuY2xhc3MnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFRhYmxlQ2xhc3Mge1xyXG4gIGNvbnN0cnVjdG9yKGVudmlyb25tZW50OiBhbnksIGw6IChrLCB2PykgPT4gc3RyaW5nLCBwZXJtaXNzaW9uczogUGVybWlzc2lvbkNsYXNzLCBuYW1lOiBzdHJpbmcgPSAnJywgY2xzOiBzdHJpbmcgPSAnJyxcclxuICAgICAgICAgICAgICBwZXJQYWdlOiBudW1iZXIgPSAxMCwgaGVpZ2h0OiBudW1iZXIgPSA1MCkge1xyXG4gICAgdGhpcy5lbnZpcm9ubWVudCA9IGVudmlyb25tZW50O1xyXG4gICAgdGhpcy5sID0gbDtcclxuICAgIHRoaXMubmFtZSA9IG5hbWU7XHJcbiAgICB0aGlzLmlkID0gdGhpcy5uYW1lO1xyXG4gICAgdGhpcy5wZXJtaXNzaW9ucyA9IHBlcm1pc3Npb25zO1xyXG4gICAgdGhpcy5jbGFzcyA9IGNscztcclxuICAgIHRoaXMucGVyUGFnZSA9IHBlclBhZ2U7XHJcbiAgICB0aGlzLmhlaWdodCA9IGhlaWdodDtcclxuICB9XHJcbiAgZW52aXJvbm1lbnQ6IGFueSA9IG51bGw7XHJcbiAgbDogKGssIHY/KSA9PiBzdHJpbmc7XHJcbiAgcGVybWlzc2lvbnM6IFBlcm1pc3Npb25DbGFzcztcclxuICBwZXJtaXNzaW9uID0gdHJ1ZTtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgaWQ6IHN0cmluZztcclxuICBjbGFzczogc3RyaW5nO1xyXG4gIHN0eWxlID0ge307XHJcbiAgdXJsID0gbnVsbDtcclxuICBtZXRob2Q6IE1ldGhvZCA9IE1ldGhvZC5Qb3N0O1xyXG4gIGhlaWdodCA9IDQwO1xyXG4gIHBlclBhZ2UgPSAxMDtcclxuICBjb2xzOiBUYWJsZUNvbGxDbGFzc1tdID0gW107XHJcbiAgYnV0dG9uczogSW5wdXRDbGFzc1tdID0gW107XHJcbiAgb3B0aW9uczogSW5wdXRDbGFzc1tdID0gW107XHJcbiAgcm93cyA9IFtdO1xyXG4gIGNvdW50ID0gMDtcclxuICBwYWdlID0gMTtcclxuICBzb3J0ID0gbnVsbDtcclxuICBxdWVyeVBhcmFtcyA9IHt9O1xyXG4gIHRpdGxlID0gbnVsbDtcclxuICBzb3J0VHlwZSA9IG51bGw7XHJcbiAgZGlzcGxheUxhYmVsID0gdHJ1ZTtcclxuICBpc1JlcG9ydCA9IGZhbHNlO1xyXG4gIHNvcnRhYmxlID0gZmFsc2U7XHJcbiAgb3B0aW9uVHlwZSA9IFRhYmxlT3B0aW9uVHlwZS5IaWRkZW47XHJcbiAgbG9hZGluZyA9IHRydWU7XHJcbiAgaGFzU3RhdHVzID0gZmFsc2U7XHJcbiAgaGFzQ2hpbGRyZW4gPSBmYWxzZTtcclxuICBjaGlsZHJlbkF1dG9Mb2FkID0gZmFsc2U7XHJcbiAgd2l0aFNlbGVjdCA9IGZhbHNlO1xyXG4gIGV4dHJhQnV0dG9ucyA9IHRydWU7XHJcbiAgZm9ybTogRm9ybUNsYXNzID0gbnVsbDtcclxuICBzZWFyY2hGb3JtOiBGb3JtQ2xhc3MgPSBudWxsO1xyXG4gIG1vZGFsOiBNb2RhbENsYXNzID0gbnVsbDtcclxuICBsZXZlbCA9IG51bGw7XHJcbiAgb25Mb2FkOiAoKSA9PiB2b2lkID0gbnVsbDtcclxuICBvblNvcnQ6ICgpID0+IHZvaWQgPSBudWxsO1xyXG4gIHNob3dDb25maXJtOiAobDogc3RyaW5nLCB1cmw6IHN0cmluZywgZGF0YSwgYWNjZXB0OiAoYnRuOiBJbnB1dENsYXNzKSA9PiB2b2lkKSA9PiB2b2lkID0gbnVsbDtcclxuICBoYXNPcHRpb24oKTogYm9vbGVhbnsgcmV0dXJuIHRoaXMucGVybWlzc2lvbnMgJiYgKHRoaXMucGVybWlzc2lvbnMuaGFzQWNjZXNzKCdEZWxldGUnKSB8fFxyXG4gICAgdGhpcy5wZXJtaXNzaW9ucy5oYXNBY2Nlc3MoJ1VwZGF0ZScpIHx8IHRoaXMuaGFzU3RhdHVzIHx8IHRoaXMub3B0aW9ucy5sZW5ndGggPiAwIHx8IHRoaXMuaGFzQ2hpbGRyZW4pOyB9XHJcbiAgbG9hZChidG4gPSBudWxsKTogdm9pZHtcclxuICAgIGlmICh0aGlzLnVybCl7XHJcbiAgICAgIG5ldyBSZXF1ZXN0Q2xhc3ModGhpcy5lbnZpcm9ubWVudCwgdGhpcy5sKS50YWJsZSh0aGlzLCBidG4pO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VhcmNoRGF0YSgpOiB7fSB7XHJcbiAgICBjb25zdCBkOiBhbnkgPSB7XHJcbiAgICAgIFBhZ2U6IHRoaXMucGFnZSxcclxuICAgICAgUGVyUGFnZTogdGhpcy5wZXJQYWdlLFxyXG4gICAgfTtcclxuICAgIGlmICh0aGlzLnNvcnRhYmxlKXtcclxuICAgICAgZC5Tb3J0ID0gJ1ByaW9yaXR5JztcclxuICAgICAgZC5Tb3J0VHlwZSA9ICdBU0MnO1xyXG4gICAgfWVsc2UgaWYgKHRoaXMuc29ydCl7XHJcbiAgICAgIGQuU29ydCA9IHRoaXMuc29ydDtcclxuICAgICAgZC5Tb3J0VHlwZSA9IHRoaXMuc29ydFR5cGU7XHJcbiAgICB9XHJcbiAgICBmb3IgKGNvbnN0IGMgb2YgdGhpcy5jb2xzLmZpbHRlcih4ID0+IHgud2l0aFNlYXJjaCAmJiB4LnNlYXJjaCAhPSBudWxsICYmIHguc2VhcmNoLmRhdGEoKSAhPSBudWxsICYmIHguc2VhcmNoLmRhdGEoKSAhPT0gJycpKXtcclxuICAgICAgZFtjLm5hbWVdID0gYy5zZWFyY2guZGF0YSgpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoRm9ybSA/IHRoaXMuc2VhcmNoRm9ybS5qc29uKGQpIDogZDtcclxuICB9XHJcbiAgZ2V0VXJsKGlzUmVwb3J0OiBib29sZWFuID0gZmFsc2UpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudXJsICsgKHRoaXMuaXNSZXBvcnQgfHwgaXNSZXBvcnQgPyAnUmVwb3J0PycgOiAnTGlzdCcpO1xyXG4gIH1cclxuICBzaG93SW5zZXJ0TW9kYWwoKTogdm9pZCB7XHJcbiAgICBjb25zdCBpbnNlcnRBY2Nlc3MgPSB0aGlzLnBlcm1pc3Npb25zLmdldEFjY2VzcygnSW5zZXJ0Jyk7XHJcbiAgICB0aGlzLmZvcm0udXJsID0gdGhpcy5mb3JtLmJhc2VVcmwgPSB0aGlzLnVybCArICdJbnNlcnQnO1xyXG4gICAgdGhpcy5mb3JtLm5hbWUgPSBpbnNlcnRBY2Nlc3MuTmFtZTtcclxuICAgIHRoaXMuZm9ybS5tZXRob2QgPSBNZXRob2QuUG9zdDtcclxuICAgIHRoaXMuZm9ybS5pbnB1dHMuZmlsdGVyKHggPT4geC5pbkVkaXREaXNhYmxlZCkuZm9yRWFjaCh4ID0+IHguZGlzYWJsZWQgPSBmYWxzZSk7XHJcbiAgICB0aGlzLmZvcm0uaW5wdXRzLmZpbHRlcih4ID0+ICF4LmluRWRpdFZpc2libGUpLmZvckVhY2goeCA9PiB4LnZpc2libGUgPSB0cnVlKTtcclxuICAgIHRoaXMubW9kYWwuc2hvdygpO1xyXG4gIH1cclxuICBzZXQoY2hhbmdlUm93cyA9IG51bGwpOiB2b2lke1xyXG4gICAgdGhpcy5wZXJtaXNzaW9uID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLnBlcm1pc3Npb25zKVxyXG4gICAge1xyXG4gICAgICBjb25zdCBsaXN0QWNjZXNzID0gdGhpcy5wZXJtaXNzaW9ucy5nZXRBY2Nlc3MoJ0xpc3QnKTtcclxuICAgICAgaWYgKGxpc3RBY2Nlc3MgIT09IG51bGwpe1xyXG4gICAgICAgIHRoaXMudGl0bGUgPSBsaXN0QWNjZXNzLk5hbWU7XHJcbiAgICAgICAgdGhpcy51cmwgPSB0aGlzLnBlcm1pc3Npb25zLmdldFVybCgpO1xyXG4gICAgICAgIGlmICh0aGlzLnBlcm1pc3Npb25zLlR5cGUgIT09IFBlcm1pc3Npb25UeXBlRW51bS5Gb3JtKXtcclxuICAgICAgICAgIHRoaXMubG9hZCgpO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5wZXJtaXNzaW9uID0gZmFsc2U7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGluc2VydEFjY2VzcyA9IHRoaXMucGVybWlzc2lvbnMuZ2V0QWNjZXNzKCdJbnNlcnQnKTtcclxuICAgIGlmIChpbnNlcnRBY2Nlc3MgIT0gbnVsbCl7XHJcbiAgICAgIGNvbnN0IGluc2VydCA9IG5ldyBJbnB1dENsYXNzKHRoaXMuZW52aXJvbm1lbnQsIHRoaXMubCwgaW5zZXJ0QWNjZXNzLk5hbWUsICdmYWQgZmEtcGx1cyBmYS1yb3RhdGUtOTAnLCBJbnB1dFR5cGUuQnV0dG9uLCAndy11IGdyZWVuIGgtMzAnKTtcclxuICAgICAgaWYgKHRoaXMuZm9ybSl7XHJcbiAgICAgICAgdGhpcy5mb3JtLnVybCA9IHRoaXMuZm9ybS5iYXNlVXJsID0gdGhpcy51cmwgKyAnSW5zZXJ0JztcclxuICAgICAgICBpZiAoIXRoaXMuZm9ybS5vblRvcCl7XHJcbiAgICAgICAgICBpbnNlcnQub25DbGljayA9ICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtLm9uU3VjY2Vzc0Jhc2UgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5tb2RhbC5oaWRlKCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5sb2FkKCk7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0luc2VydE1vZGFsKCk7XHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgdGhpcy5idXR0b25zLnVuc2hpZnQoaW5zZXJ0KTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHRoaXMuZm9ybS5kaXNwbGF5TGFiZWwgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHRoaXMuYnV0dG9ucy51bnNoaWZ0KGluc2VydCk7XHJcbiAgICAgICAgaWYgKHRoaXMubW9kYWwpe1xyXG4gICAgICAgICAgaW5zZXJ0Lm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubW9kYWwuc2hvdygpO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIGluc2VydC51cmwgPSB0aGlzLnVybCArICdJbnNlcnQnO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKCh0aGlzLnBlcm1pc3Npb25zLmhhc0FjY2VzcygnSW5zZXJ0JykgfHwgdGhpcy5wZXJtaXNzaW9ucy5oYXNBY2Nlc3MoJ1VwZGF0ZScpKSAmJiB0aGlzLmZvcm0pe1xyXG4gICAgICB0aGlzLmZvcm0uYWRkQnV0dG9ucygnU2F2ZScsICdncmVlbicsIHRydWUsIHRoaXMucGVybWlzc2lvbnMuVHlwZSA9PT0gUGVybWlzc2lvblR5cGVFbnVtLkZvcm0gPyAoZGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChkYXRhLklkKXtcclxuICAgICAgICAgIGNvbnN0IGkgPSB0aGlzLnJvd3MuZmluZEluZGV4KHggPT4geC5JZCA9PT0gZGF0YS5JZCk7XHJcbiAgICAgICAgICB0aGlzLnJvd3NbaV0gPSBkYXRhO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgZGF0YS5JZCA9IHBhcnNlSW50KEhlbHBlckNsYXNzLnJhbmRvbSg1LCBmYWxzZSwgZmFsc2UpLCAxMCk7XHJcbiAgICAgICAgICB0aGlzLnJvd3MudW5zaGlmdChkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGNoYW5nZVJvd3Mpe1xyXG4gICAgICAgICAgY2hhbmdlUm93cy5lbWl0KGRhdGEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZvcm0uY2xlYXIoKTtcclxuICAgICAgfSA6IG51bGwpO1xyXG4gICAgICBpZiAodGhpcy5mb3JtLm9uVG9wKXtcclxuICAgICAgICB0aGlzLmZvcm0ub25TdWNjZXNzQmFzZSA9ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuZm9ybS5jbGVhcigpO1xyXG4gICAgICAgICAgdGhpcy5sb2FkKCk7XHJcbiAgICAgICAgfTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoIXRoaXMubW9kYWwpe1xyXG4gICAgICAgICAgdGhpcy5tb2RhbCA9IG5ldyBNb2RhbENsYXNzKHRoaXMuZW52aXJvbm1lbnQsIHRoaXMubCwgdGhpcy5uYW1lKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5tb2RhbC5mb3JtID0gdGhpcy5mb3JtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiB0aGlzLnBlcm1pc3Npb25zLmdldE9wdGlvbnMoKSl7XHJcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMuZmlsdGVyKHggPT4geC5uYW1lID09PSBvcHRpb24uTmFtZSkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3Qgb3B0ID0gbmV3IElucHV0Q2xhc3ModGhpcy5lbnZpcm9ubWVudCwgdGhpcy5sLCBvcHRpb24uTmFtZSwgb3B0aW9uLkljb24sXHJcbiAgICAgICAgb3B0aW9uLk9wdGlvblR5cGUgPT09IFBlcm1pc3Npb25PcHRpb25UeXBlRW51bS5JY29uID8gSW5wdXRUeXBlLkljb24gOiBJbnB1dFR5cGUuQnV0dG9uLCAnYmx1ZSBoLTI1IG0taC01IGQtaWIgdmEtbSBmLXUnKTtcclxuICAgICAgb3B0LmNvbmRpdGlvbiA9IG9wdGlvbi5Db25kaXRpb247XHJcbiAgICAgIGlmIChvcHRpb24uVHlwZSA9PT0gUGVybWlzc2lvblR5cGVFbnVtLk9wdGlvbkxpbmsgfHwgb3B0aW9uLlR5cGUgPT09IFBlcm1pc3Npb25UeXBlRW51bS5PcHRpb25MaW5rTmV3VGFiKXtcclxuICAgICAgICBjb25zdCBwID0gbmV3IFBlcm1pc3Npb25DbGFzcygpO1xyXG4gICAgICAgIHAuUmVsYXRlZElkID0gdGhpcy5wZXJtaXNzaW9ucy5SZWxhdGVkSWQ7XHJcbiAgICAgICAgcC5BcmVhID0gdGhpcy5wZXJtaXNzaW9ucy5BcmVhO1xyXG4gICAgICAgIHAuQ29udHJvbGxlciA9IG9wdGlvbi5Db250cm9sbGVyID8gb3B0aW9uLkNvbnRyb2xsZXIgOiB0aGlzLnBlcm1pc3Npb25zLkNvbnRyb2xsZXI7XHJcbiAgICAgICAgcC5BY3Rpb24gPSB0aGlzLnBlcm1pc3Npb25zLkFjdGlvbjtcclxuICAgICAgICBvcHQudXJsID0gcC5nZXRVcmwoKSArIG9wdGlvbi5BY3Rpb24gKyAnL3t9JztcclxuICAgICAgICBvcHQudXJsTmV3VGFiID0gb3B0aW9uLlR5cGUgPT09IFBlcm1pc3Npb25UeXBlRW51bS5PcHRpb25MaW5rTmV3VGFiO1xyXG4gICAgICB9IGVsc2UgaWYgKG9wdGlvbi5UeXBlID09PSBQZXJtaXNzaW9uVHlwZUVudW0uT3B0aW9uTW9kYWwpe1xyXG4gICAgICAgIG9wdC5tb2RhbCA9IG9wdGlvbi5Nb2RhbDtcclxuICAgICAgICBvcHQub25DbGljayA9IChidG4pID0+IHtcclxuICAgICAgICAgIGlmIChvcHQubW9kYWwudGFibGUpe1xyXG4gICAgICAgICAgICBjb25zdCBwID0gbmV3IFBlcm1pc3Npb25DbGFzcygpO1xyXG4gICAgICAgICAgICBwLlJlbGF0ZWRJZCA9IGJ0bi5yb3cuSWQ7XHJcbiAgICAgICAgICAgIHAuQXJlYSA9IHRoaXMucGVybWlzc2lvbnMuQXJlYTtcclxuICAgICAgICAgICAgcC5Db250cm9sbGVyID0gdGhpcy5wZXJtaXNzaW9ucy5Db250cm9sbGVyO1xyXG4gICAgICAgICAgICBwLkFjdGlvbiA9IG9wdGlvbi5BY3Rpb247XHJcbiAgICAgICAgICAgIHAuQWNjZXNzZXMgPSBvcHRpb24uQWNjZXNzZXM7XHJcbiAgICAgICAgICAgIG9wdC5tb2RhbC50YWJsZS5wZXJtaXNzaW9ucyA9IHA7XHJcbiAgICAgICAgICAgIGlmIChvcHQubW9kYWwudGFibGUuZm9ybSl7XHJcbiAgICAgICAgICAgICAgb3B0Lm1vZGFsLnRhYmxlLmZvcm0udXJsID0gcC5nZXRVcmwoKSArICdJbnNlcnQnO1xyXG4gICAgICAgICAgICAgIG9wdC5tb2RhbC50YWJsZS5mb3JtLmJhc2VVcmwgPSBwLmdldFVybCgpICsgJ0luc2VydCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb3B0Lm1vZGFsLnRhYmxlLnNldCgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKG9wdC5tb2RhbC5mb3JtKXtcclxuICAgICAgICAgICAgb3B0Lm1vZGFsLmZvcm0ubmFtZSA9IG9wdGlvbi5OYW1lO1xyXG4gICAgICAgICAgICBvcHQubW9kYWwuZm9ybS51cmwgPSBvcHQubW9kYWwuZm9ybS5iYXNlVXJsICsgJ1VwZGF0ZS8nICsgYnRuLnJvdy5JZDtcclxuICAgICAgICAgICAgb3B0Lm1vZGFsLmZvcm0ubG9hZERhdGEob3B0Lm1vZGFsLmZvcm0uYmFzZVVybCArICdHZXQvJyArIGJ0bi5yb3cuSWQpO1xyXG4gICAgICAgICAgICBvcHQubW9kYWwuZm9ybS5vblN1Y2Nlc3NCYXNlID0gKCkgPT4ge1xyXG4gICAgICAgICAgICAgIG9wdC5tb2RhbC5oaWRlKCk7XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAob3B0Lm1vZGFsLmFjY29yZGlvbil7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgciBvZiBvcHQubW9kYWwuYWNjb3JkaW9uLnJvd3Mpe1xyXG4gICAgICAgICAgICAgIGlmIChyLnRhYmxlKXtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHAgPSBuZXcgUGVybWlzc2lvbkNsYXNzKCk7XHJcbiAgICAgICAgICAgICAgICBwLlJlbGF0ZWRJZCA9IGJ0bi5yb3cuSWQ7XHJcbiAgICAgICAgICAgICAgICBwLkFyZWEgPSB0aGlzLnBlcm1pc3Npb25zLkFyZWE7XHJcbiAgICAgICAgICAgICAgICBwLkNvbnRyb2xsZXIgPSB0aGlzLnBlcm1pc3Npb25zLkNvbnRyb2xsZXI7XHJcbiAgICAgICAgICAgICAgICBwLkFjdGlvbiA9IHIubmFtZTtcclxuICAgICAgICAgICAgICAgIHAuQWNjZXNzZXMgPSBvcHRpb24uQWNjZXNzZXM7XHJcbiAgICAgICAgICAgICAgICByLnRhYmxlLnBlcm1pc3Npb25zID0gcDtcclxuICAgICAgICAgICAgICAgIGlmIChyLnRhYmxlLmZvcm0pe1xyXG4gICAgICAgICAgICAgICAgICByLnRhYmxlLmZvcm0udXJsID0gcC5nZXRVcmwoKSArICdJbnNlcnQnO1xyXG4gICAgICAgICAgICAgICAgICByLnRhYmxlLmZvcm0uYmFzZVVybCA9IHAuZ2V0VXJsKCkgKyAnSW5zZXJ0JztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHIudGFibGUuc2V0KCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgfSBlbHNlIGlmIChvcHRpb24uVHlwZSA9PT0gUGVybWlzc2lvblR5cGVFbnVtLk9wdGlvblJlcG9ydCl7XHJcbiAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICBwLlJlbGF0ZWRJZCA9ICdJbmRleCc7XHJcbiAgICAgICAgcC5BcmVhID0gdGhpcy5wZXJtaXNzaW9ucy5BcmVhO1xyXG4gICAgICAgIHAuQ29udHJvbGxlciA9ICdQcmludCc7XHJcbiAgICAgICAgcC5BY3Rpb24gPSBvcHRpb24uQWN0aW9uO1xyXG4gICAgICAgIG9wdC51cmwgPSAnL1JlcG9ydCcgKyBwLmdldFVybCgpICsgJy97fSc7XHJcbiAgICAgICAgb3B0LnVybE5ld1RhYiA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSBpZiAob3B0aW9uLlR5cGUgPT09IFBlcm1pc3Npb25UeXBlRW51bS5PcHRpb25GaWxlKXtcclxuICAgICAgICBjb25zdCBwID0gbmV3IFBlcm1pc3Npb25DbGFzcygpO1xyXG4gICAgICAgIHAuUmVsYXRlZElkID0gdGhpcy5wZXJtaXNzaW9ucy5SZWxhdGVkSWQ7XHJcbiAgICAgICAgcC5BcmVhID0gdGhpcy5wZXJtaXNzaW9ucy5BcmVhO1xyXG4gICAgICAgIHAuQ29udHJvbGxlciA9IHRoaXMucGVybWlzc2lvbnMuQ29udHJvbGxlcjtcclxuICAgICAgICBwLkFjdGlvbiA9ICh0aGlzLnBlcm1pc3Npb25zLkFjdGlvbiA/IHRoaXMucGVybWlzc2lvbnMuQWN0aW9uIDogJycpICsgb3B0aW9uLkFjdGlvbjtcclxuICAgICAgICBvcHQudXJsID0gJy9GaWxlJyArIHAuZ2V0VXJsKCkgKyAnL3t9JztcclxuICAgICAgICBvcHQudXJsTmV3VGFiID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIGlmIChvcHRpb24uVHlwZSA9PT0gUGVybWlzc2lvblR5cGVFbnVtLk9wdGlvbkNvbmZpcm0pe1xyXG4gICAgICAgIG9wdC5vbkNsaWNrID0gKGJ0bikgPT4ge1xyXG4gICAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICAgIHAuUmVsYXRlZElkID0gdGhpcy5wZXJtaXNzaW9ucy5SZWxhdGVkSWQ7XHJcbiAgICAgICAgICBwLkFyZWEgPSB0aGlzLnBlcm1pc3Npb25zLkFyZWE7XHJcbiAgICAgICAgICBwLkNvbnRyb2xsZXIgPSB0aGlzLnBlcm1pc3Npb25zLkNvbnRyb2xsZXI7XHJcbiAgICAgICAgICBwLkFjdGlvbiA9IG9wdGlvbi5BY3Rpb247XHJcbiAgICAgICAgICB0aGlzLnNob3dDb25maXJtKHRoaXMubChvcHRpb24uQWN0aW9uICsgJ0NvbmZpcm0nKSwgcC5nZXRVcmwoKSArICcvJyArIGJ0bi5yb3cuSWQsIG51bGwsICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5sb2FkKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9O1xyXG4gICAgICB9IGVsc2UgaWYgKG9wdGlvbi5UeXBlID09PSBQZXJtaXNzaW9uVHlwZUVudW0uT3B0aW9uSWNvbil7XHJcbiAgICAgICAgaWYgKG9wdGlvbi5PbkNsaWNrKXtcclxuICAgICAgICAgIG9wdC5vbkNsaWNrID0gKGJ0bikgPT4ge1xyXG4gICAgICAgICAgICBvcHRpb24uT25DbGljayhidG4pO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5vcHRpb25zLnB1c2gob3B0KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbGxDbGFzcyB7XHJcbiAgY29uc3RydWN0b3IobmFtZTogc3RyaW5nLCBwZXJjZW50OiBudW1iZXIsIGNscyA9ICcnLCB0eXBlOiBUYWJsZUNvbGxUeXBlID0gVGFibGVDb2xsVHlwZS5UZXh0LFxyXG4gICAgICAgICAgICAgIHdpdGhTZWFyY2g6IGJvb2xlYW4gPSB0cnVlLCBzb3J0OiBib29sZWFuID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgIHRoaXMucGVyY2VudCA9IHBlcmNlbnQ7XHJcbiAgICB0aGlzLmNsYXNzID0gY2xzO1xyXG4gICAgdGhpcy50eXBlID0gdHlwZTtcclxuICAgIHRoaXMud2l0aFNlYXJjaCA9IHdpdGhTZWFyY2g7XHJcbiAgICB0aGlzLnNvcnQgPSBzb3J0O1xyXG4gIH1cclxuICBlbnVtID0gbnVsbDtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgcGVyY2VudDogbnVtYmVyO1xyXG4gIGNsYXNzOiBzdHJpbmc7XHJcbiAgc29ydCA9IHRydWU7XHJcbiAgd2l0aFNlYXJjaDogYm9vbGVhbjtcclxuICBzZWFyY2g6IElucHV0Q2xhc3MgPSBudWxsO1xyXG4gIHR5cGU6IFRhYmxlQ29sbFR5cGU7XHJcbiAgZnVuOiAocm93KSA9PiB2b2lkID0gbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFRhYmxlUm93Q2xhc3Mge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkYXRhLCBwdWJsaWMgY2hpbGRyZW4pIHtcclxuICB9XHJcbn1cclxuIl19
@@ -6242,7 +6242,7 @@ class TableClass {
6242
6242
  const p = new PermissionClass();
6243
6243
  p.RelatedId = this.permissions.RelatedId;
6244
6244
  p.Area = this.permissions.Area;
6245
- p.Controller = this.permissions.Controller;
6245
+ p.Controller = option.Controller ? option.Controller : this.permissions.Controller;
6246
6246
  p.Action = this.permissions.Action;
6247
6247
  opt.url = p.getUrl() + option.Action + '/{}';
6248
6248
  opt.urlNewTab = option.Type === PermissionTypeEnum.OptionLinkNewTab;
@@ -6294,9 +6294,9 @@ class TableClass {
6294
6294
  }
6295
6295
  else if (option.Type === PermissionTypeEnum.OptionReport) {
6296
6296
  const p = new PermissionClass();
6297
- p.RelatedId = this.permissions.RelatedId;
6297
+ p.RelatedId = 'Index';
6298
6298
  p.Area = this.permissions.Area;
6299
- p.Controller = this.permissions.Controller;
6299
+ p.Controller = 'Print';
6300
6300
  p.Action = option.Action;
6301
6301
  opt.url = '/Report' + p.getUrl() + '/{}';
6302
6302
  opt.urlNewTab = true;