@ng-nest/ui 12.0.8 → 12.0.10

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 (386) hide show
  1. package/auto-complete/auto-complete-portal.component.d.ts +1 -3
  2. package/auto-complete/auto-complete.component.d.ts +1 -1
  3. package/back-top/back-top.component.d.ts +1 -2
  4. package/bundles/ng-nest-ui-alert.umd.js.map +1 -1
  5. package/bundles/ng-nest-ui-anchor.umd.js +1 -1
  6. package/bundles/ng-nest-ui-anchor.umd.js.map +1 -1
  7. package/bundles/ng-nest-ui-auto-complete.umd.js +7 -6
  8. package/bundles/ng-nest-ui-auto-complete.umd.js.map +1 -1
  9. package/bundles/ng-nest-ui-back-top.umd.js +2 -2
  10. package/bundles/ng-nest-ui-back-top.umd.js.map +1 -1
  11. package/bundles/ng-nest-ui-badge.umd.js +2 -1
  12. package/bundles/ng-nest-ui-badge.umd.js.map +1 -1
  13. package/bundles/ng-nest-ui-button.umd.js +4 -3
  14. package/bundles/ng-nest-ui-button.umd.js.map +1 -1
  15. package/bundles/ng-nest-ui-calendar.umd.js +4 -3
  16. package/bundles/ng-nest-ui-calendar.umd.js.map +1 -1
  17. package/bundles/ng-nest-ui-carousel.umd.js +3 -2
  18. package/bundles/ng-nest-ui-carousel.umd.js.map +1 -1
  19. package/bundles/ng-nest-ui-cascade.umd.js +9 -9
  20. package/bundles/ng-nest-ui-cascade.umd.js.map +1 -1
  21. package/bundles/ng-nest-ui-checkbox.umd.js +3 -2
  22. package/bundles/ng-nest-ui-checkbox.umd.js.map +1 -1
  23. package/bundles/ng-nest-ui-color-picker.umd.js +9 -10
  24. package/bundles/ng-nest-ui-color-picker.umd.js.map +1 -1
  25. package/bundles/ng-nest-ui-color.umd.js +1 -1
  26. package/bundles/ng-nest-ui-color.umd.js.map +1 -1
  27. package/bundles/ng-nest-ui-comment.umd.js +3 -2
  28. package/bundles/ng-nest-ui-comment.umd.js.map +1 -1
  29. package/bundles/ng-nest-ui-container.umd.js.map +1 -1
  30. package/bundles/ng-nest-ui-core.umd.js +3 -3
  31. package/bundles/ng-nest-ui-core.umd.js.map +1 -1
  32. package/bundles/ng-nest-ui-crumb.umd.js +3 -2
  33. package/bundles/ng-nest-ui-crumb.umd.js.map +1 -1
  34. package/bundles/ng-nest-ui-date-picker.umd.js +34 -44
  35. package/bundles/ng-nest-ui-date-picker.umd.js.map +1 -1
  36. package/bundles/ng-nest-ui-description.umd.js +5 -6
  37. package/bundles/ng-nest-ui-description.umd.js.map +1 -1
  38. package/bundles/ng-nest-ui-dialog.umd.js +2 -1
  39. package/bundles/ng-nest-ui-dialog.umd.js.map +1 -1
  40. package/bundles/ng-nest-ui-drawer.umd.js +2 -1
  41. package/bundles/ng-nest-ui-drawer.umd.js.map +1 -1
  42. package/bundles/ng-nest-ui-dropdown.umd.js +4 -3
  43. package/bundles/ng-nest-ui-dropdown.umd.js.map +1 -1
  44. package/bundles/ng-nest-ui-find.umd.js +6 -5
  45. package/bundles/ng-nest-ui-find.umd.js.map +1 -1
  46. package/bundles/ng-nest-ui-form.umd.js +6 -10
  47. package/bundles/ng-nest-ui-form.umd.js.map +1 -1
  48. package/bundles/ng-nest-ui-highlight.umd.js +2 -1
  49. package/bundles/ng-nest-ui-highlight.umd.js.map +1 -1
  50. package/bundles/ng-nest-ui-i18n.umd.js +2 -1
  51. package/bundles/ng-nest-ui-i18n.umd.js.map +1 -1
  52. package/bundles/ng-nest-ui-icon.umd.js +3 -2
  53. package/bundles/ng-nest-ui-icon.umd.js.map +1 -1
  54. package/bundles/ng-nest-ui-inner.umd.js +1 -1
  55. package/bundles/ng-nest-ui-inner.umd.js.map +1 -1
  56. package/bundles/ng-nest-ui-input.umd.js +7 -6
  57. package/bundles/ng-nest-ui-input.umd.js.map +1 -1
  58. package/bundles/ng-nest-ui-list.umd.js +4 -3
  59. package/bundles/ng-nest-ui-list.umd.js.map +1 -1
  60. package/bundles/ng-nest-ui-loading.umd.js +2 -1
  61. package/bundles/ng-nest-ui-loading.umd.js.map +1 -1
  62. package/bundles/ng-nest-ui-menu.umd.js +6 -6
  63. package/bundles/ng-nest-ui-menu.umd.js.map +1 -1
  64. package/bundles/ng-nest-ui-message-box.umd.js +28 -26
  65. package/bundles/ng-nest-ui-message-box.umd.js.map +1 -1
  66. package/bundles/ng-nest-ui-message.umd.js +1 -1
  67. package/bundles/ng-nest-ui-message.umd.js.map +1 -1
  68. package/bundles/ng-nest-ui-notification.umd.js +1 -1
  69. package/bundles/ng-nest-ui-notification.umd.js.map +1 -1
  70. package/bundles/ng-nest-ui-pagination.umd.js +3 -2
  71. package/bundles/ng-nest-ui-pagination.umd.js.map +1 -1
  72. package/bundles/ng-nest-ui-popover.umd.js +3 -2
  73. package/bundles/ng-nest-ui-popover.umd.js.map +1 -1
  74. package/bundles/ng-nest-ui-progress.umd.js +3 -2
  75. package/bundles/ng-nest-ui-progress.umd.js.map +1 -1
  76. package/bundles/ng-nest-ui-radio.umd.js +3 -2
  77. package/bundles/ng-nest-ui-radio.umd.js.map +1 -1
  78. package/bundles/ng-nest-ui-rate.umd.js +5 -5
  79. package/bundles/ng-nest-ui-rate.umd.js.map +1 -1
  80. package/bundles/ng-nest-ui-ripple.umd.js.map +1 -1
  81. package/bundles/ng-nest-ui-select.umd.js +6 -5
  82. package/bundles/ng-nest-ui-select.umd.js.map +1 -1
  83. package/bundles/ng-nest-ui-skeleton.umd.js +2 -1
  84. package/bundles/ng-nest-ui-skeleton.umd.js.map +1 -1
  85. package/bundles/ng-nest-ui-slider.umd.js +7 -8
  86. package/bundles/ng-nest-ui-slider.umd.js.map +1 -1
  87. package/bundles/ng-nest-ui-statistic.umd.js +6 -4
  88. package/bundles/ng-nest-ui-statistic.umd.js.map +1 -1
  89. package/bundles/ng-nest-ui-steps.umd.js +4 -3
  90. package/bundles/ng-nest-ui-steps.umd.js.map +1 -1
  91. package/bundles/ng-nest-ui-table.umd.js +13 -10
  92. package/bundles/ng-nest-ui-table.umd.js.map +1 -1
  93. package/bundles/ng-nest-ui-tabs.umd.js +5 -4
  94. package/bundles/ng-nest-ui-tabs.umd.js.map +1 -1
  95. package/bundles/ng-nest-ui-tag.umd.js +2 -1
  96. package/bundles/ng-nest-ui-tag.umd.js.map +1 -1
  97. package/bundles/ng-nest-ui-text-retract.umd.js +2 -1
  98. package/bundles/ng-nest-ui-text-retract.umd.js.map +1 -1
  99. package/bundles/ng-nest-ui-textarea.umd.js +3 -12
  100. package/bundles/ng-nest-ui-textarea.umd.js.map +1 -1
  101. package/bundles/ng-nest-ui-theme.umd.js +2 -2
  102. package/bundles/ng-nest-ui-theme.umd.js.map +1 -1
  103. package/bundles/ng-nest-ui-time-picker.umd.js +32 -15
  104. package/bundles/ng-nest-ui-time-picker.umd.js.map +1 -1
  105. package/bundles/ng-nest-ui-timeline.umd.js +3 -2
  106. package/bundles/ng-nest-ui-timeline.umd.js.map +1 -1
  107. package/bundles/ng-nest-ui-tooltip.umd.js +3 -2
  108. package/bundles/ng-nest-ui-tooltip.umd.js.map +1 -1
  109. package/bundles/ng-nest-ui-transfer.umd.js +3 -2
  110. package/bundles/ng-nest-ui-transfer.umd.js.map +1 -1
  111. package/bundles/ng-nest-ui-tree.umd.js +8 -7
  112. package/bundles/ng-nest-ui-tree.umd.js.map +1 -1
  113. package/bundles/ng-nest-ui-upload.umd.js +5 -4
  114. package/bundles/ng-nest-ui-upload.umd.js.map +1 -1
  115. package/button/buttons.component.d.ts +1 -1
  116. package/calendar/calendar.component.d.ts +2 -2
  117. package/carousel/carousel.component.d.ts +1 -1
  118. package/cascade/cascade-portal.component.d.ts +4 -7
  119. package/cascade/cascade.component.d.ts +1 -1
  120. package/checkbox/checkbox.component.d.ts +1 -1
  121. package/color/color.component.d.ts +2 -2
  122. package/color-picker/color-picker-portal.component.d.ts +1 -3
  123. package/color-picker/color-picker.component.d.ts +2 -3
  124. package/comment/comment.component.d.ts +1 -1
  125. package/core/services/reuse-strategy.service.d.ts +1 -1
  126. package/crumb/crumb.component.d.ts +1 -1
  127. package/date-picker/date-picker-portal.component.d.ts +1 -3
  128. package/date-picker/date-picker.component.d.ts +3 -4
  129. package/date-picker/date-picker.property.d.ts +1 -16
  130. package/date-picker/date-range-portal.component.d.ts +1 -3
  131. package/date-picker/date-range.component.d.ts +2 -3
  132. package/date-picker/picker-date.component.d.ts +1 -1
  133. package/date-picker/picker-month.component.d.ts +1 -1
  134. package/date-picker/picker-year.component.d.ts +1 -1
  135. package/description/description.component.d.ts +2 -4
  136. package/dropdown/dropdown-portal.component.d.ts +1 -3
  137. package/dropdown/dropdown.component.d.ts +2 -2
  138. package/esm2015/alert/alert.component.js +1 -1
  139. package/esm2015/anchor/anchor.component.js +2 -2
  140. package/esm2015/anchor/anchor.property.js +1 -1
  141. package/esm2015/auto-complete/auto-complete-portal.component.js +4 -4
  142. package/esm2015/auto-complete/auto-complete.component.js +5 -4
  143. package/esm2015/auto-complete/auto-complete.property.js +1 -1
  144. package/esm2015/back-top/back-top.component.js +3 -3
  145. package/esm2015/badge/badge.component.js +3 -2
  146. package/esm2015/button/button.component.js +5 -4
  147. package/esm2015/button/buttons.component.js +1 -1
  148. package/esm2015/calendar/calendar.component.js +5 -4
  149. package/esm2015/carousel/carousel.component.js +4 -3
  150. package/esm2015/cascade/cascade-portal.component.js +6 -7
  151. package/esm2015/cascade/cascade.component.js +5 -4
  152. package/esm2015/checkbox/checkbox.component.js +4 -3
  153. package/esm2015/checkbox/checkbox.property.js +1 -1
  154. package/esm2015/color/color.component.js +2 -2
  155. package/esm2015/color-picker/color-picker-portal.component.js +3 -3
  156. package/esm2015/color-picker/color-picker.component.js +8 -9
  157. package/esm2015/comment/comment.component.js +4 -3
  158. package/esm2015/container/container.component.js +2 -2
  159. package/esm2015/core/animation/fade.js +1 -1
  160. package/esm2015/core/services/http.service.js +2 -2
  161. package/esm2015/core/services/preloading-strategy.service.js +2 -2
  162. package/esm2015/core/services/reuse-strategy.service.js +2 -2
  163. package/esm2015/crumb/crumb.component.js +4 -3
  164. package/esm2015/date-picker/date-picker-portal.component.js +4 -4
  165. package/esm2015/date-picker/date-picker.component.js +9 -13
  166. package/esm2015/date-picker/date-picker.property.js +8 -17
  167. package/esm2015/date-picker/date-range-portal.component.js +2 -2
  168. package/esm2015/date-picker/date-range.component.js +7 -7
  169. package/esm2015/date-picker/picker-date.component.js +4 -3
  170. package/esm2015/date-picker/picker-month.component.js +4 -3
  171. package/esm2015/date-picker/picker-year.component.js +4 -3
  172. package/esm2015/description/description.component.js +6 -7
  173. package/esm2015/dialog/dialog.component.js +3 -2
  174. package/esm2015/dialog/dialog.property.js +1 -1
  175. package/esm2015/drawer/drawer.component.js +3 -2
  176. package/esm2015/dropdown/dropdown-portal.component.js +2 -2
  177. package/esm2015/dropdown/dropdown.component.js +4 -3
  178. package/esm2015/find/find.component.js +7 -6
  179. package/esm2015/form/control.component.js +1 -1
  180. package/esm2015/form/form.component.js +6 -5
  181. package/esm2015/form/form.property.js +3 -8
  182. package/esm2015/highlight/highlight.component.js +3 -2
  183. package/esm2015/highlight/highlight.property.js +1 -1
  184. package/esm2015/i18n/i18n.directive.js +3 -2
  185. package/esm2015/icon/icon.component.js +4 -3
  186. package/esm2015/inner/inner.component.js +2 -2
  187. package/esm2015/input/input-group.component.js +2 -4
  188. package/esm2015/input/input.component.js +7 -4
  189. package/esm2015/input/input.property.js +1 -1
  190. package/esm2015/list/list.component.js +5 -4
  191. package/esm2015/list/list.property.js +1 -1
  192. package/esm2015/loading/loading.component.js +3 -2
  193. package/esm2015/menu/menu-node.component.js +1 -1
  194. package/esm2015/menu/menu.component.js +7 -7
  195. package/esm2015/message/message.component.js +2 -2
  196. package/esm2015/message-box/message-box.component.js +17 -21
  197. package/esm2015/message-box/message-box.service.js +7 -5
  198. package/esm2015/notification/notification.component.js +2 -2
  199. package/esm2015/notification/notification.property.js +1 -1
  200. package/esm2015/pagination/pagination.component.js +4 -3
  201. package/esm2015/popover/popover.directive.js +4 -3
  202. package/esm2015/progress/progress.component.js +4 -3
  203. package/esm2015/radio/radio.component.js +4 -3
  204. package/esm2015/radio/radio.property.js +1 -1
  205. package/esm2015/rate/rate.component.js +6 -6
  206. package/esm2015/ripple/ripple.directive.js +1 -1
  207. package/esm2015/ripple/ripple.property.js +1 -1
  208. package/esm2015/select/select-portal.component.js +3 -3
  209. package/esm2015/select/select.component.js +5 -4
  210. package/esm2015/skeleton/skeleton.component.js +3 -2
  211. package/esm2015/slider/slider.component.js +8 -9
  212. package/esm2015/statistic/countdown.component.js +5 -4
  213. package/esm2015/statistic/statistic.component.js +3 -2
  214. package/esm2015/steps/steps.component.js +5 -4
  215. package/esm2015/steps/steps.property.js +1 -1
  216. package/esm2015/table/drag.directive.js +2 -2
  217. package/esm2015/table/table-body.component.js +4 -3
  218. package/esm2015/table/table-foot.component.js +1 -1
  219. package/esm2015/table/table-head.component.js +5 -4
  220. package/esm2015/table/table.component.js +6 -5
  221. package/esm2015/table/table.property.js +1 -1
  222. package/esm2015/tabs/tab.component.js +1 -1
  223. package/esm2015/tabs/tabs.component.js +6 -5
  224. package/esm2015/tag/tag.component.js +3 -2
  225. package/esm2015/text-retract/text-retract.component.js +3 -2
  226. package/esm2015/textarea/textarea.component.js +3 -2
  227. package/esm2015/textarea/textarea.property.js +2 -12
  228. package/esm2015/theme/theme.component.js +3 -3
  229. package/esm2015/theme/theme.property.js +1 -1
  230. package/esm2015/time-picker/time-picker-frame.component.js +9 -5
  231. package/esm2015/time-picker/time-picker-portal.component.js +2 -2
  232. package/esm2015/time-picker/time-picker.component.js +25 -12
  233. package/esm2015/timeline/timeline.component.js +4 -3
  234. package/esm2015/tooltip/tooltip.directive.js +4 -3
  235. package/esm2015/tooltip/tooltip.property.js +1 -1
  236. package/esm2015/transfer/transfer.component.js +4 -3
  237. package/esm2015/tree/tree-node.component.js +2 -2
  238. package/esm2015/tree/tree.component.js +8 -7
  239. package/esm2015/tree/tree.property.js +1 -1
  240. package/esm2015/upload/upload-portal.component.js +2 -2
  241. package/esm2015/upload/upload.component.js +5 -4
  242. package/fesm2015/ng-nest-ui-alert.js.map +1 -1
  243. package/fesm2015/ng-nest-ui-anchor.js +1 -1
  244. package/fesm2015/ng-nest-ui-anchor.js.map +1 -1
  245. package/fesm2015/ng-nest-ui-auto-complete.js +7 -6
  246. package/fesm2015/ng-nest-ui-auto-complete.js.map +1 -1
  247. package/fesm2015/ng-nest-ui-back-top.js +2 -2
  248. package/fesm2015/ng-nest-ui-back-top.js.map +1 -1
  249. package/fesm2015/ng-nest-ui-badge.js +2 -1
  250. package/fesm2015/ng-nest-ui-badge.js.map +1 -1
  251. package/fesm2015/ng-nest-ui-button.js +4 -3
  252. package/fesm2015/ng-nest-ui-button.js.map +1 -1
  253. package/fesm2015/ng-nest-ui-calendar.js +4 -3
  254. package/fesm2015/ng-nest-ui-calendar.js.map +1 -1
  255. package/fesm2015/ng-nest-ui-carousel.js +3 -2
  256. package/fesm2015/ng-nest-ui-carousel.js.map +1 -1
  257. package/fesm2015/ng-nest-ui-cascade.js +9 -9
  258. package/fesm2015/ng-nest-ui-cascade.js.map +1 -1
  259. package/fesm2015/ng-nest-ui-checkbox.js +3 -2
  260. package/fesm2015/ng-nest-ui-checkbox.js.map +1 -1
  261. package/fesm2015/ng-nest-ui-color-picker.js +9 -10
  262. package/fesm2015/ng-nest-ui-color-picker.js.map +1 -1
  263. package/fesm2015/ng-nest-ui-color.js +1 -1
  264. package/fesm2015/ng-nest-ui-color.js.map +1 -1
  265. package/fesm2015/ng-nest-ui-comment.js +3 -2
  266. package/fesm2015/ng-nest-ui-comment.js.map +1 -1
  267. package/fesm2015/ng-nest-ui-container.js +1 -1
  268. package/fesm2015/ng-nest-ui-container.js.map +1 -1
  269. package/fesm2015/ng-nest-ui-core.js +3 -3
  270. package/fesm2015/ng-nest-ui-core.js.map +1 -1
  271. package/fesm2015/ng-nest-ui-crumb.js +3 -2
  272. package/fesm2015/ng-nest-ui-crumb.js.map +1 -1
  273. package/fesm2015/ng-nest-ui-date-picker.js +34 -44
  274. package/fesm2015/ng-nest-ui-date-picker.js.map +1 -1
  275. package/fesm2015/ng-nest-ui-description.js +5 -6
  276. package/fesm2015/ng-nest-ui-description.js.map +1 -1
  277. package/fesm2015/ng-nest-ui-dialog.js +2 -1
  278. package/fesm2015/ng-nest-ui-dialog.js.map +1 -1
  279. package/fesm2015/ng-nest-ui-drawer.js +2 -1
  280. package/fesm2015/ng-nest-ui-drawer.js.map +1 -1
  281. package/fesm2015/ng-nest-ui-dropdown.js +4 -3
  282. package/fesm2015/ng-nest-ui-dropdown.js.map +1 -1
  283. package/fesm2015/ng-nest-ui-find.js +6 -5
  284. package/fesm2015/ng-nest-ui-find.js.map +1 -1
  285. package/fesm2015/ng-nest-ui-form.js +7 -11
  286. package/fesm2015/ng-nest-ui-form.js.map +1 -1
  287. package/fesm2015/ng-nest-ui-highlight.js +2 -1
  288. package/fesm2015/ng-nest-ui-highlight.js.map +1 -1
  289. package/fesm2015/ng-nest-ui-i18n.js +2 -1
  290. package/fesm2015/ng-nest-ui-i18n.js.map +1 -1
  291. package/fesm2015/ng-nest-ui-icon.js +3 -2
  292. package/fesm2015/ng-nest-ui-icon.js.map +1 -1
  293. package/fesm2015/ng-nest-ui-inner.js +1 -1
  294. package/fesm2015/ng-nest-ui-inner.js.map +1 -1
  295. package/fesm2015/ng-nest-ui-input.js +7 -6
  296. package/fesm2015/ng-nest-ui-input.js.map +1 -1
  297. package/fesm2015/ng-nest-ui-list.js +4 -3
  298. package/fesm2015/ng-nest-ui-list.js.map +1 -1
  299. package/fesm2015/ng-nest-ui-loading.js +2 -1
  300. package/fesm2015/ng-nest-ui-loading.js.map +1 -1
  301. package/fesm2015/ng-nest-ui-menu.js +6 -6
  302. package/fesm2015/ng-nest-ui-menu.js.map +1 -1
  303. package/fesm2015/ng-nest-ui-message-box.js +22 -24
  304. package/fesm2015/ng-nest-ui-message-box.js.map +1 -1
  305. package/fesm2015/ng-nest-ui-message.js +1 -1
  306. package/fesm2015/ng-nest-ui-message.js.map +1 -1
  307. package/fesm2015/ng-nest-ui-notification.js +1 -1
  308. package/fesm2015/ng-nest-ui-notification.js.map +1 -1
  309. package/fesm2015/ng-nest-ui-pagination.js +3 -2
  310. package/fesm2015/ng-nest-ui-pagination.js.map +1 -1
  311. package/fesm2015/ng-nest-ui-popover.js +3 -2
  312. package/fesm2015/ng-nest-ui-popover.js.map +1 -1
  313. package/fesm2015/ng-nest-ui-progress.js +3 -2
  314. package/fesm2015/ng-nest-ui-progress.js.map +1 -1
  315. package/fesm2015/ng-nest-ui-radio.js +3 -2
  316. package/fesm2015/ng-nest-ui-radio.js.map +1 -1
  317. package/fesm2015/ng-nest-ui-rate.js +5 -5
  318. package/fesm2015/ng-nest-ui-rate.js.map +1 -1
  319. package/fesm2015/ng-nest-ui-ripple.js.map +1 -1
  320. package/fesm2015/ng-nest-ui-select.js +6 -5
  321. package/fesm2015/ng-nest-ui-select.js.map +1 -1
  322. package/fesm2015/ng-nest-ui-skeleton.js +2 -1
  323. package/fesm2015/ng-nest-ui-skeleton.js.map +1 -1
  324. package/fesm2015/ng-nest-ui-slider.js +7 -8
  325. package/fesm2015/ng-nest-ui-slider.js.map +1 -1
  326. package/fesm2015/ng-nest-ui-statistic.js +6 -4
  327. package/fesm2015/ng-nest-ui-statistic.js.map +1 -1
  328. package/fesm2015/ng-nest-ui-steps.js +4 -3
  329. package/fesm2015/ng-nest-ui-steps.js.map +1 -1
  330. package/fesm2015/ng-nest-ui-table.js +13 -10
  331. package/fesm2015/ng-nest-ui-table.js.map +1 -1
  332. package/fesm2015/ng-nest-ui-tabs.js +5 -4
  333. package/fesm2015/ng-nest-ui-tabs.js.map +1 -1
  334. package/fesm2015/ng-nest-ui-tag.js +2 -1
  335. package/fesm2015/ng-nest-ui-tag.js.map +1 -1
  336. package/fesm2015/ng-nest-ui-text-retract.js +2 -1
  337. package/fesm2015/ng-nest-ui-text-retract.js.map +1 -1
  338. package/fesm2015/ng-nest-ui-textarea.js +3 -12
  339. package/fesm2015/ng-nest-ui-textarea.js.map +1 -1
  340. package/fesm2015/ng-nest-ui-theme.js +2 -2
  341. package/fesm2015/ng-nest-ui-theme.js.map +1 -1
  342. package/fesm2015/ng-nest-ui-time-picker.js +33 -16
  343. package/fesm2015/ng-nest-ui-time-picker.js.map +1 -1
  344. package/fesm2015/ng-nest-ui-timeline.js +3 -2
  345. package/fesm2015/ng-nest-ui-timeline.js.map +1 -1
  346. package/fesm2015/ng-nest-ui-tooltip.js +3 -2
  347. package/fesm2015/ng-nest-ui-tooltip.js.map +1 -1
  348. package/fesm2015/ng-nest-ui-transfer.js +3 -2
  349. package/fesm2015/ng-nest-ui-transfer.js.map +1 -1
  350. package/fesm2015/ng-nest-ui-tree.js +8 -7
  351. package/fesm2015/ng-nest-ui-tree.js.map +1 -1
  352. package/fesm2015/ng-nest-ui-upload.js +5 -4
  353. package/fesm2015/ng-nest-ui-upload.js.map +1 -1
  354. package/find/find.component.d.ts +1 -1
  355. package/form/control.component.d.ts +1 -1
  356. package/form/form.component.d.ts +1 -1
  357. package/form/form.property.d.ts +6 -6
  358. package/inner/inner.component.d.ts +1 -1
  359. package/input/input-group.component.d.ts +2 -4
  360. package/list/list.component.d.ts +2 -2
  361. package/menu/menu.component.d.ts +1 -1
  362. package/message/message.component.d.ts +1 -1
  363. package/message-box/message-box.component.d.ts +2 -1
  364. package/notification/notification.component.d.ts +1 -1
  365. package/package.json +1 -1
  366. package/pagination/pagination.component.d.ts +1 -1
  367. package/radio/radio.component.d.ts +1 -1
  368. package/rate/rate.component.d.ts +5 -5
  369. package/select/select-portal.component.d.ts +1 -3
  370. package/select/select.component.d.ts +1 -1
  371. package/slider/slider.component.d.ts +1 -1
  372. package/steps/steps.component.d.ts +1 -1
  373. package/table/table-body.component.d.ts +1 -1
  374. package/table/table-head.component.d.ts +1 -1
  375. package/table/table.component.d.ts +1 -1
  376. package/table/table.property.d.ts +10 -0
  377. package/textarea/textarea.property.d.ts +1 -6
  378. package/theme/theme.component.d.ts +1 -1
  379. package/time-picker/time-picker-frame.component.d.ts +1 -0
  380. package/time-picker/time-picker-portal.component.d.ts +1 -3
  381. package/time-picker/time-picker.component.d.ts +5 -3
  382. package/timeline/timeline.component.d.ts +1 -1
  383. package/transfer/transfer.component.d.ts +1 -1
  384. package/tree/tree-node.component.d.ts +1 -1
  385. package/tree/tree.component.d.ts +1 -1
  386. package/upload/upload.component.d.ts +3 -3
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
47
47
  * @decorator component
48
48
  */
