@bnsights/bbsf-admin-portal 1.1.2 → 1.1.3

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 (684) hide show
  1. package/README.md +4 -0
  2. package/{esm2020 → esm2022}/bnsights-bbsf-admin-portal.mjs +4 -4
  3. package/{esm2020 → esm2022}/lib/Pages/ActiveDirectories/active-directories.component.mjs +14 -14
  4. package/esm2022/lib/Pages/ActiveDirectories/active-directory/active-directory.component.mjs +421 -0
  5. package/esm2022/lib/Pages/ActiveDirectories/active-directory-add/active-directory-add.component.mjs +528 -0
  6. package/{esm2020 → esm2022}/lib/Pages/ActiveDirectories/active-directory-routing.module.mjs +29 -29
  7. package/esm2022/lib/Pages/ActiveDirectories/active-directory.module.mjs +108 -0
  8. package/esm2022/lib/Pages/_layout/components/aside/aside-menu/aside-menu.component.mjs +23 -0
  9. package/{esm2020 → esm2022}/lib/Pages/_layout/components/aside/aside.component.mjs +65 -65
  10. package/{esm2020 → esm2022}/lib/Pages/_layout/components/content/content.component.mjs +31 -31
  11. package/{esm2020 → esm2022}/lib/Pages/_layout/components/footer/footer.component.mjs +32 -32
  12. package/{esm2020 → esm2022}/lib/Pages/_layout/components/header/header.component.mjs +57 -57
  13. package/{esm2020 → esm2022}/lib/Pages/_layout/components/header/page-title/page-title.component.mjs +36 -36
  14. package/{esm2020 → esm2022}/lib/Pages/_layout/components/scripts-init/scripts-init.component.mjs +58 -58
  15. package/{esm2020 → esm2022}/lib/Pages/_layout/components/subheader/subheader.component.mjs +36 -36
  16. package/{esm2020 → esm2022}/lib/Pages/_layout/components/subheader/subheader.module.mjs +26 -26
  17. package/{esm2020 → esm2022}/lib/Pages/_layout/components/toolbar/toolbar.component.mjs +41 -41
  18. package/{esm2020 → esm2022}/lib/Pages/_layout/components/toolbar/toolbar.module.mjs +25 -25
  19. package/{esm2020 → esm2022}/lib/Pages/_layout/components/topbar/topbar.component.mjs +71 -71
  20. package/{esm2020 → esm2022}/lib/Pages/anonymouslayout/activation/activation.component.mjs +92 -92
  21. package/{esm2020 → esm2022}/lib/Pages/anonymouslayout/anonymouslayout-routing.module.mjs +37 -37
  22. package/{esm2020 → esm2022}/lib/Pages/anonymouslayout/anonymouslayout.component.mjs +54 -54
  23. package/esm2022/lib/Pages/anonymouslayout/anonymouslayout.module.mjs +100 -0
  24. package/{esm2020 → esm2022}/lib/Pages/anonymouslayout/error/error.component.mjs +48 -48
  25. package/{esm2020 → esm2022}/lib/Pages/anonymouslayout/forgot-password/forgot-password.component.mjs +59 -59
  26. package/{esm2020 → esm2022}/lib/Pages/anonymouslayout/login/login.component.mjs +94 -94
  27. package/{esm2020 → esm2022}/lib/Pages/anonymouslayout/rest-password/rest-password.component.mjs +90 -90
  28. package/{esm2020 → esm2022}/lib/Pages/anonymouslayout/upload-license/upload-license.component.mjs +71 -71
  29. package/{esm2020 → esm2022}/lib/Pages/authentication/auth-callback/auth-callback.component.mjs +43 -43
  30. package/{esm2020 → esm2022}/lib/Pages/authentication/authentication.component.mjs +15 -15
  31. package/{esm2020 → esm2022}/lib/Pages/authentication/authentication.module.mjs +41 -41
  32. package/{esm2020 → esm2022}/lib/Pages/authentication/authentication.routing.mjs +31 -31
  33. package/esm2022/lib/Pages/configurations/auth-configuration/auth-configuration-edit/auth-configuration-edit.component.mjs +330 -0
  34. package/esm2022/lib/Pages/configurations/auth-configuration/auth-configuration.component.mjs +157 -0
  35. package/esm2022/lib/Pages/configurations/configuration/configuration.component.mjs +801 -0
  36. package/{esm2020 → esm2022}/lib/Pages/configurations/configurations.component.mjs +15 -15
  37. package/esm2022/lib/Pages/configurations/configurations.module.mjs +104 -0
  38. package/{esm2020 → esm2022}/lib/Pages/configurations/configurations.routing.mjs +41 -41
  39. package/{esm2020 → esm2022}/lib/Pages/configurations/index.mjs +6 -6
  40. package/{esm2020 → esm2022}/lib/Pages/core/auth.module.mjs +30 -30
  41. package/esm2022/lib/Pages/core/authentication/admin.guard.mjs +17 -0
  42. package/{esm2020 → esm2022}/lib/Pages/core/authentication/auth.guard.mjs +46 -46
  43. package/esm2022/lib/Pages/core/authentication/auth.service.mjs +147 -0
  44. package/esm2022/lib/Pages/departments/department/department.component.mjs +220 -0
  45. package/esm2022/lib/Pages/departments/department-info/department-info.component.mjs +185 -0
  46. package/{esm2020 → esm2022}/lib/Pages/departments/departments-routing.module.mjs +27 -27
  47. package/{esm2020 → esm2022}/lib/Pages/departments/departments.component.mjs +15 -15
  48. package/esm2022/lib/Pages/departments/departments.module.mjs +94 -0
  49. package/esm2022/lib/Pages/documents/add-document/add-document.component.mjs +136 -0
  50. package/esm2022/lib/Pages/documents/document-master-layouts/document-master-layouts.component.mjs +148 -0
  51. package/{esm2020 → esm2022}/lib/Pages/documents/document-template-info/document-template-info.component.mjs +332 -332
  52. package/esm2022/lib/Pages/documents/document-templates/document-templates.component.mjs +437 -0
  53. package/{esm2020 → esm2022}/lib/Pages/documents/documents.component.mjs +15 -15
  54. package/esm2022/lib/Pages/documents/documents.module.mjs +114 -0
  55. package/esm2022/lib/Pages/documents/documents.routing.mjs +37 -0
  56. package/esm2022/lib/Pages/documents/edit-document/edit-document.component.mjs +169 -0
  57. package/{esm2020 → esm2022}/lib/Pages/documents/edit-document-template/edit-document-template.component.mjs +123 -123
  58. package/{esm2020 → esm2022}/lib/Pages/empty-data/empty-data.component.mjs +31 -31
  59. package/{esm2020 → esm2022}/lib/Pages/empty-data/empty-data.module.mjs +28 -28
  60. package/esm2022/lib/Pages/helpCenter/help-center/help-center.component.mjs +294 -0
  61. package/esm2022/lib/Pages/helpCenter/help-center-preview/help-center-preview.component.mjs +43 -0
  62. package/{esm2020 → esm2022}/lib/Pages/helpCenter/help-center-routing.module.mjs +31 -31
  63. package/esm2022/lib/Pages/helpCenter/help-center-secondlevel/help-center-secondlevel.component.mjs +242 -0
  64. package/esm2022/lib/Pages/helpCenter/help-center-thirdlevel/help-center-thirdlevel.component.mjs +243 -0
  65. package/esm2022/lib/Pages/helpCenter/help-center.module.mjs +99 -0
  66. package/{esm2020 → esm2022}/lib/Pages/helpCenter/help-centers.component.mjs +15 -15
  67. package/{esm2020 → esm2022}/lib/Pages/home/filter-pipe.mjs +23 -23
  68. package/esm2022/lib/Pages/home/home.component.mjs +158 -0
  69. package/esm2022/lib/Pages/home/home.module.mjs +48 -0
  70. package/esm2022/lib/Pages/impersonation-rules/impersonation-rules/impersonation-rules.component.mjs +443 -0
  71. package/esm2022/lib/Pages/impersonation-rules/impersonation-rules.module.mjs +95 -0
  72. package/esm2022/lib/Pages/jobs/jobs/jobs.component.mjs +223 -0
  73. package/esm2022/lib/Pages/jobs/jobs.module.mjs +87 -0
  74. package/{esm2020 → esm2022}/lib/Pages/license/license/license.component.mjs +163 -163
  75. package/esm2022/lib/Pages/license/license.module.mjs +71 -0
  76. package/{esm2020 → esm2022}/lib/Pages/localizations/localizations-replace-text/localizations-replace-text.component.mjs +215 -215
  77. package/esm2022/lib/Pages/localizations/localizations.component.mjs +516 -0
  78. package/esm2022/lib/Pages/localizations/localizations.module.mjs +79 -0
  79. package/{esm2020 → esm2022}/lib/Pages/logs/log/log.component.mjs +93 -93
  80. package/{esm2020 → esm2022}/lib/Pages/logs/logs-routing.module.mjs +27 -27
  81. package/{esm2020 → esm2022}/lib/Pages/logs/logs.component.mjs +15 -15
  82. package/esm2022/lib/Pages/logs/logs.module.mjs +87 -0
  83. package/esm2022/lib/Pages/lookups/lookup/lookup.component.mjs +367 -0
  84. package/esm2022/lib/Pages/lookups/lookup-group/lookup-group.component.mjs +187 -0
  85. package/esm2022/lib/Pages/lookups/lookup-item/lookup-item.component.mjs +297 -0
  86. package/{esm2020 → esm2022}/lib/Pages/lookups/lookups-routing.module.mjs +29 -29
  87. package/{esm2020 → esm2022}/lib/Pages/lookups/lookups.component.mjs +15 -15
  88. package/esm2022/lib/Pages/lookups/lookups.module.mjs +100 -0
  89. package/esm2022/lib/Pages/notifications/add-notification/add-notification.component.mjs +104 -0
  90. package/{esm2020 → esm2022}/lib/Pages/notifications/edit-email/edit-email.component.mjs +158 -158
  91. package/esm2022/lib/Pages/notifications/edit-notification/edit-notification.component.mjs +133 -0
  92. package/{esm2020 → esm2022}/lib/Pages/notifications/edit-sms/edit-sms.component.mjs +115 -115
  93. package/esm2022/lib/Pages/notifications/master-layouts/master-layouts.component.mjs +148 -0
  94. package/esm2022/lib/Pages/notifications/notifications-routing.module.mjs +39 -0
  95. package/{esm2020 → esm2022}/lib/Pages/notifications/notifications.component.mjs +15 -15
  96. package/esm2022/lib/Pages/notifications/notifications.module.mjs +101 -0
  97. package/{esm2020 → esm2022}/lib/Pages/notifications/template-info/template-info.component.mjs +391 -391
  98. package/esm2022/lib/Pages/notifications/templates/templates.component.mjs +495 -0
  99. package/esm2022/lib/Pages/providers/provider/provider.component.mjs +615 -0
  100. package/{esm2020 → esm2022}/lib/Pages/providers/providers-routing.module.mjs +27 -27
  101. package/{esm2020 → esm2022}/lib/Pages/providers/providers.component.mjs +15 -15
  102. package/esm2022/lib/Pages/providers/providers.module.mjs +91 -0
  103. package/esm2022/lib/Pages/publicHolidays/public-holiday/public-holiday.component.mjs +334 -0
  104. package/{esm2020 → esm2022}/lib/Pages/publicHolidays/public-holidays-routing.module.mjs +25 -25
  105. package/{esm2020 → esm2022}/lib/Pages/publicHolidays/public-holidays.component.mjs +15 -15
  106. package/esm2022/lib/Pages/publicHolidays/public-holidays.module.mjs +94 -0
  107. package/esm2022/lib/Pages/roles/permission-set-info/permission-set-info.component.mjs +187 -0
  108. package/esm2022/lib/Pages/roles/permissions/permissions.component.mjs +226 -0
  109. package/esm2022/lib/Pages/roles/permissionsets/permissionsets.component.mjs +277 -0
  110. package/{esm2020 → esm2022}/lib/Pages/roles/roles-routing.module.mjs +29 -29
  111. package/{esm2020 → esm2022}/lib/Pages/roles/roles.component.mjs +15 -15
  112. package/esm2022/lib/Pages/roles/roles.module.mjs +105 -0
  113. package/esm2022/lib/Pages/sectors/sector/sector.component.mjs +193 -0
  114. package/esm2022/lib/Pages/sectors/sector-info/sector-info.component.mjs +180 -0
  115. package/esm2022/lib/Pages/sectors/sectors-department-info/sectors-department-info.component.mjs +187 -0
  116. package/{esm2020 → esm2022}/lib/Pages/sectors/sectors-routing.module.mjs +29 -29
  117. package/{esm2020 → esm2022}/lib/Pages/sectors/sectors.component.mjs +15 -15
  118. package/esm2022/lib/Pages/sectors/sectors.module.mjs +96 -0
  119. package/{esm2020 → esm2022}/lib/Pages/shared/Enums/ADType.mjs +5 -5
  120. package/{esm2020 → esm2022}/lib/Pages/shared/Enums/Enums.mjs +54 -54
  121. package/{esm2020 → esm2022}/lib/Pages/shared/Enums/ProviderType.mjs +6 -6
  122. package/{esm2020 → esm2022}/lib/Pages/shared/Enums/WFActivityType.mjs +11 -11
  123. package/{esm2020 → esm2022}/lib/Pages/shared/Enums/configuration/ConditionRHSType.mjs +5 -5
  124. package/{esm2020 → esm2022}/lib/Pages/shared/Enums/configuration/authentecation-configuration.mjs +18 -18
  125. package/{esm2020 → esm2022}/lib/Pages/shared/Pipes/survey-date.pipe.mjs +22 -22
  126. package/{esm2020 → esm2022}/lib/Pages/shared/Services/AccountService.service.mjs +55 -55
  127. package/{esm2020 → esm2022}/lib/Pages/shared/Services/ActiveDirectoryService.service.mjs +51 -51
  128. package/{esm2020 → esm2022}/lib/Pages/shared/Services/AnonymousLayoutService.service.mjs +29 -29
  129. package/{esm2020 → esm2022}/lib/Pages/shared/Services/ConfigurationsService.service.mjs +61 -61
  130. package/{esm2020 → esm2022}/lib/Pages/shared/Services/DepartmentService.service.mjs +46 -46
  131. package/{esm2020 → esm2022}/lib/Pages/shared/Services/DocumentHeaderAndFooterTemplate.service.mjs +36 -36
  132. package/{esm2020 → esm2022}/lib/Pages/shared/Services/DocumentTemplateService.service.mjs +81 -81
  133. package/{esm2020 → esm2022}/lib/Pages/shared/Services/EmailHeaderAndFooterTemplateService.Service.mjs +37 -37
  134. package/{esm2020 → esm2022}/lib/Pages/shared/Services/ErrorService.service.mjs +15 -15
  135. package/{esm2020 → esm2022}/lib/Pages/shared/Services/GlobalErrorHandler.service.mjs +36 -36
  136. package/{esm2020 → esm2022}/lib/Pages/shared/Services/HelpCenterService.service.mjs +47 -47
  137. package/{esm2020 → esm2022}/lib/Pages/shared/Services/HttpErrorInterceptor.service.mjs +47 -47
  138. package/{esm2020 → esm2022}/lib/Pages/shared/Services/ImpersonationRuleService.service.mjs +36 -36
  139. package/{esm2020 → esm2022}/lib/Pages/shared/Services/JobsService.service.mjs +21 -21
  140. package/{esm2020 → esm2022}/lib/Pages/shared/Services/LicenseService.service.mjs +24 -24
  141. package/{esm2020 → esm2022}/lib/Pages/shared/Services/LogsService.mjs +24 -24
  142. package/{esm2020 → esm2022}/lib/Pages/shared/Services/LookupGroupsService.service.mjs +33 -33
  143. package/{esm2020 → esm2022}/lib/Pages/shared/Services/LookupService.service.mjs +67 -67
  144. package/{esm2020 → esm2022}/lib/Pages/shared/Services/PermissionSetService.service.mjs +50 -50
  145. package/{esm2020 → esm2022}/lib/Pages/shared/Services/PermissionsService.service.mjs +36 -36
  146. package/{esm2020 → esm2022}/lib/Pages/shared/Services/PublicHolidayService.service.mjs +39 -39
  147. package/{esm2020 → esm2022}/lib/Pages/shared/Services/SectorService.service.mjs +46 -46
  148. package/{esm2020 → esm2022}/lib/Pages/shared/Services/TemplateService.service.mjs +90 -90
  149. package/{esm2020 → esm2022}/lib/Pages/shared/Services/WorkFlowVersionService.service.mjs +24 -24
  150. package/{esm2020 → esm2022}/lib/Pages/shared/Services/WorkflowActivityService.service.mjs +54 -54
  151. package/{esm2020 → esm2022}/lib/Pages/shared/Services/WorkflowInstanceService.service.mjs +24 -24
  152. package/{esm2020 → esm2022}/lib/Pages/shared/Services/WorkflowLogVariablesService.service.mjs +24 -24
  153. package/{esm2020 → esm2022}/lib/Pages/shared/Services/WorkflowService.service.mjs +38 -38
  154. package/{esm2020 → esm2022}/lib/Pages/shared/Services/WorkflowVariablesService.service.mjs +36 -36
  155. package/{esm2020 → esm2022}/lib/Pages/shared/Services/data.service.mjs +27 -27
  156. package/esm2022/lib/Pages/shared/Services/injectionModuleService.service.mjs +163 -0
  157. package/{esm2020 → esm2022}/lib/Pages/shared/Services/localizationsService.service .mjs +77 -77
  158. package/{esm2020 → esm2022}/lib/Pages/shared/Services/provider.service.mjs +62 -62
  159. package/{esm2020 → esm2022}/lib/Pages/shared/Services/survey-question.service.mjs +57 -57
  160. package/{esm2020 → esm2022}/lib/Pages/shared/Services/survey.service.mjs +140 -140
  161. package/{esm2020 → esm2022}/lib/Pages/shared/Services/userService.service.mjs +80 -80
  162. package/{esm2020 → esm2022}/lib/Pages/shared/base.service.mjs +19 -19
  163. package/{esm2020 → esm2022}/lib/Pages/shared/components/AdDirective.mjs +16 -16
  164. package/{esm2020 → esm2022}/lib/Pages/shared/components/external-url/external-url.component.mjs +168 -168
  165. package/{esm2020 → esm2022}/lib/Pages/shared/components/no-results/no-results.component.mjs +19 -19
  166. package/esm2022/lib/Pages/shared/components/survey/add-survey/add-survey.component.mjs +192 -0
  167. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/delete-survey/delete-survey.component.mjs +48 -48
  168. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/duplicate-survey/duplicate-survey.component.mjs +50 -50
  169. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/edit-survey/edit-survey.component.mjs +217 -217
  170. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/submissions/delete-submission/delete-submission.component.mjs +47 -47
  171. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/submissions/eliminate-submission/eliminate-submission.component.mjs +49 -49
  172. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/submissions/uneliminate-submission/uneliminate-submission.component.mjs +50 -50
  173. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/add-question/add-question.component.mjs +624 -624
  174. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/delete-question/delete-question.component.mjs +47 -47
  175. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/edit-question/edit-question.component.mjs +683 -683
  176. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/preview/preview.component.mjs +138 -138
  177. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/publish-survey/publish-survey.component.mjs +102 -102
  178. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/result-question/result.component.mjs +56 -56
  179. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/survey-info.component.mjs +532 -532
  180. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/take-survey/take-survey.component.mjs +113 -113
  181. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey-info/unpublish-survey/unpublish-survey.component.mjs +114 -114
  182. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey/survey.component.mjs +292 -292
  183. package/esm2022/lib/Pages/shared/components/survey-form/survey-form.component.mjs +696 -0
  184. package/esm2022/lib/Pages/shared/components/survey-form-item/survey-form-item.component.mjs +84 -0
  185. package/{esm2020 → esm2022}/lib/Pages/shared/components/survey-layout/survey-layout.component.mjs +15 -15
  186. package/{esm2020 → esm2022}/lib/Pages/shared/config/environment.mjs +11 -11
  187. package/esm2022/lib/Pages/shared/constants.mjs +130 -0
  188. package/{esm2020 → esm2022}/lib/Pages/shared/filter/filter.component.mjs +14 -14
  189. package/{esm2020 → esm2022}/lib/Pages/shared/models/ADModels/ADMappingModel.mjs +3 -3
  190. package/{esm2020 → esm2022}/lib/Pages/shared/models/ADModels/ActiveDirectoryAddEditModel.mjs +6 -6
  191. package/{esm2020 → esm2022}/lib/Pages/shared/models/AccountModels/forgotPasswordModel.mjs +5 -5
  192. package/{esm2020 → esm2022}/lib/Pages/shared/models/ConfigurationModels/ConfigurationModel.mjs +50 -50
  193. package/{esm2020 → esm2022}/lib/Pages/shared/models/DepartmentModels/DepartmentModel.mjs +2 -2
  194. package/{esm2020 → esm2022}/lib/Pages/shared/models/DepartmentModels/DepartmentUsersIDRequestModel.mjs +5 -5
  195. package/{esm2020 → esm2022}/lib/Pages/shared/models/DocumentsModels/DocumentExportDTO.mjs +7 -7
  196. package/{esm2020 → esm2022}/lib/Pages/shared/models/DocumentsModels/DocumentHeaderAndFooterTemplate.mjs +9 -9
  197. package/{esm2020 → esm2022}/lib/Pages/shared/models/DocumentsModels/DocumentTemplateDTO.mjs +9 -9
  198. package/{esm2020 → esm2022}/lib/Pages/shared/models/DocumentsModels/DocumentTemplateInfoDTO.mjs +7 -7
  199. package/{esm2020 → esm2022}/lib/Pages/shared/models/HelpCenterModels/HelpCenterItemModel.mjs +11 -11
  200. package/{esm2020 → esm2022}/lib/Pages/shared/models/ImpersonationRuleModels/ImpersonationRuleModel.mjs +7 -7
  201. package/{esm2020 → esm2022}/lib/Pages/shared/models/ImpersonationRuleModels/ParticipantModel.mjs +8 -8
  202. package/{esm2020 → esm2022}/lib/Pages/shared/models/InjectedModuleModel/InjectedModule.mjs +6 -6
  203. package/{esm2020 → esm2022}/lib/Pages/shared/models/JobModels/JobCountsModel.mjs +2 -2
  204. package/{esm2020 → esm2022}/lib/Pages/shared/models/LicenseModel/LicenseModel.mjs +5 -5
  205. package/{esm2020 → esm2022}/lib/Pages/shared/models/LocalizationModels/EditResourceModel.mjs +7 -7
  206. package/{esm2020 → esm2022}/lib/Pages/shared/models/LocalizationModels/LocalizationReplaceTextModel.mjs +5 -5
  207. package/{esm2020 → esm2022}/lib/Pages/shared/models/LocalizationModels/UploadJsonVM.mjs +2 -2
  208. package/{esm2020 → esm2022}/lib/Pages/shared/models/Lookups/LookupGroupModel.mjs +6 -6
  209. package/{esm2020 → esm2022}/lib/Pages/shared/models/Lookups/LookupItem.mjs +7 -7
  210. package/{esm2020 → esm2022}/lib/Pages/shared/models/Lookups/LookupModel.mjs +8 -8
  211. package/{esm2020 → esm2022}/lib/Pages/shared/models/NotificationsModels/EmailHeaderAndFooterTemplate.mjs +10 -10
  212. package/{esm2020 → esm2022}/lib/Pages/shared/models/NotificationsModels/EmailTemplateInfoDTO.mjs +11 -11
  213. package/{esm2020 → esm2022}/lib/Pages/shared/models/NotificationsModels/EmailTemplateTesterModel.mjs +2 -2
  214. package/{esm2020 → esm2022}/lib/Pages/shared/models/NotificationsModels/SMSTemplateInfoDTO.mjs +6 -6
  215. package/{esm2020 → esm2022}/lib/Pages/shared/models/NotificationsModels/SMSTemplateTesterModel.mjs +2 -2
  216. package/{esm2020 → esm2022}/lib/Pages/shared/models/NotificationsModels/SendEmailTemplateModel.mjs +2 -2
  217. package/{esm2020 → esm2022}/lib/Pages/shared/models/NotificationsModels/TemplateDTO.mjs +9 -9
  218. package/{esm2020 → esm2022}/lib/Pages/shared/models/NotificationsModels/TemplateEditViewModel.mjs +8 -8
  219. package/{esm2020 → esm2022}/lib/Pages/shared/models/PermissionsModels/PermissionModel.mjs +7 -7
  220. package/{esm2020 → esm2022}/lib/Pages/shared/models/PermissionsModels/PermissionSetModel.mjs +7 -7
  221. package/{esm2020 → esm2022}/lib/Pages/shared/models/PermissionsModels/PermissionSetUsersIDRequestModel.mjs +5 -5
  222. package/{esm2020 → esm2022}/lib/Pages/shared/models/ProviderModels/DefaultProviderModel.mjs +5 -5
  223. package/{esm2020 → esm2022}/lib/Pages/shared/models/ProviderModels/EmailProviderTesterModel.mjs +2 -2
  224. package/{esm2020 → esm2022}/lib/Pages/shared/models/ProviderModels/ProviderAttributeModel.mjs +2 -2
  225. package/{esm2020 → esm2022}/lib/Pages/shared/models/ProviderModels/ProviderModel.mjs +5 -5
  226. package/{esm2020 → esm2022}/lib/Pages/shared/models/ProviderModels/SMSProviderTesterModel.mjs +2 -2
  227. package/{esm2020 → esm2022}/lib/Pages/shared/models/PublicHolidayModels/PublicHolidayModel.mjs +7 -7
  228. package/{esm2020 → esm2022}/lib/Pages/shared/models/SectorModels/SectorDepartmentModel.mjs +5 -5
  229. package/{esm2020 → esm2022}/lib/Pages/shared/models/SectorModels/SectorModel.mjs +6 -6
  230. package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/DeleteSurveyDTO.mjs +2 -2
  231. package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/add-survey-submissio.mjs +13 -13
  232. package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/add-survey.mjs +10 -10
  233. package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/model.mjs +2 -2
  234. package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/survey-field-options.mjs +6 -6
  235. package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/survey-filed-value.mjs +7 -7
  236. package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/survey-form-options.mjs +7 -7
  237. package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/survey-publish.mjs +4 -4
  238. package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/survey-question-option.mjs +17 -17
  239. package/{esm2020 → esm2022}/lib/Pages/shared/models/SurveyModels/survey-question.mjs +10 -10
  240. package/esm2022/lib/Pages/shared/models/SurveyModels/survey-utils.mjs +8 -0
  241. package/{esm2020 → esm2022}/lib/Pages/shared/models/UserModels/ActivationModel.mjs +2 -2
  242. package/{esm2020 → esm2022}/lib/Pages/shared/models/UserModels/AddUserModel.mjs +36 -36
  243. package/{esm2020 → esm2022}/lib/Pages/shared/models/UserModels/DropdownsResponseModel.mjs +11 -11
  244. package/{esm2020 → esm2022}/lib/Pages/shared/models/UserModels/EditUserModel.mjs +8 -8
  245. package/{esm2020 → esm2022}/lib/Pages/shared/models/UserModels/IdentityModel.mjs +2 -2
  246. package/{esm2020 → esm2022}/lib/Pages/shared/models/UserModels/UserSearchParamDTO.mjs +2 -2
  247. package/{esm2020 → esm2022}/lib/Pages/shared/models/UserModels/UsersIDRequestModel.mjs +5 -5
  248. package/{esm2020 → esm2022}/lib/Pages/shared/models/WorkflowModels/VariableLookupModel.mjs +2 -2
  249. package/{esm2020 → esm2022}/lib/Pages/shared/models/WorkflowModels/WFActivityModel.mjs +16 -16
  250. package/{esm2020 → esm2022}/lib/Pages/shared/models/WorkflowModels/WFActivityOutcomeModel.mjs +2 -2
  251. package/{esm2020 → esm2022}/lib/Pages/shared/models/WorkflowModels/WFActivityVariablesModel.mjs +7 -7
  252. package/{esm2020 → esm2022}/lib/Pages/shared/models/WorkflowModels/WFCreationModel.mjs +7 -7
  253. package/{esm2020 → esm2022}/lib/Pages/shared/models/WorkflowModels/WFVariableModel.mjs +8 -8
  254. package/{esm2020 → esm2022}/lib/Pages/shared/models/user.registration.mjs +7 -7
  255. package/esm2022/lib/Pages/shared/modules/public-survey.module.mjs +68 -0
  256. package/{esm2020 → esm2022}/lib/Pages/shared/modules/survey-routing.module.mjs +39 -39
  257. package/esm2022/lib/Pages/shared/modules/survey.module.mjs +129 -0
  258. package/esm2022/lib/Pages/shared/shared.module.mjs +31 -0
  259. package/{esm2020 → esm2022}/lib/Pages/shared/stylesbundle.service.mjs +44 -44
  260. package/{esm2020 → esm2022}/lib/Pages/start/index/index.component.mjs +25 -25
  261. package/{esm2020 → esm2022}/lib/Pages/start/start-routing.module.mjs +22 -22
  262. package/{esm2020 → esm2022}/lib/Pages/start/start.module.mjs +31 -31
  263. package/esm2022/lib/Pages/users/users.component.mjs +806 -0
  264. package/esm2022/lib/Pages/users/users.module.mjs +86 -0
  265. package/{esm2020 → esm2022}/lib/Pages/workflows/activity/workflow-activity-add/workflow-activity-add.component.mjs +535 -535
  266. package/{esm2020 → esm2022}/lib/Pages/workflows/activity/workflow-activity-edit/workflow-activity-edit.component.mjs +840 -840
  267. package/{esm2020 → esm2022}/lib/Pages/workflows/instance-info/instance-info.component.mjs +302 -302
  268. package/esm2022/lib/Pages/workflows/tabs/tabs.component.mjs +793 -0
  269. package/{esm2020 → esm2022}/lib/Pages/workflows/version-info/version-info.component.mjs +137 -137
  270. package/esm2022/lib/Pages/workflows/workflow/workflow.component.mjs +209 -0
  271. package/{esm2020 → esm2022}/lib/Pages/workflows/workflows-routing.module.mjs +35 -35
  272. package/{esm2020 → esm2022}/lib/Pages/workflows/workflows.component.mjs +15 -15
  273. package/esm2022/lib/Pages/workflows/workflows.module.mjs +103 -0
  274. package/{esm2020 → esm2022}/lib/_metronic/configs/default-layout.config.mjs +95 -95
  275. package/{esm2020 → esm2022}/lib/_metronic/core/_utils/DomHelpers.mjs +270 -270
  276. package/{esm2020 → esm2022}/lib/_metronic/core/_utils/ElementAnimateUtil.mjs +166 -166
  277. package/esm2022/lib/_metronic/core/_utils/EventHandlerUtil.mjs +90 -0
  278. package/esm2022/lib/_metronic/core/_utils/_DOMEventHandlerUtil.mjs +49 -0
  279. package/esm2022/lib/_metronic/core/_utils/_DataUtil.mjs +48 -0
  280. package/{esm2020 → esm2022}/lib/_metronic/core/_utils/_ElementStyleUtil.mjs +16 -16
  281. package/{esm2020 → esm2022}/lib/_metronic/core/_utils/_TypesHelpers.mjs +48 -48
  282. package/{esm2020 → esm2022}/lib/_metronic/core/_utils/models/OffsetModel.mjs +1 -1
  283. package/{esm2020 → esm2022}/lib/_metronic/core/_utils/models/ViewPortModel.mjs +1 -1
  284. package/{esm2020 → esm2022}/lib/_metronic/core/components/MenuComponent.mjs +827 -827
  285. package/{esm2020 → esm2022}/lib/_metronic/core/components/_CookieComponent.mjs +52 -52
  286. package/esm2022/lib/_metronic/core/components/_DrawerComponent.mjs +288 -0
  287. package/{esm2020 → esm2022}/lib/_metronic/core/components/_ScrollComponent.mjs +252 -252
  288. package/esm2022/lib/_metronic/core/components/_ScrollTopComponent.mjs +113 -0
  289. package/esm2022/lib/_metronic/core/components/_ToggleComponent.mjs +157 -0
  290. package/{esm2020 → esm2022}/lib/_metronic/core/services/layout-init.service.mjs +155 -155
  291. package/{esm2020 → esm2022}/lib/_metronic/core/services/layout.service.mjs +150 -150
  292. package/esm2022/lib/_metronic/core/services/page-info.service.mjs +119 -0
  293. package/esm2022/lib/masterlayout-routing.module.mjs +41 -0
  294. package/{esm2020 → esm2022}/lib/masterlayout.component.mjs +118 -118
  295. package/esm2022/lib/masterlayout.module.mjs +188 -0
  296. package/{esm2020 → esm2022}/public-api.mjs +48 -48
  297. package/{fesm2020 → fesm2022}/bnsights-bbsf-admin-portal.mjs +26884 -26881
  298. package/fesm2022/bnsights-bbsf-admin-portal.mjs.map +1 -0
  299. package/index.d.ts +5 -5
  300. package/lib/Pages/ActiveDirectories/active-directories.component.d.ts +8 -8
  301. package/lib/Pages/ActiveDirectories/active-directory/active-directory.component.d.ts +85 -87
  302. package/lib/Pages/ActiveDirectories/active-directory-add/active-directory-add.component.d.ts +97 -99
  303. package/lib/Pages/ActiveDirectories/active-directory-routing.module.d.ts +7 -7
  304. package/lib/Pages/ActiveDirectories/active-directory.module.d.ts +26 -26
  305. package/lib/Pages/_layout/components/aside/aside-menu/aside-menu.component.d.ts +13 -13
  306. package/lib/Pages/_layout/components/aside/aside.component.d.ts +24 -24
  307. package/lib/Pages/_layout/components/content/content.component.d.ts +13 -13
  308. package/lib/Pages/_layout/components/footer/footer.component.d.ts +14 -14
  309. package/lib/Pages/_layout/components/header/header.component.d.ts +24 -24
  310. package/lib/Pages/_layout/components/header/page-title/page-title.component.d.ts +22 -22
  311. package/lib/Pages/_layout/components/scripts-init/scripts-init.component.d.ts +18 -18
  312. package/lib/Pages/_layout/components/subheader/subheader.component.d.ts +17 -17
  313. package/lib/Pages/_layout/components/subheader/subheader.module.d.ts +9 -9
  314. package/lib/Pages/_layout/components/toolbar/toolbar.component.d.ts +18 -18
  315. package/lib/Pages/_layout/components/toolbar/toolbar.module.d.ts +10 -10
  316. package/lib/Pages/_layout/components/topbar/topbar.component.d.ts +44 -44
  317. package/lib/Pages/anonymouslayout/activation/activation.component.d.ts +32 -32
  318. package/lib/Pages/anonymouslayout/anonymouslayout-routing.module.d.ts +7 -7
  319. package/lib/Pages/anonymouslayout/anonymouslayout.component.d.ts +24 -24
  320. package/lib/Pages/anonymouslayout/anonymouslayout.module.d.ts +21 -21
  321. package/lib/Pages/anonymouslayout/error/error.component.d.ts +25 -25
  322. package/lib/Pages/anonymouslayout/forgot-password/forgot-password.component.d.ts +24 -24
  323. package/lib/Pages/anonymouslayout/login/login.component.d.ts +36 -36
  324. package/lib/Pages/anonymouslayout/rest-password/rest-password.component.d.ts +32 -32
  325. package/lib/Pages/anonymouslayout/upload-license/upload-license.component.d.ts +25 -25
  326. package/lib/Pages/authentication/auth-callback/auth-callback.component.d.ts +21 -21
  327. package/lib/Pages/authentication/authentication.component.d.ts +8 -8
  328. package/lib/Pages/authentication/authentication.module.d.ts +12 -12
  329. package/lib/Pages/authentication/authentication.routing.d.ts +7 -7
  330. package/lib/Pages/configurations/auth-configuration/auth-configuration-edit/auth-configuration-edit.component.d.ts +75 -75
  331. package/lib/Pages/configurations/auth-configuration/auth-configuration.component.d.ts +57 -58
  332. package/lib/Pages/configurations/configuration/configuration.component.d.ts +127 -129
  333. package/lib/Pages/configurations/configurations.component.d.ts +8 -8
  334. package/lib/Pages/configurations/configurations.module.d.ts +24 -24
  335. package/lib/Pages/configurations/configurations.routing.d.ts +7 -7
  336. package/lib/Pages/configurations/index.d.ts +6 -6
  337. package/lib/Pages/core/auth.module.d.ts +8 -8
  338. package/lib/Pages/core/authentication/admin.guard.d.ts +9 -9
  339. package/lib/Pages/core/authentication/auth.guard.d.ts +14 -14
  340. package/lib/Pages/core/authentication/auth.service.d.ts +35 -35
  341. package/lib/Pages/departments/department/department.component.d.ts +66 -68
  342. package/lib/Pages/departments/department-info/department-info.component.d.ts +58 -60
  343. package/lib/Pages/departments/departments-routing.module.d.ts +7 -7
  344. package/lib/Pages/departments/departments.component.d.ts +8 -8
  345. package/lib/Pages/departments/departments.module.d.ts +21 -21
  346. package/lib/Pages/documents/{add/add.component.d.ts → add-document/add-document.component.d.ts} +40 -40
  347. package/lib/Pages/documents/document-master-layouts/document-master-layouts.component.d.ts +51 -53
  348. package/lib/Pages/documents/document-template-info/document-template-info.component.d.ts +67 -67
  349. package/lib/Pages/documents/document-templates/document-templates.component.d.ts +87 -89
  350. package/lib/Pages/documents/documents.component.d.ts +8 -8
  351. package/lib/Pages/documents/documents.module.d.ts +27 -27
  352. package/lib/Pages/documents/documents.routing.d.ts +7 -7
  353. package/lib/Pages/documents/{edit/edit.component.d.ts → edit-document/edit-document.component.d.ts} +42 -42
  354. package/lib/Pages/documents/edit-document-template/edit-document-template.component.d.ts +39 -39
  355. package/lib/Pages/empty-data/empty-data.component.d.ts +14 -14
  356. package/lib/Pages/empty-data/empty-data.module.d.ts +8 -8
  357. package/lib/Pages/helpCenter/help-center/help-center.component.d.ts +69 -71
  358. package/lib/Pages/helpCenter/help-center-preview/help-center-preview.component.d.ts +23 -23
  359. package/lib/Pages/helpCenter/help-center-routing.module.d.ts +7 -7
  360. package/lib/Pages/helpCenter/help-center-secondlevel/help-center-secondlevel.component.d.ts +65 -67
  361. package/lib/Pages/helpCenter/help-center-thirdlevel/help-center-thirdlevel.component.d.ts +64 -66
  362. package/lib/Pages/helpCenter/help-center.module.d.ts +25 -25
  363. package/lib/Pages/helpCenter/help-centers.component.d.ts +8 -8
  364. package/lib/Pages/home/filter-pipe.d.ts +7 -7
  365. package/lib/Pages/home/home.component.d.ts +19 -19
  366. package/lib/Pages/home/home.module.d.ts +14 -14
  367. package/lib/Pages/impersonation-rules/impersonation-rules/impersonation-rules.component.d.ts +86 -88
  368. package/lib/Pages/impersonation-rules/impersonation-rules.module.d.ts +19 -19
  369. package/lib/Pages/jobs/jobs/jobs.component.d.ts +76 -77
  370. package/lib/Pages/jobs/jobs.module.d.ts +17 -17
  371. package/lib/Pages/license/license/license.component.d.ts +59 -59
  372. package/lib/Pages/license/license.module.d.ts +15 -15
  373. package/lib/Pages/localizations/localizations-replace-text/localizations-replace-text.component.d.ts +53 -53
  374. package/lib/Pages/localizations/localizations.component.d.ts +108 -110
  375. package/lib/Pages/localizations/localizations.module.d.ts +18 -18
  376. package/lib/Pages/logs/log/log.component.d.ts +34 -34
  377. package/lib/Pages/logs/logs-routing.module.d.ts +7 -7
  378. package/lib/Pages/logs/logs.component.d.ts +8 -8
  379. package/lib/Pages/logs/logs.module.d.ts +20 -20
  380. package/lib/Pages/lookups/lookup/lookup.component.d.ts +83 -85
  381. package/lib/Pages/lookups/lookup-group/lookup-group.component.d.ts +58 -60
  382. package/lib/Pages/lookups/lookup-item/lookup-item.component.d.ts +84 -86
  383. package/lib/Pages/lookups/lookups-routing.module.d.ts +7 -7
  384. package/lib/Pages/lookups/lookups.component.d.ts +8 -8
  385. package/lib/Pages/lookups/lookups.module.d.ts +24 -24
  386. package/lib/Pages/notifications/{add/add.component.d.ts → add-notification/add-notification.component.d.ts} +33 -33
  387. package/lib/Pages/notifications/edit-email/edit-email.component.d.ts +43 -43
  388. package/lib/Pages/notifications/{edit/edit.component.d.ts → edit-notification/edit-notification.component.d.ts} +35 -35
  389. package/lib/Pages/notifications/edit-sms/edit-sms.component.d.ts +37 -37
  390. package/lib/Pages/notifications/master-layouts/master-layouts.component.d.ts +51 -53
  391. package/lib/Pages/notifications/notifications-routing.module.d.ts +7 -7
  392. package/lib/Pages/notifications/notifications.component.d.ts +8 -8
  393. package/lib/Pages/notifications/notifications.module.d.ts +28 -28
  394. package/lib/Pages/notifications/template-info/template-info.component.d.ts +86 -86
  395. package/lib/Pages/notifications/templates/templates.component.d.ts +100 -102
  396. package/lib/Pages/providers/provider/provider.component.d.ts +118 -120
  397. package/lib/Pages/providers/providers-routing.module.d.ts +7 -7
  398. package/lib/Pages/providers/providers.component.d.ts +8 -8
  399. package/lib/Pages/providers/providers.module.d.ts +21 -21
  400. package/lib/Pages/publicHolidays/public-holiday/public-holiday.component.d.ts +73 -75
  401. package/lib/Pages/publicHolidays/public-holidays-routing.module.d.ts +7 -7
  402. package/lib/Pages/publicHolidays/public-holidays.component.d.ts +8 -8
  403. package/lib/Pages/publicHolidays/public-holidays.module.d.ts +21 -21
  404. package/lib/Pages/roles/permission-set-info/permission-set-info.component.d.ts +56 -58
  405. package/lib/Pages/roles/permissions/permissions.component.d.ts +63 -65
  406. package/lib/Pages/roles/permissionsets/permissionsets.component.d.ts +67 -69
  407. package/lib/Pages/roles/roles-routing.module.d.ts +7 -7
  408. package/lib/Pages/roles/roles.component.d.ts +8 -8
  409. package/lib/Pages/roles/roles.module.d.ts +24 -24
  410. package/lib/Pages/sectors/sector/sector.component.d.ts +62 -64
  411. package/lib/Pages/sectors/sector-info/sector-info.component.d.ts +60 -62
  412. package/lib/Pages/sectors/{department-info/department-info.component.d.ts → sectors-department-info/sectors-department-info.component.d.ts} +61 -63
  413. package/lib/Pages/sectors/sectors-routing.module.d.ts +7 -7
  414. package/lib/Pages/sectors/sectors.component.d.ts +8 -8
  415. package/lib/Pages/sectors/sectors.module.d.ts +23 -23
  416. package/lib/Pages/shared/Enums/ADType.d.ts +4 -4
  417. package/lib/Pages/shared/Enums/Enums.d.ts +47 -47
  418. package/lib/Pages/shared/Enums/ProviderType.d.ts +5 -5
  419. package/lib/Pages/shared/Enums/WFActivityType.d.ts +10 -10
  420. package/lib/Pages/shared/Enums/configuration/ConditionRHSType.d.ts +4 -4
  421. package/lib/Pages/shared/Enums/configuration/authentecation-configuration.d.ts +15 -15
  422. package/lib/Pages/shared/Pipes/survey-date.pipe.d.ts +12 -12
  423. package/lib/Pages/shared/Services/AccountService.service.d.ts +21 -21
  424. package/lib/Pages/shared/Services/ActiveDirectoryService.service.d.ts +18 -18
  425. package/lib/Pages/shared/Services/AnonymousLayoutService.service.d.ts +17 -17
  426. package/lib/Pages/shared/Services/ConfigurationsService.service.d.ts +20 -20
  427. package/lib/Pages/shared/Services/DepartmentService.service.d.ts +18 -18
  428. package/lib/Pages/shared/Services/DocumentHeaderAndFooterTemplate.service.d.ts +15 -15
  429. package/lib/Pages/shared/Services/DocumentTemplateService.service.d.ts +26 -26
  430. package/lib/Pages/shared/Services/EmailHeaderAndFooterTemplateService.Service.d.ts +15 -15
  431. package/lib/Pages/shared/Services/ErrorService.service.d.ts +8 -8
  432. package/lib/Pages/shared/Services/GlobalErrorHandler.service.d.ts +10 -10
  433. package/lib/Pages/shared/Services/HelpCenterService.service.d.ts +18 -18
  434. package/lib/Pages/shared/Services/HttpErrorInterceptor.service.d.ts +12 -12
  435. package/lib/Pages/shared/Services/ImpersonationRuleService.service.d.ts +15 -15
  436. package/lib/Pages/shared/Services/JobsService.service.d.ts +10 -10
  437. package/lib/Pages/shared/Services/LicenseService.service.d.ts +12 -12
  438. package/lib/Pages/shared/Services/LogsService.d.ts +10 -10
  439. package/lib/Pages/shared/Services/LookupGroupsService.service.d.ts +14 -14
  440. package/lib/Pages/shared/Services/LookupService.service.d.ts +25 -25
  441. package/lib/Pages/shared/Services/PermissionSetService.service.d.ts +19 -19
  442. package/lib/Pages/shared/Services/PermissionsService.service.d.ts +15 -15
  443. package/lib/Pages/shared/Services/PublicHolidayService.service.d.ts +16 -16
  444. package/lib/Pages/shared/Services/SectorService.service.d.ts +18 -18
  445. package/lib/Pages/shared/Services/TemplateService.service.d.ts +34 -34
  446. package/lib/Pages/shared/Services/WorkFlowVersionService.service.d.ts +10 -10
  447. package/lib/Pages/shared/Services/WorkflowActivityService.service.d.ts +19 -19
  448. package/lib/Pages/shared/Services/WorkflowInstanceService.service.d.ts +10 -10
  449. package/lib/Pages/shared/Services/WorkflowLogVariablesService.service.d.ts +10 -10
  450. package/lib/Pages/shared/Services/WorkflowService.service.d.ts +15 -15
  451. package/lib/Pages/shared/Services/WorkflowVariablesService.service.d.ts +15 -15
  452. package/lib/Pages/shared/Services/data.service.d.ts +9 -9
  453. package/lib/Pages/shared/Services/injectionModuleService.service.d.ts +50 -50
  454. package/lib/Pages/shared/Services/localizationsService.service .d.ts +28 -28
  455. package/lib/Pages/shared/Services/provider.service.d.ts +25 -25
  456. package/lib/Pages/shared/Services/survey-question.service.d.ts +19 -19
  457. package/lib/Pages/shared/Services/survey.service.d.ts +38 -38
  458. package/lib/Pages/shared/Services/userService.service.d.ts +29 -29
  459. package/lib/Pages/shared/base.service.d.ts +4 -4
  460. package/lib/Pages/shared/components/AdDirective.d.ts +8 -8
  461. package/lib/Pages/shared/components/external-url/external-url.component.d.ts +61 -61
  462. package/lib/Pages/shared/components/no-results/no-results.component.d.ts +10 -10
  463. package/lib/Pages/shared/components/survey/add-survey/add-survey.component.d.ts +40 -40
  464. package/lib/Pages/shared/components/survey/delete-survey/delete-survey.component.d.ts +19 -19
  465. package/lib/Pages/shared/components/survey/duplicate-survey/duplicate-survey.component.d.ts +19 -19
  466. package/lib/Pages/shared/components/survey/edit-survey/edit-survey.component.d.ts +43 -43
  467. package/lib/Pages/shared/components/survey/submissions/delete-submission/delete-submission.component.d.ts +19 -19
  468. package/lib/Pages/shared/components/survey/submissions/eliminate-submission/eliminate-submission.component.d.ts +19 -19
  469. package/lib/Pages/shared/components/survey/submissions/uneliminate-submission/uneliminate-submission.component.d.ts +19 -19
  470. package/lib/Pages/shared/components/survey/survey-info/add-question/add-question.component.d.ts +83 -83
  471. package/lib/Pages/shared/components/survey/survey-info/delete-question/delete-question.component.d.ts +19 -19
  472. package/lib/Pages/shared/components/survey/survey-info/edit-question/edit-question.component.d.ts +84 -84
  473. package/lib/Pages/shared/components/survey/survey-info/preview/preview.component.d.ts +40 -40
  474. package/lib/Pages/shared/components/survey/survey-info/publish-survey/publish-survey.component.d.ts +31 -31
  475. package/lib/Pages/shared/components/survey/survey-info/result-question/result.component.d.ts +27 -27
  476. package/lib/Pages/shared/components/survey/survey-info/survey-info.component.d.ts +119 -119
  477. package/lib/Pages/shared/components/survey/survey-info/take-survey/take-survey.component.d.ts +39 -39
  478. package/lib/Pages/shared/components/survey/survey-info/unpublish-survey/unpublish-survey.component.d.ts +32 -32
  479. package/lib/Pages/shared/components/survey/survey.component.d.ts +65 -65
  480. package/lib/Pages/shared/components/survey-form/survey-form.component.d.ts +41 -41
  481. package/lib/Pages/shared/components/survey-form-item/survey-form-item.component.d.ts +23 -23
  482. package/lib/Pages/shared/components/survey-layout/survey-layout.component.d.ts +8 -8
  483. package/lib/Pages/shared/config/environment.d.ts +1 -1
  484. package/lib/Pages/shared/constants.d.ts +129 -129
  485. package/lib/Pages/shared/filter/filter.component.d.ts +8 -8
  486. package/lib/Pages/shared/models/ADModels/ADMappingModel.d.ts +6 -6
  487. package/lib/Pages/shared/models/ADModels/ActiveDirectoryAddEditModel.d.ts +28 -28
  488. package/lib/Pages/shared/models/AccountModels/forgotPasswordModel.d.ts +3 -3
  489. package/lib/Pages/shared/models/ConfigurationModels/ConfigurationModel.d.ts +64 -64
  490. package/lib/Pages/shared/models/DepartmentModels/DepartmentModel.d.ts +9 -9
  491. package/lib/Pages/shared/models/DepartmentModels/DepartmentUsersIDRequestModel.d.ts +4 -4
  492. package/lib/Pages/shared/models/DocumentsModels/DocumentExportDTO.d.ts +8 -8
  493. package/lib/Pages/shared/models/DocumentsModels/DocumentHeaderAndFooterTemplate.d.ts +16 -16
  494. package/lib/Pages/shared/models/DocumentsModels/DocumentTemplateDTO.d.ts +13 -13
  495. package/lib/Pages/shared/models/DocumentsModels/DocumentTemplateInfoDTO.d.ts +7 -7
  496. package/lib/Pages/shared/models/HelpCenterModels/HelpCenterItemModel.d.ts +17 -17
  497. package/lib/Pages/shared/models/ImpersonationRuleModels/ImpersonationRuleModel.d.ts +9 -9
  498. package/lib/Pages/shared/models/ImpersonationRuleModels/ParticipantModel.d.ts +15 -15
  499. package/lib/Pages/shared/models/InjectedModuleModel/InjectedModule.d.ts +5 -5
  500. package/lib/Pages/shared/models/JobModels/JobCountsModel.d.ts +8 -8
  501. package/lib/Pages/shared/models/LicenseModel/LicenseModel.d.ts +5 -5
  502. package/lib/Pages/shared/models/LocalizationModels/EditResourceModel.d.ts +7 -7
  503. package/lib/Pages/shared/models/LocalizationModels/LocalizationReplaceTextModel.d.ts +9 -9
  504. package/lib/Pages/shared/models/LocalizationModels/UploadJsonVM.d.ts +5 -5
  505. package/lib/Pages/shared/models/Lookups/LookupGroupModel.d.ts +5 -5
  506. package/lib/Pages/shared/models/Lookups/LookupItem.d.ts +13 -13
  507. package/lib/Pages/shared/models/Lookups/LookupModel.d.ts +13 -13
  508. package/lib/Pages/shared/models/NotificationsModels/EmailHeaderAndFooterTemplate.d.ts +9 -9
  509. package/lib/Pages/shared/models/NotificationsModels/EmailTemplateInfoDTO.d.ts +15 -15
  510. package/lib/Pages/shared/models/NotificationsModels/EmailTemplateTesterModel.d.ts +9 -9
  511. package/lib/Pages/shared/models/NotificationsModels/SMSTemplateInfoDTO.d.ts +9 -9
  512. package/lib/Pages/shared/models/NotificationsModels/SMSTemplateTesterModel.d.ts +9 -9
  513. package/lib/Pages/shared/models/NotificationsModels/SendEmailTemplateModel.d.ts +8 -8
  514. package/lib/Pages/shared/models/NotificationsModels/TemplateDTO.d.ts +22 -22
  515. package/lib/Pages/shared/models/NotificationsModels/TemplateEditViewModel.d.ts +11 -11
  516. package/lib/Pages/shared/models/PermissionsModels/PermissionModel.d.ts +8 -8
  517. package/lib/Pages/shared/models/PermissionsModels/PermissionSetModel.d.ts +10 -10
  518. package/lib/Pages/shared/models/PermissionsModels/PermissionSetUsersIDRequestModel.d.ts +4 -4
  519. package/lib/Pages/shared/models/ProviderModels/DefaultProviderModel.d.ts +6 -6
  520. package/lib/Pages/shared/models/ProviderModels/EmailProviderTesterModel.d.ts +7 -7
  521. package/lib/Pages/shared/models/ProviderModels/ProviderAttributeModel.d.ts +7 -7
  522. package/lib/Pages/shared/models/ProviderModels/ProviderModel.d.ts +13 -13
  523. package/lib/Pages/shared/models/ProviderModels/SMSProviderTesterModel.d.ts +6 -6
  524. package/lib/Pages/shared/models/PublicHolidayModels/PublicHolidayModel.d.ts +15 -15
  525. package/lib/Pages/shared/models/SectorModels/SectorDepartmentModel.d.ts +4 -4
  526. package/lib/Pages/shared/models/SectorModels/SectorModel.d.ts +6 -6
  527. package/lib/Pages/shared/models/SurveyModels/DeleteSurveyDTO.d.ts +3 -3
  528. package/lib/Pages/shared/models/SurveyModels/add-survey-submissio.d.ts +21 -21
  529. package/lib/Pages/shared/models/SurveyModels/add-survey.d.ts +18 -18
  530. package/lib/Pages/shared/models/SurveyModels/model.d.ts +3 -3
  531. package/lib/Pages/shared/models/SurveyModels/survey-field-options.d.ts +24 -24
  532. package/lib/Pages/shared/models/SurveyModels/survey-filed-value.d.ts +22 -22
  533. package/lib/Pages/shared/models/SurveyModels/survey-form-options.d.ts +8 -8
  534. package/lib/Pages/shared/models/SurveyModels/survey-publish.d.ts +15 -15
  535. package/lib/Pages/shared/models/SurveyModels/survey-question-option.d.ts +9 -9
  536. package/lib/Pages/shared/models/SurveyModels/survey-question.d.ts +21 -21
  537. package/lib/Pages/shared/models/SurveyModels/survey-utils.d.ts +5 -5
  538. package/lib/Pages/shared/models/UserModels/ActivationModel.d.ts +10 -10
  539. package/lib/Pages/shared/models/UserModels/AddUserModel.d.ts +33 -33
  540. package/lib/Pages/shared/models/UserModels/DropdownsResponseModel.d.ts +9 -9
  541. package/lib/Pages/shared/models/UserModels/EditUserModel.d.ts +25 -25
  542. package/lib/Pages/shared/models/UserModels/IdentityModel.d.ts +9 -9
  543. package/lib/Pages/shared/models/UserModels/UserSearchParamDTO.d.ts +8 -8
  544. package/lib/Pages/shared/models/UserModels/UsersIDRequestModel.d.ts +3 -3
  545. package/lib/Pages/shared/models/WorkflowModels/VariableLookupModel.d.ts +9 -9
  546. package/lib/Pages/shared/models/WorkflowModels/WFActivityModel.d.ts +40 -40
  547. package/lib/Pages/shared/models/WorkflowModels/WFActivityOutcomeModel.d.ts +13 -13
  548. package/lib/Pages/shared/models/WorkflowModels/WFActivityVariablesModel.d.ts +13 -13
  549. package/lib/Pages/shared/models/WorkflowModels/WFCreationModel.d.ts +10 -10
  550. package/lib/Pages/shared/models/WorkflowModels/WFVariableModel.d.ts +23 -23
  551. package/lib/Pages/shared/models/user.registration.d.ts +6 -6
  552. package/lib/Pages/shared/modules/public-survey.module.d.ts +15 -15
  553. package/lib/Pages/shared/modules/survey-routing.module.d.ts +7 -7
  554. package/lib/Pages/shared/modules/survey.module.d.ts +35 -35
  555. package/lib/Pages/shared/shared.module.d.ts +8 -8
  556. package/lib/Pages/shared/stylesbundle.service.d.ts +9 -9
  557. package/lib/Pages/start/index/index.component.d.ts +15 -15
  558. package/lib/Pages/start/start-routing.module.d.ts +7 -7
  559. package/lib/Pages/start/start.module.d.ts +11 -11
  560. package/lib/Pages/users/users.component.d.ts +138 -139
  561. package/lib/Pages/users/users.module.d.ts +18 -18
  562. package/lib/Pages/workflows/activity/workflow-activity-add/workflow-activity-add.component.d.ts +77 -77
  563. package/lib/Pages/workflows/activity/workflow-activity-edit/workflow-activity-edit.component.d.ts +82 -82
  564. package/lib/Pages/workflows/instance-info/instance-info.component.d.ts +81 -81
  565. package/lib/Pages/workflows/tabs/tabs.component.d.ts +126 -128
  566. package/lib/Pages/workflows/version-info/version-info.component.d.ts +41 -41
  567. package/lib/Pages/workflows/workflow/workflow.component.d.ts +54 -55
  568. package/lib/Pages/workflows/workflows-routing.module.d.ts +7 -7
  569. package/lib/Pages/workflows/workflows.component.d.ts +8 -8
  570. package/lib/Pages/workflows/workflows.module.d.ts +27 -27
  571. package/lib/_metronic/configs/default-layout.config.d.ts +139 -139
  572. package/lib/_metronic/core/_utils/DomHelpers.d.ts +26 -26
  573. package/lib/_metronic/core/_utils/ElementAnimateUtil.d.ts +13 -13
  574. package/lib/_metronic/core/_utils/EventHandlerUtil.d.ts +20 -20
  575. package/lib/_metronic/core/_utils/_DOMEventHandlerUtil.d.ts +6 -6
  576. package/lib/_metronic/core/_utils/_DataUtil.d.ts +8 -8
  577. package/lib/_metronic/core/_utils/_ElementStyleUtil.d.ts +5 -5
  578. package/lib/_metronic/core/_utils/_TypesHelpers.d.ts +10 -10
  579. package/lib/_metronic/core/_utils/models/OffsetModel.d.ts +4 -4
  580. package/lib/_metronic/core/_utils/models/ViewPortModel.d.ts +4 -4
  581. package/lib/_metronic/core/components/MenuComponent.d.ts +88 -88
  582. package/lib/_metronic/core/components/_CookieComponent.d.ts +25 -25
  583. package/lib/_metronic/core/components/_DrawerComponent.d.ts +49 -49
  584. package/lib/_metronic/core/components/_ScrollComponent.d.ts +31 -31
  585. package/lib/_metronic/core/components/_ScrollTopComponent.d.ts +24 -24
  586. package/lib/_metronic/core/components/_ToggleComponent.d.ts +36 -36
  587. package/lib/_metronic/core/services/layout-init.service.d.ts +18 -18
  588. package/lib/_metronic/core/services/layout.service.d.ts +38 -38
  589. package/lib/_metronic/core/services/page-info.service.d.ts +32 -32
  590. package/lib/masterlayout-routing.module.d.ts +11 -13
  591. package/lib/masterlayout.component.d.ts +63 -63
  592. package/lib/masterlayout.module.d.ts +34 -34
  593. package/package.json +25 -30
  594. package/public-api.d.ts +41 -41
  595. package/src/lib/assets/images/menu/Tools.svg +10 -4
  596. package/src/lib/assets/images/menu/authentication.svg +9 -0
  597. package/src/lib/assets/sass/style-rtl.scss +3 -3
  598. package/src/lib/assets/sass/style.scss +3 -3
  599. package/bnsights-bbsf-admin-portal-1.1.2.tgz +0 -0
  600. package/esm2020/lib/Pages/ActiveDirectories/active-directory/active-directory.component.mjs +0 -421
  601. package/esm2020/lib/Pages/ActiveDirectories/active-directory-add/active-directory-add.component.mjs +0 -528
  602. package/esm2020/lib/Pages/ActiveDirectories/active-directory.module.mjs +0 -108
  603. package/esm2020/lib/Pages/_layout/components/aside/aside-menu/aside-menu.component.mjs +0 -23
  604. package/esm2020/lib/Pages/anonymouslayout/anonymouslayout.module.mjs +0 -100
  605. package/esm2020/lib/Pages/configurations/auth-configuration/auth-configuration-edit/auth-configuration-edit.component.mjs +0 -330
  606. package/esm2020/lib/Pages/configurations/auth-configuration/auth-configuration.component.mjs +0 -157
  607. package/esm2020/lib/Pages/configurations/configuration/configuration.component.mjs +0 -801
  608. package/esm2020/lib/Pages/configurations/configurations.module.mjs +0 -104
  609. package/esm2020/lib/Pages/core/authentication/admin.guard.mjs +0 -17
  610. package/esm2020/lib/Pages/core/authentication/auth.service.mjs +0 -147
  611. package/esm2020/lib/Pages/departments/department/department.component.mjs +0 -220
  612. package/esm2020/lib/Pages/departments/department-info/department-info.component.mjs +0 -185
  613. package/esm2020/lib/Pages/departments/departments.module.mjs +0 -94
  614. package/esm2020/lib/Pages/documents/add/add.component.mjs +0 -136
  615. package/esm2020/lib/Pages/documents/document-master-layouts/document-master-layouts.component.mjs +0 -148
  616. package/esm2020/lib/Pages/documents/document-templates/document-templates.component.mjs +0 -437
  617. package/esm2020/lib/Pages/documents/documents.module.mjs +0 -114
  618. package/esm2020/lib/Pages/documents/documents.routing.mjs +0 -37
  619. package/esm2020/lib/Pages/documents/edit/edit.component.mjs +0 -169
  620. package/esm2020/lib/Pages/helpCenter/help-center/help-center.component.mjs +0 -294
  621. package/esm2020/lib/Pages/helpCenter/help-center-preview/help-center-preview.component.mjs +0 -43
  622. package/esm2020/lib/Pages/helpCenter/help-center-secondlevel/help-center-secondlevel.component.mjs +0 -242
  623. package/esm2020/lib/Pages/helpCenter/help-center-thirdlevel/help-center-thirdlevel.component.mjs +0 -243
  624. package/esm2020/lib/Pages/helpCenter/help-center.module.mjs +0 -98
  625. package/esm2020/lib/Pages/home/home.component.mjs +0 -153
  626. package/esm2020/lib/Pages/home/home.module.mjs +0 -48
  627. package/esm2020/lib/Pages/impersonation-rules/impersonation-rules/impersonation-rules.component.mjs +0 -443
  628. package/esm2020/lib/Pages/impersonation-rules/impersonation-rules.module.mjs +0 -95
  629. package/esm2020/lib/Pages/jobs/jobs/jobs.component.mjs +0 -223
  630. package/esm2020/lib/Pages/jobs/jobs.module.mjs +0 -87
  631. package/esm2020/lib/Pages/license/license.module.mjs +0 -71
  632. package/esm2020/lib/Pages/localizations/localizations.component.mjs +0 -516
  633. package/esm2020/lib/Pages/localizations/localizations.module.mjs +0 -79
  634. package/esm2020/lib/Pages/logs/logs.module.mjs +0 -87
  635. package/esm2020/lib/Pages/lookups/lookup/lookup.component.mjs +0 -367
  636. package/esm2020/lib/Pages/lookups/lookup-group/lookup-group.component.mjs +0 -187
  637. package/esm2020/lib/Pages/lookups/lookup-item/lookup-item.component.mjs +0 -297
  638. package/esm2020/lib/Pages/lookups/lookups.module.mjs +0 -100
  639. package/esm2020/lib/Pages/notifications/add/add.component.mjs +0 -104
  640. package/esm2020/lib/Pages/notifications/edit/edit.component.mjs +0 -133
  641. package/esm2020/lib/Pages/notifications/master-layouts/master-layouts.component.mjs +0 -148
  642. package/esm2020/lib/Pages/notifications/notifications-routing.module.mjs +0 -39
  643. package/esm2020/lib/Pages/notifications/notifications.module.mjs +0 -101
  644. package/esm2020/lib/Pages/notifications/templates/templates.component.mjs +0 -495
  645. package/esm2020/lib/Pages/providers/provider/provider.component.mjs +0 -615
  646. package/esm2020/lib/Pages/providers/providers.module.mjs +0 -91
  647. package/esm2020/lib/Pages/publicHolidays/public-holiday/public-holiday.component.mjs +0 -334
  648. package/esm2020/lib/Pages/publicHolidays/public-holidays.module.mjs +0 -94
  649. package/esm2020/lib/Pages/roles/permission-set-info/permission-set-info.component.mjs +0 -187
  650. package/esm2020/lib/Pages/roles/permissions/permissions.component.mjs +0 -226
  651. package/esm2020/lib/Pages/roles/permissionsets/permissionsets.component.mjs +0 -277
  652. package/esm2020/lib/Pages/roles/roles.module.mjs +0 -105
  653. package/esm2020/lib/Pages/sectors/department-info/department-info.component.mjs +0 -187
  654. package/esm2020/lib/Pages/sectors/sector/sector.component.mjs +0 -193
  655. package/esm2020/lib/Pages/sectors/sector-info/sector-info.component.mjs +0 -180
  656. package/esm2020/lib/Pages/sectors/sectors.module.mjs +0 -96
  657. package/esm2020/lib/Pages/shared/Enums/WFVariableDataType.mjs +0 -14
  658. package/esm2020/lib/Pages/shared/Services/injectionModuleService.service.mjs +0 -163
  659. package/esm2020/lib/Pages/shared/components/survey/add-survey/add-survey.component.mjs +0 -192
  660. package/esm2020/lib/Pages/shared/components/survey-form/survey-form.component.mjs +0 -696
  661. package/esm2020/lib/Pages/shared/components/survey-form-item/survey-form-item.component.mjs +0 -84
  662. package/esm2020/lib/Pages/shared/constants.mjs +0 -130
  663. package/esm2020/lib/Pages/shared/models/SurveyModels/survey-utils.mjs +0 -8
  664. package/esm2020/lib/Pages/shared/modules/public-survey.module.mjs +0 -68
  665. package/esm2020/lib/Pages/shared/modules/survey.module.mjs +0 -126
  666. package/esm2020/lib/Pages/shared/shared.module.mjs +0 -31
  667. package/esm2020/lib/Pages/users/users.component.mjs +0 -806
  668. package/esm2020/lib/Pages/users/users.module.mjs +0 -86
  669. package/esm2020/lib/Pages/workflows/tabs/tabs.component.mjs +0 -793
  670. package/esm2020/lib/Pages/workflows/workflow/workflow.component.mjs +0 -209
  671. package/esm2020/lib/Pages/workflows/workflows.module.mjs +0 -103
  672. package/esm2020/lib/_metronic/core/_utils/EventHandlerUtil.mjs +0 -90
  673. package/esm2020/lib/_metronic/core/_utils/_DOMEventHandlerUtil.mjs +0 -49
  674. package/esm2020/lib/_metronic/core/_utils/_DataUtil.mjs +0 -48
  675. package/esm2020/lib/_metronic/core/components/_DrawerComponent.mjs +0 -290
  676. package/esm2020/lib/_metronic/core/components/_ScrollTopComponent.mjs +0 -113
  677. package/esm2020/lib/_metronic/core/components/_ToggleComponent.mjs +0 -157
  678. package/esm2020/lib/_metronic/core/services/page-info.service.mjs +0 -119
  679. package/esm2020/lib/masterlayout-routing.module.mjs +0 -45
  680. package/esm2020/lib/masterlayout.module.mjs +0 -188
  681. package/fesm2015/bnsights-bbsf-admin-portal.mjs +0 -27293
  682. package/fesm2015/bnsights-bbsf-admin-portal.mjs.map +0 -1
  683. package/fesm2020/bnsights-bbsf-admin-portal.mjs.map +0 -1
  684. package/lib/Pages/shared/Enums/WFVariableDataType.d.ts +0 -12
