@clr/angular 13.17.0 → 13.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (391) hide show
  1. package/accordion/accordion-panel.d.ts +3 -3
  2. package/accordion/stepper/providers/stepper.service.d.ts +2 -1
  3. package/accordion/stepper/stepper-panel.d.ts +2 -2
  4. package/button/button-group/button-group.d.ts +6 -10
  5. package/button/button-group/button.d.ts +11 -11
  6. package/button/button-loading/loading-button.d.ts +2 -2
  7. package/button/providers/button-group-focus-handler.service.d.ts +1 -1
  8. package/clarity.api.md +94 -94
  9. package/data/datagrid/built-in/filters/datagrid-numeric-filter-impl.d.ts +7 -12
  10. package/data/datagrid/built-in/filters/datagrid-numeric-filter.d.ts +13 -16
  11. package/data/datagrid/built-in/filters/datagrid-string-filter-impl.d.ts +7 -7
  12. package/data/datagrid/built-in/filters/datagrid-string-filter.d.ts +10 -10
  13. package/data/datagrid/datagrid-action-overflow.d.ts +5 -5
  14. package/data/datagrid/datagrid-cell.d.ts +2 -2
  15. package/data/datagrid/datagrid-column-separator.d.ts +6 -6
  16. package/data/datagrid/datagrid-column-toggle-button.d.ts +2 -2
  17. package/data/datagrid/datagrid-column-toggle.d.ts +6 -6
  18. package/data/datagrid/datagrid-column.d.ts +51 -54
  19. package/data/datagrid/datagrid-detail-header.d.ts +1 -1
  20. package/data/datagrid/datagrid-filter.d.ts +5 -5
  21. package/data/datagrid/datagrid-footer.d.ts +1 -1
  22. package/data/datagrid/datagrid-hideable-column.d.ts +3 -3
  23. package/data/datagrid/datagrid-if-detail.d.ts +3 -3
  24. package/data/datagrid/datagrid-if-expanded.service.d.ts +4 -4
  25. package/data/datagrid/datagrid-items.d.ts +1 -1
  26. package/data/datagrid/datagrid-pagination.d.ts +17 -17
  27. package/data/datagrid/datagrid-row-detail.d.ts +8 -8
  28. package/data/datagrid/datagrid-row.d.ts +53 -48
  29. package/data/datagrid/datagrid.d.ts +43 -47
  30. package/data/datagrid/interfaces/filter.interface.d.ts +2 -2
  31. package/data/datagrid/providers/column-resizer.service.d.ts +3 -3
  32. package/data/datagrid/providers/columns.service.d.ts +2 -2
  33. package/data/datagrid/providers/detail.service.d.ts +5 -5
  34. package/data/datagrid/providers/display-mode.service.d.ts +1 -1
  35. package/data/datagrid/providers/filters.d.ts +2 -2
  36. package/data/datagrid/providers/global-expandable-rows.d.ts +3 -3
  37. package/data/datagrid/providers/items.d.ts +25 -25
  38. package/data/datagrid/providers/page.d.ts +21 -21
  39. package/data/datagrid/providers/row-action-service.d.ts +2 -2
  40. package/data/datagrid/providers/selection.d.ts +42 -42
  41. package/data/datagrid/providers/sort.d.ts +6 -6
  42. package/data/datagrid/providers/state-debouncer.provider.d.ts +1 -1
  43. package/data/datagrid/providers/state.provider.d.ts +1 -1
  44. package/data/datagrid/providers/table-size.service.d.ts +1 -1
  45. package/data/datagrid/render/cell-renderer.d.ts +3 -3
  46. package/data/datagrid/render/header-renderer.d.ts +3 -3
  47. package/data/datagrid/render/main-renderer.d.ts +12 -12
  48. package/data/datagrid/render/noop-dom-adapter.d.ts +7 -7
  49. package/data/datagrid/render/render-organizer.d.ts +1 -1
  50. package/data/datagrid/render/row-renderer.d.ts +1 -1
  51. package/data/datagrid/utils/datagrid-filter-registrar.d.ts +2 -2
  52. package/data/datagrid/utils/key-navigation-grid.controller.d.ts +5 -5
  53. package/data/stack-view/stack-block.d.ts +16 -16
  54. package/data/stack-view/stack-view-custom-tags.d.ts +1 -1
  55. package/data/stack-view/stack-view.d.ts +2 -2
  56. package/data/tree-view/models/declarative-tree-node.model.d.ts +2 -2
  57. package/data/tree-view/models/recursive-tree-node.model.d.ts +5 -5
  58. package/data/tree-view/models/tree-node.model.d.ts +4 -4
  59. package/data/tree-view/recursive-children.d.ts +3 -3
  60. package/data/tree-view/recursive-for-of.d.ts +1 -1
  61. package/data/tree-view/tree-focus-manager.service.d.ts +8 -8
  62. package/data/tree-view/tree-node.d.ts +18 -18
  63. package/data/tree-view/tree.d.ts +2 -2
  64. package/emphasis/alert/alert.d.ts +11 -11
  65. package/emphasis/alert/alerts-pager.d.ts +6 -6
  66. package/emphasis/alert/alerts.d.ts +6 -6
  67. package/emphasis/alert/providers/icon-and-types.service.d.ts +1 -1
  68. package/emphasis/alert/providers/multi-alert.service.d.ts +2 -2
  69. package/esm2020/accordion/accordion-panel.mjs +3 -3
  70. package/esm2020/accordion/accordion.mjs +1 -1
  71. package/esm2020/accordion/providers/accordion.service.mjs +1 -1
  72. package/esm2020/accordion/stepper/providers/stepper.service.mjs +4 -4
  73. package/esm2020/accordion/stepper/stepper-panel.mjs +6 -6
  74. package/esm2020/accordion/stepper/stepper.mjs +1 -1
  75. package/esm2020/button/button-group/button-group.mjs +17 -18
  76. package/esm2020/button/button-group/button.mjs +14 -14
  77. package/esm2020/button/button-loading/loading-button.mjs +2 -2
  78. package/esm2020/button/providers/button-group-focus-handler.service.mjs +5 -5
  79. package/esm2020/button/providers/button-in-group.service.mjs +1 -1
  80. package/esm2020/data/datagrid/built-in/filters/datagrid-numeric-filter-impl.mjs +11 -16
  81. package/esm2020/data/datagrid/built-in/filters/datagrid-numeric-filter.mjs +59 -59
  82. package/esm2020/data/datagrid/built-in/filters/datagrid-string-filter-impl.mjs +10 -10
  83. package/esm2020/data/datagrid/built-in/filters/datagrid-string-filter.mjs +32 -32
  84. package/esm2020/data/datagrid/datagrid-action-overflow.mjs +19 -19
  85. package/esm2020/data/datagrid/datagrid-cell.mjs +4 -4
  86. package/esm2020/data/datagrid/datagrid-column-separator.mjs +6 -6
  87. package/esm2020/data/datagrid/datagrid-column-toggle-button.mjs +4 -4
  88. package/esm2020/data/datagrid/datagrid-column-toggle.mjs +4 -4
  89. package/esm2020/data/datagrid/datagrid-column.mjs +166 -168
  90. package/esm2020/data/datagrid/datagrid-detail-header.mjs +1 -1
  91. package/esm2020/data/datagrid/datagrid-filter.mjs +7 -7
  92. package/esm2020/data/datagrid/datagrid-footer.mjs +1 -1
  93. package/esm2020/data/datagrid/datagrid-hideable-column.mjs +5 -5
  94. package/esm2020/data/datagrid/datagrid-if-detail.mjs +9 -9
  95. package/esm2020/data/datagrid/datagrid-if-expanded.service.mjs +7 -7
  96. package/esm2020/data/datagrid/datagrid-items.mjs +1 -1
  97. package/esm2020/data/datagrid/datagrid-pagination.mjs +41 -41
  98. package/esm2020/data/datagrid/datagrid-row-detail.mjs +20 -18
  99. package/esm2020/data/datagrid/datagrid-row.mjs +124 -110
  100. package/esm2020/data/datagrid/datagrid.mjs +60 -57
  101. package/esm2020/data/datagrid/interfaces/filter.interface.mjs +1 -1
  102. package/esm2020/data/datagrid/providers/column-resizer.service.mjs +4 -4
  103. package/esm2020/data/datagrid/providers/columns.service.mjs +7 -7
  104. package/esm2020/data/datagrid/providers/detail.service.mjs +8 -8
  105. package/esm2020/data/datagrid/providers/display-mode.service.mjs +2 -2
  106. package/esm2020/data/datagrid/providers/filters.mjs +1 -1
  107. package/esm2020/data/datagrid/providers/global-expandable-rows.mjs +7 -7
  108. package/esm2020/data/datagrid/providers/items.mjs +41 -41
  109. package/esm2020/data/datagrid/providers/page.mjs +22 -22
  110. package/esm2020/data/datagrid/providers/row-action-service.mjs +7 -7
  111. package/esm2020/data/datagrid/providers/selection.mjs +68 -68
  112. package/esm2020/data/datagrid/providers/sort.mjs +4 -4
  113. package/esm2020/data/datagrid/providers/state-debouncer.provider.mjs +5 -5
  114. package/esm2020/data/datagrid/providers/state.provider.mjs +1 -1
  115. package/esm2020/data/datagrid/providers/table-size.service.mjs +1 -1
  116. package/esm2020/data/datagrid/render/cell-renderer.mjs +1 -1
  117. package/esm2020/data/datagrid/render/header-renderer.mjs +11 -11
  118. package/esm2020/data/datagrid/render/main-renderer.mjs +17 -17
  119. package/esm2020/data/datagrid/render/noop-dom-adapter.mjs +8 -15
  120. package/esm2020/data/datagrid/render/render-organizer.mjs +1 -1
  121. package/esm2020/data/datagrid/render/row-renderer.mjs +1 -1
  122. package/esm2020/data/datagrid/utils/datagrid-filter-registrar.mjs +4 -4
  123. package/esm2020/data/datagrid/utils/key-navigation-grid.controller.mjs +1 -1
  124. package/esm2020/data/stack-view/stack-block.mjs +41 -41
  125. package/esm2020/data/stack-view/stack-view-custom-tags.mjs +4 -4
  126. package/esm2020/data/stack-view/stack-view.mjs +3 -3
  127. package/esm2020/data/tree-view/models/declarative-tree-node.model.mjs +7 -7
  128. package/esm2020/data/tree-view/models/recursive-tree-node.model.mjs +14 -14
  129. package/esm2020/data/tree-view/models/tree-node.model.mjs +15 -15
  130. package/esm2020/data/tree-view/recursive-children.mjs +1 -1
  131. package/esm2020/data/tree-view/recursive-for-of.mjs +1 -1
  132. package/esm2020/data/tree-view/tree-features.service.mjs +1 -1
  133. package/esm2020/data/tree-view/tree-focus-manager.service.mjs +33 -33
  134. package/esm2020/data/tree-view/tree-node.mjs +43 -43
  135. package/esm2020/data/tree-view/tree.mjs +8 -8
  136. package/esm2020/emphasis/alert/alert.mjs +33 -34
  137. package/esm2020/emphasis/alert/alerts-pager.mjs +17 -17
  138. package/esm2020/emphasis/alert/alerts.mjs +17 -17
  139. package/esm2020/emphasis/alert/providers/icon-and-types.service.mjs +1 -1
  140. package/esm2020/emphasis/alert/providers/multi-alert.service.mjs +4 -4
  141. package/esm2020/forms/checkbox/checkbox-container.mjs +4 -4
  142. package/esm2020/forms/checkbox/checkbox-wrapper.mjs +1 -1
  143. package/esm2020/forms/combobox/combobox.mjs +108 -110
  144. package/esm2020/forms/combobox/model/pseudo-focus.model.mjs +1 -1
  145. package/esm2020/forms/combobox/option-items.directive.mjs +16 -16
  146. package/esm2020/forms/combobox/option-selected.directive.mjs +1 -1
  147. package/esm2020/forms/combobox/option.mjs +12 -12
  148. package/esm2020/forms/combobox/options.mjs +13 -13
  149. package/esm2020/forms/combobox/providers/combobox-focus-handler.service.mjs +42 -42
  150. package/esm2020/forms/combobox/providers/option-selection.service.mjs +6 -6
  151. package/esm2020/forms/common/abstract-container.mjs +5 -5
  152. package/esm2020/forms/common/form.mjs +8 -8
  153. package/esm2020/forms/common/if-control-state/abstract-if-state.mjs +2 -3
  154. package/esm2020/forms/common/if-control-state/if-control-state.service.mjs +4 -5
  155. package/esm2020/forms/common/label.mjs +8 -8
  156. package/esm2020/forms/common/providers/container-id.service.mjs +1 -1
  157. package/esm2020/forms/common/providers/control-id.service.mjs +1 -1
  158. package/esm2020/forms/common/providers/focus.service.mjs +1 -1
  159. package/esm2020/forms/common/providers/layout.service.mjs +6 -6
  160. package/esm2020/forms/common/providers/mark-control.service.mjs +1 -1
  161. package/esm2020/forms/common/providers/ng-control.service.mjs +4 -4
  162. package/esm2020/forms/common/wrapped-control.mjs +25 -25
  163. package/esm2020/forms/datalist/datalist-input.mjs +1 -1
  164. package/esm2020/forms/datalist/datalist.mjs +7 -7
  165. package/esm2020/forms/datalist/providers/datalist-id.service.mjs +1 -1
  166. package/esm2020/forms/datepicker/calendar.mjs +24 -24
  167. package/esm2020/forms/datepicker/date-container.mjs +15 -15
  168. package/esm2020/forms/datepicker/date-input.mjs +31 -31
  169. package/esm2020/forms/datepicker/day.mjs +4 -4
  170. package/esm2020/forms/datepicker/daypicker.mjs +13 -13
  171. package/esm2020/forms/datepicker/model/calendar-view.model.mjs +9 -9
  172. package/esm2020/forms/datepicker/model/calendar.model.mjs +12 -12
  173. package/esm2020/forms/datepicker/model/day.model.mjs +4 -4
  174. package/esm2020/forms/datepicker/model/year-range.model.mjs +17 -17
  175. package/esm2020/forms/datepicker/monthpicker.mjs +15 -15
  176. package/esm2020/forms/datepicker/providers/date-form-control.service.mjs +1 -1
  177. package/esm2020/forms/datepicker/providers/date-io.service.mjs +48 -48
  178. package/esm2020/forms/datepicker/providers/date-navigation.service.mjs +30 -33
  179. package/esm2020/forms/datepicker/providers/datepicker-enabled.service.mjs +1 -1
  180. package/esm2020/forms/datepicker/providers/locale-helper.service.mjs +1 -1
  181. package/esm2020/forms/datepicker/providers/view-manager.service.mjs +2 -2
  182. package/esm2020/forms/datepicker/yearpicker.mjs +37 -37
  183. package/esm2020/forms/password/password-container.mjs +4 -4
  184. package/esm2020/forms/radio/radio-container.mjs +4 -4
  185. package/esm2020/forms/radio/radio-wrapper.mjs +1 -1
  186. package/esm2020/forms/range/range-container.mjs +4 -4
  187. package/esm2020/forms/select/select-container.mjs +1 -1
  188. package/esm2020/layout/nav/header.mjs +10 -4
  189. package/esm2020/layout/nav/nav-level.mjs +37 -37
  190. package/esm2020/layout/nav/providers/responsive-navigation.service.mjs +1 -1
  191. package/esm2020/layout/tabs/providers/tabs.service.mjs +5 -5
  192. package/esm2020/layout/tabs/tab-content.mjs +11 -11
  193. package/esm2020/layout/tabs/tab-link.directive.mjs +18 -18
  194. package/esm2020/layout/tabs/tab.mjs +4 -4
  195. package/esm2020/layout/tabs/tabs.mjs +38 -38
  196. package/esm2020/layout/vertical-nav/providers/vertical-nav-group.service.mjs +1 -1
  197. package/esm2020/layout/vertical-nav/providers/vertical-nav.service.mjs +1 -1
  198. package/esm2020/layout/vertical-nav/vertical-nav-group.mjs +29 -29
  199. package/esm2020/layout/vertical-nav/vertical-nav.mjs +8 -8
  200. package/esm2020/modal/modal.mjs +4 -4
  201. package/esm2020/popover/common/abstract-popover.mjs +14 -14
  202. package/esm2020/popover/common/popover.mjs +2 -2
  203. package/esm2020/popover/dropdown/dropdown-item.mjs +10 -10
  204. package/esm2020/popover/dropdown/dropdown-menu.mjs +5 -5
  205. package/esm2020/popover/dropdown/dropdown.mjs +2 -2
  206. package/esm2020/popover/dropdown/providers/dropdown-focus-handler.service.mjs +49 -49
  207. package/esm2020/popover/dropdown/providers/dropdown.service.mjs +1 -1
  208. package/esm2020/popover/signpost/providers/signpost-id.service.mjs +4 -4
  209. package/esm2020/popover/signpost/signpost-content.mjs +13 -13
  210. package/esm2020/popover/signpost/signpost-trigger.mjs +12 -12
  211. package/esm2020/popover/signpost/signpost.mjs +1 -1
  212. package/esm2020/popover/tooltip/providers/tooltip-id.service.mjs +4 -4
  213. package/esm2020/popover/tooltip/tooltip-content.mjs +1 -1
  214. package/esm2020/progress/progress-bars/progress-bar.mjs +53 -61
  215. package/esm2020/progress/spinner/spinner.mjs +12 -1
  216. package/esm2020/timeline/timeline-step.mjs +6 -6
  217. package/esm2020/utils/a11y/aria-live.service.mjs +12 -12
  218. package/esm2020/utils/chocolate/oompa-loompa.mjs +1 -1
  219. package/esm2020/utils/chocolate/willy-wonka.mjs +2 -2
  220. package/esm2020/utils/conditional/if-active.directive.mjs +22 -31
  221. package/esm2020/utils/conditional/if-active.service.mjs +5 -12
  222. package/esm2020/utils/conditional/if-expanded.directive.mjs +14 -14
  223. package/esm2020/utils/conditional/if-expanded.service.mjs +4 -4
  224. package/esm2020/utils/conditional/if-open.directive.mjs +14 -23
  225. package/esm2020/utils/drag-and-drop/draggable/draggable.mjs +25 -25
  226. package/esm2020/utils/drag-and-drop/draggable-ghost.mjs +5 -5
  227. package/esm2020/utils/drag-and-drop/droppable/droppable.mjs +35 -35
  228. package/esm2020/utils/drag-and-drop/providers/drag-and-drop-event-bus.service.mjs +1 -1
  229. package/esm2020/utils/drag-and-drop/providers/drag-event-listener.service.mjs +5 -5
  230. package/esm2020/utils/drag-and-drop/providers/drag-handle-registrar.service.mjs +10 -10
  231. package/esm2020/utils/drag-and-drop/providers/draggable-snapshot.service.mjs +9 -9
  232. package/esm2020/utils/focus/focus-on-view-init/focus-on-view-init.mjs +2 -2
  233. package/esm2020/utils/focus/focus.service.mjs +1 -1
  234. package/esm2020/utils/focus/focusable-item/basic-focusable-item.service.mjs +1 -1
  235. package/esm2020/utils/focus/focusable-item/focusable-item.mjs +1 -1
  236. package/esm2020/utils/focus/key-focus/key-focus-item.mjs +1 -1
  237. package/esm2020/utils/focus/key-focus/key-focus.mjs +39 -35
  238. package/esm2020/utils/focus/key-focus/roving-tabindex.mjs +4 -4
  239. package/esm2020/utils/focus-trap/focus-trap-tracker.service.mjs +1 -1
  240. package/esm2020/utils/focus-trap/focus-trap.directive.mjs +27 -27
  241. package/esm2020/utils/focus-trap/focus-trap.mjs +1 -1
  242. package/esm2020/utils/for-type-ahead/for-type-ahead.mjs +4 -4
  243. package/esm2020/utils/for-type-ahead/for-type-ahead.service.mjs +4 -4
  244. package/esm2020/utils/host-wrapping/host-wrapper.mjs +1 -1
  245. package/esm2020/utils/i18n/common-strings.default.mjs +2 -1
  246. package/esm2020/utils/i18n/common-strings.interface.mjs +1 -1
  247. package/esm2020/utils/i18n/common-strings.service.mjs +7 -7
  248. package/esm2020/utils/loading/loading.mjs +1 -1
  249. package/esm2020/utils/popover/popover-close-button.mjs +2 -2
  250. package/esm2020/utils/popover/popover-content.mjs +17 -22
  251. package/esm2020/utils/popover/popover-open-close-button.mjs +2 -2
  252. package/esm2020/utils/popover/providers/popover-events.service.mjs +24 -42
  253. package/esm2020/utils/popover/providers/popover-position.service.mjs +1 -7
  254. package/esm2020/utils/popover/providers/popover-toggle.service.mjs +14 -16
  255. package/esm2020/wizard/heading-level.mjs +7 -0
  256. package/esm2020/wizard/index.mjs +3 -2
  257. package/esm2020/wizard/providers/button-hub.service.mjs +1 -1
  258. package/esm2020/wizard/providers/header-actions.service.mjs +1 -3
  259. package/esm2020/wizard/providers/page-collection.service.mjs +30 -32
  260. package/esm2020/wizard/providers/wizard-navigation.service.mjs +52 -52
  261. package/esm2020/wizard/wizard-button.mjs +10 -10
  262. package/esm2020/wizard/wizard-header-action.mjs +1 -1
  263. package/esm2020/wizard/wizard-page-title.mjs +7 -4
  264. package/esm2020/wizard/wizard-page.mjs +92 -122
  265. package/esm2020/wizard/wizard-stepnav-item.mjs +6 -6
  266. package/esm2020/wizard/wizard-title.mjs +21 -0
  267. package/esm2020/wizard/wizard.mjs +73 -60
  268. package/esm2020/wizard/wizard.module.mjs +5 -5
  269. package/fesm2015/clr-angular.mjs +2448 -2515
  270. package/fesm2015/clr-angular.mjs.map +1 -1
  271. package/fesm2020/clr-angular.mjs +2463 -2524
  272. package/fesm2020/clr-angular.mjs.map +1 -1
  273. package/forms/checkbox/checkbox-container.d.ts +2 -2
  274. package/forms/combobox/combobox.d.ts +26 -26
  275. package/forms/combobox/option-items.directive.d.ts +2 -2
  276. package/forms/combobox/option-selected.directive.d.ts +1 -1
  277. package/forms/combobox/option.d.ts +5 -5
  278. package/forms/combobox/options.d.ts +6 -6
  279. package/forms/combobox/providers/combobox-focus-handler.service.d.ts +9 -9
  280. package/forms/combobox/providers/option-selection.service.d.ts +6 -5
  281. package/forms/common/abstract-container.d.ts +6 -9
  282. package/forms/common/form.d.ts +3 -3
  283. package/forms/common/if-control-state/abstract-if-state.d.ts +1 -1
  284. package/forms/common/if-control-state/if-control-state.service.d.ts +2 -2
  285. package/forms/common/label.d.ts +3 -3
  286. package/forms/common/providers/container-id.service.d.ts +1 -1
  287. package/forms/common/providers/control-id.service.d.ts +1 -1
  288. package/forms/common/providers/layout.service.d.ts +2 -2
  289. package/forms/common/providers/ng-control.service.d.ts +2 -2
  290. package/forms/common/wrapped-control.d.ts +10 -10
  291. package/forms/datalist/datalist-input.d.ts +1 -1
  292. package/forms/datalist/datalist.d.ts +2 -2
  293. package/forms/datalist/providers/datalist-id.service.d.ts +1 -1
  294. package/forms/datepicker/calendar.d.ts +13 -13
  295. package/forms/datepicker/date-container.d.ts +4 -4
  296. package/forms/datepicker/date-input.d.ts +7 -7
  297. package/forms/datepicker/day.d.ts +1 -1
  298. package/forms/datepicker/daypicker.d.ts +8 -8
  299. package/forms/datepicker/model/calendar-view.model.d.ts +5 -5
  300. package/forms/datepicker/model/calendar.model.d.ts +5 -5
  301. package/forms/datepicker/model/day.model.d.ts +1 -1
  302. package/forms/datepicker/model/year-range.model.d.ts +10 -10
  303. package/forms/datepicker/monthpicker.d.ts +9 -9
  304. package/forms/datepicker/providers/date-form-control.service.d.ts +2 -2
  305. package/forms/datepicker/providers/date-io.service.d.ts +3 -3
  306. package/forms/datepicker/providers/date-navigation.service.d.ts +21 -24
  307. package/forms/datepicker/providers/datepicker-enabled.service.d.ts +1 -1
  308. package/forms/datepicker/providers/locale-helper.service.d.ts +1 -1
  309. package/forms/datepicker/providers/view-manager.service.d.ts +1 -1
  310. package/forms/datepicker/yearpicker.d.ts +10 -10
  311. package/forms/password/password-container.d.ts +2 -2
  312. package/forms/radio/radio-container.d.ts +2 -2
  313. package/forms/range/range-container.d.ts +2 -2
  314. package/layout/nav/header.d.ts +2 -1
  315. package/layout/nav/nav-level.d.ts +6 -6
  316. package/layout/nav/providers/responsive-navigation.service.d.ts +1 -1
  317. package/layout/tabs/providers/tabs.service.d.ts +3 -3
  318. package/layout/tabs/tab-content.d.ts +4 -4
  319. package/layout/tabs/tab-link.directive.d.ts +6 -6
  320. package/layout/tabs/tab.d.ts +1 -1
  321. package/layout/tabs/tabs.d.ts +13 -13
  322. package/layout/vertical-nav/providers/vertical-nav.service.d.ts +3 -3
  323. package/layout/vertical-nav/vertical-nav-group.d.ts +9 -9
  324. package/layout/vertical-nav/vertical-nav.d.ts +4 -4
  325. package/package.json +3 -2
  326. package/popover/common/abstract-popover.d.ts +9 -9
  327. package/popover/common/popover.d.ts +2 -2
  328. package/popover/dropdown/dropdown-item.d.ts +4 -4
  329. package/popover/dropdown/dropdown-menu.d.ts +2 -2
  330. package/popover/dropdown/dropdown.d.ts +1 -1
  331. package/popover/dropdown/providers/dropdown-focus-handler.service.d.ts +15 -15
  332. package/popover/signpost/providers/signpost-id.service.d.ts +1 -1
  333. package/popover/signpost/signpost-content.d.ts +9 -9
  334. package/popover/signpost/signpost-trigger.d.ts +3 -3
  335. package/popover/signpost/signpost.d.ts +1 -1
  336. package/popover/tooltip/providers/tooltip-id.service.d.ts +1 -1
  337. package/popover/tooltip/tooltip-content.d.ts +3 -3
  338. package/progress/progress-bars/progress-bar.d.ts +24 -29
  339. package/progress/spinner/spinner.d.ts +4 -11
  340. package/timeline/timeline-step.d.ts +2 -2
  341. package/utils/a11y/aria-live.service.d.ts +6 -6
  342. package/utils/chocolate/oompa-loompa.d.ts +2 -2
  343. package/utils/chocolate/willy-wonka.d.ts +1 -1
  344. package/utils/conditional/if-active.directive.d.ts +12 -21
  345. package/utils/conditional/if-active.service.d.ts +2 -9
  346. package/utils/conditional/if-expanded.directive.d.ts +5 -5
  347. package/utils/conditional/if-expanded.service.d.ts +3 -3
  348. package/utils/conditional/if-open.directive.d.ts +10 -19
  349. package/utils/drag-and-drop/draggable/draggable.d.ts +7 -7
  350. package/utils/drag-and-drop/draggable-ghost.d.ts +3 -3
  351. package/utils/drag-and-drop/droppable/droppable.d.ts +16 -16
  352. package/utils/drag-and-drop/providers/drag-event-listener.service.d.ts +12 -12
  353. package/utils/drag-and-drop/providers/drag-handle-registrar.service.d.ts +2 -2
  354. package/utils/drag-and-drop/providers/draggable-snapshot.service.d.ts +3 -3
  355. package/utils/focus/focus-on-view-init/focus-on-view-init.d.ts +2 -2
  356. package/utils/focus/focus.service.d.ts +2 -2
  357. package/utils/focus/focusable-item/basic-focusable-item.service.d.ts +1 -1
  358. package/utils/focus/focusable-item/focusable-item.d.ts +3 -3
  359. package/utils/focus/key-focus/key-focus-item.d.ts +1 -1
  360. package/utils/focus/key-focus/key-focus.d.ts +13 -9
  361. package/utils/focus/key-focus/roving-tabindex.d.ts +2 -2
  362. package/utils/focus-trap/focus-trap.d.ts +3 -3
  363. package/utils/focus-trap/focus-trap.directive.d.ts +6 -6
  364. package/utils/for-type-ahead/for-type-ahead.d.ts +2 -2
  365. package/utils/for-type-ahead/for-type-ahead.service.d.ts +2 -2
  366. package/utils/host-wrapping/host-wrapper.d.ts +1 -1
  367. package/utils/i18n/common-strings.interface.d.ts +4 -0
  368. package/utils/i18n/common-strings.service.d.ts +4 -4
  369. package/utils/loading/loading.d.ts +1 -1
  370. package/utils/popover/popover-close-button.d.ts +1 -1
  371. package/utils/popover/popover-content.d.ts +6 -6
  372. package/utils/popover/popover-open-close-button.d.ts +1 -1
  373. package/utils/popover/providers/popover-events.service.d.ts +9 -15
  374. package/utils/popover/providers/popover-position.service.d.ts +3 -5
  375. package/utils/popover/providers/popover-toggle.service.d.ts +5 -9
  376. package/wizard/heading-level.d.ts +1 -0
  377. package/wizard/index.d.ts +2 -1
  378. package/wizard/providers/button-hub.service.d.ts +5 -5
  379. package/wizard/providers/header-actions.service.d.ts +1 -1
  380. package/wizard/providers/page-collection.service.d.ts +21 -21
  381. package/wizard/providers/wizard-navigation.service.d.ts +90 -90
  382. package/wizard/wizard-button.d.ts +1 -1
  383. package/wizard/wizard-header-action.d.ts +1 -1
  384. package/wizard/wizard-page-title.d.ts +3 -1
  385. package/wizard/wizard-page.d.ts +164 -194
  386. package/wizard/wizard-stepnav-item.d.ts +1 -1
  387. package/wizard/wizard-title.d.ts +7 -0
  388. package/wizard/wizard.d.ts +69 -61
  389. package/wizard/wizard.module.d.ts +2 -2
  390. package/esm2020/wizard/wizard-custom-tags.mjs +0 -18
  391. package/wizard/wizard-custom-tags.d.ts +0 -5
