monkey-front-core 0.0.99 → 0.0.103

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 (204) hide show
  1. package/README.md +24 -24
  2. package/esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.component.mjs +29 -0
  3. package/{esm2015/lib/components/closed-to-maintenance/closed-to-maintenance.module.js → esm2020/lib/components/closed-to-maintenance/closed-to-maintenance.module.mjs} +5 -5
  4. package/{esm2015/lib/components/closed-to-maintenance/index.js → esm2020/lib/components/closed-to-maintenance/index.mjs} +1 -1
  5. package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +0 -0
  6. package/{esm2015/lib/components/progress-bar/index.js → esm2020/lib/components/progress-bar/index.mjs} +1 -1
  7. package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +23 -0
  8. package/{esm2015/lib/components/progress-bar/progress-bar.module.js → esm2020/lib/components/progress-bar/progress-bar.module.mjs} +5 -5
  9. package/esm2020/lib/components/progress-bar/progress-bar.service.mjs +50 -0
  10. package/{esm2015/lib/components/version-changed/index.js → esm2020/lib/components/version-changed/index.mjs} +1 -1
  11. package/esm2020/lib/components/version-changed/version-changed.component.mjs +24 -0
  12. package/{esm2015/lib/components/version-changed/version-changed.module.js → esm2020/lib/components/version-changed/version-changed.module.mjs} +5 -5
  13. package/{esm2015/lib/core/decorators/index.js → esm2020/lib/core/decorators/index.mjs} +1 -1
  14. package/{esm2015/lib/core/decorators/monkeyecx-charts-decorators.js → esm2020/lib/core/decorators/monkeyecx-charts-decorators.mjs} +1 -1
  15. package/esm2020/lib/core/decorators/monkeyecx-decorators.mjs +111 -0
  16. package/esm2020/lib/core/decorators/monkeyecx-download-decorators.mjs +26 -0
  17. package/esm2020/lib/core/decorators/monkeyecx-upload-decorators.mjs +26 -0
  18. package/{esm2015/lib/core/directives/index.js → esm2020/lib/core/directives/index.mjs} +1 -1
  19. package/{esm2015/lib/core/directives/monkeyecx-directives-module.js → esm2020/lib/core/directives/monkeyecx-directives-module.mjs} +5 -5
  20. package/esm2020/lib/core/directives/monkeyecx-drag-drop.mjs +57 -0
  21. package/esm2020/lib/core/directives/monkeyecx-feature-directive.mjs +68 -0
  22. package/{esm2015/lib/core/directives/monkeyecx-format-currency.js → esm2020/lib/core/directives/monkeyecx-format-currency.mjs} +4 -4
  23. package/esm2020/lib/core/directives/monkeyecx-format-upper.mjs +67 -0
  24. package/{esm2015/lib/core/directives/monkeyecx-only-alpha-numeric-directive.js → esm2020/lib/core/directives/monkeyecx-only-alpha-numeric-directive.mjs} +4 -4
  25. package/{esm2015/lib/core/directives/monkeyecx-only-number-directive.js → esm2020/lib/core/directives/monkeyecx-only-number-directive.mjs} +4 -4
  26. package/esm2020/lib/core/directives/monkeyecx-security-directive.mjs +69 -0
  27. package/esm2020/lib/core/directives/monkeyecx-tooltip-directive.mjs +123 -0
  28. package/{esm2015/lib/core/index.js → esm2020/lib/core/index.mjs} +1 -1
  29. package/{esm2015/lib/core/interceptors/index.js → esm2020/lib/core/interceptors/index.mjs} +1 -1
  30. package/esm2020/lib/core/interceptors/monkeyecx-http-config-error.interceptor.mjs +39 -0
  31. package/esm2020/lib/core/interceptors/monkeyecx-http-config-header.interceptor.mjs +32 -0
  32. package/{esm2015/lib/core/interceptors/monkeyecx-http-config-interceptor.module.js → esm2020/lib/core/interceptors/monkeyecx-http-config-interceptor.module.mjs} +5 -5
  33. package/esm2020/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.mjs +43 -0
  34. package/esm2020/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.mjs +37 -0
  35. package/{esm2015/lib/core/interfaces/index.js → esm2020/lib/core/interfaces/index.mjs} +1 -1
  36. package/esm2020/lib/core/interfaces/monkeyecx-auth-credentials.mjs +2 -0
  37. package/{esm2015/lib/core/interfaces/monkeyecx-company.js → esm2020/lib/core/interfaces/monkeyecx-company.mjs} +1 -1
  38. package/esm2020/lib/core/interfaces/monkeyecx-config-boostrap.mjs +2 -0
  39. package/esm2020/lib/core/interfaces/monkeyecx-config.mjs +2 -0
  40. package/{esm2015/lib/core/interfaces/monkeyecx-error-response.js → esm2020/lib/core/interfaces/monkeyecx-error-response.mjs} +1 -1
  41. package/{esm2015/lib/core/interfaces/monkeyecx-handled-error-response.js → esm2020/lib/core/interfaces/monkeyecx-handled-error-response.mjs} +1 -1
  42. package/{esm2015/lib/core/interfaces/monkeyecx-header-credentials.js → esm2020/lib/core/interfaces/monkeyecx-header-credentials.mjs} +1 -1
  43. package/{esm2015/lib/core/interfaces/monkeyecx-intercom-options.js → esm2020/lib/core/interfaces/monkeyecx-intercom-options.mjs} +1 -1
  44. package/esm2020/lib/core/interfaces/monkeyecx-me-credentials.mjs +2 -0
  45. package/esm2020/lib/core/interfaces/monkeyecx-navigation.mjs +2 -0
  46. package/{esm2015/lib/core/interfaces/monkeyecx-program.js → esm2020/lib/core/interfaces/monkeyecx-program.mjs} +1 -1
  47. package/{esm2015/lib/core/interfaces/monkeyecx-releases.js → esm2020/lib/core/interfaces/monkeyecx-releases.mjs} +1 -1
  48. package/{esm2015/lib/core/interfaces/monkeyecx-request-in-progress.js → esm2020/lib/core/interfaces/monkeyecx-request-in-progress.mjs} +1 -1
  49. package/esm2020/lib/core/interfaces/monkeyecx-request-paged.mjs +2 -0
  50. package/{esm2015/lib/core/interfaces/monkeyecx-response-links.js → esm2020/lib/core/interfaces/monkeyecx-response-links.mjs} +1 -1
  51. package/{esm2015/lib/core/interfaces/monkeyecx-response-paged.js → esm2020/lib/core/interfaces/monkeyecx-response-paged.mjs} +1 -1
  52. package/{esm2015/lib/core/interfaces/monkeyecx-saved-state.js → esm2020/lib/core/interfaces/monkeyecx-saved-state.mjs} +1 -1
  53. package/{esm2015/lib/core/interfaces/monkeyecx-scroll-options.js → esm2020/lib/core/interfaces/monkeyecx-scroll-options.mjs} +1 -1
  54. package/esm2020/lib/core/interfaces/monkeyecx-service-credentials.mjs +2 -0
  55. package/{esm2015/lib/core/interfaces/monkeyecx-support-options.js → esm2020/lib/core/interfaces/monkeyecx-support-options.mjs} +1 -1
  56. package/esm2020/lib/core/interfaces/monkeyecx-token-credentials.mjs +2 -0
  57. package/{esm2015/lib/core/interfaces/monkeyecx-translate-options.js → esm2020/lib/core/interfaces/monkeyecx-translate-options.mjs} +1 -1
  58. package/{esm2015/lib/core/interfaces/request-download/index.js → esm2020/lib/core/interfaces/request-download/index.mjs} +1 -1
  59. package/{esm2015/lib/core/interfaces/request-download/monkeyecx-request-download.js → esm2020/lib/core/interfaces/request-download/monkeyecx-request-download.mjs} +1 -1
  60. package/{esm2015/lib/core/interfaces/request-download/monkeyecx-request-downloaded.js → esm2020/lib/core/interfaces/request-download/monkeyecx-request-downloaded.mjs} +1 -1
  61. package/{esm2015/lib/core/interfaces/request-download/monkeyecx-request-item-download.js → esm2020/lib/core/interfaces/request-download/monkeyecx-request-item-download.mjs} +1 -1
  62. package/{esm2015/lib/core/interfaces/request-queue/index.js → esm2020/lib/core/interfaces/request-queue/index.mjs} +1 -1
  63. package/{esm2015/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.js → esm2020/lib/core/interfaces/request-queue/monkeyecx-request-item-queue.mjs} +1 -1
  64. package/{esm2015/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.js → esm2020/lib/core/interfaces/request-queue/monkeyecx-request-progress-queue.mjs} +1 -1
  65. package/{esm2015/lib/core/interfaces/request-queue/monkeyecx-request-queue.js → esm2020/lib/core/interfaces/request-queue/monkeyecx-request-queue.mjs} +1 -1
  66. package/{esm2015/lib/core/interfaces/request-upload/index.js → esm2020/lib/core/interfaces/request-upload/index.mjs} +1 -1
  67. package/{esm2015/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.js → esm2020/lib/core/interfaces/request-upload/monkeyecx-request-item-upload.mjs} +1 -1
  68. package/{esm2015/lib/core/interfaces/request-upload/monkeyecx-request-upload.js → esm2020/lib/core/interfaces/request-upload/monkeyecx-request-upload.mjs} +1 -1
  69. package/{esm2015/lib/core/interfaces/schedules/index.js → esm2020/lib/core/interfaces/schedules/index.mjs} +1 -1
  70. package/esm2020/lib/core/interfaces/schedules/monkeyecx-request-schedule.mjs +2 -0
  71. package/{esm2015/lib/core/model/index.js → esm2020/lib/core/model/index.mjs} +1 -1
  72. package/{esm2015/lib/core/model/monkeyecx-model.js → esm2020/lib/core/model/monkeyecx-model.mjs} +1 -1
  73. package/{esm2015/lib/core/pipes/index.js → esm2020/lib/core/pipes/index.mjs} +0 -0
  74. package/{esm2015/lib/core/pipes/monkeyecx-display-first-name.js → esm2020/lib/core/pipes/monkeyecx-display-first-name.mjs} +4 -4
  75. package/{esm2015/lib/core/pipes/monkeyecx-format-address.js → esm2020/lib/core/pipes/monkeyecx-format-address.mjs} +4 -4
  76. package/{esm2015/lib/core/pipes/monkeyecx-format-currency.js → esm2020/lib/core/pipes/monkeyecx-format-currency.mjs} +4 -4
  77. package/esm2020/lib/core/pipes/monkeyecx-format-date-group.mjs +45 -0
  78. package/{esm2015/lib/core/pipes/monkeyecx-format-date-timelapse.js → esm2020/lib/core/pipes/monkeyecx-format-date-timelapse.mjs} +4 -4
  79. package/{esm2015/lib/core/pipes/monkeyecx-format-document.js → esm2020/lib/core/pipes/monkeyecx-format-document.mjs} +4 -4
  80. package/{esm2015/lib/core/pipes/monkeyecx-format-number.js → esm2020/lib/core/pipes/monkeyecx-format-number.mjs} +4 -4
  81. package/{esm2015/lib/core/pipes/monkeyecx-format-phone.js → esm2020/lib/core/pipes/monkeyecx-format-phone.mjs} +4 -4
  82. package/{esm2015/lib/core/pipes/monkeyecx-format-size.js → esm2020/lib/core/pipes/monkeyecx-format-size.mjs} +4 -4
  83. package/{esm2015/lib/core/pipes/monkeyecx-format-type-document.js → esm2020/lib/core/pipes/monkeyecx-format-type-document.mjs} +4 -4
  84. package/{esm2015/lib/core/pipes/monkeyecx-format-value.js → esm2020/lib/core/pipes/monkeyecx-format-value.mjs} +4 -4
  85. package/{esm2015/lib/core/pipes/monkeyecx-format-zipcode.js → esm2020/lib/core/pipes/monkeyecx-format-zipcode.mjs} +4 -4
  86. package/{esm2015/lib/core/pipes/monkeyecx-pipes.module.js → esm2020/lib/core/pipes/monkeyecx-pipes.module.mjs} +5 -5
  87. package/{esm2015/lib/core/pipes/monkeyecx-text-truncate.js → esm2020/lib/core/pipes/monkeyecx-text-truncate.mjs} +4 -4
  88. package/{esm2015/lib/core/pipes/monkeyecx-truncate-qtd.js → esm2020/lib/core/pipes/monkeyecx-truncate-qtd.mjs} +4 -4
  89. package/{esm2015/lib/core/services/auth/index.js → esm2020/lib/core/services/auth/index.mjs} +1 -1
  90. package/{esm2015/lib/core/services/auth/monkeyecx-auth-guard-login.service.js → esm2020/lib/core/services/auth/monkeyecx-auth-guard-login.service.mjs} +4 -4
  91. package/{esm2015/lib/core/services/auth/monkeyecx-auth-guard.service.js → esm2020/lib/core/services/auth/monkeyecx-auth-guard.service.mjs} +4 -4
  92. package/esm2020/lib/core/services/auth/monkeyecx-authentication.service.mjs +61 -0
  93. package/{esm2015/lib/core/services/commons/index.js → esm2020/lib/core/services/commons/index.mjs} +1 -1
  94. package/esm2020/lib/core/services/commons/monkeyecx-commons.service.mjs +288 -0
  95. package/{esm2015/lib/core/services/config/monkeyecx-config.module.js → esm2020/lib/core/services/config/monkeyecx-config.module.mjs} +5 -5
  96. package/{esm2015/lib/core/services/config/monkeyecx-config.service.js → esm2020/lib/core/services/config/monkeyecx-config.service.mjs} +11 -9
  97. package/esm2020/lib/core/services/config/monkeyecx-error-config.service.mjs +85 -0
  98. package/esm2020/lib/core/services/config/monkeyecx-feature-toggle.service.mjs +67 -0
  99. package/esm2020/lib/core/services/config/monkeyecx-i18n-config.service.mjs +74 -0
  100. package/esm2020/lib/core/services/config/monkeyecx-logs-config.service.mjs +34 -0
  101. package/{esm2015/lib/core/services/config/monkeyecx-maintenance-config.service.js → esm2020/lib/core/services/config/monkeyecx-maintenance-config.service.mjs} +4 -4
  102. package/esm2020/lib/core/services/config/monkeyecx-security-console-config.service.mjs +42 -0
  103. package/esm2020/lib/core/services/config/monkeyecx-service-worker-config.service.mjs +53 -0
  104. package/{esm2015/lib/core/services/error/index.js → esm2020/lib/core/services/error/index.mjs} +1 -1
  105. package/{esm2015/lib/core/services/error/monkeyecx-error-handling.module.js → esm2020/lib/core/services/error/monkeyecx-error-handling.module.mjs} +5 -5
  106. package/esm2020/lib/core/services/error/monkeyecx-error-handling.service.mjs +41 -0
  107. package/esm2020/lib/core/services/error/monkeyecx-http-error-handling.service.mjs +127 -0
  108. package/{esm2015/lib/core/services/error/monkeyecx-others-errors-handling.service.js → esm2020/lib/core/services/error/monkeyecx-others-errors-handling.service.mjs} +4 -4
  109. package/{esm2015/lib/core/services/index.js → esm2020/lib/core/services/index.mjs} +1 -1
  110. package/{esm2015/lib/core/services/logged/index.js → esm2020/lib/core/services/logged/index.mjs} +1 -1
  111. package/{esm2015/lib/core/services/logged/monkeyecx-logged-handling.service.js → esm2020/lib/core/services/logged/monkeyecx-logged-handling.service.mjs} +4 -4
  112. package/esm2020/lib/core/services/monkeyecx-handling.service.mjs +50 -0
  113. package/esm2020/lib/core/services/monkeyecx-service.service.mjs +104 -0
  114. package/{esm2015/lib/core/services/request-download/index.js → esm2020/lib/core/services/request-download/index.mjs} +1 -1
  115. package/esm2020/lib/core/services/request-download/monkeyecx-request-download-handling.service.mjs +93 -0
  116. package/esm2020/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.mjs +61 -0
  117. package/{esm2015/lib/core/services/request-paged/index.js → esm2020/lib/core/services/request-paged/index.mjs} +1 -1
  118. package/esm2020/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.mjs +37 -0
  119. package/{esm2015/lib/core/services/request-queue/index.js → esm2020/lib/core/services/request-queue/index.mjs} +1 -1
  120. package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.mjs +114 -0
  121. package/esm2020/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.mjs +119 -0
  122. package/{esm2015/lib/core/services/routes/index.js → esm2020/lib/core/services/routes/index.mjs} +1 -1
  123. package/esm2020/lib/core/services/routes/monkeyecx-dicovery-params.service.mjs +54 -0
  124. package/{esm2015/lib/core/services/schedules/index.js → esm2020/lib/core/services/schedules/index.mjs} +1 -1
  125. package/esm2020/lib/core/services/schedules/monkeyecx-request-schedule.service.mjs +113 -0
  126. package/{esm2015/lib/core/services/storage/index.js → esm2020/lib/core/services/storage/index.mjs} +1 -1
  127. package/{esm2015/lib/core/services/storage/monkeyecx-cookie-storage.service.js → esm2020/lib/core/services/storage/monkeyecx-cookie-storage.service.mjs} +4 -4
  128. package/esm2020/lib/core/services/storage/monkeyecx-token-storage.service.mjs +126 -0
  129. package/{esm2015/lib/core/specification-search/index.js → esm2020/lib/core/specification-search/index.mjs} +1 -1
  130. package/{esm2015/lib/core/specification-search/monkeyecx-specification-search.js → esm2020/lib/core/specification-search/monkeyecx-specification-search.mjs} +2 -3
  131. package/esm2020/lib/core/utils/decorators-utils.mjs +40 -0
  132. package/{esm2015/lib/core/utils/index.js → esm2020/lib/core/utils/index.mjs} +1 -1
  133. package/{esm2015/lib/core/utils/statics.js → esm2020/lib/core/utils/statics.mjs} +1 -1
  134. package/esm2020/lib/core/utils/utils.mjs +218 -0
  135. package/esm2020/lib/core/utils/validate-utils.mjs +206 -0
  136. package/esm2020/lib/core/utils/validators.mjs +208 -0
  137. package/{esm2015/lib/monkey-front-core.module.js → esm2020/lib/monkey-front-core.module.mjs} +5 -5
  138. package/{esm2015/monkey-front-core.js → esm2020/monkey-front-core.mjs} +0 -0
  139. package/{esm2015/public-api.js → esm2020/public-api.mjs} +1 -1
  140. package/fesm2015/{monkey-front-core.js → monkey-front-core.mjs} +226 -229
  141. package/fesm2015/monkey-front-core.mjs.map +1 -0
  142. package/fesm2020/monkey-front-core.mjs +4273 -0
  143. package/fesm2020/monkey-front-core.mjs.map +1 -0
  144. package/lib/core/pipes/monkeyecx-format-currency.d.ts +1 -1
  145. package/lib/core/services/auth/monkeyecx-authentication.service.d.ts +3 -3
  146. package/lib/core/services/commons/monkeyecx-commons.service.d.ts +15 -15
  147. package/lib/core/services/schedules/monkeyecx-request-schedule.service.d.ts +1 -1
  148. package/lib/core/utils/validate-utils.d.ts +13 -13
  149. package/monkey-front-core-0.0.103.tgz +0 -0
  150. package/package.json +20 -7
  151. package/bundles/monkey-front-core.umd.js +0 -4900
  152. package/bundles/monkey-front-core.umd.js.map +0 -1
  153. package/esm2015/lib/components/closed-to-maintenance/closed-to-maintenance.component.js +0 -35
  154. package/esm2015/lib/components/progress-bar/progress-bar.component.js +0 -29
  155. package/esm2015/lib/components/progress-bar/progress-bar.service.js +0 -53
  156. package/esm2015/lib/components/version-changed/version-changed.component.js +0 -29
  157. package/esm2015/lib/core/decorators/monkeyecx-decorators.js +0 -112
  158. package/esm2015/lib/core/decorators/monkeyecx-download-decorators.js +0 -25
  159. package/esm2015/lib/core/decorators/monkeyecx-upload-decorators.js +0 -25
  160. package/esm2015/lib/core/directives/monkeyecx-drag-drop.js +0 -57
  161. package/esm2015/lib/core/directives/monkeyecx-feature-directive.js +0 -68
  162. package/esm2015/lib/core/directives/monkeyecx-format-upper.js +0 -69
  163. package/esm2015/lib/core/directives/monkeyecx-security-directive.js +0 -69
  164. package/esm2015/lib/core/directives/monkeyecx-tooltip-directive.js +0 -124
  165. package/esm2015/lib/core/interceptors/monkeyecx-http-config-error.interceptor.js +0 -40
  166. package/esm2015/lib/core/interceptors/monkeyecx-http-config-header.interceptor.js +0 -33
  167. package/esm2015/lib/core/interceptors/monkeyecx-http-config-loading-in-progress.interceptor.js +0 -44
  168. package/esm2015/lib/core/interceptors/monkeyecx-http-config-queue.interceptor.js +0 -38
  169. package/esm2015/lib/core/interfaces/monkeyecx-auth-credentials.js +0 -2
  170. package/esm2015/lib/core/interfaces/monkeyecx-config-boostrap.js +0 -2
  171. package/esm2015/lib/core/interfaces/monkeyecx-config.js +0 -2
  172. package/esm2015/lib/core/interfaces/monkeyecx-me-credentials.js +0 -2
  173. package/esm2015/lib/core/interfaces/monkeyecx-navigation.js +0 -2
  174. package/esm2015/lib/core/interfaces/monkeyecx-request-paged.js +0 -2
  175. package/esm2015/lib/core/interfaces/monkeyecx-service-credentials.js +0 -2
  176. package/esm2015/lib/core/interfaces/monkeyecx-token-credentials.js +0 -2
  177. package/esm2015/lib/core/interfaces/schedules/monkeyecx-request-schedule.js +0 -2
  178. package/esm2015/lib/core/pipes/monkeyecx-format-date-group.js +0 -46
  179. package/esm2015/lib/core/services/auth/monkeyecx-authentication.service.js +0 -61
  180. package/esm2015/lib/core/services/commons/monkeyecx-commons.service.js +0 -265
  181. package/esm2015/lib/core/services/config/monkeyecx-error-config.service.js +0 -85
  182. package/esm2015/lib/core/services/config/monkeyecx-feature-toggle.service.js +0 -70
  183. package/esm2015/lib/core/services/config/monkeyecx-i18n-config.service.js +0 -72
  184. package/esm2015/lib/core/services/config/monkeyecx-logs-config.service.js +0 -34
  185. package/esm2015/lib/core/services/config/monkeyecx-security-console-config.service.js +0 -42
  186. package/esm2015/lib/core/services/config/monkeyecx-service-worker-config.service.js +0 -54
  187. package/esm2015/lib/core/services/error/monkeyecx-error-handling.service.js +0 -41
  188. package/esm2015/lib/core/services/error/monkeyecx-http-error-handling.service.js +0 -132
  189. package/esm2015/lib/core/services/monkeyecx-handling.service.js +0 -50
  190. package/esm2015/lib/core/services/monkeyecx-service.service.js +0 -102
  191. package/esm2015/lib/core/services/request-download/monkeyecx-request-download-handling.service.js +0 -81
  192. package/esm2015/lib/core/services/request-download/monkeyecx-request-downloaded-handling.service.js +0 -55
  193. package/esm2015/lib/core/services/request-paged/monkeyecx-request-request-paged-handling.js +0 -37
  194. package/esm2015/lib/core/services/request-queue/monkeyecx-request-queue-handling.service.js +0 -101
  195. package/esm2015/lib/core/services/request-queue/monkeyecx-request-queue-modal-handling.service.js +0 -106
  196. package/esm2015/lib/core/services/routes/monkeyecx-dicovery-params.service.js +0 -55
  197. package/esm2015/lib/core/services/schedules/monkeyecx-request-schedule.service.js +0 -99
  198. package/esm2015/lib/core/services/storage/monkeyecx-token-storage.service.js +0 -123
  199. package/esm2015/lib/core/utils/decorators-utils.js +0 -37
  200. package/esm2015/lib/core/utils/utils.js +0 -219
  201. package/esm2015/lib/core/utils/validate-utils.js +0 -210
  202. package/esm2015/lib/core/utils/validators.js +0 -211
  203. package/fesm2015/monkey-front-core.js.map +0 -1
  204. package/monkey-front-core-0.0.99.tgz +0 -0
