@taiga-ui/kit 2.52.0 → 2.54.1

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 (430) hide show
  1. package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
  2. package/bundles/taiga-ui-kit-abstract.umd.js +1 -0
  3. package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
  4. package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-action.umd.js +1 -1
  6. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-action.umd.min.js +1 -1
  8. package/bundles/taiga-ui-kit-components-action.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +1 -1
  10. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js +1 -1
  12. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-files.umd.js +2 -2
  14. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-files.umd.min.js +1 -1
  16. package/bundles/taiga-ui-kit-components-files.umd.min.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-input-file.umd.js +1 -1
  18. package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-input-file.umd.min.js +1 -1
  20. package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-input-files.umd.js +1 -1
  22. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-input-files.umd.min.js +1 -1
  24. package/bundles/taiga-ui-kit-components-input-files.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +1 -1
  26. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
  28. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-input-month.umd.js +1 -1
  30. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-input-month.umd.min.js +1 -1
  32. package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-input-number.umd.js +8 -2
  34. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +1 -1
  36. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +7 -0
  38. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +1 -1
  40. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-input-phone.umd.js +1 -0
  42. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  44. package/bundles/taiga-ui-kit-components-input-range.umd.js +1 -1
  45. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  46. package/bundles/taiga-ui-kit-components-input-range.umd.min.js +1 -1
  47. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  48. package/bundles/taiga-ui-kit-components-input-slider.umd.js +1 -1
  49. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  50. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +1 -1
  51. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  52. package/bundles/taiga-ui-kit-components-input-tag.umd.js +1 -1
  53. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  54. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
  55. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  56. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +32 -4
  57. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  58. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js +1 -1
  59. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js.map +1 -1
  60. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +1 -1
  61. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
  62. package/bundles/taiga-ui-kit-components-multi-select-option.umd.min.js +1 -1
  63. package/bundles/taiga-ui-kit-components-multi-select-option.umd.min.js.map +1 -1
  64. package/bundles/taiga-ui-kit-components-multi-select.umd.js +1 -0
  65. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  66. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  67. package/bundles/taiga-ui-kit-components-pagination.umd.js +3 -2
  68. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  69. package/bundles/taiga-ui-kit-components-pagination.umd.min.js +1 -1
  70. package/bundles/taiga-ui-kit-components-pagination.umd.min.js.map +1 -1
  71. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +1 -1
  72. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  73. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js +1 -1
  74. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js.map +1 -1
  75. package/bundles/taiga-ui-kit-components-progress.umd.js +2 -0
  76. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  77. package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -1
  78. package/bundles/taiga-ui-kit-components-range.umd.js +1 -1
  79. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  80. package/bundles/taiga-ui-kit-components-range.umd.min.js +1 -1
  81. package/bundles/taiga-ui-kit-components-range.umd.min.js.map +1 -1
  82. package/bundles/taiga-ui-kit-components-select-option.umd.js +1 -1
  83. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  84. package/bundles/taiga-ui-kit-components-select-option.umd.min.js +1 -1
  85. package/bundles/taiga-ui-kit-components-select-option.umd.min.js.map +1 -1
  86. package/bundles/taiga-ui-kit-components-slider.umd.js +13 -2
  87. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  88. package/bundles/taiga-ui-kit-components-slider.umd.min.js +1 -1
  89. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  90. package/bundles/taiga-ui-kit-components-tabs.umd.js +7 -5
  91. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  92. package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
  93. package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
  94. package/bundles/taiga-ui-kit-components-text-area.umd.js +1 -1
  95. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  96. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
  97. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  98. package/bundles/taiga-ui-kit-components-tree.umd.js +2 -1
  99. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  100. package/bundles/taiga-ui-kit-components-tree.umd.min.js +1 -1
  101. package/bundles/taiga-ui-kit-components-tree.umd.min.js.map +1 -1
  102. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js +2 -12
  103. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js.map +1 -1
  104. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.min.js +1 -1
  105. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.min.js.map +1 -1
  106. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js +1 -9
  107. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +1 -1
  108. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js +1 -1
  109. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js.map +1 -1
  110. package/bundles/taiga-ui-kit-providers.umd.js +6 -0
  111. package/bundles/taiga-ui-kit-providers.umd.js.map +1 -1
  112. package/bundles/taiga-ui-kit-providers.umd.min.js.map +1 -1
  113. package/bundles/taiga-ui-kit-utils-dom.umd.js +14 -0
  114. package/bundles/taiga-ui-kit-utils-dom.umd.js.map +1 -1
  115. package/bundles/taiga-ui-kit-utils-dom.umd.min.js +1 -1
  116. package/bundles/taiga-ui-kit-utils-dom.umd.min.js.map +1 -1
  117. package/bundles/taiga-ui-kit-utils-files.umd.js +12 -0
  118. package/bundles/taiga-ui-kit-utils-files.umd.js.map +1 -1
  119. package/bundles/taiga-ui-kit-utils-files.umd.min.js +1 -1
  120. package/bundles/taiga-ui-kit-utils-files.umd.min.js.map +1 -1
  121. package/bundles/taiga-ui-kit-utils-format.umd.js +4 -0
  122. package/bundles/taiga-ui-kit-utils-format.umd.js.map +1 -1
  123. package/bundles/taiga-ui-kit-utils-format.umd.min.js +1 -1
  124. package/bundles/taiga-ui-kit-utils-format.umd.min.js.map +1 -1
  125. package/bundles/taiga-ui-kit-utils-mask.umd.js +6 -0
  126. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  127. package/bundles/taiga-ui-kit-utils-mask.umd.min.js +1 -1
  128. package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
  129. package/bundles/taiga-ui-kit-utils-math.umd.js +2 -2
  130. package/bundles/taiga-ui-kit-utils-math.umd.js.map +1 -1
  131. package/bundles/taiga-ui-kit-utils-math.umd.min.js +1 -1
  132. package/bundles/taiga-ui-kit-utils-math.umd.min.js.map +1 -1
  133. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +10 -0
  134. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  135. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js +1 -1
  136. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js.map +1 -1
  137. package/components/action/taiga-ui-kit-components-action.metadata.json +1 -1
  138. package/components/breadcrumbs/taiga-ui-kit-components-breadcrumbs.metadata.json +1 -1
  139. package/components/files/taiga-ui-kit-components-files.metadata.json +1 -1
  140. package/components/input-file/taiga-ui-kit-components-input-file.metadata.json +1 -1
  141. package/components/input-files/taiga-ui-kit-components-input-files.metadata.json +1 -1
  142. package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
  143. package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
  144. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  145. package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
  146. package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
  147. package/components/input-phone-international/utils/extract-value-from-event.d.ts +4 -0
  148. package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
  149. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  150. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  151. package/components/line-clamp/index.d.ts +1 -0
  152. package/components/line-clamp/line-clamp-options.d.ts +7 -0
  153. package/components/line-clamp/line-clamp.component.d.ts +8 -3
  154. package/components/line-clamp/taiga-ui-kit-components-line-clamp.metadata.json +1 -1
  155. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  156. package/components/multi-select-option/taiga-ui-kit-components-multi-select-option.metadata.json +1 -1
  157. package/components/pagination/taiga-ui-kit-components-pagination.metadata.json +1 -1
  158. package/components/pdf-viewer/taiga-ui-kit-components-pdf-viewer.metadata.json +1 -1
  159. package/components/progress/taiga-ui-kit-components-progress.metadata.json +1 -1
  160. package/components/range/taiga-ui-kit-components-range.metadata.json +1 -1
  161. package/components/select-option/taiga-ui-kit-components-select-option.metadata.json +1 -1
  162. package/components/slider/slider.component.d.ts +1 -0
  163. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  164. package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
  165. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  166. package/components/tree/taiga-ui-kit-components-tree.metadata.json +1 -1
  167. package/directives/dropdown-context/dropdown-context.directive.d.ts +0 -1
  168. package/directives/dropdown-context/taiga-ui-kit-directives-dropdown-context.metadata.json +1 -1
  169. package/directives/dropdown-selection/taiga-ui-kit-directives-dropdown-selection.metadata.json +1 -1
  170. package/esm2015/abstract/input-slider.js +2 -1
  171. package/esm2015/components/action/action.component.js +2 -2
  172. package/esm2015/components/breadcrumbs/breadcrumbs-wrapper.component.js +2 -2
  173. package/esm2015/components/files/file/file.component.js +2 -2
  174. package/esm2015/components/files/files.component.js +2 -2
  175. package/esm2015/components/input-file/file/file.component.js +2 -2
  176. package/esm2015/components/input-files/input-files.component.js +2 -2
  177. package/esm2015/components/input-month/input-month.component.js +2 -2
  178. package/esm2015/components/input-month-range/input-month-range.component.js +2 -2
  179. package/esm2015/components/input-number/input-number.component.js +9 -3
  180. package/esm2015/components/input-phone/input-phone.providers.js +2 -1
  181. package/esm2015/components/input-phone-international/const/countries.js +2 -1
  182. package/esm2015/components/input-phone-international/utils/extract-value-from-event.js +6 -1
  183. package/esm2015/components/input-range/input-range.component.js +2 -2
  184. package/esm2015/components/input-slider/input-slider.component.js +2 -2
  185. package/esm2015/components/input-tag/input-tag.component.js +2 -2
  186. package/esm2015/components/line-clamp/index.js +2 -1
  187. package/esm2015/components/line-clamp/line-clamp-options.js +12 -0
  188. package/esm2015/components/line-clamp/line-clamp.component.js +23 -8
  189. package/esm2015/components/multi-select/multi-select-group/multi-select-group.directive.js +2 -1
  190. package/esm2015/components/multi-select-option/multi-select-option.component.js +2 -2
  191. package/esm2015/components/pagination/pagination.component.js +5 -4
  192. package/esm2015/components/pdf-viewer/pdf-viewer.component.js +2 -2
  193. package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +3 -1
  194. package/esm2015/components/range/range.component.js +2 -2
  195. package/esm2015/components/select-option/select-option.component.js +2 -2
  196. package/esm2015/components/slider/slider-key-steps.directive.js +2 -1
  197. package/esm2015/components/slider/slider-old.component.js +2 -2
  198. package/esm2015/components/slider/slider.component.js +12 -2
  199. package/esm2015/components/tabs/tab/tab.component.js +1 -1
  200. package/esm2015/components/tabs/tab/tab.providers.js +2 -1
  201. package/esm2015/components/tabs/tabs/tabs.component.js +3 -3
  202. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +3 -3
  203. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.providers.js +2 -1
  204. package/esm2015/components/text-area/text-area.component.js +2 -2
  205. package/esm2015/components/tree/components/tree-item/tree-item.providers.js +2 -1
  206. package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +2 -2
  207. package/esm2015/directives/dropdown-context/dropdown-context.directive.js +4 -14
  208. package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +3 -11
  209. package/esm2015/providers/month-formatter.provider.js +5 -1
  210. package/esm2015/providers/specific-dropdown-controllers.js +3 -1
  211. package/esm2015/utils/dom/get-word-range.js +4 -1
  212. package/esm2015/utils/dom/scroll-to-element.js +6 -1
  213. package/esm2015/utils/dom/set-range-offset.js +4 -1
  214. package/esm2015/utils/files/format-size.js +6 -1
  215. package/esm2015/utils/files/get-accept-array.js +6 -1
  216. package/esm2015/utils/format/string-hash-to-hsl.js +4 -1
  217. package/esm2015/utils/mask/create-auto-corrected-date-pipe.js +6 -1
  218. package/esm2015/utils/math/horizontal-direction-to-number.js +2 -2
  219. package/esm2015/utils/miscellaneous/get-precision.js +4 -1
  220. package/esm2015/utils/miscellaneous/is-flat.js +6 -1
  221. package/esm5/abstract/input-slider.js +2 -1
  222. package/esm5/components/action/action.component.js +2 -2
  223. package/esm5/components/breadcrumbs/breadcrumbs-wrapper.component.js +2 -2
  224. package/esm5/components/files/file/file.component.js +2 -2
  225. package/esm5/components/files/files.component.js +2 -2
  226. package/esm5/components/input-file/file/file.component.js +2 -2
  227. package/esm5/components/input-files/input-files.component.js +2 -2
  228. package/esm5/components/input-month/input-month.component.js +2 -2
  229. package/esm5/components/input-month-range/input-month-range.component.js +2 -2
  230. package/esm5/components/input-number/input-number.component.js +9 -3
  231. package/esm5/components/input-phone/input-phone.providers.js +2 -1
  232. package/esm5/components/input-phone-international/const/countries.js +2 -1
  233. package/esm5/components/input-phone-international/utils/extract-value-from-event.js +6 -1
  234. package/esm5/components/input-range/input-range.component.js +2 -2
  235. package/esm5/components/input-slider/input-slider.component.js +2 -2
  236. package/esm5/components/input-tag/input-tag.component.js +2 -2
  237. package/esm5/components/line-clamp/index.js +2 -1
  238. package/esm5/components/line-clamp/line-clamp-options.js +13 -0
  239. package/esm5/components/line-clamp/line-clamp.component.js +23 -8
  240. package/esm5/components/multi-select/multi-select-group/multi-select-group.directive.js +2 -1
  241. package/esm5/components/multi-select-option/multi-select-option.component.js +2 -2
  242. package/esm5/components/pagination/pagination.component.js +5 -4
  243. package/esm5/components/pdf-viewer/pdf-viewer.component.js +2 -2
  244. package/esm5/components/progress/progress-segmented/progress-segmented.component.js +3 -1
  245. package/esm5/components/range/range.component.js +2 -2
  246. package/esm5/components/select-option/select-option.component.js +2 -2
  247. package/esm5/components/slider/slider-key-steps.directive.js +2 -1
  248. package/esm5/components/slider/slider-old.component.js +2 -2
  249. package/esm5/components/slider/slider.component.js +12 -2
  250. package/esm5/components/tabs/tab/tab.component.js +1 -1
  251. package/esm5/components/tabs/tab/tab.providers.js +2 -1
  252. package/esm5/components/tabs/tabs/tabs.component.js +3 -3
  253. package/esm5/components/tabs/tabs-with-more/tabs-with-more.component.js +3 -3
  254. package/esm5/components/tabs/tabs-with-more/tabs-with-more.providers.js +2 -1
  255. package/esm5/components/text-area/text-area.component.js +2 -2
  256. package/esm5/components/tree/components/tree-item/tree-item.providers.js +2 -1
  257. package/esm5/components/tree/components/tree-item-content/tree-item-content.component.js +2 -2
  258. package/esm5/directives/dropdown-context/dropdown-context.directive.js +4 -14
  259. package/esm5/directives/dropdown-selection/dropdown-selection.directive.js +3 -11
  260. package/esm5/providers/month-formatter.provider.js +5 -1
  261. package/esm5/providers/specific-dropdown-controllers.js +3 -1
  262. package/esm5/utils/dom/get-word-range.js +4 -1
  263. package/esm5/utils/dom/scroll-to-element.js +6 -1
  264. package/esm5/utils/dom/set-range-offset.js +4 -1
  265. package/esm5/utils/files/format-size.js +6 -1
  266. package/esm5/utils/files/get-accept-array.js +6 -1
  267. package/esm5/utils/format/string-hash-to-hsl.js +4 -1
  268. package/esm5/utils/mask/create-auto-corrected-date-pipe.js +6 -1
  269. package/esm5/utils/math/horizontal-direction-to-number.js +2 -2
  270. package/esm5/utils/miscellaneous/get-precision.js +4 -1
  271. package/esm5/utils/miscellaneous/is-flat.js +6 -1
  272. package/fesm2015/taiga-ui-kit-abstract.js +1 -0
  273. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  274. package/fesm2015/taiga-ui-kit-components-action.js +1 -1
  275. package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
  276. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +1 -1
  277. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  278. package/fesm2015/taiga-ui-kit-components-files.js +2 -2
  279. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  280. package/fesm2015/taiga-ui-kit-components-input-file.js +1 -1
  281. package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
  282. package/fesm2015/taiga-ui-kit-components-input-files.js +1 -1
  283. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  284. package/fesm2015/taiga-ui-kit-components-input-month-range.js +1 -1
  285. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  286. package/fesm2015/taiga-ui-kit-components-input-month.js +1 -1
  287. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  288. package/fesm2015/taiga-ui-kit-components-input-number.js +8 -2
  289. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  290. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +7 -1
  291. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  292. package/fesm2015/taiga-ui-kit-components-input-phone.js +1 -0
  293. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  294. package/fesm2015/taiga-ui-kit-components-input-range.js +1 -1
  295. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  296. package/fesm2015/taiga-ui-kit-components-input-slider.js +1 -1
  297. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  298. package/fesm2015/taiga-ui-kit-components-input-tag.js +1 -1
  299. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  300. package/fesm2015/taiga-ui-kit-components-line-clamp.js +33 -8
  301. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  302. package/fesm2015/taiga-ui-kit-components-multi-select-option.js +1 -1
  303. package/fesm2015/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  304. package/fesm2015/taiga-ui-kit-components-multi-select.js +1 -0
  305. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  306. package/fesm2015/taiga-ui-kit-components-pagination.js +4 -3
  307. package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
  308. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +1 -1
  309. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  310. package/fesm2015/taiga-ui-kit-components-progress.js +2 -0
  311. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  312. package/fesm2015/taiga-ui-kit-components-range.js +1 -1
  313. package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
  314. package/fesm2015/taiga-ui-kit-components-select-option.js +1 -1
  315. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  316. package/fesm2015/taiga-ui-kit-components-slider.js +13 -2
  317. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  318. package/fesm2015/taiga-ui-kit-components-tabs.js +7 -5
  319. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  320. package/fesm2015/taiga-ui-kit-components-text-area.js +1 -1
  321. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  322. package/fesm2015/taiga-ui-kit-components-tree.js +2 -1
  323. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  324. package/fesm2015/taiga-ui-kit-directives-dropdown-context.js +3 -13
  325. package/fesm2015/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
  326. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js +2 -10
  327. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  328. package/fesm2015/taiga-ui-kit-providers.js +6 -0
  329. package/fesm2015/taiga-ui-kit-providers.js.map +1 -1
  330. package/fesm2015/taiga-ui-kit-utils-dom.js +12 -1
  331. package/fesm2015/taiga-ui-kit-utils-dom.js.map +1 -1
  332. package/fesm2015/taiga-ui-kit-utils-files.js +11 -1
  333. package/fesm2015/taiga-ui-kit-utils-files.js.map +1 -1
  334. package/fesm2015/taiga-ui-kit-utils-format.js +4 -1
  335. package/fesm2015/taiga-ui-kit-utils-format.js.map +1 -1
  336. package/fesm2015/taiga-ui-kit-utils-mask.js +6 -1
  337. package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
  338. package/fesm2015/taiga-ui-kit-utils-math.js +2 -2
  339. package/fesm2015/taiga-ui-kit-utils-math.js.map +1 -1
  340. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js +9 -1
  341. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  342. package/fesm5/taiga-ui-kit-abstract.js +1 -0
  343. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  344. package/fesm5/taiga-ui-kit-components-action.js +1 -1
  345. package/fesm5/taiga-ui-kit-components-action.js.map +1 -1
  346. package/fesm5/taiga-ui-kit-components-breadcrumbs.js +1 -1
  347. package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  348. package/fesm5/taiga-ui-kit-components-files.js +2 -2
  349. package/fesm5/taiga-ui-kit-components-files.js.map +1 -1
  350. package/fesm5/taiga-ui-kit-components-input-file.js +1 -1
  351. package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
  352. package/fesm5/taiga-ui-kit-components-input-files.js +1 -1
  353. package/fesm5/taiga-ui-kit-components-input-files.js.map +1 -1
  354. package/fesm5/taiga-ui-kit-components-input-month-range.js +1 -1
  355. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  356. package/fesm5/taiga-ui-kit-components-input-month.js +1 -1
  357. package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
  358. package/fesm5/taiga-ui-kit-components-input-number.js +8 -2
  359. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  360. package/fesm5/taiga-ui-kit-components-input-phone-international.js +7 -1
  361. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  362. package/fesm5/taiga-ui-kit-components-input-phone.js +1 -0
  363. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  364. package/fesm5/taiga-ui-kit-components-input-range.js +1 -1
  365. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  366. package/fesm5/taiga-ui-kit-components-input-slider.js +1 -1
  367. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  368. package/fesm5/taiga-ui-kit-components-input-tag.js +1 -1
  369. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  370. package/fesm5/taiga-ui-kit-components-line-clamp.js +34 -9
  371. package/fesm5/taiga-ui-kit-components-line-clamp.js.map +1 -1
  372. package/fesm5/taiga-ui-kit-components-multi-select-option.js +1 -1
  373. package/fesm5/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  374. package/fesm5/taiga-ui-kit-components-multi-select.js +1 -0
  375. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  376. package/fesm5/taiga-ui-kit-components-pagination.js +4 -3
  377. package/fesm5/taiga-ui-kit-components-pagination.js.map +1 -1
  378. package/fesm5/taiga-ui-kit-components-pdf-viewer.js +1 -1
  379. package/fesm5/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  380. package/fesm5/taiga-ui-kit-components-progress.js +2 -0
  381. package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
  382. package/fesm5/taiga-ui-kit-components-range.js +1 -1
  383. package/fesm5/taiga-ui-kit-components-range.js.map +1 -1
  384. package/fesm5/taiga-ui-kit-components-select-option.js +1 -1
  385. package/fesm5/taiga-ui-kit-components-select-option.js.map +1 -1
  386. package/fesm5/taiga-ui-kit-components-slider.js +13 -2
  387. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  388. package/fesm5/taiga-ui-kit-components-tabs.js +7 -5
  389. package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
  390. package/fesm5/taiga-ui-kit-components-text-area.js +1 -1
  391. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  392. package/fesm5/taiga-ui-kit-components-tree.js +2 -1
  393. package/fesm5/taiga-ui-kit-components-tree.js.map +1 -1
  394. package/fesm5/taiga-ui-kit-directives-dropdown-context.js +3 -13
  395. package/fesm5/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
  396. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js +2 -10
  397. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  398. package/fesm5/taiga-ui-kit-providers.js +6 -0
  399. package/fesm5/taiga-ui-kit-providers.js.map +1 -1
  400. package/fesm5/taiga-ui-kit-utils-dom.js +12 -1
  401. package/fesm5/taiga-ui-kit-utils-dom.js.map +1 -1
  402. package/fesm5/taiga-ui-kit-utils-files.js +11 -1
  403. package/fesm5/taiga-ui-kit-utils-files.js.map +1 -1
  404. package/fesm5/taiga-ui-kit-utils-format.js +4 -1
  405. package/fesm5/taiga-ui-kit-utils-format.js.map +1 -1
  406. package/fesm5/taiga-ui-kit-utils-mask.js +6 -1
  407. package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
  408. package/fesm5/taiga-ui-kit-utils-math.js +2 -2
  409. package/fesm5/taiga-ui-kit-utils-math.js.map +1 -1
  410. package/fesm5/taiga-ui-kit-utils-miscellaneous.js +9 -1
  411. package/fesm5/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  412. package/package.json +5 -5
  413. package/providers/month-formatter.provider.d.ts +3 -0
  414. package/providers/taiga-ui-kit-providers.metadata.json +1 -1
  415. package/utils/dom/get-word-range.d.ts +2 -0
  416. package/utils/dom/scroll-to-element.d.ts +4 -0
  417. package/utils/dom/set-range-offset.d.ts +2 -0
  418. package/utils/dom/taiga-ui-kit-utils-dom.metadata.json +1 -1
  419. package/utils/files/format-size.d.ts +4 -0
  420. package/utils/files/get-accept-array.d.ts +4 -0
  421. package/utils/files/taiga-ui-kit-utils-files.metadata.json +1 -1
  422. package/utils/format/string-hash-to-hsl.d.ts +2 -0
  423. package/utils/format/taiga-ui-kit-utils-format.metadata.json +1 -1
  424. package/utils/mask/create-auto-corrected-date-pipe.d.ts +4 -0
  425. package/utils/mask/taiga-ui-kit-utils-mask.metadata.json +1 -1
  426. package/utils/math/horizontal-direction-to-number.d.ts +1 -1
  427. package/utils/math/taiga-ui-kit-utils-math.metadata.json +1 -1
  428. package/utils/miscellaneous/get-precision.d.ts +2 -0
  429. package/utils/miscellaneous/is-flat.d.ts +4 -0
  430. package/utils/miscellaneous/taiga-ui-kit-utils-miscellaneous.metadata.json +1 -1
@@ -45,6 +45,10 @@ let TuiInputNumberComponent = TuiInputNumberComponent_1 = class TuiInputNumberCo
45
45
  return this.min < 0;
46
46
  }
47
47
  get inputMode() {
48
+ if (this.isIOS && this.isNegativeAllowed) {
49
+ // iphones do not have minus sign if inputMode is equal to 'numeric' / 'decimal'
50
+ return 'text';
51
+ }
48
52
  return this.decimal === 'never' ? 'numeric' : 'decimal';
49
53
  }