@@ -14,19 +14,14 @@ export class ClrKeyFocus {
14
14
  this.elementRef = elementRef;
15
15
  this.direction = ClrFocusDirection.VERTICAL;
16
16
  this.focusOnLoad = false;
17
+ this.subscriptions = [];
17
18
  this.focusChange = new EventEmitter();
18
19
  this._current = 0;
19
- this.subscriptions = [];
20
- }
21
- set focusableItems(elements) {
22
- // We accept a list of focusable elements (HTMLElements or existing Directives) or auto query for clrKeyFocusItem
23
- // We accept a list reference in the cases where we cannot use ContentChildren to query
24
- // ContentChildren can be unavailable if content is projected outside the scope of the component (see tabs).
25
- if (Array.isArray(elements) && elements.length) {
26
- this._focusableItems = elements;
27
- this.initializeFocus();
28
- }
29
20
  }
21
+ /**
22
+ * Here we use `any` cause any other type require reworking all methods below and a lot of more ifs.
23
+ * this method will only work with array with FocusableItems anyway so any other value will be ignored.
24
+ */
30
25
  get focusableItems() {
31
26
  if (this._focusableItems) {
32
27
  return this._focusableItems;
@@ -36,6 +31,15 @@ export class ClrKeyFocus {
36
31
  }
37
32
  return [];
38
33
  }
34
+ set focusableItems(elements) {
35
+ // We accept a list of focusable elements (HTMLElements or existing Directives) or auto query for clrKeyFocusItem
36
+ // We accept a list reference in the cases where we cannot use ContentChildren to query
37
+ // ContentChildren can be unavailable if content is projected outside the scope of the component (see tabs).
38
+ if (Array.isArray(elements) && elements.length) {
39
+ this._focusableItems = elements;
40
+ this.initializeFocus();
41
+ }
42
+ }
39
43
  get nativeElement() {
40
44
  return this.elementRef.nativeElement;
41
45
  }
@@ -53,16 +57,6 @@ export class ClrKeyFocus {
53
57
  get currentItemElement() {
54
58
  return this.currentItem.nativeElement ? this.currentItem.nativeElement : this.currentItem;
55
59
  }
56
- focusCurrent() {
57
- this.currentItem.focus();
58
- this.focusChange.next(this._current);
59
- }
60
- moveTo(position) {
61
- if (this.positionInRange(position)) {
62
- this.current = position;
63
- this.focusCurrent();
64
- }
65
- }
66
60
  ngAfterContentInit() {
67
61
  this.subscriptions.push(this.listenForItemUpdates());
68
62
  this.initializeFocus();
@@ -98,12 +92,14 @@ export class ClrKeyFocus {
98
92
  this.moveTo(position);
99
93
  }
100
94
  }
101
- getItemPosition(item) {
102
- if (this._focusableItems) {
103
- return this.focusableItems.indexOf(item);
104
- }
105
- else {
106
- return this.focusableItems.map(_item => _item.nativeElement).indexOf(item);
95
+ focusCurrent() {
96
+ this.currentItem.focus();
97
+ this.focusChange.next(this._current);
98
+ }
99
+ moveTo(position) {
100
+ if (this.positionInRange(position)) {
101
+ this.current = position;
102
+ this.focusCurrent();
107
103
  }
108
104
  }
109
105
  positionInRange(position) {
@@ -129,11 +125,6 @@ export class ClrKeyFocus {
129
125
  }
130
126
  }
131
127
  }
132
- listenForItemUpdates() {
133
- return this.clrKeyFocusItems.changes.subscribe(() => {
134
- this.initializeFocus();
135
- });
136
- }
137
128
  nextKeyPressed(event) {
138
129
  const key = normalizeKey(event.key);
139
130
  switch (this.direction) {
@@ -160,6 +151,19 @@ export class ClrKeyFocus {
160
151
  return false;
161
152
  }
162
153
  }
154
+ getItemPosition(item) {
155
+ if (this._focusableItems) {
156
+ return this.focusableItems.indexOf(item);
157
+ }
158
+ else {
159
+ return this.focusableItems.map(_item => _item.nativeElement).indexOf(item);
160
+ }
161
+ }
162
+ listenForItemUpdates() {
163
+ return this.clrKeyFocusItems.changes.subscribe(() => {
164
+ this.initializeFocus();
165
+ });
166
+ }
163
167
  }
164
168
  ClrKeyFocus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrKeyFocus, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
165
169
  ClrKeyFocus.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrKeyFocus, selector: "[clrKeyFocus]", inputs: { direction: ["clrDirection", "direction"], focusOnLoad: ["clrFocusOnLoad", "focusOnLoad"], focusableItems: ["clrKeyFocus", "focusableItems"] }, outputs: { focusChange: "clrFocusChange" }, host: { listeners: { "keydown": "handleKeyboardEvent($event)", "click": "setClickedItemCurrent($event)" } }, queries: [{ propertyName: "clrKeyFocusItems", predicate: ClrKeyFocusItem, descendants: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
@@ -175,12 +179,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
175
179
  }], focusOnLoad: [{
176
180
  type: Input,
177
181
  args: ['clrFocusOnLoad']
178
- }], focusChange: [{
179
- type: Output,
180
- args: ['clrFocusChange']
181
182
  }], clrKeyFocusItems: [{
182
183
  type: ContentChildren,
183
184
  args: [ClrKeyFocusItem, { descendants: true }]
185
+ }], focusChange: [{
186
+ type: Output,
187
+ args: ['clrFocusChange']
184
188
  }], focusableItems: [{
185
189
  type: Input,
186
190
  args: ['clrKeyFocus']
@@ -191,4 +195,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
191
195
  type: HostListener,
192
196
  args: ['click', ['$event']]
193
197
  }] } });
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWZvY3VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdXRpbHMvZm9jdXMva2V5LWZvY3VzL2tleS1mb2N1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUNMLFNBQVMsRUFDVCxlQUFlLEVBRWYsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7QUFNN0QsTUFBTSxPQUFPLFdBQVc7SUFDdEIsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNuQixjQUFTLEdBQStCLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztRQUNqRSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNYLGdCQUFXLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFnQ3pGLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFnQ1gsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO0lBbkVBLENBQUM7SUFROUMsSUFLSSxjQUFjLENBQUMsUUFBb0M7UUFDckQsaUhBQWlIO1FBQ2pILHVGQUF1RjtRQUN2Riw0R0FBNEc7UUFDNUcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDOUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxRQUFnQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFDRCxJQUFJLGNBQWM7UUFDaEIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztTQUM3QjthQUFNLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ2hDLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3hDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUN2QyxDQUFDO0lBSUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxLQUFhO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxXQUEyQixDQUFDO0lBQzdHLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFnQjtRQUNyQixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUM7WUFDeEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQztJQUlELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUdELG1CQUFtQixDQUFDLEtBQW9CO1FBQ3RDLCtEQUErRDtRQUMvRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQzVDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLE1BQXFCLENBQUMsQ0FBQztZQUNuRSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDO2FBQ3pCO1NBQ0Y7UUFFRCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLDBCQUEwQixFQUFFLEVBQUU7WUFDbkUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQy9CO2FBQU0sSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxFQUFFO1lBQ3pFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMvQjthQUFNLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDaEI7YUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzdDO1FBRUQscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUdELHFCQUFxQixDQUFDLEtBQVU7UUFDOUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFcEQsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFTyxlQUFlLENBQUMsSUFBaUI7UUFDdkMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDMUM7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzVFO0lBQ0gsQ0FBQztJQUVTLGVBQWUsQ0FBQyxRQUFnQjtRQUN4QyxPQUFPLFFBQVEsSUFBSSxDQUFDLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQ2hFLENBQUM7SUFFUywwQkFBMEI7UUFDbEMsT0FBTyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVTLHlCQUF5QjtRQUNqQyxPQUFPLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQ3hELENBQUM7SUFFUyxlQUFlO1FBQ3ZCLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRTtZQUNyRCx1RkFBdUY7WUFDdkYseUVBQXlFO1lBQ3pFLDZFQUE2RTtZQUM3RSxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUU7Z0JBQy9DLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2FBQ2hEO1lBRUQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ3pCO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2xELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxjQUFjLENBQUMsS0FBb0I7UUFDM0MsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVwQyxRQUFRLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDdEIsS0FBSyxpQkFBaUIsQ0FBQyxRQUFRO2dCQUM3QixPQUFPLEdBQUcsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2hDLEtBQUssaUJBQWlCLENBQUMsVUFBVTtnQkFDL0IsT0FBTyxHQUFHLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNqQyxLQUFLLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3pCLE9BQU8sR0FBRyxLQUFLLElBQUksQ0FBQyxTQUFTLElBQUksR0FBRyxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDM0Q7Z0JBQ0UsT0FBTyxLQUFLLENBQUM7U0FDaEI7SUFDSCxDQUFDO0lBRVMsY0FBYyxDQUFDLEtBQW9CO1FBQzNDLE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFcEMsUUFBUSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3RCLEtBQUssaUJBQWlCLENBQUMsUUFBUTtnQkFDN0IsT0FBTyxHQUFHLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUM5QixLQUFLLGlCQUFpQixDQUFDLFVBQVU7Z0JBQy9CLE9BQU8sR0FBRyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDaEMsS0FBSyxpQkFBaUIsQ0FBQyxJQUFJO2dCQUN6QixPQUFPLEdBQUcsS0FBSyxJQUFJLENBQUMsT0FBTyxJQUFJLEdBQUcsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3hEO2dCQUNFLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO0lBQ0gsQ0FBQzs7eUdBckxVLFdBQVc7NkZBQVgsV0FBVyx3WUFLTCxlQUFlLGdEQVB0QiwyQkFBMkI7NEZBRTFCLFdBQVc7a0JBSnZCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3RDO2lHQUd3QixTQUFTO3NCQUEvQixLQUFLO3VCQUFDLGNBQWM7Z0JBQ0ksV0FBVztzQkFBbkMsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBQ1csV0FBVztzQkFBNUMsTUFBTTt1QkFBQyxnQkFBZ0I7Z0JBRWQsZ0JBQWdCO3NCQUR6QixlQUFlO3VCQUFDLGVBQWUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBU25ELGNBQWM7c0JBTGpCLEtBQUs7dUJBQUMsYUFBYTtnQkF1RXBCLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBd0JuQyxxQkFBcUI7c0JBRHBCLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDIzIFZNd2FyZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgS2V5cyB9IGZyb20gJy4uLy4uL2VudW1zL2tleXMuZW51bSc7XG5pbXBvcnQgeyBDbHJGb2N1c0RpcmVjdGlvbiB9IGZyb20gJy4vZW51bXMvZm9jdXMtZGlyZWN0aW9uLmVudW0nO1xuaW1wb3J0IHsgRm9jdXNhYmxlSXRlbSB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDbHJLZXlGb2N1c0l0ZW0gfSBmcm9tICcuL2tleS1mb2N1cy1pdGVtJztcbmltcG9ydCB7IG5vcm1hbGl6ZUtleSwgcHJldmVudEFycm93S2V5U2Nyb2xsIH0gZnJvbSAnLi91dGlsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW2NscktleUZvY3VzXScsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG59KVxuZXhwb3J0IGNsYXNzIENscktleUZvY3VzIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuICBASW5wdXQoJ2NsckRpcmVjdGlvbicpIGRpcmVjdGlvbjogQ2xyRm9jdXNEaXJlY3Rpb24gfCBzdHJpbmcgPSBDbHJGb2N1c0RpcmVjdGlvbi5WRVJUSUNBTDtcbiAgQElucHV0KCdjbHJGb2N1c09uTG9hZCcpIGZvY3VzT25Mb2FkID0gZmFsc2U7XG4gIEBPdXRwdXQoJ2NsckZvY3VzQ2hhbmdlJykgcHJpdmF0ZSBmb2N1c0NoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQENvbnRlbnRDaGlsZHJlbihDbHJLZXlGb2N1c0l0ZW0sIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJvdGVjdGVkIGNscktleUZvY3VzSXRlbXM6IFF1ZXJ5TGlzdDxDbHJLZXlGb2N1c0l0ZW0+O1xuXG4gIHByaXZhdGUgX2ZvY3VzYWJsZUl0ZW1zOiBBcnJheTxGb2N1c2FibGVJdGVtPjtcbiAgQElucHV0KCdjbHJLZXlGb2N1cycpXG4gIC8qKlxuICAgKiBIZXJlIHdlIHVzZSBgYW55YCBjYXVzZSBhbnkgb3RoZXIgdHlwZSByZXF1aXJlIHJld29ya2luZyBhbGwgbWV0aG9kcyBiZWxvdyBhbmQgYSBsb3Qgb2YgbW9yZSBpZnMuXG4gICAqIHRoaXMgbWV0aG9kIHdpbGwgb25seSB3b3JrIHdpdGggYXJyYXkgd2l0aCBGb2N1c2FibGVJdGVtcyBhbnl3YXkgc28gYW55IG90aGVyIHZhbHVlIHdpbGwgYmUgaWdub3JlZC5cbiAgICovXG4gIHNldCBmb2N1c2FibGVJdGVtcyhlbGVtZW50czogQXJyYXk8Rm9jdXNhYmxlSXRlbT4gfCBhbnkpIHtcbiAgICAvLyBXZSBhY2NlcHQgYSBsaXN0IG9mIGZvY3VzYWJsZSBlbGVtZW50cyAoSFRNTEVsZW1lbnRzIG9yIGV4aXN0aW5nIERpcmVjdGl2ZXMpIG9yIGF1dG8gcXVlcnkgZm9yIGNscktleUZvY3VzSXRlbVxuICAgIC8vIFdlIGFjY2VwdCBhIGxpc3QgcmVmZXJlbmNlIGluIHRoZSBjYXNlcyB3aGVyZSB3ZSBjYW5ub3QgdXNlIENvbnRlbnRDaGlsZHJlbiB0byBxdWVyeVxuICAgIC8vIENvbnRlbnRDaGlsZHJlbiBjYW4gYmUgdW5hdmFpbGFibGUgaWYgY29udGVudCBpcyBwcm9qZWN0ZWQgb3V0c2lkZSB0aGUgc2NvcGUgb2YgdGhlIGNvbXBvbmVudCAoc2VlIHRhYnMpLlxuICAgIGlmIChBcnJheS5pc0FycmF5KGVsZW1lbnRzKSAmJiBlbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuX2ZvY3VzYWJsZUl0ZW1zID0gZWxlbWVudHMgYXMgQXJyYXk8Rm9jdXNhYmxlSXRlbT47XG4gICAgICB0aGlzLmluaXRpYWxpemVGb2N1cygpO1xuICAgIH1cbiAgfVxuICBnZXQgZm9jdXNhYmxlSXRlbXMoKSB7XG4gICAgaWYgKHRoaXMuX2ZvY3VzYWJsZUl0ZW1zKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZm9jdXNhYmxlSXRlbXM7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNscktleUZvY3VzSXRlbXMpIHtcbiAgICAgIHJldHVybiB0aGlzLmNscktleUZvY3VzSXRlbXMudG9BcnJheSgpO1xuICAgIH1cbiAgICByZXR1cm4gW107XG4gIH1cblxuICBnZXQgbmF0aXZlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBfY3VycmVudCA9IDA7XG5cbiAgZ2V0IGN1cnJlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnQ7XG4gIH1cblxuICBzZXQgY3VycmVudCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuX2N1cnJlbnQgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLl9jdXJyZW50ID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGN1cnJlbnRJdGVtKCkge1xuICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZUl0ZW1zW3RoaXMuX2N1cnJlbnRdO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRJdGVtRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudEl0ZW0ubmF0aXZlRWxlbWVudCA/IHRoaXMuY3VycmVudEl0ZW0ubmF0aXZlRWxlbWVudCA6ICh0aGlzLmN1cnJlbnRJdGVtIGFzIEhUTUxFbGVtZW50KTtcbiAgfVxuXG4gIGZvY3VzQ3VycmVudCgpIHtcbiAgICB0aGlzLmN1cnJlbnRJdGVtLmZvY3VzKCk7XG4gICAgdGhpcy5mb2N1c0NoYW5nZS5uZXh0KHRoaXMuX2N1cnJlbnQpO1xuICB9XG5cbiAgbW92ZVRvKHBvc2l0aW9uOiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5wb3NpdGlvbkluUmFuZ2UocG9zaXRpb24pKSB7XG4gICAgICB0aGlzLmN1cnJlbnQgPSBwb3NpdGlvbjtcbiAgICAgIHRoaXMuZm9jdXNDdXJyZW50KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMubGlzdGVuRm9ySXRlbVVwZGF0ZXMoKSk7XG4gICAgdGhpcy5pbml0aWFsaXplRm9jdXMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgLy8gTWFrZSBzdXJlIGV2ZW50IHdhcyBvcmlnaW5hdGVkIG9uIHRoZSBjdXJyZW50IGl0ZW0ncyBlbGVtZW50XG4gICAgaWYgKHRoaXMuY3VycmVudEl0ZW1FbGVtZW50ICE9PSBldmVudC50YXJnZXQpIHtcbiAgICAgIGNvbnN0IHBvc2l0aW9uID0gdGhpcy5nZXRJdGVtUG9zaXRpb24oZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KTtcbiAgICAgIGlmICh0aGlzLnBvc2l0aW9uSW5SYW5nZShwb3NpdGlvbikpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50ID0gcG9zaXRpb247XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJldktleVByZXNzZWQoZXZlbnQpICYmIHRoaXMuY3VycmVudEZvY3VzSXNOb3RGaXJzdEl0ZW0oKSkge1xuICAgICAgdGhpcy5tb3ZlVG8odGhpcy5jdXJyZW50IC0gMSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm5leHRLZXlQcmVzc2VkKGV2ZW50KSAmJiB0aGlzLmN1cnJlbnRGb2N1c0lzTm90TGFzdEl0ZW0oKSkge1xuICAgICAgdGhpcy5tb3ZlVG8odGhpcy5jdXJyZW50ICsgMSk7XG4gICAgfSBlbHNlIGlmIChldmVudC5jb2RlID09PSBLZXlzLkhvbWUpIHtcbiAgICAgIHRoaXMubW92ZVRvKDApO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuY29kZSA9PT0gS2V5cy5FbmQpIHtcbiAgICAgIHRoaXMubW92ZVRvKHRoaXMuZm9jdXNhYmxlSXRlbXMubGVuZ3RoIC0gMSk7XG4gICAgfVxuXG4gICAgcHJldmVudEFycm93S2V5U2Nyb2xsKGV2ZW50KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgc2V0Q2xpY2tlZEl0ZW1DdXJyZW50KGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBwb3NpdGlvbiA9IHRoaXMuZ2V0SXRlbVBvc2l0aW9uKGV2ZW50LnRhcmdldCk7XG5cbiAgICBpZiAocG9zaXRpb24gPiAtMSkge1xuICAgICAgdGhpcy5tb3ZlVG8ocG9zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0SXRlbVBvc2l0aW9uKGl0ZW06IEhUTUxFbGVtZW50KSB7XG4gICAgaWYgKHRoaXMuX2ZvY3VzYWJsZUl0ZW1zKSB7XG4gICAgICByZXR1cm4gdGhpcy5mb2N1c2FibGVJdGVtcy5pbmRleE9mKGl0ZW0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5mb2N1c2FibGVJdGVtcy5tYXAoX2l0ZW0gPT4gX2l0ZW0ubmF0aXZlRWxlbWVudCkuaW5kZXhPZihpdGVtKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcG9zaXRpb25JblJhbmdlKHBvc2l0aW9uOiBudW1iZXIpIHtcbiAgICByZXR1cm4gcG9zaXRpb24gPj0gMCAmJiBwb3NpdGlvbiA8IHRoaXMuZm9jdXNhYmxlSXRlbXMubGVuZ3RoO1xuICB9XG5cbiAgcHJvdGVjdGVkIGN1cnJlbnRGb2N1c0lzTm90Rmlyc3RJdGVtKCkge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50IC0gMSA+PSAwO1xuICB9XG5cbiAgcHJvdGVjdGVkIGN1cnJlbnRGb2N1c0lzTm90TGFzdEl0ZW0oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnQgKyAxIDwgdGhpcy5mb2N1c2FibGVJdGVtcy5sZW5ndGg7XG4gIH1cblxuICBwcm90ZWN0ZWQgaW5pdGlhbGl6ZUZvY3VzKCkge1xuICAgIGlmICh0aGlzLmZvY3VzYWJsZUl0ZW1zICYmIHRoaXMuZm9jdXNhYmxlSXRlbXMubGVuZ3RoKSB7XG4gICAgICAvLyBJdCBpcyBwb3NzaWJsZSB0aGF0IHRoZSBmb2N1cyB3YXMgb24gYW4gZWxlbWVudCwgd2hvc2UgaW5kZXggaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZS5cbiAgICAgIC8vIFRoaXMgY2FuIGhhcHBlbiB3aGVuIHNvbWUgb2YgdGhlIGZvY3VzYWJsZSBlbGVtZW50cyBhcmUgYmVpbmcgcmVtb3ZlZC5cbiAgICAgIC8vIEluIHN1Y2ggY2FzZXMsIHRoZSBuZXcgZm9jdXMgaXMgaW5pdGlhbGl6ZWQgb24gdGhlIGxhc3QgZm9jdXNhYmxlIGVsZW1lbnQuXG4gICAgICBpZiAodGhpcy5fY3VycmVudCA+PSB0aGlzLmZvY3VzYWJsZUl0ZW1zLmxlbmd0aCkge1xuICAgICAgICB0aGlzLl9jdXJyZW50ID0gdGhpcy5mb2N1c2FibGVJdGVtcy5sZW5ndGggLSAxO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5mb2N1c09uTG9hZCkge1xuICAgICAgICB0aGlzLmN1cnJlbnRJdGVtLmZvY3VzKCk7XG4gICAgICAgIHRoaXMuZm9jdXNDaGFuZ2UubmV4dCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuRm9ySXRlbVVwZGF0ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2xyS2V5Rm9jdXNJdGVtcy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmluaXRpYWxpemVGb2N1cygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5leHRLZXlQcmVzc2VkKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3Qga2V5ID0gbm9ybWFsaXplS2V5KGV2ZW50LmtleSk7XG5cbiAgICBzd2l0Y2ggKHRoaXMuZGlyZWN0aW9uKSB7XG4gICAgICBjYXNlIENsckZvY3VzRGlyZWN0aW9uLlZFUlRJQ0FMOlxuICAgICAgICByZXR1cm4ga2V5ID09PSBLZXlzLkFycm93RG93bjtcbiAgICAgIGNhc2UgQ2xyRm9jdXNEaXJlY3Rpb24uSE9SSVpPTlRBTDpcbiAgICAgICAgcmV0dXJuIGtleSA9PT0gS2V5cy5BcnJvd1JpZ2h0O1xuICAgICAgY2FzZSBDbHJGb2N1c0RpcmVjdGlvbi5CT1RIOlxuICAgICAgICByZXR1cm4ga2V5ID09PSBLZXlzLkFycm93RG93biB8fCBrZXkgPT09IEtleXMuQXJyb3dSaWdodDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJldktleVByZXNzZWQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBjb25zdCBrZXkgPSBub3JtYWxpemVLZXkoZXZlbnQua2V5KTtcblxuICAgIHN3aXRjaCAodGhpcy5kaXJlY3Rpb24pIHtcbiAgICAgIGNhc2UgQ2xyRm9jdXNEaXJlY3Rpb24uVkVSVElDQUw6XG4gICAgICAgIHJldHVybiBrZXkgPT09IEtleXMuQXJyb3dVcDtcbiAgICAgIGNhc2UgQ2xyRm9jdXNEaXJlY3Rpb24uSE9SSVpPTlRBTDpcbiAgICAgICAgcmV0dXJuIGtleSA9PT0gS2V5cy5BcnJvd0xlZnQ7XG4gICAgICBjYXNlIENsckZvY3VzRGlyZWN0aW9uLkJPVEg6XG4gICAgICAgIHJldHVybiBrZXkgPT09IEtleXMuQXJyb3dVcCB8fCBrZXkgPT09IEtleXMuQXJyb3dMZWZ0O1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxufVxuIl19
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWZvY3VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdXRpbHMvZm9jdXMva2V5LWZvY3VzL2tleS1mb2N1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUNMLFNBQVMsRUFDVCxlQUFlLEVBRWYsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7QUFNN0QsTUFBTSxPQUFPLFdBQVc7SUFhdEIsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVpuQixjQUFTLEdBQStCLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztRQUNqRSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUluQyxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFFWCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFbkUsYUFBUSxHQUFHLENBQUMsQ0FBQztJQUd3QixDQUFDO0lBRTlDOzs7T0FHRztJQUNILElBQ0ksY0FBYztRQUNoQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO1NBQzdCO2FBQU0sSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDaEMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDeEM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxJ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QUN2QyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMxQzthQUFNO1lBQ0wsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDNUU7SUFDSCxDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2xELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3lHQXRMVSxXQUFXOzZGQUFYLFdBQVcsd1lBSUwsZUFBZSxnREFOdEIsMkJBQTJCOzRGQUUxQixXQUFXO2tCQUp2QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUUsMkJBQTJCO2lCQUN0QztpR0FFd0IsU0FBUztzQkFBL0IsS0FBSzt1QkFBQyxjQUFjO2dCQUNJLFdBQVc7c0JBQW5DLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUU0QyxnQkFBZ0I7c0JBQWxGLGVBQWU7dUJBQUMsZUFBZSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFJckIsV0FBVztzQkFBNUMsTUFBTTt1QkFBQyxnQkFBZ0I7Z0JBWXBCLGNBQWM7c0JBRGpCLEtBQUs7dUJBQUMsYUFBYTtnQkFrRHBCLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBd0JuQyxxQkFBcUI7c0JBRHBCLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDIzIFZNd2FyZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgS2V5cyB9IGZyb20gJy4uLy4uL2VudW1zL2tleXMuZW51bSc7XG5pbXBvcnQgeyBDbHJGb2N1c0RpcmVjdGlvbiB9IGZyb20gJy4vZW51bXMvZm9jdXMtZGlyZWN0aW9uLmVudW0nO1xuaW1wb3J0IHsgRm9jdXNhYmxlSXRlbSB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDbHJLZXlGb2N1c0l0ZW0gfSBmcm9tICcuL2tleS1mb2N1cy1pdGVtJztcbmltcG9ydCB7IG5vcm1hbGl6ZUtleSwgcHJldmVudEFycm93S2V5U2Nyb2xsIH0gZnJvbSAnLi91dGlsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW2NscktleUZvY3VzXScsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG59KVxuZXhwb3J0IGNsYXNzIENscktleUZvY3VzIHtcbiAgQElucHV0KCdjbHJEaXJlY3Rpb24nKSBkaXJlY3Rpb246IENsckZvY3VzRGlyZWN0aW9uIHwgc3RyaW5nID0gQ2xyRm9jdXNEaXJlY3Rpb24uVkVSVElDQUw7XG4gIEBJbnB1dCgnY2xyRm9jdXNPbkxvYWQnKSBmb2N1c09uTG9hZCA9IGZhbHNlO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oQ2xyS2V5Rm9jdXNJdGVtLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIHByb3RlY3RlZCBjbHJLZXlGb2N1c0l0ZW1zOiBRdWVyeUxpc3Q8Q2xyS2V5Rm9jdXNJdGVtPjtcblxuICBwcm90ZWN0ZWQgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICBAT3V0cHV0KCdjbHJGb2N1c0NoYW5nZScpIHByaXZhdGUgZm9jdXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBwcml2YXRlIF9jdXJyZW50ID0gMDtcbiAgcHJpdmF0ZSBfZm9jdXNhYmxlSXRlbXM6IEFycmF5PEZvY3VzYWJsZUl0ZW0+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cblxuICAvKipcbiAgICogSGVyZSB3ZSB1c2UgYGFueWAgY2F1c2UgYW55IG90aGVyIHR5cGUgcmVxdWlyZSByZXdvcmtpbmcgYWxsIG1ldGhvZHMgYmVsb3cgYW5kIGEgbG90IG9mIG1vcmUgaWZzLlxuICAgKiB0aGlzIG1ldGhvZCB3aWxsIG9ubHkgd29yayB3aXRoIGFycmF5IHdpdGggRm9jdXNhYmxlSXRlbXMgYW55d2F5IHNvIGFueSBvdGhlciB2YWx1ZSB3aWxsIGJlIGlnbm9yZWQuXG4gICAqL1xuICBASW5wdXQoJ2NscktleUZvY3VzJylcbiAgZ2V0IGZvY3VzYWJsZUl0ZW1zKCkge1xuICAgIGlmICh0aGlzLl9mb2N1c2FibGVJdGVtcykge1xuICAgICAgcmV0dXJuIHRoaXMuX2ZvY3VzYWJsZUl0ZW1zO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jbHJLZXlGb2N1c0l0ZW1zKSB7XG4gICAgICByZXR1cm4gdGhpcy5jbHJLZXlGb2N1c0l0ZW1zLnRvQXJyYXkoKTtcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIHNldCBmb2N1c2FibGVJdGVtcyhlbGVtZW50czogQXJyYXk8Rm9jdXNhYmxlSXRlbT4gfCBhbnkpIHtcbiAgICAvLyBXZSBhY2NlcHQgYSBsaXN0IG9mIGZvY3VzYWJsZSBlbGVtZW50cyAoSFRNTEVsZW1lbnRzIG9yIGV4aXN0aW5nIERpcmVjdGl2ZXMpIG9yIGF1dG8gcXVlcnkgZm9yIGNscktleUZvY3VzSXRlbVxuICAgIC8vIFdlIGFjY2VwdCBhIGxpc3QgcmVmZXJlbmNlIGluIHRoZSBjYXNlcyB3aGVyZSB3ZSBjYW5ub3QgdXNlIENvbnRlbnRDaGlsZHJlbiB0byBxdWVyeVxuICAgIC8vIENvbnRlbnRDaGlsZHJlbiBjYW4gYmUgdW5hdmFpbGFibGUgaWYgY29udGVudCBpcyBwcm9qZWN0ZWQgb3V0c2lkZSB0aGUgc2NvcGUgb2YgdGhlIGNvbXBvbmVudCAoc2VlIHRhYnMpLlxuICAgIGlmIChBcnJheS5pc0FycmF5KGVsZW1lbnRzKSAmJiBlbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuX2ZvY3VzYWJsZUl0ZW1zID0gZWxlbWVudHMgYXMgQXJyYXk8Rm9jdXNhYmxlSXRlbT47XG4gICAgICB0aGlzLmluaXRpYWxpemVGb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBuYXRpdmVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBnZXQgY3VycmVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudDtcbiAgfVxuICBzZXQgY3VycmVudCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuX2N1cnJlbnQgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLl9jdXJyZW50ID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGN1cnJlbnRJdGVtKCkge1xuICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZUl0ZW1zW3RoaXMuX2N1cnJlbnRdO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRJdGVtRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudEl0ZW0ubmF0aXZlRWxlbWVudCA/IHRoaXMuY3VycmVudEl0ZW0ubmF0aXZlRWxlbWVudCA6ICh0aGlzLmN1cnJlbnRJdGVtIGFzIEhUTUxFbGVtZW50KTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLmxpc3RlbkZvckl0ZW1VcGRhdGVzKCkpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZUZvY3VzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIC8vIE1ha2Ugc3VyZSBldmVudCB3YXMgb3JpZ2luYXRlZCBvbiB0aGUgY3VycmVudCBpdGVtJ3MgZWxlbWVudFxuICAgIGlmICh0aGlzLmN1cnJlbnRJdGVtRWxlbWVudCAhPT0gZXZlbnQudGFyZ2V0KSB7XG4gICAgICBjb25zdCBwb3NpdGlvbiA9IHRoaXMuZ2V0SXRlbVBvc2l0aW9uKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCk7XG4gICAgICBpZiAodGhpcy5wb3NpdGlvbkluUmFuZ2UocG9zaXRpb24pKSB7XG4gICAgICAgIHRoaXMuY3VycmVudCA9IHBvc2l0aW9uO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLnByZXZLZXlQcmVzc2VkKGV2ZW50KSAmJiB0aGlzLmN1cnJlbnRGb2N1c0lzTm90Rmlyc3RJdGVtKCkpIHtcbiAgICAgIHRoaXMubW92ZVRvKHRoaXMuY3VycmVudCAtIDEpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5uZXh0S2V5UHJlc3NlZChldmVudCkgJiYgdGhpcy5jdXJyZW50Rm9jdXNJc05vdExhc3RJdGVtKCkpIHtcbiAgICAgIHRoaXMubW92ZVRvKHRoaXMuY3VycmVudCArIDEpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuY29kZSA9PT0gS2V5cy5Ib21lKSB7XG4gICAgICB0aGlzLm1vdmVUbygwKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmNvZGUgPT09IEtleXMuRW5kKSB7XG4gICAgICB0aGlzLm1vdmVUbyh0aGlzLmZvY3VzYWJsZUl0ZW1zLmxlbmd0aCAtIDEpO1xuICAgIH1cblxuICAgIHByZXZlbnRBcnJvd0tleVNjcm9sbChldmVudCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHNldENsaWNrZWRJdGVtQ3VycmVudChldmVudDogYW55KSB7XG4gICAgY29uc3QgcG9zaXRpb24gPSB0aGlzLmdldEl0ZW1Qb3NpdGlvbihldmVudC50YXJnZXQpO1xuXG4gICAgaWYgKHBvc2l0aW9uID4gLTEpIHtcbiAgICAgIHRoaXMubW92ZVRvKHBvc2l0aW9uKTtcbiAgICB9XG4gIH1cblxuICBmb2N1c0N1cnJlbnQoKSB7XG4gICAgdGhpcy5jdXJyZW50SXRlbS5mb2N1cygpO1xuICAgIHRoaXMuZm9jdXNDaGFuZ2UubmV4dCh0aGlzLl9jdXJyZW50KTtcbiAgfVxuXG4gIG1vdmVUbyhwb3NpdGlvbjogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMucG9zaXRpb25JblJhbmdlKHBvc2l0aW9uKSkge1xuICAgICAgdGhpcy5jdXJyZW50ID0gcG9zaXRpb247XG4gICAgICB0aGlzLmZvY3VzQ3VycmVudCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBwb3NpdGlvbkluUmFuZ2UocG9zaXRpb246IG51bWJlcikge1xuICAgIHJldHVybiBwb3NpdGlvbiA+PSAwICYmIHBvc2l0aW9uIDwgdGhpcy5mb2N1c2FibGVJdGVtcy5sZW5ndGg7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3VycmVudEZvY3VzSXNOb3RGaXJzdEl0ZW0oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnQgLSAxID49IDA7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3VycmVudEZvY3VzSXNOb3RMYXN0SXRlbSgpIHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudCArIDEgPCB0aGlzLmZvY3VzYWJsZUl0ZW1zLmxlbmd0aDtcbiAgfVxuXG4gIHByb3RlY3RlZCBpbml0aWFsaXplRm9jdXMoKSB7XG4gICAgaWYgKHRoaXMuZm9jdXNhYmxlSXRlbXMgJiYgdGhpcy5mb2N1c2FibGVJdGVtcy5sZW5ndGgpIHtcbiAgICAgIC8vIEl0IGlzIHBvc3NpYmxlIHRoYXQgdGhlIGZvY3VzIHdhcyBvbiBhbiBlbGVtZW50LCB3aG9zZSBpbmRleCBpcyBubyBsb25nZXIgYXZhaWxhYmxlLlxuICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIHdoZW4gc29tZSBvZiB0aGUgZm9jdXNhYmxlIGVsZW1lbnRzIGFyZSBiZWluZyByZW1vdmVkLlxuICAgICAgLy8gSW4gc3VjaCBjYXNlcywgdGhlIG5ldyBmb2N1cyBpcyBpbml0aWFsaXplZCBvbiB0aGUgbGFzdCBmb2N1c2FibGUgZWxlbWVudC5cbiAgICAgIGlmICh0aGlzLl9jdXJyZW50ID49IHRoaXMuZm9jdXNhYmxlSXRlbXMubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuX2N1cnJlbnQgPSB0aGlzLmZvY3VzYWJsZUl0ZW1zLmxlbmd0aCAtIDE7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmZvY3VzT25Mb2FkKSB7XG4gICAgICAgIHRoaXMuY3VycmVudEl0ZW0uZm9jdXMoKTtcbiAgICAgICAgdGhpcy5mb2N1c0NoYW5nZS5uZXh0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG5leHRLZXlQcmVzc2VkKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3Qga2V5ID0gbm9ybWFsaXplS2V5KGV2ZW50LmtleSk7XG5cbiAgICBzd2l0Y2ggKHRoaXMuZGlyZWN0aW9uKSB7XG4gICAgICBjYXNlIENsckZvY3VzRGlyZWN0aW9uLlZFUlRJQ0FMOlxuICAgICAgICByZXR1cm4ga2V5ID09PSBLZXlzLkFycm93RG93bjtcbiAgICAgIGNhc2UgQ2xyRm9jdXNEaXJlY3Rpb24uSE9SSVpPTlRBTDpcbiAgICAgICAgcmV0dXJuIGtleSA9PT0gS2V5cy5BcnJvd1JpZ2h0O1xuICAgICAgY2FzZSBDbHJGb2N1c0RpcmVjdGlvbi5CT1RIOlxuICAgICAgICByZXR1cm4ga2V5ID09PSBLZXlzLkFycm93RG93biB8fCBrZXkgPT09IEtleXMuQXJyb3dSaWdodDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJldktleVByZXNzZWQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBjb25zdCBrZXkgPSBub3JtYWxpemVLZXkoZXZlbnQua2V5KTtcblxuICAgIHN3aXRjaCAodGhpcy5kaXJlY3Rpb24pIHtcbiAgICAgIGNhc2UgQ2xyRm9jdXNEaXJlY3Rpb24uVkVSVElDQUw6XG4gICAgICAgIHJldHVybiBrZXkgPT09IEtleXMuQXJyb3dVcDtcbiAgICAgIGNhc2UgQ2xyRm9jdXNEaXJlY3Rpb24uSE9SSVpPTlRBTDpcbiAgICAgICAgcmV0dXJuIGtleSA9PT0gS2V5cy5BcnJvd0xlZnQ7XG4gICAgICBjYXNlIENsckZvY3VzRGlyZWN0aW9uLkJPVEg6XG4gICAgICAgIHJldHVybiBrZXkgPT09IEtleXMuQXJyb3dVcCB8fCBrZXkgPT09IEtleXMuQXJyb3dMZWZ0O1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0SXRlbVBvc2l0aW9uKGl0ZW06IEhUTUxFbGVtZW50KSB7XG4gICAgaWYgKHRoaXMuX2ZvY3VzYWJsZUl0ZW1zKSB7XG4gICAgICByZXR1cm4gdGhpcy5mb2N1c2FibGVJdGVtcy5pbmRleE9mKGl0ZW0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5mb2N1c2FibGVJdGVtcy5tYXAoX2l0ZW0gPT4gX2l0ZW0ubmF0aXZlRWxlbWVudCkuaW5kZXhPZihpdGVtKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxpc3RlbkZvckl0ZW1VcGRhdGVzKCkge1xuICAgIHJldHVybiB0aGlzLmNscktleUZvY3VzSXRlbXMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5pbml0aWFsaXplRm9jdXMoKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -14,12 +14,12 @@ export class ClrRovingTabindex extends ClrKeyFocus {
14
14
  this.disabled = false;
15
15
  }