@@ -0,0 +1,288 @@
1
+ import { __decorate } from "tslib";
2
+ import { NavigationStart, } from '@angular/router';
3
+ import { BehaviorSubject, combineLatest, throwError } from 'rxjs';
4
+ import { filter, take, takeWhile } from 'rxjs/operators';
5
+ import { MonkeyEcxRequestPagedHandling } from '../request-paged/monkeyecx-request-request-paged-handling';
6
+ import { MonkeyEcxUtils } from '../../utils/utils';
7
+ import { MonkeyEcxCoreService } from '../../decorators/monkeyecx-decorators';
8
+ export class MonkeyEcxCommonsService {
9
+ constructor(monkeyecxService, tokenStorage, otherArgs) {
10
+ this.monkeyecxService = monkeyecxService;
11
+ this.tokenStorage = tokenStorage;
12
+ this.otherArgs = otherArgs;
13
+ this.flagValidator = true;
14
+ this.__savedState = null;
15
+ this.__error = null;
16
+ this.__handledError = null;
17
+ this.__page = null;
18
+ this.__links = null;
19
+ this.__requestPaged = null;
20
+ this.__onSearchChanged$ = new BehaviorSubject(null);
21
+ this.__onDataChanged$ = new BehaviorSubject(null);
22
+ this.__onLoadingInProgress$ = new BehaviorSubject(false);
23
+ this.__onDataDeleted$ = new BehaviorSubject(null);
24
+ this.__onErrorChanged$ = new BehaviorSubject(null);
25
+ this.__onGovernmentIdDataChanged$ = new BehaviorSubject(null);
26
+ this.__onZipCodeDataChanged$ = new BehaviorSubject(null);
27
+ this.__oni18nDataChanged$ = new BehaviorSubject(null);
28
+ this.__onDoSearch$ = new BehaviorSubject({});
29
+ this.__tokenCredentials = null;
30
+ this.__schedule = null;
31
+ this.__callbackPagination = () => {
32
+ // eslint-disable-next-line no-console
33
+ return console.error('Method callbackPagination needs to be declared');
34
+ };
35
+ this.handleInit();
36
+ }
37
+ handleInit() {
38
+ if (this.tokenStorage) {
39
+ this.__tokenCredentials = this.tokenStorage.getToken();
40
+ }
41
+ if (this.otherArgs?.router) {
42
+ const { clearOnChangeRoute } = this.otherArgs?.schedule?.options || {
43
+ clearOnChangeRoute: false,
44
+ };
45
+ this.otherArgs.router.events
46
+ .pipe(filter((event) => {
47
+ return event instanceof NavigationStart;
48
+ }), take(1))
49
+ .subscribe(() => {
50
+ if (this.__schedule && clearOnChangeRoute) {
51
+ this.otherArgs?.schedule?.service?.removeSchedule(this.__schedule);
52
+ this.__schedule = null;
53
+ }
54
+ });
55
+ }
56
+ }
57
+ getRole() {
58
+ const { __tokenCredentials } = this;
59
+ if (!__tokenCredentials)
60
+ return '';
61
+ if (__tokenCredentials?.programAdmin === 'true') {
62
+ return 'PROGRAM_ADMIN';
63
+ }
64
+ return __tokenCredentials?.role || '';
65
+ }
66
+ allowedSecurityAccess(args) {
67
+ if (!args)
68
+ return true;
69
+ const roles = args?.roles;
70
+ const byExclusion = args?.byExclusion;
71
+ const found = roles?.indexOf(this.getRole());
72
+ let ret = false;
73
+ if (byExclusion) {
74
+ ret = true;
75
+ if (found > -1) {
76
+ ret = false;
77
+ }
78
+ }
79
+ else {
80
+ ret = false;
81
+ if (found > -1) {
82
+ ret = true;
83
+ }
84
+ }
85
+ if (!roles || roles.length === 0 || this.getRole() === 'PROGRAM_ADMIN') {
86
+ ret = true;
87
+ }
88
+ return ret;
89
+ }
90
+ navigateToErrorPage(statusCode, router) {
91
+ const routes = {
92
+ 403: 'forbidden',
93
+ 404: 'not-found',
94
+ 500: 'service-problems',
95
+ 503: 'service-problems',
96
+ };
97
+ if (!router) {
98
+ console.error('Router must be declared');
99
+ }
100
+ else {
101
+ router?.navigate([`/app/pages/${routes[statusCode]}`.toLowerCase()], {
102
+ skipLocationChange: true,
103
+ });
104
+ }
105
+ }
106
+ setPage(requestPaged) {
107
+ this.__requestPaged = {
108
+ ...this.__requestPaged,
109
+ ...requestPaged,
110
+ };
111
+ return this;
112
+ }
113
+ nextPage() {
114
+ if (this.__links) {
115
+ return !!this.__links?.next;
116
+ }
117
+ if (!this.__requestPaged)
118
+ return false;
119
+ const { page } = this.__requestPaged;
120
+ const { number, totalPages } = page;
121
+ if (number < totalPages) {
122
+ this.__requestPaged = {
123
+ ...this.__requestPaged,
124
+ page: {
125
+ ...page,
126
+ number: number + 1,
127
+ },
128
+ };
129
+ return true;
130
+ }
131
+ return false;
132
+ }
133
+ getEmbeddedData(data, field) {
134
+ const { _embedded } = data;
135
+ return _embedded ? _embedded[field] : null;
136
+ }
137
+ getNormalizedUrl(url) {
138
+ const { __requestPaged, __links } = this;
139
+ return new MonkeyEcxRequestPagedHandling(url, __requestPaged || {}, __links).getRequestWithPagedParams();
140
+ }
141
+ clear(clearData) {
142
+ if (clearData) {
143
+ this.__data = null;
144
+ this.__requestPaged = null;
145
+ this.__params = null;
146
+ this.__page = null;
147
+ this.__links = null;
148
+ if (this.__schedule) {
149
+ const { queue } = this.__schedule;
150
+ if (queue) {
151
+ this.otherArgs?.queue?.service?.removeQueueItem(queue);
152
+ }
153
+ this.otherArgs?.schedule?.service?.removeSchedule(this.__schedule);
154
+ this.__schedule = null;
155
+ }
156
+ }
157
+ this.__error = null;
158
+ this.__handledError = null;
159
+ this.flagValidator = false;
160
+ }
161
+ resolve(route, state, otherArgs) {
162
+ if (JSON.stringify(route?.queryParams) === '{}') {
163
+ this.__data = null;
164
+ this.__page = null;
165
+ }
166
+ this.__requestPaged = null;
167
+ this.flagValidator = true;
168
+ if (this.tokenStorage) {
169
+ this.__tokenCredentials = this.tokenStorage.getToken();
170
+ }
171
+ if (this.allowedSecurityAccess(otherArgs?.security)) {
172
+ if (this.__schedule) {
173
+ this.otherArgs?.schedule?.service?.removeSchedule(this.__schedule);
174
+ this.__schedule = null;
175
+ }
176
+ const { __requestPaged } = this;
177
+ if (!__requestPaged) {
178
+ this.setPage({
179
+ page: {
180
+ number: 0,
181
+ size: 10,
182
+ },
183
+ });
184
+ }
185
+ if (otherArgs?.translateOptions) {
186
+ const { service, keys } = otherArgs?.translateOptions;
187
+ this.geti18n(service, keys || '');
188
+ }
189
+ if (otherArgs?.callbackPagination) {
190
+ this.__callbackPagination = otherArgs.callbackPagination;
191
+ }
192
+ if (otherArgs?.feature) {
193
+ const { flag, service } = otherArgs.feature;
194
+ service.onFlags
195
+ .pipe(takeWhile(() => {
196
+ return this.flagValidator;
197
+ }))
198
+ .subscribe((val) => {
199
+ if (val) {
200
+ const hasFlag = service.getFlag(flag);
201
+ if (MonkeyEcxUtils.persistNullEmptyUndefined(hasFlag)) {
202
+ if (!hasFlag) {
203
+ this.navigateToErrorPage(404, otherArgs?.router);
204
+ return;
205
+ }
206
+ }
207
+ otherArgs?.callbackMain();
208
+ }
209
+ });
210
+ }
211
+ else {
212
+ otherArgs?.callbackMain();
213
+ }
214
+ }
215
+ else {
216
+ this.navigateToErrorPage(403, otherArgs?.router);
217
+ }
218
+ }
219
+ getHTTPHeaderApplicationPDF() {
220
+ return {
221
+ observe: 'response',
222
+ responseType: 'blob',
223
+ };
224
+ }
225
+ genericMethod(link, data, callback) {
226
+ const { href, type = 'get' } = link;
227
+ this.monkeyecxService?.[type.toLowerCase()](`${href}`, data)?.subscribe(() => {
228
+ if (callback)
229
+ callback();
230
+ }, (err) => {
231
+ throwError(err);
232
+ });
233
+ }
234
+ geti18n(translateService, keys) {
235
+ combineLatest([
236
+ translateService.onDefaultLangChange,
237
+ translateService.getStreamOnTranslationChange(keys),
238
+ ]).subscribe(([x, y]) => {
239
+ console.log('get i18n veio aqui');
240
+ console.log(x);
241
+ console.log(y);
242
+ });
243
+ translateService.getStreamOnTranslationChange(keys).subscribe((translations) => {
244
+ this.__i18n = translations;
245
+ this.__oni18nDataChanged$.next(null);
246
+ });
247
+ }
248
+ doPagination() {
249
+ if (!this.__onLoadingInProgress$.value) {
250
+ const hasMorePages = this.setPage({
251
+ page: {
252
+ ...this.__page,
253
+ },
254
+ }).nextPage();
255
+ if (hasMorePages && this.__callbackPagination) {
256
+ this.__callbackPagination();
257
+ }
258
+ }
259
+ }
260
+ setSearchByUrl(router, url, search, extras) {
261
+ this.__data = null;
262
+ this.__page = null;
263
+ this.__onDataChanged$.next(null);
264
+ this.__onLoadingInProgress$.next(false);
265
+ router.navigate([url], {
266
+ queryParams: {
267
+ ...search,
268
+ r: MonkeyEcxUtils.getRandomString(30),
269
+ },
270
+ queryParamsHandling: 'merge',
271
+ ...extras,
272
+ });
273
+ }
274
+ saveState(state) {
275
+ this.__savedState = {
276
+ page: this.__page,
277
+ ...state,
278
+ };
279
+ }
280
+ }
281
+ __decorate([
282
+ MonkeyEcxCoreService({
283
+ requestInProgress: {
284
+ showProgress: true,
285
+ },
286
+ })
287
+ ], MonkeyEcxCommonsService.prototype, "genericMethod", null);
288
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWNvbW1vbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9jb21tb25zL21vbmtleWVjeC1jb21tb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxlQUFlLEdBR2hCLE1BQU0saUJBQWlCLENBQUM7QUFHekIsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBY3pELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBRTFHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUk3RSxNQUFNLE9BQU8sdUJBQXVCO0lBa0RsQyxZQUNTLGdCQUFtQyxFQUNuQyxZQUEyQyxFQUMzQyxTQVdOO1FBYk0scUJBQWdCLEdBQWhCLGdCQUFnQixDQUFtQjtRQUNuQyxpQkFBWSxHQUFaLFlBQVksQ0FBK0I7UUFDM0MsY0FBUyxHQUFULFNBQVMsQ0FXZjtRQS9ESyxrQkFBYSxHQUFHLElBQUksQ0FBQztRQUk3QixpQkFBWSxHQUErQixJQUFJLENBQUM7UUFJaEQsWUFBTyxHQUFrQyxJQUFJLENBQUM7UUFFOUMsbUJBQWMsR0FBeUMsSUFBSSxDQUFDO1FBRTVELFdBQU0sR0FBa0MsSUFBSSxDQUFDO1FBRTdDLFlBQU8sR0FBa0MsSUFBSSxDQUFDO1FBSTlDLG1CQUFjLEdBQWlDLElBQUksQ0FBQztRQUVwRCx1QkFBa0IsR0FBeUIsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENB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Q0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3JCLFdBQVcsRUFBRTtnQkFDWCxHQUFHLE1BQU07Z0JBQ1QsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO2FBQ3RDO1lBQ0QsbUJBQW1CLEVBQUUsT0FBTztZQUM1QixHQUFHLE1BQU07U0FDVixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQTBCO1FBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUc7WUFDbEIsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ2pCLEdBQUcsS0FBSztTQUNULENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFoRUM7SUFMQyxvQkFBb0IsQ0FBQztRQUNwQixpQkFBaUIsRUFBRTtZQUNqQixZQUFZLEVBQUUsSUFBSTtTQUNuQjtLQUNGLENBQUM7NERBWUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBOYXZpZ2F0aW9uU3RhcnQsXG4gIFJvdXRlcixcbiAgUm91dGVyU3RhdGVTbmFwc2hvdCxcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2UsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIE1vbmtleUVjeEVycm9yUmVzcG9uc2UsXG4gIE1vbmtleUVjeEhhbmRsZWRFcnJvclJlc3BvbnNlLFxuICBNb25rZXlFY3hSZXF1ZXN0UGFnZWQsXG4gIE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZSxcbiAgTW9ua2V5RWN4UmVzcG9uc2VQYWdlZCxcbiAgTW9ua2V5RWN4UmVzcG9uc2VMaW5rcyxcbiAgTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyxcbiAgTW9ua2V5RWN4VHJhbnNsYXRlT3B0aW9ucyxcbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmFnZS9tb25rZXllY3gtdG9rZW4tc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZVNlcnZpY2UgfSBmcm9tICcuLi9zY2hlZHVsZXMvbW9ua2V5ZWN4LXJlcXVlc3Qtc2NoZWR1bGUuc2VydmljZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hSZXF1ZXN0UXVldWVIYW5kbGluZ1NlcnZpY2UgfSBmcm9tICcuLi9yZXF1ZXN0LXF1ZXVlL21vbmtleWVjeC1yZXF1ZXN0LXF1ZXVlLWhhbmRsaW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4UmVxdWVzdFBhZ2VkSGFuZGxpbmcgfSBmcm9tICcuLi9yZXF1ZXN0LXBhZ2VkL21vbmtleWVjeC1yZXF1ZXN0LXJlcXVlc3QtcGFnZWQtaGFuZGxpbmcnO1xuaW1wb3J0IHsgTW9ua2V5RWN4RmVhdHVyZVRvZ2dsZVNlcnZpY2UgfSBmcm9tICcuLi9jb25maWcvbW9ua2V5ZWN4LWZlYXR1cmUtdG9nZ2xlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4VXRpbHMgfSBmcm9tICcuLi8uLi91dGlscy91dGlscyc7XG5pbXBvcnQgeyBNb25rZXlFY3hDb3JlU2VydmljZSB9IGZyb20gJy4uLy4uL2RlY29yYXRvcnMvbW9ua2V5ZWN4LWRlY29yYXRvcnMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4U2VydmljZSB9IGZyb20gJy4uL21vbmtleWVjeC1zZXJ2aWNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4U2F2ZWRTdGF0ZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4Q29tbW9uc1NlcnZpY2Uge1xuICBwcml2YXRlIGZsYWdWYWxpZGF0b3IgPSB0cnVlO1xuXG4gIF9fZGF0YTogYW55IHwgYW55W107XG5cbiAgX19zYXZlZFN0YXRlOiBNb25rZXlFY3hTYXZlZFN0YXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgX19wYXJhbXM6IGFueSB8IGFueVtdO1xuXG4gIF9fZXJyb3I6IE1vbmtleUVjeEVycm9yUmVzcG9uc2UgfCBudWxsID0gbnVsbDtcblxuICBfX2hhbmRsZWRFcnJvcjogTW9ua2V5RWN4SGFuZGxlZEVycm9yUmVzcG9uc2UgfCBudWxsID0gbnVsbDtcblxuICBfX3BhZ2U6IE1vbmtleUVjeFJlc3BvbnNlUGFnZWQgfCBudWxsID0gbnVsbDtcblxuICBfX2xpbmtzOiBNb25rZXlFY3hSZXNwb25zZUxpbmtzIHwgbnVsbCA9IG51bGw7XG5cbiAgX19zZWFyY2g6IGFueTtcblxuICBfX3JlcXVlc3RQYWdlZDogTW9ua2V5RWN4UmVxdWVzdFBhZ2VkIHwgbnVsbCA9IG51bGw7XG5cbiAgX19vblNlYXJjaENoYW5nZWQkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG5cbiAgX19vbkRhdGFDaGFuZ2VkJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuXG4gIF9fb25Mb2FkaW5nSW5Qcm9ncmVzcyQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgX19vbkRhdGFEZWxldGVkJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuXG4gIF9fb25FcnJvckNoYW5nZWQkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG5cbiAgX19vbkdvdmVybm1lbnRJZERhdGFDaGFuZ2VkJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuXG4gIF9fb25aaXBDb2RlRGF0YUNoYW5nZWQkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG5cbiAgX19vbmkxOG5EYXRhQ2hhbmdlZCQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBfX29uRG9TZWFyY2gkOiBCZWhhdmlvclN1YmplY3Q8TW9ua2V5RWN4UmVxdWVzdFBhZ2VkPiA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xuXG4gIF9fdG9rZW5DcmVkZW50aWFsczogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB8IG51bGwgPSBudWxsO1xuXG4gIF9fc2NoZWR1bGU6IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZSB8IG51bGwgPSBudWxsO1xuXG4gIF9faTE4bjogYW55O1xuXG4gIF9fY2FsbGJhY2tQYWdpbmF0aW9uOiBGdW5jdGlvbiA9ICgpID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgIHJldHVybiBjb25zb2xlLmVycm9yKCdNZXRob2QgY2FsbGJhY2tQYWdpbmF0aW9uIG5lZWRzIHRvIGJlIGRlY2xhcmVkJyk7XG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG1vbmtleWVjeFNlcnZpY2U/OiBNb25rZXlFY3hTZXJ2aWNlLFxuICAgIHB1YmxpYyB0b2tlblN0b3JhZ2U/OiBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlLFxuICAgIHB1YmxpYyBvdGhlckFyZ3M/OiB7XG4gICAgICByb3V0ZXI/OiBSb3V0ZXI7XG4gICAgICBzY2hlZHVsZT86IHtcbiAgICAgICAgc2VydmljZTogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlU2VydmljZTtcbiAgICAgICAgb3B0aW9ucz86IHtcbiAgICAgICAgICBjbGVhck9uQ2hhbmdlUm91dGU/OiBib29sZWFuO1xuICAgICAgICB9O1xuICAgICAgfTtcbiAgICAgIHF1ZXVlPzoge1xuICAgICAgICBzZXJ2aWNlOiBNb25rZXlFY3hSZXF1ZXN0UXVldWVIYW5kbGluZ1NlcnZpY2U7XG4gICAgICB9O1xuICAgIH1cbiAgKSB7XG4gICAgdGhpcy5oYW5kbGVJbml0KCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUluaXQoKSB7XG4gICAgaWYgKHRoaXMudG9rZW5TdG9yYWdlKSB7XG4gICAgICB0aGlzLl9fdG9rZW5DcmVkZW50aWFscyA9IHRoaXMudG9rZW5TdG9yYWdlLmdldFRva2VuKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3RoZXJBcmdzPy5yb3V0ZXIpIHtcbiAgICAgIGNvbnN0IHsgY2xlYXJPbkNoYW5nZVJvdXRlIH0gPSB0aGlzLm90aGVyQXJncz8uc2NoZWR1bGU/Lm9wdGlvbnMgfHwge1xuICAgICAgICBjbGVhck9uQ2hhbmdlUm91dGU6IGZhbHNlLFxuICAgICAgfTtcbiAgICAgIHRoaXMub3RoZXJBcmdzLnJvdXRlci5ldmVudHNcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgZmlsdGVyKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQ7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgdGFrZSgxKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLl9fc2NoZWR1bGUgJiYgY2xlYXJPbkNoYW5nZVJvdXRlKSB7XG4gICAgICAgICAgICB0aGlzLm90aGVyQXJncz8uc2NoZWR1bGU/LnNlcnZpY2U/LnJlbW92ZVNjaGVkdWxlKHRoaXMuX19zY2hlZHVsZSk7XG4gICAgICAgICAgICB0aGlzLl9fc2NoZWR1bGUgPSBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRSb2xlKCk6IHN0cmluZyB7XG4gICAgY29uc3QgeyBfX3Rva2VuQ3JlZGVudGlhbHMgfSA9IHRoaXM7XG5cbiAgICBpZiAoIV9fdG9rZW5DcmVkZW50aWFscykgcmV0dXJuICcnO1xuXG4gICAgaWYgKF9fdG9rZW5DcmVkZW50aWFscz8ucHJvZ3JhbUFkbWluID09PSAndHJ1ZScpIHtcbiAgICAgIHJldHVybiAnUFJPR1JBTV9BRE1JTic7XG4gICAgfVxuXG4gICAgcmV0dXJuIF9fdG9rZW5DcmVkZW50aWFscz8ucm9sZSB8fCAnJztcbiAgfVxuXG4gIHByaXZhdGUgYWxsb3dlZFNlY3VyaXR5QWNjZXNzKGFyZ3M6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmICghYXJncykgcmV0dXJuIHRydWU7XG4gICAgY29uc3Qgcm9sZXMgPSBhcmdzPy5yb2xlcztcbiAgICBjb25zdCBieUV4Y2x1c2lvbiA9IGFyZ3M/LmJ5RXhjbHVzaW9uO1xuICAgIGNvbnN0IGZvdW5kID0gcm9sZXM/LmluZGV4T2YodGhpcy5nZXRSb2xlKCkpO1xuICAgIGxldCByZXQgPSBmYWxzZTtcbiAgICBpZiAoYnlFeGNsdXNpb24pIHtcbiAgICAgIHJldCA9IHRydWU7XG4gICAgICBpZiAoZm91bmQgPiAtMSkge1xuICAgICAgICByZXQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0ID0gZmFsc2U7XG4gICAgICBpZiAoZm91bmQgPiAtMSkge1xuICAgICAgICByZXQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIXJvbGVzIHx8IHJvbGVzLmxlbmd0aCA9PT0gMCB8fCB0aGlzLmdldFJvbGUoKSA9PT0gJ1BST0dSQU1fQURNSU4nKSB7XG4gICAgICByZXQgPSB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgcHJpdmF0ZSBuYXZpZ2F0ZVRvRXJyb3JQYWdlKHN0YXR1c0NvZGU6IG51bWJlciwgcm91dGVyPzogUm91dGVyKSB7XG4gICAgY29uc3Qgcm91dGVzOiBhbnkgPSB7XG4gICAgICA0MDM6ICdmb3JiaWRkZW4nLFxuICAgICAgNDA0OiAnbm90LWZvdW5kJyxcbiAgICAgIDUwMDogJ3NlcnZpY2UtcHJvYmxlbXMnLFxuICAgICAgNTAzOiAnc2VydmljZS1wcm9ibGVtcycsXG4gICAgfTtcblxuICAgIGlmICghcm91dGVyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdSb3V0ZXIgbXVzdCBiZSBkZWNsYXJlZCcpO1xuICAgIH0gZWxzZSB7XG4gICAgICByb3V0ZXI/Lm5hdmlnYXRlKFtgL2FwcC9wYWdlcy8ke3JvdXRlc1tzdGF0dXNDb2RlXX1gLnRvTG93ZXJDYXNlKCldLCB7XG4gICAgICAgIHNraXBMb2NhdGlvbkNoYW5nZTogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNldFBhZ2UocmVxdWVzdFBhZ2VkOiBNb25rZXlFY3hSZXF1ZXN0UGFnZWQpIHtcbiAgICB0aGlzLl9fcmVxdWVzdFBhZ2VkID0ge1xuICAgICAgLi4udGhpcy5fX3JlcXVlc3RQYWdlZCxcbiAgICAgIC4uLnJlcXVlc3RQYWdlZCxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgbmV4dFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuX19saW5rcykge1xuICAgICAgcmV0dXJuICEhdGhpcy5fX2xpbmtzPy5uZXh0O1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX19yZXF1ZXN0UGFnZWQpIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCB7IHBhZ2UgfSA9IHRoaXMuX19yZXF1ZXN0UGFnZWQgYXMgYW55O1xuICAgIGNvbnN0IHsgbnVtYmVyLCB0b3RhbFBhZ2VzIH0gPSBwYWdlO1xuICAgIGlmIChudW1iZXIgPCB0b3RhbFBhZ2VzKSB7XG4gICAgICB0aGlzLl9fcmVxdWVzdFBhZ2VkID0ge1xuICAgICAgICAuLi50aGlzLl9fcmVxdWVzdFBhZ2VkLFxuICAgICAgICBwYWdlOiB7XG4gICAgICAgICAgLi4ucGFnZSxcbiAgICAgICAgICBudW1iZXI6IG51bWJlciArIDEsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGdldEVtYmVkZGVkRGF0YShkYXRhOiBhbnksIGZpZWxkOiBzdHJpbmcpOiBhbnlbXSB8IGFueSB7XG4gICAgY29uc3QgeyBfZW1iZWRkZWQgfSA9IGRhdGE7XG4gICAgcmV0dXJuIF9lbWJlZGRlZCA/IF9lbWJlZGRlZFtmaWVsZF0gOiBudWxsO1xuICB9XG5cbiAgZ2V0Tm9ybWFsaXplZFVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgeyBfX3JlcXVlc3RQYWdlZCwgX19saW5rcyB9ID0gdGhpcztcbiAgICByZXR1cm4gbmV3IE1vbmtleUVjeFJlcXVlc3RQYWdlZEhhbmRsaW5nKFxuICAgICAgdXJsLFxuICAgICAgX19yZXF1ZXN0UGFnZWQgfHwge30sXG4gICAgICBfX2xpbmtzXG4gICAgKS5nZXRSZXF1ZXN0V2l0aFBhZ2VkUGFyYW1zKCk7XG4gIH1cblxuICBjbGVhcihjbGVhckRhdGE6IGJvb2xlYW4pIHtcbiAgICBpZiAoY2xlYXJEYXRhKSB7XG4gICAgICB0aGlzLl9fZGF0YSA9IG51bGw7XG4gICAgICB0aGlzLl9fcmVxdWVzdFBhZ2VkID0gbnVsbDtcbiAgICAgIHRoaXMuX19wYXJhbXMgPSBudWxsO1xuICAgICAgdGhpcy5fX3BhZ2UgPSBudWxsO1xuICAgICAgdGhpcy5fX2xpbmtzID0gbnVsbDtcblxuICAgICAgaWYgKHRoaXMuX19zY2hlZHVsZSkge1xuICAgICAgICBjb25zdCB7IHF1ZXVlIH0gPSB0aGlzLl9fc2NoZWR1bGU7XG4gICAgICAgIGlmIChxdWV1ZSkge1xuICAgICAgICAgIHRoaXMub3RoZXJBcmdzPy5xdWV1ZT8uc2VydmljZT8ucmVtb3ZlUXVldWVJdGVtKHF1ZXVlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm90aGVyQXJncz8uc2NoZWR1bGU/LnNlcnZpY2U/LnJlbW92ZVNjaGVkdWxlKHRoaXMuX19zY2hlZHVsZSk7XG4gICAgICAgIHRoaXMuX19zY2hlZHVsZSA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuX19lcnJvciA9IG51bGw7XG4gICAgdGhpcy5fX2hhbmRsZWRFcnJvciA9IG51bGw7XG4gICAgdGhpcy5mbGFnVmFsaWRhdG9yID0gZmFsc2U7XG4gIH1cblxuICByZXNvbHZlKFxuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHwgbnVsbCxcbiAgICBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCB8IG51bGwsXG4gICAgb3RoZXJBcmdzPzoge1xuICAgICAgY2FsbGJhY2tNYWluOiBGdW5jdGlvbjtcbiAgICAgIHJvdXRlcj86IFJvdXRlcjtcbiAgICAgIHNlY3VyaXR5Pzoge1xuICAgICAgICByb2xlczogc3RyaW5nW107XG4gICAgICAgIGJ5RXhjbHVzaW9uPzogYm9vbGVhbjtcbiAgICAgIH07XG4gICAgICBjYWxsYmFja1BhZ2luYXRpb24/OiBGdW5jdGlvbjtcbiAgICAgIHRyYW5zbGF0ZU9wdGlvbnM/OiBNb25rZXlFY3hUcmFuc2xhdGVPcHRpb25zO1xuICAgICAgZmVhdHVyZT86IHtcbiAgICAgICAgc2VydmljZTogTW9ua2V5RWN4RmVhdHVyZVRvZ2dsZVNlcnZpY2U7XG4gICAgICAgIGZsYWc6IHN0cmluZztcbiAgICAgIH07XG4gICAgfVxuICApIHtcbiAgICBpZiAoSlNPTi5zdHJpbmdpZnkocm91dGU/LnF1ZXJ5UGFyYW1zKSA9PT0gJ3t9Jykge1xuICAgICAgdGhpcy5fX2RhdGEgPSBudWxsO1xuICAgICAgdGhpcy5fX3BhZ2UgPSBudWxsO1xuICAgIH1cblxuICAgIHRoaXMuX19yZXF1ZXN0UGFnZWQgPSBudWxsO1xuICAgIHRoaXMuZmxhZ1ZhbGlkYXRvciA9IHRydWU7XG5cbiAgICBpZiAodGhpcy50b2tlblN0b3JhZ2UpIHtcbiAgICAgIHRoaXMuX190b2tlbkNyZWRlbnRpYWxzID0gdGhpcy50b2tlblN0b3JhZ2UuZ2V0VG9rZW4oKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5hbGxvd2VkU2VjdXJpdHlBY2Nlc3Mob3RoZXJBcmdzPy5zZWN1cml0eSkpIHtcbiAgICAgIGlmICh0aGlzLl9fc2NoZWR1bGUpIHtcbiAgICAgICAgdGhpcy5vdGhlckFyZ3M/LnNjaGVkdWxlPy5zZXJ2aWNlPy5yZW1vdmVTY2hlZHVsZSh0aGlzLl9fc2NoZWR1bGUpO1xuICAgICAgICB0aGlzLl9fc2NoZWR1bGUgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7IF9fcmVxdWVzdFBhZ2VkIH0gPSB0aGlzO1xuICAgICAgaWYgKCFfX3JlcXVlc3RQYWdlZCkge1xuICAgICAgICB0aGlzLnNldFBhZ2Uoe1xuICAgICAgICAgIHBhZ2U6IHtcbiAgICAgICAgICAgIG51bWJlcjogMCxcbiAgICAgICAgICAgIHNpemU6IDEwLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAob3RoZXJBcmdzPy50cmFuc2xhdGVPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHsgc2VydmljZSwga2V5cyB9ID0gb3RoZXJBcmdzPy50cmFuc2xhdGVPcHRpb25zO1xuICAgICAgICB0aGlzLmdldGkxOG4oc2VydmljZSwga2V5cyB8fCAnJyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChvdGhlckFyZ3M/LmNhbGxiYWNrUGFnaW5hdGlvbikge1xuICAgICAgICB0aGlzLl9fY2FsbGJhY2tQYWdpbmF0aW9uID0gb3RoZXJBcmdzLmNhbGxiYWNrUGFnaW5hdGlvbjtcbiAgICAgIH1cblxuICAgICAgaWYgKG90aGVyQXJncz8uZmVhdHVyZSkge1xuICAgICAgICBjb25zdCB7IGZsYWcsIHNlcnZpY2UgfSA9IG90aGVyQXJncy5mZWF0dXJlO1xuXG4gICAgICAgIHNlcnZpY2Uub25GbGFnc1xuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgdGFrZVdoaWxlKCgpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmxhZ1ZhbGlkYXRvcjtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKHZhbDogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgaWYgKHZhbCkge1xuICAgICAgICAgICAgICBjb25zdCBoYXNGbGFnID0gc2VydmljZS5nZXRGbGFnKGZsYWcpO1xuXG4gICAgICAgICAgICAgIGlmIChNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKGhhc0ZsYWcpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFoYXNGbGFnKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRlVG9FcnJvclBhZ2UoNDA0LCBvdGhlckFyZ3M/LnJvdXRlcik7XG4gICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG90aGVyQXJncz8uY2FsbGJhY2tNYWluKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvdGhlckFyZ3M/LmNhbGxiYWNrTWFpbigpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5hdmlnYXRlVG9FcnJvclBhZ2UoNDAzLCBvdGhlckFyZ3M/LnJvdXRlcik7XG4gICAgfVxuICB9XG5cbiAgZ2V0SFRUUEhlYWRlckFwcGxpY2F0aW9uUERGKCk6IE9iamVjdCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9ic2VydmU6ICdyZXNwb25zZScsXG4gICAgICByZXNwb25zZVR5cGU6ICdibG9iJyxcbiAgICB9O1xuICB9XG5cbiAgQE1vbmtleUVjeENvcmVTZXJ2aWNlKHtcbiAgICByZXF1ZXN0SW5Qcm9ncmVzczoge1xuICAgICAgc2hvd1Byb2dyZXNzOiB0cnVlLFxuICAgIH0sXG4gIH0pXG4gIGdlbmVyaWNNZXRob2QobGluazogYW55LCBkYXRhPzogYW55LCBjYWxsYmFjaz86IEZ1bmN0aW9uKSB7XG4gICAgY29uc3QgeyBocmVmLCB0eXBlID0gJ2dldCcgfSA9IGxpbms7XG5cbiAgICB0aGlzLm1vbmtleWVjeFNlcnZpY2U/Llt0eXBlLnRvTG93ZXJDYXNlKCldKGAke2hyZWZ9YCwgZGF0YSk/LnN1YnNjcmliZShcbiAgICAgICgpID0+IHtcbiAgICAgICAgaWYgKGNhbGxiYWNrKSBjYWxsYmFjaygpO1xuICAgICAgfSxcbiAgICAgIChlcnI6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRocm93RXJyb3IoZXJyKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgZ2V0aTE4bih0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLCBrZXlzOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdHJhbnNsYXRlU2VydmljZS5vbkRlZmF1bHRMYW5nQ2hhbmdlLFxuICAgICAgdHJhbnNsYXRlU2VydmljZS5nZXRTdHJlYW1PblRyYW5zbGF0aW9uQ2hhbmdlKGtleXMpLFxuICAgIF0pLnN1YnNjcmliZSgoW3gsIHldKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZygnZ2V0IGkxOG4gdmVpbyBhcXVpJyk7XG4gICAgICBjb25zb2xlLmxvZyh4KTtcbiAgICAgIGNvbnNvbGUubG9nKHkpO1xuICAgIH0pO1xuICAgIHRyYW5zbGF0ZVNlcnZpY2UuZ2V0U3RyZWFtT25UcmFuc2xhdGlvbkNoYW5nZShrZXlzKS5zdWJzY3JpYmUoKHRyYW5zbGF0aW9uczogYW55KSA9PiB7XG4gICAgICB0aGlzLl9faTE4biA9IHRyYW5zbGF0aW9ucztcbiAgICAgIHRoaXMuX19vbmkxOG5EYXRhQ2hhbmdlZCQubmV4dChudWxsKTtcbiAgICB9KTtcbiAgfVxuXG4gIGRvUGFnaW5hdGlvbigpIHtcbiAgICBpZiAoIXRoaXMuX19vbkxvYWRpbmdJblByb2dyZXNzJC52YWx1ZSkge1xuICAgICAgY29uc3QgaGFzTW9yZVBhZ2VzID0gdGhpcy5zZXRQYWdlKHtcbiAgICAgICAgcGFnZToge1xuICAgICAgICAgIC4uLnRoaXMuX19wYWdlLFxuICAgICAgICB9LFxuICAgICAgfSkubmV4dFBhZ2UoKTtcblxuICAgICAgaWYgKGhhc01vcmVQYWdlcyAmJiB0aGlzLl9fY2FsbGJhY2tQYWdpbmF0aW9uKSB7XG4gICAgICAgIHRoaXMuX19jYWxsYmFja1BhZ2luYXRpb24oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZXRTZWFyY2hCeVVybChyb3V0ZXI6IFJvdXRlciwgdXJsOiBzdHJpbmcsIHNlYXJjaDogYW55LCBleHRyYXM/OiBhbnkpIHtcbiAgICB0aGlzLl9fZGF0YSA9IG51bGw7XG4gICAgdGhpcy5fX3BhZ2UgPSBudWxsO1xuICAgIHRoaXMuX19vbkRhdGFDaGFuZ2VkJC5uZXh0KG51bGwpO1xuICAgIHRoaXMuX19vbkxvYWRpbmdJblByb2dyZXNzJC5uZXh0KGZhbHNlKTtcblxuICAgIHJvdXRlci5uYXZpZ2F0ZShbdXJsXSwge1xuICAgICAgcXVlcnlQYXJhbXM6IHtcbiAgICAgICAgLi4uc2VhcmNoLFxuICAgICAgICByOiBNb25rZXlFY3hVdGlscy5nZXRSYW5kb21TdHJpbmcoMzApLFxuICAgICAgfSxcbiAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsXG4gICAgICAuLi5leHRyYXMsXG4gICAgfSk7XG4gIH1cblxuICBzYXZlU3RhdGUoc3RhdGU6IE1vbmtleUVjeFNhdmVkU3RhdGUpIHtcbiAgICB0aGlzLl9fc2F2ZWRTdGF0ZSA9IHtcbiAgICAgIHBhZ2U6IHRoaXMuX19wYWdlLFxuICAgICAgLi4uc3RhdGUsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -15,14 +15,14 @@ export class MonkeyEcxConfigModule {
15
15
  };
