@evotor-dev/ui-kit 6.1.1 → 6.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (410) hide show
  1. package/.releaserc.json +6 -6
  2. package/README.md +117 -117
  3. package/assets/color-icons/404.svg +11 -11
  4. package/assets/color-icons/alert-circle.svg +6 -6
  5. package/assets/color-icons/alert-triangle.svg +6 -6
  6. package/assets/color-icons/application.svg +6 -6
  7. package/assets/color-icons/backup.svg +17 -17
  8. package/assets/color-icons/bank.svg +12 -12
  9. package/assets/color-icons/barcode.svg +12 -12
  10. package/assets/color-icons/big-data.svg +17 -17
  11. package/assets/color-icons/biil.svg +10 -10
  12. package/assets/color-icons/bill.svg +10 -10
  13. package/assets/color-icons/blank.svg +10 -10
  14. package/assets/color-icons/card-attention.svg +20 -20
  15. package/assets/color-icons/card.svg +9 -9
  16. package/assets/color-icons/cards.svg +18 -18
  17. package/assets/color-icons/cash.svg +19 -19
  18. package/assets/color-icons/check.svg +6 -6
  19. package/assets/color-icons/clock.svg +6 -6
  20. package/assets/color-icons/cloud.svg +6 -6
  21. package/assets/color-icons/code.svg +14 -14
  22. package/assets/color-icons/comment-approved.svg +20 -20
  23. package/assets/color-icons/comment-declined.svg +19 -19
  24. package/assets/color-icons/comment.svg +20 -20
  25. package/assets/color-icons/data-matrix-znak.svg +23 -23
  26. package/assets/color-icons/data-matrix.svg +29 -29
  27. package/assets/color-icons/document-fail.svg +14 -14
  28. package/assets/color-icons/document-signed.svg +15 -15
  29. package/assets/color-icons/document.svg +11 -11
  30. package/assets/color-icons/evotor-payment.svg +17 -17
  31. package/assets/color-icons/gift.svg +17 -17
  32. package/assets/color-icons/highlight.svg +21 -21
  33. package/assets/color-icons/hr.svg +22 -22
  34. package/assets/color-icons/info-circle.svg +6 -6
  35. package/assets/color-icons/link.svg +11 -11
  36. package/assets/color-icons/mail-new.svg +10 -10
  37. package/assets/color-icons/market.svg +13 -13
  38. package/assets/color-icons/money.svg +17 -17
  39. package/assets/color-icons/news.svg +10 -10
  40. package/assets/color-icons/not-found.svg +15 -15
  41. package/assets/color-icons/number-1.svg +6 -6
  42. package/assets/color-icons/number-2.svg +6 -6
  43. package/assets/color-icons/number-3.svg +6 -6
  44. package/assets/color-icons/number.svg +6 -6
  45. package/assets/color-icons/numbers.svg +13 -13
  46. package/assets/color-icons/ok.svg +6 -6
  47. package/assets/color-icons/person.svg +9 -9
  48. package/assets/color-icons/phone.svg +13 -13
  49. package/assets/color-icons/piechart.svg +15 -15
  50. package/assets/color-icons/power.svg +10 -10
  51. package/assets/color-icons/production.svg +24 -24
  52. package/assets/color-icons/purse.svg +12 -12
  53. package/assets/color-icons/qr.svg +6 -6
  54. package/assets/color-icons/rating.svg +19 -19
  55. package/assets/color-icons/recommended.svg +12 -12
  56. package/assets/color-icons/sbp.svg +6 -6
  57. package/assets/color-icons/settings.svg +6 -6
  58. package/assets/color-icons/shelf.svg +11 -11
  59. package/assets/color-icons/sim-activated.svg +20 -20
  60. package/assets/color-icons/sim-cancel.svg +19 -19
  61. package/assets/color-icons/sim-normal.svg +16 -16
  62. package/assets/color-icons/sim-waiting.svg +19 -19
  63. package/assets/color-icons/software-check.svg +16 -16
  64. package/assets/color-icons/software-fail.svg +15 -15
  65. package/assets/color-icons/software-support.svg +11 -11
  66. package/assets/color-icons/software.svg +11 -11
  67. package/assets/color-icons/stop.svg +13 -13
  68. package/assets/color-icons/tap-on-phone.svg +16 -16
  69. package/assets/color-icons/telegram.svg +10 -10
  70. package/assets/color-icons/terminal-fail.svg +14 -14
  71. package/assets/color-icons/terminal-free.svg +15 -15
  72. package/assets/color-icons/terminal-off.svg +14 -14
  73. package/assets/color-icons/terminal-success.svg +14 -14
  74. package/assets/color-icons/terminal.svg +13 -13
  75. package/assets/color-icons/traffic-light-green.svg +9 -9
  76. package/assets/color-icons/traffic-light-red.svg +9 -9
  77. package/assets/color-icons/traffic-light-yellow.svg +9 -9
  78. package/assets/color-icons/usb.svg +23 -23
  79. package/assets/color-icons/version-check.svg +15 -15
  80. package/assets/color-icons/version-fail.svg +14 -14
  81. package/assets/color-icons/version.svg +10 -10
  82. package/assets/color-icons/wait.svg +6 -6
  83. package/assets/color-icons/waiting.svg +15 -15
  84. package/assets/color-icons/warning.svg +6 -6
  85. package/assets/color-icons/wi-fi.svg +5 -5
  86. package/assets/color-icons/wifi.svg +5 -5
  87. package/bundles/evotor-dev-ui-kit-icons-category.umd.js +37 -1
  88. package/bundles/evotor-dev-ui-kit-icons-category.umd.js.map +1 -1
  89. package/bundles/evotor-dev-ui-kit-icons-side-menu.umd.js +12 -12
  90. package/bundles/evotor-dev-ui-kit-icons-side-menu.umd.js.map +1 -1
  91. package/bundles/evotor-dev-ui-kit-icons-system.umd.js +58 -10
  92. package/bundles/evotor-dev-ui-kit-icons-system.umd.js.map +1 -1
  93. package/bundles/evotor-dev-ui-kit-icons.umd.js +79 -23
  94. package/bundles/evotor-dev-ui-kit-icons.umd.js.map +1 -1
  95. package/bundles/evotor-dev-ui-kit.umd.js +108 -56
  96. package/bundles/evotor-dev-ui-kit.umd.js.map +1 -1
  97. package/esm2015/icons/category/index.js +26 -2
  98. package/esm2015/icons/side-menu/index.js +13 -13
  99. package/esm2015/icons/system/index.js +43 -11
  100. package/esm2015/lib/common/Serializable.js +1 -1
  101. package/esm2015/lib/common/animations/expand.animation.js +1 -1
  102. package/esm2015/lib/common/animations/index.js +1 -1
  103. package/esm2015/lib/common/animations/sidebar.animation.js +1 -1
  104. package/esm2015/lib/common/animations/skip-initial-render.animation.js +1 -1
  105. package/esm2015/lib/common/collection/evo-collection-fabric.js +1 -1
  106. package/esm2015/lib/common/collection/evo-collection.js +1 -1
  107. package/esm2015/lib/common/collection/index.js +1 -1
  108. package/esm2015/lib/common/constants/css-breakpoints.js +1 -1
  109. package/esm2015/lib/common/constants/view-breakpoint-streams.js +1 -1
  110. package/esm2015/lib/common/evo-base-control.js +1 -1
  111. package/esm2015/lib/common/evo-control-state-manager/evo-control-state-manager.js +1 -1
  112. package/esm2015/lib/common/evo-control-state-manager/evo-control-state.interface.js +1 -1
  113. package/esm2015/lib/common/evo-control-state-manager/evo-control-states.enum.js +1 -1
  114. package/esm2015/lib/common/form-helper/form-helper.js +1 -1
  115. package/esm2015/lib/common/types/evo-color.js +1 -1
  116. package/esm2015/lib/common/types/evo-size.js +1 -1
  117. package/esm2015/lib/common/types/index.js +1 -1
  118. package/esm2015/lib/components/evo-accordion/evo-accordion-content/evo-accordion-content.component.js +1 -1
  119. package/esm2015/lib/components/evo-accordion/evo-accordion-panel/evo-accordion-panel.component.js +1 -1
  120. package/esm2015/lib/components/evo-accordion/evo-accordion-title/evo-accordion-title.component.js +2 -2
  121. package/esm2015/lib/components/evo-accordion/evo-accordion.component.js +1 -1
  122. package/esm2015/lib/components/evo-accordion/evo-accordion.module.js +1 -1
  123. package/esm2015/lib/components/evo-accordion/index.js +1 -1
  124. package/esm2015/lib/components/evo-accordion/public-api.js +1 -1
  125. package/esm2015/lib/components/evo-alert/evo-alert.component.js +2 -2
  126. package/esm2015/lib/components/evo-alert/evo-alert.module.js +1 -1
  127. package/esm2015/lib/components/evo-alert/index.js +1 -1
  128. package/esm2015/lib/components/evo-alert/public-api.js +1 -1
  129. package/esm2015/lib/components/evo-autocomplete/components/evo-autocomplete.component.js +10 -9
  130. package/esm2015/lib/components/evo-autocomplete/components/templates/evo-autocomplete-default-option.component.js +9 -3
  131. package/esm2015/lib/components/evo-autocomplete/evo-autocomplete.module.js +1 -1
  132. package/esm2015/lib/components/evo-autocomplete/helpers/switch-query-to-list.js +1 -1
  133. package/esm2015/lib/components/evo-autocomplete/index.js +1 -1
  134. package/esm2015/lib/components/evo-autocomplete/models/DaDataParty.js +1 -1
  135. package/esm2015/lib/components/evo-autocomplete/models/dadata.model.js +1 -1
  136. package/esm2015/lib/components/evo-autocomplete/public-api.js +1 -1
  137. package/esm2015/lib/components/evo-autocomplete/types/evo-autocomplete-size.js +1 -1
  138. package/esm2015/lib/components/evo-badge/evo-badge.component.js +2 -2
  139. package/esm2015/lib/components/evo-badge/evo-badge.module.js +1 -1
  140. package/esm2015/lib/components/evo-badge/index.js +1 -1
  141. package/esm2015/lib/components/evo-badge/public-api.js +1 -1
  142. package/esm2015/lib/components/evo-badge/types/evo-badge-color.js +1 -1
  143. package/esm2015/lib/components/evo-badge/types/evo-badge-size.js +1 -1
  144. package/esm2015/lib/components/evo-badge/types/index.js +1 -1
  145. package/esm2015/lib/components/evo-banner/evo-banner.component.js +2 -2
  146. package/esm2015/lib/components/evo-banner/evo-banner.module.js +1 -1
  147. package/esm2015/lib/components/evo-banner/index.js +1 -1
  148. package/esm2015/lib/components/evo-banner/public-api.js +1 -1
  149. package/esm2015/lib/components/evo-button/evo-button.component.js +2 -2
  150. package/esm2015/lib/components/evo-button/evo-button.module.js +1 -1
  151. package/esm2015/lib/components/evo-button/index.js +1 -1
  152. package/esm2015/lib/components/evo-button/public-api.js +1 -1
  153. package/esm2015/lib/components/evo-checkbox/evo-checkbox.component.js +2 -2
  154. package/esm2015/lib/components/evo-checkbox/evo-checkbox.module.js +1 -1
  155. package/esm2015/lib/components/evo-checkbox/index.js +1 -1
  156. package/esm2015/lib/components/evo-checkbox/public-api.js +1 -1
  157. package/esm2015/lib/components/evo-chip/evo-chip.component.js +2 -2
  158. package/esm2015/lib/components/evo-chip/evo-chip.module.js +1 -1
  159. package/esm2015/lib/components/evo-chip/index.js +1 -1
  160. package/esm2015/lib/components/evo-chip/public-api.js +1 -1
  161. package/esm2015/lib/components/evo-control-error/evo-control-error.component.js +2 -2
  162. package/esm2015/lib/components/evo-control-error/evo-control-error.module.js +1 -1
  163. package/esm2015/lib/components/evo-control-error/index.js +1 -1
  164. package/esm2015/lib/components/evo-control-error/public-api.js +1 -1
  165. package/esm2015/lib/components/evo-control-label/evo-control-label.component.js +2 -2
  166. package/esm2015/lib/components/evo-control-label/evo-control-label.module.js +1 -1
  167. package/esm2015/lib/components/evo-control-label/index.js +1 -1
  168. package/esm2015/lib/components/evo-control-label/public-api.js +1 -1
  169. package/esm2015/lib/components/evo-counter/evo-counter.component.js +2 -2
  170. package/esm2015/lib/components/evo-counter/evo-counter.module.js +1 -1
  171. package/esm2015/lib/components/evo-counter/index.js +1 -1
  172. package/esm2015/lib/components/evo-counter/public-api.js +1 -1
  173. package/esm2015/lib/components/evo-datepicker/evo-datepicker.component.js +8 -8
  174. package/esm2015/lib/components/evo-datepicker/evo-datepicker.module.js +1 -1
  175. package/esm2015/lib/components/evo-datepicker/flatpickr-options.interface.js +1 -1
  176. package/esm2015/lib/components/evo-datepicker/index.js +1 -1
  177. package/esm2015/lib/components/evo-datepicker/public-api.js +1 -1
  178. package/esm2015/lib/components/evo-datepicker/templates/index.js +95 -95
  179. package/esm2015/lib/components/evo-dropdown/evo-dropdown-origin.directive.js +1 -1
  180. package/esm2015/lib/components/evo-dropdown/evo-dropdown-position-description.js +1 -1
  181. package/esm2015/lib/components/evo-dropdown/evo-dropdown.component.js +2 -2
  182. package/esm2015/lib/components/evo-dropdown/evo-dropdown.module.js +1 -1
  183. package/esm2015/lib/components/evo-dropdown/index.js +1 -1
  184. package/esm2015/lib/components/evo-dropdown/public-api.js +1 -1
  185. package/esm2015/lib/components/evo-dropdown/types/evo-dropdown-positions.js +1 -1
  186. package/esm2015/lib/components/evo-icon/classes/evo-icons-library.js +1 -1
  187. package/esm2015/lib/components/evo-icon/evo-icon.component.js +2 -2
  188. package/esm2015/lib/components/evo-icon/evo-icon.module.js +1 -1
  189. package/esm2015/lib/components/evo-icon/index.js +1 -1
  190. package/esm2015/lib/components/evo-icon/interfaces/icons-category.js +1 -1
  191. package/esm2015/lib/components/evo-icon/interfaces/icons-source.js +1 -1
  192. package/esm2015/lib/components/evo-icon/public-api.js +1 -1
  193. package/esm2015/lib/components/evo-icon-button/evo-icon-button.component.js +2 -2
  194. package/esm2015/lib/components/evo-icon-button/evo-icon-button.module.js +1 -1
  195. package/esm2015/lib/components/evo-icon-button/index.js +1 -1
  196. package/esm2015/lib/components/evo-icon-button/public-api.js +1 -1
  197. package/esm2015/lib/components/evo-icon-button/types/evo-icon-button-size.js +1 -1
  198. package/esm2015/lib/components/evo-icon-button/types/evo-icon-button-theme.js +1 -1
  199. package/esm2015/lib/components/evo-icon-number/components/evo-icon-number/evo-icon-number.component.js +19 -0
  200. package/esm2015/lib/components/evo-icon-number/evo-icon-number.module.js +18 -0
  201. package/esm2015/lib/components/evo-icon-number/index.js +2 -0
  202. package/esm2015/lib/components/evo-icon-number/public-api.js +3 -0
  203. package/esm2015/lib/components/evo-input/evo-input-icon/evo-input-icon.directive.js +1 -1
  204. package/esm2015/lib/components/evo-input/evo-input.component.js +2 -2
  205. package/esm2015/lib/components/evo-input/evo-input.module.js +1 -1
  206. package/esm2015/lib/components/evo-input/index.js +1 -1
  207. package/esm2015/lib/components/evo-input/public-api.js +1 -1
  208. package/esm2015/lib/components/evo-input-contenteditable/evo-input-contenteditable.component.js +2 -2
  209. package/esm2015/lib/components/evo-input-contenteditable/evo-input-contenteditable.module.js +1 -1
  210. package/esm2015/lib/components/evo-input-contenteditable/index.js +1 -1
  211. package/esm2015/lib/components/evo-input-contenteditable/public-api.js +1 -1
  212. package/esm2015/lib/components/evo-input-contenteditable/utils/clear-multiline.js +1 -1
  213. package/esm2015/lib/components/evo-loader/evo-circular-loader.component.js +2 -2
  214. package/esm2015/lib/components/evo-loader/evo-loader.component.js +2 -2
  215. package/esm2015/lib/components/evo-loader/evo-loader.module.js +1 -1
  216. package/esm2015/lib/components/evo-loader/index.js +1 -1
  217. package/esm2015/lib/components/evo-loader/public-api.js +1 -1
  218. package/esm2015/lib/components/evo-modal/evo-modal.component.js +2 -2
  219. package/esm2015/lib/components/evo-modal/evo-modal.module.js +1 -1
  220. package/esm2015/lib/components/evo-modal/evo-modal.service.js +1 -1
  221. package/esm2015/lib/components/evo-modal/index.js +1 -1
  222. package/esm2015/lib/components/evo-modal/public-api.js +1 -1
  223. package/esm2015/lib/components/evo-navbar/evo-navbar-item/evo-navbar-item.component.js +2 -2
  224. package/esm2015/lib/components/evo-navbar/evo-navbar.component.js +2 -2
  225. package/esm2015/lib/components/evo-navbar/evo-navbar.module.js +1 -1
  226. package/esm2015/lib/components/evo-navbar/index.js +1 -1
  227. package/esm2015/lib/components/evo-navbar/interfaces/nav-item-main-info.js +1 -1
  228. package/esm2015/lib/components/evo-navbar/interfaces/nav-item-router-link.js +1 -1
  229. package/esm2015/lib/components/evo-navbar/interfaces/nav-item.href.js +1 -1
  230. package/esm2015/lib/components/evo-navbar/public-api.js +1 -1
  231. package/esm2015/lib/components/evo-navbar/types/nav-item.js +1 -1
  232. package/esm2015/lib/components/evo-note/evo-note.component.js +2 -2
  233. package/esm2015/lib/components/evo-note/evo-note.module.js +1 -1
  234. package/esm2015/lib/components/evo-note/index.js +1 -1
  235. package/esm2015/lib/components/evo-note/public.api.js +1 -1
  236. package/esm2015/lib/components/evo-note/types/evo-note-type.js +1 -1
  237. package/esm2015/lib/components/evo-paginator/evo-paginator.component.js +3 -3
  238. package/esm2015/lib/components/evo-paginator/evo-paginator.module.js +1 -1
  239. package/esm2015/lib/components/evo-paginator/index.js +1 -1
  240. package/esm2015/lib/components/evo-paginator/public-api.js +1 -1
  241. package/esm2015/lib/components/evo-plus-minus/evo-plus-minus.component.js +2 -2
  242. package/esm2015/lib/components/evo-plus-minus/evo-plus-minus.module.js +1 -1
  243. package/esm2015/lib/components/evo-plus-minus/index.js +1 -1
  244. package/esm2015/lib/components/evo-plus-minus/public-api.js +1 -1
  245. package/esm2015/lib/components/evo-popover/evo-popover.component.js +2 -2
  246. package/esm2015/lib/components/evo-popover/evo-popover.module.js +1 -1
  247. package/esm2015/lib/components/evo-popover/index.js +1 -1
  248. package/esm2015/lib/components/evo-popover/public-api.js +1 -1
  249. package/esm2015/lib/components/evo-portal/evo-portal-outlet.class.js +1 -1
  250. package/esm2015/lib/components/evo-portal/evo-portal-outlet.directive.js +1 -1
  251. package/esm2015/lib/components/evo-portal/evo-portal.module.js +1 -1
  252. package/esm2015/lib/components/evo-portal/evo-portal.service.js +1 -1
  253. package/esm2015/lib/components/evo-portal/index.js +1 -1
  254. package/esm2015/lib/components/evo-portal/public-api.js +1 -1
  255. package/esm2015/lib/components/evo-radio/evo-radio.component.js +2 -2
  256. package/esm2015/lib/components/evo-radio/evo-radio.module.js +1 -1
  257. package/esm2015/lib/components/evo-radio/index.js +1 -1
  258. package/esm2015/lib/components/evo-radio/public-api.js +1 -1
  259. package/esm2015/lib/components/evo-radio-group/evo-radio-group.component.js +2 -2
  260. package/esm2015/lib/components/evo-radio-group/evo-radio-group.module.js +1 -1
  261. package/esm2015/lib/components/evo-radio-group/index.js +1 -1
  262. package/esm2015/lib/components/evo-radio-group/public-api.js +1 -1
  263. package/esm2015/lib/components/evo-radio-group/typings/options.js +1 -1
  264. package/esm2015/lib/components/evo-radioshape/components/evo-radioshape.component.js +2 -2
  265. package/esm2015/lib/components/evo-radioshape/evo-radioshape.module.js +1 -1
  266. package/esm2015/lib/components/evo-radioshape/index.js +1 -1
  267. package/esm2015/lib/components/evo-radioshape/public-api.js +1 -1
  268. package/esm2015/lib/components/evo-segmented-bar/evo-segmented-bar/evo-segmented-bar.component.js +2 -2
  269. package/esm2015/lib/components/evo-segmented-bar/evo-segmented-bar-button/evo-segmented-bar-button.component.js +2 -2
  270. package/esm2015/lib/components/evo-segmented-bar/evo-segmented-bar.module.js +1 -1
  271. package/esm2015/lib/components/evo-segmented-bar/index.js +1 -1
  272. package/esm2015/lib/components/evo-segmented-bar/public-api.js +1 -1
  273. package/esm2015/lib/components/evo-select/evo-select.component.js +2 -2
  274. package/esm2015/lib/components/evo-select/evo-select.module.js +1 -1
  275. package/esm2015/lib/components/evo-select/index.js +1 -1
  276. package/esm2015/lib/components/evo-select/public-api.js +1 -1
  277. package/esm2015/lib/components/evo-sidebar/enums/evo-sidebar-close-targets.js +1 -1
  278. package/esm2015/lib/components/evo-sidebar/enums/evo-sidebar-sizes.js +1 -1
  279. package/esm2015/lib/components/evo-sidebar/enums/evo-sidebar-states.js +1 -1
  280. package/esm2015/lib/components/evo-sidebar/evo-sidebar-content/evo-sidebar-content.component.js +2 -2
  281. package/esm2015/lib/components/evo-sidebar/evo-sidebar-footer/evo-sidebar-footer.component.js +2 -2
  282. package/esm2015/lib/components/evo-sidebar/evo-sidebar-header/evo-sidebar-header.component.js +2 -2
  283. package/esm2015/lib/components/evo-sidebar/evo-sidebar-portal.js +1 -1
  284. package/esm2015/lib/components/evo-sidebar/evo-sidebar.component.js +2 -2
  285. package/esm2015/lib/components/evo-sidebar/evo-sidebar.module.js +1 -1
  286. package/esm2015/lib/components/evo-sidebar/evo-sidebar.service.js +1 -1
  287. package/esm2015/lib/components/evo-sidebar/index.js +1 -1
  288. package/esm2015/lib/components/evo-sidebar/interfaces.js +1 -1
  289. package/esm2015/lib/components/evo-sidebar/public-api.js +1 -1
  290. package/esm2015/lib/components/evo-sidebar/sidebar-injection-token.js +1 -1
  291. package/esm2015/lib/components/evo-sidebar/tokens.js +1 -1
  292. package/esm2015/lib/components/evo-stepper/evo-stepper-events.js +1 -1
  293. package/esm2015/lib/components/evo-stepper/evo-stepper-item/evo-stepper-item.component.js +2 -2
  294. package/esm2015/lib/components/evo-stepper/evo-stepper.component.js +2 -2
  295. package/esm2015/lib/components/evo-stepper/evo-stepper.module.js +1 -1
  296. package/esm2015/lib/components/evo-stepper/index.js +1 -1
  297. package/esm2015/lib/components/evo-stepper/public-api.js +1 -1
  298. package/esm2015/lib/components/evo-submenu/evo-submenu.component.js +2 -2
  299. package/esm2015/lib/components/evo-submenu/evo-submenu.module.js +1 -1
  300. package/esm2015/lib/components/evo-submenu/index.js +1 -1
  301. package/esm2015/lib/components/evo-submenu/public-api.js +1 -1
  302. package/esm2015/lib/components/evo-switcher/components/evo-switcher-item/evo-switcher-item.component.js +2 -2
  303. package/esm2015/lib/components/evo-switcher/evo-switcher.component.js +2 -2
  304. package/esm2015/lib/components/evo-switcher/evo-switcher.module.js +1 -1
  305. package/esm2015/lib/components/evo-switcher/index.js +1 -1
  306. package/esm2015/lib/components/evo-switcher/public-api.js +1 -1
  307. package/esm2015/lib/components/evo-table/evo-table/evo-table.component.js +5 -3
  308. package/esm2015/lib/components/evo-table/evo-table-column/evo-table-column.component.js +2 -2
  309. package/esm2015/lib/components/evo-table/evo-table.module.js +1 -1
  310. package/esm2015/lib/components/evo-table/index.js +1 -1
  311. package/esm2015/lib/components/evo-table/public-api.js +1 -1
  312. package/esm2015/lib/components/evo-tabs/enums/evo-tabs-size.js +1 -1
  313. package/esm2015/lib/components/evo-tabs/evo-tab/evo-tab.component.js +2 -2
  314. package/esm2015/lib/components/evo-tabs/evo-tab-content/evo-tab-content.component.js +2 -2
  315. package/esm2015/lib/components/evo-tabs/evo-tab-state.collection.js +1 -1
  316. package/esm2015/lib/components/evo-tabs/evo-tabs-size.service.js +1 -1
  317. package/esm2015/lib/components/evo-tabs/evo-tabs.component.js +2 -2
  318. package/esm2015/lib/components/evo-tabs/evo-tabs.module.js +1 -1
  319. package/esm2015/lib/components/evo-tabs/evo-tabs.service.js +1 -1
  320. package/esm2015/lib/components/evo-tabs/index.js +1 -1
  321. package/esm2015/lib/components/evo-tabs/public-api.js +1 -1
  322. package/esm2015/lib/components/evo-textarea/evo-textarea.component.js +2 -2
  323. package/esm2015/lib/components/evo-textarea/evo-textarea.module.js +1 -1
  324. package/esm2015/lib/components/evo-textarea/index.js +1 -1
  325. package/esm2015/lib/components/evo-textarea/public-api.js +1 -1
  326. package/esm2015/lib/components/evo-toast/evo-toast.component.js +2 -2
  327. package/esm2015/lib/components/evo-toast/evo-toast.module.js +1 -1
  328. package/esm2015/lib/components/evo-toast/evo-toast.service.js +1 -1
  329. package/esm2015/lib/components/evo-toast/index.js +1 -1
  330. package/esm2015/lib/components/evo-toast/public-api.js +1 -1
  331. package/esm2015/lib/components/evo-toggle/evo-toggle.component.js +2 -2
  332. package/esm2015/lib/components/evo-toggle/evo-toggle.module.js +1 -1
  333. package/esm2015/lib/components/evo-toggle/index.js +1 -1
  334. package/esm2015/lib/components/evo-toggle/public-api.js +1 -1
  335. package/esm2015/lib/components/evo-upload/evo-upload.component.js +2 -2
  336. package/esm2015/lib/components/evo-upload/evo-upload.module.js +1 -1
  337. package/esm2015/lib/components/evo-upload/index.js +1 -1
  338. package/esm2015/lib/components/evo-upload/public-api.js +1 -1
  339. package/esm2015/lib/decorators/deprecate-method.decorator.js +1 -1
  340. package/esm2015/lib/decorators/deprecate-variable.decorator.js +1 -1
  341. package/esm2015/lib/decorators/index.js +1 -1
  342. package/esm2015/lib/decorators/public-api.js +1 -1
  343. package/esm2015/lib/directives/evo-click-outside.directive.js +1 -1
  344. package/esm2015/lib/directives/evo-is-expanded.directive.js +1 -1
  345. package/esm2015/lib/directives/evo-let/evo-let.directive.js +1 -1
  346. package/esm2015/lib/directives/evo-ui-class.directive.js +1 -1
  347. package/esm2015/lib/directives/index.js +1 -1
  348. package/esm2015/lib/directives/public-api.js +1 -1
  349. package/esm2015/lib/evo-ui-kit.module.js +1 -1
  350. package/esm2015/lib/operators/enter-zone.operator.js +1 -1
  351. package/esm2015/lib/operators/index.js +1 -1
  352. package/esm2015/lib/operators/public-api.js +1 -1
  353. package/esm2015/lib/pipes/declination.pipe.js +1 -1
  354. package/esm2015/lib/pipes/evo-pipes.module.js +1 -1
  355. package/esm2015/lib/pipes/index.js +1 -1
  356. package/esm2015/lib/pipes/public-api.js +1 -1
  357. package/esm2015/lib/pipes/safe-html.pipe.js +1 -1
  358. package/esm2015/lib/services/evo-expanded.service.js +1 -1
  359. package/esm2015/lib/services/index.js +1 -1
  360. package/esm2015/lib/services/public-api.js +1 -1
  361. package/esm2015/lib/services/window.service.js +1 -1
  362. package/esm2015/public_api.js +2 -1
  363. package/fesm2015/evotor-dev-ui-kit-icons-category.js +26 -2
  364. package/fesm2015/evotor-dev-ui-kit-icons-category.js.map +1 -1
  365. package/fesm2015/evotor-dev-ui-kit-icons-side-menu.js +12 -12
  366. package/fesm2015/evotor-dev-ui-kit-icons-side-menu.js.map +1 -1
  367. package/fesm2015/evotor-dev-ui-kit-icons-system.js +43 -11
  368. package/fesm2015/evotor-dev-ui-kit-icons-system.js.map +1 -1
  369. package/fesm2015/evotor-dev-ui-kit-icons.js +79 -23
  370. package/fesm2015/evotor-dev-ui-kit-icons.js.map +1 -1
  371. package/fesm2015/evotor-dev-ui-kit.js +197 -158
  372. package/fesm2015/evotor-dev-ui-kit.js.map +1 -1
  373. package/icons/category/index.d.ts +25 -1
  374. package/icons/index.d.ts +28 -0
  375. package/icons/side-menu/index.d.ts +12 -12
  376. package/icons/system/index.d.ts +42 -10
  377. package/lib/components/evo-autocomplete/components/evo-autocomplete.component.d.ts +2 -2
  378. package/lib/components/evo-autocomplete/components/templates/evo-autocomplete-default-option.component.d.ts +1 -0
  379. package/lib/components/evo-icon-number/components/evo-icon-number/evo-icon-number.component.d.ts +6 -0
  380. package/lib/components/evo-icon-number/evo-icon-number.module.d.ts +8 -0
  381. package/lib/components/evo-icon-number/index.d.ts +1 -0
  382. package/lib/components/evo-icon-number/public-api.d.ts +2 -0
  383. package/lib/components/evo-table/evo-table/evo-table.component.d.ts +5 -2
  384. package/package.json +1 -1
  385. package/public_api.d.ts +1 -0
  386. package/styles/components/evo-alert.scss +64 -64
  387. package/styles/components/evo-button-loader.scss +53 -53
  388. package/styles/components/evo-button-wrapper.scss +21 -21
  389. package/styles/components/evo-button.scss +233 -233
  390. package/styles/components/evo-card.scss +40 -40
  391. package/styles/components/evo-chip.scss +169 -169
  392. package/styles/components/evo-form.scss +273 -273
  393. package/styles/components/evo-grid.scss +27 -27
  394. package/styles/components/evo-icon.scss +3 -3
  395. package/styles/components/evo-link.scss +41 -41
  396. package/styles/components/evo-list.scss +38 -38
  397. package/styles/components/evo-modal-mixins.scss +32 -32
  398. package/styles/components/evo-sidebar-mixins.scss +20 -20
  399. package/styles/components/evo-spinner.scss +12 -12
  400. package/styles/components/evo-table.scss +42 -42
  401. package/styles/components/evo-title.scss +23 -23
  402. package/styles/components/skeleton.scss +12 -12
  403. package/styles/globals.scss +67 -67
  404. package/styles/icons.scss +173 -173
  405. package/styles/keyframes.scss +37 -37
  406. package/styles/main.scss +19 -19
  407. package/styles/mixins.scss +210 -208
  408. package/styles/normalize.scss +341 -341
  409. package/styles/reset.scss +155 -155
  410. package/styles/variables.scss +137 -137