16
16
  // Proxy the input, as the selector name from parent class will still be "clrKeyFocus".
17
- set rovingIndexItems(elements) {
18
- this.focusableItems = elements;
19
- }
20
17
  get rovingIndexItems() {
21
18
  return this.focusableItems;
22
19
  }
20
+ set rovingIndexItems(elements) {
21
+ this.focusableItems = elements;
22
+ }
23
23
  set rovingTabindexDisabled(disabled) {
24
24
  this.disabled = disabled;
25
25
  if (this.currentItem) {
@@ -99,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
99
99
  type: Input,
100
100
  args: ['clrRovingTabindexDisabled']
101
101
  }] } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm92aW5nLXRhYmluZGV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdXRpbHMvZm9jdXMva2V5LWZvY3VzL3JvdmluZy10YWJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFeEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXRELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBTTFDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxXQUFXO0lBQ2hELFlBQVksVUFBc0IsRUFBVSxRQUFtQjtRQUM3RCxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFEd0IsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQWN2RCxhQUFRLEdBQUcsS0FBSyxDQUFDO0lBWnpCLENBQUM7SUFFRCx1RkFBdUY7SUFDdkYsSUFDSSxnQkFBZ0IsQ0FBQyxRQUF1QztRQUMxRCxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQWdDLENBQUM7SUFDekQsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBSUQsSUFDSSxzQkFBc0IsQ0FBQyxRQUFpQjtRQUMxQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQztJQUVRLG1CQUFtQixDQUFDLEtBQW9CO1FBQy9DLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFL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QUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDaEU7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQzlFO0lBQ0gsQ0FBQzs7K0dBbkZVLGlCQUFpQjttR0FBakIsaUJBQWlCLDRPQUZsQiwyQkFBMkI7NEZBRTFCLGlCQUFpQjtrQkFKN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsMkJBQTJCO2lCQUN0Qzt5SEFRSyxnQkFBZ0I7c0JBRG5CLEtBQUs7dUJBQUMsbUJBQW1CO2dCQVl0QixzQkFBc0I7c0JBRHpCLEtBQUs7dUJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDIzIFZNd2FyZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgS2V5cyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2VudW1zL2tleXMuZW51bSc7XG5pbXBvcnQgeyBGb2N1c2FibGVJdGVtIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IENscktleUZvY3VzIH0gZnJvbSAnLi9rZXktZm9jdXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdbY2xyUm92aW5nVGFiaW5kZXhdJyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyUm92aW5nVGFiaW5kZXggZXh0ZW5kcyBDbHJLZXlGb2N1cyB7XG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYpO1xuICB9XG5cbiAgLy8gUHJveHkgdGhlIGlucHV0LCBhcyB0aGUgc2VsZWN0b3IgbmFtZSBmcm9tIHBhcmVudCBjbGFzcyB3aWxsIHN0aWxsIGJlIFwiY2xyS2V5Rm9jdXNcIi5cbiAgQElucHV0KCdjbHJSb3ZpbmdUYWJpbmRleCcpXG4gIHNldCByb3ZpbmdJbmRleEl0ZW1zKGVsZW1lbnRzOiBBcnJheTxGb2N1c2FibGVJdGVtPiB8IHN0cmluZykge1xuICAgIHRoaXMuZm9jdXNhYmxlSXRlbXMgPSBlbGVtZW50cyBhcyBBcnJheTxGb2N1c2FibGVJdGVtPjtcbiAgfVxuXG4gIGdldCByb3ZpbmdJbmRleEl0ZW1zKCk6IEFycmF5PEZvY3VzYWJsZUl0ZW0+IHwgc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mb2N1c2FibGVJdGVtcztcbiAgfVxuXG4gIHByaXZhdGUgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBASW5wdXQoJ2NsclJvdmluZ1RhYmluZGV4RGlzYWJsZWQnKVxuICBzZXQgcm92aW5nVGFiaW5kZXhEaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICBpZiAodGhpcy5jdXJyZW50SXRlbSkge1xuICAgICAgdGhpcy5zZXRUYWJpbmRleCh0aGlzLmN1cnJlbnRJdGVtLCBkaXNhYmxlZCA/IC0xIDogMCk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLnByZXZLZXlQcmVzc2VkKGV2ZW50KSAmJiB0aGlzLmN1cnJlbnRGb2N1c0lzTm90Rmlyc3RJdGVtKCkpIHtcbiAgICAgIHRoaXMudXBkYXRlVGFiaW5kZXgodGhpcy5jdXJyZW50IC0gMSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm5leHRLZXlQcmVzc2VkKGV2ZW50KSAmJiB0aGlzLmN1cnJlbnRGb2N1c0lzTm90TGFzdEl0ZW0oKSkge1xuICAgICAgdGhpcy51cGRhdGVUYWJpbmRleCh0aGlzLmN1cnJlbnQgKyAxKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmNvZGUgPT09IEtleXMuSG9tZSkge1xuICAgICAgdGhpcy51cGRhdGVUYWJpbmRleCgwKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmNvZGUgPT09IEtleXMuRW5kKSB7XG4gICAgICB0aGlzLnVwZGF0ZVRhYmluZGV4KHRoaXMuZm9jdXNhYmxlSXRlbXMubGVuZ3RoIC0gMSk7XG4gICAgfVxuICAgIHN1cGVyLmhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQpO1xuICB9XG5cbiAgb3ZlcnJpZGUgc2V0Q2xpY2tlZEl0ZW1DdXJyZW50KGV2ZW50OiBhbnkpIHtcbiAgICBsZXQgcG9zaXRpb246IG51bWJlcjtcblxuICAgIGlmICh0aGlzLmZvY3VzYWJsZUl0ZW1zWzBdLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHBvc2l0aW9uID0gdGhpcy5mb2N1c2FibGVJdGVtcy5tYXAoaXRlbSA9PiBpdGVtLm5hdGl2ZUVsZW1lbnQpLmluZGV4T2YoZXZlbnQudGFyZ2V0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcG9zaXRpb24gPSB0aGlzLmZvY3VzYWJsZUl0ZW1zLmluZGV4T2YoZXZlbnQudGFyZ2V0KTtcbiAgICB9XG5cbiAgICBpZiAocG9zaXRpb24gPiAtMSkge1xuICAgICAgdGhpcy51cGRhdGVUYWJpbmRleChwb3NpdGlvbik7XG4gICAgfVxuICAgIHN1cGVyLnNldENsaWNrZWRJdGVtQ3VycmVudChldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaW5pdGlhbGl6ZUZvY3VzKCkge1xuICAgIGlmICh0aGlzLmZvY3VzYWJsZUl0ZW1zICYmIHRoaXMuZm9jdXNhYmxlSXRlbXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmZvY3VzYWJsZUl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgIHRoaXMuc2V0VGFiaW5kZXgoaXRlbSwgLTEpO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIEl0IGlzIHBvc3NpYmxlIHRoYXQgdGhlIGZvY3VzIHdhcyBvbiBhbiBlbGVtZW50LCB3aG9zZSBpbmRleCBpcyBubyBsb25nZXIgYXZhaWxhYmxlLlxuICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIHdoZW4gc29tZSBvZiB0aGUgZm9jdXNhYmxlIGVsZW1lbnRzIGFyZSBiZWluZyByZW1vdmVkLlxuICAgICAgLy8gSW4gc3VjaCBjYXNlcywgdGhlIG5ldyBmb2N1cyBpcyBpbml0aWFsaXplZCBvbiB0aGUgbGFzdCBmb2N1c2FibGUgZWxlbWVudC5cbiAgICAgIGlmICh0aGlzLmN1cnJlbnQgPj0gdGhpcy5mb2N1c2FibGVJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50ID0gdGhpcy5mb2N1c2FibGVJdGVtcy5sZW5ndGggLSAxO1xuICAgICAgfVxuICAgICAgaWYgKCF0aGlzLmRpc2FibGVkICYmIHRoaXMuY3VycmVudEl0ZW0pIHtcbiAgICAgICAgdGhpcy5zZXRUYWJpbmRleCh0aGlzLmN1cnJlbnRJdGVtLCAwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgc3VwZXIuaW5pdGlhbGl6ZUZvY3VzKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVRhYmluZGV4KG5ld0luZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLnNldFRhYmluZGV4KHRoaXMuY3VycmVudEl0ZW0sIC0xKTtcbiAgICB0aGlzLnNldFRhYmluZGV4KHRoaXMuZm9jdXNhYmxlSXRlbXNbbmV3SW5kZXhdLCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VGFiaW5kZXgoaXRlbTogRm9jdXNhYmxlSXRlbSwgdmFsdWU6IG51bWJlcikge1xuICAgIGlmIChpdGVtIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGl0ZW0sICd0YWJpbmRleCcsIHZhbHVlLnRvU3RyaW5nKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShpdGVtLm5hdGl2ZUVsZW1lbnQsICd0YWJpbmRleCcsIHZhbHVlLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgfVxufVxuIl19
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm92aW5nLXRhYmluZGV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdXRpbHMvZm9jdXMva2V5LWZvY3VzL3JvdmluZy10YWJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFeEUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXRELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBTTFDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxXQUFXO0lBR2hELFlBQVksVUFBc0IsRUFBVSxRQUFtQjtRQUM3RCxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFEd0IsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUZ2RCxhQUFRLEdBQUcsS0FBSyxDQUFDO0lBSXpCLENBQUM7SUFFRCx1RkFBdUY7SUFDdkYsSUFDSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLGdCQUFnQixDQUFDLFFBQXVDO1FBQzFELElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBZ0MsQ0FBQztJQUN6RCxDQUFDO0lBRUQsSUFDSSxzQkFBc0IsQ0FBQyxRQUFpQjtRQUMxQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQztJQUVRLG1CQUFtQixDQUFDLEtBQW9CO1FBQy9DLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFL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QUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDaEU7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQzlFO0lBQ0gsQ0FBQzs7K0dBbEZVLGlCQUFpQjttR0FBakIsaUJBQWlCLDRPQUZsQiwyQkFBMkI7NEZBRTFCLGlCQUFpQjtrQkFKN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsMkJBQTJCO2lCQUN0Qzt5SEFVSyxnQkFBZ0I7c0JBRG5CLEtBQUs7dUJBQUMsbUJBQW1CO2dCQVN0QixzQkFBc0I7c0JBRHpCLEtBQUs7dUJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDIzIFZNd2FyZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgS2V5cyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2VudW1zL2tleXMuZW51bSc7XG5pbXBvcnQgeyBGb2N1c2FibGVJdGVtIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IENscktleUZvY3VzIH0gZnJvbSAnLi9rZXktZm9jdXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdbY2xyUm92aW5nVGFiaW5kZXhdJyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyUm92aW5nVGFiaW5kZXggZXh0ZW5kcyBDbHJLZXlGb2N1cyB7XG4gIHByaXZhdGUgZGlzYWJsZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICBzdXBlcihlbGVtZW50UmVmKTtcbiAgfVxuXG4gIC8vIFByb3h5IHRoZSBpbnB1dCwgYXMgdGhlIHNlbGVjdG9yIG5hbWUgZnJvbSBwYXJlbnQgY2xhc3Mgd2lsbCBzdGlsbCBiZSBcImNscktleUZvY3VzXCIuXG4gIEBJbnB1dCgnY2xyUm92aW5nVGFiaW5kZXgnKVxuICBnZXQgcm92aW5nSW5kZXhJdGVtcygpOiBBcnJheTxGb2N1c2FibGVJdGVtPiB8IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZm9jdXNhYmxlSXRlbXM7XG4gIH1cbiAgc2V0IHJvdmluZ0luZGV4SXRlbXMoZWxlbWVudHM6IEFycmF5PEZvY3VzYWJsZUl0ZW0+IHwgc3RyaW5nKSB7XG4gICAgdGhpcy5mb2N1c2FibGVJdGVtcyA9IGVsZW1lbnRzIGFzIEFycmF5PEZvY3VzYWJsZUl0ZW0+O1xuICB9XG5cbiAgQElucHV0KCdjbHJSb3ZpbmdUYWJpbmRleERpc2FibGVkJylcbiAgc2V0IHJvdmluZ1RhYmluZGV4RGlzYWJsZWQoZGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgaWYgKHRoaXMuY3VycmVudEl0ZW0pIHtcbiAgICAgIHRoaXMuc2V0VGFiaW5kZXgodGhpcy5jdXJyZW50SXRlbSwgZGlzYWJsZWQgPyAtMSA6IDApO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy5wcmV2S2V5UHJlc3NlZChldmVudCkgJiYgdGhpcy5jdXJyZW50Rm9jdXNJc05vdEZpcnN0SXRlbSgpKSB7XG4gICAgICB0aGlzLnVwZGF0ZVRhYmluZGV4KHRoaXMuY3VycmVudCAtIDEpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5uZXh0S2V5UHJlc3NlZChldmVudCkgJiYgdGhpcy5jdXJyZW50Rm9jdXNJc05vdExhc3RJdGVtKCkpIHtcbiAgICAgIHRoaXMudXBkYXRlVGFiaW5kZXgodGhpcy5jdXJyZW50ICsgMSk7XG4gICAgfSBlbHNlIGlmIChldmVudC5jb2RlID09PSBLZXlzLkhvbWUpIHtcbiAgICAgIHRoaXMudXBkYXRlVGFiaW5kZXgoMCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5jb2RlID09PSBLZXlzLkVuZCkge1xuICAgICAgdGhpcy51cGRhdGVUYWJpbmRleCh0aGlzLmZvY3VzYWJsZUl0ZW1zLmxlbmd0aCAtIDEpO1xuICAgIH1cbiAgICBzdXBlci5oYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50KTtcbiAgfVxuXG4gIG92ZXJyaWRlIHNldENsaWNrZWRJdGVtQ3VycmVudChldmVudDogYW55KSB7XG4gICAgbGV0IHBvc2l0aW9uOiBudW1iZXI7XG5cbiAgICBpZiAodGhpcy5mb2N1c2FibGVJdGVtc1swXS5uYXRpdmVFbGVtZW50KSB7XG4gICAgICBwb3NpdGlvbiA9IHRoaXMuZm9jdXNhYmxlSXRlbXMubWFwKGl0ZW0gPT4gaXRlbS5uYXRpdmVFbGVtZW50KS5pbmRleE9mKGV2ZW50LnRhcmdldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBvc2l0aW9uID0gdGhpcy5mb2N1c2FibGVJdGVtcy5pbmRleE9mKGV2ZW50LnRhcmdldCk7XG4gICAgfVxuXG4gICAgaWYgKHBvc2l0aW9uID4gLTEpIHtcbiAgICAgIHRoaXMudXBkYXRlVGFiaW5kZXgocG9zaXRpb24pO1xuICAgIH1cbiAgICBzdXBlci5zZXRDbGlja2VkSXRlbUN1cnJlbnQoZXZlbnQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGluaXRpYWxpemVGb2N1cygpIHtcbiAgICBpZiAodGhpcy5mb2N1c2FibGVJdGVtcyAmJiB0aGlzLmZvY3VzYWJsZUl0ZW1zLmxlbmd0aCkge1xuICAgICAgdGhpcy5mb2N1c2FibGVJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICB0aGlzLnNldFRhYmluZGV4KGl0ZW0sIC0xKTtcbiAgICAgIH0pO1xuXG4gICAgICAvLyBJdCBpcyBwb3NzaWJsZSB0aGF0IHRoZSBmb2N1cyB3YXMgb24gYW4gZWxlbWVudCwgd2hvc2UgaW5kZXggaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZS5cbiAgICAgIC8vIFRoaXMgY2FuIGhhcHBlbiB3aGVuIHNvbWUgb2YgdGhlIGZvY3VzYWJsZSBlbGVtZW50cyBhcmUgYmVpbmcgcmVtb3ZlZC5cbiAgICAgIC8vIEluIHN1Y2ggY2FzZXMsIHRoZSBuZXcgZm9jdXMgaXMgaW5pdGlhbGl6ZWQgb24gdGhlIGxhc3QgZm9jdXNhYmxlIGVsZW1lbnQuXG4gICAgICBpZiAodGhpcy5jdXJyZW50ID49IHRoaXMuZm9jdXNhYmxlSXRlbXMubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuY3VycmVudCA9IHRoaXMuZm9jdXNhYmxlSXRlbXMubGVuZ3RoIC0gMTtcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5kaXNhYmxlZCAmJiB0aGlzLmN1cnJlbnRJdGVtKSB7XG4gICAgICAgIHRoaXMuc2V0VGFiaW5kZXgodGhpcy5jdXJyZW50SXRlbSwgMCk7XG4gICAgICB9XG4gICAgfVxuICAgIHN1cGVyLmluaXRpYWxpemVGb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVUYWJpbmRleChuZXdJbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXRUYWJpbmRleCh0aGlzLmN1cnJlbnRJdGVtLCAtMSk7XG4gICAgdGhpcy5zZXRUYWJpbmRleCh0aGlzLmZvY3VzYWJsZUl0ZW1zW25ld0luZGV4XSwgMCk7XG4gIH1cblxuICBwcml2YXRlIHNldFRhYmluZGV4KGl0ZW06IEZvY3VzYWJsZUl0ZW0sIHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShpdGVtLCAndGFiaW5kZXgnLCB2YWx1ZS50b1N0cmluZygpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoaXRlbS5uYXRpdmVFbGVtZW50LCAndGFiaW5kZXgnLCB2YWx1ZS50b1N0cmluZygpKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -29,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
29
29
  type: Injectable,
