@resolveio/client-lib-core 2.0.12 → 15.0.0

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.
Files changed (100) hide show
  1. package/esm2020/lib/account-manager.service.mjs +4 -4
  2. package/esm2020/lib/auth/auth-guard.service.mjs +138 -92
  3. package/esm2020/lib/auth/auth-permissions.service.mjs +4 -4
  4. package/esm2020/lib/auth/auth.service.mjs +7 -7
  5. package/esm2020/lib/auth/auth365.component.mjs +4 -4
  6. package/esm2020/lib/auth/can-deactivate-guard.service.mjs +13 -4
  7. package/esm2020/lib/auth/enroll.component.mjs +5 -5
  8. package/esm2020/lib/auth/forgot-password.component.mjs +5 -5
  9. package/esm2020/lib/core.component.mjs +8 -8
  10. package/esm2020/lib/core.module.mjs +11 -5
  11. package/esm2020/lib/core.service.mjs +4 -4
  12. package/esm2020/lib/directive/focus.mjs +4 -4
  13. package/esm2020/lib/directive/scroll.mjs +4 -4
  14. package/esm2020/lib/home/home.component.mjs +5 -5
  15. package/esm2020/lib/logger/logger.component.mjs +5 -5
  16. package/esm2020/lib/models/permission.model.mjs +1 -1
  17. package/esm2020/lib/models/user.model.mjs +1 -1
  18. package/esm2020/lib/offline-manager.service.mjs +4 -4
  19. package/esm2020/lib/pipes/domsanitizor.pipe.mjs +4 -4
  20. package/esm2020/lib/pipes/filter.pipe.mjs +7 -7
  21. package/esm2020/lib/pipes/json-parse.pipe.mjs +4 -4
  22. package/esm2020/lib/pipes/minus-currency.pipe.mjs +4 -4
  23. package/esm2020/lib/pipes/phone.pipe.mjs +4 -4
  24. package/esm2020/lib/pipes/pipe.module.mjs +5 -5
  25. package/esm2020/lib/pipes/reverse-list.pipe.mjs +4 -4
  26. package/esm2020/lib/pipes/titlecase.pipe.mjs +4 -4
  27. package/esm2020/lib/report-builder.permission.mjs +5 -5
  28. package/esm2020/lib/resolveio-class.mjs +4 -4
  29. package/esm2020/lib/shared/shared.module.mjs +5 -5
  30. package/esm2020/lib/socket-manager.service.mjs +59 -75
  31. package/esm2020/lib/socket.service.mjs +74 -9
  32. package/esm2020/lib/super-admin.permission.mjs +4 -4
  33. package/esm2020/lib/support-ticket/detail/support-ticket-detail.component.mjs +5 -5
  34. package/esm2020/lib/support-ticket/edit/support-ticket-edit.component.mjs +5 -5
  35. package/esm2020/lib/support-ticket/list/support-ticket-list.component.mjs +4 -4
  36. package/esm2020/lib/support-ticket/new/support-ticket-new.component.mjs +5 -5
  37. package/esm2020/lib/support-ticket/support-ticket.component.mjs +4 -4
  38. package/esm2020/lib/support-ticket/support-ticket.module.mjs +5 -5
  39. package/esm2020/lib/support-ticket/support-ticket.service.mjs +4 -4
  40. package/esm2020/lib/token-manager.service.mjs +4 -4
  41. package/esm2020/lib/user-settings/settings/users-settings.component.mjs +5 -5
  42. package/esm2020/lib/user-settings/user-settings.component.mjs +4 -4
  43. package/esm2020/lib/user-settings/user-settings.module.mjs +5 -5
  44. package/esm2020/lib/user-settings/user-settings.permission.mjs +2 -2
  45. package/esm2020/lib/user-settings/user-settings.service.mjs +4 -4
  46. package/esm2020/lib/util/aws.service.mjs +4 -4
  47. package/esm2020/lib/util/common.helper.mjs +28 -35
  48. package/esm2020/lib/util/validation.service.mjs +12 -4
  49. package/esm2020/lib/util/window-resize.service.mjs +4 -4
  50. package/esm2020/lib/util/window.service.mjs +4 -4
  51. package/esm2020/lib/widgets/alert/alert.service.mjs +7 -5
  52. package/esm2020/lib/widgets/collapse-table/collapse-table.component.mjs +5 -5
  53. package/esm2020/lib/widgets/collapse-table/collapse-table.module.mjs +5 -5
  54. package/esm2020/lib/widgets/data-table/data-table.component.mjs +5 -5
  55. package/esm2020/lib/widgets/data-table/data-table.module.mjs +5 -5
  56. package/esm2020/lib/widgets/date-shortcut/date-shortcut.component.mjs +4 -4
  57. package/esm2020/lib/widgets/date-shortcut/date-shortcut.module.mjs +5 -5
  58. package/esm2020/lib/widgets/dialog/dialog.confirm.content.mjs +4 -4
  59. package/esm2020/lib/widgets/dialog/dialog.error.content.mjs +4 -4
  60. package/esm2020/lib/widgets/dialog/dialog.input.content.mjs +4 -4
  61. package/esm2020/lib/widgets/dialog/dialog.login.content.mjs +4 -4
  62. package/esm2020/lib/widgets/dialog/dialog.notify.content.mjs +4 -4
  63. package/esm2020/lib/widgets/dialog/dialog.register.content.mjs +4 -4
  64. package/esm2020/lib/widgets/dialog/dialog.select-array-objs.content.mjs +4 -4
  65. package/esm2020/lib/widgets/dialog/dialog.select-array.content.mjs +4 -4
  66. package/esm2020/lib/widgets/dialog/dialog.select-data-labels.content.mjs +4 -4
  67. package/esm2020/lib/widgets/dialog/dialog.select-datetime.content.mjs +13 -9
  68. package/esm2020/lib/widgets/dialog/dialog.select-with-buttons-url.content.mjs +4 -4
  69. package/esm2020/lib/widgets/dialog/dialog.service.mjs +4 -4
  70. package/esm2020/lib/widgets/file/file-upload.component.mjs +5 -5
  71. package/esm2020/lib/widgets/file/file-upload.module.mjs +5 -5
  72. package/esm2020/lib/widgets/form-button/form-button.component.mjs +5 -5
  73. package/esm2020/lib/widgets/form-button/form-button.module.mjs +5 -5
  74. package/esm2020/lib/widgets/navbar-main/navbar-main.component.mjs +5 -5
  75. package/esm2020/lib/widgets/navbar-module/navbar-module.component.mjs +30 -57
  76. package/esm2020/lib/widgets/responsive-button-group/responsive-button-group.component.mjs +4 -4
  77. package/esm2020/lib/widgets/responsive-button-group/responsive-button-group.module.mjs +5 -5
  78. package/esm2020/lib/widgets/scheduler/scheduler.component.mjs +4 -4
  79. package/esm2020/lib/widgets/scheduler/scheduler.module.mjs +5 -5
  80. package/esm2020/lib/widgets/sort-table/sort-table-header.component.mjs +4 -4
  81. package/esm2020/lib/widgets/sort-table/sort-table-ngfor.component.mjs +4 -4
  82. package/esm2020/lib/widgets/sort-table/sort-table.directive.mjs +4 -4
  83. package/esm2020/lib/widgets/sort-table/sort-table.module.mjs +5 -5
  84. package/esm2020/lib/widgets/user-role/user-role.component.mjs +4 -4
  85. package/esm2020/lib/widgets/user-role/user-role.module.mjs +5 -5
  86. package/fesm2015/resolveio-client-lib-core.mjs +637 -560
  87. package/fesm2015/resolveio-client-lib-core.mjs.map +1 -1
  88. package/fesm2020/resolveio-client-lib-core.mjs +637 -560
  89. package/fesm2020/resolveio-client-lib-core.mjs.map +1 -1
  90. package/lib/auth/auth-guard.service.d.ts +26 -2
  91. package/lib/auth/can-deactivate-guard.service.d.ts +11 -1
  92. package/lib/models/permission.model.d.ts +2 -1
  93. package/lib/models/user.model.d.ts +1 -1
  94. package/lib/offline-manager.service.d.ts +1 -1
  95. package/lib/socket-manager.service.d.ts +1 -0
  96. package/lib/socket.service.d.ts +8 -3
  97. package/lib/token-manager.service.d.ts +1 -1
  98. package/lib/util/common.helper.d.ts +1 -1
  99. package/lib/util/validation.service.d.ts +3 -0
  100. package/package.json +5 -36
@@ -78,12 +78,12 @@ export class CoreService {
78
78
  this.isDemo.next(isDemo);
79
79
  }
80
80
  }
81
- CoreService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
82
- CoreService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CoreService, providedIn: 'root' });
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CoreService, decorators: [{
81
+ CoreService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
82
+ CoreService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CoreService, providedIn: 'root' });
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CoreService, decorators: [{
84
84
  type: Injectable,
85
85
  args: [{
86
86
  providedIn: 'root'
87
87
  }]
88
88
  }], ctorParameters: function () { return []; } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2NvcmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBTXZDLE1BQU0sT0FBTyxXQUFXO0lBNEJ2QiwrQ0FBK0M7SUFDL0Msa0NBQWtDO0lBRWxDO1FBOUJFLGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEMsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFDO1lBQ3RDLEtBQUssRUFBRSxFQUFFO1lBQ1QsTUFBTSxFQUFFLEVBQUU7WUFDVixXQUFXLEVBQUUsRUFBRTtZQUNmLGdCQUFnQixFQUFFLEVBQUU7WUFDcEIsSUFBSSxFQUFFLEVBQUU7U0FDUixDQUFDLENBQUM7UUFDSCxxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQUM7WUFDL0IsSUFBSSxFQUFFLEVBQUU7WUFDUixPQUFPLEVBQUUsRUFBRTtZQUNYLEtBQUssRUFBRSxDQUFDO1lBQ1IsT0FBTyxFQUFFLEtBQUs7U0FDZCxDQUFDLENBQUM7UUFDSCxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xDLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwQyxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBSTNCLENBQUM7SUFFaEIsYUFBYSxDQUFDLFVBQW1CO1FBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxjQUFjLENBQUMsU0FBa0I7UUFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELGVBQWUsQ0FBQyxTQUFrQjtRQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsSUFBaUI7UUFDcEMsdU1BQXVNO1FBQ3ZNLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN0RyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxJQUFhO1FBQ2hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFhO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBYTtRQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsY0FBYyxDQUFDLEdBQUc7UUFDakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFNO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELGtCQUFrQixDQUFDLGVBQWU7UUFDakMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFPO1FBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxZQUFZLENBQUMsU0FBUztRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsY0FBYyxDQUFDLFdBQVc7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFlO1FBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFCLENBQUM7O3dHQXpGVyxXQUFXOzRHQUFYLFdBQVcsY0FGVixNQUFNOzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOYXZiYXJNb2RlbCB9IGZyb20gJy4vd2lkZ2V0cy9uYXZiYXItbW9kdWxlL25hdmJhci1tb2R1bGUubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb3JlU2VydmljZSB7XG4gIFx0aXNEZXZpY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblx0ZnVsbFNjcmVlbiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXHRmc0FjdGl2YXRlZCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXHRoYXNDb25uZWN0ZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblx0bmF2YmFyTW9kdWxlRGF0YSA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe1xuXHRcdHRpdGxlOiAnJyxcblx0XHRtb2R1bGU6ICcnLFxuXHRcdGRlc2NyaXB0aW9uOiAnJyxcblx0XHRkZXNjcmlwdGlvbl9uYW1lOiAnJyxcblx0XHR0YWJzOiBbXVxuXHR9KTtcblx0aGFzU3RhdHVzTWVzc2FnZSA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXHRhbGVydERhdGEgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHtcblx0XHR0eXBlOiAnJyxcblx0XHRtZXNzYWdlOiAnJyxcblx0XHR0aW1lcjogMCxcblx0XHRzaG93aW5nOiBmYWxzZVxuXHR9KTtcblx0aXNJbnZhbGlkU1cgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblx0ZW52aXJvbm1lbnQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuXHRjbGllbnQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCcnKTtcblx0c3RhbmRhcmRQcm9ncmFtID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cdG5hdlRhYnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcblx0dG91clN0b3BzID0gbmV3IEJlaGF2aW9yU3ViamVjdChbXSk7XG5cdHRvdXJTdGFydGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cdGlzRGVtbyA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXHRpc0xvZ2dpbmdPdXQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblx0Ly8gY3VzdG9tSG9tZVBhZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblx0Ly8gbG9nbyA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xuXG5cdGNvbnN0cnVjdG9yKCkge31cblxuXHRzZXRGdWxsU2NyZWVuKGZ1bGxTY3JlZW46IGJvb2xlYW4pIHtcblx0XHR0aGlzLmZ1bGxTY3JlZW4ubmV4dChmdWxsU2NyZWVuKTtcblx0fVxuXG5cdHNldEZzQWN0aXZhdGVkKGFjdGl2YXRlZDogYm9vbGVhbikge1xuXHRcdHRoaXMuZnNBY3RpdmF0ZWQubmV4dChhY3RpdmF0ZWQpO1xuXHR9XG5cblx0c2V0SGFzQ29ubmVjdGVkKGNvbm5lY3RlZDogYm9vbGVhbikge1xuXHRcdHRoaXMuaGFzQ29ubmVjdGVkLm5leHQoY29ubmVjdGVkKTtcblx0fVxuXG5cdHNldE5hdmJhck1vZHVsZURhdGEoZGF0YTogTmF2YmFyTW9kZWwpIHtcblx0XHQvLyBkYXRhLnRhYnMgPSBkYXRhLnRhYnMuZmlsdGVyKGEgPT4gYS5wYXJhbXMgPT09IG51bGwpLnNvcnQoKGEsIGIpID0+IGEubGFiZWwubG9jYWxlQ29tcGFyZShiLmxhYmVsKSkuY29uY2F0KGRhdGEudGFicy5maWx0ZXIoYSA9PiBhLnBhcmFtcyAhPT0gbnVsbCkuc29ydCgoYSwgYikgPT4gYS5sYWJlbC5sb2NhbGVDb21wYXJlKGIubGFiZWwpKSk7XG5cdFx0ZGF0YS50YWJzID0gZGF0YS50YWJzLmZpbHRlcihhID0+IGEucGFyYW1zID09PSBudWxsKS5jb25jYXQoZGF0YS50YWJzLmZpbHRlcihhID0+IGEucGFyYW1zICE9PSBudWxsKSk7XG5cdFx0dGhpcy5uYXZiYXJNb2R1bGVEYXRhLm5leHQoZGF0YSk7XG5cdH1cblxuXHRzZXRIYXNTdGF0dXNNZXNzYWdlKGRhdGE6IGJvb2xlYW4pIHtcblx0XHR0aGlzLmhhc1N0YXR1c01lc3NhZ2UubmV4dChkYXRhKTtcblx0fVxuXG5cdHNldElzRGV2aWNlKGRhdGE6IGJvb2xlYW4pIHtcblx0XHR0aGlzLmlzRGV2aWNlLm5leHQoZGF0YSk7XG5cdH1cblxuXHRzZXRJc0ludmFsaWRTVyhkYXRhOiBib29sZWFuKSB7XG5cdFx0dGhpcy5pc0ludmFsaWRTVy5uZXh0KGRhdGEpO1xuXHR9XG5cblx0c2V0RW52aXJvbm1lbnQoZW52KSB7XG5cdFx0dGhpcy5lbnZpcm9ubWVudC5uZXh0KGVudik7XG5cdH1cblxuXHRzZXRDbGllbnQoY2xpZW50KSB7XG5cdFx0dGhpcy5jbGllbnQubmV4dChjbGllbnQpO1xuXHR9XG5cblx0c2V0U3RhbmRhcmRQcm9ncmFtKHN0YW5kYXJkUHJvZ3JhbSkge1xuXHRcdHRoaXMuc3RhbmRhcmRQcm9ncmFtLm5leHQoc3RhbmRhcmRQcm9ncmFtKTtcblx0fVxuXG5cdHNldE5hdlRhYnMobmF2VGFicykge1xuXHRcdHRoaXMubmF2VGFicy5uZXh0KG5hdlRhYnMpO1xuXHR9XG5cblx0c2V0VG91clN0b3BzKHRvdXJTdG9wcykge1xuXHRcdHRoaXMudG91clN0b3BzLm5leHQodG91clN0b3BzKTtcblx0fVxuXG5cdHNldFRvdXJTdGFydGVkKHRvdXJTdGFydGVkKSB7XG5cdFx0dGhpcy50b3VyU3RhcnRlZC5uZXh0KHRvdXJTdGFydGVkKTtcblx0fVxuXHRcblx0c2V0RGVtbyhpc0RlbW86IGJvb2xlYW4pIHtcblx0XHR0aGlzLmlzRGVtby5uZXh0KGlzRGVtbyk7XG5cdH1cblxuXHQvLyBzZXRDdXN0b21Ib21lUGFnZShkYXRhOiBib29sZWFuKSB7XG5cdC8vIFx0dGhpcy5jdXN0b21Ib21lUGFnZS5uZXh0KGRhdGEpO1xuXHQvLyB9XG5cblx0Ly8gc2V0TG9nbyhsb2dvKSB7XG5cdC8vIFx0dGhpcy5sb2dvLm5leHQobG9nbyk7XG5cdC8vIH1cbn1cbiJdfQ==
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2NvcmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBTXZDLE1BQU0sT0FBTyxXQUFXO0lBNEJ2QiwrQ0FBK0M7SUFDL0Msa0NBQWtDO0lBRWxDO1FBOUJFLGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEMsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFDO1lBQ3RDLEtBQUssRUFBRSxFQUFFO1lBQ1QsTUFBTSxFQUFFLEVBQUU7WUFDVixXQUFXLEVBQUUsRUFBRTtZQUNmLGdCQUFnQixFQUFFLEVBQUU7WUFDcEIsSUFBSSxFQUFFLEVBQUU7U0FDUixDQUFDLENBQUM7UUFDSCxxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQUM7WUFDL0IsSUFBSSxFQUFFLEVBQUU7WUFDUixPQUFPLEVBQUUsRUFBRTtZQUNYLEtBQUssRUFBRSxDQUFDO1lBQ1IsT0FBTyxFQUFFLEtBQUs7U0FDZCxDQUFDLENBQUM7UUFDSCxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsV0FBTSxHQUFHLElB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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOYXZiYXJNb2RlbCB9IGZyb20gJy4vd2lkZ2V0cy9uYXZiYXItbW9kdWxlL25hdmJhci1tb2R1bGUubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb3JlU2VydmljZSB7XG4gIFx0aXNEZXZpY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblx0ZnVsbFNjcmVlbiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXHRmc0FjdGl2YXRlZCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXHRoYXNDb25uZWN0ZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblx0bmF2YmFyTW9kdWxlRGF0YSA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe1xuXHRcdHRpdGxlOiAnJyxcblx0XHRtb2R1bGU6ICcnLFxuXHRcdGRlc2NyaXB0aW9uOiAnJyxcblx0XHRkZXNjcmlwdGlvbl9uYW1lOiAnJyxcblx0XHR0YWJzOiBbXVxuXHR9KTtcblx0aGFzU3RhdHVzTWVzc2FnZSA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXHRhbGVydERhdGEgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHtcblx0XHR0eXBlOiAnJyxcblx0XHRtZXNzYWdlOiAnJyxcblx0XHR0aW1lcjogMCxcblx0XHRzaG93aW5nOiBmYWxzZVxuXHR9KTtcblx0aXNJbnZhbGlkU1cgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblx0ZW52aXJvbm1lbnQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuXHRjbGllbnQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KCcnKTtcblx0c3RhbmRhcmRQcm9ncmFtID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cdG5hdlRhYnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcblx0dG91clN0b3BzID0gbmV3IEJlaGF2aW9yU3ViamVjdChbXSk7XG5cdHRvdXJTdGFydGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cdGlzRGVtbyA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXHRpc0xvZ2dpbmdPdXQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblx0Ly8gY3VzdG9tSG9tZVBhZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblx0Ly8gbG9nbyA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xuXG5cdGNvbnN0cnVjdG9yKCkge31cblxuXHRzZXRGdWxsU2NyZWVuKGZ1bGxTY3JlZW46IGJvb2xlYW4pIHtcblx0XHR0aGlzLmZ1bGxTY3JlZW4ubmV4dChmdWxsU2NyZWVuKTtcblx0fVxuXG5cdHNldEZzQWN0aXZhdGVkKGFjdGl2YXRlZDogYm9vbGVhbikge1xuXHRcdHRoaXMuZnNBY3RpdmF0ZWQubmV4dChhY3RpdmF0ZWQpO1xuXHR9XG5cblx0c2V0SGFzQ29ubmVjdGVkKGNvbm5lY3RlZDogYm9vbGVhbikge1xuXHRcdHRoaXMuaGFzQ29ubmVjdGVkLm5leHQoY29ubmVjdGVkKTtcblx0fVxuXG5cdHNldE5hdmJhck1vZHVsZURhdGEoZGF0YTogTmF2YmFyTW9kZWwpIHtcblx0XHQvLyBkYXRhLnRhYnMgPSBkYXRhLnRhYnMuZmlsdGVyKGEgPT4gYS5wYXJhbXMgPT09IG51bGwpLnNvcnQoKGEsIGIpID0+IGEubGFiZWwubG9jYWxlQ29tcGFyZShiLmxhYmVsKSkuY29uY2F0KGRhdGEudGFicy5maWx0ZXIoYSA9PiBhLnBhcmFtcyAhPT0gbnVsbCkuc29ydCgoYSwgYikgPT4gYS5sYWJlbC5sb2NhbGVDb21wYXJlKGIubGFiZWwpKSk7XG5cdFx0ZGF0YS50YWJzID0gZGF0YS50YWJzLmZpbHRlcihhID0+IGEucGFyYW1zID09PSBudWxsKS5jb25jYXQoZGF0YS50YWJzLmZpbHRlcihhID0+IGEucGFyYW1zICE9PSBudWxsKSk7XG5cdFx0dGhpcy5uYXZiYXJNb2R1bGVEYXRhLm5leHQoZGF0YSk7XG5cdH1cblxuXHRzZXRIYXNTdGF0dXNNZXNzYWdlKGRhdGE6IGJvb2xlYW4pIHtcblx0XHR0aGlzLmhhc1N0YXR1c01lc3NhZ2UubmV4dChkYXRhKTtcblx0fVxuXG5cdHNldElzRGV2aWNlKGRhdGE6IGJvb2xlYW4pIHtcblx0XHR0aGlzLmlzRGV2aWNlLm5leHQoZGF0YSk7XG5cdH1cblxuXHRzZXRJc0ludmFsaWRTVyhkYXRhOiBib29sZWFuKSB7XG5cdFx0dGhpcy5pc0ludmFsaWRTVy5uZXh0KGRhdGEpO1xuXHR9XG5cblx0c2V0RW52aXJvbm1lbnQoZW52KSB7XG5cdFx0dGhpcy5lbnZpcm9ubWVudC5uZXh0KGVudik7XG5cdH1cblxuXHRzZXRDbGllbnQoY2xpZW50KSB7XG5cdFx0dGhpcy5jbGllbnQubmV4dChjbGllbnQpO1xuXHR9XG5cblx0c2V0U3RhbmRhcmRQcm9ncmFtKHN0YW5kYXJkUHJvZ3JhbSkge1xuXHRcdHRoaXMuc3RhbmRhcmRQcm9ncmFtLm5leHQoc3RhbmRhcmRQcm9ncmFtKTtcblx0fVxuXG5cdHNldE5hdlRhYnMobmF2VGFicykge1xuXHRcdHRoaXMubmF2VGFicy5uZXh0KG5hdlRhYnMpO1xuXHR9XG5cblx0c2V0VG91clN0b3BzKHRvdXJTdG9wcykge1xuXHRcdHRoaXMudG91clN0b3BzLm5leHQodG91clN0b3BzKTtcblx0fVxuXG5cdHNldFRvdXJTdGFydGVkKHRvdXJTdGFydGVkKSB7XG5cdFx0dGhpcy50b3VyU3RhcnRlZC5uZXh0KHRvdXJTdGFydGVkKTtcblx0fVxuXHRcblx0c2V0RGVtbyhpc0RlbW86IGJvb2xlYW4pIHtcblx0XHR0aGlzLmlzRGVtby5uZXh0KGlzRGVtbyk7XG5cdH1cblxuXHQvLyBzZXRDdXN0b21Ib21lUGFnZShkYXRhOiBib29sZWFuKSB7XG5cdC8vIFx0dGhpcy5jdXN0b21Ib21lUGFnZS5uZXh0KGRhdGEpO1xuXHQvLyB9XG5cblx0Ly8gc2V0TG9nbyhsb2dvKSB7XG5cdC8vIFx0dGhpcy5sb2dvLm5leHQobG9nbyk7XG5cdC8vIH1cbn1cbiJdfQ==
@@ -9,9 +9,9 @@ export class FocusDirective {
9
9
  this.element.nativeElement.focus();
10
10
  }
11
11
  }