49
49
  export const XTooltipPortalPrefix = 'x-tooltip-portal';
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3Rvb2x0aXAvdG9vbHRpcC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFjLGFBQWEsRUFBbUMsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0csT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRWpEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsV0FBVyxDQUFDO0FBQzFDLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQztBQUVoQzs7R0FFRztBQUVILE1BQU0sT0FBTyxnQkFBZ0I7O2dJQUFoQixnQkFBZ0I7b0hBQWhCLGdCQUFnQjtBQVVnQztJQUFqRCxXQUFXLENBQWEsYUFBYSxFQUFFLFFBQVEsQ0FBQzttREFBd0I7QUFLeEQ7SUFBaEIsYUFBYSxFQUFFO2lEQUFvQjtBQWVuQjtJQUFoQixhQUFhLEVBQUU7Z0RBQW1COzJGQTlCakMsZ0JBQWdCO2tCQUQ1QixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksY0FBYyxNQUFNLGNBQWMsRUFBRSxFQUFFOzhCQU10RCxPQUFPO3NCQUFmLEtBQUs7Z0JBS3FELFNBQVM7c0JBQW5FLEtBQUs7Z0JBS29CLE9BQU87c0JBQWhDLEtBQUs7Z0JBS0csZUFBZTtzQkFBdkIsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS29CLE1BQU07c0JBQS9CLEtBQUs7O0FBR1I7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWFBsYWNlbWVudCwgWElucHV0Qm9vbGVhbiwgWEJvb2xlYW4sIFhJbnB1dE51bWJlciwgWE51bWJlciwgWFdpdGhDb25maWcgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXQsIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIFRvb2x0aXBcclxuICogQHNlbGVjdG9yIHgtdG9vbHRpcFxyXG4gKiBAZGVjb3JhdG9yIGRpcmVjdGl2ZVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhUb29sdGlwUHJlZml4ID0gJ3gtdG9vbHRpcCc7XHJcbmNvbnN0IFhfQ09ORklHX05BTUUgPSAndG9vbHRpcCc7XHJcblxyXG4vKipcclxuICogVG9vbHRpcCBQcm9wZXJ0eVxyXG4gKi9cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiBgWyR7WFRvb2x0aXBQcmVmaXh9XSwgJHtYVG9vbHRpcFByZWZpeH1gIH0pXHJcbmV4cG9ydCBjbGFzcyBYVG9vbHRpcFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YaF5a65XHJcbiAgICogQGVuX1VTIENvbnRlbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBjb250ZW50Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrkvY3nva5cclxuICAgKiBAZW5fVVMgRGlzcGxheSBwb3NpdGlvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYUGxhY2VtZW50PihYX0NPTkZJR19OQU1FLCAnYm90dG9tJykgcGxhY2VtZW50PzogWFBsYWNlbWVudDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S6L+makOiXj1xyXG4gICAqIEBlbl9VUyBTaG93L2hpZGVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIHZpc2libGU/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IOM5pmv6aKc6ImyXHJcbiAgICogQGVuX1VTIEJhY2tncm91bmQgY29sb3JcclxuICAgKi9cclxuICBASW5wdXQoKSBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaWh+Wtl+minOiJslxyXG4gICAqIEBlbl9VUyBUZXh0IGNvbG9yXHJcbiAgICovXHJcbiAgQElucHV0KCkgY29sb3I/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaJi+WKqOWkhOeQhuWFs+mXreS6i+S7tlxyXG4gICAqIEBlbl9VUyBNYW51YWxseSBoYW5kbGUgdGhlIHNodXRkb3duIGV2ZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBtYW51YWw/OiBYQm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIFRvb2x0aXAgUG9ydGFsXHJcbiAqIEBzZWxlY3RvciB4LXRvb2x0aXAtcG9ydGFsXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFRvb2x0aXBQb3J0YWxQcmVmaXggPSAneC10b29sdGlwLXBvcnRhbCc7XHJcbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3Rvb2x0aXAvdG9vbHRpcC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFjLGFBQWEsRUFBWSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFakQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxXQUFXLENBQUM7QUFDMUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDO0FBRWhDOztHQUVHO0FBRUgsTUFBTSxPQUFPLGdCQUFnQjs7Z0lBQWhCLGdCQUFnQjtvSEFBaEIsZ0JBQWdCO0FBVWdDO0lBQWpELFdBQVcsQ0FBYSxhQUFhLEVBQUUsUUFBUSxDQUFDO21EQUF3QjtBQUt4RDtJQUFoQixhQUFhLEVBQUU7aURBQW9CO0FBZW5CO0lBQWhCLGFBQWEsRUFBRTtnREFBbUI7MkZBOUJqQyxnQkFBZ0I7a0JBRDVCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxjQUFjLE1BQU0sY0FBYyxFQUFFLEVBQUU7OEJBTXRELE9BQU87c0JBQWYsS0FBSztnQkFLcUQsU0FBUztzQkFBbkUsS0FBSztnQkFLb0IsT0FBTztzQkFBaEMsS0FBSztnQkFLRyxlQUFlO3NCQUF2QixLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFLb0IsTUFBTTtzQkFBL0IsS0FBSzs7QUFHUjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBYUGxhY2VtZW50LCBYSW5wdXRCb29sZWFuLCBYQm9vbGVhbiwgWFdpdGhDb25maWcgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXQsIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIFRvb2x0aXBcclxuICogQHNlbGVjdG9yIHgtdG9vbHRpcFxyXG4gKiBAZGVjb3JhdG9yIGRpcmVjdGl2ZVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhUb29sdGlwUHJlZml4ID0gJ3gtdG9vbHRpcCc7XHJcbmNvbnN0IFhfQ09ORklHX05BTUUgPSAndG9vbHRpcCc7XHJcblxyXG4vKipcclxuICogVG9vbHRpcCBQcm9wZXJ0eVxyXG4gKi9cclxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiBgWyR7WFRvb2x0aXBQcmVmaXh9XSwgJHtYVG9vbHRpcFByZWZpeH1gIH0pXHJcbmV4cG9ydCBjbGFzcyBYVG9vbHRpcFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YaF5a65XHJcbiAgICogQGVuX1VTIENvbnRlbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBjb250ZW50Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrkvY3nva5cclxuICAgKiBAZW5fVVMgRGlzcGxheSBwb3NpdGlvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYUGxhY2VtZW50PihYX0NPTkZJR19OQU1FLCAnYm90dG9tJykgcGxhY2VtZW50PzogWFBsYWNlbWVudDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S6L+makOiXj1xyXG4gICAqIEBlbl9VUyBTaG93L2hpZGVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIHZpc2libGU/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IOM5pmv6aKc6ImyXHJcbiAgICogQGVuX1VTIEJhY2tncm91bmQgY29sb3JcclxuICAgKi9cclxuICBASW5wdXQoKSBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaWh+Wtl+minOiJslxyXG4gICAqIEBlbl9VUyBUZXh0IGNvbG9yXHJcbiAgICovXHJcbiAgQElucHV0KCkgY29sb3I/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaJi+WKqOWkhOeQhuWFs+mXreS6i+S7tlxyXG4gICAqIEBlbl9VUyBNYW51YWxseSBoYW5kbGUgdGhlIHNodXRkb3duIGV2ZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBtYW51YWw/OiBYQm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIFRvb2x0aXAgUG9ydGFsXHJcbiAqIEBzZWxlY3RvciB4LXRvb2x0aXAtcG9ydGFsXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFRvb2x0aXBQb3J0YWxQcmVmaXggPSAneC10b29sdGlwLXBvcnRhbCc7XHJcbiJdfQ==
@@ -45,7 +45,8 @@ export class XTransferComponent extends XTransferProperty {
45
45
  this.setTitles();
46
46
  }
47
47
  ngOnChanges(changes) {
48
- XIsChange(changes.data) && this.setData();
48
+ const { data } = changes;
49
+ XIsChange(data) && this.setData();
49
50
  }
50
51
  ngOnDestroy() {
51
52
  this._unSubject.next();
@@ -115,7 +116,7 @@ export class XTransferComponent extends XTransferProperty {
115
116
  predicate(item) {
116
117
  return !item.data.disabled;
117
118
  }
118
- trackByNode(index, item) {
119
+ trackByNode(_index, item) {
119
120
  return item.id;
120
121
  }
121
122
  setCheckedAll(...sources) {
@@ -200,4 +201,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
200
201
  providers: [XValueAccessor(XTransferComponent)]
201
202
  }]
202
203
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; } });
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdHJhbnNmZXIvdHJhbnNmZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdHJhbnNmZXIvdHJhbnNmZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBSXhCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQWtDLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekcsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFrQixNQUFNLGtCQUFrQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBd0IsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7OztBQVV2RCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsaUJBQWlCO0lBdUJ2RCxZQUNTLFFBQW1CLEVBQ25CLFVBQXNCLEVBQ3RCLEdBQXNCLEVBQ3RCLGFBQTZCO1FBRXBDLEtBQUssRUFBRSxDQUFDO1FBTEQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQTFCdEMsVUFBSyxHQUFvQixFQUFFLENBQUM7UUFDNUIsU0FBSSxHQUFvQjtZQUN0QixJQUFJLEVBQUUsRUFB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QUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQzVCO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUM7WUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7a0lBaExVLGtCQUFrQjtzSEFBbEIsa0JBQWtCLHFDQUZsQixDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLHNFQ3pCakQseTdGQW1FQTsyRkR4Q2Esa0JBQWtCO2tCQVI5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxHQUFHLGVBQWUsRUFBRTtvQkFDOUIsV0FBVyxFQUFFLDJCQUEyQjtvQkFDeEMsU0FBUyxFQUFFLENBQUMsMkJBQTJCLENBQUM7b0JBQ3hDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLENBQUMsY0FBYyxvQkFBb0IsQ0FBQztpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhUcmFuc2ZlclByZWZpeCwgWFRyYW5zZmVyTm9kZSwgWFRyYW5zZmVyU291cmNlLCBYVHJhbnNmZXJQcm9wZXJ0eSB9IGZyb20gJy4vdHJhbnNmZXIucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYSXNDaGFuZ2UsIFhJc0VtcHR5LCBYU2V0RGF0YSwgWENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVsYXksIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgdHJhbnNmZXJBcnJheUl0ZW0sIG1vdmVJdGVtSW5BcnJheSwgQ2RrRHJhZ0Ryb3AsIENka0RyYWcgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hUcmFuc2ZlclByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90cmFuc2Zlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdHJhbnNmZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1hWYWx1ZUFjY2Vzc29yKFhUcmFuc2ZlckNvbXBvbmVudCldXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYVHJhbnNmZXJDb21wb25lbnQgZXh0ZW5kcyBYVHJhbnNmZXJQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIG5vZGVzOiBYVHJhbnNmZXJOb2RlW10gPSBbXTtcclxuICBsZWZ0OiBYVHJhbnNmZXJTb3VyY2UgPSB7XHJcbiAgICBsaXN0OiBbXSxcclxuICAgIHNlYXJjaExpc3Q6IFtdLFxyXG4gICAgY2hlY2tlZENvdW50OiAwLFxyXG4gICAgZGlzYWJsZWRCdXR0b246IHRydWVcclxuICB9O1xyXG4gIHJpZ2h0OiBYVHJhbnNmZXJTb3VyY2UgPSB7XHJcbiAgICBsaXN0OiBbXSxcclxuICAgIHNlYXJjaExpc3Q6IFtdLFxyXG4gICAgY2hlY2tlZENvdW50OiAwLFxyXG4gICAgZGlzYWJsZWRCdXR0b246IHRydWVcclxuICB9O1xyXG4gIHNlYXJjaElucHV0OiBzdHJpbmcgPSAnJztcclxuICBwcml2YXRlIF90aXRsZXMgPSBbJ0xpc3QnLCAnU2VsZWN0ZWQnXTtcclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuc2V0TGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0VGl0bGVzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBYSXNDaGFuZ2UoY2hhbmdlcy5kYXRhKSAmJiB0aGlzLnNldERhdGEoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgc2VhcmNoSW5wdXRDaGFuZ2Uoc291cmNlOiBYVHJhbnNmZXJTb3VyY2UpIHtcclxuICAgIHNvdXJjZS5saXN0ID0gc291cmNlLnNlYXJjaExpc3Q/LmZpbHRlcigoeCkgPT4geC5sYWJlbC5pbmRleE9mKHNvdXJjZS5zZWFyY2hJbnB1dCkgPj0gMCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBjaGVja2VkQWxsQ2hhbmdlKCRldmVudDogYm9vbGVhbiwgc291cmNlOiBYVHJhbnNmZXJTb3VyY2UpIHtcclxuICAgIGxldCBsaXN0ID0gKHNvdXJjZS5saXN0Py5maWx0ZXIoKHgpID0+ICF4LmRpc2FibGVkKSBhcyBYVHJhbnNmZXJOb2RlW10pLm1hcCgoeCkgPT4ge1xyXG4gICAgICB4LmNoZWNrZWQgPSAkZXZlbnQ7XHJcbiAgICAgIHJldHVybiB4O1xyXG4gICAgfSk7XHJcbiAgICBzb3VyY2UuY2hlY2tlZENvdW50ID0gJGV2ZW50ID8gbGlzdC5sZW5ndGggOiAwO1xyXG4gICAgc291cmNlLmluZGV0ZXJtaW5hdGUgPSAkZXZlbnQ7XHJcbiAgICB0aGlzLnNldEJ1dHRvbkRpc2FibGVkKHNvdXJjZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBjaGVja2VkQ2hhbmdlKCRldmVudDogYm9vbGVhbiwgc291cmNlOiBYVHJhbnNmZXJTb3VyY2UpIHtcclxuICAgIGlmICghJGV2ZW50KSAoc291cmNlLmNoZWNrZWRDb3VudCBhcyBudW1iZXIpLS07XHJcbiAgICBlbHNlIChzb3VyY2UuY2hlY2tlZENvdW50IGFzIG51bWJlcikrKztcclxuICAgIHRoaXMuc2V0Q2hlY2tlZEFsbChzb3VyY2UpO1xyXG4gICAgdGhpcy5zZXRCdXR0b25EaXNhYmxlZChzb3VyY2UpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgbW92ZShmcm9tOiBYVHJhbnNmZXJTb3VyY2UsIHRvOiBYVHJhbnNmZXJTb3VyY2UpIHtcclxuICAgIGlmIChmcm9tLmRpc2FibGVkQnV0dG9uKSByZXR1cm47XHJcbiAgICBsZXQgY2hlY2tlZEl0ZW1zID0gZnJvbS5saXN0Py5maWx0ZXIoKHgpID0+ICFYSXNFbXB0eSh4LmNoZWNrZWQpKSBhcyBYVHJhbnNmZXJOb2RlW107XHJcbiAgICBsZXQgaiA9IDA7XHJcbiAgICBjaGVja2VkSXRlbXMuZm9yRWFjaCgoeCkgPT4ge1xyXG4gICAgICBjb25zdCBpbmRleCA9IGZyb20ubGlzdD8uaW5kZXhPZih4KSBhcyBudW1iZXI7XHJcbiAgICAgIHguY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICB0cmFuc2ZlckFycmF5SXRlbShmcm9tLmxpc3QgYXMgWFRyYW5zZmVyTm9kZVtdLCB0by5saXN0IGFzIFhUcmFuc2Zlck5vZGVbXSwgaW5kZXgsIGopO1xyXG4gICAgICBqKys7XHJcbiAgICB9KTtcclxuICAgIGZyb20uY2hlY2tlZEFsbCA9IGZhbHNlO1xyXG4gICAgZnJvbS5jaGVja2VkQ291bnQgPSAwO1xyXG4gICAgZnJvbS5pbmRldGVybWluYXRlID0gZmFsc2U7XHJcbiAgICBmcm9tLmRpc2FibGVkQnV0dG9uID0gdHJ1ZTtcclxuICAgIHRoaXMuc2V0U2VhcmNoTGlzdChmcm9tLCB0byk7XHJcbiAgICB0aGlzLnNldFZhbHVlKCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBkcm9wQ2RrKGV2ZW50OiBDZGtEcmFnRHJvcDxYVHJhbnNmZXJOb2RlW10gfCB1bmRlZmluZWQsIGFueT4pIHtcclxuICAgIGNvbnN0IGV2ID0gZXZlbnQgYXMgQ2RrRHJhZ0Ryb3A8WFRyYW5zZmVyTm9kZVtdPjtcclxuICAgIGlmIChldi5wcmV2aW91c0NvbnRhaW5lciA9PT0gZXYuY29udGFpbmVyKSB7XHJcbiAgICAgIG1vdmVJdGVtSW5BcnJheShldi5jb250YWluZXIuZGF0YSwgZXYucHJldmlvdXNJbmRleCwgZXYuY3VycmVudEluZGV4KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRyYW5zZmVyQXJyYXlJdGVtKGV2LnByZXZpb3VzQ29udGFpbmVyLmRhdGEsIGV2LmNvbnRhaW5lci5kYXRhLCBldi5wcmV2aW91c0luZGV4LCBldi5jdXJyZW50SW5kZXgpO1xyXG4gICAgICB0aGlzLnNldENoZWNrZWRDb3VudCh0aGlzLmxlZnQsIHRoaXMucmlnaHQpO1xyXG4gICAgICB0aGlzLnNldENoZWNrZWRBbGwodGhpcy5sZWZ0LCB0aGlzLnJpZ2h0KTtcclxuICAgICAgdGhpcy5zZXRCdXR0b25EaXNhYmxlZCh0aGlzLmxlZnQsIHRoaXMucmlnaHQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRTZWFyY2hMaXN0KHRoaXMubGVmdCwgdGhpcy5yaWdodCk7XHJcbiAgICB0aGlzLnNldFZhbHVlKCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcmVkaWNhdGUoaXRlbTogQ2RrRHJhZzxYVHJhbnNmZXJOb2RlPikge1xyXG4gICAgcmV0dXJuICFpdGVtLmRhdGEuZGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5Tm9kZShpbmRleDogbnVtYmVyLCBpdGVtOiBYVHJhbnNmZXJOb2RlKSB7XHJcbiAgICByZXR1cm4gaXRlbS5pZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q2hlY2tlZEFsbCguLi5zb3VyY2VzOiBYVHJhbnNmZXJTb3VyY2VbXSkge1xyXG4gICAgZm9yIChsZXQgc291cmNlIG9mIHNvdXJjZXMpIHtcclxuICAgICAgaWYgKChzb3VyY2UuY2hlY2tlZENvdW50IGFzIG51bWJlcikgPiAwKSB7XHJcbiAgICAgICAgaWYgKHNvdXJjZS5jaGVja2VkQ291bnQgPT09IHNvdXJjZS5saXN0Py5maWx0ZXIoKHgpID0+ICF4LmRpc2FibGVkKS5sZW5ndGgpIHtcclxuICAgICAgICAgIHNvdXJjZS5jaGVja2VkQWxsID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgc291cmNlLmNoZWNrZWRBbGwgPSBmYWxzZTtcclxuICAgICAgICAgIHNvdXJjZS5pbmRldGVybWluYXRlID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc291cmNlLmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDaGVja2VkQ291bnQoLi4uc291cmNlczogWFRyYW5zZmVyU291cmNlW10pIHtcclxuICAgIGZvciAobGV0IHNvdXJjZSBvZiBzb3VyY2VzKSBzb3VyY2UuY2hlY2tlZENvdW50ID0gc291cmNlLmxpc3Q/LmZpbHRlcigoeCkgPT4gIVhJc0VtcHR5KHguY2hlY2tlZCkpLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0QnV0dG9uRGlzYWJsZWQoLi4uc291cmNlczogWFRyYW5zZmVyU291cmNlW10pIHtcclxuICAgIGZvciAobGV0IHNvdXJjZSBvZiBzb3VyY2VzKSBzb3VyY2UuZGlzYWJsZWRCdXR0b24gPSBzb3VyY2UuY2hlY2tlZENvdW50ID09PSAwO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRWYWx1ZSgpIHtcclxuICAgIHRoaXMudmFsdWUgPSB0aGlzLnJpZ2h0Lmxpc3Q/Lm1hcCgoeCkgPT4geC5pZCkgYXMgYW55W107XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTZWFyY2hMaXN0KC4uLnNvdXJjZXM6IFhUcmFuc2ZlclNvdXJjZVtdKSB7XHJcbiAgICBpZiAodGhpcy5zZWFyY2gpIHtcclxuICAgICAgZm9yIChsZXQgc291cmNlIG9mIHNvdXJjZXMpIHtcclxuICAgICAgICBpZiAoWElzRW1wdHkoc291cmNlLnNlYXJjaElucHV0KSkge1xyXG4gICAgICAgICAgc291cmNlLnNlYXJjaExpc3QgPSBbLi4uKHNvdXJjZS5saXN0IGFzIFhUcmFuc2Zlck5vZGVbXSldO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXREYXRhKCkge1xyXG4gICAgWFNldERhdGE8WFRyYW5zZmVyTm9kZT4odGhpcy5kYXRhLCB0aGlzLl91blN1YmplY3QpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICB0aGlzLm5vZGVzID0geDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRMaXN0KCkge1xyXG4gICAgaWYgKCFYSXNFbXB0eSh0aGlzLnZhbHVlKSkge1xyXG4gICAgICB0aGlzLmxlZnQubGlzdCA9IHRoaXMubm9kZXMuZmlsdGVyKCh4KSA9PiB0aGlzLnZhbHVlLmluZGV4T2YoeC5pZCkgPCAwKTtcclxuICAgICAgdGhpcy5yaWdodC5saXN0ID0gdGhpcy5ub2Rlcy5maWx0ZXIoKHgpID0+IHRoaXMudmFsdWUuaW5kZXhPZih4LmlkKSA+PSAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubGVmdC5saXN0ID0gdGhpcy5ub2RlcztcclxuICAgIH1cclxuICAgIHRoaXMuc2V0U2VhcmNoTGlzdCh0aGlzLmxlZnQsIHRoaXMucmlnaHQpO1xyXG4gICAgLy8gVG9EbzogeC1jaGVja2JveCBlcnJvci4gQXR0ZW1wdCB0byB1c2UgYSBkZXN0cm95ZWQgdmlldzogZGV0ZWN0Q2hhbmdlc1xyXG4gICAgb2YodHJ1ZSlcclxuICAgICAgLnBpcGUoZGVsYXkoMCksIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFRpdGxlcygpIHtcclxuICAgIGlmIChYSXNFbXB0eSh0aGlzLnRpdGxlcykpIHtcclxuICAgICAgdGhpcy50aXRsZXMgPSB0aGlzLl90aXRsZXM7XHJcbiAgICB9XHJcbiAgICB0aGlzLmxlZnQudGl0bGUgPSB0aGlzLnRpdGxlc1swXTtcclxuICAgIGlmICh0aGlzLnRpdGxlcy5sZW5ndGggPiAxKSB0aGlzLnJpZ2h0LnRpdGxlID0gdGhpcy50aXRsZXNbMV07XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgI3RyYW5zZmVyIGNsYXNzPVwieC10cmFuc2ZlclwiIGNka0Ryb3BMaXN0R3JvdXAgW25nQ2xhc3NdPVwiY2xhc3NNYXBcIj5cclxuICA8ZGl2IGNsYXNzPVwieC10cmFuc2Zlci1ib3hcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzb3VyY2VUaXRsZVRwbDsgY29udGV4dDogeyBzb3VyY2U6IGxlZnQgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPHVsXHJcbiAgICAgIGNsYXNzPVwieC10cmFuc2Zlci1saXN0XCJcclxuICAgICAgY2RrRHJvcExpc3RcclxuICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wQ2RrKCRldmVudClcIlxyXG4gICAgICBbY2RrRHJvcExpc3REYXRhXT1cImxlZnQubGlzdFwiXHJcbiAgICAgIFtjZGtEcm9wTGlzdERpc2FibGVkXT1cIiFkcmFnXCJcclxuICAgICAgW2Nka0Ryb3BMaXN0RW50ZXJQcmVkaWNhdGVdPVwicHJlZGljYXRlXCJcclxuICAgID5cclxuICAgICAgPGxpIGNsYXNzPVwieC10cmFuc2Zlci1pdGVtXCIgKm5nRm9yPVwibGV0IG5vZGUgb2YgbGVmdC5saXN0OyB0cmFja0J5OiB0cmFja0J5Tm9kZVwiIGNka0RyYWcgW2Nka0RyYWdEYXRhXT1cIm5vZGVcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic291cmNlTm9kZVRwbDsgY29udGV4dDogeyBub2RlOiBub2RlLCBzb3VyY2U6IGxlZnQgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2xpPlxyXG4gICAgPC91bD5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwieC10cmFuc2Zlci1idXR0b25zXCI+XHJcbiAgICA8eC1idXR0b24gdHlwZT1cInByaW1hcnlcIiBpY29uPVwiZnRvLWNoZXZyb24tcmlnaHRcIiBbZGlzYWJsZWRdPVwibGVmdC5kaXNhYmxlZEJ1dHRvblwiIChjbGljayk9XCJtb3ZlKGxlZnQsIHJpZ2h0KVwiPjwveC1idXR0b24+XHJcbiAgICA8eC1idXR0b24gdHlwZT1cInByaW1hcnlcIiBpY29uPVwiZnRvLWNoZXZyb24tbGVmdFwiIFtkaXNhYmxlZF09XCJyaWdodC5kaXNhYmxlZEJ1dHRvblwiIChjbGljayk9XCJtb3ZlKHJpZ2h0LCBsZWZ0KVwiPjwveC1idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIngtdHJhbnNmZXItYm94XCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic291cmNlVGl0bGVUcGw7IGNvbnRleHQ6IHsgc291cmNlOiByaWdodCB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8dWxcclxuICAgICAgY2xhc3M9XCJ4LXRyYW5zZmVyLWxpc3RcIlxyXG4gICAgICBjZGtEcm9wTGlzdFxyXG4gICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3BDZGsoJGV2ZW50KVwiXHJcbiAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwicmlnaHQubGlzdFwiXHJcbiAgICAgIFtjZGtEcm9wTGlzdERpc2FibGVkXT1cIiFkcmFnXCJcclxuICAgICAgW2Nka0Ryb3BMaXN0RW50ZXJQcmVkaWNhdGVdPVwicHJlZGljYXRlXCJcclxuICAgID5cclxuICAgICAgPGxpIGNsYXNzPVwieC10cmFuc2Zlci1pdGVtXCIgKm5nRm9yPVwibGV0IG5vZGUgb2YgcmlnaHQubGlzdDsgdHJhY2tCeTogdHJhY2tCeU5vZGVcIiBjZGtEcmFnIFtjZGtEcmFnRGF0YV09XCJub2RlXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNvdXJjZU5vZGVUcGw7IGNvbnRleHQ6IHsgbm9kZTogbm9kZSwgc291cmNlOiByaWdodCB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L3VsPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjc291cmNlVGl0bGVUcGwgbGV0LXNvdXJjZT1cInNvdXJjZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXRyYW5zZmVyLXRpdGxlXCI+XHJcbiAgICA8eC1jaGVja2JveFxyXG4gICAgICBbZGF0YV09XCJbdGl0bGVUcGwgPyAnJyA6IHNvdXJjZS50aXRsZV1cIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cInNvdXJjZS5jaGVja2VkQWxsXCJcclxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hlY2tlZEFsbENoYW5nZSgkZXZlbnQsIHNvdXJjZSlcIlxyXG4gICAgICBbaW5kZXRlcm1pbmF0ZV09XCJzb3VyY2UuaW5kZXRlcm1pbmF0ZVwiXHJcbiAgICA+PC94LWNoZWNrYm94PlxyXG4gICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cInRpdGxlVHBsOyBjb250ZXh0OiB7ICR0aXRsZTogc291cmNlLnRpdGxlLCAkY2hlY2tlZENvdW50OiBzb3VyY2UuY2hlY2tlZENvdW50LCAkY291bnQ6IHNvdXJjZS5saXN0Lmxlbmd0aCB9XCJcclxuICAgICAgPjxzcGFuPnt7IHNvdXJjZS5jaGVja2VkQ291bnQgfX0gLyB7eyBzb3VyY2UubGlzdC5sZW5ndGggfX08L3NwYW4+PC9uZy1jb250YWluZXJcclxuICAgID5cclxuICA8L2Rpdj5cclxuICA8IS0tIDxkaXYgY2xhc3M9XCJ4LXRyYW5zZmVyLXNlYXJjaFwiICpuZ0lmPVwic2VhcmNoXCI+XHJcbiAgICA8eC1pbnB1dFxyXG4gICAgICBpY29uPVwiZnRvLXNlYXJjaFwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwic291cmNlLnNlYXJjaElucHV0XCJcclxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VhcmNoSW5wdXRDaGFuZ2Uoc291cmNlKVwiXHJcbiAgICAgIGNsZWFyYWJsZVxyXG4gICAgPjwveC1pbnB1dD5cclxuICA8L2Rpdj4gLS0+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3NvdXJjZU5vZGVUcGwgbGV0LW5vZGU9XCJub2RlXCIgbGV0LXNvdXJjZT1cInNvdXJjZVwiPlxyXG4gIDx4LWNoZWNrYm94XHJcbiAgICBbZGF0YV09XCJbeyBpZDogbm9kZS5pZCwgbGFiZWw6IG5vZGVUcGwgPyBub2RlVHBsIDogbm9kZS5sYWJlbCwgbm9kZTogbm9kZSB9XVwiXHJcbiAgICBbZGlzYWJsZWRdPVwibm9kZS5kaXNhYmxlZFwiXHJcbiAgICBbKG5nTW9kZWwpXT1cIm5vZGUuY2hlY2tlZFwiXHJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJjaGVja2VkQ2hhbmdlKCRldmVudCwgc291cmNlKVwiXHJcbiAgPjwveC1jaGVja2JveD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdHJhbnNmZXIvdHJhbnNmZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdHJhbnNmZXIvdHJhbnNmZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBSXhCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQWtDLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekcsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFrQixNQUFNLGtCQUFrQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBd0IsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7OztBQVV2RCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsaUJBQWlCO0lBdUJ2RCxZQUNTLFFBQW1CLEVBQ25CLFVBQXNCLEVBQ3RCLEdBQXNCLEVBQ3RCLGFBQTZCO1FBRXBDLEtBQUssRUFBRSxDQUFDO1FBTEQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQTFCdEMsVUFBSyxHQUFvQixFQUFFLENBQUM7UUFDNUIsU0FBSSxHQUFvQjtZQUN0QixJQUFJLEVBQUUsRUFB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QUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUM1QjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O2tJQWpMVSxrQkFBa0I7c0hBQWxCLGtCQUFrQixxQ0FGbEIsQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxzRUN6QmpELHk3RkFtRUE7MkZEeENhLGtCQUFrQjtrQkFSOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsR0FBRyxlQUFlLEVBQUU7b0JBQzlCLFdBQVcsRUFBRSwyQkFBMkI7b0JBQ3hDLFNBQVMsRUFBRSxDQUFDLDJCQUEyQixDQUFDO29CQUN4QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRSxDQUFDLGNBQWMsb0JBQW9CLENBQUM7aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYVHJhbnNmZXJQcmVmaXgsIFhUcmFuc2Zlck5vZGUsIFhUcmFuc2ZlclNvdXJjZSwgWFRyYW5zZmVyUHJvcGVydHkgfSBmcm9tICcuL3RyYW5zZmVyLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzQ2hhbmdlLCBYSXNFbXB0eSwgWFNldERhdGEsIFhDb25maWdTZXJ2aWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlbGF5LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IHRyYW5zZmVyQXJyYXlJdGVtLCBtb3ZlSXRlbUluQXJyYXksIENka0RyYWdEcm9wLCBDZGtEcmFnIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IFhWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYVHJhbnNmZXJQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vdHJhbnNmZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RyYW5zZmVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtYVmFsdWVBY2Nlc3NvcihYVHJhbnNmZXJDb21wb25lbnQpXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFRyYW5zZmVyQ29tcG9uZW50IGV4dGVuZHMgWFRyYW5zZmVyUHJvcGVydHkgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBub2RlczogWFRyYW5zZmVyTm9kZVtdID0gW107XHJcbiAgbGVmdDogWFRyYW5zZmVyU291cmNlID0ge1xyXG4gICAgbGlzdDogW10sXHJcbiAgICBzZWFyY2hMaXN0OiBbXSxcclxuICAgIGNoZWNrZWRDb3VudDogMCxcclxuICAgIGRpc2FibGVkQnV0dG9uOiB0cnVlXHJcbiAgfTtcclxuICByaWdodDogWFRyYW5zZmVyU291cmNlID0ge1xyXG4gICAgbGlzdDogW10sXHJcbiAgICBzZWFyY2hMaXN0OiBbXSxcclxuICAgIGNoZWNrZWRDb3VudDogMCxcclxuICAgIGRpc2FibGVkQnV0dG9uOiB0cnVlXHJcbiAgfTtcclxuICBzZWFyY2hJbnB1dDogc3RyaW5nID0gJyc7XHJcbiAgcHJpdmF0ZSBfdGl0bGVzID0gWydMaXN0JywgJ1NlbGVjdGVkJ107XHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLnNldExpc3QoKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldFRpdGxlcygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgY29uc3QgeyBkYXRhIH0gPSBjaGFuZ2VzO1xyXG4gICAgWElzQ2hhbmdlKGRhdGEpICYmIHRoaXMuc2V0RGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBzZWFyY2hJbnB1dENoYW5nZShzb3VyY2U6IFhUcmFuc2ZlclNvdXJjZSkge1xyXG4gICAgc291cmNlLmxpc3QgPSBzb3VyY2Uuc2VhcmNoTGlzdD8uZmlsdGVyKCh4KSA9PiB4LmxhYmVsLmluZGV4T2Yoc291cmNlLnNlYXJjaElucHV0KSA+PSAwKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGNoZWNrZWRBbGxDaGFuZ2UoJGV2ZW50OiBib29sZWFuLCBzb3VyY2U6IFhUcmFuc2ZlclNvdXJjZSkge1xyXG4gICAgbGV0IGxpc3QgPSAoc291cmNlLmxpc3Q/LmZpbHRlcigoeCkgPT4gIXguZGlzYWJsZWQpIGFzIFhUcmFuc2Zlck5vZGVbXSkubWFwKCh4KSA9PiB7XHJcbiAgICAgIHguY2hlY2tlZCA9ICRldmVudDtcclxuICAgICAgcmV0dXJuIHg7XHJcbiAgICB9KTtcclxuICAgIHNvdXJjZS5jaGVja2VkQ291bnQgPSAkZXZlbnQgPyBsaXN0Lmxlbmd0aCA6IDA7XHJcbiAgICBzb3VyY2UuaW5kZXRlcm1pbmF0ZSA9ICRldmVudDtcclxuICAgIHRoaXMuc2V0QnV0dG9uRGlzYWJsZWQoc291cmNlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGNoZWNrZWRDaGFuZ2UoJGV2ZW50OiBib29sZWFuLCBzb3VyY2U6IFhUcmFuc2ZlclNvdXJjZSkge1xyXG4gICAgaWYgKCEkZXZlbnQpIChzb3VyY2UuY2hlY2tlZENvdW50IGFzIG51bWJlciktLTtcclxuICAgIGVsc2UgKHNvdXJjZS5jaGVja2VkQ291bnQgYXMgbnVtYmVyKSsrO1xyXG4gICAgdGhpcy5zZXRDaGVja2VkQWxsKHNvdXJjZSk7XHJcbiAgICB0aGlzLnNldEJ1dHRvbkRpc2FibGVkKHNvdXJjZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBtb3ZlKGZyb206IFhUcmFuc2ZlclNvdXJjZSwgdG86IFhUcmFuc2ZlclNvdXJjZSkge1xyXG4gICAgaWYgKGZyb20uZGlzYWJsZWRCdXR0b24pIHJldHVybjtcclxuICAgIGxldCBjaGVja2VkSXRlbXMgPSBmcm9tLmxpc3Q/LmZpbHRlcigoeCkgPT4gIVhJc0VtcHR5KHguY2hlY2tlZCkpIGFzIFhUcmFuc2Zlck5vZGVbXTtcclxuICAgIGxldCBqID0gMDtcclxuICAgIGNoZWNrZWRJdGVtcy5mb3JFYWNoKCh4KSA9PiB7XHJcbiAgICAgIGNvbnN0IGluZGV4ID0gZnJvbS5saXN0Py5pbmRleE9mKHgpIGFzIG51bWJlcjtcclxuICAgICAgeC5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgIHRyYW5zZmVyQXJyYXlJdGVtKGZyb20ubGlzdCBhcyBYVHJhbnNmZXJOb2RlW10sIHRvLmxpc3QgYXMgWFRyYW5zZmVyTm9kZVtdLCBpbmRleCwgaik7XHJcbiAgICAgIGorKztcclxuICAgIH0pO1xyXG4gICAgZnJvbS5jaGVja2VkQWxsID0gZmFsc2U7XHJcbiAgICBmcm9tLmNoZWNrZWRDb3VudCA9IDA7XHJcbiAgICBmcm9tLmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcclxuICAgIGZyb20uZGlzYWJsZWRCdXR0b24gPSB0cnVlO1xyXG4gICAgdGhpcy5zZXRTZWFyY2hMaXN0KGZyb20sIHRvKTtcclxuICAgIHRoaXMuc2V0VmFsdWUoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGRyb3BDZGsoZXZlbnQ6IENka0RyYWdEcm9wPFhUcmFuc2Zlck5vZGVbXSB8IHVuZGVmaW5lZCwgYW55Pikge1xyXG4gICAgY29uc3QgZXYgPSBldmVudCBhcyBDZGtEcmFnRHJvcDxYVHJhbnNmZXJOb2RlW10+O1xyXG4gICAgaWYgKGV2LnByZXZpb3VzQ29udGFpbmVyID09PSBldi5jb250YWluZXIpIHtcclxuICAgICAgbW92ZUl0ZW1JbkFycmF5KGV2LmNvbnRhaW5lci5kYXRhLCBldi5wcmV2aW91c0luZGV4LCBldi5jdXJyZW50SW5kZXgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdHJhbnNmZXJBcnJheUl0ZW0oZXYucHJldmlvdXNDb250YWluZXIuZGF0YSwgZXYuY29udGFpbmVyLmRhdGEsIGV2LnByZXZpb3VzSW5kZXgsIGV2LmN1cnJlbnRJbmRleCk7XHJcbiAgICAgIHRoaXMuc2V0Q2hlY2tlZENvdW50KHRoaXMubGVmdCwgdGhpcy5yaWdodCk7XHJcbiAgICAgIHRoaXMuc2V0Q2hlY2tlZEFsbCh0aGlzLmxlZnQsIHRoaXMucmlnaHQpO1xyXG4gICAgICB0aGlzLnNldEJ1dHRvbkRpc2FibGVkKHRoaXMubGVmdCwgdGhpcy5yaWdodCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFNlYXJjaExpc3QodGhpcy5sZWZ0LCB0aGlzLnJpZ2h0KTtcclxuICAgIHRoaXMuc2V0VmFsdWUoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByZWRpY2F0ZShpdGVtOiBDZGtEcmFnPFhUcmFuc2Zlck5vZGU+KSB7XHJcbiAgICByZXR1cm4gIWl0ZW0uZGF0YS5kaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlOb2RlKF9pbmRleDogbnVtYmVyLCBpdGVtOiBYVHJhbnNmZXJOb2RlKSB7XHJcbiAgICByZXR1cm4gaXRlbS5pZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q2hlY2tlZEFsbCguLi5zb3VyY2VzOiBYVHJhbnNmZXJTb3VyY2VbXSkge1xyXG4gICAgZm9yIChsZXQgc291cmNlIG9mIHNvdXJjZXMpIHtcclxuICAgICAgaWYgKChzb3VyY2UuY2hlY2tlZENvdW50IGFzIG51bWJlcikgPiAwKSB7XHJcbiAgICAgICAgaWYgKHNvdXJjZS5jaGVja2VkQ291bnQgPT09IHNvdXJjZS5saXN0Py5maWx0ZXIoKHgpID0+ICF4LmRpc2FibGVkKS5sZW5ndGgpIHtcclxuICAgICAgICAgIHNvdXJjZS5jaGVja2VkQWxsID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgc291cmNlLmNoZWNrZWRBbGwgPSBmYWxzZTtcclxuICAgICAgICAgIHNvdXJjZS5pbmRldGVybWluYXRlID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc291cmNlLmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDaGVja2VkQ291bnQoLi4uc291cmNlczogWFRyYW5zZmVyU291cmNlW10pIHtcclxuICAgIGZvciAobGV0IHNvdXJjZSBvZiBzb3VyY2VzKSBzb3VyY2UuY2hlY2tlZENvdW50ID0gc291cmNlLmxpc3Q/LmZpbHRlcigoeCkgPT4gIVhJc0VtcHR5KHguY2hlY2tlZCkpLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0QnV0dG9uRGlzYWJsZWQoLi4uc291cmNlczogWFRyYW5zZmVyU291cmNlW10pIHtcclxuICAgIGZvciAobGV0IHNvdXJjZSBvZiBzb3VyY2VzKSBzb3VyY2UuZGlzYWJsZWRCdXR0b24gPSBzb3VyY2UuY2hlY2tlZENvdW50ID09PSAwO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRWYWx1ZSgpIHtcclxuICAgIHRoaXMudmFsdWUgPSB0aGlzLnJpZ2h0Lmxpc3Q/Lm1hcCgoeCkgPT4geC5pZCkgYXMgYW55W107XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTZWFyY2hMaXN0KC4uLnNvdXJjZXM6IFhUcmFuc2ZlclNvdXJjZVtdKSB7XHJcbiAgICBpZiAodGhpcy5zZWFyY2gpIHtcclxuICAgICAgZm9yIChsZXQgc291cmNlIG9mIHNvdXJjZXMpIHtcclxuICAgICAgICBpZiAoWElzRW1wdHkoc291cmNlLnNlYXJjaElucHV0KSkge1xyXG4gICAgICAgICAgc291cmNlLnNlYXJjaExpc3QgPSBbLi4uKHNvdXJjZS5saXN0IGFzIFhUcmFuc2Zlck5vZGVbXSldO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXREYXRhKCkge1xyXG4gICAgWFNldERhdGE8WFRyYW5zZmVyTm9kZT4odGhpcy5kYXRhLCB0aGlzLl91blN1YmplY3QpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICB0aGlzLm5vZGVzID0geDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRMaXN0KCkge1xyXG4gICAgaWYgKCFYSXNFbXB0eSh0aGlzLnZhbHVlKSkge1xyXG4gICAgICB0aGlzLmxlZnQubGlzdCA9IHRoaXMubm9kZXMuZmlsdGVyKCh4KSA9PiB0aGlzLnZhbHVlLmluZGV4T2YoeC5pZCkgPCAwKTtcclxuICAgICAgdGhpcy5yaWdodC5saXN0ID0gdGhpcy5ub2Rlcy5maWx0ZXIoKHgpID0+IHRoaXMudmFsdWUuaW5kZXhPZih4LmlkKSA+PSAwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubGVmdC5saXN0ID0gdGhpcy5ub2RlcztcclxuICAgIH1cclxuICAgIHRoaXMuc2V0U2VhcmNoTGlzdCh0aGlzLmxlZnQsIHRoaXMucmlnaHQpO1xyXG4gICAgLy8gVG9EbzogeC1jaGVja2JveCBlcnJvci4gQXR0ZW1wdCB0byB1c2UgYSBkZXN0cm95ZWQgdmlldzogZGV0ZWN0Q2hhbmdlc1xyXG4gICAgb2YodHJ1ZSlcclxuICAgICAgLnBpcGUoZGVsYXkoMCksIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFRpdGxlcygpIHtcclxuICAgIGlmIChYSXNFbXB0eSh0aGlzLnRpdGxlcykpIHtcclxuICAgICAgdGhpcy50aXRsZXMgPSB0aGlzLl90aXRsZXM7XHJcbiAgICB9XHJcbiAgICB0aGlzLmxlZnQudGl0bGUgPSB0aGlzLnRpdGxlc1swXTtcclxuICAgIGlmICh0aGlzLnRpdGxlcy5sZW5ndGggPiAxKSB0aGlzLnJpZ2h0LnRpdGxlID0gdGhpcy50aXRsZXNbMV07XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgI3RyYW5zZmVyIGNsYXNzPVwieC10cmFuc2ZlclwiIGNka0Ryb3BMaXN0R3JvdXAgW25nQ2xhc3NdPVwiY2xhc3NNYXBcIj5cclxuICA8ZGl2IGNsYXNzPVwieC10cmFuc2Zlci1ib3hcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzb3VyY2VUaXRsZVRwbDsgY29udGV4dDogeyBzb3VyY2U6IGxlZnQgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPHVsXHJcbiAgICAgIGNsYXNzPVwieC10cmFuc2Zlci1saXN0XCJcclxuICAgICAgY2RrRHJvcExpc3RcclxuICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wQ2RrKCRldmVudClcIlxyXG4gICAgICBbY2RrRHJvcExpc3REYXRhXT1cImxlZnQubGlzdFwiXHJcbiAgICAgIFtjZGtEcm9wTGlzdERpc2FibGVkXT1cIiFkcmFnXCJcclxuICAgICAgW2Nka0Ryb3BMaXN0RW50ZXJQcmVkaWNhdGVdPVwicHJlZGljYXRlXCJcclxuICAgID5cclxuICAgICAgPGxpIGNsYXNzPVwieC10cmFuc2Zlci1pdGVtXCIgKm5nRm9yPVwibGV0IG5vZGUgb2YgbGVmdC5saXN0OyB0cmFja0J5OiB0cmFja0J5Tm9kZVwiIGNka0RyYWcgW2Nka0RyYWdEYXRhXT1cIm5vZGVcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic291cmNlTm9kZVRwbDsgY29udGV4dDogeyBub2RlOiBub2RlLCBzb3VyY2U6IGxlZnQgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2xpPlxyXG4gICAgPC91bD5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwieC10cmFuc2Zlci1idXR0b25zXCI+XHJcbiAgICA8eC1idXR0b24gdHlwZT1cInByaW1hcnlcIiBpY29uPVwiZnRvLWNoZXZyb24tcmlnaHRcIiBbZGlzYWJsZWRdPVwibGVmdC5kaXNhYmxlZEJ1dHRvblwiIChjbGljayk9XCJtb3ZlKGxlZnQsIHJpZ2h0KVwiPjwveC1idXR0b24+XHJcbiAgICA8eC1idXR0b24gdHlwZT1cInByaW1hcnlcIiBpY29uPVwiZnRvLWNoZXZyb24tbGVmdFwiIFtkaXNhYmxlZF09XCJyaWdodC5kaXNhYmxlZEJ1dHRvblwiIChjbGljayk9XCJtb3ZlKHJpZ2h0LCBsZWZ0KVwiPjwveC1idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIngtdHJhbnNmZXItYm94XCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic291cmNlVGl0bGVUcGw7IGNvbnRleHQ6IHsgc291cmNlOiByaWdodCB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8dWxcclxuICAgICAgY2xhc3M9XCJ4LXRyYW5zZmVyLWxpc3RcIlxyXG4gICAgICBjZGtEcm9wTGlzdFxyXG4gICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3BDZGsoJGV2ZW50KVwiXHJcbiAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwicmlnaHQubGlzdFwiXHJcbiAgICAgIFtjZGtEcm9wTGlzdERpc2FibGVkXT1cIiFkcmFnXCJcclxuICAgICAgW2Nka0Ryb3BMaXN0RW50ZXJQcmVkaWNhdGVdPVwicHJlZGljYXRlXCJcclxuICAgID5cclxuICAgICAgPGxpIGNsYXNzPVwieC10cmFuc2Zlci1pdGVtXCIgKm5nRm9yPVwibGV0IG5vZGUgb2YgcmlnaHQubGlzdDsgdHJhY2tCeTogdHJhY2tCeU5vZGVcIiBjZGtEcmFnIFtjZGtEcmFnRGF0YV09XCJub2RlXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNvdXJjZU5vZGVUcGw7IGNvbnRleHQ6IHsgbm9kZTogbm9kZSwgc291cmNlOiByaWdodCB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L3VsPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjc291cmNlVGl0bGVUcGwgbGV0LXNvdXJjZT1cInNvdXJjZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXRyYW5zZmVyLXRpdGxlXCI+XHJcbiAgICA8eC1jaGVja2JveFxyXG4gICAgICBbZGF0YV09XCJbdGl0bGVUcGwgPyAnJyA6IHNvdXJjZS50aXRsZV1cIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cInNvdXJjZS5jaGVja2VkQWxsXCJcclxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hlY2tlZEFsbENoYW5nZSgkZXZlbnQsIHNvdXJjZSlcIlxyXG4gICAgICBbaW5kZXRlcm1pbmF0ZV09XCJzb3VyY2UuaW5kZXRlcm1pbmF0ZVwiXHJcbiAgICA+PC94LWNoZWNrYm94PlxyXG4gICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cInRpdGxlVHBsOyBjb250ZXh0OiB7ICR0aXRsZTogc291cmNlLnRpdGxlLCAkY2hlY2tlZENvdW50OiBzb3VyY2UuY2hlY2tlZENvdW50LCAkY291bnQ6IHNvdXJjZS5saXN0Lmxlbmd0aCB9XCJcclxuICAgICAgPjxzcGFuPnt7IHNvdXJjZS5jaGVja2VkQ291bnQgfX0gLyB7eyBzb3VyY2UubGlzdC5sZW5ndGggfX08L3NwYW4+PC9uZy1jb250YWluZXJcclxuICAgID5cclxuICA8L2Rpdj5cclxuICA8IS0tIDxkaXYgY2xhc3M9XCJ4LXRyYW5zZmVyLXNlYXJjaFwiICpuZ0lmPVwic2VhcmNoXCI+XHJcbiAgICA8eC1pbnB1dFxyXG4gICAgICBpY29uPVwiZnRvLXNlYXJjaFwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwic291cmNlLnNlYXJjaElucHV0XCJcclxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VhcmNoSW5wdXRDaGFuZ2Uoc291cmNlKVwiXHJcbiAgICAgIGNsZWFyYWJsZVxyXG4gICAgPjwveC1pbnB1dD5cclxuICA8L2Rpdj4gLS0+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3NvdXJjZU5vZGVUcGwgbGV0LW5vZGU9XCJub2RlXCIgbGV0LXNvdXJjZT1cInNvdXJjZVwiPlxyXG4gIDx4LWNoZWNrYm94XHJcbiAgICBbZGF0YV09XCJbeyBpZDogbm9kZS5pZCwgbGFiZWw6IG5vZGVUcGwgPyBub2RlVHBsIDogbm9kZS5sYWJlbCwgbm9kZTogbm9kZSB9XVwiXHJcbiAgICBbZGlzYWJsZWRdPVwibm9kZS5kaXNhYmxlZFwiXHJcbiAgICBbKG5nTW9kZWwpXT1cIm5vZGUuY2hlY2tlZFwiXHJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJjaGVja2VkQ2hhbmdlKCRldmVudCwgc291cmNlKVwiXHJcbiAgPjwveC1jaGVja2JveD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -147,7 +147,7 @@ export class XTreeNodeComponent extends XTreeNodeProperty {
147
147
  action.handler && action.handler(node);
148
148
  event.stopPropagation();
149
149
  }
