@smartbit4all/ng-client 4.2.69 → 4.2.70

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.
@@ -1,10 +1,12 @@
1
1
  export class SmartGridToolbarActionsUtil {
2
+ static { this.defaultActionToolbarId = 'toolbarDefaultActionColumn'; }
2
3
  static showMenu(row, orderedColumns) {
3
4
  if (!row.columnActions && row.actions && row.actions.length > 0) {
4
5
  return true;
5
6
  }
7
+ let _columnsToFilter = [...orderedColumns, this.defaultActionToolbarId];
6
8
  let filteredActionColumns = Object.keys(row.columnActions || {})
7
- .filter((key) => orderedColumns.includes(key))
9
+ .filter((key) => _columnsToFilter.includes(key))
8
10
  .reduce((acc, key) => {
9
11
  acc[key] = row.columnActions[key];
10
12
  return acc;
@@ -46,8 +48,9 @@ export class SmartGridToolbarActionsUtil {
46
48
  return cellToActionMap;
47
49
  }
48
50
  static calculateMenuActions(row, orderedColumns) {
51
+ let _columnsToFilter = [...orderedColumns, this.defaultActionToolbarId];
49
52
  let columnCodes = Object.keys(row.columnActions || {})
50
- .filter((key) => orderedColumns.includes(key))
53
+ .filter((key) => _columnsToFilter.includes(key))
51
54
  .map((key) => row.columnActions[key])
52
55
  .flat();
53
56
  return row.actions?.filter((action) => {
@@ -59,4 +62,4 @@ export class SmartGridToolbarActionsUtil {
59
62
  return cellToActionMap[key];
60
63
  }
61
64
  }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZ3JpZC10b29sYmFyLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1ncmlkL3NtYXJ0LWdyaWQtdG9vbGJhci11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFZLEVBQUUsY0FBd0I7UUFDcEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoRSxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxJQUFJLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUM7YUFDN0QsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQzdDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNuQixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLGFBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQyxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUF5QixDQUFDLENBQUM7UUFFaEMsT0FBTyxDQUNMLEdBQUcsQ0FBQyxPQUFPO1lBQ1gsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUN0QixNQUFNLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUN6RSxDQUFDO0lBQ0osQ0FBQztJQUNELE1BQU0sQ0FBQyxXQUFX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cG9ydCB7IFVpQWN0aW9uIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L2FwaSc7XHJcbmltcG9ydCB7IEdyaWRSb3cgfSBmcm9tICcuL2FwaS9ncmlkLWFwaSc7XHJcblxyXG5leHBvcnQgY2xhc3MgU21hcnRHcmlkVG9vbGJhckFjdGlvbnNVdGlsIHtcclxuICBzdGF0aWMgc2hvd01lbnUocm93OiBHcmlkUm93LCBvcmRlcmVkQ29sdW1uczogc3RyaW5nW10pOiBib29sZWFuIHtcclxuICAgIGlmICghcm93LmNvbHVtbkFjdGlvbnMgJiYgcm93LmFjdGlvbnMgJiYgcm93LmFjdGlvbnMubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGxldCBmaWx0ZXJlZEFjdGlvbkNvbHVtbnMgPSBPYmplY3Qua2V5cyhyb3cuY29sdW1uQWN0aW9ucyB8fCB7fSlcclxuICAgICAgLmZpbHRlcigoa2V5KSA9PiBvcmRlcmVkQ29sdW1ucy5pbmNsdWRlcyhrZXkpKVxyXG4gICAgICAucmVkdWNlKChhY2MsIGtleSkgPT4ge1xyXG4gICAgICAgIGFjY1trZXldID0gcm93LmNvbHVtbkFjdGlvbnMhW2tleV07XHJcbiAgICAgICAgcmV0dXJuIGFjYztcclxuICAgICAgfSwge30gYXMgUmVjb3JkPHN0cmluZywgYW55Pik7XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgcm93LmFjdGlvbnMgJiZcclxuICAgICAgcm93LmFjdGlvbnMubGVuZ3RoID4gMCAmJlxyXG4gICAgICBPYmplY3QudmFsdWVzKGZpbHRlcmVkQWN0aW9uQ29sdW1ucykuZmxhdCgpLmxlbmd0aCAhPSByb3cuYWN0aW9ucy5sZW5ndGhcclxuICAgICk7XHJcbiAgfVxyXG4gIHN0YXRpYyBzaG93VG9vbGJhcihyb3c6IEdyaWRSb3csIGNvbHVtbk5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhcm93LmFjdGlvbnMgJiYgcm93LmFjdGlvbnMubGVuZ3RoID4gMCAmJiAhIXJvdy5jb2x1bW5BY3Rpb25zPy5bY29sdW1uTmFtZV07XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgY2FsY3VsYXRlQ2VsbFRvQWN0aW9uTWFwKFxyXG4gICAgcm93czogR3JpZFJvd1tdLFxyXG4gICAgc2VydmljZVRvVXNlOiBhbnksXHJcbiAgICBncmlkSWQ6IHN0cmluZ1xyXG4gICk6IFJlY29yZDxzdHJpbmcsIGFueVtdPiB7XHJcbiAgICBsZXQgY2VsbFRvQWN0aW9uTWFwOiBSZWNvcmQ8c3RyaW5nLCBhbnlbXT4gPSB7fTtcclxuXHJcbiAgICByb3dzLmZvckVhY2goKHJvdykgPT4ge1xyXG4gICAgICBpZiAocm93Py5jb2x1bW5BY3Rpb25zICYmIHJvdz8uYWN0aW9ucykge1xyXG4gICAgICAgIE9iamVjdC5rZXlzKHJvdy5jb2x1bW5BY3Rpb25zKS5mb3JFYWNoKChjb2x1bW5OYW1lKSA9PiB7XHJcbiAgICAgICAgICBsZXQga2V5ID0gcm93LmlkICsgY29sdW1uTmFtZTtcclxuICAgICAgICAgIGNvbnN0IGFjdGlvbkNvZGVzOiBzdHJpbmdbXSA9IHJvdy5jb2x1bW5BY3Rpb25zIVtjb2x1bW5OYW1lXTtcclxuICAgICAgICAgIGNvbnN0IGFjdGlvbnM6IFVpQWN0aW9uW10gPSByb3cuYWN0aW9ucy5maWx0ZXIoXHJcbiAgICAgICAgICAgIChhY3Rpb246IFVpQWN0aW9uKSA9PiBhY3Rpb24uY29kZSAmJiBhY3Rpb25Db2Rlcy5pbmNsdWRlcyhhY3Rpb24uY29kZSlcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBjb25zdCBhY3Rpb25Nb2RlbHM6IGFueVtdID0gYWN0aW9ucy5tYXAoKHVpQWN0aW9uOiBVaUFjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAvL0FkZCByb3cgdG8gdWlBY3Rpb25cclxuICAgICAgICAgICAgbGV0IF91aUFjdGlvbiA9IHsgLi4udWlBY3Rpb24gfTtcclxuXHJcbiAgICAgICAgICAgIF91aUFjdGlvbi5wYXJhbXMgPSB7XHJcbiAgICAgICAgICAgICAgLi4udWlBY3Rpb24ucGFyYW1zLFxyXG4gICAgICAgICAgICAgIG1vZGVsOiByb3csXHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAvLyBBZGQgZ3JpZElkIGFuZCB3aWRnZXRJZCB0byB1aUFjdGlvbk1vZFxyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgIHNlcnZpY2VUb1VzZTogc2VydmljZVRvVXNlLFxyXG4gICAgICAgICAgICAgIHVpQWN0aW9uOiBfdWlBY3Rpb24sXHJcbiAgICAgICAgICAgICAgbm9kZUlkOiByb3cuaWQsXHJcbiAgICAgICAgICAgICAgd2lkZ2V0SWQ6IGdyaWRJZCxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgY2VsbFRvQWN0aW9uTWFwW2tleV0gPSBhY3Rpb25Nb2RlbHM7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGNlbGxUb0FjdGlvbk1hcDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBjYWxjdWxhdGVNZW51QWN0aW9ucyhyb3c6IEdyaWRSb3csIG9yZGVyZWRDb2x1bW5zOiBzdHJpbmdbXSk6IFVpQWN0aW9uW10ge1xyXG4gICAgbGV0IGNvbHVtbkNvZGVzOiBzdHJpbmdbXSA9IE9iamVjdC5rZXlzKHJvdy5jb2x1bW5BY3Rpb25zIHx8IHt9KVxyXG4gICAgICAuZmlsdGVyKChrZXkpID0+IG9yZGVyZWRDb2x1bW5zLmluY2x1ZGVzKGtleSkpXHJcbiAgICAgIC5tYXAoKGtleSkgPT4gcm93LmNvbHVtbkFjdGlvbnMhW2tleV0pXHJcbiAgICAgIC5mbGF0KCk7XHJcblxyXG4gICAgcmV0dXJuIHJvdy5hY3Rpb25zPy5maWx0ZXIoKGFjdGlvbjogVWlBY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuICFjb2x1bW5Db2Rlcy5pbmNsdWRlcyhhY3Rpb24uY29kZSEpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0QWN0aW9uTW9kZWxzRnJvbU1hcChcclxuICAgIGNlbGxUb0FjdGlvbk1hcDogUmVjb3JkPHN0cmluZywgYW55W10+LFxyXG4gICAgcm93OiBHcmlkUm93LFxyXG4gICAgaGVhZGVyOiBzdHJpbmdcclxuICApOiBhbnlbXSB7XHJcbiAgICBsZXQga2V5ID0gcm93LmlkICsgaGVhZGVyO1xyXG4gICAgcmV0dXJuIGNlbGxUb0FjdGlvbk1hcFtrZXldO1xyXG4gIH1cclxufVxyXG4iXX0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZ3JpZC10b29sYmFyLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1ncmlkL3NtYXJ0LWdyaWQtdG9vbGJhci11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTywyQkFBMkI7YUFDL0IsMkJBQXNCLEdBQUcsNEJBQTRCLENBQUM7SUFFN0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFZLEVBQUUsY0FBd0I7UUFDcEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoRSxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFJLGdCQUFnQixHQUFHLENBQUMsR0FBRyxjQUFjLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDeEUsSUFBSSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO2FBQzdELE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQy9DLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNuQixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLGFBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQyxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUF5QixDQUFDLENBQUM7UUFFaEMsT0FBTyxDQUNMLEdBQUcsQ0FBQyxPQUFPO1lBQ1gsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUN0QixNQUFNLENBQUMsTUFBTSxDQUFDLHFCQUFx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TUFBTSxDQUFDLHNCQUFzQixDQUMzQixlQUFzQyxFQUN0QyxHQUFZLEVBQ1osTUFBYztRQUVkLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQzFCLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVaUFjdGlvbiB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9hcGknO1xyXG5pbXBvcnQgeyBHcmlkUm93IH0gZnJvbSAnLi9hcGkvZ3JpZC1hcGknO1xyXG5leHBvcnQgY2xhc3MgU21hcnRHcmlkVG9vbGJhckFjdGlvbnNVdGlsIHtcclxuICBzdGF0aWMgZGVmYXVsdEFjdGlvblRvb2xiYXJJZCA9ICd0b29sYmFyRGVmYXVsdEFjdGlvbkNvbHVtbic7XHJcblxyXG4gIHN0YXRpYyBzaG93TWVudShyb3c6IEdyaWRSb3csIG9yZGVyZWRDb2x1bW5zOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCFyb3cuY29sdW1uQWN0aW9ucyAmJiByb3cuYWN0aW9ucyAmJiByb3cuYWN0aW9ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBfY29sdW1uc1RvRmlsdGVyID0gWy4uLm9yZGVyZWRDb2x1bW5zLCB0aGlzLmRlZmF1bHRBY3Rpb25Ub29sYmFySWRdO1xyXG4gICAgbGV0IGZpbHRlcmVkQWN0aW9uQ29sdW1ucyA9IE9iamVjdC5rZXlzKHJvdy5jb2x1bW5BY3Rpb25zIHx8IHt9KVxyXG4gICAgICAuZmlsdGVyKChrZXkpID0+IF9jb2x1bW5zVG9GaWx0ZXIuaW5jbHVkZXMoa2V5KSlcclxuICAgICAgLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcclxuICAgICAgICBhY2Nba2V5XSA9IHJvdy5jb2x1bW5BY3Rpb25zIVtrZXldO1xyXG4gICAgICAgIHJldHVybiBhY2M7XHJcbiAgICAgIH0sIHt9IGFzIFJlY29yZDxzdHJpbmcsIGFueT4pO1xyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgIHJvdy5hY3Rpb25zICYmXHJcbiAgICAgIHJvdy5hY3Rpb25zLmxlbmd0aCA+IDAgJiZcclxuICAgICAgT2JqZWN0LnZhbHVlcyhmaWx0ZXJlZEFjdGlvbkNvbHVtbnMpLmZsYXQoKS5sZW5ndGggIT0gcm93LmFjdGlvbnMubGVuZ3RoXHJcbiAgICApO1xyXG4gIH1cclxuICBzdGF0aWMgc2hvd1Rvb2xiYXIocm93OiBHcmlkUm93LCBjb2x1bW5OYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXJvdy5hY3Rpb25zICYmIHJvdy5hY3Rpb25zLmxlbmd0aCA+IDAgJiYgISFyb3cuY29sdW1uQWN0aW9ucz8uW2NvbHVtbk5hbWVdO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGNhbGN1bGF0ZUNlbGxUb0FjdGlvbk1hcChcclxuICAgIHJvd3M6IEdyaWRSb3dbXSxcclxuICAgIHNlcnZpY2VUb1VzZTogYW55LFxyXG4gICAgZ3JpZElkOiBzdHJpbmdcclxuICApOiBSZWNvcmQ8c3RyaW5nLCBhbnlbXT4ge1xyXG4gICAgbGV0IGNlbGxUb0FjdGlvbk1hcDogUmVjb3JkPHN0cmluZywgYW55W10+ID0ge307XHJcblxyXG4gICAgcm93cy5mb3JFYWNoKChyb3cpID0+IHtcclxuICAgICAgaWYgKHJvdz8uY29sdW1uQWN0aW9ucyAmJiByb3c/LmFjdGlvbnMpIHtcclxuICAgICAgICBPYmplY3Qua2V5cyhyb3cuY29sdW1uQWN0aW9ucykuZm9yRWFjaCgoY29sdW1uTmFtZSkgPT4ge1xyXG4gICAgICAgICAgbGV0IGtleSA9IHJvdy5pZCArIGNvbHVtbk5hbWU7XHJcbiAgICAgICAgICBjb25zdCBhY3Rpb25Db2Rlczogc3RyaW5nW10gPSByb3cuY29sdW1uQWN0aW9ucyFbY29sdW1uTmFtZV07XHJcbiAgICAgICAgICBjb25zdCBhY3Rpb25zOiBVaUFjdGlvbltdID0gcm93LmFjdGlvbnMuZmlsdGVyKFxyXG4gICAgICAgICAgICAoYWN0aW9uOiBVaUFjdGlvbikgPT4gYWN0aW9uLmNvZGUgJiYgYWN0aW9uQ29kZXMuaW5jbHVkZXMoYWN0aW9uLmNvZGUpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgY29uc3QgYWN0aW9uTW9kZWxzOiBhbnlbXSA9IGFjdGlvbnMubWFwKCh1aUFjdGlvbjogVWlBY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgLy9BZGQgcm93IHRvIHVpQWN0aW9uXHJcbiAgICAgICAgICAgIGxldCBfdWlBY3Rpb24gPSB7IC4uLnVpQWN0aW9uIH07XHJcblxyXG4gICAgICAgICAgICBfdWlBY3Rpb24ucGFyYW1zID0ge1xyXG4gICAgICAgICAgICAgIC4uLnVpQWN0aW9uLnBhcmFtcyxcclxuICAgICAgICAgICAgICBtb2RlbDogcm93LFxyXG4gICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgLy8gQWRkIGdyaWRJZCBhbmQgd2lkZ2V0SWQgdG8gdWlBY3Rpb25Nb2RcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICBzZXJ2aWNlVG9Vc2U6IHNlcnZpY2VUb1VzZSxcclxuICAgICAgICAgICAgICB1aUFjdGlvbjogX3VpQWN0aW9uLFxyXG4gICAgICAgICAgICAgIG5vZGVJZDogcm93LmlkLFxyXG4gICAgICAgICAgICAgIHdpZGdldElkOiBncmlkSWQsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGNlbGxUb0FjdGlvbk1hcFtrZXldID0gYWN0aW9uTW9kZWxzO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBjZWxsVG9BY3Rpb25NYXA7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgY2FsY3VsYXRlTWVudUFjdGlvbnMocm93OiBHcmlkUm93LCBvcmRlcmVkQ29sdW1uczogc3RyaW5nW10pOiBVaUFjdGlvbltdIHtcclxuICAgIGxldCBfY29sdW1uc1RvRmlsdGVyID0gWy4uLm9yZGVyZWRDb2x1bW5zLCB0aGlzLmRlZmF1bHRBY3Rpb25Ub29sYmFySWRdO1xyXG4gICAgbGV0IGNvbHVtbkNvZGVzOiBzdHJpbmdbXSA9IE9iamVjdC5rZXlzKHJvdy5jb2x1bW5BY3Rpb25zIHx8IHt9KVxyXG4gICAgICAuZmlsdGVyKChrZXkpID0+IF9jb2x1bW5zVG9GaWx0ZXIuaW5jbHVkZXMoa2V5KSlcclxuICAgICAgLm1hcCgoa2V5KSA9PiByb3cuY29sdW1uQWN0aW9ucyFba2V5XSlcclxuICAgICAgLmZsYXQoKTtcclxuXHJcbiAgICByZXR1cm4gcm93LmFjdGlvbnM/LmZpbHRlcigoYWN0aW9uOiBVaUFjdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gIWNvbHVtbkNvZGVzLmluY2x1ZGVzKGFjdGlvbi5jb2RlISk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXRBY3Rpb25Nb2RlbHNGcm9tTWFwKFxyXG4gICAgY2VsbFRvQWN0aW9uTWFwOiBSZWNvcmQ8c3RyaW5nLCBhbnlbXT4sXHJcbiAgICByb3c6IEdyaWRSb3csXHJcbiAgICBoZWFkZXI6IHN0cmluZ1xyXG4gICk6IGFueVtdIHtcclxuICAgIGxldCBrZXkgPSByb3cuaWQgKyBoZWFkZXI7XHJcbiAgICByZXR1cm4gY2VsbFRvQWN0aW9uTWFwW2tleV07XHJcbiAgfVxyXG59XHJcbiJdfQ==