@snabcentr/client-ui 1.19.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (300) hide show
  1. package/accordion/sc-accordion-content.directive.d.ts +2 -2
  2. package/accordion/sc-accordion.component.d.ts +4 -4
  3. package/accordion/sc-accordion.module.d.ts +2 -2
  4. package/auth/index.d.ts +2 -1
  5. package/auth/interfaces/{ApiErrorResponse.d.ts → api-error-response.d.ts} +1 -3
  6. package/auth/interfaces/index.d.ts +3 -0
  7. package/auth/interfaces/sc-bank-account-form-group.d.ts +11 -0
  8. package/auth/interfaces/sc-contact-form-group.d.ts +10 -0
  9. package/auth/sc-auth.module.d.ts +14 -8
  10. package/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.d.ts +1 -1
  11. package/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.d.ts +1 -1
  12. package/auth/sc-sign-in-form/sc-sign-in-form.component.d.ts +1 -1
  13. package/auth/sign-up-form/sc-sign-up-form.component.d.ts +153 -0
  14. package/banner/sc-banner.component.d.ts +9 -5
  15. package/banner/sc-banner.module.d.ts +5 -4
  16. package/brands-list/index.d.ts +2 -0
  17. package/brands-list/sc-brands-list.component.d.ts +15 -0
  18. package/brands-list/sc-brands-list.module.d.ts +12 -0
  19. package/cart/cart-item-mobile/sc-cart-item-mobile.component.d.ts +16 -16
  20. package/cart/sc-cart.module.d.ts +3 -3
  21. package/catalog/categories-list/sc-categories-list.component.d.ts +9 -3
  22. package/catalog/category-card/sc-category-card.component.d.ts +1 -1
  23. package/catalog/input-quantity/sc-input-quantity.component.d.ts +6 -14
  24. package/catalog/price-card/sc-price-card.component.d.ts +11 -105
  25. package/catalog/price-history/sc-price-history.component.d.ts +11 -5
  26. package/catalog/price-list-pagination/sc-price-list-pagination.component.d.ts +10 -5
  27. package/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.d.ts +1 -1
  28. package/catalog/sc-catalog.module.d.ts +5 -4
  29. package/catalog/sc-favorite-btn/sc-favorite-btn.component.d.ts +1 -1
  30. package/contacts/add-contact-dialog/sc-add-contact-dialog.component.d.ts +11 -6
  31. package/contacts/contacts-accordion/sc-contacts-accordion.component.d.ts +1 -1
  32. package/contacts/new-contact-form/sc-new-contact-form.component.d.ts +1 -1
  33. package/contacts/sc-contacts.module.d.ts +6 -1
  34. package/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.d.ts +3 -3
  35. package/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.d.ts +23 -15
  36. package/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.d.ts +1 -1
  37. package/contragents/contragents-accordion/sc-contragents-accordion.component.d.ts +1 -1
  38. package/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.d.ts +1 -1
  39. package/contragents/new-contragent-form/sc-new-contragent-form.component.d.ts +31 -16
  40. package/contragents/sc-contragents.module.d.ts +6 -4
  41. package/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.d.ts +83 -8
  42. package/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.d.ts +1 -1
  43. package/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.d.ts +1 -1
  44. package/delivery-address/sc-delivery-address.module.d.ts +4 -2
  45. package/directives/abstract-price-card/abstract-sc-price-card.directive.d.ts +107 -0
  46. package/directives/index.d.ts +6 -2
  47. package/directives/next-input-focus/sc-next-input-focus.directive.d.ts +18 -0
  48. package/directives/next-input-focus/sc-next-input-focus.module.d.ts +10 -0
  49. package/directives/tel-link/sc-tel-link.directive.d.ts +27 -0
  50. package/directives/tel-link/sc-tel-link.module.d.ts +11 -0
  51. package/directives/terminal-link/sc-terminal-link.directive.d.ts +34 -0
  52. package/esm2022/accordion/sc-accordion-content.directive.mjs +17 -0
  53. package/esm2022/accordion/sc-accordion.component.mjs +88 -0
  54. package/esm2022/accordion/sc-accordion.module.mjs +26 -0
  55. package/esm2022/auth/index.mjs +8 -0
  56. package/esm2022/auth/interfaces/api-error-response.mjs +2 -0
  57. package/esm2022/auth/interfaces/index.mjs +4 -0
  58. package/esm2022/auth/interfaces/sc-bank-account-form-group.mjs +2 -0
  59. package/esm2022/auth/interfaces/sc-contact-form-group.mjs +2 -0
  60. package/esm2022/auth/sc-auth.module.mjs +98 -0
  61. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.mjs +72 -0
  62. package/esm2022/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs +70 -0
  63. package/{esm2020 → esm2022}/auth/sc-sign-in-form/sc-sign-in-form.component.mjs +6 -6
  64. package/esm2022/auth/sign-up-form/sc-sign-up-form.component.mjs +321 -0
  65. package/esm2022/banner/sc-banner.component.mjs +234 -0
  66. package/esm2022/banner/sc-banner.module.mjs +29 -0
  67. package/esm2022/brands-list/index.mjs +3 -0
  68. package/esm2022/brands-list/sc-brands-list.component.mjs +24 -0
  69. package/esm2022/brands-list/sc-brands-list.module.mjs +22 -0
  70. package/esm2022/cart/cart-item-mobile/sc-cart-item-mobile.component.mjs +121 -0
  71. package/esm2022/cart/sc-cart.module.mjs +54 -0
  72. package/esm2022/catalog/categories-list/sc-categories-list.component.mjs +92 -0
  73. package/esm2022/catalog/category-card/sc-category-card.component.mjs +120 -0
  74. package/esm2022/catalog/input-quantity/sc-input-quantity.component.mjs +141 -0
  75. package/esm2022/catalog/price-card/sc-price-card.component.mjs +64 -0
  76. package/esm2022/catalog/price-history/sc-price-history.component.mjs +126 -0
  77. package/esm2022/catalog/price-list-pagination/sc-price-list-pagination.component.mjs +49 -0
  78. package/{esm2020 → esm2022}/catalog/price-warehouse-stock/sc-price-warehouse-stock.component.mjs +6 -6
  79. package/esm2022/catalog/sc-catalog.module.mjs +120 -0
  80. package/esm2022/catalog/sc-favorite-btn/sc-favorite-btn.component.mjs +42 -0
  81. package/esm2022/contacts/add-contact-dialog/sc-add-contact-dialog.component.mjs +89 -0
  82. package/esm2022/contacts/contacts-accordion/sc-contacts-accordion.component.mjs +38 -0
  83. package/esm2022/contacts/new-contact-form/sc-new-contact-form.component.mjs +30 -0
  84. package/esm2022/contacts/sc-contacts.module.mjs +88 -0
  85. package/esm2022/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.mjs +80 -0
  86. package/esm2022/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.mjs +262 -0
  87. package/esm2022/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.mjs +75 -0
  88. package/{esm2020 → esm2022}/contragents/contragents-accordion/sc-contragents-accordion.component.mjs +6 -6
  89. package/esm2022/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.mjs +64 -0
  90. package/esm2022/contragents/new-contragent-form/sc-new-contragent-form.component.mjs +220 -0
  91. package/esm2022/contragents/sc-contragents.module.mjs +110 -0
  92. package/esm2022/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.mjs +230 -0
  93. package/{esm2020 → esm2022}/delivery-address/delivery-address-accordion/delivery-address-accordion-item/sc-delivery-address-accordion-item.component.mjs +6 -6
  94. package/{esm2020 → esm2022}/delivery-address/delivery-address-accordion/sc-delivery-address-accordion.component.mjs +6 -6
  95. package/esm2022/delivery-address/sc-delivery-address.module.mjs +84 -0
  96. package/esm2022/directives/abstract-price-card/abstract-sc-price-card.directive.mjs +131 -0
  97. package/esm2022/directives/index.mjs +7 -0
  98. package/esm2022/directives/next-input-focus/sc-next-input-focus.directive.mjs +43 -0
  99. package/esm2022/directives/next-input-focus/sc-next-input-focus.module.mjs +19 -0
  100. package/esm2022/directives/tel-link/sc-tel-link.directive.mjs +58 -0
  101. package/esm2022/directives/tel-link/sc-tel-link.module.mjs +20 -0
  102. package/esm2022/directives/terminal-link/sc-terminal-link.directive.mjs +69 -0
  103. package/esm2022/files/directives/tree-top.directive.mjs +63 -0
  104. package/{esm2020 → esm2022}/files/directives/tree.directive.mjs +5 -5
  105. package/esm2022/files/file-tree-item/file-tree-item.component.mjs +18 -0
  106. package/esm2022/files/files-and-documents/files-and-documents.component.mjs +60 -0
  107. package/esm2022/files/files-and-documents.module.mjs +27 -0
  108. package/esm2022/files/services/tree-icon.service.mjs +49 -0
  109. package/{esm2020 → esm2022}/files/services/tree-loader.service.mjs +5 -5
  110. package/esm2022/form-fields/addresses-selection-field/sc-addresses-selection-field.component.mjs +128 -0
  111. package/esm2022/form-fields/form-fields.module.mjs +69 -0
  112. package/esm2022/form-fields/suggestion-field/sc-suggestion-field.component.mjs +134 -0
  113. package/{esm2020 → esm2022}/helpers/sc-px-converter.mjs +4 -4
  114. package/esm2022/helpers/sc-units-helper.mjs +45 -0
  115. package/{esm2020 → esm2022}/news/news-card/sc-news-card.component.mjs +4 -4
  116. package/{esm2020 → esm2022}/news/news-card-skeleton/sc-news-card-skeleton.component.mjs +4 -4
  117. package/{esm2020 → esm2022}/news/sc-news.module.mjs +5 -5
  118. package/esm2022/order/order-item-mobile/order-item-mobile.component.mjs +80 -0
  119. package/esm2022/order/sc-order.module.mjs +29 -0
  120. package/esm2022/order/sc-payment-status/sc-payment-status.component.mjs +35 -0
  121. package/esm2022/pipes/index.mjs +2 -0
  122. package/esm2022/pipes/sc-formatted-phone.mjs +34 -0
  123. package/esm2022/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +182 -0
  124. package/esm2022/profile/sc-profile.module.mjs +77 -0
  125. package/{esm2020 → esm2022}/providers/index.mjs +1 -2
  126. package/esm2022/providers/scUserProviders.mjs +27 -0
  127. package/esm2022/public-api.mjs +30 -0
  128. package/esm2022/qrcode/index.mjs +3 -0
  129. package/esm2022/qrcode/qrcode-dialog/sc-qrcode-dialog.component.mjs +58 -0
  130. package/esm2022/qrcode/sc-qrcode.module.mjs +25 -0
  131. package/esm2022/samples/ask-to-sample-form/sc-ask-to-sample-form.component.mjs +37 -0
  132. package/esm2022/samples/index.mjs +5 -0
  133. package/esm2022/samples/interfaces/sc-i-preview-sample.mjs +2 -0
  134. package/esm2022/samples/preview-sample/sc-preview-sample.component.mjs +83 -0
  135. package/esm2022/samples/sc-sample.module.mjs +59 -0
  136. package/{esm2020 → esm2022}/share-button/sc-share-button.component.mjs +5 -5
  137. package/esm2022/share-button/sc-share-button.module.mjs +22 -0
  138. package/esm2022/user/index.mjs +6 -0
  139. package/esm2022/user/reset-user-password/sc-reset-user-password.component.mjs +71 -0
  140. package/esm2022/user/sc-user.module.mjs +89 -0
  141. package/esm2022/user/update-user-info-dialog/sc-update-user-info-dialog.component.mjs +117 -0
  142. package/esm2022/user/user-managers/sc-user-managers.component.mjs +41 -0
  143. package/esm2022/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.mjs +102 -0
  144. package/{esm2020 → esm2022}/validators/index.mjs +2 -2
  145. package/esm2022/validators/sc-password-confirm-matching-validator.mjs +17 -0
  146. package/esm2022/validators/stepValidator.mjs +18 -0
  147. package/esm2022/verification/sc-verification.module.mjs +68 -0
  148. package/esm2022/verification/verification-phone-check-form/sc-verification-phone-check-form.component.mjs +198 -0
  149. package/fesm2022/snabcentr-client-ui.mjs +5710 -0
  150. package/fesm2022/snabcentr-client-ui.mjs.map +1 -0
  151. package/files/directives/tree-top.directive.d.ts +1 -1
  152. package/files/directives/tree.directive.d.ts +1 -1
  153. package/files/file-tree-item/file-tree-item.component.d.ts +3 -3
  154. package/files/files-and-documents/files-and-documents.component.d.ts +1 -1
  155. package/files/files-and-documents.module.d.ts +1 -1
  156. package/form-fields/addresses-selection-field/sc-addresses-selection-field.component.d.ts +17 -11
  157. package/form-fields/form-fields.module.d.ts +5 -3
  158. package/form-fields/suggestion-field/sc-suggestion-field.component.d.ts +10 -2
  159. package/helpers/sc-units-helper.d.ts +6 -6
  160. package/news/news-card/sc-news-card.component.d.ts +1 -1
  161. package/news/news-card-skeleton/sc-news-card-skeleton.component.d.ts +1 -1
  162. package/order/order-item-mobile/order-item-mobile.component.d.ts +9 -9
  163. package/order/sc-order.module.d.ts +4 -2
  164. package/order/sc-payment-status/sc-payment-status.component.d.ts +1 -1
  165. package/package.json +42 -45
  166. package/pipes/index.d.ts +1 -0
  167. package/pipes/sc-formatted-phone.d.ts +19 -0
  168. package/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.d.ts +3 -3
  169. package/profile/sc-profile.module.d.ts +6 -4
  170. package/providers/index.d.ts +0 -1
  171. package/providers/scUserProviders.d.ts +2 -3
  172. package/public-api.d.ts +4 -0
  173. package/qrcode/index.d.ts +2 -0
  174. package/qrcode/qrcode-dialog/sc-qrcode-dialog.component.d.ts +37 -0
  175. package/qrcode/sc-qrcode.module.d.ts +14 -0
  176. package/samples/ask-to-sample-form/sc-ask-to-sample-form.component.d.ts +18 -0
  177. package/samples/index.d.ts +4 -0
  178. package/samples/interfaces/sc-i-preview-sample.d.ts +47 -0
  179. package/samples/preview-sample/sc-preview-sample.component.d.ts +48 -0
  180. package/samples/sc-sample.module.d.ts +19 -0
  181. package/share-button/sc-share-button.component.d.ts +1 -1
  182. package/share-button/sc-share-button.module.d.ts +1 -1
  183. package/styles/taiga/taiga-tailwind-preset.js +121 -0
  184. package/styles/taiga/variables.less +17 -14
  185. package/styles/tailwind/tailwind.scss +252 -61
  186. package/user/index.d.ts +1 -0
  187. package/user/reset-user-password/sc-reset-user-password.component.d.ts +3 -3
  188. package/user/sc-user.module.d.ts +12 -8
  189. package/user/update-user-info-dialog/sc-update-user-info-dialog.component.d.ts +13 -9
  190. package/user/user-managers/sc-user-managers.component.d.ts +26 -0
  191. package/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.d.ts +13 -8
  192. package/validators/index.d.ts +1 -1
  193. package/validators/{scPasswordConfirmMatchingValidator.d.ts → sc-password-confirm-matching-validator.d.ts} +1 -1
  194. package/verification/sc-verification.module.d.ts +5 -4
  195. package/verification/verification-phone-check-form/sc-verification-phone-check-form.component.d.ts +18 -18
  196. package/directives/carousel-item-hidden/sc-carousel-item-hidden.directive.d.ts +0 -24
  197. package/directives/carousel-item-hidden/sc-carousel-item-hidden.module.d.ts +0 -11
  198. package/esm2020/accordion/sc-accordion-content.directive.mjs +0 -17
  199. package/esm2020/accordion/sc-accordion.component.mjs +0 -88
  200. package/esm2020/accordion/sc-accordion.module.mjs +0 -25
  201. package/esm2020/auth/index.mjs +0 -7
  202. package/esm2020/auth/interfaces/ApiErrorResponse.mjs +0 -2
  203. package/esm2020/auth/sc-auth.module.mjs +0 -79
  204. package/esm2020/auth/sc-sign-in-form/sc-sign-in-form-by-email/sc-sign-in-form-by-email.component.mjs +0 -64
  205. package/esm2020/auth/sc-sign-in-form/sc-sign-in-form-by-phone/sc-sign-in-form-by-phone.component.mjs +0 -63
  206. package/esm2020/banner/sc-banner.component.mjs +0 -234
  207. package/esm2020/banner/sc-banner.module.mjs +0 -26
  208. package/esm2020/cart/cart-item-mobile/sc-cart-item-mobile.component.mjs +0 -120
  209. package/esm2020/cart/sc-cart.module.mjs +0 -65
  210. package/esm2020/catalog/categories-list/sc-categories-list.component.mjs +0 -84
  211. package/esm2020/catalog/category-card/sc-category-card.component.mjs +0 -120
  212. package/esm2020/catalog/input-quantity/sc-input-quantity.component.mjs +0 -163
  213. package/esm2020/catalog/price-card/sc-price-card.component.mjs +0 -175
  214. package/esm2020/catalog/price-history/sc-price-history.component.mjs +0 -114
  215. package/esm2020/catalog/price-list-pagination/sc-price-list-pagination.component.mjs +0 -37
  216. package/esm2020/catalog/sc-catalog.module.mjs +0 -128
  217. package/esm2020/catalog/sc-favorite-btn/sc-favorite-btn.component.mjs +0 -41
  218. package/esm2020/contacts/add-contact-dialog/sc-add-contact-dialog.component.mjs +0 -71
  219. package/esm2020/contacts/contacts-accordion/sc-contacts-accordion.component.mjs +0 -35
  220. package/esm2020/contacts/new-contact-form/sc-new-contact-form.component.mjs +0 -28
  221. package/esm2020/contacts/sc-contacts.module.mjs +0 -92
  222. package/esm2020/contragents/add-contragent-bank-account-dialog/sc-add-contragent-bank-account-dialog.component.mjs +0 -71
  223. package/esm2020/contragents/add-contragent-dialog/sc-add-contragent-dialog.component.mjs +0 -249
  224. package/esm2020/contragents/contragents-accordion/contragents-accordion-item/sc-contragents-accordion-item.component.mjs +0 -75
  225. package/esm2020/contragents/new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component.mjs +0 -61
  226. package/esm2020/contragents/new-contragent-form/sc-new-contragent-form.component.mjs +0 -183
  227. package/esm2020/contragents/sc-contragents.module.mjs +0 -103
  228. package/esm2020/delivery-address/add-delivery-address-dialog/sc-add-delivery-address-dialog.component.mjs +0 -79
  229. package/esm2020/delivery-address/sc-delivery-address.module.mjs +0 -77
  230. package/esm2020/directives/carousel-item-hidden/sc-carousel-item-hidden.directive.mjs +0 -40
  231. package/esm2020/directives/carousel-item-hidden/sc-carousel-item-hidden.module.mjs +0 -21
  232. package/esm2020/directives/index.mjs +0 -3
  233. package/esm2020/files/directives/tree-top.directive.mjs +0 -63
  234. package/esm2020/files/file-tree-item/file-tree-item.component.mjs +0 -18
  235. package/esm2020/files/files-and-documents/files-and-documents.component.mjs +0 -60
  236. package/esm2020/files/files-and-documents.module.mjs +0 -26
  237. package/esm2020/files/services/tree-icon.service.mjs +0 -48
  238. package/esm2020/form-fields/addresses-selection-field/sc-addresses-selection-field.component.mjs +0 -122
  239. package/esm2020/form-fields/form-fields.module.mjs +0 -80
  240. package/esm2020/form-fields/suggestion-field/sc-suggestion-field.component.mjs +0 -116
  241. package/esm2020/helpers/sc-units-helper.mjs +0 -44
  242. package/esm2020/order/order-item-mobile/order-item-mobile.component.mjs +0 -79
  243. package/esm2020/order/sc-order.module.mjs +0 -25
  244. package/esm2020/order/sc-payment-status/sc-payment-status.component.mjs +0 -35
  245. package/esm2020/profile/sc-profile-accordions-content/sc-profile-accordions-content.component.mjs +0 -177
  246. package/esm2020/profile/sc-profile.module.mjs +0 -80
  247. package/esm2020/providers/productsPagination.mjs +0 -99
  248. package/esm2020/providers/scUserProviders.mjs +0 -30
  249. package/esm2020/public-api.mjs +0 -26
  250. package/esm2020/share-button/sc-share-button.module.mjs +0 -22
  251. package/esm2020/user/index.mjs +0 -5
  252. package/esm2020/user/reset-user-password/sc-reset-user-password.component.mjs +0 -67
  253. package/esm2020/user/sc-user.module.mjs +0 -88
  254. package/esm2020/user/update-user-info-dialog/sc-update-user-info-dialog.component.mjs +0 -105
  255. package/esm2020/user/user-phone-approve-dialog/sc-user-phone-approve-dialog.component.mjs +0 -91
  256. package/esm2020/validators/scPasswordConfirmMatchingValidator.mjs +0 -17
  257. package/esm2020/validators/stepValidator.mjs +0 -18
  258. package/esm2020/verification/sc-verification.module.mjs +0 -73
  259. package/esm2020/verification/verification-phone-check-form/sc-verification-phone-check-form.component.mjs +0 -184
  260. package/fesm2015/snabcentr-client-ui.mjs +0 -4858
  261. package/fesm2015/snabcentr-client-ui.mjs.map +0 -1
  262. package/fesm2020/snabcentr-client-ui.mjs +0 -4778
  263. package/fesm2020/snabcentr-client-ui.mjs.map +0 -1
  264. package/providers/productsPagination.d.ts +0 -43
  265. /package/{esm2020 → esm2022}/accordion/index.mjs +0 -0
  266. /package/{esm2020 → esm2022}/auth/enums/auth-method.mjs +0 -0
  267. /package/{esm2020 → esm2022}/banner/index.mjs +0 -0
  268. /package/{esm2020 → esm2022}/cart/index.mjs +0 -0
  269. /package/{esm2020 → esm2022}/catalog/index.mjs +0 -0
  270. /package/{esm2020 → esm2022}/contacts/index.mjs +0 -0
  271. /package/{esm2020 → esm2022}/contragents/index.mjs +0 -0
  272. /package/{esm2020 → esm2022}/delivery-address/index.mjs +0 -0
  273. /package/{esm2020 → esm2022}/files/directives/index.mjs +0 -0
  274. /package/{esm2020 → esm2022}/files/index.mjs +0 -0
  275. /package/{esm2020 → esm2022}/files/interfaces/tree-node.mjs +0 -0
  276. /package/{esm2020 → esm2022}/files/services/index.mjs +0 -0
  277. /package/{esm2020 → esm2022}/form-fields/index.mjs +0 -0
  278. /package/{esm2020 → esm2022}/helpers/index.mjs +0 -0
  279. /package/{esm2020 → esm2022}/icons/index.mjs +0 -0
  280. /package/{esm2020 → esm2022}/icons/sc-client-ui-icons-name.mjs +0 -0
  281. /package/{esm2020 → esm2022}/loader/index.mjs +0 -0
  282. /package/{esm2020 → esm2022}/loader/sc-i-loader.mjs +0 -0
  283. /package/{esm2020 → esm2022}/masks/index.mjs +0 -0
  284. /package/{esm2020 → esm2022}/masks/sc-account-number-mask.mjs +0 -0
  285. /package/{esm2020 → esm2022}/masks/sc-bic-mask.mjs +0 -0
  286. /package/{esm2020 → esm2022}/masks/sc-correspondent-account-mask.mjs +0 -0
  287. /package/{esm2020 → esm2022}/masks/sc-inn-mask.mjs +0 -0
  288. /package/{esm2020 → esm2022}/masks/sc-kpp-mask.mjs +0 -0
  289. /package/{esm2020 → esm2022}/masks/sc-okpo-mask.mjs +0 -0
  290. /package/{esm2020 → esm2022}/masks/sc-phone-verification-code-mask.mjs +0 -0
  291. /package/{esm2020 → esm2022}/news/index.mjs +0 -0
  292. /package/{esm2020 → esm2022}/order/index.mjs +0 -0
  293. /package/{esm2020 → esm2022}/profile/index.mjs +0 -0
  294. /package/{esm2020 → esm2022}/share-button/index.mjs +0 -0
  295. /package/{esm2020 → esm2022}/snabcentr-client-ui.mjs +0 -0
  296. /package/{esm2020 → esm2022}/tokens/index.mjs +0 -0
  297. /package/{esm2020 → esm2022}/tokens/sc-linear-values-token.mjs +0 -0
  298. /package/{esm2020 → esm2022}/validators/scBicValidator.mjs +0 -0
  299. /package/{esm2020 → esm2022}/validators/scCorrespondentAccountValidator.mjs +0 -0
  300. /package/{esm2020 → esm2022}/verification/index.mjs +0 -0