150
- trackByItem(index, item) {
150
+ trackByItem(_index, item) {
151
151
  return item.id;
152
152
  }
153
153
  }
@@ -170,4 +170,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
170
170
  type: HostBinding,
171
171
  args: ['class.x-tree-node']
172
172
  }] } });
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RyZWUvdHJlZS1ub2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RyZWUvdHJlZS1ub2RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsaUJBQWlCLEVBSWpCLHVCQUF1QixFQUN2QixXQUFXLEVBRVgsS0FBSyxFQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQWEsaUJBQWlCLEVBQWUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RixPQUFPLEVBQUUsUUFBUSxFQUE0QixNQUFNLGtCQUFrQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBVXJDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxpQkFBaUI7SUFpQnZEO0lBQ0UsMkNBQTJDO0lBQ3BDLFFBQW1CLEVBQ25CLFVBQXNCLEVBQ3RCLEdBQXNCLEVBQ3RCLGFBQTZCO1FBRXBDLEtBQUssRUFBRSxDQUFDO1FBTEQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQW5CSixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQzNDLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFxQnpCLENBQUM7SUFwQkQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBVyxPQUFPLENBQUMsS0FBSztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFB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LDRCQUE0QixDQUFDO29CQUN6QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEO3NMQUVVLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQzRCLFNBQVM7c0JBQTFDLFdBQVc7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIE9wdGlvbmFsLFxyXG4gIElucHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhUcmVlTm9kZVByZWZpeCwgWFRyZWVOb2RlLCBYVHJlZU5vZGVQcm9wZXJ0eSwgWFRyZWVBY3Rpb24gfSBmcm9tICcuL3RyZWUucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYSXNFbXB0eSwgWENvbmZpZ1NlcnZpY2UsIFhCb29sZWFuIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hUcmVlTm9kZVByZWZpeH0sIFske1hUcmVlTm9kZVByZWZpeH1dYCxcclxuICB0ZW1wbGF0ZVVybDogJy4vdHJlZS1ub2RlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90cmVlLW5vZGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYVHJlZU5vZGVDb21wb25lbnQgZXh0ZW5kcyBYVHJlZU5vZGVQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgcGFyZW50ITogWFRyZWVOb2RlQ29tcG9uZW50O1xyXG4gIEBJbnB1dCgpIHRyZWU6IGFueTtcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLngtdHJlZS1ub2RlJykgcm9vdENsYXNzID0gdHJ1ZTtcclxuICBwcml2YXRlIF9sb2FkaW5nID0gZmFsc2U7XHJcbiAgcHVibGljIGdldCBsb2FkaW5nKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xvYWRpbmc7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgbG9hZGluZyh2YWx1ZSkge1xyXG4gICAgdGhpcy5fbG9hZGluZyA9IHZhbHVlO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBhZGRpbmdMZWZ0KCkge1xyXG4gICAgcmV0dXJuIE51bWJlcih0aGlzLmxldmVsKSAqIE51bWJlcih0aGlzLnRyZWUuc3BhY2luZyk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIEBPcHRpb25hbCgpIHB1YmxpYyB0cmVlOiBYVHJlZUNvbXBvbmVudCxcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5ub2RlLmNoYW5nZSA9IChjaGVjazogYm9vbGVhbikgPT4ge1xyXG4gICAgICBpZiAoY2hlY2spIHRoaXMuc2V0Q2hlY2tib3goKTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfTtcclxuICAgIHRoaXMubGV2ZWwgPSB0aGlzLm5vZGU/LmxldmVsID8gdGhpcy5ub2RlLmxldmVsIDogMDtcclxuICAgIGlmICghdGhpcy50cmVlLmxldmVsQ2hlY2spIHJldHVybjtcclxuICAgIGlmICh0aGlzLm5vZGUuY2hlY2tlZCkgdGhpcy5zZXRDaGVja2JveCgpO1xyXG4gICAgdGhpcy5zZXRJbmRldGVybWluYXRlKHRoaXMubm9kZSk7XHJcbiAgfVxyXG5cclxuICBvblRvZ2dsZShldmVudDogRXZlbnQsIG5vZGU6IFhUcmVlTm9kZSkge1xyXG4gICAgbm9kZS5vcGVuID0gIW5vZGUub3BlbjtcclxuICAgIGlmIChub2RlLm9wZW4gJiYgIW5vZGUuY2hpbGRyZW5Mb2FkZWQpIHtcclxuICAgICAgaWYgKHRoaXMubGF6eSkge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgICAgICh0aGlzLmxhenlEYXRhIGFzIChwaWQ/OiBhbnkpID0+IE9ic2VydmFibGU8WFRyZWVOb2RlW10+KShub2RlLmlkKVxyXG4gICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoeCkgPT5cclxuICAgICAgICAgICAgICB4Lm1hcCgoeSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgeS5sZXZlbCA9IChub2RlLmxldmVsIGFzIG51bWJlcikgKyAxO1xyXG4gICAgICAgICAgICAgICAgeS5jaGVja2VkID0gbm9kZS5jaGVja2VkO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHk7XHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgICAgICBub2RlLmNoaWxkcmVuID0geDtcclxuICAgICAgICAgICAgbm9kZS5jaGlsZHJlbkxvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBub2RlLmNoaWxkcmVuTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgb25BY3RpdmF0ZShldmVudDogRXZlbnQsIG5vZGU6IFhUcmVlTm9kZSkge1xyXG4gICAgY29uc3QgY2hhbmdlOiBGdW5jdGlvbiA9IHRoaXMudHJlZS5hY3RpdmF0ZWROb2RlPy5jaGFuZ2UgYXMgRnVuY3Rpb247XHJcbiAgICB0aGlzLnRyZWUubm9kZU9wZW4gJiYgbm9kZS5sZWFmICYmIHRoaXMub25Ub2dnbGUoZXZlbnQsIG5vZGUpO1xyXG4gICAgaWYgKHRoaXMudHJlZS5hY3RpdmF0ZWROb2RlKSB7XHJcbiAgICAgIGlmICh0aGlzLnRyZWUuYWN0aXZhdGVkTm9kZS5pZCA9PT0gbm9kZS5pZCAmJiAhdGhpcy50cmVlLmFsbG93TWFueUFjdGl2YXRlZCkgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy50cmVlLmFjdGl2YXRlZE5vZGUgPSBub2RlO1xyXG4gICAgdGhpcy50cmVlLmFjdGl2YXRlZENoYW5nZS5lbWl0KG5vZGUpO1xyXG4gICAgY2hhbmdlICYmIGNoYW5nZSgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBvbkNoZWNrYm94Q2hhbmdlKCkge1xyXG4gICAgdGhpcy5zZXRDaGVja2JveCgpO1xyXG4gICAgdGhpcy50cmVlLmNoZWNrYm94Q2hhbmdlLmVtaXQodGhpcy5ub2RlKTtcclxuICB9XHJcblxyXG4gIHNldENoZWNrYm94KCkge1xyXG4gICAgaWYgKCF0aGlzLnRyZWUubGV2ZWxDaGVjaykgcmV0dXJuO1xyXG4gICAgdGhpcy5ub2RlLmluZGV0ZXJtaW5hdGUgPSB0aGlzLm5vZGUuY2hlY2tlZDtcclxuICAgIHRoaXMubm9kZS5jaGlsZHJlbiAmJiB0aGlzLnNldENoaWxkcmVuQ2hlY2tib3godGhpcy5ub2RlLmNoZWNrZWQgYXMgYm9vbGVhbik7XHJcbiAgICB0aGlzLnBhcmVudD8uc2V0UGFyZW50Q2hlY2tib3goKTtcclxuICB9XHJcblxyXG4gIHNldENoaWxkcmVuQ2hlY2tib3goY2hlY2tlZDogYm9vbGVhbikge1xyXG4gICAgY29uc3Qgc2V0Q2hpbGRyZW4gPSAoY2hpbGRyZW46IFhUcmVlTm9kZVtdLCBpc0NoZWNrZWQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgaWYgKFhJc0VtcHR5KGNoaWxkcmVuKSkgcmV0dXJuO1xyXG4gICAgICBmb3IgKGxldCB4IG9mIGNoaWxkcmVuKSB7XHJcbiAgICAgICAgaWYgKHguZGlzYWJsZWQpIGNvbnRpbnVlO1xyXG4gICAgICAgIHguY2hlY2tlZCA9IGlzQ2hlY2tlZDtcclxuICAgICAgICB4LmluZGV0ZXJtaW5hdGUgPSBpc0NoZWNrZWQ7XHJcbiAgICAgICAgeC5jaGFuZ2UgJiYgeC5jaGFuZ2UoKTtcclxuICAgICAgICBzZXRDaGlsZHJlbih4LmNoaWxkcmVuIGFzIFhUcmVlTm9kZVtdLCBpc0NoZWNrZWQpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgc2V0Q2hpbGRyZW4odGhpcy5ub2RlLmNoaWxkcmVuIGFzIFhUcmVlTm9kZVtdLCBjaGVja2VkKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldFBhcmVudENoZWNrYm94KCkge1xyXG4gICAgaWYgKFhJc0VtcHR5KHRoaXMubm9kZS5jaGlsZHJlbikpIHJldHVybjtcclxuICAgIGxldCBjaGVja2VkTGlzdCA9IHRoaXMubm9kZS5jaGlsZHJlbj8uZmlsdGVyKCh4KSA9PiB4LmNoZWNrZWQpO1xyXG4gICAgbGV0IGluZGV0ZXJtaW5hdGVMaXN0ID0gdGhpcy5ub2RlLmNoaWxkcmVuPy5maWx0ZXIoKHgpID0+IHguaW5kZXRlcm1pbmF0ZSk7XHJcbiAgICB0aGlzLm5vZGUuY2hlY2tlZCA9IGNoZWNrZWRMaXN0Py5sZW5ndGggPT09IHRoaXMubm9kZS5jaGlsZHJlbj8ubGVuZ3RoO1xyXG4gICAgdGhpcy5ub2RlLmluZGV0ZXJtaW5hdGUgPSAoY2hlY2tlZExpc3QgYXMgWFRyZWVOb2RlW10pLmxlbmd0aCA+IDAgfHwgKGluZGV0ZXJtaW5hdGVMaXN0IGFzIFhUcmVlTm9kZVtdKS5sZW5ndGggPiAwO1xyXG4gICAgdGhpcy5wYXJlbnQ/LnNldFBhcmVudENoZWNrYm94KCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRJbmRldGVybWluYXRlKG5vZGU6IFhUcmVlTm9kZSkge1xyXG4gICAgY29uc3QgZ2V0Q2hpbGRyZW4gPSAoY2hpbGRyZW46IFhUcmVlTm9kZVtdKSA9PiB7XHJcbiAgICAgIGlmIChYSXNFbXB0eShjaGlsZHJlbikpIHJldHVybjtcclxuICAgICAgY2hpbGRyZW4uZm9yRWFjaCgoeCkgPT4ge1xyXG4gICAgICAgIGlmICh4LmluZGV0ZXJtaW5hdGUgfHwgeC5jaGVja2VkKSB7XHJcbiAgICAgICAgICBub2RlLmluZGV0ZXJtaW5hdGUgPSB0cnVlO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBnZXRDaGlsZHJlbih4LmNoaWxkcmVuIGFzIFhUcmVlTm9kZVtdKTtcclxuICAgICAgfSk7XHJcbiAgICB9O1xyXG4gICAgZ2V0Q2hpbGRyZW4obm9kZS5jaGlsZHJlbiBhcyBYVHJlZU5vZGVbXSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBnZXROb2RlRGlzYWJsZWQoZGlzYWJsZWQ/OiBib29sZWFuKSB7XHJcbiAgICByZXR1cm4gZGlzYWJsZWQgYXMgWEJvb2xlYW47XHJcbiAgfVxyXG5cclxuICBvbkFjdGlvbihldmVudDogRXZlbnQsIGFjdGlvbjogWFRyZWVBY3Rpb24sIG5vZGU6IFhUcmVlTm9kZSkge1xyXG4gICAgYWN0aW9uLmhhbmRsZXIgJiYgYWN0aW9uLmhhbmRsZXIobm9kZSk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlJdGVtKGluZGV4OiBudW1iZXIsIGl0ZW06IFhUcmVlQWN0aW9uIHwgWFRyZWVOb2RlKSB7XHJcbiAgICByZXR1cm4gaXRlbS5pZDtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwieC10cmVlLW5vZGUtY29udGVudFwiXHJcbiAgW2NsYXNzLngtYWN0aXZhdGVkXT1cInRyZWUuYWN0aXZhdGVkTm9kZT8uaWQgPT09IG5vZGUuaWRcIlxyXG4gIFtzdHlsZS5wYWRkaW5nLWxlZnQucmVtXT1cInBhZGRpbmdMZWZ0XCJcclxuICBbc3R5bGUuaGVpZ2h0LnJlbV09XCJub2RlLmhlaWdodCA/IG5vZGUuaGVpZ2h0IDogbm9kZUhlaWdodCA/IG5vZGVIZWlnaHQgOiAnJ1wiXHJcbiAgW3N0eWxlLmFsaWduLWl0ZW1zXT1cIm5vZGUuYWxpZ25JdGVtcyA/IG5vZGUuYWxpZ25JdGVtcyA6IG5vZGVBbGlnbkl0ZW1zXCJcclxuICAoY2xpY2spPVwib25BY3RpdmF0ZSgkZXZlbnQsIG5vZGUpXCJcclxuPlxyXG4gIDx4LWljb25cclxuICAgICpuZ0lmPVwiIWxvYWRpbmdcIlxyXG4gICAgW2NsYXNzLmlzLWxlYWZdPVwiIW5vZGUubGVhZlwiXHJcbiAgICBbY2xhc3MuaXMtb3Blbl09XCJub2RlLm9wZW5cIlxyXG4gICAgdHlwZT1cImZ0by1jaGV2cm9uLXJpZ2h0XCJcclxuICAgIChjbGljayk9XCIhdHJlZS5ub2RlT3BlbiAmJiBvblRvZ2dsZSgkZXZlbnQsIG5vZGUpXCJcclxuICA+PC94LWljb24+XHJcbiAgPHgtaWNvbiAqbmdJZj1cImxvYWRpbmdcIiB0eXBlPVwiZnRvLWxvYWRlclwiIFtzcGluXT1cImxvYWRpbmdcIj48L3gtaWNvbj5cclxuICA8eC1jaGVja2JveFxyXG4gICAgKm5nSWY9XCJ0cmVlLmNoZWNrYm94XCJcclxuICAgIFtkYXRhXT1cIlt7IGxhYmVsOiAnJywgaWQ6IG5vZGUuaWQgfV1cIlxyXG4gICAgWyhuZ01vZGVsKV09XCJub2RlLmNoZWNrZWRcIlxyXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGVja2JveENoYW5nZSgpXCJcclxuICAgIFtpbmRldGVybWluYXRlXT1cIm5vZGUuaW5kZXRlcm1pbmF0ZVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZ2V0Tm9kZURpc2FibGVkKG5vZGUuZGlzYWJsZWQpXCJcclxuICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG4gID48L3gtY2hlY2tib3g+XHJcbiAgPHNwYW5cclxuICAgIGNsYXNzPVwieC10cmVlLW5vZGUtbGFiZWxcIlxyXG4gICAgW2NsYXNzLm5vd3JhcF09XCJub2RlLm5vd3JhcCA9PT0gZmFsc2UgfHwgbm9kZS5ub3dyYXAgPT09IHRydWUgPyBub2RlLm5vd3JhcCA6IG5vZGVOb3dyYXBcIlxyXG4gICAgW3RpdGxlXT1cIm5vZGUubGFiZWxcIlxyXG4gICAgKm5nSWY9XCIhdHJlZS5sYWJlbFRwbDsgZWxzZSBsYWJlbFRwbFwiXHJcbiAgICA+e3sgbm9kZS5sYWJlbCB9fTwvc3BhblxyXG4gID5cclxuICA8bmctdGVtcGxhdGUgI2xhYmVsVHBsPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cInRyZWUubGFiZWxUcGw7IGNvbnRleHQ6IHsgJG5vZGU6IG5vZGUgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPHNwYW4gY2xhc3M9XCJ4LXRyZWUtbm9kZS1vcGVyYXRpb25zXCI+XHJcbiAgICA8eC1saW5rXHJcbiAgICAgICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgdHJlZS5hY3Rpb25zOyB0cmFja0J5OiB0cmFja0J5SXRlbVwiXHJcbiAgICAgIFtpY29uXT1cImFjdGlvbi5pY29uXCJcclxuICAgICAgW3RpdGxlXT1cImFjdGlvbi5sYWJlbFwiXHJcbiAgICAgIChjbGljayk9XCJvbkFjdGlvbigkZXZlbnQsIGFjdGlvbiwgbm9kZSlcIlxyXG4gICAgPjwveC1saW5rPlxyXG4gIDwvc3Bhbj5cclxuPC9kaXY+XHJcbjx1bCAqbmdJZj1cIm5vZGUuY2hpbGRyZW5Mb2FkZWQgfHwgKG5vZGUubGVhZiAmJiBub2RlLm9wZW4pXCIgW2hpZGRlbl09XCIhbm9kZS5vcGVuXCI+XHJcbiAgPGxpXHJcbiAgICB4LXRyZWUtbm9kZVxyXG4gICAgKm5nRm9yPVwibGV0IGNoaWxkIG9mIG5vZGUuY2hpbGRyZW47IHRyYWNrQnk6IHRyYWNrQnlJdGVtXCJcclxuICAgIFtub2RlXT1cImNoaWxkXCJcclxuICAgIFtwYXJlbnRdPVwidGhpc1wiXHJcbiAgICBbbGF6eV09XCJsYXp5XCJcclxuICAgIFtsYXp5RGF0YV09XCJsYXp5RGF0YVwiXHJcbiAgICBbbm9kZUhlaWdodF09XCJub2RlSGVpZ2h0XCJcclxuICAgIFtub2RlTm93cmFwXT1cIm5vZGVOb3dyYXBcIlxyXG4gICAgW25vZGVBbGlnbkl0ZW1zXT1cIm5vZGVBbGlnbkl0ZW1zXCJcclxuICAgIFt0cmVlXT1cInRyZWVcIlxyXG4gID48L2xpPlxyXG48L3VsPlxyXG4iXX0=
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RyZWUvdHJlZS1ub2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RyZWUvdHJlZS1ub2RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsaUJBQWlCLEVBSWpCLHVCQUF1QixFQUN2QixXQUFXLEVBQ1gsS0FBSyxFQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQWEsaUJBQWlCLEVBQWUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RixPQUFPLEVBQUUsUUFBUSxFQUE0QixNQUFNLGtCQUFrQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBVXJDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxpQkFBaUI7SUFpQnZEO0lBQ0UsMkNBQTJDO0lBQ3BDLFFBQW1CLEVBQ25CLFVBQXNCLEVBQ3RCLEdBQXNCLEVBQ3RCLGFBQTZCO1FBRXBDLEtBQUssRUFBRSxDQUFDO1FBTEQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQW5CSixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQzNDLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFxQnpCLENBQUM7SUFwQkQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBVyxPQUFPLENBQUMsS0FBSztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFB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LDRCQUE0QixDQUFDO29CQUN6QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEO3NMQUVVLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQzRCLFNBQVM7c0JBQTFDLFdBQVc7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhUcmVlTm9kZVByZWZpeCwgWFRyZWVOb2RlLCBYVHJlZU5vZGVQcm9wZXJ0eSwgWFRyZWVBY3Rpb24gfSBmcm9tICcuL3RyZWUucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYSXNFbXB0eSwgWENvbmZpZ1NlcnZpY2UsIFhCb29sZWFuIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hUcmVlTm9kZVByZWZpeH0sIFske1hUcmVlTm9kZVByZWZpeH1dYCxcclxuICB0ZW1wbGF0ZVVybDogJy4vdHJlZS1ub2RlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90cmVlLW5vZGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYVHJlZU5vZGVDb21wb25lbnQgZXh0ZW5kcyBYVHJlZU5vZGVQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgcGFyZW50ITogWFRyZWVOb2RlQ29tcG9uZW50O1xyXG4gIEBJbnB1dCgpIHRyZWU6IGFueTtcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLngtdHJlZS1ub2RlJykgcm9vdENsYXNzID0gdHJ1ZTtcclxuICBwcml2YXRlIF9sb2FkaW5nID0gZmFsc2U7XHJcbiAgcHVibGljIGdldCBsb2FkaW5nKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xvYWRpbmc7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgbG9hZGluZyh2YWx1ZSkge1xyXG4gICAgdGhpcy5fbG9hZGluZyA9IHZhbHVlO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBhZGRpbmdMZWZ0KCkge1xyXG4gICAgcmV0dXJuIE51bWJlcih0aGlzLmxldmVsKSAqIE51bWJlcih0aGlzLnRyZWUuc3BhY2luZyk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIEBPcHRpb25hbCgpIHB1YmxpYyB0cmVlOiBYVHJlZUNvbXBvbmVudCxcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5ub2RlLmNoYW5nZSA9IChjaGVjazogYm9vbGVhbikgPT4ge1xyXG4gICAgICBpZiAoY2hlY2spIHRoaXMuc2V0Q2hlY2tib3goKTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfTtcclxuICAgIHRoaXMubGV2ZWwgPSB0aGlzLm5vZGU/LmxldmVsID8gdGhpcy5ub2RlLmxldmVsIDogMDtcclxuICAgIGlmICghdGhpcy50cmVlLmxldmVsQ2hlY2spIHJldHVybjtcclxuICAgIGlmICh0aGlzLm5vZGUuY2hlY2tlZCkgdGhpcy5zZXRDaGVja2JveCgpO1xyXG4gICAgdGhpcy5zZXRJbmRldGVybWluYXRlKHRoaXMubm9kZSk7XHJcbiAgfVxyXG5cclxuICBvblRvZ2dsZShldmVudDogRXZlbnQsIG5vZGU6IFhUcmVlTm9kZSkge1xyXG4gICAgbm9kZS5vcGVuID0gIW5vZGUub3BlbjtcclxuICAgIGlmIChub2RlLm9wZW4gJiYgIW5vZGUuY2hpbGRyZW5Mb2FkZWQpIHtcclxuICAgICAgaWYgKHRoaXMubGF6eSkge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgICAgICh0aGlzLmxhenlEYXRhIGFzIChwaWQ/OiBhbnkpID0+IE9ic2VydmFibGU8WFRyZWVOb2RlW10+KShub2RlLmlkKVxyXG4gICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoeCkgPT5cclxuICAgICAgICAgICAgICB4Lm1hcCgoeSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgeS5sZXZlbCA9IChub2RlLmxldmVsIGFzIG51bWJlcikgKyAxO1xyXG4gICAgICAgICAgICAgICAgeS5jaGVja2VkID0gbm9kZS5jaGVja2VkO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHk7XHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgICAgICBub2RlLmNoaWxkcmVuID0geDtcclxuICAgICAgICAgICAgbm9kZS5jaGlsZHJlbkxvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBub2RlLmNoaWxkcmVuTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgb25BY3RpdmF0ZShldmVudDogRXZlbnQsIG5vZGU6IFhUcmVlTm9kZSkge1xyXG4gICAgY29uc3QgY2hhbmdlOiBGdW5jdGlvbiA9IHRoaXMudHJlZS5hY3RpdmF0ZWROb2RlPy5jaGFuZ2UgYXMgRnVuY3Rpb247XHJcbiAgICB0aGlzLnRyZWUubm9kZU9wZW4gJiYgbm9kZS5sZWFmICYmIHRoaXMub25Ub2dnbGUoZXZlbnQsIG5vZGUpO1xyXG4gICAgaWYgKHRoaXMudHJlZS5hY3RpdmF0ZWROb2RlKSB7XHJcbiAgICAgIGlmICh0aGlzLnRyZWUuYWN0aXZhdGVkTm9kZS5pZCA9PT0gbm9kZS5pZCAmJiAhdGhpcy50cmVlLmFsbG93TWFueUFjdGl2YXRlZCkgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy50cmVlLmFjdGl2YXRlZE5vZGUgPSBub2RlO1xyXG4gICAgdGhpcy50cmVlLmFjdGl2YXRlZENoYW5nZS5lbWl0KG5vZGUpO1xyXG4gICAgY2hhbmdlICYmIGNoYW5nZSgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBvbkNoZWNrYm94Q2hhbmdlKCkge1xyXG4gICAgdGhpcy5zZXRDaGVja2JveCgpO1xyXG4gICAgdGhpcy50cmVlLmNoZWNrYm94Q2hhbmdlLmVtaXQodGhpcy5ub2RlKTtcclxuICB9XHJcblxyXG4gIHNldENoZWNrYm94KCkge1xyXG4gICAgaWYgKCF0aGlzLnRyZWUubGV2ZWxDaGVjaykgcmV0dXJuO1xyXG4gICAgdGhpcy5ub2RlLmluZGV0ZXJtaW5hdGUgPSB0aGlzLm5vZGUuY2hlY2tlZDtcclxuICAgIHRoaXMubm9kZS5jaGlsZHJlbiAmJiB0aGlzLnNldENoaWxkcmVuQ2hlY2tib3godGhpcy5ub2RlLmNoZWNrZWQgYXMgYm9vbGVhbik7XHJcbiAgICB0aGlzLnBhcmVudD8uc2V0UGFyZW50Q2hlY2tib3goKTtcclxuICB9XHJcblxyXG4gIHNldENoaWxkcmVuQ2hlY2tib3goY2hlY2tlZDogYm9vbGVhbikge1xyXG4gICAgY29uc3Qgc2V0Q2hpbGRyZW4gPSAoY2hpbGRyZW46IFhUcmVlTm9kZVtdLCBpc0NoZWNrZWQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgaWYgKFhJc0VtcHR5KGNoaWxkcmVuKSkgcmV0dXJuO1xyXG4gICAgICBmb3IgKGxldCB4IG9mIGNoaWxkcmVuKSB7XHJcbiAgICAgICAgaWYgKHguZGlzYWJsZWQpIGNvbnRpbnVlO1xyXG4gICAgICAgIHguY2hlY2tlZCA9IGlzQ2hlY2tlZDtcclxuICAgICAgICB4LmluZGV0ZXJtaW5hdGUgPSBpc0NoZWNrZWQ7XHJcbiAgICAgICAgeC5jaGFuZ2UgJiYgeC5jaGFuZ2UoKTtcclxuICAgICAgICBzZXRDaGlsZHJlbih4LmNoaWxkcmVuIGFzIFhUcmVlTm9kZVtdLCBpc0NoZWNrZWQpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgc2V0Q2hpbGRyZW4odGhpcy5ub2RlLmNoaWxkcmVuIGFzIFhUcmVlTm9kZVtdLCBjaGVja2VkKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldFBhcmVudENoZWNrYm94KCkge1xyXG4gICAgaWYgKFhJc0VtcHR5KHRoaXMubm9kZS5jaGlsZHJlbikpIHJldHVybjtcclxuICAgIGxldCBjaGVja2VkTGlzdCA9IHRoaXMubm9kZS5jaGlsZHJlbj8uZmlsdGVyKCh4KSA9PiB4LmNoZWNrZWQpO1xyXG4gICAgbGV0IGluZGV0ZXJtaW5hdGVMaXN0ID0gdGhpcy5ub2RlLmNoaWxkcmVuPy5maWx0ZXIoKHgpID0+IHguaW5kZXRlcm1pbmF0ZSk7XHJcbiAgICB0aGlzLm5vZGUuY2hlY2tlZCA9IGNoZWNrZWRMaXN0Py5sZW5ndGggPT09IHRoaXMubm9kZS5jaGlsZHJlbj8ubGVuZ3RoO1xyXG4gICAgdGhpcy5ub2RlLmluZGV0ZXJtaW5hdGUgPSAoY2hlY2tlZExpc3QgYXMgWFRyZWVOb2RlW10pLmxlbmd0aCA+IDAgfHwgKGluZGV0ZXJtaW5hdGVMaXN0IGFzIFhUcmVlTm9kZVtdKS5sZW5ndGggPiAwO1xyXG4gICAgdGhpcy5wYXJlbnQ/LnNldFBhcmVudENoZWNrYm94KCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRJbmRldGVybWluYXRlKG5vZGU6IFhUcmVlTm9kZSkge1xyXG4gICAgY29uc3QgZ2V0Q2hpbGRyZW4gPSAoY2hpbGRyZW46IFhUcmVlTm9kZVtdKSA9PiB7XHJcbiAgICAgIGlmIChYSXNFbXB0eShjaGlsZHJlbikpIHJldHVybjtcclxuICAgICAgY2hpbGRyZW4uZm9yRWFjaCgoeCkgPT4ge1xyXG4gICAgICAgIGlmICh4LmluZGV0ZXJtaW5hdGUgfHwgeC5jaGVja2VkKSB7XHJcbiAgICAgICAgICBub2RlLmluZGV0ZXJtaW5hdGUgPSB0cnVlO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBnZXRDaGlsZHJlbih4LmNoaWxkcmVuIGFzIFhUcmVlTm9kZVtdKTtcclxuICAgICAgfSk7XHJcbiAgICB9O1xyXG4gICAgZ2V0Q2hpbGRyZW4obm9kZS5jaGlsZHJlbiBhcyBYVHJlZU5vZGVbXSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBnZXROb2RlRGlzYWJsZWQoZGlzYWJsZWQ/OiBib29sZWFuKSB7XHJcbiAgICByZXR1cm4gZGlzYWJsZWQgYXMgWEJvb2xlYW47XHJcbiAgfVxyXG5cclxuICBvbkFjdGlvbihldmVudDogRXZlbnQsIGFjdGlvbjogWFRyZWVBY3Rpb24sIG5vZGU6IFhUcmVlTm9kZSkge1xyXG4gICAgYWN0aW9uLmhhbmRsZXIgJiYgYWN0aW9uLmhhbmRsZXIobm9kZSk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlJdGVtKF9pbmRleDogbnVtYmVyLCBpdGVtOiBYVHJlZUFjdGlvbiB8IFhUcmVlTm9kZSkge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cIngtdHJlZS1ub2RlLWNvbnRlbnRcIlxyXG4gIFtjbGFzcy54LWFjdGl2YXRlZF09XCJ0cmVlLmFjdGl2YXRlZE5vZGU/LmlkID09PSBub2RlLmlkXCJcclxuICBbc3R5bGUucGFkZGluZy1sZWZ0LnJlbV09XCJwYWRkaW5nTGVmdFwiXHJcbiAgW3N0eWxlLmhlaWdodC5yZW1dPVwibm9kZS5oZWlnaHQgPyBub2RlLmhlaWdodCA6IG5vZGVIZWlnaHQgPyBub2RlSGVpZ2h0IDogJydcIlxyXG4gIFtzdHlsZS5hbGlnbi1pdGVtc109XCJub2RlLmFsaWduSXRlbXMgPyBub2RlLmFsaWduSXRlbXMgOiBub2RlQWxpZ25JdGVtc1wiXHJcbiAgKGNsaWNrKT1cIm9uQWN0aXZhdGUoJGV2ZW50LCBub2RlKVwiXHJcbj5cclxuICA8eC1pY29uXHJcbiAgICAqbmdJZj1cIiFsb2FkaW5nXCJcclxuICAgIFtjbGFzcy5pcy1sZWFmXT1cIiFub2RlLmxlYWZcIlxyXG4gICAgW2NsYXNzLmlzLW9wZW5dPVwibm9kZS5vcGVuXCJcclxuICAgIHR5cGU9XCJmdG8tY2hldnJvbi1yaWdodFwiXHJcbiAgICAoY2xpY2spPVwiIXRyZWUubm9kZU9wZW4gJiYgb25Ub2dnbGUoJGV2ZW50LCBub2RlKVwiXHJcbiAgPjwveC1pY29uPlxyXG4gIDx4LWljb24gKm5nSWY9XCJsb2FkaW5nXCIgdHlwZT1cImZ0by1sb2FkZXJcIiBbc3Bpbl09XCJsb2FkaW5nXCI+PC94LWljb24+XHJcbiAgPHgtY2hlY2tib3hcclxuICAgICpuZ0lmPVwidHJlZS5jaGVja2JveFwiXHJcbiAgICBbZGF0YV09XCJbeyBsYWJlbDogJycsIGlkOiBub2RlLmlkIH1dXCJcclxuICAgIFsobmdNb2RlbCldPVwibm9kZS5jaGVja2VkXCJcclxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hlY2tib3hDaGFuZ2UoKVwiXHJcbiAgICBbaW5kZXRlcm1pbmF0ZV09XCJub2RlLmluZGV0ZXJtaW5hdGVcIlxyXG4gICAgW2Rpc2FibGVkXT1cImdldE5vZGVEaXNhYmxlZChub2RlLmRpc2FibGVkKVwiXHJcbiAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICA+PC94LWNoZWNrYm94PlxyXG4gIDxzcGFuXHJcbiAgICBjbGFzcz1cIngtdHJlZS1ub2RlLWxhYmVsXCJcclxuICAgIFtjbGFzcy5ub3dyYXBdPVwibm9kZS5ub3dyYXAgPT09IGZhbHNlIHx8IG5vZGUubm93cmFwID09PSB0cnVlID8gbm9kZS5ub3dyYXAgOiBub2RlTm93cmFwXCJcclxuICAgIFt0aXRsZV09XCJub2RlLmxhYmVsXCJcclxuICAgICpuZ0lmPVwiIXRyZWUubGFiZWxUcGw7IGVsc2UgbGFiZWxUcGxcIlxyXG4gICAgPnt7IG5vZGUubGFiZWwgfX08L3NwYW5cclxuICA+XHJcbiAgPG5nLXRlbXBsYXRlICNsYWJlbFRwbD5cclxuICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJ0cmVlLmxhYmVsVHBsOyBjb250ZXh0OiB7ICRub2RlOiBub2RlIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDxzcGFuIGNsYXNzPVwieC10cmVlLW5vZGUtb3BlcmF0aW9uc1wiPlxyXG4gICAgPHgtbGlua1xyXG4gICAgICAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIHRyZWUuYWN0aW9uczsgdHJhY2tCeTogdHJhY2tCeUl0ZW1cIlxyXG4gICAgICBbaWNvbl09XCJhY3Rpb24uaWNvblwiXHJcbiAgICAgIFt0aXRsZV09XCJhY3Rpb24ubGFiZWxcIlxyXG4gICAgICAoY2xpY2spPVwib25BY3Rpb24oJGV2ZW50LCBhY3Rpb24sIG5vZGUpXCJcclxuICAgID48L3gtbGluaz5cclxuICA8L3NwYW4+XHJcbjwvZGl2PlxyXG48dWwgKm5nSWY9XCJub2RlLmNoaWxkcmVuTG9hZGVkIHx8IChub2RlLmxlYWYgJiYgbm9kZS5vcGVuKVwiIFtoaWRkZW5dPVwiIW5vZGUub3BlblwiPlxyXG4gIDxsaVxyXG4gICAgeC10cmVlLW5vZGVcclxuICAgICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBub2RlLmNoaWxkcmVuOyB0cmFja0J5OiB0cmFja0J5SXRlbVwiXHJcbiAgICBbbm9kZV09XCJjaGlsZFwiXHJcbiAgICBbcGFyZW50XT1cInRoaXNcIlxyXG4gICAgW2xhenldPVwibGF6eVwiXHJcbiAgICBbbGF6eURhdGFdPVwibGF6eURhdGFcIlxyXG4gICAgW25vZGVIZWlnaHRdPVwibm9kZUhlaWdodFwiXHJcbiAgICBbbm9kZU5vd3JhcF09XCJub2RlTm93cmFwXCJcclxuICAgIFtub2RlQWxpZ25JdGVtc109XCJub2RlQWxpZ25JdGVtc1wiXHJcbiAgICBbdHJlZV09XCJ0cmVlXCJcclxuICA+PC9saT5cclxuPC91bD5cclxuIl19
@@ -21,11 +21,12 @@ export class XTreeComponent extends XTreeProperty {
21
21
  this._unSubject = new Subject();
22
22
  }
