@sbb-esta/lyne-elements 2.11.0 → 2.11.2

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 (379) hide show
  1. package/accordion/accordion.component.js +19 -22
  2. package/action-group/action-group.component.js +3 -5
  3. package/alert/alert/alert.component.js +1 -2
  4. package/alert/alert-group/alert-group.component.js +2 -3
  5. package/autocomplete/autocomplete-base-element.js +71 -82
  6. package/autocomplete/autocomplete.component.js +31 -36
  7. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +44 -52
  8. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +3 -4
  9. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +17 -20
  10. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +23 -26
  11. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +9 -9
  12. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +29 -33
  13. package/button/mini-button/mini-button.component.js +1 -1
  14. package/button/mini-button-group/mini-button-group.component.js +1 -2
  15. package/calendar/calendar.component.js +8 -13
  16. package/card/card/card.component.js +12 -12
  17. package/card/card-badge/card-badge.component.js +16 -16
  18. package/card/common/card-action-common.js +23 -25
  19. package/checkbox/checkbox/checkbox.component.js +17 -20
  20. package/checkbox/checkbox-group/checkbox-group.component.js +39 -52
  21. package/checkbox/checkbox-panel/checkbox-panel.component.js +22 -25
  22. package/checkbox/common/checkbox-common.js +13 -15
  23. package/chip/chip-group/chip-group.component.js +59 -70
  24. package/clock/clock.component.js +50 -60
  25. package/container/container/container.component.js +28 -29
  26. package/container/sticky-bar/sticky-bar.component.js +26 -27
  27. package/core/a11y/focus-trap-controller.js +11 -14
  28. package/core/a11y/focus.js +27 -29
  29. package/core/a11y/input-modality-detector.js +18 -19
  30. package/core/a11y/interactivity-checker.js +10 -10
  31. package/core/base-elements/button-base-element.js +13 -18
  32. package/core/base-elements/link-base-element.js +3 -6
  33. package/core/base-elements/open-close-base-element.js +1 -1
  34. package/core/controllers/connected-abort-controller.js +2 -4
  35. package/core/controllers/escapable-overlay-controller.js +10 -12
  36. package/core/controllers/id-reference-controller.js +13 -14
  37. package/core/controllers/inert-controller.js +8 -10
  38. package/core/controllers/slot-state-controller.js +16 -26
  39. package/core/datetime/date-adapter.d.ts.map +1 -1
  40. package/core/datetime/date-adapter.js +21 -21
  41. package/core/datetime/native-date-adapter.js +11 -11
  42. package/core/decorators/date-converter.js +10 -12
  43. package/core/decorators/date-only-type.js +5 -6
  44. package/core/decorators/force-type.js +4 -5
  45. package/core/dom/breakpoint.js +8 -8
  46. package/core/dom/input-element.js +4 -9
  47. package/core/eventing/event-emitter.js +4 -5
  48. package/core/mixins/form-associated-checkbox-mixin.js +32 -37
  49. package/core/mixins/form-associated-input-mixin.js +58 -64
  50. package/core/mixins/form-associated-mixin.js +42 -44
  51. package/core/mixins/form-associated-radio-button-mixin.js +3 -5
  52. package/core/mixins/hydration-mixin.js +12 -13
  53. package/core/mixins/named-slot-list-mixin.js +32 -37
  54. package/core/mixins/panel-mixin.js +26 -27
  55. package/core/mixins.js +1 -1
  56. package/core/overlay/position.js +23 -23
  57. package/core/styles/core/mediaqueries.scss +1 -1
  58. package/core/styles/core.scss +27 -28
  59. package/core/styles/mixins/table.scss +1 -24
  60. package/core/styles/mixins/typo.scss +0 -1
  61. package/core/testing/event-spy.js +2 -4
  62. package/core/testing/wait-for-image-ready.js +8 -9
  63. package/core/testing/wait-for-render.js +8 -9
  64. package/custom-elements.json +2 -2
  65. package/date-input/date-input.component.js +2 -4
  66. package/datepicker/common/datepicker-association-controllers.js +21 -24
  67. package/datepicker/common/datepicker-button.js +53 -57
  68. package/datepicker/datepicker/datepicker.component.js +82 -95
  69. package/datepicker/datepicker-next-day/datepicker-next-day.component.js +1 -1
  70. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +1 -1
  71. package/datepicker/datepicker-toggle/datepicker-toggle.component.js +74 -81
  72. package/development/accordion/accordion.component.js +4 -7
  73. package/development/action-group/action-group.component.js +3 -5
  74. package/development/alert/alert/alert.component.js +2 -3
  75. package/development/alert/alert-group/alert-group.component.js +2 -3
  76. package/development/autocomplete/autocomplete-base-element.js +19 -30
  77. package/development/autocomplete/autocomplete.component.js +7 -12
  78. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +10 -18
  79. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +3 -4
  80. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
  81. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +4 -7
  82. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +4 -7
  83. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +2 -2
  84. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
  85. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +5 -9
  86. package/development/button/accent-button/accent-button.component.js +1 -1
  87. package/development/button/accent-button-link/accent-button-link.component.js +1 -1
  88. package/development/button/accent-button-static/accent-button-static.component.js +1 -1
  89. package/development/button/button/button.component.js +1 -1
  90. package/development/button/button-link/button-link.component.js +1 -1
  91. package/development/button/button-static/button-static.component.js +1 -1
  92. package/development/button/common/button-common.js +1 -1
  93. package/development/button/mini-button/mini-button.component.js +1 -1
  94. package/development/button/mini-button-group/mini-button-group.component.js +2 -3
  95. package/development/button/secondary-button/secondary-button.component.js +1 -1
  96. package/development/button/secondary-button-link/secondary-button-link.component.js +1 -1
  97. package/development/button/secondary-button-static/secondary-button-static.component.js +1 -1
  98. package/development/button/transparent-button/transparent-button.component.js +1 -1
  99. package/development/button/transparent-button-link/transparent-button-link.component.js +1 -1
  100. package/development/button/transparent-button-static/transparent-button-static.component.js +1 -1
  101. package/development/calendar/calendar.component.js +9 -14
  102. package/development/card/card/card.component.js +1 -1
  103. package/development/card/card-badge/card-badge.component.js +1 -1
  104. package/development/card/card-button/card-button.component.js +1 -1
  105. package/development/card/card-link/card-link.component.js +1 -1
  106. package/development/card/common/card-action-common.js +3 -5
  107. package/development/checkbox/checkbox/checkbox.component.js +2 -5
  108. package/development/checkbox/checkbox-group/checkbox-group.component.js +8 -21
  109. package/development/checkbox/checkbox-panel/checkbox-panel.component.js +2 -5
  110. package/development/checkbox/common/checkbox-common.js +3 -5
  111. package/development/chip/chip/chip.component.js +1 -1
  112. package/development/chip/chip-group/chip-group.component.js +15 -26
  113. package/development/chip-label/chip-label.component.js +1 -1
  114. package/development/clock/clock.component.js +23 -33
  115. package/development/container/container/container.component.js +2 -3
  116. package/development/container/sticky-bar/sticky-bar.component.js +2 -3
  117. package/development/core/a11y/arrow-navigation.js +1 -1
  118. package/development/core/a11y/fake-event-detection.js +1 -1
  119. package/development/core/a11y/focus-trap-controller.js +6 -9
  120. package/development/core/a11y/focus-visible-within-controller.js +1 -1
  121. package/development/core/a11y/focus.js +8 -10
  122. package/development/core/a11y/input-modality-detector.js +2 -3
  123. package/development/core/a11y/interactivity-checker.js +2 -2
  124. package/development/core/base-elements/action-base-element.js +2 -3
  125. package/development/core/base-elements/button-base-element.js +6 -11
  126. package/development/core/base-elements/link-base-element.js +4 -7
  127. package/development/core/base-elements/open-close-base-element.js +2 -2
  128. package/development/core/config/config.js +1 -1
  129. package/development/core/controllers/connected-abort-controller.js +3 -5
  130. package/development/core/controllers/escapable-overlay-controller.js +3 -5
  131. package/development/core/controllers/id-reference-controller.js +2 -3
  132. package/development/core/controllers/inert-controller.js +4 -6
  133. package/development/core/controllers/language-controller.js +1 -1
  134. package/development/core/controllers/media-matchers-controller.js +1 -1
  135. package/development/core/controllers/slot-state-controller.js +8 -18
  136. package/development/core/datetime/date-adapter.d.ts.map +1 -1
  137. package/development/core/datetime/date-adapter.js +5 -5
  138. package/development/core/datetime/native-date-adapter.js +2 -2
  139. package/development/core/decorators/date-converter.js +3 -5
  140. package/development/core/decorators/date-only-type.js +2 -3
  141. package/development/core/decorators/force-type.js +3 -4
  142. package/development/core/decorators/get-override.js +1 -1
  143. package/development/core/decorators/handle-distinct-change.js +1 -1
  144. package/development/core/decorators/host-attributes.js +1 -1
  145. package/development/core/decorators/slot-state.js +1 -1
  146. package/development/core/dom/animation.js +1 -1
  147. package/development/core/dom/breakpoint.js +2 -2
  148. package/development/core/dom/find-referenced-element.js +1 -1
  149. package/development/core/dom/host-context.js +1 -1
  150. package/development/core/dom/input-element.js +3 -4
  151. package/development/core/dom/platform.js +1 -1
  152. package/development/core/dom/scroll.js +1 -1
  153. package/development/core/dom/set-or-remove-attribute.js +1 -1
  154. package/development/core/eventing/composed-path-has-attribute.js +1 -1
  155. package/development/core/eventing/event-emitter.js +2 -3
  156. package/development/core/eventing/form-element-handlers.js +1 -1
  157. package/development/core/eventing/forward-event.js +1 -1
  158. package/development/core/eventing/throttle.js +1 -1
  159. package/development/core/i18n/i18n.js +1 -1
  160. package/development/core/mixins/animation-complete-mixin.js +1 -1
  161. package/development/core/mixins/disabled-mixin.js +1 -1
  162. package/development/core/mixins/form-associated-checkbox-mixin.js +6 -9
  163. package/development/core/mixins/form-associated-input-mixin.js +14 -20
  164. package/development/core/mixins/form-associated-mixin.js +5 -7
  165. package/development/core/mixins/form-associated-radio-button-mixin.js +7 -9
  166. package/development/core/mixins/hydration-mixin.js +3 -4
  167. package/development/core/mixins/named-slot-list-mixin.js +4 -7
  168. package/development/core/mixins/negative-mixin.js +1 -1
  169. package/development/core/mixins/panel-mixin.js +2 -3
  170. package/development/core/mixins/required-mixin.js +1 -1
  171. package/development/core/mixins/update-scheduler-mixin.js +1 -1
  172. package/development/core/overlay/overlay-option-panel.js +1 -1
  173. package/development/core/overlay/overlay-trigger-attributes.js +1 -1
  174. package/development/core/overlay/overlay.js +1 -1
  175. package/development/core/overlay/position.js +5 -5
  176. package/development/core/testing/event-spy.js +3 -5
  177. package/development/core/testing/mocha-extensions.js +1 -1
  178. package/development/core/testing/wait-for-condition.js +1 -1
  179. package/development/core/testing/wait-for-image-ready.js +2 -3
  180. package/development/core/testing/wait-for-render.js +2 -3
  181. package/development/date-input/date-input.component.js +4 -6
  182. package/development/datepicker/common/datepicker-association-controllers.js +6 -9
  183. package/development/datepicker/common/datepicker-button.js +7 -11
  184. package/development/datepicker/datepicker/datepicker.component.js +22 -35
  185. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +1 -1
  186. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +1 -1
  187. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +13 -20
  188. package/development/dialog/dialog/dialog.component.js +16 -27
  189. package/development/dialog/dialog-actions/dialog-actions.component.js +1 -1
  190. package/development/dialog/dialog-content/dialog-content.component.js +1 -1
  191. package/development/dialog/dialog-title/dialog-title.component.js +1 -1
  192. package/development/divider/divider.component.js +1 -1
  193. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +9 -13
  194. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
  195. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +4 -5
  196. package/development/file-selector/common/file-selector-common.js +2 -3
  197. package/development/file-selector/file-selector/file-selector.component.js +1 -1
  198. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  199. package/development/flip-card/flip-card/flip-card.component.js +7 -13
  200. package/development/flip-card/flip-card-details/flip-card-details.component.js +2 -3
  201. package/development/flip-card/flip-card-summary/flip-card-summary.component.js +2 -3
  202. package/development/footer/footer.component.js +1 -1
  203. package/development/form-error/form-error.component.js +3 -4
  204. package/development/form-field/form-field/form-field.component.js +19 -30
  205. package/development/form-field/form-field-clear/form-field-clear.component.js +4 -6
  206. package/development/header/common/header-action-common.js +1 -1
  207. package/development/header/header/header.component.js +5 -8
  208. package/development/header/header-button/header-button.component.js +1 -1
  209. package/development/header/header-link/header-link.component.js +1 -1
  210. package/development/icon/icon-base.js +1 -1
  211. package/development/icon/icon-name-mixin.js +1 -1
  212. package/development/icon/icon-request.js +2 -3
  213. package/development/icon/icon-validate.js +1 -1
  214. package/development/icon/icon.component.js +1 -1
  215. package/development/image/image.component.js +7 -9
  216. package/development/journey-header/journey-header.component.js +1 -1
  217. package/development/lead-container/lead-container.component.js +1 -1
  218. package/development/link/block-link/block-link.component.js +1 -1
  219. package/development/link/block-link-button/block-link-button.component.js +1 -1
  220. package/development/link/block-link-static/block-link-static.component.js +1 -1
  221. package/development/link/common/block-link-common.js +1 -1
  222. package/development/link/common/inline-link-common.js +1 -1
  223. package/development/link/link/link.component.js +1 -1
  224. package/development/link/link-button/link-button.component.js +1 -1
  225. package/development/link/link-static/link-static.component.js +1 -1
  226. package/development/link-common-CJEWffDZ.js +1 -1
  227. package/development/link-list/common/link-list-base.js +1 -1
  228. package/development/link-list/link-list/link-list.component.js +1 -1
  229. package/development/link-list/link-list-anchor/link-list-anchor.component.js +1 -1
  230. package/development/loading-indicator/loading-indicator.component.js +1 -1
  231. package/development/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
  232. package/development/logo/logo.component.js +1 -1
  233. package/development/map-container/map-container.component.js +2 -3
  234. package/development/menu/common/menu-action-common.js +1 -1
  235. package/development/menu/menu/menu.component.js +17 -25
  236. package/development/menu/menu-button/menu-button.component.js +1 -1
  237. package/development/menu/menu-link/menu-link.component.js +1 -1
  238. package/development/message/message.component.js +1 -1
  239. package/development/navigation/common/navigation-action-common.js +3 -5
  240. package/development/navigation/navigation/navigation.component.js +19 -35
  241. package/development/navigation/navigation-button/navigation-button.component.js +1 -1
  242. package/development/navigation/navigation-link/navigation-link.component.js +1 -1
  243. package/development/navigation/navigation-list/navigation-list.component.js +1 -1
  244. package/development/navigation/navigation-marker/navigation-marker.component.js +4 -6
  245. package/development/navigation/navigation-section/navigation-section.component.js +22 -32
  246. package/development/notification/notification.component.js +22 -24
  247. package/development/option/optgroup/optgroup-base-element.js +4 -6
  248. package/development/option/optgroup/optgroup.component.js +6 -10
  249. package/development/option/option/option-base-element.js +3 -4
  250. package/development/option/option/option.component.js +7 -10
  251. package/development/overlay/overlay-base-element.js +4 -6
  252. package/development/overlay/overlay.component.js +7 -9
  253. package/development/paginator/common/paginator-common.js +1 -1
  254. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  255. package/development/paginator/paginator/paginator.component.js +2 -3
  256. package/development/popover/popover/popover.component.d.ts.map +1 -1
  257. package/development/popover/popover/popover.component.js +17 -19
  258. package/development/popover/popover-trigger/popover-trigger.component.js +1 -1
  259. package/development/radio-button/common/radio-button-common.js +6 -10
  260. package/development/radio-button/radio-button/radio-button.component.js +2 -5
  261. package/development/radio-button/radio-button-group/radio-button-group.component.js +8 -24
  262. package/development/radio-button/radio-button-panel/radio-button-panel.component.js +3 -7
  263. package/development/screen-reader-only/screen-reader-only.component.js +1 -1
  264. package/development/select/select.component.js +26 -48
  265. package/development/selection-expansion-panel/selection-expansion-panel.component.js +7 -11
  266. package/development/sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
  267. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +1 -1
  268. package/development/sidebar/icon-sidebar-container/icon-sidebar-container.component.js +4 -7
  269. package/development/sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  270. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.js +1 -1
  271. package/development/sidebar/sidebar/sidebar.component.js +8 -15
  272. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
  273. package/development/sidebar/sidebar-container/sidebar-container.component.js +9 -13
  274. package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  275. package/development/sidebar/sidebar-title/sidebar-title.component.js +2 -2
  276. package/development/signet/signet.component.js +1 -1
  277. package/development/skiplink-list/skiplink-list.component.js +1 -1
  278. package/development/slider/slider.component.js +3 -4
  279. package/development/status/status.component.js +3 -2
  280. package/development/stepper/step/step.component.js +5 -7
  281. package/development/stepper/step-label/step-label.component.js +3 -4
  282. package/development/stepper/stepper/stepper.component.js +16 -29
  283. package/development/table/table-wrapper/table-wrapper.component.js +2 -7
  284. package/development/tabs/tab/tab.component.js +1 -1
  285. package/development/tabs/tab-group/tab-group.component.js +23 -38
  286. package/development/tabs/tab-label/tab-label.component.js +1 -1
  287. package/development/tag/tag/tag.component.js +6 -12
  288. package/development/tag/tag-group/tag-group.component.js +5 -13
  289. package/development/teaser/teaser.component.js +1 -1
  290. package/development/teaser-hero/teaser-hero.component.js +1 -1
  291. package/development/teaser-product/common/teaser-product-common.js +1 -1
  292. package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
  293. package/development/teaser-product/teaser-product-static/teaser-product-static.component.js +1 -1
  294. package/development/time-input/time-input.component.js +8 -12
  295. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  296. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +2 -3
  297. package/development/title/title-base.js +1 -2
  298. package/development/title/title.component.js +1 -1
  299. package/development/toast/toast.component.js +4 -7
  300. package/development/toggle/toggle/toggle.component.js +8 -12
  301. package/development/toggle/toggle-option/toggle-option.component.js +9 -16
  302. package/development/toggle-check/toggle-check.component.js +1 -1
  303. package/development/train/train/train.component.js +1 -1
  304. package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  305. package/development/train/train-formation/train-formation.component.js +5 -7
  306. package/development/train/train-wagon/train-wagon.component.js +1 -1
  307. package/development/visual-checkbox/visual-checkbox.component.js +1 -1
  308. package/dialog/dialog/dialog.component.js +59 -70
  309. package/expansion-panel/expansion-panel/expansion-panel.component.js +5 -9
  310. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +31 -32
  311. package/file-selector/common/file-selector-common.js +1 -2
  312. package/flip-card/flip-card/flip-card.component.js +48 -54
  313. package/flip-card/flip-card-details/flip-card-details.component.js +16 -17
  314. package/flip-card/flip-card-summary/flip-card-summary.component.js +18 -19
  315. package/form-error/form-error.component.js +13 -14
  316. package/form-field/form-field/form-field.component.js +128 -139
  317. package/form-field/form-field-clear/form-field-clear.component.js +20 -22
  318. package/header/header/header.component.js +25 -28
  319. package/icon/icon-request.js +10 -11
  320. package/icon-sidebar-button-common-CM-ueEhH.js +7 -0
  321. package/image/image.component.js +4 -6
  322. package/map-container/map-container.component.js +1 -2
  323. package/menu/menu/menu.component.js +48 -56
  324. package/navigation/common/navigation-action-common.js +19 -21
  325. package/navigation/navigation/navigation.component.js +74 -93
  326. package/navigation/navigation-marker/navigation-marker.component.js +26 -28
  327. package/navigation/navigation-section/navigation-section.component.js +79 -89
  328. package/notification/notification.component.js +18 -20
  329. package/option/optgroup/optgroup-base-element.js +40 -42
  330. package/option/optgroup/optgroup.component.js +16 -20
  331. package/option/option/option-base-element.js +3 -4
  332. package/option/option/option.component.js +28 -31
  333. package/overlay/overlay-base-element.js +25 -27
  334. package/overlay/overlay.component.js +38 -40
  335. package/package.json +1 -1
  336. package/paginator/paginator/paginator.component.js +3 -4
  337. package/popover/popover/popover.component.d.ts.map +1 -1
  338. package/popover/popover/popover.component.js +65 -72
  339. package/popover/popover-trigger/popover-trigger.component.js +1 -1
  340. package/radio-button/common/radio-button-common.js +11 -15
  341. package/radio-button/radio-button/radio-button.component.js +20 -23
  342. package/radio-button/radio-button-group/radio-button-group.component.js +27 -43
  343. package/radio-button/radio-button-panel/radio-button-panel.component.js +31 -35
  344. package/select/select.component.js +89 -111
  345. package/selection-expansion-panel/selection-expansion-panel.component.js +35 -39
  346. package/sidebar/common.js +1 -1
  347. package/sidebar/icon-sidebar-container/icon-sidebar-container.component.js +10 -13
  348. package/sidebar/sidebar/sidebar.component.js +61 -68
  349. package/sidebar/sidebar-container/sidebar-container.component.js +29 -33
  350. package/sidebar/sidebar-title/sidebar-title.component.js +1 -1
  351. package/sidebar.js +1 -1
  352. package/slider/slider.component.js +3 -4
  353. package/standard-theme.css +0 -25
  354. package/status/status.component.js +17 -17
  355. package/stepper/step/step.component.js +22 -24
  356. package/stepper/step-label/step-label.component.js +2 -3
  357. package/stepper/stepper/stepper.component.js +72 -86
  358. package/table/table-wrapper/table-wrapper.component.js +13 -14
  359. package/table.css +0 -25
  360. package/tabs/tab-group/tab-group.component.js +77 -92
  361. package/tabs/tab-label/tab-label.component.js +10 -10
  362. package/tag/tag/tag.component.js +55 -61
  363. package/tag/tag-group/tag-group.component.js +21 -29
  364. package/teaser/teaser.component.js +1 -1
  365. package/teaser-product/common.js +1 -1
  366. package/teaser-product/teaser-product/teaser-product.component.js +1 -1
  367. package/teaser-product-common-C8oSkIxy.js +5 -0
  368. package/teaser-product.js +1 -1
  369. package/time-input/time-input.component.js +62 -66
  370. package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +9 -10
  371. package/title/title-base.js +1 -1
  372. package/toast/toast.component.js +4 -7
  373. package/toggle/toggle/toggle.component.js +38 -42
  374. package/toggle/toggle-option/toggle-option.component.js +47 -54
  375. package/train/train-formation/train-formation.component.js +41 -43
  376. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +0 -530
  377. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +0 -1123
  378. package/icon-sidebar-button-common-DG8bnrBu.js +0 -7
  379. package/teaser-product-common-CpMAlYEp.js +0 -5