@@ -23,7 +23,7 @@ export class EvoCounterComponent {
23
23
  }
24
24
  }
25
25
  EvoCounterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EvoCounterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
26
- EvoCounterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EvoCounterComponent, selector: "evo-counter", inputs: { value: "value", disabled: "disabled", setSize: ["size", "setSize"] }, ngImport: i0, template: "<div class=\"evo-counter\" [evoUiClass]=\"blockClasses\">\r\n <span class=\"evo-counter__value\">{{value}}</span>\r\n</div>\r\n", styles: [".evo-counter{display:inline-flex;justify-content:center;align-items:center;width:-moz-fit-content;width:fit-content;min-width:20px;height:20px;padding:1px 6px;background-color:#f05023;border-radius:32px}.evo-counter_disabled{background-color:#d6d6d6}.evo-counter__value{color:#fff;font:\"Open Sans\",\"Helvetica Neue\",Arial,sans-serif;font-weight:700;font-size:13px;line-height:18px}.evo-counter_size-small{min-width:18px;height:18px;padding:0 6px}.evo-counter_size-small .evo-counter__value{font-weight:600;font-size:10px;line-height:14px}\n"], directives: [{ type: i1.EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
26
+ EvoCounterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EvoCounterComponent, selector: "evo-counter", inputs: { value: "value", disabled: "disabled", setSize: ["size", "setSize"] }, ngImport: i0, template: "<div class=\"evo-counter\" [evoUiClass]=\"blockClasses\">\n <span class=\"evo-counter__value\">{{value}}</span>\n</div>\n", styles: [".evo-counter{display:inline-flex;justify-content:center;align-items:center;width:-moz-fit-content;width:fit-content;min-width:20px;height:20px;padding:1px 6px;background-color:#f05023;border-radius:32px}.evo-counter_disabled{background-color:#d6d6d6}.evo-counter__value{color:#fff;font:\"Noto Sans\",\"Open Sans\",\"Helvetica Neue\",Arial,sans-serif;font-weight:700;font-size:13px;line-height:18px}.evo-counter_size-small{min-width:18px;height:18px;padding:0 6px}.evo-counter_size-small .evo-counter__value{font-weight:600;font-size:10px;line-height:14px}\n"], directives: [{ type: i1.EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
27
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EvoCounterComponent, decorators: [{
28
28
  type: Component,
29
29
  args: [{
@@ -40,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
40
40
  type: Input,
41
41
  args: ['size']
42
42
  }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWNvdW50ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLWNvdW50ZXIvZXZvLWNvdW50ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLWNvdW50ZXIvZXZvLWNvdW50ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUUxRSxNQUFNLENBQU4sSUFBWSxjQUdYO0FBSEQsV0FBWSxjQUFjO0lBQ3RCLGlDQUFlLENBQUE7SUFDZixtQ0FBaUIsQ0FBQTtBQUNyQixDQUFDLEVBSFcsY0FBYyxLQUFkLGNBQWMsUUFHekI7QUFRRCxNQUFNLE9BQU8sbUJBQW1CO0lBTmhDO1FBV0ksU0FBSSxHQUFtQixjQUFjLENBQUMsTUFBTSxDQUFDO0tBZWhEO0lBYkcsSUFBbUIsT0FBTyxDQUFDLElBQTZCO1FBQ3BELElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3BDO0lBQ0wsQ0FBQztJQUVELElBQUksWUFBWTtRQUNaLE9BQU87WUFDSCxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDekIsQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLE1BQU07U0FDN0QsQ0FBQztJQUNOLENBQUM7O2lIQWxCUSxtQkFBbUI7cUdBQW5CLG1CQUFtQixtSUNiaEMsb0lBR0E7NEZEVWEsbUJBQW1CO2tCQU4vQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxhQUFhO29CQUN2QixXQUFXLEVBQUUsOEJBQThCO29CQUMzQyxTQUFTLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztvQkFDM0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzhCQUdZLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUlhLE9BQU87c0JBQXpCLEtBQUs7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgZW51bSBFdm9Db3VudGVyU2l6ZSB7XHJcbiAgICBzbWFsbCA9ICdzbWFsbCcsXHJcbiAgICBub3JtYWwgPSAnbm9ybWFsJyxcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2V2by1jb3VudGVyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldm8tY291bnRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9ldm8tY291bnRlci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFdm9Db3VudGVyQ29tcG9uZW50IHtcclxuXHJcbiAgICBASW5wdXQoKSB2YWx1ZTogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XHJcblxyXG4gICAgc2l6ZTogRXZvQ291bnRlclNpemUgPSBFdm9Db3VudGVyU2l6ZS5ub3JtYWw7XHJcblxyXG4gICAgQElucHV0KCdzaXplJykgc2V0IHNldFNpemUoc2l6ZTogRXZvQ291bnRlclNpemUgfCBzdHJpbmcpIHtcclxuICAgICAgICBpZiAoRXZvQ291bnRlclNpemVbc2l6ZV0pIHtcclxuICAgICAgICAgICAgdGhpcy5zaXplID0gRXZvQ291bnRlclNpemVbc2l6ZV07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdldCBibG9ja0NsYXNzZXMoKTogeyBbY3NzQ2xhc3M6IHN0cmluZ106IGJvb2xlYW4gfSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgJ2Rpc2FibGVkJzogdGhpcy5kaXNhYmxlZCxcclxuICAgICAgICAgICAgW2BzaXplLSR7dGhpcy5zaXplfWBdOiB0aGlzLnNpemUgIT09IEV2b0NvdW50ZXJTaXplLm5vcm1hbFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJldm8tY291bnRlclwiIFtldm9VaUNsYXNzXT1cImJsb2NrQ2xhc3Nlc1wiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJldm8tY291bnRlcl9fdmFsdWVcIj57e3ZhbHVlfX08L3NwYW4+XHJcbjwvZGl2PlxyXG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWNvdW50ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLWNvdW50ZXIvZXZvLWNvdW50ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLWNvdW50ZXIvZXZvLWNvdW50ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUUxRSxNQUFNLENBQU4sSUFBWSxjQUdYO0FBSEQsV0FBWSxjQUFjO0lBQ3RCLGlDQUFlLENBQUE7SUFDZixtQ0FBaUIsQ0FBQTtBQUNyQixDQUFDLEVBSFcsY0FBYyxLQUFkLGNBQWMsUUFHekI7QUFRRCxNQUFNLE9BQU8sbUJBQW1CO0lBTmhDO1FBV0ksU0FBSSxHQUFtQixjQUFjLENBQUMsTUFBTSxDQUFDO0tBZWhEO0lBYkcsSUFBbUIsT0FBTyxDQUFDLElBQTZCO1FBQ3BELElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3BDO0lBQ0wsQ0FBQztJQUVELElBQUksWUFBWTtRQUNaLE9BQU87WUFDSCxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDekIsQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLE1BQU07U0FDN0QsQ0FBQztJQUNOLENBQUM7O2lIQWxCUSxtQkFBbUI7cUdBQW5CLG1CQUFtQixtSUNiaEMsOEhBR0E7NEZEVWEsbUJBQW1CO2tCQU4vQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxhQUFhO29CQUN2QixXQUFXLEVBQUUsOEJBQThCO29CQUMzQyxTQUFTLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztvQkFDM0MsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzhCQUdZLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUlhLE9BQU87c0JBQXpCLEtBQUs7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBlbnVtIEV2b0NvdW50ZXJTaXplIHtcbiAgICBzbWFsbCA9ICdzbWFsbCcsXG4gICAgbm9ybWFsID0gJ25vcm1hbCcsXG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXZvLWNvdW50ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldm8tY291bnRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXZvLWNvdW50ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRXZvQ291bnRlckNvbXBvbmVudCB7XG5cbiAgICBASW5wdXQoKSB2YWx1ZTogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuXG4gICAgc2l6ZTogRXZvQ291bnRlclNpemUgPSBFdm9Db3VudGVyU2l6ZS5ub3JtYWw7XG5cbiAgICBASW5wdXQoJ3NpemUnKSBzZXQgc2V0U2l6ZShzaXplOiBFdm9Db3VudGVyU2l6ZSB8IHN0cmluZykge1xuICAgICAgICBpZiAoRXZvQ291bnRlclNpemVbc2l6ZV0pIHtcbiAgICAgICAgICAgIHRoaXMuc2l6ZSA9IEV2b0NvdW50ZXJTaXplW3NpemVdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGJsb2NrQ2xhc3NlcygpOiB7IFtjc3NDbGFzczogc3RyaW5nXTogYm9vbGVhbiB9IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICdkaXNhYmxlZCc6IHRoaXMuZGlzYWJsZWQsXG4gICAgICAgICAgICBbYHNpemUtJHt0aGlzLnNpemV9YF06IHRoaXMuc2l6ZSAhPT0gRXZvQ291bnRlclNpemUubm9ybWFsXG4gICAgICAgIH07XG4gICAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZXZvLWNvdW50ZXJcIiBbZXZvVWlDbGFzc109XCJibG9ja0NsYXNzZXNcIj5cbiAgICA8c3BhbiBjbGFzcz1cImV2by1jb3VudGVyX192YWx1ZVwiPnt7dmFsdWV9fTwvc3Bhbj5cbjwvZGl2PlxuIl19
@@ -27,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
27
27
  ]
28
28
  }]
29
29
  }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWNvdW50ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLWNvdW50ZXIvZXZvLWNvdW50ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFjekQsTUFBTSxPQUFPLGdCQUFnQjs7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQU5yQixtQkFBbUIsYUFKbkIsWUFBWTtRQUNaLGNBQWMsYUFNZCxtQkFBbUI7K0dBR2QsZ0JBQWdCLFlBWGhCO1lBQ0wsWUFBWTtZQUNaLGNBQWM7U0FDakI7NEZBUVEsZ0JBQWdCO2tCQVo1QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGNBQWM7cUJBQ2pCO29CQUNELFlBQVksRUFBRTt3QkFDVixtQkFBbUI7cUJBQ3RCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxtQkFBbUI7cUJBQ3RCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRXZvQ291bnRlckNvbXBvbmVudCB9IGZyb20gJy4vZXZvLWNvdW50ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXZvVWlLaXRNb2R1bGUgfSBmcm9tICcuLi8uLi9ldm8tdWkta2l0Lm1vZHVsZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBFdm9VaUtpdE1vZHVsZVxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIEV2b0NvdW50ZXJDb21wb25lbnRcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgRXZvQ291bnRlckNvbXBvbmVudFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXZvQ291bnRlck1vZHVsZSB7XHJcbn1cclxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWNvdW50ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLWNvdW50ZXIvZXZvLWNvdW50ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFjekQsTUFBTSxPQUFPLGdCQUFnQjs7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQU5yQixtQkFBbUIsYUFKbkIsWUFBWTtRQUNaLGNBQWMsYUFNZCxtQkFBbUI7K0dBR2QsZ0JBQWdCLFlBWGhCO1lBQ0wsWUFBWTtZQUNaLGNBQWM7U0FDakI7NEZBUVEsZ0JBQWdCO2tCQVo1QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGNBQWM7cUJBQ2pCO29CQUNELFlBQVksRUFBRTt3QkFDVixtQkFBbUI7cUJBQ3RCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxtQkFBbUI7cUJBQ3RCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFdm9Db3VudGVyQ29tcG9uZW50IH0gZnJvbSAnLi9ldm8tY291bnRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXZvVWlLaXRNb2R1bGUgfSBmcm9tICcuLi8uLi9ldm8tdWkta2l0Lm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEV2b1VpS2l0TW9kdWxlXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgRXZvQ291bnRlckNvbXBvbmVudFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBFdm9Db3VudGVyQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBFdm9Db3VudGVyTW9kdWxlIHtcbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export * from './public-api';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8tY291bnRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8tY291bnRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -1,3 +1,3 @@
1
1
  export * from './evo-counter.component';
2
2
  export * from './evo-counter.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1jb3VudGVyL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ldm8tY291bnRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2V2by1jb3VudGVyLm1vZHVsZSc7XHJcbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1jb3VudGVyL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ldm8tY291bnRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9ldm8tY291bnRlci5tb2R1bGUnO1xuIl19
@@ -437,13 +437,13 @@ export class EvoDatepickerComponent extends EvoBaseControl {
437
437
  */
438
438
  changeNextIcon() {
439
439
  const Icons = {
440
- PREV: `
441
- <svg height="16" viewBox="0 0 6 16" width="6" xmlns="http://www.w3.org/2000/svg">
442
- <path _ngcontent-c0="" d="M6 0L0 8L6 16V0Z" fill="white" transform="translate(6 16) rotate(180)"></path>
440
+ PREV: `
441
+ <svg height="16" viewBox="0 0 6 16" width="6" xmlns="http://www.w3.org/2000/svg">
442
+ <path _ngcontent-c0="" d="M6 0L0 8L6 16V0Z" fill="white" transform="translate(6 16) rotate(180)"></path>
443
443
  </svg>`,
444
- NEXT: `
445
- <svg height="16" viewBox="0 0 6 16" width="6" xmlns="http://www.w3.org/2000/svg">
446
- <path _ngcontent-c0="" d="M6 0L0 8L6 16V0Z" fill="white"></path>
444
+ NEXT: `
445
+ <svg height="16" viewBox="0 0 6 16" width="6" xmlns="http://www.w3.org/2000/svg">
446
+ <path _ngcontent-c0="" d="M6 0L0 8L6 16V0Z" fill="white"></path>
447
447
  </svg>`,
448
448
  };
449
449
  this.flatpickr.nextMonthNav.innerHTML = Icons.PREV;
@@ -514,7 +514,7 @@ EvoDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
514
514
  useExisting: forwardRef(() => EvoDatepickerComponent),
515
515
  multi: true,
516
516
  },
517
- ], viewQueries: [{ propertyName: "flatpickrElement", first: true, predicate: ["flatpickr"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"evo-datepicker\" [evoUiClass]=\"totalClasses\" #flatpickr (click)=\"onDatepickerClick($event)\">\r\n <input class=\"evo-datepicker__input\"\r\n type=\"text\"\r\n data-input\r\n [evoUiClass]=\"inputClass\"\r\n [imask]=\"maskConfig\"\r\n [placeholder]=\"placeholder\"\r\n (complete)=\"handleMaskComplete($event)\"\r\n [readonly]=\"disabled\">\r\n\r\n <span *ngIf=\"shouldShowEmptyText()\" class=\"evo-datepicker__empty-text\">\r\n <ng-container *ngIf=\"isRange(); else singleEmptyText\">\r\n \u0417\u0430 \u043F\u0435\u0440\u0438\u043E\u0434\r\n </ng-container>\r\n\r\n <ng-template #singleEmptyText>\r\n \u0414\u0430\u0442\u0430\r\n </ng-template>\r\n </span>\r\n\r\n <span class=\"evo-datepicker__opener\" *ngIf=\"!disabled\">\r\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M20 3H19V2C19 1.45 18.55 1 18 1C17.45 1 17 1.45 17 2V3H7V2C7 1.45 6.55 1 6 1C5.45 1 5 1.45 5 2V3H4C2.9 3 2 3.9 2 5V21C2 22.1 2.9 23 4 23H20C21.1 23 22 22.1 22 21V5C22 3.9 21.1 3 20 3ZM19 21H5C4.45 21 4 20.55 4 20V8H20V20C20 20.55 19.55 21 19 21Z\"/>\r\n </svg>\r\n </span>\r\n <span *ngIf=\"!uiState.isEmptyField\" class=\"evo-datepicker__opener-triangle\"></span>\r\n</div>\r\n<evo-control-error *ngIf=\"showErrors\"\r\n [errors]=\"control.errors\"\r\n [errorsMessages]=\"errorsMessages\"></evo-control-error>\r\n", styles: ["@keyframes evo-fx-blink{50%{transform:scale(1);opacity:1}to{opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gradient{0%{background-position:0 50%}50%{background-position:50vw 50%}to{background-position:100vw 50%}}:host{display:inline-block;--evo-input-prefix-content-margin: 0 12px}.evo-input{position:relative;cursor:text;--evo-input-height: 48px;--evo-input-border-radius: 4px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:normal;font-size:16px;font-family:\"Open Sans\",\"Helvetica Neue\",Arial,sans-serif;white-space:nowrap;background-color:#fff;border:1px solid #D6D6D6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}.evo-input_focused{border:solid 1px #74706F}.evo-input_disabled{color:#9b9b9b;background-color:#f4f6f8!important;cursor:default;pointer-events:none}.evo-input_invalid{border-color:#ff1817!important}.evo-input_theme-rounded:not(.evo-input_size-small){border-radius:256px}.evo-input_theme-rounded:not(.evo-input_size-small) .evo-input__field{border-radius:256px}.evo-input_size-small{height:32px}.evo-input_size-small .evo-input__field{padding:0 8px}.evo-input_size-small .evo-input__tooltip,.evo-input_size-small .evo-input__loading-spinner{flex:0 0 16px;width:16px;height:16px;margin:0 10px}.evo-input_size-small .evo-input__icon{margin-right:10px}.evo-input_size-small .evo-input__icon img{max-height:16px}.evo-input_size-small .evo-input__tooltip-container{top:100%}.evo-input_size-small .evo-input__tooltip-container:before{left:calc(100% - 28px)}@media (min-width: 1200px){.evo-input_size-small .evo-input__tooltip-container{top:calc(100% + 4px)}.evo-input_size-small .evo-input__tooltip-container:before{left:calc(50% - 6px)}}.evo-input_size-small .evo-input__prefix-icon{width:16px;height:16px}.evo-input_size-small .evo-input__prefix-icon:empty{display:none}.evo-input_size-small .evo-input__icon-clear{width:16px;height:16px}.evo-input__prefix-icon{display:flex;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-left:12px;fill:#9b9b9b}.evo-input__prefix-icon:empty{display:none}.evo-input__prefix-content{display:inline-flex;flex-shrink:0;justify-content:center;align-items:center;margin:var(--evo-input-prefix-content-margin)}.evo-input__prefix-content:empty{display:none}.evo-input__prefix-content:not(:empty)~.evo-input__field{padding-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.evo-input__field{flex-grow:1;width:100%;height:100%;margin:0;padding:0 8px 0 16px;color:inherit;font-weight:inherit;font-size:inherit;border:none;border-radius:4px;outline:none}.evo-input__field::-webkit-input-placeholder{color:#9b9b9b}.evo-input__field::-moz-placeholder{color:#9b9b9b;opacity:1}.evo-input__field:-ms-input-placeholder{color:#9b9b9b}.evo-input__field:disabled{color:#9b9b9b;background-color:#f4f6f8!important}.evo-input__field:not(:last-child){padding-right:0}.evo-input__prefix{padding-left:20px;font-size:16px;transition:color .2s}.evo-input__prefix_focused{color:#000}.evo-input__prefix:not(:empty)~.evo-input__field{padding-left:0}.evo-input__tooltip{width:24px;height:24px;margin:0 10px;cursor:pointer;-webkit-user-select:none;user-select:none;fill:#91b1b8}.evo-input__icon-clear{width:24px;height:24px;margin:0 10px;cursor:pointer;-webkit-user-select:none;user-select:none;fill:#91b1b8}.evo-input__icon{margin:0 20px 0 10px}.evo-input__icon img{display:block;width:100%;max-width:60px;height:auto;max-height:22px}.evo-input__tooltip-container{position:absolute;top:calc(100% - 2px);left:0;z-index:1;display:flex;width:100%;padding:10px 10px 10px 20px;color:#212121;line-height:normal;white-space:normal;background-color:#fff8e6;border-radius:4px;box-shadow:0 4px 12px #0003;cursor:default}.evo-input__tooltip-container[hidden]{display:none!important}.evo-input__tooltip-container:before{position:absolute;top:-20px;left:calc(100% - 34px);border:10px solid transparent;border-bottom:10px solid #FFF8E6;pointer-events:none;content:\"\"}@media (min-width: 1200px){.evo-input__tooltip-container{left:calc(50% - 22px)}.evo-input__tooltip-container:before{left:calc(50% - 12px)}}.evo-input__clearable{display:flex;justify-content:center;align-items:center}.evo-input__clearable+.evo-input__additional{margin-left:-10px}.evo-input__additional{display:flex;justify-content:center;align-items:center}.evo-input__additional:not(:last-child) .evo-input__icon{margin-right:10px}.evo-input__additional+.evo-input__loading-spinner{margin-left:0}.evo-input__loading-spinner{margin:0 20px;flex:0 0 16px;width:16px;height:16px;border:2px solid #D6D6D6;border-top-color:#21c68b;border-radius:50%;animation:spin .8s linear infinite}:host{position:relative}.evo-datepicker{position:relative}.evo-datepicker__opener{position:absolute;top:50%;right:20px;z-index:1;margin-top:-12px;pointer-events:none}.evo-datepicker__opener svg{fill:#212121}.evo-datepicker__input_focused{border:solid 1px #74706F}.evo-datepicker__input_disabled{color:#9b9b9b;background-color:#f4f6f8!important;cursor:default;pointer-events:none}.evo-datepicker__input_invalid{border-color:#ff1817!important}.evo-datepicker__input_hidden{position:absolute;visibility:hidden}.evo-datepicker__opener-triangle{display:none}.evo-datepicker__description{margin-top:16px;color:#727272;text-align:center}.evo-datepicker__time-picker{margin-top:24px;text-align:left}.evo-datepicker__time-picker:last-of-type{margin-top:8px}.evo-datepicker__time-label{display:block;padding-left:25px;color:#727272}.evo-datepicker__select-wrapper{position:relative;display:flex;align-items:center}.evo-datepicker__select-wrapper:after{position:absolute;right:20px;width:8px;height:12px;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22%3E%0D %3Cmask id%3D%22mask0%22 mask-type%3D%22alpha%22 maskUnits%3D%22userSpaceOnUse%22 x%3D%228%22 y%3D%2210%22 width%3D%228%22 height%3D%225%22%3E%0D %3Cpath d%3D%22M8.81066 10C8.14248 10 7.80786 10.8079 8.28033 11.2803L11.4697 14.4697C11.7626 14.7626 12.2374 14.7626 12.5303 14.4697L15.7197 11.2803C16.1921 10.8079 15.8575 10 15.1893 10H8.81066Z%22 fill%3D%22black%22%2F%3E%0D %3C%2Fmask%3E%0D %3Cg mask%3D%22url(%23mask0)%22%3E%0D %3Crect width%3D%2224%22 height%3D%2224%22 fill%3D%22%23212121%22%2F%3E%0D %3C%2Fg%3E%0D%3C%2Fsvg%3E\");background-repeat:no-repeat;background-position:center;pointer-events:none;content:\"\"}.evo-datepicker__select-wrapper:first-child{margin-right:8px}.evo-datepicker__select-wrapper:last-child{margin-left:8px}.evo-datepicker__select-field{display:inline-block;align-items:center;height:48px;padding:12px 38px 12px 16px;overflow:hidden;color:#9b9b9b;font-weight:400;font-size:16px;line-height:26px;white-space:nowrap;text-overflow:ellipsis;background-color:#fff;border:1px solid #D6D6D6;border-radius:4px;outline:0}.evo-datepicker__selectors{display:flex;justify-content:center;align-items:center;margin-top:8px;color:#9b9b9b}.evo-datepicker__select{position:absolute;top:0;left:0;z-index:10;display:block;width:100%;height:100%;cursor:pointer;opacity:0;-webkit-appearance:none;appearance:none}.evo-datepicker__empty-text{display:inline-block;margin-right:8px;font-weight:600;line-height:22px;cursor:pointer}.evo-datepicker__apply{width:100%;margin-top:24px;padding:6px 0;color:#fff;font-family:\"Ubuntu\",\"Helvetica Neue\",Arial,sans-serif;text-transform:uppercase;background-color:#21c68b;border-radius:100px}.evo-datepicker__apply:hover{background-color:#4dd1a2}.evo-datepicker__apply:active,.evo-datepicker__apply:focus{background-color:#1eb27d}.evo-datepicker_opened .evo-datepicker__opener svg{fill:#000}.evo-datepicker_opened .evo-datepicker__input{color:#212121;border:solid 1px #231F20!important;box-shadow:0 1px 3px #0003,0 2px 2px #0000001f,0 0 2px #00000024!important}.evo-datepicker_range{display:flex;align-items:center}.evo-datepicker_range .evo-datepicker__input{padding:5px 0;font-weight:600;font-size:14px;border:none}.evo-datepicker_range .evo-datepicker__opener{position:static;flex-shrink:0;order:-1;margin-top:0;margin-right:16px;cursor:pointer;pointer-events:initial}.evo-datepicker_range .evo-datepicker__opener-triangle{display:inline-block;width:24px;height:24px;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22%3E%0D %3Cmask id%3D%22mask0%22 mask-type%3D%22alpha%22 maskUnits%3D%22userSpaceOnUse%22 x%3D%228%22 y%3D%2210%22 width%3D%228%22 height%3D%225%22%3E%0D %3Cpath d%3D%22M8.81066 10C8.14248 10 7.80786 10.8079 8.28033 11.2803L11.4697 14.4697C11.7626 14.7626 12.2374 14.7626 12.5303 14.4697L15.7197 11.2803C16.1921 10.8079 15.8575 10 15.1893 10H8.81066Z%22 fill%3D%22black%22%2F%3E%0D %3C%2Fmask%3E%0D %3Cg mask%3D%22url(%23mask0)%22%3E%0D %3Crect width%3D%2224%22 height%3D%2224%22 fill%3D%22%23212121%22%2F%3E%0D %3C%2Fg%3E%0D%3C%2Fsvg%3E\");cursor:pointer}.evo-datepicker_range.evo-datepicker_opened .evo-datepicker__input{border:none!important;box-shadow:none!important}.evo-datepicker_folded .flatpickr-input{visibility:hidden}.evo-datepicker_folded .evo-datepicker__opener-triangle{display:none}.flatpickr-calendar{position:absolute;display:none;box-sizing:border-box;width:264px;margin:auto;padding:0;overflow:hidden;font-size:14px;line-height:24px;direction:ltr;text-align:center;background:#FFFFFF;border:0;border-radius:5px;box-shadow:0 8px 10px #00000024,0 3px 14px #0000001f;visibility:hidden;opacity:0;animation:none;touch-action:manipulation}.flatpickr-calendar.open,.flatpickr-calendar.inline{max-height:640px;visibility:visible;opacity:1}.flatpickr-calendar.open{z-index:5;display:inline-block}.flatpickr-calendar.animate.open{animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{position:relative;top:2px;display:block}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){box-shadow:-2px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.showTimeInput.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;left:22px;display:block;width:0;height:0;border:solid transparent;pointer-events:none;content:\"\"}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.rightMost:after{right:22px;left:auto}.flatpickr-calendar:before{margin:0 -5px;border-width:5px}.flatpickr-calendar:after{margin:0 -4px;border-width:4px}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%;display:none}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:flex;height:50px;padding:15px 30px;color:#fff;background:#F05023}.flatpickr-months .flatpickr-month{position:relative;flex:1;height:28px;overflow:hidden;color:#000000e6;line-height:1;text-align:center;background:transparent;-webkit-user-select:none;user-select:none;fill:#000000e6}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{position:static;top:0;z-index:3;display:flex;align-items:center;width:25px;height:30px;margin-top:-5px;color:#fff;line-height:16px;text-decoration:none;cursor:pointer;fill:#fff}@media (min-width: 768px){.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{width:initial;height:initial;margin-top:initial}}.flatpickr-months .flatpickr-next-month{justify-content:flex-end}@media (min-width: 768px){.flatpickr-months .flatpickr-next-month{justify-content:initial}}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled svg,.flatpickr-months .flatpickr-next-month.flatpickr-disabled svg{fill:#d6d6d6}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto;font-size:16px;font-family:\"Ubuntu\",\"Helvetica Neue\",Arial,sans-serif}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper span{position:absolute;right:0;box-sizing:border-box;width:14px;height:50%;padding:0 4px 0 2px;line-height:50%;cursor:pointer;opacity:0}.numInputWrapper span:after{position:absolute;display:block;content:\"\"}.numInputWrapper span.arrowUp{top:0;display:none;border-bottom:0}.numInputWrapper span.arrowUp:after{top:26%;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,.6);border-left:4px solid transparent}.numInputWrapper span.arrowDown{top:50%;display:none}.numInputWrapper span.arrowDown:after{top:40%;border-top:4px solid rgba(57,57,57,.6);border-right:4px solid transparent;border-left:4px solid transparent}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:#00000080}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{position:absolute;right:0;left:0;display:inline-block;width:auto;height:28px;margin:auto;padding:0;color:inherit;font-weight:300;font-size:135%;line-height:inherit;line-height:1;text-align:center;transform:translate(0)}.flatpickr-current-month span.cur-month{display:inline-block;padding:0;color:#fff;font-weight:700;font-size:16px;font-family:\"Ubuntu\",\"Helvetica Neue\",Arial,sans-serif}.flatpickr-current-month .numInputWrapper{display:inline-block;width:50px}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:#fff}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:#fff}.flatpickr-current-month input.cur-year{display:inline-block;box-sizing:border-box;width:60px;height:auto;margin:0;padding:0 0 0 .5ch;color:inherit;color:#fff;font-weight:700;font-size:inherit;font-size:14px;font-family:inherit;line-height:inherit;vertical-align:initial;background:transparent;border:0;border-radius:0;cursor:text}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{color:#d6d6d6;background:transparent;pointer-events:none}.flatpickr-weekdays{display:flex;align-items:center;width:100%;height:28px;overflow:hidden;text-align:center;background:transparent}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:flex;flex:1}span.flatpickr-weekday{display:block;width:26px;margin:0 4px 0 0;color:#9b9b9b;font-weight:normal;font-size:12px;line-height:1;text-align:center;background:transparent;cursor:default}span.flatpickr-weekday:nth-child(6),span.flatpickr-weekday:nth-child(7){color:#ff1817}.dayContainer,.flatpickr-weeks{padding:1px 0 0}.flatpickr-days{position:relative;display:flex;align-items:flex-start;width:100%;overflow:hidden}.flatpickr-days:focus{outline:0}.dayContainer{display:flex;flex-wrap:wrap;box-sizing:border-box;width:100%;padding:0;text-align:left;outline:0;transform:translate(0);opacity:1}.dayContainer+.dayContainer{box-shadow:-1px 0 #e6e6e6}.flatpickr-day{position:relative;display:inline-block;flex-basis:14.2857143%;justify-content:center;box-sizing:border-box;width:14.2857143%;max-width:26px;height:26px;margin:5px 4px 0 0;color:#212121;font-weight:normal;font-size:12px;line-height:26px;text-align:center;background:none;border:1px solid transparent;border-radius:150px;cursor:pointer}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{color:#fff;background:#F05023;border-color:#f05023;outline:0;cursor:pointer}.flatpickr-day.today{border-color:#91b1b8}.flatpickr-day.today:hover,.flatpickr-day.today:focus{color:#fff;background:#91B1B8;border-color:#91b1b8}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{color:#fff;background:#F05023;border-color:#f05023;box-shadow:none}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)){box-shadow:-10px 0 #569ff7}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;box-shadow:-5px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:#d6d6d6;background:transparent;border-color:transparent;cursor:default}.flatpickr-day.week.selected{border-radius:0;box-shadow:-5px 0 #569ff7,5px 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:8px;margin-right:4px}.flatpickr-weekwrapper{display:inline-block;float:left}.flatpickr-next-month.flatpickr-disabled,.flatpickr-prev-month.flatpickr-disabled{fill:#d6d6d6}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;box-shadow:1px 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:#3939394d;background:transparent;border:none;cursor:default}.flatpickr-innerContainer{display:block;display:flex;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;box-sizing:border-box;max-width:264px;padding:15px 24px}.flatpickr-time{display:none;box-sizing:border-box;height:0;max-height:40px;overflow:hidden;line-height:40px;text-align:center;outline:0}.flatpickr-time:after{content:\"\";display:table;clear:both}.flatpickr-time .numInputWrapper{flex:1;float:left;width:40%;height:40px}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#fff}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#fff}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{position:relative;box-sizing:border-box;height:inherit;margin:0;padding:0;color:#212121;font-size:14px;line-height:inherit;text-align:center;background:transparent;border:0;border-radius:0;box-shadow:none}.flatpickr-time input.flatpickr-hour{font-weight:bold}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{border:0;outline:0}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{display:inline-block;align-self:center;float:left;width:2%;height:inherit;color:#212121;font-weight:bold;line-height:inherit;-webkit-user-select:none;user-select:none}.flatpickr-time .flatpickr-am-pm{width:18%;font-weight:400;text-align:center;outline:0;cursor:pointer}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#f3f3f3}.flatpickr-input{width:100%;padding:12px 20px;font-size:16px;font-family:\"Open Sans\",\"Helvetica Neue\",Arial,sans-serif;line-height:20px;border:1px solid #D6D6D6;border-radius:4px;cursor:pointer}.flatpickr-input[readonly]{pointer-events:none}.flatpickr-day.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.prevMonthDay.inRange{background-color:#f05023;border-color:#f05023;box-shadow:-5px 0 #f05023,5px 0 #f05023}.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)){box-shadow:-10px 0 #f05023}.flatpickr-current-month input.cur-year[disabled]{color:#fff}.flatpickr-day.startRange.startRange.endRange.endRange{box-shadow:none}.flatpickr-day.selected.endRange{box-shadow:none}.flatpickr-day.startRange.startRange{position:relative;z-index:1}.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.nextMonthDay.endRange{box-shadow:-10px 0 #f05023,5px 0 #f05023}.flatpickr-monthDropdown-months{max-width:100px;color:#fff;font-weight:bold;font-size:16px;font-family:\"Ubuntu\",\"Helvetica Neue\",Arial,sans-serif;text-indent:1px;text-overflow:\"\";background-color:#f05023;border:none;-webkit-appearance:none;-moz-appearance:none;pointer-events:none}@keyframes fpFadeInDown{0%{transform:translateY(-20px);opacity:0}to{transform:translate(0);opacity:1}}\n"], components: [{ type: i1.EvoControlErrorComponent, selector: "evo-control-error", inputs: ["errors", "errorsMessages", "showCount"] }], directives: [{ type: i2.EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }, { type: i3.IMaskDirective, selector: "[imask]", inputs: ["imaskElement", "imask", "unmask"], outputs: ["accept", "complete"], exportAs: ["imask"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
517
+ ], viewQueries: [{ propertyName: "flatpickrElement", first: true, predicate: ["flatpickr"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #flatpickr class=\"evo-datepicker\" [evoUiClass]=\"totalClasses\" (click)=\"onDatepickerClick($event)\">\n <input\n #input\n type=\"text\"\n data-input\n class=\"evo-datepicker__input\"\n [evoUiClass]=\"inputClass\"\n [imask]=\"maskConfig\"\n [placeholder]=\"placeholder\"\n [readonly]=\"disabled\"\n (complete)=\"handleMaskComplete($event)\"\n />\n\n <span *ngIf=\"isRange() && input.value\" class=\"evo-datepicker__value\">{{input.value}}</span>\n\n <span *ngIf=\"shouldShowEmptyText()\" class=\"evo-datepicker__empty-text\">{{isRange() ? '\u0417\u0430 \u043F\u0435\u0440\u0438\u043E\u0434': '\u0414\u0430\u0442\u0430'}}</span>\n\n <span *ngIf=\"!disabled\" class=\"evo-datepicker__opener\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M20 3H19V2C19 1.45 18.55 1 18 1C17.45 1 17 1.45 17 2V3H7V2C7 1.45 6.55 1 6 1C5.45 1 5 1.45 5 2V3H4C2.9 3 2 3.9 2 5V21C2 22.1 2.9 23 4 23H20C21.1 23 22 22.1 22 21V5C22 3.9 21.1 3 20 3ZM19 21H5C4.45 21 4 20.55 4 20V8H20V20C20 20.55 19.55 21 19 21Z\"\n />\n </svg>\n </span>\n <span *ngIf=\"!uiState.isEmptyField\" class=\"evo-datepicker__opener-triangle\"></span>\n</div>\n\n<evo-control-error *ngIf=\"showErrors\" [errors]=\"control.errors\" [errorsMessages]=\"errorsMessages\"></evo-control-error>\n", styles: ["@keyframes evo-fx-blink{50%{transform:scale(1);opacity:1}to{opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gradient{0%{background-position:0 50%}50%{background-position:50vw 50%}to{background-position:100vw 50%}}:host{display:inline-block;--evo-input-prefix-content-margin: 0 12px}.evo-input{position:relative;cursor:text;--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:normal;font-size:var(--evo-input-font-size);font-family:\"Noto Sans\",\"Open Sans\",\"Helvetica Neue\",Arial,sans-serif;white-space:nowrap;background-color:#fff;border:1px solid #D6D6D6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}.evo-input_focused{border:solid 1px #74706F}.evo-input_disabled{color:#9b9b9b;background-color:#f4f6f8!important;cursor:default;pointer-events:none}.evo-input_invalid{border-color:#ff1817!important}.evo-input_theme-rounded:not(.evo-input_size-small){border-radius:256px}.evo-input_theme-rounded:not(.evo-input_size-small) .evo-input__field{border-radius:256px}.evo-input_size-small{height:32px}.evo-input_size-small .evo-input__field{padding:0 8px}.evo-input_size-small .evo-input__tooltip,.evo-input_size-small .evo-input__loading-spinner{flex:0 0 16px;width:16px;height:16px;margin:0 10px}.evo-input_size-small .evo-input__icon{margin-right:10px}.evo-input_size-small .evo-input__icon img{max-height:16px}.evo-input_size-small .evo-input__tooltip-container{top:100%}.evo-input_size-small .evo-input__tooltip-container:before{left:calc(100% - 28px)}@media (min-width: 1200px){.evo-input_size-small .evo-input__tooltip-container{top:calc(100% + 4px)}.evo-input_size-small .evo-input__tooltip-container:before{left:calc(50% - 6px)}}.evo-input_size-small .evo-input__prefix-icon{width:16px;height:16px}.evo-input_size-small .evo-input__prefix-icon:empty{display:none}.evo-input_size-small .evo-input__icon-clear{width:16px;height:16px}.evo-input__prefix-icon{display:flex;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-left:12px;fill:#9b9b9b}.evo-input__prefix-icon:empty{display:none}.evo-input__prefix-content{display:inline-flex;flex-shrink:0;justify-content:center;align-items:center;margin:var(--evo-input-prefix-content-margin)}.evo-input__prefix-content:empty{display:none}.evo-input__prefix-content:not(:empty)~.evo-input__field{padding-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.evo-input__field{flex-grow:1;width:100%;height:100%;margin:0;padding:0 8px 0 16px;color:inherit;font-weight:inherit;font-size:inherit;border:none;border-radius:4px;outline:none}.evo-input__field::-webkit-input-placeholder{color:#9b9b9b}.evo-input__field::-moz-placeholder{color:#9b9b9b;opacity:1}.evo-input__field:-ms-input-placeholder{color:#9b9b9b}.evo-input__field:disabled{color:#9b9b9b;background-color:#f4f6f8!important}.evo-input__field:not(:last-child){padding-right:0}.evo-input__prefix{padding-left:20px;font-size:16px;transition:color .2s}.evo-input__prefix_focused{color:#000}.evo-input__prefix:not(:empty)~.evo-input__field{padding-left:0}.evo-input__tooltip{width:24px;height:24px;margin:0 10px;cursor:pointer;-webkit-user-select:none;user-select:none;fill:#91b1b8}.evo-input__icon-clear{width:24px;height:24px;margin:0 10px;cursor:pointer;-webkit-user-select:none;user-select:none;fill:#91b1b8}.evo-input__icon{margin:0 20px 0 10px}.evo-input__icon img{display:block;width:100%;max-width:60px;height:auto;max-height:22px}.evo-input__tooltip-container{position:absolute;top:calc(100% - 2px);left:0;z-index:1;display:flex;width:100%;padding:10px 10px 10px 20px;color:#212121;line-height:normal;white-space:normal;background-color:#fff8e6;border-radius:4px;box-shadow:0 4px 12px #0003;cursor:default}.evo-input__tooltip-container[hidden]{display:none!important}.evo-input__tooltip-container:before{position:absolute;top:-20px;left:calc(100% - 34px);border:10px solid transparent;border-bottom:10px solid #FFF8E6;pointer-events:none;content:\"\"}@media (min-width: 1200px){.evo-input__tooltip-container{left:calc(50% - 22px)}.evo-input__tooltip-container:before{left:calc(50% - 12px)}}.evo-input__clearable{display:flex;justify-content:center;align-items:center}.evo-input__clearable+.evo-input__additional{margin-left:-10px}.evo-input__additional{display:flex;justify-content:center;align-items:center}.evo-input__additional:not(:last-child) .evo-input__icon{margin-right:10px}.evo-input__additional+.evo-input__loading-spinner{margin-left:0}.evo-input__loading-spinner{margin:0 20px;flex:0 0 16px;width:16px;height:16px;border:2px solid #D6D6D6;border-top-color:#21c68b;border-radius:50%;animation:spin .8s linear infinite}evo-datepicker{--evo-datepicker-icon-color: #212121;--evo-datepicker-range-icon-color: #212121;--evo-datepicker-range-value-white-space: nowrap}.evo-datepicker{position:relative;display:flex;flex-direction:row;flex:1 1 auto}.evo-datepicker__opener{position:absolute;top:50%;right:20px;z-index:1;margin-top:-12px;pointer-events:none}.evo-datepicker__opener svg{fill:var(--evo-datepicker-icon-color)}.evo-datepicker__input_focused{border:solid 1px #74706F}.evo-datepicker__input_disabled{color:#9b9b9b;background-color:#f4f6f8!important;cursor:default;pointer-events:none}.evo-datepicker__input_invalid{border-color:#ff1817!important}.evo-datepicker__input_hidden{position:absolute;visibility:hidden}.evo-datepicker__opener-triangle{display:none}.evo-datepicker__description{margin-top:16px;color:#727272;text-align:center}.evo-datepicker__time-picker{margin-top:24px;text-align:left}.evo-datepicker__time-picker:last-of-type{margin-top:8px}.evo-datepicker__time-label{display:block;padding-left:25px;color:#727272}.evo-datepicker__select-wrapper{position:relative;display:flex;align-items:center}.evo-datepicker__select-wrapper:after{position:absolute;right:20px;width:8px;height:12px;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22%3E %3Cmask id%3D%22mask0%22 mask-type%3D%22alpha%22 maskUnits%3D%22userSpaceOnUse%22 x%3D%228%22 y%3D%2210%22 width%3D%228%22 height%3D%225%22%3E %3Cpath d%3D%22M8.81066 10C8.14248 10 7.80786 10.8079 8.28033 11.2803L11.4697 14.4697C11.7626 14.7626 12.2374 14.7626 12.5303 14.4697L15.7197 11.2803C16.1921 10.8079 15.8575 10 15.1893 10H8.81066Z%22 fill%3D%22black%22%2F%3E %3C%2Fmask%3E %3Cg mask%3D%22url(%23mask0)%22%3E %3Crect width%3D%2224%22 height%3D%2224%22 fill%3D%22%23212121%22%2F%3E %3C%2Fg%3E%3C%2Fsvg%3E\");background-repeat:no-repeat;background-position:center;pointer-events:none;content:\"\"}.evo-datepicker__select-wrapper:first-child{margin-right:8px}.evo-datepicker__select-wrapper:last-child{margin-left:8px}.evo-datepicker__select-field{display:inline-block;align-items:center;height:48px;padding:12px 38px 12px 16px;overflow:hidden;color:#9b9b9b;font-weight:400;font-size:16px;line-height:26px;white-space:nowrap;text-overflow:ellipsis;background-color:#fff;border:1px solid #D6D6D6;border-radius:4px;outline:0}.evo-datepicker__selectors{display:flex;justify-content:center;align-items:center;margin-top:8px;color:#9b9b9b}.evo-datepicker__select{position:absolute;top:0;left:0;z-index:10;display:block;width:100%;height:100%;cursor:pointer;opacity:0;-webkit-appearance:none;appearance:none}.evo-datepicker__empty-text{display:inline-block;margin-right:8px;font-weight:600;line-height:22px;cursor:pointer}.evo-datepicker__apply{width:100%;margin-top:24px;padding:6px 0;color:#fff;font-family:\"Ubuntu\",\"Helvetica Neue\",Arial,sans-serif;text-transform:uppercase;background-color:#21c68b;border-radius:100px}.evo-datepicker__apply:hover{background-color:#4dd1a2}.evo-datepicker__apply:active,.evo-datepicker__apply:focus{background-color:#1eb27d}.evo-datepicker_opened .evo-datepicker__opener svg{fill:var(--evo-datepicker-icon-color)}.evo-datepicker_opened .evo-datepicker__input{color:#212121;border:solid 1px #231F20!important}.evo-datepicker_range{display:flex;flex-direction:row;grid-gap:8px;gap:8px;align-items:center;position:relative}.evo-datepicker_range .evo-datepicker__input{position:absolute;visibility:hidden}.evo-datepicker_range .evo-datepicker__value,.evo-datepicker_range .evo-datepicker__empty-text{position:relative;display:flex;font-weight:600;line-height:22px;cursor:pointer;font-size:14px;border:none;order:2;flex:1 1;white-space:var(--evo-datepicker-range-value-white-space)}.evo-datepicker_range .evo-datepicker__opener{position:relative;display:flex;width:24px;height:24px;flex:0 0 24px;flex-shrink:0;top:auto;right:auto;margin:0;order:1;cursor:pointer;pointer-events:initial;color:var(--evo-datepicker-range-icon-color)}.evo-datepicker_range .evo-datepicker__opener svg{fill:currentColor}.evo-datepicker_range .evo-datepicker__opener-triangle{display:flex;position:relative;width:24px;height:24px;flex:0 0 24px;order:3;background:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22%3E %3Cmask id%3D%22mask0%22 mask-type%3D%22alpha%22 maskUnits%3D%22userSpaceOnUse%22 x%3D%228%22 y%3D%2210%22 width%3D%228%22 height%3D%225%22%3E %3Cpath d%3D%22M8.81066 10C8.14248 10 7.80786 10.8079 8.28033 11.2803L11.4697 14.4697C11.7626 14.7626 12.2374 14.7626 12.5303 14.4697L15.7197 11.2803C16.1921 10.8079 15.8575 10 15.1893 10H8.81066Z%22 fill%3D%22black%22%2F%3E %3C%2Fmask%3E %3Cg mask%3D%22url(%23mask0)%22%3E %3Crect width%3D%2224%22 height%3D%2224%22 fill%3D%22%23212121%22%2F%3E %3C%2Fg%3E%3C%2Fsvg%3E\");cursor:pointer}.evo-datepicker_range.evo-datepicker_opened .evo-datepicker__input{border:none!important;box-shadow:none!important}.evo-datepicker_folded .flatpickr-input{visibility:hidden}.evo-datepicker_folded .evo-datepicker__opener-triangle{display:none}.flatpickr-calendar{position:absolute;display:none;box-sizing:border-box;width:264px;margin:auto;padding:0;overflow:hidden;font-size:14px;line-height:24px;direction:ltr;text-align:center;background:#FFFFFF;border:0;border-radius:5px;box-shadow:0 8px 10px #00000024,0 3px 14px #0000001f;visibility:hidden;opacity:0;animation:none;touch-action:manipulation}.flatpickr-calendar.open,.flatpickr-calendar.inline{max-height:640px;visibility:visible;opacity:1}.flatpickr-calendar.open{z-index:5;display:inline-block}.flatpickr-calendar.animate.open{animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{position:relative;top:2px;display:block}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){box-shadow:-2px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.showTimeInput.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;left:22px;display:block;width:0;height:0;border:solid transparent;pointer-events:none;content:\"\"}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.rightMost:after{right:22px;left:auto}.flatpickr-calendar:before{margin:0 -5px;border-width:5px}.flatpickr-calendar:after{margin:0 -4px;border-width:4px}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%;display:none}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:flex;height:50px;padding:15px 30px;color:#fff;background:#F05023}.flatpickr-months .flatpickr-month{position:relative;flex:1;height:28px;overflow:hidden;color:#000000e6;line-height:1;text-align:center;background:transparent;-webkit-user-select:none;user-select:none;fill:#000000e6}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{position:static;top:0;z-index:3;display:flex;align-items:center;width:25px;height:30px;margin-top:-5px;color:#fff;line-height:16px;text-decoration:none;cursor:pointer;fill:#fff}@media (min-width: 768px){.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{width:initial;height:initial;margin-top:initial}}.flatpickr-months .flatpickr-next-month{justify-content:flex-end}@media (min-width: 768px){.flatpickr-months .flatpickr-next-month{justify-content:initial}}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled svg,.flatpickr-months .flatpickr-next-month.flatpickr-disabled svg{fill:#d6d6d6}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto;font-size:16px;font-family:\"Ubuntu\",\"Helvetica Neue\",Arial,sans-serif}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper span{position:absolute;right:0;box-sizing:border-box;width:14px;height:50%;padding:0 4px 0 2px;line-height:50%;cursor:pointer;opacity:0}.numInputWrapper span:after{position:absolute;display:block;content:\"\"}.numInputWrapper span.arrowUp{top:0;display:none;border-bottom:0}.numInputWrapper span.arrowUp:after{top:26%;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,.6);border-left:4px solid transparent}.numInputWrapper span.arrowDown{top:50%;display:none}.numInputWrapper span.arrowDown:after{top:40%;border-top:4px solid rgba(57,57,57,.6);border-right:4px solid transparent;border-left:4px solid transparent}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:#00000080}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{position:absolute;right:0;left:0;display:inline-block;width:auto;height:28px;margin:auto;padding:0;color:inherit;font-weight:300;font-size:135%;line-height:inherit;line-height:1;text-align:center;transform:translate(0)}.flatpickr-current-month span.cur-month{display:inline-block;padding:0;color:#fff;font-weight:700;font-size:16px;font-family:\"Ubuntu\",\"Helvetica Neue\",Arial,sans-serif}.flatpickr-current-month .numInputWrapper{display:inline-block;width:50px}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:#fff}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:#fff}.flatpickr-current-month input.cur-year{display:inline-block;box-sizing:border-box;width:60px;height:auto;margin:0;padding:0 0 0 .5ch;color:inherit;color:#fff;font-weight:700;font-size:inherit;font-size:14px;font-family:inherit;line-height:inherit;vertical-align:initial;background:transparent;border:0;border-radius:0;cursor:text}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{color:#d6d6d6;background:transparent;pointer-events:none}.flatpickr-weekdays{display:flex;align-items:center;width:100%;height:28px;overflow:hidden;text-align:center;background:transparent}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:flex;flex:1}span.flatpickr-weekday{display:block;width:26px;margin:0 4px 0 0;color:#9b9b9b;font-weight:normal;font-size:12px;line-height:1;text-align:center;background:transparent;cursor:default}span.flatpickr-weekday:nth-child(6),span.flatpickr-weekday:nth-child(7){color:#ff1817}.dayContainer,.flatpickr-weeks{padding:1px 0 0}.flatpickr-days{position:relative;display:flex;align-items:flex-start;width:100%;overflow:hidden}.flatpickr-days:focus{outline:0}.dayContainer{display:flex;flex-wrap:wrap;box-sizing:border-box;width:100%;padding:0;text-align:left;outline:0;transform:translate(0);opacity:1}.dayContainer+.dayContainer{box-shadow:-1px 0 #e6e6e6}.flatpickr-day{position:relative;display:inline-block;flex-basis:14.2857143%;justify-content:center;box-sizing:border-box;width:14.2857143%;max-width:26px;height:26px;margin:5px 4px 0 0;color:#212121;font-weight:normal;font-size:12px;line-height:26px;text-align:center;background:none;border:1px solid transparent;border-radius:150px;cursor:pointer}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{color:#fff;background:#F05023;border-color:#f05023;outline:0;cursor:pointer}.flatpickr-day.today{border-color:#91b1b8}.flatpickr-day.today:hover,.flatpickr-day.today:focus{color:#fff;background:#91B1B8;border-color:#91b1b8}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{color:#fff;background:#F05023;border-color:#f05023;box-shadow:none}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)){box-shadow:-10px 0 #569ff7}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;box-shadow:-5px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:#d6d6d6;background:transparent;border-color:transparent;cursor:default}.flatpickr-day.week.selected{border-radius:0;box-shadow:-5px 0 #569ff7,5px 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:8px;margin-right:4px}.flatpickr-weekwrapper{display:inline-block;float:left}.flatpickr-next-month.flatpickr-disabled,.flatpickr-prev-month.flatpickr-disabled{fill:#d6d6d6}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;box-shadow:1px 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:#3939394d;background:transparent;border:none;cursor:default}.flatpickr-innerContainer{display:block;display:flex;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;box-sizing:border-box;max-width:264px;padding:15px 24px}.flatpickr-time{display:none;box-sizing:border-box;height:0;max-height:40px;overflow:hidden;line-height:40px;text-align:center;outline:0}.flatpickr-time:after{content:\"\";display:table;clear:both}.flatpickr-time .numInputWrapper{flex:1;float:left;width:40%;height:40px}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#fff}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#fff}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{position:relative;box-sizing:border-box;height:inherit;margin:0;padding:0;color:#212121;font-size:14px;line-height:inherit;text-align:center;background:transparent;border:0;border-radius:0;box-shadow:none}.flatpickr-time input.flatpickr-hour{font-weight:bold}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{border:0;outline:0}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{display:inline-block;align-self:center;float:left;width:2%;height:inherit;color:#212121;font-weight:bold;line-height:inherit;-webkit-user-select:none;user-select:none}.flatpickr-time .flatpickr-am-pm{width:18%;font-weight:400;text-align:center;outline:0;cursor:pointer}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#f3f3f3}.flatpickr-input{width:100%;padding:12px 20px;font-size:16px;font-family:\"Noto Sans\",\"Open Sans\",\"Helvetica Neue\",Arial,sans-serif;line-height:20px;border:1px solid #D6D6D6;border-radius:4px;cursor:pointer}.flatpickr-input[readonly]{pointer-events:none}.flatpickr-day.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.prevMonthDay.inRange{background-color:#f05023;border-color:#f05023;box-shadow:-5px 0 #f05023,5px 0 #f05023}.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)){box-shadow:-10px 0 #f05023}.flatpickr-current-month input.cur-year[disabled]{color:#fff}.flatpickr-day.startRange.startRange.endRange.endRange{box-shadow:none}.flatpickr-day.selected.endRange{box-shadow:none}.flatpickr-day.startRange.startRange{position:relative;z-index:1}.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.nextMonthDay.endRange{box-shadow:-10px 0 #f05023,5px 0 #f05023}.flatpickr-monthDropdown-months{max-width:100px;color:#fff;font-weight:bold;font-size:16px;font-family:\"Ubuntu\",\"Helvetica Neue\",Arial,sans-serif;text-indent:1px;text-overflow:\"\";background-color:#f05023;border:none;-webkit-appearance:none;-moz-appearance:none;pointer-events:none}@keyframes fpFadeInDown{0%{transform:translateY(-20px);opacity:0}to{transform:translate(0);opacity:1}}\n"], components: [{ type: i1.EvoControlErrorComponent, selector: "evo-control-error", inputs: ["errors", "errorsMessages", "showCount"] }], directives: [{ type: i2.EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }, { type: i3.IMaskDirective, selector: "[imask]", inputs: ["imaskElement", "imask", "unmask"], outputs: ["accept", "complete"], exportAs: ["imask"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
518
518
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: EvoDatepickerComponent, decorators: [{
519
519
  type: Component,
520
520
  args: [{
@@ -554,4 +554,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
554
554
  }], closePicker: [{
555
555
  type: Output
556
556
  }] } });
557
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWRhdGVwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLWRhdGVwaWNrZXIvZXZvLWRhdGVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLWRhdGVwaWNrZXIvZXZvLWRhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUVWLEtBQUssRUFLTCxNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQ2xHLE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQzs7Ozs7O0FBRWxDLGNBQWMsK0JBQStCLENBQUM7QUFFOUMsSUFBSyxlQUVKO0FBRkQsV0FBSyxlQUFlO0lBQ2hCLGtDQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUZJLGVBQWUsS0FBZixlQUFlLFFBRW5CO0FBc0JELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxjQUFjO0lBOEN0RCxZQUNZLElBQVksRUFDWixVQUFzQixFQUNwQixRQUFrQjtRQUU1QixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFKUixT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QztnQkFDNUIsQ0FBQyxDQUFDLENBQUM7YUFDTjtTQUNKO0lBQ0wsQ0FBQzs7b0hBL25CUSxzQkFBc0I7d0dBQXRCLHNCQUFzQixzVEFScEI7UUFDUDtZQUNJLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztZQUNyRCxLQUFLLEVBQUUsSUFBSTtTQUNkO0tBQ0osbU1DakRMLGtqREE4QkE7NEZEcUJhLHNCQUFzQjtrQkFibEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixXQUFXLEVBQUUsaUNBQWlDO29CQUM5QyxTQUFTLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztvQkFDOUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx1QkFBdUIsQ0FBQzs0QkFDckQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7aUJBQ0o7NklBSUcsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFJdEMsTUFBTTtzQkFETCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUdOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEFmdGVyVmlld0luaXQsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgZm9yd2FyZFJlZixcclxuICAgIEluamVjdG9yLFxyXG4gICAgSW5wdXQsXHJcbiAgICBOZ1pvbmUsXHJcbiAgICBPbkNoYW5nZXMsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPbkluaXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBTaW1wbGVDaGFuZ2VzLFxyXG4gICAgVmlld0NoaWxkLFxyXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRmxhdHBpY2tyT3B0aW9ucyB9IGZyb20gJy4vZmxhdHBpY2tyLW9wdGlvbnMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgY2xvbmVEZWVwLCBpc0VxdWFsIH0gZnJvbSAnbG9kYXNoLWVzJztcclxuaW1wb3J0IHsgY3NzQ2xhc3NlcywgcmVuZGVyUmFuZ2VUaW1lIH0gZnJvbSAnLi90ZW1wbGF0ZXMnO1xyXG5pbXBvcnQgeyBFdm9CYXNlQ29udHJvbCB9IGZyb20gJy4uLy4uL2NvbW1vbi9ldm8tYmFzZS1jb250cm9sJztcclxuaW1wb3J0IHsgRXZvQ29udHJvbFN0YXRlcyB9IGZyb20gJy4uLy4uL2NvbW1vbi9ldm8tY29udHJvbC1zdGF0ZS1tYW5hZ2VyL2V2by1jb250cm9sLXN0YXRlcy5lbnVtJztcclxuaW1wb3J0IGZsYXRwaWNrciBmcm9tICdmbGF0cGlja3InO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9mbGF0cGlja3Itb3B0aW9ucy5pbnRlcmZhY2UnO1xyXG5cclxuZW51bSBEYXRlcGlja2VyTW9kZXMge1xyXG4gICAgUkFOR0UgPSAncmFuZ2UnLFxyXG59XHJcblxyXG5pbnRlcmZhY2UgT3B0aW9uIHtcclxuICAgIGRpc2FibGVkOiBib29sZWFuO1xyXG4gICAgdmFsdWU6IHN0cmluZztcclxufVxyXG5cclxudHlwZSBTZWxlY3RlZERhdGVzID0gc3RyaW5nW10gfCBEYXRlW107XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnZXZvLWRhdGVwaWNrZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V2by1kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2V2by1kYXRlcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRXZvRGF0ZXBpY2tlckNvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXZvRGF0ZXBpY2tlckNvbXBvbmVudCBleHRlbmRzIEV2b0Jhc2VDb250cm9sIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2ZsYXRwaWNrcicsIHtzdGF0aWM6IHRydWV9KVxyXG4gICAgZmxhdHBpY2tyRWxlbWVudDogRWxlbWVudFJlZjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgY29uZmlnOiBGbGF0cGlja3JPcHRpb25zO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBtYXNrZWRJbnB1dDogYm9vbGVhbjtcclxuXHJcbiAgICBASW5wdXQoKSB0aGVtZT86IHN0cmluZztcclxuXHJcbiAgICBASW5wdXQoKSBmb2xkZWQgPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcGxhY2Vob2xkZXIgPSAnJztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0RGF0ZTogU2VsZWN0ZWREYXRlcztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgbWF4UmFuZ2VEYXlzOiBudW1iZXI7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGFwcGVuZFRvQm9keSA9IHRydWU7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBjbG9zZVBpY2tlciA9IG5ldyBFdmVudEVtaXR0ZXI8W0RhdGUsIERhdGVdPigpO1xyXG5cclxuICAgIGRpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gICAgdWlTdGF0ZSA9IHtcclxuICAgICAgICBpc09wZW46IGZhbHNlLFxyXG4gICAgICAgIGlzRW1wdHlGaWVsZDogZmFsc2UsXHJcbiAgICB9O1xyXG5cclxuICAgIGVsZW1lbnRzOiBhbnkgPSB7fTtcclxuXHJcbiAgICBtYXNrQ29uZmlnOiB7IG1hc2s6IGFueSwgcGF0dGVybj86IHN0cmluZywgbWF4PzogRGF0ZSB9O1xyXG5cclxuICAgIHByaXZhdGUgZmxhdHBpY2tyOiBhbnk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXHJcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihpbmplY3Rvcik7XHJcbiAgICB9XHJcblxyXG4gICAgb25DaGFuZ2UgPSAodmFsdWUpID0+IHtcclxuICAgIH07XHJcbiAgICBvblRvdWNoZWQgPSAoKSA9PiB7XHJcbiAgICB9O1xyXG5cclxuICAgIHdyaXRlVmFsdWUodmFsdWU6IFNlbGVjdGVkRGF0ZXMpIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZVBpY2tlcklmTmVlZCh2YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodmFsdWUpO1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICAgICAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVNYXNrQ29tcGxldGUodmFsdWUpIHtcclxuICAgICAgICBpZiAodGhpcy5tYXNrZWRJbnB1dCkge1xyXG4gICAgICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5mbGF0cGlja3JFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuX2ZsYXRwaWNrci5wYXJzZURhdGUodmFsdWUsIHRoaXMuY29uZmlnLmRhdGVGb3JtYXQpO1xyXG4gICAgICAgICAgICB0aGlzLnNldERhdGVGcm9tSW5wdXQoZGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNldERhdGVGcm9tSW5wdXQoZGF0ZTogU2VsZWN0ZWREYXRlcykge1xyXG4gICAgICAgIHRoaXMuZmxhdHBpY2tyRWxlbWVudC5uYXRpdmVFbGVtZW50Ll9mbGF0cGlja3Iuc2V0RGF0ZShkYXRlLCB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5nZXRDb25maWcoKTtcclxuXHJcbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mbGF0cGlja3IgPSBmbGF0cGlja3IodGhpcy5mbGF0cGlja3JFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIGNvbmZpZyk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnNldERhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXREYXRlRnJvbUlucHV0KHRoaXMuc2V0RGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY3VzdG9taXplUGlja2VyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIGlmIChjaGFuZ2VzLmhhc093blByb3BlcnR5KCdzZXREYXRlJykgJiYgY2hhbmdlc1snc2V0RGF0ZSddLmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLnNldERhdGVGcm9tSW5wdXQoY2hhbmdlc1snc2V0RGF0ZSddLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuaW5pdE1hc2soKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLmZsYXRwaWNrciA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5mbGF0cGlja3JFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuX2ZsYXRwaWNrci5kZXN0cm95KCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGlucHV0Q2xhc3MoKTogeyBbY3NzQ2xhc3M6IHN0cmluZ106IGJvb2xlYW4gfSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgJ2Rpc2FibGVkJzogdGhpcy5kaXNhYmxlZCxcclxuICAgICAgICAgICAgJ2hpZGRlbic6ICF0aGlzLmlzVmFsdWVFeGlzdCgpLFxyXG4gICAgICAgICAgICAndmFsaWQnOiB0aGlzLmN1cnJlbnRTdGF0ZVtFdm9Db250cm9sU3RhdGVzLnZhbGlkXSxcclxuICAgICAgICAgICAgJ2ludmFsaWQnOiB0aGlzLmN1cnJlbnRTdGF0ZVtFdm9Db250cm9sU3RhdGVzLmludmFsaWRdLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHRvdGFsQ2xhc3NlcygpOiBzdHJpbmdbXSB7XHJcbiAgICAgICAgY29uc3QgY2xhc3Nlczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMudGhlbWUpIHtcclxuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKHRoaXMudGhlbWUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMudWlTdGF0ZS5pc09wZW4pIHtcclxuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCdvcGVuZWQnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmZvbGRlZCkge1xyXG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goJ2ZvbGRlZCcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGNsYXNzZXM7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdE1hc2soKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmFsbG93SW5wdXQgJiYgdGhpcy5tYXNrZWRJbnB1dCkge1xyXG4gICAgICAgICAgICB0aGlzLm1hc2tDb25maWcgPSB7XHJcbiAgICAgICAgICAgICAgICBwYXR0ZXJuOiB0aGlzLmNvbmZpZy5kYXRlRm9ybWF0LFxyXG4gICAgICAgICAgICAgICAgbWF4OiB0aGlzLmNvbmZpZy5tYXhEYXRlIGFzIERhdGUsXHJcbiAgICAgICAgICAgICAgICBtYXNrOiBEYXRlLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvbkRhdGVwaWNrZXJDbGljayhldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5hbGxvd0lucHV0ICYmXHJcbiAgICAgICAgICAgIChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsYXNzTGlzdC5jb250YWlucyhjc3NDbGFzc2VzLklOUFVUKSB8fFxyXG4gICAgICAgICAgICB0aGlzLmRpc2FibGVkXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMudG9nZ2xlRGF0ZXBpY2tlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIHRvZ2dsZURhdGVwaWNrZXIoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5mbGF0cGlja3IudG9nZ2xlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShzdGF0ZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBzdGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBpc1ZhbHVlRXhpc3QoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmZsYXRwaWNrcikge1xyXG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0RGF0ZSA9IHRoaXMuY29uZmlnLmRlZmF1bHREYXRlO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoZGVmYXVsdERhdGUpID9cclxuICAgICAgICAgICAgICAgICh0aGlzLmNvbmZpZy5kZWZhdWx0RGF0ZSBhcyBEYXRlW10pLmxlbmd0aCA+IDAgOiAhIWRlZmF1bHREYXRlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZsYXRwaWNrci5zZWxlY3RlZERhdGVzLmxlbmd0aCA+IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlzUmFuZ2UoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLm1vZGUgPT09IERhdGVwaWNrZXJNb2Rlcy5SQU5HRTtcclxuICAgIH1cclxuXHJcbiAgICBzaG91bGRTaG93RW1wdHlUZXh0KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhdGhpcy5pc1ZhbHVlRXhpc3QoKSAmJiAhdGhpcy5jb25maWcuYWx0SW5wdXQ7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RGVmYXVsdEZsYXRwaWNrck9wdGlvbnMoKTogRmxhdHBpY2tyT3B0aW9ucyB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgd3JhcDogdHJ1ZSxcclxuICAgICAgICAgICAgY2xpY2tPcGVuczogZmFsc2UsXHJcbiAgICAgICAgICAgIG9uQ2hhbmdlOiAoc2VsZWN0ZWREYXRlczogRGF0ZVtdKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldEVtcHR5RmllbGRTdGF0ZShmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFJhbmdlQ29uc3RyYWludHMoc2VsZWN0ZWREYXRlcyk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFRpbWVDb25zdHJhaW50cyhzZWxlY3RlZERhdGVzKTtcclxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlTGFiZWxWYWx1ZXMoc2VsZWN0ZWREYXRlcyk7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy53cml0ZVZhbHVlKHNlbGVjdGVkRGF0ZXMpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBvbkNsb3NlOiAoc2VsZWN0ZWREYXRlczogW0RhdGUsIERhdGVdKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVNpbmdsZVNlbGVjdGVkVmFsdWVJblJhbmdlKHNlbGVjdGVkRGF0ZXMpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRFbXB0eUZpZWxkU3RhdGVJZk5lZWQoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVzZXRDb25zdHJhaW50cygpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRPcGVuZWRTdGF0ZShmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlUGlja2VyLmVtaXQoc2VsZWN0ZWREYXRlcyk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIG9uT3BlbjogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRPcGVuZWRTdGF0ZSh0cnVlKTtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVzZXRUaW1lQWZ0ZXJPcGVuKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUxhYmVsVmFsdWVzKHRoaXMuZmxhdHBpY2tyLnNlbGVjdGVkRGF0ZXMpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLi4uKCF0aGlzLmFwcGVuZFRvQm9keSAmJiB7YXBwZW5kVG86IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50fSksXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRDb25maWcoKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4udGhpcy5nZXREZWZhdWx0RmxhdHBpY2tyT3B0aW9ucygpLFxyXG4gICAgICAgICAgICAuLi4odGhpcy5jb25maWcgfHwge30pLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDdXN0b21pemF0aW9uIG9mIHRoZSBmbGF0cGlja3IncyB2aWV3IHRvIHVpLWtpdCBzdGF0ZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGN1c3RvbWl6ZVBpY2tlcigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNoYW5nZU5leHRJY29uKCk7XHJcbiAgICAgICAgdGhpcy5hZGREZXNjcmlwdGlvbklmTmVlZCgpO1xyXG4gICAgICAgIHRoaXMuYWRkVGltZVNlbGVjdG9ycygpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0cyBuZXcgc3RhdGUgb2YgdGhlIHBpY2tlciBvcGVubmVzc1xyXG4gICAgICogQHBhcmFtIHN0YXRlIG5ldyBzdGF0ZVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHNldE9wZW5lZFN0YXRlKHN0YXRlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy51aVN0YXRlLmlzT3BlbiA9IHN0YXRlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0RW1wdHlGaWVsZFN0YXRlKHN0YXRlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy51aVN0YXRlLmlzRW1wdHlGaWVsZCA9IHN0YXRlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYWRkVGltZVNlbGVjdG9ycygpIHtcclxuICAgICAgICBpZiAodGhpcy5pc1JhbmdlV2l0aFRpbWUoKSkge1xyXG4gICAgICAgICAgICBjb25zdCB0aW1lV3JhcHBlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICAgICAgICB0aW1lV3JhcHBlci5pbm5lckhUTUwgPSByZW5kZXJSYW5nZVRpbWUoY3NzQ2xhc3Nlcyk7XHJcbiAgICAgICAgICAgIHRoaXMuc2F2ZVRpbWVSYW5nZUVsZW1lbnRzKHRpbWVXcmFwcGVyKTtcclxuICAgICAgICAgICAgdGhpcy5hZGRMaXN0ZW5lcnNPblRpbWVTZWxlY3RvcnMoKTtcclxuICAgICAgICAgICAgdGhpcy5lbGVtZW50cy5hcHBseS5vbmNsaWNrID0gdGhpcy5vbkFwcGx5LmJpbmQodGhpcyk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmZsYXRwaWNrci5yQ29udGFpbmVyLmFwcGVuZENoaWxkKHRpbWVXcmFwcGVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzYXZlVGltZVJhbmdlRWxlbWVudHModGltZVdyYXBwZXI6IEhUTUxFbGVtZW50KSB7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50cyA9IHtcclxuICAgICAgICAgICAgYXBwbHk6IHRpbWVXcmFwcGVyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoY3NzQ2xhc3Nlcy5BUFBMWSlbMF0sXHJcbiAgICAgICAgICAgIGZyb206IHtcclxuICAgICAgICAgICAgICAgIGhvdXI6IHRpbWVXcmFwcGVyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoY3NzQ2xhc3Nlcy5TRUxFQ1RPUl9IT1VSKVswXSxcclxuICAgICAgICAgICAgICAgIG1pbnV0ZTogdGltZVdyYXBwZXIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShjc3NDbGFzc2VzLlNFTEVDVE9SX01JTlVURSlbMF0sXHJcbiAgICAgICAgICAgICAgICBsYWJlbDogdGltZVdyYXBwZXIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShjc3NDbGFzc2VzLlRJTUVfTEFCRUxfRlJPTSlbMF0sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHVudGlsOiB7XHJcbiAgICAgICAgICAgICAgICBob3VyOiB0aW1lV3JhcHBlci5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGNzc0NsYXNzZXMuU0VMRUNUT1JfSE9VUilbMV0sXHJcbiAgICAgICAgICAgICAgICBtaW51dGU6IHRpbWVXcmFwcGVyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoY3NzQ2xhc3Nlcy5TRUxFQ1RPUl9NSU5VVEUpWzFdLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRpbWVXcmFwcGVyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoY3NzQ2xhc3Nlcy5USU1FX0xBQkVMX1VOVElMKVswXSxcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZWxlbWVudHMuZnJvbS5ob3VyRmllbGQgPSB0aGlzLmVsZW1lbnRzLmZyb20uaG91ci5wcmV2aW91c0VsZW1lbnRTaWJsaW5nO1xyXG4gICAgICAgIHRoaXMuZWxlbWVudHMuZnJvbS5taW51dGVGaWVsZCA9IHRoaXMuZWxlbWVudHMuZnJvbS5taW51dGUucHJldmlvdXNFbGVtZW50U2libGluZztcclxuXHJcbiAgICAgICAgdGhpcy5lbGVtZW50cy51bnRpbC5ob3VyRmllbGQgPSB0aGlzLmVsZW1lbnRzLnVudGlsLmhvdXIucHJldmlvdXNFbGVtZW50U2libGluZztcclxuICAgICAgICB0aGlzLmVsZW1lbnRzLnVudGlsLm1pbnV0ZUZpZWxkID0gdGhpcy5lbGVtZW50cy51bnRpbC5taW51dGUucHJldmlvdXNFbGVtZW50U2libGluZztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIG9uQXBwbHkoKSB7XHJcbiAgICAgICAgdGhpcy5zZXRUaW1lKCk7XHJcbiAgICAgICAgdGhpcy5mbGF0cGlja3IuY2xvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldFRpbWUoKSB7XHJcbiAgICAgICAgY29uc3Qge2Zyb21Ib3VyLCBmcm9tTWludXRlfSA9IHRoaXMuZ2V0U2VsZWN0ZWRGcm9tKCk7XHJcbiAgICAgICAgY29uc3Qge3VudGlsSG91ciwgdW50aWxNaW51dGV9ID0gdGhpcy5nZXRTZWxlY3RlZFVudGlsKCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRGF0ZXMgPSBjbG9uZURlZXAodGhpcy5mbGF0cGlja3Iuc2VsZWN0ZWREYXRlcyk7XHJcblxyXG4gICAgICAgIHNlbGVjdGVkRGF0ZXNbMF0uc2V0SG91cnMoZnJvbUhvdXIsIGZyb21NaW51dGUpO1xyXG5cclxuICAgICAgICBpZiAoc2VsZWN0ZWREYXRlc1sxXSkge1xyXG4gICAgICAgICAgICBzZWxlY3RlZERhdGVzWzFdLnNldEhvdXJzKHVudGlsSG91ciwgdW50aWxNaW51dGUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zZXREYXRlRnJvbUlucHV0KHNlbGVjdGVkRGF0ZXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlTGFiZWxWYWx1ZXMoc2VsZWN0ZWREYXRlczogRGF0ZVtdKSB7XHJcbiAgICAgICAgaWYgKCFzZWxlY3RlZERhdGVzIHx8ICFzZWxlY3RlZERhdGVzWzBdIHx8ICFzZWxlY3RlZERhdGVzWzFdKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuaXNSYW5nZVdpdGhUaW1lKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5lbGVtZW50cy5mcm9tLmxhYmVsLmlubmVyVGV4dCA9IGDQn9C10YDQuNC+0LQg0YEgJHt0aGlzLmZsYXRwaWNrci5mb3JtYXREYXRlKHNlbGVjdGVkRGF0ZXNbMF0sICdEIGQubS5ZJyl9YDtcclxuXHJcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZERhdGVzWzFdKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRzLnVudGlsLmxhYmVsLmlubmVyVGV4dCA9IGDQv9C+ICR7dGhpcy5mbGF0cGlja3IuZm9ybWF0RGF0ZShzZWxlY3RlZERhdGVzWzFdLCAnRCBkLm0uWScpfWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRUaW1lQ29uc3RyYWludHMoc2VsZWN0ZWREYXRlczogRGF0ZVtdKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNSYW5nZVdpdGhUaW1lKCkpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNTYW1lRGF0ZShzZWxlY3RlZERhdGVzWzBdLCBzZWxlY3RlZERhdGVzWzFdKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldFRpbWVJZk5lZWQoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0VW50aWxUaW1lQ29uc3RyYWludChzZWxlY3RlZERhdGVzKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVzZXRBbGxDb25zdHJhaW50cygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmVzZXRBbGxDb25zdHJhaW50cygpIHtcclxuICAgICAgICBBcnJheS5mcm9tKHRoaXMuZWxlbWVudHMuZnJvbS5ob3VyLm9wdGlvbnMpLmZvckVhY2goKG9wdGlvbjogT3B0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgIG9wdGlvbi5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBBcnJheS5mcm9tKHRoaXMuZWxlbWVudHMuZnJvbS5taW51dGUub3B0aW9ucykuZm9yRWFjaCgob3B0aW9uOiBPcHRpb24pID0+IHtcclxuICAgICAgICAgICAgb3B0aW9uLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIEFycmF5LmZyb20odGhpcy5lbGVtZW50cy51bnRpbC5ob3VyLm9wdGlvbnMpLmZvckVhY2goKG9wdGlvbjogT3B0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgIG9wdGlvbi5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBBcnJheS5mcm9tKHRoaXMuZWxlbWVudHMudW50aWwubWludXRlLm9wdGlvbnMpLmZvckVhY2goKG9wdGlvbjogT3B0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgIG9wdGlvbi5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYWRkTGlzdGVuZXJzT25UaW1lU2VsZWN0b3JzKCkge1xyXG4gICAgICAgIHRoaXMuZWxlbWVudHMuZnJvbS5ob3VyLm9uY2hhbmdlID0gdGhpcy5vbkNoYW5nZVRpbWVGcm9tLmJpbmQodGhpcyk7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50cy5mcm9tLm1pbnV0ZS5vbmNoYW5nZSA9IHRoaXMub25DaGFuZ2VUaW1lRnJvbS5iaW5kKHRoaXMpO1xyXG5cclxuICAgICAgICB0aGlzLmVsZW1lbnRzLnVudGlsLmhvdXIub25jaGFuZ2UgPSB0aGlzLm9uQ2hhbmdlVGltZVVudGlsLmJpbmQodGhpcyk7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50cy51bnRpbC5taW51dGUub25jaGFuZ2UgPSB0aGlzLm9uQ2hhbmdlVGltZVVudGlsLmJpbmQodGhpcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBvbkNoYW5nZVRpbWVGcm9tKGV2ZW50OiBFdmVudCkge1xyXG4gICAgICAgIGlmICh0aGlzLmlzU2FtZURhdGUodGhpcy5mbGF0cGlja3Iuc2VsZWN0ZWREYXRlc1swXSwgdGhpcy5mbGF0cGlja3Iuc2VsZWN0ZWREYXRlc1sxXSkpIHtcclxuICAgICAgICAgICAgdGhpcy5kaXNhYmxlVGltZVVudGlsU2VsZWN0b3JzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudXBkYXRlVGltZUZpZWxkc0NvbnRlbnQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZVNpbmdsZVNlbGVjdGVkVmFsdWVJblJhbmdlKHNlbGVjdGVkRGF0ZXM6IFtEYXRlLCBEYXRlXSkge1xyXG4gICAgICAgIGlmICh0aGlzLmlzUmFuZ2UoKSAmJiAhc2VsZWN0ZWREYXRlc1sxXSkge1xyXG4gICAgICAgICAgICBjb25zdCB1bnRpbERhdGUgPSBuZXcgRGF0ZShzZWxlY3RlZERhdGVzWzBdKTtcclxuICAgICAgICAgICAgdW50aWxEYXRlLnNldEhvdXJzKDIzLCA1OSwgMCwgMCk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCB1cGRhdGVkRGF0ZXMgPSBbc2VsZWN0ZWREYXRlc1swXSwgdW50aWxEYXRlXTtcclxuICAgICAgICAgICAgdGhpcy53cml0ZVZhbHVlKHVwZGF0ZWREYXRlcyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgb25DaGFuZ2VUaW1lVW50aWwoZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNTYW1lRGF0ZSh0aGlzLmZsYXRwaWNrci5zZWxlY3RlZERhdGVzWzBdLCB0aGlzLmZsYXRwaWNrci5zZWxlY3RlZERhdGVzWzFdKSkge1xyXG4gICAgICAgICAgICB0aGlzLmRpc2FibGVUaW1lRnJvbVNlbGVjdG9ycygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnVwZGF0ZVRpbWVGaWVsZHNDb250ZW50KCk7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlVGltZUZpZWxkc0NvbnRlbnQoKSB7XHJcbiAgICAgICAgY29uc3Qge2Zyb21Ib3VyLCBmcm9tTWludXRlLCB1bnRpbEhvdXIsIHVudGlsTWludXRlfSA9IHRoaXMuZ2V0U2VsZWN0b3JWYXVsZXNBc1N0cmluZygpO1xyXG5cclxuICAgICAgICB0aGlzLmVsZW1lbnRzLmZyb20uaG91ckZpZWxkLmlubmVyVGV4dCA9IGZyb21Ib3VyO1xyXG4gICAgICAgIHRoaXMuZWxlbWVudHMuZnJvbS5taW51dGVGaWVsZC5pbm5lclRleHQgPSBmcm9tTWludXRlO1xyXG5cclxuICAgICAgICB0aGlzLmVsZW1lbnRzLnVudGlsLmhvdXJGaWVsZC5pbm5lclRleHQgPSB1bnRpbEhvdXI7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50cy51bnRpbC5taW51dGVGaWVsZC5pbm5lclRleHQgPSB1bnRpbE1pbnV0ZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGRpc2FibGVUaW1lVW50aWxTZWxlY3RvcnMoKSB7XHJcbiAgICAgICAgY29uc3Qge2Zyb21Ib3VyLCBmcm9tTWludXRlfSA9IHRoaXMuZ2V0U2VsZWN0ZWRGcm9tKCk7XHJcbiAgICAgICAgY29uc3Qge3VudGlsSG91ciwgdW50aWxNaW51dGV9ID0gdGhpcy5nZXRTZWxlY3RlZFVudGlsKCk7XHJcblxyXG4gICAgICAgIEFycmF5LmZyb20odGhpcy5lbGVtZW50cy51bnRpbC5ob3VyLm9wdGlvbnMpLmZvckVhY2goKG9wdGlvbjogT3B0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgIG9wdGlvbi5kaXNhYmxlZCA9IE51bWJlcihvcHRpb24udmFsdWUpIDwgZnJvbUhvdXI7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGlmIChmcm9tSG91ciA9PT0gdW50aWxIb3VyKSB7XHJcbiAgICAgICAgICAgIGlmIChmcm9tTWludXRlID4gdW50aWxNaW51dGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudHMudW50aWwubWludXRlLnNlbGVjdGVkSW5kZXggPSA0O1xyXG5cclxuICAgICAgICAgICAgICAgIEFycmF5LmZyb20odGhpcy5lbGVtZW50cy5mcm9tLm1pbnV0ZS5vcHRpb25zKS5mb3JFYWNoKChvcHRpb246IE9wdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbi5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQXJyYXkuZnJvbSh0aGlzLmVsZW1lbnRzLnVudGlsLm1pbnV0ZS5vcHRpb25zKS5mb3JFYWNoKChvcHRpb246IE9wdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgb3B0aW9uLmRpc2FibGVkID0gTnVtYmVyKG9wdGlvbi52YWx1ZSkgPCBmcm9tTWludXRlO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBBcnJheS5mcm9tKHRoaXMuZWxlbWVudHMuZnJvbS5taW51dGUub3B0aW9ucykuZm9yRWFjaCgob3B0aW9uOiBPcHRpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIG9wdGlvbi5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIEFycmF5LmZyb20odGhpcy5lbGVtZW50cy51bnRpbC5taW51dGUub3B0aW9ucykuZm9yRWFjaCgob3B0aW9uOiBPcHRpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIG9wdGlvbi5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBkaXNhYmxlVGltZUZyb21TZWxlY3RvcnMoKSB7XHJcbiAgICAgICAgY29uc3Qge2Zyb21Ib3VyLCBmcm9tTWludXRlfSA9IHRoaXMuZ2V0U2VsZWN0ZWRGcm9tKCk7XHJcbiAgICAgICAgY29uc3Qge3VudGlsSG91ciwgdW50aWxNaW51dGV9ID0gdGhpcy5nZXRTZWxlY3RlZFVudGlsKCk7XHJcblxyXG4gICAgICAgIEFycmF5LmZyb20odGhpcy5lbGVtZW50cy5mcm9tLmhvdXIub3B0aW9ucykuZm9yRWFjaCgob3B0aW9uOiBPcHRpb24pID0+IHtcclxuICAgICAgICAgICAgb3B0aW9uLmRpc2FibGVkID0gTnVtYmVyKG9wdGlvbi52YWx1ZSkgPiB1bnRpbEhvdXI7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGlmIChmcm9tSG91ciA9PT0gdW50aWxIb3VyKSB7XHJcbiAgICAgICAgICAgIGlmIChmcm9tTWludXRlID4gdW50aWxNaW51dGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudHMudW50aWwubWludXRlLnNlbGVjdGVkSW5kZXggPSA0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IHt1bnRpbE1pbnV0ZTogdW50aWxNaW51dGVBZnRlclVwZGF0ZX0gPSB0aGlzLmdldFNlbGVjdGVkVW50aWwoKTtcclxuXHJcbiAgICAgICAgICAgIEFycmF5LmZyb20odGhpcy5lbGVtZW50cy5mcm9tLm1pbnV0ZS5vcHRpb25zKS5mb3JFYWNoKChvcHRpb246IE9wdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgb3B0aW9uLmRpc2FibGVkID0gTnVtYmVyKG9wdGlvbi52YWx1ZSkgPiB1bnRpbE1pbnV0ZUFmdGVyVXBkYXRlO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIEFycmF5LmZyb20odGhpcy5lbGVtZW50cy51bnRpbC5taW51dGUub3B0aW9ucykuZm9yRWFjaCgob3B0aW9uOiBPcHRpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIG9wdGlvbi5kaXNhYmxlZCA9IE51bWJlcihvcHRpb24udmFsdWUpIDwgZnJvbU1pbnV0ZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgQXJyYXkuZnJvbSh0aGlzLmVsZW1lbnRzLmZyb20ubWludXRlLm9wdGlvbnMpLmZvckVhY2goKG9wdGlvbjogT3B0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBvcHRpb24uZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICBBcnJheS5mcm9tKHRoaXMuZWxlbWVudHMudW50aWwubWludXRlLm9wdGlvbnMpLmZvckVhY2goKG9wdGlvbjogT3B0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBvcHRpb24uZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0VW50aWxUaW1lQ29uc3RyYWludChzZWxlY3RlZERhdGVzOiBEYXRlW10pIHtcclxuICAgICAgICB0aGlzLmRpc2FibGVUaW1lVW50aWxTZWxlY3RvcnMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlc2V0VGltZUlmTmVlZCgpIHtcclxuICAgICAgICBjb25zdCB7ZnJvbUhvdXIsIGZyb21NaW51dGV9ID0gdGhpcy5nZXRTZWxlY3RlZEZyb20oKTtcclxuICAgICAgICBjb25zdCB7dW50aWxIb3VyLCB1bnRpbE1pbnV0ZX0gPSB0aGlzLmdldFNlbGVjdGVkVW50aWwoKTtcclxuXHJcbiAgICAgICAgaWYgKChmcm9tSG91ciA+IHVudGlsSG91cikgfHwgKGZyb21Ib3VyID09PSB1bnRpbEhvdXIgJiYgZnJvbU1pbnV0ZSA+IHVudGlsTWludXRlKSkge1xyXG4gICAgICAgICAgICB0aGlzLnJlc2V0VGltZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlc2V0VGltZSgpIHtcclxuICAgICAgICB0aGlzLmVsZW1lbnRzLmZyb20uaG91ci5zZWxlY3RlZEluZGV4ID0gMDtcclxuICAgICAgICB0aGlzLmVsZW1lbnRzLmZyb20ubWludXRlLnNlbGVjdGVkSW5kZXggPSAwO1xyXG5cclxuICAgICAgICB0aGlzLmVsZW1lbnRzLnVudGlsLmhvdXIuc2VsZWN0ZWRJbmRleCA9IDIzO1xyXG4gICAgICAgIHRoaXMuZWxlbWVudHMudW50aWwubWludXRlLnNlbGVjdGVkSW5kZXggPSA0O1xyXG5cclxuICAgICAgICB0aGlzLnVwZGF0ZVRpbWVGaWVsZHNDb250ZW50KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRTZWxlY3RvclZhdWxlc0FzU3RyaW5nKCk6IHsgZnJvbUhvdXI6IHN0cmluZywgZnJvbU1pbnV0ZTogc3RyaW5nLCB1bnRpbEhvdXI6IHN0cmluZywgdW50aWxNaW51dGU6IHN0cmluZyB9IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBmcm9tSG91cjogdGhpcy5lbGVtZW50cy5mcm9tLmhvdXIub3B0aW9uc1t0aGlzLmVsZW1lbnRzLmZyb20uaG91ci5zZWxlY3RlZEluZGV4XS52YWx1ZSxcclxuICAgICAgICAgICAgZnJvbU1pbnV0ZTogdGhpcy5lbGVtZW50cy5mcm9tLm1pbnV0ZS5vcHRpb25zW3RoaXMuZWxlbWVudHMuZnJvbS5taW51dGUuc2VsZWN0ZWRJbmRleF0udmFsdWUsXHJcbiAgICAgICAgICAgIHVudGlsSG91cjogdGhpcy5lbGVtZW50cy51bnRpbC5ob3VyLm9wdGlvbnNbdGhpcy5lbGVtZW50cy51bnRpbC5ob3VyLnNlbGVjdGVkSW5kZXhdLnZhbHVlLFxyXG4gICAgICAgICAgICB1bnRpbE1pbnV0ZTogdGhpcy5lbGVtZW50cy51bnRpbC5taW51dGUub3B0aW9uc1t0aGlzLmVsZW1lbnRzLnVudGlsLm1pbnV0ZS5zZWxlY3RlZEluZGV4XS52YWx1ZSxcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0U2VsZWN0ZWRGcm9tKCk6IHsgZnJvbUhvdXI6IG51bWJlciwgZnJvbU1pbnV0ZTogbnVtYmVyIH0ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGZyb21Ib3VyOiBOdW1iZXIodGhpcy5lbGVtZW50cy5mcm9tLmhvdXIub3B0aW9uc1t0aGlzLmVsZW1lbnRzLmZyb20uaG91ci5zZWxlY3RlZEluZGV4XS52YWx1ZSksXHJcbiAgICAgICAgICAgIGZyb21NaW51dGU6IE51bWJlcih0aGlzLmVsZW1lbnRzLmZyb20ubWludXRlLm9wdGlvbnNbdGhpcy5lbGVtZW50cy5mcm9tLm1pbnV0ZS5zZWxlY3RlZEluZGV4XS52YWx1ZSksXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFNlbGVjdGVkVW50aWwoKTogeyB1bnRpbEhvdXI6IG51bWJlciwgdW50aWxNaW51dGU6IG51bWJlciB9IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB1bnRpbEhvdXI6IE51bWJlcih0aGlzLmVsZW1lbnRzLnVudGlsLmhvdXIub3B0aW9uc1t0aGlzLmVsZW1lbnRzLnVudGlsLmhvdXIuc2VsZWN0ZWRJbmRleF0udmFsdWUpLFxyXG4gICAgICAgICAgICB1bnRpbE1pbnV0ZTogTnVtYmVyKHRoaXMuZWxlbWVudHMudW50aWwubWludXRlLm9wdGlvbnNbdGhpcy5lbGVtZW50cy51bnRpbC5taW51dGUuc2VsZWN0ZWRJbmRleF0udmFsdWUpLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRSYW5nZUNvbnN0cmFpbnRzKHNlbGVjdGVkRGF0ZXM6IERhdGVbXSkge1xyXG4gICAgICAgIGlmICh0aGlzLmlzUmFuZ2UoKSAmJiB0aGlzLm1heFJhbmdlRGF5cykge1xyXG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWREYXRlcy5sZW5ndGggPT09IDEpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG1pbkRhdGUgPSBuZXcgRGF0ZShzZWxlY3RlZERhdGVzWzBdKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG1heERhdGUgPSBuZXcgRGF0ZShzZWxlY3RlZERhdGVzWzBdKTtcclxuXHJcbiAgICAgICAgICAgICAgICBtaW5EYXRlLnNldERhdGUobWluRGF0ZS5nZXREYXRlKCkgLSB0aGlzLm1heFJhbmdlRGF5cyk7XHJcbiAgICAgICAgICAgICAgICBtYXhEYXRlLnNldERhdGUobWF4RGF0ZS5nZXREYXRlKCkgKyB0aGlzLm1heFJhbmdlRGF5cyk7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5mbGF0cGlja3IuY29uZmlnLm1pbkRhdGUgPSBtaW5EYXRlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5mbGF0cGlja3IuY29uZmlnLm1heERhdGUgPSBtYXhEYXRlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldENvbnN0cmFpbnRzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSByZXNldENvbnN0cmFpbnRzKCkge1xyXG4gICAgICAgIHRoaXMuZmxhdHBpY2tyLmNvbmZpZy5taW5EYXRlID0gdGhpcy5jb25maWcubWluRGF0ZTtcclxuICAgICAgICB0aGlzLmZsYXRwaWNrci5jb25maWcubWF4RGF0ZSA9IHRoaXMuY29uZmlnLm1heERhdGU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpc1JhbmdlV2l0aFRpbWUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNSYW5nZSgpICYmIHRoaXMuY29uZmlnLmVuYWJsZVRpbWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRFbXB0eUZpZWxkU3RhdGVJZk5lZWQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNSYW5nZSgpICYmIHRoaXMuZmxhdHBpY2tyLnNlbGVjdGVkRGF0ZXMubGVuZ3RoICE9PSAyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0RW1wdHlGaWVsZFN0YXRlKHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHVwZGF0ZVBpY2tlcklmTmVlZCh2YWx1ZTogU2VsZWN0ZWREYXRlcyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmZsYXRwaWNrcikge1xyXG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZERhdGVzID0gdGhpcy5nZXRTZWxlY3RlZERhdGVzV2l0aERhdGVQaWNrZXJGb3JtYXQodGhpcy5mbGF0cGlja3Iuc2VsZWN0ZWREYXRlcyk7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuZ2V0U2VsZWN0ZWREYXRlc1dpdGhEYXRlUGlja2VyRm9ybWF0KHZhbHVlKTtcclxuXHJcbiAgICAgICAgICAgIGlmICghaXNFcXVhbCh2YWx1ZXMsIHNlbGVjdGVkRGF0ZXMpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldERhdGVGcm9tSW5wdXQodmFsdWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0U2VsZWN0ZWREYXRlc1dpdGhEYXRlUGlja2VyRm9ybWF0KGRhdGVSYW5nZTogU2VsZWN0ZWREYXRlcyk6IHN0cmluZ1tdIHtcclxuICAgICAgICBpZiAoZGF0ZVJhbmdlICYmIGRhdGVSYW5nZS5sZW5ndGggJiYgdHlwZW9mIChkYXRlUmFuZ2VbMF0pICE9PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICByZXR1cm4gKGRhdGVSYW5nZSBhcyBEYXRlW10pLm1hcCgoZGF0ZSkgPT4gdGhpcy50b0RhdGVQaWNrZXJGb3JtYXQoZGF0ZSkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGRhdGVSYW5nZSBhcyBzdHJpbmdbXTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHRvRGF0ZVBpY2tlckZvcm1hdChkYXRlPzogRGF0ZSk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKCFkYXRlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBgJHtkYXRlLmdldERhdGUoKX0uJHtkYXRlLmdldE1vbnRoKCkgKyAxfS4ke2RhdGUuZ2V0RnVsbFllYXIoKX1gO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU3Vic3RpdHV0aW9uIG9mIGljb25zXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgY2hhbmdlTmV4dEljb24oKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgSWNvbnMgPSB7XHJcbiAgICAgICAgICAgIFBSRVY6IGBcclxuICAgICAgICAgICAgICAgIDxzdmcgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDYgMTZcIiB3aWR0aD1cIjZcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggX25nY29udGVudC1jMD1cIlwiIGQ9XCJNNiAwTDAgOEw2IDE2VjBaXCIgZmlsbD1cIndoaXRlXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDYgMTYpIHJvdGF0ZSgxODApXCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+YCxcclxuICAgICAgICAgICAgTkVYVDogYFxyXG4gICAgICAgICAgICAgICAgPHN2ZyBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgNiAxNlwiIHdpZHRoPVwiNlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBfbmdjb250ZW50LWMwPVwiXCIgZD1cIk02IDBMMCA4TDYgMTZWMFpcIiBmaWxsPVwid2hpdGVcIj48L3BhdGg+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz5gLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZmxhdHBpY2tyLm5leHRNb250aE5hdi5pbm5lckhUTUwgPSBJY29ucy5QUkVWO1xyXG4gICAgICAgIHRoaXMuZmxhdHBpY2tyLnByZXZNb250aE5hdi5pbm5lckhUTUwgPSBJY29ucy5ORVhUO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYWRkRGVzY3JpcHRpb25JZk5lZWQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZGVzY3JpcHRpb24pIHtcclxuICAgICAgICAgICAgY29uc3QgZGVzY3JpcHRpb25FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncCcpO1xyXG4gICAgICAgICAgICBkZXNjcmlwdGlvbkVsZW1lbnQuY2xhc3NOYW1lID0gY3NzQ2xhc3Nlcy5ERVNDUklQVElPTjtcclxuICAgICAgICAgICAgZGVzY3JpcHRpb25FbGVtZW50LmlubmVySFRNTCA9IHRoaXMuZGVzY3JpcHRpb247XHJcblxyXG4gICAgICAgICAgICB0aGlzLmZsYXRwaWNrci5yQ29udGFpbmVyLmFwcGVuZENoaWxkKGRlc2NyaXB0aW9uRWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNTYW1lRGF0ZShmaXJzdERhdGU6IERhdGUsIHNlY29uZERhdGU6IERhdGUpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gZmlyc3REYXRlICYmIHNlY29uZERhdGUgJiYgZmlyc3REYXRlLmdldERhdGUoKSA9PT0gc2Vjb25kRGF0ZS5nZXREYXRlKCkgJiZcclxuICAgICAgICAgICAgZmlyc3REYXRlLmdldE1vbnRoKCkgPT09IHNlY29uZERhdGUuZ2V0TW9udGgoKSAmJlxyXG4gICAgICAgICAgICBmaXJzdERhdGUuZ2V0RnVsbFllYXIoKSA9PT0gc2Vjb25kRGF0ZS5nZXRGdWxsWWVhcigpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0U2VsZWN0ZWRJbmRleEJ5TWludXRlcyhtaW51dGVzOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiBNYXRoLnJvdW5kKG1pbnV0ZXMgLyA1KSAqIDUgLyAxNTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHJlc2V0VGltZUFmdGVyT3BlbigpIHtcclxuICAgICAgICBpZiAodGhpcy5pc1JhbmdlV2l0aFRpbWUoKSkge1xyXG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZERhdGVzID0gdGhpcy5mbGF0cGlja3Iuc2VsZWN0ZWREYXRlcztcclxuICAgICAgICAgICAgaWYgKHNlbGVjdGVkRGF0ZXNbMF0gJiYgc2VsZWN0ZWREYXRlc1sxXSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50cy5mcm9tLmhvdXIuc2VsZWN0ZWRJbmRleCA9IHNlbGVjdGVkRGF0ZXNbMF0uZ2V0SG91cnMoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudHMuZnJvbS5taW51dGUuc2VsZWN0ZWRJbmRleCA9IHRoaXMuZ2V0U2VsZWN0ZWRJbmRleEJ5TWludXRlcyhzZWxlY3RlZERhdGVzWzBdLmdldE1pbnV0ZXMoKSk7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50cy51bnRpbC5ob3VyLnNlbGVjdGVkSW5kZXggPSBzZWxlY3RlZERhdGVzWzFdLmdldEhvdXJzKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRzLnVudGlsLm1pbnV0ZS5zZWxlY3RlZEluZGV4ID0gdGhpcy5nZXRTZWxlY3RlZEluZGV4QnlNaW51dGVzKHNlbGVjdGVkRGF0ZXNbMV0uZ2V0TWludXRlcygpKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYWRkQ29uc3RyYWludHNBZnRlck9wZW4oc2VsZWN0ZWREYXRlcyk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRpbWVGaWVsZHNDb250ZW50KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhZGRDb25zdHJhaW50c0FmdGVyT3BlbihzZWxlY3RlZERhdGVzOiBbRGF0ZSwgRGF0ZV0pIHtcclxuICAgICAgICBpZiAodGhpcy5pc1NhbWVEYXRlKHNlbGVjdGVkRGF0ZXNbMF0sIHNlbGVjdGVkRGF0ZXNbMV0pKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHtmcm9tSG91ciwgZnJvbU1pbnV0ZX0gPSB0aGlzLmdldFNlbGVjdGVkRnJvbSgpO1xyXG4gICAgICAgICAgICBjb25zdCB7dW50aWxIb3VyLCB1bnRpbE1pbnV0ZX0gPSB0aGlzLmdldFNlbGVjdGVkVW50aWwoKTtcclxuXHJcbiAgICAgICAgICAgIEFycmF5LmZyb20odGhpcy5lbGVtZW50cy5mcm9tLmhvdXIub3B0aW9ucykuZm9yRWFjaCgob3B0aW9uOiBPcHRpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIG9wdGlvbi5kaXNhYmxlZCA9IE51bWJlcihvcHRpb24udmFsdWUpID4gdW50aWxIb3VyO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIEFycmF5LmZyb20odGhpcy5lbGVtZW50cy51bnRpbC5ob3VyLm9wdGlvbnMpLmZvckVhY2goKG9wdGlvbjogT3B0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBvcHRpb24uZGlzYWJsZWQgPSBOdW1iZXIob3B0aW9uLnZhbHVlKSA8IGZyb21Ib3VyO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIGlmIChmcm9tSG91ciA9PT0gdW50aWxIb3VyKSB7XHJcbiAgICAgICAgICAgICAgICBBcnJheS5mcm9tKHRoaXMuZWxlbWVudHMuZnJvbS5taW51dGUub3B0aW9ucykuZm9yRWFjaCgob3B0aW9uOiBPcHRpb24pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBvcHRpb24uZGlzYWJsZWQgPSBOdW1iZXIob3B0aW9uLnZhbHVlKSA+IHVudGlsTWludXRlO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgQXJyYXkuZnJvbSh0aGlzLmVsZW1lbnRzLnVudGlsLm1pbnV0ZS5vcHRpb25zKS5mb3JFYWNoKChvcHRpb246IE9wdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbi5kaXNhYmxlZCA9IE51bWJlcihvcHRpb24udmFsdWUpIDwgZnJvbU1pbnV0ZTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgQXJyYXkuZnJvbSh0aGlzLmVsZW1lbnRzLmZyb20ubWludXRlLm9wdGlvbnMpLmZvckVhY2goKG9wdGlvbjogT3B0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICBBcnJheS5mcm9tKHRoaXMuZWxlbWVudHMudW50aWwubWludXRlLm9wdGlvbnMpLmZvckVhY2goKG9wdGlvbjogT3B0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZXZvLWRhdGVwaWNrZXJcIiBbZXZvVWlDbGFzc109XCJ0b3RhbENsYXNzZXNcIiAjZmxhdHBpY2tyIChjbGljayk9XCJvbkRhdGVwaWNrZXJDbGljaygkZXZlbnQpXCI+XHJcbiAgICA8aW5wdXQgY2xhc3M9XCJldm8tZGF0ZXBpY2tlcl9faW5wdXRcIlxyXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgIGRhdGEtaW5wdXRcclxuICAgICAgICAgICAgW2V2b1VpQ2xhc3NdPVwiaW5wdXRDbGFzc1wiXHJcbiAgICAgICAgICAgIFtpbWFza109XCJtYXNrQ29uZmlnXCJcclxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgKGNvbXBsZXRlKT1cImhhbmRsZU1hc2tDb21wbGV0ZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cImRpc2FibGVkXCI+XHJcblxyXG4gICAgPHNwYW4gKm5nSWY9XCJzaG91bGRTaG93RW1wdHlUZXh0KClcIiBjbGFzcz1cImV2by1kYXRlcGlja2VyX19lbXB0eS10ZXh0XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzUmFuZ2UoKTsgZWxzZSBzaW5nbGVFbXB0eVRleHRcIj5cclxuICAgICAgICAgICAg0JfQsCDQv9C10YDQuNC+0LRcclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNzaW5nbGVFbXB0eVRleHQ+XHJcbiAgICAgICAgICAgINCU0LDRgtCwXHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvc3Bhbj5cclxuXHJcbiAgICA8c3BhbiBjbGFzcz1cImV2by1kYXRlcGlja2VyX19vcGVuZXJcIiAqbmdJZj1cIiFkaXNhYmxlZFwiPlxyXG4gICAgICAgIDxzdmcgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICA8cGF0aCBkPVwiTTIwIDNIMTlWMkMxOSAxLjQ1IDE4LjU1IDEgMTggMUMxNy40NSAxIDE3IDEuNDUgMTcgMlYzSDdWMkM3IDEuNDUgNi41NSAxIDYgMUM1LjQ1IDEgNSAxLjQ1IDUgMlYzSDRDMi45IDMgMiAzLjkgMiA1VjIxQzIgMjIuMSAyLjkgMjMgNCAyM0gyMEMyMS4xIDIzIDIyIDIyLjEgMjIgMjFWNUMyMiAzLjkgMjEuMSAzIDIwIDNaTTE5IDIxSDVDNC40NSAyMSA0IDIwLjU1IDQgMjBWOEgyMFYyMEMyMCAyMC41NSAxOS41NSAyMSAxOSAyMVpcIi8+XHJcbiAgICAgICAgPC9zdmc+XHJcbiAgICA8L3NwYW4+XHJcbiAgICA8c3BhbiAqbmdJZj1cIiF1aVN0YXRlLmlzRW1wdHlGaWVsZFwiIGNsYXNzPVwiZXZvLWRhdGVwaWNrZXJfX29wZW5lci10cmlhbmdsZVwiPjwvc3Bhbj5cclxuPC9kaXY+XHJcbjxldm8tY29udHJvbC1lcnJvciAqbmdJZj1cInNob3dFcnJvcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgW2Vycm9yc109XCJjb250cm9sLmVycm9yc1wiXHJcbiAgICAgICAgICAgICAgICAgICBbZXJyb3JzTWVzc2FnZXNdPVwiZXJyb3JzTWVzc2FnZXNcIj48L2V2by1jb250cm9sLWVycm9yPlxyXG4iXX0=
557
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWRhdGVwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLWRhdGVwaWNrZXIvZXZvLWRhdGVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLWRhdGVwaWNrZXIvZXZvLWRhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUVWLEtBQUssRUFLTCxNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQ2xHLE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQzs7Ozs7O0FBRWxDLGNBQWMsK0JBQStCLENBQUM7QUFFOUMsSUFBSyxlQUVKO0FBRkQsV0FBSyxlQUFlO0lBQ2hCLGtDQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUZJLGVBQWUsS0FBZixlQUFlLFFBRW5CO0FBc0JELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxjQUFjO0lBOEN0RCxZQUNZLElBQVksRUFDWixVQUFzQixFQUNwQixRQUFrQjtRQUU1QixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFKUixT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QztnQkFDNUIsQ0FBQyxDQUFDLENBQUM7YUFDTjtTQUNKO0lBQ0wsQ0FBQzs7b0hBL25CUSxzQkFBc0I7d0dBQXRCLHNCQUFzQixzVEFScEI7UUFDUDtZQUNJLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztZQUNyRCxLQUFLLEVBQUUsSUFBSTtTQUNkO0tBQ0osbU1DakRMLGk3Q0E0QkE7NEZEdUJhLHNCQUFzQjtrQkFibEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixXQUFXLEVBQUUsaUNBQWlDO29CQUM5QyxTQUFTLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztvQkFDOUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx1QkFBdUIsQ0FBQzs0QkFDckQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7aUJBQ0o7NklBSUcsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFJdEMsTUFBTTtzQkFETCxLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUdOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmxhdHBpY2tyT3B0aW9ucyB9IGZyb20gJy4vZmxhdHBpY2tyLW9wdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IGNsb25lRGVlcCwgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBjc3NDbGFzc2VzLCByZW5kZXJSYW5nZVRpbWUgfSBmcm9tICcuL3RlbXBsYXRlcyc7XG5pbXBvcnQgeyBFdm9CYXNlQ29udHJvbCB9IGZyb20gJy4uLy4uL2NvbW1vbi9ldm8tYmFzZS1jb250cm9sJztcbmltcG9ydCB7IEV2b0NvbnRyb2xTdGF0ZXMgfSBmcm9tICcuLi8uLi9jb21tb24vZXZvLWNvbnRyb2wtc3RhdGUtbWFuYWdlci9ldm8tY29udHJvbC1zdGF0ZXMuZW51bSc7XG5pbXBvcnQgZmxhdHBpY2tyIGZyb20gJ2ZsYXRwaWNrcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZmxhdHBpY2tyLW9wdGlvbnMuaW50ZXJmYWNlJztcblxuZW51bSBEYXRlcGlja2VyTW9kZXMge1xuICAgIFJBTkdFID0gJ3JhbmdlJyxcbn1cblxuaW50ZXJmYWNlIE9wdGlvbiB7XG4gICAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgdmFsdWU6IHN0cmluZztcbn1cblxudHlwZSBTZWxlY3RlZERhdGVzID0gc3RyaW5nW10gfCBEYXRlW107XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXZvLWRhdGVwaWNrZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldm8tZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXZvLWRhdGVwaWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEV2b0RhdGVwaWNrZXJDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRXZvRGF0ZXBpY2tlckNvbXBvbmVudCBleHRlbmRzIEV2b0Jhc2VDb250cm9sIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgQFZpZXdDaGlsZCgnZmxhdHBpY2tyJywge3N0YXRpYzogdHJ1ZX0pXG4gICAgZmxhdHBpY2tyRWxlbWVudDogRWxlbWVudFJlZjtcblxuICAgIEBJbnB1dCgpXG4gICAgY29uZmlnOiBGbGF0cGlja3JPcHRpb25zO1xuXG4gICAgQElucHV0KClcbiAgICBtYXNrZWRJbnB1dDogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIHRoZW1lPzogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgZm9sZGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHBsYWNlaG9sZGVyID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldERhdGU6IFNlbGVjdGVkRGF0ZXM7XG5cbiAgICBASW5wdXQoKVxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIG1heFJhbmdlRGF5czogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICBhcHBlbmRUb0JvZHkgPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgY2xvc2VQaWNrZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFtEYXRlLCBEYXRlXT4oKTtcblxuICAgIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICB1aVN0YXRlID0ge1xuICAgICAgICBpc09wZW46IGZhbHNlLFxuICAgICAgICBpc0VtcHR5RmllbGQ6IGZhbHNlLFxuICAgIH07XG5cbiAgICBlbGVtZW50czogYW55ID0ge307XG5cbiAgICBtYXNrQ29uZmlnOiB7IG1hc2s6IGFueSwgcGF0dGVybj86IHN0cmluZywgbWF4PzogRGF0ZSB9O1xuXG4gICAgcHJpdmF0ZSBmbGF0cGlja3I6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgb25DaGFuZ2UgPSAodmFsdWUpID0+IHtcbiAgICB9O1xuICAgIG9uVG91Y2hlZCA9ICgpID0+IHtcbiAgICB9O1xuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogU2VsZWN0ZWREYXRlcykge1xuICAgICAgICB0aGlzLnVwZGF0ZVBpY2tlcklmTmVlZCh2YWx1ZSk7XG4gICAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4ge1xuICAgIH1cblxuICAgIGhhbmRsZU1hc2tDb21wbGV0ZSh2YWx1ZSkge1xuICAgICAgICBpZiAodGhpcy5tYXNrZWRJbnB1dCkge1xuICAgICAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuZmxhdHBpY2tyRWxlbWVudC5uYXRpdmVFbGVtZW50Ll9mbGF0cGlja3IucGFyc2VEYXRlKHZhbHVlLCB0aGlzLmNvbmZpZy5kYXRlRm9ybWF0KTtcbiAgICAgICAgICAgIHRoaXMuc2V0RGF0ZUZyb21JbnB1dChkYXRlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldERhdGVGcm9tSW5wdXQoZGF0ZTogU2VsZWN0ZWREYXRlcykge1xuICAgICAgICB0aGlzLmZsYXRwaWNrckVsZW1lbnQubmF0aXZlRWxlbWVudC5fZmxhdHBpY2tyLnNldERhdGUoZGF0ZSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLmdldENvbmZpZygpO1xuXG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZsYXRwaWNrciA9IGZsYXRwaWNrcih0aGlzLmZsYXRwaWNrckVsZW1lbnQubmF0aXZlRWxlbWVudCwgY29uZmlnKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuc2V0RGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5zZXREYXRlRnJvbUlucHV0KHRoaXMuc2V0RGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jdXN0b21pemVQaWNrZXIoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmhhc093blByb3BlcnR5KCdzZXREYXRlJykgJiYgY2hhbmdlc1snc2V0RGF0ZSddLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zZXREYXRlRnJvbUlucHV0KGNoYW5nZXNbJ3NldERhdGUnXS5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaW5pdE1hc2soKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5mbGF0cGlja3IgPSBudWxsO1xuICAgICAgICB0aGlzLmZsYXRwaWNrckVsZW1lbnQubmF0aXZlRWxlbWVudC5fZmxhdHBpY2tyLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBnZXQgaW5wdXRDbGFzcygpOiB7IFtjc3NDbGFzczogc3RyaW5nXTogYm9vbGVhbiB9IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICdkaXNhYmxlZCc6IHRoaXMuZGlzYWJsZWQsXG4gICAgICAgICAgICAnaGlkZGVuJzogIXRoaXMuaXNWYWx1ZUV4aXN0KCksXG4gICAgICAgICAgICAndmFsaWQnOiB0aGlzLmN1cnJlbnRTdGF0ZVtFdm9Db250cm9sU3RhdGVzLnZhbGlkXSxcbiAgICAgICAgICAgICdpbnZhbGlkJzogdGhpcy5jdXJyZW50U3RhdGVbRXZvQ29udHJvbFN0YXRlcy5pbnZhbGlkXSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXQgdG90YWxDbGFzc2VzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgY29uc3QgY2xhc3Nlczogc3RyaW5nW10gPSBbXTtcblxuICAgICAgICBpZiAodGhpcy50aGVtZSkge1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKHRoaXMudGhlbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudWlTdGF0ZS5pc09wZW4pIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaCgnb3BlbmVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5mb2xkZWQpIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaCgnZm9sZGVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2xhc3NlcztcbiAgICB9XG5cbiAgICBpbml0TWFzaygpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmFsbG93SW5wdXQgJiYgdGhpcy5tYXNrZWRJbnB1dCkge1xuICAgICAgICAgICAgdGhpcy5tYXNrQ29uZmlnID0ge1xuICAgICAgICAgICAgICAgIHBhdHRlcm46IHRoaXMuY29uZmlnLmRhdGVGb3JtYXQsXG4gICAgICAgICAgICAgICAgbWF4OiB0aGlzLmNvbmZpZy5tYXhEYXRlIGFzIERhdGUsXG4gICAgICAgICAgICAgICAgbWFzazogRGF0ZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkRhdGVwaWNrZXJDbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5jb25maWcuYWxsb3dJbnB1dCAmJlxuICAgICAgICAgICAgKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xhc3NMaXN0LmNvbnRhaW5zKGNzc0NsYXNzZXMuSU5QVVQpIHx8XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVkXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50b2dnbGVEYXRlcGlja2VyKCk7XG4gICAgfVxuXG4gICAgdG9nZ2xlRGF0ZXBpY2tlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mbGF0cGlja3IudG9nZ2xlKCk7XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShzdGF0ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gc3RhdGU7XG4gICAgfVxuXG4gICAgaXNWYWx1ZUV4aXN0KCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuZmxhdHBpY2tyKSB7XG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0RGF0ZSA9IHRoaXMuY29uZmlnLmRlZmF1bHREYXRlO1xuXG4gICAgICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheShkZWZhdWx0RGF0ZSkgP1xuICAgICAgICAgICAgICAgICh0aGlzLmNvbmZpZy5kZWZhdWx0RGF0ZSBhcyBEYXRlW10pLmxlbmd0aCA+IDAgOiAhIWRlZmF1bHREYXRlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmxhdHBpY2tyLnNlbGVjdGVkRGF0ZXMubGVuZ3RoID4gMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzUmFuZ2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5tb2RlID09PSBEYXRlcGlja2VyTW9kZXMuUkFOR0U7XG4gICAgfVxuXG4gICAgc2hvdWxkU2hvd0VtcHR5VGV4dCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzVmFsdWVFeGlzdCgpICYmICF0aGlzLmNvbmZpZy5hbHRJbnB1dDtcbiAgICB9XG5cbiAgICBnZXREZWZhdWx0RmxhdHBpY2tyT3B0aW9ucygpOiBGbGF0cGlja3JPcHRpb25zIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHdyYXA6IHRydWUsXG4gICAgICAgICAgICBjbGlja09wZW5zOiBmYWxzZSxcbiAgICAgICAgICAgIG9uQ2hhbmdlOiAoc2VsZWN0ZWREYXRlczogRGF0ZVtdKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRFbXB0eUZpZWxkU3RhdGUoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0UmFuZ2VDb25zdHJhaW50cyhzZWxlY3RlZERhdGVzKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFRpbWVDb25zdHJhaW50cyhzZWxlY3RlZERhdGVzKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUxhYmVsVmFsdWVzKHNlbGVjdGVkRGF0ZXMpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy53cml0ZVZhbHVlKHNlbGVjdGVkRGF0ZXMpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9uQ2xvc2U6IChzZWxlY3RlZERhdGVzOiBbRGF0ZSwgRGF0ZV0pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZVNpbmdsZVNlbGVjdGVkVmFsdWVJblJhbmdlKHNlbGVjdGVkRGF0ZXMpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0RW1wdHlGaWVsZFN0YXRlSWZOZWVkKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldENvbnN0cmFpbnRzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRPcGVuZWRTdGF0ZShmYWxzZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZVBpY2tlci5lbWl0KHNlbGVjdGVkRGF0ZXMpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9uT3BlbjogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0T3BlbmVkU3RhdGUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldFRpbWVBZnRlck9wZW4oKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUxhYmVsVmFsdWVzKHRoaXMuZmxhdHBpY2tyLnNlbGVjdGVkRGF0ZXMpO1xuICAgICAgICAgICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLi4uKCF0aGlzLmFwcGVuZFRvQm9keSAmJiB7YXBwZW5kVG86IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50fSksXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZ2V0Q29uZmlnKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4udGhpcy5nZXREZWZhdWx0RmxhdHBpY2tyT3B0aW9ucygpLFxuICAgICAgICAgICAgLi4uKHRoaXMuY29uZmlnIHx8IHt9KSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b21pemF0aW9uIG9mIHRoZSBmbGF0cGlja3IncyB2aWV3IHRvIHVpLWtpdCBzdGF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgY3VzdG9taXplUGlja2VyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoYW5nZU5leHRJY29uKCk7XG4gICAgICAgIHRoaXMuYWRkRGVzY3JpcHRpb25JZk5lZWQoKTtcbiAgICAgICAgdGhpcy5hZGRUaW1lU2VsZWN0b3JzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBuZXcgc3RhdGUgb2YgdGhlIHBpY2tlciBvcGVubmVzc1xuICAgICAqIEBwYXJhbSBzdGF0ZSBuZXcgc3RhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIHNldE9wZW5lZFN0YXRlKHN0YXRlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudWlTdGF0ZS5pc09wZW4gPSBzdGF0ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEVtcHR5RmllbGRTdGF0ZShzdGF0ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVpU3RhdGUuaXNFbXB0eUZpZWxkID0gc3RhdGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRUaW1lU2VsZWN0b3JzKCkge1xuICAgICAgICBpZiAodGhpcy5pc1JhbmdlV2l0aFRpbWUoKSkge1xuICAgICAgICAgICAgY29uc3QgdGltZVdyYXBwZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgICAgIHRpbWVXcmFwcGVyLmlubmVySFRNTCA9IHJlbmRlclJhbmdlVGltZShjc3NDbGFzc2VzKTtcbiAgICAgICAgICAgIHRoaXMuc2F2ZVRpbWVSYW5nZUVsZW1lbnRzKHRpbWVXcmFwcGVyKTtcbiAgICAgICAgICAgIHRoaXMuYWRkTGlzdGVuZXJzT25UaW1lU2VsZWN0b3JzKCk7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRzLmFwcGx5Lm9uY2xpY2sgPSB0aGlzLm9uQXBwbHkuYmluZCh0aGlzKTtcblxuICAgICAgICAgICAgdGhpcy5mbGF0cGlja3IuckNvbnRhaW5lci5hcHBlbmRDaGlsZCh0aW1lV3JhcHBlcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNhdmVUaW1lUmFuZ2VFbGVtZW50cyh0aW1lV3JhcHBlcjogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50cyA9IHtcbiAgICAgICAgICAgIGFwcGx5OiB0aW1lV3JhcHBlci5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGNzc0NsYXNzZXMuQVBQTFkpWzBdLFxuICAgICAgICAgICAgZnJvbToge1xuICAgICAgICAgICAgICAgIGhvdXI6IHRpbWVXcmFwcGVyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoY3NzQ2xhc3Nlcy5TRUxFQ1RPUl9IT1VSKVswXSxcbiAgICAgICAgICAgICAgICBtaW51dGU6IHRpbWVXcmFwcGVyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoY3NzQ2xhc3Nlcy5TRUxFQ1RPUl9NSU5VVEUpWzBdLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aW1lV3JhcHBlci5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGNzc0NsYXNzZXMuVElNRV9MQUJFTF9GUk9NKVswXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB1bnRpbDoge1xuICAgICAgICAgICAgICAgIGhvdXI6IHRpbWVXcmFwcGVyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoY3NzQ2xhc3Nlcy5TRUxFQ1RPUl9IT1VSKVsxXSxcbiAgICAgICAgICAgICAgICBtaW51dGU6IHRpbWVXcmFwcGVyLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoY3NzQ2xhc3Nlcy5TRUxFQ1RPUl9NSU5VVEUpWzFdLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aW1lV3JhcHBlci5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGNzc0NsYXNzZXMuVElNRV9MQUJFTF9VTlRJTClbMF0sXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5lbGVtZW50cy5mcm9tLmhvdXJGaWVsZCA9IHRoaXMuZWxlbWVudHMuZnJvbS5ob3VyLnByZXZpb3VzRWxlbWVudFNpYmxpbmc7XG4gICAgICAgIHRoaXMuZWxlbWVudHMuZnJvbS5taW51dGVGaWVsZCA9IHRoaXMuZWxlbWVudHMuZnJvbS5taW51dGUucHJldmlvdXNFbGVtZW50U2libGluZztcblxuICAgICAgICB0aGlzLmVsZW1lbnRzLnVudGlsLmhvdXJGaWVsZCA9IHRoaXMuZWxlbWVudHMudW50aWwuaG91ci5wcmV2aW91c0VsZW1lbnRTaWJsaW5nO1xuICAgICAgICB0aGlzLmVsZW1lbnRzLnVudGlsLm1pbnV0ZUZpZWxkID0gdGhpcy5lbGVtZW50cy51bnRpbC5taW51dGUucHJldmlvdXNFbGVtZW50U2libGluZztcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uQXBwbHkoKSB7XG4gICAgICAgIHRoaXMuc2V0VGltZSgpO1xuICAgICAgICB0aGlzLmZsYXRwaWNrci5jbG9zZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0VGltZSgpIHtcbiAgICAgICAgY29uc3Qge2Zyb21Ib3VyLCBmcm9tTWludXRlfSA9IHRoaXMuZ2V0U2VsZWN0ZWRGcm9tKCk7XG4gICAgICAgIGNvbnN0IHt1bnRpbEhvdXIsIHVudGlsTWludXRlfSA9IHRoaXMuZ2V0U2VsZWN0ZWRVbnRpbCgpO1xuXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRGF0ZXMgPSBjbG9uZURlZXAodGhpcy5mbGF0cGlja3Iuc2VsZWN0ZWREYXRlcyk7XG5cbiAgICAgICAgc2VsZWN0ZWREYXRlc1swXS5zZXRIb3Vycyhmcm9tSG91ciwgZnJvbU1pbnV0ZSk7XG5cbiAgICAgICAgaWYgKHNlbGVjdGVkRGF0ZXNbMV0pIHtcbiAgICAgICAgICAgIHNlbGVjdGVkRGF0ZXNbMV0uc2V0SG91cnModW50aWxIb3VyLCB1bnRpbE1pbnV0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldERhdGVGcm9tSW5wdXQoc2VsZWN0ZWREYXRlcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVMYWJlbFZhbHVlcyhzZWxlY3RlZERhdGVzOiBEYXRlW10pIHtcbiAgICAgICAgaWYgKCFzZWxlY3RlZERhdGVzIHx8ICFzZWxlY3RlZERhdGVzWzBdIHx8ICFzZWxlY3RlZERhdGVzWzFdKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaXNSYW5nZVdpdGhUaW1lKCkpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudHMuZnJvbS5sYWJlbC5pbm5lclRleHQgPSBg0J/QtdGA0LjQvtC0INGBICR7dGhpcy5mbGF0cGlja3IuZm9ybWF0RGF0ZShzZWxlY3RlZERhdGVzWzBdLCAnRCBkLm0uWScpfWA7XG5cbiAgICAgICAgICAgIGlmIChzZWxlY3RlZERhdGVzWzFdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50cy51bnRpbC5sYWJlbC5pbm5lclRleHQgPSBg0L/QviAke3RoaXMuZmxhdHBpY2tyLmZvcm1hdERhdGUoc2VsZWN0ZWREYXRlc1sxXSwgJ0QgZC5tLlknKX1gO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRUaW1lQ29uc3RyYWludHMoc2VsZWN0ZWREYXRlczogRGF0ZVtdKSB7XG4gICAgICAgIGlmICh0aGlzLmlzUmFuZ2VXaXRoVGltZSgpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc1NhbWVEYXRlKHNlbGVjdGVkRGF0ZXNbMF0sIHNlbGVjdGVkRGF0ZXNbMV0pKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldFRpbWVJZk5lZWQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFVudGlsVGltZUNvbnN0cmFpbnQoc2VsZWN0ZWREYXRlcyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzZXRBbGxDb25zdHJhaW50cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNldEFsbENvbnN0cmFpbnRzKCkge1xuICAgICAgICBBcnJheS5mcm9tKHRoaXMuZWxlbWVudHMuZnJvbS5ob3VyLm9wdGlvbnMpLmZvckVhY2goKG9wdGlvbjogT3B0aW9uKSA9PiB7XG4gICAgICAgICAgICBvcHRpb24uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgQXJyYXkuZnJvbSh0aGlzLmVsZW1lbnRzLmZyb20ubWludXRlLm9wdGlvbnMpLmZvckVhY2goKG9wdGlvbjogT3B0aW9uKSA9PiB7XG4gICAgICAgICAgICBvcHRpb24uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgQXJyYXkuZnJvbSh0aGlzLmVsZW1lbnRzLnVudGlsLmhvdXIub3B0aW9ucykuZm9yRWFjaCgob3B0aW9uOiBPcHRpb24pID0+IHtcbiAgICAgICAgICAgIG9wdGlvbi5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICB9KTtcblxuICAgICAgICBBcnJheS5mcm9tKHRoaXMuZWxlbWVudHMudW50aWwubWludXRlLm9wdGlvbnMpLmZvckVhY2goKG9wdGlvbjogT3B0aW9uKSA9PiB7XG4gICAgICAgICAgICBvcHRpb24uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRMaXN0ZW5lcnNPblRpbWVTZWxlY3RvcnMoKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudHMuZnJvbS5ob3VyLm9uY2hhbmdlID0gdGhpcy5vbkNoYW5nZVRpbWVGcm9tLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuZWxlbWVudHMuZnJvbS5taW51dGUub25jaGFuZ2UgPSB0aGlzLm9uQ2hhbmdlVGltZUZyb20uYmluZCh0aGlzKTtcblxuICAgICAgICB0aGlzLmVsZW1lbnRzLnVudGlsLmhvdXIub25jaGFuZ2UgPSB0aGlzLm9uQ2hhbmdlVGltZVVudGlsLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuZWxlbWVudHMudW50aWwubWludXRlLm9uY2hhbmdlID0gdGhpcy5vbkNoYW5nZVRpbWVVbnRpbC5iaW5kKHRoaXMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25DaGFuZ2VUaW1lRnJvbShldmVudDogRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTYW1lRGF0ZSh0aGlzLmZsYXRwaWNrci5zZWxlY3RlZERhdGVzWzBdLCB0aGlzLmZsYXRwaWNrci5zZWxlY3RlZERhdGVzWzFdKSkge1xuICAgICAgICAgICAgdGhpcy5kaXNhYmxlVGltZVVudGlsU2VsZWN0b3JzKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGRhdGVUaW1lRmllbGRzQ29udGVudCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlU2luZ2xlU2VsZWN0ZWRWYWx1ZUluUmFuZ2Uoc2VsZWN0ZWREYXRlczogW0RhdGUsIERhdGVdKSB7XG4gICAgICAgIGlmICh0aGlzLmlzUmFuZ2UoKSAmJiAhc2VsZWN0ZWREYXRlc1sxXSkge1xuICAgICAgICAgICAgY29uc3QgdW50aWxEYXRlID0gbmV3IERhdGUoc2VsZWN0ZWREYXRlc1swXSk7XG4gICAgICAgICAgICB1bnRpbERhdGUuc2V0SG91cnMoMjMsIDU5LCAwLCAwKTtcblxuICAgICAgICAgICAgY29uc3QgdXBkYXRlZERhdGVzID0gW3NlbGVjdGVkRGF0ZXNbMF0sIHVudGlsRGF0ZV07XG4gICAgICAgICAgICB0aGlzLndyaXRlVmFsdWUodXBkYXRlZERhdGVzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb25DaGFuZ2VUaW1lVW50aWwoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmlzU2FtZURhdGUodGhpcy5mbGF0cGlja3Iuc2VsZWN0ZWREYXRlc1swXSwgdGhpcy5mbGF0cGlja3Iuc2VsZWN0ZWREYXRlc1sxXSkpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZVRpbWVGcm9tU2VsZWN0b3JzKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGRhdGVUaW1lRmllbGRzQ29udGVudCgpO1xuXG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUaW1lRmllbGRzQ29udGVudCgpIHtcbiAgICAgICAgY29uc3Qge2Zyb21Ib3VyLCBmcm9tTWludXRlLCB1bnRpbEhvdXIsIHVudGlsTWludXRlfSA9IHRoaXMuZ2V0U2VsZWN0b3JWYXVsZXNBc1N0cmluZygpO1xuXG4gICAgICAgIHRoaXMuZWxlbWVudHMuZnJvbS5ob3VyRmllbGQuaW5uZXJUZXh0ID0gZnJvbUhvdXI7XG4gICAgICAgIHRoaXMuZWxlbWVudHMuZnJvbS5taW51dGVGaWVsZC5pbm5lclRleHQgPSBmcm9tTWludXRlO1xuXG4gICAgICAgIHRoaXMuZWxlbWVudHMudW50aWwuaG91ckZpZWxkLmlubmVyVGV4dCA9IHVudGlsSG91cjtcbiAgICAgICAgdGhpcy5lbGVtZW50cy51bnRpbC5taW51dGVGaWVsZC5pbm5lclRleHQgPSB1bnRpbE1pbnV0ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRpc2FibGVUaW1lVW50aWxTZWxlY3RvcnMoKSB7XG4gICAgICAgIGNvbnN0IHtmcm9tSG91ciwgZnJvbU1pbnV0ZX0gPSB0aGlzLmdldFNlbGVjdGVkRnJvbSgpO1xuICAgICAgICBjb25zdCB7dW50aWxIb3VyLCB1bnRpbE1pbnV0ZX0gPSB0aGlzLmdldFNlbGVjdGVkVW50aWwoKTtcblxuICAgICAgICBBcnJheS5mcm9tKHRoaXMuZWxlbWVudHMudW50aWwuaG91ci5vcHRpb25zKS5mb3JFYWNoKChvcHRpb246IE9wdGlvbikgPT4ge1xuICAgICAgICAgICAgb3B0aW9uLmRpc2FibGVkID0gTnVtYmVyKG9wdGlvbi52YWx1ZSkgPCBmcm9tSG91cjtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGZyb21Ib3VyID09PSB1bnRpbEhvdXIpIHtcbiAgICAgICAgICAgIGlmIChmcm9tTWludXRlID4gdW50aWxNaW51dGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRzLnVudGlsLm1pbnV0ZS5zZWxlY3RlZEluZGV4ID0gNDtcblxuICAgICAgICAgICAgICAgIEFycmF5LmZyb20odGhpcy5lbGVtZW50cy5mcm9tLm1pbnV0ZS5vcHRpb25zKS5mb3JFYWNoKChvcHRpb246IE9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBvcHRpb24uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEFycmF5LmZyb20odGhpcy5lbGVtZW50cy51bnRpbC5taW51dGUub3B0aW9ucykuZm9yRWFjaCgob3B0aW9uOiBPcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICBvcHRpb24uZGlzYWJsZWQgPSBOdW1iZXIob3B0aW9uLnZhbHVlKSA8IGZyb21NaW51dGU7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIEFycmF5LmZyb20odGhpcy5lbGVtZW50cy5mcm9tLm1pbnV0ZS5vcHRpb25zKS5mb3JFYWNoKChvcHRpb246IE9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIG9wdGlvbi5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIEFycmF5LmZyb20odGhpcy5lbGVtZW50cy51bnRpbC5taW51dGUub3B0aW9ucykuZm9yRWFjaCgob3B0aW9uOiBPcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICBvcHRpb24uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkaXNhYmxlVGltZUZyb21TZWxlY3RvcnMoKSB7XG4gICAgICAgIGNvbnN0IHtmcm9tSG91ciwgZnJvbU1pbnV0ZX0gPSB0aGlzLmdldFNlbGVjdGVkRnJvbSgpO1xuICAgICAgICBjb25zdCB7dW50aWxIb3VyLCB1bnRpbE1pbnV0ZX0gPSB0aGlzLmdldFNlbGVjdGVkVW50aWwoKTtcblxuICAgICAgICBBcnJheS5mcm9tKHRoaXMuZWxlbWVudHMuZnJvbS5ob3VyLm9wdGlvbnMpLmZvckVhY2goKG9wdGlvbjogT3B0aW9uKSA9PiB7XG4gICAgICAgICAgICBvcHRpb24uZGlzYWJsZWQgPSBOdW1iZXIob3B0aW9uLnZhbHVlKSA+IHVudGlsSG91cjtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGZyb21Ib3VyID09PSB1bnRpbEhvdXIpIHtcbiAgICAgICAgICAgIGlmIChmcm9tTWludXRlID4gdW50aWxNaW51dGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRzLnVudGlsLm1pbnV0ZS5zZWxlY3RlZEluZGV4ID0gNDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHt1bnRpbE1pbnV0ZTogdW50aWxNaW51dGVBZnRlclVwZGF0ZX0gPSB0aGlzLmdldFNlbGVjdGVkVW50aWwoKTtcblxuICAgICAgICAgICAgQXJyYXkuZnJvbSh0aGlzLmVsZW1lbnRzLmZyb20ubWludXRlLm9wdGlvbnMpLmZvckVhY2goKG9wdGlvbjogT3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgb3B0aW9uLmRpc2FibGVkID0gTnVtYmVyKG9wdGlvbi52YWx1ZSkgPiB1bnRpbE1pbnV0ZUFmdGVyVXBkYXRlO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIEFycmF5LmZyb20odGhpcy5lbGVtZW50cy51bnRpbC5taW51dGUub3B0aW9ucykuZm9yRWFjaCgob3B0aW9uOiBPcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICBvcHRpb24uZGlzYWJsZWQgPSBOdW1iZXIob3B0aW9uLnZhbHVlKSA8IGZyb21NaW51dGU7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIEFycmF5LmZyb20odGhpcy5lbGVtZW50cy5mcm9tLm1pbnV0ZS5vcHRpb25zKS5mb3JFYWNoKChvcHRpb246IE9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIG9wdGlvbi5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIEFycmF5LmZyb20odGhpcy5lbGVtZW50cy51bnRpbC5taW51dGUub3B0aW9ucykuZm9yRWFjaCgob3B0aW9uOiBPcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICBvcHRpb24uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRVbnRpbFRpbWVDb25zdHJhaW50KHNlbGVjdGVkRGF0ZXM6IERhdGVbXSkge1xuICAgICAgICB0aGlzLmRpc2FibGVUaW1lVW50aWxTZWxlY3RvcnMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0VGltZUlmTmVlZCgpIHtcbiAgICAgICAgY29uc3Qge2Zyb21Ib3VyLCBmcm9tTWludXRlfSA9IHRoaXMuZ2V0U2VsZWN0ZWRGcm9tKCk7XG4gICAgICAgIGNvbnN0IHt1bnRpbEhvdXIsIHVudGlsTWludXRlfSA9IHRoaXMuZ2V0U2VsZWN0ZWRVbnRpbCgpO1xuXG4gICAgICAgIGlmICgoZnJvbUhvdXIgPiB1bnRpbEhvdXIpIHx8IChmcm9tSG91ciA9PT0gdW50aWxIb3VyICYmIGZyb21NaW51dGUgPiB1bnRpbE1pbnV0ZSkpIHtcbiAgICAgICAgICAgIHRoaXMucmVzZXRUaW1lKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0VGltZSgpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50cy5mcm9tLmhvdXIuc2VsZWN0ZWRJbmRleCA9IDA7XG4gICAgICAgIHRoaXMuZWxlbWVudHMuZnJvbS5taW51dGUuc2VsZWN0ZWRJbmRleCA9IDA7XG5cbiAgICAgICAgdGhpcy5lbGVtZW50cy51bnRpbC5ob3VyLnNlbGVjdGVkSW5kZXggPSAyMztcbiAgICAgICAgdGhpcy5lbGVtZW50cy51bnRpbC5taW51dGUuc2VsZWN0ZWRJbmRleCA9IDQ7XG5cbiAgICAgICAgdGhpcy51cGRhdGVUaW1lRmllbGRzQ29udGVudCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VsZWN0b3JWYXVsZXNBc1N0cmluZygpOiB7IGZyb21Ib3VyOiBzdHJpbmcsIGZyb21NaW51dGU6IHN0cmluZywgdW50aWxIb3VyOiBzdHJpbmcsIHVudGlsTWludXRlOiBzdHJpbmcgfSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBmcm9tSG91cjogdGhpcy5lbGVtZW50cy5mcm9tLmhvdXIub3B0aW9uc1t0aGlzLmVsZW1lbnRzLmZyb20uaG91ci5zZWxlY3RlZEluZGV4XS52YWx1ZSxcbiAgICAgICAgICAgIGZyb21NaW51dGU6IHRoaXMuZWxlbWVudHMuZnJvbS5taW51dGUub3B0aW9uc1t0aGlzLmVsZW1lbnRzLmZyb20ubWludXRlLnNlbGVjdGVkSW5kZXhdLnZhbHVlLFxuICAgICAgICAgICAgdW50aWxIb3VyOiB0aGlzLmVsZW1lbnRzLnVudGlsLmhvdXIub3B0aW9uc1t0aGlzLmVsZW1lbnRzLnVudGlsLmhvdXIuc2VsZWN0ZWRJbmRleF0udmFsdWUsXG4gICAgICAgICAgICB1bnRpbE1pbnV0ZTogdGhpcy5lbGVtZW50cy51bnRpbC5taW51dGUub3B0aW9uc1t0aGlzLmVsZW1lbnRzLnVudGlsLm1pbnV0ZS5zZWxlY3RlZEluZGV4XS52YWx1ZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNlbGVjdGVkRnJvbSgpOiB7IGZyb21Ib3VyOiBudW1iZXIsIGZyb21NaW51dGU6IG51bWJlciB9IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGZyb21Ib3VyOiBOdW1iZXIodGhpcy5lbGVtZW50cy5mcm9tLmhvdXIub3B0aW9uc1t0aGlzLmVsZW1lbnRzLmZyb20uaG91ci5zZWxlY3RlZEluZGV4XS52YWx1ZSksXG4gICAgICAgICAgICBmcm9tTWludXRlOiBOdW1iZXIodGhpcy5lbGVtZW50cy5mcm9tLm1pbnV0ZS5vcHRpb25zW3RoaXMuZWxlbWVudHMuZnJvbS5taW51dGUuc2VsZWN0ZWRJbmRleF0udmFsdWUpLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VsZWN0ZWRVbnRpbCgpOiB7IHVudGlsSG91cjogbnVtYmVyLCB1bnRpbE1pbnV0ZTogbnVtYmVyIH0ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdW50aWxIb3VyOiBOdW1iZXIodGhpcy5lbGVtZW50cy51bnRpbC5ob3VyLm9wdGlvbnNbdGhpcy5lbGVtZW50cy51bnRpbC5ob3VyLnNlbGVjdGVkSW5kZXhdLnZhbHVlKSxcbiAgICAgICAgICAgIHVudGlsTWludXRlOiBOdW1iZXIodGhpcy5lbGVtZW50cy51bnRpbC5taW51dGUub3B0aW9uc1t0aGlzLmVsZW1lbnRzLnVudGlsLm1pbnV0ZS5zZWxlY3RlZEluZGV4XS52YWx1ZSksXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRSYW5nZUNvbnN0cmFpbnRzKHNlbGVjdGVkRGF0ZXM6IERhdGVbXSkge1xuICAgICAgICBpZiAodGhpcy5pc1JhbmdlKCkgJiYgdGhpcy5tYXhSYW5nZURheXMpIHtcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZERhdGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1pbkRhdGUgPSBuZXcgRGF0ZShzZWxlY3RlZERhdGVzWzBdKTtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXhEYXRlID0gbmV3IERhdGUoc2VsZWN0ZWREYXRlc1swXSk7XG5cbiAgICAgICAgICAgICAgICBtaW5EYXRlLnNldERhdGUobWluRGF0ZS5nZXREYXRlKCkgLSB0aGlzLm1heFJhbmdlRGF5cyk7XG4gICAgICAgICAgICAgICAgbWF4RGF0ZS5zZXREYXRlKG1heERhdGUuZ2V0RGF0ZSgpICsgdGhpcy5tYXhSYW5nZURheXMpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5mbGF0cGlja3IuY29uZmlnLm1pbkRhdGUgPSBtaW5EYXRlO1xuICAgICAgICAgICAgICAgIHRoaXMuZmxhdHBpY2tyLmNvbmZpZy5tYXhEYXRlID0gbWF4RGF0ZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldENvbnN0cmFpbnRzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0Q29uc3RyYWludHMoKSB7XG4gICAgICAgIHRoaXMuZmxhdHBpY2tyLmNvbmZpZy5taW5EYXRlID0gdGhpcy5jb25maWcubWluRGF0ZTtcbiAgICAgICAgdGhpcy5mbGF0cGlja3IuY29uZmlnLm1heERhdGUgPSB0aGlzLmNvbmZpZy5tYXhEYXRlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNSYW5nZVdpdGhUaW1lKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1JhbmdlKCkgJiYgdGhpcy5jb25maWcuZW5hYmxlVGltZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEVtcHR5RmllbGRTdGF0ZUlmTmVlZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNSYW5nZSgpICYmIHRoaXMuZmxhdHBpY2tyLnNlbGVjdGVkRGF0ZXMubGVuZ3RoICE9PSAyKSB7XG4gICAgICAgICAgICB0aGlzLnNldEVtcHR5RmllbGRTdGF0ZSh0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUGlja2VySWZOZWVkKHZhbHVlOiBTZWxlY3RlZERhdGVzKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZsYXRwaWNrcikge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWREYXRlcyA9IHRoaXMuZ2V0U2VsZWN0ZWREYXRlc1dpdGhEYXRlUGlja2VyRm9ybWF0KHRoaXMuZmxhdHBpY2tyLnNlbGVjdGVkRGF0ZXMpO1xuICAgICAgICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy5nZXRTZWxlY3RlZERhdGVzV2l0aERhdGVQaWNrZXJGb3JtYXQodmFsdWUpO1xuXG4gICAgICAgICAgICBpZiAoIWlzRXF1YWwodmFsdWVzLCBzZWxlY3RlZERhdGVzKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0RGF0ZUZyb21JbnB1dCh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNlbGVjdGVkRGF0ZXNXaXRoRGF0ZVBpY2tlckZvcm1hdChkYXRlUmFuZ2U6IFNlbGVjdGVkRGF0ZXMpOiBzdHJpbmdbXSB7XG4gICAgICAgIGlmIChkYXRlUmFuZ2UgJiYgZGF0ZVJhbmdlLmxlbmd0aCAmJiB0eXBlb2YgKGRhdGVSYW5nZVswXSkgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gKGRhdGVSYW5nZSBhcyBEYXRlW10pLm1hcCgoZGF0ZSkgPT4gdGhpcy50b0RhdGVQaWNrZXJGb3JtYXQoZGF0ZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRhdGVSYW5nZSBhcyBzdHJpbmdbXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvRGF0ZVBpY2tlckZvcm1hdChkYXRlPzogRGF0ZSk6IHN0cmluZyB7XG4gICAgICAgIGlmICghZGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGAke2RhdGUuZ2V0RGF0ZSgpfS4ke2RhdGUuZ2V0TW9udGgoKSArIDF9LiR7ZGF0ZS5nZXRGdWxsWWVhcigpfWA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU3Vic3RpdHV0aW9uIG9mIGljb25zXG4gICAgICovXG4gICAgcHJpdmF0ZSBjaGFuZ2VOZXh0SWNvbigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgSWNvbnMgPSB7XG4gICAgICAgICAgICBQUkVWOiBgXG4gICAgICAgICAgICAgICAgPHN2ZyBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgNiAxNlwiIHdpZHRoPVwiNlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICAgICAgICAgICAgPHBhdGggX25nY29udGVudC1jMD1cIlwiIGQ9XCJNNiAwTDAgOEw2IDE2VjBaXCIgZmlsbD1cIndoaXRlXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDYgMTYpIHJvdGF0ZSgxODApXCI+PC9wYXRoPlxuICAgICAgICAgICAgICAgIDwvc3ZnPmAsXG4gICAgICAgICAgICBORVhUOiBgXG4gICAgICAgICAgICAgICAgPHN2ZyBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgNiAxNlwiIHdpZHRoPVwiNlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgICAgICAgICAgICAgPHBhdGggX25nY29udGVudC1jMD1cIlwiIGQ9XCJNNiAwTDAgOEw2IDE2VjBaXCIgZmlsbD1cIndoaXRlXCI+PC9wYXRoPlxuICAgICAgICAgICAgICAgIDwvc3ZnPmAsXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5mbGF0cGlja3IubmV4dE1vbnRoTmF2LmlubmVySFRNTCA9IEljb25zLlBSRVY7XG4gICAgICAgIHRoaXMuZmxhdHBpY2tyLnByZXZNb250aE5hdi5pbm5lckhUTUwgPSBJY29ucy5ORVhUO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkRGVzY3JpcHRpb25JZk5lZWQoKSB7XG4gICAgICAgIGlmICh0aGlzLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBkZXNjcmlwdGlvbkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwJyk7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbkVsZW1lbnQuY2xhc3NOYW1lID0gY3NzQ2xhc3Nlcy5ERVNDUklQVElPTjtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uRWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLmRlc2NyaXB0aW9uO1xuXG4gICAgICAgICAgICB0aGlzLmZsYXRwaWNrci5yQ29udGFpbmVyLmFwcGVuZENoaWxkKGRlc2NyaXB0aW9uRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlzU2FtZURhdGUoZmlyc3REYXRlOiBEYXRlLCBzZWNvbmREYXRlOiBEYXRlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBmaXJzdERhdGUgJiYgc2Vjb25kRGF0ZSAmJiBmaXJzdERhdGUuZ2V0RGF0ZSgpID09PSBzZWNvbmREYXRlLmdldERhdGUoKSAmJlxuICAgICAgICAgICAgZmlyc3REYXRlLmdldE1vbnRoKCkgPT09IHNlY29uZERhdGUuZ2V0TW9udGgoKSAmJlxuICAgICAgICAgICAgZmlyc3REYXRlLmdldEZ1bGxZZWFyKCkgPT09IHNlY29uZERhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNlbGVjdGVkSW5kZXhCeU1pbnV0ZXMobWludXRlczogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE1hdGgucm91bmQobWludXRlcyAvIDUpICogNSAvIDE1O1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzZXRUaW1lQWZ0ZXJPcGVuKCkge1xuICAgICAgICBpZiAodGhpcy5pc1JhbmdlV2l0aFRpbWUoKSkge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWREYXRlcyA9IHRoaXMuZmxhdHBpY2tyLnNlbGVjdGVkRGF0ZXM7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWREYXRlc1swXSAmJiBzZWxlY3RlZERhdGVzWzFdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50cy5mcm9tLmhvdXIuc2VsZWN0ZWRJbmRleCA9IHNlbGVjdGVkRGF0ZXNbMF0uZ2V0SG91cnMoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRzLmZyb20ubWludXRlLnNlbGVjdGVkSW5kZXggPSB0aGlzLmdldFNlbGVjdGVkSW5kZXhCeU1pbnV0ZXMoc2VsZWN0ZWREYXRlc1swXS5nZXRNaW51dGVzKCkpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50cy51bnRpbC5ob3VyLnNlbGVjdGVkSW5kZXggPSBzZWxlY3RlZERhdGVzWzFdLmdldEhvdXJzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50cy51bnRpbC5taW51dGUuc2VsZWN0ZWRJbmRleCA9IHRoaXMuZ2V0U2VsZWN0ZWRJbmRleEJ5TWludXRlcyhzZWxlY3RlZERhdGVzWzFdLmdldE1pbnV0ZXMoKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRDb25zdHJhaW50c0FmdGVyT3BlbihzZWxlY3RlZERhdGVzKTtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRpbWVGaWVsZHNDb250ZW50KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZENvbnN0cmFpbnRzQWZ0ZXJPcGVuKHNlbGVjdGVkRGF0ZXM6IFtEYXRlLCBEYXRlXSkge1xuICAgICAgICBpZiAodGhpcy5pc1NhbWVEYXRlKHNlbGVjdGVkRGF0ZXNbMF0sIHNlbGVjdGVkRGF0ZXNbMV0pKSB7XG4gICAgICAgICAgICBjb25zdCB7ZnJvbUhvdXIsIGZyb21NaW51dGV9ID0gdGhpcy5nZXRTZWxlY3RlZEZyb20oKTtcbiAgICAgICAgICAgIGNvbnN0IHt1bnRpbEhvdXIsIHVudGlsTWludXRlfSA9IHRoaXMuZ2V0U2VsZWN0ZWRVbnRpbCgpO1xuXG4gICAgICAgICAgICBBcnJheS5mcm9tKHRoaXMuZWxlbWVudHMuZnJvbS5ob3VyLm9wdGlvbnMpLmZvckVhY2goKG9wdGlvbjogT3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgb3B0aW9uLmRpc2FibGVkID0gTnVtYmVyKG9wdGlvbi52YWx1ZSkgPiB1bnRpbEhvdXI7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgQXJyYXkuZnJvbSh0aGlzLmVsZW1lbnRzLnVudGlsLmhvdXIub3B0aW9ucykuZm9yRWFjaCgob3B0aW9uOiBPcHRpb24pID0+IHtcbiAgICAgICAgICAgICAgICBvcHRpb24uZGlzYWJsZWQgPSBOdW1iZXIob3B0aW9uLnZhbHVlKSA8IGZyb21Ib3VyO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmIChmcm9tSG91ciA9PT0gdW50aWxIb3VyKSB7XG4gICAgICAgICAgICAgICAgQXJyYXkuZnJvbSh0aGlzLmVsZW1lbnRzLmZyb20ubWludXRlLm9wdGlvbnMpLmZvckVhY2goKG9wdGlvbjogT3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbi5kaXNhYmxlZCA9IE51bWJlcihvcHRpb24udmFsdWUpID4gdW50aWxNaW51dGU7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBBcnJheS5mcm9tKHRoaXMuZWxlbWVudHMudW50aWwubWludXRlLm9wdGlvbnMpLmZvckVhY2goKG9wdGlvbjogT3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbi5kaXNhYmxlZCA9IE51bWJlcihvcHRpb24udmFsdWUpIDwgZnJvbU1pbnV0ZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgQXJyYXkuZnJvbSh0aGlzLmVsZW1lbnRzLmZyb20ubWludXRlLm9wdGlvbnMpLmZvckVhY2goKG9wdGlvbjogT3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbi5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgQXJyYXkuZnJvbSh0aGlzLmVsZW1lbnRzLnVudGlsLm1pbnV0ZS5vcHRpb25zKS5mb3JFYWNoKChvcHRpb246IE9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBvcHRpb24uZGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgI2ZsYXRwaWNrciBjbGFzcz1cImV2by1kYXRlcGlja2VyXCIgW2V2b1VpQ2xhc3NdPVwidG90YWxDbGFzc2VzXCIgKGNsaWNrKT1cIm9uRGF0ZXBpY2tlckNsaWNrKCRldmVudClcIj5cbiAgICA8aW5wdXRcbiAgICAgICAgI2lucHV0XG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgZGF0YS1pbnB1dFxuICAgICAgICBjbGFzcz1cImV2by1kYXRlcGlja2VyX19pbnB1dFwiXG4gICAgICAgIFtldm9VaUNsYXNzXT1cImlucHV0Q2xhc3NcIlxuICAgICAgICBbaW1hc2tdPVwibWFza0NvbmZpZ1wiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgIFtyZWFkb25seV09XCJkaXNhYmxlZFwiXG4gICAgICAgIChjb21wbGV0ZSk9XCJoYW5kbGVNYXNrQ29tcGxldGUoJGV2ZW50KVwiXG4gICAgLz5cblxuICAgIDxzcGFuICpuZ0lmPVwiaXNSYW5nZSgpICYmIGlucHV0LnZhbHVlXCIgY2xhc3M9XCJldm8tZGF0ZXBpY2tlcl9fdmFsdWVcIj57e2lucHV0LnZhbHVlfX08L3NwYW4+XG5cbiAgICA8c3BhbiAqbmdJZj1cInNob3VsZFNob3dFbXB0eVRleHQoKVwiIGNsYXNzPVwiZXZvLWRhdGVwaWNrZXJfX2VtcHR5LXRleHRcIj57e2lzUmFuZ2UoKSA/ICfQl9CwINC/0LXRgNC40L7QtCc6ICfQlNCw0YLQsCd9fTwvc3Bhbj5cblxuICAgIDxzcGFuICpuZ0lmPVwiIWRpc2FibGVkXCIgY2xhc3M9XCJldm8tZGF0ZXBpY2tlcl9fb3BlbmVyXCI+XG4gICAgICAgIDxzdmcgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICBkPVwiTTIwIDNIMTlWMkMxOSAxLjQ1IDE4LjU1IDEgMTggMUMxNy40NSAxIDE3IDEuNDUgMTcgMlYzSDdWMkM3IDEuNDUgNi41NSAxIDYgMUM1LjQ1IDEgNSAxLjQ1IDUgMlYzSDRDMi45IDMgMiAzLjkgMiA1VjIxQzIgMjIuMSAyLjkgMjMgNCAyM0gyMEMyMS4xIDIzIDIyIDIyLjEgMjIgMjFWNUMyMiAzLjkgMjEuMSAzIDIwIDNaTTE5IDIxSDVDNC40NSAyMSA0IDIwLjU1IDQgMjBWOEgyMFYyMEMyMCAyMC41NSAxOS41NSAyMSAxOSAyMVpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuICpuZ0lmPVwiIXVpU3RhdGUuaXNFbXB0eUZpZWxkXCIgY2xhc3M9XCJldm8tZGF0ZXBpY2tlcl9fb3BlbmVyLXRyaWFuZ2xlXCI+PC9zcGFuPlxuPC9kaXY+XG5cbjxldm8tY29udHJvbC1lcnJvciAqbmdJZj1cInNob3dFcnJvcnNcIiBbZXJyb3JzXT1cImNvbnRyb2wuZXJyb3JzXCIgW2Vycm9yc01lc3NhZ2VzXT1cImVycm9yc01lc3NhZ2VzXCI+PC9ldm8tY29udHJvbC1lcnJvcj5cbiJdfQ==
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
31
31
  exports: [EvoDatepickerComponent],
32
32
  }]
33
33
  }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWRhdGVwaWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLWRhdGVwaWNrZXIvZXZvLWRhdGVwaWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOztBQVl0RixNQUFNLE9BQU8sbUJBQW1COztpSEFBbkIsbUJBQW1CO2tIQUFuQixtQkFBbUIsaUJBSFosc0JBQXNCLGFBTGxDLFlBQVk7UUFDWixjQUFjO1FBQ2QsV0FBVztRQUNYLHFCQUFxQixhQUdkLHNCQUFzQjtrSEFFeEIsbUJBQW1CLFlBVG5CO1lBQ0wsWUFBWTtZQUNaLGNBQWM7WUFDZCxXQUFXO1lBQ1gscUJBQXFCO1NBQ3hCOzRGQUlRLG1CQUFtQjtrQkFWL0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gscUJBQXFCO3FCQUN4QjtvQkFDRCxZQUFZLEVBQUUsQ0FBRSxzQkFBc0IsQ0FBRTtvQkFDeEMsT0FBTyxFQUFFLENBQUUsc0JBQXNCLENBQUU7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRXZvRGF0ZXBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vZXZvLWRhdGVwaWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXZvVWlLaXRNb2R1bGUgfSBmcm9tICcuLi8uLi9ldm8tdWkta2l0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IElNYXNrTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1pbWFzayc7XHJcbmltcG9ydCB7IEV2b0NvbnRyb2xFcnJvck1vZHVsZSB9IGZyb20gJy4uL2V2by1jb250cm9sLWVycm9yL2V2by1jb250cm9sLWVycm9yLm1vZHVsZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBFdm9VaUtpdE1vZHVsZSxcclxuICAgICAgICBJTWFza01vZHVsZSxcclxuICAgICAgICBFdm9Db250cm9sRXJyb3JNb2R1bGUsXHJcbiAgICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbIEV2b0RhdGVwaWNrZXJDb21wb25lbnQgXSxcclxuICAgIGV4cG9ydHM6IFsgRXZvRGF0ZXBpY2tlckNvbXBvbmVudCBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXZvRGF0ZXBpY2tlck1vZHVsZSB7fVxyXG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZvLWRhdGVwaWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLWRhdGVwaWNrZXIvZXZvLWRhdGVwaWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOztBQVl0RixNQUFNLE9BQU8sbUJBQW1COztpSEFBbkIsbUJBQW1CO2tIQUFuQixtQkFBbUIsaUJBSFosc0JBQXNCLGFBTGxDLFlBQVk7UUFDWixjQUFjO1FBQ2QsV0FBVztRQUNYLHFCQUFxQixhQUdkLHNCQUFzQjtrSEFFeEIsbUJBQW1CLFlBVG5CO1lBQ0wsWUFBWTtZQUNaLGNBQWM7WUFDZCxXQUFXO1lBQ1gscUJBQXFCO1NBQ3hCOzRGQUlRLG1CQUFtQjtrQkFWL0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gscUJBQXFCO3FCQUN4QjtvQkFDRCxZQUFZLEVBQUUsQ0FBRSxzQkFBc0IsQ0FBRTtvQkFDeEMsT0FBTyxFQUFFLENBQUUsc0JBQXNCLENBQUU7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBFdm9EYXRlcGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9ldm8tZGF0ZXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXZvVWlLaXRNb2R1bGUgfSBmcm9tICcuLi8uLi9ldm8tdWkta2l0Lm1vZHVsZSc7XG5pbXBvcnQgeyBJTWFza01vZHVsZSB9IGZyb20gJ2FuZ3VsYXItaW1hc2snO1xuaW1wb3J0IHsgRXZvQ29udHJvbEVycm9yTW9kdWxlIH0gZnJvbSAnLi4vZXZvLWNvbnRyb2wtZXJyb3IvZXZvLWNvbnRyb2wtZXJyb3IubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRXZvVWlLaXRNb2R1bGUsXG4gICAgICAgIElNYXNrTW9kdWxlLFxuICAgICAgICBFdm9Db250cm9sRXJyb3JNb2R1bGUsXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFsgRXZvRGF0ZXBpY2tlckNvbXBvbmVudCBdLFxuICAgIGV4cG9ydHM6IFsgRXZvRGF0ZXBpY2tlckNvbXBvbmVudCBdLFxufSlcbmV4cG9ydCBjbGFzcyBFdm9EYXRlcGlja2VyTW9kdWxlIHt9XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdHBpY2tyLW9wdGlvbnMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLWRhdGVwaWNrZXIvZmxhdHBpY2tyLW9wdGlvbnMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlT3B0aW9ucyB9IGZyb20gJ2ZsYXRwaWNrci9kaXN0L3R5cGVzL29wdGlvbnMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGbGF0cGlja3JPcHRpb25zIGV4dGVuZHMgUGFydGlhbDxCYXNlT3B0aW9ucz4ge1xyXG4gICAgZGVmYXVsdERhdGU/OiBEYXRlIHwgRGF0ZVtdO1xyXG4gICAgZGlzYWJsZT86IEFycmF5PHN0cmluZyB8IERhdGU+O1xyXG4gICAgZW5hYmxlPzogQXJyYXk8c3RyaW5nIHwgRGF0ZT47XHJcbiAgICBtYXhEYXRlPzogc3RyaW5nIHwgRGF0ZTtcclxuICAgIG1pbkRhdGU/OiBzdHJpbmcgfCBEYXRlO1xyXG4gICAgdXRjPzogYm9vbGVhbjtcclxuXHJcbiAgICAvLyBOZWVkZWQgc28gd2UgY2FuIGFjY2VzcyBvcHRpb25zW2tleV0uXHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdHBpY2tyLW9wdGlvbnMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZvLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvZXZvLWRhdGVwaWNrZXIvZmxhdHBpY2tyLW9wdGlvbnMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlT3B0aW9ucyB9IGZyb20gJ2ZsYXRwaWNrci9kaXN0L3R5cGVzL29wdGlvbnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZsYXRwaWNrck9wdGlvbnMgZXh0ZW5kcyBQYXJ0aWFsPEJhc2VPcHRpb25zPiB7XG4gICAgZGVmYXVsdERhdGU/OiBEYXRlIHwgRGF0ZVtdO1xuICAgIGRpc2FibGU/OiBBcnJheTxzdHJpbmcgfCBEYXRlPjtcbiAgICBlbmFibGU/OiBBcnJheTxzdHJpbmcgfCBEYXRlPjtcbiAgICBtYXhEYXRlPzogc3RyaW5nIHwgRGF0ZTtcbiAgICBtaW5EYXRlPzogc3RyaW5nIHwgRGF0ZTtcbiAgICB1dGM/OiBib29sZWFuO1xuXG4gICAgLy8gTmVlZGVkIHNvIHdlIGNhbiBhY2Nlc3Mgb3B0aW9uc1trZXldLlxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export * from './public-api';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8tZGF0ZXBpY2tlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldm8tdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9ldm8tZGF0ZXBpY2tlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -1,3 +1,3 @@
1
1
  export * from './evo-datepicker.module';
2
2
  export * from './evo-datepicker.component';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1kYXRlcGlja2VyL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ldm8tZGF0ZXBpY2tlci5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2V2by1kYXRlcGlja2VyLmNvbXBvbmVudCc7XHJcbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V2by11aS1raXQvc3JjL2xpYi9jb21wb25lbnRzL2V2by1kYXRlcGlja2VyL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9ldm8tZGF0ZXBpY2tlci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ldm8tZGF0ZXBpY2tlci5jb21wb25lbnQnO1xuIl19