23
23
  ngOnChanges(changes) {
24
- XIsChange(changes.expandedAll) && this.setExpandedAll();
25
- XIsChange(changes.data) && this.setData();
26
- XIsChange(changes.activatedId) && this.setActivatedNode(this.treeData);
27
- XIsChange(changes.checked) && this.setCheckedKeys(this.checked);
28
- XIsChange(changes.manual) && this.setManual();
24
+ const { expandedAll, data, activatedId, checked, manual } = changes;
25
+ XIsChange(expandedAll) && this.setExpandedAll();
26
+ XIsChange(data) && this.setData();
27
+ XIsChange(activatedId) && this.setActivatedNode(this.treeData);
28
+ XIsChange(checked) && this.setCheckedKeys(this.checked);
29
+ XIsChange(manual) && this.setManual();
29
30
  }
30
31
  ngOnDestroy() {
31
32
  this._unSubject.next();
@@ -192,7 +193,7 @@ export class XTreeComponent extends XTreeProperty {
192
193
  Object.assign(node, nowNode);
193
194
  node.change && node.change();
194
195
  }
195
- trackByItem(index, item) {
196
+ trackByItem(_index, item) {
196
197
  return item.id;
197
198
  }
198
199
  }
@@ -211,4 +212,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
211
212
  type: ViewChild,
212
213
  args: ['tree', { static: true }]
213
214
  }] } });