@@ -136,4 +136,4 @@ let SbbMessageElement = (() => {
136
136
  export {
137
137
  SbbMessageElement
138
138
  };
139
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9tZXNzYWdlL21lc3NhZ2UuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRpdGxlTGV2ZWwgfSBmcm9tICcuLi90aXRsZS5qcyc7XG5pbXBvcnQgJy4uL3RpdGxlLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vbWVzc2FnZS5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgY29tcGxleCBtZXNzYWdlIGNvbWJpbmluZyBhIHRpdGxlLCBhbiBpbWFnZSwgYW4gYWN0aW9uIGFuZCBzb21lIGNvbnRlbnQuXG4gKlxuICogQHNsb3QgaW1hZ2UgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYSBzYmItaW1hZ2UgY29tcG9uZW50LlxuICogQHNsb3QgdGl0bGUgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgdGl0bGUgdGV4dCBmb3IgdGhlIGNvbXBvbmVudC5cbiAqIEBzbG90IHN1YnRpdGxlIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGEgc3VidGl0bGUsIG11c3QgYmUgYSBwYXJhZ3JhcGguXG4gKiBAc2xvdCBsZWdlbmQgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYSBsZWdlbmQsIG11c3QgYmUgYSBwYXJhZ3JhcGguXG4gKiBAc2xvdCBhY3Rpb24gLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYSBzYmItYnV0dG9uLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItbWVzc2FnZScpXG5jbGFzcyBTYmJNZXNzYWdlRWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKiogQ29udGVudCBvZiB0aXRsZS4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3RpdGxlLWNvbnRlbnQnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciB0aXRsZUNvbnRlbnQ6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBMZXZlbCBvZiB0aXRsZSwgaXQgd2lsbCBiZSByZW5kZXJlZCBhcyBoZWFkaW5nIHRhZyAoZS5nLiwgaDMpLiBEZWZhdWx0cyB0byBsZXZlbCAzLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICd0aXRsZS1sZXZlbCcgfSkgcHVibGljIGFjY2Vzc29yIHRpdGxlTGV2ZWw6IFNiYlRpdGxlTGV2ZWwgPSAnMyc7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLW1lc3NhZ2VfX2NvbnRhaW5lclwiPlxuICAgICAgICA8c2xvdCBuYW1lPVwiaW1hZ2VcIj48L3Nsb3Q+XG4gICAgICAgIDxzYmItdGl0bGUgbGV2ZWw9JHt0aGlzLnRpdGxlTGV2ZWx9IHZpc3VhbC1sZXZlbD1cIjVcIiBjbGFzcz1cInNiYi1tZXNzYWdlX190aXRsZVwiPlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJ0aXRsZVwiPiR7dGhpcy50aXRsZUNvbnRlbnR9PC9zbG90PlxuICAgICAgICA8L3NiYi10aXRsZT5cbiAgICAgICAgPHNsb3QgbmFtZT1cInN1YnRpdGxlXCI+PC9zbG90PlxuICAgICAgICA8c2xvdCBuYW1lPVwibGVnZW5kXCI+PC9zbG90PlxuICAgICAgICA8c2xvdCBuYW1lPVwiYWN0aW9uXCI+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW1lc3NhZ2UnOiBTYmJNZXNzYWdlRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQXFCTSxxQkFBaUIsTUFBQTs7MEJBRHRCLGNBQWMsYUFBYSxDQUFDOzs7O29CQUNHOzs7Ozs7O0FBQVIsRUFBQSxtQkFBUSxZQUFVO0FBQUE7O0FBTXhDLHlEQUFBLGtCQUFBLE1BQUEsNEJBQXVDLEVBQUU7QUFHRCx3REFBQSxrQkFBQSxNQUFBLCtCQUFBLEdBQUEsa0JBQUEsTUFBQSwwQkFBNEMsR0FBRzs7OztJQUh2RixJQUFnQixlQUEwQjtBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBMUMsSUFBZ0IsYUFBMEIsT0FBQTtBQUFBLHlCQUFBLGdDQUFBO0FBQUEsSUFBQTtBQUFBO0FBQUEsSUFHRixJQUFnQixhQUFnQztBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBaEQsSUFBZ0IsV0FBZ0MsT0FBQTtBQUFBLHlCQUFBLDhCQUFBO0FBQUEsSUFBQTtBQUFBLElBRXJFLFNBQU07QUFDaEIsYUFBQTtBQUFBO0FBQUE7QUFBQSwyQkFHZ0IsS0FBSyxVQUFVO0FBQUEsK0JBQ1gsS0FBSyxZQUFZO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFBQTtBQUFBLEtBVjlDLGdEQUd3Qzs7Z0NBTHZDLGFBQ0EsU0FBUyxFQUFFLFdBQVcsZ0JBQUEsQ0FBaUIsQ0FBQztBQUl4Qyw2QkFBQSxDQUFBLFNBQVMsRUFBRSxXQUFXLGNBQWUsQ0FBQSxDQUFDO0FBSHZCLGlCQUFBLElBQUEsTUFBQSwwQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLGdCQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLGtCQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBQSxjQUFBLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFBLGVBQTBCO0FBQUEsU0FBQSxVQUFBLGFBQUEsNEJBQUEsK0JBQUE7QUFHYyxpQkFBQSxJQUFBLE1BQUEsd0JBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxjQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLGdCQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBQSxZQUFBLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFBLGFBQWdDO0FBQUEsU0FBQSxVQUFBLGFBQUEsMEJBQUEsNkJBQUE7QUFUMUYsaUJBd0JDLE1BQUEsbUJBQUEsRUFBQSxPQUFBLFdBQUEsR0FBQSxrQkFBQSxFQUFBLE1BQUEsU0FBQSxNQUFBLFdBQUEsTUFBQSxVQUFBLFVBQUEsR0FBQSxNQUFBLHVCQUFBOzs7UUF2QndCLEdBQU0sU0FBbUIsT0FENUMsa0JBQWlCLFlBQUEsdUJBQUEsR0FBQzs7OyJ9
139
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9tZXNzYWdlL21lc3NhZ2UuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRpdGxlTGV2ZWwgfSBmcm9tICcuLi90aXRsZS5qcyc7XG5pbXBvcnQgJy4uL3RpdGxlLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vbWVzc2FnZS5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgY29tcGxleCBtZXNzYWdlIGNvbWJpbmluZyBhIHRpdGxlLCBhbiBpbWFnZSwgYW4gYWN0aW9uIGFuZCBzb21lIGNvbnRlbnQuXG4gKlxuICogQHNsb3QgaW1hZ2UgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYSBzYmItaW1hZ2UgY29tcG9uZW50LlxuICogQHNsb3QgdGl0bGUgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgdGl0bGUgdGV4dCBmb3IgdGhlIGNvbXBvbmVudC5cbiAqIEBzbG90IHN1YnRpdGxlIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGEgc3VidGl0bGUsIG11c3QgYmUgYSBwYXJhZ3JhcGguXG4gKiBAc2xvdCBsZWdlbmQgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYSBsZWdlbmQsIG11c3QgYmUgYSBwYXJhZ3JhcGguXG4gKiBAc2xvdCBhY3Rpb24gLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYSBzYmItYnV0dG9uLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItbWVzc2FnZScpXG5jbGFzcyBTYmJNZXNzYWdlRWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKiogQ29udGVudCBvZiB0aXRsZS4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3RpdGxlLWNvbnRlbnQnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciB0aXRsZUNvbnRlbnQ6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBMZXZlbCBvZiB0aXRsZSwgaXQgd2lsbCBiZSByZW5kZXJlZCBhcyBoZWFkaW5nIHRhZyAoZS5nLiwgaDMpLiBEZWZhdWx0cyB0byBsZXZlbCAzLiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICd0aXRsZS1sZXZlbCcgfSkgcHVibGljIGFjY2Vzc29yIHRpdGxlTGV2ZWw6IFNiYlRpdGxlTGV2ZWwgPSAnMyc7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLW1lc3NhZ2VfX2NvbnRhaW5lclwiPlxuICAgICAgICA8c2xvdCBuYW1lPVwiaW1hZ2VcIj48L3Nsb3Q+XG4gICAgICAgIDxzYmItdGl0bGUgbGV2ZWw9JHt0aGlzLnRpdGxlTGV2ZWx9IHZpc3VhbC1sZXZlbD1cIjVcIiBjbGFzcz1cInNiYi1tZXNzYWdlX190aXRsZVwiPlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJ0aXRsZVwiPiR7dGhpcy50aXRsZUNvbnRlbnR9PC9zbG90PlxuICAgICAgICA8L3NiYi10aXRsZT5cbiAgICAgICAgPHNsb3QgbmFtZT1cInN1YnRpdGxlXCI+PC9zbG90PlxuICAgICAgICA8c2xvdCBuYW1lPVwibGVnZW5kXCI+PC9zbG90PlxuICAgICAgICA8c2xvdCBuYW1lPVwiYWN0aW9uXCI+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW1lc3NhZ2UnOiBTYmJNZXNzYWdlRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQXFCTSxxQkFBaUIsTUFBQTs7MEJBRHRCLGNBQWMsYUFBYSxDQUFDOzs7O29CQUNHOzs7Ozs7O0FBQVIsRUFBQSxtQkFBUSxZQUFVO0FBQUE7O0FBTXhDLHlEQUFBLGtCQUFBLE1BQUEsNEJBQXVDLEVBQUU7QUFHRCx3REFBQSxrQkFBQSxNQUFBLCtCQUFBLEdBQUEsa0JBQUEsTUFBQSwwQkFBNEMsR0FBRzs7OztJQUh2RixJQUFnQixlQUFZO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUE1QixJQUFnQixhQUFZLE9BQUE7QUFBQSx5QkFBQSxnQ0FBQTtBQUFBLElBQUE7QUFBQTtBQUFBLElBR1ksSUFBZ0IsYUFBVTtBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBMUIsSUFBZ0IsV0FBVSxPQUFBO0FBQUEseUJBQUEsOEJBQUE7QUFBQSxJQUFBO0FBQUEsSUFFL0MsU0FBTTtBQUN2QixhQUFPO0FBQUE7QUFBQTtBQUFBLDJCQUdnQixLQUFLLFVBQVU7QUFBQSwrQkFDWCxLQUFLLFlBQVk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQUFBO0FBQUEsS0FWOUMsZ0RBR3dDOztnQ0FMdkMsYUFDQSxTQUFTLEVBQUUsV0FBVyxnQkFBQSxDQUFpQixDQUFDO0FBSXhDLDZCQUFBLENBQUEsU0FBUyxFQUFFLFdBQVcsY0FBQSxDQUFlLENBQUM7QUFIdkMsaUJBQUEsSUFBQSxNQUFBLDBCQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsZ0JBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsa0JBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFnQixjQUFZLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFaLGVBQVk7QUFBQSxJQUFBLEtBQUEsVUFBQSxhQUFBLDRCQUFBLCtCQUFBO0FBR1ksaUJBQUEsSUFBQSxNQUFBLHdCQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsY0FBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxnQkFBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQWdCLFlBQVUsS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQVYsYUFBVTtBQUFBLElBQUEsS0FBQSxVQUFBLGFBQUEsMEJBQUEsNkJBQUE7QUFUcEUsaUJBQUEsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztRQUN5QixHQUFBLFNBQXlCLE9BRDVDLGtCQUFBLFlBQUEsdUJBQUEsR0FBa0I7OzsifQ==
@@ -117,17 +117,15 @@ const SbbNavigationActionCommonElementMixin = (superClass) => {
117
117
  let _size_extraInitializers = [];
118
118
  return _a = class extends _classSuper {
119
119
  constructor(...args) {
120
- var _a2;
121
120
  super(...args);
122
121
  __privateAdd(this, _size_accessor_storage);
123
122
  __privateSet(this, _size_accessor_storage, __runInitializers(this, _size_initializers, isLean() ? "s" : "l"));
124
123
  this.connectedSection = __runInitializers(this, _size_extraInitializers);
125
124
  this._navigationMarker = null;
126
125
  this._navigationSection = null;
127
- (_a2 = this.addEventListener) == null ? void 0 : _a2.call(this, "click", () => {
128
- var _a3;
126
+ this.addEventListener?.("click", () => {
129
127
  if (!this.hasAttribute("data-action-active") && this._navigationMarker && !this.connectedSection) {
130
- (_a3 = this.marker) == null ? void 0 : _a3.select(this);
128
+ this.marker?.select(this);
131
129
  }
132
130
  });
133
131
  }
@@ -172,4 +170,4 @@ const SbbNavigationActionCommonElementMixin = (superClass) => {
172
170
  export {
173
171
  SbbNavigationActionCommonElementMixin
174
172
  };
175
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1hY3Rpb24tY29tbW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbmF2aWdhdGlvbi9jb21tb24vbmF2aWdhdGlvbi1hY3Rpb24tY29tbW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdC9zdGF0aWMtaHRtbC5qcyc7XG5cbmltcG9ydCB0eXBlIHsgU2JiQWN0aW9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgaXNMZWFuIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHR5cGUgeyBBYnN0cmFjdENvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tYnV0dG9uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1saW5rLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiTmF2aWdhdGlvbk1hcmtlckVsZW1lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLW1hcmtlci5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25TZWN0aW9uRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tc2VjdGlvbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL25hdmlnYXRpb24tYWN0aW9uLnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnLi4vLi4vaWNvbi5qcyc7XG5cbmV4cG9ydCB0eXBlIFNiYk5hdmlnYXRpb25BY3Rpb25TaXplID0gJ3MnIHwgJ20nIHwgJ2wnO1xuXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBTYmJOYXZpZ2F0aW9uQWN0aW9uQ29tbW9uRWxlbWVudE1peGluVHlwZSB7XG4gIHB1YmxpYyBhY2Nlc3NvciBzaXplOiBTYmJOYXZpZ2F0aW9uQWN0aW9uU2l6ZTtcbiAgcHVibGljIGdldCBtYXJrZXIoKTogU2JiTmF2aWdhdGlvbk1hcmtlckVsZW1lbnQgfCBudWxsO1xuICBwdWJsaWMgZ2V0IHNlY3Rpb24oKTogU2JiTmF2aWdhdGlvblNlY3Rpb25FbGVtZW50IHwgbnVsbDtcbiAgcHVibGljIGNvbm5lY3RlZFNlY3Rpb246IFNiYk5hdmlnYXRpb25TZWN0aW9uRWxlbWVudCB8IHVuZGVmaW5lZDtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYk5hdmlnYXRpb25BY3Rpb25Db21tb25FbGVtZW50TWl4aW4gPSA8XG4gIFQgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkFjdGlvbkJhc2VFbGVtZW50Pixcbj4oXG4gIHN1cGVyQ2xhc3M6IFQsXG4pOiBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYk5hdmlnYXRpb25BY3Rpb25Db21tb25FbGVtZW50TWl4aW5UeXBlPiAmIFQgPT4ge1xuICBhYnN0cmFjdCBjbGFzcyBTYmJOYXZpZ2F0aW9uQWN0aW9uQ29tbW9uRWxlbWVudFxuICAgIGV4dGVuZHMgc3VwZXJDbGFzc1xuICAgIGltcGxlbWVudHMgUGFydGlhbDxTYmJOYXZpZ2F0aW9uQWN0aW9uQ29tbW9uRWxlbWVudE1peGluVHlwZT5cbiAge1xuICAgIHB1YmxpYyBzdGF0aWMgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gICAgLyoqXG4gICAgICogQWN0aW9uIHNpemUgdmFyaWFudCwgZWl0aGVyIHMsIG0gb3IgbC5cbiAgICAgKiBAZGVmYXVsdCAnbCcgLyAncycgKGxlYW4pXG4gICAgICovXG4gICAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogU2JiTmF2aWdhdGlvbkFjdGlvblNpemUgPSBpc0xlYW4oKVxuICAgICAgPyAncydcbiAgICAgIDogJ2wnO1xuXG4gICAgLyoqIFRoZSBzZWN0aW9uIHRoYXQgaXMgYmVpZ24gY29udHJvbGxlZCBieSB0aGUgYWN0aW9uLCBpZiBhbnkuICovXG4gICAgcHVibGljIGNvbm5lY3RlZFNlY3Rpb24/OiBTYmJOYXZpZ2F0aW9uU2VjdGlvbkVsZW1lbnQ7XG5cbiAgICAvKiogVGhlIG5hdmlnYXRpb24gbWFya2VyIGluIHdoaWNoIHRoZSBhY3Rpb24gaXMgbmVzdGVkLiAqL1xuICAgIHB1YmxpYyBnZXQgbWFya2VyKCk6IFNiYk5hdmlnYXRpb25NYXJrZXJFbGVtZW50IHwgbnVsbCB7XG4gICAgICByZXR1cm4gdGhpcy5fbmF2aWdhdGlvbk1hcmtlcjtcbiAgICB9XG5cbiAgICAvKiogVGhlIHNlY3Rpb24gaW4gd2hpY2ggdGhlIGFjdGlvbiBpcyBuZXN0ZWQuICovXG4gICAgcHVibGljIGdldCBzZWN0aW9uKCk6IFNiYk5hdmlnYXRpb25TZWN0aW9uRWxlbWVudCB8IG51bGwge1xuICAgICAgcmV0dXJuIHRoaXMuX25hdmlnYXRpb25TZWN0aW9uO1xuICAgIH1cblxuICAgIHByaXZhdGUgX25hdmlnYXRpb25NYXJrZXI6IFNiYk5hdmlnYXRpb25NYXJrZXJFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSBfbmF2aWdhdGlvblNlY3Rpb246IFNiYk5hdmlnYXRpb25TZWN0aW9uRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBzdXBlciguLi5hcmdzKTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICF0aGlzLmhhc0F0dHJpYnV0ZSgnZGF0YS1hY3Rpb24tYWN0aXZlJykgJiZcbiAgICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uTWFya2VyICYmXG4gICAgICAgICAgIXRoaXMuY29ubmVjdGVkU2VjdGlvblxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLm1hcmtlcj8uc2VsZWN0KFxuICAgICAgICAgICAgdGhpcyBhcyB1bmtub3duIGFzIFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50LFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICAgIC8vIENoZWNrIGlmIHRoZSBjdXJyZW50IGVsZW1lbnQgaXMgbmVzdGVkIGluc2lkZSBhIG5hdmlnYXRpb24gbWFya2VyLlxuICAgICAgdGhpcy5fbmF2aWdhdGlvbk1hcmtlciA9IHRoaXMuY2xvc2VzdCgnc2JiLW5hdmlnYXRpb24tbWFya2VyJyk7XG5cbiAgICAgIC8vIENoZWNrIGlmIHRoZSBjdXJyZW50IGVsZW1lbnQgaXMgbmVzdGVkIGluc2lkZSBhIG5hdmlnYXRpb24gc2VjdGlvbi5cbiAgICAgIHRoaXMuX25hdmlnYXRpb25TZWN0aW9uID0gdGhpcy5jbG9zZXN0KCdzYmItbmF2aWdhdGlvbi1zZWN0aW9uJyk7XG4gICAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1zZWN0aW9uLWFjdGlvbicsICEhdGhpcy5fbmF2aWdhdGlvblNlY3Rpb24pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgICByZXR1cm4gaHRtbGA8c2JiLWljb24gbmFtZT1cImRhc2gtc21hbGxcIj48L3NiYi1pY29uPiA8c2xvdD48L3Nsb3Q+YDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFNiYk5hdmlnYXRpb25BY3Rpb25Db21tb25FbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJOYXZpZ2F0aW9uQWN0aW9uQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJlxuICAgIFQ7XG59O1xuIl0sIm5hbWVzIjpbIl9hIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTBCYSxNQUFBLHdDQUF3QyxDQUduRCxlQUNzRTtNQUN2RCxvQ0FBZ0MsTUFBQTs7c0JBQ3JDOzs7O0FBREssV0FBQSxtQkFDTCxZQUFVO0FBQUEsTUE2QmxCLGVBQXlCLE1BQVc7O0FBQ2xDLGNBQU0sR0FBRyxJQUFJO0FBckJjO0FBQWdCLDJCQUFBLHdCQUFBLGtCQUFBLE1BQUEsb0JBQWdDLE9BQVEsSUFDakYsTUFDQSxHQUFHO0FBR0EsYUFBQSxtQkFBK0Msa0JBQUEsTUFBQSx1QkFBQTtBQVk5QyxhQUFpQixvQkFBc0M7QUFDdkQsYUFBa0IscUJBQXVDO0FBSTFELFNBQUFBLE1BQUEsS0FBQSxxQkFBQSxnQkFBQUEsSUFBQSxXQUFtQixTQUFTLE1BQUs7O0FBRWxDLGNBQUEsQ0FBQyxLQUFLLGFBQWEsb0JBQW9CLEtBQ3ZDLEtBQUsscUJBQ0wsQ0FBQyxLQUFLLGtCQUNOO0FBQ0ssYUFBQUEsTUFBQSxLQUFBLFdBQUEsZ0JBQUFBLElBQVEsT0FDWDtBQUFBLFVBQXdFO0FBQUEsUUFFNUU7QUFBQSxNQUNEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxNQWhDMEIsSUFBZ0IsT0FFckM7QUFBQSxlQUFBLG1CQUFBO0FBQUEsTUFBQTtBQUFBLE1BRnFCLElBQWdCLEtBRXJDLE9BQUE7QUFBQSwyQkFBQSx3QkFBQTtBQUFBLE1BQUE7QUFBQTtBQUFBLE1BTVIsSUFBVyxTQUFNO0FBQ2YsZUFBTyxLQUFLO0FBQUEsTUFBQTtBQUFBO0FBQUEsTUFJZCxJQUFXLFVBQU87QUFDaEIsZUFBTyxLQUFLO0FBQUEsTUFBQTtBQUFBLE1BcUJFLG9CQUFpQjtBQUMvQixjQUFNLGtCQUFpQjtBQUdsQixhQUFBLG9CQUFvQixLQUFLLFFBQVEsdUJBQXVCO0FBR3hELGFBQUEscUJBQXFCLEtBQUssUUFBUSx3QkFBd0I7QUFDL0QsYUFBSyxnQkFBZ0IsdUJBQXVCLENBQUMsQ0FBQyxLQUFLLGtCQUFrQjtBQUFBLE1BQUE7QUFBQSxNQUdwRCxpQkFBYztBQUN4QixlQUFBO0FBQUEsTUFBQTtBQUFBLE9BL0NvQjs7QUFBNUIseUJBQUEsQ0FBQSxTQUFTLEVBQUUsU0FBUyxLQUFNLENBQUEsQ0FBQztBQUFpQixtQkFBQSxJQUFBLE1BQUEsa0JBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxRQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLFVBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFBLE1BQUEsS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFlBQUEsT0FFckM7QUFBQSxXQUFBLFVBQUEsYUFBQSxvQkFBQSx1QkFBQTs7VUFSTSxHQUFNLFNBQW1CLE9BSjFCO0FBQUE7QUE0RFIsU0FBQTtBQUVUOyJ9
173
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1hY3Rpb24tY29tbW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbmF2aWdhdGlvbi9jb21tb24vbmF2aWdhdGlvbi1hY3Rpb24tY29tbW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdC9zdGF0aWMtaHRtbC5qcyc7XG5cbmltcG9ydCB0eXBlIHsgU2JiQWN0aW9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgaXNMZWFuIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHR5cGUgeyBBYnN0cmFjdENvbnN0cnVjdG9yIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tYnV0dG9uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1saW5rLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiTmF2aWdhdGlvbk1hcmtlckVsZW1lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLW1hcmtlci5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25TZWN0aW9uRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tc2VjdGlvbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL25hdmlnYXRpb24tYWN0aW9uLnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnLi4vLi4vaWNvbi5qcyc7XG5cbmV4cG9ydCB0eXBlIFNiYk5hdmlnYXRpb25BY3Rpb25TaXplID0gJ3MnIHwgJ20nIHwgJ2wnO1xuXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBTYmJOYXZpZ2F0aW9uQWN0aW9uQ29tbW9uRWxlbWVudE1peGluVHlwZSB7XG4gIHB1YmxpYyBhY2Nlc3NvciBzaXplOiBTYmJOYXZpZ2F0aW9uQWN0aW9uU2l6ZTtcbiAgcHVibGljIGdldCBtYXJrZXIoKTogU2JiTmF2aWdhdGlvbk1hcmtlckVsZW1lbnQgfCBudWxsO1xuICBwdWJsaWMgZ2V0IHNlY3Rpb24oKTogU2JiTmF2aWdhdGlvblNlY3Rpb25FbGVtZW50IHwgbnVsbDtcbiAgcHVibGljIGNvbm5lY3RlZFNlY3Rpb246IFNiYk5hdmlnYXRpb25TZWN0aW9uRWxlbWVudCB8IHVuZGVmaW5lZDtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYk5hdmlnYXRpb25BY3Rpb25Db21tb25FbGVtZW50TWl4aW4gPSA8XG4gIFQgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkFjdGlvbkJhc2VFbGVtZW50Pixcbj4oXG4gIHN1cGVyQ2xhc3M6IFQsXG4pOiBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYk5hdmlnYXRpb25BY3Rpb25Db21tb25FbGVtZW50TWl4aW5UeXBlPiAmIFQgPT4ge1xuICBhYnN0cmFjdCBjbGFzcyBTYmJOYXZpZ2F0aW9uQWN0aW9uQ29tbW9uRWxlbWVudFxuICAgIGV4dGVuZHMgc3VwZXJDbGFzc1xuICAgIGltcGxlbWVudHMgUGFydGlhbDxTYmJOYXZpZ2F0aW9uQWN0aW9uQ29tbW9uRWxlbWVudE1peGluVHlwZT5cbiAge1xuICAgIHB1YmxpYyBzdGF0aWMgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gICAgLyoqXG4gICAgICogQWN0aW9uIHNpemUgdmFyaWFudCwgZWl0aGVyIHMsIG0gb3IgbC5cbiAgICAgKiBAZGVmYXVsdCAnbCcgLyAncycgKGxlYW4pXG4gICAgICovXG4gICAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogU2JiTmF2aWdhdGlvbkFjdGlvblNpemUgPSBpc0xlYW4oKVxuICAgICAgPyAncydcbiAgICAgIDogJ2wnO1xuXG4gICAgLyoqIFRoZSBzZWN0aW9uIHRoYXQgaXMgYmVpZ24gY29udHJvbGxlZCBieSB0aGUgYWN0aW9uLCBpZiBhbnkuICovXG4gICAgcHVibGljIGNvbm5lY3RlZFNlY3Rpb24/OiBTYmJOYXZpZ2F0aW9uU2VjdGlvbkVsZW1lbnQ7XG5cbiAgICAvKiogVGhlIG5hdmlnYXRpb24gbWFya2VyIGluIHdoaWNoIHRoZSBhY3Rpb24gaXMgbmVzdGVkLiAqL1xuICAgIHB1YmxpYyBnZXQgbWFya2VyKCk6IFNiYk5hdmlnYXRpb25NYXJrZXJFbGVtZW50IHwgbnVsbCB7XG4gICAgICByZXR1cm4gdGhpcy5fbmF2aWdhdGlvbk1hcmtlcjtcbiAgICB9XG5cbiAgICAvKiogVGhlIHNlY3Rpb24gaW4gd2hpY2ggdGhlIGFjdGlvbiBpcyBuZXN0ZWQuICovXG4gICAgcHVibGljIGdldCBzZWN0aW9uKCk6IFNiYk5hdmlnYXRpb25TZWN0aW9uRWxlbWVudCB8IG51bGwge1xuICAgICAgcmV0dXJuIHRoaXMuX25hdmlnYXRpb25TZWN0aW9uO1xuICAgIH1cblxuICAgIHByaXZhdGUgX25hdmlnYXRpb25NYXJrZXI6IFNiYk5hdmlnYXRpb25NYXJrZXJFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSBfbmF2aWdhdGlvblNlY3Rpb246IFNiYk5hdmlnYXRpb25TZWN0aW9uRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBzdXBlciguLi5hcmdzKTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICF0aGlzLmhhc0F0dHJpYnV0ZSgnZGF0YS1hY3Rpb24tYWN0aXZlJykgJiZcbiAgICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uTWFya2VyICYmXG4gICAgICAgICAgIXRoaXMuY29ubmVjdGVkU2VjdGlvblxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLm1hcmtlcj8uc2VsZWN0KFxuICAgICAgICAgICAgdGhpcyBhcyB1bmtub3duIGFzIFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50LFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICAgIC8vIENoZWNrIGlmIHRoZSBjdXJyZW50IGVsZW1lbnQgaXMgbmVzdGVkIGluc2lkZSBhIG5hdmlnYXRpb24gbWFya2VyLlxuICAgICAgdGhpcy5fbmF2aWdhdGlvbk1hcmtlciA9IHRoaXMuY2xvc2VzdCgnc2JiLW5hdmlnYXRpb24tbWFya2VyJyk7XG5cbiAgICAgIC8vIENoZWNrIGlmIHRoZSBjdXJyZW50IGVsZW1lbnQgaXMgbmVzdGVkIGluc2lkZSBhIG5hdmlnYXRpb24gc2VjdGlvbi5cbiAgICAgIHRoaXMuX25hdmlnYXRpb25TZWN0aW9uID0gdGhpcy5jbG9zZXN0KCdzYmItbmF2aWdhdGlvbi1zZWN0aW9uJyk7XG4gICAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1zZWN0aW9uLWFjdGlvbicsICEhdGhpcy5fbmF2aWdhdGlvblNlY3Rpb24pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgICByZXR1cm4gaHRtbGA8c2JiLWljb24gbmFtZT1cImRhc2gtc21hbGxcIj48L3NiYi1pY29uPiA8c2xvdD48L3Nsb3Q+YDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFNiYk5hdmlnYXRpb25BY3Rpb25Db21tb25FbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJOYXZpZ2F0aW9uQWN0aW9uQ29tbW9uRWxlbWVudE1peGluVHlwZT4gJlxuICAgIFQ7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMEJPLE1BQU0sd0NBQXdDLENBR25ELGVBQ3NFO01BQ3ZELG9DQUFnQyxNQUFBOztzQkFDckM7Ozs7QUFESyxXQUFBLG1CQUNMLFlBQVU7QUFBQSxNQTZCbEIsZUFBeUIsTUFBVztBQUNsQyxjQUFNLEdBQUcsSUFBSTtBQXJCYztBQUFnQiwyQkFBQSx3QkFBQSxrQkFBQSxNQUFBLG9CQUFnQyxPQUFBLElBQ3pFLE1BQ0EsR0FBRztBQUdBLGFBQUEsbUJBQWdCLGtCQUFBLE1BQUEsdUJBQUE7QUFZZixhQUFBLG9CQUF1RDtBQUN2RCxhQUFBLHFCQUF5RDtBQUkvRCxhQUFLLG1CQUFtQixTQUFTLE1BQUs7QUFDcEMsY0FDRSxDQUFDLEtBQUssYUFBYSxvQkFBb0IsS0FDdkMsS0FBSyxxQkFDTCxDQUFDLEtBQUssa0JBQ047QUFDQSxpQkFBSyxRQUFRLE9BQ1gsSUFBd0U7QUFBQSxVQUFBO0FBQUEsUUFFNUUsQ0FDRDtBQUFBLE1BQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLE1BaEMwQixJQUFnQixPQUFJO0FBQUEsZUFBQSxtQkFBQTtBQUFBLE1BQUE7QUFBQSxNQUFwQixJQUFnQixLQUFJLE9BQUE7QUFBQSwyQkFBQSx3QkFBQTtBQUFBLE1BQUE7QUFBQTtBQUFBLE1BUWpELElBQVcsU0FBTTtBQUNmLGVBQU8sS0FBSztBQUFBLE1BQUE7QUFBQTtBQUFBLE1BSWQsSUFBVyxVQUFPO0FBQ2hCLGVBQU8sS0FBSztBQUFBLE1BQUE7QUFBQSxNQXFCRSxvQkFBaUI7QUFDL0IsY0FBTSxrQkFBQTtBQUdOLGFBQUssb0JBQW9CLEtBQUssUUFBUSx1QkFBdUI7QUFHN0QsYUFBSyxxQkFBcUIsS0FBSyxRQUFRLHdCQUF3QjtBQUMvRCxhQUFLLGdCQUFnQix1QkFBdUIsQ0FBQyxDQUFDLEtBQUssa0JBQWtCO0FBQUEsTUFBQTtBQUFBLE1BR3BELGlCQUFjO0FBQy9CLGVBQU87QUFBQSxNQUFBO0FBQUEsSUFDVCxHQWhENkI7O0FBQTVCLHlCQUFBLENBQUEsU0FBUyxFQUFFLFNBQVMsS0FBQSxDQUFNLENBQUM7QUFBQyxtQkFBQSxJQUFBLE1BQUEsa0JBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxRQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLFVBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFnQixNQUFJLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxZQUFKLE9BQUk7QUFBQSxNQUFBLEtBQUEsVUFBQSxhQUFBLG9CQUFBLHVCQUFBOztVQU5uQyxHQUFBLFNBQXlCLE9BSjFCO0FBQUE7QUE0RGYsU0FBTztBQUVUOyJ9
@@ -302,7 +302,6 @@ let SbbNavigationElement = (() => {
302
302
  let __activeNavigationSection_extraInitializers = [];
303
303
  _a = class extends _classSuper {
304
304
  constructor() {
305
- var _a2, _b, _c;
306
305
  super();
307
306
  __privateAdd(this, _trigger_accessor_storage);
308
307
  __privateAdd(this, _accessibilityCloseLabel_accessor_storage);
@@ -325,17 +324,16 @@ let SbbNavigationElement = (() => {
325
324
  callback: () => this._onNavigationResize()
326
325
  });
327
326
  this._pointerDownListener = (event) => {
328
- var _a3, _b2;
329
- this._isPointerDownEventOnNavigation = isEventOnElement(this._navigation, event) || isEventOnElement((_b2 = (_a3 = this.querySelector('sbb-navigation-section[data-state="opened"]')) == null ? void 0 : _a3.shadowRoot) == null ? void 0 : _b2.querySelector("nav.sbb-navigation-section"), event);
327
+ this._isPointerDownEventOnNavigation = isEventOnElement(this._navigation, event) || isEventOnElement(this.querySelector('sbb-navigation-section[data-state="opened"]')?.shadowRoot?.querySelector("nav.sbb-navigation-section"), event);
330
328
  };
331
329
  this._closeOnBackdropClick = (event) => {
332
330
  if (!this._isPointerDownEventOnNavigation && !isEventOnElement(this._navigation, event)) {
333
331
  this.close();
334
332
  }
335
333
  };
336
- (_a2 = this.addEventListener) == null ? void 0 : _a2.call(this, "click", (event) => this._handleNavigationClose(event));
337
- (_b = this.addEventListener) == null ? void 0 : _b.call(this, "pointerup", (event) => this._closeOnBackdropClick(event));
338
- (_c = this.addEventListener) == null ? void 0 : _c.call(this, "pointerdown", (event) => this._pointerDownListener(event));
334
+ this.addEventListener?.("click", (event) => this._handleNavigationClose(event));
335
+ this.addEventListener?.("pointerup", (event) => this._closeOnBackdropClick(event));
336
+ this.addEventListener?.("pointerdown", (event) => this._pointerDownListener(event));
339
337
  this.addController(new MutationController(this, {
340
338
  skipInitial: true,
341
339
  config: navigationObserverConfig,
@@ -372,49 +370,41 @@ let SbbNavigationElement = (() => {
372
370
  }
373
371
  /** Returns the close button element. */
374
372
  get closeButton() {
375
- var _a2;
376
- return ((_a2 = this.shadowRoot) == null ? void 0 : _a2.querySelector("#sbb-navigation-close-button")) ?? null;
373
+ return this.shadowRoot?.querySelector("#sbb-navigation-close-button") ?? null;
377
374
  }
378
375
  /** Returns the navigation content element. */
379
376
  get navigationContent() {
380
- var _a2;
381
- return ((_a2 = this.shadowRoot) == null ? void 0 : _a2.querySelector(".sbb-navigation__content")) ?? null;
377
+ return this.shadowRoot?.querySelector(".sbb-navigation__content") ?? null;
382
378
  }
383
379
  /** Opens the navigation. */
384
380
  open() {
385
- var _a2, _b;
386
381
  if (this.state !== "closed" || !this.hasUpdated) {
387
382
  return;
388
383
  }
389
384
  if (!this.willOpen.emit()) {
390
385
  return;
391
386
  }
392
- (_a2 = this.showPopover) == null ? void 0 : _a2.call(this);
387
+ this.showPopover?.();
393
388
  this.state = "opening";
394
389
  this._checkActiveActions();
395
390
  this._checkActiveSection();
396
391
  this.startUpdate();
397
392
  this._scrollHandler.disableScroll();
398
- (_b = this._triggerElement) == null ? void 0 : _b.setAttribute("aria-expanded", "true");
393
+ this._triggerElement?.setAttribute("aria-expanded", "true");
399
394
  if (this._isZeroAnimationDuration()) {
400
395
  this._handleOpening();
401
396
  }
402
397
  }
403
398
  _checkActiveSection() {
404
- var _a2;
405
399
  const activeAction = this.querySelector("sbb-navigation-button.sbb-active");
406
- (_a2 = activeAction == null ? void 0 : activeAction.connectedSection) == null ? void 0 : _a2.open();
400
+ activeAction?.connectedSection?.open();
407
401
  }
408
402
  _checkActiveActions() {
409
403
  const activeActions = Array.from(this.querySelectorAll(":is(sbb-navigation-button, sbb-navigation-link).sbb-active"));
410
- activeActions == null ? void 0 : activeActions.forEach((action) => {
411
- var _a2;
412
- return (_a2 = action.marker) == null ? void 0 : _a2.select(action);
413
- });
404
+ activeActions?.forEach((action) => action.marker?.select(action));
414
405
  }
415
406
  /** Closes the navigation. */
416
407
  close() {
417
- var _a2;
418
408
  if (this.state !== "opened") {
419
409
  return;
420
410
  }
@@ -423,7 +413,7 @@ let SbbNavigationElement = (() => {
423
413
  }
424
414
  this.state = "closing";
425
415
  this.startUpdate();
426
- (_a2 = this._triggerElement) == null ? void 0 : _a2.setAttribute("aria-expanded", "false");
416
+ this._triggerElement?.setAttribute("aria-expanded", "false");
427
417
  if (this._isZeroAnimationDuration()) {
428
418
  this._handleClosing();
429
419
  }
@@ -432,12 +422,11 @@ let SbbNavigationElement = (() => {
432
422
  return isZeroAnimationDuration(this, "--sbb-navigation-animation-duration");
433
423
  }
434
424
  _handleClosing() {
435
- var _a2, _b, _c;
436
425
  this.state = "closed";
437
- (_a2 = this.hidePopover) == null ? void 0 : _a2.call(this);
438
- (_b = this.navigationContent) == null ? void 0 : _b.scrollTo(0, 0);
426
+ this.hidePopover?.();
427
+ this.navigationContent?.scrollTo(0, 0);
439
428
  this._inertController.deactivate();
440
- (_c = this._triggerElement) == null ? void 0 : _c.focus();
429
+ this._triggerElement?.focus();
441
430
  this._escapableOverlayController.disconnect();
442
431
  this.didClose.emit();
443
432
  this._navigationResizeObserver.unobserve(this);
@@ -459,12 +448,11 @@ let SbbNavigationElement = (() => {
459
448
  // Removes trigger click listener on trigger change.
460
449
  // Check if the trigger is valid and attach click event listeners.
461
450
  _configureTrigger() {
462
- var _a2;
463
451
  const triggerElement = this.trigger instanceof HTMLElement ? this.trigger : this._triggerIdReferenceController.find();
464
452
  if (triggerElement === this._triggerElement) {
465
453
  return;
466
454
  }
467
- (_a2 = this._triggerAbortController) == null ? void 0 : _a2.abort();
455
+ this._triggerAbortController?.abort();
468
456
  removeAriaOverlayTriggerAttributes(this._triggerElement);
469
457
  this._triggerElement = triggerElement;
470
458
  if (!this._triggerElement) {
@@ -487,10 +475,7 @@ let SbbNavigationElement = (() => {
487
475
  }
488
476
  _resetMarkers() {
489
477
  const activeActions = Array.from(this.querySelectorAll(":is(sbb-navigation-button, sbb-navigation-link)[data-action-active]:not(.sbb-active)"));
490
- activeActions == null ? void 0 : activeActions.forEach((action) => {
491
- var _a2;
492
- return (_a2 = action.marker) == null ? void 0 : _a2.reset();
493
- });
478
+ activeActions?.forEach((action) => action.marker?.reset());
494
479
  }
495
480
  _handleNavigationClose(event) {
496
481
  const composedPathElements = event.composedPath().filter((el) => el instanceof window.HTMLElement);
@@ -522,16 +507,15 @@ let SbbNavigationElement = (() => {
522
507
  }
523
508
  connectedCallback() {
524
509
  super.connectedCallback();
525
- this.id || (this.id = `sbb-navigation-${nextId++}`);
510
+ this.id ||= `sbb-navigation-${nextId++}`;
526
511
  if (this.hasUpdated) {
527
512
  this._configureTrigger();
528
513
  }
529
514
  }
530
515
  disconnectedCallback() {
531
- var _a2;
532
516
  super.disconnectedCallback();
533
517
  this._triggerElement = null;
534
- (_a2 = this._triggerAbortController) == null ? void 0 : _a2.abort();
518
+ this._triggerAbortController?.abort();
535
519
  this._scrollHandler.enableScroll();
536
520
  }
537
521
  requestUpdate(name, oldValue, options) {
@@ -600,4 +584,4 @@ let SbbNavigationElement = (() => {
600
584
  export {
601
585
  SbbNavigationElement
602
586
  };
603
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24vbmF2aWdhdGlvbi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTXV0YXRpb25Db250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9tdXRhdGlvbi1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICB0eXBlIFByb3BlcnR5RGVjbGFyYXRpb24sXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xuXG5pbXBvcnQgeyBTYmJGb2N1c1RyYXBDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7XG4gIFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLFxuICBTYmJJZFJlZmVyZW5jZUNvbnRyb2xsZXIsXG4gIFNiYkluZXJ0Q29udHJvbGxlcixcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxufSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSwgaG9zdEF0dHJpYnV0ZXMgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24sIFNiYlNjcm9sbEhhbmRsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBpMThuQ2xvc2VOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7IFNiYlVwZGF0ZVNjaGVkdWxlck1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHtcbiAgaXNFdmVudE9uRWxlbWVudCxcbiAgcmVtb3ZlQXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyxcbiAgc2V0QXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyxcbn0gZnJvbSAnLi4vLi4vY29yZS9vdmVybGF5LmpzJztcbmltcG9ydCB0eXBlIHsgU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLWJ1dHRvbi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tbGluay5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25TZWN0aW9uRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tc2VjdGlvbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL25hdmlnYXRpb24uc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9idXR0b24vdHJhbnNwYXJlbnQtYnV0dG9uLmpzJztcblxuLyoqIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBhdHRyaWJ1dGUgdG8gbG9vayBhdCBpZiBhIG5hdmlnYXRpb24gc2VjdGlvbiBpcyBkaXNwbGF5ZWQgKi9cbmNvbnN0IG5hdmlnYXRpb25PYnNlcnZlckNvbmZpZzogTXV0YXRpb25PYnNlcnZlckluaXQgPSB7XG4gIHN1YnRyZWU6IHRydWUsXG4gIGF0dHJpYnV0ZUZpbHRlcjogWydkYXRhLXN0YXRlJ10sXG59O1xuXG5sZXQgbmV4dElkID0gMDtcbmNvbnN0IERFQk9VTkNFX1RJTUUgPSAxNTA7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBuYXZpZ2F0aW9uIG1lbnUsIHdyYXBwaW5nIG9uZSBvciBtb3JlIGBzYmItbmF2aWdhdGlvbi0qYCBjb21wb25lbnRzLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItbmF2aWdhdGlvbi1idXR0b25gL2BzYmItbmF2aWdhdGlvbi1saW5rYCBlbGVtZW50cyBpbnRvIHRoZSBzYmItbmF2aWdhdGlvbiBtZW51LlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gd2lsbE9wZW4gLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1uYXZpZ2F0aW9uYCBiZWdpbnMgdGhlIG9wZW5pbmcgdHJhbnNpdGlvbi4gQ2FuIGJlIGNhbmNlbGVkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gZGlkT3BlbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW5hdmlnYXRpb25gIGlzIG9wZW5lZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxDbG9zZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW5hdmlnYXRpb25gIGJlZ2lucyB0aGUgY2xvc2luZyB0cmFuc2l0aW9uLiBDYW4gYmUgY2FuY2VsZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRDbG9zZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW5hdmlnYXRpb25gIGlzIGNsb3NlZC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1uYXZpZ2F0aW9uLXotaW5kZXg9dmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KV0gLSBUbyBzcGVjaWZ5IGEgY3VzdG9tIHN0YWNrIG9yZGVyLFxuICogdGhlIGB6LWluZGV4YCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyB0aGlzIENTUyB2YXJpYWJsZS4gVGhlIGRlZmF1bHQgYHotaW5kZXhgIG9mIHRoZVxuICogY29tcG9uZW50IGlzIHNldCB0byBgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KWAgd2l0aCBhIHZhbHVlIG9mIGAxMDAwYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLW5hdmlnYXRpb24nKVxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgcm9sZTogJ25hdmlnYXRpb24nLFxuICBwb3BvdmVyOiAnbWFudWFsJyxcbn0pXG5jbGFzcyBTYmJOYXZpZ2F0aW9uRWxlbWVudCBleHRlbmRzIFNiYlVwZGF0ZVNjaGVkdWxlck1peGluKFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCB0aGF0IHdpbGwgdHJpZ2dlciB0aGUgbmF2aWdhdGlvbi5cbiAgICogQWNjZXB0cyBib3RoIGEgc3RyaW5nIChpZCBvZiBhbiBlbGVtZW50KSBvciBhbiBIVE1MIGVsZW1lbnQuXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3IgdHJpZ2dlcjogc3RyaW5nIHwgSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSBjbG9zZSBidXR0b24gZWxlbWVudC4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktY2xvc2UtbGFiZWwnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5Q2xvc2VMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgLyoqIFdoZXRoZXIgYSBuYXZpZ2F0aW9uIHNlY3Rpb24gaXMgZGlzcGxheWVkLiAqL1xuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9hY3RpdmVOYXZpZ2F0aW9uU2VjdGlvbjogU2JiTmF2aWdhdGlvblNlY3Rpb25FbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFJldHVybnMgdGhlIGFjdGl2ZSBuYXZpZ2F0aW9uIHNlY3Rpb24gZWxlbWVudC4gKi9cbiAgcHVibGljIGdldCBhY3RpdmVOYXZpZ2F0aW9uU2VjdGlvbigpOiBTYmJOYXZpZ2F0aW9uU2VjdGlvbkVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlTmF2aWdhdGlvblNlY3Rpb247XG4gIH1cblxuICAvKiogUmV0dXJucyB0aGUgY2xvc2UgYnV0dG9uIGVsZW1lbnQuICovXG4gIHB1YmxpYyBnZXQgY2xvc2VCdXR0b24oKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCcjc2JiLW5hdmlnYXRpb24tY2xvc2UtYnV0dG9uJykgPz8gbnVsbDtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSBuYXZpZ2F0aW9uIGNvbnRlbnQgZWxlbWVudC4gKi9cbiAgcHVibGljIGdldCBuYXZpZ2F0aW9uQ29udGVudCgpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoJy5zYmItbmF2aWdhdGlvbl9fY29udGVudCcpID8/IG51bGw7XG4gIH1cblxuICBwcml2YXRlIF9uYXZpZ2F0aW9uITogSFRNTERpdkVsZW1lbnQ7XG4gIHByaXZhdGUgX3RyaWdnZXJFbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF90cmlnZ2VyQWJvcnRDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF90cmlnZ2VySWRSZWZlcmVuY2VDb250cm9sbGVyID0gbmV3IFNiYklkUmVmZXJlbmNlQ29udHJvbGxlcih0aGlzLCAndHJpZ2dlcicpO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2luZXJ0Q29udHJvbGxlciA9IG5ldyBTYmJJbmVydENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyID0gbmV3IFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9mb2N1c1RyYXBDb250cm9sbGVyID0gbmV3IFNiYkZvY3VzVHJhcENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX3Njcm9sbEhhbmRsZXIgPSBuZXcgU2JiU2Nyb2xsSGFuZGxlcigpO1xuICBwcml2YXRlIF9pc1BvaW50ZXJEb3duRXZlbnRPbk5hdmlnYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXJUaW1lb3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9uYXZpZ2F0aW9uUmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX29uTmF2aWdhdGlvblJlc2l6ZSgpLFxuICB9KTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2xpY2snLCAoZXZlbnQpID0+IHRoaXMuX2hhbmRsZU5hdmlnYXRpb25DbG9zZShldmVudCkpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdwb2ludGVydXAnLCAoZXZlbnQpID0+IHRoaXMuX2Nsb3NlT25CYWNrZHJvcENsaWNrKGV2ZW50KSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3BvaW50ZXJkb3duJywgKGV2ZW50KSA9PiB0aGlzLl9wb2ludGVyRG93bkxpc3RlbmVyKGV2ZW50KSk7XG5cbiAgICB0aGlzLmFkZENvbnRyb2xsZXIoXG4gICAgICBuZXcgTXV0YXRpb25Db250cm9sbGVyKHRoaXMsIHtcbiAgICAgICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgICAgIGNvbmZpZzogbmF2aWdhdGlvbk9ic2VydmVyQ29uZmlnLFxuICAgICAgICBjYWxsYmFjazogKG11dGF0aW9uc0xpc3Q6IE11dGF0aW9uUmVjb3JkW10pID0+XG4gICAgICAgICAgdGhpcy5fb25OYXZpZ2F0aW9uU2VjdGlvbkNoYW5nZShtdXRhdGlvbnNMaXN0KSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICAvKiogT3BlbnMgdGhlIG5hdmlnYXRpb24uICovXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnY2xvc2VkJyB8fCAhdGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdGhpcy53aWxsT3Blbi5lbWl0KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNob3dQb3BvdmVyPy4oKTtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuICAgIHRoaXMuX2NoZWNrQWN0aXZlQWN0aW9ucygpO1xuICAgIHRoaXMuX2NoZWNrQWN0aXZlU2VjdGlvbigpO1xuICAgIHRoaXMuc3RhcnRVcGRhdGUoKTtcblxuICAgIC8vIERpc2FibGUgc2Nyb2xsaW5nIGZvciBjb250ZW50IGJlbG93IHRoZSBuYXZpZ2F0aW9uXG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5kaXNhYmxlU2Nyb2xsKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICd0cnVlJyk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrQWN0aXZlU2VjdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVBY3Rpb24gPSB0aGlzLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnc2JiLW5hdmlnYXRpb24tYnV0dG9uLnNiYi1hY3RpdmUnLFxuICAgICkgYXMgU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQ7XG4gICAgYWN0aXZlQWN0aW9uPy5jb25uZWN0ZWRTZWN0aW9uPy5vcGVuKCk7XG4gIH1cblxuICBwcml2YXRlIF9jaGVja0FjdGl2ZUFjdGlvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgYWN0aXZlQWN0aW9ucyA9IEFycmF5LmZyb20oXG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoJzppcyhzYmItbmF2aWdhdGlvbi1idXR0b24sIHNiYi1uYXZpZ2F0aW9uLWxpbmspLnNiYi1hY3RpdmUnKSxcbiAgICApIGFzIChTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB8IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudClbXTtcbiAgICBhY3RpdmVBY3Rpb25zPy5mb3JFYWNoKChhY3Rpb24pID0+IGFjdGlvbi5tYXJrZXI/LnNlbGVjdChhY3Rpb24pKTtcbiAgfVxuXG4gIC8qKiBDbG9zZXMgdGhlIG5hdmlnYXRpb24uICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLndpbGxDbG9zZS5lbWl0KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIHRoaXMuc3RhcnRVcGRhdGUoKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ2ZhbHNlJyk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgY2xvc2VkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItbmF2aWdhdGlvbi1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHRoaXMuaGlkZVBvcG92ZXI/LigpO1xuICAgIHRoaXMubmF2aWdhdGlvbkNvbnRlbnQ/LnNjcm9sbFRvKDAsIDApO1xuICAgIHRoaXMuX2luZXJ0Q29udHJvbGxlci5kZWFjdGl2YXRlKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgdGhpcy5fZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuZGlkQ2xvc2UuZW1pdCgpO1xuICAgIHRoaXMuX25hdmlnYXRpb25SZXNpemVPYnNlcnZlci51bm9ic2VydmUodGhpcyk7XG4gICAgdGhpcy5fcmVzZXRNYXJrZXJzKCk7XG4gICAgdGhpcy5fZm9jdXNUcmFwQ29udHJvbGxlci5lbmFibGVkID0gZmFsc2U7XG5cbiAgICAvLyBFbmFibGUgc2Nyb2xsaW5nIGZvciBjb250ZW50IGJlbG93IHRoZSBuYXZpZ2F0aW9uXG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgICB0aGlzLmNvbXBsZXRlVXBkYXRlKCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLl9uYXZpZ2F0aW9uUmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzKTtcbiAgICB0aGlzLl9pbmVydENvbnRyb2xsZXIuYWN0aXZhdGUoKTtcbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5jb25uZWN0KCk7XG4gICAgdGhpcy5fZm9jdXNUcmFwQ29udHJvbGxlci5mb2N1c0luaXRpYWxFbGVtZW50KCk7XG4gICAgdGhpcy5fZm9jdXNUcmFwQ29udHJvbGxlci5lbmFibGVkID0gdHJ1ZTtcbiAgICB0aGlzLmNvbXBsZXRlVXBkYXRlKCk7XG4gICAgdGhpcy5kaWRPcGVuLmVtaXQoKTtcbiAgfVxuXG4gIC8vIFJlbW92ZXMgdHJpZ2dlciBjbGljayBsaXN0ZW5lciBvbiB0cmlnZ2VyIGNoYW5nZS5cbiAgLy8gQ2hlY2sgaWYgdGhlIHRyaWdnZXIgaXMgdmFsaWQgYW5kIGF0dGFjaCBjbGljayBldmVudCBsaXN0ZW5lcnMuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZVRyaWdnZXIoKTogdm9pZCB7XG4gICAgY29uc3QgdHJpZ2dlckVsZW1lbnQgPVxuICAgICAgdGhpcy50cmlnZ2VyIGluc3RhbmNlb2YgSFRNTEVsZW1lbnRcbiAgICAgICAgPyB0aGlzLnRyaWdnZXJcbiAgICAgICAgOiB0aGlzLl90cmlnZ2VySWRSZWZlcmVuY2VDb250cm9sbGVyLmZpbmQoKTtcblxuICAgIGlmICh0cmlnZ2VyRWxlbWVudCA9PT0gdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHJlbW92ZUFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXModGhpcy5fdHJpZ2dlckVsZW1lbnQpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gdHJpZ2dlckVsZW1lbnQ7XG5cbiAgICBpZiAoIXRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc2V0QXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyh0aGlzLl90cmlnZ2VyRWxlbWVudCwgJ21lbnUnLCB0aGlzLmlkLCB0aGlzLnN0YXRlKTtcbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5vcGVuKCksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gIH1cblxuICAvLyBJbiByYXJlIGNhc2VzIGl0IGNhbiBiZSB0aGF0IHRoZSBhbmltYXRpb25FbmQgZXZlbnQgaXMgdHJpZ2dlcmVkIHR3aWNlLlxuICAvLyBUbyBhdm9pZCBlbnRlcmluZyBhIGNvcnJ1cHQgc3RhdGUsIGV4aXQgd2hlbiBzdGF0ZSBpcyBub3QgZXhwZWN0ZWQuXG4gIHByaXZhdGUgX29uQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnb3BlbicgJiYgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnY2xvc2UnICYmIHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3Jlc2V0TWFya2VycygpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVBY3Rpb25zID0gQXJyYXkuZnJvbShcbiAgICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgJzppcyhzYmItbmF2aWdhdGlvbi1idXR0b24sIHNiYi1uYXZpZ2F0aW9uLWxpbmspW2RhdGEtYWN0aW9uLWFjdGl2ZV06bm90KC5zYmItYWN0aXZlKScsXG4gICAgICApLFxuICAgICkgYXMgKFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50KVtdO1xuICAgIGFjdGl2ZUFjdGlvbnM/LmZvckVhY2goKGFjdGlvbikgPT4gYWN0aW9uLm1hcmtlcj8ucmVzZXQoKSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVOYXZpZ2F0aW9uQ2xvc2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY29tcG9zZWRQYXRoRWxlbWVudHMgPSBldmVudFxuICAgICAgLmNvbXBvc2VkUGF0aCgpXG4gICAgICAuZmlsdGVyKChlbCkgPT4gZWwgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpO1xuICAgIGlmIChjb21wb3NlZFBhdGhFbGVtZW50cy5zb21lKChlbCkgPT4gdGhpcy5faXNDbG9zZUVsZW1lbnQoZWwgYXMgSFRNTEVsZW1lbnQpKSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzQ2xvc2VFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGVsZW1lbnQubm9kZU5hbWUgPT09ICdBJyB8fFxuICAgICAgKGVsZW1lbnQuaGFzQXR0cmlidXRlKCdzYmItbmF2aWdhdGlvbi1jbG9zZScpICYmICFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSlcbiAgICApO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHBvaW50ZXJkb3duIGV2ZW50IHRhcmdldCBpcyB0cmlnZ2VyZWQgb24gdGhlIG5hdmlnYXRpb24uXG4gIHByaXZhdGUgX3BvaW50ZXJEb3duTGlzdGVuZXIgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uTmF2aWdhdGlvbiA9XG4gICAgICBpc0V2ZW50T25FbGVtZW50KHRoaXMuX25hdmlnYXRpb24sIGV2ZW50KSB8fFxuICAgICAgaXNFdmVudE9uRWxlbWVudChcbiAgICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgICdzYmItbmF2aWdhdGlvbi1zZWN0aW9uW2RhdGEtc3RhdGU9XCJvcGVuZWRcIl0nLFxuICAgICAgICApPy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCduYXYuc2JiLW5hdmlnYXRpb24tc2VjdGlvbicpIGFzIEhUTUxFbGVtZW50LFxuICAgICAgICBldmVudCxcbiAgICAgICk7XG4gIH07XG5cbiAgLy8gQ2xvc2UgbmF2aWdhdGlvbiBvbiBiYWNrZHJvcCBjbGljay5cbiAgcHJpdmF0ZSBfY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmICghdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25OYXZpZ2F0aW9uICYmICFpc0V2ZW50T25FbGVtZW50KHRoaXMuX25hdmlnYXRpb24sIGV2ZW50KSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfTtcblxuICAvLyBPYnNlcnZlIGNoYW5nZXMgb24gbmF2aWdhdGlvbiBzZWN0aW9uIGRhdGEtc3RhdGUuXG4gIHByaXZhdGUgX29uTmF2aWdhdGlvblNlY3Rpb25DaGFuZ2UobXV0YXRpb25zTGlzdDogTXV0YXRpb25SZWNvcmRbXSk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgbXV0YXRpb24gb2YgbXV0YXRpb25zTGlzdCkge1xuICAgICAgaWYgKChtdXRhdGlvbi50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLm5vZGVOYW1lID09PSAnU0JCLU5BVklHQVRJT04tU0VDVElPTicpIHtcbiAgICAgICAgdGhpcy5fYWN0aXZlTmF2aWdhdGlvblNlY3Rpb24gPSB0aGlzLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICAgJ3NiYi1uYXZpZ2F0aW9uLXNlY3Rpb25bZGF0YS1zdGF0ZT1cIm9wZW5pbmdcIl0sIHNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25bZGF0YS1zdGF0ZT1cIm9wZW5lZFwiXScsXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWhhcy1uYXZpZ2F0aW9uLXNlY3Rpb24nLCAhIXRoaXMuX2FjdGl2ZU5hdmlnYXRpb25TZWN0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vbk5hdmlnYXRpb25SZXNpemUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCk7XG4gICAgfVxuXG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtcmVzaXplLWRpc2FibGUtYW5pbWF0aW9uJywgdHJ1ZSk7XG5cbiAgICAvLyBEaXNhYmxlIHRoZSBhbmltYXRpb24gd2hlbiByZXNpemluZyB0aGUgbmF2aWdhdGlvbiB0byBhdm9pZCBzdHJhbmdlIGhlaWdodCB0cmFuc2l0aW9uIGVmZmVjdHMuXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHRoaXMucmVtb3ZlQXR0cmlidXRlKCdkYXRhLXJlc2l6ZS1kaXNhYmxlLWFuaW1hdGlvbicpLFxuICAgICAgREVCT1VOQ0VfVElNRSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5pZCB8fD0gYHNiYi1uYXZpZ2F0aW9uLSR7bmV4dElkKyt9YDtcbiAgICBpZiAodGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSBudWxsO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuXG4gICAgaWYgKCFpc1NlcnZlciAmJiAoIW5hbWUgfHwgbmFtZSA9PT0gJ3RyaWdnZXInKSAmJiB0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyZVRyaWdnZXIoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgY2xvc2VCdXR0b24gPSBodG1sYFxuICAgICAgPHNiYi10cmFuc3BhcmVudC1idXR0b25cbiAgICAgICAgaWQ9XCJzYmItbmF2aWdhdGlvbi1jbG9zZS1idXR0b25cIlxuICAgICAgICBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uX19jbG9zZVwiXG4gICAgICAgIGFyaWEtbGFiZWw9JHt0aGlzLmFjY2Vzc2liaWxpdHlDbG9zZUxhYmVsIHx8IGkxOG5DbG9zZU5hdmlnYXRpb25bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgIGFyaWEtY29udHJvbHM9XCJzYmItbmF2aWdhdGlvbi1vdmVybGF5XCJcbiAgICAgICAgbmVnYXRpdmVcbiAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgaWNvbi1uYW1lPVwiY3Jvc3Mtc21hbGxcIlxuICAgICAgICBzYmItbmF2aWdhdGlvbi1jbG9zZVxuICAgICAgPjwvc2JiLXRyYW5zcGFyZW50LWJ1dHRvbj5cbiAgICBgO1xuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLW5hdmlnYXRpb25fX2NvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgaWQ9XCJzYmItbmF2aWdhdGlvbi1vdmVybGF5XCJcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25BbmltYXRpb25FbmR9XG4gICAgICAgICAgY2xhc3M9XCJzYmItbmF2aWdhdGlvblwiXG4gICAgICAgICAgJHtyZWYoKG5hdmlnYXRpb25SZWY/OiBFbGVtZW50KSA9PiAodGhpcy5fbmF2aWdhdGlvbiA9IG5hdmlnYXRpb25SZWYgYXMgSFRNTERpdkVsZW1lbnQpKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbl9faGVhZGVyXCI+JHtjbG9zZUJ1dHRvbn08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW5hdmlnYXRpb25fX3dyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbl9fY29udGVudFwiPlxuICAgICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzbG90IG5hbWU9XCJuYXZpZ2F0aW9uLXNlY3Rpb25cIj48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbmF2aWdhdGlvbic6IFNiYk5hdmlnYXRpb25FbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiX2IiLCJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXVDQSxNQUFNLDJCQUFpRDtBQUFBLEVBQ3JELFNBQVM7QUFBQSxFQUNULGlCQUFpQixDQUFDLFlBQVk7O0FBR2hDLElBQUksU0FBUztBQUNiLE1BQU0sZ0JBQWdCO0lBb0JoQix3QkFBb0IsTUFBQTs7QUFMekIsTUFBQSxtQkFBQSxDQUFBLGNBQWMsZ0JBQWdCLEdBQzlCLGVBQWU7QUFBQSxJQUNkLE1BQU07QUFBQSxJQUNOLFNBQVM7QUFBQSxFQUFBLENBQ1YsQ0FBQzs7OztvQkFDaUMsd0JBQXdCLHVCQUF1Qjs7Ozs7Ozs7OztBQUF2RCxFQUFBLG1CQUFRLFlBQWdEO0FBQUEsSUFpRGpGLGNBQUE7OztBQXpDQTtBQUtBO0FBR1M7QUFSTyx5QkFBQSwyQkFBQSxrQkFBQSxNQUFBLHVCQUF1QyxJQUFJO0FBSzNDLHlCQUFBLDRDQUFBLGtCQUFBLE1BQUEsMEJBQUEsR0FBQSxrQkFBQSxNQUFBLHVDQUFrQyxFQUFFO0FBRzFCLHlCQUFBLDZDQUFBLGtCQUFBLE1BQUEsMENBQUEsR0FBQSxrQkFBQSxNQUFBLHdDQUErRCxJQUFJO0FBaUJyRixXQUFBLGNBQTZCLGtCQUFBLE1BQUEsMkNBQUE7QUFDN0IsV0FBZSxrQkFBdUI7QUFFdEMsV0FBNkIsZ0NBQUcsSUFBSSx5QkFBeUIsTUFBTSxTQUFTO0FBQzVFLFdBQUEsWUFBWSxJQUFJLHNCQUFzQixJQUFJO0FBQzFDLFdBQUEsbUJBQW1CLElBQUksbUJBQW1CLElBQUk7QUFDOUMsV0FBQSw4QkFBOEIsSUFBSSw4QkFBOEIsSUFBSTtBQUNwRSxXQUFBLHVCQUF1QixJQUFJLHVCQUF1QixJQUFJO0FBQ3RELFdBQUEsaUJBQWlCLElBQUksaUJBQWdCO0FBQ3JDLFdBQStCLGtDQUFZO0FBQzNDLFdBQXNCLHlCQUF5QztBQUMvRCxXQUFBLDRCQUE0QixJQUFJLGlCQUFpQixNQUFNO0FBQUEsUUFDN0QsYUFBYTtBQUFBLFFBQ2IsVUFBVSxNQUFNLEtBQUssb0JBQXFCO0FBQUEsTUFBQSxDQUMzQztBQTZLTyxXQUFBLHVCQUF1QixDQUFDLFVBQTZCOztBQUMzRCxhQUFLLGtDQUNILGlCQUFpQixLQUFLLGFBQWEsS0FBSyxLQUN4QyxrQkFDRUEsT0FBQUMsTUFBQSxLQUFLLGNBQ0gsNkNBQTZDLE1BRC9DLGdCQUFBQSxJQUVHLGVBRkgsZ0JBQUFELElBRWUsY0FBYywrQkFDN0IsS0FBSztBQUFBLE1BRVg7QUFHUSxXQUFBLHdCQUF3QixDQUFDLFVBQTZCO0FBQ3hELFlBQUEsQ0FBQyxLQUFLLG1DQUFtQyxDQUFDLGlCQUFpQixLQUFLLGFBQWEsS0FBSyxHQUFHO0FBQ3ZGLGVBQUssTUFBSztBQUFBLFFBQUE7QUFBQSxNQUVkO0FBekxFLE9BQUFDLE1BQUEsS0FBSyxxQkFBTCxnQkFBQUEsSUFBQSxXQUF3QixTQUFTLENBQUMsVUFBVSxLQUFLLHVCQUF1QixLQUFLO0FBQzdFLGlCQUFLLHFCQUFMLDhCQUF3QixhQUFhLENBQUMsVUFBVSxLQUFLLHNCQUFzQixLQUFLO0FBQ2hGLGlCQUFLLHFCQUFMLDhCQUF3QixlQUFlLENBQUMsVUFBVSxLQUFLLHFCQUFxQixLQUFLO0FBRTVFLFdBQUEsY0FDSCxJQUFJLG1CQUFtQixNQUFNO0FBQUEsUUFDM0IsYUFBYTtBQUFBLFFBQ2IsUUFBUTtBQUFBLFFBQ1IsVUFBVSxDQUFDLGtCQUNULEtBQUssMkJBQTJCLGFBQWE7QUFBQSxNQUFBLENBQ2hELENBQUM7QUFBQSxJQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQXJETixJQUFnQixVQUE0QztBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBNUQsSUFBZ0IsUUFBNEMsT0FBQTtBQUFBLHlCQUFBLDJCQUFBO0FBQUEsSUFBQTtBQUFBO0FBQUEsSUFLNUQsSUFBZ0IsMEJBQXFDO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUFyRCxJQUFnQix3QkFBcUMsT0FBQTtBQUFBLHlCQUFBLDJDQUFBO0FBQUEsSUFBQTtBQUFBO0FBQUEsSUFHNUMsSUFBaUIsMkJBQW9FO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUFyRixJQUFpQix5QkFBb0UsT0FBQTtBQUFBLHlCQUFBLDRDQUFBO0FBQUEsSUFBQTtBQUFBO0FBQUEsSUFHOUYsSUFBVywwQkFBdUI7QUFDaEMsYUFBTyxLQUFLO0FBQUEsSUFBQTtBQUFBO0FBQUEsSUFJZCxJQUFXLGNBQVc7O0FBQ3BCLGVBQU9BLE1BQUEsS0FBSyxlQUFMLGdCQUFBQSxJQUFpQixjQUFjLG9DQUFtQztBQUFBLElBQUE7QUFBQTtBQUFBLElBSTNFLElBQVcsb0JBQWlCOztBQUMxQixlQUFPQSxNQUFBLEtBQUssZUFBTCxnQkFBQUEsSUFBaUIsY0FBYyxnQ0FBK0I7QUFBQSxJQUFBO0FBQUE7QUFBQSxJQW9DaEUsT0FBSTs7QUFDVCxVQUFJLEtBQUssVUFBVSxZQUFZLENBQUMsS0FBSyxZQUFZO0FBQy9DO0FBQUEsTUFBQTtBQUVGLFVBQUksQ0FBQyxLQUFLLFNBQVMsUUFBUTtBQUN6QjtBQUFBLE1BQUE7QUFHRixPQUFBQSxNQUFBLEtBQUssZ0JBQUwsZ0JBQUFBLElBQUE7QUFDQSxXQUFLLFFBQVE7QUFDYixXQUFLLG9CQUFtQjtBQUN4QixXQUFLLG9CQUFtQjtBQUN4QixXQUFLLFlBQVc7QUFHaEIsV0FBSyxlQUFlO0FBQ2YsaUJBQUEsb0JBQUEsbUJBQWlCLGFBQWEsaUJBQWlCO0FBSWhELFVBQUEsS0FBSyw0QkFBNEI7QUFDbkMsYUFBSyxlQUFjO0FBQUEsTUFBQTtBQUFBLElBQ3JCO0FBQUEsSUFHTSxzQkFBbUI7O0FBQ25CLFlBQUEsZUFBZSxLQUFLLGNBQ3hCLGtDQUFrQztBQUVwQyxPQUFBQSxNQUFBLDZDQUFjLHFCQUFkLGdCQUFBQSxJQUFnQztBQUFBO0lBRzFCLHNCQUFtQjtBQUN6QixZQUFNLGdCQUFnQixNQUFNLEtBQzFCLEtBQUssaUJBQWlCLDREQUE0RCxDQUFDO0FBRXJGLHFEQUFlLFFBQVEsQ0FBQyxXQUFBOztBQUFXLGdCQUFBQSxNQUFBLE9BQU8sV0FBUCxnQkFBQUEsSUFBZSxPQUFPO0FBQUE7QUFBQSxJQUFPO0FBQUE7QUFBQSxJQUkzRCxRQUFLOztBQUNOLFVBQUEsS0FBSyxVQUFVLFVBQVU7QUFDM0I7QUFBQSxNQUFBO0FBRUYsVUFBSSxDQUFDLEtBQUssVUFBVSxRQUFRO0FBQzFCO0FBQUEsTUFBQTtBQUdGLFdBQUssUUFBUTtBQUNiLFdBQUssWUFBVztBQUNYLE9BQUFBLE1BQUEsS0FBQSxvQkFBQSxnQkFBQUEsSUFBaUIsYUFBYSxpQkFBaUI7QUFJaEQsVUFBQSxLQUFLLDRCQUE0QjtBQUNuQyxhQUFLLGVBQWM7QUFBQSxNQUFBO0FBQUEsSUFDckI7QUFBQSxJQUdNLDJCQUF3QjtBQUN2QixhQUFBLHdCQUF3QixNQUFNLHFDQUFxQztBQUFBLElBQUE7QUFBQSxJQUdwRSxpQkFBYzs7QUFDcEIsV0FBSyxRQUFRO0FBQ2IsT0FBQUEsTUFBQSxLQUFLLGdCQUFMLGdCQUFBQSxJQUFBO0FBQ0ssaUJBQUEsc0JBQUEsbUJBQW1CLFNBQVMsR0FBRztBQUNwQyxXQUFLLGlCQUFpQjtBQUN0QixpQkFBSyxvQkFBTCxtQkFBc0I7QUFDdEIsV0FBSyw0QkFBNEI7QUFDakMsV0FBSyxTQUFTO0FBQ1QsV0FBQSwwQkFBMEIsVUFBVSxJQUFJO0FBQzdDLFdBQUssY0FBYTtBQUNsQixXQUFLLHFCQUFxQixVQUFVO0FBR3BDLFdBQUssZUFBZTtBQUNwQixXQUFLLGVBQWM7QUFBQSxJQUFBO0FBQUEsSUFHYixpQkFBYztBQUNwQixXQUFLLFFBQVE7QUFDUixXQUFBLDBCQUEwQixRQUFRLElBQUk7QUFDM0MsV0FBSyxpQkFBaUI7QUFDdEIsV0FBSyw0QkFBNEI7QUFDakMsV0FBSyxxQkFBcUI7QUFDMUIsV0FBSyxxQkFBcUIsVUFBVTtBQUNwQyxXQUFLLGVBQWM7QUFDbkIsV0FBSyxRQUFROzs7O0lBS1Asb0JBQWlCOztBQUNqQixZQUFBLGlCQUNKLEtBQUssbUJBQW1CLGNBQ3BCLEtBQUssVUFDTCxLQUFLLDhCQUE4QjtBQUVyQyxVQUFBLG1CQUFtQixLQUFLLGlCQUFpQjtBQUMzQztBQUFBLE1BQUE7QUFHRixPQUFBQSxNQUFBLEtBQUssNEJBQUwsZ0JBQUFBLElBQThCO0FBQzlCLHlDQUFtQyxLQUFLLGVBQWU7QUFDdkQsV0FBSyxrQkFBa0I7QUFFbkIsVUFBQSxDQUFDLEtBQUssaUJBQWlCO0FBQ3pCO0FBQUEsTUFBQTtBQUdGLHNDQUFnQyxLQUFLLGlCQUFpQixRQUFRLEtBQUssSUFBSSxLQUFLLEtBQUs7QUFDNUUsV0FBQSwwQkFBMEIsSUFBSTtBQUNuQyxXQUFLLGdCQUFnQixpQkFBaUIsU0FBUyxNQUFNLEtBQUssUUFBUTtBQUFBLFFBQ2hFLFFBQVEsS0FBSyx3QkFBd0I7QUFBQSxNQUFBLENBQ3RDO0FBQUEsSUFBQTtBQUFBO0FBQUE7QUFBQSxJQUtLLGdCQUFnQixPQUFxQjtBQUMzQyxVQUFJLE1BQU0sa0JBQWtCLFVBQVUsS0FBSyxVQUFVLFdBQVc7QUFDOUQsYUFBSyxlQUFjO0FBQUEsTUFBQSxXQUNWLE1BQU0sa0JBQWtCLFdBQVcsS0FBSyxVQUFVLFdBQVc7QUFDdEUsYUFBSyxlQUFjO0FBQUEsTUFBQTtBQUFBLElBQ3JCO0FBQUEsSUFHTSxnQkFBYTtBQUNuQixZQUFNLGdCQUFnQixNQUFNLEtBQzFCLEtBQUssaUJBQ0gsc0ZBQXNGLENBQ3ZGO0FBRUgscURBQWUsUUFBUSxDQUFDLFdBQVc7O0FBQUEsZ0JBQUFBLE1BQUEsT0FBTyxXQUFQLGdCQUFBQSxJQUFlO0FBQUE7QUFBQSxJQUFPO0FBQUEsSUFHbkQsdUJBQXVCLE9BQVk7QUFDbkMsWUFBQSx1QkFBdUIsTUFDMUIsZUFDQSxPQUFPLENBQUMsT0FBTyxjQUFjLE9BQU8sV0FBVztBQUM5QyxVQUFBLHFCQUFxQixLQUFLLENBQUMsT0FBTyxLQUFLLGdCQUFnQixFQUFpQixDQUFDLEdBQUc7QUFDOUUsYUFBSyxNQUFLO0FBQUEsTUFBQTtBQUFBLElBQ1o7QUFBQSxJQUdNLGdCQUFnQixTQUFvQjtBQUV4QyxhQUFBLFFBQVEsYUFBYSxPQUNwQixRQUFRLGFBQWEsc0JBQXNCLEtBQUssQ0FBQyxRQUFRLGFBQWEsVUFBVTtBQUFBLElBQUE7QUFBQTtBQUFBLElBd0I3RSwyQkFBMkIsZUFBK0I7QUFDaEUsaUJBQVcsWUFBWSxlQUFlO0FBQy9CLFlBQUEsU0FBUyxPQUF1QixhQUFhLDBCQUEwQjtBQUNyRSxlQUFBLDJCQUEyQixLQUFLLGNBQ25DLDJGQUEyRjtBQUU3RixlQUFLLGdCQUFnQiwrQkFBK0IsQ0FBQyxDQUFDLEtBQUssd0JBQXdCO0FBQUEsUUFBQTtBQUFBLE1BQ3JGO0FBQUEsSUFDRjtBQUFBLElBR00sc0JBQW1CO0FBQ3JCLFVBQUEsS0FBSyxVQUFVLFVBQVU7QUFDM0I7QUFBQSxNQUFBO0FBR0YsVUFBSSxLQUFLLHdCQUF3QjtBQUMvQixxQkFBYSxLQUFLLHNCQUFzQjtBQUFBLE1BQUE7QUFHckMsV0FBQSxnQkFBZ0IsaUNBQWlDLElBQUk7QUFHMUQsV0FBSyx5QkFBeUIsV0FDNUIsTUFBTSxLQUFLLGdCQUFnQiwrQkFBK0IsR0FDMUQsYUFBYTtBQUFBLElBQUE7QUFBQSxJQUlELG9CQUFpQjtBQUMvQixZQUFNLGtCQUFpQjtBQUNsQixXQUFBLE9BQUEsS0FBQSxLQUFPLGtCQUFrQixRQUFRO0FBQ3RDLFVBQUksS0FBSyxZQUFZO0FBQ25CLGFBQUssa0JBQWlCO0FBQUEsTUFBQTtBQUFBLElBQ3hCO0FBQUEsSUFHYyx1QkFBb0I7O0FBQ2xDLFlBQU0scUJBQW9CO0FBQzFCLFdBQUssa0JBQWtCO0FBQ3ZCLE9BQUFBLE1BQUEsS0FBSyw0QkFBTCxnQkFBQUEsSUFBOEI7QUFDOUIsV0FBSyxlQUFlOztJQUdOLGNBQ2QsTUFDQSxVQUNBLFNBQTZCO0FBRXZCLFlBQUEsY0FBYyxNQUFNLFVBQVUsT0FBTztBQUUzQyxVQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsU0FBUyxjQUFjLEtBQUssWUFBWTtBQUNqRSxhQUFLLGtCQUFpQjtBQUFBLE1BQUE7QUFBQSxJQUN4QjtBQUFBLElBR2lCLGFBQWEsbUJBQXVDO0FBQ3JFLFlBQU0sYUFBYSxpQkFBaUI7QUFDcEMsV0FBSyxrQkFBaUI7QUFBQSxJQUFBO0FBQUEsSUFHTCxTQUFNO0FBQ3ZCLFlBQU0sY0FBYztBQUFBO0FBQUE7QUFBQTtBQUFBLHFCQUlILEtBQUssMkJBQTJCLG9CQUFvQixLQUFLLFVBQVUsT0FBTyxDQUFDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVyRixhQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMEJBSWUsS0FBSyxlQUFlO0FBQUE7QUFBQSxZQUVsQyxJQUFJLENBQUMsa0JBQTZCLEtBQUssY0FBYyxhQUFnQyxDQUFDO0FBQUE7QUFBQSxnREFFbEQsV0FBVztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBQUE7QUFBQSxLQTNUekQsMkNBS0EsMkRBR1M7O0FBVFIsMEJBQUEsQ0FBQSxVQUFVOzJDQUlWLGFBQ0EsU0FBUyxFQUFFLFdBQVcsNEJBQUEsQ0FBNkIsQ0FBQztBQUlwRCwyQ0FBQSxDQUFBLE9BQU87QUFSUSxpQkFBQSxJQUFBLE1BQUEscUJBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxXQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLGFBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFBLFNBQUEsS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQUEsVUFBNEM7QUFBQSxTQUFBLFVBQUEsYUFBQSx1QkFBQSwwQkFBQTtBQUs1QyxpQkFBQSxJQUFBLE1BQUEscUNBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSwyQkFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSw2QkFBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQUEseUJBQUEsS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQUEsMEJBQXFDO0FBQUEsU0FBQSxVQUFBLGFBQUEsdUNBQUEsMENBQUE7QUFHM0IsaUJBQUEsSUFBQSxNQUFBLHNDQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsNEJBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsOEJBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFBLDBCQUFBLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFBLDJCQUFvRTtBQUFBLFNBQUEsVUFBQSxhQUFBLHdDQUFBLDJDQUFBO0FBaEJoRyxpQkE4VUMsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztRQTdVd0IsR0FBTSxTQUFtQixPQUQ1QyxrQkFBb0IsWUFBQSx1QkFBQSxHQUFDOzs7In0=
587
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24vbmF2aWdhdGlvbi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTXV0YXRpb25Db250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9tdXRhdGlvbi1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICB0eXBlIFByb3BlcnR5RGVjbGFyYXRpb24sXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xuXG5pbXBvcnQgeyBTYmJGb2N1c1RyYXBDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7XG4gIFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLFxuICBTYmJJZFJlZmVyZW5jZUNvbnRyb2xsZXIsXG4gIFNiYkluZXJ0Q29udHJvbGxlcixcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxufSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGZvcmNlVHlwZSwgaG9zdEF0dHJpYnV0ZXMgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24sIFNiYlNjcm9sbEhhbmRsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBpMThuQ2xvc2VOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7IFNiYlVwZGF0ZVNjaGVkdWxlck1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHtcbiAgaXNFdmVudE9uRWxlbWVudCxcbiAgcmVtb3ZlQXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyxcbiAgc2V0QXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyxcbn0gZnJvbSAnLi4vLi4vY29yZS9vdmVybGF5LmpzJztcbmltcG9ydCB0eXBlIHsgU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLWJ1dHRvbi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tbGluay5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25TZWN0aW9uRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tc2VjdGlvbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL25hdmlnYXRpb24uc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9idXR0b24vdHJhbnNwYXJlbnQtYnV0dG9uLmpzJztcblxuLyoqIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBhdHRyaWJ1dGUgdG8gbG9vayBhdCBpZiBhIG5hdmlnYXRpb24gc2VjdGlvbiBpcyBkaXNwbGF5ZWQgKi9cbmNvbnN0IG5hdmlnYXRpb25PYnNlcnZlckNvbmZpZzogTXV0YXRpb25PYnNlcnZlckluaXQgPSB7XG4gIHN1YnRyZWU6IHRydWUsXG4gIGF0dHJpYnV0ZUZpbHRlcjogWydkYXRhLXN0YXRlJ10sXG59O1xuXG5sZXQgbmV4dElkID0gMDtcbmNvbnN0IERFQk9VTkNFX1RJTUUgPSAxNTA7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBuYXZpZ2F0aW9uIG1lbnUsIHdyYXBwaW5nIG9uZSBvciBtb3JlIGBzYmItbmF2aWdhdGlvbi0qYCBjb21wb25lbnRzLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItbmF2aWdhdGlvbi1idXR0b25gL2BzYmItbmF2aWdhdGlvbi1saW5rYCBlbGVtZW50cyBpbnRvIHRoZSBzYmItbmF2aWdhdGlvbiBtZW51LlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gd2lsbE9wZW4gLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1uYXZpZ2F0aW9uYCBiZWdpbnMgdGhlIG9wZW5pbmcgdHJhbnNpdGlvbi4gQ2FuIGJlIGNhbmNlbGVkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gZGlkT3BlbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW5hdmlnYXRpb25gIGlzIG9wZW5lZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxDbG9zZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW5hdmlnYXRpb25gIGJlZ2lucyB0aGUgY2xvc2luZyB0cmFuc2l0aW9uLiBDYW4gYmUgY2FuY2VsZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBkaWRDbG9zZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLW5hdmlnYXRpb25gIGlzIGNsb3NlZC5cbiAqIEBjc3Nwcm9wIFstLXNiYi1uYXZpZ2F0aW9uLXotaW5kZXg9dmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KV0gLSBUbyBzcGVjaWZ5IGEgY3VzdG9tIHN0YWNrIG9yZGVyLFxuICogdGhlIGB6LWluZGV4YCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyB0aGlzIENTUyB2YXJpYWJsZS4gVGhlIGRlZmF1bHQgYHotaW5kZXhgIG9mIHRoZVxuICogY29tcG9uZW50IGlzIHNldCB0byBgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KWAgd2l0aCBhIHZhbHVlIG9mIGAxMDAwYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLW5hdmlnYXRpb24nKVxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgcm9sZTogJ25hdmlnYXRpb24nLFxuICBwb3BvdmVyOiAnbWFudWFsJyxcbn0pXG5jbGFzcyBTYmJOYXZpZ2F0aW9uRWxlbWVudCBleHRlbmRzIFNiYlVwZGF0ZVNjaGVkdWxlck1peGluKFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCB0aGF0IHdpbGwgdHJpZ2dlciB0aGUgbmF2aWdhdGlvbi5cbiAgICogQWNjZXB0cyBib3RoIGEgc3RyaW5nIChpZCBvZiBhbiBlbGVtZW50KSBvciBhbiBIVE1MIGVsZW1lbnQuXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3IgdHJpZ2dlcjogc3RyaW5nIHwgSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSBjbG9zZSBidXR0b24gZWxlbWVudC4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktY2xvc2UtbGFiZWwnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5Q2xvc2VMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgLyoqIFdoZXRoZXIgYSBuYXZpZ2F0aW9uIHNlY3Rpb24gaXMgZGlzcGxheWVkLiAqL1xuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9hY3RpdmVOYXZpZ2F0aW9uU2VjdGlvbjogU2JiTmF2aWdhdGlvblNlY3Rpb25FbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFJldHVybnMgdGhlIGFjdGl2ZSBuYXZpZ2F0aW9uIHNlY3Rpb24gZWxlbWVudC4gKi9cbiAgcHVibGljIGdldCBhY3RpdmVOYXZpZ2F0aW9uU2VjdGlvbigpOiBTYmJOYXZpZ2F0aW9uU2VjdGlvbkVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlTmF2aWdhdGlvblNlY3Rpb247XG4gIH1cblxuICAvKiogUmV0dXJucyB0aGUgY2xvc2UgYnV0dG9uIGVsZW1lbnQuICovXG4gIHB1YmxpYyBnZXQgY2xvc2VCdXR0b24oKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCcjc2JiLW5hdmlnYXRpb24tY2xvc2UtYnV0dG9uJykgPz8gbnVsbDtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSBuYXZpZ2F0aW9uIGNvbnRlbnQgZWxlbWVudC4gKi9cbiAgcHVibGljIGdldCBuYXZpZ2F0aW9uQ29udGVudCgpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoJy5zYmItbmF2aWdhdGlvbl9fY29udGVudCcpID8/IG51bGw7XG4gIH1cblxuICBwcml2YXRlIF9uYXZpZ2F0aW9uITogSFRNTERpdkVsZW1lbnQ7XG4gIHByaXZhdGUgX3RyaWdnZXJFbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF90cmlnZ2VyQWJvcnRDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF90cmlnZ2VySWRSZWZlcmVuY2VDb250cm9sbGVyID0gbmV3IFNiYklkUmVmZXJlbmNlQ29udHJvbGxlcih0aGlzLCAndHJpZ2dlcicpO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2luZXJ0Q29udHJvbGxlciA9IG5ldyBTYmJJbmVydENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyID0gbmV3IFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9mb2N1c1RyYXBDb250cm9sbGVyID0gbmV3IFNiYkZvY3VzVHJhcENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX3Njcm9sbEhhbmRsZXIgPSBuZXcgU2JiU2Nyb2xsSGFuZGxlcigpO1xuICBwcml2YXRlIF9pc1BvaW50ZXJEb3duRXZlbnRPbk5hdmlnYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXJUaW1lb3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9uYXZpZ2F0aW9uUmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplQ29udHJvbGxlcih0aGlzLCB7XG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX29uTmF2aWdhdGlvblJlc2l6ZSgpLFxuICB9KTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2xpY2snLCAoZXZlbnQpID0+IHRoaXMuX2hhbmRsZU5hdmlnYXRpb25DbG9zZShldmVudCkpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdwb2ludGVydXAnLCAoZXZlbnQpID0+IHRoaXMuX2Nsb3NlT25CYWNrZHJvcENsaWNrKGV2ZW50KSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3BvaW50ZXJkb3duJywgKGV2ZW50KSA9PiB0aGlzLl9wb2ludGVyRG93bkxpc3RlbmVyKGV2ZW50KSk7XG5cbiAgICB0aGlzLmFkZENvbnRyb2xsZXIoXG4gICAgICBuZXcgTXV0YXRpb25Db250cm9sbGVyKHRoaXMsIHtcbiAgICAgICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgICAgIGNvbmZpZzogbmF2aWdhdGlvbk9ic2VydmVyQ29uZmlnLFxuICAgICAgICBjYWxsYmFjazogKG11dGF0aW9uc0xpc3Q6IE11dGF0aW9uUmVjb3JkW10pID0+XG4gICAgICAgICAgdGhpcy5fb25OYXZpZ2F0aW9uU2VjdGlvbkNoYW5nZShtdXRhdGlvbnNMaXN0KSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICAvKiogT3BlbnMgdGhlIG5hdmlnYXRpb24uICovXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnY2xvc2VkJyB8fCAhdGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdGhpcy53aWxsT3Blbi5lbWl0KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNob3dQb3BvdmVyPy4oKTtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuICAgIHRoaXMuX2NoZWNrQWN0aXZlQWN0aW9ucygpO1xuICAgIHRoaXMuX2NoZWNrQWN0aXZlU2VjdGlvbigpO1xuICAgIHRoaXMuc3RhcnRVcGRhdGUoKTtcblxuICAgIC8vIERpc2FibGUgc2Nyb2xsaW5nIGZvciBjb250ZW50IGJlbG93IHRoZSBuYXZpZ2F0aW9uXG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5kaXNhYmxlU2Nyb2xsKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICd0cnVlJyk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrQWN0aXZlU2VjdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVBY3Rpb24gPSB0aGlzLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnc2JiLW5hdmlnYXRpb24tYnV0dG9uLnNiYi1hY3RpdmUnLFxuICAgICkgYXMgU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQ7XG4gICAgYWN0aXZlQWN0aW9uPy5jb25uZWN0ZWRTZWN0aW9uPy5vcGVuKCk7XG4gIH1cblxuICBwcml2YXRlIF9jaGVja0FjdGl2ZUFjdGlvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgYWN0aXZlQWN0aW9ucyA9IEFycmF5LmZyb20oXG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoJzppcyhzYmItbmF2aWdhdGlvbi1idXR0b24sIHNiYi1uYXZpZ2F0aW9uLWxpbmspLnNiYi1hY3RpdmUnKSxcbiAgICApIGFzIChTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB8IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudClbXTtcbiAgICBhY3RpdmVBY3Rpb25zPy5mb3JFYWNoKChhY3Rpb24pID0+IGFjdGlvbi5tYXJrZXI/LnNlbGVjdChhY3Rpb24pKTtcbiAgfVxuXG4gIC8qKiBDbG9zZXMgdGhlIG5hdmlnYXRpb24uICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLndpbGxDbG9zZS5lbWl0KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIHRoaXMuc3RhcnRVcGRhdGUoKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ2ZhbHNlJyk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgY2xvc2VkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItbmF2aWdhdGlvbi1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHRoaXMuaGlkZVBvcG92ZXI/LigpO1xuICAgIHRoaXMubmF2aWdhdGlvbkNvbnRlbnQ/LnNjcm9sbFRvKDAsIDApO1xuICAgIHRoaXMuX2luZXJ0Q29udHJvbGxlci5kZWFjdGl2YXRlKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgdGhpcy5fZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuZGlkQ2xvc2UuZW1pdCgpO1xuICAgIHRoaXMuX25hdmlnYXRpb25SZXNpemVPYnNlcnZlci51bm9ic2VydmUodGhpcyk7XG4gICAgdGhpcy5fcmVzZXRNYXJrZXJzKCk7XG4gICAgdGhpcy5fZm9jdXNUcmFwQ29udHJvbGxlci5lbmFibGVkID0gZmFsc2U7XG5cbiAgICAvLyBFbmFibGUgc2Nyb2xsaW5nIGZvciBjb250ZW50IGJlbG93IHRoZSBuYXZpZ2F0aW9uXG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgICB0aGlzLmNvbXBsZXRlVXBkYXRlKCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLl9uYXZpZ2F0aW9uUmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzKTtcbiAgICB0aGlzLl9pbmVydENvbnRyb2xsZXIuYWN0aXZhdGUoKTtcbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5jb25uZWN0KCk7XG4gICAgdGhpcy5fZm9jdXNUcmFwQ29udHJvbGxlci5mb2N1c0luaXRpYWxFbGVtZW50KCk7XG4gICAgdGhpcy5fZm9jdXNUcmFwQ29udHJvbGxlci5lbmFibGVkID0gdHJ1ZTtcbiAgICB0aGlzLmNvbXBsZXRlVXBkYXRlKCk7XG4gICAgdGhpcy5kaWRPcGVuLmVtaXQoKTtcbiAgfVxuXG4gIC8vIFJlbW92ZXMgdHJpZ2dlciBjbGljayBsaXN0ZW5lciBvbiB0cmlnZ2VyIGNoYW5nZS5cbiAgLy8gQ2hlY2sgaWYgdGhlIHRyaWdnZXIgaXMgdmFsaWQgYW5kIGF0dGFjaCBjbGljayBldmVudCBsaXN0ZW5lcnMuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZVRyaWdnZXIoKTogdm9pZCB7XG4gICAgY29uc3QgdHJpZ2dlckVsZW1lbnQgPVxuICAgICAgdGhpcy50cmlnZ2VyIGluc3RhbmNlb2YgSFRNTEVsZW1lbnRcbiAgICAgICAgPyB0aGlzLnRyaWdnZXJcbiAgICAgICAgOiB0aGlzLl90cmlnZ2VySWRSZWZlcmVuY2VDb250cm9sbGVyLmZpbmQoKTtcblxuICAgIGlmICh0cmlnZ2VyRWxlbWVudCA9PT0gdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHJlbW92ZUFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXModGhpcy5fdHJpZ2dlckVsZW1lbnQpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gdHJpZ2dlckVsZW1lbnQ7XG5cbiAgICBpZiAoIXRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc2V0QXJpYU92ZXJsYXlUcmlnZ2VyQXR0cmlidXRlcyh0aGlzLl90cmlnZ2VyRWxlbWVudCwgJ21lbnUnLCB0aGlzLmlkLCB0aGlzLnN0YXRlKTtcbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5vcGVuKCksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gIH1cblxuICAvLyBJbiByYXJlIGNhc2VzIGl0IGNhbiBiZSB0aGF0IHRoZSBhbmltYXRpb25FbmQgZXZlbnQgaXMgdHJpZ2dlcmVkIHR3aWNlLlxuICAvLyBUbyBhdm9pZCBlbnRlcmluZyBhIGNvcnJ1cHQgc3RhdGUsIGV4aXQgd2hlbiBzdGF0ZSBpcyBub3QgZXhwZWN0ZWQuXG4gIHByaXZhdGUgX29uQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnb3BlbicgJiYgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfSBlbHNlIGlmIChldmVudC5hbmltYXRpb25OYW1lID09PSAnY2xvc2UnICYmIHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3Jlc2V0TWFya2VycygpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVBY3Rpb25zID0gQXJyYXkuZnJvbShcbiAgICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgJzppcyhzYmItbmF2aWdhdGlvbi1idXR0b24sIHNiYi1uYXZpZ2F0aW9uLWxpbmspW2RhdGEtYWN0aW9uLWFjdGl2ZV06bm90KC5zYmItYWN0aXZlKScsXG4gICAgICApLFxuICAgICkgYXMgKFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50KVtdO1xuICAgIGFjdGl2ZUFjdGlvbnM/LmZvckVhY2goKGFjdGlvbikgPT4gYWN0aW9uLm1hcmtlcj8ucmVzZXQoKSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVOYXZpZ2F0aW9uQ2xvc2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY29tcG9zZWRQYXRoRWxlbWVudHMgPSBldmVudFxuICAgICAgLmNvbXBvc2VkUGF0aCgpXG4gICAgICAuZmlsdGVyKChlbCkgPT4gZWwgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpO1xuICAgIGlmIChjb21wb3NlZFBhdGhFbGVtZW50cy5zb21lKChlbCkgPT4gdGhpcy5faXNDbG9zZUVsZW1lbnQoZWwgYXMgSFRNTEVsZW1lbnQpKSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzQ2xvc2VFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGVsZW1lbnQubm9kZU5hbWUgPT09ICdBJyB8fFxuICAgICAgKGVsZW1lbnQuaGFzQXR0cmlidXRlKCdzYmItbmF2aWdhdGlvbi1jbG9zZScpICYmICFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSlcbiAgICApO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHBvaW50ZXJkb3duIGV2ZW50IHRhcmdldCBpcyB0cmlnZ2VyZWQgb24gdGhlIG5hdmlnYXRpb24uXG4gIHByaXZhdGUgX3BvaW50ZXJEb3duTGlzdGVuZXIgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uTmF2aWdhdGlvbiA9XG4gICAgICBpc0V2ZW50T25FbGVtZW50KHRoaXMuX25hdmlnYXRpb24sIGV2ZW50KSB8fFxuICAgICAgaXNFdmVudE9uRWxlbWVudChcbiAgICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgICdzYmItbmF2aWdhdGlvbi1zZWN0aW9uW2RhdGEtc3RhdGU9XCJvcGVuZWRcIl0nLFxuICAgICAgICApPy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCduYXYuc2JiLW5hdmlnYXRpb24tc2VjdGlvbicpIGFzIEhUTUxFbGVtZW50LFxuICAgICAgICBldmVudCxcbiAgICAgICk7XG4gIH07XG5cbiAgLy8gQ2xvc2UgbmF2aWdhdGlvbiBvbiBiYWNrZHJvcCBjbGljay5cbiAgcHJpdmF0ZSBfY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmICghdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25OYXZpZ2F0aW9uICYmICFpc0V2ZW50T25FbGVtZW50KHRoaXMuX25hdmlnYXRpb24sIGV2ZW50KSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfTtcblxuICAvLyBPYnNlcnZlIGNoYW5nZXMgb24gbmF2aWdhdGlvbiBzZWN0aW9uIGRhdGEtc3RhdGUuXG4gIHByaXZhdGUgX29uTmF2aWdhdGlvblNlY3Rpb25DaGFuZ2UobXV0YXRpb25zTGlzdDogTXV0YXRpb25SZWNvcmRbXSk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgbXV0YXRpb24gb2YgbXV0YXRpb25zTGlzdCkge1xuICAgICAgaWYgKChtdXRhdGlvbi50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLm5vZGVOYW1lID09PSAnU0JCLU5BVklHQVRJT04tU0VDVElPTicpIHtcbiAgICAgICAgdGhpcy5fYWN0aXZlTmF2aWdhdGlvblNlY3Rpb24gPSB0aGlzLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICAgJ3NiYi1uYXZpZ2F0aW9uLXNlY3Rpb25bZGF0YS1zdGF0ZT1cIm9wZW5pbmdcIl0sIHNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25bZGF0YS1zdGF0ZT1cIm9wZW5lZFwiXScsXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWhhcy1uYXZpZ2F0aW9uLXNlY3Rpb24nLCAhIXRoaXMuX2FjdGl2ZU5hdmlnYXRpb25TZWN0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vbk5hdmlnYXRpb25SZXNpemUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCk7XG4gICAgfVxuXG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtcmVzaXplLWRpc2FibGUtYW5pbWF0aW9uJywgdHJ1ZSk7XG5cbiAgICAvLyBEaXNhYmxlIHRoZSBhbmltYXRpb24gd2hlbiByZXNpemluZyB0aGUgbmF2aWdhdGlvbiB0byBhdm9pZCBzdHJhbmdlIGhlaWdodCB0cmFuc2l0aW9uIGVmZmVjdHMuXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHRoaXMucmVtb3ZlQXR0cmlidXRlKCdkYXRhLXJlc2l6ZS1kaXNhYmxlLWFuaW1hdGlvbicpLFxuICAgICAgREVCT1VOQ0VfVElNRSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5pZCB8fD0gYHNiYi1uYXZpZ2F0aW9uLSR7bmV4dElkKyt9YDtcbiAgICBpZiAodGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSBudWxsO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuXG4gICAgaWYgKCFpc1NlcnZlciAmJiAoIW5hbWUgfHwgbmFtZSA9PT0gJ3RyaWdnZXInKSAmJiB0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyZVRyaWdnZXIoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgY2xvc2VCdXR0b24gPSBodG1sYFxuICAgICAgPHNiYi10cmFuc3BhcmVudC1idXR0b25cbiAgICAgICAgaWQ9XCJzYmItbmF2aWdhdGlvbi1jbG9zZS1idXR0b25cIlxuICAgICAgICBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uX19jbG9zZVwiXG4gICAgICAgIGFyaWEtbGFiZWw9JHt0aGlzLmFjY2Vzc2liaWxpdHlDbG9zZUxhYmVsIHx8IGkxOG5DbG9zZU5hdmlnYXRpb25bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgIGFyaWEtY29udHJvbHM9XCJzYmItbmF2aWdhdGlvbi1vdmVybGF5XCJcbiAgICAgICAgbmVnYXRpdmVcbiAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgaWNvbi1uYW1lPVwiY3Jvc3Mtc21hbGxcIlxuICAgICAgICBzYmItbmF2aWdhdGlvbi1jbG9zZVxuICAgICAgPjwvc2JiLXRyYW5zcGFyZW50LWJ1dHRvbj5cbiAgICBgO1xuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLW5hdmlnYXRpb25fX2NvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgaWQ9XCJzYmItbmF2aWdhdGlvbi1vdmVybGF5XCJcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25BbmltYXRpb25FbmR9XG4gICAgICAgICAgY2xhc3M9XCJzYmItbmF2aWdhdGlvblwiXG4gICAgICAgICAgJHtyZWYoKG5hdmlnYXRpb25SZWY/OiBFbGVtZW50KSA9PiAodGhpcy5fbmF2aWdhdGlvbiA9IG5hdmlnYXRpb25SZWYgYXMgSFRNTERpdkVsZW1lbnQpKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbl9faGVhZGVyXCI+JHtjbG9zZUJ1dHRvbn08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW5hdmlnYXRpb25fX3dyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbl9fY29udGVudFwiPlxuICAgICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzbG90IG5hbWU9XCJuYXZpZ2F0aW9uLXNlY3Rpb25cIj48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbmF2aWdhdGlvbic6IFNiYk5hdmlnYXRpb25FbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXVDQSxNQUFNLDJCQUFpRDtBQUFBLEVBQ3JELFNBQVM7QUFBQSxFQUNULGlCQUFpQixDQUFDLFlBQVk7O0FBR2hDLElBQUksU0FBUztBQUNiLE1BQU0sZ0JBQWdCO0lBb0JoQix3QkFBb0IsTUFBQTs7QUFMekIsTUFBQSxtQkFBQSxDQUFBLGNBQWMsZ0JBQWdCLEdBQzlCLGVBQWU7QUFBQSxJQUNkLE1BQU07QUFBQSxJQUNOLFNBQVM7QUFBQSxFQUFBLENBQ1YsQ0FBQzs7OztvQkFDaUMsd0JBQXdCLHVCQUF1Qjs7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
@@ -22,4 +22,4 @@ let SbbNavigationButtonElement = (() => {
22
22
  export {
23
23
  SbbNavigationButtonElement
24
24
  };
25
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLWJ1dHRvbi9uYXZpZ2F0aW9uLWJ1dHRvbi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiQnV0dG9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgU2JiTmF2aWdhdGlvbkFjdGlvbkNvbW1vbkVsZW1lbnRNaXhpbiB9IGZyb20gJy4uL2NvbW1vbi5qcyc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBidXR0b24gZWxlbWVudCB0aGF0IGNhbiBiZSB1c2VkIGluIHRoZSBgc2JiLW5hdmlnYXRpb25gIGNvbXBvbmVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBgc2JiLW5hdmlnYXRpb24tYnV0dG9uYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLW5hdmlnYXRpb24tYnV0dG9uJylcbmNsYXNzIFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IGV4dGVuZHMgU2JiTmF2aWdhdGlvbkFjdGlvbkNvbW1vbkVsZW1lbnRNaXhpbihcbiAgU2JiQnV0dG9uQmFzZUVsZW1lbnQsXG4pIHt9XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbmF2aWdhdGlvbi1idXR0b24nOiBTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7SUFZTSw4QkFBMEIsTUFBQTs7MEJBRC9CLGNBQWMsdUJBQXVCLENBQUM7Ozs7b0JBQ0Usc0NBQ3ZDLG9CQUFvQjtBQURXLEVBQUEsbUJBQVEsWUFFeEM7QUFBQTs7QUFGRCxpQkFFSSxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O0FBRkUsc0JBQTBCLFlBQUEsdUJBQUE7QUFBQSxFQUFBLE1BQUM7OzsifQ==
25
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLWJ1dHRvbi9uYXZpZ2F0aW9uLWJ1dHRvbi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiQnV0dG9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgU2JiTmF2aWdhdGlvbkFjdGlvbkNvbW1vbkVsZW1lbnRNaXhpbiB9IGZyb20gJy4uL2NvbW1vbi5qcyc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBidXR0b24gZWxlbWVudCB0aGF0IGNhbiBiZSB1c2VkIGluIHRoZSBgc2JiLW5hdmlnYXRpb25gIGNvbXBvbmVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBgc2JiLW5hdmlnYXRpb24tYnV0dG9uYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLW5hdmlnYXRpb24tYnV0dG9uJylcbmNsYXNzIFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IGV4dGVuZHMgU2JiTmF2aWdhdGlvbkFjdGlvbkNvbW1vbkVsZW1lbnRNaXhpbihcbiAgU2JiQnV0dG9uQmFzZUVsZW1lbnQsXG4pIHt9XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbmF2aWdhdGlvbi1idXR0b24nOiBTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7SUFZTSw4QkFBMEIsTUFBQTs7MEJBRC9CLGNBQWMsdUJBQXVCLENBQUM7Ozs7b0JBQ0Usc0NBQ3ZDLG9CQUFvQjtBQURXLEVBQUEsbUJBQVEsWUFFeEM7QUFBQTs7QUFGRCxpQkFBQSxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O0FBQU0sc0JBQUEsWUFBQSx1QkFBQTtBQUFBLEVBQUEsTUFBMkI7OzsifQ==
@@ -22,4 +22,4 @@ let SbbNavigationLinkElement = (() => {
22
22
  export {
23
23
  SbbNavigationLinkElement
24
24
  };
25
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi1saW5rL25hdmlnYXRpb24tbGluay5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiTGlua0Jhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7IFNiYk5hdmlnYXRpb25BY3Rpb25Db21tb25FbGVtZW50TWl4aW4gfSBmcm9tICcuLi9jb21tb24uanMnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgbGluayBlbGVtZW50IHRoYXQgY2FuIGJlIHVzZWQgaW4gdGhlIGBzYmItbmF2aWdhdGlvbmAgY29tcG9uZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIGBzYmItbmF2aWdhdGlvbi1saW5rYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLW5hdmlnYXRpb24tbGluaycpXG5jbGFzcyBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQgZXh0ZW5kcyBTYmJOYXZpZ2F0aW9uQWN0aW9uQ29tbW9uRWxlbWVudE1peGluKFNiYkxpbmtCYXNlRWxlbWVudCkge31cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1uYXZpZ2F0aW9uLWxpbmsnOiBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0lBWU0sNEJBQXdCLE1BQUE7OzBCQUQ3QixjQUFjLHFCQUFxQixDQUFDOzs7O29CQUNFLHNDQUFzQyxrQkFBa0I7QUFBaEUsRUFBQSxtQkFBUSxZQUF5RDtBQUFBOztBQUFoRyxpQkFBbUcsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztBQUE3RixzQkFBd0IsWUFBQSx1QkFBQTtBQUFBLEVBQUEsTUFBQzs7OyJ9
25
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi1saW5rL25hdmlnYXRpb24tbGluay5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiTGlua0Jhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB7IFNiYk5hdmlnYXRpb25BY3Rpb25Db21tb25FbGVtZW50TWl4aW4gfSBmcm9tICcuLi9jb21tb24uanMnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgbGluayBlbGVtZW50IHRoYXQgY2FuIGJlIHVzZWQgaW4gdGhlIGBzYmItbmF2aWdhdGlvbmAgY29tcG9uZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIGBzYmItbmF2aWdhdGlvbi1saW5rYC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLW5hdmlnYXRpb24tbGluaycpXG5jbGFzcyBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQgZXh0ZW5kcyBTYmJOYXZpZ2F0aW9uQWN0aW9uQ29tbW9uRWxlbWVudE1peGluKFNiYkxpbmtCYXNlRWxlbWVudCkge31cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1uYXZpZ2F0aW9uLWxpbmsnOiBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0lBWU0sNEJBQXdCLE1BQUE7OzBCQUQ3QixjQUFjLHFCQUFxQixDQUFDOzs7O29CQUNFLHNDQUFzQyxrQkFBa0I7QUFBaEUsRUFBQSxtQkFBUSxZQUF5RDtBQUFBOztBQUFoRyxpQkFBQSxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O0FBQU0sc0JBQUEsWUFBQSx1QkFBQTtBQUFBLEVBQUEsTUFBeUI7OzsifQ==
@@ -110,4 +110,4 @@ let SbbNavigationListElement = (() => {
110
110
  export {
111
111
  SbbNavigationListElement
112
112
  };
113
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi1saXN0L25hdmlnYXRpb24tbGlzdC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgTGl0RWxlbWVudCxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBmb3JjZVR5cGUsIG9taXRFbXB0eUNvbnZlcnRlciwgc2xvdFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IFNiYk5hbWVkU2xvdExpc3RNaXhpbiwgdHlwZSBXaXRoTGlzdENoaWxkcmVuIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tYnV0dG9uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1saW5rLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vbmF2aWdhdGlvbi1saXN0LnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgY2FuIGJlIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIG9uZSBvciBtb3JlIGBzYmItbmF2aWdhdGlvbi1idXR0b25gL2BzYmItbmF2aWdhdGlvbi1saW5rYCB3aXRoaW4gYSBgc2JiLW5hdmlnYXRpb24tc2VjdGlvbmAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgYHNiYi1uYXZpZ2F0aW9uLWxpc3RgLlxuICogQHNsb3QgbGFiZWwgLSBVc2UgdGhpcyB0byBwcm92aWRlIGEgbGFiZWwgZWxlbWVudC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLW5hdmlnYXRpb24tbGlzdCcpXG5Ac2xvdFN0YXRlKClcbmNsYXNzIFNiYk5hdmlnYXRpb25MaXN0RWxlbWVudCBleHRlbmRzIFNiYk5hbWVkU2xvdExpc3RNaXhpbjxcbiAgU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQgfCBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQsXG4gIHR5cGVvZiBMaXRFbGVtZW50XG4+KExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBsaXN0Q2hpbGRMb2NhbE5hbWVzID0gW1xuICAgICdzYmItbmF2aWdhdGlvbi1idXR0b24nLFxuICAgICdzYmItbmF2aWdhdGlvbi1saW5rJyxcbiAgXTtcblxuICAvKipcbiAgICogVGhlIGxhYmVsIHRvIGJlIHNob3duIGJlZm9yZSB0aGUgYWN0aW9uIGxpc3QuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgY29udmVydGVyOiBvbWl0RW1wdHlDb252ZXJ0ZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIGxhYmVsOiBzdHJpbmcgPSAnJztcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8V2l0aExpc3RDaGlsZHJlbjx0aGlzPj4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2xpc3RDaGlsZHJlbicpKSB7XG4gICAgICB0aGlzLmxpc3RDaGlsZHJlbi5mb3JFYWNoKChjKSA9PiAoYy5zaXplID0gaXNMZWFuKCkgPyAncycgOiAnbScpKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLW5hdmlnYXRpb24tbGlzdF9fbGFiZWxcIiBpZD1cInNiYi1uYXZpZ2F0aW9uLWxpbmstbGFiZWwtaWRcIj5cbiAgICAgICAgPHNsb3QgbmFtZT1cImxhYmVsXCI+JHt0aGlzLmxhYmVsfTwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICAgICR7dGhpcy5yZW5kZXJMaXN0KHtcbiAgICAgICAgY2xhc3M6ICdzYmItbmF2aWdhdGlvbi1saXN0X19jb250ZW50JyxcbiAgICAgICAgYXJpYUxhYmVsbGVkYnk6ICdzYmItbmF2aWdhdGlvbi1saW5rLWxhYmVsLWlkJyxcbiAgICAgIH0pfVxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1uYXZpZ2F0aW9uLWxpc3QnOiBTYmJOYXZpZ2F0aW9uTGlzdEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQTBCTSw0QkFBd0IsTUFBQTs7QUFGN0IsTUFBQSxtQkFBQSxDQUFBLGNBQWMscUJBQXFCLEdBQ25DLFdBQVc7Ozs7b0JBQzJCLHNCQUdyQyxVQUFVOzs7O0FBSG1CLEVBQUEsbUJBQVEsWUFHMUI7QUFBQTs7QUFZWDtBQVY0QixXQUFBLHNCQUFzQjtBQUFBLFFBQ2hEO0FBQUEsUUFDQTtBQUFBO0FBUWMseUJBQUEseUJBQUEsa0JBQUEsTUFBQSxxQkFBZ0IsRUFBRTs7Ozs7O0lBQWxDLElBQWdCLFFBQW1CO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUFuQyxJQUFnQixNQUFtQixPQUFBO0FBQUEseUJBQUEseUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFFaEIsV0FBVyxtQkFBeUQ7QUFDckYsWUFBTSxXQUFXLGlCQUFpQjtBQUU5QixVQUFBLGtCQUFrQixJQUFJLGNBQWMsR0FBRztBQUNwQyxhQUFBLGFBQWEsUUFBUSxDQUFDLE1BQU8sRUFBRSxPQUFPLE9BQUEsSUFBVyxNQUFNLEdBQUk7QUFBQSxNQUFBO0FBQUEsSUFDbEU7QUFBQSxJQUdpQixTQUFNO0FBQ2hCLGFBQUE7QUFBQTtBQUFBLDZCQUVrQixLQUFLLEtBQUs7QUFBQTtBQUFBLFFBRS9CLEtBQUssV0FBVztBQUFBLFFBQ2hCLE9BQU87QUFBQSxRQUNQLGdCQUFnQjtBQUFBLE1BQUEsQ0FDakIsQ0FBQztBQUFBO0FBQUEsSUFBQTtBQUFBLEtBbEJOOztBQUZDLHdCQUFBLENBQUEsVUFBVyxHQUNYLFNBQVMsRUFBRSxTQUFTLE1BQU0sV0FBVyxvQkFBb0IsQ0FBQztBQUMzQyxpQkFBQSxJQUFBLE1BQUEsbUJBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxTQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLFdBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFBLE9BQUEsS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQUEsUUFBbUI7QUFBQSxTQUFBLFVBQUEsYUFBQSxxQkFBQSx3QkFBQTtBQWZyQyxpQkFvQ0MsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztRQWhDd0IsR0FBTSxTQUFtQixPQUo1QyxrQkFBd0IsWUFBQSx1QkFBQSxHQUFDOzs7In0=
113
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi1saXN0L25hdmlnYXRpb24tbGlzdC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgTGl0RWxlbWVudCxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBmb3JjZVR5cGUsIG9taXRFbXB0eUNvbnZlcnRlciwgc2xvdFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IFNiYk5hbWVkU2xvdExpc3RNaXhpbiwgdHlwZSBXaXRoTGlzdENoaWxkcmVuIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tYnV0dG9uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1saW5rLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vbmF2aWdhdGlvbi1saXN0LnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgY2FuIGJlIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIG9uZSBvciBtb3JlIGBzYmItbmF2aWdhdGlvbi1idXR0b25gL2BzYmItbmF2aWdhdGlvbi1saW5rYCB3aXRoaW4gYSBgc2JiLW5hdmlnYXRpb24tc2VjdGlvbmAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgYHNiYi1uYXZpZ2F0aW9uLWxpc3RgLlxuICogQHNsb3QgbGFiZWwgLSBVc2UgdGhpcyB0byBwcm92aWRlIGEgbGFiZWwgZWxlbWVudC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLW5hdmlnYXRpb24tbGlzdCcpXG5Ac2xvdFN0YXRlKClcbmNsYXNzIFNiYk5hdmlnYXRpb25MaXN0RWxlbWVudCBleHRlbmRzIFNiYk5hbWVkU2xvdExpc3RNaXhpbjxcbiAgU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQgfCBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQsXG4gIHR5cGVvZiBMaXRFbGVtZW50XG4+KExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBsaXN0Q2hpbGRMb2NhbE5hbWVzID0gW1xuICAgICdzYmItbmF2aWdhdGlvbi1idXR0b24nLFxuICAgICdzYmItbmF2aWdhdGlvbi1saW5rJyxcbiAgXTtcblxuICAvKipcbiAgICogVGhlIGxhYmVsIHRvIGJlIHNob3duIGJlZm9yZSB0aGUgYWN0aW9uIGxpc3QuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgY29udmVydGVyOiBvbWl0RW1wdHlDb252ZXJ0ZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIGxhYmVsOiBzdHJpbmcgPSAnJztcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8V2l0aExpc3RDaGlsZHJlbjx0aGlzPj4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2xpc3RDaGlsZHJlbicpKSB7XG4gICAgICB0aGlzLmxpc3RDaGlsZHJlbi5mb3JFYWNoKChjKSA9PiAoYy5zaXplID0gaXNMZWFuKCkgPyAncycgOiAnbScpKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLW5hdmlnYXRpb24tbGlzdF9fbGFiZWxcIiBpZD1cInNiYi1uYXZpZ2F0aW9uLWxpbmstbGFiZWwtaWRcIj5cbiAgICAgICAgPHNsb3QgbmFtZT1cImxhYmVsXCI+JHt0aGlzLmxhYmVsfTwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICAgICR7dGhpcy5yZW5kZXJMaXN0KHtcbiAgICAgICAgY2xhc3M6ICdzYmItbmF2aWdhdGlvbi1saXN0X19jb250ZW50JyxcbiAgICAgICAgYXJpYUxhYmVsbGVkYnk6ICdzYmItbmF2aWdhdGlvbi1saW5rLWxhYmVsLWlkJyxcbiAgICAgIH0pfVxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1uYXZpZ2F0aW9uLWxpc3QnOiBTYmJOYXZpZ2F0aW9uTGlzdEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQTBCTSw0QkFBd0IsTUFBQTs7QUFGN0IsTUFBQSxtQkFBQSxDQUFBLGNBQWMscUJBQXFCLEdBQ25DLFdBQVc7Ozs7b0JBQzJCLHNCQUdyQyxVQUFVOzs7O0FBSG1CLEVBQUEsbUJBQVEsWUFHMUI7QUFBQTs7QUFZWDtBQVY0QixXQUFBLHNCQUFzQjtBQUFBLFFBQ2hEO0FBQUEsUUFDQTtBQUFBLE1BQUE7QUFRYyx5QkFBQSx5QkFBQSxrQkFBQSxNQUFBLHFCQUFnQixFQUFFOzs7Ozs7SUFBbEMsSUFBZ0IsUUFBSztBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBckIsSUFBZ0IsTUFBSyxPQUFBO0FBQUEseUJBQUEseUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFFRixXQUFXLG1CQUF5RDtBQUNyRixZQUFNLFdBQVcsaUJBQWlCO0FBRWxDLFVBQUksa0JBQWtCLElBQUksY0FBYyxHQUFHO0FBQ3pDLGFBQUssYUFBYSxRQUFRLENBQUMsTUFBTyxFQUFFLE9BQU8sT0FBQSxJQUFXLE1BQU0sR0FBSTtBQUFBLE1BQUE7QUFBQSxJQUNsRTtBQUFBLElBR2lCLFNBQU07QUFDdkIsYUFBTztBQUFBO0FBQUEsNkJBRWtCLEtBQUssS0FBSztBQUFBO0FBQUEsUUFFL0IsS0FBSyxXQUFXO0FBQUEsUUFDaEIsT0FBTztBQUFBLFFBQ1AsZ0JBQWdCO0FBQUEsTUFBQSxDQUNqQixDQUFDO0FBQUE7QUFBQSxJQUFBO0FBQUEsS0FsQk47O0FBRkMsd0JBQUEsQ0FBQSxVQUFBLEdBQ0EsU0FBUyxFQUFFLFNBQVMsTUFBTSxXQUFXLG1CQUFBLENBQW9CLENBQUM7QUFDM0QsaUJBQUEsSUFBQSxNQUFBLG1CQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsU0FBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxXQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBZ0IsT0FBSyxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBTCxRQUFLO0FBQUEsSUFBQSxLQUFBLFVBQUEsYUFBQSxxQkFBQSx3QkFBQTtBQWZ2QixpQkFBQSxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O1FBSXlCLEdBQUEsU0FBeUIsT0FKNUMsa0JBQUEsWUFBQSx1QkFBQSxHQUF5Qjs7OyJ9
@@ -176,22 +176,20 @@ let SbbNavigationMarkerElement = (() => {
176
176
  setTimeout(() => this._setMarkerPosition());
177
177
  }
178
178
  reset() {
179
- var _a2;
180
179
  if (this._currentActiveAction) {
181
180
  this._currentActiveAction.removeAttribute("data-action-active");
182
- (_a2 = this._currentActiveAction.connectedSection) == null ? void 0 : _a2.close();
181
+ this._currentActiveAction.connectedSection?.close();
183
182
  this._currentActiveAction = void 0;
184
183
  }
185
184
  }
186
185
  _setMarkerPosition() {
187
- var _a2, _b;
188
186
  if (!this._currentActiveAction) {
189
187
  return;
190
188
  }
191
189
  const index = this.listChildren.indexOf(this._currentActiveAction);
192
- const value = (_a2 = this.shadowRoot.querySelector(`li:nth-child(${index + 1})`)) == null ? void 0 : _a2.offsetTop;
190
+ const value = this.shadowRoot.querySelector(`li:nth-child(${index + 1})`)?.offsetTop;
193
191
  if (value != null) {
194
- (_b = this.style) == null ? void 0 : _b.setProperty("--sbb-navigation-marker-position-y", `${value}px`);
192
+ this.style?.setProperty("--sbb-navigation-marker-position-y", `${value}px`);
195
193
  }
196
194
  }
197
195
  render() {
@@ -212,4 +210,4 @@ let SbbNavigationMarkerElement = (() => {
212
210
  export {
213
211
  SbbNavigationMarkerElement
214
212
  };
215
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1tYXJrZXIuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLW1hcmtlci9uYXZpZ2F0aW9uLW1hcmtlci5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgTGl0RWxlbWVudCwgdHlwZSBQcm9wZXJ0eVZhbHVlcywgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgaXNMZWFuIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgU2JiTmFtZWRTbG90TGlzdE1peGluLCB0eXBlIFdpdGhMaXN0Q2hpbGRyZW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1idXR0b24uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLWxpbmsuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9uYXZpZ2F0aW9uLW1hcmtlci5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEl0IGNhbiBiZSB1c2VkIGFzIGEgY29udGFpbmVyIGZvciBvbmUgb3IgbW9yZSBgc2JiLW5hdmlnYXRpb24tYnV0dG9uYC9gc2JiLW5hdmlnYXRpb24tbGlua2Agd2l0aGluIGEgYHNiYi1uYXZpZ2F0aW9uYC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBgc2JiLW5hdmlnYXRpb24tYnV0dG9uYC9gc2JiLW5hdmlnYXRpb24tbGlua2AgZWxlbWVudHMgaW50byB0aGUgYHNiYi1uYXZpZ2F0aW9uLW1hcmtlcmAuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1uYXZpZ2F0aW9uLW1hcmtlcicpXG5jbGFzcyBTYmJOYXZpZ2F0aW9uTWFya2VyRWxlbWVudCBleHRlbmRzIFNiYk5hbWVkU2xvdExpc3RNaXhpbjxcbiAgU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQgfCBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQsXG4gIHR5cGVvZiBMaXRFbGVtZW50XG4+KExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBsaXN0Q2hpbGRMb2NhbE5hbWVzID0gW1xuICAgICdzYmItbmF2aWdhdGlvbi1idXR0b24nLFxuICAgICdzYmItbmF2aWdhdGlvbi1saW5rJyxcbiAgXTtcblxuICAvKipcbiAgICogTWFya2VyIHNpemUgdmFyaWFudCwgZWl0aGVyIHMgb3IgbC5cbiAgICogQGRlZmF1bHQgJ2wnIC8gJ3MnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ2wnIHwgJ3MnID0gaXNMZWFuKCkgPyAncycgOiAnbCc7XG5cbiAgcHJpdmF0ZSBfY3VycmVudEFjdGl2ZUFjdGlvbj86IFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5hZGRDb250cm9sbGVyKFxuICAgICAgbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgICAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICAgICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX3NldE1hcmtlclBvc2l0aW9uKCksXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPFdpdGhMaXN0Q2hpbGRyZW48dGhpcz4+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdzaXplJykgfHwgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsaXN0Q2hpbGRyZW4nKSkge1xuICAgICAgdGhpcy5fdXBkYXRlTWFya2VyQWN0aW9ucygpO1xuICAgIH1cbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1oYXMtYWN0aXZlLWFjdGlvbicsICEhdGhpcy5fY3VycmVudEFjdGl2ZUFjdGlvbik7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVNYXJrZXJBY3Rpb25zKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgYWN0aW9uIG9mIHRoaXMubGlzdENoaWxkcmVuKSB7XG4gICAgICBhY3Rpb24uc2l6ZSA9IHRoaXMuc2l6ZTtcbiAgICB9XG5cbiAgICB0aGlzLl9jdXJyZW50QWN0aXZlQWN0aW9uID0gdGhpcy5saXN0Q2hpbGRyZW4uZmluZCgoYWN0aW9uKSA9PlxuICAgICAgYWN0aW9uLmhhc0F0dHJpYnV0ZSgnZGF0YS1hY3Rpb24tYWN0aXZlJyksXG4gICAgKTtcbiAgICB0aGlzLl9zZXRNYXJrZXJQb3NpdGlvbigpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fY2hlY2tBY3RpdmVBY3Rpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrQWN0aXZlQWN0aW9uKCk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGl2ZUFjdGlvbiA9IHRoaXMucXVlcnlTZWxlY3RvcihcbiAgICAgICc6aXMoc2JiLW5hdmlnYXRpb24tYnV0dG9uLCBzYmItbmF2aWdhdGlvbi1saW5rKS5zYmItYWN0aXZlJyxcbiAgICApIGFzIFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50O1xuICAgIGlmIChhY3RpdmVBY3Rpb24pIHtcbiAgICAgIHRoaXMuc2VsZWN0KGFjdGl2ZUFjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlbGVjdChhY3Rpb246IFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50KTogdm9pZCB7XG4gICAgaWYgKCFhY3Rpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5yZXNldCgpO1xuICAgIGFjdGlvbi50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtYWN0aW9uLWFjdGl2ZScsIHRydWUpO1xuICAgIHRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24gPSBhY3Rpb247XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9zZXRNYXJrZXJQb3NpdGlvbigpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPFdpdGhMaXN0Q2hpbGRyZW48dGhpcz4+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fc2V0TWFya2VyUG9zaXRpb24oKSk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24pIHtcbiAgICAgIHRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24ucmVtb3ZlQXR0cmlidXRlKCdkYXRhLWFjdGlvbi1hY3RpdmUnKTtcbiAgICAgIHRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24uY29ubmVjdGVkU2VjdGlvbj8uY2xvc2UoKTtcbiAgICAgIHRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24gPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0TWFya2VyUG9zaXRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9jdXJyZW50QWN0aXZlQWN0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmxpc3RDaGlsZHJlbi5pbmRleE9mKHRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24pITtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcjxIVE1MTElFbGVtZW50PihcbiAgICAgIGBsaTpudGgtY2hpbGQoJHtpbmRleCArIDF9KWAsXG4gICAgKT8ub2Zmc2V0VG9wO1xuICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eSgnLS1zYmItbmF2aWdhdGlvbi1tYXJrZXItcG9zaXRpb24teScsIGAke3ZhbHVlfXB4YCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIHRoaXMucmVuZGVyTGlzdCgpO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbmF2aWdhdGlvbi1tYXJrZXInOiBTYmJOYXZpZ2F0aW9uTWFya2VyRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIl9hIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
213
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1tYXJrZXIuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLW1hcmtlci9uYXZpZ2F0aW9uLW1hcmtlci5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgTGl0RWxlbWVudCwgdHlwZSBQcm9wZXJ0eVZhbHVlcywgdHlwZSBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgaXNMZWFuIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgU2JiTmFtZWRTbG90TGlzdE1peGluLCB0eXBlIFdpdGhMaXN0Q2hpbGRyZW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1idXR0b24uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLWxpbmsuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9uYXZpZ2F0aW9uLW1hcmtlci5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEl0IGNhbiBiZSB1c2VkIGFzIGEgY29udGFpbmVyIGZvciBvbmUgb3IgbW9yZSBgc2JiLW5hdmlnYXRpb24tYnV0dG9uYC9gc2JiLW5hdmlnYXRpb24tbGlua2Agd2l0aGluIGEgYHNiYi1uYXZpZ2F0aW9uYC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBgc2JiLW5hdmlnYXRpb24tYnV0dG9uYC9gc2JiLW5hdmlnYXRpb24tbGlua2AgZWxlbWVudHMgaW50byB0aGUgYHNiYi1uYXZpZ2F0aW9uLW1hcmtlcmAuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1uYXZpZ2F0aW9uLW1hcmtlcicpXG5jbGFzcyBTYmJOYXZpZ2F0aW9uTWFya2VyRWxlbWVudCBleHRlbmRzIFNiYk5hbWVkU2xvdExpc3RNaXhpbjxcbiAgU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQgfCBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQsXG4gIHR5cGVvZiBMaXRFbGVtZW50XG4+KExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBsaXN0Q2hpbGRMb2NhbE5hbWVzID0gW1xuICAgICdzYmItbmF2aWdhdGlvbi1idXR0b24nLFxuICAgICdzYmItbmF2aWdhdGlvbi1saW5rJyxcbiAgXTtcblxuICAvKipcbiAgICogTWFya2VyIHNpemUgdmFyaWFudCwgZWl0aGVyIHMgb3IgbC5cbiAgICogQGRlZmF1bHQgJ2wnIC8gJ3MnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ2wnIHwgJ3MnID0gaXNMZWFuKCkgPyAncycgOiAnbCc7XG5cbiAgcHJpdmF0ZSBfY3VycmVudEFjdGl2ZUFjdGlvbj86IFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5hZGRDb250cm9sbGVyKFxuICAgICAgbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgICAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICAgICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX3NldE1hcmtlclBvc2l0aW9uKCksXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPFdpdGhMaXN0Q2hpbGRyZW48dGhpcz4+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdzaXplJykgfHwgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsaXN0Q2hpbGRyZW4nKSkge1xuICAgICAgdGhpcy5fdXBkYXRlTWFya2VyQWN0aW9ucygpO1xuICAgIH1cbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1oYXMtYWN0aXZlLWFjdGlvbicsICEhdGhpcy5fY3VycmVudEFjdGl2ZUFjdGlvbik7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVNYXJrZXJBY3Rpb25zKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgYWN0aW9uIG9mIHRoaXMubGlzdENoaWxkcmVuKSB7XG4gICAgICBhY3Rpb24uc2l6ZSA9IHRoaXMuc2l6ZTtcbiAgICB9XG5cbiAgICB0aGlzLl9jdXJyZW50QWN0aXZlQWN0aW9uID0gdGhpcy5saXN0Q2hpbGRyZW4uZmluZCgoYWN0aW9uKSA9PlxuICAgICAgYWN0aW9uLmhhc0F0dHJpYnV0ZSgnZGF0YS1hY3Rpb24tYWN0aXZlJyksXG4gICAgKTtcbiAgICB0aGlzLl9zZXRNYXJrZXJQb3NpdGlvbigpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fY2hlY2tBY3RpdmVBY3Rpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrQWN0aXZlQWN0aW9uKCk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGl2ZUFjdGlvbiA9IHRoaXMucXVlcnlTZWxlY3RvcihcbiAgICAgICc6aXMoc2JiLW5hdmlnYXRpb24tYnV0dG9uLCBzYmItbmF2aWdhdGlvbi1saW5rKS5zYmItYWN0aXZlJyxcbiAgICApIGFzIFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50O1xuICAgIGlmIChhY3RpdmVBY3Rpb24pIHtcbiAgICAgIHRoaXMuc2VsZWN0KGFjdGl2ZUFjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNlbGVjdChhY3Rpb246IFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50KTogdm9pZCB7XG4gICAgaWYgKCFhY3Rpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5yZXNldCgpO1xuICAgIGFjdGlvbi50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtYWN0aW9uLWFjdGl2ZScsIHRydWUpO1xuICAgIHRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24gPSBhY3Rpb247XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9zZXRNYXJrZXJQb3NpdGlvbigpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPFdpdGhMaXN0Q2hpbGRyZW48dGhpcz4+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fc2V0TWFya2VyUG9zaXRpb24oKSk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24pIHtcbiAgICAgIHRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24ucmVtb3ZlQXR0cmlidXRlKCdkYXRhLWFjdGlvbi1hY3RpdmUnKTtcbiAgICAgIHRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24uY29ubmVjdGVkU2VjdGlvbj8uY2xvc2UoKTtcbiAgICAgIHRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24gPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0TWFya2VyUG9zaXRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9jdXJyZW50QWN0aXZlQWN0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmxpc3RDaGlsZHJlbi5pbmRleE9mKHRoaXMuX2N1cnJlbnRBY3RpdmVBY3Rpb24pITtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcjxIVE1MTElFbGVtZW50PihcbiAgICAgIGBsaTpudGgtY2hpbGQoJHtpbmRleCArIDF9KWAsXG4gICAgKT8ub2Zmc2V0VG9wO1xuICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eSgnLS1zYmItbmF2aWdhdGlvbi1tYXJrZXItcG9zaXRpb24teScsIGAke3ZhbHVlfXB4YCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIHRoaXMucmVuZGVyTGlzdCgpO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbmF2aWdhdGlvbi1tYXJrZXInOiBTYmJOYXZpZ2F0aW9uTWFya2VyRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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