30
30
  args: [{ providedIn: 'root' }]
31
31
  }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtdHJhcC10cmFja2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91dGlscy9mb2N1cy10cmFwL2ZvY3VzLXRyYXAtdHJhY2tlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sZ0JBQWdCO0lBRDdCO1FBRVUsd0JBQW1CLEdBQXlCLEVBQUUsQ0FBQztLQW1CeEQ7SUFoQkMsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxLQUF5QjtRQUNuQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQztJQUN6QyxDQUFDO0lBRUQsdUJBQXVCO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ2pELENBQUM7OzhHQW5CVSxnQkFBZ0I7a0hBQWhCLGdCQUFnQixjQURILE1BQU07NEZBQ25CLGdCQUFnQjtrQkFENUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjMgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRm9jdXNUcmFwRGlyZWN0aXZlIH0gZnJvbSAnLi9mb2N1cy10cmFwLmRpcmVjdGl2ZSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgRm9jdXNUcmFwVHJhY2tlciB7XG4gIHByaXZhdGUgX3ByZXZpb3VzRm9jdXNUcmFwczogRm9jdXNUcmFwRGlyZWN0aXZlW10gPSBbXTtcbiAgcHJpdmF0ZSBfY3VycmVudDogRm9jdXNUcmFwRGlyZWN0aXZlO1xuXG4gIGdldCBjdXJyZW50KCk6IEZvY3VzVHJhcERpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnQ7XG4gIH1cblxuICBzZXQgY3VycmVudCh2YWx1ZTogRm9jdXNUcmFwRGlyZWN0aXZlKSB7XG4gICAgdGhpcy5fcHJldmlvdXNGb2N1c1RyYXBzLnB1c2godGhpcy5fY3VycmVudCk7XG4gICAgdGhpcy5fY3VycmVudCA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IG5iRm9jdXNUcmFwcGVycygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9wcmV2aW91c0ZvY3VzVHJhcHMubGVuZ3RoO1xuICB9XG5cbiAgYWN0aXZhdGVQcmV2aW91c1RyYXBwZXIoKSB7XG4gICAgdGhpcy5fY3VycmVudCA9IHRoaXMuX3ByZXZpb3VzRm9jdXNUcmFwcy5wb3AoKTtcbiAgfVxufVxuIl19
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtdHJhcC10cmFja2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91dGlscy9mb2N1cy10cmFwL2ZvY3VzLXRyYXAtdHJhY2tlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sZ0JBQWdCO0lBRDdCO1FBRVUsd0JBQW1CLEdBQXlCLEVBQUUsQ0FBQztLQWtCeEQ7SUFmQyxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLEtBQXlCO1FBQ25DLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDO0lBQ3pDLENBQUM7SUFFRCx1QkFBdUI7UUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDakQsQ0FBQzs7OEdBbEJVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBREgsTUFBTTs0RkFDbkIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMyBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGb2N1c1RyYXBEaXJlY3RpdmUgfSBmcm9tICcuL2ZvY3VzLXRyYXAuZGlyZWN0aXZlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBGb2N1c1RyYXBUcmFja2VyIHtcbiAgcHJpdmF0ZSBfcHJldmlvdXNGb2N1c1RyYXBzOiBGb2N1c1RyYXBEaXJlY3RpdmVbXSA9IFtdO1xuICBwcml2YXRlIF9jdXJyZW50OiBGb2N1c1RyYXBEaXJlY3RpdmU7XG5cbiAgZ2V0IGN1cnJlbnQoKTogRm9jdXNUcmFwRGlyZWN0aXZlIHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudDtcbiAgfVxuICBzZXQgY3VycmVudCh2YWx1ZTogRm9jdXNUcmFwRGlyZWN0aXZlKSB7XG4gICAgdGhpcy5fcHJldmlvdXNGb2N1c1RyYXBzLnB1c2godGhpcy5fY3VycmVudCk7XG4gICAgdGhpcy5fY3VycmVudCA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IG5iRm9jdXNUcmFwcGVycygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9wcmV2aW91c0ZvY3VzVHJhcHMubGVuZ3RoO1xuICB9XG5cbiAgYWN0aXZhdGVQcmV2aW91c1RyYXBwZXIoKSB7XG4gICAgdGhpcy5fY3VycmVudCA9IHRoaXMuX3ByZXZpb3VzRm9jdXNUcmFwcy5wb3AoKTtcbiAgfVxufVxuIl19
@@ -25,6 +25,27 @@ export class FocusTrapDirective {
25
25
  set config(config) {
26
26
  this._config = Object.assign(this._config, config === '' ? {} : config);
27
27
  }
28
+ get potentiallyFocusableEls() {
29
+ return [...this.el.nativeElement.querySelectorAll(FOCUSABLES)];
30
+ }
31
+ ngOnInit() {
32
+ if (isPlatformBrowser(this.platformId)) {
33
+ this.renderer.setAttribute(this.el.nativeElement, 'tabindex', '-1');
34
+ this.el.nativeElement.focus();
35
+ }
36
+ }
37
+ ngAfterViewInit() {
38
+ if (isPlatformBrowser(this.platformId)) {
39
+ this.previousActiveElement = this.document.activeElement;
40
+ this.parentElement = this.el.nativeElement.parentElement;
41
+ }
42
+ this.addReboundEls();
43
+ }
44
+ ngOnDestroy() {
45
+ this.removeReboundEls();
46
+ this.setPreviousFocus();
47
+ this.focusTrapsTracker.activatePreviousTrapper();
48
+ }
28
49
  onFocusIn(event) {
29
50
  const nativeElement = this.el.nativeElement;
30
51
  if (this.focusTrapsTracker.current !== this ||
@@ -47,6 +68,11 @@ export class FocusTrapDirective {
47
68
  this._config.strict ? this.el.nativeElement.focus() : (this.localFocusEscaped = true);
48
69
  }
49
70
  }
71
+ setPreviousFocus() {
72
+ if (this.previousActiveElement && this.previousActiveElement.focus) {
73
+ this.previousActiveElement.focus();
74
+ }
75
+ }
50
76
  createFocusableOffScreenEl() {
51
77
  // Not using Renderer2's createElement method because that leads to DOM leakage.
52
78
  // https://github.com/angular/angular/issues/26954
@@ -81,27 +107,6 @@ export class FocusTrapDirective {
81
107
  delete this.bottomReboundEl;
82
108
  }
83
109
  }
84
- setPreviousFocus() {
85
- if (this.previousActiveElement && this.previousActiveElement.focus) {
86
- this.previousActiveElement.focus();
87
- }
88
- }
89
- ngOnInit() {
90
- if (isPlatformBrowser(this.platformId)) {
91
- this.renderer.setAttribute(this.el.nativeElement, 'tabindex', '-1');
92
- this.el.nativeElement.focus();
93
- }
94
- }
95
- ngAfterViewInit() {
96
- if (isPlatformBrowser(this.platformId)) {
97
- this.previousActiveElement = this.document.activeElement;
98
- this.parentElement = this.el.nativeElement.parentElement;
99
- }
100
- this.addReboundEls();
101
- }
102
- get potentiallyFocusableEls() {
103
- return [...this.el.nativeElement.querySelectorAll(FOCUSABLES)];
104
- }
105
110
  focusFirstFocusable() {
106
111
  for (let i = 0; i < this.potentiallyFocusableEls.length; i++) {
107
112
  this.firstFocusableEl = this.focusElement(this.potentiallyFocusableEls[i]);
@@ -132,11 +137,6 @@ export class FocusTrapDirective {
132
137
  }
133
138
  return null;
134
139
  }
135
- ngOnDestroy() {
136
- this.removeReboundEls();
137
- this.setPreviousFocus();
138
- this.focusTrapsTracker.activatePreviousTrapper();
139
- }
140
140
  }
141
141
  FocusTrapDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FocusTrapDirective, deps: [{ token: i0.ElementRef }, { token: i0.Injector }, { token: i1.FocusTrapTracker }, { token: i0.Renderer2 }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive });
142
142
  FocusTrapDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: FocusTrapDirective, selector: "[clrFocusTrap]", inputs: { config: ["clrFocusTrap", "config"] }, host: { listeners: { "document:focusin": "onFocusIn($event)" } }, ngImport: i0 });