@@ -1,249 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component, ChangeDetectionStrategy, Optional, Inject } from '@angular/core';
3
- import { FormControl, FormGroup, Validators } from '@angular/forms';
4
- import { UntilDestroy } from '@ngneat/until-destroy';
5
- import { ScOpfList } from '@snabcentr/client-core';
6
- import { tuiIsFalsy, tuiMarkControlAsTouchedAndValidate } from '@taiga-ui/cdk';
7
- import { POLYMORPHEUS_CONTEXT } from '@tinkoff/ng-polymorpheus';
8
- import { map, Subject, catchError, filter, of, share, startWith, switchMap, tap } from 'rxjs';
9
- import { scBicValidator, scCorrespondentAccountValidator } from '../../validators';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@snabcentr/client-core";
12
- import * as i2 from "@angular/forms";
13
- import * as i3 from "@angular/common";
14
- import * as i4 from "@taiga-ui/core";
15
- import * as i5 from "../../contacts/new-contact-form/sc-new-contact-form.component";
16
- import * as i6 from "@taiga-ui/kit";
17
- import * as i7 from "@taiga-ui/cdk";
18
- import * as i8 from "../../directives/carousel-item-hidden/sc-carousel-item-hidden.directive";
19
- import * as i9 from "../new-contragent-bank-account-form/sc-new-contragent-bank-account-form.component";
20
- import * as i10 from "../new-contragent-form/sc-new-contragent-form.component";
21
- /**
22
- * Компотен добавления контрагента.
23
- */
24
- let ScAddContragentDialogComponent = class ScAddContragentDialogComponent {
25
- /**
26
- * Инициализирует экземпляр класса {@link ScAddContragentDialogComponent}.
27
- *
28
- * @param referencesService Сервис справочников.
29
- * @param contragentService Сервис работы с контрагентами.
30
- * @param convertersService Сервис конвертации данных.
31
- * @param context Контекст диалогового окна, в котором открыт компонент.
32
- */
33
- constructor(referencesService, contragentService, convertersService, locationsService, context) {
34
- this.referencesService = referencesService;
35
- this.contragentService = contragentService;
36
- this.convertersService = convertersService;
37
- this.locationsService = locationsService;
38
- this.context = context;
39
- /**
40
- * Перечисление организационно-правовых форм.
41
- */
42
- this.opfListEnum = ScOpfList;
43
- /**
44
- * Расположение баннера.
45
- */
46
- this.stepIndex = 0;
47
- /**
48
- * Родительская `FormGroup`.
49
- */
50
- this.form = new FormGroup({
51
- contragent: new FormGroup({})
52
- });
53
- /**
54
- * {@link Subject} события отправки формы.
55
- */
56
- this.onSubmit = new Subject();
57
- /**
58
- * {@link Observable} запроса добавления контрагента.
59
- */
60
- this.request$ = this.onSubmit.pipe(map(() => this.form.value.contragent), filter((value) => this.form.valid), switchMap((value) => {
61
- return this.contragentService.createContragent$(this.convertersService.removeNullRecursive(value)).pipe(tap((contragent) => this.context?.completeWith(contragent)), catchError((error) => {
62
- tuiMarkControlAsTouchedAndValidate(this.form);
63
- const errorResponse = error.error;
64
- for (const key in errorResponse.errors) {
65
- this.form.controls.contragent.get(key)?.setErrors({ serverResponse: errorResponse.errors[`${key}`] });
66
- }
67
- if (!errorResponse.errors && errorResponse.message) {
68
- this.form.setErrors({ serverResponse: [errorResponse.message] });
69
- }
70
- return of({});
71
- }), startWith(null));
72
- }), share());
73
- /**
74
- * {@link Observable} изменения состояния загрузки данных аутентификации по номеру телефона.
75
- */
76
- this.loading$ = this.request$.pipe(map(tuiIsFalsy));
77
- }
78
- /**
79
- * Текущий выбранный ОПФ.
80
- */
81
- get selectOpf() {
82
- return this.opfListEnum[this.form.controls.contragent.controls['opf'].value];
83
- }
84
- /**
85
- * Список групп полей банковских реквизитов.
86
- */
87
- get bankAccounts() {
88
- return this.form.controls.contragent.get('bankAccounts');
89
- }
90
- /**
91
- * Список групп полей контактных лиц.
92
- */
93
- get contacts() {
94
- return this.form.controls.contragent.get('contacts');
95
- }
96
- /**
97
- * Выполняет навигацию по форме создания контрагента.
98
- *
99
- * @param delta Значение, на которое необходимо выполнить навигацию.
100
- */
101
- navigate(delta) {
102
- this.stepIndex = (this.stepIndex + delta) % 3;
103
- }
104
- /**
105
- * Проверяет, может ли пользователь перейти к следующему шагу создания контрагента.
106
- *
107
- * @returns Выводит значение `boolean` на основании {@link stepIndex}.
108
- */
109
- canNextStep() {
110
- switch (this.stepIndex) {
111
- case 0:
112
- for (const key in this.form.controls.contragent.controls) {
113
- if (Object.prototype.hasOwnProperty.call(this.form.controls.contragent.controls, key) && !Array.isArray(this.form.controls.contragent.controls[key].value)) {
114
- if (this.form.controls.contragent.controls[key].invalid) {
115
- return false;
116
- }
117
- }
118
- }
119
- return true;
120
- case 1:
121
- return this.form.controls.contragent.controls['contacts'].valid;
122
- case 2:
123
- return this.form.controls.contragent.controls['bankAccounts'].valid;
124
- default:
125
- return true;
126
- }
127
- }
128
- /**
129
- * Возвращает {@link Observable} списка направлений продаж.
130
- */
131
- getSalesDirections$() {
132
- return this.referencesService.directions$;
133
- }
134
- /**
135
- * Возвращает {@link Observable} списка направлений продаж.
136
- */
137
- getDirectionById$(directionId) {
138
- return this.referencesService.getDirectionById$(directionId);
139
- }
140
- /**
141
- * Возвращает {@link Observable} список организационно-правовых форм.
142
- */
143
- getOpf$() {
144
- return this.referencesService.opf$;
145
- }
146
- /**
147
- * Возвращает {@link Observable} организационно-правовой формы, соответствующий символьному обозначению (slug) на входе.
148
- *
149
- * @param slug Символьное обозначение (slug).
150
- */
151
- getOpfBySlug$(slug) {
152
- return this.referencesService.getOpfBySlug$(slug);
153
- }
154
- /**
155
- * Возвращает {@link Observable} списка валют.
156
- */
157
- getCurrencies$() {
158
- return this.referencesService.currencies$;
159
- }
160
- /**
161
- * Возвращает {@link Observable} валюты, соответствующий идентификатору на входе.
162
- *
163
- * @param currencyId — Идентификатор валюты.
164
- */
165
- getCurrencyById$(currencyId) {
166
- return this.referencesService.getCurrencyById$(currencyId);
167
- }
168
- /**
169
- * Возвращает {@link Observable} списка стран.
170
- */
171
- getCountries$() {
172
- return this.locationsService.getCountries$();
173
- }
174
- /**
175
- * Возвращает {@link Observable} страны, соответствующий идентификатору на входе.
176
- *
177
- * @param countryId — Идентификатор страны.
178
- */
179
- getCountriesById$(countryId) {
180
- return this.locationsService.getCountries$().pipe(map((countries) => countries.find((country) => country.id === countryId)));
181
- }
182
- /**
183
- * Создаёт группу полей банковских реквизитов.
184
- */
185
- createBankAccountGroup() {
186
- return new FormGroup({
187
- bankName: new FormControl(null, Validators.required),
188
- bic: new FormControl(null, [Validators.required, Validators.minLength(9), scBicValidator]),
189
- accountNumber: new FormControl(null, [Validators.required, Validators.minLength(20)]),
190
- correspondentAccount: new FormControl(null, [Validators.required, Validators.minLength(20), scCorrespondentAccountValidator]),
191
- currencyId: new FormControl(null, Validators.required)
192
- });
193
- }
194
- /**
195
- * Добавляет Банковские реквизиты.
196
- */
197
- addBankAccountGroup() {
198
- this.bankAccounts.push(this.createBankAccountGroup());
199
- }
200
- /**
201
- * Удаляет банковские реквизиты.
202
- *
203
- * @param index Индекс банковских реквизитов.
204
- */
205
- removeBankAccountGroup(index) {
206
- this.bankAccounts.removeAt(index);
207
- }
208
- /**
209
- * Создаёт группу полей контактного лица.
210
- */
211
- createContactGroup() {
212
- return new FormGroup({
213
- name: new FormControl(null, Validators.required),
214
- phone: new FormControl(null, [Validators.required, Validators.minLength(12)]),
215
- email: new FormControl(null, Validators.email),
216
- position: new FormControl(null)
217
- });
218
- }
219
- /**
220
- * Добавляет контактное лицо контрагента.
221
- */
222
- addContactGroup() {
223
- this.contacts.push(this.createContactGroup());
224
- }
225
- /**
226
- * Удаляет контактное лицо контрагента.
227
- *
228
- * @param index Индекс контактного лица.
229
- */
230
- removeContactGroup(index) {
231
- this.contacts.removeAt(index);
232
- }
233
- };
234
- ScAddContragentDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScAddContragentDialogComponent, deps: [{ token: i1.ScReferencesService }, { token: i1.ScContragentService }, { token: i1.ScConvertersService }, { token: i1.ScLocationsService }, { token: POLYMORPHEUS_CONTEXT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
235
- ScAddContragentDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScAddContragentDialogComponent, selector: "sc-add-contragent-dialog", ngImport: i0, template: "<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit.next()\" class=\"flex flex-col gap-4\">\n <tui-elastic-container>\n <tui-carousel [(index)]=\"stepIndex\" [draggable]=\"false\">\n <sc-new-contragent-form *tuiItem scCarouselItemHidden [index]=\"0\"></sc-new-contragent-form>\n\n <div *tuiItem scCarouselItemHidden [index]=\"1\">\n <div *ngIf=\"contacts\" class=\"flex flex-col gap-5 pb-1\">\n <p class=\"font-bold text-lg\">\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u044B</p>\n <div *ngFor=\"let contact of contacts.controls; let index = index, let count = count, let last = last\" class=\"flex flex-col gap-3\">\n <div class=\"flex justify-between items-center h-10\">\n <p class=\"font-bold\">\u041A\u043E\u043D\u0442\u0430\u043A\u0442 \u2116{{ index + 1 }}:</p>\n <button *ngIf=\"count - 1\" tuiIconButton appearance=\"secondary\" (click)=\"removeContactGroup(index)\" icon=\"tuiIconTrash2Large\"></button>\n </div>\n <sc-new-contact-form [form]=\"contact\"></sc-new-contact-form>\n <hr *ngIf=\"!last\" class=\"w-full h-px bg-tui-base-04\" />\n </div>\n <button tuiButton icon=\"tuiIconPlusLarge\" [appearance]=\"'secondary'\" (click)=\"addContactGroup()\" type=\"button\">\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u043E\u043D\u0442\u0430\u043A\u0442</button>\n </div>\n </div>\n\n <div *tuiItem scCarouselItemHidden [index]=\"2\">\n <div *ngIf=\"bankAccounts\" class=\"flex flex-col gap-5 pb-1\">\n <p class=\"font-bold text-lg\">\u0411\u0430\u043D\u043A\u043E\u0432\u0441\u043A\u0438\u0435 \u0440\u0435\u043A\u0432\u0438\u0437\u0438\u0442\u044B</p>\n <div *ngFor=\"let bankAccount of bankAccounts.controls; let index = index, let count = count, let last = last\" class=\"flex flex-col gap-3\">\n <div class=\"flex justify-between items-center h-12\">\n <p class=\"font-bold\">\u0411\u0430\u043D\u043A\u043E\u0432\u0441\u043A\u0438\u0435 \u0440\u0435\u043A\u0432\u0438\u0437\u0438\u0442\u044B \u2116{{ index + 1 }}:</p>\n <button *ngIf=\"count - 1\" tuiIconButton appearance=\"secondary\" (click)=\"removeBankAccountGroup(index)\" icon=\"tuiIconTrash2Large\"></button>\n </div>\n <sc-new-contragent-bank-account-form [form]=\"bankAccount\"></sc-new-contragent-bank-account-form>\n <hr *ngIf=\"!last\" class=\"w-full h-px bg-tui-base-04\" />\n </div>\n <button tuiButton icon=\"tuiIconPlusLarge\" [appearance]=\"'secondary'\" (click)=\"addBankAccountGroup()\" type=\"button\">\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0431\u0430\u043D\u043A\u043E\u0432\u0441\u043A\u0438\u0435 \u0440\u0435\u043A\u0432\u0438\u0437\u0438\u0442\u044B</button>\n </div>\n </div>\n </tui-carousel>\n </tui-elastic-container>\n <div class=\"flex gap-2 justify-center\">\n <button *ngIf=\"stepIndex > 0\" tuiButton appearance=\"secondary\" type=\"button\" (click)=\"stepIndex = (stepIndex - 1) % 3;\">\u041D\u0430\u0437\u0430\u0434</button>\n <button\n *ngIf=\"stepIndex === 2 || stepIndex === 1 && !form.controls.contragent.controls['bankAccounts']; else nextIndexBtn\"\n tuiButton\n [disabled]=\"form.invalid\"\n [showLoader]=\"!!(loading$ | async)\"\n type=\"submit\"\n class=\"self-center\"\n >\n \u0421\u043E\u0437\u0434\u0430\u0442\u044C\n </button>\n <ng-template #nextIndexBtn>\n <button tuiButton [disabled]=\"!canNextStep()\" type=\"button\" (click)=\"stepIndex = (stepIndex + 1) % 3;\">\u0414\u0430\u043B\u0435\u0435</button>\n </ng-template>\n </div>\n</form>\n", styles: ["tui-carousel{--tui-carousel-padding: .5rem}\n"], dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { kind: "component", type: i5.ScNewContactFormComponent, selector: "sc-new-contact-form", inputs: ["form"] }, { kind: "component", type: i6.TuiElasticContainerComponent, selector: "tui-elastic-container" }, { kind: "component", type: i6.TuiCarouselComponent, selector: "tui-carousel", inputs: ["draggable", "itemsCount", "index"], outputs: ["indexChange"] }, { kind: "directive", type: i6.TuiCarouselDirective, selector: "tui-carousel", inputs: ["duration", "index"] }, { kind: "directive", type: i7.TuiItemDirective, selector: "[tuiItem]" }, { kind: "directive", type: i8.ScCarouselItemHiddenDirective, selector: "[tuiItem], [scCarouselItemHidden]", inputs: ["index"] }, { kind: "component", type: i9.ScNewContragentBankAccountsFormComponent, selector: "sc-new-contragent-bank-account-form", inputs: ["form"] }, { kind: "component", type: i10.ScNewContragentFormComponent, selector: "sc-new-contragent-form" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
236
- ScAddContragentDialogComponent = __decorate([
237
- UntilDestroy({ checkProperties: true })
238
- ], ScAddContragentDialogComponent);
239
- export { ScAddContragentDialogComponent };
240
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScAddContragentDialogComponent, decorators: [{
241
- type: Component,
242
- args: [{ selector: 'sc-add-contragent-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit.next()\" class=\"flex flex-col gap-4\">\n <tui-elastic-container>\n <tui-carousel [(index)]=\"stepIndex\" [draggable]=\"false\">\n <sc-new-contragent-form *tuiItem scCarouselItemHidden [index]=\"0\"></sc-new-contragent-form>\n\n <div *tuiItem scCarouselItemHidden [index]=\"1\">\n <div *ngIf=\"contacts\" class=\"flex flex-col gap-5 pb-1\">\n <p class=\"font-bold text-lg\">\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u044B</p>\n <div *ngFor=\"let contact of contacts.controls; let index = index, let count = count, let last = last\" class=\"flex flex-col gap-3\">\n <div class=\"flex justify-between items-center h-10\">\n <p class=\"font-bold\">\u041A\u043E\u043D\u0442\u0430\u043A\u0442 \u2116{{ index + 1 }}:</p>\n <button *ngIf=\"count - 1\" tuiIconButton appearance=\"secondary\" (click)=\"removeContactGroup(index)\" icon=\"tuiIconTrash2Large\"></button>\n </div>\n <sc-new-contact-form [form]=\"contact\"></sc-new-contact-form>\n <hr *ngIf=\"!last\" class=\"w-full h-px bg-tui-base-04\" />\n </div>\n <button tuiButton icon=\"tuiIconPlusLarge\" [appearance]=\"'secondary'\" (click)=\"addContactGroup()\" type=\"button\">\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043A\u043E\u043D\u0442\u0430\u043A\u0442</button>\n </div>\n </div>\n\n <div *tuiItem scCarouselItemHidden [index]=\"2\">\n <div *ngIf=\"bankAccounts\" class=\"flex flex-col gap-5 pb-1\">\n <p class=\"font-bold text-lg\">\u0411\u0430\u043D\u043A\u043E\u0432\u0441\u043A\u0438\u0435 \u0440\u0435\u043A\u0432\u0438\u0437\u0438\u0442\u044B</p>\n <div *ngFor=\"let bankAccount of bankAccounts.controls; let index = index, let count = count, let last = last\" class=\"flex flex-col gap-3\">\n <div class=\"flex justify-between items-center h-12\">\n <p class=\"font-bold\">\u0411\u0430\u043D\u043A\u043E\u0432\u0441\u043A\u0438\u0435 \u0440\u0435\u043A\u0432\u0438\u0437\u0438\u0442\u044B \u2116{{ index + 1 }}:</p>\n <button *ngIf=\"count - 1\" tuiIconButton appearance=\"secondary\" (click)=\"removeBankAccountGroup(index)\" icon=\"tuiIconTrash2Large\"></button>\n </div>\n <sc-new-contragent-bank-account-form [form]=\"bankAccount\"></sc-new-contragent-bank-account-form>\n <hr *ngIf=\"!last\" class=\"w-full h-px bg-tui-base-04\" />\n </div>\n <button tuiButton icon=\"tuiIconPlusLarge\" [appearance]=\"'secondary'\" (click)=\"addBankAccountGroup()\" type=\"button\">\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0431\u0430\u043D\u043A\u043E\u0432\u0441\u043A\u0438\u0435 \u0440\u0435\u043A\u0432\u0438\u0437\u0438\u0442\u044B</button>\n </div>\n </div>\n </tui-carousel>\n </tui-elastic-container>\n <div class=\"flex gap-2 justify-center\">\n <button *ngIf=\"stepIndex > 0\" tuiButton appearance=\"secondary\" type=\"button\" (click)=\"stepIndex = (stepIndex - 1) % 3;\">\u041D\u0430\u0437\u0430\u0434</button>\n <button\n *ngIf=\"stepIndex === 2 || stepIndex === 1 && !form.controls.contragent.controls['bankAccounts']; else nextIndexBtn\"\n tuiButton\n [disabled]=\"form.invalid\"\n [showLoader]=\"!!(loading$ | async)\"\n type=\"submit\"\n class=\"self-center\"\n >\n \u0421\u043E\u0437\u0434\u0430\u0442\u044C\n </button>\n <ng-template #nextIndexBtn>\n <button tuiButton [disabled]=\"!canNextStep()\" type=\"button\" (click)=\"stepIndex = (stepIndex + 1) % 3;\">\u0414\u0430\u043B\u0435\u0435</button>\n </ng-template>\n </div>\n</form>\n", styles: ["tui-carousel{--tui-carousel-padding: .5rem}\n"] }]
243
- }], ctorParameters: function () { return [{ type: i1.ScReferencesService }, { type: i1.ScContragentService }, { type: i1.ScConvertersService }, { type: i1.ScLocationsService }, { type: undefined, decorators: [{
244
- type: Optional
245
- }, {
246
- type: Inject,
247
- args: [POLYMORPHEUS_CONTEXT]
248
- }] }]; } });
249
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtYWRkLWNvbnRyYWdlbnQtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9jb250cmFnZW50cy9hZGQtY29udHJhZ2VudC1kaWFsb2cvc2MtYWRkLWNvbnRyYWdlbnQtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9jb250cmFnZW50cy9hZGQtY29udHJhZ2VudC1kaWFsb2cvc2MtYWRkLWNvbnRyYWdlbnQtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFhLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFDSCxTQUFTLEVBWVosTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsVUFBVSxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBYyxHQUFHLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxRyxPQUFPLEVBQUUsY0FBYyxFQUFFLCtCQUErQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7Ozs7OztBQUVuRjs7R0FFRztBQVFJLElBQU0sOEJBQThCLEdBQXBDLE1BQU0sOEJBQThCO0lBOEV2Qzs7Ozs7OztPQU9H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QUUsSUFBSSxXQUFXLENBQWdCLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQy9ELEtBQUssRUFBRSxJQUFJLFdBQVcsQ0FBZ0IsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDNUYsS0FBSyxFQUFFLElBQUksV0FBVyxDQUFnQixJQUFJLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUM3RCxRQUFRLEVBQUUsSUFBSSxXQUFXLENBQWdCLElBQUksQ0FBQztTQUNqRCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxlQUFlO1FBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxrQkFBa0IsQ0FBQyxLQUFhO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OzJIQW5RUSw4QkFBOEIsNkpBNEYzQixvQkFBb0I7K0dBNUZ2Qiw4QkFBOEIsZ0VDbkMzQyw2L0hBcURBO0FEbEJhLDhCQUE4QjtJQUQxQyxZQUFZLENBQUMsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUM7R0FDM0IsOEJBQThCLENBb1ExQztTQXBRWSw4QkFBOEI7MkZBQTlCLDhCQUE4QjtrQkFQMUMsU0FBUzsrQkFDSSwwQkFBMEIsbUJBR25CLHVCQUF1QixDQUFDLE1BQU07OzBCQThGMUMsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIE9wdGlvbmFsLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1BcnJheSwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge1xuICAgIFNjT3BmTGlzdCxcbiAgICBTY1JlZmVyZW5jZXNTZXJ2aWNlLFxuICAgIFNjQ29udHJhZ2VudFNlcnZpY2UsXG4gICAgU2NDb252ZXJ0ZXJzU2VydmljZSxcbiAgICBTY0xvY2F0aW9uc1NlcnZpY2UsXG4gICAgU2NDb250cmFnZW50T25EYXRhQ3JlYXRlLFxuICAgIFNjSVNhbGVzRGlyZWN0aW9uLFxuICAgIFNjSVJlZmVyZW5jZXNUeXBlcyxcbiAgICBTY0lDdXJyZW5jeSxcbiAgICBTY0lDb3VudHJ5LFxuICAgIFNjSUJhbmtBY2NvdW50LFxuICAgIFNjQ29udHJhZ2VudFxufSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IHR1aUlzRmFsc3ksIHR1aU1hcmtDb250cm9sQXNUb3VjaGVkQW5kVmFsaWRhdGUgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7IFR1aURpYWxvZ0NvbnRleHQgfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQgeyBQT0xZTU9SUEhFVVNfQ09OVEVYVCB9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBtYXAsIFN1YmplY3QsIGNhdGNoRXJyb3IsIGZpbHRlciwgb2YsIHNoYXJlLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcGlFcnJvclJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vYXV0aCc7XG5pbXBvcnQgeyBzY0JpY1ZhbGlkYXRvciwgc2NDb3JyZXNwb25kZW50QWNjb3VudFZhbGlkYXRvciB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7RgtC10L0g0LTQvtCx0LDQstC70LXQvdC40Y8g0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYy1hZGQtY29udHJhZ2VudC1kaWFsb2cnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1hZGQtY29udHJhZ2VudC1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NjLWFkZC1jb250cmFnZW50LWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuQFVudGlsRGVzdHJveSh7IGNoZWNrUHJvcGVydGllczogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIFNjQWRkQ29udHJhZ2VudERpYWxvZ0NvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICog0J/QtdGA0LXRh9C40YHQu9C10L3QuNC1INC+0YDQs9Cw0L3QuNC30LDRhtC40L7QvdC90L4t0L/RgNCw0LLQvtCy0YvRhSDRhNC+0YDQvC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgb3BmTGlzdEVudW06IHR5cGVvZiBTY09wZkxpc3QgPSBTY09wZkxpc3Q7XG5cbiAgICAvKipcbiAgICAgKiDQoNCw0YHQv9C+0LvQvtC20LXQvdC40LUg0LHQsNC90L3QtdGA0LAuXG4gICAgICovXG4gICAgcHVibGljIHN0ZXBJbmRleCA9IDA7XG5cbiAgICAvKipcbiAgICAgKiDQoNC+0LTQuNGC0LXQu9GM0YHQutCw0Y8gYEZvcm1Hcm91cGAuXG4gICAgICovXG4gICAgcHVibGljIGZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgY29udHJhZ2VudDogbmV3IEZvcm1Hcm91cDxhbnk+KHt9KVxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIFN1YmplY3R9INGB0L7QsdGL0YLQuNGPINC+0YLQv9GA0LDQstC60Lgg0YTQvtGA0LzRiy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgb25TdWJtaXQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC30LDQv9GA0L7RgdCwINC00L7QsdCw0LLQu9C10L3QuNGPINC60L7QvdGC0YDQsNCz0LXQvdGC0LAuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXF1ZXN0JCA9IHRoaXMub25TdWJtaXQucGlwZShcbiAgICAgICAgbWFwKCgpID0+IHRoaXMuZm9ybS52YWx1ZS5jb250cmFnZW50IGFzIFNjQ29udHJhZ2VudE9uRGF0YUNyZWF0ZSksXG4gICAgICAgIGZpbHRlcigodmFsdWUpOiB2YWx1ZSBpcyBTY0NvbnRyYWdlbnRPbkRhdGFDcmVhdGUgPT4gdGhpcy5mb3JtLnZhbGlkKSxcbiAgICAgICAgc3dpdGNoTWFwKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udHJhZ2VudFNlcnZpY2UuY3JlYXRlQ29udHJhZ2VudCQodGhpcy5jb252ZXJ0ZXJzU2VydmljZS5yZW1vdmVOdWxsUmVjdXJzaXZlKHZhbHVlKSkucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKGNvbnRyYWdlbnQpID0+IHRoaXMuY29udGV4dD8uY29tcGxldGVXaXRoKGNvbnRyYWdlbnQpKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdHVpTWFya0NvbnRyb2xBc1RvdWNoZWRBbmRWYWxpZGF0ZSh0aGlzLmZvcm0pO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvclJlc3BvbnNlID0gZXJyb3IuZXJyb3IgYXMgQXBpRXJyb3JSZXNwb25zZTtcblxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBlcnJvclJlc3BvbnNlLmVycm9ycykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmNvbnRyYWdlbnQuZ2V0KGtleSk/LnNldEVycm9ycyh7IHNlcnZlclJlc3BvbnNlOiBlcnJvclJlc3BvbnNlLmVycm9yc1tgJHtrZXl9YF0gfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoIWVycm9yUmVzcG9uc2UuZXJyb3JzICYmIGVycm9yUmVzcG9uc2UubWVzc2FnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtLnNldEVycm9ycyh7IHNlcnZlclJlc3BvbnNlOiBbZXJyb3JSZXNwb25zZS5tZXNzYWdlXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih7fSBhcyBTY0lCYW5rQWNjb3VudCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKG51bGwpXG4gICAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICAgICAgc2hhcmUoKVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LjQt9C80LXQvdC10L3QuNGPINGB0L7RgdGC0L7Rj9C90LjRjyDQt9Cw0LPRgNGD0LfQutC4INC00LDQvdC90YvRhSDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC/0L4g0L3QvtC80LXRgNGDINGC0LXQu9C10YTQvtC90LAuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5yZXF1ZXN0JC5waXBlKG1hcCh0dWlJc0ZhbHN5KSk7XG5cbiAgICAvKipcbiAgICAgKiDQotC10LrRg9GJ0LjQuSDQstGL0LHRgNCw0L3QvdGL0Lkg0J7Qn9CkLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgc2VsZWN0T3BmKCk6IFNjT3BmTGlzdCB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wZkxpc3RFbnVtW3RoaXMuZm9ybS5jb250cm9scy5jb250cmFnZW50LmNvbnRyb2xzWydvcGYnXS52YWx1ZSBhcyBrZXlvZiB0eXBlb2YgU2NPcGZMaXN0XTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC/0LjRgdC+0Log0LPRgNGD0L/QvyDQv9C+0LvQtdC5INCx0LDQvdC60L7QstGB0LrQuNGFINGA0LXQutCy0LjQt9C40YLQvtCyLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgYmFua0FjY291bnRzKCk6IEZvcm1BcnJheTxSZXR1cm5UeXBlPFNjQWRkQ29udHJhZ2VudERpYWxvZ0NvbXBvbmVudFsnY3JlYXRlQmFua0FjY291bnRHcm91cCddPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtLmNvbnRyb2xzLmNvbnRyYWdlbnQuZ2V0KCdiYW5rQWNjb3VudHMnKSBhcyBGb3JtQXJyYXk8UmV0dXJuVHlwZTxTY0FkZENvbnRyYWdlbnREaWFsb2dDb21wb25lbnRbJ2NyZWF0ZUJhbmtBY2NvdW50R3JvdXAnXT4+O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDQs9GA0YPQv9C/INC/0L7Qu9C10Lkg0LrQvtC90YLQsNC60YLQvdGL0YUg0LvQuNGGLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgY29udGFjdHMoKTogRm9ybUFycmF5PFJldHVyblR5cGU8U2NBZGRDb250cmFnZW50RGlhbG9nQ29tcG9uZW50WydjcmVhdGVDb250YWN0R3JvdXAnXT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS5jb250cm9scy5jb250cmFnZW50LmdldCgnY29udGFjdHMnKSBhcyBGb3JtQXJyYXk8UmV0dXJuVHlwZTxTY0FkZENvbnRyYWdlbnREaWFsb2dDb21wb25lbnRbJ2NyZWF0ZUNvbnRhY3RHcm91cCddPj47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY0FkZENvbnRyYWdlbnREaWFsb2dDb21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHJlZmVyZW5jZXNTZXJ2aWNlINCh0LXRgNCy0LjRgSDRgdC/0YDQsNCy0L7Rh9C90LjQutC+0LIuXG4gICAgICogQHBhcmFtIGNvbnRyYWdlbnRTZXJ2aWNlINCh0LXRgNCy0LjRgSDRgNCw0LHQvtGC0Ysg0YEg0LrQvtC90YLRgNCw0LPQtdC90YLQsNC80LguXG4gICAgICogQHBhcmFtIGNvbnZlcnRlcnNTZXJ2aWNlINCh0LXRgNCy0LjRgSDQutC+0L3QstC10YDRgtCw0YbQuNC4INC00LDQvdC90YvRhS5cbiAgICAgKiBAcGFyYW0gY29udGV4dCDQmtC+0L3RgtC10LrRgdGCINC00LjQsNC70L7Qs9C+0LLQvtCz0L4g0L7QutC90LAsINCyINC60L7RgtC+0YDQvtC8INC+0YLQutGA0YvRgiDQutC+0LzQv9C+0L3QtdC90YIuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJlZmVyZW5jZXNTZXJ2aWNlOiBTY1JlZmVyZW5jZXNTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyYWdlbnRTZXJ2aWNlOiBTY0NvbnRyYWdlbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnZlcnRlcnNTZXJ2aWNlOiBTY0NvbnZlcnRlcnNTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2F0aW9uc1NlcnZpY2U6IFNjTG9jYXRpb25zU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChQT0xZTU9SUEhFVVNfQ09OVEVYVClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb250ZXh0OiBUdWlEaWFsb2dDb250ZXh0PFNjQ29udHJhZ2VudCwgdm9pZD5cbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiDQktGL0L/QvtC70L3Rj9C10YIg0L3QsNCy0LjQs9Cw0YbQuNGOINC/0L4g0YTQvtGA0LzQtSDRgdC+0LfQtNCw0L3QuNGPINC60L7QvdGC0YDQsNCz0LXQvdGC0LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGVsdGEg0JfQvdCw0YfQtdC90LjQtSwg0L3QsCDQutC+0YLQvtGA0L7QtSDQvdC10L7QsdGF0L7QtNC40LzQviDQstGL0L/QvtC70L3QuNGC0Ywg0L3QsNCy0LjQs9Cw0YbQuNGOLlxuICAgICAqL1xuICAgIHB1YmxpYyBuYXZpZ2F0ZShkZWx0YTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RlcEluZGV4ID0gKHRoaXMuc3RlcEluZGV4ICsgZGVsdGEpICUgMztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0L7QstC10YDRj9C10YIsINC80L7QttC10YIg0LvQuCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L/QtdGA0LXQudGC0Lgg0Log0YHQu9C10LTRg9GO0YnQtdC80YMg0YjQsNCz0YMg0YHQvtC30LTQsNC90LjRjyDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICAgICAqXG4gICAgICogQHJldHVybnMg0JLRi9Cy0L7QtNC40YIg0LfQvdCw0YfQtdC90LjQtSBgYm9vbGVhbmAg0L3QsCDQvtGB0L3QvtCy0LDQvdC40Lgge0BsaW5rIHN0ZXBJbmRleH0uXG4gICAgICovXG4gICAgcHVibGljIGNhbk5leHRTdGVwKCk6IGJvb2xlYW4ge1xuICAgICAgICBzd2l0Y2ggKHRoaXMuc3RlcEluZGV4KSB7XG4gICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5mb3JtLmNvbnRyb2xzLmNvbnRyYWdlbnQuY29udHJvbHMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLmZvcm0uY29udHJvbHMuY29udHJhZ2VudC5jb250cm9scywga2V5KSAmJiAhQXJyYXkuaXNBcnJheSh0aGlzLmZvcm0uY29udHJvbHMuY29udHJhZ2VudC5jb250cm9sc1trZXldLnZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZm9ybS5jb250cm9scy5jb250cmFnZW50LmNvbnRyb2xzW2tleV0uaW52YWxpZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm0uY29udHJvbHMuY29udHJhZ2VudC5jb250cm9sc1snY29udGFjdHMnXS52YWxpZDtcbiAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mb3JtLmNvbnRyb2xzLmNvbnRyYWdlbnQuY29udHJvbHNbJ2JhbmtBY2NvdW50cyddLnZhbGlkO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDRgdC/0LjRgdC60LAg0L3QsNC/0YDQsNCy0LvQtdC90LjQuSDQv9GA0L7QtNCw0LYuXG4gICAgICovXG4gICAgcHVibGljIGdldFNhbGVzRGlyZWN0aW9ucyQoKTogT2JzZXJ2YWJsZTxTY0lTYWxlc0RpcmVjdGlvbltdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlZmVyZW5jZXNTZXJ2aWNlLmRpcmVjdGlvbnMkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDRgdC/0LjRgdC60LAg0L3QsNC/0YDQsNCy0LvQtdC90LjQuSDQv9GA0L7QtNCw0LYuXG4gICAgICovXG4gICAgcHVibGljIGdldERpcmVjdGlvbkJ5SWQkKGRpcmVjdGlvbklkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNjSVNhbGVzRGlyZWN0aW9uIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlZmVyZW5jZXNTZXJ2aWNlLmdldERpcmVjdGlvbkJ5SWQkKGRpcmVjdGlvbklkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0YHQv9C40YHQvtC6INC+0YDQs9Cw0L3QuNC30LDRhtC40L7QvdC90L4t0L/RgNCw0LLQvtCy0YvRhSDRhNC+0YDQvC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0T3BmJCgpOiBPYnNlcnZhYmxlPFNjSVJlZmVyZW5jZXNUeXBlczxTY09wZkxpc3QsIHR5cGVvZiBTY09wZkxpc3Q+W10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVmZXJlbmNlc1NlcnZpY2Uub3BmJDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0L7RgNCz0LDQvdC40LfQsNGG0LjQvtC90L3Qvi3Qv9GA0LDQstC+0LLQvtC5INGE0L7RgNC80YssINGB0L7QvtGC0LLQtdGC0YHRgtCy0YPRjtGJ0LjQuSDRgdC40LzQstC+0LvRjNC90L7QvNGDINC+0LHQvtC30L3QsNGH0LXQvdC40Y4gKHNsdWcpINC90LAg0LLRhdC+0LTQtS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzbHVnINCh0LjQvNCy0L7Qu9GM0L3QvtC1INC+0LHQvtC30L3QsNGH0LXQvdC40LUgKHNsdWcpLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRPcGZCeVNsdWckKHNsdWc6IGtleW9mIHR5cGVvZiBTY09wZkxpc3QpOiBPYnNlcnZhYmxlPFNjSVJlZmVyZW5jZXNUeXBlczxTY09wZkxpc3QsIHR5cGVvZiBTY09wZkxpc3Q+IHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlZmVyZW5jZXNTZXJ2aWNlLmdldE9wZkJ5U2x1ZyQoc2x1Zyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INGB0L/QuNGB0LrQsCDQstCw0LvRjtGCLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDdXJyZW5jaWVzJCgpOiBPYnNlcnZhYmxlPFNjSUN1cnJlbmN5W10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVmZXJlbmNlc1NlcnZpY2UuY3VycmVuY2llcyQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INCy0LDQu9GO0YLRiywg0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YnQuNC5INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0YMg0L3QsCDQstGF0L7QtNC1LlxuICAgICAqXG4gICAgICogQHBhcmFtIGN1cnJlbmN5SWQg4oCUINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINCy0LDQu9GO0YLRiy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q3VycmVuY3lCeUlkJChjdXJyZW5jeUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNjSUN1cnJlbmN5IHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlZmVyZW5jZXNTZXJ2aWNlLmdldEN1cnJlbmN5QnlJZCQoY3VycmVuY3lJZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INGB0L/QuNGB0LrQsCDRgdGC0YDQsNC9LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDb3VudHJpZXMkKCk6IE9ic2VydmFibGU8U2NJQ291bnRyeVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvY2F0aW9uc1NlcnZpY2UuZ2V0Q291bnRyaWVzJCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDRgdGC0YDQsNC90YssINGB0L7QvtGC0LLQtdGC0YHRgtCy0YPRjtGJ0LjQuSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGDINC90LAg0LLRhdC+0LTQtS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb3VudHJ5SWQg4oCUINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGB0YLRgNCw0L3Riy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q291bnRyaWVzQnlJZCQoY291bnRyeUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFNjSUNvdW50cnkgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYXRpb25zU2VydmljZS5nZXRDb3VudHJpZXMkKCkucGlwZShtYXAoKGNvdW50cmllcykgPT4gY291bnRyaWVzLmZpbmQoKGNvdW50cnkpID0+IGNvdW50cnkuaWQgPT09IGNvdW50cnlJZCkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0ZHRgiDQs9GA0YPQv9C/0YMg0L/QvtC70LXQuSDQsdCw0L3QutC+0LLRgdC60LjRhSDRgNC10LrQstC40LfQuNGC0L7Qsi5cbiAgICAgKi9cbiAgICBwcml2YXRlIGNyZWF0ZUJhbmtBY2NvdW50R3JvdXAoKTogRm9ybUdyb3VwPHtcbiAgICAgICAgYmFua05hbWU6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuICAgICAgICBiaWM6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuICAgICAgICBhY2NvdW50TnVtYmVyOiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPjtcbiAgICAgICAgY29ycmVzcG9uZGVudEFjY291bnQ6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuICAgICAgICBjdXJyZW5jeUlkOiBGb3JtQ29udHJvbDxudW1iZXIgfCBudWxsPjtcbiAgICB9PiB7XG4gICAgICAgIHJldHVybiBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgICAgIGJhbmtOYW1lOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgICAgICBiaWM6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoOSksIHNjQmljVmFsaWRhdG9yXSksXG4gICAgICAgICAgICBhY2NvdW50TnVtYmVyOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDIwKV0pLFxuICAgICAgICAgICAgY29ycmVzcG9uZGVudEFjY291bnQ6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoMjApLCBzY0NvcnJlc3BvbmRlbnRBY2NvdW50VmFsaWRhdG9yXSksXG4gICAgICAgICAgICBjdXJyZW5jeUlkOiBuZXcgRm9ybUNvbnRyb2w8bnVtYmVyIHwgbnVsbD4obnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZClcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JTQvtCx0LDQstC70Y/QtdGCINCR0LDQvdC60L7QstGB0LrQuNC1INGA0LXQutCy0LjQt9C40YLRiy5cbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkQmFua0FjY291bnRHcm91cCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5iYW5rQWNjb3VudHMucHVzaCh0aGlzLmNyZWF0ZUJhbmtBY2NvdW50R3JvdXAoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPQtNCw0LvRj9C10YIg0LHQsNC90LrQvtCy0YHQutC40LUg0YDQtdC60LLQuNC30LjRgtGLLlxuICAgICAqXG4gICAgICogQHBhcmFtIGluZGV4INCY0L3QtNC10LrRgSDQsdCw0L3QutC+0LLRgdC60LjRhSDRgNC10LrQstC40LfQuNGC0L7Qsi5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVtb3ZlQmFua0FjY291bnRHcm91cChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYmFua0FjY291bnRzLnJlbW92ZUF0KGluZGV4KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0ZHRgiDQs9GA0YPQv9C/0YMg0L/QvtC70LXQuSDQutC+0L3RgtCw0LrRgtC90L7Qs9C+INC70LjRhtCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBjcmVhdGVDb250YWN0R3JvdXAoKTogRm9ybUdyb3VwPHtcbiAgICAgICAgbmFtZTogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG4gICAgICAgIHBob25lOiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPjtcbiAgICAgICAgZW1haWw6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuICAgICAgICBwb3NpdGlvbjogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG4gICAgfT4ge1xuICAgICAgICByZXR1cm4gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAgICAgICBuYW1lOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICAgICAgICBwaG9uZTogbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgxMildKSxcbiAgICAgICAgICAgIGVtYWlsOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obnVsbCwgVmFsaWRhdG9ycy5lbWFpbCksXG4gICAgICAgICAgICBwb3NpdGlvbjogbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCU0L7QsdCw0LLQu9GP0LXRgiDQutC+0L3RgtCw0LrRgtC90L7QtSDQu9C40YbQviDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRDb250YWN0R3JvdXAoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGFjdHMucHVzaCh0aGlzLmNyZWF0ZUNvbnRhY3RHcm91cCgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9C00LDQu9GP0LXRgiDQutC+0L3RgtCw0LrRgtC90L7QtSDQu9C40YbQviDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGluZGV4INCY0L3QtNC10LrRgSDQutC+0L3RgtCw0LrRgtC90L7Qs9C+INC70LjRhtCwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZW1vdmVDb250YWN0R3JvdXAoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRhY3RzLnJlbW92ZUF0KGluZGV4KTtcbiAgICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiAobmdTdWJtaXQpPVwib25TdWJtaXQubmV4dCgpXCIgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC00XCI+XG4gICAgPHR1aS1lbGFzdGljLWNvbnRhaW5lcj5cbiAgICAgICAgPHR1aS1jYXJvdXNlbCBbKGluZGV4KV09XCJzdGVwSW5kZXhcIiBbZHJhZ2dhYmxlXT1cImZhbHNlXCI+XG4gICAgICAgICAgICA8c2MtbmV3LWNvbnRyYWdlbnQtZm9ybSAqdHVpSXRlbSBzY0Nhcm91c2VsSXRlbUhpZGRlbiBbaW5kZXhdPVwiMFwiPjwvc2MtbmV3LWNvbnRyYWdlbnQtZm9ybT5cblxuICAgICAgICAgICAgPGRpdiAqdHVpSXRlbSBzY0Nhcm91c2VsSXRlbUhpZGRlbiBbaW5kZXhdPVwiMVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb250YWN0c1wiIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtNSBwYi0xXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZm9udC1ib2xkIHRleHQtbGdcIj7QmtC+0L3RgtCw0LrRgtGLPC9wPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBjb250YWN0IG9mIGNvbnRhY3RzLmNvbnRyb2xzOyBsZXQgaW5kZXggPSBpbmRleCwgbGV0IGNvdW50ID0gY291bnQsIGxldCBsYXN0ID0gbGFzdFwiIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBoLTEwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJmb250LWJvbGRcIj7QmtC+0L3RgtCw0LrRgiDihJZ7eyBpbmRleCArIDEgfX06PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJjb3VudCAtIDFcIiB0dWlJY29uQnV0dG9uIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIiAoY2xpY2spPVwicmVtb3ZlQ29udGFjdEdyb3VwKGluZGV4KVwiIGljb249XCJ0dWlJY29uVHJhc2gyTGFyZ2VcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNjLW5ldy1jb250YWN0LWZvcm0gW2Zvcm1dPVwiY29udGFjdFwiPjwvc2MtbmV3LWNvbnRhY3QtZm9ybT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxociAqbmdJZj1cIiFsYXN0XCIgY2xhc3M9XCJ3LWZ1bGwgaC1weCBiZy10dWktYmFzZS0wNFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR1aUJ1dHRvbiBpY29uPVwidHVpSWNvblBsdXNMYXJnZVwiIFthcHBlYXJhbmNlXT1cIidzZWNvbmRhcnknXCIgKGNsaWNrKT1cImFkZENvbnRhY3RHcm91cCgpXCIgdHlwZT1cImJ1dHRvblwiPtCU0L7QsdCw0LLQuNGC0Ywg0LrQvtC90YLQsNC60YI8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2ICp0dWlJdGVtIHNjQ2Fyb3VzZWxJdGVtSGlkZGVuIFtpbmRleF09XCIyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImJhbmtBY2NvdW50c1wiIGNsYXNzPVwiZmxleCBmbGV4LWNvbCBnYXAtNSBwYi0xXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZm9udC1ib2xkIHRleHQtbGdcIj7QkdCw0L3QutC+0LLRgdC60LjQtSDRgNC10LrQstC40LfQuNGC0Ys8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGJhbmtBY2NvdW50IG9mIGJhbmtBY2NvdW50cy5jb250cm9sczsgbGV0IGluZGV4ID0gaW5kZXgsIGxldCBjb3VudCA9IGNvdW50LCBsZXQgbGFzdCA9IGxhc3RcIiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgaC0xMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZm9udC1ib2xkXCI+0JHQsNC90LrQvtCy0YHQutC40LUg0YDQtdC60LLQuNC30LjRgtGLIOKElnt7IGluZGV4ICsgMSB9fTo8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImNvdW50IC0gMVwiIHR1aUljb25CdXR0b24gYXBwZWFyYW5jZT1cInNlY29uZGFyeVwiIChjbGljayk9XCJyZW1vdmVCYW5rQWNjb3VudEdyb3VwKGluZGV4KVwiIGljb249XCJ0dWlJY29uVHJhc2gyTGFyZ2VcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNjLW5ldy1jb250cmFnZW50LWJhbmstYWNjb3VudC1mb3JtIFtmb3JtXT1cImJhbmtBY2NvdW50XCI+PC9zYy1uZXctY29udHJhZ2VudC1iYW5rLWFjY291bnQtZm9ybT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxociAqbmdJZj1cIiFsYXN0XCIgY2xhc3M9XCJ3LWZ1bGwgaC1weCBiZy10dWktYmFzZS0wNFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR1aUJ1dHRvbiBpY29uPVwidHVpSWNvblBsdXNMYXJnZVwiIFthcHBlYXJhbmNlXT1cIidzZWNvbmRhcnknXCIgKGNsaWNrKT1cImFkZEJhbmtBY2NvdW50R3JvdXAoKVwiIHR5cGU9XCJidXR0b25cIj7QlNC+0LHQsNCy0LjRgtGMINCx0LDQvdC60L7QstGB0LrQuNC1INGA0LXQutCy0LjQt9C40YLRizwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdHVpLWNhcm91c2VsPlxuICAgIDwvdHVpLWVsYXN0aWMtY29udGFpbmVyPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0yIGp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJzdGVwSW5kZXggPiAwXCIgdHVpQnV0dG9uIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInN0ZXBJbmRleCA9IChzdGVwSW5kZXggLSAxKSAlIDM7XCI+0J3QsNC30LDQtDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdJZj1cInN0ZXBJbmRleCA9PT0gMiB8fCBzdGVwSW5kZXggPT09IDEgJiYgIWZvcm0uY29udHJvbHMuY29udHJhZ2VudC5jb250cm9sc1snYmFua0FjY291bnRzJ107IGVsc2UgbmV4dEluZGV4QnRuXCJcbiAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZFwiXG4gICAgICAgICAgICBbc2hvd0xvYWRlcl09XCIhIShsb2FkaW5nJCB8IGFzeW5jKVwiXG4gICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgIGNsYXNzPVwic2VsZi1jZW50ZXJcIlxuICAgICAgICA+XG4gICAgICAgICAgICDQodC+0LfQtNCw0YLRjFxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNuZXh0SW5kZXhCdG4+XG4gICAgICAgICAgICA8YnV0dG9uIHR1aUJ1dHRvbiBbZGlzYWJsZWRdPVwiIWNhbk5leHRTdGVwKClcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInN0ZXBJbmRleCA9IChzdGVwSW5kZXggKyAxKSAlIDM7XCI+0JTQsNC70LXQtTwvYnV0dG9uPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuPC9mb3JtPlxuIl19
@@ -1,75 +0,0 @@
1
- import { Component, ChangeDetectionStrategy, Output, EventEmitter, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@snabcentr/client-core";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "../../../accordion/sc-accordion.component";
6
- import * as i4 from "../../../accordion/sc-accordion-content.directive";
7
- import * as i5 from "@taiga-ui/core";
8
- import * as i6 from "@taiga-ui/cdk";
9
- import * as i7 from "../../../contacts/contacts-accordion/sc-contacts-accordion.component";
10
- /**
11
- * Компонент контрагента пользователя.
12
- */
13
- export class ScContragentsAccordionItemComponent {
14
- /**
15
- * Инициализирует экземпляр класса {@link ScContragentsAccordionItemComponent}.
16
- *
17
- * @param contragentService Сервис работы с контрагентами.
18
- */
19
- constructor(contragentService) {
20
- this.contragentService = contragentService;
21
- /**
22
- * Событие нажатия на кнопку удаления контрагента.
23
- */
24
- this.deleteContragentClick = new EventEmitter();
25
- /**
26
- * Событие нажатия на кнопку добавления банковского счёта контрагенту.
27
- */
28
- this.addContragentBankAccountClick = new EventEmitter();
29
- /**
30
- * Событие нажатия на кнопку удаления банковского счёта контрагента.
31
- */
32
- this.deleteContragentBankAccountClick = new EventEmitter();
33
- /**
34
- * Событие нажатия на кнопку добавления контактного лица контрагенту.
35
- */
36
- this.addContragentContactClick = new EventEmitter();
37
- /**
38
- * Событие нажатия на кнопку удаления контактного лица у контрагента.
39
- */
40
- this.deleteContragentContactClick = new EventEmitter();
41
- }
42
- /** @inheritDoc */
43
- ngOnInit() {
44
- this.bankAccounts$ = this.contragentService.getContragentBankAccounts$(this.contragent.id);
45
- this.contacts$ = this.contragentService.getContragentContacts$(this.contragent.id);
46
- }
47
- /**
48
- * Обработчик нажатия на кнопку удаления контактного лица у контрагента.
49
- *
50
- * @param contact Контактное лицо.
51
- * @param contragent Контрагент.
52
- */
53
- onDeleteContragentContactClick(contact, contragent) {
54
- this.deleteContragentContactClick.emit({ contact: contact, contragent: contragent });
55
- }
56
- }
57
- ScContragentsAccordionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScContragentsAccordionItemComponent, deps: [{ token: i1.ScContragentService }], target: i0.ɵɵFactoryTarget.Component });
58
- ScContragentsAccordionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScContragentsAccordionItemComponent, selector: "sc-contragents-accordion-item", inputs: { contragent: "contragent" }, outputs: { deleteContragentClick: "deleteContragentClick", addContragentBankAccountClick: "addContragentBankAccountClick", deleteContragentBankAccountClick: "deleteContragentBankAccountClick", addContragentContactClick: "addContragentContactClick", deleteContragentContactClick: "deleteContragentContactClick" }, ngImport: i0, template: "<sc-accordion [showAddButton]=\"false\">\n {{ contragent.name }}\n <span *ngIf=\"$any(contragent).inn as inn\">\u0418\u041D\u041D: {{ inn }}</span>\n\n <ng-template scAccordionContent>\n <div class=\"flex flex-col gap-2\">\n <div class=\"flex gap-2\">\n <div class=\"flex flex-col gap-2 grow\">\n {{ contragent.name }}\n <span *ngIf=\"$any(contragent).inn as inn\">\u0418\u041D\u041D: {{ inn }}</span>\n <span *ngIf=\"$any(contragent).kpp as kpp\">\u041A\u041F\u041F: {{ kpp }}</span>\n </div>\n <!-- \u0424\u0443\u043D\u043A\u0446\u0438\u043E\u043D\u0430\u043B \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F \u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E \u043D\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044E. -->\n <!-- <button\n tuiIconButton\n size=\"m\"\n type=\"button\"\n icon=\"tuiIconEdit3Large\"\n tuiMode=\"onLight\"\n appearance=\"flat\"\n (click)=\"$event.stopPropagation(); editContragentClick.emit(contragent.id)\"\n ></button>\n <button\n tuiIconButton\n size=\"m\"\n type=\"button\"\n icon=\"tuiIconTrash2Large\"\n tuiMode=\"onLight\"\n appearance=\"flat\"\n (click)=\"$event.stopPropagation(); deleteContragentClick.emit(contragent)\"\n ></button> -->\n </div>\n\n <sc-accordion (addButtonClick)=\"addContragentBankAccountClick.emit(contragent)\">\n \u0411\u0430\u043D\u043A\u043E\u0432\u0441\u043A\u0438\u0435 \u0440\u0435\u043A\u0432\u0438\u0437\u0438\u0442\u044B\n <ng-template scAccordionContent>\n <tui-loader *tuiLet=\"bankAccounts$ | async as bankAccounts\" [overlay]=\"true\" [showLoader]=\"bankAccounts === null\">\n <div class=\"flex flex-col gap-2\">\n <ng-container *ngIf=\"!bankAccounts || bankAccounts.length; else bankAccountsNotExist\">\n <div *ngFor=\"let bankAccount of bankAccounts\" class=\"flex gap-2 border-b border-tui-base-03\">\n <div class=\"flex flex-col gap-2 grow\">\n <span>\u0411\u0430\u043D\u043A: {{ bankAccount.bankName }}</span>\n <span>\u0411\u0418\u041A: {{ bankAccount.bic }}</span>\n <span>\u0420/\u0441\u0447\u0451\u0442: {{ bankAccount.accountNumber }}</span>\n <span>\u041A\u043E\u0440/\u0441\u0447\u0451\u0442: {{ bankAccount.correspondentAccount }}</span>\n <span>\u0412\u0430\u043B\u044E\u0442\u0430: {{ bankAccount.currency.name }}</span>\n </div>\n <!-- <div class=\"flex flex-col md:flex-row gap-4\">\n <button\n tuiIconButton\n size=\"m\"\n type=\"button\"\n icon=\"tuiIconEdit3Large\"\n tuiMode=\"onLight\"\n appearance=\"flat\"\n (click)=\"$event.stopPropagation(); editBankAccountsContragentClick.emit(bankAccount.id)\"\n ></button>\n <button\n tuiIconButton\n size=\"m\"\n type=\"button\"\n icon=\"tuiIconTrash2Large\"\n tuiMode=\"onLight\"\n appearance=\"flat\"\n (click)=\"$event.stopPropagation(); deleteContragentBankAccountClick.emit(bankAccount)\"\n ></button>\n </div> -->\n </div>\n </ng-container>\n\n <ng-template #bankAccountsNotExist>\n <tui-notification size=\"l\">\n <div class=\"flex flex-wrap gap-2 font-medium\">\n \u0423 \u043A\u043E\u043D\u0442\u0440\u0430\u0433\u0435\u043D\u0442\u0430 <span class=\"font-bold\">{{ contragent.name }}</span> \u043D\u0435 \u0443\u043A\u0430\u0437\u0430\u043D\u044B \u0431\u0430\u043D\u043A\u043E\u0432\u0441\u043A\u0438\u0435 \u0440\u0435\u043A\u0432\u0438\u0437\u0438\u0442\u044B.\n </div>\n </tui-notification>\n </ng-template>\n </div>\n </tui-loader>\n </ng-template>\n </sc-accordion>\n <sc-contacts-accordion\n *ngIf=\"contacts$\"\n [contacts$]=\"contacts$\"\n (addContactClick)=\"addContragentContactClick.emit(contragent)\"\n (deleteButtonClick)=\"onDeleteContragentContactClick($event, contragent)\"\n ></sc-contacts-accordion>\n </div>\n </ng-template>\n</sc-accordion>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ScAccordionComponent, selector: "sc-accordion", inputs: ["showAddButton", "showDeleteButton", "showArrow", "open", "size"], outputs: ["addButtonClick", "deleteButtonClick"] }, { kind: "directive", type: i4.ScAccordionContentDirective, selector: "ng-template[scAccordionContent]" }, { kind: "component", type: i5.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "directive", type: i6.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "component", type: i5.TuiNotificationComponent, selector: "tui-notification,a[tuiNotification],button[tuiNotification]", inputs: ["hasIcon", "icon", "status", "size", "hideClose"], outputs: ["close"] }, { kind: "component", type: i7.ScContactsAccordionComponent, selector: "sc-contacts-accordion", inputs: ["contacts$"], outputs: ["addContactClick", "deleteButtonClick"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScContragentsAccordionItemComponent, decorators: [{
60
- type: Component,
61
- args: [{ selector: 'sc-contragents-accordion-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<sc-accordion [showAddButton]=\"false\">\n {{ contragent.name }}\n <span *ngIf=\"$any(contragent).inn as inn\">\u0418\u041D\u041D: {{ inn }}</span>\n\n <ng-template scAccordionContent>\n <div class=\"flex flex-col gap-2\">\n <div class=\"flex gap-2\">\n <div class=\"flex flex-col gap-2 grow\">\n {{ contragent.name }}\n <span *ngIf=\"$any(contragent).inn as inn\">\u0418\u041D\u041D: {{ inn }}</span>\n <span *ngIf=\"$any(contragent).kpp as kpp\">\u041A\u041F\u041F: {{ kpp }}</span>\n </div>\n <!-- \u0424\u0443\u043D\u043A\u0446\u0438\u043E\u043D\u0430\u043B \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u044F \u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0432\u0440\u0435\u043C\u0435\u043D\u043D\u043E \u043D\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044E. -->\n <!-- <button\n tuiIconButton\n size=\"m\"\n type=\"button\"\n icon=\"tuiIconEdit3Large\"\n tuiMode=\"onLight\"\n appearance=\"flat\"\n (click)=\"$event.stopPropagation(); editContragentClick.emit(contragent.id)\"\n ></button>\n <button\n tuiIconButton\n size=\"m\"\n type=\"button\"\n icon=\"tuiIconTrash2Large\"\n tuiMode=\"onLight\"\n appearance=\"flat\"\n (click)=\"$event.stopPropagation(); deleteContragentClick.emit(contragent)\"\n ></button> -->\n </div>\n\n <sc-accordion (addButtonClick)=\"addContragentBankAccountClick.emit(contragent)\">\n \u0411\u0430\u043D\u043A\u043E\u0432\u0441\u043A\u0438\u0435 \u0440\u0435\u043A\u0432\u0438\u0437\u0438\u0442\u044B\n <ng-template scAccordionContent>\n <tui-loader *tuiLet=\"bankAccounts$ | async as bankAccounts\" [overlay]=\"true\" [showLoader]=\"bankAccounts === null\">\n <div class=\"flex flex-col gap-2\">\n <ng-container *ngIf=\"!bankAccounts || bankAccounts.length; else bankAccountsNotExist\">\n <div *ngFor=\"let bankAccount of bankAccounts\" class=\"flex gap-2 border-b border-tui-base-03\">\n <div class=\"flex flex-col gap-2 grow\">\n <span>\u0411\u0430\u043D\u043A: {{ bankAccount.bankName }}</span>\n <span>\u0411\u0418\u041A: {{ bankAccount.bic }}</span>\n <span>\u0420/\u0441\u0447\u0451\u0442: {{ bankAccount.accountNumber }}</span>\n <span>\u041A\u043E\u0440/\u0441\u0447\u0451\u0442: {{ bankAccount.correspondentAccount }}</span>\n <span>\u0412\u0430\u043B\u044E\u0442\u0430: {{ bankAccount.currency.name }}</span>\n </div>\n <!-- <div class=\"flex flex-col md:flex-row gap-4\">\n <button\n tuiIconButton\n size=\"m\"\n type=\"button\"\n icon=\"tuiIconEdit3Large\"\n tuiMode=\"onLight\"\n appearance=\"flat\"\n (click)=\"$event.stopPropagation(); editBankAccountsContragentClick.emit(bankAccount.id)\"\n ></button>\n <button\n tuiIconButton\n size=\"m\"\n type=\"button\"\n icon=\"tuiIconTrash2Large\"\n tuiMode=\"onLight\"\n appearance=\"flat\"\n (click)=\"$event.stopPropagation(); deleteContragentBankAccountClick.emit(bankAccount)\"\n ></button>\n </div> -->\n </div>\n </ng-container>\n\n <ng-template #bankAccountsNotExist>\n <tui-notification size=\"l\">\n <div class=\"flex flex-wrap gap-2 font-medium\">\n \u0423 \u043A\u043E\u043D\u0442\u0440\u0430\u0433\u0435\u043D\u0442\u0430 <span class=\"font-bold\">{{ contragent.name }}</span> \u043D\u0435 \u0443\u043A\u0430\u0437\u0430\u043D\u044B \u0431\u0430\u043D\u043A\u043E\u0432\u0441\u043A\u0438\u0435 \u0440\u0435\u043A\u0432\u0438\u0437\u0438\u0442\u044B.\n </div>\n </tui-notification>\n </ng-template>\n </div>\n </tui-loader>\n </ng-template>\n </sc-accordion>\n <sc-contacts-accordion\n *ngIf=\"contacts$\"\n [contacts$]=\"contacts$\"\n (addContactClick)=\"addContragentContactClick.emit(contragent)\"\n (deleteButtonClick)=\"onDeleteContragentContactClick($event, contragent)\"\n ></sc-contacts-accordion>\n </div>\n </ng-template>\n</sc-accordion>\n" }]
62
- }], ctorParameters: function () { return [{ type: i1.ScContragentService }]; }, propDecorators: { contragent: [{
63
- type: Input
64
- }], deleteContragentClick: [{
65
- type: Output
66
- }], addContragentBankAccountClick: [{
67
- type: Output
68
- }], deleteContragentBankAccountClick: [{
69
- type: Output
70
- }], addContragentContactClick: [{
71
- type: Output
72
- }], deleteContragentContactClick: [{
73
- type: Output
74
- }] } });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY29udHJhZ2VudHMtYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NvbnRyYWdlbnRzL2NvbnRyYWdlbnRzLWFjY29yZGlvbi9jb250cmFnZW50cy1hY2NvcmRpb24taXRlbS9zYy1jb250cmFnZW50cy1hY2NvcmRpb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtdWkvY29udHJhZ2VudHMvY29udHJhZ2VudHMtYWNjb3JkaW9uL2NvbnRyYWdlbnRzLWFjY29yZGlvbi1pdGVtL3NjLWNvbnRyYWdlbnRzLWFjY29yZGlvbi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7OztBQUl4Rzs7R0FFRztBQU1ILE1BQU0sT0FBTyxtQ0FBbUM7SUErQzVDOzs7O09BSUc7SUFDSCxZQUFvQyxpQkFBc0M7UUFBdEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFxQjtRQTdDMUU7O1dBRUc7UUFFSSwwQkFBcUIsR0FBK0IsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFFNUY7O1dBRUc7UUFFSSxrQ0FBNkIsR0FBK0IsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFFcEc7O1dBRUc7UUFFSSxxQ0FBZ0MsR0FBaUMsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFFM0c7O1dBRUc7UUFFSSw4QkFBeUIsR0FBK0IsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFFaEc7O1dBRUc7UUFFSSxpQ0FBNEIsR0FBb0UsSUFBSSxZQUFZLEVBQXFELENBQUM7SUFpQmhHLENBQUM7SUFFOUUsa0JBQWtCO0lBQ1gsUUFBUTtRQUNYLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSw4QkFBOEIsQ0FBQyxPQUFtQixFQUFFLFVBQXdCO1FBQy9FLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7O2dJQXBFUSxtQ0FBbUM7b0hBQW5DLG1DQUFtQyxvYUNaaEQsc3lMQTBGQTsyRkQ5RWEsbUNBQW1DO2tCQUwvQyxTQUFTOytCQUNJLCtCQUErQixtQkFFeEIsdUJBQXVCLENBQUMsTUFBTTswR0FPeEMsVUFBVTtzQkFEaEIsS0FBSztnQkFPQyxxQkFBcUI7c0JBRDNCLE1BQU07Z0JBT0EsNkJBQTZCO3NCQURuQyxNQUFNO2dCQU9BLGdDQUFnQztzQkFEdEMsTUFBTTtnQkFPQSx5QkFBeUI7c0JBRC9CLE1BQU07Z0JBT0EsNEJBQTRCO3NCQURsQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNjQ29udHJhZ2VudCwgU2NDb250cmFnZW50U2VydmljZSwgU2NJQmFua0FjY291bnQsIFNjSUNvbnRhY3QgfSBmcm9tICdAc25hYmNlbnRyL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiDQmtC+0LzQv9C+0L3QtdC90YIg0LrQvtC90YLRgNCw0LPQtdC90YLQsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2MtY29udHJhZ2VudHMtYWNjb3JkaW9uLWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zYy1jb250cmFnZW50cy1hY2NvcmRpb24taXRlbS5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2NDb250cmFnZW50c0FjY29yZGlvbkl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKlxuICAgICAqINCa0L7QvdGC0YDQsNCz0LXQvdGCINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjb250cmFnZW50OiBTY0NvbnRyYWdlbnQ7XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LHRi9GC0LjQtSDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDRg9C00LDQu9C10L3QuNGPINC60L7QvdGC0YDQsNCz0LXQvdGC0LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGRlbGV0ZUNvbnRyYWdlbnRDbGljazogRXZlbnRFbWl0dGVyPFNjQ29udHJhZ2VudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFNjQ29udHJhZ2VudD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINC00L7QsdCw0LLQu9C10L3QuNGPINCx0LDQvdC60L7QstGB0LrQvtCz0L4g0YHRh9GR0YLQsCDQutC+0L3RgtGA0LDQs9C10L3RgtGDLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBhZGRDb250cmFnZW50QmFua0FjY291bnRDbGljazogRXZlbnRFbWl0dGVyPFNjQ29udHJhZ2VudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFNjQ29udHJhZ2VudD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINGD0LTQsNC70LXQvdC40Y8g0LHQsNC90LrQvtCy0YHQutC+0LPQviDRgdGH0ZHRgtCwINC60L7QvdGC0YDQsNCz0LXQvdGC0LAuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGRlbGV0ZUNvbnRyYWdlbnRCYW5rQWNjb3VudENsaWNrOiBFdmVudEVtaXR0ZXI8U2NJQmFua0FjY291bnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxTY0lCYW5rQWNjb3VudD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINC00L7QsdCw0LLQu9C10L3QuNGPINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAg0LrQvtC90YLRgNCw0LPQtdC90YLRgy5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgYWRkQ29udHJhZ2VudENvbnRhY3RDbGljazogRXZlbnRFbWl0dGVyPFNjQ29udHJhZ2VudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFNjQ29udHJhZ2VudD4oKTtcblxuICAgIC8qKlxuICAgICAqINCh0L7QsdGL0YLQuNC1INC90LDQttCw0YLQuNGPINC90LAg0LrQvdC+0L/QutGDINGD0LTQsNC70LXQvdC40Y8g0LrQvtC90YLQsNC60YLQvdC+0LPQviDQu9C40YbQsCDRgyDQutC+0L3RgtGA0LDQs9C10L3RgtCwLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBkZWxldGVDb250cmFnZW50Q29udGFjdENsaWNrOiBFdmVudEVtaXR0ZXI8eyBjb250YWN0OiBTY0lDb250YWN0OyBjb250cmFnZW50OiBTY0NvbnRyYWdlbnQgfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHsgY29udGFjdDogU2NJQ29udGFjdDsgY29udHJhZ2VudDogU2NDb250cmFnZW50IH0+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC/0LjRgdC+0Log0LHQsNC90LrQvtCy0YHQutC40YUg0YHRh9C10YLQvtCyINC60L7QvdGC0YDQsNCz0LXQvdGC0LAuXG4gICAgICovXG4gICAgcHVibGljIGJhbmtBY2NvdW50cyQ/OiBPYnNlcnZhYmxlPFNjSUJhbmtBY2NvdW50W10gfCBudWxsPjtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDQsdCw0L3QutC+0LLRgdC60LjRhSDRgdGH0LXRgtC+0LIg0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29udGFjdHMkPzogT2JzZXJ2YWJsZTxTY0lDb250YWN0W10gfCBudWxsPjtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NDb250cmFnZW50c0FjY29yZGlvbkl0ZW1Db21wb25lbnR9LlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbnRyYWdlbnRTZXJ2aWNlINCh0LXRgNCy0LjRgSDRgNCw0LHQvtGC0Ysg0YEg0LrQvtC90YLRgNCw0LPQtdC90YLQsNC80LguXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY29udHJhZ2VudFNlcnZpY2U6IFNjQ29udHJhZ2VudFNlcnZpY2UpIHt9XG5cbiAgICAvKiogQGluaGVyaXREb2MgKi9cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYmFua0FjY291bnRzJCA9IHRoaXMuY29udHJhZ2VudFNlcnZpY2UuZ2V0Q29udHJhZ2VudEJhbmtBY2NvdW50cyQodGhpcy5jb250cmFnZW50LmlkKTtcbiAgICAgICAgdGhpcy5jb250YWN0cyQgPSB0aGlzLmNvbnRyYWdlbnRTZXJ2aWNlLmdldENvbnRyYWdlbnRDb250YWN0cyQodGhpcy5jb250cmFnZW50LmlkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntCx0YDQsNCx0L7RgtGH0LjQuiDQvdCw0LbQsNGC0LjRjyDQvdCwINC60L3QvtC/0LrRgyDRg9C00LDQu9C10L3QuNGPINC60L7QvdGC0LDQutGC0L3QvtCz0L4g0LvQuNGG0LAg0YMg0LrQvtC90YLRgNCw0LPQtdC90YLQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb250YWN0INCa0L7QvdGC0LDQutGC0L3QvtC1INC70LjRhtC+LlxuICAgICAqIEBwYXJhbSBjb250cmFnZW50INCa0L7QvdGC0YDQsNCz0LXQvdGCLlxuICAgICAqL1xuICAgIHB1YmxpYyBvbkRlbGV0ZUNvbnRyYWdlbnRDb250YWN0Q2xpY2soY29udGFjdDogU2NJQ29udGFjdCwgY29udHJhZ2VudDogU2NDb250cmFnZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVsZXRlQ29udHJhZ2VudENvbnRhY3RDbGljay5lbWl0KHsgY29udGFjdDogY29udGFjdCwgY29udHJhZ2VudDogY29udHJhZ2VudCB9KTtcbiAgICB9XG59XG4iLCI8c2MtYWNjb3JkaW9uIFtzaG93QWRkQnV0dG9uXT1cImZhbHNlXCI+XG4gICAge3sgY29udHJhZ2VudC5uYW1lIH19XG4gICAgPHNwYW4gKm5nSWY9XCIkYW55KGNvbnRyYWdlbnQpLmlubiBhcyBpbm5cIj7QmNCd0J06IHt7IGlubiB9fTwvc3Bhbj5cblxuICAgIDxuZy10ZW1wbGF0ZSBzY0FjY29yZGlvbkNvbnRlbnQ+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0yXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMlwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0yIGdyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgY29udHJhZ2VudC5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiJGFueShjb250cmFnZW50KS5pbm4gYXMgaW5uXCI+0JjQndCdOiB7eyBpbm4gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiJGFueShjb250cmFnZW50KS5rcHAgYXMga3BwXCI+0JrQn9CfOiB7eyBrcHAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPCEtLSDQpNGD0L3QutGG0LjQvtC90LDQuyDRg9C00LDQu9C10L3QuNGPINC4INGA0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40Y8g0LLRgNC10LzQtdC90L3QviDQvdC1INC00L7RgdGC0YPQv9C10L0g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GOLiAtLT5cbiAgICAgICAgICAgICAgICA8IS0tIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBpY29uPVwidHVpSWNvbkVkaXQzTGFyZ2VcIlxuICAgICAgICAgICAgICAgICAgICB0dWlNb2RlPVwib25MaWdodFwiXG4gICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJmbGF0XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgZWRpdENvbnRyYWdlbnRDbGljay5lbWl0KGNvbnRyYWdlbnQuaWQpXCJcbiAgICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGljb249XCJ0dWlJY29uVHJhc2gyTGFyZ2VcIlxuICAgICAgICAgICAgICAgICAgICB0dWlNb2RlPVwib25MaWdodFwiXG4gICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJmbGF0XCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgZGVsZXRlQ29udHJhZ2VudENsaWNrLmVtaXQoY29udHJhZ2VudClcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj4gLS0+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPHNjLWFjY29yZGlvbiAoYWRkQnV0dG9uQ2xpY2spPVwiYWRkQ29udHJhZ2VudEJhbmtBY2NvdW50Q2xpY2suZW1pdChjb250cmFnZW50KVwiPlxuICAgICAgICAgICAgICAgINCR0LDQvdC60L7QstGB0LrQuNC1INGA0LXQutCy0LjQt9C40YLRi1xuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBzY0FjY29yZGlvbkNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDx0dWktbG9hZGVyICp0dWlMZXQ9XCJiYW5rQWNjb3VudHMkIHwgYXN5bmMgYXMgYmFua0FjY291bnRzXCIgW292ZXJsYXldPVwidHJ1ZVwiIFtzaG93TG9hZGVyXT1cImJhbmtBY2NvdW50cyA9PT0gbnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWJhbmtBY2NvdW50cyB8fCBiYW5rQWNjb3VudHMubGVuZ3RoOyBlbHNlIGJhbmtBY2NvdW50c05vdEV4aXN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGJhbmtBY2NvdW50IG9mIGJhbmtBY2NvdW50c1wiIGNsYXNzPVwiZmxleCBnYXAtMiBib3JkZXItYiBib3JkZXItdHVpLWJhc2UtMDNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0yIGdyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj7QkdCw0L3Qujoge3sgYmFua0FjY291bnQuYmFua05hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+0JHQmNCaOiB7eyBiYW5rQWNjb3VudC5iaWMgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+0KAv0YHRh9GR0YI6IHt7IGJhbmtBY2NvdW50LmFjY291bnROdW1iZXIgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+0JrQvtGAL9GB0YfRkdGCOiB7eyBiYW5rQWNjb3VudC5jb3JyZXNwb25kZW50QWNjb3VudCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj7QktCw0LvRjtGC0LA6IHt7IGJhbmtBY2NvdW50LmN1cnJlbmN5Lm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgbWQ6ZmxleC1yb3cgZ2FwLTRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInR1aUljb25FZGl0M0xhcmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpTW9kZT1cIm9uTGlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7IGVkaXRCYW5rQWNjb3VudHNDb250cmFnZW50Q2xpY2suZW1pdChiYW5rQWNjb3VudC5pZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInR1aUljb25UcmFzaDJMYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aU1vZGU9XCJvbkxpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImZsYXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBkZWxldGVDb250cmFnZW50QmFua0FjY291bnRDbGljay5lbWl0KGJhbmtBY2NvdW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYmFua0FjY291bnRzTm90RXhpc3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktbm90aWZpY2F0aW9uIHNpemU9XCJsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgZ2FwLTIgZm9udC1tZWRpdW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQoyDQutC+0L3RgtGA0LDQs9C10L3RgtCwIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkXCI+e3sgY29udHJhZ2VudC5uYW1lIH19PC9zcGFuPiDQvdC1INGD0LrQsNC30LDQvdGLINCx0LDQvdC60L7QstGB0LrQuNC1INGA0LXQutCy0LjQt9C40YLRiy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R1aS1ub3RpZmljYXRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L3R1aS1sb2FkZXI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvc2MtYWNjb3JkaW9uPlxuICAgICAgICAgICAgPHNjLWNvbnRhY3RzLWFjY29yZGlvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwiY29udGFjdHMkXCJcbiAgICAgICAgICAgICAgICBbY29udGFjdHMkXT1cImNvbnRhY3RzJFwiXG4gICAgICAgICAgICAgICAgKGFkZENvbnRhY3RDbGljayk9XCJhZGRDb250cmFnZW50Q29udGFjdENsaWNrLmVtaXQoY29udHJhZ2VudClcIlxuICAgICAgICAgICAgICAgIChkZWxldGVCdXR0b25DbGljayk9XCJvbkRlbGV0ZUNvbnRyYWdlbnRDb250YWN0Q2xpY2soJGV2ZW50LCBjb250cmFnZW50KVwiXG4gICAgICAgICAgICA+PC9zYy1jb250YWN0cy1hY2NvcmRpb24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L3NjLWFjY29yZGlvbj5cbiJdfQ==
@@ -1,61 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import { ScISuggestionType } from '@snabcentr/client-core';
3
- import { scAccountNumberMask, scBicMask, scCorrespondentAccount } from '../../masks';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@snabcentr/client-core";
6
- import * as i2 from "@angular/forms";
7
- import * as i3 from "@angular/common";
8
- import * as i4 from "@taiga-ui/core";
9
- import * as i5 from "@taiga-ui/kit";
10
- import * as i6 from "@maskito/angular";
11
- import * as i7 from "../../form-fields/suggestion-field/sc-suggestion-field.component";
12
- /**
13
- * Компонент формы банковских реквизитов.
14
- */
15
- export class ScNewContragentBankAccountsFormComponent {
16
- /**
17
- * Инициализирует экземпляр класса {@link ScContragentBankAccountsFormComponent}.
18
- *
19
- * @param referencesService Сервис справочников.
20
- */
21
- constructor(referencesService) {
22
- this.referencesService = referencesService;
23
- /**
24
- * Перечисление типов подсказок.
25
- */
26
- this.suggestionType = ScISuggestionType;
27
- /**
28
- * Маска поля ввода БИК.
29
- */
30
- this.bicMask = scBicMask;
31
- /**
32
- * Маска поля ввода номера счета.
33
- */
34
- this.accountNumberMask = scAccountNumberMask;
35
- /**
36
- * Маска поля ввода номера корреспондентского счета.
37
- */
38
- this.correspondentAccount = scCorrespondentAccount;
39
- /**
40
- * {@link Observable} списка валют.
41
- */
42
- this.currencies$ = this.referencesService.currencies$;
43
- }
44
- /**
45
- * Возвращает {@link Observable} валюты по идентификатору.
46
- *
47
- * @param currencyId Идентификатор валюты.
48
- */
49
- getCurrencyById$(currencyId) {
50
- return this.referencesService.getCurrencyById$(currencyId);
51
- }
52
- }
53
- ScNewContragentBankAccountsFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScNewContragentBankAccountsFormComponent, deps: [{ token: i1.ScReferencesService }], target: i0.ɵɵFactoryTarget.Component });
54
- ScNewContragentBankAccountsFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ScNewContragentBankAccountsFormComponent, selector: "sc-new-contragent-bank-account-form", inputs: { form: "form" }, ngImport: i0, template: "<div [formGroup]=\"form\" class=\"flex flex-col gap-3\">\n <label tuiLabel=\"\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u0431\u0430\u043D\u043A\u0430\">\n <tui-input formControlName=\"bankName\">\n \u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u0431\u0430\u043D\u043A\u0430\n <sc-suggestion-field *tuiDataList [type]=\"suggestionType.bank\"></sc-suggestion-field>\n </tui-input>\n <tui-error formControlName=\"bankName\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n <label tuiLabel=\"\u0411\u0418\u041A\">\n <tui-input formControlName=\"bic\">\n \u0411\u0418\u041A\n <input tuiTextfield [maskito]=\"bicMask\" autocomplete=\"bic\" />\n <sc-suggestion-field *tuiDataList [type]=\"suggestionType.bank\"></sc-suggestion-field>\n </tui-input>\n <tui-error formControlName=\"bic\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n <label tuiLabel=\"\u041D\u043E\u043C\u0435\u0440 \u0441\u0447\u0435\u0442\u0430\">\n <tui-input formControlName=\"accountNumber\">\n \u041D\u043E\u043C\u0435\u0440 \u0441\u0447\u0435\u0442\u0430\n <input tuiTextfield [maskito]=\"accountNumberMask\" autocomplete=\"accountNumber\" />\n </tui-input>\n <tui-error formControlName=\"accountNumber\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n <label tuiLabel=\"\u041A\u043E\u0440\u0440\u0435\u0441\u043F\u043E\u043D\u0434\u0435\u043D\u0442\u0441\u043A\u0438\u0439 \u0441\u0447\u0435\u0442\">\n <tui-input formControlName=\"correspondentAccount\">\n \u041A\u043E\u0440\u0440\u0435\u0441\u043F\u043E\u043D\u0434\u0435\u043D\u0442\u0441\u043A\u0438\u0439 \u0441\u0447\u0435\u0442\n <input tuiTextfield [maskito]=\"correspondentAccount\" autocomplete=\"correspondentAccount\" />\n </tui-input>\n <tui-error formControlName=\"correspondentAccount\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n <label tuiLabel=\"\u0412\u0430\u043B\u044E\u0442\u0430 \u0440\u0430\u0441\u0447\u0451\u0442\u043E\u0432\">\n <tui-select formControlName=\"currencyId\" [valueContent]=\"currencyContent\">\n \u0412\u0430\u043B\u044E\u0442\u0430 \u0440\u0430\u0441\u0447\u0451\u0442\u043E\u0432\n <tui-data-list *tuiDataList>\n <button *ngFor=\"let item of currencies$ | async; let index = index\" tuiOption [value]=\"item.id\">{{ item.name }} ({{ item.symbol }})</button>\n </tui-data-list>\n </tui-select>\n <ng-template #currencyContent let-data>\n <div>{{ (getCurrencyById$(data) | async)?.name }}</div>\n </ng-template>\n <tui-error formControlName=\"currencyId\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.TuiErrorComponent, selector: "tui-error", inputs: ["error"] }, { kind: "component", type: i5.TuiSelectComponent, selector: "tui-select", inputs: ["stringify", "identityMatcher", "valueContent"] }, { kind: "directive", type: i5.TuiSelectDirective, selector: "tui-select" }, { kind: "component", type: i4.TuiTextfieldComponent, selector: "input[tuiTextfield], textarea[tuiTextfield]" }, { kind: "component", type: i4.TuiDataListComponent, selector: "tui-data-list", inputs: ["role", "emptyContent", "size"] }, { kind: "component", type: i4.TuiOptionComponent, selector: "button[tuiOption], a[tuiOption]", inputs: ["size", "role", "disabled", "value"] }, { kind: "directive", type: i4.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "component", type: i4.TuiLabelComponent, selector: "label[tuiLabel]", inputs: ["tuiLabel", "context"] }, { kind: "component", type: i5.TuiInputComponent, selector: "tui-input" }, { kind: "directive", type: i5.TuiInputDirective, selector: "tui-input" }, { kind: "directive", type: i6.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "directive", type: i6.MaskitoCva, selector: "input[maskito], textarea[maskito]", inputs: ["maskito"] }, { kind: "component", type: i7.ScSuggestionFieldComponent, selector: "sc-suggestion-field", inputs: ["type"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TuiFieldErrorPipe, name: "tuiFieldError" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ScNewContragentBankAccountsFormComponent, decorators: [{
56
- type: Component,
57
- args: [{ selector: 'sc-new-contragent-bank-account-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [formGroup]=\"form\" class=\"flex flex-col gap-3\">\n <label tuiLabel=\"\u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u0431\u0430\u043D\u043A\u0430\">\n <tui-input formControlName=\"bankName\">\n \u041D\u0430\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u0438\u0435 \u0431\u0430\u043D\u043A\u0430\n <sc-suggestion-field *tuiDataList [type]=\"suggestionType.bank\"></sc-suggestion-field>\n </tui-input>\n <tui-error formControlName=\"bankName\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n <label tuiLabel=\"\u0411\u0418\u041A\">\n <tui-input formControlName=\"bic\">\n \u0411\u0418\u041A\n <input tuiTextfield [maskito]=\"bicMask\" autocomplete=\"bic\" />\n <sc-suggestion-field *tuiDataList [type]=\"suggestionType.bank\"></sc-suggestion-field>\n </tui-input>\n <tui-error formControlName=\"bic\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n <label tuiLabel=\"\u041D\u043E\u043C\u0435\u0440 \u0441\u0447\u0435\u0442\u0430\">\n <tui-input formControlName=\"accountNumber\">\n \u041D\u043E\u043C\u0435\u0440 \u0441\u0447\u0435\u0442\u0430\n <input tuiTextfield [maskito]=\"accountNumberMask\" autocomplete=\"accountNumber\" />\n </tui-input>\n <tui-error formControlName=\"accountNumber\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n <label tuiLabel=\"\u041A\u043E\u0440\u0440\u0435\u0441\u043F\u043E\u043D\u0434\u0435\u043D\u0442\u0441\u043A\u0438\u0439 \u0441\u0447\u0435\u0442\">\n <tui-input formControlName=\"correspondentAccount\">\n \u041A\u043E\u0440\u0440\u0435\u0441\u043F\u043E\u043D\u0434\u0435\u043D\u0442\u0441\u043A\u0438\u0439 \u0441\u0447\u0435\u0442\n <input tuiTextfield [maskito]=\"correspondentAccount\" autocomplete=\"correspondentAccount\" />\n </tui-input>\n <tui-error formControlName=\"correspondentAccount\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n <label tuiLabel=\"\u0412\u0430\u043B\u044E\u0442\u0430 \u0440\u0430\u0441\u0447\u0451\u0442\u043E\u0432\">\n <tui-select formControlName=\"currencyId\" [valueContent]=\"currencyContent\">\n \u0412\u0430\u043B\u044E\u0442\u0430 \u0440\u0430\u0441\u0447\u0451\u0442\u043E\u0432\n <tui-data-list *tuiDataList>\n <button *ngFor=\"let item of currencies$ | async; let index = index\" tuiOption [value]=\"item.id\">{{ item.name }} ({{ item.symbol }})</button>\n </tui-data-list>\n </tui-select>\n <ng-template #currencyContent let-data>\n <div>{{ (getCurrencyById$(data) | async)?.name }}</div>\n </ng-template>\n <tui-error formControlName=\"currencyId\" [error]=\"[] | tuiFieldError | async\"></tui-error>\n </label>\n</div>\n" }]
58
- }], ctorParameters: function () { return [{ type: i1.ScReferencesService }]; }, propDecorators: { form: [{
59
- type: Input
60
- }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtbmV3LWNvbnRyYWdlbnQtYmFuay1hY2NvdW50LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXVpL2NvbnRyYWdlbnRzL25ldy1jb250cmFnZW50LWJhbmstYWNjb3VudC1mb3JtL3NjLW5ldy1jb250cmFnZW50LWJhbmstYWNjb3VudC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC11aS9jb250cmFnZW50cy9uZXctY29udHJhZ2VudC1iYW5rLWFjY291bnQtZm9ybS9zYy1uZXctY29udHJhZ2VudC1iYW5rLWFjY291bnQtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQWUsaUJBQWlCLEVBQXVCLE1BQU0sd0JBQXdCLENBQUM7QUFFN0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7O0FBR3JGOztHQUVHO0FBTUgsTUFBTSxPQUFPLHdDQUF3QztJQXNDakQ7Ozs7T0FJRztJQUNILFlBQW9DLGlCQUFzQztRQUF0QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXFCO1FBMUMxRTs7V0FFRztRQUNhLG1CQUFjLEdBQTZCLGlCQUFpQixDQUFDO1FBRTdFOztXQUVHO1FBQ2EsWUFBTyxHQUFtQixTQUFTLENBQUM7UUFFcEQ7O1dBRUc7UUFDYSxzQkFBaUIsR0FBbUIsbUJBQW1CLENBQUM7UUFFeEU7O1dBRUc7UUFDYSx5QkFBb0IsR0FBbUIsc0JBQXNCLENBQUM7UUFFOUU7O1dBRUc7UUFDYSxnQkFBVyxHQUE4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDO0lBbUJmLENBQUM7SUFFOUU7Ozs7T0FJRztJQUNJLGdCQUFnQixDQUFDLFVBQWtCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7O3FJQXBEUSx3Q0FBd0M7eUhBQXhDLHdDQUF3QyxxR0NmckQsODJGQTJDQTsyRkQ1QmEsd0NBQXdDO2tCQUxwRCxTQUFTOytCQUNJLHFDQUFxQyxtQkFFOUIsdUJBQXVCLENBQUMsTUFBTTswR0FnQ3hDLElBQUk7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2NJQ3VycmVuY3ksIFNjSVN1Z2dlc3Rpb25UeXBlLCBTY1JlZmVyZW5jZXNTZXJ2aWNlIH0gZnJvbSAnQHNuYWJjZW50ci9jbGllbnQtY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzY0FjY291bnROdW1iZXJNYXNrLCBzY0JpY01hc2ssIHNjQ29ycmVzcG9uZGVudEFjY291bnQgfSBmcm9tICcuLi8uLi9tYXNrcyc7XG5pbXBvcnQgeyBNYXNraXRvT3B0aW9ucyB9IGZyb20gJ0BtYXNraXRvL2NvcmUnO1xuXG4vKipcbiAqINCa0L7QvNC/0L7QvdC10L3RgiDRhNC+0YDQvNGLINCx0LDQvdC60L7QstGB0LrQuNGFINGA0LXQutCy0LjQt9C40YLQvtCyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NjLW5ldy1jb250cmFnZW50LWJhbmstYWNjb3VudC1mb3JtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2MtbmV3LWNvbnRyYWdlbnQtYmFuay1hY2NvdW50LWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNjTmV3Q29udHJhZ2VudEJhbmtBY2NvdW50c0Zvcm1Db21wb25lbnQge1xuICAgIC8qKlxuICAgICAqINCf0LXRgNC10YfQuNGB0LvQtdC90LjQtSDRgtC40L/QvtCyINC/0L7QtNGB0LrQsNC30L7Qui5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc3VnZ2VzdGlvblR5cGU6IHR5cGVvZiBTY0lTdWdnZXN0aW9uVHlwZSA9IFNjSVN1Z2dlc3Rpb25UeXBlO1xuXG4gICAgLyoqXG4gICAgICog0JzQsNGB0LrQsCDQv9C+0LvRjyDQstCy0L7QtNCwINCR0JjQmi5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgYmljTWFzazogTWFza2l0b09wdGlvbnMgPSBzY0JpY01hc2s7XG5cbiAgICAvKipcbiAgICAgKiDQnNCw0YHQutCwINC/0L7Qu9GPINCy0LLQvtC00LAg0L3QvtC80LXRgNCwINGB0YfQtdGC0LAuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGFjY291bnROdW1iZXJNYXNrOiBNYXNraXRvT3B0aW9ucyA9IHNjQWNjb3VudE51bWJlck1hc2s7XG5cbiAgICAvKipcbiAgICAgKiDQnNCw0YHQutCwINC/0L7Qu9GPINCy0LLQvtC00LAg0L3QvtC80LXRgNCwINC60L7RgNGA0LXRgdC/0L7QvdC00LXQvdGC0YHQutC+0LPQviDRgdGH0LXRgtCwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBjb3JyZXNwb25kZW50QWNjb3VudDogTWFza2l0b09wdGlvbnMgPSBzY0NvcnJlc3BvbmRlbnRBY2NvdW50O1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INGB0L/QuNGB0LrQsCDQstCw0LvRjtGCLlxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBjdXJyZW5jaWVzJDogT2JzZXJ2YWJsZTxTY0lDdXJyZW5jeVtdPiA9IHRoaXMucmVmZXJlbmNlc1NlcnZpY2UuY3VycmVuY2llcyQ7XG5cbiAgICAvKipcbiAgICAgKiDQk9GA0YPQv9C/0LAg0YEg0L/QvtC70LXQvCDQsdCw0L3QutC+0LLRgdC60LjRhSDRgNC10LrQstC40LfQuNGC0L7Qsi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmb3JtOiBGb3JtR3JvdXA8e1xuICAgICAgICBiYW5rTmFtZTogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG4gICAgICAgIGJpYzogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG4gICAgICAgIGFjY291bnROdW1iZXI6IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuICAgICAgICBjb3JyZXNwb25kZW50QWNjb3VudDogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG4gICAgICAgIGN1cnJlbmN5SWQ6IEZvcm1Db250cm9sPG51bWJlciB8IG51bGw+O1xuICAgIH0+O1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY0NvbnRyYWdlbnRCYW5rQWNjb3VudHNGb3JtQ29tcG9uZW50fS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSByZWZlcmVuY2VzU2VydmljZSDQodC10YDQstC40YEg0YHQv9GA0LDQstC+0YfQvdC40LrQvtCyLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHJlZmVyZW5jZXNTZXJ2aWNlOiBTY1JlZmVyZW5jZXNTZXJ2aWNlKSB7fVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INCy0LDQu9GO0YLRiyDQv9C+INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0YMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY3VycmVuY3lJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQstCw0LvRjtGC0YsuXG4gICAgICovXG4gICAgcHVibGljIGdldEN1cnJlbmN5QnlJZCQoY3VycmVuY3lJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTY0lDdXJyZW5jeSB8IHVuZGVmaW5lZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWZlcmVuY2VzU2VydmljZS5nZXRDdXJyZW5jeUJ5SWQkKGN1cnJlbmN5SWQpO1xuICAgIH1cbn1cbiIsIjxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0zXCI+XG4gICAgPGxhYmVsIHR1aUxhYmVsPVwi0J3QsNC40LzQtdC90L7QstCw0L3QuNC1INCx0LDQvdC60LBcIj5cbiAgICAgICAgPHR1aS1pbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJiYW5rTmFtZVwiPlxuICAgICAgICAgICAg0J3QsNC40LzQtdC90L7QstCw0L3QuNC1INCx0LDQvdC60LBcbiAgICAgICAgICAgIDxzYy1zdWdnZXN0aW9uLWZpZWxkICp0dWlEYXRhTGlzdCBbdHlwZV09XCJzdWdnZXN0aW9uVHlwZS5iYW5rXCI+PC9zYy1zdWdnZXN0aW9uLWZpZWxkPlxuICAgICAgICA8L3R1aS1pbnB1dD5cbiAgICAgICAgPHR1aS1lcnJvciBmb3JtQ29udHJvbE5hbWU9XCJiYW5rTmFtZVwiIFtlcnJvcl09XCJbXSB8IHR1aUZpZWxkRXJyb3IgfCBhc3luY1wiPjwvdHVpLWVycm9yPlxuICAgIDwvbGFiZWw+XG4gICAgPGxhYmVsIHR1aUxhYmVsPVwi0JHQmNCaXCI+XG4gICAgICAgIDx0dWktaW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiYmljXCI+XG4gICAgICAgICAgICDQkdCY0JpcbiAgICAgICAgICAgIDxpbnB1dCB0dWlUZXh0ZmllbGQgW21hc2tpdG9dPVwiYmljTWFza1wiIGF1dG9jb21wbGV0ZT1cImJpY1wiIC8+XG4gICAgICAgICAgICA8c2Mtc3VnZ2VzdGlvbi1maWVsZCAqdHVpRGF0YUxpc3QgW3R5cGVdPVwic3VnZ2VzdGlvblR5cGUuYmFua1wiPjwvc2Mtc3VnZ2VzdGlvbi1maWVsZD5cbiAgICAgICAgPC90dWktaW5wdXQ+XG4gICAgICAgIDx0dWktZXJyb3IgZm9ybUNvbnRyb2xOYW1lPVwiYmljXCIgW2Vycm9yXT1cIltdIHwgdHVpRmllbGRFcnJvciB8IGFzeW5jXCI+PC90dWktZXJyb3I+XG4gICAgPC9sYWJlbD5cbiAgICA8bGFiZWwgdHVpTGFiZWw9XCLQndC+0LzQtdGAINGB0YfQtdGC0LBcIj5cbiAgICAgICAgPHR1aS1pbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJhY2NvdW50TnVtYmVyXCI+XG4gICAgICAgICAgICDQndC+0LzQtdGAINGB0YfQtdGC0LBcbiAgICAgICAgICAgIDxpbnB1dCB0dWlUZXh0ZmllbGQgW21hc2tpdG9dPVwiYWNjb3VudE51bWJlck1hc2tcIiBhdXRvY29tcGxldGU9XCJhY2NvdW50TnVtYmVyXCIgLz5cbiAgICAgICAgPC90dWktaW5wdXQ+XG4gICAgICAgIDx0dWktZXJyb3IgZm9ybUNvbnRyb2xOYW1lPVwiYWNjb3VudE51bWJlclwiIFtlcnJvcl09XCJbXSB8IHR1aUZpZWxkRXJyb3IgfCBhc3luY1wiPjwvdHVpLWVycm9yPlxuICAgIDwvbGFiZWw+XG4gICAgPGxhYmVsIHR1aUxhYmVsPVwi0JrQvtGA0YDQtdGB0L/QvtC90LTQtdC90YLRgdC60LjQuSDRgdGH0LXRglwiPlxuICAgICAgICA8dHVpLWlucHV0IGZvcm1Db250cm9sTmFtZT1cImNvcnJlc3BvbmRlbnRBY2NvdW50XCI+XG4gICAgICAgICAgICDQmtC+0YDRgNC10YHQv9C+0L3QtNC10L3RgtGB0LrQuNC5INGB0YfQtdGCXG4gICAgICAgICAgICA8aW5wdXQgdHVpVGV4dGZpZWxkIFttYXNraXRvXT1cImNvcnJlc3BvbmRlbnRBY2NvdW50XCIgYXV0b2NvbXBsZXRlPVwiY29ycmVzcG9uZGVudEFjY291bnRcIiAvPlxuICAgICAgICA8L3R1aS1pbnB1dD5cbiAgICAgICAgPHR1aS1lcnJvciBmb3JtQ29udHJvbE5hbWU9XCJjb3JyZXNwb25kZW50QWNjb3VudFwiIFtlcnJvcl09XCJbXSB8IHR1aUZpZWxkRXJyb3IgfCBhc3luY1wiPjwvdHVpLWVycm9yPlxuICAgIDwvbGFiZWw+XG4gICAgPGxhYmVsIHR1aUxhYmVsPVwi0JLQsNC70Y7RgtCwINGA0LDRgdGH0ZHRgtC+0LJcIj5cbiAgICAgICAgPHR1aS1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiY3VycmVuY3lJZFwiIFt2YWx1ZUNvbnRlbnRdPVwiY3VycmVuY3lDb250ZW50XCI+XG4gICAgICAgICAgICDQktCw0LvRjtGC0LAg0YDQsNGB0YfRkdGC0L7QslxuICAgICAgICAgICAgPHR1aS1kYXRhLWxpc3QgKnR1aURhdGFMaXN0PlxuICAgICAgICAgICAgICAgIDxidXR0b24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgY3VycmVuY2llcyQgfCBhc3luYzsgbGV0IGluZGV4ID0gaW5kZXhcIiB0dWlPcHRpb24gW3ZhbHVlXT1cIml0ZW0uaWRcIj57eyBpdGVtLm5hbWUgfX0gKHt7IGl0ZW0uc3ltYm9sIH19KTwvYnV0dG9uPlxuICAgICAgICAgICAgPC90dWktZGF0YS1saXN0PlxuICAgICAgICA8L3R1aS1zZWxlY3Q+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjY3VycmVuY3lDb250ZW50IGxldC1kYXRhPlxuICAgICAgICAgICAgPGRpdj57eyAoZ2V0Q3VycmVuY3lCeUlkJChkYXRhKSB8IGFzeW5jKT8ubmFtZSB9fTwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8dHVpLWVycm9yIGZvcm1Db250cm9sTmFtZT1cImN1cnJlbmN5SWRcIiBbZXJyb3JdPVwiW10gfCB0dWlGaWVsZEVycm9yIHwgYXN5bmNcIj48L3R1aS1lcnJvcj5cbiAgICA8L2xhYmVsPlxuPC9kaXY+XG4iXX0=