50
54
  get calculatedMaxLength() {
@@ -129,7 +133,9 @@ let TuiInputNumberComponent = TuiInputNumberComponent_1 = class TuiInputNumberCo
129
133
  getFormattedValue(value) {
130
134
  const absValue = Math.abs(value);
131
135
  const hasFraction = absValue % 1 > 0;
132
- let limit = this.decimal === 'always' || hasFraction ? this.precision : 0;
136
+ let limit = this.decimal === 'always' || (hasFraction && this.decimal !== 'never')
137
+ ? this.precision
138
+ : 0;
133
139
  const fraction = hasFraction ? getFractionPartPadded(value, this.precision) : '';
134
140
  if (this.focused && this.decimal !== 'always') {
135
141
  limit = fraction.length;
@@ -217,7 +223,7 @@ __decorate([
217
223
  TuiInputNumberComponent = TuiInputNumberComponent_1 = __decorate([
218
224
  Component({
219
225
  selector: 'tui-input-number',
220
- template: "<tui-primitive-textfield\n tuiValueAccessor\n tuiTextfieldInputMode=\"decimal\"\n class=\"textfield\"\n [pseudoHovered]=\"computedHovered\"\n [pseudoFocused]=\"computedFocused\"\n [pseudoPressed]=\"computedPressed\"\n [invalid]=\"computedInvalid\"\n [tuiTextfieldMaxLength]=\"calculatedMaxLength\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [textMask]=\"isNegativeAllowed | tuiMapper: mask:decimal:precision:nativeFocusableElement\"\n [value]=\"computedValue\"\n [prefix]=\"prefix\"\n [postfix]=\"postfix\"\n [focusable]=\"focusable\"\n (valueChange)=\"onValueChange($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (focusedChange)=\"onFocused($event)\"\n (pressedChange)=\"onPressed($event)\"\n (keydown)=\"onKeyDown($event)\"\n>\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n <div\n *ngIf=\"polymorpheusValueContent.length\"\n polymorpheus-outlet\n class=\"t-value-content\"\n [content]=\"valueContent\"\n ></div>\n</tui-primitive-textfield>\n\n<ng-container *ngIf=\"polymorpheusValueContent.changes | async\"></ng-container>\n\n<ng-template #valueContent>\n <ng-content select=\"[polymorpheus-outlet]\"></ng-content>\n</ng-template>\n",
226
+ template: "<tui-primitive-textfield\n tuiValueAccessor\n class=\"textfield\"\n [pseudoHovered]=\"computedHovered\"\n [pseudoFocused]=\"computedFocused\"\n [pseudoPressed]=\"computedPressed\"\n [invalid]=\"computedInvalid\"\n [tuiTextfieldInputMode]=\"inputMode\"\n [tuiTextfieldMaxLength]=\"calculatedMaxLength\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [textMask]=\"isNegativeAllowed | tuiMapper: mask:decimal:precision:nativeFocusableElement\"\n [value]=\"computedValue\"\n [prefix]=\"prefix\"\n [postfix]=\"postfix\"\n [focusable]=\"focusable\"\n (valueChange)=\"onValueChange($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (focusedChange)=\"onFocused($event)\"\n (pressedChange)=\"onPressed($event)\"\n (keydown)=\"onKeyDown($event)\"\n>\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n <div\n *ngIf=\"polymorpheusValueContent.length\"\n polymorpheus-outlet\n class=\"t-value-content\"\n [content]=\"valueContent\"\n ></div>\n</tui-primitive-textfield>\n\n<ng-container *ngIf=\"polymorpheusValueContent.changes | async\"></ng-container>\n\n<ng-template #valueContent>\n <ng-content select=\"[polymorpheus-outlet]\"></ng-content>\n</ng-template>\n",
221
227
  changeDetection: ChangeDetectionStrategy.OnPush,
222
228
  providers: [
223
229
  {
@@ -239,4 +245,4 @@ TuiInputNumberComponent = TuiInputNumberComponent_1 = __decorate([
239
245
  __param(3, Inject(TUI_IS_IOS))
240
246
  ], TuiInputNumberComponent);
241
247
  export { TuiInputNumberComponent };
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvIiwic291cmNlcyI6WyJpbnB1dC1udW1iZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFDVCxJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLDBCQUEwQixFQUMxQixXQUFXLEVBQ1gsMkJBQTJCLEVBQzNCLFVBQVUsRUFDVixjQUFjLEdBSWpCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxZQUFZLEVBQ1oscUJBQXFCLEVBQ3JCLHVCQUF1QixFQUN2QiwwQkFBMEIsRUFDMUIsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixnQ0FBZ0MsRUFDaEMsbUJBQW1CLEVBRW5CLGlDQUFpQyxFQUVqQyw4QkFBOEIsR0FFakMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUdyRSxNQUFNLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztBQUU5QixXQUFXO0FBaUJYLElBQWEsdUJBQXVCLCtCQUFwQyxNQUFhLHVCQUNULFNBQVEsMEJBQWtDO0lBaUMxQyxZQUlJLE9BQXlCLEVBRXpCLGlCQUFvQyxFQUVuQixZQUFxQyxFQUNqQixLQUFjO1FBRW5ELEtBQUssQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUhqQixpQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFDakIs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RUFBRTt1REFDTDtBQUlaO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFO3dEQUNKO0FBR2I7SUFEQyxlQUFlLENBQUMsMkJBQTJCLENBQUM7eUVBQ3VCO0FBeURwRTtJQURDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztxREFpQnJDO0FBekdRLHVCQUF1QjtJQWhCbkMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGtCQUFrQjtRQUM1QixvMENBQTJDO1FBRTNDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1FBQy9DLFNBQVMsRUFBRTtZQUNQO2dCQUNJLE9BQU8sRUFBRSwyQkFBMkI7Z0JBQ3BDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXVCLENBQUM7YUFDekQ7WUFDRDtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF1QixDQUFDO2FBQ3pEO1NBQ0o7O0tBQ0osQ0FBQztJQW9DTyxXQUFBLFFBQVEsRUFBRSxDQUFBO0lBQ1YsV0FBQSxJQUFJLEVBQUUsQ0FBQTtJQUNOLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBRWpCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFFekIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUV6QixXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtHQTNDZCx1QkFBdUIsQ0FzU25DO1NBdFNZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgUXVlcnlMaXN0LFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpQ29udHJvbCxcbiAgICBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCxcbiAgICBFTVBUWV9RVUVSWSxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgVFVJX0lTX0lPUyxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgVHVpSW5wdXRNb2RlVCxcbiAgICBUdWlNYXBwZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBmb3JtYXROdW1iZXIsXG4gICAgZ2V0RnJhY3Rpb25QYXJ0UGFkZGVkLFxuICAgIG1hc2tlZE1vbmV5VmFsdWVJc0VtcHR5LFxuICAgIG1hc2tlZE51bWJlclN0cmluZ1RvTnVtYmVyLFxuICAgIFRVSV9ERUNJTUFMX1NZTUJPTFMsXG4gICAgVFVJX05VTUJFUl9GT1JNQVQsXG4gICAgdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZE51bWJlclBpcGUsXG4gICAgdHVpQ3JlYXRlTnVtYmVyTWFzayxcbiAgICBUdWlEZWNpbWFsVCxcbiAgICB0dWlFbmFibGVBdXRvQ29ycmVjdERlY2ltYWxTeW1ib2wsXG4gICAgVHVpTnVtYmVyRm9ybWF0U2V0dGluZ3MsXG4gICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50LFxuICAgIFR1aVRleHRNYXNrT3B0aW9ucyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNPdXRsZXRDb21wb25lbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge1RleHRNYXNrQ29uZmlnfSBmcm9tICdhbmd1bGFyMi10ZXh0LW1hc2snO1xuXG5jb25zdCBERUZBVUxUX01BWF9MRU5HVEggPSAxODtcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LW51bWJlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LW51bWJlci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1udW1iZXIuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dE51bWJlckNvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEFic3RyYWN0VHVpQ29udHJvbCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0TnVtYmVyQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dE51bWJlckNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2w8bnVtYmVyPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZChUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQpXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcmltaXRpdmVUZXh0ZmllbGQ/OiBUdWlQcmltaXRpdmVUZXh0ZmllbGRDb21wb25lbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWluID0gLUluZmluaXR5O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heCA9IEluZmluaXR5O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRlY2ltYWw6IFR1aURlY2ltYWxUID0gJ25vdC16ZXJvJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwcmVjaXNpb24gPSAyO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHByZWZpeCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHBvc3RmaXggPSAnJztcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oUG9seW1vcnBoZXVzT3V0bGV0Q29tcG9uZW50KVxuICAgIHJlYWRvbmx5IHBvbHltb3JwaGV1c1ZhbHVlQ29udGVudDogUXVlcnlMaXN0PHVua25vd24+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KE5nQ29udHJvbClcbiAgICAgICAgY29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZilcbiAgICAgICAgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRVSV9OVU1CRVJfRk9STUFUKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG51bWJlckZvcm1hdDogVHVpTnVtYmVyRm9ybWF0U2V0dGluZ3MsXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX0lPUykgcHJpdmF0ZSByZWFkb25seSBpc0lPUzogYm9vbGVhbixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnByaW1pdGl2ZVRleHRmaWVsZCB8fCB0aGlzLmNvbXB1dGVkRGlzYWJsZWRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLnByaW1pdGl2ZVRleHRmaWVsZC5uYXRpdmVGb2N1c2FibGVFbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnByaW1pdGl2ZVRleHRmaWVsZCAmJiB0aGlzLnByaW1pdGl2ZVRleHRmaWVsZC5mb2N1c2VkO1xuICAgIH1cblxuICAgIGdldCBpc05lZ2F0aXZlQWxsb3dlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWluIDwgMDtcbiAgICB9XG5cbiAgICBnZXQgaW5wdXRNb2RlKCk6IFR1aUlucHV0TW9kZVQge1xuICAgICAgICByZXR1cm4gdGhpcy5kZWNpbWFsID09PSAnbmV2ZXInID8gJ251bWVyaWMnIDogJ2RlY2ltYWwnO1xuICAgIH1cblxuICAgIGdldCBjYWxjdWxhdGVkTWF4TGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGRlY2ltYWxQYXJ0ID1cbiAgICAgICAgICAgIHRoaXMuZGVjaW1hbCAhPT0gJ25ldmVyJyAmJlxuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZS5pbmNsdWRlcyh0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yKTtcbiAgICAgICAgY29uc3QgcHJlY2lzaW9uID0gZGVjaW1hbFBhcnQgPyB0aGlzLnByZWNpc2lvbiArIDEgOiAwO1xuICAgICAgICBjb25zdCB0YWtlVGhvdXNhbmQgPSB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvci5yZXBlYXQoNSkubGVuZ3RoO1xuXG4gICAgICAgIHJldHVybiBERUZBVUxUX01BWF9MRU5HVEggKyBwcmVjaXNpb24gKyB0YWtlVGhvdXNhbmQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvcm1hdHRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEZvcm1hdHRlZFZhbHVlKHRoaXMudmFsdWUgfHwgMCk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlVmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSA9PT0gbnVsbCA/ICcnIDogdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLjAnLCBbJyRldmVudCddKVxuICAgIG9uWmVybyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBkZWNpbWFsID1cbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUuc3BsaXQodGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcilbMV0gfHwgJyc7XG4gICAgICAgIGNvbnN0IHtuYXRpdmVGb2N1c2FibGVFbGVtZW50fSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZGVjaW1hbC5sZW5ndGggPCB0aGlzLnByZWNpc2lvbiB8fFxuICAgICAgICAgICAgIW5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfHxcbiAgICAgICAgICAgICFuYXRpdmVGb2N1c2FibGVFbGVtZW50LnNlbGVjdGlvblN0YXJ0IHx8XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlW25hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnRdICE9PSAnMCdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBuYXRpdmVGb2N1c2FibGVFbGVtZW50LnNlbGVjdGlvblN0YXJ0Kys7XG4gICAgfVxuXG4gICAgbWFzazogVHVpTWFwcGVyPGJvb2xlYW4sIFRleHRNYXNrQ29uZmlnPiA9IChcbiAgICAgICAgYWxsb3dOZWdhdGl2ZTogYm9vbGVhbixcbiAgICAgICAgZGVjaW1hbDogVHVpRGVjaW1hbFQsXG4gICAgICAgIGRlY2ltYWxMaW1pdDogbnVtYmVyLFxuICAgICAgICBuYXRpdmVGb2N1c2FibGVFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCxcbiAgICApID0+XG4gICAgICAgICh7XG4gICAgICAgICAgICBtYXNrOiB0dWlDcmVhdGVOdW1iZXJNYXNrKHtcbiAgICAgICAgICAgICAgICBhbGxvd05lZ2F0aXZlLFxuICAgICAgICAgICAgICAgIGRlY2ltYWxMaW1pdCxcbiAgICAgICAgICAgICAgICBhbGxvd0RlY2ltYWw6IGRlY2ltYWwgIT09ICduZXZlcicsXG4gICAgICAgICAgICAgICAgcmVxdWlyZURlY2ltYWw6IGRlY2ltYWwgPT09ICdhbHdheXMnLFxuICAgICAgICAgICAgICAgIGRlY2ltYWxTeW1ib2w6IHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgdGhvdXNhbmRTeW1ib2w6IHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbDogdHVpRW5hYmxlQXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdCxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBwaXBlOiB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkTnVtYmVyUGlwZShcbiAgICAgICAgICAgICAgICBkZWNpbWFsID09PSAnYWx3YXlzJyA/IGRlY2ltYWxMaW1pdCA6IDAsXG4gICAgICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgICAgICAgICBuYXRpdmVGb2N1c2FibGVFbGVtZW50LFxuICAgICAgICAgICAgICAgIGFsbG93TmVnYXRpdmUsXG4gICAgICAgICAgICAgICAgdGhpcy5pc0lPUyxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgICAgIH0gYXMgVHVpVGV4dE1hc2tPcHRpb25zIGFzIHVua25vd24gYXMgVGV4dE1hc2tDb25maWcpO1xuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmIChtYXNrZWRNb25leVZhbHVlSXNFbXB0eSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzTmF0aXZlVmFsdWVOb3RGaW5pc2hlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2FwcGVkID0gdGhpcy5hYnNvbHV0ZUNhcElucHV0VmFsdWUodmFsdWUpO1xuXG4gICAgICAgIGlmIChjYXBwZWQgPT09IG51bGwgfHwgaXNOYU4oY2FwcGVkKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShjYXBwZWQpO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGNhcHBlZCAhPT1cbiAgICAgICAgICAgIG1hc2tlZE51bWJlclN0cmluZ1RvTnVtYmVyKFxuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICAgICApXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFUVUlfREVDSU1BTF9TWU1CT0xTLmluY2x1ZGVzKGV2ZW50LmtleSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRlY2ltYWwgPT09ICduZXZlcicpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZVZhbHVlLmluY2x1ZGVzKHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IpKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5zZXRDYXJldEFmdGVyQ29tbWEoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcblxuICAgICAgICBpZiAoZm9jdXNlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmF0aXZlTnVtYmVyVmFsdWUgPSB0aGlzLm5hdGl2ZU51bWJlclZhbHVlO1xuXG4gICAgICAgIGlmIChpc05hTihuYXRpdmVOdW1iZXJWYWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXIoKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2xhbXBlZCA9IE1hdGgubWluKHRoaXMubWF4LCBNYXRoLm1heCh0aGlzLm1pbiwgbmF0aXZlTnVtYmVyVmFsdWUpKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKGNsYW1wZWQpO1xuICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBvbkhvdmVyZWQoaG92ZXJlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdmVyZWQoaG92ZXJlZCk7XG4gICAgfVxuXG4gICAgb25QcmVzc2VkKHByZXNzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVQcmVzc2VkKHByZXNzZWQpO1xuICAgIH1cblxuICAgIGdldEZvcm1hdHRlZFZhbHVlKHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBhYnNWYWx1ZSA9IE1hdGguYWJzKHZhbHVlKTtcbiAgICAgICAgY29uc3QgaGFzRnJhY3Rpb24gPSBhYnNWYWx1ZSAlIDEgPiAwO1xuICAgICAgICBsZXQgbGltaXQgPSB0aGlzLmRlY2ltYWwgPT09ICdhbHdheXMnIHx8IGhhc0ZyYWN0aW9uID8gdGhpcy5wcmVjaXNpb24gOiAwO1xuXG4gICAgICAgIGNvbnN0IGZyYWN0aW9uID0gaGFzRnJhY3Rpb24gPyBnZXRGcmFjdGlvblBhcnRQYWRkZWQodmFsdWUsIHRoaXMucHJlY2lzaW9uKSA6ICcnO1xuXG4gICAgICAgIGlmICh0aGlzLmZvY3VzZWQgJiYgdGhpcy5kZWNpbWFsICE9PSAnYWx3YXlzJykge1xuICAgICAgICAgICAgbGltaXQgPSBmcmFjdGlvbi5sZW5ndGg7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZm9ybWF0TnVtYmVyKFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBsaW1pdCxcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0Lnplcm9QYWRkaW5nLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGlzTmF0aXZlVmFsdWVOb3RGaW5pc2hlZCgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgbmF0aXZlTnVtYmVyVmFsdWUgPSB0aGlzLm5hdGl2ZU51bWJlclZhbHVlO1xuXG4gICAgICAgIHJldHVybiBuYXRpdmVOdW1iZXJWYWx1ZSA8IDBcbiAgICAgICAgICAgID8gbmF0aXZlTnVtYmVyVmFsdWUgPiB0aGlzLm1heFxuICAgICAgICAgICAgOiBuYXRpdmVOdW1iZXJWYWx1ZSA8IHRoaXMubWluO1xuICAgIH1cblxuICAgIGdldCBuYXRpdmVWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50ID8gdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50LnZhbHVlIDogJyc7XG4gICAgfVxuXG4gICAgc2V0IG5hdGl2ZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLnByaW1pdGl2ZVRleHRmaWVsZCB8fCAhdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByaW1pdGl2ZVRleHRmaWVsZC52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBuYXRpdmVOdW1iZXJWYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gbWFza2VkTnVtYmVyU3RyaW5nVG9OdW1iZXIoXG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSAnJztcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFic29sdXRlQ2FwSW5wdXRWYWx1ZShpbnB1dFZhbHVlOiBzdHJpbmcpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBtYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcihcbiAgICAgICAgICAgIGlucHV0VmFsdWUsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGNhcHBlZCA9XG4gICAgICAgICAgICB2YWx1ZSA8IDBcbiAgICAgICAgICAgICAgICA/IE1hdGgubWF4KE1hdGgubWF4KHRoaXMubWluLCBOdW1iZXIuTUlOX1NBRkVfSU5URUdFUiksIHZhbHVlKVxuICAgICAgICAgICAgICAgIDogTWF0aC5taW4odmFsdWUsIE1hdGgubWluKHRoaXMubWF4LCBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikpO1xuICAgICAgICBjb25zdCBpbmVsaWdpYmxlVmFsdWUgPSBpc05hTihjYXBwZWQpIHx8IGNhcHBlZCA8IHRoaXMubWluIHx8IGNhcHBlZCA+IHRoaXMubWF4O1xuXG4gICAgICAgIHJldHVybiBpbmVsaWdpYmxlVmFsdWUgPyBudWxsIDogY2FwcGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q2FyZXRBZnRlckNvbW1hKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYWZ0ZXJDb21tYVBvc2l0aW9uID0gdGhpcy5uYXRpdmVWYWx1ZS5sZW5ndGggLSB0aGlzLnByZWNpc2lvbjtcblxuICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoXG4gICAgICAgICAgICBhZnRlckNvbW1hUG9zaXRpb24sXG4gICAgICAgICAgICBhZnRlckNvbW1hUG9zaXRpb24sXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvIiwic291cmNlcyI6WyJpbnB1dC1udW1iZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFDVCxJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLDBCQUEwQixFQUMxQixXQUFXLEVBQ1gsMkJBQTJCLEVBQzNCLFVBQVUsRUFDVixjQUFjLEdBSWpCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxZQUFZLEVBQ1oscUJBQXFCLEVBQ3JCLHVCQUF1QixFQUN2QiwwQkFBMEIsRUFDMUIsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixnQ0FBZ0MsRUFDaEMsbUJBQW1CLEVBRW5CLGlDQUFpQyxFQUVqQyw4QkFBOEIsR0FFakMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUdyRSxNQUFNLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztBQUU5QixXQUFXO0FBaUJYLElBQWEsdUJBQXVCLCtCQUFwQyxNQUFhLHVCQUNULFNBQVEsMEJBQWtDO0lBaUMxQyxZQUlJLE9BQXlCLEVBRXpCLGlCQUFvQyxFQUVuQixZQUFxQyxFQUNqQixLQUFjO1FBRW5ELEtBQUssQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUhqQixpQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFDakIs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Q1AsY0FBYyxFQUFFO29EQUNGO0FBSWY7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7d0RBQ2lCO0FBSWxDO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFOzBEQUNIO0FBSWQ7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7dURBQ0w7QUFJWjtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTt3REFDSjtBQUdiO0lBREMsZUFBZSxDQUFDLDJCQUEyQixDQUFDO3lFQUN1QjtBQThEcEU7SUFEQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7cURBaUJyQztBQTlHUSx1QkFBdUI7SUFoQm5DLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxrQkFBa0I7UUFDNUIsdzBDQUEyQztRQUUzQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtRQUMvQyxTQUFTLEVBQUU7WUFDUDtnQkFDSSxPQUFPLEVBQUUsMkJBQTJCO2dCQUNwQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF1QixDQUFDO2FBQ3pEO1lBQ0Q7Z0JBQ0ksT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBdUIsQ0FBQzthQUN6RDtTQUNKOztLQUNKLENBQUM7SUFvQ08sV0FBQSxRQUFRLEVBQUUsQ0FBQTtJQUNWLFdBQUEsSUFBSSxFQUFFLENBQUE7SUFDTixXQUFBLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUVqQixXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBRXpCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFFekIsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7R0EzQ2QsdUJBQXVCLENBOFNuQztTQTlTWSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aUNvbnRyb2wsXG4gICAgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2wsXG4gICAgRU1QVFlfUVVFUlksXG4gICAgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgIFRVSV9JU19JT1MsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIFR1aUlucHV0TW9kZVQsXG4gICAgVHVpTWFwcGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgZm9ybWF0TnVtYmVyLFxuICAgIGdldEZyYWN0aW9uUGFydFBhZGRlZCxcbiAgICBtYXNrZWRNb25leVZhbHVlSXNFbXB0eSxcbiAgICBtYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcixcbiAgICBUVUlfREVDSU1BTF9TWU1CT0xTLFxuICAgIFRVSV9OVU1CRVJfRk9STUFULFxuICAgIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWROdW1iZXJQaXBlLFxuICAgIHR1aUNyZWF0ZU51bWJlck1hc2ssXG4gICAgVHVpRGVjaW1hbFQsXG4gICAgdHVpRW5hYmxlQXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sLFxuICAgIFR1aU51bWJlckZvcm1hdFNldHRpbmdzLFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlUZXh0TWFza09wdGlvbnMsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7UG9seW1vcnBoZXVzT3V0bGV0Q29tcG9uZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtUZXh0TWFza0NvbmZpZ30gZnJvbSAnYW5ndWxhcjItdGV4dC1tYXNrJztcblxuY29uc3QgREVGQVVMVF9NQVhfTEVOR1RIID0gMTg7XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1udW1iZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1udW1iZXIudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtbnVtYmVyLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXROdW1iZXJDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBBYnN0cmFjdFR1aUNvbnRyb2wsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dE51bWJlckNvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXROdW1iZXJDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPG51bWJlcj5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBWaWV3Q2hpbGQoVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJpbWl0aXZlVGV4dGZpZWxkPzogVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbiA9IC1JbmZpbml0eTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXggPSBJbmZpbml0eTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBkZWNpbWFsOiBUdWlEZWNpbWFsVCA9ICdub3QtemVybyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcHJlY2lzaW9uID0gMjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwcmVmaXggPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwb3N0Zml4ID0gJyc7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFBvbHltb3JwaGV1c091dGxldENvbXBvbmVudClcbiAgICByZWFkb25seSBwb2x5bW9ycGhldXNWYWx1ZUNvbnRlbnQ6IFF1ZXJ5TGlzdDx1bmtub3duPiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpXG4gICAgICAgIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfTlVNQkVSX0ZPUk1BVClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBudW1iZXJGb3JtYXQ6IFR1aU51bWJlckZvcm1hdFNldHRpbmdzLFxuICAgICAgICBASW5qZWN0KFRVSV9JU19JT1MpIHByaXZhdGUgcmVhZG9ubHkgaXNJT1M6IGJvb2xlYW4sXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5wcmltaXRpdmVUZXh0ZmllbGQgfHwgdGhpcy5jb21wdXRlZERpc2FibGVkXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogdGhpcy5wcmltaXRpdmVUZXh0ZmllbGQubmF0aXZlRm9jdXNhYmxlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5wcmltaXRpdmVUZXh0ZmllbGQgJiYgdGhpcy5wcmltaXRpdmVUZXh0ZmllbGQuZm9jdXNlZDtcbiAgICB9XG5cbiAgICBnZXQgaXNOZWdhdGl2ZUFsbG93ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1pbiA8IDA7XG4gICAgfVxuXG4gICAgZ2V0IGlucHV0TW9kZSgpOiBUdWlJbnB1dE1vZGVUIHtcbiAgICAgICAgaWYgKHRoaXMuaXNJT1MgJiYgdGhpcy5pc05lZ2F0aXZlQWxsb3dlZCkge1xuICAgICAgICAgICAgLy8gaXBob25lcyBkbyBub3QgaGF2ZSBtaW51cyBzaWduIGlmIGlucHV0TW9kZSBpcyBlcXVhbCB0byAnbnVtZXJpYycgLyAnZGVjaW1hbCdcbiAgICAgICAgICAgIHJldHVybiAndGV4dCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5kZWNpbWFsID09PSAnbmV2ZXInID8gJ251bWVyaWMnIDogJ2RlY2ltYWwnO1xuICAgIH1cblxuICAgIGdldCBjYWxjdWxhdGVkTWF4TGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGRlY2ltYWxQYXJ0ID1cbiAgICAgICAgICAgIHRoaXMuZGVjaW1hbCAhPT0gJ25ldmVyJyAmJlxuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZS5pbmNsdWRlcyh0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yKTtcbiAgICAgICAgY29uc3QgcHJlY2lzaW9uID0gZGVjaW1hbFBhcnQgPyB0aGlzLnByZWNpc2lvbiArIDEgOiAwO1xuICAgICAgICBjb25zdCB0YWtlVGhvdXNhbmQgPSB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvci5yZXBlYXQoNSkubGVuZ3RoO1xuXG4gICAgICAgIHJldHVybiBERUZBVUxUX01BWF9MRU5HVEggKyBwcmVjaXNpb24gKyB0YWtlVGhvdXNhbmQ7XG4gICAgfVxuXG4gICAgZ2V0IGZvcm1hdHRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEZvcm1hdHRlZFZhbHVlKHRoaXMudmFsdWUgfHwgMCk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlVmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSA9PT0gbnVsbCA/ICcnIDogdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLjAnLCBbJyRldmVudCddKVxuICAgIG9uWmVybyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBkZWNpbWFsID1cbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUuc3BsaXQodGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcilbMV0gfHwgJyc7XG4gICAgICAgIGNvbnN0IHtuYXRpdmVGb2N1c2FibGVFbGVtZW50fSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZGVjaW1hbC5sZW5ndGggPCB0aGlzLnByZWNpc2lvbiB8fFxuICAgICAgICAgICAgIW5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfHxcbiAgICAgICAgICAgICFuYXRpdmVGb2N1c2FibGVFbGVtZW50LnNlbGVjdGlvblN0YXJ0IHx8XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlW25hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuc2VsZWN0aW9uU3RhcnRdICE9PSAnMCdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBuYXRpdmVGb2N1c2FibGVFbGVtZW50LnNlbGVjdGlvblN0YXJ0Kys7XG4gICAgfVxuXG4gICAgbWFzazogVHVpTWFwcGVyPGJvb2xlYW4sIFRleHRNYXNrQ29uZmlnPiA9IChcbiAgICAgICAgYWxsb3dOZWdhdGl2ZTogYm9vbGVhbixcbiAgICAgICAgZGVjaW1hbDogVHVpRGVjaW1hbFQsXG4gICAgICAgIGRlY2ltYWxMaW1pdDogbnVtYmVyLFxuICAgICAgICBuYXRpdmVGb2N1c2FibGVFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCxcbiAgICApID0+XG4gICAgICAgICh7XG4gICAgICAgICAgICBtYXNrOiB0dWlDcmVhdGVOdW1iZXJNYXNrKHtcbiAgICAgICAgICAgICAgICBhbGxvd05lZ2F0aXZlLFxuICAgICAgICAgICAgICAgIGRlY2ltYWxMaW1pdCxcbiAgICAgICAgICAgICAgICBhbGxvd0RlY2ltYWw6IGRlY2ltYWwgIT09ICduZXZlcicsXG4gICAgICAgICAgICAgICAgcmVxdWlyZURlY2ltYWw6IGRlY2ltYWwgPT09ICdhbHdheXMnLFxuICAgICAgICAgICAgICAgIGRlY2ltYWxTeW1ib2w6IHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgdGhvdXNhbmRTeW1ib2w6IHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgIGF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbDogdHVpRW5hYmxlQXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdCxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBwaXBlOiB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkTnVtYmVyUGlwZShcbiAgICAgICAgICAgICAgICBkZWNpbWFsID09PSAnYWx3YXlzJyA/IGRlY2ltYWxMaW1pdCA6IDAsXG4gICAgICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgICAgICAgICBuYXRpdmVGb2N1c2FibGVFbGVtZW50LFxuICAgICAgICAgICAgICAgIGFsbG93TmVnYXRpdmUsXG4gICAgICAgICAgICAgICAgdGhpcy5pc0lPUyxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgICAgIH0gYXMgVHVpVGV4dE1hc2tPcHRpb25zIGFzIHVua25vd24gYXMgVGV4dE1hc2tDb25maWcpO1xuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmIChtYXNrZWRNb25leVZhbHVlSXNFbXB0eSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzTmF0aXZlVmFsdWVOb3RGaW5pc2hlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2FwcGVkID0gdGhpcy5hYnNvbHV0ZUNhcElucHV0VmFsdWUodmFsdWUpO1xuXG4gICAgICAgIGlmIChjYXBwZWQgPT09IG51bGwgfHwgaXNOYU4oY2FwcGVkKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShjYXBwZWQpO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGNhcHBlZCAhPT1cbiAgICAgICAgICAgIG1hc2tlZE51bWJlclN0cmluZ1RvTnVtYmVyKFxuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICAgICApXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHRoaXMuZm9ybWF0dGVkVmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFUVUlfREVDSU1BTF9TWU1CT0xTLmluY2x1ZGVzKGV2ZW50LmtleSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRlY2ltYWwgPT09ICduZXZlcicpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm5hdGl2ZVZhbHVlLmluY2x1ZGVzKHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IpKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5zZXRDYXJldEFmdGVyQ29tbWEoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcblxuICAgICAgICBpZiAoZm9jdXNlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmF0aXZlTnVtYmVyVmFsdWUgPSB0aGlzLm5hdGl2ZU51bWJlclZhbHVlO1xuXG4gICAgICAgIGlmIChpc05hTihuYXRpdmVOdW1iZXJWYWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXIoKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2xhbXBlZCA9IE1hdGgubWluKHRoaXMubWF4LCBNYXRoLm1heCh0aGlzLm1pbiwgbmF0aXZlTnVtYmVyVmFsdWUpKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKGNsYW1wZWQpO1xuICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gdGhpcy5mb3JtYXR0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBvbkhvdmVyZWQoaG92ZXJlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdmVyZWQoaG92ZXJlZCk7XG4gICAgfVxuXG4gICAgb25QcmVzc2VkKHByZXNzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVQcmVzc2VkKHByZXNzZWQpO1xuICAgIH1cblxuICAgIGdldEZvcm1hdHRlZFZhbHVlKHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBhYnNWYWx1ZSA9IE1hdGguYWJzKHZhbHVlKTtcbiAgICAgICAgY29uc3QgaGFzRnJhY3Rpb24gPSBhYnNWYWx1ZSAlIDEgPiAwO1xuICAgICAgICBsZXQgbGltaXQgPVxuICAgICAgICAgICAgdGhpcy5kZWNpbWFsID09PSAnYWx3YXlzJyB8fCAoaGFzRnJhY3Rpb24gJiYgdGhpcy5kZWNpbWFsICE9PSAnbmV2ZXInKVxuICAgICAgICAgICAgICAgID8gdGhpcy5wcmVjaXNpb25cbiAgICAgICAgICAgICAgICA6IDA7XG5cbiAgICAgICAgY29uc3QgZnJhY3Rpb24gPSBoYXNGcmFjdGlvbiA/IGdldEZyYWN0aW9uUGFydFBhZGRlZCh2YWx1ZSwgdGhpcy5wcmVjaXNpb24pIDogJyc7XG5cbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZCAmJiB0aGlzLmRlY2ltYWwgIT09ICdhbHdheXMnKSB7XG4gICAgICAgICAgICBsaW1pdCA9IGZyYWN0aW9uLmxlbmd0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmb3JtYXROdW1iZXIoXG4gICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgIGxpbWl0LFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuemVyb1BhZGRpbmcsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaXNOYXRpdmVWYWx1ZU5vdEZpbmlzaGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBuYXRpdmVOdW1iZXJWYWx1ZSA9IHRoaXMubmF0aXZlTnVtYmVyVmFsdWU7XG5cbiAgICAgICAgcmV0dXJuIG5hdGl2ZU51bWJlclZhbHVlIDwgMFxuICAgICAgICAgICAgPyBuYXRpdmVOdW1iZXJWYWx1ZSA+IHRoaXMubWF4XG4gICAgICAgICAgICA6IG5hdGl2ZU51bWJlclZhbHVlIDwgdGhpcy5taW47XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZVZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgOiAnJztcbiAgICB9XG5cbiAgICBzZXQgbmF0aXZlVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMucHJpbWl0aXZlVGV4dGZpZWxkIHx8ICF0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJpbWl0aXZlVGV4dGZpZWxkLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IG5hdGl2ZU51bWJlclZhbHVlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBtYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcihcbiAgICAgICAgICAgIHRoaXMubmF0aXZlVmFsdWUsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9ICcnO1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWJzb2x1dGVDYXBJbnB1dFZhbHVlKGlucHV0VmFsdWU6IHN0cmluZyk6IG51bWJlciB8IG51bGwge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IG1hc2tlZE51bWJlclN0cmluZ1RvTnVtYmVyKFxuICAgICAgICAgICAgaW5wdXRWYWx1ZSxcbiAgICAgICAgICAgIHRoaXMubnVtYmVyRm9ybWF0LmRlY2ltYWxTZXBhcmF0b3IsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgY2FwcGVkID1cbiAgICAgICAgICAgIHZhbHVlIDwgMFxuICAgICAgICAgICAgICAgID8gTWF0aC5tYXgoTWF0aC5tYXgodGhpcy5taW4sIE51bWJlci5NSU5fU0FGRV9JTlRFR0VSKSwgdmFsdWUpXG4gICAgICAgICAgICAgICAgOiBNYXRoLm1pbih2YWx1ZSwgTWF0aC5taW4odGhpcy5tYXgsIE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSk7XG4gICAgICAgIGNvbnN0IGluZWxpZ2libGVWYWx1ZSA9IGlzTmFOKGNhcHBlZCkgfHwgY2FwcGVkIDwgdGhpcy5taW4gfHwgY2FwcGVkID4gdGhpcy5tYXg7XG5cbiAgICAgICAgcmV0dXJuIGluZWxpZ2libGVWYWx1ZSA/IG51bGwgOiBjYXBwZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRDYXJldEFmdGVyQ29tbWEoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhZnRlckNvbW1hUG9zaXRpb24gPSB0aGlzLm5hdGl2ZVZhbHVlLmxlbmd0aCAtIHRoaXMucHJlY2lzaW9uO1xuXG4gICAgICAgIHRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudC5zZXRTZWxlY3Rpb25SYW5nZShcbiAgICAgICAgICAgIGFmdGVyQ29tbWFQb3NpdGlvbixcbiAgICAgICAgICAgIGFmdGVyQ29tbWFQb3NpdGlvbixcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -28,7 +28,8 @@ export const INPUT_PHONE_PROVIDERS = [
28
28
  useFactory: selectionStreamFactory,
29
29
  },
30
30
  ];
31
+ // eslint-disable-next-line @typescript-eslint/naming-convention
31
32
  export function selectionStreamFactory(destroy$, documentRef) {
32
33
  return fromEvent(documentRef, 'selectionchange').pipe(windowToggle(merge(fromEvent(documentRef, 'mouseup'), fromEvent(documentRef, 'keydown')), () => fromEvent(documentRef, 'mousedown')), flatMap(windowed$ => windowed$.pipe(startWith(null))), takeUntil(destroy$));
33
34
  }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUucHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lLyIsInNvdXJjZXMiOlsiaW5wdXQtcGhvbmUucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsVUFBVSxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLDJCQUEyQixFQUMzQixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDM0UsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRS9ELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUM5QywrQkFBK0IsQ0FDbEMsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHO0lBQ2pDLGlCQUFpQjtJQUNqQixrQ0FBa0M7SUFDbEM7UUFDSSxPQUFPLEVBQUUsa0JBQWtCO1FBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7S0FDeEQ7SUFDRDtRQUNJLE9BQU8sRUFBRSwyQkFBMkI7UUFDcEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztLQUN4RDtJQUNEO1FBQ0ksT0FBTyxFQUFFLGtCQUFrQjtRQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO0tBQ3hEO0lBQ0Q7UUFDSSxPQUFPLEVBQUUsZ0JBQWdCO1FBQ3pCLElBQUksRUFBRSxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQztRQUNuQyxVQUFVLEVBQUUsc0JBQXNCO0tBQ3JDO0NBQ0osQ0FBQztBQUVGLE1BQU0sVUFBVSxzQkFBc0IsQ0FDbEMsUUFBNkIsRUFDN0IsV0FBcUI7SUFFckIsT0FBTyxTQUFTLENBQUMsV0FBVyxFQUFFLGlCQUFpQixDQUFDLENBQUMsSUFBSSxDQUNqRCxZQUFZLENBQ1IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLEVBQUUsU0FBUyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQyxFQUMzRSxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUM1QyxFQUNELE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDckQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUN0QixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge2ZvcndhcmRSZWYsIEluamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlDb250cm9sLFxuICAgIFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICBUdWlEZXN0cm95U2VydmljZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9EQVRBX0xJU1RfSE9TVH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtGSVhFRF9EUk9QRE9XTl9DT05UUk9MTEVSX1BST1ZJREVSfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Byb3ZpZGVycyc7XG5pbXBvcnQge2Zyb21FdmVudCwgbWVyZ2UsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmbGF0TWFwLCBzdGFydFdpdGgsIHRha2VVbnRpbCwgd2luZG93VG9nZ2xlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VHVpSW5wdXRQaG9uZUNvbXBvbmVudH0gZnJvbSAnLi9pbnB1dC1waG9uZS5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgU0VMRUNUSU9OX1NUUkVBTSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPHVua25vd24+PihcbiAgICAnQSBzdHJlYW0gb2Ygc2VsZWN0aW9uIGNoYW5nZXMnLFxuKTtcbmV4cG9ydCBjb25zdCBJTlBVVF9QSE9ORV9QUk9WSURFUlMgPSBbXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgRklYRURfRFJPUERPV05fQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IEFic3RyYWN0VHVpQ29udHJvbCxcbiAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRQaG9uZUNvbXBvbmVudCksXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRQaG9uZUNvbXBvbmVudCksXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9EQVRBX0xJU1RfSE9TVCxcbiAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRQaG9uZUNvbXBvbmVudCksXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IFNFTEVDVElPTl9TVFJFQU0sXG4gICAgICAgIGRlcHM6IFtUdWlEZXN0cm95U2VydmljZSwgRE9DVU1FTlRdLFxuICAgICAgICB1c2VGYWN0b3J5OiBzZWxlY3Rpb25TdHJlYW1GYWN0b3J5LFxuICAgIH0sXG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gc2VsZWN0aW9uU3RyZWFtRmFjdG9yeShcbiAgICBkZXN0cm95JDogT2JzZXJ2YWJsZTx1bmtub3duPixcbiAgICBkb2N1bWVudFJlZjogRG9jdW1lbnQsXG4pOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICByZXR1cm4gZnJvbUV2ZW50KGRvY3VtZW50UmVmLCAnc2VsZWN0aW9uY2hhbmdlJykucGlwZShcbiAgICAgICAgd2luZG93VG9nZ2xlKFxuICAgICAgICAgICAgbWVyZ2UoZnJvbUV2ZW50KGRvY3VtZW50UmVmLCAnbW91c2V1cCcpLCBmcm9tRXZlbnQoZG9jdW1lbnRSZWYsICdrZXlkb3duJykpLFxuICAgICAgICAgICAgKCkgPT4gZnJvbUV2ZW50KGRvY3VtZW50UmVmLCAnbW91c2Vkb3duJyksXG4gICAgICAgICksXG4gICAgICAgIGZsYXRNYXAod2luZG93ZWQkID0+IHdpbmRvd2VkJC5waXBlKHN0YXJ0V2l0aChudWxsKSkpLFxuICAgICAgICB0YWtlVW50aWwoZGVzdHJveSQpLFxuICAgICk7XG59XG4iXX0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcGhvbmUucHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lLyIsInNvdXJjZXMiOlsiaW5wdXQtcGhvbmUucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsVUFBVSxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLDJCQUEyQixFQUMzQixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDM0UsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRS9ELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUM5QywrQkFBK0IsQ0FDbEMsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHO0lBQ2pDLGlCQUFpQjtJQUNqQixrQ0FBa0M7SUFDbEM7UUFDSSxPQUFPLEVBQUUsa0JBQWtCO1FBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7S0FDeEQ7SUFDRDtRQUNJLE9BQU8sRUFBRSwyQkFBMkI7UUFDcEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztLQUN4RDtJQUNEO1FBQ0ksT0FBTyxFQUFFLGtCQUFrQjtRQUMzQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDO0tBQ3hEO0lBQ0Q7UUFDSSxPQUFPLEVBQUUsZ0JBQWdCO1FBQ3pCLElBQUksRUFBRSxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQztRQUNuQyxVQUFVLEVBQUUsc0JBQXNCO0tBQ3JDO0NBQ0osQ0FBQztBQUVGLGdFQUFnRTtBQUNoRSxNQUFNLFVBQVUsc0JBQXNCLENBQ2xDLFFBQTZCLEVBQzdCLFdBQXFCO0lBRXJCLE9BQU8sU0FBUyxDQUFDLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FDakQsWUFBWSxDQUNSLEtBQUssQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUMsRUFDM0UsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FDNUMsRUFDRCxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ3JELFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FDdEIsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtmb3J3YXJkUmVmLCBJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpQ29udHJvbCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfREFUQV9MSVNUX0hPU1R9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7RklYRURfRFJPUERPV05fQ09OVFJPTExFUl9QUk9WSURFUn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9wcm92aWRlcnMnO1xuaW1wb3J0IHtmcm9tRXZlbnQsIG1lcmdlLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmxhdE1hcCwgc3RhcnRXaXRoLCB0YWtlVW50aWwsIHdpbmRvd1RvZ2dsZX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1R1aUlucHV0UGhvbmVDb21wb25lbnR9IGZyb20gJy4vaW5wdXQtcGhvbmUuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IFNFTEVDVElPTl9TVFJFQU0gPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTx1bmtub3duPj4oXG4gICAgJ0Egc3RyZWFtIG9mIHNlbGVjdGlvbiBjaGFuZ2VzJyxcbik7XG5leHBvcnQgY29uc3QgSU5QVVRfUEhPTkVfUFJPVklERVJTID0gW1xuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIEZJWEVEX0RST1BET1dOX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAge1xuICAgICAgICBwcm92aWRlOiBBYnN0cmFjdFR1aUNvbnRyb2wsXG4gICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0UGhvbmVDb21wb25lbnQpLFxuICAgIH0sXG4gICAge1xuICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0UGhvbmVDb21wb25lbnQpLFxuICAgIH0sXG4gICAge1xuICAgICAgICBwcm92aWRlOiBUVUlfREFUQV9MSVNUX0hPU1QsXG4gICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0UGhvbmVDb21wb25lbnQpLFxuICAgIH0sXG4gICAge1xuICAgICAgICBwcm92aWRlOiBTRUxFQ1RJT05fU1RSRUFNLFxuICAgICAgICBkZXBzOiBbVHVpRGVzdHJveVNlcnZpY2UsIERPQ1VNRU5UXSxcbiAgICAgICAgdXNlRmFjdG9yeTogc2VsZWN0aW9uU3RyZWFtRmFjdG9yeSxcbiAgICB9LFxuXTtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGZ1bmN0aW9uIHNlbGVjdGlvblN0cmVhbUZhY3RvcnkoXG4gICAgZGVzdHJveSQ6IE9ic2VydmFibGU8dW5rbm93bj4sXG4gICAgZG9jdW1lbnRSZWY6IERvY3VtZW50LFxuKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgcmV0dXJuIGZyb21FdmVudChkb2N1bWVudFJlZiwgJ3NlbGVjdGlvbmNoYW5nZScpLnBpcGUoXG4gICAgICAgIHdpbmRvd1RvZ2dsZShcbiAgICAgICAgICAgIG1lcmdlKGZyb21FdmVudChkb2N1bWVudFJlZiwgJ21vdXNldXAnKSwgZnJvbUV2ZW50KGRvY3VtZW50UmVmLCAna2V5ZG93bicpKSxcbiAgICAgICAgICAgICgpID0+IGZyb21FdmVudChkb2N1bWVudFJlZiwgJ21vdXNlZG93bicpLFxuICAgICAgICApLFxuICAgICAgICBmbGF0TWFwKHdpbmRvd2VkJCA9PiB3aW5kb3dlZCQucGlwZShzdGFydFdpdGgobnVsbCkpKSxcbiAgICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICApO1xufVxuIl19
@@ -241,6 +241,7 @@ export const COUNTRIES = {
241
241
  * @deprecated will be deleted soon
242
242
  * TODO: remove in 3.0 (in ivy compilation)
243
243
  */
244
+ // eslint-disable-next-line @typescript-eslint/naming-convention
244
245
  export function countriesMasksReducer(acc, [countryIsoCode, { mask }]) {
245
246
  acc[countryIsoCode] = mask;
246
247
  return acc;
@@ -252,4 +253,4 @@ export function countriesMasksReducer(acc, [countryIsoCode, { mask }]) {
252
253
  */
253
254
  export const COUNTRIES_MASKS = Object.entries(COUNTRIES).reduce(countriesMasksReducer, {});
254
255
  export const MASK_AFTER_CODE_REGEXP = /\([#]+\)|[#\- ]/g;
255
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyaWVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lLWludGVybmF0aW9uYWwvIiwic291cmNlcyI6WyJjb25zdC9jb3VudHJpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJakQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQTRCO0lBQzlDLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUM7SUFDOUQsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRTtRQUNwQixJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLElBQUksRUFBRSwrQkFBK0I7S0FDeEM7SUFDRCxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxZQUFZLEVBQUM7SUFDcEUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUM7SUFDN0UsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFDO0lBQ25FLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBQztJQUNwRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUM7SUFDakUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFDLElB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QUMsQ0FBQyxNQUFNLENBQ3BFLHFCQUFxQixFQUNyQixFQUF1QyxDQUMxQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R1aUNvdW50cnlJc29Db2RlfSBmcm9tICdAdGFpZ2EtdWkvaTE4bic7XG5cbmltcG9ydCB7Q291bnRyeX0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jb3VudHJ5JztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBEb250IHVzZSBpdCAod2lsbCBiZSBkZWxldGVkIHNvb24pLlxuICogLSBVc2UgdG9rZW4gYFRVSV9DT1VOVFJJRVNfTUFTS1NgIHRvIGdldCBwaG9uZSBtYXNrIGJ5IGNvdW50cnkgaXNvIGNvZGVcbiAqIC0gVXNlIHRva2VuIGBUVUlfQ09VTlRSSUVTYCB0byBnZXQgbG9jYWxpemVkIGNvdW50cnkgbmFtZSBieSBpdHMgaXNvIGNvZGVcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQge1RVSV9DT1VOVFJJRVMsIFRVSV9DT1VOVFJJRVNfTUFTS1N9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuICpcbiAqIEB0b2RvIFRPRE86IHJlbW92ZSBpdCBpbiAzLjBcbiAqL1xuZXhwb3J0IGNvbnN0IENPVU5UUklFUzogUmVjb3JkPHN0cmluZywgQ291bnRyeT4gPSB7XG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkFEXToge21hc2s6ICcrMzc2IyMjLSMjIycsIG5hbWU6ICfQkNC90LTQvtGA0YDQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BRV06IHtcbiAgICAgICAgbWFzazogJys5NzEtIyMtIyMjLSMjIyMnLFxuICAgICAgICBuYW1lOiAn0J7QsdGK0LXQtNC40L3QtdC90L3Ri9C1INCQ0YDQsNCx0YHQutC40LUg0K3QvNC40YDQsNGC0YsnLFxuICAgIH0sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkFGXToge21hc2s6ICcrOTMjIy0jIyMtIyMjIycsIG5hbWU6ICfQkNGE0LPQsNC90LjRgdGC0LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BR106IHttYXNrOiAnKzEoMjY4KSAjIyMtIyMjIycsIG5hbWU6ICfQkNC90YLQuNCz0YPQsCDQuCDQkdCw0YDQsdGD0LTQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BSV06IHttYXNrOiAnKzEoMjY0KSAjIyMtIyMjIycsIG5hbWU6ICfQkNC90LPQuNC70YzRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BTF06IHttYXNrOiAnKzM1NSgjIyMpICMjIy0jIyMnLCBuYW1lOiAn0JDQu9Cx0LDQvdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQU1dOiB7bWFzazogJyszNzQjIy0jIyMtIyMjJywgbmFtZTogJ9CQ0YDQvNC10L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkFPXToge21hc2s6ICcrMjQ0KCMjIykgIyMjLSMjIycsIG5hbWU6ICfQkNC90LPQvtC70LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQVJdOiB7bWFzazogJys1NCgjIyMpICMjIy0jIyMjJywgbmFtZTogJ9CQ0YDQs9C10L3RgtC40L3QsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BVF06IHttYXNrOiAnKzQzKCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0JDQstGB0YLRgNC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQVVdOiB7bWFzazogJys2MSMtIyMjIy0jIyMjJywgbmFtZTogJ9CQ0LLRgdGC0YDQsNC70LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BV106IHttYXNrOiAnKzI5NyMjIy0jIyMjJywgbmFtZTogJ9CQ0YDRg9Cx0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQVpdOiB7bWFzazogJys5OTQjIy0jIyMtIyMtIyMnLCBuYW1lOiAn0JDQt9C10YDQsdCw0LnQtNC20LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CQV06IHttYXNrOiAnKzM4NyAjIyMtIyMjIy0jJywgbmFtZTogJ9CR0L7RgdC90LjRjyDQuCDQk9C10YDRhtC10LPQvtCy0LjQvdCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJCXToge21hc2s6ICcrMSgyNDYpICMjIy0jIyMjJywgbmFtZTogJ9CR0LDRgNCx0LDQtNC+0YEnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQkRdOiB7bWFzazogJys4ODAjIy0jIyMtIyMjJywgbmFtZTogJ9CR0LDQvdCz0LvQsNC00LXRiCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CRV06IHttYXNrOiAnKzMyKCMjIykgIyMjLSMjIycsIG5hbWU6ICfQkdC10LvRjNCz0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CRl06IHttYXNrOiAnKzIyNiMjLSMjLSMjIyMnLCBuYW1lOiAn0JHRg9GA0LrQuNC90LAg0KTQsNGB0L4nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQkddOiB7bWFzazogJyszNTkoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9CR0L7Qu9Cz0LDRgNC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQkhdOiB7bWFzazogJys5NzMjIyMjLSMjIyMnLCBuYW1lOiAn0JHQsNGF0YDQtdC50L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQkldOiB7bWFzazogJysyNTcjIy0jIy0jIyMjJywgbmFtZTogJ9CR0YPRgNGD0L3QtNC4J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJKXToge21hc2s6ICcrMjI5IyMtIyMtIyMjIycsIG5hbWU6ICfQkdC10L3QuNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJNXToge21hc2s6ICcrMSg0NDEpICMjIy0jIyMjJywgbmFtZTogJ9CR0LXRgNC80YPQtNGB0LrQuNC1INC+0YHRgtGA0L7QstCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJOXToge21hc2s6ICcrNjczIyMjLSMjIyMnLCBuYW1lOiAn0JHRgNGD0L3QtdC5LdCU0LDRgNGD0YHRgdCw0LvQsNC8J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJPXToge21hc2s6ICcrNTkxIy0jIyMtIyMjIycsIG5hbWU6ICfQkdC+0LvQuNCy0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CUV06IHtcbiAgICAgICAgbWFzazogJys1OTktIyMjLSMjIyMnLFxuICAgICAgICBuYW1lOiAn0JHQvtC90LDQudGA0LUsINCh0LjQvdGCLdCt0YHRgtCw0YLQuNGD0YEg0Lgg0KHQsNCx0LAnLFxuICAgIH0sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJSXToge21hc2s6ICcrNTUoIyMpICMjIyMtIyMjIycsIG5hbWU6ICfQkdGA0LDQt9C40LvQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJTXToge21hc2s6ICcrMSgyNDIpICMjIy0jIyMjJywgbmFtZTogJ9CR0LDQs9Cw0LzRgdC60LjQtSDQntGB0YLRgNC+0LLQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CVF06IHttYXNrOiAnKzk3NSMtIyMjLSMjIycsIG5hbWU6ICfQkdGD0YLQsNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJXXToge21hc2s6ICcrMjY3IyMtIyMjLSMjIycsIG5hbWU6ICfQkdC+0YLRgdCy0LDQvdCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJZXToge21hc2s6ICcrMzc1KCMjKSAjIyMtIyMtIyMnLCBuYW1lOiAn0JHQtdC70LDRgNGD0YHRjCAo0JHQtdC70L7RgNGD0YHRgdC40Y8pJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJaXToge21hc2s6ICcrNTAxIyMjLSMjIyMnLCBuYW1lOiAn0JHQtdC70LjQtyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DQV06IHttYXNrOiAnKzEoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQmtCw0L3QsNC00LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ0RdOiB7XG4gICAgICAgIG1hc2s6ICcrMjQzKCMjIykgIyMjLSMjIycsXG4gICAgICAgIG5hbWU6ICfQlNC10LwuINCg0LXRgdC/LiDQmtC+0L3Qs9C+ICjQmtC40L3RiNCw0YHQsCknLFxuICAgIH0sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNGXToge1xuICAgICAgICBtYXNrOiAnKzIzNi0jIy0jIy0jIyMjJyxcbiAgICAgICAgbmFtZTogJ9Cm0LXQvdGC0YDQsNC70YzQvdC+0LDRhNGA0LjQutCw0L3RgdC60LDRjyDQoNC10YHQv9GD0LHQu9C40LrQsCcsXG4gICAgfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ0ddOiB7bWFzazogJysyNDIjIy0jIyMtIyMjIycsIG5hbWU6ICfQmtC+0L3Qs9C+ICjQkdGA0LDQt9C30LDQstC40LvRjCknfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ0hdOiB7bWFzazogJys0MSMjLSMjIy0jIyMjJywgbmFtZTogJ9Co0LLQtdC50YbQsNGA0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DSV06IHttYXNrOiAnKzIyNSMjLSMjIy0jIyMnLCBuYW1lOiAn0JrQvtGCLdC04oCZ0JjQstGD0LDRgCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DTF06IHttYXNrOiAnKzU2Iy0jIyMjLSMjIyMnLCBuYW1lOiAn0KfQuNC70LgnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ01dOiB7bWFzazogJysyMzcjIyMjLSMjIyMnLCBuYW1lOiAn0JrQsNC80LXRgNGD0L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ05dOiB7bWFzazogJys4NigjIyMpICMjIyMtIyMjIycsIG5hbWU6ICfQmtC40YLQsNC50YHQutCw0Y8g0J0u0KAuJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNPXToge21hc2s6ICcrNTcoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQmtC+0LvRg9C80LHQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNSXToge21hc2s6ICcrNTA2IyMjIy0jIyMjJywgbmFtZTogJ9Ca0L7RgdGC0LAt0KDQuNC60LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ1VdOiB7bWFzazogJys1MyMtIyMjLSMjIyMnLCBuYW1lOiAn0JrRg9Cx0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ1ZdOiB7bWFzazogJysyMzgoIyMjKSAjIy0jIycsIG5hbWU6ICfQmtCw0LHQvi3QktC10YDQtNC1J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNXXToge21hc2s6ICcrNTk5OS0jIyMtIyMjIycsIG5hbWU6ICfQmtGO0YDQsNGB0LDQvid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DWV06IHttYXNrOiAnKzM1NyMjLSMjIy0jIyMnLCBuYW1lOiAn0JrQuNC/0YAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ1pdOiB7bWFzazogJys0MjAoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9Cn0LXRhdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuREVdOiB7bWFzazogJys0OSgjIyMpICMjIy0jIyMtIyMnLCBuYW1lOiAn0JPQtdGA0LzQsNC90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5ESl06IHttYXNrOiAnKzI1MyMjLSMjLSMjLSMjJywgbmFtZTogJ9CU0LbQuNCx0YPRgtC4J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkRLXToge21hc2s6ICcrNDUjIy0jIy0jIy0jIycsIG5hbWU6ICfQlNCw0L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkRNXToge21hc2s6ICcrMSg3NjcpICMjIy0jIyMjJywgbmFtZTogJ9CU0L7QvNC40L3QuNC60LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuRE9dOiB7bWFzazogJysxKCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0JTQvtC80LjQvdC40LrQsNC90YHQutCw0Y8g0KDQtdGB0L/Rg9Cx0LvQuNC60LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuRFpdOiB7bWFzazogJysyMTMjIy0jIyMtIyMjIycsIG5hbWU6ICfQkNC70LbQuNGAJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkVDXToge21hc2s6ICcrNTkzIyMtIyMjLSMjIyMnLCBuYW1lOiAn0K3QutCy0LDQtNC+0YAgJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkVFXToge21hc2s6ICcrMzcyIyMjIy0jIyMjJywgbmFtZTogJ9Ct0YHRgtC+0L3QuNGPICd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5FR106IHttYXNrOiAnKzIwKCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0JXQs9C40L/QtdGCJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkVSXToge21hc2s6ICcrMjkxIy0jIyMtIyMjJywgbmFtZTogJ9Ct0YDQuNGC0YDQtdGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkVTXToge21hc2s6ICcrMzQoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9CY0YHQv9Cw0L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkVUXToge21hc2s6ICcrMjUxIyMtIyMjLSMjIyMnLCBuYW1lOiAn0K3RhNC40L7Qv9C40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuRkldOiB7bWFzazogJyszNTgoIyMjKSAjIyMtIyMtIyMnLCBuYW1lOiAn0KTQuNC90LvRj9C90LTQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkZKXToge21hc2s6ICcrNjc5IyMtIyMjIyMnLCBuYW1lOiAn0KTQuNC00LbQuCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5GS106IHttYXNrOiAnKzUwMCMjIyMjJywgbmFtZTogJ9Ck0L7Qu9C60LvQtdC90LTRgdC60LjQtSDQvtGB0YLRgNC+0LLQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5GTV06IHttYXNrOiAnKzY5MSMjIy0jIyMjJywgbmFtZTogJ9CkLtCoLiDQnNC40LrRgNC+0L3QtdC30LjQuCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5GUl06IHttYXNrOiAnKzMzICMjICMjICMjICMjICMjJywgbmFtZTogJ9Ck0YDQsNC90YbQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdBXToge21hc2s6ICcrMjQxIy0jIy0jIy0jIycsIG5hbWU6ICfQk9Cw0LHQvtC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdCXToge21hc2s6ICcrNDQjIy0jIyMjLSMjIyMnLCBuYW1lOiAn0JLQtdC70LjQutC+0LHRgNC40YLQsNC90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HRF06IHttYXNrOiAnKzEoNDczKSAjIyMtIyMjIycsIG5hbWU6ICfQk9GA0LXQvdCw0LTQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HRV06IHttYXNrOiAnKzk5NSgjIyMpICMjIy0jIyMnLCBuYW1lOiAn0JPRgNGD0LfQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdIXToge21hc2s6ICcrMjMzKCMjIykgIyMjLSMjIycsIG5hbWU6ICfQk9Cw0L3QsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HSV06IHttYXNrOiAnKzM1MCMjIy0jIyMjIycsIG5hbWU6ICfQk9C40LHRgNCw0LvRgtCw0YAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR0xdOiB7bWFzazogJysyOTkjIy0jIy0jIycsIG5hbWU6ICfQk9GA0LXQvdC70LDQvdC00LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HTV06IHttYXNrOiAnKzIyMCgjIyMpICMjLSMjJywgbmFtZTogJ9CT0LDQvNCx0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HTl06IHttYXNrOiAnKzIyNCMjLSMjIy0jIyMnLCBuYW1lOiAn0JPQstC40L3QtdGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdRXToge21hc2s6ICcrMjQwIyMtIyMjLSMjIyMnLCBuYW1lOiAn0K3QutCy0LDRgtC+0YDQuNCw0LvRjNC90LDRjyDQk9Cy0LjQvdC10Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR1JdOiB7bWFzazogJyszMCgjIyMpICMjIy0jIyMjJywgbmFtZTogJ9CT0YDQtdGG0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HVF06IHttYXNrOiAnKzUwMiMtIyMjLSMjIyMnLCBuYW1lOiAn0JPQstCw0YLQtdC80LDQu9CwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdXXToge21hc2s6ICcrMjQ1Iy0jIyMjIyMnLCBuYW1lOiAn0JPQstC40L3QtdGPLdCR0LjRgdCw0YMnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR1ldOiB7bWFzazogJys1OTIjIyMtIyMjIycsIG5hbWU6ICfQk9Cw0LnQsNC90LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSEtdOiB7bWFzazogJys4NTIjIyMjLSMjIyMnLCBuYW1lOiAn0JPQvtC90LrQvtC90LMnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSE5dOiB7bWFzazogJys1MDQjIyMjLSMjIyMnLCBuYW1lOiAn0JPQvtC90LTRg9GA0LDRgSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5IUl06IHttYXNrOiAnKzM4NSMjLSMjIy0jIyMnLCBuYW1lOiAn0KXQvtGA0LLQsNGC0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5IVF06IHttYXNrOiAnKzUwOSMjLSMjLSMjIyMnLCBuYW1lOiAn0JPQsNC40YLQuCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5IVV06IHttYXNrOiAnKzM2KCMjIykgIyMjLSMjIycsIG5hbWU6ICfQktC10L3Qs9GA0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5JRF06IHttYXNrOiAnKzYyKCMjIykgIyMjLSMjLSMjIycsIG5hbWU6ICfQmNC90LTQvtC90LXQt9C40Y8gJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLklFXToge21hc2s6ICcrMzUzKCMjIykgIyMjLSMjIycsIG5hbWU6ICfQmNGA0LvQsNC90LTQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLklMXToge21hc2s6ICcrOTcyIyMtIyMjLSMjIyMnLCBuYW1lOiAn0JjQt9GA0LDQuNC70YwnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSU5dOiB7bWFzazogJys5MSgjIyMjKSAjIyMtIyMjJywgbmFtZTogJ9CY0L3QtNC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSVFdOiB7bWFzazogJys5NjQoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQmNGA0LDQuid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5JUl06IHttYXNrOiAnKzk4KCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0JjRgNCw0L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSVNdOiB7bWFzazogJyszNTQjIyMtIyMjIycsIG5hbWU6ICfQmNGB0LvQsNC90LTQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLklUXToge21hc2s6ICcrMzkoIyMjKSAjIyMjLSMjIycsIG5hbWU6ICfQmNGC0LDQu9C40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSk1dOiB7bWFzazogJysxKDg3NikgIyMjLSMjIyMnLCBuYW1lOiAn0K/QvNCw0LnQutCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkpPXToge21hc2s6ICcrOTYyIy0jIyMjLSMjIyMnLCBuYW1lOiAn0JjQvtGA0LTQsNC90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5KUF06IHttYXNrOiAnKzgxLSMjLSMjIyMtIyMjIycsIG5hbWU6ICfQr9C/0L7QvdC40Y8gJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLktFXToge21hc2s6ICcrMjU0IyMjLSMjIyMjIycsIG5hbWU6ICfQmtC10L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLktHXToge21hc2s6ICcrOTk2KCMjIykgIyMjLSMjIycsIG5hbWU6ICfQmtC40YDQs9C40LfQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLktIXToge21hc2s6ICcrODU1IyMtIyMjLSMjIycsIG5hbWU6ICfQmtCw0LzQsdC+0LTQttCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLktNXToge21hc2s6ICcrMjY5IyMtIyMjIyMnLCBuYW1lOiAn0JrQvtC80L7RgNGLJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLktOXToge21hc2s6ICcrMSg4NjkpICMjIy0jIyMjJywgbmFtZTogJ9Ch0LXQvdGCLdCa0LjRgtGBINC4INCd0LXQstC40YEnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuS1BdOiB7bWFzazogJys4NTAjIyMjLSMjIyMjIyMjIyMjIyMnLCBuYW1lOiAn0JrQvtGA0LXQudGB0LrQsNGPINCd0JTQoCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5LUl06IHttYXNrOiAnKzgyIyMtIyMjLSMjIyMnLCBuYW1lOiAn0KDQtdGB0L8uINCa0L7RgNC10Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuS1ddOiB7bWFzazogJys5NjUjIyMjLSMjIyMnLCBuYW1lOiAn0JrRg9Cy0LXQudGCJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLktZXToge21hc2s6ICcrMSgzNDUpICMjIy0jIyMjJywgbmFtZTogJ9Ca0LDQudC80LDQvdC+0LLRiyDQvtGB0YLRgNC+0LLQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5LWl06IHttYXNrOiAnKzcoIyMjKSAjIyMtIyMtIyMnLCBuYW1lOiAn0JrQsNC30LDRhdGB0YLQsNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkxBXToge21hc2s6ICcrODU2IyMtIyMtIyMjLSMjIycsIG5hbWU6ICfQm9Cw0L7RgSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5MQl06IHttYXNrOiAnKzk2MSMjLSMjIy0jIyMnLCBuYW1lOiAn0JvQuNCy0LDQvSAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTENdOiB7bWFzazogJysxKDc1OCkgIyMjLSMjIyMnLCBuYW1lOiAn0KHQtdC90YIt0JvRjtGB0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5MSV06IHttYXNrOiAnKzQyMygjIyMpICMjIy0jIyMjJywgbmFtZTogJ9Cb0LjRhdGC0LXQvdGI0YLQtdC50L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTEtdOiB7bWFzazogJys5NCMjLSMjIy0jIyMjJywgbmFtZTogJ9Co0YDQuC3Qm9Cw0L3QutCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkxSXToge21hc2s6ICcrMjMxIyMtIyMjLSMjIycsIG5hbWU6ICfQm9C40LHQtdGA0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5MU106IHttYXNrOiAnKzI2NiMtIyMjLSMjIyMnLCBuYW1lOiAn0JvQtdGB0L7RgtC+J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkxUXToge21hc2s6ICcrMzcwKCMjIykgIyMtIyMjJywgbmFtZTogJ9Cb0LjRgtCy0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTFVdOiB7bWFzazogJyszNTIoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9Cb0Y7QutGB0LXQvNCx0YPRgNCzJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkxWXToge21hc2s6ICcrMzcxIyMtIyMjLSMjIycsIG5hbWU6ICfQm9Cw0YLQstC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTFldOiB7bWFzazogJysyMTgjIy0jIyMtIyMjIycsIG5hbWU6ICfQm9C40LLQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1BXToge21hc2s6ICcrMjEyIyMtIyMjIy0jIyMnLCBuYW1lOiAn0JzQsNGA0L7QutC60L4nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTUNdOiB7bWFzazogJyszNzcjIyMtIyMjLSMjIycsIG5hbWU6ICfQnNC+0L3QsNC60L4nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTURdOiB7bWFzazogJyszNzMjIyMjLSMjIyMnLCBuYW1lOiAn0JzQvtC70LTQvtCy0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTUVdOiB7bWFzazogJyszODIjIy0jIyMtIyMjJywgbmFtZTogJ9Cn0LXRgNC90L7Qs9C+0YDQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1HXToge21hc2s6ICcrMjYxIyMtIyMtIyMjIyMnLCBuYW1lOiAn0JzQsNC00LDQs9Cw0YHQutCw0YAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTUtdOiB7bWFzazogJyszODkjIy0jIyMtIyMjJywgbmFtZTogJ9Cg0LXRgdC/LiDQnNCw0LrQtdC00L7QvdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTUxdOiB7bWFzazogJysyMjMjIy0jIy0jIyMjJywgbmFtZTogJ9Cc0LDQu9C4J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1NXToge21hc2s6ICcrOTUjIy0jIyMtIyMjJywgbmFtZTogJ9CR0LjRgNC80LAgKNCc0YzRj9C90LzQsCknfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTU5dOiB7bWFzazogJys5NzYjIy0jIy0jIyMjJywgbmFtZTogJ9Cc0L7QvdCz0L7Qu9C40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTU9dOiB7bWFzazogJys4NTMjIyMjLSMjIyMnLCBuYW1lOiAn0JzQsNC60LDQvid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NUl06IHttYXNrOiAnKzIyMiMjLSMjLSMjIyMnLCBuYW1lOiAn0JzQsNCy0YDQuNGC0LDQvdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTVNdOiB7bWFzazogJysxKDY2NCkgIyMjLSMjIyMnLCBuYW1lOiAn0JzQvtC90YLRgdC10YDRgNCw0YInfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTVRdOiB7bWFzazogJyszNTYjIyMjLSMjIyMnLCBuYW1lOiAn0JzQsNC70YzRgtCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1VXToge21hc2s6ICcrMjMwIyMjLSMjIyMnLCBuYW1lOiAn0JzQsNCy0YDQuNC60LjQuSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NVl06IHttYXNrOiAnKzk2MCMjIy0jIyMjJywgbmFtZTogJ9Cc0LDQu9GM0LTQuNCy0YHQutC40LUg0L7RgdGC0YDQvtCy0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTVddOiB7bWFzazogJysyNjUjLSMjIyMtIyMjIycsIG5hbWU6ICfQnNCw0LvQsNCy0LgnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTVhdOiB7bWFzazogJys1MigjIyMpICMjIy0jIyMjJywgbmFtZTogJ9Cc0LXQutGB0LjQutCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1ZXToge21hc2s6ICcrNjAoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9Cc0LDQu9Cw0LnQt9C40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTVpdOiB7bWFzazogJysyNTgjIy0jIyMtIyMjJywgbmFtZTogJ9Cc0L7Qt9Cw0LzQsdC40LonfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTkFdOiB7bWFzazogJysyNjQjIy0jIyMtIyMjIycsIG5hbWU6ICfQndCw0LzQuNCx0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5ORV06IHttYXNrOiAnKzIyNyMjLSMjLSMjIyMnLCBuYW1lOiAn0J3QuNCz0LXRgCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5OR106IHttYXNrOiAnKzIzNCgjIyMpICMjIy0jIyMjJywgbmFtZTogJ9Cd0LjQs9C10YDQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk5JXToge21hc2s6ICcrNTA1IyMjIy0jIyMjJywgbmFtZTogJ9Cd0LjQutCw0YDQsNCz0YPQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5OTF06IHttYXNrOiAnKzMxIyMtIyMjLSMjIyMnLCBuYW1lOiAn0J3QuNC00LXRgNC70LDQvdC00YsnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTk9dOiB7bWFzazogJys0NygjIyMpICMjLSMjIycsIG5hbWU6ICfQndC+0YDQstC10LPQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk5QXToge21hc2s6ICcrOTc3IyMtIyMjLSMjIycsIG5hbWU6ICfQndC10L/QsNC7J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk5aXToge21hc2s6ICcrNjQoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQndC+0LLQsNGPINCX0LXQu9Cw0L3QtNC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuT01dOiB7bWFzazogJys5NjgjIy0jIyMtIyMjJywgbmFtZTogJ9Ce0LzQsNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlBBXToge21hc2s6ICcrNTA3IyMjLSMjIyMnLCBuYW1lOiAn0J/QsNC90LDQvNCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlBFXToge21hc2s6ICcrNTEoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9Cf0LXRgNGDJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlBGXToge1xuICAgICAgICBtYXNrOiAnKzY4OSMjLSMjLSMjJyxcbiAgICAgICAgbmFtZTogJ9Ck0YDQsNC90YbRg9C30YHQutCw0Y8g0J/QvtC70LjQvdC10LfQuNGPICjQotCw0LjRgtC4KScsXG4gICAgfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuUEddOiB7bWFzazogJys2NzUoIyMjKSAjIy0jIyMnLCBuYW1lOiAn0J/QsNC/0YPQsC3QndC+0LLQsNGPINCT0LLQuNC90LXRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5QSF06IHttYXNrOiAnKzYzKCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0KTQuNC70LjQv9C/0LjQvdGLJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlBLXToge21hc2s6ICcrOTIoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQn9Cw0LrQuNGB0YLQsNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlBMXToge21hc2s6ICcrNDgoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9Cf0L7Qu9GM0YjQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5QVF06IHttYXNrOiAnKzM1MSMjLSMjIy0jIyMjJywgbmFtZTogJ9Cf0L7RgNGC0YPQs9Cw0LvQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlBXXToge21hc2s6ICcrNjgwIyMjLSMjIyMnLCBuYW1lOiAn0J/QsNC70LDRgyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5QWV06IHttYXNrOiAnKzU5NSgjIyMpICMjIy0jIyMnLCBuYW1lOiAn0J/QsNGA0LDQs9Cy0LDQuSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5RQV06IHttYXNrOiAnKzk3NCMjIyMtIyMjIycsIG5hbWU6ICfQmtCw0YLQsNGAJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlJPXToge21hc2s6ICcrNDAjIy0jIyMtIyMjIycsIG5hbWU6ICfQoNGD0LzRi9C90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5SU106IHttYXNrOiAnKzM4MSMjLSMjIy0jIyMjJywgbmFtZTogJ9Ch0LXRgNCx0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5SVV06IHttYXNrOiAnKzcjIyMgIyMjLSMjLSMjJywgbmFtZTogJ9Cg0L7RgdGB0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5SV106IHttYXNrOiAnKzI1MCgjIyMpICMjIy0jIyMnLCBuYW1lOiAn0KDRg9Cw0L3QtNCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNBXToge21hc2s6ICcrOTY2Iy0jIyMjLSMjIyMnLCBuYW1lOiAn0KHQsNGD0LTQvtCy0YHQutCw0Y8g0JDRgNCw0LLQuNGPICd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TQl06IHttYXNrOiAnKzY3NyMjIy0jIyMjJywgbmFtZTogJ9Ch0L7Qu9C+0LzQvtC90L7QstGLINCe0YHRgtGA0L7QstCwICd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TQ106IHttYXNrOiAnKzI0OCMtIyMjLSMjIycsIG5hbWU6ICfQodC10LnRiNC10LvRiyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TRF06IHttYXNrOiAnKzI0OSMjLSMjIy0jIyMjJywgbmFtZTogJ9Ch0YPQtNCw0L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU0VdOiB7bWFzazogJys0NiMjLSMjIy0jIyMjJywgbmFtZTogJ9Co0LLQtdGG0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TR106IHttYXNrOiAnKzY1IyMjIy0jIyMjJywgbmFtZTogJ9Ch0LjQvdCz0LDQv9GD0YAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU0hdOiB7bWFzazogJysyOTAjIyMjJywgbmFtZTogJ9Ce0YHRgtGA0L7QsiDQodCy0Y/RgtC+0Lkg0JXQu9C10L3Riyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TSV06IHttYXNrOiAnKzM4NiMjLSMjIy0jIyMnLCBuYW1lOiAn0KHQu9C+0LLQtdC90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TS106IHttYXNrOiAnKzQyMSgjIyMpICMjIy0jIyMnLCBuYW1lOiAn0KHQu9C+0LLQsNC60LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TTF06IHttYXNrOiAnKzIzMiMjLSMjIyMjIycsIG5hbWU6ICfQodGM0LXRgNGA0LAt0JvQtdC+0L3QtSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TTV06IHttYXNrOiAnKzM3OCMjIyMtIyMjIyMjJywgbmFtZTogJ9Ch0LDQvS3QnNCw0YDQuNC90L4nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU05dOiB7bWFzazogJysyMjEjIy0jIyMtIyMjIycsIG5hbWU6ICfQodC10L3QtdCz0LDQuyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TT106IHttYXNrOiAnKzI1MiMjLSMjIy0jIyMnLCBuYW1lOiAn0KHQvtC80LDQu9C4J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNSXToge21hc2s6ICcrNTk3IyMjLSMjIyMnLCBuYW1lOiAn0KHRg9GA0LjQvdCw0LwgJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNUXToge21hc2s6ICcrMjM5IyMtIyMjIyMnLCBuYW1lOiAn0KHQsNC9LdCi0L7QvNC1INC4INCf0YDQuNC90YHQuNC/0LgnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU1ZdOiB7bWFzazogJys1MDMjIy0jIy0jIyMjJywgbmFtZTogJ9Ch0LDQu9GM0LLQsNC00L7RgCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TWF06IHttYXNrOiAnKzEoNzIxKSAjIyMtIyMjIycsIG5hbWU6ICfQodC40L3Rgi3QnNCw0YDRgtC10L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU1ldOiB7XG4gICAgICAgIG1hc2s6ICcrOTYzIyMtIyMjIy0jIyMnLFxuICAgICAgICBuYW1lOiAn0KHQuNGA0LjQudGB0LrQsNGPINCw0YDQsNCx0YHQutCw0Y8g0YDQtdGB0L/Rg9Cx0LvQuNC60LAnLFxuICAgIH0sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNaXToge21hc2s6ICcrMjY4IyMtIyMtIyMjIycsIG5hbWU6ICfQodCy0LDQt9C40LvQtdC90LQnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVENdOiB7bWFzazogJysxKDY0OSkgIyMjLSMjIyMnLCBuYW1lOiAn0KLRkdGA0LrRgSDQuCDQmtCw0LnQutC+0YEnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVERdOiB7bWFzazogJysyMzUjIy0jIy0jIy0jIycsIG5hbWU6ICfQp9Cw0LQnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVEddOiB7bWFzazogJysyMjgjIy0jIyMtIyMjJywgbmFtZTogJ9Ci0L7Qs9C+J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlRIXToge21hc2s6ICcrNjYjIy0jIyMtIyMjIycsIG5hbWU6ICfQotCw0LjQu9Cw0L3QtCAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVEpdOiB7bWFzazogJys5OTIjIy0jIyMtIyMjIycsIG5hbWU6ICfQotCw0LTQttC40LrQuNGB0YLQsNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlRMXToge21hc2s6ICcrNjcwIyMjLSMjIyMjJywgbmFtZTogJ9CS0L7RgdGC0L7Rh9C90YvQuSDQotC40LzQvtGAJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlRNXToge21hc2s6ICcrOTkzIy0jIyMtIyMjIycsIG5hbWU6ICfQotGD0YDQutC80LXQvdC40YHRgtCw0L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVE5dOiB7bWFzazogJysyMTYjIy0jIyMtIyMjJywgbmFtZTogJ9Ci0YPQvdC40YEnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVE9dOiB7bWFzazogJys2NzYjIyMjIycsIG5hbWU6ICfQotC+0L3Qs9CwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlRSXToge21hc2s6ICcrOTAoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQotGD0YDRhtC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVFRdOiB7bWFzazogJysxKDg2OCkgIyMjLSMjIyMnLCBuYW1lOiAn0KLRgNC40L3QuNC00LDQtCDQuCDQotC+0LHQsNCz0L4nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVFddOiB7bWFzazogJys4ODYjLSMjIyMtIyMjIycsIG5hbWU6ICfQotCw0LnQstCw0L3RjCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5UWl06IHttYXNrOiAnKzI1NSMjLSMjIy0jIyMjJywgbmFtZTogJ9Ci0LDQvdC30LDQvdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVUFdOiB7bWFzazogJyszODAoIyMpICMjIy0jIy0jIycsIG5hbWU6ICfQo9C60YDQsNC40L3QsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5VR106IHttYXNrOiAnKzI1NigjIyMpICMjIy0jIyMnLCBuYW1lOiAn0KPQs9Cw0L3QtNCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlVTXToge21hc2s6ICcrMSgjIyMpICMjIy0jIyMjJywgbmFtZTogJ9Ch0KjQkCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5VWV06IHttYXNrOiAnKzU5OCMtIyMjLSMjLSMjJywgbmFtZTogJ9Cj0YDRg9Cz0LLQsNC5J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlVaXToge21hc2s6ICcrOTk4IyMtIyMjLSMjIyMnLCBuYW1lOiAn0KPQt9Cx0LXQutC40YHRgtCw0L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVkNdOiB7bWFzazogJysxKDc4NCkgIyMjLSMjIyMnLCBuYW1lOiAn0KHQtdC90YIt0JLQuNC90YHQtdC90YIg0Lgg0JPRgNC10L3QsNC00LjQvdGLJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlZFXToge21hc2s6ICcrNTgoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQktC10L3QtdGB0YPRjdC70LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVkddOiB7XG4gICAgICAgIG1hc2s6ICcrMSgyODQpIyMjLSMjIyMnLFxuICAgICAgICBuYW1lOiAn0JHRgNC40YLQsNC90YHQutC40LUg0JLQuNGA0LPQuNC90YHQutC40LUg0L7RgdGC0YDQvtCy0LAnLFxuICAgIH0sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlZOXToge21hc2s6ICcrODQoIyMjKSAjIyMjLSMjIycsIG5hbWU6ICfQktGM0LXRgtC90LDQvCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5WVV06IHttYXNrOiAnKzY3OCMjLSMjIyMjJywgbmFtZTogJ9CS0LDQvdGD0LDRgtGDICd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5XU106IHttYXNrOiAnKzY4NSMjLSMjIyMnLCBuYW1lOiAn0KHQsNC80L7QsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5ZRV06IHttYXNrOiAnKzk2NyMjIy0jIyMtIyMjJywgbmFtZTogJ9CZ0LXQvNC10L0gJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlpBXToge21hc2s6ICcrMjcjIy0jIyMtIyMjIycsIG5hbWU6ICfQrtC20L3Qvi3QkNGE0YDQuNC60LDQvdGB0LrQsNGPINCg0LXRgdC/Lid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5aTV06IHttYXNrOiAnKzI2MCMjLSMjIy0jIyMjJywgbmFtZTogJ9CX0LDQvNCx0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5aV106IHttYXNrOiAnKzI2MyMtIyMjIyMjJywgbmFtZTogJ9CX0LjQvNCx0LDQsdCy0LUnfSxcbn07XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgd2lsbCBiZSBkZWxldGVkIHNvb25cbiAqIFRPRE86IHJlbW92ZSBpbiAzLjAgKGluIGl2eSBjb21waWxhdGlvbilcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvdW50cmllc01hc2tzUmVkdWNlcihcbiAgICBhY2M6IFJlY29yZDxUdWlDb3VudHJ5SXNvQ29kZSwgc3RyaW5nPixcbiAgICBbY291bnRyeUlzb0NvZGUsIHttYXNrfV06IFtzdHJpbmcsIHttYXNrOiBzdHJpbmd9XSxcbik6IFJlY29yZDxUdWlDb3VudHJ5SXNvQ29kZSwgc3RyaW5nPiB7XG4gICAgYWNjW2NvdW50cnlJc29Db2RlIGFzIFR1aUNvdW50cnlJc29Db2RlXSA9IG1hc2s7XG5cbiAgICByZXR1cm4gYWNjO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIHdpbGwgYmUgZGVsZXRlZCBzb29uXG4gKiBVc2UgdG9rZW4gYFRVSV9DT1VOVFJJRVNfTUFTS1NgXG4gKiBUT0RPOiByZW1vdmUgaW4gMy4wXG4gKi9cbmV4cG9ydCBjb25zdCBDT1VOVFJJRVNfTUFTS1MgPSBPYmplY3QuZW50cmllczxDb3VudHJ5PihDT1VOVFJJRVMpLnJlZHVjZShcbiAgICBjb3VudHJpZXNNYXNrc1JlZHVjZXIsXG4gICAge30gYXMgUmVjb3JkPFR1aUNvdW50cnlJc29Db2RlLCBzdHJpbmc+LFxuKTtcblxuZXhwb3J0IGNvbnN0IE1BU0tfQUZURVJfQ09ERV9SRUdFWFAgPSAvXFwoWyNdK1xcKXxbI1xcLSBdL2c7XG4iXX0=
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyaWVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lLWludGVybmF0aW9uYWwvIiwic291cmNlcyI6WyJjb25zdC9jb3VudHJpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJakQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQTRCO0lBQzlDLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUM7SUFDOUQsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRTtRQUNwQixJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLElBQUksRUFBRSwrQkFBK0I7S0FDeEM7SUFDRCxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxZQUFZLEVBQUM7SUFDcEUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUM7SUFDN0UsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFDO0lBQ25FLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBQztJQUNwRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUM7SUFDakUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFDLElB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LENBQVUsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUNwRSxxQkFBcUIsRUFDckIsRUFBdUMsQ0FDMUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUdWlDb3VudHJ5SXNvQ29kZX0gZnJvbSAnQHRhaWdhLXVpL2kxOG4nO1xuXG5pbXBvcnQge0NvdW50cnl9IGZyb20gJy4uL2ludGVyZmFjZXMvY291bnRyeSc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgRG9udCB1c2UgaXQgKHdpbGwgYmUgZGVsZXRlZCBzb29uKS5cbiAqIC0gVXNlIHRva2VuIGBUVUlfQ09VTlRSSUVTX01BU0tTYCB0byBnZXQgcGhvbmUgbWFzayBieSBjb3VudHJ5IGlzbyBjb2RlXG4gKiAtIFVzZSB0b2tlbiBgVFVJX0NPVU5UUklFU2AgdG8gZ2V0IGxvY2FsaXplZCBjb3VudHJ5IG5hbWUgYnkgaXRzIGlzbyBjb2RlXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHtUVUlfQ09VTlRSSUVTLCBUVUlfQ09VTlRSSUVTX01BU0tTfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcbiAqXG4gKiBAdG9kbyBUT0RPOiByZW1vdmUgaXQgaW4gMy4wXG4gKi9cbmV4cG9ydCBjb25zdCBDT1VOVFJJRVM6IFJlY29yZDxzdHJpbmcsIENvdW50cnk+ID0ge1xuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BRF06IHttYXNrOiAnKzM3NiMjIy0jIyMnLCBuYW1lOiAn0JDQvdC00L7RgNGA0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQUVdOiB7XG4gICAgICAgIG1hc2s6ICcrOTcxLSMjLSMjIy0jIyMjJyxcbiAgICAgICAgbmFtZTogJ9Ce0LHRitC10LTQuNC90LXQvdC90YvQtSDQkNGA0LDQsdGB0LrQuNC1INCt0LzQuNGA0LDRgtGLJyxcbiAgICB9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BRl06IHttYXNrOiAnKzkzIyMtIyMjLSMjIyMnLCBuYW1lOiAn0JDRhNCz0LDQvdC40YHRgtCw0L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQUddOiB7bWFzazogJysxKDI2OCkgIyMjLSMjIyMnLCBuYW1lOiAn0JDQvdGC0LjQs9GD0LAg0Lgg0JHQsNGA0LHRg9C00LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQUldOiB7bWFzazogJysxKDI2NCkgIyMjLSMjIyMnLCBuYW1lOiAn0JDQvdCz0LjQu9GM0Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQUxdOiB7bWFzazogJyszNTUoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9CQ0LvQsdCw0L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkFNXToge21hc2s6ICcrMzc0IyMtIyMjLSMjIycsIG5hbWU6ICfQkNGA0LzQtdC90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5BT106IHttYXNrOiAnKzI0NCgjIyMpICMjIy0jIyMnLCBuYW1lOiAn0JDQvdCz0L7Qu9CwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkFSXToge21hc2s6ICcrNTQoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQkNGA0LPQtdC90YLQuNC90LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQVRdOiB7bWFzazogJys0MygjIyMpICMjIy0jIyMjJywgbmFtZTogJ9CQ0LLRgdGC0YDQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkFVXToge21hc2s6ICcrNjEjLSMjIyMtIyMjIycsIG5hbWU6ICfQkNCy0YHRgtGA0LDQu9C40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQVddOiB7bWFzazogJysyOTcjIyMtIyMjIycsIG5hbWU6ICfQkNGA0YPQsdCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkFaXToge21hc2s6ICcrOTk0IyMtIyMjLSMjLSMjJywgbmFtZTogJ9CQ0LfQtdGA0LHQsNC50LTQttCw0L0nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQkFdOiB7bWFzazogJyszODcgIyMjLSMjIyMtIycsIG5hbWU6ICfQkdC+0YHQvdC40Y8g0Lgg0JPQtdGA0YbQtdCz0L7QstC40L3QsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CQl06IHttYXNrOiAnKzEoMjQ2KSAjIyMtIyMjIycsIG5hbWU6ICfQkdCw0YDQsdCw0LTQvtGBJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJEXToge21hc2s6ICcrODgwIyMtIyMjLSMjIycsIG5hbWU6ICfQkdCw0L3Qs9C70LDQtNC10YgnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQkVdOiB7bWFzazogJyszMigjIyMpICMjIy0jIyMnLCBuYW1lOiAn0JHQtdC70YzQs9C40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQkZdOiB7bWFzazogJysyMjYjIy0jIy0jIyMjJywgbmFtZTogJ9CR0YPRgNC60LjQvdCwINCk0LDRgdC+J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJHXToge21hc2s6ICcrMzU5KCMjIykgIyMjLSMjIycsIG5hbWU6ICfQkdC+0LvQs9Cw0YDQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJIXToge21hc2s6ICcrOTczIyMjIy0jIyMjJywgbmFtZTogJ9CR0LDRhdGA0LXQudC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkJJXToge21hc2s6ICcrMjU3IyMtIyMtIyMjIycsIG5hbWU6ICfQkdGD0YDRg9C90LTQuCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CSl06IHttYXNrOiAnKzIyOSMjLSMjLSMjIyMnLCBuYW1lOiAn0JHQtdC90LjQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CTV06IHttYXNrOiAnKzEoNDQxKSAjIyMtIyMjIycsIG5hbWU6ICfQkdC10YDQvNGD0LTRgdC60LjQtSDQvtGB0YLRgNC+0LLQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CTl06IHttYXNrOiAnKzY3MyMjIy0jIyMjJywgbmFtZTogJ9CR0YDRg9C90LXQuS3QlNCw0YDRg9GB0YHQsNC70LDQvCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CT106IHttYXNrOiAnKzU5MSMtIyMjLSMjIyMnLCBuYW1lOiAn0JHQvtC70LjQstC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQlFdOiB7XG4gICAgICAgIG1hc2s6ICcrNTk5LSMjIy0jIyMjJyxcbiAgICAgICAgbmFtZTogJ9CR0L7QvdCw0LnRgNC1LCDQodC40L3Rgi3QrdGB0YLQsNGC0LjRg9GBINC4INCh0LDQsdCwJyxcbiAgICB9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CUl06IHttYXNrOiAnKzU1KCMjKSAjIyMjLSMjIyMnLCBuYW1lOiAn0JHRgNCw0LfQuNC70LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CU106IHttYXNrOiAnKzEoMjQyKSAjIyMtIyMjIycsIG5hbWU6ICfQkdCw0LPQsNC80YHQutC40LUg0J7RgdGC0YDQvtCy0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQlRdOiB7bWFzazogJys5NzUjLSMjIy0jIyMnLCBuYW1lOiAn0JHRg9GC0LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CV106IHttYXNrOiAnKzI2NyMjLSMjIy0jIyMnLCBuYW1lOiAn0JHQvtGC0YHQstCw0L3QsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CWV06IHttYXNrOiAnKzM3NSgjIykgIyMjLSMjLSMjJywgbmFtZTogJ9CR0LXQu9Cw0YDRg9GB0YwgKNCR0LXQu9C+0YDRg9GB0YHQuNGPKSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5CWl06IHttYXNrOiAnKzUwMSMjIy0jIyMjJywgbmFtZTogJ9CR0LXQu9C40LcnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ0FdOiB7bWFzazogJysxKCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0JrQsNC90LDQtNCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNEXToge1xuICAgICAgICBtYXNrOiAnKzI0MygjIyMpICMjIy0jIyMnLFxuICAgICAgICBuYW1lOiAn0JTQtdC8LiDQoNC10YHQvy4g0JrQvtC90LPQviAo0JrQuNC90YjQsNGB0LApJyxcbiAgICB9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DRl06IHtcbiAgICAgICAgbWFzazogJysyMzYtIyMtIyMtIyMjIycsXG4gICAgICAgIG5hbWU6ICfQptC10L3RgtGA0LDQu9GM0L3QvtCw0YTRgNC40LrQsNC90YHQutCw0Y8g0KDQtdGB0L/Rg9Cx0LvQuNC60LAnLFxuICAgIH0sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNHXToge21hc2s6ICcrMjQyIyMtIyMjLSMjIyMnLCBuYW1lOiAn0JrQvtC90LPQviAo0JHRgNCw0LfQt9Cw0LLQuNC70YwpJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNIXToge21hc2s6ICcrNDEjIy0jIyMtIyMjIycsIG5hbWU6ICfQqNCy0LXQudGG0LDRgNC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ0ldOiB7bWFzazogJysyMjUjIy0jIyMtIyMjJywgbmFtZTogJ9Ca0L7Rgi3QtOKAmdCY0LLRg9Cw0YAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ0xdOiB7bWFzazogJys1NiMtIyMjIy0jIyMjJywgbmFtZTogJ9Cn0LjQu9C4J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNNXToge21hc2s6ICcrMjM3IyMjIy0jIyMjJywgbmFtZTogJ9Ca0LDQvNC10YDRg9C9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNOXToge21hc2s6ICcrODYoIyMjKSAjIyMjLSMjIyMnLCBuYW1lOiAn0JrQuNGC0LDQudGB0LrQsNGPINCdLtCgLid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DT106IHttYXNrOiAnKzU3KCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0JrQvtC70YPQvNCx0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DUl06IHttYXNrOiAnKzUwNiMjIyMtIyMjIycsIG5hbWU6ICfQmtC+0YHRgtCwLdCg0LjQutCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNVXToge21hc2s6ICcrNTMjLSMjIy0jIyMjJywgbmFtZTogJ9Ca0YPQsdCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNWXToge21hc2s6ICcrMjM4KCMjIykgIyMtIyMnLCBuYW1lOiAn0JrQsNCx0L4t0JLQtdGA0LTQtSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5DV106IHttYXNrOiAnKzU5OTktIyMjLSMjIyMnLCBuYW1lOiAn0JrRjtGA0LDRgdCw0L4nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuQ1ldOiB7bWFzazogJyszNTcjIy0jIyMtIyMjJywgbmFtZTogJ9Ca0LjQv9GAJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkNaXToge21hc2s6ICcrNDIwKCMjIykgIyMjLSMjIycsIG5hbWU6ICfQp9C10YXQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkRFXToge21hc2s6ICcrNDkoIyMjKSAjIyMtIyMjLSMjJywgbmFtZTogJ9CT0LXRgNC80LDQvdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuREpdOiB7bWFzazogJysyNTMjIy0jIy0jIy0jIycsIG5hbWU6ICfQlNC20LjQsdGD0YLQuCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5ES106IHttYXNrOiAnKzQ1IyMtIyMtIyMtIyMnLCBuYW1lOiAn0JTQsNC90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5ETV06IHttYXNrOiAnKzEoNzY3KSAjIyMtIyMjIycsIG5hbWU6ICfQlNC+0LzQuNC90LjQutCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkRPXToge21hc2s6ICcrMSgjIyMpICMjIy0jIyMjJywgbmFtZTogJ9CU0L7QvNC40L3QuNC60LDQvdGB0LrQsNGPINCg0LXRgdC/0YPQsdC70LjQutCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkRaXToge21hc2s6ICcrMjEzIyMtIyMjLSMjIyMnLCBuYW1lOiAn0JDQu9C20LjRgCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5FQ106IHttYXNrOiAnKzU5MyMjLSMjIy0jIyMjJywgbmFtZTogJ9Ct0LrQstCw0LTQvtGAICd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5FRV06IHttYXNrOiAnKzM3MiMjIyMtIyMjIycsIG5hbWU6ICfQrdGB0YLQvtC90LjRjyAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuRUddOiB7bWFzazogJysyMCgjIyMpICMjIy0jIyMjJywgbmFtZTogJ9CV0LPQuNC/0LXRgid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5FUl06IHttYXNrOiAnKzI5MSMtIyMjLSMjIycsIG5hbWU6ICfQrdGA0LjRgtGA0LXRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5FU106IHttYXNrOiAnKzM0KCMjIykgIyMjLSMjIycsIG5hbWU6ICfQmNGB0L/QsNC90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5FVF06IHttYXNrOiAnKzI1MSMjLSMjIy0jIyMjJywgbmFtZTogJ9Ct0YTQuNC+0L/QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkZJXToge21hc2s6ICcrMzU4KCMjIykgIyMjLSMjLSMjJywgbmFtZTogJ9Ck0LjQvdC70Y/QvdC00LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5GSl06IHttYXNrOiAnKzY3OSMjLSMjIyMjJywgbmFtZTogJ9Ck0LjQtNC20LgnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuRktdOiB7bWFzazogJys1MDAjIyMjIycsIG5hbWU6ICfQpNC+0LvQutC70LXQvdC00YHQutC40LUg0L7RgdGC0YDQvtCy0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuRk1dOiB7bWFzazogJys2OTEjIyMtIyMjIycsIG5hbWU6ICfQpC7QqC4g0JzQuNC60YDQvtC90LXQt9C40LgnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuRlJdOiB7bWFzazogJyszMyAjIyAjIyAjIyAjIyAjIycsIG5hbWU6ICfQpNGA0LDQvdGG0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HQV06IHttYXNrOiAnKzI0MSMtIyMtIyMtIyMnLCBuYW1lOiAn0JPQsNCx0L7QvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HQl06IHttYXNrOiAnKzQ0IyMtIyMjIy0jIyMjJywgbmFtZTogJ9CS0LXQu9C40LrQvtCx0YDQuNGC0LDQvdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR0RdOiB7bWFzazogJysxKDQ3MykgIyMjLSMjIyMnLCBuYW1lOiAn0JPRgNC10L3QsNC00LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR0VdOiB7bWFzazogJys5OTUoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9CT0YDRg9C30LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HSF06IHttYXNrOiAnKzIzMygjIyMpICMjIy0jIyMnLCBuYW1lOiAn0JPQsNC90LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR0ldOiB7bWFzazogJyszNTAjIyMtIyMjIyMnLCBuYW1lOiAn0JPQuNCx0YDQsNC70YLQsNGAJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdMXToge21hc2s6ICcrMjk5IyMtIyMtIyMnLCBuYW1lOiAn0JPRgNC10L3Qu9Cw0L3QtNC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR01dOiB7bWFzazogJysyMjAoIyMjKSAjIy0jIycsIG5hbWU6ICfQk9Cw0LzQsdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR05dOiB7bWFzazogJysyMjQjIy0jIyMtIyMjJywgbmFtZTogJ9CT0LLQuNC90LXRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HUV06IHttYXNrOiAnKzI0MCMjLSMjIy0jIyMjJywgbmFtZTogJ9Ct0LrQstCw0YLQvtGA0LjQsNC70YzQvdCw0Y8g0JPQstC40L3QtdGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdSXToge21hc2s6ICcrMzAoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQk9GA0LXRhtC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuR1RdOiB7bWFzazogJys1MDIjLSMjIy0jIyMjJywgbmFtZTogJ9CT0LLQsNGC0LXQvNCw0LvQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5HV106IHttYXNrOiAnKzI0NSMtIyMjIyMjJywgbmFtZTogJ9CT0LLQuNC90LXRjy3QkdC40YHQsNGDJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkdZXToge21hc2s6ICcrNTkyIyMjLSMjIyMnLCBuYW1lOiAn0JPQsNC50LDQvdCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkhLXToge21hc2s6ICcrODUyIyMjIy0jIyMjJywgbmFtZTogJ9CT0L7QvdC60L7QvdCzJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkhOXToge21hc2s6ICcrNTA0IyMjIy0jIyMjJywgbmFtZTogJ9CT0L7QvdC00YPRgNCw0YEnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSFJdOiB7bWFzazogJyszODUjIy0jIyMtIyMjJywgbmFtZTogJ9Cl0L7RgNCy0LDRgtC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSFRdOiB7bWFzazogJys1MDkjIy0jIy0jIyMjJywgbmFtZTogJ9CT0LDQuNGC0LgnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSFVdOiB7bWFzazogJyszNigjIyMpICMjIy0jIyMnLCBuYW1lOiAn0JLQtdC90LPRgNC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSURdOiB7bWFzazogJys2MigjIyMpICMjIy0jIy0jIyMnLCBuYW1lOiAn0JjQvdC00L7QvdC10LfQuNGPICd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5JRV06IHttYXNrOiAnKzM1MygjIyMpICMjIy0jIyMnLCBuYW1lOiAn0JjRgNC70LDQvdC00LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5JTF06IHttYXNrOiAnKzk3MiMjLSMjIy0jIyMjJywgbmFtZTogJ9CY0LfRgNCw0LjQu9GMJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLklOXToge21hc2s6ICcrOTEoIyMjIykgIyMjLSMjIycsIG5hbWU6ICfQmNC90LTQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLklRXToge21hc2s6ICcrOTY0KCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0JjRgNCw0LonfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSVJdOiB7bWFzazogJys5OCgjIyMpICMjIy0jIyMjJywgbmFtZTogJ9CY0YDQsNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLklTXToge21hc2s6ICcrMzU0IyMjLSMjIyMnLCBuYW1lOiAn0JjRgdC70LDQvdC00LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5JVF06IHttYXNrOiAnKzM5KCMjIykgIyMjIy0jIyMnLCBuYW1lOiAn0JjRgtCw0LvQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkpNXToge21hc2s6ICcrMSg4NzYpICMjIy0jIyMjJywgbmFtZTogJ9Cv0LzQsNC50LrQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5KT106IHttYXNrOiAnKzk2MiMtIyMjIy0jIyMjJywgbmFtZTogJ9CY0L7RgNC00LDQvdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuSlBdOiB7bWFzazogJys4MS0jIy0jIyMjLSMjIyMnLCBuYW1lOiAn0K/Qv9C+0L3QuNGPICd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5LRV06IHttYXNrOiAnKzI1NCMjIy0jIyMjIyMnLCBuYW1lOiAn0JrQtdC90LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5LR106IHttYXNrOiAnKzk5NigjIyMpICMjIy0jIyMnLCBuYW1lOiAn0JrQuNGA0LPQuNC30LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5LSF06IHttYXNrOiAnKzg1NSMjLSMjIy0jIyMnLCBuYW1lOiAn0JrQsNC80LHQvtC00LbQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5LTV06IHttYXNrOiAnKzI2OSMjLSMjIyMjJywgbmFtZTogJ9Ca0L7QvNC+0YDRiyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5LTl06IHttYXNrOiAnKzEoODY5KSAjIyMtIyMjIycsIG5hbWU6ICfQodC10L3Rgi3QmtC40YLRgSDQuCDQndC10LLQuNGBJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLktQXToge21hc2s6ICcrODUwIyMjIy0jIyMjIyMjIyMjIyMjJywgbmFtZTogJ9Ca0L7RgNC10LnRgdC60LDRjyDQndCU0KAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuS1JdOiB7bWFzazogJys4MiMjLSMjIy0jIyMjJywgbmFtZTogJ9Cg0LXRgdC/LiDQmtC+0YDQtdGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLktXXToge21hc2s6ICcrOTY1IyMjIy0jIyMjJywgbmFtZTogJ9Ca0YPQstC10LnRgid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5LWV06IHttYXNrOiAnKzEoMzQ1KSAjIyMtIyMjIycsIG5hbWU6ICfQmtCw0LnQvNCw0L3QvtCy0Ysg0L7RgdGC0YDQvtCy0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuS1pdOiB7bWFzazogJys3KCMjIykgIyMjLSMjLSMjJywgbmFtZTogJ9Ca0LDQt9Cw0YXRgdGC0LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5MQV06IHttYXNrOiAnKzg1NiMjLSMjLSMjIy0jIyMnLCBuYW1lOiAn0JvQsNC+0YEnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTEJdOiB7bWFzazogJys5NjEjIy0jIyMtIyMjJywgbmFtZTogJ9Cb0LjQstCw0L0gJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkxDXToge21hc2s6ICcrMSg3NTgpICMjIy0jIyMjJywgbmFtZTogJ9Ch0LXQvdGCLdCb0Y7RgdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTEldOiB7bWFzazogJys0MjMoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQm9C40YXRgtC10L3RiNGC0LXQudC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkxLXToge21hc2s6ICcrOTQjIy0jIyMtIyMjIycsIG5hbWU6ICfQqNGA0Lgt0JvQsNC90LrQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5MUl06IHttYXNrOiAnKzIzMSMjLSMjIy0jIyMnLCBuYW1lOiAn0JvQuNCx0LXRgNC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTFNdOiB7bWFzazogJysyNjYjLSMjIy0jIyMjJywgbmFtZTogJ9Cb0LXRgdC+0YLQvid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5MVF06IHttYXNrOiAnKzM3MCgjIyMpICMjLSMjIycsIG5hbWU6ICfQm9C40YLQstCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkxVXToge21hc2s6ICcrMzUyKCMjIykgIyMjLSMjIycsIG5hbWU6ICfQm9GO0LrRgdC10LzQsdGD0YDQsyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5MVl06IHttYXNrOiAnKzM3MSMjLSMjIy0jIyMnLCBuYW1lOiAn0JvQsNGC0LLQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLkxZXToge21hc2s6ICcrMjE4IyMtIyMjLSMjIyMnLCBuYW1lOiAn0JvQuNCy0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NQV06IHttYXNrOiAnKzIxMiMjLSMjIyMtIyMjJywgbmFtZTogJ9Cc0LDRgNC+0LrQutC+J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1DXToge21hc2s6ICcrMzc3IyMjLSMjIy0jIyMnLCBuYW1lOiAn0JzQvtC90LDQutC+J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1EXToge21hc2s6ICcrMzczIyMjIy0jIyMjJywgbmFtZTogJ9Cc0L7Qu9C00L7QstCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1FXToge21hc2s6ICcrMzgyIyMtIyMjLSMjIycsIG5hbWU6ICfQp9C10YDQvdC+0LPQvtGA0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NR106IHttYXNrOiAnKzI2MSMjLSMjLSMjIyMjJywgbmFtZTogJ9Cc0LDQtNCw0LPQsNGB0LrQsNGAJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1LXToge21hc2s6ICcrMzg5IyMtIyMjLSMjIycsIG5hbWU6ICfQoNC10YHQvy4g0JzQsNC60LXQtNC+0L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1MXToge21hc2s6ICcrMjIzIyMtIyMtIyMjIycsIG5hbWU6ICfQnNCw0LvQuCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NTV06IHttYXNrOiAnKzk1IyMtIyMjLSMjIycsIG5hbWU6ICfQkdC40YDQvNCwICjQnNGM0Y/QvdC80LApJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1OXToge21hc2s6ICcrOTc2IyMtIyMtIyMjIycsIG5hbWU6ICfQnNC+0L3Qs9C+0LvQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1PXToge21hc2s6ICcrODUzIyMjIy0jIyMjJywgbmFtZTogJ9Cc0LDQutCw0L4nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTVJdOiB7bWFzazogJysyMjIjIy0jIy0jIyMjJywgbmFtZTogJ9Cc0LDQstGA0LjRgtCw0L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1TXToge21hc2s6ICcrMSg2NjQpICMjIy0jIyMjJywgbmFtZTogJ9Cc0L7QvdGC0YHQtdGA0YDQsNGCJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1UXToge21hc2s6ICcrMzU2IyMjIy0jIyMjJywgbmFtZTogJ9Cc0LDQu9GM0YLQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NVV06IHttYXNrOiAnKzIzMCMjIy0jIyMjJywgbmFtZTogJ9Cc0LDQstGA0LjQutC40LknfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTVZdOiB7bWFzazogJys5NjAjIyMtIyMjIycsIG5hbWU6ICfQnNCw0LvRjNC00LjQstGB0LrQuNC1INC+0YHRgtGA0L7QstCwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1XXToge21hc2s6ICcrMjY1Iy0jIyMjLSMjIyMnLCBuYW1lOiAn0JzQsNC70LDQstC4J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1YXToge21hc2s6ICcrNTIoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQnNC10LrRgdC40LrQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5NWV06IHttYXNrOiAnKzYwKCMjIykgIyMjLSMjIycsIG5hbWU6ICfQnNCw0LvQsNC50LfQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk1aXToge21hc2s6ICcrMjU4IyMtIyMjLSMjIycsIG5hbWU6ICfQnNC+0LfQsNC80LHQuNC6J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk5BXToge21hc2s6ICcrMjY0IyMtIyMjLSMjIyMnLCBuYW1lOiAn0J3QsNC80LjQsdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTkVdOiB7bWFzazogJysyMjcjIy0jIy0jIyMjJywgbmFtZTogJ9Cd0LjQs9C10YAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTkddOiB7bWFzazogJysyMzQoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQndC40LPQtdGA0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5OSV06IHttYXNrOiAnKzUwNSMjIyMtIyMjIycsIG5hbWU6ICfQndC40LrQsNGA0LDQs9GD0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuTkxdOiB7bWFzazogJyszMSMjLSMjIy0jIyMjJywgbmFtZTogJ9Cd0LjQtNC10YDQu9Cw0L3QtNGLJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk5PXToge21hc2s6ICcrNDcoIyMjKSAjIy0jIyMnLCBuYW1lOiAn0J3QvtGA0LLQtdCz0LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5OUF06IHttYXNrOiAnKzk3NyMjLSMjIy0jIyMnLCBuYW1lOiAn0J3QtdC/0LDQuyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5OWl06IHttYXNrOiAnKzY0KCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0J3QvtCy0LDRjyDQl9C10LvQsNC90LTQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLk9NXToge21hc2s6ICcrOTY4IyMtIyMjLSMjIycsIG5hbWU6ICfQntC80LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5QQV06IHttYXNrOiAnKzUwNyMjIy0jIyMjJywgbmFtZTogJ9Cf0LDQvdCw0LzQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5QRV06IHttYXNrOiAnKzUxKCMjIykgIyMjLSMjIycsIG5hbWU6ICfQn9C10YDRgyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5QRl06IHtcbiAgICAgICAgbWFzazogJys2ODkjIy0jIy0jIycsXG4gICAgICAgIG5hbWU6ICfQpNGA0LDQvdGG0YPQt9GB0LrQsNGPINCf0L7Qu9C40L3QtdC30LjRjyAo0KLQsNC40YLQuCknLFxuICAgIH0sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlBHXToge21hc2s6ICcrNjc1KCMjIykgIyMtIyMjJywgbmFtZTogJ9Cf0LDQv9GD0LAt0J3QvtCy0LDRjyDQk9Cy0LjQvdC10Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuUEhdOiB7bWFzazogJys2MygjIyMpICMjIy0jIyMjJywgbmFtZTogJ9Ck0LjQu9C40L/Qv9C40L3Riyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5QS106IHttYXNrOiAnKzkyKCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0J/QsNC60LjRgdGC0LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5QTF06IHttYXNrOiAnKzQ4KCMjIykgIyMjLSMjIycsIG5hbWU6ICfQn9C+0LvRjNGI0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuUFRdOiB7bWFzazogJyszNTEjIy0jIyMtIyMjIycsIG5hbWU6ICfQn9C+0YDRgtGD0LPQsNC70LjRjyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5QV106IHttYXNrOiAnKzY4MCMjIy0jIyMjJywgbmFtZTogJ9Cf0LDQu9Cw0YMnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuUFldOiB7bWFzazogJys1OTUoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9Cf0LDRgNCw0LPQstCw0LknfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuUUFdOiB7bWFzazogJys5NzQjIyMjLSMjIyMnLCBuYW1lOiAn0JrQsNGC0LDRgCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5ST106IHttYXNrOiAnKzQwIyMtIyMjLSMjIyMnLCBuYW1lOiAn0KDRg9C80YvQvdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuUlNdOiB7bWFzazogJyszODEjIy0jIyMtIyMjIycsIG5hbWU6ICfQodC10YDQsdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuUlVdOiB7bWFzazogJys3IyMjICMjIy0jIy0jIycsIG5hbWU6ICfQoNC+0YHRgdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuUlddOiB7bWFzazogJysyNTAoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9Cg0YPQsNC90LTQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TQV06IHttYXNrOiAnKzk2NiMtIyMjIy0jIyMjJywgbmFtZTogJ9Ch0LDRg9C00L7QstGB0LrQsNGPINCQ0YDQsNCy0LjRjyAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU0JdOiB7bWFzazogJys2NzcjIyMtIyMjIycsIG5hbWU6ICfQodC+0LvQvtC80L7QvdC+0LLRiyDQntGB0YLRgNC+0LLQsCAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU0NdOiB7bWFzazogJysyNDgjLSMjIy0jIyMnLCBuYW1lOiAn0KHQtdC50YjQtdC70YsnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU0RdOiB7bWFzazogJysyNDkjIy0jIyMtIyMjIycsIG5hbWU6ICfQodGD0LTQsNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNFXToge21hc2s6ICcrNDYjIy0jIyMtIyMjIycsIG5hbWU6ICfQqNCy0LXRhtC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU0ddOiB7bWFzazogJys2NSMjIyMtIyMjIycsIG5hbWU6ICfQodC40L3Qs9Cw0L/Rg9GAJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNIXToge21hc2s6ICcrMjkwIyMjIycsIG5hbWU6ICfQntGB0YLRgNC+0LIg0KHQstGP0YLQvtC5INCV0LvQtdC90YsnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU0ldOiB7bWFzazogJyszODYjIy0jIyMtIyMjJywgbmFtZTogJ9Ch0LvQvtCy0LXQvdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU0tdOiB7bWFzazogJys0MjEoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9Ch0LvQvtCy0LDQutC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU0xdOiB7bWFzazogJysyMzIjIy0jIyMjIyMnLCBuYW1lOiAn0KHRjNC10YDRgNCwLdCb0LXQvtC90LUnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU01dOiB7bWFzazogJyszNzgjIyMjLSMjIyMjIycsIG5hbWU6ICfQodCw0L0t0JzQsNGA0LjQvdC+J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNOXToge21hc2s6ICcrMjIxIyMtIyMjLSMjIyMnLCBuYW1lOiAn0KHQtdC90LXQs9Cw0LsnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU09dOiB7bWFzazogJysyNTIjIy0jIyMtIyMjJywgbmFtZTogJ9Ch0L7QvNCw0LvQuCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TUl06IHttYXNrOiAnKzU5NyMjIy0jIyMjJywgbmFtZTogJ9Ch0YPRgNC40L3QsNC8ICd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TVF06IHttYXNrOiAnKzIzOSMjLSMjIyMjJywgbmFtZTogJ9Ch0LDQvS3QotC+0LzQtSDQuCDQn9GA0LjQvdGB0LjQv9C4J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNWXToge21hc2s6ICcrNTAzIyMtIyMtIyMjIycsIG5hbWU6ICfQodCw0LvRjNCy0LDQtNC+0YAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuU1hdOiB7bWFzazogJysxKDcyMSkgIyMjLSMjIyMnLCBuYW1lOiAn0KHQuNC90YIt0JzQsNGA0YLQtdC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlNZXToge1xuICAgICAgICBtYXNrOiAnKzk2MyMjLSMjIyMtIyMjJyxcbiAgICAgICAgbmFtZTogJ9Ch0LjRgNC40LnRgdC60LDRjyDQsNGA0LDQsdGB0LrQsNGPINGA0LXRgdC/0YPQsdC70LjQutCwJyxcbiAgICB9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5TWl06IHttYXNrOiAnKzI2OCMjLSMjLSMjIyMnLCBuYW1lOiAn0KHQstCw0LfQuNC70LXQvdC0J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlRDXToge21hc2s6ICcrMSg2NDkpICMjIy0jIyMjJywgbmFtZTogJ9Ci0ZHRgNC60YEg0Lgg0JrQsNC50LrQvtGBJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlREXToge21hc2s6ICcrMjM1IyMtIyMtIyMtIyMnLCBuYW1lOiAn0KfQsNC0J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlRHXToge21hc2s6ICcrMjI4IyMtIyMjLSMjIycsIG5hbWU6ICfQotC+0LPQvid9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5USF06IHttYXNrOiAnKzY2IyMtIyMjLSMjIyMnLCBuYW1lOiAn0KLQsNC40LvQsNC90LQgJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlRKXToge21hc2s6ICcrOTkyIyMtIyMjLSMjIyMnLCBuYW1lOiAn0KLQsNC00LbQuNC60LjRgdGC0LDQvSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5UTF06IHttYXNrOiAnKzY3MCMjIy0jIyMjIycsIG5hbWU6ICfQktC+0YHRgtC+0YfQvdGL0Lkg0KLQuNC80L7RgCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5UTV06IHttYXNrOiAnKzk5MyMtIyMjLSMjIyMnLCBuYW1lOiAn0KLRg9GA0LrQvNC10L3QuNGB0YLQsNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlROXToge21hc2s6ICcrMjE2IyMtIyMjLSMjIycsIG5hbWU6ICfQotGD0L3QuNGBJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlRPXToge21hc2s6ICcrNjc2IyMjIyMnLCBuYW1lOiAn0KLQvtC90LPQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5UUl06IHttYXNrOiAnKzkwKCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0KLRg9GA0YbQuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlRUXToge21hc2s6ICcrMSg4NjgpICMjIy0jIyMjJywgbmFtZTogJ9Ci0YDQuNC90LjQtNCw0LQg0Lgg0KLQvtCx0LDQs9C+J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlRXXToge21hc2s6ICcrODg2Iy0jIyMjLSMjIyMnLCBuYW1lOiAn0KLQsNC50LLQsNC90YwnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVFpdOiB7bWFzazogJysyNTUjIy0jIyMtIyMjIycsIG5hbWU6ICfQotCw0L3Qt9Cw0L3QuNGPJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlVBXToge21hc2s6ICcrMzgwKCMjKSAjIyMtIyMtIyMnLCBuYW1lOiAn0KPQutGA0LDQuNC90LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVUddOiB7bWFzazogJysyNTYoIyMjKSAjIyMtIyMjJywgbmFtZTogJ9Cj0LPQsNC90LTQsCd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5VU106IHttYXNrOiAnKzEoIyMjKSAjIyMtIyMjIycsIG5hbWU6ICfQodCo0JAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVVldOiB7bWFzazogJys1OTgjLSMjIy0jIy0jIycsIG5hbWU6ICfQo9GA0YPQs9Cy0LDQuSd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5VWl06IHttYXNrOiAnKzk5OCMjLSMjIy0jIyMjJywgbmFtZTogJ9Cj0LfQsdC10LrQuNGB0YLQsNC9J30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlZDXToge21hc2s6ICcrMSg3ODQpICMjIy0jIyMjJywgbmFtZTogJ9Ch0LXQvdGCLdCS0LjQvdGB0LXQvdGCINC4INCT0YDQtdC90LDQtNC40L3Riyd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5WRV06IHttYXNrOiAnKzU4KCMjIykgIyMjLSMjIyMnLCBuYW1lOiAn0JLQtdC90LXRgdGD0Y3Qu9CwJ30sXG4gICAgW1R1aUNvdW50cnlJc29Db2RlLlZHXToge1xuICAgICAgICBtYXNrOiAnKzEoMjg0KSMjIy0jIyMjJyxcbiAgICAgICAgbmFtZTogJ9CR0YDQuNGC0LDQvdGB0LrQuNC1INCS0LjRgNCz0LjQvdGB0LrQuNC1INC+0YHRgtGA0L7QstCwJyxcbiAgICB9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5WTl06IHttYXNrOiAnKzg0KCMjIykgIyMjIy0jIyMnLCBuYW1lOiAn0JLRjNC10YLQvdCw0LwnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuVlVdOiB7bWFzazogJys2NzgjIy0jIyMjIycsIG5hbWU6ICfQktCw0L3Rg9Cw0YLRgyAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuV1NdOiB7bWFzazogJys2ODUjIy0jIyMjJywgbmFtZTogJ9Ch0LDQvNC+0LAnfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuWUVdOiB7bWFzazogJys5NjcjIyMtIyMjLSMjIycsIG5hbWU6ICfQmdC10LzQtdC9ICd9LFxuICAgIFtUdWlDb3VudHJ5SXNvQ29kZS5aQV06IHttYXNrOiAnKzI3IyMtIyMjLSMjIyMnLCBuYW1lOiAn0K7QttC90L4t0JDRhNGA0LjQutCw0L3RgdC60LDRjyDQoNC10YHQvy4nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuWk1dOiB7bWFzazogJysyNjAjIy0jIyMtIyMjIycsIG5hbWU6ICfQl9Cw0LzQsdC40Y8nfSxcbiAgICBbVHVpQ291bnRyeUlzb0NvZGUuWlddOiB7bWFzazogJysyNjMjLSMjIyMjIycsIG5hbWU6ICfQl9C40LzQsdCw0LHQstC1J30sXG59O1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIHdpbGwgYmUgZGVsZXRlZCBzb29uXG4gKiBUT0RPOiByZW1vdmUgaW4gMy4wIChpbiBpdnkgY29tcGlsYXRpb24pXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBmdW5jdGlvbiBjb3VudHJpZXNNYXNrc1JlZHVjZXIoXG4gICAgYWNjOiBSZWNvcmQ8VHVpQ291bnRyeUlzb0NvZGUsIHN0cmluZz4sXG4gICAgW2NvdW50cnlJc29Db2RlLCB7bWFza31dOiBbc3RyaW5nLCB7bWFzazogc3RyaW5nfV0sXG4pOiBSZWNvcmQ8VHVpQ291bnRyeUlzb0NvZGUsIHN0cmluZz4ge1xuICAgIGFjY1tjb3VudHJ5SXNvQ29kZSBhcyBUdWlDb3VudHJ5SXNvQ29kZV0gPSBtYXNrO1xuXG4gICAgcmV0dXJuIGFjYztcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB3aWxsIGJlIGRlbGV0ZWQgc29vblxuICogVXNlIHRva2VuIGBUVUlfQ09VTlRSSUVTX01BU0tTYFxuICogVE9ETzogcmVtb3ZlIGluIDMuMFxuICovXG5leHBvcnQgY29uc3QgQ09VTlRSSUVTX01BU0tTID0gT2JqZWN0LmVudHJpZXM8Q291bnRyeT4oQ09VTlRSSUVTKS5yZWR1Y2UoXG4gICAgY291bnRyaWVzTWFza3NSZWR1Y2VyLFxuICAgIHt9IGFzIFJlY29yZDxUdWlDb3VudHJ5SXNvQ29kZSwgc3RyaW5nPixcbik7XG5cbmV4cG9ydCBjb25zdCBNQVNLX0FGVEVSX0NPREVfUkVHRVhQID0gL1xcKFsjXStcXCl8WyNcXC0gXS9nO1xuIl19
@@ -1,4 +1,8 @@
1
1
  import { getClipboardDataText } from '@taiga-ui/cdk';
2
+ /**
3
+ * @deprecated: use {@link tuiExtractValueFromEvent} instead
4
+ */
5
+ // eslint-disable-next-line @typescript-eslint/naming-convention
2
6
  export function extractValueFromEvent(event) {
3
7
  var _a;
4
8
  // TODO: iframe warning
@@ -6,4 +10,5 @@ export function extractValueFromEvent(event) {
6
10
  ? ((_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.getData('text/plain')) || ''
7
11
  : getClipboardDataText(event);
8
12
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmFjdC12YWx1ZS1mcm9tLWV2ZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lLWludGVybmF0aW9uYWwvIiwic291cmNlcyI6WyJ1dGlscy9leHRyYWN0LXZhbHVlLWZyb20tZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxLQUFpQzs7SUFDbkUsdUJBQXVCO0lBQ3ZCLE9BQU8sS0FBSyxZQUFZLFNBQVM7UUFDN0IsQ0FBQyxDQUFDLE9BQUEsS0FBSyxDQUFDLFlBQVksMENBQUUsT0FBTyxDQUFDLFlBQVksTUFBSyxFQUFFO1FBQ2pELENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN0QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtnZXRDbGlwYm9hcmREYXRhVGV4dH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0VmFsdWVGcm9tRXZlbnQoZXZlbnQ6IERyYWdFdmVudCB8IENsaXBib2FyZEV2ZW50KTogc3RyaW5nIHtcbiAgICAvLyBUT0RPOiBpZnJhbWUgd2FybmluZ1xuICAgIHJldHVybiBldmVudCBpbnN0YW5jZW9mIERyYWdFdmVudFxuICAgICAgICA/IGV2ZW50LmRhdGFUcmFuc2Zlcj8uZ2V0RGF0YSgndGV4dC9wbGFpbicpIHx8ICcnXG4gICAgICAgIDogZ2V0Q2xpcGJvYXJkRGF0YVRleHQoZXZlbnQpO1xufVxuIl19
13
+ export const tuiExtractValueFromEvent = extractValueFromEvent;
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmFjdC12YWx1ZS1mcm9tLWV2ZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lLWludGVybmF0aW9uYWwvIiwic291cmNlcyI6WyJ1dGlscy9leHRyYWN0LXZhbHVlLWZyb20tZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRW5EOztHQUVHO0FBQ0gsZ0VBQWdFO0FBQ2hFLE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxLQUFpQzs7SUFDbkUsdUJBQXVCO0lBQ3ZCLE9BQU8sS0FBSyxZQUFZLFNBQVM7UUFDN0IsQ0FBQyxDQUFDLE9BQUEsS0FBSyxDQUFDLFlBQVksMENBQUUsT0FBTyxDQUFDLFlBQVksTUFBSyxFQUFFO1FBQ2pELENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2dldENsaXBib2FyZERhdGFUZXh0fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZDogdXNlIHtAbGluayB0dWlFeHRyYWN0VmFsdWVGcm9tRXZlbnR9IGluc3RlYWRcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RWYWx1ZUZyb21FdmVudChldmVudDogRHJhZ0V2ZW50IHwgQ2xpcGJvYXJkRXZlbnQpOiBzdHJpbmcge1xuICAgIC8vIFRPRE86IGlmcmFtZSB3YXJuaW5nXG4gICAgcmV0dXJuIGV2ZW50IGluc3RhbmNlb2YgRHJhZ0V2ZW50XG4gICAgICAgID8gZXZlbnQuZGF0YVRyYW5zZmVyPy5nZXREYXRhKCd0ZXh0L3BsYWluJykgfHwgJydcbiAgICAgICAgOiBnZXRDbGlwYm9hcmREYXRhVGV4dChldmVudCk7XG59XG5cbmV4cG9ydCBjb25zdCB0dWlFeHRyYWN0VmFsdWVGcm9tRXZlbnQgPSBleHRyYWN0VmFsdWVGcm9tRXZlbnQ7XG4iXX0=
@@ -211,7 +211,7 @@ __decorate([
211
211
  TuiInputRangeComponent = TuiInputRangeComponent_1 = __decorate([
212
212
  Component({
213
213
  selector: 'tui-input-range',
214
- template: "<tui-wrapper\n class=\"t-wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-number\n tuiTextfieldAppearance=\"none\"\n automation-id=\"tui-input-range__left-input\"\n class=\"t-left t-text-input\"\n [min]=\"min\"\n [max]=\"value[1]\"\n [precision]=\"precision\"\n [decimal]=\"decimal\"\n [postfix]=\"pluralizeMap && !showLeftValueContent ? (value[0] | i18nPlural: pluralizeMap) : ''\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldSize]=\"computedSize\"\n [tuiTextfieldLabelOutside]=\"legacyLabelOutside\"\n [ngModel]=\"value[0]\"\n (ngModelChange)=\"onInputLeft($event)\"\n (focusedChange)=\"onTextInputFocused($event, false)\"\n (keydown.arrowUp)=\"changeByStep($event, [1, 0])\"\n (keydown.arrowDown)=\"changeByStep($event, [-1, 0])\"\n >\n <ng-content></ng-content>\n <div\n *ngIf=\"showLeftValueContent\"\n polymorpheus-outlet\n [content]=\"minLabel ? legacyMinLabel : leftValueContent\"\n [context]=\"{$implicit: value[0]}\"\n ></div>\n </tui-input-number>\n\n <div class=\"t-right\">\n <tui-input-number\n tuiTextfieldAppearance=\"none\"\n automation-id=\"tui-input-range__right-input\"\n class=\"t-text-input\"\n [min]=\"value[0]\"\n [max]=\"max\"\n [precision]=\"precision\"\n [decimal]=\"decimal\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldSize]=\"computedSize\"\n [tuiTextfieldLabelOutside]=\"legacyLabelOutside\"\n [ngModel]=\"value[1]\"\n (ngModelChange)=\"onInputRight($event)\"\n (focusedChange)=\"onTextInputFocused($event, true)\"\n (keydown.arrowUp)=\"changeByStep($event, [0, 1])\"\n (keydown.arrowDown)=\"changeByStep($event, [0, -1])\"\n >\n <div\n *ngIf=\"showRightValueContent\"\n polymorpheus-outlet\n [content]=\"maxLabel ? legacyMaxLabel : rightValueContent\"\n [context]=\"{$implicit: value[1]}\"\n ></div>\n </tui-input-number>\n\n <!-- TODO replace by postfix of the right InputNumber (after fix https://github.com/Tinkoff/taiga-ui/issues/1193) -->\n <span\n *ngIf=\"!showRightValueContent && pluralizeMap\"\n automation-id=\"tui-input-range__pluralize-right\"\n class=\"t-pluralize-right\"\n >\n &nbsp;{{value[1] | i18nPlural: pluralizeMap}}\n </span>\n </div>\n\n <tui-range\n class=\"t-slider\"\n [min]=\"min\"\n [max]=\"max\"\n [steps]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"keySteps\"\n [pluralize]=\"segmentsPluralizeMap\"\n [focusable]=\"false\"\n [disabled]=\"readOnly || disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onRangeValue($event)\"\n (tuiPressedChange)=\"focusToTextInput()\"\n (activeThumbChange)=\"onActiveThumbChange($event)\"\n ></tui-range>\n</tui-wrapper>\n\n<!-- TODO: 3.0 remove -->\n<ng-template\n #legacyMinLabel\n let-value\n>\n <ng-container *ngIf=\"value === min\">{{minLabel}}</ng-container>\n <ng-container *ngIf=\"value !== min\">\n {{value}}&nbsp;{{value | i18nPlural: pluralizeMap ||\n pluralizeMapFallback}}\n </ng-container>\n</ng-template>\n\n<!-- TODO: 3.0 remove -->\n<ng-template\n #legacyMaxLabel\n let-value\n>\n <ng-container *ngIf=\"value === max\">{{maxLabel}}</ng-container>\n <ng-container *ngIf=\"value !== max\">\n {{value}}&nbsp;{{value | i18nPlural: pluralizeMap ||\n pluralizeMapFallback}}\n </ng-container>\n</ng-template>\n",
214
+ template: "<tui-wrapper\n class=\"t-wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-number\n tuiTextfieldAppearance=\"none\"\n automation-id=\"tui-input-range__left-input\"\n class=\"t-left t-text-input\"\n [min]=\"min\"\n [max]=\"value[1]\"\n [precision]=\"precision\"\n [decimal]=\"decimal\"\n [postfix]=\"pluralizeMap && !showLeftValueContent ? (value[0] | i18nPlural: pluralizeMap) : ''\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldSize]=\"computedSize\"\n [tuiTextfieldLabelOutside]=\"legacyLabelOutside\"\n [ngModel]=\"value[0]\"\n (ngModelChange)=\"onInputLeft($event)\"\n (focusedChange)=\"onTextInputFocused($event, false)\"\n (keydown.arrowUp)=\"changeByStep($event, [1, 0])\"\n (keydown.arrowDown)=\"changeByStep($event, [-1, 0])\"\n >\n <ng-content></ng-content>\n <div\n *ngIf=\"showLeftValueContent\"\n polymorpheus-outlet\n [content]=\"minLabel ? legacyMinLabel : leftValueContent\"\n [context]=\"{$implicit: value[0]}\"\n ></div>\n </tui-input-number>\n\n <div class=\"t-right\">\n <tui-input-number\n tuiTextfieldAppearance=\"none\"\n automation-id=\"tui-input-range__right-input\"\n class=\"t-text-input\"\n [min]=\"value[0]\"\n [max]=\"max\"\n [precision]=\"precision\"\n [decimal]=\"decimal\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldSize]=\"computedSize\"\n [tuiTextfieldLabelOutside]=\"legacyLabelOutside\"\n [ngModel]=\"value[1]\"\n (ngModelChange)=\"onInputRight($event)\"\n (focusedChange)=\"onTextInputFocused($event, true)\"\n (keydown.arrowUp)=\"changeByStep($event, [0, 1])\"\n (keydown.arrowDown)=\"changeByStep($event, [0, -1])\"\n >\n <div\n *ngIf=\"showRightValueContent\"\n polymorpheus-outlet\n [content]=\"maxLabel ? legacyMaxLabel : rightValueContent\"\n [context]=\"{$implicit: value[1]}\"\n ></div>\n </tui-input-number>\n\n <!-- TODO replace by postfix of the right InputNumber (after fix https://github.com/Tinkoff/taiga-ui/issues/1193) -->\n <span\n *ngIf=\"!showRightValueContent && pluralizeMap\"\n automation-id=\"tui-input-range__pluralize-right\"\n class=\"t-pluralize-right\"\n >\n &nbsp;{{ value[1] | i18nPlural: pluralizeMap }}\n </span>\n </div>\n\n <tui-range\n class=\"t-slider\"\n [min]=\"min\"\n [max]=\"max\"\n [steps]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"keySteps\"\n [pluralize]=\"segmentsPluralizeMap\"\n [focusable]=\"false\"\n [disabled]=\"readOnly || disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onRangeValue($event)\"\n (tuiPressedChange)=\"focusToTextInput()\"\n (activeThumbChange)=\"onActiveThumbChange($event)\"\n ></tui-range>\n</tui-wrapper>\n\n<!-- TODO: 3.0 remove -->\n<ng-template\n #legacyMinLabel\n let-value\n>\n <ng-container *ngIf=\"value === min\">{{ minLabel }}</ng-container>\n <ng-container *ngIf=\"value !== min\">\n {{ value }}&nbsp;{{ value | i18nPlural: pluralizeMap || pluralizeMapFallback }}\n </ng-container>\n</ng-template>\n\n<!-- TODO: 3.0 remove -->\n<ng-template\n #legacyMaxLabel\n let-value\n>\n <ng-container *ngIf=\"value === max\">{{ maxLabel }}</ng-container>\n <ng-container *ngIf=\"value !== max\">\n {{ value }}&nbsp;{{ value | i18nPlural: pluralizeMap || pluralizeMapFallback }}\n </ng-container>\n</ng-template>\n",
215
215
  changeDetection: ChangeDetectionStrategy.OnPush,
216
216
  providers: [
217
217
  {
@@ -264,4 +264,4 @@ TuiTextfieldAppearanceDirective = __decorate([
264
264
  })
265
265
  ], TuiTextfieldAppearanceDirective);
266
266
  export { TuiTextfieldAppearanceDirective };
267
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXJhbmdlLyIsInNvdXJjZXMiOlsiaW5wdXQtcmFuZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixTQUFTLEVBQ1QsSUFBSSxFQUNKLFNBQVMsRUFDVCxZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxLQUFLLEVBQ0wsV0FBVyxFQUNYLGVBQWUsRUFDZixpQkFBaUIsRUFDakIsS0FBSyxFQUNMLDJCQUEyQixFQUMzQixhQUFhLEVBRWIsY0FBYyxHQUdqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLDZCQUE2QixFQUM3Qix3QkFBd0IsRUFDeEIsZ0NBQWdDLEVBQ2hDLFdBQVcsRUFDWCxRQUFRLEVBQ1Isc0JBQXNCLEdBQ3pCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLHNCQUFzQixFQUFFLGdCQUFnQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDaEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFDLG9CQUFvQixFQUFFLGlCQUFpQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFJL0QsV0FBVztBQXlCWCxJQUFhLHNCQUFzQjtBQUpuQzs7O0dBR0c7QUFDSCxNQUFhLHNCQUNULFNBQVEsc0JBQXdDO0lB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QUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFFakIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUN6QixXQUFBLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUVyQixXQUFBLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO0lBRWhDLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUE7SUFFeEMsV0FBQSxRQUFRLEVBQUUsQ0FBQTtJQUNWLFdBQUEsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUE7R0EzRHhCLHNCQUFzQixDQTJPbEM7U0EzT1ksc0JBQXNCO0FBNk9uQyxNQUFNLFVBQVUsc0NBQXNDLENBQUMsRUFDbkQsYUFBYSxHQUNKO0lBQ1QsT0FBTyxhQUFhLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDaEUsQ0FBQztBQVlELElBQWEsK0JBQStCLEdBQTVDLE1BQWEsK0JBQStCO0NBQUcsQ0FBQTtBQUFsQywrQkFBK0I7SUFWM0MsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLDBCQUEwQjtRQUNwQyxTQUFTLEVBQUU7WUFDUDtnQkFDSSxPQUFPLEVBQUUsd0JBQXdCO2dCQUNqQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7Z0JBQ2xCLFVBQVUsRUFBRSxzQ0FBc0M7YUFDckQ7U0FDSjtLQUNKLENBQUM7R0FDVywrQkFBK0IsQ0FBRztTQUFsQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIGNsYW1wLFxuICAgIEVNUFRZX1FVRVJZLFxuICAgIGlzTmF0aXZlRm9jdXNlZCxcbiAgICBpc05hdGl2ZUZvY3VzZWRJbixcbiAgICByb3VuZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgVFVJX0lTX01PQklMRSxcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgZ2V0RnJhY3Rpb25QYXJ0UGFkZGVkLFxuICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIFRVSV9URVhURklFTERfQVBQRUFSQU5DRSxcbiAgICBUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUixcbiAgICBUdWlEZWNpbWFsVCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0VHVpSW5wdXRTbGlkZXIsIHF1YW50dW1Bc3NlcnRpb259IGZyb20gJ0B0YWlnYS11aS9raXQvYWJzdHJhY3QnO1xuaW1wb3J0IHtUdWlJbnB1dE51bWJlckNvbXBvbmVudH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LW51bWJlcic7XG5pbXBvcnQge1R1aU5ld1JhbmdlRGlyZWN0aXZlLCBUdWlSYW5nZUNvbXBvbmVudH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3JhbmdlJztcbmltcG9ydCB7VFVJX0ZMT0FUSU5HX1BSRUNJU0lPTn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlLZXlTdGVwc30gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1yYW5nZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXJhbmdlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LXJhbmdlLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRSYW5nZUNvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAvKipcbiAgICAgICAgICogVE9ETzogMy4wIGRlbGV0ZSBpdFxuICAgICAgICAgKiBEb250IGZvcmdldCB0byBjbGVhciBodG1sLXRhZ3NcbiAgICAgICAgICovXG4gICAgICAgICdbY2xhc3MuX3Nob3ctdGlja3MtbGFiZWxzXSc6ICchaXNOZXcnLFxuICAgIH0sXG59KVxuLyoqXG4gKiBgQWJzdHJhY3RUdWlJbnB1dFNsaWRlcmAgaW5jbHVkZXMgYWxsIGxlZ2FjeSBjb2RlIChpdCBjYW4gYmUgZGVsZXRlZCBpbiB2My4wKVxuICogVE9ETyByZXBsYWNlIGBleHRlbmRzIEFic3RyYWN0VHVpSW5wdXRTbGlkZXI8W251bWJlciwgbnVtYmVyXT5gIGJ5IGBleHRlbmRzIEFic3RyYWN0VHVpQ29udHJvbDxbbnVtYmVyLCBudW1iZXJdPiBpbXBsZW1lbnRzIFR1aVdpdGhPcHRpb25hbE1pbk1heDxudW1iZXI+YFxuICovXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRSYW5nZUNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlJbnB1dFNsaWRlcjxbbnVtYmVyLCBudW1iZXJdPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZHJlbihUdWlJbnB1dE51bWJlckNvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0TnVtYmVyUmVmczogUXVlcnlMaXN0PFR1aUlucHV0TnVtYmVyQ29tcG9uZW50PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgQFZpZXdDaGlsZChUdWlSYW5nZUNvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJhbmdlUmVmOiBUdWlSYW5nZUNvbXBvbmVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbiA9IDA7XG5cbiAgICAvKiBUT0RPOiBtYWtlIGAxMDBgIGFzIGRlZmF1bHQgdmFsdWUgKGxpa2UgaW4gbmF0aXZlIHNsaWRlcnMpICovXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heCA9IEluZmluaXR5O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AocXVhbnR1bUFzc2VydGlvbiwgJ1F1YW50dW0gbXVzdCBiZSBwb3NpdGl2ZScpXG4gICAgcXVhbnR1bSA9IDE7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc3RlcHMgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNlZ21lbnRzID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBrZXlTdGVwczogVHVpS2V5U3RlcHMgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBsZWZ0VmFsdWVDb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8bnVtYmVyPj4gPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICByaWdodFZhbHVlQ29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0V2l0aEltcGxpY2l0PG51bWJlcj4+ID0gJyc7XG5cbiAgICBsYXN0QWN0aXZlU2lkZTogJ2xlZnQnIHwgJ3JpZ2h0JyA9ICdsZWZ0JztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX01PQklMRSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpc01vYmlsZTogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UpXG4gICAgICAgIHJlYWRvbmx5IGFwcGVhcmFuY2U6IHN0cmluZyxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2xsZXI6IFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpTmV3UmFuZ2VEaXJlY3RpdmUpXG4gICAgICAgIHJlYWRvbmx5IGlzTmV3OiBUdWlOZXdSYW5nZURpcmVjdGl2ZSB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbGVmdEZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dE51bWJlclJlZnMuZmlyc3Q/Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfHwgbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgcmlnaHRGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXROdW1iZXJSZWZzLmxhc3Q/Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfHwgbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogdGhpcy5sZWZ0Rm9jdXNhYmxlRWxlbWVudCB8fCB0aGlzLnJpZ2h0Rm9jdXNhYmxlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGlzTmF0aXZlRm9jdXNlZEluKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgc2hvd0xlZnRWYWx1ZUNvbnRlbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBCb29sZWFuKFxuICAgICAgICAgICAgKHRoaXMubWluTGFiZWwgfHwgdGhpcy5sZWZ0VmFsdWVDb250ZW50KSAmJlxuICAgICAgICAgICAgICAgICFpc05hdGl2ZUZvY3VzZWQodGhpcy5sZWZ0Rm9jdXNhYmxlRWxlbWVudCkgJiZcbiAgICAgICAgICAgICAgICAhKHRoaXMucmFuZ2VSZWY/LmZvY3VzZWQgJiYgdGhpcy5sYXN0QWN0aXZlU2lkZSA9PT0gJ2xlZnQnKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgc2hvd1JpZ2h0VmFsdWVDb250ZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gQm9vbGVhbihcbiAgICAgICAgICAgICh0aGlzLm1heExhYmVsIHx8IHRoaXMucmlnaHRWYWx1ZUNvbnRlbnQpICYmXG4gICAgICAgICAgICAgICAgIWlzTmF0aXZlRm9jdXNlZCh0aGlzLnJpZ2h0Rm9jdXNhYmxlRWxlbWVudCkgJiZcbiAgICAgICAgICAgICAgICAhKHRoaXMucmFuZ2VSZWY/LmZvY3VzZWQgJiYgdGhpcy5sYXN0QWN0aXZlU2lkZSA9PT0gJ3JpZ2h0JyksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IHByZWNpc2lvbigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gZ2V0RnJhY3Rpb25QYXJ0UGFkZGVkKHRoaXMucXVhbnR1bSkubGVuZ3RoO1xuICAgIH1cblxuICAgIGdldCBkZWNpbWFsKCk6IFR1aURlY2ltYWxUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJlY2lzaW9uID8gJ25vdC16ZXJvJyA6ICduZXZlcic7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkU3RlcHMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RlcHMgfHwgKHRoaXMubWF4IC0gdGhpcy5taW4pIC8gdGhpcy5xdWFudHVtO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFNpemUoKTogVHVpU2l6ZUwge1xuICAgICAgICByZXR1cm4gdGhpcy5pc05ldyAmJiB0aGlzLmNvbnRyb2xsZXIuc2l6ZSAhPT0gJ3MnXG4gICAgICAgICAgICA/IHRoaXMuY29udHJvbGxlci5zaXplXG4gICAgICAgICAgICA6IHRoaXMuc2l6ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9sYWJlbC1vdXRzaWRlJylcbiAgICBnZXQgbGVnYWN5TGFiZWxPdXRzaWRlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc05ldyA/IHRoaXMuY29udHJvbGxlci5sYWJlbE91dHNpZGUgOiB0aGlzLmNvbXB1dGVkU2l6ZSA9PT0gJ20nO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShhY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGFjdGl2ZSk7XG4gICAgfVxuXG4gICAgb25UZXh0SW5wdXRGb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4sIHJpZ2h0OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChmb2N1c2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBbbGVmdFRleHRJbnB1dFJlZiwgcmlnaHRUZXh0SW5wdXRSZWZdID0gdGhpcy5pbnB1dE51bWJlclJlZnM7XG4gICAgICAgIGNvbnN0IGlucHV0UmVmID0gcmlnaHQgPyByaWdodFRleHRJbnB1dFJlZiA6IGxlZnRUZXh0SW5wdXRSZWY7XG4gICAgICAgIGNvbnN0IHZhbHVlSW5kZXggPSByaWdodCA/IDEgOiAwO1xuXG4gICAgICAgIGlmICghaW5wdXRSZWYubmF0aXZlVmFsdWUgfHwgaW5wdXRSZWYudmFsdWUgIT09IHRoaXMudmFsdWVbdmFsdWVJbmRleF0pIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGV4dElucHV0VmFsdWUodGhpcy5zYWZlQ3VycmVudFZhbHVlW3ZhbHVlSW5kZXhdLCByaWdodCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGFuZ2VCeVN0ZXAoXG4gICAgICAgIGV2ZW50OiBFdmVudCB8IEtleWJvYXJkRXZlbnQsXG4gICAgICAgIFtsZWZ0Q29lZmZpY2llbnQsIHJpZ2h0Q29lZmZpY2llbnRdOiBbbnVtYmVyLCBudW1iZXJdLFxuICAgICk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMudmFsdWVHdWFyZChbXG4gICAgICAgICAgICB0aGlzLnZhbHVlWzBdICsgbGVmdENvZWZmaWNpZW50ICogdGhpcy5zdGVwLFxuICAgICAgICAgICAgdGhpcy52YWx1ZVsxXSArIHJpZ2h0Q29lZmZpY2llbnQgKiB0aGlzLnN0ZXAsXG4gICAgICAgIF0pO1xuICAgICAgICBjb25zdCBsZWZ0VmFsdWVDaGFuZ2VkID0gbmV3VmFsdWVbMF0gIT09IHRoaXMudmFsdWVbMF07XG4gICAgICAgIGNvbnN0IHJpZ2h0VmFsdWVDaGFuZ2VkID0gbmV3VmFsdWVbMV0gIT09IHRoaXMudmFsdWVbMV07XG5cbiAgICAgICAgaWYgKGxlZnRWYWx1ZUNoYW5nZWQgfHwgcmlnaHRWYWx1ZUNoYW5nZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2FmZWx5VXBkYXRlVmFsdWUobmV3VmFsdWUpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUZXh0SW5wdXRWYWx1ZShcbiAgICAgICAgICAgICAgICBuZXdWYWx1ZVtyaWdodFZhbHVlQ2hhbmdlZCA/IDEgOiAwXSxcbiAgICAgICAgICAgICAgICByaWdodFZhbHVlQ2hhbmdlZCxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbklucHV0TGVmdCh2YWx1ZTogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNhZmVseVVwZGF0ZVZhbHVlKFt2YWx1ZSA/PyB0aGlzLnNhZmVDdXJyZW50VmFsdWVbMF0sIHRoaXMudmFsdWVbMV1dKTtcbiAgICB9XG5cbiAgICBvbklucHV0UmlnaHQodmFsdWU6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zYWZlbHlVcGRhdGVWYWx1ZShbdGhpcy52YWx1ZVswXSwgdmFsdWUgPz8gdGhpcy5zYWZlQ3VycmVudFZhbHVlWzFdXSk7XG4gICAgfVxuXG4gICAgb25SYW5nZVZhbHVlKHZhbHVlOiBbbnVtYmVyLCBudW1iZXJdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2FmZWx5VXBkYXRlVmFsdWUodmFsdWUpO1xuXG4gICAgICAgIGNvbnN0IHJpZ2h0VmFsdWVDaGFuZ2VkID0gdGhpcy5sYXN0QWN0aXZlU2lkZSA9PT0gJ3JpZ2h0JztcblxuICAgICAgICB0aGlzLnVwZGF0ZVRleHRJbnB1dFZhbHVlKFxuICAgICAgICAgICAgdGhpcy52YWx1ZVtyaWdodFZhbHVlQ2hhbmdlZCA/IDEgOiAwXSxcbiAgICAgICAgICAgIHJpZ2h0VmFsdWVDaGFuZ2VkLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGZvY3VzVG9UZXh0SW5wdXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPVxuICAgICAgICAgICAgdGhpcy5sYXN0QWN0aXZlU2lkZSA9PT0gJ2xlZnQnXG4gICAgICAgICAgICAgICAgPyB0aGlzLmxlZnRGb2N1c2FibGVFbGVtZW50XG4gICAgICAgICAgICAgICAgOiB0aGlzLnJpZ2h0Rm9jdXNhYmxlRWxlbWVudDtcblxuICAgICAgICBpZiAoIXRoaXMuaXNNb2JpbGUgJiYgZWxlbWVudCkge1xuICAgICAgICAgICAgZWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BY3RpdmVUaHVtYkNoYW5nZShhY3RpdmVUaHVtYjogJ3JpZ2h0JyB8ICdsZWZ0Jyk6IHZvaWQge1xuICAgICAgICB0aGlzLmxhc3RBY3RpdmVTaWRlID0gYWN0aXZlVGh1bWI7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZhbGxiYWNrVmFsdWUoKTogW251bWJlciwgbnVtYmVyXSB7XG4gICAgICAgIHJldHVybiBbMCwgMF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzYWZlbHlVcGRhdGVWYWx1ZSh2YWx1ZTogW251bWJlciwgbnVtYmVyXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMudmFsdWVHdWFyZCh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmFsdWVHdWFyZChbbGVmdFZhbHVlLCByaWdodFZhbHVlXTogW251bWJlciwgbnVtYmVyXSk6IFtudW1iZXIsIG51bWJlcl0ge1xuICAgICAgICBjb25zdCBsZWZ0Q2FsaWJyYXRlZFZhbHVlID0gdGhpcy5jYWxpYnJhdGUobGVmdFZhbHVlKTtcbiAgICAgICAgY29uc3QgcmlnaHRDYWxpYnJhdGVkVmFsdWUgPSB0aGlzLmNhbGlicmF0ZShyaWdodFZhbHVlKTtcblxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgTWF0aC5taW4obGVmdENhbGlicmF0ZWRWYWx1ZSwgdGhpcy52YWx1ZVsxXSksXG4gICAgICAgICAgICBNYXRoLm1heChyaWdodENhbGlicmF0ZWRWYWx1ZSwgdGhpcy52YWx1ZVswXSksXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxpYnJhdGUodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHJvdW5kZWRWYWx1ZSA9IHJvdW5kKFxuICAgICAgICAgICAgTWF0aC5yb3VuZCh2YWx1ZSAvIHRoaXMucXVhbnR1bSkgKiB0aGlzLnF1YW50dW0sXG4gICAgICAgICAgICBUVUlfRkxPQVRJTkdfUFJFQ0lTSU9OLFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBjbGFtcChyb3VuZGVkVmFsdWUsIHRoaXMubWluLCB0aGlzLm1heCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUZXh0SW5wdXRWYWx1ZSh2YWx1ZTogbnVtYmVyLCByaWdodDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBjb25zdCBbbGVmdElucHV0UmVmLCByaWdodElucHV0UmVmXSA9IHRoaXMuaW5wdXROdW1iZXJSZWZzO1xuICAgICAgICBjb25zdCB0ZXh0SW5wdXRSZWYgPSByaWdodCA/IHJpZ2h0SW5wdXRSZWYgOiBsZWZ0SW5wdXRSZWY7XG5cbiAgICAgICAgaWYgKHRleHRJbnB1dFJlZikge1xuICAgICAgICAgICAgdGV4dElucHV0UmVmLm5hdGl2ZVZhbHVlID0gdGV4dElucHV0UmVmLmdldEZvcm1hdHRlZFZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1aVRleHRmaWVsZEFwcGVhcmFuY2VEaXJlY3RpdmVGYWN0b3J5KHtcbiAgICBuYXRpdmVFbGVtZW50LFxufTogRWxlbWVudFJlZik6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0dWlUZXh0ZmllbGRBcHBlYXJhbmNlJyk7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3R1aVRleHRmaWVsZEFwcGVhcmFuY2VdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX1RFWFRGSUVMRF9BUFBFQVJBTkNFLFxuICAgICAgICAgICAgZGVwczogW0VsZW1lbnRSZWZdLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogdHVpVGV4dGZpZWxkQXBwZWFyYW5jZURpcmVjdGl2ZUZhY3RvcnksXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpVGV4dGZpZWxkQXBwZWFyYW5jZURpcmVjdGl2ZSB7fVxuIl19
267
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXJhbmdlLyIsInNvdXJjZXMiOlsiaW5wdXQtcmFuZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixTQUFTLEVBQ1QsSUFBSSxFQUNKLFNBQVMsRUFDVCxZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFDSCxLQUFLLEVBQ0wsV0FBVyxFQUNYLGVBQWUsRUFDZixpQkFBaUIsRUFDakIsS0FBSyxFQUNMLDJCQUEyQixFQUMzQixhQUFhLEVBRWIsY0FBYyxHQUdqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLDZCQUE2QixFQUM3Qix3QkFBd0IsRUFDeEIsZ0NBQWdDLEVBQ2hDLFdBQVcsRUFDWCxRQUFRLEVBQ1Isc0JBQXNCLEdBQ3pCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLHNCQUFzQixFQUFFLGdCQUFnQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDaEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFDLG9CQUFvQixFQUFFLGlCQUFpQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFJL0QsV0FBVztBQXlCWCxJQUFhLHNCQUFzQjtBQUpuQzs7O0dBR0c7QUFDSCxNQUFhLHNCQUNULFNBQVEsc0JBQXdDO0lB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QUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFFakIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUN6QixXQUFBLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUVyQixXQUFBLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO0lBRWhDLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUE7SUFFeEMsV0FBQSxRQUFRLEVBQUUsQ0FBQTtJQUNWLFdBQUEsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUE7R0EzRHhCLHNCQUFzQixDQTJPbEM7U0EzT1ksc0JBQXNCO0FBNk9uQyxNQUFNLFVBQVUsc0NBQXNDLENBQUMsRUFDbkQsYUFBYSxHQUNKO0lBQ1QsT0FBTyxhQUFhLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDaEUsQ0FBQztBQVlELElBQWEsK0JBQStCLEdBQTVDLE1BQWEsK0JBQStCO0NBQUcsQ0FBQTtBQUFsQywrQkFBK0I7SUFWM0MsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLDBCQUEwQjtRQUNwQyxTQUFTLEVBQUU7WUFDUDtnQkFDSSxPQUFPLEVBQUUsd0JBQXdCO2dCQUNqQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7Z0JBQ2xCLFVBQVUsRUFBRSxzQ0FBc0M7YUFDckQ7U0FDSjtLQUNKLENBQUM7R0FDVywrQkFBK0IsQ0FBRztTQUFsQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIGNsYW1wLFxuICAgIEVNUFRZX1FVRVJZLFxuICAgIGlzTmF0aXZlRm9jdXNlZCxcbiAgICBpc05hdGl2ZUZvY3VzZWRJbixcbiAgICByb3VuZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgVFVJX0lTX01PQklMRSxcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgZ2V0RnJhY3Rpb25QYXJ0UGFkZGVkLFxuICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIFRVSV9URVhURklFTERfQVBQRUFSQU5DRSxcbiAgICBUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUixcbiAgICBUdWlEZWNpbWFsVCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0VHVpSW5wdXRTbGlkZXIsIHF1YW50dW1Bc3NlcnRpb259IGZyb20gJ0B0YWlnYS11aS9raXQvYWJzdHJhY3QnO1xuaW1wb3J0IHtUdWlJbnB1dE51bWJlckNvbXBvbmVudH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LW51bWJlcic7XG5pbXBvcnQge1R1aU5ld1JhbmdlRGlyZWN0aXZlLCBUdWlSYW5nZUNvbXBvbmVudH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3JhbmdlJztcbmltcG9ydCB7VFVJX0ZMT0FUSU5HX1BSRUNJU0lPTn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlLZXlTdGVwc30gZnJvbSAnQHRhaWdhLXVpL2tpdC90eXBlcyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbi8vIEBkeW5hbWljXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1yYW5nZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LXJhbmdlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LXJhbmdlLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRSYW5nZUNvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAvKipcbiAgICAgICAgICogVE9ETzogMy4wIGRlbGV0ZSBpdFxuICAgICAgICAgKiBEb250IGZvcmdldCB0byBjbGVhciBodG1sLXRhZ3NcbiAgICAgICAgICovXG4gICAgICAgICdbY2xhc3MuX3Nob3ctdGlja3MtbGFiZWxzXSc6ICchaXNOZXcnLFxuICAgIH0sXG59KVxuLyoqXG4gKiBgQWJzdHJhY3RUdWlJbnB1dFNsaWRlcmAgaW5jbHVkZXMgYWxsIGxlZ2FjeSBjb2RlIChpdCBjYW4gYmUgZGVsZXRlZCBpbiB2My4wKVxuICogVE9ETyByZXBsYWNlIGBleHRlbmRzIEFic3RyYWN0VHVpSW5wdXRTbGlkZXI8W251bWJlciwgbnVtYmVyXT5gIGJ5IGBleHRlbmRzIEFic3RyYWN0VHVpQ29udHJvbDxbbnVtYmVyLCBudW1iZXJdPiBpbXBsZW1lbnRzIFR1aVdpdGhPcHRpb25hbE1pbk1heDxudW1iZXI+YFxuICovXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRSYW5nZUNvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlJbnB1dFNsaWRlcjxbbnVtYmVyLCBudW1iZXJdPlxuICAgIGltcGxlbWVudHMgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZHJlbihUdWlJbnB1dE51bWJlckNvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0TnVtYmVyUmVmczogUXVlcnlMaXN0PFR1aUlucHV0TnVtYmVyQ29tcG9uZW50PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgQFZpZXdDaGlsZChUdWlSYW5nZUNvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJhbmdlUmVmOiBUdWlSYW5nZUNvbXBvbmVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbiA9IDA7XG5cbiAgICAvKiBUT0RPOiBtYWtlIGAxMDBgIGFzIGRlZmF1bHQgdmFsdWUgKGxpa2UgaW4gbmF0aXZlIHNsaWRlcnMpICovXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heCA9IEluZmluaXR5O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AocXVhbnR1bUFzc2VydGlvbiwgJ1F1YW50dW0gbXVzdCBiZSBwb3NpdGl2ZScpXG4gICAgcXVhbnR1bSA9IDE7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc3RlcHMgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNlZ21lbnRzID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBrZXlTdGVwczogVHVpS2V5U3RlcHMgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBsZWZ0VmFsdWVDb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8bnVtYmVyPj4gPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICByaWdodFZhbHVlQ29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0V2l0aEltcGxpY2l0PG51bWJlcj4+ID0gJyc7XG5cbiAgICBsYXN0QWN0aXZlU2lkZTogJ2xlZnQnIHwgJ3JpZ2h0JyA9ICdsZWZ0JztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX01PQklMRSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpc01vYmlsZTogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UpXG4gICAgICAgIHJlYWRvbmx5IGFwcGVhcmFuY2U6IHN0cmluZyxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpXG4gICAgICAgIHJlYWRvbmx5IGNvbnRyb2xsZXI6IFR1aVRleHRmaWVsZENvbnRyb2xsZXIsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpTmV3UmFuZ2VEaXJlY3RpdmUpXG4gICAgICAgIHJlYWRvbmx5IGlzTmV3OiBUdWlOZXdSYW5nZURpcmVjdGl2ZSB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbGVmdEZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dE51bWJlclJlZnMuZmlyc3Q/Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfHwgbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgcmlnaHRGb2N1c2FibGVFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5wdXROdW1iZXJSZWZzLmxhc3Q/Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgfHwgbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBUdWlOYXRpdmVGb2N1c2FibGVFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogdGhpcy5sZWZ0Rm9jdXNhYmxlRWxlbWVudCB8fCB0aGlzLnJpZ2h0Rm9jdXNhYmxlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGlzTmF0aXZlRm9jdXNlZEluKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgc2hvd0xlZnRWYWx1ZUNvbnRlbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBCb29sZWFuKFxuICAgICAgICAgICAgKHRoaXMubWluTGFiZWwgfHwgdGhpcy5sZWZ0VmFsdWVDb250ZW50KSAmJlxuICAgICAgICAgICAgICAgICFpc05hdGl2ZUZvY3VzZWQodGhpcy5sZWZ0Rm9jdXNhYmxlRWxlbWVudCkgJiZcbiAgICAgICAgICAgICAgICAhKHRoaXMucmFuZ2VSZWY/LmZvY3VzZWQgJiYgdGhpcy5sYXN0QWN0aXZlU2lkZSA9PT0gJ2xlZnQnKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgc2hvd1JpZ2h0VmFsdWVDb250ZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gQm9vbGVhbihcbiAgICAgICAgICAgICh0aGlzLm1heExhYmVsIHx8IHRoaXMucmlnaHRWYWx1ZUNvbnRlbnQpICYmXG4gICAgICAgICAgICAgICAgIWlzTmF0aXZlRm9jdXNlZCh0aGlzLnJpZ2h0Rm9jdXNhYmxlRWxlbWVudCkgJiZcbiAgICAgICAgICAgICAgICAhKHRoaXMucmFuZ2VSZWY/LmZvY3VzZWQgJiYgdGhpcy5sYXN0QWN0aXZlU2lkZSA9PT0gJ3JpZ2h0JyksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IHByZWNpc2lvbigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gZ2V0RnJhY3Rpb25QYXJ0UGFkZGVkKHRoaXMucXVhbnR1bSkubGVuZ3RoO1xuICAgIH1cblxuICAgIGdldCBkZWNpbWFsKCk6IFR1aURlY2ltYWxUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJlY2lzaW9uID8gJ25vdC16ZXJvJyA6ICduZXZlcic7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXB1dGVkU3RlcHMoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RlcHMgfHwgKHRoaXMubWF4IC0gdGhpcy5taW4pIC8gdGhpcy5xdWFudHVtO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZFNpemUoKTogVHVpU2l6ZUwge1xuICAgICAgICByZXR1cm4gdGhpcy5pc05ldyAmJiB0aGlzLmNvbnRyb2xsZXIuc2l6ZSAhPT0gJ3MnXG4gICAgICAgICAgICA/IHRoaXMuY29udHJvbGxlci5zaXplXG4gICAgICAgICAgICA6IHRoaXMuc2l6ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9sYWJlbC1vdXRzaWRlJylcbiAgICBnZXQgbGVnYWN5TGFiZWxPdXRzaWRlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc05ldyA/IHRoaXMuY29udHJvbGxlci5sYWJlbE91dHNpZGUgOiB0aGlzLmNvbXB1dGVkU2l6ZSA9PT0gJ20nO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZShhY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGFjdGl2ZSk7XG4gICAgfVxuXG4gICAgb25UZXh0SW5wdXRGb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4sIHJpZ2h0OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChmb2N1c2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBbbGVmdFRleHRJbnB1dFJlZiwgcmlnaHRUZXh0SW5wdXRSZWZdID0gdGhpcy5pbnB1dE51bWJlclJlZnM7XG4gICAgICAgIGNvbnN0IGlucHV0UmVmID0gcmlnaHQgPyByaWdodFRleHRJbnB1dFJlZiA6IGxlZnRUZXh0SW5wdXRSZWY7XG4gICAgICAgIGNvbnN0IHZhbHVlSW5kZXggPSByaWdodCA/IDEgOiAwO1xuXG4gICAgICAgIGlmICghaW5wdXRSZWYubmF0aXZlVmFsdWUgfHwgaW5wdXRSZWYudmFsdWUgIT09IHRoaXMudmFsdWVbdmFsdWVJbmRleF0pIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGV4dElucHV0VmFsdWUodGhpcy5zYWZlQ3VycmVudFZhbHVlW3ZhbHVlSW5kZXhdLCByaWdodCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGFuZ2VCeVN0ZXAoXG4gICAgICAgIGV2ZW50OiBFdmVudCB8IEtleWJvYXJkRXZlbnQsXG4gICAgICAgIFtsZWZ0Q29lZmZpY2llbnQsIHJpZ2h0Q29lZmZpY2llbnRdOiBbbnVtYmVyLCBudW1iZXJdLFxuICAgICk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMudmFsdWVHdWFyZChbXG4gICAgICAgICAgICB0aGlzLnZhbHVlWzBdICsgbGVmdENvZWZmaWNpZW50ICogdGhpcy5zdGVwLFxuICAgICAgICAgICAgdGhpcy52YWx1ZVsxXSArIHJpZ2h0Q29lZmZpY2llbnQgKiB0aGlzLnN0ZXAsXG4gICAgICAgIF0pO1xuICAgICAgICBjb25zdCBsZWZ0VmFsdWVDaGFuZ2VkID0gbmV3VmFsdWVbMF0gIT09IHRoaXMudmFsdWVbMF07XG4gICAgICAgIGNvbnN0IHJpZ2h0VmFsdWVDaGFuZ2VkID0gbmV3VmFsdWVbMV0gIT09IHRoaXMudmFsdWVbMV07XG5cbiAgICAgICAgaWYgKGxlZnRWYWx1ZUNoYW5nZWQgfHwgcmlnaHRWYWx1ZUNoYW5nZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2FmZWx5VXBkYXRlVmFsdWUobmV3VmFsdWUpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUZXh0SW5wdXRWYWx1ZShcbiAgICAgICAgICAgICAgICBuZXdWYWx1ZVtyaWdodFZhbHVlQ2hhbmdlZCA/IDEgOiAwXSxcbiAgICAgICAgICAgICAgICByaWdodFZhbHVlQ2hhbmdlZCxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbklucHV0TGVmdCh2YWx1ZTogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNhZmVseVVwZGF0ZVZhbHVlKFt2YWx1ZSA/PyB0aGlzLnNhZmVDdXJyZW50VmFsdWVbMF0sIHRoaXMudmFsdWVbMV1dKTtcbiAgICB9XG5cbiAgICBvbklucHV0UmlnaHQodmFsdWU6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zYWZlbHlVcGRhdGVWYWx1ZShbdGhpcy52YWx1ZVswXSwgdmFsdWUgPz8gdGhpcy5zYWZlQ3VycmVudFZhbHVlWzFdXSk7XG4gICAgfVxuXG4gICAgb25SYW5nZVZhbHVlKHZhbHVlOiBbbnVtYmVyLCBudW1iZXJdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2FmZWx5VXBkYXRlVmFsdWUodmFsdWUpO1xuXG4gICAgICAgIGNvbnN0IHJpZ2h0VmFsdWVDaGFuZ2VkID0gdGhpcy5sYXN0QWN0aXZlU2lkZSA9PT0gJ3JpZ2h0JztcblxuICAgICAgICB0aGlzLnVwZGF0ZVRleHRJbnB1dFZhbHVlKFxuICAgICAgICAgICAgdGhpcy52YWx1ZVtyaWdodFZhbHVlQ2hhbmdlZCA/IDEgOiAwXSxcbiAgICAgICAgICAgIHJpZ2h0VmFsdWVDaGFuZ2VkLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGZvY3VzVG9UZXh0SW5wdXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPVxuICAgICAgICAgICAgdGhpcy5sYXN0QWN0aXZlU2lkZSA9PT0gJ2xlZnQnXG4gICAgICAgICAgICAgICAgPyB0aGlzLmxlZnRGb2N1c2FibGVFbGVtZW50XG4gICAgICAgICAgICAgICAgOiB0aGlzLnJpZ2h0Rm9jdXNhYmxlRWxlbWVudDtcblxuICAgICAgICBpZiAoIXRoaXMuaXNNb2JpbGUgJiYgZWxlbWVudCkge1xuICAgICAgICAgICAgZWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BY3RpdmVUaHVtYkNoYW5nZShhY3RpdmVUaHVtYjogJ3JpZ2h0JyB8ICdsZWZ0Jyk6IHZvaWQge1xuICAgICAgICB0aGlzLmxhc3RBY3RpdmVTaWRlID0gYWN0aXZlVGh1bWI7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEZhbGxiYWNrVmFsdWUoKTogW251bWJlciwgbnVtYmVyXSB7XG4gICAgICAgIHJldHVybiBbMCwgMF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzYWZlbHlVcGRhdGVWYWx1ZSh2YWx1ZTogW251bWJlciwgbnVtYmVyXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHRoaXMudmFsdWVHdWFyZCh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmFsdWVHdWFyZChbbGVmdFZhbHVlLCByaWdodFZhbHVlXTogW251bWJlciwgbnVtYmVyXSk6IFtudW1iZXIsIG51bWJlcl0ge1xuICAgICAgICBjb25zdCBsZWZ0Q2FsaWJyYXRlZFZhbHVlID0gdGhpcy5jYWxpYnJhdGUobGVmdFZhbHVlKTtcbiAgICAgICAgY29uc3QgcmlnaHRDYWxpYnJhdGVkVmFsdWUgPSB0aGlzLmNhbGlicmF0ZShyaWdodFZhbHVlKTtcblxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgTWF0aC5taW4obGVmdENhbGlicmF0ZWRWYWx1ZSwgdGhpcy52YWx1ZVsxXSksXG4gICAgICAgICAgICBNYXRoLm1heChyaWdodENhbGlicmF0ZWRWYWx1ZSwgdGhpcy52YWx1ZVswXSksXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYWxpYnJhdGUodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHJvdW5kZWRWYWx1ZSA9IHJvdW5kKFxuICAgICAgICAgICAgTWF0aC5yb3VuZCh2YWx1ZSAvIHRoaXMucXVhbnR1bSkgKiB0aGlzLnF1YW50dW0sXG4gICAgICAgICAgICBUVUlfRkxPQVRJTkdfUFJFQ0lTSU9OLFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBjbGFtcChyb3VuZGVkVmFsdWUsIHRoaXMubWluLCB0aGlzLm1heCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUZXh0SW5wdXRWYWx1ZSh2YWx1ZTogbnVtYmVyLCByaWdodDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBjb25zdCBbbGVmdElucHV0UmVmLCByaWdodElucHV0UmVmXSA9IHRoaXMuaW5wdXROdW1iZXJSZWZzO1xuICAgICAgICBjb25zdCB0ZXh0SW5wdXRSZWYgPSByaWdodCA/IHJpZ2h0SW5wdXRSZWYgOiBsZWZ0SW5wdXRSZWY7XG5cbiAgICAgICAgaWYgKHRleHRJbnB1dFJlZikge1xuICAgICAgICAgICAgdGV4dElucHV0UmVmLm5hdGl2ZVZhbHVlID0gdGV4dElucHV0UmVmLmdldEZvcm1hdHRlZFZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1aVRleHRmaWVsZEFwcGVhcmFuY2VEaXJlY3RpdmVGYWN0b3J5KHtcbiAgICBuYXRpdmVFbGVtZW50LFxufTogRWxlbWVudFJlZik6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0dWlUZXh0ZmllbGRBcHBlYXJhbmNlJyk7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3R1aVRleHRmaWVsZEFwcGVhcmFuY2VdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX1RFWFRGSUVMRF9BUFBFQVJBTkNFLFxuICAgICAgICAgICAgZGVwczogW0VsZW1lbnRSZWZdLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogdHVpVGV4dGZpZWxkQXBwZWFyYW5jZURpcmVjdGl2ZUZhY3RvcnksXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpVGV4dGZpZWxkQXBwZWFyYW5jZURpcmVjdGl2ZSB7fVxuIl19