16
16
  }
17
17
  }
18
- MonkeyEcxConfigModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxConfigModule, deps: [{ token: MonkeyEcxConfigModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
19
- MonkeyEcxConfigModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxConfigModule });
20
- MonkeyEcxConfigModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxConfigModule });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxConfigModule, decorators: [{
18
+ MonkeyEcxConfigModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyEcxConfigModule, deps: [{ token: MonkeyEcxConfigModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
19
+ MonkeyEcxConfigModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyEcxConfigModule });
20
+ MonkeyEcxConfigModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyEcxConfigModule });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyEcxConfigModule, decorators: [{
22
22
  type: NgModule
23
23
  }], ctorParameters: function () { return [{ type: MonkeyEcxConfigModule, decorators: [{
24
24
  type: Optional
25
25
  }, {
26
26
  type: SkipSelf
27
27
  }] }]; } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWNvbmZpZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvY29uZmlnL21vbmtleWVjeC1jb25maWcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQjtBQUMzQixPQUFPLEVBQXVCLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUdwRSxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBR0UsWUFBbUM7UUFFbkMsSUFBSSxZQUFZLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQywyRUFBMkUsQ0FBQyxDQUFDO1NBQzlGO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsU0FBUyxFQUFFLENBQUMsc0JBQXNCLENBQUM7U0FDcEMsQ0FBQztJQUNKLENBQUM7O21IQWhCVSxxQkFBcUIsa0JBSWhCLHFCQUFxQjtvSEFKMUIscUJBQXFCO29IQUFyQixxQkFBcUI7NEZBQXJCLHFCQUFxQjtrQkFEakMsUUFBUTswREFLUyxxQkFBcUI7MEJBRmxDLFFBQVE7OzBCQUNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBpbmRlbnQgKi9cclxuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIE9wdGlvbmFsLCBTa2lwU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9tb25rZXllY3gtY29uZmlnLnNlcnZpY2UnO1xyXG5cclxuQE5nTW9kdWxlKClcclxuZXhwb3J0IGNsYXNzIE1vbmtleUVjeENvbmZpZ01vZHVsZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKVxyXG4gICAgQFNraXBTZWxmKClcclxuICAgIHBhcmVudE1vZHVsZTogTW9ua2V5RWN4Q29uZmlnTW9kdWxlXHJcbiAgKSB7XHJcbiAgICBpZiAocGFyZW50TW9kdWxlKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignTW9ua2V5RWN4Q29uZmlnTW9kdWxlIGlzIGFscmVhZHkgbG9hZGVkLiBJbXBvcnQgaXQgaW4gdGhlIEFwcE1vZHVsZSBvbmx5IScpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxNb25rZXlFY3hDb25maWdNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBNb25rZXlFY3hDb25maWdNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW01vbmtleUVjeENvbmZpZ1NlcnZpY2VdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWNvbmZpZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvY29uZmlnL21vbmtleWVjeC1jb25maWcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJCQUEyQjtBQUMzQixPQUFPLEVBQXVCLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUdwRSxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBR0UsWUFBbUM7UUFFbkMsSUFBSSxZQUFZLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQywyRUFBMkUsQ0FBQyxDQUFDO1NBQzlGO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsU0FBUyxFQUFFLENBQUMsc0JBQXNCLENBQUM7U0FDcEMsQ0FBQztJQUNKLENBQUM7O2tIQWhCVSxxQkFBcUIsa0JBSWhCLHFCQUFxQjttSEFKMUIscUJBQXFCO21IQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFEakMsUUFBUTswREFLUyxxQkFBcUI7MEJBRmxDLFFBQVE7OzBCQUNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBpbmRlbnQgKi9cbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vbmtleUVjeENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL21vbmtleWVjeC1jb25maWcuc2VydmljZSc7XG5cbkBOZ01vZHVsZSgpXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4Q29uZmlnTW9kdWxlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKClcbiAgICBAU2tpcFNlbGYoKVxuICAgIHBhcmVudE1vZHVsZTogTW9ua2V5RWN4Q29uZmlnTW9kdWxlXG4gICkge1xuICAgIGlmIChwYXJlbnRNb2R1bGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTW9ua2V5RWN4Q29uZmlnTW9kdWxlIGlzIGFscmVhZHkgbG9hZGVkLiBJbXBvcnQgaXQgaW4gdGhlIEFwcE1vZHVsZSBvbmx5IScpO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8TW9ua2V5RWN4Q29uZmlnTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBNb25rZXlFY3hDb25maWdNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtNb25rZXlFY3hDb25maWdTZXJ2aWNlXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -39,10 +39,11 @@ export class MonkeyEcxConfigService extends MonkeyEcxCommonsService {
39
39
  callback(configBoostrap);
40
40
  }
41
41
  getWhiteLabelSettings(monkeyecxCode, configBoostrap, callback, environment, identifyCode) {
42
- var _a;
43
42
  const { monkeyecxService, monkeyecxi18nConfigService, configSubject$, monkeyStyleGuideSettingsService, monkeyecxLogsConfigService, monkeyecxErrorConfigService, monkeyEcxFeatureToggleService, internalValidations, } = this;
44
43
  const url = `${environment.urlAssets}`;
45
- (_a = monkeyecxService === null || monkeyecxService === void 0 ? void 0 : monkeyecxService.get(`${url}/${monkeyecxCode.toLowerCase()}/white-label.json?t=${MonkeyUtils.getRandomString(30)}`)) === null || _a === void 0 ? void 0 : _a.subscribe((config) => {
44
+ monkeyecxService
45
+ ?.get(`${url}/${monkeyecxCode.toLowerCase()}/white-label.json?t=${MonkeyUtils.getRandomString(30)}`)
46
+ ?.subscribe((config) => {
46
47
  monkeyecxi18nConfigService.apply(config, environment);
47
48
  monkeyecxLogsConfigService.apply(config, configBoostrap, environment, identifyCode);
48
49
  monkeyEcxFeatureToggleService.apply(configSubject$, environment);
@@ -55,11 +56,12 @@ export class MonkeyEcxConfigService extends MonkeyEcxCommonsService {
55
56
  });
56
57
  }
57
58
  init(callback, environment, identifyCode, monkeyecxCode) {
58
- var _a;
59
59
  const { monkeyecxService, configBoostrapSubject$, monkeyecxErrorConfigService } = this;
60
- (_a = monkeyecxService === null || monkeyecxService === void 0 ? void 0 : monkeyecxService.get(`${environment.boostrapAssets}?t=${MonkeyUtils.getRandomString(30)}`, {
60
+ monkeyecxService
61
+ ?.get(`${environment.boostrapAssets}?t=${MonkeyUtils.getRandomString(30)}`, {
61
62
  observe: 'response',
62
- })) === null || _a === void 0 ? void 0 : _a.subscribe((resp) => {
63
+ })
64
+ ?.subscribe((resp) => {
63
65
  const { headers, body } = resp;
64
66
  const monkeyCode = headers.get('monkey-code') || monkeyecxCode;
65
67
  if (monkeyCode) {
@@ -83,8 +85,8 @@ export class MonkeyEcxConfigService extends MonkeyEcxCommonsService {
83
85
  return this.configBoostrapSubject$.asObservable();
84
86
  }
85
87
  }
86
- MonkeyEcxConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxConfigService, deps: [{ token: i1.MonkeyEcxService }, { token: i2.MonkeyEcxi18nConfigService }, { token: i3.MonkeyEcxLogsConfigService }, { token: i4.MonkeyStyleGuideSettingsService }, { token: i5.MonkeyEcxServiceWorkerConfigService }, { token: i6.MonkeyEcxSecurityConsoleConfigService }, { token: i7.MonkeyEcxMaintenanceConfigService }, { token: i8.MonkeyEcxErrorConfigService }, { token: i9.MonkeyEcxFeatureToggleService }], target: i0.ɵɵFactoryTarget.Injectable });
87
- MonkeyEcxConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxConfigService, providedIn: 'root' });
88
+ MonkeyEcxConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyEcxConfigService, deps: [{ token: i1.MonkeyEcxService }, { token: i2.MonkeyEcxi18nConfigService }, { token: i3.MonkeyEcxLogsConfigService }, { token: i4.MonkeyStyleGuideSettingsService }, { token: i5.MonkeyEcxServiceWorkerConfigService }, { token: i6.MonkeyEcxSecurityConsoleConfigService }, { token: i7.MonkeyEcxMaintenanceConfigService }, { token: i8.MonkeyEcxErrorConfigService }, { token: i9.MonkeyEcxFeatureToggleService }], target: i0.ɵɵFactoryTarget.Injectable });
89
+ MonkeyEcxConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyEcxConfigService, providedIn: 'root' });
88
90
  __decorate([
89
91
  MonkeyEcxCoreService({
90
92
  httpResponse: {
@@ -95,10 +97,10 @@ __decorate([
95
97
  },
96
98
  })
97
99
  ], MonkeyEcxConfigService.prototype, "init", null);
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: MonkeyEcxConfigService, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyEcxConfigService, decorators: [{
99
101
  type: Injectable,
100
102
  args: [{
101
103
  providedIn: 'root',
102
104
  }]
103
105
  }], ctorParameters: function () { return [{ type: i1.MonkeyEcxService }, { type: i2.MonkeyEcxi18nConfigService }, { type: i3.MonkeyEcxLogsConfigService }, { type: i4.MonkeyStyleGuideSettingsService }, { type: i5.MonkeyEcxServiceWorkerConfigService }, { type: i6.MonkeyEcxSecurityConsoleConfigService }, { type: i7.MonkeyEcxMaintenanceConfigService }, { type: i8.MonkeyEcxErrorConfigService }, { type: i9.MonkeyEcxFeatureToggleService }]; }, propDecorators: { init: [] } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2NvbmZpZy9tb25rZXllY3gtY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBbUMsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFNbEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7Ozs7O0FBVS9FLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx1QkFBdUI7SUFLakUsWUFDRSxnQkFBa0MsRUFDMUIsMEJBQXNELEVBQ3RELDBCQUFzRCxFQUN0RCwrQkFBZ0UsRUFDaEUsbUNBQXdFLEVBQ3hFLHFDQUE0RSxFQUM1RSxpQ0FBb0UsRUFDcEUsMkJBQXdELEVBQ3hELDZCQUE0RDtRQUVwRSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQVRoQiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQ3RELCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBNEI7UUFDdEQsb0NBQStCLEdBQS9CLCtCQUErQixDQUFpQztRQUNoRSx3Q0FBbUMsR0FBbkMsbUNBQW1DLENBQXFDO1FBQ3hFLDBDQUFxQyxHQUFyQyxxQ0FBcUMsQ0FBdUM7UUFDNUUsc0NBQWlDLEdBQWpDLGlDQUFpQyxDQUFtQztRQUNwRSxnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQTZCO1FBQ3hELGtDQUE2QixHQUE3Qiw2QkFBNkIsQ0FB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QUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7bWRBeUZRLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IHRocm93RXJyb3IsIEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZUd1aWRlU2V0dGluZ3NTZXJ2aWNlLCBNb25rZXlVdGlscyB9IGZyb20gJ21vbmtleS1zdHlsZS1ndWlkZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeGkxOG5Db25maWdTZXJ2aWNlIH0gZnJvbSAnLi9tb25rZXllY3gtaTE4bi1jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeExvZ3NDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9tb25rZXllY3gtbG9ncy1jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeFNlcnZpY2VXb3JrZXJDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9tb25rZXllY3gtc2VydmljZS13b3JrZXItY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hTZWN1cml0eUNvbnNvbGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9tb25rZXllY3gtc2VjdXJpdHktY29uc29sZS1jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeE1haW50ZW5hbmNlQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LW1haW50ZW5hbmNlLWNvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4Q29yZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kZWNvcmF0b3JzL21vbmtleWVjeC1kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4Q29tbW9uc1NlcnZpY2UgfSBmcm9tICcuLi9jb21tb25zL21vbmtleWVjeC1jb21tb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hDb25maWcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL21vbmtleWVjeC1jb25maWcnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hDb25maWdCb29zdHJhcCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvbW9ua2V5ZWN4LWNvbmZpZy1ib29zdHJhcCc7XHJcbmltcG9ydCB7IE1vbmtleUVjeFNlcnZpY2UgfSBmcm9tICcuLi9tb25rZXllY3gtc2VydmljZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4RXJyb3JDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9tb25rZXllY3gtZXJyb3ItY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hGZWF0dXJlVG9nZ2xlU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LWZlYXR1cmUtdG9nZ2xlLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vbmtleUVjeENvbmZpZ1NlcnZpY2UgZXh0ZW5kcyBNb25rZXlFY3hDb21tb25zU2VydmljZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTdWJqZWN0JDogQmVoYXZpb3JTdWJqZWN0PE1vbmtleUVjeENvbmZpZz47XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnQm9vc3RyYXBTdWJqZWN0JDogQmVoYXZpb3JTdWJqZWN0PE1vbmtleUVjeENvbmZpZz47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgbW9ua2V5ZWN4U2VydmljZTogTW9ua2V5RWN4U2VydmljZSxcclxuICAgIHByaXZhdGUgbW9ua2V5ZWN4aTE4bkNvbmZpZ1NlcnZpY2U6IE1vbmtleUVjeGkxOG5Db25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtb25rZXllY3hMb2dzQ29uZmlnU2VydmljZTogTW9ua2V5RWN4TG9nc0NvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2U6IE1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1vbmtleWVjeFNlcnZpY2VXb3JrZXJDb25maWdTZXJ2aWNlOiBNb25rZXlFY3hTZXJ2aWNlV29ya2VyQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgbW9ua2V5ZWN4U2VjdXJpdHlDb25zb2xlQ29uZmlnU2VydmljZTogTW9ua2V5RWN4U2VjdXJpdHlDb25zb2xlQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgbW9ua2V5ZWN4TWFpbnRlbmFuY2VDb25maWdTZXJ2aWNlOiBNb25rZXlFY3hNYWludGVuYW5jZUNvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1vbmtleWVjeEVycm9yQ29uZmlnU2VydmljZTogTW9ua2V5RWN4RXJyb3JDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtb25rZXlFY3hGZWF0dXJlVG9nZ2xlU2VydmljZTogTW9ua2V5RWN4RmVhdHVyZVRvZ2dsZVNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKG1vbmtleWVjeFNlcnZpY2UpO1xyXG4gICAgdGhpcy5jb25maWdTdWJqZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xyXG4gICAgdGhpcy5jb25maWdCb29zdHJhcFN1YmplY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh7fSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGludGVybmFsVmFsaWRhdGlvbnMoLi4uYXJnczogYW55W10pIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgbW9ua2V5ZWN4U2VydmljZVdvcmtlckNvbmZpZ1NlcnZpY2UsXHJcbiAgICAgIG1vbmtleWVjeFNlY3VyaXR5Q29uc29sZUNvbmZpZ1NlcnZpY2UsXHJcbiAgICAgIG1vbmtleWVjeE1haW50ZW5hbmNlQ29uZmlnU2VydmljZSxcclxuICAgIH0gPSB0aGlzO1xyXG4gICAgY29uc3QgY29uZmlnQm9vc3RyYXAgPSBhcmdzWzBdO1xyXG4gICAgY29uc3QgY2FsbGJhY2sgPSBhcmdzWzFdO1xyXG4gICAgbW9ua2V5ZWN4U2VjdXJpdHlDb25zb2xlQ29uZmlnU2VydmljZS5hcHBseSgpO1xyXG4gICAgbW9ua2V5ZWN4U2VydmljZVdvcmtlckNvbmZpZ1NlcnZpY2UuYXBwbHkoY29uZmlnQm9vc3RyYXApO1xyXG4gICAgbW9ua2V5ZWN4TWFpbnRlbmFuY2VDb25maWdTZXJ2aWNlLmFwcGx5KGNvbmZpZ0Jvb3N0cmFwKTtcclxuICAgIGNhbGxiYWNrKGNvbmZpZ0Jvb3N0cmFwKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0V2hpdGVMYWJlbFNldHRpbmdzKFxyXG4gICAgbW9ua2V5ZWN4Q29kZTogc3RyaW5nLFxyXG4gICAgY29uZmlnQm9vc3RyYXA6IE1vbmtleUVjeENvbmZpZ0Jvb3N0cmFwLFxyXG4gICAgY2FsbGJhY2s6IEZ1bmN0aW9uLFxyXG4gICAgZW52aXJvbm1lbnQ6IGFueSxcclxuICAgIGlkZW50aWZ5Q29kZTogc3RyaW5nXHJcbiAgKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIG1vbmtleWVjeFNlcnZpY2UsXHJcbiAgICAgIG1vbmtleWVjeGkxOG5Db25maWdTZXJ2aWNlLFxyXG4gICAgICBjb25maWdTdWJqZWN0JCxcclxuICAgICAgbW9ua2V5U3R5bGVHdWlkZVNldHRpbmdzU2VydmljZSxcclxuICAgICAgbW9ua2V5ZWN4TG9nc0NvbmZpZ1NlcnZpY2UsXHJcbiAgICAgIG1vbmtleWVjeEVycm9yQ29uZmlnU2VydmljZSxcclxuICAgICAgbW9ua2V5RWN4RmVhdHVyZVRvZ2dsZVNlcnZpY2UsXHJcbiAgICAgIGludGVybmFsVmFsaWRhdGlvbnMsXHJcbiAgICB9ID0gdGhpcztcclxuICAgIGNvbnN0IHVybCA9IGAke2Vudmlyb25tZW50LnVybEFzc2V0c31gO1xyXG4gICAgbW9ua2V5ZWN4U2VydmljZVxyXG4gICAgICA/LmdldDxhbnk+KFxyXG4gICAgICAgIGAke3VybH0vJHttb25rZXllY3hDb2RlLnRvTG93ZXJDYXNlKCl9L3doaXRlLWxhYmVsLmpzb24/dD0ke01vbmtleVV0aWxzLmdldFJhbmRvbVN0cmluZyhcclxuICAgICAgICAgIDMwXHJcbiAgICAgICAgKX1gXHJcbiAgICAgIClcclxuICAgICAgPy5zdWJzY3JpYmUoXHJcbiAgICAgICAgKGNvbmZpZzogTW9ua2V5RWN4Q29uZmlnKSA9PiB7XHJcbiAgICAgICAgICBtb25rZXllY3hpMThuQ29uZmlnU2VydmljZS5hcHBseShjb25maWcsIGVudmlyb25tZW50KTtcclxuICAgICAgICAgIG1vbmtleWVjeExvZ3NDb25maWdTZXJ2aWNlLmFwcGx5KGNvbmZpZywgY29uZmlnQm9vc3RyYXAsIGVudmlyb25tZW50LCBpZGVudGlmeUNvZGUpO1xyXG4gICAgICAgICAgbW9ua2V5RWN4RmVhdHVyZVRvZ2dsZVNlcnZpY2UuYXBwbHkoY29uZmlnU3ViamVjdCQsIGVudmlyb25tZW50KTtcclxuICAgICAgICAgIG1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2UuYm9vc3RyYXAoXHJcbiAgICAgICAgICAgIGAke3VybH0vJHttb25rZXllY3hDb2RlLnRvTG93ZXJDYXNlKCl9L21vbmtleS1zdHlsZS1ndWlkZS1zZXR0aW5ncy5qc29uP3Q9JHtNb25rZXlVdGlscy5nZXRSYW5kb21TdHJpbmcoXHJcbiAgICAgICAgICAgICAgMzBcclxuICAgICAgICAgICAgKX1gLFxyXG4gICAgICAgICAgICBpbnRlcm5hbFZhbGlkYXRpb25zLmJpbmQodGhpcywgY29uZmlnQm9vc3RyYXAsIGNhbGxiYWNrLCBlbnZpcm9ubWVudClcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBjb25maWdTdWJqZWN0JC5uZXh0KGNvbmZpZyk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICAoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgbW9ua2V5ZWN4RXJyb3JDb25maWdTZXJ2aWNlLmFwcGx5KCd0aGVtZScpO1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcignUHJvZ3JhbSBDb25maWd1cmF0aW9uIG5vdCBmb3VuZCEnKTtcclxuICAgICAgICAgIHRocm93RXJyb3IoZXJyKTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBATW9ua2V5RWN4Q29yZVNlcnZpY2Uoe1xyXG4gICAgaHR0cFJlc3BvbnNlOiB7XHJcbiAgICAgIGh0dHBDb2RlSWdub3JlOiBbNDA0XSxcclxuICAgIH0sXHJcbiAgICByZXF1ZXN0SW5Qcm9ncmVzczoge1xyXG4gICAgICBzaG93UHJvZ3Jlc3M6IGZhbHNlLFxyXG4gICAgfSxcclxuICB9KVxyXG4gIHB1YmxpYyBpbml0KGNhbGxiYWNrOiBGdW5jdGlvbiwgZW52aXJvbm1lbnQ6IGFueSwgaWRlbnRpZnlDb2RlOiBzdHJpbmcsIG1vbmtleWVjeENvZGU/OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHsgbW9ua2V5ZWN4U2VydmljZSwgY29uZmlnQm9vc3RyYXBTdWJqZWN0JCwgbW9ua2V5ZWN4RXJyb3JDb25maWdTZXJ2aWNlIH0gPSB0aGlzO1xyXG5cclxuICAgIG1vbmtleWVjeFNlcnZpY2VcclxuICAgICAgPy5nZXQoYCR7ZW52aXJvbm1lbnQuYm9vc3RyYXBBc3NldHN9P3Q9JHtNb25rZXlVdGlscy5nZXRSYW5kb21TdHJpbmcoMzApfWAsIHtcclxuICAgICAgICBvYnNlcnZlOiAncmVzcG9uc2UnLFxyXG4gICAgICB9KVxyXG4gICAgICA/LnN1YnNjcmliZShcclxuICAgICAgICAocmVzcDogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCB7IGhlYWRlcnMsIGJvZHkgfSA9IHJlc3A7XHJcbiAgICAgICAgICBjb25zdCBtb25rZXlDb2RlID0gaGVhZGVycy5nZXQoJ21vbmtleS1jb2RlJykgfHwgbW9ua2V5ZWN4Q29kZTtcclxuICAgICAgICAgIGlmIChtb25rZXlDb2RlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0V2hpdGVMYWJlbFNldHRpbmdzKG1vbmtleUNvZGUsIGJvZHksIGNhbGxiYWNrLCBlbnZpcm9ubWVudCwgaWRlbnRpZnlDb2RlKTtcclxuICAgICAgICAgICAgY29uZmlnQm9vc3RyYXBTdWJqZWN0JC5uZXh0KGJvZHkpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbW9ua2V5ZWN4RXJyb3JDb25maWdTZXJ2aWNlLmFwcGx5KCd0aGVtZScpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBCb29zdHJhcCAke21vbmtleUNvZGV9IENvbmZpZ3VyYXRpb24gbm90IGZvdW5kIWApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIG1vbmtleWVjeEVycm9yQ29uZmlnU2VydmljZS5hcHBseSgndGhlbWUnKTtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Jvb3N0cmFwIENvbmZpZ3VyYXRpb24gbm90IGZvdW5kIScpO1xyXG4gICAgICAgICAgdGhyb3dFcnJvcihlcnIpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb25maWcoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1N1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGJvb3N0cmFwQ29uZmlnKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWdCb29zdHJhcFN1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2NvbmZpZy9tb25rZXllY3gtY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBbUMsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFNbEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7Ozs7O0FBVS9FLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx1QkFBdUI7SUFLakUsWUFDRSxnQkFBa0MsRUFDMUIsMEJBQXNELEVBQ3RELDBCQUFzRCxFQUN0RCwrQkFBZ0UsRUFDaEUsbUNBQXdFLEVBQ3hFLHFDQUE0RSxFQUM1RSxpQ0FBb0UsRUFDcEUsMkJBQXdELEVBQ3hELDZCQUE0RDtRQUVwRSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQVRoQiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQ3RELCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBNEI7UUFDdEQsb0NBQStCLEdBQS9CLCtCQUErQixDQUFpQztRQUNoRSx3Q0FBbUMsR0FBbkMsbUNBQW1DLENBQXFDO1FBQ3hFLDBDQUFxQyxHQUFyQyxxQ0FBcUMsQ0FBdUM7UUFDNUUsc0NBQWlDLEdBQWpDLGlDQUFpQyxDQUFtQztRQUNwRSxnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQTZCO1FBQ3hELGtDQUE2QixHQUE3Qiw2QkFBNkIsQ0FB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bkI7bWRBeUZRLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IHRocm93RXJyb3IsIEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZUd1aWRlU2V0dGluZ3NTZXJ2aWNlLCBNb25rZXlVdGlscyB9IGZyb20gJ21vbmtleS1zdHlsZS1ndWlkZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeGkxOG5Db25maWdTZXJ2aWNlIH0gZnJvbSAnLi9tb25rZXllY3gtaTE4bi1jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeExvZ3NDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9tb25rZXllY3gtbG9ncy1jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeFNlcnZpY2VXb3JrZXJDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9tb25rZXllY3gtc2VydmljZS13b3JrZXItY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hTZWN1cml0eUNvbnNvbGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9tb25rZXllY3gtc2VjdXJpdHktY29uc29sZS1jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeE1haW50ZW5hbmNlQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LW1haW50ZW5hbmNlLWNvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4Q29yZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kZWNvcmF0b3JzL21vbmtleWVjeC1kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4Q29tbW9uc1NlcnZpY2UgfSBmcm9tICcuLi9jb21tb25zL21vbmtleWVjeC1jb21tb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hDb25maWcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL21vbmtleWVjeC1jb25maWcnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hDb25maWdCb29zdHJhcCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvbW9ua2V5ZWN4LWNvbmZpZy1ib29zdHJhcCc7XHJcbmltcG9ydCB7IE1vbmtleUVjeFNlcnZpY2UgfSBmcm9tICcuLi9tb25rZXllY3gtc2VydmljZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4RXJyb3JDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9tb25rZXllY3gtZXJyb3ItY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hGZWF0dXJlVG9nZ2xlU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LWZlYXR1cmUtdG9nZ2xlLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vbmtleUVjeENvbmZpZ1NlcnZpY2UgZXh0ZW5kcyBNb25rZXlFY3hDb21tb25zU2VydmljZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTdWJqZWN0JDogQmVoYXZpb3JTdWJqZWN0PE1vbmtleUVjeENvbmZpZz47XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnQm9vc3RyYXBTdWJqZWN0JDogQmVoYXZpb3JTdWJqZWN0PE1vbmtleUVjeENvbmZpZz47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgbW9ua2V5ZWN4U2VydmljZTogTW9ua2V5RWN4U2VydmljZSxcclxuICAgIHByaXZhdGUgbW9ua2V5ZWN4aTE4bkNvbmZpZ1NlcnZpY2U6IE1vbmtleUVjeGkxOG5Db25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtb25rZXllY3hMb2dzQ29uZmlnU2VydmljZTogTW9ua2V5RWN4TG9nc0NvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2U6IE1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1vbmtleWVjeFNlcnZpY2VXb3JrZXJDb25maWdTZXJ2aWNlOiBNb25rZXlFY3hTZXJ2aWNlV29ya2VyQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgbW9ua2V5ZWN4U2VjdXJpdHlDb25zb2xlQ29uZmlnU2VydmljZTogTW9ua2V5RWN4U2VjdXJpdHlDb25zb2xlQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgbW9ua2V5ZWN4TWFpbnRlbmFuY2VDb25maWdTZXJ2aWNlOiBNb25rZXlFY3hNYWludGVuYW5jZUNvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1vbmtleWVjeEVycm9yQ29uZmlnU2VydmljZTogTW9ua2V5RWN4RXJyb3JDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtb25rZXlFY3hGZWF0dXJlVG9nZ2xlU2VydmljZTogTW9ua2V5RWN4RmVhdHVyZVRvZ2dsZVNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKG1vbmtleWVjeFNlcnZpY2UpO1xyXG4gICAgdGhpcy5jb25maWdTdWJqZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xyXG4gICAgdGhpcy5jb25maWdCb29zdHJhcFN1YmplY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh7fSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGludGVybmFsVmFsaWRhdGlvbnMoLi4uYXJnczogYW55W10pIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgbW9ua2V5ZWN4U2VydmljZVdvcmtlckNvbmZpZ1NlcnZpY2UsXHJcbiAgICAgIG1vbmtleWVjeFNlY3VyaXR5Q29uc29sZUNvbmZpZ1NlcnZpY2UsXHJcbiAgICAgIG1vbmtleWVjeE1haW50ZW5hbmNlQ29uZmlnU2VydmljZSxcclxuICAgIH0gPSB0aGlzO1xyXG4gICAgY29uc3QgY29uZmlnQm9vc3RyYXAgPSBhcmdzWzBdO1xyXG4gICAgY29uc3QgY2FsbGJhY2sgPSBhcmdzWzFdO1xyXG4gICAgbW9ua2V5ZWN4U2VjdXJpdHlDb25zb2xlQ29uZmlnU2VydmljZS5hcHBseSgpO1xyXG4gICAgbW9ua2V5ZWN4U2VydmljZVdvcmtlckNvbmZpZ1NlcnZpY2UuYXBwbHkoY29uZmlnQm9vc3RyYXApO1xyXG4gICAgbW9ua2V5ZWN4TWFpbnRlbmFuY2VDb25maWdTZXJ2aWNlLmFwcGx5KGNvbmZpZ0Jvb3N0cmFwKTtcclxuICAgIGNhbGxiYWNrKGNvbmZpZ0Jvb3N0cmFwKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0V2hpdGVMYWJlbFNldHRpbmdzKFxyXG4gICAgbW9ua2V5ZWN4Q29kZTogc3RyaW5nLFxyXG4gICAgY29uZmlnQm9vc3RyYXA6IE1vbmtleUVjeENvbmZpZ0Jvb3N0cmFwLFxyXG4gICAgY2FsbGJhY2s6IEZ1bmN0aW9uLFxyXG4gICAgZW52aXJvbm1lbnQ6IGFueSxcclxuICAgIGlkZW50aWZ5Q29kZTogc3RyaW5nXHJcbiAgKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIG1vbmtleWVjeFNlcnZpY2UsXHJcbiAgICAgIG1vbmtleWVjeGkxOG5Db25maWdTZXJ2aWNlLFxyXG4gICAgICBjb25maWdTdWJqZWN0JCxcclxuICAgICAgbW9ua2V5U3R5bGVHdWlkZVNldHRpbmdzU2VydmljZSxcclxuICAgICAgbW9ua2V5ZWN4TG9nc0NvbmZpZ1NlcnZpY2UsXHJcbiAgICAgIG1vbmtleWVjeEVycm9yQ29uZmlnU2VydmljZSxcclxuICAgICAgbW9ua2V5RWN4RmVhdHVyZVRvZ2dsZVNlcnZpY2UsXHJcbiAgICAgIGludGVybmFsVmFsaWRhdGlvbnMsXHJcbiAgICB9ID0gdGhpcztcclxuICAgIGNvbnN0IHVybCA9IGAke2Vudmlyb25tZW50LnVybEFzc2V0c31gO1xyXG4gICAgbW9ua2V5ZWN4U2VydmljZVxyXG4gICAgICA/LmdldDxhbnk+KFxyXG4gICAgICAgIGAke3VybH0vJHttb25rZXllY3hDb2RlLnRvTG93ZXJDYXNlKCl9L3doaXRlLWxhYmVsLmpzb24/dD0ke01vbmtleVV0aWxzLmdldFJhbmRvbVN0cmluZyhcclxuICAgICAgICAgIDMwXHJcbiAgICAgICAgKX1gXHJcbiAgICAgIClcclxuICAgICAgPy5zdWJzY3JpYmUoXHJcbiAgICAgICAgKGNvbmZpZzogTW9ua2V5RWN4Q29uZmlnKSA9PiB7XHJcbiAgICAgICAgICBtb25rZXllY3hpMThuQ29uZmlnU2VydmljZS5hcHBseShjb25maWcsIGVudmlyb25tZW50KTtcclxuICAgICAgICAgIG1vbmtleWVjeExvZ3NDb25maWdTZXJ2aWNlLmFwcGx5KGNvbmZpZywgY29uZmlnQm9vc3RyYXAsIGVudmlyb25tZW50LCBpZGVudGlmeUNvZGUpO1xyXG4gICAgICAgICAgbW9ua2V5RWN4RmVhdHVyZVRvZ2dsZVNlcnZpY2UuYXBwbHkoY29uZmlnU3ViamVjdCQsIGVudmlyb25tZW50KTtcclxuICAgICAgICAgIG1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2UuYm9vc3RyYXAoXHJcbiAgICAgICAgICAgIGAke3VybH0vJHttb25rZXllY3hDb2RlLnRvTG93ZXJDYXNlKCl9L21vbmtleS1zdHlsZS1ndWlkZS1zZXR0aW5ncy5qc29uP3Q9JHtNb25rZXlVdGlscy5nZXRSYW5kb21TdHJpbmcoXHJcbiAgICAgICAgICAgICAgMzBcclxuICAgICAgICAgICAgKX1gLFxyXG4gICAgICAgICAgICBpbnRlcm5hbFZhbGlkYXRpb25zLmJpbmQodGhpcywgY29uZmlnQm9vc3RyYXAsIGNhbGxiYWNrLCBlbnZpcm9ubWVudClcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBjb25maWdTdWJqZWN0JC5uZXh0KGNvbmZpZyk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICAoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgbW9ua2V5ZWN4RXJyb3JDb25maWdTZXJ2aWNlLmFwcGx5KCd0aGVtZScpO1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcignUHJvZ3JhbSBDb25maWd1cmF0aW9uIG5vdCBmb3VuZCEnKTtcclxuICAgICAgICAgIHRocm93RXJyb3IoZXJyKTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBATW9ua2V5RWN4Q29yZVNlcnZpY2Uoe1xyXG4gICAgaHR0cFJlc3BvbnNlOiB7XHJcbiAgICAgIGh0dHBDb2RlSWdub3JlOiBbNDA0XSxcclxuICAgIH0sXHJcbiAgICByZXF1ZXN0SW5Qcm9ncmVzczoge1xyXG4gICAgICBzaG93UHJvZ3Jlc3M6IGZhbHNlLFxyXG4gICAgfSxcclxuICB9KVxyXG4gIHB1YmxpYyBpbml0KGNhbGxiYWNrOiBGdW5jdGlvbiwgZW52aXJvbm1lbnQ6IGFueSwgaWRlbnRpZnlDb2RlOiBzdHJpbmcsIG1vbmtleWVjeENvZGU/OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHsgbW9ua2V5ZWN4U2VydmljZSwgY29uZmlnQm9vc3RyYXBTdWJqZWN0JCwgbW9ua2V5ZWN4RXJyb3JDb25maWdTZXJ2aWNlIH0gPSB0aGlzO1xyXG5cclxuICAgIG1vbmtleWVjeFNlcnZpY2VcclxuICAgICAgPy5nZXQoYCR7ZW52aXJvbm1lbnQuYm9vc3RyYXBBc3NldHN9P3Q9JHtNb25rZXlVdGlscy5nZXRSYW5kb21TdHJpbmcoMzApfWAsIHtcclxuICAgICAgICBvYnNlcnZlOiAncmVzcG9uc2UnLFxyXG4gICAgICB9KVxyXG4gICAgICA/LnN1YnNjcmliZShcclxuICAgICAgICAocmVzcDogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCB7IGhlYWRlcnMsIGJvZHkgfSA9IHJlc3A7XHJcbiAgICAgICAgICBjb25zdCBtb25rZXlDb2RlID0gaGVhZGVycy5nZXQoJ21vbmtleS1jb2RlJykgfHwgbW9ua2V5ZWN4Q29kZTtcclxuICAgICAgICAgIGlmIChtb25rZXlDb2RlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0V2hpdGVMYWJlbFNldHRpbmdzKG1vbmtleUNvZGUsIGJvZHksIGNhbGxiYWNrLCBlbnZpcm9ubWVudCwgaWRlbnRpZnlDb2RlKTtcclxuICAgICAgICAgICAgY29uZmlnQm9vc3RyYXBTdWJqZWN0JC5uZXh0KGJvZHkpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbW9ua2V5ZWN4RXJyb3JDb25maWdTZXJ2aWNlLmFwcGx5KCd0aGVtZScpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBCb29zdHJhcCAke21vbmtleUNvZGV9IENvbmZpZ3VyYXRpb24gbm90IGZvdW5kIWApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIG1vbmtleWVjeEVycm9yQ29uZmlnU2VydmljZS5hcHBseSgndGhlbWUnKTtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Jvb3N0cmFwIENvbmZpZ3VyYXRpb24gbm90IGZvdW5kIScpO1xyXG4gICAgICAgICAgdGhyb3dFcnJvcihlcnIpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb25maWcoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1N1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGJvb3N0cmFwQ29uZmlnKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWdCb29zdHJhcFN1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,85 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ let window;
4
+ const text = {
5
+ i18n: {
6
+ title: 'We have an quick update for you',
7
+ message: 'Click anywhere here to reload your locale',
8
+ },
9
+ theme: {
10
+ title: 'We have an quick update for you',
11
+ message: 'Click anywhere here to reload your theme',
12
+ },
13
+ };
14
+ export class MonkeyEcxErrorConfigService {
15
+ constructor() {
16
+ // not to do
17
+ }
18
+ enableSupport() {
19
+ window.zE('webWidget', 'updateSettings', {
20
+ webWidget: {
21
+ color: {
22
+ theme: '#0273E8',
23
+ launcherText: '#fff',
24
+ header: '#0273E8',
25
+ button: '#0273E8',
26
+ },
27
+ zIndex: 99,
28
+ offset: {
29
+ horizontal: '1px',
30
+ vertical: '20px',
31
+ },
32
+ mobile: {
33
+ labelVisible: true,
34
+ },
35
+ launcher: {
36
+ mobile: {
37
+ labelVisible: true,
38
+ },
39
+ },
40
+ },
41
+ });
42
+ window.zE('webWidget', 'setLocale', 'en-US');
43
+ window.zE('webWidget', 'show');
44
+ }
45
+ apply(type) {
46
+ const { title, message } = text?.[type];
47
+ const element = document.createElement('div');
48
+ element.id = 'monkeyecx-information';
49
+ const elementImg = document.createElement('img');
50
+ elementImg.width = 128;
51
+ elementImg.src = 'assets/images/monkey.svg';
52
+ elementImg.style.marginBottom = '50px';
53
+ const elementTitle = document.createElement('span');
54
+ elementTitle.id = 'title';
55
+ elementTitle.innerText = title;
56
+ elementTitle.style.marginBottom = '20px';
57
+ const elementMessage = document.createElement('span');
58
+ elementMessage.id = 'message';
59
+ elementMessage.innerText = message;
60
+ elementMessage.style.marginBottom = '20px';
61
+ const elementChat = document.createElement('span');
62
+ elementChat.id = 'message';
63
+ elementChat.innerText =
64
+ "If you're having trouble to update, please use the support icon bellow";
65
+ element.appendChild(elementImg);
66
+ element.appendChild(elementTitle);
67
+ element.appendChild(elementMessage);
68
+ element.appendChild(elementChat);
69
+ element.addEventListener('click', () => {
70
+ document.location.reload();
71
+ });
72
+ document.body.appendChild(element);
73
+ document.body.getElementsByTagName('app-root')[0].remove();
74
+ this.enableSupport();
75
+ }
76
+ }
77
+ MonkeyEcxErrorConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyEcxErrorConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
78
+ MonkeyEcxErrorConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyEcxErrorConfigService, providedIn: 'root' });
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: MonkeyEcxErrorConfigService, decorators: [{
80
+ type: Injectable,
81
+ args: [{
82
+ providedIn: 'root',
83
+ }]
84
+ }], ctorParameters: function () { return []; } });
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWVycm9yLWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2NvbmZpZy9tb25rZXllY3gtZXJyb3ItY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0MsSUFBSSxNQUFXLENBQUM7QUFFaEIsTUFBTSxJQUFJLEdBQVE7SUFDaEIsSUFBSSxFQUFFO1FBQ0osS0FBSyxFQUFFLGlDQUFpQztRQUN4QyxPQUFPLEVBQUUsMkNBQTJDO0tBQ3JEO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsS0FBSyxFQUFFLGlDQUFpQztRQUN4QyxPQUFPLEVBQUUsMENBQTBDO0tBQ3BEO0NBQ0YsQ0FBQztBQUtGLE1BQU0sT0FBTywyQkFBMkI7SUFDdEM7UUFDRSxZQUFZO0lBQ2QsQ0FBQztJQUVPLGFBQWE7UUFDbkIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLEVBQUU7WUFDdkMsU0FBUyxFQUFFO2dCQUNULEtBQUssRUFBRTtvQkFDTCxLQUFLLEVBQUUsU0FBUztvQkFDaEIsWUFBWSxFQUFFLE1BQU07b0JBQ3BCLE1BQU0sRUFBRSxTQUFTO29CQUNqQixNQUFNLEVBQUUsU0FBUztpQkFDbEI7Z0JBQ0QsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFO29CQUNOLFVBQVUsRUFBRSxLQUFLO29CQUNqQixRQUFRLEVBQUUsTUFBTTtpQkFDakI7Z0JBQ0QsTUFBTSxFQUFFO29CQUNOLFlBQVksRUFBRSxJQUFJO2lCQUNuQjtnQkFDRCxRQUFRLEVBQUU7b0JBQ1IsTUFBTSxFQUFFO3dCQUNOLFlBQVksRUFBRSxJQUFJO3FCQUNuQjtpQkFDRjthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLE1BQU0sQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxLQUFLLENBQUMsSUFBWTtRQUN2QixNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUMsT0FBTyxDQUFDLEVBQUUsR0FBRyx1QkFBdUIsQ0FBQztRQUVyQyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELFVBQVUsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLFVBQVUsQ0FBQyxHQUFHLEdBQUcsMEJBQTBCLENBQUM7UUFDNUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO1FBRXZDLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEQsWUFBWSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDMUIsWUFBWSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDL0IsWUFBWSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO1FBRXpDLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEQsY0FBYyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUM7UUFDOUIsY0FBYyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7UUFDbkMsY0FBYyxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO1FBRTNDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkQsV0FBVyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUM7UUFDM0IsV0FBVyxDQUFDLFNBQVM7WUFDbkIsd0VBQXdFLENBQUM7UUFFM0UsT0FBTyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxPQUFPLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVqQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtZQUNyQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO1FBRUgsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbkMsUUFBUSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7d0hBeEVVLDJCQUEyQjs0SEFBM0IsMkJBQTJCLGNBRjFCLE1BQU07MkZBRVAsMkJBQTJCO2tCQUh2QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmxldCB3aW5kb3c6IGFueTtcclxuXHJcbmNvbnN0IHRleHQ6IGFueSA9IHtcclxuICBpMThuOiB7XHJcbiAgICB0aXRsZTogJ1dlIGhhdmUgYW4gcXVpY2sgdXBkYXRlIGZvciB5b3UnLFxyXG4gICAgbWVzc2FnZTogJ0NsaWNrIGFueXdoZXJlIGhlcmUgdG8gcmVsb2FkIHlvdXIgbG9jYWxlJyxcclxuICB9LFxyXG4gIHRoZW1lOiB7XHJcbiAgICB0aXRsZTogJ1dlIGhhdmUgYW4gcXVpY2sgdXBkYXRlIGZvciB5b3UnLFxyXG4gICAgbWVzc2FnZTogJ0NsaWNrIGFueXdoZXJlIGhlcmUgdG8gcmVsb2FkIHlvdXIgdGhlbWUnLFxyXG4gIH0sXHJcbn07XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4RXJyb3JDb25maWdTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIC8vIG5vdCB0byBkb1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlbmFibGVTdXBwb3J0KCkge1xyXG4gICAgd2luZG93LnpFKCd3ZWJXaWRnZXQnLCAndXBkYXRlU2V0dGluZ3MnLCB7XHJcbiAgICAgIHdlYldpZGdldDoge1xyXG4gICAgICAgIGNvbG9yOiB7XHJcbiAgICAgICAgICB0aGVtZTogJyMwMjczRTgnLFxyXG4gICAgICAgICAgbGF1bmNoZXJUZXh0OiAnI2ZmZicsXHJcbiAgICAgICAgICBoZWFkZXI6ICcjMDI3M0U4JyxcclxuICAgICAgICAgIGJ1dHRvbjogJyMwMjczRTgnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgekluZGV4OiA5OSxcclxuICAgICAgICBvZmZzZXQ6IHtcclxuICAgICAgICAgIGhvcml6b250YWw6ICcxcHgnLFxyXG4gICAgICAgICAgdmVydGljYWw6ICcyMHB4JyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIG1vYmlsZToge1xyXG4gICAgICAgICAgbGFiZWxWaXNpYmxlOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbGF1bmNoZXI6IHtcclxuICAgICAgICAgIG1vYmlsZToge1xyXG4gICAgICAgICAgICBsYWJlbFZpc2libGU6IHRydWUsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIHdpbmRvdy56RSgnd2ViV2lkZ2V0JywgJ3NldExvY2FsZScsICdlbi1VUycpO1xyXG4gICAgd2luZG93LnpFKCd3ZWJXaWRnZXQnLCAnc2hvdycpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFwcGx5KHR5cGU6IHN0cmluZykge1xyXG4gICAgY29uc3QgeyB0aXRsZSwgbWVzc2FnZSB9ID0gdGV4dD8uW3R5cGVdO1xyXG5cclxuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgIGVsZW1lbnQuaWQgPSAnbW9ua2V5ZWN4LWluZm9ybWF0aW9uJztcclxuXHJcbiAgICBjb25zdCBlbGVtZW50SW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7XHJcbiAgICBlbGVtZW50SW1nLndpZHRoID0gMTI4O1xyXG4gICAgZWxlbWVudEltZy5zcmMgPSAnYXNzZXRzL2ltYWdlcy9tb25rZXkuc3ZnJztcclxuICAgIGVsZW1lbnRJbWcuc3R5bGUubWFyZ2luQm90dG9tID0gJzUwcHgnO1xyXG5cclxuICAgIGNvbnN0IGVsZW1lbnRUaXRsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcclxuICAgIGVsZW1lbnRUaXRsZS5pZCA9ICd0aXRsZSc7XHJcbiAgICBlbGVtZW50VGl0bGUuaW5uZXJUZXh0ID0gdGl0bGU7XHJcbiAgICBlbGVtZW50VGl0bGUuc3R5bGUubWFyZ2luQm90dG9tID0gJzIwcHgnO1xyXG5cclxuICAgIGNvbnN0IGVsZW1lbnRNZXNzYWdlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgZWxlbWVudE1lc3NhZ2UuaWQgPSAnbWVzc2FnZSc7XHJcbiAgICBlbGVtZW50TWVzc2FnZS5pbm5lclRleHQgPSBtZXNzYWdlO1xyXG4gICAgZWxlbWVudE1lc3NhZ2Uuc3R5bGUubWFyZ2luQm90dG9tID0gJzIwcHgnO1xyXG5cclxuICAgIGNvbnN0IGVsZW1lbnRDaGF0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgZWxlbWVudENoYXQuaWQgPSAnbWVzc2FnZSc7XHJcbiAgICBlbGVtZW50Q2hhdC5pbm5lclRleHQgPVxyXG4gICAgICBcIklmIHlvdSdyZSBoYXZpbmcgdHJvdWJsZSB0byB1cGRhdGUsIHBsZWFzZSB1c2UgdGhlIHN1cHBvcnQgaWNvbiBiZWxsb3dcIjtcclxuXHJcbiAgICBlbGVtZW50LmFwcGVuZENoaWxkKGVsZW1lbnRJbWcpO1xyXG4gICAgZWxlbWVudC5hcHBlbmRDaGlsZChlbGVtZW50VGl0bGUpO1xyXG4gICAgZWxlbWVudC5hcHBlbmRDaGlsZChlbGVtZW50TWVzc2FnZSk7XHJcbiAgICBlbGVtZW50LmFwcGVuZENoaWxkKGVsZW1lbnRDaGF0KTtcclxuXHJcbiAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4ge1xyXG4gICAgICBkb2N1bWVudC5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgIH0pO1xyXG5cclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7XHJcblxyXG4gICAgZG9jdW1lbnQuYm9keS5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYXBwLXJvb3QnKVswXS5yZW1vdmUoKTtcclxuICAgIHRoaXMuZW5hYmxlU3VwcG9ydCgpO1xyXG4gIH1cclxufVxyXG4iXX0=