@@ -155,4 +155,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
155
155
  type: HostListener,
156
156
  args: ['document:focusin', ['$event']]
157
157
  }] } });
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtdHJhcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91dGlscy9mb2N1cy10cmFwL2ZvY3VzLXRyYXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUVOLEtBQUssRUFHTCxXQUFXLEdBRVosTUFBTSxlQUFlLENBQUM7OztBQUt2QixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQ3JCLG1TQUFtUyxDQUFDO0FBS3RTLE1BQU0sT0FBTyxrQkFBa0I7SUFZN0IsWUFDVSxFQUFjLEVBQ2QsUUFBa0IsRUFDbEIsaUJBQW1DLEVBQ25DLFFBQW1CLEVBQ0UsVUFBZTtRQUpwQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQ25DLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDRSxlQUFVLEdBQVYsVUFBVSxDQUFLO1FBZnRDLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQXFCMUIsWUFBTyxHQUFvQjtZQUNqQyxNQUFNLEVBQUUsSUFBSTtTQUNiLENBQUM7UUFOQSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3hDLENBQUM7SUFLRCxJQUNJLE1BQU0sQ0FBQyxNQUFnQztRQUN6QyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEtBQUssRUFB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QUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNuRCxDQUFDOztnSEE1SlUsa0JBQWtCLDZIQWlCbkIsV0FBVztvR0FqQlYsa0JBQWtCOzRGQUFsQixrQkFBa0I7a0JBSDlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtpQkFDM0I7OzBCQWtCSSxNQUFNOzJCQUFDLFdBQVc7NENBVWpCLE1BQU07c0JBRFQsS0FBSzt1QkFBQyxjQUFjO2dCQU1yQixTQUFTO3NCQURSLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjMgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IERPQ1VNRU5ULCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0LFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBQTEFURk9STV9JRCxcbiAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRm9jdXNUcmFwQ29uZmlnIH0gZnJvbSAnLi9mb2N1cy10cmFwLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9jdXNUcmFwVHJhY2tlciB9IGZyb20gJy4vZm9jdXMtdHJhcC10cmFja2VyLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgRk9DVVNBQkxFUyA9XG4gICdbaHJlZl06bm90KFt0YWJpbmRleD1cIi0xXCJdKSwgYnV0dG9uOm5vdChbZGlzYWJsZWRdKTpub3QoW3RhYmluZGV4PVwiLTFcIl0pLCBpbnB1dDpub3QoW2Rpc2FibGVkXSk6bm90KFt0YWJpbmRleD1cIi0xXCJdKSwgc2VsZWN0Om5vdChbZGlzYWJsZWRdKTpub3QoW3RhYmluZGV4PVwiLTFcIl0pLCB0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSk6bm90KFt0YWJpbmRleD1cIi0xXCJdKSwgW2NvbnRlbnRlZGl0YWJsZT1cInRydWVcIl06bm90KFt0YWJpbmRleD1cIi0xXCJdKSwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PVwiLTFcIl0pICc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjbHJGb2N1c1RyYXBdJyxcbn0pXG5leHBvcnQgY2xhc3MgRm9jdXNUcmFwRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHByZXZpb3VzQWN0aXZlRWxlbWVudDogYW55O1xuICBwcml2YXRlIGxvY2FsRm9jdXNFc2NhcGVkID0gZmFsc2U7XG4gIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50O1xuICBwcml2YXRlIHBhcmVudEVsZW1lbnQ6IEVsZW1lbnQ7XG5cbiAgcHJpdmF0ZSB0b3BSZWJvdW5kRWw6IGFueTtcbiAgcHJpdmF0ZSBib3R0b21SZWJvdW5kRWw6IGFueTtcblxuICBwcml2YXRlIGZpcnN0Rm9jdXNhYmxlRWw6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIGxhc3RGb2N1c2FibGVFbDogSFRNTEVsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIGZvY3VzVHJhcHNUcmFja2VyOiBGb2N1c1RyYXBUcmFja2VyLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueVxuICApIHtcbiAgICB0aGlzLmRvY3VtZW50ID0gdGhpcy5pbmplY3Rvci5nZXQoRE9DVU1FTlQpO1xuICAgIHRoaXMuZm9jdXNUcmFwc1RyYWNrZXIuY3VycmVudCA9IHRoaXM7XG4gIH1cblxuICBwcml2YXRlIF9jb25maWc6IEZvY3VzVHJhcENvbmZpZyA9IHtcbiAgICBzdHJpY3Q6IHRydWUsXG4gIH07XG4gIEBJbnB1dCgnY2xyRm9jdXNUcmFwJylcbiAgc2V0IGNvbmZpZyhjb25maWc6IEZvY3VzVHJhcENvbmZpZyB8IHN0cmluZykge1xuICAgIHRoaXMuX2NvbmZpZyA9IE9iamVjdC5hc3NpZ24odGhpcy5fY29uZmlnLCBjb25maWcgPT09ICcnID8ge30gOiBjb25maWcpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Zm9jdXNpbicsIFsnJGV2ZW50J10pXG4gIG9uRm9jdXNJbihldmVudDogYW55KSB7XG4gICAgY29uc3QgbmF0aXZlRWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKFxuICAgICAgdGhpcy5mb2N1c1RyYXBzVHJhY2tlci5jdXJyZW50ICE9PSB0aGlzIHx8XG4gICAgICAhaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSB8fFxuICAgICAgdGhpcy5sb2NhbEZvY3VzRXNjYXBlZCB8fFxuICAgICAgbmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChldmVudC50YXJnZXQgPT09IHRoaXMudG9wUmVib3VuZEVsICYmIG5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldCkpIHtcbiAgICAgIHRoaXMuZm9jdXNMYXN0Rm9jdXNhYmxlKCk7XG4gICAgICAvLyBpZiBpdCBmYWlscyB0byBmb2N1cyBlbGVtZW50IGluc2lkZSB0aGUgdHJhcCwgZm9jdXMgdGhlIHRyYXAgZWxlbWVudC5cbiAgICAgIHRoaXMuZm9jdXNUcmFwRWxJZk91dHNpZGUoKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LnRhcmdldCA9PT0gdGhpcy5ib3R0b21SZWJvdW5kRWwgJiYgbmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC5yZWxhdGVkVGFyZ2V0KSkge1xuICAgICAgdGhpcy5mb2N1c0ZpcnN0Rm9jdXNhYmxlKCk7XG4gICAgICAvLyBpZiBpdCBmYWlscyB0byBmb2N1cyBlbGVtZW50IGluc2lkZSB0aGUgdHJhcCwgZm9jdXMgdGhlIHRyYXAgZWxlbWVudC5cbiAgICAgIHRoaXMuZm9jdXNUcmFwRWxJZk91dHNpZGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fY29uZmlnLnN0cmljdCA/IHRoaXMuZWwubmF0aXZlRWxlbWVudC5mb2N1cygpIDogKHRoaXMubG9jYWxGb2N1c0VzY2FwZWQgPSB0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZvY3VzYWJsZU9mZlNjcmVlbkVsKCk6IGFueSB7XG4gICAgLy8gTm90IHVzaW5nIFJlbmRlcmVyMidzIGNyZWF0ZUVsZW1lbnQgbWV0aG9kIGJlY2F1c2UgdGhhdCBsZWFkcyB0byBET00gbGVha2FnZS5cbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8yNjk1NFxuICAgIGNvbnN0IG9mZlNjcmVlblNwYW4gPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShvZmZTY3JlZW5TcGFuLCAndGFiaW5kZXgnLCAnMCcpO1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3Mob2ZmU2NyZWVuU3BhbiwgJ29mZnNjcmVlbi1mb2N1cy1yZWJvdW5kZXInKTtcblxuICAgIHJldHVybiBvZmZTY3JlZW5TcGFuO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRSZWJvdW5kRWxzKCkge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICB0aGlzLnRvcFJlYm91bmRFbCA9IHRoaXMuY3JlYXRlRm9jdXNhYmxlT2ZmU2NyZWVuRWwoKTtcbiAgICAgIHRoaXMuYm90dG9tUmVib3VuZEVsID0gdGhpcy5jcmVhdGVGb2N1c2FibGVPZmZTY3JlZW5FbCgpO1xuICAgICAgY29uc3QgaG9zdEVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAvLyBBZGQgcmVib3VuZEJlZm9yZVRyYXBFbCByaWdodCBvdXRzaWRlIG9mIGhvc3QgZWxlbWVudFxuICAgICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUoaG9zdEVsZW1lbnQucGFyZW50RWxlbWVudCwgdGhpcy50b3BSZWJvdW5kRWwsIGhvc3RFbGVtZW50KTtcbiAgICAgIC8vIEFkZCByZWJvdW5kQWZ0ZXJUcmFwRWwgcmlnaHQgYWZ0ZXIgaG9zdCBlbGVtZW50XG4gICAgICBpZiAoaG9zdEVsZW1lbnQubmV4dFNpYmxpbmcpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUoaG9zdEVsZW1lbnQucGFyZW50Tm9kZSwgdGhpcy5ib3R0b21SZWJvdW5kRWwsIGhvc3RFbGVtZW50Lm5leHRTaWJsaW5nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoaG9zdEVsZW1lbnQucGFyZW50Tm9kZSwgdGhpcy5ib3R0b21SZWJvdW5kRWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlUmVib3VuZEVscygpIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiB0aGlzLnRvcFJlYm91bmRFbCAmJiB0aGlzLmJvdHRvbVJlYm91bmRFbCkge1xuICAgICAgdGhpcy5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMudG9wUmVib3VuZEVsKTtcbiAgICAgIHRoaXMucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLmJvdHRvbVJlYm91bmRFbCk7XG4gICAgICAvLyBUaGVzZSBhcmUgaGVyZSB0byB0byBtYWtlIHN1cmUgdGhhdFxuICAgICAgLy8gd2UgY29tcGxldGVseSBkZWxldGUgYWxsIHRyYWNlcyBvZiB0aGUgcmVtb3ZlZCBET00gb2JqZWN0cy5cbiAgICAgIGRlbGV0ZSB0aGlzLnRvcFJlYm91bmRFbDtcbiAgICAgIGRlbGV0ZSB0aGlzLmJvdHRvbVJlYm91bmRFbDtcbiAgICB9XG4gIH1cblxuICBzZXRQcmV2aW91c0ZvY3VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByZXZpb3VzQWN0aXZlRWxlbWVudCAmJiB0aGlzLnByZXZpb3VzQWN0aXZlRWxlbWVudC5mb2N1cykge1xuICAgICAgdGhpcy5wcmV2aW91c0FjdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAndGFiaW5kZXgnLCAnLTEnKTtcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgdGhpcy5wcmV2aW91c0FjdGl2ZUVsZW1lbnQgPSB0aGlzLmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICB0aGlzLnBhcmVudEVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICB9XG5cbiAgICB0aGlzLmFkZFJlYm91bmRFbHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHBvdGVudGlhbGx5Rm9jdXNhYmxlRWxzKCk6IEhUTUxFbGVtZW50W10ge1xuICAgIHJldHVybiBbLi4udGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoRk9DVVNBQkxFUyldO1xuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c0ZpcnN0Rm9jdXNhYmxlKCkge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5wb3RlbnRpYWxseUZvY3VzYWJsZUVscy5sZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy5maXJzdEZvY3VzYWJsZUVsID0gdGhpcy5mb2N1c0VsZW1lbnQodGhpcy5wb3RlbnRpYWxseUZvY3VzYWJsZUVsc1tpXSk7XG4gICAgICBpZiAodGhpcy5maXJzdEZvY3VzYWJsZUVsKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNMYXN0Rm9jdXNhYmxlKCkge1xuICAgIGZvciAobGV0IGkgPSB0aGlzLnBvdGVudGlhbGx5Rm9jdXNhYmxlRWxzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICB0aGlzLmxhc3RGb2N1c2FibGVFbCA9IHRoaXMuZm9jdXNFbGVtZW50KHRoaXMucG90ZW50aWFsbHlGb2N1c2FibGVFbHNbaV0pO1xuICAgICAgaWYgKHRoaXMubGFzdEZvY3VzYWJsZUVsKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNUcmFwRWxJZk91dHNpZGUoKSB7XG4gICAgaWYgKCF0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkpIHtcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNFbGVtZW50KGVsOiBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50IHtcbiAgICBpZiAoZWwgJiYgZWwuZm9jdXMpIHtcbiAgICAgIGVsLmZvY3VzKCk7XG4gICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZWwpIHtcbiAgICAgICAgcmV0dXJuIGVsO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucmVtb3ZlUmVib3VuZEVscygpO1xuICAgIHRoaXMuc2V0UHJldmlvdXNGb2N1cygpO1xuICAgIHRoaXMuZm9jdXNUcmFwc1RyYWNrZXIuYWN0aXZhdGVQcmV2aW91c1RyYXBwZXIoKTtcbiAgfVxufVxuIl19
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtdHJhcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91dGlscy9mb2N1cy10cmFwL2ZvY3VzLXRyYXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osTUFBTSxFQUVOLEtBQUssRUFHTCxXQUFXLEdBRVosTUFBTSxlQUFlLENBQUM7OztBQUt2QixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQ3JCLG1TQUFtUyxDQUFDO0FBS3RTLE1BQU0sT0FBTyxrQkFBa0I7SUFnQjdCLFlBQ1UsRUFBYyxFQUNkLFFBQWtCLEVBQ2xCLGlCQUFtQyxFQUNuQyxRQUFtQixFQUNFLFVBQWU7UUFKcEMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNuQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ0UsZUFBVSxHQUFWLFVBQVUsQ0FBSztRQW5CdEMsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBVTFCLFlBQU8sR0FBb0I7WUFDakMsTUFBTSxFQUFFLElBQUk7U0FDYixDQUFDO1FBU0EsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFDSSxNQUFNLENBQUMsTUFBZ0M7UUFDekMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxLQUFLLEVB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QUFLLEVBQUUsQ0FBQztZQUNYLElBQUksUUFBUSxDQUFDLGFBQWEsS0FBSyxFQUFFLEVBQUU7Z0JBQ2pDLE9BQU8sRUFBRSxDQUFDO2FBQ1g7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7Z0hBN0pVLGtCQUFrQiw2SEFxQm5CLFdBQVc7b0dBckJWLGtCQUFrQjs0RkFBbEIsa0JBQWtCO2tCQUg5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzNCOzswQkFzQkksTUFBTTsyQkFBQyxXQUFXOzRDQU9qQixNQUFNO3NCQURULEtBQUs7dUJBQUMsY0FBYztnQkFnQ3JCLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMyBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3QsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFBMQVRGT1JNX0lELFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGb2N1c1RyYXBDb25maWcgfSBmcm9tICcuL2ZvY3VzLXRyYXAtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGb2N1c1RyYXBUcmFja2VyIH0gZnJvbSAnLi9mb2N1cy10cmFwLXRyYWNrZXIuc2VydmljZSc7XG5cbmV4cG9ydCBjb25zdCBGT0NVU0FCTEVTID1cbiAgJ1tocmVmXTpub3QoW3RhYmluZGV4PVwiLTFcIl0pLCBidXR0b246bm90KFtkaXNhYmxlZF0pOm5vdChbdGFiaW5kZXg9XCItMVwiXSksIGlucHV0Om5vdChbZGlzYWJsZWRdKTpub3QoW3RhYmluZGV4PVwiLTFcIl0pLCBzZWxlY3Q6bm90KFtkaXNhYmxlZF0pOm5vdChbdGFiaW5kZXg9XCItMVwiXSksIHRleHRhcmVhOm5vdChbZGlzYWJsZWRdKTpub3QoW3RhYmluZGV4PVwiLTFcIl0pLCBbY29udGVudGVkaXRhYmxlPVwidHJ1ZVwiXTpub3QoW3RhYmluZGV4PVwiLTFcIl0pLCBbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg9XCItMVwiXSkgJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NsckZvY3VzVHJhcF0nLFxufSlcbmV4cG9ydCBjbGFzcyBGb2N1c1RyYXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcHJldmlvdXNBY3RpdmVFbGVtZW50OiBhbnk7XG4gIHByaXZhdGUgbG9jYWxGb2N1c0VzY2FwZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQ7XG4gIHByaXZhdGUgcGFyZW50RWxlbWVudDogRWxlbWVudDtcblxuICBwcml2YXRlIHRvcFJlYm91bmRFbDogYW55O1xuICBwcml2YXRlIGJvdHRvbVJlYm91bmRFbDogYW55O1xuXG4gIHByaXZhdGUgZmlyc3RGb2N1c2FibGVFbDogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgbGFzdEZvY3VzYWJsZUVsOiBIVE1MRWxlbWVudDtcblxuICBwcml2YXRlIF9jb25maWc6IEZvY3VzVHJhcENvbmZpZyA9IHtcbiAgICBzdHJpY3Q6IHRydWUsXG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIGZvY3VzVHJhcHNUcmFja2VyOiBGb2N1c1RyYXBUcmFja2VyLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueVxuICApIHtcbiAgICB0aGlzLmRvY3VtZW50ID0gdGhpcy5pbmplY3Rvci5nZXQoRE9DVU1FTlQpO1xuICAgIHRoaXMuZm9jdXNUcmFwc1RyYWNrZXIuY3VycmVudCA9IHRoaXM7XG4gIH1cblxuICBASW5wdXQoJ2NsckZvY3VzVHJhcCcpXG4gIHNldCBjb25maWcoY29uZmlnOiBGb2N1c1RyYXBDb25maWcgfCBzdHJpbmcpIHtcbiAgICB0aGlzLl9jb25maWcgPSBPYmplY3QuYXNzaWduKHRoaXMuX2NvbmZpZywgY29uZmlnID09PSAnJyA/IHt9IDogY29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHBvdGVudGlhbGx5Rm9jdXNhYmxlRWxzKCk6IEhUTUxFbGVtZW50W10ge1xuICAgIHJldHVybiBbLi4udGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoRk9DVVNBQkxFUyldO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RhYmluZGV4JywgJy0xJyk7XG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHRoaXMucHJldmlvdXNBY3RpdmVFbGVtZW50ID0gdGhpcy5kb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgdGhpcy5wYXJlbnRFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgdGhpcy5hZGRSZWJvdW5kRWxzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnJlbW92ZVJlYm91bmRFbHMoKTtcbiAgICB0aGlzLnNldFByZXZpb3VzRm9jdXMoKTtcbiAgICB0aGlzLmZvY3VzVHJhcHNUcmFja2VyLmFjdGl2YXRlUHJldmlvdXNUcmFwcGVyKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpmb2N1c2luJywgWyckZXZlbnQnXSlcbiAgb25Gb2N1c0luKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBuYXRpdmVFbGVtZW50OiBIVE1MRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoXG4gICAgICB0aGlzLmZvY3VzVHJhcHNUcmFja2VyLmN1cnJlbnQgIT09IHRoaXMgfHxcbiAgICAgICFpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpIHx8XG4gICAgICB0aGlzLmxvY2FsRm9jdXNFc2NhcGVkIHx8XG4gICAgICBuYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGV2ZW50LnRhcmdldCA9PT0gdGhpcy50b3BSZWJvdW5kRWwgJiYgbmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC5yZWxhdGVkVGFyZ2V0KSkge1xuICAgICAgdGhpcy5mb2N1c0xhc3RGb2N1c2FibGUoKTtcbiAgICAgIC8vIGlmIGl0IGZhaWxzIHRvIGZvY3VzIGVsZW1lbnQgaW5zaWRlIHRoZSB0cmFwLCBmb2N1cyB0aGUgdHJhcCBlbGVtZW50LlxuICAgICAgdGhpcy5mb2N1c1RyYXBFbElmT3V0c2lkZSgpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQudGFyZ2V0ID09PSB0aGlzLmJvdHRvbVJlYm91bmRFbCAmJiBuYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQpKSB7XG4gICAgICB0aGlzLmZvY3VzRmlyc3RGb2N1c2FibGUoKTtcbiAgICAgIC8vIGlmIGl0IGZhaWxzIHRvIGZvY3VzIGVsZW1lbnQgaW5zaWRlIHRoZSB0cmFwLCBmb2N1cyB0aGUgdHJhcCBlbGVtZW50LlxuICAgICAgdGhpcy5mb2N1c1RyYXBFbElmT3V0c2lkZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9jb25maWcuc3RyaWN0ID8gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmZvY3VzKCkgOiAodGhpcy5sb2NhbEZvY3VzRXNjYXBlZCA9IHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHNldFByZXZpb3VzRm9jdXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJldmlvdXNBY3RpdmVFbGVtZW50ICYmIHRoaXMucHJldmlvdXNBY3RpdmVFbGVtZW50LmZvY3VzKSB7XG4gICAgICB0aGlzLnByZXZpb3VzQWN0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRm9jdXNhYmxlT2ZmU2NyZWVuRWwoKTogYW55IHtcbiAgICAvLyBOb3QgdXNpbmcgUmVuZGVyZXIyJ3MgY3JlYXRlRWxlbWVudCBtZXRob2QgYmVjYXVzZSB0aGF0IGxlYWRzIHRvIERPTSBsZWFrYWdlLlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzI2OTU0XG4gICAgY29uc3Qgb2ZmU2NyZWVuU3BhbiA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKG9mZlNjcmVlblNwYW4sICd0YWJpbmRleCcsICcwJyk7XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhvZmZTY3JlZW5TcGFuLCAnb2Zmc2NyZWVuLWZvY3VzLXJlYm91bmRlcicpO1xuXG4gICAgcmV0dXJuIG9mZlNjcmVlblNwYW47XG4gIH1cblxuICBwcml2YXRlIGFkZFJlYm91bmRFbHMoKSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIHRoaXMudG9wUmVib3VuZEVsID0gdGhpcy5jcmVhdGVGb2N1c2FibGVPZmZTY3JlZW5FbCgpO1xuICAgICAgdGhpcy5ib3R0b21SZWJvdW5kRWwgPSB0aGlzLmNyZWF0ZUZvY3VzYWJsZU9mZlNjcmVlbkVsKCk7XG4gICAgICBjb25zdCBob3N0RWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICAgIC8vIEFkZCByZWJvdW5kQmVmb3JlVHJhcEVsIHJpZ2h0IG91dHNpZGUgb2YgaG9zdCBlbGVtZW50XG4gICAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZShob3N0RWxlbWVudC5wYXJlbnRFbGVtZW50LCB0aGlzLnRvcFJlYm91bmRFbCwgaG9zdEVsZW1lbnQpO1xuICAgICAgLy8gQWRkIHJlYm91bmRBZnRlclRyYXBFbCByaWdodCBhZnRlciBob3N0IGVsZW1lbnRcbiAgICAgIGlmIChob3N0RWxlbWVudC5uZXh0U2libGluZykge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZShob3N0RWxlbWVudC5wYXJlbnROb2RlLCB0aGlzLmJvdHRvbVJlYm91bmRFbCwgaG9zdEVsZW1lbnQubmV4dFNpYmxpbmcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChob3N0RWxlbWVudC5wYXJlbnROb2RlLCB0aGlzLmJvdHRvbVJlYm91bmRFbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVSZWJvdW5kRWxzKCkge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpICYmIHRoaXMudG9wUmVib3VuZEVsICYmIHRoaXMuYm90dG9tUmVib3VuZEVsKSB7XG4gICAgICB0aGlzLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy50b3BSZWJvdW5kRWwpO1xuICAgICAgdGhpcy5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuYm90dG9tUmVib3VuZEVsKTtcbiAgICAgIC8vIFRoZXNlIGFyZSBoZXJlIHRvIHRvIG1ha2Ugc3VyZSB0aGF0XG4gICAgICAvLyB3ZSBjb21wbGV0ZWx5IGRlbGV0ZSBhbGwgdHJhY2VzIG9mIHRoZSByZW1vdmVkIERPTSBvYmplY3RzLlxuICAgICAgZGVsZXRlIHRoaXMudG9wUmVib3VuZEVsO1xuICAgICAgZGVsZXRlIHRoaXMuYm90dG9tUmVib3VuZEVsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9jdXNGaXJzdEZvY3VzYWJsZSgpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMucG90ZW50aWFsbHlGb2N1c2FibGVFbHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHRoaXMuZmlyc3RGb2N1c2FibGVFbCA9IHRoaXMuZm9jdXNFbGVtZW50KHRoaXMucG90ZW50aWFsbHlGb2N1c2FibGVFbHNbaV0pO1xuICAgICAgaWYgKHRoaXMuZmlyc3RGb2N1c2FibGVFbCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZvY3VzTGFzdEZvY3VzYWJsZSgpIHtcbiAgICBmb3IgKGxldCBpID0gdGhpcy5wb3RlbnRpYWxseUZvY3VzYWJsZUVscy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgdGhpcy5sYXN0Rm9jdXNhYmxlRWwgPSB0aGlzLmZvY3VzRWxlbWVudCh0aGlzLnBvdGVudGlhbGx5Rm9jdXNhYmxlRWxzW2ldKTtcbiAgICAgIGlmICh0aGlzLmxhc3RGb2N1c2FibGVFbCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZvY3VzVHJhcEVsSWZPdXRzaWRlKCkge1xuICAgIGlmICghdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpKSB7XG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZvY3VzRWxlbWVudChlbDogSFRNTEVsZW1lbnQpOiBIVE1MRWxlbWVudCB7XG4gICAgaWYgKGVsICYmIGVsLmZvY3VzKSB7XG4gICAgICBlbC5mb2N1cygpO1xuICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGVsKSB7XG4gICAgICAgIHJldHVybiBlbDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiJdfQ==
@@ -131,4 +131,4 @@ export class FocusTrap {
131
131
  refocusIfOutsideFocusTrapElement(event.composedPath()[0], this.focusTrapElement, this.firstFocusElement);
132
132
  }
