asp-lib 1.0.49 → 1.0.50

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.
@@ -26,7 +26,8 @@ export class HeaderComponent {
26
26
  baseUrl: '',
27
27
  isDev: false,
28
28
  username: '',
29
- password: ''
29
+ password: '',
30
+ checkRole: false
30
31
  };
31
32
  this.isMobile = false;
32
33
  this.returnClick = new EventEmitter();
@@ -67,9 +68,19 @@ export class HeaderComponent {
67
68
  this.isAuth$ = this.isAuth();
68
69
  this.isAuth$.subscribe(isAuthenticated => {
69
70
  if (isAuthenticated) {
70
- this.checkResource();
71
- if (!this.isMobile) {
72
- this.checkResourceByRole();
71
+ if (this.servicesConfig.isDev) {
72
+ if (this.servicesConfig.checkRole) {
73
+ this.checkResource();
74
+ if (!this.isMobile) {
75
+ this.checkResourceByRole();
76
+ }
77
+ }
78
+ }
79
+ else {
80
+ this.checkResource();
81
+ if (!this.isMobile) {
82
+ this.checkResourceByRole();
83
+ }
73
84
  }
74
85
  }
75
86
  else {
@@ -364,4 +375,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
364
375
  }], lastOption: [{
365
376
  type: Output
366
377
  }] } });
