@taiga-ui/kit 2.74.0 → 2.76.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 (963) hide show
  1. package/abstract/input-slider.d.ts +2 -2
  2. package/abstract/slider/slider.d.ts +1 -1
  3. package/bundles/taiga-ui-kit-abstract.umd.js +46 -1
  4. package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
  6. package/bundles/taiga-ui-kit-components-accordion.umd.js +59 -14
  7. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  8. package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-action.umd.js +54 -9
  10. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-action.umd.min.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-arrow.umd.js +47 -2
  13. package/bundles/taiga-ui-kit-components-arrow.umd.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-arrow.umd.min.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-avatar.umd.js +59 -14
  16. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-avatar.umd.min.js.map +1 -1
  18. package/bundles/taiga-ui-kit-components-badge.umd.js +62 -19
  19. package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
  20. package/bundles/taiga-ui-kit-components-badge.umd.min.js +1 -1
  21. package/bundles/taiga-ui-kit-components-badge.umd.min.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-badged-content.umd.js +66 -21
  23. package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
  24. package/bundles/taiga-ui-kit-components-badged-content.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +54 -9
  26. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js.map +1 -1
  28. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +48 -3
  29. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  30. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-calendar-range.umd.js +50 -5
  32. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-calendar-range.umd.min.js +1 -1
  34. package/bundles/taiga-ui-kit-components-calendar-range.umd.min.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-carousel.umd.js +69 -33
  36. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-carousel.umd.min.js +1 -1
  38. package/bundles/taiga-ui-kit-components-carousel.umd.min.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +56 -10
  40. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-checkbox-block.umd.min.js +1 -1
  42. package/bundles/taiga-ui-kit-components-checkbox-block.umd.min.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +50 -5
  44. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js.map +1 -1
  46. package/bundles/taiga-ui-kit-components-checkbox.umd.js +49 -4
  47. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  48. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components-combo-box.umd.js +55 -10
  50. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  51. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  52. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +48 -3
  53. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  54. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js.map +1 -1
  55. package/bundles/taiga-ui-kit-components-field-error.umd.js +51 -6
  56. package/bundles/taiga-ui-kit-components-field-error.umd.js.map +1 -1
  57. package/bundles/taiga-ui-kit-components-field-error.umd.min.js.map +1 -1
  58. package/bundles/taiga-ui-kit-components-files.umd.js +66 -21
  59. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  60. package/bundles/taiga-ui-kit-components-files.umd.min.js.map +1 -1
  61. package/bundles/taiga-ui-kit-components-filter.umd.js +49 -4
  62. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  63. package/bundles/taiga-ui-kit-components-filter.umd.min.js.map +1 -1
  64. package/bundles/taiga-ui-kit-components-input-copy.umd.js +56 -10
  65. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  66. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js +1 -1
  67. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js.map +1 -1
  68. package/bundles/taiga-ui-kit-components-input-count.umd.js +62 -17
  69. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  70. package/bundles/taiga-ui-kit-components-input-count.umd.min.js +1 -1
  71. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  72. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +60 -15
  73. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  74. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
  75. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +62 -17
  76. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  77. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
  78. package/bundles/taiga-ui-kit-components-input-date.umd.js +56 -11
  79. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  80. package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
  81. package/bundles/taiga-ui-kit-components-input-file.umd.js +80 -35
  82. package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
  83. package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
  84. package/bundles/taiga-ui-kit-components-input-files.umd.js +61 -16
  85. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  86. package/bundles/taiga-ui-kit-components-input-files.umd.min.js.map +1 -1
  87. package/bundles/taiga-ui-kit-components-input-inline.umd.js +50 -5
  88. package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
  89. package/bundles/taiga-ui-kit-components-input-inline.umd.min.js.map +1 -1
  90. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +53 -8
  91. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  92. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  93. package/bundles/taiga-ui-kit-components-input-month.umd.js +51 -6
  94. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  95. package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
  96. package/bundles/taiga-ui-kit-components-input-number.umd.js +72 -27
  97. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  98. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +1 -1
  99. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  100. package/bundles/taiga-ui-kit-components-input-password.umd.js +52 -7
  101. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  102. package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
  103. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +59 -14
  104. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  105. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  106. package/bundles/taiga-ui-kit-components-input-phone.umd.js +77 -32
  107. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  108. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js +1 -1
  109. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  110. package/bundles/taiga-ui-kit-components-input-range.umd.js +62 -17
  111. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  112. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  113. package/bundles/taiga-ui-kit-components-input-slider.umd.js +62 -15
  114. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  115. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  116. package/bundles/taiga-ui-kit-components-input-tag.umd.js +68 -23
  117. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  118. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  119. package/bundles/taiga-ui-kit-components-input-time.umd.js +54 -9
  120. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  121. package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
  122. package/bundles/taiga-ui-kit-components-input.umd.js +51 -6
  123. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  124. package/bundles/taiga-ui-kit-components-input.umd.min.js.map +1 -1
  125. package/bundles/taiga-ui-kit-components-island.umd.js +64 -19
  126. package/bundles/taiga-ui-kit-components-island.umd.js.map +1 -1
  127. package/bundles/taiga-ui-kit-components-island.umd.min.js.map +1 -1
  128. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +54 -9
  129. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  130. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js.map +1 -1
  131. package/bundles/taiga-ui-kit-components-marker-icon.umd.js +52 -7
  132. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  133. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js.map +1 -1
  134. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +51 -4
  135. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
  136. package/bundles/taiga-ui-kit-components-multi-select-option.umd.min.js.map +1 -1
  137. package/bundles/taiga-ui-kit-components-multi-select.umd.js +60 -15
  138. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  139. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  140. package/bundles/taiga-ui-kit-components-pagination.umd.js +53 -8
  141. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  142. package/bundles/taiga-ui-kit-components-pagination.umd.min.js.map +1 -1
  143. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +54 -9
  144. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  145. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js.map +1 -1
  146. package/bundles/taiga-ui-kit-components-progress.umd.js +69 -24
  147. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  148. package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -1
  149. package/bundles/taiga-ui-kit-components-push.umd.js +60 -15
  150. package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
  151. package/bundles/taiga-ui-kit-components-push.umd.min.js +1 -1
  152. package/bundles/taiga-ui-kit-components-push.umd.min.js.map +1 -1
  153. package/bundles/taiga-ui-kit-components-radio-block.umd.js +57 -11
  154. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  155. package/bundles/taiga-ui-kit-components-radio-block.umd.min.js +1 -1
  156. package/bundles/taiga-ui-kit-components-radio-block.umd.min.js.map +1 -1
  157. package/bundles/taiga-ui-kit-components-radio-group.umd.js +47 -2
  158. package/bundles/taiga-ui-kit-components-radio-group.umd.js.map +1 -1
  159. package/bundles/taiga-ui-kit-components-radio-group.umd.min.js.map +1 -1
  160. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +51 -6
  161. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
  162. package/bundles/taiga-ui-kit-components-radio-labeled.umd.min.js.map +1 -1
  163. package/bundles/taiga-ui-kit-components-radio-list.umd.js +51 -6
  164. package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
  165. package/bundles/taiga-ui-kit-components-radio-list.umd.min.js.map +1 -1
  166. package/bundles/taiga-ui-kit-components-radio.umd.js +52 -7
  167. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  168. package/bundles/taiga-ui-kit-components-radio.umd.min.js.map +1 -1
  169. package/bundles/taiga-ui-kit-components-range.umd.js +79 -34
  170. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  171. package/bundles/taiga-ui-kit-components-range.umd.min.js.map +1 -1
  172. package/bundles/taiga-ui-kit-components-rating.umd.js +50 -5
  173. package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -1
  174. package/bundles/taiga-ui-kit-components-rating.umd.min.js.map +1 -1
  175. package/bundles/taiga-ui-kit-components-select-option.umd.js +48 -3
  176. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  177. package/bundles/taiga-ui-kit-components-select-option.umd.min.js.map +1 -1
  178. package/bundles/taiga-ui-kit-components-select.umd.js +50 -5
  179. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  180. package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
  181. package/bundles/taiga-ui-kit-components-slider.umd.js +82 -37
  182. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  183. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  184. package/bundles/taiga-ui-kit-components-stepper.umd.js +83 -30
  185. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  186. package/bundles/taiga-ui-kit-components-stepper.umd.min.js +1 -1
  187. package/bundles/taiga-ui-kit-components-stepper.umd.min.js.map +1 -1
  188. package/bundles/taiga-ui-kit-components-tabs.umd.js +89 -42
  189. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  190. package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
  191. package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
  192. package/bundles/taiga-ui-kit-components-tag.umd.js +68 -23
  193. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  194. package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
  195. package/bundles/taiga-ui-kit-components-text-area.umd.js +63 -18
  196. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  197. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  198. package/bundles/taiga-ui-kit-components-toggle.umd.js +53 -8
  199. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  200. package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
  201. package/bundles/taiga-ui-kit-components-tree.umd.js +63 -18
  202. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  203. package/bundles/taiga-ui-kit-components-tree.umd.min.js +1 -1
  204. package/bundles/taiga-ui-kit-components-tree.umd.min.js.map +1 -1
  205. package/bundles/taiga-ui-kit-constants.umd.js +47 -2
  206. package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
  207. package/bundles/taiga-ui-kit-constants.umd.min.js +1 -1
  208. package/bundles/taiga-ui-kit-constants.umd.min.js.map +1 -1
  209. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js +56 -11
  210. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js.map +1 -1
  211. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.min.js.map +1 -1
  212. package/bundles/taiga-ui-kit-directives-dropdown-hover.umd.js +52 -7
  213. package/bundles/taiga-ui-kit-directives-dropdown-hover.umd.js.map +1 -1
  214. package/bundles/taiga-ui-kit-directives-dropdown-hover.umd.min.js.map +1 -1
  215. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js +57 -12
  216. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +1 -1
  217. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js.map +1 -1
  218. package/bundles/taiga-ui-kit-directives-highlight.umd.js +56 -11
  219. package/bundles/taiga-ui-kit-directives-highlight.umd.js.map +1 -1
  220. package/bundles/taiga-ui-kit-directives-highlight.umd.min.js.map +1 -1
  221. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +57 -12
  222. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
  223. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.min.js.map +1 -1
  224. package/bundles/taiga-ui-kit-directives-present.umd.js +51 -6
  225. package/bundles/taiga-ui-kit-directives-present.umd.js.map +1 -1
  226. package/bundles/taiga-ui-kit-directives-present.umd.min.js.map +1 -1
  227. package/bundles/taiga-ui-kit-directives-project-class.umd.js +48 -3
  228. package/bundles/taiga-ui-kit-directives-project-class.umd.js.map +1 -1
  229. package/bundles/taiga-ui-kit-directives-project-class.umd.min.js.map +1 -1
  230. package/bundles/taiga-ui-kit-directives-unfinished-validator.umd.js +50 -5
  231. package/bundles/taiga-ui-kit-directives-unfinished-validator.umd.js.map +1 -1
  232. package/bundles/taiga-ui-kit-directives-unfinished-validator.umd.min.js.map +1 -1
  233. package/bundles/taiga-ui-kit-directives-value-accessor.umd.js +47 -2
  234. package/bundles/taiga-ui-kit-directives-value-accessor.umd.js.map +1 -1
  235. package/bundles/taiga-ui-kit-directives-value-accessor.umd.min.js.map +1 -1
  236. package/bundles/taiga-ui-kit-enums.umd.js.map +1 -1
  237. package/bundles/taiga-ui-kit-enums.umd.min.js.map +1 -1
  238. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +47 -2
  239. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
  240. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.min.js.map +1 -1
  241. package/bundles/taiga-ui-kit-pipes-field-error.umd.js +46 -1
  242. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
  243. package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js.map +1 -1
  244. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js +46 -1
  245. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js.map +1 -1
  246. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.min.js.map +1 -1
  247. package/bundles/taiga-ui-kit-pipes-stringify-content.umd.js +46 -1
  248. package/bundles/taiga-ui-kit-pipes-stringify-content.umd.js.map +1 -1
  249. package/bundles/taiga-ui-kit-pipes-stringify-content.umd.min.js.map +1 -1
  250. package/bundles/taiga-ui-kit-pipes-stringify.umd.js +46 -1
  251. package/bundles/taiga-ui-kit-pipes-stringify.umd.js.map +1 -1
  252. package/bundles/taiga-ui-kit-pipes-stringify.umd.min.js.map +1 -1
  253. package/bundles/taiga-ui-kit-tokens.umd.js +46 -1
  254. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  255. package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
  256. package/bundles/taiga-ui-kit-utils-dom.umd.js.map +1 -1
  257. package/bundles/taiga-ui-kit-utils-dom.umd.min.js.map +1 -1
  258. package/bundles/taiga-ui-kit-utils-format.umd.js +1 -1
  259. package/bundles/taiga-ui-kit-utils-format.umd.js.map +1 -1
  260. package/bundles/taiga-ui-kit-utils-format.umd.min.js.map +1 -1
  261. package/bundles/taiga-ui-kit-utils-mask.umd.js +46 -1
  262. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  263. package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
  264. package/bundles/taiga-ui-kit-utils-math.umd.js +46 -1
  265. package/bundles/taiga-ui-kit-utils-math.umd.js.map +1 -1
  266. package/bundles/taiga-ui-kit-utils-math.umd.min.js.map +1 -1
  267. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +46 -1
  268. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  269. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js.map +1 -1
  270. package/components/arrow/arrow-options.d.ts +2 -2
  271. package/components/avatar/avatar.component.d.ts +3 -3
  272. package/components/badge/badge.component.d.ts +1 -1
  273. package/components/badge/taiga-ui-kit-components-badge.metadata.json +1 -1
  274. package/components/badged-content/badged-content.component.d.ts +1 -1
  275. package/components/calendar-month/calendar-month.component.d.ts +1 -1
  276. package/components/calendar-range/calendar-range.component.d.ts +2 -2
  277. package/components/carousel/taiga-ui-kit-components-carousel.metadata.json +1 -1
  278. package/components/checkbox-block/checkbox-block.component.d.ts +1 -1
  279. package/components/combo-box/combo-box.component.d.ts +1 -1
  280. package/components/data-list-wrapper/data-list-wrapper.d.ts +1 -1
  281. package/components/field-error/field-error.component.d.ts +1 -1
  282. package/components/filter/filter.component.d.ts +1 -1
  283. package/components/input-date/input-date.component.d.ts +1 -1
  284. package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
  285. package/components/input-date-range/input-date-range.component.d.ts +2 -2
  286. package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
  287. package/components/input-file/file/file.component.d.ts +1 -1
  288. package/components/input-file/input-file.component.d.ts +5 -5
  289. package/components/input-files/input-files.component.d.ts +2 -2
  290. package/components/input-inline/input-inline.component.d.ts +1 -1
  291. package/components/input-password/input-password-options.d.ts +4 -4
  292. package/components/input-password/input-password.component.d.ts +3 -3
  293. package/components/input-phone-international/input-phone-international.component.d.ts +1 -1
  294. package/components/input-phone-international/utils/extract-value-from-event.d.ts +1 -1
  295. package/components/input-range/input-range.component.d.ts +1 -1
  296. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  297. package/components/input-tag/input-tag-options.d.ts +1 -1
  298. package/components/input-tag/input-tag.component.d.ts +2 -2
  299. package/components/input-time/input-time-options.d.ts +3 -3
  300. package/components/input-time/taiga-ui-kit-components-input-time.metadata.json +1 -1
  301. package/components/island/island.component.d.ts +1 -1
  302. package/components/marker-icon/marker-icon.component.d.ts +1 -1
  303. package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +1 -1
  304. package/components/multi-select/multi-select.component.d.ts +2 -2
  305. package/components/pdf-viewer/pdf-viewer.service.d.ts +1 -1
  306. package/components/push/taiga-ui-kit-components-push.metadata.json +1 -1
  307. package/components/radio-block/radio-block.component.d.ts +1 -1
  308. package/components/range/range-change.directive.d.ts +1 -1
  309. package/components/range/range.component.d.ts +1 -1
  310. package/components/select/select.component.d.ts +1 -1
  311. package/components/slider/helpers/slider-readonly.directive.d.ts +1 -1
  312. package/components/stepper/step/step.component.d.ts +1 -1
  313. package/components/stepper/stepper.component.d.ts +2 -1
  314. package/components/stepper/taiga-ui-kit-components-stepper.metadata.json +1 -1
  315. package/components/tabs/tabs-options.d.ts +1 -0
  316. package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
  317. package/components/tag/tag-options.d.ts +1 -1
  318. package/components/tag/tag.component.d.ts +2 -2
  319. package/components/tree/taiga-ui-kit-components-tree.metadata.json +1 -1
  320. package/directives/dropdown-selection/dropdown-selection.directive.d.ts +1 -1
  321. package/directives/lazy-loading/lazy-loading.directive.d.ts +2 -2
  322. package/directives/lazy-loading/lazy-loading.service.d.ts +2 -2
  323. package/enums/dropdown-position.d.ts +1 -1
  324. package/enums/file-state.d.ts +1 -1
  325. package/enums/step-state.d.ts +1 -1
  326. package/esm2015/abstract/input-slider.js +1 -1
  327. package/esm2015/abstract/slider/slider.js +1 -1
  328. package/esm2015/components/accordion/accordion-item/accordion-item-content.directive.js +2 -2
  329. package/esm2015/components/accordion/accordion-item/accordion-item-eager-content.directive.js +2 -2
  330. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +11 -11
  331. package/esm2015/components/accordion/accordion.component.js +2 -2
  332. package/esm2015/components/action/action.component.js +9 -9
  333. package/esm2015/components/arrow/arrow-options.js +1 -1
  334. package/esm2015/components/arrow/arrow.component.js +2 -2
  335. package/esm2015/components/avatar/avatar.component.js +14 -14
  336. package/esm2015/components/badge/badge.component.js +17 -19
  337. package/esm2015/components/badged-content/badged-content.component.js +21 -21
  338. package/esm2015/components/breadcrumbs/breadcrumb.directive.js +2 -2
  339. package/esm2015/components/breadcrumbs/breadcrumbs-wrapper.component.js +5 -5
  340. package/esm2015/components/breadcrumbs/breadcrumbs.component.js +4 -4
  341. package/esm2015/components/calendar-month/calendar-month.component.js +3 -3
  342. package/esm2015/components/calendar-range/calendar-range.component.js +5 -5
  343. package/esm2015/components/carousel/carousel-autoscroll.directive.js +3 -3
  344. package/esm2015/components/carousel/carousel-buttons.directive.js +4 -4
  345. package/esm2015/components/carousel/carousel-scroll.directive.js +3 -3
  346. package/esm2015/components/carousel/carousel.component.js +11 -21
  347. package/esm2015/components/carousel/carousel.directive.js +3 -3
  348. package/esm2015/components/checkbox/checkbox.component.js +4 -4
  349. package/esm2015/components/checkbox-block/checkbox-block.component.js +11 -10
  350. package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +5 -5
  351. package/esm2015/components/combo-box/combo-box-strict.directive.js +3 -3
  352. package/esm2015/components/combo-box/combo-box.component.js +7 -7
  353. package/esm2015/components/combo-box/combo-box.directive.js +2 -2
  354. package/esm2015/components/data-list-wrapper/data-list-group-wrapper.component.js +2 -2
  355. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +2 -2
  356. package/esm2015/components/data-list-wrapper/data-list-wrapper.js +1 -1
  357. package/esm2015/components/field-error/field-error.component.js +6 -6
  358. package/esm2015/components/files/file/file.component.js +20 -20
  359. package/esm2015/components/files/files.component.js +2 -2
  360. package/esm2015/components/filter/filter.component.js +4 -4
  361. package/esm2015/components/input/input.component.js +5 -5
  362. package/esm2015/components/input/input.directive.js +2 -2
  363. package/esm2015/components/input-copy/input-copy.component.js +10 -9
  364. package/esm2015/components/input-copy/input-copy.directive.js +2 -2
  365. package/esm2015/components/input-count/input-count.component.js +14 -14
  366. package/esm2015/components/input-count/input-count.directive.js +4 -4
  367. package/esm2015/components/input-date/input-date.component.js +9 -9
  368. package/esm2015/components/input-date/input-date.directive.js +3 -3
  369. package/esm2015/components/input-date-range/input-date-range.component.js +13 -13
  370. package/esm2015/components/input-date-range/input-date-range.directive.js +3 -3
  371. package/esm2015/components/input-date-time/input-date-time.component.js +15 -15
  372. package/esm2015/components/input-date-time/input-date-time.directive.js +3 -3
  373. package/esm2015/components/input-file/file/file.component.js +18 -18
  374. package/esm2015/components/input-file/input-file.component.js +18 -18
  375. package/esm2015/components/input-files/input-files.component.js +16 -16
  376. package/esm2015/components/input-inline/input-inline.component.js +5 -5
  377. package/esm2015/components/input-month/input-month.component.js +4 -4
  378. package/esm2015/components/input-month/input-month.directive.js +3 -3
  379. package/esm2015/components/input-month-range/input-month-range.component.js +5 -5
  380. package/esm2015/components/input-month-range/input-month-range.directive.js +4 -4
  381. package/esm2015/components/input-number/input-number.component.js +25 -25
  382. package/esm2015/components/input-number/input-number.directive.js +3 -3
  383. package/esm2015/components/input-password/input-password-options.js +1 -1
  384. package/esm2015/components/input-password/input-password.component.js +5 -5
  385. package/esm2015/components/input-password/input-password.directive.js +3 -3
  386. package/esm2015/components/input-phone/input-phone.component.js +30 -30
  387. package/esm2015/components/input-phone/input-phone.directive.js +3 -3
  388. package/esm2015/components/input-phone-international/input-phone-international.component.js +14 -14
  389. package/esm2015/components/input-phone-international/utils/extract-value-from-event.js +1 -1
  390. package/esm2015/components/input-range/input-range.component.js +17 -17
  391. package/esm2015/components/input-slider/input-slider.component.js +17 -15
  392. package/esm2015/components/input-tag/input-tag-options.js +1 -1
  393. package/esm2015/components/input-tag/input-tag.component.js +23 -23
  394. package/esm2015/components/input-time/input-time-options.js +1 -1
  395. package/esm2015/components/input-time/input-time.component.js +9 -9
  396. package/esm2015/components/island/island.component.js +19 -19
  397. package/esm2015/components/line-clamp/line-clamp.component.js +9 -9
  398. package/esm2015/components/marker-icon/marker-icon.component.js +7 -7
  399. package/esm2015/components/multi-select/hide-selected.pipe.js +1 -1
  400. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +5 -5
  401. package/esm2015/components/multi-select/multi-select-group/multi-select-group.directive.js +2 -2
  402. package/esm2015/components/multi-select/multi-select.component.js +10 -10
  403. package/esm2015/components/multi-select-option/multi-select-option.component.js +3 -3
  404. package/esm2015/components/pagination/pagination.component.js +8 -8
  405. package/esm2015/components/pdf-viewer/pdf-viewer.component.js +6 -6
  406. package/esm2015/components/pdf-viewer/pdf-viewer.directive.js +4 -4
  407. package/esm2015/components/pdf-viewer/pdf-viewer.service.js +1 -1
  408. package/esm2015/components/progress/progress-bar/progress-bar.component.js +6 -6
  409. package/esm2015/components/progress/progress-bar/progress-color-segments.directive.js +5 -5
  410. package/esm2015/components/progress/progress-circle/progress-circle.component.js +7 -7
  411. package/esm2015/components/progress/progress-label/progress-label.component.js +2 -2
  412. package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +8 -8
  413. package/esm2015/components/push/push-alert.component.js +7 -7
  414. package/esm2015/components/push/push-alert.directive.js +2 -2
  415. package/esm2015/components/push/push.component.js +5 -5
  416. package/esm2015/components/push/push.directive.js +4 -4
  417. package/esm2015/components/radio/radio.component.js +7 -7
  418. package/esm2015/components/radio-block/radio-block.component.js +12 -11
  419. package/esm2015/components/radio-group/radio-group.component.js +2 -2
  420. package/esm2015/components/radio-labeled/radio-labeled.component.js +6 -6
  421. package/esm2015/components/radio-list/radio-list.component.js +6 -6
  422. package/esm2015/components/range/range-change.directive.js +10 -10
  423. package/esm2015/components/range/range.component.js +23 -23
  424. package/esm2015/components/rating/rating.component.js +5 -5
  425. package/esm2015/components/select/select.component.js +4 -4
  426. package/esm2015/components/select/select.directive.js +2 -2
  427. package/esm2015/components/select-option/select-option.component.js +3 -3
  428. package/esm2015/components/slider/helpers/slider-key-steps.directive.js +10 -10
  429. package/esm2015/components/slider/helpers/slider-readonly.directive.js +15 -15
  430. package/esm2015/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.js +5 -5
  431. package/esm2015/components/slider/slider-old.component.js +2 -2
  432. package/esm2015/components/slider/slider.component.js +9 -9
  433. package/esm2015/components/stepper/step/step.component.js +12 -12
  434. package/esm2015/components/stepper/stepper.component.js +23 -19
  435. package/esm2015/components/tabs/tab/tab.component.js +10 -10
  436. package/esm2015/components/tabs/tab.directive.js +2 -2
  437. package/esm2015/components/tabs/tabs/tabs.component.js +13 -13
  438. package/esm2015/components/tabs/tabs-options.js +2 -1
  439. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +9 -8
  440. package/esm2015/components/tabs/underline/underline.component.js +13 -13
  441. package/esm2015/components/tag/tag-options.js +1 -1
  442. package/esm2015/components/tag/tag.component.js +23 -23
  443. package/esm2015/components/text-area/text-area.component.js +17 -17
  444. package/esm2015/components/text-area/text-area.directive.js +2 -2
  445. package/esm2015/components/toggle/toggle.component.js +8 -8
  446. package/esm2015/components/tree/components/tree/tree.component.js +3 -3
  447. package/esm2015/components/tree/components/tree-item/tree-item.component.js +5 -5
  448. package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +3 -3
  449. package/esm2015/components/tree/directives/tree-children.directive.js +2 -2
  450. package/esm2015/components/tree/directives/tree-controller.directive.js +4 -4
  451. package/esm2015/components/tree/directives/tree-item-controller.directive.js +4 -4
  452. package/esm2015/components/tree/directives/tree-node.directive.js +3 -3
  453. package/esm2015/constants/max-day-range-length-mapper.js +2 -2
  454. package/esm2015/directives/dropdown-context/dropdown-context.directive.js +11 -11
  455. package/esm2015/directives/dropdown-hover/dropdown-hover.directive.js +5 -5
  456. package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +12 -12
  457. package/esm2015/directives/highlight/highlight.directive.js +11 -11
  458. package/esm2015/directives/lazy-loading/lazy-loading.directive.js +12 -12
  459. package/esm2015/directives/lazy-loading/lazy-loading.service.js +1 -1
  460. package/esm2015/directives/present/present.directive.js +6 -6
  461. package/esm2015/directives/project-class/project-class.directive.js +3 -3
  462. package/esm2015/directives/unfinished-validator/unfinished-validator.directive.js +5 -5
  463. package/esm2015/directives/value-accessor/value-accessor.directive.js +2 -2
  464. package/esm2015/enums/dropdown-position.js +1 -1
  465. package/esm2015/enums/file-state.js +1 -1
  466. package/esm2015/enums/step-state.js +1 -1
  467. package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.component.js +2 -2
  468. package/esm2015/pipes/field-error/field-error-pipe.js +1 -1
  469. package/esm2015/pipes/filter-by-input/filter-by-input-with.pipe.js +1 -1
  470. package/esm2015/pipes/filter-by-input/filter-by-input.base.js +1 -1
  471. package/esm2015/pipes/filter-by-input/filter-by-input.pipe.js +1 -1
  472. package/esm2015/pipes/stringify/stringify.pipe.js +1 -1
  473. package/esm2015/tokens/validation-errors.js +1 -1
  474. package/esm2015/types/marker-icon-mode.js +1 -1
  475. package/esm2015/types/status.js +1 -1
  476. package/esm2015/types/time-format-parts.js +1 -1
  477. package/esm2015/utils/dom/set-range-offset.js +1 -1
  478. package/esm2015/utils/format/string-hash-to-hsl.js +2 -2
  479. package/esm2015/utils/mask/create-auto-corrected-date-time-pipe.js +1 -1
  480. package/esm2015/utils/mask/create-time-mask.js +1 -1
  481. package/esm2015/utils/miscellaneous/is-flat.js +1 -1
  482. package/esm2015/utils/miscellaneous/replay-control-value-changes-factory.js +1 -1
  483. package/esm5/abstract/input-slider.js +1 -1
  484. package/esm5/abstract/slider/slider.js +1 -1
  485. package/esm5/components/accordion/accordion-item/accordion-item-content.directive.js +2 -2
  486. package/esm5/components/accordion/accordion-item/accordion-item-eager-content.directive.js +2 -2
  487. package/esm5/components/accordion/accordion-item/accordion-item.component.js +11 -11
  488. package/esm5/components/accordion/accordion.component.js +2 -2
  489. package/esm5/components/action/action.component.js +9 -9
  490. package/esm5/components/arrow/arrow-options.js +1 -1
  491. package/esm5/components/arrow/arrow.component.js +2 -2
  492. package/esm5/components/avatar/avatar.component.js +14 -14
  493. package/esm5/components/badge/badge.component.js +17 -19
  494. package/esm5/components/badged-content/badged-content.component.js +21 -21
  495. package/esm5/components/breadcrumbs/breadcrumb.directive.js +2 -2
  496. package/esm5/components/breadcrumbs/breadcrumbs-wrapper.component.js +5 -5
  497. package/esm5/components/breadcrumbs/breadcrumbs.component.js +4 -4
  498. package/esm5/components/calendar-month/calendar-month.component.js +3 -3
  499. package/esm5/components/calendar-range/calendar-range.component.js +5 -5
  500. package/esm5/components/carousel/carousel-autoscroll.directive.js +3 -3
  501. package/esm5/components/carousel/carousel-buttons.directive.js +4 -4
  502. package/esm5/components/carousel/carousel-scroll.directive.js +3 -3
  503. package/esm5/components/carousel/carousel.component.js +11 -21
  504. package/esm5/components/carousel/carousel.directive.js +3 -3
  505. package/esm5/components/checkbox/checkbox.component.js +4 -4
  506. package/esm5/components/checkbox-block/checkbox-block.component.js +11 -10
  507. package/esm5/components/checkbox-labeled/checkbox-labeled.component.js +5 -5
  508. package/esm5/components/combo-box/combo-box-strict.directive.js +3 -3
  509. package/esm5/components/combo-box/combo-box.component.js +7 -7
  510. package/esm5/components/combo-box/combo-box.directive.js +2 -2
  511. package/esm5/components/data-list-wrapper/data-list-group-wrapper.component.js +2 -2
  512. package/esm5/components/data-list-wrapper/data-list-wrapper.component.js +2 -2
  513. package/esm5/components/data-list-wrapper/data-list-wrapper.js +1 -1
  514. package/esm5/components/field-error/field-error.component.js +6 -6
  515. package/esm5/components/files/file/file.component.js +20 -20
  516. package/esm5/components/files/files.component.js +2 -2
  517. package/esm5/components/filter/filter.component.js +4 -4
  518. package/esm5/components/input/input.component.js +5 -5
  519. package/esm5/components/input/input.directive.js +2 -2
  520. package/esm5/components/input-copy/input-copy.component.js +10 -9
  521. package/esm5/components/input-copy/input-copy.directive.js +2 -2
  522. package/esm5/components/input-count/input-count.component.js +14 -14
  523. package/esm5/components/input-count/input-count.directive.js +4 -4
  524. package/esm5/components/input-date/input-date.component.js +9 -9
  525. package/esm5/components/input-date/input-date.directive.js +3 -3
  526. package/esm5/components/input-date-range/input-date-range.component.js +13 -13
  527. package/esm5/components/input-date-range/input-date-range.directive.js +3 -3
  528. package/esm5/components/input-date-time/input-date-time.component.js +15 -15
  529. package/esm5/components/input-date-time/input-date-time.directive.js +3 -3
  530. package/esm5/components/input-file/file/file.component.js +18 -18
  531. package/esm5/components/input-file/input-file.component.js +18 -18
  532. package/esm5/components/input-files/input-files.component.js +16 -16
  533. package/esm5/components/input-inline/input-inline.component.js +5 -5
  534. package/esm5/components/input-month/input-month.component.js +4 -4
  535. package/esm5/components/input-month/input-month.directive.js +3 -3
  536. package/esm5/components/input-month-range/input-month-range.component.js +5 -5
  537. package/esm5/components/input-month-range/input-month-range.directive.js +4 -4
  538. package/esm5/components/input-number/input-number.component.js +25 -25
  539. package/esm5/components/input-number/input-number.directive.js +3 -3
  540. package/esm5/components/input-password/input-password-options.js +1 -1
  541. package/esm5/components/input-password/input-password.component.js +5 -5
  542. package/esm5/components/input-password/input-password.directive.js +3 -3
  543. package/esm5/components/input-phone/input-phone.component.js +30 -30
  544. package/esm5/components/input-phone/input-phone.directive.js +3 -3
  545. package/esm5/components/input-phone-international/input-phone-international.component.js +14 -14
  546. package/esm5/components/input-phone-international/utils/extract-value-from-event.js +1 -1
  547. package/esm5/components/input-range/input-range.component.js +17 -17
  548. package/esm5/components/input-slider/input-slider.component.js +17 -15
  549. package/esm5/components/input-tag/input-tag-options.js +1 -1
  550. package/esm5/components/input-tag/input-tag.component.js +23 -23
  551. package/esm5/components/input-time/input-time-options.js +1 -1
  552. package/esm5/components/input-time/input-time.component.js +9 -9
  553. package/esm5/components/island/island.component.js +19 -19
  554. package/esm5/components/line-clamp/line-clamp.component.js +9 -9
  555. package/esm5/components/marker-icon/marker-icon.component.js +7 -7
  556. package/esm5/components/multi-select/hide-selected.pipe.js +1 -1
  557. package/esm5/components/multi-select/multi-select-group/multi-select-group.component.js +5 -5
  558. package/esm5/components/multi-select/multi-select-group/multi-select-group.directive.js +2 -2
  559. package/esm5/components/multi-select/multi-select.component.js +10 -10
  560. package/esm5/components/multi-select-option/multi-select-option.component.js +6 -4
  561. package/esm5/components/pagination/pagination.component.js +8 -8
  562. package/esm5/components/pdf-viewer/pdf-viewer.component.js +6 -6
  563. package/esm5/components/pdf-viewer/pdf-viewer.directive.js +4 -4
  564. package/esm5/components/pdf-viewer/pdf-viewer.service.js +1 -1
  565. package/esm5/components/progress/progress-bar/progress-bar.component.js +6 -6
  566. package/esm5/components/progress/progress-bar/progress-color-segments.directive.js +5 -5
  567. package/esm5/components/progress/progress-circle/progress-circle.component.js +7 -7
  568. package/esm5/components/progress/progress-label/progress-label.component.js +2 -2
  569. package/esm5/components/progress/progress-segmented/progress-segmented.component.js +8 -8
  570. package/esm5/components/push/push-alert.component.js +7 -7
  571. package/esm5/components/push/push-alert.directive.js +2 -2
  572. package/esm5/components/push/push.component.js +5 -5
  573. package/esm5/components/push/push.directive.js +4 -4
  574. package/esm5/components/radio/radio.component.js +7 -7
  575. package/esm5/components/radio-block/radio-block.component.js +12 -11
  576. package/esm5/components/radio-group/radio-group.component.js +2 -2
  577. package/esm5/components/radio-labeled/radio-labeled.component.js +6 -6
  578. package/esm5/components/radio-list/radio-list.component.js +6 -6
  579. package/esm5/components/range/range-change.directive.js +12 -12
  580. package/esm5/components/range/range.component.js +23 -23
  581. package/esm5/components/rating/rating.component.js +5 -5
  582. package/esm5/components/select/select.component.js +4 -4
  583. package/esm5/components/select/select.directive.js +2 -2
  584. package/esm5/components/select-option/select-option.component.js +3 -3
  585. package/esm5/components/slider/helpers/slider-key-steps.directive.js +10 -10
  586. package/esm5/components/slider/helpers/slider-readonly.directive.js +15 -15
  587. package/esm5/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.js +5 -5
  588. package/esm5/components/slider/slider-old.component.js +2 -2
  589. package/esm5/components/slider/slider.component.js +9 -9
  590. package/esm5/components/stepper/step/step.component.js +12 -12
  591. package/esm5/components/stepper/stepper.component.js +27 -19
  592. package/esm5/components/tabs/tab/tab.component.js +10 -10
  593. package/esm5/components/tabs/tab.directive.js +2 -2
  594. package/esm5/components/tabs/tabs/tabs.component.js +13 -13
  595. package/esm5/components/tabs/tabs-options.js +2 -1
  596. package/esm5/components/tabs/tabs-with-more/tabs-with-more.component.js +9 -8
  597. package/esm5/components/tabs/underline/underline.component.js +13 -13
  598. package/esm5/components/tag/tag-options.js +1 -1
  599. package/esm5/components/tag/tag.component.js +23 -23
  600. package/esm5/components/text-area/text-area.component.js +17 -17
  601. package/esm5/components/text-area/text-area.directive.js +2 -2
  602. package/esm5/components/toggle/toggle.component.js +8 -8
  603. package/esm5/components/tree/components/tree/tree.component.js +3 -3
  604. package/esm5/components/tree/components/tree-item/tree-item.component.js +5 -5
  605. package/esm5/components/tree/components/tree-item-content/tree-item-content.component.js +3 -3
  606. package/esm5/components/tree/directives/tree-children.directive.js +2 -2
  607. package/esm5/components/tree/directives/tree-controller.directive.js +4 -4
  608. package/esm5/components/tree/directives/tree-item-controller.directive.js +4 -4
  609. package/esm5/components/tree/directives/tree-node.directive.js +3 -3
  610. package/esm5/constants/max-day-range-length-mapper.js +2 -2
  611. package/esm5/directives/dropdown-context/dropdown-context.directive.js +11 -11
  612. package/esm5/directives/dropdown-hover/dropdown-hover.directive.js +7 -7
  613. package/esm5/directives/dropdown-selection/dropdown-selection.directive.js +12 -12
  614. package/esm5/directives/highlight/highlight.directive.js +11 -11
  615. package/esm5/directives/lazy-loading/lazy-loading.directive.js +12 -12
  616. package/esm5/directives/lazy-loading/lazy-loading.service.js +1 -1
  617. package/esm5/directives/present/present.directive.js +6 -6
  618. package/esm5/directives/project-class/project-class.directive.js +3 -3
  619. package/esm5/directives/unfinished-validator/unfinished-validator.directive.js +5 -5
  620. package/esm5/directives/value-accessor/value-accessor.directive.js +2 -2
  621. package/esm5/enums/dropdown-position.js +1 -1
  622. package/esm5/enums/file-state.js +1 -1
  623. package/esm5/enums/step-state.js +1 -1
  624. package/esm5/internal/primitive-calendar-range/primitive-calendar-range.component.js +2 -2
  625. package/esm5/pipes/field-error/field-error-pipe.js +1 -1
  626. package/esm5/pipes/filter-by-input/filter-by-input-with.pipe.js +1 -1
  627. package/esm5/pipes/filter-by-input/filter-by-input.base.js +1 -1
  628. package/esm5/pipes/filter-by-input/filter-by-input.pipe.js +1 -1
  629. package/esm5/pipes/stringify/stringify.pipe.js +1 -1
  630. package/esm5/tokens/validation-errors.js +1 -1
  631. package/esm5/types/marker-icon-mode.js +1 -1
  632. package/esm5/types/status.js +1 -1
  633. package/esm5/types/time-format-parts.js +1 -1
  634. package/esm5/utils/dom/set-range-offset.js +1 -1
  635. package/esm5/utils/format/string-hash-to-hsl.js +2 -2
  636. package/esm5/utils/mask/create-auto-corrected-date-time-pipe.js +1 -1
  637. package/esm5/utils/mask/create-time-mask.js +1 -1
  638. package/esm5/utils/miscellaneous/is-flat.js +1 -1
  639. package/esm5/utils/miscellaneous/replay-control-value-changes-factory.js +1 -1
  640. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  641. package/fesm2015/taiga-ui-kit-components-accordion.js +13 -13
  642. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  643. package/fesm2015/taiga-ui-kit-components-action.js +8 -8
  644. package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
  645. package/fesm2015/taiga-ui-kit-components-arrow.js +1 -1
  646. package/fesm2015/taiga-ui-kit-components-arrow.js.map +1 -1
  647. package/fesm2015/taiga-ui-kit-components-avatar.js +13 -13
  648. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  649. package/fesm2015/taiga-ui-kit-components-badge.js +16 -18
  650. package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
  651. package/fesm2015/taiga-ui-kit-components-badged-content.js +20 -20
  652. package/fesm2015/taiga-ui-kit-components-badged-content.js.map +1 -1
  653. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +8 -8
  654. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  655. package/fesm2015/taiga-ui-kit-components-calendar-month.js +2 -2
  656. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  657. package/fesm2015/taiga-ui-kit-components-calendar-range.js +4 -4
  658. package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
  659. package/fesm2015/taiga-ui-kit-components-carousel.js +20 -29
  660. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  661. package/fesm2015/taiga-ui-kit-components-checkbox-block.js +10 -9
  662. package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  663. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js +4 -4
  664. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  665. package/fesm2015/taiga-ui-kit-components-checkbox.js +3 -3
  666. package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
  667. package/fesm2015/taiga-ui-kit-components-combo-box.js +9 -9
  668. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  669. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +2 -2
  670. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  671. package/fesm2015/taiga-ui-kit-components-field-error.js +5 -5
  672. package/fesm2015/taiga-ui-kit-components-field-error.js.map +1 -1
  673. package/fesm2015/taiga-ui-kit-components-files.js +20 -20
  674. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  675. package/fesm2015/taiga-ui-kit-components-filter.js +3 -3
  676. package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
  677. package/fesm2015/taiga-ui-kit-components-input-copy.js +10 -9
  678. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  679. package/fesm2015/taiga-ui-kit-components-input-count.js +16 -16
  680. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  681. package/fesm2015/taiga-ui-kit-components-input-date-range.js +14 -14
  682. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  683. package/fesm2015/taiga-ui-kit-components-input-date-time.js +16 -16
  684. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  685. package/fesm2015/taiga-ui-kit-components-input-date.js +10 -10
  686. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  687. package/fesm2015/taiga-ui-kit-components-input-file.js +34 -34
  688. package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
  689. package/fesm2015/taiga-ui-kit-components-input-files.js +15 -15
  690. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  691. package/fesm2015/taiga-ui-kit-components-input-inline.js +4 -4
  692. package/fesm2015/taiga-ui-kit-components-input-inline.js.map +1 -1
  693. package/fesm2015/taiga-ui-kit-components-input-month-range.js +7 -7
  694. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  695. package/fesm2015/taiga-ui-kit-components-input-month.js +5 -5
  696. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  697. package/fesm2015/taiga-ui-kit-components-input-number.js +26 -26
  698. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  699. package/fesm2015/taiga-ui-kit-components-input-password.js +6 -6
  700. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  701. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +13 -13
  702. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  703. package/fesm2015/taiga-ui-kit-components-input-phone.js +31 -31
  704. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  705. package/fesm2015/taiga-ui-kit-components-input-range.js +16 -16
  706. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  707. package/fesm2015/taiga-ui-kit-components-input-slider.js +16 -14
  708. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  709. package/fesm2015/taiga-ui-kit-components-input-tag.js +22 -22
  710. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  711. package/fesm2015/taiga-ui-kit-components-input-time.js +8 -8
  712. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  713. package/fesm2015/taiga-ui-kit-components-input.js +5 -5
  714. package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
  715. package/fesm2015/taiga-ui-kit-components-island.js +18 -18
  716. package/fesm2015/taiga-ui-kit-components-island.js.map +1 -1
  717. package/fesm2015/taiga-ui-kit-components-line-clamp.js +8 -8
  718. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  719. package/fesm2015/taiga-ui-kit-components-marker-icon.js +6 -6
  720. package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
  721. package/fesm2015/taiga-ui-kit-components-multi-select-option.js +2 -2
  722. package/fesm2015/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  723. package/fesm2015/taiga-ui-kit-components-multi-select.js +14 -14
  724. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  725. package/fesm2015/taiga-ui-kit-components-pagination.js +7 -7
  726. package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
  727. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +8 -8
  728. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  729. package/fesm2015/taiga-ui-kit-components-progress.js +23 -23
  730. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  731. package/fesm2015/taiga-ui-kit-components-push.js +14 -14
  732. package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
  733. package/fesm2015/taiga-ui-kit-components-radio-block.js +11 -10
  734. package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
  735. package/fesm2015/taiga-ui-kit-components-radio-group.js +1 -1
  736. package/fesm2015/taiga-ui-kit-components-radio-group.js.map +1 -1
  737. package/fesm2015/taiga-ui-kit-components-radio-labeled.js +5 -5
  738. package/fesm2015/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  739. package/fesm2015/taiga-ui-kit-components-radio-list.js +5 -5
  740. package/fesm2015/taiga-ui-kit-components-radio-list.js.map +1 -1
  741. package/fesm2015/taiga-ui-kit-components-radio.js +6 -6
  742. package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
  743. package/fesm2015/taiga-ui-kit-components-range.js +31 -31
  744. package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
  745. package/fesm2015/taiga-ui-kit-components-rating.js +4 -4
  746. package/fesm2015/taiga-ui-kit-components-rating.js.map +1 -1
  747. package/fesm2015/taiga-ui-kit-components-select-option.js +2 -2
  748. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  749. package/fesm2015/taiga-ui-kit-components-select.js +4 -4
  750. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  751. package/fesm2015/taiga-ui-kit-components-slider.js +36 -36
  752. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  753. package/fesm2015/taiga-ui-kit-components-stepper.js +33 -29
  754. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  755. package/fesm2015/taiga-ui-kit-components-tabs.js +43 -41
  756. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  757. package/fesm2015/taiga-ui-kit-components-tag.js +22 -22
  758. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  759. package/fesm2015/taiga-ui-kit-components-text-area.js +17 -17
  760. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  761. package/fesm2015/taiga-ui-kit-components-toggle.js +7 -7
  762. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  763. package/fesm2015/taiga-ui-kit-components-tree.js +17 -17
  764. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  765. package/fesm2015/taiga-ui-kit-constants.js +1 -1
  766. package/fesm2015/taiga-ui-kit-constants.js.map +1 -1
  767. package/fesm2015/taiga-ui-kit-directives-dropdown-context.js +10 -10
  768. package/fesm2015/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
  769. package/fesm2015/taiga-ui-kit-directives-dropdown-hover.js +4 -4
  770. package/fesm2015/taiga-ui-kit-directives-dropdown-hover.js.map +1 -1
  771. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js +11 -11
  772. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  773. package/fesm2015/taiga-ui-kit-directives-highlight.js +10 -10
  774. package/fesm2015/taiga-ui-kit-directives-highlight.js.map +1 -1
  775. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js +11 -11
  776. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  777. package/fesm2015/taiga-ui-kit-directives-present.js +5 -5
  778. package/fesm2015/taiga-ui-kit-directives-present.js.map +1 -1
  779. package/fesm2015/taiga-ui-kit-directives-project-class.js +2 -2
  780. package/fesm2015/taiga-ui-kit-directives-project-class.js.map +1 -1
  781. package/fesm2015/taiga-ui-kit-directives-unfinished-validator.js +4 -4
  782. package/fesm2015/taiga-ui-kit-directives-unfinished-validator.js.map +1 -1
  783. package/fesm2015/taiga-ui-kit-directives-value-accessor.js +1 -1
  784. package/fesm2015/taiga-ui-kit-directives-value-accessor.js.map +1 -1
  785. package/fesm2015/taiga-ui-kit-enums.js.map +1 -1
  786. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js +1 -1
  787. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  788. package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -1
  789. package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
  790. package/fesm2015/taiga-ui-kit-pipes-stringify.js.map +1 -1
  791. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  792. package/fesm2015/taiga-ui-kit-utils-dom.js.map +1 -1
  793. package/fesm2015/taiga-ui-kit-utils-format.js +1 -1
  794. package/fesm2015/taiga-ui-kit-utils-format.js.map +1 -1
  795. package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
  796. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  797. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  798. package/fesm5/taiga-ui-kit-components-accordion.js +13 -13
  799. package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
  800. package/fesm5/taiga-ui-kit-components-action.js +8 -8
  801. package/fesm5/taiga-ui-kit-components-action.js.map +1 -1
  802. package/fesm5/taiga-ui-kit-components-arrow.js +1 -1
  803. package/fesm5/taiga-ui-kit-components-arrow.js.map +1 -1
  804. package/fesm5/taiga-ui-kit-components-avatar.js +13 -13
  805. package/fesm5/taiga-ui-kit-components-avatar.js.map +1 -1
  806. package/fesm5/taiga-ui-kit-components-badge.js +16 -18
  807. package/fesm5/taiga-ui-kit-components-badge.js.map +1 -1
  808. package/fesm5/taiga-ui-kit-components-badged-content.js +20 -20
  809. package/fesm5/taiga-ui-kit-components-badged-content.js.map +1 -1
  810. package/fesm5/taiga-ui-kit-components-breadcrumbs.js +8 -8
  811. package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  812. package/fesm5/taiga-ui-kit-components-calendar-month.js +2 -2
  813. package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
  814. package/fesm5/taiga-ui-kit-components-calendar-range.js +4 -4
  815. package/fesm5/taiga-ui-kit-components-calendar-range.js.map +1 -1
  816. package/fesm5/taiga-ui-kit-components-carousel.js +20 -29
  817. package/fesm5/taiga-ui-kit-components-carousel.js.map +1 -1
  818. package/fesm5/taiga-ui-kit-components-checkbox-block.js +10 -9
  819. package/fesm5/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  820. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js +4 -4
  821. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  822. package/fesm5/taiga-ui-kit-components-checkbox.js +3 -3
  823. package/fesm5/taiga-ui-kit-components-checkbox.js.map +1 -1
  824. package/fesm5/taiga-ui-kit-components-combo-box.js +9 -9
  825. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  826. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js +2 -2
  827. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  828. package/fesm5/taiga-ui-kit-components-field-error.js +5 -5
  829. package/fesm5/taiga-ui-kit-components-field-error.js.map +1 -1
  830. package/fesm5/taiga-ui-kit-components-files.js +20 -20
  831. package/fesm5/taiga-ui-kit-components-files.js.map +1 -1
  832. package/fesm5/taiga-ui-kit-components-filter.js +3 -3
  833. package/fesm5/taiga-ui-kit-components-filter.js.map +1 -1
  834. package/fesm5/taiga-ui-kit-components-input-copy.js +10 -9
  835. package/fesm5/taiga-ui-kit-components-input-copy.js.map +1 -1
  836. package/fesm5/taiga-ui-kit-components-input-count.js +16 -16
  837. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  838. package/fesm5/taiga-ui-kit-components-input-date-range.js +14 -14
  839. package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
  840. package/fesm5/taiga-ui-kit-components-input-date-time.js +16 -16
  841. package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
  842. package/fesm5/taiga-ui-kit-components-input-date.js +10 -10
  843. package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
  844. package/fesm5/taiga-ui-kit-components-input-file.js +34 -34
  845. package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
  846. package/fesm5/taiga-ui-kit-components-input-files.js +15 -15
  847. package/fesm5/taiga-ui-kit-components-input-files.js.map +1 -1
  848. package/fesm5/taiga-ui-kit-components-input-inline.js +4 -4
  849. package/fesm5/taiga-ui-kit-components-input-inline.js.map +1 -1
  850. package/fesm5/taiga-ui-kit-components-input-month-range.js +7 -7
  851. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  852. package/fesm5/taiga-ui-kit-components-input-month.js +5 -5
  853. package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
  854. package/fesm5/taiga-ui-kit-components-input-number.js +26 -26
  855. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  856. package/fesm5/taiga-ui-kit-components-input-password.js +6 -6
  857. package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
  858. package/fesm5/taiga-ui-kit-components-input-phone-international.js +13 -13
  859. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  860. package/fesm5/taiga-ui-kit-components-input-phone.js +31 -31
  861. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  862. package/fesm5/taiga-ui-kit-components-input-range.js +16 -16
  863. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  864. package/fesm5/taiga-ui-kit-components-input-slider.js +16 -14
  865. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  866. package/fesm5/taiga-ui-kit-components-input-tag.js +22 -22
  867. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  868. package/fesm5/taiga-ui-kit-components-input-time.js +8 -8
  869. package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
  870. package/fesm5/taiga-ui-kit-components-input.js +5 -5
  871. package/fesm5/taiga-ui-kit-components-input.js.map +1 -1
  872. package/fesm5/taiga-ui-kit-components-island.js +18 -18
  873. package/fesm5/taiga-ui-kit-components-island.js.map +1 -1
  874. package/fesm5/taiga-ui-kit-components-line-clamp.js +8 -8
  875. package/fesm5/taiga-ui-kit-components-line-clamp.js.map +1 -1
  876. package/fesm5/taiga-ui-kit-components-marker-icon.js +6 -6
  877. package/fesm5/taiga-ui-kit-components-marker-icon.js.map +1 -1
  878. package/fesm5/taiga-ui-kit-components-multi-select-option.js +5 -3
  879. package/fesm5/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  880. package/fesm5/taiga-ui-kit-components-multi-select.js +14 -14
  881. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  882. package/fesm5/taiga-ui-kit-components-pagination.js +7 -7
  883. package/fesm5/taiga-ui-kit-components-pagination.js.map +1 -1
  884. package/fesm5/taiga-ui-kit-components-pdf-viewer.js +8 -8
  885. package/fesm5/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  886. package/fesm5/taiga-ui-kit-components-progress.js +23 -23
  887. package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
  888. package/fesm5/taiga-ui-kit-components-push.js +14 -14
  889. package/fesm5/taiga-ui-kit-components-push.js.map +1 -1
  890. package/fesm5/taiga-ui-kit-components-radio-block.js +11 -10
  891. package/fesm5/taiga-ui-kit-components-radio-block.js.map +1 -1
  892. package/fesm5/taiga-ui-kit-components-radio-group.js +1 -1
  893. package/fesm5/taiga-ui-kit-components-radio-group.js.map +1 -1
  894. package/fesm5/taiga-ui-kit-components-radio-labeled.js +5 -5
  895. package/fesm5/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  896. package/fesm5/taiga-ui-kit-components-radio-list.js +5 -5
  897. package/fesm5/taiga-ui-kit-components-radio-list.js.map +1 -1
  898. package/fesm5/taiga-ui-kit-components-radio.js +6 -6
  899. package/fesm5/taiga-ui-kit-components-radio.js.map +1 -1
  900. package/fesm5/taiga-ui-kit-components-range.js +33 -33
  901. package/fesm5/taiga-ui-kit-components-range.js.map +1 -1
  902. package/fesm5/taiga-ui-kit-components-rating.js +4 -4
  903. package/fesm5/taiga-ui-kit-components-rating.js.map +1 -1
  904. package/fesm5/taiga-ui-kit-components-select-option.js +2 -2
  905. package/fesm5/taiga-ui-kit-components-select-option.js.map +1 -1
  906. package/fesm5/taiga-ui-kit-components-select.js +4 -4
  907. package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
  908. package/fesm5/taiga-ui-kit-components-slider.js +36 -36
  909. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  910. package/fesm5/taiga-ui-kit-components-stepper.js +37 -29
  911. package/fesm5/taiga-ui-kit-components-stepper.js.map +1 -1
  912. package/fesm5/taiga-ui-kit-components-tabs.js +43 -41
  913. package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
  914. package/fesm5/taiga-ui-kit-components-tag.js +22 -22
  915. package/fesm5/taiga-ui-kit-components-tag.js.map +1 -1
  916. package/fesm5/taiga-ui-kit-components-text-area.js +17 -17
  917. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  918. package/fesm5/taiga-ui-kit-components-toggle.js +7 -7
  919. package/fesm5/taiga-ui-kit-components-toggle.js.map +1 -1
  920. package/fesm5/taiga-ui-kit-components-tree.js +17 -17
  921. package/fesm5/taiga-ui-kit-components-tree.js.map +1 -1
  922. package/fesm5/taiga-ui-kit-constants.js +1 -1
  923. package/fesm5/taiga-ui-kit-constants.js.map +1 -1
  924. package/fesm5/taiga-ui-kit-directives-dropdown-context.js +10 -10
  925. package/fesm5/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
  926. package/fesm5/taiga-ui-kit-directives-dropdown-hover.js +6 -6
  927. package/fesm5/taiga-ui-kit-directives-dropdown-hover.js.map +1 -1
  928. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js +11 -11
  929. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  930. package/fesm5/taiga-ui-kit-directives-highlight.js +10 -10
  931. package/fesm5/taiga-ui-kit-directives-highlight.js.map +1 -1
  932. package/fesm5/taiga-ui-kit-directives-lazy-loading.js +11 -11
  933. package/fesm5/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  934. package/fesm5/taiga-ui-kit-directives-present.js +5 -5
  935. package/fesm5/taiga-ui-kit-directives-present.js.map +1 -1
  936. package/fesm5/taiga-ui-kit-directives-project-class.js +2 -2
  937. package/fesm5/taiga-ui-kit-directives-project-class.js.map +1 -1
  938. package/fesm5/taiga-ui-kit-directives-unfinished-validator.js +4 -4
  939. package/fesm5/taiga-ui-kit-directives-unfinished-validator.js.map +1 -1
  940. package/fesm5/taiga-ui-kit-directives-value-accessor.js +1 -1
  941. package/fesm5/taiga-ui-kit-directives-value-accessor.js.map +1 -1
  942. package/fesm5/taiga-ui-kit-enums.js.map +1 -1
  943. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js +1 -1
  944. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  945. package/fesm5/taiga-ui-kit-pipes-field-error.js.map +1 -1
  946. package/fesm5/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
  947. package/fesm5/taiga-ui-kit-pipes-stringify.js.map +1 -1
  948. package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
  949. package/fesm5/taiga-ui-kit-utils-dom.js.map +1 -1
  950. package/fesm5/taiga-ui-kit-utils-format.js +1 -1
  951. package/fesm5/taiga-ui-kit-utils-format.js.map +1 -1
  952. package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
  953. package/fesm5/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  954. package/package.json +4 -4
  955. package/pipes/field-error/field-error-pipe.d.ts +1 -1
  956. package/pipes/filter-by-input/filter-by-input.base.d.ts +1 -1
  957. package/pipes/stringify/stringify.pipe.d.ts +1 -1
  958. package/types/marker-icon-mode.d.ts +1 -1
  959. package/types/status.d.ts +1 -1
  960. package/types/time-format-parts.d.ts +1 -1
  961. package/utils/dom/set-range-offset.d.ts +1 -1
  962. package/utils/miscellaneous/is-flat.d.ts +1 -1
  963. package/utils/miscellaneous/replay-control-value-changes-factory.d.ts +1 -1