133
133
  }
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtdHJhcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3V0aWxzL2ZvY3VzLXRyYXAvZm9jdXMtdHJhcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlELE9BQU8sRUFBRSxRQUFRLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBUW5HLE1BQU0sVUFBVSxnQ0FBZ0MsQ0FDOUMsY0FBMkIsRUFDM0IsZ0JBQWtDLEVBQ2xDLGdCQUE4QjtJQUU5QixNQUFNLGtCQUFrQixHQUFHLHVCQUF1QixDQUFDLFVBQVUsRUFBRSxLQUFLLGdCQUFnQixDQUFDO0lBQ3JGLE1BQU0sZ0NBQWdDLEdBQUcsZ0NBQWdDLENBQUMsY0FBYyxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFFNUcsSUFBSSxrQkFBa0IsSUFBSSxnQ0FBZ0MsRUFBRTtRQUMxRCxnQkFBZ0IsR0FBRyxnQkFBZ0IsSUFBSSxnQkFBZ0IsQ0FBQztRQUN4RCxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztLQUMxQjtTQUFNO1FBQ0wsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO0tBQ3hCO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxnQ0FBZ0MsQ0FDOUMsY0FBMkIsRUFDM0IsZ0JBQWtDO0lBRWxDLElBQ0UsY0FBYyxLQUFLLGdCQUFnQixDQUFDLGlCQUFpQjtRQUNyRCxjQUFjLEtBQUssZ0JBQWdCLENBQUMsb0JBQW9CLEVBQ3hEO1FBQ0EsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELE1BQU0sNEJBQTRCLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRS9FLElBQUksNEJBQTRCLEVBQUU7UUFDaEMsT0FBTyxLQUFL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LFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDckYsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pCO1FBRUQseUNBQXlDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pFLHVCQUF1QixDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDbEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQWlCO1FBQ2pDLGdDQUFnQyxDQUM5QixLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFnQixFQUN0QyxJQUFJLENBQUMsZ0JBQWdCLEVBQ3JCLElBQUksQ0FBQyxpQkFBaUIsQ0FDdkIsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMyBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdG9yLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNyZWF0ZUlkLCBGb2N1c1RyYXBUcmFja2VyU2VydmljZSwgaXNGb2N1c2FibGUsIGlzSFRNTEVsZW1lbnQgfSBmcm9tICdAY2RzL2NvcmUvaW50ZXJuYWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvY3VzVHJhcEVsZW1lbnQgZXh0ZW5kcyBIVE1MRWxlbWVudCB7XG4gIHRvcFJlYm91bmRFbGVtZW50OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgYm90dG9tUmVib3VuZEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xuICBmb2N1c1RyYXBJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVmb2N1c0lmT3V0c2lkZUZvY3VzVHJhcEVsZW1lbnQoXG4gIGZvY3VzZWRFbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgZm9jdXNUcmFwRWxlbWVudDogRm9jdXNUcmFwRWxlbWVudCxcbiAgZWxlbWVudFRvUmVmb2N1cz86IEhUTUxFbGVtZW50XG4pIHtcbiAgY29uc3QgZm9jdXNUcmFwSXNDdXJyZW50ID0gRm9jdXNUcmFwVHJhY2tlclNlcnZpY2UuZ2V0Q3VycmVudCgpID09PSBmb2N1c1RyYXBFbGVtZW50O1xuICBjb25zdCBlbGVtZW50VG9Gb2N1c0lzT3V0c2lkZUZvY3VzVHJhcCA9IGVsZW1lbnRJc091dHNpZGVGb2N1c1RyYXBFbGVtZW50KGZvY3VzZWRFbGVtZW50LCBmb2N1c1RyYXBFbGVtZW50KTtcblxuICBpZiAoZm9jdXNUcmFwSXNDdXJyZW50ICYmIGVsZW1lbnRUb0ZvY3VzSXNPdXRzaWRlRm9jdXNUcmFwKSB7XG4gICAgZWxlbWVudFRvUmVmb2N1cyA9IGVsZW1lbnRUb1JlZm9jdXMgfHwgZm9jdXNUcmFwRWxlbWVudDtcbiAgICBlbGVtZW50VG9SZWZvY3VzLmZvY3VzKCk7XG4gIH0gZWxzZSB7XG4gICAgZm9jdXNlZEVsZW1lbnQuZm9jdXMoKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZWxlbWVudElzT3V0c2lkZUZvY3VzVHJhcEVsZW1lbnQoXG4gIGZvY3VzZWRFbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgZm9jdXNUcmFwRWxlbWVudDogRm9jdXNUcmFwRWxlbWVudFxuKTogYm9vbGVhbiB7XG4gIGlmIChcbiAgICBmb2N1c2VkRWxlbWVudCA9PT0gZm9jdXNUcmFwRWxlbWVudC50b3BSZWJvdW5kRWxlbWVudCB8fFxuICAgIGZvY3VzZWRFbGVtZW50ID09PSBmb2N1c1RyYXBFbGVtZW50LmJvdHRvbVJlYm91bmRFbGVtZW50XG4gICkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgY29uc3QgZWxlbWVudElzSW5Gb2N1c1RyYXBMaWdodERvbSA9IGZvY3VzVHJhcEVsZW1lbnQuY29udGFpbnMoZm9jdXNlZEVsZW1lbnQpO1xuXG4gIGlmIChlbGVtZW50SXNJbkZvY3VzVHJhcExpZ2h0RG9tKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGZvY3VzVHJhcEVsZW1lbnQgIT09IG51bGwgJiYgZm9jdXNUcmFwRWxlbWVudC5jb250YWlucyhmb2N1c2VkRWxlbWVudCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZvY3VzVHJhcFJlYm91bmRFbGVtZW50KGRvY3VtZW50OiBEb2N1bWVudCkge1xuICBjb25zdCBvZmZTY3JlZW5TcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICBvZmZTY3JlZW5TcGFuLnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAnMCcpO1xuICBvZmZTY3JlZW5TcGFuLmNsYXNzTGlzdC5hZGQoJ29mZnNjcmVlbi1mb2N1cy1yZWJvdW5kZXInKTtcbiAgcmV0dXJuIG9mZlNjcmVlblNwYW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRSZWJvdW5kRWxlbWVudHNUb0ZvY3VzVHJhcEVsZW1lbnQoZG9jdW1lbnQ6IERvY3VtZW50LCBmb2N1c1RyYXBFbGVtZW50OiBGb2N1c1RyYXBFbGVtZW50KSB7XG4gIGlmIChmb2N1c1RyYXBFbGVtZW50ICYmICFmb2N1c1RyYXBFbGVtZW50LnRvcFJlYm91bmRFbGVtZW50ICYmICFmb2N1c1RyYXBFbGVtZW50LmJvdHRvbVJlYm91bmRFbGVtZW50KSB7XG4gICAgZm9jdXNUcmFwRWxlbWVudC50b3BSZWJvdW5kRWxlbWVudCA9IGNyZWF0ZUZvY3VzVHJhcFJlYm91bmRFbGVtZW50KGRvY3VtZW50KTtcbiAgICBmb2N1c1RyYXBFbGVtZW50LmJvdHRvbVJlYm91bmRFbGVtZW50ID0gY3JlYXRlRm9jdXNUcmFwUmVib3VuZEVsZW1lbnQoZG9jdW1lbnQpO1xuXG4gICAgY29uc3QgcGFyZW50ID0gZm9jdXNUcmFwRWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgIGNvbnN0IHNpYmxpbmcgPSBmb2N1c1RyYXBFbGVtZW50Lm5leHRTaWJsaW5nO1xuXG4gICAgaWYgKHBhcmVudCkge1xuICAgICAgcGFyZW50Lmluc2VydEJlZm9yZShmb2N1c1RyYXBFbGVtZW50LnRvcFJlYm91bmRFbGVtZW50LCBmb2N1c1RyYXBFbGVtZW50KTtcbiAgICAgIGlmIChzaWJsaW5nKSB7XG4gICAgICAgIHBhcmVudC5pbnNlcnRCZWZvcmUoZm9jdXNUcmFwRWxlbWVudC5ib3R0b21SZWJvdW5kRWxlbWVudCwgc2libGluZyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoZm9jdXNUcmFwRWxlbWVudC5ib3R0b21SZWJvdW5kRWxlbWVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVSZWJvdW5kRWxlbWVudHNGcm9tRm9jdXNUcmFwRWxlbWVudChmb2N1c1RyYXBFbGVtZW50OiBGb2N1c1RyYXBFbGVtZW50KSB7XG4gIGlmIChmb2N1c1RyYXBFbGVtZW50KSB7XG4gICAgY29uc3QgcGFyZW50ID0gZm9jdXNUcmFwRWxlbWVudC5wYXJlbnRFbGVtZW50O1xuXG4gICAgaWYgKHBhcmVudCkge1xuICAgICAgY29uc3QgdG9wUmVib3VuZCA9IGZvY3VzVHJhcEVsZW1lbnQudG9wUmVib3VuZEVsZW1lbnQ7XG4gICAgICBjb25zdCBib3R0b21SZWJvdW5kID0gZm9jdXNUcmFwRWxlbWVudC5ib3R0b21SZWJvdW5kRWxlbWVudDtcbiAgICAgIGlmICh0b3BSZWJvdW5kKSB7XG4gICAgICAgIHBhcmVudC5yZW1vdmVDaGlsZCh0b3BSZWJvdW5kKTtcbiAgICAgIH1cbiAgICAgIGlmIChib3R0b21SZWJvdW5kKSB7XG4gICAgICAgIHBhcmVudC5yZW1vdmVDaGlsZChib3R0b21SZWJvdW5kKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gVGhlc2UgYXJlIGhlcmUgdG8gdG8gbWFrZSBzdXJlIHRoYXQgd2UgY29tcGxldGVseSBkZWxldGUgYWxsIHRyYWNlcyBvZiB0aGUgcmVtb3ZlZCBET00gb2JqZWN0cy5cbiAgICBkZWxldGUgZm9jdXNUcmFwRWxlbWVudC50b3BSZWJvdW5kRWxlbWVudDtcbiAgICBkZWxldGUgZm9jdXNUcmFwRWxlbWVudC5ib3R0b21SZWJvdW5kRWxlbWVudDtcbiAgfVxufVxuXG4vLyB0aGlzIGhlbHBlciBleGlzdHMgdG8gZW5hYmxlIHRoZSBmb2N1cyB0cmFwIGNsYXNzIHRvIGhhbmRsZSB2YW5pbGxhIGh0bWwgZWxlbWVudHNcbi8vIGl0J3MgcHJpbWFyeSBjb25jZXJuIGlzIHRvIGtlZXAgVFMgaGFwcHkuXG5leHBvcnQgZnVuY3Rpb24gY2FzdEh0bWxFbGVtZW50VG9Gb2N1c1RyYXBFbGVtZW50KGVsOiBIVE1MRWxlbWVudCk6IEZvY3VzVHJhcEVsZW1lbnQge1xuICByZXR1cm4gZWwgYXMgRm9jdXNUcmFwRWxlbWVudDtcbn1cblxuZXhwb3J0IGNsYXNzIEZvY3VzVHJhcCB7XG4gIGZvY3VzVHJhcEVsZW1lbnQ6IEZvY3VzVHJhcEVsZW1lbnQ7XG4gIHByaXZhdGUgcHJldmlvdXNGb2N1czogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgb25Gb2N1c0luRXZlbnQ6ICgpID0+IHZvaWQ7XG4gIHByaXZhdGUgdW5saXN0ZW46ICgpID0+IHZvaWQ7XG5cbiAgcHJvdGVjdGVkIF9kb2N1bWVudDogRG9jdW1lbnQ7XG5cbiAgZmlyc3RGb2N1c0VsZW1lbnQ6IEhUTUxFbGVtZW50IHwgRm9jdXNUcmFwRWxlbWVudDtcblxuICBhY3RpdmUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcmVuZGVyZXI6IFJlbmRlcmVyMiwgaW5qZWN0b3I6IEluamVjdG9yLCBwbGF0Zm9ybUlkOiBhbnksIGhvc3RFbGVtZW50OiBGb2N1c1RyYXBFbGVtZW50KSB7XG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHBsYXRmb3JtSWQpKSB7XG4gICAgICB0aGlzLl9kb2N1bWVudCA9IGluamVjdG9yLmdldChET0NVTUVOVCk7XG4gICAgfVxuXG4gICAgaG9zdEVsZW1lbnQgPSBjYXN0SHRtbEVsZW1lbnRUb0ZvY3VzVHJhcEVsZW1lbnQoaG9zdEVsZW1lbnQpO1xuXG4gICAgaWYgKCFob3N0RWxlbWVudC5mb2N1c1RyYXBJZCkge1xuICAgICAgaG9zdEVsZW1lbnQuZm9jdXNUcmFwSWQgPSBjcmVhdGVJZCgpO1xuICAgIH1cblxuICAgIHRoaXMuZm9jdXNUcmFwRWxlbWVudCA9IGhvc3RFbGVtZW50O1xuICB9XG5cbiAgZW5hYmxlRm9jdXNUcmFwKCkge1xuICAgIGNvbnN0IGZ0ZSA9IHRoaXMuZm9jdXNUcmFwRWxlbWVudDtcbiAgICBjb25zdCBmaXJzdEZvY3VzRWxlbWVudCA9IGZ0ZS5xdWVyeVNlbGVjdG9yKCdbY2RzLWZpcnN0LWZvY3VzXScpO1xuICAgIGNvbnN0IGFjdGl2ZUVsID0gdGhpcy5fZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcblxuICAgIGlmIChGb2N1c1RyYXBUcmFja2VyU2VydmljZS5nZXRDdXJyZW50KCkgPT09IGZ0ZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGb2N1cyB0cmFwIGlzIGFscmVhZHkgZW5hYmxlZCBmb3IgdGhpcyBpbnN0YW5jZS4nKTtcbiAgICB9XG5cbiAgICB0aGlzLmZpcnN0Rm9jdXNFbGVtZW50ID0gKGZpcnN0Rm9jdXNFbGVtZW50IGFzIEhUTUxFbGVtZW50KSB8fCB0aGlzLmZvY3VzVHJhcEVsZW1lbnQ7XG5cbiAgICBhZGRSZWJvdW5kRWxlbWVudHNUb0ZvY3VzVHJhcEVsZW1lbnQodGhpcy5fZG9jdW1lbnQsIGZ0ZSk7XG5cbiAgICBpZiAoIWlzRm9jdXNhYmxlKGZ0ZSkpIHtcbiAgICAgIGZ0ZS5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJy0xJyk7XG4gICAgfVxuXG4gICAgaWYgKGFjdGl2ZUVsICYmIGlzSFRNTEVsZW1lbnQoYWN0aXZlRWwpKSB7XG4gICAgICB0aGlzLnByZXZpb3VzRm9jdXMgPSBhY3RpdmVFbCBhcyBIVE1MRWxlbWVudDtcbiAgICB9XG5cbiAgICBGb2N1c1RyYXBUcmFja2VyU2VydmljZS5zZXRDdXJyZW50KGZ0ZSk7XG5cbiAgICAvLyBzZXRUaW1lb3V0IGhlcmUgaXMgcmVxdWlyZWQgZm9yIFNhZmFyaSB3aGljaCBtYXkgdHJ5IHRvIHNldCBmb2N1cyBvblxuICAgIC8vIGVsZW1lbnQgYmVmb3JlIGl0IGlzIHZpc2libGUuLi5cbiAgICBjb25zdCBmb2N1c1RpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmZpcnN0Rm9jdXNFbGVtZW50LmZvY3VzKCk7XG4gICAgICBjbGVhclRpbWVvdXQoZm9jdXNUaW1lcik7XG4gICAgfSwgMTApO1xuXG4gICAgdGhpcy5vbkZvY3VzSW5FdmVudCA9IHRoaXMub25Gb2N1c0luLmJpbmQodGhpcyk7XG4gICAgdGhpcy51bmxpc3RlbiA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuX2RvY3VtZW50LCAnZm9jdXNpbicsIHRoaXMub25Gb2N1c0luRXZlbnQpO1xuICAgIHRoaXMuYWN0aXZlID0gdHJ1ZTtcbiAgfVxuXG4gIHJlbW92ZUZvY3VzVHJhcCgpIHtcbiAgICBpZiAodGhpcy51bmxpc3Rlbikge1xuICAgICAgdGhpcy51bmxpc3RlbigpO1xuICAgIH1cblxuICAgIHJlbW92ZVJlYm91bmRFbGVtZW50c0Zyb21Gb2N1c1RyYXBFbGVtZW50KHRoaXMuZm9jdXNUcmFwRWxlbWVudCk7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5mb2N1c1RyYXBFbGVtZW50LCAndGFiaW5kZXgnKTtcbiAgICBGb2N1c1RyYXBUcmFja2VyU2VydmljZS5hY3RpdmF0ZVByZXZpb3VzQ3VycmVudCgpO1xuICAgIHRoaXMuYWN0aXZlID0gZmFsc2U7XG4gICAgaWYgKHRoaXMucHJldmlvdXNGb2N1cykge1xuICAgICAgdGhpcy5wcmV2aW91c0ZvY3VzLmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvbkZvY3VzSW4oZXZlbnQ6IEZvY3VzRXZlbnQpIHtcbiAgICByZWZvY3VzSWZPdXRzaWRlRm9jdXNUcmFwRWxlbWVudChcbiAgICAgIGV2ZW50LmNvbXBvc2VkUGF0aCgpWzBdIGFzIEhUTUxFbGVtZW50LFxuICAgICAgdGhpcy5mb2N1c1RyYXBFbGVtZW50LFxuICAgICAgdGhpcy5maXJzdEZvY3VzRWxlbWVudFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtdHJhcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3V0aWxzL2ZvY3VzLXRyYXAvZm9jdXMtdHJhcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlELE9BQU8sRUFBRSxRQUFRLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBUW5HLE1BQU0sVUFBVSxnQ0FBZ0MsQ0FDOUMsY0FBMkIsRUFDM0IsZ0JBQWtDLEVBQ2xDLGdCQUE4QjtJQUU5QixNQUFNLGtCQUFrQixHQUFHLHVCQUF1QixDQUFDLFVBQVUsRUFBRSxLQUFLLGdCQUFnQixDQUFDO0lBQ3JGLE1BQU0sZ0NBQWdDLEdBQUcsZ0NBQWdDLENBQUMsY0FBYyxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFFNUcsSUFBSSxrQkFBa0IsSUFBSSxnQ0FBZ0MsRUFBRTtRQUMxRCxnQkFBZ0IsR0FBRyxnQkFBZ0IsSUFBSSxnQkFBZ0IsQ0FBQztRQUN4RCxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztLQUMxQjtTQUFNO1FBQ0wsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO0tBQ3hCO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxnQ0FBZ0MsQ0FDOUMsY0FBMkIsRUFDM0IsZ0JBQWtDO0lBRWxDLElBQ0UsY0FBYyxLQUFLLGdCQUFnQixDQUFDLGlCQUFpQjtRQUNyRCxjQUFjLEtBQUssZ0JBQWdCLENBQUMsb0JBQW9CLEVBQ3hEO1FBQ0EsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELE1BQU0sNEJBQTRCLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRS9FLElBQUksNEJBQTRCLEVBQUU7UUFDaEMsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELElBQUksZ0JBQWdCLEtBQUssSUFBSSxJQUFJLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRTtRQUMxRSxPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsTUFBTSxVQUFVLDZCQUE2QixDQUFDLFFBQWtCO0lBQzlELE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckQsYUFBYSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDNUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUN6RCxPQUFPLGFBQWEsQ0FBQztBQUN2QixDQUFDO0FBRUQsTUFBTSxVQUFVLG9DQUFvQyxDQUFDLFFBQWtCLEVBQUUsZ0JBQWtDO0lBQ3pHLElBQUksZ0JBQWdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixFQUFFO1FBQ3JHLGdCQUFnQixDQUFDLGlCQUFpQixHQUFHLDZCQUE2QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdFLGdCQUFnQixDQUFDLG9CQUFvQixHQUFHLDZCQUE2QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRWhGLE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztRQUM5QyxNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUM7UUFFN0MsSUFBSSxNQUFNLEVBQUU7WUFDVixNQUFNLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixFQUFFLGdCQUFnQixDQUFDLENBQUM7WUFDMUUsSUFBSSxPQUFPLEVBQUU7Z0JBQ1gsTUFBTSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsQ0FBQzthQUNyRTtpQkFBTTtnQkFDTCxNQUFNLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLENBQUM7YUFDM0Q7U0FDRjtLQUNGO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSx5Q0FBeUMsQ0FBQyxnQkFBa0M7SUFDMUYsSUFBSSxnQkFBZ0IsRUFBRTtRQUNwQixNQUFNLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7UUFFOUMsSUFBSSxNQUFNLEVBQUU7WUFDVixNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQztZQUN0RCxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQztZQUM1RCxJQUFJLFVBQVUsRUFBRTtnQkFDZCxNQUFNLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ2hDO1lBQ0QsSUFBSSxhQUFhLEVBQUU7Z0JBQ2pCLE1BQU0sQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDbkM7U0FDRjtRQUNELGtHQUFrRztRQUNsRyxPQUFPLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDO1FBQzFDLE9BQU8sZ0JBQWdCLENBQUMsb0JBQW9CLENBQUM7S0FDOUM7QUFDSCxDQUFDO0FBRUQsb0ZBQW9GO0FBQ3BGLDRDQUE0QztBQUM1QyxNQUFNLFVBQVUsaUNBQWlDLENBQUMsRUFBZTtJQUMvRCxPQUFPLEVBQXNCLENBQUM7QUFDaEMsQ0FBQztBQUVELE1BQU0sT0FBTyxTQUFTO0lBV3BCLFlBQXNCLFFBQW1CLEVBQUUsUUFBa0IsRUFBRSxVQUFlLEVBQUUsV0FBNkI7UUFBdkYsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQVZ6QyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBV2IsSUFBSSxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDekM7UUFFRCxXQUFXLEdBQUcsaUNBQWlDLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFN0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUU7WUFDNUIsV0FBVyxDQUFDLFdBQVcsR0FBRyxRQUFRLEVBQUUsQ0FBQztTQUN0QztRQUVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxXQUFXLENBQUM7SUFDdEMsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDbEMsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDakUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUM7UUFFOUMsSUFBSSx1QkFBdUIsQ0FBQyxVQUFVLEVBQUUsS0FBSyxHQUFHLEVBQUU7WUFDaEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1NBQ3JFO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixHQUFJLGlCQUFpQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUVyRixvQ0FBb0MsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDckIsR0FBRyxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDcEM7UUFFRCxJQUFJLFFBQVEsSUFBSSxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDdkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxRQUF1QixDQUFDO1NBQzlDO1FBRUQsdUJBQXVCLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXhDLHVFQUF1RTtRQUN2RSxrQ0FBa0M7UUFDbEMsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNqQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDL0IsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVQLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDckYsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pCO1FBRUQseUNBQXlDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pFLHVCQUF1QixDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDbEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRU8sU0FBUyxDQUFDLEtBQWlCO1FBQ2pDLGdDQUFnQyxDQUM5QixLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFnQixFQUN0QyxJQUFJLENBQUMsZ0JBQWdCLEVBQ3JCLElBQUksQ0FBQyxpQkFBaUIsQ0FDdkIsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMyBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdG9yLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNyZWF0ZUlkLCBGb2N1c1RyYXBUcmFja2VyU2VydmljZSwgaXNGb2N1c2FibGUsIGlzSFRNTEVsZW1lbnQgfSBmcm9tICdAY2RzL2NvcmUvaW50ZXJuYWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvY3VzVHJhcEVsZW1lbnQgZXh0ZW5kcyBIVE1MRWxlbWVudCB7XG4gIHRvcFJlYm91bmRFbGVtZW50OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgYm90dG9tUmVib3VuZEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xuICBmb2N1c1RyYXBJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVmb2N1c0lmT3V0c2lkZUZvY3VzVHJhcEVsZW1lbnQoXG4gIGZvY3VzZWRFbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgZm9jdXNUcmFwRWxlbWVudDogRm9jdXNUcmFwRWxlbWVudCxcbiAgZWxlbWVudFRvUmVmb2N1cz86IEhUTUxFbGVtZW50XG4pIHtcbiAgY29uc3QgZm9jdXNUcmFwSXNDdXJyZW50ID0gRm9jdXNUcmFwVHJhY2tlclNlcnZpY2UuZ2V0Q3VycmVudCgpID09PSBmb2N1c1RyYXBFbGVtZW50O1xuICBjb25zdCBlbGVtZW50VG9Gb2N1c0lzT3V0c2lkZUZvY3VzVHJhcCA9IGVsZW1lbnRJc091dHNpZGVGb2N1c1RyYXBFbGVtZW50KGZvY3VzZWRFbGVtZW50LCBmb2N1c1RyYXBFbGVtZW50KTtcblxuICBpZiAoZm9jdXNUcmFwSXNDdXJyZW50ICYmIGVsZW1lbnRUb0ZvY3VzSXNPdXRzaWRlRm9jdXNUcmFwKSB7XG4gICAgZWxlbWVudFRvUmVmb2N1cyA9IGVsZW1lbnRUb1JlZm9jdXMgfHwgZm9jdXNUcmFwRWxlbWVudDtcbiAgICBlbGVtZW50VG9SZWZvY3VzLmZvY3VzKCk7XG4gIH0gZWxzZSB7XG4gICAgZm9jdXNlZEVsZW1lbnQuZm9jdXMoKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZWxlbWVudElzT3V0c2lkZUZvY3VzVHJhcEVsZW1lbnQoXG4gIGZvY3VzZWRFbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgZm9jdXNUcmFwRWxlbWVudDogRm9jdXNUcmFwRWxlbWVudFxuKTogYm9vbGVhbiB7XG4gIGlmIChcbiAgICBmb2N1c2VkRWxlbWVudCA9PT0gZm9jdXNUcmFwRWxlbWVudC50b3BSZWJvdW5kRWxlbWVudCB8fFxuICAgIGZvY3VzZWRFbGVtZW50ID09PSBmb2N1c1RyYXBFbGVtZW50LmJvdHRvbVJlYm91bmRFbGVtZW50XG4gICkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgY29uc3QgZWxlbWVudElzSW5Gb2N1c1RyYXBMaWdodERvbSA9IGZvY3VzVHJhcEVsZW1lbnQuY29udGFpbnMoZm9jdXNlZEVsZW1lbnQpO1xuXG4gIGlmIChlbGVtZW50SXNJbkZvY3VzVHJhcExpZ2h0RG9tKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGZvY3VzVHJhcEVsZW1lbnQgIT09IG51bGwgJiYgZm9jdXNUcmFwRWxlbWVudC5jb250YWlucyhmb2N1c2VkRWxlbWVudCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZvY3VzVHJhcFJlYm91bmRFbGVtZW50KGRvY3VtZW50OiBEb2N1bWVudCkge1xuICBjb25zdCBvZmZTY3JlZW5TcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICBvZmZTY3JlZW5TcGFuLnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAnMCcpO1xuICBvZmZTY3JlZW5TcGFuLmNsYXNzTGlzdC5hZGQoJ29mZnNjcmVlbi1mb2N1cy1yZWJvdW5kZXInKTtcbiAgcmV0dXJuIG9mZlNjcmVlblNwYW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRSZWJvdW5kRWxlbWVudHNUb0ZvY3VzVHJhcEVsZW1lbnQoZG9jdW1lbnQ6IERvY3VtZW50LCBmb2N1c1RyYXBFbGVtZW50OiBGb2N1c1RyYXBFbGVtZW50KSB7XG4gIGlmIChmb2N1c1RyYXBFbGVtZW50ICYmICFmb2N1c1RyYXBFbGVtZW50LnRvcFJlYm91bmRFbGVtZW50ICYmICFmb2N1c1RyYXBFbGVtZW50LmJvdHRvbVJlYm91bmRFbGVtZW50KSB7XG4gICAgZm9jdXNUcmFwRWxlbWVudC50b3BSZWJvdW5kRWxlbWVudCA9IGNyZWF0ZUZvY3VzVHJhcFJlYm91bmRFbGVtZW50KGRvY3VtZW50KTtcbiAgICBmb2N1c1RyYXBFbGVtZW50LmJvdHRvbVJlYm91bmRFbGVtZW50ID0gY3JlYXRlRm9jdXNUcmFwUmVib3VuZEVsZW1lbnQoZG9jdW1lbnQpO1xuXG4gICAgY29uc3QgcGFyZW50ID0gZm9jdXNUcmFwRWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgIGNvbnN0IHNpYmxpbmcgPSBmb2N1c1RyYXBFbGVtZW50Lm5leHRTaWJsaW5nO1xuXG4gICAgaWYgKHBhcmVudCkge1xuICAgICAgcGFyZW50Lmluc2VydEJlZm9yZShmb2N1c1RyYXBFbGVtZW50LnRvcFJlYm91bmRFbGVtZW50LCBmb2N1c1RyYXBFbGVtZW50KTtcbiAgICAgIGlmIChzaWJsaW5nKSB7XG4gICAgICAgIHBhcmVudC5pbnNlcnRCZWZvcmUoZm9jdXNUcmFwRWxlbWVudC5ib3R0b21SZWJvdW5kRWxlbWVudCwgc2libGluZyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoZm9jdXNUcmFwRWxlbWVudC5ib3R0b21SZWJvdW5kRWxlbWVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVSZWJvdW5kRWxlbWVudHNGcm9tRm9jdXNUcmFwRWxlbWVudChmb2N1c1RyYXBFbGVtZW50OiBGb2N1c1RyYXBFbGVtZW50KSB7XG4gIGlmIChmb2N1c1RyYXBFbGVtZW50KSB7XG4gICAgY29uc3QgcGFyZW50ID0gZm9jdXNUcmFwRWxlbWVudC5wYXJlbnRFbGVtZW50O1xuXG4gICAgaWYgKHBhcmVudCkge1xuICAgICAgY29uc3QgdG9wUmVib3VuZCA9IGZvY3VzVHJhcEVsZW1lbnQudG9wUmVib3VuZEVsZW1lbnQ7XG4gICAgICBjb25zdCBib3R0b21SZWJvdW5kID0gZm9jdXNUcmFwRWxlbWVudC5ib3R0b21SZWJvdW5kRWxlbWVudDtcbiAgICAgIGlmICh0b3BSZWJvdW5kKSB7XG4gICAgICAgIHBhcmVudC5yZW1vdmVDaGlsZCh0b3BSZWJvdW5kKTtcbiAgICAgIH1cbiAgICAgIGlmIChib3R0b21SZWJvdW5kKSB7XG4gICAgICAgIHBhcmVudC5yZW1vdmVDaGlsZChib3R0b21SZWJvdW5kKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gVGhlc2UgYXJlIGhlcmUgdG8gdG8gbWFrZSBzdXJlIHRoYXQgd2UgY29tcGxldGVseSBkZWxldGUgYWxsIHRyYWNlcyBvZiB0aGUgcmVtb3ZlZCBET00gb2JqZWN0cy5cbiAgICBkZWxldGUgZm9jdXNUcmFwRWxlbWVudC50b3BSZWJvdW5kRWxlbWVudDtcbiAgICBkZWxldGUgZm9jdXNUcmFwRWxlbWVudC5ib3R0b21SZWJvdW5kRWxlbWVudDtcbiAgfVxufVxuXG4vLyB0aGlzIGhlbHBlciBleGlzdHMgdG8gZW5hYmxlIHRoZSBmb2N1cyB0cmFwIGNsYXNzIHRvIGhhbmRsZSB2YW5pbGxhIGh0bWwgZWxlbWVudHNcbi8vIGl0J3MgcHJpbWFyeSBjb25jZXJuIGlzIHRvIGtlZXAgVFMgaGFwcHkuXG5leHBvcnQgZnVuY3Rpb24gY2FzdEh0bWxFbGVtZW50VG9Gb2N1c1RyYXBFbGVtZW50KGVsOiBIVE1MRWxlbWVudCk6IEZvY3VzVHJhcEVsZW1lbnQge1xuICByZXR1cm4gZWwgYXMgRm9jdXNUcmFwRWxlbWVudDtcbn1cblxuZXhwb3J0IGNsYXNzIEZvY3VzVHJhcCB7XG4gIGFjdGl2ZSA9IGZhbHNlO1xuICBmaXJzdEZvY3VzRWxlbWVudDogSFRNTEVsZW1lbnQgfCBGb2N1c1RyYXBFbGVtZW50O1xuICBmb2N1c1RyYXBFbGVtZW50OiBGb2N1c1RyYXBFbGVtZW50O1xuXG4gIHByb3RlY3RlZCBfZG9jdW1lbnQ6IERvY3VtZW50O1xuXG4gIHByaXZhdGUgcHJldmlvdXNGb2N1czogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgb25Gb2N1c0luRXZlbnQ6ICgpID0+IHZvaWQ7XG4gIHByaXZhdGUgdW5saXN0ZW46ICgpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlbmRlcmVyOiBSZW5kZXJlcjIsIGluamVjdG9yOiBJbmplY3RvciwgcGxhdGZvcm1JZDogYW55LCBob3N0RWxlbWVudDogRm9jdXNUcmFwRWxlbWVudCkge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3NlcihwbGF0Zm9ybUlkKSkge1xuICAgICAgdGhpcy5fZG9jdW1lbnQgPSBpbmplY3Rvci5nZXQoRE9DVU1FTlQpO1xuICAgIH1cblxuICAgIGhvc3RFbGVtZW50ID0gY2FzdEh0bWxFbGVtZW50VG9Gb2N1c1RyYXBFbGVtZW50KGhvc3RFbGVtZW50KTtcblxuICAgIGlmICghaG9zdEVsZW1lbnQuZm9jdXNUcmFwSWQpIHtcbiAgICAgIGhvc3RFbGVtZW50LmZvY3VzVHJhcElkID0gY3JlYXRlSWQoKTtcbiAgICB9XG5cbiAgICB0aGlzLmZvY3VzVHJhcEVsZW1lbnQgPSBob3N0RWxlbWVudDtcbiAgfVxuXG4gIGVuYWJsZUZvY3VzVHJhcCgpIHtcbiAgICBjb25zdCBmdGUgPSB0aGlzLmZvY3VzVHJhcEVsZW1lbnQ7XG4gICAgY29uc3QgZmlyc3RGb2N1c0VsZW1lbnQgPSBmdGUucXVlcnlTZWxlY3RvcignW2Nkcy1maXJzdC1mb2N1c10nKTtcbiAgICBjb25zdCBhY3RpdmVFbCA9IHRoaXMuX2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG5cbiAgICBpZiAoRm9jdXNUcmFwVHJhY2tlclNlcnZpY2UuZ2V0Q3VycmVudCgpID09PSBmdGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRm9jdXMgdHJhcCBpcyBhbHJlYWR5IGVuYWJsZWQgZm9yIHRoaXMgaW5zdGFuY2UuJyk7XG4gICAgfVxuXG4gICAgdGhpcy5maXJzdEZvY3VzRWxlbWVudCA9IChmaXJzdEZvY3VzRWxlbWVudCBhcyBIVE1MRWxlbWVudCkgfHwgdGhpcy5mb2N1c1RyYXBFbGVtZW50O1xuXG4gICAgYWRkUmVib3VuZEVsZW1lbnRzVG9Gb2N1c1RyYXBFbGVtZW50KHRoaXMuX2RvY3VtZW50LCBmdGUpO1xuXG4gICAgaWYgKCFpc0ZvY3VzYWJsZShmdGUpKSB7XG4gICAgICBmdGUuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsICctMScpO1xuICAgIH1cblxuICAgIGlmIChhY3RpdmVFbCAmJiBpc0hUTUxFbGVtZW50KGFjdGl2ZUVsKSkge1xuICAgICAgdGhpcy5wcmV2aW91c0ZvY3VzID0gYWN0aXZlRWwgYXMgSFRNTEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgRm9jdXNUcmFwVHJhY2tlclNlcnZpY2Uuc2V0Q3VycmVudChmdGUpO1xuXG4gICAgLy8gc2V0VGltZW91dCBoZXJlIGlzIHJlcXVpcmVkIGZvciBTYWZhcmkgd2hpY2ggbWF5IHRyeSB0byBzZXQgZm9jdXMgb25cbiAgICAvLyBlbGVtZW50IGJlZm9yZSBpdCBpcyB2aXNpYmxlLi4uXG4gICAgY29uc3QgZm9jdXNUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5maXJzdEZvY3VzRWxlbWVudC5mb2N1cygpO1xuICAgICAgY2xlYXJUaW1lb3V0KGZvY3VzVGltZXIpO1xuICAgIH0sIDEwKTtcblxuICAgIHRoaXMub25Gb2N1c0luRXZlbnQgPSB0aGlzLm9uRm9jdXNJbi5iaW5kKHRoaXMpO1xuICAgIHRoaXMudW5saXN0ZW4gPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLl9kb2N1bWVudCwgJ2ZvY3VzaW4nLCB0aGlzLm9uRm9jdXNJbkV2ZW50KTtcbiAgICB0aGlzLmFjdGl2ZSA9IHRydWU7XG4gIH1cblxuICByZW1vdmVGb2N1c1RyYXAoKSB7XG4gICAgaWYgKHRoaXMudW5saXN0ZW4pIHtcbiAgICAgIHRoaXMudW5saXN0ZW4oKTtcbiAgICB9XG5cbiAgICByZW1vdmVSZWJvdW5kRWxlbWVudHNGcm9tRm9jdXNUcmFwRWxlbWVudCh0aGlzLmZvY3VzVHJhcEVsZW1lbnQpO1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuZm9jdXNUcmFwRWxlbWVudCwgJ3RhYmluZGV4Jyk7XG4gICAgRm9jdXNUcmFwVHJhY2tlclNlcnZpY2UuYWN0aXZhdGVQcmV2aW91c0N1cnJlbnQoKTtcbiAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xuICAgIGlmICh0aGlzLnByZXZpb3VzRm9jdXMpIHtcbiAgICAgIHRoaXMucHJldmlvdXNGb2N1cy5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgb25Gb2N1c0luKGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgcmVmb2N1c0lmT3V0c2lkZUZvY3VzVHJhcEVsZW1lbnQoXG4gICAgICBldmVudC5jb21wb3NlZFBhdGgoKVswXSBhcyBIVE1MRWxlbWVudCxcbiAgICAgIHRoaXMuZm9jdXNUcmFwRWxlbWVudCxcbiAgICAgIHRoaXMuZmlyc3RGb2N1c0VsZW1lbnRcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -16,9 +16,6 @@ export class ClrForTypeAhead {
16
16
  this.el = el;
17
17
  this.forTypeAheadProvider = forTypeAheadProvider;
18
18
  }
