vc-create-dashboard 3.0.88 → 3.1.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 (179) hide show
  1. package/README.md +24 -24
  2. package/fesm2022/vc-create-dashboard.mjs +6475 -6555
  3. package/fesm2022/vc-create-dashboard.mjs.map +1 -1
  4. package/package.json +5 -6
  5. package/types/vc-create-dashboard.d.ts +1680 -0
  6. package/esm2022/lib/configurations.mjs +0 -7
  7. package/esm2022/lib/create-dashboard-container/categories/categories-config.mjs +0 -2
  8. package/esm2022/lib/create-dashboard-container/categories/categories.component.mjs +0 -212
  9. package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.mjs +0 -350
  10. package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets/widget.interface.mjs +0 -2
  11. package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets.module.mjs +0 -47
  12. package/esm2022/lib/create-dashboard-container/constants/assets.constant.mjs +0 -37
  13. package/esm2022/lib/create-dashboard-container/create-dashboard-config.mjs +0 -2
  14. package/esm2022/lib/create-dashboard-container/create-dashboard.component.mjs +0 -1601
  15. package/esm2022/lib/create-dashboard-container/create-dashboard.module.mjs +0 -127
  16. package/esm2022/lib/create-dashboard-container/directives/directives.module.mjs +0 -24
  17. package/esm2022/lib/create-dashboard-container/directives/scroll-in-view.directive.mjs +0 -36
  18. package/esm2022/lib/create-dashboard-container/form-group/form-group.component.mjs +0 -153
  19. package/esm2022/lib/create-dashboard-container/frequency/frequency.component.mjs +0 -309
  20. package/esm2022/lib/create-dashboard-container/interfaces/widget-data-model.mjs +0 -2
  21. package/esm2022/lib/create-dashboard-container/pipes/filter.pipe.mjs +0 -30
  22. package/esm2022/lib/create-dashboard-container/pipes/search-program.pipe.mjs +0 -37
  23. package/esm2022/lib/create-dashboard-container/pipes/search.pipe.mjs +0 -25
  24. package/esm2022/lib/create-dashboard-container/pipes/text-count.pipe.mjs +0 -18
  25. package/esm2022/lib/create-dashboard-container/program-list/constant.mjs +0 -31
  26. package/esm2022/lib/create-dashboard-container/program-list/information-block/information-block.component.mjs +0 -13
  27. package/esm2022/lib/create-dashboard-container/program-list/interfaces/list-item.interface.mjs +0 -2
  28. package/esm2022/lib/create-dashboard-container/program-list/list-container/list-container.component.mjs +0 -50
  29. package/esm2022/lib/create-dashboard-container/program-list/pipes/check-selected-items.pipes.mjs +0 -23
  30. package/esm2022/lib/create-dashboard-container/program-list/program-list/program-list.component.mjs +0 -294
  31. package/esm2022/lib/create-dashboard-container/program-list/program-list.module.mjs +0 -60
  32. package/esm2022/lib/create-dashboard-container/program-list/services/list-utils.service.mjs +0 -27
  33. package/esm2022/lib/create-dashboard-container/program-list/services/program-list-api.service.mjs +0 -28
  34. package/esm2022/lib/create-dashboard-container/responsibility-center/responsibility-center.component.mjs +0 -239
  35. package/esm2022/lib/create-dashboard-container/risk-categories/risk-categories-config.mjs +0 -2
  36. package/esm2022/lib/create-dashboard-container/risk-categories/risk-categories.component.mjs +0 -206
  37. package/esm2022/lib/create-dashboard-container/services/configure-widgets.service.mjs +0 -233
  38. package/esm2022/lib/create-dashboard-container/services/create-dashboard.service.mjs +0 -227
  39. package/esm2022/lib/create-dashboard-container/services/pagination.service.mjs +0 -28
  40. package/esm2022/lib/create-dashboard-container/user-list/user-list.component.mjs +0 -440
  41. package/esm2022/lib/create-dashboard-container/user-list/user-list.config.mjs +0 -2
  42. package/esm2022/lib/create-dashboard-container/utils/dashboard-edit.utils.mjs +0 -181
  43. package/esm2022/lib/create-dashboard-container/utils/dashboard-timeframe.util.mjs +0 -88
  44. package/esm2022/lib/create-dashboard.service.mjs +0 -14
  45. package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.mjs +0 -52
  46. package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer-config.mjs +0 -2
  47. package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer.module.mjs +0 -32
  48. package/esm2022/lib/ui-kit/dialog/dialog-config.mjs +0 -7
  49. package/esm2022/lib/ui-kit/dialog/dialog-injector.mjs +0 -17
  50. package/esm2022/lib/ui-kit/dialog/dialog-ref.mjs +0 -11
  51. package/esm2022/lib/ui-kit/dialog/dialog.component.mjs +0 -96
  52. package/esm2022/lib/ui-kit/dialog/dialog.module.mjs +0 -20
  53. package/esm2022/lib/ui-kit/dialog/dialog.service.mjs +0 -56
  54. package/esm2022/lib/ui-kit/dialog/insertion.directive.mjs +0 -17
  55. package/esm2022/lib/ui-kit/floating-bar/floating-bar.component.mjs +0 -57
  56. package/esm2022/lib/ui-kit/floating-bar/floating-bar.module.mjs +0 -32
  57. package/esm2022/lib/ui-kit/formgroup/click-outside.directive.mjs +0 -30
  58. package/esm2022/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.mjs +0 -29
  59. package/esm2022/lib/ui-kit/formgroup/cs-radio/cs-radio.component.mjs +0 -34
  60. package/esm2022/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.mjs +0 -14
  61. package/esm2022/lib/ui-kit/formgroup/cs-select/cs-select.component.mjs +0 -119
  62. package/esm2022/lib/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +0 -39
  63. package/esm2022/lib/ui-kit/formgroup/formgroup.module.mjs +0 -55
  64. package/esm2022/lib/ui-kit/formgroup/pipes/pascal.pipe.mjs +0 -19
  65. package/esm2022/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.mjs +0 -24
  66. package/esm2022/lib/ui-kit/loaders/loaders.module.mjs +0 -24
  67. package/esm2022/lib/ui-kit/loaders/table-loader/table-loader.component.mjs +0 -18
  68. package/esm2022/lib/ui-kit/no-data/no-data.component.mjs +0 -47
  69. package/esm2022/lib/ui-kit/no-data/no-data.module.mjs +0 -18
  70. package/esm2022/lib/ui-kit/pagination/pagination.component.mjs +0 -130
  71. package/esm2022/lib/ui-kit/pagination/pagination.module.mjs +0 -18
  72. package/esm2022/lib/ui-kit/popover/popover.component.mjs +0 -129
  73. package/esm2022/lib/ui-kit/popover/popover.directive.mjs +0 -93
  74. package/esm2022/lib/ui-kit/popover/popover.module.mjs +0 -21
  75. package/esm2022/lib/ui-kit/popover/popover.service.mjs +0 -23
  76. package/esm2022/lib/ui-kit/select/cs-option/cs-option.component.mjs +0 -41
  77. package/esm2022/lib/ui-kit/select/cs-select/cs-select.component.mjs +0 -107
  78. package/esm2022/lib/ui-kit/select/safe-html.pipe.mjs +0 -21
  79. package/esm2022/lib/ui-kit/select/select.module.mjs +0 -21
  80. package/esm2022/lib/ui-kit/services/cs-select.service.mjs +0 -16
  81. package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.component.mjs +0 -52
  82. package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.module.mjs +0 -18
  83. package/esm2022/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.mjs +0 -46
  84. package/esm2022/lib/ui-kit/snack-bar/snack-bar.module.mjs +0 -18
  85. package/esm2022/lib/ui-kit/snack-bar/snack-bar.service.mjs +0 -23
  86. package/esm2022/lib/ui-kit/tooltip/tooltip.directive.mjs +0 -168
  87. package/esm2022/lib/ui-kit/tooltip/tooltip.module.mjs +0 -18
  88. package/esm2022/lib/ui-kit/v-loader/loader/loader.component.mjs +0 -24
  89. package/esm2022/lib/ui-kit/v-loader/loader-inline/loader-inline.component.mjs +0 -24
  90. package/esm2022/lib/ui-kit/v-loader/v-loader.module.mjs +0 -19
  91. package/esm2022/public-api.mjs +0 -10
  92. package/esm2022/vc-create-dashboard.mjs +0 -5
  93. package/index.d.ts +0 -5
  94. package/lib/configurations.d.ts +0 -4
  95. package/lib/create-dashboard-container/categories/categories-config.d.ts +0 -18
  96. package/lib/create-dashboard-container/categories/categories.component.d.ts +0 -66
  97. package/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.d.ts +0 -113
  98. package/lib/create-dashboard-container/configure-widgets/configure-widgets/widget.interface.d.ts +0 -9
  99. package/lib/create-dashboard-container/configure-widgets/configure-widgets.module.d.ts +0 -14
  100. package/lib/create-dashboard-container/constants/assets.constant.d.ts +0 -35
  101. package/lib/create-dashboard-container/create-dashboard-config.d.ts +0 -18
  102. package/lib/create-dashboard-container/create-dashboard.component.d.ts +0 -219
  103. package/lib/create-dashboard-container/create-dashboard.module.d.ts +0 -37
  104. package/lib/create-dashboard-container/directives/directives.module.d.ts +0 -8
  105. package/lib/create-dashboard-container/directives/scroll-in-view.directive.d.ts +0 -12
  106. package/lib/create-dashboard-container/form-group/form-group.component.d.ts +0 -48
  107. package/lib/create-dashboard-container/frequency/frequency.component.d.ts +0 -39
  108. package/lib/create-dashboard-container/interfaces/widget-data-model.d.ts +0 -8
  109. package/lib/create-dashboard-container/pipes/filter.pipe.d.ts +0 -7
  110. package/lib/create-dashboard-container/pipes/search-program.pipe.d.ts +0 -7
  111. package/lib/create-dashboard-container/pipes/search.pipe.d.ts +0 -7
  112. package/lib/create-dashboard-container/pipes/text-count.pipe.d.ts +0 -7
  113. package/lib/create-dashboard-container/program-list/constant.d.ts +0 -24
  114. package/lib/create-dashboard-container/program-list/information-block/information-block.component.d.ts +0 -6
  115. package/lib/create-dashboard-container/program-list/interfaces/list-item.interface.d.ts +0 -5
  116. package/lib/create-dashboard-container/program-list/list-container/list-container.component.d.ts +0 -9
  117. package/lib/create-dashboard-container/program-list/pipes/check-selected-items.pipes.d.ts +0 -7
  118. package/lib/create-dashboard-container/program-list/program-list/program-list.component.d.ts +0 -119
  119. package/lib/create-dashboard-container/program-list/program-list.module.d.ts +0 -17
  120. package/lib/create-dashboard-container/program-list/services/list-utils.service.d.ts +0 -7
  121. package/lib/create-dashboard-container/program-list/services/program-list-api.service.d.ts +0 -12
  122. package/lib/create-dashboard-container/responsibility-center/responsibility-center.component.d.ts +0 -72
  123. package/lib/create-dashboard-container/risk-categories/risk-categories-config.d.ts +0 -18
  124. package/lib/create-dashboard-container/risk-categories/risk-categories.component.d.ts +0 -66
  125. package/lib/create-dashboard-container/services/configure-widgets.service.d.ts +0 -21
  126. package/lib/create-dashboard-container/services/create-dashboard.service.d.ts +0 -80
  127. package/lib/create-dashboard-container/services/pagination.service.d.ts +0 -12
  128. package/lib/create-dashboard-container/user-list/user-list.component.d.ts +0 -123
  129. package/lib/create-dashboard-container/user-list/user-list.config.d.ts +0 -13
  130. package/lib/create-dashboard-container/utils/dashboard-edit.utils.d.ts +0 -16
  131. package/lib/create-dashboard-container/utils/dashboard-timeframe.util.d.ts +0 -11
  132. package/lib/create-dashboard.service.d.ts +0 -6
  133. package/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.d.ts +0 -17
  134. package/lib/ui-kit/dashboard-footer/dashboard-footer-config.d.ts +0 -11
  135. package/lib/ui-kit/dashboard-footer/dashboard-footer.module.d.ts +0 -10
  136. package/lib/ui-kit/dialog/dialog-config.d.ts +0 -6
  137. package/lib/ui-kit/dialog/dialog-injector.d.ts +0 -7
  138. package/lib/ui-kit/dialog/dialog-ref.d.ts +0 -7
  139. package/lib/ui-kit/dialog/dialog.component.d.ts +0 -33
  140. package/lib/ui-kit/dialog/dialog.module.d.ts +0 -9
  141. package/lib/ui-kit/dialog/dialog.service.d.ts +0 -17
  142. package/lib/ui-kit/dialog/insertion.directive.d.ts +0 -8
  143. package/lib/ui-kit/floating-bar/floating-bar.component.d.ts +0 -20
  144. package/lib/ui-kit/floating-bar/floating-bar.module.d.ts +0 -10
  145. package/lib/ui-kit/formgroup/click-outside.directive.d.ts +0 -10
  146. package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +0 -13
  147. package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts +0 -15
  148. package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts +0 -8
  149. package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts +0 -36
  150. package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +0 -15
  151. package/lib/ui-kit/formgroup/formgroup.module.d.ts +0 -17
  152. package/lib/ui-kit/formgroup/pipes/pascal.pipe.d.ts +0 -7
  153. package/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.d.ts +0 -7
  154. package/lib/ui-kit/loaders/loaders.module.d.ts +0 -8
  155. package/lib/ui-kit/loaders/table-loader/table-loader.component.d.ts +0 -9
  156. package/lib/ui-kit/no-data/no-data.component.d.ts +0 -19
  157. package/lib/ui-kit/no-data/no-data.module.d.ts +0 -8
  158. package/lib/ui-kit/pagination/pagination.component.d.ts +0 -21
  159. package/lib/ui-kit/pagination/pagination.module.d.ts +0 -8
  160. package/lib/ui-kit/popover/popover.component.d.ts +0 -28
  161. package/lib/ui-kit/popover/popover.directive.d.ts +0 -17
  162. package/lib/ui-kit/popover/popover.module.d.ts +0 -9
  163. package/lib/ui-kit/popover/popover.service.d.ts +0 -13
  164. package/lib/ui-kit/select/cs-option/cs-option.component.d.ts +0 -16
  165. package/lib/ui-kit/select/cs-select/cs-select.component.d.ts +0 -32
  166. package/lib/ui-kit/select/safe-html.pipe.d.ts +0 -10
  167. package/lib/ui-kit/select/select.module.d.ts +0 -11
  168. package/lib/ui-kit/services/cs-select.service.d.ts +0 -7
  169. package/lib/ui-kit/smiley-dialog/smiley-dialog.component.d.ts +0 -17
  170. package/lib/ui-kit/smiley-dialog/smiley-dialog.module.d.ts +0 -8
  171. package/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.d.ts +0 -17
  172. package/lib/ui-kit/snack-bar/snack-bar.module.d.ts +0 -8
  173. package/lib/ui-kit/snack-bar/snack-bar.service.d.ts +0 -9
  174. package/lib/ui-kit/tooltip/tooltip.directive.d.ts +0 -28
  175. package/lib/ui-kit/tooltip/tooltip.module.d.ts +0 -8
  176. package/lib/ui-kit/v-loader/loader/loader.component.d.ts +0 -11
  177. package/lib/ui-kit/v-loader/loader-inline/loader-inline.component.d.ts +0 -11
  178. package/lib/ui-kit/v-loader/v-loader.module.d.ts +0 -9
  179. package/public-api.d.ts +0 -3