214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90cmVlL3RyZWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdHJlZS90cmVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBSWpCLHVCQUF1QixFQUN2QixTQUFTLEVBR1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBYSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQWtCLE1BQU0sa0JBQWtCLENBQUM7QUFDM0gsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBUy9CLE1BQU0sT0FBTyxjQUFlLFNBQVEsYUFBYTtJQVEvQyxZQUNTLFFBQW1CLEVBQ25CLFVBQXNCLEVBQ3RCLEdBQXNCLEVBQ3RCLGFBQTZCO1FBRXBDLEtBQUssRUFBRSxDQUFDO1FBTEQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQVZ0QyxVQUFLLEdBQWdCLEVBQUUsQ0FBQztRQUV4QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsYUFBUSxHQUFnQixFQUFFLENBQUM7UUFDbkIsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFRekMsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxTQUFTLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLElB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LEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEO3NMQUVzQyxJQUFJO3NCQUF4QyxTQUFTO3VCQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBWaWV3Q2hpbGQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBPbkNoYW5nZXNcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFRyZWVQcmVmaXgsIFhUcmVlTm9kZSwgWFRyZWVQcm9wZXJ0eSB9IGZyb20gJy4vdHJlZS5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhJc09ic2VydmFibGUsIFhJc0VtcHR5LCBYSXNGdW5jdGlvbiwgWElzVW5kZWZpbmVkLCBYSXNDaGFuZ2UsIFhTZXREYXRhLCBYQ29uZmlnU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WFRyZWVQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vdHJlZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdHJlZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhUcmVlQ29tcG9uZW50IGV4dGVuZHMgWFRyZWVQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQFZpZXdDaGlsZCgndHJlZScsIHsgc3RhdGljOiB0cnVlIH0pIHRyZWUhOiBFbGVtZW50UmVmO1xyXG4gIG5vZGVzOiBYVHJlZU5vZGVbXSA9IFtdO1xyXG4gIGFjdGl2YXRlZE5vZGUhOiBYVHJlZU5vZGU7XHJcbiAgZGF0YUlzRnVuYyA9IGZhbHNlO1xyXG4gIGdldHRpbmcgPSBmYWxzZTtcclxuICB0cmVlRGF0YTogWFRyZWVOb2RlW10gPSBbXTtcclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgWElzQ2hhbmdlKGNoYW5nZXMuZXhwYW5kZWRBbGwpICYmIHRoaXMuc2V0RXhwYW5kZWRBbGwoKTtcclxuICAgIFhJc0NoYW5nZShjaGFuZ2VzLmRhdGEpICYmIHRoaXMuc2V0RGF0YSgpO1xyXG4gICAgWElzQ2hhbmdlKGNoYW5nZXMuYWN0aXZhdGVkSWQpICYmIHRoaXMuc2V0QWN0aXZhdGVkTm9kZSh0aGlzLnRyZWVEYXRhKTtcclxuICAgIFhJc0NoYW5nZShjaGFuZ2VzLmNoZWNrZWQpICYmIHRoaXMuc2V0Q2hlY2tlZEtleXModGhpcy5jaGVja2VkKTtcclxuICAgIFhJc0NoYW5nZShjaGFuZ2VzLm1hbnVhbCkgJiYgdGhpcy5zZXRNYW51YWwoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGF0YSgpIHtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5kYXRhID09PSAndW5kZWZpbmVkJykgcmV0dXJuO1xyXG4gICAgdGhpcy5kYXRhSXNGdW5jID0gZmFsc2U7XHJcbiAgICBpZiAoWElzT2JzZXJ2YWJsZSh0aGlzLmRhdGEpKSB7XHJcbiAgICAgIFhTZXREYXRhPFhUcmVlTm9kZT4odGhpcy5kYXRhLCB0aGlzLl91blN1YmplY3QpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0RGF0YUNoYW5nZSh4KTtcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKFhJc0Z1bmN0aW9uKHRoaXMuZGF0YSkpIHtcclxuICAgICAgdGhpcy5kYXRhSXNGdW5jID0gdHJ1ZTtcclxuICAgICAgdGhpcy5nZXREYXRhQnlGdW5jKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldERhdGFDaGFuZ2UodGhpcy5kYXRhIGFzIFhUcmVlTm9kZVtdKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0TWFudWFsKCkge1xyXG4gICAgaWYgKHRoaXMuZGF0YUlzRnVuYykgdGhpcy5nZXREYXRhQnlGdW5jKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldERhdGFCeUZ1bmMoKSB7XHJcbiAgICBpZiAoIXRoaXMubWFudWFsKSByZXR1cm47XHJcbiAgICBYU2V0RGF0YTxYVHJlZU5vZGU+KCh0aGlzLmRhdGEgYXMgRnVuY3Rpb24pKCksIHRoaXMuX3VuU3ViamVjdCkuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0RGF0YUNoYW5nZSh4KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXREYXRhQ2hhbmdlKHZhbHVlOiBYVHJlZU5vZGVbXSkge1xyXG4gICAgIVhJc0VtcHR5KHRoaXMuYWN0aXZhdGVkSWQpICYmIHRoaXMuc2V0QWN0aXZhdGVkTm9kZSh2YWx1ZSk7XHJcbiAgICBjb25zdCBnZXRDaGlsZHJlbiA9IChub2RlOiBYVHJlZU5vZGUsIGxldmVsOiBudW1iZXIpID0+IHtcclxuICAgICAgbm9kZS5sZXZlbCA9IGxldmVsO1xyXG4gICAgICBub2RlLm9wZW4gPSBCb29sZWFuKHRoaXMuZXhwYW5kZWRBbGwpIHx8IGxldmVsIDw9IHRoaXMuZXhwYW5kZWRMZXZlbCB8fCB0aGlzLmV4cGFuZGVkLmluZGV4T2Yobm9kZS5pZCkgPj0gMDtcclxuICAgICAgbm9kZS5jaGVja2VkID0gdGhpcy5jaGVja2VkLmluZGV4T2Yobm9kZS5pZCkgPj0gMDtcclxuICAgICAgbm9kZS5jaGlsZHJlbkxvYWRlZCA9IG5vZGUub3BlbjtcclxuICAgICAgaWYgKFhJc1VuZGVmaW5lZChub2RlLmNoaWxkcmVuKSkgbm9kZS5jaGlsZHJlbiA9IHZhbHVlLmZpbHRlcigoeSkgPT4geS5waWQgPT09IG5vZGUuaWQpO1xyXG4gICAgICBpZiAoWElzVW5kZWZpbmVkKG5vZGUubGVhZikpIG5vZGUubGVhZiA9IChub2RlLmNoaWxkcmVuPy5sZW5ndGggYXMgbnVtYmVyKSA+IDA7XHJcbiAgICAgIGlmIChub2RlLmxlYWYpIG5vZGUuY2hpbGRyZW4/Lm1hcCgoeSkgPT4gZ2V0Q2hpbGRyZW4oeSwgbGV2ZWwgKyAxKSk7XHJcbiAgICAgIHJldHVybiBub2RlO1xyXG4gICAgfTtcclxuICAgIHRoaXMudHJlZURhdGEgPSB2YWx1ZTtcclxuICAgIHRoaXMubm9kZXMgPSB2YWx1ZS5maWx0ZXIoKHgpID0+IFhJc0VtcHR5KHgucGlkKSkubWFwKCh4KSA9PiBnZXRDaGlsZHJlbih4LCAwKSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBnZXRDaGVja2VkTm9kZXMoKTogWFRyZWVOb2RlW10ge1xyXG4gICAgbGV0IHJlc3VsdDogWFRyZWVOb2RlW10gPSBbXTtcclxuICAgIGNvbnN0IGdldENoaWxkcmVuID0gKG5vZGVzOiBYVHJlZU5vZGVbXSkgPT4ge1xyXG4gICAgICBpZiAoWElzRW1wdHkobm9kZXMpKSByZXR1cm47XHJcbiAgICAgIG5vZGVzLmZvckVhY2goKHgpID0+IHtcclxuICAgICAgICBpZiAoeC5jaGVja2VkKSByZXN1bHQgPSBbLi4ucmVzdWx0LCB4XTtcclxuICAgICAgICBnZXRDaGlsZHJlbih4LmNoaWxkcmVuIGFzIFhUcmVlTm9kZVtdKTtcclxuICAgICAgfSk7XHJcbiAgICB9O1xyXG4gICAgZ2V0Q2hpbGRyZW4odGhpcy5ub2Rlcyk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2hlY2tlZEtleXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRDaGVja2VkTm9kZXMoKS5tYXAoKHgpID0+IHguaWQpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2hlY2tlZEtleXMoa2V5czogYW55W10gPSBbXSkge1xyXG4gICAgY29uc3Qgc2V0Q2hpbGRyZW4gPSAobm9kZXM6IFhUcmVlTm9kZVtdLCBjbGVhciA9IGZhbHNlKSA9PiB7XHJcbiAgICAgIGlmIChYSXNFbXB0eShub2RlcykpIHJldHVybjtcclxuICAgICAgbm9kZXMuZm9yRWFjaCgoeCkgPT4ge1xyXG4gICAgICAgIHguY2hlY2tlZCA9ICFjbGVhciAmJiBrZXlzLmluZGV4T2YoeC5pZCkgPj0gMDtcclxuICAgICAgICB4LmNoYW5nZSAmJiB4LmNoYW5nZSh0cnVlKTtcclxuICAgICAgICBzZXRDaGlsZHJlbih4LmNoaWxkcmVuIGFzIFhUcmVlTm9kZVtdLCBjbGVhcik7XHJcbiAgICAgIH0pO1xyXG4gICAgfTtcclxuICAgIHNldENoaWxkcmVuKHRoaXMubm9kZXMsIGtleXMubGVuZ3RoID09PSAwKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldEV4cGFuZGVkQWxsKCkge1xyXG4gICAgY29uc3Qgc2V0Q2hpbGRyZW4gPSAobm9kZXM6IFhUcmVlTm9kZVtdKSA9PiB7XHJcbiAgICAgIGlmIChYSXNFbXB0eShub2RlcykpIHJldHVybjtcclxuICAgICAgbm9kZXMuZm9yRWFjaCgoeCkgPT4ge1xyXG4gICAgICAgIHgub3BlbiA9IEJvb2xlYW4odGhpcy5leHBhbmRlZEFsbCk7XHJcbiAgICAgICAgeC5jaGFuZ2UgJiYgeC5jaGFuZ2UoKTtcclxuICAgICAgICBzZXRDaGlsZHJlbih4LmNoaWxkcmVuIGFzIFhUcmVlTm9kZVtdKTtcclxuICAgICAgfSk7XHJcbiAgICB9O1xyXG4gICAgc2V0Q2hpbGRyZW4odGhpcy5ub2Rlcyk7XHJcbiAgfVxyXG5cclxuICBzZXRBY3RpdmF0ZWROb2RlKG5vZGVzOiBYVHJlZU5vZGVbXSkge1xyXG4gICAgbGV0IGJlZm9yZSA9IHRoaXMuYWN0aXZhdGVkTm9kZTtcclxuICAgIHRoaXMuYWN0aXZhdGVkTm9kZSA9IG5vZGVzLmZpbmQoKHgpID0+IHguaWQgPT0gdGhpcy5hY3RpdmF0ZWRJZCkgYXMgWFRyZWVOb2RlO1xyXG4gICAgaWYgKHRoaXMuYWN0aXZhdGVkTm9kZSkge1xyXG4gICAgICB0aGlzLnNldFBhcmVudE9wZW4obm9kZXMsIHRoaXMuYWN0aXZhdGVkTm9kZSk7XHJcbiAgICAgIHRoaXMuYWN0aXZhdGVkQ2hhbmdlLmVtaXQodGhpcy5hY3RpdmF0ZWROb2RlKTtcclxuICAgIH1cclxuICAgIGlmIChiZWZvcmUpIHtcclxuICAgICAgYmVmb3JlLmNoYW5nZSAmJiBiZWZvcmUuY2hhbmdlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRQYXJlbnRPcGVuKG5vZGVzOiBYVHJlZU5vZGVbXSwgbm9kZTogWFRyZWVOb2RlKSB7XHJcbiAgICBjb25zdCBnZXRQYXJlbnQgPSAoY2hpbGQ6IFhUcmVlTm9kZSkgPT4ge1xyXG4gICAgICBpZiAoWElzRW1wdHkoY2hpbGQucGlkKSkgcmV0dXJuO1xyXG4gICAgICBjb25zdCBwYXJlbnQgPSBub2Rlcy5maW5kKCh4KSA9PiB4LmlkID09PSBjaGlsZC5waWQpIGFzIFhUcmVlTm9kZTtcclxuICAgICAgaWYgKCFYSXNFbXB0eShwYXJlbnQpKSB7XHJcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IFsuLi50aGlzLmV4cGFuZGVkLCBwYXJlbnQuaWRdO1xyXG4gICAgICAgIHBhcmVudC5vcGVuID0gdHJ1ZTtcclxuICAgICAgICBwYXJlbnQuY2hhbmdlICYmIHBhcmVudC5jaGFuZ2UoKTtcclxuICAgICAgICBnZXRQYXJlbnQocGFyZW50KTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIGdldFBhcmVudChub2RlKTtcclxuICB9XHJcblxyXG4gIGFkZE5vZGUobm9kZTogWFRyZWVOb2RlKSB7XHJcbiAgICBsZXQgcGFyZW50ID0gdGhpcy50cmVlRGF0YS5maW5kKCh4KSA9PiB4LmlkID09PSBub2RlLnBpZCk7XHJcbiAgICBpZiAocGFyZW50KSB7XHJcbiAgICAgIGlmICghcGFyZW50LmNoaWxkcmVuKSBwYXJlbnQuY2hpbGRyZW4gPSBbXTtcclxuICAgICAgdGhpcy5leHBhbmRlZCA9IFsuLi50aGlzLmV4cGFuZGVkLCBwYXJlbnQuaWRdO1xyXG4gICAgICB0aGlzLmFjdGl2YXRlZElkID0gbm9kZS5pZDtcclxuICAgICAgbm9kZS5sZXZlbCA9IE51bWJlcihwYXJlbnQubGV2ZWwpICsgMTtcclxuICAgICAgbm9kZS5waWQgPSBwYXJlbnQuaWQ7XHJcbiAgICAgIHRoaXMudHJlZURhdGEucHVzaChub2RlKTtcclxuICAgICAgdGhpcy5zZXRBY3RpdmF0ZWROb2RlKHRoaXMudHJlZURhdGEpO1xyXG4gICAgICBwYXJlbnQub3BlbiA9IHRydWU7XHJcbiAgICAgIHBhcmVudC5sZWFmID0gdHJ1ZTtcclxuICAgICAgcGFyZW50LmNoaWxkcmVuID0gWy4uLnBhcmVudC5jaGlsZHJlbiwgbm9kZV07XHJcbiAgICAgIHBhcmVudC5jaGFuZ2UgJiYgcGFyZW50LmNoYW5nZSgpO1xyXG4gICAgfSBlbHNlIGlmIChub2RlLnBpZCA9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZhdGVkSWQgPSBub2RlLmlkO1xyXG4gICAgICBub2RlLmxldmVsID0gMDtcclxuICAgICAgdGhpcy50cmVlRGF0YSA9IFsuLi50aGlzLnRyZWVEYXRhLCBub2RlXTtcclxuICAgICAgdGhpcy5ub2RlcyA9IFsuLi50aGlzLm5vZGVzLCBub2RlXTtcclxuICAgICAgdGhpcy5zZXRBY3RpdmF0ZWROb2RlKHRoaXMudHJlZURhdGEpO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW1vdmVOb2RlKG5vZGU6IFhUcmVlTm9kZSkge1xyXG4gICAgbGV0IHBhcmVudCA9IHRoaXMudHJlZURhdGEuZmluZCgoeCkgPT4geC5pZCA9PT0gbm9kZS5waWQpO1xyXG4gICAgaWYgKHBhcmVudCkge1xyXG4gICAgICBpZiAoIXBhcmVudC5jaGlsZHJlbikgcGFyZW50LmNoaWxkcmVuID0gW107XHJcbiAgICAgIHBhcmVudC5jaGlsZHJlbi5zcGxpY2UocGFyZW50LmNoaWxkcmVuLmluZGV4T2Yobm9kZSksIDEpO1xyXG4gICAgICBwYXJlbnQubGVhZiA9IHBhcmVudC5jaGlsZHJlbi5sZW5ndGggPiAwO1xyXG4gICAgICBpZiAoIXBhcmVudC5sZWFmKSB0aGlzLmFjdGl2YXRlZElkID0gcGFyZW50LmlkO1xyXG4gICAgICBwYXJlbnQuY2hhbmdlICYmIHBhcmVudC5jaGFuZ2UoKTtcclxuICAgIH0gZWxzZSBpZiAobm9kZS5waWQgPT0gbnVsbCkge1xyXG4gICAgICB0aGlzLnRyZWVEYXRhLnNwbGljZSh0aGlzLnRyZWVEYXRhLmluZGV4T2Yobm9kZSksIDEpO1xyXG4gICAgICB0aGlzLm5vZGVzLnNwbGljZSh0aGlzLm5vZGVzLmluZGV4T2Yobm9kZSksIDEpO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGVOb2RlKG5vZGU6IFhUcmVlTm9kZSwgbm93Tm9kZTogWFRyZWVOb2RlKSB7XHJcbiAgICBPYmplY3QuYXNzaWduKG5vZGUsIG5vd05vZGUpO1xyXG4gICAgbm9kZS5jaGFuZ2UgJiYgbm9kZS5jaGFuZ2UoKTtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlJdGVtKGluZGV4OiBudW1iZXIsIGl0ZW06IFhUcmVlTm9kZSkge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgI3RyZWUgY2xhc3M9XCJ4LXRyZWVcIj5cclxuICA8dWw+XHJcbiAgICA8bGlcclxuICAgICAgeC10cmVlLW5vZGVcclxuICAgICAgKm5nRm9yPVwibGV0IG5vZGUgb2Ygbm9kZXM7IHRyYWNrQnk6IHRyYWNrQnlJdGVtXCJcclxuICAgICAgW25vZGVdPVwibm9kZVwiXHJcbiAgICAgIFtsYXp5XT1cImxhenlcIlxyXG4gICAgICBbbGF6eURhdGFdPVwiZGF0YVwiXHJcbiAgICAgIFtub2RlSGVpZ2h0XT1cIm5vZGVIZWlnaHRcIlxyXG4gICAgICBbbm9kZU5vd3JhcF09XCJub2RlTm93cmFwXCJcclxuICAgICAgW25vZGVBbGlnbkl0ZW1zXT1cIm5vZGVBbGlnbkl0ZW1zXCJcclxuICAgICAgW3RyZWVdPVwidGhpc1wiXHJcbiAgICA+PC9saT5cclxuICA8L3VsPlxyXG48L2Rpdj5cclxuXHJcbjwhLS0g5o+Q5YmN5Yqg6L29bG9hZGluZ+eahOWbvuaghy0tPlxyXG48eC1pY29uICpuZ0lmPVwibGF6eVwiIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiIHR5cGU9XCJmdG8tbG9hZGVyXCI+PC94LWljb24+XHJcbiJdfQ==
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS90cmVlL3RyZWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdHJlZS90cmVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBSWpCLHVCQUF1QixFQUN2QixTQUFTLEVBR1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBYSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQWtCLE1BQU0sa0JBQWtCLENBQUM7QUFDM0gsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBUy9CLE1BQU0sT0FBTyxjQUFlLFNBQVEsYUFBYTtJQVEvQyxZQUNTLFFBQW1CLEVBQ25CLFVBQXNCLEVBQ3RCLEdBQXNCLEVBQ3RCLGFBQTZCO1FBRXBDLEtBQUssRUFBRSxDQUFDO1FBTEQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQVZ0QyxVQUFLLEdBQWdCLEVBQUUsQ0FBQztRQUV4QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsYUFBUSxHQUFnQixFQUFFLENBQUM7UUFDbkIsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFRekMsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxXQUFXLEVB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QUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDcEMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDtzTEFFc0MsSUFBSTtzQkFBeEMsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgVmlld0NoaWxkLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgT25DaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhUcmVlUHJlZml4LCBYVHJlZU5vZGUsIFhUcmVlUHJvcGVydHkgfSBmcm9tICcuL3RyZWUucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYSXNPYnNlcnZhYmxlLCBYSXNFbXB0eSwgWElzRnVuY3Rpb24sIFhJc1VuZGVmaW5lZCwgWElzQ2hhbmdlLCBYU2V0RGF0YSwgWENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hUcmVlUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RyZWUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RyZWUuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYVHJlZUNvbXBvbmVudCBleHRlbmRzIFhUcmVlUHJvcGVydHkgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBWaWV3Q2hpbGQoJ3RyZWUnLCB7IHN0YXRpYzogdHJ1ZSB9KSB0cmVlITogRWxlbWVudFJlZjtcclxuICBub2RlczogWFRyZWVOb2RlW10gPSBbXTtcclxuICBhY3RpdmF0ZWROb2RlITogWFRyZWVOb2RlO1xyXG4gIGRhdGFJc0Z1bmMgPSBmYWxzZTtcclxuICBnZXR0aW5nID0gZmFsc2U7XHJcbiAgdHJlZURhdGE6IFhUcmVlTm9kZVtdID0gW107XHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgZXhwYW5kZWRBbGwsIGRhdGEsIGFjdGl2YXRlZElkLCBjaGVja2VkLCBtYW51YWwgfSA9IGNoYW5nZXM7XHJcbiAgICBYSXNDaGFuZ2UoZXhwYW5kZWRBbGwpICYmIHRoaXMuc2V0RXhwYW5kZWRBbGwoKTtcclxuICAgIFhJc0NoYW5nZShkYXRhKSAmJiB0aGlzLnNldERhdGEoKTtcclxuICAgIFhJc0NoYW5nZShhY3RpdmF0ZWRJZCkgJiYgdGhpcy5zZXRBY3RpdmF0ZWROb2RlKHRoaXMudHJlZURhdGEpO1xyXG4gICAgWElzQ2hhbmdlKGNoZWNrZWQpICYmIHRoaXMuc2V0Q2hlY2tlZEtleXModGhpcy5jaGVja2VkKTtcclxuICAgIFhJc0NoYW5nZShtYW51YWwpICYmIHRoaXMuc2V0TWFudWFsKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHNldERhdGEoKSB7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMuZGF0YSA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybjtcclxuICAgIHRoaXMuZGF0YUlzRnVuYyA9IGZhbHNlO1xyXG4gICAgaWYgKFhJc09ic2VydmFibGUodGhpcy5kYXRhKSkge1xyXG4gICAgICBYU2V0RGF0YTxYVHJlZU5vZGU+KHRoaXMuZGF0YSwgdGhpcy5fdW5TdWJqZWN0KS5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLnNldERhdGFDaGFuZ2UoeCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChYSXNGdW5jdGlvbih0aGlzLmRhdGEpKSB7XHJcbiAgICAgIHRoaXMuZGF0YUlzRnVuYyA9IHRydWU7XHJcbiAgICAgIHRoaXMuZ2V0RGF0YUJ5RnVuYygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXREYXRhQ2hhbmdlKHRoaXMuZGF0YSBhcyBYVHJlZU5vZGVbXSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldE1hbnVhbCgpIHtcclxuICAgIGlmICh0aGlzLmRhdGFJc0Z1bmMpIHRoaXMuZ2V0RGF0YUJ5RnVuYygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXREYXRhQnlGdW5jKCkge1xyXG4gICAgaWYgKCF0aGlzLm1hbnVhbCkgcmV0dXJuO1xyXG4gICAgWFNldERhdGE8WFRyZWVOb2RlPigodGhpcy5kYXRhIGFzIEZ1bmN0aW9uKSgpLCB0aGlzLl91blN1YmplY3QpLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICB0aGlzLnNldERhdGFDaGFuZ2UoeCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RGF0YUNoYW5nZSh2YWx1ZTogWFRyZWVOb2RlW10pIHtcclxuICAgICFYSXNFbXB0eSh0aGlzLmFjdGl2YXRlZElkKSAmJiB0aGlzLnNldEFjdGl2YXRlZE5vZGUodmFsdWUpO1xyXG4gICAgY29uc3QgZ2V0Q2hpbGRyZW4gPSAobm9kZTogWFRyZWVOb2RlLCBsZXZlbDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIG5vZGUubGV2ZWwgPSBsZXZlbDtcclxuICAgICAgbm9kZS5vcGVuID0gQm9vbGVhbih0aGlzLmV4cGFuZGVkQWxsKSB8fCBsZXZlbCA8PSB0aGlzLmV4cGFuZGVkTGV2ZWwgfHwgdGhpcy5leHBhbmRlZC5pbmRleE9mKG5vZGUuaWQpID49IDA7XHJcbiAgICAgIG5vZGUuY2hlY2tlZCA9IHRoaXMuY2hlY2tlZC5pbmRleE9mKG5vZGUuaWQpID49IDA7XHJcbiAgICAgIG5vZGUuY2hpbGRyZW5Mb2FkZWQgPSBub2RlLm9wZW47XHJcbiAgICAgIGlmIChYSXNVbmRlZmluZWQobm9kZS5jaGlsZHJlbikpIG5vZGUuY2hpbGRyZW4gPSB2YWx1ZS5maWx0ZXIoKHkpID0+IHkucGlkID09PSBub2RlLmlkKTtcclxuICAgICAgaWYgKFhJc1VuZGVmaW5lZChub2RlLmxlYWYpKSBub2RlLmxlYWYgPSAobm9kZS5jaGlsZHJlbj8ubGVuZ3RoIGFzIG51bWJlcikgPiAwO1xyXG4gICAgICBpZiAobm9kZS5sZWFmKSBub2RlLmNoaWxkcmVuPy5tYXAoKHkpID0+IGdldENoaWxkcmVuKHksIGxldmVsICsgMSkpO1xyXG4gICAgICByZXR1cm4gbm9kZTtcclxuICAgIH07XHJcbiAgICB0aGlzLnRyZWVEYXRhID0gdmFsdWU7XHJcbiAgICB0aGlzLm5vZGVzID0gdmFsdWUuZmlsdGVyKCh4KSA9PiBYSXNFbXB0eSh4LnBpZCkpLm1hcCgoeCkgPT4gZ2V0Q2hpbGRyZW4oeCwgMCkpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2hlY2tlZE5vZGVzKCk6IFhUcmVlTm9kZVtdIHtcclxuICAgIGxldCByZXN1bHQ6IFhUcmVlTm9kZVtdID0gW107XHJcbiAgICBjb25zdCBnZXRDaGlsZHJlbiA9IChub2RlczogWFRyZWVOb2RlW10pID0+IHtcclxuICAgICAgaWYgKFhJc0VtcHR5KG5vZGVzKSkgcmV0dXJuO1xyXG4gICAgICBub2Rlcy5mb3JFYWNoKCh4KSA9PiB7XHJcbiAgICAgICAgaWYgKHguY2hlY2tlZCkgcmVzdWx0ID0gWy4uLnJlc3VsdCwgeF07XHJcbiAgICAgICAgZ2V0Q2hpbGRyZW4oeC5jaGlsZHJlbiBhcyBYVHJlZU5vZGVbXSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfTtcclxuICAgIGdldENoaWxkcmVuKHRoaXMubm9kZXMpO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIGdldENoZWNrZWRLZXlzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0Q2hlY2tlZE5vZGVzKCkubWFwKCh4KSA9PiB4LmlkKTtcclxuICB9XHJcblxyXG4gIHNldENoZWNrZWRLZXlzKGtleXM6IGFueVtdID0gW10pIHtcclxuICAgIGNvbnN0IHNldENoaWxkcmVuID0gKG5vZGVzOiBYVHJlZU5vZGVbXSwgY2xlYXIgPSBmYWxzZSkgPT4ge1xyXG4gICAgICBpZiAoWElzRW1wdHkobm9kZXMpKSByZXR1cm47XHJcbiAgICAgIG5vZGVzLmZvckVhY2goKHgpID0+IHtcclxuICAgICAgICB4LmNoZWNrZWQgPSAhY2xlYXIgJiYga2V5cy5pbmRleE9mKHguaWQpID49IDA7XHJcbiAgICAgICAgeC5jaGFuZ2UgJiYgeC5jaGFuZ2UodHJ1ZSk7XHJcbiAgICAgICAgc2V0Q2hpbGRyZW4oeC5jaGlsZHJlbiBhcyBYVHJlZU5vZGVbXSwgY2xlYXIpO1xyXG4gICAgICB9KTtcclxuICAgIH07XHJcbiAgICBzZXRDaGlsZHJlbih0aGlzLm5vZGVzLCBrZXlzLmxlbmd0aCA9PT0gMCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRFeHBhbmRlZEFsbCgpIHtcclxuICAgIGNvbnN0IHNldENoaWxkcmVuID0gKG5vZGVzOiBYVHJlZU5vZGVbXSkgPT4ge1xyXG4gICAgICBpZiAoWElzRW1wdHkobm9kZXMpKSByZXR1cm47XHJcbiAgICAgIG5vZGVzLmZvckVhY2goKHgpID0+IHtcclxuICAgICAgICB4Lm9wZW4gPSBCb29sZWFuKHRoaXMuZXhwYW5kZWRBbGwpO1xyXG4gICAgICAgIHguY2hhbmdlICYmIHguY2hhbmdlKCk7XHJcbiAgICAgICAgc2V0Q2hpbGRyZW4oeC5jaGlsZHJlbiBhcyBYVHJlZU5vZGVbXSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfTtcclxuICAgIHNldENoaWxkcmVuKHRoaXMubm9kZXMpO1xyXG4gIH1cclxuXHJcbiAgc2V0QWN0aXZhdGVkTm9kZShub2RlczogWFRyZWVOb2RlW10pIHtcclxuICAgIGxldCBiZWZvcmUgPSB0aGlzLmFjdGl2YXRlZE5vZGU7XHJcbiAgICB0aGlzLmFjdGl2YXRlZE5vZGUgPSBub2Rlcy5maW5kKCh4KSA9PiB4LmlkID09IHRoaXMuYWN0aXZhdGVkSWQpIGFzIFhUcmVlTm9kZTtcclxuICAgIGlmICh0aGlzLmFjdGl2YXRlZE5vZGUpIHtcclxuICAgICAgdGhpcy5zZXRQYXJlbnRPcGVuKG5vZGVzLCB0aGlzLmFjdGl2YXRlZE5vZGUpO1xyXG4gICAgICB0aGlzLmFjdGl2YXRlZENoYW5nZS5lbWl0KHRoaXMuYWN0aXZhdGVkTm9kZSk7XHJcbiAgICB9XHJcbiAgICBpZiAoYmVmb3JlKSB7XHJcbiAgICAgIGJlZm9yZS5jaGFuZ2UgJiYgYmVmb3JlLmNoYW5nZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0UGFyZW50T3Blbihub2RlczogWFRyZWVOb2RlW10sIG5vZGU6IFhUcmVlTm9kZSkge1xyXG4gICAgY29uc3QgZ2V0UGFyZW50ID0gKGNoaWxkOiBYVHJlZU5vZGUpID0+IHtcclxuICAgICAgaWYgKFhJc0VtcHR5KGNoaWxkLnBpZCkpIHJldHVybjtcclxuICAgICAgY29uc3QgcGFyZW50ID0gbm9kZXMuZmluZCgoeCkgPT4geC5pZCA9PT0gY2hpbGQucGlkKSBhcyBYVHJlZU5vZGU7XHJcbiAgICAgIGlmICghWElzRW1wdHkocGFyZW50KSkge1xyXG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPSBbLi4udGhpcy5leHBhbmRlZCwgcGFyZW50LmlkXTtcclxuICAgICAgICBwYXJlbnQub3BlbiA9IHRydWU7XHJcbiAgICAgICAgcGFyZW50LmNoYW5nZSAmJiBwYXJlbnQuY2hhbmdlKCk7XHJcbiAgICAgICAgZ2V0UGFyZW50KHBhcmVudCk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICBnZXRQYXJlbnQobm9kZSk7XHJcbiAgfVxyXG5cclxuICBhZGROb2RlKG5vZGU6IFhUcmVlTm9kZSkge1xyXG4gICAgbGV0IHBhcmVudCA9IHRoaXMudHJlZURhdGEuZmluZCgoeCkgPT4geC5pZCA9PT0gbm9kZS5waWQpO1xyXG4gICAgaWYgKHBhcmVudCkge1xyXG4gICAgICBpZiAoIXBhcmVudC5jaGlsZHJlbikgcGFyZW50LmNoaWxkcmVuID0gW107XHJcbiAgICAgIHRoaXMuZXhwYW5kZWQgPSBbLi4udGhpcy5leHBhbmRlZCwgcGFyZW50LmlkXTtcclxuICAgICAgdGhpcy5hY3RpdmF0ZWRJZCA9IG5vZGUuaWQ7XHJcbiAgICAgIG5vZGUubGV2ZWwgPSBOdW1iZXIocGFyZW50LmxldmVsKSArIDE7XHJcbiAgICAgIG5vZGUucGlkID0gcGFyZW50LmlkO1xyXG4gICAgICB0aGlzLnRyZWVEYXRhLnB1c2gobm9kZSk7XHJcbiAgICAgIHRoaXMuc2V0QWN0aXZhdGVkTm9kZSh0aGlzLnRyZWVEYXRhKTtcclxuICAgICAgcGFyZW50Lm9wZW4gPSB0cnVlO1xyXG4gICAgICBwYXJlbnQubGVhZiA9IHRydWU7XHJcbiAgICAgIHBhcmVudC5jaGlsZHJlbiA9IFsuLi5wYXJlbnQuY2hpbGRyZW4sIG5vZGVdO1xyXG4gICAgICBwYXJlbnQuY2hhbmdlICYmIHBhcmVudC5jaGFuZ2UoKTtcclxuICAgIH0gZWxzZSBpZiAobm9kZS5waWQgPT0gbnVsbCkge1xyXG4gICAgICB0aGlzLmFjdGl2YXRlZElkID0gbm9kZS5pZDtcclxuICAgICAgbm9kZS5sZXZlbCA9IDA7XHJcbiAgICAgIHRoaXMudHJlZURhdGEgPSBbLi4udGhpcy50cmVlRGF0YSwgbm9kZV07XHJcbiAgICAgIHRoaXMubm9kZXMgPSBbLi4udGhpcy5ub2Rlcywgbm9kZV07XHJcbiAgICAgIHRoaXMuc2V0QWN0aXZhdGVkTm9kZSh0aGlzLnRyZWVEYXRhKTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlTm9kZShub2RlOiBYVHJlZU5vZGUpIHtcclxuICAgIGxldCBwYXJlbnQgPSB0aGlzLnRyZWVEYXRhLmZpbmQoKHgpID0+IHguaWQgPT09IG5vZGUucGlkKTtcclxuICAgIGlmIChwYXJlbnQpIHtcclxuICAgICAgaWYgKCFwYXJlbnQuY2hpbGRyZW4pIHBhcmVudC5jaGlsZHJlbiA9IFtdO1xyXG4gICAgICBwYXJlbnQuY2hpbGRyZW4uc3BsaWNlKHBhcmVudC5jaGlsZHJlbi5pbmRleE9mKG5vZGUpLCAxKTtcclxuICAgICAgcGFyZW50LmxlYWYgPSBwYXJlbnQuY2hpbGRyZW4ubGVuZ3RoID4gMDtcclxuICAgICAgaWYgKCFwYXJlbnQubGVhZikgdGhpcy5hY3RpdmF0ZWRJZCA9IHBhcmVudC5pZDtcclxuICAgICAgcGFyZW50LmNoYW5nZSAmJiBwYXJlbnQuY2hhbmdlKCk7XHJcbiAgICB9IGVsc2UgaWYgKG5vZGUucGlkID09IG51bGwpIHtcclxuICAgICAgdGhpcy50cmVlRGF0YS5zcGxpY2UodGhpcy50cmVlRGF0YS5pbmRleE9mKG5vZGUpLCAxKTtcclxuICAgICAgdGhpcy5ub2Rlcy5zcGxpY2UodGhpcy5ub2Rlcy5pbmRleE9mKG5vZGUpLCAxKTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlTm9kZShub2RlOiBYVHJlZU5vZGUsIG5vd05vZGU6IFhUcmVlTm9kZSkge1xyXG4gICAgT2JqZWN0LmFzc2lnbihub2RlLCBub3dOb2RlKTtcclxuICAgIG5vZGUuY2hhbmdlICYmIG5vZGUuY2hhbmdlKCk7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5SXRlbShfaW5kZXg6IG51bWJlciwgaXRlbTogWFRyZWVOb2RlKSB7XHJcbiAgICByZXR1cm4gaXRlbS5pZDtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAjdHJlZSBjbGFzcz1cIngtdHJlZVwiPlxyXG4gIDx1bD5cclxuICAgIDxsaVxyXG4gICAgICB4LXRyZWUtbm9kZVxyXG4gICAgICAqbmdGb3I9XCJsZXQgbm9kZSBvZiBub2RlczsgdHJhY2tCeTogdHJhY2tCeUl0ZW1cIlxyXG4gICAgICBbbm9kZV09XCJub2RlXCJcclxuICAgICAgW2xhenldPVwibGF6eVwiXHJcbiAgICAgIFtsYXp5RGF0YV09XCJkYXRhXCJcclxuICAgICAgW25vZGVIZWlnaHRdPVwibm9kZUhlaWdodFwiXHJcbiAgICAgIFtub2RlTm93cmFwXT1cIm5vZGVOb3dyYXBcIlxyXG4gICAgICBbbm9kZUFsaWduSXRlbXNdPVwibm9kZUFsaWduSXRlbXNcIlxyXG4gICAgICBbdHJlZV09XCJ0aGlzXCJcclxuICAgID48L2xpPlxyXG4gIDwvdWw+XHJcbjwvZGl2PlxyXG5cclxuPCEtLSDmj5DliY3liqDovb1sb2FkaW5n55qE5Zu+5qCHLS0+XHJcbjx4LWljb24gKm5nSWY9XCJsYXp5XCIgW3N0eWxlLmRpc3BsYXldPVwiJ25vbmUnXCIgdHlwZT1cImZ0by1sb2FkZXJcIj48L3gtaWNvbj5cclxuIl19
@@ -219,4 +219,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
219
219
  }], lazyData: [{
220
220
  type: Input
221
221
  }] } });
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RyZWUvdHJlZS5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixTQUFTLEVBRVQsYUFBYSxFQUliLFlBQVksRUFFWixXQUFXLEVBRVosTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsS0FBSyxFQUFlLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUdwRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQztBQUNwQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUM7QUFFN0I7O0dBRUc7QUFFSCxNQUFNLE9BQU8sYUFBYyxTQUFRLFNBQVM7SUFENUM7O1FBRUU7OztXQUdHO1FBQ3NCLFNBQUksR0FBcUIsRUFBRSxDQUFDO1FBZ0JyRDs7O1dBR0c7UUFDTSxhQUFRLEdBQVUsRUFBRSxDQUFDO1FBQzlCOzs7V0FHRztRQUNNLFlBQU8sR0FBVSxFQUFFLENBQUM7UUFNN0I7OztXQUdHO1FBQ3NCLGtCQUFhLEdBQVksQ0FBQyxDQUFDLENBQUM7UUEwQnJEOzs7V0FHRztRQUNPLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUMxRDs7O1dBR0c7UUFDTyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFDekQ7OztXQUdHO1FBQ3VCLFdBQU0sR0FBWSxJQUFJLENBQUM7UUFDakQ7OztXQUdHO1FBQ3VCLGVBQVUsR0FBYSxJQUFJLENBQUM7UUFDdEQ7OztXQUdHO1FBQ3VCLGVBQVUsR0FBYSxJQUFJLENBQUM7UUFNdEQ7OztXQUdHO1FBQ00sWUFBTyxHQUFrQixFQUFFLENBQUM7UUFDckM7OztXQUdHO1FBQ08saUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0tBQ3REOzs2SEExR1ksYUFBYTtpSEFBYixhQUFhLDRuQkFESCxFQUFFO0FBTUU7SUFBZixZQUFZLEVBQUU7MkNBQTZCO0FBSzNCO0lBQWhCLGFBQWEsRUFBRTsrQ0FBcUI7QUFLcEI7SUFBaEIsYUFBYSxFQUFFOzJDQUFpQjtBQW9CaEI7SUFBaEIsYUFBYSxFQUFFO2tEQUF3QjtBQUt4QjtJQUFmLFlBQVksRUFBRTtvREFBNkI7QUFLM0I7SUFBaEIsYUFBYSxFQUFFOytDQUFxQjtBQUt1QjtJQUEzRCxXQUFXLENBQVUsYUFBYSxFQUFFLEtBQUssQ0FBQztJQUFFLFlBQVksRUFBRTs4Q0FBbUI7QUFVdEI7SUFBdkQsV0FBVyxDQUFVLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFBRSxZQUFZLEVBQUU7aURBQXNCO0FBSzVEO0lBQWhCLGFBQWEsRUFBRTt5REFBK0I7QUFlOUI7SUFBaEIsYUFBYSxFQUFFOzZDQUF3QjtBQUt2QjtJQUFoQixhQUFhLEVBQUU7aURBQTZCO0FBSzVCO0lBQWhCLGFBQWEsRUFBRTtpREFBNkI7QUFLQztJQUE3QyxXQUFXLENBQVMsYUFBYSxFQUFFLFFBQVEsQ0FBQztxREFBeUI7MkZBL0ZwRSxhQUFhO2tCQUR6QixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs4QkFNQSxJQUFJO3NCQUE1QixLQUFLO2dCQUtvQixRQUFRO3NCQUFqQyxLQUFLO2dCQUtvQixJQUFJO3NCQUE3QixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS29CLFdBQVc7c0JBQXBDLEtBQUs7Z0JBS21CLGFBQWE7c0JBQXJDLEtBQUs7Z0JBS29CLFFBQVE7c0JBQWpDLEtBQUs7Z0JBSytELE9BQU87c0JBQTNFLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLMkQsVUFBVTtzQkFBMUUsS0FBSztnQkFLb0Isa0JBQWtCO3NCQUEzQyxLQUFLO2dCQUtJLGVBQWU7c0JBQXhCLE1BQU07Z0JBS0csY0FBYztzQkFBdkIsTUFBTTtnQkFLbUIsTUFBTTtzQkFBL0IsS0FBSztnQkFLb0IsVUFBVTtzQkFBbkMsS0FBSztnQkFLb0IsVUFBVTtzQkFBbkMsS0FBSztnQkFLaUQsY0FBYztzQkFBcEUsS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0ksWUFBWTtzQkFBckIsTUFBTTs7QUFrRlQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxhQUFhLENBQUM7QUFFN0M7O0dBRUc7QUFFSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsU0FBUztJQURoRDs7UUFFRTs7O1dBR0c7UUFDTSxTQUFJLEdBQWMsRUFBRSxDQUFDO1FBVzlCOzs7V0FHRztRQUNzQixlQUFVLEdBQVksQ0FBQyxDQUFDO1FBTWpEOzs7V0FHRztRQUNNLG1CQUFjLEdBQVcsUUFBUSxDQUFDO0tBTTVDOztpSUFwQ1ksaUJBQWlCO3FIQUFqQixpQkFBaUIsK09BRFAsRUFBRTtBQWdCRztJQUFoQixhQUFhLEVBQUU7K0NBQWlCO0FBS2pCO0lBQWYsWUFBWSxFQUFFO3FEQUF5QjtBQUt2QjtJQUFoQixhQUFhLEVBQUU7cURBQXVCOzJGQXpCckMsaUJBQWlCO2tCQUQ3QixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs4QkFNaEIsSUFBSTtzQkFBWixLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFLb0IsSUFBSTtzQkFBN0IsS0FBSztnQkFLbUIsVUFBVTtzQkFBbEMsS0FBSztnQkFLb0IsVUFBVTtzQkFBbkMsS0FBSztnQkFLRyxjQUFjO3NCQUF0QixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIFhEYXRhQ29udmVydCxcclxuICBYUHJvcGVydHksXHJcbiAgWERhdGEsXHJcbiAgWElucHV0Qm9vbGVhbixcclxuICBYUGFyZW50SWRlbnRpdHlQcm9wZXJ0eSxcclxuICBYTnVtYmVyLFxyXG4gIFhCb29sZWFuLFxyXG4gIFhJbnB1dE51bWJlcixcclxuICBYSWRlbnRpdHlQcm9wZXJ0eSxcclxuICBYV2l0aENvbmZpZyxcclxuICBYQWxpZ25cclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXQsIFRlbXBsYXRlUmVmLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbi8qKlxyXG4gKiBUcmVlXHJcbiAqIEBzZWxlY3RvciB4LXRyZWVcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYVHJlZVByZWZpeCA9ICd4LXRyZWUnO1xyXG5jb25zdCBYX0NPTkZJR19OQU1FID0gJ3RyZWUnO1xyXG5cclxuLyoqXHJcbiAqIFRyZWUgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhUcmVlUHJvcGVydHkgZXh0ZW5kcyBYUHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnmlbDmja5cclxuICAgKiBAZW5fVVMgTm9kZSBkYXRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhEYXRhQ29udmVydCgpIGRhdGE6IFhEYXRhPFhUcmVlTm9kZT4gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S65aSa6YCJ5qGGXHJcbiAgICogQGVuX1VTIFNob3cgY2hlY2tib3hcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGNoZWNrYm94PzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8gOWQr+aHkuWKoOi9veiKgueCue+8jGRhdGEg5b+F6aG76K6+572u5oiQ5Ye95pWw57G75Z6LXHJcbiAgICogQGVuX1VTIE9wZW4gbGF6eSBsb2FkaW5nIG5vZGUsIGRhdGEgbXVzdCBiZSBzZXQgdG8gZnVuY3Rpb24gdHlwZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbGF6eT86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3mv4DmtLvnmoToioLngrkgSWRcclxuICAgKiBAZW5fVVMgQ3VycmVudGx5IGFjdGl2ZSBub2RlIElkXHJcbiAgICovXHJcbiAgQElucHV0KCkgYWN0aXZhdGVkSWQ6IGFueTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGV5byA55qE6IqC54K5XHJcbiAgICogQGVuX1VTIEV4cGFuZGVkIG5vZGVcclxuICAgKi9cclxuICBASW5wdXQoKSBleHBhbmRlZDogYW55W10gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04gY2hlY2tib3gg6YCJ5Lit55qE6IqC54K5XHJcbiAgICogQGVuX1VTIENoZWNrYm94IHNlbGVjdGVkIG5vZGVcclxuICAgKi9cclxuICBASW5wdXQoKSBjaGVja2VkOiBhbnlbXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsZXlvIDmiYDmnInoioLngrlcclxuICAgKiBAZW5fVVMgRXhwYW5kIGFsbCBub2Rlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgZXhwYW5kZWRBbGw/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6buY6K6k5bGV5byA55qE5bGC57qnXHJcbiAgICogQGVuX1VTIERlZmF1bHQgZXhwYW5kZWQgbGV2ZWxcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgZXhwYW5kZWRMZXZlbDogWE51bWJlciA9IC0xO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDngrnlh7voioLngrnlsLHop6blj5HlsZXlvIAv5pS26LW355qE5pON5L2c77yM6K+356Gu5L+d6IqC54K55LiK5rKh5pyJ5YW25a6D5pON5L2c77yIY2hlY2tib3jjgIHoh6rlrprkuYnnmoTmk43kvZzmjInpkq7vvIlcclxuICAgKiBAZW5fVVMgQ2xpY2sgdGhlIG5vZGUgdG8gdHJpZ2dlciB0aGUgZXhwYW5kL2NvbGxhcHNlIG9wZXJhdGlvbiwgcGxlYXNlIG1ha2Ugc3VyZSB0aGF0IHRoZXJlIGFyZSBubyBvdGhlciBvcGVyYXRpb25zIG9uIHRoZSBub2RlIChjaGVja2JveCwgY3VzdG9tIG9wZXJhdGlvbiBidXR0b24pXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBub2RlT3Blbj86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDljZXkvY3pl7Tot53vvIzov5nkuKrkuI7lsYLnuqfnmoTkuZjnp6/nrpflh7roioLngrnnmoTlt6bovrnot53vvIzljZXkvY0gcmVtXHJcbiAgICogQGVuX1VTIFVuaXQgc3BhY2luZywgdGhlIHByb2R1Y3Qgb2YgdGhpcyBhbmQgdGhlIGxldmVsIGNhbGN1bGF0ZXMgdGhlIGxlZnQgbWFyZ2luIG9mIHRoZSBub2RlLCB0aGUgdW5pdCBpcyByZW1cclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WE51bWJlcj4oWF9DT05GSUdfTkFNRSwgMC44NzUpIEBYSW5wdXROdW1iZXIoKSBzcGFjaW5nPzogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCH562+6Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIExhYmVsIGN1c3RvbSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGxhYmVsVHBsPzogVGVtcGxhdGVSZWY8dm9pZD47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueeahOmrmOW6pu+8jOWNleS9jSByZW0sIOm7mOiupCAwIOaYr+iHqumAguW6lOmrmOW6plxyXG4gICAqIEBlbl9VUyBUaGUgaGVpZ2h0IG9mIHRoZSBub2RlIGluIHJlbVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYTnVtYmVyPihYX0NPTkZJR19OQU1FLCAwKSBAWElucHV0TnVtYmVyKCkgbm9kZUhlaWdodCE6IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYr+WQpuWFgeiuuOWkmuasoeeCueWHu+S4gOS4quiKgueCueinpuWPkeWkmuasoeS6i+S7tlxyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIGFsbG93IG11bHRpcGxlIGNsaWNrcyBvbiBhIG5vZGUgdG8gdHJpZ2dlciBtdWx0aXBsZSBldmVudHNcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGFsbG93TWFueUFjdGl2YXRlZD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3ngrnlh7vpgInkuK3nmoToioLngrnlj5jljJbnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgVGhlIGV2ZW50IG9mIHRoZSBjdXJyZW50bHkgY2xpY2tlZCBub2RlIGNoYW5nZVxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBhY3RpdmF0ZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFhUcmVlTm9kZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5L2/55SoIGNoZWNrZWRib3gg6YCJ5Lit5Y+Y5YyW55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFVzZSBjaGVja2VkYm94IHRvIHNlbGVjdCBjaGFuZ2VkIGV2ZW50c1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBjaGVja2JveENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8WFRyZWVOb2RlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpoLmnpwgZGF0YSDmmK/lh73mlbDnsbvlnovvvIzlj6/ku6XpgJrov4fmraTlj4LmlbDmjqfliLbor7fmsYLvvIzluLjnlKjkuo7lvLnmoYbkuK3nmoTooajmoLzvvIzlvLnlh7rlkI7lho3or7fmsYJcclxuICAgKiBAZW5fVVMgSWYgZGF0YSBpcyBhIGZ1bmN0aW9uIHR5cGUsIHlvdSBjYW4gdXNlIHRoaXMgcGFyYW1ldGVyIHRvIGNvbnRyb2wgdGhlIHJlcXVlc3QsIHdoaWNoIGlzIG9mdGVuIHVzZWQgaW4gdGhlIGZvcm0gaW4gdGhlIHBvcC11cCBib3gsIGFuZCB0aGVuIHJlcXVlc3QgaXQgYWZ0ZXIgaXQgcG9wcyB1cFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbWFudWFsOiBib29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04gY2hlY2tib3gg54q25oCB5pS55Y+Y6Kem5Y+R5bGC57qn5qOA5p+lXHJcbiAgICogQGVuX1VTIENoZWNrYm94IHN0YXR1cyBjaGFuZ2VzIHRyaWdnZXIgbGV2ZWwgY2hlY2tzXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBsZXZlbENoZWNrOiBYQm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueWGheWuueS4jeaNouihjOaYvuekuuecgeeVpeWPt1xyXG4gICAqIEBlbl9VUyBTaG93IGVsbGlwc2lzIHdpdGhvdXQgd3JhcHBpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIG5vZGVOb3dyYXA6IFhCb29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55Z6C55u05a+56b2Q5pa55byPXHJcbiAgICogQGVuX1VTIFNob3cgZWxsaXBzaXMgd2l0aG91dCB3cmFwcGluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQWxpZ24+KFhfQ09ORklHX05BTUUsICdjZW50ZXInKSBub2RlQWxpZ25JdGVtcyE6IFhBbGlnbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCR6IqC54K55pON5L2c5oyJ6ZKuXHJcbiAgICogQGVuX1VTIFRyZWUgbm9kZSBvcGVyYXRpb24gYnV0dG9uc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFjdGlvbnM6IFhUcmVlQWN0aW9uW10gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y+C5pWw5o6n5Yi26K+35rGC5pS55Y+Y5LqL5Lu2XHJcbiAgICogQGVuX1VTIFBhcmFtZXRlciBjb250cm9sIHJlcXVlc3QgY2hhbmdlIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG1hbnVhbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiBUcmVlIOaVsOaNruWvueixoVxyXG4gKiBAZW5fVVMgVHJlZSBkYXRhIG9iamVjdFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVHJlZU5vZGUgZXh0ZW5kcyBYUGFyZW50SWRlbnRpdHlQcm9wZXJ0eTxYVHJlZU5vZGU+IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGV5byAXHJcbiAgICogQGVuX1VTIFVuZm9sZFxyXG4gICAqL1xyXG4gIG9wZW4/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmv4DmtLvnmoRcclxuICAgKiBAZW5fVVMgYWN0aXZlXHJcbiAgICovXHJcbiAgYWN0aXZhdGVkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qOA5p+l5pu05pawXHJcbiAgICogQGVuX1VTIENoZWNrIGZvciB1cGRhdGVzXHJcbiAgICovXHJcbiAgY2hhbmdlPzogRnVuY3Rpb247XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWtkOiKgueCueW3suWKoOi9vei/h1xyXG4gICAqIEBlbl9VUyBDaGlsZCBub2RlIGhhcyBiZWVuIGxvYWRlZFxyXG4gICAqL1xyXG4gIGNoaWxkcmVuTG9hZGVkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gY2hlY2tib3gg5piv5ZCm6YCJ5LitXHJcbiAgICogQGVuX1VTIHdoZXRoZXIgY2hlY2tib3ggaXMgc2VsZWN0ZWRcclxuICAgKi9cclxuICBjaGVja2VkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55SoY2hlY2tib3hcclxuICAgKiBAZW5fVVMgRGlzYWJsZSBjaGVja2JveFxyXG4gICAqL1xyXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gY2hlY2tib3gg5a2Q6IqC54K55piv5ZCm5pyJ6YCJ5Lit55qE54q25oCBXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdGhlIGNoaWxkIG5vZGUgb2YgY2hlY2tib3ggaXMgc2VsZWN0ZWRcclxuICAgKi9cclxuICBpbmRldGVybWluYXRlPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K56auY5bqm77yM5LyY5YWI57qn6auY5LqOIHRyZWUg5Y+C5pWw77yM5Y2V5L2NIHJlbVxyXG4gICAqIEBlbl9VUyBOb2RlIGhlaWdodCBpbiByZW0sIGhpZ2hlc3QgcHJpb3JpdHlcclxuICAgKi9cclxuICBoZWlnaHQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueWGheWuueS4jeaNouihjOaYvuekuuecgeeVpeWPt++8jOS8mOWFiOe6p+mrmOS6jiB0cmVlIOWPguaVsFxyXG4gICAqIEBlbl9VUyBTaG93IGVsbGlwc2lzIHdpdGhvdXQgd3JhcHBpbmcsIGhpZ2hlc3QgcHJpb3JpdHlcclxuICAgKi9cclxuICBub3dyYXA/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnlnoLnm7Tlr7npvZDmlrnlvI/vvIzkvJjlhYjnuqfpq5jkuo4gdHJlZSDlj4LmlbBcclxuICAgKiBAZW5fVVMgU2hvdyBlbGxpcHNpcyB3aXRob3V0IHdyYXBwaW5nLCBoaWdoZXN0IHByaW9yaXR5XHJcbiAgICovXHJcbiAgYWxpZ25JdGVtcz86IFhBbGlnbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5bGe5oCnXHJcbiAgICogQGVuX1VTIEN1c3RvbSBhdHRyaWJ1dGVzXHJcbiAgICovXHJcbiAgW3Byb3BlcnR5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04gVHJlZSDoioLngrnmk43kvZxcclxuICogQGVuX1VTIFRyZWUgbm9kZSBvcGVyYXRpb25cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRyZWVBY3Rpb24gZXh0ZW5kcyBYSWRlbnRpdHlQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaTjeS9nFxyXG4gICAqIEBlbl9VUyBPcGVyYXRpbmdcclxuICAgKi9cclxuICBoYW5kbGVyPzogRnVuY3Rpb247XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWbvuagh1xyXG4gICAqIEBlbl9VUyBJY29uXHJcbiAgICovXHJcbiAgaWNvbj86IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIFRyZWVOb2RlXHJcbiAqIEBzZWxlY3RvciB4LXRyZWUtbm9kZVxyXG4gKiBAZGVjb3JhdG9yIGRpcmVjdGl2ZVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhUcmVlTm9kZVByZWZpeCA9ICd4LXRyZWUtbm9kZSc7XHJcblxyXG4vKipcclxuICogVHJlZU5vZGUgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhUcmVlTm9kZVByb3BlcnR5IGV4dGVuZHMgWFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55pWw5o2uXHJcbiAgICogQGVuX1VTIE5vZGUgZGF0YVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG5vZGU6IFhUcmVlTm9kZSA9IHt9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsYLnuqdcclxuICAgKiBAZW5fVVMgTGV2ZWxcclxuICAgKi9cclxuICBASW5wdXQoKSBsZXZlbD86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaHkuWKoOi9veWtkOiKgueCuVxyXG4gICAqIEBlbl9VUyBMYXp5IGxvYWRpbmcgb2YgY2hpbGQgbm9kZXNcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGxhenk/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K555qE6auY5bqm77yM5Y2V5L2NIHJlbVxyXG4gICAqIEBlbl9VUyBUaGUgaGVpZ2h0IG9mIHRoZSBub2RlIGluIHJlbVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSBub2RlSGVpZ2h0OiBYTnVtYmVyID0gMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55YaF5a655LiN5o2i6KGM5pi+56S655yB55Wl5Y+3XHJcbiAgICogQGVuX1VTIFNob3cgZWxsaXBzaXMgd2l0aG91dCB3cmFwcGluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbm9kZU5vd3JhcD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnlnoLnm7Tlr7npvZDmlrnlvI9cclxuICAgKiBAZW5fVVMgU2hvdyBlbGxpcHNpcyB3aXRob3V0IHdyYXBwaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgbm9kZUFsaWduSXRlbXM6IFhBbGlnbiA9ICdjZW50ZXInO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmh5LliqDovb3lh73mlbBcclxuICAgKiBAZW5fVVMgTGF6eSBsb2FkaW5nIGZ1bmN0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgbGF6eURhdGEhOiBYRGF0YTxYVHJlZU5vZGVbXT47XHJcbn1cclxuIl19
222
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RyZWUvdHJlZS5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixTQUFTLEVBRVQsYUFBYSxFQUliLFlBQVksRUFFWixXQUFXLEVBRVosTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsS0FBSyxFQUFlLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVwRjs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQztBQUNwQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUM7QUFFN0I7O0dBRUc7QUFFSCxNQUFNLE9BQU8sYUFBYyxTQUFRLFNBQVM7SUFENUM7O1FBRUU7OztXQUdHO1FBQ3NCLFNBQUksR0FBcUIsRUFBRSxDQUFDO1FBZ0JyRDs7O1dBR0c7UUFDTSxhQUFRLEdBQVUsRUFBRSxDQUFDO1FBQzlCOzs7V0FHRztRQUNNLFlBQU8sR0FBVSxFQUFFLENBQUM7UUFNN0I7OztXQUdHO1FBQ3NCLGtCQUFhLEdBQVksQ0FBQyxDQUFDLENBQUM7UUEwQnJEOzs7V0FHRztRQUNPLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUMxRDs7O1dBR0c7UUFDTyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFDekQ7OztXQUdHO1FBQ3VCLFdBQU0sR0FBWSxJQUFJLENBQUM7UUFDakQ7OztXQUdHO1FBQ3VCLGVBQVUsR0FBYSxJQUFJLENBQUM7UUFDdEQ7OztXQUdHO1FBQ3VCLGVBQVUsR0FBYSxJQUFJLENBQUM7UUFNdEQ7OztXQUdHO1FBQ00sWUFBTyxHQUFrQixFQUFFLENBQUM7UUFDckM7OztXQUdHO1FBQ08saUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0tBQ3REOzs2SEExR1ksYUFBYTtpSEFBYixhQUFhLDRuQkFESCxFQUFFO0FBTUU7SUFBZixZQUFZLEVBQUU7MkNBQTZCO0FBSzNCO0lBQWhCLGFBQWEsRUFBRTsrQ0FBcUI7QUFLcEI7SUFBaEIsYUFBYSxFQUFFOzJDQUFpQjtBQW9CaEI7SUFBaEIsYUFBYSxFQUFFO2tEQUF3QjtBQUt4QjtJQUFmLFlBQVksRUFBRTtvREFBNkI7QUFLM0I7SUFBaEIsYUFBYSxFQUFFOytDQUFxQjtBQUt1QjtJQUEzRCxXQUFXLENBQVUsYUFBYSxFQUFFLEtBQUssQ0FBQztJQUFFLFlBQVksRUFBRTs4Q0FBbUI7QUFVdEI7SUFBdkQsV0FBVyxDQUFVLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFBRSxZQUFZLEVBQUU7aURBQXNCO0FBSzVEO0lBQWhCLGFBQWEsRUFBRTt5REFBK0I7QUFlOUI7SUFBaEIsYUFBYSxFQUFFOzZDQUF3QjtBQUt2QjtJQUFoQixhQUFhLEVBQUU7aURBQTZCO0FBSzVCO0lBQWhCLGFBQWEsRUFBRTtpREFBNkI7QUFLQztJQUE3QyxXQUFXLENBQVMsYUFBYSxFQUFFLFFBQVEsQ0FBQztxREFBeUI7MkZBL0ZwRSxhQUFhO2tCQUR6QixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs4QkFNQSxJQUFJO3NCQUE1QixLQUFLO2dCQUtvQixRQUFRO3NCQUFqQyxLQUFLO2dCQUtvQixJQUFJO3NCQUE3QixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS29CLFdBQVc7c0JBQXBDLEtBQUs7Z0JBS21CLGFBQWE7c0JBQXJDLEtBQUs7Z0JBS29CLFFBQVE7c0JBQWpDLEtBQUs7Z0JBSytELE9BQU87c0JBQTNFLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLMkQsVUFBVTtzQkFBMUUsS0FBSztnQkFLb0Isa0JBQWtCO3NCQUEzQyxLQUFLO2dCQUtJLGVBQWU7c0JBQXhCLE1BQU07Z0JBS0csY0FBYztzQkFBdkIsTUFBTTtnQkFLbUIsTUFBTTtzQkFBL0IsS0FBSztnQkFLb0IsVUFBVTtzQkFBbkMsS0FBSztnQkFLb0IsVUFBVTtzQkFBbkMsS0FBSztnQkFLaUQsY0FBYztzQkFBcEUsS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0ksWUFBWTtzQkFBckIsTUFBTTs7QUFrRlQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxhQUFhLENBQUM7QUFFN0M7O0dBRUc7QUFFSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsU0FBUztJQURoRDs7UUFFRTs7O1dBR0c7UUFDTSxTQUFJLEdBQWMsRUFBRSxDQUFDO1FBVzlCOzs7V0FHRztRQUNzQixlQUFVLEdBQVksQ0FBQyxDQUFDO1FBTWpEOzs7V0FHRztRQUNNLG1CQUFjLEdBQVcsUUFBUSxDQUFDO0tBTTVDOztpSUFwQ1ksaUJBQWlCO3FIQUFqQixpQkFBaUIsK09BRFAsRUFBRTtBQWdCRztJQUFoQixhQUFhLEVBQUU7K0NBQWlCO0FBS2pCO0lBQWYsWUFBWSxFQUFFO3FEQUF5QjtBQUt2QjtJQUFoQixhQUFhLEVBQUU7cURBQXVCOzJGQXpCckMsaUJBQWlCO2tCQUQ3QixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs4QkFNaEIsSUFBSTtzQkFBWixLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFLb0IsSUFBSTtzQkFBN0IsS0FBSztnQkFLbUIsVUFBVTtzQkFBbEMsS0FBSztnQkFLb0IsVUFBVTtzQkFBbkMsS0FBSztnQkFLRyxjQUFjO3NCQUF0QixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIFhEYXRhQ29udmVydCxcclxuICBYUHJvcGVydHksXHJcbiAgWERhdGEsXHJcbiAgWElucHV0Qm9vbGVhbixcclxuICBYUGFyZW50SWRlbnRpdHlQcm9wZXJ0eSxcclxuICBYTnVtYmVyLFxyXG4gIFhCb29sZWFuLFxyXG4gIFhJbnB1dE51bWJlcixcclxuICBYSWRlbnRpdHlQcm9wZXJ0eSxcclxuICBYV2l0aENvbmZpZyxcclxuICBYQWxpZ25cclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXQsIFRlbXBsYXRlUmVmLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogVHJlZVxyXG4gKiBAc2VsZWN0b3IgeC10cmVlXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFRyZWVQcmVmaXggPSAneC10cmVlJztcclxuY29uc3QgWF9DT05GSUdfTkFNRSA9ICd0cmVlJztcclxuXHJcbi8qKlxyXG4gKiBUcmVlIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYVHJlZVByb3BlcnR5IGV4dGVuZHMgWFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55pWw5o2uXHJcbiAgICogQGVuX1VTIE5vZGUgZGF0YVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYRGF0YUNvbnZlcnQoKSBkYXRhOiBYRGF0YTxYVHJlZU5vZGU+ID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuuWkmumAieahhlxyXG4gICAqIEBlbl9VUyBTaG93IGNoZWNrYm94XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBjaGVja2JveD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvIDlkK/mh5LliqDovb3oioLngrnvvIxkYXRhIOW/hemhu+iuvue9ruaIkOWHveaVsOexu+Wei1xyXG4gICAqIEBlbl9VUyBPcGVuIGxhenkgbG9hZGluZyBub2RlLCBkYXRhIG11c3QgYmUgc2V0IHRvIGZ1bmN0aW9uIHR5cGVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGxhenk/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5YmN5r+A5rS755qE6IqC54K5IElkXHJcbiAgICogQGVuX1VTIEN1cnJlbnRseSBhY3RpdmUgbm9kZSBJZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFjdGl2YXRlZElkOiBhbnk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWxleW8gOeahOiKgueCuVxyXG4gICAqIEBlbl9VUyBFeHBhbmRlZCBub2RlXHJcbiAgICovXHJcbiAgQElucHV0KCkgZXhwYW5kZWQ6IGFueVtdID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGNoZWNrYm94IOmAieS4reeahOiKgueCuVxyXG4gICAqIEBlbl9VUyBDaGVja2JveCBzZWxlY3RlZCBub2RlXHJcbiAgICovXHJcbiAgQElucHV0KCkgY2hlY2tlZDogYW55W10gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGV5byA5omA5pyJ6IqC54K5XHJcbiAgICogQGVuX1VTIEV4cGFuZCBhbGwgbm9kZXNcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGV4cGFuZGVkQWxsPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOm7mOiupOWxleW8gOeahOWxgue6p1xyXG4gICAqIEBlbl9VUyBEZWZhdWx0IGV4cGFuZGVkIGxldmVsXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIGV4cGFuZGVkTGV2ZWw6IFhOdW1iZXIgPSAtMTtcclxuICAvKipcclxuICAgKiBAemhfQ04g54K55Ye76IqC54K55bCx6Kem5Y+R5bGV5byAL+aUtui1t+eahOaTjeS9nO+8jOivt+ehruS/neiKgueCueS4iuayoeacieWFtuWug+aTjeS9nO+8iGNoZWNrYm9444CB6Ieq5a6a5LmJ55qE5pON5L2c5oyJ6ZKu77yJXHJcbiAgICogQGVuX1VTIENsaWNrIHRoZSBub2RlIHRvIHRyaWdnZXIgdGhlIGV4cGFuZC9jb2xsYXBzZSBvcGVyYXRpb24sIHBsZWFzZSBtYWtlIHN1cmUgdGhhdCB0aGVyZSBhcmUgbm8gb3RoZXIgb3BlcmF0aW9ucyBvbiB0aGUgbm9kZSAoY2hlY2tib3gsIGN1c3RvbSBvcGVyYXRpb24gYnV0dG9uKVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbm9kZU9wZW4/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y2V5L2N6Ze06Led77yM6L+Z5Liq5LiO5bGC57qn55qE5LmY56ev566X5Ye66IqC54K555qE5bem6L656Led77yM5Y2V5L2NIHJlbVxyXG4gICAqIEBlbl9VUyBVbml0IHNwYWNpbmcsIHRoZSBwcm9kdWN0IG9mIHRoaXMgYW5kIHRoZSBsZXZlbCBjYWxjdWxhdGVzIHRoZSBsZWZ0IG1hcmdpbiBvZiB0aGUgbm9kZSwgdGhlIHVuaXQgaXMgcmVtXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhOdW1iZXI+KFhfQ09ORklHX05BTUUsIDAuODc1KSBAWElucHV0TnVtYmVyKCkgc3BhY2luZz86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagh+etvuiHquWumuS5ieaooeadv1xyXG4gICAqIEBlbl9VUyBMYWJlbCBjdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBsYWJlbFRwbD86IFRlbXBsYXRlUmVmPHZvaWQ+O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnnmoTpq5jluqbvvIzljZXkvY0gcmVtLCDpu5jorqQgMCDmmK/oh6rpgILlupTpq5jluqZcclxuICAgKiBAZW5fVVMgVGhlIGhlaWdodCBvZiB0aGUgbm9kZSBpbiByZW1cclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WE51bWJlcj4oWF9DT05GSUdfTkFNRSwgMCkgQFhJbnB1dE51bWJlcigpIG5vZGVIZWlnaHQhOiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmK/lkKblhYHorrjlpJrmrKHngrnlh7vkuIDkuKroioLngrnop6blj5HlpJrmrKHkuovku7ZcclxuICAgKiBAZW5fVVMgV2hldGhlciB0byBhbGxvdyBtdWx0aXBsZSBjbGlja3Mgb24gYSBub2RlIHRvIHRyaWdnZXIgbXVsdGlwbGUgZXZlbnRzXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBhbGxvd01hbnlBY3RpdmF0ZWQ/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5YmN54K55Ye76YCJ5Lit55qE6IqC54K55Y+Y5YyW55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFRoZSBldmVudCBvZiB0aGUgY3VycmVudGx5IGNsaWNrZWQgbm9kZSBjaGFuZ2VcclxuICAgKi9cclxuICBAT3V0cHV0KCkgYWN0aXZhdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxYVHJlZU5vZGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOS9v+eUqCBjaGVja2VkYm94IOmAieS4reWPmOWMlueahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBVc2UgY2hlY2tlZGJveCB0byBzZWxlY3QgY2hhbmdlZCBldmVudHNcclxuICAgKi9cclxuICBAT3V0cHV0KCkgY2hlY2tib3hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFhUcmVlTm9kZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aaC5p6cIGRhdGEg5piv5Ye95pWw57G75Z6L77yM5Y+v5Lul6YCa6L+H5q2k5Y+C5pWw5o6n5Yi26K+35rGC77yM5bi455So5LqO5by55qGG5Lit55qE6KGo5qC877yM5by55Ye65ZCO5YaN6K+35rGCXHJcbiAgICogQGVuX1VTIElmIGRhdGEgaXMgYSBmdW5jdGlvbiB0eXBlLCB5b3UgY2FuIHVzZSB0aGlzIHBhcmFtZXRlciB0byBjb250cm9sIHRoZSByZXF1ZXN0LCB3aGljaCBpcyBvZnRlbiB1c2VkIGluIHRoZSBmb3JtIGluIHRoZSBwb3AtdXAgYm94LCBhbmQgdGhlbiByZXF1ZXN0IGl0IGFmdGVyIGl0IHBvcHMgdXBcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIG1hbnVhbDogYm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGNoZWNrYm94IOeKtuaAgeaUueWPmOinpuWPkeWxgue6p+ajgOafpVxyXG4gICAqIEBlbl9VUyBDaGVja2JveCBzdGF0dXMgY2hhbmdlcyB0cmlnZ2VyIGxldmVsIGNoZWNrc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbGV2ZWxDaGVjazogWEJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnlhoXlrrnkuI3mjaLooYzmmL7npLrnnIHnlaXlj7dcclxuICAgKiBAZW5fVVMgU2hvdyBlbGxpcHNpcyB3aXRob3V0IHdyYXBwaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBub2RlTm93cmFwOiBYQm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueWeguebtOWvuem9kOaWueW8j1xyXG4gICAqIEBlbl9VUyBTaG93IGVsbGlwc2lzIHdpdGhvdXQgd3JhcHBpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEFsaWduPihYX0NPTkZJR19OQU1FLCAnY2VudGVyJykgbm9kZUFsaWduSXRlbXMhOiBYQWxpZ247XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeiKgueCueaTjeS9nOaMiemSrlxyXG4gICAqIEBlbl9VUyBUcmVlIG5vZGUgb3BlcmF0aW9uIGJ1dHRvbnNcclxuICAgKi9cclxuICBASW5wdXQoKSBhY3Rpb25zOiBYVHJlZUFjdGlvbltdID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWPguaVsOaOp+WItuivt+axguaUueWPmOS6i+S7tlxyXG4gICAqIEBlbl9VUyBQYXJhbWV0ZXIgY29udHJvbCByZXF1ZXN0IGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBtYW51YWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04gVHJlZSDmlbDmja7lr7nosaFcclxuICogQGVuX1VTIFRyZWUgZGF0YSBvYmplY3RcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRyZWVOb2RlIGV4dGVuZHMgWFBhcmVudElkZW50aXR5UHJvcGVydHk8WFRyZWVOb2RlPiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWxleW8gFxyXG4gICAqIEBlbl9VUyBVbmZvbGRcclxuICAgKi9cclxuICBvcGVuPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5r+A5rS755qEXHJcbiAgICogQGVuX1VTIGFjdGl2ZVxyXG4gICAqL1xyXG4gIGFjdGl2YXRlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOajgOafpeabtOaWsFxyXG4gICAqIEBlbl9VUyBDaGVjayBmb3IgdXBkYXRlc1xyXG4gICAqL1xyXG4gIGNoYW5nZT86IEZ1bmN0aW9uO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlrZDoioLngrnlt7LliqDovb3ov4dcclxuICAgKiBAZW5fVVMgQ2hpbGQgbm9kZSBoYXMgYmVlbiBsb2FkZWRcclxuICAgKi9cclxuICBjaGlsZHJlbkxvYWRlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGNoZWNrYm94IOaYr+WQpumAieS4rVxyXG4gICAqIEBlbl9VUyB3aGV0aGVyIGNoZWNrYm94IGlzIHNlbGVjdGVkXHJcbiAgICovXHJcbiAgY2hlY2tlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqGNoZWNrYm94XHJcbiAgICogQGVuX1VTIERpc2FibGUgY2hlY2tib3hcclxuICAgKi9cclxuICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGNoZWNrYm94IOWtkOiKgueCueaYr+WQpuaciemAieS4reeahOeKtuaAgVxyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRoZSBjaGlsZCBub2RlIG9mIGNoZWNrYm94IGlzIHNlbGVjdGVkXHJcbiAgICovXHJcbiAgaW5kZXRlcm1pbmF0ZT86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCuemrmOW6pu+8jOS8mOWFiOe6p+mrmOS6jiB0cmVlIOWPguaVsO+8jOWNleS9jSByZW1cclxuICAgKiBAZW5fVVMgTm9kZSBoZWlnaHQgaW4gcmVtLCBoaWdoZXN0IHByaW9yaXR5XHJcbiAgICovXHJcbiAgaGVpZ2h0PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnlhoXlrrnkuI3mjaLooYzmmL7npLrnnIHnlaXlj7fvvIzkvJjlhYjnuqfpq5jkuo4gdHJlZSDlj4LmlbBcclxuICAgKiBAZW5fVVMgU2hvdyBlbGxpcHNpcyB3aXRob3V0IHdyYXBwaW5nLCBoaWdoZXN0IHByaW9yaXR5XHJcbiAgICovXHJcbiAgbm93cmFwPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55Z6C55u05a+56b2Q5pa55byP77yM5LyY5YWI57qn6auY5LqOIHRyZWUg5Y+C5pWwXHJcbiAgICogQGVuX1VTIFNob3cgZWxsaXBzaXMgd2l0aG91dCB3cmFwcGluZywgaGlnaGVzdCBwcmlvcml0eVxyXG4gICAqL1xyXG4gIGFsaWduSXRlbXM/OiBYQWxpZ247XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieWxnuaAp1xyXG4gICAqIEBlbl9VUyBDdXN0b20gYXR0cmlidXRlc1xyXG4gICAqL1xyXG4gIFtwcm9wZXJ0eTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIFRyZWUg6IqC54K55pON5L2cXHJcbiAqIEBlbl9VUyBUcmVlIG5vZGUgb3BlcmF0aW9uXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUcmVlQWN0aW9uIGV4dGVuZHMgWElkZW50aXR5UHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmk43kvZxcclxuICAgKiBAZW5fVVMgT3BlcmF0aW5nXHJcbiAgICovXHJcbiAgaGFuZGxlcj86IEZ1bmN0aW9uO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm77moIdcclxuICAgKiBAZW5fVVMgSWNvblxyXG4gICAqL1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUcmVlTm9kZVxyXG4gKiBAc2VsZWN0b3IgeC10cmVlLW5vZGVcclxuICogQGRlY29yYXRvciBkaXJlY3RpdmVcclxuICovXHJcbmV4cG9ydCBjb25zdCBYVHJlZU5vZGVQcmVmaXggPSAneC10cmVlLW5vZGUnO1xyXG5cclxuLyoqXHJcbiAqIFRyZWVOb2RlIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYVHJlZU5vZGVQcm9wZXJ0eSBleHRlbmRzIFhQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueaVsOaNrlxyXG4gICAqIEBlbl9VUyBOb2RlIGRhdGFcclxuICAgKi9cclxuICBASW5wdXQoKSBub2RlOiBYVHJlZU5vZGUgPSB7fTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGC57qnXHJcbiAgICogQGVuX1VTIExldmVsXHJcbiAgICovXHJcbiAgQElucHV0KCkgbGV2ZWw/OiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmh5LliqDovb3lrZDoioLngrlcclxuICAgKiBAZW5fVVMgTGF6eSBsb2FkaW5nIG9mIGNoaWxkIG5vZGVzXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBsYXp5PzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueeahOmrmOW6pu+8jOWNleS9jSByZW1cclxuICAgKiBAZW5fVVMgVGhlIGhlaWdodCBvZiB0aGUgbm9kZSBpbiByZW1cclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgbm9kZUhlaWdodDogWE51bWJlciA9IDA7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueWGheWuueS4jeaNouihjOaYvuekuuecgeeVpeWPt1xyXG4gICAqIEBlbl9VUyBTaG93IGVsbGlwc2lzIHdpdGhvdXQgd3JhcHBpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIG5vZGVOb3dyYXA/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55Z6C55u05a+56b2Q5pa55byPXHJcbiAgICogQGVuX1VTIFNob3cgZWxsaXBzaXMgd2l0aG91dCB3cmFwcGluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG5vZGVBbGlnbkl0ZW1zOiBYQWxpZ24gPSAnY2VudGVyJztcclxuICAvKipcclxuICAgKiBAemhfQ04g5oeS5Yqg6L295Ye95pWwXHJcbiAgICogQGVuX1VTIExhenkgbG9hZGluZyBmdW5jdGlvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGxhenlEYXRhITogWERhdGE8WFRyZWVOb2RlW10+O1xyXG59XHJcbiJdfQ==
@@ -81,7 +81,7 @@ export class XUploadPortalComponent {
81
81
  });