@@ -20,7 +20,7 @@ var TuiNewInputSliderDirective = /** @class */ (function () {
20
20
  }
21
21
  TuiNewInputSliderDirective = __decorate([
22
22
  Directive({
23
- selector: "tui-input-slider[new]",
23
+ selector: 'tui-input-slider[new]',
24
24
  })
25
25
  ], TuiNewInputSliderDirective);
26
26
  return TuiNewInputSliderDirective;
@@ -41,14 +41,14 @@ var TuiInputSliderComponent = /** @class */ (function (_super) {
41
41
  _this.steps = 0;
42
42
  _this.segments = 0;
43
43
  _this.keySteps = null;
44
- _this.valueContent = "";
45
- _this.prefix = "";
46
- _this.postfix = "";
44
+ _this.valueContent = '';
45
+ _this.prefix = '';
46
+ _this.postfix = '';
47
47
  /**
48
48
  * @deprecated use `tuiTextfieldCustomContent` instead
49
49
  * TODO delete in v3.0
50
50
  */
51
- _this.secondary = "";
51
+ _this.secondary = '';
52
52
  return _this;
53
53
  }
54
54
  TuiInputSliderComponent_1 = TuiInputSliderComponent;
@@ -87,7 +87,7 @@ var TuiInputSliderComponent = /** @class */ (function (_super) {
87
87
  });
88
88
  Object.defineProperty(TuiInputSliderComponent.prototype, "decimal", {
89
89
  get: function () {
90
- return this.precision ? "not-zero" : "never";
90
+ return this.precision ? 'not-zero' : 'never';
91
91
  },
92
92
  enumerable: true,
93
93
  configurable: true
@@ -105,8 +105,10 @@ var TuiInputSliderComponent = /** @class */ (function (_super) {
105
105
  */
106
106
  get: function () {
107
107
  if (this.isNew) {
108
- tuiAssert.assert(this.controller.size !== "s", "Size 's' is not supported by this input.");
109
- return this.controller.size === "l" ? "l" : "m";
108
+ tuiAssert.assert(this.controller.size !== 's',
109
+ // eslint-disable-next-line @typescript-eslint/quotes
110
+ "Size 's' is not supported by this input.");
111
+ return this.controller.size === 'l' ? 'l' : 'm';
110
112
  }
111
113
  return this.size;
112
114
  },
@@ -166,7 +168,7 @@ var TuiInputSliderComponent = /** @class */ (function (_super) {
166
168
  Object.defineProperty(TuiInputSliderComponent.prototype, "textInputValue", {
167
169
  get: function () {
168
170
  var _a;
169
- return ((_a = this.inputNumberRef) === null || _a === void 0 ? void 0 : _a.nativeValue) || "";
171
+ return ((_a = this.inputNumberRef) === null || _a === void 0 ? void 0 : _a.nativeValue) || '';
170
172
  },
171
173
  enumerable: true,
172
174
  configurable: true
@@ -209,7 +211,7 @@ var TuiInputSliderComponent = /** @class */ (function (_super) {
209
211
  ], TuiInputSliderComponent.prototype, "max", void 0);
210
212
  __decorate([
211
213
  Input(),
212
- tuiDefaultProp(quantumAssertion, "Quantum must be positive")
214
+ tuiDefaultProp(quantumAssertion, 'Quantum must be positive')
213
215
  ], TuiInputSliderComponent.prototype, "quantum", void 0);
214
216
  __decorate([
215
217
  Input(),
@@ -241,14 +243,14 @@ var TuiInputSliderComponent = /** @class */ (function (_super) {
241
243
  ], TuiInputSliderComponent.prototype, "secondary", void 0);
242
244
  TuiInputSliderComponent = TuiInputSliderComponent_1 = __decorate([
243
245
  Component({
244
- selector: "tui-input-slider",
246
+ selector: 'tui-input-slider',
245
247
  template: "<tui-input-number\n [min]=\"min\"\n [max]=\"max\"\n [precision]=\"precision\"\n [decimal]=\"decimal\"\n [prefix]=\"showValueContent ? '' : prefix\"\n [postfix]=\"showValueContent ? '' : postfix || (value | i18nPlural: pluralizeMap || pluralizeMapFallback)\"\n [tuiTextfieldCustomContent]=\"controller.customContent || deprecatedSecondary\"\n [tuiTextfieldSize]=\"computedSize\"\n [tuiTextfieldLabelOutside]=\"computedSize !== 'l'\"\n [readOnly]=\"readOnly\"\n [pseudoFocused]=\"computedFocused\"\n [pseudoHovered]=\"computedHovered\"\n [pseudoPressed]=\"computedPressed\"\n [pseudoInvalid]=\"pseudoInvalid\"\n [ngModel]=\"value\"\n (ngModelChange)=\"safelyUpdateValue($event)\"\n (focusedChange)=\"onFocused($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (pressedChange)=\"onPressed($event)\"\n (keydown.arrowUp.prevent)=\"onVerticalArrowKeyDown(1)\"\n (keydown.arrowDown.prevent)=\"onVerticalArrowKeyDown(-1)\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"showValueContent\"\n polymorpheus-outlet\n automation-id=\"tui-input-slider__value-content\"\n [content]=\"computedValueContent\"\n [context]=\"{$implicit: value}\"\n ></div>\n</tui-input-number>\n\n<!--TODO: remove in v3.0-->\n<ng-template #deprecatedSecondary>{{ secondary }}</ng-template>\n\n<!--TODO: remove wrapper + ticks labels (leave only slider) in v3.0-->\n<div class=\"t-slider-wrapper\">\n <input\n tuiSlider\n type=\"range\"\n [tuiFocusable]=\"false\"\n [max]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"computedKeySteps\"\n [attr.disabled]=\"readOnly || disabled || null\"\n [ngModel]=\"value\"\n (keyStepsInput)=\"onSliderChange($event)\"\n (click)=\"focusTextInput()\"\n />\n\n <!--TODO delete ticks labels in v3.0-->\n <div\n *ngIf=\"segments && !isNew\"\n class=\"t-ticks-labels\"\n >\n <span\n *tuiRepeatTimes=\"let tickIndex of segments + 1\"\n automation-id=\"tui-slider__segment\"\n >\n <span *ngIf=\"fromToTexts$ | async as fromToText\">\n {{ getTickPrefix(tickIndex, segments, fromToText) }}\n {{ tickIndex | tuiSliderTickLabel: segments:computedKeySteps | tuiFormatNumber }}\n <span *ngIf=\"segmentsPluralizeMap\">\n {{ tickIndex | tuiSliderTickLabel: segments:computedKeySteps | i18nPlural: segmentsPluralizeMap }}\n </span>\n </span>\n </span>\n </div>\n</div>\n",
246
248
  host: {
247
249
  /**
248
250
  * TODO delete it in v3.0
249
251
  * Dont forget to clear html-tags
250
252
  */
251
- '[class._show-ticks-labels]': "!isNew",
253
+ '[class._show-ticks-labels]': '!isNew',
252
254
  },
253
255
  changeDetection: ChangeDetectionStrategy.OnPush,
254
256
  providers: [
@@ -257,7 +259,7 @@ var TuiInputSliderComponent = /** @class */ (function (_super) {
257
259
  provide: TUI_FOCUSABLE_ITEM_ACCESSOR,
258
260
  useExisting: forwardRef(function () { return TuiInputSliderComponent_1; }),
259
261
  },
260
- tuiSliderOptionsProvider({ trackColor: "transparent" }),
262
+ tuiSliderOptionsProvider({ trackColor: 'transparent' }),
261
263
  HINT_CONTROLLER_PROVIDER,
262
264
  TEXTFIELD_CONTROLLER_PROVIDER,
263
265
  ],
@@ -292,7 +294,7 @@ function legacyMinMaxLabel(_a) {
292
294
  var min = _a.min, max = _a.max, minLabel = _a.minLabel, maxLabel = _a.maxLabel, i18nPlural = _a.i18nPlural, pluralizeMap = _a.pluralizeMap;
293
295
  return function (_a) {
294
296
  var value = _a.$implicit;
295
- var valueWithPlural = value + " " + (pluralizeMap ? i18nPlural.transform(value, pluralizeMap) : "");
297
+ var valueWithPlural = value + " " + (pluralizeMap ? i18nPlural.transform(value, pluralizeMap) : '');
296
298
  switch (value) {
297
299
  case min:
298
300
  return minLabel || valueWithPlural;
@@ -303,4 +305,4 @@ function legacyMinMaxLabel(_a) {
303
305
  }
304
306
  };
305
307
  }
306
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1zbGlkZXIvIiwic291cmNlcyI6WyJpbnB1dC1zbGlkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxLQUFLLEVBQ0wsZUFBZSxFQUNmLEtBQUssRUFDTCxnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBQzNCLFNBQVMsRUFFVCxjQUFjLEdBR2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsd0JBQXdCLEVBQ3hCLDZCQUE2QixFQUM3QixnQ0FBZ0MsRUFDaEMsV0FBVyxFQUNYLFFBQVEsRUFDUixzQkFBc0IsR0FDekIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHdCQUF3QixHQUMzQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR3ZELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFaEM7Ozs7R0FJRztBQUlIO0lBQUE7SUFBeUMsQ0FBQztJQUE3QiwwQkFBMEI7UUFIdEMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLHVCQUF1QjtTQUNwQyxDQUFDO09BQ1csMEJBQTBCLENBQUc7SUFBRCxpQ0FBQztDQUFBLEFBQTFDLElBQTBDO1NBQTdCLDBCQUEwQjtBQUV2QyxXQUFXO0FBNEJYO0lBQ1ksMkNBQThCO0lBcUR0QyxpQ0FJSSxPQUF5QixFQUNFLGlCQUFvQyxFQUV0RCxVQUFrQyxFQUNQLFlBQTBDLEVBR3JFLEtBQXdDLEVBQ2hCLFVBQTBCO1FBWi9ELFlBY0ksa0JBQU0sT0FBTyxFQUFFLGlCQUFpQixDQUFDLFNBQ3BDO1FBUlksZ0JBQVUsR0FBVixVQUFVLENBQXdCO1FBQ1Asa0JBQVksR0FBWixZQUFZLENBQThCO1FBR3JFLFdBQUssR0FBTCxLQUFLLENBQW1DO1FBQ2hCLGdCQUFVLEdBQVYsVUFBVSxDQUFnQjtRQXREL0QsU0FBRyxHQUFHLENBQUMsQ0FBQztRQUlSLFNBQUcsR0FBRyxRQUFRLENBQUM7UUFJZixhQUFPLEdBQUcsQ0FBQyxDQUFDO1FBSVosV0FBSyxHQUFHLENBQUMsQ0FBQztRQUlWLGNBQVEsR0FBRyxDQUFDLENBQUM7UUFJYixjQUFRLEdBQXVCLElBQUksQ0FBQztRQUlwQyxrQkFBWSxHQUF3RCxFQUFFLENBQUM7UUFJdkUsWUFBTSxHQUFHLEVBQUUsQ0FBQztRQUlaLGFBQU8sR0FBRyxFQUFFLENBQUM7UUFFYjs7O1dBR0c7UUFHSCxlQUFTLEdBQUcsRUFBRSxDQUFDOztJQWlCZixDQUFDO2dDQXJFUSx1QkFBdUI7SUF1RWhDLHNCQUFJLDJEQUFzQjthQUExQjs7WUFDSSxPQUFPLFFBQUMsSUFBSSxDQUFDLGNBQWMsMENBQUUsc0JBQXNCLENBQUEsSUFBSSxJQUFJLENBQUMsZ0JBQWdCO2dCQUN4RSxDQUFDLENBQUMsSUFBSTtnQkFDTixDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQztRQUNyRCxDQUFDOzs7T0FBQTtJQUVELHNCQUFJLDRDQUFPO2FBQVg7O1lBQ0ksT0FBTyxDQUNILGVBQWUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUM7Z0JBQzVDLGVBQWUsQ0FBQyxPQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLGFBQWEsS0FBSSxJQUFJLENBQUMsQ0FDekQsQ0FBQztRQUNOLENBQUM7OztPQUFBO0lBRUQsc0JBQUksa0RBQWE7YUFBakI7WUFDSSxPQUFPLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzlELENBQUM7OztPQUFBO0lBRUQsc0JBQUksOENBQVM7YUFBYjtZQUNJLE9BQU8scUJBQXFCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUN0RCxDQUFDOzs7T0FBQTtJQUVELHNCQUFJLDRDQUFPO2FBQVg7WUFDSSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ2pELENBQUM7OztPQUFBO0lBRUQsc0JBQUkscURBQWdCO2FBQXBCO1lBQ0ksT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9ELENBQUM7OztPQUFBO0lBS0Qsc0JBQUksaURBQVk7UUFIaEI7O1dBRUc7YUFDSDtZQUNJLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDWixTQUFTLENBQUMsTUFBTSxDQUNaLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLEdBQUcsRUFDNUIsMENBQTBDLENBQzdDLENBQUM7Z0JBRUYsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO2FBQ25EO1lBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3JCLENBQUM7OztPQUFBO0lBTUQsc0JBQUkseURBQW9CO1FBSnhCOzs7V0FHRzthQUNIO1lBQ0ksT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRO2dCQUNqQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDO2dCQUN6QixDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUM1QixDQUFDOzs7T0FBQTtJQUVELGdEQUFjLEdBQWQ7O1FBQ0ksSUFBTSxnQkFBZ0IsU0FBRyxJQUFJLENBQUMsY0FBYywwQ0FBRSxzQkFBc0IsQ0FBQztRQUVyRSxJQUFJLGdCQUFnQixFQUFFO1lBQ2xCLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDdEM7SUFDTCxDQUFDO0lBRUQsbURBQWlCLEdBQWpCLFVBQWtCLEtBQW9CO1FBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLGFBQUwsS0FBSyxjQUFMLEtBQUssR0FBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCx3REFBc0IsR0FBdEIsVUFBdUIsV0FBbUI7UUFDdEMsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUM3QixPQUFPO1NBQ1Y7UUFFRCxJQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRW5ELElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2pDO1FBRUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsZ0RBQWMsR0FBZCxVQUFlLFFBQWdCO1FBQzNCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCwyQ0FBUyxHQUFULFVBQVUsT0FBZ0I7UUFDaEIsSUFBQSxTQUFnRSxFQUEvRCxnQkFBSyxFQUFFLGtDQUFjLEVBQUUsc0NBQWdCLEVBQUUsa0NBQXNCLENBQUM7UUFFdkUsSUFBSSxDQUFDLE9BQU8sSUFBSSxjQUFjLE1BQUssY0FBYyxhQUFkLGNBQWMsdUJBQWQsY0FBYyxDQUFFLGlCQUFpQixDQUFDLEtBQUssRUFBQyxFQUFFO1lBQ3pFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLGFBQUwsS0FBSyxjQUFMLEtBQUssR0FBSSxnQkFBZ0IsQ0FBQyxDQUFDO1NBQ3hEO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsMkNBQVMsR0FBVCxVQUFVLE9BQWdCO1FBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELDJDQUFTLEdBQVQsVUFBVSxPQUFnQjtRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxzQkFBWSxtREFBYzthQUExQjs7WUFDSSxPQUFPLE9BQUEsSUFBSSxDQUFDLGNBQWMsMENBQUUsV0FBVyxLQUFJLEVBQUUsQ0FBQztRQUNsRCxDQUFDOzs7T0FBQTtJQUVTLGtEQUFnQixHQUExQjtRQUNJLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVTLDRDQUFVLEdBQXBCLFVBQXFCLEtBQWE7UUFDOUIsSUFBTSxZQUFZLEdBQUcsS0FBSyxDQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFDL0Msc0JBQXNCLENBQ3pCLENBQUM7UUFFRixPQUFPLEtBQUssQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVPLHNEQUFvQixHQUE1QixVQUE2QixLQUFhO1FBQ3RDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVc7Z0JBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEQ7SUFDTCxDQUFDOzs7Z0JBM0lZLFNBQVMsdUJBSGpCLFFBQVEsWUFDUixJQUFJLFlBQ0osTUFBTSxTQUFDLFNBQVM7Z0JBRTZCLGlCQUFpQix1QkFBOUQsTUFBTSxTQUFDLGlCQUFpQjtnQkFFSixzQkFBc0IsdUJBRDFDLE1BQU0sU0FBQyxnQ0FBZ0M7Z0JBRVUsVUFBVSx1QkFBM0QsTUFBTSxTQUFDLGlCQUFpQjtnQkFHVCwwQkFBMEIsdUJBRnpDLFFBQVEsWUFDUixNQUFNLFNBQUMsMEJBQTBCO2dCQUVXLGNBQWMsdUJBQTFELE1BQU0sU0FBQyxjQUFjOztJQTdEMUI7UUFEQyxTQUFTLENBQUMsdUJBQXVCLENBQUM7bUVBQ3VCO0lBRzFEO1FBREMsU0FBUyxDQUFDLGtCQUFrQixFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQyxDQUFDOzhEQUNRO0lBSTFEO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFO3dEQUNUO0lBSVI7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7d0RBQ0Y7SUFJZjtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSwwQkFBMEIsQ0FBQzs0REFDakQ7SUFJWjtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTswREFDUDtJQUlWO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFOzZEQUNKO0lBSWI7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7NkRBQ21CO0lBSXBDO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFO2lFQUNzRDtJQUl2RTtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTsyREFDTDtJQUlaO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFOzREQUNKO0lBUWI7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7OERBQ0Y7SUFwRE4sdUJBQXVCO1FBM0JuQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLDBrRkFBMkM7WUFFM0MsSUFBSSxFQUFFO2dCQUNGOzs7bUJBR0c7Z0JBQ0gsNEJBQTRCLEVBQUUsUUFBUTthQUN6QztZQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1lBQy9DLFNBQVMsRUFBRTtnQkFDUCxjQUFjO2dCQUNkO29CQUNJLE9BQU8sRUFBRSwyQkFBMkI7b0JBQ3BDLFdBQVcsRUFBRSxVQUFVLENBQUMsY0FBTSxPQUFBLHlCQUF1QixFQUF2QixDQUF1QixDQUFDO2lCQUN6RDtnQkFDRCx3QkFBd0IsQ0FBQyxFQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUMsQ0FBQztnQkFDckQsd0JBQXdCO2dCQUN4Qiw2QkFBNkI7YUFDaEM7O1NBQ0osQ0FBQztRQUNGOzs7V0FHRzs7UUF3RE0sV0FBQSxRQUFRLEVBQUUsQ0FBQTtRQUNWLFdBQUEsSUFBSSxFQUFFLENBQUE7UUFDTixXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUVqQixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3pCLFdBQUEsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUE7UUFFeEMsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUN6QixXQUFBLFFBQVEsRUFBRSxDQUFBO1FBQ1YsV0FBQSxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtRQUVsQyxXQUFBLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQTtPQWxFbEIsdUJBQXVCLENBc01uQztJQUFELDhCQUFDO0NBQUEsQUF0TUQsQ0FDWSxzQkFBc0IsR0FxTWpDO1NBdE1ZLHVCQUF1QjtBQXdNcEMsU0FBUyxnQkFBZ0IsQ0FBQyxPQUFlO0lBQ3JDLE9BQU8sT0FBTyxHQUFHLENBQUMsQ0FBQztBQUN2QixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxpQkFBaUIsQ0FBQyxFQU9EO1FBTnRCLFlBQUcsRUFDSCxZQUFHLEVBQ0gsc0JBQVEsRUFDUixzQkFBUSxFQUNSLDBCQUFVLEVBQ1YsOEJBQVk7SUFJWixPQUFPLFVBQUMsRUFBa0Q7WUFBakQsb0JBQWdCO1FBQ3JCLElBQU0sZUFBZSxHQUFNLEtBQUssVUFDNUIsWUFBWSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUMvRCxDQUFDO1FBRUgsUUFBUSxLQUFLLEVBQUU7WUFDWCxLQUFLLEdBQUc7Z0JBQ0osT0FBTyxRQUFRLElBQUksZUFBZSxDQUFDO1lBQ3ZDLEtBQUssR0FBRztnQkFDSixPQUFPLFFBQVEsSUFBSSxlQUFlLENBQUM7WUFDdkM7Z0JBQ0ksT0FBTyxlQUFlLENBQUM7U0FDOUI7SUFDTCxDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJMThuUGx1cmFsUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIGNsYW1wLFxuICAgIGlzTmF0aXZlRm9jdXNlZCxcbiAgICByb3VuZCxcbiAgICBzZXROYXRpdmVGb2N1c2VkLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICB0dWlBc3NlcnQsXG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIGdldEZyYWN0aW9uUGFydFBhZGRlZCxcbiAgICBISU5UX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIsXG4gICAgVHVpRGVjaW1hbFQsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdFR1aUlucHV0U2xpZGVyfSBmcm9tICdAdGFpZ2EtdWkva2l0L2Fic3RyYWN0JztcbmltcG9ydCB7VHVpSW5wdXROdW1iZXJDb21wb25lbnR9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1udW1iZXInO1xuaW1wb3J0IHtcbiAgICBUdWlTbGlkZXJDb21wb25lbnQsXG4gICAgdHVpU2xpZGVyT3B0aW9uc1Byb3ZpZGVyLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2xpZGVyJztcbmltcG9ydCB7VFVJX0ZMT0FUSU5HX1BSRUNJU0lPTn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb25zdGFudHMnO1xuaW1wb3J0IHtUVUlfRlJPTV9UT19URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtUdWlLZXlTdGVwc30gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIFR1cm4gb24gbmV3IGBJbnB1dFNsaWRlcmAncyB2ZXJzaW9uLlxuICogVGhlIG5ldyB2ZXJzaW9uIHdpbGwgYmVoYXZlIGFsbW9zdCB0aGUgc2FtZSBhcyBgSW5wdXRTbGlkZXJgIGZyb20gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS5cbiAqIEBkZXByZWNhdGVkIFRPRE8gcmVtb3ZlIG1lIGluIHYzLjAgYW5kIG1ha2UgYElucHV0U2xpZGVyYCBhbHdheXMgXCJuZXdcIi5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IGB0dWktaW5wdXQtc2xpZGVyW25ld11gLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlOZXdJbnB1dFNsaWRlckRpcmVjdGl2ZSB7fVxuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktaW5wdXQtc2xpZGVyYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vaW5wdXQtc2xpZGVyLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL2lucHV0LXNsaWRlci5zdHlsZS5sZXNzYF0sXG4gICAgaG9zdDoge1xuICAgICAgICAvKipcbiAgICAgICAgICogVE9ETyBkZWxldGUgaXQgaW4gdjMuMFxuICAgICAgICAgKiBEb250IGZvcmdldCB0byBjbGVhciBodG1sLXRhZ3NcbiAgICAgICAgICovXG4gICAgICAgICdbY2xhc3MuX3Nob3ctdGlja3MtbGFiZWxzXSc6IGAhaXNOZXdgLFxuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIEkxOG5QbHVyYWxQaXBlLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dFNsaWRlckNvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIHR1aVNsaWRlck9wdGlvbnNQcm92aWRlcih7dHJhY2tDb2xvcjogYHRyYW5zcGFyZW50YH0pLFxuICAgICAgICBISU5UX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIF0sXG59KVxuLyoqXG4gKiBUT0RPIHJlcGxhY2UgYGV4dGVuZHMgQWJzdHJhY3RUdWlJbnB1dFNsaWRlcjxudW1iZXI+YCBieSBgZXh0ZW5kcyBBYnN0cmFjdFR1aUNvbnRyb2w8bnVtYmVyPiBpbXBsZW1lbnRzIFR1aVdpdGhPcHRpb25hbE1pbk1heDxudW1iZXI+YFxuICogaW4gdjMuMFxuICovXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRTbGlkZXJDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpSW5wdXRTbGlkZXI8bnVtYmVyPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZChUdWlJbnB1dE51bWJlckNvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0TnVtYmVyUmVmPzogVHVpSW5wdXROdW1iZXJDb21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKFR1aVNsaWRlckNvbXBvbmVudCwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2xpZGVyUmVmPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtaW4gPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heCA9IEluZmluaXR5O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AocXVhbnR1bUFzc2VydGlvbiwgYFF1YW50dW0gbXVzdCBiZSBwb3NpdGl2ZWApXG4gICAgcXVhbnR1bSA9IDE7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc3RlcHMgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNlZ21lbnRzID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBrZXlTdGVwczogVHVpS2V5U3RlcHMgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB2YWx1ZUNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+PiA9IGBgO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHByZWZpeCA9IGBgO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHBvc3RmaXggPSBgYDtcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHVzZSBgdHVpVGV4dGZpZWxkQ3VzdG9tQ29udGVudGAgaW5zdGVhZFxuICAgICAqIFRPRE8gZGVsZXRlIGluIHYzLjBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2Vjb25kYXJ5ID0gYGA7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfV0FUQ0hFRF9DT05UUk9MTEVSKVxuICAgICAgICByZWFkb25seSBjb250cm9sbGVyOiBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxuICAgICAgICBASW5qZWN0KFRVSV9GUk9NX1RPX1RFWFRTKSByZWFkb25seSBmcm9tVG9UZXh0cyQ6IE9ic2VydmFibGU8W3N0cmluZywgc3RyaW5nXT4sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpTmV3SW5wdXRTbGlkZXJEaXJlY3RpdmUpXG4gICAgICAgIHJlYWRvbmx5IGlzTmV3OiBUdWlOZXdJbnB1dFNsaWRlckRpcmVjdGl2ZSB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoSTE4blBsdXJhbFBpcGUpIHJlYWRvbmx5IGkxOG5QbHVyYWw6IEkxOG5QbHVyYWxQaXBlLFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMuaW5wdXROdW1iZXJSZWY/Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfHwgdGhpcy5jb21wdXRlZERpc2FibGVkXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogdGhpcy5pbnB1dE51bWJlclJlZi5uYXRpdmVGb2N1c2FibGVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgaXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkgfHxcbiAgICAgICAgICAgIGlzTmF0aXZlRm9jdXNlZCh0aGlzLnNsaWRlclJlZj8ubmF0aXZlRWxlbWVudCB8fCBudWxsKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFN0ZXBzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0ZXBzIHx8ICh0aGlzLm1heCAtIHRoaXMubWluKSAvIHRoaXMucXVhbnR1bTtcbiAgICB9XG5cbiAgICBnZXQgcHJlY2lzaW9uKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBnZXRGcmFjdGlvblBhcnRQYWRkZWQodGhpcy5xdWFudHVtKS5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0IGRlY2ltYWwoKTogVHVpRGVjaW1hbFQge1xuICAgICAgICByZXR1cm4gdGhpcy5wcmVjaXNpb24gPyBgbm90LXplcm9gIDogYG5ldmVyYDtcbiAgICB9XG5cbiAgICBnZXQgc2hvd1ZhbHVlQ29udGVudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4odGhpcy5jb21wdXRlZFZhbHVlQ29udGVudCAmJiAhdGhpcy5mb2N1c2VkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUT0RPIHJlbW92ZSBvbGQgcHJvcGVydHkgYHNpemVgIGluIHYzLjBcbiAgICAgKi9cbiAgICBnZXQgY29tcHV0ZWRTaXplKCk6IFR1aVNpemVMIHtcbiAgICAgICAgaWYgKHRoaXMuaXNOZXcpIHtcbiAgICAgICAgICAgIHR1aUFzc2VydC5hc3NlcnQoXG4gICAgICAgICAgICAgICAgdGhpcy5jb250cm9sbGVyLnNpemUgIT09IGBzYCxcbiAgICAgICAgICAgICAgICBgU2l6ZSAncycgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGlucHV0LmAsXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sbGVyLnNpemUgPT09IGBsYCA/IGBsYCA6IGBtYDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnNpemU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiAgICAgKiBUT0RPIHJlcGxhY2UgYnkganVzdCBgdGhpcy52YWx1ZUNvbnRlbnRgIGluIHYzLjBcbiAgICAgKi9cbiAgICBnZXQgY29tcHV0ZWRWYWx1ZUNvbnRlbnQoKTogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0V2l0aEltcGxpY2l0PG51bWJlcj4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWluTGFiZWwgfHwgdGhpcy5tYXhMYWJlbFxuICAgICAgICAgICAgPyBsZWdhY3lNaW5NYXhMYWJlbCh0aGlzKVxuICAgICAgICAgICAgOiB0aGlzLnZhbHVlQ29udGVudDtcbiAgICB9XG5cbiAgICBmb2N1c1RleHRJbnB1dCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZm9jdXNhYmxlRWxlbWVudCA9IHRoaXMuaW5wdXROdW1iZXJSZWY/Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKGZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQoZm9jdXNhYmxlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzYWZlbHlVcGRhdGVWYWx1ZSh2YWx1ZTogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMudmFsdWVHdWFyZCh2YWx1ZSA/PyB0aGlzLnNhZmVDdXJyZW50VmFsdWUpKTtcbiAgICB9XG5cbiAgICBvblZlcnRpY2FsQXJyb3dLZXlEb3duKGNvZWZmaWNpZW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkgfHwgIXRoaXMuc3RlcCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlICsgY29lZmZpY2llbnQgKiB0aGlzLnN0ZXA7XG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnNhZmVseVVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlVGV4dElucHV0VmFsdWUodGhpcy52YWx1ZUd1YXJkKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgb25TbGlkZXJDaGFuZ2UobmV3VmFsdWU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnNhZmVseVVwZGF0ZVZhbHVlKG5ld1ZhbHVlKTtcbiAgICAgICAgdGhpcy51cGRhdGVUZXh0SW5wdXRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBjb25zdCB7dmFsdWUsIHRleHRJbnB1dFZhbHVlLCBzYWZlQ3VycmVudFZhbHVlLCBpbnB1dE51bWJlclJlZn0gPSB0aGlzO1xuXG4gICAgICAgIGlmICghZm9jdXNlZCAmJiB0ZXh0SW5wdXRWYWx1ZSAhPT0gaW5wdXROdW1iZXJSZWY/LmdldEZvcm1hdHRlZFZhbHVlKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUZXh0SW5wdXRWYWx1ZSh2YWx1ZSA/PyBzYWZlQ3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICBvblByZXNzZWQocHJlc3NlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVByZXNzZWQocHJlc3NlZCk7XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkKGhvdmVyZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHRleHRJbnB1dFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0TnVtYmVyUmVmPy5uYXRpdmVWYWx1ZSB8fCBgYDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RmFsbGJhY2tWYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdmFsdWVHdWFyZCh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qgcm91bmRlZFZhbHVlID0gcm91bmQoXG4gICAgICAgICAgICBNYXRoLnJvdW5kKHZhbHVlIC8gdGhpcy5xdWFudHVtKSAqIHRoaXMucXVhbnR1bSxcbiAgICAgICAgICAgIFRVSV9GTE9BVElOR19QUkVDSVNJT04sXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIGNsYW1wKHJvdW5kZWRWYWx1ZSwgdGhpcy5taW4sIHRoaXMubWF4KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVRleHRJbnB1dFZhbHVlKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW5wdXROdW1iZXJSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXROdW1iZXJSZWYubmF0aXZlVmFsdWUgPVxuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXROdW1iZXJSZWYuZ2V0Rm9ybWF0dGVkVmFsdWUodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5mdW5jdGlvbiBxdWFudHVtQXNzZXJ0aW9uKHF1YW50dW06IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBxdWFudHVtID4gMDtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBoZWxwZXIgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuXG4gKiBUT0RPIHJlbW92ZSBpbiB2My4wXG4gKi9cbmZ1bmN0aW9uIGxlZ2FjeU1pbk1heExhYmVsKHtcbiAgICBtaW4sXG4gICAgbWF4LFxuICAgIG1pbkxhYmVsLFxuICAgIG1heExhYmVsLFxuICAgIGkxOG5QbHVyYWwsXG4gICAgcGx1cmFsaXplTWFwLFxufTogVHVpSW5wdXRTbGlkZXJDb21wb25lbnQpOiAoXG4gICAgY29udGV4dDogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+LFxuKSA9PiBzdHJpbmcgfCBudW1iZXIge1xuICAgIHJldHVybiAoeyRpbXBsaWNpdDogdmFsdWV9OiBUdWlDb250ZXh0V2l0aEltcGxpY2l0PG51bWJlcj4pID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWVXaXRoUGx1cmFsID0gYCR7dmFsdWV9ICR7XG4gICAgICAgICAgICBwbHVyYWxpemVNYXAgPyBpMThuUGx1cmFsLnRyYW5zZm9ybSh2YWx1ZSwgcGx1cmFsaXplTWFwKSA6IGBgXG4gICAgICAgIH1gO1xuXG4gICAgICAgIHN3aXRjaCAodmFsdWUpIHtcbiAgICAgICAgICAgIGNhc2UgbWluOlxuICAgICAgICAgICAgICAgIHJldHVybiBtaW5MYWJlbCB8fCB2YWx1ZVdpdGhQbHVyYWw7XG4gICAgICAgICAgICBjYXNlIG1heDpcbiAgICAgICAgICAgICAgICByZXR1cm4gbWF4TGFiZWwgfHwgdmFsdWVXaXRoUGx1cmFsO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWVXaXRoUGx1cmFsO1xuICAgICAgICB9XG4gICAgfTtcbn1cbiJdfQ==
308
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1zbGlkZXIvIiwic291cmNlcyI6WyJpbnB1dC1zbGlkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxLQUFLLEVBQ0wsZUFBZSxFQUNmLEtBQUssRUFDTCxnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBQzNCLFNBQVMsRUFFVCxjQUFjLEdBR2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsd0JBQXdCLEVBQ3hCLDZCQUE2QixFQUM3QixnQ0FBZ0MsRUFDaEMsV0FBVyxFQUNYLFFBQVEsRUFDUixzQkFBc0IsR0FDekIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHdCQUF3QixHQUMzQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR3ZELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxN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LE9BQU8sT0FBTyxHQUFHLENBQUMsQ0FBQztBQUN2QixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxpQkFBaUIsQ0FBQyxFQU9EO1FBTnRCLFlBQUcsRUFDSCxZQUFHLEVBQ0gsc0JBQVEsRUFDUixzQkFBUSxFQUNSLDBCQUFVLEVBQ1YsOEJBQVk7SUFJWixPQUFPLFVBQUMsRUFBa0Q7WUFBakQsb0JBQWdCO1FBQ3JCLElBQU0sZUFBZSxHQUFNLEtBQUssVUFDNUIsWUFBWSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUMvRCxDQUFDO1FBRUgsUUFBUSxLQUFLLEVBQUU7WUFDWCxLQUFLLEdBQUc7Z0JBQ0osT0FBTyxRQUFRLElBQUksZUFBZSxDQUFDO1lBQ3ZDLEtBQUssR0FBRztnQkFDSixPQUFPLFFBQVEsSUFBSSxlQUFlLENBQUM7WUFDdkM7Z0JBQ0ksT0FBTyxlQUFlLENBQUM7U0FDOUI7SUFDTCxDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJMThuUGx1cmFsUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIGNsYW1wLFxuICAgIGlzTmF0aXZlRm9jdXNlZCxcbiAgICByb3VuZCxcbiAgICBzZXROYXRpdmVGb2N1c2VkLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICB0dWlBc3NlcnQsXG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIGdldEZyYWN0aW9uUGFydFBhZGRlZCxcbiAgICBISU5UX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIsXG4gICAgVHVpRGVjaW1hbFQsXG4gICAgVHVpU2l6ZUwsXG4gICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdFR1aUlucHV0U2xpZGVyfSBmcm9tICdAdGFpZ2EtdWkva2l0L2Fic3RyYWN0JztcbmltcG9ydCB7VHVpSW5wdXROdW1iZXJDb21wb25lbnR9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1udW1iZXInO1xuaW1wb3J0IHtcbiAgICBUdWlTbGlkZXJDb21wb25lbnQsXG4gICAgdHVpU2xpZGVyT3B0aW9uc1Byb3ZpZGVyLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2xpZGVyJztcbmltcG9ydCB7VFVJX0ZMT0FUSU5HX1BSRUNJU0lPTn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb25zdGFudHMnO1xuaW1wb3J0IHtUVUlfRlJPTV9UT19URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtUdWlLZXlTdGVwc30gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIFR1cm4gb24gbmV3IGBJbnB1dFNsaWRlcmAncyB2ZXJzaW9uLlxuICogVGhlIG5ldyB2ZXJzaW9uIHdpbGwgYmVoYXZlIGFsbW9zdCB0aGUgc2FtZSBhcyBgSW5wdXRTbGlkZXJgIGZyb20gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS5cbiAqIEBkZXByZWNhdGVkIFRPRE8gcmVtb3ZlIG1lIGluIHYzLjAgYW5kIG1ha2UgYElucHV0U2xpZGVyYCBhbHdheXMgXCJuZXdcIi5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtc2xpZGVyW25ld10nLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlOZXdJbnB1dFNsaWRlckRpcmVjdGl2ZSB7fVxuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtc2xpZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtc2xpZGVyLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LXNsaWRlci5zdHlsZS5sZXNzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICAvKipcbiAgICAgICAgICogVE9ETyBkZWxldGUgaXQgaW4gdjMuMFxuICAgICAgICAgKiBEb250IGZvcmdldCB0byBjbGVhciBodG1sLXRhZ3NcbiAgICAgICAgICovXG4gICAgICAgICdbY2xhc3MuX3Nob3ctdGlja3MtbGFiZWxzXSc6ICchaXNOZXcnLFxuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIEkxOG5QbHVyYWxQaXBlLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dFNsaWRlckNvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIHR1aVNsaWRlck9wdGlvbnNQcm92aWRlcih7dHJhY2tDb2xvcjogJ3RyYW5zcGFyZW50J30pLFxuICAgICAgICBISU5UX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIF0sXG59KVxuLyoqXG4gKiBUT0RPIHJlcGxhY2UgYGV4dGVuZHMgQWJzdHJhY3RUdWlJbnB1dFNsaWRlcjxudW1iZXI+YCBieSBgZXh0ZW5kcyBBYnN0cmFjdFR1aUNvbnRyb2w8bnVtYmVyPiBpbXBsZW1lbnRzIFR1aVdpdGhPcHRpb25hbE1pbk1heDxudW1iZXI+YFxuICogaW4gdjMuMFxuICovXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRTbGlkZXJDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpSW5wdXRTbGlkZXI8bnVtYmVyPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZChUdWlJbnB1dE51bWJlckNvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0TnVtYmVyUmVmPzogVHVpSW5wdXROdW1iZXJDb21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKFR1aVNsaWRlckNvbXBvbmVudCwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2xpZGVyUmVmPzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtaW4gPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heCA9IEluZmluaXR5O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AocXVhbnR1bUFzc2VydGlvbiwgJ1F1YW50dW0gbXVzdCBiZSBwb3NpdGl2ZScpXG4gICAgcXVhbnR1bSA9IDE7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc3RlcHMgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNlZ21lbnRzID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBrZXlTdGVwczogVHVpS2V5U3RlcHMgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB2YWx1ZUNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+PiA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHByZWZpeCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHBvc3RmaXggPSAnJztcblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHVzZSBgdHVpVGV4dGZpZWxkQ3VzdG9tQ29udGVudGAgaW5zdGVhZFxuICAgICAqIFRPRE8gZGVsZXRlIGluIHYzLjBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2Vjb25kYXJ5ID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfV0FUQ0hFRF9DT05UUk9MTEVSKVxuICAgICAgICByZWFkb25seSBjb250cm9sbGVyOiBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxuICAgICAgICBASW5qZWN0KFRVSV9GUk9NX1RPX1RFWFRTKSByZWFkb25seSBmcm9tVG9UZXh0cyQ6IE9ic2VydmFibGU8W3N0cmluZywgc3RyaW5nXT4sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpTmV3SW5wdXRTbGlkZXJEaXJlY3RpdmUpXG4gICAgICAgIHJlYWRvbmx5IGlzTmV3OiBUdWlOZXdJbnB1dFNsaWRlckRpcmVjdGl2ZSB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoSTE4blBsdXJhbFBpcGUpIHJlYWRvbmx5IGkxOG5QbHVyYWw6IEkxOG5QbHVyYWxQaXBlLFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogVHVpTmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMuaW5wdXROdW1iZXJSZWY/Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfHwgdGhpcy5jb21wdXRlZERpc2FibGVkXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogdGhpcy5pbnB1dE51bWJlclJlZi5uYXRpdmVGb2N1c2FibGVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgaXNOYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkgfHxcbiAgICAgICAgICAgIGlzTmF0aXZlRm9jdXNlZCh0aGlzLnNsaWRlclJlZj8ubmF0aXZlRWxlbWVudCB8fCBudWxsKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFN0ZXBzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0ZXBzIHx8ICh0aGlzLm1heCAtIHRoaXMubWluKSAvIHRoaXMucXVhbnR1bTtcbiAgICB9XG5cbiAgICBnZXQgcHJlY2lzaW9uKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBnZXRGcmFjdGlvblBhcnRQYWRkZWQodGhpcy5xdWFudHVtKS5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0IGRlY2ltYWwoKTogVHVpRGVjaW1hbFQge1xuICAgICAgICByZXR1cm4gdGhpcy5wcmVjaXNpb24gPyAnbm90LXplcm8nIDogJ25ldmVyJztcbiAgICB9XG5cbiAgICBnZXQgc2hvd1ZhbHVlQ29udGVudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4odGhpcy5jb21wdXRlZFZhbHVlQ29udGVudCAmJiAhdGhpcy5mb2N1c2VkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUT0RPIHJlbW92ZSBvbGQgcHJvcGVydHkgYHNpemVgIGluIHYzLjBcbiAgICAgKi9cbiAgICBnZXQgY29tcHV0ZWRTaXplKCk6IFR1aVNpemVMIHtcbiAgICAgICAgaWYgKHRoaXMuaXNOZXcpIHtcbiAgICAgICAgICAgIHR1aUFzc2VydC5hc3NlcnQoXG4gICAgICAgICAgICAgICAgdGhpcy5jb250cm9sbGVyLnNpemUgIT09ICdzJyxcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3F1b3Rlc1xuICAgICAgICAgICAgICAgIFwiU2l6ZSAncycgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGlucHV0LlwiLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5zaXplID09PSAnbCcgPyAnbCcgOiAnbSc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5zaXplO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4gICAgICogVE9ETyByZXBsYWNlIGJ5IGp1c3QgYHRoaXMudmFsdWVDb250ZW50YCBpbiB2My4wXG4gICAgICovXG4gICAgZ2V0IGNvbXB1dGVkVmFsdWVDb250ZW50KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1pbkxhYmVsIHx8IHRoaXMubWF4TGFiZWxcbiAgICAgICAgICAgID8gbGVnYWN5TWluTWF4TGFiZWwodGhpcylcbiAgICAgICAgICAgIDogdGhpcy52YWx1ZUNvbnRlbnQ7XG4gICAgfVxuXG4gICAgZm9jdXNUZXh0SW5wdXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZvY3VzYWJsZUVsZW1lbnQgPSB0aGlzLmlucHV0TnVtYmVyUmVmPy5uYXRpdmVGb2N1c2FibGVFbGVtZW50O1xuXG4gICAgICAgIGlmIChmb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKGZvY3VzYWJsZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2FmZWx5VXBkYXRlVmFsdWUodmFsdWU6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnZhbHVlR3VhcmQodmFsdWUgPz8gdGhpcy5zYWZlQ3VycmVudFZhbHVlKSk7XG4gICAgfVxuXG4gICAgb25WZXJ0aWNhbEFycm93S2V5RG93bihjb2VmZmljaWVudDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRPbmx5IHx8ICF0aGlzLnN0ZXApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZSArIGNvZWZmaWNpZW50ICogdGhpcy5zdGVwO1xuXG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zYWZlbHlVcGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVRleHRJbnB1dFZhbHVlKHRoaXMudmFsdWVHdWFyZCh2YWx1ZSkpO1xuICAgIH1cblxuICAgIG9uU2xpZGVyQ2hhbmdlKG5ld1ZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zYWZlbHlVcGRhdGVWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICAgIHRoaXMudXBkYXRlVGV4dElucHV0VmFsdWUodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgb25Gb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCB0ZXh0SW5wdXRWYWx1ZSwgc2FmZUN1cnJlbnRWYWx1ZSwgaW5wdXROdW1iZXJSZWZ9ID0gdGhpcztcblxuICAgICAgICBpZiAoIWZvY3VzZWQgJiYgdGV4dElucHV0VmFsdWUgIT09IGlucHV0TnVtYmVyUmVmPy5nZXRGb3JtYXR0ZWRWYWx1ZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGV4dElucHV0VmFsdWUodmFsdWUgPz8gc2FmZUN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgb25QcmVzc2VkKHByZXNzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVQcmVzc2VkKHByZXNzZWQpO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZChob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCB0ZXh0SW5wdXRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dE51bWJlclJlZj8ubmF0aXZlVmFsdWUgfHwgJyc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZhbGxiYWNrVmFsdWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHZhbHVlR3VhcmQodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHJvdW5kZWRWYWx1ZSA9IHJvdW5kKFxuICAgICAgICAgICAgTWF0aC5yb3VuZCh2YWx1ZSAvIHRoaXMucXVhbnR1bSkgKiB0aGlzLnF1YW50dW0sXG4gICAgICAgICAgICBUVUlfRkxPQVRJTkdfUFJFQ0lTSU9OLFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBjbGFtcChyb3VuZGVkVmFsdWUsIHRoaXMubWluLCB0aGlzLm1heCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUZXh0SW5wdXRWYWx1ZSh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlucHV0TnVtYmVyUmVmKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0TnVtYmVyUmVmLm5hdGl2ZVZhbHVlID1cbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0TnVtYmVyUmVmLmdldEZvcm1hdHRlZFZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZnVuY3Rpb24gcXVhbnR1bUFzc2VydGlvbihxdWFudHVtOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gcXVhbnR1bSA+IDA7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgaGVscGVyIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LlxuICogVE9ETyByZW1vdmUgaW4gdjMuMFxuICovXG5mdW5jdGlvbiBsZWdhY3lNaW5NYXhMYWJlbCh7XG4gICAgbWluLFxuICAgIG1heCxcbiAgICBtaW5MYWJlbCxcbiAgICBtYXhMYWJlbCxcbiAgICBpMThuUGx1cmFsLFxuICAgIHBsdXJhbGl6ZU1hcCxcbn06IFR1aUlucHV0U2xpZGVyQ29tcG9uZW50KTogKFxuICAgIGNvbnRleHQ6IFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8bnVtYmVyPixcbikgPT4gbnVtYmVyIHwgc3RyaW5nIHtcbiAgICByZXR1cm4gKHskaW1wbGljaXQ6IHZhbHVlfTogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+KSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlV2l0aFBsdXJhbCA9IGAke3ZhbHVlfSAke1xuICAgICAgICAgICAgcGx1cmFsaXplTWFwID8gaTE4blBsdXJhbC50cmFuc2Zvcm0odmFsdWUsIHBsdXJhbGl6ZU1hcCkgOiAnJ1xuICAgICAgICB9YDtcblxuICAgICAgICBzd2l0Y2ggKHZhbHVlKSB7XG4gICAgICAgICAgICBjYXNlIG1pbjpcbiAgICAgICAgICAgICAgICByZXR1cm4gbWluTGFiZWwgfHwgdmFsdWVXaXRoUGx1cmFsO1xuICAgICAgICAgICAgY2FzZSBtYXg6XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1heExhYmVsIHx8IHZhbHVlV2l0aFBsdXJhbDtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlV2l0aFBsdXJhbDtcbiAgICAgICAgfVxuICAgIH07XG59XG4iXX0=
@@ -6,4 +6,4 @@ export var TUI_INPUT_TAG_DEFAULT_OPTIONS = {
6
6
  export var TUI_INPUT_TAG_OPTIONS = new InjectionToken("Default parameters for input-tag", {
7
7
  factory: function () { return TUI_INPUT_TAG_DEFAULT_OPTIONS; },
8
8
  });
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFnLW9wdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtdGFnLyIsInNvdXJjZXMiOlsiaW5wdXQtdGFnLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQU83QyxNQUFNLENBQUMsSUFBTSw2QkFBNkIsR0FBdUI7SUFDN0QsU0FBUyxFQUFFLEdBQUc7SUFDZCxVQUFVLEVBQUUsSUFBSTtDQUNuQixDQUFDO0FBRUYsTUFBTSxDQUFDLElBQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQ25ELGtDQUFrQyxFQUNsQztJQUNJLE9BQU8sRUFBRSxjQUFNLE9BQUEsNkJBQTZCLEVBQTdCLENBQTZCO0NBQy9DLENBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUlucHV0VGFnT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgc2VwYXJhdG9yOiBzdHJpbmcgfCBSZWdFeHA7XG4gICAgcmVhZG9ubHkgdW5pcXVlVGFnczogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFRVSV9JTlBVVF9UQUdfREVGQVVMVF9PUFRJT05TOiBUdWlJbnB1dFRhZ09wdGlvbnMgPSB7XG4gICAgc2VwYXJhdG9yOiBgLGAsXG4gICAgdW5pcXVlVGFnczogdHJ1ZSxcbn07XG5cbmV4cG9ydCBjb25zdCBUVUlfSU5QVVRfVEFHX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48VHVpSW5wdXRUYWdPcHRpb25zPihcbiAgICBgRGVmYXVsdCBwYXJhbWV0ZXJzIGZvciBpbnB1dC10YWdgLFxuICAgIHtcbiAgICAgICAgZmFjdG9yeTogKCkgPT4gVFVJX0lOUFVUX1RBR19ERUZBVUxUX09QVElPTlMsXG4gICAgfSxcbik7XG4iXX0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFnLW9wdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtdGFnLyIsInNvdXJjZXMiOlsiaW5wdXQtdGFnLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQU83QyxNQUFNLENBQUMsSUFBTSw2QkFBNkIsR0FBdUI7SUFDN0QsU0FBUyxFQUFFLEdBQUc7SUFDZCxVQUFVLEVBQUUsSUFBSTtDQUNuQixDQUFDO0FBRUYsTUFBTSxDQUFDLElBQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQ25ELGtDQUFrQyxFQUNsQztJQUNJLE9BQU8sRUFBRSxjQUFNLE9BQUEsNkJBQTZCLEVBQTdCLENBQTZCO0NBQy9DLENBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUlucHV0VGFnT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgc2VwYXJhdG9yOiBSZWdFeHAgfCBzdHJpbmc7XG4gICAgcmVhZG9ubHkgdW5pcXVlVGFnczogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFRVSV9JTlBVVF9UQUdfREVGQVVMVF9PUFRJT05TOiBUdWlJbnB1dFRhZ09wdGlvbnMgPSB7XG4gICAgc2VwYXJhdG9yOiBgLGAsXG4gICAgdW5pcXVlVGFnczogdHJ1ZSxcbn07XG5cbmV4cG9ydCBjb25zdCBUVUlfSU5QVVRfVEFHX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48VHVpSW5wdXRUYWdPcHRpb25zPihcbiAgICBgRGVmYXVsdCBwYXJhbWV0ZXJzIGZvciBpbnB1dC10YWdgLFxuICAgIHtcbiAgICAgICAgZmFjdG9yeTogKCkgPT4gVFVJX0lOUFVUX1RBR19ERUZBVUxUX09QVElPTlMsXG4gICAgfSxcbik7XG4iXX0=
@@ -30,9 +30,9 @@ var TuiInputTagComponent = /** @class */ (function (_super) {
30
30
  // TODO: 3.0 Remove
31
31
  _this.allowSpaces = true;
32
32
  _this.separator = _this.options.separator;
33
- _this.icon = "";
34
- _this.iconAlign = "right";
35
- _this.search = "";
33
+ _this.icon = '';
34
+ _this.iconAlign = 'right';
35
+ _this.search = '';
36
36
  _this.editable = true;
37
37
  _this.tagValidator = ALWAYS_TRUE_HANDLER;
38
38
  _this.expandable = true;
@@ -90,7 +90,7 @@ var TuiInputTagComponent = /** @class */ (function (_super) {
90
90
  Object.defineProperty(TuiInputTagComponent.prototype, "labelOutside", {
91
91
  get: function () {
92
92
  var _a = this.controller, size = _a.size, labelOutside = _a.labelOutside;
93
- return size === "s" || labelOutside;
93
+ return size === 's' || labelOutside;
94
94
  },
95
95
  enumerable: true,
96
96
  configurable: true
@@ -151,14 +151,14 @@ var TuiInputTagComponent = /** @class */ (function (_super) {
151
151
  });
152
152
  Object.defineProperty(TuiInputTagComponent.prototype, "iconAlignLeft", {
153
153
  get: function () {
154
- return !!this.icon && this.iconAlign === "left";
154
+ return !!this.icon && this.iconAlign === 'left';
155
155
  },
156
156
  enumerable: true,
157
157
  configurable: true
158
158
  });
159
159
  Object.defineProperty(TuiInputTagComponent.prototype, "iconAlignRight", {
160
160
  get: function () {
161
- return !!this.icon && this.iconAlign === "right";
161
+ return !!this.icon && this.iconAlign === 'right';
162
162
  },
163
163
  enumerable: true,
164
164
  configurable: true
@@ -173,7 +173,7 @@ var TuiInputTagComponent = /** @class */ (function (_super) {
173
173
  Object.defineProperty(TuiInputTagComponent.prototype, "status", {
174
174
  get: function () {
175
175
  var _a;
176
- return ((_a = this.modeDirective) === null || _a === void 0 ? void 0 : _a.mode) ? "default" : this.tagStatus;
176
+ return ((_a = this.modeDirective) === null || _a === void 0 ? void 0 : _a.mode) ? 'default' : this.tagStatus;
177
177
  },
178
178
  enumerable: true,
179
179
  configurable: true
@@ -188,11 +188,11 @@ var TuiInputTagComponent = /** @class */ (function (_super) {
188
188
  TuiInputTagComponent.prototype.getLeftContent = function (tag) {
189
189
  return !this.tagValidator(tag) && this.errorIconTemplate
190
190
  ? this.errorIconTemplate
191
- : "";
191
+ : '';
192
192
  };
193
193
  TuiInputTagComponent.prototype.onCleanerClick = function () {
194
194
  var _a;
195
- this.updateSearch("");
195
+ this.updateSearch('');
196
196
  this.clear();
197
197
  this.focusInput();
198
198
  (_a = this.parentHostedDropdown) === null || _a === void 0 ? void 0 : _a.updateOpen(true);
@@ -268,7 +268,7 @@ var TuiInputTagComponent = /** @class */ (function (_super) {
268
268
  };
269
269
  TuiInputTagComponent.prototype.handleOption = function (item) {
270
270
  this.focusInput();
271
- this.updateSearch("");
271
+ this.updateSearch('');
272
272
  this.updateValue(this.value.concat(item));
273
273
  this.open = false;
274
274
  this.scrollToEnd$.next();
@@ -335,7 +335,7 @@ var TuiInputTagComponent = /** @class */ (function (_super) {
335
335
  return;
336
336
  }
337
337
  var nativeElement = scroller.browserScrollRef.nativeElement;
338
- var wheel$ = typedFromEvent(nativeElement, "wheel", { passive: false }).pipe(filter(function (event) { return event.deltaX === 0 && _this.shouldScroll(nativeElement); }), preventDefault(), map(function (_a) {
338
+ var wheel$ = typedFromEvent(nativeElement, 'wheel', { passive: false }).pipe(filter(function (event) { return event.deltaX === 0 && _this.shouldScroll(nativeElement); }), preventDefault(), map(function (_a) {
339
339
  var deltaY = _a.deltaY;
340
340
  return Math.max(nativeElement.scrollLeft + deltaY * EVENT_Y_TO_X_COEFFICIENT, 0);
341
341
  }));
@@ -361,7 +361,7 @@ var TuiInputTagComponent = /** @class */ (function (_super) {
361
361
  if (!inputValue || this.disabledItemHandler(inputValue)) {
362
362
  return;
363
363
  }
364
- this.updateSearch("");
364
+ this.updateSearch('');
365
365
  this.updateValue(this.value.concat(inputValue));
366
366
  };
367
367
  TuiInputTagComponent.prototype.deleteLastEnabledItem = function () {
@@ -397,16 +397,16 @@ var TuiInputTagComponent = /** @class */ (function (_super) {
397
397
  ViewChild(TuiHostedDropdownComponent)
398
398
  ], TuiInputTagComponent.prototype, "hostedDropdown", void 0);
399
399
  __decorate([
400
- ViewChild("focusableElement")
400
+ ViewChild('focusableElement')
401
401
  ], TuiInputTagComponent.prototype, "focusableElement", void 0);
402
402
  __decorate([
403
- ViewChild("tagsContainer")
403
+ ViewChild('tagsContainer')
404
404
  ], TuiInputTagComponent.prototype, "tagsContainer", void 0);
405
405
  __decorate([
406
- ViewChildren("tag", { read: ElementRef })
406
+ ViewChildren('tag', { read: ElementRef })
407
407
  ], TuiInputTagComponent.prototype, "tags", void 0);
408
408
  __decorate([
409
- ViewChild("cleaner", { read: ElementRef })
409
+ ViewChild('cleaner', { read: ElementRef })
410
410
  ], TuiInputTagComponent.prototype, "cleanerSvg", void 0);
411
411
  __decorate([
412
412
  ViewChild(TuiScrollbarComponent, { read: ElementRef })
@@ -441,7 +441,7 @@ var TuiInputTagComponent = /** @class */ (function (_super) {
441
441
  ], TuiInputTagComponent.prototype, "tagValidator", void 0);
442
442
  __decorate([
443
443
  Input(),
444
- HostBinding("class._expandable"),
444
+ HostBinding('class._expandable'),
445
445
  tuiDefaultProp()
446
446
  ], TuiInputTagComponent.prototype, "expandable", void 0);
447
447
  __decorate([
@@ -457,7 +457,7 @@ var TuiInputTagComponent = /** @class */ (function (_super) {
457
457
  tuiDefaultProp()
458
458
  ], TuiInputTagComponent.prototype, "disabledItemHandler", void 0);
459
459
  __decorate([
460
- Input("pseudoFocused")
460
+ Input('pseudoFocused')
461
461
  ], TuiInputTagComponent.prototype, "pseudoFocusedSetter", null);
462
462
  __decorate([
463
463
  Output()
@@ -466,20 +466,20 @@ var TuiInputTagComponent = /** @class */ (function (_super) {
466
466
  ContentChild(TuiDataListDirective, { read: TemplateRef })
467
467
  ], TuiInputTagComponent.prototype, "datalist", void 0);
468
468
  __decorate([
469
- ViewChild("errorIcon")
469
+ ViewChild('errorIcon')
470
470
  ], TuiInputTagComponent.prototype, "errorIconTemplate", void 0);
471
471
  __decorate([
472
472
  ViewChild(TuiScrollbarComponent)
473
473
  ], TuiInputTagComponent.prototype, "scrollerSetter", null);
474
474
  __decorate([
475
- HostBinding("attr.data-size")
475
+ HostBinding('attr.data-size')
476
476
  ], TuiInputTagComponent.prototype, "size", null);
477
477
  __decorate([
478
- HostBinding("class._label-outside")
478
+ HostBinding('class._label-outside')
479
479
  ], TuiInputTagComponent.prototype, "labelOutside", null);
480
480
  TuiInputTagComponent = TuiInputTagComponent_1 = __decorate([
481
481
  Component({
482
- selector: "tui-input-tag",
482
+ selector: 'tui-input-tag',
483
483
  changeDetection: ChangeDetectionStrategy.OnPush,
484
484
  template: "<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"canOpen\"\n [content]=\"datalist || ''\"\n [(open)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-wrapper\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n (tuiHoveredChange)=\"onHoveredChange($event)\"\n (mousedown)=\"onMouseDown($event)\"\n >\n <div class=\"t-content\">\n <div\n *ngIf=\"iconAlignLeft\"\n class=\"t-icons t-icons_left\"\n >\n <tui-svg\n class=\"t-icon\"\n [src]=\"icon\"\n ></tui-svg>\n </div>\n <div class=\"t-wrapper\">\n <div class=\"t-absolute-wrapper\">\n <div\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-input-tag__placeholder\"\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n <ng-content></ng-content>\n </div>\n </div>\n <tui-scrollbar\n *ngIf=\"!expandable; else items\"\n class=\"t-scrollbar\"\n [hidden]=\"true\"\n >\n <ng-container [ngTemplateOutlet]=\"items\"></ng-container>\n </tui-scrollbar>\n <ng-template #items>\n <div\n #tagsContainer\n class=\"t-tags\"\n >\n <ng-container *ngIf=\"labelOutside; else text\">\n <tui-tag\n *ngFor=\"let item of value; index as index; trackBy: trackByFn\"\n #tag\n automation-id=\"tui-input-tag__tag\"\n class=\"t-tag\"\n [status]=\"(status$ | async)!\"\n [leftContent]=\"getLeftContent(item)\"\n [allowSpaces]=\"allowSpaces\"\n [tuiFocusable]=\"false\"\n [disabled]=\"computedDisabled || disabledItemHandler(item)\"\n [editable]=\"editable && !readOnly\"\n [hoverable]=\"!readOnly\"\n [removable]=\"!readOnly\"\n [separator]=\"separator\"\n [maxLength]=\"controller.maxLength\"\n [size]=\"controller.size\"\n [value]=\"item.toString()\"\n (edited)=\"onTagEdited($event, index)\"\n (keydown.arrowLeft.prevent)=\"onTagKeyDownArrowLeft(index)\"\n (keydown.arrowRight.prevent)=\"onTagKeyDownArrowRight(index)\"\n ></tui-tag>\n </ng-container>\n <ng-template #text>\n <span\n *ngFor=\"let item of value\"\n class=\"t-text\"\n [class.t-text_disabled]=\"disabledItemHandler(item)\"\n [class.t-text_error]=\"!tagValidator(item)\"\n [textContent]=\"item\"\n ></span>\n </ng-template>\n <div\n class=\"t-input-wrapper\"\n [class.t-input-wrapper_collapsed]=\"computedDisabled || readOnly || inputHidden\"\n >\n <div class=\"t-ghost\">{{ search }}</div>\n <input\n #focusableElement\n type=\"text\"\n automation-id=\"tui-input-tag__native\"\n class=\"t-native\"\n [placeholder]=\"controller.exampleText\"\n [class.t-native_hidden]=\"inputHidden\"\n [attr.maxLength]=\"controller.maxLength\"\n [id]=\"id\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly || inputHidden\"\n [tuiFocusable]=\"computedFocusable\"\n [ngModel]=\"search\"\n (ngModelChange)=\"onInput($event)\"\n (keydown.arrowLeft)=\"onFieldKeyDownArrowLeft($event)\"\n (keydown.backspace)=\"onFieldKeyDownBackspace($event)\"\n (keydown.enter.prevent)=\"onFieldKeyDownEnter()\"\n />\n </div>\n </div>\n </ng-template>\n </div>\n <div\n *ngIf=\"hasRightIcons\"\n class=\"t-icons t-icons_right\"\n >\n <tui-svg\n *ngIf=\"hasCleaner\"\n #cleaner\n automation-id=\"tui-input-tag__cleaner\"\n src=\"tuiIconCloseLarge\"\n class=\"t-cleaner\"\n (click.stop)=\"onCleanerClick()\"\n ></tui-svg>\n <tui-tooltip\n *ngIf=\"hasTooltip\"\n automation-id=\"tui-input-tag__tooltip\"\n describeId=\"placeholer_until_accesibility_is_added\"\n class=\"t-tooltip\"\n [direction]=\"hintController.direction\"\n [mode]=\"hintController.mode\"\n [content]=\"hintController.content || ''\"\n [showDelay]=\"hintController.showDelay\"\n [hideDelay]=\"hintController.hideDelay\"\n ></tui-tooltip>\n <tui-svg\n *ngIf=\"iconAlignRight\"\n class=\"t-icon\"\n [src]=\"icon\"\n ></tui-svg>\n </div>\n </div>\n <ng-template #errorIcon>\n <tui-svg\n src=\"tuiIconAttention\"\n class=\"t-error-icon\"\n ></tui-svg>\n </ng-template>\n </tui-wrapper>\n</tui-hosted-dropdown>\n",
485
485
  providers: [
@@ -518,4 +518,4 @@ var TuiInputTagComponent = /** @class */ (function (_super) {
518
518
  return TuiInputTagComponent;
519
519
  }(AbstractTuiMultipleControl));
520
520
  export { TuiInputTagComponent };
521
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC10YWcvIiwic291cmNlcyI6WyJpbnB1dC10YWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sU0FBUyxFQUNULElBQUksRUFDSixXQUFXLEVBQ1gsU0FBUyxFQUNULFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILDBCQUEwQixFQUMxQixvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLFdBQVcsRUFDWCxlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBQzNCLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsc0JBQXNCLEVBQ3RCLGNBQWMsRUFDZCwyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ2hCLGNBQWMsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHdCQUF3QixFQUN4QixhQUFhLEVBQ2IsNkJBQTZCLEVBQzdCLGtCQUFrQixFQUNsQiwyQkFBMkIsRUFDM0IsUUFBUSxFQUNSLHdCQUF3QixFQUN4QixnQ0FBZ0MsRUFDaEMsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsMEJBQTBCLEVBQzFCLHNCQUFzQixFQUN0QiwwQkFBMEIsRUFDMUIsZ0JBQWdCLEVBQ2hCLHFCQUFxQixFQUNyQixRQUFRLEVBQ1IsUUFBUSxFQUNSLHNCQUFzQixHQUN6QixNQUFNLGdCQUFnQixDQUFDO0FB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LENBQUE7UUFDVixXQUFBLElBQUksRUFBRSxDQUFBO1FBQ04sV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7UUFFakIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUN6QixXQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBQ3hCLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2xCLFdBQUEsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFDaEMsV0FBQSxRQUFRLEVBQUUsQ0FBQTtRQUNWLFdBQUEsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUE7UUFFeEIsV0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFaEIsV0FBQSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUE7UUFDdEIsV0FBQSxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtRQUVuQyxXQUFBLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFBO1FBRXhDLFlBQUEsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUE7UUFFN0IsWUFBQSxRQUFRLEVBQUUsQ0FBQTtRQUNWLFlBQUEsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUE7T0F6SDlCLG9CQUFvQixDQW1jaEM7SUFBRCwyQkFBQztDQUFBLEFBbmNELENBQ1ksMEJBQTBCLEdBa2NyQztTQW5jWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTZWxmLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlNdWx0aXBsZUNvbnRyb2wsXG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgQUxXQVlTX1RSVUVfSEFORExFUixcbiAgICBFTVBUWV9RVUVSWSxcbiAgICBnZXRBY3R1YWxUYXJnZXQsXG4gICAgaXNOYXRpdmVGb2N1c2VkSW4sXG4gICAgcHJldmVudERlZmF1bHQsXG4gICAgc2V0TmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSxcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlTY3JvbGxTZXJ2aWNlLFxuICAgIHR5cGVkRnJvbUV2ZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgSElOVF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIE1PREVfUFJPVklERVIsXG4gICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVFVJX0RBVEFfTElTVF9IT1NULFxuICAgIFRVSV9ISU5UX1dBVENIRURfQ09OVFJPTExFUixcbiAgICBUVUlfTU9ERSxcbiAgICBUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UsXG4gICAgVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIsXG4gICAgVHVpQnJpZ2h0bmVzcyxcbiAgICBUdWlEYXRhTGlzdERpcmVjdGl2ZSxcbiAgICBUdWlEYXRhTGlzdEhvc3QsXG4gICAgVHVpSGludENvbnRyb2xsZXJEaXJlY3RpdmUsXG4gICAgVHVpSG9yaXpvbnRhbERpcmVjdGlvbixcbiAgICBUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudCxcbiAgICBUdWlNb2RlRGlyZWN0aXZlLFxuICAgIFR1aVNjcm9sbGJhckNvbXBvbmVudCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplUyxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aVN0cmluZ2lmaWFibGVJdGVtfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NsYXNzZXMnO1xuaW1wb3J0IHtBTExPV0VEX1NQQUNFX1JFR0VYUH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3RhZyc7XG5pbXBvcnQge0ZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvcHJvdmlkZXJzJztcbmltcG9ydCB7VFVJX1RBR19TVEFUVVN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7VHVpU3RhdHVzVH0gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge21lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIG1hcFRvLCBzd2l0Y2hNYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9UQUdfT1BUSU9OUywgVHVpSW5wdXRUYWdPcHRpb25zfSBmcm9tICcuL2lucHV0LXRhZy1vcHRpb25zJztcblxuY29uc3QgRVZFTlRfWV9UT19YX0NPRUZGSUNJRU5UID0gMztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktaW5wdXQtdGFnYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vaW5wdXQtdGFnLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL2lucHV0LXRhZy5zdHlsZS5sZXNzYF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0VGFnQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0RBVEFfTElTVF9IT1NULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRUYWdDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICBGSVhFRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgICAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICAgICAgSElOVF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgICAgICBNT0RFX1BST1ZJREVSLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0VGFnQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU11bHRpcGxlQ29udHJvbDxzdHJpbmc+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsIFR1aURhdGFMaXN0SG9zdDxzdHJpbmc+XG57XG4gICAgQFZpZXdDaGlsZChUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3RlZERyb3Bkb3duPzogVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKGBmb2N1c2FibGVFbGVtZW50YClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvY3VzYWJsZUVsZW1lbnQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZChgdGFnc0NvbnRhaW5lcmApXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YWdzQ29udGFpbmVyPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkcmVuKGB0YWdgLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YWdzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBAVmlld0NoaWxkKGBjbGVhbmVyYCwge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2xlYW5lclN2Zz86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZChUdWlTY3JvbGxiYXJDb21wb25lbnQsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjcm9sbEJhcj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGxUb1N0YXJ0JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGxUb0VuZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLy8gVE9ETzogMy4wIFJlbW92ZVxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhbGxvd1NwYWNlcyA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VwYXJhdG9yOiBzdHJpbmcgfCBSZWdFeHAgPSB0aGlzLm9wdGlvbnMuc2VwYXJhdG9yO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGljb24gPSBgYDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpY29uQWxpZ246IFR1aUhvcml6b250YWxEaXJlY3Rpb24gPSBgcmlnaHRgO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNlYXJjaCA9IGBgO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGVkaXRhYmxlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB0YWdWYWxpZGF0b3I6IFR1aUJvb2xlYW5IYW5kbGVyPHN0cmluZz4gPSBBTFdBWVNfVFJVRV9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLl9leHBhbmRhYmxlYClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGV4cGFuZGFibGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGlucHV0SGlkZGVuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdW5pcXVlVGFncyA9IHRoaXMub3B0aW9ucy51bmlxdWVUYWdzO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPHN0cmluZyB8IFR1aVN0cmluZ2lmaWFibGVJdGVtPGFueT4+ID1cbiAgICAgICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoYHBzZXVkb0ZvY3VzZWRgKVxuICAgIHNldCBwc2V1ZG9Gb2N1c2VkU2V0dGVyKHZhbHVlOiBib29sZWFuIHwgbnVsbCkge1xuICAgICAgICBpZiAoIXZhbHVlICYmICF0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9TdGFydCQubmV4dCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wc2V1ZG9Gb2N1c2VkID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgc2VhcmNoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKFR1aURhdGFMaXN0RGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHJlYWRvbmx5IGRhdGFsaXN0PzogVGVtcGxhdGVSZWY8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPj47XG5cbiAgICBAVmlld0NoaWxkKGBlcnJvckljb25gKVxuICAgIHJlYWRvbmx5IGVycm9ySWNvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuXG4gICAgQFZpZXdDaGlsZChUdWlTY3JvbGxiYXJDb21wb25lbnQpXG4gICAgc2V0IHNjcm9sbGVyU2V0dGVyKHNjcm9sbGVyOiBUdWlTY3JvbGxiYXJDb21wb25lbnQgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuaW5pdFNjcm9sbGVyU3Vic2NyaXB0aW9uKHNjcm9sbGVyKTtcbiAgICB9XG5cbiAgICBzdGF0dXMkOiBPYnNlcnZhYmxlPFR1aVN0YXR1c1Q+ID0gdGhpcy5tb2RlJC5waXBlKG1hcCgoKSA9PiB0aGlzLnN0YXR1cykpO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUdWlTY3JvbGxTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IHR1aVNjcm9sbFNlcnZpY2U6IFR1aVNjcm9sbFNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UpIHJlYWRvbmx5IGFwcGVhcmFuY2U6IHN0cmluZyxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlNb2RlRGlyZWN0aXZlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGVEaXJlY3RpdmU6IFR1aU1vZGVEaXJlY3RpdmUgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3MgfCBudWxsPixcbiAgICAgICAgQEluamVjdChUVUlfVEFHX1NUQVRVUykgcHJpdmF0ZSByZWFkb25seSB0YWdTdGF0dXM6IFR1aVN0YXR1c1QsXG4gICAgICAgIEBJbmplY3QoVFVJX0hJTlRfV0FUQ0hFRF9DT05UUk9MTEVSKVxuICAgICAgICByZWFkb25seSBoaW50Q29udHJvbGxlcjogVHVpSGludENvbnRyb2xsZXJEaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2xsZXI6IFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG4gICAgICAgIEBJbmplY3QoVFVJX0lOUFVUX1RBR19PUFRJT05TKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aUlucHV0VGFnT3B0aW9ucyxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwYXJlbnRIb3N0ZWREcm9wZG93bj86IFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50LFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMuZm9jdXNhYmxlRWxlbWVudCB8fCB0aGlzLmNvbXB1dGVkRGlzYWJsZWRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLmZvY3VzYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGlzTmF0aXZlRm9jdXNlZEluKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KSB8fFxuICAgICAgICAgICAgISF0aGlzLmhvc3RlZERyb3Bkb3duPy5mb2N1c2VkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKGBhdHRyLmRhdGEtc2l6ZWApXG4gICAgZ2V0IHNpemUoKTogVHVpU2l6ZUwgfCBUdWlTaXplUyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIuc2l6ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLl9sYWJlbC1vdXRzaWRlYClcbiAgICBnZXQgbGFiZWxPdXRzaWRlKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7c2l6ZSwgbGFiZWxPdXRzaWRlfSA9IHRoaXMuY29udHJvbGxlcjtcblxuICAgICAgICByZXR1cm4gc2l6ZSA9PT0gYHNgIHx8IGxhYmVsT3V0c2lkZTtcbiAgICB9XG5cbiAgICBnZXQgaGFzQ2xlYW5lcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5jbGVhbmVyICYmIHRoaXMuaGFzVmFsdWUgJiYgdGhpcy5pbnRlcmFjdGl2ZTtcbiAgICB9XG5cbiAgICBnZXQgaGFzTmF0aXZlVmFsdWUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuc2VhcmNoO1xuICAgIH1cblxuICAgIGdldCBoYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy52YWx1ZS5sZW5ndGggfHwgdGhpcy5oYXNOYXRpdmVWYWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgaGFzUGxhY2Vob2xkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhdGhpcy5sYWJlbE91dHNpZGUgfHxcbiAgICAgICAgICAgICghdGhpcy5oYXNWYWx1ZSAmJiAoIXRoaXMuaGFzRXhhbXBsZVRleHQgfHwgdGhpcy5pbnB1dEhpZGRlbikpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IHBsYWNlaG9sZGVyUmFpc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgIXRoaXMubGFiZWxPdXRzaWRlICYmXG4gICAgICAgICAgICAoKHRoaXMuY29tcHV0ZWRGb2N1c2VkICYmICF0aGlzLnJlYWRPbmx5KSB8fCB0aGlzLmhhc1ZhbHVlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBoYXNFeGFtcGxlVGV4dCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICEhdGhpcy5jb250cm9sbGVyLmV4YW1wbGVUZXh0ICYmXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkRm9jdXNlZCAmJlxuICAgICAgICAgICAgIXRoaXMuaGFzVmFsdWUgJiZcbiAgICAgICAgICAgICF0aGlzLnJlYWRPbmx5XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1Rvb2x0aXAoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuaGludENvbnRyb2xsZXIuY29udGVudCAmJiAhdGhpcy5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBnZXQgaWNvbkFsaWduTGVmdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5pY29uICYmIHRoaXMuaWNvbkFsaWduID09PSBgbGVmdGA7XG4gICAgfVxuXG4gICAgZ2V0IGljb25BbGlnblJpZ2h0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmljb24gJiYgdGhpcy5pY29uQWxpZ24gPT09IGByaWdodGA7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1JpZ2h0SWNvbnMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc0NsZWFuZXIgfHwgdGhpcy5oYXNUb29sdGlwIHx8IHRoaXMuaWNvbkFsaWduUmlnaHQ7XG4gICAgfVxuXG4gICAgZ2V0IHN0YXR1cygpOiBUdWlTdGF0dXNUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubW9kZURpcmVjdGl2ZT8ubW9kZSA/IGBkZWZhdWx0YCA6IHRoaXMudGFnU3RhdHVzO1xuICAgIH1cblxuICAgIGdldCBjYW5PcGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGl2ZSAmJiAhIXRoaXMuZGF0YWxpc3Q7XG4gICAgfVxuXG4gICAgZ2V0TGVmdENvbnRlbnQodGFnOiBzdHJpbmcpOiBQb2x5bW9ycGhldXNDb250ZW50IHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnRhZ1ZhbGlkYXRvcih0YWcpICYmIHRoaXMuZXJyb3JJY29uVGVtcGxhdGVcbiAgICAgICAgICAgID8gdGhpcy5lcnJvckljb25UZW1wbGF0ZVxuICAgICAgICAgICAgOiBgYDtcbiAgICB9XG5cbiAgICBvbkNsZWFuZXJDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2goYGApO1xuICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgICAgICB0aGlzLnBhcmVudEhvc3RlZERyb3Bkb3duPy51cGRhdGVPcGVuKHRydWUpO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShhY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuYWRkVGFnKCk7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChhY3RpdmUpO1xuXG4gICAgICAgIGlmICghdGhpcy5jb21wdXRlZEZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9TdGFydCQubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWN0dWFsVGFyZ2V0ID0gZ2V0QWN0dWFsVGFyZ2V0KGV2ZW50KTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5mb2N1c2FibGVFbGVtZW50IHx8XG4gICAgICAgICAgICBhY3R1YWxUYXJnZXQgPT09IHRoaXMuZm9jdXNhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50IHx8XG4gICAgICAgICAgICAvLyBUT0RPOiBpZnJhbWUgd2FybmluZ1xuICAgICAgICAgICAgIShldmVudC50YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50KSB8fFxuICAgICAgICAgICAgdGhpcy5jbGVhbmVyU3ZnPy5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkgfHxcbiAgICAgICAgICAgICh0aGlzLnRhZ3NDb250YWluZXIgJiZcbiAgICAgICAgICAgICAgICBhY3R1YWxUYXJnZXQgIT09IHRoaXMudGFnc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50ICYmXG4gICAgICAgICAgICAgICAgdGhpcy50YWdzQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoYWN0dWFsVGFyZ2V0KSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICB9XG5cbiAgICBvbkZpZWxkS2V5RG93bkJhY2tzcGFjZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmxhYmVsT3V0c2lkZSAmJiAhdGhpcy5oYXNOYXRpdmVWYWx1ZSAmJiB0aGlzLnZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5kZWxldGVMYXN0RW5hYmxlZEl0ZW0oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub25GaWVsZEtleURvd25BcnJvd0xlZnQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25GaWVsZEtleURvd25BcnJvd0xlZnQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5sYWJlbE91dHNpZGUgfHwgdGhpcy5oYXNOYXRpdmVWYWx1ZSB8fCAhdGhpcy52YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy50YWdzLmxhc3QubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgb25GaWVsZEtleURvd25FbnRlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hZGRUYWcoKTtcbiAgICAgICAgdGhpcy5zY3JvbGxUb0VuZCQubmV4dCgpO1xuICAgIH1cblxuICAgIG9uVGFnS2V5RG93bkFycm93TGVmdChjdXJyZW50SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoY3VycmVudEluZGV4ID4gMCkge1xuICAgICAgICAgICAgdGhpcy5vblNjcm9sbEtleURvd24oY3VycmVudEluZGV4LCAtMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblRhZ0tleURvd25BcnJvd1JpZ2h0KGN1cnJlbnRJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmIChjdXJyZW50SW5kZXggPT09IHRoaXMudmFsdWUubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uU2Nyb2xsS2V5RG93bihjdXJyZW50SW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25UYWdFZGl0ZWQodmFsdWU6IHN0cmluZywgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShcbiAgICAgICAgICAgIHRoaXMudmFsdWVcbiAgICAgICAgICAgICAgICAubWFwKCh0YWcsIHRhZ0luZGV4KSA9PlxuICAgICAgICAgICAgICAgICAgICB0YWdJbmRleCAhPT0gaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGFnXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3BsaXQodGhpcy5zZXBhcmF0b3IpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwKHRhZyA9PiB0YWcudHJpbSgpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihCb29sZWFuKSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnJlZHVjZTxzdHJpbmdbXT4oXG4gICAgICAgICAgICAgICAgICAgIChyZXN1bHQsIGl0ZW06IHN0cmluZyB8IHN0cmluZ1tdKSA9PiByZXN1bHQuY29uY2F0KGl0ZW0pLFxuICAgICAgICAgICAgICAgICAgICBbXSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGhhbmRsZU9wdGlvbihpdGVtOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKGBgKTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnZhbHVlLmNvbmNhdChpdGVtKSk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNjcm9sbFRvRW5kJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgb25JbnB1dCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFycmF5ID0gdGhpcy5hbGxvd1NwYWNlc1xuICAgICAgICAgICAgPyB2YWx1ZS5zcGxpdCh0aGlzLnNlcGFyYXRvcilcbiAgICAgICAgICAgIDogdmFsdWUuc3BsaXQoQUxMT1dFRF9TUEFDRV9SRUdFWFApO1xuICAgICAgICBjb25zdCB0YWdzID0gYXJyYXlcbiAgICAgICAgICAgIC5tYXAoaXRlbSA9PiBpdGVtLnRyaW0oKSlcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0sIGluZGV4LCB7bGVuZ3RofSkgPT4gaXRlbS5sZW5ndGggPiAwICYmIGluZGV4ICE9PSBsZW5ndGggLSAxKTtcbiAgICAgICAgY29uc3QgdmFsaWRhdGVkID0gdGFncy5maWx0ZXIodGFnID0+ICF0aGlzLmRpc2FibGVkSXRlbUhhbmRsZXIodGFnKSk7XG5cbiAgICAgICAgaWYgKGFycmF5Lmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKGFycmF5W2FycmF5Lmxlbmd0aCAtIDFdLnRyaW0oKSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFsuLi50aGlzLnZhbHVlLCAuLi52YWxpZGF0ZWRdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub3BlbiA9IHRoaXMuaGFzTmF0aXZlVmFsdWU7XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkQ2hhbmdlKGhvdmVyZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnNldERpc2FibGVkU3RhdGUoKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdHJhY2tCeUZuKF86IG51bWJlciwgdGFnOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICAvLyBBY3R1YWxseSB0YWcgaGFzIFR1aVN0cmluZ2lmaWFibGVJdGVtIHR5cGUgbm90IHN0cmluZ1xuICAgICAgICByZXR1cm4gdGFnLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZVZhbHVlKHZhbHVlOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWVuID0gbmV3IFNldCgpO1xuXG4gICAgICAgIHN1cGVyLnVwZGF0ZVZhbHVlKFxuICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgICAgICAgICAucmV2ZXJzZSgpXG4gICAgICAgICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgaXRlbSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgIXRoaXMudW5pcXVlVGFncyB8fCAoISFpdGVtICYmICFzZWVuLmhhcyhpdGVtKSAmJiBzZWVuLmFkZChpdGVtKSksXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5yZXZlcnNlKCksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblNjcm9sbEtleURvd24oY3VycmVudEluZGV4OiBudW1iZXIsIGZsYWc6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCB0YWcgPSB0aGlzLnRhZ3MuZmluZCgoX2l0ZW0sIGluZGV4KSA9PiBpbmRleCA9PT0gY3VycmVudEluZGV4ICsgZmxhZyk7XG5cbiAgICAgICAgaWYgKCF0YWcgfHwgIXRoaXMuc2Nyb2xsQmFyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRhZy5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBmbGFnICogdGhpcy5zY3JvbGxCYXIubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCAtXG4gICAgICAgICAgICAgICAgZmxhZyAqIHRhZy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLVxuICAgICAgICAgICAgICAgIHRhZy5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoIDxcbiAgICAgICAgICAgIDBcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbEJhci5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgKz1cbiAgICAgICAgICAgICAgICBmbGFnICogdGFnLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRTY3JvbGxlclN1YnNjcmlwdGlvbihzY3JvbGxlcjogVHVpU2Nyb2xsYmFyQ29tcG9uZW50IHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAoIXNjcm9sbGVyPy5icm93c2VyU2Nyb2xsUmVmKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7bmF0aXZlRWxlbWVudH0gPSBzY3JvbGxlci5icm93c2VyU2Nyb2xsUmVmO1xuXG4gICAgICAgIGNvbnN0IHdoZWVsJCA9IHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsIGB3aGVlbGAsIHtwYXNzaXZlOiBmYWxzZX0pLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQuZGVsdGFYID09PSAwICYmIHRoaXMuc2hvdWxkU2Nyb2xsKG5hdGl2ZUVsZW1lbnQpKSxcbiAgICAgICAgICAgIHByZXZlbnREZWZhdWx0KCksXG4gICAgICAgICAgICBtYXAoKHtkZWx0YVl9KSA9PlxuICAgICAgICAgICAgICAgIE1hdGgubWF4KG5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArIGRlbHRhWSAqIEVWRU5UX1lfVE9fWF9DT0VGRklDSUVOVCwgMCksXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBzdGFydCQgPSB0aGlzLnNjcm9sbFRvU3RhcnQkLnBpcGUobWFwVG8oMCkpO1xuICAgICAgICBjb25zdCBlbmQkID0gdGhpcy5zY3JvbGxUb0VuZCQucGlwZShtYXAoKCkgPT4gbmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aCkpO1xuXG4gICAgICAgIG1lcmdlKHdoZWVsJCwgc3RhcnQkLCBlbmQkKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKGxlZnQgPT4gdGhpcy50dWlTY3JvbGxTZXJ2aWNlLnNjcm9sbCQobmF0aXZlRWxlbWVudCwgMCwgbGVmdCkpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVNlYXJjaCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlYXJjaCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNlYXJjaENoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3VsZFNjcm9sbCh7c2Nyb2xsV2lkdGgsIG9mZnNldFdpZHRofTogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHNjcm9sbFdpZHRoID4gb2Zmc2V0V2lkdGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRUYWcoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlucHV0VmFsdWUgPSB0aGlzLnNlYXJjaC50cmltKCk7XG5cbiAgICAgICAgaWYgKCFpbnB1dFZhbHVlIHx8IHRoaXMuZGlzYWJsZWRJdGVtSGFuZGxlcihpbnB1dFZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2goYGApO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMudmFsdWUuY29uY2F0KGlucHV0VmFsdWUpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlbGV0ZUxhc3RFbmFibGVkSXRlbSgpOiB2b2lkIHtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSB0aGlzLnZhbHVlLmxlbmd0aCAtIDE7IGluZGV4ID49IDA7IGluZGV4LS0pIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kaXNhYmxlZEl0ZW1IYW5kbGVyKHRoaXMudmFsdWVbaW5kZXhdKSkge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUoW1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnZhbHVlLnNsaWNlKDAsIGluZGV4KSxcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy52YWx1ZS5zbGljZShpbmRleCArIDEsIHRoaXMudmFsdWUubGVuZ3RoKSxcbiAgICAgICAgICAgICAgICBdKTtcblxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KHByZXZlbnRTY3JvbGw6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCwgdHJ1ZSwgcHJldmVudFNjcm9sbCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
521
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC10YWcvIiwic291cmNlcyI6WyJpbnB1dC10YWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sU0FBUyxFQUNULElBQUksRUFDSixXQUFXLEVBQ1gsU0FBUyxFQUNULFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUNILDBCQUEwQixFQUMxQixvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLFdBQVcsRUFDWCxlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBQzNCLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsc0JBQXNCLEVBQ3RCLGNBQWMsRUFDZCwyQkFBMkIsRUFDM0IsZ0JBQWdCLEVBQ2hCLGNBQWMsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHdCQUF3QixFQUN4QixhQUFhLEVBQ2IsNkJBQTZCLEVBQzdCLGtCQUFrQixFQUNsQiwyQkFBMkIsRUFDM0IsUUFBUSxFQUNSLHdCQUF3QixFQUN4QixnQ0FBZ0MsRUFDaEMsYUFBYSxFQUNiLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsMEJBQTBCLEVBQzFCLHNCQUFzQixFQUN0QiwwQkFBMEIsRUFDMUIsZ0JBQWdCLEVBQ2hCLHFCQUFxQixFQUNyQixRQUFRLEVBQ1IsUUFBUSxFQUNSLHNCQUFzQixHQUN6QixNQUFNLGdCQUFnQixDQUFDO0FB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LENBQUE7UUFDVixXQUFBLElBQUksRUFBRSxDQUFBO1FBQ04sV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7UUFFakIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUN6QixXQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBQ3hCLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2xCLFdBQUEsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFDaEMsV0FBQSxRQUFRLEVBQUUsQ0FBQTtRQUNWLFdBQUEsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUE7UUFFeEIsV0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFaEIsV0FBQSxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUE7UUFDdEIsV0FBQSxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtRQUVuQyxXQUFBLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFBO1FBRXhDLFlBQUEsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUE7UUFFN0IsWUFBQSxRQUFRLEVBQUUsQ0FBQTtRQUNWLFlBQUEsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUE7T0F6SDlCLG9CQUFvQixDQW1jaEM7SUFBRCwyQkFBQztDQUFBLEFBbmNELENBQ1ksMEJBQTBCLEdBa2NyQztTQW5jWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTZWxmLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlNdWx0aXBsZUNvbnRyb2wsXG4gICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVIsXG4gICAgQUxXQVlTX1RSVUVfSEFORExFUixcbiAgICBFTVBUWV9RVUVSWSxcbiAgICBnZXRBY3R1YWxUYXJnZXQsXG4gICAgaXNOYXRpdmVGb2N1c2VkSW4sXG4gICAgcHJldmVudERlZmF1bHQsXG4gICAgc2V0TmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSxcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlTY3JvbGxTZXJ2aWNlLFxuICAgIHR5cGVkRnJvbUV2ZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgSElOVF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIE1PREVfUFJPVklERVIsXG4gICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgVFVJX0RBVEFfTElTVF9IT1NULFxuICAgIFRVSV9ISU5UX1dBVENIRURfQ09OVFJPTExFUixcbiAgICBUVUlfTU9ERSxcbiAgICBUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UsXG4gICAgVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIsXG4gICAgVHVpQnJpZ2h0bmVzcyxcbiAgICBUdWlEYXRhTGlzdERpcmVjdGl2ZSxcbiAgICBUdWlEYXRhTGlzdEhvc3QsXG4gICAgVHVpSGludENvbnRyb2xsZXJEaXJlY3RpdmUsXG4gICAgVHVpSG9yaXpvbnRhbERpcmVjdGlvbixcbiAgICBUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudCxcbiAgICBUdWlNb2RlRGlyZWN0aXZlLFxuICAgIFR1aVNjcm9sbGJhckNvbXBvbmVudCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplUyxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aVN0cmluZ2lmaWFibGVJdGVtfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NsYXNzZXMnO1xuaW1wb3J0IHtBTExPV0VEX1NQQUNFX1JFR0VYUH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3RhZyc7XG5pbXBvcnQge0ZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVJ9IGZyb20gJ0B0YWlnYS11aS9raXQvcHJvdmlkZXJzJztcbmltcG9ydCB7VFVJX1RBR19TVEFUVVN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7VHVpU3RhdHVzVH0gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge21lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIG1hcFRvLCBzd2l0Y2hNYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9UQUdfT1BUSU9OUywgVHVpSW5wdXRUYWdPcHRpb25zfSBmcm9tICcuL2lucHV0LXRhZy1vcHRpb25zJztcblxuY29uc3QgRVZFTlRfWV9UT19YX0NPRUZGSUNJRU5UID0gMztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtdGFnJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtdGFnLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LXRhZy5zdHlsZS5sZXNzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0VGFnQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0RBVEFfTElTVF9IT1NULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRUYWdDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICBGSVhFRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgICAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICAgICAgSElOVF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgICAgICBNT0RFX1BST1ZJREVSLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0VGFnQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU11bHRpcGxlQ29udHJvbDxzdHJpbmc+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsIFR1aURhdGFMaXN0SG9zdDxzdHJpbmc+XG57XG4gICAgQFZpZXdDaGlsZChUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3RlZERyb3Bkb3duPzogVHVpSG9zdGVkRHJvcGRvd25Db21wb25lbnQ7XG5cbiAgICBAVmlld0NoaWxkKCdmb2N1c2FibGVFbGVtZW50JylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvY3VzYWJsZUVsZW1lbnQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZCgndGFnc0NvbnRhaW5lcicpXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YWdzQ29udGFpbmVyPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkcmVuKCd0YWcnLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSB0YWdzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBAVmlld0NoaWxkKCdjbGVhbmVyJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2xlYW5lclN2Zz86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZChUdWlTY3JvbGxiYXJDb21wb25lbnQsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjcm9sbEJhcj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGxUb1N0YXJ0JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGxUb0VuZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLy8gVE9ETzogMy4wIFJlbW92ZVxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhbGxvd1NwYWNlcyA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2VwYXJhdG9yOiBSZWdFeHAgfCBzdHJpbmcgPSB0aGlzLm9wdGlvbnMuc2VwYXJhdG9yO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGljb24gPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBpY29uQWxpZ246IFR1aUhvcml6b250YWxEaXJlY3Rpb24gPSAncmlnaHQnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNlYXJjaCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGVkaXRhYmxlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB0YWdWYWxpZGF0b3I6IFR1aUJvb2xlYW5IYW5kbGVyPHN0cmluZz4gPSBBTFdBWVNfVFJVRV9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9leHBhbmRhYmxlJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGV4cGFuZGFibGUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGlucHV0SGlkZGVuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdW5pcXVlVGFncyA9IHRoaXMub3B0aW9ucy51bmlxdWVUYWdzO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRpc2FibGVkSXRlbUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aVN0cmluZ2lmaWFibGVJdGVtPGFueT4gfCBzdHJpbmc+ID1cbiAgICAgICAgQUxXQVlTX0ZBTFNFX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoJ3BzZXVkb0ZvY3VzZWQnKVxuICAgIHNldCBwc2V1ZG9Gb2N1c2VkU2V0dGVyKHZhbHVlOiBib29sZWFuIHwgbnVsbCkge1xuICAgICAgICBpZiAoIXZhbHVlICYmICF0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9TdGFydCQubmV4dCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wc2V1ZG9Gb2N1c2VkID0gdmFsdWU7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgc2VhcmNoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKFR1aURhdGFMaXN0RGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHJlYWRvbmx5IGRhdGFsaXN0PzogVGVtcGxhdGVSZWY8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlBY3RpdmVab25lRGlyZWN0aXZlPj47XG5cbiAgICBAVmlld0NoaWxkKCdlcnJvckljb24nKVxuICAgIHJlYWRvbmx5IGVycm9ySWNvblRlbXBsYXRlPzogVGVtcGxhdGVSZWY8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuXG4gICAgQFZpZXdDaGlsZChUdWlTY3JvbGxiYXJDb21wb25lbnQpXG4gICAgc2V0IHNjcm9sbGVyU2V0dGVyKHNjcm9sbGVyOiBUdWlTY3JvbGxiYXJDb21wb25lbnQgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuaW5pdFNjcm9sbGVyU3Vic2NyaXB0aW9uKHNjcm9sbGVyKTtcbiAgICB9XG5cbiAgICBzdGF0dXMkOiBPYnNlcnZhYmxlPFR1aVN0YXR1c1Q+ID0gdGhpcy5tb2RlJC5waXBlKG1hcCgoKSA9PiB0aGlzLnN0YXR1cykpO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUdWlTY3JvbGxTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IHR1aVNjcm9sbFNlcnZpY2U6IFR1aVNjcm9sbFNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UpIHJlYWRvbmx5IGFwcGVhcmFuY2U6IHN0cmluZyxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlNb2RlRGlyZWN0aXZlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGVEaXJlY3RpdmU6IFR1aU1vZGVEaXJlY3RpdmUgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGUkOiBPYnNlcnZhYmxlPFR1aUJyaWdodG5lc3MgfCBudWxsPixcbiAgICAgICAgQEluamVjdChUVUlfVEFHX1NUQVRVUykgcHJpdmF0ZSByZWFkb25seSB0YWdTdGF0dXM6IFR1aVN0YXR1c1QsXG4gICAgICAgIEBJbmplY3QoVFVJX0hJTlRfV0FUQ0hFRF9DT05UUk9MTEVSKVxuICAgICAgICByZWFkb25seSBoaW50Q29udHJvbGxlcjogVHVpSGludENvbnRyb2xsZXJEaXJlY3RpdmUsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2xsZXI6IFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG4gICAgICAgIEBJbmplY3QoVFVJX0lOUFVUX1RBR19PUFRJT05TKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aUlucHV0VGFnT3B0aW9ucyxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlIb3N0ZWREcm9wZG93bkNvbXBvbmVudClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwYXJlbnRIb3N0ZWREcm9wZG93bj86IFR1aUhvc3RlZERyb3Bkb3duQ29tcG9uZW50LFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMuZm9jdXNhYmxlRWxlbWVudCB8fCB0aGlzLmNvbXB1dGVkRGlzYWJsZWRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLmZvY3VzYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGlzTmF0aXZlRm9jdXNlZEluKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KSB8fFxuICAgICAgICAgICAgISF0aGlzLmhvc3RlZERyb3Bkb3duPy5mb2N1c2VkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gICAgZ2V0IHNpemUoKTogVHVpU2l6ZUwgfCBUdWlTaXplUyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xsZXIuc2l6ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9sYWJlbC1vdXRzaWRlJylcbiAgICBnZXQgbGFiZWxPdXRzaWRlKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB7c2l6ZSwgbGFiZWxPdXRzaWRlfSA9IHRoaXMuY29udHJvbGxlcjtcblxuICAgICAgICByZXR1cm4gc2l6ZSA9PT0gJ3MnIHx8IGxhYmVsT3V0c2lkZTtcbiAgICB9XG5cbiAgICBnZXQgaGFzQ2xlYW5lcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udHJvbGxlci5jbGVhbmVyICYmIHRoaXMuaGFzVmFsdWUgJiYgdGhpcy5pbnRlcmFjdGl2ZTtcbiAgICB9XG5cbiAgICBnZXQgaGFzTmF0aXZlVmFsdWUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuc2VhcmNoO1xuICAgIH1cblxuICAgIGdldCBoYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy52YWx1ZS5sZW5ndGggfHwgdGhpcy5oYXNOYXRpdmVWYWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgaGFzUGxhY2Vob2xkZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhdGhpcy5sYWJlbE91dHNpZGUgfHxcbiAgICAgICAgICAgICghdGhpcy5oYXNWYWx1ZSAmJiAoIXRoaXMuaGFzRXhhbXBsZVRleHQgfHwgdGhpcy5pbnB1dEhpZGRlbikpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IHBsYWNlaG9sZGVyUmFpc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgIXRoaXMubGFiZWxPdXRzaWRlICYmXG4gICAgICAgICAgICAoKHRoaXMuY29tcHV0ZWRGb2N1c2VkICYmICF0aGlzLnJlYWRPbmx5KSB8fCB0aGlzLmhhc1ZhbHVlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBoYXNFeGFtcGxlVGV4dCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICEhdGhpcy5jb250cm9sbGVyLmV4YW1wbGVUZXh0ICYmXG4gICAgICAgICAgICB0aGlzLmNvbXB1dGVkRm9jdXNlZCAmJlxuICAgICAgICAgICAgIXRoaXMuaGFzVmFsdWUgJiZcbiAgICAgICAgICAgICF0aGlzLnJlYWRPbmx5XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1Rvb2x0aXAoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuaGludENvbnRyb2xsZXIuY29udGVudCAmJiAhdGhpcy5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBnZXQgaWNvbkFsaWduTGVmdCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5pY29uICYmIHRoaXMuaWNvbkFsaWduID09PSAnbGVmdCc7XG4gICAgfVxuXG4gICAgZ2V0IGljb25BbGlnblJpZ2h0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmljb24gJiYgdGhpcy5pY29uQWxpZ24gPT09ICdyaWdodCc7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1JpZ2h0SWNvbnMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc0NsZWFuZXIgfHwgdGhpcy5oYXNUb29sdGlwIHx8IHRoaXMuaWNvbkFsaWduUmlnaHQ7XG4gICAgfVxuXG4gICAgZ2V0IHN0YXR1cygpOiBUdWlTdGF0dXNUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubW9kZURpcmVjdGl2ZT8ubW9kZSA/ICdkZWZhdWx0JyA6IHRoaXMudGFnU3RhdHVzO1xuICAgIH1cblxuICAgIGdldCBjYW5PcGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGl2ZSAmJiAhIXRoaXMuZGF0YWxpc3Q7XG4gICAgfVxuXG4gICAgZ2V0TGVmdENvbnRlbnQodGFnOiBzdHJpbmcpOiBQb2x5bW9ycGhldXNDb250ZW50IHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnRhZ1ZhbGlkYXRvcih0YWcpICYmIHRoaXMuZXJyb3JJY29uVGVtcGxhdGVcbiAgICAgICAgICAgID8gdGhpcy5lcnJvckljb25UZW1wbGF0ZVxuICAgICAgICAgICAgOiAnJztcbiAgICB9XG5cbiAgICBvbkNsZWFuZXJDbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2goJycpO1xuICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgICAgICB0aGlzLnBhcmVudEhvc3RlZERyb3Bkb3duPy51cGRhdGVPcGVuKHRydWUpO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShhY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuYWRkVGFnKCk7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChhY3RpdmUpO1xuXG4gICAgICAgIGlmICghdGhpcy5jb21wdXRlZEZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9TdGFydCQubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWN0dWFsVGFyZ2V0ID0gZ2V0QWN0dWFsVGFyZ2V0KGV2ZW50KTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5mb2N1c2FibGVFbGVtZW50IHx8XG4gICAgICAgICAgICBhY3R1YWxUYXJnZXQgPT09IHRoaXMuZm9jdXNhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50IHx8XG4gICAgICAgICAgICAvLyBUT0RPOiBpZnJhbWUgd2FybmluZ1xuICAgICAgICAgICAgIShldmVudC50YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50KSB8fFxuICAgICAgICAgICAgdGhpcy5jbGVhbmVyU3ZnPy5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkgfHxcbiAgICAgICAgICAgICh0aGlzLnRhZ3NDb250YWluZXIgJiZcbiAgICAgICAgICAgICAgICBhY3R1YWxUYXJnZXQgIT09IHRoaXMudGFnc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50ICYmXG4gICAgICAgICAgICAgICAgdGhpcy50YWdzQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoYWN0dWFsVGFyZ2V0KSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICB9XG5cbiAgICBvbkZpZWxkS2V5RG93bkJhY2tzcGFjZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmxhYmVsT3V0c2lkZSAmJiAhdGhpcy5oYXNOYXRpdmVWYWx1ZSAmJiB0aGlzLnZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5kZWxldGVMYXN0RW5hYmxlZEl0ZW0oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub25GaWVsZEtleURvd25BcnJvd0xlZnQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25GaWVsZEtleURvd25BcnJvd0xlZnQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5sYWJlbE91dHNpZGUgfHwgdGhpcy5oYXNOYXRpdmVWYWx1ZSB8fCAhdGhpcy52YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy50YWdzLmxhc3QubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgb25GaWVsZEtleURvd25FbnRlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hZGRUYWcoKTtcbiAgICAgICAgdGhpcy5zY3JvbGxUb0VuZCQubmV4dCgpO1xuICAgIH1cblxuICAgIG9uVGFnS2V5RG93bkFycm93TGVmdChjdXJyZW50SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoY3VycmVudEluZGV4ID4gMCkge1xuICAgICAgICAgICAgdGhpcy5vblNjcm9sbEtleURvd24oY3VycmVudEluZGV4LCAtMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblRhZ0tleURvd25BcnJvd1JpZ2h0KGN1cnJlbnRJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmIChjdXJyZW50SW5kZXggPT09IHRoaXMudmFsdWUubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uU2Nyb2xsS2V5RG93bihjdXJyZW50SW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25UYWdFZGl0ZWQodmFsdWU6IHN0cmluZywgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShcbiAgICAgICAgICAgIHRoaXMudmFsdWVcbiAgICAgICAgICAgICAgICAubWFwKCh0YWcsIHRhZ0luZGV4KSA9PlxuICAgICAgICAgICAgICAgICAgICB0YWdJbmRleCAhPT0gaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGFnXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3BsaXQodGhpcy5zZXBhcmF0b3IpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwKHRhZyA9PiB0YWcudHJpbSgpKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihCb29sZWFuKSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnJlZHVjZTxzdHJpbmdbXT4oXG4gICAgICAgICAgICAgICAgICAgIChyZXN1bHQsIGl0ZW06IHN0cmluZ1tdIHwgc3RyaW5nKSA9PiByZXN1bHQuY29uY2F0KGl0ZW0pLFxuICAgICAgICAgICAgICAgICAgICBbXSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGhhbmRsZU9wdGlvbihpdGVtOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XG4gICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKCcnKTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnZhbHVlLmNvbmNhdChpdGVtKSk7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNjcm9sbFRvRW5kJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgb25JbnB1dCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFycmF5ID0gdGhpcy5hbGxvd1NwYWNlc1xuICAgICAgICAgICAgPyB2YWx1ZS5zcGxpdCh0aGlzLnNlcGFyYXRvcilcbiAgICAgICAgICAgIDogdmFsdWUuc3BsaXQoQUxMT1dFRF9TUEFDRV9SRUdFWFApO1xuICAgICAgICBjb25zdCB0YWdzID0gYXJyYXlcbiAgICAgICAgICAgIC5tYXAoaXRlbSA9PiBpdGVtLnRyaW0oKSlcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0sIGluZGV4LCB7bGVuZ3RofSkgPT4gaXRlbS5sZW5ndGggPiAwICYmIGluZGV4ICE9PSBsZW5ndGggLSAxKTtcbiAgICAgICAgY29uc3QgdmFsaWRhdGVkID0gdGFncy5maWx0ZXIodGFnID0+ICF0aGlzLmRpc2FibGVkSXRlbUhhbmRsZXIodGFnKSk7XG5cbiAgICAgICAgaWYgKGFycmF5Lmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKGFycmF5W2FycmF5Lmxlbmd0aCAtIDFdLnRyaW0oKSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFsuLi50aGlzLnZhbHVlLCAuLi52YWxpZGF0ZWRdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2VhcmNoKHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub3BlbiA9IHRoaXMuaGFzTmF0aXZlVmFsdWU7XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkQ2hhbmdlKGhvdmVyZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnNldERpc2FibGVkU3RhdGUoKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdHJhY2tCeUZuKF86IG51bWJlciwgdGFnOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICAvLyBBY3R1YWxseSB0YWcgaGFzIFR1aVN0cmluZ2lmaWFibGVJdGVtIHR5cGUgbm90IHN0cmluZ1xuICAgICAgICByZXR1cm4gdGFnLnRvU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHVwZGF0ZVZhbHVlKHZhbHVlOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWVuID0gbmV3IFNldCgpO1xuXG4gICAgICAgIHN1cGVyLnVwZGF0ZVZhbHVlKFxuICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgICAgICAgICAucmV2ZXJzZSgpXG4gICAgICAgICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgaXRlbSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgIXRoaXMudW5pcXVlVGFncyB8fCAoISFpdGVtICYmICFzZWVuLmhhcyhpdGVtKSAmJiBzZWVuLmFkZChpdGVtKSksXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5yZXZlcnNlKCksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblNjcm9sbEtleURvd24oY3VycmVudEluZGV4OiBudW1iZXIsIGZsYWc6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCB0YWcgPSB0aGlzLnRhZ3MuZmluZCgoX2l0ZW0sIGluZGV4KSA9PiBpbmRleCA9PT0gY3VycmVudEluZGV4ICsgZmxhZyk7XG5cbiAgICAgICAgaWYgKCF0YWcgfHwgIXRoaXMuc2Nyb2xsQmFyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRhZy5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBmbGFnICogdGhpcy5zY3JvbGxCYXIubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCAtXG4gICAgICAgICAgICAgICAgZmxhZyAqIHRhZy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLVxuICAgICAgICAgICAgICAgIHRhZy5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoIDxcbiAgICAgICAgICAgIDBcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbEJhci5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgKz1cbiAgICAgICAgICAgICAgICBmbGFnICogdGFnLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRTY3JvbGxlclN1YnNjcmlwdGlvbihzY3JvbGxlcjogVHVpU2Nyb2xsYmFyQ29tcG9uZW50IHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAoIXNjcm9sbGVyPy5icm93c2VyU2Nyb2xsUmVmKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7bmF0aXZlRWxlbWVudH0gPSBzY3JvbGxlci5icm93c2VyU2Nyb2xsUmVmO1xuXG4gICAgICAgIGNvbnN0IHdoZWVsJCA9IHR5cGVkRnJvbUV2ZW50KG5hdGl2ZUVsZW1lbnQsICd3aGVlbCcsIHtwYXNzaXZlOiBmYWxzZX0pLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQuZGVsdGFYID09PSAwICYmIHRoaXMuc2hvdWxkU2Nyb2xsKG5hdGl2ZUVsZW1lbnQpKSxcbiAgICAgICAgICAgIHByZXZlbnREZWZhdWx0KCksXG4gICAgICAgICAgICBtYXAoKHtkZWx0YVl9KSA9PlxuICAgICAgICAgICAgICAgIE1hdGgubWF4KG5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArIGRlbHRhWSAqIEVWRU5UX1lfVE9fWF9DT0VGRklDSUVOVCwgMCksXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBzdGFydCQgPSB0aGlzLnNjcm9sbFRvU3RhcnQkLnBpcGUobWFwVG8oMCkpO1xuICAgICAgICBjb25zdCBlbmQkID0gdGhpcy5zY3JvbGxUb0VuZCQucGlwZShtYXAoKCkgPT4gbmF0aXZlRWxlbWVudC5zY3JvbGxXaWR0aCkpO1xuXG4gICAgICAgIG1lcmdlKHdoZWVsJCwgc3RhcnQkLCBlbmQkKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKGxlZnQgPT4gdGhpcy50dWlTY3JvbGxTZXJ2aWNlLnNjcm9sbCQobmF0aXZlRWxlbWVudCwgMCwgbGVmdCkpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVNlYXJjaCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlYXJjaCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNlYXJjaENoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3VsZFNjcm9sbCh7c2Nyb2xsV2lkdGgsIG9mZnNldFdpZHRofTogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHNjcm9sbFdpZHRoID4gb2Zmc2V0V2lkdGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRUYWcoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlucHV0VmFsdWUgPSB0aGlzLnNlYXJjaC50cmltKCk7XG5cbiAgICAgICAgaWYgKCFpbnB1dFZhbHVlIHx8IHRoaXMuZGlzYWJsZWRJdGVtSGFuZGxlcihpbnB1dFZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVTZWFyY2goJycpO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMudmFsdWUuY29uY2F0KGlucHV0VmFsdWUpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlbGV0ZUxhc3RFbmFibGVkSXRlbSgpOiB2b2lkIHtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSB0aGlzLnZhbHVlLmxlbmd0aCAtIDE7IGluZGV4ID49IDA7IGluZGV4LS0pIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kaXNhYmxlZEl0ZW1IYW5kbGVyKHRoaXMudmFsdWVbaW5kZXhdKSkge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUoW1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnZhbHVlLnNsaWNlKDAsIGluZGV4KSxcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy52YWx1ZS5zbGljZShpbmRleCArIDEsIHRoaXMudmFsdWUubGVuZ3RoKSxcbiAgICAgICAgICAgICAgICBdKTtcblxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KHByZXZlbnRTY3JvbGw6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCwgdHJ1ZSwgcHJldmVudFNjcm9sbCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -20,4 +20,4 @@ export var tuiInputTimeOptionsProvider = function (options) { return ({
20
20
  provide: TUI_INPUT_TIME_OPTIONS,
21
21
  useValue: __assign(__assign({}, TUI_INPUT_TIME_DEFAULT_OPTIONS), options),
22
22
  }); };
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGltZS1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXRpbWUvIiwic291cmNlcyI6WyJpbnB1dC10aW1lLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBRzVELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQWtCeEQsc0NBQXNDO0FBQ3RDLE1BQU0sQ0FBQyxJQUFNLGVBQWUsR0FBRyxVQUFDLEVBRWM7UUFEMUMsd0JBQVM7SUFFVCxPQUFBLFNBQVMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsa0JBQWtCO0FBQXRELENBQXNELENBQUM7QUFFM0QsTUFBTSxDQUFDLElBQU0sOEJBQThCLEdBQXdCO0lBQy9ELElBQUksRUFBRSxlQUFlO0lBQ3JCLElBQUksRUFBRSxPQUFPO0lBQ2IsT0FBTyxFQUFFLEVBQUU7SUFDWCxTQUFTLEVBQUUsZUFBZTtJQUMxQixRQUFRLEVBQUUsR0FBRztDQUNoQixDQUFDO0FBRUYsTUFBTSxDQUFDLElBQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQ3BELDZDQUE2QyxFQUM3QztJQUNJLE9BQU8sRUFBRSxjQUFNLE9BQUEsOEJBQThCLEVBQTlCLENBQThCO0NBQ2hELENBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLDJCQUEyQixHQUVuQixVQUFDLE9BQXFDLElBQUssT0FBQSxDQUFDO0lBQzdELE9BQU8sRUFBRSxzQkFBc0I7SUFDL0IsUUFBUSx3QkFBTSw4QkFBOEIsR0FBSyxPQUFPLENBQUM7Q0FDNUQsQ0FBQyxFQUg4RCxDQUc5RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbiwgVmFsdWVQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUNvbnRleHRXaXRoSW1wbGljaXQsIFR1aVRpbWVNb2RlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpU2l6ZUwsIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge01BWF9USU1FX1ZBTFVFU30gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlUaW1lRm9ybWF0UGFydHN9IGZyb20gJ0B0YWlnYS11aS9raXQvdHlwZXMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUlucHV0VGltZU9wdGlvbnMge1xuICAgIHJlYWRvbmx5IGljb246IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlTaXplUyB8IFR1aVNpemVMPj47XG4gICAgcmVhZG9ubHkgbW9kZTogVHVpVGltZU1vZGU7XG4gICAgcmVhZG9ubHkgcG9zdGZpeDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IG1heFZhbHVlczogUmVjb3JkPFR1aVRpbWVGb3JtYXRQYXJ0cywgbnVtYmVyPjtcbiAgICByZWFkb25seSBpdGVtU2l6ZTogVHVpU2l6ZVMgfCBUdWlTaXplTDtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZDogdXNlIFR1aUlucHV0VGltZU9wdGlvbnMgaW5zdGVhZFxuICogdG9kbzogcmVtb3ZlIGluIDMuMFxuICovXG5leHBvcnQgdHlwZSBJbnB1dFRpbWVPcHRpb25zID0gVHVpSW5wdXRUaW1lT3B0aW9ucztcblxuLy8gVE9ETzogMy4wIHJlbW92ZSBpbiBpdnkgY29tcGlsYXRpb25cbmV4cG9ydCBjb25zdCBJTlBVVF9USU1FX0lDT04gPSAoe1xuICAgICRpbXBsaWNpdCxcbn06IFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpU2l6ZVMgfCBUdWlTaXplTD4pOiBzdHJpbmcgPT5cbiAgICAkaW1wbGljaXQgPT09IGBzYCA/IGB0dWlJY29uVGltZWAgOiBgdHVpSWNvblRpbWVMYXJnZWA7XG5cbmV4cG9ydCBjb25zdCBUVUlfSU5QVVRfVElNRV9ERUZBVUxUX09QVElPTlM6IFR1aUlucHV0VGltZU9wdGlvbnMgPSB7XG4gICAgaWNvbjogSU5QVVRfVElNRV9JQ09OLFxuICAgIG1vZGU6IGBISDpNTWAsXG4gICAgcG9zdGZpeDogYGAsXG4gICAgbWF4VmFsdWVzOiBNQVhfVElNRV9WQUxVRVMsXG4gICAgaXRlbVNpemU6IGBtYCxcbn07XG5cbmV4cG9ydCBjb25zdCBUVUlfSU5QVVRfVElNRV9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPFR1aUlucHV0VGltZU9wdGlvbnM+KFxuICAgIGBEZWZhdWx0IHBhcmFtZXRlcnMgZm9yIGlucHV0IHRpbWUgY29tcG9uZW50YCxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IFRVSV9JTlBVVF9USU1FX0RFRkFVTFRfT1BUSU9OUyxcbiAgICB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IHR1aUlucHV0VGltZU9wdGlvbnNQcm92aWRlcjogKFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8VHVpSW5wdXRUaW1lT3B0aW9ucz4sXG4pID0+IFZhbHVlUHJvdmlkZXIgPSAob3B0aW9uczogUGFydGlhbDxUdWlJbnB1dFRpbWVPcHRpb25zPikgPT4gKHtcbiAgICBwcm92aWRlOiBUVUlfSU5QVVRfVElNRV9PUFRJT05TLFxuICAgIHVzZVZhbHVlOiB7Li4uVFVJX0lOUFVUX1RJTUVfREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zfSxcbn0pO1xuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGltZS1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXRpbWUvIiwic291cmNlcyI6WyJpbnB1dC10aW1lLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBRzVELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQWtCeEQsc0NBQXNDO0FBQ3RDLE1BQU0sQ0FBQyxJQUFNLGVBQWUsR0FBRyxVQUFDLEVBRWM7UUFEMUMsd0JBQVM7SUFFVCxPQUFBLFNBQVMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsa0JBQWtCO0FBQXRELENBQXNELENBQUM7QUFFM0QsTUFBTSxDQUFDLElBQU0sOEJBQThCLEdBQXdCO0lBQy9ELElBQUksRUFBRSxlQUFlO0lBQ3JCLElBQUksRUFBRSxPQUFPO0lBQ2IsT0FBTyxFQUFFLEVBQUU7SUFDWCxTQUFTLEVBQUUsZUFBZTtJQUMxQixRQUFRLEVBQUUsR0FBRztDQUNoQixDQUFDO0FBRUYsTUFBTSxDQUFDLElBQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQ3BELDZDQUE2QyxFQUM3QztJQUNJLE9BQU8sRUFBRSxjQUFNLE9BQUEsOEJBQThCLEVBQTlCLENBQThCO0NBQ2hELENBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLDJCQUEyQixHQUVuQixVQUFDLE9BQXFDLElBQUssT0FBQSxDQUFDO0lBQzdELE9BQU8sRUFBRSxzQkFBc0I7SUFDL0IsUUFBUSx3QkFBTSw4QkFBOEIsR0FBSyxPQUFPLENBQUM7Q0FDNUQsQ0FBQyxFQUg4RCxDQUc5RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbiwgVmFsdWVQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUNvbnRleHRXaXRoSW1wbGljaXQsIFR1aVRpbWVNb2RlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpU2l6ZUwsIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge01BWF9USU1FX1ZBTFVFU30gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlUaW1lRm9ybWF0UGFydHN9IGZyb20gJ0B0YWlnYS11aS9raXQvdHlwZXMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUlucHV0VGltZU9wdGlvbnMge1xuICAgIHJlYWRvbmx5IGljb246IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxUdWlTaXplTCB8IFR1aVNpemVTPj47XG4gICAgcmVhZG9ubHkgbW9kZTogVHVpVGltZU1vZGU7XG4gICAgcmVhZG9ubHkgcG9zdGZpeDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IG1heFZhbHVlczogUmVjb3JkPFR1aVRpbWVGb3JtYXRQYXJ0cywgbnVtYmVyPjtcbiAgICByZWFkb25seSBpdGVtU2l6ZTogVHVpU2l6ZUwgfCBUdWlTaXplUztcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZDogdXNlIFR1aUlucHV0VGltZU9wdGlvbnMgaW5zdGVhZFxuICogdG9kbzogcmVtb3ZlIGluIDMuMFxuICovXG5leHBvcnQgdHlwZSBJbnB1dFRpbWVPcHRpb25zID0gVHVpSW5wdXRUaW1lT3B0aW9ucztcblxuLy8gVE9ETzogMy4wIHJlbW92ZSBpbiBpdnkgY29tcGlsYXRpb25cbmV4cG9ydCBjb25zdCBJTlBVVF9USU1FX0lDT04gPSAoe1xuICAgICRpbXBsaWNpdCxcbn06IFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8VHVpU2l6ZUwgfCBUdWlTaXplUz4pOiBzdHJpbmcgPT5cbiAgICAkaW1wbGljaXQgPT09IGBzYCA/IGB0dWlJY29uVGltZWAgOiBgdHVpSWNvblRpbWVMYXJnZWA7XG5cbmV4cG9ydCBjb25zdCBUVUlfSU5QVVRfVElNRV9ERUZBVUxUX09QVElPTlM6IFR1aUlucHV0VGltZU9wdGlvbnMgPSB7XG4gICAgaWNvbjogSU5QVVRfVElNRV9JQ09OLFxuICAgIG1vZGU6IGBISDpNTWAsXG4gICAgcG9zdGZpeDogYGAsXG4gICAgbWF4VmFsdWVzOiBNQVhfVElNRV9WQUxVRVMsXG4gICAgaXRlbVNpemU6IGBtYCxcbn07XG5cbmV4cG9ydCBjb25zdCBUVUlfSU5QVVRfVElNRV9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPFR1aUlucHV0VGltZU9wdGlvbnM+KFxuICAgIGBEZWZhdWx0IHBhcmFtZXRlcnMgZm9yIGlucHV0IHRpbWUgY29tcG9uZW50YCxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IFRVSV9JTlBVVF9USU1FX0RFRkFVTFRfT1BUSU9OUyxcbiAgICB9LFxuKTtcblxuZXhwb3J0IGNvbnN0IHR1aUlucHV0VGltZU9wdGlvbnNQcm92aWRlcjogKFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8VHVpSW5wdXRUaW1lT3B0aW9ucz4sXG4pID0+IFZhbHVlUHJvdmlkZXIgPSAob3B0aW9uczogUGFydGlhbDxUdWlJbnB1dFRpbWVPcHRpb25zPikgPT4gKHtcbiAgICBwcm92aWRlOiBUVUlfSU5QVVRfVElNRV9PUFRJT05TLFxuICAgIHVzZVZhbHVlOiB7Li4uVFVJX0lOUFVUX1RJTUVfREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zfSxcbn0pO1xuIl19