12
- FocusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FocusDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
13
- FocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: FocusDirective, selector: "[focus]", inputs: { focus: "focus" }, usesOnChanges: true, ngImport: i0 });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FocusDirective, decorators: [{
12
+ FocusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FocusDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
13
+ FocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FocusDirective, selector: "[focus]", inputs: { focus: "focus" }, usesOnChanges: true, ngImport: i0 });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FocusDirective, decorators: [{
15
15
  type: Directive,
16
16
  args: [{
17
17
  selector: '[focus]'
@@ -19,4 +19,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
19
19
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { focus: [{
20
20
  type: Input
21
21
  }] } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvZGlyZWN0aXZlL2ZvY3VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLN0QsTUFBTSxPQUFPLGNBQWM7SUFJMUIsWUFBb0IsT0FBb0I7UUFBcEIsWUFBTyxHQUFQLE9BQU8sQ0FBYTtJQUN4QyxDQUFDO0lBRVMsV0FBVztRQUNwQixJQUFJLElBQUksQ0FBQyxLQUFLO1lBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckMsQ0FBQzs7MkdBVlcsY0FBYzsrRkFBZCxjQUFjOzJGQUFkLGNBQWM7a0JBSDFCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFHLFNBQVM7aUJBQ3BCO2lHQUdBLEtBQUs7c0JBREosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yIDogJ1tmb2N1c10nXG59KVxuZXhwb3J0IGNsYXNzIEZvY3VzRGlyZWN0aXZlIHtcblx0QElucHV0KClcblx0Zm9jdXMgOiBib29sZWFuO1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudCA6IEVsZW1lbnRSZWYpIHtcblx0fVxuXG5cdHByb3RlY3RlZCBuZ09uQ2hhbmdlcygpIHtcblx0XHRpZiAodGhpcy5mb2N1cylcblx0XHRcdHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cdH1cbn0iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvZGlyZWN0aXZlL2ZvY3VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLN0QsTUFBTSxPQUFPLGNBQWM7SUFJMUIsWUFBb0IsT0FBb0I7UUFBcEIsWUFBTyxHQUFQLE9BQU8sQ0FBYTtJQUN4QyxDQUFDO0lBRVMsV0FBVztRQUNwQixJQUFJLElBQUksQ0FBQyxLQUFLO1lBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckMsQ0FBQzs7NEdBVlcsY0FBYztnR0FBZCxjQUFjOzRGQUFkLGNBQWM7a0JBSDFCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFHLFNBQVM7aUJBQ3BCO2lHQUdBLEtBQUs7c0JBREosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yIDogJ1tmb2N1c10nXG59KVxuZXhwb3J0IGNsYXNzIEZvY3VzRGlyZWN0aXZlIHtcblx0QElucHV0KClcblx0Zm9jdXMgOiBib29sZWFuO1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudCA6IEVsZW1lbnRSZWYpIHtcblx0fVxuXG5cdHByb3RlY3RlZCBuZ09uQ2hhbmdlcygpIHtcblx0XHRpZiAodGhpcy5mb2N1cylcblx0XHRcdHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG5cdH1cbn0iXX0=
@@ -32,9 +32,9 @@ export class ScrollDirective {
32
32
  this.onScroll.emit(emitValue);
33
33
  }
34
34
  }
35
- ScrollDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ScrollDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
36
- ScrollDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: ScrollDirective, selector: "[detect-scroll]", inputs: { bottomOffset: "bottomOffset", topOffset: "topOffset" }, outputs: { onScroll: "onScroll" }, host: { listeners: { "scroll": "scrolled($event)", "window:scroll": "windowScrolled($event)" } }, ngImport: i0 });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ScrollDirective, decorators: [{
35
+ ScrollDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ScrollDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
36
+ ScrollDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ScrollDirective, selector: "[detect-scroll]", inputs: { bottomOffset: "bottomOffset", topOffset: "topOffset" }, outputs: { onScroll: "onScroll" }, host: { listeners: { "scroll": "scrolled($event)", "window:scroll": "windowScrolled($event)" } }, ngImport: i0 });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ScrollDirective, decorators: [{
38
38
  type: Directive,
39
39
  args: [{
40
40
  selector: '[detect-scroll]'
@@ -52,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
52
52
  type: HostListener,
53
53
  args: ['window:scroll', ['$event']]
54
54
  }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2RpcmVjdGl2ZS9zY3JvbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBY3JGLE1BQU0sT0FBTyxlQUFlO0lBS3hCO1FBSmlCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO1FBQzVDLGlCQUFZLEdBQVcsR0FBRyxDQUFDO1FBQzNCLGNBQVMsR0FBVyxHQUFHLENBQUM7SUFFeEIsQ0FBQztJQUVqQixxQkFBcUI7SUFDc0IsUUFBUSxDQUFDLE1BQWE7UUFDN0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCx1QkFBdUI7SUFDMkIsY0FBYyxDQUFDLE1BQWE7UUFDMUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxNQUFhO1FBQ3JDLE1BQU0sTUFBTSxHQUFhLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDdkMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUM7UUFDM0csTUFBTSxhQUFhLEdBQUcsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDakQsTUFBTSxnQkFBZ0IsR0FBRyxDQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUMsQ0FBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDN0csTUFBTSxTQUFTLEdBQWdCLEVBQUMsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBQyxDQUFDO1FBQzdHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFUyxrQkFBa0IsQ0FBQyxNQUFhO1FBQ3RDLE1BQU0sTUFBTSxHQUFnQixNQUFNLENBQUMsTUFBTSxDQUFDO1FBQzFDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUM5RCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBQ3pDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN4RCxNQUFNLGdCQUFnQixHQUFHLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDN0UsTUFBTSxTQUFTLEdBQWdCLEVBQUMsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBQyxDQUFDO1FBQzlHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OzRHQWxDUSxlQUFlO2dHQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFIM0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO2lCQUM5QjswRUFFb0IsUUFBUTtzQkFBeEIsTUFBTTtnQkFDUyxZQUFZO3NCQUEzQixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBS3FDLFFBQVE7c0JBQWxELFlBQVk7dUJBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUtnQixjQUFjO3NCQUEvRCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgU2Nyb2xsRXZlbnQgPSB7XG4gICAgaXNSZWFjaGluZ0JvdHRvbTogYm9vbGVhbixcbiAgICBpc1JlYWNoaW5nVG9wOiBib29sZWFuLFxuICAgIG9yaWdpbmFsRXZlbnQ6IEV2ZW50LFxuICAgIGlzV2luZG93RXZlbnQ6IGJvb2xlYW5cbn07XG5cbmRlY2xhcmUgY29uc3Qgd2luZG93OiBXaW5kb3c7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2RldGVjdC1zY3JvbGxdJ1xufSlcbmV4cG9ydCBjbGFzcyBTY3JvbGxEaXJlY3RpdmUge1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgb25TY3JvbGwgPSBuZXcgRXZlbnRFbWl0dGVyPFNjcm9sbEV2ZW50PigpO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBib3R0b21PZmZzZXQ6IG51bWJlciA9IDEwMDtcbiAgICBASW5wdXQoKSBwdWJsaWMgdG9wT2Zmc2V0OiBudW1iZXIgPSAxMDA7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gICAgLy8gaGFuZGxlIGhvc3Qgc2Nyb2xsXG4gICAgQEhvc3RMaXN0ZW5lcignc2Nyb2xsJywgWyckZXZlbnQnXSkgcHVibGljIHNjcm9sbGVkKCRldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50U2Nyb2xsRXZlbnQoJGV2ZW50KTtcbiAgICB9XG5cbiAgICAvLyBoYW5kbGUgd2luZG93IHNjcm9sbFxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnLCBbJyRldmVudCddKSBwdWJsaWMgd2luZG93U2Nyb2xsZWQoJGV2ZW50OiBFdmVudCkge1xuICAgICAgICB0aGlzLndpbmRvd1Njcm9sbEV2ZW50KCRldmVudCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHdpbmRvd1Njcm9sbEV2ZW50KCRldmVudDogRXZlbnQpIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gPERvY3VtZW50PiRldmVudC50YXJnZXQ7XG4gICAgICAgIGNvbnN0IHNjcm9sbFRvcCA9IHdpbmRvdy5wYWdlWU9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIHx8IDA7XG4gICAgICAgIGNvbnN0IGlzUmVhY2hpbmdUb3AgPSBzY3JvbGxUb3AgPCB0aGlzLnRvcE9mZnNldDtcbiAgICAgICAgY29uc3QgaXNSZWFjaGluZ0JvdHRvbSA9ICggdGFyZ2V0LmJvZHkub2Zmc2V0SGVpZ2h0IC0gKHdpbmRvdy5pbm5lckhlaWdodCArIHNjcm9sbFRvcCkgKSA8IHRoaXMuYm90dG9tT2Zmc2V0O1xuICAgICAgICBjb25zdCBlbWl0VmFsdWU6IFNjcm9sbEV2ZW50ID0ge2lzUmVhY2hpbmdCb3R0b20sIGlzUmVhY2hpbmdUb3AsIG9yaWdpbmFsRXZlbnQ6ICRldmVudCwgaXNXaW5kb3dFdmVudDogdHJ1ZX07XG4gICAgICAgIHRoaXMub25TY3JvbGwuZW1pdChlbWl0VmFsdWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBlbGVtZW50U2Nyb2xsRXZlbnQoJGV2ZW50OiBFdmVudCkge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSA8SFRNTEVsZW1lbnQ+JGV2ZW50LnRhcmdldDtcbiAgICAgICAgY29uc3Qgc2Nyb2xsUG9zaXRpb24gPSB0YXJnZXQuc2Nyb2xsSGVpZ2h0IC0gdGFyZ2V0LnNjcm9sbFRvcDtcbiAgICAgICAgY29uc3Qgb2Zmc2V0SGVpZ2h0ID0gdGFyZ2V0Lm9mZnNldEhlaWdodDtcbiAgICAgICAgY29uc3QgaXNSZWFjaGluZ1RvcCA9IHRhcmdldC5zY3JvbGxUb3AgPCB0aGlzLnRvcE9mZnNldDtcbiAgICAgICAgY29uc3QgaXNSZWFjaGluZ0JvdHRvbSA9IChzY3JvbGxQb3NpdGlvbiAtIG9mZnNldEhlaWdodCkgPCB0aGlzLmJvdHRvbU9mZnNldDtcbiAgICAgICAgY29uc3QgZW1pdFZhbHVlOiBTY3JvbGxFdmVudCA9IHtpc1JlYWNoaW5nQm90dG9tLCBpc1JlYWNoaW5nVG9wLCBvcmlnaW5hbEV2ZW50OiAkZXZlbnQsIGlzV2luZG93RXZlbnQ6IGZhbHNlfTtcbiAgICAgICAgdGhpcy5vblNjcm9sbC5lbWl0KGVtaXRWYWx1ZSk7XG4gICAgfVxuXG59Il19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2RpcmVjdGl2ZS9zY3JvbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBY3JGLE1BQU0sT0FBTyxlQUFlO0lBS3hCO1FBSmlCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO1FBQzVDLGlCQUFZLEdBQVcsR0FBRyxDQUFDO1FBQzNCLGNBQVMsR0FBVyxHQUFHLENBQUM7SUFFeEIsQ0FBQztJQUVqQixxQkFBcUI7SUFDc0IsUUFBUSxDQUFDLE1BQWE7UUFDN0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCx1QkFBdUI7SUFDMkIsY0FBYyxDQUFDLE1BQWE7UUFDMUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxNQUFhO1FBQ3JDLE1BQU0sTUFBTSxHQUFhLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDdkMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUM7UUFDM0csTUFBTSxhQUFhLEdBQUcsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDakQsTUFBTSxnQkFBZ0IsR0FBRyxDQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUMsQ0FBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDN0csTUFBTSxTQUFTLEdBQWdCLEVBQUMsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBQyxDQUFDO1FBQzdHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFUyxrQkFBa0IsQ0FBQyxNQUFhO1FBQ3RDLE1BQU0sTUFBTSxHQUFnQixNQUFNLENBQUMsTUFBTSxDQUFDO1FBQzFDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUM5RCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBQ3pDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN4RCxNQUFNLGdCQUFnQixHQUFHLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDN0UsTUFBTSxTQUFTLEdBQWdCLEVBQUMsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBQyxDQUFDO1FBQzlHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OzZHQWxDUSxlQUFlO2lHQUFmLGVBQWU7NEZBQWYsZUFBZTtrQkFIM0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO2lCQUM5QjswRUFFb0IsUUFBUTtzQkFBeEIsTUFBTTtnQkFDUyxZQUFZO3NCQUEzQixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBS3FDLFFBQVE7c0JBQWxELFlBQVk7dUJBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUtnQixjQUFjO3NCQUEvRCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgU2Nyb2xsRXZlbnQgPSB7XG4gICAgaXNSZWFjaGluZ0JvdHRvbTogYm9vbGVhbixcbiAgICBpc1JlYWNoaW5nVG9wOiBib29sZWFuLFxuICAgIG9yaWdpbmFsRXZlbnQ6IEV2ZW50LFxuICAgIGlzV2luZG93RXZlbnQ6IGJvb2xlYW5cbn07XG5cbmRlY2xhcmUgY29uc3Qgd2luZG93OiBXaW5kb3c7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2RldGVjdC1zY3JvbGxdJ1xufSlcbmV4cG9ydCBjbGFzcyBTY3JvbGxEaXJlY3RpdmUge1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgb25TY3JvbGwgPSBuZXcgRXZlbnRFbWl0dGVyPFNjcm9sbEV2ZW50PigpO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBib3R0b21PZmZzZXQ6IG51bWJlciA9IDEwMDtcbiAgICBASW5wdXQoKSBwdWJsaWMgdG9wT2Zmc2V0OiBudW1iZXIgPSAxMDA7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gICAgLy8gaGFuZGxlIGhvc3Qgc2Nyb2xsXG4gICAgQEhvc3RMaXN0ZW5lcignc2Nyb2xsJywgWyckZXZlbnQnXSkgcHVibGljIHNjcm9sbGVkKCRldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50U2Nyb2xsRXZlbnQoJGV2ZW50KTtcbiAgICB9XG5cbiAgICAvLyBoYW5kbGUgd2luZG93IHNjcm9sbFxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnLCBbJyRldmVudCddKSBwdWJsaWMgd2luZG93U2Nyb2xsZWQoJGV2ZW50OiBFdmVudCkge1xuICAgICAgICB0aGlzLndpbmRvd1Njcm9sbEV2ZW50KCRldmVudCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHdpbmRvd1Njcm9sbEV2ZW50KCRldmVudDogRXZlbnQpIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gPERvY3VtZW50PiRldmVudC50YXJnZXQ7XG4gICAgICAgIGNvbnN0IHNjcm9sbFRvcCA9IHdpbmRvdy5wYWdlWU9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIHx8IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIHx8IDA7XG4gICAgICAgIGNvbnN0IGlzUmVhY2hpbmdUb3AgPSBzY3JvbGxUb3AgPCB0aGlzLnRvcE9mZnNldDtcbiAgICAgICAgY29uc3QgaXNSZWFjaGluZ0JvdHRvbSA9ICggdGFyZ2V0LmJvZHkub2Zmc2V0SGVpZ2h0IC0gKHdpbmRvdy5pbm5lckhlaWdodCArIHNjcm9sbFRvcCkgKSA8IHRoaXMuYm90dG9tT2Zmc2V0O1xuICAgICAgICBjb25zdCBlbWl0VmFsdWU6IFNjcm9sbEV2ZW50ID0ge2lzUmVhY2hpbmdCb3R0b20sIGlzUmVhY2hpbmdUb3AsIG9yaWdpbmFsRXZlbnQ6ICRldmVudCwgaXNXaW5kb3dFdmVudDogdHJ1ZX07XG4gICAgICAgIHRoaXMub25TY3JvbGwuZW1pdChlbWl0VmFsdWUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBlbGVtZW50U2Nyb2xsRXZlbnQoJGV2ZW50OiBFdmVudCkge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSA8SFRNTEVsZW1lbnQ+JGV2ZW50LnRhcmdldDtcbiAgICAgICAgY29uc3Qgc2Nyb2xsUG9zaXRpb24gPSB0YXJnZXQuc2Nyb2xsSGVpZ2h0IC0gdGFyZ2V0LnNjcm9sbFRvcDtcbiAgICAgICAgY29uc3Qgb2Zmc2V0SGVpZ2h0ID0gdGFyZ2V0Lm9mZnNldEhlaWdodDtcbiAgICAgICAgY29uc3QgaXNSZWFjaGluZ1RvcCA9IHRhcmdldC5zY3JvbGxUb3AgPCB0aGlzLnRvcE9mZnNldDtcbiAgICAgICAgY29uc3QgaXNSZWFjaGluZ0JvdHRvbSA9IChzY3JvbGxQb3NpdGlvbiAtIG9mZnNldEhlaWdodCkgPCB0aGlzLmJvdHRvbU9mZnNldDtcbiAgICAgICAgY29uc3QgZW1pdFZhbHVlOiBTY3JvbGxFdmVudCA9IHtpc1JlYWNoaW5nQm90dG9tLCBpc1JlYWNoaW5nVG9wLCBvcmlnaW5hbEV2ZW50OiAkZXZlbnQsIGlzV2luZG93RXZlbnQ6IGZhbHNlfTtcbiAgICAgICAgdGhpcy5vblNjcm9sbC5lbWl0KGVtaXRWYWx1ZSk7XG4gICAgfVxuXG59Il19
@@ -68,10 +68,10 @@ export class HomeComponent extends BaseComponent {
68
68
  }
69
69
  }
70
70
  }
71
- HomeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HomeComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.AuthService }, { token: i3.ProviderService }, { token: i4.HttpClient }, { token: i5.CoreService }], target: i0.ɵɵFactoryTarget.Component });
72
- HomeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: HomeComponent, selector: "ng-component", providers: [ProviderService], usesInheritance: true, ngImport: i0, template: "<div style=\"height: 100%\">\n <div class=\"row\" style=\"margin-left: 0px; margin-right: 0px; height: 100%;\">\n <div class=\"col-lg-12\" style=\"height: 100%\">\n <div class=\"bg-light p-3\" style=\"height: 100%; padding-bottom: 0px;\">\n <div class=\"container text-center\" style=\"height: 100%\">\n <img src=\"/assets/images/ResolveIO.png\" class=\"img-fluid\" alt=\"Responsive image\" style=\"height: 100%; width: auto; max-width: 750px; max-height: 525px;\">\n <p style=\"font-size: 24px; font-style: italic\">The All-in-One Solution for Tracking Inventory, Ordering, POs, Management, and Much More!</p>\n </div>\n </div>\n </div>\n </div> \n</div>" });
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HomeComponent, decorators: [{
71
+ HomeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HomeComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.AuthService }, { token: i3.ProviderService }, { token: i4.HttpClient }, { token: i5.CoreService }], target: i0.ɵɵFactoryTarget.Component });
72
+ HomeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: HomeComponent, selector: "ng-component", providers: [ProviderService], usesInheritance: true, ngImport: i0, template: "<div style=\"height: 100%\">\n <div class=\"row\" style=\"margin-left: 0px; margin-right: 0px; height: 100%;\">\n <div class=\"col-lg-12\" style=\"height: 100%\">\n <div class=\"jumbotron jumbotron-fluid\" style=\"height: 100%; padding-bottom: 0px;\">\n <div class=\"container text-center\" style=\"height: 100%\">\n <img src=\"/assets/images/ResolveIO.png\" class=\"img-fluid\" alt=\"Responsive image\" style=\"height: 100%; width: auto; max-width: 750px; max-height: 525px;\">\n <p style=\"font-size: 24px; font-style: italic\">The All-in-One Solution for Tracking Inventory, Ordering, POs, Management, and Much More!</p>\n </div>\n </div>\n </div>\n </div> \n</div>" });
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HomeComponent, decorators: [{
74
74
  type: Component,
75
- args: [{ providers: [ProviderService], template: "<div style=\"height: 100%\">\n <div class=\"row\" style=\"margin-left: 0px; margin-right: 0px; height: 100%;\">\n <div class=\"col-lg-12\" style=\"height: 100%\">\n <div class=\"bg-light p-3\" style=\"height: 100%; padding-bottom: 0px;\">\n <div class=\"container text-center\" style=\"height: 100%\">\n <img src=\"/assets/images/ResolveIO.png\" class=\"img-fluid\" alt=\"Responsive image\" style=\"height: 100%; width: auto; max-width: 750px; max-height: 525px;\">\n <p style=\"font-size: 24px; font-style: italic\">The All-in-One Solution for Tracking Inventory, Ordering, POs, Management, and Much More!</p>\n </div>\n </div>\n </div>\n </div> \n</div>" }]
75
+ args: [{ providers: [ProviderService], template: "<div style=\"height: 100%\">\n <div class=\"row\" style=\"margin-left: 0px; margin-right: 0px; height: 100%;\">\n <div class=\"col-lg-12\" style=\"height: 100%\">\n <div class=\"jumbotron jumbotron-fluid\" style=\"height: 100%; padding-bottom: 0px;\">\n <div class=\"container text-center\" style=\"height: 100%\">\n <img src=\"/assets/images/ResolveIO.png\" class=\"img-fluid\" alt=\"Responsive image\" style=\"height: 100%; width: auto; max-width: 750px; max-height: 525px;\">\n <p style=\"font-size: 24px; font-style: italic\">The All-in-One Solution for Tracking Inventory, Ordering, POs, Management, and Much More!</p>\n </div>\n </div>\n </div>\n </div> \n</div>" }]
76
76
  }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.AuthService }, { type: i3.ProviderService }, { type: i4.HttpClient }, { type: i5.CoreService }]; } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvaG9tZS9ob21lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9ob21lL2hvbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVyxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUdwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7OztBQUs5QyxNQUFNLE9BQU8sYUFBYyxTQUFRLGFBQWE7SUFpQi9DLFlBQW9CLE1BQXNCLEVBQVUsSUFBaUIsRUFBVSxTQUEwQixFQUFVLEtBQWlCLEVBQVUsSUFBaUI7UUFDOUosS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBREUsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBYTtRQWhCL0osYUFBUSxHQUFnQjtZQUN2QixLQUFLLEVBQUUsTUFBTTtZQUNiLE1BQU0sRUFBRSxJQUFJO1lBQ1osV0FBVyxFQUFFLElBQUk7WUFDakIsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixJQUFJLEVBQUU7Z0JBQ0wsRUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBQzthQUNqRDtTQUNELENBQUM7UUFFRixxQkFBZ0IsR0FBRyxPQUFPLENBQUM7UUFDM0IsZ0JBQVcsR0FBaUIsSUFBSSxDQUFDO1FBQ2pDLGtCQUFhLEdBQWlCLElBQUksQ0FBQztJQU1uQyxDQUFDO0lBRUQsUUFBUTtRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV2RCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUNsRSxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNsQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUFFO29CQUN0QyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEtBQUssT0FBTyxFQUFFO3dCQUNuTCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO3FCQUMvRjt5QkFDSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxPQUFPLEVBQUU7d0JBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztxQkFDOUM7aUJBQ0Q7cUJBQ0k7b0JBQ0osSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO3dCQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO3FCQUNqQztvQkFFRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7d0JBQ2xFLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEtBQUssT0FBTyxFQUFFOzRCQUNwRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQzt5QkFDbEU7NkJBQ0ksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssT0FBTyxFQUFFOzRCQUNoRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7eUJBQzlDO29CQUNGLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztpQkFDYjthQUNEO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNWLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2pDO1FBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDL0I7SUFDRixDQUFDOzswR0EzRFcsYUFBYTs4RkFBYixhQUFhLHVDQUhkLENBQUMsZUFBZSxDQUFDLGlEQ1g3Qiwwd0JBV007MkZER08sYUFBYTtrQkFKekIsU0FBUztnQ0FDRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0ICB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2YmFyTW9kZWwgfSBmcm9tICcuLi93aWRnZXRzL25hdmJhci1tb2R1bGUvbmF2YmFyLW1vZHVsZS5tb2RlbCc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL2F1dGgvYXV0aC5zZXJ2aWNlJztcblxuaW1wb3J0IHsgUHJvdmlkZXJTZXJ2aWNlLCBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVzb2x2ZWlvLWNsYXNzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS5zZXJ2aWNlJztcbkBDb21wb25lbnQoe1xuXHRwcm92aWRlcnM6IFtQcm92aWRlclNlcnZpY2VdLFxuXHR0ZW1wbGF0ZVVybDogJy4vaG9tZS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSG9tZUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXHRtZW51RGF0YTogTmF2YmFyTW9kZWwgPSB7XG5cdFx0dGl0bGU6ICdIb21lJyxcblx0XHRtb2R1bGU6IG51bGwsXG5cdFx0ZGVzY3JpcHRpb246IG51bGwsXG5cdFx0ZGVzY3JpcHRpb25fbmFtZTogbnVsbCxcblx0XHR0YWJzOiBbXG5cdFx0XHR7J2xpbmsnOiAnaG9tZScsICdwYXJhbXMnOiBudWxsLCAnbGFiZWwnOiAnSG9tZSd9XG5cdFx0XVxuXHR9O1xuXG5cdHNlbGVjdGVkU29sdXRpb24gPSAnQXNzZXQnO1xuXHRsb2dnaW5nT3V0JDogU3Vic2NyaXB0aW9uID0gbnVsbDtcblx0c3Vic2NyaXB0aW9uJDogU3Vic2NyaXB0aW9uID0gbnVsbDtcblx0aXNMb2dnZWRJbjogYm9vbGVhbjtcblx0Zm9ybTogRm9ybUdyb3VwO1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgX3JvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgcHJpdmF0ZSBhdXRoOiBBdXRoU2VydmljZSwgcHJpdmF0ZSBfc2VydmljZXM6IFByb3ZpZGVyU2VydmljZSwgcHJpdmF0ZSBfaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBfYXBwOiBDb3JlU2VydmljZSkge1xuXHRcdHN1cGVyKF9zZXJ2aWNlcyk7XG5cdH1cblxuXHRuZ09uSW5pdCgpIHtcblx0XHR0aGlzLl9zZXJ2aWNlcy5fYXBwLnNldE5hdmJhck1vZHVsZURhdGEodGhpcy5tZW51RGF0YSk7XG5cblx0XHR0aGlzLmxvZ2dpbmdPdXQkID0gdGhpcy5fYXBwLmlzTG9nZ2luZ091dC5zdWJzY3JpYmUoaXNMb2dnaW5nT3V0ID0+IHtcblx0XHRcdGlmICghaXNMb2dnaW5nT3V0KSB7XG5cdFx0XHRcdGlmICh0aGlzLl9zZXJ2aWNlcy5fYWNjb3VudC5nZXRVc2VyKCkpIHtcblx0XHRcdFx0XHRpZiAodGhpcy5fc2VydmljZXMuX2FjY291bnQuZ2V0VXNlcigpLnNldHRpbmdzICYmIHRoaXMuX3NlcnZpY2VzLl9hY2NvdW50LmdldFVzZXIoKS5zZXR0aW5ncy5vcGVuaW5nX3JvdXRlICYmIHRoaXMuX3NlcnZpY2VzLl9hY2NvdW50LmdldFVzZXIoKS5zZXR0aW5ncy5vcGVuaW5nX3JvdXRlICE9PSAnL2hvbWUnKSB7XG5cdFx0XHRcdFx0XHR0aGlzLl9zZXJ2aWNlcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy5fc2VydmljZXMuX2FjY291bnQuZ2V0VXNlcigpLnNldHRpbmdzLm9wZW5pbmdfcm91dGUpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRlbHNlIGlmICh0aGlzLl9zZXJ2aWNlcy5fcm91dGVyLnVybCAhPT0gJy9ob21lJykge1xuXHRcdFx0XHRcdFx0dGhpcy5fc2VydmljZXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvaG9tZScpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRlbHNlIHtcblx0XHRcdFx0XHRpZiAodGhpcy5zdWJzY3JpcHRpb24kKSB7XG5cdFx0XHRcdFx0XHR0aGlzLnN1YnNjcmlwdGlvbiQudW5zdWJzY3JpYmUoKTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHR0aGlzLnN1YnNjcmlwdGlvbiQgPSB0aGlzLl9zZXJ2aWNlcy5fYWNjb3VudC51c2VyLnN1YnNjcmliZSh1c2VyID0+IHtcblx0XHRcdFx0XHRcdGlmICh1c2VyICYmIHVzZXIuc2V0dGluZ3MgJiYgdXNlci5zZXR0aW5ncy5vcGVuaW5nX3JvdXRlICYmIHVzZXIuc2V0dGluZ3Mub3BlbmluZ19yb3V0ZSAhPT0gJy9ob21lJykge1xuXHRcdFx0XHRcdFx0XHR0aGlzLl9zZXJ2aWNlcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwodXNlci5zZXR0aW5ncy5vcGVuaW5nX3JvdXRlKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGVsc2UgaWYgKHRoaXMuX3NlcnZpY2VzLl9yb3V0ZXIudXJsICE9PSAnL2hvbWUnKSB7XG5cdFx0XHRcdFx0XHRcdHRoaXMuX3NlcnZpY2VzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2hvbWUnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9LCAoKSA9PiB7fSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCkge1xuXHRcdGlmICh0aGlzLnN1YnNjcmlwdGlvbiQpIHtcblx0XHRcdHRoaXMuc3Vic2NyaXB0aW9uJC51bnN1YnNjcmliZSgpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5sb2dnaW5nT3V0JCkge1xuXHRcdFx0dGhpcy5sb2dnaW5nT3V0JC51bnN1YnNjcmliZSgpO1xuXHRcdH1cblx0fVxufVxuIiwiPGRpdiBzdHlsZT1cImhlaWdodDogMTAwJVwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAwcHg7IG1hcmdpbi1yaWdodDogMHB4OyBoZWlnaHQ6IDEwMCU7XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTJcIiBzdHlsZT1cImhlaWdodDogMTAwJVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJnLWxpZ2h0IHAtM1wiIHN0eWxlPVwiaGVpZ2h0OiAxMDAlOyBwYWRkaW5nLWJvdHRvbTogMHB4O1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXIgdGV4dC1jZW50ZXJcIiBzdHlsZT1cImhlaWdodDogMTAwJVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIi9hc3NldHMvaW1hZ2VzL1Jlc29sdmVJTy5wbmdcIiBjbGFzcz1cImltZy1mbHVpZFwiIGFsdD1cIlJlc3BvbnNpdmUgaW1hZ2VcIiBzdHlsZT1cImhlaWdodDogMTAwJTsgd2lkdGg6IGF1dG87IG1heC13aWR0aDogNzUwcHg7IG1heC1oZWlnaHQ6IDUyNXB4O1wiPlxuICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT1cImZvbnQtc2l6ZTogMjRweDsgZm9udC1zdHlsZTogaXRhbGljXCI+VGhlIEFsbC1pbi1PbmUgU29sdXRpb24gZm9yIFRyYWNraW5nIEludmVudG9yeSwgT3JkZXJpbmcsIFBPcywgTWFuYWdlbWVudCwgYW5kIE11Y2ggTW9yZSE8L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+ICAgICAgICAgICAgXG48L2Rpdj4iXX0=
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvaG9tZS9ob21lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9ob21lL2hvbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVyxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUdwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7OztBQUs5QyxNQUFNLE9BQU8sYUFBYyxTQUFRLGFBQWE7SUFpQi9DLFlBQW9CLE1BQXNCLEVBQVUsSUFBaUIsRUFBVSxTQUEwQixFQUFVLEtBQWlCLEVBQVUsSUFBaUI7UUFDOUosS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBREUsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBYTtRQWhCL0osYUFBUSxHQUFnQjtZQUN2QixLQUFLLEVBQUUsTUFBTTtZQUNiLE1BQU0sRUFBRSxJQUFJO1lBQ1osV0FBVyxFQUFFLElBQUk7WUFDakIsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixJQUFJLEVBQUU7Z0JBQ0wsRUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBQzthQUNqRDtTQUNELENBQUM7UUFFRixxQkFBZ0IsR0FBRyxPQUFPLENBQUM7UUFDM0IsZ0JBQVcsR0FBaUIsSUFBSSxDQUFDO1FBQ2pDLGtCQUFhLEdBQWlCLElBQUksQ0FBQztJQU1uQyxDQUFDO0lBRUQsUUFBUTtRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV2RCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUNsRSxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNsQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUFFO29CQUN0QyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEtBQUssT0FBTyxFQUFFO3dCQUNuTCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO3FCQUMvRjt5QkFDSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxPQUFPLEVBQUU7d0JBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztxQkFDOUM7aUJBQ0Q7cUJBQ0k7b0JBQ0osSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO3dCQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO3FCQUNqQztvQkFFRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7d0JBQ2xFLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEtBQUssT0FBTyxFQUFFOzRCQUNwRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQzt5QkFDbEU7NkJBQ0ksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssT0FBTyxFQUFFOzRCQUNoRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7eUJBQzlDO29CQUNGLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztpQkFDYjthQUNEO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNWLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2pDO1FBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDL0I7SUFDRixDQUFDOzsyR0EzRFcsYUFBYTsrRkFBYixhQUFhLHVDQUhkLENBQUMsZUFBZSxDQUFDLGlEQ1g3Qix1eEJBV007NEZER08sYUFBYTtrQkFKekIsU0FBUztnQ0FDRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0ICB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2YmFyTW9kZWwgfSBmcm9tICcuLi93aWRnZXRzL25hdmJhci1tb2R1bGUvbmF2YmFyLW1vZHVsZS5tb2RlbCc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL2F1dGgvYXV0aC5zZXJ2aWNlJztcblxuaW1wb3J0IHsgUHJvdmlkZXJTZXJ2aWNlLCBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVzb2x2ZWlvLWNsYXNzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS5zZXJ2aWNlJztcbkBDb21wb25lbnQoe1xuXHRwcm92aWRlcnM6IFtQcm92aWRlclNlcnZpY2VdLFxuXHR0ZW1wbGF0ZVVybDogJy4vaG9tZS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSG9tZUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXHRtZW51RGF0YTogTmF2YmFyTW9kZWwgPSB7XG5cdFx0dGl0bGU6ICdIb21lJyxcblx0XHRtb2R1bGU6IG51bGwsXG5cdFx0ZGVzY3JpcHRpb246IG51bGwsXG5cdFx0ZGVzY3JpcHRpb25fbmFtZTogbnVsbCxcblx0XHR0YWJzOiBbXG5cdFx0XHR7J2xpbmsnOiAnaG9tZScsICdwYXJhbXMnOiBudWxsLCAnbGFiZWwnOiAnSG9tZSd9XG5cdFx0XVxuXHR9O1xuXG5cdHNlbGVjdGVkU29sdXRpb24gPSAnQXNzZXQnO1xuXHRsb2dnaW5nT3V0JDogU3Vic2NyaXB0aW9uID0gbnVsbDtcblx0c3Vic2NyaXB0aW9uJDogU3Vic2NyaXB0aW9uID0gbnVsbDtcblx0aXNMb2dnZWRJbjogYm9vbGVhbjtcblx0Zm9ybTogRm9ybUdyb3VwO1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgX3JvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgcHJpdmF0ZSBhdXRoOiBBdXRoU2VydmljZSwgcHJpdmF0ZSBfc2VydmljZXM6IFByb3ZpZGVyU2VydmljZSwgcHJpdmF0ZSBfaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBfYXBwOiBDb3JlU2VydmljZSkge1xuXHRcdHN1cGVyKF9zZXJ2aWNlcyk7XG5cdH1cblxuXHRuZ09uSW5pdCgpIHtcblx0XHR0aGlzLl9zZXJ2aWNlcy5fYXBwLnNldE5hdmJhck1vZHVsZURhdGEodGhpcy5tZW51RGF0YSk7XG5cblx0XHR0aGlzLmxvZ2dpbmdPdXQkID0gdGhpcy5fYXBwLmlzTG9nZ2luZ091dC5zdWJzY3JpYmUoaXNMb2dnaW5nT3V0ID0+IHtcblx0XHRcdGlmICghaXNMb2dnaW5nT3V0KSB7XG5cdFx0XHRcdGlmICh0aGlzLl9zZXJ2aWNlcy5fYWNjb3VudC5nZXRVc2VyKCkpIHtcblx0XHRcdFx0XHRpZiAodGhpcy5fc2VydmljZXMuX2FjY291bnQuZ2V0VXNlcigpLnNldHRpbmdzICYmIHRoaXMuX3NlcnZpY2VzLl9hY2NvdW50LmdldFVzZXIoKS5zZXR0aW5ncy5vcGVuaW5nX3JvdXRlICYmIHRoaXMuX3NlcnZpY2VzLl9hY2NvdW50LmdldFVzZXIoKS5zZXR0aW5ncy5vcGVuaW5nX3JvdXRlICE9PSAnL2hvbWUnKSB7XG5cdFx0XHRcdFx0XHR0aGlzLl9zZXJ2aWNlcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy5fc2VydmljZXMuX2FjY291bnQuZ2V0VXNlcigpLnNldHRpbmdzLm9wZW5pbmdfcm91dGUpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRlbHNlIGlmICh0aGlzLl9zZXJ2aWNlcy5fcm91dGVyLnVybCAhPT0gJy9ob21lJykge1xuXHRcdFx0XHRcdFx0dGhpcy5fc2VydmljZXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvaG9tZScpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRlbHNlIHtcblx0XHRcdFx0XHRpZiAodGhpcy5zdWJzY3JpcHRpb24kKSB7XG5cdFx0XHRcdFx0XHR0aGlzLnN1YnNjcmlwdGlvbiQudW5zdWJzY3JpYmUoKTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHR0aGlzLnN1YnNjcmlwdGlvbiQgPSB0aGlzLl9zZXJ2aWNlcy5fYWNjb3VudC51c2VyLnN1YnNjcmliZSh1c2VyID0+IHtcblx0XHRcdFx0XHRcdGlmICh1c2VyICYmIHVzZXIuc2V0dGluZ3MgJiYgdXNlci5zZXR0aW5ncy5vcGVuaW5nX3JvdXRlICYmIHVzZXIuc2V0dGluZ3Mub3BlbmluZ19yb3V0ZSAhPT0gJy9ob21lJykge1xuXHRcdFx0XHRcdFx0XHR0aGlzLl9zZXJ2aWNlcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwodXNlci5zZXR0aW5ncy5vcGVuaW5nX3JvdXRlKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGVsc2UgaWYgKHRoaXMuX3NlcnZpY2VzLl9yb3V0ZXIudXJsICE9PSAnL2hvbWUnKSB7XG5cdFx0XHRcdFx0XHRcdHRoaXMuX3NlcnZpY2VzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2hvbWUnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9LCAoKSA9PiB7fSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCkge1xuXHRcdGlmICh0aGlzLnN1YnNjcmlwdGlvbiQpIHtcblx0XHRcdHRoaXMuc3Vic2NyaXB0aW9uJC51bnN1YnNjcmliZSgpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5sb2dnaW5nT3V0JCkge1xuXHRcdFx0dGhpcy5sb2dnaW5nT3V0JC51bnN1YnNjcmliZSgpO1xuXHRcdH1cblx0fVxufVxuIiwiPGRpdiBzdHlsZT1cImhlaWdodDogMTAwJVwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAwcHg7IG1hcmdpbi1yaWdodDogMHB4OyBoZWlnaHQ6IDEwMCU7XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTJcIiBzdHlsZT1cImhlaWdodDogMTAwJVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImp1bWJvdHJvbiBqdW1ib3Ryb24tZmx1aWRcIiBzdHlsZT1cImhlaWdodDogMTAwJTsgcGFkZGluZy1ib3R0b206IDBweDtcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyIHRleHQtY2VudGVyXCIgc3R5bGU9XCJoZWlnaHQ6IDEwMCVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCIvYXNzZXRzL2ltYWdlcy9SZXNvbHZlSU8ucG5nXCIgY2xhc3M9XCJpbWctZmx1aWRcIiBhbHQ9XCJSZXNwb25zaXZlIGltYWdlXCIgc3R5bGU9XCJoZWlnaHQ6IDEwMCU7IHdpZHRoOiBhdXRvOyBtYXgtd2lkdGg6IDc1MHB4OyBtYXgtaGVpZ2h0OiA1MjVweDtcIj5cbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9XCJmb250LXNpemU6IDI0cHg7IGZvbnQtc3R5bGU6IGl0YWxpY1wiPlRoZSBBbGwtaW4tT25lIFNvbHV0aW9uIGZvciBUcmFja2luZyBJbnZlbnRvcnksIE9yZGVyaW5nLCBQT3MsIE1hbmFnZW1lbnQsIGFuZCBNdWNoIE1vcmUhPC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PiAgICAgICAgICAgIFxuPC9kaXY+Il19
@@ -211,10 +211,10 @@ export class LoggerComponent extends BaseComponent {
211
211
  }, () => { });
