@abp/ng.core 7.2.2 → 7.3.0-rc.1

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 (397) hide show
  1. package/{esm2020 → esm2022}/abp-ng.core.mjs +4 -4
  2. package/esm2022/lib/abstracts/abstract-guard.mjs +2 -0
  3. package/{esm2020 → esm2022}/lib/abstracts/auth-response.model.mjs +1 -1
  4. package/esm2022/lib/abstracts/auth.guard.mjs +18 -0
  5. package/esm2022/lib/abstracts/auth.service.mjs +46 -0
  6. package/esm2022/lib/abstracts/index.mjs +6 -0
  7. package/esm2022/lib/abstracts/ng-model.component.mjs +60 -0
  8. package/esm2022/lib/clients/http.client.mjs +29 -0
  9. package/{esm2020 → esm2022}/lib/clients/index.mjs +1 -1
  10. package/esm2022/lib/components/dynamic-layout.component.mjs +101 -0
  11. package/{esm2020 → esm2022}/lib/components/index.mjs +3 -3
  12. package/esm2022/lib/components/replaceable-route-container.component.mjs +43 -0
  13. package/esm2022/lib/components/router-outlet.component.mjs +16 -0
  14. package/{esm2020 → esm2022}/lib/constants/different-locales.mjs +336 -336
  15. package/{esm2020 → esm2022}/lib/constants/index.mjs +1 -1
  16. package/esm2022/lib/core.module.mjs +285 -0
  17. package/esm2022/lib/directives/autofocus.directive.mjs +31 -0
  18. package/esm2022/lib/directives/debounce.directive.mjs +37 -0
  19. package/esm2022/lib/directives/for.directive.mjs +160 -0
  20. package/esm2022/lib/directives/form-submit.directive.mjs +78 -0
  21. package/{esm2020 → esm2022}/lib/directives/index.mjs +8 -8
  22. package/esm2022/lib/directives/init.directive.mjs +22 -0
  23. package/esm2022/lib/directives/permission.directive.mjs +75 -0
  24. package/esm2022/lib/directives/replaceable-template.directive.mjs +133 -0
  25. package/esm2022/lib/directives/stop-propagation.directive.mjs +33 -0
  26. package/{esm2020 → esm2022}/lib/enums/common.mjs +1 -1
  27. package/{esm2020 → esm2022}/lib/enums/index.mjs +1 -1
  28. package/{esm2020 → esm2022}/lib/guards/index.mjs +1 -1
  29. package/esm2022/lib/guards/permission.guard.mjs +41 -0
  30. package/esm2022/lib/handlers/routes.handler.mjs +52 -0
  31. package/esm2022/lib/interceptors/api.interceptor.mjs +28 -0
  32. package/{esm2020 → esm2022}/lib/interceptors/index.mjs +1 -1
  33. package/esm2022/lib/localization.module.mjs +17 -0
  34. package/{esm2020 → esm2022}/lib/models/auth.mjs +1 -1
  35. package/{esm2020 → esm2022}/lib/models/common.mjs +1 -1
  36. package/{esm2020 → esm2022}/lib/models/dtos.mjs +134 -134
  37. package/{esm2020 → esm2022}/lib/models/environment.mjs +1 -1
  38. package/{esm2020 → esm2022}/lib/models/index.mjs +9 -9
  39. package/{esm2020 → esm2022}/lib/models/localization.mjs +1 -1
  40. package/{esm2020 → esm2022}/lib/models/replaceable-components.mjs +1 -1
  41. package/{esm2020 → esm2022}/lib/models/rest.mjs +1 -1
  42. package/{esm2020 → esm2022}/lib/models/session.mjs +1 -1
  43. package/{esm2020 → esm2022}/lib/models/utility.mjs +1 -1
  44. package/{esm2020 → esm2022}/lib/pipes/index.mjs +7 -7
  45. package/esm2022/lib/pipes/localization.pipe.mjs +34 -0
  46. package/esm2022/lib/pipes/safe-html.pipe.mjs +24 -0
  47. package/esm2022/lib/pipes/short-date-time.pipe.mjs +35 -0
  48. package/esm2022/lib/pipes/short-date.pipe.mjs +35 -0
  49. package/esm2022/lib/pipes/short-time.pipe.mjs +35 -0
  50. package/esm2022/lib/pipes/sort.pipe.mjs +50 -0
  51. package/esm2022/lib/pipes/to-injector.pipe.mjs +30 -0
  52. package/{esm2020 → esm2022}/lib/providers/cookie-language.provider.mjs +21 -21
  53. package/{esm2020 → esm2022}/lib/providers/include-localization-resources.provider.mjs +5 -5
  54. package/{esm2020 → esm2022}/lib/providers/locale.provider.mjs +25 -25
  55. package/esm2022/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.mjs +28 -0
  56. package/{esm2020 → esm2022}/lib/proxy/pages/abp/multi-tenancy/index.mjs +1 -1
  57. package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.mjs +25 -0
  58. package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.mjs +1 -1
  59. package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.mjs +25 -0
  60. package/esm2022/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service.mjs +25 -0
  61. package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.mjs +5 -5
  62. package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.mjs +1 -1
  63. package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.mjs +1 -1
  64. package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.mjs +1 -1
  65. package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.mjs +1 -1
  66. package/{esm2020 → esm2022}/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.mjs +1 -1
  67. package/{esm2020 → esm2022}/lib/proxy/volo/abp/http/modeling/index.mjs +1 -1
  68. package/{esm2020 → esm2022}/lib/proxy/volo/abp/http/modeling/models.mjs +1 -1
  69. package/{esm2020 → esm2022}/lib/proxy/volo/abp/localization/index.mjs +1 -1
  70. package/{esm2020 → esm2022}/lib/proxy/volo/abp/localization/models.mjs +1 -1
  71. package/{esm2020 → esm2022}/lib/proxy/volo/abp/models.mjs +1 -1
  72. package/esm2022/lib/services/config-state.service.mjs +182 -0
  73. package/esm2022/lib/services/content-projection.service.mjs +18 -0
  74. package/esm2022/lib/services/dom-insertion.service.mjs +35 -0
  75. package/esm2022/lib/services/environment.service.mjs +49 -0
  76. package/esm2022/lib/services/http-error-reporter.service.mjs +30 -0
  77. package/esm2022/lib/services/http-wait.service.mjs +76 -0
  78. package/{esm2020 → esm2022}/lib/services/index.mjs +21 -21
  79. package/esm2022/lib/services/lazy-load.service.mjs +41 -0
  80. package/esm2022/lib/services/list.service.mjs +103 -0
  81. package/esm2022/lib/services/local-storage.service.mjs +33 -0
  82. package/esm2022/lib/services/localization.service.mjs +218 -0
  83. package/esm2022/lib/services/multi-tenancy.service.mjs +49 -0
  84. package/esm2022/lib/services/permission.service.mjs +64 -0
  85. package/esm2022/lib/services/replaceable-components.service.mjs +50 -0
  86. package/esm2022/lib/services/resource-wait.service.mjs +40 -0
  87. package/esm2022/lib/services/rest.service.mjs +79 -0
  88. package/esm2022/lib/services/router-events.service.mjs +39 -0
  89. package/esm2022/lib/services/router-wait.service.mjs +52 -0
  90. package/esm2022/lib/services/routes.service.mjs +165 -0
  91. package/esm2022/lib/services/session-state.service.mjs +81 -0
  92. package/esm2022/lib/services/subscription.service.mjs +44 -0
  93. package/esm2022/lib/services/track-by.service.mjs +22 -0
  94. package/{esm2020 → esm2022}/lib/strategies/container.strategy.mjs +37 -37
  95. package/{esm2020 → esm2022}/lib/strategies/content-security.strategy.mjs +29 -29
  96. package/{esm2020 → esm2022}/lib/strategies/content.strategy.mjs +51 -51
  97. package/{esm2020 → esm2022}/lib/strategies/context.strategy.mjs +36 -36
  98. package/{esm2020 → esm2022}/lib/strategies/cross-origin.strategy.mjs +27 -27
  99. package/{esm2020 → esm2022}/lib/strategies/dom.strategy.mjs +26 -26
  100. package/{esm2020 → esm2022}/lib/strategies/index.mjs +8 -8
  101. package/{esm2020 → esm2022}/lib/strategies/loading.strategy.mjs +57 -57
  102. package/{esm2020 → esm2022}/lib/strategies/projection.strategy.mjs +79 -79
  103. package/{esm2020 → esm2022}/lib/tokens/app-config.token.mjs +2 -2
  104. package/{esm2020 → esm2022}/lib/tokens/check-authentication-state.mjs +2 -2
  105. package/{esm2020 → esm2022}/lib/tokens/cookie-language-key.token.mjs +4 -4
  106. package/{esm2020 → esm2022}/lib/tokens/http-context.token.mjs +2 -2
  107. package/{esm2020 → esm2022}/lib/tokens/include-localization-resources.token.mjs +2 -2
  108. package/{esm2020 → esm2022}/lib/tokens/index.mjs +15 -15
  109. package/{esm2020 → esm2022}/lib/tokens/list.token.mjs +2 -2
  110. package/{esm2020 → esm2022}/lib/tokens/localization.token.mjs +9 -9
  111. package/{esm2020 → esm2022}/lib/tokens/lodaer-delay.token.mjs +2 -2
  112. package/{esm2020 → esm2022}/lib/tokens/manage-profile.token.mjs +2 -2
  113. package/{esm2020 → esm2022}/lib/tokens/options.token.mjs +7 -7
  114. package/{esm2020 → esm2022}/lib/tokens/others-group.token.mjs +2 -2
  115. package/{esm2020 → esm2022}/lib/tokens/pipe-to-login.token.mjs +2 -2
  116. package/{esm2020 → esm2022}/lib/tokens/queue.token.mjs +2 -2
  117. package/{esm2020 → esm2022}/lib/tokens/set-token-response-to-storage.token.mjs +5 -5
  118. package/{esm2020 → esm2022}/lib/tokens/tenant-key.token.mjs +2 -2
  119. package/{esm2020 → esm2022}/lib/utils/array-utils.mjs +6 -6
  120. package/{esm2020 → esm2022}/lib/utils/common-utils.mjs +34 -34
  121. package/{esm2020 → esm2022}/lib/utils/date-extensions.mjs +5 -5
  122. package/{esm2020 → esm2022}/lib/utils/date-utils.mjs +12 -12
  123. package/{esm2020 → esm2022}/lib/utils/environment-utils.mjs +35 -35
  124. package/{esm2020 → esm2022}/lib/utils/factory-utils.mjs +24 -24
  125. package/{esm2020 → esm2022}/lib/utils/file-utils.mjs +13 -13
  126. package/{esm2020 → esm2022}/lib/utils/form-utils.mjs +11 -11
  127. package/{esm2020 → esm2022}/lib/utils/generator-utils.mjs +33 -33
  128. package/{esm2020 → esm2022}/lib/utils/http-utils.mjs +18 -18
  129. package/{esm2020 → esm2022}/lib/utils/index.mjs +20 -20
  130. package/{esm2020 → esm2022}/lib/utils/initial-utils.mjs +59 -59
  131. package/esm2022/lib/utils/internal-store-utils.mjs +37 -0
  132. package/{esm2020 → esm2022}/lib/utils/lazy-load-utils.mjs +39 -39
  133. package/{esm2020 → esm2022}/lib/utils/localization-utils.mjs +48 -48
  134. package/{esm2020 → esm2022}/lib/utils/multi-tenancy-utils.mjs +80 -80
  135. package/{esm2020 → esm2022}/lib/utils/number-utils.mjs +3 -3
  136. package/{esm2020 → esm2022}/lib/utils/object-utils.mjs +36 -36
  137. package/{esm2020 → esm2022}/lib/utils/queue.mjs +40 -40
  138. package/{esm2020 → esm2022}/lib/utils/route-utils.mjs +25 -25
  139. package/{esm2020 → esm2022}/lib/utils/string-utils.mjs +29 -29
  140. package/{esm2020 → esm2022}/lib/utils/tree-utils.mjs +69 -69
  141. package/{esm2020 → esm2022}/lib/validators/age.validator.mjs +13 -13
  142. package/{esm2020 → esm2022}/lib/validators/credit-card.validator.mjs +20 -20
  143. package/esm2022/lib/validators/index.mjs +29 -0
  144. package/{esm2020 → esm2022}/lib/validators/range.validator.mjs +14 -14
  145. package/{esm2020 → esm2022}/lib/validators/required.validator.mjs +14 -14
  146. package/{esm2020 → esm2022}/lib/validators/string-length.validator.mjs +14 -14
  147. package/esm2022/lib/validators/unique-character.validator.mjs +13 -0
  148. package/{esm2020 → esm2022}/lib/validators/url.validator.mjs +16 -16
  149. package/{esm2020 → esm2022}/lib/validators/username.validator.mjs +13 -13
  150. package/{esm2020 → esm2022}/locale/abp-ng.core-locale.mjs +4 -4
  151. package/{esm2020 → esm2022}/locale/public-api.mjs +1 -1
  152. package/{esm2020 → esm2022}/locale/utils/register-locale.mjs +46 -46
  153. package/{esm2020 → esm2022}/public-api.mjs +26 -26
  154. package/{esm2020 → esm2022}/testing/abp-ng.core-testing.mjs +4 -4
  155. package/esm2022/testing/lib/core-testing.module.mjs +68 -0
  156. package/{esm2020 → esm2022}/testing/lib/services/index.mjs +2 -2
  157. package/esm2022/testing/lib/services/mock-permission.service.mjs +36 -0
  158. package/esm2022/testing/lib/services/mock-rest.service.mjs +32 -0
  159. package/{esm2020 → esm2022}/testing/lib/utils/clear-page.util.mjs +9 -9
  160. package/{esm2020 → esm2022}/testing/lib/utils/index.mjs +2 -2
  161. package/{esm2020 → esm2022}/testing/lib/utils/wait.util.mjs +4 -4
  162. package/{esm2020 → esm2022}/testing/public-api.mjs +3 -3
  163. package/{fesm2020 → fesm2022}/abp-ng.core-locale.mjs +45 -45
  164. package/{fesm2020 → fesm2022}/abp-ng.core-testing.mjs +120 -120
  165. package/{fesm2020 → fesm2022}/abp-ng.core-testing.mjs.map +1 -1
  166. package/{fesm2020 → fesm2022}/abp-ng.core.mjs +4199 -4187
  167. package/fesm2022/abp-ng.core.mjs.map +1 -0
  168. package/index.d.ts +5 -5
  169. package/lib/abstracts/abstract-guard.d.ts +5 -0
  170. package/lib/abstracts/auth-response.model.d.ts +10 -10
  171. package/lib/abstracts/auth.guard.d.ts +9 -10
  172. package/lib/abstracts/auth.service.d.ts +30 -30
  173. package/lib/abstracts/index.d.ts +5 -4
  174. package/lib/abstracts/ng-model.component.d.ts +25 -25
  175. package/lib/clients/http.client.d.ts +11 -11
  176. package/lib/clients/index.d.ts +1 -1
  177. package/lib/components/dynamic-layout.component.d.ts +28 -28
  178. package/lib/components/index.d.ts +3 -3
  179. package/lib/components/replaceable-route-container.component.d.ts +17 -17
  180. package/lib/components/router-outlet.component.d.ts +5 -5
  181. package/lib/constants/different-locales.d.ts +334 -334
  182. package/lib/constants/index.d.ts +1 -1
  183. package/lib/core.module.d.ts +57 -57
  184. package/lib/directives/autofocus.directive.d.ts +12 -12
  185. package/lib/directives/debounce.directive.d.ts +13 -13
  186. package/lib/directives/for.directive.d.ts +36 -36
  187. package/lib/directives/form-submit.directive.d.ts +23 -23
  188. package/lib/directives/index.d.ts +8 -8
  189. package/lib/directives/init.directive.d.ts +10 -10
  190. package/lib/directives/permission.directive.d.ts +24 -24
  191. package/lib/directives/replaceable-template.directive.d.ts +29 -29
  192. package/lib/directives/stop-propagation.directive.d.ts +12 -12
  193. package/lib/enums/common.d.ts +5 -5
  194. package/lib/enums/index.d.ts +1 -1
  195. package/lib/guards/index.d.ts +1 -1
  196. package/lib/guards/permission.guard.d.ts +16 -16
  197. package/lib/handlers/routes.handler.d.ts +11 -11
  198. package/lib/interceptors/api.interceptor.d.ts +14 -14
  199. package/lib/interceptors/index.d.ts +1 -1
  200. package/lib/localization.module.d.ts +7 -7
  201. package/lib/models/auth.d.ts +14 -14
  202. package/lib/models/common.d.ts +79 -79
  203. package/lib/models/dtos.d.ts +107 -107
  204. package/lib/models/environment.d.ts +38 -38
  205. package/lib/models/index.d.ts +9 -9
  206. package/lib/models/localization.d.ts +5 -5
  207. package/lib/models/replaceable-components.d.ts +45 -45
  208. package/lib/models/rest.d.ts +36 -36
  209. package/lib/models/session.d.ts +7 -7
  210. package/lib/models/utility.d.ts +14 -14
  211. package/lib/pipes/index.d.ts +7 -7
  212. package/lib/pipes/localization.pipe.d.ts +12 -12
  213. package/lib/pipes/safe-html.pipe.d.ts +9 -9
  214. package/lib/pipes/short-date-time.pipe.d.ts +12 -12
  215. package/lib/pipes/short-date.pipe.d.ts +12 -12
  216. package/lib/pipes/short-time.pipe.d.ts +12 -12
  217. package/lib/pipes/sort.pipe.d.ts +9 -9
  218. package/lib/pipes/to-injector.pipe.d.ts +10 -10
  219. package/lib/providers/cookie-language.provider.d.ts +3 -3
  220. package/lib/providers/include-localization-resources.provider.d.ts +2 -2
  221. package/lib/providers/locale.provider.d.ts +9 -9
  222. package/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.d.ts +12 -12
  223. package/lib/proxy/pages/abp/multi-tenancy/index.d.ts +1 -1
  224. package/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.d.ts +11 -11
  225. package/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.d.ts +1 -1
  226. package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.d.ts +11 -11
  227. package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service.d.ts +11 -11
  228. package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.d.ts +5 -5
  229. package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.d.ts +106 -106
  230. package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.d.ts +1 -1
  231. package/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.d.ts +71 -71
  232. package/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.d.ts +1 -1
  233. package/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.d.ts +14 -14
  234. package/lib/proxy/volo/abp/http/modeling/index.d.ts +1 -1
  235. package/lib/proxy/volo/abp/http/modeling/models.d.ts +88 -88
  236. package/lib/proxy/volo/abp/localization/index.d.ts +1 -1
  237. package/lib/proxy/volo/abp/localization/models.d.ts +7 -7
  238. package/lib/proxy/volo/abp/models.d.ts +4 -4
  239. package/lib/services/config-state.service.d.ts +379 -378
  240. package/lib/services/content-projection.service.d.ts +10 -10
  241. package/lib/services/dom-insertion.service.d.ts +10 -10
  242. package/lib/services/environment.service.d.ts +103 -103
  243. package/lib/services/http-error-reporter.service.d.ts +12 -12
  244. package/lib/services/http-wait.service.d.ts +30 -30
  245. package/lib/services/index.d.ts +21 -21
  246. package/lib/services/lazy-load.service.d.ts +13 -13
  247. package/lib/services/list.service.d.ts +39 -39
  248. package/lib/services/local-storage.service.d.ts +13 -13
  249. package/lib/services/localization.service.d.ts +54 -54
  250. package/lib/services/multi-tenancy.service.d.ts +22 -22
  251. package/lib/services/permission.service.d.ts +19 -19
  252. package/lib/services/replaceable-components.service.d.ts +19 -19
  253. package/lib/services/resource-wait.service.d.ts +15 -15
  254. package/lib/services/rest.service.d.ts +24 -24
  255. package/lib/services/router-events.service.d.ts +29 -29
  256. package/lib/services/router-wait.service.d.ts +20 -20
  257. package/lib/services/routes.service.d.ts +57 -57
  258. package/lib/services/session-state.service.d.ts +27 -27
  259. package/lib/services/subscription.service.d.ts +17 -17
  260. package/lib/services/track-by.service.d.ts +11 -11
  261. package/lib/strategies/container.strategy.d.ts +22 -22
  262. package/lib/strategies/content-security.strategy.d.ts +17 -17
  263. package/lib/strategies/content.strategy.d.ts +26 -26
  264. package/lib/strategies/context.strategy.d.ts +23 -23
  265. package/lib/strategies/cross-origin.strategy.d.ts +14 -14
  266. package/lib/strategies/dom.strategy.d.ts +13 -13
  267. package/lib/strategies/index.d.ts +8 -8
  268. package/lib/strategies/loading.strategy.d.ts +28 -28
  269. package/lib/strategies/projection.strategy.d.ts +39 -39
  270. package/lib/tokens/app-config.token.d.ts +3 -3
  271. package/lib/tokens/check-authentication-state.d.ts +3 -3
  272. package/lib/tokens/cookie-language-key.token.d.ts +2 -2
  273. package/lib/tokens/http-context.token.d.ts +2 -2
  274. package/lib/tokens/include-localization-resources.token.d.ts +2 -2
  275. package/lib/tokens/index.d.ts +15 -15
  276. package/lib/tokens/list.token.d.ts +2 -2
  277. package/lib/tokens/localization.token.d.ts +6 -6
  278. package/lib/tokens/lodaer-delay.token.d.ts +2 -2
  279. package/lib/tokens/manage-profile.token.d.ts +2 -2
  280. package/lib/tokens/options.token.d.ts +4 -4
  281. package/lib/tokens/others-group.token.d.ts +2 -2
  282. package/lib/tokens/pipe-to-login.token.d.ts +3 -3
  283. package/lib/tokens/queue.token.d.ts +3 -3
  284. package/lib/tokens/set-token-response-to-storage.token.d.ts +6 -6
  285. package/lib/tokens/tenant-key.token.d.ts +2 -2
  286. package/lib/utils/array-utils.d.ts +1 -1
  287. package/lib/utils/common-utils.d.ts +11 -11
  288. package/lib/utils/date-extensions.d.ts +6 -6
  289. package/lib/utils/date-utils.d.ts +4 -4
  290. package/lib/utils/environment-utils.d.ts +3 -3
  291. package/lib/utils/factory-utils.d.ts +11 -11
  292. package/lib/utils/file-utils.d.ts +1 -1
  293. package/lib/utils/form-utils.d.ts +2 -2
  294. package/lib/utils/generator-utils.d.ts +3 -3
  295. package/lib/utils/http-utils.d.ts +8 -8
  296. package/lib/utils/index.d.ts +20 -20
  297. package/lib/utils/initial-utils.d.ts +3 -3
  298. package/lib/utils/internal-store-utils.d.ts +14 -14
  299. package/lib/utils/lazy-load-utils.d.ts +4 -4
  300. package/lib/utils/localization-utils.d.ts +5 -5
  301. package/lib/utils/multi-tenancy-utils.d.ts +3 -3
  302. package/lib/utils/number-utils.d.ts +1 -1
  303. package/lib/utils/object-utils.d.ts +2 -2
  304. package/lib/utils/queue.d.ts +14 -14
  305. package/lib/utils/route-utils.d.ts +8 -8
  306. package/lib/utils/string-utils.d.ts +3 -3
  307. package/lib/utils/tree-utils.d.ts +26 -26
  308. package/lib/validators/age.validator.d.ts +10 -10
  309. package/lib/validators/credit-card.validator.d.ts +5 -5
  310. package/lib/validators/index.d.ts +28 -24
  311. package/lib/validators/range.validator.d.ts +12 -12
  312. package/lib/validators/required.validator.d.ts +8 -8
  313. package/lib/validators/string-length.validator.d.ts +14 -14
  314. package/lib/validators/unique-character.validator.d.ts +5 -0
  315. package/lib/validators/url.validator.d.ts +5 -5
  316. package/lib/validators/username.validator.d.ts +10 -10
  317. package/locale/index.d.ts +5 -5
  318. package/locale/public-api.d.ts +1 -1
  319. package/locale/utils/register-locale.d.ts +13 -13
  320. package/package.json +12 -22
  321. package/public-api.d.ts +25 -25
  322. package/testing/index.d.ts +5 -5
  323. package/testing/lib/core-testing.module.d.ts +16 -16
  324. package/testing/lib/services/index.d.ts +2 -2
  325. package/testing/lib/services/mock-permission.service.d.ts +10 -10
  326. package/testing/lib/services/mock-rest.service.d.ts +14 -14
  327. package/testing/lib/utils/clear-page.util.d.ts +2 -2
  328. package/testing/lib/utils/index.d.ts +2 -2
  329. package/testing/lib/utils/wait.util.d.ts +2 -2
  330. package/testing/public-api.d.ts +3 -3
  331. package/esm2020/lib/abstracts/auth.guard.mjs +0 -17
  332. package/esm2020/lib/abstracts/auth.service.mjs +0 -45
  333. package/esm2020/lib/abstracts/index.mjs +0 -5
  334. package/esm2020/lib/abstracts/ng-model.component.mjs +0 -59
  335. package/esm2020/lib/clients/http.client.mjs +0 -34
  336. package/esm2020/lib/components/dynamic-layout.component.mjs +0 -100
  337. package/esm2020/lib/components/replaceable-route-container.component.mjs +0 -42
  338. package/esm2020/lib/components/router-outlet.component.mjs +0 -15
  339. package/esm2020/lib/core.module.mjs +0 -282
  340. package/esm2020/lib/directives/autofocus.directive.mjs +0 -30
  341. package/esm2020/lib/directives/debounce.directive.mjs +0 -36
  342. package/esm2020/lib/directives/for.directive.mjs +0 -159
  343. package/esm2020/lib/directives/form-submit.directive.mjs +0 -77
  344. package/esm2020/lib/directives/init.directive.mjs +0 -21
  345. package/esm2020/lib/directives/permission.directive.mjs +0 -74
  346. package/esm2020/lib/directives/replaceable-template.directive.mjs +0 -132
  347. package/esm2020/lib/directives/stop-propagation.directive.mjs +0 -32
  348. package/esm2020/lib/guards/permission.guard.mjs +0 -44
  349. package/esm2020/lib/handlers/routes.handler.mjs +0 -51
  350. package/esm2020/lib/interceptors/api.interceptor.mjs +0 -27
  351. package/esm2020/lib/localization.module.mjs +0 -16
  352. package/esm2020/lib/pipes/localization.pipe.mjs +0 -33
  353. package/esm2020/lib/pipes/safe-html.pipe.mjs +0 -23
  354. package/esm2020/lib/pipes/short-date-time.pipe.mjs +0 -34
  355. package/esm2020/lib/pipes/short-date.pipe.mjs +0 -34
  356. package/esm2020/lib/pipes/short-time.pipe.mjs +0 -34
  357. package/esm2020/lib/pipes/sort.pipe.mjs +0 -49
  358. package/esm2020/lib/pipes/to-injector.pipe.mjs +0 -29
  359. package/esm2020/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.mjs +0 -27
  360. package/esm2020/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.mjs +0 -24
  361. package/esm2020/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.mjs +0 -24
  362. package/esm2020/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service.mjs +0 -24
  363. package/esm2020/lib/services/config-state.service.mjs +0 -178
  364. package/esm2020/lib/services/content-projection.service.mjs +0 -17
  365. package/esm2020/lib/services/dom-insertion.service.mjs +0 -34
  366. package/esm2020/lib/services/environment.service.mjs +0 -48
  367. package/esm2020/lib/services/http-error-reporter.service.mjs +0 -29
  368. package/esm2020/lib/services/http-wait.service.mjs +0 -75
  369. package/esm2020/lib/services/lazy-load.service.mjs +0 -40
  370. package/esm2020/lib/services/list.service.mjs +0 -102
  371. package/esm2020/lib/services/local-storage.service.mjs +0 -32
  372. package/esm2020/lib/services/localization.service.mjs +0 -217
  373. package/esm2020/lib/services/multi-tenancy.service.mjs +0 -48
  374. package/esm2020/lib/services/permission.service.mjs +0 -63
  375. package/esm2020/lib/services/replaceable-components.service.mjs +0 -49
  376. package/esm2020/lib/services/resource-wait.service.mjs +0 -39
  377. package/esm2020/lib/services/rest.service.mjs +0 -78
  378. package/esm2020/lib/services/router-events.service.mjs +0 -38
  379. package/esm2020/lib/services/router-wait.service.mjs +0 -51
  380. package/esm2020/lib/services/routes.service.mjs +0 -163
  381. package/esm2020/lib/services/session-state.service.mjs +0 -80
  382. package/esm2020/lib/services/subscription.service.mjs +0 -43
  383. package/esm2020/lib/services/track-by.service.mjs +0 -21
  384. package/esm2020/lib/utils/internal-store-utils.mjs +0 -37
  385. package/esm2020/lib/validators/index.mjs +0 -25
  386. package/esm2020/testing/lib/core-testing.module.mjs +0 -67
  387. package/esm2020/testing/lib/services/mock-permission.service.mjs +0 -35
  388. package/esm2020/testing/lib/services/mock-rest.service.mjs +0 -31
  389. package/fesm2015/abp-ng.core-locale.mjs +0 -57
  390. package/fesm2015/abp-ng.core-locale.mjs.map +0 -1
  391. package/fesm2015/abp-ng.core-testing.mjs +0 -146
  392. package/fesm2015/abp-ng.core-testing.mjs.map +0 -1
  393. package/fesm2015/abp-ng.core.mjs +0 -4460
  394. package/fesm2015/abp-ng.core.mjs.map +0 -1
  395. package/fesm2020/abp-ng.core.mjs.map +0 -1
  396. package/src/lib/proxy/README.md +0 -17
  397. /package/{fesm2020 → fesm2022}/abp-ng.core-locale.mjs.map +0 -0
