@softheon/armature 17.31.4 → 19.0.2

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 (271) hide show
  1. package/assets/styles/_b2c-variables.scss +7 -3
  2. package/assets/styles/_typography.scss +9 -8
  3. package/assets/styles/deprecated/_button-deprecated.scss +225 -225
  4. package/assets/styles/deprecated/_chip-deprecated.scss +57 -57
  5. package/assets/styles/deprecated/_material-override-deprecated.scss +3 -3
  6. package/assets/styles/deprecated/_table-deprecated.scss +3 -3
  7. package/assets/styles/material-override/_button-toggle-group.scss +14 -14
  8. package/assets/styles/material-override/_button.scss +57 -57
  9. package/assets/styles/material-override/_calendar.scss +6 -6
  10. package/assets/styles/material-override/_checkbox.scss +20 -19
  11. package/assets/styles/material-override/_expansion-panel.scss +19 -18
  12. package/assets/styles/material-override/_form-field.scss +14 -14
  13. package/assets/styles/material-override/_menu.scss +2 -2
  14. package/assets/styles/material-override/_radio-button.scss +24 -23
  15. package/assets/styles/material-override/_slider.scss +50 -50
  16. package/assets/styles/material-override/_switch.scss +8 -8
  17. package/assets/styles/material-override/_tooltip.scss +4 -4
  18. package/assets/styles/sof-styles-b2b.scss +3 -3
  19. package/assets/styles/sof-styles.scss +13 -17
  20. package/fesm2022/softheon-armature-ag-grid-components.mjs +20 -20
  21. package/fesm2022/softheon-armature-ag-grid-components.mjs.map +1 -1
  22. package/fesm2022/softheon-armature.mjs +426 -402
  23. package/fesm2022/softheon-armature.mjs.map +1 -1
  24. package/lib/base-components/sof-star-rating/sof-star-rating.component.d.ts +2 -0
  25. package/lib/faq/components/faq/faq.component.d.ts +4 -1
  26. package/lib/mfe/components/entity-base/entity-base.component.d.ts +5 -0
  27. package/lib/navigation/components/navigation/navigation.component.d.ts +1 -1
  28. package/lib/oauth/oauth.module.d.ts +1 -2
  29. package/package.json +15 -19
  30. package/esm2022/ag-grid-components/public-api.mjs +0 -6
  31. package/esm2022/ag-grid-components/softheon-armature-ag-grid-components.mjs +0 -5
  32. package/esm2022/ag-grid-components/src/ag-grid-components.module.mjs +0 -103
  33. package/esm2022/ag-grid-components/src/column-options-modal/column-options.component.mjs +0 -41
  34. package/esm2022/ag-grid-components/src/sof-table/sof-table.component.mjs +0 -526
  35. package/esm2022/ag-grid-components/src/table-cell/table-cell.component.mjs +0 -23
  36. package/esm2022/lib/alert-banner/alert-banner-api.mjs +0 -10
  37. package/esm2022/lib/alert-banner/alert-banner.module.mjs +0 -42
  38. package/esm2022/lib/alert-banner/components/alert-banner/alert-banner.component.mjs +0 -82
  39. package/esm2022/lib/alert-banner/models/alert-banner-config.mjs +0 -2
  40. package/esm2022/lib/alert-banner/models/alert-banner-context.mjs +0 -2
  41. package/esm2022/lib/alert-banner/models/constants.mjs +0 -16
  42. package/esm2022/lib/alert-banner/services/alert-banner.service.mjs +0 -44
  43. package/esm2022/lib/armature.module.mjs +0 -183
  44. package/esm2022/lib/base-components/base-component-api.mjs +0 -23
  45. package/esm2022/lib/base-components/base-component.module.mjs +0 -175
  46. package/esm2022/lib/base-components/confirm-address/sof-confirm-address/compare-address-pipe/compare-address.pipe.mjs +0 -20
  47. package/esm2022/lib/base-components/confirm-address/sof-confirm-address/sof-confirm-address.component.mjs +0 -60
  48. package/esm2022/lib/base-components/confirm-address/sof-confirm-address-county-change/sof-confirm-address-county-change.component.mjs +0 -58
  49. package/esm2022/lib/base-components/sof-alert/sof-alert.component.mjs +0 -79
  50. package/esm2022/lib/base-components/sof-badge/sof-badge.component.mjs +0 -132
  51. package/esm2022/lib/base-components/sof-banner/sof-banner.component.mjs +0 -49
  52. package/esm2022/lib/base-components/sof-bottom-sheet/sof-bottom-sheet.component.mjs +0 -152
  53. package/esm2022/lib/base-components/sof-button-toggle-group/sof-button-toggle-group.component.mjs +0 -182
  54. package/esm2022/lib/base-components/sof-callout/sof-callout.component.mjs +0 -72
  55. package/esm2022/lib/base-components/sof-chip/sof-chip.component.mjs +0 -62
  56. package/esm2022/lib/base-components/sof-context/sof-context.component.mjs +0 -124
  57. package/esm2022/lib/base-components/sof-handle/sof-handle.component.mjs +0 -115
  58. package/esm2022/lib/base-components/sof-image-checkbox/sof-image-checkbox.component.mjs +0 -58
  59. package/esm2022/lib/base-components/sof-input-stepper/sof-input-stepper.component.mjs +0 -179
  60. package/esm2022/lib/base-components/sof-modal/sof-modal.component.mjs +0 -61
  61. package/esm2022/lib/base-components/sof-progress-bar/sof-progress-bar.component.mjs +0 -79
  62. package/esm2022/lib/base-components/sof-radio-card/sof-radio-card.component.mjs +0 -35
  63. package/esm2022/lib/base-components/sof-simple-alert/sof-simple-alert.component.mjs +0 -49
  64. package/esm2022/lib/base-components/sof-star-rating/sof-star-rating.component.mjs +0 -38
  65. package/esm2022/lib/base-components/sof-utility-button/sof-utility-button.component.mjs +0 -62
  66. package/esm2022/lib/component-save-print/components/component-save-print/component-save-print.component.mjs +0 -91
  67. package/esm2022/lib/component-save-print/services/component-save-print.service.mjs +0 -30
  68. package/esm2022/lib/component-save-print/sof-ar-component-save-print.module.mjs +0 -29
  69. package/esm2022/lib/core/client-generated/api/session.service.mjs +0 -242
  70. package/esm2022/lib/core/client-generated/configuration.mjs +0 -59
  71. package/esm2022/lib/core/client-generated/encoder.mjs +0 -17
  72. package/esm2022/lib/core/client-generated/model/applicationUserModel.mjs +0 -20
  73. package/esm2022/lib/core/client-generated/model/assertedUserModel.mjs +0 -2
  74. package/esm2022/lib/core/client-generated/model/brandingModel.mjs +0 -2
  75. package/esm2022/lib/core/client-generated/model/errorModel.mjs +0 -13
  76. package/esm2022/lib/core/client-generated/model/folderLink.mjs +0 -13
  77. package/esm2022/lib/core/client-generated/model/identityProfile.mjs +0 -2
  78. package/esm2022/lib/core/client-generated/model/models.mjs +0 -20
  79. package/esm2022/lib/core/client-generated/model/oAuthModel.mjs +0 -13
  80. package/esm2022/lib/core/client-generated/model/preferencesRow.mjs +0 -13
  81. package/esm2022/lib/core/client-generated/model/rolesRow.mjs +0 -13
  82. package/esm2022/lib/core/client-generated/model/sessionGetResponseModel.mjs +0 -2
  83. package/esm2022/lib/core/client-generated/model/sessionPostRequestModel.mjs +0 -2
  84. package/esm2022/lib/core/client-generated/model/sessionPostResponseModel.mjs +0 -2
  85. package/esm2022/lib/core/client-generated/model/sessionPutRequestModel.mjs +0 -2
  86. package/esm2022/lib/core/client-generated/model/sessionPutResponseModel.mjs +0 -2
  87. package/esm2022/lib/core/client-generated/model/sessionResponseModel.mjs +0 -2
  88. package/esm2022/lib/core/client-generated/model/settingsProfile.mjs +0 -2
  89. package/esm2022/lib/core/client-generated/model/themePaletteColorsModel.mjs +0 -13
  90. package/esm2022/lib/core/client-generated/model/themePaletteModel.mjs +0 -2
  91. package/esm2022/lib/core/client-generated/model/trackingModel.mjs +0 -13
  92. package/esm2022/lib/core/client-generated/model/validationRecordsRow.mjs +0 -13
  93. package/esm2022/lib/core/client-generated/variables.mjs +0 -9
  94. package/esm2022/lib/core/components/app-template/app-template.component.mjs +0 -269
  95. package/esm2022/lib/core/functions/guid.mjs +0 -11
  96. package/esm2022/lib/core/functions/naming-convention.mjs +0 -33
  97. package/esm2022/lib/core/functions/route-to-pre-login-route.mjs +0 -13
  98. package/esm2022/lib/core/initializer/abstract-startup-service.mjs +0 -4
  99. package/esm2022/lib/core/initializer/initializer.service.mjs +0 -302
  100. package/esm2022/lib/core/interceptors/armature-auth-token-append.interceptor.mjs +0 -73
  101. package/esm2022/lib/core/models/base-config.mjs +0 -2
  102. package/esm2022/lib/core/models/constants.mjs +0 -17
  103. package/esm2022/lib/core/models/data-store-config.mjs +0 -4
  104. package/esm2022/lib/core/models/federated-module-config.mjs +0 -2
  105. package/esm2022/lib/core/models/header-config.mjs +0 -2
  106. package/esm2022/lib/core/models/http-verbs.mjs +0 -9
  107. package/esm2022/lib/core/models/nav-panel-config.mjs +0 -2
  108. package/esm2022/lib/core/models/navigation-config.mjs +0 -2
  109. package/esm2022/lib/core/models/oidc-auth-settings.mjs +0 -2
  110. package/esm2022/lib/core/models/route-path.mjs +0 -7
  111. package/esm2022/lib/core/models/session-config.mjs +0 -4
  112. package/esm2022/lib/core/models/styles.mjs +0 -2
  113. package/esm2022/lib/core/models/subdomain-config.mjs +0 -2
  114. package/esm2022/lib/core/models/typed-session.mjs +0 -4
  115. package/esm2022/lib/core/models/user-entity-service-config.mjs +0 -12
  116. package/esm2022/lib/core/services/authorization.service.mjs +0 -175
  117. package/esm2022/lib/core/services/banner.service.mjs +0 -43
  118. package/esm2022/lib/core/services/base-config.service.mjs +0 -32
  119. package/esm2022/lib/core/services/custom-auth-config.service.mjs +0 -4
  120. package/esm2022/lib/core/services/default-config.service.mjs +0 -19
  121. package/esm2022/lib/core/services/federated-module.service.mjs +0 -60
  122. package/esm2022/lib/core/services/session.service.mjs +0 -387
  123. package/esm2022/lib/core/services/user-entity.service.mjs +0 -145
  124. package/esm2022/lib/distributed-cache/client-generated/api/api.mjs +0 -4
  125. package/esm2022/lib/distributed-cache/client-generated/api/cache.service.mjs +0 -213
  126. package/esm2022/lib/distributed-cache/client-generated/configuration.mjs +0 -59
  127. package/esm2022/lib/distributed-cache/client-generated/encoder.mjs +0 -17
  128. package/esm2022/lib/distributed-cache/client-generated/model/cacheExpirationType.mjs +0 -16
  129. package/esm2022/lib/distributed-cache/client-generated/model/createCacheEntryRequestModel.mjs +0 -2
  130. package/esm2022/lib/distributed-cache/client-generated/model/models.mjs +0 -5
  131. package/esm2022/lib/distributed-cache/client-generated/model/retrieveCacheEntryResponseModel.mjs +0 -13
  132. package/esm2022/lib/distributed-cache/client-generated/model/updateCacheEntryRequestModel.mjs +0 -13
  133. package/esm2022/lib/distributed-cache/client-generated/variables.mjs +0 -9
  134. package/esm2022/lib/distributed-cache/distributed-cache-api.mjs +0 -8
  135. package/esm2022/lib/distributed-cache/distributed-cache.module.mjs +0 -38
  136. package/esm2022/lib/distributed-cache/models/constants.mjs +0 -3
  137. package/esm2022/lib/distributed-cache/models/policy-person.mjs +0 -9
  138. package/esm2022/lib/distributed-cache/services/server-cache.service.mjs +0 -48
  139. package/esm2022/lib/error/components/error-common/error-common.component.mjs +0 -25
  140. package/esm2022/lib/error/error-api.mjs +0 -7
  141. package/esm2022/lib/error/error.module.mjs +0 -31
  142. package/esm2022/lib/error/models/error-common-config.mjs +0 -8
  143. package/esm2022/lib/faq/components/faq/faq.component.mjs +0 -40
  144. package/esm2022/lib/faq/faq-api.mjs +0 -8
  145. package/esm2022/lib/faq/faq.module.mjs +0 -41
  146. package/esm2022/lib/faq/models/faq-config.mjs +0 -4
  147. package/esm2022/lib/faq/models/faq.mjs +0 -8
  148. package/esm2022/lib/feedback-tool/components/feedback-tool/feedback-tool.component.mjs +0 -81
  149. package/esm2022/lib/feedback-tool/feedback-tool-api.mjs +0 -5
  150. package/esm2022/lib/feedback-tool/feedback-tool.module.mjs +0 -44
  151. package/esm2022/lib/footer/components/footer/footer.component.mjs +0 -25
  152. package/esm2022/lib/footer/components/site-map/site-map.component.mjs +0 -25
  153. package/esm2022/lib/footer/footer-api.mjs +0 -10
  154. package/esm2022/lib/footer/footer.module.mjs +0 -45
  155. package/esm2022/lib/footer/models/enum/site-map-direction.mjs +0 -15
  156. package/esm2022/lib/footer/models/footer-config.mjs +0 -4
  157. package/esm2022/lib/footer/models/site-map-models.mjs +0 -2
  158. package/esm2022/lib/forms/components/sof-address/sof-address.component.mjs +0 -113
  159. package/esm2022/lib/forms/directives/alphanumeric/alphanumeric.directive.mjs +0 -78
  160. package/esm2022/lib/forms/directives/date-input-filter/date-input-filter.directive.mjs +0 -20
  161. package/esm2022/lib/forms/directives/input-trim/input-trim.directive.mjs +0 -110
  162. package/esm2022/lib/forms/directives/letters-characters/letters-characters.directive.mjs +0 -87
  163. package/esm2022/lib/forms/directives/letters-only/letters-only.directive.mjs +0 -85
  164. package/esm2022/lib/forms/directives/numbers-only/numbers-only.directive.mjs +0 -55
  165. package/esm2022/lib/forms/forms-api.mjs +0 -21
  166. package/esm2022/lib/forms/forms.module.mjs +0 -91
  167. package/esm2022/lib/forms/models/address.mjs +0 -2
  168. package/esm2022/lib/forms/models/constants.mjs +0 -10
  169. package/esm2022/lib/forms/models/county.mjs +0 -2
  170. package/esm2022/lib/forms/models/enums/states.mjs +0 -66
  171. package/esm2022/lib/forms/pipes/phone-format.pipe.mjs +0 -33
  172. package/esm2022/lib/forms/services/alert.service.mjs +0 -167
  173. package/esm2022/lib/header/components/header/header.component.mjs +0 -165
  174. package/esm2022/lib/header/components/mobile-header-menu/mobile-header-menu.component.mjs +0 -39
  175. package/esm2022/lib/header/components/sof-header/menu-prevent-close-directive/menu-prevent-close.directive.mjs +0 -21
  176. package/esm2022/lib/header/components/sof-header/sof-header.component.mjs +0 -158
  177. package/esm2022/lib/header/components/sof-header/user-initials-pipe/user-initials.pipe.mjs +0 -22
  178. package/esm2022/lib/header/header-api.mjs +0 -15
  179. package/esm2022/lib/header/header.module.mjs +0 -90
  180. package/esm2022/lib/header/models/header-auth.settings.mjs +0 -32
  181. package/esm2022/lib/header/models/header-external-links.mjs +0 -2
  182. package/esm2022/lib/header/models/header-language.settings.mjs +0 -2
  183. package/esm2022/lib/header/models/header-theme.settings.mjs +0 -2
  184. package/esm2022/lib/header/models/header.settings.mjs +0 -2
  185. package/esm2022/lib/header/models/mobile-header-nav.settings.mjs +0 -2
  186. package/esm2022/lib/mfe/components/entity-base/entity-base.component.mjs +0 -72
  187. package/esm2022/lib/mfe/components/entity-inject-wrapper/entity-inject-wrapper.component.mjs +0 -83
  188. package/esm2022/lib/mfe/mfe.module.mjs +0 -24
  189. package/esm2022/lib/mfe/models/entity-config-base.mjs +0 -2
  190. package/esm2022/lib/mfe/models/entity-dto.mjs +0 -5
  191. package/esm2022/lib/mfe/services/entity-helper.service.mjs +0 -113
  192. package/esm2022/lib/navigation/components/b2b-nav/b2b-nav.component.mjs +0 -232
  193. package/esm2022/lib/navigation/components/navigation/navigation.component.mjs +0 -560
  194. package/esm2022/lib/navigation/components/sof-breadcrumbs/sof-breadcrumbs-hierarchy/sof-breadcrumbs-hierarchy.component.mjs +0 -60
  195. package/esm2022/lib/navigation/components/sof-breadcrumbs/sof-breadcrumbs-history/sof-breadcrumbs-history.component.mjs +0 -76
  196. package/esm2022/lib/navigation/components/sof-navigation-panel/models/nav-panel-logo.mjs +0 -2
  197. package/esm2022/lib/navigation/components/sof-navigation-panel/models/nav-panel-nodes.mjs +0 -2
  198. package/esm2022/lib/navigation/components/sof-navigation-panel/models/nav-panel-settings.mjs +0 -2
  199. package/esm2022/lib/navigation/components/sof-navigation-panel/sof-nav-panel.component.mjs +0 -105
  200. package/esm2022/lib/navigation/components/sof-sub-navigation/sof-sub-navigation.component.mjs +0 -60
  201. package/esm2022/lib/navigation/components/sof-tabs-navigation/sof-tabs.component.mjs +0 -22
  202. package/esm2022/lib/navigation/models/breadcrumb.mjs +0 -3
  203. package/esm2022/lib/navigation/models/nav-theme.settings.mjs +0 -2
  204. package/esm2022/lib/navigation/models/nav.settings.mjs +0 -2
  205. package/esm2022/lib/navigation/models/navigation.mjs +0 -2
  206. package/esm2022/lib/navigation/navigation-api.mjs +0 -18
  207. package/esm2022/lib/navigation/navigation.module.mjs +0 -139
  208. package/esm2022/lib/oauth/models/constants.mjs +0 -6
  209. package/esm2022/lib/oauth/models/generated/accountManagementAssertionModel.mjs +0 -2
  210. package/esm2022/lib/oauth/models/generated/accountManagementRefreshRequestModel.mjs +0 -2
  211. package/esm2022/lib/oauth/models/generated/accountManagementResponseModel.mjs +0 -2
  212. package/esm2022/lib/oauth/models/generated/applicationType.mjs +0 -33
  213. package/esm2022/lib/oauth/models/generated/coverageDetail.mjs +0 -19
  214. package/esm2022/lib/oauth/models/generated/finance.mjs +0 -13
  215. package/esm2022/lib/oauth/models/generated/iSsoResponseModel.mjs +0 -13
  216. package/esm2022/lib/oauth/models/generated/iSsoResponseModelAccountManagementAssertionModel.mjs +0 -2
  217. package/esm2022/lib/oauth/models/generated/person.mjs +0 -13
  218. package/esm2022/lib/oauth/models/generated/policy.mjs +0 -2
  219. package/esm2022/lib/oauth/models/generated/refreshResponseModel.mjs +0 -13
  220. package/esm2022/lib/oauth/models/hybrid-saml-oauth-config.mjs +0 -4
  221. package/esm2022/lib/oauth/oauth-api.mjs +0 -15
  222. package/esm2022/lib/oauth/oauth.module.mjs +0 -29
  223. package/esm2022/lib/oauth/services/hybrid-saml-oauth.service.mjs +0 -201
  224. package/esm2022/lib/rbac/directives/rbac-action.directive.mjs +0 -50
  225. package/esm2022/lib/rbac/models/access-token-claims.mjs +0 -23
  226. package/esm2022/lib/rbac/models/constants.mjs +0 -4
  227. package/esm2022/lib/rbac/models/decoded-access-token.mjs +0 -69
  228. package/esm2022/lib/rbac/models/rbac-config.mjs +0 -4
  229. package/esm2022/lib/rbac/models/role-access.mjs +0 -10
  230. package/esm2022/lib/rbac/rbac-api.mjs +0 -15
  231. package/esm2022/lib/rbac/rbac.module.mjs +0 -51
  232. package/esm2022/lib/rbac/services/ar-role-nav.service.mjs +0 -104
  233. package/esm2022/lib/rbac/services/oauth2-role.service.mjs +0 -114
  234. package/esm2022/lib/rbac/services/role-nav.service.mjs +0 -4
  235. package/esm2022/lib/rbac/services/tokens.mjs +0 -4
  236. package/esm2022/lib/resize-panels/components/resize-panels/resize-panels.component.mjs +0 -156
  237. package/esm2022/lib/resize-panels/models/resize-event.mjs +0 -2
  238. package/esm2022/lib/resize-panels/resize-panels-api.mjs +0 -5
  239. package/esm2022/lib/resize-panels/resize-panels.module.mjs +0 -23
  240. package/esm2022/lib/rum/models/arm-error.mjs +0 -29
  241. package/esm2022/lib/rum/models/rum-config.mjs +0 -4
  242. package/esm2022/lib/rum/rum-api.mjs +0 -10
  243. package/esm2022/lib/rum/rum.module.mjs +0 -48
  244. package/esm2022/lib/rum/services/rum.service.mjs +0 -115
  245. package/esm2022/lib/rum/services/shared-error.service.mjs +0 -45
  246. package/esm2022/lib/rum/services/softheon-error-handler.service.mjs +0 -76
  247. package/esm2022/lib/saml/components/redirect-saml/redirect-saml.component.mjs +0 -79
  248. package/esm2022/lib/saml/models/i-saml-request.mjs +0 -2
  249. package/esm2022/lib/saml/models/i-saml-response.mjs +0 -2
  250. package/esm2022/lib/saml/models/redirect-saml-request.mjs +0 -4
  251. package/esm2022/lib/saml/models/sso-gateway-model.mjs +0 -4
  252. package/esm2022/lib/saml/saml-api.mjs +0 -15
  253. package/esm2022/lib/saml/saml.module.mjs +0 -43
  254. package/esm2022/lib/saml/services/entry/abstract-saml-entry.service.mjs +0 -4
  255. package/esm2022/lib/saml/services/entry/sso-gateway-entry.service.mjs +0 -36
  256. package/esm2022/lib/saml/services/send-off/abstract-saml.service.mjs +0 -4
  257. package/esm2022/lib/saml/services/send-off/saml.service.mjs +0 -39
  258. package/esm2022/lib/sof-pipe/constants/constants.mjs +0 -17
  259. package/esm2022/lib/sof-pipe/models/sof-date-pipe-format.mjs +0 -2
  260. package/esm2022/lib/sof-pipe/pipes/sof-blank/sof-blank.pipe.mjs +0 -39
  261. package/esm2022/lib/sof-pipe/pipes/sof-date/sof-date.pipe.mjs +0 -59
  262. package/esm2022/lib/sof-pipe/pipes/sof-ssn/sof-ssn.pipe.mjs +0 -28
  263. package/esm2022/lib/sof-pipe/sof-pipe.api.mjs +0 -9
  264. package/esm2022/lib/sof-pipe/sof-pipe.module.mjs +0 -39
  265. package/esm2022/lib/theming/directives/css-override.directive.mjs +0 -69
  266. package/esm2022/lib/theming/models/css-override.mjs +0 -11
  267. package/esm2022/lib/theming/services/theme.service.mjs +0 -187
  268. package/esm2022/lib/theming/theme-api.mjs +0 -6
  269. package/esm2022/lib/theming/theme.module.mjs +0 -31
  270. package/esm2022/public-api.mjs +0 -60
  271. package/esm2022/softheon-armature.mjs +0 -5