@@ -1,437 +0,0 @@
1
- import { Component, ViewChild } from '@angular/core';
2
- import { FormGroup } from '@angular/forms';
3
- import { ConfirmationModalOptions, DropdownOptions, EnglishArabicDTO, FilterItem, FilterType, FormOptions, InputType, MultiLingualTextAreaOptions, MultiLingualTextBoxOptions, PagingActionMode, PagingOptions, TextAreaOptions, TextBoxOptions, } from '@bnsights/bbsf-controls';
4
- import { PageInfoService } from '../../../_metronic/core/services/page-info.service';
5
- import { DocumentTemplateDTO } from '../../shared/models/DocumentsModels/DocumentTemplateDTO';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@bnsights/bbsf-utilities";
8
- import * as i2 from "../../../_metronic/core/services/page-info.service";
9
- import * as i3 from "ngx-clipboard";
10
- import * as i4 from "../../shared/Services/DocumentTemplateService.service";
11
- import * as i5 from "@ng-bootstrap/ng-bootstrap";
12
- import * as i6 from "@angular/router";
13
- import * as i7 from "@angular/common";
14
- import * as i8 from "@angular/forms";
15
- import * as i9 from "ng-block-ui";
16
- import * as i10 from "@bnsights/bbsf-controls";
17
- import * as i11 from "@angular/material/menu";
18
- import * as i12 from "ng-inline-svg";
19
- import * as i13 from "../../empty-data/empty-data.component";
20
- export class DocumentsTemplatesComponent {
21
- constructor(authService, pageInfoService, utilityService, bbsfTranslateService, environmentService, _clipboardService, templateService, modalService, requestHandlerService) {
22
- this.authService = authService;
23
- this.pageInfoService = pageInfoService;
24
- this.utilityService = utilityService;
25
- this.bbsfTranslateService = bbsfTranslateService;
26
- this.environmentService = environmentService;
27
- this._clipboardService = _clipboardService;
28
- this.templateService = templateService;
29
- this.modalService = modalService;
30
- this.requestHandlerService = requestHandlerService;
31
- //Page requirements
32
- this.ShowPageContent = false;
33
- this.ApiUrl = '/api/admin/DocumentTemplates/';
34
- this.TemplateForm = new FormGroup({});
35
- this.TemplatePagingResult = [];
36
- this.clientSidePagingResult = [];
37
- this.IsFilterLoaded = false;
38
- this.IsFilterDataLoaded = false;
39
- //Required lists
40
- this.CategoryList = [];
41
- this.SelectedTemplateList = [];
42
- this.OrganizationList = [];
43
- this.MasterLayoutList = [];
44
- //Add Model Controls
45
- this.AddTemplateForm = new FormGroup({});
46
- //Edit Model Controls
47
- this.EditTemplateForm = new FormGroup({});
48
- this.deleteControlLoaded = false;
49
- //GenerateCode Model Controls
50
- this.GenerateCodeForm = new FormGroup({});
51
- this.ValueToCopy = '';
52
- this.TemplateId = '';
53
- this.getAddTemplateModel = () => {
54
- let paramArray = [];
55
- let ResultModel = this.AddTemplateForm.value;
56
- let AddModel = new DocumentTemplateDTO();
57
- AddModel.Name.Arabic = ResultModel.Name.Arabic;
58
- AddModel.Name.English = ResultModel.Name.English;
59
- AddModel.SysName = ResultModel.SysName;
60
- AddModel.DocumentHeaderAndFooterTemplateID_GUID = ResultModel.DocumentHeaderAndFooterTemplateID_GUID;
61
- AddModel.Description.English = ResultModel.Description.English;
62
- AddModel.Description.Arabic = ResultModel.Description.Arabic;
63
- AddModel.OrganizationID_GUID = ResultModel.OrganizationID_GUID;
64
- AddModel.CategoryItemID_GUID = ResultModel.CategoryItemID_GUID;
65
- AddModel.CategoryItemID_GUID = ResultModel.CategoryItemID_GUID;
66
- paramArray.push(AddModel);
67
- return paramArray;
68
- };
69
- this.getAddTemplateFunction = (AddModel) => {
70
- return this.templateService.addDocumentTemplate(AddModel);
71
- };
72
- this.getEditTemplateModel = () => {
73
- let paramArray = [];
74
- let ResultModel = this.EditTemplateForm.value;
75
- let EditModel = new DocumentTemplateDTO();
76
- EditModel.ID_GUID = this.TemplateId;
77
- EditModel.Name.Arabic = ResultModel.Name.Arabic;
78
- EditModel.Name.English = ResultModel.Name.English;
79
- EditModel.SysName = ResultModel.SysName;
80
- EditModel.DocumentHeaderAndFooterTemplateID_GUID = ResultModel.DocumentHeaderAndFooterTemplateID_GUID;
81
- EditModel.Description.English = ResultModel.Description.English;
82
- EditModel.Description.Arabic = ResultModel.Description.Arabic;
83
- EditModel.OrganizationID_GUID = ResultModel.OrganizationID_GUID;
84
- EditModel.CategoryItemID_GUID = ResultModel.CategoryItemID_GUID;
85
- paramArray.push(EditModel);
86
- return paramArray;
87
- };
88
- this.getEditTemplateFunction = (EditModel) => {
89
- return this.templateService.editDocumentTemplate(EditModel);
90
- };
91
- this.deleteEmailTemplate = (id) => {
92
- return this.templateService.deleteTemplate(id);
93
- };
94
- }
95
- async ngOnInit() {
96
- this.ShowPageContent = true;
97
- //Page header (breadcrumb and title)
98
- PageInfoService.PageTitle =
99
- this.utilityService.getResourceValue('Templates');
100
- PageInfoService.PageBreadcrumbs = [
101
- {
102
- title: this.utilityService.getResourceValue('Home'),
103
- path: '/Admin/Home',
104
- isSeparator: false,
105
- isActive: false,
106
- },
107
- { title: '', path: '', isSeparator: true, isActive: false },
108
- ];
109
- this.pageInfoService.calculateTitle();
110
- this.pageInfoService.calculateBreadcrumbs();
111
- //on lang changed
112
- this.bbsfTranslateService.onLangChange.subscribe((event) => {
113
- this.ngOnInit();
114
- });
115
- this.ProductionMode = this.environmentService.getProductionMode();
116
- this.initializePage();
117
- }
118
- //Initialize filters and paging
119
- initializePage() {
120
- // TextBox init
121
- this.searchTextBox = new TextBoxOptions();
122
- this.searchTextBox.Name = 'searchTextBox';
123
- this.searchTextBox.Type = InputType.Text;
124
- this.searchTextBox.Placeholder =
125
- this.utilityService.getResourceValue('SearchByName');
126
- this.searchTextBox.HideLabel = true;
127
- // TextBox init
128
- this.CategoryOptions = new DropdownOptions();
129
- this.CategoryOptions.Name = 'Category';
130
- this.CategoryOptions.LabelKey = 'Category';
131
- this.CategoryOptions.SingleSelection = false;
132
- this.CategoryOptions.AllowSearchFilter = true;
133
- this.CategoryOptions.Placeholder = '';
134
- this.CategoryFilter = new FilterItem();
135
- this.CategoryFilter.FormControlName = 'Category';
136
- this.CategoryFilter.ActionParameterName = 'GroupsId';
137
- this.CategoryFilter.IsFormControl = true;
138
- this.CategoryFilter.FilterType = FilterType.DropdownList;
139
- this.TextInputFilter = new FilterItem();
140
- this.TextInputFilter.FormControlName = 'searchTextBox';
141
- this.TextInputFilter.ActionParameterName = 'searchText';
142
- this.TextInputFilter.IsFormControl = true;
143
- this.TextInputFilter.FilterType = FilterType.TextBox;
144
- this.TemplatePaging = new PagingOptions();
145
- this.TemplatePaging.ActionPostURL = this.ApiUrl + 'GetTemplatesByFilter';
146
- this.TemplatePaging.OnKeyPressFiltersControlNames = ['searchTextBox'];
147
- this.TemplatePaging.DropdownFiltersControlNames = ['Category'];
148
- this.TemplatePaging.Filters = [this.CategoryFilter, this.TextInputFilter];
149
- this.TemplatePaging.ValidationToken =
150
- this.authService.authorizationHeaderValue();
151
- this.TemplatePaging.ResetFilterButtonName = 'templatesFiltersBtn';
152
- this.IsFilterLoaded = true;
153
- }
154
- //Load filters lists
155
- loadLists() {
156
- if (!this.IsFilterDataLoaded) {
157
- this.templateService.loaddropdowns().subscribe((result) => {
158
- let DropdownLists = result;
159
- this.CategoryList = DropdownLists.lookUpItemsCategory;
160
- let categoriesElement = this.categoriesDDL;
161
- categoriesElement.UpdateDataSource(this.CategoryList);
162
- this.IsFilterDataLoaded = true;
163
- });
164
- }
165
- }
166
- //Paging functions
167
- setTemplateListResult(result) {
168
- this.TemplatePagingResult = result;
169
- this.clientSidePagingResult = result;
170
- this.ShowPageContent = true;
171
- this.utilityService.stopBlockUI();
172
- }
173
- searchClientSide(searchValue) {
174
- if (searchValue)
175
- this.clientSidePagingResult = this.clientSidePagingResult.filter(function (item) {
176
- return (item.name.english
177
- .toLowerCase()
178
- .includes(searchValue.toLowerCase()) ||
179
- item.name.arabic.toLowerCase().includes(searchValue.toLowerCase()));
180
- });
181
- else
182
- this.clientSidePagingResult = this.TemplatePagingResult;
183
- }
184
- //Add Template
185
- showAddTemplateModal(AddTemplateModal) {
186
- this.utilityService.startBlockUI();
187
- this.templateService.loadAddDropdowns().subscribe((result) => {
188
- let resultObj = result;
189
- this.OrganizationList = resultObj.organization;
190
- this.MasterLayoutList = resultObj.documentHeaderAndFooterTemplate;
191
- this.CategoryList = resultObj.lookUpItemsCategory;
192
- this.AddTemplateForm = new FormGroup({});
193
- this.AddTemplateFormOptions = new FormOptions();
194
- this.AddTemplateFormOptions.FormGroup = this.AddTemplateForm;
195
- this.AddTemplateFormOptions.GetModelFunction = this.getAddTemplateModel;
196
- this.AddTemplateFormOptions.ServiceSubmitFunction =
197
- this.getAddTemplateFunction;
198
- this.AddTemplateFormOptions.PagingReference = this.pagingElement;
199
- this.AddName = new MultiLingualTextBoxOptions();
200
- this.AddName.Name = 'Name';
201
- this.AddName.ArabicLabelKey = 'NameInArabic';
202
- this.AddName.EnglishLabelKey = 'NameInEnglish';
203
- this.AddName.IsRequired = true;
204
- this.AddName.MaxLength = 100;
205
- this.AddSysName = new TextBoxOptions();
206
- this.AddSysName.Name = 'SysName';
207
- this.AddSysName.LabelKey = 'SysName';
208
- this.AddSysName.Type = InputType.Text;
209
- this.AddSysName.Value = null;
210
- this.AddSysName.MaxLength = 100;
211
- this.AddDescription = new MultiLingualTextAreaOptions();
212
- this.AddDescription.Name = 'Description';
213
- this.AddDescription.ArabicLabelKey = 'DescriptionInArabic';
214
- this.AddDescription.EnglishLabelKey = 'DescriptionInEnglish';
215
- this.AddDescription.MaxLength = 250;
216
- this.AddOrganization = new DropdownOptions();
217
- this.AddOrganization.Name = 'OrganizationID_GUID';
218
- this.AddOrganization.LabelKey = 'Organization';
219
- this.AddOrganization.DataSource = this.OrganizationList;
220
- this.AddOrganization.SingleSelection = true;
221
- this.AddOrganization.AllowSearchFilter = true;
222
- this.AddOrganization.Placeholder = '';
223
- this.AddOrganization.IsRequired = true;
224
- this.AddMasterLayout = new DropdownOptions();
225
- this.AddMasterLayout.Name = 'DocumentHeaderAndFooterTemplateID_GUID';
226
- this.AddMasterLayout.LabelKey = 'MasterLayout';
227
- this.AddMasterLayout.DataSource = this.MasterLayoutList;
228
- this.AddMasterLayout.SingleSelection = true;
229
- this.AddMasterLayout.AllowSearchFilter = true;
230
- this.AddMasterLayout.Placeholder = '';
231
- this.AddMasterLayout.IsRequired = true;
232
- this.AddCategory = new DropdownOptions();
233
- this.AddCategory.Name = 'CategoryItemID_GUID';
234
- this.AddCategory.LabelKey = 'Category';
235
- this.AddCategory.DataSource = this.CategoryList;
236
- this.AddCategory.SingleSelection = true;
237
- this.AddCategory.AllowSearchFilter = true;
238
- this.AddCategory.Placeholder = '';
239
- this.AddCategory.IsRequired = true;
240
- this.modalService.open(AddTemplateModal);
241
- this.utilityService.stopBlockUI();
242
- });
243
- }
244
- //Edit Template
245
- showEditTemplateModal(templateID, EditTemplateModal) {
246
- this.TemplateId = templateID;
247
- this.utilityService.startBlockUI();
248
- this.templateService.getEditTemplateData(templateID).subscribe((result) => {
249
- let resultObj = result;
250
- let template = resultObj.model;
251
- let lists = resultObj.lists;
252
- this.OrganizationList = lists.organization;
253
- this.MasterLayoutList = lists.documentHeaderAndFooterTemplate;
254
- this.CategoryList = lists.lookUpItemsCategory;
255
- this.EditTemplateForm = new FormGroup({});
256
- this.EditTemplateFormOptions = new FormOptions();
257
- this.EditTemplateFormOptions.FormGroup = this.EditTemplateForm;
258
- this.EditTemplateFormOptions.GetModelFunction = this.getEditTemplateModel;
259
- this.EditTemplateFormOptions.ServiceSubmitFunction =
260
- this.getEditTemplateFunction;
261
- this.EditTemplateFormOptions.PagingReference = this.pagingElement;
262
- this.EditTemplateFormOptions.PagingActionMode = PagingActionMode.Update;
263
- let Name = new EnglishArabicDTO();
264
- Name.Arabic = template.name.arabic;
265
- Name.English = template.name.english;
266
- this.EditName = new MultiLingualTextBoxOptions();
267
- this.EditName.Name = 'Name';
268
- this.EditName.ArabicLabelKey = 'NameInArabic';
269
- this.EditName.EnglishLabelKey = 'NameInEnglish';
270
- this.EditName.IsRequired = true;
271
- this.EditName.Value = Name;
272
- this.EditName.MaxLength = 100;
273
- this.EditSysName = new TextBoxOptions();
274
- this.EditSysName.Name = 'SysName';
275
- this.EditSysName.LabelKey = 'SysName';
276
- this.EditSysName.Type = InputType.Text;
277
- this.EditSysName.Value = template.sysName;
278
- this.EditSysName.MaxLength = 100;
279
- let description = new EnglishArabicDTO();
280
- description.Arabic = template.description.arabic;
281
- description.English = template.description.english;
282
- this.EditDescription = new MultiLingualTextAreaOptions();
283
- this.EditDescription.Name = 'Description';
284
- this.EditDescription.ArabicLabelKey = 'DescriptionInArabic';
285
- this.EditDescription.EnglishLabelKey = 'DescriptionInEnglish';
286
- this.EditDescription.Value = description;
287
- this.EditDescription.MaxLength = 250;
288
- this.EditOrganization = new DropdownOptions();
289
- this.EditOrganization.Name = 'OrganizationID_GUID';
290
- this.EditOrganization.LabelKey = 'Organization';
291
- this.EditOrganization.DataSource = this.OrganizationList;
292
- this.EditOrganization.SingleSelection = true;
293
- this.EditOrganization.AllowSearchFilter = true;
294
- this.EditOrganization.Placeholder = '';
295
- this.EditOrganization.IsRequired = true;
296
- this.EditOrganization.SelectedItems =
297
- template.organizationID_GUID?.toLowerCase();
298
- this.EditMasterLayout = new DropdownOptions();
299
- this.EditMasterLayout.Name = 'DocumentHeaderAndFooterTemplateID_GUID';
300
- this.EditMasterLayout.LabelKey = 'MasterLayout';
301
- this.EditMasterLayout.DataSource = this.MasterLayoutList;
302
- this.EditMasterLayout.SingleSelection = true;
303
- this.EditMasterLayout.AllowSearchFilter = true;
304
- this.EditMasterLayout.Placeholder = '';
305
- this.EditMasterLayout.IsRequired = true;
306
- this.EditMasterLayout.SelectedItems =
307
- template.documentHeaderAndFooterTemplateID_GUID?.toLowerCase();
308
- this.EditCategory = new DropdownOptions();
309
- this.EditCategory.Name = 'CategoryItemID_GUID';
310
- this.EditCategory.LabelKey = 'Category';
311
- this.EditCategory.DataSource = this.CategoryList;
312
- this.EditCategory.SingleSelection = true;
313
- this.EditCategory.AllowSearchFilter = true;
314
- this.EditCategory.Placeholder = '';
315
- this.EditCategory.IsRequired = true;
316
- this.EditCategory.SelectedItems = template.categoryItemID_GUID?.toLowerCase();
317
- this.modalService.open(EditTemplateModal);
318
- this.utilityService.stopBlockUI();
319
- });
320
- }
321
- //Delete Template
322
- showDeleteEmailTemplateModal(templateID) {
323
- this.deletedTemplateId = templateID;
324
- //array sent to service function
325
- let paramArray = [];
326
- paramArray.push(this.deletedTemplateId);
327
- this.DeleteConfirmationOptions = new ConfirmationModalOptions();
328
- this.DeleteConfirmationOptions.ServiceSubmitFunction = this.deleteEmailTemplate;
329
- this.DeleteConfirmationOptions.ServiceSubmitModel = paramArray;
330
- this.DeleteConfirmationOptions.PagingReference = this.pagingElement;
331
- this.deleteControlLoaded = true;
332
- setTimeout(() => {
333
- this.ConfirmationModalControl.showModal();
334
- }, 200);
335
- }
336
- //Generate code
337
- showGenerateCodeAllModal(GenerateCodeModal) {
338
- this.templateService.generateCodeAll().subscribe((result) => {
339
- var Value = result;
340
- this.GenerateCodeTextArea = new TextAreaOptions();
341
- this.GenerateCodeTextArea.Name = 'GenerateCodeTextArea';
342
- this.GenerateCodeTextArea.Value = Value.val.toString();
343
- this.ValueToCopy = Value.val.toString();
344
- this.GenerateCodeTextArea.IsDisabled = true;
345
- this.GenerateCodeTextArea.HideLabel = true;
346
- this.GenerateCodeTextArea.Rows = 20;
347
- this.GenerateCodeTextArea.Cols = 20;
348
- this.GenerateCodeTextArea.MaxLength = 1000000;
349
- this.modalService.open(GenerateCodeModal);
350
- });
351
- }
352
- showGenerateAllUpdateCodeModal(GenerateCodeModal) {
353
- this.templateService.generateAllUpdateCode().subscribe((result) => {
354
- var Value = result;
355
- this.GenerateCodeTextArea = new TextAreaOptions();
356
- this.GenerateCodeTextArea.Name = 'GenerateCodeTextArea';
357
- this.GenerateCodeTextArea.Value = Value.val.toString();
358
- this.ValueToCopy = Value.val.toString();
359
- this.GenerateCodeTextArea.IsDisabled = true;
360
- this.GenerateCodeTextArea.HideLabel = true;
361
- this.GenerateCodeTextArea.Rows = 20;
362
- this.GenerateCodeTextArea.Cols = 20;
363
- this.GenerateCodeTextArea.MaxLength = 1000000;
364
- this.modalService.open(GenerateCodeModal);
365
- });
366
- }
367
- showGeneratSysNameModal(GenerateCodeModal) {
368
- this.templateService.generateSysNames().subscribe((result) => {
369
- var Value = result;
370
- this.GenerateCodeTextArea = new TextAreaOptions();
371
- this.GenerateCodeTextArea.Name = 'GenerateCodeTextArea';
372
- this.GenerateCodeTextArea.Value = Value.val.toString();
373
- this.ValueToCopy = Value.val.toString();
374
- this.GenerateCodeTextArea.IsDisabled = true;
375
- this.GenerateCodeTextArea.HideLabel = true;
376
- this.GenerateCodeTextArea.Rows = 20;
377
- this.GenerateCodeTextArea.Cols = 20;
378
- this.GenerateCodeTextArea.MaxLength = 1000000;
379
- this.modalService.open(GenerateCodeModal);
380
- });
381
- }
382
- showGenerateCodeByIdModal(templateID, GenerateCodeModal) {
383
- this.templateService.generateCodeById(templateID).subscribe((result) => {
384
- var Value = result;
385
- this.GenerateCodeTextArea = new TextAreaOptions();
386
- this.GenerateCodeTextArea.Name = 'GenerateCodeTextArea';
387
- this.GenerateCodeTextArea.Value = Value.val.toString();
388
- this.ValueToCopy = Value.val.toString();
389
- this.GenerateCodeTextArea.IsDisabled = true;
390
- this.GenerateCodeTextArea.HideLabel = true;
391
- this.GenerateCodeTextArea.Rows = 20;
392
- this.GenerateCodeTextArea.Cols = 20;
393
- this.GenerateCodeTextArea.MaxLength = 1000000;
394
- this.modalService.open(GenerateCodeModal);
395
- });
396
- }
397
- showGenerateUpdateCodeByIdModal(templateID, GenerateCodeModal) {
398
- this.templateService
399
- .generateUpdateCodeById(templateID)
400
- .subscribe((result) => {
401
- var Value = result;
402
- this.GenerateCodeTextArea = new TextAreaOptions();
403
- this.GenerateCodeTextArea.Name = 'GenerateCodeTextArea';
404
- this.GenerateCodeTextArea.Value = Value.val.toString();
405
- this.ValueToCopy = Value.val.toString();
406
- this.GenerateCodeTextArea.IsDisabled = true;
407
- this.GenerateCodeTextArea.HideLabel = true;
408
- this.GenerateCodeTextArea.Rows = 20;
409
- this.GenerateCodeTextArea.Cols = 20;
410
- this.GenerateCodeTextArea.MaxLength = 1000000;
411
- this.modalService.open(GenerateCodeModal);
412
- });
413
- }
414
- copyInputMessage() {
415
- this._clipboardService.copy(this.ValueToCopy.toString());
416
- }
417
- //On destroy
418
- ngOnDestroy() {
419
- this.requestHandlerService.destroyHandler();
420
- }
421
- }
422
- DocumentsTemplatesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DocumentsTemplatesComponent, deps: [{ token: i1.AuthService }, { token: i2.PageInfoService }, { token: i1.UtilityService }, { token: i1.BBSFTranslateService }, { token: i1.EnvironmentService }, { token: i3.ClipboardService }, { token: i4.DocumentTemplateService }, { token: i5.NgbModal }, { token: i1.RequestHandlerService }], target: i0.ɵɵFactoryTarget.Component });
423
- DocumentsTemplatesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DocumentsTemplatesComponent, selector: "lib-document-templates", viewQueries: [{ propertyName: "pagingElement", first: true, predicate: ["TemplatePagingViewElement"], descendants: true }, { propertyName: "categoriesDDL", first: true, predicate: ["categoriesDDL"], descendants: true }, { propertyName: "ConfirmationModalControl", first: true, predicate: ["ConfirmationModalControl"], descendants: true }], ngImport: i0, template: "<block-ui></block-ui>\r\n<!-- Page Content -->\r\n<div *ngIf=\"ShowPageContent\" class=\"container-fluid\">\r\n <div class=\"card card-custom-h\">\r\n <div class=\"card-header border-0 pt-5\">\r\n <div class=\"card-title align-items-start flex-column\" *ngIf=\"IsFilterLoaded\">\r\n <form [formGroup]=\"TemplateForm\">\r\n <!--(OnChange)=\"searchClientSide($event)\" -->\r\n <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"TemplateForm\"></BBSF-TextBox>\r\n </form>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <!-- begin::Menu -->\r\n <div ngbDropdown class=\"d-inline-block\" [ngStyle]=\"{'display': ShowPageContent==true?'block':'none'}\">\r\n <button (click)=\"loadLists()\" ngbDropdownToggle href=\"javascript:;\" type=\"button\" class=\"btn btn-sm btn-light-primary me-3\" id=\"FiltersDropdown\" title=\"Filter\">\r\n <i class=\"fas fa-filter me-1\"></i>\r\n {{utilityService.getResourceValue(\"Filter\")}}\r\n </button>\r\n <div *ngIf=\"IsFilterLoaded\" ngbDropdownMenu aria-labelledby=\"FiltersDropdown\" class=\" filter-container menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-800 menu-state-bg-light-primary w-250px w-md-500px fw-bold py-3 \">\r\n <form [formGroup]=\"TemplateForm\">\r\n <div class=\"px-7 py-5\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12\">\r\n <div class=\"mb-10\">\r\n <BBSF-DropdownList #categoriesDDL [options]=\"CategoryOptions\" [group]=\"TemplateForm\"></BBSF-DropdownList>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-end\">\r\n <button class=\"btn btn-light btn-active-light-primary pv-reset btn-sm\" name=\"templatesFiltersBtn\">\r\n {{utilityService.getResourceValue(\"Reset\")}}\r\n </button>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n <button id=\"btnSetPass\" class=\"btn btn-light-primary btn-sm me-3\"\r\n (click)=\"showGenerateCodeAllModal(GenerateCodeModal)\">\r\n <i class=\"fa fa-key\"></i>{{utilityService.getResourceValue(\"GenerateCode\")}}\r\n </button>\r\n <button id=\"btnSetPass\" class=\"btn btn-light-primary btn-sm me-3\"\r\n (click)=\"showGenerateAllUpdateCodeModal(GenerateCodeModal)\">\r\n <i class=\"fa fa-key\"></i>{{utilityService.getResourceValue(\"GenerateUpdateCode\")}}\r\n </button>\r\n <button id=\"btnSetPass\" class=\"btn btn-light-primary btn-sm me-3\"\r\n (click)=\"showGeneratSysNameModal(GenerateCodeModal)\">\r\n <i class=\"fa fa-key\"></i>{{utilityService.getResourceValue(\"GenerateSysName\")}}\r\n </button>\r\n <button type=\"button\" title=\"Add\" class=\"btn btn-sm btn-primary\" (click)=\"showAddTemplateModal(AddTemplateModal)\">\r\n <i class=\"kt-nav__link-icon fa fa-plus\"></i>\r\n {{utilityService.getResourceValue(\"Add\")}}\r\n </button>\r\n\r\n\r\n <!-- end::Menu -->\r\n </div>\r\n </div>\r\n <!-- end::Header -->\r\n <!-- begin::Body -->\r\n <div class=\"card-body py-3\">\r\n <!-- begin::Table -->\r\n <div class=\"table-responsive\">\r\n <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n <thead>\r\n <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n <th class=\"mw-150px\">{{utilityService.getResourceValue(\"Name\")}}</th>\r\n <th class=\"mw-150px\">{{utilityService.getResourceValue(\"Description\")}}</th>\r\n <th class=\"mw-150px\">{{utilityService.getResourceValue(\"Category\")}}</th>\r\n <th class=\"mw-150px\" *ngIf=\"!ProductionMode\">{{utilityService.getResourceValue(\"SysName\")}}</th>\r\n <th class=\"mw-50px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n <tr *ngFor=\"let Template of clientSidePagingResult\">\r\n <td>\r\n <a href=\"javascript:void(0)\" [routerLink]=\"['/Admin/Documents/TemplateInfo',Template.iD_GUID]\" routerLinkActive=\"router-link-active\"\r\n class=\"text-dark\">{{Template.nameStr}}</a>\r\n </td>\r\n <td>{{Template.descriptionStr}}</td>\r\n <td>{{Template.categoryItemNameStr}}</td>\r\n <td *ngIf=\"!ProductionMode\">{{Template.sysName}}</td>\r\n <td>\r\n <div>\r\n <button mat-button [matMenuTriggerFor]=\"menu\" class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button type=\"button\" ngbDropdownItem class=\"drop-item px-3\"\r\n (click)=\"showEditTemplateModal(Template.iD_GUID,EditTemplateModal)\">\r\n <span class=\"drop-link px-3\"> {{utilityService.getResourceValue(\"Edit\")}}</span>\r\n </button>\r\n <button type=\"button\" ngbDropdownItem class=\"drop-item px-3\" id=\"btnResetPass\"\r\n (click)=\"showGenerateCodeByIdModal(Template.iD_GUID,GenerateCodeModal)\">\r\n <span class=\"drop-link px-3\"> {{utilityService.getResourceValue(\"GenerateCode\")}}</span>\r\n </button>\r\n <button ngbDropdownItem class=\"drop-item px-3\" id=\"btnResetPass\"\r\n (click)=\"showDeleteEmailTemplateModal(Template.iD_GUID)\">\r\n <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Delete\")}}</span>\r\n </button>\r\n </mat-menu>\r\n </div>\r\n\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"clientSidePagingResult.length == 0\">\r\n <td [attr.colspan]=\"ProductionMode ? '5' : '6'\">\r\n <lib-empty-data></lib-empty-data>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <div class=\"card-footer border-0\">\r\n <BBSF-Paging (Items)=\"setTemplateListResult($event)\" *ngIf=\"IsFilterLoaded\"\r\n [options]=\"TemplatePaging\" [group]=\"TemplateForm\" #TemplatePagingViewElement>\r\n </BBSF-Paging>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--add Modal-->\r\n<ng-template #AddTemplateModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Add\")}} {{utilityService.getResourceValue(\"Template\")}}</h1>\r\n </div>\r\n <BBSF-Form [options]=\"AddTemplateFormOptions\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-MultiLingualTextBox [options]=\"AddName\" [group]=\"AddTemplateForm\"></BBSF-MultiLingualTextBox>\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-MultiLingualTextArea [options]=\"AddDescription\" [group]=\"AddTemplateForm\">\r\n </BBSF-MultiLingualTextArea>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"!ProductionMode\">\r\n <div class=\"col-md-12\">\r\n <BBSF-TextBox [options]=\"AddSysName\" [group]=\"AddTemplateForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"AddOrganization\" [group]=\"AddTemplateForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"AddCategory\" [group]=\"AddTemplateForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"AddMasterLayout\" [group]=\"AddTemplateForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"text-center pt-7\">\r\n <button #CloseTemplateModal id=\"CloseTemplateModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n </div>\r\n\r\n </BBSF-Form>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- edit Modal -->\r\n<ng-template #EditTemplateModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Edit\")}} {{utilityService.getResourceValue(\"Template\")}}</h1>\r\n </div>\r\n\r\n <BBSF-Form [options]=\"EditTemplateFormOptions\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-MultiLingualTextBox [options]=\"EditName\" [group]=\"EditTemplateForm\"></BBSF-MultiLingualTextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-MultiLingualTextArea [options]=\"EditDescription\" [group]=\"EditTemplateForm\">\r\n </BBSF-MultiLingualTextArea>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"!ProductionMode\">\r\n <div class=\"col-md-12\">\r\n <BBSF-TextBox [options]=\"EditSysName\" [group]=\"EditTemplateForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"EditOrganization\" [group]=\"EditTemplateForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"EditCategory\" [group]=\"EditTemplateForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"EditMasterLayout\" [group]=\"EditTemplateForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n </div>\r\n <div class=\"text-center pt-7\">\r\n <button #CloseEditTemplateModal id=\"CloseEditTemplateModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n </div>\r\n </BBSF-Form>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- GenerateCode Modal -->\r\n<ng-template #GenerateCodeModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"GenerateCode\")}}</h1>\r\n </div>\r\n <form [formGroup]=\"GenerateCodeForm\">\r\n <BBSF-TextArea [options]=\"GenerateCodeTextArea\" [group]=\"GenerateCodeForm\" #GenerateCodeInput>\r\n </BBSF-TextArea>\r\n <div class=\"text-center pt-7\">\r\n <button #CloseGenerateCodeModal id=\"CloseGenerateCodeModal\" type=\"button\"\r\n class=\"btn btn-light btn-sm me-3 \" data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"button\" class=\"btn btn-primary btn-sm\" (click)=\"copyInputMessage()\">\r\n {{utilityService.getResourceValue(\"CopyToClipboard\")}}\r\n </button>\r\n\r\n </div>\r\n </form>\r\n </div>\r\n</ng-template>\r\n\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"DeleteConfirmationOptions\" id=\"ConfirmationModalControl\" #ConfirmationModalControl></BBSF-ConfirmationModal>\r\n", dependencies: [{ kind: "directive", type: i6.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i6.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i9.BlockUIComponent, selector: "block-ui", inputs: ["name", "template", "message", "delayStart", "delayStop"] }, { kind: "component", type: i10.MultiLingualTextBoxComponent, selector: "BBSF-MultiLingualTextBox", inputs: ["group", "options"], outputs: ["OnChange"] }, { kind: "component", type: i10.TextboxComponent, selector: "BBSF-TextBox", inputs: ["group", "options"], outputs: ["OnChange", "OnBlur"] }, { kind: "component", type: i10.TextAreaComponent, selector: "BBSF-TextArea", inputs: ["group", "options"], outputs: ["OnChange"] }, { kind: "component", type: i10.MultiLingualTextAreaComponent, selector: "BBSF-MultiLingualTextArea", inputs: ["group", "options"], outputs: ["OnChange"] }, { kind: "component", type: i10.DropdownListComponent, selector: "BBSF-DropdownList", inputs: ["group", "options"], outputs: ["OnChange", "onClear"] }, { kind: "component", type: i10.PagingComponent, selector: "BBSF-Paging", inputs: ["options", "group"], outputs: ["Items"] }, { kind: "component", type: i10.FormComponent, selector: "BBSF-Form", inputs: ["options"], outputs: ["OnChange"] }, { kind: "component", type: i10.ConfirmationModalComponent, selector: "BBSF-ConfirmationModal", inputs: ["options"] }, { kind: "component", type: i11.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "directive", type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i5.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i5.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i5.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i5.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "directive", type: i12.InlineSVGDirective, selector: "[inlineSVG]", inputs: ["resolveSVGUrl", "replaceContents", "prepend", "injectComponent", "cacheSVG", "forceEvalStyles", "evalScripts", "inlineSVG", "setSVGAttributes", "removeSVGAttributes", "fallbackImgUrl", "onSVGLoaded"], outputs: ["onSVGInserted", "onSVGFailed"] }, { kind: "component", type: i13.EmptyDataComponent, selector: "lib-empty-data", inputs: ["Message", "ShowImage", "ImgURL"] }] });
424
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DocumentsTemplatesComponent, decorators: [{
425
- type: Component,
426
- args: [{ selector: 'lib-document-templates', template: "<block-ui></block-ui>\r\n<!-- Page Content -->\r\n<div *ngIf=\"ShowPageContent\" class=\"container-fluid\">\r\n <div class=\"card card-custom-h\">\r\n <div class=\"card-header border-0 pt-5\">\r\n <div class=\"card-title align-items-start flex-column\" *ngIf=\"IsFilterLoaded\">\r\n <form [formGroup]=\"TemplateForm\">\r\n <!--(OnChange)=\"searchClientSide($event)\" -->\r\n <BBSF-TextBox [options]=\"searchTextBox\" [group]=\"TemplateForm\"></BBSF-TextBox>\r\n </form>\r\n </div>\r\n <div class=\"card-toolbar\">\r\n <!-- begin::Menu -->\r\n <div ngbDropdown class=\"d-inline-block\" [ngStyle]=\"{'display': ShowPageContent==true?'block':'none'}\">\r\n <button (click)=\"loadLists()\" ngbDropdownToggle href=\"javascript:;\" type=\"button\" class=\"btn btn-sm btn-light-primary me-3\" id=\"FiltersDropdown\" title=\"Filter\">\r\n <i class=\"fas fa-filter me-1\"></i>\r\n {{utilityService.getResourceValue(\"Filter\")}}\r\n </button>\r\n <div *ngIf=\"IsFilterLoaded\" ngbDropdownMenu aria-labelledby=\"FiltersDropdown\" class=\" filter-container menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-800 menu-state-bg-light-primary w-250px w-md-500px fw-bold py-3 \">\r\n <form [formGroup]=\"TemplateForm\">\r\n <div class=\"px-7 py-5\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12\">\r\n <div class=\"mb-10\">\r\n <BBSF-DropdownList #categoriesDDL [options]=\"CategoryOptions\" [group]=\"TemplateForm\"></BBSF-DropdownList>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-end\">\r\n <button class=\"btn btn-light btn-active-light-primary pv-reset btn-sm\" name=\"templatesFiltersBtn\">\r\n {{utilityService.getResourceValue(\"Reset\")}}\r\n </button>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </div>\r\n <button id=\"btnSetPass\" class=\"btn btn-light-primary btn-sm me-3\"\r\n (click)=\"showGenerateCodeAllModal(GenerateCodeModal)\">\r\n <i class=\"fa fa-key\"></i>{{utilityService.getResourceValue(\"GenerateCode\")}}\r\n </button>\r\n <button id=\"btnSetPass\" class=\"btn btn-light-primary btn-sm me-3\"\r\n (click)=\"showGenerateAllUpdateCodeModal(GenerateCodeModal)\">\r\n <i class=\"fa fa-key\"></i>{{utilityService.getResourceValue(\"GenerateUpdateCode\")}}\r\n </button>\r\n <button id=\"btnSetPass\" class=\"btn btn-light-primary btn-sm me-3\"\r\n (click)=\"showGeneratSysNameModal(GenerateCodeModal)\">\r\n <i class=\"fa fa-key\"></i>{{utilityService.getResourceValue(\"GenerateSysName\")}}\r\n </button>\r\n <button type=\"button\" title=\"Add\" class=\"btn btn-sm btn-primary\" (click)=\"showAddTemplateModal(AddTemplateModal)\">\r\n <i class=\"kt-nav__link-icon fa fa-plus\"></i>\r\n {{utilityService.getResourceValue(\"Add\")}}\r\n </button>\r\n\r\n\r\n <!-- end::Menu -->\r\n </div>\r\n </div>\r\n <!-- end::Header -->\r\n <!-- begin::Body -->\r\n <div class=\"card-body py-3\">\r\n <!-- begin::Table -->\r\n <div class=\"table-responsive\">\r\n <table class=\"table align-middle table-row-dashed fs-6 gy-5 dataTable no-footer\">\r\n <thead>\r\n <tr class=\"text-start text-gray-400 fw-bolder fs-7 text-uppercase gs-0\">\r\n <th class=\"mw-150px\">{{utilityService.getResourceValue(\"Name\")}}</th>\r\n <th class=\"mw-150px\">{{utilityService.getResourceValue(\"Description\")}}</th>\r\n <th class=\"mw-150px\">{{utilityService.getResourceValue(\"Category\")}}</th>\r\n <th class=\"mw-150px\" *ngIf=\"!ProductionMode\">{{utilityService.getResourceValue(\"SysName\")}}</th>\r\n <th class=\"mw-50px\">{{utilityService.getResourceValue(\"Action\")}}</th>\r\n </tr>\r\n </thead>\r\n <tbody id=\"listingContainer\" class=\"fw-bold text-gray-600 border-0\">\r\n <tr *ngFor=\"let Template of clientSidePagingResult\">\r\n <td>\r\n <a href=\"javascript:void(0)\" [routerLink]=\"['/Admin/Documents/TemplateInfo',Template.iD_GUID]\" routerLinkActive=\"router-link-active\"\r\n class=\"text-dark\">{{Template.nameStr}}</a>\r\n </td>\r\n <td>{{Template.descriptionStr}}</td>\r\n <td>{{Template.categoryItemNameStr}}</td>\r\n <td *ngIf=\"!ProductionMode\">{{Template.sysName}}</td>\r\n <td>\r\n <div>\r\n <button mat-button [matMenuTriggerFor]=\"menu\" class=\"btn btn-sm btn-icon btn-light btn-active-light-primary\">\r\n <i class=\"fa fa-ellipsis-h\" aria-hidden=\"true\"></i>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button type=\"button\" ngbDropdownItem class=\"drop-item px-3\"\r\n (click)=\"showEditTemplateModal(Template.iD_GUID,EditTemplateModal)\">\r\n <span class=\"drop-link px-3\"> {{utilityService.getResourceValue(\"Edit\")}}</span>\r\n </button>\r\n <button type=\"button\" ngbDropdownItem class=\"drop-item px-3\" id=\"btnResetPass\"\r\n (click)=\"showGenerateCodeByIdModal(Template.iD_GUID,GenerateCodeModal)\">\r\n <span class=\"drop-link px-3\"> {{utilityService.getResourceValue(\"GenerateCode\")}}</span>\r\n </button>\r\n <button ngbDropdownItem class=\"drop-item px-3\" id=\"btnResetPass\"\r\n (click)=\"showDeleteEmailTemplateModal(Template.iD_GUID)\">\r\n <span class=\"drop-link px-3\">{{utilityService.getResourceValue(\"Delete\")}}</span>\r\n </button>\r\n </mat-menu>\r\n </div>\r\n\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"clientSidePagingResult.length == 0\">\r\n <td [attr.colspan]=\"ProductionMode ? '5' : '6'\">\r\n <lib-empty-data></lib-empty-data>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <div class=\"card-footer border-0\">\r\n <BBSF-Paging (Items)=\"setTemplateListResult($event)\" *ngIf=\"IsFilterLoaded\"\r\n [options]=\"TemplatePaging\" [group]=\"TemplateForm\" #TemplatePagingViewElement>\r\n </BBSF-Paging>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--add Modal-->\r\n<ng-template #AddTemplateModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Add\")}} {{utilityService.getResourceValue(\"Template\")}}</h1>\r\n </div>\r\n <BBSF-Form [options]=\"AddTemplateFormOptions\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-MultiLingualTextBox [options]=\"AddName\" [group]=\"AddTemplateForm\"></BBSF-MultiLingualTextBox>\r\n </div>\r\n\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-MultiLingualTextArea [options]=\"AddDescription\" [group]=\"AddTemplateForm\">\r\n </BBSF-MultiLingualTextArea>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"!ProductionMode\">\r\n <div class=\"col-md-12\">\r\n <BBSF-TextBox [options]=\"AddSysName\" [group]=\"AddTemplateForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"AddOrganization\" [group]=\"AddTemplateForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"AddCategory\" [group]=\"AddTemplateForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"AddMasterLayout\" [group]=\"AddTemplateForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"text-center pt-7\">\r\n <button #CloseTemplateModal id=\"CloseTemplateModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n </div>\r\n\r\n </BBSF-Form>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- edit Modal -->\r\n<ng-template #EditTemplateModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"Edit\")}} {{utilityService.getResourceValue(\"Template\")}}</h1>\r\n </div>\r\n\r\n <BBSF-Form [options]=\"EditTemplateFormOptions\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-MultiLingualTextBox [options]=\"EditName\" [group]=\"EditTemplateForm\"></BBSF-MultiLingualTextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-MultiLingualTextArea [options]=\"EditDescription\" [group]=\"EditTemplateForm\">\r\n </BBSF-MultiLingualTextArea>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"!ProductionMode\">\r\n <div class=\"col-md-12\">\r\n <BBSF-TextBox [options]=\"EditSysName\" [group]=\"EditTemplateForm\">\r\n </BBSF-TextBox>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"EditOrganization\" [group]=\"EditTemplateForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"EditCategory\" [group]=\"EditTemplateForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <BBSF-DropdownList [options]=\"EditMasterLayout\" [group]=\"EditTemplateForm\">\r\n </BBSF-DropdownList>\r\n </div>\r\n </div>\r\n <div class=\"text-center pt-7\">\r\n <button #CloseEditTemplateModal id=\"CloseEditTemplateModal\" type=\"button\" class=\"btn btn-light me-3 btn-sm\"\r\n (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"submit\" class=\"btn btn-primary btn-sm\">{{utilityService.getResourceValue(\"SaveLabel\")}}</button>\r\n </div>\r\n </BBSF-Form>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- GenerateCode Modal -->\r\n<ng-template #GenerateCodeModal let-modal>\r\n <div class=\"modal-header pb-0 border-0 justify-content-end\">\r\n <h5 class=\"modal-title\" id=\"exampleModalLabel\"></h5>\r\n <button type=\"button\" data-dismiss=\"modal\" aria-label=\"Close\" class=\"btn btn-sm btn-icon btn-active-color-primary\" (click)=\"modal.dismiss()\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <span [inlineSVG]=\"'./src/assets/images/arr061.svg'\"></span>\r\n </span>\r\n </button>\r\n </div>\r\n <div class=\"modal-body scroll-y px-10 px-lg-15 pt-0 pb-15\">\r\n <div class=\"mb-13 text-center\">\r\n <h1 class=\"mb-3\">{{utilityService.getResourceValue(\"GenerateCode\")}}</h1>\r\n </div>\r\n <form [formGroup]=\"GenerateCodeForm\">\r\n <BBSF-TextArea [options]=\"GenerateCodeTextArea\" [group]=\"GenerateCodeForm\" #GenerateCodeInput>\r\n </BBSF-TextArea>\r\n <div class=\"text-center pt-7\">\r\n <button #CloseGenerateCodeModal id=\"CloseGenerateCodeModal\" type=\"button\"\r\n class=\"btn btn-light btn-sm me-3 \" data-dismiss=\"modal\" (click)=\"modal.dismiss()\">\r\n {{utilityService.getResourceValue(\"CancelLabel\")}}\r\n </button>\r\n <button type=\"button\" class=\"btn btn-primary btn-sm\" (click)=\"copyInputMessage()\">\r\n {{utilityService.getResourceValue(\"CopyToClipboard\")}}\r\n </button>\r\n\r\n </div>\r\n </form>\r\n </div>\r\n</ng-template>\r\n\r\n<!--delete Modal-->\r\n<BBSF-ConfirmationModal *ngIf=\"deleteControlLoaded\" [options]=\"DeleteConfirmationOptions\" id=\"ConfirmationModalControl\" #ConfirmationModalControl></BBSF-ConfirmationModal>\r\n" }]
427
- }], ctorParameters: function () { return [{ type: i1.AuthService }, { type: i2.PageInfoService }, { type: i1.UtilityService }, { type: i1.BBSFTranslateService }, { type: i1.EnvironmentService }, { type: i3.ClipboardService }, { type: i4.DocumentTemplateService }, { type: i5.NgbModal }, { type: i1.RequestHandlerService }]; }, propDecorators: { pagingElement: [{
428
- type: ViewChild,
429
- args: ['TemplatePagingViewElement', { static: false }]
430
- }], categoriesDDL: [{
431
- type: ViewChild,
432
- args: ['categoriesDDL', { static: false }]
433
- }], ConfirmationModalControl: [{
434
- type: ViewChild,
435
- args: ['ConfirmationModalControl', { static: false }]
436
- }] } });
437
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdGVtcGxhdGVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtYWRtaW4tcG9ydGFsL3NyYy9saWIvUGFnZXMvZG9jdW1lbnRzL2RvY3VtZW50LXRlbXBsYXRlcy9kb2N1bWVudC10ZW1wbGF0ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi1hZG1pbi1wb3J0YWwvc3JjL2xpYi9QYWdlcy9kb2N1bWVudHMvZG9jdW1lbnQtdGVtcGxhdGVzL2RvY3VtZW50LXRlbXBsYXRlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFzQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFFTCx3QkFBd0IsRUFDeEIsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsVUFBVSxFQUNWLFdBQVcsRUFDWCxTQUFTLEVBQ1QsMkJBQTJCLEVBQzNCLDBCQUEwQixFQUMxQixnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGVBQWUsRUFDZixjQUFjLEdBQ2YsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFjckYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seURBQXlELENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQU05RixNQUFNLE9BQU8sMkJBQTJCO0lBOER0QyxZQUNVLFdBQXdCLEVBQ3hCLGVBQWdDLEVBQ2pDLGNBQThCLEVBQzdCLG9CQUEwQyxFQUMxQyxrQkFBc0MsRUFDdEMsaUJBQW1DLEVBQ25DLGVBQXdDLEVBQ3hDLFlBQXNCLEVBQ3RCLHFCQUE0QztRQVI1QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtR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LElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO1lBQzlDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELFlBQVk7SUFDWixXQUFXO1FBQ1QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzlDLENBQUM7O3lIQWxlVSwyQkFBMkI7NkdBQTNCLDJCQUEyQixrWkN2Q3hDLCt0YkEyUkE7NEZEcFBhLDJCQUEyQjtrQkFKdkMsU0FBUzsrQkFDRSx3QkFBd0I7aVdBcUJsQyxhQUFhO3NCQURaLFNBQVM7dUJBQUMsMkJBQTJCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQVFWLGFBQWE7c0JBQTNELFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkE2QjdDLHdCQUF3QjtzQkFEdkIsU0FBUzt1QkFBQywwQkFBMEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICBDaGVja0JveE9wdGlvbnMsXHJcbiAgQ29uZmlybWF0aW9uTW9kYWxPcHRpb25zLFxyXG4gIERyb3Bkb3duT3B0aW9ucyxcclxuICBFbmdsaXNoQXJhYmljRFRPLFxyXG4gIEZpbHRlckl0ZW0sXHJcbiAgRmlsdGVyVHlwZSxcclxuICBGb3JtT3B0aW9ucyxcclxuICBJbnB1dFR5cGUsXHJcbiAgTXVsdGlMaW5ndWFsVGV4dEFyZWFPcHRpb25zLFxyXG4gIE11bHRpTGluZ3VhbFRleHRCb3hPcHRpb25zLFxyXG4gIFBhZ2luZ0FjdGlvbk1vZGUsXHJcbiAgUGFnaW5nT3B0aW9ucyxcclxuICBUZXh0QXJlYU9wdGlvbnMsXHJcbiAgVGV4dEJveE9wdGlvbnMsXHJcbn0gZnJvbSAnQGJuc2lnaHRzL2Jic2YtY29udHJvbHMnO1xyXG5pbXBvcnQgeyBDbGlwYm9hcmRTZXJ2aWNlIH0gZnJvbSAnbmd4LWNsaXBib2FyZCc7XHJcbmltcG9ydCB7IFBhZ2VJbmZvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19tZXRyb25pYy9jb3JlL3NlcnZpY2VzL3BhZ2UtaW5mby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGVtcGxhdGVEVE8gfSBmcm9tICcuLi8uLi9zaGFyZWQvbW9kZWxzL05vdGlmaWNhdGlvbnNNb2RlbHMvVGVtcGxhdGVEVE8nO1xyXG5pbXBvcnQgeyBOZ2JNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHtcclxuICBBdXRoU2VydmljZSxcclxuICBVdGlsaXR5U2VydmljZSxcclxuICBCQlNGVHJhbnNsYXRlU2VydmljZSxcclxuICBFbnZpcm9ubWVudFNlcnZpY2UsXHJcbiAgUmVxdWVzdEhhbmRsZXJTZXJ2aWNlLFxyXG59IGZyb20gJ0BibnNpZ2h0cy9iYnNmLXV0aWxpdGllcyc7XHJcbmltcG9ydCB7IFBhZ2luZ0NvbXBvbmVudCB9IGZyb20gJ0BibnNpZ2h0cy9iYnNmLWNvbnRyb2xzL2xpYi9jb250cm9scy9QYWdpbmcvUGFnaW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQgfSBmcm9tICdAYm5zaWdodHMvYmJzZi1jb250cm9scy9saWIvY29udHJvbHMvQ29uZmlybWF0aW9uTW9kYWwvQ29uZmlybWF0aW9uTW9kYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRG9jdW1lbnRUZW1wbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvU2VydmljZXMvRG9jdW1lbnRUZW1wbGF0ZVNlcnZpY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IERvY3VtZW50VGVtcGxhdGVEVE8gfSBmcm9tICcuLi8uLi9zaGFyZWQvbW9kZWxzL0RvY3VtZW50c01vZGVscy9Eb2N1bWVudFRlbXBsYXRlRFRPJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWRvY3VtZW50LXRlbXBsYXRlcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RvY3VtZW50LXRlbXBsYXRlcy5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEb2N1bWVudHNUZW1wbGF0ZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8vUGFnZSByZXF1aXJlbWVudHNcclxuICBTaG93UGFnZUNvbnRlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBBcGlVcmwgPSAnL2FwaS9hZG1pbi9Eb2N1bWVudFRlbXBsYXRlcy8nO1xyXG4gIFByb2R1Y3Rpb25Nb2RlOiBib29sZWFuO1xyXG5cclxuICAvL0ZpbHRlciBhbmQgcGFnaW5nIGNvbXBvbmVudHNcclxuICBDYXRlZ29yeU9wdGlvbnM6IERyb3Bkb3duT3B0aW9ucztcclxuICBDYXRlZ29yeUZpbHRlcjogRmlsdGVySXRlbTtcclxuICBzZWFyY2hUZXh0Qm94OiBUZXh0Qm94T3B0aW9ucztcclxuICBUZXh0SW5wdXRGaWx0ZXI6IEZpbHRlckl0ZW07XHJcbiAgVGVtcGxhdGVGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgVGVtcGxhdGVQYWdpbmdSZXN1bHQ6IGFueVtdID0gW107XHJcbiAgY2xpZW50U2lkZVBhZ2luZ1Jlc3VsdDogYW55W10gPSBbXTtcclxuICBUZW1wbGF0ZVBhZ2luZzogUGFnaW5nT3B0aW9ucztcclxuICBJc0ZpbHRlckxvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIElzRmlsdGVyRGF0YUxvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBWaWV3Q2hpbGQoJ1RlbXBsYXRlUGFnaW5nVmlld0VsZW1lbnQnLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBwYWdpbmdFbGVtZW50OiBQYWdpbmdDb21wb25lbnQ8YW55PjtcclxuXHJcbiAgLy9SZXF1aXJlZCBsaXN0c1xyXG4gIENhdGVnb3J5TGlzdCA9IFtdO1xyXG4gIFNlbGVjdGVkVGVtcGxhdGVMaXN0ID0gW107XHJcbiAgT3JnYW5pemF0aW9uTGlzdCA9IFtdO1xyXG4gIE1hc3RlckxheW91dExpc3QgPSBbXTtcclxuICBAVmlld0NoaWxkKCdjYXRlZ29yaWVzRERMJywgeyBzdGF0aWM6IGZhbHNlIH0pIGNhdGVnb3JpZXNEREw6IEVsZW1lbnRSZWY7XHJcblxyXG4gIC8vQWRkIE1vZGVsIENvbnRyb2xzXHJcbiAgQWRkVGVtcGxhdGVGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgQWRkVGVtcGxhdGVGb3JtT3B0aW9uczogRm9ybU9wdGlvbnM7XHJcbiAgQWRkTmFtZTogTXVsdGlMaW5ndWFsVGV4dEJveE9wdGlvbnM7XHJcbiAgQWRkU3lzTmFtZTogVGV4dEJveE9wdGlvbnM7XHJcbiAgQWRkRGVzY3JpcHRpb246IE11bHRpTGluZ3VhbFRleHRBcmVhT3B0aW9ucztcclxuICBBZGRPcmdhbml6YXRpb246IERyb3Bkb3duT3B0aW9ucztcclxuICBBZGRDYXRlZ29yeTogRHJvcGRvd25PcHRpb25zO1xyXG4gIEFkZE1hc3RlckxheW91dDogRHJvcGRvd25PcHRpb25zO1xyXG5cclxuXHJcbiAgLy9FZGl0IE1vZGVsIENvbnRyb2xzXHJcbiAgRWRpdFRlbXBsYXRlRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIEVkaXRUZW1wbGF0ZUZvcm1PcHRpb25zOiBGb3JtT3B0aW9ucztcclxuICBFZGl0TmFtZTogTXVsdGlMaW5ndWFsVGV4dEJveE9wdGlvbnM7XHJcbiAgRWRpdFN5c05hbWU6IFRleHRCb3hPcHRpb25zO1xyXG4gIEVkaXREZXNjcmlwdGlvbjogTXVsdGlMaW5ndWFsVGV4dEFyZWFPcHRpb25zO1xyXG4gIEVkaXRPcmdhbml6YXRpb246IERyb3Bkb3duT3B0aW9ucztcclxuICBFZGl0Q2F0ZWdvcnk6IERyb3Bkb3duT3B0aW9ucztcclxuICBFZGl0TWFzdGVyTGF5b3V0OiBEcm9wZG93bk9wdGlvbnM7XHJcblxyXG5cclxuICAvL2RlbGV0ZSAgTW9kZWwgQ29udHJvbHNcclxuICBkZWxldGVkVGVtcGxhdGVJZDogc3RyaW5nO1xyXG4gIERlbGV0ZUNvbmZpcm1hdGlvbk9wdGlvbnM6IENvbmZpcm1hdGlvbk1vZGFsT3B0aW9ucztcclxuICBkZWxldGVDb250cm9sTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQFZpZXdDaGlsZCgnQ29uZmlybWF0aW9uTW9kYWxDb250cm9sJywgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgQ29uZmlybWF0aW9uTW9kYWxDb250cm9sOiBDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudDtcclxuXHJcbiAgLy9HZW5lcmF0ZUNvZGUgIE1vZGVsIENvbnRyb2xzXHJcbiAgR2VuZXJhdGVDb2RlRm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIEdlbmVyYXRlQ29kZVRleHRBcmVhOiBUZXh0QXJlYU9wdGlvbnM7XHJcbiAgVmFsdWVUb0NvcHk6IHN0cmluZyA9ICcnO1xyXG4gIFRlbXBsYXRlSWQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBwYWdlSW5mb1NlcnZpY2U6IFBhZ2VJbmZvU2VydmljZSxcclxuICAgIHB1YmxpYyB1dGlsaXR5U2VydmljZTogVXRpbGl0eVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGJic2ZUcmFuc2xhdGVTZXJ2aWNlOiBCQlNGVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgZW52aXJvbm1lbnRTZXJ2aWNlOiBFbnZpcm9ubWVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jbGlwYm9hcmRTZXJ2aWNlOiBDbGlwYm9hcmRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZVNlcnZpY2U6IERvY3VtZW50VGVtcGxhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLFxyXG4gICAgcHJpdmF0ZSByZXF1ZXN0SGFuZGxlclNlcnZpY2U6IFJlcXVlc3RIYW5kbGVyU2VydmljZVxyXG4gICkge31cclxuICBhc3luYyBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuU2hvd1BhZ2VDb250ZW50ID0gdHJ1ZTtcclxuICAgIC8vUGFnZSBoZWFkZXIgKGJyZWFkY3J1bWIgYW5kIHRpdGxlKVxyXG4gICAgUGFnZUluZm9TZXJ2aWNlLlBhZ2VUaXRsZSA9XHJcbiAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZSgnVGVtcGxhdGVzJyk7XHJcbiAgICBQYWdlSW5mb1NlcnZpY2UuUGFnZUJyZWFkY3J1bWJzID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6IHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZSgnSG9tZScpLFxyXG4gICAgICAgIHBhdGg6ICcvQWRtaW4vSG9tZScsXHJcbiAgICAgICAgaXNTZXBhcmF0b3I6IGZhbHNlLFxyXG4gICAgICAgIGlzQWN0aXZlOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgICAgeyB0aXRsZTogJycsIHBhdGg6ICcnLCBpc1NlcGFyYXRvcjogdHJ1ZSwgaXNBY3RpdmU6IGZhbHNlIH0sXHJcbiAgICBdO1xyXG4gICAgdGhpcy5wYWdlSW5mb1NlcnZpY2UuY2FsY3VsYXRlVGl0bGUoKTtcclxuICAgIHRoaXMucGFnZUluZm9TZXJ2aWNlLmNhbGN1bGF0ZUJyZWFkY3J1bWJzKCk7XHJcbiAgICAvL29uIGxhbmcgY2hhbmdlZFxyXG4gICAgdGhpcy5iYnNmVHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICB0aGlzLm5nT25Jbml0KCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuUHJvZHVjdGlvbk1vZGUgPSB0aGlzLmVudmlyb25tZW50U2VydmljZS5nZXRQcm9kdWN0aW9uTW9kZSgpO1xyXG4gICAgdGhpcy5pbml0aWFsaXplUGFnZSgpO1xyXG4gIH1cclxuXHJcbiAgLy9Jbml0aWFsaXplIGZpbHRlcnMgYW5kIHBhZ2luZ1xyXG4gIGluaXRpYWxpemVQYWdlKCkge1xyXG4gICAgLy8gVGV4dEJveCBpbml0XHJcbiAgICB0aGlzLnNlYXJjaFRleHRCb3ggPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveC5OYW1lID0gJ3NlYXJjaFRleHRCb3gnO1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0Qm94LlR5cGUgPSBJbnB1dFR5cGUuVGV4dDtcclxuICAgIHRoaXMuc2VhcmNoVGV4dEJveC5QbGFjZWhvbGRlciA9XHJcbiAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZSgnU2VhcmNoQnlOYW1lJyk7XHJcbiAgICB0aGlzLnNlYXJjaFRleHRCb3guSGlkZUxhYmVsID0gdHJ1ZTtcclxuXHJcbiAgICAvLyBUZXh0Qm94IGluaXRcclxuICAgIHRoaXMuQ2F0ZWdvcnlPcHRpb25zID0gbmV3IERyb3Bkb3duT3B0aW9ucygpO1xyXG4gICAgdGhpcy5DYXRlZ29yeU9wdGlvbnMuTmFtZSA9ICdDYXRlZ29yeSc7XHJcbiAgICB0aGlzLkNhdGVnb3J5T3B0aW9ucy5MYWJlbEtleSA9ICdDYXRlZ29yeSc7XHJcbiAgICB0aGlzLkNhdGVnb3J5T3B0aW9ucy5TaW5nbGVTZWxlY3Rpb24gPSBmYWxzZTtcclxuICAgIHRoaXMuQ2F0ZWdvcnlPcHRpb25zLkFsbG93U2VhcmNoRmlsdGVyID0gdHJ1ZTtcclxuICAgIHRoaXMuQ2F0ZWdvcnlPcHRpb25zLlBsYWNlaG9sZGVyID0gJyc7XHJcblxyXG4gICAgdGhpcy5DYXRlZ29yeUZpbHRlciA9IG5ldyBGaWx0ZXJJdGVtKCk7XHJcbiAgICB0aGlzLkNhdGVnb3J5RmlsdGVyLkZvcm1Db250cm9sTmFtZSA9ICdDYXRlZ29yeSc7XHJcbiAgICB0aGlzLkNhdGVnb3J5RmlsdGVyLkFjdGlvblBhcmFtZXRlck5hbWUgPSAnR3JvdXBzSWQnO1xyXG4gICAgdGhpcy5DYXRlZ29yeUZpbHRlci5Jc0Zvcm1Db250cm9sID0gdHJ1ZTtcclxuICAgIHRoaXMuQ2F0ZWdvcnlGaWx0ZXIuRmlsdGVyVHlwZSA9IEZpbHRlclR5cGUuRHJvcGRvd25MaXN0O1xyXG5cclxuICAgIHRoaXMuVGV4dElucHV0RmlsdGVyID0gbmV3IEZpbHRlckl0ZW0oKTtcclxuICAgIHRoaXMuVGV4dElucHV0RmlsdGVyLkZvcm1Db250cm9sTmFtZSA9ICdzZWFyY2hUZXh0Qm94JztcclxuICAgIHRoaXMuVGV4dElucHV0RmlsdGVyLkFjdGlvblBhcmFtZXRlck5hbWUgPSAnc2VhcmNoVGV4dCc7XHJcbiAgICB0aGlzLlRleHRJbnB1dEZpbHRlci5Jc0Zvcm1Db250cm9sID0gdHJ1ZTtcclxuICAgIHRoaXMuVGV4dElucHV0RmlsdGVyLkZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlLlRleHRCb3g7XHJcblxyXG4gICAgdGhpcy5UZW1wbGF0ZVBhZ2luZyA9IG5ldyBQYWdpbmdPcHRpb25zKCk7XHJcbiAgICB0aGlzLlRlbXBsYXRlUGFnaW5nLkFjdGlvblBvc3RVUkwgPSB0aGlzLkFwaVVybCArICdHZXRUZW1wbGF0ZXNCeUZpbHRlcic7XHJcbiAgICB0aGlzLlRlbXBsYXRlUGFnaW5nLk9uS2V5UHJlc3NGaWx0ZXJzQ29udHJvbE5hbWVzID0gWydzZWFyY2hUZXh0Qm94J107XHJcbiAgICB0aGlzLlRlbXBsYXRlUGFnaW5nLkRyb3Bkb3duRmlsdGVyc0NvbnRyb2xOYW1lcyA9IFsnQ2F0ZWdvcnknXTtcclxuICAgIHRoaXMuVGVtcGxhdGVQYWdpbmcuRmlsdGVycyA9IFt0aGlzLkNhdGVnb3J5RmlsdGVyLCB0aGlzLlRleHRJbnB1dEZpbHRlcl07XHJcbiAgICB0aGlzLlRlbXBsYXRlUGFnaW5nLlZhbGlkYXRpb25Ub2tlbiA9XHJcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuYXV0aG9yaXphdGlvbkhlYWRlclZhbHVlKCk7XHJcbiAgICB0aGlzLlRlbXBsYXRlUGFnaW5nLlJlc2V0RmlsdGVyQnV0dG9uTmFtZSA9ICd0ZW1wbGF0ZXNGaWx0ZXJzQnRuJztcclxuXHJcbiAgICB0aGlzLklzRmlsdGVyTG9hZGVkID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8vTG9hZCBmaWx0ZXJzIGxpc3RzXHJcbiAgbG9hZExpc3RzKCkge1xyXG4gICAgaWYgKCF0aGlzLklzRmlsdGVyRGF0YUxvYWRlZCkge1xyXG4gICAgICB0aGlzLnRlbXBsYXRlU2VydmljZS5sb2FkZHJvcGRvd25zKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICBsZXQgRHJvcGRvd25MaXN0cyA9IHJlc3VsdCBhcyBhbnk7XHJcbiAgICAgICAgdGhpcy5DYXRlZ29yeUxpc3QgPSBEcm9wZG93bkxpc3RzLmxvb2tVcEl0ZW1zQ2F0ZWdvcnk7XHJcbiAgICAgICAgbGV0IGNhdGVnb3JpZXNFbGVtZW50ID0gdGhpcy5jYXRlZ29yaWVzRERMIGFzIGFueTtcclxuICAgICAgICBjYXRlZ29yaWVzRWxlbWVudC5VcGRhdGVEYXRhU291cmNlKHRoaXMuQ2F0ZWdvcnlMaXN0KTtcclxuICAgICAgICB0aGlzLklzRmlsdGVyRGF0YUxvYWRlZCA9IHRydWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy9QYWdpbmcgZnVuY3Rpb25zXHJcbiAgc2V0VGVtcGxhdGVMaXN0UmVzdWx0KHJlc3VsdCkge1xyXG4gICAgdGhpcy5UZW1wbGF0ZVBhZ2luZ1Jlc3VsdCA9IHJlc3VsdDtcclxuICAgIHRoaXMuY2xpZW50U2lkZVBhZ2luZ1Jlc3VsdCA9IHJlc3VsdDtcclxuICAgIHRoaXMuU2hvd1BhZ2VDb250ZW50ID0gdHJ1ZTtcclxuICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RvcEJsb2NrVUkoKTtcclxuICB9XHJcblxyXG4gIHNlYXJjaENsaWVudFNpZGUoc2VhcmNoVmFsdWUpIHtcclxuICAgIGlmIChzZWFyY2hWYWx1ZSlcclxuICAgICAgdGhpcy5jbGllbnRTaWRlUGFnaW5nUmVzdWx0ID0gdGhpcy5jbGllbnRTaWRlUGFnaW5nUmVzdWx0LmZpbHRlcihcclxuICAgICAgICBmdW5jdGlvbiAoaXRlbSkge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgaXRlbS5uYW1lLmVuZ2xpc2hcclxuICAgICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxyXG4gICAgICAgICAgICAgIC5pbmNsdWRlcyhzZWFyY2hWYWx1ZS50b0xvd2VyQ2FzZSgpKSB8fFxyXG4gICAgICAgICAgICBpdGVtLm5hbWUuYXJhYmljLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVmFsdWUudG9Mb3dlckNhc2UoKSlcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgZWxzZSB0aGlzLmNsaWVudFNpZGVQYWdpbmdSZXN1bHQgPSB0aGlzLlRlbXBsYXRlUGFnaW5nUmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgLy9BZGQgVGVtcGxhdGVcclxuICBzaG93QWRkVGVtcGxhdGVNb2RhbChBZGRUZW1wbGF0ZU1vZGFsKSB7XHJcbiAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0YXJ0QmxvY2tVSSgpO1xyXG4gICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2UubG9hZEFkZERyb3Bkb3ducygpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgIGxldCByZXN1bHRPYmogPSByZXN1bHQgYXMgYW55O1xyXG4gICAgICB0aGlzLk9yZ2FuaXphdGlvbkxpc3QgPSByZXN1bHRPYmoub3JnYW5pemF0aW9uO1xyXG4gICAgICB0aGlzLk1hc3RlckxheW91dExpc3QgPSByZXN1bHRPYmouZG9jdW1lbnRIZWFkZXJBbmRGb290ZXJUZW1wbGF0ZTtcclxuICAgICAgdGhpcy5DYXRlZ29yeUxpc3QgPSByZXN1bHRPYmoubG9va1VwSXRlbXNDYXRlZ29yeTtcclxuXHJcbiAgICAgIHRoaXMuQWRkVGVtcGxhdGVGb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcblxyXG4gICAgICB0aGlzLkFkZFRlbXBsYXRlRm9ybU9wdGlvbnMgPSBuZXcgRm9ybU9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5BZGRUZW1wbGF0ZUZvcm1PcHRpb25zLkZvcm1Hcm91cCA9IHRoaXMuQWRkVGVtcGxhdGVGb3JtO1xyXG4gICAgICB0aGlzLkFkZFRlbXBsYXRlRm9ybU9wdGlvbnMuR2V0TW9kZWxGdW5jdGlvbiA9IHRoaXMuZ2V0QWRkVGVtcGxhdGVNb2RlbDtcclxuICAgICAgdGhpcy5BZGRUZW1wbGF0ZUZvcm1PcHRpb25zLlNlcnZpY2VTdWJtaXRGdW5jdGlvbiA9XHJcbiAgICAgICAgdGhpcy5nZXRBZGRUZW1wbGF0ZUZ1bmN0aW9uO1xyXG4gICAgICB0aGlzLkFkZFRlbXBsYXRlRm9ybU9wdGlvbnMuUGFnaW5nUmVmZXJlbmNlID0gdGhpcy5wYWdpbmdFbGVtZW50O1xyXG5cclxuICAgICAgdGhpcy5BZGROYW1lID0gbmV3IE11bHRpTGluZ3VhbFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuQWRkTmFtZS5OYW1lID0gJ05hbWUnO1xyXG4gICAgICB0aGlzLkFkZE5hbWUuQXJhYmljTGFiZWxLZXkgPSAnTmFtZUluQXJhYmljJztcclxuICAgICAgdGhpcy5BZGROYW1lLkVuZ2xpc2hMYWJlbEtleSA9ICdOYW1lSW5FbmdsaXNoJztcclxuICAgICAgdGhpcy5BZGROYW1lLklzUmVxdWlyZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLkFkZE5hbWUuTWF4TGVuZ3RoID0gMTAwO1xyXG5cclxuICAgICAgdGhpcy5BZGRTeXNOYW1lID0gbmV3IFRleHRCb3hPcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuQWRkU3lzTmFtZS5OYW1lID0gJ1N5c05hbWUnO1xyXG4gICAgICB0aGlzLkFkZFN5c05hbWUuTGFiZWxLZXkgPSAnU3lzTmFtZSc7XHJcbiAgICAgIHRoaXMuQWRkU3lzTmFtZS5UeXBlID0gSW5wdXRUeXBlLlRleHQ7XHJcbiAgICAgIHRoaXMuQWRkU3lzTmFtZS5WYWx1ZSA9IG51bGw7XHJcbiAgICAgIHRoaXMuQWRkU3lzTmFtZS5NYXhMZW5ndGggPSAxMDA7XHJcblxyXG4gICAgICB0aGlzLkFkZERlc2NyaXB0aW9uID0gbmV3IE11bHRpTGluZ3VhbFRleHRBcmVhT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkFkZERlc2NyaXB0aW9uLk5hbWUgPSAnRGVzY3JpcHRpb24nO1xyXG4gICAgICB0aGlzLkFkZERlc2NyaXB0aW9uLkFyYWJpY0xhYmVsS2V5ID0gJ0Rlc2NyaXB0aW9uSW5BcmFiaWMnO1xyXG4gICAgICB0aGlzLkFkZERlc2NyaXB0aW9uLkVuZ2xpc2hMYWJlbEtleSA9ICdEZXNjcmlwdGlvbkluRW5nbGlzaCc7XHJcbiAgICAgIHRoaXMuQWRkRGVzY3JpcHRpb24uTWF4TGVuZ3RoID0gMjUwO1xyXG5cclxuICAgICAgdGhpcy5BZGRPcmdhbml6YXRpb24gPSBuZXcgRHJvcGRvd25PcHRpb25zKCk7XHJcbiAgICAgIHRoaXMuQWRkT3JnYW5pemF0aW9uLk5hbWUgPSAnT3JnYW5pemF0aW9uSURfR1VJRCc7XHJcbiAgICAgIHRoaXMuQWRkT3JnYW5pemF0aW9uLkxhYmVsS2V5ID0gJ09yZ2FuaXphdGlvbic7XHJcbiAgICAgIHRoaXMuQWRkT3JnYW5pemF0aW9uLkRhdGFTb3VyY2UgPSB0aGlzLk9yZ2FuaXphdGlvbkxpc3Q7XHJcbiAgICAgIHRoaXMuQWRkT3JnYW5pemF0aW9uLlNpbmdsZVNlbGVjdGlvbiA9IHRydWU7XHJcbiAgICAgIHRoaXMuQWRkT3JnYW5pemF0aW9uLkFsbG93U2VhcmNoRmlsdGVyID0gdHJ1ZTtcclxuICAgICAgdGhpcy5BZGRPcmdhbml6YXRpb24uUGxhY2Vob2xkZXIgPSAnJztcclxuICAgICAgdGhpcy5BZGRPcmdhbml6YXRpb24uSXNSZXF1aXJlZCA9IHRydWU7XHJcblxyXG4gICAgICB0aGlzLkFkZE1hc3RlckxheW91dCA9IG5ldyBEcm9wZG93bk9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5BZGRNYXN0ZXJMYXlvdXQuTmFtZSA9ICdEb2N1bWVudEhlYWRlckFuZEZvb3RlclRlbXBsYXRlSURfR1VJRCc7XHJcbiAgICAgIHRoaXMuQWRkTWFzdGVyTGF5b3V0LkxhYmVsS2V5ID0gJ01hc3RlckxheW91dCc7XHJcbiAgICAgIHRoaXMuQWRkTWFzdGVyTGF5b3V0LkRhdGFTb3VyY2UgPSB0aGlzLk1hc3RlckxheW91dExpc3Q7XHJcbiAgICAgIHRoaXMuQWRkTWFzdGVyTGF5b3V0LlNpbmdsZVNlbGVjdGlvbiA9IHRydWU7XHJcbiAgICAgIHRoaXMuQWRkTWFzdGVyTGF5b3V0LkFsbG93U2VhcmNoRmlsdGVyID0gdHJ1ZTtcclxuICAgICAgdGhpcy5BZGRNYXN0ZXJMYXlvdXQuUGxhY2Vob2xkZXIgPSAnJztcclxuICAgICAgdGhpcy5BZGRNYXN0ZXJMYXlvdXQuSXNSZXF1aXJlZCA9IHRydWU7XHJcblxyXG4gICAgICB0aGlzLkFkZENhdGVnb3J5ID0gbmV3IERyb3Bkb3duT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkFkZENhdGVnb3J5Lk5hbWUgPSAnQ2F0ZWdvcnlJdGVtSURfR1VJRCc7XHJcbiAgICAgIHRoaXMuQWRkQ2F0ZWdvcnkuTGFiZWxLZXkgPSAnQ2F0ZWdvcnknO1xyXG4gICAgICB0aGlzLkFkZENhdGVnb3J5LkRhdGFTb3VyY2UgPSB0aGlzLkNhdGVnb3J5TGlzdDtcclxuICAgICAgdGhpcy5BZGRDYXRlZ29yeS5TaW5nbGVTZWxlY3Rpb24gPSB0cnVlO1xyXG4gICAgICB0aGlzLkFkZENhdGVnb3J5LkFsbG93U2VhcmNoRmlsdGVyID0gdHJ1ZTtcclxuICAgICAgdGhpcy5BZGRDYXRlZ29yeS5QbGFjZWhvbGRlciA9ICcnO1xyXG4gICAgICB0aGlzLkFkZENhdGVnb3J5LklzUmVxdWlyZWQgPSB0cnVlO1xyXG5cclxuXHJcbiAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oQWRkVGVtcGxhdGVNb2RhbCk7XHJcbiAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RvcEJsb2NrVUkoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXRBZGRUZW1wbGF0ZU1vZGVsID0gKCkgPT4ge1xyXG4gICAgbGV0IHBhcmFtQXJyYXk6IGFueVtdID0gW107XHJcbiAgICBsZXQgUmVzdWx0TW9kZWwgPSB0aGlzLkFkZFRlbXBsYXRlRm9ybS52YWx1ZSBhcyBhbnk7XHJcbiAgICBsZXQgQWRkTW9kZWwgPSBuZXcgRG9jdW1lbnRUZW1wbGF0ZURUTygpO1xyXG4gICAgQWRkTW9kZWwuTmFtZS5BcmFiaWMgPSBSZXN1bHRNb2RlbC5OYW1lLkFyYWJpYztcclxuICAgIEFkZE1vZGVsLk5hbWUuRW5nbGlzaCA9IFJlc3VsdE1vZGVsLk5hbWUuRW5nbGlzaDtcclxuICAgIEFkZE1vZGVsLlN5c05hbWUgPSBSZXN1bHRNb2RlbC5TeXNOYW1lO1xyXG4gICAgQWRkTW9kZWwuRG9jdW1lbnRIZWFkZXJBbmRGb290ZXJUZW1wbGF0ZUlEX0dVSUQgPSBSZXN1bHRNb2RlbC5Eb2N1bWVudEhlYWRlckFuZEZvb3RlclRlbXBsYXRlSURfR1VJRDtcclxuICAgIEFkZE1vZGVsLkRlc2NyaXB0aW9uLkVuZ2xpc2ggPSBSZXN1bHRNb2RlbC5EZXNjcmlwdGlvbi5FbmdsaXNoO1xyXG4gICAgQWRkTW9kZWwuRGVzY3JpcHRpb24uQXJhYmljID0gUmVzdWx0TW9kZWwuRGVzY3JpcHRpb24uQXJhYmljO1xyXG4gICAgQWRkTW9kZWwuT3JnYW5pemF0aW9uSURfR1VJRCA9IFJlc3VsdE1vZGVsLk9yZ2FuaXphdGlvbklEX0dVSUQ7XHJcbiAgICBBZGRNb2RlbC5DYXRlZ29yeUl0ZW1JRF9HVUlEID0gUmVzdWx0TW9kZWwuQ2F0ZWdvcnlJdGVtSURfR1VJRDtcclxuICAgIEFkZE1vZGVsLkNhdGVnb3J5SXRlbUlEX0dVSUQgPSBSZXN1bHRNb2RlbC5DYXRlZ29yeUl0ZW1JRF9HVUlEO1xyXG5cclxuICAgIHBhcmFtQXJyYXkucHVzaChBZGRNb2RlbCk7XHJcbiAgICByZXR1cm4gcGFyYW1BcnJheTtcclxuICB9O1xyXG5cclxuICBnZXRBZGRUZW1wbGF0ZUZ1bmN0aW9uID0gKEFkZE1vZGVsKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlU2VydmljZS5hZGREb2N1bWVudFRlbXBsYXRlKEFkZE1vZGVsKTtcclxuICB9O1xyXG5cclxuICAvL0VkaXQgVGVtcGxhdGVcclxuICBzaG93RWRpdFRlbXBsYXRlTW9kYWwodGVtcGxhdGVJRDogc3RyaW5nLCBFZGl0VGVtcGxhdGVNb2RhbCkge1xyXG4gICAgdGhpcy5UZW1wbGF0ZUlkID0gdGVtcGxhdGVJRDtcclxuICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RhcnRCbG9ja1VJKCk7XHJcbiAgICB0aGlzLnRlbXBsYXRlU2VydmljZS5nZXRFZGl0VGVtcGxhdGVEYXRhKHRlbXBsYXRlSUQpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgIGxldCByZXN1bHRPYmogPSByZXN1bHQgYXMgYW55O1xyXG4gICAgICBsZXQgdGVtcGxhdGUgPSByZXN1bHRPYmoubW9kZWw7XHJcbiAgICAgIGxldCBsaXN0cyA9IHJlc3VsdE9iai5saXN0cztcclxuICAgICAgdGhpcy5Pcmdhbml6YXRpb25MaXN0ID0gbGlzdHMub3JnYW5pemF0aW9uO1xyXG4gICAgICB0aGlzLk1hc3RlckxheW91dExpc3QgPSBsaXN0cy5kb2N1bWVudEhlYWRlckFuZEZvb3RlclRlbXBsYXRlO1xyXG4gICAgICB0aGlzLkNhdGVnb3J5TGlzdCA9IGxpc3RzLmxvb2tVcEl0ZW1zQ2F0ZWdvcnk7XHJcblxyXG4gICAgICB0aGlzLkVkaXRUZW1wbGF0ZUZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICAgICAgdGhpcy5FZGl0VGVtcGxhdGVGb3JtT3B0aW9ucyA9IG5ldyBGb3JtT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVkaXRUZW1wbGF0ZUZvcm1PcHRpb25zLkZvcm1Hcm91cCA9IHRoaXMuRWRpdFRlbXBsYXRlRm9ybTtcclxuICAgICAgdGhpcy5FZGl0VGVtcGxhdGVGb3JtT3B0aW9ucy5HZXRNb2RlbEZ1bmN0aW9uID0gdGhpcy5nZXRFZGl0VGVtcGxhdGVNb2RlbDtcclxuICAgICAgdGhpcy5FZGl0VGVtcGxhdGVGb3JtT3B0aW9ucy5TZXJ2aWNlU3VibWl0RnVuY3Rpb24gPVxyXG4gICAgICAgIHRoaXMuZ2V0RWRpdFRlbXBsYXRlRnVuY3Rpb247XHJcbiAgICAgIHRoaXMuRWRpdFRlbXBsYXRlRm9ybU9wdGlvbnMuUGFnaW5nUmVmZXJlbmNlID0gdGhpcy5wYWdpbmdFbGVtZW50O1xyXG4gICAgICB0aGlzLkVkaXRUZW1wbGF0ZUZvcm1PcHRpb25zLlBhZ2luZ0FjdGlvbk1vZGUgPSBQYWdpbmdBY3Rpb25Nb2RlLlVwZGF0ZTtcclxuXHJcbiAgICAgIGxldCBOYW1lID0gbmV3IEVuZ2xpc2hBcmFiaWNEVE8oKTtcclxuICAgICAgTmFtZS5BcmFiaWMgPSB0ZW1wbGF0ZS5uYW1lLmFyYWJpYztcclxuICAgICAgTmFtZS5FbmdsaXNoID0gdGVtcGxhdGUubmFtZS5lbmdsaXNoO1xyXG5cclxuICAgICAgdGhpcy5FZGl0TmFtZSA9IG5ldyBNdWx0aUxpbmd1YWxUZXh0Qm94T3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVkaXROYW1lLk5hbWUgPSAnTmFtZSc7XHJcbiAgICAgIHRoaXMuRWRpdE5hbWUuQXJhYmljTGFiZWxLZXkgPSAnTmFtZUluQXJhYmljJztcclxuICAgICAgdGhpcy5FZGl0TmFtZS5FbmdsaXNoTGFiZWxLZXkgPSAnTmFtZUluRW5nbGlzaCc7XHJcbiAgICAgIHRoaXMuRWRpdE5hbWUuSXNSZXF1aXJlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuRWRpdE5hbWUuVmFsdWUgPSBOYW1lO1xyXG4gICAgICB0aGlzLkVkaXROYW1lLk1heExlbmd0aCA9IDEwMDtcclxuXHJcbiAgICAgIHRoaXMuRWRpdFN5c05hbWUgPSBuZXcgVGV4dEJveE9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5FZGl0U3lzTmFtZS5OYW1lID0gJ1N5c05hbWUnO1xyXG4gICAgICB0aGlzLkVkaXRTeXNOYW1lLkxhYmVsS2V5ID0gJ1N5c05hbWUnO1xyXG4gICAgICB0aGlzLkVkaXRTeXNOYW1lLlR5cGUgPSBJbnB1dFR5cGUuVGV4dDtcclxuICAgICAgdGhpcy5FZGl0U3lzTmFtZS5WYWx1ZSA9IHRlbXBsYXRlLnN5c05hbWU7XHJcbiAgICAgIHRoaXMuRWRpdFN5c05hbWUuTWF4TGVuZ3RoID0gMTAwO1xyXG5cclxuICAgICAgbGV0IGRlc2NyaXB0aW9uID0gbmV3IEVuZ2xpc2hBcmFiaWNEVE8oKTtcclxuICAgICAgZGVzY3JpcHRpb24uQXJhYmljID0gdGVtcGxhdGUuZGVzY3JpcHRpb24uYXJhYmljO1xyXG4gICAgICBkZXNjcmlwdGlvbi5FbmdsaXNoID0gdGVtcGxhdGUuZGVzY3JpcHRpb24uZW5nbGlzaDtcclxuXHJcbiAgICAgIHRoaXMuRWRpdERlc2NyaXB0aW9uID0gbmV3IE11bHRpTGluZ3VhbFRleHRBcmVhT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVkaXREZXNjcmlwdGlvbi5OYW1lID0gJ0Rlc2NyaXB0aW9uJztcclxuICAgICAgdGhpcy5FZGl0RGVzY3JpcHRpb24uQXJhYmljTGFiZWxLZXkgPSAnRGVzY3JpcHRpb25JbkFyYWJpYyc7XHJcbiAgICAgIHRoaXMuRWRpdERlc2NyaXB0aW9uLkVuZ2xpc2hMYWJlbEtleSA9ICdEZXNjcmlwdGlvbkluRW5nbGlzaCc7XHJcbiAgICAgIHRoaXMuRWRpdERlc2NyaXB0aW9uLlZhbHVlID0gZGVzY3JpcHRpb247XHJcbiAgICAgIHRoaXMuRWRpdERlc2NyaXB0aW9uLk1heExlbmd0aCA9IDI1MDtcclxuXHJcbiAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbiA9IG5ldyBEcm9wZG93bk9wdGlvbnMoKTtcclxuICAgICAgdGhpcy5FZGl0T3JnYW5pemF0aW9uLk5hbWUgPSAnT3JnYW5pemF0aW9uSURfR1VJRCc7XHJcbiAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbi5MYWJlbEtleSA9ICdPcmdhbml6YXRpb24nO1xyXG4gICAgICB0aGlzLkVkaXRPcmdhbml6YXRpb24uRGF0YVNvdXJjZSA9IHRoaXMuT3JnYW5pemF0aW9uTGlzdDtcclxuICAgICAgdGhpcy5FZGl0T3JnYW5pemF0aW9uLlNpbmdsZVNlbGVjdGlvbiA9IHRydWU7XHJcbiAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbi5BbGxvd1NlYXJjaEZpbHRlciA9IHRydWU7XHJcbiAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbi5QbGFjZWhvbGRlciA9ICcnO1xyXG4gICAgICB0aGlzLkVkaXRPcmdhbml6YXRpb24uSXNSZXF1aXJlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuRWRpdE9yZ2FuaXphdGlvbi5TZWxlY3RlZEl0ZW1zID1cclxuICAgICAgICB0ZW1wbGF0ZS5vcmdhbml6YXRpb25JRF9HVUlEPy50b0xvd2VyQ2FzZSgpO1xyXG5cclxuICAgICAgdGhpcy5FZGl0TWFzdGVyTGF5b3V0ID0gbmV3IERyb3Bkb3duT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVkaXRNYXN0ZXJMYXlvdXQuTmFtZSA9ICdEb2N1bWVudEhlYWRlckFuZEZvb3RlclRlbXBsYXRlSURfR1VJRCc7XHJcbiAgICAgIHRoaXMuRWRpdE1hc3RlckxheW91dC5MYWJlbEtleSA9ICdNYXN0ZXJMYXlvdXQnO1xyXG4gICAgICB0aGlzLkVkaXRNYXN0ZXJMYXlvdXQuRGF0YVNvdXJjZSA9IHRoaXMuTWFzdGVyTGF5b3V0TGlzdDtcclxuICAgICAgdGhpcy5FZGl0TWFzdGVyTGF5b3V0LlNpbmdsZVNlbGVjdGlvbiA9IHRydWU7XHJcbiAgICAgIHRoaXMuRWRpdE1hc3RlckxheW91dC5BbGxvd1NlYXJjaEZpbHRlciA9IHRydWU7XHJcbiAgICAgIHRoaXMuRWRpdE1hc3RlckxheW91dC5QbGFjZWhvbGRlciA9ICcnO1xyXG4gICAgICB0aGlzLkVkaXRNYXN0ZXJMYXlvdXQuSXNSZXF1aXJlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuRWRpdE1hc3RlckxheW91dC5TZWxlY3RlZEl0ZW1zID1cclxuICAgICAgICB0ZW1wbGF0ZS5kb2N1bWVudEhlYWRlckFuZEZvb3RlclRlbXBsYXRlSURfR1VJRD8udG9Mb3dlckNhc2UoKTtcclxuXHJcbiAgICAgIHRoaXMuRWRpdENhdGVnb3J5ID0gbmV3IERyb3Bkb3duT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkVkaXRDYXRlZ29yeS5OYW1lID0gJ0NhdGVnb3J5SXRlbUlEX0dVSUQnO1xyXG4gICAgICB0aGlzLkVkaXRDYXRlZ29yeS5MYWJlbEtleSA9ICdDYXRlZ29yeSc7XHJcbiAgICAgIHRoaXMuRWRpdENhdGVnb3J5LkRhdGFTb3VyY2UgPSB0aGlzLkNhdGVnb3J5TGlzdDtcclxuICAgICAgdGhpcy5FZGl0Q2F0ZWdvcnkuU2luZ2xlU2VsZWN0aW9uID0gdHJ1ZTtcclxuICAgICAgdGhpcy5FZGl0Q2F0ZWdvcnkuQWxsb3dTZWFyY2hGaWx0ZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLkVkaXRDYXRlZ29yeS5QbGFjZWhvbGRlciA9ICcnO1xyXG4gICAgICB0aGlzLkVkaXRDYXRlZ29yeS5Jc1JlcXVpcmVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5FZGl0Q2F0ZWdvcnkuU2VsZWN0ZWRJdGVtcyA9dGVtcGxhdGUuY2F0ZWdvcnlJdGVtSURfR1VJRD8udG9Mb3dlckNhc2UoKTtcclxuXHJcblxyXG4gICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuKEVkaXRUZW1wbGF0ZU1vZGFsKTtcclxuICAgICAgdGhpcy51dGlsaXR5U2VydmljZS5zdG9wQmxvY2tVSSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGdldEVkaXRUZW1wbGF0ZU1vZGVsID0gKCkgPT4ge1xyXG4gICAgbGV0IHBhcmFtQXJyYXk6IGFueVtdID0gW107XHJcbiAgICBsZXQgUmVzdWx0TW9kZWwgPSB0aGlzLkVkaXRUZW1wbGF0ZUZvcm0udmFsdWUgYXMgYW55O1xyXG4gICAgbGV0IEVkaXRNb2RlbCA9IG5ldyBEb2N1bWVudFRlbXBsYXRlRFRPKCk7XHJcbiAgICBFZGl0TW9kZWwuSURfR1VJRCA9IHRoaXMuVGVtcGxhdGVJZDtcclxuICAgIEVkaXRNb2RlbC5OYW1lLkFyYWJpYyA9IFJlc3VsdE1vZGVsLk5hbWUuQXJhYmljO1xyXG4gICAgRWRpdE1vZGVsLk5hbWUuRW5nbGlzaCA9IFJlc3VsdE1vZGVsLk5hbWUuRW5nbGlzaDtcclxuICAgIEVkaXRNb2RlbC5TeXNOYW1lID0gUmVzdWx0TW9kZWwuU3lzTmFtZTtcclxuICAgIEVkaXRNb2RlbC5Eb2N1bWVudEhlYWRlckFuZEZvb3RlclRlbXBsYXRlSURfR1VJRCA9IFJlc3VsdE1vZGVsLkRvY3VtZW50SGVhZGVyQW5kRm9vdGVyVGVtcGxhdGVJRF9HVUlEO1xyXG4gICAgRWRpdE1vZGVsLkRlc2NyaXB0aW9uLkVuZ2xpc2ggPSBSZXN1bHRNb2RlbC5EZXNjcmlwdGlvbi5FbmdsaXNoO1xyXG4gICAgRWRpdE1vZGVsLkRlc2NyaXB0aW9uLkFyYWJpYyA9IFJlc3VsdE1vZGVsLkRlc2NyaXB0aW9uLkFyYWJpYztcclxuICAgIEVkaXRNb2RlbC5Pcmdhbml6YXRpb25JRF9HVUlEID0gUmVzdWx0TW9kZWwuT3JnYW5pemF0aW9uSURfR1VJRDtcclxuICAgIEVkaXRNb2RlbC5DYXRlZ29yeUl0ZW1JRF9HVUlEID0gUmVzdWx0TW9kZWwuQ2F0ZWdvcnlJdGVtSURfR1VJRDtcclxuXHJcbiAgICBwYXJhbUFycmF5LnB1c2goRWRpdE1vZGVsKTtcclxuICAgIHJldHVybiBwYXJhbUFycmF5O1xyXG4gIH07XHJcblxyXG4gIGdldEVkaXRUZW1wbGF0ZUZ1bmN0aW9uID0gKEVkaXRNb2RlbCk6IE9ic2VydmFibGU8YW55PiA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZVNlcnZpY2UuZWRpdERvY3VtZW50VGVtcGxhdGUoRWRpdE1vZGVsKTtcclxuICB9O1xyXG5cclxuICAvL0RlbGV0ZSBUZW1wbGF0ZVxyXG4gIHNob3dEZWxldGVFbWFpbFRlbXBsYXRlTW9kYWwodGVtcGxhdGVJRDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmRlbGV0ZWRUZW1wbGF0ZUlkID0gdGVtcGxhdGVJRDtcclxuICAgIC8vYXJyYXkgc2VudCB0byBzZXJ2aWNlIGZ1bmN0aW9uXHJcbiAgICBsZXQgcGFyYW1BcnJheTogYW55W10gPSBbXTtcclxuICAgIHBhcmFtQXJyYXkucHVzaCh0aGlzLmRlbGV0ZWRUZW1wbGF0ZUlkKTtcclxuICAgIHRoaXMuRGVsZXRlQ29uZmlybWF0aW9uT3B0aW9ucyA9IG5ldyBDb25maXJtYXRpb25Nb2RhbE9wdGlvbnMoKTtcclxuICAgIHRoaXMuRGVsZXRlQ29uZmlybWF0aW9uT3B0aW9ucy5TZXJ2aWNlU3VibWl0RnVuY3Rpb24gPSB0aGlzLmRlbGV0ZUVtYWlsVGVtcGxhdGU7XHJcbiAgICB0aGlzLkRlbGV0ZUNvbmZpcm1hdGlvbk9wdGlvbnMuU2VydmljZVN1Ym1pdE1vZGVsID0gcGFyYW1BcnJheTtcclxuICAgIHRoaXMuRGVsZXRlQ29uZmlybWF0aW9uT3B0aW9ucy5QYWdpbmdSZWZlcmVuY2UgPSB0aGlzLnBhZ2luZ0VsZW1lbnQ7XHJcbiAgICB0aGlzLmRlbGV0ZUNvbnRyb2xMb2FkZWQgPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuQ29uZmlybWF0aW9uTW9kYWxDb250cm9sLnNob3dNb2RhbCgpO1xyXG4gICAgfSwgMjAwKTtcclxuICB9XHJcbiAgZGVsZXRlRW1haWxUZW1wbGF0ZSA9IChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgIHJldHVybiB0aGlzLnRlbXBsYXRlU2VydmljZS5kZWxldGVUZW1wbGF0ZShpZCk7XHJcbiAgfTtcclxuXHJcbiAgLy9HZW5lcmF0ZSBjb2RlXHJcbiAgc2hvd0dlbmVyYXRlQ29kZUFsbE1vZGFsKEdlbmVyYXRlQ29kZU1vZGFsKSB7XHJcbiAgICB0aGlzLnRlbXBsYXRlU2VydmljZS5nZW5lcmF0ZUNvZGVBbGwoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICB2YXIgVmFsdWUgPSByZXN1bHQgYXMgYW55O1xyXG4gICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhID0gbmV3IFRleHRBcmVhT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLk5hbWUgPSAnR2VuZXJhdGVDb2RlVGV4dEFyZWEnO1xyXG4gICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLlZhbHVlID0gVmFsdWUudmFsLnRvU3RyaW5nKCk7XHJcbiAgICAgIHRoaXMuVmFsdWVUb0NvcHkgPSBWYWx1ZS52YWwudG9TdHJpbmcoKTtcclxuICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5Jc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5IaWRlTGFiZWwgPSB0cnVlO1xyXG4gICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLlJvd3MgPSAyMDtcclxuICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5Db2xzID0gMjA7XHJcbiAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEuTWF4TGVuZ3RoID0gMTAwMDAwMDtcclxuICAgICAgdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihHZW5lcmF0ZUNvZGVNb2RhbCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgc2hvd0dlbmVyYXRlQWxsVXBkYXRlQ29kZU1vZGFsKEdlbmVyYXRlQ29kZU1vZGFsKSB7XHJcbiAgICB0aGlzLnRlbXBsYXRlU2VydmljZS5nZW5lcmF0ZUFsbFVwZGF0ZUNvZGUoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICB2YXIgVmFsdWUgPSByZXN1bHQgYXMgYW55O1xyXG4gICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhID0gbmV3IFRleHRBcmVhT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLk5hbWUgPSAnR2VuZXJhdGVDb2RlVGV4dEFyZWEnO1xyXG4gICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLlZhbHVlID0gVmFsdWUudmFsLnRvU3RyaW5nKCk7XHJcbiAgICAgIHRoaXMuVmFsdWVUb0NvcHkgPSBWYWx1ZS52YWwudG9TdHJpbmcoKTtcclxuICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5Jc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5IaWRlTGFiZWwgPSB0cnVlO1xyXG4gICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLlJvd3MgPSAyMDtcclxuICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5Db2xzID0gMjA7XHJcbiAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEuTWF4TGVuZ3RoID0gMTAwMDAwMDtcclxuICAgICAgdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihHZW5lcmF0ZUNvZGVNb2RhbCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgc2hvd0dlbmVyYXRTeXNOYW1lTW9kYWwoR2VuZXJhdGVDb2RlTW9kYWwpIHtcclxuICAgIHRoaXMudGVtcGxhdGVTZXJ2aWNlLmdlbmVyYXRlU3lzTmFtZXMoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICB2YXIgVmFsdWUgPSByZXN1bHQgYXMgYW55O1xyXG4gICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhID0gbmV3IFRleHRBcmVhT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLk5hbWUgPSAnR2VuZXJhdGVDb2RlVGV4dEFyZWEnO1xyXG4gICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLlZhbHVlID0gVmFsdWUudmFsLnRvU3RyaW5nKCk7XHJcbiAgICAgIHRoaXMuVmFsdWVUb0NvcHkgPSBWYWx1ZS52YWwudG9TdHJpbmcoKTtcclxuICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5Jc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5IaWRlTGFiZWwgPSB0cnVlO1xyXG4gICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLlJvd3MgPSAyMDtcclxuICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5Db2xzID0gMjA7XHJcbiAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEuTWF4TGVuZ3RoID0gMTAwMDAwMDtcclxuICAgICAgdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihHZW5lcmF0ZUNvZGVNb2RhbCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNob3dHZW5lcmF0ZUNvZGVCeUlkTW9kYWwodGVtcGxhdGVJRDogc3RyaW5nLCBHZW5lcmF0ZUNvZGVNb2RhbCkge1xyXG4gICAgdGhpcy50ZW1wbGF0ZVNlcnZpY2UuZ2VuZXJhdGVDb2RlQnlJZCh0ZW1wbGF0ZUlEKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICB2YXIgVmFsdWUgPSByZXN1bHQgYXMgYW55O1xyXG4gICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhID0gbmV3IFRleHRBcmVhT3B0aW9ucygpO1xyXG4gICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLk5hbWUgPSAnR2VuZXJhdGVDb2RlVGV4dEFyZWEnO1xyXG4gICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLlZhbHVlID0gVmFsdWUudmFsLnRvU3RyaW5nKCk7XHJcbiAgICAgIHRoaXMuVmFsdWVUb0NvcHkgPSBWYWx1ZS52YWwudG9TdHJpbmcoKTtcclxuICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5Jc0Rpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5IaWRlTGFiZWwgPSB0cnVlO1xyXG4gICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLlJvd3MgPSAyMDtcclxuICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5Db2xzID0gMjA7XHJcbiAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEuTWF4TGVuZ3RoID0gMTAwMDAwMDtcclxuICAgICAgdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihHZW5lcmF0ZUNvZGVNb2RhbCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgc2hvd0dlbmVyYXRlVXBkYXRlQ29kZUJ5SWRNb2RhbCh0ZW1wbGF0ZUlEOiBzdHJpbmcsIEdlbmVyYXRlQ29kZU1vZGFsKSB7XHJcbiAgICB0aGlzLnRlbXBsYXRlU2VydmljZVxyXG4gICAgICAuZ2VuZXJhdGVVcGRhdGVDb2RlQnlJZCh0ZW1wbGF0ZUlEKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICB2YXIgVmFsdWUgPSByZXN1bHQgYXMgYW55O1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEgPSBuZXcgVGV4dEFyZWFPcHRpb25zKCk7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5OYW1lID0gJ0dlbmVyYXRlQ29kZVRleHRBcmVhJztcclxuICAgICAgICB0aGlzLkdlbmVyYXRlQ29kZVRleHRBcmVhLlZhbHVlID0gVmFsdWUudmFsLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgdGhpcy5WYWx1ZVRvQ29weSA9IFZhbHVlLnZhbC50b1N0cmluZygpO1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEuSXNEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5HZW5lcmF0ZUNvZGVUZXh0QXJlYS5IaWRlTGFiZWwgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEuUm93cyA9IDIwO1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEuQ29scyA9IDIwO1xyXG4gICAgICAgIHRoaXMuR2VuZXJhdGVDb2RlVGV4dEFyZWEuTWF4TGVuZ3RoID0gMTAwMDAwMDtcclxuICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuKEdlbmVyYXRlQ29kZU1vZGFsKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIGNvcHlJbnB1dE1lc3NhZ2UoKSB7XHJcbiAgICB0aGlzLl9jbGlwYm9hcmRTZXJ2aWNlLmNvcHkodGhpcy5WYWx1ZVRvQ29weS50b1N0cmluZygpKTtcclxuICB9XHJcblxyXG4gIC8vT24gZGVzdHJveVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXF1ZXN0SGFuZGxlclNlcnZpY2UuZGVzdHJveUhhbmRsZXIoKTtcclxuICB9XHJcbn1cclxuIiwiPGJsb2NrLXVpPjwvYmxvY2stdWk+XHJcbjwhLS0gUGFnZSBDb250ZW50IC0tPlxyXG48ZGl2ICpuZ0lmPVwiU2hvd1BhZ2VDb250ZW50XCIgY2xhc3M9XCJjb250YWluZXItZmx1aWRcIj5cclxuICA8ZGl2IGNsYXNzPVwiY2FyZCBjYXJkLWN1c3RvbS1oXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtNVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiICpuZ0lmPVwiSXNGaWx0ZXJMb2FkZWRcIj5cclxuICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cIlRlbXBsYXRlRm9ybVwiPlxyXG4gICAgICAgICAgPCEtLShPbkNoYW5nZSk9XCJzZWFyY2hDbGllbnRTaWRlKCRldmVudClcIiAtLT5cclxuICAgICAgICAgIDxCQlNGLVRleHRCb3ggW29wdGlvbnNdPVwic2VhcmNoVGV4dEJveFwiIFtncm91cF09XCJUZW1wbGF0ZUZvcm1cIj48L0JCU0YtVGV4dEJveD5cclxuICAgICAgICA8L2Zvcm0+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgPCEtLSBiZWdpbjo6TWVudSAtLT5cclxuICAgICAgICA8ZGl2IG5nYkRyb3Bkb3duIGNsYXNzPVwiZC1pbmxpbmUtYmxvY2tcIiBbbmdTdHlsZV09XCJ7J2Rpc3BsYXknOiBTaG93UGFnZUNvbnRlbnQ9PXRydWU/J2Jsb2NrJzonbm9uZSd9XCI+XHJcbiAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJsb2FkTGlzdHMoKVwiIG5nYkRyb3Bkb3duVG9nZ2xlIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1saWdodC1wcmltYXJ5IG1lLTNcIiBpZD1cIkZpbHRlcnNEcm9wZG93blwiIHRpdGxlPVwiRmlsdGVyXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWZpbHRlciBtZS0xXCI+PC9pPlxyXG4gICAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJGaWx0ZXJcIil9fVxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiSXNGaWx0ZXJMb2FkZWRcIiBuZ2JEcm9wZG93bk1lbnUgYXJpYS1sYWJlbGxlZGJ5PVwiRmlsdGVyc0Ryb3Bkb3duXCIgY2xhc3M9XCIgZmlsdGVyLWNvbnRhaW5lciBtZW51IG1lbnUtc3ViIG1lbnUtc3ViLWRyb3Bkb3duIG1lbnUtY29sdW1uIG1lbnUtcm91bmRlZCBtZW51LWdyYXktODAwIG1lbnUtc3RhdGUtYmctbGlnaHQtcHJpbWFyeSAgdy0yNTBweCB3LW1kLTUwMHB4IGZ3LWJvbGQgcHktMyBcIj5cclxuICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJUZW1wbGF0ZUZvcm1cIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHgtNyBweS01XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItMTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxCQlNGLURyb3Bkb3duTGlzdCAjY2F0ZWdvcmllc0RETCBbb3B0aW9uc109XCJDYXRlZ29yeU9wdGlvbnNcIiBbZ3JvdXBdPVwiVGVtcGxhdGVGb3JtXCI+PC9CQlNGLURyb3Bkb3duTGlzdD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBidG4tYWN0aXZlLWxpZ2h0LXByaW1hcnkgcHYtcmVzZXQgYnRuLXNtXCIgbmFtZT1cInRlbXBsYXRlc0ZpbHRlcnNCdG5cIj5cclxuICAgICAgICAgICAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJSZXNldFwiKX19XHJcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxidXR0b24gaWQ9XCJidG5TZXRQYXNzXCIgY2xhc3M9XCJidG4gYnRuLWxpZ2h0LXByaW1hcnkgYnRuLXNtIG1lLTNcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dHZW5lcmF0ZUNvZGVBbGxNb2RhbChHZW5lcmF0ZUNvZGVNb2RhbClcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEta2V5XCI+PC9pPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkdlbmVyYXRlQ29kZVwiKX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBpZD1cImJ0blNldFBhc3NcIiBjbGFzcz1cImJ0biBidG4tbGlnaHQtcHJpbWFyeSBidG4tc20gbWUtM1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd0dlbmVyYXRlQWxsVXBkYXRlQ29kZU1vZGFsKEdlbmVyYXRlQ29kZU1vZGFsKVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1rZXlcIj48L2k+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiR2VuZXJhdGVVcGRhdGVDb2RlXCIpfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGlkPVwiYnRuU2V0UGFzc1wiIGNsYXNzPVwiYnRuIGJ0bi1saWdodC1wcmltYXJ5IGJ0bi1zbSBtZS0zXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93R2VuZXJhdFN5c05hbWVNb2RhbChHZW5lcmF0ZUNvZGVNb2RhbClcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEta2V5XCI+PC9pPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkdlbmVyYXRlU3lzTmFtZVwiKX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgdGl0bGU9XCJBZGRcIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwic2hvd0FkZFRlbXBsYXRlTW9kYWwoQWRkVGVtcGxhdGVNb2RhbClcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwia3QtbmF2X19saW5rLWljb24gZmEgZmEtcGx1c1wiPjwvaT5cclxuICAgICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkFkZFwiKX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcblxyXG5cclxuICAgICAgICA8IS0tIGVuZDo6TWVudSAtLT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS0gZW5kOjpIZWFkZXIgLS0+XHJcbiAgICA8IS0tIGJlZ2luOjpCb2R5IC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS0zXCI+XHJcbiAgICAgIDwhLS0gYmVnaW46OlRhYmxlIC0tPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZVwiPlxyXG4gICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIGFsaWduLW1pZGRsZSB0YWJsZS1yb3ctZGFzaGVkIGZzLTYgZ3ktNSBkYXRhVGFibGUgbm8tZm9vdGVyXCI+XHJcbiAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgIDx0ciBjbGFzcz1cInRleHQtc3RhcnQgdGV4dC1ncmF5LTQwMCBmdy1ib2xkZXIgZnMtNyB0ZXh0LXVwcGVyY2FzZSBncy0wXCI+XHJcbiAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibXctMTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJOYW1lXCIpfX08L3RoPlxyXG4gICAgICAgICAgICAgIDx0aCBjbGFzcz1cIm13LTE1MHB4XCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiRGVzY3JpcHRpb25cIil9fTwvdGg+XHJcbiAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibXctMTUwcHhcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJDYXRlZ29yeVwiKX19PC90aD5cclxuICAgICAgICAgICAgICA8dGggY2xhc3M9XCJtdy0xNTBweFwiICpuZ0lmPVwiIVByb2R1Y3Rpb25Nb2RlXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiU3lzTmFtZVwiKX19PC90aD5cclxuICAgICAgICAgICAgICA8dGggY2xhc3M9XCJtdy01MHB4XCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiQWN0aW9uXCIpfX08L3RoPlxyXG4gICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgIDx0Ym9keSBpZD1cImxpc3RpbmdDb250YWluZXJcIiBjbGFzcz1cImZ3LWJvbGQgdGV4dC1ncmF5LTYwMCBib3JkZXItMFwiPlxyXG4gICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IFRlbXBsYXRlIG9mIGNsaWVudFNpZGVQYWdpbmdSZXN1bHRcIj5cclxuICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgW3JvdXRlckxpbmtdPVwiWycvQWRtaW4vRG9jdW1lbnRzL1RlbXBsYXRlSW5mbycsVGVtcGxhdGUuaURfR1VJRF1cIiByb3V0ZXJMaW5rQWN0aXZlPVwicm91dGVyLWxpbmstYWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1kYXJrXCI+e3tUZW1wbGF0ZS5uYW1lU3RyfX08L2E+XHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICA8dGQ+e3tUZW1wbGF0ZS5kZXNjcmlwdGlvblN0cn19PC90ZD5cclxuICAgICAgICAgICAgICA8dGQ+e3tUZW1wbGF0ZS5jYXRlZ29yeUl0ZW1OYW1lU3RyfX08L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZCAqbmdJZj1cIiFQcm9kdWN0aW9uTW9kZVwiPnt7VGVtcGxhdGUuc3lzTmFtZX19PC90ZD5cclxuICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLWljb24gYnRuLWxpZ2h0IGJ0bi1hY3RpdmUtbGlnaHQtcHJpbWFyeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZWxsaXBzaXMtaFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBuZ2JEcm9wZG93bkl0ZW0gY2xhc3M9XCJkcm9wLWl0ZW0gcHgtM1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd0VkaXRUZW1wbGF0ZU1vZGFsKFRlbXBsYXRlLmlEX0dVSUQsRWRpdFRlbXBsYXRlTW9kYWwpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRyb3AtbGluayBweC0zXCI+IHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkVkaXRcIil9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBuZ2JEcm9wZG93bkl0ZW0gY2xhc3M9XCJkcm9wLWl0ZW0gcHgtM1wiIGlkPVwiYnRuUmVzZXRQYXNzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzaG93R2VuZXJhdGVDb2RlQnlJZE1vZGFsKFRlbXBsYXRlLmlEX0dVSUQsR2VuZXJhdGVDb2RlTW9kYWwpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRyb3AtbGluayBweC0zXCI+IHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkdlbmVyYXRlQ29kZVwiKX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gbmdiRHJvcGRvd25JdGVtIGNsYXNzPVwiZHJvcC1pdGVtIHB4LTNcIiBpZD1cImJ0blJlc2V0UGFzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd0RlbGV0ZUVtYWlsVGVtcGxhdGVNb2RhbChUZW1wbGF0ZS5pRF9HVUlEKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkcm9wLWxpbmsgcHgtM1wiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkRlbGV0ZVwiKX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L21hdC1tZW51PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDx0ciAqbmdJZj1cImNsaWVudFNpZGVQYWdpbmdSZXN1bHQubGVuZ3RoID09IDBcIj5cclxuICAgICAgICAgICAgICA8dGQgW2F0dHIuY29sc3Bhbl09XCJQcm9kdWN0aW9uTW9kZSA/ICc1JyA6ICc2J1wiPlxyXG4gICAgICAgICAgICAgICAgPGxpYi1lbXB0eS1kYXRhPjwvbGliLWVtcHR5LWRhdGE+XHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgPC90YWJsZT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWZvb3RlciBib3JkZXItMFwiPlxyXG4gICAgICA8QkJTRi1QYWdpbmcgKEl0ZW1zKT1cInNldFRlbXBsYXRlTGlzdFJlc3VsdCgkZXZlbnQpXCIgKm5nSWY9XCJJc0ZpbHRlckxvYWRlZFwiXHJcbiAgICAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJUZW1wbGF0ZVBhZ2luZ1wiIFtncm91cF09XCJUZW1wbGF0ZUZvcm1cIiAjVGVtcGxhdGVQYWdpbmdWaWV3RWxlbWVudD5cclxuICAgICAgPC9CQlNGLVBhZ2luZz5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjwhLS1hZGQgTW9kYWwtLT5cclxuPG5nLXRlbXBsYXRlICNBZGRUZW1wbGF0ZU1vZGFsIGxldC1tb2RhbD5cclxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyIHBiLTAgYm9yZGVyLTAganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIiBpZD1cImV4YW1wbGVNb2RhbExhYmVsXCI+PC9oNT5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1pY29uIGJ0bi1hY3RpdmUtY29sb3ItcHJpbWFyeVwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xXCI+XHJcbiAgICAgICAgPHNwYW4gW2lubGluZVNWR109XCInLi9zcmMvYXNzZXRzL2ltYWdlcy9hcnIwNjEuc3ZnJ1wiPjwvc3Bhbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgc2Nyb2xsLXkgcHgtMTAgcHgtbGctMTUgcHQtMCBwYi0xNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1iLTEzIHRleHQtY2VudGVyXCI+XHJcbiAgICAgIDxoMSBjbGFzcz1cIm1iLTNcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJBZGRcIil9fSB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJUZW1wbGF0ZVwiKX19PC9oMT5cclxuICAgIDwvZGl2PlxyXG4gICAgPEJCU0YtRm9ybSBbb3B0aW9uc109XCJBZGRUZW1wbGF0ZUZvcm1PcHRpb25zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICA8QkJTRi1NdWx0aUxpbmd1YWxUZXh0Qm94IFtvcHRpb25zXT1cIkFkZE5hbWVcIiBbZ3JvdXBdPVwiQWRkVGVtcGxhdGVGb3JtXCI+PC9CQlNGLU11bHRpTGluZ3VhbFRleHRCb3g+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICA8QkJTRi1NdWx0aUxpbmd1YWxUZXh0QXJlYSBbb3B0aW9uc109XCJBZGREZXNjcmlwdGlvblwiIFtncm91cF09XCJBZGRUZW1wbGF0ZUZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1NdWx0aUxpbmd1YWxUZXh0QXJlYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdJZj1cIiFQcm9kdWN0aW9uTW9kZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLVRleHRCb3ggW29wdGlvbnNdPVwiQWRkU3lzTmFtZVwiIFtncm91cF09XCJBZGRUZW1wbGF0ZUZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLURyb3Bkb3duTGlzdCBbb3B0aW9uc109XCJBZGRPcmdhbml6YXRpb25cIiBbZ3JvdXBdPVwiQWRkVGVtcGxhdGVGb3JtXCI+XHJcbiAgICAgICAgICA8L0JCU0YtRHJvcGRvd25MaXN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLURyb3Bkb3duTGlzdCBbb3B0aW9uc109XCJBZGRDYXRlZ29yeVwiIFtncm91cF09XCJBZGRUZW1wbGF0ZUZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1Ecm9wZG93bkxpc3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPEJCU0YtRHJvcGRvd25MaXN0IFtvcHRpb25zXT1cIkFkZE1hc3RlckxheW91dFwiIFtncm91cF09XCJBZGRUZW1wbGF0ZUZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1Ecm9wZG93bkxpc3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBwdC03XCI+XHJcbiAgICAgICAgPGJ1dHRvbiAjQ2xvc2VUZW1wbGF0ZU1vZGFsIGlkPVwiQ2xvc2VUZW1wbGF0ZU1vZGFsXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBtZS0zIGJ0bi1zbVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+XHJcbiAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJDYW5jZWxMYWJlbFwiKX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiU2F2ZUxhYmVsXCIpfX08L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9CQlNGLUZvcm0+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48IS0tIGVkaXQgTW9kYWwgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjRWRpdFRlbXBsYXRlTW9kYWwgbGV0LW1vZGFsPlxyXG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXIgcGItMCBib3JkZXItMCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZVwiIGlkPVwiZXhhbXBsZU1vZGFsTGFiZWxcIj48L2g1PlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgZGF0YS1kaXNtaXNzPVwibW9kYWxcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLWljb24gYnRuLWFjdGl2ZS1jb2xvci1wcmltYXJ5XCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTFcIj5cclxuICAgICAgICA8c3BhbiBbaW5saW5lU1ZHXT1cIicuL3NyYy9hc3NldHMvaW1hZ2VzL2FycjA2MS5zdmcnXCI+PC9zcGFuPlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBzY3JvbGwteSBweC0xMCBweC1sZy0xNSBwdC0wIHBiLTE1XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWItMTMgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgPGgxIGNsYXNzPVwibWItM1wiPnt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkVkaXRcIil9fSB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJUZW1wbGF0ZVwiKX19PC9oMT5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxCQlNGLUZvcm0gW29wdGlvbnNdPVwiRWRpdFRlbXBsYXRlRm9ybU9wdGlvbnNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLU11bHRpTGluZ3VhbFRleHRCb3ggW29wdGlvbnNdPVwiRWRpdE5hbWVcIiBbZ3JvdXBdPVwiRWRpdFRlbXBsYXRlRm9ybVwiPjwvQkJTRi1NdWx0aUxpbmd1YWxUZXh0Qm94PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLU11bHRpTGluZ3VhbFRleHRBcmVhIFtvcHRpb25zXT1cIkVkaXREZXNjcmlwdGlvblwiIFtncm91cF09XCJFZGl0VGVtcGxhdGVGb3JtXCI+XHJcbiAgICAgICAgICA8L0JCU0YtTXVsdGlMaW5ndWFsVGV4dEFyZWE+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCIgKm5nSWY9XCIhUHJvZHVjdGlvbk1vZGVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICA8QkJTRi1UZXh0Qm94IFtvcHRpb25zXT1cIkVkaXRTeXNOYW1lXCIgW2dyb3VwXT1cIkVkaXRUZW1wbGF0ZUZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1UZXh0Qm94PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLURyb3Bkb3duTGlzdCBbb3B0aW9uc109XCJFZGl0T3JnYW5pemF0aW9uXCIgW2dyb3VwXT1cIkVkaXRUZW1wbGF0ZUZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1Ecm9wZG93bkxpc3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgPEJCU0YtRHJvcGRvd25MaXN0IFtvcHRpb25zXT1cIkVkaXRDYXRlZ29yeVwiIFtncm91cF09XCJFZGl0VGVtcGxhdGVGb3JtXCI+XHJcbiAgICAgICAgICA8L0JCU0YtRHJvcGRvd25MaXN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICAgICAgICAgIDxCQlNGLURyb3Bkb3duTGlzdCBbb3B0aW9uc109XCJFZGl0TWFzdGVyTGF5b3V0XCIgW2dyb3VwXT1cIkVkaXRUZW1wbGF0ZUZvcm1cIj5cclxuICAgICAgICAgIDwvQkJTRi1Ecm9wZG93bkxpc3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgcHQtN1wiPlxyXG4gICAgICAgIDxidXR0b24gI0Nsb3NlRWRpdFRlbXBsYXRlTW9kYWwgaWQ9XCJDbG9zZUVkaXRUZW1wbGF0ZU1vZGFsXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBtZS0zIGJ0bi1zbVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+XHJcbiAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJDYW5jZWxMYWJlbFwiKX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLXNtXCI+e3t1dGlsaXR5U2VydmljZS5nZXRSZXNvdXJjZVZhbHVlKFwiU2F2ZUxhYmVsXCIpfX08L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L0JCU0YtRm9ybT5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwhLS0gR2VuZXJhdGVDb2RlIE1vZGFsIC0tPlxyXG48bmctdGVtcGxhdGUgI0dlbmVyYXRlQ29kZU1vZGFsIGxldC1tb2RhbD5cclxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyIHBiLTAgYm9yZGVyLTAganVzdGlmeS1jb250ZW50LWVuZFwiPlxyXG4gICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIiBpZD1cImV4YW1wbGVNb2RhbExhYmVsXCI+PC9oNT5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGRhdGEtZGlzbWlzcz1cIm1vZGFsXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1pY29uIGJ0bi1hY3RpdmUtY29sb3ItcHJpbWFyeVwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xXCI+XHJcbiAgICAgICAgPHNwYW4gW2lubGluZVNWR109XCInLi9zcmMvYXNzZXRzL2ltYWdlcy9hcnIwNjEuc3ZnJ1wiPjwvc3Bhbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgc2Nyb2xsLXkgcHgtMTAgcHgtbGctMTUgcHQtMCBwYi0xNVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1iLTEzIHRleHQtY2VudGVyXCI+XHJcbiAgICAgIDxoMSBjbGFzcz1cIm1iLTNcIj57e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJHZW5lcmF0ZUNvZGVcIil9fTwvaDE+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiR2VuZXJhdGVDb2RlRm9ybVwiPlxyXG4gICAgICA8QkJTRi1UZXh0QXJlYSBbb3B0aW9uc109XCJHZW5lcmF0ZUNvZGVUZXh0QXJlYVwiIFtncm91cF09XCJHZW5lcmF0ZUNvZGVGb3JtXCIgI0dlbmVyYXRlQ29kZUlucHV0PlxyXG4gICAgICA8L0JCU0YtVGV4dEFyZWE+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBwdC03XCI+XHJcbiAgICAgICAgPGJ1dHRvbiAjQ2xvc2VHZW5lcmF0ZUNvZGVNb2RhbCBpZD1cIkNsb3NlR2VuZXJhdGVDb2RlTW9kYWxcIiB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saWdodCBidG4tc20gbWUtMyBcIiBkYXRhLWRpc21pc3M9XCJtb2RhbFwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5cclxuICAgICAgICAgIHt7dXRpbGl0eVNlcnZpY2UuZ2V0UmVzb3VyY2VWYWx1ZShcIkNhbmNlbExhYmVsXCIpfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc21cIiAoY2xpY2spPVwiY29weUlucHV0TWVzc2FnZSgpXCI+XHJcbiAgICAgICAgICB7e3V0aWxpdHlTZXJ2aWNlLmdldFJlc291cmNlVmFsdWUoXCJDb3B5VG9DbGlwYm9hcmRcIil9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Zvcm0+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48IS0tZGVsZXRlIE1vZGFsLS0+XHJcbjxCQlNGLUNvbmZpcm1hdGlvbk1vZGFsICpuZ0lmPVwiZGVsZXRlQ29udHJvbExvYWRlZFwiIFtvcHRpb25zXT1cIkRlbGV0ZUNvbmZpcm1hdGlvbk9wdGlvbnNcIiBpZD1cIkNvbmZpcm1hdGlvbk1vZGFsQ29udHJvbFwiICNDb25maXJtYXRpb25Nb2RhbENvbnRyb2w+PC9CQlNGLUNvbmZpcm1hdGlvbk1vZGFsPlxyXG4iXX0=