19
- trimAndLowerCase(value) {
20
- return value.toLocaleLowerCase().trim();
21
- }
22
19
  get content() {
23
20
  return this._content;
24
21
  }
@@ -38,6 +35,9 @@ export class ClrForTypeAhead {
38
35
  this.forTypeAheadProvider.textContent = this._content;
39
36
  }
40
37
  }
38
+ trimAndLowerCase(value) {
39
+ return value.toLocaleLowerCase().trim();
40
+ }
41
41
  }
42
42
  ClrForTypeAhead.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrForTypeAhead, deps: [{ token: i0.ElementRef }, { token: i1.ForTypeAheadProvider }], target: i0.ɵɵFactoryTarget.Directive });
43
43
  ClrForTypeAhead.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: ClrForTypeAhead, selector: "[clrForTypeAhead]", inputs: { content: ["clrForTypeAhead", "content"] }, providers: [ForTypeAheadProvider], ngImport: i0 });
@@ -51,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
51
51
  type: Input,
52
52
  args: ['clrForTypeAhead']
53
53
  }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yLXR5cGUtYWhlYWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91dGlscy9mb3ItdHlwZS1haGVhZC9mb3ItdHlwZS1haGVhZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQUVoRSxtRkFBbUY7QUFDbkYsOENBQThDO0FBRTlDLHNHQUFzRztBQUN0RyxvRkFBb0Y7QUFNcEYsTUFBTSxPQUFPLGVBQWU7SUFDMUIsWUFBb0IsRUFBYyxFQUFVLG9CQUEwQztRQUFsRSxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtJQUFHLENBQUM7SUFFbEYsZ0JBQWdCLENBQUMsS0FBYTtRQUNwQyxPQUFPLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFJRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQThCLE9BQU8sQ0FBQyxLQUFhO1FBQ2pELElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQ3ZEO2FBQU07WUFDTCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7U0FDdkQ7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3pFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUN2RDtJQUNILENBQUM7OzZHQTVCVSxlQUFlO2lHQUFmLGVBQWUsaUdBSGYsQ0FBQyxvQkFBb0IsQ0FBQzs0RkFHdEIsZUFBZTtrQkFKM0IsU0FBUzttQkFBQztvQkFDVCxTQUFTLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDakMsUUFBUSxFQUFFLG1CQUFtQjtpQkFDOUI7b0lBYytCLE9BQU87c0JBQXBDLEtBQUs7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDIzIFZNd2FyZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZvclR5cGVBaGVhZFByb3ZpZGVyIH0gZnJvbSAnLi9mb3ItdHlwZS1haGVhZC5zZXJ2aWNlJztcblxuLy8gVGhlIHB1cnBvc2Ugb2YgdGhpcyBkaXJlY3RpdmUgaXMgdG8gcHJvdmlkZSB0aGUgdGV4dCBjb250ZW50IG9mIGl0cyBob3N0IGVsZW1lbnRcbi8vIG9yIHRleHQgY29udGVudCB0aGF0J3MgcGFzc2VkIHRvIGl0cyBpbnB1dC5cblxuLy8gVGhpcyBkaXJlY3RpdmUgbXVzdCBzdGF5IG9wdGlvbmFsLiBTbyBkbyBub3QgZW1iZWQgdGhpcyBkaXJlY3RpdmUgaW4gYSBjb21wb25lbnQgbW9kdWxlIGJ5IGRlZmF1bHQuXG4vLyBJZiB1c2VycyBuZWVkIHRvIHVzZSB0aGlzIGRpcmVjdGl2ZSwgdGhleSBzaG91bGQgaW1wb3J0IGl0cyBtb2R1bGUgb24gdGhlaXIgc2lkZS5cblxuQERpcmVjdGl2ZSh7XG4gIHByb3ZpZGVyczogW0ZvclR5cGVBaGVhZFByb3ZpZGVyXSxcbiAgc2VsZWN0b3I6ICdbY2xyRm9yVHlwZUFoZWFkXScsXG59KVxuZXhwb3J0IGNsYXNzIENsckZvclR5cGVBaGVhZCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgZm9yVHlwZUFoZWFkUHJvdmlkZXI6IEZvclR5cGVBaGVhZFByb3ZpZGVyKSB7fVxuXG4gIHByaXZhdGUgdHJpbUFuZExvd2VyQ2FzZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHZhbHVlLnRvTG9jYWxlTG93ZXJDYXNlKCkudHJpbSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY29udGVudDogc3RyaW5nO1xuXG4gIGdldCBjb250ZW50KCkge1xuICAgIHJldHVybiB0aGlzLl9jb250ZW50O1xuICB9XG5cbiAgQElucHV0KCdjbHJGb3JUeXBlQWhlYWQnKSBzZXQgY29udGVudCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLl9jb250ZW50ID0gdGhpcy50cmltQW5kTG93ZXJDYXNlKHZhbHVlKTtcbiAgICAgIHRoaXMuZm9yVHlwZUFoZWFkUHJvdmlkZXIudGV4dENvbnRlbnQgPSB0aGlzLl9jb250ZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9jb250ZW50ID0gdGhpcy50cmltQW5kTG93ZXJDYXNlKHRoaXMuZWwubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudCk7XG4gICAgICB0aGlzLmZvclR5cGVBaGVhZFByb3ZpZGVyLnRleHRDb250ZW50ID0gdGhpcy5fY29udGVudDtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuX2NvbnRlbnQpIHtcbiAgICAgIHRoaXMuX2NvbnRlbnQgPSB0aGlzLnRyaW1BbmRMb3dlckNhc2UodGhpcy5lbC5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50KTtcbiAgICAgIHRoaXMuZm9yVHlwZUFoZWFkUHJvdmlkZXIudGV4dENvbnRlbnQgPSB0aGlzLl9jb250ZW50O1xuICAgIH1cbiAgfVxufVxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yLXR5cGUtYWhlYWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy91dGlscy9mb3ItdHlwZS1haGVhZC9mb3ItdHlwZS1haGVhZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7OztBQUVoRSxtRkFBbUY7QUFDbkYsOENBQThDO0FBRTlDLHNHQUFzRztBQUN0RyxvRkFBb0Y7QUFNcEYsTUFBTSxPQUFPLGVBQWU7SUFHMUIsWUFBb0IsRUFBYyxFQUFVLG9CQUEwQztRQUFsRSxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtJQUFHLENBQUM7SUFFMUYsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFhO1FBQ3ZCLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQ3ZEO2FBQU07WUFDTCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7U0FDdkQ7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3pFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUN2RDtJQUNILENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFhO1FBQ3BDLE9BQU8sS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUMsQ0FBQzs7NkdBNUJVLGVBQWU7aUdBQWYsZUFBZSxpR0FIZixDQUFDLG9CQUFvQixDQUFDOzRGQUd0QixlQUFlO2tCQUozQixTQUFTO21CQUFDO29CQUNULFNBQVMsRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUNqQyxRQUFRLEVBQUUsbUJBQW1CO2lCQUM5QjtvSUFPSyxPQUFPO3NCQURWLEtBQUs7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNi0yMDIzIFZNd2FyZSwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciBNSVQgbGljZW5zZS5cbiAqIFRoZSBmdWxsIGxpY2Vuc2UgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIGluIExJQ0VOU0UgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgcHJvamVjdC5cbiAqL1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZvclR5cGVBaGVhZFByb3ZpZGVyIH0gZnJvbSAnLi9mb3ItdHlwZS1haGVhZC5zZXJ2aWNlJztcblxuLy8gVGhlIHB1cnBvc2Ugb2YgdGhpcyBkaXJlY3RpdmUgaXMgdG8gcHJvdmlkZSB0aGUgdGV4dCBjb250ZW50IG9mIGl0cyBob3N0IGVsZW1lbnRcbi8vIG9yIHRleHQgY29udGVudCB0aGF0J3MgcGFzc2VkIHRvIGl0cyBpbnB1dC5cblxuLy8gVGhpcyBkaXJlY3RpdmUgbXVzdCBzdGF5IG9wdGlvbmFsLiBTbyBkbyBub3QgZW1iZWQgdGhpcyBkaXJlY3RpdmUgaW4gYSBjb21wb25lbnQgbW9kdWxlIGJ5IGRlZmF1bHQuXG4vLyBJZiB1c2VycyBuZWVkIHRvIHVzZSB0aGlzIGRpcmVjdGl2ZSwgdGhleSBzaG91bGQgaW1wb3J0IGl0cyBtb2R1bGUgb24gdGhlaXIgc2lkZS5cblxuQERpcmVjdGl2ZSh7XG4gIHByb3ZpZGVyczogW0ZvclR5cGVBaGVhZFByb3ZpZGVyXSxcbiAgc2VsZWN0b3I6ICdbY2xyRm9yVHlwZUFoZWFkXScsXG59KVxuZXhwb3J0IGNsYXNzIENsckZvclR5cGVBaGVhZCB7XG4gIHByaXZhdGUgX2NvbnRlbnQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIGZvclR5cGVBaGVhZFByb3ZpZGVyOiBGb3JUeXBlQWhlYWRQcm92aWRlcikge31cblxuICBASW5wdXQoJ2NsckZvclR5cGVBaGVhZCcpXG4gIGdldCBjb250ZW50KCkge1xuICAgIHJldHVybiB0aGlzLl9jb250ZW50O1xuICB9XG4gIHNldCBjb250ZW50KHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuX2NvbnRlbnQgPSB0aGlzLnRyaW1BbmRMb3dlckNhc2UodmFsdWUpO1xuICAgICAgdGhpcy5mb3JUeXBlQWhlYWRQcm92aWRlci50ZXh0Q29udGVudCA9IHRoaXMuX2NvbnRlbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2NvbnRlbnQgPSB0aGlzLnRyaW1BbmRMb3dlckNhc2UodGhpcy5lbC5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50KTtcbiAgICAgIHRoaXMuZm9yVHlwZUFoZWFkUHJvdmlkZXIudGV4dENvbnRlbnQgPSB0aGlzLl9jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5fY29udGVudCkge1xuICAgICAgdGhpcy5fY29udGVudCA9IHRoaXMudHJpbUFuZExvd2VyQ2FzZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQpO1xuICAgICAgdGhpcy5mb3JUeXBlQWhlYWRQcm92aWRlci50ZXh0Q29udGVudCA9IHRoaXMuX2NvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0cmltQW5kTG93ZXJDYXNlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKS50cmltKCk7XG4gIH1cbn1cbiJdfQ==