@@ -1,127 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule, NgOptimizedImage } from '@angular/common';
3
- import { VcomplyEditorModule } from '@vcomply/editor';
4
- import { DpDatePickerModule } from 'ng2-date-picker';
5
- import { FormsModule } from '@angular/forms';
6
- import { CreateDashboardComponent } from './create-dashboard.component';
7
- import { SelectModule } from '../ui-kit/select/select.module';
8
- import { UserListComponent } from './user-list/user-list.component';
9
- import { ResponsibilityCenterComponent } from './responsibility-center/responsibility-center.component';
10
- import { CategoriesComponent } from './categories/categories.component';
11
- import { FrequencyComponent } from './frequency/frequency.component';
12
- import { PaginationModule } from '../ui-kit/pagination/pagination.module';
13
- import { FormgroupModule } from '../ui-kit/formgroup/formgroup.module';
14
- import { DashboardFooterModule } from '../ui-kit/dashboard-footer/dashboard-footer.module';
15
- import { FormGroupComponent } from './form-group/form-group.component';
16
- import { TooltipModule } from '../ui-kit/tooltip/tooltip.module';
17
- import { FloatingBarModule } from '../ui-kit/floating-bar/floating-bar.module';
18
- import { DialogModule } from '../ui-kit/dialog/dialog.module';
19
- import { Configurations } from '../configurations';
20
- import { FilterPipe } from './pipes/filter.pipe';
21
- import { RiskCategoriesComponent } from './risk-categories/risk-categories.component';
22
- import { ConfigureWidgetsModule } from './configure-widgets/configure-widgets.module';
23
- import { PopoverModule } from '../ui-kit/popover/popover.module';
24
- import { VLoaderModule } from '../ui-kit/v-loader/v-loader.module';
25
- import { SnackBarModule } from '../ui-kit/snack-bar/snack-bar.module';
26
- import { NoDataModule } from '../ui-kit/no-data/no-data.module';
27
- import { DirectivesModule } from './directives/directives.module';
28
- import { SmileyDialogModule } from '../ui-kit/smiley-dialog/smiley-dialog.module';
29
- import { TextCountPipe } from './pipes/text-count.pipe';
30
- import { ProgramListModule } from './program-list/program-list.module';
31
- import * as i0 from "@angular/core";
32
- export class CreateDashboardModule {
33
- static forRoot(environmentConfig) {
34
- return {
35
- ngModule: CreateDashboardModule,
36
- providers: [{ provide: Configurations, useValue: environmentConfig }],
37
- };
38
- }
39
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateDashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
40
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: CreateDashboardModule, declarations: [CreateDashboardComponent,
41
- UserListComponent,
42
- FormGroupComponent,
43
- ResponsibilityCenterComponent,
44
- CategoriesComponent,
45
- RiskCategoriesComponent,
46
- FrequencyComponent,
47
- FilterPipe,
48
- TextCountPipe], imports: [CommonModule,
49
- VcomplyEditorModule,
50
- FormgroupModule,
51
- FormsModule,
52
- TooltipModule,
53
- SelectModule,
54
- DashboardFooterModule,
55
- PaginationModule,
56
- FloatingBarModule,
57
- DialogModule,
58
- ConfigureWidgetsModule,
59
- PopoverModule,
60
- VLoaderModule,
61
- SnackBarModule,
62
- NoDataModule,
63
- DirectivesModule,
64
- SmileyDialogModule,
65
- DpDatePickerModule,
66
- NgOptimizedImage,
67
- ProgramListModule], exports: [CreateDashboardComponent] });
68
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateDashboardModule, imports: [CommonModule,
69
- VcomplyEditorModule,
70
- FormgroupModule,
71
- FormsModule,
72
- TooltipModule,
73
- SelectModule,
74
- DashboardFooterModule,
75
- PaginationModule,
76
- FloatingBarModule,
77
- DialogModule,
78
- ConfigureWidgetsModule,
79
- PopoverModule,
80
- VLoaderModule,
81
- SnackBarModule,
82
- NoDataModule,
83
- DirectivesModule,
84
- SmileyDialogModule,
85
- DpDatePickerModule,
86
- ProgramListModule] });
87
- }
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateDashboardModule, decorators: [{
89
- type: NgModule,
90
- args: [{
91
- declarations: [
92
- CreateDashboardComponent,
93
- UserListComponent,
94
- FormGroupComponent,
95
- ResponsibilityCenterComponent,
96
- CategoriesComponent,
97
- RiskCategoriesComponent,
98
- FrequencyComponent,
99
- FilterPipe,
100
- TextCountPipe,
101
- ],
102
- imports: [
103
- CommonModule,
104
- VcomplyEditorModule,
105
- FormgroupModule,
106
- FormsModule,
107
- TooltipModule,
108
- SelectModule,
109
- DashboardFooterModule,
110
- PaginationModule,
111
- FloatingBarModule,
112
- DialogModule,
113
- ConfigureWidgetsModule,
114
- PopoverModule,
115
- VLoaderModule,
116
- SnackBarModule,
117
- NoDataModule,
118
- DirectivesModule,
119
- SmileyDialogModule,
120
- DpDatePickerModule,
121
- NgOptimizedImage,
122
- ProgramListModule,
123
- ],
124
- exports: [CreateDashboardComponent],
125
- }]
126
- }] });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRhc2hib2FyZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcmVhdGUtZGFzaGJvYXJkL3NyYy9saWIvY3JlYXRlLWRhc2hib2FyZC1jb250YWluZXIvY3JlYXRlLWRhc2hib2FyZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDeEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFh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Q2QsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7aUJBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBOZ09wdGltaXplZEltYWdlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgVmNvbXBseUVkaXRvck1vZHVsZSB9IGZyb20gJ0B2Y29tcGx5L2VkaXRvcic7XHJcbmltcG9ydCB7IERwRGF0ZVBpY2tlck1vZHVsZSB9IGZyb20gJ25nMi1kYXRlLXBpY2tlcic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDcmVhdGVEYXNoYm9hcmRDb21wb25lbnQgfSBmcm9tICcuL2NyZWF0ZS1kYXNoYm9hcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0TW9kdWxlIH0gZnJvbSAnLi4vdWkta2l0L3NlbGVjdC9zZWxlY3QubW9kdWxlJztcclxuaW1wb3J0IHsgVXNlckxpc3RDb21wb25lbnQgfSBmcm9tICcuL3VzZXItbGlzdC91c2VyLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVzcG9uc2liaWxpdHlDZW50ZXJDb21wb25lbnQgfSBmcm9tICcuL3Jlc3BvbnNpYmlsaXR5LWNlbnRlci9yZXNwb25zaWJpbGl0eS1jZW50ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2F0ZWdvcmllc0NvbXBvbmVudCB9IGZyb20gJy4vY2F0ZWdvcmllcy9jYXRlZ29yaWVzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeUNvbXBvbmVudCB9IGZyb20gJy4vZnJlcXVlbmN5L2ZyZXF1ZW5jeS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vdWkta2l0L3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBGb3JtZ3JvdXBNb2R1bGUgfSBmcm9tICcuLi91aS1raXQvZm9ybWdyb3VwL2Zvcm1ncm91cC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBEYXNoYm9hcmRGb290ZXJNb2R1bGUgfSBmcm9tICcuLi91aS1raXQvZGFzaGJvYXJkLWZvb3Rlci9kYXNoYm9hcmQtZm9vdGVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1ncm91cC9mb3JtLWdyb3VwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICcuLi91aS1raXQvdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZsb2F0aW5nQmFyTW9kdWxlIH0gZnJvbSAnLi4vdWkta2l0L2Zsb2F0aW5nLWJhci9mbG9hdGluZy1iYXIubW9kdWxlJztcclxuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSAnLi4vdWkta2l0L2RpYWxvZy9kaWFsb2cubW9kdWxlJztcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnMgfSBmcm9tICcuLi9jb25maWd1cmF0aW9ucyc7XHJcbmltcG9ydCB7IEZpbHRlclBpcGUgfSBmcm9tICcuL3BpcGVzL2ZpbHRlci5waXBlJztcclxuaW1wb3J0IHsgUmlza0NhdGVnb3JpZXNDb21wb25lbnQgfSBmcm9tICcuL3Jpc2stY2F0ZWdvcmllcy9yaXNrLWNhdGVnb3JpZXMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29uZmlndXJlV2lkZ2V0c01vZHVsZSB9IGZyb20gJy4vY29uZmlndXJlLXdpZGdldHMvY29uZmlndXJlLXdpZGdldHMubW9kdWxlJztcclxuaW1wb3J0IHsgUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4uL3VpLWtpdC9wb3BvdmVyL3BvcG92ZXIubW9kdWxlJztcclxuaW1wb3J0IHsgVkxvYWRlck1vZHVsZSB9IGZyb20gJy4uL3VpLWtpdC92LWxvYWRlci92LWxvYWRlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTbmFja0Jhck1vZHVsZSB9IGZyb20gJy4uL3VpLWtpdC9zbmFjay1iYXIvc25hY2stYmFyLm1vZHVsZSc7XHJcbmltcG9ydCB7IE5vRGF0YU1vZHVsZSB9IGZyb20gJy4uL3VpLWtpdC9uby1kYXRhL25vLWRhdGEubW9kdWxlJztcclxuaW1wb3J0IHsgRGlyZWN0aXZlc01vZHVsZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9kaXJlY3RpdmVzLm1vZHVsZSc7XHJcbmltcG9ydCB7IFNtaWxleURpYWxvZ01vZHVsZSB9IGZyb20gJy4uL3VpLWtpdC9zbWlsZXktZGlhbG9nL3NtaWxleS1kaWFsb2cubW9kdWxlJztcclxuaW1wb3J0IHsgVGV4dENvdW50UGlwZSB9IGZyb20gJy4vcGlwZXMvdGV4dC1jb3VudC5waXBlJztcclxuaW1wb3J0IHsgUHJvZ3JhbUxpc3RNb2R1bGUgfSBmcm9tICcuL3Byb2dyYW0tbGlzdC9wcm9ncmFtLWxpc3QubW9kdWxlJztcclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIENyZWF0ZURhc2hib2FyZENvbXBvbmVudCxcclxuICAgIFVzZXJMaXN0Q29tcG9uZW50LFxyXG4gICAgRm9ybUdyb3VwQ29tcG9uZW50LFxyXG4gICAgUmVzcG9uc2liaWxpdHlDZW50ZXJDb21wb25lbnQsXHJcbiAgICBDYXRlZ29yaWVzQ29tcG9uZW50LFxyXG4gICAgUmlza0NhdGVnb3JpZXNDb21wb25lbnQsXHJcbiAgICBGcmVxdWVuY3lDb21wb25lbnQsXHJcbiAgICBGaWx0ZXJQaXBlLFxyXG4gICAgVGV4dENvdW50UGlwZSxcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFZjb21wbHlFZGl0b3JNb2R1bGUsXHJcbiAgICBGb3JtZ3JvdXBNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFRvb2x0aXBNb2R1bGUsXHJcbiAgICBTZWxlY3RNb2R1bGUsXHJcbiAgICBEYXNoYm9hcmRGb290ZXJNb2R1bGUsXHJcbiAgICBQYWdpbmF0aW9uTW9kdWxlLFxyXG4gICAgRmxvYXRpbmdCYXJNb2R1bGUsXHJcbiAgICBEaWFsb2dNb2R1bGUsXHJcbiAgICBDb25maWd1cmVXaWRnZXRzTW9kdWxlLFxyXG4gICAgUG9wb3Zlck1vZHVsZSxcclxuICAgIFZMb2FkZXJNb2R1bGUsXHJcbiAgICBTbmFja0Jhck1vZHVsZSxcclxuICAgIE5vRGF0YU1vZHVsZSxcclxuICAgIERpcmVjdGl2ZXNNb2R1bGUsXHJcbiAgICBTbWlsZXlEaWFsb2dNb2R1bGUsXHJcbiAgICBEcERhdGVQaWNrZXJNb2R1bGUsXHJcbiAgICBOZ09wdGltaXplZEltYWdlLFxyXG4gICAgUHJvZ3JhbUxpc3RNb2R1bGUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbQ3JlYXRlRGFzaGJvYXJkQ29tcG9uZW50XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENyZWF0ZURhc2hib2FyZE1vZHVsZSB7XHJcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KFxyXG4gICAgZW52aXJvbm1lbnRDb25maWc6IENvbmZpZ3VyYXRpb25zXHJcbiAgKTogTW9kdWxlV2l0aFByb3ZpZGVyczxDcmVhdGVEYXNoYm9hcmRNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBDcmVhdGVEYXNoYm9hcmRNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQ29uZmlndXJhdGlvbnMsIHVzZVZhbHVlOiBlbnZpcm9ubWVudENvbmZpZyB9XSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,24 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { ScrollInViewDirective } from './scroll-in-view.directive';
4
- import * as i0 from "@angular/core";
5
- export class DirectivesModule {
6
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DirectivesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DirectivesModule, declarations: [ScrollInViewDirective], imports: [CommonModule], exports: [ScrollInViewDirective] });
8
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DirectivesModule, imports: [CommonModule] });
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DirectivesModule, decorators: [{
11
- type: NgModule,
12
- args: [{
13
- declarations: [
14
- ScrollInViewDirective
15
- ],
16
- imports: [
17
- CommonModule
18
- ],
19
- exports: [
20
- ScrollInViewDirective
21
- ]
22
- }]
23
- }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcmVhdGUtZGFzaGJvYXJkL3NyYy9saWIvY3JlYXRlLWRhc2hib2FyZC1jb250YWluZXIvZGlyZWN0aXZlcy9kaXJlY3RpdmVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFlbkUsTUFBTSxPQUFPLGdCQUFnQjt3R0FBaEIsZ0JBQWdCO3lHQUFoQixnQkFBZ0IsaUJBVHpCLHFCQUFxQixhQUdyQixZQUFZLGFBR1oscUJBQXFCO3lHQUdaLGdCQUFnQixZQU56QixZQUFZOzs0RkFNSCxnQkFBZ0I7a0JBWDVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHFCQUFxQjtxQkFDdEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFDO3dCQUNOLHFCQUFxQjtxQkFDdEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBTY3JvbGxJblZpZXdEaXJlY3RpdmUgfSBmcm9tICcuL3Njcm9sbC1pbi12aWV3LmRpcmVjdGl2ZSc7XHJcblxyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTY3JvbGxJblZpZXdEaXJlY3RpdmVcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czpbXHJcbiAgICBTY3JvbGxJblZpZXdEaXJlY3RpdmVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEaXJlY3RpdmVzTW9kdWxlIHsgfVxyXG4iXX0=
@@ -1,36 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class ScrollInViewDirective {
4
- el;
5
- appScrollInView = false;
6
- constructor(el) {
7
- this.el = el;
8
- }
9
- ngOnChanges(change) {
10
- if (change?.appScrollInView && change?.appScrollInView?.currentValue === true) {
11
- this.scroll();
12
- }
13
- }
14
- ngAfterViewInit() {
15
- // Otherwise Angular throws error: Expression has changed after it was checked.
16
- this.scroll();
17
- }
18
- scroll() {
19
- if (this.appScrollInView) {
20
- window.setTimeout(() => {
21
- this.el.nativeElement.scrollIntoView({ behavior: 'smooth', block: 'center' });
22
- });
23
- }
24
- }
25
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ScrollInViewDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
26
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ScrollInViewDirective, selector: "[appScrollInView]", inputs: { appScrollInView: "appScrollInView" }, usesOnChanges: true, ngImport: i0 });
27
- }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ScrollInViewDirective, decorators: [{
29
- type: Directive,
30
- args: [{
31
- selector: '[appScrollInView]'
32
- }]
33
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { appScrollInView: [{
34
- type: Input
35
- }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWluLXZpZXcuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL2NyZWF0ZS1kYXNoYm9hcmQtY29udGFpbmVyL2RpcmVjdGl2ZXMvc2Nyb2xsLWluLXZpZXcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLEtBQUssRUFBb0MsTUFBTSxlQUFlLENBQUM7O0FBSzlHLE1BQU0sT0FBTyxxQkFBcUI7SUFFWjtJQURiLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDL0IsWUFBb0IsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7SUFDbEMsQ0FBQztJQUNILFdBQVcsQ0FBQyxNQUFvQjtRQUM5QixJQUFHLE1BQU0sRUFBRSxlQUFlLElBQUksTUFBTSxFQUFFLGVBQWUsRUFBRSxZQUFZLEtBQUssSUFBSSxFQUFDO1lBQ3hFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNsQjtJQUNILENBQUM7SUFDQyxlQUFlO1FBQ1gsK0VBQStFO1FBQ25GLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBRyxJQUFJLENBQUMsZUFBZSxFQUFDO1lBQ3RCLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNyQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsRUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFDO1lBQ2hGLENBQUMsQ0FBQyxDQUFDO1NBQ0Y7SUFDSCxDQUFDO3dHQXBCVSxxQkFBcUI7NEZBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFIakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2lCQUM5QjtpR0FFUSxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2FwcFNjcm9sbEluVmlld10nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTY3JvbGxJblZpZXdEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5ASW5wdXQoKSBhcHBTY3JvbGxJblZpZXcgPSBmYWxzZTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7XHJcbiAgfVxyXG5uZ09uQ2hhbmdlcyhjaGFuZ2U6U2ltcGxlQ2hhbmdlcyl7XHJcbiAgaWYoY2hhbmdlPy5hcHBTY3JvbGxJblZpZXcgJiYgY2hhbmdlPy5hcHBTY3JvbGxJblZpZXc/LmN1cnJlbnRWYWx1ZSA9PT0gdHJ1ZSl7XHJcbiAgICAgICB0aGlzLnNjcm9sbCgpO1xyXG4gIH1cclxufVxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgLy8gT3RoZXJ3aXNlIEFuZ3VsYXIgdGhyb3dzIGVycm9yOiBFeHByZXNzaW9uIGhhcyBjaGFuZ2VkIGFmdGVyIGl0IHdhcyBjaGVja2VkLlxyXG4gIHRoaXMuc2Nyb2xsKCk7XHJcbiAgfVxyXG5cclxuICBzY3JvbGwoKXtcclxuICAgIGlmKHRoaXMuYXBwU2Nyb2xsSW5WaWV3KXtcclxuICAgICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6ICdzbW9vdGgnLCBibG9jazogJ2NlbnRlcid9KTtcclxuICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -1,153 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
2
- import { ASSETS } from '../constants/assets.constant';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../ui-kit/dialog/dialog.service";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@vcomply/editor";
7
- import * as i4 from "../../ui-kit/formgroup/cs-radio/cs-radio.component";
8
- import * as i5 from "@angular/forms";
9
- import * as i6 from "../../ui-kit/tooltip/tooltip.directive";
10
- import * as i7 from "ng2-date-picker";
11
- export class FormGroupComponent {
12
- dialog;
13
- openCategoryList = new EventEmitter();
14
- openResponsibilityCenterList = new EventEmitter();
15
- openWhoCanViewThis = new EventEmitter();
16
- closeCreateDashboard = new EventEmitter();
17
- openFrequency = new EventEmitter();
18
- disabled;
19
- fromDatePicker;
20
- toDatePicker;
21
- datePickerOverlay = false;
22
- selectedFromDate;
23
- selectedToDate;
24
- dashboardName;
25
- dashboardDescriptionText;
26
- fieldEmptyErrorMessage = 'Enter a value for this input box.';
27
- fieldLimitExceededErrorMessage = 'You have exceeded the maximum character limit of XYZ characters.';
28
- dashboardNameNotUniqueErrorMessage = 'A dashboard with this name already exists. Specify a different name for the dashboard.';
29
- dashboardNameError;
30
- dashboardDescriptionError;
31
- displayCriteria;
32
- ASSETS = ASSETS;
33
- constructor(dialog) {
34
- this.dialog = dialog;
35
- }
36
- dashboardDescription = {
37
- placeholder: 'Description (Max limit: 250 characters)',
38
- mode: 'prime',
39
- id: 'description',
40
- };
41
- fromDatePickerConfig = {
42
- min: this.getCurrentDate(),
43
- };
44
- toDatePickerConfig = {};
45
- ngOnInit() { }
46
- openFromDatePicker() {
47
- this.fromDatePicker.api.open();
48
- this.datePickerOverlay = true;
49
- }
50
- openToDatePicker() {
51
- this.toDatePicker.api.open();
52
- this.datePickerOverlay = true;
53
- }
54
- closeFromDatePicker() {
55
- let minToDate = this.selectedFromDate?.clone()?.add(1, 'days');
56
- this.toDatePickerConfig = { min: minToDate, minTime: minToDate };
57
- if (this.selectedToDate && minToDate.diff(this.selectedToDate) > 0) {
58
- this.selectedToDate = undefined;
59
- }
60
- this.fromDatePicker.api.close();
61
- this.datePickerOverlay = false;
62
- }
63
- closeToDatePicker() {
64
- this.toDatePicker.api.close();
65
- this.datePickerOverlay = false;
66
- }
67
- animateImage() {
68
- const circleImage = document.getElementsByClassName('image');
69
- console.log(circleImage);
70
- }
71
- selectWhoCanViewThis() {
72
- this.openWhoCanViewThis.emit();
73
- }
74
- selectResponsibilityCenter() {
75
- this.openResponsibilityCenterList.emit();
76
- }
77
- selectCategories() {
78
- this.openCategoryList.emit();
79
- }
80
- selectFrequency() {
81
- this.openFrequency.emit();
82
- }
83
- configureDashboard() {
84
- let fieldsStatus = this.verifyFields();
85
- // if(fieldsStatus) {
86
- // this.closeCreateDashboard.emit();
87
- // const ref = this.dialog.open(ConfigureWidgetsComponent, {
88
- // data: {},
89
- // position: 'CENTER',
90
- // pointer: 'none'
91
- // });
92
- // }
93
- }
94
- verifyFields() {
95
- let allFieldsValid = true;
96
- this.dashboardNameError = '';
97
- this.dashboardDescriptionError = '';
98
- if (this.dashboardName === null ||
99
- this.dashboardName === undefined ||
100
- this.dashboardName === '') {
101
- this.dashboardNameError = this.fieldEmptyErrorMessage;
102
- allFieldsValid = false;
103
- }
104
- else if (this.dashboardName.length > 30) {
105
- this.dashboardNameError = this.fieldLimitExceededErrorMessage.replace('XYZ', '30');
106
- allFieldsValid = false;
107
- }
108
- else if (this.dashboardDescriptionText === null ||
109
- this.dashboardDescriptionText === undefined ||
110
- this.dashboardDescriptionText === '') {
111
- this.dashboardDescriptionError = this.fieldEmptyErrorMessage;
112
- allFieldsValid = false;
113
- }
114
- else if (this.dashboardDescriptionText.length > 250) {
115
- this.dashboardDescriptionError =
116
- this.fieldLimitExceededErrorMessage.replace('XYZ', '250');
117
- allFieldsValid = false;
118
- }
119
- return allFieldsValid;
120
- }
121
- getCurrentDate() {
122
- let today = new Date();
123
- return (today.getDate() + '-' + (today.getMonth() + 1) + '-' + today.getFullYear());
124
- }
125
- displayCriteriaSelected(event, selection) {
126
- this.displayCriteria = selection;
127
- }
128
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormGroupComponent, deps: [{ token: i1.DialogService }], target: i0.ɵɵFactoryTarget.Component });
129
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FormGroupComponent, selector: "app-form-group", inputs: { disabled: "disabled" }, outputs: { openCategoryList: "openCategoryList", openResponsibilityCenterList: "openResponsibilityCenterList", openWhoCanViewThis: "openWhoCanViewThis", closeCreateDashboard: "closeCreateDashboard", openFrequency: "openFrequency" }, viewQueries: [{ propertyName: "fromDatePicker", first: true, predicate: ["fromDatePicker"], descendants: true }, { propertyName: "toDatePicker", first: true, predicate: ["toDatePicker"], descendants: true }], ngImport: i0, template: "<!-- <p>form-group works!</p> -->\r\n<div class=\"form-group\" [class.disabled]=\"disabled\">\r\n <div class=\"vx-dialog-body-container\" (scroll)=\"animateImage()\">\r\n <div class=\"form-group-row\">\r\n <div class=\"image\">\r\n <img [ngSrc]=\"ASSETS.dashBoardIcon\" alt=\"\" width=\"36\" height=\"36\" />\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\"\r\n >Dashboard Name<span class=\"required\">*</span></label\r\n >\r\n <div class=\"vx-input-group\">\r\n <input\r\n type=\"text\"\r\n placeholder=\"Add dashboard name (Max limit: 30 characters).\"\r\n [(ngModel)]=\"dashboardName\"\r\n />\r\n <span class=\"counter\" *ngIf=\"dashboardName?.length > 0\">{{\r\n 30 - dashboardName?.length\r\n }}</span>\r\n </div>\r\n <p class=\"vx-txt-error\">{{ dashboardNameError }}</p>\r\n <div class=\"vx-input-group\">\r\n <vcomply-editor\r\n [editorConfig]=\"dashboardDescription\"\r\n [(ngModel)]=\"dashboardDescriptionText\"\r\n ></vcomply-editor>\r\n <span\r\n class=\"counter\"\r\n *ngIf=\"dashboardDescriptionText?.length > 0\"\r\n >{{ 250 - dashboardDescriptionText?.length }}</span\r\n >\r\n </div>\r\n <p class=\"vx-txt-error\">{{ dashboardDescriptionError }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\">\r\n <div class=\"image\">\r\n <img\r\n [ngSrc]=\"ASSETS.dashBoardUsersIcon\"\r\n alt=\"\"\r\n width=\"36\"\r\n height=\"36\"\r\n />\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\"\r\n >Who can view this dashboard?<span class=\"required\">*</span></label\r\n >\r\n <div class=\"selectbox\">\r\n <input\r\n type=\"text\"\r\n placeholder=\"Who can view this dashboard?\"\r\n readonly\r\n (click)=\"selectWhoCanViewThis()\"\r\n />\r\n </div>\r\n <div class=\"selected\">\r\n <div class=\"left\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\">\r\n <span class=\"value\">Samantha Jones</span>\r\n </span>\r\n <span class=\"chip\">\r\n <i class=\"icons\">&#xe90d;</i>\r\n <span class=\"value\">Angel Kleven</span>\r\n </span>\r\n </div>\r\n <button class=\"count\">+10</button>\r\n </div>\r\n <button class=\"edit\"><i class=\"icons\">&#xe9ba;</i> Edit</button>\r\n </div>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\">\r\n <div class=\"image\">\r\n <img [ngSrc]=\"ASSETS.dashBoardRcIcon\" alt=\"\" width=\"36\" height=\"36\" />\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">RESPONSIBILITY CENTER(S)</label>\r\n <div class=\"selectbox\">\r\n <div\r\n class=\"custom-input\"\r\n aria-placeholder=\"Select the Responsibility Center(s) that you would like displayed in the Dashboard, if any.\"\r\n (click)=\"selectResponsibilityCenter()\"\r\n ></div>\r\n </div>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\">\r\n <div class=\"image\">\r\n <img\r\n [ngSrc]=\"ASSETS.dashBoardProgramIcon\"\r\n alt=\"\"\r\n width=\"36\"\r\n height=\"36\"\r\n />\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">PROGRAM</label>\r\n <div class=\"selectbox\">\r\n <div\r\n class=\"custom-input\"\r\n aria-placeholder=\"Select the Program that this responsibility relates to.\"\r\n (click)=\"selectCategories()\"\r\n ></div>\r\n </div>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\">\r\n <div class=\"image\">\r\n <img [ngSrc]=\"ASSETS.dashBoardRiskIcon\" alt=\"\" width=\"36\" height=\"36\" />\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">RISK CATEGORIES</label>\r\n <div class=\"selectbox\">\r\n <div\r\n class=\"custom-input\"\r\n aria-placeholder=\"Select the Risk Categories that you would like displayed in the Dashboard, if any.\"\r\n (click)=\"selectCategories()\"\r\n ></div>\r\n </div>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\">\r\n <div class=\"image\">\r\n <img\r\n [ngSrc]=\"ASSETS.dashBoardUsersIcon\"\r\n alt=\"\"\r\n width=\"36\"\r\n height=\"36\"\r\n />\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">DISPLAY CRITERIA</label>\r\n <div class=\"radio-group\">\r\n <app-cs-radio\r\n (checkedEvent)=\"\r\n displayCriteriaSelected($event, 'BOTH_RC_AND_CATEGORY')\r\n \"\r\n >Those responsibilities that have been assigned to both the\r\n selected Responsibility Center(s) and the selected\r\n Categories.</app-cs-radio\r\n >\r\n <app-cs-radio\r\n (checkedEvent)=\"displayCriteriaSelected($event, 'RC_OR_CATEGORY')\"\r\n >Those responsibilities that have been assigned to either the\r\n selected Responsibility Center(s) or the selected\r\n Categories.</app-cs-radio\r\n >\r\n </div>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\">\r\n <div class=\"image\">\r\n <img\r\n [ngSrc]=\"ASSETS.dashBoardTimeFrameIcon\"\r\n alt=\"\"\r\n width=\"36\"\r\n height=\"36\"\r\n />\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">TIMEFRAME</label>\r\n <label class=\"vx-control-panel-sub-label\"\r\n >Select how long you would like the information selected to be\r\n displayed for. If no timeframe is selected, the information will be\r\n displayed permanently.</label\r\n >\r\n <div class=\"input-group vx-d-flex vx-justify-between\">\r\n <div class=\"date-select\">\r\n <i class=\"icons\">&#xe92d;</i>\r\n <input\r\n type=\"text\"\r\n [value]=\"selectedFromDate | date : 'dd MMM yyyy'\"\r\n [placeholder]=\"'From'\"\r\n (click)=\"openFromDatePicker()\"\r\n readonly\r\n />\r\n <dp-date-picker\r\n #fromDatePicker\r\n [(ngModel)]=\"selectedFromDate\"\r\n placeholder=\"Select Date\"\r\n (onSelect)=\"closeFromDatePicker(); datePickerOverlay = false\"\r\n [config]=\"fromDatePickerConfig\"\r\n ></dp-date-picker>\r\n <div\r\n class=\"overlay\"\r\n (click)=\"closeFromDatePicker()\"\r\n *ngIf=\"datePickerOverlay\"\r\n ></div>\r\n </div>\r\n <div class=\"date-select\">\r\n <i class=\"icons\">&#xe92d;</i>\r\n <input\r\n type=\"text\"\r\n [value]=\"selectedToDate | date : 'dd MMM yyyy'\"\r\n [placeholder]=\"'To'\"\r\n (click)=\"openToDatePicker()\"\r\n readonly\r\n />\r\n <dp-date-picker\r\n #toDatePicker\r\n [(ngModel)]=\"selectedToDate\"\r\n placeholder=\"Select Date\"\r\n (onSelect)=\"closeToDatePicker(); datePickerOverlay = false\"\r\n [config]=\"toDatePickerConfig\"\r\n ></dp-date-picker>\r\n <div\r\n class=\"overlay\"\r\n (click)=\"closeToDatePicker()\"\r\n *ngIf=\"datePickerOverlay\"\r\n ></div>\r\n </div>\r\n </div>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\">\r\n <!--active class will appear on open list-->\r\n <div class=\"image\">\r\n <img\r\n [ngSrc]=\"ASSETS.dashBoardEmailSummariesIcon\"\r\n alt=\"\"\r\n width=\"36\"\r\n height=\"36\"\r\n />\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n Email Summaries\r\n <i\r\n class=\"icons\"\r\n [arTooltip]=\"'This is a test tooltip'\"\r\n placement=\"bottom-left\"\r\n type=\"white\"\r\n delay=\"0\"\r\n [tooltipMandatory]=\"true\"\r\n >&#xe91f;</i\r\n ></label\r\n >\r\n <label class=\"vx-control-panel-sub-label\">\r\n If you would like to send a summary of this Dashboard, please select\r\n a frequency(By default VComply sends a weekly Summary).\r\n </label>\r\n <div class=\"selectbox\">\r\n <input\r\n type=\"text\"\r\n placeholder=\"Email Summaries\"\r\n readonly\r\n (click)=\"selectFrequency()\"\r\n />\r\n </div>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"button-block\">\r\n <button\r\n class=\"vx-btn block primary\"\r\n [disabled]=\"disabled\"\r\n (click)=\"configureDashboard()\"\r\n >\r\n Next: Configure Widgets\r\n </button>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/dialog/dialog.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/animate/animation.css\";@import\"https://cdn.v-comply.com/design-system/css/animate/animate-slide-right.css\";@import\"https://cdn.v-comply.com/design-system/css/forms/forms.css\";::ng-deep .form-group .vx-dialog-body-container{padding:36px 28px 0 40px!important;height:calc(100vh - 50px);overflow:auto;margin-left:-22px;background-color:transparent;position:relative;border-radius:0 0 0 30px;background:transparent}::ng-deep .form-group .vx-dialog-body-container .form-group-row{display:flex}::ng-deep .form-group .vx-dialog-body-container .form-group-row .image{width:40px;height:40px;margin-left:-38px;margin-right:20px;margin-top:28px}::ng-deep .form-group .vx-dialog-body-container .form-group-row .image img{width:100%}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form{width:100%}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-form-group input+marx-editor,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-form-group input+vcomply-editor{margin-top:8px;display:block}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-form-group input:hover{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-form-group .selectbox:after{border-left:none;border-bottom:1px solid #707070;border-right:1px solid #707070;border-top:none;content:\"\";display:inline-block;right:15px;position:absolute;top:calc(50% + 8px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-form-group .selectbox:hover .custom-input{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-form-group .selected .left{width:auto;display:flex}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-form-group .selected .chip-container{width:auto}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-form-group .vx-input-group{display:flex;position:relative}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-form-group .vx-input-group span.counter{background:transparent;color:#161b2f;font-size:9px;font-weight:500;position:absolute;top:0;right:0;border-radius:3px;height:16px;text-align:center;line-height:16px;padding:0 2px}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-form-group .vx-input-group marx-editor,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-form-group .vx-input-group vcomply-editor{width:100%}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-form-group .vx-input-group.vx-input-group{margin-top:8px}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor{display:block}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor .editor-container,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor .editor-container{border-radius:4px;border-color:#dbdbdb}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor .editor-container:focus-within,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor .editor-container:focus-within,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor .editor-container:hover,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor .editor-container:hover{border-color:#1e5dd3}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor .editor-container:focus-within .editor-tools,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor .editor-container:focus-within .editor-tools,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor .editor-container:hover .editor-tools,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor .editor-container:hover .editor-tools{border-top-color:#1e5dd3!important;transition:none}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor .editor-container .editable-block,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor .editor-container .editable-block{min-height:60px;padding:11px 15px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;max-height:90px}@media not all and (min-resolution: .001dpcm){@supports (-webkit-appearance: none){::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor .editor-container .editable-block:before,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor .editor-container .editable-block:before{opacity:.72}}}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor .editor-container .editor-tools,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor .editor-container .editor-tools{border-color:#dbdbdb;border-radius:0 0 2px 2px;transition:none}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .custom-input{height:2.5rem;border-radius:.25rem;border:1px solid #DBDBDB;background:#fff;outline:none;padding:.1875rem .75rem;line-height:1.25rem;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;cursor:pointer}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .custom-input:empty:not(:focus):before{content:attr(aria-placeholder);line-height:16px;font-size:12px;width:94%;display:block;pointer-events:none}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form label.vx-control-panel i{font-size:12px;color:#1e5dd3;margin-left:7px;cursor:pointer}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-control-panel-sub-label{color:#747576;font-size:.6875rem;font-weight:400;line-height:1rem;margin-bottom:.5rem;display:block;text-transform:none;width:100%;margin-top:0}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-control-panel-sub-label span.required{color:#eb2424}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form label.vx-control-panel+.vx-control-panel-sub-label{margin-top:-.5rem}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .radio-group app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .radio-group app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .radio-group app-cs-radio label.radio-item span.radio{position:absolute;top:17px;left:12px}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .radio-group app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #DBDBDB;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .radio-group app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .radio-group app-cs-radio label.radio-item svg{position:absolute;top:17px;left:12px}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .radio-group app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .radio-group app-cs-radio+app-cs-radio{margin-top:.5rem}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .date-select{position:relative;width:calc(50% - .25rem)}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .date-select input{padding-left:36px!important}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .date-select i{display:flex;justify-content:center;align-items:center;height:39px;width:14px;position:absolute;left:12px;top:0;color:#bcbcbc;font-size:14px;pointer-events:none;z-index:1}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form label.vx-control-panel span.sub-label{color:#747576;font-size:.6875rem;font-weight:400;line-height:1rem;text-transform:none;width:100%}::ng-deep .form-group .vx-dialog-body-container .form-group-row.active .image{filter:grayscale(0)}::ng-deep .form-group .vx-dialog-body-container .form-group-row.active .image:before{display:none}::ng-deep .form-group .vx-dialog-body-container .form-group-row.active .form{opacity:1;filter:grayscale(0)}::ng-deep .form-group .vx-dialog-body-container .form-group-row.active .form .custom-input,::ng-deep .form-group .vx-dialog-body-container .form-group-row.active .form input[type=text]{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .form-group .vx-dialog-body-container:after{content:\"\";width:100%;display:block;height:30px;position:sticky;right:0;bottom:0;left:0;z-index:6;background:linear-gradient(to bottom,#fff0,#ffffffbf 22%,#fff);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#00ffffff\",endColorstr=\"#ffffff\",GradientType=0)}::ng-deep .form-group .button-block{position:relative;z-index:2}::ng-deep .form-group .button-block button{height:50px;line-height:48px!important}::ng-deep .form-group .button-block button:disabled{opacity:.3}::ng-deep .form-group.disabled{pointer-events:none;z-index:2}::ng-deep .form-group.disabled .image{position:relative;filter:grayscale(1)}::ng-deep .form-group.disabled .image:before{content:\"\";position:absolute;inset:0;background:#fff;opacity:.7}::ng-deep .form-group.disabled .form{opacity:.3;filter:grayscale(1)}::ng-deep marx-modal .popup-modal-background{background-color:#161b2fcc!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MarxEditorComponent, selector: "vcomply-editor", inputs: ["editorConfig"], outputs: ["comment", "sendSavedFiles", "popup"] }, { kind: "component", type: i4.CsRadioComponent, selector: "app-cs-radio", inputs: ["disabled", "readonly", "name", "checked", "value"], outputs: ["checkedEvent"] }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i6.ToolTipDirective, selector: "[arTooltip]", inputs: ["arTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i7.DatePickerComponent, selector: "dp-date-picker", inputs: ["config", "mode", "placeholder", "disabled", "displayDate", "theme", "minDate", "maxDate", "minTime", "maxTime"], outputs: ["open", "close", "onChange", "onGoToCurrent", "onLeftNav", "onRightNav", "onSelect"] }, { kind: "directive", type: i2.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "src", "srcset"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }] });
130
- }
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FormGroupComponent, decorators: [{
132
- type: Component,
133
- args: [{ selector: 'app-form-group', template: "<!-- <p>form-group works!</p> -->\r\n<div class=\"form-group\" [class.disabled]=\"disabled\">\r\n <div class=\"vx-dialog-body-container\" (scroll)=\"animateImage()\">\r\n <div class=\"form-group-row\">\r\n <div class=\"image\">\r\n <img [ngSrc]=\"ASSETS.dashBoardIcon\" alt=\"\" width=\"36\" height=\"36\" />\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\"\r\n >Dashboard Name<span class=\"required\">*</span></label\r\n >\r\n <div class=\"vx-input-group\">\r\n <input\r\n type=\"text\"\r\n placeholder=\"Add dashboard name (Max limit: 30 characters).\"\r\n [(ngModel)]=\"dashboardName\"\r\n />\r\n <span class=\"counter\" *ngIf=\"dashboardName?.length > 0\">{{\r\n 30 - dashboardName?.length\r\n }}</span>\r\n </div>\r\n <p class=\"vx-txt-error\">{{ dashboardNameError }}</p>\r\n <div class=\"vx-input-group\">\r\n <vcomply-editor\r\n [editorConfig]=\"dashboardDescription\"\r\n [(ngModel)]=\"dashboardDescriptionText\"\r\n ></vcomply-editor>\r\n <span\r\n class=\"counter\"\r\n *ngIf=\"dashboardDescriptionText?.length > 0\"\r\n >{{ 250 - dashboardDescriptionText?.length }}</span\r\n >\r\n </div>\r\n <p class=\"vx-txt-error\">{{ dashboardDescriptionError }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\">\r\n <div class=\"image\">\r\n <img\r\n [ngSrc]=\"ASSETS.dashBoardUsersIcon\"\r\n alt=\"\"\r\n width=\"36\"\r\n height=\"36\"\r\n />\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\"\r\n >Who can view this dashboard?<span class=\"required\">*</span></label\r\n >\r\n <div class=\"selectbox\">\r\n <input\r\n type=\"text\"\r\n placeholder=\"Who can view this dashboard?\"\r\n readonly\r\n (click)=\"selectWhoCanViewThis()\"\r\n />\r\n </div>\r\n <div class=\"selected\">\r\n <div class=\"left\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\">\r\n <span class=\"value\">Samantha Jones</span>\r\n </span>\r\n <span class=\"chip\">\r\n <i class=\"icons\">&#xe90d;</i>\r\n <span class=\"value\">Angel Kleven</span>\r\n </span>\r\n </div>\r\n <button class=\"count\">+10</button>\r\n </div>\r\n <button class=\"edit\"><i class=\"icons\">&#xe9ba;</i> Edit</button>\r\n </div>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\">\r\n <div class=\"image\">\r\n <img [ngSrc]=\"ASSETS.dashBoardRcIcon\" alt=\"\" width=\"36\" height=\"36\" />\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">RESPONSIBILITY CENTER(S)</label>\r\n <div class=\"selectbox\">\r\n <div\r\n class=\"custom-input\"\r\n aria-placeholder=\"Select the Responsibility Center(s) that you would like displayed in the Dashboard, if any.\"\r\n (click)=\"selectResponsibilityCenter()\"\r\n ></div>\r\n </div>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\">\r\n <div class=\"image\">\r\n <img\r\n [ngSrc]=\"ASSETS.dashBoardProgramIcon\"\r\n alt=\"\"\r\n width=\"36\"\r\n height=\"36\"\r\n />\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">PROGRAM</label>\r\n <div class=\"selectbox\">\r\n <div\r\n class=\"custom-input\"\r\n aria-placeholder=\"Select the Program that this responsibility relates to.\"\r\n (click)=\"selectCategories()\"\r\n ></div>\r\n </div>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\">\r\n <div class=\"image\">\r\n <img [ngSrc]=\"ASSETS.dashBoardRiskIcon\" alt=\"\" width=\"36\" height=\"36\" />\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">RISK CATEGORIES</label>\r\n <div class=\"selectbox\">\r\n <div\r\n class=\"custom-input\"\r\n aria-placeholder=\"Select the Risk Categories that you would like displayed in the Dashboard, if any.\"\r\n (click)=\"selectCategories()\"\r\n ></div>\r\n </div>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\">\r\n <div class=\"image\">\r\n <img\r\n [ngSrc]=\"ASSETS.dashBoardUsersIcon\"\r\n alt=\"\"\r\n width=\"36\"\r\n height=\"36\"\r\n />\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">DISPLAY CRITERIA</label>\r\n <div class=\"radio-group\">\r\n <app-cs-radio\r\n (checkedEvent)=\"\r\n displayCriteriaSelected($event, 'BOTH_RC_AND_CATEGORY')\r\n \"\r\n >Those responsibilities that have been assigned to both the\r\n selected Responsibility Center(s) and the selected\r\n Categories.</app-cs-radio\r\n >\r\n <app-cs-radio\r\n (checkedEvent)=\"displayCriteriaSelected($event, 'RC_OR_CATEGORY')\"\r\n >Those responsibilities that have been assigned to either the\r\n selected Responsibility Center(s) or the selected\r\n Categories.</app-cs-radio\r\n >\r\n </div>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\">\r\n <div class=\"image\">\r\n <img\r\n [ngSrc]=\"ASSETS.dashBoardTimeFrameIcon\"\r\n alt=\"\"\r\n width=\"36\"\r\n height=\"36\"\r\n />\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">TIMEFRAME</label>\r\n <label class=\"vx-control-panel-sub-label\"\r\n >Select how long you would like the information selected to be\r\n displayed for. If no timeframe is selected, the information will be\r\n displayed permanently.</label\r\n >\r\n <div class=\"input-group vx-d-flex vx-justify-between\">\r\n <div class=\"date-select\">\r\n <i class=\"icons\">&#xe92d;</i>\r\n <input\r\n type=\"text\"\r\n [value]=\"selectedFromDate | date : 'dd MMM yyyy'\"\r\n [placeholder]=\"'From'\"\r\n (click)=\"openFromDatePicker()\"\r\n readonly\r\n />\r\n <dp-date-picker\r\n #fromDatePicker\r\n [(ngModel)]=\"selectedFromDate\"\r\n placeholder=\"Select Date\"\r\n (onSelect)=\"closeFromDatePicker(); datePickerOverlay = false\"\r\n [config]=\"fromDatePickerConfig\"\r\n ></dp-date-picker>\r\n <div\r\n class=\"overlay\"\r\n (click)=\"closeFromDatePicker()\"\r\n *ngIf=\"datePickerOverlay\"\r\n ></div>\r\n </div>\r\n <div class=\"date-select\">\r\n <i class=\"icons\">&#xe92d;</i>\r\n <input\r\n type=\"text\"\r\n [value]=\"selectedToDate | date : 'dd MMM yyyy'\"\r\n [placeholder]=\"'To'\"\r\n (click)=\"openToDatePicker()\"\r\n readonly\r\n />\r\n <dp-date-picker\r\n #toDatePicker\r\n [(ngModel)]=\"selectedToDate\"\r\n placeholder=\"Select Date\"\r\n (onSelect)=\"closeToDatePicker(); datePickerOverlay = false\"\r\n [config]=\"toDatePickerConfig\"\r\n ></dp-date-picker>\r\n <div\r\n class=\"overlay\"\r\n (click)=\"closeToDatePicker()\"\r\n *ngIf=\"datePickerOverlay\"\r\n ></div>\r\n </div>\r\n </div>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"form-group-row\">\r\n <!--active class will appear on open list-->\r\n <div class=\"image\">\r\n <img\r\n [ngSrc]=\"ASSETS.dashBoardEmailSummariesIcon\"\r\n alt=\"\"\r\n width=\"36\"\r\n height=\"36\"\r\n />\r\n </div>\r\n <div class=\"form\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">\r\n Email Summaries\r\n <i\r\n class=\"icons\"\r\n [arTooltip]=\"'This is a test tooltip'\"\r\n placement=\"bottom-left\"\r\n type=\"white\"\r\n delay=\"0\"\r\n [tooltipMandatory]=\"true\"\r\n >&#xe91f;</i\r\n ></label\r\n >\r\n <label class=\"vx-control-panel-sub-label\">\r\n If you would like to send a summary of this Dashboard, please select\r\n a frequency(By default VComply sends a weekly Summary).\r\n </label>\r\n <div class=\"selectbox\">\r\n <input\r\n type=\"text\"\r\n placeholder=\"Email Summaries\"\r\n readonly\r\n (click)=\"selectFrequency()\"\r\n />\r\n </div>\r\n <!-- <p class=\"vx-txt-error\">Enter a value for this input box.</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"button-block\">\r\n <button\r\n class=\"vx-btn block primary\"\r\n [disabled]=\"disabled\"\r\n (click)=\"configureDashboard()\"\r\n >\r\n Next: Configure Widgets\r\n </button>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/dialog/dialog.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/animate/animation.css\";@import\"https://cdn.v-comply.com/design-system/css/animate/animate-slide-right.css\";@import\"https://cdn.v-comply.com/design-system/css/forms/forms.css\";::ng-deep .form-group .vx-dialog-body-container{padding:36px 28px 0 40px!important;height:calc(100vh - 50px);overflow:auto;margin-left:-22px;background-color:transparent;position:relative;border-radius:0 0 0 30px;background:transparent}::ng-deep .form-group .vx-dialog-body-container .form-group-row{display:flex}::ng-deep .form-group .vx-dialog-body-container .form-group-row .image{width:40px;height:40px;margin-left:-38px;margin-right:20px;margin-top:28px}::ng-deep .form-group .vx-dialog-body-container .form-group-row .image img{width:100%}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form{width:100%}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-form-group input+marx-editor,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-form-group input+vcomply-editor{margin-top:8px;display:block}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-form-group input:hover{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-form-group .selectbox:after{border-left:none;border-bottom:1px solid #707070;border-right:1px solid #707070;border-top:none;content:\"\";display:inline-block;right:15px;position:absolute;top:calc(50% + 8px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-form-group .selectbox:hover .custom-input{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-form-group .selected .left{width:auto;display:flex}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-form-group .selected .chip-container{width:auto}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-form-group .vx-input-group{display:flex;position:relative}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-form-group .vx-input-group span.counter{background:transparent;color:#161b2f;font-size:9px;font-weight:500;position:absolute;top:0;right:0;border-radius:3px;height:16px;text-align:center;line-height:16px;padding:0 2px}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-form-group .vx-input-group marx-editor,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-form-group .vx-input-group vcomply-editor{width:100%}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-form-group .vx-input-group.vx-input-group{margin-top:8px}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor{display:block}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor .editor-container,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor .editor-container{border-radius:4px;border-color:#dbdbdb}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor .editor-container:focus-within,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor .editor-container:focus-within,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor .editor-container:hover,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor .editor-container:hover{border-color:#1e5dd3}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor .editor-container:focus-within .editor-tools,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor .editor-container:focus-within .editor-tools,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor .editor-container:hover .editor-tools,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor .editor-container:hover .editor-tools{border-top-color:#1e5dd3!important;transition:none}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor .editor-container .editable-block,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor .editor-container .editable-block{min-height:60px;padding:11px 15px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;max-height:90px}@media not all and (min-resolution: .001dpcm){@supports (-webkit-appearance: none){::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor .editor-container .editable-block:before,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor .editor-container .editable-block:before{opacity:.72}}}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor .editor-container .editor-tools,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor .editor-container .editor-tools{border-color:#dbdbdb;border-radius:0 0 2px 2px;transition:none}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:12px}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button,::ng-deep .form-group .vx-dialog-body-container .form-group-row .form vcomply-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .custom-input{height:2.5rem;border-radius:.25rem;border:1px solid #DBDBDB;background:#fff;outline:none;padding:.1875rem .75rem;line-height:1.25rem;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;cursor:pointer}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .custom-input:empty:not(:focus):before{content:attr(aria-placeholder);line-height:16px;font-size:12px;width:94%;display:block;pointer-events:none}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form label.vx-control-panel i{font-size:12px;color:#1e5dd3;margin-left:7px;cursor:pointer}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-control-panel-sub-label{color:#747576;font-size:.6875rem;font-weight:400;line-height:1rem;margin-bottom:.5rem;display:block;text-transform:none;width:100%;margin-top:0}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .vx-control-panel-sub-label span.required{color:#eb2424}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form label.vx-control-panel+.vx-control-panel-sub-label{margin-top:-.5rem}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .radio-group app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .radio-group app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .radio-group app-cs-radio label.radio-item span.radio{position:absolute;top:17px;left:12px}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .radio-group app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #DBDBDB;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .radio-group app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .radio-group app-cs-radio label.radio-item svg{position:absolute;top:17px;left:12px}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .radio-group app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .radio-group app-cs-radio+app-cs-radio{margin-top:.5rem}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .date-select{position:relative;width:calc(50% - .25rem)}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .date-select input{padding-left:36px!important}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form .date-select i{display:flex;justify-content:center;align-items:center;height:39px;width:14px;position:absolute;left:12px;top:0;color:#bcbcbc;font-size:14px;pointer-events:none;z-index:1}::ng-deep .form-group .vx-dialog-body-container .form-group-row .form label.vx-control-panel span.sub-label{color:#747576;font-size:.6875rem;font-weight:400;line-height:1rem;text-transform:none;width:100%}::ng-deep .form-group .vx-dialog-body-container .form-group-row.active .image{filter:grayscale(0)}::ng-deep .form-group .vx-dialog-body-container .form-group-row.active .image:before{display:none}::ng-deep .form-group .vx-dialog-body-container .form-group-row.active .form{opacity:1;filter:grayscale(0)}::ng-deep .form-group .vx-dialog-body-container .form-group-row.active .form .custom-input,::ng-deep .form-group .vx-dialog-body-container .form-group-row.active .form input[type=text]{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .form-group .vx-dialog-body-container:after{content:\"\";width:100%;display:block;height:30px;position:sticky;right:0;bottom:0;left:0;z-index:6;background:linear-gradient(to bottom,#fff0,#ffffffbf 22%,#fff);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#00ffffff\",endColorstr=\"#ffffff\",GradientType=0)}::ng-deep .form-group .button-block{position:relative;z-index:2}::ng-deep .form-group .button-block button{height:50px;line-height:48px!important}::ng-deep .form-group .button-block button:disabled{opacity:.3}::ng-deep .form-group.disabled{pointer-events:none;z-index:2}::ng-deep .form-group.disabled .image{position:relative;filter:grayscale(1)}::ng-deep .form-group.disabled .image:before{content:\"\";position:absolute;inset:0;background:#fff;opacity:.7}::ng-deep .form-group.disabled .form{opacity:.3;filter:grayscale(1)}::ng-deep marx-modal .popup-modal-background{background-color:#161b2fcc!important}\n"] }]
134
- }], ctorParameters: function () { return [{ type: i1.DialogService }]; }, propDecorators: { openCategoryList: [{
135
- type: Output
136
- }], openResponsibilityCenterList: [{
137
- type: Output
138
- }], openWhoCanViewThis: [{
139
- type: Output
140
- }], closeCreateDashboard: [{
141
- type: Output
142
- }], openFrequency: [{
143
- type: Output
144
- }], disabled: [{
145
- type: Input
146
- }], fromDatePicker: [{
147
- type: ViewChild,
148
- args: ['fromDatePicker']
149
- }], toDatePicker: [{
150
- type: ViewChild,
151
- args: ['toDatePicker']
152
- }] } });
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcmVhdGUtZGFzaGJvYXJkL3NyYy9saWIvY3JlYXRlLWRhc2hib2FyZC1jb250YWluZXIvZm9ybS1ncm91cC9mb3JtLWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9mb3JtLWdyb3VwL2Zvcm0tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7QUFPdEQsTUFBTSxPQUFPLGtCQUFrQjtJQXlCVDtJQXhCVixnQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBQzlDLDRCQUE0QixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFDMUQsa0JBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUNoRCxvQkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBQ2xELGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBQzVDLFFBQVEsQ0FBVztJQUVDLGNBQWMsQ0FBdUI7SUFDdkMsWUFBWSxDQUF1QjtJQUM5RCxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDMUIsZ0JBQWdCLENBQU87SUFDdkIsY0FBYyxDQUFPO0lBQ3JCLGFBQWEsQ0FBTztJQUNwQix3QkFBd0IsQ0FBTztJQUMvQixzQkFBc0IsR0FBVyxtQ0FBbUMsQ0FBQztJQUNyRSw4QkFBOEIsR0FDNUIsa0VBQWtFLENBQUM7SUFDckUsa0NBQWtDLEdB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QztJQUVELHVCQUF1QixDQUFDLEtBQWMsRUFBRSxTQUFpQjtRQUN2RCxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztJQUNuQyxDQUFDO3dHQS9JVSxrQkFBa0I7NEZBQWxCLGtCQUFrQixraEJDbEIvQix1elZBZ1NBOzs0RkQ5UWEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGdCQUFnQjtvR0FLaEIsZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLDRCQUE0QjtzQkFBckMsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0UsUUFBUTtzQkFBaEIsS0FBSztnQkFFdUIsY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBQ0EsWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXRlUGlja2VyQ29tcG9uZW50LCBJRGF0ZVBpY2tlckNvbmZpZyB9IGZyb20gJ25nMi1kYXRlLXBpY2tlcic7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi91aS1raXQvZGlhbG9nL2RpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRWRpdG9yQ29uZmlnIH0gZnJvbSAnQHZjb21wbHkvZWRpdG9yJztcclxuaW1wb3J0IHsgQVNTRVRTIH0gZnJvbSAnLi4vY29uc3RhbnRzL2Fzc2V0cy5jb25zdGFudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mb3JtLWdyb3VwJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1ncm91cC5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybUdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAT3V0cHV0KCkgb3BlbkNhdGVnb3J5TGlzdCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBvcGVuUmVzcG9uc2liaWxpdHlDZW50ZXJMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIG9wZW5XaG9DYW5WaWV3VGhpcyA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBjbG9zZUNyZWF0ZURhc2hib2FyZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBvcGVuRnJlcXVlbmN5ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQhOiBib29sZWFuO1xyXG5cclxuICBAVmlld0NoaWxkKCdmcm9tRGF0ZVBpY2tlcicpIGZyb21EYXRlUGlja2VyITogRGF0ZVBpY2tlckNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCd0b0RhdGVQaWNrZXInKSB0b0RhdGVQaWNrZXIhOiBEYXRlUGlja2VyQ29tcG9uZW50O1xyXG4gIGRhdGVQaWNrZXJPdmVybGF5ID0gZmFsc2U7XHJcbiAgc2VsZWN0ZWRGcm9tRGF0ZSE6IGFueTtcclxuICBzZWxlY3RlZFRvRGF0ZSE6IGFueTtcclxuICBkYXNoYm9hcmROYW1lITogYW55O1xyXG4gIGRhc2hib2FyZERlc2NyaXB0aW9uVGV4dCE6IGFueTtcclxuICBmaWVsZEVtcHR5RXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnRW50ZXIgYSB2YWx1ZSBmb3IgdGhpcyBpbnB1dCBib3guJztcclxuICBmaWVsZExpbWl0RXhjZWVkZWRFcnJvck1lc3NhZ2U6IHN0cmluZyA9XHJcbiAgICAnWW91IGhhdmUgZXhjZWVkZWQgdGhlIG1heGltdW0gY2hhcmFjdGVyIGxpbWl0IG9mIFhZWiBjaGFyYWN0ZXJzLic7XHJcbiAgZGFzaGJvYXJkTmFtZU5vdFVuaXF1ZUVycm9yTWVzc2FnZTogc3RyaW5nID1cclxuICAgICdBIGRhc2hib2FyZCB3aXRoIHRoaXMgbmFtZSBhbHJlYWR5IGV4aXN0cy4gU3BlY2lmeSBhIGRpZmZlcmVudCBuYW1lIGZvciB0aGUgZGFzaGJvYXJkLic7XHJcbiAgZGFzaGJvYXJkTmFtZUVycm9yITogc3RyaW5nO1xyXG4gIGRhc2hib2FyZERlc2NyaXB0aW9uRXJyb3IhOiBzdHJpbmc7XHJcbiAgZGlzcGxheUNyaXRlcmlhITogc3RyaW5nO1xyXG4gIEFTU0VUUzogYW55ID0gQVNTRVRTO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRpYWxvZzogRGlhbG9nU2VydmljZSkge31cclxuXHJcbiAgZGFzaGJvYXJkRGVzY3JpcHRpb246IEVkaXRvckNvbmZpZyA9IHtcclxuICAgIHBsYWNlaG9sZGVyOiAnRGVzY3JpcHRpb24gKE1heCBsaW1pdDogMjUwIGNoYXJhY3RlcnMpJyxcclxuICAgIG1vZGU6ICdwcmltZScsXHJcbiAgICBpZDogJ2Rlc2NyaXB0aW9uJyxcclxuICB9O1xyXG5cclxuICBmcm9tRGF0ZVBpY2tlckNvbmZpZzogSURhdGVQaWNrZXJDb25maWcgPSB7XHJcbiAgICBtaW46IHRoaXMuZ2V0Q3VycmVudERhdGUoKSxcclxuICB9O1xyXG5cclxuICB0b0RhdGVQaWNrZXJDb25maWc6IElEYXRlUGlja2VyQ29uZmlnID0ge307XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcbiAgb3BlbkZyb21EYXRlUGlja2VyKCkge1xyXG4gICAgdGhpcy5mcm9tRGF0ZVBpY2tlci5hcGkub3BlbigpO1xyXG4gICAgdGhpcy5kYXRlUGlja2VyT3ZlcmxheSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBvcGVuVG9EYXRlUGlja2VyKCkge1xyXG4gICAgdGhpcy50b0RhdGVQaWNrZXIuYXBpLm9wZW4oKTtcclxuICAgIHRoaXMuZGF0ZVBpY2tlck92ZXJsYXkgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VGcm9tRGF0ZVBpY2tlcigpIHtcclxuICAgIGxldCBtaW5Ub0RhdGUgPSB0aGlzLnNlbGVjdGVkRnJvbURhdGU/LmNsb25lKCk/LmFkZCgxLCAnZGF5cycpO1xyXG4gICAgdGhpcy50b0RhdGVQaWNrZXJDb25maWcgPSB7IG1pbjogbWluVG9EYXRlLCBtaW5UaW1lOiBtaW5Ub0RhdGUgfTtcclxuXHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZFRvRGF0ZSAmJiBtaW5Ub0RhdGUuZGlmZih0aGlzLnNlbGVjdGVkVG9EYXRlKSA+IDApIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFRvRGF0ZSA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZyb21EYXRlUGlja2VyLmFwaS5jbG9zZSgpO1xyXG4gICAgdGhpcy5kYXRlUGlja2VyT3ZlcmxheSA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VUb0RhdGVQaWNrZXIoKSB7XHJcbiAgICB0aGlzLnRvRGF0ZVBpY2tlci5hcGkuY2xvc2UoKTtcclxuICAgIHRoaXMuZGF0ZVBpY2tlck92ZXJsYXkgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGFuaW1hdGVJbWFnZSgpIHtcclxuICAgIGNvbnN0IGNpcmNsZUltYWdlID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnaW1hZ2UnKTtcclxuICAgIGNvbnNvbGUubG9nKGNpcmNsZUltYWdlKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdFdob0NhblZpZXdUaGlzKCkge1xyXG4gICAgdGhpcy5vcGVuV2hvQ2FuVmlld1RoaXMuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0UmVzcG9uc2liaWxpdHlDZW50ZXIoKSB7XHJcbiAgICB0aGlzLm9wZW5SZXNwb25zaWJpbGl0eUNlbnRlckxpc3QuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0Q2F0ZWdvcmllcygpIHtcclxuICAgIHRoaXMub3BlbkNhdGVnb3J5TGlzdC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RGcmVxdWVuY3koKSB7XHJcbiAgICB0aGlzLm9wZW5GcmVxdWVuY3kuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgY29uZmlndXJlRGFzaGJvYXJkKCkge1xyXG4gICAgbGV0IGZpZWxkc1N0YXR1cyA9IHRoaXMudmVyaWZ5RmllbGRzKCk7XHJcbiAgICAvLyBpZihmaWVsZHNTdGF0dXMpIHtcclxuICAgIC8vICAgdGhpcy5jbG9zZUNyZWF0ZURhc2hib2FyZC5lbWl0KCk7XHJcbiAgICAvLyAgIGNvbnN0IHJlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQ29uZmlndXJlV2lkZ2V0c0NvbXBvbmVudCwge1xyXG4gICAgLy8gICAgIGRhdGE6IHt9LFxyXG4gICAgLy8gICAgIHBvc2l0aW9uOiAnQ0VOVEVSJyxcclxuICAgIC8vICAgICBwb2ludGVyOiAnbm9uZSdcclxuICAgIC8vICAgfSk7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICB2ZXJpZnlGaWVsZHMoKSB7XHJcbiAgICBsZXQgYWxsRmllbGRzVmFsaWQgPSB0cnVlO1xyXG4gICAgdGhpcy5kYXNoYm9hcmROYW1lRXJyb3IgPSAnJztcclxuICAgIHRoaXMuZGFzaGJvYXJkRGVzY3JpcHRpb25FcnJvciA9ICcnO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5kYXNoYm9hcmROYW1lID09PSBudWxsIHx8XHJcbiAgICAgIHRoaXMuZGFzaGJvYXJkTmFtZSA9PT0gdW5kZWZpbmVkIHx8XHJcbiAgICAgIHRoaXMuZGFzaGJvYXJkTmFtZSA9PT0gJydcclxuICAgICkge1xyXG4gICAgICB0aGlzLmRhc2hib2FyZE5hbWVFcnJvciA9IHRoaXMuZmllbGRFbXB0eUVycm9yTWVzc2FnZTtcclxuICAgICAgYWxsRmllbGRzVmFsaWQgPSBmYWxzZTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5kYXNoYm9hcmROYW1lLmxlbmd0aCA+IDMwKSB7XHJcbiAgICAgIHRoaXMuZGFzaGJvYXJkTmFtZUVycm9yID0gdGhpcy5maWVsZExpbWl0RXhjZWVkZWRFcnJvck1lc3NhZ2UucmVwbGFjZShcclxuICAgICAgICAnWFlaJyxcclxuICAgICAgICAnMzAnXHJcbiAgICAgICk7XHJcbiAgICAgIGFsbEZpZWxkc1ZhbGlkID0gZmFsc2U7XHJcbiAgICB9IGVsc2UgaWYgKFxyXG4gICAgICB0aGlzLmRhc2hib2FyZERlc2NyaXB0aW9uVGV4dCA9PT0gbnVsbCB8fFxyXG4gICAgICB0aGlzLmRhc2hib2FyZERlc2NyaXB0aW9uVGV4dCA9PT0gdW5kZWZpbmVkIHx8XHJcbiAgICAgIHRoaXMuZGFzaGJvYXJkRGVzY3JpcHRpb25UZXh0ID09PSAnJ1xyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuZGFzaGJvYXJkRGVzY3JpcHRpb25FcnJvciA9IHRoaXMuZmllbGRFbXB0eUVycm9yTWVzc2FnZTtcclxuICAgICAgYWxsRmllbGRzVmFsaWQgPSBmYWxzZTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5kYXNoYm9hcmREZXNjcmlwdGlvblRleHQubGVuZ3RoID4gMjUwKSB7XHJcbiAgICAgIHRoaXMuZGFzaGJvYXJkRGVzY3JpcHRpb25FcnJvciA9XHJcbiAgICAgICAgdGhpcy5maWVsZExpbWl0RXhjZWVkZWRFcnJvck1lc3NhZ2UucmVwbGFjZSgnWFlaJywgJzI1MCcpO1xyXG4gICAgICBhbGxGaWVsZHNWYWxpZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFsbEZpZWxkc1ZhbGlkO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q3VycmVudERhdGUoKSB7XHJcbiAgICBsZXQgdG9kYXkgPSBuZXcgRGF0ZSgpO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgdG9kYXkuZ2V0RGF0ZSgpICsgJy0nICsgKHRvZGF5LmdldE1vbnRoKCkgKyAxKSArICctJyArIHRvZGF5LmdldEZ1bGxZZWFyKClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBkaXNwbGF5Q3JpdGVyaWFTZWxlY3RlZChldmVudDogYm9vbGVhbiwgc2VsZWN0aW9uOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZGlzcGxheUNyaXRlcmlhID0gc2VsZWN0aW9uO1xyXG4gIH1cclxufVxyXG4iLCI8IS0tIDxwPmZvcm0tZ3JvdXAgd29ya3MhPC9wPiAtLT5cclxuPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICA8ZGl2IGNsYXNzPVwidngtZGlhbG9nLWJvZHktY29udGFpbmVyXCIgKHNjcm9sbCk9XCJhbmltYXRlSW1hZ2UoKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAtcm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZVwiPlxyXG4gICAgICAgIDxpbWcgW25nU3JjXT1cIkFTU0VUUy5kYXNoQm9hcmRJY29uXCIgYWx0PVwiXCIgd2lkdGg9XCIzNlwiIGhlaWdodD1cIjM2XCIgLz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInZ4LWNvbnRyb2wtcGFuZWxcIlxyXG4gICAgICAgICAgICA+RGFzaGJvYXJkIE5hbWU8c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj48L2xhYmVsXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtaW5wdXQtZ3JvdXBcIj5cclxuICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiQWRkIGRhc2hib2FyZCBuYW1lIChNYXggbGltaXQ6IDMwIGNoYXJhY3RlcnMpLlwiXHJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJkYXNoYm9hcmROYW1lXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb3VudGVyXCIgKm5nSWY9XCJkYXNoYm9hcmROYW1lPy5sZW5ndGggPiAwXCI+e3tcclxuICAgICAgICAgICAgICAzMCAtIGRhc2hib2FyZE5hbWU/Lmxlbmd0aFxyXG4gICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPHAgY2xhc3M9XCJ2eC10eHQtZXJyb3JcIj57eyBkYXNoYm9hcmROYW1lRXJyb3IgfX08L3A+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtaW5wdXQtZ3JvdXBcIj5cclxuICAgICAgICAgICAgPHZjb21wbHktZWRpdG9yXHJcbiAgICAgICAgICAgICAgW2VkaXRvckNvbmZpZ109XCJkYXNoYm9hcmREZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJkYXNoYm9hcmREZXNjcmlwdGlvblRleHRcIlxyXG4gICAgICAgICAgICA+PC92Y29tcGx5LWVkaXRvcj5cclxuICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICBjbGFzcz1cImNvdW50ZXJcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiZGFzaGJvYXJkRGVzY3JpcHRpb25UZXh0Py5sZW5ndGggPiAwXCJcclxuICAgICAgICAgICAgICA+e3sgMjUwIC0gZGFzaGJvYXJkRGVzY3JpcHRpb25UZXh0Py5sZW5ndGggfX08L3NwYW5cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8cCBjbGFzcz1cInZ4LXR4dC1lcnJvclwiPnt7IGRhc2hib2FyZERlc2NyaXB0aW9uRXJyb3IgfX08L3A+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cC1yb3dcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImltYWdlXCI+XHJcbiAgICAgICAgPGltZ1xyXG4gICAgICAgICAgW25nU3JjXT1cIkFTU0VUUy5kYXNoQm9hcmRVc2Vyc0ljb25cIlxyXG4gICAgICAgICAgYWx0PVwiXCJcclxuICAgICAgICAgIHdpZHRoPVwiMzZcIlxyXG4gICAgICAgICAgaGVpZ2h0PVwiMzZcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCJcclxuICAgICAgICAgICAgPldobyBjYW4gdmlldyB0aGlzIGRhc2hib2FyZD88c3BhbiBjbGFzcz1cInJlcXVpcmVkXCI+Kjwvc3Bhbj48L2xhYmVsXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0Ym94XCI+XHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIldobyBjYW4gdmlldyB0aGlzIGRhc2hib2FyZD9cIlxyXG4gICAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFdob0NhblZpZXdUaGlzKClcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hpcC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hpcFwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+U2FtYW50aGEgSm9uZXM8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNoaXBcIj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGQ7PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+QW5nZWwgS2xldmVuPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJjb3VudFwiPisxMDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImVkaXRcIj48aSBjbGFzcz1cImljb25zXCI+JiN4ZTliYTs8L2k+IEVkaXQ8L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPCEtLSA8cCBjbGFzcz1cInZ4LXR4dC1lcnJvclwiPkVudGVyIGEgdmFsdWUgZm9yIHRoaXMgaW5wdXQgYm94LjwvcD4gLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cC1yb3dcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImltYWdlXCI+XHJcbiAgICAgICAgPGltZyBbbmdTcmNdPVwiQVNTRVRTLmRhc2hCb2FyZFJjSWNvblwiIGFsdD1cIlwiIHdpZHRoPVwiMzZcIiBoZWlnaHQ9XCIzNlwiIC8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCI+UkVTUE9OU0lCSUxJVFkgQ0VOVEVSKFMpPC9sYWJlbD5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3Rib3hcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiY3VzdG9tLWlucHV0XCJcclxuICAgICAgICAgICAgICBhcmlhLXBsYWNlaG9sZGVyPVwiU2VsZWN0IHRoZSBSZXNwb25zaWJpbGl0eSBDZW50ZXIocykgdGhhdCB5b3Ugd291bGQgbGlrZSBkaXNwbGF5ZWQgaW4gdGhlIERhc2hib2FyZCwgaWYgYW55LlwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFJlc3BvbnNpYmlsaXR5Q2VudGVyKClcIlxyXG4gICAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwhLS0gPHAgY2xhc3M9XCJ2eC10eHQtZXJyb3JcIj5FbnRlciBhIHZhbHVlIGZvciB0aGlzIGlucHV0IGJveC48L3A+IC0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAtcm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZVwiPlxyXG4gICAgICAgIDxpbWdcclxuICAgICAgICAgIFtuZ1NyY109XCJBU1NFVFMuZGFzaEJvYXJkUHJvZ3JhbUljb25cIlxyXG4gICAgICAgICAgYWx0PVwiXCJcclxuICAgICAgICAgIHdpZHRoPVwiMzZcIlxyXG4gICAgICAgICAgaGVpZ2h0PVwiMzZcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCI+UFJPR1JBTTwvbGFiZWw+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0Ym94XCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cImN1c3RvbS1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgYXJpYS1wbGFjZWhvbGRlcj1cIlNlbGVjdCB0aGUgUHJvZ3JhbSB0aGF0IHRoaXMgcmVzcG9uc2liaWxpdHkgcmVsYXRlcyB0by5cIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RDYXRlZ29yaWVzKClcIlxyXG4gICAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwhLS0gPHAgY2xhc3M9XCJ2eC10eHQtZXJyb3JcIj5FbnRlciBhIHZhbHVlIGZvciB0aGlzIGlucHV0IGJveC48L3A+IC0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAtcm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZVwiPlxyXG4gICAgICAgIDxpbWcgW25nU3JjXT1cIkFTU0VUUy5kYXNoQm9hcmRSaXNrSWNvblwiIGFsdD1cIlwiIHdpZHRoPVwiMzZcIiBoZWlnaHQ9XCIzNlwiIC8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCI+UklTSyBDQVRFR09SSUVTPC9sYWJlbD5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3Rib3hcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiY3VzdG9tLWlucHV0XCJcclxuICAgICAgICAgICAgICBhcmlhLXBsYWNlaG9sZGVyPVwiU2VsZWN0IHRoZSBSaXNrIENhdGVnb3JpZXMgdGhhdCB5b3Ugd291bGQgbGlrZSBkaXNwbGF5ZWQgaW4gdGhlIERhc2hib2FyZCwgaWYgYW55LlwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdENhdGVnb3JpZXMoKVwiXHJcbiAgICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPCEtLSA8cCBjbGFzcz1cInZ4LXR4dC1lcnJvclwiPkVudGVyIGEgdmFsdWUgZm9yIHRoaXMgaW5wdXQgYm94LjwvcD4gLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cC1yb3dcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImltYWdlXCI+XHJcbiAgICAgICAgPGltZ1xyXG4gICAgICAgICAgW25nU3JjXT1cIkFTU0VUUy5kYXNoQm9hcmRVc2Vyc0ljb25cIlxyXG4gICAgICAgICAgYWx0PVwiXCJcclxuICAgICAgICAgIHdpZHRoPVwiMzZcIlxyXG4gICAgICAgICAgaGVpZ2h0PVwiMzZcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1mb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCI+RElTUExBWSBDUklURVJJQTwvbGFiZWw+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmFkaW8tZ3JvdXBcIj5cclxuICAgICAgICAgICAgPGFwcC1jcy1yYWRpb1xyXG4gICAgICAgICAgICAgIChjaGVja2VkRXZlbnQpPVwiXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5Q3JpdGVyaWFTZWxlY3RlZCgkZXZlbnQsICdCT1RIX1JDX0FORF9DQVRFR09SWScpXHJcbiAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICA+VGhvc2UgcmVzcG9uc2liaWxpdGllcyB0aGF0IGhhdmUgYmVlbiBhc3NpZ25lZCB0byBib3RoIHRoZVxyXG4gICAgICAgICAgICAgIHNlbGVjdGVkIFJlc3BvbnNpYmlsaXR5IENlbnRlcihzKSBhbmQgdGhlIHNlbGVjdGVkXHJcbiAgICAgICAgICAgICAgQ2F0ZWdvcmllcy48L2FwcC1jcy1yYWRpb1xyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxhcHAtY3MtcmFkaW9cclxuICAgICAgICAgICAgICAoY2hlY2tlZEV2ZW50KT1cImRpc3BsYXlDcml0ZXJpYVNlbGVjdGVkKCRldmVudCwgJ1JDX09SX0NBVEVHT1JZJylcIlxyXG4gICAgICAgICAgICAgID5UaG9zZSByZXNwb25zaWJpbGl0aWVzIHRoYXQgaGF2ZSBiZWVuIGFzc2lnbmVkIHRvIGVpdGhlciB0aGVcclxuICAgICAgICAgICAgICBzZWxlY3RlZCBSZXNwb25zaWJpbGl0eSBDZW50ZXIocykgb3IgdGhlIHNlbGVjdGVkXHJcbiAgICAgICAgICAgICAgQ2F0ZWdvcmllcy48L2FwcC1jcy1yYWRpb1xyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwhLS0gPHAgY2xhc3M9XCJ2eC10eHQtZXJyb3JcIj5FbnRlciBhIHZhbHVlIGZvciB0aGlzIGlucHV0IGJveC48L3A+IC0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAtcm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZVwiPlxyXG4gICAgICAgIDxpbWdcclxuICAgICAgICAgIFtuZ1NyY109XCJBU1NFVFMuZGFzaEJvYXJkVGltZUZyYW1lSWNvblwiXHJcbiAgICAgICAgICBhbHQ9XCJcIlxyXG4gICAgICAgICAgd2lkdGg9XCIzNlwiXHJcbiAgICAgICAgICBoZWlnaHQ9XCIzNlwiXHJcbiAgICAgICAgLz5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInZ4LWNvbnRyb2wtcGFuZWxcIj5USU1FRlJBTUU8L2xhYmVsPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtY29udHJvbC1wYW5lbC1zdWItbGFiZWxcIlxyXG4gICAgICAgICAgICA+U2VsZWN0IGhvdyBsb25nIHlvdSB3b3VsZCBsaWtlIHRoZSBpbmZvcm1hdGlvbiBzZWxlY3RlZCB0byBiZVxyXG4gICAgICAgICAgICBkaXNwbGF5ZWQgZm9yLiBJZiBubyB0aW1lZnJhbWUgaXMgc2VsZWN0ZWQsIHRoZSBpbmZvcm1hdGlvbiB3aWxsIGJlXHJcbiAgICAgICAgICAgIGRpc3BsYXllZCBwZXJtYW5lbnRseS48L2xhYmVsXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlblwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1zZWxlY3RcIj5cclxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkyZDs8L2k+XHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwic2VsZWN0ZWRGcm9tRGF0ZSB8IGRhdGUgOiAnZGQgTU1NIHl5eXknXCJcclxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInRnJvbSdcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5Gcm9tRGF0ZVBpY2tlcigpXCJcclxuICAgICAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICA8ZHAtZGF0ZS1waWNrZXJcclxuICAgICAgICAgICAgICAgICNmcm9tRGF0ZVBpY2tlclxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEZyb21EYXRlXCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IERhdGVcIlxyXG4gICAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cImNsb3NlRnJvbURhdGVQaWNrZXIoKTsgZGF0ZVBpY2tlck92ZXJsYXkgPSBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICBbY29uZmlnXT1cImZyb21EYXRlUGlja2VyQ29uZmlnXCJcclxuICAgICAgICAgICAgICA+PC9kcC1kYXRlLXBpY2tlcj5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm92ZXJsYXlcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlRnJvbURhdGVQaWNrZXIoKVwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImRhdGVQaWNrZXJPdmVybGF5XCJcclxuICAgICAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1zZWxlY3RcIj5cclxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkyZDs8L2k+XHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBbdmFsdWVdPVwic2VsZWN0ZWRUb0RhdGUgfCBkYXRlIDogJ2RkIE1NTSB5eXl5J1wiXHJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1RvJ1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlblRvRGF0ZVBpY2tlcigpXCJcclxuICAgICAgICAgICAgICAgIHJlYWRvbmx5XHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICA8ZHAtZGF0ZS1waWNrZXJcclxuICAgICAgICAgICAgICAgICN0b0RhdGVQaWNrZXJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRUb0RhdGVcIlxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAob25TZWxlY3QpPVwiY2xvc2VUb0RhdGVQaWNrZXIoKTsgZGF0ZVBpY2tlck92ZXJsYXkgPSBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICBbY29uZmlnXT1cInRvRGF0ZVBpY2tlckNvbmZpZ1wiXHJcbiAgICAgICAgICAgICAgPjwvZHAtZGF0ZS1waWNrZXI+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJvdmVybGF5XCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZVRvRGF0ZVBpY2tlcigpXCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZGF0ZVBpY2tlck92ZXJsYXlcIlxyXG4gICAgICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwhLS0gPHAgY2xhc3M9XCJ2eC10eHQtZXJyb3JcIj5FbnRlciBhIHZhbHVlIGZvciB0aGlzIGlucHV0IGJveC48L3A+IC0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAtcm93XCI+XHJcbiAgICAgIDwhLS1hY3RpdmUgY2xhc3Mgd2lsbCBhcHBlYXIgb24gb3BlbiBsaXN0LS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZVwiPlxyXG4gICAgICAgIDxpbWdcclxuICAgICAgICAgIFtuZ1NyY109XCJBU1NFVFMuZGFzaEJvYXJkRW1haWxTdW1tYXJpZXNJY29uXCJcclxuICAgICAgICAgIGFsdD1cIlwiXHJcbiAgICAgICAgICB3aWR0aD1cIjM2XCJcclxuICAgICAgICAgIGhlaWdodD1cIjM2XCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvcm1cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtY29udHJvbC1wYW5lbFwiPlxyXG4gICAgICAgICAgICBFbWFpbCBTdW1tYXJpZXNcclxuICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICBjbGFzcz1cImljb25zXCJcclxuICAgICAgICAgICAgICBbYXJUb29sdGlwXT1cIidUaGlzIGlzIGEgdGVzdCB0b29sdGlwJ1wiXHJcbiAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgIHR5cGU9XCJ3aGl0ZVwiXHJcbiAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICA+JiN4ZTkxZjs8L2lcclxuICAgICAgICAgICAgPjwvbGFiZWxcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInZ4LWNvbnRyb2wtcGFuZWwtc3ViLWxhYmVsXCI+XHJcbiAgICAgICAgICAgIElmIHlvdSB3b3VsZCBsaWtlIHRvIHNlbmQgYSBzdW1tYXJ5IG9mIHRoaXMgRGFzaGJvYXJkLCBwbGVhc2Ugc2VsZWN0XHJcbiAgICAgICAgICAgIGEgZnJlcXVlbmN5KEJ5IGRlZmF1bHQgVkNvbXBseSBzZW5kcyBhIHdlZWtseSBTdW1tYXJ5KS5cclxuICAgICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0Ym94XCI+XHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkVtYWlsIFN1bW1hcmllc1wiXHJcbiAgICAgICAgICAgICAgcmVhZG9ubHlcclxuICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RnJlcXVlbmN5KClcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8IS0tIDxwIGNsYXNzPVwidngtdHh0LWVycm9yXCI+RW50ZXIgYSB2YWx1ZSBmb3IgdGhpcyBpbnB1dCBib3guPC9wPiAtLT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWJsb2NrXCI+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIGNsYXNzPVwidngtYnRuIGJsb2NrIHByaW1hcnlcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAoY2xpY2spPVwiY29uZmlndXJlRGFzaGJvYXJkKClcIlxyXG4gICAgPlxyXG4gICAgICBOZXh0OiBDb25maWd1cmUgV2lkZ2V0c1xyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=