@sbb-esta/lyne-elements 3.0.0-next.3 → 3.0.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 (554) hide show
  1. package/accordion/accordion.component.js +10 -10
  2. package/alert/alert/alert.component.d.ts +4 -8
  3. package/alert/alert/alert.component.d.ts.map +1 -1
  4. package/alert/alert/alert.component.js +33 -33
  5. package/alert/alert-group/alert-group.component.d.ts +0 -3
  6. package/alert/alert-group/alert-group.component.d.ts.map +1 -1
  7. package/alert/alert-group/alert-group.component.js +44 -45
  8. package/autocomplete/autocomplete-base-element.d.ts +1 -1
  9. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  10. package/autocomplete/autocomplete-base-element.js +12 -10
  11. package/autocomplete/autocomplete.component.d.ts +0 -4
  12. package/autocomplete/autocomplete.component.d.ts.map +1 -1
  13. package/autocomplete/autocomplete.component.js +1 -1
  14. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +0 -4
  15. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  16. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +11 -11
  17. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +0 -10
  18. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  19. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +14 -18
  20. package/button/accent-button/accent-button.component.d.ts +0 -1
  21. package/button/accent-button/accent-button.component.d.ts.map +1 -1
  22. package/button/button/button.component.d.ts +0 -1
  23. package/button/button/button.component.d.ts.map +1 -1
  24. package/button/mini-button/mini-button.component.d.ts +0 -1
  25. package/button/mini-button/mini-button.component.d.ts.map +1 -1
  26. package/button/secondary-button/secondary-button.component.d.ts +0 -1
  27. package/button/secondary-button/secondary-button.component.d.ts.map +1 -1
  28. package/button/transparent-button/transparent-button.component.d.ts +0 -1
  29. package/button/transparent-button/transparent-button.component.d.ts.map +1 -1
  30. package/calendar/calendar.component.d.ts +1 -5
  31. package/calendar/calendar.component.d.ts.map +1 -1
  32. package/calendar/calendar.component.js +68 -66
  33. package/card/card-button/card-button.component.d.ts +0 -1
  34. package/card/card-button/card-button.component.d.ts.map +1 -1
  35. package/checkbox/checkbox/checkbox.component.d.ts +2 -2
  36. package/checkbox/checkbox-panel/checkbox-panel.component.d.ts +3 -13
  37. package/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  38. package/checkbox/checkbox-panel/checkbox-panel.component.js +37 -39
  39. package/chip/chip/chip.component.d.ts +2 -3
  40. package/chip/chip/chip.component.d.ts.map +1 -1
  41. package/chip/chip/chip.component.js +31 -30
  42. package/chip/chip-group/chip-group.component.d.ts +4 -12
  43. package/chip/chip-group/chip-group.component.d.ts.map +1 -1
  44. package/chip/chip-group/chip-group.component.js +52 -46
  45. package/container/sticky-bar/sticky-bar.component.d.ts +6 -12
  46. package/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
  47. package/container/sticky-bar/sticky-bar.component.js +49 -49
  48. package/core/base-elements/open-close-base-element.d.ts +12 -22
  49. package/core/base-elements/open-close-base-element.d.ts.map +1 -1
  50. package/core/base-elements/open-close-base-element.js +23 -17
  51. package/core/eventing.d.ts +0 -1
  52. package/core/eventing.d.ts.map +1 -1
  53. package/core/eventing.js +10 -12
  54. package/core/interfaces/types.d.ts +0 -5
  55. package/core/interfaces/types.d.ts.map +1 -1
  56. package/core/interfaces.d.ts +0 -1
  57. package/core/interfaces.d.ts.map +1 -1
  58. package/core/mixins/disabled-mixin.d.ts.map +1 -1
  59. package/core/mixins/disabled-mixin.js +43 -40
  60. package/core/mixins/panel-mixin.d.ts.map +1 -1
  61. package/core/mixins/panel-mixin.js +35 -38
  62. package/core/mixins/readonly-mixin.d.ts.map +1 -1
  63. package/core/mixins/readonly-mixin.js +25 -19
  64. package/custom-elements.json +3348 -2340
  65. package/date-input/date-input.component.d.ts +0 -1
  66. package/date-input/date-input.component.d.ts.map +1 -1
  67. package/datepicker/datepicker/datepicker.component.d.ts +7 -9
  68. package/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  69. package/datepicker/datepicker/datepicker.component.js +34 -28
  70. package/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts +0 -1
  71. package/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
  72. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts +0 -1
  73. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
  74. package/development/accordion/accordion.component.js +3 -3
  75. package/development/action-group/action-group.component.js +1 -1
  76. package/development/alert/alert/alert.component.d.ts +4 -8
  77. package/development/alert/alert/alert.component.d.ts.map +1 -1
  78. package/development/alert/alert/alert.component.js +11 -9
  79. package/development/alert/alert-group/alert-group.component.d.ts +0 -3
  80. package/development/alert/alert-group/alert-group.component.d.ts.map +1 -1
  81. package/development/alert/alert-group/alert-group.component.js +14 -18
  82. package/development/autocomplete/autocomplete-base-element.d.ts +1 -1
  83. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  84. package/development/autocomplete/autocomplete-base-element.js +8 -9
  85. package/development/autocomplete/autocomplete.component.d.ts +0 -4
  86. package/development/autocomplete/autocomplete.component.d.ts.map +1 -1
  87. package/development/autocomplete/autocomplete.component.js +2 -2
  88. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +0 -4
  89. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  90. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +2 -2
  91. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +1 -1
  92. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
  93. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +1 -1
  94. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +0 -10
  95. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  96. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +5 -9
  97. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
  98. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
  99. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  100. package/development/button/accent-button/accent-button.component.d.ts +0 -1
  101. package/development/button/accent-button/accent-button.component.d.ts.map +1 -1
  102. package/development/button/accent-button/accent-button.component.js +1 -1
  103. package/development/button/button/button.component.d.ts +0 -1
  104. package/development/button/button/button.component.d.ts.map +1 -1
  105. package/development/button/button/button.component.js +1 -1
  106. package/development/button/common/button-common.js +1 -1
  107. package/development/button/mini-button/mini-button.component.d.ts +0 -1
  108. package/development/button/mini-button/mini-button.component.d.ts.map +1 -1
  109. package/development/button/mini-button/mini-button.component.js +1 -1
  110. package/development/button/mini-button-group/mini-button-group.component.js +1 -1
  111. package/development/button/secondary-button/secondary-button.component.d.ts +0 -1
  112. package/development/button/secondary-button/secondary-button.component.d.ts.map +1 -1
  113. package/development/button/secondary-button/secondary-button.component.js +1 -1
  114. package/development/button/transparent-button/transparent-button.component.d.ts +0 -1
  115. package/development/button/transparent-button/transparent-button.component.d.ts.map +1 -1
  116. package/development/button/transparent-button/transparent-button.component.js +1 -1
  117. package/development/calendar/calendar.component.d.ts +1 -5
  118. package/development/calendar/calendar.component.d.ts.map +1 -1
  119. package/development/calendar/calendar.component.js +11 -9
  120. package/development/card/card/card.component.js +1 -1
  121. package/development/card/card-badge/card-badge.component.js +1 -1
  122. package/development/card/card-button/card-button.component.d.ts +0 -1
  123. package/development/card/card-button/card-button.component.d.ts.map +1 -1
  124. package/development/card/card-button/card-button.component.js +1 -1
  125. package/development/card/card-link/card-link.component.js +1 -1
  126. package/development/card/common/card-action-common.js +1 -1
  127. package/development/checkbox/checkbox/checkbox.component.d.ts +2 -2
  128. package/development/checkbox/checkbox/checkbox.component.js +1 -1
  129. package/development/checkbox/checkbox-group/checkbox-group.component.js +1 -1
  130. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts +3 -13
  131. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  132. package/development/checkbox/checkbox-panel/checkbox-panel.component.js +14 -17
  133. package/development/checkbox/common/checkbox-common.js +1 -1
  134. package/development/chip/chip/chip.component.d.ts +2 -3
  135. package/development/chip/chip/chip.component.d.ts.map +1 -1
  136. package/development/chip/chip/chip.component.js +11 -10
  137. package/development/chip/chip-group/chip-group.component.d.ts +4 -12
  138. package/development/chip/chip-group/chip-group.component.d.ts.map +1 -1
  139. package/development/chip/chip-group/chip-group.component.js +20 -16
  140. package/development/chip-label/chip-label.component.js +1 -1
  141. package/development/clock/clock.component.js +1 -1
  142. package/development/container/container/container.component.js +1 -1
  143. package/development/container/sticky-bar/sticky-bar.component.d.ts +6 -12
  144. package/development/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
  145. package/development/container/sticky-bar/sticky-bar.component.js +20 -22
  146. package/development/core/a11y/arrow-navigation.js +1 -1
  147. package/development/core/a11y/focus-trap-controller.js +1 -1
  148. package/development/core/a11y/focus-visible-within-controller.js +1 -1
  149. package/development/core/a11y/input-modality-detector.js +1 -1
  150. package/development/core/a11y/interactivity-checker.js +1 -1
  151. package/development/core/a11y/live-announcer.js +1 -1
  152. package/development/core/base-elements/action-base-element.js +1 -1
  153. package/development/core/base-elements/button-base-element.js +1 -1
  154. package/development/core/base-elements/link-base-element.js +1 -1
  155. package/development/core/base-elements/open-close-base-element.d.ts +12 -22
  156. package/development/core/base-elements/open-close-base-element.d.ts.map +1 -1
  157. package/development/core/base-elements/open-close-base-element.js +17 -15
  158. package/development/core/config/config.js +1 -1
  159. package/development/core/controllers/escapable-overlay-controller.js +1 -1
  160. package/development/core/controllers/id-reference-controller.js +1 -1
  161. package/development/core/controllers/inert-controller.js +1 -1
  162. package/development/core/controllers/language-controller.js +1 -1
  163. package/development/core/controllers/media-matchers-controller.js +1 -1
  164. package/development/core/controllers/slot-state-controller.js +1 -1
  165. package/development/core/datetime/date-adapter.js +1 -1
  166. package/development/core/datetime/native-date-adapter.js +1 -1
  167. package/development/core/decorators/force-type.js +1 -1
  168. package/development/core/decorators/get-override.js +1 -1
  169. package/development/core/decorators/handle-distinct-change.js +1 -1
  170. package/development/core/decorators/host-attributes.js +1 -1
  171. package/development/core/decorators/id-reference.js +1 -1
  172. package/development/core/decorators/omit-empty-converter.js +1 -1
  173. package/development/core/decorators/plain-date.js +1 -1
  174. package/development/core/decorators/slot-state.js +1 -1
  175. package/development/core/dom/animation.js +1 -1
  176. package/development/core/dom/breakpoint.js +1 -1
  177. package/development/core/dom/host-context.js +1 -1
  178. package/development/core/dom/scroll.js +1 -1
  179. package/development/core/dom/set-or-remove-attribute.js +1 -1
  180. package/development/core/eventing/composed-path-has-attribute.js +1 -1
  181. package/development/core/eventing/form-element-handlers.js +1 -1
  182. package/development/core/eventing/throttle.js +1 -1
  183. package/development/core/eventing.d.ts +0 -1
  184. package/development/core/eventing.d.ts.map +1 -1
  185. package/development/core/eventing.js +1 -3
  186. package/development/core/i18n/i18n.js +1 -1
  187. package/development/core/interfaces/types.d.ts +0 -5
  188. package/development/core/interfaces/types.d.ts.map +1 -1
  189. package/development/core/interfaces.d.ts +0 -1
  190. package/development/core/interfaces.d.ts.map +1 -1
  191. package/development/core/mixins/animation-complete-mixin.js +1 -1
  192. package/development/core/mixins/disabled-mixin.d.ts.map +1 -1
  193. package/development/core/mixins/disabled-mixin.js +20 -17
  194. package/development/core/mixins/element-internals-mixin.js +1 -1
  195. package/development/core/mixins/form-associated-checkbox-mixin.js +1 -1
  196. package/development/core/mixins/form-associated-input-mixin.js +1 -1
  197. package/development/core/mixins/form-associated-mixin.js +1 -1
  198. package/development/core/mixins/form-associated-radio-button-mixin.js +1 -1
  199. package/development/core/mixins/hydration-mixin.js +1 -1
  200. package/development/core/mixins/named-slot-list-mixin.js +1 -1
  201. package/development/core/mixins/negative-mixin.js +1 -1
  202. package/development/core/mixins/panel-mixin.d.ts.map +1 -1
  203. package/development/core/mixins/panel-mixin.js +8 -14
  204. package/development/core/mixins/readonly-mixin.d.ts.map +1 -1
  205. package/development/core/mixins/readonly-mixin.js +17 -9
  206. package/development/core/mixins/required-mixin.js +1 -1
  207. package/development/core/mixins/update-scheduler-mixin.js +1 -1
  208. package/development/core/overlay/overlay-option-panel.js +1 -1
  209. package/development/core/overlay/overlay-trigger-attributes.js +1 -1
  210. package/development/core/overlay/position.js +1 -1
  211. package/development/core/testing/event-spy.js +1 -1
  212. package/development/core/testing/mocha-extensions.js +1 -1
  213. package/development/core/testing/wait-for-condition.js +1 -1
  214. package/development/core/testing/wait-for-image-ready.js +1 -1
  215. package/development/date-input/date-input.component.d.ts +0 -1
  216. package/development/date-input/date-input.component.d.ts.map +1 -1
  217. package/development/date-input/date-input.component.js +1 -1
  218. package/development/datepicker/common/datepicker-button.js +1 -1
  219. package/development/datepicker/datepicker/datepicker.component.d.ts +7 -9
  220. package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  221. package/development/datepicker/datepicker/datepicker.component.js +16 -5
  222. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts +0 -1
  223. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
  224. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +1 -1
  225. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts +0 -1
  226. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
  227. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +1 -1
  228. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +1 -1
  229. package/development/dialog/dialog/dialog.component.d.ts +0 -4
  230. package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
  231. package/development/dialog/dialog/dialog.component.js +3 -3
  232. package/development/dialog/dialog-actions/dialog-actions.component.js +1 -1
  233. package/development/dialog/dialog-content/dialog-content.component.js +1 -1
  234. package/development/dialog/dialog-title/dialog-title.component.js +1 -1
  235. package/development/divider/divider.component.js +1 -1
  236. package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts +4 -16
  237. package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
  238. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +15 -20
  239. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
  240. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +1 -5
  241. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
  242. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +7 -11
  243. package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
  244. package/development/file-selector/common/file-selector-common.js +16 -7
  245. package/development/file-selector/file-selector/file-selector.component.d.ts +1 -5
  246. package/development/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
  247. package/development/file-selector/file-selector/file-selector.component.js +2 -2
  248. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts +1 -5
  249. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
  250. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +2 -2
  251. package/development/flip-card/flip-card/flip-card.component.d.ts +0 -4
  252. package/development/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
  253. package/development/flip-card/flip-card/flip-card.component.js +7 -9
  254. package/development/flip-card/flip-card-details/flip-card-details.component.js +1 -1
  255. package/development/flip-card/flip-card-summary/flip-card-summary.component.js +1 -1
  256. package/development/footer/footer.component.js +1 -1
  257. package/development/form-error/form-error.component.js +1 -1
  258. package/development/form-field/form-field/form-field.component.js +2 -2
  259. package/development/form-field/form-field-clear/form-field-clear.component.d.ts +0 -1
  260. package/development/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  261. package/development/form-field/form-field-clear/form-field-clear.component.js +1 -1
  262. package/development/header/common/header-action-common.js +1 -1
  263. package/development/header/header/header.component.js +1 -1
  264. package/development/header/header-button/header-button.component.d.ts +0 -1
  265. package/development/header/header-button/header-button.component.d.ts.map +1 -1
  266. package/development/header/header-button/header-button.component.js +1 -1
  267. package/development/icon/icon-base.js +1 -1
  268. package/development/icon/icon-name-mixin.js +1 -1
  269. package/development/icon/icon-request.js +1 -1
  270. package/development/icon/icon-validate.js +1 -1
  271. package/development/icon/icon.component.js +1 -1
  272. package/development/image/image.component.d.ts +0 -2
  273. package/development/image/image.component.d.ts.map +1 -1
  274. package/development/image/image.component.js +4 -2
  275. package/development/journey-header/journey-header.component.js +1 -1
  276. package/development/lead-container/lead-container.component.js +1 -1
  277. package/development/link/block-link-button/block-link-button.component.d.ts +0 -1
  278. package/development/link/block-link-button/block-link-button.component.d.ts.map +1 -1
  279. package/development/link/block-link-button/block-link-button.component.js +1 -1
  280. package/development/link/common/block-link-common.js +1 -1
  281. package/development/link/link-button/link-button.component.d.ts +0 -1
  282. package/development/link/link-button/link-button.component.d.ts.map +1 -1
  283. package/development/link/link-button/link-button.component.js +1 -1
  284. package/development/link-common-DPLJx5Uo.js +1 -1
  285. package/development/link-list/common/link-list-base.js +1 -1
  286. package/development/link-list/link-list/link-list.component.js +1 -1
  287. package/development/loading-indicator/loading-indicator.component.js +1 -1
  288. package/development/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
  289. package/development/logo/logo.component.js +1 -1
  290. package/development/map-container/map-container.component.js +1 -1
  291. package/development/menu/common/menu-action-common.js +1 -1
  292. package/development/menu/menu/menu.component.d.ts +0 -4
  293. package/development/menu/menu/menu.component.d.ts.map +1 -1
  294. package/development/menu/menu/menu.component.js +5 -8
  295. package/development/menu/menu-button/menu-button.component.d.ts +0 -1
  296. package/development/menu/menu-button/menu-button.component.d.ts.map +1 -1
  297. package/development/menu/menu-button/menu-button.component.js +1 -1
  298. package/development/message/message.component.js +1 -1
  299. package/development/navigation/common/navigation-action-common.js +1 -1
  300. package/development/navigation/navigation/navigation.component.d.ts +0 -4
  301. package/development/navigation/navigation/navigation.component.d.ts.map +1 -1
  302. package/development/navigation/navigation/navigation.component.js +5 -8
  303. package/development/navigation/navigation-button/navigation-button.component.d.ts +0 -1
  304. package/development/navigation/navigation-button/navigation-button.component.d.ts.map +1 -1
  305. package/development/navigation/navigation-button/navigation-button.component.js +1 -1
  306. package/development/navigation/navigation-list/navigation-list.component.js +1 -1
  307. package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
  308. package/development/navigation/navigation-section/navigation-section.component.js +1 -1
  309. package/development/notification/notification.component.d.ts +5 -16
  310. package/development/notification/notification.component.d.ts.map +1 -1
  311. package/development/notification/notification.component.js +16 -18
  312. package/development/option/optgroup/optgroup-base-element.js +1 -1
  313. package/development/option/optgroup/optgroup.component.js +1 -1
  314. package/development/option/option/option-base-element.d.ts +8 -3
  315. package/development/option/option/option-base-element.d.ts.map +1 -1
  316. package/development/option/option/option-base-element.js +5 -4
  317. package/development/option/option/option.component.d.ts +3 -11
  318. package/development/option/option/option.component.d.ts.map +1 -1
  319. package/development/option/option/option.component.js +8 -11
  320. package/development/overlay/overlay-base-element.d.ts +2 -3
  321. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  322. package/development/overlay/overlay-base-element.js +10 -5
  323. package/development/overlay/overlay.component.d.ts +4 -8
  324. package/development/overlay/overlay.component.d.ts.map +1 -1
  325. package/development/overlay/overlay.component.js +7 -7
  326. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  327. package/development/paginator/common/paginator-common.js +12 -10
  328. package/development/paginator/compact-paginator/compact-paginator.component.d.ts +0 -2
  329. package/development/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
  330. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  331. package/development/paginator/paginator/paginator.component.d.ts +0 -2
  332. package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
  333. package/development/paginator/paginator/paginator.component.js +1 -1
  334. package/development/popover/popover/popover.component.d.ts +7 -14
  335. package/development/popover/popover/popover.component.d.ts.map +1 -1
  336. package/development/popover/popover/popover.component.js +25 -10
  337. package/development/popover/popover-trigger/popover-trigger.component.d.ts +0 -1
  338. package/development/popover/popover-trigger/popover-trigger.component.d.ts.map +1 -1
  339. package/development/popover/popover-trigger/popover-trigger.component.js +1 -1
  340. package/development/radio-button/common/radio-button-common.js +1 -1
  341. package/development/radio-button/radio-button/radio-button.component.d.ts +3 -3
  342. package/development/radio-button/radio-button/radio-button.component.js +2 -2
  343. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts +0 -6
  344. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  345. package/development/radio-button/radio-button-group/radio-button-group.component.js +7 -8
  346. package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts +3 -10
  347. package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  348. package/development/radio-button/radio-button-panel/radio-button-panel.component.js +11 -12
  349. package/development/screen-reader-only/screen-reader-only.component.js +1 -1
  350. package/development/select/select.component.d.ts +6 -19
  351. package/development/select/select.component.d.ts.map +1 -1
  352. package/development/select/select.component.js +31 -44
  353. package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts +6 -13
  354. package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
  355. package/development/selection-expansion-panel/selection-expansion-panel.component.js +16 -21
  356. package/development/sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
  357. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts +0 -1
  358. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
  359. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +1 -1
  360. package/development/sidebar/icon-sidebar-container/icon-sidebar-container.component.js +1 -1
  361. package/development/sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  362. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.js +1 -1
  363. package/development/sidebar/sidebar/sidebar.component.d.ts +0 -4
  364. package/development/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
  365. package/development/sidebar/sidebar/sidebar.component.js +5 -5
  366. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +0 -1
  367. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
  368. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
  369. package/development/sidebar/sidebar-container/sidebar-container.component.js +1 -1
  370. package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  371. package/development/sidebar/sidebar-title/sidebar-title.component.js +1 -1
  372. package/development/signet/signet.component.js +1 -1
  373. package/development/skiplink-list/skiplink-list.component.js +1 -1
  374. package/development/slider/slider.component.d.ts +2 -7
  375. package/development/slider/slider.component.d.ts.map +1 -1
  376. package/development/slider/slider.component.js +10 -14
  377. package/development/status/status.component.js +1 -1
  378. package/development/stepper/step/step.component.d.ts +2 -10
  379. package/development/stepper/step/step.component.d.ts.map +1 -1
  380. package/development/stepper/step/step.component.js +13 -11
  381. package/development/stepper/step-label/step-label.component.d.ts +0 -1
  382. package/development/stepper/step-label/step-label.component.d.ts.map +1 -1
  383. package/development/stepper/step-label/step-label.component.js +1 -1
  384. package/development/stepper/stepper/stepper.component.d.ts.map +1 -1
  385. package/development/stepper/stepper/stepper.component.js +2 -2
  386. package/development/table/table-wrapper/table-wrapper.component.js +1 -1
  387. package/development/tabs/tab/tab.component.js +1 -1
  388. package/development/tabs/tab-group/tab-group.component.d.ts +1 -4
  389. package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  390. package/development/tabs/tab-group/tab-group.component.js +21 -18
  391. package/development/tabs/tab-label/tab-label.component.js +1 -1
  392. package/development/tag/tag/tag.component.d.ts +0 -9
  393. package/development/tag/tag/tag.component.d.ts.map +1 -1
  394. package/development/tag/tag/tag.component.js +11 -19
  395. package/development/tag/tag-group/tag-group.component.js +1 -1
  396. package/development/teaser/teaser.component.js +1 -1
  397. package/development/teaser-hero/teaser-hero.component.js +1 -1
  398. package/development/teaser-product/common/teaser-product-common.js +1 -1
  399. package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
  400. package/development/time-input/time-input.component.d.ts +0 -1
  401. package/development/time-input/time-input.component.d.ts.map +1 -1
  402. package/development/time-input/time-input.component.js +1 -1
  403. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  404. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  405. package/development/title/title-base.js +1 -1
  406. package/development/toast/toast.component.d.ts +0 -4
  407. package/development/toast/toast.component.d.ts.map +1 -1
  408. package/development/toast/toast.component.js +5 -5
  409. package/development/toggle/toggle/toggle.component.d.ts +0 -3
  410. package/development/toggle/toggle/toggle.component.d.ts.map +1 -1
  411. package/development/toggle/toggle/toggle.component.js +6 -11
  412. package/development/toggle/toggle-option/toggle-option.component.js +1 -1
  413. package/development/toggle-check/toggle-check.component.d.ts +2 -2
  414. package/development/toggle-check/toggle-check.component.js +1 -1
  415. package/development/train/train/train.component.d.ts +1 -6
  416. package/development/train/train/train.component.d.ts.map +1 -1
  417. package/development/train/train/train.component.js +7 -12
  418. package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  419. package/development/train/train-formation/train-formation.component.js +3 -3
  420. package/development/train/train-wagon/train-wagon.component.d.ts +1 -6
  421. package/development/train/train-wagon/train-wagon.component.d.ts.map +1 -1
  422. package/development/train/train-wagon/train-wagon.component.js +7 -12
  423. package/development/visual-checkbox/visual-checkbox.component.js +1 -1
  424. package/dialog/dialog/dialog.component.d.ts +0 -4
  425. package/dialog/dialog/dialog.component.d.ts.map +1 -1
  426. package/dialog/dialog/dialog.component.js +2 -2
  427. package/expansion-panel/expansion-panel/expansion-panel.component.d.ts +4 -16
  428. package/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
  429. package/expansion-panel/expansion-panel/expansion-panel.component.js +48 -50
  430. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +1 -5
  431. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
  432. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +26 -30
  433. package/file-selector/common/file-selector-common.d.ts.map +1 -1
  434. package/file-selector/common/file-selector-common.js +47 -37
  435. package/file-selector/file-selector/file-selector.component.d.ts +1 -5
  436. package/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
  437. package/file-selector/file-selector/file-selector.component.js +3 -3
  438. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts +1 -5
  439. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
  440. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +5 -5
  441. package/flip-card/flip-card/flip-card.component.d.ts +0 -4
  442. package/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
  443. package/flip-card/flip-card/flip-card.component.js +35 -37
  444. package/form-field/form-field/form-field.component.js +1 -1
  445. package/form-field/form-field-clear/form-field-clear.component.d.ts +0 -1
  446. package/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  447. package/header/header-button/header-button.component.d.ts +0 -1
  448. package/header/header-button/header-button.component.d.ts.map +1 -1
  449. package/image/image.component.d.ts +0 -2
  450. package/image/image.component.d.ts.map +1 -1
  451. package/link/block-link-button/block-link-button.component.d.ts +0 -1
  452. package/link/block-link-button/block-link-button.component.d.ts.map +1 -1
  453. package/link/link-button/link-button.component.d.ts +0 -1
  454. package/link/link-button/link-button.component.d.ts.map +1 -1
  455. package/menu/menu/menu.component.d.ts +0 -4
  456. package/menu/menu/menu.component.d.ts.map +1 -1
  457. package/menu/menu/menu.component.js +8 -8
  458. package/menu/menu-button/menu-button.component.d.ts +0 -1
  459. package/menu/menu-button/menu-button.component.d.ts.map +1 -1
  460. package/navigation/navigation/navigation.component.d.ts +0 -4
  461. package/navigation/navigation/navigation.component.d.ts.map +1 -1
  462. package/navigation/navigation/navigation.component.js +17 -17
  463. package/navigation/navigation-button/navigation-button.component.d.ts +0 -1
  464. package/navigation/navigation-button/navigation-button.component.d.ts.map +1 -1
  465. package/notification/notification.component.d.ts +5 -16
  466. package/notification/notification.component.d.ts.map +1 -1
  467. package/notification/notification.component.js +54 -53
  468. package/option/option/option-base-element.d.ts +8 -3
  469. package/option/option/option-base-element.d.ts.map +1 -1
  470. package/option/option/option-base-element.js +22 -20
  471. package/option/option/option.component.d.ts +3 -11
  472. package/option/option/option.component.d.ts.map +1 -1
  473. package/option/option/option.component.js +23 -25
  474. package/overlay/overlay-base-element.d.ts +2 -3
  475. package/overlay/overlay-base-element.d.ts.map +1 -1
  476. package/overlay/overlay-base-element.js +42 -37
  477. package/overlay/overlay.component.d.ts +4 -8
  478. package/overlay/overlay.component.d.ts.map +1 -1
  479. package/overlay/overlay.component.js +11 -11
  480. package/package.json +1 -1
  481. package/paginator/common/paginator-common.d.ts.map +1 -1
  482. package/paginator/common/paginator-common.js +37 -34
  483. package/paginator/compact-paginator/compact-paginator.component.d.ts +0 -2
  484. package/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
  485. package/paginator/paginator/paginator.component.d.ts +0 -2
  486. package/paginator/paginator/paginator.component.d.ts.map +1 -1
  487. package/popover/popover/popover.component.d.ts +7 -14
  488. package/popover/popover/popover.component.d.ts.map +1 -1
  489. package/popover/popover/popover.component.js +94 -81
  490. package/popover/popover-trigger/popover-trigger.component.d.ts +0 -1
  491. package/popover/popover-trigger/popover-trigger.component.d.ts.map +1 -1
  492. package/radio-button/radio-button/radio-button.component.d.ts +3 -3
  493. package/radio-button/radio-button/radio-button.component.js +10 -10
  494. package/radio-button/radio-button-group/radio-button-group.component.d.ts +0 -6
  495. package/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  496. package/radio-button/radio-button-group/radio-button-group.component.js +24 -26
  497. package/radio-button/radio-button-panel/radio-button-panel.component.d.ts +3 -10
  498. package/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  499. package/radio-button/radio-button-panel/radio-button-panel.component.js +39 -40
  500. package/select/select.component.d.ts +6 -19
  501. package/select/select.component.d.ts.map +1 -1
  502. package/select/select.component.js +99 -101
  503. package/selection-expansion-panel/selection-expansion-panel.component.d.ts +6 -13
  504. package/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
  505. package/selection-expansion-panel/selection-expansion-panel.component.js +49 -51
  506. package/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts +0 -1
  507. package/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
  508. package/sidebar/sidebar/sidebar.component.d.ts +0 -4
  509. package/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
  510. package/sidebar/sidebar/sidebar.component.js +28 -28
  511. package/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +0 -1
  512. package/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
  513. package/slider/slider.component.d.ts +2 -7
  514. package/slider/slider.component.d.ts.map +1 -1
  515. package/slider/slider.component.js +38 -43
  516. package/stepper/step/step.component.d.ts +2 -10
  517. package/stepper/step/step.component.d.ts.map +1 -1
  518. package/stepper/step/step.component.js +26 -23
  519. package/stepper/step-label/step-label.component.d.ts +0 -1
  520. package/stepper/step-label/step-label.component.d.ts.map +1 -1
  521. package/stepper/stepper/stepper.component.d.ts.map +1 -1
  522. package/stepper/stepper/stepper.component.js +6 -6
  523. package/tabs/tab-group/tab-group.component.d.ts +1 -4
  524. package/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  525. package/tabs/tab-group/tab-group.component.js +55 -52
  526. package/tag/tag/tag.component.d.ts +0 -9
  527. package/tag/tag/tag.component.d.ts.map +1 -1
  528. package/tag/tag/tag.component.js +34 -40
  529. package/time-input/time-input.component.d.ts +0 -1
  530. package/time-input/time-input.component.d.ts.map +1 -1
  531. package/toast/toast.component.d.ts +0 -4
  532. package/toast/toast.component.d.ts.map +1 -1
  533. package/toast/toast.component.js +19 -19
  534. package/toggle/toggle/toggle.component.d.ts +0 -3
  535. package/toggle/toggle/toggle.component.d.ts.map +1 -1
  536. package/toggle/toggle/toggle.component.js +35 -40
  537. package/toggle-check/toggle-check.component.d.ts +2 -2
  538. package/train/train/train.component.d.ts +1 -6
  539. package/train/train/train.component.d.ts.map +1 -1
  540. package/train/train/train.component.js +33 -38
  541. package/train/train-formation/train-formation.component.js +1 -1
  542. package/train/train-wagon/train-wagon.component.d.ts +1 -6
  543. package/train/train-wagon/train-wagon.component.d.ts.map +1 -1
  544. package/train/train-wagon/train-wagon.component.js +48 -53
  545. package/core/eventing/event-emitter.d.ts +0 -23
  546. package/core/eventing/event-emitter.d.ts.map +0 -1
  547. package/core/eventing/event-emitter.js +0 -22
  548. package/core/interfaces/validation-change.d.ts +0 -4
  549. package/core/interfaces/validation-change.d.ts.map +0 -1
  550. package/development/core/eventing/event-emitter.d.ts +0 -23
  551. package/development/core/eventing/event-emitter.d.ts.map +0 -1
  552. package/development/core/eventing/event-emitter.js +0 -25
  553. package/development/core/interfaces/validation-change.d.ts +0 -4
  554. package/development/core/interfaces/validation-change.d.ts.map +0 -1
@@ -10,7 +10,6 @@ import { IntersectionController } from "@lit-labs/observers/intersection-control
10
10
  import { css, LitElement, html } from "lit";
11
11
  import { customElement, property } from "lit/decorators.js";
12
12
  import { isLean, isZeroAnimationDuration } from "../../core/dom.js";
13
- import { EventEmitter } from "../../core/eventing.js";
14
13
  import { SbbUpdateSchedulerMixin } from "../../core/mixins.js";
15
14
  const style = css`*,
16
15
  ::before,
@@ -213,21 +212,14 @@ let SbbStickyBarElement = (() => {
213
212
  let _size_decorators;
214
213
  let _size_initializers = [];
215
214
  let _size_extraInitializers = [];
216
- var SbbStickyBarElement2 = (_a = class extends _classSuper {
215
+ _a = class extends _classSuper {
217
216
  constructor() {
218
217
  super(...arguments);
219
218
  __privateAdd(this, _color_accessor_storage);
220
219
  __privateAdd(this, _size_accessor_storage);
221
220
  __privateSet(this, _color_accessor_storage, __runInitializers(this, _color_initializers, null));
222
221
  __privateSet(this, _size_accessor_storage, (__runInitializers(this, _color_extraInitializers), __runInitializers(this, _size_initializers, isLean() ? "s" : "m")));
223
- this._willStick = (__runInitializers(this, _size_extraInitializers), new EventEmitter(this, SbbStickyBarElement2.events.willStick, {
224
- cancelable: true
225
- }));
226
- this._didStick = new EventEmitter(this, SbbStickyBarElement2.events.didStick, {
227
- cancelable: true
228
- });
229
- this._willUnstick = new EventEmitter(this, SbbStickyBarElement2.events.willUnstick, { cancelable: true });
230
- this._didUnstick = new EventEmitter(this, SbbStickyBarElement2.events.didUnstick, { cancelable: true });
222
+ this._intersector = __runInitializers(this, _size_extraInitializers);
231
223
  this._observer = new IntersectionController(this, {
232
224
  // Although `this` is observed, we have to postpone observing
233
225
  // into firstUpdated() to achieve a correct initial state.
@@ -299,7 +291,7 @@ let SbbStickyBarElement = (() => {
299
291
  }
300
292
  /** Animates from normal content flow position to `position: sticky`. */
301
293
  stick() {
302
- if (this._state !== "unsticky" || !this._willStick.emit()) {
294
+ if (this._state !== "unsticky" || !this._dispatchBeforeStickEvent()) {
303
295
  return;
304
296
  }
305
297
  this._state = "sticking";
@@ -309,7 +301,7 @@ let SbbStickyBarElement = (() => {
309
301
  }
310
302
  /** Animates `position: sticky` to normal content flow position. */
311
303
  unstick() {
312
- if (this._state !== "sticky" || !this._willUnstick.emit()) {
304
+ if (this._state !== "sticky" || !this._dispatchBeforeUnStickEvent()) {
313
305
  return;
314
306
  }
315
307
  this._state = "unsticking";
@@ -319,10 +311,10 @@ let SbbStickyBarElement = (() => {
319
311
  }
320
312
  _stickyCallback() {
321
313
  this._state = "sticky";
322
- this._didStick.emit();
314
+ this.dispatchEvent(new Event("stick"));
323
315
  }
324
316
  _unstickyCallback() {
325
- this._didUnstick.emit();
317
+ this.dispatchEvent(new Event("unstick"));
326
318
  this._state = "unsticky";
327
319
  }
328
320
  _onAnimationEnd(event) {
@@ -332,6 +324,12 @@ let SbbStickyBarElement = (() => {
332
324
  this._unstickyCallback();
333
325
  }
334
326
  }
327
+ _dispatchBeforeStickEvent() {
328
+ return this.dispatchEvent(new Event("beforestick", { cancelable: true }));
329
+ }
330
+ _dispatchBeforeUnStickEvent() {
331
+ return this.dispatchEvent(new Event("beforeunstick", { cancelable: true }));
332
+ }
335
333
  render() {
336
334
  return html`
337
335
  <div class="sbb-sticky-bar__wrapper" @animationend=${this._onAnimationEnd}>
@@ -353,17 +351,17 @@ let SbbStickyBarElement = (() => {
353
351
  obj.size = value;
354
352
  } }, metadata: _metadata }, _size_initializers, _size_extraInitializers);
355
353
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
356
- SbbStickyBarElement2 = _classThis = _classDescriptor.value;
354
+ _classThis = _classDescriptor.value;
357
355
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
358
356
  })(), _a.styles = style, _a.events = {
359
- willStick: "willStick",
360
- didStick: "didStick",
361
- willUnstick: "willUnstick",
362
- didUnstick: "didUnstick"
363
- }, __runInitializers(_classThis, _classExtraInitializers), _a);
364
- return SbbStickyBarElement2 = _classThis;
357
+ beforestick: "beforestick",
358
+ stick: "stick",
359
+ beforeunstick: "beforeunstick",
360
+ unstick: "unstick"
361
+ }, __runInitializers(_classThis, _classExtraInitializers), _a;
362
+ return _classThis;
365
363
  })();
366
364
  export {
367
365
  SbbStickyBarElement
368
366
  };
369
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb250YWluZXIvc3RpY2t5LWJhci9zdGlja3ktYmFyLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnRlcnNlY3Rpb25Db250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9pbnRlcnNlY3Rpb24tY29udHJvbGxlci5qcyc7XG5pbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBMaXRFbGVtZW50LFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGlzTGVhbiwgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB7IFNiYlVwZGF0ZVNjaGVkdWxlck1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9zdGlja3ktYmFyLnNjc3M/bGl0JmlubGluZSc7XG5cbnR5cGUgU3RpY2t5U3RhdGUgPSAnc3RpY2tpbmcnIHwgJ3N0aWNreScgfCAndW5zdGlja2luZycgfCAndW5zdGlja3knO1xuXG4vKipcbiAqIEEgY29udGFpbmVyIHRoYXQgc3RpY2tzIHRvIHRoZSBib3R0b20gb2YgdGhlIHBhZ2UgaWYgc2xvdHRlZCBpbnRvIGBzYmItY29udGFpbmVyYC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBzdGlja3kgYmFyLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gd2lsbFN0aWNrIC0gRW1pdHMgd2hlbiB0aGUgYW5pbWF0aW9uIGZyb20gbm9ybWFsIGNvbnRlbnQgZmxvdyB0byBgcG9zaXRpb246IHN0aWNreWAgc3RhcnRzLiBDYW4gYmUgY2FuY2VsZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRTdGljayAtIEVtaXRzIHdoZW4gdGhlIGFuaW1hdGlvbiBmcm9tIG5vcm1hbCBjb250ZW50IGZsb3cgdG8gYHBvc2l0aW9uOiBzdGlja3lgIGVuZHMuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSB3aWxsVW5zdGljayAtIEVtaXRzIHdoZW4gdGhlIGFuaW1hdGlvbiBmcm9tIGBwb3NpdGlvbjogc3RpY2t5YCB0byBub3JtYWwgY29udGVudCBmbG93IHN0YXJ0cy4gQ2FuIGJlIGNhbmNlbGVkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gZGlkVW5zdGljayAtIEVtaXRzIHdoZW4gdGhlIGFuaW1hdGlvbiBmcm9tIGBwb3NpdGlvbjogc3RpY2t5YCB0byBub3JtYWwgY29udGVudCBmbG93IGVuZHMuXG4gKiBAY3NzcHJvcCBbLS1zYmItc3RpY2t5LWJhci1wYWRkaW5nLWJsb2NrPXZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHMpXSAtIEJsb2NrIHBhZGRpbmcgb2YgdGhlIHN0aWNreSBiYXIuXG4gKiBAY3NzcHJvcCBbLS1zYmItc3RpY2t5LWJhci1ib3R0b20tb3ZlcmxhcHBpbmctaGVpZ2h0PTBweF0gLSBEZWZpbmUgYW4gYWRkaXRpb25hbCBhcmVhIHdoZXJlXG4gKiB0aGUgc3RpY2t5IGJhciBvdmVybGFwcyB0aGUgZm9sbG93aW5nIGNvbnRlbnQgb24gdGhlIGJvdHRvbS5cbiAqIFRoaXMgYXJlYSBiZWNvbWVzIHZpc2libGUgd2hlbiB0aGUgc3RpY2t5IGJhciB0cmFuc2l0aW9ucyBmcm9tIHN0aWNreSB0byB0aGUgbm9ybWFsIGRvY3VtZW50IGZsb3cuXG4gKiBAY3NzcHJvcCBbLS1zYmItc3RpY2t5LWJhci16LWluZGV4XSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItc3RpY2t5LWJhcicpXG5jbGFzcyBTYmJTdGlja3lCYXJFbGVtZW50IGV4dGVuZHMgU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICB3aWxsU3RpY2s6ICd3aWxsU3RpY2snLFxuICAgIGRpZFN0aWNrOiAnZGlkU3RpY2snLFxuICAgIHdpbGxVbnN0aWNrOiAnd2lsbFVuc3RpY2snLFxuICAgIGRpZFVuc3RpY2s6ICdkaWRVbnN0aWNrJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKiogQ29sb3Igb2YgdGhlIGNvbnRhaW5lciwgbGlrZSB0cmFuc3BhcmVudCwgd2hpdGUgZXRjLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBjb2xvcjpcbiAgICB8ICd3aGl0ZSdcbiAgICB8ICdtaWxrJ1xuICAgIHwgJ21pZG5pZ2h0J1xuICAgIHwgJ2NoYXJjb2FsJ1xuICAgIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFNpemUgb2YgdGhlIGNvbnRhaW5lci5cbiAgICogQGRlZmF1bHQgJ20nIC8gJ3MnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ20nIHwgJ3MnID0gaXNMZWFuKCkgPyAncycgOiAnbSc7XG5cbiAgLyoqIFRoZSBzdGF0ZSBvZiB0aGUgY29tcG9uZW50LiAqL1xuICBwcml2YXRlIHNldCBfc3RhdGUoc3RhdGU6IFN0aWNreVN0YXRlKSB7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2RhdGEtc3RhdGUnLCBzdGF0ZSk7XG4gIH1cbiAgcHJpdmF0ZSBnZXQgX3N0YXRlKCk6IFN0aWNreVN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3RhdGUnKSBhcyBTdGlja3lTdGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgX3dpbGxTdGljazogRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcih0aGlzLCBTYmJTdGlja3lCYXJFbGVtZW50LmV2ZW50cy53aWxsU3RpY2ssIHtcbiAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICB9KTtcbiAgcHJpdmF0ZSBfZGlkU3RpY2s6IEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIodGhpcywgU2JiU3RpY2t5QmFyRWxlbWVudC5ldmVudHMuZGlkU3RpY2ssIHtcbiAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICB9KTtcbiAgcHJpdmF0ZSBfd2lsbFVuc3RpY2s6IEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJTdGlja3lCYXJFbGVtZW50LmV2ZW50cy53aWxsVW5zdGljayxcbiAgICB7IGNhbmNlbGFibGU6IHRydWUgfSxcbiAgKTtcbiAgcHJpdmF0ZSBfZGlkVW5zdGljazogRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICB0aGlzLFxuICAgIFNiYlN0aWNreUJhckVsZW1lbnQuZXZlbnRzLmRpZFVuc3RpY2ssXG4gICAgeyBjYW5jZWxhYmxlOiB0cnVlIH0sXG4gICk7XG5cbiAgcHJpdmF0ZSBfaW50ZXJzZWN0b3I/OiBIVE1MU3BhbkVsZW1lbnQ7XG4gIHByaXZhdGUgX29ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgIC8vIEFsdGhvdWdoIGB0aGlzYCBpcyBvYnNlcnZlZCwgd2UgaGF2ZSB0byBwb3N0cG9uZSBvYnNlcnZpbmdcbiAgICAvLyBpbnRvIGZpcnN0VXBkYXRlZCgpIHRvIGFjaGlldmUgYSBjb3JyZWN0IGluaXRpYWwgc3RhdGUuXG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIGNhbGxiYWNrOiAoZW50cmllcykgPT4gdGhpcy5fZGV0ZWN0U3RpY2t5U3RhdGUoZW50cmllc1swXSksXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuc2xvdCB8fD0gJ3N0aWNreS1iYXInO1xuICAgIHRoaXMuX3N0YXRlID0gJ3N0aWNreSc7XG5cbiAgICAvLyBTdGlja3kgYmFyIG5lZWRzIHRvIGJlIGhpZGRlbiB1bnRpbCBmaXJzdCBvYnNlcnZlciBjYWxsYmFja1xuICAgIHRoaXMuc3RhcnRVcGRhdGUoKTtcblxuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuY2xvc2VzdCgnc2JiLWNvbnRhaW5lcicpO1xuICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWV4cGFuZGVkJywgY29udGFpbmVyLmV4cGFuZGVkKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX2ludGVyc2VjdG9yKSB7XG4gICAgICB0aGlzLl9vYnNlcnZlci5vYnNlcnZlKHRoaXMuX2ludGVyc2VjdG9yKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcblxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWluaXRpYWxpemVkJywgZmFsc2UpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKCF0aGlzLl9pbnRlcnNlY3Rvcikge1xuICAgICAgdGhpcy5faW50ZXJzZWN0b3IgPSB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJy5zYmItc3RpY2t5LWJhcl9faW50ZXJzZWN0b3InKSE7XG4gICAgICB0aGlzLl9vYnNlcnZlci5vYnNlcnZlKHRoaXMuX2ludGVyc2VjdG9yKTtcbiAgICB9XG4gICAgdGhpcy5fb2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItc3RpY2t5LWJhci1zbGlkZS12ZXJ0aWNhbGx5LWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGV0ZWN0U3RpY2t5U3RhdGUoZW50cnk6IEludGVyc2VjdGlvbk9ic2VydmVyRW50cnkpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1pbml0aWFsaXplZCcsIHRydWUpO1xuXG4gICAgY29uc3QgaXNTdGlja3kgPSAhZW50cnkuaXNJbnRlcnNlY3RpbmcgJiYgZW50cnkuYm91bmRpbmdDbGllbnRSZWN0LnRvcCA+IDA7XG5cbiAgICAvLyBUbyBvcHRpbWl6ZSB0aGUgdmlzdWFsIHBlcmNlcHRpb24gb2YgdGhlIHN0aWNreSBiYXIsIHdlIGhhdmUgY2VydGFpbiBjYXNlcyAoZS5nLiBvbiBwYWdlIGxvYWQpXG4gICAgLy8gd2hlcmUgd2Ugd2FudCB0aGUgc3RpY2t5IGJhciB0byBzbGlkZSBpbiBmcm9tIHRoZSBib3R0b20uXG4gICAgLy8gVG8gZGVjaWRlIHdoZXRoZXIgdG8gc2xpZGUgaW4gZnJvbSB0aGUgYm90dG9tIHVwLFxuICAgIC8vIHdlIGNoZWNrIGhvdyBmYXIgYXdheSB0aGUgc3RpY2t5IGJhciBpcyBmcm9tIHRoZSBpbnRlcnNlY3RvciBlbGVtZW50LiBXaGVuIHNjcm9sbGluZyBmYXN0LCB0aGVcbiAgICAvLyBkaWZmZXJlbmNlIGNhbiB2YXJ5IHNsaWdodGx5LiBUbyBhY2NvdW50IGZvciB0aGlzIHdlIGFkZCBhIGhlaWdodCB0b2xlcmFuY2UuXG4gICAgLy8gVGhpcyB2YWx1ZSB3YXMgZm91bmQgYnkgdHJpYWwgYW5kIGVycm9yLlxuICAgIGNvbnN0IGludGVyc2VjdG9yUmVjdCA9IHRoaXMuX2ludGVyc2VjdG9yPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBzdGlja3lCYXJSZWN0ID0gdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKFxuICAgICAgJy5zYmItc3RpY2t5LWJhcl9fd3JhcHBlcicsXG4gICAgKSEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgSEVJR0hUX1RPTEVSQU5DRSA9IDMwO1xuXG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoXG4gICAgICAnZGF0YS1zbGlkZS12ZXJ0aWNhbGx5JyxcbiAgICAgIGlzU3RpY2t5ICYmXG4gICAgICAgIHRoaXMuX2ludGVyc2VjdG9yICYmXG4gICAgICAgIE1hdGguYWJzKGludGVyc2VjdG9yUmVjdCEuYm90dG9tIC0gc3RpY2t5QmFyUmVjdC5ib3R0b20pID4gSEVJR0hUX1RPTEVSQU5DRSxcbiAgICApO1xuXG4gICAgLy8gVG9nZ2xpbmcgZGF0YS1zdGlja2luZyBoYXMgdG8gYmUgYWZ0ZXIgZGF0YS1zbGlkZS12ZXJ0aWNhbGx5IChwcmV2ZW50cyBiYWNrZ3JvdW5kIGNvbG9yIHRyYW5zaXRpb24pXG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtc3RpY2tpbmcnLCBpc1N0aWNreSk7XG5cbiAgICAvLyBTdGlja3kgYmFyIG5lZWRzIHRvIGJlIGhpZGRlbiB1bnRpbCBmaXJzdCBvYnNlcnZlciBjYWxsYmFja1xuICAgIHRoaXMuY29tcGxldGVVcGRhdGUoKTtcbiAgfVxuXG4gIC8qKiBBbmltYXRlcyBmcm9tIG5vcm1hbCBjb250ZW50IGZsb3cgcG9zaXRpb24gdG8gYHBvc2l0aW9uOiBzdGlja3lgLiAqL1xuICBwdWJsaWMgc3RpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlICE9PSAndW5zdGlja3knIHx8ICF0aGlzLl93aWxsU3RpY2suZW1pdCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fc3RhdGUgPSAnc3RpY2tpbmcnO1xuICAgIGlmICghdGhpcy5oYXNBdHRyaWJ1dGUoJ2RhdGEtc3RpY2tpbmcnKSB8fCB0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9zdGlja3lDYWxsYmFjaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBBbmltYXRlcyBgcG9zaXRpb246IHN0aWNreWAgdG8gbm9ybWFsIGNvbnRlbnQgZmxvdyBwb3NpdGlvbi4gKi9cbiAgcHVibGljIHVuc3RpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlICE9PSAnc3RpY2t5JyB8fCAhdGhpcy5fd2lsbFVuc3RpY2suZW1pdCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fc3RhdGUgPSAndW5zdGlja2luZyc7XG5cbiAgICBpZiAoIXRoaXMuaGFzQXR0cmlidXRlKCdkYXRhLXN0aWNraW5nJykgfHwgdGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5fdW5zdGlja3lDYWxsYmFjaygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3N0aWNreUNhbGxiYWNrKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ3N0aWNreSc7XG4gICAgdGhpcy5fZGlkU3RpY2suZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdW5zdGlja3lDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLl9kaWRVbnN0aWNrLmVtaXQoKTtcbiAgICB0aGlzLl9zdGF0ZSA9ICd1bnN0aWNreSc7XG4gIH1cblxuICBwcml2YXRlIF9vbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAodGhpcy5fc3RhdGUgPT09ICdzdGlja2luZycgfHwgdGhpcy5fc3RhdGUgPT09ICdzdGlja3knKSAmJlxuICAgICAgZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ3NsaWRlLWluJ1xuICAgICkge1xuICAgICAgdGhpcy5fc3RpY2t5Q2FsbGJhY2soKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX3N0YXRlID09PSAndW5zdGlja2luZycgJiYgZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ3NsaWRlLW91dCcpIHtcbiAgICAgIHRoaXMuX3Vuc3RpY2t5Q2FsbGJhY2soKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RpY2t5LWJhcl9fd3JhcHBlclwiIEBhbmltYXRpb25lbmQ9JHt0aGlzLl9vbkFuaW1hdGlvbkVuZH0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RpY2t5LWJhclwiPlxuICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RpY2t5LWJhcl9faW50ZXJzZWN0b3JcIj48L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc3RpY2t5LWJhcic6IFNiYlN0aWNreUJhckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTYmJTdGlja3lCYXJFbGVtZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBbUNNLHVCQUFtQixNQUFBOzswQkFEeEIsY0FBYyxnQkFBZ0IsQ0FBQzs7OztvQkFDRSx3QkFBd0IsVUFBVTs7Ozs7OztBQUExQyxNQUFBQSx3QkFBQSxtQkFBUSxZQUFtQztBQUFBOztBQVd0QztBQVdBO0FBWGdCLHlCQUFBLHlCQUFBLGtCQUFBLE1BQUEscUJBS2xDLElBQUk7QUFNOEIseUJBQUEseUJBQUEsa0JBQUEsTUFBQSx3QkFBQSxHQUFBLGtCQUFBLE1BQUEsb0JBQWtCLE9BQUEsSUFBVyxNQUFNLEdBQUc7QUFVM0UsV0FBQSxjQUFVLGtCQUFBLE1BQUEsdUJBQUEsR0FBaUIsSUFBSSxhQUFhLE1BQU1BLHFCQUFvQixPQUFPLFdBQVc7QUFBQSxRQUM5RixZQUFZO0FBQUEsTUFBQSxDQUNiO0FBQ08sV0FBQSxZQUEwQixJQUFJLGFBQWEsTUFBTUEscUJBQW9CLE9BQU8sVUFBVTtBQUFBLFFBQzVGLFlBQVk7QUFBQSxNQUFBLENBQ2I7QUFDTyxXQUFBLGVBQTZCLElBQUksYUFDdkMsTUFDQUEscUJBQW9CLE9BQU8sYUFDM0IsRUFBRSxZQUFZLE1BQU07QUFFZCxXQUFBLGNBQTRCLElBQUksYUFDdEMsTUFDQUEscUJBQW9CLE9BQU8sWUFDM0IsRUFBRSxZQUFZLE1BQU07QUFJZCxXQUFBLFlBQVksSUFBSSx1QkFBdUIsTUFBTTtBQUFBO0FBQUE7QUFBQSxRQUduRCxRQUFRO0FBQUEsUUFDUixVQUFVLENBQUMsWUFBWSxLQUFLLG1CQUFtQixRQUFRLENBQUMsQ0FBQztBQUFBLE1BQUEsQ0FDMUQ7QUFBQSxJQUFBO0FBQUE7QUFBQSxJQTVDNEIsSUFBZ0IsUUFBSztBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBckIsSUFBZ0IsTUFBSyxPQUFBO0FBQUEseUJBQUEseUJBQUE7QUFBQSxJQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQVdyQixJQUFnQixPQUFJO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUFwQixJQUFnQixLQUFJLE9BQUE7QUFBQSx5QkFBQSx3QkFBQTtBQUFBLElBQUE7QUFBQTtBQUFBLElBR2pELElBQVksT0FBTyxPQUFrQjtBQUNuQyxXQUFLLGFBQWEsY0FBYyxLQUFLO0FBQUEsSUFBQTtBQUFBLElBRXZDLElBQVksU0FBTTtBQUNoQixhQUFPLEtBQUssYUFBYSxZQUFZO0FBQUEsSUFBQTtBQUFBLElBNEJ2QixvQkFBaUI7QUFDL0IsWUFBTSxrQkFBQTtBQUNOLFdBQUssU0FBUztBQUNkLFdBQUssU0FBUztBQUdkLFdBQUssWUFBQTtBQUVMLFlBQU0sWUFBWSxLQUFLLFFBQVEsZUFBZTtBQUM5QyxVQUFJLFdBQVc7QUFDYixhQUFLLGdCQUFnQixpQkFBaUIsVUFBVSxRQUFRO0FBQUEsTUFBQTtBQUUxRCxVQUFJLEtBQUssY0FBYztBQUNyQixhQUFLLFVBQVUsUUFBUSxLQUFLLFlBQVk7QUFBQSxNQUFBO0FBQUEsSUFDMUM7QUFBQSxJQUdjLHVCQUFvQjtBQUNsQyxZQUFNLHFCQUFBO0FBRU4sV0FBSyxnQkFBZ0Isb0JBQW9CLEtBQUs7QUFBQSxJQUFBO0FBQUEsSUFHN0IsYUFBYSxtQkFBdUM7QUFDckUsWUFBTSxhQUFhLGlCQUFpQjtBQUVwQyxVQUFJLENBQUMsS0FBSyxjQUFjO0FBQ3RCLGFBQUssZUFBZSxLQUFLLFdBQVksY0FBYyw4QkFBOEI7QUFDakYsYUFBSyxVQUFVLFFBQVEsS0FBSyxZQUFZO0FBQUEsTUFBQTtBQUUxQyxXQUFLLFVBQVUsUUFBUSxJQUFJO0FBQUEsSUFBQTtBQUFBLElBR3JCLDJCQUF3QjtBQUM5QixhQUFPLHdCQUF3QixNQUFNLHNEQUFzRDtBQUFBLElBQUE7QUFBQSxJQUdyRixtQkFBbUIsT0FBZ0M7QUFDekQsV0FBSyxnQkFBZ0Isb0JBQW9CLElBQUk7QUFFN0MsWUFBTSxXQUFXLENBQUMsTUFBTSxrQkFBa0IsTUFBTSxtQkFBbUIsTUFBTTtBQVF6RSxZQUFNLGtCQUFrQixLQUFLLGNBQWMsc0JBQUE7QUFDM0MsWUFBTSxnQkFBZ0IsS0FBSyxXQUFZLGNBQ3JDLDBCQUEwQixFQUN6QixzQkFBQTtBQUNILFlBQU0sbUJBQW1CO0FBRXpCLFdBQUssZ0JBQ0gseUJBQ0EsWUFDRSxLQUFLLGdCQUNMLEtBQUssSUFBSSxnQkFBaUIsU0FBUyxjQUFjLE1BQU0sSUFBSSxnQkFBZ0I7QUFJL0UsV0FBSyxnQkFBZ0IsaUJBQWlCLFFBQVE7QUFHOUMsV0FBSyxlQUFBO0FBQUEsSUFBYztBQUFBO0FBQUEsSUFJZCxRQUFLO0FBQ1YsVUFBSSxLQUFLLFdBQVcsY0FBYyxDQUFDLEtBQUssV0FBVyxRQUFRO0FBQ3pEO0FBQUEsTUFBQTtBQUdGLFdBQUssU0FBUztBQUNkLFVBQUksQ0FBQyxLQUFLLGFBQWEsZUFBZSxLQUFLLEtBQUssNEJBQTRCO0FBQzFFLGFBQUssZ0JBQUE7QUFBQSxNQUFlO0FBQUEsSUFDdEI7QUFBQTtBQUFBLElBSUssVUFBTztBQUNaLFVBQUksS0FBSyxXQUFXLFlBQVksQ0FBQyxLQUFLLGFBQWEsUUFBUTtBQUN6RDtBQUFBLE1BQUE7QUFHRixXQUFLLFNBQVM7QUFFZCxVQUFJLENBQUMsS0FBSyxhQUFhLGVBQWUsS0FBSyxLQUFLLDRCQUE0QjtBQUMxRSxhQUFLLGtCQUFBO0FBQUEsTUFBaUI7QUFBQSxJQUN4QjtBQUFBLElBR00sa0JBQWU7QUFDckIsV0FBSyxTQUFTO0FBQ2QsV0FBSyxVQUFVLEtBQUE7QUFBQTtJQUdULG9CQUFpQjtBQUN2QixXQUFLLFlBQVksS0FBQTtBQUNqQixXQUFLLFNBQVM7QUFBQSxJQUFBO0FBQUEsSUFHUixnQkFBZ0IsT0FBcUI7QUFDM0MsV0FDRyxLQUFLLFdBQVcsY0FBYyxLQUFLLFdBQVcsYUFDL0MsTUFBTSxrQkFBa0IsWUFDeEI7QUFDQSxhQUFLLGdCQUFBO0FBQUEsTUFBZSxXQUNYLEtBQUssV0FBVyxnQkFBZ0IsTUFBTSxrQkFBa0IsYUFBYTtBQUM5RSxhQUFLLGtCQUFBO0FBQUEsTUFBaUI7QUFBQSxJQUN4QjtBQUFBLElBR2lCLFNBQU07QUFDdkIsYUFBTztBQUFBLDJEQUNnRCxLQUFLLGVBQWU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQUFBO0FBQUEsS0FsS2hELHlDQVdBOztBQVg1Qix3QkFBQSxDQUFBLFNBQVMsRUFBRSxTQUFTLEtBQUEsQ0FBTSxDQUFDO0FBVzNCLHVCQUFBLENBQUEsU0FBUyxFQUFFLFNBQVMsS0FBQSxDQUFNLENBQUM7QUFYQyxpQkFBQSxJQUFBLE1BQUEsbUJBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxTQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLFdBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFnQixPQUFLLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFMLFFBQUs7QUFBQSxJQUFBLEtBQUEsVUFBQSxhQUFBLHFCQUFBLHdCQUFBO0FBV3JCLGlCQUFBLElBQUEsTUFBQSxrQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLFFBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsVUFBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQWdCLE1BQUksS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQUosT0FBSTtBQUFBLElBQUEsS0FBQSxVQUFBLGFBQUEsb0JBQUEsdUJBQUE7QUF0Qm5ELGlCQUFBLE1BQUEsbUJBQUEsRUFBQSxPQUFBLFdBQUEsR0FBQSxrQkFBQSxFQUFBLE1BQUEsU0FBQSxNQUFBLFdBQUEsTUFBQSxVQUFBLFVBQUEsR0FBQSxNQUFBLHVCQUFBOzs7UUFDeUIsR0FBQSxTQUF5QixPQUV6QixHQUFBLFNBQVM7QUFBQSxJQUM5QixXQUFXO0FBQUEsSUFDWCxVQUFVO0FBQUEsSUFDVixhQUFhO0FBQUEsSUFDYixZQUFZO0FBQUEsRUFBQSxHQVBWLGtCQUFBLFlBQUEsdUJBQUEsR0FBb0I7OzsifQ==
367
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb250YWluZXIvc3RpY2t5LWJhci9zdGlja3ktYmFyLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnRlcnNlY3Rpb25Db250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9pbnRlcnNlY3Rpb24tY29udHJvbGxlci5qcyc7XG5pbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBMaXRFbGVtZW50LFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGlzTGVhbiwgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBTYmJVcGRhdGVTY2hlZHVsZXJNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vc3RpY2t5LWJhci5zY3NzP2xpdCZpbmxpbmUnO1xuXG50eXBlIFN0aWNreVN0YXRlID0gJ3N0aWNraW5nJyB8ICdzdGlja3knIHwgJ3Vuc3RpY2tpbmcnIHwgJ3Vuc3RpY2t5JztcblxuLyoqXG4gKiBBIGNvbnRhaW5lciB0aGF0IHN0aWNrcyB0byB0aGUgYm90dG9tIG9mIHRoZSBwYWdlIGlmIHNsb3R0ZWQgaW50byBgc2JiLWNvbnRhaW5lcmAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgc3RpY2t5IGJhci5cbiAqIEBjc3Nwcm9wIFstLXNiYi1zdGlja3ktYmFyLXBhZGRpbmctYmxvY2s9dmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14cyldIC0gQmxvY2sgcGFkZGluZyBvZiB0aGUgc3RpY2t5IGJhci5cbiAqIEBjc3Nwcm9wIFstLXNiYi1zdGlja3ktYmFyLWJvdHRvbS1vdmVybGFwcGluZy1oZWlnaHQ9MHB4XSAtIERlZmluZSBhbiBhZGRpdGlvbmFsIGFyZWEgd2hlcmVcbiAqIHRoZSBzdGlja3kgYmFyIG92ZXJsYXBzIHRoZSBmb2xsb3dpbmcgY29udGVudCBvbiB0aGUgYm90dG9tLlxuICogVGhpcyBhcmVhIGJlY29tZXMgdmlzaWJsZSB3aGVuIHRoZSBzdGlja3kgYmFyIHRyYW5zaXRpb25zIGZyb20gc3RpY2t5IHRvIHRoZSBub3JtYWwgZG9jdW1lbnQgZmxvdy5cbiAqIEBjc3Nwcm9wIFstLXNiYi1zdGlja3ktYmFyLXotaW5kZXhdIC0gVG8gc3BlY2lmeSBhIGN1c3RvbSBzdGFjayBvcmRlcixcbiAqIHRoZSBgei1pbmRleGAgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZGVmaW5pbmcgdGhpcyBDU1MgdmFyaWFibGUuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1zdGlja3ktYmFyJylcbmNsYXNzIFNiYlN0aWNreUJhckVsZW1lbnQgZXh0ZW5kcyBTYmJVcGRhdGVTY2hlZHVsZXJNaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIGJlZm9yZXN0aWNrOiAnYmVmb3Jlc3RpY2snLFxuICAgIHN0aWNrOiAnc3RpY2snLFxuICAgIGJlZm9yZXVuc3RpY2s6ICdiZWZvcmV1bnN0aWNrJyxcbiAgICB1bnN0aWNrOiAndW5zdGljaycsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIENvbG9yIG9mIHRoZSBjb250YWluZXIsIGxpa2UgdHJhbnNwYXJlbnQsIHdoaXRlIGV0Yy4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3IgY29sb3I6XG4gICAgfCAnd2hpdGUnXG4gICAgfCAnbWlsaydcbiAgICB8ICdtaWRuaWdodCdcbiAgICB8ICdjaGFyY29hbCdcbiAgICB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBTaXplIG9mIHRoZSBjb250YWluZXIuXG4gICAqIEBkZWZhdWx0ICdtJyAvICdzJyAobGVhbilcbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdtJyB8ICdzJyA9IGlzTGVhbigpID8gJ3MnIDogJ20nO1xuXG4gIC8qKiBUaGUgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC4gKi9cbiAgcHJpdmF0ZSBzZXQgX3N0YXRlKHN0YXRlOiBTdGlja3lTdGF0ZSkge1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLXN0YXRlJywgc3RhdGUpO1xuICB9XG4gIHByaXZhdGUgZ2V0IF9zdGF0ZSgpOiBTdGlja3lTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCdkYXRhLXN0YXRlJykgYXMgU3RpY2t5U3RhdGU7XG4gIH1cblxuICBwcml2YXRlIF9pbnRlcnNlY3Rvcj86IEhUTUxTcGFuRWxlbWVudDtcbiAgcHJpdmF0ZSBfb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uQ29udHJvbGxlcih0aGlzLCB7XG4gICAgLy8gQWx0aG91Z2ggYHRoaXNgIGlzIG9ic2VydmVkLCB3ZSBoYXZlIHRvIHBvc3Rwb25lIG9ic2VydmluZ1xuICAgIC8vIGludG8gZmlyc3RVcGRhdGVkKCkgdG8gYWNoaWV2ZSBhIGNvcnJlY3QgaW5pdGlhbCBzdGF0ZS5cbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgY2FsbGJhY2s6IChlbnRyaWVzKSA9PiB0aGlzLl9kZXRlY3RTdGlja3lTdGF0ZShlbnRyaWVzWzBdKSxcbiAgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5zbG90IHx8PSAnc3RpY2t5LWJhcic7XG4gICAgdGhpcy5fc3RhdGUgPSAnc3RpY2t5JztcblxuICAgIC8vIFN0aWNreSBiYXIgbmVlZHMgdG8gYmUgaGlkZGVuIHVudGlsIGZpcnN0IG9ic2VydmVyIGNhbGxiYWNrXG4gICAgdGhpcy5zdGFydFVwZGF0ZSgpO1xuXG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5jbG9zZXN0KCdzYmItY29udGFpbmVyJyk7XG4gICAgaWYgKGNvbnRhaW5lcikge1xuICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtZXhwYW5kZWQnLCBjb250YWluZXIuZXhwYW5kZWQpO1xuICAgIH1cbiAgICBpZiAodGhpcy5faW50ZXJzZWN0b3IpIHtcbiAgICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcy5faW50ZXJzZWN0b3IpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtaW5pdGlhbGl6ZWQnLCBmYWxzZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoIXRoaXMuX2ludGVyc2VjdG9yKSB7XG4gICAgICB0aGlzLl9pbnRlcnNlY3RvciA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcignLnNiYi1zdGlja3ktYmFyX19pbnRlcnNlY3RvcicpITtcbiAgICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcy5faW50ZXJzZWN0b3IpO1xuICAgIH1cbiAgICB0aGlzLl9vYnNlcnZlci5vYnNlcnZlKHRoaXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi1zdGlja3ktYmFyLXNsaWRlLXZlcnRpY2FsbHktYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcml2YXRlIF9kZXRlY3RTdGlja3lTdGF0ZShlbnRyeTogSW50ZXJzZWN0aW9uT2JzZXJ2ZXJFbnRyeSk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWluaXRpYWxpemVkJywgdHJ1ZSk7XG5cbiAgICBjb25zdCBpc1N0aWNreSA9ICFlbnRyeS5pc0ludGVyc2VjdGluZyAmJiBlbnRyeS5ib3VuZGluZ0NsaWVudFJlY3QudG9wID4gMDtcblxuICAgIC8vIFRvIG9wdGltaXplIHRoZSB2aXN1YWwgcGVyY2VwdGlvbiBvZiB0aGUgc3RpY2t5IGJhciwgd2UgaGF2ZSBjZXJ0YWluIGNhc2VzIChlLmcuIG9uIHBhZ2UgbG9hZClcbiAgICAvLyB3aGVyZSB3ZSB3YW50IHRoZSBzdGlja3kgYmFyIHRvIHNsaWRlIGluIGZyb20gdGhlIGJvdHRvbS5cbiAgICAvLyBUbyBkZWNpZGUgd2hldGhlciB0byBzbGlkZSBpbiBmcm9tIHRoZSBib3R0b20gdXAsXG4gICAgLy8gd2UgY2hlY2sgaG93IGZhciBhd2F5IHRoZSBzdGlja3kgYmFyIGlzIGZyb20gdGhlIGludGVyc2VjdG9yIGVsZW1lbnQuIFdoZW4gc2Nyb2xsaW5nIGZhc3QsIHRoZVxuICAgIC8vIGRpZmZlcmVuY2UgY2FuIHZhcnkgc2xpZ2h0bHkuIFRvIGFjY291bnQgZm9yIHRoaXMgd2UgYWRkIGEgaGVpZ2h0IHRvbGVyYW5jZS5cbiAgICAvLyBUaGlzIHZhbHVlIHdhcyBmb3VuZCBieSB0cmlhbCBhbmQgZXJyb3IuXG4gICAgY29uc3QgaW50ZXJzZWN0b3JSZWN0ID0gdGhpcy5faW50ZXJzZWN0b3I/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHN0aWNreUJhclJlY3QgPSB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnLnNiYi1zdGlja3ktYmFyX193cmFwcGVyJyxcbiAgICApIS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBIRUlHSFRfVE9MRVJBTkNFID0gMzA7XG5cbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZShcbiAgICAgICdkYXRhLXNsaWRlLXZlcnRpY2FsbHknLFxuICAgICAgaXNTdGlja3kgJiZcbiAgICAgICAgdGhpcy5faW50ZXJzZWN0b3IgJiZcbiAgICAgICAgTWF0aC5hYnMoaW50ZXJzZWN0b3JSZWN0IS5ib3R0b20gLSBzdGlja3lCYXJSZWN0LmJvdHRvbSkgPiBIRUlHSFRfVE9MRVJBTkNFLFxuICAgICk7XG5cbiAgICAvLyBUb2dnbGluZyBkYXRhLXN0aWNraW5nIGhhcyB0byBiZSBhZnRlciBkYXRhLXNsaWRlLXZlcnRpY2FsbHkgKHByZXZlbnRzIGJhY2tncm91bmQgY29sb3IgdHJhbnNpdGlvbilcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1zdGlja2luZycsIGlzU3RpY2t5KTtcblxuICAgIC8vIFN0aWNreSBiYXIgbmVlZHMgdG8gYmUgaGlkZGVuIHVudGlsIGZpcnN0IG9ic2VydmVyIGNhbGxiYWNrXG4gICAgdGhpcy5jb21wbGV0ZVVwZGF0ZSgpO1xuICB9XG5cbiAgLyoqIEFuaW1hdGVzIGZyb20gbm9ybWFsIGNvbnRlbnQgZmxvdyBwb3NpdGlvbiB0byBgcG9zaXRpb246IHN0aWNreWAuICovXG4gIHB1YmxpYyBzdGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3RhdGUgIT09ICd1bnN0aWNreScgfHwgIXRoaXMuX2Rpc3BhdGNoQmVmb3JlU3RpY2tFdmVudCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fc3RhdGUgPSAnc3RpY2tpbmcnO1xuICAgIGlmICghdGhpcy5oYXNBdHRyaWJ1dGUoJ2RhdGEtc3RpY2tpbmcnKSB8fCB0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9zdGlja3lDYWxsYmFjaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBBbmltYXRlcyBgcG9zaXRpb246IHN0aWNreWAgdG8gbm9ybWFsIGNvbnRlbnQgZmxvdyBwb3NpdGlvbi4gKi9cbiAgcHVibGljIHVuc3RpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlICE9PSAnc3RpY2t5JyB8fCAhdGhpcy5fZGlzcGF0Y2hCZWZvcmVVblN0aWNrRXZlbnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3N0YXRlID0gJ3Vuc3RpY2tpbmcnO1xuXG4gICAgaWYgKCF0aGlzLmhhc0F0dHJpYnV0ZSgnZGF0YS1zdGlja2luZycpIHx8IHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX3Vuc3RpY2t5Q2FsbGJhY2soKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zdGlja3lDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZSA9ICdzdGlja3knO1xuXG4gICAgLyoqIEVtaXRzIHdoZW4gdGhlIGFuaW1hdGlvbiBmcm9tIG5vcm1hbCBjb250ZW50IGZsb3cgdG8gYHBvc2l0aW9uOiBzdGlja3lgIGVuZHMuICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnc3RpY2snKSk7XG4gIH1cblxuICBwcml2YXRlIF91bnN0aWNreUNhbGxiYWNrKCk6IHZvaWQge1xuICAgIC8qKiBFbWl0cyB3aGVuIHRoZSBhbmltYXRpb24gZnJvbSBgcG9zaXRpb246IHN0aWNreWAgdG8gbm9ybWFsIGNvbnRlbnQgZmxvdyBlbmRzLiAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Vuc3RpY2snKSk7XG4gICAgdGhpcy5fc3RhdGUgPSAndW5zdGlja3knO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25BbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgKHRoaXMuX3N0YXRlID09PSAnc3RpY2tpbmcnIHx8IHRoaXMuX3N0YXRlID09PSAnc3RpY2t5JykgJiZcbiAgICAgIGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdzbGlkZS1pbidcbiAgICApIHtcbiAgICAgIHRoaXMuX3N0aWNreUNhbGxiYWNrKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ3Vuc3RpY2tpbmcnICYmIGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdzbGlkZS1vdXQnKSB7XG4gICAgICB0aGlzLl91bnN0aWNreUNhbGxiYWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZGlzcGF0Y2hCZWZvcmVTdGlja0V2ZW50KCk6IGJvb2xlYW4ge1xuICAgIC8qKiBFbWl0cyB3aGVuIHRoZSBhbmltYXRpb24gZnJvbSBub3JtYWwgY29udGVudCBmbG93IHRvIGBwb3NpdGlvbjogc3RpY2t5YCBzdGFydHMuIENhbiBiZSBjYW5jZWxlZC4gKi9cbiAgICByZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnYmVmb3Jlc3RpY2snLCB7IGNhbmNlbGFibGU6IHRydWUgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGlzcGF0Y2hCZWZvcmVVblN0aWNrRXZlbnQoKTogYm9vbGVhbiB7XG4gICAgLyoqIEVtaXRzIHdoZW4gdGhlIGFuaW1hdGlvbiBmcm9tIGBwb3NpdGlvbjogc3RpY2t5YCB0byBub3JtYWwgY29udGVudCBmbG93IHN0YXJ0cy4gQ2FuIGJlIGNhbmNlbGVkLiAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdiZWZvcmV1bnN0aWNrJywgeyBjYW5jZWxhYmxlOiB0cnVlIH0pKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1zdGlja3ktYmFyX193cmFwcGVyXCIgQGFuaW1hdGlvbmVuZD0ke3RoaXMuX29uQW5pbWF0aW9uRW5kfT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1zdGlja3ktYmFyXCI+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1zdGlja3ktYmFyX19pbnRlcnNlY3RvclwiPjwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1zdGlja3ktYmFyJzogU2JiU3RpY2t5QmFyRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQThCTSx1QkFBbUIsTUFBQTs7MEJBRHhCLGNBQWMsZ0JBQWdCLENBQUM7Ozs7b0JBQ0Usd0JBQXdCLFVBQVU7Ozs7Ozs7QUFBMUMsRUFBQSxtQkFBUSxZQUFtQztBQUFBOztBQVd0QztBQVdBO0FBWGdCLHlCQUFBLHlCQUFBLGtCQUFBLE1BQUEscUJBS2xDLElBQUk7QUFNOEIseUJBQUEseUJBQUEsa0JBQUEsTUFBQSx3QkFBQSxHQUFBLGtCQUFBLE1BQUEsb0JB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
@@ -40,4 +40,4 @@ export {
40
40
  isNextArrowKeyPressed,
41
41
  isPreviousArrowKeyPressed
42
42
  };
43
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyb3ctbmF2aWdhdGlvbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvYTExeS9hcnJvdy1uYXZpZ2F0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImludGVyZmFjZSBQcmV2QW5kTmV4dEtleXMge1xuICBwcmV2S2V5OiBzdHJpbmc7XG4gIG5leHRLZXk6IHN0cmluZztcbn1cblxuZnVuY3Rpb24gZ2V0UHJldkFuZE5leHRLZXlzKCk6IFByZXZBbmROZXh0S2V5cyB7XG4gIGlmIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubWF0Y2hlcygnOmRpcihydGwpJykpIHtcbiAgICByZXR1cm4geyBwcmV2S2V5OiAnQXJyb3dSaWdodCcsIG5leHRLZXk6ICdBcnJvd0xlZnQnIH07XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHsgcHJldktleTogJ0Fycm93TGVmdCcsIG5leHRLZXk6ICdBcnJvd1JpZ2h0JyB9O1xuICB9XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIGtleSBwcmVzc2VkIGlzIGFtb25nIHRob3NlIGFsbG93ZWQgZm9yIG5hdmlnYXRpb24uXG4gKiBAcGFyYW0gZXZlbnQgVGhlIGtleWJvYXJkIGV2ZW50IHRvIGNoZWNrLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNBcnJvd0tleVByZXNzZWQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgcmV0dXJuIFsnQXJyb3dSaWdodCcsICdBcnJvd0xlZnQnLCAnQXJyb3dVcCcsICdBcnJvd0Rvd24nXS5pbmNsdWRlcyhldmVudC5rZXkpO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBrZXkgcHJlc3NlZCBzaG91bGQgbW92ZSB0aGUgbmF2aWdhdGlvbiB0byB0aGUgbmV4dCBlbGVtZW50LlxuICogQHBhcmFtIGV2ZW50IFRoZSBrZXlib2FyZCBldmVudCB0byBjaGVjay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUHJldmlvdXNBcnJvd0tleVByZXNzZWQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgcmV0dXJuIGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnIHx8IGV2ZW50LmtleSA9PT0gZ2V0UHJldkFuZE5leHRLZXlzKCkucHJldktleTtcbn1cblxuLyoqXG4gKiBDaGVjayBpZiB0aGUga2V5IHByZXNzZWQgc2hvdWxkIG1vdmUgdGhlIG5hdmlnYXRpb24gdG8gdGhlIG5leHQgZWxlbWVudC5cbiAqIEBwYXJhbSBldmVudCBUaGUga2V5Ym9hcmQgZXZlbnQgdG8gY2hlY2suXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc05leHRBcnJvd0tleVByZXNzZWQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgcmV0dXJuIGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicgfHwgZXZlbnQua2V5ID09PSBnZXRQcmV2QW5kTmV4dEtleXMoKS5uZXh0S2V5O1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBrZXkgcHJlc3NlZCBpcyBhbW9uZyB0aG9zZSBhbGxvd2VkIGZvciBuYXZpZ2F0aW9uLlxuICogQHBhcmFtIGV2ZW50IFRoZSBrZXlib2FyZCBldmVudCB0byBjaGVjay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQXJyb3dLZXlPclBhZ2VLZXlzUHJlc3NlZChldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNBcnJvd0tleVByZXNzZWQoZXZlbnQpIHx8IFsnUGFnZVVwJywgJ1BhZ2VEb3duJywgJ0hvbWUnLCAnRW5kJ10uaW5jbHVkZXMoZXZlbnQua2V5KTtcbn1cblxuLyoqXG4gKiBDYWxjdWxhdGUgdGhlIGluZGV4IG9mIHRoZSBuZXh0IGVsZW1lbnQgYmFzZWQgb24gdGhlIGdpdmVuIG9mZnNldC5cbiAqIEBwYXJhbSBjdXJyZW50SW5kZXggVGhlIGluZGV4IG9mIHRoZSBjdXJyZW50IGVsZW1lbnQuXG4gKiBAcGFyYW0gbWF4SW5kZXggVGhlIG1heGltdW0gcGVybWl0dGVkIHZhbHVlIChlLmcuIGFycmF5IHNpemUpLlxuICogQHBhcmFtIG9mZnNldCBUaGUgYW1vdW50IHRvIG1vdmUgYnkuXG4gKi9cbmZ1bmN0aW9uIGNhbGNOZXh0SW5kZXhJblJhbmdlKGN1cnJlbnRJbmRleDogbnVtYmVyLCBtYXhJbmRleDogbnVtYmVyLCBvZmZzZXQ6IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiAoY3VycmVudEluZGV4ICsgb2Zmc2V0ICsgbWF4SW5kZXgpICUgbWF4SW5kZXg7XG59XG5cbmZ1bmN0aW9uIGdldExhc3RJbmRleChzaXplOiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gc2l6ZSAtIDE7XG59XG5cbmNvbnN0IGZpcnN0SW5kZXggPSAwO1xuXG4vKipcbiAqIEdldHMgdGhlIGluZGV4IG9mIHRoZSBlbGVtZW50IHRvIG1vdmUgdG8sIGJhc2VkIG9uIHRoZSBrZXlib2FyZCBpbnB1dCwgdGhlIGN1cnJlbnQgZWxlbWVudCBpbiB0aGUgbGlzdCBhbmQgdGhlIGxpc3Qgc2l6ZS5cbiAqIEBwYXJhbSBldmVudCBUaGUga2V5Ym9hcmQgZXZlbnQgdG8gY2hlY2suIElmIG51bGwsIHdpbGwgY291bnQgYXMgYSAnbmV4dCcgc3RlcC5cbiAqIEBwYXJhbSBjdXJyZW50IFRoZSBpbmRleCBvZiB0aGUgY3VycmVudCBlbGVtZW50IGluIHRoZSBsaXN0LlxuICogQHBhcmFtIHNpemUgVGhlIHNpemUgb2YgdGhlIGxpc3QuXG4gKiBAcmV0dXJucyBpZiBpdCBpcyBhICdwcmV2aW91cycgZXZlbnQsIHJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBwcmV2aW91cyBlbGVtZW50LFxuICogb3IgdGhlIGluZGV4IG9mIHRoZSBsYXN0IG9uZSBpZiB0aGUgY3VycmVudCBlbGVtZW50IGlzIHRoZSBmaXJzdCBpbiB0aGUgbGlzdDtcbiAqIGlmIGl0IGlzIGEgJ25leHQnIGV2ZW50LCByZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgbmV4dCBlbGVtZW50LFxuICogb3IgdGhlIGluZGV4IG9mIHRoZSBmaXJzdCBvbmUsIGlmIHRoZSBjdXJyZW50IGlzIHRoZSBsYXN0IGluIHRoZSBsaXN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV4dEVsZW1lbnRJbmRleChcbiAgZXZlbnQ6IEtleWJvYXJkRXZlbnQgfCB1bmRlZmluZWQsXG4gIGN1cnJlbnQ6IG51bWJlcixcbiAgc2l6ZTogbnVtYmVyLFxuKTogbnVtYmVyIHtcbiAgY29uc3QgeyBwcmV2S2V5LCBuZXh0S2V5IH0gPSBnZXRQcmV2QW5kTmV4dEtleXMoKTtcblxuICBpZiAoIWV2ZW50IHx8IGV2ZW50LmtleSA9PT0gbmV4dEtleSB8fCBldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgcmV0dXJuIGN1cnJlbnQgPj0gc2l6ZSA/IGZpcnN0SW5kZXggOiBjYWxjTmV4dEluZGV4SW5SYW5nZShjdXJyZW50LCBzaXplLCAxKTtcbiAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09IHByZXZLZXkgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcbiAgICByZXR1cm4gY3VycmVudCA8IGZpcnN0SW5kZXggPyBnZXRMYXN0SW5kZXgoc2l6ZSkgOiBjYWxjTmV4dEluZGV4SW5SYW5nZShjdXJyZW50LCBzaXplLCAtMSk7XG4gIH1cbiAgcmV0dXJuIGN1cnJlbnQ7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsU0FBUyxxQkFBa0I7QUFDekIsTUFBSSxTQUFTLGdCQUFnQixRQUFRLFdBQVcsR0FBRztBQUNqRCxXQUFPLEVBQUUsU0FBUyxjQUFjLFNBQVMsWUFBQTtBQUFBLEVBQVcsT0FDL0M7QUFDTCxXQUFPLEVBQUUsU0FBUyxhQUFhLFNBQVMsYUFBQTtBQUFBLEVBQVk7QUFFeEQ7QUFNTSxTQUFVLGtCQUFrQixPQUFvQjtBQUNwRCxTQUFPLENBQUMsY0FBYyxhQUFhLFdBQVcsV0FBVyxFQUFFLFNBQVMsTUFBTSxHQUFHO0FBQy9FO0FBTU0sU0FBVSwwQkFBMEIsT0FBb0I7QUFDNUQsU0FBTyxNQUFNLFFBQVEsYUFBYSxNQUFNLFFBQVEscUJBQXFCO0FBQ3ZFO0FBTU0sU0FBVSxzQkFBc0IsT0FBb0I7QUFDeEQsU0FBTyxNQUFNLFFBQVEsZUFBZSxNQUFNLFFBQVEscUJBQXFCO0FBQ3pFO0FBTU0sU0FBVSw0QkFBNEIsT0FBb0I7QUFDOUQsU0FBTyxrQkFBa0IsS0FBSyxLQUFLLENBQUMsVUFBVSxZQUFZLFFBQVEsS0FBSyxFQUFFLFNBQVMsTUFBTSxHQUFHO0FBQzdGO0FBUUEsU0FBUyxxQkFBcUIsY0FBc0IsVUFBa0IsUUFBYztBQUNsRixVQUFRLGVBQWUsU0FBUyxZQUFZO0FBQzlDO0FBRUEsU0FBUyxhQUFhLE1BQVk7QUFDaEMsU0FBTyxPQUFPO0FBQ2hCO0FBRUEsTUFBTSxhQUFhO1NBWUgsb0JBQ2QsT0FDQSxTQUNBLE1BQVk7QUFFWixRQUFNLEVBQUUsU0FBUyxRQUFBLElBQVksbUJBQUE7QUFFN0IsTUFBSSxDQUFDLFNBQVMsTUFBTSxRQUFRLFdBQVcsTUFBTSxRQUFRLGFBQWE7QUFDaEUsV0FBTyxXQUFXLE9BQU8sYUFBYSxxQkFBcUIsU0FBUyxNQUFNLENBQUM7QUFBQSxFQUFBLFdBQ2xFLE1BQU0sUUFBUSxXQUFXLE1BQU0sUUFBUSxXQUFXO0FBQzNELFdBQU8sVUFBVSxhQUFhLGFBQWEsSUFBSSxJQUFJLHFCQUFxQixTQUFTLE1BQU0sRUFBRTtBQUFBLEVBQUE7QUFFM0YsU0FBTztBQUNUOyJ9
43
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyb3ctbmF2aWdhdGlvbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvYTExeS9hcnJvdy1uYXZpZ2F0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImludGVyZmFjZSBQcmV2QW5kTmV4dEtleXMge1xuICBwcmV2S2V5OiBzdHJpbmc7XG4gIG5leHRLZXk6IHN0cmluZztcbn1cblxuZnVuY3Rpb24gZ2V0UHJldkFuZE5leHRLZXlzKCk6IFByZXZBbmROZXh0S2V5cyB7XG4gIGlmIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubWF0Y2hlcygnOmRpcihydGwpJykpIHtcbiAgICByZXR1cm4geyBwcmV2S2V5OiAnQXJyb3dSaWdodCcsIG5leHRLZXk6ICdBcnJvd0xlZnQnIH07XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHsgcHJldktleTogJ0Fycm93TGVmdCcsIG5leHRLZXk6ICdBcnJvd1JpZ2h0JyB9O1xuICB9XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIGtleSBwcmVzc2VkIGlzIGFtb25nIHRob3NlIGFsbG93ZWQgZm9yIG5hdmlnYXRpb24uXG4gKiBAcGFyYW0gZXZlbnQgVGhlIGtleWJvYXJkIGV2ZW50IHRvIGNoZWNrLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNBcnJvd0tleVByZXNzZWQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgcmV0dXJuIFsnQXJyb3dSaWdodCcsICdBcnJvd0xlZnQnLCAnQXJyb3dVcCcsICdBcnJvd0Rvd24nXS5pbmNsdWRlcyhldmVudC5rZXkpO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBrZXkgcHJlc3NlZCBzaG91bGQgbW92ZSB0aGUgbmF2aWdhdGlvbiB0byB0aGUgbmV4dCBlbGVtZW50LlxuICogQHBhcmFtIGV2ZW50IFRoZSBrZXlib2FyZCBldmVudCB0byBjaGVjay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUHJldmlvdXNBcnJvd0tleVByZXNzZWQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgcmV0dXJuIGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnIHx8IGV2ZW50LmtleSA9PT0gZ2V0UHJldkFuZE5leHRLZXlzKCkucHJldktleTtcbn1cblxuLyoqXG4gKiBDaGVjayBpZiB0aGUga2V5IHByZXNzZWQgc2hvdWxkIG1vdmUgdGhlIG5hdmlnYXRpb24gdG8gdGhlIG5leHQgZWxlbWVudC5cbiAqIEBwYXJhbSBldmVudCBUaGUga2V5Ym9hcmQgZXZlbnQgdG8gY2hlY2suXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc05leHRBcnJvd0tleVByZXNzZWQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgcmV0dXJuIGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicgfHwgZXZlbnQua2V5ID09PSBnZXRQcmV2QW5kTmV4dEtleXMoKS5uZXh0S2V5O1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHRoZSBrZXkgcHJlc3NlZCBpcyBhbW9uZyB0aG9zZSBhbGxvd2VkIGZvciBuYXZpZ2F0aW9uLlxuICogQHBhcmFtIGV2ZW50IFRoZSBrZXlib2FyZCBldmVudCB0byBjaGVjay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQXJyb3dLZXlPclBhZ2VLZXlzUHJlc3NlZChldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNBcnJvd0tleVByZXNzZWQoZXZlbnQpIHx8IFsnUGFnZVVwJywgJ1BhZ2VEb3duJywgJ0hvbWUnLCAnRW5kJ10uaW5jbHVkZXMoZXZlbnQua2V5KTtcbn1cblxuLyoqXG4gKiBDYWxjdWxhdGUgdGhlIGluZGV4IG9mIHRoZSBuZXh0IGVsZW1lbnQgYmFzZWQgb24gdGhlIGdpdmVuIG9mZnNldC5cbiAqIEBwYXJhbSBjdXJyZW50SW5kZXggVGhlIGluZGV4IG9mIHRoZSBjdXJyZW50IGVsZW1lbnQuXG4gKiBAcGFyYW0gbWF4SW5kZXggVGhlIG1heGltdW0gcGVybWl0dGVkIHZhbHVlIChlLmcuIGFycmF5IHNpemUpLlxuICogQHBhcmFtIG9mZnNldCBUaGUgYW1vdW50IHRvIG1vdmUgYnkuXG4gKi9cbmZ1bmN0aW9uIGNhbGNOZXh0SW5kZXhJblJhbmdlKGN1cnJlbnRJbmRleDogbnVtYmVyLCBtYXhJbmRleDogbnVtYmVyLCBvZmZzZXQ6IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiAoY3VycmVudEluZGV4ICsgb2Zmc2V0ICsgbWF4SW5kZXgpICUgbWF4SW5kZXg7XG59XG5cbmZ1bmN0aW9uIGdldExhc3RJbmRleChzaXplOiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gc2l6ZSAtIDE7XG59XG5cbmNvbnN0IGZpcnN0SW5kZXggPSAwO1xuXG4vKipcbiAqIEdldHMgdGhlIGluZGV4IG9mIHRoZSBlbGVtZW50IHRvIG1vdmUgdG8sIGJhc2VkIG9uIHRoZSBrZXlib2FyZCBpbnB1dCwgdGhlIGN1cnJlbnQgZWxlbWVudCBpbiB0aGUgbGlzdCBhbmQgdGhlIGxpc3Qgc2l6ZS5cbiAqIEBwYXJhbSBldmVudCBUaGUga2V5Ym9hcmQgZXZlbnQgdG8gY2hlY2suIElmIG51bGwsIHdpbGwgY291bnQgYXMgYSAnbmV4dCcgc3RlcC5cbiAqIEBwYXJhbSBjdXJyZW50IFRoZSBpbmRleCBvZiB0aGUgY3VycmVudCBlbGVtZW50IGluIHRoZSBsaXN0LlxuICogQHBhcmFtIHNpemUgVGhlIHNpemUgb2YgdGhlIGxpc3QuXG4gKiBAcmV0dXJucyBpZiBpdCBpcyBhICdwcmV2aW91cycgZXZlbnQsIHJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBwcmV2aW91cyBlbGVtZW50LFxuICogb3IgdGhlIGluZGV4IG9mIHRoZSBsYXN0IG9uZSBpZiB0aGUgY3VycmVudCBlbGVtZW50IGlzIHRoZSBmaXJzdCBpbiB0aGUgbGlzdDtcbiAqIGlmIGl0IGlzIGEgJ25leHQnIGV2ZW50LCByZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgbmV4dCBlbGVtZW50LFxuICogb3IgdGhlIGluZGV4IG9mIHRoZSBmaXJzdCBvbmUsIGlmIHRoZSBjdXJyZW50IGlzIHRoZSBsYXN0IGluIHRoZSBsaXN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV4dEVsZW1lbnRJbmRleChcbiAgZXZlbnQ6IEtleWJvYXJkRXZlbnQgfCB1bmRlZmluZWQsXG4gIGN1cnJlbnQ6IG51bWJlcixcbiAgc2l6ZTogbnVtYmVyLFxuKTogbnVtYmVyIHtcbiAgY29uc3QgeyBwcmV2S2V5LCBuZXh0S2V5IH0gPSBnZXRQcmV2QW5kTmV4dEtleXMoKTtcblxuICBpZiAoIWV2ZW50IHx8IGV2ZW50LmtleSA9PT0gbmV4dEtleSB8fCBldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgcmV0dXJuIGN1cnJlbnQgPj0gc2l6ZSA/IGZpcnN0SW5kZXggOiBjYWxjTmV4dEluZGV4SW5SYW5nZShjdXJyZW50LCBzaXplLCAxKTtcbiAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09IHByZXZLZXkgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcbiAgICByZXR1cm4gY3VycmVudCA8IGZpcnN0SW5kZXggPyBnZXRMYXN0SW5kZXgoc2l6ZSkgOiBjYWxjTmV4dEluZGV4SW5SYW5nZShjdXJyZW50LCBzaXplLCAtMSk7XG4gIH1cbiAgcmV0dXJuIGN1cnJlbnQ7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsU0FBUyxxQkFBa0I7QUFDekIsTUFBSSxTQUFTLGdCQUFnQixRQUFRLFdBQVcsR0FBRztBQUNqRCxXQUFPLEVBQUUsU0FBUyxjQUFjLFNBQVMsWUFBQTtBQUFBLEVBQzNDLE9BQU87QUFDTCxXQUFPLEVBQUUsU0FBUyxhQUFhLFNBQVMsYUFBQTtBQUFBLEVBQzFDO0FBQ0Y7QUFNTSxTQUFVLGtCQUFrQixPQUFvQjtBQUNwRCxTQUFPLENBQUMsY0FBYyxhQUFhLFdBQVcsV0FBVyxFQUFFLFNBQVMsTUFBTSxHQUFHO0FBQy9FO0FBTU0sU0FBVSwwQkFBMEIsT0FBb0I7QUFDNUQsU0FBTyxNQUFNLFFBQVEsYUFBYSxNQUFNLFFBQVEscUJBQXFCO0FBQ3ZFO0FBTU0sU0FBVSxzQkFBc0IsT0FBb0I7QUFDeEQsU0FBTyxNQUFNLFFBQVEsZUFBZSxNQUFNLFFBQVEscUJBQXFCO0FBQ3pFO0FBTU0sU0FBVSw0QkFBNEIsT0FBb0I7QUFDOUQsU0FBTyxrQkFBa0IsS0FBSyxLQUFLLENBQUMsVUFBVSxZQUFZLFFBQVEsS0FBSyxFQUFFLFNBQVMsTUFBTSxHQUFHO0FBQzdGO0FBUUEsU0FBUyxxQkFBcUIsY0FBc0IsVUFBa0IsUUFBYztBQUNsRixVQUFRLGVBQWUsU0FBUyxZQUFZO0FBQzlDO0FBRUEsU0FBUyxhQUFhLE1BQVk7QUFDaEMsU0FBTyxPQUFPO0FBQ2hCO0FBRUEsTUFBTSxhQUFhO1NBWUgsb0JBQ2QsT0FDQSxTQUNBLE1BQVk7QUFFWixRQUFNLEVBQUUsU0FBUyxRQUFBLElBQVksbUJBQUE7QUFFN0IsTUFBSSxDQUFDLFNBQVMsTUFBTSxRQUFRLFdBQVcsTUFBTSxRQUFRLGFBQWE7QUFDaEUsV0FBTyxXQUFXLE9BQU8sYUFBYSxxQkFBcUIsU0FBUyxNQUFNLENBQUM7QUFBQSxFQUM3RSxXQUFXLE1BQU0sUUFBUSxXQUFXLE1BQU0sUUFBUSxXQUFXO0FBQzNELFdBQU8sVUFBVSxhQUFhLGFBQWEsSUFBSSxJQUFJLHFCQUFxQixTQUFTLE1BQU0sRUFBRTtBQUFBLEVBQzNGO0FBQ0EsU0FBTztBQUNUOyJ9
@@ -121,4 +121,4 @@ class SbbFocusTrapController {
121
121
  export {
122
122
  SbbFocusTrapController
123
123
  };
124
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtdHJhcC1jb250cm9sbGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9hMTF5L2ZvY3VzLXRyYXAtY29udHJvbGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0aXZlQ29udHJvbGxlciwgUmVhY3RpdmVDb250cm9sbGVySG9zdCB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7IGludGVyYWN0aXZpdHlDaGVja2VyIH0gZnJvbSAnLi9pbnRlcmFjdGl2aXR5LWNoZWNrZXIuanMnO1xuXG5leHBvcnQgY2xhc3MgU2JiRm9jdXNUcmFwQ29udHJvbGxlciBpbXBsZW1lbnRzIFJlYWN0aXZlQ29udHJvbGxlciB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmb2N1cyBpcyB0cmFwIGlzIGVuYWJsZWQuXG4gICAqIEBwYXJhbSBlbmFibGVkXG4gICAqL1xuICBwdWJsaWMgc2V0IGVuYWJsZWQoZW5hYmxlZDogYm9vbGVhbikge1xuICAgIGlmIChlbmFibGVkKSB7XG4gICAgICB0aGlzLl90cmFwKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3VudHJhcCgpO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IGVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5fYWJvcnRDb250cm9sbGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWJvcnRDb250cm9sbGVyOiBBYm9ydENvbnRyb2xsZXIgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBfaG9zdDogUmVhY3RpdmVDb250cm9sbGVySG9zdCAmIEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy5faG9zdC5hZGRDb250cm9sbGVyPy4odGhpcyk7XG4gIH1cblxuICBwdWJsaWMgaG9zdERpc2Nvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl91bnRyYXAoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb2N1c2VzIHRoZSBlbGVtZW50IHRoYXQgc2hvdWxkIGJlIGZvY3VzZWQgd2hlbiB0aGUgZm9jdXMgdHJhcCBpcyBpbml0aWFsaXplZC5cbiAgICogQHJldHVybnMgV2hldGhlciBmb2N1cyB3YXMgbW92ZWQgc3VjY2Vzc2Z1bGx5LlxuICAgKi9cbiAgcHVibGljIGZvY3VzSW5pdGlhbEVsZW1lbnQob3B0aW9ucz86IEZvY3VzT3B0aW9ucyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlZGlyZWN0VG9FbGVtZW50ID0gdGhpcy5faG9zdC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignW3NiYi1mb2N1cy1pbml0aWFsXScpO1xuXG4gICAgaWYgKHJlZGlyZWN0VG9FbGVtZW50KSB7XG4gICAgICAvLyBXYXJuIHRoZSBjb25zdW1lciBpZiB0aGUgZWxlbWVudCB0aGV5J3ZlIHBvaW50ZWQgdG9cbiAgICAgIC8vIGlzbid0IGZvY3VzYWJsZSwgd2hlbiBub3QgaW4gcHJvZHVjdGlvbiBtb2RlLlxuICAgICAgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYgJiYgIWludGVyYWN0aXZpdHlDaGVja2VyLmlzRm9jdXNhYmxlKHJlZGlyZWN0VG9FbGVtZW50KSkge1xuICAgICAgICBjb25zb2xlLndhcm4oYEVsZW1lbnQgbWF0Y2hpbmcgJ1tzYmItZm9jdXMtaW5pdGlhbF0nIGlzIG5vdCBmb2N1c2FibGUuYCwgcmVkaXJlY3RUb0VsZW1lbnQpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWludGVyYWN0aXZpdHlDaGVja2VyLmlzRm9jdXNhYmxlKHJlZGlyZWN0VG9FbGVtZW50KSkge1xuICAgICAgICBjb25zdCBmb2N1c2FibGVDaGlsZCA9IHRoaXMuX2dldEZpcnN0VGFiYmFibGVFbGVtZW50KHJlZGlyZWN0VG9FbGVtZW50KTtcbiAgICAgICAgZm9jdXNhYmxlQ2hpbGQ/LmZvY3VzKG9wdGlvbnMpO1xuICAgICAgICByZXR1cm4gISFmb2N1c2FibGVDaGlsZDtcbiAgICAgIH1cblxuICAgICAgcmVkaXJlY3RUb0VsZW1lbnQuZm9jdXMob3B0aW9ucyk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5mb2N1c0ZpcnN0VGFiYmFibGVFbGVtZW50KG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvY3VzZXMgdGhlIGZpcnN0IHRhYmJhYmxlIGVsZW1lbnQgd2l0aGluIHRoZSBmb2N1cyB0cmFwIHJlZ2lvbi5cbiAgICogQHJldHVybnMgV2hldGhlciBmb2N1cyB3YXMgbW92ZWQgc3VjY2Vzc2Z1bGx5LlxuICAgKi9cbiAgcHVibGljIGZvY3VzRmlyc3RUYWJiYWJsZUVsZW1lbnQob3B0aW9ucz86IEZvY3VzT3B0aW9ucyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlZGlyZWN0VG9FbGVtZW50ID0gdGhpcy5fZ2V0Rmlyc3RUYWJiYWJsZUVsZW1lbnQodGhpcy5faG9zdCk7XG5cbiAgICBpZiAocmVkaXJlY3RUb0VsZW1lbnQpIHtcbiAgICAgIHJlZGlyZWN0VG9FbGVtZW50LmZvY3VzKG9wdGlvbnMpO1xuICAgIH1cblxuICAgIHJldHVybiAhIXJlZGlyZWN0VG9FbGVtZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEZvY3VzZXMgdGhlIGxhc3QgdGFiYmFibGUgZWxlbWVudCB3aXRoaW4gdGhlIGZvY3VzIHRyYXAgcmVnaW9uLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIGZvY3VzIHdhcyBtb3ZlZCBzdWNjZXNzZnVsbHkuXG4gICAqL1xuICBwdWJsaWMgZm9jdXNMYXN0VGFiYmFibGVFbGVtZW50KG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiBib29sZWFuIHtcbiAgICBjb25zdCByZWRpcmVjdFRvRWxlbWVudCA9IHRoaXMuX2dldExhc3RUYWJiYWJsZUVsZW1lbnQodGhpcy5faG9zdCk7XG5cbiAgICBpZiAocmVkaXJlY3RUb0VsZW1lbnQpIHtcbiAgICAgIHJlZGlyZWN0VG9FbGVtZW50LmZvY3VzKG9wdGlvbnMpO1xuICAgIH1cblxuICAgIHJldHVybiAhIXJlZGlyZWN0VG9FbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBfdHJhcCgpOiB2b2lkIHtcbiAgICB0aGlzLl9hYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgdGhpcy5faG9zdC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2tleWRvd24nLFxuICAgICAgKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC5rZXkgIT09ICdUYWInKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFldmVudC5zaGlmdEtleSkge1xuICAgICAgICAgIGNvbnN0IGxhc3RGb2N1c2FibGVFbGVtZW50ID0gdGhpcy5fZ2V0TGFzdFRhYmJhYmxlRWxlbWVudCh0aGlzLl9ob3N0KTtcbiAgICAgICAgICBpZiAobGFzdEZvY3VzYWJsZUVsZW1lbnQgJiYgZXZlbnQuY29tcG9zZWRQYXRoKCkuaW5jbHVkZXMobGFzdEZvY3VzYWJsZUVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aGlzLl9nZXRGaXJzdFRhYmJhYmxlRWxlbWVudCh0aGlzLl9ob3N0KT8uZm9jdXMoKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlRWxlbWVudCA9IHRoaXMuX2dldEZpcnN0VGFiYmFibGVFbGVtZW50KHRoaXMuX2hvc3QpO1xuICAgICAgICAgIGlmIChmaXJzdEZvY3VzYWJsZUVsZW1lbnQgJiYgZXZlbnQuY29tcG9zZWRQYXRoKCkuaW5jbHVkZXMoZmlyc3RGb2N1c2FibGVFbGVtZW50KSkge1xuICAgICAgICAgICAgdGhpcy5fZ2V0TGFzdFRhYmJhYmxlRWxlbWVudCh0aGlzLl9ob3N0KT8uZm9jdXMoKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgeyBzaWduYWw6IHRoaXMuX2Fib3J0Q29udHJvbGxlci5zaWduYWwgfSxcbiAgICApO1xuICB9XG5cbiAgLyoqIEdldCB0aGUgZmlyc3QgdGFiYmFibGUgZWxlbWVudCBmcm9tIGEgRE9NIHN1YnRyZWUgKGluY2x1c2l2ZSkuICovXG4gIHByaXZhdGUgX2dldEZpcnN0VGFiYmFibGVFbGVtZW50KHJvb3Q6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICBpZiAoXG4gICAgICByb290ICE9PSB0aGlzLl9ob3N0ICYmXG4gICAgICBpbnRlcmFjdGl2aXR5Q2hlY2tlci5pc0ZvY3VzYWJsZShyb290KSAmJlxuICAgICAgaW50ZXJhY3Rpdml0eUNoZWNrZXIuaXNUYWJiYWJsZShyb290KVxuICAgICkge1xuICAgICAgcmV0dXJuIHJvb3Q7XG4gICAgfVxuXG4gICAgY29uc3QgY2hpbGRyZW4gPSByb290LnNoYWRvd1Jvb3RcbiAgICAgID8gcm9vdC5zaGFkb3dSb290LmNoaWxkcmVuXG4gICAgICA6IHJvb3QubG9jYWxOYW1lID09PSAnc2xvdCdcbiAgICAgICAgPyAocm9vdCBhcyBIVE1MU2xvdEVsZW1lbnQpLmFzc2lnbmVkRWxlbWVudHMoKVxuICAgICAgICA6IHJvb3QuY2hpbGRyZW47XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCB0YWJiYWJsZUNoaWxkID1cbiAgICAgICAgY2hpbGRyZW5baV0ubm9kZVR5cGUgPT09IGRvY3VtZW50LkVMRU1FTlRfTk9ERVxuICAgICAgICAgID8gdGhpcy5fZ2V0Rmlyc3RUYWJiYWJsZUVsZW1lbnQoY2hpbGRyZW5baV0gYXMgSFRNTEVsZW1lbnQpXG4gICAgICAgICAgOiBudWxsO1xuXG4gICAgICBpZiAodGFiYmFibGVDaGlsZCkge1xuICAgICAgICByZXR1cm4gdGFiYmFibGVDaGlsZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKiBHZXQgdGhlIGxhc3QgdGFiYmFibGUgZWxlbWVudCBmcm9tIGEgRE9NIHN1YnRyZWUgKGluY2x1c2l2ZSkuICovXG4gIHByaXZhdGUgX2dldExhc3RUYWJiYWJsZUVsZW1lbnQocm9vdDogSFRNTEVsZW1lbnQpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIGlmIChcbiAgICAgIHJvb3QgIT09IHRoaXMuX2hvc3QgJiZcbiAgICAgIGludGVyYWN0aXZpdHlDaGVja2VyLmlzRm9jdXNhYmxlKHJvb3QpICYmXG4gICAgICBpbnRlcmFjdGl2aXR5Q2hlY2tlci5pc1RhYmJhYmxlKHJvb3QpXG4gICAgKSB7XG4gICAgICByZXR1cm4gcm9vdDtcbiAgICB9XG5cbiAgICBjb25zdCBjaGlsZHJlbiA9IHJvb3Quc2hhZG93Um9vdFxuICAgICAgPyByb290LnNoYWRvd1Jvb3QuY2hpbGRyZW5cbiAgICAgIDogcm9vdC5sb2NhbE5hbWUgPT09ICdzbG90J1xuICAgICAgICA/IChyb290IGFzIEhUTUxTbG90RWxlbWVudCkuYXNzaWduZWRFbGVtZW50cygpXG4gICAgICAgIDogcm9vdC5jaGlsZHJlbjtcblxuICAgIC8vIEl0ZXJhdGUgaW4gcmV2ZXJzZSBET00gb3JkZXIuXG4gICAgZm9yIChsZXQgaSA9IGNoaWxkcmVuLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICBjb25zdCB0YWJiYWJsZUNoaWxkID1cbiAgICAgICAgY2hpbGRyZW5baV0ubm9kZVR5cGUgPT09IGRvY3VtZW50LkVMRU1FTlRfTk9ERVxuICAgICAgICAgID8gdGhpcy5fZ2V0TGFzdFRhYmJhYmxlRWxlbWVudChjaGlsZHJlbltpXSBhcyBIVE1MRWxlbWVudClcbiAgICAgICAgICA6IG51bGw7XG5cbiAgICAgIGlmICh0YWJiYWJsZUNoaWxkKSB7XG4gICAgICAgIHJldHVybiB0YWJiYWJsZUNoaWxkO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBfdW50cmFwKCk6IHZvaWQge1xuICAgIHRoaXMuX2Fib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9hYm9ydENvbnRyb2xsZXIgPSBudWxsO1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtNQUlhLHVCQUFzQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLakMsSUFBVyxRQUFRLFNBQWdCO0FBQ2pDLFFBQUksU0FBUztBQUNYLFdBQUssTUFBQTtBQUFBLElBQUssT0FDTDtBQUNMLFdBQUssUUFBQTtBQUFBLElBQU87QUFBQSxFQUNkO0FBQUEsRUFFRixJQUFXLFVBQU87QUFDaEIsV0FBTyxDQUFDLENBQUMsS0FBSztBQUFBLEVBQUE7QUFBQSxFQUtoQixZQUEyQixPQUEyQztBQUEzQyxTQUFBLFFBQUE7QUFGbkIsU0FBQSxtQkFBMkM7QUFHakQsU0FBSyxNQUFNLGdCQUFnQixJQUFJO0FBQUEsRUFBQTtBQUFBLEVBRzFCLG1CQUFnQjtBQUNyQixTQUFLLFFBQUE7QUFBQSxFQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9QLG9CQUFvQixTQUFzQjtBQUMvQyxVQUFNLG9CQUFvQixLQUFLLE1BQU0sY0FBMkIscUJBQXFCO0FBRXJGLFFBQUksbUJBQW1CO0FBR3JCLFVBQTJCLENBQUMscUJBQXFCLFlBQVksaUJBQWlCLEdBQUc7QUFDL0UsZ0JBQVEsS0FBSyw0REFBNEQsaUJBQWlCO0FBQUEsTUFBQTtBQUc1RixVQUFJLENBQUMscUJBQXFCLFlBQVksaUJBQWlCLEdBQUc7QUFDeEQsY0FBTSxpQkFBaUIsS0FBSyx5QkFBeUIsaUJBQWlCO0FBQ3RFLHdCQUFnQixNQUFNLE9BQU87QUFDN0IsZUFBTyxDQUFDLENBQUM7QUFBQSxNQUFBO0FBR1gsd0JBQWtCLE1BQU0sT0FBTztBQUMvQixhQUFPO0FBQUEsSUFBQTtBQUdULFdBQU8sS0FBSywwQkFBMEIsT0FBTztBQUFBLEVBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT3hDLDBCQUEwQixTQUFz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
124
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtdHJhcC1jb250cm9sbGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9hMTF5L2ZvY3VzLXRyYXAtY29udHJvbGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlYWN0aXZlQ29udHJvbGxlciwgUmVhY3RpdmVDb250cm9sbGVySG9zdCB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7IGludGVyYWN0aXZpdHlDaGVja2VyIH0gZnJvbSAnLi9pbnRlcmFjdGl2aXR5LWNoZWNrZXIuanMnO1xuXG5leHBvcnQgY2xhc3MgU2JiRm9jdXNUcmFwQ29udHJvbGxlciBpbXBsZW1lbnRzIFJlYWN0aXZlQ29udHJvbGxlciB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmb2N1cyBpcyB0cmFwIGlzIGVuYWJsZWQuXG4gICAqIEBwYXJhbSBlbmFibGVkXG4gICAqL1xuICBwdWJsaWMgc2V0IGVuYWJsZWQoZW5hYmxlZDogYm9vbGVhbikge1xuICAgIGlmIChlbmFibGVkKSB7XG4gICAgICB0aGlzLl90cmFwKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3VudHJhcCgpO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IGVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5fYWJvcnRDb250cm9sbGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWJvcnRDb250cm9sbGVyOiBBYm9ydENvbnRyb2xsZXIgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBfaG9zdDogUmVhY3RpdmVDb250cm9sbGVySG9zdCAmIEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy5faG9zdC5hZGRDb250cm9sbGVyPy4odGhpcyk7XG4gIH1cblxuICBwdWJsaWMgaG9zdERpc2Nvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl91bnRyYXAoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb2N1c2VzIHRoZSBlbGVtZW50IHRoYXQgc2hvdWxkIGJlIGZvY3VzZWQgd2hlbiB0aGUgZm9jdXMgdHJhcCBpcyBpbml0aWFsaXplZC5cbiAgICogQHJldHVybnMgV2hldGhlciBmb2N1cyB3YXMgbW92ZWQgc3VjY2Vzc2Z1bGx5LlxuICAgKi9cbiAgcHVibGljIGZvY3VzSW5pdGlhbEVsZW1lbnQob3B0aW9ucz86IEZvY3VzT3B0aW9ucyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlZGlyZWN0VG9FbGVtZW50ID0gdGhpcy5faG9zdC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PignW3NiYi1mb2N1cy1pbml0aWFsXScpO1xuXG4gICAgaWYgKHJlZGlyZWN0VG9FbGVtZW50KSB7XG4gICAgICAvLyBXYXJuIHRoZSBjb25zdW1lciBpZiB0aGUgZWxlbWVudCB0aGV5J3ZlIHBvaW50ZWQgdG9cbiAgICAgIC8vIGlzbid0IGZvY3VzYWJsZSwgd2hlbiBub3QgaW4gcHJvZHVjdGlvbiBtb2RlLlxuICAgICAgaWYgKGltcG9ydC5tZXRhLmVudi5ERVYgJiYgIWludGVyYWN0aXZpdHlDaGVja2VyLmlzRm9jdXNhYmxlKHJlZGlyZWN0VG9FbGVtZW50KSkge1xuICAgICAgICBjb25zb2xlLndhcm4oYEVsZW1lbnQgbWF0Y2hpbmcgJ1tzYmItZm9jdXMtaW5pdGlhbF0nIGlzIG5vdCBmb2N1c2FibGUuYCwgcmVkaXJlY3RUb0VsZW1lbnQpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWludGVyYWN0aXZpdHlDaGVja2VyLmlzRm9jdXNhYmxlKHJlZGlyZWN0VG9FbGVtZW50KSkge1xuICAgICAgICBjb25zdCBmb2N1c2FibGVDaGlsZCA9IHRoaXMuX2dldEZpcnN0VGFiYmFibGVFbGVtZW50KHJlZGlyZWN0VG9FbGVtZW50KTtcbiAgICAgICAgZm9jdXNhYmxlQ2hpbGQ/LmZvY3VzKG9wdGlvbnMpO1xuICAgICAgICByZXR1cm4gISFmb2N1c2FibGVDaGlsZDtcbiAgICAgIH1cblxuICAgICAgcmVkaXJlY3RUb0VsZW1lbnQuZm9jdXMob3B0aW9ucyk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5mb2N1c0ZpcnN0VGFiYmFibGVFbGVtZW50KG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvY3VzZXMgdGhlIGZpcnN0IHRhYmJhYmxlIGVsZW1lbnQgd2l0aGluIHRoZSBmb2N1cyB0cmFwIHJlZ2lvbi5cbiAgICogQHJldHVybnMgV2hldGhlciBmb2N1cyB3YXMgbW92ZWQgc3VjY2Vzc2Z1bGx5LlxuICAgKi9cbiAgcHVibGljIGZvY3VzRmlyc3RUYWJiYWJsZUVsZW1lbnQob3B0aW9ucz86IEZvY3VzT3B0aW9ucyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlZGlyZWN0VG9FbGVtZW50ID0gdGhpcy5fZ2V0Rmlyc3RUYWJiYWJsZUVsZW1lbnQodGhpcy5faG9zdCk7XG5cbiAgICBpZiAocmVkaXJlY3RUb0VsZW1lbnQpIHtcbiAgICAgIHJlZGlyZWN0VG9FbGVtZW50LmZvY3VzKG9wdGlvbnMpO1xuICAgIH1cblxuICAgIHJldHVybiAhIXJlZGlyZWN0VG9FbGVtZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEZvY3VzZXMgdGhlIGxhc3QgdGFiYmFibGUgZWxlbWVudCB3aXRoaW4gdGhlIGZvY3VzIHRyYXAgcmVnaW9uLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIGZvY3VzIHdhcyBtb3ZlZCBzdWNjZXNzZnVsbHkuXG4gICAqL1xuICBwdWJsaWMgZm9jdXNMYXN0VGFiYmFibGVFbGVtZW50KG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpOiBib29sZWFuIHtcbiAgICBjb25zdCByZWRpcmVjdFRvRWxlbWVudCA9IHRoaXMuX2dldExhc3RUYWJiYWJsZUVsZW1lbnQodGhpcy5faG9zdCk7XG5cbiAgICBpZiAocmVkaXJlY3RUb0VsZW1lbnQpIHtcbiAgICAgIHJlZGlyZWN0VG9FbGVtZW50LmZvY3VzKG9wdGlvbnMpO1xuICAgIH1cblxuICAgIHJldHVybiAhIXJlZGlyZWN0VG9FbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBfdHJhcCgpOiB2b2lkIHtcbiAgICB0aGlzLl9hYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgdGhpcy5faG9zdC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2tleWRvd24nLFxuICAgICAgKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldmVudC5rZXkgIT09ICdUYWInKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFldmVudC5zaGlmdEtleSkge1xuICAgICAgICAgIGNvbnN0IGxhc3RGb2N1c2FibGVFbGVtZW50ID0gdGhpcy5fZ2V0TGFzdFRhYmJhYmxlRWxlbWVudCh0aGlzLl9ob3N0KTtcbiAgICAgICAgICBpZiAobGFzdEZvY3VzYWJsZUVsZW1lbnQgJiYgZXZlbnQuY29tcG9zZWRQYXRoKCkuaW5jbHVkZXMobGFzdEZvY3VzYWJsZUVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aGlzLl9nZXRGaXJzdFRhYmJhYmxlRWxlbWVudCh0aGlzLl9ob3N0KT8uZm9jdXMoKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlRWxlbWVudCA9IHRoaXMuX2dldEZpcnN0VGFiYmFibGVFbGVtZW50KHRoaXMuX2hvc3QpO1xuICAgICAgICAgIGlmIChmaXJzdEZvY3VzYWJsZUVsZW1lbnQgJiYgZXZlbnQuY29tcG9zZWRQYXRoKCkuaW5jbHVkZXMoZmlyc3RGb2N1c2FibGVFbGVtZW50KSkge1xuICAgICAgICAgICAgdGhpcy5fZ2V0TGFzdFRhYmJhYmxlRWxlbWVudCh0aGlzLl9ob3N0KT8uZm9jdXMoKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgeyBzaWduYWw6IHRoaXMuX2Fib3J0Q29udHJvbGxlci5zaWduYWwgfSxcbiAgICApO1xuICB9XG5cbiAgLyoqIEdldCB0aGUgZmlyc3QgdGFiYmFibGUgZWxlbWVudCBmcm9tIGEgRE9NIHN1YnRyZWUgKGluY2x1c2l2ZSkuICovXG4gIHByaXZhdGUgX2dldEZpcnN0VGFiYmFibGVFbGVtZW50KHJvb3Q6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICBpZiAoXG4gICAgICByb290ICE9PSB0aGlzLl9ob3N0ICYmXG4gICAgICBpbnRlcmFjdGl2aXR5Q2hlY2tlci5pc0ZvY3VzYWJsZShyb290KSAmJlxuICAgICAgaW50ZXJhY3Rpdml0eUNoZWNrZXIuaXNUYWJiYWJsZShyb290KVxuICAgICkge1xuICAgICAgcmV0dXJuIHJvb3Q7XG4gICAgfVxuXG4gICAgY29uc3QgY2hpbGRyZW4gPSByb290LnNoYWRvd1Jvb3RcbiAgICAgID8gcm9vdC5zaGFkb3dSb290LmNoaWxkcmVuXG4gICAgICA6IHJvb3QubG9jYWxOYW1lID09PSAnc2xvdCdcbiAgICAgICAgPyAocm9vdCBhcyBIVE1MU2xvdEVsZW1lbnQpLmFzc2lnbmVkRWxlbWVudHMoKVxuICAgICAgICA6IHJvb3QuY2hpbGRyZW47XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCB0YWJiYWJsZUNoaWxkID1cbiAgICAgICAgY2hpbGRyZW5baV0ubm9kZVR5cGUgPT09IGRvY3VtZW50LkVMRU1FTlRfTk9ERVxuICAgICAgICAgID8gdGhpcy5fZ2V0Rmlyc3RUYWJiYWJsZUVsZW1lbnQoY2hpbGRyZW5baV0gYXMgSFRNTEVsZW1lbnQpXG4gICAgICAgICAgOiBudWxsO1xuXG4gICAgICBpZiAodGFiYmFibGVDaGlsZCkge1xuICAgICAgICByZXR1cm4gdGFiYmFibGVDaGlsZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKiBHZXQgdGhlIGxhc3QgdGFiYmFibGUgZWxlbWVudCBmcm9tIGEgRE9NIHN1YnRyZWUgKGluY2x1c2l2ZSkuICovXG4gIHByaXZhdGUgX2dldExhc3RUYWJiYWJsZUVsZW1lbnQocm9vdDogSFRNTEVsZW1lbnQpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIGlmIChcbiAgICAgIHJvb3QgIT09IHRoaXMuX2hvc3QgJiZcbiAgICAgIGludGVyYWN0aXZpdHlDaGVja2VyLmlzRm9jdXNhYmxlKHJvb3QpICYmXG4gICAgICBpbnRlcmFjdGl2aXR5Q2hlY2tlci5pc1RhYmJhYmxlKHJvb3QpXG4gICAgKSB7XG4gICAgICByZXR1cm4gcm9vdDtcbiAgICB9XG5cbiAgICBjb25zdCBjaGlsZHJlbiA9IHJvb3Quc2hhZG93Um9vdFxuICAgICAgPyByb290LnNoYWRvd1Jvb3QuY2hpbGRyZW5cbiAgICAgIDogcm9vdC5sb2NhbE5hbWUgPT09ICdzbG90J1xuICAgICAgICA/IChyb290IGFzIEhUTUxTbG90RWxlbWVudCkuYXNzaWduZWRFbGVtZW50cygpXG4gICAgICAgIDogcm9vdC5jaGlsZHJlbjtcblxuICAgIC8vIEl0ZXJhdGUgaW4gcmV2ZXJzZSBET00gb3JkZXIuXG4gICAgZm9yIChsZXQgaSA9IGNoaWxkcmVuLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICBjb25zdCB0YWJiYWJsZUNoaWxkID1cbiAgICAgICAgY2hpbGRyZW5baV0ubm9kZVR5cGUgPT09IGRvY3VtZW50LkVMRU1FTlRfTk9ERVxuICAgICAgICAgID8gdGhpcy5fZ2V0TGFzdFRhYmJhYmxlRWxlbWVudChjaGlsZHJlbltpXSBhcyBIVE1MRWxlbWVudClcbiAgICAgICAgICA6IG51bGw7XG5cbiAgICAgIGlmICh0YWJiYWJsZUNoaWxkKSB7XG4gICAgICAgIHJldHVybiB0YWJiYWJsZUNoaWxkO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBfdW50cmFwKCk6IHZvaWQge1xuICAgIHRoaXMuX2Fib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9hYm9ydENvbnRyb2xsZXIgPSBudWxsO1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtNQUlhLHVCQUFzQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLakMsSUFBVyxRQUFRLFNBQWdCO0FBQ2pDLFFBQUksU0FBUztBQUNYLFdBQUssTUFBQTtBQUFBLElBQ1AsT0FBTztBQUNMLFdBQUssUUFBQTtBQUFBLElBQ1A7QUFBQSxFQUNGO0FBQUEsRUFDQSxJQUFXLFVBQU87QUFDaEIsV0FBTyxDQUFDLENBQUMsS0FBSztBQUFBLEVBQ2hCO0FBQUEsRUFJQSxZQUEyQixPQUEyQztBQUEzQyxTQUFBLFFBQUE7QUFGbkIsU0FBQSxtQkFBMkM7QUFHakQsU0FBSyxNQUFNLGdCQUFnQixJQUFJO0FBQUEsRUFDakM7QUFBQSxFQUVPLG1CQUFnQjtBQUNyQixTQUFLLFFBQUE7QUFBQSxFQUNQO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1PLG9CQUFvQixTQUFzQjtBQUMvQyxVQUFNLG9CQUFvQixLQUFLLE1BQU0sY0FBMkIscUJBQXFCO0FBRXJGLFFBQUksbUJBQW1CO0FBR3JCLFVBQTJCLENBQUMscUJBQXFCLFlBQVksaUJBQWlCLEdBQUc7QUFDL0UsZ0JBQVEsS0FBSyw0REFBNEQsaUJBQWlCO0FBQUEsTUFDNUY7QUFFQSxVQUFJLENBQUMscUJBQXFCLFlBQVksaUJBQWlCLEdBQUc7QUFDeEQsY0FBTSxpQkFBaUIsS0FBSyx5QkFBeUIsaUJBQWlCO0FBQ3RFLHdCQUFnQixNQUFNLE9BQU87QUFDN0IsZUFBTyxDQUFDLENBQUM7QUFBQSxNQUNYO0FBRUEsd0JBQWtCLE1BQU0sT0FBTztBQUMvQixhQUFPO0FBQUEsSUFDVDtBQUVBLFdBQU8sS0FBSywwQkFBMEIsT0FBTztBQUFBLEVBQy9DO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1PLDBCQUEwQixTQUFz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
@@ -22,4 +22,4 @@ class SbbFocusVisibleWithinController {
22
22
  export {
23
23
  SbbFocusVisibleWithinController
24
24
  };
25
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtdmlzaWJsZS13aXRoaW4tY29udHJvbGxlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvYTExeS9mb2N1cy12aXNpYmxlLXdpdGhpbi1jb250cm9sbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVhY3RpdmVDb250cm9sbGVyLCBSZWFjdGl2ZUNvbnRyb2xsZXJIb3N0IH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yIH0gZnJvbSAnLi9pbnB1dC1tb2RhbGl0eS1kZXRlY3Rvci5qcyc7XG5cbi8vIERldGVybWluZSB3aGV0aGVyIHRoZSBlbGVtZW50IGhhcyBhIHZpc2libGUgZm9jdXMgd2l0aGluLlxuZXhwb3J0IGNsYXNzIFNiYkZvY3VzVmlzaWJsZVdpdGhpbkNvbnRyb2xsZXIgaW1wbGVtZW50cyBSZWFjdGl2ZUNvbnRyb2xsZXIge1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBfaG9zdDogUmVhY3RpdmVDb250cm9sbGVySG9zdCAmIEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy5faG9zdC5hZGRDb250cm9sbGVyKHRoaXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZm9jdXNpbkhhbmRsZXIgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5faG9zdC50b2dnbGVBdHRyaWJ1dGUoXG4gICAgICAnZGF0YS1oYXMtdmlzaWJsZS1mb2N1cy13aXRoaW4nLFxuICAgICAgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJyxcbiAgICApO1xuICB9O1xuXG4gIHByaXZhdGUgX2ZvY3Vzb3V0SGFuZGxlciA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLl9ob3N0LnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1oYXMtdmlzaWJsZS1mb2N1cy13aXRoaW4nKTtcbiAgfTtcblxuICBwdWJsaWMgaG9zdENvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9ob3N0LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzaW4nLCB0aGlzLl9mb2N1c2luSGFuZGxlcik7XG4gICAgdGhpcy5faG9zdC5hZGRFdmVudExpc3RlbmVyKCdmb2N1c291dCcsIHRoaXMuX2ZvY3Vzb3V0SGFuZGxlcik7XG4gIH1cblxuICBwdWJsaWMgaG9zdERpc2Nvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9ob3N0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3VzaW4nLCB0aGlzLl9mb2N1c2luSGFuZGxlcik7XG4gICAgdGhpcy5faG9zdC5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1c291dCcsIHRoaXMuX2ZvY3Vzb3V0SGFuZGxlcik7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO01BS2EsZ0NBQStCO0FBQUEsRUFDMUMsWUFBMkIsT0FBMkM7QUFBM0MsU0FBQSxRQUFBO0FBSW5CLFNBQUEsa0JBQWtCLE1BQVc7QUFDbkMsV0FBSyxNQUFNLGdCQUNULGlDQUNBLHlCQUF5Qix1QkFBdUIsVUFBVTtBQUFBLElBQUE7QUFJdEQsU0FBQSxtQkFBbUIsTUFBVztBQUNwQyxXQUFLLE1BQU0sZ0JBQWdCLCtCQUErQjtBQUFBLElBQUE7QUFYMUQsU0FBSyxNQUFNLGNBQWMsSUFBSTtBQUFBLEVBQUE7QUFBQSxFQWN4QixnQkFBYTtBQUNsQixTQUFLLE1BQU0saUJBQWlCLFdBQVcsS0FBSyxlQUFlO0FBQzNELFNBQUssTUFBTSxpQkFBaUIsWUFBWSxLQUFLLGdCQUFnQjtBQUFBLEVBQUE7QUFBQSxFQUd4RCxtQkFBZ0I7QUFDckIsU0FBSyxNQUFNLG9CQUFvQixXQUFXLEtBQUssZUFBZTtBQUM5RCxTQUFLLE1BQU0sb0JBQW9CLFlBQVksS0FBSyxnQkFBZ0I7QUFBQSxFQUFBO0FBRW5FOyJ9
25
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtdmlzaWJsZS13aXRoaW4tY29udHJvbGxlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvYTExeS9mb2N1cy12aXNpYmxlLXdpdGhpbi1jb250cm9sbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVhY3RpdmVDb250cm9sbGVyLCBSZWFjdGl2ZUNvbnRyb2xsZXJIb3N0IH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yIH0gZnJvbSAnLi9pbnB1dC1tb2RhbGl0eS1kZXRlY3Rvci5qcyc7XG5cbi8vIERldGVybWluZSB3aGV0aGVyIHRoZSBlbGVtZW50IGhhcyBhIHZpc2libGUgZm9jdXMgd2l0aGluLlxuZXhwb3J0IGNsYXNzIFNiYkZvY3VzVmlzaWJsZVdpdGhpbkNvbnRyb2xsZXIgaW1wbGVtZW50cyBSZWFjdGl2ZUNvbnRyb2xsZXIge1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBfaG9zdDogUmVhY3RpdmVDb250cm9sbGVySG9zdCAmIEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy5faG9zdC5hZGRDb250cm9sbGVyKHRoaXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZm9jdXNpbkhhbmRsZXIgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5faG9zdC50b2dnbGVBdHRyaWJ1dGUoXG4gICAgICAnZGF0YS1oYXMtdmlzaWJsZS1mb2N1cy13aXRoaW4nLFxuICAgICAgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJyxcbiAgICApO1xuICB9O1xuXG4gIHByaXZhdGUgX2ZvY3Vzb3V0SGFuZGxlciA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLl9ob3N0LnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1oYXMtdmlzaWJsZS1mb2N1cy13aXRoaW4nKTtcbiAgfTtcblxuICBwdWJsaWMgaG9zdENvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9ob3N0LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzaW4nLCB0aGlzLl9mb2N1c2luSGFuZGxlcik7XG4gICAgdGhpcy5faG9zdC5hZGRFdmVudExpc3RlbmVyKCdmb2N1c291dCcsIHRoaXMuX2ZvY3Vzb3V0SGFuZGxlcik7XG4gIH1cblxuICBwdWJsaWMgaG9zdERpc2Nvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9ob3N0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3VzaW4nLCB0aGlzLl9mb2N1c2luSGFuZGxlcik7XG4gICAgdGhpcy5faG9zdC5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1c291dCcsIHRoaXMuX2ZvY3Vzb3V0SGFuZGxlcik7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO01BS2EsZ0NBQStCO0FBQUEsRUFDMUMsWUFBMkIsT0FBMkM7QUFBM0MsU0FBQSxRQUFBO0FBSW5CLFNBQUEsa0JBQWtCLE1BQVc7QUFDbkMsV0FBSyxNQUFNLGdCQUNULGlDQUNBLHlCQUF5Qix1QkFBdUIsVUFBVTtBQUFBLElBRTlEO0FBRVEsU0FBQSxtQkFBbUIsTUFBVztBQUNwQyxXQUFLLE1BQU0sZ0JBQWdCLCtCQUErQjtBQUFBLElBQzVEO0FBWkUsU0FBSyxNQUFNLGNBQWMsSUFBSTtBQUFBLEVBQy9CO0FBQUEsRUFhTyxnQkFBYTtBQUNsQixTQUFLLE1BQU0saUJBQWlCLFdBQVcsS0FBSyxlQUFlO0FBQzNELFNBQUssTUFBTSxpQkFBaUIsWUFBWSxLQUFLLGdCQUFnQjtBQUFBLEVBQy9EO0FBQUEsRUFFTyxtQkFBZ0I7QUFDckIsU0FBSyxNQUFNLG9CQUFvQixXQUFXLEtBQUssZUFBZTtBQUM5RCxTQUFLLE1BQU0sb0JBQW9CLFlBQVksS0FBSyxnQkFBZ0I7QUFBQSxFQUNsRTtBQUNEOyJ9
@@ -76,4 +76,4 @@ const sbbInputModalityDetector = new SbbInputModalityDetector();
76
76
  export {
77
77
  sbbInputModalityDetector
78
78
  };
79
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbW9kYWxpdHktZGV0ZWN0b3IuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2ExMXkvaW5wdXQtbW9kYWxpdHktZGV0ZWN0b3IudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBpbnNwaXJlZCBieSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9jb21wb25lbnRzL2Jsb2IvbWFpbi9zcmMvY2RrL2ExMXkvaW5wdXQtbW9kYWxpdHkvaW5wdXQtbW9kYWxpdHktZGV0ZWN0b3IudHNcblxuaW1wb3J0IHsgaXNTZXJ2ZXIgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBnZXRFdmVudFRhcmdldCB9IGZyb20gJy4uL2V2ZW50aW5nLmpzJztcblxuaW1wb3J0IHtcbiAgaXNGYWtlTW91c2Vkb3duRnJvbVNjcmVlblJlYWRlcixcbiAgaXNGYWtlVG91Y2hzdGFydEZyb21TY3JlZW5SZWFkZXIsXG59IGZyb20gJy4vZmFrZS1ldmVudC1kZXRlY3Rpb24uanMnO1xuXG5leHBvcnQgdHlwZSBTYmJJbnB1dE1vZGFsaXR5ID0gJ3RvdWNoJyB8ICdtb3VzZScgfCAna2V5Ym9hcmQnIHwgJ3Byb2dyYW0nIHwgbnVsbDtcblxuLyoqIE9wdGlvbnMgdG8gY29uZmlndXJlIHRoZSBiZWhhdmlvciBvZiB0aGUgU2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLiAqL1xuaW50ZXJmYWNlIFNiYklucHV0TW9kYWxpdHlEZXRlY3Rvck9wdGlvbnMge1xuICAvKiogS2V5cyB0byBpZ25vcmUgd2hlbiBkZXRlY3Rpbmcga2V5Ym9hcmQgaW5wdXQgbW9kYWxpdHkuICovXG4gIGlnbm9yZUtleXM/OiBudW1iZXJbXTtcbn1cblxuY29uc3QgU0hJRlQgPSAxNjtcbmNvbnN0IENPTlRST0wgPSAxNztcbmNvbnN0IEFMVCA9IDE4O1xuY29uc3QgTUVUQSA9IDkxOyAvLyBXSU5fS0VZX0xFRlRcbmNvbnN0IE1BQ19NRVRBID0gMjI0O1xuXG4vKipcbiAqIERlZmF1bHQgb3B0aW9ucyBmb3IgdGhlIFNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci5cbiAqXG4gKiBNb2RpZmllciBrZXlzIGFyZSBpZ25vcmVkIGJ5IGRlZmF1bHQgKGkuZS4gd2hlbiBwcmVzc2VkIHdvbid0IGNhdXNlIHRoZSBzZXJ2aWNlIHRvIGRldGVjdFxuICoga2V5Ym9hcmQgaW5wdXQgbW9kYWxpdHkpIGZvciB0d28gcmVhc29uczpcbiAqXG4gKiAxLiBNb2RpZmllciBrZXlzIGFyZSBjb21tb25seSB1c2VkIHdpdGggbW91c2UgdG8gcGVyZm9ybSBhY3Rpb25zIHN1Y2ggYXMgJ3JpZ2h0IGNsaWNrJyBvciAnb3BlblxuICogICAgaW4gbmV3IHRhYicsIGFuZCBhcmUgdGh1cyBsZXNzIHJlcHJlc2VudGF0aXZlIG9mIGFjdHVhbCBrZXlib2FyZCBpbnRlcmFjdGlvbi5cbiAqIDIuIFZvaWNlT3ZlciB0cmlnZ2VycyBzb21lIGtleWJvYXJkIGV2ZW50cyB3aGVuIGxpbmVhcmx5IG5hdmlnYXRpbmcgd2l0aCBDb250cm9sICsgT3B0aW9uIChidXRcbiAqICAgIGNvbmZ1c2luZ2x5IG5vdCB3aXRoIENhcHMgTG9jaykuIFRodXMsIHRvIGhhdmUgcGFyaXR5IHdpdGggb3RoZXIgc2NyZWVuIHJlYWRlcnMsIHdlIGlnbm9yZVxuICogICAgdGhlc2Uga2V5cyBzbywgYXMgdG8gbm90IHVwZGF0ZSB0aGUgaW5wdXQgbW9kYWxpdHkuXG4gKlxuICogTm90ZSB0aGF0IHdlIGRvIG5vdCBieSBkZWZhdWx0IGlnbm9yZSB0aGUgcmlnaHQgTWV0YSBrZXkgb24gU2FmYXJpIGJlY2F1c2UgaXQgaGFzIHRoZSBzYW1lIGtleVxuICogY29kZSBhcyB0aGUgQ29udGV4dE1lbnUga2V5IG9uIG90aGVyIGJyb3dzZXJzLiBXaGVuIHdlIHN3aXRjaCB0byB1c2luZyBldmVudC5rZXksIHdlIGNhblxuICogZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGUgdHdvLlxuICovXG5jb25zdCBpbnB1dE1vZGFsaXR5RGV0ZWN0b3JPcHRpb25zOiBTYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3JPcHRpb25zID0ge1xuICBpZ25vcmVLZXlzOiBbQUxULCBDT05UUk9MLCBNQUNfTUVUQSwgTUVUQSwgU0hJRlRdLFxufTtcblxuLyoqXG4gKiBUaGUgYW1vdW50IG9mIHRpbWUgbmVlZGVkIHRvIHBhc3MgYWZ0ZXIgYSB0b3VjaHN0YXJ0IGV2ZW50IGluIG9yZGVyIGZvciBhIHN1YnNlcXVlbnQgbW91c2Vkb3duXG4gKiBldmVudCB0byBiZSBhdHRyaWJ1dGVkIGFzIG1vdXNlIGFuZCBub3QgdG91Y2guXG4gKlxuICogVGhyb3VnaCB0cmlhbCBhbmQgZXJyb3IgaXQgd2FzIGZvdW5kIHRoYXQgYSB2YWx1ZSBvZiBhcm91bmQgNjUwbXMgc2VlbXMgYXBwcm9wcmlhdGUuXG4gKi9cbmNvbnN0IHRvdWNoQnVmZmVyTXMgPSA2NTA7XG5cbi8qKlxuICogRXZlbnQgbGlzdGVuZXIgb3B0aW9ucyB0aGF0IGVuYWJsZSBjYXB0dXJpbmcgYW5kIGFsc28gbWFyayB0aGUgbGlzdGVuZXIgYXMgcGFzc2l2ZSBpZiB0aGUgYnJvd3NlclxuICogc3VwcG9ydHMgaXQuXG4gKi9cbmNvbnN0IG1vZGFsaXR5RXZlbnRMaXN0ZW5lck9wdGlvbnMgPSB7XG4gIHBhc3NpdmU6IHRydWUsXG4gIGNhcHR1cmU6IHRydWUsXG59O1xuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCBkZXRlY3RzIHRoZSB1c2VyJ3MgaW5wdXQgbW9kYWxpdHkuXG4gKlxuICogVGhpcyBzZXJ2aWNlIGRvZXMgbm90IHVwZGF0ZSB0aGUgaW5wdXQgbW9kYWxpdHkgd2hlbiBhIHVzZXIgbmF2aWdhdGVzIHdpdGggYSBzY3JlZW4gcmVhZGVyXG4gKiAoZS5nLiBsaW5lYXIgbmF2aWdhdGlvbiB3aXRoIFZvaWNlT3Zlciwgb2JqZWN0IG5hdmlnYXRpb24gLyBicm93c2UgbW9kZSB3aXRoIE5WREEsIHZpcnR1YWwgUENcbiAqIGN1cnNvciBtb2RlIHdpdGggSkFXUykuIFRoaXMgaXMgaW4gcGFydCBkdWUgdG8gdGVjaG5pY2FsIGxpbWl0YXRpb25zIChpLmUuIGtleWJvYXJkIGV2ZW50cyBkbyBub3RcbiAqIGZpcmUgYXMgZXhwZWN0ZWQgaW4gdGhlc2UgbW9kZXMpIGJ1dCBpcyBhbHNvIGFyZ3VhYmx5IHRoZSBjb3JyZWN0IGJlaGF2aW9yLiBOYXZpZ2F0aW5nIHdpdGggYVxuICogc2NyZWVuIHJlYWRlciBpcyBha2luIHRvIHZpc3VhbGx5IHNjYW5uaW5nIGEgcGFnZSwgYW5kIHNob3VsZCBub3QgYmUgaW50ZXJwcmV0ZWQgYXMgYWN0dWFsIHVzZXJcbiAqIGlucHV0IGludGVyYWN0aW9uLlxuICpcbiAqIFdoZW4gYSB1c2VyIGlzIG5vdCBuYXZpZ2F0aW5nIGJ1dCAqaW50ZXJhY3RpbmcqIHdpdGggYSBzY3JlZW4gcmVhZGVyLCB0aGlzIHNlcnZpY2UgYXR0ZW1wdHMgdG9cbiAqIHVwZGF0ZSB0aGUgaW5wdXQgbW9kYWxpdHkgdG8ga2V5Ym9hcmQsIGJ1dCBpbiBnZW5lcmFsIHRoaXMgc2VydmljZSdzIGJlaGF2aW9yIGlzIGxhcmdlbHlcbiAqIHVuZGVmaW5lZC5cbiAqL1xuY2xhc3MgU2JiSW5wdXRNb2RhbGl0eURldGVjdG9yIHtcbiAgLyoqIFRoZSBtb3N0IHJlY2VudGx5IGRldGVjdGVkIGlucHV0IG1vZGFsaXR5LiAqL1xuICBwdWJsaWMgZ2V0IG1vc3RSZWNlbnRNb2RhbGl0eSgpOiBTYmJJbnB1dE1vZGFsaXR5IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX21vc3RSZWNlbnRNb2RhbGl0eTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbW9zdCByZWNlbnQgbW9kYWxpdHkgbXVzdCBiZSBpbml0aWFsaXNlZCB3aXRoIHRoZSB2YWx1ZSAnbW91c2UnIHRvIGNvdmVyIHRoZSBjYXNlIHdoZXJlIGFuIGFjdGlvbiBpc1xuICAgKiBwZXJmb3JtZWQgYnV0IG5vIG1vdXNlIG9yIGtleWJvYXJkIGV2ZW50IGhhcyB5ZXQgb2NjdXJyZWQgb24gdGhlIHBhZ2UgKGUuZy4gYHNiYi1wb3BvdmVyYCB3aXRoIGhvdmVyIHRyaWdnZXIpLlxuICAgKi9cbiAgcHJpdmF0ZSBfbW9zdFJlY2VudE1vZGFsaXR5OiBTYmJJbnB1dE1vZGFsaXR5IHwgbnVsbCA9ICdtb3VzZSc7XG5cbiAgLyoqXG4gICAqIFRoZSBtb3N0IHJlY2VudGx5IGRldGVjdGVkIGlucHV0IG1vZGFsaXR5IGV2ZW50IHRhcmdldC4gSXMgbnVsbCBpZiBubyBpbnB1dCBtb2RhbGl0eSBoYXMgYmVlblxuICAgKiBkZXRlY3RlZCBvciBpZiB0aGUgYXNzb2NpYXRlZCBldmVudCB0YXJnZXQgaXMgbnVsbCBmb3Igc29tZSB1bmtub3duIHJlYXNvbi5cbiAgICovXG4gIHB1YmxpYyBnZXQgbW9zdFJlY2VudFRhcmdldCgpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9tb3N0UmVjZW50VGFyZ2V0O1xuICB9XG4gIHByaXZhdGUgX21vc3RSZWNlbnRUYXJnZXQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIE9wdGlvbnMgZm9yIHRoaXMgU2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9vcHRpb25zOiBTYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3JPcHRpb25zID0ge1xuICAgIC4uLmlucHV0TW9kYWxpdHlEZXRlY3Rvck9wdGlvbnMsXG4gIH07XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lc3RhbXAgb2YgdGhlIGxhc3QgdG91Y2ggaW5wdXQgbW9kYWxpdHkuIFVzZWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgbW91c2Vkb3duIGV2ZW50c1xuICAgKiBzaG91bGQgYmUgYXR0cmlidXRlZCB0byBtb3VzZSBvciB0b3VjaC5cbiAgICovXG4gIHByaXZhdGUgX2xhc3RUb3VjaE1zID0gMDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKCFpc1NlcnZlcikge1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuX29uS2V5ZG93biwgbW9kYWxpdHlFdmVudExpc3RlbmVyT3B0aW9ucyk7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCB0aGlzLl9vbk1vdXNlZG93biwgbW9kYWxpdHlFdmVudExpc3RlbmVyT3B0aW9ucyk7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgdGhpcy5fb25Ub3VjaHN0YXJ0LCBtb2RhbGl0eUV2ZW50TGlzdGVuZXJPcHRpb25zKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlU3RhdGUoJ21vdXNlJywgbnVsbCk7XG4gICAgdGhpcy5fbGFzdFRvdWNoTXMgPSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMga2V5ZG93biBldmVudHMuIE11c3QgYmUgYW4gYXJyb3cgZnVuY3Rpb24gaW4gb3JkZXIgdG8gcHJlc2VydmUgdGhlIGNvbnRleHQgd2hlbiBpdCBnZXRzXG4gICAqIGJvdW5kLlxuICAgKi9cbiAgcHJpdmF0ZSBfb25LZXlkb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCA9PiB7XG4gICAgLy8gSWYgdGhpcyBpcyBvbmUgb2YgdGhlIGtleXMgd2Ugc2hvdWxkIGlnbm9yZSwgdGhlbiBpZ25vcmUgaXQgYW5kIGRvbid0IHVwZGF0ZSB0aGUgaW5wdXRcbiAgICAvLyBtb2RhbGl0eSB0byBrZXlib2FyZC5cbiAgICBpZiAodGhpcy5fb3B0aW9ucz8uaWdub3JlS2V5cz8uc29tZSgoa2V5Q29kZSkgPT4ga2V5Q29kZSA9PT0gZXZlbnQua2V5Q29kZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl91cGRhdGVTdGF0ZSgna2V5Ym9hcmQnLCBldmVudCk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgbW91c2Vkb3duIGV2ZW50cy4gTXVzdCBiZSBhbiBhcnJvdyBmdW5jdGlvbiBpbiBvcmRlciB0byBwcmVzZXJ2ZSB0aGUgY29udGV4dCB3aGVuIGl0XG4gICAqIGdldHMgYm91bmQuXG4gICAqL1xuICBwcml2YXRlIF9vbk1vdXNlZG93biA9IChldmVudDogTW91c2VFdmVudCk6IHZvaWQgPT4ge1xuICAgIC8vIFRvdWNoZXMgdHJpZ2dlciBib3RoIHRvdWNoIGFuZCBtb3VzZSBldmVudHMsIHNvIHdlIG5lZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBtb3VzZSBldmVudHNcbiAgICAvLyB0aGF0IHdlcmUgdHJpZ2dlcmVkIHZpYSBtb3VzZSB2cyB0b3VjaC4gVG8gZG8gc28sIGNoZWNrIGlmIHRoZSBtb3VzZSBldmVudCBvY2N1cnMgY2xvc2VseVxuICAgIC8vIGFmdGVyIHRoZSBwcmV2aW91cyB0b3VjaCBldmVudC5cbiAgICBpZiAoRGF0ZS5ub3coKSAtIHRoaXMuX2xhc3RUb3VjaE1zIDwgdG91Y2hCdWZmZXJNcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEZha2UgbW91c2Vkb3duIGV2ZW50cyBhcmUgZmlyZWQgYnkgc29tZSBzY3JlZW4gcmVhZGVycyB3aGVuIGNvbnRyb2xzIGFyZSBhY3RpdmF0ZWQgYnkgdGhlXG4gICAgLy8gc2NyZWVuIHJlYWRlci4gQXR0cmlidXRlIHRoZW0gdG8ga2V5Ym9hcmQgaW5wdXQgbW9kYWxpdHkuXG4gICAgdGhpcy5fdXBkYXRlU3RhdGUoaXNGYWtlTW91c2Vkb3duRnJvbVNjcmVlblJlYWRlcihldmVudCkgPyAna2V5Ym9hcmQnIDogJ21vdXNlJywgZXZlbnQpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBIYW5kbGVzIHRvdWNoc3RhcnQgZXZlbnRzLiBNdXN0IGJlIGFuIGFycm93IGZ1bmN0aW9uIGluIG9yZGVyIHRvIHByZXNlcnZlIHRoZSBjb250ZXh0IHdoZW4gaXRcbiAgICogZ2V0cyBib3VuZC5cbiAgICovXG4gIHByaXZhdGUgX29uVG91Y2hzdGFydCA9IChldmVudDogVG91Y2hFdmVudCk6IHZvaWQgPT4ge1xuICAgIC8vIFNhbWUgc2NlbmFyaW8gYXMgbWVudGlvbmVkIGluIF9vbk1vdXNlZG93biwgYnV0IG9uIHRvdWNoIHNjcmVlbiBkZXZpY2VzLCBmYWtlIHRvdWNoc3RhcnRcbiAgICAvLyBldmVudHMgYXJlIGZpcmVkLiBBZ2FpbiwgYXR0cmlidXRlIHRvIGtleWJvYXJkIGlucHV0IG1vZGFsaXR5LlxuICAgIGlmIChpc0Zha2VUb3VjaHN0YXJ0RnJvbVNjcmVlblJlYWRlcihldmVudCkpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVN0YXRlKCdrZXlib2FyZCcsIGV2ZW50KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBTdG9yZSB0aGUgdGltZXN0YW1wIG9mIHRoaXMgdG91Y2ggZXZlbnQsIGFzIGl0J3MgdXNlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIG1vdXNlIGV2ZW50c1xuICAgIC8vIHRyaWdnZXJlZCB2aWEgbW91c2UgdnMgdG91Y2guXG4gICAgdGhpcy5fbGFzdFRvdWNoTXMgPSBEYXRlLm5vdygpO1xuXG4gICAgdGhpcy5fdXBkYXRlU3RhdGUoJ3RvdWNoJywgZXZlbnQpO1xuICB9O1xuXG4gIHByaXZhdGUgX3VwZGF0ZVN0YXRlKG1vZGFsaXR5OiBTYmJJbnB1dE1vZGFsaXR5LCBldmVudDogRXZlbnQgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX21vc3RSZWNlbnRNb2RhbGl0eSkge1xuICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoYHNiYi1mb2N1cy1tb2RhbGl0eS0ke3RoaXMuX21vc3RSZWNlbnRNb2RhbGl0eX1gKTtcbiAgICB9XG4gICAgdGhpcy5fbW9zdFJlY2VudE1vZGFsaXR5ID0gbW9kYWxpdHk7XG4gICAgdGhpcy5fbW9zdFJlY2VudFRhcmdldCA9IGV2ZW50ID8gZ2V0RXZlbnRUYXJnZXQoZXZlbnQpIDogbnVsbDtcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZChgc2JiLWZvY3VzLW1vZGFsaXR5LSR7dGhpcy5fbW9zdFJlY2VudE1vZGFsaXR5fWApO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IgPSBuZXcgU2JiSW5wdXRNb2RhbGl0eURldGVjdG9yKCk7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBbUJBLE1BQU0sUUFBUTtBQUNkLE1BQU0sVUFBVTtBQUNoQixNQUFNLE1BQU07QUFDWixNQUFNLE9BQU87QUFDYixNQUFNLFdBQVc7QUFrQmpCLE1BQU0sK0JBQWdFO0FBQUEsRUFDcEUsWUFBWSxDQUFDLEtBQUssU0FBUyxVQUFVLE1BQU0sS0FBSzs7QUFTbEQsTUFBTSxnQkFBZ0I7QUFNdEIsTUFBTSwrQkFBK0I7QUFBQSxFQUNuQyxTQUFTO0FBQUEsRUFDVCxTQUFTOztBQWlCWCxNQUFNLHlCQUF3QjtBQUFBO0FBQUEsRUFFNUIsSUFBVyxxQkFBa0I7QUFDM0IsV0FBTyxLQUFLO0FBQUEsRUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFhZCxJQUFXLG1CQUFnQjtBQUN6QixXQUFPLEtBQUs7QUFBQSxFQUFBO0FBQUEsRUFlZCxjQUFBO0FBdEJRLFNBQUEsc0JBQStDO0FBUy9DLFNBQUEsb0JBQXdDO0FBRy9CLFNBQUEsV0FBNEM7QUFBQSxNQUMzRCxHQUFHO0FBQUEsSUFBQTtBQU9HLFNBQUEsZUFBZTtBQW1CZixTQUFBLGFBQWEsQ0FBQyxVQUE4QjtBQUdsRCxVQUFJLEtBQUssVUFBVSxZQUFZLEtBQUssQ0FBQyxZQUFZLFlBQVksTUFBTSxPQUFPLEdBQUc7QUFDM0U7QUFBQSxNQUFBO0FBR0YsV0FBSyxhQUFhLFlBQVksS0FBSztBQUFBLElBQUE7QUFPN0IsU0FBQSxlQUFlLENBQUMsVUFBMkI7QUFJakQsVUFBSSxLQUFLLElBQUEsSUFBUSxLQUFLLGVBQWUsZUFBZTtBQUNsRDtBQUFBLE1BQUE7QUFLRixXQUFLLGFBQWEsZ0NBQWdDLEtBQUssSUFBSSxhQUFhLFNBQVMsS0FBSztBQUFBLElBQUE7QUFPaEYsU0FBQSxnQkFBZ0IsQ0FBQyxVQUEyQjtBQUdsRCxVQUFJLGlDQUFpQyxLQUFLLEdBQUc7QUFDM0MsYUFBSyxhQUFhLFlBQVksS0FBSztBQUNuQztBQUFBLE1BQUE7QUFLRixXQUFLLGVBQWUsS0FBSyxJQUFBO0FBRXpCLFdBQUssYUFBYSxTQUFTLEtBQUs7QUFBQSxJQUFBO0FBM0RoQyxRQUFJLENBQUMsVUFBVTtBQUNiLGVBQVMsaUJBQWlCLFdBQVcsS0FBSyxZQUFZLDRCQUE0QjtBQUNsRixlQUFTLGlCQUFpQixhQUFhLEtBQUssY0FBYyw0QkFBNEI7QUFDdEYsZUFBUyxpQkFBaUIsY0FBYyxLQUFLLGVBQWUsNEJBQTRCO0FBQUEsSUFBQTtBQUFBLEVBQzFGO0FBQUEsRUFHSyxRQUFLO0FBQ1YsU0FBSyxhQUFhLFNBQVMsSUFBSTtBQUMvQixTQUFLLGVBQWU7QUFBQSxFQUFBO0FBQUEsRUFxRGQsYUFBYSxVQUE0QixPQUFtQjtBQUNsRSxRQUFJLEtBQUsscUJBQXFCO0FBQzVCLGVBQVMsZ0JBQWdCLFVBQVUsT0FBTyxzQkFBc0IsS0FBSyxtQkFBbUIsRUFBRTtBQUFBLElBQUE7QUFFNUYsU0FBSyxzQkFBc0I7QUFDM0IsU0FBSyxvQkFBb0IsUUFBUSxlQUFlLEtBQUssSUFBSTtBQUN6RCxhQUFTLGdCQUFnQixVQUFVLElBQUksc0JBQXNCLEtBQUssbUJBQW1CLEVBQUU7QUFBQSxFQUFBO0FBRTFGO0FBRU0sTUFBTSwyQkFBMkIsSUFBSSx5QkFBQTsifQ==
79
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbW9kYWxpdHktZGV0ZWN0b3IuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2ExMXkvaW5wdXQtbW9kYWxpdHktZGV0ZWN0b3IudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBpbnNwaXJlZCBieSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9jb21wb25lbnRzL2Jsb2IvbWFpbi9zcmMvY2RrL2ExMXkvaW5wdXQtbW9kYWxpdHkvaW5wdXQtbW9kYWxpdHktZGV0ZWN0b3IudHNcblxuaW1wb3J0IHsgaXNTZXJ2ZXIgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBnZXRFdmVudFRhcmdldCB9IGZyb20gJy4uL2V2ZW50aW5nLmpzJztcblxuaW1wb3J0IHtcbiAgaXNGYWtlTW91c2Vkb3duRnJvbVNjcmVlblJlYWRlcixcbiAgaXNGYWtlVG91Y2hzdGFydEZyb21TY3JlZW5SZWFkZXIsXG59IGZyb20gJy4vZmFrZS1ldmVudC1kZXRlY3Rpb24uanMnO1xuXG5leHBvcnQgdHlwZSBTYmJJbnB1dE1vZGFsaXR5ID0gJ3RvdWNoJyB8ICdtb3VzZScgfCAna2V5Ym9hcmQnIHwgJ3Byb2dyYW0nIHwgbnVsbDtcblxuLyoqIE9wdGlvbnMgdG8gY29uZmlndXJlIHRoZSBiZWhhdmlvciBvZiB0aGUgU2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLiAqL1xuaW50ZXJmYWNlIFNiYklucHV0TW9kYWxpdHlEZXRlY3Rvck9wdGlvbnMge1xuICAvKiogS2V5cyB0byBpZ25vcmUgd2hlbiBkZXRlY3Rpbmcga2V5Ym9hcmQgaW5wdXQgbW9kYWxpdHkuICovXG4gIGlnbm9yZUtleXM/OiBudW1iZXJbXTtcbn1cblxuY29uc3QgU0hJRlQgPSAxNjtcbmNvbnN0IENPTlRST0wgPSAxNztcbmNvbnN0IEFMVCA9IDE4O1xuY29uc3QgTUVUQSA9IDkxOyAvLyBXSU5fS0VZX0xFRlRcbmNvbnN0IE1BQ19NRVRBID0gMjI0O1xuXG4vKipcbiAqIERlZmF1bHQgb3B0aW9ucyBmb3IgdGhlIFNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci5cbiAqXG4gKiBNb2RpZmllciBrZXlzIGFyZSBpZ25vcmVkIGJ5IGRlZmF1bHQgKGkuZS4gd2hlbiBwcmVzc2VkIHdvbid0IGNhdXNlIHRoZSBzZXJ2aWNlIHRvIGRldGVjdFxuICoga2V5Ym9hcmQgaW5wdXQgbW9kYWxpdHkpIGZvciB0d28gcmVhc29uczpcbiAqXG4gKiAxLiBNb2RpZmllciBrZXlzIGFyZSBjb21tb25seSB1c2VkIHdpdGggbW91c2UgdG8gcGVyZm9ybSBhY3Rpb25zIHN1Y2ggYXMgJ3JpZ2h0IGNsaWNrJyBvciAnb3BlblxuICogICAgaW4gbmV3IHRhYicsIGFuZCBhcmUgdGh1cyBsZXNzIHJlcHJlc2VudGF0aXZlIG9mIGFjdHVhbCBrZXlib2FyZCBpbnRlcmFjdGlvbi5cbiAqIDIuIFZvaWNlT3ZlciB0cmlnZ2VycyBzb21lIGtleWJvYXJkIGV2ZW50cyB3aGVuIGxpbmVhcmx5IG5hdmlnYXRpbmcgd2l0aCBDb250cm9sICsgT3B0aW9uIChidXRcbiAqICAgIGNvbmZ1c2luZ2x5IG5vdCB3aXRoIENhcHMgTG9jaykuIFRodXMsIHRvIGhhdmUgcGFyaXR5IHdpdGggb3RoZXIgc2NyZWVuIHJlYWRlcnMsIHdlIGlnbm9yZVxuICogICAgdGhlc2Uga2V5cyBzbywgYXMgdG8gbm90IHVwZGF0ZSB0aGUgaW5wdXQgbW9kYWxpdHkuXG4gKlxuICogTm90ZSB0aGF0IHdlIGRvIG5vdCBieSBkZWZhdWx0IGlnbm9yZSB0aGUgcmlnaHQgTWV0YSBrZXkgb24gU2FmYXJpIGJlY2F1c2UgaXQgaGFzIHRoZSBzYW1lIGtleVxuICogY29kZSBhcyB0aGUgQ29udGV4dE1lbnUga2V5IG9uIG90aGVyIGJyb3dzZXJzLiBXaGVuIHdlIHN3aXRjaCB0byB1c2luZyBldmVudC5rZXksIHdlIGNhblxuICogZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGUgdHdvLlxuICovXG5jb25zdCBpbnB1dE1vZGFsaXR5RGV0ZWN0b3JPcHRpb25zOiBTYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3JPcHRpb25zID0ge1xuICBpZ25vcmVLZXlzOiBbQUxULCBDT05UUk9MLCBNQUNfTUVUQSwgTUVUQSwgU0hJRlRdLFxufTtcblxuLyoqXG4gKiBUaGUgYW1vdW50IG9mIHRpbWUgbmVlZGVkIHRvIHBhc3MgYWZ0ZXIgYSB0b3VjaHN0YXJ0IGV2ZW50IGluIG9yZGVyIGZvciBhIHN1YnNlcXVlbnQgbW91c2Vkb3duXG4gKiBldmVudCB0byBiZSBhdHRyaWJ1dGVkIGFzIG1vdXNlIGFuZCBub3QgdG91Y2guXG4gKlxuICogVGhyb3VnaCB0cmlhbCBhbmQgZXJyb3IgaXQgd2FzIGZvdW5kIHRoYXQgYSB2YWx1ZSBvZiBhcm91bmQgNjUwbXMgc2VlbXMgYXBwcm9wcmlhdGUuXG4gKi9cbmNvbnN0IHRvdWNoQnVmZmVyTXMgPSA2NTA7XG5cbi8qKlxuICogRXZlbnQgbGlzdGVuZXIgb3B0aW9ucyB0aGF0IGVuYWJsZSBjYXB0dXJpbmcgYW5kIGFsc28gbWFyayB0aGUgbGlzdGVuZXIgYXMgcGFzc2l2ZSBpZiB0aGUgYnJvd3NlclxuICogc3VwcG9ydHMgaXQuXG4gKi9cbmNvbnN0IG1vZGFsaXR5RXZlbnRMaXN0ZW5lck9wdGlvbnMgPSB7XG4gIHBhc3NpdmU6IHRydWUsXG4gIGNhcHR1cmU6IHRydWUsXG59O1xuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCBkZXRlY3RzIHRoZSB1c2VyJ3MgaW5wdXQgbW9kYWxpdHkuXG4gKlxuICogVGhpcyBzZXJ2aWNlIGRvZXMgbm90IHVwZGF0ZSB0aGUgaW5wdXQgbW9kYWxpdHkgd2hlbiBhIHVzZXIgbmF2aWdhdGVzIHdpdGggYSBzY3JlZW4gcmVhZGVyXG4gKiAoZS5nLiBsaW5lYXIgbmF2aWdhdGlvbiB3aXRoIFZvaWNlT3Zlciwgb2JqZWN0IG5hdmlnYXRpb24gLyBicm93c2UgbW9kZSB3aXRoIE5WREEsIHZpcnR1YWwgUENcbiAqIGN1cnNvciBtb2RlIHdpdGggSkFXUykuIFRoaXMgaXMgaW4gcGFydCBkdWUgdG8gdGVjaG5pY2FsIGxpbWl0YXRpb25zIChpLmUuIGtleWJvYXJkIGV2ZW50cyBkbyBub3RcbiAqIGZpcmUgYXMgZXhwZWN0ZWQgaW4gdGhlc2UgbW9kZXMpIGJ1dCBpcyBhbHNvIGFyZ3VhYmx5IHRoZSBjb3JyZWN0IGJlaGF2aW9yLiBOYXZpZ2F0aW5nIHdpdGggYVxuICogc2NyZWVuIHJlYWRlciBpcyBha2luIHRvIHZpc3VhbGx5IHNjYW5uaW5nIGEgcGFnZSwgYW5kIHNob3VsZCBub3QgYmUgaW50ZXJwcmV0ZWQgYXMgYWN0dWFsIHVzZXJcbiAqIGlucHV0IGludGVyYWN0aW9uLlxuICpcbiAqIFdoZW4gYSB1c2VyIGlzIG5vdCBuYXZpZ2F0aW5nIGJ1dCAqaW50ZXJhY3RpbmcqIHdpdGggYSBzY3JlZW4gcmVhZGVyLCB0aGlzIHNlcnZpY2UgYXR0ZW1wdHMgdG9cbiAqIHVwZGF0ZSB0aGUgaW5wdXQgbW9kYWxpdHkgdG8ga2V5Ym9hcmQsIGJ1dCBpbiBnZW5lcmFsIHRoaXMgc2VydmljZSdzIGJlaGF2aW9yIGlzIGxhcmdlbHlcbiAqIHVuZGVmaW5lZC5cbiAqL1xuY2xhc3MgU2JiSW5wdXRNb2RhbGl0eURldGVjdG9yIHtcbiAgLyoqIFRoZSBtb3N0IHJlY2VudGx5IGRldGVjdGVkIGlucHV0IG1vZGFsaXR5LiAqL1xuICBwdWJsaWMgZ2V0IG1vc3RSZWNlbnRNb2RhbGl0eSgpOiBTYmJJbnB1dE1vZGFsaXR5IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX21vc3RSZWNlbnRNb2RhbGl0eTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbW9zdCByZWNlbnQgbW9kYWxpdHkgbXVzdCBiZSBpbml0aWFsaXNlZCB3aXRoIHRoZSB2YWx1ZSAnbW91c2UnIHRvIGNvdmVyIHRoZSBjYXNlIHdoZXJlIGFuIGFjdGlvbiBpc1xuICAgKiBwZXJmb3JtZWQgYnV0IG5vIG1vdXNlIG9yIGtleWJvYXJkIGV2ZW50IGhhcyB5ZXQgb2NjdXJyZWQgb24gdGhlIHBhZ2UgKGUuZy4gYHNiYi1wb3BvdmVyYCB3aXRoIGhvdmVyIHRyaWdnZXIpLlxuICAgKi9cbiAgcHJpdmF0ZSBfbW9zdFJlY2VudE1vZGFsaXR5OiBTYmJJbnB1dE1vZGFsaXR5IHwgbnVsbCA9ICdtb3VzZSc7XG5cbiAgLyoqXG4gICAqIFRoZSBtb3N0IHJlY2VudGx5IGRldGVjdGVkIGlucHV0IG1vZGFsaXR5IGV2ZW50IHRhcmdldC4gSXMgbnVsbCBpZiBubyBpbnB1dCBtb2RhbGl0eSBoYXMgYmVlblxuICAgKiBkZXRlY3RlZCBvciBpZiB0aGUgYXNzb2NpYXRlZCBldmVudCB0YXJnZXQgaXMgbnVsbCBmb3Igc29tZSB1bmtub3duIHJlYXNvbi5cbiAgICovXG4gIHB1YmxpYyBnZXQgbW9zdFJlY2VudFRhcmdldCgpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9tb3N0UmVjZW50VGFyZ2V0O1xuICB9XG4gIHByaXZhdGUgX21vc3RSZWNlbnRUYXJnZXQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIE9wdGlvbnMgZm9yIHRoaXMgU2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9vcHRpb25zOiBTYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3JPcHRpb25zID0ge1xuICAgIC4uLmlucHV0TW9kYWxpdHlEZXRlY3Rvck9wdGlvbnMsXG4gIH07XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lc3RhbXAgb2YgdGhlIGxhc3QgdG91Y2ggaW5wdXQgbW9kYWxpdHkuIFVzZWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgbW91c2Vkb3duIGV2ZW50c1xuICAgKiBzaG91bGQgYmUgYXR0cmlidXRlZCB0byBtb3VzZSBvciB0b3VjaC5cbiAgICovXG4gIHByaXZhdGUgX2xhc3RUb3VjaE1zID0gMDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKCFpc1NlcnZlcikge1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuX29uS2V5ZG93biwgbW9kYWxpdHlFdmVudExpc3RlbmVyT3B0aW9ucyk7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCB0aGlzLl9vbk1vdXNlZG93biwgbW9kYWxpdHlFdmVudExpc3RlbmVyT3B0aW9ucyk7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgdGhpcy5fb25Ub3VjaHN0YXJ0LCBtb2RhbGl0eUV2ZW50TGlzdGVuZXJPcHRpb25zKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlU3RhdGUoJ21vdXNlJywgbnVsbCk7XG4gICAgdGhpcy5fbGFzdFRvdWNoTXMgPSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMga2V5ZG93biBldmVudHMuIE11c3QgYmUgYW4gYXJyb3cgZnVuY3Rpb24gaW4gb3JkZXIgdG8gcHJlc2VydmUgdGhlIGNvbnRleHQgd2hlbiBpdCBnZXRzXG4gICAqIGJvdW5kLlxuICAgKi9cbiAgcHJpdmF0ZSBfb25LZXlkb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCA9PiB7XG4gICAgLy8gSWYgdGhpcyBpcyBvbmUgb2YgdGhlIGtleXMgd2Ugc2hvdWxkIGlnbm9yZSwgdGhlbiBpZ25vcmUgaXQgYW5kIGRvbid0IHVwZGF0ZSB0aGUgaW5wdXRcbiAgICAvLyBtb2RhbGl0eSB0byBrZXlib2FyZC5cbiAgICBpZiAodGhpcy5fb3B0aW9ucz8uaWdub3JlS2V5cz8uc29tZSgoa2V5Q29kZSkgPT4ga2V5Q29kZSA9PT0gZXZlbnQua2V5Q29kZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl91cGRhdGVTdGF0ZSgna2V5Ym9hcmQnLCBldmVudCk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgbW91c2Vkb3duIGV2ZW50cy4gTXVzdCBiZSBhbiBhcnJvdyBmdW5jdGlvbiBpbiBvcmRlciB0byBwcmVzZXJ2ZSB0aGUgY29udGV4dCB3aGVuIGl0XG4gICAqIGdldHMgYm91bmQuXG4gICAqL1xuICBwcml2YXRlIF9vbk1vdXNlZG93biA9IChldmVudDogTW91c2VFdmVudCk6IHZvaWQgPT4ge1xuICAgIC8vIFRvdWNoZXMgdHJpZ2dlciBib3RoIHRvdWNoIGFuZCBtb3VzZSBldmVudHMsIHNvIHdlIG5lZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBtb3VzZSBldmVudHNcbiAgICAvLyB0aGF0IHdlcmUgdHJpZ2dlcmVkIHZpYSBtb3VzZSB2cyB0b3VjaC4gVG8gZG8gc28sIGNoZWNrIGlmIHRoZSBtb3VzZSBldmVudCBvY2N1cnMgY2xvc2VseVxuICAgIC8vIGFmdGVyIHRoZSBwcmV2aW91cyB0b3VjaCBldmVudC5cbiAgICBpZiAoRGF0ZS5ub3coKSAtIHRoaXMuX2xhc3RUb3VjaE1zIDwgdG91Y2hCdWZmZXJNcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEZha2UgbW91c2Vkb3duIGV2ZW50cyBhcmUgZmlyZWQgYnkgc29tZSBzY3JlZW4gcmVhZGVycyB3aGVuIGNvbnRyb2xzIGFyZSBhY3RpdmF0ZWQgYnkgdGhlXG4gICAgLy8gc2NyZWVuIHJlYWRlci4gQXR0cmlidXRlIHRoZW0gdG8ga2V5Ym9hcmQgaW5wdXQgbW9kYWxpdHkuXG4gICAgdGhpcy5fdXBkYXRlU3RhdGUoaXNGYWtlTW91c2Vkb3duRnJvbVNjcmVlblJlYWRlcihldmVudCkgPyAna2V5Ym9hcmQnIDogJ21vdXNlJywgZXZlbnQpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBIYW5kbGVzIHRvdWNoc3RhcnQgZXZlbnRzLiBNdXN0IGJlIGFuIGFycm93IGZ1bmN0aW9uIGluIG9yZGVyIHRvIHByZXNlcnZlIHRoZSBjb250ZXh0IHdoZW4gaXRcbiAgICogZ2V0cyBib3VuZC5cbiAgICovXG4gIHByaXZhdGUgX29uVG91Y2hzdGFydCA9IChldmVudDogVG91Y2hFdmVudCk6IHZvaWQgPT4ge1xuICAgIC8vIFNhbWUgc2NlbmFyaW8gYXMgbWVudGlvbmVkIGluIF9vbk1vdXNlZG93biwgYnV0IG9uIHRvdWNoIHNjcmVlbiBkZXZpY2VzLCBmYWtlIHRvdWNoc3RhcnRcbiAgICAvLyBldmVudHMgYXJlIGZpcmVkLiBBZ2FpbiwgYXR0cmlidXRlIHRvIGtleWJvYXJkIGlucHV0IG1vZGFsaXR5LlxuICAgIGlmIChpc0Zha2VUb3VjaHN0YXJ0RnJvbVNjcmVlblJlYWRlcihldmVudCkpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVN0YXRlKCdrZXlib2FyZCcsIGV2ZW50KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBTdG9yZSB0aGUgdGltZXN0YW1wIG9mIHRoaXMgdG91Y2ggZXZlbnQsIGFzIGl0J3MgdXNlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIG1vdXNlIGV2ZW50c1xuICAgIC8vIHRyaWdnZXJlZCB2aWEgbW91c2UgdnMgdG91Y2guXG4gICAgdGhpcy5fbGFzdFRvdWNoTXMgPSBEYXRlLm5vdygpO1xuXG4gICAgdGhpcy5fdXBkYXRlU3RhdGUoJ3RvdWNoJywgZXZlbnQpO1xuICB9O1xuXG4gIHByaXZhdGUgX3VwZGF0ZVN0YXRlKG1vZGFsaXR5OiBTYmJJbnB1dE1vZGFsaXR5LCBldmVudDogRXZlbnQgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX21vc3RSZWNlbnRNb2RhbGl0eSkge1xuICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoYHNiYi1mb2N1cy1tb2RhbGl0eS0ke3RoaXMuX21vc3RSZWNlbnRNb2RhbGl0eX1gKTtcbiAgICB9XG4gICAgdGhpcy5fbW9zdFJlY2VudE1vZGFsaXR5ID0gbW9kYWxpdHk7XG4gICAgdGhpcy5fbW9zdFJlY2VudFRhcmdldCA9IGV2ZW50ID8gZ2V0RXZlbnRUYXJnZXQoZXZlbnQpIDogbnVsbDtcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZChgc2JiLWZvY3VzLW1vZGFsaXR5LSR7dGhpcy5fbW9zdFJlY2VudE1vZGFsaXR5fWApO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IgPSBuZXcgU2JiSW5wdXRNb2RhbGl0eURldGVjdG9yKCk7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBbUJBLE1BQU0sUUFBUTtBQUNkLE1BQU0sVUFBVTtBQUNoQixNQUFNLE1BQU07QUFDWixNQUFNLE9BQU87QUFDYixNQUFNLFdBQVc7QUFrQmpCLE1BQU0sK0JBQWdFO0FBQUEsRUFDcEUsWUFBWSxDQUFDLEtBQUssU0FBUyxVQUFVLE1BQU0sS0FBSzs7QUFTbEQsTUFBTSxnQkFBZ0I7QUFNdEIsTUFBTSwrQkFBK0I7QUFBQSxFQUNuQyxTQUFTO0FBQUEsRUFDVCxTQUFTOztBQWlCWCxNQUFNLHlCQUF3QjtBQUFBO0FBQUEsRUFFNUIsSUFBVyxxQkFBa0I7QUFDM0IsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFZQSxJQUFXLG1CQUFnQjtBQUN6QixXQUFPLEtBQUs7QUFBQSxFQUNkO0FBQUEsRUFjQSxjQUFBO0FBdEJRLFNBQUEsc0JBQStDO0FBUy9DLFNBQUEsb0JBQXdDO0FBRy9CLFNBQUEsV0FBNEM7QUFBQSxNQUMzRCxHQUFHO0FBQUEsSUFBQTtBQU9HLFNBQUEsZUFBZTtBQW1CZixTQUFBLGFBQWEsQ0FBQyxVQUE4QjtBQUdsRCxVQUFJLEtBQUssVUFBVSxZQUFZLEtBQUssQ0FBQyxZQUFZLFlBQVksTUFBTSxPQUFPLEdBQUc7QUFDM0U7QUFBQSxNQUNGO0FBRUEsV0FBSyxhQUFhLFlBQVksS0FBSztBQUFBLElBQ3JDO0FBTVEsU0FBQSxlQUFlLENBQUMsVUFBMkI7QUFJakQsVUFBSSxLQUFLLElBQUEsSUFBUSxLQUFLLGVBQWUsZUFBZTtBQUNsRDtBQUFBLE1BQ0Y7QUFJQSxXQUFLLGFBQWEsZ0NBQWdDLEtBQUssSUFBSSxhQUFhLFNBQVMsS0FBSztBQUFBLElBQ3hGO0FBTVEsU0FBQSxnQkFBZ0IsQ0FBQyxVQUEyQjtBQUdsRCxVQUFJLGlDQUFpQyxLQUFLLEdBQUc7QUFDM0MsYUFBSyxhQUFhLFlBQVksS0FBSztBQUNuQztBQUFBLE1BQ0Y7QUFJQSxXQUFLLGVBQWUsS0FBSyxJQUFBO0FBRXpCLFdBQUssYUFBYSxTQUFTLEtBQUs7QUFBQSxJQUNsQztBQTVERSxRQUFJLENBQUMsVUFBVTtBQUNiLGVBQVMsaUJBQWlCLFdBQVcsS0FBSyxZQUFZLDRCQUE0QjtBQUNsRixlQUFTLGlCQUFpQixhQUFhLEtBQUssY0FBYyw0QkFBNEI7QUFDdEYsZUFBUyxpQkFBaUIsY0FBYyxLQUFLLGVBQWUsNEJBQTRCO0FBQUEsSUFDMUY7QUFBQSxFQUNGO0FBQUEsRUFFTyxRQUFLO0FBQ1YsU0FBSyxhQUFhLFNBQVMsSUFBSTtBQUMvQixTQUFLLGVBQWU7QUFBQSxFQUN0QjtBQUFBLEVBb0RRLGFBQWEsVUFBNEIsT0FBbUI7QUFDbEUsUUFBSSxLQUFLLHFCQUFxQjtBQUM1QixlQUFTLGdCQUFnQixVQUFVLE9BQU8sc0JBQXNCLEtBQUssbUJBQW1CLEVBQUU7QUFBQSxJQUM1RjtBQUNBLFNBQUssc0JBQXNCO0FBQzNCLFNBQUssb0JBQW9CLFFBQVEsZUFBZSxLQUFLLElBQUk7QUFDekQsYUFBUyxnQkFBZ0IsVUFBVSxJQUFJLHNCQUFzQixLQUFLLG1CQUFtQixFQUFFO0FBQUEsRUFDekY7QUFDRDtBQUVNLE1BQU0sMkJBQTJCLElBQUkseUJBQUE7In0=
@@ -133,4 +133,4 @@ export {
133
133
  IsFocusableConfig,
134
134
  interactivityChecker
135
135
  };
136
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpdml0eS1jaGVja2VyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9hMTF5L2ludGVyYWN0aXZpdHktY2hlY2tlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLy8gQ29waWVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9ibG9iL21haW4vc3JjL2Nkay9hMTF5L2ZvY3VzLXRyYXAvZm9jdXMtdHJhcC50c1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdXNlLWJlZm9yZS1kZWZpbmUgKi9cbmltcG9ydCB7IGlzU2VydmVyIH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgaXNGaXJlZm94LCBpc0lPUywgaXNXZWJraXQgfSBmcm9tICcuLi9kb20vcGxhdGZvcm0uanMnO1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBpc0ZvY3VzYWJsZSBtZXRob2QuXG4gKi9cbmV4cG9ydCBjbGFzcyBJc0ZvY3VzYWJsZUNvbmZpZyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNvdW50IGFuIGVsZW1lbnQgYXMgZm9jdXNhYmxlIGV2ZW4gaWYgaXQgaXMgbm90IGN1cnJlbnRseSB2aXNpYmxlLlxuICAgKi9cbiAgcHVibGljIGlnbm9yZVZpc2liaWxpdHk6IGJvb2xlYW4gPSBmYWxzZTtcbn1cblxuZXhwb3J0IGNsYXNzIEludGVyYWN0aXZpdHlDaGVja2VyIHtcbiAgLyoqXG4gICAqIEdldHMgd2hldGhlciBhbiBlbGVtZW50IGlzIGRpc2FibGVkLlxuICAgKlxuICAgKiBAcGFyYW0gZWxlbWVudCBFbGVtZW50IHRvIGJlIGNoZWNrZWQuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGVsZW1lbnQgaXMgZGlzYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgaXNEaXNhYmxlZChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSB8fCBlbGVtZW50Lm1hdGNoZXMoJzpkaXNhYmxlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgd2hldGhlciBhbiBlbGVtZW50IGlzIHZpc2libGUgZm9yIHRoZSBwdXJwb3NlcyBvZiBpbnRlcmFjdGl2aXR5LlxuICAgKlxuICAgKiBUaGlzIHdpbGwgY2FwdHVyZSBzdGF0ZXMgbGlrZSBgZGlzcGxheTogbm9uZWAgYW5kIGB2aXNpYmlsaXR5OiBoaWRkZW5gLCBidXQgbm90IHRoaW5ncyBsaWtlXG4gICAqIGJlaW5nIGNsaXBwZWQgYnkgYW4gYG92ZXJmbG93OiBoaWRkZW5gIHBhcmVudCBvciBiZWluZyBvdXRzaWRlIHRoZSB2aWV3cG9ydC5cbiAgICpcbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgZWxlbWVudCBpcyB2aXNpYmxlLlxuICAgKi9cbiAgcHVibGljIGlzVmlzaWJsZShlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBoYXNHZW9tZXRyeShlbGVtZW50KSAmJiBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLnZpc2liaWxpdHkgPT09ICd2aXNpYmxlJztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHdoZXRoZXIgYW4gZWxlbWVudCBjYW4gYmUgcmVhY2hlZCB2aWEgVGFiIGtleS5cbiAgICogQXNzdW1lcyB0aGF0IHRoZSBlbGVtZW50IGhhcyBhbHJlYWR5IGJlZW4gY2hlY2tlZCB3aXRoIGlzRm9jdXNhYmxlLlxuICAgKlxuICAgKiBAcGFyYW0gZWxlbWVudCBFbGVtZW50IHRvIGJlIGNoZWNrZWQuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGVsZW1lbnQgaXMgdGFiYmFibGUuXG4gICAqL1xuICBwdWJsaWMgaXNUYWJiYWJsZShlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIC8vIE5vdGhpbmcgaXMgdGFiYmFibGUgb24gdGhlIHNlcnZlciDwn5iOXG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9kZU5hbWUgPSBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgdGFiSW5kZXhWYWx1ZSA9IGdldFRhYkluZGV4VmFsdWUoZWxlbWVudCk7XG5cbiAgICBpZiAoZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScpKSB7XG4gICAgICByZXR1cm4gdGFiSW5kZXhWYWx1ZSAhPT0gLTE7XG4gICAgfVxuXG4gICAgaWYgKG5vZGVOYW1lID09PSAnaWZyYW1lJyB8fCBub2RlTmFtZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIC8vIFRoZSBmcmFtZSBvciBvYmplY3QncyBjb250ZW50IG1heSBiZSB0YWJiYWJsZSBkZXBlbmRpbmcgb24gdGhlIGNvbnRlbnQsIGJ1dCBpdCdzXG4gICAgICAvLyBub3QgcG9zc2libHkgdG8gcmVsaWFibHkgZGV0ZWN0IHRoZSBjb250ZW50IG9mIHRoZSBmcmFtZXMuIFdlIGFsd2F5cyBjb25zaWRlciBzdWNoXG4gICAgICAvLyBlbGVtZW50cyBhcyBub24tdGFiYmFibGUuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gSW4gaU9TLCB0aGUgYnJvd3NlciBvbmx5IGNvbnNpZGVycyBzb21lIHNwZWNpZmljIGVsZW1lbnRzIGFzIHRhYmJhYmxlLlxuICAgIGlmIChpc1dlYmtpdCAmJiBpc0lPUyAmJiAhaXNQb3RlbnRpYWxseVRhYmJhYmxlSU9TKGVsZW1lbnQpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKG5vZGVOYW1lID09PSAnYXVkaW8nKSB7XG4gICAgICAvLyBBdWRpbyBlbGVtZW50cyB3aXRob3V0IGNvbnRyb2xzIGVuYWJsZWQgYXJlIG5ldmVyIHRhYmJhYmxlLCByZWdhcmRsZXNzXG4gICAgICAvLyBvZiB0aGUgdGFiaW5kZXggYXR0cmlidXRlIGV4cGxpY2l0bHkgYmVpbmcgc2V0LlxuICAgICAgaWYgKCFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnY29udHJvbHMnKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICAvLyBBdWRpbyBlbGVtZW50cyB3aXRoIGNvbnRyb2xzIGFyZSBieSBkZWZhdWx0IHRhYmJhYmxlIHVubGVzcyB0aGVcbiAgICAgIC8vIHRhYmluZGV4IGF0dHJpYnV0ZSBpcyBzZXQgdG8gYC0xYCBleHBsaWNpdGx5LlxuICAgICAgcmV0dXJuIHRhYkluZGV4VmFsdWUgIT09IC0xO1xuICAgIH1cblxuICAgIGlmIChub2RlTmFtZSA9PT0gJ3ZpZGVvJykge1xuICAgICAgLy8gRm9yIGFsbCB2aWRlbyBlbGVtZW50cywgaWYgdGhlIHRhYmluZGV4IGF0dHJpYnV0ZSBpcyBzZXQgdG8gYC0xYCwgdGhlIHZpZGVvXG4gICAgICAvLyBpcyBub3QgdGFiYmFibGUuIE5vdGU6IFdlIGNhbm5vdCByZWx5IG9uIHRoZSBkZWZhdWx0IGBIVE1MRWxlbWVudC50YWJJbmRleGBcbiAgICAgIC8vIHByb3BlcnR5IGFzIHRoYXQgb25lIGlzIHNldCB0byBgLTFgIGluIENocm9tZSwgRWRnZSBhbmQgU2FmYXJpIHYxMy4xLiBUaGVcbiAgICAgIC8vIHRhYmluZGV4IGF0dHJpYnV0ZSBpcyB0aGUgc291cmNlIG9mIHRydXRoIGhlcmUuXG4gICAgICBpZiAodGFiSW5kZXhWYWx1ZSA9PT0gLTEpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgLy8gSWYgdGhlIHRhYmluZGV4IGlzIGV4cGxpY2l0bHkgc2V0LCBhbmQgbm90IGAtMWAgKGFzIHBlciBjaGVjayBiZWZvcmUpLCB0aGVcbiAgICAgIC8vIHZpZGVvIGVsZW1lbnQgaXMgYWx3YXlzIHRhYmJhYmxlIChyZWdhcmRsZXNzIG9mIHdoZXRoZXIgaXQgaGFzIGNvbnRyb2xzIG9yIG5vdCkuXG4gICAgICBpZiAodGFiSW5kZXhWYWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIC8vIE90aGVyd2lzZSAod2hlbiBubyBleHBsaWNpdCB0YWJpbmRleCBpcyBzZXQpLCBhIHZpZGVvIGlzIG9ubHkgdGFiYmFibGUgaWYgaXRcbiAgICAgIC8vIGhhcyBjb250cm9scyBlbmFibGVkLiBGaXJlZm94IGlzIHNwZWNpYWwgYXMgdmlkZW9zIGFyZSBhbHdheXMgdGFiYmFibGUgcmVnYXJkbGVzc1xuICAgICAgLy8gb2Ygd2hldGhlciB0aGVyZSBhcmUgY29udHJvbHMgb3Igbm90LlxuICAgICAgcmV0dXJuIGlzRmlyZWZveCB8fCBlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnY29udHJvbHMnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudC50YWJJbmRleCA+PSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgd2hldGhlciBhbiBlbGVtZW50IGNhbiBiZSBmb2N1c2VkIGJ5IHRoZSB1c2VyLlxuICAgKlxuICAgKiBAcGFyYW0gZWxlbWVudCBFbGVtZW50IHRvIGJlIGNoZWNrZWQuXG4gICAqIEBwYXJhbSBjb25maWcgVGhlIGNvbmZpZyBvYmplY3Qgd2l0aCBvcHRpb25zIHRvIGN1c3RvbWl6ZSB0aGlzIG1ldGhvZCdzIGJlaGF2aW9yXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGVsZW1lbnQgaXMgZm9jdXNhYmxlLlxuICAgKi9cbiAgcHVibGljIGlzRm9jdXNhYmxlKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBjb25maWc/OiBJc0ZvY3VzYWJsZUNvbmZpZyk6IGJvb2xlYW4ge1xuICAgIC8vIFBlcmZvcm0gY2hlY2tzIGluIG9yZGVyIG9mIGxlZnQgdG8gbW9zdCBleHBlbnNpdmUuXG4gICAgLy8gQWdhaW4sIG5haXZlIGFwcHJvYWNoIHRoYXQgZG9lcyBub3QgY2FwdHVyZSBtYW55IGVkZ2UgY2FzZXMgYW5kIGJyb3dzZXIgcXVpcmtzLlxuICAgIHJldHVybiAoXG4gICAgICBpc1BvdGVudGlhbGx5Rm9jdXNhYmxlKGVsZW1lbnQpICYmXG4gICAgICAhZWxlbWVudC5pbmVydCAmJlxuICAgICAgIXRoaXMuaXNEaXNhYmxlZChlbGVtZW50KSAmJlxuICAgICAgKGNvbmZpZz8uaWdub3JlVmlzaWJpbGl0eSB8fCB0aGlzLmlzVmlzaWJsZShlbGVtZW50KSlcbiAgICApO1xuICB9XG59XG5cbi8vIEZvciB1bml0IHRlc3RzIHdlIG5lZWQgdG8gcHJldGVuZCB0aGF0IGFuIGVsZW1lbnQgaXMgYWx3YXlzIHZpc2libGUuXG4vLyBUaGlzIGNhbiBiZSBkb25lIGJ5IGNoZWNraW5nIGlmIHZpc2liaWxpdHkgcHJvcGVydHkgaXMgc2V0IHRvIGVtcHR5LlxuZXhwb3J0IGNvbnN0IGludGVyYWN0aXZpdHlDaGVja2VyID0gbmV3IEludGVyYWN0aXZpdHlDaGVja2VyKCk7XG5cbmZ1bmN0aW9uIGhhc0dlb21ldHJ5KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gIC8vIFVzZSBsb2dpYyBmcm9tIGpRdWVyeSB0byBjaGVjayBmb3IgYW4gaW52aXNpYmxlIGVsZW1lbnQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vanF1ZXJ5L2pxdWVyeS9ibG9iL21hc3Rlci9zcmMvY3NzL2hpZGRlblZpc2libGVTZWxlY3RvcnMuanMjTDEyXG4gIHJldHVybiAhIShcbiAgICBlbGVtZW50Lm9mZnNldFdpZHRoIHx8XG4gICAgZWxlbWVudC5vZmZzZXRIZWlnaHQgfHxcbiAgICAodHlwZW9mIGVsZW1lbnQuZ2V0Q2xpZW50UmVjdHMgPT09ICdmdW5jdGlvbicgJiYgZWxlbWVudC5nZXRDbGllbnRSZWN0cygpLmxlbmd0aClcbiAgKTtcbn1cblxuLyoqIEdldHMgd2hldGhlciBhbiBlbGVtZW50J3MgICovXG5mdW5jdGlvbiBpc05hdGl2ZUZvcm1FbGVtZW50KGVsZW1lbnQ6IE5vZGUpOiBib29sZWFuIHtcbiAgY29uc3Qgbm9kZU5hbWUgPSBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG4gIHJldHVybiAoXG4gICAgbm9kZU5hbWUgPT09ICdpbnB1dCcgfHxcbiAgICBub2RlTmFtZSA9PT0gJ3NlbGVjdCcgfHxcbiAgICBub2RlTmFtZSA9PT0gJ2J1dHRvbicgfHxcbiAgICBub2RlTmFtZSA9PT0gJ3RleHRhcmVhJ1xuICApO1xufVxuXG4vKiogR2V0cyB3aGV0aGVyIGFuIGVsZW1lbnQgaXMgYW4gYDxpbnB1dCB0eXBlPVwiaGlkZGVuXCI+YC4gKi9cbmZ1bmN0aW9uIGlzSGlkZGVuSW5wdXQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzSW5wdXRFbGVtZW50KGVsZW1lbnQpICYmIGVsZW1lbnQudHlwZSA9PSAnaGlkZGVuJztcbn1cblxuLyoqIEdldHMgd2hldGhlciBhbiBlbGVtZW50IGlzIGFuIGFuY2hvciB0aGF0IGhhcyBhbiBocmVmIGF0dHJpYnV0ZS4gKi9cbmZ1bmN0aW9uIGlzQW5jaG9yV2l0aEhyZWYoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzQW5jaG9yRWxlbWVudChlbGVtZW50KSAmJiBlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnaHJlZicpO1xufVxuXG4vKiogR2V0cyB3aGV0aGVyIGFuIGVsZW1lbnQgaXMgYW4gaW5wdXQgZWxlbWVudC4gKi9cbmZ1bmN0aW9uIGlzSW5wdXRFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogZWxlbWVudCBpcyBIVE1MSW5wdXRFbGVtZW50IHtcbiAgcmV0dXJuIGVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PSAnaW5wdXQnO1xufVxuXG4vKiogR2V0cyB3aGV0aGVyIGFuIGVsZW1lbnQgaXMgYW4gYW5jaG9yIGVsZW1lbnQuICovXG5mdW5jdGlvbiBpc0FuY2hvckVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBlbGVtZW50IGlzIEhUTUxBbmNob3JFbGVtZW50IHtcbiAgcmV0dXJuIGVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PSAnYSc7XG59XG5cbi8qKiBHZXRzIHdoZXRoZXIgYW4gZWxlbWVudCBoYXMgYSB2YWxpZCB0YWJpbmRleC4gKi9cbmZ1bmN0aW9uIGhhc1ZhbGlkVGFiSW5kZXgoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgaWYgKCFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgndGFiaW5kZXgnKSB8fCBlbGVtZW50LnRhYkluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCB0YWJJbmRleCA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0YWJpbmRleCcpO1xuICByZXR1cm4gISEodGFiSW5kZXggJiYgIWlzTmFOKHBhcnNlSW50KHRhYkluZGV4LCAxMCkpKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBwYXJzZWQgdGFiaW5kZXggZnJvbSB0aGUgZWxlbWVudCBhdHRyaWJ1dGVzIGluc3RlYWQgb2YgcmV0dXJuaW5nIHRoZVxuICogZXZhbHVhdGVkIHRhYmluZGV4IGZyb20gdGhlIGJyb3dzZXJzIGRlZmF1bHRzLlxuICovXG5mdW5jdGlvbiBnZXRUYWJJbmRleFZhbHVlKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogbnVtYmVyIHwgbnVsbCB7XG4gIGlmICghaGFzVmFsaWRUYWJJbmRleChlbGVtZW50KSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gU2VlIGJyb3dzZXIgaXNzdWUgaW4gR2Vja28gaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyODA1NFxuICBjb25zdCB0YWJJbmRleCA9IHBhcnNlSW50KGVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0YWJpbmRleCcpIHx8ICcnLCAxMCk7XG5cbiAgcmV0dXJuIGlzTmFOKHRhYkluZGV4KSA/IC0xIDogdGFiSW5kZXg7XG59XG5cbi8qKiBDaGVja3Mgd2hldGhlciB0aGUgc3BlY2lmaWVkIGVsZW1lbnQgaXMgcG90ZW50aWFsbHkgdGFiYmFibGUgb24gaU9TICovXG5mdW5jdGlvbiBpc1BvdGVudGlhbGx5VGFiYmFibGVJT1MoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgY29uc3Qgbm9kZU5hbWUgPSBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG4gIGNvbnN0IGlucHV0VHlwZSA9IG5vZGVOYW1lID09PSAnaW5wdXQnICYmIChlbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnR5cGU7XG5cbiAgcmV0dXJuIChcbiAgICBpbnB1dFR5cGUgPT09ICd0ZXh0JyB8fFxuICAgIGlucHV0VHlwZSA9PT0gJ3Bhc3N3b3JkJyB8fFxuICAgIG5vZGVOYW1lID09PSAnc2VsZWN0JyB8fFxuICAgIG5vZGVOYW1lID09PSAndGV4dGFyZWEnXG4gICk7XG59XG5cbi8qKlxuICogR2V0cyB3aGV0aGVyIGFuIGVsZW1lbnQgaXMgcG90ZW50aWFsbHkgZm9jdXNhYmxlIHdpdGhvdXQgdGFraW5nIGN1cnJlbnQgdmlzaWJsZS9kaXNhYmxlZCBzdGF0ZVxuICogaW50byBhY2NvdW50LlxuICovXG5mdW5jdGlvbiBpc1BvdGVudGlhbGx5Rm9jdXNhYmxlKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gIC8vIElucHV0cyBhcmUgcG90ZW50aWFsbHkgZm9jdXNhYmxlICp1bmxlc3MqIHRoZXkncmUgdHlwZT1cImhpZGRlblwiLlxuICBpZiAoaXNIaWRkZW5JbnB1dChlbGVtZW50KSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgaXNOYXRpdmVGb3JtRWxlbWVudChlbGVtZW50KSB8fFxuICAgIGlzQW5jaG9yV2l0aEhyZWYoZWxlbWVudCkgfHxcbiAgICBlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnY29udGVudGVkaXRhYmxlJykgfHxcbiAgICBoYXNWYWxpZFRhYkluZGV4KGVsZW1lbnQpXG4gICk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtNQWtCYSxrQkFBaUI7QUFBQSxFQUE5QixjQUFBO0FBSVMsU0FBQSxtQkFBNEI7QUFBQSxFQUFBO0FBQ3BDO01BRVkscUJBQW9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPeEIsV0FBVyxTQUFvQjtBQUNwQyxXQUFPLFFBQVEsYUFBYSxVQUFVLEtBQUssUUFBUSxRQUFRLFdBQVc7QUFBQSxFQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBV2pFLFVBQVUsU0FBb0I7QUFDbkMsV0FBTyxZQUFZLE9BQU8sS0FBSyxpQkFBaUIsT0FBTyxFQUFFLGVBQWU7QUFBQSxFQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVVuRSxXQUFXLFNBQW9CO0FBRXBDLFFBQUksVUFBVTtBQUNaLGFBQU87QUFBQSxJQUFBO0FBR1QsVUFBTSxXQUFXLFFBQVEsU0FBUyxZQUFBO0FBQ2xDLFVBQU0sZ0JBQWdCLGlCQUFpQixPQUFPO0FBRTlDLFFBQUksUUFBUSxhQUFhLGlCQUFpQixHQUFHO0FBQzNDLGFBQU8sa0JBQWtCO0FBQUEsSUFBQTtBQUczQixRQUFJLGFBQWEsWUFBWSxhQUFhLFVBQVU7QUFJbEQsYUFBTztBQUFBLElBQUE7QUFJVCxRQUFJLFlBQVksU0FBUyxDQUFDLHlCQUF5QixPQUFPLEdBQUc7QUFDM0QsYUFBTztBQUFBLElBQUE7QUFHVCxRQUFJLGFBQWEsU0FBUztBQUd4QixVQUFJLENBQUMsUUFBUSxhQUFhLFVBQVUs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
136
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpdml0eS1jaGVja2VyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9hMTF5L2ludGVyYWN0aXZpdHktY2hlY2tlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLy8gQ29waWVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9ibG9iL21haW4vc3JjL2Nkay9hMTF5L2ZvY3VzLXRyYXAvZm9jdXMtdHJhcC50c1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdXNlLWJlZm9yZS1kZWZpbmUgKi9cbmltcG9ydCB7IGlzU2VydmVyIH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgaXNGaXJlZm94LCBpc0lPUywgaXNXZWJraXQgfSBmcm9tICcuLi9kb20vcGxhdGZvcm0uanMnO1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBpc0ZvY3VzYWJsZSBtZXRob2QuXG4gKi9cbmV4cG9ydCBjbGFzcyBJc0ZvY3VzYWJsZUNvbmZpZyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGNvdW50IGFuIGVsZW1lbnQgYXMgZm9jdXNhYmxlIGV2ZW4gaWYgaXQgaXMgbm90IGN1cnJlbnRseSB2aXNpYmxlLlxuICAgKi9cbiAgcHVibGljIGlnbm9yZVZpc2liaWxpdHk6IGJvb2xlYW4gPSBmYWxzZTtcbn1cblxuZXhwb3J0IGNsYXNzIEludGVyYWN0aXZpdHlDaGVja2VyIHtcbiAgLyoqXG4gICAqIEdldHMgd2hldGhlciBhbiBlbGVtZW50IGlzIGRpc2FibGVkLlxuICAgKlxuICAgKiBAcGFyYW0gZWxlbWVudCBFbGVtZW50IHRvIGJlIGNoZWNrZWQuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGVsZW1lbnQgaXMgZGlzYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgaXNEaXNhYmxlZChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSB8fCBlbGVtZW50Lm1hdGNoZXMoJzpkaXNhYmxlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgd2hldGhlciBhbiBlbGVtZW50IGlzIHZpc2libGUgZm9yIHRoZSBwdXJwb3NlcyBvZiBpbnRlcmFjdGl2aXR5LlxuICAgKlxuICAgKiBUaGlzIHdpbGwgY2FwdHVyZSBzdGF0ZXMgbGlrZSBgZGlzcGxheTogbm9uZWAgYW5kIGB2aXNpYmlsaXR5OiBoaWRkZW5gLCBidXQgbm90IHRoaW5ncyBsaWtlXG4gICAqIGJlaW5nIGNsaXBwZWQgYnkgYW4gYG92ZXJmbG93OiBoaWRkZW5gIHBhcmVudCBvciBiZWluZyBvdXRzaWRlIHRoZSB2aWV3cG9ydC5cbiAgICpcbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgZWxlbWVudCBpcyB2aXNpYmxlLlxuICAgKi9cbiAgcHVibGljIGlzVmlzaWJsZShlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBoYXNHZW9tZXRyeShlbGVtZW50KSAmJiBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLnZpc2liaWxpdHkgPT09ICd2aXNpYmxlJztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHdoZXRoZXIgYW4gZWxlbWVudCBjYW4gYmUgcmVhY2hlZCB2aWEgVGFiIGtleS5cbiAgICogQXNzdW1lcyB0aGF0IHRoZSBlbGVtZW50IGhhcyBhbHJlYWR5IGJlZW4gY2hlY2tlZCB3aXRoIGlzRm9jdXNhYmxlLlxuICAgKlxuICAgKiBAcGFyYW0gZWxlbWVudCBFbGVtZW50IHRvIGJlIGNoZWNrZWQuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGVsZW1lbnQgaXMgdGFiYmFibGUuXG4gICAqL1xuICBwdWJsaWMgaXNUYWJiYWJsZShlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIC8vIE5vdGhpbmcgaXMgdGFiYmFibGUgb24gdGhlIHNlcnZlciDwn5iOXG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9kZU5hbWUgPSBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgdGFiSW5kZXhWYWx1ZSA9IGdldFRhYkluZGV4VmFsdWUoZWxlbWVudCk7XG5cbiAgICBpZiAoZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScpKSB7XG4gICAgICByZXR1cm4gdGFiSW5kZXhWYWx1ZSAhPT0gLTE7XG4gICAgfVxuXG4gICAgaWYgKG5vZGVOYW1lID09PSAnaWZyYW1lJyB8fCBub2RlTmFtZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIC8vIFRoZSBmcmFtZSBvciBvYmplY3QncyBjb250ZW50IG1heSBiZSB0YWJiYWJsZSBkZXBlbmRpbmcgb24gdGhlIGNvbnRlbnQsIGJ1dCBpdCdzXG4gICAgICAvLyBub3QgcG9zc2libHkgdG8gcmVsaWFibHkgZGV0ZWN0IHRoZSBjb250ZW50IG9mIHRoZSBmcmFtZXMuIFdlIGFsd2F5cyBjb25zaWRlciBzdWNoXG4gICAgICAvLyBlbGVtZW50cyBhcyBub24tdGFiYmFibGUuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gSW4gaU9TLCB0aGUgYnJvd3NlciBvbmx5IGNvbnNpZGVycyBzb21lIHNwZWNpZmljIGVsZW1lbnRzIGFzIHRhYmJhYmxlLlxuICAgIGlmIChpc1dlYmtpdCAmJiBpc0lPUyAmJiAhaXNQb3RlbnRpYWxseVRhYmJhYmxlSU9TKGVsZW1lbnQpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKG5vZGVOYW1lID09PSAnYXVkaW8nKSB7XG4gICAgICAvLyBBdWRpbyBlbGVtZW50cyB3aXRob3V0IGNvbnRyb2xzIGVuYWJsZWQgYXJlIG5ldmVyIHRhYmJhYmxlLCByZWdhcmRsZXNzXG4gICAgICAvLyBvZiB0aGUgdGFiaW5kZXggYXR0cmlidXRlIGV4cGxpY2l0bHkgYmVpbmcgc2V0LlxuICAgICAgaWYgKCFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnY29udHJvbHMnKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICAvLyBBdWRpbyBlbGVtZW50cyB3aXRoIGNvbnRyb2xzIGFyZSBieSBkZWZhdWx0IHRhYmJhYmxlIHVubGVzcyB0aGVcbiAgICAgIC8vIHRhYmluZGV4IGF0dHJpYnV0ZSBpcyBzZXQgdG8gYC0xYCBleHBsaWNpdGx5LlxuICAgICAgcmV0dXJuIHRhYkluZGV4VmFsdWUgIT09IC0xO1xuICAgIH1cblxuICAgIGlmIChub2RlTmFtZSA9PT0gJ3ZpZGVvJykge1xuICAgICAgLy8gRm9yIGFsbCB2aWRlbyBlbGVtZW50cywgaWYgdGhlIHRhYmluZGV4IGF0dHJpYnV0ZSBpcyBzZXQgdG8gYC0xYCwgdGhlIHZpZGVvXG4gICAgICAvLyBpcyBub3QgdGFiYmFibGUuIE5vdGU6IFdlIGNhbm5vdCByZWx5IG9uIHRoZSBkZWZhdWx0IGBIVE1MRWxlbWVudC50YWJJbmRleGBcbiAgICAgIC8vIHByb3BlcnR5IGFzIHRoYXQgb25lIGlzIHNldCB0byBgLTFgIGluIENocm9tZSwgRWRnZSBhbmQgU2FmYXJpIHYxMy4xLiBUaGVcbiAgICAgIC8vIHRhYmluZGV4IGF0dHJpYnV0ZSBpcyB0aGUgc291cmNlIG9mIHRydXRoIGhlcmUuXG4gICAgICBpZiAodGFiSW5kZXhWYWx1ZSA9PT0gLTEpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgLy8gSWYgdGhlIHRhYmluZGV4IGlzIGV4cGxpY2l0bHkgc2V0LCBhbmQgbm90IGAtMWAgKGFzIHBlciBjaGVjayBiZWZvcmUpLCB0aGVcbiAgICAgIC8vIHZpZGVvIGVsZW1lbnQgaXMgYWx3YXlzIHRhYmJhYmxlIChyZWdhcmRsZXNzIG9mIHdoZXRoZXIgaXQgaGFzIGNvbnRyb2xzIG9yIG5vdCkuXG4gICAgICBpZiAodGFiSW5kZXhWYWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIC8vIE90aGVyd2lzZSAod2hlbiBubyBleHBsaWNpdCB0YWJpbmRleCBpcyBzZXQpLCBhIHZpZGVvIGlzIG9ubHkgdGFiYmFibGUgaWYgaXRcbiAgICAgIC8vIGhhcyBjb250cm9scyBlbmFibGVkLiBGaXJlZm94IGlzIHNwZWNpYWwgYXMgdmlkZW9zIGFyZSBhbHdheXMgdGFiYmFibGUgcmVnYXJkbGVzc1xuICAgICAgLy8gb2Ygd2hldGhlciB0aGVyZSBhcmUgY29udHJvbHMgb3Igbm90LlxuICAgICAgcmV0dXJuIGlzRmlyZWZveCB8fCBlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnY29udHJvbHMnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZWxlbWVudC50YWJJbmRleCA+PSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgd2hldGhlciBhbiBlbGVtZW50IGNhbiBiZSBmb2N1c2VkIGJ5IHRoZSB1c2VyLlxuICAgKlxuICAgKiBAcGFyYW0gZWxlbWVudCBFbGVtZW50IHRvIGJlIGNoZWNrZWQuXG4gICAqIEBwYXJhbSBjb25maWcgVGhlIGNvbmZpZyBvYmplY3Qgd2l0aCBvcHRpb25zIHRvIGN1c3RvbWl6ZSB0aGlzIG1ldGhvZCdzIGJlaGF2aW9yXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGVsZW1lbnQgaXMgZm9jdXNhYmxlLlxuICAgKi9cbiAgcHVibGljIGlzRm9jdXNhYmxlKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBjb25maWc/OiBJc0ZvY3VzYWJsZUNvbmZpZyk6IGJvb2xlYW4ge1xuICAgIC8vIFBlcmZvcm0gY2hlY2tzIGluIG9yZGVyIG9mIGxlZnQgdG8gbW9zdCBleHBlbnNpdmUuXG4gICAgLy8gQWdhaW4sIG5haXZlIGFwcHJvYWNoIHRoYXQgZG9lcyBub3QgY2FwdHVyZSBtYW55IGVkZ2UgY2FzZXMgYW5kIGJyb3dzZXIgcXVpcmtzLlxuICAgIHJldHVybiAoXG4gICAgICBpc1BvdGVudGlhbGx5Rm9jdXNhYmxlKGVsZW1lbnQpICYmXG4gICAgICAhZWxlbWVudC5pbmVydCAmJlxuICAgICAgIXRoaXMuaXNEaXNhYmxlZChlbGVtZW50KSAmJlxuICAgICAgKGNvbmZpZz8uaWdub3JlVmlzaWJpbGl0eSB8fCB0aGlzLmlzVmlzaWJsZShlbGVtZW50KSlcbiAgICApO1xuICB9XG59XG5cbi8vIEZvciB1bml0IHRlc3RzIHdlIG5lZWQgdG8gcHJldGVuZCB0aGF0IGFuIGVsZW1lbnQgaXMgYWx3YXlzIHZpc2libGUuXG4vLyBUaGlzIGNhbiBiZSBkb25lIGJ5IGNoZWNraW5nIGlmIHZpc2liaWxpdHkgcHJvcGVydHkgaXMgc2V0IHRvIGVtcHR5LlxuZXhwb3J0IGNvbnN0IGludGVyYWN0aXZpdHlDaGVja2VyID0gbmV3IEludGVyYWN0aXZpdHlDaGVja2VyKCk7XG5cbmZ1bmN0aW9uIGhhc0dlb21ldHJ5KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gIC8vIFVzZSBsb2dpYyBmcm9tIGpRdWVyeSB0byBjaGVjayBmb3IgYW4gaW52aXNpYmxlIGVsZW1lbnQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vanF1ZXJ5L2pxdWVyeS9ibG9iL21hc3Rlci9zcmMvY3NzL2hpZGRlblZpc2libGVTZWxlY3RvcnMuanMjTDEyXG4gIHJldHVybiAhIShcbiAgICBlbGVtZW50Lm9mZnNldFdpZHRoIHx8XG4gICAgZWxlbWVudC5vZmZzZXRIZWlnaHQgfHxcbiAgICAodHlwZW9mIGVsZW1lbnQuZ2V0Q2xpZW50UmVjdHMgPT09ICdmdW5jdGlvbicgJiYgZWxlbWVudC5nZXRDbGllbnRSZWN0cygpLmxlbmd0aClcbiAgKTtcbn1cblxuLyoqIEdldHMgd2hldGhlciBhbiBlbGVtZW50J3MgICovXG5mdW5jdGlvbiBpc05hdGl2ZUZvcm1FbGVtZW50KGVsZW1lbnQ6IE5vZGUpOiBib29sZWFuIHtcbiAgY29uc3Qgbm9kZU5hbWUgPSBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG4gIHJldHVybiAoXG4gICAgbm9kZU5hbWUgPT09ICdpbnB1dCcgfHxcbiAgICBub2RlTmFtZSA9PT0gJ3NlbGVjdCcgfHxcbiAgICBub2RlTmFtZSA9PT0gJ2J1dHRvbicgfHxcbiAgICBub2RlTmFtZSA9PT0gJ3RleHRhcmVhJ1xuICApO1xufVxuXG4vKiogR2V0cyB3aGV0aGVyIGFuIGVsZW1lbnQgaXMgYW4gYDxpbnB1dCB0eXBlPVwiaGlkZGVuXCI+YC4gKi9cbmZ1bmN0aW9uIGlzSGlkZGVuSW5wdXQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzSW5wdXRFbGVtZW50KGVsZW1lbnQpICYmIGVsZW1lbnQudHlwZSA9PSAnaGlkZGVuJztcbn1cblxuLyoqIEdldHMgd2hldGhlciBhbiBlbGVtZW50IGlzIGFuIGFuY2hvciB0aGF0IGhhcyBhbiBocmVmIGF0dHJpYnV0ZS4gKi9cbmZ1bmN0aW9uIGlzQW5jaG9yV2l0aEhyZWYoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzQW5jaG9yRWxlbWVudChlbGVtZW50KSAmJiBlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnaHJlZicpO1xufVxuXG4vKiogR2V0cyB3aGV0aGVyIGFuIGVsZW1lbnQgaXMgYW4gaW5wdXQgZWxlbWVudC4gKi9cbmZ1bmN0aW9uIGlzSW5wdXRFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogZWxlbWVudCBpcyBIVE1MSW5wdXRFbGVtZW50IHtcbiAgcmV0dXJuIGVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PSAnaW5wdXQnO1xufVxuXG4vKiogR2V0cyB3aGV0aGVyIGFuIGVsZW1lbnQgaXMgYW4gYW5jaG9yIGVsZW1lbnQuICovXG5mdW5jdGlvbiBpc0FuY2hvckVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBlbGVtZW50IGlzIEhUTUxBbmNob3JFbGVtZW50IHtcbiAgcmV0dXJuIGVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PSAnYSc7XG59XG5cbi8qKiBHZXRzIHdoZXRoZXIgYW4gZWxlbWVudCBoYXMgYSB2YWxpZCB0YWJpbmRleC4gKi9cbmZ1bmN0aW9uIGhhc1ZhbGlkVGFiSW5kZXgoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgaWYgKCFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgndGFiaW5kZXgnKSB8fCBlbGVtZW50LnRhYkluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCB0YWJJbmRleCA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0YWJpbmRleCcpO1xuICByZXR1cm4gISEodGFiSW5kZXggJiYgIWlzTmFOKHBhcnNlSW50KHRhYkluZGV4LCAxMCkpKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBwYXJzZWQgdGFiaW5kZXggZnJvbSB0aGUgZWxlbWVudCBhdHRyaWJ1dGVzIGluc3RlYWQgb2YgcmV0dXJuaW5nIHRoZVxuICogZXZhbHVhdGVkIHRhYmluZGV4IGZyb20gdGhlIGJyb3dzZXJzIGRlZmF1bHRzLlxuICovXG5mdW5jdGlvbiBnZXRUYWJJbmRleFZhbHVlKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogbnVtYmVyIHwgbnVsbCB7XG4gIGlmICghaGFzVmFsaWRUYWJJbmRleChlbGVtZW50KSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gU2VlIGJyb3dzZXIgaXNzdWUgaW4gR2Vja28gaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyODA1NFxuICBjb25zdCB0YWJJbmRleCA9IHBhcnNlSW50KGVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0YWJpbmRleCcpIHx8ICcnLCAxMCk7XG5cbiAgcmV0dXJuIGlzTmFOKHRhYkluZGV4KSA/IC0xIDogdGFiSW5kZXg7XG59XG5cbi8qKiBDaGVja3Mgd2hldGhlciB0aGUgc3BlY2lmaWVkIGVsZW1lbnQgaXMgcG90ZW50aWFsbHkgdGFiYmFibGUgb24gaU9TICovXG5mdW5jdGlvbiBpc1BvdGVudGlhbGx5VGFiYmFibGVJT1MoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgY29uc3Qgbm9kZU5hbWUgPSBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG4gIGNvbnN0IGlucHV0VHlwZSA9IG5vZGVOYW1lID09PSAnaW5wdXQnICYmIChlbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnR5cGU7XG5cbiAgcmV0dXJuIChcbiAgICBpbnB1dFR5cGUgPT09ICd0ZXh0JyB8fFxuICAgIGlucHV0VHlwZSA9PT0gJ3Bhc3N3b3JkJyB8fFxuICAgIG5vZGVOYW1lID09PSAnc2VsZWN0JyB8fFxuICAgIG5vZGVOYW1lID09PSAndGV4dGFyZWEnXG4gICk7XG59XG5cbi8qKlxuICogR2V0cyB3aGV0aGVyIGFuIGVsZW1lbnQgaXMgcG90ZW50aWFsbHkgZm9jdXNhYmxlIHdpdGhvdXQgdGFraW5nIGN1cnJlbnQgdmlzaWJsZS9kaXNhYmxlZCBzdGF0ZVxuICogaW50byBhY2NvdW50LlxuICovXG5mdW5jdGlvbiBpc1BvdGVudGlhbGx5Rm9jdXNhYmxlKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gIC8vIElucHV0cyBhcmUgcG90ZW50aWFsbHkgZm9jdXNhYmxlICp1bmxlc3MqIHRoZXkncmUgdHlwZT1cImhpZGRlblwiLlxuICBpZiAoaXNIaWRkZW5JbnB1dChlbGVtZW50KSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgaXNOYXRpdmVGb3JtRWxlbWVudChlbGVtZW50KSB8fFxuICAgIGlzQW5jaG9yV2l0aEhyZWYoZWxlbWVudCkgfHxcbiAgICBlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnY29udGVudGVkaXRhYmxlJykgfHxcbiAgICBoYXNWYWxpZFRhYkluZGV4KGVsZW1lbnQpXG4gICk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtNQWtCYSxrQkFBaUI7QUFBQSxFQUE5QixjQUFBO0FBSVMsU0FBQSxtQkFBNEI7QUFBQSxFQUNyQztBQUFDO01BRVkscUJBQW9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPeEIsV0FBVyxTQUFvQjtBQUNwQyxXQUFPLFFBQVEsYUFBYSxVQUFVLEtBQUssUUFBUSxRQUFRLFdBQVc7QUFBQSxFQUN4RTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVVPLFVBQVUsU0FBb0I7QUFDbkMsV0FBTyxZQUFZLE9BQU8sS0FBSyxpQkFBaUIsT0FBTyxFQUFFLGVBQWU7QUFBQSxFQUMxRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTTyxXQUFXLFNBQW9CO0FBRXBDLFFBQUksVUFBVTtBQUNaLGFBQU87QUFBQSxJQUNUO0FBRUEsVUFBTSxXQUFXLFFBQVEsU0FBUyxZQUFBO0FBQ2xDLFVBQU0sZ0JBQWdCLGlCQUFpQixPQUFPO0FBRTlDLFFBQUksUUFBUSxhQUFhLGlCQUFpQixHQUFHO0FBQzNDLGFBQU8sa0JBQWtCO0FBQUEsSUFDM0I7QUFFQSxRQUFJLGFBQWEsWUFBWSxhQUFhLFVBQVU7QUFJbEQsYUFBTztBQUFBLElBQ1Q7QUFHQSxRQUFJLFlBQVksU0FBUyxDQUFDLHlCQUF5QixPQUFPLEdBQUc7QUFDM0QsYUFBTztBQUFBLElBQ1Q7QUFFQSxRQUFJLGFBQWEsU0FBUztBQUd4QixVQUFJLENBQUMsUUFBUSxhQUFhLFVBQVUs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
@@ -82,4 +82,4 @@ export {
82
82
  SbbLiveAnnouncer,
83
83
  sbbLiveAnnouncer
84
84
  };
85
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZS1hbm5vdW5jZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2ExMXkvbGl2ZS1hbm5vdW5jZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuZGV2L2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBpc1NlcnZlciB9IGZyb20gJ2xpdCc7XG5cbmV4cG9ydCB0eXBlIEFyaWFMaXZlUG9saXRlbmVzcyA9ICdvZmYnIHwgJ3BvbGl0ZScgfCAnYXNzZXJ0aXZlJztcblxubGV0IHVuaXF1ZUlkcyA9IDA7XG5cbi8qKlxuICogQWxsb3dzIHRvIGFubm91bmNlIG1lc3NhZ2VzIHRvIHNjcmVlbiByZWFkZXJzLlxuICpcbiAqIEFkYXB0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9jb21wb25lbnRzL2Jsb2IvbWFpbi9zcmMvY2RrL2ExMXkvbGl2ZS1hbm5vdW5jZXIvbGl2ZS1hbm5vdW5jZXIudHNcbiAqL1xuZXhwb3J0IGNsYXNzIFNiYkxpdmVBbm5vdW5jZXIge1xuICBwcml2YXRlIF9saXZlRWxlbWVudCE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9wcmV2aW91c1RpbWVvdXQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9jdXJyZW50UHJvbWlzZTogUHJvbWlzZTx2b2lkPiB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBfY3VycmVudFJlc29sdmU6ICgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKCFpc1NlcnZlcikge1xuICAgICAgdGhpcy5fbGl2ZUVsZW1lbnQgPSB0aGlzLl9jcmVhdGVMaXZlRWxlbWVudCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBbm5vdW5jZXMgYSBtZXNzYWdlIHRvIHNjcmVlbiByZWFkZXJzLlxuICAgKiBAcGFyYW0gbWVzc2FnZSBNZXNzYWdlIHRvIGJlIGFubm91bmNlZCB0byB0aGUgc2NyZWVuIHJlYWRlci5cbiAgICogQHJldHVybnMgUHJvbWlzZSB0aGF0IHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgbWVzc2FnZSBpcyBhZGRlZCB0byB0aGUgRE9NLlxuICAgKi9cbiAgcHVibGljIGFubm91bmNlKG1lc3NhZ2U6IHN0cmluZyk6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIEFubm91bmNlcyBhIG1lc3NhZ2UgdG8gc2NyZWVuIHJlYWRlcnMuXG4gICAqIEBwYXJhbSBtZXNzYWdlIE1lc3NhZ2UgdG8gYmUgYW5ub3VuY2VkIHRvIHRoZSBzY3JlZW4gcmVhZGVyLlxuICAgKiBAcGFyYW0gcG9saXRlbmVzcyBUaGUgcG9saXRlbmVzcyBvZiB0aGUgYW5ub3VuY2VyIGVsZW1lbnQuXG4gICAqIEByZXR1cm5zIFByb21pc2UgdGhhdCB3aWxsIGJlIHJlc29sdmVkIHdoZW4gdGhlIG1lc3NhZ2UgaXMgYWRkZWQgdG8gdGhlIERPTS5cbiAgICovXG4gIHB1YmxpYyBhbm5vdW5jZShtZXNzYWdlOiBzdHJpbmcsIHBvbGl0ZW5lc3M/OiBBcmlhTGl2ZVBvbGl0ZW5lc3MpOiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBBbm5vdW5jZXMgYSBtZXNzYWdlIHRvIHNjcmVlbiByZWFkZXJzLlxuICAgKiBAcGFyYW0gbWVzc2FnZSBNZXNzYWdlIHRvIGJlIGFubm91bmNlZCB0byB0aGUgc2NyZWVuIHJlYWRlci5cbiAgICogQHBhcmFtIGR1cmF0aW9uIFRpbWUgaW4gbWlsbGlzZWNvbmRzIGFmdGVyIHdoaWNoIHRvIGNsZWFyIG91dCB0aGUgYW5ub3VuY2VyIGVsZW1lbnQuIE5vdGVcbiAgICogICB0aGF0IHRoaXMgdGFrZXMgZWZmZWN0IGFmdGVyIHRoZSBtZXNzYWdlIGhhcyBiZWVuIGFkZGVkIHRvIHRoZSBET00sIHdoaWNoIGNhbiBiZSB1cCB0b1xuICAgKiAgIDEwMG1zIGFmdGVyIGBhbm5vdW5jZWAgaGFzIGJlZW4gY2FsbGVkLlxuICAgKiBAcmV0dXJucyBQcm9taXNlIHRoYXQgd2lsbCBiZSByZXNvbHZlZCB3aGVuIHRoZSBtZXNzYWdlIGlzIGFkZGVkIHRvIHRoZSBET00uXG4gICAqL1xuICBwdWJsaWMgYW5ub3VuY2UobWVzc2FnZTogc3RyaW5nLCBkdXJhdGlvbj86IG51bWJlcik6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIEFubm91bmNlcyBhIG1lc3NhZ2UgdG8gc2NyZWVuIHJlYWRlcnMuXG4gICAqIEBwYXJhbSBtZXNzYWdlIE1lc3NhZ2UgdG8gYmUgYW5ub3VuY2VkIHRvIHRoZSBzY3JlZW4gcmVhZGVyLlxuICAgKiBAcGFyYW0gcG9saXRlbmVzcyBUaGUgcG9saXRlbmVzcyBvZiB0aGUgYW5ub3VuY2VyIGVsZW1lbnQuXG4gICAqIEBwYXJhbSBkdXJhdGlvbiBUaW1lIGluIG1pbGxpc2Vjb25kcyBhZnRlciB3aGljaCB0byBjbGVhciBvdXQgdGhlIGFubm91bmNlciBlbGVtZW50LiBOb3RlXG4gICAqICAgdGhhdCB0aGlzIHRha2VzIGVmZmVjdCBhZnRlciB0aGUgbWVzc2FnZSBoYXMgYmVlbiBhZGRlZCB0byB0aGUgRE9NLCB3aGljaCBjYW4gYmUgdXAgdG9cbiAgICogICAxMDBtcyBhZnRlciBgYW5ub3VuY2VgIGhhcyBiZWVuIGNhbGxlZC5cbiAgICogQHJldHVybnMgUHJvbWlzZSB0aGF0IHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgbWVzc2FnZSBpcyBhZGRlZCB0byB0aGUgRE9NLlxuICAgKi9cbiAgcHVibGljIGFubm91bmNlKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBwb2xpdGVuZXNzPzogQXJpYUxpdmVQb2xpdGVuZXNzLFxuICAgIGR1cmF0aW9uPzogbnVtYmVyLFxuICApOiBQcm9taXNlPHZvaWQ+O1xuXG4gIHB1YmxpYyBhbm5vdW5jZShtZXNzYWdlOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogRGVjaWRlIHdoZXRoZXIgdG8gaGF2ZSBnbG9iYWwgb3B0aW9ucy5cbiAgICBjb25zdCBkZWZhdWx0T3B0aW9ucyA9IHt9IGFzIHsgcG9saXRlbmVzcz86IEFyaWFMaXZlUG9saXRlbmVzczsgZHVyYXRpb24/OiBudW1iZXIgfTtcbiAgICBsZXQgcG9saXRlbmVzczogQXJpYUxpdmVQb2xpdGVuZXNzIHwgdW5kZWZpbmVkO1xuICAgIGxldCBkdXJhdGlvbjogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gICAgaWYgKGFyZ3MubGVuZ3RoID09PSAxICYmIHR5cGVvZiBhcmdzWzBdID09PSAnbnVtYmVyJykge1xuICAgICAgZHVyYXRpb24gPSBhcmdzWzBdO1xuICAgIH0gZWxzZSB7XG4gICAgICBbcG9saXRlbmVzcywgZHVyYXRpb25dID0gYXJncztcbiAgICB9XG5cbiAgICB0aGlzLmNsZWFyKCk7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX3ByZXZpb3VzVGltZW91dCk7XG5cbiAgICBwb2xpdGVuZXNzID8/PSBkZWZhdWx0T3B0aW9ucz8ucG9saXRlbmVzcyA/PyAncG9saXRlJztcbiAgICBkdXJhdGlvbiA/Pz0gZGVmYXVsdE9wdGlvbnM/LmR1cmF0aW9uO1xuXG4gICAgdGhpcy5fbGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWxpdmUnLCBwb2xpdGVuZXNzKTtcblxuICAgIC8vIFRoaXMgMTAwbXMgdGltZW91dCBpcyBuZWNlc3NhcnkgZm9yIHNvbWUgYnJvd3NlciArIHNjcmVlbi1yZWFkZXIgY29tYmluYXRpb25zOlxuICAgIC8vIC0gQm90aCBKQVdTIGFuZCBOVkRBIG92ZXIgSUUxMSB3aWxsIG5vdCBhbm5vdW5jZSBhbnl0aGluZyB3aXRob3V0IGEgbm9uLXplcm8gdGltZW91dC5cbiAgICAvLyAtIFdpdGggQ2hyb21lIGFuZCBJRTExIHdpdGggTlZEQSBvciBKQVdTLCBhIHJlcGVhdGVkIChpZGVudGljYWwpIG1lc3NhZ2Ugd29uJ3QgYmUgcmVhZCBhXG4gICAgLy8gICBzZWNvbmQgdGltZSB3aXRob3V0IGNsZWFyaW5nIGFuZCB0aGVuIHVzaW5nIGEgbm9uLXplcm8gZGVsYXkuXG4gICAgLy8gKHVzaW5nIEpBV1MgMTcgYXQgdGltZSBvZiB0aGlzIHdyaXRpbmcpLlxuICAgIGlmICghdGhpcy5fY3VycmVudFByb21pc2UpIHtcbiAgICAgIHRoaXMuX2N1cnJlbnRQcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+ICh0aGlzLl9jdXJyZW50UmVzb2x2ZSA9IHJlc29sdmUpKTtcbiAgICB9XG5cbiAgICBjbGVhclRpbWVvdXQodGhpcy5fcHJldmlvdXNUaW1lb3V0KTtcbiAgICB0aGlzLl9wcmV2aW91c1RpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX2xpdmVFbGVtZW50LnRleHRDb250ZW50ID0gbWVzc2FnZTtcblxuICAgICAgaWYgKHR5cGVvZiBkdXJhdGlvbiA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgdGhpcy5fcHJldmlvdXNUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmNsZWFyKCksIGR1cmF0aW9uKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5fY3VycmVudFJlc29sdmU/LigpO1xuICAgICAgdGhpcy5fY3VycmVudFByb21pc2UgPSB0aGlzLl9jdXJyZW50UmVzb2x2ZSA9IHVuZGVmaW5lZDtcbiAgICB9LCAxMDApO1xuXG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRQcm9taXNlO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGUgY3VycmVudCB0ZXh0IGZyb20gdGhlIGFubm91bmNlciBlbGVtZW50LiBDYW4gYmUgdXNlZCB0byBwcmV2ZW50XG4gICAqIHNjcmVlbiByZWFkZXJzIGZyb20gcmVhZGluZyB0aGUgdGV4dCBvdXQgYWdhaW4gd2hpbGUgdGhlIHVzZXIgaXMgZ29pbmdcbiAgICogdGhyb3VnaCB0aGUgcGFnZSBsYW5kbWFya3MuXG4gICAqL1xuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2xpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLl9saXZlRWxlbWVudC50ZXh0Q29udGVudCA9ICcnO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9wcmV2aW91c1RpbWVvdXQpO1xuICAgIHRoaXMuX2xpdmVFbGVtZW50Py5yZW1vdmUoKTtcbiAgICB0aGlzLl9saXZlRWxlbWVudCA9IG51bGwhO1xuICAgIHRoaXMuX2N1cnJlbnRSZXNvbHZlPy4oKTtcbiAgICB0aGlzLl9jdXJyZW50UHJvbWlzZSA9IHRoaXMuX2N1cnJlbnRSZXNvbHZlID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlTGl2ZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIGNvbnN0IGVsZW1lbnRDbGFzcyA9ICdzYmItbGl2ZS1hbm5vdW5jZXItZWxlbWVudCc7XG4gICAgY29uc3QgcHJldmlvdXNFbGVtZW50cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoZWxlbWVudENsYXNzKTtcbiAgICBjb25zdCBsaXZlRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICAgIC8vIFJlbW92ZSBhbnkgb2xkIGNvbnRhaW5lcnMuIFRoaXMgY2FuIGhhcHBlbiB3aGVuIGNvbWluZyBpbiBmcm9tIGEgc2VydmVyLXNpZGUtcmVuZGVyZWQgcGFnZS5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHByZXZpb3VzRWxlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHByZXZpb3VzRWxlbWVudHNbaV0ucmVtb3ZlKCk7XG4gICAgfVxuXG4gICAgbGl2ZUVsLmNsYXNzTGlzdC5hZGQoZWxlbWVudENsYXNzKTtcbiAgICBsaXZlRWwuY2xhc3NMaXN0LmFkZCgnc2JiLXNjcmVlbi1yZWFkZXItb25seScpO1xuXG4gICAgbGl2ZUVsLnNldEF0dHJpYnV0ZSgnYXJpYS1hdG9taWMnLCAndHJ1ZScpO1xuICAgIGxpdmVFbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGl2ZScsICdwb2xpdGUnKTtcbiAgICBsaXZlRWwuaWQgPSBgc2JiLWxpdmUtYW5ub3VuY2VyLSR7dW5pcXVlSWRzKyt9YDtcblxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGl2ZUVsKTtcblxuICAgIHJldHVybiBsaXZlRWw7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHNiYkxpdmVBbm5vdW5jZXIgPSBuZXcgU2JiTGl2ZUFubm91bmNlcigpO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVlBLElBQUksWUFBWTtNQU9ILGlCQUFnQjtBQUFBLEVBTTNCLGNBQUE7QUFDRSxRQUFJLENBQUMsVUFBVTtBQUNiLFdBQUssZUFBZSxLQUFLLG1CQUFBO0FBQUE7RUFDM0I7QUFBQSxFQTJDSyxTQUFTLFlBQW9CLE1BQVc7QUFDN0MsUUFBSSxVQUFVO0FBQ1osYUFBTyxRQUFRLFFBQUE7QUFBQSxJQUFPO0FBSXhCLFVBQU0saUJBQWlCLENBQUE7QUFDdkIsUUFBSTtBQUNKLFFBQUk7QUFFSixRQUFJLEtBQUssV0FBVyxLQUFLLE9BQU8sS0FBSyxDQUFDLE1BQU0sVUFBVTtBQUNwRCxpQkFBVyxLQUFLLENBQUM7QUFBQSxJQUFBLE9BQ1o7QUFDTCxPQUFDLFlBQVksUUFBUSxJQUFJO0FBQUEsSUFBQTtBQUczQixTQUFLLE1BQUE7QUFDTCxpQkFBYSxLQUFLLGdCQUFnQjtBQUVsQyxtQkFBZSxnQkFBZ0IsY0FBYztBQUM3QyxpQkFBYSxnQkFBZ0I7QUFFN0IsU0FBSyxhQUFhLGFBQWEsYUFBYSxVQUFVO0FBT3RELFFBQUksQ0FBQyxLQUFLLGlCQUFpQjtBQUN6QixXQUFLLGtCQUFrQixJQUFJLFFBQVEsQ0FBQyxZQUFhLEtBQUssa0JBQWtCLE9BQVE7QUFBQSxJQUFBO0FBR2xGLGlCQUFhLEtBQUssZ0JBQWdCO0FBQ2xDLFNBQUssbUJBQW1CLFdBQVcsTUFBSztBQUN0QyxXQUFLLGFBQWEsY0FBYztBQUVoQyxVQUFJLE9BQU8sYUFBYSxVQUFVO0FBQ2hDLGFBQUssbUJBQW1CLFdBQVcsTUFBTSxLQUFLLE1BQUEsR0FBUyxRQUFRO0FBQUEsTUFBQTtBQUdqRSxXQUFLLGtCQUFBO0FBQ0wsV0FBSyxrQkFBa0IsS0FBSyxrQkFBa0I7QUFBQSxJQUFBLEdBQzdDLEdBQUc7QUFFTixXQUFPLEtBQUs7QUFBQSxFQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUVAsUUFBSztBQUNWLFFBQUksS0FBSyxjQUFjO0FBQ3JCLFdBQUssYUFBYSxjQUFjO0FBQUEsSUFBQTtBQUFBLEVBQ2xDO0FBQUEsRUFHSyxVQUFPO0FBQ1osaUJBQWEsS0FBSyxnQkFBZ0I7QUFDbEMsU0FBSyxjQUFjLE9BQUE7QUFDbkIsU0FBSyxlQUFlO0FBQ3BCLFNBQUssa0JBQUE7QUFDTCxTQUFLLGtCQUFrQixLQUFLLGtCQUFrQjtBQUFBLEVBQUE7QUFBQSxFQUd4QyxxQkFBa0I7QUFDeEIsVUFBTSxlQUFlO0FBQ3JCLFVBQU0sbUJBQW1CLFNBQVMsdUJBQXVCLFlBQVk7QUFDckUsVUFBTSxTQUFTLFNBQVMsY0FBYyxLQUFLO0FBRzNDLGFBQVMsSUFBSSxHQUFHLElBQUksaUJBQWlCLFFBQVEsS0FBSztBQUNoRCx1QkFBaUIsQ0FBQyxFQUFFLE9BQUE7QUFBQTtBQUd0QixXQUFPLFVBQVUsSUFBSSxZQUFZO0FBQ2pDLFdBQU8sVUFBVSxJQUFJLHdCQUF3QjtBQUU3QyxXQUFPLGFBQWEsZUFBZSxNQUFNO0FBQ3pDLFdBQU8sYUFBYSxhQUFhLFFBQVE7QUFDekMsV0FBTyxLQUFLLHNCQUFzQixXQUFXO0FBRTdDLGFBQVMsS0FBSyxZQUFZLE1BQU07QUFFaEMsV0FBTztBQUFBLEVBQUE7QUFFVjtBQUVNLE1BQU0sbUJBQW1CLElBQUksaUJBQUE7In0=
85
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZS1hbm5vdW5jZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2ExMXkvbGl2ZS1hbm5vdW5jZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuZGV2L2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBpc1NlcnZlciB9IGZyb20gJ2xpdCc7XG5cbmV4cG9ydCB0eXBlIEFyaWFMaXZlUG9saXRlbmVzcyA9ICdvZmYnIHwgJ3BvbGl0ZScgfCAnYXNzZXJ0aXZlJztcblxubGV0IHVuaXF1ZUlkcyA9IDA7XG5cbi8qKlxuICogQWxsb3dzIHRvIGFubm91bmNlIG1lc3NhZ2VzIHRvIHNjcmVlbiByZWFkZXJzLlxuICpcbiAqIEFkYXB0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9jb21wb25lbnRzL2Jsb2IvbWFpbi9zcmMvY2RrL2ExMXkvbGl2ZS1hbm5vdW5jZXIvbGl2ZS1hbm5vdW5jZXIudHNcbiAqL1xuZXhwb3J0IGNsYXNzIFNiYkxpdmVBbm5vdW5jZXIge1xuICBwcml2YXRlIF9saXZlRWxlbWVudCE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9wcmV2aW91c1RpbWVvdXQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9jdXJyZW50UHJvbWlzZTogUHJvbWlzZTx2b2lkPiB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBfY3VycmVudFJlc29sdmU6ICgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKCFpc1NlcnZlcikge1xuICAgICAgdGhpcy5fbGl2ZUVsZW1lbnQgPSB0aGlzLl9jcmVhdGVMaXZlRWxlbWVudCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBbm5vdW5jZXMgYSBtZXNzYWdlIHRvIHNjcmVlbiByZWFkZXJzLlxuICAgKiBAcGFyYW0gbWVzc2FnZSBNZXNzYWdlIHRvIGJlIGFubm91bmNlZCB0byB0aGUgc2NyZWVuIHJlYWRlci5cbiAgICogQHJldHVybnMgUHJvbWlzZSB0aGF0IHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgbWVzc2FnZSBpcyBhZGRlZCB0byB0aGUgRE9NLlxuICAgKi9cbiAgcHVibGljIGFubm91bmNlKG1lc3NhZ2U6IHN0cmluZyk6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIEFubm91bmNlcyBhIG1lc3NhZ2UgdG8gc2NyZWVuIHJlYWRlcnMuXG4gICAqIEBwYXJhbSBtZXNzYWdlIE1lc3NhZ2UgdG8gYmUgYW5ub3VuY2VkIHRvIHRoZSBzY3JlZW4gcmVhZGVyLlxuICAgKiBAcGFyYW0gcG9saXRlbmVzcyBUaGUgcG9saXRlbmVzcyBvZiB0aGUgYW5ub3VuY2VyIGVsZW1lbnQuXG4gICAqIEByZXR1cm5zIFByb21pc2UgdGhhdCB3aWxsIGJlIHJlc29sdmVkIHdoZW4gdGhlIG1lc3NhZ2UgaXMgYWRkZWQgdG8gdGhlIERPTS5cbiAgICovXG4gIHB1YmxpYyBhbm5vdW5jZShtZXNzYWdlOiBzdHJpbmcsIHBvbGl0ZW5lc3M/OiBBcmlhTGl2ZVBvbGl0ZW5lc3MpOiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBBbm5vdW5jZXMgYSBtZXNzYWdlIHRvIHNjcmVlbiByZWFkZXJzLlxuICAgKiBAcGFyYW0gbWVzc2FnZSBNZXNzYWdlIHRvIGJlIGFubm91bmNlZCB0byB0aGUgc2NyZWVuIHJlYWRlci5cbiAgICogQHBhcmFtIGR1cmF0aW9uIFRpbWUgaW4gbWlsbGlzZWNvbmRzIGFmdGVyIHdoaWNoIHRvIGNsZWFyIG91dCB0aGUgYW5ub3VuY2VyIGVsZW1lbnQuIE5vdGVcbiAgICogICB0aGF0IHRoaXMgdGFrZXMgZWZmZWN0IGFmdGVyIHRoZSBtZXNzYWdlIGhhcyBiZWVuIGFkZGVkIHRvIHRoZSBET00sIHdoaWNoIGNhbiBiZSB1cCB0b1xuICAgKiAgIDEwMG1zIGFmdGVyIGBhbm5vdW5jZWAgaGFzIGJlZW4gY2FsbGVkLlxuICAgKiBAcmV0dXJucyBQcm9taXNlIHRoYXQgd2lsbCBiZSByZXNvbHZlZCB3aGVuIHRoZSBtZXNzYWdlIGlzIGFkZGVkIHRvIHRoZSBET00uXG4gICAqL1xuICBwdWJsaWMgYW5ub3VuY2UobWVzc2FnZTogc3RyaW5nLCBkdXJhdGlvbj86IG51bWJlcik6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIEFubm91bmNlcyBhIG1lc3NhZ2UgdG8gc2NyZWVuIHJlYWRlcnMuXG4gICAqIEBwYXJhbSBtZXNzYWdlIE1lc3NhZ2UgdG8gYmUgYW5ub3VuY2VkIHRvIHRoZSBzY3JlZW4gcmVhZGVyLlxuICAgKiBAcGFyYW0gcG9saXRlbmVzcyBUaGUgcG9saXRlbmVzcyBvZiB0aGUgYW5ub3VuY2VyIGVsZW1lbnQuXG4gICAqIEBwYXJhbSBkdXJhdGlvbiBUaW1lIGluIG1pbGxpc2Vjb25kcyBhZnRlciB3aGljaCB0byBjbGVhciBvdXQgdGhlIGFubm91bmNlciBlbGVtZW50LiBOb3RlXG4gICAqICAgdGhhdCB0aGlzIHRha2VzIGVmZmVjdCBhZnRlciB0aGUgbWVzc2FnZSBoYXMgYmVlbiBhZGRlZCB0byB0aGUgRE9NLCB3aGljaCBjYW4gYmUgdXAgdG9cbiAgICogICAxMDBtcyBhZnRlciBgYW5ub3VuY2VgIGhhcyBiZWVuIGNhbGxlZC5cbiAgICogQHJldHVybnMgUHJvbWlzZSB0aGF0IHdpbGwgYmUgcmVzb2x2ZWQgd2hlbiB0aGUgbWVzc2FnZSBpcyBhZGRlZCB0byB0aGUgRE9NLlxuICAgKi9cbiAgcHVibGljIGFubm91bmNlKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBwb2xpdGVuZXNzPzogQXJpYUxpdmVQb2xpdGVuZXNzLFxuICAgIGR1cmF0aW9uPzogbnVtYmVyLFxuICApOiBQcm9taXNlPHZvaWQ+O1xuXG4gIHB1YmxpYyBhbm5vdW5jZShtZXNzYWdlOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogRGVjaWRlIHdoZXRoZXIgdG8gaGF2ZSBnbG9iYWwgb3B0aW9ucy5cbiAgICBjb25zdCBkZWZhdWx0T3B0aW9ucyA9IHt9IGFzIHsgcG9saXRlbmVzcz86IEFyaWFMaXZlUG9saXRlbmVzczsgZHVyYXRpb24/OiBudW1iZXIgfTtcbiAgICBsZXQgcG9saXRlbmVzczogQXJpYUxpdmVQb2xpdGVuZXNzIHwgdW5kZWZpbmVkO1xuICAgIGxldCBkdXJhdGlvbjogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gICAgaWYgKGFyZ3MubGVuZ3RoID09PSAxICYmIHR5cGVvZiBhcmdzWzBdID09PSAnbnVtYmVyJykge1xuICAgICAgZHVyYXRpb24gPSBhcmdzWzBdO1xuICAgIH0gZWxzZSB7XG4gICAgICBbcG9saXRlbmVzcywgZHVyYXRpb25dID0gYXJncztcbiAgICB9XG5cbiAgICB0aGlzLmNsZWFyKCk7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX3ByZXZpb3VzVGltZW91dCk7XG5cbiAgICBwb2xpdGVuZXNzID8/PSBkZWZhdWx0T3B0aW9ucz8ucG9saXRlbmVzcyA/PyAncG9saXRlJztcbiAgICBkdXJhdGlvbiA/Pz0gZGVmYXVsdE9wdGlvbnM/LmR1cmF0aW9uO1xuXG4gICAgdGhpcy5fbGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWxpdmUnLCBwb2xpdGVuZXNzKTtcblxuICAgIC8vIFRoaXMgMTAwbXMgdGltZW91dCBpcyBuZWNlc3NhcnkgZm9yIHNvbWUgYnJvd3NlciArIHNjcmVlbi1yZWFkZXIgY29tYmluYXRpb25zOlxuICAgIC8vIC0gQm90aCBKQVdTIGFuZCBOVkRBIG92ZXIgSUUxMSB3aWxsIG5vdCBhbm5vdW5jZSBhbnl0aGluZyB3aXRob3V0IGEgbm9uLXplcm8gdGltZW91dC5cbiAgICAvLyAtIFdpdGggQ2hyb21lIGFuZCBJRTExIHdpdGggTlZEQSBvciBKQVdTLCBhIHJlcGVhdGVkIChpZGVudGljYWwpIG1lc3NhZ2Ugd29uJ3QgYmUgcmVhZCBhXG4gICAgLy8gICBzZWNvbmQgdGltZSB3aXRob3V0IGNsZWFyaW5nIGFuZCB0aGVuIHVzaW5nIGEgbm9uLXplcm8gZGVsYXkuXG4gICAgLy8gKHVzaW5nIEpBV1MgMTcgYXQgdGltZSBvZiB0aGlzIHdyaXRpbmcpLlxuICAgIGlmICghdGhpcy5fY3VycmVudFByb21pc2UpIHtcbiAgICAgIHRoaXMuX2N1cnJlbnRQcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+ICh0aGlzLl9jdXJyZW50UmVzb2x2ZSA9IHJlc29sdmUpKTtcbiAgICB9XG5cbiAgICBjbGVhclRpbWVvdXQodGhpcy5fcHJldmlvdXNUaW1lb3V0KTtcbiAgICB0aGlzLl9wcmV2aW91c1RpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX2xpdmVFbGVtZW50LnRleHRDb250ZW50ID0gbWVzc2FnZTtcblxuICAgICAgaWYgKHR5cGVvZiBkdXJhdGlvbiA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgdGhpcy5fcHJldmlvdXNUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmNsZWFyKCksIGR1cmF0aW9uKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5fY3VycmVudFJlc29sdmU/LigpO1xuICAgICAgdGhpcy5fY3VycmVudFByb21pc2UgPSB0aGlzLl9jdXJyZW50UmVzb2x2ZSA9IHVuZGVmaW5lZDtcbiAgICB9LCAxMDApO1xuXG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRQcm9taXNlO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGUgY3VycmVudCB0ZXh0IGZyb20gdGhlIGFubm91bmNlciBlbGVtZW50LiBDYW4gYmUgdXNlZCB0byBwcmV2ZW50XG4gICAqIHNjcmVlbiByZWFkZXJzIGZyb20gcmVhZGluZyB0aGUgdGV4dCBvdXQgYWdhaW4gd2hpbGUgdGhlIHVzZXIgaXMgZ29pbmdcbiAgICogdGhyb3VnaCB0aGUgcGFnZSBsYW5kbWFya3MuXG4gICAqL1xuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2xpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLl9saXZlRWxlbWVudC50ZXh0Q29udGVudCA9ICcnO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9wcmV2aW91c1RpbWVvdXQpO1xuICAgIHRoaXMuX2xpdmVFbGVtZW50Py5yZW1vdmUoKTtcbiAgICB0aGlzLl9saXZlRWxlbWVudCA9IG51bGwhO1xuICAgIHRoaXMuX2N1cnJlbnRSZXNvbHZlPy4oKTtcbiAgICB0aGlzLl9jdXJyZW50UHJvbWlzZSA9IHRoaXMuX2N1cnJlbnRSZXNvbHZlID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlTGl2ZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIGNvbnN0IGVsZW1lbnRDbGFzcyA9ICdzYmItbGl2ZS1hbm5vdW5jZXItZWxlbWVudCc7XG4gICAgY29uc3QgcHJldmlvdXNFbGVtZW50cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoZWxlbWVudENsYXNzKTtcbiAgICBjb25zdCBsaXZlRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICAgIC8vIFJlbW92ZSBhbnkgb2xkIGNvbnRhaW5lcnMuIFRoaXMgY2FuIGhhcHBlbiB3aGVuIGNvbWluZyBpbiBmcm9tIGEgc2VydmVyLXNpZGUtcmVuZGVyZWQgcGFnZS5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHByZXZpb3VzRWxlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHByZXZpb3VzRWxlbWVudHNbaV0ucmVtb3ZlKCk7XG4gICAgfVxuXG4gICAgbGl2ZUVsLmNsYXNzTGlzdC5hZGQoZWxlbWVudENsYXNzKTtcbiAgICBsaXZlRWwuY2xhc3NMaXN0LmFkZCgnc2JiLXNjcmVlbi1yZWFkZXItb25seScpO1xuXG4gICAgbGl2ZUVsLnNldEF0dHJpYnV0ZSgnYXJpYS1hdG9taWMnLCAndHJ1ZScpO1xuICAgIGxpdmVFbC5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGl2ZScsICdwb2xpdGUnKTtcbiAgICBsaXZlRWwuaWQgPSBgc2JiLWxpdmUtYW5ub3VuY2VyLSR7dW5pcXVlSWRzKyt9YDtcblxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGl2ZUVsKTtcblxuICAgIHJldHVybiBsaXZlRWw7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHNiYkxpdmVBbm5vdW5jZXIgPSBuZXcgU2JiTGl2ZUFubm91bmNlcigpO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVlBLElBQUksWUFBWTtNQU9ILGlCQUFnQjtBQUFBLEVBTTNCLGNBQUE7QUFDRSxRQUFJLENBQUMsVUFBVTtBQUNiLFdBQUssZUFBZSxLQUFLLG1CQUFBO0FBQUEsSUFDM0I7QUFBQSxFQUNGO0FBQUEsRUEwQ08sU0FBUyxZQUFvQixNQUFXO0FBQzdDLFFBQUksVUFBVTtBQUNaLGFBQU8sUUFBUSxRQUFBO0FBQUEsSUFDakI7QUFHQSxVQUFNLGlCQUFpQixDQUFBO0FBQ3ZCLFFBQUk7QUFDSixRQUFJO0FBRUosUUFBSSxLQUFLLFdBQVcsS0FBSyxPQUFPLEtBQUssQ0FBQyxNQUFNLFVBQVU7QUFDcEQsaUJBQVcsS0FBSyxDQUFDO0FBQUEsSUFDbkIsT0FBTztBQUNMLE9BQUMsWUFBWSxRQUFRLElBQUk7QUFBQSxJQUMzQjtBQUVBLFNBQUssTUFBQTtBQUNMLGlCQUFhLEtBQUssZ0JBQWdCO0FBRWxDLG1CQUFlLGdCQUFnQixjQUFjO0FBQzdDLGlCQUFhLGdCQUFnQjtBQUU3QixTQUFLLGFBQWEsYUFBYSxhQUFhLFVBQVU7QUFPdEQsUUFBSSxDQUFDLEtBQUssaUJBQWlCO0FBQ3pCLFdBQUssa0JBQWtCLElBQUksUUFBUSxDQUFDLFlBQWEsS0FBSyxrQkFBa0IsT0FBUTtBQUFBLElBQ2xGO0FBRUEsaUJBQWEsS0FBSyxnQkFBZ0I7QUFDbEMsU0FBSyxtQkFBbUIsV0FBVyxNQUFLO0FBQ3RDLFdBQUssYUFBYSxjQUFjO0FBRWhDLFVBQUksT0FBTyxhQUFhLFVBQVU7QUFDaEMsYUFBSyxtQkFBbUIsV0FBVyxNQUFNLEtBQUssTUFBQSxHQUFTLFFBQVE7QUFBQSxNQUNqRTtBQUVBLFdBQUssa0JBQUE7QUFDTCxXQUFLLGtCQUFrQixLQUFLLGtCQUFrQjtBQUFBLElBQ2hELEdBQUcsR0FBRztBQUVOLFdBQU8sS0FBSztBQUFBLEVBQ2Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTyxRQUFLO0FBQ1YsUUFBSSxLQUFLLGNBQWM7QUFDckIsV0FBSyxhQUFhLGNBQWM7QUFBQSxJQUNsQztBQUFBLEVBQ0Y7QUFBQSxFQUVPLFVBQU87QUFDWixpQkFBYSxLQUFLLGdCQUFnQjtBQUNsQyxTQUFLLGNBQWMsT0FBQTtBQUNuQixTQUFLLGVBQWU7QUFDcEIsU0FBSyxrQkFBQTtBQUNMLFNBQUssa0JBQWtCLEtBQUssa0JBQWtCO0FBQUEsRUFDaEQ7QUFBQSxFQUVRLHFCQUFrQjtBQUN4QixVQUFNLGVBQWU7QUFDckIsVUFBTSxtQkFBbUIsU0FBUyx1QkFBdUIsWUFBWTtBQUNyRSxVQUFNLFNBQVMsU0FBUyxjQUFjLEtBQUs7QUFHM0MsYUFBUyxJQUFJLEdBQUcsSUFBSSxpQkFBaUIsUUFBUSxLQUFLO0FBQ2hELHVCQUFpQixDQUFDLEVBQUUsT0FBQTtBQUFBLElBQ3RCO0FBRUEsV0FBTyxVQUFVLElBQUksWUFBWTtBQUNqQyxXQUFPLFVBQVUsSUFBSSx3QkFBd0I7QUFFN0MsV0FBTyxhQUFhLGVBQWUsTUFBTTtBQUN6QyxXQUFPLGFBQWEsYUFBYSxRQUFRO0FBQ3pDLFdBQU8sS0FBSyxzQkFBc0IsV0FBVztBQUU3QyxhQUFTLEtBQUssWUFBWSxNQUFNO0FBRWhDLFdBQU87QUFBQSxFQUNUO0FBQ0Q7QUFFTSxNQUFNLG1CQUFtQixJQUFJLGlCQUFBOyJ9
@@ -59,4 +59,4 @@ let SbbActionBaseElement = (() => {
59
59
  export {
60
60
  SbbActionBaseElement
61
61
  };
62
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJhc2UtZWxlbWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvYmFzZS1lbGVtZW50cy9hY3Rpb24tYmFzZS1lbGVtZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgU2JiRWxlbWVudEludGVybmFsc01peGluIH0gZnJvbSAnLi4vbWl4aW5zLmpzJztcblxuLyoqXG4gKiBXaGVuZXZlciBhbiBlbGVtZW50IGNhbiBiZSBkaXNhYmxlZCBpdCBoYXMgZGlzYWJsZWQgcHJvcGVydHlcbiAqIG9yIGZvcm1EaXNhYmxlZCBpZiBpdCdzIGEgZm9ybSBlbGVtZW50LlxuICogQmVjYXVzZSB3ZSBjYW4ndCB1c2UgdHlwZXMgaGVyZSBkaXJlY3RseSB3ZSBjcmVhdGVkIHRoaXMgaGVscGVyIHR5cGUuXG4gKi9cbnR5cGUgTWF5YmVEaXNhYmxlZCA9IHtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBmb3JtRGlzYWJsZWQ/OiBib29sZWFuO1xuICBkaXNhYmxlZEludGVyYWN0aXZlPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydFxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgJ2RhdGEtYWN0aW9uJzogJycsXG59KVxuYWJzdHJhY3QgY2xhc3MgU2JiQWN0aW9uQmFzZUVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCkge1xuICBwcm90ZWN0ZWQgZ2V0IG1heWJlRGlzYWJsZWQoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgbWF5YmVEaXNhYmxlZCA9IHRoaXMgYXMgTWF5YmVEaXNhYmxlZDtcbiAgICByZXR1cm4gbWF5YmVEaXNhYmxlZC5kaXNhYmxlZCB8fCBtYXliZURpc2FibGVkLmZvcm1EaXNhYmxlZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgbWF5YmVEaXNhYmxlZEludGVyYWN0aXZlKCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAodGhpcyBhcyBNYXliZURpc2FibGVkKS5kaXNhYmxlZEludGVyYWN0aXZlO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICBpZiAoXG4gICAgICBpbXBvcnQubWV0YS5lbnYuREVWICYmXG4gICAgICAodGhpcy5oYXNBdHRyaWJ1dGUoJ2RhdGEtbGluaycpIHx8IHRoaXMuaGFzQXR0cmlidXRlKCdkYXRhLWJ1dHRvbicpKSAmJlxuICAgICAgdGhpcy5wYXJlbnRFbGVtZW50Py5jbG9zZXN0KCdbZGF0YS1saW5rXSwgW2RhdGEtYnV0dG9uXSwgYSwgYnV0dG9uJylcbiAgICApIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYE5lc3RlZCBhY3Rpb24gZWxlbWVudCBkZXRlY3RlZCAoJHt0aGlzLmxvY2FsTmFtZX0gaW5zaWRlICR7dGhpcy5wYXJlbnRFbGVtZW50IS5jbG9zZXN0KCdbZGF0YS1saW5rXSwgW2RhdGEtYnV0dG9uXSwgYSwgYnV0dG9uJykhLmxvY2FsTmFtZX0pLiBNYXliZSB1c2UgYSBzdGF0aWMgdmFyaWFudCBmb3IgdGhlIGlubmVyIGFjdGlvbiBlbGVtZW50P2AsXG4gICAgICAgIHRoaXMsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cEJhc2VFdmVudEhhbmRsZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdjbGljaycsXG4gICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKHRoaXMubWF5YmVEaXNhYmxlZCAmJiAhdGhpcy5tYXliZURpc2FibGVkSW50ZXJhY3RpdmUpIHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgLy8gY2FwdHVyZSBpcyBuZWNlc3NhcnkgaGVyZSwgYXMgdGhpcyBldmVudCBoYW5kbGVyIG5lZWRzIHRvIGJlIGV4ZWN1dGVkIGJlZm9yZSBhbnkgb3RoZXJcbiAgICAgIC8vIGluIG9yZGVyIHRvIHN0b3AgaW1tZWRpYXRlIHByb3BhZ2F0aW9uIGluIHRoZSBkaXNhYmxlZCBjYXNlLlxuICAgICAgeyBjYXB0dXJlOiB0cnVlIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBPdmVycmlkZSB0aGlzIG1ldGhvZCB0byByZW5kZXIgdGhlIGNvbXBvbmVudCB0ZW1wbGF0ZS4gKi9cbiAgcHJvdGVjdGVkIHJlbmRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ltcGxlbWVudGF0aW9uIG5lZWRlZCEnKTtcbiAgfVxuXG4gIC8qKiBEZWZhdWx0IHJlbmRlciBtZXRob2QgZm9yIGJ1dHRvbi1saWtlIGNvbXBvbmVudHMuICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYDxzcGFuIGNsYXNzPVwic2JiLWFjdGlvbi1iYXNlICR7dGhpcy5sb2NhbE5hbWV9XCI+JHt0aGlzLnJlbmRlclRlbXBsYXRlKCl9PC9zcGFuPmA7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0lBb0JlLHdCQUFvQixNQUFBOztBQUhsQyxNQUFBLG1CQUFBLENBQUEsZUFBZTtBQUFBLElBQ2QsZUFBZTtBQUFBLEVBQUEsQ0FDaEIsQ0FBQzs7OztvQkFDMEMseUJBQXlCLFVBQVU7QUFBM0MsRUFBQSxtQkFBUSxZQUFvQztBQUFBLElBQzlFLElBQWMsZ0JBQWE7QUFDekIsWUFBTSxnQkFBZ0I7QUFDdEIsYUFBTyxjQUFjLFlBQVksY0FBYztBQUFBLElBQUE7QUFBQSxJQUdqRCxJQUFjLDJCQUF3QjtBQUNwQyxhQUFRLEtBQXVCO0FBQUEsSUFBQTtBQUFBLElBR2pCLG9CQUFpQjtBQUMvQixZQUFNLGtCQUFBO0FBRU4sV0FFRyxLQUFLLGFBQWEsV0FBVyxLQUFLLEtBQUssYUFBYSxhQUFhLE1BQ2xFLEtBQUssZUFBZSxRQUFRLHVDQUF1QyxHQUNuRTtBQUNBLGdCQUFRLEtBQ04sbUNBQW1DLEtBQUssU0FBUyxXQUFXLEtBQUssY0FBZSxRQUFRLHVDQUF1QyxFQUFHLFNBQVMsK0RBQzNJLElBQUk7QUFBQSxNQUFBO0FBQUEsSUFFUjtBQUFBLElBR1EseUJBQXNCO0FBQzlCLFdBQUs7QUFBQSxRQUNIO0FBQUEsUUFDQSxDQUFDLFVBQVM7QUFDUixjQUFJLEtBQUssaUJBQWlCLENBQUMsS0FBSywwQkFBMEI7QUFDeEQsa0JBQU0sZUFBQTtBQUNOLGtCQUFNLHlCQUFBO0FBQUEsVUFBd0I7QUFBQSxRQUNoQztBQUFBO0FBQUE7QUFBQSxRQUlGLEVBQUUsU0FBUyxLQUFBO0FBQUEsTUFBSTtBQUFBLElBQUU7QUFBQTtBQUFBLElBS1gsaUJBQWM7QUFDdEIsWUFBTSxJQUFJLE1BQU0sd0JBQXdCO0FBQUEsSUFBQTtBQUFBO0FBQUEsSUFJdkIsU0FBTTtBQUN2QixhQUFPLG9DQUFvQyxLQUFLLFNBQVMsS0FBSyxLQUFLLGdCQUFnQjtBQUFBLElBQUE7QUFBQSxFQUNyRjs7QUFoREYsaUJBQUEsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztBQUFlLHNCQUFBLFlBQUEsdUJBQUE7QUFBQSxFQUFBLE1BQXFCOzs7In0=
62
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJhc2UtZWxlbWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvYmFzZS1lbGVtZW50cy9hY3Rpb24tYmFzZS1lbGVtZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgU2JiRWxlbWVudEludGVybmFsc01peGluIH0gZnJvbSAnLi4vbWl4aW5zLmpzJztcblxuLyoqXG4gKiBXaGVuZXZlciBhbiBlbGVtZW50IGNhbiBiZSBkaXNhYmxlZCBpdCBoYXMgZGlzYWJsZWQgcHJvcGVydHlcbiAqIG9yIGZvcm1EaXNhYmxlZCBpZiBpdCdzIGEgZm9ybSBlbGVtZW50LlxuICogQmVjYXVzZSB3ZSBjYW4ndCB1c2UgdHlwZXMgaGVyZSBkaXJlY3RseSB3ZSBjcmVhdGVkIHRoaXMgaGVscGVyIHR5cGUuXG4gKi9cbnR5cGUgTWF5YmVEaXNhYmxlZCA9IHtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBmb3JtRGlzYWJsZWQ/OiBib29sZWFuO1xuICBkaXNhYmxlZEludGVyYWN0aXZlPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydFxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgJ2RhdGEtYWN0aW9uJzogJycsXG59KVxuYWJzdHJhY3QgY2xhc3MgU2JiQWN0aW9uQmFzZUVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCkge1xuICBwcm90ZWN0ZWQgZ2V0IG1heWJlRGlzYWJsZWQoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgbWF5YmVEaXNhYmxlZCA9IHRoaXMgYXMgTWF5YmVEaXNhYmxlZDtcbiAgICByZXR1cm4gbWF5YmVEaXNhYmxlZC5kaXNhYmxlZCB8fCBtYXliZURpc2FibGVkLmZvcm1EaXNhYmxlZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgbWF5YmVEaXNhYmxlZEludGVyYWN0aXZlKCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAodGhpcyBhcyBNYXliZURpc2FibGVkKS5kaXNhYmxlZEludGVyYWN0aXZlO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICBpZiAoXG4gICAgICBpbXBvcnQubWV0YS5lbnYuREVWICYmXG4gICAgICAodGhpcy5oYXNBdHRyaWJ1dGUoJ2RhdGEtbGluaycpIHx8IHRoaXMuaGFzQXR0cmlidXRlKCdkYXRhLWJ1dHRvbicpKSAmJlxuICAgICAgdGhpcy5wYXJlbnRFbGVtZW50Py5jbG9zZXN0KCdbZGF0YS1saW5rXSwgW2RhdGEtYnV0dG9uXSwgYSwgYnV0dG9uJylcbiAgICApIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYE5lc3RlZCBhY3Rpb24gZWxlbWVudCBkZXRlY3RlZCAoJHt0aGlzLmxvY2FsTmFtZX0gaW5zaWRlICR7dGhpcy5wYXJlbnRFbGVtZW50IS5jbG9zZXN0KCdbZGF0YS1saW5rXSwgW2RhdGEtYnV0dG9uXSwgYSwgYnV0dG9uJykhLmxvY2FsTmFtZX0pLiBNYXliZSB1c2UgYSBzdGF0aWMgdmFyaWFudCBmb3IgdGhlIGlubmVyIGFjdGlvbiBlbGVtZW50P2AsXG4gICAgICAgIHRoaXMsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cEJhc2VFdmVudEhhbmRsZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdjbGljaycsXG4gICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKHRoaXMubWF5YmVEaXNhYmxlZCAmJiAhdGhpcy5tYXliZURpc2FibGVkSW50ZXJhY3RpdmUpIHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgLy8gY2FwdHVyZSBpcyBuZWNlc3NhcnkgaGVyZSwgYXMgdGhpcyBldmVudCBoYW5kbGVyIG5lZWRzIHRvIGJlIGV4ZWN1dGVkIGJlZm9yZSBhbnkgb3RoZXJcbiAgICAgIC8vIGluIG9yZGVyIHRvIHN0b3AgaW1tZWRpYXRlIHByb3BhZ2F0aW9uIGluIHRoZSBkaXNhYmxlZCBjYXNlLlxuICAgICAgeyBjYXB0dXJlOiB0cnVlIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBPdmVycmlkZSB0aGlzIG1ldGhvZCB0byByZW5kZXIgdGhlIGNvbXBvbmVudCB0ZW1wbGF0ZS4gKi9cbiAgcHJvdGVjdGVkIHJlbmRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ltcGxlbWVudGF0aW9uIG5lZWRlZCEnKTtcbiAgfVxuXG4gIC8qKiBEZWZhdWx0IHJlbmRlciBtZXRob2QgZm9yIGJ1dHRvbi1saWtlIGNvbXBvbmVudHMuICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYDxzcGFuIGNsYXNzPVwic2JiLWFjdGlvbi1iYXNlICR7dGhpcy5sb2NhbE5hbWV9XCI+JHt0aGlzLnJlbmRlclRlbXBsYXRlKCl9PC9zcGFuPmA7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0lBb0JlLHdCQUFvQixNQUFBOztBQUhsQyxNQUFBLG1CQUFBLENBQUEsZUFBZTtBQUFBLElBQ2QsZUFBZTtBQUFBLEVBQUEsQ0FDaEIsQ0FBQzs7OztvQkFDMEMseUJBQXlCLFVBQVU7QUFBM0MsRUFBQSxtQkFBUSxZQUFvQztBQUFBLElBQzlFLElBQWMsZ0JBQWE7QUFDekIsWUFBTSxnQkFBZ0I7QUFDdEIsYUFBTyxjQUFjLFlBQVksY0FBYztBQUFBLElBQ2pEO0FBQUEsSUFFQSxJQUFjLDJCQUF3QjtBQUNwQyxhQUFRLEtBQXVCO0FBQUEsSUFDakM7QUFBQSxJQUVnQixvQkFBaUI7QUFDL0IsWUFBTSxrQkFBQTtBQUVOLFdBRUcsS0FBSyxhQUFhLFdBQVcsS0FBSyxLQUFLLGFBQWEsYUFBYSxNQUNsRSxLQUFLLGVBQWUsUUFBUSx1Q0FBdUMsR0FDbkU7QUFDQSxnQkFBUSxLQUNOLG1DQUFtQyxLQUFLLFNBQVMsV0FBVyxLQUFLLGNBQWUsUUFBUSx1Q0FBdUMsRUFBRyxTQUFTLCtEQUMzSSxJQUFJO0FBQUEsTUFFUjtBQUFBLElBQ0Y7QUFBQSxJQUVVLHlCQUFzQjtBQUM5QixXQUFLO0FBQUEsUUFDSDtBQUFBLFFBQ0EsQ0FBQyxVQUFTO0FBQ1IsY0FBSSxLQUFLLGlCQUFpQixDQUFDLEtBQUssMEJBQTBCO0FBQ3hELGtCQUFNLGVBQUE7QUFDTixrQkFBTSx5QkFBQTtBQUFBLFVBQ1I7QUFBQSxRQUNGO0FBQUE7QUFBQTtBQUFBLFFBR0EsRUFBRSxTQUFTLEtBQUE7QUFBQSxNQUFJO0FBQUEsSUFFbkI7QUFBQTtBQUFBLElBR1UsaUJBQWM7QUFDdEIsWUFBTSxJQUFJLE1BQU0sd0JBQXdCO0FBQUEsSUFDMUM7QUFBQTtBQUFBLElBR21CLFNBQU07QUFDdkIsYUFBTyxvQ0FBb0MsS0FBSyxTQUFTLEtBQUssS0FBSyxnQkFBZ0I7QUFBQSxJQUNyRjtBQUFBLEVBQUE7O0FBaERGLGlCQUFBLE1BQUEsbUJBQUEsRUFBQSxPQUFBLFdBQUEsR0FBQSxrQkFBQSxFQUFBLE1BQUEsU0FBQSxNQUFBLFdBQUEsTUFBQSxVQUFBLFVBQUEsR0FBQSxNQUFBLHVCQUFBOzs7QUFBZSxzQkFBQSxZQUFBLHVCQUFBO0FBQUEsRUFBQSxNQUFxQjs7OyJ9
@@ -209,4 +209,4 @@ export {
209
209
  SbbButtonBaseElement,
210
210
  SbbButtonLikeBaseElement
211
211
  };
212
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWJhc2UtZWxlbWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvYmFzZS1lbGVtZW50cy9idXR0b24tYmFzZS1lbGVtZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU2VydmVyIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBmb3JjZVR5cGUsIGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc0V2ZW50UHJldmVudGVkIH0gZnJvbSAnLi4vZXZlbnRpbmcuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBGb3JtUmVzdG9yZVJlYXNvbixcbiAgdHlwZSBGb3JtUmVzdG9yZVN0YXRlLFxuICBTYmJGb3JtQXNzb2NpYXRlZE1peGluLFxufSBmcm9tICcuLi9taXhpbnMuanMnO1xuXG5pbXBvcnQgeyBTYmJBY3Rpb25CYXNlRWxlbWVudCB9IGZyb20gJy4vYWN0aW9uLWJhc2UtZWxlbWVudC5qcyc7XG5cbi8qKiBFbnVtZXJhdGlvbiBmb3IgdHlwZSBhdHRyaWJ1dGUgaW4gPGJ1dHRvbj4gSFRNTCB0YWcuICovXG5leHBvcnQgdHlwZSBTYmJCdXR0b25UeXBlID0gJ2J1dHRvbicgfCAncmVzZXQnIHwgJ3N1Ym1pdCc7XG5cbi8qKiBCdXR0b24gYmFzZSBjbGFzcy4gKi9cbmV4cG9ydFxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgdGFiaW5kZXg6ICcwJyxcbiAgJ2RhdGEtYnV0dG9uJzogJycsXG59KVxuYWJzdHJhY3QgY2xhc3MgU2JiQnV0dG9uTGlrZUJhc2VFbGVtZW50IGV4dGVuZHMgU2JiRm9ybUFzc29jaWF0ZWRNaXhpbihTYmJBY3Rpb25CYXNlRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGU6IEVsZW1lbnRJbnRlcm5hbHNbJ3JvbGUnXSA9ICdidXR0b24nO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgaWYgKCFpc1NlcnZlcikge1xuICAgICAgdGhpcy5zZXR1cEJhc2VFdmVudEhhbmRsZXJzKCk7XG5cbiAgICAgIGNvbnN0IHBhc3NpdmVPcHRpb25zID0geyBwYXNzaXZlOiB0cnVlIH07XG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLl9wcmV2ZW50U2Nyb2xsT25TcGFjZUtleWRvd24pO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMuX2Rpc3BhdGNoQ2xpY2tFdmVudE9uU3BhY2VLZXl1cCwgcGFzc2l2ZU9wdGlvbnMpO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgdGhpcy5fcmVtb3ZlQWN0aXZlTWFya2VyLCBwYXNzaXZlT3B0aW9ucyk7XG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdrZXlwcmVzcycsXG4gICAgICAgIChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnXFxuJykge1xuICAgICAgICAgICAgdGhpcy5fZGlzcGF0Y2hDbGlja0V2ZW50KGV2ZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHBhc3NpdmVPcHRpb25zLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUHJldmVudHMgc2Nyb2xsaW5nIGZyb20gcHJlc3NpbmcgU3BhY2UsIHdoZW4gdGhlIGV2ZW50IHRhcmdldCBpcyBhbiBhY3Rpb24gZWxlbWVudC5cbiAgICogQWxzbyBzZXRzIGRhdGEtYWN0aXZlIGF0dHJpYnV0ZS5cbiAgICogQHBhcmFtIGV2ZW50IFRoZSBvcmlnaW4gZXZlbnQuXG4gICAqL1xuICBwcml2YXRlIF9wcmV2ZW50U2Nyb2xsT25TcGFjZUtleWRvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnICcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtYWN0aXZlJywgdHJ1ZSk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX3JlbW92ZUFjdGl2ZU1hcmtlciA9IChldmVudDogRXZlbnQpOiB2b2lkID0+IHtcbiAgICAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtYWN0aXZlJyk7XG4gIH07XG5cbiAgLyoqXG4gICAqIERpc3BhdGNoZXMgYSAnY2xpY2snIFBvaW50ZXJFdmVudCBpZiB0aGUgb3JpZ2luYWwga2V5Ym9hcmQgZXZlbnQgaXMgYSAnU3BhY2UnIHByZXNzLlxuICAgKiBBcyB2ZXJpZmllZCB3aXRoIHRoZSBuYXRpdmUgYnV0dG9uLCB3aGVuICdTcGFjZScgaXMgcHJlc3NlZCwgYSAnY2xpY2snIGV2ZW50IGlzIGRpc3BhdGNoZWRcbiAgICogYWZ0ZXIgdGhlICdrZXl1cCcgZXZlbnQuXG4gICAqIEBwYXJhbSBldmVudCBUaGUgb3JpZ2luIGV2ZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBfZGlzcGF0Y2hDbGlja0V2ZW50T25TcGFjZUtleXVwID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCA9PiB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJyAnKSB7XG4gICAgICB0aGlzLl9yZW1vdmVBY3RpdmVNYXJrZXIoZXZlbnQpO1xuICAgICAgdGhpcy5fZGlzcGF0Y2hDbGlja0V2ZW50KGV2ZW50KTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBfZGlzcGF0Y2hDbGlja0V2ZW50ID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCA9PiB7XG4gICAgY29uc3QgeyBhbHRLZXksIGN0cmxLZXksIG1ldGFLZXksIHNoaWZ0S2V5IH0gPSBldmVudDtcbiAgICAoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgUG9pbnRlckV2ZW50KCdjbGljaycsIHtcbiAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICAgIHBvaW50ZXJJZDogLTEsXG4gICAgICAgIHBvaW50ZXJUeXBlOiAnJyxcbiAgICAgICAgYWx0S2V5LFxuICAgICAgICBjdHJsS2V5LFxuICAgICAgICBtZXRhS2V5LFxuICAgICAgICBzaGlmdEtleSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH07XG5cbiAgcHVibGljIG92ZXJyaWRlIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgb2xkOiBzdHJpbmcgfCBudWxsLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBudWxsLFxuICApOiB2b2lkIHtcbiAgICBpZiAoIVsnbmFtZScsICd2YWx1ZSddLmluY2x1ZGVzKG5hbWUpIHx8IG9sZCAhPT0gdmFsdWUpIHtcbiAgICAgIHN1cGVyLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhuYW1lLCBvbGQsIHZhbHVlKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqIEJ1dHRvbiBiYXNlIGNsYXNzLiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNiYkJ1dHRvbkJhc2VFbGVtZW50IGV4dGVuZHMgU2JiQnV0dG9uTGlrZUJhc2VFbGVtZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudHNPbldoaWNoRW50ZXJQcmVzc1RyaWdnZXJzU3VibWl0ID0gW1xuICAgICdpbnB1dCcsXG4gICAgJ3NiYi1kYXRlLWlucHV0JyxcbiAgICAnc2JiLXRpbWUtaW5wdXQnLFxuICBdO1xuXG4gIC8qKiBWYWx1ZSBvZiB0aGUgZm9ybSBlbGVtZW50LiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIHZhbHVlOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogVGhlIHR5cGUgYXR0cmlidXRlIHRvIHVzZSBmb3IgdGhlIGJ1dHRvbi5cbiAgICogQGRlZmF1bHQgJ2J1dHRvbidcbiAgICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgdHlwZShuYW1lOiBTYmJCdXR0b25UeXBlKSB7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCBgJHtuYW1lfWApO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgdHlwZSgpOiBTYmJCdXR0b25UeXBlIHtcbiAgICByZXR1cm4gKHRoaXMuZ2V0QXR0cmlidXRlKCd0eXBlJykgYXMgU2JiQnV0dG9uVHlwZSkgPz8gJ2J1dHRvbic7XG4gIH1cblxuICAvKiogVGhlIGA8Zm9ybT5gIGVsZW1lbnQgdG8gYXNzb2NpYXRlIHRoZSBidXR0b24gd2l0aC4gKi9cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmb3JtKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9mb3JtSWQgPSB2YWx1ZTtcbiAgICB0aGlzLmZvcm0/LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLl9mb3JtS2V5RG93biwgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZm9ybSgpOiBIVE1MRm9ybUVsZW1lbnQgfCBudWxsIHtcbiAgICAvLyBVc2UgcXVlcnlTZWxlY3RvciB3aXRoIGZvcm0gYW5kIGlkIHNlbGVjdG9yLCBhcyB0aGUgZm9ybSBwcm9wZXJ0eSBtdXN0XG4gICAgLy8gcmVmZXJlbmNlIGEgdmFsaWQgPGZvcm0+IGVsZW1lbnRcbiAgICByZXR1cm4gdGhpcy5fZm9ybUlkXG4gICAgICA/ICgoKHRoaXMuZ2V0Um9vdE5vZGU/LigpIGFzIERvY3VtZW50RnJhZ21lbnQgfCBudWxsKT8uZ2V0RWxlbWVudEJ5SWQ/LihcbiAgICAgICAgICB0aGlzLl9mb3JtSWQsXG4gICAgICAgICkgYXMgSFRNTEZvcm1FbGVtZW50KSA/PyBudWxsKVxuICAgICAgOiB0aGlzLmludGVybmFscy5mb3JtO1xuICB9XG4gIHByaXZhdGUgX2Zvcm1JZDogc3RyaW5nID0gJyc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5faGFuZGxlQnV0dG9uQ2xpY2spO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICB0aGlzLmZvcm0/LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLl9mb3JtS2V5RG93biwgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICB0aGlzLmZvcm0/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLl9mb3JtS2V5RG93biwgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQnV0dG9uQ2xpY2sgPSBhc3luYyAoZXZlbnQ6IE1vdXNlRXZlbnQpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBpZiAodGhpcy50eXBlID09PSAnYnV0dG9uJyB8fCAoYXdhaXQgaXNFdmVudFByZXZlbnRlZChldmVudCkpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZm9ybSA9IHRoaXMuZm9ybTtcbiAgICBpZiAoIWZvcm0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ3N1Ym1pdCcpIHtcbiAgICAgIHRoaXMuX3JlcXVlc3RTdWJtaXQoZm9ybSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdyZXNldCcpIHtcbiAgICAgIGZvcm0ucmVzZXQoKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBfcmVxdWVzdFN1Ym1pdChmb3JtOiBIVE1MRm9ybUVsZW1lbnQpOiB2b2lkIHtcbiAgICAvLyBgZm9ybS5yZXF1ZXN0U3VibWl0KGVsZW1lbnQpO2Agc2VlbXMgbm90IHRvIHdvcmsgZm9yIEN1c3RvbUVsZW1lbnRzLCBzbyB0aGUgYGVsZW1lbnRgIHBhcmFtZXRlciBoYXMgYmVlbiByZW1vdmVkO1xuICAgIC8vIFRPRE86IENoZWNrIGlmIHNvbHZlZCBpbiBhbnkgd2F5LCBzZWUgaHR0cHM6Ly9naXRodWIuY29tL1dJQ0cvd2ViY29tcG9uZW50cy9pc3N1ZXMvODE0I2lzc3VlY29tbWVudC0xMjE4NDUyMTM3XG4gICAgLy8gV2UgdXNlIHRoZSB3b3JrYXJvdW5kIGRlc2NyaWJlZCBpbiB0aGUgZ2l0aHViIGlzc3VlIGJ5IGNsb25pbmcgdGhlIHN1Ym1pdCBidXR0b24gYW5kIHBhc3MgdGhpcyBvbmUgYXMgYW4gYXJndW1lbnQuXG5cbiAgICBjb25zdCBzdWJtaXRCdXR0b25DbG9uZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO1xuICAgIHN1Ym1pdEJ1dHRvbkNsb25lLmluZXJ0ID0gdHJ1ZTtcbiAgICBzdWJtaXRCdXR0b25DbG9uZS5oaWRkZW4gPSB0cnVlO1xuICAgIHN1Ym1pdEJ1dHRvbkNsb25lLm5hbWUgPSB0aGlzLm5hbWU7XG4gICAgc3VibWl0QnV0dG9uQ2xvbmUudmFsdWUgPSB0aGlzLnZhbHVlID8/ICcnO1xuXG4gICAgZm9ybS5hcHBlbmQoc3VibWl0QnV0dG9uQ2xvbmUpO1xuICAgIGZvcm0ucmVxdWVzdFN1Ym1pdChzdWJtaXRCdXR0b25DbG9uZSk7XG4gICAgc3VibWl0QnV0dG9uQ2xvbmUucmVtb3ZlKCk7XG4gIH1cblxuICBwcml2YXRlIF9mb3JtS2V5RG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm07XG4gICAgaWYgKFxuICAgICAgdGhpcy50eXBlID09PSAnc3VibWl0JyAmJlxuICAgICAgZm9ybSAmJlxuICAgICAgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICdcXG4nKSAmJlxuICAgICAgdGhpcy5fZWxlbWVudHNPbldoaWNoRW50ZXJQcmVzc1RyaWdnZXJzU3VibWl0LmluY2x1ZGVzKFxuICAgICAgICAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KT8ubG9jYWxOYW1lLFxuICAgICAgKSAmJlxuICAgICAgZXZlbnQuaXNUcnVzdGVkXG4gICAgKSB7XG4gICAgICAvLyBJbiB0aGUgY2FzZSB3aGVyZSB0aGVyZSBpcyBvbmx5IG9uZSBmb3JtIGVsZW1lbnQsIGFuIGVudGVyIHByZXNzIHN1Ym1pdHMgdGhlIGZvcm0uXG4gICAgICAvLyBJbiB0aGUgY2FzZSB3aGVyZSB3ZSBvbmx5IGhhdmUgb25lIGlucHV0IGFuZCB0aGlzIGJ1dHRvbiBhcyBhIHN1Ym1pdCBidXR0b24sXG4gICAgICAvLyB3ZSBuZWVkIHRvIHByZXZlbnQgdGhlIGRlZmF1bHQgZnVuY3Rpb25hbGl0eSBvZiBzdWJtaXR0aW5nIHRoZSBmb3JtIGJlY2F1c2VcbiAgICAgIC8vIHdoaWxlIHRoaXMgYnV0dG9uIHNob3VsZCBiZSByZWNvZ25pemVkIGFzIGEgc3VibWl0IGVsZW1lbnQsIHRoYXQgaXMgbm90IG5hdGl2ZWx5IHRoZSBjYXNlXG4gICAgICAvLyBhbmQgdGhlcmVmb3JlIHdlIG1hbnVhbGx5IGhhbmRsZSB0aGlzIGNhc2UgaGVyZS5cbiAgICAgIC8vIElmIHRoaXMgYnV0dG9uIGlzIG5vdCBkaXNhYmxlZCB3ZSB3aWxsIHRoZW4gcmVxdWVzdCBhIHN1Ym1pdCBmdXJ0aGVyIGRvd24gYmVsb3cuXG4gICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgIGNvbnN0IGV2ZW50T3JpZ2luID0gZXZlbnQuY29tcG9zZWRQYXRoKClbMF07XG5cbiAgICAgIGlmIChcbiAgICAgICAgZXZlbnRPcmlnaW4uZGlzcGF0Y2hFdmVudChuZXcgS2V5Ym9hcmRFdmVudChldmVudC50eXBlLCBldmVudCkpICYmXG4gICAgICAgICF0aGlzLm1hdGNoZXMoJzpkaXNhYmxlZCcpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5fcmVxdWVzdFN1Ym1pdChmb3JtKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIEludGVudGlvbmFsbHkgZW1wdHksIGFzIGJ1dHRvbnMgYXJlIG5vdCB0YXJnZXRlZCBieSBmb3JtIHJlc2V0XG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQge31cblxuICAvKipcbiAgICogSW50ZW50aW9uYWxseSBlbXB0eSwgYXMgYnV0dG9ucyBhcmUgbm90IHRhcmdldGVkIGJ5IGZvcm0gcmVzdG9yZVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgX3N0YXRlOiBGb3JtUmVzdG9yZVN0YXRlIHwgbnVsbCxcbiAgICBfcmVhc29uOiBGb3JtUmVzdG9yZVJlYXNvbixcbiAgKTogdm9pZCB7fVxuXG4gIC8qKlxuICAgKiBJbnRlbnRpb25hbGx5IGVtcHR5LCBhcyBidXR0b24gZG9lcyBub3Qgd3JpdGUgaXRzIGRhdGEgaW4gZm9ybS5cbiAgICogVGhlIGRhdGEgaXMgb25seSBhcHBsaWVkIG9uIHN1Ym1pdCBidXR0b24gY2xpY2sgYXMgc3VibWl0dGVyIG9mIHJlcXVlc3RTdWJtaXQoKTtcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlRm9ybVZhbHVlKCk6IHZvaWQge31cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztJQXNCZSw0QkFBd0IsTUFBQTs7QUFKdEMsTUFBQSxtQkFBQSxDQUFBLGVBQWU7QUFBQSxJQUNkLFVBQVU7QUFBQSxJQUNWLGVBQWU7QUFBQSxFQUFBLENBQ2hCLENBQUM7Ozs7b0JBQzhDLHVCQUF1QixvQkFBb0I7QUFBbkQsRUFBQSxtQkFBUSxZQUE0QztBQUFBLElBRzFGLGNBQUE7QUFDRSxZQUFBO0FBMEJNLFdBQUEsK0JBQStCLENBQUMsVUFBOEI7QUFDcEUsWUFBSSxNQUFNLFFBQVEsS0FBSztBQUNyQixnQkFBTSxlQUFBO0FBQ0wsZ0JBQU0sT0FBdUIsZ0JBQWdCLGVBQWUsSUFBSTtBQUFBLFFBQUE7QUFBQSxNQUNuRTtBQUdNLFdBQUEsc0JBQXNCLENBQUMsVUFBc0I7QUFDbEQsY0FBTSxPQUF1QixnQkFBZ0IsYUFBYTtBQUFBLE1BQUE7QUFTckQsV0FBQSxrQ0FBa0MsQ0FBQyxVQUE4QjtBQUN2RSxZQUFJLE1BQU0sUUFBUSxLQUFLO0FBQ3JCLGVBQUssb0JBQW9CLEtBQUs7QUFDOUIsZUFBSyxvQkFBb0IsS0FBSztBQUFBLFFBQUE7QUFBQSxNQUNoQztBQUdNLFdBQUEsc0JBQXNCLENBQUMsVUFBOEI7QUFDM0QsY0FBTSxFQUFFLFFBQVEsU0FBUyxTQUFTLGFBQWE7QUFDOUMsY0FBTSxPQUFtQixjQUN4QixJQUFJLGFBQWEsU0FBUztBQUFBLFVBQ3hCLFNBQVM7QUFBQSxVQUNULFlBQVk7QUFBQSxVQUNaLFVBQVU7QUFBQSxVQUNWLFdBQVc7QUFBQSxVQUNYLGFBQWE7QUFBQSxVQUNiO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxVQUNBO0FBQUEsUUFBQSxDQUNELENBQUM7QUFBQSxNQUFBO0FBN0RKLFVBQUksQ0FBQyxVQUFVO0FBQ2IsYUFBSyx1QkFBQTtBQUVMLGNBQU0saUJBQWlCLEVBQUUsU0FBUyxLQUFBO0FBQ2xDLGFBQUssaUJBQWlCLFdBQVcsS0FBSyw0QkFBNEI7QUFDbEUsYUFBSyxpQkFBaUIsU0FBUyxLQUFLLGlDQUFpQyxjQUFjO0FBQ25GLGFBQUssaUJBQWlCLFFBQVEsS0FBSyxxQkFBcUIsY0FBYztBQUN0RSxhQUFLLGlCQUNILFlBQ0EsQ0FBQyxVQUE4QjtBQUM3QixjQUFJLE1BQU0sUUFBUSxXQUFXLE1BQU0sUUFBUSxNQUFNO0FBQy9DLGlCQUFLLG9CQUFvQixLQUFLO0FBQUEsVUFBQTtBQUFBLFFBQ2hDLEdBRUYsY0FBYztBQUFBLE1BQUE7QUFBQSxJQUVsQjtBQUFBLElBaURjLHlCQUNkLE1BQ0EsS0FDQSxPQUFvQjtBQUVwQixVQUFJLENBQUMsQ0FBQyxRQUFRLE9BQU8sRUFBRSxTQUFTLElBQUksS0FBSyxRQUFRLE9BQU87QUFDdEQsY0FBTSx5QkFBeUIsTUFBTSxLQUFLLEtBQUs7QUFBQSxNQUFBO0FBQUEsSUFDakQ7QUFBQTs7QUE5RUosaUJBQUEsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztRQUNrQyxHQUFBLE9BQWlDLFVBRHBELGtCQUFBLFlBQUEsdUJBQUEsR0FBeUI7OztJQW1GbEIsd0JBQW9CLE1BQUE7O29CQUFTOzs7Ozs7O0FBQTdCLFNBQUEsbUJBQTZCLFlBQXdCO0FBQUEsSUF5Q3pFLGNBQUE7QUFDRSxZQUFBO0FBaENGO0FBVGlCLFdBQUEsNENBREcscURBQ3dDO0FBQUEsUUFDMUQ7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLE1BQUE7QUFNYyx5QkFBQSx5QkFBQSxrQkFBQSxNQUFBLHFCQUFnQixFQUFFO0FBNkIxQixXQUFBLFdBQU8sa0JBQUEsTUFBQSx3QkFBQSxHQUFXO0FBb0JsQixXQUFBLHFCQUFxQixPQUFPLFVBQW9DO0FBQ3RFLFlBQUksS0FBSyxTQUFTLFlBQWEsTUFBTSxpQkFBaUIsS0FBSyxHQUFJO0FBQzdEO0FBQUEsUUFBQTtBQUdGLGNBQU0sT0FBTyxLQUFLO0FBQ2xCLFlBQUksQ0FBQyxNQUFNO0FBQ1Q7QUFBQSxRQUFBLFdBQ1MsS0FBSyxTQUFTLFVBQVU7QUFDakMsZUFBSyxlQUFlLElBQUk7QUFBQSxRQUFBLFdBQ2YsS0FBSyxTQUFTLFNBQVM7QUFDaEMsZUFBSyxNQUFBO0FBQUEsUUFBSztBQUFBLE1BQ1o7QUFtQk0sV0FBQSxlQUFlLENBQUMsVUFBOEI7QUFDcEQsY0FBTSxPQUFPLEtBQUs7QUFDbEIsWUFDRSxLQUFLLFNBQVMsWUFDZCxTQUNDLE1BQU0sUUFBUSxXQUFXLE1BQU0sUUFBUSxTQUN4QyxLQUFLLHlDQUF5QyxTQUMzQyxNQUFNLFFBQXdCLFNBQVMsS0FFMUMsTUFBTSxXQUNOO0FBT0EsZ0JBQU0seUJBQUE7QUFDTixnQkFBTSxlQUFBO0FBRU4sZ0JBQU0sY0FBYyxNQUFNLGFBQUEsRUFBZSxDQUFDO0FBRTFDLGNBQ0UsWUFBWSxjQUFjLElBQUksY0FBYyxNQUFNLE1BQU0sS0FBSyxDQUFDLEtBQzlELENBQUMsS0FBSyxRQUFRLFdBQVcsR0FDekI7QUFDQSxpQkFBSyxlQUFlLElBQUk7QUFBQSxVQUFBO0FBQUEsUUFDMUI7QUFBQSxNQUNGO0FBMUVBLFdBQUssaUJBQWlCLFNBQVMsS0FBSyxrQkFBa0I7QUFBQSxJQUFBO0FBQUE7QUFBQSxJQWxDeEQsSUFBZ0IsUUFBSztBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBckIsSUFBZ0IsTUFBSyxPQUFBO0FBQUEseUJBQUEseUJBQUE7QUFBQSxJQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQU9yQixJQUFvQixLQUFLLE1BQW1CO0FBQzFDLFdBQUssYUFBYSxRQUFRLEdBQUcsSUFBSSxFQUFFO0FBQUEsSUFBQTtBQUFBLElBRXJDLElBQW9CLE9BQUk7QUFDdEIsYUFBUSxLQUFLLGFBQWEsTUFBTSxLQUF1QjtBQUFBLElBQUE7QUFBQTtBQUFBLElBS3pELElBQW9CLEtBQUssT0FBYTtBQUNwQyxXQUFLLFVBQVU7QUFDZixXQUFLLE1BQU0saUJBQWlCLFdBQVcsS0FBSyxjQUFjLEVBQUUsU0FBUyxNQUFNO0FBQUEsSUFBQTtBQUFBLElBRTdFLElBQW9CLE9BQUk7QUFHdEIsYUFBTyxLQUFLLFVBQ0wsS0FBSyxjQUFBLEdBQTZDLGlCQUNuRCxLQUFLLE9BQU8sS0FDVyxPQUN6QixLQUFLLFVBQVU7QUFBQSxJQUFBO0FBQUEsSUFVTCxvQkFBaUI7QUFDL0IsWUFBTSxrQkFBQTtBQUVOLFdBQUssTUFBTSxpQkFBaUIsV0FBVyxLQUFLLGNBQWMsRUFBRSxTQUFTLE1BQU07QUFBQSxJQUFBO0FBQUEsSUFHN0QsdUJBQW9CO0FBQ2xDLFlBQU0scUJBQUE7QUFFTixXQUFLLE1BQU0sb0JBQW9CLFdBQVcsS0FBSyxjQUFjLEVBQUUsU0FBUyxNQUFNO0FBQUEsSUFBQTtBQUFBLElBa0J4RSxlQUFlLE1BQXFCO0FBSzFDLFlBQU0sb0JBQW9CLFNBQVMsY0FBYyxRQUFRO0FBQ3pELHdCQUFrQixRQUFRO0FBQzFCLHdCQUFrQixTQUFTO0FBQzNCLHdCQUFrQixPQUFPLEtBQUs7QUFDOUIsd0JBQWtCLFFBQVEsS0FBSyxTQUFTO0FBRXhDLFdBQUssT0FBTyxpQkFBaUI7QUFDN0IsV0FBSyxjQUFjLGlCQUFpQjtBQUNwQyx3QkFBa0IsT0FBQTtBQUFBLElBQU07QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBc0NWOzs7Ozs7SUFNQSx5QkFDZCxRQUNBOzs7Ozs7O0lBUWlCOztFQUF5QixHQW5JNUM7O3lCQUZDLGFBQ0EsVUFBVTtBQU9WLDJCQUFBLENBQUEsVUFBVTtBQVNWLDJCQUFBLENBQUEsVUFBVTtBQWZYLGlCQUFBLElBQUEsTUFBQSxtQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLFNBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsV0FBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQWdCLE9BQUssS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQUwsUUFBSztBQUFBLElBQUEsS0FBQSxVQUFBLGFBQUEscUJBQUEsd0JBQUE7QUFPckIsaUJBQUEsSUFBQSxNQUFBLHNCQUFBLEVBQUEsTUFBQSxVQUFBLE1BQUEsUUFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxVQUFBLEtBQUEsS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQW9CLE9BQUk7QUFBQSxJQUFBLEtBQUEsVUFBQSxhQUFBLE1BQUEsMEJBQUE7QUFTeEIsaUJBQUEsSUFBQSxNQUFBLHNCQUFBLEVBQUEsTUFBQSxVQUFBLE1BQUEsUUFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxVQUFBLEtBQUEsS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQW9CLE9BQUk7QUFBQSxJQUFBLEtBQUEsVUFBQSxhQUFBLE1BQUEsMEJBQUE7O1FBMUJKOzsifQ==
212
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWJhc2UtZWxlbWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvYmFzZS1lbGVtZW50cy9idXR0b24tYmFzZS1lbGVtZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU2VydmVyIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBmb3JjZVR5cGUsIGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc0V2ZW50UHJldmVudGVkIH0gZnJvbSAnLi4vZXZlbnRpbmcuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBGb3JtUmVzdG9yZVJlYXNvbixcbiAgdHlwZSBGb3JtUmVzdG9yZVN0YXRlLFxuICBTYmJGb3JtQXNzb2NpYXRlZE1peGluLFxufSBmcm9tICcuLi9taXhpbnMuanMnO1xuXG5pbXBvcnQgeyBTYmJBY3Rpb25CYXNlRWxlbWVudCB9IGZyb20gJy4vYWN0aW9uLWJhc2UtZWxlbWVudC5qcyc7XG5cbi8qKiBFbnVtZXJhdGlvbiBmb3IgdHlwZSBhdHRyaWJ1dGUgaW4gPGJ1dHRvbj4gSFRNTCB0YWcuICovXG5leHBvcnQgdHlwZSBTYmJCdXR0b25UeXBlID0gJ2J1dHRvbicgfCAncmVzZXQnIHwgJ3N1Ym1pdCc7XG5cbi8qKiBCdXR0b24gYmFzZSBjbGFzcy4gKi9cbmV4cG9ydFxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgdGFiaW5kZXg6ICcwJyxcbiAgJ2RhdGEtYnV0dG9uJzogJycsXG59KVxuYWJzdHJhY3QgY2xhc3MgU2JiQnV0dG9uTGlrZUJhc2VFbGVtZW50IGV4dGVuZHMgU2JiRm9ybUFzc29jaWF0ZWRNaXhpbihTYmJBY3Rpb25CYXNlRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGU6IEVsZW1lbnRJbnRlcm5hbHNbJ3JvbGUnXSA9ICdidXR0b24nO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgaWYgKCFpc1NlcnZlcikge1xuICAgICAgdGhpcy5zZXR1cEJhc2VFdmVudEhhbmRsZXJzKCk7XG5cbiAgICAgIGNvbnN0IHBhc3NpdmVPcHRpb25zID0geyBwYXNzaXZlOiB0cnVlIH07XG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLl9wcmV2ZW50U2Nyb2xsT25TcGFjZUtleWRvd24pO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMuX2Rpc3BhdGNoQ2xpY2tFdmVudE9uU3BhY2VLZXl1cCwgcGFzc2l2ZU9wdGlvbnMpO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgdGhpcy5fcmVtb3ZlQWN0aXZlTWFya2VyLCBwYXNzaXZlT3B0aW9ucyk7XG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdrZXlwcmVzcycsXG4gICAgICAgIChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnXFxuJykge1xuICAgICAgICAgICAgdGhpcy5fZGlzcGF0Y2hDbGlja0V2ZW50KGV2ZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHBhc3NpdmVPcHRpb25zLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUHJldmVudHMgc2Nyb2xsaW5nIGZyb20gcHJlc3NpbmcgU3BhY2UsIHdoZW4gdGhlIGV2ZW50IHRhcmdldCBpcyBhbiBhY3Rpb24gZWxlbWVudC5cbiAgICogQWxzbyBzZXRzIGRhdGEtYWN0aXZlIGF0dHJpYnV0ZS5cbiAgICogQHBhcmFtIGV2ZW50IFRoZSBvcmlnaW4gZXZlbnQuXG4gICAqL1xuICBwcml2YXRlIF9wcmV2ZW50U2Nyb2xsT25TcGFjZUtleWRvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnICcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtYWN0aXZlJywgdHJ1ZSk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX3JlbW92ZUFjdGl2ZU1hcmtlciA9IChldmVudDogRXZlbnQpOiB2b2lkID0+IHtcbiAgICAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtYWN0aXZlJyk7XG4gIH07XG5cbiAgLyoqXG4gICAqIERpc3BhdGNoZXMgYSAnY2xpY2snIFBvaW50ZXJFdmVudCBpZiB0aGUgb3JpZ2luYWwga2V5Ym9hcmQgZXZlbnQgaXMgYSAnU3BhY2UnIHByZXNzLlxuICAgKiBBcyB2ZXJpZmllZCB3aXRoIHRoZSBuYXRpdmUgYnV0dG9uLCB3aGVuICdTcGFjZScgaXMgcHJlc3NlZCwgYSAnY2xpY2snIGV2ZW50IGlzIGRpc3BhdGNoZWRcbiAgICogYWZ0ZXIgdGhlICdrZXl1cCcgZXZlbnQuXG4gICAqIEBwYXJhbSBldmVudCBUaGUgb3JpZ2luIGV2ZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBfZGlzcGF0Y2hDbGlja0V2ZW50T25TcGFjZUtleXVwID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCA9PiB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJyAnKSB7XG4gICAgICB0aGlzLl9yZW1vdmVBY3RpdmVNYXJrZXIoZXZlbnQpO1xuICAgICAgdGhpcy5fZGlzcGF0Y2hDbGlja0V2ZW50KGV2ZW50KTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBfZGlzcGF0Y2hDbGlja0V2ZW50ID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCA9PiB7XG4gICAgY29uc3QgeyBhbHRLZXksIGN0cmxLZXksIG1ldGFLZXksIHNoaWZ0S2V5IH0gPSBldmVudDtcbiAgICAoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgUG9pbnRlckV2ZW50KCdjbGljaycsIHtcbiAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICAgIHBvaW50ZXJJZDogLTEsXG4gICAgICAgIHBvaW50ZXJUeXBlOiAnJyxcbiAgICAgICAgYWx0S2V5LFxuICAgICAgICBjdHJsS2V5LFxuICAgICAgICBtZXRhS2V5LFxuICAgICAgICBzaGlmdEtleSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH07XG5cbiAgcHVibGljIG92ZXJyaWRlIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgb2xkOiBzdHJpbmcgfCBudWxsLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBudWxsLFxuICApOiB2b2lkIHtcbiAgICBpZiAoIVsnbmFtZScsICd2YWx1ZSddLmluY2x1ZGVzKG5hbWUpIHx8IG9sZCAhPT0gdmFsdWUpIHtcbiAgICAgIHN1cGVyLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhuYW1lLCBvbGQsIHZhbHVlKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqIEJ1dHRvbiBiYXNlIGNsYXNzLiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNiYkJ1dHRvbkJhc2VFbGVtZW50IGV4dGVuZHMgU2JiQnV0dG9uTGlrZUJhc2VFbGVtZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudHNPbldoaWNoRW50ZXJQcmVzc1RyaWdnZXJzU3VibWl0ID0gW1xuICAgICdpbnB1dCcsXG4gICAgJ3NiYi1kYXRlLWlucHV0JyxcbiAgICAnc2JiLXRpbWUtaW5wdXQnLFxuICBdO1xuXG4gIC8qKiBWYWx1ZSBvZiB0aGUgZm9ybSBlbGVtZW50LiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIHZhbHVlOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogVGhlIHR5cGUgYXR0cmlidXRlIHRvIHVzZSBmb3IgdGhlIGJ1dHRvbi5cbiAgICogQGRlZmF1bHQgJ2J1dHRvbidcbiAgICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgdHlwZShuYW1lOiBTYmJCdXR0b25UeXBlKSB7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCBgJHtuYW1lfWApO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgdHlwZSgpOiBTYmJCdXR0b25UeXBlIHtcbiAgICByZXR1cm4gKHRoaXMuZ2V0QXR0cmlidXRlKCd0eXBlJykgYXMgU2JiQnV0dG9uVHlwZSkgPz8gJ2J1dHRvbic7XG4gIH1cblxuICAvKiogVGhlIGA8Zm9ybT5gIGVsZW1lbnQgdG8gYXNzb2NpYXRlIHRoZSBidXR0b24gd2l0aC4gKi9cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIG92ZXJyaWRlIHNldCBmb3JtKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9mb3JtSWQgPSB2YWx1ZTtcbiAgICB0aGlzLmZvcm0/LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLl9mb3JtS2V5RG93biwgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZm9ybSgpOiBIVE1MRm9ybUVsZW1lbnQgfCBudWxsIHtcbiAgICAvLyBVc2UgcXVlcnlTZWxlY3RvciB3aXRoIGZvcm0gYW5kIGlkIHNlbGVjdG9yLCBhcyB0aGUgZm9ybSBwcm9wZXJ0eSBtdXN0XG4gICAgLy8gcmVmZXJlbmNlIGEgdmFsaWQgPGZvcm0+IGVsZW1lbnRcbiAgICByZXR1cm4gdGhpcy5fZm9ybUlkXG4gICAgICA/ICgoKHRoaXMuZ2V0Um9vdE5vZGU/LigpIGFzIERvY3VtZW50RnJhZ21lbnQgfCBudWxsKT8uZ2V0RWxlbWVudEJ5SWQ/LihcbiAgICAgICAgICB0aGlzLl9mb3JtSWQsXG4gICAgICAgICkgYXMgSFRNTEZvcm1FbGVtZW50KSA/PyBudWxsKVxuICAgICAgOiB0aGlzLmludGVybmFscy5mb3JtO1xuICB9XG4gIHByaXZhdGUgX2Zvcm1JZDogc3RyaW5nID0gJyc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5faGFuZGxlQnV0dG9uQ2xpY2spO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICB0aGlzLmZvcm0/LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLl9mb3JtS2V5RG93biwgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICB0aGlzLmZvcm0/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLl9mb3JtS2V5RG93biwgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQnV0dG9uQ2xpY2sgPSBhc3luYyAoZXZlbnQ6IE1vdXNlRXZlbnQpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBpZiAodGhpcy50eXBlID09PSAnYnV0dG9uJyB8fCAoYXdhaXQgaXNFdmVudFByZXZlbnRlZChldmVudCkpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZm9ybSA9IHRoaXMuZm9ybTtcbiAgICBpZiAoIWZvcm0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ3N1Ym1pdCcpIHtcbiAgICAgIHRoaXMuX3JlcXVlc3RTdWJtaXQoZm9ybSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdyZXNldCcpIHtcbiAgICAgIGZvcm0ucmVzZXQoKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBfcmVxdWVzdFN1Ym1pdChmb3JtOiBIVE1MRm9ybUVsZW1lbnQpOiB2b2lkIHtcbiAgICAvLyBgZm9ybS5yZXF1ZXN0U3VibWl0KGVsZW1lbnQpO2Agc2VlbXMgbm90IHRvIHdvcmsgZm9yIEN1c3RvbUVsZW1lbnRzLCBzbyB0aGUgYGVsZW1lbnRgIHBhcmFtZXRlciBoYXMgYmVlbiByZW1vdmVkO1xuICAgIC8vIFRPRE86IENoZWNrIGlmIHNvbHZlZCBpbiBhbnkgd2F5LCBzZWUgaHR0cHM6Ly9naXRodWIuY29tL1dJQ0cvd2ViY29tcG9uZW50cy9pc3N1ZXMvODE0I2lzc3VlY29tbWVudC0xMjE4NDUyMTM3XG4gICAgLy8gV2UgdXNlIHRoZSB3b3JrYXJvdW5kIGRlc2NyaWJlZCBpbiB0aGUgZ2l0aHViIGlzc3VlIGJ5IGNsb25pbmcgdGhlIHN1Ym1pdCBidXR0b24gYW5kIHBhc3MgdGhpcyBvbmUgYXMgYW4gYXJndW1lbnQuXG5cbiAgICBjb25zdCBzdWJtaXRCdXR0b25DbG9uZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO1xuICAgIHN1Ym1pdEJ1dHRvbkNsb25lLmluZXJ0ID0gdHJ1ZTtcbiAgICBzdWJtaXRCdXR0b25DbG9uZS5oaWRkZW4gPSB0cnVlO1xuICAgIHN1Ym1pdEJ1dHRvbkNsb25lLm5hbWUgPSB0aGlzLm5hbWU7XG4gICAgc3VibWl0QnV0dG9uQ2xvbmUudmFsdWUgPSB0aGlzLnZhbHVlID8/ICcnO1xuXG4gICAgZm9ybS5hcHBlbmQoc3VibWl0QnV0dG9uQ2xvbmUpO1xuICAgIGZvcm0ucmVxdWVzdFN1Ym1pdChzdWJtaXRCdXR0b25DbG9uZSk7XG4gICAgc3VibWl0QnV0dG9uQ2xvbmUucmVtb3ZlKCk7XG4gIH1cblxuICBwcml2YXRlIF9mb3JtS2V5RG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm07XG4gICAgaWYgKFxuICAgICAgdGhpcy50eXBlID09PSAnc3VibWl0JyAmJlxuICAgICAgZm9ybSAmJlxuICAgICAgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICdcXG4nKSAmJlxuICAgICAgdGhpcy5fZWxlbWVudHNPbldoaWNoRW50ZXJQcmVzc1RyaWdnZXJzU3VibWl0LmluY2x1ZGVzKFxuICAgICAgICAoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KT8ubG9jYWxOYW1lLFxuICAgICAgKSAmJlxuICAgICAgZXZlbnQuaXNUcnVzdGVkXG4gICAgKSB7XG4gICAgICAvLyBJbiB0aGUgY2FzZSB3aGVyZSB0aGVyZSBpcyBvbmx5IG9uZSBmb3JtIGVsZW1lbnQsIGFuIGVudGVyIHByZXNzIHN1Ym1pdHMgdGhlIGZvcm0uXG4gICAgICAvLyBJbiB0aGUgY2FzZSB3aGVyZSB3ZSBvbmx5IGhhdmUgb25lIGlucHV0IGFuZCB0aGlzIGJ1dHRvbiBhcyBhIHN1Ym1pdCBidXR0b24sXG4gICAgICAvLyB3ZSBuZWVkIHRvIHByZXZlbnQgdGhlIGRlZmF1bHQgZnVuY3Rpb25hbGl0eSBvZiBzdWJtaXR0aW5nIHRoZSBmb3JtIGJlY2F1c2VcbiAgICAgIC8vIHdoaWxlIHRoaXMgYnV0dG9uIHNob3VsZCBiZSByZWNvZ25pemVkIGFzIGEgc3VibWl0IGVsZW1lbnQsIHRoYXQgaXMgbm90IG5hdGl2ZWx5IHRoZSBjYXNlXG4gICAgICAvLyBhbmQgdGhlcmVmb3JlIHdlIG1hbnVhbGx5IGhhbmRsZSB0aGlzIGNhc2UgaGVyZS5cbiAgICAgIC8vIElmIHRoaXMgYnV0dG9uIGlzIG5vdCBkaXNhYmxlZCB3ZSB3aWxsIHRoZW4gcmVxdWVzdCBhIHN1Ym1pdCBmdXJ0aGVyIGRvd24gYmVsb3cuXG4gICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgIGNvbnN0IGV2ZW50T3JpZ2luID0gZXZlbnQuY29tcG9zZWRQYXRoKClbMF07XG5cbiAgICAgIGlmIChcbiAgICAgICAgZXZlbnRPcmlnaW4uZGlzcGF0Y2hFdmVudChuZXcgS2V5Ym9hcmRFdmVudChldmVudC50eXBlLCBldmVudCkpICYmXG4gICAgICAgICF0aGlzLm1hdGNoZXMoJzpkaXNhYmxlZCcpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5fcmVxdWVzdFN1Ym1pdChmb3JtKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIEludGVudGlvbmFsbHkgZW1wdHksIGFzIGJ1dHRvbnMgYXJlIG5vdCB0YXJnZXRlZCBieSBmb3JtIHJlc2V0XG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQge31cblxuICAvKipcbiAgICogSW50ZW50aW9uYWxseSBlbXB0eSwgYXMgYnV0dG9ucyBhcmUgbm90IHRhcmdldGVkIGJ5IGZvcm0gcmVzdG9yZVxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgX3N0YXRlOiBGb3JtUmVzdG9yZVN0YXRlIHwgbnVsbCxcbiAgICBfcmVhc29uOiBGb3JtUmVzdG9yZVJlYXNvbixcbiAgKTogdm9pZCB7fVxuXG4gIC8qKlxuICAgKiBJbnRlbnRpb25hbGx5IGVtcHR5LCBhcyBidXR0b24gZG9lcyBub3Qgd3JpdGUgaXRzIGRhdGEgaW4gZm9ybS5cbiAgICogVGhlIGRhdGEgaXMgb25seSBhcHBsaWVkIG9uIHN1Ym1pdCBidXR0b24gY2xpY2sgYXMgc3VibWl0dGVyIG9mIHJlcXVlc3RTdWJtaXQoKTtcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlRm9ybVZhbHVlKCk6IHZvaWQge31cbn1cbiJdLCJuYW1lcyI6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