@@ -0,0 +1,182 @@
1
+ import { Inject, Injectable, Optional } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { map, switchMap, take, tap } from 'rxjs/operators';
4
+ import { AbpApplicationConfigurationService } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service';
5
+ import { AbpApplicationLocalizationService } from '../proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service';
6
+ import { INCUDE_LOCALIZATION_RESOURCES_TOKEN } from '../tokens/include-localization-resources.token';
7
+ import { InternalStore } from '../utils/internal-store-utils';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service";
10
+ import * as i2 from "../proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service";
11
+ class ConfigStateService {
12
+ setState(config) {
13
+ this.store.set(config);
14
+ }
15
+ get createOnUpdateStream() {
16
+ return this.store.sliceUpdate;
17
+ }
18
+ constructor(abpConfigService, abpApplicationLocalizationService, includeLocalizationResources) {
19
+ this.abpConfigService = abpConfigService;
20
+ this.abpApplicationLocalizationService = abpApplicationLocalizationService;
21
+ this.includeLocalizationResources = includeLocalizationResources;
22
+ this.updateSubject = new Subject();
23
+ this.store = new InternalStore({});
24
+ this.initUpdateStream();
25
+ }
26
+ initUpdateStream() {
27
+ this.updateSubject
28
+ .pipe(switchMap(() => this.abpConfigService.get({
29
+ includeLocalizationResources: !!this.includeLocalizationResources,
30
+ })))
31
+ .pipe(switchMap(appState => this.getLocalizationAndCombineWithAppState(appState)))
32
+ .subscribe(res => this.store.set(res));
33
+ }
34
+ getLocalizationAndCombineWithAppState(appState) {
35
+ if (!appState.localization.currentCulture.cultureName) {
36
+ throw new Error('culture name should defined');
37
+ }
38
+ return this.getlocalizationResource(appState.localization.currentCulture.cultureName).pipe(map(result => ({ ...appState, localization: { ...appState.localization, ...result } })));
39
+ }
40
+ getlocalizationResource(cultureName) {
41
+ return this.abpApplicationLocalizationService.get({
42
+ cultureName: cultureName,
43
+ onlyDynamics: false,
44
+ });
45
+ }
46
+ refreshAppState() {
47
+ this.updateSubject.next();
48
+ return this.createOnUpdateStream(state => state).pipe(take(1));
49
+ }
50
+ refreshLocalization(lang) {
51
+ if (this.includeLocalizationResources) {
52
+ return this.refreshAppState().pipe(map(() => null));
53
+ }
54
+ else {
55
+ return this.getlocalizationResource(lang)
56
+ .pipe(tap(result => this.store.patch({ localization: { ...this.store.state.localization, ...result } })))
57
+ .pipe(map(() => null));
58
+ }
59
+ }
60
+ getOne$(key) {
61
+ return this.store.sliceState(state => state[key]);
62
+ }
63
+ getOne(key) {
64
+ return this.store.state[key];
65
+ }
66
+ getAll$() {
67
+ return this.store.sliceState(state => state);
68
+ }
69
+ getAll() {
70
+ return this.store.state;
71
+ }
72
+ getDeep$(keys) {
73
+ keys = splitKeys(keys);
74
+ return this.store
75
+ .sliceState(state => state)
76
+ .pipe(map(state => {
77
+ return keys.reduce((acc, val) => {
78
+ if (acc) {
79
+ return acc[val];
80
+ }
81
+ return undefined;
82
+ }, state);
83
+ }));
84
+ }
85
+ getDeep(keys) {
86
+ keys = splitKeys(keys);
87
+ return keys.reduce((acc, val) => {
88
+ if (acc) {
89
+ return acc[val];
90
+ }
91
+ return undefined;
92
+ }, this.store.state);
93
+ }
94
+ getFeature(key) {
95
+ return this.store.state.features?.values?.[key];
96
+ }
97
+ getFeature$(key) {
98
+ return this.store.sliceState(state => state.features?.values?.[key]);
99
+ }
100
+ getFeatures(keys) {
101
+ const { features } = this.store.state;
102
+ if (!features)
103
+ return;
104
+ return keys.reduce((acc, key) => ({ ...acc, [key]: features.values[key] }), {});
105
+ }
106
+ getFeatures$(keys) {
107
+ return this.store.sliceState(({ features }) => {
108
+ if (!features?.values)
109
+ return;
110
+ return keys.reduce((acc, key) => ({ ...acc, [key]: features.values[key] }), {});
111
+ });
112
+ }
113
+ getSetting(key) {
114
+ return this.store.state.setting?.values?.[key];
115
+ }
116
+ getSetting$(key) {
117
+ return this.store.sliceState(state => state.setting?.values?.[key]);
118
+ }
119
+ getSettings(keyword) {
120
+ const settings = this.store.state.setting?.values || {};
121
+ if (!keyword)
122
+ return settings;
123
+ const keysFound = Object.keys(settings).filter(key => key.indexOf(keyword) > -1);
124
+ return keysFound.reduce((acc, key) => {
125
+ acc[key] = settings[key];
126
+ return acc;
127
+ }, {});
128
+ }
129
+ getSettings$(keyword) {
130
+ return this.store
131
+ .sliceState(state => state.setting?.values)
132
+ .pipe(map((settings = {}) => {
133
+ if (!keyword)
134
+ return settings;
135
+ const keysFound = Object.keys(settings).filter(key => key.indexOf(keyword) > -1);
136
+ return keysFound.reduce((acc, key) => {
137
+ acc[key] = settings[key];
138
+ return acc;
139
+ }, {});
140
+ }));
141
+ }
142
+ getGlobalFeatures() {
143
+ return this.store.state.globalFeatures;
144
+ }
145
+ getGlobalFeatures$() {
146
+ return this.store.sliceState(state => state.globalFeatures);
147
+ }
148
+ isGlobalFeatureEnabled(key, globalFeatures) {
149
+ const features = globalFeatures.enabledFeatures || [];
150
+ return features.some(f => key === f);
151
+ }
152
+ getGlobalFeatureIsEnabled(key) {
153
+ return this.isGlobalFeatureEnabled(key, this.store.state.globalFeatures);
154
+ }
155
+ getGlobalFeatureIsEnabled$(key) {
156
+ return this.store.sliceState(state => this.isGlobalFeatureEnabled(key, state.globalFeatures));
157
+ }
158
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ConfigStateService, deps: [{ token: i1.AbpApplicationConfigurationService }, { token: i2.AbpApplicationLocalizationService }, { token: INCUDE_LOCALIZATION_RESOURCES_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
159
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ConfigStateService, providedIn: 'root' }); }
160
+ }
161
+ export { ConfigStateService };
162
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ConfigStateService, decorators: [{
163
+ type: Injectable,
164
+ args: [{
165
+ providedIn: 'root',
166
+ }]
167
+ }], ctorParameters: function () { return [{ type: i1.AbpApplicationConfigurationService }, { type: i2.AbpApplicationLocalizationService }, { type: undefined, decorators: [{
168
+ type: Optional
169
+ }, {
170
+ type: Inject,
171
+ args: [INCUDE_LOCALIZATION_RESOURCES_TOKEN]
172
+ }] }]; } });
173
+ function splitKeys(keys) {
174
+ if (typeof keys === 'string') {
175
+ keys = keys.split('.');
176
+ }
177
+ if (!Array.isArray(keys)) {
178
+ throw new Error('The argument must be a dot string or an string array.');
179
+ }
180
+ return keys;
181
+ }
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvc2VydmljZXMvY29uZmlnLXN0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHFHQUFxRyxDQUFDO0FBQ3pKLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLG9HQUFvRyxDQUFDO0FBS3ZKLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7OztBQUU5RCxNQUdhLGtCQUFrQjtJQUk3QixRQUFRLENBQUMsTUFBbUM7UUFDMUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7SUFDaEMsQ0FBQztJQUNELFlBQ1UsZ0JBQW9ELEVBQ3BELGlDQUFvRSxFQUczRCw0QkFBNEM7UUFKckQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFvQztRQUNwRCxzQ0FBaUMsR0FBakMsaUNBQWlDLENBQW1DO1FBRzNELGlDQUE0QixHQUE1Qiw0QkFBNEIsQ0FBZ0I7UUFmdkQsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzNCLFVBQUssR0FBRyxJQUFJLGFBQWEsQ0FBQyxFQUFpQyxDQUFDLENBQUM7UUFnQjVFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLGFBQWE7YUFDZixJQUFJLENBQ0gsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUNiLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUM7WUFDeEIsNEJBQTRCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyw0QkFBNEI7U0FDbEUsQ0FBQyxDQUNILENBQ0Y7YUFDQSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHFDQUFxQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7YUFDakYsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU8scUNBQXFDLENBQzNDLFFBQXFDO1FBRXJDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUU7WUFDckQsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1NBQ2hEO1FBQ0QsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUN4RixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxRQUFRLEVBQUUsWUFBWSxFQUFFLEVBQUUsR0FBRyxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQ3hGLENBQUM7SUFDSixDQUFDO0lBRU8sdUJBQXVCLENBQUMsV0FBbUI7UUFDakQsT0FBTyxJQUFJLENBQUMsaUNBQWlDLENBQUMsR0FBRyxDQUFDO1lBQ2hELFdBQVcsRUFBRSxXQUFXO1lBQ3hCLFlBQVksRUFBRSxLQUFLO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsbUJBQW1CLENBQUMsSUFBWTtRQUM5QixJQUFJLElBQUksQ0FBQyw0QkFBNEIsRUFBRTtZQUNyQyxPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDckQ7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQztpQkFDdEMsSUFBSSxDQUNILEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsWUFBWSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsR0FBRyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQ3BGLENBQ0Y7aUJBQ0EsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FBOEMsR0FBTTtRQUN6RCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELE1BQU0sQ0FBOEMsR0FBTTtRQUN4RCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQXVCO1FBQzlCLElBQUksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdkIsT0FBTyxJQUFJLENBQUMsS0FBSzthQUNkLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQzthQUMxQixJQUFJLENBQ0gsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ1YsT0FBUSxJQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQVEsRUFBRSxHQUFHLEVBQUUsRUFBRTtnQkFDakQsSUFBSSxHQUFHLEVBQUU7b0JBQ1AsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ2pCO2dCQUVELE9BQU8sU0FBUyxDQUFDO1lBQ25CLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQsT0FBTyxDQUFDLElBQXVCO1FBQzdCLElBQUksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdkIsT0FBUSxJQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQVEsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNqRCxJQUFJLEdBQUcsRUFBRTtnQkFDUCxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNqQjtZQUVELE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQVc7UUFDckIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQWM7UUFDeEIsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUV0QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQWM7UUFDekIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtZQUM1QyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU07Z0JBQUUsT0FBTztZQUU5QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNsRixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQVc7UUFDckIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQWdCO1FBQzFCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDO1FBRXhELElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTyxRQUFRLENBQUM7UUFFOUIsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFakYsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ25DLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDekIsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBNEIsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBZ0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsS0FBSzthQUNkLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDO2FBQzFDLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFRLEdBQUcsRUFBRSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLE9BQU87Z0JBQUUsT0FBTyxRQUFRLENBQUM7WUFFOUIsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFakYsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO2dCQUNuQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN6QixPQUFPLEdBQUcsQ0FBQztZQUNiLENBQUMsRUFBRSxFQUE0QixDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLHNCQUFzQixDQUM1QixHQUFXLEVBQ1gsY0FBd0Q7UUFFeEQsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUM7UUFDdEQsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxHQUFXO1FBQ25DLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsMEJBQTBCLENBQUMsR0FBVztRQUNwQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUNoRyxDQUFDOzhHQXhNVSxrQkFBa0IscUhBZW5CLG1DQUFtQztrSEFmbEMsa0JBQWtCLGNBRmpCLE1BQU07O1NBRVAsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFlSSxRQUFROzswQkFDUixNQUFNOzJCQUFDLG1DQUFtQzs7QUE0TC9DLFNBQVMsU0FBUyxDQUFDLElBQXVCO0lBQ3hDLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQzVCLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQ3hCO0lBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO0tBQzFFO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgc3dpdGNoTWFwLCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFicEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9wcm94eS92b2xvL2FicC9hc3AtbmV0LWNvcmUvbXZjL2FwcGxpY2F0aW9uLWNvbmZpZ3VyYXRpb25zL2FicC1hcHBsaWNhdGlvbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBYnBBcHBsaWNhdGlvbkxvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tICcuLi9wcm94eS92b2xvL2FicC9hc3AtbmV0LWNvcmUvbXZjL2FwcGxpY2F0aW9uLWNvbmZpZ3VyYXRpb25zL2FicC1hcHBsaWNhdGlvbi1sb2NhbGl6YXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgQXBwbGljYXRpb25Db25maWd1cmF0aW9uRHRvLFxyXG4gIEFwcGxpY2F0aW9uR2xvYmFsRmVhdHVyZUNvbmZpZ3VyYXRpb25EdG8sXHJcbn0gZnJvbSAnLi4vcHJveHkvdm9sby9hYnAvYXNwLW5ldC1jb3JlL212Yy9hcHBsaWNhdGlvbi1jb25maWd1cmF0aW9ucy9tb2RlbHMnO1xyXG5pbXBvcnQgeyBJTkNVREVfTE9DQUxJWkFUSU9OX1JFU09VUkNFU19UT0tFTiB9IGZyb20gJy4uL3Rva2Vucy9pbmNsdWRlLWxvY2FsaXphdGlvbi1yZXNvdXJjZXMudG9rZW4nO1xyXG5pbXBvcnQgeyBJbnRlcm5hbFN0b3JlIH0gZnJvbSAnLi4vdXRpbHMvaW50ZXJuYWwtc3RvcmUtdXRpbHMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbmZpZ1N0YXRlU2VydmljZSB7XHJcbiAgcHJpdmF0ZSB1cGRhdGVTdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IHN0b3JlID0gbmV3IEludGVybmFsU3RvcmUoe30gYXMgQXBwbGljYXRpb25Db25maWd1cmF0aW9uRHRvKTtcclxuXHJcbiAgc2V0U3RhdGUoY29uZmlnOiBBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb25EdG8pIHtcclxuICAgIHRoaXMuc3RvcmUuc2V0KGNvbmZpZyk7XHJcbiAgfVxyXG5cclxuICBnZXQgY3JlYXRlT25VcGRhdGVTdHJlYW0oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zbGljZVVwZGF0ZTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGFicENvbmZpZ1NlcnZpY2U6IEFicEFwcGxpY2F0aW9uQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFicEFwcGxpY2F0aW9uTG9jYWxpemF0aW9uU2VydmljZTogQWJwQXBwbGljYXRpb25Mb2NhbGl6YXRpb25TZXJ2aWNlLFxyXG4gICAgQE9wdGlvbmFsKClcclxuICAgIEBJbmplY3QoSU5DVURFX0xPQ0FMSVpBVElPTl9SRVNPVVJDRVNfVE9LRU4pXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluY2x1ZGVMb2NhbGl6YXRpb25SZXNvdXJjZXM6IGJvb2xlYW4gfCBudWxsLFxyXG4gICkge1xyXG4gICAgdGhpcy5pbml0VXBkYXRlU3RyZWFtKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRVcGRhdGVTdHJlYW0oKSB7XHJcbiAgICB0aGlzLnVwZGF0ZVN1YmplY3RcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+XHJcbiAgICAgICAgICB0aGlzLmFicENvbmZpZ1NlcnZpY2UuZ2V0KHtcclxuICAgICAgICAgICAgaW5jbHVkZUxvY2FsaXphdGlvblJlc291cmNlczogISF0aGlzLmluY2x1ZGVMb2NhbGl6YXRpb25SZXNvdXJjZXMsXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICApLFxyXG4gICAgICApXHJcbiAgICAgIC5waXBlKHN3aXRjaE1hcChhcHBTdGF0ZSA9PiB0aGlzLmdldExvY2FsaXphdGlvbkFuZENvbWJpbmVXaXRoQXBwU3RhdGUoYXBwU3RhdGUpKSlcclxuICAgICAgLnN1YnNjcmliZShyZXMgPT4gdGhpcy5zdG9yZS5zZXQocmVzKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldExvY2FsaXphdGlvbkFuZENvbWJpbmVXaXRoQXBwU3RhdGUoXHJcbiAgICBhcHBTdGF0ZTogQXBwbGljYXRpb25Db25maWd1cmF0aW9uRHRvLFxyXG4gICk6IE9ic2VydmFibGU8QXBwbGljYXRpb25Db25maWd1cmF0aW9uRHRvPiB7XHJcbiAgICBpZiAoIWFwcFN0YXRlLmxvY2FsaXphdGlvbi5jdXJyZW50Q3VsdHVyZS5jdWx0dXJlTmFtZSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2N1bHR1cmUgbmFtZSBzaG91bGQgZGVmaW5lZCcpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuZ2V0bG9jYWxpemF0aW9uUmVzb3VyY2UoYXBwU3RhdGUubG9jYWxpemF0aW9uLmN1cnJlbnRDdWx0dXJlLmN1bHR1cmVOYW1lKS5waXBlKFxyXG4gICAgICBtYXAocmVzdWx0ID0+ICh7IC4uLmFwcFN0YXRlLCBsb2NhbGl6YXRpb246IHsgLi4uYXBwU3RhdGUubG9jYWxpemF0aW9uLCAuLi5yZXN1bHQgfSB9KSksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRsb2NhbGl6YXRpb25SZXNvdXJjZShjdWx0dXJlTmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hYnBBcHBsaWNhdGlvbkxvY2FsaXphdGlvblNlcnZpY2UuZ2V0KHtcclxuICAgICAgY3VsdHVyZU5hbWU6IGN1bHR1cmVOYW1lLFxyXG4gICAgICBvbmx5RHluYW1pY3M6IGZhbHNlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoQXBwU3RhdGUoKSB7XHJcbiAgICB0aGlzLnVwZGF0ZVN1YmplY3QubmV4dCgpO1xyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlT25VcGRhdGVTdHJlYW0oc3RhdGUgPT4gc3RhdGUpLnBpcGUodGFrZSgxKSk7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoTG9jYWxpemF0aW9uKGxhbmc6IHN0cmluZyk6IE9ic2VydmFibGU8bnVsbD4ge1xyXG4gICAgaWYgKHRoaXMuaW5jbHVkZUxvY2FsaXphdGlvblJlc291cmNlcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5yZWZyZXNoQXBwU3RhdGUoKS5waXBlKG1hcCgoKSA9PiBudWxsKSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5nZXRsb2NhbGl6YXRpb25SZXNvdXJjZShsYW5nKVxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgdGFwKHJlc3VsdCA9PlxyXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnBhdGNoKHsgbG9jYWxpemF0aW9uOiB7IC4uLnRoaXMuc3RvcmUuc3RhdGUubG9jYWxpemF0aW9uLCAuLi5yZXN1bHQgfSB9KSxcclxuICAgICAgICAgICksXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5waXBlKG1hcCgoKSA9PiBudWxsKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRPbmUkPEsgZXh0ZW5kcyBrZXlvZiBBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb25EdG8+KGtleTogSykge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2xpY2VTdGF0ZShzdGF0ZSA9PiBzdGF0ZVtrZXldKTtcclxuICB9XHJcblxyXG4gIGdldE9uZTxLIGV4dGVuZHMga2V5b2YgQXBwbGljYXRpb25Db25maWd1cmF0aW9uRHRvPihrZXk6IEspIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlLnN0YXRlW2tleV07XHJcbiAgfVxyXG5cclxuICBnZXRBbGwkKCk6IE9ic2VydmFibGU8QXBwbGljYXRpb25Db25maWd1cmF0aW9uRHRvPiB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zbGljZVN0YXRlKHN0YXRlID0+IHN0YXRlKTtcclxuICB9XHJcblxyXG4gIGdldEFsbCgpOiBBcHBsaWNhdGlvbkNvbmZpZ3VyYXRpb25EdG8ge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc3RhdGU7XHJcbiAgfVxyXG5cclxuICBnZXREZWVwJChrZXlzOiBzdHJpbmdbXSB8IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBrZXlzID0gc3BsaXRLZXlzKGtleXMpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLnN0b3JlXHJcbiAgICAgIC5zbGljZVN0YXRlKHN0YXRlID0+IHN0YXRlKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoc3RhdGUgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIChrZXlzIGFzIHN0cmluZ1tdKS5yZWR1Y2UoKGFjYzogYW55LCB2YWwpID0+IHtcclxuICAgICAgICAgICAgaWYgKGFjYykge1xyXG4gICAgICAgICAgICAgIHJldHVybiBhY2NbdmFsXTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICAgIH0sIHN0YXRlKTtcclxuICAgICAgICB9KSxcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIGdldERlZXAoa2V5czogc3RyaW5nW10gfCBzdHJpbmcpOiBhbnkge1xyXG4gICAga2V5cyA9IHNwbGl0S2V5cyhrZXlzKTtcclxuXHJcbiAgICByZXR1cm4gKGtleXMgYXMgc3RyaW5nW10pLnJlZHVjZSgoYWNjOiBhbnksIHZhbCkgPT4ge1xyXG4gICAgICBpZiAoYWNjKSB7XHJcbiAgICAgICAgcmV0dXJuIGFjY1t2YWxdO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfSwgdGhpcy5zdG9yZS5zdGF0ZSk7XHJcbiAgfVxyXG5cclxuICBnZXRGZWF0dXJlKGtleTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zdGF0ZS5mZWF0dXJlcz8udmFsdWVzPy5ba2V5XTtcclxuICB9XHJcblxyXG4gIGdldEZlYXR1cmUkKGtleTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zbGljZVN0YXRlKHN0YXRlID0+IHN0YXRlLmZlYXR1cmVzPy52YWx1ZXM/LltrZXldKTtcclxuICB9XHJcblxyXG4gIGdldEZlYXR1cmVzKGtleXM6IHN0cmluZ1tdKSB7XHJcbiAgICBjb25zdCB7IGZlYXR1cmVzIH0gPSB0aGlzLnN0b3JlLnN0YXRlO1xyXG4gICAgaWYgKCFmZWF0dXJlcykgcmV0dXJuO1xyXG5cclxuICAgIHJldHVybiBrZXlzLnJlZHVjZSgoYWNjLCBrZXkpID0+ICh7IC4uLmFjYywgW2tleV06IGZlYXR1cmVzLnZhbHVlc1trZXldIH0pLCB7fSk7XHJcbiAgfVxyXG5cclxuICBnZXRGZWF0dXJlcyQoa2V5czogc3RyaW5nW10pOiBPYnNlcnZhYmxlPHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfCB1bmRlZmluZWQ+IHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlLnNsaWNlU3RhdGUoKHsgZmVhdHVyZXMgfSkgPT4ge1xyXG4gICAgICBpZiAoIWZlYXR1cmVzPy52YWx1ZXMpIHJldHVybjtcclxuXHJcbiAgICAgIHJldHVybiBrZXlzLnJlZHVjZSgoYWNjLCBrZXkpID0+ICh7IC4uLmFjYywgW2tleV06IGZlYXR1cmVzLnZhbHVlc1trZXldIH0pLCB7fSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFNldHRpbmcoa2V5OiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlLnN0YXRlLnNldHRpbmc/LnZhbHVlcz8uW2tleV07XHJcbiAgfVxyXG5cclxuICBnZXRTZXR0aW5nJChrZXk6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2xpY2VTdGF0ZShzdGF0ZSA9PiBzdGF0ZS5zZXR0aW5nPy52YWx1ZXM/LltrZXldKTtcclxuICB9XHJcblxyXG4gIGdldFNldHRpbmdzKGtleXdvcmQ/OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHNldHRpbmdzID0gdGhpcy5zdG9yZS5zdGF0ZS5zZXR0aW5nPy52YWx1ZXMgfHwge307XHJcblxyXG4gICAgaWYgKCFrZXl3b3JkKSByZXR1cm4gc2V0dGluZ3M7XHJcblxyXG4gICAgY29uc3Qga2V5c0ZvdW5kID0gT2JqZWN0LmtleXMoc2V0dGluZ3MpLmZpbHRlcihrZXkgPT4ga2V5LmluZGV4T2Yoa2V5d29yZCkgPiAtMSk7XHJcblxyXG4gICAgcmV0dXJuIGtleXNGb3VuZC5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XHJcbiAgICAgIGFjY1trZXldID0gc2V0dGluZ3Nba2V5XTtcclxuICAgICAgcmV0dXJuIGFjYztcclxuICAgIH0sIHt9IGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz4pO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2V0dGluZ3MkKGtleXdvcmQ/OiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlXHJcbiAgICAgIC5zbGljZVN0YXRlKHN0YXRlID0+IHN0YXRlLnNldHRpbmc/LnZhbHVlcylcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChzZXR0aW5ncyA9IHt9KSA9PiB7XHJcbiAgICAgICAgICBpZiAoIWtleXdvcmQpIHJldHVybiBzZXR0aW5ncztcclxuXHJcbiAgICAgICAgICBjb25zdCBrZXlzRm91bmQgPSBPYmplY3Qua2V5cyhzZXR0aW5ncykuZmlsdGVyKGtleSA9PiBrZXkuaW5kZXhPZihrZXl3b3JkKSA+IC0xKTtcclxuXHJcbiAgICAgICAgICByZXR1cm4ga2V5c0ZvdW5kLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcclxuICAgICAgICAgICAgYWNjW2tleV0gPSBzZXR0aW5nc1trZXldO1xyXG4gICAgICAgICAgICByZXR1cm4gYWNjO1xyXG4gICAgICAgICAgfSwge30gYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPik7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRHbG9iYWxGZWF0dXJlcygpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlLnN0YXRlLmdsb2JhbEZlYXR1cmVzO1xyXG4gIH1cclxuXHJcbiAgZ2V0R2xvYmFsRmVhdHVyZXMkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2xpY2VTdGF0ZShzdGF0ZSA9PiBzdGF0ZS5nbG9iYWxGZWF0dXJlcyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzR2xvYmFsRmVhdHVyZUVuYWJsZWQoXHJcbiAgICBrZXk6IHN0cmluZyxcclxuICAgIGdsb2JhbEZlYXR1cmVzOiBBcHBsaWNhdGlvbkdsb2JhbEZlYXR1cmVDb25maWd1cmF0aW9uRHRvLFxyXG4gICkge1xyXG4gICAgY29uc3QgZmVhdHVyZXMgPSBnbG9iYWxGZWF0dXJlcy5lbmFibGVkRmVhdHVyZXMgfHwgW107XHJcbiAgICByZXR1cm4gZmVhdHVyZXMuc29tZShmID0+IGtleSA9PT0gZik7XHJcbiAgfVxyXG5cclxuICBnZXRHbG9iYWxGZWF0dXJlSXNFbmFibGVkKGtleTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5pc0dsb2JhbEZlYXR1cmVFbmFibGVkKGtleSwgdGhpcy5zdG9yZS5zdGF0ZS5nbG9iYWxGZWF0dXJlcyk7XHJcbiAgfVxyXG5cclxuICBnZXRHbG9iYWxGZWF0dXJlSXNFbmFibGVkJChrZXk6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2xpY2VTdGF0ZShzdGF0ZSA9PiB0aGlzLmlzR2xvYmFsRmVhdHVyZUVuYWJsZWQoa2V5LCBzdGF0ZS5nbG9iYWxGZWF0dXJlcykpO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gc3BsaXRLZXlzKGtleXM6IHN0cmluZ1tdIHwgc3RyaW5nKTogc3RyaW5nW10ge1xyXG4gIGlmICh0eXBlb2Yga2V5cyA9PT0gJ3N0cmluZycpIHtcclxuICAgIGtleXMgPSBrZXlzLnNwbGl0KCcuJyk7XHJcbiAgfVxyXG5cclxuICBpZiAoIUFycmF5LmlzQXJyYXkoa2V5cykpIHtcclxuICAgIHRocm93IG5ldyBFcnJvcignVGhlIGFyZ3VtZW50IG11c3QgYmUgYSBkb3Qgc3RyaW5nIG9yIGFuIHN0cmluZyBhcnJheS4nKTtcclxuICB9XHJcblxyXG4gIHJldHVybiBrZXlzO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { Injectable, Injector } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ class ContentProjectionService {
4
+ constructor(injector) {
5
+ this.injector = injector;
6
+ }
7
+ projectContent(projectionStrategy, injector = this.injector) {
8
+ return projectionStrategy.injectContent(injector);
9
+ }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ContentProjectionService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
11
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ContentProjectionService, providedIn: 'root' }); }
12
+ }
13
+ export { ContentProjectionService };
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ContentProjectionService, decorators: [{
15
+ type: Injectable,
16
+ args: [{ providedIn: 'root' }]
17
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1wcm9qZWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvc2VydmljZXMvY29udGVudC1wcm9qZWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQXFCLE1BQU0sZUFBZSxDQUFDOztBQUd4RSxNQUNhLHdCQUF3QjtJQUNuQyxZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQUcsQ0FBQztJQUUxQyxjQUFjLENBQ1osa0JBQXlDLEVBQ3pDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUTtRQUV4QixPQUFPLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwRCxDQUFDOzhHQVJVLHdCQUF3QjtrSEFBeEIsd0JBQXdCLGNBRFgsTUFBTTs7U0FDbkIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIFRlbXBsYXRlUmVmLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFByb2plY3Rpb25TdHJhdGVneSB9IGZyb20gJy4uL3N0cmF0ZWdpZXMvcHJvamVjdGlvbi5zdHJhdGVneSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgQ29udGVudFByb2plY3Rpb25TZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge31cclxuXHJcbiAgcHJvamVjdENvbnRlbnQ8VCBleHRlbmRzIFR5cGU8YW55PiB8IFRlbXBsYXRlUmVmPGFueT4+KFxyXG4gICAgcHJvamVjdGlvblN0cmF0ZWd5OiBQcm9qZWN0aW9uU3RyYXRlZ3k8VD4sXHJcbiAgICBpbmplY3RvciA9IHRoaXMuaW5qZWN0b3IsXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gcHJvamVjdGlvblN0cmF0ZWd5LmluamVjdENvbnRlbnQoaW5qZWN0b3IpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,35 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { generateHash } from '../utils';
3
+ import * as i0 from "@angular/core";
4
+ class DomInsertionService {
5
+ constructor() {
6
+ this.inserted = new Set();
7
+ }
8
+ insertContent(contentStrategy) {
9
+ const hash = generateHash(contentStrategy.content);
10
+ if (this.inserted.has(hash))
11
+ return;
12
+ const element = contentStrategy.insertElement();
13
+ this.inserted.add(hash);
14
+ return element;
15
+ }
16
+ removeContent(element) {
17
+ if (element.textContent) {
18
+ const hash = generateHash(element.textContent);
19
+ this.inserted.delete(hash);
20
+ element.parentNode?.removeChild(element);
21
+ }
22
+ }
23
+ has(content) {
24
+ const hash = generateHash(content);
25
+ return this.inserted.has(hash);
26
+ }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: DomInsertionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
28
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: DomInsertionService, providedIn: 'root' }); }
29
+ }
30
+ export { DomInsertionService };
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: DomInsertionService, decorators: [{
32
+ type: Injectable,
33
+ args: [{ providedIn: 'root' }]
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLWluc2VydGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3NlcnZpY2VzL2RvbS1pbnNlcnRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBRXhDLE1BQ2EsbUJBQW1CO0lBRGhDO1FBRW1CLGFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0tBNEIvQztJQTFCQyxhQUFhLENBQ1gsZUFBbUM7UUFFbkMsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVuRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQztZQUFFLE9BQU87UUFFcEMsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhCLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBNkM7UUFDekQsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQ3ZCLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0IsT0FBTyxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDMUM7SUFDSCxDQUFDO0lBRUQsR0FBRyxDQUFDLE9BQWU7UUFDakIsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRW5DLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQzs4R0E1QlUsbUJBQW1CO2tIQUFuQixtQkFBbUIsY0FETixNQUFNOztTQUNuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRlbnRTdHJhdGVneSB9IGZyb20gJy4uL3N0cmF0ZWdpZXMvY29udGVudC5zdHJhdGVneSc7XHJcbmltcG9ydCB7IGdlbmVyYXRlSGFzaCB9IGZyb20gJy4uL3V0aWxzJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBEb21JbnNlcnRpb25TZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGluc2VydGVkID0gbmV3IFNldDxudW1iZXI+KCk7XHJcblxyXG4gIGluc2VydENvbnRlbnQ8VCBleHRlbmRzIEhUTUxTY3JpcHRFbGVtZW50IHwgSFRNTFN0eWxlRWxlbWVudD4oXHJcbiAgICBjb250ZW50U3RyYXRlZ3k6IENvbnRlbnRTdHJhdGVneTxUPixcclxuICApOiBUIHwgdW5kZWZpbmVkIHtcclxuICAgIGNvbnN0IGhhc2ggPSBnZW5lcmF0ZUhhc2goY29udGVudFN0cmF0ZWd5LmNvbnRlbnQpO1xyXG5cclxuICAgIGlmICh0aGlzLmluc2VydGVkLmhhcyhoYXNoKSkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGVsZW1lbnQgPSBjb250ZW50U3RyYXRlZ3kuaW5zZXJ0RWxlbWVudCgpO1xyXG4gICAgdGhpcy5pbnNlcnRlZC5hZGQoaGFzaCk7XHJcblxyXG4gICAgcmV0dXJuIGVsZW1lbnQ7XHJcbiAgfVxyXG5cclxuICByZW1vdmVDb250ZW50KGVsZW1lbnQ6IEhUTUxTY3JpcHRFbGVtZW50IHwgSFRNTFN0eWxlRWxlbWVudCkge1xyXG4gICAgaWYgKGVsZW1lbnQudGV4dENvbnRlbnQpIHtcclxuICAgICAgY29uc3QgaGFzaCA9IGdlbmVyYXRlSGFzaChlbGVtZW50LnRleHRDb250ZW50KTtcclxuICAgICAgdGhpcy5pbnNlcnRlZC5kZWxldGUoaGFzaCk7XHJcbiAgICAgIGVsZW1lbnQucGFyZW50Tm9kZT8ucmVtb3ZlQ2hpbGQoZWxlbWVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYXMoY29udGVudDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBoYXNoID0gZ2VuZXJhdGVIYXNoKGNvbnRlbnQpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmluc2VydGVkLmhhcyhoYXNoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,49 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { map } from 'rxjs/operators';
3
+ import { InternalStore } from '../utils/internal-store-utils';
4
+ import * as i0 from "@angular/core";
5
+ const mapToApiUrl = (key) => (apis) => ((key && apis[key]) || apis.default).url || apis.default.url;
6
+ const mapToIssuer = (issuer) => {
7
+ if (!issuer) {
8
+ return issuer;
9
+ }
10
+ return issuer.endsWith('/') ? issuer : issuer + '/';
11
+ };
12
+ class EnvironmentService {
13
+ constructor() {
14
+ this.store = new InternalStore({});
15
+ }
16
+ get createOnUpdateStream() {
17
+ return this.store.sliceUpdate;
18
+ }
19
+ getEnvironment$() {
20
+ return this.store.sliceState(state => state);
21
+ }
22
+ getEnvironment() {
23
+ return this.store.state;
24
+ }
25
+ getApiUrl(key) {
26
+ return mapToApiUrl(key)(this.store.state?.apis);
27
+ }
28
+ getApiUrl$(key) {
29
+ return this.store.sliceState(state => state.apis).pipe(map(mapToApiUrl(key)));
30
+ }
31
+ setState(environment) {
32
+ this.store.set(environment);
33
+ }
34
+ getIssuer() {
35
+ const issuer = this.store.state?.oAuthConfig?.issuer;
36
+ return mapToIssuer(issuer);
37
+ }
38
+ getIssuer$() {
39
+ return this.store.sliceState(state => state?.oAuthConfig?.issuer).pipe(map(mapToIssuer));
40
+ }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: EnvironmentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
42
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: EnvironmentService, providedIn: 'root' }); }
43
+ }
44
+ export { EnvironmentService };
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: EnvironmentService, decorators: [{
46
+ type: Injectable,
47
+ args: [{ providedIn: 'root' }]
48
+ }] });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9zZXJ2aWNlcy9lbnZpcm9ubWVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFFOUQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQVUsRUFBRSxFQUFFLENBQzlELENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztBQUUvRCxNQUFNLFdBQVcsR0FBRyxDQUFDLE1BQTBCLEVBQUUsRUFBRTtJQUNqRCxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ1gsT0FBTyxNQUFNLENBQUM7S0FDZjtJQUNELE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO0FBQ3RELENBQUMsQ0FBQztBQUVGLE1BQ2Esa0JBQWtCO0lBRC9CO1FBRW1CLFVBQUssR0FBRyxJQUFJLGFBQWEsQ0FBQyxFQUFpQixDQUFDLENBQUM7S0FtQy9EO0lBakNDLElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7SUFDaEMsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBdUI7UUFDL0IsT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxRQUFRLENBQUMsV0FBd0I7UUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFNBQVM7UUFDUCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDO1FBRXJELE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQzNGLENBQUM7OEdBbkNVLGtCQUFrQjtrSEFBbEIsa0JBQWtCLGNBREwsTUFBTTs7U0FDbkIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQXBpcywgRW52aXJvbm1lbnQgfSBmcm9tICcuLi9tb2RlbHMvZW52aXJvbm1lbnQnO1xyXG5pbXBvcnQgeyBJbnRlcm5hbFN0b3JlIH0gZnJvbSAnLi4vdXRpbHMvaW50ZXJuYWwtc3RvcmUtdXRpbHMnO1xyXG5cclxuY29uc3QgbWFwVG9BcGlVcmwgPSAoa2V5OiBzdHJpbmcgfCB1bmRlZmluZWQpID0+IChhcGlzOiBBcGlzKSA9PlxyXG4gICgoa2V5ICYmIGFwaXNba2V5XSkgfHwgYXBpcy5kZWZhdWx0KS51cmwgfHwgYXBpcy5kZWZhdWx0LnVybDtcclxuXHJcbmNvbnN0IG1hcFRvSXNzdWVyID0gKGlzc3Vlcjogc3RyaW5nIHwgdW5kZWZpbmVkKSA9PiB7XHJcbiAgaWYgKCFpc3N1ZXIpIHtcclxuICAgIHJldHVybiBpc3N1ZXI7XHJcbiAgfVxyXG4gIHJldHVybiBpc3N1ZXIuZW5kc1dpdGgoJy8nKSA/IGlzc3VlciA6IGlzc3VlciArICcvJztcclxufTtcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBFbnZpcm9ubWVudFNlcnZpY2Uge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgc3RvcmUgPSBuZXcgSW50ZXJuYWxTdG9yZSh7fSBhcyBFbnZpcm9ubWVudCk7XHJcblxyXG4gIGdldCBjcmVhdGVPblVwZGF0ZVN0cmVhbSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlLnNsaWNlVXBkYXRlO1xyXG4gIH1cclxuXHJcbiAgZ2V0RW52aXJvbm1lbnQkKCk6IE9ic2VydmFibGU8RW52aXJvbm1lbnQ+IHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlLnNsaWNlU3RhdGUoc3RhdGUgPT4gc3RhdGUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RW52aXJvbm1lbnQoKTogRW52aXJvbm1lbnQge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc3RhdGU7XHJcbiAgfVxyXG5cclxuICBnZXRBcGlVcmwoa2V5OiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuICAgIHJldHVybiBtYXBUb0FwaVVybChrZXkpKHRoaXMuc3RvcmUuc3RhdGU/LmFwaXMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXBpVXJsJChrZXk6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2xpY2VTdGF0ZShzdGF0ZSA9PiBzdGF0ZS5hcGlzKS5waXBlKG1hcChtYXBUb0FwaVVybChrZXkpKSk7XHJcbiAgfVxyXG5cclxuICBzZXRTdGF0ZShlbnZpcm9ubWVudDogRW52aXJvbm1lbnQpIHtcclxuICAgIHRoaXMuc3RvcmUuc2V0KGVudmlyb25tZW50KTtcclxuICB9XHJcblxyXG4gIGdldElzc3VlcigpIHtcclxuICAgIGNvbnN0IGlzc3VlciA9IHRoaXMuc3RvcmUuc3RhdGU/Lm9BdXRoQ29uZmlnPy5pc3N1ZXI7XHJcblxyXG4gICAgcmV0dXJuIG1hcFRvSXNzdWVyKGlzc3Vlcik7XHJcbiAgfVxyXG5cclxuICBnZXRJc3N1ZXIkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuc2xpY2VTdGF0ZShzdGF0ZSA9PiBzdGF0ZT8ub0F1dGhDb25maWc/Lmlzc3VlcikucGlwZShtYXAobWFwVG9Jc3N1ZXIpKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,30 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { BehaviorSubject, Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ class HttpErrorReporterService {
5
+ constructor() {
6
+ this._reporter$ = new Subject();
7
+ this._errors$ = new BehaviorSubject([]);
8
+ this.reportError = (error) => {
9
+ this._reporter$.next(error);
10
+ this._errors$.next([...this.errors, error]);
11
+ };
12
+ }
13
+ get reporter$() {
14
+ return this._reporter$.asObservable();
15
+ }
16
+ get errors$() {
17
+ return this._errors$.asObservable();
18
+ }
19
+ get errors() {
20
+ return this._errors$.value;
21
+ }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: HttpErrorReporterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
23
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: HttpErrorReporterService, providedIn: 'root' }); }
24
+ }
25
+ export { HttpErrorReporterService };
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: HttpErrorReporterService, decorators: [{
27
+ type: Injectable,
28
+ args: [{ providedIn: 'root' }]
29
+ }] });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci1yZXBvcnRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAtZXJyb3ItcmVwb3J0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUVoRCxNQUNhLHdCQUF3QjtJQURyQztRQUVVLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBcUIsQ0FBQztRQUM5QyxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQXNCLEVBQUUsQ0FBQyxDQUFDO1FBY2hFLGdCQUFXLEdBQUcsQ0FBQyxLQUF3QixFQUFFLEVBQUU7WUFDekMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQUM7S0FDSDtJQWhCQyxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUM3QixDQUFDOzhHQWRVLHdCQUF3QjtrSEFBeEIsd0JBQXdCLGNBRFgsTUFBTTs7U0FDbkIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgSHR0cEVycm9yUmVwb3J0ZXJTZXJ2aWNlIHtcclxuICBwcml2YXRlIF9yZXBvcnRlciQgPSBuZXcgU3ViamVjdDxIdHRwRXJyb3JSZXNwb25zZT4oKTtcclxuICBwcml2YXRlIF9lcnJvcnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxIdHRwRXJyb3JSZXNwb25zZVtdPihbXSk7XHJcblxyXG4gIGdldCByZXBvcnRlciQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVwb3J0ZXIkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGVycm9ycyQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZXJyb3JzJC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIGdldCBlcnJvcnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZXJyb3JzJC52YWx1ZTtcclxuICB9XHJcblxyXG4gIHJlcG9ydEVycm9yID0gKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgdGhpcy5fcmVwb3J0ZXIkLm5leHQoZXJyb3IpO1xyXG4gICAgdGhpcy5fZXJyb3JzJC5uZXh0KFsuLi50aGlzLmVycm9ycywgZXJyb3JdKTtcclxuICB9O1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,76 @@
1
+ import { Injectable, Injector } from '@angular/core';
2
+ import { InternalStore } from '../utils/internal-store-utils';
3
+ import { getPathName } from '../utils/http-utils';
4
+ import { map, mapTo, switchMap, takeUntil, tap } from 'rxjs/operators';
5
+ import { of, Subject, timer } from 'rxjs';
6
+ import { LOADER_DELAY } from '../tokens/lodaer-delay.token';
7
+ import * as i0 from "@angular/core";
8
+ class HttpWaitService {
9
+ constructor(injector) {
10
+ this.store = new InternalStore({
11
+ requests: [],
12
+ filteredRequests: [],
13
+ });
14
+ this.destroy$ = new Subject();
15
+ this.delay = injector.get(LOADER_DELAY, 500);
16
+ }
17
+ getLoading() {
18
+ return !!this.applyFilter(this.store.state.requests).length;
19
+ }
20
+ getLoading$() {
21
+ return this.store
22
+ .sliceState(({ requests }) => requests)
23
+ .pipe(map(requests => !!this.applyFilter(requests).length), switchMap(condition => condition
24
+ ? this.delay === 0
25
+ ? of(true)
26
+ : timer(this.delay).pipe(mapTo(true), takeUntil(this.destroy$))
27
+ : of(false)), tap(() => this.destroy$.next()));
28
+ }
29
+ updateLoading$() {
30
+ return this.store.sliceUpdate(({ requests }) => !!this.applyFilter(requests).length);
31
+ }
32
+ clearLoading() {
33
+ this.store.patch({ requests: [] });
34
+ }
35
+ addRequest(request) {
36
+ this.store.patch({ requests: [...this.store.state.requests, request] });
37
+ }
38
+ deleteRequest(request) {
39
+ const requests = this.store.state.requests.filter(r => r !== request);
40
+ this.store.patch({ requests });
41
+ }
42
+ addFilter(request) {
43
+ const requests = Array.isArray(request) ? request : [request];
44
+ const filteredRequests = [
45
+ ...this.store.state.filteredRequests.filter(f => !requests.some(r => this.isSameRequest(f, r))),
46
+ ...requests,
47
+ ];
48
+ this.store.patch({ filteredRequests });
49
+ }
50
+ removeFilter(request) {
51
+ const requests = Array.isArray(request) ? request : [request];
52
+ const filteredRequests = this.store.state.filteredRequests.filter(f => !requests.some(r => this.isSameRequest(f, r)));
53
+ this.store.patch({ filteredRequests });
54
+ }
55
+ applyFilter(requests) {
56
+ if (!requests) {
57
+ return [];
58
+ }
59
+ const { filteredRequests } = this.store.state;
60
+ return requests.filter(({ method, url }) => !filteredRequests.find(filteredRequest => this.isSameRequest(filteredRequest, { method, endpoint: getPathName(url) })));
61
+ }
62
+ isSameRequest(filteredRequest, request) {
63
+ const { method, endpoint } = filteredRequest;
64
+ return endpoint === request.endpoint && method === request.method;
65
+ }
66
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: HttpWaitService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
67
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: HttpWaitService, providedIn: 'root' }); }
68
+ }
69
+ export { HttpWaitService };
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: HttpWaitService, decorators: [{
71
+ type: Injectable,
72
+ args: [{
73
+ providedIn: 'root',
74
+ }]
75
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC13YWl0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC13YWl0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBVTVELE1BR2EsZUFBZTtJQVMxQixZQUFZLFFBQWtCO1FBUnBCLFVBQUssR0FBRyxJQUFJLGFBQWEsQ0FBZ0I7WUFDakQsUUFBUSxFQUFFLEVBQUU7WUFDWixnQkFBZ0IsRUFBRSxFQUFFO1NBQ3JCLENBQUMsQ0FBQztRQUdLLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBR3JDLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM5RCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLEtBQUs7YUFDZCxVQUFVLENBQUMsQ0FB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Q0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUNuRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVPLFdBQVcsQ0FBQyxRQUF3QztRQUMxRCxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzlDLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FDcEIsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQ2xCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQ3ZDLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUM1RSxDQUNKLENBQUM7SUFDSixDQUFDO0lBRU8sYUFBYSxDQUFDLGVBQWdDLEVBQUUsT0FBd0I7UUFDOUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxlQUFlLENBQUM7UUFDN0MsT0FBTyxRQUFRLEtBQUssT0FBTyxDQUFDLFFBQVEsSUFBSSxNQUFNLEtBQUssT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUNwRSxDQUFDOzhHQXJGVSxlQUFlO2tIQUFmLGVBQWUsY0FGZCxNQUFNOztTQUVQLGVBQWU7MkZBQWYsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW50ZXJuYWxTdG9yZSB9IGZyb20gJy4uL3V0aWxzL2ludGVybmFsLXN0b3JlLXV0aWxzJztcclxuaW1wb3J0IHsgZ2V0UGF0aE5hbWUgfSBmcm9tICcuLi91dGlscy9odHRwLXV0aWxzJztcclxuaW1wb3J0IHsgbWFwLCBtYXBUbywgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgb2YsIFN1YmplY3QsIHRpbWVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExPQURFUl9ERUxBWSB9IGZyb20gJy4uL3Rva2Vucy9sb2RhZXItZGVsYXkudG9rZW4nO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBIdHRwV2FpdFN0YXRlIHtcclxuICByZXF1ZXN0czogSHR0cFJlcXVlc3Q8YW55PltdO1xyXG4gIGZpbHRlcmVkUmVxdWVzdHM6IEFycmF5PEh0dHBSZXF1ZXN0SW5mbz47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBIdHRwUmVxdWVzdEluZm8ge1xyXG4gIG1ldGhvZDogc3RyaW5nO1xyXG4gIGVuZHBvaW50OiBzdHJpbmc7XHJcbn1cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEh0dHBXYWl0U2VydmljZSB7XHJcbiAgcHJvdGVjdGVkIHN0b3JlID0gbmV3IEludGVybmFsU3RvcmU8SHR0cFdhaXRTdGF0ZT4oe1xyXG4gICAgcmVxdWVzdHM6IFtdLFxyXG4gICAgZmlsdGVyZWRSZXF1ZXN0czogW10sXHJcbiAgfSk7XHJcblxyXG4gIHByaXZhdGUgZGVsYXk6IG51bWJlcjtcclxuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICB0aGlzLmRlbGF5ID0gaW5qZWN0b3IuZ2V0KExPQURFUl9ERUxBWSwgNTAwKTtcclxuICB9XHJcblxyXG4gIGdldExvYWRpbmcoKSB7XHJcbiAgICByZXR1cm4gISF0aGlzLmFwcGx5RmlsdGVyKHRoaXMuc3RvcmUuc3RhdGUucmVxdWVzdHMpLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIGdldExvYWRpbmckKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcclxuICAgICAgLnNsaWNlU3RhdGUoKHsgcmVxdWVzdHMgfSkgPT4gcmVxdWVzdHMpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcChyZXF1ZXN0cyA9PiAhIXRoaXMuYXBwbHlGaWx0ZXIocmVxdWVzdHMpLmxlbmd0aCksXHJcbiAgICAgICAgc3dpdGNoTWFwKGNvbmRpdGlvbiA9PlxyXG4gICAgICAgICAgY29uZGl0aW9uXHJcbiAgICAgICAgICAgID8gdGhpcy5kZWxheSA9PT0gMFxyXG4gICAgICAgICAgICAgID8gb2YodHJ1ZSlcclxuICAgICAgICAgICAgICA6IHRpbWVyKHRoaXMuZGVsYXkpLnBpcGUobWFwVG8odHJ1ZSksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgOiBvZihmYWxzZSksXHJcbiAgICAgICAgKSxcclxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5kZXN0cm95JC5uZXh0KCkpLFxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlTG9hZGluZyQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5zbGljZVVwZGF0ZSgoeyByZXF1ZXN0cyB9KSA9PiAhIXRoaXMuYXBwbHlGaWx0ZXIocmVxdWVzdHMpLmxlbmd0aCk7XHJcbiAgfVxyXG5cclxuICBjbGVhckxvYWRpbmcoKSB7XHJcbiAgICB0aGlzLnN0b3JlLnBhdGNoKHsgcmVxdWVzdHM6IFtdIH0pO1xyXG4gIH1cclxuXHJcbiAgYWRkUmVxdWVzdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KSB7XHJcbiAgICB0aGlzLnN0b3JlLnBhdGNoKHsgcmVxdWVzdHM6IFsuLi50aGlzLnN0b3JlLnN0YXRlLnJlcXVlc3RzLCByZXF1ZXN0XSB9KTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZVJlcXVlc3QocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55Pikge1xyXG4gICAgY29uc3QgcmVxdWVzdHMgPSB0aGlzLnN0b3JlLnN0YXRlLnJlcXVlc3RzLmZpbHRlcihyID0+IHIgIT09IHJlcXVlc3QpO1xyXG4gICAgdGhpcy5zdG9yZS5wYXRjaCh7IHJlcXVlc3RzIH0pO1xyXG4gIH1cclxuXHJcbiAgYWRkRmlsdGVyKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0SW5mbyB8IEh0dHBSZXF1ZXN0SW5mb1tdKSB7XHJcbiAgICBjb25zdCByZXF1ZXN0cyA9IEFycmF5LmlzQXJyYXkocmVxdWVzdCkgPyByZXF1ZXN0IDogW3JlcXVlc3RdO1xyXG4gICAgY29uc3QgZmlsdGVyZWRSZXF1ZXN0cyA9IFtcclxuICAgICAgLi4udGhpcy5zdG9yZS5zdGF0ZS5maWx0ZXJlZFJlcXVlc3RzLmZpbHRlcihcclxuICAgICAgICBmID0+ICFyZXF1ZXN0cy5zb21lKHIgPT4gdGhpcy5pc1NhbWVSZXF1ZXN0KGYsIHIpKSxcclxuICAgICAgKSxcclxuICAgICAgLi4ucmVxdWVzdHMsXHJcbiAgICBdO1xyXG4gICAgdGhpcy5zdG9yZS5wYXRjaCh7IGZpbHRlcmVkUmVxdWVzdHMgfSk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVGaWx0ZXIocmVxdWVzdDogSHR0cFJlcXVlc3RJbmZvIHwgSHR0cFJlcXVlc3RJbmZvW10pIHtcclxuICAgIGNvbnN0IHJlcXVlc3RzID0gQXJyYXkuaXNBcnJheShyZXF1ZXN0KSA/IHJlcXVlc3QgOiBbcmVxdWVzdF07XHJcbiAgICBjb25zdCBmaWx0ZXJlZFJlcXVlc3RzID0gdGhpcy5zdG9yZS5zdGF0ZS5maWx0ZXJlZFJlcXVlc3RzLmZpbHRlcihcclxuICAgICAgZiA9PiAhcmVxdWVzdHMuc29tZShyID0+IHRoaXMuaXNTYW1lUmVxdWVzdChmLCByKSksXHJcbiAgICApO1xyXG4gICAgdGhpcy5zdG9yZS5wYXRjaCh7IGZpbHRlcmVkUmVxdWVzdHMgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFwcGx5RmlsdGVyKHJlcXVlc3RzOiBIdHRwUmVxdWVzdDxhbnk+W10gfCB1bmRlZmluZWQpIHtcclxuICAgIGlmICghcmVxdWVzdHMpIHtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gICAgY29uc3QgeyBmaWx0ZXJlZFJlcXVlc3RzIH0gPSB0aGlzLnN0b3JlLnN0YXRlO1xyXG4gICAgcmV0dXJuIHJlcXVlc3RzLmZpbHRlcihcclxuICAgICAgKHsgbWV0aG9kLCB1cmwgfSkgPT5cclxuICAgICAgICAhZmlsdGVyZWRSZXF1ZXN0cy5maW5kKGZpbHRlcmVkUmVxdWVzdCA9PlxyXG4gICAgICAgICAgdGhpcy5pc1NhbWVSZXF1ZXN0KGZpbHRlcmVkUmVxdWVzdCwgeyBtZXRob2QsIGVuZHBvaW50OiBnZXRQYXRoTmFtZSh1cmwpIH0pLFxyXG4gICAgICAgICksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1NhbWVSZXF1ZXN0KGZpbHRlcmVkUmVxdWVzdDogSHR0cFJlcXVlc3RJbmZvLCByZXF1ZXN0OiBIdHRwUmVxdWVzdEluZm8pIHtcclxuICAgIGNvbnN0IHsgbWV0aG9kLCBlbmRwb2ludCB9ID0gZmlsdGVyZWRSZXF1ZXN0O1xyXG4gICAgcmV0dXJuIGVuZHBvaW50ID09PSByZXF1ZXN0LmVuZHBvaW50ICYmIG1ldGhvZCA9PT0gcmVxdWVzdC5tZXRob2Q7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,22 +1,22 @@
1
- export * from './config-state.service';
2
- export * from './content-projection.service';
3
- export * from './dom-insertion.service';
4
- export * from './environment.service';
5
- export * from './http-error-reporter.service';
6
- export * from './http-wait.service';
7
- export * from './lazy-load.service';
8
- export * from './list.service';
9
- export * from './localization.service';
10
- export * from './multi-tenancy.service';
11
- export * from './permission.service';
12
- export * from './replaceable-components.service';
13
- export * from './resource-wait.service';
14
- export * from './rest.service';
15
- export * from './router-events.service';
16
- export * from './router-wait.service';
17
- export * from './routes.service';
18
- export * from './session-state.service';
19
- export * from './subscription.service';
20
- export * from './track-by.service';
21
- export * from './local-storage.service';
1
+ export * from './config-state.service';
2
+ export * from './content-projection.service';
3
+ export * from './dom-insertion.service';
4
+ export * from './environment.service';
5
+ export * from './http-error-reporter.service';
6
+ export * from './http-wait.service';
7
+ export * from './lazy-load.service';
8
+ export * from './list.service';
9
+ export * from './localization.service';
10
+ export * from './multi-tenancy.service';
11
+ export * from './permission.service';
12
+ export * from './replaceable-components.service';
13
+ export * from './resource-wait.service';
14
+ export * from './rest.service';
15
+ export * from './router-events.service';
16
+ export * from './router-wait.service';
17
+ export * from './routes.service';
18
+ export * from './session-state.service';
19
+ export * from './subscription.service';
20
+ export * from './track-by.service';
21
+ export * from './local-storage.service';
22
22
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbmZpZy1zdGF0ZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb250ZW50LXByb2plY3Rpb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZG9tLWluc2VydGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9lbnZpcm9ubWVudC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9odHRwLWVycm9yLXJlcG9ydGVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2h0dHAtd2FpdC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9sYXp5LWxvYWQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9sb2NhbGl6YXRpb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbXVsdGktdGVuYW5jeS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9wZXJtaXNzaW9uLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3JlcGxhY2VhYmxlLWNvbXBvbmVudHMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmVzb3VyY2Utd2FpdC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9yZXN0LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3JvdXRlci1ldmVudHMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcm91dGVyLXdhaXQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcm91dGVzLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Nlc3Npb24tc3RhdGUuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3Vic2NyaXB0aW9uLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RyYWNrLWJ5LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XHJcbiJdfQ==
@@ -0,0 +1,41 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { concat, of, pipe, throwError } from 'rxjs';
3
+ import { delay, retryWhen, shareReplay, take, tap } from 'rxjs/operators';
4
+ import { ResourceWaitService } from './resource-wait.service';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./resource-wait.service";
7
+ class LazyLoadService {
8
+ constructor(resourceWaitService) {
9
+ this.resourceWaitService = resourceWaitService;
10
+ this.loaded = new Map();
11
+ }
12
+ load(strategy, retryTimes, retryDelay) {
13
+ if (this.loaded.has(strategy.path))
14
+ return of(new CustomEvent('load'));
15
+ this.resourceWaitService.addResource(strategy.path);
16
+ const delayOperator = retryDelay ? pipe(delay(retryDelay)) : pipe();
17
+ const takeOp = retryTimes ? pipe(take(retryTimes)) : pipe();
18
+ return strategy.createStream().pipe(retryWhen(error$ => concat(error$.pipe(delayOperator, takeOp), throwError(() => new CustomEvent('error')))), tap(() => {
19
+ this.loaded.set(strategy.path, strategy.element);
20
+ this.resourceWaitService.deleteResource(strategy.path);
21
+ }), delay(100), shareReplay({ bufferSize: 1, refCount: true }));
22
+ }
23
+ remove(path) {
24
+ const element = this.loaded.get(path);
25
+ if (!element)
26
+ return false;
27
+ element.parentNode?.removeChild(element);
28
+ this.loaded.delete(path);
29
+ return true;
30
+ }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: LazyLoadService, deps: [{ token: i1.ResourceWaitService }], target: i0.ɵɵFactoryTarget.Injectable }); }
32
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: LazyLoadService, providedIn: 'root' }); }
33
+ }
34
+ export { LazyLoadService };
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: LazyLoadService, decorators: [{
36
+ type: Injectable,
37
+ args: [{
38
+ providedIn: 'root',
39
+ }]
40
+ }], ctorParameters: function () { return [{ type: i1.ResourceWaitService }]; } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1sb2FkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvc2VydmljZXMvbGF6eS1sb2FkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUU5RCxNQUdhLGVBQWU7SUFHMUIsWUFBb0IsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFGbkQsV0FBTSxHQUFHLElBQUksR0FBRyxFQUFzRCxDQUFDO0lBRWpCLENBQUM7SUFFaEUsSUFBSSxDQUFDLFFBQXlCLEVBQUUsVUFBbUIsRUFBRSxVQUFtQjtRQUN0RSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BELE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwRSxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUQsT0FBTyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUNqQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FDakIsTUFBTSxDQUNKLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxFQUNsQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FDM0MsQ0FDRixFQUNELEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RCxDQUFDLENBQUMsRUFDRixLQUFLLENBQUMsR0FBRyxDQUFDLEVBQ1YsV0FBVyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FDL0MsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBWTtRQUNqQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV0QyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBRTNCLE9BQU8sQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs4R0FsQ1UsZUFBZTtrSEFBZixlQUFlLGNBRmQsTUFBTTs7U0FFUCxlQUFlOzJGQUFmLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjb25jYXQsIE9ic2VydmFibGUsIG9mLCBwaXBlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlbGF5LCByZXRyeVdoZW4sIHNoYXJlUmVwbGF5LCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IExvYWRpbmdTdHJhdGVneSB9IGZyb20gJy4uL3N0cmF0ZWdpZXMnO1xyXG5pbXBvcnQgeyBSZXNvdXJjZVdhaXRTZXJ2aWNlIH0gZnJvbSAnLi9yZXNvdXJjZS13YWl0LnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIExhenlMb2FkU2VydmljZSB7XHJcbiAgcmVhZG9ubHkgbG9hZGVkID0gbmV3IE1hcDxzdHJpbmcsIEhUTUxTY3JpcHRFbGVtZW50IHwgSFRNTExpbmtFbGVtZW50IHwgbnVsbD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXNvdXJjZVdhaXRTZXJ2aWNlOiBSZXNvdXJjZVdhaXRTZXJ2aWNlKSB7fVxyXG5cclxuICBsb2FkKHN0cmF0ZWd5OiBMb2FkaW5nU3RyYXRlZ3ksIHJldHJ5VGltZXM/OiBudW1iZXIsIHJldHJ5RGVsYXk/OiBudW1iZXIpOiBPYnNlcnZhYmxlPEV2ZW50PiB7XHJcbiAgICBpZiAodGhpcy5sb2FkZWQuaGFzKHN0cmF0ZWd5LnBhdGgpKSByZXR1cm4gb2YobmV3IEN1c3RvbUV2ZW50KCdsb2FkJykpO1xyXG4gICAgdGhpcy5yZXNvdXJjZVdhaXRTZXJ2aWNlLmFkZFJlc291cmNlKHN0cmF0ZWd5LnBhdGgpO1xyXG4gICAgY29uc3QgZGVsYXlPcGVyYXRvciA9IHJldHJ5RGVsYXkgPyBwaXBlKGRlbGF5KHJldHJ5RGVsYXkpKSA6IHBpcGUoKTtcclxuICAgIGNvbnN0IHRha2VPcCA9IHJldHJ5VGltZXMgPyBwaXBlKHRha2UocmV0cnlUaW1lcykpIDogcGlwZSgpO1xyXG4gICAgcmV0dXJuIHN0cmF0ZWd5LmNyZWF0ZVN0cmVhbSgpLnBpcGUoXHJcbiAgICAgIHJldHJ5V2hlbihlcnJvciQgPT5cclxuICAgICAgICBjb25jYXQoXHJcbiAgICAgICAgICBlcnJvciQucGlwZShkZWxheU9wZXJhdG9yLCB0YWtlT3ApLFxyXG4gICAgICAgICAgdGhyb3dFcnJvcigoKSA9PiBuZXcgQ3VzdG9tRXZlbnQoJ2Vycm9yJykpLFxyXG4gICAgICAgICksXHJcbiAgICAgICksXHJcbiAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkZWQuc2V0KHN0cmF0ZWd5LnBhdGgsIHN0cmF0ZWd5LmVsZW1lbnQpO1xyXG4gICAgICAgIHRoaXMucmVzb3VyY2VXYWl0U2VydmljZS5kZWxldGVSZXNvdXJjZShzdHJhdGVneS5wYXRoKTtcclxuICAgICAgfSksXHJcbiAgICAgIGRlbGF5KDEwMCksXHJcbiAgICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlKHBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMubG9hZGVkLmdldChwYXRoKTtcclxuXHJcbiAgICBpZiAoIWVsZW1lbnQpIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICBlbGVtZW50LnBhcmVudE5vZGU/LnJlbW92ZUNoaWxkKGVsZW1lbnQpO1xyXG4gICAgdGhpcy5sb2FkZWQuZGVsZXRlKHBhdGgpO1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG59XHJcbiJdfQ==