367
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FzcC1saWIvc3JjL2xpYi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FzcC1saWIvc3JjL2xpYi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSwyQkFBMkIsRUFBRSxxQkFBcUIsRUFBWSxNQUFNLGtDQUFrQyxDQUFDO0FBSTFJLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7O0FBbUJ0QyxNQUFNLE9BQU8sZUFBZTtJQW9EMUIsWUFBb0IsUUFBeUIsRUFBUyxNQUFjO1FBQWhELGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQW5EM0QsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUNyQixVQUFLLEdBQVcsU0FBUyxDQUFDO1FBQzFCLG1CQUFjLEdBQVksSUFBSSxDQUFDO1FBQy9CLGFBQVEsR0FBUyxFQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUMsQ0FBQztRQUNsQyxrQkFBYSxHQUFRLEVBQUUsQ0FBQztRQUN4QixjQUFTLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLGVBQVUsR0FBUSxFQUFFLENBQUM7UUFDckIsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUN0QixtQkFBYyxHQUFtQjtZQUN4QyxPQUFPLEVBQUUsRUFBRTtZQUNYLEtBQUssRUFBRSxLQUFLO1lBQ1osUUFBUSxFQUFFLEVBQUU7WUFDWixRQUFRLEVB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ZkN6QjVCLG0xQ0E0QlM7OzRGREhJLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsWUFBWTs0SEFLYixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFNRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGRyb3Bkb3duQ29tcGFuaWVzT3B0aW9ucywgZHJvcGRvd25Ob3RpZmljYXRpb25PcHRpb25zLCBkcm9wZG93blJlY2VudE9wdGlvbnMsIG1lbnVEYXRhIH0gZnJvbSAnLi4vYXNzZXRzL21lbnUtZGF0YS9tZW51RGF0YVRlc3QnO1xyXG5pbXBvcnQgeyBEYXRhLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTZXJ2aWNlc0NvbmZpZyB9IGZyb20gJy4uL3V0aWxzL21vZGVscy9TZXJ2aWNlc0NvbmZpZyc7XHJcbmltcG9ydCB7IFNlY3VyaXR5U2VydmljZXMgfSBmcm9tICcuLi91dGlscy9zZXJ2aWNlcy9TZWN1cml0eVNlcnZpY2VzRGVmYXVsdCc7XHJcbmltcG9ydCB7IG1hcCwgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRHJvcGRvd25PcHRpb25zIHtcclxuICBpZDogbnVtYmVyO1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgcGFyZW50SWQ6IGFueTtcclxuICBvcHRpb25zOiBEcm9wZG93bk9wdGlvbkNhdGVyZ29yeVtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERyb3Bkb3duT3B0aW9uQ2F0ZXJnb3J5IHtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIGljb246IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItaGVhZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi4vYXNzZXRzL2ZvbnRzL3N0eWxlLmNzcycsICcuLi9hc3NldHMvdGhlbWUuc2NzcycsJy4vaGVhZGVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEhlYWRlckNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgYXBwTG9nbzogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgdGhlbWU6IHN0cmluZyA9ICdkZWZhdWx0JztcclxuICBASW5wdXQoKSBzaG93QmFja0J1dHRvbjogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgbWVudURhdGE6IERhdGEgPSB7Y2F0ZWdvcmllczogW119O1xyXG4gIEBJbnB1dCgpIHJlY2VudE9wdGlvbnMgOmFueSA9IFtdO1xyXG4gIEBJbnB1dCgpIGNvbXBhbmllcyA6YW55ID0gW107XHJcbiAgQElucHV0KCkgbW9kdWxlTGlzdDogYW55ID0gW107XHJcbiAgQElucHV0KCkgYXV0bzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNlcnZpY2VzQ29uZmlnOiBTZXJ2aWNlc0NvbmZpZyA9IHtcclxuICAgIGJhc2VVcmw6ICcnLFxyXG4gICAgaXNEZXY6IGZhbHNlLFxyXG4gICAgdXNlcm5hbWU6ICcnLFxyXG4gICAgcGFzc3dvcmQ6ICcnXHJcbiAgfTtcclxuICBASW5wdXQoKSBpc01vYmlsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSByZXR1cm5DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBtZW51SXRlbUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIG1lbnVOYXZpZ2F0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSByZWNlbnROYXZpZ2F0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpOyAgXHJcbiAgQE91dHB1dCgpIG1vZHVsZVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBsYXN0T3B0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgXHJcbiAgaXNBdXRoJDogT2JzZXJ2YWJsZTxib29sZWFuPiB8IHVuZGVmaW5lZDtcclxuICBkcm9wZG93bk9wdGlvbnMgPSBkcm9wZG93blJlY2VudE9wdGlvbnM7XHJcbiAgbm90aWZpY2F0aW9uT3B0aW9ucyA9IGRyb3Bkb3duTm90aWZpY2F0aW9uT3B0aW9ucztcclxuICBjb21wYW5pZXNEcm9wZG93biA9IGRyb3Bkb3duQ29tcGFuaWVzT3B0aW9ucztcclxuICBzZWxlY3RlZE9wdGlvbjogYW55O1xyXG4gIGRyb3Bkb3duT3B0aW9uc01lbnU6IERyb3Bkb3duT3B0aW9uc1tdID0gWyBcclxuICAgIHtcclxuICAgICAgaWQ6IDAsXHJcbiAgICAgIGxhYmVsOiAnTG9yZW0gSXBzdW0nLFxyXG4gICAgICBwYXJlbnRJZDogbnVsbCxcclxuICAgICAgb3B0aW9uczogW1xyXG4gICAgICAgIHsgbGFiZWw6ICdMb3JlbSBJcHN1bScsIGljb246ICdicmFzaWxpYS1jb25maWd1cmF0aW9uJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdMb3JlbSBJcHN1bScsIGljb246ICdicmFzaWxpYS1idXMtZ2F2aW90YScgfSxcclxuICAgICAgICB7IGxhYmVsOiAnTG9yZW0gSXBzdW0nLCBpY29uOiAnYnJhc2lsaWEtc2F0ZWxpdGUnIH0sXHJcbiAgICAgIF1cclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIGlkOiAwLFxyXG4gICAgICBsYWJlbDogJ0xvcmVtIElwc3VtJyxcclxuICAgICAgcGFyZW50SWQ6IG51bGwsXHJcbiAgICAgIG9wdGlvbnM6IFtcclxuICAgICAgICB7IGxhYmVsOiAnTG9yZW0gSXBzdW0nLCBpY29uOiAnYnJhc2lsaWEtdmlkZW8nIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0xvcmVtIElwc3VtJywgaWNvbjogJ2JyYXNpbGlhLXJ1dGUnIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0xvcmVtIElwc3VtJywgaWNvbjogJ2JyYXNpbGlhLWNhbGVuZGFyJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdMb3JlbSBJcHN1bScsIGljb246ICdicmFzaWxpYS1kYXNoYm9hcmQnIH0sICBcclxuICAgICAgXVxyXG4gICAgfVxyXG4gIF07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VydmljZXM6U2VjdXJpdHlTZXJ2aWNlcyxwcml2YXRlIHJvdXRlcjogUm91dGVyKXtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgXHJcbiAgICBpZih0aGlzLmF1dG8pe1xyXG4gICAgICB0aGlzLmlzQXV0aCQgPSB0aGlzLmlzQXV0aCgpO1xyXG4gICAgICB0aGlzLmlzQXV0aCQuc3Vic2NyaWJlKGlzQXV0aGVudGljYXRlZCA9PiB7XHJcbiAgICAgICAgaWYgKGlzQXV0aGVudGljYXRlZCkge1xyXG4gICAgICAgICAgdGhpcy5jaGVja1Jlc291cmNlKCk7XHJcbiAgICAgICAgICBpZighdGhpcy5pc01vYmlsZSl7XHJcbiAgICAgICAgICAgIHRoaXMuY2hlY2tSZXNvdXJjZUJ5Um9sZSgpO1xyXG4gICAgICAgICAgfSAgICAgICAgICBcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XHJcbiAgICAgICAgICB3aW5kb3cub3BlbignLycsICdfc2VsZicpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7ICAgICAgXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0F1dGgoKXtcclxuICAgIHJldHVybiB0aGlzLnNlcnZpY2VzLmlzQXV0aGVudGljYXRlZCh0aGlzLnNlcnZpY2VzQ29uZmlnLmJhc2VVcmwpLnBpcGUoXHJcbiAgICAgIG1hcChyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlKSB7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xyXG4gICAgICAgIGlmKHRoaXMuc2VydmljZXNDb25maWcuaXNEZXYpe1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuZG9Mb2dpbigpO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZG9Mb2dpbigpe1xyXG4gICAgcmV0dXJuIHRoaXMuc2VydmljZXMubG9naW4odGhpcy5zZXJ2aWNlc0NvbmZpZy5iYXNlVXJsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2VzQ29uZmlnLnVzZXJuYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2VzQ29uZmlnLnBhc3N3b3JkKS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOmFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXNwb25zZS5jb2RlID09IDIwMCl7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9IGVsc2UgeyAgICAgICBcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKCgpID0+IHtcclxuICAgICAgICByZXR1cm4gb2YoZmFsc2UpOyAgICAgICAgXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlT3B0aW9uU2VsZWN0ZWQob3B0aW9uOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPSBvcHRpb247XHJcbiAgICBpZighdGhpcy5hdXRvKXtcclxuICAgICAgdGhpcy5yZWNlbnROYXZpZ2F0ZS5lbWl0KG9wdGlvbik7XHJcbiAgICB9ICAgIFxyXG4gIH1cclxuXHJcbiAgb25JdGVtQ2xpY2sodXJsOiBhbnkpIHtcclxuICAgIGlmKCF0aGlzLmF1dG8pe1xyXG4gICAgICB0aGlzLm1lbnVOYXZpZ2F0ZS5lbWl0KHVybCk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgY29uc3QgdXJsT2JqID0gdXJsLnVybFNlbmQ7XHJcbiAgICAgIGNvbnN0IGV2ZW50ID0gdXJsLmV2ZW50O1xyXG4gICAgXHJcbiAgICAgIGlmIChldmVudCkge1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIH1cclxuICAgIFxyXG4gICAgICBpZih1cmxPYmoudXJsKXtcclxuICAgICAgICB0aGlzLnNlcnZpY2VzLnNhdmVIaXN0b3J5KHRoaXMuc2VydmljZXNDb25maWcuYmFzZVVybCx7b3B0aW9uSWQ6IHVybE9iai5pZH0pLnN1YnNjcmliZShcclxuICAgICAgICAgIChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHVybE9iai5uZXcgPT09IHRydWUpIHtcclxuICAgICAgICAgICAgICBpZih0aGlzLmlzTW9iaWxlKXtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1dpbmRvdyA9IHdpbmRvdy5vcGVuKHVybE9iai51cmwsICdfYmxhbmsnKTtcclxuICAgICAgICAgICAgICAgIGlmIChuZXdXaW5kb3cpIHtcclxuICAgICAgICAgICAgICAgICAgbmV3V2luZG93Lm9wZW5lciA9IG51bGw7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1lbHNlIGlmKHVybE9iai5pc1dpc2Upe1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmdldEF1dGhDb2RlKHVybE9iai51cmwpO1xyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdXaW5kb3cgPSB3aW5kb3cub3Blbih1cmxPYmoudXJsLCAnX2JsYW5rJyk7XHJcbiAgICAgICAgICAgICAgICBpZiAobmV3V2luZG93KSB7XHJcbiAgICAgICAgICAgICAgICAgIG5ld1dpbmRvdy5vcGVuZXIgPSBudWxsOyBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgaWYodGhpcy5pc01vYmlsZSl7XHJcbiAgICAgICAgICAgICAgICB3aW5kb3cub3Blbih1cmxPYmoudXJsLCAnX3NlbGYnKTtcclxuICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgIGlmKHVybE9iai5pc1dpc2Upe1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmdldEF1dGhDb2RlKHVybE9iai51cmwpO1xyXG4gICAgICAgICAgICAgICAgfWVsc2UgaWYodGhpcy5pc0V4dGVybmFsVXJsKHVybE9iai51cmwpKXtcclxuICAgICAgICAgICAgICAgICAgd2luZG93Lm9wZW4odXJsT2JqLnVybCwgJ19ibGFuaycpO1xyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgIHdpbmRvdy5vcGVuKHVybE9iai51cmwsICdfc2VsZicpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAvKlxyXG4gICAgICB0aGlzLmluYm94U2VydmljZS5zYXZlSGlzdG9yeSh7b3B0aW9uSWQ6IHVybE9iai5pZH0pLnN1YnNjcmliZShcclxuICAgICAgICAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgfSxcclxuICAgICAgICAoZXJyKSA9PiB7ICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgICAqL1xyXG4gICAgfSAgXHJcbiAgfVxyXG5cclxuICBhcnJvd0NsaWNrKCRldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgaWYoIXRoaXMuYXV0byl7XHJcbiAgICAgIHRoaXMucmV0dXJuQ2xpY2suZW1pdCgkZXZlbnQpO1xyXG4gICAgfSAgICBcclxuICB9XHJcblxyXG4gIG9uSXRlbU1vZHVsZVNlbGVjdGVkKGV2ZW50OiBhbnkpe1xyXG4gICAgaWYoIXRoaXMuYXV0byl7XHJcbiAgICAgIHRoaXMubW9kdWxlU2VsZWN0LmVtaXQoZXZlbnQuaWQpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuY3VycmVudE1vZHVsZShldmVudC5pZCk7XHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcblxyXG4gIGdldENvbXBhbmllcygpe1xyXG4gICAgdGhpcy5zZXJ2aWNlcy5nZXRDb21wYW5pZXNJbmZvKHRoaXMuc2VydmljZXNDb25maWcuYmFzZVVybCkuc3Vic2NyaWJlKFxyXG4gICAgICAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICAgIGlmKGRhdGEubG9hZCl7XHJcbiAgICAgICAgICAgICAgY29uc3QgY2FjID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ0NBQycpO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGNjYyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdDQ0MnKTtcclxuICAgICAgICAgICAgICBpZihjYWMgJiYgY2NjKXtcclxuICAgICAgICAgICAgICAgIGRhdGEubG9hZC5mb3JFYWNoKChjOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgYy5hZ2VuY2llcy5mb3JFYWNoKChhOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZihhLmFnZW5jeUNvZGUgPT0gY2FjICYmIGMuY29tcGFueUNvZGUgPT0gY2NjKXtcclxuICAgICAgICAgICAgICAgICAgICAgIGMuaXNPcGVuID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgdGhpcy5jb21wYW5pZXMgPSBkYXRhLmxvYWQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRIaXN0b3J5KCl7XHJcbiAgICB0aGlzLnNlcnZpY2VzLmdldEhpc3RvcnkodGhpcy5zZXJ2aWNlc0NvbmZpZy5iYXNlVXJsKS5zdWJzY3JpYmUoXHJcbiAgICAgIChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgaWYoZGF0YS5sb2FkKXtcclxuICAgICAgICAgICAgdGhpcy5yZWNlbnRPcHRpb25zID0gZGF0YS5sb2FkO1xyXG4gICAgICAgICAgICBpZih0aGlzLnJlY2VudE9wdGlvbnMubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJsYXN0IG9wdGlvbiBlbWl0XCIpO1xyXG4gICAgICAgICAgICAgIHRoaXMubGFzdE9wdGlvbi5lbWl0KHRoaXMucmVjZW50T3B0aW9uc1swXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gICAgICAgICAgXHJcbiAgICAgICAgICB0aGlzLmdldE1vZHVsZXMoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGNoZWNrUmVzb3VyY2UoKXtcclxuICAgIHRoaXMuc2VydmljZXMuZ2V0UmVzb3VyY2VzQnlVc2VyKHRoaXMuc2VydmljZXNDb25maWcuYmFzZVVybCkuc3Vic2NyaWJlKFxyXG4gICAgICAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICAgIGlmKGRhdGEubG9hZCl7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGRhdGEubG9hZCk7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0SGlzdG9yeSgpO1xyXG4gICAgICAgICAgICB0aGlzLmdldENvbXBhbmllcygpO1xyXG4gICAgICAgICAgfSAgICAgICAgICBcclxuICAgICAgICAgIFxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tSZXNvdXJjZUJ5Um9sZSgpe1xyXG4gICAgY29uc3QgcGF0aCA9IHRoaXMuZ2V0UGF0aCgpO1xyXG4gICAgaWYocGF0aCAhPSAnL2hvbWUnKXtcclxuICAgICAgdGhpcy5zZXJ2aWNlcy5nZXRSZXNvdXJjZXNCeVJvbGVVc2VyKHRoaXMuc2VydmljZXNDb25maWcuYmFzZVVybCxwYXRoKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICAgICAgaWYoZGF0YS5sb2FkID09IGZhbHNlKXtcclxuICAgICAgICAgICAgICB3aW5kb3cub3BlbignL2hvbWUnLCAnX3NlbGYnKTtcclxuICAgICAgICAgICAgfSAgICAgICAgICBcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG5cclxuICBnZXRQYXRoKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCc/JylbMF07XHJcbiAgfVxyXG5cclxuICBnZXRNb2R1bGVzKCl7XHJcbiAgICB0aGlzLnNlcnZpY2VzLmdldE1vZHVsZXModGhpcy5zZXJ2aWNlc0NvbmZpZy5iYXNlVXJsKS5zdWJzY3JpYmUoXHJcbiAgICAgIChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoZGF0YS5sb2FkKSB7XHJcbiAgICAgICAgICB0aGlzLm1vZHVsZUxpc3QgPSBkYXRhLmxvYWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnJlY2VudE9wdGlvbnMgJiYgdGhpcy5yZWNlbnRPcHRpb25zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIGlmKHRoaXMucmVjZW50T3B0aW9uc1swXS5hcHBsaWNhdGlvbklkKXtcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50TW9kdWxlKHRoaXMucmVjZW50T3B0aW9uc1swXS5hcHBsaWNhdGlvbklkKTtcclxuICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRNb2R1bGUodGhpcy5tb2R1bGVMaXN0WzBdLmlkKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuY3VycmVudE1vZHVsZSh0aGlzLm1vZHVsZUxpc3RbMF0uaWQpXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICAvKlxyXG4gICAgaWYgKHRoaXMucmVjZW50RGF0YSkge1xyXG4gICAgICB0aGlzLm1vZHVsZVNlbGVjdCh0aGlzLnJlY2VudERhdGFbMF0uYXBwbGljYXRpb25JZCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmxvZyggdGhpcy5kcm9wZG93bk9wdGlvbnNNZW51KVxyXG4gICAgICAvLyBjb25zdCBmaXJzdE9wdGlvbklkID0gdGhpcy5kcm9wZG93bk9wdGlvbnNNZW51Py5bMF0/LmlkO1xyXG4gICAgICAvLyBpZiAoZmlyc3RPcHRpb25JZCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIC8vICAgdGhpcy5tb2R1bGVTZWxlY3QoZmlyc3RPcHRpb25JZCk7XHJcbiAgICAgIC8vIH1cclxuICAgIH1cclxuICAgICovXHJcbiAgICBcclxuICB9XHJcblxyXG4gIGN1cnJlbnRNb2R1bGUoZXZlbnQ6IGFueSl7XHJcbiAgICB0aGlzLnNlcnZpY2VzLm1lbnVNb2R1bGVTZWxlY3RlZCh0aGlzLnNlcnZpY2VzQ29uZmlnLmJhc2VVcmwsZXZlbnQpLnN1YnNjcmliZShcclxuICAgICAgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChkYXRhLmxvYWQpIHtcclxuICAgICAgICAgIGNvbnN0IG1lbnVEYXRhID0ge1xyXG4gICAgICAgICAgICBjYXRlZ29yaWVzOiBcclxuICAgICAgICAgICAgICBkYXRhLmxvYWRcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB0aGlzLm1lbnVEYXRhID0gbWVudURhdGE7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnIpID0+IHtcclxuICAgICAgICBcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGlzRXh0ZXJuYWxVcmwodXJsOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAvXmh0dHBzPzpcXC9cXC8vLnRlc3QodXJsKSAmJiAhdXJsLmluY2x1ZGVzKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXV0aENvZGUodXJsOnN0cmluZyl7XHJcbiAgICB0aGlzLnNlcnZpY2VzLmdldEF1dGhDb2RlKHRoaXMuc2VydmljZXNDb25maWcuYmFzZVVybCkuc3Vic2NyaWJlKFxyXG4gICAgICAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICAgIGlmKGRhdGEubG9hZCl7XHJcbiAgICAgICAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xyXG4gICAgICAgICAgICAgIHBhcmFtcy5hcHBlbmQoJ2F1dGhjb2RlJywgZGF0YS5sb2FkKTtcclxuICAgICAgICAgICAgICBjb25zdCB3aXNlVXJsID0gdXJsICsgJyYnICsgcGFyYW1zLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgICAgd2luZG93Lm9wZW4od2lzZVVybCwgJ19ibGFuaycpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuICBcclxuXHJcbn1cclxuIiwiPGhlYWRlciBbYXR0ci5kYXRhLXRoZW1lXT1cInRoZW1lXCIgY2xhc3M9XCJoZWFkZXItY29udGFpbmVyXCIgKG1lbnVJdGVtQ2xpY2spPVwibWVudUl0ZW1DbGlja1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJoZWFkZXItbWVudS1kYXNoYm9hcmQtY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwic2hvd0JhY2tCdXR0b25cIiBjbGFzcz1cImhlYWRlci1idXR0b25cIiAoY2xpY2spPVwiYXJyb3dDbGljaygkZXZlbnQpXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwibWVudS1hcnJvdy1sZWZ0XCI+PC9pPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bGliLW1lbnUgY2xhc3M9XCJoZWFkZXItbWVudS1saWJcIiBbZGF0YV09XCJtZW51RGF0YVwiIFt0aGVtZV09XCJ0aGVtZVwiXHJcbiAgICAgIFtkcm9wZG93bk9wdGlvbnNdPVwibW9kdWxlTGlzdFwiIChtZW51SXRlbUNsaWNrKT1cIm9uSXRlbUNsaWNrKCRldmVudClcIiAobW9kdWxlU2VsZWN0ZWQpPVwib25JdGVtTW9kdWxlU2VsZWN0ZWQoJGV2ZW50KVwiIFtpc01vYmlsZV09XCJpc01vYmlsZVwiPjwvbGliLW1lbnU+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImhlYWRlci1sb2dvXCI+XHJcbiAgICA8c3BhbiBbY2xhc3NdPVwiYXBwTG9nb1wiPjwvc3Bhbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImhlYWRlci1ub3RpZmljYXRpb25zLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1lbnUtcmVjZW50cy1jb250YWluZXJcIj5cclxuICAgICAgPGxpYi1yZWNlbnRzLWRyb3Bkb3duIFtvcHRpb25zXT1cInJlY2VudE9wdGlvbnNcIlxyXG4gICAgICAob3B0aW9uU2VsZWN0ZWQpPVwiaGFuZGxlT3B0aW9uU2VsZWN0ZWQoJGV2ZW50KVwiPjwvbGliLXJlY2VudHMtZHJvcGRvd24+XHJcbiAgICA8L2Rpdj5cclxuICAgICAgPCEtLVxyXG4gICAgICA8bGliLW5vdGlmaWNhdGlvbnMgW29wdGlvbnNdPVwibm90aWZpY2F0aW9uT3B0aW9uc1wiXHJcbiAgICAgIChvcHRpb25TZWxlY3RlZCk9XCJoYW5kbGVPcHRpb25TZWxlY3RlZCgkZXZlbnQpXCI+PC9saWItbm90aWZpY2F0aW9ucz5cclxuICAgICAgLS0+XHJcbiAgICBcclxuXHJcbiAgICA8bGliLWNvbXBhbnktZHJvcGRvd24gW2NvbXBhbmllc109XCJjb21wYW5pZXNcIlxyXG4gICAgICAob3B0aW9uU2VsZWN0ZWQpPVwiaGFuZGxlT3B0aW9uU2VsZWN0ZWQoJGV2ZW50KVwiPjwvbGliLWNvbXBhbnktZHJvcGRvd24+XHJcblxyXG4gICAgPGxpYi11c2VyLWRyb3Bkb3duIFtiYXNlVXJsXT1cInNlcnZpY2VzQ29uZmlnLmJhc2VVcmxcIiBbaXNNb2JpbGVdPVwiaXNNb2JpbGVcIj48L2xpYi11c2VyLWRyb3Bkb3duPlxyXG4gIDwvZGl2PlxyXG48L2hlYWRlcj4iXX0=
378
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FzcC1saWIvc3JjL2xpYi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FzcC1saWIvc3JjL2xpYi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSwyQkFBMkIsRUFBRSxxQkFBcUIsRUFBWSxNQUFNLGtDQUFrQyxDQUFDO0FBSTFJLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7O0FBbUJ0QyxNQUFNLE9BQU8sZUFBZTtJQXFEMUIsWUFBb0IsUUFBeUIsRUFBUyxNQUFjO1FBQWhELGFBQVEsR0FBUixRQUFRLENBQWlCO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXBEM0QsWUFBTyxHQUFXLEVBQUUsQ0FBQztRQUNyQixVQUFLLEdBQVcsU0FBUyxDQUFDO1FBQzFCLG1CQUFjLEdBQVksSUFBSSxDQUFDO1FBQy9CLGFBQVEsR0FBUyxFQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUMsQ0FBQztRQUNsQyxrQkFBYSxHQUFRLEVBQUUsQ0FBQztRQUN4QixjQUFTLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLGVBQVUsR0FBUSxFQUFFLENBQUM7UUFDckIsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUN0QixtQkFBYyxHQUFtQjtZQUN4QyxPQUFPLEVBQUUsRUFBRTtZQUNYLEtBQUssRUFBRSxLQUFLO1lBQ1osUUFBUSxFQUFFLEVBQUU7WUFDWixRQUFRLEVB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QUcsR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQzlDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2lCQUNsQzthQUNGO2lCQUFNO2FBRU47UUFDSCxDQUFDLEVBQ0QsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkIsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDOytHQTFYVSxlQUFlO21HQUFmLGVBQWUsbWZDekI1QixtMUNBNEJTOzs0RkRISSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFlBQVk7NEhBS2IsT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBkcm9wZG93bkNvbXBhbmllc09wdGlvbnMsIGRyb3Bkb3duTm90aWZpY2F0aW9uT3B0aW9ucywgZHJvcGRvd25SZWNlbnRPcHRpb25zLCBtZW51RGF0YSB9IGZyb20gJy4uL2Fzc2V0cy9tZW51LWRhdGEvbWVudURhdGFUZXN0JztcclxuaW1wb3J0IHsgRGF0YSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU2VydmljZXNDb25maWcgfSBmcm9tICcuLi91dGlscy9tb2RlbHMvU2VydmljZXNDb25maWcnO1xyXG5pbXBvcnQgeyBTZWN1cml0eVNlcnZpY2VzIH0gZnJvbSAnLi4vdXRpbHMvc2VydmljZXMvU2VjdXJpdHlTZXJ2aWNlc0RlZmF1bHQnO1xyXG5pbXBvcnQgeyBtYXAsIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERyb3Bkb3duT3B0aW9ucyB7XHJcbiAgaWQ6IG51bWJlcjtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIHBhcmVudElkOiBhbnk7XHJcbiAgb3B0aW9uczogRHJvcGRvd25PcHRpb25DYXRlcmdvcnlbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEcm9wZG93bk9wdGlvbkNhdGVyZ29yeSB7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBpY29uOiBzdHJpbmc7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWhlYWRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4uL2Fzc2V0cy9mb250cy9zdHlsZS5jc3MnLCAnLi4vYXNzZXRzL3RoZW1lLnNjc3MnLCcuL2hlYWRlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIZWFkZXJDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGFwcExvZ286IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIHRoZW1lOiBzdHJpbmcgPSAnZGVmYXVsdCc7XHJcbiAgQElucHV0KCkgc2hvd0JhY2tCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIG1lbnVEYXRhOiBEYXRhID0ge2NhdGVnb3JpZXM6IFtdfTtcclxuICBASW5wdXQoKSByZWNlbnRPcHRpb25zIDphbnkgPSBbXTtcclxuICBASW5wdXQoKSBjb21wYW5pZXMgOmFueSA9IFtdO1xyXG4gIEBJbnB1dCgpIG1vZHVsZUxpc3Q6IGFueSA9IFtdO1xyXG4gIEBJbnB1dCgpIGF1dG86IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZXJ2aWNlc0NvbmZpZzogU2VydmljZXNDb25maWcgPSB7XHJcbiAgICBiYXNlVXJsOiAnJyxcclxuICAgIGlzRGV2OiBmYWxzZSxcclxuICAgIHVzZXJuYW1lOiAnJyxcclxuICAgIHBhc3N3b3JkOiAnJyxcclxuICAgIGNoZWNrUm9sZTogZmFsc2VcclxuICB9O1xyXG4gIEBJbnB1dCgpIGlzTW9iaWxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIHJldHVybkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIG1lbnVJdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgbWVudU5hdmlnYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIHJlY2VudE5hdmlnYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7ICBcclxuICBAT3V0cHV0KCkgbW9kdWxlU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIGxhc3RPcHRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBcclxuICBpc0F1dGgkOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHwgdW5kZWZpbmVkO1xyXG4gIGRyb3Bkb3duT3B0aW9ucyA9IGRyb3Bkb3duUmVjZW50T3B0aW9ucztcclxuICBub3RpZmljYXRpb25PcHRpb25zID0gZHJvcGRvd25Ob3RpZmljYXRpb25PcHRpb25zO1xyXG4gIGNvbXBhbmllc0Ryb3Bkb3duID0gZHJvcGRvd25Db21wYW5pZXNPcHRpb25zO1xyXG4gIHNlbGVjdGVkT3B0aW9uOiBhbnk7XHJcbiAgZHJvcGRvd25PcHRpb25zTWVudTogRHJvcGRvd25PcHRpb25zW10gPSBbIFxyXG4gICAge1xyXG4gICAgICBpZDogMCxcclxuICAgICAgbGFiZWw6ICdMb3JlbSBJcHN1bScsXHJcbiAgICAgIHBhcmVudElkOiBudWxsLFxyXG4gICAgICBvcHRpb25zOiBbXHJcbiAgICAgICAgeyBsYWJlbDogJ0xvcmVtIElwc3VtJywgaWNvbjogJ2JyYXNpbGlhLWNvbmZpZ3VyYXRpb24nIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0xvcmVtIElwc3VtJywgaWNvbjogJ2JyYXNpbGlhLWJ1cy1nYXZpb3RhJyB9LFxyXG4gICAgICAgIHsgbGFiZWw6ICdMb3JlbSBJcHN1bScsIGljb246ICdicmFzaWxpYS1zYXRlbGl0ZScgfSxcclxuICAgICAgXVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgaWQ6IDAsXHJcbiAgICAgIGxhYmVsOiAnTG9yZW0gSXBzdW0nLFxyXG4gICAgICBwYXJlbnRJZDogbnVsbCxcclxuICAgICAgb3B0aW9uczogW1xyXG4gICAgICAgIHsgbGFiZWw6ICdMb3JlbSBJcHN1bScsIGljb246ICdicmFzaWxpYS12aWRlbycgfSxcclxuICAgICAgICB7IGxhYmVsOiAnTG9yZW0gSXBzdW0nLCBpY29uOiAnYnJhc2lsaWEtcnV0ZScgfSxcclxuICAgICAgICB7IGxhYmVsOiAnTG9yZW0gSXBzdW0nLCBpY29uOiAnYnJhc2lsaWEtY2FsZW5kYXInIH0sXHJcbiAgICAgICAgeyBsYWJlbDogJ0xvcmVtIElwc3VtJywgaWNvbjogJ2JyYXNpbGlhLWRhc2hib2FyZCcgfSwgIFxyXG4gICAgICBdXHJcbiAgICB9XHJcbiAgXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXJ2aWNlczpTZWN1cml0eVNlcnZpY2VzLHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpe1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBcclxuICAgIGlmKHRoaXMuYXV0byl7XHJcbiAgICAgIHRoaXMuaXNBdXRoJCA9IHRoaXMuaXNBdXRoKCk7XHJcbiAgICAgIHRoaXMuaXNBdXRoJC5zdWJzY3JpYmUoaXNBdXRoZW50aWNhdGVkID0+IHtcclxuICAgICAgICBpZiAoaXNBdXRoZW50aWNhdGVkKSB7XHJcbiAgICAgICAgICBpZih0aGlzLnNlcnZpY2VzQ29uZmlnLmlzRGV2KXtcclxuICAgICAgICAgICAgaWYodGhpcy5zZXJ2aWNlc0NvbmZpZy5jaGVja1JvbGUpe1xyXG4gICAgICAgICAgICAgIHRoaXMuY2hlY2tSZXNvdXJjZSgpO1xyXG4gICAgICAgICAgICAgIGlmKCF0aGlzLmlzTW9iaWxlKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tSZXNvdXJjZUJ5Um9sZSgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIHRoaXMuY2hlY2tSZXNvdXJjZSgpO1xyXG4gICAgICAgICAgICBpZighdGhpcy5pc01vYmlsZSl7XHJcbiAgICAgICAgICAgICAgdGhpcy5jaGVja1Jlc291cmNlQnlSb2xlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XHJcbiAgICAgICAgICB3aW5kb3cub3BlbignLycsICdfc2VsZicpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7ICAgICAgXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0F1dGgoKXtcclxuICAgIHJldHVybiB0aGlzLnNlcnZpY2VzLmlzQXV0aGVudGljYXRlZCh0aGlzLnNlcnZpY2VzQ29uZmlnLmJhc2VVcmwpLnBpcGUoXHJcbiAgICAgIG1hcChyZXNwb25zZSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlKSB7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xyXG4gICAgICAgIGlmKHRoaXMuc2VydmljZXNDb25maWcuaXNEZXYpe1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuZG9Mb2dpbigpO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZG9Mb2dpbigpe1xyXG4gICAgcmV0dXJuIHRoaXMuc2VydmljZXMubG9naW4odGhpcy5zZXJ2aWNlc0NvbmZpZy5iYXNlVXJsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2VzQ29uZmlnLnVzZXJuYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2VzQ29uZmlnLnBhc3N3b3JkKS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOmFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXNwb25zZS5jb2RlID09IDIwMCl7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9IGVsc2UgeyAgICAgICBcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKCgpID0+IHtcclxuICAgICAgICByZXR1cm4gb2YoZmFsc2UpOyAgICAgICAgXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlT3B0aW9uU2VsZWN0ZWQob3B0aW9uOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb24gPSBvcHRpb247XHJcbiAgICBpZighdGhpcy5hdXRvKXtcclxuICAgICAgdGhpcy5yZWNlbnROYXZpZ2F0ZS5lbWl0KG9wdGlvbik7XHJcbiAgICB9ICAgIFxyXG4gIH1cclxuXHJcbiAgb25JdGVtQ2xpY2sodXJsOiBhbnkpIHtcclxuICAgIGlmKCF0aGlzLmF1dG8pe1xyXG4gICAgICB0aGlzLm1lbnVOYXZpZ2F0ZS5lbWl0KHVybCk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgY29uc3QgdXJsT2JqID0gdXJsLnVybFNlbmQ7XHJcbiAgICAgIGNvbnN0IGV2ZW50ID0gdXJsLmV2ZW50O1xyXG4gICAgXHJcbiAgICAgIGlmIChldmVudCkge1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIH1cclxuICAgIFxyXG4gICAgICBpZih1cmxPYmoudXJsKXtcclxuICAgICAgICB0aGlzLnNlcnZpY2VzLnNhdmVIaXN0b3J5KHRoaXMuc2VydmljZXNDb25maWcuYmFzZVVybCx7b3B0aW9uSWQ6IHVybE9iai5pZH0pLnN1YnNjcmliZShcclxuICAgICAgICAgIChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHVybE9iai5uZXcgPT09IHRydWUpIHtcclxuICAgICAgICAgICAgICBpZih0aGlzLmlzTW9iaWxlKXtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1dpbmRvdyA9IHdpbmRvdy5vcGVuKHVybE9iai51cmwsICdfYmxhbmsnKTtcclxuICAgICAgICAgICAgICAgIGlmIChuZXdXaW5kb3cpIHtcclxuICAgICAgICAgICAgICAgICAgbmV3V2luZG93Lm9wZW5lciA9IG51bGw7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1lbHNlIGlmKHVybE9iai5pc1dpc2Upe1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmdldEF1dGhDb2RlKHVybE9iai51cmwpO1xyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdXaW5kb3cgPSB3aW5kb3cub3Blbih1cmxPYmoudXJsLCAnX2JsYW5rJyk7XHJcbiAgICAgICAgICAgICAgICBpZiAobmV3V2luZG93KSB7XHJcbiAgICAgICAgICAgICAgICAgIG5ld1dpbmRvdy5vcGVuZXIgPSBudWxsOyBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgaWYodGhpcy5pc01vYmlsZSl7XHJcbiAgICAgICAgICAgICAgICB3aW5kb3cub3Blbih1cmxPYmoudXJsLCAnX3NlbGYnKTtcclxuICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgIGlmKHVybE9iai5pc1dpc2Upe1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmdldEF1dGhDb2RlKHVybE9iai51cmwpO1xyXG4gICAgICAgICAgICAgICAgfWVsc2UgaWYodGhpcy5pc0V4dGVybmFsVXJsKHVybE9iai51cmwpKXtcclxuICAgICAgICAgICAgICAgICAgd2luZG93Lm9wZW4odXJsT2JqLnVybCwgJ19ibGFuaycpO1xyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgIHdpbmRvdy5vcGVuKHVybE9iai51cmwsICdfc2VsZicpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAvKlxyXG4gICAgICB0aGlzLmluYm94U2VydmljZS5zYXZlSGlzdG9yeSh7b3B0aW9uSWQ6IHVybE9iai5pZH0pLnN1YnNjcmliZShcclxuICAgICAgICAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgfSxcclxuICAgICAgICAoZXJyKSA9PiB7ICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgICAqL1xyXG4gICAgfSAgXHJcbiAgfVxyXG5cclxuICBhcnJvd0NsaWNrKCRldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgaWYoIXRoaXMuYXV0byl7XHJcbiAgICAgIHRoaXMucmV0dXJuQ2xpY2suZW1pdCgkZXZlbnQpO1xyXG4gICAgfSAgICBcclxuICB9XHJcblxyXG4gIG9uSXRlbU1vZHVsZVNlbGVjdGVkKGV2ZW50OiBhbnkpe1xyXG4gICAgaWYoIXRoaXMuYXV0byl7XHJcbiAgICAgIHRoaXMubW9kdWxlU2VsZWN0LmVtaXQoZXZlbnQuaWQpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuY3VycmVudE1vZHVsZShldmVudC5pZCk7XHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcblxyXG4gIGdldENvbXBhbmllcygpe1xyXG4gICAgdGhpcy5zZXJ2aWNlcy5nZXRDb21wYW5pZXNJbmZvKHRoaXMuc2VydmljZXNDb25maWcuYmFzZVVybCkuc3Vic2NyaWJlKFxyXG4gICAgICAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICAgIGlmKGRhdGEubG9hZCl7XHJcbiAgICAgICAgICAgICAgY29uc3QgY2FjID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ0NBQycpO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGNjYyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdDQ0MnKTtcclxuICAgICAgICAgICAgICBpZihjYWMgJiYgY2NjKXtcclxuICAgICAgICAgICAgICAgIGRhdGEubG9hZC5mb3JFYWNoKChjOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgYy5hZ2VuY2llcy5mb3JFYWNoKChhOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZihhLmFnZW5jeUNvZGUgPT0gY2FjICYmIGMuY29tcGFueUNvZGUgPT0gY2NjKXtcclxuICAgICAgICAgICAgICAgICAgICAgIGMuaXNPcGVuID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgdGhpcy5jb21wYW5pZXMgPSBkYXRhLmxvYWQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRIaXN0b3J5KCl7XHJcbiAgICB0aGlzLnNlcnZpY2VzLmdldEhpc3RvcnkodGhpcy5zZXJ2aWNlc0NvbmZpZy5iYXNlVXJsKS5zdWJzY3JpYmUoXHJcbiAgICAgIChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgaWYoZGF0YS5sb2FkKXtcclxuICAgICAgICAgICAgdGhpcy5yZWNlbnRPcHRpb25zID0gZGF0YS5sb2FkO1xyXG4gICAgICAgICAgICBpZih0aGlzLnJlY2VudE9wdGlvbnMubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJsYXN0IG9wdGlvbiBlbWl0XCIpO1xyXG4gICAgICAgICAgICAgIHRoaXMubGFzdE9wdGlvbi5lbWl0KHRoaXMucmVjZW50T3B0aW9uc1swXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gICAgICAgICAgXHJcbiAgICAgICAgICB0aGlzLmdldE1vZHVsZXMoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGNoZWNrUmVzb3VyY2UoKXtcclxuICAgIHRoaXMuc2VydmljZXMuZ2V0UmVzb3VyY2VzQnlVc2VyKHRoaXMuc2VydmljZXNDb25maWcuYmFzZVVybCkuc3Vic2NyaWJlKFxyXG4gICAgICAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICAgIGlmKGRhdGEubG9hZCl7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGRhdGEubG9hZCk7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0SGlzdG9yeSgpO1xyXG4gICAgICAgICAgICB0aGlzLmdldENvbXBhbmllcygpO1xyXG4gICAgICAgICAgfSAgICAgICAgICBcclxuICAgICAgICAgIFxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tSZXNvdXJjZUJ5Um9sZSgpe1xyXG4gICAgY29uc3QgcGF0aCA9IHRoaXMuZ2V0UGF0aCgpO1xyXG4gICAgaWYocGF0aCAhPSAnL2hvbWUnKXtcclxuICAgICAgdGhpcy5zZXJ2aWNlcy5nZXRSZXNvdXJjZXNCeVJvbGVVc2VyKHRoaXMuc2VydmljZXNDb25maWcuYmFzZVVybCxwYXRoKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICAgICAgaWYoZGF0YS5sb2FkID09IGZhbHNlKXtcclxuICAgICAgICAgICAgICB3aW5kb3cub3BlbignL2hvbWUnLCAnX3NlbGYnKTtcclxuICAgICAgICAgICAgfSAgICAgICAgICBcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG5cclxuICBnZXRQYXRoKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIudXJsLnNwbGl0KCc/JylbMF07XHJcbiAgfVxyXG5cclxuICBnZXRNb2R1bGVzKCl7XHJcbiAgICB0aGlzLnNlcnZpY2VzLmdldE1vZHVsZXModGhpcy5zZXJ2aWNlc0NvbmZpZy5iYXNlVXJsKS5zdWJzY3JpYmUoXHJcbiAgICAgIChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoZGF0YS5sb2FkKSB7XHJcbiAgICAgICAgICB0aGlzLm1vZHVsZUxpc3QgPSBkYXRhLmxvYWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnJlY2VudE9wdGlvbnMgJiYgdGhpcy5yZWNlbnRPcHRpb25zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIGlmKHRoaXMucmVjZW50T3B0aW9uc1swXS5hcHBsaWNhdGlvbklkKXtcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50TW9kdWxlKHRoaXMucmVjZW50T3B0aW9uc1swXS5hcHBsaWNhdGlvbklkKTtcclxuICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRNb2R1bGUodGhpcy5tb2R1bGVMaXN0WzBdLmlkKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuY3VycmVudE1vZHVsZSh0aGlzLm1vZHVsZUxpc3RbMF0uaWQpXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICAvKlxyXG4gICAgaWYgKHRoaXMucmVjZW50RGF0YSkge1xyXG4gICAgICB0aGlzLm1vZHVsZVNlbGVjdCh0aGlzLnJlY2VudERhdGFbMF0uYXBwbGljYXRpb25JZCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmxvZyggdGhpcy5kcm9wZG93bk9wdGlvbnNNZW51KVxyXG4gICAgICAvLyBjb25zdCBmaXJzdE9wdGlvbklkID0gdGhpcy5kcm9wZG93bk9wdGlvbnNNZW51Py5bMF0/LmlkO1xyXG4gICAgICAvLyBpZiAoZmlyc3RPcHRpb25JZCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIC8vICAgdGhpcy5tb2R1bGVTZWxlY3QoZmlyc3RPcHRpb25JZCk7XHJcbiAgICAgIC8vIH1cclxuICAgIH1cclxuICAgICovXHJcbiAgICBcclxuICB9XHJcblxyXG4gIGN1cnJlbnRNb2R1bGUoZXZlbnQ6IGFueSl7XHJcbiAgICB0aGlzLnNlcnZpY2VzLm1lbnVNb2R1bGVTZWxlY3RlZCh0aGlzLnNlcnZpY2VzQ29uZmlnLmJhc2VVcmwsZXZlbnQpLnN1YnNjcmliZShcclxuICAgICAgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChkYXRhLmxvYWQpIHtcclxuICAgICAgICAgIGNvbnN0IG1lbnVEYXRhID0ge1xyXG4gICAgICAgICAgICBjYXRlZ29yaWVzOiBcclxuICAgICAgICAgICAgICBkYXRhLmxvYWRcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB0aGlzLm1lbnVEYXRhID0gbWVudURhdGE7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnIpID0+IHtcclxuICAgICAgICBcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGlzRXh0ZXJuYWxVcmwodXJsOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAvXmh0dHBzPzpcXC9cXC8vLnRlc3QodXJsKSAmJiAhdXJsLmluY2x1ZGVzKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXV0aENvZGUodXJsOnN0cmluZyl7XHJcbiAgICB0aGlzLnNlcnZpY2VzLmdldEF1dGhDb2RlKHRoaXMuc2VydmljZXNDb25maWcuYmFzZVVybCkuc3Vic2NyaWJlKFxyXG4gICAgICAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICAgIGlmKGRhdGEubG9hZCl7XHJcbiAgICAgICAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xyXG4gICAgICAgICAgICAgIHBhcmFtcy5hcHBlbmQoJ2F1dGhjb2RlJywgZGF0YS5sb2FkKTtcclxuICAgICAgICAgICAgICBjb25zdCB3aXNlVXJsID0gdXJsICsgJyYnICsgcGFyYW1zLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgICAgd2luZG93Lm9wZW4od2lzZVVybCwgJ19ibGFuaycpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuICBcclxuXHJcbn1cclxuIiwiPGhlYWRlciBbYXR0ci5kYXRhLXRoZW1lXT1cInRoZW1lXCIgY2xhc3M9XCJoZWFkZXItY29udGFpbmVyXCIgKG1lbnVJdGVtQ2xpY2spPVwibWVudUl0ZW1DbGlja1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJoZWFkZXItbWVudS1kYXNoYm9hcmQtY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwic2hvd0JhY2tCdXR0b25cIiBjbGFzcz1cImhlYWRlci1idXR0b25cIiAoY2xpY2spPVwiYXJyb3dDbGljaygkZXZlbnQpXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwibWVudS1hcnJvdy1sZWZ0XCI+PC9pPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bGliLW1lbnUgY2xhc3M9XCJoZWFkZXItbWVudS1saWJcIiBbZGF0YV09XCJtZW51RGF0YVwiIFt0aGVtZV09XCJ0aGVtZVwiXHJcbiAgICAgIFtkcm9wZG93bk9wdGlvbnNdPVwibW9kdWxlTGlzdFwiIChtZW51SXRlbUNsaWNrKT1cIm9uSXRlbUNsaWNrKCRldmVudClcIiAobW9kdWxlU2VsZWN0ZWQpPVwib25JdGVtTW9kdWxlU2VsZWN0ZWQoJGV2ZW50KVwiIFtpc01vYmlsZV09XCJpc01vYmlsZVwiPjwvbGliLW1lbnU+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImhlYWRlci1sb2dvXCI+XHJcbiAgICA8c3BhbiBbY2xhc3NdPVwiYXBwTG9nb1wiPjwvc3Bhbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImhlYWRlci1ub3RpZmljYXRpb25zLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1lbnUtcmVjZW50cy1jb250YWluZXJcIj5cclxuICAgICAgPGxpYi1yZWNlbnRzLWRyb3Bkb3duIFtvcHRpb25zXT1cInJlY2VudE9wdGlvbnNcIlxyXG4gICAgICAob3B0aW9uU2VsZWN0ZWQpPVwiaGFuZGxlT3B0aW9uU2VsZWN0ZWQoJGV2ZW50KVwiPjwvbGliLXJlY2VudHMtZHJvcGRvd24+XHJcbiAgICA8L2Rpdj5cclxuICAgICAgPCEtLVxyXG4gICAgICA8bGliLW5vdGlmaWNhdGlvbnMgW29wdGlvbnNdPVwibm90aWZpY2F0aW9uT3B0aW9uc1wiXHJcbiAgICAgIChvcHRpb25TZWxlY3RlZCk9XCJoYW5kbGVPcHRpb25TZWxlY3RlZCgkZXZlbnQpXCI+PC9saWItbm90aWZpY2F0aW9ucz5cclxuICAgICAgLS0+XHJcbiAgICBcclxuXHJcbiAgICA8bGliLWNvbXBhbnktZHJvcGRvd24gW2NvbXBhbmllc109XCJjb21wYW5pZXNcIlxyXG4gICAgICAob3B0aW9uU2VsZWN0ZWQpPVwiaGFuZGxlT3B0aW9uU2VsZWN0ZWQoJGV2ZW50KVwiPjwvbGliLWNvbXBhbnktZHJvcGRvd24+XHJcblxyXG4gICAgPGxpYi11c2VyLWRyb3Bkb3duIFtiYXNlVXJsXT1cInNlcnZpY2VzQ29uZmlnLmJhc2VVcmxcIiBbaXNNb2JpbGVdPVwiaXNNb2JpbGVcIj48L2xpYi11c2VyLWRyb3Bkb3duPlxyXG4gIDwvZGl2PlxyXG48L2hlYWRlcj4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmljZXNDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3AtbGliL3NyYy9saWIvdXRpbHMvbW9kZWxzL1NlcnZpY2VzQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNlcnZpY2VzQ29uZmlnIHtcclxuICAgIGJhc2VVcmw6IHN0cmluZztcclxuICAgIGlzRGV2OiBib29sZWFuO1xyXG4gICAgdXNlcm5hbWU6IHN0cmluZztcclxuICAgIHBhc3N3b3JkOiBzdHJpbmc7XHJcbn0iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmljZXNDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hc3AtbGliL3NyYy9saWIvdXRpbHMvbW9kZWxzL1NlcnZpY2VzQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNlcnZpY2VzQ29uZmlnIHtcclxuICAgIGJhc2VVcmw6IHN0cmluZztcclxuICAgIGlzRGV2OiBib29sZWFuO1xyXG4gICAgdXNlcm5hbWU6IHN0cmluZztcclxuICAgIHBhc3N3b3JkOiBzdHJpbmc7XHJcbiAgICBjaGVja1JvbGU6IGJvb2xlYW47XHJcbn0iXX0=
@@ -5966,7 +5966,8 @@ class HeaderComponent {
5966
5966
  baseUrl: '',
5967
5967
  isDev: false,
5968
5968
  username: '',
5969
- password: ''
5969
+ password: '',
5970
+ checkRole: false
5970
5971
  };
5971
5972
  this.isMobile = false;
5972
5973
  this.returnClick = new EventEmitter();
@@ -6007,9 +6008,19 @@ class HeaderComponent {
6007
6008
  this.isAuth$ = this.isAuth();
6008
6009
  this.isAuth$.subscribe(isAuthenticated => {
6009
6010
  if (isAuthenticated) {
6010
- this.checkResource();
6011
- if (!this.isMobile) {
6012
- this.checkResourceByRole();
6011
+ if (this.servicesConfig.isDev) {
6012
+ if (this.servicesConfig.checkRole) {
6013
+ this.checkResource();
6014
+ if (!this.isMobile) {
6015
+ this.checkResourceByRole();
6016
+ }
6017
+ }
6018
+ }
6019
+ else {
6020
+ this.checkResource();
6021
+ if (!this.isMobile) {
6022
+ this.checkResourceByRole();
6023
+ }
6013
6024
  }
6014
6025
  }
6015
6026
  else {