82
82
  fromEvent(this.doc.documentElement, 'mouseup')
83
83
  .pipe(takeUntil(_unSub))
84
- .subscribe((x) => {
84
+ .subscribe(() => {
85
85
  this.cutType = '';
86
86
  this.cdr.detectChanges();
87
87
  _unSub.next();
@@ -202,4 +202,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImpor
202
202
  type: ViewChild,
203
203
  args: ['cutRef']
204
204
  }] } });
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLXBvcnRhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS91cGxvYWQvdXBsb2FkLXBvcnRhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS91cGxvYWQvdXBsb2FkLXBvcnRhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFJVCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFxQixTQUFTLEVBQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUMsT0FBTyxFQUErQixtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFTckYsTUFBTSxPQUFPLHNCQUFzQjtJQXFDakMsWUFBb0IsUUFBbUIsRUFBVSxHQUFzQixFQUFvQixRQUFhO1FBQXBGLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQS9CdkUsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUNkLFlBQU8sR0FBbUIsRUFBRSxDQUFDO1FBQzdCLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFDZixpQkFBWSxHQUFHO1lBQ2IsS0FBSyxFQUFFLENBQUM7WUFDUixNQUFNLEVBQUUsQ0FBQztTQUNWLENBQUM7UUFLRixXQUFNLEdBQUc7WUFDUCxLQUFLLEVBQUUsQ0FBQztZQUNSLE1BQU0sRUFBRSxDQUFDO1lBQ1QsQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUs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LEVBQUU7WUFDaEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzNGLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFZLENBQUMsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs7c0lBN01VLHNCQUFzQiw0RUFxQ2dELFFBQVE7MEhBckM5RSxzQkFBc0Isb2FDdkJuQyx3M0NBNEJBOzJGRExhLHNCQUFzQjtrQkFQbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsR0FBRyxtQkFBbUIsRUFBRTtvQkFDbEMsV0FBVyxFQUFFLGdDQUFnQztvQkFDN0MsU0FBUyxFQUFFLENBQUMsZ0NBQWdDLENBQUM7b0JBQzdDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7OzBCQXNDMkUsTUFBTTsyQkFBQyxRQUFROzRDQW5DcEUsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRO2dCQUNNLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWTtnQkFDRyxXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWE7Z0JBQ0gsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBWaWV3Q2hpbGQsXHJcbiAgRWxlbWVudFJlZixcclxuICBSZW5kZXJlcjIsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgSW5qZWN0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIG1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFhDbGFtcCB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBYVXBsb2FkQ3V0VHlwZSwgWFVwbG9hZE5vZGUsIFhVcGxvYWRQb3J0YWxQcmVmaXggfSBmcm9tICcuL3VwbG9hZC5wcm9wZXJ0eSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WFVwbG9hZFBvcnRhbFByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91cGxvYWQtcG9ydGFsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91cGxvYWQtcG9ydGFsLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFVwbG9hZFBvcnRhbENvbXBvbmVudCB7XHJcbiAgZmlsZSE6IFhVcGxvYWROb2RlO1xyXG4gIEBWaWV3Q2hpbGQoJ2ltZ1JlZicpIGltZ1JlZiE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnaW1nQ2xpcFJlZicpIGltZ0NsaXBSZWYhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2JvdW5kYXJ5UmVmJykgYm91bmRhcnlSZWYhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2N1dFJlZicpIGN1dFJlZiE6IEVsZW1lbnRSZWY7XHJcbiAgcmVhZHkgPSBmYWxzZTtcclxuICBjdXRUeXBlOiBYVXBsb2FkQ3V0VHlwZSA9ICcnO1xyXG4gIHByb3BvcnRpb24gPSAxO1xyXG4gIG9yaWdpbmFsU2l6ZSA9IHtcclxuICAgIHdpZHRoOiAwLFxyXG4gICAgaGVpZ2h0OiAwXHJcbiAgfTtcclxuICBib3VuZGFyeUJveCE6IHtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gIH07XHJcbiAgY3V0Qm94ID0ge1xyXG4gICAgd2lkdGg6IDAsXHJcbiAgICBoZWlnaHQ6IDAsXHJcbiAgICB4OiAwLFxyXG4gICAgeTogMFxyXG4gIH07XHJcbiAgY2xpcFJlY3QhOiB7XHJcbiAgICB0b3A6IG51bWJlcjtcclxuICAgIHJpZ2h0OiBudW1iZXI7XHJcbiAgICBib3R0b206IG51bWJlcjtcclxuICAgIGxlZnQ6IG51bWJlcjtcclxuICB9O1xyXG5cclxuICBkb2M6IERvY3VtZW50O1xyXG5cclxuICBjbG9zZVBvcnRhbCE6ICgpID0+IHZvaWQ7XHJcbiAgZGVzdHJveVBvcnRhbCE6ICgpID0+IHZvaWQ7XHJcbiAgc3VyZVBvcnRhbCE6IChibG9iOiBCbG9iKSA9PiB2b2lkO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudDogYW55KSB7XHJcbiAgICB0aGlzLmRvYyA9IGRvY3VtZW50O1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7fVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnNldEN1dCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDdXQoKSB7XHJcbiAgICBsZXQgd2lkdGggPSB0aGlzLmltZ1JlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoO1xyXG4gICAgbGV0IGhlaWdodCA9IHRoaXMuaW1nUmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0O1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmN1dFJlZi5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCBgJHt3aWR0aH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmN1dFJlZi5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgYCR7aGVpZ2h0fXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuYm91bmRhcnlSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7d2lkdGh9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5ib3VuZGFyeVJlZi5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgYCR7aGVpZ2h0fXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1nUmVmLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGAke3dpZHRofXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1nUmVmLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHtoZWlnaHR9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5pbWdDbGlwUmVmLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGAke3dpZHRofXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1nQ2xpcFJlZi5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgYCR7aGVpZ2h0fXB4YCk7XHJcbiAgICB0aGlzLmN1dEJveC53aWR0aCA9IHdpZHRoO1xyXG4gICAgdGhpcy5jdXRCb3guaGVpZ2h0ID0gaGVpZ2h0O1xyXG4gICAgdGhpcy5ib3VuZGFyeUJveCA9IHsgd2lkdGgsIGhlaWdodCB9O1xyXG4gICAgdGhpcy5jbGlwUmVjdCA9IHtcclxuICAgICAgdG9wOiAwLFxyXG4gICAgICByaWdodDogd2lkdGgsXHJcbiAgICAgIGJvdHRvbTogaGVpZ2h0LFxyXG4gICAgICBsZWZ0OiAwXHJcbiAgICB9O1xyXG4gICAgdGhpcy5zZXRPcmlnaW5hbFNpemUoKTtcclxuICAgIHRoaXMucmVhZHkgPSB0cnVlO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgIGNvbnN0IG1vdXNlRG93biA9IGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLmN1dFJlZi5uYXRpdmVFbGVtZW50LCAnbW91c2Vkb3duJykucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSk7XHJcblxyXG4gICAgbW91c2VEb3duLnN1YnNjcmliZSgoZG93bk1lOiBNb3VzZUV2ZW50KSA9PiB7XHJcbiAgICAgIGxldCB4ID0gZG93bk1lLnBhZ2VYO1xyXG4gICAgICBsZXQgeSA9IGRvd25NZS5wYWdlWTtcclxuICAgICAgbGV0IG9mZnNldFggPSAwO1xyXG4gICAgICBsZXQgb2Zmc2V0WSA9IDA7XHJcbiAgICAgIGNvbnN0IF91blN1YiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICAgIGxldCBjbGFzc05hbWUgPSAoZG93bk1lLnRhcmdldCBhcyBIVE1MRGl2RWxlbWVudCkuY2xhc3NOYW1lO1xyXG4gICAgICBjb25zdCBzcHQgPSBgJHtYVXBsb2FkUG9ydGFsUHJlZml4fS1jdXQtYDtcclxuICAgICAgaWYgKGNsYXNzTmFtZS5pbmNsdWRlcyhzcHQpKSB7XHJcbiAgICAgICAgdGhpcy5jdXRUeXBlID0gY2xhc3NOYW1lLnJlcGxhY2Uoc3B0LCAnJykgYXMgWFVwbG9hZEN1dFR5cGU7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9XHJcbiAgICAgIGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLmRvYy5kb2N1bWVudEVsZW1lbnQsICdtb3VzZW1vdmUnKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbChfdW5TdWIpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKG1vdmVNZTogTW91c2VFdmVudCkgPT4ge1xyXG4gICAgICAgICAgb2Zmc2V0WCA9IG1vdmVNZS5wYWdlWCAtIHg7XHJcbiAgICAgICAgICBvZmZzZXRZID0gbW92ZU1lLnBhZ2VZIC0geTtcclxuICAgICAgICAgIHggPSBtb3ZlTWUucGFnZVg7XHJcbiAgICAgICAgICB5ID0gbW92ZU1lLnBhZ2VZO1xyXG4gICAgICAgICAgdGhpcy5zZXRDdXRFbGUodGhpcy5jdXRUeXBlLCBvZmZzZXRYLCBvZmZzZXRZKTtcclxuICAgICAgICB9KTtcclxuICAgICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuZG9jLmRvY3VtZW50RWxlbWVudCwgJ21vdXNldXAnKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbChfdW5TdWIpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICAgIHRoaXMuY3V0VHlwZSA9ICcnO1xyXG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgX3VuU3ViLm5leHQoKTtcclxuICAgICAgICAgIF91blN1Yi5jb21wbGV0ZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRPcmlnaW5hbFNpemUoKSB7XHJcbiAgICBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKTtcclxuICAgIGltZy5zcmMgPSB0aGlzLmZpbGUudXJsITtcclxuICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMub3JpZ2luYWxTaXplID0geyB3aWR0aDogaW1nLndpZHRoLCBoZWlnaHQ6IGltZy5oZWlnaHQgfTtcclxuICAgICAgdGhpcy5wcm9wb3J0aW9uID0gdGhpcy5ib3VuZGFyeUJveC53aWR0aCAvIHRoaXMub3JpZ2luYWxTaXplLndpZHRoO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNldEN1dEVsZShwb3NpdGlvbjogWFVwbG9hZEN1dFR5cGUsIHg6IG51bWJlciwgeTogbnVtYmVyKSB7XHJcbiAgICBzd2l0Y2ggKHBvc2l0aW9uKSB7XHJcbiAgICAgIGNhc2UgJ3RvcC1zdGFydCc6XHJcbiAgICAgICAgdGhpcy5jdXRCb3gud2lkdGggLT0geDtcclxuICAgICAgICB0aGlzLmN1dEJveC5oZWlnaHQgLT0geTtcclxuICAgICAgICB0aGlzLmN1dEJveC54ICs9IHg7XHJcbiAgICAgICAgdGhpcy5jdXRCb3gueSArPSB5O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd0b3AnOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LmhlaWdodCAtPSB5O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LnkgKz0geTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAndG9wLWVuZCc6XHJcbiAgICAgICAgdGhpcy5jdXRCb3gud2lkdGggKz0geDtcclxuICAgICAgICB0aGlzLmN1dEJveC5oZWlnaHQgLT0geTtcclxuICAgICAgICB0aGlzLmN1dEJveC55ICs9IHk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcclxuICAgICAgICB0aGlzLmN1dEJveC53aWR0aCArPSB4O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdib3R0b20tZW5kJzpcclxuICAgICAgICB0aGlzLmN1dEJveC53aWR0aCArPSB4O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LmhlaWdodCArPSB5O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdib3R0b20nOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LmhlaWdodCArPSB5O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdib3R0b20tc3RhcnQnOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LndpZHRoIC09IHg7XHJcbiAgICAgICAgdGhpcy5jdXRCb3guaGVpZ2h0ICs9IHk7XHJcbiAgICAgICAgdGhpcy5jdXRCb3gueCArPSB4O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdsZWZ0JzpcclxuICAgICAgICB0aGlzLmN1dEJveC53aWR0aCAtPSB4O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LnggKz0geDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnJzpcclxuICAgICAgICB0aGlzLmN1dEJveC54ICs9IHg7XHJcbiAgICAgICAgdGhpcy5jdXRCb3gueSArPSB5O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgY29uc3QgYm91bmRhcnlSZWN0ID0gdGhpcy5ib3VuZGFyeVJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG5cclxuICAgIGNvbnN0IG1heFkgPSBib3VuZGFyeVJlY3QuaGVpZ2h0IC0gdGhpcy5jdXRCb3guaGVpZ2h0O1xyXG4gICAgY29uc3QgbWF4WCA9IGJvdW5kYXJ5UmVjdC53aWR0aCAtIHRoaXMuY3V0Qm94LndpZHRoO1xyXG5cclxuICAgIHRoaXMuY3V0Qm94LnggPSBYQ2xhbXAodGhpcy5jdXRCb3gueCwgMCwgbWF4WCk7XHJcbiAgICB0aGlzLmN1dEJveC55ID0gWENsYW1wKHRoaXMuY3V0Qm94LnksIDAsIG1heFkpO1xyXG5cclxuICAgIC8vIGNvbnN0IG1heFdpZHRoID0gYm91bmRhcnlSZWN0LmhlaWdodCAtIHRoaXMuY3V0Qm94Lnk7XHJcbiAgICAvLyBjb25zdCBtYXhIZWlnaHQgPSBib3VuZGFyeVJlY3Qud2lkdGggLSB0aGlzLmN1dEJveC54O1xyXG5cclxuICAgIC8vIHRoaXMuY3V0Qm94LndpZHRoID0gWENsYW1wKHRoaXMuY3V0Qm94LndpZHRoLCAwLCBtYXhXaWR0aCk7XHJcbiAgICAvLyB0aGlzLmN1dEJveC5oZWlnaHQgPSBYQ2xhbXAodGhpcy5jdXRCb3gud2lkdGgsIDAsIG1heEhlaWdodCk7XHJcblxyXG4gICAgdGhpcy5jbGlwUmVjdCA9IHtcclxuICAgICAgdG9wOiB0aGlzLmN1dEJveC55LFxyXG4gICAgICByaWdodDogdGhpcy5jdXRCb3gud2lkdGggKyB0aGlzLmN1dEJveC54LFxyXG4gICAgICBib3R0b206IHRoaXMuY3V0Qm94LmhlaWdodCArIHRoaXMuY3V0Qm94LnksXHJcbiAgICAgIGxlZnQ6IHRoaXMuY3V0Qm94LnhcclxuICAgIH07XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxyXG4gICAgICB0aGlzLmltZ0NsaXBSZWYubmF0aXZlRWxlbWVudCxcclxuICAgICAgJ2NsaXAnLFxyXG4gICAgICBgcmVjdCgke3RoaXMuY2xpcFJlY3QudG9wfXB4LCR7dGhpcy5jbGlwUmVjdC5yaWdodH1weCwke3RoaXMuY2xpcFJlY3QuYm90dG9tfXB4LCR7dGhpcy5jbGlwUmVjdC5sZWZ0fXB4KWBcclxuICAgICk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY3V0UmVmLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGAke3RoaXMuY3V0Qm94LndpZHRofXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY3V0UmVmLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHt0aGlzLmN1dEJveC5oZWlnaHR9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jdXRSZWYubmF0aXZlRWxlbWVudCwgJ3RyYW5zZm9ybScsIGB0cmFuc2xhdGUzZCgke3RoaXMuY3V0Qm94Lnh9cHgsICR7dGhpcy5jdXRCb3gueX1weCwgMClgKTtcclxuICB9XHJcblxyXG4gIHN1cmUoKSB7XHJcbiAgICBjb25zdCBjYW52YXMgPSB0aGlzLmRvYy5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcclxuICAgIGNhbnZhcy53aWR0aCA9IHRoaXMuY3V0Qm94LndpZHRoIC8gdGhpcy5wcm9wb3J0aW9uO1xyXG4gICAgY2FudmFzLmhlaWdodCA9IHRoaXMuY3V0Qm94LmhlaWdodCAvIHRoaXMucHJvcG9ydGlvbjtcclxuICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKSE7XHJcbiAgICBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKTtcclxuICAgIGltZy5zcmMgPSB0aGlzLmZpbGUudXJsITtcclxuICAgIGltZy5jcm9zc09yaWdpbiA9ICdhbm9ueW1vdXMnO1xyXG4gICAgaW1nLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgY29udGV4dC5kcmF3SW1hZ2UoaW1nLCAtdGhpcy5jdXRCb3gueCAvIHRoaXMucHJvcG9ydGlvbiwgLXRoaXMuY3V0Qm94LnkgLyB0aGlzLnByb3BvcnRpb24pO1xyXG4gICAgICBjYW52YXMudG9CbG9iKChibG9iKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zdXJlUG9ydGFsKGJsb2IgYXMgQmxvYik7XHJcbiAgICAgICAgdGhpcy5jbG9zZVBvcnRhbCgpO1xyXG4gICAgICB9KTtcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwge3sgY3V0VHlwZSB9fVwiIFtjbGFzcy54LXVwbG9hZC1wb3J0YWwtcmVhZHldPVwicmVhZHlcIj5cclxuICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLXRvb2xzXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLXRpdGxlXCI+XHJcbiAgICAgIDx4LWljb24gdHlwZT1cImZ0by1pbWFnZVwiPjwveC1pY29uPlxyXG4gICAgICA8c3Bhbj57eyBmaWxlPy5uYW1lIH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8eC1pY29uIGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWNsb3NlXCIgdHlwZT1cImZ0by14XCIgKGNsaWNrKT1cImNsb3NlUG9ydGFsKClcIj48L3gtaWNvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWltZ1wiPlxyXG4gICAgPGltZyAjaW1nUmVmIGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWZ1bGwtaW1nXCIgW3NyY109XCJmaWxlLnVybFwiIC8+XHJcbiAgICA8ZGl2ICNib3VuZGFyeVJlZiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1ib3VuZGFyeVwiPlxyXG4gICAgICA8aW1nICNpbWdDbGlwUmVmIGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWNsaXAtaW1nXCIgW3NyY109XCJmaWxlLnVybFwiIC8+XHJcbiAgICAgIDxkaXYgI2N1dFJlZiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dC10b3Atc3RhcnRcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dC10b3BcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dC10b3AtZW5kXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXQtbGVmdFwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtY3V0LXJpZ2h0XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXQtYm90dG9tLXN0YXJ0XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXQtYm90dG9tXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXQtYm90dG9tLWVuZFwiPjwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtYm90dG9tLXRvb2xzXCI+XHJcbiAgICA8eC1pY29uIGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWNsb3NlXCIgdHlwZT1cImZ0by1jaGVja1wiIChjbGljayk9XCJzdXJlKClcIj48L3gtaWNvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLXBvcnRhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS91cGxvYWQvdXBsb2FkLXBvcnRhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS91cGxvYWQvdXBsb2FkLXBvcnRhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFJVCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBQStCLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQVNyRixNQUFNLE9BQU8sc0JBQXNCO0lBcUNqQyxZQUFvQixRQUFtQixFQUFVLEdBQXNCLEVBQW9CLFFBQWE7UUFBcEYsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBL0J2RSxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsWUFBTyxHQUFtQixFQUFFLENBQUM7UUFDN0IsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLGlCQUFZLEdBQUc7WUFDYixLQUFLLEVBQUUsQ0FBQztZQUNSLE1BQU0sRUFBRSxDQUFDO1NBQ1YsQ0FBQztRQUtGLFdBQU0sR0FBRztZQUNQLEtBQUssRUFBRSxDQUFDO1lBQ1IsTUFBTSxFQUFFLENBQUM7WUFDVCxDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxD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LE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMzRixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBWSxDQUFDLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztJQUNKLENBQUM7O3NJQTdNVSxzQkFBc0IsNEVBcUNnRCxRQUFROzBIQXJDOUUsc0JBQXNCLG9hQ3ZCbkMsdzNDQTRCQTsyRkRMYSxzQkFBc0I7a0JBUGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEdBQUcsbUJBQW1CLEVBQUU7b0JBQ2xDLFdBQVcsRUFBRSxnQ0FBZ0M7b0JBQzdDLFNBQVMsRUFBRSxDQUFDLGdDQUFnQyxDQUFDO29CQUM3QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzswQkFzQzJFLE1BQU07MkJBQUMsUUFBUTs0Q0FuQ3BFLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUTtnQkFDTSxVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVk7Z0JBQ0csV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhO2dCQUNILE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgVmlld0NoaWxkLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIEluamVjdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBYQ2xhbXAgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWFVwbG9hZEN1dFR5cGUsIFhVcGxvYWROb2RlLCBYVXBsb2FkUG9ydGFsUHJlZml4IH0gZnJvbSAnLi91cGxvYWQucHJvcGVydHknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hVcGxvYWRQb3J0YWxQcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXBsb2FkLXBvcnRhbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdXBsb2FkLXBvcnRhbC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhVcGxvYWRQb3J0YWxDb21wb25lbnQge1xyXG4gIGZpbGUhOiBYVXBsb2FkTm9kZTtcclxuICBAVmlld0NoaWxkKCdpbWdSZWYnKSBpbWdSZWYhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2ltZ0NsaXBSZWYnKSBpbWdDbGlwUmVmITogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdib3VuZGFyeVJlZicpIGJvdW5kYXJ5UmVmITogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdjdXRSZWYnKSBjdXRSZWYhOiBFbGVtZW50UmVmO1xyXG4gIHJlYWR5ID0gZmFsc2U7XHJcbiAgY3V0VHlwZTogWFVwbG9hZEN1dFR5cGUgPSAnJztcclxuICBwcm9wb3J0aW9uID0gMTtcclxuICBvcmlnaW5hbFNpemUgPSB7XHJcbiAgICB3aWR0aDogMCxcclxuICAgIGhlaWdodDogMFxyXG4gIH07XHJcbiAgYm91bmRhcnlCb3ghOiB7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICB9O1xyXG4gIGN1dEJveCA9IHtcclxuICAgIHdpZHRoOiAwLFxyXG4gICAgaGVpZ2h0OiAwLFxyXG4gICAgeDogMCxcclxuICAgIHk6IDBcclxuICB9O1xyXG4gIGNsaXBSZWN0IToge1xyXG4gICAgdG9wOiBudW1iZXI7XHJcbiAgICByaWdodDogbnVtYmVyO1xyXG4gICAgYm90dG9tOiBudW1iZXI7XHJcbiAgICBsZWZ0OiBudW1iZXI7XHJcbiAgfTtcclxuXHJcbiAgZG9jOiBEb2N1bWVudDtcclxuXHJcbiAgY2xvc2VQb3J0YWwhOiAoKSA9PiB2b2lkO1xyXG4gIGRlc3Ryb3lQb3J0YWwhOiAoKSA9PiB2b2lkO1xyXG4gIHN1cmVQb3J0YWwhOiAoYmxvYjogQmxvYikgPT4gdm9pZDtcclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IGFueSkge1xyXG4gICAgdGhpcy5kb2MgPSBkb2N1bWVudDtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge31cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5zZXRDdXQoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q3V0KCkge1xyXG4gICAgbGV0IHdpZHRoID0gdGhpcy5pbWdSZWYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcclxuICAgIGxldCBoZWlnaHQgPSB0aGlzLmltZ1JlZi5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jdXRSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7d2lkdGh9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jdXRSZWYubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGAke2hlaWdodH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmJvdW5kYXJ5UmVmLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGAke3dpZHRofXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuYm91bmRhcnlSZWYubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGAke2hlaWdodH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltZ1JlZi5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCBgJHt3aWR0aH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltZ1JlZi5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgYCR7aGVpZ2h0fXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW1nQ2xpcFJlZi5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCBgJHt3aWR0aH1weGApO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmltZ0NsaXBSZWYubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGAke2hlaWdodH1weGApO1xyXG4gICAgdGhpcy5jdXRCb3gud2lkdGggPSB3aWR0aDtcclxuICAgIHRoaXMuY3V0Qm94LmhlaWdodCA9IGhlaWdodDtcclxuICAgIHRoaXMuYm91bmRhcnlCb3ggPSB7IHdpZHRoLCBoZWlnaHQgfTtcclxuICAgIHRoaXMuY2xpcFJlY3QgPSB7XHJcbiAgICAgIHRvcDogMCxcclxuICAgICAgcmlnaHQ6IHdpZHRoLFxyXG4gICAgICBib3R0b206IGhlaWdodCxcclxuICAgICAgbGVmdDogMFxyXG4gICAgfTtcclxuICAgIHRoaXMuc2V0T3JpZ2luYWxTaXplKCk7XHJcbiAgICB0aGlzLnJlYWR5ID0gdHJ1ZTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICBjb25zdCBtb3VzZURvd24gPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5jdXRSZWYubmF0aXZlRWxlbWVudCwgJ21vdXNlZG93bicpLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpO1xyXG5cclxuICAgIG1vdXNlRG93bi5zdWJzY3JpYmUoKGRvd25NZTogTW91c2VFdmVudCkgPT4ge1xyXG4gICAgICBsZXQgeCA9IGRvd25NZS5wYWdlWDtcclxuICAgICAgbGV0IHkgPSBkb3duTWUucGFnZVk7XHJcbiAgICAgIGxldCBvZmZzZXRYID0gMDtcclxuICAgICAgbGV0IG9mZnNldFkgPSAwO1xyXG4gICAgICBjb25zdCBfdW5TdWIgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgICBsZXQgY2xhc3NOYW1lID0gKGRvd25NZS50YXJnZXQgYXMgSFRNTERpdkVsZW1lbnQpLmNsYXNzTmFtZTtcclxuICAgICAgY29uc3Qgc3B0ID0gYCR7WFVwbG9hZFBvcnRhbFByZWZpeH0tY3V0LWA7XHJcbiAgICAgIGlmIChjbGFzc05hbWUuaW5jbHVkZXMoc3B0KSkge1xyXG4gICAgICAgIHRoaXMuY3V0VHlwZSA9IGNsYXNzTmFtZS5yZXBsYWNlKHNwdCwgJycpIGFzIFhVcGxvYWRDdXRUeXBlO1xyXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfVxyXG4gICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5kb2MuZG9jdW1lbnRFbGVtZW50LCAnbW91c2Vtb3ZlJylcclxuICAgICAgICAucGlwZSh0YWtlVW50aWwoX3VuU3ViKSlcclxuICAgICAgICAuc3Vic2NyaWJlKChtb3ZlTWU6IE1vdXNlRXZlbnQpID0+IHtcclxuICAgICAgICAgIG9mZnNldFggPSBtb3ZlTWUucGFnZVggLSB4O1xyXG4gICAgICAgICAgb2Zmc2V0WSA9IG1vdmVNZS5wYWdlWSAtIHk7XHJcbiAgICAgICAgICB4ID0gbW92ZU1lLnBhZ2VYO1xyXG4gICAgICAgICAgeSA9IG1vdmVNZS5wYWdlWTtcclxuICAgICAgICAgIHRoaXMuc2V0Q3V0RWxlKHRoaXMuY3V0VHlwZSwgb2Zmc2V0WCwgb2Zmc2V0WSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIGZyb21FdmVudDxNb3VzZUV2ZW50Pih0aGlzLmRvYy5kb2N1bWVudEVsZW1lbnQsICdtb3VzZXVwJylcclxuICAgICAgICAucGlwZSh0YWtlVW50aWwoX3VuU3ViKSlcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuY3V0VHlwZSA9ICcnO1xyXG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgX3VuU3ViLm5leHQoKTtcclxuICAgICAgICAgIF91blN1Yi5jb21wbGV0ZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRPcmlnaW5hbFNpemUoKSB7XHJcbiAgICBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKTtcclxuICAgIGltZy5zcmMgPSB0aGlzLmZpbGUudXJsITtcclxuICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMub3JpZ2luYWxTaXplID0geyB3aWR0aDogaW1nLndpZHRoLCBoZWlnaHQ6IGltZy5oZWlnaHQgfTtcclxuICAgICAgdGhpcy5wcm9wb3J0aW9uID0gdGhpcy5ib3VuZGFyeUJveC53aWR0aCAvIHRoaXMub3JpZ2luYWxTaXplLndpZHRoO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNldEN1dEVsZShwb3NpdGlvbjogWFVwbG9hZEN1dFR5cGUsIHg6IG51bWJlciwgeTogbnVtYmVyKSB7XHJcbiAgICBzd2l0Y2ggKHBvc2l0aW9uKSB7XHJcbiAgICAgIGNhc2UgJ3RvcC1zdGFydCc6XHJcbiAgICAgICAgdGhpcy5jdXRCb3gud2lkdGggLT0geDtcclxuICAgICAgICB0aGlzLmN1dEJveC5oZWlnaHQgLT0geTtcclxuICAgICAgICB0aGlzLmN1dEJveC54ICs9IHg7XHJcbiAgICAgICAgdGhpcy5jdXRCb3gueSArPSB5O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd0b3AnOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LmhlaWdodCAtPSB5O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LnkgKz0geTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAndG9wLWVuZCc6XHJcbiAgICAgICAgdGhpcy5jdXRCb3gud2lkdGggKz0geDtcclxuICAgICAgICB0aGlzLmN1dEJveC5oZWlnaHQgLT0geTtcclxuICAgICAgICB0aGlzLmN1dEJveC55ICs9IHk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcclxuICAgICAgICB0aGlzLmN1dEJveC53aWR0aCArPSB4O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdib3R0b20tZW5kJzpcclxuICAgICAgICB0aGlzLmN1dEJveC53aWR0aCArPSB4O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LmhlaWdodCArPSB5O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdib3R0b20nOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LmhlaWdodCArPSB5O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdib3R0b20tc3RhcnQnOlxyXG4gICAgICAgIHRoaXMuY3V0Qm94LndpZHRoIC09IHg7XHJcbiAgICAgICAgdGhpcy5jdXRCb3guaGVpZ2h0ICs9IHk7XHJcbiAgICAgICAgdGhpcy5jdXRCb3gueCArPSB4O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdsZWZ0JzpcclxuICAgICAgICB0aGlzLmN1dEJveC53aWR0aCAtPSB4O1xyXG4gICAgICAgIHRoaXMuY3V0Qm94LnggKz0geDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnJzpcclxuICAgICAgICB0aGlzLmN1dEJveC54ICs9IHg7XHJcbiAgICAgICAgdGhpcy5jdXRCb3gueSArPSB5O1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgY29uc3QgYm91bmRhcnlSZWN0ID0gdGhpcy5ib3VuZGFyeVJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG5cclxuICAgIGNvbnN0IG1heFkgPSBib3VuZGFyeVJlY3QuaGVpZ2h0IC0gdGhpcy5jdXRCb3guaGVpZ2h0O1xyXG4gICAgY29uc3QgbWF4WCA9IGJvdW5kYXJ5UmVjdC53aWR0aCAtIHRoaXMuY3V0Qm94LndpZHRoO1xyXG5cclxuICAgIHRoaXMuY3V0Qm94LnggPSBYQ2xhbXAodGhpcy5jdXRCb3gueCwgMCwgbWF4WCk7XHJcbiAgICB0aGlzLmN1dEJveC55ID0gWENsYW1wKHRoaXMuY3V0Qm94LnksIDAsIG1heFkpO1xyXG5cclxuICAgIC8vIGNvbnN0IG1heFdpZHRoID0gYm91bmRhcnlSZWN0LmhlaWdodCAtIHRoaXMuY3V0Qm94Lnk7XHJcbiAgICAvLyBjb25zdCBtYXhIZWlnaHQgPSBib3VuZGFyeVJlY3Qud2lkdGggLSB0aGlzLmN1dEJveC54O1xyXG5cclxuICAgIC8vIHRoaXMuY3V0Qm94LndpZHRoID0gWENsYW1wKHRoaXMuY3V0Qm94LndpZHRoLCAwLCBtYXhXaWR0aCk7XHJcbiAgICAvLyB0aGlzLmN1dEJveC5oZWlnaHQgPSBYQ2xhbXAodGhpcy5jdXRCb3gud2lkdGgsIDAsIG1heEhlaWdodCk7XHJcblxyXG4gICAgdGhpcy5jbGlwUmVjdCA9IHtcclxuICAgICAgdG9wOiB0aGlzLmN1dEJveC55LFxyXG4gICAgICByaWdodDogdGhpcy5jdXRCb3gud2lkdGggKyB0aGlzLmN1dEJveC54LFxyXG4gICAgICBib3R0b206IHRoaXMuY3V0Qm94LmhlaWdodCArIHRoaXMuY3V0Qm94LnksXHJcbiAgICAgIGxlZnQ6IHRoaXMuY3V0Qm94LnhcclxuICAgIH07XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxyXG4gICAgICB0aGlzLmltZ0NsaXBSZWYubmF0aXZlRWxlbWVudCxcclxuICAgICAgJ2NsaXAnLFxyXG4gICAgICBgcmVjdCgke3RoaXMuY2xpcFJlY3QudG9wfXB4LCR7dGhpcy5jbGlwUmVjdC5yaWdodH1weCwke3RoaXMuY2xpcFJlY3QuYm90dG9tfXB4LCR7dGhpcy5jbGlwUmVjdC5sZWZ0fXB4KWBcclxuICAgICk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY3V0UmVmLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGAke3RoaXMuY3V0Qm94LndpZHRofXB4YCk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY3V0UmVmLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBgJHt0aGlzLmN1dEJveC5oZWlnaHR9cHhgKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jdXRSZWYubmF0aXZlRWxlbWVudCwgJ3RyYW5zZm9ybScsIGB0cmFuc2xhdGUzZCgke3RoaXMuY3V0Qm94Lnh9cHgsICR7dGhpcy5jdXRCb3gueX1weCwgMClgKTtcclxuICB9XHJcblxyXG4gIHN1cmUoKSB7XHJcbiAgICBjb25zdCBjYW52YXMgPSB0aGlzLmRvYy5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcclxuICAgIGNhbnZhcy53aWR0aCA9IHRoaXMuY3V0Qm94LndpZHRoIC8gdGhpcy5wcm9wb3J0aW9uO1xyXG4gICAgY2FudmFzLmhlaWdodCA9IHRoaXMuY3V0Qm94LmhlaWdodCAvIHRoaXMucHJvcG9ydGlvbjtcclxuICAgIGNvbnN0IGNvbnRleHQgPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKSE7XHJcbiAgICBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKTtcclxuICAgIGltZy5zcmMgPSB0aGlzLmZpbGUudXJsITtcclxuICAgIGltZy5jcm9zc09yaWdpbiA9ICdhbm9ueW1vdXMnO1xyXG4gICAgaW1nLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgY29udGV4dC5kcmF3SW1hZ2UoaW1nLCAtdGhpcy5jdXRCb3gueCAvIHRoaXMucHJvcG9ydGlvbiwgLXRoaXMuY3V0Qm94LnkgLyB0aGlzLnByb3BvcnRpb24pO1xyXG4gICAgICBjYW52YXMudG9CbG9iKChibG9iKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zdXJlUG9ydGFsKGJsb2IgYXMgQmxvYik7XHJcbiAgICAgICAgdGhpcy5jbG9zZVBvcnRhbCgpO1xyXG4gICAgICB9KTtcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwge3sgY3V0VHlwZSB9fVwiIFtjbGFzcy54LXVwbG9hZC1wb3J0YWwtcmVhZHldPVwicmVhZHlcIj5cclxuICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLXRvb2xzXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLXRpdGxlXCI+XHJcbiAgICAgIDx4LWljb24gdHlwZT1cImZ0by1pbWFnZVwiPjwveC1pY29uPlxyXG4gICAgICA8c3Bhbj57eyBmaWxlPy5uYW1lIH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8eC1pY29uIGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWNsb3NlXCIgdHlwZT1cImZ0by14XCIgKGNsaWNrKT1cImNsb3NlUG9ydGFsKClcIj48L3gtaWNvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWltZ1wiPlxyXG4gICAgPGltZyAjaW1nUmVmIGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWZ1bGwtaW1nXCIgW3NyY109XCJmaWxlLnVybFwiIC8+XHJcbiAgICA8ZGl2ICNib3VuZGFyeVJlZiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1ib3VuZGFyeVwiPlxyXG4gICAgICA8aW1nICNpbWdDbGlwUmVmIGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWNsaXAtaW1nXCIgW3NyY109XCJmaWxlLnVybFwiIC8+XHJcbiAgICAgIDxkaXYgI2N1dFJlZiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dC10b3Atc3RhcnRcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dC10b3BcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWN1dC10b3AtZW5kXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXQtbGVmdFwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtY3V0LXJpZ2h0XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXQtYm90dG9tLXN0YXJ0XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXQtYm90dG9tXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtdXBsb2FkLXBvcnRhbC1jdXQtYm90dG9tLWVuZFwiPjwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXVwbG9hZC1wb3J0YWwtYm90dG9tLXRvb2xzXCI+XHJcbiAgICA8eC1pY29uIGNsYXNzPVwieC11cGxvYWQtcG9ydGFsLWNsb3NlXCIgdHlwZT1cImZ0by1jaGVja1wiIChjbGljayk9XCJzdXJlKClcIj48L3gtaWNvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==