@sd-angular/core 1.3.178 → 1.3.179

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.
@@ -196,13 +196,12 @@ export class SdPopupExport {
196
196
  };
197
197
  this.createTemplate = () => __awaiter(this, void 0, void 0, function* () {
198
198
  var _s, _t, _u, _v, _w;
199
- const { translate } = this.translateService;
200
199
  if (this.form.invalid) {
201
200
  this.form.markAllAsTouched();
202
201
  return;
203
202
  }
204
203
  if (!this.columns.some(e => this.selected[e.field])) {
205
- this.notifyService.notify.warning(translate('Please select columns'));
204
+ this.notifyService.notify.warning(`Vui lòng chọn cột dữ liệu để xuất`);
206
205
  return;
207
206
  }
208
207
  this.loadingService.start();
@@ -335,4 +334,4 @@ SdPopupExport.propDecorators = {
335
334
  _gridOption: [{ type: Input, args: ['gridOption',] }],
336
335
  configuration: [{ type: Input }]
337
336
  };
338
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtZXhwb3J0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvZ3JpZC1tYXRlcmlhbC8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29tcG9uZW50cy9wb3B1cC1leHBvcnQvcG9wdXAtZXhwb3J0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXlCLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUlySixPQUFPLEVBQ0wsZUFBZSxFQUNoQixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFDTCxnQkFBZ0IsRUFDakIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQ0wsa0JBQWtCLEVBQ25CLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBSS9CLE9BQU8sRUFBZ0IsZUFBZSxFQUFrQixNQUFNLHlCQUF5QixDQUFDO0FBRXhGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVUzQyxNQUFNLE9BQU8sYUFBYTtJQTJGeEIsWUFDVSxHQUFzQixFQUN0QixjQUFnQyxFQUNoQyxhQUE4QixFQUM5QixhQUE4QixFQUM5QixnQkFBb0M7UUFKcEMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsbUJBQWMsR0FBZCxjQUFjLENBQWtCO1FBQ2hDLGtCQUFhLEdBQWIsYUFBYSxDQUFpQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7UUFDOUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFvQjtRQTlGOUMsWUFBTyxHQUFxQixFQUFFLENBQUM7UUFDL0IsV0FBTSxHQUFvQixFQUFFLENBQUM7UUFFN0IsbUJBQWMs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LFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQix5ekxBQTRDO2dCQUU1QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDaEQ7OztZQTlCa0YsaUJBQWlCO1lBU2xHLGdCQUFnQjtZQVVLLGVBQWU7WUFkcEMsZUFBZTtZQVFmLGtCQUFrQjs7O29CQXdCakIsU0FBUyxTQUFDLE9BQU87eUJBQ2pCLFNBQVMsU0FBQyxZQUFZO3FCQVF0QixNQUFNOzBCQUdOLEtBQUssU0FBQyxZQUFZOzRCQUtsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEFmdGVyVmlld0luaXQsIFZpZXdDaGlsZCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIElucHV0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCAqIGFzIHV1aWQgZnJvbSAndXVpZCc7XHJcblxyXG5pbXBvcnQge1xyXG4gIFNkTm90aWZ5U2VydmljZVxyXG59IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvbm90aWZ5JztcclxuXHJcbmltcG9ydCB7XHJcbiAgU2RMb2FkaW5nU2VydmljZVxyXG59IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvbG9hZGluZyc7XHJcblxyXG5pbXBvcnQge1xyXG4gIFNkVHJhbnNsYXRlU2VydmljZVxyXG59IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvdHJhbnNsYXRlJztcclxuaW1wb3J0IGhhc2ggZnJvbSAnb2JqZWN0LWhhc2gnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3Rpb25MaXN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XHJcbmltcG9ydCB7IFNkR3JpZE1hdGVyaWFsT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dyaWQtb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgU2RNb2RhbCB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvbW9kYWwnO1xyXG5pbXBvcnQgeyBTZEV4cG9ydEZpbGUsIFNkRXhwb3J0U2VydmljZSwgU2RFeHBvcnRDb2x1bW4gfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2V4cG9ydCc7XHJcbmltcG9ydCB7IFNkR3JvdXBFeHBvcnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ3JpZC1leHBvcnQubW9kZWwnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNkR3JpZENvbmZpZ3VyYXRpb25SZXN1bHQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ3JpZC1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbENvbHVtbiB9IGZyb20gJy4uLy4uL21vZGVscy9ncmlkLWNvbHVtbi5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NkLXBvcHVwLWV4cG9ydCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BvcHVwLWV4cG9ydC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcG9wdXAtZXhwb3J0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkUG9wdXBFeHBvcnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIGdyaWRPcHRpb246IFNkR3JpZE1hdGVyaWFsT3B0aW9uO1xyXG4gIGNvbHVtbnM6IFNkRXhwb3J0Q29sdW1uW10gPSBbXTtcclxuICBncm91cHM6IFNkR3JvdXBFeHBvcnRbXSA9IFtdO1xyXG4gIHRlbXBsYXRlTmFtZTogc3RyaW5nO1xyXG4gIGVuYWJsZUNyZWF0aW5nID0gZmFsc2U7XHJcbiAgQFZpZXdDaGlsZCgnbW9kYWwnKSBtb2RhbDogU2RNb2RhbDtcclxuICBAVmlld0NoaWxkKCdsaXN0R3JvdXBzJykgbGlzdEdyb3VwczogTWF0U2VsZWN0aW9uTGlzdDtcclxuXHJcbiAgc2VsZWN0ZWQ6IHtcclxuICAgIFtrZXk6IHN0cmluZ106IGJvb2xlYW5cclxuICB9ID0ge307XHJcbiAgZmlsZXM6IFNkRXhwb3J0RmlsZVtdID0gW107XHJcbiAgc2VsZWN0ZWRHcm91cDogU2RHcm91cEV4cG9ydDtcclxuXHJcbiAgQE91dHB1dCgpIGV4cG9ydCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBmaWxlOiBTZEV4cG9ydEZpbGUsIGNvbHVtbnM6IFNkRXhwb3J0Q29sdW1uW10sIGlzQ1NWPzogYm9vbGVhbiB9PigpO1xyXG4gIGZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuXHJcbiAgQElucHV0KCdncmlkT3B0aW9uJykgc2V0IF9ncmlkT3B0aW9uKG9wdGlvbjogU2RHcmlkTWF0ZXJpYWxPcHRpb24pIHtcclxuICAgIHRoaXMuZ3JpZE9wdGlvbiA9IG9wdGlvbjtcclxuICAgIHRoaXMuY29sdW1ucyA9IHRoaXMuI2dldEV4cG9ydGFibGVDb2x1bW5zKCk7XHJcbiAgICB0aGlzLmdyb3VwcyA9IHRoaXMuI2dldEV4cG9ydGFibGVHcm91cHMoKTtcclxuICB9XHJcbiAgQElucHV0KCkgY29uZmlndXJhdGlvbjogU2RHcmlkQ29uZmlndXJhdGlvblJlc3VsdDtcclxuICBwcml2YXRlIGdldCBrZXkoKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHByZWZpeCA9ICc5Mzg4OWU3OC1mOTcxLTRhMWQtOGM3My1mZTIzMjFhZjkyMzMnO1xyXG4gICAgaWYgKCF0aGlzLmdyaWRPcHRpb24/LmV4cG9ydD8ua2V5KSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGhhc2goe1xyXG4gICAgICBwcmVmaXgsXHJcbiAgICAgIGtleTogdGhpcy5ncmlkT3B0aW9uPy5leHBvcnQ/LmtleVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldCBncmlkQ29sdW1ucygpIHtcclxuICAgIGNvbnN0IGNvbHVtbnM6IFNkRXhwb3J0Q29sdW1uW10gPSBbXTtcclxuICAgIHRoaXMuZ3JpZE9wdGlvbi5jb2x1bW5zLmZpbHRlcihlID0+ICFlLmV4cG9ydD8uZGlzYWJsZWQpLmZvckVhY2goY29sdW1uID0+IHtcclxuICAgICAgaWYgKGNvbHVtbi50eXBlID09PSAnaW1hZ2UnKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChjb2x1bW4udHlwZSA9PT0gJ2NoaWxkcmVuJykge1xyXG4gICAgICAgIGNvbHVtbi5jaGlsZHJlbj8uZmlsdGVyKGUgPT4gIWUuZXhwb3J0Py5kaXNhYmxlZCkuZm9yRWFjaChjaGlsZENvbHVtbiA9PiB7XHJcbiAgICAgICAgICBpZiAoY2hpbGRDb2x1bW4udHlwZSA9PT0gJ2ltYWdlJykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjb2x1bW5zLnB1c2goY2hpbGRDb2x1bW4pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAoY29sdW1uLnR5cGUgPT09ICdjaGlsZHJlbi1jb2wnKSB7XHJcbiAgICAgICAgY29sdW1uLmNoaWxkcmVuPy5maWx0ZXIoZSA9PiAhZS5leHBvcnQ/LmRpc2FibGVkKS5mb3JFYWNoKGNoaWxkQ29sdW1uID0+IHtcclxuICAgICAgICAgIGlmIChjaGlsZENvbHVtbi50eXBlID09PSAnaW1hZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNvbHVtbnMucHVzaChjaGlsZENvbHVtbik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbHVtbnMucHVzaChjb2x1bW4pO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gY29sdW1ucy5tYXAoZSA9PiAoe1xyXG4gICAgICBmaWVsZDogZS5maWVsZCxcclxuICAgICAgdGl0bGU6IGUudGl0bGUsXHJcbiAgICAgIGRlc2NyaXB0aW9uOiBlLmRlc2NyaXB0aW9uLFxyXG4gICAgICB3aWR0aDogZS53aWR0aFxyXG4gICAgfSkpO1xyXG4gIH1cclxuICBwcml2YXRlIGdldCBhZGRpdGlvbmFsQ29sdW1ucygpIHtcclxuICAgIHJldHVybiAodGhpcy5ncmlkT3B0aW9uLmV4cG9ydD8uY29sdW1ucz8uZmlsdGVyKGUgPT4gIWUuZXhwb3J0Py5kaXNhYmxlZCkgfHwgW10pLm1hcChlID0+ICh7XHJcbiAgICAgIGZpZWxkOiBlLmZpZWxkLFxyXG4gICAgICB0aXRsZTogZS50aXRsZSxcclxuICAgICAgZGVzY3JpcHRpb246IGUuZGVzY3JpcHRpb24sXHJcbiAgICAgIHdpZHRoOiBlLndpZHRoXHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICAjZ2V0RXhwb3J0YWJsZUNvbHVtbnMgPSAoKTogU2RFeHBvcnRDb2x1bW5bXSA9PiB7XHJcbiAgICByZXR1cm4gWy4uLnRoaXMuZ3JpZENvbHVtbnMsIC4uLnRoaXMuYWRkaXRpb25hbENvbHVtbnNdO1xyXG4gIH1cclxuXHJcbiAgI2dldEV4cG9ydGFibGVHcm91cHMgPSAoKSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5ncmlkT3B0aW9uPy5leHBvcnQ/Lmdyb3Vwcz8uZmlsdGVyKGUgPT4ge1xyXG4gICAgICBjb25zdCBwZXJtaXNzaW9uID0gZS5wZXJtaXNzaW9uO1xyXG4gICAgICBpZiAodHlwZW9mIChwZXJtaXNzaW9uKSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgIHJldHVybiBwZXJtaXNzaW9uKCk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHBlcm1pc3Npb247XHJcbiAgICB9KSB8fCBbXTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBsb2FkaW5nU2VydmljZTogU2RMb2FkaW5nU2VydmljZSxcclxuICAgIHByaXZhdGUgZXhwb3J0U2VydmljZTogU2RFeHBvcnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBub3RpZnlTZXJ2aWNlOiBTZE5vdGlmeVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFNkVHJhbnNsYXRlU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gIH1cclxuXHJcbiAgb3BlbiA9IGFzeW5jICgpID0+IHtcclxuICAgIGlmICghdGhpcy5rZXkpIHtcclxuICAgICAgdGhpcy5leHBvcnREZWZhdWx0KCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmdyb3Vwcy5sZW5ndGggPT09IDEgJiYgdGhpcy5ncmlkT3B0aW9uPy5leHBvcnQ/LmhpZGVNeVRlbXBsYXRlcykge1xyXG4gICAgICB0aGlzLmxvYWRGaWxlcyh0aGlzLmdyb3Vwc1swXS5jb2RlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubG9hZEZpbGVzKG51bGwpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9O1xyXG4gICAgdGhpcy5tb2RhbC5vcGVuKCk7XHJcbiAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICAjZ2V0RXhwb3J0Q29sdW1ucyA9ICgpID0+IHtcclxuICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24pIHtcclxuICAgICAgY29uc3QgY29sdW1ucyA9IFsuLi50aGlzLmdyaWRDb2x1bW5zXTtcclxuICAgICAgY29uc3QgeyBmaXJzdENvbHVtbnMsIHNlY29uZENvbHVtbnMgfSA9IHRoaXMuY29uZmlndXJhdGlvbjtcclxuICAgICAgY29uc3QgZGlzcGxheUNvbHVtbnM6IFNkR3JpZE1hdGVyaWFsQ29sdW1uPGFueT5bXSA9IFsuLi5maXJzdENvbHVtbnMsIC4uLnNlY29uZENvbHVtbnNdLnJlZHVjZSgoZmlyc3QsIG5leHQpID0+IHtcclxuICAgICAgICBjb25zdCBjb2x1bW4gPSB0aGlzLmdyaWRPcHRpb24uY29sdW1ucy5maW5kKGUgPT4gZS5maWVsZCA9PT0gbmV4dC5maWVsZCk7XHJcbiAgICAgICAgaWYgKCFjb2x1bW4pIHtcclxuICAgICAgICAgIHJldHVybiBmaXJzdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGNvbHVtbi50eXBlICE9PSAnY2hpbGRyZW4nICYmIGNvbHVtbi50eXBlICE9PSAnY2hpbGRyZW4tY29sJykge1xyXG4gICAgICAgICAgcmV0dXJuIFsuLi5maXJzdCwgY29sdW1uXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBjb2x1bW4uY2hpbGRyZW4uZmlsdGVyKGUxID0+IGUxLnR5cGUgIT09ICdpbWFnZScpO1xyXG4gICAgICAgIHJldHVybiBbLi4uZmlyc3QsIC4uLmNoaWxkcmVuXTtcclxuICAgICAgfSwgW10pO1xyXG4gICAgICBjb25zdCByZXN1bHRzID0gZGlzcGxheUNvbHVtbnMubWFwKGUgPT4gKHtcclxuICAgICAgICAuLi5lLFxyXG4gICAgICAgIGRhdGE6IGNvbHVtbnMuZmluZChlMSA9PiBlMS5maWVsZCA9PT0gZS5maWVsZClcclxuICAgICAgfSkpLmZpbHRlcihlID0+ICEhZS5kYXRhKVxyXG4gICAgICAgIC5tYXAoZSA9PiBlLmRhdGEpO1xyXG4gICAgICByZXR1cm4gWy4uLnJlc3VsdHMsIC4uLnRoaXMuYWRkaXRpb25hbENvbHVtbnNdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29sdW1ucztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGV4cG9ydERlZmF1bHQgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmV4cG9ydC5lbWl0KHtcclxuICAgICAgZmlsZTogbnVsbCxcclxuICAgICAgY29sdW1uczogdGhpcy4jZ2V0RXhwb3J0Q29sdW1ucygpLFxyXG4gICAgICBpc0NTVjogZmFsc2VcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0Q1NWID0gKCkgPT4ge1xyXG4gICAgdGhpcy5leHBvcnQuZW1pdCh7XHJcbiAgICAgIGZpbGU6IG51bGwsXHJcbiAgICAgIGNvbHVtbnM6IHRoaXMuI2dldEV4cG9ydENvbHVtbnMoKSxcclxuICAgICAgaXNDU1Y6IHRydWVcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbG9hZEZpbGVzID0gYXN5bmMgKGdyb3VwOiBzdHJpbmcgPSBudWxsKSA9PiB7XHJcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXAgPSB0aGlzLmdyb3Vwcy5maW5kKGUgPT4gZS5jb2RlID09PSBncm91cCk7XHJcbiAgICB0aGlzLmZpbGVzID0gYXdhaXQgdGhpcy5leHBvcnRTZXJ2aWNlLmZpbGVzSW5Gb2xkZXIoe1xyXG4gICAgICBrZXk6IHRoaXMua2V5LFxyXG4gICAgICBncm91cFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gICNpbml0VGVtcGxhdGUgPSBhc3luYyAoZmlsZU5hbWU/OiBzdHJpbmcpID0+IHtcclxuICAgIGNvbnN0IHNoZWV0czoge1xyXG4gICAgICBuYW1lOiBzdHJpbmcsXHJcbiAgICAgIGl0ZW1zOiBhbnlbXSxcclxuICAgICAgZmllbGRzOiBzdHJpbmdbXVxyXG4gICAgfVtdID0gW107XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmdyaWRPcHRpb24/LmV4cG9ydD8uc2hlZXRzKSkge1xyXG4gICAgICBmb3IgKGNvbnN0IHNoZWV0IG9mIHRoaXMuZ3JpZE9wdGlvbi5leHBvcnQuc2hlZXRzKSB7XHJcbiAgICAgICAgaWYgKHNoZWV0Lm5hbWUgJiYgc2hlZXQuaXRlbXMgJiYgc2hlZXQuZmllbGRzKSB7XHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShzaGVldC5pdGVtcykpIHtcclxuICAgICAgICAgICAgc2hlZXRzLnB1c2goe1xyXG4gICAgICAgICAgICAgIG5hbWU6IHNoZWV0Lm5hbWUsXHJcbiAgICAgICAgICAgICAgaXRlbXM6IHNoZWV0Lml0ZW1zLFxyXG4gICAgICAgICAgICAgIGZpZWxkczogc2hlZXQuZmllbGRzXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgc2hlZXRzLnB1c2goe1xyXG4gICAgICAgICAgICAgIG5hbWU6IHNoZWV0Lm5hbWUsXHJcbiAgICAgICAgICAgICAgaXRlbXM6IGF3YWl0IHNoZWV0Lml0ZW1zKCksXHJcbiAgICAgICAgICAgICAgZmllbGRzOiBzaGVldC5maWVsZHNcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5leHBvcnRTZXJ2aWNlLmdlbmVyYXRlVGVtcGxhdGUoe1xyXG4gICAgICBmaWxlTmFtZTogZmlsZU5hbWUgfHwgdGhpcy5ncmlkT3B0aW9uPy5leHBvcnQ/LmZpbGVOYW1lLFxyXG4gICAgICBjb2x1bW5zOiB0aGlzLmNvbHVtbnMsXHJcbiAgICAgIHNoZWV0c1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZVRlbXBsYXRlID0gYXN5bmMgKCkgPT4ge1xyXG4gICAgdGhpcy5sb2FkaW5nU2VydmljZS5zdGFydCgpO1xyXG4gICAgYXdhaXQgdGhpcy4jaW5pdFRlbXBsYXRlKCkuZmluYWxseSh0aGlzLmxvYWRpbmdTZXJ2aWNlLnN0b3ApO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVBbmRVcGxvYWRUZW1wbGF0ZSA9IGFzeW5jIChmaWxlTmFtZT86IHN0cmluZykgPT4ge1xyXG4gICAgY29uc3Qgc2hlZXRzOiB7XHJcbiAgICAgIG5hbWU6IHN0cmluZyxcclxuICAgICAgaXRlbXM6IGFueVtdLFxyXG4gICAgICBmaWVsZHM6IHN0cmluZ1tdXHJcbiAgICB9W10gPSBbXTtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuZ3JpZE9wdGlvbj8uZXhwb3J0Py5zaGVldHMpKSB7XHJcbiAgICAgIGZvciAoY29uc3Qgc2hlZXQgb2YgdGhpcy5ncmlkT3B0aW9uPy5leHBvcnQ/LnNoZWV0cykge1xyXG4gICAgICAgIGlmIChzaGVldC5uYW1lICYmIHNoZWV0Lml0ZW1zICYmIHNoZWV0LmZpZWxkcykge1xyXG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc2hlZXQuaXRlbXMpKSB7XHJcbiAgICAgICAgICAgIHNoZWV0cy5wdXNoKHtcclxuICAgICAgICAgICAgICBuYW1lOiBzaGVldC5uYW1lLFxyXG4gICAgICAgICAgICAgIGl0ZW1zOiBzaGVldC5pdGVtcyxcclxuICAgICAgICAgICAgICBmaWVsZHM6IHNoZWV0LmZpZWxkc1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHNoZWV0cy5wdXNoKHtcclxuICAgICAgICAgICAgICBuYW1lOiBzaGVldC5uYW1lLFxyXG4gICAgICAgICAgICAgIGl0ZW1zOiBhd2FpdCBzaGVldC5pdGVtcygpLFxyXG4gICAgICAgICAgICAgIGZpZWxkczogc2hlZXQuZmllbGRzXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZXhwb3J0U2VydmljZS5nZW5lcmF0ZVVwbG9hZFRlbXBsYXRlKHtcclxuICAgICAga2V5OiB0aGlzLmtleSxcclxuICAgICAgdGVtcGxhdGU6IHtcclxuICAgICAgICBmaWxlTmFtZTogZmlsZU5hbWUgfHwgdGhpcy5ncmlkT3B0aW9uPy5leHBvcnQ/LmZpbGVOYW1lLFxyXG4gICAgICAgIGNvbHVtbnM6IHRoaXMuY29sdW1ucy5maWx0ZXIoZSA9PiB0aGlzLnNlbGVjdGVkW2UuZmllbGRdKSxcclxuICAgICAgICBzaGVldHNcclxuICAgICAgfSxcclxuICAgICAgZ3JvdXA6IHRoaXMuc2VsZWN0ZWRHcm91cD8uY29kZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvbkV4cG9ydCA9IChmaWxlOiBTZEV4cG9ydEZpbGUpID0+IHtcclxuICAgIHRoaXMuZXhwb3J0LmVtaXQoe1xyXG4gICAgICBmaWxlLFxyXG4gICAgICBjb2x1bW5zOiB0aGlzLmNvbHVtbnNcclxuICAgIH0pO1xyXG4gICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgdXBsb2FkVGVtcGxhdGUgPSBhc3luYyAoKSA9PiB7XHJcbiAgICBjb25zdCBmaWxlID0gYXdhaXQgdGhpcy5leHBvcnRTZXJ2aWNlLnVwbG9hZFRlbXBsYXRlKHtcclxuICAgICAga2V5OiB0aGlzLmtleSxcclxuICAgICAgZ3JvdXA6IHRoaXMuc2VsZWN0ZWRHcm91cD8uY29kZSxcclxuICAgICAgdmFsaWRhdG9yOiB0aGlzLmdyaWRPcHRpb24/LmV4cG9ydD8udmFsaWRhdG9yc1xyXG4gICAgfSk7XHJcbiAgICBpZiAoZmlsZSkge1xyXG4gICAgICB0aGlzLmZpbGVzID0gWy4uLnRoaXMuZmlsZXMsIGZpbGVdO1xyXG4gICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW1vdmVGaWxlID0gKGZpbGU6IFNkRXhwb3J0RmlsZSkgPT4ge1xyXG4gICAgdGhpcy5ub3RpZnlTZXJ2aWNlLmNvbmZpcm0odGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZSgnUmVtb3ZlIHRlbXBsYXRlJykpLnRoZW4oKCkgPT4ge1xyXG4gICAgICB0aGlzLmV4cG9ydFNlcnZpY2UucmVtb3ZlRmlsZSh7XHJcbiAgICAgICAga2V5OiB0aGlzLmtleSxcclxuICAgICAgICBmaWxlTmFtZTogZmlsZS5maWxlTmFtZSxcclxuICAgICAgICBncm91cDogdGhpcy5zZWxlY3RlZEdyb3VwPy5jb2RlIHx8IG51bGxcclxuICAgICAgfSk7XHJcbiAgICAgIGNvbnN0IGlkeCA9IHRoaXMuZmlsZXMuaW5kZXhPZihmaWxlKTtcclxuICAgICAgdGhpcy5maWxlcy5zcGxpY2UoaWR4LCAxKTtcclxuICAgICAgdGhpcy5maWxlcyA9IFsuLi50aGlzLmZpbGVzXTtcclxuICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVUZW1wbGF0ZSA9IGFzeW5jICgpID0+IHtcclxuICAgIGNvbnN0IHsgdHJhbnNsYXRlIH0gPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2U7XHJcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHtcclxuICAgICAgdGhpcy5mb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLmNvbHVtbnMuc29tZShlID0+IHRoaXMuc2VsZWN0ZWRbZS5maWVsZF0pKSB7XHJcbiAgICAgIHRoaXMubm90aWZ5U2VydmljZS5ub3RpZnkud2FybmluZyh0cmFuc2xhdGUoJ1BsZWFzZSBzZWxlY3QgY29sdW1ucycpKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5sb2FkaW5nU2VydmljZS5zdGFydCgpO1xyXG4gICAgY29uc3QgZmlsZU5hbWUgPSB0aGlzLnRlbXBsYXRlTmFtZSArICcueGxzeCc7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAodGhpcy5ncmlkT3B0aW9uPy5leHBvcnQ/LnZhbGlkYXRvcnM/LihmaWxlTmFtZSkpIHtcclxuICAgICAgICB0aGlzLm5vdGlmeVNlcnZpY2Uubm90aWZ5Lndhcm5pbmcodGhpcy5ncmlkT3B0aW9uPy5leHBvcnQ/LnZhbGlkYXRvcnMoZmlsZU5hbWUpKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5nZW5lcmF0ZUFuZFVwbG9hZFRlbXBsYXRlKGZpbGVOYW1lKTtcclxuICAgICAgaWYgKHJlc3VsdD8uZmlsZVBhdGgpIHtcclxuICAgICAgICBjb25zdCBmaWxlOiBTZEV4cG9ydEZpbGUgPSB7XHJcbiAgICAgICAgICBmaWxlUGF0aDogcmVzdWx0LmZpbGVQYXRoLFxyXG4gICAgICAgICAgZmlsZU5hbWU6IHJlc3VsdC5maWxlTmFtZVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5vbkV4cG9ydChmaWxlKTtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlTmFtZSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5lbmFibGVDcmVhdGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZmlsZXMgPSBbLi4udGhpcy5maWxlcywgZmlsZV07XHJcbiAgICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9XHJcbiAgICB9IGZpbmFsbHkge1xyXG4gICAgICB0aGlzLmxvYWRpbmdTZXJ2aWNlLnN0b3AoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlR3JvdXAgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmxvYWRGaWxlcyh0aGlzLmxpc3RHcm91cHM/LnNlbGVjdGVkT3B0aW9ucz8uc2VsZWN0ZWRbMF0/LnZhbHVlKTtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRvclRlbXBsYXRlTmFtZSA9ICh2YWw6IHN0cmluZykgPT4ge1xyXG4gICAgY29uc3QgeyB0cmFuc2xhdGUgfSA9IHRoaXMudHJhbnNsYXRlU2VydmljZTtcclxuICAgIGNvbnN0IHJlZ2V4ID0gL15bQS1aYS16MC05IF9dKltBLVphLXowLTldW0EtWmEtejAtOSBfXSokLztcclxuICAgIGlmICghdmFsKSB7XHJcbiAgICAgIHJldHVybiB0cmFuc2xhdGUoJ1BsZWFzZSBlbnRlciB5b3VyIHRlbXBsYXRlIG5hbWUnKTtcclxuICAgIH1cclxuICAgIGlmICh2YWwubGVuZ3RoID4gNTApIHtcclxuICAgICAgcmV0dXJuIHRyYW5zbGF0ZSgnVGVtcGxhdGUgbmFtZSBpcyB0b28gbG9uZycpO1xyXG4gICAgfVxyXG4gICAgaWYgKCFyZWdleC50ZXN0KHZhbCkpIHtcclxuICAgICAgcmV0dXJuIHRyYW5zbGF0ZSgnVGVtcGxhdGUgbmFtZSBvbmx5IGNvbnRhaW5zIGxldHRlcnMsIG51bWJlcnMgYW5kIHNwYWNlcycpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
337
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtZXhwb3J0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTVfb25lbW91bnQvRG9jdW1lbnRzL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvZ3JpZC1tYXRlcmlhbC8iLCJzb3VyY2VzIjpbInNyYy9saWIvY29tcG9uZW50cy9wb3B1cC1leHBvcnQvcG9wdXAtZXhwb3J0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXlCLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUlySixPQUFPLEVBQ0wsZUFBZSxFQUNoQixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFDTCxnQkFBZ0IsRUFDakIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQ0wsa0JBQWtCLEVBQ25CLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBSS9CLE9BQU8sRUFBZ0IsZUFBZSxFQUFrQixNQUFNLHlCQUF5QixDQUFDO0FBRXhGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVUzQyxNQUFNLE9BQU8sYUFBYTtJQTJGeEIsWUFDVSxHQUFzQixFQUN0QixjQUFnQyxFQUNoQyxhQUE4QixFQUM5QixhQUE4QixFQUM5QixnQkFBb0M7UUFKcEMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsbUJBQWMsR0FBZCxjQUFjLENBQWtCO1FBQ2hDLGtCQUFhLEdBQWIsYUFBYSxDQUFpQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7UUFDOUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFvQjtRQTlGOUMsWUFBTyxHQUFxQixFQUFFLENBQUM7UUFDL0IsV0FBTSxHQUFvQixFQUFFLENBQUM7UUFFN0IsbUJBQWMs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QUF1QixDQUFDLE1BQU07O2FBQ2hEOzs7WUE5QmtGLGlCQUFpQjtZQVNsRyxnQkFBZ0I7WUFVSyxlQUFlO1lBZHBDLGVBQWU7WUFRZixrQkFBa0I7OztvQkF3QmpCLFNBQVMsU0FBQyxPQUFPO3lCQUNqQixTQUFTLFNBQUMsWUFBWTtxQkFRdEIsTUFBTTswQkFHTixLQUFLLFNBQUMsWUFBWTs0QkFLbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBBZnRlclZpZXdJbml0LCBWaWV3Q2hpbGQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgKiBhcyB1dWlkIGZyb20gJ3V1aWQnO1xyXG5cclxuaW1wb3J0IHtcclxuICBTZE5vdGlmeVNlcnZpY2VcclxufSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL25vdGlmeSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIFNkTG9hZGluZ1NlcnZpY2VcclxufSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2xvYWRpbmcnO1xyXG5cclxuaW1wb3J0IHtcclxuICBTZFRyYW5zbGF0ZVNlcnZpY2VcclxufSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL3RyYW5zbGF0ZSc7XHJcbmltcG9ydCBoYXNoIGZyb20gJ29iamVjdC1oYXNoJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0aW9uTGlzdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbE9wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9ncmlkLW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IFNkTW9kYWwgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL21vZGFsJztcclxuaW1wb3J0IHsgU2RFeHBvcnRGaWxlLCBTZEV4cG9ydFNlcnZpY2UsIFNkRXhwb3J0Q29sdW1uIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9leHBvcnQnO1xyXG5pbXBvcnQgeyBTZEdyb3VwRXhwb3J0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dyaWQtZXhwb3J0Lm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTZEdyaWRDb25maWd1cmF0aW9uUmVzdWx0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dyaWQtY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxDb2x1bW4gfSBmcm9tICcuLi8uLi9tb2RlbHMvZ3JpZC1jb2x1bW4ubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzZC1wb3B1cC1leHBvcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wb3B1cC1leHBvcnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BvcHVwLWV4cG9ydC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZFBvcHVwRXhwb3J0IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbjtcclxuICBjb2x1bW5zOiBTZEV4cG9ydENvbHVtbltdID0gW107XHJcbiAgZ3JvdXBzOiBTZEdyb3VwRXhwb3J0W10gPSBbXTtcclxuICB0ZW1wbGF0ZU5hbWU6IHN0cmluZztcclxuICBlbmFibGVDcmVhdGluZyA9IGZhbHNlO1xyXG4gIEBWaWV3Q2hpbGQoJ21vZGFsJykgbW9kYWw6IFNkTW9kYWw7XHJcbiAgQFZpZXdDaGlsZCgnbGlzdEdyb3VwcycpIGxpc3RHcm91cHM6IE1hdFNlbGVjdGlvbkxpc3Q7XHJcblxyXG4gIHNlbGVjdGVkOiB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBib29sZWFuXHJcbiAgfSA9IHt9O1xyXG4gIGZpbGVzOiBTZEV4cG9ydEZpbGVbXSA9IFtdO1xyXG4gIHNlbGVjdGVkR3JvdXA6IFNkR3JvdXBFeHBvcnQ7XHJcblxyXG4gIEBPdXRwdXQoKSBleHBvcnQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgZmlsZTogU2RFeHBvcnRGaWxlLCBjb2x1bW5zOiBTZEV4cG9ydENvbHVtbltdLCBpc0NTVj86IGJvb2xlYW4gfT4oKTtcclxuICBmb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcblxyXG4gIEBJbnB1dCgnZ3JpZE9wdGlvbicpIHNldCBfZ3JpZE9wdGlvbihvcHRpb246IFNkR3JpZE1hdGVyaWFsT3B0aW9uKSB7XHJcbiAgICB0aGlzLmdyaWRPcHRpb24gPSBvcHRpb247XHJcbiAgICB0aGlzLmNvbHVtbnMgPSB0aGlzLiNnZXRFeHBvcnRhYmxlQ29sdW1ucygpO1xyXG4gICAgdGhpcy5ncm91cHMgPSB0aGlzLiNnZXRFeHBvcnRhYmxlR3JvdXBzKCk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIGNvbmZpZ3VyYXRpb246IFNkR3JpZENvbmZpZ3VyYXRpb25SZXN1bHQ7XHJcbiAgcHJpdmF0ZSBnZXQga2V5KCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBwcmVmaXggPSAnOTM4ODllNzgtZjk3MS00YTFkLThjNzMtZmUyMzIxYWY5MjMzJztcclxuICAgIGlmICghdGhpcy5ncmlkT3B0aW9uPy5leHBvcnQ/LmtleSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIHJldHVybiBoYXNoKHtcclxuICAgICAgcHJlZml4LFxyXG4gICAgICBrZXk6IHRoaXMuZ3JpZE9wdGlvbj8uZXhwb3J0Py5rZXlcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXQgZ3JpZENvbHVtbnMoKSB7XHJcbiAgICBjb25zdCBjb2x1bW5zOiBTZEV4cG9ydENvbHVtbltdID0gW107XHJcbiAgICB0aGlzLmdyaWRPcHRpb24uY29sdW1ucy5maWx0ZXIoZSA9PiAhZS5leHBvcnQ/LmRpc2FibGVkKS5mb3JFYWNoKGNvbHVtbiA9PiB7XHJcbiAgICAgIGlmIChjb2x1bW4udHlwZSA9PT0gJ2ltYWdlJykge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAoY29sdW1uLnR5cGUgPT09ICdjaGlsZHJlbicpIHtcclxuICAgICAgICBjb2x1bW4uY2hpbGRyZW4/LmZpbHRlcihlID0+ICFlLmV4cG9ydD8uZGlzYWJsZWQpLmZvckVhY2goY2hpbGRDb2x1bW4gPT4ge1xyXG4gICAgICAgICAgaWYgKGNoaWxkQ29sdW1uLnR5cGUgPT09ICdpbWFnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY29sdW1ucy5wdXNoKGNoaWxkQ29sdW1uKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGNvbHVtbi50eXBlID09PSAnY2hpbGRyZW4tY29sJykge1xyXG4gICAgICAgIGNvbHVtbi5jaGlsZHJlbj8uZmlsdGVyKGUgPT4gIWUuZXhwb3J0Py5kaXNhYmxlZCkuZm9yRWFjaChjaGlsZENvbHVtbiA9PiB7XHJcbiAgICAgICAgICBpZiAoY2hpbGRDb2x1bW4udHlwZSA9PT0gJ2ltYWdlJykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjb2x1bW5zLnB1c2goY2hpbGRDb2x1bW4pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjb2x1bW5zLnB1c2goY29sdW1uKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGNvbHVtbnMubWFwKGUgPT4gKHtcclxuICAgICAgZmllbGQ6IGUuZmllbGQsXHJcbiAgICAgIHRpdGxlOiBlLnRpdGxlLFxyXG4gICAgICBkZXNjcmlwdGlvbjogZS5kZXNjcmlwdGlvbixcclxuICAgICAgd2lkdGg6IGUud2lkdGhcclxuICAgIH0pKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBnZXQgYWRkaXRpb25hbENvbHVtbnMoKSB7XHJcbiAgICByZXR1cm4gKHRoaXMuZ3JpZE9wdGlvbi5leHBvcnQ/LmNvbHVtbnM/LmZpbHRlcihlID0+ICFlLmV4cG9ydD8uZGlzYWJsZWQpIHx8IFtdKS5tYXAoZSA9PiAoe1xyXG4gICAgICBmaWVsZDogZS5maWVsZCxcclxuICAgICAgdGl0bGU6IGUudGl0bGUsXHJcbiAgICAgIGRlc2NyaXB0aW9uOiBlLmRlc2NyaXB0aW9uLFxyXG4gICAgICB3aWR0aDogZS53aWR0aFxyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgI2dldEV4cG9ydGFibGVDb2x1bW5zID0gKCk6IFNkRXhwb3J0Q29sdW1uW10gPT4ge1xyXG4gICAgcmV0dXJuIFsuLi50aGlzLmdyaWRDb2x1bW5zLCAuLi50aGlzLmFkZGl0aW9uYWxDb2x1bW5zXTtcclxuICB9XHJcblxyXG4gICNnZXRFeHBvcnRhYmxlR3JvdXBzID0gKCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ3JpZE9wdGlvbj8uZXhwb3J0Py5ncm91cHM/LmZpbHRlcihlID0+IHtcclxuICAgICAgY29uc3QgcGVybWlzc2lvbiA9IGUucGVybWlzc2lvbjtcclxuICAgICAgaWYgKHR5cGVvZiAocGVybWlzc2lvbikgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICByZXR1cm4gcGVybWlzc2lvbigpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uO1xyXG4gICAgfSkgfHwgW107XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgbG9hZGluZ1NlcnZpY2U6IFNkTG9hZGluZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGV4cG9ydFNlcnZpY2U6IFNkRXhwb3J0U2VydmljZSxcclxuICAgIHByaXZhdGUgbm90aWZ5U2VydmljZTogU2ROb3RpZnlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBTZFRyYW5zbGF0ZVNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICB9XHJcblxyXG4gIG9wZW4gPSBhc3luYyAoKSA9PiB7XHJcbiAgICBpZiAoIXRoaXMua2V5KSB7XHJcbiAgICAgIHRoaXMuZXhwb3J0RGVmYXVsdCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5ncm91cHMubGVuZ3RoID09PSAxICYmIHRoaXMuZ3JpZE9wdGlvbj8uZXhwb3J0Py5oaWRlTXlUZW1wbGF0ZXMpIHtcclxuICAgICAgdGhpcy5sb2FkRmlsZXModGhpcy5ncm91cHNbMF0uY29kZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmxvYWRGaWxlcyhudWxsKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fTtcclxuICAgIHRoaXMubW9kYWwub3BlbigpO1xyXG4gICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgI2dldEV4cG9ydENvbHVtbnMgPSAoKSA9PiB7XHJcbiAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uKSB7XHJcbiAgICAgIGNvbnN0IGNvbHVtbnMgPSBbLi4udGhpcy5ncmlkQ29sdW1uc107XHJcbiAgICAgIGNvbnN0IHsgZmlyc3RDb2x1bW5zLCBzZWNvbmRDb2x1bW5zIH0gPSB0aGlzLmNvbmZpZ3VyYXRpb247XHJcbiAgICAgIGNvbnN0IGRpc3BsYXlDb2x1bW5zOiBTZEdyaWRNYXRlcmlhbENvbHVtbjxhbnk+W10gPSBbLi4uZmlyc3RDb2x1bW5zLCAuLi5zZWNvbmRDb2x1bW5zXS5yZWR1Y2UoKGZpcnN0LCBuZXh0KSA9PiB7XHJcbiAgICAgICAgY29uc3QgY29sdW1uID0gdGhpcy5ncmlkT3B0aW9uLmNvbHVtbnMuZmluZChlID0+IGUuZmllbGQgPT09IG5leHQuZmllbGQpO1xyXG4gICAgICAgIGlmICghY29sdW1uKSB7XHJcbiAgICAgICAgICByZXR1cm4gZmlyc3Q7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChjb2x1bW4udHlwZSAhPT0gJ2NoaWxkcmVuJyAmJiBjb2x1bW4udHlwZSAhPT0gJ2NoaWxkcmVuLWNvbCcpIHtcclxuICAgICAgICAgIHJldHVybiBbLi4uZmlyc3QsIGNvbHVtbl07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gY29sdW1uLmNoaWxkcmVuLmZpbHRlcihlMSA9PiBlMS50eXBlICE9PSAnaW1hZ2UnKTtcclxuICAgICAgICByZXR1cm4gWy4uLmZpcnN0LCAuLi5jaGlsZHJlbl07XHJcbiAgICAgIH0sIFtdKTtcclxuICAgICAgY29uc3QgcmVzdWx0cyA9IGRpc3BsYXlDb2x1bW5zLm1hcChlID0+ICh7XHJcbiAgICAgICAgLi4uZSxcclxuICAgICAgICBkYXRhOiBjb2x1bW5zLmZpbmQoZTEgPT4gZTEuZmllbGQgPT09IGUuZmllbGQpXHJcbiAgICAgIH0pKS5maWx0ZXIoZSA9PiAhIWUuZGF0YSlcclxuICAgICAgICAubWFwKGUgPT4gZS5kYXRhKTtcclxuICAgICAgcmV0dXJuIFsuLi5yZXN1bHRzLCAuLi50aGlzLmFkZGl0aW9uYWxDb2x1bW5zXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbHVtbnM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBleHBvcnREZWZhdWx0ID0gKCkgPT4ge1xyXG4gICAgdGhpcy5leHBvcnQuZW1pdCh7XHJcbiAgICAgIGZpbGU6IG51bGwsXHJcbiAgICAgIGNvbHVtbnM6IHRoaXMuI2dldEV4cG9ydENvbHVtbnMoKSxcclxuICAgICAgaXNDU1Y6IGZhbHNlXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGV4cG9ydENTViA9ICgpID0+IHtcclxuICAgIHRoaXMuZXhwb3J0LmVtaXQoe1xyXG4gICAgICBmaWxlOiBudWxsLFxyXG4gICAgICBjb2x1bW5zOiB0aGlzLiNnZXRFeHBvcnRDb2x1bW5zKCksXHJcbiAgICAgIGlzQ1NWOiB0cnVlXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGxvYWRGaWxlcyA9IGFzeW5jIChncm91cDogc3RyaW5nID0gbnVsbCkgPT4ge1xyXG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwID0gdGhpcy5ncm91cHMuZmluZChlID0+IGUuY29kZSA9PT0gZ3JvdXApO1xyXG4gICAgdGhpcy5maWxlcyA9IGF3YWl0IHRoaXMuZXhwb3J0U2VydmljZS5maWxlc0luRm9sZGVyKHtcclxuICAgICAga2V5OiB0aGlzLmtleSxcclxuICAgICAgZ3JvdXBcclxuICAgIH0pO1xyXG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICAjaW5pdFRlbXBsYXRlID0gYXN5bmMgKGZpbGVOYW1lPzogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCBzaGVldHM6IHtcclxuICAgICAgbmFtZTogc3RyaW5nLFxyXG4gICAgICBpdGVtczogYW55W10sXHJcbiAgICAgIGZpZWxkczogc3RyaW5nW11cclxuICAgIH1bXSA9IFtdO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5ncmlkT3B0aW9uPy5leHBvcnQ/LnNoZWV0cykpIHtcclxuICAgICAgZm9yIChjb25zdCBzaGVldCBvZiB0aGlzLmdyaWRPcHRpb24uZXhwb3J0LnNoZWV0cykge1xyXG4gICAgICAgIGlmIChzaGVldC5uYW1lICYmIHNoZWV0Lml0ZW1zICYmIHNoZWV0LmZpZWxkcykge1xyXG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc2hlZXQuaXRlbXMpKSB7XHJcbiAgICAgICAgICAgIHNoZWV0cy5wdXNoKHtcclxuICAgICAgICAgICAgICBuYW1lOiBzaGVldC5uYW1lLFxyXG4gICAgICAgICAgICAgIGl0ZW1zOiBzaGVldC5pdGVtcyxcclxuICAgICAgICAgICAgICBmaWVsZHM6IHNoZWV0LmZpZWxkc1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHNoZWV0cy5wdXNoKHtcclxuICAgICAgICAgICAgICBuYW1lOiBzaGVldC5uYW1lLFxyXG4gICAgICAgICAgICAgIGl0ZW1zOiBhd2FpdCBzaGVldC5pdGVtcygpLFxyXG4gICAgICAgICAgICAgIGZpZWxkczogc2hlZXQuZmllbGRzXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZXhwb3J0U2VydmljZS5nZW5lcmF0ZVRlbXBsYXRlKHtcclxuICAgICAgZmlsZU5hbWU6IGZpbGVOYW1lIHx8IHRoaXMuZ3JpZE9wdGlvbj8uZXhwb3J0Py5maWxlTmFtZSxcclxuICAgICAgY29sdW1uczogdGhpcy5jb2x1bW5zLFxyXG4gICAgICBzaGVldHNcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVUZW1wbGF0ZSA9IGFzeW5jICgpID0+IHtcclxuICAgIHRoaXMubG9hZGluZ1NlcnZpY2Uuc3RhcnQoKTtcclxuICAgIGF3YWl0IHRoaXMuI2luaXRUZW1wbGF0ZSgpLmZpbmFsbHkodGhpcy5sb2FkaW5nU2VydmljZS5zdG9wKTtcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlQW5kVXBsb2FkVGVtcGxhdGUgPSBhc3luYyAoZmlsZU5hbWU/OiBzdHJpbmcpID0+IHtcclxuICAgIGNvbnN0IHNoZWV0czoge1xyXG4gICAgICBuYW1lOiBzdHJpbmcsXHJcbiAgICAgIGl0ZW1zOiBhbnlbXSxcclxuICAgICAgZmllbGRzOiBzdHJpbmdbXVxyXG4gICAgfVtdID0gW107XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmdyaWRPcHRpb24/LmV4cG9ydD8uc2hlZXRzKSkge1xyXG4gICAgICBmb3IgKGNvbnN0IHNoZWV0IG9mIHRoaXMuZ3JpZE9wdGlvbj8uZXhwb3J0Py5zaGVldHMpIHtcclxuICAgICAgICBpZiAoc2hlZXQubmFtZSAmJiBzaGVldC5pdGVtcyAmJiBzaGVldC5maWVsZHMpIHtcclxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHNoZWV0Lml0ZW1zKSkge1xyXG4gICAgICAgICAgICBzaGVldHMucHVzaCh7XHJcbiAgICAgICAgICAgICAgbmFtZTogc2hlZXQubmFtZSxcclxuICAgICAgICAgICAgICBpdGVtczogc2hlZXQuaXRlbXMsXHJcbiAgICAgICAgICAgICAgZmllbGRzOiBzaGVldC5maWVsZHNcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBzaGVldHMucHVzaCh7XHJcbiAgICAgICAgICAgICAgbmFtZTogc2hlZXQubmFtZSxcclxuICAgICAgICAgICAgICBpdGVtczogYXdhaXQgc2hlZXQuaXRlbXMoKSxcclxuICAgICAgICAgICAgICBmaWVsZHM6IHNoZWV0LmZpZWxkc1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmV4cG9ydFNlcnZpY2UuZ2VuZXJhdGVVcGxvYWRUZW1wbGF0ZSh7XHJcbiAgICAgIGtleTogdGhpcy5rZXksXHJcbiAgICAgIHRlbXBsYXRlOiB7XHJcbiAgICAgICAgZmlsZU5hbWU6IGZpbGVOYW1lIHx8IHRoaXMuZ3JpZE9wdGlvbj8uZXhwb3J0Py5maWxlTmFtZSxcclxuICAgICAgICBjb2x1bW5zOiB0aGlzLmNvbHVtbnMuZmlsdGVyKGUgPT4gdGhpcy5zZWxlY3RlZFtlLmZpZWxkXSksXHJcbiAgICAgICAgc2hlZXRzXHJcbiAgICAgIH0sXHJcbiAgICAgIGdyb3VwOiB0aGlzLnNlbGVjdGVkR3JvdXA/LmNvZGVcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25FeHBvcnQgPSAoZmlsZTogU2RFeHBvcnRGaWxlKSA9PiB7XHJcbiAgICB0aGlzLmV4cG9ydC5lbWl0KHtcclxuICAgICAgZmlsZSxcclxuICAgICAgY29sdW1uczogdGhpcy5jb2x1bW5zXHJcbiAgICB9KTtcclxuICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHVwbG9hZFRlbXBsYXRlID0gYXN5bmMgKCkgPT4ge1xyXG4gICAgY29uc3QgZmlsZSA9IGF3YWl0IHRoaXMuZXhwb3J0U2VydmljZS51cGxvYWRUZW1wbGF0ZSh7XHJcbiAgICAgIGtleTogdGhpcy5rZXksXHJcbiAgICAgIGdyb3VwOiB0aGlzLnNlbGVjdGVkR3JvdXA/LmNvZGUsXHJcbiAgICAgIHZhbGlkYXRvcjogdGhpcy5ncmlkT3B0aW9uPy5leHBvcnQ/LnZhbGlkYXRvcnNcclxuICAgIH0pO1xyXG4gICAgaWYgKGZpbGUpIHtcclxuICAgICAgdGhpcy5maWxlcyA9IFsuLi50aGlzLmZpbGVzLCBmaWxlXTtcclxuICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlRmlsZSA9IChmaWxlOiBTZEV4cG9ydEZpbGUpID0+IHtcclxuICAgIHRoaXMubm90aWZ5U2VydmljZS5jb25maXJtKHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGUoJ1JlbW92ZSB0ZW1wbGF0ZScpKS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy5leHBvcnRTZXJ2aWNlLnJlbW92ZUZpbGUoe1xyXG4gICAgICAgIGtleTogdGhpcy5rZXksXHJcbiAgICAgICAgZmlsZU5hbWU6IGZpbGUuZmlsZU5hbWUsXHJcbiAgICAgICAgZ3JvdXA6IHRoaXMuc2VsZWN0ZWRHcm91cD8uY29kZSB8fCBudWxsXHJcbiAgICAgIH0pO1xyXG4gICAgICBjb25zdCBpZHggPSB0aGlzLmZpbGVzLmluZGV4T2YoZmlsZSk7XHJcbiAgICAgIHRoaXMuZmlsZXMuc3BsaWNlKGlkeCwgMSk7XHJcbiAgICAgIHRoaXMuZmlsZXMgPSBbLi4udGhpcy5maWxlc107XHJcbiAgICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlVGVtcGxhdGUgPSBhc3luYyAoKSA9PiB7XHJcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHtcclxuICAgICAgdGhpcy5mb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLmNvbHVtbnMuc29tZShlID0+IHRoaXMuc2VsZWN0ZWRbZS5maWVsZF0pKSB7XHJcbiAgICAgIHRoaXMubm90aWZ5U2VydmljZS5ub3RpZnkud2FybmluZyhgVnVpIGzDsm5nIGNo4buNbiBj4buZdCBk4buvIGxp4buHdSDEkeG7gyB4deG6pXRgKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5sb2FkaW5nU2VydmljZS5zdGFydCgpO1xyXG4gICAgY29uc3QgZmlsZU5hbWUgPSB0aGlzLnRlbXBsYXRlTmFtZSArICcueGxzeCc7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAodGhpcy5ncmlkT3B0aW9uPy5leHBvcnQ/LnZhbGlkYXRvcnM/LihmaWxlTmFtZSkpIHtcclxuICAgICAgICB0aGlzLm5vdGlmeVNlcnZpY2Uubm90aWZ5Lndhcm5pbmcodGhpcy5ncmlkT3B0aW9uPy5leHBvcnQ/LnZhbGlkYXRvcnMoZmlsZU5hbWUpKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5nZW5lcmF0ZUFuZFVwbG9hZFRlbXBsYXRlKGZpbGVOYW1lKTtcclxuICAgICAgaWYgKHJlc3VsdD8uZmlsZVBhdGgpIHtcclxuICAgICAgICBjb25zdCBmaWxlOiBTZEV4cG9ydEZpbGUgPSB7XHJcbiAgICAgICAgICBmaWxlUGF0aDogcmVzdWx0LmZpbGVQYXRoLFxyXG4gICAgICAgICAgZmlsZU5hbWU6IHJlc3VsdC5maWxlTmFtZVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5vbkV4cG9ydChmaWxlKTtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlTmFtZSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5lbmFibGVDcmVhdGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZmlsZXMgPSBbLi4udGhpcy5maWxlcywgZmlsZV07XHJcbiAgICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9XHJcbiAgICB9IGZpbmFsbHkge1xyXG4gICAgICB0aGlzLmxvYWRpbmdTZXJ2aWNlLnN0b3AoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlR3JvdXAgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmxvYWRGaWxlcyh0aGlzLmxpc3RHcm91cHM/LnNlbGVjdGVkT3B0aW9ucz8uc2VsZWN0ZWRbMF0/LnZhbHVlKTtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRvclRlbXBsYXRlTmFtZSA9ICh2YWw6IHN0cmluZykgPT4ge1xyXG4gICAgY29uc3QgeyB0cmFuc2xhdGUgfSA9IHRoaXMudHJhbnNsYXRlU2VydmljZTtcclxuICAgIGNvbnN0IHJlZ2V4ID0gL15bQS1aYS16MC05IF9dKltBLVphLXowLTldW0EtWmEtejAtOSBfXSokLztcclxuICAgIGlmICghdmFsKSB7XHJcbiAgICAgIHJldHVybiB0cmFuc2xhdGUoJ1BsZWFzZSBlbnRlciB5b3VyIHRlbXBsYXRlIG5hbWUnKTtcclxuICAgIH1cclxuICAgIGlmICh2YWwubGVuZ3RoID4gNTApIHtcclxuICAgICAgcmV0dXJuIHRyYW5zbGF0ZSgnVGVtcGxhdGUgbmFtZSBpcyB0b28gbG9uZycpO1xyXG4gICAgfVxyXG4gICAgaWYgKCFyZWdleC50ZXN0KHZhbCkpIHtcclxuICAgICAgcmV0dXJuIHRyYW5zbGF0ZSgnVGVtcGxhdGUgbmFtZSBvbmx5IGNvbnRhaW5zIGxldHRlcnMsIG51bWJlcnMgYW5kIHNwYWNlcycpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -492,13 +492,12 @@ class SdPopupExport {
492
492
  };
493
493
  this.createTemplate = () => __awaiter(this, void 0, void 0, function* () {
494
494
  var _s, _t, _u, _v, _w;
495
- const { translate } = this.translateService;
496
495
  if (this.form.invalid) {
497
496
  this.form.markAllAsTouched();
498
497
  return;
499
498
  }
500
499
  if (!this.columns.some(e => this.selected[e.field])) {
501
- this.notifyService.notify.warning(translate('Please select columns'));
500
+ this.notifyService.notify.warning(`Vui lòng chọn cột dữ liệu để xuất`);
502
501
  return;
503
502
  }
504
503
  this.loadingService.start();