@@ -10,9 +10,6 @@ export class ForTypeAheadProvider {
10
10
  constructor() {
11
11
  this._textContentChange = new Subject();
12
12
  }
13
- get textContentChange() {
14
- return this._textContentChange.asObservable();
15
- }
16
13
  get textContent() {
17
14
  return this._textContent;
18
15
  }
@@ -20,10 +17,13 @@ export class ForTypeAheadProvider {
20
17
  this._textContent = value;
21
18
  this._textContentChange.next(value);
22
19
  }
20
+ get textContentChange() {
21
+ return this._textContentChange.asObservable();
22
+ }
23
23
  }
24
24
  ForTypeAheadProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ForTypeAheadProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
25
25
  ForTypeAheadProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ForTypeAheadProvider });
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ForTypeAheadProvider, decorators: [{
27
27
  type: Injectable
28
28
  }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yLXR5cGUtYWhlYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3V0aWxzL2Zvci10eXBlLWFoZWFkL2Zvci10eXBlLWFoZWFkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLG9CQUFvQjtJQURqQztRQUVVLHVCQUFrQixHQUFvQixJQUFJLE9BQU8sRUFBVSxDQUFDO0tBZ0JyRTtJQWRDLElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFJRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDOztrSEFoQlUsb0JBQW9CO3NIQUFwQixvQkFBb0I7NEZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMyBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRm9yVHlwZUFoZWFkUHJvdmlkZXIge1xuICBwcml2YXRlIF90ZXh0Q29udGVudENoYW5nZTogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuXG4gIGdldCB0ZXh0Q29udGVudENoYW5nZSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLl90ZXh0Q29udGVudENoYW5nZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3RleHRDb250ZW50OiBzdHJpbmc7XG5cbiAgZ2V0IHRleHRDb250ZW50KCkge1xuICAgIHJldHVybiB0aGlzLl90ZXh0Q29udGVudDtcbiAgfVxuXG4gIHNldCB0ZXh0Q29udGVudCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdGV4dENvbnRlbnQgPSB2YWx1ZTtcbiAgICB0aGlzLl90ZXh0Q29udGVudENoYW5nZS5uZXh0KHZhbHVlKTtcbiAgfVxufVxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yLXR5cGUtYWhlYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3V0aWxzL2Zvci10eXBlLWFoZWFkL2Zvci10eXBlLWFoZWFkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLG9CQUFvQjtJQURqQztRQUdVLHVCQUFrQixHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7S0FhcEQ7SUFYQyxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQUksV0FBVyxDQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDaEQsQ0FBQzs7a0hBZFUsb0JBQW9CO3NIQUFwQixvQkFBb0I7NEZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMyBWTXdhcmUsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRm9yVHlwZUFoZWFkUHJvdmlkZXIge1xuICBwcml2YXRlIF90ZXh0Q29udGVudDogc3RyaW5nO1xuICBwcml2YXRlIF90ZXh0Q29udGVudENoYW5nZSA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICBnZXQgdGV4dENvbnRlbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RleHRDb250ZW50O1xuICB9XG4gIHNldCB0ZXh0Q29udGVudCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdGV4dENvbnRlbnQgPSB2YWx1ZTtcbiAgICB0aGlzLl90ZXh0Q29udGVudENoYW5nZS5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIGdldCB0ZXh0Q29udGVudENoYW5nZSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLl90ZXh0Q29udGVudENoYW5nZS5hc09ic2VydmFibGUoKTtcbiAgfVxufVxuIl19
@@ -40,4 +40,4 @@ export class HostWrapper {
40
40
  return this.injector.get(token, notFoundValue);
41
41
  }
42
42
  }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdC13cmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdXRpbHMvaG9zdC13cmFwcGluZy9ob3N0LXdyYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFFTCx3QkFBd0IsRUFDeEIsVUFBVSxHQUtYLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3Qzs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFDdEIsWUFBWSxhQUFzQixFQUFFLEdBQXFCLEVBQUUsS0FBSyxHQUFHLENBQUM7UUFDbEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQzdCLHVEQUF1RDtRQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQzNDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFDeEQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFekMsZ0VBQWdFO1lBQ2hFLEdBQUcsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDOUQsTUFBTSxPQUFPLEdBQXdCLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNoRiw4RkFBOEY7WUFDOUYsK0ZBQStGO1lBQy9GLDZDQUE2QztZQUM3QyxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDbkIsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3BDLDhGQUE4RjtZQUM5RiwyQ0FBMkM7WUFDM0MsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNqRix1Q0FBdUM7WUFDdkMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVkLHFEQUFxRDtZQUNyRCxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFFdEMsMkZBQTJGO1lBQzNGLElBQUksQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztTQUN2QztJQUNILENBQUM7SUFJRCxHQUFHLENBQUksS0FBa0MsRUFBRSxhQUFpQjtRQUMxRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNqRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjMgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudEZhY3RvcnksXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIEluamVjdG9yLFxuICBUeXBlLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRHluYW1pY1dyYXBwZXIgfSBmcm9tICcuL2R5bmFtaWMtd3JhcHBlcic7XG5pbXBvcnQgeyBFbXB0eUFuY2hvciB9IGZyb20gJy4vZW1wdHktYW5jaG9yJztcblxuLyoqXG4gKiBIb3N0V3JhcHBlciBtdXN0IGJlIGNhbGxlZCBpbiBPbkluaXQgdG8gZW5zdXJlIHRoYXQgdGhlIFZpZXdzIGFyZSByZWFkeS4gSWYgaXRzIGNhbGxlZCBpbiBhIGNvbnN0cnVjdG9yIHRoZSB2aWV3IGlzXG4gKiBzdGlsbCB1bmRlZmluZWQuXG4gKiBUT0RPIC0gbWFrZSBzdXJlIHRoZXNlIGNvbW1lbnQgYW5ub3RhdGlvbnMgZG8gbm90IGJyZWFrIG5nLXBhY2tnci5cbiAqL1xuZXhwb3J0IGNsYXNzIEhvc3RXcmFwcGVyPFcgZXh0ZW5kcyBEeW5hbWljV3JhcHBlcj4gaW1wbGVtZW50cyBJbmplY3RvciB7XG4gIGNvbnN0cnVjdG9yKGNvbnRhaW5lclR5cGU6IFR5cGU8Vz4sIHZjcjogVmlld0NvbnRhaW5lclJlZiwgaW5kZXggPSAwKSB7XG4gICAgdGhpcy5pbmplY3RvciA9IHZjci5pbmplY3RvcjtcbiAgICAvLyBJZiB0aGUgaG9zdCBpcyBhbHJlYWR5IHdyYXBwZWQsIHdlIGRvbid0IGRvIGFueXRoaW5nXG4gICAgaWYgKCF0aGlzLmluamVjdG9yLmdldChjb250YWluZXJUeXBlLCBudWxsKSkge1xuICAgICAgY29uc3QgY2ZyID0gdGhpcy5pbmplY3Rvci5nZXQoQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKTtcbiAgICAgIGNvbnN0IGVsID0gdGhpcy5pbmplY3Rvci5nZXQoRWxlbWVudFJlZik7XG5cbiAgICAgIC8vIFdlIG5lZWQgYSBuZXcgYW5jaG9yLCBzaW5jZSB3ZSdyZSBwcm9qZWN0aW5nIHRoZSBjdXJyZW50IG9uZS5cbiAgICAgIHZjci5jcmVhdGVDb21wb25lbnQoY2ZyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KEVtcHR5QW5jaG9yKSk7XG4gICAgICBjb25zdCBmYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5PFc+ID0gY2ZyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbnRhaW5lclR5cGUpO1xuICAgICAgLy8gQ3JhZnQgdGhlIGVsZW1lbnQgYXJyYXkgYmFzZWQgb24gd2hhdCBzbG90IHRvIHVzZS4gQW5ndWxhciBvbmx5IHVzZXMgdGhlIGluZGV4IHRvIGRldGVybWluZVxuICAgICAgLy8gd2hpY2ggbmctY29udGVudCB0byBwcm9qZWN0IGludG8sIHNvIGlmIHlvdSBoYXZlIG1vcmUgdGhhbiBvbmUgbmctY29udGVudCB5b3UnbGwgbmVlZCB0byBzZXRcbiAgICAgIC8vIHRoZSBpbmRleCBpbiB0aGUgY29uc3RydWN0b3IgYXBwcm9wcmlhdGVseVxuICAgICAgY29uc3QgZWxlbWVudCA9IFtdO1xuICAgICAgZWxlbWVudFtpbmRleF0gPSBbZWwubmF0aXZlRWxlbWVudF07XG4gICAgICAvLyBXZSdyZSBhc3N1bWluZyBvbmx5IG9uZSBwcm9qZWN0aW9uIHNsb3QsIGJ1dCBpbiBtb3JlIGNvbXBsZXggY2FzZXMgd2UgbWlnaHQgd2FudCB0byBwcm92aWRlXG4gICAgICAvLyBhIGRpZmZlcmVudCBhcnJheSBvZiBwcm9qZWN0ZWQgZWxlbWVudHMuXG4gICAgICBjb25zdCBjb250YWluZXJSZWYgPSB2Y3IuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnksIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBlbGVtZW50KTtcbiAgICAgIC8vIFdlIGNhbiBub3cgcmVtb3ZlIHRoZSB1c2VsZXNzIGFuY2hvclxuICAgICAgdmNyLnJlbW92ZSgwKTtcblxuICAgICAgLy8gV2Ugbm90ZSB0aGF0IHRoZSBjb250YWluZXIgd2FzIGR5bmFtaWNhbGx5IGNyZWF0ZWRcbiAgICAgIGNvbnRhaW5lclJlZi5pbnN0YW5jZS5fZHluYW1pYyA9IHRydWU7XG5cbiAgICAgIC8vIFdlIGtlZXAgdGhlIHdyYXBwZXIncyBpbmplY3RvciB0byBhY2Nlc3MgdGhlIGRlcGVuZGVuY2llcyB0aGF0IHdlcmVuJ3QgYXZhaWxhYmxlIGJlZm9yZS5cbiAgICAgIHRoaXMuaW5qZWN0b3IgPSBjb250YWluZXJSZWYuaW5qZWN0b3I7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3I7XG5cbiAgZ2V0PFQ+KHRva2VuOiBUeXBlPFQ+IHwgSW5qZWN0aW9uVG9rZW48VD4sIG5vdEZvdW5kVmFsdWU/OiBUKTogVCB7XG4gICAgcmV0dXJuIHRoaXMuaW5qZWN0b3IuZ2V0KHRva2VuLCBub3RGb3VuZFZhbHVlKTtcbiAgfVxufVxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdC13cmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvdXRpbHMvaG9zdC13cmFwcGluZy9ob3N0LXdyYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFFTCx3QkFBd0IsRUFDeEIsVUFBVSxHQUtYLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3Qzs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFHdEIsWUFBWSxhQUFzQixFQUFFLEdBQXFCLEVBQUUsS0FBSyxHQUFHLENBQUM7UUFDbEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQzdCLHVEQUF1RDtRQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQzNDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFDeEQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFekMsZ0VBQWdFO1lBQ2hFLEdBQUcsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDOUQsTUFBTSxPQUFPLEdBQXdCLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNoRiw4RkFBOEY7WUFDOUYsK0ZBQStGO1lBQy9GLDZDQUE2QztZQUM3QyxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDbkIsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3BDLDhGQUE4RjtZQUM5RiwyQ0FBMkM7WUFDM0MsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNqRix1Q0FBdUM7WUFDdkMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVkLHFEQUFxRDtZQUNyRCxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFFdEMsMkZBQTJGO1lBQzNGLElBQUksQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztTQUN2QztJQUNILENBQUM7SUFFRCxHQUFHLENBQUksS0FBa0MsRUFBRSxhQUFpQjtRQUMxRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNqRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjMgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7XG4gIENvbXBvbmVudEZhY3RvcnksXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIEluamVjdG9yLFxuICBUeXBlLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRHluYW1pY1dyYXBwZXIgfSBmcm9tICcuL2R5bmFtaWMtd3JhcHBlcic7XG5pbXBvcnQgeyBFbXB0eUFuY2hvciB9IGZyb20gJy4vZW1wdHktYW5jaG9yJztcblxuLyoqXG4gKiBIb3N0V3JhcHBlciBtdXN0IGJlIGNhbGxlZCBpbiBPbkluaXQgdG8gZW5zdXJlIHRoYXQgdGhlIFZpZXdzIGFyZSByZWFkeS4gSWYgaXRzIGNhbGxlZCBpbiBhIGNvbnN0cnVjdG9yIHRoZSB2aWV3IGlzXG4gKiBzdGlsbCB1bmRlZmluZWQuXG4gKiBUT0RPIC0gbWFrZSBzdXJlIHRoZXNlIGNvbW1lbnQgYW5ub3RhdGlvbnMgZG8gbm90IGJyZWFrIG5nLXBhY2tnci5cbiAqL1xuZXhwb3J0IGNsYXNzIEhvc3RXcmFwcGVyPFcgZXh0ZW5kcyBEeW5hbWljV3JhcHBlcj4gaW1wbGVtZW50cyBJbmplY3RvciB7XG4gIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yO1xuXG4gIGNvbnN0cnVjdG9yKGNvbnRhaW5lclR5cGU6IFR5cGU8Vz4sIHZjcjogVmlld0NvbnRhaW5lclJlZiwgaW5kZXggPSAwKSB7XG4gICAgdGhpcy5pbmplY3RvciA9IHZjci5pbmplY3RvcjtcbiAgICAvLyBJZiB0aGUgaG9zdCBpcyBhbHJlYWR5IHdyYXBwZWQsIHdlIGRvbid0IGRvIGFueXRoaW5nXG4gICAgaWYgKCF0aGlzLmluamVjdG9yLmdldChjb250YWluZXJUeXBlLCBudWxsKSkge1xuICAgICAgY29uc3QgY2ZyID0gdGhpcy5pbmplY3Rvci5nZXQoQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKTtcbiAgICAgIGNvbnN0IGVsID0gdGhpcy5pbmplY3Rvci5nZXQoRWxlbWVudFJlZik7XG5cbiAgICAgIC8vIFdlIG5lZWQgYSBuZXcgYW5jaG9yLCBzaW5jZSB3ZSdyZSBwcm9qZWN0aW5nIHRoZSBjdXJyZW50IG9uZS5cbiAgICAgIHZjci5jcmVhdGVDb21wb25lbnQoY2ZyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KEVtcHR5QW5jaG9yKSk7XG4gICAgICBjb25zdCBmYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5PFc+ID0gY2ZyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbnRhaW5lclR5cGUpO1xuICAgICAgLy8gQ3JhZnQgdGhlIGVsZW1lbnQgYXJyYXkgYmFzZWQgb24gd2hhdCBzbG90IHRvIHVzZS4gQW5ndWxhciBvbmx5IHVzZXMgdGhlIGluZGV4IHRvIGRldGVybWluZVxuICAgICAgLy8gd2hpY2ggbmctY29udGVudCB0byBwcm9qZWN0IGludG8sIHNvIGlmIHlvdSBoYXZlIG1vcmUgdGhhbiBvbmUgbmctY29udGVudCB5b3UnbGwgbmVlZCB0byBzZXRcbiAgICAgIC8vIHRoZSBpbmRleCBpbiB0aGUgY29uc3RydWN0b3IgYXBwcm9wcmlhdGVseVxuICAgICAgY29uc3QgZWxlbWVudCA9IFtdO1xuICAgICAgZWxlbWVudFtpbmRleF0gPSBbZWwubmF0aXZlRWxlbWVudF07XG4gICAgICAvLyBXZSdyZSBhc3N1bWluZyBvbmx5IG9uZSBwcm9qZWN0aW9uIHNsb3QsIGJ1dCBpbiBtb3JlIGNvbXBsZXggY2FzZXMgd2UgbWlnaHQgd2FudCB0byBwcm92aWRlXG4gICAgICAvLyBhIGRpZmZlcmVudCBhcnJheSBvZiBwcm9qZWN0ZWQgZWxlbWVudHMuXG4gICAgICBjb25zdCBjb250YWluZXJSZWYgPSB2Y3IuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnksIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBlbGVtZW50KTtcbiAgICAgIC8vIFdlIGNhbiBub3cgcmVtb3ZlIHRoZSB1c2VsZXNzIGFuY2hvclxuICAgICAgdmNyLnJlbW92ZSgwKTtcblxuICAgICAgLy8gV2Ugbm90ZSB0aGF0IHRoZSBjb250YWluZXIgd2FzIGR5bmFtaWNhbGx5IGNyZWF0ZWRcbiAgICAgIGNvbnRhaW5lclJlZi5pbnN0YW5jZS5fZHluYW1pYyA9IHRydWU7XG5cbiAgICAgIC8vIFdlIGtlZXAgdGhlIHdyYXBwZXIncyBpbmplY3RvciB0byBhY2Nlc3MgdGhlIGRlcGVuZGVuY2llcyB0aGF0IHdlcmVuJ3QgYXZhaWxhYmxlIGJlZm9yZS5cbiAgICAgIHRoaXMuaW5qZWN0b3IgPSBjb250YWluZXJSZWYuaW5qZWN0b3I7XG4gICAgfVxuICB9XG5cbiAgZ2V0PFQ+KHRva2VuOiBUeXBlPFQ+IHwgSW5qZWN0aW9uVG9rZW48VD4sIG5vdEZvdW5kVmFsdWU/OiBUKTogVCB7XG4gICAgcmV0dXJuIHRoaXMuaW5qZWN0b3IuZ2V0KHRva2VuLCBub3RGb3VuZFZhbHVlKTtcbiAgfVxufVxuIl19