@@ -1,302 +0,0 @@
1
- import { Injectable, Optional, Inject } from '@angular/core';
2
- import { AuthConfig } from 'angular-oauth2-oidc';
3
- import { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';
4
- import * as _ from 'lodash';
5
- import { BehaviorSubject, lastValueFrom, throwError } from 'rxjs';
6
- import { federatedModuleConfigStorageKey, languageStorageKey, preSignInRouteStorageKey, WINDOW } from '../models/constants';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common/http";
9
- import * as i2 from "@ngx-translate/core";
10
- import * as i3 from "../../theming/services/theme.service";
11
- import * as i4 from "../services/base-config.service";
12
- import * as i5 from "angular-oauth2-oidc";
13
- import * as i6 from "@angular/router";
14
- import * as i7 from "@angular/common";
15
- import * as i8 from "../services/federated-module.service";
16
- import * as i9 from "../services/custom-auth-config.service";
17
- /**
18
- * The startup service is used to call methods that should be run when initially loading the application
19
- */
20
- export class Initializer {
21
- /** Gets the configurations */
22
- get isInitialized() {
23
- return this.isInitializedBs.value;
24
- }
25
- /**
26
- * Constructs the startup service. Include any services that should be used during startup
27
- * @param http The http client
28
- * @param translateService The translate service
29
- * @param themeService The theme service
30
- * @param configService The config service
31
- * @param oAuthService The oauth service
32
- * @param router The router
33
- * @param location The location
34
- * @param federatedModuleService The federated module service
35
- * @param customAuthConfigService The custom auth config service
36
- * @param _window The window injection
37
- */
38
- constructor(http, translateService, themeService, configService, oAuthService, router, location, federatedModuleService, customAuthConfigService, _window) {
39
- this.http = http;
40
- this.translateService = translateService;
41
- this.themeService = themeService;
42
- this.configService = configService;
43
- this.oAuthService = oAuthService;
44
- this.router = router;
45
- this.location = location;
46
- this.federatedModuleService = federatedModuleService;
47
- this.customAuthConfigService = customAuthConfigService;
48
- this._window = _window;
49
- /** The configuration behavior subject */
50
- this.isInitializedBs = new BehaviorSubject(false);
51
- /** The example the subdomain substring */
52
- this.exampleSubdomain = 'example';
53
- /** The www substring for subdomain route finding */
54
- this.wwwSubstring = 'www';
55
- /** The lvh substring for subdomain route finding */
56
- this.lvhSubstring = 'lvh';
57
- this.isInitialized$ = this.isInitializedBs.asObservable();
58
- this.window = _window || window;
59
- }
60
- /**
61
- * Loads all data that is needed upon initial loading of the website
62
- */
63
- async initialize() {
64
- // reads the language from local storage set in the parent app
65
- // language loading
66
- // Set languages for translation service
67
- const lang = this.window.localStorage.getItem(languageStorageKey) || this.window.sessionStorage.getItem(languageStorageKey) || 'en';
68
- this.translateService.setDefaultLang(lang);
69
- this.translateService.use(lang);
70
- // Adapted from https://stackoverflow.com/a/41636880
71
- // Adapted from https://stackoverflow.com/a/41736293
72
- // A callback used to initialize the promise. This callback is passed two arguments:
73
- // a resolve callback used resolve the promise with a value or the result of another promise,
74
- // and a reject callback used to reject the promise with a provided reason or error.
75
- return new Promise(async (resolve, reject) => {
76
- // Go through all services and complete any API calls necessary.
77
- // At the end, if all works and loads as expected, resolve the promise and set startup success to true.
78
- // If an issue is encountered, you can call reject() to hit the catch() code below.
79
- // First, load the configurations
80
- const assetPartial = !this.federatedModuleService.isFederatedModule ? './assets' : `./assets/federation/${this.federatedModuleService.federatedModuleId}/assets`;
81
- let [baseConfig, overrideConfig, baseLang, overrideLang, theme] = [JSON, JSON, JSON, JSON, JSON];
82
- try {
83
- [baseConfig, overrideConfig, baseLang, overrideLang, theme] = await Promise.all([
84
- this.http.get(`${assetPartial}/baseline/appsettings.json`).toPromise(),
85
- this.http.get(`${assetPartial}/configurations/appsettings.json`).toPromise(),
86
- this.http.get(`${assetPartial}/i18n/${this.translateService.currentLang}.json`).toPromise(),
87
- this.http.get(`${assetPartial}/configurations/${this.translateService.currentLang}.json`).toPromise(),
88
- this.http.get(`${assetPartial}/configurations/theme.json`).toPromise()
89
- ]);
90
- this.configService.config = _.mergeWith(baseConfig, overrideConfig, this.mergeCustomizer);
91
- const mergedLanguage = _.mergeWith(baseLang, overrideLang, this.mergeCustomizer);
92
- this.translateService.setTranslation(this.translateService.currentLang, mergedLanguage);
93
- const configurePartial = (t) => {
94
- const configSnapShot = this.configService.config;
95
- configSnapShot.theme = t;
96
- this.configService.config = configSnapShot;
97
- this.themeService.initPalette(t);
98
- };
99
- const subdomain = this.getSubdomain();
100
- if (subdomain && this.configService.config.subdomain) {
101
- try {
102
- let [subdomainConfigs, subdomainLanguage, subdomainTheme] = await Promise.all([
103
- lastValueFrom(this.http.get(`${assetPartial}/configurations/${subdomain}.${this.translateService.currentLang}.json`)),
104
- lastValueFrom(this.http.get(`${assetPartial}/configurations/${subdomain}.appsettings.json`)),
105
- lastValueFrom(this.http.get(`${assetPartial}/configurations/${subdomain}.theme.json`))
106
- ]);
107
- this.configService.config = _.mergeWith(this.configService.config, subdomainConfigs, this.mergeCustomizer);
108
- this.translateService.setTranslation(this.translateService.currentLang, _.mergeWith(mergedLanguage, subdomainLanguage, this.mergeCustomizer));
109
- const mergedTheme = _.mergeWith(theme, subdomainTheme, this.mergeCustomizer);
110
- configurePartial(mergedTheme);
111
- }
112
- catch (e) {
113
- if (this.configService.config.subdomain && this.configService.config.subdomain.subdomains.length && !this.configService.config.subdomain.subdomains.includes(subdomain)) {
114
- this.router.dispose();
115
- const error = `Invalid subdomain: ${subdomain}`;
116
- console.error(error);
117
- throw new Error(error);
118
- }
119
- else if (this.configService.config.subdomain?.requireConfiguredSubdomain && this.configService.config.subdomain?.subdomains.includes(subdomain)) {
120
- this.router.dispose();
121
- const error = `Configured subdomain: ${subdomain} does not have any subdomain specific configurations`;
122
- reject(error);
123
- console.error(error);
124
- throw new Error(error);
125
- }
126
- configurePartial(theme);
127
- }
128
- }
129
- else {
130
- configurePartial(theme);
131
- }
132
- this.trySetUpFederatedModules();
133
- }
134
- catch (error) {
135
- // Catch any errors during the get configurations API call
136
- console.error('Error Loading Configurations or Languages');
137
- // Reject the promise
138
- reject('error');
139
- return throwError(error.error || 'Server error');
140
- }
141
- try {
142
- if (this.customAuthConfigService) {
143
- await this.customAuthConfigService.configureAuthSettings().then(authConfig => {
144
- if (authConfig) {
145
- const config = this.configService.config.oAuthSettings;
146
- return this.login(config);
147
- }
148
- else {
149
- return Promise.resolve(false);
150
- }
151
- });
152
- }
153
- else {
154
- const oAuth = await this.setUpOAuth();
155
- }
156
- }
157
- catch (error) {
158
- reject(error);
159
- return throwError(error);
160
- }
161
- // Navigate to the requested route
162
- if (this.configService.config.oAuthSettings?.preserveRoute) {
163
- this.router.navigateByUrl(this.oAuthService.state);
164
- }
165
- this.isInitializedBs.next(true);
166
- resolve(true);
167
- }).catch((error) => {
168
- // Catch the error
169
- console.error('There was an error loading the startup configurations.');
170
- });
171
- }
172
- /**
173
- * Configure implicit flow
174
- */
175
- async setUpOAuth() {
176
- if (this.configService.config?.oAuthSettings?.issuer) {
177
- const config = this.configService.config.oAuthSettings;
178
- const authConfig = new AuthConfig({
179
- clientId: config.clientId,
180
- redirectUri: config.redirectUri,
181
- issuer: config.issuer,
182
- scope: config.scope,
183
- skipIssuerCheck: config.skipIssuerCheck != undefined ? config.skipIssuerCheck : true,
184
- timeoutFactor: config.timeoutFactor || 0.75,
185
- postLogoutRedirectUri: config.postLogoutRedirectUri,
186
- loginUrl: config.loginUrl,
187
- strictDiscoveryDocumentValidation: false,
188
- responseType: config.responseType || 'code'
189
- });
190
- this.oAuthService.configure(authConfig);
191
- this.oAuthService.skipIssuerCheck = true;
192
- this.oAuthService.responseType = config.responseType || 'code';
193
- this.oAuthService.strictDiscoveryDocumentValidation = false;
194
- this.oAuthService.tokenValidationHandler = new JwksValidationHandler();
195
- this.oAuthService.timeoutFactor = 0.75;
196
- this.oAuthService.setupAutomaticSilentRefresh({}, 'access_token');
197
- // set initialized on start up to true
198
- config.authSetOnStartup = true;
199
- const parentConfig = this.configService.config;
200
- parentConfig.oAuthSettings = config;
201
- this.configService.config = parentConfig;
202
- return this.login(config);
203
- }
204
- return Promise.resolve(true);
205
- }
206
- /**
207
- * Handle Login
208
- * @param config The Oidc Auth Settings
209
- */
210
- async login(config) {
211
- const isValid = this.validateExistingTokenAgainstConfigs();
212
- const preservedRoute = this.window.sessionStorage.getItem(preSignInRouteStorageKey);
213
- if (!preservedRoute) {
214
- this.window.sessionStorage.setItem(preSignInRouteStorageKey, this.location.path());
215
- }
216
- if (config.requireLoginOnStartup || !isValid) {
217
- return this.oAuthService.loadDiscoveryDocumentAndLogin({ state: this.location.path() })
218
- // handles the case for expired access token or invalid nonce or people bookmarking the ids login page
219
- .catch(async (res) => {
220
- this.oAuthService.initLoginFlow(this.location.path());
221
- return Promise.resolve(true);
222
- });
223
- }
224
- else {
225
- return this.oAuthService.loadDiscoveryDocumentAndTryLogin()
226
- // handles the case for expired access token or invalid nonce or people bookmarking the ids login page
227
- .catch(async (res) => {
228
- this.oAuthService.initLoginFlow();
229
- return Promise.resolve(true);
230
- });
231
- }
232
- }
233
- /**
234
- * Merges the two config objects ignoring the array type
235
- * @param objValue The default config value
236
- * @param srcValue The target switchboard config value
237
- * @returns The merge of the two configs provided
238
- */
239
- mergeCustomizer(objValue, srcValue) {
240
- if (_.isArray(objValue) && srcValue) {
241
- return srcValue;
242
- }
243
- }
244
- /**
245
- * Validates the existing token against the configurations
246
- * @returns true when token is valid
247
- */
248
- validateExistingTokenAgainstConfigs() {
249
- if (this.configService.config.oAuthSettings.disableStartupTokenValidation) {
250
- return true;
251
- }
252
- if (!this.window.sessionStorage.getItem('access_token')) {
253
- return true;
254
- }
255
- const grantedScopes = this.oAuthService.getGrantedScopes();
256
- const configuredScopes = this.configService.config.oAuthSettings.scope.split(' ');
257
- const diffs = grantedScopes.filter(x => !configuredScopes.includes(x))
258
- .concat(configuredScopes.filter(x => !grantedScopes.includes(x)));
259
- if (diffs.length || this.oAuthService.getIdentityClaims()['aud'] !== this.configService.config.oAuthSettings.clientId) {
260
- this.window.sessionStorage.removeItem('access_token');
261
- return false;
262
- }
263
- return true;
264
- }
265
- /** Getting the subdomain from url */
266
- getSubdomain() {
267
- const domain = this.window.location.hostname;
268
- if (domain.indexOf('.') < 0 ||
269
- domain.split('.')[0] === this.exampleSubdomain || domain.split('.')[0] === this.lvhSubstring || domain.split('.')[0] === this.wwwSubstring) {
270
- return '';
271
- }
272
- else {
273
- return domain.split('.')[0];
274
- }
275
- }
276
- /**
277
- * Tries to set up the federated modules when configured
278
- */
279
- trySetUpFederatedModules() {
280
- if (this.federatedModuleService.isFederatedModule || !this.configService.config.federatedModules || !Object.keys(this.configService.config.federatedModules).length) {
281
- return false;
282
- }
283
- this.window.sessionStorage.setItem(federatedModuleConfigStorageKey, JSON.stringify(this.configService.config.federatedModules));
284
- return true;
285
- }
286
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: Initializer, deps: [{ token: i1.HttpClient }, { token: i2.TranslateService }, { token: i3.ThemeService }, { token: i4.BaseConfigService }, { token: i5.OAuthService }, { token: i6.Router }, { token: i7.Location }, { token: i8.FederatedModuleService }, { token: i9.CustomAuthConfigService, optional: true }, { token: WINDOW, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
287
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: Initializer, providedIn: 'root' }); }
288
- }
289
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: Initializer, decorators: [{
290
- type: Injectable,
291
- args: [{
292
- providedIn: 'root'
293
- }]
294
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.TranslateService }, { type: i3.ThemeService }, { type: i4.BaseConfigService }, { type: i5.OAuthService }, { type: i6.Router }, { type: i7.Location }, { type: i8.FederatedModuleService }, { type: i9.CustomAuthConfigService, decorators: [{
295
- type: Optional
296
- }] }, { type: undefined, decorators: [{
297
- type: Optional
298
- }, {
299
- type: Inject,
300
- args: [WINDOW]
301
- }] }] });
302
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvY29yZS9pbml0aWFsaXplci9pbml0aWFsaXplci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3RCxPQUFPLEVBQUUsVUFBVSxFQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc5RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsa0JBQWtCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7Ozs7O0FBUTVIOztHQUVHO0FBTUgsTUFBTSxPQUFPLFdBQVc7SUFpQnRCLDhCQUE4QjtJQUM5QixJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQztJQUNwQyxDQUFDO0lBS0Q7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsWUFDbUIsSUFBZ0IsRUFDaEIsZ0JBQWtDLEVBQ2xDLFlBQTBCLEVBQzFCLGFBQWdDLEVBQ2hDLFlBQTBCLEVBQzFCLE1BQWMsRUFDZCxRQUFrQixFQUNsQixzQkFBOEMsRUFDbEMsdUJBQWdELEVBQ3hDLE9BQVk7UUFUaEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUNoQyxp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QyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDaEksT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzhHQTNTVSxXQUFXLGdUQWdEQSxNQUFNO2tIQWhEakIsV0FBVyxjQUhSLE1BQU07OzJGQUdULFdBQVc7a0JBTHZCLFVBQVU7bUJBQ1Q7b0JBQ0UsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFpREUsUUFBUTs7MEJBQ1IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBBdXRoQ29uZmlnLCBPQXV0aFNlcnZpY2UgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcclxuaW1wb3J0IHsgSndrc1ZhbGlkYXRpb25IYW5kbGVyIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYy1qd2tzJztcclxuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGxhc3RWYWx1ZUZyb20sIE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IFRoZW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3RoZW1pbmcvc2VydmljZXMvdGhlbWUuc2VydmljZSc7XHJcbmltcG9ydCB7IGZlZGVyYXRlZE1vZHVsZUNvbmZpZ1N0b3JhZ2VLZXksIGxhbmd1YWdlU3RvcmFnZUtleSwgcHJlU2lnbkluUm91dGVTdG9yYWdlS2V5LCBXSU5ET1cgfSBmcm9tICcuLi9tb2RlbHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgT2lkY0F1dGhTZXR0aW5ncyB9IGZyb20gJy4uL21vZGVscy9vaWRjLWF1dGgtc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBCYXNlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Jhc2UtY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdXN0b21BdXRoQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2N1c3RvbS1hdXRoLWNvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGZWRlcmF0ZWRNb2R1bGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZmVkZXJhdGVkLW1vZHVsZS5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBUaGUgc3RhcnR1cCBzZXJ2aWNlIGlzIHVzZWQgdG8gY2FsbCBtZXRob2RzIHRoYXQgc2hvdWxkIGJlIHJ1biB3aGVuIGluaXRpYWxseSBsb2FkaW5nIHRoZSBhcHBsaWNhdGlvblxyXG4gKi9cclxuQEluamVjdGFibGUoXHJcbiAge1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbiAgfVxyXG4pXHJcbmV4cG9ydCBjbGFzcyBJbml0aWFsaXplciB7XHJcblxyXG4gIC8qKiBUaGUgY29uZmlndXJhdGlvbiBiZWhhdmlvciBzdWJqZWN0ICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBpc0luaXRpYWxpemVkQnM6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICAvKiogVGhlIGJyb3dzZXIgd2luZG93ICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IFdpbmRvdztcclxuXHJcbiAgLyoqIFRoZSBleGFtcGxlIHRoZSBzdWJkb21haW4gc3Vic3RyaW5nICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBleGFtcGxlU3ViZG9tYWluOiBzdHJpbmcgPSAnZXhhbXBsZSc7XHJcblxyXG4gIC8qKiBUaGUgd3d3IHN1YnN0cmluZyBmb3Igc3ViZG9tYWluIHJvdXRlIGZpbmRpbmcgKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IHd3d1N1YnN0cmluZzogc3RyaW5nID0gJ3d3dyc7XHJcblxyXG4gIC8qKiBUaGUgbHZoIHN1YnN0cmluZyBmb3Igc3ViZG9tYWluIHJvdXRlIGZpbmRpbmcgKi9cclxuICBwcml2YXRlIHJlYWRvbmx5IGx2aFN1YnN0cmluZzogc3RyaW5nID0gJ2x2aCdcclxuXHJcbiAgLyoqIEdldHMgdGhlIGNvbmZpZ3VyYXRpb25zICovXHJcbiAgcHVibGljIGdldCBpc0luaXRpYWxpemVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNJbml0aWFsaXplZEJzLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqIFRoZSBjb25maWd1cmF0aW9uIG9ic2VydmFibGUgKi9cclxuICBwdWJsaWMgcmVhZG9ubHkgaXNJbml0aWFsaXplZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdHMgdGhlIHN0YXJ0dXAgc2VydmljZS4gSW5jbHVkZSBhbnkgc2VydmljZXMgdGhhdCBzaG91bGQgYmUgdXNlZCBkdXJpbmcgc3RhcnR1cFxyXG4gICAqIEBwYXJhbSBodHRwIFRoZSBodHRwIGNsaWVudFxyXG4gICAqIEBwYXJhbSB0cmFuc2xhdGVTZXJ2aWNlIFRoZSB0cmFuc2xhdGUgc2VydmljZVxyXG4gICAqIEBwYXJhbSB0aGVtZVNlcnZpY2UgVGhlIHRoZW1lIHNlcnZpY2VcclxuICAgKiBAcGFyYW0gY29uZmlnU2VydmljZSBUaGUgY29uZmlnIHNlcnZpY2VcclxuICAgKiBAcGFyYW0gb0F1dGhTZXJ2aWNlIFRoZSBvYXV0aCBzZXJ2aWNlXHJcbiAgICogQHBhcmFtIHJvdXRlciBUaGUgcm91dGVyXHJcbiAgICogQHBhcmFtIGxvY2F0aW9uIFRoZSBsb2NhdGlvblxyXG4gICAqIEBwYXJhbSBmZWRlcmF0ZWRNb2R1bGVTZXJ2aWNlIFRoZSBmZWRlcmF0ZWQgbW9kdWxlIHNlcnZpY2VcclxuICAgKiBAcGFyYW0gY3VzdG9tQXV0aENvbmZpZ1NlcnZpY2UgVGhlIGN1c3RvbSBhdXRoIGNvbmZpZyBzZXJ2aWNlXHJcbiAgICogQHBhcmFtIF93aW5kb3cgVGhlIHdpbmRvdyBpbmplY3Rpb25cclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGhlbWVTZXJ2aWNlOiBUaGVtZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2U6IEJhc2VDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBvQXV0aFNlcnZpY2U6IE9BdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2F0aW9uOiBMb2NhdGlvbixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmVkZXJhdGVkTW9kdWxlU2VydmljZTogRmVkZXJhdGVkTW9kdWxlU2VydmljZSxcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgY3VzdG9tQXV0aENvbmZpZ1NlcnZpY2U6IEN1c3RvbUF1dGhDb25maWdTZXJ2aWNlLFxyXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChXSU5ET1cpIHJlYWRvbmx5IF93aW5kb3c6IGFueVxyXG4gICkge1xyXG4gICAgdGhpcy5pc0luaXRpYWxpemVkJCA9IHRoaXMuaXNJbml0aWFsaXplZEJzLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgdGhpcy53aW5kb3cgPSBfd2luZG93IHx8IHdpbmRvdztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIExvYWRzIGFsbCBkYXRhIHRoYXQgaXMgbmVlZGVkIHVwb24gaW5pdGlhbCBsb2FkaW5nIG9mIHRoZSB3ZWJzaXRlXHJcbiAgICovXHJcbiAgcHVibGljIGFzeW5jIGluaXRpYWxpemUoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIC8vIHJlYWRzIHRoZSBsYW5ndWFnZSBmcm9tIGxvY2FsIHN0b3JhZ2Ugc2V0IGluIHRoZSBwYXJlbnQgYXBwXHJcbiAgICAvLyBsYW5ndWFnZSBsb2FkaW5nXHJcblxyXG4gICAgLy8gU2V0IGxhbmd1YWdlcyBmb3IgdHJhbnNsYXRpb24gc2VydmljZVxyXG4gICAgY29uc3QgbGFuZyA9IHRoaXMud2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKGxhbmd1YWdlU3RvcmFnZUtleSkgfHwgdGhpcy53aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShsYW5ndWFnZVN0b3JhZ2VLZXkpIHx8ICdlbic7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc2V0RGVmYXVsdExhbmcobGFuZyk7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudXNlKGxhbmcpO1xyXG5cclxuICAgIC8vIEFkYXB0ZWQgZnJvbSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNDE2MzY4ODBcclxuICAgIC8vIEFkYXB0ZWQgZnJvbSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNDE3MzYyOTNcclxuXHJcbiAgICAvLyBBIGNhbGxiYWNrIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgcHJvbWlzZS4gVGhpcyBjYWxsYmFjayBpcyBwYXNzZWQgdHdvIGFyZ3VtZW50czpcclxuICAgIC8vIGEgcmVzb2x2ZSBjYWxsYmFjayB1c2VkIHJlc29sdmUgdGhlIHByb21pc2Ugd2l0aCBhIHZhbHVlIG9yIHRoZSByZXN1bHQgb2YgYW5vdGhlciBwcm9taXNlLFxyXG4gICAgLy8gYW5kIGEgcmVqZWN0IGNhbGxiYWNrIHVzZWQgdG8gcmVqZWN0IHRoZSBwcm9taXNlIHdpdGggYSBwcm92aWRlZCByZWFzb24gb3IgZXJyb3IuXHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAvLyBHbyB0aHJvdWdoIGFsbCBzZXJ2aWNlcyBhbmQgY29tcGxldGUgYW55IEFQSSBjYWxscyBuZWNlc3NhcnkuXHJcbiAgICAgIC8vIEF0IHRoZSBlbmQsIGlmIGFsbCB3b3JrcyBhbmQgbG9hZHMgYXMgZXhwZWN0ZWQsIHJlc29sdmUgdGhlIHByb21pc2UgYW5kIHNldCBzdGFydHVwIHN1Y2Nlc3MgdG8gdHJ1ZS5cclxuICAgICAgLy8gSWYgYW4gaXNzdWUgaXMgZW5jb3VudGVyZWQsIHlvdSBjYW4gY2FsbCByZWplY3QoKSB0byBoaXQgdGhlIGNhdGNoKCkgY29kZSBiZWxvdy5cclxuXHJcbiAgICAgIC8vIEZpcnN0LCBsb2FkIHRoZSBjb25maWd1cmF0aW9uc1xyXG4gICAgICBjb25zdCBhc3NldFBhcnRpYWwgPSAhdGhpcy5mZWRlcmF0ZWRNb2R1bGVTZXJ2aWNlLmlzRmVkZXJhdGVkTW9kdWxlID8gJy4vYXNzZXRzJyA6IGAuL2Fzc2V0cy9mZWRlcmF0aW9uLyR7dGhpcy5mZWRlcmF0ZWRNb2R1bGVTZXJ2aWNlLmZlZGVyYXRlZE1vZHVsZUlkfS9hc3NldHNgO1xyXG4gICAgICBsZXQgW2Jhc2VDb25maWcsIG92ZXJyaWRlQ29uZmlnLCBiYXNlTGFuZywgb3ZlcnJpZGVMYW5nLCB0aGVtZV0gPSBbSlNPTiwgSlNPTiwgSlNPTiwgSlNPTiwgSlNPTl07XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgW2Jhc2VDb25maWcsIG92ZXJyaWRlQ29uZmlnLCBiYXNlTGFuZywgb3ZlcnJpZGVMYW5nLCB0aGVtZV0gPSBhd2FpdCBQcm9taXNlLmFsbChbXHJcbiAgICAgICAgICB0aGlzLmh0dHAuZ2V0PEpTT04+KGAke2Fzc2V0UGFydGlhbH0vYmFzZWxpbmUvYXBwc2V0dGluZ3MuanNvbmApLnRvUHJvbWlzZSgpLFxyXG4gICAgICAgICAgdGhpcy5odHRwLmdldDxKU09OPihgJHthc3NldFBhcnRpYWx9L2NvbmZpZ3VyYXRpb25zL2FwcHNldHRpbmdzLmpzb25gKS50b1Byb21pc2UoKSxcclxuICAgICAgICAgIHRoaXMuaHR0cC5nZXQ8SlNPTj4oYCR7YXNzZXRQYXJ0aWFsfS9pMThuLyR7dGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nfS5qc29uYCkudG9Qcm9taXNlKCksXHJcbiAgICAgICAgICB0aGlzLmh0dHAuZ2V0PEpTT04+KGAke2Fzc2V0UGFydGlhbH0vY29uZmlndXJhdGlvbnMvJHt0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmd9Lmpzb25gKS50b1Byb21pc2UoKSxcclxuICAgICAgICAgIHRoaXMuaHR0cC5nZXQ8SlNPTj4oYCR7YXNzZXRQYXJ0aWFsfS9jb25maWd1cmF0aW9ucy90aGVtZS5qc29uYCkudG9Qcm9taXNlKClcclxuICAgICAgICBdKTtcclxuICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnID0gXy5tZXJnZVdpdGgoYmFzZUNvbmZpZywgb3ZlcnJpZGVDb25maWcsIHRoaXMubWVyZ2VDdXN0b21pemVyKTtcclxuICAgICAgICBjb25zdCBtZXJnZWRMYW5ndWFnZSA9IF8ubWVyZ2VXaXRoKGJhc2VMYW5nLCBvdmVycmlkZUxhbmcsIHRoaXMubWVyZ2VDdXN0b21pemVyKTtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc2V0VHJhbnNsYXRpb24odGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nLCBtZXJnZWRMYW5ndWFnZSk7XHJcblxyXG4gICAgICAgIGNvbnN0IGNvbmZpZ3VyZVBhcnRpYWwgPSAodCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgY29uZmlnU25hcFNob3QgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnO1xyXG4gICAgICAgICAgY29uZmlnU25hcFNob3QudGhlbWUgPSB0IGFzIGFueTtcclxuICAgICAgICAgIHRoaXMuY29uZmlnU2VydmljZS5jb25maWcgPSBjb25maWdTbmFwU2hvdDtcclxuICAgICAgICAgIHRoaXMudGhlbWVTZXJ2aWNlLmluaXRQYWxldHRlKHQgYXMgYW55KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3Qgc3ViZG9tYWluID0gdGhpcy5nZXRTdWJkb21haW4oKTtcclxuICAgICAgICBpZiAoc3ViZG9tYWluICYmIHRoaXMuY29uZmlnU2VydmljZS5jb25maWcuc3ViZG9tYWluKSB7XHJcbiAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBsZXQgW3N1YmRvbWFpbkNvbmZpZ3MsIHN1YmRvbWFpbkxhbmd1YWdlLCBzdWJkb21haW5UaGVtZV0gPSBhd2FpdCBQcm9taXNlLmFsbChbXHJcbiAgICAgICAgICAgICAgbGFzdFZhbHVlRnJvbSh0aGlzLmh0dHAuZ2V0PEpTT04+KGAke2Fzc2V0UGFydGlhbH0vY29uZmlndXJhdGlvbnMvJHtzdWJkb21haW59LiR7dGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nfS5qc29uYCkpLFxyXG4gICAgICAgICAgICAgIGxhc3RWYWx1ZUZyb20odGhpcy5odHRwLmdldDxKU09OPihgJHthc3NldFBhcnRpYWx9L2NvbmZpZ3VyYXRpb25zLyR7c3ViZG9tYWlufS5hcHBzZXR0aW5ncy5qc29uYCkpLFxyXG4gICAgICAgICAgICAgIGxhc3RWYWx1ZUZyb20odGhpcy5odHRwLmdldDxKU09OPihgJHthc3NldFBhcnRpYWx9L2NvbmZpZ3VyYXRpb25zLyR7c3ViZG9tYWlufS50aGVtZS5qc29uYCkpXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnID0gXy5tZXJnZVdpdGgodGhpcy5jb25maWdTZXJ2aWNlLmNvbmZpZywgc3ViZG9tYWluQ29uZmlncywgdGhpcy5tZXJnZUN1c3RvbWl6ZXIpO1xyXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc2V0VHJhbnNsYXRpb24odGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nLCBfLm1lcmdlV2l0aChtZXJnZWRMYW5ndWFnZSwgc3ViZG9tYWluTGFuZ3VhZ2UsIHRoaXMubWVyZ2VDdXN0b21pemVyKSk7XHJcbiAgICAgICAgICAgIGNvbnN0IG1lcmdlZFRoZW1lID0gXy5tZXJnZVdpdGgodGhlbWUsIHN1YmRvbWFpblRoZW1lLCB0aGlzLm1lcmdlQ3VzdG9taXplcik7XHJcbiAgICAgICAgICAgIGNvbmZpZ3VyZVBhcnRpYWwobWVyZ2VkVGhlbWUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlnU2VydmljZS5jb25maWcuc3ViZG9tYWluICYmIHRoaXMuY29uZmlnU2VydmljZS5jb25maWcuc3ViZG9tYWluLnN1YmRvbWFpbnMubGVuZ3RoICYmICF0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLnN1YmRvbWFpbi5zdWJkb21haW5zLmluY2x1ZGVzKHN1YmRvbWFpbikpIHtcclxuICAgICAgICAgICAgICB0aGlzLnJvdXRlci5kaXNwb3NlKCk7XHJcbiAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBgSW52YWxpZCBzdWJkb21haW46ICR7c3ViZG9tYWlufWA7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmICh0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLnN1YmRvbWFpbj8ucmVxdWlyZUNvbmZpZ3VyZWRTdWJkb21haW4gJiYgdGhpcy5jb25maWdTZXJ2aWNlLmNvbmZpZy5zdWJkb21haW4/LnN1YmRvbWFpbnMuaW5jbHVkZXMoc3ViZG9tYWluKSkge1xyXG4gICAgICAgICAgICAgIHRoaXMucm91dGVyLmRpc3Bvc2UoKTtcclxuICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IGBDb25maWd1cmVkIHN1YmRvbWFpbjogJHtzdWJkb21haW59IGRvZXMgbm90IGhhdmUgYW55IHN1YmRvbWFpbiBzcGVjaWZpYyBjb25maWd1cmF0aW9uc2A7XHJcbiAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcclxuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbmZpZ3VyZVBhcnRpYWwodGhlbWUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGNvbmZpZ3VyZVBhcnRpYWwodGhlbWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnRyeVNldFVwRmVkZXJhdGVkTW9kdWxlcygpO1xyXG4gICAgICB9XHJcbiAgICAgIGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgIC8vIENhdGNoIGFueSBlcnJvcnMgZHVyaW5nIHRoZSBnZXQgY29uZmlndXJhdGlvbnMgQVBJIGNhbGxcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBMb2FkaW5nIENvbmZpZ3VyYXRpb25zIG9yIExhbmd1YWdlcycpO1xyXG4gICAgICAgIC8vIFJlamVjdCB0aGUgcHJvbWlzZVxyXG4gICAgICAgIHJlamVjdCgnZXJyb3InKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IuZXJyb3IgfHwgJ1NlcnZlciBlcnJvcicpO1xyXG4gICAgICB9XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY3VzdG9tQXV0aENvbmZpZ1NlcnZpY2UpIHtcclxuICAgICAgICAgIGF3YWl0IHRoaXMuY3VzdG9tQXV0aENvbmZpZ1NlcnZpY2UuY29uZmlndXJlQXV0aFNldHRpbmdzKCkudGhlbihhdXRoQ29uZmlnID0+IHtcclxuICAgICAgICAgICAgaWYgKGF1dGhDb25maWcpIHtcclxuICAgICAgICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLm9BdXRoU2V0dGluZ3M7XHJcblxyXG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmxvZ2luKGNvbmZpZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmYWxzZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IG9BdXRoID0gYXdhaXQgdGhpcy5zZXRVcE9BdXRoKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgIHJlamVjdChlcnJvcik7XHJcblxyXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycm9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gTmF2aWdhdGUgdG8gdGhlIHJlcXVlc3RlZCByb3V0ZVxyXG4gICAgICBpZiAodGhpcy5jb25maWdTZXJ2aWNlLmNvbmZpZy5vQXV0aFNldHRpbmdzPy5wcmVzZXJ2ZVJvdXRlKSB7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLm9BdXRoU2VydmljZS5zdGF0ZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuaXNJbml0aWFsaXplZEJzLm5leHQodHJ1ZSk7XHJcbiAgICAgIHJlc29sdmUodHJ1ZSk7XHJcbiAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHtcclxuICAgICAgLy8gQ2F0Y2ggdGhlIGVycm9yXHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoZXJlIHdhcyBhbiBlcnJvciBsb2FkaW5nIHRoZSBzdGFydHVwIGNvbmZpZ3VyYXRpb25zLicpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb25maWd1cmUgaW1wbGljaXQgZmxvd1xyXG4gICAqL1xyXG4gIHByaXZhdGUgYXN5bmMgc2V0VXBPQXV0aCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGlmICh0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnPy5vQXV0aFNldHRpbmdzPy5pc3N1ZXIpIHtcclxuICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWdTZXJ2aWNlLmNvbmZpZy5vQXV0aFNldHRpbmdzO1xyXG4gICAgICBjb25zdCBhdXRoQ29uZmlnID0gbmV3IEF1dGhDb25maWcoe1xyXG4gICAgICAgIGNsaWVudElkOiBjb25maWcuY2xpZW50SWQsXHJcbiAgICAgICAgcmVkaXJlY3RVcmk6IGNvbmZpZy5yZWRpcmVjdFVyaSxcclxuICAgICAgICBpc3N1ZXI6IGNvbmZpZy5pc3N1ZXIsXHJcbiAgICAgICAgc2NvcGU6IGNvbmZpZy5zY29wZSxcclxuICAgICAgICBza2lwSXNzdWVyQ2hlY2s6IGNvbmZpZy5za2lwSXNzdWVyQ2hlY2sgIT0gdW5kZWZpbmVkID8gY29uZmlnLnNraXBJc3N1ZXJDaGVjayA6IHRydWUsXHJcbiAgICAgICAgdGltZW91dEZhY3RvcjogY29uZmlnLnRpbWVvdXRGYWN0b3IgfHwgMC43NSxcclxuICAgICAgICBwb3N0TG9nb3V0UmVkaXJlY3RVcmk6IGNvbmZpZy5wb3N0TG9nb3V0UmVkaXJlY3RVcmksXHJcbiAgICAgICAgbG9naW5Vcmw6IGNvbmZpZy5sb2dpblVybCxcclxuICAgICAgICBzdHJpY3REaXNjb3ZlcnlEb2N1bWVudFZhbGlkYXRpb246IGZhbHNlLFxyXG4gICAgICAgIHJlc3BvbnNlVHlwZTogY29uZmlnLnJlc3BvbnNlVHlwZSB8fCAnY29kZSdcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMub0F1dGhTZXJ2aWNlLmNvbmZpZ3VyZShhdXRoQ29uZmlnKTtcclxuICAgICAgdGhpcy5vQXV0aFNlcnZpY2Uuc2tpcElzc3VlckNoZWNrID0gdHJ1ZTtcclxuICAgICAgdGhpcy5vQXV0aFNlcnZpY2UucmVzcG9uc2VUeXBlID0gY29uZmlnLnJlc3BvbnNlVHlwZSB8fCAnY29kZSc7XHJcbiAgICAgIHRoaXMub0F1dGhTZXJ2aWNlLnN0cmljdERpc2NvdmVyeURvY3VtZW50VmFsaWRhdGlvbiA9IGZhbHNlO1xyXG4gICAgICB0aGlzLm9BdXRoU2VydmljZS50b2tlblZhbGlkYXRpb25IYW5kbGVyID0gbmV3IEp3a3NWYWxpZGF0aW9uSGFuZGxlcigpO1xyXG4gICAgICB0aGlzLm9BdXRoU2VydmljZS50aW1lb3V0RmFjdG9yID0gMC43NTtcclxuICAgICAgdGhpcy5vQXV0aFNlcnZpY2Uuc2V0dXBBdXRvbWF0aWNTaWxlbnRSZWZyZXNoKHt9LCAnYWNjZXNzX3Rva2VuJyk7XHJcblxyXG4gICAgICAvLyBzZXQgaW5pdGlhbGl6ZWQgb24gc3RhcnQgdXAgdG8gdHJ1ZVxyXG4gICAgICBjb25maWcuYXV0aFNldE9uU3RhcnR1cCA9IHRydWU7XHJcbiAgICAgIGNvbnN0IHBhcmVudENvbmZpZyA9IHRoaXMuY29uZmlnU2VydmljZS5jb25maWc7XHJcbiAgICAgIHBhcmVudENvbmZpZy5vQXV0aFNldHRpbmdzID0gY29uZmlnO1xyXG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnID0gcGFyZW50Q29uZmlnO1xyXG5cclxuICAgICAgcmV0dXJuIHRoaXMubG9naW4oY29uZmlnKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRydWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlIExvZ2luXHJcbiAgICogQHBhcmFtIGNvbmZpZyBUaGUgT2lkYyBBdXRoIFNldHRpbmdzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhc3luYyBsb2dpbihjb25maWc6IE9pZGNBdXRoU2V0dGluZ3MpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGNvbnN0IGlzVmFsaWQgPSB0aGlzLnZhbGlkYXRlRXhpc3RpbmdUb2tlbkFnYWluc3RDb25maWdzKCk7XHJcbiAgICBjb25zdCBwcmVzZXJ2ZWRSb3V0ZSA9IHRoaXMud2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0ocHJlU2lnbkluUm91dGVTdG9yYWdlS2V5KTtcclxuICAgIGlmICghcHJlc2VydmVkUm91dGUpIHtcclxuICAgICAgdGhpcy53aW5kb3cuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShwcmVTaWduSW5Sb3V0ZVN0b3JhZ2VLZXksIHRoaXMubG9jYXRpb24ucGF0aCgpKTtcclxuICAgIH1cclxuICAgIGlmIChjb25maWcucmVxdWlyZUxvZ2luT25TdGFydHVwIHx8ICFpc1ZhbGlkKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm9BdXRoU2VydmljZS5sb2FkRGlzY292ZXJ5RG9jdW1lbnRBbmRMb2dpbih7c3RhdGU6IHRoaXMubG9jYXRpb24ucGF0aCgpfSlcclxuICAgICAgICAvLyBoYW5kbGVzIHRoZSBjYXNlIGZvciBleHBpcmVkIGFjY2VzcyB0b2tlbiBvciBpbnZhbGlkIG5vbmNlIG9yIHBlb3BsZSBib29rbWFya2luZyB0aGUgaWRzIGxvZ2luIHBhZ2VcclxuICAgICAgICAuY2F0Y2goYXN5bmMgKHJlcykgPT4ge1xyXG4gICAgICAgICAgdGhpcy5vQXV0aFNlcnZpY2UuaW5pdExvZ2luRmxvdyh0aGlzLmxvY2F0aW9uLnBhdGgoKSk7XHJcblxyXG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0cnVlKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5vQXV0aFNlcnZpY2UubG9hZERpc2NvdmVyeURvY3VtZW50QW5kVHJ5TG9naW4oKVxyXG4gICAgICAgIC8vIGhhbmRsZXMgdGhlIGNhc2UgZm9yIGV4cGlyZWQgYWNjZXNzIHRva2VuIG9yIGludmFsaWQgbm9uY2Ugb3IgcGVvcGxlIGJvb2ttYXJraW5nIHRoZSBpZHMgbG9naW4gcGFnZVxyXG4gICAgICAgIC5jYXRjaChhc3luYyAocmVzKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm9BdXRoU2VydmljZS5pbml0TG9naW5GbG93KCk7XHJcblxyXG4gICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0cnVlKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1lcmdlcyB0aGUgdHdvIGNvbmZpZyBvYmplY3RzIGlnbm9yaW5nIHRoZSBhcnJheSB0eXBlXHJcbiAgICogQHBhcmFtIG9ialZhbHVlIFRoZSBkZWZhdWx0IGNvbmZpZyB2YWx1ZVxyXG4gICAqIEBwYXJhbSBzcmNWYWx1ZSBUaGUgdGFyZ2V0IHN3aXRjaGJvYXJkIGNvbmZpZyB2YWx1ZVxyXG4gICAqIEByZXR1cm5zIFRoZSBtZXJnZSBvZiB0aGUgdHdvIGNvbmZpZ3MgcHJvdmlkZWRcclxuICAgKi9cclxuICBwcml2YXRlIG1lcmdlQ3VzdG9taXplcihvYmpWYWx1ZTogYW55LCBzcmNWYWx1ZTogYW55KTogYW55IHtcclxuICAgIGlmIChfLmlzQXJyYXkob2JqVmFsdWUpICYmIHNyY1ZhbHVlKSB7XHJcbiAgICAgIHJldHVybiBzcmNWYWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRlcyB0aGUgZXhpc3RpbmcgdG9rZW4gYWdhaW5zdCB0aGUgY29uZmlndXJhdGlvbnNcclxuICAgKiBAcmV0dXJucyB0cnVlIHdoZW4gdG9rZW4gaXMgdmFsaWRcclxuICAgKi9cclxuICBwcml2YXRlIHZhbGlkYXRlRXhpc3RpbmdUb2tlbkFnYWluc3RDb25maWdzKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnU2VydmljZS5jb25maWcub0F1dGhTZXR0aW5ncy5kaXNhYmxlU3RhcnR1cFRva2VuVmFsaWRhdGlvbikge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy53aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnYWNjZXNzX3Rva2VuJykpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICBjb25zdCBncmFudGVkU2NvcGVzOiBBcnJheTxzdHJpbmc+ID0gIHRoaXMub0F1dGhTZXJ2aWNlLmdldEdyYW50ZWRTY29wZXMoKSBhcyBBcnJheTxzdHJpbmc+O1xyXG4gICAgY29uc3QgY29uZmlndXJlZFNjb3BlcyA9IHRoaXMuY29uZmlnU2VydmljZS5jb25maWcub0F1dGhTZXR0aW5ncy5zY29wZS5zcGxpdCgnICcpO1xyXG4gICAgY29uc3QgZGlmZnMgPSBncmFudGVkU2NvcGVzLmZpbHRlcih4ID0+ICFjb25maWd1cmVkU2NvcGVzLmluY2x1ZGVzKHgpKVxyXG4gICAgICAuY29uY2F0KGNvbmZpZ3VyZWRTY29wZXMuZmlsdGVyKHggPT4gIWdyYW50ZWRTY29wZXMuaW5jbHVkZXMoeCkpKTtcclxuICAgIGlmIChkaWZmcy5sZW5ndGggfHwgdGhpcy5vQXV0aFNlcnZpY2UuZ2V0SWRlbnRpdHlDbGFpbXMoKVsnYXVkJ10gIT09IHRoaXMuY29uZmlnU2VydmljZS5jb25maWcub0F1dGhTZXR0aW5ncy5jbGllbnRJZCkge1xyXG4gICAgICB0aGlzLndpbmRvdy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCdhY2Nlc3NfdG9rZW4nKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICAvKiogR2V0dGluZyB0aGUgc3ViZG9tYWluIGZyb20gdXJsICovXHJcbiAgcHJpdmF0ZSBnZXRTdWJkb21haW4oKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGRvbWFpbiA9IHRoaXMud2luZG93LmxvY2F0aW9uLmhvc3RuYW1lO1xyXG4gICAgaWYgKGRvbWFpbi5pbmRleE9mKCcuJykgPCAwIHx8XHJcbiAgICAgIGRvbWFpbi5zcGxpdCgnLicpWzBdID09PSB0aGlzLmV4YW1wbGVTdWJkb21haW4gfHwgZG9tYWluLnNwbGl0KCcuJylbMF0gPT09IHRoaXMubHZoU3Vic3RyaW5nIHx8IGRvbWFpbi5zcGxpdCgnLicpWzBdID09PSB0aGlzLnd3d1N1YnN0cmluZykge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZG9tYWluLnNwbGl0KCcuJylbMF07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcmllcyB0byBzZXQgdXAgdGhlIGZlZGVyYXRlZCBtb2R1bGVzIHdoZW4gY29uZmlndXJlZFxyXG4gICAqL1xyXG4gIHByaXZhdGUgdHJ5U2V0VXBGZWRlcmF0ZWRNb2R1bGVzKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuZmVkZXJhdGVkTW9kdWxlU2VydmljZS5pc0ZlZGVyYXRlZE1vZHVsZSB8fCAhdGhpcy5jb25maWdTZXJ2aWNlLmNvbmZpZy5mZWRlcmF0ZWRNb2R1bGVzIHx8ICFPYmplY3Qua2V5cyh0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLmZlZGVyYXRlZE1vZHVsZXMpLmxlbmd0aCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLndpbmRvdy5zZXNzaW9uU3RvcmFnZS5zZXRJdGVtKGZlZGVyYXRlZE1vZHVsZUNvbmZpZ1N0b3JhZ2VLZXksIEpTT04uc3RyaW5naWZ5KHRoaXMuY29uZmlnU2VydmljZS5jb25maWcuZmVkZXJhdGVkTW9kdWxlcykpO1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,73 +0,0 @@
1
- import { Injectable, isDevMode, Optional } from '@angular/core';
2
- import { catchError } from 'rxjs/operators';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "angular-oauth2-oidc";
5
- /** The Custom OAuth Interceptor Service */
6
- export class ArmatureAuthTokenAppendInterceptor {
7
- /**
8
- * The Constructor
9
- * @param authStorage The Authorization storage
10
- * @param errorHandler The Error handler
11
- * @param moduleConfig The Authorization module config
12
- */
13
- constructor(authStorage, errorHandler, moduleConfig) {
14
- this.authStorage = authStorage;
15
- this.errorHandler = errorHandler;
16
- this.moduleConfig = moduleConfig;
17
- }
18
- /**
19
- * Checks if the given url starts with the current website url
20
- * @param url The url
21
- */
22
- checkUrl(url) {
23
- // don't append token to non softheon calls for dev mode
24
- if (isDevMode() && (url.indexOf('.softheon.com') > -1 || url.indexOf('localhost') > -1)) {
25
- return true;
26
- }
27
- if (!this.moduleConfig.resourceServer
28
- || !this.moduleConfig.resourceServer.allowedUrls
29
- || !this.moduleConfig.resourceServer.sendAccessToken) {
30
- return false;
31
- }
32
- const currentUrl = `${window.location.protocol}//${window.location.hostname}${window.location.port ? `:${window.location.port}` : ''}`;
33
- // still append token to local url refs
34
- return url.startsWith(currentUrl) || url.indexOf('http') === -1;
35
- }
36
- /**
37
- * Intercepts the http requests and appends the authorization token to the header if the endpoint matches the current base uri
38
- * @param req The request
39
- * @param next The Next
40
- * https://manfredsteyer.github.io/angular-oauth2-oidc/angular-oauth2-oidc/docs/additional-documentation/working-with-httpinterceptors.html
41
- */
42
- intercept(req, next) {
43
- // request url
44
- const url = req.url.toLowerCase();
45
- // checks the url and determines if sending the access token is allowed
46
- if ((this.checkUrl(url) && this.moduleConfig.resourceServer.sendAccessToken)) {
47
- let headers = req.headers;
48
- let token = this.authStorage.getItem('access_token');
49
- const ssoToken = window.sessionStorage.getItem('Sof-Arm-Access-Token');
50
- if (ssoToken) {
51
- token = ssoToken;
52
- }
53
- const header = `Bearer ${token}`;
54
- if (token) {
55
- headers = headers.set('Authorization', header);
56
- }
57
- req = req.clone({ headers });
58
- }
59
- return next.handle(req)
60
- .pipe(catchError(err => this.errorHandler.handleError(err)));
61
- }
62
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ArmatureAuthTokenAppendInterceptor, deps: [{ token: i1.OAuthStorage }, { token: i1.OAuthResourceServerErrorHandler }, { token: i1.OAuthModuleConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
63
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ArmatureAuthTokenAppendInterceptor, providedIn: 'root' }); }
64
- }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ArmatureAuthTokenAppendInterceptor, decorators: [{
66
- type: Injectable,
67
- args: [{
68
- providedIn: 'root'
69
- }]
70
- }], ctorParameters: () => [{ type: i1.OAuthStorage }, { type: i1.OAuthResourceServerErrorHandler }, { type: i1.OAuthModuleConfig, decorators: [{
71
- type: Optional
72
- }] }] });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJtYXR1cmUtYXV0aC10b2tlbi1hcHBlbmQuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvbGliL2NvcmUvaW50ZXJjZXB0b3JzL2FybWF0dXJlLWF1dGgtdG9rZW4tYXBwZW5kLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUU1QywyQ0FBMkM7QUFJM0MsTUFBTSxPQUFPLGtDQUFrQztJQUM3Qzs7Ozs7T0FLRztJQUNILFlBQ21CLFdBQXlCLEVBQ3pCLFlBQTZDLEVBQ2pDLFlBQStCO1FBRjNDLGdCQUFXLEdBQVgsV0FBVyxDQUFjO1FBQ3pCLGlCQUFZLEdBQVosWUFBWSxDQUFpQztRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7SUFDMUQsQ0FBQztJQUVMOzs7T0FHRztJQUNJLFFBQVEsQ0FBQyxHQUFXO1FBQ3pCLHdEQUF3RDtRQUN4RCxJQUFJLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdkYsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWM7ZUFDaEMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxXQUFXO2VBQzdDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFO1lBQ3RELE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxNQUFNLFVBQVUsR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxLQUFLLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBRXZJLHVDQUF1QztRQUN2QyxPQUFPLEdBQUcsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxTQUFTLENBQUMsR0FBcUIsRUFBRSxJQUFpQjtRQUN2RCxjQUFjO1FBQ2QsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVsQyx1RUFBdUU7UUFDdkUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLEVBQUU7WUFDNUUsSUFBSSxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQztZQUUxQixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNyRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1lBQ3ZFLElBQUksUUFBUSxFQUFFO2dCQUNaLEtBQUssR0FBRyxRQUFRLENBQUM7YUFDbEI7WUFDRCxNQUFNLE1BQU0sR0FBRyxVQUFVLEtBQUssRUFBRSxDQUFDO1lBQ2pDLElBQUksS0FBSyxFQUFFO2dCQUNULE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQzthQUNoRDtZQUVELEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUM5QjtRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7YUFDcEIsSUFBSSxDQUNILFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ3RELENBQUM7SUFDTixDQUFDOzhHQWhFVSxrQ0FBa0M7a0hBQWxDLGtDQUFrQyxjQUZqQyxNQUFNOzsyRkFFUCxrQ0FBa0M7a0JBSDlDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFXSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIGlzRGV2TW9kZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT0F1dGhNb2R1bGVDb25maWcsIE9BdXRoUmVzb3VyY2VTZXJ2ZXJFcnJvckhhbmRsZXIsIE9BdXRoU3RvcmFnZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG4vKiogVGhlIEN1c3RvbSBPQXV0aCBJbnRlcmNlcHRvciBTZXJ2aWNlICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFybWF0dXJlQXV0aFRva2VuQXBwZW5kSW50ZXJjZXB0b3Ige1xyXG4gIC8qKlxyXG4gICAqIFRoZSBDb25zdHJ1Y3RvclxyXG4gICAqIEBwYXJhbSBhdXRoU3RvcmFnZSBUaGUgQXV0aG9yaXphdGlvbiBzdG9yYWdlXHJcbiAgICogQHBhcmFtIGVycm9ySGFuZGxlciBUaGUgRXJyb3IgaGFuZGxlciBcclxuICAgKiBAcGFyYW0gbW9kdWxlQ29uZmlnIFRoZSBBdXRob3JpemF0aW9uIG1vZHVsZSBjb25maWdcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0aFN0b3JhZ2U6IE9BdXRoU3RvcmFnZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZXJyb3JIYW5kbGVyOiBPQXV0aFJlc291cmNlU2VydmVyRXJyb3JIYW5kbGVyLFxyXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSBtb2R1bGVDb25maWc6IE9BdXRoTW9kdWxlQ29uZmlnXHJcbiAgKSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2tzIGlmIHRoZSBnaXZlbiB1cmwgc3RhcnRzIHdpdGggdGhlIGN1cnJlbnQgd2Vic2l0ZSB1cmxcclxuICAgKiBAcGFyYW0gdXJsIFRoZSB1cmxcclxuICAgKi9cclxuICBwdWJsaWMgY2hlY2tVcmwodXJsOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIC8vIGRvbid0IGFwcGVuZCB0b2tlbiB0byBub24gc29mdGhlb24gY2FsbHMgZm9yIGRldiBtb2RlXHJcbiAgICBpZiAoaXNEZXZNb2RlKCkgJiYgKHVybC5pbmRleE9mKCcuc29mdGhlb24uY29tJykgPiAtMSB8fCB1cmwuaW5kZXhPZignbG9jYWxob3N0JykgPiAtMSkpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMubW9kdWxlQ29uZmlnLnJlc291cmNlU2VydmVyXHJcbiAgICAgIHx8ICF0aGlzLm1vZHVsZUNvbmZpZy5yZXNvdXJjZVNlcnZlci5hbGxvd2VkVXJsc1xyXG4gICAgICB8fCAhdGhpcy5tb2R1bGVDb25maWcucmVzb3VyY2VTZXJ2ZXIuc2VuZEFjY2Vzc1Rva2VuKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGNvbnN0IGN1cnJlbnRVcmwgPSBgJHt3aW5kb3cubG9jYXRpb24ucHJvdG9jb2x9Ly8ke3dpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZX0ke3dpbmRvdy5sb2NhdGlvbi5wb3J0ID8gYDoke3dpbmRvdy5sb2NhdGlvbi5wb3J0fWAgOiAnJ31gO1xyXG5cclxuICAgIC8vIHN0aWxsIGFwcGVuZCB0b2tlbiB0byBsb2NhbCB1cmwgcmVmc1xyXG4gICAgcmV0dXJuIHVybC5zdGFydHNXaXRoKGN1cnJlbnRVcmwpIHx8IHVybC5pbmRleE9mKCdodHRwJykgPT09IC0xO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW50ZXJjZXB0cyB0aGUgaHR0cCByZXF1ZXN0cyBhbmQgYXBwZW5kcyB0aGUgYXV0aG9yaXphdGlvbiB0b2tlbiB0byB0aGUgaGVhZGVyIGlmIHRoZSBlbmRwb2ludCBtYXRjaGVzIHRoZSBjdXJyZW50IGJhc2UgdXJpXHJcbiAgICogQHBhcmFtIHJlcSBUaGUgcmVxdWVzdFxyXG4gICAqIEBwYXJhbSBuZXh0IFRoZSBOZXh0XHJcbiAgICogaHR0cHM6Ly9tYW5mcmVkc3RleWVyLmdpdGh1Yi5pby9hbmd1bGFyLW9hdXRoMi1vaWRjL2FuZ3VsYXItb2F1dGgyLW9pZGMvZG9jcy9hZGRpdGlvbmFsLWRvY3VtZW50YXRpb24vd29ya2luZy13aXRoLWh0dHBpbnRlcmNlcHRvcnMuaHRtbFxyXG4gICAqL1xyXG4gIHB1YmxpYyBpbnRlcmNlcHQocmVxOiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcclxuICAgIC8vIHJlcXVlc3QgdXJsXHJcbiAgICBjb25zdCB1cmwgPSByZXEudXJsLnRvTG93ZXJDYXNlKCk7XHJcblxyXG4gICAgLy8gY2hlY2tzIHRoZSB1cmwgYW5kIGRldGVybWluZXMgaWYgc2VuZGluZyB0aGUgYWNjZXNzIHRva2VuIGlzIGFsbG93ZWRcclxuICAgIGlmICgodGhpcy5jaGVja1VybCh1cmwpICYmIHRoaXMubW9kdWxlQ29uZmlnLnJlc291cmNlU2VydmVyLnNlbmRBY2Nlc3NUb2tlbikpIHtcclxuICAgICAgbGV0IGhlYWRlcnMgPSByZXEuaGVhZGVycztcclxuXHJcbiAgICAgIGxldCB0b2tlbiA9IHRoaXMuYXV0aFN0b3JhZ2UuZ2V0SXRlbSgnYWNjZXNzX3Rva2VuJyk7XHJcbiAgICAgIGNvbnN0IHNzb1Rva2VuID0gd2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ1NvZi1Bcm0tQWNjZXNzLVRva2VuJyk7XHJcbiAgICAgIGlmIChzc29Ub2tlbikge1xyXG4gICAgICAgIHRva2VuID0gc3NvVG9rZW47XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgaGVhZGVyID0gYEJlYXJlciAke3Rva2VufWA7XHJcbiAgICAgIGlmICh0b2tlbikge1xyXG4gICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQXV0aG9yaXphdGlvbicsIGhlYWRlcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJlcSA9IHJlcS5jbG9uZSh7IGhlYWRlcnMgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgY2F0Y2hFcnJvcihlcnIgPT4gdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlRXJyb3IoZXJyKSlcclxuICAgICAgKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvbGliL2NvcmUvbW9kZWxzL2Jhc2UtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaGVtZVBhbGV0dGVNb2RlbCB9IGZyb20gJy4uL2NsaWVudC1nZW5lcmF0ZWQvbW9kZWwvdGhlbWVQYWxldHRlTW9kZWwnO1xyXG5pbXBvcnQgeyBGZWRlcmF0ZWRNb2R1bGVDb25maWcgfSBmcm9tICcuL2ZlZGVyYXRlZC1tb2R1bGUtY29uZmlnJztcclxuaW1wb3J0IHsgSGVhZGVyQ29uZmlnIH0gZnJvbSAnLi9oZWFkZXItY29uZmlnJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkNvbmZpZyB9IGZyb20gJy4vbmF2aWdhdGlvbi1jb25maWcnO1xyXG5pbXBvcnQgeyBPaWRjQXV0aFNldHRpbmdzIH0gZnJvbSAnLi9vaWRjLWF1dGgtc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBTdWJkb21haW5Db25maWcgfSBmcm9tICcuL3N1YmRvbWFpbi1jb25maWcnO1xyXG5pbXBvcnQgeyBOYXZQYW5lbENvbmZpZyB9IGZyb20gJy4vbmF2LXBhbmVsLWNvbmZpZyc7XHJcblxyXG4vKiogVGhlIGJhc2UgY29uZmlndXJhdGlvbiBpbnRlcmZhY2UgKi9cclxuZXhwb3J0IGludGVyZmFjZSBCYXNlQ29uZmlnIHtcclxuICAgIC8qKiBUaGUgb2lkYyBzZXR0aW5ncyAqL1xyXG4gICAgb0F1dGhTZXR0aW5nczogT2lkY0F1dGhTZXR0aW5ncztcclxuXHJcbiAgICAvKiogVGhlIGhlYWRlciBjb25maWd1cmF0aW9ucyAqL1xyXG4gICAgaGVhZGVyOiBIZWFkZXJDb25maWc7XHJcblxyXG4gICAgLyoqIFRoZSB0aGVtZSBwYWxldHRlICovXHJcbiAgICB0aGVtZTogVGhlbWVQYWxldHRlTW9kZWw7XHJcblxyXG4gICAgLyoqIFRoZSBuYXZpZ2F0aW9uIGNvbmZpZyAqL1xyXG4gICAgbmF2aWdhdGlvbjogTmF2aWdhdGlvbkNvbmZpZztcclxuXHJcbiAgICAvKiogVGhlIHN1YiBkb21haW4gY29uZmlndXJhdGlvbnMgKi9cclxuICAgIHN1YmRvbWFpbj86IFN1YmRvbWFpbkNvbmZpZztcclxuXHJcbiAgICAvKiogVGhlIGZlZGVyYXRlZCBtb2R1bGUgY29uZmlndXJhdGlvbiBkaWN0aW9uYXJ5ICovXHJcbiAgICBmZWRlcmF0ZWRNb2R1bGVzPzoge1trZXk6IHN0cmluZ10gOiBGZWRlcmF0ZWRNb2R1bGVDb25maWd9O1xyXG5cclxuICAgIC8qKiBcclxuICAgICAqIFRoZSBuYXZpZ2F0aW9uIHBhbmVsIGNvbmZpZ3MgXHJcbiAgICAqL1xyXG4gICAgbmF2aWdhdGlvblBhbmVsPzogTmF2UGFuZWxDb25maWc7XHJcbn1cclxuIl19
@@ -1,17 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- // Injection tokens
3
- /** The session configs */
4
- export const SESSION_CONFIG = new InjectionToken('SessionConfig');
5
- /** The window interface */
6
- export const WINDOW = new InjectionToken('Window');
7
- /** The user entity service configs */
8
- export const USER_ENTITY_SERVICE_CONFIG = new InjectionToken('UserEntityServiceConfig');
9
- /** The pre sign in route storage key */
10
- export const preSignInRouteStorageKey = 'preSignInRoute';
11
- /** The language storage key */
12
- export const languageStorageKey = 'language';
13
- /** The federated module configuration storage key */
14
- export const federatedModuleConfigStorageKey = 'sofAr-federatedModule-config';
15
- /** The federated module id of the application, this should be set when the application is allowed to run as a federated module */
16
- export const FEDERATED_MODULE_ID = new InjectionToken('FederatedModuleId');
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9jb3JlL21vZGVscy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUsvQyxtQkFBbUI7QUFDbkIsMEJBQTBCO0FBQzFCLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBa0MsSUFBSSxjQUFjLENBQWdCLGVBQWUsQ0FBQyxDQUFDO0FBRWhILDJCQUEyQjtBQUMzQixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQTJCLElBQUksY0FBYyxDQUFTLFFBQVEsQ0FBQyxDQUFDO0FBRW5GLHNDQUFzQztBQUN0QyxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBNEMsSUFBSSxjQUFjLENBQTBCLHlCQUF5QixDQUFDLENBQUM7QUFFMUosd0NBQXdDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFXLGdCQUFnQixDQUFDO0FBRWpFLCtCQUErQjtBQUMvQixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBVyxVQUFVLENBQUM7QUFFckQscURBQXFEO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFXLDhCQUE4QixDQUFDO0FBRXRGLGtJQUFrSTtBQUNsSSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBMkIsSUFBSSxjQUFjLENBQVMsbUJBQW1CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBTZXNzaW9uQ29uZmlnIH0gZnJvbSAnLi9zZXNzaW9uLWNvbmZpZyc7XHJcbmltcG9ydCB7IFVzZXJFbnRpdHlTZXJ2aWNlQ29uZmlnIH0gZnJvbSAnLi91c2VyLWVudGl0eS1zZXJ2aWNlLWNvbmZpZyc7XHJcblxyXG4vLyBJbmplY3Rpb24gdG9rZW5zXHJcbi8qKiBUaGUgc2Vzc2lvbiBjb25maWdzICovXHJcbmV4cG9ydCBjb25zdCBTRVNTSU9OX0NPTkZJRzogSW5qZWN0aW9uVG9rZW48U2Vzc2lvbkNvbmZpZz4gPSBuZXcgSW5qZWN0aW9uVG9rZW48U2Vzc2lvbkNvbmZpZz4oJ1Nlc3Npb25Db25maWcnKTtcclxuXHJcbi8qKiBUaGUgd2luZG93IGludGVyZmFjZSAqL1xyXG5leHBvcnQgY29uc3QgV0lORE9XOiBJbmplY3Rpb25Ub2tlbjxXaW5kb3c+ID0gbmV3IEluamVjdGlvblRva2VuPFdpbmRvdz4oJ1dpbmRvdycpO1xyXG5cclxuLyoqIFRoZSB1c2VyIGVudGl0eSBzZXJ2aWNlIGNvbmZpZ3MgKi9cclxuZXhwb3J0IGNvbnN0IFVTRVJfRU5USVRZX1NFUlZJQ0VfQ09ORklHOiBJbmplY3Rpb25Ub2tlbjxVc2VyRW50aXR5U2VydmljZUNvbmZpZz4gPSBuZXcgSW5qZWN0aW9uVG9rZW48VXNlckVudGl0eVNlcnZpY2VDb25maWc+KCdVc2VyRW50aXR5U2VydmljZUNvbmZpZycpO1xyXG5cclxuLyoqIFRoZSBwcmUgc2lnbiBpbiByb3V0ZSBzdG9yYWdlIGtleSAqL1xyXG5leHBvcnQgY29uc3QgcHJlU2lnbkluUm91dGVTdG9yYWdlS2V5OiBzdHJpbmcgPSAncHJlU2lnbkluUm91dGUnO1xyXG5cclxuLyoqIFRoZSBsYW5ndWFnZSBzdG9yYWdlIGtleSAqL1xyXG5leHBvcnQgY29uc3QgbGFuZ3VhZ2VTdG9yYWdlS2V5OiBzdHJpbmcgPSAnbGFuZ3VhZ2UnO1xyXG5cclxuLyoqIFRoZSBmZWRlcmF0ZWQgbW9kdWxlIGNvbmZpZ3VyYXRpb24gc3RvcmFnZSBrZXkgKi9cclxuZXhwb3J0IGNvbnN0IGZlZGVyYXRlZE1vZHVsZUNvbmZpZ1N0b3JhZ2VLZXk6IHN0cmluZyA9ICdzb2ZBci1mZWRlcmF0ZWRNb2R1bGUtY29uZmlnJztcclxuXHJcbi8qKiBUaGUgZmVkZXJhdGVkIG1vZHVsZSBpZCBvZiB0aGUgYXBwbGljYXRpb24sIHRoaXMgc2hvdWxkIGJlIHNldCB3aGVuIHRoZSBhcHBsaWNhdGlvbiBpcyBhbGxvd2VkIHRvIHJ1biBhcyBhIGZlZGVyYXRlZCBtb2R1bGUgKi9cclxuZXhwb3J0IGNvbnN0IEZFREVSQVRFRF9NT0RVTEVfSUQ6IEluamVjdGlvblRva2VuPHN0cmluZz4gPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignRmVkZXJhdGVkTW9kdWxlSWQnKTtcclxuIl19
@@ -1,4 +0,0 @@
1
- /** The data store configurations */
2
- export class DataStoreConfig {
3
- }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zdG9yZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvbGliL2NvcmUvbW9kZWxzL2RhdGEtc3RvcmUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLG9DQUFvQztBQUNwQyxNQUFNLE9BQU8sZUFBZTtDQXdCM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwVmVyYiB9IGZyb20gJy4vaHR0cC12ZXJicyc7XHJcbmltcG9ydCB7IFR5cGVkU2Vzc2lvbiB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzL3R5cGVkLXNlc3Npb24nO1xyXG5cclxuLyoqIFRoZSBkYXRhIHN0b3JlIGNvbmZpZ3VyYXRpb25zICovXHJcbmV4cG9ydCBjbGFzcyBEYXRhU3RvcmVDb25maWc8VCA9IGFueT4ge1xyXG4gICAgLyoqIFRoZSBkYXRhIHN0b3JlIGJhc2UgdXJpICovXHJcbiAgICBwdWJsaWMgYmFzZVVyaTogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBUaGUgcmV0cmlldmUgaHR0cCB2ZXJiICovXHJcbiAgICBwdWJsaWMgcmV0cmlldmVWZXJiOiBIdHRwVmVyYjtcclxuXHJcbiAgICAvKiogVGhlIHJldHJpZXZlIHJlcXVlc3QgZGVsZWdhdGUgKi9cclxuICAgIHB1YmxpYyByZXRyaWV2ZVJlcXVlc3REZWxlZ2F0ZTogKGJhc2VVcmk6IHN0cmluZywgZGF0YTogVHlwZWRTZXNzaW9uPFQ+KSA9PiB7IHVyaTogc3RyaW5nLCBib2R5PzogYW55IH07XHJcblxyXG4gICAgLyoqIFRoZSByZXRyaWV2ZSByZXNwb25zZSBkZWxlZ2F0ZSAqL1xyXG4gICAgcHVibGljIHJldHJpZXZlUmVzcG9uc2VEZWxlZ2F0ZTogKHJlc3BvbnNlOiBhbnksIHNlc3Npb246IFR5cGVkU2Vzc2lvbjxUPikgPT4gVHlwZWRTZXNzaW9uPFQ+O1xyXG5cclxuICAgIC8qKiBUaGUgcmV0cmlldmUgc2VjdXJhYmxlIGRlbGVnYXRlICovXHJcbiAgICBwdWJsaWMgcmV0cmlldmVTZWN1cmFibGVEZWxlZ2F0ZTogKHJlc3BvbnNlOiBhbnkpID0+IEFycmF5PChhcmc6IGFueSkgPT4gYW55PiB8ICgoYXJnOiBhbnkpID0+IGFueSk7XHJcblxyXG4gICAgLyoqIFRoZSB1cGRhdGUgaHR0cCB2ZXJiICovXHJcbiAgICBwdWJsaWMgdXBkYXRlVmVyYjogSHR0cFZlcmI7XHJcblxyXG4gICAgLyoqIFRoZSB1cGRhdGUgcmVxdWVzdCBkZWxlZ2F0ZSAqL1xyXG4gICAgcHVibGljIHVwZGF0ZVJlcXVlc3REZWxlZ2F0ZTogKGJhc2VVcmk6IHN0cmluZywgZGF0YTogVCkgPT4geyB1cmk6IHN0cmluZywgYm9keT86IGFueX07XHJcblxyXG4gICAgLyoqIERlbGVnYXRlIGZvciBkZXRlcm1pbmluZyB3aGVuIHRvIG1ha2UgYSBjYWxsIHRvIHVwZGF0ZSB0aGUgZGF0YSBzdG9yZSAqL1xyXG4gICAgcHVibGljIHNob3VsZFVwZGF0ZURhdGFTdG9yZURlbGVnYXRlOiAoZGF0YTogVCkgPT4gYm9vbGVhbjtcclxufVxyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVkZXJhdGVkLW1vZHVsZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvbGliL2NvcmUvbW9kZWxzL2ZlZGVyYXRlZC1tb2R1bGUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEZlZGVyYXRlZE1vZHVsZUNvbmZpZyB7XHJcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xyXG59Il19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvY29yZS9tb2RlbHMvaGVhZGVyLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGVhZGVyVGhlbWVTZXR0aW5ncyB9IGZyb20gXCIuLi8uLi9oZWFkZXIvbW9kZWxzL2hlYWRlci10aGVtZS5zZXR0aW5nc1wiO1xyXG5pbXBvcnQgeyBIZWFkZXJTZXR0aW5ncyB9IGZyb20gXCIuLi8uLi9oZWFkZXIvbW9kZWxzL2hlYWRlci5zZXR0aW5nc1wiO1xyXG5cclxuLyoqIFRoZSBoZWFkZXIgY29uZmlndXJhdGlvbnMgKi9cclxuZXhwb3J0IGludGVyZmFjZSBIZWFkZXJDb25maWcge1xyXG4gICAgLyoqIFRoZSBoZWFkZXIgdGhlbWUgc2V0dGluZ3MgKi9cclxuICAgIHRoZW1lOiBIZWFkZXJUaGVtZVNldHRpbmdzO1xyXG4gICAgLyoqIFRoZSBoZWFkZXIgc2V0dGluZ3MgKi9cclxuICAgIHNldHRpbmdzOiBIZWFkZXJTZXR0aW5ncztcclxufVxyXG4iXX0=
@@ -1,9 +0,0 @@
1
- /** The http verb constants */
2
- export const httpVerb = {
3
- POST: 'POST',
4
- GET: 'GET',
5
- PUT: 'PUT',
6
- PATCH: 'PATCH',
7
- DELETE: 'DELETE',
8
- };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC12ZXJicy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvY29yZS9tb2RlbHMvaHR0cC12ZXJicy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSw4QkFBOEI7QUFDOUIsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHO0lBQ3BCLElBQUksRUFBRSxNQUFrQjtJQUN4QixHQUFHLEVBQUUsS0FBaUI7SUFDdEIsR0FBRyxFQUFFLEtBQWlCO0lBQ3RCLEtBQUssRUFBRSxPQUFtQjtJQUMxQixNQUFNLEVBQUUsUUFBb0I7Q0FDL0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBUaGUgaHR0cCB2ZXJiIHR5cGVzICovXHJcbmV4cG9ydCB0eXBlIEh0dHBWZXJiID0gJ1BPU1QnIHwgJ0dFVCcgfCAnUFVUJyB8ICdQQVRDSCcgfCAnREVMRVRFJztcclxuXHJcbi8qKiBUaGUgaHR0cCB2ZXJiIGNvbnN0YW50cyAqL1xyXG5leHBvcnQgY29uc3QgaHR0cFZlcmIgPSB7XHJcbiAgICBQT1NUOiAnUE9TVCcgYXMgSHR0cFZlcmIsXHJcbiAgICBHRVQ6ICdHRVQnIGFzIEh0dHBWZXJiLFxyXG4gICAgUFVUOiAnUFVUJyBhcyBIdHRwVmVyYixcclxuICAgIFBBVENIOiAnUEFUQ0gnIGFzIEh0dHBWZXJiLFxyXG4gICAgREVMRVRFOiAnREVMRVRFJyBhcyBIdHRwVmVyYixcclxufVxyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXBhbmVsLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvY29yZS9tb2RlbHMvbmF2LXBhbmVsLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmF2UGFuZWxOb2RlIH0gZnJvbSBcIi4uLy4uL25hdmlnYXRpb24vY29tcG9uZW50cy9zb2YtbmF2aWdhdGlvbi1wYW5lbC9tb2RlbHMvbmF2LXBhbmVsLW5vZGVzXCI7XHJcbmltcG9ydCB7IE5hdlBhbmVsU2V0dGluZ3MgfSBmcm9tIFwiLi4vLi4vbmF2aWdhdGlvbi9jb21wb25lbnRzL3NvZi1uYXZpZ2F0aW9uLXBhbmVsL21vZGVscy9uYXYtcGFuZWwtc2V0dGluZ3NcIjtcclxuXHJcbi8qKiBcclxuICogTmF2aWdhdGlvbiBwYW5lbCBjb25maWdcclxuICogQHByb3BlcnR5IGBzZXR0aW5nc2A6IE5hdlBhbmVsU2V0dGluZ3NcclxuICogQHByb3BlcnR5IGBub2Rlc2A6IEFycmF5Jmx0O05hdlBhbmVsTm9kZSZndDtcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTmF2UGFuZWxDb25maWcge1xyXG4gIC8qKiBcclxuICAgKiBOYXZpZ2F0aW9uIHBhbmVsIHNldHRpbmdzIFxyXG4gICovXHJcbiAgc2V0dGluZ3M/OiBOYXZQYW5lbFNldHRpbmdzO1xyXG4gIC8qKiBcclxuICAgKiBOYXZpZ2F0aW9uIHBhbmVsIG5vZGVzIFxyXG4gICovXHJcbiAgbm9kZXM6IEFycmF5PE5hdlBhbmVsTm9kZT47XHJcbn1cclxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvbGliL2NvcmUvbW9kZWxzL25hdmlnYXRpb24tY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOYXZpZ2F0aW9uVGhlbWVTZXR0aW5ncyB9IGZyb20gJy4uLy4uL25hdmlnYXRpb24vbW9kZWxzL25hdi10aGVtZS5zZXR0aW5ncyc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25BZHZhbmNlZFNldHRpbmdzLCBOYXZpZ2F0aW9uU2V0dGluZ3MgfSBmcm9tICcuLi8uLi9uYXZpZ2F0aW9uL21vZGVscy9uYXYuc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBOYXZOb2RlIH0gZnJvbSAnLi4vLi4vbmF2aWdhdGlvbi9tb2RlbHMvbmF2aWdhdGlvbic7XHJcblxyXG4vKiogVGhlIG5hdmlnYXRpb24gY29uZmlnICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdGlvbkNvbmZpZyB7XHJcbiAgICAvKiogVGhlIG5hdmlnYXRpb24gdGhlbWUgc2V0dGluZ3MgKi9cclxuICAgIHRoZW1lOiBOYXZpZ2F0aW9uVGhlbWVTZXR0aW5ncztcclxuICAgIC8qKiBUaGUgbmF2aWdhdGlvbiBzZXR0aW5ncyAqL1xyXG4gICAgc2V0dGluZ3M6IE5hdmlnYXRpb25TZXR0aW5ncztcclxuICAgIC8qKiBUaGUgYWR2YW5jZWQgbmF2aWdhdGlvbiBzZXR0aW5ncyAqL1xyXG4gICAgYWR2YW5jZWQ6IE5hdmlnYXRpb25BZHZhbmNlZFNldHRpbmdzO1xyXG4gICAgLyoqIFRoZSBuYXZpZ2F0aW9uIGFycmF5ICovXHJcbiAgICBub2RlczogQXJyYXk8TmF2Tm9kZT47XHJcbn1cclxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy1hdXRoLXNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9jb3JlL21vZGVscy9vaWRjLWF1dGgtc2V0dGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dGhDb25maWcgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcclxuXHJcbi8qKiBPSURDIEF1dGggU2V0dGluZ3MgKi9cclxuZXhwb3J0IGludGVyZmFjZSBPaWRjQXV0aFNldHRpbmdzIGV4dGVuZHMgQXV0aENvbmZpZyB7XHJcbiAgICBsb2dJblRleHQ/OiBzdHJpbmc7XHJcbiAgICBsb2dPdXRUZXh0Pzogc3RyaW5nO1xyXG4gICAgcmV0dXJuUm91dGU/OiBzdHJpbmc7XHJcbiAgICBhdXRoU2V0T25TdGFydHVwPzogYm9vbGVhbjtcclxuICAgIHJlcXVpcmVMb2dpbk9uU3RhcnR1cD86IGJvb2xlYW47XHJcbiAgICBkaXNhYmxlU3RhcnR1cFRva2VuVmFsaWRhdGlvbj86IGJvb2xlYW47XHJcbiAgICBwcmVzZXJ2ZVJvdXRlPzogYm9vbGVhbjtcclxufVxyXG4iXX0=
@@ -1,7 +0,0 @@
1
- /** The route path enum */
2
- export var RoutePath;
3
- (function (RoutePath) {
4
- RoutePath["Internal"] = "internal";
5
- RoutePath["External"] = "external";
6
- })(RoutePath || (RoutePath = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUtcGF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvY29yZS9tb2RlbHMvcm91dGUtcGF0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFDMUIsTUFBTSxDQUFOLElBQVksU0FHWDtBQUhELFdBQVksU0FBUztJQUNuQixrQ0FBcUIsQ0FBQTtJQUNyQixrQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBSFcsU0FBUyxLQUFULFNBQVMsUUFHcEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogVGhlIHJvdXRlIHBhdGggZW51bSAqL1xyXG5leHBvcnQgZW51bSBSb3V0ZVBhdGgge1xyXG4gIEludGVybmFsID0gJ2ludGVybmFsJyxcclxuICBFeHRlcm5hbCA9ICdleHRlcm5hbCdcclxufVxyXG4iXX0=
@@ -1,4 +0,0 @@
1
- /** The session configurations */
2
- export class SessionConfig {
3
- }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvbGliL2NvcmUvbW9kZWxzL3Nlc3Npb24tY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGlDQUFpQztBQUNqQyxNQUFNLE9BQU8sYUFBYTtDQXFCekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhU3RvcmVDb25maWcgfSBmcm9tICcuL2RhdGEtc3RvcmUtY29uZmlnJztcclxuXHJcbi8qKiBUaGUgc2Vzc2lvbiBjb25maWd1cmF0aW9ucyAqL1xyXG5leHBvcnQgY2xhc3MgU2Vzc2lvbkNvbmZpZzxUID0gYW55PiB7XHJcbiAgICAvKiogVGhlIGJyb3dzZXIgc3RvcmFnZSBpbXBsZW1lbnRhdGlvbiAqL1xyXG4gICAgcHVibGljIGJyb3dzZXJTdG9yYWdlSW1wbGVtZW50YXRpb246IHN0cmluZztcclxuXHJcbiAgICAvKiogVGhlIHNlc3Npb24gbWFuYWdlbWVudCBpbXBsZW1lbnRhdGlvbiAqL1xyXG4gICAgcHVibGljIHNlc3Npb25NYW5hZ2VtZW50SW1wbGVtZW50YXRpb246IHN0cmluZztcclxuXHJcbiAgICAvKiogVGhlIGRhdGEgc3RvcmUgY29uZmlndXJhdGlvbnMgKi9cclxuICAgIHB1YmxpYyBkYXRhU3RvcmVDb25maWc6IERhdGFTdG9yZUNvbmZpZzxUPjtcclxuXHJcbiAgICAvKiogVGhlIHRyYW5zZmVyIGJhc2UgcGF0aCAqL1xyXG4gICAgcHVibGljIHRyYW5zZmVyQmFzZVBhdGg6IHN0cmluZztcclxuXHJcbiAgICAvKiogVGhlIGtleSBwYXRoIHVzZWQgZm9yIGJyb3dzZXIgc3RvcmFnZSAqL1xyXG4gICAgcHVibGljIGtleVBhdGg6IHN0cmluZztcclxuXHJcbiAgICAvKiogVGhlIHNlc3Npb24gbWFuYWdlbWVudCBiYXNlIHBhdGggKi9cclxuICAgIHB1YmxpYyBzZXNzaW9uTWFuYWdlbWVudEJhc2VQYXRoOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIFRoZSBzZXNzaW9uIHJlZnJlc2ggdGltZSBpbiBtaW51dGVzICovXHJcbiAgICBwdWJsaWMgc2Vzc2lvblJlZnJlc2hUaW1lTWludXRlczogbnVtYmVyO1xyXG59XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9jb3JlL21vZGVscy9zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBUaGUgc3R5bGVzIGludGVyZmFjZSAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFN0eWxlcyB7XHJcbiAgICAvKiogVGhlIGhlaWdodCBpbiBweCAqL1xyXG4gICAgaGVpZ2h0PzogbnVtYmVyO1xyXG5cclxuICAgIC8qKiBUaGUgbW9iaWxlIGhlaWdodCBpbiBweCAqL1xyXG4gICAgaGVpZ2h0TW9iaWxlPzogbnVtYmVyO1xyXG5cclxuICAgIC8qKiBUaGUgd2lkdGggaW4gcHggKi9cclxuICAgIHdpZHRoPzogbnVtYmVyO1xyXG5cclxuICAgIC8qKiBUaGUgbW9iaWxlIHdpZHRoIGluIHB4ICovXHJcbiAgICB3aWR0aE1vYmlsZT86IG51bWJlcjtcclxufVxyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViZG9tYWluLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvY29yZS9tb2RlbHMvc3ViZG9tYWluLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFRoZSBzdWJkb21haW4gY29uZmlndXJhdGlvbnMgKi9cclxuZXhwb3J0IGludGVyZmFjZSBTdWJkb21haW5Db25maWcge1xyXG4gICAgLyoqIFRydWUgd2hlbiB0aGUgc3ViZG9tYWluIGNvbmZpZ3VyYXRpb24gbXVzdCBleGlzdCBmb3IgdGhlIGFwcGxpY2F0aW9uIHRvIGxvYWQgKi9cclxuICAgIHJlcXVpcmVDb25maWd1cmVkU3ViZG9tYWluPzogYm9vbGVhbjtcclxuICAgIC8qKiB0aGUgY29uZmlndXJlZCBzdWJkb21haW5zIGZvciB0aGUgYXBwbGljYXRpb24gKi9cclxuICAgIHN1YmRvbWFpbnM/OiBBcnJheTxzdHJpbmc+O1xyXG59Il19
@@ -1,4 +0,0 @@
1
- /** The session class */
2
- export class TypedSession {
3
- }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWQtc2Vzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvY29yZS9tb2RlbHMvdHlwZWQtc2Vzc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSx3QkFBd0I7QUFDeEIsTUFBTSxPQUFPLFlBQVk7Q0FrQnhCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2Vzc2lvblJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL2NsaWVudC1nZW5lcmF0ZWQvbW9kZWwvc2Vzc2lvblJlc3BvbnNlTW9kZWwnO1xyXG5pbXBvcnQgeyBCcmFuZGluZ01vZGVsLCBUcmFja2luZ01vZGVsLCBPQXV0aE1vZGVsIH0gZnJvbSAnLi4vLi4vY29yZS9jbGllbnQtZ2VuZXJhdGVkL21vZGVsL21vZGVscyc7XHJcblxyXG4vKiogVGhlIHNlc3Npb24gY2xhc3MgKi9cclxuZXhwb3J0IGNsYXNzIFR5cGVkU2Vzc2lvbjxUPiBpbXBsZW1lbnRzIFNlc3Npb25SZXNwb25zZU1vZGVsIHtcclxuICAgIC8qKiBUaGUgaW5pdGFsaXppbmcgb3JpZ2luICovXHJcbiAgICBwdWJsaWMgaW5pdGlhbGl6aW5nT3JpZ2luPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBUaGUgc2Vzc2lvbiBpZCAqL1xyXG4gICAgcHVibGljIHNlc3Npb25JZD86IHN0cmluZztcclxuXHJcbiAgICAvKiogVGhlIHR5cGVkIHNlc3Npb24gZGF0YSAqL1xyXG4gICAgcHVibGljIHNlc3Npb25EYXRhPzogVDtcclxuXHJcbiAgICAvKiogVGhlIGJyYW5kaW5nIG1vZGVsICovXHJcbiAgICBwdWJsaWMgYnJhbmRpbmc/OiBCcmFuZGluZ01vZGVsO1xyXG5cclxuICAgIC8qKiBUaGUgdHJhY2tpbmcgbW9kZWwgKi9cclxuICAgIHB1YmxpYyB0cmFja2luZz86IFRyYWNraW5nTW9kZWw7XHJcblxyXG4gICAgLyoqIFRoZSBvYXV0aCBtb2RlbCAqL1xyXG4gICAgcHVibGljIG9BdXRoPzogT0F1dGhNb2RlbDtcclxufSJdfQ==
@@ -1,12 +0,0 @@
1
- /** The user entity service config */
2
- export class UserEntityServiceConfig {
3
- constructor() {
4
- /** true if getting user on start up */
5
- this.getUserOnInit = true;
6
- /** True when including links */
7
- this.includeLinks = true;
8
- /** The validate function */
9
- this.validate = (user) => true;
10
- }
11
- }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1lbnRpdHktc2VydmljZS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcm1hdHVyZS9zcmMvbGliL2NvcmUvbW9kZWxzL3VzZXItZW50aXR5LXNlcnZpY2UtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLHFDQUFxQztBQUNyQyxNQUFNLE9BQU8sdUJBQXVCO0lBQXBDO1FBQ0ksdUNBQXVDO1FBQ2hDLGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBS3JDLGdDQUFnQztRQUN6QixpQkFBWSxHQUFZLElBQUksQ0FBQztRQUtwQyw0QkFBNEI7UUFDckIsYUFBUSxHQUF5QyxDQUFDLElBQXVCLEVBQVcsRUFBRSxDQUFDLElBQUksQ0FBQztJQUN2RyxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3NlcnRlZFVzZXJNb2RlbCB9IGZyb20gJy4uL2NsaWVudC1nZW5lcmF0ZWQvbW9kZWwvYXNzZXJ0ZWRVc2VyTW9kZWwnO1xyXG5cclxuLyoqIFRoZSB1c2VyIGVudGl0eSBzZXJ2aWNlIGNvbmZpZyAqL1xyXG5leHBvcnQgY2xhc3MgVXNlckVudGl0eVNlcnZpY2VDb25maWcge1xyXG4gICAgLyoqIHRydWUgaWYgZ2V0dGluZyB1c2VyIG9uIHN0YXJ0IHVwICovXHJcbiAgICBwdWJsaWMgZ2V0VXNlck9uSW5pdDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgLyoqIFRoZSB1c2VyIGVudGl0eSBiYXNlIHVybCAqL1xyXG4gICAgcHVibGljIHVzZXJFbnRpdHlCYXNlVXJsOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIFRydWUgd2hlbiBpbmNsdWRpbmcgbGlua3MgKi9cclxuICAgIHB1YmxpYyBpbmNsdWRlTGlua3M6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIC8qKiBUaGUgcGFydGlhbCBmb3IgdGhlIGdldCB1c2VyIGNhbGwgKi9cclxuICAgIHB1YmxpYyBnZXRVc2VyUGFydGlhbDogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBUaGUgdmFsaWRhdGUgZnVuY3Rpb24gKi9cclxuICAgIHB1YmxpYyB2YWxpZGF0ZTogKHVzZXI6IEFzc2VydGVkVXNlck1vZGVsKSA9PiBib29sZWFuID0gKHVzZXI6IEFzc2VydGVkVXNlck1vZGVsKTogYm9vbGVhbiA9PiB0cnVlO1xyXG59XHJcbiJdfQ==