212
212
  }
213
213
  }
214
- LoggerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LoggerComponent, deps: [{ token: i1.ProviderService }, { token: i2.DialogService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
215
- LoggerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: LoggerComponent, selector: "ng-component", providers: [ProviderService], usesInheritance: true, ngImport: i0, template: "<style>\n\t.label-accordion {\n\t\tfont-weight: bold;\n\t\tcolor: black;\n\t\tmargin-bottom: 0px;\n\t}\n\tngb-accordion {\n\t\twidth: 100%;\n\t}\n\t.hoverThis:hover {\n\t\tbackground: lightblue;\n\t\tcursor: pointer;\n\t}\n\t\n\t.fa-plus {\n\t\tcolor: black;\n\t}\n\t.fa-minus {\n\t\tcolor: black;\n\t}\n\t\n\t.selected {\n\t\tbackground-color: orange;\n\t}\n\t.selected:hover {\n\t\tcursor: pointer;\n\t}\n\t.card {\n\t\twidth: 100%;\n\t}\n</style>\n\n<div class=\"row\">\n\t<div class=\"col-lg-12\">\n\t\t<div class=\"card\">\n\t\t\t<div class=\"card-header\"><b>Filters</b></div>\n\t\t\t<div class=\"card-body\">\n\t\t\t\t<div class=\"row\">\n\t\t\t\t\t<div class=\"col-lg-12\">\n\t\t\t\t\t\t<responsive-button-group collapseSize=\"900\">\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('error') && selectedTypes.includes('document') && selectedTypes.includes('query') && selectedTypes.includes('client-request') && selectedTypes.includes('client-response') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('all')\">All</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('error') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('error')\">Errors</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('document') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('document')\">Document</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('query') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('query')\">Query</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('queryResponse') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('queryResponse')\">Query Response</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('client-request') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('client-request')\">Client Requests</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('client-response') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('client-response')\">Client Responses</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('callMethodInternal') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('callMethodInternal')\">Call Method Internal</button>\n\t\t\t\t\t\t\t<button type=\"button\" class=\"btn btn-danger\" (click)=\"removeAllLogs()\">REMOVE ALL LOGS</button>\n\t\t\t\t\t\t</responsive-button-group>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"row\" style=\"margin-top: 10px;\">\n\t\t\t\t\t<div class=\"col-lg-2\">\n\t\t\t\t\t\t<label class=\"form-control-label\">User</label>\n\t\t\t\t\t\t<ng-select [(ngModel)]=\"user\" (change)=\"getLogData()\" placeholder=\"Select User\">\n\t\t\t\t\t\t\t<ng-option *ngFor=\"let user of users\" [value]=\"user.fullname\">{{user.fullname}}</ng-option>\n\t\t\t\t\t\t</ng-select>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-2\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Collection</label>\n\t\t\t\t\t\t<input class=\"form-control\" [(ngModel)]=\"collection\" (change)=\"getLogData()\" placeholder=\"Input Colls Sep By , & ! for !Not\">\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-2\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Method</label>\n\t\t\t\t\t\t<input class=\"form-control\" [(ngModel)]=\"method\" (change)=\"getLogData()\" placeholder=\"Input Methods Sep By , & ! for !Not\">\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-2\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Route</label>\n\t\t\t\t\t\t<input class=\"form-control\" [(ngModel)]=\"route\" (change)=\"getLogData()\" placeholder=\"Input Routes Sep By , & ! for !Not\">\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-2\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Document</label>\n\t\t\t\t\t\t<input class=\"form-control\" [(ngModel)]=\"id_document\" (change)=\"getLogData()\" placeholder=\"Input Ids Sep By , & ! for !Not\">\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"row\" style=\"margin-top: 10px;\">\n\t\t\t\t\t<div class=\"col-lg-3\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Date Start</label>\n\t\t\t\t\t\t<div class=\"input-group\">\n\t\t\t\t\t\t\t<input class=\"form-control\" [(ngModel)]=\"dateStartElem\" ngbDatepicker #dStart=\"ngbDatepicker\" (change)=\"getLogData()\">\n\t\t\t\t\t\t\t<div class=\"input-group-text\" (click)=\"dStart.toggle()\">\n\t\t\t\t\t\t\t\t<i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-3\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Time Start</label>\n\t\t\t\t\t\t<ngb-timepicker [(ngModel)]=\"timeStartElem\" meridian=\"ON\" [seconds]=\"true\" (change)=\"getLogData()\"></ngb-timepicker>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-3\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Date End</label>\n\t\t\t\t\t\t<div class=\"input-group\">\n\t\t\t\t\t\t\t<input class=\"form-control\" [(ngModel)]=\"dateEndElem\" ngbDatepicker #dEnd=\"ngbDatepicker\" (change)=\"getLogData()\">\n\t\t\t\t\t\t\t<div class=\"input-group-text\" (click)=\"dEnd.toggle()\">\n\t\t\t\t\t\t\t\t<i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-3\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Time End</label><br>\n\t\t\t\t\t\t<ngb-timepicker [(ngModel)]=\"timeEndElem\" meridian=\"ON\" [seconds]=\"true\" (change)=\"getLogData()\"></ngb-timepicker>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n<div class=\"row\">\n\t<div class=\"col-lg-8\">\n\t\t<label class=\"form-control-label\">Entries Per Page</label>\n\t\t<select class=\"form-control\" [(ngModel)]=\"entries_per_page\" (change)=\"getLogData()\">\n\t\t\t<option value=\"10\">10</option>\n\t\t\t<option value=\"25\">25</option>\n\t\t\t<option value=\"50\">50</option>\n\t\t\t<option value=\"100\">100</option>\n\t\t\t<option value=\"250\">250</option>\n\t\t\t<option value=\"500\">500</option>\n\t\t\t<option value=\"1000\">1000</option>\n\t\t\t<option value=\"5000\">5000</option>\n\t\t</select>\n\t</div>\n\t<div class=\"col-lg-4\">\n\t\t<ngb-pagination class=\"float-right\"\n\t\tboundaryLinks=\"true\"\n\t\t[collectionSize]=\"log_cnt\"\n\t\tdirectionLinks=\"true\"\n\t\tellipses=\"false\"\n\t\t[(page)]=\"page_num\"\n\t\tmaxSize=\"6\"\n\t\t[pageSize]=\"entries_per_page\"\n\t\trotate=\"true\"\n\t\t(pageChange)=\"getLogData()\"\n\t\t>\n\t\t</ngb-pagination>\n\t</div>\n</div>\n<div class=\"row\" style=\"margin-top: 10px\">\n\t<ngb-accordion #acc=\"ngbAccordion\" activeIds=\"\">\n\t\t<ngb-panel *ngFor=\"let log of logs; let i = index\" [id]=\"'log_' + i\">\n\t\t\t<ng-template ngbPanelTitle>\n\t\t\t\t<div> \n\t\t\t\t\t<label class=\"label-accordion\" style=\"width: 90%; height: 22px\">\n\t\t\t\t\t\t<strong class=\"pull-left\">Type: {{ log.type }}{{log.method ? ' - Method: ' + log.method : '' }}{{log.collection ? ' - Collection: ' + log.collection : '' }}{{log.user ? ' - User: ' + log.user : '' }}{{log.route ? ' - Route: ' + log.route : '' }}{{log.id_document ? ' - id_document: ' + log.id_document : '' }}{{log.messageId ? ' - messageId: ' + log.messageId : '' }}</strong>\n\t\t\t\t\t\t<p class=\"pull-right\">{{ log.createdAt | date : 'medium' }}</p>\n\t\t\t\t\t</label>\n\t\t\t\t\t<i *ngIf=\"!acc.activeIds.includes('log_' + i)\" class=\"fa fa-plus pull-right\" aria-hidden=\"true\"></i>\n\t\t\t\t\t<i *ngIf=\"acc.activeIds.includes('log_' + i)\" class=\"fa fa-minus pull-right\" aria-hidden=\"true\"></i>\n\t\t\t\t</div>\n\t\t\t</ng-template>\n\t\t\t<ng-template ngbPanelContent>\n\t\t\t\t<div *ngIf=\"log.payload\">\n\t\t\t\t\t<pre>{{ log.payload | jsonParse }}</pre>\n\t\t\t\t</div>\n\t\t\t\t<div *ngIf=\"!log.payload\">\n\t\t\t\t\tNo Data\n\t\t\t\t</div>\n\t\t\t</ng-template>\n\t\t</ngb-panel>\n\t</ngb-accordion>\n</div>\n<div class=\"row\" style=\"margin-top: 10px\">\n\t<div class=\"col-lg-4\">\n\t\t<div class=\"row\"> \n\t\t\t<div class=\"col-lg-8\">\n\t\t\t\t<label class=\"form-control-label\">Entries Per Page</label>\n\t\t\t\t<select class=\"form-control\" [(ngModel)]=\"entries_per_page\" (change)=\"getLogData()\">\n\t\t\t\t\t<option value=\"10\">10</option>\n\t\t\t\t\t<option value=\"25\">25</option>\n\t\t\t\t\t<option value=\"50\">50</option>\n\t\t\t\t\t<option value=\"100\">100</option>\n\t\t\t\t\t<option value=\"250\">250</option>\n\t\t\t\t\t<option value=\"500\">500</option>\n\t\t\t\t\t<option value=\"1000\">1000</option>\n\t\t\t\t\t<option value=\"5000\">5000</option>\n\t\t\t\t</select>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"col-lg-8\">\n\t\t<ngb-pagination class=\"float-right\"\n\t\tboundaryLinks=\"true\"\n\t\t[collectionSize]=\"log_cnt\"\n\t\tdirectionLinks=\"true\"\n\t\tellipses=\"false\"\n\t\t[(page)]=\"page_num\"\n\t\tmaxSize=\"6\"\n\t\t[pageSize]=\"entries_per_page\"\n\t\trotate=\"true\"\n\t\t(pageChange)=\"getLogData()\"\n\t\t>\n\t\t</ngb-pagination>\n\t</div>\n</div>", styles: ["\n\t.label-accordion {\n\t\tfont-weight: bold;\n\t\tcolor: black;\n\t\tmargin-bottom: 0px;\n\t}\n\tngb-accordion {\n\t\twidth: 100%;\n\t}\n\t.hoverThis:hover {\n\t\tbackground: lightblue;\n\t\tcursor: pointer;\n\t}\n\t\n\t.fa-plus {\n\t\tcolor: black;\n\t}\n\t.fa-minus {\n\t\tcolor: black;\n\t}\n\t\n\t.selected {\n\t\tbackground-color: orange;\n\t}\n\t.selected:hover {\n\t\tcursor: pointer;\n\t}\n\t.card {\n\t\twidth: 100%;\n\t}\n"], dependencies: [{ kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.NgbAccordion, selector: "ngb-accordion", inputs: ["animation", "activeIds", "closeOthers", "destroyOnHide", "type"], outputs: ["panelChange", "shown", "hidden"], exportAs: ["ngbAccordion"] }, { kind: "directive", type: i4.NgbPanel, selector: "ngb-panel", inputs: ["disabled", "id", "title", "type", "cardClass"], outputs: ["shown", "hidden"] }, { kind: "directive", type: i4.NgbPanelTitle, selector: "ng-template[ngbPanelTitle]" }, { kind: "directive", type: i4.NgbPanelContent, selector: "ng-template[ngbPanelContent]" }, { kind: "directive", type: i4.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "popperOptions", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { kind: "component", type: i4.NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }, { kind: "component", type: i4.NgbTimepicker, selector: "ngb-timepicker", inputs: ["meridian", "spinners", "seconds", "hourStep", "minuteStep", "secondStep", "readonlyInputs", "size"], exportAs: ["ngbTimepicker"] }, { kind: "component", type: i5.ResponsiveButtonGroupComponent, selector: "responsive-button-group", inputs: ["collapseSize"] }, { kind: "component", type: i6.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "component", type: i6.NgOptionComponent, selector: "ng-option", inputs: ["value", "disabled"] }, { kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i8.JsonParsePipe, name: "jsonParse" }, { kind: "pipe", type: i7.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
216
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: LoggerComponent, decorators: [{
214
+ LoggerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LoggerComponent, deps: [{ token: i1.ProviderService }, { token: i2.DialogService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
215
+ LoggerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: LoggerComponent, selector: "ng-component", providers: [ProviderService], usesInheritance: true, ngImport: i0, template: "<style>\n\t.label-accordion {\n\t\tfont-weight: bold;\n\t\tcolor: black;\n\t\tmargin-bottom: 0px;\n\t}\n\tngb-accordion {\n\t\twidth: 100%;\n\t}\n\t.hoverThis:hover {\n\t\tbackground: lightblue;\n\t\tcursor: pointer;\n\t}\n\t\n\t.fa-plus {\n\t\tcolor: black;\n\t}\n\t.fa-minus {\n\t\tcolor: black;\n\t}\n\t\n\t.selected {\n\t\tbackground-color: orange;\n\t}\n\t.selected:hover {\n\t\tcursor: pointer;\n\t}\n\t.card {\n\t\twidth: 100%;\n\t}\n</style>\n\n<div class=\"row\">\n\t<div class=\"col-lg-12\">\n\t\t<div class=\"card\">\n\t\t\t<div class=\"card-header\"><b>Filters</b></div>\n\t\t\t<div class=\"card-body\">\n\t\t\t\t<div class=\"row\">\n\t\t\t\t\t<div class=\"col-lg-12\">\n\t\t\t\t\t\t<responsive-button-group collapseSize=\"900\">\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('error') && selectedTypes.includes('document') && selectedTypes.includes('query') && selectedTypes.includes('client-request') && selectedTypes.includes('client-response') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('all')\">All</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('error') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('error')\">Errors</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('document') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('document')\">Document</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('query') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('query')\">Query</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('queryResponse') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('queryResponse')\">Query Response</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('client-request') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('client-request')\">Client Requests</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('client-response') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('client-response')\">Client Responses</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('callMethodInternal') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('callMethodInternal')\">Call Method Internal</button>\n\t\t\t\t\t\t\t<button type=\"button\" class=\"btn btn-danger\" (click)=\"removeAllLogs()\">REMOVE ALL LOGS</button>\n\t\t\t\t\t\t</responsive-button-group>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"row\" style=\"margin-top: 10px;\">\n\t\t\t\t\t<div class=\"col-lg-2\">\n\t\t\t\t\t\t<label class=\"form-control-label\">User</label>\n\t\t\t\t\t\t<ng-select [(ngModel)]=\"user\" (change)=\"getLogData()\" placeholder=\"Select User\">\n\t\t\t\t\t\t\t<ng-option *ngFor=\"let user of users\" [value]=\"user.fullname\">{{user.fullname}}</ng-option>\n\t\t\t\t\t\t</ng-select>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-2\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Collection</label>\n\t\t\t\t\t\t<input class=\"form-control\" [(ngModel)]=\"collection\" (change)=\"getLogData()\" placeholder=\"Input Colls Sep By , & ! for !Not\">\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-2\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Method</label>\n\t\t\t\t\t\t<input class=\"form-control\" [(ngModel)]=\"method\" (change)=\"getLogData()\" placeholder=\"Input Methods Sep By , & ! for !Not\">\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-2\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Route</label>\n\t\t\t\t\t\t<input class=\"form-control\" [(ngModel)]=\"route\" (change)=\"getLogData()\" placeholder=\"Input Routes Sep By , & ! for !Not\">\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-2\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Document</label>\n\t\t\t\t\t\t<input class=\"form-control\" [(ngModel)]=\"id_document\" (change)=\"getLogData()\" placeholder=\"Input Ids Sep By , & ! for !Not\">\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"row\" style=\"margin-top: 10px;\">\n\t\t\t\t\t<div class=\"col-lg-3\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Date Start</label>\n\t\t\t\t\t\t<div class=\"input-group\">\n\t\t\t\t\t\t\t<input class=\"form-control\" [(ngModel)]=\"dateStartElem\" ngbDatepicker #dStart=\"ngbDatepicker\" (change)=\"getLogData()\">\n\t\t\t\t\t\t\t<div class=\"input-group-append\" (click)=\"dStart.toggle()\">\n\t\t\t\t\t\t\t\t<div class=\"input-group-text\">\n\t\t\t\t\t\t\t\t\t<i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-3\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Time Start</label>\n\t\t\t\t\t\t<ngb-timepicker [(ngModel)]=\"timeStartElem\" meridian=\"ON\" [seconds]=\"true\" (change)=\"getLogData()\"></ngb-timepicker>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-3\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Date End</label>\n\t\t\t\t\t\t<div class=\"input-group\">\n\t\t\t\t\t\t\t<input class=\"form-control\" [(ngModel)]=\"dateEndElem\" ngbDatepicker #dEnd=\"ngbDatepicker\" (change)=\"getLogData()\">\n\t\t\t\t\t\t\t<div class=\"input-group-append\" (click)=\"dEnd.toggle()\">\n\t\t\t\t\t\t\t\t<div class=\"input-group-text\">\n\t\t\t\t\t\t\t\t\t<i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-3\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Time End</label><br>\n\t\t\t\t\t\t<ngb-timepicker [(ngModel)]=\"timeEndElem\" meridian=\"ON\" [seconds]=\"true\" (change)=\"getLogData()\"></ngb-timepicker>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n<div class=\"row\">\n\t<div class=\"col-lg-8\">\n\t\t<label class=\"form-control-label\">Entries Per Page</label>\n\t\t<select class=\"form-control\" [(ngModel)]=\"entries_per_page\" (change)=\"getLogData()\">\n\t\t\t<option value=\"10\">10</option>\n\t\t\t<option value=\"25\">25</option>\n\t\t\t<option value=\"50\">50</option>\n\t\t\t<option value=\"100\">100</option>\n\t\t\t<option value=\"250\">250</option>\n\t\t\t<option value=\"500\">500</option>\n\t\t\t<option value=\"1000\">1000</option>\n\t\t\t<option value=\"5000\">5000</option>\n\t\t</select>\n\t</div>\n\t<div class=\"col-lg-4\">\n\t\t<ngb-pagination class=\"float-right\"\n\t\tboundaryLinks=\"true\"\n\t\t[collectionSize]=\"log_cnt\"\n\t\tdirectionLinks=\"true\"\n\t\tellipses=\"false\"\n\t\t[(page)]=\"page_num\"\n\t\tmaxSize=\"6\"\n\t\t[pageSize]=\"entries_per_page\"\n\t\trotate=\"true\"\n\t\t(pageChange)=\"getLogData()\"\n\t\t>\n\t\t</ngb-pagination>\n\t</div>\n</div>\n<div class=\"row\" style=\"margin-top: 10px\">\n\t<ngb-accordion #acc=\"ngbAccordion\" activeIds=\"\">\n\t\t<ngb-panel *ngFor=\"let log of logs; let i = index\" [id]=\"'log_' + i\">\n\t\t\t<ng-template ngbPanelTitle>\n\t\t\t\t<div> \n\t\t\t\t\t<label class=\"label-accordion\" style=\"width: 90%; height: 22px\">\n\t\t\t\t\t\t<strong class=\"pull-left\">Type: {{ log.type }}{{log.method ? ' - Method: ' + log.method : '' }}{{log.collection ? ' - Collection: ' + log.collection : '' }}{{log.user ? ' - User: ' + log.user : '' }}{{log.route ? ' - Route: ' + log.route : '' }}{{log.id_document ? ' - id_document: ' + log.id_document : '' }}{{log.messageId ? ' - messageId: ' + log.messageId : '' }}</strong>\n\t\t\t\t\t\t<p class=\"pull-right\">{{ log.createdAt | date : 'medium' }}</p>\n\t\t\t\t\t</label>\n\t\t\t\t\t<i *ngIf=\"!acc.activeIds.includes('log_' + i)\" class=\"fa fa-plus float-end\" aria-hidden=\"true\"></i>\n\t\t\t\t\t<i *ngIf=\"acc.activeIds.includes('log_' + i)\" class=\"fa fa-minus float-end\" aria-hidden=\"true\"></i>\n\t\t\t\t</div>\n\t\t\t</ng-template>\n\t\t\t<ng-template ngbPanelContent>\n\t\t\t\t<div *ngIf=\"log.payload\">\n\t\t\t\t\t<pre>{{ log.payload | jsonParse }}</pre>\n\t\t\t\t</div>\n\t\t\t\t<div *ngIf=\"!log.payload\">\n\t\t\t\t\tNo Data\n\t\t\t\t</div>\n\t\t\t</ng-template>\n\t\t</ngb-panel>\n\t</ngb-accordion>\n</div>\n<div class=\"row\" style=\"margin-top: 10px\">\n\t<div class=\"col-lg-4\">\n\t\t<div class=\"row\"> \n\t\t\t<div class=\"col-lg-8\">\n\t\t\t\t<label class=\"form-control-label\">Entries Per Page</label>\n\t\t\t\t<select class=\"form-control\" [(ngModel)]=\"entries_per_page\" (change)=\"getLogData()\">\n\t\t\t\t\t<option value=\"10\">10</option>\n\t\t\t\t\t<option value=\"25\">25</option>\n\t\t\t\t\t<option value=\"50\">50</option>\n\t\t\t\t\t<option value=\"100\">100</option>\n\t\t\t\t\t<option value=\"250\">250</option>\n\t\t\t\t\t<option value=\"500\">500</option>\n\t\t\t\t\t<option value=\"1000\">1000</option>\n\t\t\t\t\t<option value=\"5000\">5000</option>\n\t\t\t\t</select>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"col-lg-8\">\n\t\t<ngb-pagination class=\"float-right\"\n\t\tboundaryLinks=\"true\"\n\t\t[collectionSize]=\"log_cnt\"\n\t\tdirectionLinks=\"true\"\n\t\tellipses=\"false\"\n\t\t[(page)]=\"page_num\"\n\t\tmaxSize=\"6\"\n\t\t[pageSize]=\"entries_per_page\"\n\t\trotate=\"true\"\n\t\t(pageChange)=\"getLogData()\"\n\t\t>\n\t\t</ngb-pagination>\n\t</div>\n</div>", styles: ["\n\t.label-accordion {\n\t\tfont-weight: bold;\n\t\tcolor: black;\n\t\tmargin-bottom: 0px;\n\t}\n\tngb-accordion {\n\t\twidth: 100%;\n\t}\n\t.hoverThis:hover {\n\t\tbackground: lightblue;\n\t\tcursor: pointer;\n\t}\n\t\n\t.fa-plus {\n\t\tcolor: black;\n\t}\n\t.fa-minus {\n\t\tcolor: black;\n\t}\n\t\n\t.selected {\n\t\tbackground-color: orange;\n\t}\n\t.selected:hover {\n\t\tcursor: pointer;\n\t}\n\t.card {\n\t\twidth: 100%;\n\t}\n"], dependencies: [{ kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.NgbAccordion, selector: "ngb-accordion", inputs: ["animation", "activeIds", "closeOthers", "destroyOnHide", "type"], outputs: ["panelChange", "shown", "hidden"], exportAs: ["ngbAccordion"] }, { kind: "directive", type: i4.NgbPanel, selector: "ngb-panel", inputs: ["disabled", "id", "title", "type", "cardClass"], outputs: ["shown", "hidden"] }, { kind: "directive", type: i4.NgbPanelTitle, selector: "ng-template[ngbPanelTitle]" }, { kind: "directive", type: i4.NgbPanelContent, selector: "ng-template[ngbPanelContent]" }, { kind: "directive", type: i4.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["autoClose", "datepickerClass", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekNumbers", "startDate", "container", "positionTarget", "weekdays", "disabled"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { kind: "component", type: i4.NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }, { kind: "component", type: i4.NgbTimepicker, selector: "ngb-timepicker", inputs: ["meridian", "spinners", "seconds", "hourStep", "minuteStep", "secondStep", "readonlyInputs", "size"] }, { kind: "component", type: i5.ResponsiveButtonGroupComponent, selector: "responsive-button-group", inputs: ["collapseSize"] }, { kind: "component", type: i6.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "component", type: i6.NgOptionComponent, selector: "ng-option", inputs: ["value", "disabled"] }, { kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i8.JsonParsePipe, name: "jsonParse" }, { kind: "pipe", type: i7.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LoggerComponent, decorators: [{
217
217
  type: Component,
218
- args: [{ providers: [ProviderService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<style>\n\t.label-accordion {\n\t\tfont-weight: bold;\n\t\tcolor: black;\n\t\tmargin-bottom: 0px;\n\t}\n\tngb-accordion {\n\t\twidth: 100%;\n\t}\n\t.hoverThis:hover {\n\t\tbackground: lightblue;\n\t\tcursor: pointer;\n\t}\n\t\n\t.fa-plus {\n\t\tcolor: black;\n\t}\n\t.fa-minus {\n\t\tcolor: black;\n\t}\n\t\n\t.selected {\n\t\tbackground-color: orange;\n\t}\n\t.selected:hover {\n\t\tcursor: pointer;\n\t}\n\t.card {\n\t\twidth: 100%;\n\t}\n</style>\n\n<div class=\"row\">\n\t<div class=\"col-lg-12\">\n\t\t<div class=\"card\">\n\t\t\t<div class=\"card-header\"><b>Filters</b></div>\n\t\t\t<div class=\"card-body\">\n\t\t\t\t<div class=\"row\">\n\t\t\t\t\t<div class=\"col-lg-12\">\n\t\t\t\t\t\t<responsive-button-group collapseSize=\"900\">\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('error') && selectedTypes.includes('document') && selectedTypes.includes('query') && selectedTypes.includes('client-request') && selectedTypes.includes('client-response') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('all')\">All</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('error') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('error')\">Errors</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('document') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('document')\">Document</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('query') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('query')\">Query</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('queryResponse') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('queryResponse')\">Query Response</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('client-request') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('client-request')\">Client Requests</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('client-response') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('client-response')\">Client Responses</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('callMethodInternal') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('callMethodInternal')\">Call Method Internal</button>\n\t\t\t\t\t\t\t<button type=\"button\" class=\"btn btn-danger\" (click)=\"removeAllLogs()\">REMOVE ALL LOGS</button>\n\t\t\t\t\t\t</responsive-button-group>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"row\" style=\"margin-top: 10px;\">\n\t\t\t\t\t<div class=\"col-lg-2\">\n\t\t\t\t\t\t<label class=\"form-control-label\">User</label>\n\t\t\t\t\t\t<ng-select [(ngModel)]=\"user\" (change)=\"getLogData()\" placeholder=\"Select User\">\n\t\t\t\t\t\t\t<ng-option *ngFor=\"let user of users\" [value]=\"user.fullname\">{{user.fullname}}</ng-option>\n\t\t\t\t\t\t</ng-select>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-2\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Collection</label>\n\t\t\t\t\t\t<input class=\"form-control\" [(ngModel)]=\"collection\" (change)=\"getLogData()\" placeholder=\"Input Colls Sep By , & ! for !Not\">\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-2\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Method</label>\n\t\t\t\t\t\t<input class=\"form-control\" [(ngModel)]=\"method\" (change)=\"getLogData()\" placeholder=\"Input Methods Sep By , & ! for !Not\">\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-2\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Route</label>\n\t\t\t\t\t\t<input class=\"form-control\" [(ngModel)]=\"route\" (change)=\"getLogData()\" placeholder=\"Input Routes Sep By , & ! for !Not\">\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-2\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Document</label>\n\t\t\t\t\t\t<input class=\"form-control\" [(ngModel)]=\"id_document\" (change)=\"getLogData()\" placeholder=\"Input Ids Sep By , & ! for !Not\">\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"row\" style=\"margin-top: 10px;\">\n\t\t\t\t\t<div class=\"col-lg-3\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Date Start</label>\n\t\t\t\t\t\t<div class=\"input-group\">\n\t\t\t\t\t\t\t<input class=\"form-control\" [(ngModel)]=\"dateStartElem\" ngbDatepicker #dStart=\"ngbDatepicker\" (change)=\"getLogData()\">\n\t\t\t\t\t\t\t<div class=\"input-group-text\" (click)=\"dStart.toggle()\">\n\t\t\t\t\t\t\t\t<i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-3\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Time Start</label>\n\t\t\t\t\t\t<ngb-timepicker [(ngModel)]=\"timeStartElem\" meridian=\"ON\" [seconds]=\"true\" (change)=\"getLogData()\"></ngb-timepicker>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-3\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Date End</label>\n\t\t\t\t\t\t<div class=\"input-group\">\n\t\t\t\t\t\t\t<input class=\"form-control\" [(ngModel)]=\"dateEndElem\" ngbDatepicker #dEnd=\"ngbDatepicker\" (change)=\"getLogData()\">\n\t\t\t\t\t\t\t<div class=\"input-group-text\" (click)=\"dEnd.toggle()\">\n\t\t\t\t\t\t\t\t<i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-3\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Time End</label><br>\n\t\t\t\t\t\t<ngb-timepicker [(ngModel)]=\"timeEndElem\" meridian=\"ON\" [seconds]=\"true\" (change)=\"getLogData()\"></ngb-timepicker>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n<div class=\"row\">\n\t<div class=\"col-lg-8\">\n\t\t<label class=\"form-control-label\">Entries Per Page</label>\n\t\t<select class=\"form-control\" [(ngModel)]=\"entries_per_page\" (change)=\"getLogData()\">\n\t\t\t<option value=\"10\">10</option>\n\t\t\t<option value=\"25\">25</option>\n\t\t\t<option value=\"50\">50</option>\n\t\t\t<option value=\"100\">100</option>\n\t\t\t<option value=\"250\">250</option>\n\t\t\t<option value=\"500\">500</option>\n\t\t\t<option value=\"1000\">1000</option>\n\t\t\t<option value=\"5000\">5000</option>\n\t\t</select>\n\t</div>\n\t<div class=\"col-lg-4\">\n\t\t<ngb-pagination class=\"float-right\"\n\t\tboundaryLinks=\"true\"\n\t\t[collectionSize]=\"log_cnt\"\n\t\tdirectionLinks=\"true\"\n\t\tellipses=\"false\"\n\t\t[(page)]=\"page_num\"\n\t\tmaxSize=\"6\"\n\t\t[pageSize]=\"entries_per_page\"\n\t\trotate=\"true\"\n\t\t(pageChange)=\"getLogData()\"\n\t\t>\n\t\t</ngb-pagination>\n\t</div>\n</div>\n<div class=\"row\" style=\"margin-top: 10px\">\n\t<ngb-accordion #acc=\"ngbAccordion\" activeIds=\"\">\n\t\t<ngb-panel *ngFor=\"let log of logs; let i = index\" [id]=\"'log_' + i\">\n\t\t\t<ng-template ngbPanelTitle>\n\t\t\t\t<div> \n\t\t\t\t\t<label class=\"label-accordion\" style=\"width: 90%; height: 22px\">\n\t\t\t\t\t\t<strong class=\"pull-left\">Type: {{ log.type }}{{log.method ? ' - Method: ' + log.method : '' }}{{log.collection ? ' - Collection: ' + log.collection : '' }}{{log.user ? ' - User: ' + log.user : '' }}{{log.route ? ' - Route: ' + log.route : '' }}{{log.id_document ? ' - id_document: ' + log.id_document : '' }}{{log.messageId ? ' - messageId: ' + log.messageId : '' }}</strong>\n\t\t\t\t\t\t<p class=\"pull-right\">{{ log.createdAt | date : 'medium' }}</p>\n\t\t\t\t\t</label>\n\t\t\t\t\t<i *ngIf=\"!acc.activeIds.includes('log_' + i)\" class=\"fa fa-plus pull-right\" aria-hidden=\"true\"></i>\n\t\t\t\t\t<i *ngIf=\"acc.activeIds.includes('log_' + i)\" class=\"fa fa-minus pull-right\" aria-hidden=\"true\"></i>\n\t\t\t\t</div>\n\t\t\t</ng-template>\n\t\t\t<ng-template ngbPanelContent>\n\t\t\t\t<div *ngIf=\"log.payload\">\n\t\t\t\t\t<pre>{{ log.payload | jsonParse }}</pre>\n\t\t\t\t</div>\n\t\t\t\t<div *ngIf=\"!log.payload\">\n\t\t\t\t\tNo Data\n\t\t\t\t</div>\n\t\t\t</ng-template>\n\t\t</ngb-panel>\n\t</ngb-accordion>\n</div>\n<div class=\"row\" style=\"margin-top: 10px\">\n\t<div class=\"col-lg-4\">\n\t\t<div class=\"row\"> \n\t\t\t<div class=\"col-lg-8\">\n\t\t\t\t<label class=\"form-control-label\">Entries Per Page</label>\n\t\t\t\t<select class=\"form-control\" [(ngModel)]=\"entries_per_page\" (change)=\"getLogData()\">\n\t\t\t\t\t<option value=\"10\">10</option>\n\t\t\t\t\t<option value=\"25\">25</option>\n\t\t\t\t\t<option value=\"50\">50</option>\n\t\t\t\t\t<option value=\"100\">100</option>\n\t\t\t\t\t<option value=\"250\">250</option>\n\t\t\t\t\t<option value=\"500\">500</option>\n\t\t\t\t\t<option value=\"1000\">1000</option>\n\t\t\t\t\t<option value=\"5000\">5000</option>\n\t\t\t\t</select>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"col-lg-8\">\n\t\t<ngb-pagination class=\"float-right\"\n\t\tboundaryLinks=\"true\"\n\t\t[collectionSize]=\"log_cnt\"\n\t\tdirectionLinks=\"true\"\n\t\tellipses=\"false\"\n\t\t[(page)]=\"page_num\"\n\t\tmaxSize=\"6\"\n\t\t[pageSize]=\"entries_per_page\"\n\t\trotate=\"true\"\n\t\t(pageChange)=\"getLogData()\"\n\t\t>\n\t\t</ngb-pagination>\n\t</div>\n</div>" }]
218
+ args: [{ providers: [ProviderService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<style>\n\t.label-accordion {\n\t\tfont-weight: bold;\n\t\tcolor: black;\n\t\tmargin-bottom: 0px;\n\t}\n\tngb-accordion {\n\t\twidth: 100%;\n\t}\n\t.hoverThis:hover {\n\t\tbackground: lightblue;\n\t\tcursor: pointer;\n\t}\n\t\n\t.fa-plus {\n\t\tcolor: black;\n\t}\n\t.fa-minus {\n\t\tcolor: black;\n\t}\n\t\n\t.selected {\n\t\tbackground-color: orange;\n\t}\n\t.selected:hover {\n\t\tcursor: pointer;\n\t}\n\t.card {\n\t\twidth: 100%;\n\t}\n</style>\n\n<div class=\"row\">\n\t<div class=\"col-lg-12\">\n\t\t<div class=\"card\">\n\t\t\t<div class=\"card-header\"><b>Filters</b></div>\n\t\t\t<div class=\"card-body\">\n\t\t\t\t<div class=\"row\">\n\t\t\t\t\t<div class=\"col-lg-12\">\n\t\t\t\t\t\t<responsive-button-group collapseSize=\"900\">\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('error') && selectedTypes.includes('document') && selectedTypes.includes('query') && selectedTypes.includes('client-request') && selectedTypes.includes('client-response') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('all')\">All</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('error') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('error')\">Errors</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('document') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('document')\">Document</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('query') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('query')\">Query</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('queryResponse') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('queryResponse')\">Query Response</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('client-request') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('client-request')\">Client Requests</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('client-response') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('client-response')\">Client Responses</button>\n\t\t\t\t\t\t\t<button type=\"button\" [ngClass]=\"['btn', selectedTypes.includes('callMethodInternal') ? 'btn-success' : 'btn-warning']\" (click)=\"selectType('callMethodInternal')\">Call Method Internal</button>\n\t\t\t\t\t\t\t<button type=\"button\" class=\"btn btn-danger\" (click)=\"removeAllLogs()\">REMOVE ALL LOGS</button>\n\t\t\t\t\t\t</responsive-button-group>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"row\" style=\"margin-top: 10px;\">\n\t\t\t\t\t<div class=\"col-lg-2\">\n\t\t\t\t\t\t<label class=\"form-control-label\">User</label>\n\t\t\t\t\t\t<ng-select [(ngModel)]=\"user\" (change)=\"getLogData()\" placeholder=\"Select User\">\n\t\t\t\t\t\t\t<ng-option *ngFor=\"let user of users\" [value]=\"user.fullname\">{{user.fullname}}</ng-option>\n\t\t\t\t\t\t</ng-select>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-2\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Collection</label>\n\t\t\t\t\t\t<input class=\"form-control\" [(ngModel)]=\"collection\" (change)=\"getLogData()\" placeholder=\"Input Colls Sep By , & ! for !Not\">\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-2\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Method</label>\n\t\t\t\t\t\t<input class=\"form-control\" [(ngModel)]=\"method\" (change)=\"getLogData()\" placeholder=\"Input Methods Sep By , & ! for !Not\">\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-2\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Route</label>\n\t\t\t\t\t\t<input class=\"form-control\" [(ngModel)]=\"route\" (change)=\"getLogData()\" placeholder=\"Input Routes Sep By , & ! for !Not\">\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-2\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Document</label>\n\t\t\t\t\t\t<input class=\"form-control\" [(ngModel)]=\"id_document\" (change)=\"getLogData()\" placeholder=\"Input Ids Sep By , & ! for !Not\">\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"row\" style=\"margin-top: 10px;\">\n\t\t\t\t\t<div class=\"col-lg-3\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Date Start</label>\n\t\t\t\t\t\t<div class=\"input-group\">\n\t\t\t\t\t\t\t<input class=\"form-control\" [(ngModel)]=\"dateStartElem\" ngbDatepicker #dStart=\"ngbDatepicker\" (change)=\"getLogData()\">\n\t\t\t\t\t\t\t<div class=\"input-group-append\" (click)=\"dStart.toggle()\">\n\t\t\t\t\t\t\t\t<div class=\"input-group-text\">\n\t\t\t\t\t\t\t\t\t<i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-3\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Time Start</label>\n\t\t\t\t\t\t<ngb-timepicker [(ngModel)]=\"timeStartElem\" meridian=\"ON\" [seconds]=\"true\" (change)=\"getLogData()\"></ngb-timepicker>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-3\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Date End</label>\n\t\t\t\t\t\t<div class=\"input-group\">\n\t\t\t\t\t\t\t<input class=\"form-control\" [(ngModel)]=\"dateEndElem\" ngbDatepicker #dEnd=\"ngbDatepicker\" (change)=\"getLogData()\">\n\t\t\t\t\t\t\t<div class=\"input-group-append\" (click)=\"dEnd.toggle()\">\n\t\t\t\t\t\t\t\t<div class=\"input-group-text\">\n\t\t\t\t\t\t\t\t\t<i class=\"fa fa-calendar\" aria-hidden=\"true\"></i>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-lg-3\">\n\t\t\t\t\t\t<label class=\"form-control-label\">Time End</label><br>\n\t\t\t\t\t\t<ngb-timepicker [(ngModel)]=\"timeEndElem\" meridian=\"ON\" [seconds]=\"true\" (change)=\"getLogData()\"></ngb-timepicker>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n<div class=\"row\">\n\t<div class=\"col-lg-8\">\n\t\t<label class=\"form-control-label\">Entries Per Page</label>\n\t\t<select class=\"form-control\" [(ngModel)]=\"entries_per_page\" (change)=\"getLogData()\">\n\t\t\t<option value=\"10\">10</option>\n\t\t\t<option value=\"25\">25</option>\n\t\t\t<option value=\"50\">50</option>\n\t\t\t<option value=\"100\">100</option>\n\t\t\t<option value=\"250\">250</option>\n\t\t\t<option value=\"500\">500</option>\n\t\t\t<option value=\"1000\">1000</option>\n\t\t\t<option value=\"5000\">5000</option>\n\t\t</select>\n\t</div>\n\t<div class=\"col-lg-4\">\n\t\t<ngb-pagination class=\"float-right\"\n\t\tboundaryLinks=\"true\"\n\t\t[collectionSize]=\"log_cnt\"\n\t\tdirectionLinks=\"true\"\n\t\tellipses=\"false\"\n\t\t[(page)]=\"page_num\"\n\t\tmaxSize=\"6\"\n\t\t[pageSize]=\"entries_per_page\"\n\t\trotate=\"true\"\n\t\t(pageChange)=\"getLogData()\"\n\t\t>\n\t\t</ngb-pagination>\n\t</div>\n</div>\n<div class=\"row\" style=\"margin-top: 10px\">\n\t<ngb-accordion #acc=\"ngbAccordion\" activeIds=\"\">\n\t\t<ngb-panel *ngFor=\"let log of logs; let i = index\" [id]=\"'log_' + i\">\n\t\t\t<ng-template ngbPanelTitle>\n\t\t\t\t<div> \n\t\t\t\t\t<label class=\"label-accordion\" style=\"width: 90%; height: 22px\">\n\t\t\t\t\t\t<strong class=\"pull-left\">Type: {{ log.type }}{{log.method ? ' - Method: ' + log.method : '' }}{{log.collection ? ' - Collection: ' + log.collection : '' }}{{log.user ? ' - User: ' + log.user : '' }}{{log.route ? ' - Route: ' + log.route : '' }}{{log.id_document ? ' - id_document: ' + log.id_document : '' }}{{log.messageId ? ' - messageId: ' + log.messageId : '' }}</strong>\n\t\t\t\t\t\t<p class=\"pull-right\">{{ log.createdAt | date : 'medium' }}</p>\n\t\t\t\t\t</label>\n\t\t\t\t\t<i *ngIf=\"!acc.activeIds.includes('log_' + i)\" class=\"fa fa-plus float-end\" aria-hidden=\"true\"></i>\n\t\t\t\t\t<i *ngIf=\"acc.activeIds.includes('log_' + i)\" class=\"fa fa-minus float-end\" aria-hidden=\"true\"></i>\n\t\t\t\t</div>\n\t\t\t</ng-template>\n\t\t\t<ng-template ngbPanelContent>\n\t\t\t\t<div *ngIf=\"log.payload\">\n\t\t\t\t\t<pre>{{ log.payload | jsonParse }}</pre>\n\t\t\t\t</div>\n\t\t\t\t<div *ngIf=\"!log.payload\">\n\t\t\t\t\tNo Data\n\t\t\t\t</div>\n\t\t\t</ng-template>\n\t\t</ngb-panel>\n\t</ngb-accordion>\n</div>\n<div class=\"row\" style=\"margin-top: 10px\">\n\t<div class=\"col-lg-4\">\n\t\t<div class=\"row\"> \n\t\t\t<div class=\"col-lg-8\">\n\t\t\t\t<label class=\"form-control-label\">Entries Per Page</label>\n\t\t\t\t<select class=\"form-control\" [(ngModel)]=\"entries_per_page\" (change)=\"getLogData()\">\n\t\t\t\t\t<option value=\"10\">10</option>\n\t\t\t\t\t<option value=\"25\">25</option>\n\t\t\t\t\t<option value=\"50\">50</option>\n\t\t\t\t\t<option value=\"100\">100</option>\n\t\t\t\t\t<option value=\"250\">250</option>\n\t\t\t\t\t<option value=\"500\">500</option>\n\t\t\t\t\t<option value=\"1000\">1000</option>\n\t\t\t\t\t<option value=\"5000\">5000</option>\n\t\t\t\t</select>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"col-lg-8\">\n\t\t<ngb-pagination class=\"float-right\"\n\t\tboundaryLinks=\"true\"\n\t\t[collectionSize]=\"log_cnt\"\n\t\tdirectionLinks=\"true\"\n\t\tellipses=\"false\"\n\t\t[(page)]=\"page_num\"\n\t\tmaxSize=\"6\"\n\t\t[pageSize]=\"entries_per_page\"\n\t\trotate=\"true\"\n\t\t(pageChange)=\"getLogData()\"\n\t\t>\n\t\t</ngb-pagination>\n\t</div>\n</div>" }]
219
219
  }], ctorParameters: function () { return [{ type: i1.ProviderService }, { type: i2.DialogService }, { type: i0.ChangeDetectorRef }]; } });
220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9sb2dnZXIvbG9nZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9sb2dnZXIvbG9nZ2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpHLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEUsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7OztBQVFqRSxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxhQUFhO0lBMEJqRCxZQUFvQixTQUEwQixFQUFVLEdBQWtCLEVBQVUsR0FBc0I7UUFDekcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBREUsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFlO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUF4QjFHLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUNuQyxTQUFJLEdBQVUsRUFBRSxDQUFDO1FBRWpCLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUN0QixhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUVaLFNBQUksR0FBRyxJQUFJLENBQUM7UUFDWixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBU1gsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFFbkIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ1osVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNY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LENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQcm92aWRlclNlcnZpY2UsIEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9yZXNvbHZlaW8tY2xhc3MnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uL3dpZGdldHMvZGlhbG9nL2RpYWxvZy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG5cdHByb3ZpZGVyczogW1Byb3ZpZGVyU2VydmljZV0sXG5cdHRlbXBsYXRlVXJsOiAnLi9sb2dnZXIuY29tcG9uZW50Lmh0bWwnLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcblxuZXhwb3J0IGNsYXNzIExvZ2dlckNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7IFxuXG5cdHN1YnNjcmlwdGlvbiQ6IFN1YnNjcmlwdGlvbltdID0gW107XG5cdGxvZ3M6IGFueVtdID0gW107XG5cblx0ZW50cmllc19wZXJfcGFnZSA9IDI1O1xuXHRwYWdlX251bSA9IDE7XG5cdGxvZ19jbnQgPSAwO1xuXG5cdHVzZXIgPSBudWxsO1xuXHR1c2VycyA9IFtdO1xuXG5cdGRhdGVTdGFydEVsZW07XG5cdGRhdGVFbmRFbGVtO1xuXHR0aW1lU3RhcnRFbGVtO1xuXHR0aW1lRW5kRWxlbTtcblx0ZGF0ZVN0YXJ0OiBEYXRlO1xuXHRkYXRlRW5kOiBEYXRlO1xuXG5cdHNlbGVjdGVkVHlwZXMgPSBbXTtcblxuXHRjb2xsZWN0aW9uID0gJyc7XG5cdG1ldGhvZCA9ICcnO1xuXHRyb3V0ZSA9ICcnO1xuXHRpZF9kb2N1bWVudCA9ICcnO1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgX3NlcnZpY2VzOiBQcm92aWRlclNlcnZpY2UsIHByaXZhdGUgX2RzOiBEaWFsb2dTZXJ2aWNlLCBwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcblx0XHRzdXBlcihfc2VydmljZXMpO1xuXHR9XG5cblx0bmdPbkluaXQoKSB7XG5cdFx0aWYgKCF0aGlzLl9zZXJ2aWNlcy5fYWNjb3VudC5nZXRVc2VyKCkucm9sZXMuc3VwZXJfYWRtaW4pIHtcblx0XHRcdHRoaXMuX3NlcnZpY2VzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2hvbWUnKTtcblx0XHR9XG5cblx0XHR0aGlzLnN1YnNjcmlwdGlvbiQucHVzaCh0aGlzLl9zZXJ2aWNlcy5fc29ja2V0LnN1YnNjcmliZSgnYWxsVXNlcnMnKS5zdWJzY3JpYmUodXNlcnMgPT4ge1xuXHRcdFx0dGhpcy51c2VycyA9IHVzZXJzO1xuXG5cdFx0XHR0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG5cdFx0fSkpO1xuXG5cdFx0bGV0IGpzRGF0ZVN0YXJ0ID0gbmV3IERhdGUoKTtcblx0XHRqc0RhdGVTdGFydC5zZXRIb3VycygwLCAwLCAwLCAwKTtcblx0XHRsZXQgZGF0ZV9zdGFydCA9IG5ldyBEYXRlKG1vbWVudChqc0RhdGVTdGFydCkuc3VidHJhY3QoMTAsICdkYXlzJykudG9EYXRlKCkpO1xuXHRcdHRoaXMuZGF0ZVN0YXJ0RWxlbSA9IHt5ZWFyOiBkYXRlX3N0YXJ0LmdldEZ1bGxZZWFyKCksIG1vbnRoOiBkYXRlX3N0YXJ0LmdldE1vbnRoKCkgKyAxLCBkYXk6IGRhdGVfc3RhcnQuZ2V0RGF0ZSgpfTtcblx0XHR0aGlzLnRpbWVTdGFydEVsZW0gPSB7aG91cjogMCwgbWludXRlOiAwLCBzZWNvbmQ6IDB9O1xuXG5cdFx0bGV0IGpzRGF0ZUVuZCA9IG5ldyBEYXRlKCk7XG5cdFx0anNEYXRlRW5kLnNldEhvdXJzKDIzLCA1OSwgNTksIDk5OSk7XG5cdFx0bGV0IGRhdGVfZW5kID0ganNEYXRlRW5kO1xuXHRcdHRoaXMuZGF0ZUVuZEVsZW0gPSB7eWVhcjogZGF0ZV9lbmQuZ2V0RnVsbFllYXIoKSwgbW9udGg6IGRhdGVfZW5kLmdldE1vbnRoKCkgKyAxLCBkYXk6IGRhdGVfZW5kLmdldERhdGUoKX07XG5cdFx0dGhpcy50aW1lRW5kRWxlbSA9IHtob3VyOiAyMywgbWludXRlOiA1OSwgc2Vjb25kOiA1OX07XG5cblx0XHR0aGlzLmdldExvZ0RhdGEoKTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCkge1xuXHRcdHRoaXMuc3Vic2NyaXB0aW9uJC5mb3JFYWNoKHN1YiA9PiB7XG5cdFx0XHRzdWIudW5zdWJzY3JpYmUoKTtcblx0XHR9KTtcblx0fVxuXG5cdGdldExvZ0RhdGEoKSB7XG5cdFx0dGhpcy5kYXRlU3RhcnQgPSBuZXcgRGF0ZSh0aGlzLmRhdGVTdGFydEVsZW0ueWVhciwgdGhpcy5kYXRlU3RhcnRFbGVtLm1vbnRoIC0gMSwgdGhpcy5kYXRlU3RhcnRFbGVtLmRheSwgdGhpcy50aW1lU3RhcnRFbGVtLmhvdXIsIHRoaXMudGltZVN0YXJ0RWxlbS5taW51dGUsIHRoaXMudGltZVN0YXJ0RWxlbS5zZWNvbmQsIDApO1xuXHRcdHRoaXMuZGF0ZUVuZCA9IG5ldyBEYXRlKHRoaXMuZGF0ZUVuZEVsZW0ueWVhciwgdGhpcy5kYXRlRW5kRWxlbS5tb250aCAtIDEsIHRoaXMuZGF0ZUVuZEVsZW0uZGF5LCB0aGlzLnRpbWVFbmRFbGVtLmhvdXIsIHRoaXMudGltZUVuZEVsZW0ubWludXRlLCB0aGlzLnRpbWVFbmRFbGVtLnNlY29uZCwgOTk5KTtcblxuXHRcdGxldCBxdWVyeTogYW55ID0ge1xuXHRcdFx0JGFuZDogW1xuXHRcdFx0XHR7Y3JlYXRlZEF0OiB7JGd0ZTogdGhpcy5kYXRlU3RhcnR9fSxcblx0XHRcdFx0e2NyZWF0ZWRBdDogeyRsdGU6IHRoaXMuZGF0ZUVuZH19XG5cdFx0XHRdXG5cdFx0fTtcblxuXHRcdGlmICghdGhpcy5zZWxlY3RlZFR5cGVzLmxlbmd0aCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRlbHNlIHtcblx0XHRcdHF1ZXJ5LiRhbmQucHVzaCh7dHlwZTogeyRpbjogdGhpcy5zZWxlY3RlZFR5cGVzfX0pO1xuXHRcdH1cblxuXHRcdGlmICh0aGlzLmNvbGxlY3Rpb24pIHtcblx0XHRcdGlmICh0aGlzLmNvbGxlY3Rpb24uaW5jbHVkZXMoJywnKSkge1xuXHRcdFx0XHRsZXQgY29sbGVjdGlvbnMgPSB0aGlzLmNvbGxlY3Rpb24uc3BsaXQoJywnKS5tYXAoYSA9PiBhLnRyaW0oKSkuZmlsdGVyKGEgPT4gIWEuc3RhcnRzV2l0aCgnIScpKTtcblx0XHRcdFx0aWYgKGNvbGxlY3Rpb25zLmxlbmd0aCkge1xuXHRcdFx0XHRcdHF1ZXJ5LiRhbmQucHVzaCh7Y29sbGVjdGlvbjogeyRpbjogY29sbGVjdGlvbnN9fSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRsZXQgbm90Q29sbGVjdGlvbnMgPSB0aGlzLmNvbGxlY3Rpb24uc3BsaXQoJywnKS5tYXAoYSA9PiBhLnRyaW0oKSkuZmlsdGVyKGEgPT4gYS5zdGFydHNXaXRoKCchJykpO1xuXHRcdFx0XHRub3RDb2xsZWN0aW9ucy5mb3JFYWNoKG5vdCA9PiB7XG5cdFx0XHRcdFx0cXVlcnkuJGFuZC5wdXNoKHtjb2xsZWN0aW9uOiB7JG5lOiBub3QucmVwbGFjZSgnIScsICcnKX19KTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0XHRlbHNlIHtcblx0XHRcdFx0aWYgKHRoaXMuY29sbGVjdGlvbi5zdGFydHNXaXRoKCchJykpIHtcblx0XHRcdFx0XHRxdWVyeS4kYW5kLnB1c2goe2NvbGxlY3Rpb246IHskbmU6IHRoaXMuY29sbGVjdGlvbi5yZXBsYWNlKCchJywgJycpLnRyaW0oKX19KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRlbHNlIHtcblx0XHRcdFx0XHRxdWVyeS4kYW5kLnB1c2goe2NvbGxlY3Rpb246IHRoaXMuY29sbGVjdGlvbi50cmltKCl9KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGlmICh0aGlzLm1ldGhvZCkge1xuXHRcdFx0aWYgKHRoaXMubWV0aG9kLmluY2x1ZGVzKCcsJykpIHtcblx0XHRcdFx0bGV0IG1ldGhvZHMgPSB0aGlzLm1ldGhvZC5zcGxpdCgnLCcpLm1hcChhID0+IGEudHJpbSgpKS5maWx0ZXIoYSA9PiAhYS5zdGFydHNXaXRoKCchJykpO1xuXHRcdFx0XHRpZiAobWV0aG9kcy5sZW5ndGgpIHtcblx0XHRcdFx0XHRxdWVyeS4kYW5kLnB1c2goe21ldGhvZDogeyRpbjogbWV0aG9kc319KTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGxldCBub3RNZXRob2RzID0gdGhpcy5tZXRob2Quc3BsaXQoJywnKS5tYXAoYSA9PiBhLnRyaW0oKSkuZmlsdGVyKGEgPT4gYS5zdGFydHNXaXRoKCchJykpO1xuXHRcdFx0XHRub3RNZXRob2RzLmZvckVhY2gobm90ID0+IHtcblx0XHRcdFx0XHRxdWVyeS4kYW5kLnB1c2goe21ldGhvZDogeyRuZTogbm90LnJlcGxhY2UoJyEnLCAnJyl9fSk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdFx0ZWxzZSB7XG5cdFx0XHRcdGlmICh0aGlzLm1ldGhvZC5zdGFydHNXaXRoKCchJykpIHtcblx0XHRcdFx0XHRxdWVyeS4kYW5kLnB1c2goe21ldGhvZDogeyRuZTogdGhpcy5tZXRob2QucmVwbGFjZSgnIScsICcnKS50cmltKCl9fSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0cXVlcnkuJGFuZC5wdXNoKHttZXRob2Q6IHRoaXMubWV0aG9kLnRyaW0oKX0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMucm91dGUpIHtcblx0XHRcdGlmICh0aGlzLnJvdXRlLmluY2x1ZGVzKCcsJykpIHtcblx0XHRcdFx0bGV0IHJvdXRlcyA9IHRoaXMucm91dGUuc3BsaXQoJywnKS5tYXAoYSA9PiBhLnRyaW0oKSkuZmlsdGVyKGEgPT4gIWEuc3RhcnRzV2l0aCgnIScpKTtcblx0XHRcdFx0aWYgKHJvdXRlcy5sZW5ndGgpIHtcblx0XHRcdFx0XHRxdWVyeS4kYW5kLnB1c2goe3JvdXRlOiB7JGluOiByb3V0ZXN9fSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRsZXQgbm90Um91dGVzID0gdGhpcy5yb3V0ZS5zcGxpdCgnLCcpLm1hcChhID0+IGEudHJpbSgpKS5maWx0ZXIoYSA9PiBhLnN0YXJ0c1dpdGgoJyEnKSk7XG5cdFx0XHRcdG5vdFJvdXRlcy5mb3JFYWNoKG5vdCA9PiB7XG5cdFx0XHRcdFx0cXVlcnkuJGFuZC5wdXNoKHtyb3V0ZTogeyRuZTogbm90LnJlcGxhY2UoJyEnLCAnJyl9fSk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdFx0ZWxzZSB7XG5cdFx0XHRcdGlmICh0aGlzLnJvdXRlLnN0YXJ0c1dpdGgoJyEnKSkge1xuXHRcdFx0XHRcdHF1ZXJ5LiRhbmQucHVzaCh7cm91dGU6IHskbmU6IHRoaXMucm91dGUucmVwbGFjZSgnIScsICcnKS50cmltKCl9fSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0cXVlcnkuJGFuZC5wdXNoKHtyb3V0ZTogdGhpcy5yb3V0ZS50cmltKCl9KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHRpZiAodGhpcy5pZF9kb2N1bWVudCkge1xuXHRcdFx0aWYgKHRoaXMuaWRfZG9jdW1lbnQuaW5jbHVkZXMoJywnKSkge1xuXHRcdFx0XHRsZXQgaWRfZG9jdW1lbnRzID0gdGhpcy5pZF9kb2N1bWVudC5zcGxpdCgnLCcpLm1hcChhID0+IGEudHJpbSgpKS5maWx0ZXIoYSA9PiAhYS5zdGFydHNXaXRoKCchJykpO1xuXHRcdFx0XHRpZiAoaWRfZG9jdW1lbnRzLmxlbmd0aCkge1xuXHRcdFx0XHRcdHF1ZXJ5LiRhbmQucHVzaCh7aWRfZG9jdW1lbnQ6IHskaW46IGlkX2RvY3VtZW50c319KTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGxldCBub3RJZHMgPSB0aGlzLmlkX2RvY3VtZW50LnNwbGl0KCcsJykubWFwKGEgPT4gYS50cmltKCkpLmZpbHRlcihhID0+IGEuc3RhcnRzV2l0aCgnIScpKTtcblx0XHRcdFx0bm90SWRzLmZvckVhY2gobm90ID0+IHtcblx0XHRcdFx0XHRxdWVyeS4kYW5kLnB1c2goe2lkX2RvY3VtZW50OiB7JG5lOiBub3QucmVwbGFjZSgnIScsICcnKX19KTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0XHRlbHNlIHtcblx0XHRcdFx0aWYgKHRoaXMuaWRfZG9jdW1lbnQuc3RhcnRzV2l0aCgnIScpKSB7XG5cdFx0XHRcdFx0cXVlcnkuJGFuZC5wdXNoKHtpZF9kb2N1bWVudDogeyRuZTogdGhpcy5pZF9kb2N1bWVudC5yZXBsYWNlKCchJywgJycpLnRyaW0oKX19KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRlbHNlIHtcblx0XHRcdFx0XHRxdWVyeS4kYW5kLnB1c2goe2lkX2RvY3VtZW50OiB0aGlzLmlkX2RvY3VtZW50LnRyaW0oKX0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMudXNlcikge1xuXHRcdFx0cXVlcnkuJGFuZC5wdXNoKHt1c2VyOiB0aGlzLnVzZXJ9KTtcblx0XHR9XG5cblx0XHRpZiAodHlwZW9mKHRoaXMuZW50cmllc19wZXJfcGFnZSkgPT09ICdzdHJpbmcnKSB7XG5cdFx0XHR0aGlzLmVudHJpZXNfcGVyX3BhZ2UgPSBwYXJzZUludCh0aGlzLmVudHJpZXNfcGVyX3BhZ2UpO1xuXHRcdH1cblx0XHRcblx0XHR0aGlzLl9zZXJ2aWNlcy5fc29ja2V0LmNhbGwoJ2ZpbmRXaXRoT3B0aW9ucycsICdsb2dzJywgcXVlcnksIHtzb3J0OiB7Y3JlYXRlZEF0OiAtMX0sIGxpbWl0OiB0aGlzLmVudHJpZXNfcGVyX3BhZ2UsIHNraXA6IHRoaXMuZW50cmllc19wZXJfcGFnZSAqICh0aGlzLnBhZ2VfbnVtIC0gMSl9LCAoZXJyLCByZXMpID0+IHtcblx0XHRcdHRoaXMubG9ncyA9IHJlcztcblxuXHRcdFx0dGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuXHRcdH0pO1xuXG5cdFx0dGhpcy5fc2VydmljZXMuX3NvY2tldC5jYWxsKCdjb3VudENvbGxlY3Rpb25XaXRoUXVlcnknLCAnbG9ncycsIHF1ZXJ5LCAoZXJyLCByZXMpID0+IHtcblx0XHRcdHRoaXMubG9nX2NudCA9IHJlcztcblxuXHRcdFx0dGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuXHRcdH0pO1xuXG5cdFx0dGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuXHR9XG5cblx0c2VsZWN0VHlwZSh0eXBlOiBzdHJpbmcpIHtcblx0XHRpZiAodHlwZSAhPT0gJ2FsbCcpIHtcblx0XHRcdGlmICh0aGlzLnNlbGVjdGVkVHlwZXMuaW5jbHVkZXModHlwZSkpIHtcblx0XHRcdFx0dGhpcy5zZWxlY3RlZFR5cGVzLnNwbGljZSh0aGlzLnNlbGVjdGVkVHlwZXMuaW5kZXhPZih0eXBlKSwgMSk7XG5cdFx0XHR9XG5cdFx0XHRlbHNlIHtcblx0XHRcdFx0dGhpcy5zZWxlY3RlZFR5cGVzLnB1c2godHlwZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGVsc2Uge1xuXHRcdFx0aWYgKHRoaXMuc2VsZWN0ZWRUeXBlcy5sZW5ndGggPT09IDcpIHtcblx0XHRcdFx0dGhpcy5zZWxlY3RlZFR5cGVzID0gW107XG5cdFx0XHR9XG5cdFx0XHRlbHNlIHtcblx0XHRcdFx0dGhpcy5zZWxlY3RlZFR5cGVzID0gWydlcnJvcicsICdkb2N1bWVudCcsICdxdWVyeScsICdxdWVyeVJlc3BvbnNlJywgJ2NsaWVudC1yZXF1ZXN0JywgJ2NsaWVudC1yZXNwb25zZScsICdjYWxsTWV0aG9kSW50ZXJuYWwnXTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHR0aGlzLmxvZ3MgPSBbXTtcblxuXHRcdGlmICh0aGlzLnNlbGVjdGVkVHlwZXMubGVuZ3RoKSB7XG5cdFx0XHR0aGlzLmdldExvZ0RhdGEoKTtcblx0XHR9XG5cdH1cblxuXHRpY29uKHR5cGUpIHtcblx0XHRpZiAodHlwZSA9PT0gJ2Vycm9yJykge1xuXHRcdFx0cmV0dXJuICdkYW5nZXInO1xuXHRcdH1cblx0XHRlbHNlIGlmICh0eXBlID09PSAnZG9jdW1lbnQnKSB7XG5cdFx0XHRyZXR1cm4gJ2luZm8nO1xuXHRcdH1cblx0XHRlbHNlIGlmICh0eXBlID09PSAnY2xpZW50LXJlc3BvbnNlJykge1xuXHRcdFx0cmV0dXJuICdzdWNjZXNzJztcblx0XHR9XG5cdFx0ZWxzZSBpZiAodHlwZSA9PT0gJ2NsaWVudC1yZXF1ZXN0Jykge1xuXHRcdFx0cmV0dXJuICdwcmltYXJ5Jztcblx0XHR9XG5cdFx0ZWxzZSB7XG5cdFx0XHRyZXR1cm4gJ3NlY29uZGFyeSc7XG5cdFx0fVxuXHR9XG5cblx0cmVtb3ZlQWxsTG9ncygpIHtcblx0XHR0aGlzLl9kcy5jb25maXJtKCdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIGFsbCBsb2dzPycpLnRoZW4oKCkgPT4ge1xuXHRcdFx0dGhpcy5fc2VydmljZXMuX3NvY2tldC5jYWxsKCdyZW1vdmVBbGxEb2N1bWVudHMnLCAnbG9ncycpO1xuXHRcdH0sICgpID0+IHsgfSk7XG5cdH1cbn1cbiIsIjxzdHlsZT5cblx0LmxhYmVsLWFjY29yZGlvbiB7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0Y29sb3I6IGJsYWNrO1xuXHRcdG1hcmdpbi1ib3R0b206IDBweDtcblx0fVxuXHRuZ2ItYWNjb3JkaW9uIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXHQuaG92ZXJUaGlzOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kOiBsaWdodGJsdWU7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHR9XG5cdFxuXHQuZmEtcGx1cyB7XG5cdFx0Y29sb3I6IGJsYWNrO1xuXHR9XG5cdC5mYS1taW51cyB7XG5cdFx0Y29sb3I6IGJsYWNrO1xuXHR9XG5cdFxuXHQuc2VsZWN0ZWQge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG9yYW5nZTtcblx0fVxuXHQuc2VsZWN0ZWQ6aG92ZXIge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0fVxuXHQuY2FyZCB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbjwvc3R5bGU+XG5cbjxkaXYgY2xhc3M9XCJyb3dcIj5cblx0PGRpdiBjbGFzcz1cImNvbC1sZy0xMlwiPlxuXHRcdDxkaXYgY2xhc3M9XCJjYXJkXCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj48Yj5GaWx0ZXJzPC9iPjwvZGl2PlxuXHRcdFx0PGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93XCI+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC1sZy0xMlwiPlxuXHRcdFx0XHRcdFx0PHJlc3BvbnNpdmUtYnV0dG9uLWdyb3VwIGNvbGxhcHNlU2l6ZT1cIjkwMFwiPlxuXHRcdFx0XHRcdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbbmdDbGFzc109XCJbJ2J0bicsIHNlbGVjdGVkVHlwZXMuaW5jbHVkZXMoJ2Vycm9yJykgJiYgc2VsZWN0ZWRUeXBlcy5pbmNsdWRlcygnZG9jdW1lbnQnKSAmJiBzZWxlY3RlZFR5cGVzLmluY2x1ZGVzKCdxdWVyeScpICYmIHNlbGVjdGVkVHlwZXMuaW5jbHVkZXMoJ2NsaWVudC1yZXF1ZXN0JykgJiYgc2VsZWN0ZWRUeXBlcy5pbmNsdWRlcygnY2xpZW50LXJlc3BvbnNlJykgPyAnYnRuLXN1Y2Nlc3MnIDogJ2J0bi13YXJuaW5nJ11cIiAoY2xpY2spPVwic2VsZWN0VHlwZSgnYWxsJylcIj5BbGw8L2J1dHRvbj5cblx0XHRcdFx0XHRcdFx0PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW25nQ2xhc3NdPVwiWydidG4nLCBzZWxlY3RlZFR5cGVzLmluY2x1ZGVzKCdlcnJvcicpID8gJ2J0bi1zdWNjZXNzJyA6ICdidG4td2FybmluZyddXCIgKGNsaWNrKT1cInNlbGVjdFR5cGUoJ2Vycm9yJylcIj5FcnJvcnM8L2J1dHRvbj5cblx0XHRcdFx0XHRcdFx0PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW25nQ2xhc3NdPVwiWydidG4nLCBzZWxlY3RlZFR5cGVzLmluY2x1ZGVzKCdkb2N1bWVudCcpID8gJ2J0bi1zdWNjZXNzJyA6ICdidG4td2FybmluZyddXCIgKGNsaWNrKT1cInNlbGVjdFR5cGUoJ2RvY3VtZW50JylcIj5Eb2N1bWVudDwvYnV0dG9uPlxuXHRcdFx0XHRcdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbbmdDbGFzc109XCJbJ2J0bicsIHNlbGVjdGVkVHlwZXMuaW5jbHVkZXMoJ3F1ZXJ5JykgPyAnYnRuLXN1Y2Nlc3MnIDogJ2J0bi13YXJuaW5nJ11cIiAoY2xpY2spPVwic2VsZWN0VHlwZSgncXVlcnknKVwiPlF1ZXJ5PC9idXR0b24+XG5cdFx0XHRcdFx0XHRcdDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtuZ0NsYXNzXT1cIlsnYnRuJywgc2VsZWN0ZWRUeXBlcy5pbmNsdWRlcygncXVlcnlSZXNwb25zZScpID8gJ2J0bi1zdWNjZXNzJyA6ICdidG4td2FybmluZyddXCIgKGNsaWNrKT1cInNlbGVjdFR5cGUoJ3F1ZXJ5UmVzcG9uc2UnKVwiPlF1ZXJ5IFJlc3BvbnNlPC9idXR0b24+XG5cdFx0XHRcdFx0XHRcdDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtuZ0NsYXNzXT1cIlsnYnRuJywgc2VsZWN0ZWRUeXBlcy5pbmNsdWRlcygnY2xpZW50LXJlcXVlc3QnKSA/ICdidG4tc3VjY2VzcycgOiAnYnRuLXdhcm5pbmcnXVwiIChjbGljayk9XCJzZWxlY3RUeXBlKCdjbGllbnQtcmVxdWVzdCcpXCI+Q2xpZW50IFJlcXVlc3RzPC9idXR0b24+XG5cdFx0XHRcdFx0XHRcdDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtuZ0NsYXNzXT1cIlsnYnRuJywgc2VsZWN0ZWRUeXBlcy5pbmNsdWRlcygnY2xpZW50LXJlc3BvbnNlJykgPyAnYnRuLXN1Y2Nlc3MnIDogJ2J0bi13YXJuaW5nJ11cIiAoY2xpY2spPVwic2VsZWN0VHlwZSgnY2xpZW50LXJlc3BvbnNlJylcIj5DbGllbnQgUmVzcG9uc2VzPC9idXR0b24+XG5cdFx0XHRcdFx0XHRcdDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtuZ0NsYXNzXT1cIlsnYnRuJywgc2VsZWN0ZWRUeXBlcy5pbmNsdWRlcygnY2FsbE1ldGhvZEludGVybmFsJykgPyAnYnRuLXN1Y2Nlc3MnIDogJ2J0bi13YXJuaW5nJ11cIiAoY2xpY2spPVwic2VsZWN0VHlwZSgnY2FsbE1ldGhvZEludGVybmFsJylcIj5DYWxsIE1ldGhvZCBJbnRlcm5hbDwvYnV0dG9uPlxuXHRcdFx0XHRcdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tZGFuZ2VyXCIgKGNsaWNrKT1cInJlbW92ZUFsbExvZ3MoKVwiPlJFTU9WRSBBTEwgTE9HUzwvYnV0dG9uPlxuXHRcdFx0XHRcdFx0PC9yZXNwb25zaXZlLWJ1dHRvbi1ncm91cD5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJyb3dcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDEwcHg7XCI+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC1sZy0yXCI+XG5cdFx0XHRcdFx0XHQ8bGFiZWwgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIj5Vc2VyPC9sYWJlbD5cblx0XHRcdFx0XHRcdDxuZy1zZWxlY3QgWyhuZ01vZGVsKV09XCJ1c2VyXCIgKGNoYW5nZSk9XCJnZXRMb2dEYXRhKClcIiBwbGFjZWhvbGRlcj1cIlNlbGVjdCBVc2VyXCI+XG5cdFx0XHRcdFx0XHRcdDxuZy1vcHRpb24gKm5nRm9yPVwibGV0IHVzZXIgb2YgdXNlcnNcIiBbdmFsdWVdPVwidXNlci5mdWxsbmFtZVwiPnt7dXNlci5mdWxsbmFtZX19PC9uZy1vcHRpb24+XG5cdFx0XHRcdFx0XHQ8L25nLXNlbGVjdD5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLWxnLTJcIj5cblx0XHRcdFx0XHRcdDxsYWJlbCBjbGFzcz1cImZvcm0tY29udHJvbC1sYWJlbFwiPkNvbGxlY3Rpb248L2xhYmVsPlxuXHRcdFx0XHRcdFx0PGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJjb2xsZWN0aW9uXCIgKGNoYW5nZSk9XCJnZXRMb2dEYXRhKClcIiBwbGFjZWhvbGRlcj1cIklucHV0IENvbGxzIFNlcCBCeSAsICYgISBmb3IgIU5vdFwiPlxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtbGctMlwiPlxuXHRcdFx0XHRcdFx0PGxhYmVsIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCI+TWV0aG9kPC9sYWJlbD5cblx0XHRcdFx0XHRcdDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwibWV0aG9kXCIgKGNoYW5nZSk9XCJnZXRMb2dEYXRhKClcIiBwbGFjZWhvbGRlcj1cIklucHV0IE1ldGhvZHMgU2VwIEJ5ICwgJiAhIGZvciAhTm90XCI+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC1sZy0yXCI+XG5cdFx0XHRcdFx0XHQ8bGFiZWwgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIj5Sb3V0ZTwvbGFiZWw+XG5cdFx0XHRcdFx0XHQ8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInJvdXRlXCIgKGNoYW5nZSk9XCJnZXRMb2dEYXRhKClcIiBwbGFjZWhvbGRlcj1cIklucHV0IFJvdXRlcyBTZXAgQnkgLCAmICEgZm9yICFOb3RcIj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLWxnLTJcIj5cblx0XHRcdFx0XHRcdDxsYWJlbCBjbGFzcz1cImZvcm0tY29udHJvbC1sYWJlbFwiPkRvY3VtZW50PC9sYWJlbD5cblx0XHRcdFx0XHRcdDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwiaWRfZG9jdW1lbnRcIiAoY2hhbmdlKT1cImdldExvZ0RhdGEoKVwiIHBsYWNlaG9sZGVyPVwiSW5wdXQgSWRzIFNlcCBCeSAsICYgISBmb3IgIU5vdFwiPlxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cInJvd1wiIHN0eWxlPVwibWFyZ2luLXRvcDogMTBweDtcIj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLWxnLTNcIj5cblx0XHRcdFx0XHRcdDxsYWJlbCBjbGFzcz1cImZvcm0tY29udHJvbC1sYWJlbFwiPkRhdGUgU3RhcnQ8L2xhYmVsPlxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XG5cdFx0XHRcdFx0XHRcdDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwiZGF0ZVN0YXJ0RWxlbVwiIG5nYkRhdGVwaWNrZXIgI2RTdGFydD1cIm5nYkRhdGVwaWNrZXJcIiAoY2hhbmdlKT1cImdldExvZ0RhdGEoKVwiPlxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dFwiIChjbGljayk9XCJkU3RhcnQudG9nZ2xlKClcIj5cblx0XHRcdFx0XHRcdFx0XHQ8aSBjbGFzcz1cImZhIGZhLWNhbGVuZGFyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtbGctM1wiPlxuXHRcdFx0XHRcdFx0PGxhYmVsIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCI+VGltZSBTdGFydDwvbGFiZWw+XG5cdFx0XHRcdFx0XHQ8bmdiLXRpbWVwaWNrZXIgWyhuZ01vZGVsKV09XCJ0aW1lU3RhcnRFbGVtXCIgbWVyaWRpYW49XCJPTlwiIFtzZWNvbmRzXT1cInRydWVcIiAoY2hhbmdlKT1cImdldExvZ0RhdGEoKVwiPjwvbmdiLXRpbWVwaWNrZXI+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC1sZy0zXCI+XG5cdFx0XHRcdFx0XHQ8bGFiZWwgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIj5EYXRlIEVuZDwvbGFiZWw+XG5cdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cblx0XHRcdFx0XHRcdFx0PGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJkYXRlRW5kRWxlbVwiIG5nYkRhdGVwaWNrZXIgI2RFbmQ9XCJuZ2JEYXRlcGlja2VyXCIgKGNoYW5nZSk9XCJnZXRMb2dEYXRhKClcIj5cblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLXRleHRcIiAoY2xpY2spPVwiZEVuZC50b2dnbGUoKVwiPlxuXHRcdFx0XHRcdFx0XHRcdDxpIGNsYXNzPVwiZmEgZmEtY2FsZW5kYXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC1sZy0zXCI+XG5cdFx0XHRcdFx0XHQ8bGFiZWwgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIj5UaW1lIEVuZDwvbGFiZWw+PGJyPlxuXHRcdFx0XHRcdFx0PG5nYi10aW1lcGlja2VyIFsobmdNb2RlbCldPVwidGltZUVuZEVsZW1cIiBtZXJpZGlhbj1cIk9OXCIgW3NlY29uZHNdPVwidHJ1ZVwiIChjaGFuZ2UpPVwiZ2V0TG9nRGF0YSgpXCI+PC9uZ2ItdGltZXBpY2tlcj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJyb3dcIj5cblx0PGRpdiBjbGFzcz1cImNvbC1sZy04XCI+XG5cdFx0PGxhYmVsIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCI+RW50cmllcyBQZXIgUGFnZTwvbGFiZWw+XG5cdFx0PHNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwiZW50cmllc19wZXJfcGFnZVwiIChjaGFuZ2UpPVwiZ2V0TG9nRGF0YSgpXCI+XG5cdFx0XHQ8b3B0aW9uIHZhbHVlPVwiMTBcIj4xMDwvb3B0aW9uPlxuXHRcdFx0PG9wdGlvbiB2YWx1ZT1cIjI1XCI+MjU8L29wdGlvbj5cblx0XHRcdDxvcHRpb24gdmFsdWU9XCI1MFwiPjUwPC9vcHRpb24+XG5cdFx0XHQ8b3B0aW9uIHZhbHVlPVwiMTAwXCI+MTAwPC9vcHRpb24+XG5cdFx0XHQ8b3B0aW9uIHZhbHVlPVwiMjUwXCI+MjUwPC9vcHRpb24+XG5cdFx0XHQ8b3B0aW9uIHZhbHVlPVwiNTAwXCI+NTAwPC9vcHRpb24+XG5cdFx0XHQ8b3B0aW9uIHZhbHVlPVwiMTAwMFwiPjEwMDA8L29wdGlvbj5cblx0XHRcdDxvcHRpb24gdmFsdWU9XCI1MDAwXCI+NTAwMDwvb3B0aW9uPlxuXHRcdDwvc2VsZWN0PlxuXHQ8L2Rpdj5cblx0PGRpdiBjbGFzcz1cImNvbC1sZy00XCI+XG5cdFx0PG5nYi1wYWdpbmF0aW9uIGNsYXNzPVwiZmxvYXQtcmlnaHRcIlxuXHRcdGJvdW5kYXJ5TGlua3M9XCJ0cnVlXCJcblx0XHRbY29sbGVjdGlvblNpemVdPVwibG9nX2NudFwiXG5cdFx0ZGlyZWN0aW9uTGlua3M9XCJ0cnVlXCJcblx0XHRlbGxpcHNlcz1cImZhbHNlXCJcblx0XHRbKHBhZ2UpXT1cInBhZ2VfbnVtXCJcblx0XHRtYXhTaXplPVwiNlwiXG5cdFx0W3BhZ2VTaXplXT1cImVudHJpZXNfcGVyX3BhZ2VcIlxuXHRcdHJvdGF0ZT1cInRydWVcIlxuXHRcdChwYWdlQ2hhbmdlKT1cImdldExvZ0RhdGEoKVwiXG5cdFx0PlxuXHRcdDwvbmdiLXBhZ2luYXRpb24+XG5cdDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicm93XCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAxMHB4XCI+XG5cdDxuZ2ItYWNjb3JkaW9uICNhY2M9XCJuZ2JBY2NvcmRpb25cIiBhY3RpdmVJZHM9XCJcIj5cblx0XHQ8bmdiLXBhbmVsICpuZ0Zvcj1cImxldCBsb2cgb2YgbG9nczsgbGV0IGkgPSBpbmRleFwiIFtpZF09XCInbG9nXycgKyBpXCI+XG5cdFx0XHQ8bmctdGVtcGxhdGUgbmdiUGFuZWxUaXRsZT5cblx0XHRcdFx0PGRpdj4gXG5cdFx0XHRcdFx0PGxhYmVsIGNsYXNzPVwibGFiZWwtYWNjb3JkaW9uXCIgc3R5bGU9XCJ3aWR0aDogOTAlOyBoZWlnaHQ6IDIycHhcIj5cblx0XHRcdFx0XHRcdDxzdHJvbmcgY2xhc3M9XCJwdWxsLWxlZnRcIj5UeXBlOiB7eyBsb2cudHlwZSB9fXt7bG9nLm1ldGhvZCA/ICcgLSBNZXRob2Q6ICcgKyBsb2cubWV0aG9kIDogJycgfX17e2xvZy5jb2xsZWN0aW9uID8gJyAtIENvbGxlY3Rpb246ICcgKyBsb2cuY29sbGVjdGlvbiA6ICcnIH19e3tsb2cudXNlciA/ICcgLSBVc2VyOiAnICsgbG9nLnVzZXIgOiAnJyB9fXt7bG9nLnJvdXRlID8gJyAtIFJvdXRlOiAnICsgbG9nLnJvdXRlIDogJycgfX17e2xvZy5pZF9kb2N1bWVudCA/ICcgLSBpZF9kb2N1bWVudDogJyArIGxvZy5pZF9kb2N1bWVudCA6ICcnIH19e3tsb2cubWVzc2FnZUlkID8gJyAtIG1lc3NhZ2VJZDogJyArIGxvZy5tZXNzYWdlSWQgOiAnJyB9fTwvc3Ryb25nPlxuXHRcdFx0XHRcdFx0PHAgY2xhc3M9XCJwdWxsLXJpZ2h0XCI+e3sgbG9nLmNyZWF0ZWRBdCB8IGRhdGUgOiAnbWVkaXVtJyB9fTwvcD5cblx0XHRcdFx0XHQ8L2xhYmVsPlxuXHRcdFx0XHRcdDxpICpuZ0lmPVwiIWFjYy5hY3RpdmVJZHMuaW5jbHVkZXMoJ2xvZ18nICsgaSlcIiBjbGFzcz1cImZhIGZhLXBsdXMgcHVsbC1yaWdodFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cblx0XHRcdFx0XHQ8aSAqbmdJZj1cImFjYy5hY3RpdmVJZHMuaW5jbHVkZXMoJ2xvZ18nICsgaSlcIiBjbGFzcz1cImZhIGZhLW1pbnVzIHB1bGwtcmlnaHRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDxuZy10ZW1wbGF0ZSBuZ2JQYW5lbENvbnRlbnQ+XG5cdFx0XHRcdDxkaXYgKm5nSWY9XCJsb2cucGF5bG9hZFwiPlxuXHRcdFx0XHRcdDxwcmU+e3sgbG9nLnBheWxvYWQgfCBqc29uUGFyc2UgfX08L3ByZT5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDxkaXYgKm5nSWY9XCIhbG9nLnBheWxvYWRcIj5cblx0XHRcdFx0XHRObyBEYXRhXG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHQ8L25nYi1wYW5lbD5cblx0PC9uZ2ItYWNjb3JkaW9uPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicm93XCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAxMHB4XCI+XG5cdDxkaXYgY2xhc3M9XCJjb2wtbGctNFwiPlxuXHRcdDxkaXYgY2xhc3M9XCJyb3dcIj4gXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLWxnLThcIj5cblx0XHRcdFx0PGxhYmVsIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCI+RW50cmllcyBQZXIgUGFnZTwvbGFiZWw+XG5cdFx0XHRcdDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cImVudHJpZXNfcGVyX3BhZ2VcIiAoY2hhbmdlKT1cImdldExvZ0RhdGEoKVwiPlxuXHRcdFx0XHRcdDxvcHRpb24gdmFsdWU9XCIxMFwiPjEwPC9vcHRpb24+XG5cdFx0XHRcdFx0PG9wdGlvbiB2YWx1ZT1cIjI1XCI+MjU8L29wdGlvbj5cblx0XHRcdFx0XHQ8b3B0aW9uIHZhbHVlPVwiNTBcIj41MDwvb3B0aW9uPlxuXHRcdFx0XHRcdDxvcHRpb24gdmFsdWU9XCIxMDBcIj4xMDA8L29wdGlvbj5cblx0XHRcdFx0XHQ8b3B0aW9uIHZhbHVlPVwiMjUwXCI+MjUwPC9vcHRpb24+XG5cdFx0XHRcdFx0PG9wdGlvbiB2YWx1ZT1cIjUwMFwiPjUwMDwvb3B0aW9uPlxuXHRcdFx0XHRcdDxvcHRpb24gdmFsdWU9XCIxMDAwXCI+MTAwMDwvb3B0aW9uPlxuXHRcdFx0XHRcdDxvcHRpb24gdmFsdWU9XCI1MDAwXCI+NTAwMDwvb3B0aW9uPlxuXHRcdFx0XHQ8L3NlbGVjdD5cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXHQ8L2Rpdj5cblx0PGRpdiBjbGFzcz1cImNvbC1sZy04XCI+XG5cdFx0PG5nYi1wYWdpbmF0aW9uIGNsYXNzPVwiZmxvYXQtcmlnaHRcIlxuXHRcdGJvdW5kYXJ5TGlua3M9XCJ0cnVlXCJcblx0XHRbY29sbGVjdGlvblNpemVdPVwibG9nX2NudFwiXG5cdFx0ZGlyZWN0aW9uTGlua3M9XCJ0cnVlXCJcblx0XHRlbGxpcHNlcz1cImZhbHNlXCJcblx0XHRbKHBhZ2UpXT1cInBhZ2VfbnVtXCJcblx0XHRtYXhTaXplPVwiNlwiXG5cdFx0W3BhZ2VTaXplXT1cImVudHJpZXNfcGVyX3BhZ2VcIlxuXHRcdHJvdGF0ZT1cInRydWVcIlxuXHRcdChwYWdlQ2hhbmdlKT1cImdldExvZ0RhdGEoKVwiXG5cdFx0PlxuXHRcdDwvbmdiLXBhZ2luYXRpb24+XG5cdDwvZGl2PlxuPC9kaXY+Il19
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9sb2dnZXIvbG9nZ2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9sb2dnZXIvbG9nZ2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpHLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEUsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7OztBQVFqRSxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxhQUFhO0lBMEJqRCxZQUFvQixTQUEwQixFQUFVLEdBQWtCLEVBQVUsR0FBc0I7UUFDekcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBREUsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFlO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUF4QjFHLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUNuQyxTQUFJLEdBQVUsRUFBRSxDQUFDO1FBRWpCLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUN0QixhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUVaLFNBQUksR0FBRyxJQUFJLENBQUM7UUFDWixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBU1gsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFFbkIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ1osVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGdCQUFXLEdBQUcsRUFBRSxDQUFDO0lBSWpCLENBQUM7SUFFRCxRQUFRO1FBQ1AsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUU7WUFDekQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzlDO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN0RixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUVuQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFSixJQUFJLFdBQVcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzdCLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakMsSUFBSSxVQUFVLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFDLENBQUM7UUFDbkgsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFDLENBQUM7UUFFckQsSUFBSSxTQUFTLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUMzQixTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLElBQUksUUFBUSxHQUFHLFNBQVMsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxXQUFXLEVBQUUsRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUFDLENBQUM7UUFDM0csSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFDLENBQUM7UUFFdEQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxXQUFXO1FBQ1YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDaEMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELFVBQVU7UUFDVCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzTCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUUvSyxJQUFJLEtBQUssR0FBUTtZQUNoQixJQUFJLEVBQUU7Z0JBQ0wsRUFBQyxTQUFTLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBQyxFQUFDO2dCQUNuQyxFQUFDLFNBQVMsRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFDLEVBQUM7YUFDakM7U0FDRCxDQUFDO1FBRUYsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFO1lBQy9CLE9BQU87U0FDUDthQUNJO1lBQ0osS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsRUFBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBQyxFQUFDLENBQUMsQ0FBQztTQUNuRDtRQUVELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwQixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNsQyxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDaEcsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFO29CQUN2QixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDLFVBQVUsRUFBRSxFQUFDLEdBQUcsRUFBRSxXQUFXLEVBQUMsRUFBQyxDQUFDLENBQUM7aUJBQ2xEO2dCQUVELElBQUksY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDbEcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDNUIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxVQUFVLEVBQUUsRUFBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUMsRUFBQyxDQUFDLENBQUM7Z0JBQzVELENBQUMsQ0FBQyxDQUFDO2FBQ0g7aUJBQ0k7Z0JBQ0osSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDcEMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxVQUFVLEVBQUUsRUFBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFDLEVBQUMsQ0FBQyxDQUFDO2lCQUM5RTtxQkFDSTtvQkFDSixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxFQUFDLENBQUMsQ0FBQztpQkFDdEQ7YUFDRDtTQUNEO1FBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzlCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUN4RixJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7b0JBQ25CLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUMsTUFBTSxFQUFFLEVBQUMsR0FBRyxFQUFFLE9BQU8sRUFBQyxFQUFDLENBQUMsQ0FBQztpQkFDMUM7Z0JBRUQsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUMxRixVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUN4QixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDLE1BQU0sRUFBRSxFQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBQyxFQUFDLENBQUMsQ0FBQztnQkFDeEQsQ0FBQyxDQUFDLENBQUM7YUFDSDtpQkFDSTtnQkFDSixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNoQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDLE1BQU0sRUFBRSxFQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUMsRUFBQyxDQUFDLENBQUM7aUJBQ3RFO3FCQUNJO29CQUNKLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUMsQ0FBQyxDQUFDO2lCQUM5QzthQUNEO1NBQ0Q7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUM3QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDdEYsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO29CQUNsQixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDLEtBQUssRUFBRSxFQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUMsRUFBQyxDQUFDLENBQUM7aUJBQ3hDO2dCQUVELElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDeEYsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDdkIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxLQUFLLEVBQUUsRUFBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUMsRUFBQyxDQUFDLENBQUM7Z0JBQ3ZELENBQUMsQ0FBQyxDQUFDO2FBQ0g7aUJBQ0k7Z0JBQ0osSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDL0IsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxLQUFLLEVBQUUsRUFBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFDLEVBQUMsQ0FBQyxDQUFDO2lCQUNwRTtxQkFDSTtvQkFDSixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFDLENBQUMsQ0FBQztpQkFDNUM7YUFDRDtTQUNEO1FBRUQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3JCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ25DLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNsRyxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUU7b0JBQ3hCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUMsV0FBVyxFQUFFLEVBQUMsR0FBRyxFQUFFLFlBQVksRUFBQyxFQUFDLENBQUMsQ0FBQztpQkFDcEQ7Z0JBRUQsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUMzRixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNwQixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDLFdBQVcsRUFBRSxFQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBQyxFQUFDLENBQUMsQ0FBQztnQkFDN0QsQ0FBQyxDQUFDLENBQUM7YUFDSDtpQkFDSTtnQkFDSixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNyQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDLFdBQVcsRUFBRSxFQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUMsRUFBQyxDQUFDLENBQUM7aUJBQ2hGO3FCQUNJO29CQUNKLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEVBQUMsQ0FBQyxDQUFDO2lCQUN4RDthQUNEO1NBQ0Q7UUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQztTQUNuQztRQUVELElBQUksT0FBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLFFBQVEsRUFBRTtZQUMvQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQ3hEO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBQyxJQUFJLEVBQUUsRUFBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDcEwsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7WUFFaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ25GLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1lBRW5CLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBWTtRQUN0QixJQUFJLElBQUksS0FBSyxLQUFLLEVBQUU7WUFDbkIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDL0Q7aUJBQ0k7Z0JBQ0osSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDOUI7U0FDRDthQUNJO1lBQ0osSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO2FBQ3hCO2lCQUNJO2dCQUNKLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsb0JBQW9CLENBQUMsQ0FBQzthQUNoSTtTQUNEO1FBRUQsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFFZixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFO1lBQzlCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNsQjtJQUNGLENBQUM7SUFFRCxJQUFJLENBQUMsSUFBSTtRQUNSLElBQUksSUFBSSxLQUFLLE9BQU8sRUFBRTtZQUNyQixPQUFPLFFBQVEsQ0FBQztTQUNoQjthQUNJLElBQUksSUFBSSxLQUFLLFVBQVUsRUFBRTtZQUM3QixPQUFPLE1BQU0sQ0FBQztTQUNkO2FBQ0ksSUFBSSxJQUFJLEtBQUssaUJBQWlCLEVBQUU7WUFDcEMsT0FBTyxTQUFTLENBQUM7U0FDakI7YUFDSSxJQUFJLElBQUksS0FBSyxnQkFBZ0IsRUFBRTtZQUNuQyxPQUFPLFNBQVMsQ0FBQztTQUNqQjthQUNJO1lBQ0osT0FBTyxXQUFXLENBQUM7U0FDbkI7SUFDRixDQUFDO0lBRUQsYUFBYTtRQUNaLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLDJDQUEyQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUN2RSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDM0QsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2YsQ0FBQzs7NkdBOU9XLGVBQWU7aUdBQWYsZUFBZSx1Q0FMaEIsQ0FBQyxlQUFlLENBQUMsaURDUDdCLHFqU0FxTU07NEZEekxPLGVBQWU7a0JBTjNCLFNBQVM7Z0NBQ0UsQ0FBQyxlQUFlLENBQUMsbUJBRVgsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQcm92aWRlclNlcnZpY2UsIEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9yZXNvbHZlaW8tY2xhc3MnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJy4uL3dpZGdldHMvZGlhbG9nL2RpYWxvZy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG5cdHByb3ZpZGVyczogW1Byb3ZpZGVyU2VydmljZV0sXG5cdHRlbXBsYXRlVXJsOiAnLi9sb2dnZXIuY29tcG9uZW50Lmh0bWwnLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcblxuZXhwb3J0IGNsYXNzIExvZ2dlckNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7IFxuXG5cdHN1YnNjcmlwdGlvbiQ6IFN1YnNjcmlwdGlvbltdID0gW107XG5cdGxvZ3M6IGFueVtdID0gW107XG5cblx0ZW50cmllc19wZXJfcGFnZSA9IDI1O1xuXHRwYWdlX251bSA9IDE7XG5cdGxvZ19jbnQgPSAwO1xuXG5cdHVzZXIgPSBudWxsO1xuXHR1c2VycyA9IFtdO1xuXG5cdGRhdGVTdGFydEVsZW07XG5cdGRhdGVFbmRFbGVtO1xuXHR0aW1lU3RhcnRFbGVtO1xuXHR0aW1lRW5kRWxlbTtcblx0ZGF0ZVN0YXJ0OiBEYXRlO1xuXHRkYXRlRW5kOiBEYXRlO1xuXG5cdHNlbGVjdGVkVHlwZXMgPSBbXTtcblxuXHRjb2xsZWN0aW9uID0gJyc7XG5cdG1ldGhvZCA9ICcnO1xuXHRyb3V0ZSA9ICcnO1xuXHRpZF9kb2N1bWVudCA9ICcnO1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgX3NlcnZpY2VzOiBQcm92aWRlclNlcnZpY2UsIHByaXZhdGUgX2RzOiBEaWFsb2dTZXJ2aWNlLCBwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcblx0XHRzdXBlcihfc2VydmljZXMpO1xuXHR9XG5cblx0bmdPbkluaXQoKSB7XG5cdFx0aWYgKCF0aGlzLl9zZXJ2aWNlcy5fYWNjb3VudC5nZXRVc2VyKCkucm9sZXMuc3VwZXJfYWRtaW4pIHtcblx0XHRcdHRoaXMuX3NlcnZpY2VzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2hvbWUnKTtcblx0XHR9XG5cblx0XHR0aGlzLnN1YnNjcmlwdGlvbiQucHVzaCh0aGlzLl9zZXJ2aWNlcy5fc29ja2V0LnN1YnNjcmliZSgnYWxsVXNlcnMnKS5zdWJzY3JpYmUodXNlcnMgPT4ge1xuXHRcdFx0dGhpcy51c2VycyA9IHVzZXJzO1xuXG5cdFx0XHR0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG5cdFx0fSkpO1xuXG5cdFx0bGV0IGpzRGF0ZVN0YXJ0ID0gbmV3IERhdGUoKTtcblx0XHRqc0RhdGVTdGFydC5zZXRIb3VycygwLCAwLCAwLCAwKTtcblx0XHRsZXQgZGF0ZV9zdGFydCA9IG5ldyBEYXRlKG1vbWVudChqc0RhdGVTdGFydCkuc3VidHJhY3QoMTAsICdkYXlzJykudG9EYXRlKCkpO1xuXHRcdHRoaXMuZGF0ZVN0YXJ0RWxlbSA9IHt5ZWFyOiBkYXRlX3N0YXJ0LmdldEZ1bGxZZWFyKCksIG1vbnRoOiBkYXRlX3N0YXJ0LmdldE1vbnRoKCkgKyAxLCBkYXk6IGRhdGVfc3RhcnQuZ2V0RGF0ZSgpfTtcblx0XHR0aGlzLnRpbWVTdGFydEVsZW0gPSB7aG91cjogMCwgbWludXRlOiAwLCBzZWNvbmQ6IDB9O1xuXG5cdFx0bGV0IGpzRGF0ZUVuZCA9IG5ldyBEYXRlKCk7XG5cdFx0anNEYXRlRW5kLnNldEhvdXJzKDIzLCA1OSwgNTksIDk5OSk7XG5cdFx0bGV0IGRhdGVfZW5kID0ganNEYXRlRW5kO1xuXHRcdHRoaXMuZGF0ZUVuZEVsZW0gPSB7eWVhcjogZGF0ZV9lbmQuZ2V0RnVsbFllYXIoKSwgbW9udGg6IGRhdGVfZW5kLmdldE1vbnRoKCkgKyAxLCBkYXk6IGRhdGVfZW5kLmdldERhdGUoKX07XG5cdFx0dGhpcy50aW1lRW5kRWxlbSA9IHtob3VyOiAyMywgbWludXRlOiA1OSwgc2Vjb25kOiA1OX07XG5cblx0XHR0aGlzLmdldExvZ0RhdGEoKTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCkge1xuXHRcdHRoaXMuc3Vic2NyaXB0aW9uJC5mb3JFYWNoKHN1YiA9PiB7XG5cdFx0XHRzdWIudW5zdWJzY3JpYmUoKTtcblx0XHR9KTtcblx0fVxuXG5cdGdldExvZ0RhdGEoKSB7XG5cdFx0dGhpcy5kYXRlU3RhcnQgPSBuZXcgRGF0ZSh0aGlzLmRhdGVTdGFydEVsZW0ueWVhciwgdGhpcy5kYXRlU3RhcnRFbGVtLm1vbnRoIC0gMSwgdGhpcy5kYXRlU3RhcnRFbGVtLmRheSwgdGhpcy50aW1lU3RhcnRFbGVtLmhvdXIsIHRoaXMudGltZVN0YXJ0RWxlbS5taW51dGUsIHRoaXMudGltZVN0YXJ0RWxlbS5zZWNvbmQsIDApO1xuXHRcdHRoaXMuZGF0ZUVuZCA9IG5ldyBEYXRlKHRoaXMuZGF0ZUVuZEVsZW0ueWVhciwgdGhpcy5kYXRlRW5kRWxlbS5tb250aCAtIDEsIHRoaXMuZGF0ZUVuZEVsZW0uZGF5LCB0aGlzLnRpbWVFbmRFbGVtLmhvdXIsIHRoaXMudGltZUVuZEVsZW0ubWludXRlLCB0aGlzLnRpbWVFbmRFbGVtLnNlY29uZCwgOTk5KTtcblxuXHRcdGxldCBxdWVyeTogYW55ID0ge1xuXHRcdFx0JGFuZDogW1xuXHRcdFx0XHR7Y3JlYXRlZEF0OiB7JGd0ZTogdGhpcy5kYXRlU3RhcnR9fSxcblx0XHRcdFx0e2NyZWF0ZWRBdDogeyRsdGU6IHRoaXMuZGF0ZUVuZH19XG5cdFx0XHRdXG5cdFx0fTtcblxuXHRcdGlmICghdGhpcy5zZWxlY3RlZFR5cGVzLmxlbmd0aCkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRlbHNlIHtcblx0XHRcdHF1ZXJ5LiRhbmQucHVzaCh7dHlwZTogeyRpbjogdGhpcy5zZWxlY3RlZFR5cGVzfX0pO1xuXHRcdH1cblxuXHRcdGlmICh0aGlzLmNvbGxlY3Rpb24pIHtcblx0XHRcdGlmICh0aGlzLmNvbGxlY3Rpb24uaW5jbHVkZXMoJywnKSkge1xuXHRcdFx0XHRsZXQgY29sbGVjdGlvbnMgPSB0aGlzLmNvbGxlY3Rpb24uc3BsaXQoJywnKS5tYXAoYSA9PiBhLnRyaW0oKSkuZmlsdGVyKGEgPT4gIWEuc3RhcnRzV2l0aCgnIScpKTtcblx0XHRcdFx0aWYgKGNvbGxlY3Rpb25zLmxlbmd0aCkge1xuXHRcdFx0XHRcdHF1ZXJ5LiRhbmQucHVzaCh7Y29sbGVjdGlvbjogeyRpbjogY29sbGVjdGlvbnN9fSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRsZXQgbm90Q29sbGVjdGlvbnMgPSB0aGlzLmNvbGxlY3Rpb24uc3BsaXQoJywnKS5tYXAoYSA9PiBhLnRyaW0oKSkuZmlsdGVyKGEgPT4gYS5zdGFydHNXaXRoKCchJykpO1xuXHRcdFx0XHRub3RDb2xsZWN0aW9ucy5mb3JFYWNoKG5vdCA9PiB7XG5cdFx0XHRcdFx0cXVlcnkuJGFuZC5wdXNoKHtjb2xsZWN0aW9uOiB7JG5lOiBub3QucmVwbGFjZSgnIScsICcnKX19KTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0XHRlbHNlIHtcblx0XHRcdFx0aWYgKHRoaXMuY29sbGVjdGlvbi5zdGFydHNXaXRoKCchJykpIHtcblx0XHRcdFx0XHRxdWVyeS4kYW5kLnB1c2goe2NvbGxlY3Rpb246IHskbmU6IHRoaXMuY29sbGVjdGlvbi5yZXBsYWNlKCchJywgJycpLnRyaW0oKX19KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRlbHNlIHtcblx0XHRcdFx0XHRxdWVyeS4kYW5kLnB1c2goe2NvbGxlY3Rpb246IHRoaXMuY29sbGVjdGlvbi50cmltKCl9KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGlmICh0aGlzLm1ldGhvZCkge1xuXHRcdFx0aWYgKHRoaXMubWV0aG9kLmluY2x1ZGVzKCcsJykpIHtcblx0XHRcdFx0bGV0IG1ldGhvZHMgPSB0aGlzLm1ldGhvZC5zcGxpdCgnLCcpLm1hcChhID0+IGEudHJpbSgpKS5maWx0ZXIoYSA9PiAhYS5zdGFydHNXaXRoKCchJykpO1xuXHRcdFx0XHRpZiAobWV0aG9kcy5sZW5ndGgpIHtcblx0XHRcdFx0XHRxdWVyeS4kYW5kLnB1c2goe21ldGhvZDogeyRpbjogbWV0aG9kc319KTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGxldCBub3RNZXRob2RzID0gdGhpcy5tZXRob2Quc3BsaXQoJywnKS5tYXAoYSA9PiBhLnRyaW0oKSkuZmlsdGVyKGEgPT4gYS5zdGFydHNXaXRoKCchJykpO1xuXHRcdFx0XHRub3RNZXRob2RzLmZvckVhY2gobm90ID0+IHtcblx0XHRcdFx0XHRxdWVyeS4kYW5kLnB1c2goe21ldGhvZDogeyRuZTogbm90LnJlcGxhY2UoJyEnLCAnJyl9fSk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdFx0ZWxzZSB7XG5cdFx0XHRcdGlmICh0aGlzLm1ldGhvZC5zdGFydHNXaXRoKCchJykpIHtcblx0XHRcdFx0XHRxdWVyeS4kYW5kLnB1c2goe21ldGhvZDogeyRuZTogdGhpcy5tZXRob2QucmVwbGFjZSgnIScsICcnKS50cmltKCl9fSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0cXVlcnkuJGFuZC5wdXNoKHttZXRob2Q6IHRoaXMubWV0aG9kLnRyaW0oKX0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMucm91dGUpIHtcblx0XHRcdGlmICh0aGlzLnJvdXRlLmluY2x1ZGVzKCcsJykpIHtcblx0XHRcdFx0bGV0IHJvdXRlcyA9IHRoaXMucm91dGUuc3BsaXQoJywnKS5tYXAoYSA9PiBhLnRyaW0oKSkuZmlsdGVyKGEgPT4gIWEuc3RhcnRzV2l0aCgnIScpKTtcblx0XHRcdFx0aWYgKHJvdXRlcy5sZW5ndGgpIHtcblx0XHRcdFx0XHRxdWVyeS4kYW5kLnB1c2goe3JvdXRlOiB7JGluOiByb3V0ZXN9fSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRsZXQgbm90Um91dGVzID0gdGhpcy5yb3V0ZS5zcGxpdCgnLCcpLm1hcChhID0+IGEudHJpbSgpKS5maWx0ZXIoYSA9PiBhLnN0YXJ0c1dpdGgoJyEnKSk7XG5cdFx0XHRcdG5vdFJvdXRlcy5mb3JFYWNoKG5vdCA9PiB7XG5cdFx0XHRcdFx0cXVlcnkuJGFuZC5wdXNoKHtyb3V0ZTogeyRuZTogbm90LnJlcGxhY2UoJyEnLCAnJyl9fSk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdFx0ZWxzZSB7XG5cdFx0XHRcdGlmICh0aGlzLnJvdXRlLnN0YXJ0c1dpdGgoJyEnKSkge1xuXHRcdFx0XHRcdHF1ZXJ5LiRhbmQucHVzaCh7cm91dGU6IHskbmU6IHRoaXMucm91dGUucmVwbGFjZSgnIScsICcnKS50cmltKCl9fSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0cXVlcnkuJGFuZC5wdXNoKHtyb3V0ZTogdGhpcy5yb3V0ZS50cmltKCl9KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHRpZiAodGhpcy5pZF9kb2N1bWVudCkge1xuXHRcdFx0aWYgKHRoaXMuaWRfZG9jdW1lbnQuaW5jbHVkZXMoJywnKSkge1xuXHRcdFx0XHRsZXQgaWRfZG9jdW1lbnRzID0gdGhpcy5pZF9kb2N1bWVudC5zcGxpdCgnLCcpLm1hcChhID0+IGEudHJpbSgpKS5maWx0ZXIoYSA9PiAhYS5zdGFydHNXaXRoKCchJykpO1xuXHRcdFx0XHRpZiAoaWRfZG9jdW1lbnRzLmxlbmd0aCkge1xuXHRcdFx0XHRcdHF1ZXJ5LiRhbmQucHVzaCh7aWRfZG9jdW1lbnQ6IHskaW46IGlkX2RvY3VtZW50c319KTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGxldCBub3RJZHMgPSB0aGlzLmlkX2RvY3VtZW50LnNwbGl0KCcsJykubWFwKGEgPT4gYS50cmltKCkpLmZpbHRlcihhID0+IGEuc3RhcnRzV2l0aCgnIScpKTtcblx0XHRcdFx0bm90SWRzLmZvckVhY2gobm90ID0+IHtcblx0XHRcdFx0XHRxdWVyeS4kYW5kLnB1c2goe2lkX2RvY3VtZW50OiB7JG5lOiBub3QucmVwbGFjZSgnIScsICcnKX19KTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0XHRlbHNlIHtcblx0XHRcdFx0aWYgKHRoaXMuaWRfZG9jdW1lbnQuc3RhcnRzV2l0aCgnIScpKSB7XG5cdFx0XHRcdFx0cXVlcnkuJGFuZC5wdXNoKHtpZF9kb2N1bWVudDogeyRuZTogdGhpcy5pZF9kb2N1bWVudC5yZXBsYWNlKCchJywgJycpLnRyaW0oKX19KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRlbHNlIHtcblx0XHRcdFx0XHRxdWVyeS4kYW5kLnB1c2goe2lkX2RvY3VtZW50OiB0aGlzLmlkX2RvY3VtZW50LnRyaW0oKX0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMudXNlcikge1xuXHRcdFx0cXVlcnkuJGFuZC5wdXNoKHt1c2VyOiB0aGlzLnVzZXJ9KTtcblx0XHR9XG5cblx0XHRpZiAodHlwZW9mKHRoaXMuZW50cmllc19wZXJfcGFnZSkgPT09ICdzdHJpbmcnKSB7XG5cdFx0XHR0aGlzLmVudHJpZXNfcGVyX3BhZ2UgPSBwYXJzZUludCh0aGlzLmVudHJpZXNfcGVyX3BhZ2UpO1xuXHRcdH1cblx0XHRcblx0XHR0aGlzLl9zZXJ2aWNlcy5fc29ja2V0LmNhbGwoJ2ZpbmRXaXRoT3B0aW9ucycsICdsb2dzJywgcXVlcnksIHtzb3J0OiB7Y3JlYXRlZEF0OiAtMX0sIGxpbWl0OiB0aGlzLmVudHJpZXNfcGVyX3BhZ2UsIHNraXA6IHRoaXMuZW50cmllc19wZXJfcGFnZSAqICh0aGlzLnBhZ2VfbnVtIC0gMSl9LCAoZXJyLCByZXMpID0+IHtcblx0XHRcdHRoaXMubG9ncyA9IHJlcztcblxuXHRcdFx0dGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuXHRcdH0pO1xuXG5cdFx0dGhpcy5fc2VydmljZXMuX3NvY2tldC5jYWxsKCdjb3VudENvbGxlY3Rpb25XaXRoUXVlcnknLCAnbG9ncycsIHF1ZXJ5LCAoZXJyLCByZXMpID0+IHtcblx0XHRcdHRoaXMubG9nX2NudCA9IHJlcztcblxuXHRcdFx0dGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuXHRcdH0pO1xuXG5cdFx0dGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuXHR9XG5cblx0c2VsZWN0VHlwZSh0eXBlOiBzdHJpbmcpIHtcblx0XHRpZiAodHlwZSAhPT0gJ2FsbCcpIHtcblx0XHRcdGlmICh0aGlzLnNlbGVjdGVkVHlwZXMuaW5jbHVkZXModHlwZSkpIHtcblx0XHRcdFx0dGhpcy5zZWxlY3RlZFR5cGVzLnNwbGljZSh0aGlzLnNlbGVjdGVkVHlwZXMuaW5kZXhPZih0eXBlKSwgMSk7XG5cdFx0XHR9XG5cdFx0XHRlbHNlIHtcblx0XHRcdFx0dGhpcy5zZWxlY3RlZFR5cGVzLnB1c2godHlwZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGVsc2Uge1xuXHRcdFx0aWYgKHRoaXMuc2VsZWN0ZWRUeXBlcy5sZW5ndGggPT09IDcpIHtcblx0XHRcdFx0dGhpcy5zZWxlY3RlZFR5cGVzID0gW107XG5cdFx0XHR9XG5cdFx0XHRlbHNlIHtcblx0XHRcdFx0dGhpcy5zZWxlY3RlZFR5cGVzID0gWydlcnJvcicsICdkb2N1bWVudCcsICdxdWVyeScsICdxdWVyeVJlc3BvbnNlJywgJ2NsaWVudC1yZXF1ZXN0JywgJ2NsaWVudC1yZXNwb25zZScsICdjYWxsTWV0aG9kSW50ZXJuYWwnXTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHR0aGlzLmxvZ3MgPSBbXTtcblxuXHRcdGlmICh0aGlzLnNlbGVjdGVkVHlwZXMubGVuZ3RoKSB7XG5cdFx0XHR0aGlzLmdldExvZ0RhdGEoKTtcblx0XHR9XG5cdH1cblxuXHRpY29uKHR5cGUpIHtcblx0XHRpZiAodHlwZSA9PT0gJ2Vycm9yJykge1xuXHRcdFx0cmV0dXJuICdkYW5nZXInO1xuXHRcdH1cblx0XHRlbHNlIGlmICh0eXBlID09PSAnZG9jdW1lbnQnKSB7XG5cdFx0XHRyZXR1cm4gJ2luZm8nO1xuXHRcdH1cblx0XHRlbHNlIGlmICh0eXBlID09PSAnY2xpZW50LXJlc3BvbnNlJykge1xuXHRcdFx0cmV0dXJuICdzdWNjZXNzJztcblx0XHR9XG5cdFx0ZWxzZSBpZiAodHlwZSA9PT0gJ2NsaWVudC1yZXF1ZXN0Jykge1xuXHRcdFx0cmV0dXJuICdwcmltYXJ5Jztcblx0XHR9XG5cdFx0ZWxzZSB7XG5cdFx0XHRyZXR1cm4gJ3NlY29uZGFyeSc7XG5cdFx0fVxuXHR9XG5cblx0cmVtb3ZlQWxsTG9ncygpIHtcblx0XHR0aGlzLl9kcy5jb25maXJtKCdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIGFsbCBsb2dzPycpLnRoZW4oKCkgPT4ge1xuXHRcdFx0dGhpcy5fc2VydmljZXMuX3NvY2tldC5jYWxsKCdyZW1vdmVBbGxEb2N1bWVudHMnLCAnbG9ncycpO1xuXHRcdH0sICgpID0+IHsgfSk7XG5cdH1cbn1cbiIsIjxzdHlsZT5cblx0LmxhYmVsLWFjY29yZGlvbiB7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0Y29sb3I6IGJsYWNrO1xuXHRcdG1hcmdpbi1ib3R0b206IDBweDtcblx0fVxuXHRuZ2ItYWNjb3JkaW9uIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXHQuaG92ZXJUaGlzOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kOiBsaWdodGJsdWU7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHR9XG5cdFxuXHQuZmEtcGx1cyB7XG5cdFx0Y29sb3I6IGJsYWNrO1xuXHR9XG5cdC5mYS1taW51cyB7XG5cdFx0Y29sb3I6IGJsYWNrO1xuXHR9XG5cdFxuXHQuc2VsZWN0ZWQge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG9yYW5nZTtcblx0fVxuXHQuc2VsZWN0ZWQ6aG92ZXIge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0fVxuXHQuY2FyZCB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbjwvc3R5bGU+XG5cbjxkaXYgY2xhc3M9XCJyb3dcIj5cblx0PGRpdiBjbGFzcz1cImNvbC1sZy0xMlwiPlxuXHRcdDxkaXYgY2xhc3M9XCJjYXJkXCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj48Yj5GaWx0ZXJzPC9iPjwvZGl2PlxuXHRcdFx0PGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93XCI+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC1sZy0xMlwiPlxuXHRcdFx0XHRcdFx0PHJlc3BvbnNpdmUtYnV0dG9uLWdyb3VwIGNvbGxhcHNlU2l6ZT1cIjkwMFwiPlxuXHRcdFx0XHRcdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbbmdDbGFzc109XCJbJ2J0bicsIHNlbGVjdGVkVHlwZXMuaW5jbHVkZXMoJ2Vycm9yJykgJiYgc2VsZWN0ZWRUeXBlcy5pbmNsdWRlcygnZG9jdW1lbnQnKSAmJiBzZWxlY3RlZFR5cGVzLmluY2x1ZGVzKCdxdWVyeScpICYmIHNlbGVjdGVkVHlwZXMuaW5jbHVkZXMoJ2NsaWVudC1yZXF1ZXN0JykgJiYgc2VsZWN0ZWRUeXBlcy5pbmNsdWRlcygnY2xpZW50LXJlc3BvbnNlJykgPyAnYnRuLXN1Y2Nlc3MnIDogJ2J0bi13YXJuaW5nJ11cIiAoY2xpY2spPVwic2VsZWN0VHlwZSgnYWxsJylcIj5BbGw8L2J1dHRvbj5cblx0XHRcdFx0XHRcdFx0PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW25nQ2xhc3NdPVwiWydidG4nLCBzZWxlY3RlZFR5cGVzLmluY2x1ZGVzKCdlcnJvcicpID8gJ2J0bi1zdWNjZXNzJyA6ICdidG4td2FybmluZyddXCIgKGNsaWNrKT1cInNlbGVjdFR5cGUoJ2Vycm9yJylcIj5FcnJvcnM8L2J1dHRvbj5cblx0XHRcdFx0XHRcdFx0PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW25nQ2xhc3NdPVwiWydidG4nLCBzZWxlY3RlZFR5cGVzLmluY2x1ZGVzKCdkb2N1bWVudCcpID8gJ2J0bi1zdWNjZXNzJyA6ICdidG4td2FybmluZyddXCIgKGNsaWNrKT1cInNlbGVjdFR5cGUoJ2RvY3VtZW50JylcIj5Eb2N1bWVudDwvYnV0dG9uPlxuXHRcdFx0XHRcdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBbbmdDbGFzc109XCJbJ2J0bicsIHNlbGVjdGVkVHlwZXMuaW5jbHVkZXMoJ3F1ZXJ5JykgPyAnYnRuLXN1Y2Nlc3MnIDogJ2J0bi13YXJuaW5nJ11cIiAoY2xpY2spPVwic2VsZWN0VHlwZSgncXVlcnknKVwiPlF1ZXJ5PC9idXR0b24+XG5cdFx0XHRcdFx0XHRcdDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtuZ0NsYXNzXT1cIlsnYnRuJywgc2VsZWN0ZWRUeXBlcy5pbmNsdWRlcygncXVlcnlSZXNwb25zZScpID8gJ2J0bi1zdWNjZXNzJyA6ICdidG4td2FybmluZyddXCIgKGNsaWNrKT1cInNlbGVjdFR5cGUoJ3F1ZXJ5UmVzcG9uc2UnKVwiPlF1ZXJ5IFJlc3BvbnNlPC9idXR0b24+XG5cdFx0XHRcdFx0XHRcdDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtuZ0NsYXNzXT1cIlsnYnRuJywgc2VsZWN0ZWRUeXBlcy5pbmNsdWRlcygnY2xpZW50LXJlcXVlc3QnKSA/ICdidG4tc3VjY2VzcycgOiAnYnRuLXdhcm5pbmcnXVwiIChjbGljayk9XCJzZWxlY3RUeXBlKCdjbGllbnQtcmVxdWVzdCcpXCI+Q2xpZW50IFJlcXVlc3RzPC9idXR0b24+XG5cdFx0XHRcdFx0XHRcdDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtuZ0NsYXNzXT1cIlsnYnRuJywgc2VsZWN0ZWRUeXBlcy5pbmNsdWRlcygnY2xpZW50LXJlc3BvbnNlJykgPyAnYnRuLXN1Y2Nlc3MnIDogJ2J0bi13YXJuaW5nJ11cIiAoY2xpY2spPVwic2VsZWN0VHlwZSgnY2xpZW50LXJlc3BvbnNlJylcIj5DbGllbnQgUmVzcG9uc2VzPC9idXR0b24+XG5cdFx0XHRcdFx0XHRcdDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtuZ0NsYXNzXT1cIlsnYnRuJywgc2VsZWN0ZWRUeXBlcy5pbmNsdWRlcygnY2FsbE1ldGhvZEludGVybmFsJykgPyAnYnRuLXN1Y2Nlc3MnIDogJ2J0bi13YXJuaW5nJ11cIiAoY2xpY2spPVwic2VsZWN0VHlwZSgnY2FsbE1ldGhvZEludGVybmFsJylcIj5DYWxsIE1ldGhvZCBJbnRlcm5hbDwvYnV0dG9uPlxuXHRcdFx0XHRcdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tZGFuZ2VyXCIgKGNsaWNrKT1cInJlbW92ZUFsbExvZ3MoKVwiPlJFTU9WRSBBTEwgTE9HUzwvYnV0dG9uPlxuXHRcdFx0XHRcdFx0PC9yZXNwb25zaXZlLWJ1dHRvbi1ncm91cD5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJyb3dcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDEwcHg7XCI+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC1sZy0yXCI+XG5cdFx0XHRcdFx0XHQ8bGFiZWwgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIj5Vc2VyPC9sYWJlbD5cblx0XHRcdFx0XHRcdDxuZy1zZWxlY3QgWyhuZ01vZGVsKV09XCJ1c2VyXCIgKGNoYW5nZSk9XCJnZXRMb2dEYXRhKClcIiBwbGFjZWhvbGRlcj1cIlNlbGVjdCBVc2VyXCI+XG5cdFx0XHRcdFx0XHRcdDxuZy1vcHRpb24gKm5nRm9yPVwibGV0IHVzZXIgb2YgdXNlcnNcIiBbdmFsdWVdPVwidXNlci5mdWxsbmFtZVwiPnt7dXNlci5mdWxsbmFtZX19PC9uZy1vcHRpb24+XG5cdFx0XHRcdFx0XHQ8L25nLXNlbGVjdD5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLWxnLTJcIj5cblx0XHRcdFx0XHRcdDxsYWJlbCBjbGFzcz1cImZvcm0tY29udHJvbC1sYWJlbFwiPkNvbGxlY3Rpb248L2xhYmVsPlxuXHRcdFx0XHRcdFx0PGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJjb2xsZWN0aW9uXCIgKGNoYW5nZSk9XCJnZXRMb2dEYXRhKClcIiBwbGFjZWhvbGRlcj1cIklucHV0IENvbGxzIFNlcCBCeSAsICYgISBmb3IgIU5vdFwiPlxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtbGctMlwiPlxuXHRcdFx0XHRcdFx0PGxhYmVsIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCI+TWV0aG9kPC9sYWJlbD5cblx0XHRcdFx0XHRcdDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwibWV0aG9kXCIgKGNoYW5nZSk9XCJnZXRMb2dEYXRhKClcIiBwbGFjZWhvbGRlcj1cIklucHV0IE1ldGhvZHMgU2VwIEJ5ICwgJiAhIGZvciAhTm90XCI+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC1sZy0yXCI+XG5cdFx0XHRcdFx0XHQ8bGFiZWwgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIj5Sb3V0ZTwvbGFiZWw+XG5cdFx0XHRcdFx0XHQ8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbKG5nTW9kZWwpXT1cInJvdXRlXCIgKGNoYW5nZSk9XCJnZXRMb2dEYXRhKClcIiBwbGFjZWhvbGRlcj1cIklucHV0IFJvdXRlcyBTZXAgQnkgLCAmICEgZm9yICFOb3RcIj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLWxnLTJcIj5cblx0XHRcdFx0XHRcdDxsYWJlbCBjbGFzcz1cImZvcm0tY29udHJvbC1sYWJlbFwiPkRvY3VtZW50PC9sYWJlbD5cblx0XHRcdFx0XHRcdDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwiaWRfZG9jdW1lbnRcIiAoY2hhbmdlKT1cImdldExvZ0RhdGEoKVwiIHBsYWNlaG9sZGVyPVwiSW5wdXQgSWRzIFNlcCBCeSAsICYgISBmb3IgIU5vdFwiPlxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cInJvd1wiIHN0eWxlPVwibWFyZ2luLXRvcDogMTBweDtcIj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLWxnLTNcIj5cblx0XHRcdFx0XHRcdDxsYWJlbCBjbGFzcz1cImZvcm0tY29udHJvbC1sYWJlbFwiPkRhdGUgU3RhcnQ8L2xhYmVsPlxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XG5cdFx0XHRcdFx0XHRcdDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwiZGF0ZVN0YXJ0RWxlbVwiIG5nYkRhdGVwaWNrZXIgI2RTdGFydD1cIm5nYkRhdGVwaWNrZXJcIiAoY2hhbmdlKT1cImdldExvZ0RhdGEoKVwiPlxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCIgKGNsaWNrKT1cImRTdGFydC50b2dnbGUoKVwiPlxuXHRcdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC10ZXh0XCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8aSBjbGFzcz1cImZhIGZhLWNhbGVuZGFyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuXHRcdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtbGctM1wiPlxuXHRcdFx0XHRcdFx0PGxhYmVsIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCI+VGltZSBTdGFydDwvbGFiZWw+XG5cdFx0XHRcdFx0XHQ8bmdiLXRpbWVwaWNrZXIgWyhuZ01vZGVsKV09XCJ0aW1lU3RhcnRFbGVtXCIgbWVyaWRpYW49XCJPTlwiIFtzZWNvbmRzXT1cInRydWVcIiAoY2hhbmdlKT1cImdldExvZ0RhdGEoKVwiPjwvbmdiLXRpbWVwaWNrZXI+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC1sZy0zXCI+XG5cdFx0XHRcdFx0XHQ8bGFiZWwgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIj5EYXRlIEVuZDwvbGFiZWw+XG5cdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cblx0XHRcdFx0XHRcdFx0PGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJkYXRlRW5kRWxlbVwiIG5nYkRhdGVwaWNrZXIgI2RFbmQ9XCJuZ2JEYXRlcGlja2VyXCIgKGNoYW5nZSk9XCJnZXRMb2dEYXRhKClcIj5cblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLWFwcGVuZFwiIChjbGljayk9XCJkRW5kLnRvZ2dsZSgpXCI+XG5cdFx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLXRleHRcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDxpIGNsYXNzPVwiZmEgZmEtY2FsZW5kYXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG5cdFx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC1sZy0zXCI+XG5cdFx0XHRcdFx0XHQ8bGFiZWwgY2xhc3M9XCJmb3JtLWNvbnRyb2wtbGFiZWxcIj5UaW1lIEVuZDwvbGFiZWw+PGJyPlxuXHRcdFx0XHRcdFx0PG5nYi10aW1lcGlja2VyIFsobmdNb2RlbCldPVwidGltZUVuZEVsZW1cIiBtZXJpZGlhbj1cIk9OXCIgW3NlY29uZHNdPVwidHJ1ZVwiIChjaGFuZ2UpPVwiZ2V0TG9nRGF0YSgpXCI+PC9uZ2ItdGltZXBpY2tlcj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJyb3dcIj5cblx0PGRpdiBjbGFzcz1cImNvbC1sZy04XCI+XG5cdFx0PGxhYmVsIGNsYXNzPVwiZm9ybS1jb250cm9sLWxhYmVsXCI+RW50cmllcyBQZXIgUGFnZTwvbGFiZWw+XG5cdFx0PHNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbFwiIFsobmdNb2RlbCldPVwiZW50cmllc19wZXJfcGFnZVwiIChjaGFuZ2UpPVwiZ2V0TG9nRGF0YSgpXCI+XG5cdFx0XHQ8b3B0aW9uIHZhbHVlPVwiMTBcIj4xMDwvb3B0aW9uPlxuXHRcdFx0PG9wdGlvbiB2YWx1ZT1cIjI1XCI+MjU8L29wdGlvbj5cblx0XHRcdDxvcHRpb24gdmFsdWU9XCI1MFwiPjUwPC9vcHRpb24+XG5cdFx0XHQ8b3B0aW9uIHZhbHVlPVwiMTAwXCI+MTAwPC9vcHRpb24+XG5cdFx0XHQ8b3B0aW9uIHZhbHVlPVwiMjUwXCI+MjUwPC9vcHRpb24+XG5cdFx0XHQ8b3B0aW9uIHZhbHVlPVwiNTAwXCI+NTAwPC9vcHRpb24+XG5cdFx0XHQ8b3B0aW9uIHZhbHVlPVwiMTAwMFwiPjEwMDA8L29wdGlvbj5cblx0XHRcdDxvcHRpb24gdmFsdWU9XCI1MDAwXCI+NTAwMDwvb3B0aW9uPlxuXHRcdDwvc2VsZWN0PlxuXHQ8L2Rpdj5cblx0PGRpdiBjbGFzcz1cImNvbC1sZy00XCI+XG5cdFx0PG5nYi1wYWdpbmF0aW9uIGNsYXNzPVwiZmxvYXQtcmlnaHRcIlxuXHRcdGJvdW5kYXJ5TGlua3M9XCJ0cnVlXCJcblx0XHRbY29sbGVjdGlvblNpemVdPVwibG9nX2NudFwiXG5cdFx0ZGlyZWN0aW9uTGlua3M9XCJ0cnVlXCJcblx0XHRlbGxpcHNlcz1cImZhbHNlXCJcblx0XHRbKHBhZ2UpXT1cInBhZ2VfbnVtXCJcblx0XHRtYXhTaXplPVwiNlwiXG5cdFx0W3BhZ2VTaXplXT1cImVudHJpZXNfcGVyX3BhZ2VcIlxuXHRcdHJvdGF0ZT1cInRydWVcIlxuXHRcdChwYWdlQ2hhbmdlKT1cImdldExvZ0RhdGEoKVwiXG5cdFx0PlxuXHRcdDwvbmdiLXBhZ2luYXRpb24+XG5cdDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicm93XCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAxMHB4XCI+XG5cdDxuZ2ItYWNjb3JkaW9uICNhY2M9XCJuZ2JBY2NvcmRpb25cIiBhY3RpdmVJZHM9XCJcIj5cblx0XHQ8bmdiLXBhbmVsICpuZ0Zvcj1cImxldCBsb2cgb2YgbG9nczsgbGV0IGkgPSBpbmRleFwiIFtpZF09XCInbG9nXycgKyBpXCI+XG5cdFx0XHQ8bmctdGVtcGxhdGUgbmdiUGFuZWxUaXRsZT5cblx0XHRcdFx0PGRpdj4gXG5cdFx0XHRcdFx0PGxhYmVsIGNsYXNzPVwibGFiZWwtYWNjb3JkaW9uXCIgc3R5bGU9XCJ3aWR0aDogOTAlOyBoZWlnaHQ6IDIycHhcIj5cblx0XHRcdFx0XHRcdDxzdHJvbmcgY2xhc3M9XCJwdWxsLWxlZnRcIj5UeXBlOiB7eyBsb2cudHlwZSB9fXt7bG9nLm1ldGhvZCA/ICcgLSBNZXRob2Q6ICcgKyBsb2cubWV0aG9kIDogJycgfX17e2xvZy5jb2xsZWN0aW9uID8gJyAtIENvbGxlY3Rpb246ICcgKyBsb2cuY29sbGVjdGlvbiA6ICcnIH19e3tsb2cudXNlciA/ICcgLSBVc2VyOiAnICsgbG9nLnVzZXIgOiAnJyB9fXt7bG9nLnJvdXRlID8gJyAtIFJvdXRlOiAnICsgbG9nLnJvdXRlIDogJycgfX17e2xvZy5pZF9kb2N1bWVudCA/ICcgLSBpZF9kb2N1bWVudDogJyArIGxvZy5pZF9kb2N1bWVudCA6ICcnIH19e3tsb2cubWVzc2FnZUlkID8gJyAtIG1lc3NhZ2VJZDogJyArIGxvZy5tZXNzYWdlSWQgOiAnJyB9fTwvc3Ryb25nPlxuXHRcdFx0XHRcdFx0PHAgY2xhc3M9XCJwdWxsLXJpZ2h0XCI+e3sgbG9nLmNyZWF0ZWRBdCB8IGRhdGUgOiAnbWVkaXVtJyB9fTwvcD5cblx0XHRcdFx0XHQ8L2xhYmVsPlxuXHRcdFx0XHRcdDxpICpuZ0lmPVwiIWFjYy5hY3RpdmVJZHMuaW5jbHVkZXMoJ2xvZ18nICsgaSlcIiBjbGFzcz1cImZhIGZhLXBsdXMgZmxvYXQtZW5kXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuXHRcdFx0XHRcdDxpICpuZ0lmPVwiYWNjLmFjdGl2ZUlkcy5pbmNsdWRlcygnbG9nXycgKyBpKVwiIGNsYXNzPVwiZmEgZmEtbWludXMgZmxvYXQtZW5kXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0XHQ8bmctdGVtcGxhdGUgbmdiUGFuZWxDb250ZW50PlxuXHRcdFx0XHQ8ZGl2ICpuZ0lmPVwibG9nLnBheWxvYWRcIj5cblx0XHRcdFx0XHQ8cHJlPnt7IGxvZy5wYXlsb2FkIHwganNvblBhcnNlIH19PC9wcmU+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8ZGl2ICpuZ0lmPVwiIWxvZy5wYXlsb2FkXCI+XG5cdFx0XHRcdFx0Tm8gRGF0YVxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvbmctdGVtcGxhdGU+XG5cdFx0PC9uZ2ItcGFuZWw+XG5cdDwvbmdiLWFjY29yZGlvbj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInJvd1wiIHN0eWxlPVwibWFyZ2luLXRvcDogMTBweFwiPlxuXHQ8ZGl2IGNsYXNzPVwiY29sLWxnLTRcIj5cblx0XHQ8ZGl2IGNsYXNzPVwicm93XCI+IFxuXHRcdFx0PGRpdiBjbGFzcz1cImNvbC1sZy04XCI+XG5cdFx0XHRcdDxsYWJlbCBjbGFzcz1cImZvcm0tY29udHJvbC1sYWJlbFwiPkVudHJpZXMgUGVyIFBhZ2U8L2xhYmVsPlxuXHRcdFx0XHQ8c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgWyhuZ01vZGVsKV09XCJlbnRyaWVzX3Blcl9wYWdlXCIgKGNoYW5nZSk9XCJnZXRMb2dEYXRhKClcIj5cblx0XHRcdFx0XHQ8b3B0aW9uIHZhbHVlPVwiMTBcIj4xMDwvb3B0aW9uPlxuXHRcdFx0XHRcdDxvcHRpb24gdmFsdWU9XCIyNVwiPjI1PC9vcHRpb24+XG5cdFx0XHRcdFx0PG9wdGlvbiB2YWx1ZT1cIjUwXCI+NTA8L29wdGlvbj5cblx0XHRcdFx0XHQ8b3B0aW9uIHZhbHVlPVwiMTAwXCI+MTAwPC9vcHRpb24+XG5cdFx0XHRcdFx0PG9wdGlvbiB2YWx1ZT1cIjI1MFwiPjI1MDwvb3B0aW9uPlxuXHRcdFx0XHRcdDxvcHRpb24gdmFsdWU9XCI1MDBcIj41MDA8L29wdGlvbj5cblx0XHRcdFx0XHQ8b3B0aW9uIHZhbHVlPVwiMTAwMFwiPjEwMDA8L29wdGlvbj5cblx0XHRcdFx0XHQ8b3B0aW9uIHZhbHVlPVwiNTAwMFwiPjUwMDA8L29wdGlvbj5cblx0XHRcdFx0PC9zZWxlY3Q+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG5cdDxkaXYgY2xhc3M9XCJjb2wtbGctOFwiPlxuXHRcdDxuZ2ItcGFnaW5hdGlvbiBjbGFzcz1cImZsb2F0LXJpZ2h0XCJcblx0XHRib3VuZGFyeUxpbmtzPVwidHJ1ZVwiXG5cdFx0W2NvbGxlY3Rpb25TaXplXT1cImxvZ19jbnRcIlxuXHRcdGRpcmVjdGlvbkxpbmtzPVwidHJ1ZVwiXG5cdFx0ZWxsaXBzZXM9XCJmYWxzZVwiXG5cdFx0WyhwYWdlKV09XCJwYWdlX251bVwiXG5cdFx0bWF4U2l6ZT1cIjZcIlxuXHRcdFtwYWdlU2l6ZV09XCJlbnRyaWVzX3Blcl9wYWdlXCJcblx0XHRyb3RhdGU9XCJ0cnVlXCJcblx0XHQocGFnZUNoYW5nZSk9XCJnZXRMb2dEYXRhKClcIlxuXHRcdD5cblx0XHQ8L25nYi1wYWdpbmF0aW9uPlxuXHQ8L2Rpdj5cbjwvZGl2PiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9tb2RlbHMvcGVybWlzc2lvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBNb2R1bGVQZXJtaXNzaW9uTW9kZWwge1xuXHRuYW1lOiBzdHJpbmc7XG5cdHZpZXdzOiBNb2R1bGVQZXJtaXNzaW9uVmlld01vZGVsW107XG5cdGFwcHJvdmFsPzogTW9kdWxlUGVybWlzc2lvbkFwcHJvdmFsTW9kZWw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kdWxlUGVybWlzc2lvblZpZXdNb2RlbCB7XG5cdGxpbms6IHN0cmluZztcblx0bGFiZWw6IHN0cmluZztcblx0aGFzX3BhcmFtZXRlcjogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb2R1bGVQZXJtaXNzaW9uQXBwcm92YWxNb2RlbCB7XG5cdHR5cGU6IHN0cmluZztcbn0iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9tb2RlbHMvcGVybWlzc2lvbi5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBNb2R1bGVQZXJtaXNzaW9uTW9kZWwge1xuXHRuYW1lOiBzdHJpbmc7XG5cdHZpZXdzOiBNb2R1bGVQZXJtaXNzaW9uVmlld01vZGVsW107XG5cdGFwcHJvdmFsPzogTW9kdWxlUGVybWlzc2lvbkFwcHJvdmFsTW9kZWw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kdWxlUGVybWlzc2lvblZpZXdNb2RlbCB7XG5cdGxpbms6IHN0cmluZztcblx0bGFiZWw6IHN0cmluZztcblx0aGFzX3BhcmFtZXRlcj86IGJvb2xlYW47XG5cdGZha2Vfcm91dGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZHVsZVBlcm1pc3Npb25BcHByb3ZhbE1vZGVsIHtcblx0dHlwZTogc3RyaW5nO1xufSJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9tb2RlbHMvdXNlci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbkRvY3VtZW50IH0gZnJvbSAnLi9jb2xsZWN0aW9uLWRvY3VtZW50Lm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBVc2VyTW9kZWwgZXh0ZW5kcyBDb2xsZWN0aW9uRG9jdW1lbnQge1xuXHRyb2xlczogVXNlclJvbGVNb2RlbDtcblx0dXNlcm5hbWU6IHN0cmluZztcblx0ZW1haWw6IHN0cmluZztcblx0ZnVsbG5hbWU6IHN0cmluZztcblx0YWN0aXZlOiBib29sZWFuO1xuXHRwaG9uZW51bWJlcjogc3RyaW5nO1xuXHRyZWFkb25seTogYm9vbGVhbjtcblx0b3RoZXI6IE90aGVyT2JqZWN0O1xuXG5cdC8vc2VjdXJpdHlcblx0YXR0ZW1wdHM6IG51bWJlcjtcblx0c2FsdDogc3RyaW5nO1xuXHRoYXNoOiBzdHJpbmc7XG5cblx0bGFzdD86IERhdGU7XG5cdHNldHRpbmdzPzogVXNlclNldHRpbmdzTW9kZWw7XG5cdHNlcnZpY2VzPzogT2JqZWN0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJTZXR0aW5nc01vZGVsIHtcblx0dGFibGVfY29sb3I6IHN0cmluZztcblx0dGFibGVfZm9udF9jb2xvcjogc3RyaW5nO1xuXHRzZWNvbmRhcnlfdGFibGVfY29sb3I6IHN0cmluZztcblx0c2Vjb25kYXJ5X3RhYmxlX2ZvbnRfY29sb3I6IHN0cmluZztcblx0dGVydGlhcnlfdGFibGVfY29sb3I6IHN0cmluZztcblx0dGVydGlhcnlfdGFibGVfZm9udF9jb2xvcjogc3RyaW5nO1xuXHRmb250X3NpemU6IG51bWJlcjtcblx0Y29sbGFwc2FibGVfbWVudTogYm9vbGVhbjtcblx0ZW50cmllc19wZXJfcGFnZTogc3RyaW5nXG5cdHdhcm5pbmdfY29sb3I6IHN0cmluZztcblx0d2FybmluZ19mb250X2NvbG9yOiBzdHJpbmc7XG5cdHdhcm5pbmdfaG92ZXJfY29sb3I6IHN0cmluZztcblx0c3VjY2Vzc19jb2xvcjogc3RyaW5nO1xuXHRzdWNjZXNzX2ZvbnRfY29sb3I6IHN0cmluZztcblx0c3VjY2Vzc19ob3Zlcl9jb2xvcjogc3RyaW5nO1xuXHRkYW5nZXJfY29sb3I6IHN0cmluZztcblx0ZGFuZ2VyX2ZvbnRfY29sb3I6IHN0cmluZztcblx0ZGFuZ2VyX2hvdmVyX2NvbG9yOiBzdHJpbmc7XG5cdGluZm9fY29sb3I6IHN0cmluZztcblx0aW5mb19mb250X2NvbG9yOiBzdHJpbmc7XG5cdGluZm9faG92ZXJfY29sb3I6IHN0cmluZztcblx0cHJpbWFyeV9jb2xvcjogc3RyaW5nO1xuXHRwcmltYXJ5X2ZvbnRfY29sb3I6IHN0cmluZztcblx0cHJpbWFyeV9ob3Zlcl9jb2xvcjogc3RyaW5nO1xuXHRzZWNvbmRhcnlfY29sb3I6IHN0cmluZztcblx0c2Vjb25kYXJ5X2ZvbnRfY29sb3I6IHN0cmluZztcblx0c2Vjb25kYXJ5X2hvdmVyX2NvbG9yOiBzdHJpbmc7XG5cdHJvdXRpbmdfcHJlZmVyZW5jZTogc3RyaW5nO1xuXHRvcGVuaW5nX3JvdXRlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclJvbGVNb2RlbCB7XG5cdHN1cGVyX2FkbWluOiBib29sZWFuO1xuXHRhcHByb3ZhbHM6IFVzZXJSb2xlQXBwcm92YWxNb2RlbFtdO1xuXHRncm91cHM6IFVzZXJSb2xlR3JvdXBNb2RlbFtdO1xuXHRub3RpZmljYXRpb25zOiBzdHJpbmdbXTtcblx0bWlzY3M6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJSb2xlQXBwcm92YWxNb2RlbCB7XG5cdHR5cGU6IHN0cmluZzsgLy8gcG8gb3IgYWZlIG9yIGNoZW1pY2FsXG5cdGtleV8xOiBzdHJpbmc7IC8vIGRlcGFydG1lbnQgb3IgYWNjb3VudGluZyBjb2RlXG5cdGtleV8yOiBzdHJpbmc7IC8vIG9yZGVyIHR5cGVcblx0a2V5XzM6IHN0cmluZzsgLy8gb3RoZXIvYWRkaXRpb25hbFxuXHRuYW1lOiBzdHJpbmc7IC8vIGFwcHJvdmFsIG5hbWVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyUm9sZUdyb3VwTW9kZWwge1xuXHRuYW1lOiBzdHJpbmc7XG5cdHZpZXdzOiBzdHJpbmdbXTtcblx0eWFyZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPdGhlck9iamVjdCB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufSJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9tb2RlbHMvdXNlci5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvbkRvY3VtZW50IH0gZnJvbSAnLi9jb2xsZWN0aW9uLWRvY3VtZW50Lm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBVc2VyTW9kZWwgZXh0ZW5kcyBDb2xsZWN0aW9uRG9jdW1lbnQge1xuXHRyb2xlczogVXNlclJvbGVNb2RlbDtcblx0dXNlcm5hbWU6IHN0cmluZztcblx0ZW1haWw6IHN0cmluZztcblx0ZnVsbG5hbWU6IHN0cmluZztcblx0YWN0aXZlOiBib29sZWFuO1xuXHRwaG9uZW51bWJlcjogc3RyaW5nO1xuXHRyZWFkb25seTogYm9vbGVhbjtcblx0b3RoZXI6IE90aGVyT2JqZWN0O1xuXG5cdC8vc2VjdXJpdHlcblx0YXR0ZW1wdHM6IG51bWJlcjtcblx0c2FsdDogc3RyaW5nO1xuXHRoYXNoOiBzdHJpbmc7XG5cblx0bGFzdD86IERhdGU7XG5cdHNldHRpbmdzPzogVXNlclNldHRpbmdzTW9kZWw7XG5cdHNlcnZpY2VzPzogT2JqZWN0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJTZXR0aW5nc01vZGVsIHtcblx0dGFibGVfY29sb3I6IHN0cmluZztcblx0dGFibGVfZm9udF9jb2xvcjogc3RyaW5nO1xuXHRzZWNvbmRhcnlfdGFibGVfY29sb3I6IHN0cmluZztcblx0c2Vjb25kYXJ5X3RhYmxlX2ZvbnRfY29sb3I6IHN0cmluZztcblx0dGVydGlhcnlfdGFibGVfY29sb3I6IHN0cmluZztcblx0dGVydGlhcnlfdGFibGVfZm9udF9jb2xvcjogc3RyaW5nO1xuXHRmb250X3NpemU6IG51bWJlcjtcblx0Y29sbGFwc2FibGVfbWVudTogYm9vbGVhbjtcblx0ZW50cmllc19wZXJfcGFnZTogc3RyaW5nXG5cdHdhcm5pbmdfY29sb3I6IHN0cmluZztcblx0d2FybmluZ19mb250X2NvbG9yOiBzdHJpbmc7XG5cdHdhcm5pbmdfaG92ZXJfY29sb3I6IHN0cmluZztcblx0c3VjY2Vzc19jb2xvcjogc3RyaW5nO1xuXHRzdWNjZXNzX2ZvbnRfY29sb3I6IHN0cmluZztcblx0c3VjY2Vzc19ob3Zlcl9jb2xvcjogc3RyaW5nO1xuXHRkYW5nZXJfY29sb3I6IHN0cmluZztcblx0ZGFuZ2VyX2ZvbnRfY29sb3I6IHN0cmluZztcblx0ZGFuZ2VyX2hvdmVyX2NvbG9yOiBzdHJpbmc7XG5cdGluZm9fY29sb3I6IHN0cmluZztcblx0aW5mb19mb250X2NvbG9yOiBzdHJpbmc7XG5cdGluZm9faG92ZXJfY29sb3I6IHN0cmluZztcblx0cHJpbWFyeV9jb2xvcjogc3RyaW5nO1xuXHRwcmltYXJ5X2ZvbnRfY29sb3I6IHN0cmluZztcblx0cHJpbWFyeV9ob3Zlcl9jb2xvcjogc3RyaW5nO1xuXHRzZWNvbmRhcnlfY29sb3I6IHN0cmluZztcblx0c2Vjb25kYXJ5X2ZvbnRfY29sb3I6IHN0cmluZztcblx0c2Vjb25kYXJ5X2hvdmVyX2NvbG9yOiBzdHJpbmc7XG5cdHJvdXRpbmdfcHJlZmVyZW5jZTogc3RyaW5nO1xuXHRvcGVuaW5nX3JvdXRlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclJvbGVNb2RlbCB7XG5cdHN1cGVyX2FkbWluOiBib29sZWFuO1xuXHRhcHByb3ZhbHM6IFVzZXJSb2xlQXBwcm92YWxNb2RlbFtdO1xuXHRncm91cHM6IFVzZXJSb2xlR3JvdXBNb2RlbFtdO1xuXHRub3RpZmljYXRpb25zOiBzdHJpbmdbXTtcblx0bWlzY3M6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJSb2xlQXBwcm92YWxNb2RlbCB7XG5cdHR5cGU6IHN0cmluZzsgLy8gcG8gb3IgYWZlIG9yIGNoZW1pY2FsXG5cdGtleV8xOiBzdHJpbmc7IC8vIGRlcGFydG1lbnQgb3IgYWNjb3VudGluZyBjb2RlXG5cdGtleV8yOiBzdHJpbmc7IC8vIG9yZGVyIHR5cGVcblx0a2V5XzM6IHN0cmluZzsgLy8gb3RoZXIvYWRkaXRpb25hbFxuXHRuYW1lOiBzdHJpbmc7IC8vIGFwcHJvdmFsIG5hbWVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyUm9sZUdyb3VwTW9kZWwge1xuXHRuYW1lOiBzdHJpbmc7XG5cdHZpZXdzOiBzdHJpbmdbXTtcblx0eWFyZHM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPdGhlck9iamVjdCB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufSJdfQ==