@xsolla/payment-client-core 0.2.18 → 0.2.20

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 (447) hide show
  1. package/{esm2020 → esm2022}/lib/core/combined-payment-methods/combined-payment-methods.service.mjs +5 -5
  2. package/{esm2020 → esm2022}/lib/core/countries-api/countries-api.service.mjs +5 -5
  3. package/{esm2020 → esm2022}/lib/core/country/country.service.mjs +5 -5
  4. package/{esm2020 → esm2022}/lib/core/credit-card/credit-card.service.mjs +4 -4
  5. package/esm2022/lib/core/device-finger-print/device-finger-print.service.mjs +67 -0
  6. package/{esm2020 → esm2022}/lib/core/edit-saved-methods/edit-saved-methods.service.mjs +5 -5
  7. package/esm2022/lib/core/encrypt-credit-card/encrypt-credit-card.service.mjs +72 -0
  8. package/esm2022/lib/core/errors-mapping/xps-response-errors-mapping.service.mjs +52 -0
  9. package/esm2022/lib/core/exceptions-handling/elk/elk-logger.service.mjs +120 -0
  10. package/esm2022/lib/core/exceptions-handling/errors/http-error.class.mjs +40 -0
  11. package/esm2022/lib/core/exceptions-handling/errors/tagged-error.class.mjs +16 -0
  12. package/{esm2020 → esm2022}/lib/core/exceptions-handling/http-interceptor/http-exceptions.interceptor.mjs +5 -5
  13. package/esm2022/lib/core/http/secure-api/secure-api.service.mjs +55 -0
  14. package/{esm2020 → esm2022}/lib/core/legal/disclaimer.service.mjs +4 -4
  15. package/{esm2020 → esm2022}/lib/core/legal/legal.service.mjs +5 -5
  16. package/esm2022/lib/core/legal/refund-policy.service.mjs +30 -0
  17. package/esm2022/lib/core/legal/secure-connection.service.mjs +31 -0
  18. package/{esm2020 → esm2022}/lib/core/payment/actions/check-status/check-status.action.class.mjs +4 -4
  19. package/esm2022/lib/core/payment/actions/next-action.service.mjs +61 -0
  20. package/esm2022/lib/core/payment/actions/redirect/redirect.action.class.mjs +60 -0
  21. package/{esm2020 → esm2022}/lib/core/payment/actions/show-errors/show-errors.action.class.mjs +4 -4
  22. package/{esm2020 → esm2022}/lib/core/payment/actions/show-fields/show-fields.action.class.mjs +4 -4
  23. package/{esm2020 → esm2022}/lib/core/payment/actions/show-mobile-payment-screen/show-mobile-payment-screen.action.class.mjs +4 -4
  24. package/{esm2020 → esm2022}/lib/core/payment/actions/show-qr-code/show-qr-code.action.class.mjs +4 -4
  25. package/{esm2020 → esm2022}/lib/core/payment/actions/special-button/special-button.action.class.mjs +4 -4
  26. package/esm2022/lib/core/payment/actions/status-updated/status-updated.action.class.mjs +38 -0
  27. package/{esm2020 → esm2022}/lib/core/payment/actions/three-ds/three-ds.action.class.mjs +4 -4
  28. package/esm2022/lib/core/payment/config/config.service.mjs +37 -0
  29. package/{esm2020 → esm2022}/lib/core/payment/credit-card-state/credit-card-state.service.mjs +4 -4
  30. package/esm2022/lib/core/payment/finance-details/finance-details.service.mjs +38 -0
  31. package/{esm2020 → esm2022}/lib/core/payment/finance-details/status/status-finance-details-adapter.service.mjs +5 -5
  32. package/esm2022/lib/core/payment/finance-details/summary/summary-finance-details-adapter.service.mjs +264 -0
  33. package/esm2022/lib/core/payment/form/controls/control-config.service.mjs +46 -0
  34. package/{esm2020 → esm2022}/lib/core/payment/form/converters/birth-date/birth-date.converter.mjs +5 -5
  35. package/{esm2020 → esm2022}/lib/core/payment/form/converters/card-month/card-month.converter.mjs +5 -5
  36. package/{esm2020 → esm2022}/lib/core/payment/form/converters/card-number/card-number.converter.mjs +5 -5
  37. package/{esm2020 → esm2022}/lib/core/payment/form/converters/card-year/card-year.converter.mjs +5 -5
  38. package/{esm2020 → esm2022}/lib/core/payment/form/converters/cardholder-name/cardholder-name.converter.mjs +5 -5
  39. package/esm2022/lib/core/payment/form/converters/checkbox/checkbox.converter.mjs +33 -0
  40. package/esm2022/lib/core/payment/form/converters/converter.abstract.mjs +76 -0
  41. package/{esm2020 → esm2022}/lib/core/payment/form/converters/coupon/coupon.converter.mjs +5 -5
  42. package/{esm2020 → esm2022}/lib/core/payment/form/converters/cpf-name/cpf-name.converter.mjs +5 -5
  43. package/{esm2020 → esm2022}/lib/core/payment/form/converters/cpf-number/cpf-number.converter.mjs +5 -5
  44. package/esm2022/lib/core/payment/form/converters/cvv/cvv.converter.mjs +72 -0
  45. package/{esm2020 → esm2022}/lib/core/payment/form/converters/email/email.converter.mjs +5 -5
  46. package/{esm2020 → esm2022}/lib/core/payment/form/converters/phone.converter.mjs +5 -5
  47. package/{esm2020 → esm2022}/lib/core/payment/form/converters/pin/pin.converter.mjs +5 -5
  48. package/{esm2020 → esm2022}/lib/core/payment/form/converters/pricepoint/pricepoint.converter.mjs +5 -5
  49. package/{esm2020 → esm2022}/lib/core/payment/form/converters/radio-group/radio-group.converter.mjs +5 -5
  50. package/{esm2020 → esm2022}/lib/core/payment/form/converters/select/select.converter.mjs +5 -5
  51. package/esm2022/lib/core/payment/form/converters/street-number/street-number.converter.mjs +28 -0
  52. package/{esm2020 → esm2022}/lib/core/payment/form/converters/text/text.converter.mjs +5 -5
  53. package/esm2022/lib/core/payment/form/converters/zip/zip.converter.mjs +64 -0
  54. package/{esm2020 → esm2022}/lib/core/payment/form/form.module.mjs +33 -33
  55. package/esm2022/lib/core/payment/form/form.service.mjs +49 -0
  56. package/esm2022/lib/core/payment/form/validators/birth-date/birth-date.validator.mjs +37 -0
  57. package/esm2022/lib/core/payment/form/validators/card-month/card-month.validator.mjs +37 -0
  58. package/esm2022/lib/core/payment/form/validators/card-year/card-year.validator.mjs +34 -0
  59. package/esm2022/lib/core/payment/form/validators/convert.function.mjs +15 -0
  60. package/esm2022/lib/core/payment/form/validators/credit-card-length/credit-card-min-length.validator.mjs +32 -0
  61. package/esm2022/lib/core/payment/form/validators/luhn-formula-validator/luhn-formula.validator.mjs +40 -0
  62. package/{esm2020 → esm2022}/lib/core/payment/form/validators/validators.module.mjs +5 -5
  63. package/esm2022/lib/core/payment/form-messages/form-messages.service.mjs +26 -0
  64. package/esm2022/lib/core/payment/initialize/initialize.service.mjs +85 -0
  65. package/esm2022/lib/core/payment/initialize/response/initialize-response.class.mjs +43 -0
  66. package/esm2022/lib/core/payment/payment.service.mjs +369 -0
  67. package/{esm2020 → esm2022}/lib/core/payment/status/check-status/check-status.service.mjs +6 -6
  68. package/{esm2020 → esm2022}/lib/core/payment/status/check-status/request/check-status-request.class.mjs +1 -1
  69. package/esm2022/lib/core/payment/status/listen-status/listen-status.service.mjs +124 -0
  70. package/{esm2020 → esm2022}/lib/core/payment/status/save-payment-method-status/api/saved-payment-account-changes.service.mjs +5 -5
  71. package/esm2022/lib/core/payment/status/save-payment-method-status/save-payment-method-status.service.mjs +121 -0
  72. package/esm2022/lib/core/payment/status/status-request/request/status-request.class.mjs +22 -0
  73. package/esm2022/lib/core/payment/status/status-request/response/status-response.class.mjs +98 -0
  74. package/{esm2020 → esm2022}/lib/core/payment/status/status-request/status-request.service.mjs +6 -6
  75. package/esm2022/lib/core/payment/status/status.service.mjs +75 -0
  76. package/esm2022/lib/core/payment/status/websocket-status/websocket-status.service.mjs +76 -0
  77. package/esm2022/lib/core/payment/submit/request/submit-request.class.mjs +24 -0
  78. package/esm2022/lib/core/payment/submit/response/submit-response.class.mjs +31 -0
  79. package/esm2022/lib/core/payment/submit/submit.service.mjs +78 -0
  80. package/esm2022/lib/core/payment/sync/request/sync-request.class.mjs +31 -0
  81. package/esm2022/lib/core/payment/sync/response/sync-response.class.mjs +17 -0
  82. package/esm2022/lib/core/payment/sync/sync.service.mjs +157 -0
  83. package/esm2022/lib/core/payment/three-ds/api/notify-dfp-status/notify-dfp-status.service.mjs +49 -0
  84. package/esm2022/lib/core/payment/three-ds/api/status-three-ds/status-three-ds.service.mjs +60 -0
  85. package/esm2022/lib/core/payment/three-ds/dfp-collect/dfp-collect.service.mjs +105 -0
  86. package/esm2022/lib/core/payment/three-ds/reinsurance-check/reinsurance-check.service.mjs +41 -0
  87. package/esm2022/lib/core/payment/three-ds/three-ds-20/three-ds20.service.mjs +109 -0
  88. package/esm2022/lib/core/payment/three-ds/three-ds.service.mjs +42 -0
  89. package/esm2022/lib/core/payment/xps-api/xps-api.service.mjs +85 -0
  90. package/esm2022/lib/core/payment/xps-api-part-request.abstract.mjs +8 -0
  91. package/esm2022/lib/core/payment-methods/payment-methods.service.mjs +75 -0
  92. package/esm2022/lib/core/performance/performance.service.mjs +111 -0
  93. package/esm2022/lib/core/performance/xhr-action.service.mjs +114 -0
  94. package/esm2022/lib/core/saved-methods/saved-methods.service.mjs +54 -0
  95. package/esm2022/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.mjs +268 -0
  96. package/esm2022/lib/core/sdk-payment-systems/google-pay/google-pay.service.mjs +177 -0
  97. package/esm2022/lib/core/sdk-payment-systems/payment-systems/payment-system-processing.service.mjs +84 -0
  98. package/esm2022/lib/core/session/session.service.mjs +57 -0
  99. package/esm2022/lib/core/settings/settings.service.mjs +92 -0
  100. package/esm2022/lib/core/url/url.service.mjs +34 -0
  101. package/esm2022/lib/core/user-agent/user-agent.service.mjs +211 -0
  102. package/esm2022/lib/core/user-balance/user-balance.service.mjs +53 -0
  103. package/esm2022/lib/core/user-behaviour-analytics/event-builder/event-builder.service.mjs +144 -0
  104. package/esm2022/lib/core/user-behaviour-analytics/user-behaviour-analytics.service.mjs +158 -0
  105. package/esm2022/lib/core/web-socket/centrifugo-web-socket.service.mjs +200 -0
  106. package/esm2022/lib/core/web-socket/nchan-web-socket.service.mjs +116 -0
  107. package/esm2022/lib/core/web-socket/web-socket.factory.mjs +28 -0
  108. package/esm2022/lib/core-library.module.mjs +92 -0
  109. package/{esm2020 → esm2022}/lib/core-library.service.mjs +5 -5
  110. package/{esm2020 → esm2022}/lib/shared/pipes/pipes.module.mjs +5 -5
  111. package/esm2022/lib/shared/pipes/unescape-html/unescape-html.pipe.mjs +23 -0
  112. package/{fesm2020 → fesm2022}/xsolla-payment-client-core.mjs +455 -455
  113. package/fesm2022/xsolla-payment-client-core.mjs.map +1 -0
  114. package/package.json +10 -16
  115. package/xsolla-payment-client-core-0.2.20.tgz +0 -0
  116. package/esm2020/lib/core/device-finger-print/device-finger-print.service.mjs +0 -67
  117. package/esm2020/lib/core/encrypt-credit-card/encrypt-credit-card.service.mjs +0 -72
  118. package/esm2020/lib/core/errors-mapping/xps-response-errors-mapping.service.mjs +0 -52
  119. package/esm2020/lib/core/exceptions-handling/elk/elk-logger.service.mjs +0 -120
  120. package/esm2020/lib/core/exceptions-handling/errors/http-error.class.mjs +0 -40
  121. package/esm2020/lib/core/exceptions-handling/errors/tagged-error.class.mjs +0 -16
  122. package/esm2020/lib/core/http/secure-api/secure-api.service.mjs +0 -55
  123. package/esm2020/lib/core/legal/refund-policy.service.mjs +0 -30
  124. package/esm2020/lib/core/legal/secure-connection.service.mjs +0 -31
  125. package/esm2020/lib/core/payment/actions/next-action.service.mjs +0 -61
  126. package/esm2020/lib/core/payment/actions/redirect/redirect.action.class.mjs +0 -60
  127. package/esm2020/lib/core/payment/actions/status-updated/status-updated.action.class.mjs +0 -38
  128. package/esm2020/lib/core/payment/config/config.service.mjs +0 -37
  129. package/esm2020/lib/core/payment/finance-details/finance-details.service.mjs +0 -38
  130. package/esm2020/lib/core/payment/finance-details/summary/summary-finance-details-adapter.service.mjs +0 -264
  131. package/esm2020/lib/core/payment/form/controls/control-config.service.mjs +0 -46
  132. package/esm2020/lib/core/payment/form/converters/checkbox/checkbox.converter.mjs +0 -33
  133. package/esm2020/lib/core/payment/form/converters/converter.abstract.mjs +0 -76
  134. package/esm2020/lib/core/payment/form/converters/cvv/cvv.converter.mjs +0 -72
  135. package/esm2020/lib/core/payment/form/converters/street-number/street-number.converter.mjs +0 -28
  136. package/esm2020/lib/core/payment/form/converters/zip/zip.converter.mjs +0 -64
  137. package/esm2020/lib/core/payment/form/form.service.mjs +0 -49
  138. package/esm2020/lib/core/payment/form/validators/birth-date/birth-date.validator.mjs +0 -37
  139. package/esm2020/lib/core/payment/form/validators/card-month/card-month.validator.mjs +0 -37
  140. package/esm2020/lib/core/payment/form/validators/card-year/card-year.validator.mjs +0 -34
  141. package/esm2020/lib/core/payment/form/validators/convert.function.mjs +0 -15
  142. package/esm2020/lib/core/payment/form/validators/credit-card-length/credit-card-min-length.validator.mjs +0 -32
  143. package/esm2020/lib/core/payment/form/validators/luhn-formula-validator/luhn-formula.validator.mjs +0 -40
  144. package/esm2020/lib/core/payment/form-messages/form-messages.service.mjs +0 -26
  145. package/esm2020/lib/core/payment/initialize/initialize.service.mjs +0 -85
  146. package/esm2020/lib/core/payment/initialize/response/initialize-response.class.mjs +0 -43
  147. package/esm2020/lib/core/payment/payment.service.mjs +0 -369
  148. package/esm2020/lib/core/payment/status/listen-status/listen-status.service.mjs +0 -124
  149. package/esm2020/lib/core/payment/status/save-payment-method-status/save-payment-method-status.service.mjs +0 -121
  150. package/esm2020/lib/core/payment/status/status-request/request/status-request.class.mjs +0 -22
  151. package/esm2020/lib/core/payment/status/status-request/response/status-response.class.mjs +0 -98
  152. package/esm2020/lib/core/payment/status/status.service.mjs +0 -75
  153. package/esm2020/lib/core/payment/status/websocket-status/websocket-status.service.mjs +0 -76
  154. package/esm2020/lib/core/payment/submit/request/submit-request.class.mjs +0 -24
  155. package/esm2020/lib/core/payment/submit/response/submit-response.class.mjs +0 -31
  156. package/esm2020/lib/core/payment/submit/submit.service.mjs +0 -78
  157. package/esm2020/lib/core/payment/sync/request/sync-request.class.mjs +0 -31
  158. package/esm2020/lib/core/payment/sync/response/sync-response.class.mjs +0 -17
  159. package/esm2020/lib/core/payment/sync/sync.service.mjs +0 -157
  160. package/esm2020/lib/core/payment/three-ds/api/notify-dfp-status/notify-dfp-status.service.mjs +0 -49
  161. package/esm2020/lib/core/payment/three-ds/api/status-three-ds/status-three-ds.service.mjs +0 -60
  162. package/esm2020/lib/core/payment/three-ds/dfp-collect/dfp-collect.service.mjs +0 -105
  163. package/esm2020/lib/core/payment/three-ds/reinsurance-check/reinsurance-check.service.mjs +0 -41
  164. package/esm2020/lib/core/payment/three-ds/three-ds-20/three-ds20.service.mjs +0 -109
  165. package/esm2020/lib/core/payment/three-ds/three-ds.service.mjs +0 -42
  166. package/esm2020/lib/core/payment/xps-api/xps-api.service.mjs +0 -85
  167. package/esm2020/lib/core/payment/xps-api-part-request.abstract.mjs +0 -8
  168. package/esm2020/lib/core/payment-methods/payment-methods.service.mjs +0 -75
  169. package/esm2020/lib/core/performance/performance.service.mjs +0 -111
  170. package/esm2020/lib/core/performance/xhr-action.service.mjs +0 -114
  171. package/esm2020/lib/core/saved-methods/saved-methods.service.mjs +0 -54
  172. package/esm2020/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.mjs +0 -268
  173. package/esm2020/lib/core/sdk-payment-systems/google-pay/google-pay.service.mjs +0 -177
  174. package/esm2020/lib/core/sdk-payment-systems/payment-systems/payment-system-processing.service.mjs +0 -84
  175. package/esm2020/lib/core/session/session.service.mjs +0 -57
  176. package/esm2020/lib/core/settings/settings.service.mjs +0 -92
  177. package/esm2020/lib/core/url/url.service.mjs +0 -34
  178. package/esm2020/lib/core/user-agent/user-agent.service.mjs +0 -211
  179. package/esm2020/lib/core/user-balance/user-balance.service.mjs +0 -53
  180. package/esm2020/lib/core/user-behaviour-analytics/event-builder/event-builder.service.mjs +0 -144
  181. package/esm2020/lib/core/user-behaviour-analytics/user-behaviour-analytics.service.mjs +0 -158
  182. package/esm2020/lib/core/web-socket/centrifugo-web-socket.service.mjs +0 -200
  183. package/esm2020/lib/core/web-socket/nchan-web-socket.service.mjs +0 -116
  184. package/esm2020/lib/core/web-socket/web-socket.factory.mjs +0 -28
  185. package/esm2020/lib/core-library.module.mjs +0 -92
  186. package/esm2020/lib/shared/pipes/unescape-html/unescape-html.pipe.mjs +0 -23
  187. package/fesm2015/xsolla-payment-client-core.mjs +0 -8136
  188. package/fesm2015/xsolla-payment-client-core.mjs.map +0 -1
  189. package/fesm2020/xsolla-payment-client-core.mjs.map +0 -1
  190. package/xsolla-payment-client-core-0.2.18.tgz +0 -0
  191. /package/{esm2020 → esm2022}/lib/core/agreementsGroup.const.mjs +0 -0
  192. /package/{esm2020 → esm2022}/lib/core/boolean-number.enum.mjs +0 -0
  193. /package/{esm2020 → esm2022}/lib/core/combined-payment-methods/combined-payment-methods.interface.mjs +0 -0
  194. /package/{esm2020 → esm2022}/lib/core/countries-api/country-response.interface.mjs +0 -0
  195. /package/{esm2020 → esm2022}/lib/core/countries-api/country.interface.mjs +0 -0
  196. /package/{esm2020 → esm2022}/lib/core/country/country-iso-code.enum.mjs +0 -0
  197. /package/{esm2020 → esm2022}/lib/core/credit-card/credit-card-settings.interface.mjs +0 -0
  198. /package/{esm2020 → esm2022}/lib/core/credit-card/credit-card-types.enum.mjs +0 -0
  199. /package/{esm2020 → esm2022}/lib/core/credit-card/credit-card.interface.mjs +0 -0
  200. /package/{esm2020 → esm2022}/lib/core/credit-card/credit-cards-map.const.mjs +0 -0
  201. /package/{esm2020 → esm2022}/lib/core/credit-card/default-mask.const.mjs +0 -0
  202. /package/{esm2020 → esm2022}/lib/core/credit-card/four-block-mask.const.mjs +0 -0
  203. /package/{esm2020 → esm2022}/lib/core/credit-card/ordered-cards-settings.const.mjs +0 -0
  204. /package/{esm2020 → esm2022}/lib/core/credit-card/types/american-express.mjs +0 -0
  205. /package/{esm2020 → esm2022}/lib/core/credit-card/types/aura.mjs +0 -0
  206. /package/{esm2020 → esm2022}/lib/core/credit-card/types/china-union-pay.mjs +0 -0
  207. /package/{esm2020 → esm2022}/lib/core/credit-card/types/dankort.mjs +0 -0
  208. /package/{esm2020 → esm2022}/lib/core/credit-card/types/default-card.mjs +0 -0
  209. /package/{esm2020 → esm2022}/lib/core/credit-card/types/diners-clubs.mjs +0 -0
  210. /package/{esm2020 → esm2022}/lib/core/credit-card/types/discover.mjs +0 -0
  211. /package/{esm2020 → esm2022}/lib/core/credit-card/types/elo.mjs +0 -0
  212. /package/{esm2020 → esm2022}/lib/core/credit-card/types/hipercard.mjs +0 -0
  213. /package/{esm2020 → esm2022}/lib/core/credit-card/types/jcb.mjs +0 -0
  214. /package/{esm2020 → esm2022}/lib/core/credit-card/types/maestro.mjs +0 -0
  215. /package/{esm2020 → esm2022}/lib/core/credit-card/types/mastercard.mjs +0 -0
  216. /package/{esm2020 → esm2022}/lib/core/credit-card/types/mir.mjs +0 -0
  217. /package/{esm2020 → esm2022}/lib/core/credit-card/types/naranja.mjs +0 -0
  218. /package/{esm2020 → esm2022}/lib/core/credit-card/types/postepay.mjs +0 -0
  219. /package/{esm2020 → esm2022}/lib/core/credit-card/types/visa.mjs +0 -0
  220. /package/{esm2020 → esm2022}/lib/core/deep-readonly.type.mjs +0 -0
  221. /package/{esm2020 → esm2022}/lib/core/device-finger-print/hash.type.mjs +0 -0
  222. /package/{esm2020 → esm2022}/lib/core/edit-saved-methods/delete-method-response.interface.mjs +0 -0
  223. /package/{esm2020 → esm2022}/lib/core/encrypt-credit-card/encrypted-card.interface.mjs +0 -0
  224. /package/{esm2020 → esm2022}/lib/core/encrypt-credit-card/open-card.interface.mjs +0 -0
  225. /package/{esm2020 → esm2022}/lib/core/errors-mapping/card-number-sanction-error-codes.const.mjs +0 -0
  226. /package/{esm2020 → esm2022}/lib/core/errors-mapping/field-special-errors-map.const.mjs +0 -0
  227. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/elk/additional-info.interface.mjs +0 -0
  228. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/elk/error-without-meta-fields.interface.mjs +0 -0
  229. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/elk/log-message.interface.mjs +0 -0
  230. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/errors/api-error.interface.mjs +0 -0
  231. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/errors/app-error.class.mjs +0 -0
  232. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/errors/elk-error-types.enum.mjs +0 -0
  233. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/errors/encrypt-card-error.mjs +0 -0
  234. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/errors/response-error.class.mjs +0 -0
  235. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/errors/terminal-error.class.mjs +0 -0
  236. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/errors/token-error.class.mjs +0 -0
  237. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/errors/ws-error.class.mjs +0 -0
  238. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/http-interceptor/http-error-data.interface.mjs +0 -0
  239. /package/{esm2020 → esm2022}/lib/core/exceptions-handling/http-interceptor/http-error-response-data.interface.mjs +0 -0
  240. /package/{esm2020 → esm2022}/lib/core/extended-window.interface.mjs +0 -0
  241. /package/{esm2020 → esm2022}/lib/core/http/secure-api/api-url.const.mjs +0 -0
  242. /package/{esm2020 → esm2022}/lib/core/http/secure-api/options.interface.mjs +0 -0
  243. /package/{esm2020 → esm2022}/lib/core/legal/legal.component.config.mjs +0 -0
  244. /package/{esm2020 → esm2022}/lib/core/payment/actions/action.interface.mjs +0 -0
  245. /package/{esm2020 → esm2022}/lib/core/payment/actions/check-status/check-status.action.type.mjs +0 -0
  246. /package/{esm2020 → esm2022}/lib/core/payment/actions/next-action.interface.mjs +0 -0
  247. /package/{esm2020 → esm2022}/lib/core/payment/actions/next-actions.mjs +0 -0
  248. /package/{esm2020 → esm2022}/lib/core/payment/actions/redirect/pay-station4-url.const.mjs +0 -0
  249. /package/{esm2020 → esm2022}/lib/core/payment/actions/redirect/ps4-pages/pages-payment-methods-id.const.mjs +0 -0
  250. /package/{esm2020 → esm2022}/lib/core/payment/actions/redirect/ps4-pages/pages-routes.const.mjs +0 -0
  251. /package/{esm2020 → esm2022}/lib/core/payment/actions/redirect/redirect.action.type.mjs +0 -0
  252. /package/{esm2020 → esm2022}/lib/core/payment/actions/show-errors/show-errors.action.type.mjs +0 -0
  253. /package/{esm2020 → esm2022}/lib/core/payment/actions/show-fields/show-fields.action.type.mjs +0 -0
  254. /package/{esm2020 → esm2022}/lib/core/payment/actions/show-mobile-payment-screen/show-mobile-payment-screen.action.type.mjs +0 -0
  255. /package/{esm2020 → esm2022}/lib/core/payment/actions/show-qr-code/show-qr-code.action.type.mjs +0 -0
  256. /package/{esm2020 → esm2022}/lib/core/payment/actions/special-button/special-button.action.type.mjs +0 -0
  257. /package/{esm2020 → esm2022}/lib/core/payment/actions/status-updated/status-updated.action.type.mjs +0 -0
  258. /package/{esm2020 → esm2022}/lib/core/payment/actions/three-ds/three-ds.action.type.mjs +0 -0
  259. /package/{esm2020 → esm2022}/lib/core/payment/checkout-item.interface.mjs +0 -0
  260. /package/{esm2020 → esm2022}/lib/core/payment/credit-card-payment-methods-id.variable.mjs +0 -0
  261. /package/{esm2020 → esm2022}/lib/core/payment/credit-card-state/credit-card-state.interface.mjs +0 -0
  262. /package/{esm2020 → esm2022}/lib/core/payment/emit-data.service.abstract.mjs +0 -0
  263. /package/{esm2020 → esm2022}/lib/core/payment/field-names.enum.mjs +0 -0
  264. /package/{esm2020 → esm2022}/lib/core/payment/field.interface.mjs +0 -0
  265. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/cart-item.interface.mjs +0 -0
  266. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/cart-line.interface.mjs +0 -0
  267. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/cart-summary.interface.mjs +0 -0
  268. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/finance-details.interface.mjs +0 -0
  269. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/price.helpers.mjs +0 -0
  270. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/price.interface.mjs +0 -0
  271. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/status/field-with-amount-and-currency.interface.mjs +0 -0
  272. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/status/fields-with-currency.mjs +0 -0
  273. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/status/finance-info.interface.mjs +0 -0
  274. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/summary/default-image-patterns.const.mjs +0 -0
  275. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/summary/sales-tax-details-key.enum.mjs +0 -0
  276. /package/{esm2020 → esm2022}/lib/core/payment/finance-details/vat-details-key.enum.mjs +0 -0
  277. /package/{esm2020 → esm2022}/lib/core/payment/form/common-control-config.interface.mjs +0 -0
  278. /package/{esm2020 → esm2022}/lib/core/payment/form/control-status.interface.mjs +0 -0
  279. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/card-number/card-number-control.config.mjs +0 -0
  280. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/checkbox/checkbox-control.config.mjs +0 -0
  281. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/control-config.mjs +0 -0
  282. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/control-type.type.mjs +0 -0
  283. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/coupon/coupon-control.config.mjs +0 -0
  284. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/phone-control.config.mjs +0 -0
  285. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/radio-control/radio-control.config.mjs +0 -0
  286. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/radio-control/radio-option.interface.mjs +0 -0
  287. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/search-select/search-select-option.interface.mjs +0 -0
  288. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/search-select/select-control.config.mjs +0 -0
  289. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/search-select/select-option.interface.mjs +0 -0
  290. /package/{esm2020 → esm2022}/lib/core/payment/form/controls/text-control.config.mjs +0 -0
  291. /package/{esm2020 → esm2022}/lib/core/payment/form/converters/converters-map.interface.mjs +0 -0
  292. /package/{esm2020 → esm2022}/lib/core/payment/form/converters/converters-map.mjs +0 -0
  293. /package/{esm2020 → esm2022}/lib/core/payment/form/converters/cpf-name/cpf-name-regex.variable.mjs +0 -0
  294. /package/{esm2020 → esm2022}/lib/core/payment/form/converters/cvv/cvv-form-state.interface.mjs +0 -0
  295. /package/{esm2020 → esm2022}/lib/core/payment/form/converters/street-number/street-number-from-state.interface.mjs +0 -0
  296. /package/{esm2020 → esm2022}/lib/core/payment/form/field-form-states.interface.mjs +0 -0
  297. /package/{esm2020 → esm2022}/lib/core/payment/form/field-status.interface.mjs +0 -0
  298. /package/{esm2020 → esm2022}/lib/core/payment/form/form-fields-status.interface.mjs +0 -0
  299. /package/{esm2020 → esm2022}/lib/core/payment/form/form-state.interface.mjs +0 -0
  300. /package/{esm2020 → esm2022}/lib/core/payment/form/input-event.enum.mjs +0 -0
  301. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/async-validator-fn.type.mjs +0 -0
  302. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/coupon/coupon-validator.mjs +0 -0
  303. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/email/email-validator.mjs +0 -0
  304. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/is-empty-input-value.function.mjs +0 -0
  305. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/max-length-validator.mjs +0 -0
  306. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/min-length-validator.mjs +0 -0
  307. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/phone-validator.mjs +0 -0
  308. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/required/required.validator.mjs +0 -0
  309. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/restricted-value/restricted-value.validator.mjs +0 -0
  310. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/validation-error.interface.mjs +0 -0
  311. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/validation-errors.interface.mjs +0 -0
  312. /package/{esm2020 → esm2022}/lib/core/payment/form/validators/validator-fn.type.mjs +0 -0
  313. /package/{esm2020 → esm2022}/lib/core/payment/form-response.interface.mjs +0 -0
  314. /package/{esm2020 → esm2022}/lib/core/payment/initialize/initialize-request-params.interface.mjs +0 -0
  315. /package/{esm2020 → esm2022}/lib/core/payment/initialize/response/initialize-response.token.mjs +0 -0
  316. /package/{esm2020 → esm2022}/lib/core/payment/invoice.interface.mjs +0 -0
  317. /package/{esm2020 → esm2022}/lib/core/payment/payment-config.interface.mjs +0 -0
  318. /package/{esm2020 → esm2022}/lib/core/payment/payment-form.interface.mjs +0 -0
  319. /package/{esm2020 → esm2022}/lib/core/payment/payment.interface.mjs +0 -0
  320. /package/{esm2020 → esm2022}/lib/core/payment/status/check-status/request/check-status-request.token.mjs +0 -0
  321. /package/{esm2020 → esm2022}/lib/core/payment/status/check-status/response/check-status-response.class.mjs +0 -0
  322. /package/{esm2020 → esm2022}/lib/core/payment/status/check-status/response/check-status-response.token.mjs +0 -0
  323. /package/{esm2020 → esm2022}/lib/core/payment/status/finance-info-field.interface.mjs +0 -0
  324. /package/{esm2020 → esm2022}/lib/core/payment/status/line-item.interface.mjs +0 -0
  325. /package/{esm2020 → esm2022}/lib/core/payment/status/save-payment-method-status/api/saved-payment-account-changes.interface.mjs +0 -0
  326. /package/{esm2020 → esm2022}/lib/core/payment/status/save-payment-method-status/api/saved-payment-account.interface.mjs +0 -0
  327. /package/{esm2020 → esm2022}/lib/core/payment/status/save-payment-method-status/save-payment-method-status.enum.mjs +0 -0
  328. /package/{esm2020 → esm2022}/lib/core/payment/status/status-finance-info.interface.mjs +0 -0
  329. /package/{esm2020 → esm2022}/lib/core/payment/status/status-groups.mjs +0 -0
  330. /package/{esm2020 → esm2022}/lib/core/payment/status/status-order.interface.mjs +0 -0
  331. /package/{esm2020 → esm2022}/lib/core/payment/status/status-request/request/status-request.token.mjs +0 -0
  332. /package/{esm2020 → esm2022}/lib/core/payment/status/status-request/required-status-search-params.const.mjs +0 -0
  333. /package/{esm2020 → esm2022}/lib/core/payment/status/status-request/response/status-response.token.mjs +0 -0
  334. /package/{esm2020 → esm2022}/lib/core/payment/status/status-request/status-request-params.interface.mjs +0 -0
  335. /package/{esm2020 → esm2022}/lib/core/payment/status/status-request/status-search-param.enum.mjs +0 -0
  336. /package/{esm2020 → esm2022}/lib/core/payment/status/status-request/status-search-params.map.mjs +0 -0
  337. /package/{esm2020 → esm2022}/lib/core/payment/status/status-settings.interface.mjs +0 -0
  338. /package/{esm2020 → esm2022}/lib/core/payment/status/status-updated.interface.mjs +0 -0
  339. /package/{esm2020 → esm2022}/lib/core/payment/status/status.enum.mjs +0 -0
  340. /package/{esm2020 → esm2022}/lib/core/payment/status/status.interface.mjs +0 -0
  341. /package/{esm2020 → esm2022}/lib/core/payment/status/title-class.enum.mjs +0 -0
  342. /package/{esm2020 → esm2022}/lib/core/payment/status/web-socket-client-type.enum.mjs +0 -0
  343. /package/{esm2020 → esm2022}/lib/core/payment/status/websocket-status/websocket-status.enum.mjs +0 -0
  344. /package/{esm2020 → esm2022}/lib/core/payment/submit/request/submit-request.token.mjs +0 -0
  345. /package/{esm2020 → esm2022}/lib/core/payment/submit/response/is-submit-response.function.mjs +0 -0
  346. /package/{esm2020 → esm2022}/lib/core/payment/submit/response/submit-response.token.mjs +0 -0
  347. /package/{esm2020 → esm2022}/lib/core/payment/sync/field-async-validation.interface.mjs +0 -0
  348. /package/{esm2020 → esm2022}/lib/core/payment/sync/field-sync-state.interface.mjs +0 -0
  349. /package/{esm2020 → esm2022}/lib/core/payment/sync/request/sync-request.token.mjs +0 -0
  350. /package/{esm2020 → esm2022}/lib/core/payment/sync/response/sync-response.token.mjs +0 -0
  351. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/notify-dfp-status/request/notify-dfp-status-request.class.mjs +0 -0
  352. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/notify-dfp-status/request/notify-dfp-status-request.token.mjs +0 -0
  353. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/status-three-ds/request/status-three-ds-request.class.mjs +0 -0
  354. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/status-three-ds/request/status-three-ds-request.token.mjs +0 -0
  355. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/status-three-ds/response/status-three-ds-response.class.mjs +0 -0
  356. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/status-three-ds/response/status-three-ds-response.token.mjs +0 -0
  357. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/status-three-ds/status-three-ds-response.interface.mjs +0 -0
  358. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/status-three-ds/status-types.enum.mjs +0 -0
  359. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/api/status-three-ds/three-ds-checkout-form.interface.mjs +0 -0
  360. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/reinsurance-check/timer.interface.mjs +0 -0
  361. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/three-ds-20/status-update.interface.mjs +0 -0
  362. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/three-ds-form.interface.mjs +0 -0
  363. /package/{esm2020 → esm2022}/lib/core/payment/three-ds/three-ds-status-websocket-types.enum.mjs +0 -0
  364. /package/{esm2020 → esm2022}/lib/core/payment/virtual-currency.interface.mjs +0 -0
  365. /package/{esm2020 → esm2022}/lib/core/payment/xps-api-part.abstract.mjs +0 -0
  366. /package/{esm2020 → esm2022}/lib/core/payment/xps-checkout.mjs +0 -0
  367. /package/{esm2020 → esm2022}/lib/core/payment/xps-comand.enum.mjs +0 -0
  368. /package/{esm2020 → esm2022}/lib/core/payment/xps-error.interface.mjs +0 -0
  369. /package/{esm2020 → esm2022}/lib/core/payment/xps-finance.interface.mjs +0 -0
  370. /package/{esm2020 → esm2022}/lib/core/payment/xps-message.interface.mjs +0 -0
  371. /package/{esm2020 → esm2022}/lib/core/payment/xps-purchase.interface.mjs +0 -0
  372. /package/{esm2020 → esm2022}/lib/core/payment/xps-request-params.interface.mjs +0 -0
  373. /package/{esm2020 → esm2022}/lib/core/payment/xps-request.interface.mjs +0 -0
  374. /package/{esm2020 → esm2022}/lib/core/payment/xps-response.error.mjs +0 -0
  375. /package/{esm2020 → esm2022}/lib/core/payment/xps-response.interface.mjs +0 -0
  376. /package/{esm2020 → esm2022}/lib/core/payment/xps-summary.interface.mjs +0 -0
  377. /package/{esm2020 → esm2022}/lib/core/payment-methods/payment-method-api.interface.mjs +0 -0
  378. /package/{esm2020 → esm2022}/lib/core/payment-methods/payment-method.interface.mjs +0 -0
  379. /package/{esm2020 → esm2022}/lib/core/payment-methods/payment-methods-api.interface.mjs +0 -0
  380. /package/{esm2020 → esm2022}/lib/core/payment-methods/payment-methods-request-params.interface.mjs +0 -0
  381. /package/{esm2020 → esm2022}/lib/core/payment-methods/payment-methods-response.class.mjs +0 -0
  382. /package/{esm2020 → esm2022}/lib/core/payment-methods/payment-methods-response.interface.mjs +0 -0
  383. /package/{esm2020 → esm2022}/lib/core/payment-methods/payment-methods-response.token.mjs +0 -0
  384. /package/{esm2020 → esm2022}/lib/core/performance/xhr-action.interface.mjs +0 -0
  385. /package/{esm2020 → esm2022}/lib/core/properties.type.mjs +0 -0
  386. /package/{esm2020 → esm2022}/lib/core/saved-methods/saved-method-api.interface.mjs +0 -0
  387. /package/{esm2020 → esm2022}/lib/core/saved-methods/saved-method.interface.mjs +0 -0
  388. /package/{esm2020 → esm2022}/lib/core/saved-methods/saved-methods-request-params.interface.mjs +0 -0
  389. /package/{esm2020 → esm2022}/lib/core/saved-methods/saved-methods-response.class.mjs +0 -0
  390. /package/{esm2020 → esm2022}/lib/core/saved-methods/saved-methods-response.interface.mjs +0 -0
  391. /package/{esm2020 → esm2022}/lib/core/saved-methods/saved-methods-response.token.mjs +0 -0
  392. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/apple-pay/apple-pay-integration.type.mjs +0 -0
  393. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/apple-pay/apple-pay-params.interface.mjs +0 -0
  394. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/apple-pay/apple-pay.const.mjs +0 -0
  395. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/apple-pay/apple-pay.errors.enum.mjs +0 -0
  396. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/apple-pay/checkout-params.interface.mjs +0 -0
  397. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/google-pay/google-pay-button-color.type.mjs +0 -0
  398. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/google-pay/google-pay-checkout.interface.mjs +0 -0
  399. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/google-pay/google-pay-init-params.interface.mjs +0 -0
  400. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/google-pay/google-pay-library.interface.mjs +0 -0
  401. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/sdk-payment-methods.const.mjs +0 -0
  402. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/sdk-payment-systems-initial-data.interface.mjs +0 -0
  403. /package/{esm2020 → esm2022}/lib/core/sdk-payment-systems/sdk-payment-systems.interface.mjs +0 -0
  404. /package/{esm2020 → esm2022}/lib/core/settings/auto-redirect-on-status.mjs +0 -0
  405. /package/{esm2020 → esm2022}/lib/core/settings/balance.interface.mjs +0 -0
  406. /package/{esm2020 → esm2022}/lib/core/settings/bonus.interface.mjs +0 -0
  407. /package/{esm2020 → esm2022}/lib/core/settings/configuration.interface.mjs +0 -0
  408. /package/{esm2020 → esm2022}/lib/core/settings/empty-utils-response.error.mjs +0 -0
  409. /package/{esm2020 → esm2022}/lib/core/settings/header-type.enum.mjs +0 -0
  410. /package/{esm2020 → esm2022}/lib/core/settings/offer.interface.mjs +0 -0
  411. /package/{esm2020 → esm2022}/lib/core/settings/project.interface.mjs +0 -0
  412. /package/{esm2020 → esm2022}/lib/core/settings/purchase.interface.mjs +0 -0
  413. /package/{esm2020 → esm2022}/lib/core/settings/settings-mode.enum.mjs +0 -0
  414. /package/{esm2020 → esm2022}/lib/core/settings/settings.interface.mjs +0 -0
  415. /package/{esm2020 → esm2022}/lib/core/settings/status-back-show.mjs +0 -0
  416. /package/{esm2020 → esm2022}/lib/core/settings/tracking-info.interface.mjs +0 -0
  417. /package/{esm2020 → esm2022}/lib/core/settings/user.interface.mjs +0 -0
  418. /package/{esm2020 → esm2022}/lib/core/settings/utils-response.interface.mjs +0 -0
  419. /package/{esm2020 → esm2022}/lib/core/type-guards/is-null.function.mjs +0 -0
  420. /package/{esm2020 → esm2022}/lib/core/type-guards/is-string.function.mjs +0 -0
  421. /package/{esm2020 → esm2022}/lib/core/type-guards/is-undefined.function.mjs +0 -0
  422. /package/{esm2020 → esm2022}/lib/core/url/search-params.interface.mjs +0 -0
  423. /package/{esm2020 → esm2022}/lib/core/user-agent/browserInfo.interface.mjs +0 -0
  424. /package/{esm2020 → esm2022}/lib/core/user-agent/browsers.mjs +0 -0
  425. /package/{esm2020 → esm2022}/lib/core/user-agent/device.enum.mjs +0 -0
  426. /package/{esm2020 → esm2022}/lib/core/user-agent/os.mjs +0 -0
  427. /package/{esm2020 → esm2022}/lib/core/user-agent/user-agent-data.interface.mjs +0 -0
  428. /package/{esm2020 → esm2022}/lib/core/user-balance/user-balance-api.interface.mjs +0 -0
  429. /package/{esm2020 → esm2022}/lib/core/user-balance/user-balance-request-params.interface.mjs +0 -0
  430. /package/{esm2020 → esm2022}/lib/core/user-balance/user-balance-response.class.mjs +0 -0
  431. /package/{esm2020 → esm2022}/lib/core/user-balance/user-balance-response.token.mjs +0 -0
  432. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/event-builder/event-parameter-types.mjs +0 -0
  433. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/event-builder/invoice.interface.mjs +0 -0
  434. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/event-builder/purchase.type.mjs +0 -0
  435. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/event-builder/user-behaviour-event.interface.mjs +0 -0
  436. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/one-time-analytics-events.const.mjs +0 -0
  437. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/user-behaviour-analytics.interface.mjs +0 -0
  438. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/user-behaviour-event/user-behaviour-event-categories.mjs +0 -0
  439. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/user-behaviour-event/user-behaviour-event-types.mjs +0 -0
  440. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/user-behaviour-event-name.enum.mjs +0 -0
  441. /package/{esm2020 → esm2022}/lib/core/user-behaviour-analytics/user-session-options.mjs +0 -0
  442. /package/{esm2020 → esm2022}/lib/core/web-socket/web-socket-client-type.enum.mjs +0 -0
  443. /package/{esm2020 → esm2022}/lib/core/web-socket/web-socket.interface.mjs +0 -0
  444. /package/{esm2020 → esm2022}/lib/core/window.token.mjs +0 -0
  445. /package/{esm2020 → esm2022}/lib/core/xps-boolean.enum.mjs +0 -0
  446. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  447. /package/{esm2020 → esm2022}/xsolla-payment-client-core.mjs +0 -0
@@ -0,0 +1,37 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../url/url.service";
4
+ import * as i2 from "../../settings/settings.service";
5
+ export class PaymentConfigService {
6
+ constructor(urlService, settingsService) {
7
+ this.urlService = urlService;
8
+ this.settingsService = settingsService;
9
+ }
10
+ enrich(config) {
11
+ if (!config.returnUrl) {
12
+ throw new Error('URL is not provided in payment config');
13
+ }
14
+ return {
15
+ ...config,
16
+ returnUrl: this.enrichReturnUrl(config.returnUrl, !!config.savePaymentMethod),
17
+ };
18
+ }
19
+ enrichReturnUrl(returnUrl, savePaymentMethod) {
20
+ const enrichedUrl = this.urlService.addSearchParams(returnUrl, {
21
+ token: this.settingsService.token,
22
+ isSavePaymentAccount: savePaymentMethod
23
+ ? "1" /* XpsBoolean.true */
24
+ : "0" /* XpsBoolean.false */,
25
+ });
26
+ return enrichedUrl;
27
+ }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PaymentConfigService, deps: [{ token: i1.UrlService }, { token: i2.SettingsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
29
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PaymentConfigService, providedIn: 'root' }); }
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: PaymentConfigService, decorators: [{
32
+ type: Injectable,
33
+ args: [{
34
+ providedIn: 'root',
35
+ }]
36
+ }], ctorParameters: () => [{ type: i1.UrlService }, { type: i2.SettingsService }] });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2NvbmZpZy9jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUzNDLE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsWUFDbUIsVUFBc0IsRUFDdEIsZUFBZ0M7UUFEaEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7SUFDaEQsQ0FBQztJQUVHLE1BQU0sQ0FBQyxNQUFxQjtRQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBRUQsT0FBTztZQUNMLEdBQUcsTUFBTTtZQUNULFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUM3QixNQUFNLENBQUMsU0FBUyxFQUNoQixDQUFDLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUMzQjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU8sZUFBZSxDQUNyQixTQUFpQixFQUNqQixpQkFBMEI7UUFFMUIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFO1lBQzdELEtBQUssRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUs7WUFDakMsb0JBQW9CLEVBQUUsaUJBQWlCO2dCQUNyQyxDQUFDO2dCQUNELENBQUMsMkJBQWlCO1NBQ3JCLENBQUMsQ0FBQztRQUNILE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7OEdBL0JVLG9CQUFvQjtrSEFBcEIsb0JBQW9CLGNBRm5CLE1BQU07OzJGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXR0aW5ncy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IFVybFNlcnZpY2UgfSBmcm9tICcuLi8uLi91cmwvdXJsLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudENvbmZpZyB9IGZyb20gJy4uL3BheW1lbnQtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNCb29sZWFuIH0gZnJvbSAnLi4vLi4veHBzLWJvb2xlYW4uZW51bSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQYXltZW50Q29uZmlnU2VydmljZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVybFNlcnZpY2U6IFVybFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIGVucmljaChjb25maWc6IFBheW1lbnRDb25maWcpOiBQYXltZW50Q29uZmlnIHtcbiAgICBpZiAoIWNvbmZpZy5yZXR1cm5VcmwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVVJMIGlzIG5vdCBwcm92aWRlZCBpbiBwYXltZW50IGNvbmZpZycpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICByZXR1cm5Vcmw6IHRoaXMuZW5yaWNoUmV0dXJuVXJsKFxuICAgICAgICBjb25maWcucmV0dXJuVXJsLFxuICAgICAgICAhIWNvbmZpZy5zYXZlUGF5bWVudE1ldGhvZFxuICAgICAgKSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBlbnJpY2hSZXR1cm5VcmwoXG4gICAgcmV0dXJuVXJsOiBzdHJpbmcsXG4gICAgc2F2ZVBheW1lbnRNZXRob2Q6IGJvb2xlYW5cbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCBlbnJpY2hlZFVybCA9IHRoaXMudXJsU2VydmljZS5hZGRTZWFyY2hQYXJhbXMocmV0dXJuVXJsLCB7XG4gICAgICB0b2tlbjogdGhpcy5zZXR0aW5nc1NlcnZpY2UudG9rZW4sXG4gICAgICBpc1NhdmVQYXltZW50QWNjb3VudDogc2F2ZVBheW1lbnRNZXRob2RcbiAgICAgICAgPyBYcHNCb29sZWFuLnRydWVcbiAgICAgICAgOiBYcHNCb29sZWFuLmZhbHNlLFxuICAgIH0pO1xuICAgIHJldHVybiBlbnJpY2hlZFVybDtcbiAgfVxufVxuIl19
@@ -2,13 +2,13 @@ import { Injectable } from '@angular/core';
2
2
  import { EmitDataService } from '../emit-data.service.abstract';
3
3
  import * as i0 from "@angular/core";
4
4
  export class CreditCardStateService extends EmitDataService {
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: CreditCardStateService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
6
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: CreditCardStateService, providedIn: 'root' }); }
5
7
  }
6
- CreditCardStateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CreditCardStateService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
7
- CreditCardStateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CreditCardStateService, providedIn: 'root' });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CreditCardStateService, decorators: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: CreditCardStateService, decorators: [{
9
9
  type: Injectable,
10
10
  args: [{
11
11
  providedIn: 'root',
12
12
  }]
13
13
  }] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGl0LWNhcmQtc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvY3JlZGl0LWNhcmQtc3RhdGUvY3JlZGl0LWNhcmQtc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFNaEUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGVBQWdDOzttSEFBL0Qsc0JBQXNCO3VIQUF0QixzQkFBc0IsY0FGckIsTUFBTTsyRkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW1pdERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vZW1pdC1kYXRhLnNlcnZpY2UuYWJzdHJhY3QnO1xuaW1wb3J0IHsgQ3JlZGl0Q2FyZFN0YXRlIH0gZnJvbSAnLi9jcmVkaXQtY2FyZC1zdGF0ZS5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ3JlZGl0Q2FyZFN0YXRlU2VydmljZSBleHRlbmRzIEVtaXREYXRhU2VydmljZTxDcmVkaXRDYXJkU3RhdGU+IHt9XG4iXX0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGl0LWNhcmQtc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvY3JlZGl0LWNhcmQtc3RhdGUvY3JlZGl0LWNhcmQtc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFNaEUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGVBQWdDOzhHQUEvRCxzQkFBc0I7a0hBQXRCLHNCQUFzQixjQUZyQixNQUFNOzsyRkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW1pdERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vZW1pdC1kYXRhLnNlcnZpY2UuYWJzdHJhY3QnO1xuaW1wb3J0IHsgQ3JlZGl0Q2FyZFN0YXRlIH0gZnJvbSAnLi9jcmVkaXQtY2FyZC1zdGF0ZS5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ3JlZGl0Q2FyZFN0YXRlU2VydmljZSBleHRlbmRzIEVtaXREYXRhU2VydmljZTxDcmVkaXRDYXJkU3RhdGU+IHt9XG4iXX0=
@@ -0,0 +1,38 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { EmitDataService } from '../emit-data.service.abstract';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../session/session.service";
5
+ import * as i2 from "./summary/summary-finance-details-adapter.service";
6
+ import * as i3 from "./status/status-finance-details-adapter.service";
7
+ export class FinanceDetailsService extends EmitDataService {
8
+ constructor(sessionService, summaryFinanceDetailsAdapterService, statusFinanceDetailsAdapterService) {
9
+ super();
10
+ this.sessionService = sessionService;
11
+ this.summaryFinanceDetailsAdapterService = summaryFinanceDetailsAdapterService;
12
+ this.statusFinanceDetailsAdapterService = statusFinanceDetailsAdapterService;
13
+ this.purchaseSessionKey = 'purchase';
14
+ }
15
+ emitWithSummary(summary) {
16
+ if (summary) {
17
+ const financeDetails = this.summaryFinanceDetailsAdapterService.getFinanceDetails(summary);
18
+ if (financeDetails.purchase) {
19
+ this.sessionService.set(this.purchaseSessionKey, financeDetails.purchase);
20
+ }
21
+ super.emit(financeDetails);
22
+ }
23
+ }
24
+ emitWithStatus(status) {
25
+ if (status) {
26
+ const purchase = this.sessionService.get(this.purchaseSessionKey);
27
+ const financeDetails = this.statusFinanceDetailsAdapterService.getFinanceDetails(status, purchase);
28
+ super.emit(financeDetails);
29
+ }
30
+ }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FinanceDetailsService, deps: [{ token: i1.SessionService }, { token: i2.SummaryFinanceDetailsAdapterService }, { token: i3.StatusFinanceDetailsAdapterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
32
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FinanceDetailsService, providedIn: 'root' }); }
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FinanceDetailsService, decorators: [{
35
+ type: Injectable,
36
+ args: [{ providedIn: 'root' }]
37
+ }], ctorParameters: () => [{ type: i1.SessionService }, { type: i2.SummaryFinanceDetailsAdapterService }, { type: i3.StatusFinanceDetailsAdapterService }] });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluYW5jZS1kZXRhaWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2ZpbmFuY2UtZGV0YWlscy9maW5hbmNlLWRldGFpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7QUFVaEUsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGVBQStCO0lBR3hFLFlBQ21CLGNBQThCLEVBQzlCLG1DQUF3RSxFQUN4RSxrQ0FBc0U7UUFFdkYsS0FBSyxFQUFFLENBQUM7UUFKUyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsd0NBQW1DLEdBQW5DLG1DQUFtQyxDQUFxQztRQUN4RSx1Q0FBa0MsR0FBbEMsa0NBQWtDLENBQW9DO1FBTHhFLHVCQUFrQixHQUFHLFVBQVUsQ0FBQztJQVFqRCxDQUFDO0lBRU0sZUFBZSxDQUFDLE9BQW9CO1FBQ3pDLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixNQUFNLGNBQWMsR0FDbEIsSUFBSSxDQUFDLG1DQUFtQyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRXRFLElBQUksY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FDckIsSUFBSSxDQUFDLGtCQUFrQixFQUN2QixjQUFjLENBQUMsUUFBUSxDQUN4QixDQUFDO1lBQ0osQ0FBQztZQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7SUFFTSxjQUFjLENBQUMsTUFBZTtRQUNuQyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQ3RDLElBQUksQ0FBQyxrQkFBa0IsQ0FDeEIsQ0FBQztZQUNGLE1BQU0sY0FBYyxHQUNsQixJQUFJLENBQUMsa0NBQWtDLENBQUMsaUJBQWlCLENBQ3ZELE1BQU0sRUFDTixRQUFRLENBQ1QsQ0FBQztZQUNKLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7OEdBdkNVLHFCQUFxQjtrSEFBckIscUJBQXFCLGNBRFIsTUFBTTs7MkZBQ25CLHFCQUFxQjtrQkFEakMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbWl0RGF0YVNlcnZpY2UgfSBmcm9tICcuLi9lbWl0LWRhdGEuc2VydmljZS5hYnN0cmFjdCc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuLi9zdGF0dXMvc3RhdHVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNTdW1tYXJ5IH0gZnJvbSAnLi4veHBzLXN1bW1hcnkuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbmFuY2VEZXRhaWxzIH0gZnJvbSAnLi9maW5hbmNlLWRldGFpbHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0YXR1c0ZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL3N0YXR1cy9zdGF0dXMtZmluYW5jZS1kZXRhaWxzLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vc3VtbWFyeS9zdW1tYXJ5LWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXNzaW9uL3Nlc3Npb24uc2VydmljZSc7XG5pbXBvcnQgeyBYcHNQdXJjaGFzZSB9IGZyb20gJy4uL3hwcy1wdXJjaGFzZS5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEZpbmFuY2VEZXRhaWxzU2VydmljZSBleHRlbmRzIEVtaXREYXRhU2VydmljZTxGaW5hbmNlRGV0YWlscz4ge1xuICBwcml2YXRlIHJlYWRvbmx5IHB1cmNoYXNlU2Vzc2lvbktleSA9ICdwdXJjaGFzZSc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblNlcnZpY2U6IFNlc3Npb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2U6IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdHVzRmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZTogU3RhdHVzRmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGVtaXRXaXRoU3VtbWFyeShzdW1tYXJ5PzogWHBzU3VtbWFyeSk6IHZvaWQge1xuICAgIGlmIChzdW1tYXJ5KSB7XG4gICAgICBjb25zdCBmaW5hbmNlRGV0YWlscyA9XG4gICAgICAgIHRoaXMuc3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UuZ2V0RmluYW5jZURldGFpbHMoc3VtbWFyeSk7XG5cbiAgICAgIGlmIChmaW5hbmNlRGV0YWlscy5wdXJjaGFzZSkge1xuICAgICAgICB0aGlzLnNlc3Npb25TZXJ2aWNlLnNldChcbiAgICAgICAgICB0aGlzLnB1cmNoYXNlU2Vzc2lvbktleSxcbiAgICAgICAgICBmaW5hbmNlRGV0YWlscy5wdXJjaGFzZVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBzdXBlci5lbWl0KGZpbmFuY2VEZXRhaWxzKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZW1pdFdpdGhTdGF0dXMoc3RhdHVzPzogU3RhdHVzKTogdm9pZCB7XG4gICAgaWYgKHN0YXR1cykge1xuICAgICAgY29uc3QgcHVyY2hhc2UgPSB0aGlzLnNlc3Npb25TZXJ2aWNlLmdldDxYcHNQdXJjaGFzZT4oXG4gICAgICAgIHRoaXMucHVyY2hhc2VTZXNzaW9uS2V5XG4gICAgICApO1xuICAgICAgY29uc3QgZmluYW5jZURldGFpbHMgPVxuICAgICAgICB0aGlzLnN0YXR1c0ZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UuZ2V0RmluYW5jZURldGFpbHMoXG4gICAgICAgICAgc3RhdHVzLFxuICAgICAgICAgIHB1cmNoYXNlXG4gICAgICAgICk7XG4gICAgICBzdXBlci5lbWl0KGZpbmFuY2VEZXRhaWxzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -280,11 +280,11 @@ export class StatusFinanceDetailsAdapterService {
280
280
  }
281
281
  return percentsMatchResult[0];
282
282
  }
283
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: StatusFinanceDetailsAdapterService, deps: [{ token: i1.SummaryFinanceDetailsAdapterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
284
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: StatusFinanceDetailsAdapterService, providedIn: 'root' }); }
283
285
  }
284
- StatusFinanceDetailsAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: StatusFinanceDetailsAdapterService, deps: [{ token: i1.SummaryFinanceDetailsAdapterService }], target: i0.ɵɵFactoryTarget.Injectable });
285
- StatusFinanceDetailsAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: StatusFinanceDetailsAdapterService, providedIn: 'root' });
286
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: StatusFinanceDetailsAdapterService, decorators: [{
286
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: StatusFinanceDetailsAdapterService, decorators: [{
287
287
  type: Injectable,
288
288
  args: [{ providedIn: 'root' }]
289
- }], ctorParameters: function () { return [{ type: i1.SummaryFinanceDetailsAdapterService }]; } });
290
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2ZpbmFuY2UtZGV0YWlscy9zdGF0dXMvc3RhdHVzLWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0zQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBTXhELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBR3RELE1BQU0sT0FBTyxrQ0FBa0M7SUFDN0MsWUFDbUIsa0NBQXVFO1FBQXZFLHVDQUFrQyxHQUFsQyxrQ0FBa0MsQ0FBcUM7SUFDdkYsQ0FBQztJQUVHLGlCQUFpQixDQUN0QixNQUFjLEVBQ2QsUUFBNEI7UUFFNUIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDO1FBQ3pDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDO1FBRW5DLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxvQ0FBb0MsQ0FDOUQsUUFBUSxFQUNSLEtBQUssRUFDTCxPQUFPLENBQ1IsQ0FBQztRQUVGLE9BQU87WUFDTCxRQUFRO1lBQ1Is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O2dCQUNYLEtBQUssRUFBRSxNQUFNO2dCQUNiLE9BQU8sRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUs7Z0JBQy9CLFVBQVUsRUFBRSxJQUFJO2FBQ2pCLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxrQkFBa0IsQ0FBQztJQUM1QixDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWE7UUFDL0IsTUFBTSxnQkFBZ0IsR0FBRyxjQUFjLENBQUM7UUFDeEMsTUFBTSxtQkFBbUIsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFekQsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQ3hCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OytIQXRaVSxrQ0FBa0M7bUlBQWxDLGtDQUFrQyxjQURyQixNQUFNOzJGQUNuQixrQ0FBa0M7a0JBRDlDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RhdHVzRmluYW5jZUluZm8gfSBmcm9tICcuLi8uLi9zdGF0dXMvc3RhdHVzLWZpbmFuY2UtaW5mby5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vLi4vc3RhdHVzL3N0YXR1cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmluYW5jZURldGFpbHMgfSBmcm9tICcuLi9maW5hbmNlLWRldGFpbHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5IH0gZnJvbSAnLi9maW5hbmNlLWluZm8uaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbmFuY2VJbmZvRmllbGQgfSBmcm9tICcuLi8uLi9zdGF0dXMvZmluYW5jZS1pbmZvLWZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBmaWVsZHNXaXRoQ3VycmVuY3kgfSBmcm9tICcuL2ZpZWxkcy13aXRoLWN1cnJlbmN5JztcbmltcG9ydCB7IENhcnRMaW5lIH0gZnJvbSAnLi4vY2FydC1saW5lLmludGVyZmFjZSc7XG5pbXBvcnQgeyBleHRyYWN0TW9uZXlDdXJyZW5jeSB9IGZyb20gJy4uL3ByaWNlLmhlbHBlcnMnO1xuaW1wb3J0IHsgRmllbGRXaXRoQW1vdW50QW5kQ3VycmVuY3kgfSBmcm9tICcuL2ZpZWxkLXdpdGgtYW1vdW50LWFuZC1jdXJyZW5jeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2FydFN1bW1hcnkgfSBmcm9tICcuLi9jYXJ0LXN1bW1hcnkuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvdW50cnlJc29Db2RlIH0gZnJvbSAnLi4vLi4vLi4vY291bnRyeS9jb3VudHJ5LWlzby1jb2RlLmVudW0nO1xuaW1wb3J0IHsgVmF0RGV0YWlsc0tleSB9IGZyb20gJy4uL3ZhdC1kZXRhaWxzLWtleS5lbnVtJztcbmltcG9ydCB7IFhwc1B1cmNoYXNlIH0gZnJvbSAnLi4vLi4veHBzLXB1cmNoYXNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDYXJ0SXRlbSB9IGZyb20gJy4uL2NhcnQtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgWHBzRmluYW5jZSB9IGZyb20gJy4uLy4uL3hwcy1maW5hbmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdGF0dXNPcmRlciB9IGZyb20gJy4uLy4uL3N0YXR1cy9zdGF0dXMtb3JkZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc3VtbWFyeS9zdW1tYXJ5LWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzRW51bSB9IGZyb20gJy4uLy4uL3N0YXR1cy9zdGF0dXMuZW51bSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU3RhdHVzRmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN1bW1hckZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2U6IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgZ2V0RmluYW5jZURldGFpbHMoXG4gICAgc3RhdHVzOiBTdGF0dXMsXG4gICAgcHVyY2hhc2U6IFhwc1B1cmNoYXNlIHwgbnVsbFxuICApOiBGaW5hbmNlRGV0YWlscyB7XG4gICAgY29uc3QgZmluYW5jZUluZm8gPSB0aGlzLmZpbGxGaW5hbmNlSW5mbyhzdGF0dXMuZmluYW5jZUluZm8pO1xuICAgIGNvbnN0IGNvdW50cnkgPSBzdGF0dXMucGF5bWVudENvdW50cnlJc287XG4gICAgY29uc3Qgb3JkZXIgPSBzdGF0dXMub3JkZXIgPz8gbnVsbDtcblxuICAgIGNvbnN0IHN1bW1hcnlGaW5hbmNlID0gdGhpcy5jb252ZXJ0U3RhdHVzRmluYW5jZVRvU3VtbWFyeUZpbmFuY2UoXG4gICAgICBwdXJjaGFzZSxcbiAgICAgIG9yZGVyLFxuICAgICAgY291bnRyeVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcHVyY2hhc2UsXG4gICAgICBmaW5hbmNlOiBzdW1tYXJ5RmluYW5jZSxcbiAgICAgIGNhcnRJdGVtczogdGhpcy5nZXRDYXJ0SXRlbXMocHVyY2hhc2UsIHN1bW1hcnlGaW5hbmNlKSxcbiAgICAgIGNhcnRTdW1tYXJ5OiB0aGlzLmdldENhcnRTdW1tYXJ5KHN0YXR1cywgZmluYW5jZUluZm8sIGNvdW50cnkpLFxuICAgICAgcGF5bWVudENvdW50cnk6IGNvdW50cnksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsbEZpbmFuY2VJbmZvKFxuICAgIGZpbmFuY2VJbmZvOiBTdGF0dXNGaW5hbmNlSW5mb1xuICApOiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGZpbmFuY2VJbmZvKS5yZWR1Y2UoXG4gICAgICAoXG4gICAgICAgIGZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5OiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeSxcbiAgICAgICAga2V5OiBzdHJpbmdcbiAgICAgICkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZDogRmluYW5jZUluZm9GaWVsZCA9IGZpbmFuY2VJbmZvW2tleV07XG5cbiAgICAgICAgaWYgKGZpZWxkPy5rZXkgJiYgZmllbGRzV2l0aEN1cnJlbmN5LmhhcyhmaWVsZD8ua2V5KSkge1xuICAgICAgICAgIHRoaXMuYWRkQW1vdW50QW5kQ3VycmVuY3lUb0ZpZWxkKGZpZWxkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyAuLi5maW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeSwgW2tleV06IGZpZWxkIH07XG4gICAgICB9LFxuICAgICAge31cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRBbW91bnRBbmRDdXJyZW5jeVRvRmllbGQoZmllbGQ6IHtcbiAgICBrZXk/OiBzdHJpbmc7XG4gICAgcHJlZj86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZztcbiAgICBhbW91bnQ/OiBudW1iZXI7XG4gICAgY3VycmVuY3k/OiBzdHJpbmc7XG4gIH0pOiB2b2lkIHtcbiAgICBjb25zdCBhbW91bnRBbmRDdXJyZW5jeSA9IC8oXlstXFxkLl0rKSAoW0EtWl17M30pJC87XG4gICAgY29uc3QgY3VycmVuY3lQYXJ0cyA9IGZpZWxkLnZhbHVlPy50cmltKCkubWF0Y2goYW1vdW50QW5kQ3VycmVuY3kpO1xuXG4gICAgaWYgKGN1cnJlbmN5UGFydHMpIHtcbiAgICAgIGNvbnN0IGFtb3VudFBvc2l0aW9uID0gMTtcbiAgICAgIGNvbnN0IGN1cnJlbmN5UG9zaXRpb24gPSAyO1xuICAgICAgZmllbGQuYW1vdW50ID0gTnVtYmVyKGN1cnJlbmN5UGFydHNbYW1vdW50UG9zaXRpb25dKTtcbiAgICAgIGZpZWxkLmN1cnJlbmN5ID0gY3VycmVuY3lQYXJ0c1tjdXJyZW5jeVBvc2l0aW9uXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldENhcnRJdGVtcyhcbiAgICBwdXJjaGFzZTogWHBzUHVyY2hhc2UgfCBudWxsLFxuICAgIHN1bW1hcnlGaW5hbmNlOiBYcHNGaW5hbmNlIHwgbnVsbFxuICApOiBDYXJ0SXRlbVtdIHwgbnVsbCB7XG4gICAgaWYgKCFwdXJjaGFzZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgZmluYW5jZURldGFpbHMgPVxuICAgICAgdGhpcy5zdW1tYXJGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlLmdldEZpbmFuY2VEZXRhaWxzKHtcbiAgICAgICAgcHVyY2hhc2UsXG4gICAgICAgIGZpbmFuY2U6IHN1bW1hcnlGaW5hbmNlLFxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gZmluYW5jZURldGFpbHMuY2FydEl0ZW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0U3RhdHVzRmluYW5jZVRvU3VtbWFyeUZpbmFuY2UoXG4gICAgcHVyY2hhc2U6IFhwc1B1cmNoYXNlIHwgbnVsbCxcbiAgICBvcmRlcjogU3RhdHVzT3JkZXIgfCBudWxsLFxuICAgIGNvdW50cnk6IHN0cmluZ1xuICApOiBYcHNGaW5hbmNlIHwgbnVsbCB7XG4gICAgaWYgKCFvcmRlciB8fCAhcHVyY2hhc2U/LmNoZWNrb3V0X2l0ZW1zPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbmFuY2UgPSB7XG4gICAgICBwYXltZW50X2NvdW50cnk6IHtcbiAgICAgICAgaXNvOiBjb3VudHJ5LFxuICAgICAgfSxcbiAgICB9IGFzIFhwc0ZpbmFuY2U7XG5cbiAgICBjb25zdCBmaXJzdENoZWNrb3V0SXRlbSA9IHB1cmNoYXNlPy5jaGVja291dF9pdGVtc1swXTtcbiAgICBjb25zdCBmaXJzdENoZWNrb3V0SXRlbUFtb3VudCA9IGZpcnN0Q2hlY2tvdXRJdGVtPy5hbW91bnQgPz8gMDtcbiAgICBjb25zdCBvbmVIdW5kcmVkUGVyY2VudCA9IDEwMDtcbiAgICBjb25zdCB0YXhBbW91bnQgPVxuICAgICAgKGZpcnN0Q2hlY2tvdXRJdGVtQW1vdW50ICogZmlyc3RDaGVja291dEl0ZW0/LmluZGlyZWN0X3RheF9yYXRlKSAvXG4gICAgICBvbmVIdW5kcmVkUGVyY2VudDtcblxuICAgIGlmIChvcmRlci5jb250YWluZWRfdGF4ZXM/LnNhbGVzX3RheCkge1xuICAgICAgZmluYW5jZS5zYWxlc190YXggPSB7XG4gICAgICAgIGFtb3VudDogdGF4QW1vdW50LFxuICAgICAgICBwZXJjZW50OiBmaXJzdENoZWNrb3V0SXRlbT8uaW5kaXJlY3RfdGF4X3JhdGUsXG4gICAgICAgIGN1cnJlbmN5OiBwdXJjaGFzZT8uY2hlY2tvdXQ/LmN1cnJlbmN5ID8/ICcnLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAob3JkZXIuY29udGFpbmVkX3RheGVzPy51c2VyX3ZhdCkge1xuICAgICAgZmluYW5jZS52YXQgPSB7XG4gICAgICAgIGFtb3VudDogdGF4QW1vdW50LFxuICAgICAgICBwZXJjZW50OiBmaXJzdENoZWNrb3V0SXRlbT8uaW5kaXJlY3RfdGF4X3JhdGUsXG4gICAgICAgIGN1cnJlbmN5OiBwdXJjaGFzZT8uY2hlY2tvdXQ/LmN1cnJlbmN5ID8/ICcnLFxuICAgICAgICB2aXNpYmxlOiB0cnVlLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmluYW5jZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2FydFN1bW1hcnkoXG4gICAgc3RhdHVzOiBTdGF0dXMsXG4gICAgZmluYW5jZUluZm86IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5LFxuICAgIGNvdW50cnk6IHN0cmluZ1xuICApOiBDYXJ0U3VtbWFyeSB7XG4gICAgY29uc3QgY2FydDogQ2FydFN1bW1hcnkgPSB7XG4gICAgICB0b3RhbDogdGhpcy5nZXRUb3RhbChmaW5hbmNlSW5mbyksXG4gICAgICB0b3RhbERldGFpbHM6IHRoaXMuZ2V0VG90YWxEZXRhaWxzKGZpbmFuY2VJbmZvLCBjb3VudHJ5KSxcbiAgICAgIHN1YnRvdGFsRGV0YWlsczogW1xuICAgICAgICAuLi50aGlzLmdldFN1YnRvdGFsRGV0YWlscyhmaW5hbmNlSW5mbyksXG4gICAgICAgIC4uLnRoaXMuZ2V0VGF4ZXNGb3JTdWJ0b3RhbERldGFpbHMoZmluYW5jZUluZm8sIGNvdW50cnkpLFxuICAgICAgXSxcbiAgICAgIHRyYW5zYWN0aW9uRGV0YWlsczogdGhpcy5nZXRUcmFuc2FjdGlvbkRldGFpbHMoc3RhdHVzLCBmaW5hbmNlSW5mbyksXG4gICAgICBzdWJ0b3RhbDogdGhpcy5nZXRJbml0aWFsQ3VycmVuY3lTdWJ0b3RhbChmaW5hbmNlSW5mbykgPz8gbnVsbCxcbiAgICAgIHN1YnRvdGFsUGF5bWVudDogdGhpcy5nZXRTdWJ0b3RhbFBheW1lbnQoZmluYW5jZUluZm8pID8/IG51bGwsXG4gICAgfTtcblxuICAgIHJldHVybiBjYXJ0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUb3RhbChmaW5hbmNlSW5mbzogRmluYW5jZUluZm9XaXRoQW1vdW50QW5kQ3VycmVuY3kpOiBDYXJ0TGluZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiAnVG90YWwnLFxuICAgICAgbW9uZXk6IGV4dHJhY3RNb25leUN1cnJlbmN5KFxuICAgICAgICBmaW5hbmNlSW5mby5zdW0gYXMgRmllbGRXaXRoQW1vdW50QW5kQ3VycmVuY3lcbiAgICAgICksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3VidG90YWxQYXltZW50KFxuICAgIGZpbmFuY2VJbmZvOiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeVxuICApOiBDYXJ0TGluZSB8IG51bGwge1xuICAgIGlmICghZmluYW5jZUluZm8/LnN1YnRvdGFsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6ICdTdWJ0b3RhbCcsXG4gICAgICBtb25leTogZXh0cmFjdE1vbmV5Q3VycmVuY3koXG4gICAgICAgIGZpbmFuY2VJbmZvLnN1YnRvdGFsIGFzIEZpZWxkV2l0aEFtb3VudEFuZEN1cnJlbmN5XG4gICAgICApLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldEluaXRpYWxDdXJyZW5jeVN1YnRvdGFsKFxuICAgIGZpbmFuY2VJbmZvOiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeVxuICApOiBDYXJ0TGluZSB8IG51bGwge1xuICAgIGlmICghZmluYW5jZUluZm8/LnN1YnRvdGFsU3VtbWFyeUJlZm9yZUNvbnZlcnNpb24pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogJycsXG4gICAgICBtb25leTogZXh0cmFjdE1vbmV5Q3VycmVuY3koZmluYW5jZUluZm8uc3VidG90YWxTdW1tYXJ5QmVmb3JlQ29udmVyc2lvbiksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VG90YWxEZXRhaWxzKFxuICAgIGZpbmFuY2VJbmZvOiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeSxcbiAgICBjb3VudHJ5OiBzdHJpbmdcbiAgKTogQ2FydExpbmVbXSB7XG4gICAgY29uc3QgdG90YWxEZXRhaWxzOiBDYXJ0TGluZVtdID0gW107XG5cbiAgICBjb25zdCBzYWxlc1RheENvbW1pc3Npb25GaWVsZCA9IGZpbmFuY2VJbmZvW1xuICAgICAgJ3NhbGVzVGF4Q29tbWlzc2lvbidcbiAgICBdIGFzIEZpZWxkV2l0aEFtb3VudEFuZEN1cnJlbmN5O1xuICAgIGlmIChzYWxlc1RheENvbW1pc3Npb25GaWVsZCkge1xuICAgICAgdG90YWxEZXRhaWxzLnB1c2goe1xuICAgICAgICB0aXRsZTogc2FsZXNUYXhDb21taXNzaW9uRmllbGQucHJlZixcbiAgICAgICAgbW9uZXk6IHtcbiAgICAgICAgICBhbW91bnQ6IHNhbGVzVGF4Q29tbWlzc2lvbkZpZWxkLmFtb3VudCA/PyBudWxsLFxuICAgICAgICAgIGN1cnJlbmN5OiBzYWxlc1RheENvbW1pc3Npb25GaWVsZC5jdXJyZW5jeSA/PyAnJyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbW1pc3Npb25Vc2VyVmF0UHJjRmllbGQgPSBmaW5hbmNlSW5mb1tcbiAgICAgICdjb21taXNzaW9uVXNlclZhdFByYydcbiAgICBdIGFzIEZpZWxkV2l0aEFtb3VudEFuZEN1cnJlbmN5O1xuXG4gICAgaWYgKGNvbW1pc3Npb25Vc2VyVmF0UHJjRmllbGQ/LnByZWYpIHtcbiAgICAgIGNvbnN0IHBlcmNlbnRzID0gdGhpcy5nZXRQZXJjZW50cyhjb21taXNzaW9uVXNlclZhdFByY0ZpZWxkLnByZWYpO1xuXG4gICAgICB0b3RhbERldGFpbHMucHVzaCh7XG4gICAgICAgIGtleTogdGhpcy5nZXRWYXRJbmNsdWRpbmdLZXlEZXRhaWxzKHBlcmNlbnRzLCBjb3VudHJ5KSxcbiAgICAgICAgdGl0bGU6IHRoaXMuZ2VWYXRJbmNsdWRpbmdUaXRsZURldGFpbHMocGVyY2VudHMsIGNvdW50cnkpLFxuICAgICAgICBtb25leToge1xuICAgICAgICAgIGFtb3VudDogY29tbWlzc2lvblVzZXJWYXRQcmNGaWVsZC5hbW91bnQgPz8gbnVsbCxcbiAgICAgICAgICBjdXJyZW5jeTogY29tbWlzc2lvblVzZXJWYXRQcmNGaWVsZC5jdXJyZW5jeSA/PyAnJyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdG90YWxEZXRhaWxzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdWJ0b3RhbERldGFpbHMoXG4gICAgZmluYW5jZUluZm86IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5XG4gICk6IENhcnRMaW5lW10ge1xuICAgIGNvbnN0IHN1YnRvdGFsRGV0YWlsc1NvcnRpbmcgPSBbXG4gICAgICB7XG4gICAgICAgIGtleTogJ2Rpc2NvdW50JyxcbiAgICAgICAgcmVzcG9uc2VLZXk6ICdkaXNjb3VudCcsXG4gICAgICAgIHRpdGxlOiAnRGlzY291bnQnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnZmVlJyxcbiAgICAgICAgcmVzcG9uc2VLZXk6ICdwYXltZW50U3lzdGVtRmVlJyxcbiAgICAgICAgdGl0bGU6ICdQYXltZW50IHN5c3RlbSBmZWUnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAndXNlci1iYWxhbmNlJyxcbiAgICAgICAgcmVzcG9uc2VLZXk6ICd1c2VyV2FsbGV0JyxcbiAgICAgICAgdGl0bGU6ICdCYWxhbmNlJyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IHJlZGVlbWVkUG9pbnRzID0gZmluYW5jZUluZm9bJ3JlZGVlbWVkUG9pbnRzJ107XG5cbiAgICBpZiAocmVkZWVtZWRQb2ludHM/LnByZWYpIHtcbiAgICAgIHN1YnRvdGFsRGV0YWlsc1NvcnRpbmcucHVzaCh7XG4gICAgICAgIGtleTogJ3JlZGVlbS1wb2ludHMnLFxuICAgICAgICByZXNwb25zZUtleTogJ3JlZGVlbWVkUG9pbnRzJyxcbiAgICAgICAgdGl0bGU6IHJlZGVlbWVkUG9pbnRzLnByZWYsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VidG90YWxEZXRhaWxzU29ydGluZy5yZWR1Y2UoXG4gICAgICAoXG4gICAgICAgIHN1YlRvdGFsRGV0YWlsczogQ2FydExpbmVbXSxcbiAgICAgICAgc29ydGluZzogeyByZXNwb25zZUtleTogc3RyaW5nOyB0aXRsZTogc3RyaW5nIH1cbiAgICAgICkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZCA9IGZpbmFuY2VJbmZvW1xuICAgICAgICAgIHNvcnRpbmcucmVzcG9uc2VLZXlcbiAgICAgICAgXSBhcyBGaWVsZFdpdGhBbW91bnRBbmRDdXJyZW5jeTtcbiAgICAgICAgaWYgKGZpZWxkKSB7XG4gICAgICAgICAgc3ViVG90YWxEZXRhaWxzLnB1c2goe1xuICAgICAgICAgICAgdGl0bGU6IHNvcnRpbmcudGl0bGUsXG4gICAgICAgICAgICBtb25leToge1xuICAgICAgICAgICAgICBhbW91bnQ6IGZpZWxkLmFtb3VudCA/PyBudWxsLFxuICAgICAgICAgICAgICBjdXJyZW5jeTogZmllbGQuY3VycmVuY3kgPz8gJycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdWJUb3RhbERldGFpbHM7XG4gICAgICB9LFxuICAgICAgW11cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUYXhlc0ZvclN1YnRvdGFsRGV0YWlscyhcbiAgICBmaW5hbmNlSW5mbzogRmluYW5jZUluZm9XaXRoQW1vdW50QW5kQ3VycmVuY3ksXG4gICAgY291bnRyeTogc3RyaW5nXG4gICk6IENhcnRMaW5lW10ge1xuICAgIGNvbnN0IHRheGVzRm9yU3VidG90YWxEZXRhaWxzOiBDYXJ0TGluZVtdID0gW107XG4gICAgY29uc3QgdmF0VXNlck5vdEluY2x1ZGVkRmllbGQgPSBmaW5hbmNlSW5mb1tcbiAgICAgICd2YXRVc2VyTm90SW5jbHVkZWQnXG4gICAgXSBhcyBGaWVsZFdpdGhBbW91bnRBbmRDdXJyZW5jeTtcbiAgICBpZiAodmF0VXNlck5vdEluY2x1ZGVkRmllbGQ/LnByZWYpIHtcbiAgICAgIGNvbnN0IHBlcmNlbnRzID0gdGhpcy5nZXRQZXJjZW50cyh2YXRVc2VyTm90SW5jbHVkZWRGaWVsZC5wcmVmKTtcbiAgICAgIHRheGVzRm9yU3VidG90YWxEZXRhaWxzLnB1c2goe1xuICAgICAgICBrZXk6IHRoaXMuZ2V0VmF0Tm90SW5jbHVkaW5nS2V5RGV0YWlscyhwZXJjZW50cywgY291bnRyeSksXG4gICAgICAgIHRpdGxlOiB0aGlzLmdldFZhdE5vdEluY2x1ZGluZ1RpdGxlRGV0YWlscyhwZXJjZW50cywgY291bnRyeSksXG4gICAgICAgIG1vbmV5OiB7XG4gICAgICAgICAgYW1vdW50OiB2YXRVc2VyTm90SW5jbHVkZWRGaWVsZC5hbW91bnQgPz8gbnVsbCxcbiAgICAgICAgICBjdXJyZW5jeTogdmF0VXNlck5vdEluY2x1ZGVkRmllbGQuY3VycmVuY3kgPz8gJycsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGF4ZXNGb3JTdWJ0b3RhbERldGFpbHM7XG4gIH1cblxuICBwcml2YXRlIGdldFZhdE5vdEluY2x1ZGluZ0tleURldGFpbHMoXG4gICAgcGVyY2VudHM6IHN0cmluZyB8IG51bGwsXG4gICAgY291bnRyeTogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNJbmRpYShjb3VudHJ5KSkge1xuICAgICAgcmV0dXJuIHBlcmNlbnRzID8gVmF0RGV0YWlsc0tleS52YXRJbmRpYVBlcmNlbnQgOiBWYXREZXRhaWxzS2V5LnZhdEluZGlhO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzR2hhbmEoY291bnRyeSkpIHtcbiAgICAgIHJldHVybiBWYXREZXRhaWxzS2V5LnZhdEdoYW5hO1xuICAgIH1cblxuICAgIHJldHVybiBwZXJjZW50cyA/IFZhdERldGFpbHNLZXkudmF0UGVyY2VudCA6IFZhdERldGFpbHNLZXkudmF0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYXROb3RJbmNsdWRpbmdUaXRsZURldGFpbHMoXG4gICAgcGVyY2VudHM6IHN0cmluZyB8IG51bGwsXG4gICAgY291bnRyeTogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNJbmRpYShjb3VudHJ5KSkge1xuICAgICAgcmV0dXJuIHBlcmNlbnRzID8gYEdTVCAke3BlcmNlbnRzfSVgIDogJ0dTVCc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNHaGFuYShjb3VudHJ5KSkge1xuICAgICAgcmV0dXJuICdWQVQsIE5ISUwsIEdFVEZ1bmQgTGV2eSwgYW5kIENvdmlkLTE5IExldnknO1xuICAgIH1cblxuICAgIHJldHVybiBwZXJjZW50cyA/IGBWQVQgJHtwZXJjZW50c30lYCA6ICdWQVQnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYXRJbmNsdWRpbmdLZXlEZXRhaWxzKFxuICAgIHBlcmNlbnRzOiBzdHJpbmcgfCBudWxsLFxuICAgIGNvdW50cnk6IHN0cmluZ1xuICApOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlzSW5kaWEoY291bnRyeSkpIHtcbiAgICAgIHJldHVybiBwZXJjZW50c1xuICAgICAgICA/IFZhdERldGFpbHNLZXkudmF0SW5kaWFQZXJjZW50SW5jbHVkaW5nXG4gICAgICAgIDogVmF0RGV0YWlsc0tleS52YXRJbmRpYUluY2x1ZGluZztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0doYW5hKGNvdW50cnkpKSB7XG4gICAgICByZXR1cm4gVmF0RGV0YWlsc0tleS52YXRHaGFuYUluY2x1ZGluZztcbiAgICB9XG5cbiAgICByZXR1cm4gcGVyY2VudHNcbiAgICAgID8gVmF0RGV0YWlsc0tleS52YXRQZXJjZW50SW5jbHVkaW5nXG4gICAgICA6IFZhdERldGFpbHNLZXkudmF0SW5jbHVkaW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBnZVZhdEluY2x1ZGluZ1RpdGxlRGV0YWlscyhcbiAgICBwZXJjZW50czogc3RyaW5nIHwgbnVsbCxcbiAgICBjb3VudHJ5OiBzdHJpbmdcbiAgKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pc0luZGlhKGNvdW50cnkpKSB7XG4gICAgICByZXR1cm4gcGVyY2VudHMgPyBgSW5jbHVkaW5nICR7cGVyY2VudHN9JSBHU1RgIDogJ0luY2x1ZGluZyBHU1QnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzR2hhbmEoY291bnRyeSkpIHtcbiAgICAgIHJldHVybiAnSW5jbHVkaW5nIFZBVCwgTkhJTCwgR0VURnVuZCBMZXZ5LCBhbmQgQ292aWQtMTkgTGV2eSc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBlcmNlbnRzID8gYEluY2x1ZGluZyAke3BlcmNlbnRzfSUgVkFUYCA6IGBJbmNsdWRpbmcgVkFUYDtcbiAgfVxuXG4gIHByaXZhdGUgaXNHaGFuYShjb3VudHJ5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY291bnRyeSA9PT0gQ291bnRyeUlzb0NvZGUuR2hhbmE7XG4gIH1cblxuICBwcml2YXRlIGlzSW5kaWEoY291bnRyeTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGNvdW50cnkgPT09IENvdW50cnlJc29Db2RlLkluZGlhO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUcmFuc2FjdGlvbkRldGFpbHMoXG4gICAgc3RhdHVzOiBTdGF0dXMsXG4gICAgZmluYW5jZUluZm86IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5XG4gICk6IENhcnRMaW5lW10ge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uRGV0YWlsczogQ2FydExpbmVbXSA9IFtdO1xuICAgIGlmIChmaW5hbmNlSW5mby5pbnZvaWNlPy52YWx1ZSkge1xuICAgICAgdHJhbnNhY3Rpb25EZXRhaWxzLnB1c2goe1xuICAgICAgICBrZXk6ICdpbnZvaWNlJyxcbiAgICAgICAgdGl0bGU6ICdUcmFuc2FjdGlvbicsXG4gICAgICAgIGNvbnRlbnQ6IGZpbmFuY2VJbmZvLmludm9pY2UudmFsdWUsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBpc0NvbXBsZXRlZCA9XG4gICAgICBzdGF0dXMuaXNDYW5jZWxVc2VyIHx8XG4gICAgICAoc3RhdHVzLnN0YXR1c1N0YXRlICE9PSBTdGF0dXNFbnVtLnByb2Nlc3NpbmcgJiZcbiAgICAgICAgc3RhdHVzLnN0YXR1c1N0YXRlICE9PSBTdGF0dXNFbnVtLmNyZWF0ZWQgJiZcbiAgICAgICAgc3RhdHVzLnN0YXR1c1N0YXRlICE9PSBTdGF0dXNFbnVtLmhlbGQpO1xuICAgIGlmIChpc0NvbXBsZXRlZCAmJiBmaW5hbmNlSW5mby50aW1lPy52YWx1ZSkge1xuICAgICAgdHJhbnNhY3Rpb25EZXRhaWxzLnB1c2goe1xuICAgICAgICBrZXk6ICd0aW1lJyxcbiAgICAgICAgdGl0bGU6ICdEYXRlJyxcbiAgICAgICAgY29udGVudDogZmluYW5jZUluZm8udGltZS52YWx1ZSxcbiAgICAgICAgaXNEYXRlTGluZTogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdHJhbnNhY3Rpb25EZXRhaWxzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQZXJjZW50cyh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgcGVyY2VudHNUZW1wbGF0ZSA9IC8oXFxkKyguXFxkKyk/KS87XG4gICAgY29uc3QgcGVyY2VudHNNYXRjaFJlc3VsdCA9IHBlcmNlbnRzVGVtcGxhdGUuZXhlYyh2YWx1ZSk7XG5cbiAgICBpZiAoIXBlcmNlbnRzTWF0Y2hSZXN1bHQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBwZXJjZW50c01hdGNoUmVzdWx0WzBdO1xuICB9XG59XG4iXX0=
289
+ }], ctorParameters: () => [{ type: i1.SummaryFinanceDetailsAdapterService }] });
290
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2ZpbmFuY2UtZGV0YWlscy9zdGF0dXMvc3RhdHVzLWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0zQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBTXhELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBR3RELE1BQU0sT0FBTyxrQ0FBa0M7SUFDN0MsWUFDbUIsa0NBQXVFO1FBQXZFLHVDQUFrQyxHQUFsQyxrQ0FBa0MsQ0FBcUM7SUFDdkYsQ0FBQztJQUVHLGlCQUFpQixDQUN0QixNQUFjLEVBQ2QsUUFBNEI7UUFFNUIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDO1FBQ3pDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDO1FBRW5DLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxvQ0FBb0MsQ0FDOUQsUUFBUSxFQUNSLEtBQUssRUFDTCxPQUFPLENBQ1IsQ0FBQztRQUVGLE9BQU87WUFDTCxRQUFRO1lBQ1Is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LFdBQVcsS0FBSyxVQUFVLENBQUMsVUFBVTtnQkFDM0MsTUFBTSxDQUFDLFdBQVcsS0FBSyxVQUFVLENBQUMsT0FBTztnQkFDekMsTUFBTSxDQUFDLFdBQVcsS0FBSyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsSUFBSSxXQUFXLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUMzQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7Z0JBQ3RCLEdBQUcsRUFBRSxNQUFNO2dCQUNYLEtBQUssRUFBRSxNQUFNO2dCQUNiLE9BQU8sRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUs7Z0JBQy9CLFVBQVUsRUFBRSxJQUFJO2FBQ2pCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLGtCQUFrQixDQUFDO0lBQzVCLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBYTtRQUMvQixNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FBQztRQUN4QyxNQUFNLG1CQUFtQixHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6RCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUN6QixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxPQUFPLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OEdBdFpVLGtDQUFrQztrSEFBbEMsa0NBQWtDLGNBRHJCLE1BQU07OzJGQUNuQixrQ0FBa0M7a0JBRDlDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RhdHVzRmluYW5jZUluZm8gfSBmcm9tICcuLi8uLi9zdGF0dXMvc3RhdHVzLWZpbmFuY2UtaW5mby5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vLi4vc3RhdHVzL3N0YXR1cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmluYW5jZURldGFpbHMgfSBmcm9tICcuLi9maW5hbmNlLWRldGFpbHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5IH0gZnJvbSAnLi9maW5hbmNlLWluZm8uaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbmFuY2VJbmZvRmllbGQgfSBmcm9tICcuLi8uLi9zdGF0dXMvZmluYW5jZS1pbmZvLWZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBmaWVsZHNXaXRoQ3VycmVuY3kgfSBmcm9tICcuL2ZpZWxkcy13aXRoLWN1cnJlbmN5JztcbmltcG9ydCB7IENhcnRMaW5lIH0gZnJvbSAnLi4vY2FydC1saW5lLmludGVyZmFjZSc7XG5pbXBvcnQgeyBleHRyYWN0TW9uZXlDdXJyZW5jeSB9IGZyb20gJy4uL3ByaWNlLmhlbHBlcnMnO1xuaW1wb3J0IHsgRmllbGRXaXRoQW1vdW50QW5kQ3VycmVuY3kgfSBmcm9tICcuL2ZpZWxkLXdpdGgtYW1vdW50LWFuZC1jdXJyZW5jeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2FydFN1bW1hcnkgfSBmcm9tICcuLi9jYXJ0LXN1bW1hcnkuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvdW50cnlJc29Db2RlIH0gZnJvbSAnLi4vLi4vLi4vY291bnRyeS9jb3VudHJ5LWlzby1jb2RlLmVudW0nO1xuaW1wb3J0IHsgVmF0RGV0YWlsc0tleSB9IGZyb20gJy4uL3ZhdC1kZXRhaWxzLWtleS5lbnVtJztcbmltcG9ydCB7IFhwc1B1cmNoYXNlIH0gZnJvbSAnLi4vLi4veHBzLXB1cmNoYXNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDYXJ0SXRlbSB9IGZyb20gJy4uL2NhcnQtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgWHBzRmluYW5jZSB9IGZyb20gJy4uLy4uL3hwcy1maW5hbmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdGF0dXNPcmRlciB9IGZyb20gJy4uLy4uL3N0YXR1cy9zdGF0dXMtb3JkZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc3VtbWFyeS9zdW1tYXJ5LWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzRW51bSB9IGZyb20gJy4uLy4uL3N0YXR1cy9zdGF0dXMuZW51bSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU3RhdHVzRmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN1bW1hckZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2U6IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgZ2V0RmluYW5jZURldGFpbHMoXG4gICAgc3RhdHVzOiBTdGF0dXMsXG4gICAgcHVyY2hhc2U6IFhwc1B1cmNoYXNlIHwgbnVsbFxuICApOiBGaW5hbmNlRGV0YWlscyB7XG4gICAgY29uc3QgZmluYW5jZUluZm8gPSB0aGlzLmZpbGxGaW5hbmNlSW5mbyhzdGF0dXMuZmluYW5jZUluZm8pO1xuICAgIGNvbnN0IGNvdW50cnkgPSBzdGF0dXMucGF5bWVudENvdW50cnlJc287XG4gICAgY29uc3Qgb3JkZXIgPSBzdGF0dXMub3JkZXIgPz8gbnVsbDtcblxuICAgIGNvbnN0IHN1bW1hcnlGaW5hbmNlID0gdGhpcy5jb252ZXJ0U3RhdHVzRmluYW5jZVRvU3VtbWFyeUZpbmFuY2UoXG4gICAgICBwdXJjaGFzZSxcbiAgICAgIG9yZGVyLFxuICAgICAgY291bnRyeVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcHVyY2hhc2UsXG4gICAgICBmaW5hbmNlOiBzdW1tYXJ5RmluYW5jZSxcbiAgICAgIGNhcnRJdGVtczogdGhpcy5nZXRDYXJ0SXRlbXMocHVyY2hhc2UsIHN1bW1hcnlGaW5hbmNlKSxcbiAgICAgIGNhcnRTdW1tYXJ5OiB0aGlzLmdldENhcnRTdW1tYXJ5KHN0YXR1cywgZmluYW5jZUluZm8sIGNvdW50cnkpLFxuICAgICAgcGF5bWVudENvdW50cnk6IGNvdW50cnksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsbEZpbmFuY2VJbmZvKFxuICAgIGZpbmFuY2VJbmZvOiBTdGF0dXNGaW5hbmNlSW5mb1xuICApOiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGZpbmFuY2VJbmZvKS5yZWR1Y2UoXG4gICAgICAoXG4gICAgICAgIGZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5OiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeSxcbiAgICAgICAga2V5OiBzdHJpbmdcbiAgICAgICkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZDogRmluYW5jZUluZm9GaWVsZCA9IGZpbmFuY2VJbmZvW2tleV07XG5cbiAgICAgICAgaWYgKGZpZWxkPy5rZXkgJiYgZmllbGRzV2l0aEN1cnJlbmN5LmhhcyhmaWVsZD8ua2V5KSkge1xuICAgICAgICAgIHRoaXMuYWRkQW1vdW50QW5kQ3VycmVuY3lUb0ZpZWxkKGZpZWxkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyAuLi5maW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeSwgW2tleV06IGZpZWxkIH07XG4gICAgICB9LFxuICAgICAge31cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRBbW91bnRBbmRDdXJyZW5jeVRvRmllbGQoZmllbGQ6IHtcbiAgICBrZXk/OiBzdHJpbmc7XG4gICAgcHJlZj86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZztcbiAgICBhbW91bnQ/OiBudW1iZXI7XG4gICAgY3VycmVuY3k/OiBzdHJpbmc7XG4gIH0pOiB2b2lkIHtcbiAgICBjb25zdCBhbW91bnRBbmRDdXJyZW5jeSA9IC8oXlstXFxkLl0rKSAoW0EtWl17M30pJC87XG4gICAgY29uc3QgY3VycmVuY3lQYXJ0cyA9IGZpZWxkLnZhbHVlPy50cmltKCkubWF0Y2goYW1vdW50QW5kQ3VycmVuY3kpO1xuXG4gICAgaWYgKGN1cnJlbmN5UGFydHMpIHtcbiAgICAgIGNvbnN0IGFtb3VudFBvc2l0aW9uID0gMTtcbiAgICAgIGNvbnN0IGN1cnJlbmN5UG9zaXRpb24gPSAyO1xuICAgICAgZmllbGQuYW1vdW50ID0gTnVtYmVyKGN1cnJlbmN5UGFydHNbYW1vdW50UG9zaXRpb25dKTtcbiAgICAgIGZpZWxkLmN1cnJlbmN5ID0gY3VycmVuY3lQYXJ0c1tjdXJyZW5jeVBvc2l0aW9uXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldENhcnRJdGVtcyhcbiAgICBwdXJjaGFzZTogWHBzUHVyY2hhc2UgfCBudWxsLFxuICAgIHN1bW1hcnlGaW5hbmNlOiBYcHNGaW5hbmNlIHwgbnVsbFxuICApOiBDYXJ0SXRlbVtdIHwgbnVsbCB7XG4gICAgaWYgKCFwdXJjaGFzZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgZmluYW5jZURldGFpbHMgPVxuICAgICAgdGhpcy5zdW1tYXJGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlLmdldEZpbmFuY2VEZXRhaWxzKHtcbiAgICAgICAgcHVyY2hhc2UsXG4gICAgICAgIGZpbmFuY2U6IHN1bW1hcnlGaW5hbmNlLFxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gZmluYW5jZURldGFpbHMuY2FydEl0ZW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0U3RhdHVzRmluYW5jZVRvU3VtbWFyeUZpbmFuY2UoXG4gICAgcHVyY2hhc2U6IFhwc1B1cmNoYXNlIHwgbnVsbCxcbiAgICBvcmRlcjogU3RhdHVzT3JkZXIgfCBudWxsLFxuICAgIGNvdW50cnk6IHN0cmluZ1xuICApOiBYcHNGaW5hbmNlIHwgbnVsbCB7XG4gICAgaWYgKCFvcmRlciB8fCAhcHVyY2hhc2U/LmNoZWNrb3V0X2l0ZW1zPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbmFuY2UgPSB7XG4gICAgICBwYXltZW50X2NvdW50cnk6IHtcbiAgICAgICAgaXNvOiBjb3VudHJ5LFxuICAgICAgfSxcbiAgICB9IGFzIFhwc0ZpbmFuY2U7XG5cbiAgICBjb25zdCBmaXJzdENoZWNrb3V0SXRlbSA9IHB1cmNoYXNlPy5jaGVja291dF9pdGVtc1swXTtcbiAgICBjb25zdCBmaXJzdENoZWNrb3V0SXRlbUFtb3VudCA9IGZpcnN0Q2hlY2tvdXRJdGVtPy5hbW91bnQgPz8gMDtcbiAgICBjb25zdCBvbmVIdW5kcmVkUGVyY2VudCA9IDEwMDtcbiAgICBjb25zdCB0YXhBbW91bnQgPVxuICAgICAgKGZpcnN0Q2hlY2tvdXRJdGVtQW1vdW50ICogZmlyc3RDaGVja291dEl0ZW0/LmluZGlyZWN0X3RheF9yYXRlKSAvXG4gICAgICBvbmVIdW5kcmVkUGVyY2VudDtcblxuICAgIGlmIChvcmRlci5jb250YWluZWRfdGF4ZXM/LnNhbGVzX3RheCkge1xuICAgICAgZmluYW5jZS5zYWxlc190YXggPSB7XG4gICAgICAgIGFtb3VudDogdGF4QW1vdW50LFxuICAgICAgICBwZXJjZW50OiBmaXJzdENoZWNrb3V0SXRlbT8uaW5kaXJlY3RfdGF4X3JhdGUsXG4gICAgICAgIGN1cnJlbmN5OiBwdXJjaGFzZT8uY2hlY2tvdXQ/LmN1cnJlbmN5ID8/ICcnLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAob3JkZXIuY29udGFpbmVkX3RheGVzPy51c2VyX3ZhdCkge1xuICAgICAgZmluYW5jZS52YXQgPSB7XG4gICAgICAgIGFtb3VudDogdGF4QW1vdW50LFxuICAgICAgICBwZXJjZW50OiBmaXJzdENoZWNrb3V0SXRlbT8uaW5kaXJlY3RfdGF4X3JhdGUsXG4gICAgICAgIGN1cnJlbmN5OiBwdXJjaGFzZT8uY2hlY2tvdXQ/LmN1cnJlbmN5ID8/ICcnLFxuICAgICAgICB2aXNpYmxlOiB0cnVlLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmluYW5jZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2FydFN1bW1hcnkoXG4gICAgc3RhdHVzOiBTdGF0dXMsXG4gICAgZmluYW5jZUluZm86IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5LFxuICAgIGNvdW50cnk6IHN0cmluZ1xuICApOiBDYXJ0U3VtbWFyeSB7XG4gICAgY29uc3QgY2FydDogQ2FydFN1bW1hcnkgPSB7XG4gICAgICB0b3RhbDogdGhpcy5nZXRUb3RhbChmaW5hbmNlSW5mbyksXG4gICAgICB0b3RhbERldGFpbHM6IHRoaXMuZ2V0VG90YWxEZXRhaWxzKGZpbmFuY2VJbmZvLCBjb3VudHJ5KSxcbiAgICAgIHN1YnRvdGFsRGV0YWlsczogW1xuICAgICAgICAuLi50aGlzLmdldFN1YnRvdGFsRGV0YWlscyhmaW5hbmNlSW5mbyksXG4gICAgICAgIC4uLnRoaXMuZ2V0VGF4ZXNGb3JTdWJ0b3RhbERldGFpbHMoZmluYW5jZUluZm8sIGNvdW50cnkpLFxuICAgICAgXSxcbiAgICAgIHRyYW5zYWN0aW9uRGV0YWlsczogdGhpcy5nZXRUcmFuc2FjdGlvbkRldGFpbHMoc3RhdHVzLCBmaW5hbmNlSW5mbyksXG4gICAgICBzdWJ0b3RhbDogdGhpcy5nZXRJbml0aWFsQ3VycmVuY3lTdWJ0b3RhbChmaW5hbmNlSW5mbykgPz8gbnVsbCxcbiAgICAgIHN1YnRvdGFsUGF5bWVudDogdGhpcy5nZXRTdWJ0b3RhbFBheW1lbnQoZmluYW5jZUluZm8pID8/IG51bGwsXG4gICAgfTtcblxuICAgIHJldHVybiBjYXJ0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUb3RhbChmaW5hbmNlSW5mbzogRmluYW5jZUluZm9XaXRoQW1vdW50QW5kQ3VycmVuY3kpOiBDYXJ0TGluZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiAnVG90YWwnLFxuICAgICAgbW9uZXk6IGV4dHJhY3RNb25leUN1cnJlbmN5KFxuICAgICAgICBmaW5hbmNlSW5mby5zdW0gYXMgRmllbGRXaXRoQW1vdW50QW5kQ3VycmVuY3lcbiAgICAgICksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3VidG90YWxQYXltZW50KFxuICAgIGZpbmFuY2VJbmZvOiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeVxuICApOiBDYXJ0TGluZSB8IG51bGwge1xuICAgIGlmICghZmluYW5jZUluZm8/LnN1YnRvdGFsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6ICdTdWJ0b3RhbCcsXG4gICAgICBtb25leTogZXh0cmFjdE1vbmV5Q3VycmVuY3koXG4gICAgICAgIGZpbmFuY2VJbmZvLnN1YnRvdGFsIGFzIEZpZWxkV2l0aEFtb3VudEFuZEN1cnJlbmN5XG4gICAgICApLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldEluaXRpYWxDdXJyZW5jeVN1YnRvdGFsKFxuICAgIGZpbmFuY2VJbmZvOiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeVxuICApOiBDYXJ0TGluZSB8IG51bGwge1xuICAgIGlmICghZmluYW5jZUluZm8/LnN1YnRvdGFsU3VtbWFyeUJlZm9yZUNvbnZlcnNpb24pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogJycsXG4gICAgICBtb25leTogZXh0cmFjdE1vbmV5Q3VycmVuY3koZmluYW5jZUluZm8uc3VidG90YWxTdW1tYXJ5QmVmb3JlQ29udmVyc2lvbiksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VG90YWxEZXRhaWxzKFxuICAgIGZpbmFuY2VJbmZvOiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeSxcbiAgICBjb3VudHJ5OiBzdHJpbmdcbiAgKTogQ2FydExpbmVbXSB7XG4gICAgY29uc3QgdG90YWxEZXRhaWxzOiBDYXJ0TGluZVtdID0gW107XG5cbiAgICBjb25zdCBzYWxlc1RheENvbW1pc3Npb25GaWVsZCA9IGZpbmFuY2VJbmZvW1xuICAgICAgJ3NhbGVzVGF4Q29tbWlzc2lvbidcbiAgICBdIGFzIEZpZWxkV2l0aEFtb3VudEFuZEN1cnJlbmN5O1xuICAgIGlmIChzYWxlc1RheENvbW1pc3Npb25GaWVsZCkge1xuICAgICAgdG90YWxEZXRhaWxzLnB1c2goe1xuICAgICAgICB0aXRsZTogc2FsZXNUYXhDb21taXNzaW9uRmllbGQucHJlZixcbiAgICAgICAgbW9uZXk6IHtcbiAgICAgICAgICBhbW91bnQ6IHNhbGVzVGF4Q29tbWlzc2lvbkZpZWxkLmFtb3VudCA/PyBudWxsLFxuICAgICAgICAgIGN1cnJlbmN5OiBzYWxlc1RheENvbW1pc3Npb25GaWVsZC5jdXJyZW5jeSA/PyAnJyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbW1pc3Npb25Vc2VyVmF0UHJjRmllbGQgPSBmaW5hbmNlSW5mb1tcbiAgICAgICdjb21taXNzaW9uVXNlclZhdFByYydcbiAgICBdIGFzIEZpZWxkV2l0aEFtb3VudEFuZEN1cnJlbmN5O1xuXG4gICAgaWYgKGNvbW1pc3Npb25Vc2VyVmF0UHJjRmllbGQ/LnByZWYpIHtcbiAgICAgIGNvbnN0IHBlcmNlbnRzID0gdGhpcy5nZXRQZXJjZW50cyhjb21taXNzaW9uVXNlclZhdFByY0ZpZWxkLnByZWYpO1xuXG4gICAgICB0b3RhbERldGFpbHMucHVzaCh7XG4gICAgICAgIGtleTogdGhpcy5nZXRWYXRJbmNsdWRpbmdLZXlEZXRhaWxzKHBlcmNlbnRzLCBjb3VudHJ5KSxcbiAgICAgICAgdGl0bGU6IHRoaXMuZ2VWYXRJbmNsdWRpbmdUaXRsZURldGFpbHMocGVyY2VudHMsIGNvdW50cnkpLFxuICAgICAgICBtb25leToge1xuICAgICAgICAgIGFtb3VudDogY29tbWlzc2lvblVzZXJWYXRQcmNGaWVsZC5hbW91bnQgPz8gbnVsbCxcbiAgICAgICAgICBjdXJyZW5jeTogY29tbWlzc2lvblVzZXJWYXRQcmNGaWVsZC5jdXJyZW5jeSA/PyAnJyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdG90YWxEZXRhaWxzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdWJ0b3RhbERldGFpbHMoXG4gICAgZmluYW5jZUluZm86IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5XG4gICk6IENhcnRMaW5lW10ge1xuICAgIGNvbnN0IHN1YnRvdGFsRGV0YWlsc1NvcnRpbmcgPSBbXG4gICAgICB7XG4gICAgICAgIGtleTogJ2Rpc2NvdW50JyxcbiAgICAgICAgcmVzcG9uc2VLZXk6ICdkaXNjb3VudCcsXG4gICAgICAgIHRpdGxlOiAnRGlzY291bnQnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnZmVlJyxcbiAgICAgICAgcmVzcG9uc2VLZXk6ICdwYXltZW50U3lzdGVtRmVlJyxcbiAgICAgICAgdGl0bGU6ICdQYXltZW50IHN5c3RlbSBmZWUnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAndXNlci1iYWxhbmNlJyxcbiAgICAgICAgcmVzcG9uc2VLZXk6ICd1c2VyV2FsbGV0JyxcbiAgICAgICAgdGl0bGU6ICdCYWxhbmNlJyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IHJlZGVlbWVkUG9pbnRzID0gZmluYW5jZUluZm9bJ3JlZGVlbWVkUG9pbnRzJ107XG5cbiAgICBpZiAocmVkZWVtZWRQb2ludHM/LnByZWYpIHtcbiAgICAgIHN1YnRvdGFsRGV0YWlsc1NvcnRpbmcucHVzaCh7XG4gICAgICAgIGtleTogJ3JlZGVlbS1wb2ludHMnLFxuICAgICAgICByZXNwb25zZUtleTogJ3JlZGVlbWVkUG9pbnRzJyxcbiAgICAgICAgdGl0bGU6IHJlZGVlbWVkUG9pbnRzLnByZWYsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VidG90YWxEZXRhaWxzU29ydGluZy5yZWR1Y2UoXG4gICAgICAoXG4gICAgICAgIHN1YlRvdGFsRGV0YWlsczogQ2FydExpbmVbXSxcbiAgICAgICAgc29ydGluZzogeyByZXNwb25zZUtleTogc3RyaW5nOyB0aXRsZTogc3RyaW5nIH1cbiAgICAgICkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZCA9IGZpbmFuY2VJbmZvW1xuICAgICAgICAgIHNvcnRpbmcucmVzcG9uc2VLZXlcbiAgICAgICAgXSBhcyBGaWVsZFdpdGhBbW91bnRBbmRDdXJyZW5jeTtcbiAgICAgICAgaWYgKGZpZWxkKSB7XG4gICAgICAgICAgc3ViVG90YWxEZXRhaWxzLnB1c2goe1xuICAgICAgICAgICAgdGl0bGU6IHNvcnRpbmcudGl0bGUsXG4gICAgICAgICAgICBtb25leToge1xuICAgICAgICAgICAgICBhbW91bnQ6IGZpZWxkLmFtb3VudCA/PyBudWxsLFxuICAgICAgICAgICAgICBjdXJyZW5jeTogZmllbGQuY3VycmVuY3kgPz8gJycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdWJUb3RhbERldGFpbHM7XG4gICAgICB9LFxuICAgICAgW11cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUYXhlc0ZvclN1YnRvdGFsRGV0YWlscyhcbiAgICBmaW5hbmNlSW5mbzogRmluYW5jZUluZm9XaXRoQW1vdW50QW5kQ3VycmVuY3ksXG4gICAgY291bnRyeTogc3RyaW5nXG4gICk6IENhcnRMaW5lW10ge1xuICAgIGNvbnN0IHRheGVzRm9yU3VidG90YWxEZXRhaWxzOiBDYXJ0TGluZVtdID0gW107XG4gICAgY29uc3QgdmF0VXNlck5vdEluY2x1ZGVkRmllbGQgPSBmaW5hbmNlSW5mb1tcbiAgICAgICd2YXRVc2VyTm90SW5jbHVkZWQnXG4gICAgXSBhcyBGaWVsZFdpdGhBbW91bnRBbmRDdXJyZW5jeTtcbiAgICBpZiAodmF0VXNlck5vdEluY2x1ZGVkRmllbGQ/LnByZWYpIHtcbiAgICAgIGNvbnN0IHBlcmNlbnRzID0gdGhpcy5nZXRQZXJjZW50cyh2YXRVc2VyTm90SW5jbHVkZWRGaWVsZC5wcmVmKTtcbiAgICAgIHRheGVzRm9yU3VidG90YWxEZXRhaWxzLnB1c2goe1xuICAgICAgICBrZXk6IHRoaXMuZ2V0VmF0Tm90SW5jbHVkaW5nS2V5RGV0YWlscyhwZXJjZW50cywgY291bnRyeSksXG4gICAgICAgIHRpdGxlOiB0aGlzLmdldFZhdE5vdEluY2x1ZGluZ1RpdGxlRGV0YWlscyhwZXJjZW50cywgY291bnRyeSksXG4gICAgICAgIG1vbmV5OiB7XG4gICAgICAgICAgYW1vdW50OiB2YXRVc2VyTm90SW5jbHVkZWRGaWVsZC5hbW91bnQgPz8gbnVsbCxcbiAgICAgICAgICBjdXJyZW5jeTogdmF0VXNlck5vdEluY2x1ZGVkRmllbGQuY3VycmVuY3kgPz8gJycsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGF4ZXNGb3JTdWJ0b3RhbERldGFpbHM7XG4gIH1cblxuICBwcml2YXRlIGdldFZhdE5vdEluY2x1ZGluZ0tleURldGFpbHMoXG4gICAgcGVyY2VudHM6IHN0cmluZyB8IG51bGwsXG4gICAgY291bnRyeTogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNJbmRpYShjb3VudHJ5KSkge1xuICAgICAgcmV0dXJuIHBlcmNlbnRzID8gVmF0RGV0YWlsc0tleS52YXRJbmRpYVBlcmNlbnQgOiBWYXREZXRhaWxzS2V5LnZhdEluZGlhO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzR2hhbmEoY291bnRyeSkpIHtcbiAgICAgIHJldHVybiBWYXREZXRhaWxzS2V5LnZhdEdoYW5hO1xuICAgIH1cblxuICAgIHJldHVybiBwZXJjZW50cyA/IFZhdERldGFpbHNLZXkudmF0UGVyY2VudCA6IFZhdERldGFpbHNLZXkudmF0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYXROb3RJbmNsdWRpbmdUaXRsZURldGFpbHMoXG4gICAgcGVyY2VudHM6IHN0cmluZyB8IG51bGwsXG4gICAgY291bnRyeTogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNJbmRpYShjb3VudHJ5KSkge1xuICAgICAgcmV0dXJuIHBlcmNlbnRzID8gYEdTVCAke3BlcmNlbnRzfSVgIDogJ0dTVCc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNHaGFuYShjb3VudHJ5KSkge1xuICAgICAgcmV0dXJuICdWQVQsIE5ISUwsIEdFVEZ1bmQgTGV2eSwgYW5kIENvdmlkLTE5IExldnknO1xuICAgIH1cblxuICAgIHJldHVybiBwZXJjZW50cyA/IGBWQVQgJHtwZXJjZW50c30lYCA6ICdWQVQnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYXRJbmNsdWRpbmdLZXlEZXRhaWxzKFxuICAgIHBlcmNlbnRzOiBzdHJpbmcgfCBudWxsLFxuICAgIGNvdW50cnk6IHN0cmluZ1xuICApOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlzSW5kaWEoY291bnRyeSkpIHtcbiAgICAgIHJldHVybiBwZXJjZW50c1xuICAgICAgICA/IFZhdERldGFpbHNLZXkudmF0SW5kaWFQZXJjZW50SW5jbHVkaW5nXG4gICAgICAgIDogVmF0RGV0YWlsc0tleS52YXRJbmRpYUluY2x1ZGluZztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0doYW5hKGNvdW50cnkpKSB7XG4gICAgICByZXR1cm4gVmF0RGV0YWlsc0tleS52YXRHaGFuYUluY2x1ZGluZztcbiAgICB9XG5cbiAgICByZXR1cm4gcGVyY2VudHNcbiAgICAgID8gVmF0RGV0YWlsc0tleS52YXRQZXJjZW50SW5jbHVkaW5nXG4gICAgICA6IFZhdERldGFpbHNLZXkudmF0SW5jbHVkaW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBnZVZhdEluY2x1ZGluZ1RpdGxlRGV0YWlscyhcbiAgICBwZXJjZW50czogc3RyaW5nIHwgbnVsbCxcbiAgICBjb3VudHJ5OiBzdHJpbmdcbiAgKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pc0luZGlhKGNvdW50cnkpKSB7XG4gICAgICByZXR1cm4gcGVyY2VudHMgPyBgSW5jbHVkaW5nICR7cGVyY2VudHN9JSBHU1RgIDogJ0luY2x1ZGluZyBHU1QnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzR2hhbmEoY291bnRyeSkpIHtcbiAgICAgIHJldHVybiAnSW5jbHVkaW5nIFZBVCwgTkhJTCwgR0VURnVuZCBMZXZ5LCBhbmQgQ292aWQtMTkgTGV2eSc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBlcmNlbnRzID8gYEluY2x1ZGluZyAke3BlcmNlbnRzfSUgVkFUYCA6IGBJbmNsdWRpbmcgVkFUYDtcbiAgfVxuXG4gIHByaXZhdGUgaXNHaGFuYShjb3VudHJ5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY291bnRyeSA9PT0gQ291bnRyeUlzb0NvZGUuR2hhbmE7XG4gIH1cblxuICBwcml2YXRlIGlzSW5kaWEoY291bnRyeTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGNvdW50cnkgPT09IENvdW50cnlJc29Db2RlLkluZGlhO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUcmFuc2FjdGlvbkRldGFpbHMoXG4gICAgc3RhdHVzOiBTdGF0dXMsXG4gICAgZmluYW5jZUluZm86IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5XG4gICk6IENhcnRMaW5lW10ge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uRGV0YWlsczogQ2FydExpbmVbXSA9IFtdO1xuICAgIGlmIChmaW5hbmNlSW5mby5pbnZvaWNlPy52YWx1ZSkge1xuICAgICAgdHJhbnNhY3Rpb25EZXRhaWxzLnB1c2goe1xuICAgICAgICBrZXk6ICdpbnZvaWNlJyxcbiAgICAgICAgdGl0bGU6ICdUcmFuc2FjdGlvbicsXG4gICAgICAgIGNvbnRlbnQ6IGZpbmFuY2VJbmZvLmludm9pY2UudmFsdWUsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBpc0NvbXBsZXRlZCA9XG4gICAgICBzdGF0dXMuaXNDYW5jZWxVc2VyIHx8XG4gICAgICAoc3RhdHVzLnN0YXR1c1N0YXRlICE9PSBTdGF0dXNFbnVtLnByb2Nlc3NpbmcgJiZcbiAgICAgICAgc3RhdHVzLnN0YXR1c1N0YXRlICE9PSBTdGF0dXNFbnVtLmNyZWF0ZWQgJiZcbiAgICAgICAgc3RhdHVzLnN0YXR1c1N0YXRlICE9PSBTdGF0dXNFbnVtLmhlbGQpO1xuICAgIGlmIChpc0NvbXBsZXRlZCAmJiBmaW5hbmNlSW5mby50aW1lPy52YWx1ZSkge1xuICAgICAgdHJhbnNhY3Rpb25EZXRhaWxzLnB1c2goe1xuICAgICAgICBrZXk6ICd0aW1lJyxcbiAgICAgICAgdGl0bGU6ICdEYXRlJyxcbiAgICAgICAgY29udGVudDogZmluYW5jZUluZm8udGltZS52YWx1ZSxcbiAgICAgICAgaXNEYXRlTGluZTogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdHJhbnNhY3Rpb25EZXRhaWxzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQZXJjZW50cyh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgcGVyY2VudHNUZW1wbGF0ZSA9IC8oXFxkKyguXFxkKyk/KS87XG4gICAgY29uc3QgcGVyY2VudHNNYXRjaFJlc3VsdCA9IHBlcmNlbnRzVGVtcGxhdGUuZXhlYyh2YWx1ZSk7XG5cbiAgICBpZiAoIXBlcmNlbnRzTWF0Y2hSZXN1bHQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBwZXJjZW50c01hdGNoUmVzdWx0WzBdO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,264 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { createPriceOrUndefined, extractMoneyCurrency } from '../price.helpers';
3
+ import { defaultImagePatterns } from './default-image-patterns.const';
4
+ import { VatDetailsKey } from '../vat-details-key.enum';
5
+ import { SalesTaxDetailsKey } from './sales-tax-details-key.enum';
6
+ import * as i0 from "@angular/core";
7
+ export class SummaryFinanceDetailsAdapterService {
8
+ getFinanceDetails(summary) {
9
+ const { purchase, finance } = summary;
10
+ return {
11
+ purchase: purchase,
12
+ finance: finance,
13
+ cartItems: this.getCartItems(purchase, finance),
14
+ cartSummary: this.getCartSummary(finance),
15
+ paymentCountry: this.getPaymentCountry(finance),
16
+ };
17
+ }
18
+ shouldShowZeroIndirectTaxRate(finance) {
19
+ return !!(finance?.vat?.visible ?? finance?.vat_user?.visible);
20
+ }
21
+ isSalesTaxes(finance) {
22
+ return !!(finance?.sales_tax?.amount ?? finance?.sales_tax_user?.amount);
23
+ }
24
+ getCartItems(purchase, finance) {
25
+ const checkouts = purchase.checkout_items?.map((item) => {
26
+ return {
27
+ imgSrc: item.image_url,
28
+ hasDefaultImg: this.isDefaultImage(item.image_url),
29
+ title: item.name,
30
+ price: extractMoneyCurrency(item, false),
31
+ priceBeforeDiscount: createPriceOrUndefined(item.amount_before_discount, item.currency),
32
+ quantity: item.quantity,
33
+ description: item.description,
34
+ tax: this.getTaxForItem(finance, item.indirect_tax_rate),
35
+ isBonus: item.is_bonus,
36
+ };
37
+ });
38
+ const virtualCurrencies = purchase.virtual_currency?.map((item) => {
39
+ return {
40
+ imgSrc: item.image_url,
41
+ hasDefaultImg: this.isDefaultImage(item.image_url),
42
+ title: `${item.quantity} ${item.name}`,
43
+ price: extractMoneyCurrency(item),
44
+ description: item.description,
45
+ isBonus: item.is_bonus,
46
+ };
47
+ });
48
+ const virtualItems = purchase.virtual_items?.map((item) => {
49
+ return {
50
+ imgSrc: item.image_url,
51
+ hasDefaultImg: this.isDefaultImage(item.image_url),
52
+ title: item.name,
53
+ price: extractMoneyCurrency(item),
54
+ description: item.description,
55
+ quantity: item.quantity,
56
+ isBonus: item.is_bonus,
57
+ };
58
+ });
59
+ let checkoutArray = undefined;
60
+ if (purchase.checkout) {
61
+ checkoutArray = [
62
+ {
63
+ key: 'checkout',
64
+ title: purchase.checkout.description,
65
+ price: extractMoneyCurrency(purchase.checkout),
66
+ isBonus: purchase.checkout.is_bonus ?? false,
67
+ },
68
+ ];
69
+ }
70
+ return [
71
+ ...(checkouts ?? []),
72
+ ...(virtualCurrencies ?? []),
73
+ ...(virtualItems ?? []),
74
+ ...(checkoutArray ?? []),
75
+ ];
76
+ }
77
+ getCartSummary(finance) {
78
+ return {
79
+ subtotal: {
80
+ title: 'Subtotal',
81
+ money: createPriceOrUndefined(finance?.sub_total?.amount, finance?.sub_total?.currency),
82
+ },
83
+ subtotalPayment: {
84
+ title: '',
85
+ money: createPriceOrUndefined(finance?.sub_total?.payment_amount, finance?.sub_total?.payment_currency),
86
+ },
87
+ total: {
88
+ title: 'Total',
89
+ money: extractMoneyCurrency(finance?.total),
90
+ },
91
+ totalDetails: this.getTaxesForTotalDetails(finance),
92
+ subtotalDetails: [
93
+ ...this.getSubtotalDetails(finance),
94
+ ...this.getTaxesForSubtotalDetails(finance),
95
+ ],
96
+ };
97
+ }
98
+ getPaymentCountry(finance) {
99
+ return finance?.payment_country?.iso ?? '';
100
+ }
101
+ getTaxForItem(finance, indirectTaxRate) {
102
+ if (indirectTaxRate ||
103
+ (this.shouldShowZeroIndirectTaxRate(finance) && indirectTaxRate === 0)) {
104
+ if (this.isSalesTaxes(finance)) {
105
+ return {
106
+ key: SalesTaxDetailsKey.salesTaxPercent,
107
+ content: `Sales tax ${indirectTaxRate}%`,
108
+ rate: indirectTaxRate,
109
+ };
110
+ }
111
+ if (this.isIndia(finance)) {
112
+ return {
113
+ key: VatDetailsKey.vatIndiaPercent,
114
+ content: `GST ${indirectTaxRate}%`,
115
+ rate: indirectTaxRate,
116
+ };
117
+ }
118
+ if (this.isGhana(finance)) {
119
+ return {
120
+ key: VatDetailsKey.vatGhana,
121
+ content: 'VAT, NHIL, GETFund Levy, and Covid-19 Levy',
122
+ rate: indirectTaxRate,
123
+ };
124
+ }
125
+ return {
126
+ key: VatDetailsKey.vatPercent,
127
+ content: `VAT ${indirectTaxRate}%`,
128
+ rate: indirectTaxRate,
129
+ };
130
+ }
131
+ return null;
132
+ }
133
+ getSubtotalDetails(finance) {
134
+ if (!finance) {
135
+ return [];
136
+ }
137
+ // subtotal details fields
138
+ const subtotalDetailsSorting = [
139
+ {
140
+ key: 'discount',
141
+ responseKey: 'discount',
142
+ title: 'Discount',
143
+ },
144
+ {
145
+ key: 'fee',
146
+ responseKey: 'fee',
147
+ title: 'Payment system fee',
148
+ },
149
+ {
150
+ key: 'user-balance',
151
+ responseKey: 'user_balance',
152
+ title: 'Balance',
153
+ },
154
+ ];
155
+ return subtotalDetailsSorting.map((sorting) => {
156
+ const field = finance[sorting.responseKey];
157
+ if (field) {
158
+ return {
159
+ key: sorting.key,
160
+ title: sorting.title,
161
+ money: {
162
+ amount: sorting.key === 'discount' && field.amount
163
+ ? -field.amount
164
+ : field.amount,
165
+ currency: field.currency,
166
+ },
167
+ };
168
+ }
169
+ return sorting;
170
+ });
171
+ }
172
+ getTaxesForSubtotalDetails(finance) {
173
+ const ret = [];
174
+ // subtotal. VAT %p
175
+ if (finance?.vat_user &&
176
+ (finance?.vat_user?.amount ?? finance?.vat_user?.visible)) {
177
+ ret.push({
178
+ key: this.getVatNotIncludingKeyForDetails(finance),
179
+ title: this.getVatLabelForSubtotalDetails(finance),
180
+ money: extractMoneyCurrency(finance?.vat_user),
181
+ });
182
+ }
183
+ if (finance?.sales_tax_user?.amount) {
184
+ ret.push({
185
+ key: SalesTaxDetailsKey.salesTax,
186
+ title: 'Sales tax',
187
+ money: extractMoneyCurrency(finance?.sales_tax_user),
188
+ });
189
+ }
190
+ return ret;
191
+ }
192
+ getVatLabelForSubtotalDetails(finance) {
193
+ if (this.isIndia(finance)) {
194
+ return `GST ${finance?.vat_user?.percent ?? ''}%`;
195
+ }
196
+ if (this.isGhana(finance)) {
197
+ return `VAT, NHIL, GETFund Levy, and Covid-19 Levy`;
198
+ }
199
+ return `VAT ${finance?.vat_user?.percent ?? ''}%`;
200
+ }
201
+ getTaxesForTotalDetails(finance) {
202
+ const ret = [];
203
+ // for totalDetails. VAT
204
+ if ((finance?.vat?.amount || finance?.vat?.visible) &&
205
+ !finance?.vat_user?.amount) {
206
+ ret.push({
207
+ key: this.getVatIncludingKeyForDetails(finance),
208
+ title: this.getVatLabelForTotalDetails(finance),
209
+ money: extractMoneyCurrency(finance?.vat),
210
+ });
211
+ }
212
+ if (finance?.sales_tax?.amount && !finance?.sales_tax_user?.amount) {
213
+ ret.push({
214
+ key: SalesTaxDetailsKey.salesTaxIncluding,
215
+ title: 'Sales tax included',
216
+ money: extractMoneyCurrency(finance?.sales_tax),
217
+ });
218
+ }
219
+ return ret;
220
+ }
221
+ getVatNotIncludingKeyForDetails(finance) {
222
+ if (this.isIndia(finance)) {
223
+ return VatDetailsKey.vatIndiaPercent;
224
+ }
225
+ if (this.isGhana(finance)) {
226
+ return VatDetailsKey.vatGhana;
227
+ }
228
+ return VatDetailsKey.vatPercent;
229
+ }
230
+ getVatIncludingKeyForDetails(finance) {
231
+ if (this.isIndia(finance)) {
232
+ return VatDetailsKey.vatIndiaPercentIncluding;
233
+ }
234
+ if (this.isGhana(finance)) {
235
+ return VatDetailsKey.vatGhanaIncluding;
236
+ }
237
+ return VatDetailsKey.vatPercentIncluding;
238
+ }
239
+ getVatLabelForTotalDetails(finance) {
240
+ if (this.isIndia(finance)) {
241
+ return `Including ${finance?.vat.percent ?? ''}% GST`;
242
+ }
243
+ if (this.isGhana(finance)) {
244
+ return 'Including VAT, NHIL, GETFund Levy, and Covid-19 Levy';
245
+ }
246
+ return `Including ${finance?.vat.percent ?? ''}% VAT`;
247
+ }
248
+ isIndia(finance) {
249
+ return finance?.payment_country.iso === 'IN';
250
+ }
251
+ isGhana(finance) {
252
+ return finance?.payment_country.iso === 'GH';
253
+ }
254
+ isDefaultImage(url) {
255
+ return defaultImagePatterns.some((regex) => regex.test(url));
256
+ }
257
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SummaryFinanceDetailsAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
258
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SummaryFinanceDetailsAdapterService, providedIn: 'root' }); }
259
+ }
260
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: SummaryFinanceDetailsAdapterService, decorators: [{
261
+ type: Injectable,
262
+ args: [{ providedIn: 'root' }]
263
+ }] });
264
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VtbWFyeS1maW5hbmNlLWRldGFpbHMtYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvcGF5bWVudC9maW5hbmNlLWRldGFpbHMvc3VtbWFyeS9zdW1tYXJ5LWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0zQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUl0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBR2xFLE1BQU0sT0FBTyxtQ0FBbUM7SUFDdkMsaUJBQWlCLENBQUMsT0FBbUI7UUFDMUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDdEMsT0FBTztZQUNMLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUM7WUFDL0MsV0FBVyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO1lBQ3pDLGNBQWMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDO1NBQ2hELENBQUM7SUFDSixDQUFDO0lBRU8sNkJBQTZCLENBQUMsT0FBMEI7UUFDOUQsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sSUFBSSxPQUFPLEVBQUUs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T0FBTyxhQUFhLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTyxJQUFJLEVBQUUsT0FBTyxDQUFDO1FBQ3hELENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUMxQixPQUFPLHNEQUFzRCxDQUFDO1FBQ2hFLENBQUM7UUFFRCxPQUFPLGFBQWEsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPLElBQUksRUFBRSxPQUFPLENBQUM7SUFDeEQsQ0FBQztJQUVPLE9BQU8sQ0FBQyxPQUEwQjtRQUN4QyxPQUFPLE9BQU8sRUFBRSxlQUFlLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQztJQUMvQyxDQUFDO0lBRU8sT0FBTyxDQUFDLE9BQTBCO1FBQ3hDLE9BQU8sT0FBTyxFQUFFLGVBQWUsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDO0lBQy9DLENBQUM7SUFFTyxjQUFjLENBQUMsR0FBVztRQUNoQyxPQUFPLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7OEdBOVRVLG1DQUFtQztrSEFBbkMsbUNBQW1DLGNBRHRCLE1BQU07OzJGQUNuQixtQ0FBbUM7a0JBRC9DLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgWHBzU3VtbWFyeSB9IGZyb20gJy4uLy4uL3hwcy1zdW1tYXJ5LmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNGaW5hbmNlIH0gZnJvbSAnLi4vLi4veHBzLWZpbmFuY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc1B1cmNoYXNlIH0gZnJvbSAnLi4vLi4veHBzLXB1cmNoYXNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDYXJ0SXRlbSB9IGZyb20gJy4uL2NhcnQtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2FydFN1bW1hcnkgfSBmcm9tICcuLi9jYXJ0LXN1bW1hcnkuaW50ZXJmYWNlJztcbmltcG9ydCB7IGNyZWF0ZVByaWNlT3JVbmRlZmluZWQsIGV4dHJhY3RNb25leUN1cnJlbmN5IH0gZnJvbSAnLi4vcHJpY2UuaGVscGVycyc7XG5pbXBvcnQgeyBkZWZhdWx0SW1hZ2VQYXR0ZXJucyB9IGZyb20gJy4vZGVmYXVsdC1pbWFnZS1wYXR0ZXJucy5jb25zdCc7XG5pbXBvcnQgeyBQcmljZSB9IGZyb20gJy4uL3ByaWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDYXJ0TGluZSB9IGZyb20gJy4uL2NhcnQtbGluZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmluYW5jZURldGFpbHMgfSBmcm9tICcuLi9maW5hbmNlLWRldGFpbHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFZhdERldGFpbHNLZXkgfSBmcm9tICcuLi92YXQtZGV0YWlscy1rZXkuZW51bSc7XG5pbXBvcnQgeyBTYWxlc1RheERldGFpbHNLZXkgfSBmcm9tICcuL3NhbGVzLXRheC1kZXRhaWxzLWtleS5lbnVtJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBTdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZSB7XG4gIHB1YmxpYyBnZXRGaW5hbmNlRGV0YWlscyhzdW1tYXJ5OiBYcHNTdW1tYXJ5KTogRmluYW5jZURldGFpbHMge1xuICAgIGNvbnN0IHsgcHVyY2hhc2UsIGZpbmFuY2UgfSA9IHN1bW1hcnk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHB1cmNoYXNlOiBwdXJjaGFzZSxcbiAgICAgIGZpbmFuY2U6IGZpbmFuY2UsXG4gICAgICBjYXJ0SXRlbXM6IHRoaXMuZ2V0Q2FydEl0ZW1zKHB1cmNoYXNlLCBmaW5hbmNlKSxcbiAgICAgIGNhcnRTdW1tYXJ5OiB0aGlzLmdldENhcnRTdW1tYXJ5KGZpbmFuY2UpLFxuICAgICAgcGF5bWVudENvdW50cnk6IHRoaXMuZ2V0UGF5bWVudENvdW50cnkoZmluYW5jZSksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvdWxkU2hvd1plcm9JbmRpcmVjdFRheFJhdGUoZmluYW5jZTogWHBzRmluYW5jZSB8IG51bGwpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEoZmluYW5jZT8udmF0Py52aXNpYmxlID8/IGZpbmFuY2U/LnZhdF91c2VyPy52aXNpYmxlKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNTYWxlc1RheGVzKGZpbmFuY2U6IFhwc0ZpbmFuY2UgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKGZpbmFuY2U/LnNhbGVzX3RheD8uYW1vdW50ID8/IGZpbmFuY2U/LnNhbGVzX3RheF91c2VyPy5hbW91bnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDYXJ0SXRlbXMoXG4gICAgcHVyY2hhc2U6IFhwc1B1cmNoYXNlLFxuICAgIGZpbmFuY2U6IFhwc0ZpbmFuY2UgfCBudWxsXG4gICk6IENhcnRJdGVtW10ge1xuICAgIGNvbnN0IGNoZWNrb3V0czogQ2FydEl0ZW1bXSB8IHVuZGVmaW5lZCA9IHB1cmNoYXNlLmNoZWNrb3V0X2l0ZW1zPy5tYXAoXG4gICAgICAoaXRlbSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGltZ1NyYzogaXRlbS5pbWFnZV91cmwsXG4gICAgICAgICAgaGFzRGVmYXVsdEltZzogdGhpcy5pc0RlZmF1bHRJbWFnZShpdGVtLmltYWdlX3VybCksXG4gICAgICAgICAgdGl0bGU6IGl0ZW0ubmFtZSxcbiAgICAgICAgICBwcmljZTogZXh0cmFjdE1vbmV5Q3VycmVuY3koaXRlbSwgZmFsc2UpLFxuICAgICAgICAgIHByaWNlQmVmb3JlRGlzY291bnQ6IGNyZWF0ZVByaWNlT3JVbmRlZmluZWQoXG4gICAgICAgICAgICBpdGVtLmFtb3VudF9iZWZvcmVfZGlzY291bnQsXG4gICAgICAgICAgICBpdGVtLmN1cnJlbmN5XG4gICAgICAgICAgKSxcbiAgICAgICAgICBxdWFudGl0eTogaXRlbS5xdWFudGl0eSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogaXRlbS5kZXNjcmlwdGlvbixcbiAgICAgICAgICB0YXg6IHRoaXMuZ2V0VGF4Rm9ySXRlbShmaW5hbmNlLCBpdGVtLmluZGlyZWN0X3RheF9yYXRlKSxcbiAgICAgICAgICBpc0JvbnVzOiBpdGVtLmlzX2JvbnVzLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICk7XG5cbiAgICBjb25zdCB2aXJ0dWFsQ3VycmVuY2llczogQ2FydEl0ZW1bXSB8IHVuZGVmaW5lZCA9XG4gICAgICBwdXJjaGFzZS52aXJ0dWFsX2N1cnJlbmN5Py5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpbWdTcmM6IGl0ZW0uaW1hZ2VfdXJsLFxuICAgICAgICAgIGhhc0RlZmF1bHRJbWc6IHRoaXMuaXNEZWZhdWx0SW1hZ2UoaXRlbS5pbWFnZV91cmwpLFxuICAgICAgICAgIHRpdGxlOiBgJHtpdGVtLnF1YW50aXR5fSAke2l0ZW0ubmFtZX1gLFxuICAgICAgICAgIHByaWNlOiBleHRyYWN0TW9uZXlDdXJyZW5jeShpdGVtKSxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogaXRlbS5kZXNjcmlwdGlvbixcbiAgICAgICAgICBpc0JvbnVzOiBpdGVtLmlzX2JvbnVzLFxuICAgICAgICB9O1xuICAgICAgfSk7XG5cbiAgICBjb25zdCB2aXJ0dWFsSXRlbXM6IENhcnRJdGVtW10gfCB1bmRlZmluZWQgPSBwdXJjaGFzZS52aXJ0dWFsX2l0ZW1zPy5tYXAoXG4gICAgICAoaXRlbSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGltZ1NyYzogaXRlbS5pbWFnZV91cmwsXG4gICAgICAgICAgaGFzRGVmYXVsdEltZzogdGhpcy5pc0RlZmF1bHRJbWFnZShpdGVtLmltYWdlX3VybCksXG4gICAgICAgICAgdGl0bGU6IGl0ZW0ubmFtZSxcbiAgICAgICAgICBwcmljZTogZXh0cmFjdE1vbmV5Q3VycmVuY3koaXRlbSksXG4gICAgICAgICAgZGVzY3JpcHRpb246IGl0ZW0uZGVzY3JpcHRpb24sXG4gICAgICAgICAgcXVhbnRpdHk6IGl0ZW0ucXVhbnRpdHksXG4gICAgICAgICAgaXNCb251czogaXRlbS5pc19ib251cyxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgbGV0IGNoZWNrb3V0QXJyYXk6IENhcnRJdGVtW10gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgaWYgKHB1cmNoYXNlLmNoZWNrb3V0KSB7XG4gICAgICBjaGVja291dEFycmF5ID0gW1xuICAgICAgICB7XG4gICAgICAgICAga2V5OiAnY2hlY2tvdXQnLFxuICAgICAgICAgIHRpdGxlOiBwdXJjaGFzZS5jaGVja291dC5kZXNjcmlwdGlvbixcbiAgICAgICAgICBwcmljZTogZXh0cmFjdE1vbmV5Q3VycmVuY3kocHVyY2hhc2UuY2hlY2tvdXQpLFxuICAgICAgICAgIGlzQm9udXM6IHB1cmNoYXNlLmNoZWNrb3V0LmlzX2JvbnVzID8/IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgXTtcbiAgICB9XG5cbiAgICByZXR1cm4gW1xuICAgICAgLi4uKGNoZWNrb3V0cyA/PyBbXSksXG4gICAgICAuLi4odmlydHVhbEN1cnJlbmNpZXMgPz8gW10pLFxuICAgICAgLi4uKHZpcnR1YWxJdGVtcyA/PyBbXSksXG4gICAgICAuLi4oY2hlY2tvdXRBcnJheSA/PyBbXSksXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2FydFN1bW1hcnkoZmluYW5jZTogWHBzRmluYW5jZSB8IG51bGwpOiBDYXJ0U3VtbWFyeSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN1YnRvdGFsOiB7XG4gICAgICAgIHRpdGxlOiAnU3VidG90YWwnLFxuICAgICAgICBtb25leTogY3JlYXRlUHJpY2VPclVuZGVmaW5lZChcbiAgICAgICAgICBmaW5hbmNlPy5zdWJfdG90YWw/LmFtb3VudCxcbiAgICAgICAgICBmaW5hbmNlPy5zdWJfdG90YWw/LmN1cnJlbmN5XG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAgc3VidG90YWxQYXltZW50OiB7XG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgbW9uZXk6IGNyZWF0ZVByaWNlT3JVbmRlZmluZWQoXG4gICAgICAgICAgZmluYW5jZT8uc3ViX3RvdGFsPy5wYXltZW50X2Ftb3VudCxcbiAgICAgICAgICBmaW5hbmNlPy5zdWJfdG90YWw/LnBheW1lbnRfY3VycmVuY3lcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICB0b3RhbDoge1xuICAgICAgICB0aXRsZTogJ1RvdGFsJyxcbiAgICAgICAgbW9uZXk6IGV4dHJhY3RNb25leUN1cnJlbmN5KGZpbmFuY2U/LnRvdGFsKSxcbiAgICAgIH0sXG4gICAgICB0b3RhbERldGFpbHM6IHRoaXMuZ2V0VGF4ZXNGb3JUb3RhbERldGFpbHMoZmluYW5jZSksXG4gICAgICBzdWJ0b3RhbERldGFpbHM6IFtcbiAgICAgICAgLi4udGhpcy5nZXRTdWJ0b3RhbERldGFpbHMoZmluYW5jZSksXG4gICAgICAgIC4uLnRoaXMuZ2V0VGF4ZXNGb3JTdWJ0b3RhbERldGFpbHMoZmluYW5jZSksXG4gICAgICBdLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldFBheW1lbnRDb3VudHJ5KGZpbmFuY2U6IFhwc0ZpbmFuY2UgfCBudWxsKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZmluYW5jZT8ucGF5bWVudF9jb3VudHJ5Py5pc28gPz8gJyc7XG4gIH1cblxuICBwcml2YXRlIGdldFRheEZvckl0ZW0oXG4gICAgZmluYW5jZTogWHBzRmluYW5jZSB8IG51bGwsXG4gICAgaW5kaXJlY3RUYXhSYXRlPzogbnVtYmVyXG4gICk6IENhcnRMaW5lIHwgbnVsbCB7XG4gICAgaWYgKFxuICAgICAgaW5kaXJlY3RUYXhSYXRlIHx8XG4gICAgICAodGhpcy5zaG91bGRTaG93WmVyb0luZGlyZWN0VGF4UmF0ZShmaW5hbmNlKSAmJiBpbmRpcmVjdFRheFJhdGUgPT09IDApXG4gICAgKSB7XG4gICAgICBpZiAodGhpcy5pc1NhbGVzVGF4ZXMoZmluYW5jZSkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBrZXk6IFNhbGVzVGF4RGV0YWlsc0tleS5zYWxlc1RheFBlcmNlbnQsXG4gICAgICAgICAgY29udGVudDogYFNhbGVzIHRheCAke2luZGlyZWN0VGF4UmF0ZX0lYCxcbiAgICAgICAgICByYXRlOiBpbmRpcmVjdFRheFJhdGUsXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmlzSW5kaWEoZmluYW5jZSkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBrZXk6IFZhdERldGFpbHNLZXkudmF0SW5kaWFQZXJjZW50LFxuICAgICAgICAgIGNvbnRlbnQ6IGBHU1QgJHtpbmRpcmVjdFRheFJhdGV9JWAsXG4gICAgICAgICAgcmF0ZTogaW5kaXJlY3RUYXhSYXRlLFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5pc0doYW5hKGZpbmFuY2UpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAga2V5OiBWYXREZXRhaWxzS2V5LnZhdEdoYW5hLFxuICAgICAgICAgIGNvbnRlbnQ6ICdWQVQsIE5ISUwsIEdFVEZ1bmQgTGV2eSwgYW5kIENvdmlkLTE5IExldnknLFxuICAgICAgICAgIHJhdGU6IGluZGlyZWN0VGF4UmF0ZSxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAga2V5OiBWYXREZXRhaWxzS2V5LnZhdFBlcmNlbnQsXG4gICAgICAgIGNvbnRlbnQ6IGBWQVQgJHtpbmRpcmVjdFRheFJhdGV9JWAsXG4gICAgICAgIHJhdGU6IGluZGlyZWN0VGF4UmF0ZSxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdWJ0b3RhbERldGFpbHMoZmluYW5jZTogWHBzRmluYW5jZSB8IG51bGwpOiBDYXJ0TGluZVtdIHtcbiAgICBpZiAoIWZpbmFuY2UpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICAvLyBzdWJ0b3RhbCBkZXRhaWxzIGZpZWxkc1xuICAgIGNvbnN0IHN1YnRvdGFsRGV0YWlsc1NvcnRpbmcgPSBbXG4gICAgICB7XG4gICAgICAgIGtleTogJ2Rpc2NvdW50JyxcbiAgICAgICAgcmVzcG9uc2VLZXk6ICdkaXNjb3VudCcsXG4gICAgICAgIHRpdGxlOiAnRGlzY291bnQnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnZmVlJyxcbiAgICAgICAgcmVzcG9uc2VLZXk6ICdmZWUnLFxuICAgICAgICB0aXRsZTogJ1BheW1lbnQgc3lzdGVtIGZlZScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6ICd1c2VyLWJhbGFuY2UnLFxuICAgICAgICByZXNwb25zZUtleTogJ3VzZXJfYmFsYW5jZScsXG4gICAgICAgIHRpdGxlOiAnQmFsYW5jZScsXG4gICAgICB9LFxuICAgIF07XG5cbiAgICByZXR1cm4gc3VidG90YWxEZXRhaWxzU29ydGluZy5tYXAoKHNvcnRpbmcpID0+IHtcbiAgICAgIGNvbnN0IGZpZWxkID0gKGZpbmFuY2UgYXMgdW5rbm93biBhcyB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSlbXG4gICAgICAgIHNvcnRpbmcucmVzcG9uc2VLZXlcbiAgICAgIF0gYXMgUHJpY2U7XG5cbiAgICAgIGlmIChmaWVsZCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGtleTogc29ydGluZy5rZXksXG4gICAgICAgICAgdGl0bGU6IHNvcnRpbmcudGl0bGUsXG4gICAgICAgICAgbW9uZXk6IHtcbiAgICAgICAgICAgIGFtb3VudDpcbiAgICAgICAgICAgICAgc29ydGluZy5rZXkgPT09ICdkaXNjb3VudCcgJiYgZmllbGQuYW1vdW50XG4gICAgICAgICAgICAgICAgPyAtZmllbGQuYW1vdW50XG4gICAgICAgICAgICAgICAgOiBmaWVsZC5hbW91bnQsXG4gICAgICAgICAgICBjdXJyZW5jeTogZmllbGQuY3VycmVuY3ksXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzb3J0aW5nO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUYXhlc0ZvclN1YnRvdGFsRGV0YWlscyhmaW5hbmNlOiBYcHNGaW5hbmNlIHwgbnVsbCk6IENhcnRMaW5lW10ge1xuICAgIGNvbnN0IHJldCA9IFtdO1xuXG4gICAgLy8gc3VidG90YWwuIFZBVCAlcFxuICAgIGlmIChcbiAgICAgIGZpbmFuY2U/LnZhdF91c2VyICYmXG4gICAgICAoZmluYW5jZT8udmF0X3VzZXI/LmFtb3VudCA/PyBmaW5hbmNlPy52YXRfdXNlcj8udmlzaWJsZSlcbiAgICApIHtcbiAgICAgIHJldC5wdXNoKHtcbiAgICAgICAga2V5OiB0aGlzLmdldFZhdE5vdEluY2x1ZGluZ0tleUZvckRldGFpbHMoZmluYW5jZSksXG4gICAgICAgIHRpdGxlOiB0aGlzLmdldFZhdExhYmVsRm9yU3VidG90YWxEZXRhaWxzKGZpbmFuY2UpLFxuICAgICAgICBtb25leTogZXh0cmFjdE1vbmV5Q3VycmVuY3koZmluYW5jZT8udmF0X3VzZXIpLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGZpbmFuY2U/LnNhbGVzX3RheF91c2VyPy5hbW91bnQpIHtcbiAgICAgIHJldC5wdXNoKHtcbiAgICAgICAga2V5OiBTYWxlc1RheERldGFpbHNLZXkuc2FsZXNUYXgsXG4gICAgICAgIHRpdGxlOiAnU2FsZXMgdGF4JyxcbiAgICAgICAgbW9uZXk6IGV4dHJhY3RNb25leUN1cnJlbmN5KGZpbmFuY2U/LnNhbGVzX3RheF91c2VyKSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICBwcml2YXRlIGdldFZhdExhYmVsRm9yU3VidG90YWxEZXRhaWxzKGZpbmFuY2U6IFhwc0ZpbmFuY2UgfCBudWxsKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pc0luZGlhKGZpbmFuY2UpKSB7XG4gICAgICByZXR1cm4gYEdTVCAke2ZpbmFuY2U/LnZhdF91c2VyPy5wZXJjZW50ID8/ICcnfSVgO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzR2hhbmEoZmluYW5jZSkpIHtcbiAgICAgIHJldHVybiBgVkFULCBOSElMLCBHRVRGdW5kIExldnksIGFuZCBDb3ZpZC0xOSBMZXZ5YDtcbiAgICB9XG5cbiAgICByZXR1cm4gYFZBVCAke2ZpbmFuY2U/LnZhdF91c2VyPy5wZXJjZW50ID8/ICcnfSVgO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUYXhlc0ZvclRvdGFsRGV0YWlscyhmaW5hbmNlOiBYcHNGaW5hbmNlIHwgbnVsbCk6IENhcnRMaW5lW10ge1xuICAgIGNvbnN0IHJldCA9IFtdO1xuXG4gICAgLy8gZm9yIHRvdGFsRGV0YWlscy4gVkFUXG4gICAgaWYgKFxuICAgICAgKGZpbmFuY2U/LnZhdD8uYW1vdW50IHx8IGZpbmFuY2U/LnZhdD8udmlzaWJsZSkgJiZcbiAgICAgICFmaW5hbmNlPy52YXRfdXNlcj8uYW1vdW50XG4gICAgKSB7XG4gICAgICByZXQucHVzaCh7XG4gICAgICAgIGtleTogdGhpcy5nZXRWYXRJbmNsdWRpbmdLZXlGb3JEZXRhaWxzKGZpbmFuY2UpLFxuICAgICAgICB0aXRsZTogdGhpcy5nZXRWYXRMYWJlbEZvclRvdGFsRGV0YWlscyhmaW5hbmNlKSxcbiAgICAgICAgbW9uZXk6IGV4dHJhY3RNb25leUN1cnJlbmN5KGZpbmFuY2U/LnZhdCksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoZmluYW5jZT8uc2FsZXNfdGF4Py5hbW91bnQgJiYgIWZpbmFuY2U/LnNhbGVzX3RheF91c2VyPy5hbW91bnQpIHtcbiAgICAgIHJldC5wdXNoKHtcbiAgICAgICAga2V5OiBTYWxlc1RheERldGFpbHNLZXkuc2FsZXNUYXhJbmNsdWRpbmcsXG4gICAgICAgIHRpdGxlOiAnU2FsZXMgdGF4IGluY2x1ZGVkJyxcbiAgICAgICAgbW9uZXk6IGV4dHJhY3RNb25leUN1cnJlbmN5KGZpbmFuY2U/LnNhbGVzX3RheCksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYXROb3RJbmNsdWRpbmdLZXlGb3JEZXRhaWxzKGZpbmFuY2U6IFhwc0ZpbmFuY2UgfCBudWxsKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pc0luZGlhKGZpbmFuY2UpKSB7XG4gICAgICByZXR1cm4gVmF0RGV0YWlsc0tleS52YXRJbmRpYVBlcmNlbnQ7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNHaGFuYShmaW5hbmNlKSkge1xuICAgICAgcmV0dXJuIFZhdERldGFpbHNLZXkudmF0R2hhbmE7XG4gICAgfVxuXG4gICAgcmV0dXJuIFZhdERldGFpbHNLZXkudmF0UGVyY2VudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VmF0SW5jbHVkaW5nS2V5Rm9yRGV0YWlscyhmaW5hbmNlOiBYcHNGaW5hbmNlIHwgbnVsbCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNJbmRpYShmaW5hbmNlKSkge1xuICAgICAgcmV0dXJuIFZhdERldGFpbHNLZXkudmF0SW5kaWFQZXJjZW50SW5jbHVkaW5nO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzR2hhbmEoZmluYW5jZSkpIHtcbiAgICAgIHJldHVybiBWYXREZXRhaWxzS2V5LnZhdEdoYW5hSW5jbHVkaW5nO1xuICAgIH1cblxuICAgIHJldHVybiBWYXREZXRhaWxzS2V5LnZhdFBlcmNlbnRJbmNsdWRpbmc7XG4gIH1cblxuICBwcml2YXRlIGdldFZhdExhYmVsRm9yVG90YWxEZXRhaWxzKGZpbmFuY2U6IFhwc0ZpbmFuY2UgfCBudWxsKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pc0luZGlhKGZpbmFuY2UpKSB7XG4gICAgICByZXR1cm4gYEluY2x1ZGluZyAke2ZpbmFuY2U/LnZhdC5wZXJjZW50ID8/ICcnfSUgR1NUYDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0doYW5hKGZpbmFuY2UpKSB7XG4gICAgICByZXR1cm4gJ0luY2x1ZGluZyBWQVQsIE5ISUwsIEdFVEZ1bmQgTGV2eSwgYW5kIENvdmlkLTE5IExldnknO1xuICAgIH1cblxuICAgIHJldHVybiBgSW5jbHVkaW5nICR7ZmluYW5jZT8udmF0LnBlcmNlbnQgPz8gJyd9JSBWQVRgO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0luZGlhKGZpbmFuY2U6IFhwc0ZpbmFuY2UgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZpbmFuY2U/LnBheW1lbnRfY291bnRyeS5pc28gPT09ICdJTic7XG4gIH1cblxuICBwcml2YXRlIGlzR2hhbmEoZmluYW5jZTogWHBzRmluYW5jZSB8IG51bGwpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmluYW5jZT8ucGF5bWVudF9jb3VudHJ5LmlzbyA9PT0gJ0dIJztcbiAgfVxuXG4gIHByaXZhdGUgaXNEZWZhdWx0SW1hZ2UodXJsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZGVmYXVsdEltYWdlUGF0dGVybnMuc29tZSgocmVnZXgpID0+IHJlZ2V4LnRlc3QodXJsKSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,46 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { convertersMapToken } from '../converters/converters-map';
3
+ import * as i0 from "@angular/core";
4
+ export class ControlConfigService {
5
+ constructor(convertersMap, injector) {
6
+ this.convertersMap = convertersMap;
7
+ this.injector = injector;
8
+ }
9
+ getFormControl(field) {
10
+ const converter = this.getConverter(field);
11
+ if (!converter) {
12
+ return null;
13
+ }
14
+ return converter.convertToFormControl(field);
15
+ }
16
+ getConfig(field) {
17
+ const converter = this.getConverter(field);
18
+ if (!converter) {
19
+ return null;
20
+ }
21
+ return converter.convertToConfig(field);
22
+ }
23
+ getConverter(field) {
24
+ if (!field) {
25
+ return null;
26
+ }
27
+ const sanitizedName = field.name.replace(/^fix_/i, '');
28
+ let converter = this.convertersMap[sanitizedName];
29
+ if (!converter) {
30
+ converter = this.convertersMap[field.type];
31
+ }
32
+ if (!converter) {
33
+ return null;
34
+ }
35
+ return this.injector.get(converter);
36
+ }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ControlConfigService, deps: [{ token: convertersMapToken }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
38
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ControlConfigService }); }
39
+ }
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ControlConfigService, decorators: [{
41
+ type: Injectable
42
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
43
+ type: Inject,
44
+ args: [convertersMapToken]
45
+ }] }, { type: i0.Injector }] });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZm9ybS9jb250cm9scy9jb250cm9sLWNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBSTdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQUtsRSxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBRW1CLGFBQTRCLEVBQzVCLFFBQWtCO1FBRGxCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFDbEMsQ0FBQztJQUVHLGNBQWMsQ0FBQyxLQUFZO1FBQ2hDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFM0MsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2YsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLFNBQVMsQ0FBQyxLQUFZO1FBQzNCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFM0MsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2YsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxZQUFZLENBQUMsS0FBbUI7UUFDckMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFbEQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2YsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFZLFNBQVMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7OEdBNUNVLG9CQUFvQixrQkFFckIsa0JBQWtCO2tIQUZqQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVU7OzBCQUdOLE1BQU07MkJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi8uLi9maWVsZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29udmVydGVyIH0gZnJvbSAnLi4vY29udmVydGVycy9jb252ZXJ0ZXIuYWJzdHJhY3QnO1xuaW1wb3J0IHsgY29udmVydGVyc01hcFRva2VuIH0gZnJvbSAnLi4vY29udmVydGVycy9jb252ZXJ0ZXJzLW1hcCc7XG5pbXBvcnQgeyBDb252ZXJ0ZXJzTWFwIH0gZnJvbSAnLi4vY29udmVydGVycy9jb252ZXJ0ZXJzLW1hcC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29udHJvbENvbmZpZyB9IGZyb20gJy4vY29udHJvbC1jb25maWcnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29udHJvbENvbmZpZ1NlcnZpY2Uge1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChjb252ZXJ0ZXJzTWFwVG9rZW4pXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb252ZXJ0ZXJzTWFwOiBDb252ZXJ0ZXJzTWFwLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge31cblxuICBwdWJsaWMgZ2V0Rm9ybUNvbnRyb2woZmllbGQ6IEZpZWxkKTogVW50eXBlZEZvcm1Db250cm9sIHwgbnVsbCB7XG4gICAgY29uc3QgY29udmVydGVyID0gdGhpcy5nZXRDb252ZXJ0ZXIoZmllbGQpO1xuXG4gICAgaWYgKCFjb252ZXJ0ZXIpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBjb252ZXJ0ZXIuY29udmVydFRvRm9ybUNvbnRyb2woZmllbGQpO1xuICB9XG5cbiAgcHVibGljIGdldENvbmZpZyhmaWVsZDogRmllbGQpOiBDb250cm9sQ29uZmlnIHwgbnVsbCB7XG4gICAgY29uc3QgY29udmVydGVyID0gdGhpcy5nZXRDb252ZXJ0ZXIoZmllbGQpO1xuXG4gICAgaWYgKCFjb252ZXJ0ZXIpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBjb252ZXJ0ZXIuY29udmVydFRvQ29uZmlnKGZpZWxkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb252ZXJ0ZXIoZmllbGQ6IEZpZWxkIHwgbnVsbCk6IENvbnZlcnRlciB8IG51bGwge1xuICAgIGlmICghZmllbGQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHNhbml0aXplZE5hbWUgPSBmaWVsZC5uYW1lLnJlcGxhY2UoL15maXhfL2ksICcnKTtcbiAgICBsZXQgY29udmVydGVyID0gdGhpcy5jb252ZXJ0ZXJzTWFwW3Nhbml0aXplZE5hbWVdO1xuXG4gICAgaWYgKCFjb252ZXJ0ZXIpIHtcbiAgICAgIGNvbnZlcnRlciA9IHRoaXMuY29udmVydGVyc01hcFtmaWVsZC50eXBlXTtcbiAgICB9XG5cbiAgICBpZiAoIWNvbnZlcnRlcikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaW5qZWN0b3IuZ2V0PENvbnZlcnRlcj4oY29udmVydGVyKTtcbiAgfVxufVxuIl19