@sbb-esta/lyne-elements-dev 5.0.0-next.3-dev.1779265349 → 5.0.0-next.3-dev.1779268556

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 (651) hide show
  1. package/_index.scss +6 -2
  2. package/autocomplete/autocomplete-base-element.js +1 -1
  3. package/autocomplete/autocomplete.component.js +1 -1
  4. package/{autocomplete-base-element-6leI6UF4.js → autocomplete-base-element-jaXVQcA7.js} +11 -9
  5. package/autocomplete.js +1 -1
  6. package/autocomplete.pure.js +1 -1
  7. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  8. package/{breadcrumb-group.component-XPdnV6-a.js → breadcrumb-group.component-a49dItu9.js} +23 -19
  9. package/breadcrumb.js +1 -1
  10. package/breadcrumb.pure.js +1 -1
  11. package/button/mini-button-group/mini-button-group.component.js +1 -1
  12. package/button.js +1 -1
  13. package/button.pure.js +1 -1
  14. package/calendar/calendar/calendar.component.js +1 -1
  15. package/{calendar.component-CiT0mE7S.js → calendar.component-DKgkIocz.js} +37 -33
  16. package/calendar.js +1 -1
  17. package/calendar.pure.js +1 -1
  18. package/container/sticky-bar/sticky-bar.component.js +1 -1
  19. package/container.js +1 -1
  20. package/container.pure.js +1 -1
  21. package/core/mixins/named-slot-list-mixin.js +14 -14
  22. package/core/styles/_index.scss +1 -12
  23. package/core/styles/_theme.scss +16 -0
  24. package/core/styles/core/functions.scss +0 -8
  25. package/core/styles/{a11y.scss → features/a11y.scss} +2 -2
  26. package/core/styles/{animation.scss → features/animation.scss} +1 -1
  27. package/core/styles/features/color-scheme.scss +11 -0
  28. package/core/styles/{core.scss → features/core.scss} +138 -171
  29. package/core/styles/{image.scss → features/image.scss} +29 -7
  30. package/core/styles/{layout.private.scss → features/layout.private.scss} +5 -4
  31. package/core/styles/{layout.scss → features/layout.scss} +1 -1
  32. package/core/styles/{lists.scss → features/lists.scss} +1 -1
  33. package/core/styles/{scrollbar.scss → features/scrollbar.scss} +1 -1
  34. package/core/styles/features/typography.private.scss +9 -0
  35. package/core/styles/{typography.scss → features/typography.scss} +2 -2
  36. package/core/styles/internals/button-reset.scss +5 -0
  37. package/core/styles/{host-scrollbar.scss → internals/host-scrollbar.scss} +1 -1
  38. package/core/styles/internals/list-reset.scss +6 -0
  39. package/core/styles/internals/popover-reset.scss +6 -0
  40. package/core/styles/{screen-reader-only.scss → internals/screen-reader-only.scss} +1 -1
  41. package/core/styles/mixins/{a11y.scss → _a11y.scss} +0 -21
  42. package/core/styles/mixins/{helpers.scss → _helpers.scss} +3 -14
  43. package/core/styles/mixins/{lists.scss → _lists.scss} +8 -12
  44. package/core/styles/mixins/{pearl-chain-bullet.scss → _pearl-chain-bullet.scss} +5 -5
  45. package/core/styles/mixins/_reset.scss +38 -0
  46. package/core/styles/mixins/{typo.scss → _typo.scss} +23 -75
  47. package/core/styles/styles.js +2 -2
  48. package/core.js +2 -2
  49. package/custom-elements.json +68 -22
  50. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  51. package/development/autocomplete/autocomplete-base-element.js +1 -1
  52. package/development/autocomplete/autocomplete.component.js +1 -1
  53. package/development/autocomplete-base-element-JxM7QbC4.js +697 -0
  54. package/development/autocomplete.js +1 -1
  55. package/development/autocomplete.pure.js +1 -1
  56. package/development/block-link-common-DNvRfeay.js +1 -1
  57. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
  58. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  59. package/development/breadcrumb-group.component-DvY1hq51.js +197 -0
  60. package/development/breadcrumb.component-D6Cd2FPo.js +1 -1
  61. package/development/breadcrumb.js +1 -1
  62. package/development/breadcrumb.pure.js +1 -1
  63. package/development/button/mini-button-group/mini-button-group.component.js +1 -1
  64. package/development/button-common-C-A7Dulr.js +1 -1
  65. package/development/button.js +1 -1
  66. package/development/button.pure.js +1 -1
  67. package/development/calendar/calendar/calendar.component.d.ts.map +1 -1
  68. package/development/calendar/calendar/calendar.component.js +1 -1
  69. package/development/calendar-cell-base-element-mWRSDeWc.js +1 -1
  70. package/development/calendar.component-CgEXjBeQ.js +1473 -0
  71. package/development/calendar.js +1 -1
  72. package/development/calendar.pure.js +1 -1
  73. package/development/card.component-CL2gHoyP.js +1 -1
  74. package/development/chip-label.component-DHHNtvTt.js +1 -1
  75. package/development/{compact-paginator.component-BgkpxaaD.js → compact-paginator.component-m8MASSB7.js} +1 -1
  76. package/development/container/sticky-bar/sticky-bar.component.js +1 -1
  77. package/development/container.js +1 -1
  78. package/development/container.pure.js +1 -1
  79. package/development/core/mixins/named-slot-list-mixin.js +3 -3
  80. package/development/core/styles/styles.d.ts +3 -1
  81. package/development/core/styles/styles.d.ts.map +1 -1
  82. package/development/core/styles/styles.js +2 -2
  83. package/development/core.js +2 -2
  84. package/development/date-input.component-HxRyCudr.js +1 -1
  85. package/development/dialog-actions.component-e0ZTTUin.js +1 -1
  86. package/development/dialog.component-D8B2dVck.js +1 -1
  87. package/development/error.component-WCkiwM7_.js +1 -1
  88. package/development/expansion-panel-header.component-gg5A_7Pz.js +1 -1
  89. package/development/expansion-panel.component-DcFrWkIt.js +1 -1
  90. package/development/file-selector/common/file-selector-common.js +1 -1
  91. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  92. package/development/file-selector-common-Dd0S0qE3.js +421 -0
  93. package/development/{file-selector-dropzone.component-B84OL4Xd.js → file-selector-dropzone.component-DWLdqMmI.js} +2 -2
  94. package/development/file-selector.js +2 -2
  95. package/development/file-selector.pure.js +2 -2
  96. package/development/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
  97. package/development/flip-card/flip-card/flip-card.component.js +1 -1
  98. package/development/flip-card.component-MmiS-x-W.js +189 -0
  99. package/development/flip-card.js +1 -1
  100. package/development/flip-card.pure.js +1 -1
  101. package/development/footer.component-K2bWizjw.js +1 -1
  102. package/development/form-field.component-CPWBCHer.js +1 -1
  103. package/development/header/common/header-action-common.js +1 -1
  104. package/development/header-action-common-BYB-HYtn.js +86 -0
  105. package/development/header.component-C4e7CNql.js +1 -1
  106. package/development/header.js +1 -1
  107. package/development/header.pure.js +1 -1
  108. package/development/inline-link-common-BV6oAtAA.js +18 -0
  109. package/development/link/common/inline-link-common.js +1 -1
  110. package/development/link-common-2RGn9Qz_.js +1 -1
  111. package/development/link-list/link-list.component.js +1 -1
  112. package/development/link-list-anchor/link-list-anchor.component.js +1 -1
  113. package/development/{link-list-anchor.component-Csb-FOQL.js → link-list-anchor.component-BMtCbCRD.js} +2 -2
  114. package/development/link-list-anchor.js +1 -1
  115. package/development/link-list-anchor.pure.js +1 -1
  116. package/development/link-list.component-CLxhjWR7.js +97 -0
  117. package/development/link-list.js +1 -1
  118. package/development/link-list.pure.js +1 -1
  119. package/development/link.js +1 -1
  120. package/development/link.pure.js +1 -1
  121. package/development/loading-indicator-circle.component-Cfjw5vyz.js +1 -1
  122. package/development/logo.component-DYKgAgq0.js +1 -1
  123. package/development/menu/common/menu-action-common.js +1 -1
  124. package/development/menu/menu/menu.component.d.ts.map +1 -1
  125. package/development/menu/menu/menu.component.js +1 -1
  126. package/development/menu-action-common-DL4t4_-J.js +32 -0
  127. package/development/menu.component-3qEIFutc.js +369 -0
  128. package/development/menu.js +2 -2
  129. package/development/menu.pure.js +2 -2
  130. package/development/message/message.component.js +1 -1
  131. package/development/{message.component-CdO5GyE2.js → message.component-BJ-84a0B.js} +2 -2
  132. package/development/message.js +1 -1
  133. package/development/message.pure.js +1 -1
  134. package/development/{mini-button-group.component-VYKZf1rq.js → mini-button-group.component-C88pIaaL.js} +2 -2
  135. package/development/mini-button-link.component-kpRsi8I2.js +1 -1
  136. package/development/navigation/navigation/navigation.component.d.ts.map +1 -1
  137. package/development/navigation/navigation/navigation.component.js +1 -1
  138. package/development/navigation/navigation-list/navigation-list.component.js +1 -1
  139. package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
  140. package/development/navigation-action-common-wrzPCkMT.js +1 -1
  141. package/development/navigation-list.component-CU-SGC8c.js +86 -0
  142. package/development/navigation-marker.component-CTk9U0kA.js +120 -0
  143. package/development/navigation-section.component-iaypc6yQ.js +1 -1
  144. package/development/navigation.component-Bu1wVUNx.js +319 -0
  145. package/development/navigation.js +3 -3
  146. package/development/navigation.pure.js +3 -3
  147. package/development/option/option/option.component.js +1 -1
  148. package/development/option/option-styles.d.ts +2 -0
  149. package/development/option/option-styles.d.ts.map +1 -0
  150. package/development/option/option-styles.js +2 -0
  151. package/development/option-styles-IEQgVpCe.js +8 -0
  152. package/development/option.component-BrTjDq6X.js +131 -0
  153. package/development/option.js +4 -3
  154. package/development/option.pure.d.ts +1 -0
  155. package/development/option.pure.d.ts.map +1 -1
  156. package/development/option.pure.js +3 -2
  157. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  158. package/development/overlay/overlay-base-element.js +3 -3
  159. package/development/overlay/overlay.component.js +1 -1
  160. package/development/{overlay.component-YSCuGeme.js → overlay.component-BH-aue7w.js} +1 -1
  161. package/development/overlay.js +1 -1
  162. package/development/overlay.pure.js +1 -1
  163. package/development/paginator/common/paginator-common.js +1 -1
  164. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  165. package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
  166. package/development/paginator/paginator/paginator.component.js +1 -1
  167. package/development/{paginator-common-B7iba0wQ.js → paginator-common-CRchtcXc.js} +1 -1
  168. package/development/paginator.component-B8y5tVCL.js +265 -0
  169. package/development/paginator.js +3 -3
  170. package/development/paginator.pure.js +3 -3
  171. package/development/panel-mixin-DPybe45K.js +1 -1
  172. package/development/popover/popover.component.d.ts.map +1 -1
  173. package/development/popover/popover.component.js +1 -1
  174. package/development/popover.component-Ds4fNNsq.js +578 -0
  175. package/development/popover.js +1 -1
  176. package/development/popover.pure.js +1 -1
  177. package/development/radio-button/common/radio-button-common.js +1 -1
  178. package/development/radio-button/radio-button.component.js +1 -1
  179. package/development/radio-button-common-Ckz2nMS7.js +129 -0
  180. package/development/{radio-button.component-DnErH-1J.js → radio-button.component-qsLFvciH.js} +2 -2
  181. package/development/radio-button.js +2 -2
  182. package/development/radio-button.pure.js +2 -2
  183. package/development/select/select.component.d.ts.map +1 -1
  184. package/development/select/select.component.js +1 -1
  185. package/development/select.component-BE7ZMrAc.js +809 -0
  186. package/development/select.js +1 -1
  187. package/development/select.pure.js +1 -1
  188. package/development/selection-action-panel/selection-action-panel.component.js +1 -1
  189. package/development/{selection-action-panel.component-BT0HmTja.js → selection-action-panel.component-C3UlmLkJ.js} +1 -1
  190. package/development/selection-action-panel.js +1 -1
  191. package/development/selection-action-panel.pure.js +1 -1
  192. package/development/selection-expansion-panel/selection-expansion-panel.component.js +1 -1
  193. package/development/selection-expansion-panel.component-4Ron8XNy.js +186 -0
  194. package/development/selection-expansion-panel.js +1 -1
  195. package/development/selection-expansion-panel.pure.js +1 -1
  196. package/development/sidebar/common/styles.js +1 -1
  197. package/development/sidebar/sidebar/sidebar.component.js +1 -1
  198. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
  199. package/development/sidebar/sidebar-container/sidebar-container.component.js +1 -1
  200. package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  201. package/development/sidebar/sidebar-title/sidebar-title.component.js +1 -1
  202. package/development/{sidebar-close-button.component-CXnf-P5H.js → sidebar-close-button.component-ByQtC65O.js} +1 -1
  203. package/development/sidebar-container.component-BmavabUg.js +100 -0
  204. package/development/{sidebar-content.component-DbcREBUa.js → sidebar-content.component-DcsIIWpz.js} +1 -1
  205. package/development/{sidebar-title.component-BW04otyD.js → sidebar-title.component-DgJdkoiE.js} +1 -1
  206. package/development/{sidebar.component-mfXnE6WQ.js → sidebar.component-BszwyJQa.js} +1 -1
  207. package/development/sidebar.js +5 -5
  208. package/development/sidebar.pure.js +5 -5
  209. package/development/signet/signet.component.js +1 -1
  210. package/development/{signet.component-k14RJ8FA.js → signet.component-DXLTVjJS.js} +1 -1
  211. package/development/signet.js +1 -1
  212. package/development/signet.pure.js +1 -1
  213. package/development/skiplink-list/skiplink-list.component.js +1 -1
  214. package/development/skiplink-list.component-BC8rpyf9.js +129 -0
  215. package/development/skiplink-list.js +1 -1
  216. package/development/skiplink-list.pure.js +1 -1
  217. package/development/slider/slider.component.js +1 -1
  218. package/development/slider.component-BLptxiZ4.js +346 -0
  219. package/development/slider.js +1 -1
  220. package/development/slider.pure.js +1 -1
  221. package/development/status/status.component.js +1 -1
  222. package/development/{status.component-B9en2l26.js → status.component-thSGiOrl.js} +1 -1
  223. package/development/status.js +1 -1
  224. package/development/status.pure.js +1 -1
  225. package/development/step-label.component-CpdXVv32.js +127 -0
  226. package/development/{step.component-B_YHm1tz.js → step.component-DpSJEkrK.js} +1 -1
  227. package/development/stepper/step/step.component.js +1 -1
  228. package/development/stepper/step-label/step-label.component.js +1 -1
  229. package/development/stepper/stepper/stepper.component.js +1 -1
  230. package/development/stepper.component-Bv6LCFU0.js +443 -0
  231. package/development/stepper.js +3 -3
  232. package/development/stepper.pure.js +3 -3
  233. package/development/{sticky-bar.component-BJLtRvcd.js → sticky-bar.component-DZpy1gBU.js} +2 -2
  234. package/development/{styles-WppEBrlW.js → styles-BmvNZZle.js} +1 -1
  235. package/development/styles-D8h0fqb5.js +30 -0
  236. package/development/{tab-group.component-CGMBihsQ.js → tab-group.component-DhcfjVxe.js} +1 -1
  237. package/development/{tab-label.component-CQOLO2t7.js → tab-label.component-B7YEhR1C.js} +1 -1
  238. package/development/tab-nav-bar.component-DrZ1U7lM.js +109 -0
  239. package/development/{tab.component-BVhYPy5Y.js → tab.component-COn1G0XA.js} +1 -1
  240. package/development/table/table-wrapper/table-wrapper.component.js +1 -1
  241. package/development/{table-wrapper.component-By59zmcU.js → table-wrapper.component-9Lst6dT2.js} +1 -1
  242. package/development/table.js +1 -1
  243. package/development/table.pure.js +1 -1
  244. package/development/tabs/common/styles.js +1 -1
  245. package/development/tabs/tab/tab.component.js +1 -1
  246. package/development/tabs/tab-group/tab-group.component.js +1 -1
  247. package/development/tabs/tab-label/tab-label.component.js +1 -1
  248. package/development/tabs/tab-nav-bar/tab-nav-bar.component.js +1 -1
  249. package/development/tabs.js +5 -5
  250. package/development/tabs.pure.js +5 -5
  251. package/development/tag/tag/tag.component.js +1 -1
  252. package/development/tag/tag-group/tag-group.component.js +1 -1
  253. package/development/tag-group.component-OQ3sxhZI.js +194 -0
  254. package/development/tag.component-DWOPDWwe.js +238 -0
  255. package/development/tag.js +2 -2
  256. package/development/tag.pure.js +2 -2
  257. package/development/teaser/teaser.component.js +1 -1
  258. package/development/teaser-hero/teaser-hero.component.js +1 -1
  259. package/development/{teaser-hero.component-BHMcPmdh.js → teaser-hero.component-Cp42iJGt.js} +1 -1
  260. package/development/teaser-hero.js +1 -1
  261. package/development/teaser-hero.pure.js +1 -1
  262. package/development/teaser-panel/teaser-panel.component.js +1 -1
  263. package/development/{teaser-panel.component-BRfbvmkb.js → teaser-panel.component-ptDalUEe.js} +1 -1
  264. package/development/teaser-panel.js +1 -1
  265. package/development/teaser-panel.pure.js +1 -1
  266. package/development/teaser-product/common/teaser-product-common.js +1 -1
  267. package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
  268. package/development/{teaser-product-common-DOyLdTks.js → teaser-product-common-DxBw-__I.js} +1 -1
  269. package/development/teaser-product.component-CPj4vJ2V.js +37 -0
  270. package/development/teaser-product.js +2 -2
  271. package/development/teaser-product.pure.js +2 -2
  272. package/development/teaser.component-Dgrc2jh8.js +116 -0
  273. package/development/teaser.js +1 -1
  274. package/development/teaser.pure.js +1 -1
  275. package/development/time-input/time-input.component.js +1 -1
  276. package/development/time-input.component-BFjDAfbv.js +187 -0
  277. package/development/time-input.js +1 -1
  278. package/development/time-input.pure.js +1 -1
  279. package/development/timetable-form/timetable-form/timetable-form.component.js +1 -1
  280. package/development/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  281. package/development/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  282. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
  283. package/development/{timetable-form-details.component-BeuAZUQe.js → timetable-form-details.component-BFmuJ8-6.js} +1 -1
  284. package/development/{timetable-form-field.component-DC2z1Cwf.js → timetable-form-field.component-DD04XyA0.js} +1 -1
  285. package/development/{timetable-form-swap-button.component-CnbVc8Ok.js → timetable-form-swap-button.component-DphGegO6.js} +1 -1
  286. package/development/{timetable-form.component-C8DfPePn.js → timetable-form.component-EIr4B4mA.js} +1 -1
  287. package/development/timetable-form.js +4 -4
  288. package/development/timetable-form.pure.js +4 -4
  289. package/development/timetable-occupancy/timetable-occupancy.component.d.ts.map +1 -1
  290. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  291. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  292. package/development/timetable-occupancy-icon.component-vsXoAiKz.js +95 -0
  293. package/development/timetable-occupancy-icon.js +1 -1
  294. package/development/timetable-occupancy-icon.pure.js +1 -1
  295. package/development/timetable-occupancy.component-B0zY0RnI.js +126 -0
  296. package/development/timetable-occupancy.js +1 -1
  297. package/development/timetable-occupancy.pure.js +1 -1
  298. package/development/title/title-base.js +1 -1
  299. package/development/title/title.component.d.ts +0 -2
  300. package/development/title/title.component.d.ts.map +1 -1
  301. package/development/title/title.component.js +1 -1
  302. package/development/title-base-CPAVrsQ9.js +102 -0
  303. package/development/title.component-DCg9U2CK.js +69 -0
  304. package/development/title.js +2 -2
  305. package/development/title.pure.js +2 -2
  306. package/development/toast/toast.component.d.ts.map +1 -1
  307. package/development/toast/toast.component.js +1 -1
  308. package/development/{toast.component-DonS3uQm.js → toast.component-TvSfu5nl.js} +3 -3
  309. package/development/toast.js +1 -1
  310. package/development/toast.pure.js +1 -1
  311. package/development/toggle/toggle/toggle.component.js +1 -1
  312. package/development/toggle/toggle-option/toggle-option.component.js +1 -1
  313. package/development/toggle-check/toggle-check.component.js +1 -1
  314. package/development/{toggle-check.component-BIV7jFIc.js → toggle-check.component-CbGa5-8I.js} +1 -1
  315. package/development/toggle-check.js +1 -1
  316. package/development/toggle-check.pure.js +1 -1
  317. package/development/{toggle-option.component-DRxwLSKU.js → toggle-option.component-BxGnhJFH.js} +1 -1
  318. package/development/toggle.component-Q68IDQWX.js +243 -0
  319. package/development/toggle.js +2 -2
  320. package/development/toggle.pure.js +2 -2
  321. package/development/tooltip/tooltip.component.d.ts.map +1 -1
  322. package/development/tooltip/tooltip.component.js +1 -1
  323. package/development/tooltip.component-Baoh6M8V.js +369 -0
  324. package/development/tooltip.js +1 -1
  325. package/development/tooltip.pure.js +1 -1
  326. package/development/train/train/train.component.js +1 -1
  327. package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  328. package/development/train/train-formation/train-formation.component.js +1 -1
  329. package/development/train/train-wagon-common.js +1 -1
  330. package/development/{train-blocked-passage.component-Cxd7dBDC.js → train-blocked-passage.component-C7ve-a1E.js} +1 -1
  331. package/development/{train-formation.component-BEg6OPib.js → train-formation.component-DQ_hLKNv.js} +2 -2
  332. package/development/train-wagon-common-CdckItEt.js +441 -0
  333. package/development/train.component-Bi74L6C7.js +239 -0
  334. package/development/train.js +4 -4
  335. package/development/train.pure.js +4 -4
  336. package/development/visual-checkbox/visual-checkbox.component.js +1 -1
  337. package/development/{visual-checkbox.component-Dm8DNhH2.js → visual-checkbox.component-B4_iHcsX.js} +1 -1
  338. package/development/visual-checkbox.js +1 -1
  339. package/development/visual-checkbox.pure.js +1 -1
  340. package/file-selector/common/file-selector-common.js +1 -1
  341. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  342. package/{file-selector-common-VNwWFEmM.js → file-selector-common-BNGnjK__.js} +1 -1
  343. package/{file-selector-dropzone.component-CGo6odhC.js → file-selector-dropzone.component-sE_fofSq.js} +1 -1
  344. package/file-selector.js +2 -2
  345. package/file-selector.pure.js +2 -2
  346. package/flip-card/flip-card/flip-card.component.js +1 -1
  347. package/{flip-card.component-CZ0v44Ym.js → flip-card.component-ZsA_kDPS.js} +22 -18
  348. package/flip-card.js +1 -1
  349. package/flip-card.pure.js +1 -1
  350. package/header/common/header-action-common.js +1 -1
  351. package/header-action-common-B-eRBjSz.js +64 -0
  352. package/header.js +1 -1
  353. package/header.pure.js +1 -1
  354. package/inline-link-common-O650N_pm.js +13 -0
  355. package/lean-off-brand-theme.css +415 -503
  356. package/lean-safety-theme.css +415 -503
  357. package/lean-theme.css +415 -503
  358. package/link/common/inline-link-common.js +1 -1
  359. package/link-list/link-list.component.js +1 -1
  360. package/link-list-anchor/link-list-anchor.component.js +1 -1
  361. package/{link-list-anchor.component-DG_HCtHH.js → link-list-anchor.component-Bjz_EKvE.js} +1 -1
  362. package/link-list-anchor.js +1 -1
  363. package/link-list-anchor.pure.js +1 -1
  364. package/{link-list.component-BNVd0a8U.js → link-list.component-Dg-7TBPC.js} +1 -1
  365. package/link-list.js +1 -1
  366. package/link-list.pure.js +1 -1
  367. package/link.js +1 -1
  368. package/link.pure.js +1 -1
  369. package/menu/common/menu-action-common.js +1 -1
  370. package/menu/menu/menu.component.js +1 -1
  371. package/{menu-action-common-Wy36tk18.js → menu-action-common-DakEXPg7.js} +1 -1
  372. package/{menu.component-DrrKSRmJ.js → menu.component-CqXsI5Cg.js} +25 -21
  373. package/menu.js +2 -2
  374. package/menu.pure.js +2 -2
  375. package/message/message.component.js +1 -1
  376. package/{message.component-CdfsCpnE.js → message.component-CORYX4KP.js} +1 -1
  377. package/message.js +1 -1
  378. package/message.pure.js +1 -1
  379. package/{mini-button-group.component-DQBU0BDm.js → mini-button-group.component-DWayyUpK.js} +1 -1
  380. package/navigation/navigation/navigation.component.js +1 -1
  381. package/navigation/navigation-list/navigation-list.component.js +1 -1
  382. package/navigation/navigation-marker/navigation-marker.component.js +1 -1
  383. package/{navigation-list.component-Cezo1tC-.js → navigation-list.component-C5y3ohH0.js} +1 -1
  384. package/{navigation-marker.component-CNsMaqpH.js → navigation-marker.component-VbvKu1TR.js} +1 -1
  385. package/{navigation.component-DLgmWh_c.js → navigation.component-DKJujMqj.js} +23 -19
  386. package/navigation.js +3 -3
  387. package/navigation.pure.js +3 -3
  388. package/off-brand-theme.css +415 -503
  389. package/option/option/option.component.js +1 -1
  390. package/option/option-styles.js +2 -0
  391. package/option-styles-DcD5grSB.js +6 -0
  392. package/option.js +5 -4
  393. package/option.pure.js +4 -3
  394. package/overlay/overlay-base-element.js +21 -21
  395. package/overlay/overlay.component.js +1 -1
  396. package/overlay.js +1 -1
  397. package/overlay.pure.js +1 -1
  398. package/package.json +5 -49
  399. package/paginator/common/paginator-common.js +1 -1
  400. package/paginator/compact-paginator/compact-paginator.component.js +1 -1
  401. package/paginator/paginator/paginator.component.js +1 -1
  402. package/paginator.component-Dk1xDHgW.js +212 -0
  403. package/paginator.js +3 -3
  404. package/paginator.pure.js +3 -3
  405. package/popover/popover.component.js +1 -1
  406. package/{popover.component-Dm_86bPY.js → popover.component-Bm-bx-Hs.js} +32 -32
  407. package/popover.js +1 -1
  408. package/popover.pure.js +1 -1
  409. package/radio-button/common/radio-button-common.js +1 -1
  410. package/radio-button/radio-button.component.js +1 -1
  411. package/{radio-button.component-CZ273yAb.js → radio-button.component-CGeTCfMq.js} +1 -1
  412. package/radio-button.js +2 -2
  413. package/radio-button.pure.js +2 -2
  414. package/safety-theme.css +415 -503
  415. package/select/select.component.js +1 -1
  416. package/{select.component-CLPLpFDz.js → select.component-UcWSndDu.js} +41 -39
  417. package/select.js +1 -1
  418. package/select.pure.js +1 -1
  419. package/selection-action-panel/selection-action-panel.component.js +1 -1
  420. package/selection-action-panel.js +1 -1
  421. package/selection-action-panel.pure.js +1 -1
  422. package/selection-expansion-panel/selection-expansion-panel.component.js +1 -1
  423. package/selection-expansion-panel.js +1 -1
  424. package/selection-expansion-panel.pure.js +1 -1
  425. package/sidebar/sidebar/sidebar.component.js +1 -1
  426. package/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
  427. package/sidebar/sidebar-container/sidebar-container.component.js +1 -1
  428. package/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  429. package/sidebar/sidebar-title/sidebar-title.component.js +1 -1
  430. package/sidebar.js +5 -5
  431. package/sidebar.pure.js +5 -5
  432. package/signet/signet.component.js +1 -1
  433. package/signet.js +1 -1
  434. package/signet.pure.js +1 -1
  435. package/skiplink-list/skiplink-list.component.js +1 -1
  436. package/{skiplink-list.component-BXaqYpsI.js → skiplink-list.component-ClGb1J_H.js} +1 -1
  437. package/skiplink-list.js +1 -1
  438. package/skiplink-list.pure.js +1 -1
  439. package/slider/slider.component.js +1 -1
  440. package/slider.js +1 -1
  441. package/slider.pure.js +1 -1
  442. package/standard-theme.css +415 -503
  443. package/status/status.component.js +1 -1
  444. package/status.js +1 -1
  445. package/status.pure.js +1 -1
  446. package/stepper/step/step.component.js +1 -1
  447. package/stepper/step-label/step-label.component.js +1 -1
  448. package/stepper/stepper/stepper.component.js +1 -1
  449. package/stepper.js +3 -3
  450. package/stepper.pure.js +3 -3
  451. package/{sticky-bar.component-dmlGAZLW.js → sticky-bar.component-DtXeRUqi.js} +1 -1
  452. package/styles-DV41ClRb.js +5 -0
  453. package/{tab-nav-bar.component-FT2W0urU.js → tab-nav-bar.component-CRC6xnaX.js} +1 -1
  454. package/table/table-wrapper/table-wrapper.component.js +1 -1
  455. package/table.js +1 -1
  456. package/table.pure.js +1 -1
  457. package/tabs/common/styles.js +1 -1
  458. package/tabs/tab/tab.component.js +1 -1
  459. package/tabs/tab-group/tab-group.component.js +1 -1
  460. package/tabs/tab-label/tab-label.component.js +1 -1
  461. package/tabs/tab-nav-bar/tab-nav-bar.component.js +1 -1
  462. package/tabs.js +5 -5
  463. package/tabs.pure.js +5 -5
  464. package/tag/tag/tag.component.js +1 -1
  465. package/tag/tag-group/tag-group.component.js +1 -1
  466. package/{tag-group.component-9UfHHJ79.js → tag-group.component-wnzXwLPf.js} +1 -1
  467. package/tag.js +2 -2
  468. package/tag.pure.js +2 -2
  469. package/teaser/teaser.component.js +1 -1
  470. package/teaser-hero/teaser-hero.component.js +1 -1
  471. package/teaser-hero.js +1 -1
  472. package/teaser-hero.pure.js +1 -1
  473. package/teaser-panel/teaser-panel.component.js +1 -1
  474. package/teaser-panel.js +1 -1
  475. package/teaser-panel.pure.js +1 -1
  476. package/teaser-product/common/teaser-product-common.js +1 -1
  477. package/teaser-product/teaser-product/teaser-product.component.js +1 -1
  478. package/teaser-product.js +2 -2
  479. package/teaser-product.pure.js +2 -2
  480. package/teaser.js +1 -1
  481. package/teaser.pure.js +1 -1
  482. package/time-input/time-input.component.js +1 -1
  483. package/time-input.js +1 -1
  484. package/time-input.pure.js +1 -1
  485. package/timetable-form/timetable-form/timetable-form.component.js +1 -1
  486. package/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  487. package/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  488. package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
  489. package/timetable-form.js +4 -4
  490. package/timetable-form.pure.js +4 -4
  491. package/timetable-occupancy/timetable-occupancy.component.js +1 -1
  492. package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  493. package/timetable-occupancy-icon.js +1 -1
  494. package/timetable-occupancy-icon.pure.js +1 -1
  495. package/{timetable-occupancy.component-DGQ20zH1.js → timetable-occupancy.component-CIkq1cT7.js} +17 -13
  496. package/timetable-occupancy.js +1 -1
  497. package/timetable-occupancy.pure.js +1 -1
  498. package/title/title-base.js +1 -1
  499. package/title/title.component.js +1 -1
  500. package/{title-base-JBhKD3ur.js → title-base-B1xzk7Zb.js} +1 -1
  501. package/{title.component-VnTeqomb.js → title.component-DTnG8op9.js} +2 -2
  502. package/title.js +2 -2
  503. package/title.pure.js +2 -2
  504. package/toast/toast.component.js +1 -1
  505. package/{toast.component-BMN90Ouu.js → toast.component-Ew5vuGXf.js} +19 -19
  506. package/toast.js +1 -1
  507. package/toast.pure.js +1 -1
  508. package/toggle/toggle/toggle.component.js +1 -1
  509. package/toggle/toggle-option/toggle-option.component.js +1 -1
  510. package/toggle-check/toggle-check.component.js +1 -1
  511. package/toggle-check.js +1 -1
  512. package/toggle-check.pure.js +1 -1
  513. package/toggle.js +2 -2
  514. package/toggle.pure.js +2 -2
  515. package/tooltip/tooltip.component.js +1 -1
  516. package/{tooltip.component-NfyDxfw7.js → tooltip.component-ihyNBI7f.js} +25 -25
  517. package/tooltip.js +1 -1
  518. package/tooltip.pure.js +1 -1
  519. package/train/train/train.component.js +1 -1
  520. package/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  521. package/train/train-formation/train-formation.component.js +1 -1
  522. package/train/train-wagon-common.js +1 -1
  523. package/{train-formation.component-DVxNBPIB.js → train-formation.component-CYqdWnkL.js} +1 -1
  524. package/{train-wagon-common-CDCsWVgi.js → train-wagon-common-C1Py1D01.js} +1 -1
  525. package/{train.component-DxadS7O8.js → train.component-DRLUjuXY.js} +1 -1
  526. package/train.js +4 -4
  527. package/train.pure.js +4 -4
  528. package/visual-checkbox/visual-checkbox.component.js +1 -1
  529. package/visual-checkbox.js +1 -1
  530. package/visual-checkbox.pure.js +1 -1
  531. package/a11y.css +0 -20
  532. package/animation.css +0 -14
  533. package/badge.css +0 -32
  534. package/core/styles/badge.scss +0 -3
  535. package/core/styles/mixins/badge.scss +0 -42
  536. package/core/styles/mixins/buttons.scss +0 -12
  537. package/core/styles/mixins/card.scss +0 -205
  538. package/core/styles/mixins/dev_and_debug.scss +0 -8
  539. package/core/styles/mixins/image.scss +0 -43
  540. package/core/styles/mixins/inputs.scss +0 -11
  541. package/core/styles/mixins/link.scss +0 -125
  542. package/core/styles/mixins/panel.scss +0 -80
  543. package/core/styles/mixins/popover.scss +0 -14
  544. package/core/styles/mixins/table.scss +0 -185
  545. package/core/styles/mixins/timetable-form.scss +0 -63
  546. package/core/styles/option-panel-common.global.scss +0 -11
  547. package/core/styles/option-panel-common.scss +0 -157
  548. package/core/styles/theme.scss +0 -20
  549. package/core/styles/timetable-form.scss +0 -27
  550. package/core/styles/typography.private.scss +0 -9
  551. package/core.css +0 -2713
  552. package/development/autocomplete-base-element-qnPoRLvM.js +0 -695
  553. package/development/breadcrumb-group.component-BUBfl6LV.js +0 -193
  554. package/development/calendar.component-CG96KGTg.js +0 -1469
  555. package/development/file-selector-common-mZ5UYxOF.js +0 -421
  556. package/development/flip-card.component-DujrPKzU.js +0 -185
  557. package/development/header-action-common-Be0XQge2.js +0 -86
  558. package/development/inline-link-common-gmt6yz3v.js +0 -18
  559. package/development/link-list.component-B90qHOUD.js +0 -97
  560. package/development/menu-action-common-DRXQc85Y.js +0 -32
  561. package/development/menu.component-Cv9wRj4H.js +0 -365
  562. package/development/navigation-list.component-Dvv-bZ2V.js +0 -86
  563. package/development/navigation-marker.component-DMqe-VlY.js +0 -120
  564. package/development/navigation.component-CqNkBvEs.js +0 -315
  565. package/development/option.component-CV6cZnJe.js +0 -131
  566. package/development/paginator.component-BwLUSpDj.js +0 -261
  567. package/development/popover.component-CKUZbWbV.js +0 -578
  568. package/development/radio-button-common-G0jLFo41.js +0 -129
  569. package/development/select.component-CUjF11sq.js +0 -807
  570. package/development/selection-expansion-panel.component-BT78Qhbf.js +0 -186
  571. package/development/sidebar-container.component-CxwDKxv9.js +0 -100
  572. package/development/skiplink-list.component-m7xm-pns.js +0 -129
  573. package/development/slider.component-D_nLTlRF.js +0 -346
  574. package/development/step-label.component-Bo7Z0w7N.js +0 -127
  575. package/development/stepper.component-BeqeUIRN.js +0 -443
  576. package/development/styles-Cctez2BS.js +0 -22
  577. package/development/tab-nav-bar.component-B_mi8GGR.js +0 -109
  578. package/development/tag-group.component-Db8prSBL.js +0 -194
  579. package/development/tag.component-DG1uxD28.js +0 -238
  580. package/development/teaser-product.component-DMyuB-cH.js +0 -37
  581. package/development/teaser.component-CF_NUbwJ.js +0 -116
  582. package/development/time-input.component-XxzRoupm.js +0 -187
  583. package/development/timetable-occupancy-icon.component-UBmyZsTO.js +0 -95
  584. package/development/timetable-occupancy.component-DMm242Fr.js +0 -122
  585. package/development/title-base-D_Rjyk_j.js +0 -102
  586. package/development/title.component-CMxYhTfw.js +0 -71
  587. package/development/toggle.component-B03k5qc1.js +0 -243
  588. package/development/tooltip.component-D8zik3p4.js +0 -369
  589. package/development/train-wagon-common-Dg-BjUtC.js +0 -441
  590. package/development/train.component-dECIGw2x.js +0 -239
  591. package/header-action-common-DuPx0U2o.js +0 -64
  592. package/inline-link-common-BqqH1ExY.js +0 -13
  593. package/layout.css +0 -30
  594. package/lists.css +0 -194
  595. package/normalize.css +0 -95
  596. package/paginator.component-DB8l-B6J.js +0 -208
  597. package/scrollbar.css +0 -124
  598. package/styles-DAMaYe4p.js +0 -5
  599. package/table.css +0 -261
  600. package/timetable-form.css +0 -73
  601. package/typography.css +0 -67
  602. /package/{compact-paginator.component-BAuShgQE.js → compact-paginator.component-B-8gf_qD.js} +0 -0
  603. /package/core/styles/{disable-animation.scss → disable-animation-extension.scss} +0 -0
  604. /package/core/styles/{node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables-as-css.scss → features/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables-as-css.scss} +0 -0
  605. /package/core/styles/{node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss → features/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss} +0 -0
  606. /package/core/styles/{normalize.scss → features/normalize.scss} +0 -0
  607. /package/core/styles/{scrollbar.private.scss → features/scrollbar.private.scss} +0 -0
  608. /package/core/styles/mixins/{animation.scss → _animation.scss} +0 -0
  609. /package/core/styles/mixins/{font-face.scss → _font-face.scss} +0 -0
  610. /package/core/styles/mixins/{layout.scss → _layout.scss} +0 -0
  611. /package/core/styles/mixins/{scrollbar.scss → _scrollbar.scss} +0 -0
  612. /package/{disable-animation.css → disable-animation-extension.css} +0 -0
  613. /package/{option.component-BeorlZT0.js → option.component-DiH8AMlV.js} +0 -0
  614. /package/{overlay.component-myJflfLY.js → overlay.component-D7Z_vx1A.js} +0 -0
  615. /package/{paginator-common-BWewgXga.js → paginator-common-C0Kn9ibe.js} +0 -0
  616. /package/{radio-button-common-CrIRn10q.js → radio-button-common-BDNSqXg-.js} +0 -0
  617. /package/{selection-action-panel.component-DCGJQ3Mx.js → selection-action-panel.component-Ba7N1Hgt.js} +0 -0
  618. /package/{selection-expansion-panel.component-Cu1egfTY.js → selection-expansion-panel.component-BL1FPfPM.js} +0 -0
  619. /package/{sidebar-close-button.component-8owwjvk3.js → sidebar-close-button.component-CLjOpBM2.js} +0 -0
  620. /package/{sidebar-container.component-Dcke-Uhr.js → sidebar-container.component-8filIF5E.js} +0 -0
  621. /package/{sidebar-content.component-CYupfsq_.js → sidebar-content.component-DMdjHDdq.js} +0 -0
  622. /package/{sidebar-title.component-Cf64lCJx.js → sidebar-title.component-DaIkBNY9.js} +0 -0
  623. /package/{sidebar.component-LaqQzMo2.js → sidebar.component-D_HLDNnq.js} +0 -0
  624. /package/{signet.component-3Xfke8uk.js → signet.component-6q3GxORI.js} +0 -0
  625. /package/{slider.component-BlUWAWJU.js → slider.component-C8LKcM11.js} +0 -0
  626. /package/{status.component-mel7wA1j.js → status.component-DMfZTgzz.js} +0 -0
  627. /package/{step-label.component-BGSaHafq.js → step-label.component-CjNZYk5b.js} +0 -0
  628. /package/{step.component-tJh-Pb_E.js → step.component-BCkwsZdk.js} +0 -0
  629. /package/{stepper.component-BCl77LVa.js → stepper.component-mq66fR06.js} +0 -0
  630. /package/{styles-DisU4TWi.js → styles-DWm_OYpV.js} +0 -0
  631. /package/{tab-group.component-CDhggNpe.js → tab-group.component-MEm2W7QR.js} +0 -0
  632. /package/{tab-label.component-BuF2qt1T.js → tab-label.component-BqznCfW8.js} +0 -0
  633. /package/{tab.component-D6hfhlZw.js → tab.component-DPwbvqp4.js} +0 -0
  634. /package/{table-wrapper.component-C83EYuZP.js → table-wrapper.component-LzYuAVPb.js} +0 -0
  635. /package/{tag.component-BKuxfdDi.js → tag.component-zGPaopTo.js} +0 -0
  636. /package/{teaser-hero.component-mv6HL4vm.js → teaser-hero.component-BlhffYux.js} +0 -0
  637. /package/{teaser-panel.component-qRmy2lbz.js → teaser-panel.component-BCbKgXVt.js} +0 -0
  638. /package/{teaser-product-common-J1KZ2Hlw.js → teaser-product-common-C_lgMbyC.js} +0 -0
  639. /package/{teaser-product.component-BcleFVcu.js → teaser-product.component-CQIXu7sq.js} +0 -0
  640. /package/{teaser.component-BOqCERR7.js → teaser.component-D9z78Eny.js} +0 -0
  641. /package/{time-input.component-Dw8pPYDK.js → time-input.component-CLHEoWze.js} +0 -0
  642. /package/{timetable-form-details.component-0c6h6shd.js → timetable-form-details.component-DJ3oPkQP.js} +0 -0
  643. /package/{timetable-form-field.component-Cya8n2Ms.js → timetable-form-field.component-6s8_sz9h.js} +0 -0
  644. /package/{timetable-form-swap-button.component-rI_0UYJw.js → timetable-form-swap-button.component-BY2m2_k9.js} +0 -0
  645. /package/{timetable-form.component-DVps6baq.js → timetable-form.component-Swe8BX7g.js} +0 -0
  646. /package/{timetable-occupancy-icon.component-ABh1bz-X.js → timetable-occupancy-icon.component-C44eSFOM.js} +0 -0
  647. /package/{toggle-check.component-BcQ5ht0O.js → toggle-check.component-Ce-klZJB.js} +0 -0
  648. /package/{toggle-option.component-DQcPDXyl.js → toggle-option.component-BdMfGuA-.js} +0 -0
  649. /package/{toggle.component-DARkqJol.js → toggle.component-ySmrXvjA.js} +0 -0
  650. /package/{train-blocked-passage.component-B601YYJl.js → train-blocked-passage.component-UnNCmspZ.js} +0 -0
  651. /package/{visual-checkbox.component-YhX5Qk3j.js → visual-checkbox.component-JmGORoDU.js} +0 -0
@@ -0,0 +1,369 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { html, isServer, unsafeCSS } from "lit";
3
+ import { property } from "lit/decorators.js";
4
+ import { SbbDarkModeController, SbbEscapableOverlayController, SbbFocusTrapController, SbbInertController, SbbLanguageController, SbbMediaMatcherController, SbbMediaQueryBreakpointSmallAndBelow, SbbOpenCloseBaseElement, SbbScrollHandler, forwardEvent, getElementPosition, getElementPositionHorizontal, getNextElementIndex, i18nGoBack, idReference, interactivityChecker, isArrowKeyOrPageKeysPressed, isEventOnElement, isZeroAnimationDuration, popoverResetStyles, removeAriaOverlayTriggerProperties, scrollbarStyles, setAriaOverlayTriggerProperties, ɵstateController } from "./core.js";
5
+ import { SbbDividerElement } from "./divider.pure.js";
6
+ import { ref } from "lit/directives/ref.js";
7
+ import { SbbMenuButtonElement } from "./menu/menu-button/menu-button.component.js";
8
+ //#region src/elements/menu/menu/menu.scss?inline
9
+ var menu_default = ":host {\n display: contents;\n --sbb-menu-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-6x)\n );\n --sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);\n --_sbb-menu-inset: 0 auto auto 0;\n}\n@media (min-width: calc(64rem)) {\n :host {\n --sbb-menu-back-button-display: none;\n }\n}\n\n:host(:is(:is(:state(state-opened),[state--state-opened]), :is(:state(state-opening),[state--state-opening]))) {\n --sbb-menu-visibility: visible;\n --sbb-menu-backdrop-color: color-mix(in srgb, var(--sbb-color-black) 20%, transparent);\n}\n@media (min-width: calc(64rem)) {\n :host(:is(:is(:state(state-opened),[state--state-opened]), :is(:state(state-opening),[state--state-opening]))) {\n --sbb-menu-backdrop-color: transparent;\n }\n}\n\n:host(:not(:is(:state(nested),[state--nested]))) {\n --sbb-menu-back-button-display: none;\n}\n\n:host(:not(:is(:state(state-closed),[state--state-closed]))) {\n --_sbb-menu-inset: 0;\n}\n\n:host(:is(:state(dark),[state--dark])) .sbb-scrollbar-negative {\n --sbb-focus-outline-color: var(--sbb-focus-outline-color-default);\n --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-black) 30%, transparent);\n --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-black) 60%, transparent);\n}\n\n@media (max-width: calc(63.9375rem)) {\n :host(:is(:state(skip-animation),[state--skip-animation])) {\n --sbb-menu-animation-duration: 0ms;\n }\n :host(:is(:state(nested-child),[state--nested-child])) {\n --sbb-menu-transform-x: -100%;\n }\n :host(:is(:state(nested),[state--nested]):is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]), :is(:state(state-closing),[state--state-closing]))) {\n --sbb-menu-open-animation-name: open-sideways;\n }\n :host(:is(:state(state-closing),[state--state-closing]):is(:state(nested),[state--nested]):not(:is(:state(close-all),[state--close-all]))) {\n --sbb-menu-close-animation-name: close-sideways;\n }\n}\n::slotted(:not(sbb-menu-button, sbb-menu-link, sbb-divider)) {\n display: block;\n padding-inline: var(--sbb-spacing-fixed-5x);\n}\n\nsbb-divider,\n::slotted(sbb-divider) {\n --sbb-divider-color: var(--sbb-background-color-4-inverted);\n margin-block: var(--sbb-spacing-fixed-2x);\n}\n\nsbb-divider,\n#sbb-menu__back-button {\n display: var(--sbb-menu-back-button-display, block);\n}\n\n.sbb-menu__container {\n position: fixed;\n pointer-events: none;\n inset: var(--_sbb-menu-inset);\n height: var(--sbb-menu-container-height);\n z-index: var(--sbb-menu-z-index, var(--sbb-overlay-default-z-index));\n}\n.sbb-menu__container::before {\n content: \"\";\n visibility: var(--sbb-menu-visibility, hidden);\n pointer-events: all;\n position: fixed;\n inset: var(--_sbb-menu-inset);\n height: var(--sbb-menu-container-height);\n background-color: var(--sbb-menu-backdrop-color, transparent);\n transition-duration: var(--sbb-menu-animation-duration);\n transition-timing-function: var(--sbb-menu-animation-easing);\n transition-property: background-color, visibility;\n}\n:host(:is(:state(nested),[state--nested])) .sbb-menu__container::before {\n display: none;\n}\n\n.sbb-menu {\n display: none;\n opacity: 0;\n pointer-events: none;\n max-width: var(--sbb-menu-max-width);\n min-width: var(--sbb-menu-min-width);\n text-align: start;\n position: absolute;\n inset-inline-start: 0;\n inset-block-start: unset;\n inset-block-end: 0;\n inset-inline-end: unset;\n color: var(--sbb-menu-color);\n border: none;\n border-radius: var(--sbb-menu-border-radius) var(--sbb-menu-border-radius) 0 0;\n background-color: var(--sbb-menu-background-color);\n padding: 0;\n overflow: hidden;\n translate: var(--sbb-menu-transform-x, 0) 0;\n transition: translate var(--sbb-menu-animation-duration);\n}\n:host(:is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]), :is(:state(state-closing),[state--state-closing]))) .sbb-menu {\n display: block;\n opacity: 1;\n pointer-events: all;\n animation-name: var(--sbb-menu-open-animation-name, open);\n animation-duration: var(--sbb-menu-animation-duration);\n animation-timing-function: var(--sbb-menu-animation-easing);\n}\n:host(:is(:state(state-closing),[state--state-closing])) .sbb-menu {\n pointer-events: none;\n animation-name: var(--sbb-menu-close-animation-name, close);\n}\n@media (forced-colors: active) {\n .sbb-menu {\n outline: var(--sbb-border-width-1x) solid CanvasText;\n }\n}\n@media (min-width: calc(64rem)) {\n .sbb-menu {\n top: 0;\n bottom: unset;\n left: 0;\n right: unset;\n max-height: fit-content;\n border-radius: var(--sbb-menu-border-radius);\n }\n :host(:not(:is(:state(state-closed),[state--state-closed]))) .sbb-menu {\n top: var(--sbb-menu-position-y, 0);\n left: var(--sbb-menu-position-x, 0);\n max-height: var(--sbb-menu-max-height);\n min-height: var(--sbb-menu-min-height);\n }\n}\n\n.sbb-menu__content {\n max-height: var(--sbb-menu-max-height);\n padding-block: var(--sbb-spacing-fixed-1x);\n overflow: auto;\n outline: none;\n}\n.sbb-menu__content::after {\n content: \"\";\n display: block;\n height: var(--sbb-spacing-fixed-8x);\n}\n@media (min-width: calc(64rem)) {\n .sbb-menu__content {\n max-height: fit-content;\n }\n :host(:not(:is(:state(state-closed),[state--state-closed]))) .sbb-menu__content {\n max-height: var(--sbb-menu-max-height);\n min-height: var(--sbb-menu-min-height);\n }\n .sbb-menu__content::after {\n display: none;\n }\n}\n\n::slotted(:is(:is(:state(sbb-link),[state--sbb-link]), :is(:state(sbb-button),[state--sbb-button]))) {\n color-scheme: only light;\n}\n\n@keyframes open {\n from {\n opacity: 0;\n translate: 0 var(--sbb-menu-transform-y, 100%);\n }\n to {\n opacity: 1;\n translate: 0 0;\n }\n}\n@keyframes close {\n from {\n opacity: 1;\n translate: 0 0;\n }\n to {\n opacity: 0;\n translate: 0 var(--sbb-menu-transform-y, 100%);\n }\n}\n@keyframes open-sideways {\n from {\n translate: 100% 0;\n }\n to {\n translate: 0 0;\n }\n}\n@keyframes close-sideways {\n from {\n translate: 0 0;\n }\n to {\n translate: 100% 0;\n }\n}";
10
+ //#endregion
11
+ //#region src/elements/menu/menu/menu.component.ts
12
+ var MENU_OFFSET = 8;
13
+ var NESTED_MENU_OFFSET = -4;
14
+ var INTERACTIVE_ELEMENTS = [
15
+ "A",
16
+ "BUTTON",
17
+ "SBB-BUTTON",
18
+ "SBB-BUTTON-LINK",
19
+ "SBB-LINK",
20
+ "SBB-BLOCK-LINK",
21
+ "SBB-LINK-BUTTON",
22
+ "SBB-BLOCK-LINK-BUTTON",
23
+ "SBB-MENU-BUTTON",
24
+ "SBB-MENU-LINK"
25
+ ];
26
+ /**
27
+ * It displays a contextual menu with one or more action element.
28
+ *
29
+ * @slot - Use the unnamed slot to add `sbb-menu-button`/`sbb-menu-link` or other elements to the menu.
30
+ * @cssprop [--sbb-menu-z-index=var(--sbb-overlay-default-z-index)] - To specify a custom stack order,
31
+ * the `z-index` can be overridden by defining this CSS variable. The default `z-index` of the
32
+ * component is set to `var(--sbb-overlay-default-z-index)` with a value of `1000`.
33
+ */
34
+ var SbbMenuElement = (() => {
35
+ let _classSuper = SbbOpenCloseBaseElement;
36
+ let _trigger_decorators;
37
+ let _trigger_initializers = [];
38
+ let _trigger_extraInitializers = [];
39
+ return class SbbMenuElement extends _classSuper {
40
+ static {
41
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
42
+ _trigger_decorators = [idReference(), property()];
43
+ __esDecorate(this, null, _trigger_decorators, {
44
+ kind: "accessor",
45
+ name: "trigger",
46
+ static: false,
47
+ private: false,
48
+ access: {
49
+ has: (obj) => "trigger" in obj,
50
+ get: (obj) => obj.trigger,
51
+ set: (obj, value) => {
52
+ obj.trigger = value;
53
+ }
54
+ },
55
+ metadata: _metadata
56
+ }, _trigger_initializers, _trigger_extraInitializers);
57
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, {
58
+ enumerable: true,
59
+ configurable: true,
60
+ writable: true,
61
+ value: _metadata
62
+ });
63
+ }
64
+ static {
65
+ this.elementName = "sbb-menu";
66
+ }
67
+ static {
68
+ this.elementDependencies = [SbbDividerElement, SbbMenuButtonElement];
69
+ }
70
+ static {
71
+ this.styles = [
72
+ popoverResetStyles,
73
+ scrollbarStyles,
74
+ unsafeCSS(menu_default)
75
+ ];
76
+ }
77
+ static {
78
+ this.role = "menu";
79
+ }
80
+ #trigger_accessor_storage;
81
+ /**
82
+ * The element that will trigger the menu overlay.
83
+ *
84
+ * For attribute usage, provide an id reference.
85
+ */
86
+ get trigger() {
87
+ return this.#trigger_accessor_storage;
88
+ }
89
+ set trigger(value) {
90
+ this.#trigger_accessor_storage = value;
91
+ }
92
+ constructor() {
93
+ super();
94
+ this.#trigger_accessor_storage = __runInitializers(this, _trigger_initializers, null);
95
+ this._menu = __runInitializers(this, _trigger_extraInitializers);
96
+ this._triggerElement = null;
97
+ this._isPointerDownEventOnMenu = false;
98
+ this._escapableOverlayController = new SbbEscapableOverlayController(this);
99
+ this._focusTrapController = new SbbFocusTrapController(this);
100
+ this._scrollHandler = new SbbScrollHandler();
101
+ this._inertController = new SbbInertController(this);
102
+ this._mobileBreakpoint = SbbMediaQueryBreakpointSmallAndBelow;
103
+ this._mediaMatcher = new SbbMediaMatcherController(this, { [this._mobileBreakpoint]: (matches) => {
104
+ if (matches && (this.state === "opening" || this.state === "opened")) this._scrollHandler.disableScroll();
105
+ else this._scrollHandler.enableScroll();
106
+ } });
107
+ this._darkModeController = new SbbDarkModeController(this, () => this._syncNegative());
108
+ this._language = new SbbLanguageController(this);
109
+ this._nestedMenu = null;
110
+ this._pointerDownListener = (event) => {
111
+ const menu = event.target.closest("sbb-menu");
112
+ this._isPointerDownEventOnMenu = isEventOnElement(this._menu, event) || this._nestedMenus().some((el) => menu === el);
113
+ };
114
+ this._closeOnBackdropClick = (event) => {
115
+ const target = event.target;
116
+ if (!this._isPointerDownEventOnMenu && !isEventOnElement(this._menu, event) && !this._nestedMenus().some((el) => el === target)) this.closeAll();
117
+ };
118
+ this.addEventListener?.("keydown", (e) => this._handleKeyDown(e));
119
+ }
120
+ firstUpdated(changedProperties) {
121
+ super.firstUpdated(changedProperties);
122
+ this._configureTrigger();
123
+ }
124
+ escapeStrategy() {
125
+ this.closeAll();
126
+ }
127
+ /**
128
+ * Opens the menu on trigger click.
129
+ */
130
+ open() {
131
+ if (this.state === "closing" || this.state === "opened" || !this._menu || !this.dispatchBeforeOpenEvent()) return;
132
+ if (this._isNested()) {
133
+ const parentMenu = this._parentMenu();
134
+ parentMenu.internals.states.add("nested-child");
135
+ if (parentMenu._nestedMenu !== this) parentMenu._nestedMenu?.close();
136
+ parentMenu._nestedMenu = this;
137
+ }
138
+ this.showPopover?.();
139
+ this.state = "opening";
140
+ this._setMenuPosition();
141
+ if (this._triggerElement) this._triggerElement.ariaExpanded = "true";
142
+ if (this._isMobile()) this._scrollHandler.disableScroll();
143
+ if (this._isZeroAnimationDuration()) this._handleOpening();
144
+ }
145
+ /** Closes the menu and all its nested menus. */
146
+ close() {
147
+ this._close();
148
+ }
149
+ /** Closes the menu and all related menus (nested and parent menus). */
150
+ closeAll() {
151
+ this._mainMenu()._close(true);
152
+ }
153
+ /** @param [closeAll='false'] - If true, it ensures animations are correct by toggling some states when closing all related menus at once. */
154
+ _close(closeAll = false) {
155
+ if (this.state === "opening" && !this._isNested() || !this.dispatchBeforeCloseEvent()) return;
156
+ this._nestedMenu?._close(closeAll);
157
+ if (this._isNested()) {
158
+ const parentMenu = this._parentMenu();
159
+ if (closeAll) {
160
+ this.internals.states.add("close-all");
161
+ parentMenu.internals.states.add("skip-animation");
162
+ } else {
163
+ this.internals.states.delete("close-all");
164
+ parentMenu.internals.states.delete("skip-animation");
165
+ }
166
+ parentMenu.internals.states.delete("nested-child");
167
+ parentMenu._nestedMenu = null;
168
+ }
169
+ this.state = "closing";
170
+ if (this._triggerElement) this._triggerElement.ariaExpanded = "false";
171
+ if (this._isZeroAnimationDuration()) this._handleClosing();
172
+ }
173
+ _isZeroAnimationDuration() {
174
+ return isZeroAnimationDuration(this, "--sbb-menu-animation-duration");
175
+ }
176
+ _handleOpening() {
177
+ this.state = "opened";
178
+ if (!this._isNested()) this._inertController.activate();
179
+ else this._updateNestedInert();
180
+ this._escapableOverlayController.connect();
181
+ this._focusTrapController.focusInitialElement();
182
+ this._focusTrapController.enabled = true;
183
+ this._attachWindowEvents();
184
+ this.dispatchOpenEvent();
185
+ }
186
+ _handleClosing() {
187
+ this.state = "closed";
188
+ this.internals.states.delete("skip-animation");
189
+ this.internals.states.delete("close-all");
190
+ this.hidePopover?.();
191
+ this._menu?.firstElementChild?.scrollTo(0, 0);
192
+ if (!this._isNested()) this._inertController.deactivate();
193
+ else this._updateNestedInert();
194
+ this._triggerElement?.focus({ preventScroll: ["sbb-header-button", "sbb-header-link"].includes(this._triggerElement.localName) });
195
+ this._escapableOverlayController.disconnect();
196
+ this.dispatchCloseEvent();
197
+ this._windowEventsController?.abort();
198
+ this._focusTrapController.enabled = false;
199
+ this._scrollHandler.enableScroll();
200
+ }
201
+ _handleKeyDown(evt) {
202
+ if (!isArrowKeyOrPageKeysPressed(evt)) return;
203
+ evt.preventDefault();
204
+ const enabledActions = Array.from(this.querySelectorAll("sbb-menu-button, sbb-menu-link")).concat(this.shadowRoot.querySelector("sbb-menu-button")).filter((el) => (!el.disabled || el.disabledInteractive) && interactivityChecker.isVisible(el));
205
+ const current = enabledActions.findIndex((e) => e === evt.target);
206
+ let nextIndex;
207
+ switch (evt.key) {
208
+ case "ArrowUp":
209
+ case "ArrowDown":
210
+ nextIndex = getNextElementIndex(evt, current, enabledActions.length);
211
+ break;
212
+ case "ArrowLeft":
213
+ if (this._isNested()) this.close();
214
+ break;
215
+ case "ArrowRight":
216
+ if (evt.target.matches(":is(:state(sbb-menu-trigger),[state--sbb-menu-trigger])")) evt.target.click();
217
+ break;
218
+ case "PageUp":
219
+ case "Home":
220
+ nextIndex = 0;
221
+ break;
222
+ case "End":
223
+ case "PageDown":
224
+ nextIndex = enabledActions.length - 1;
225
+ break;
226
+ }
227
+ if (nextIndex !== void 0) enabledActions[nextIndex].focus();
228
+ }
229
+ createRenderRoot() {
230
+ const renderRoot = super.createRenderRoot();
231
+ this.shadowRoot?.addEventListener("slotchange", () => this._syncNegative(), { capture: true });
232
+ return renderRoot;
233
+ }
234
+ connectedCallback() {
235
+ this.popover = "manual";
236
+ super.connectedCallback();
237
+ if (this.hasUpdated) this._configureTrigger();
238
+ }
239
+ disconnectedCallback() {
240
+ super.disconnectedCallback();
241
+ this._triggerElement = null;
242
+ this._triggerAbortController?.abort();
243
+ this._windowEventsController?.abort();
244
+ this._scrollHandler.enableScroll();
245
+ }
246
+ requestUpdate(name, oldValue, options) {
247
+ super.requestUpdate(name, oldValue, options);
248
+ if (!isServer && (!name || name === "trigger") && this.hasUpdated) this._configureTrigger();
249
+ }
250
+ _configureTrigger() {
251
+ if (this.trigger === this._triggerElement) return;
252
+ this._triggerAbortController?.abort();
253
+ removeAriaOverlayTriggerProperties(this._triggerElement);
254
+ this._triggerElement = this.trigger;
255
+ if (!this._triggerElement) return;
256
+ setAriaOverlayTriggerProperties(this, this._triggerElement, "menu", this.state);
257
+ this._triggerAbortController = new AbortController();
258
+ this._triggerElement.addEventListener("click", () => this.open(), { signal: this._triggerAbortController.signal });
259
+ this.toggleState("nested", ["sbb-menu-button", "sbb-menu-link"].includes(this._triggerElement.localName));
260
+ ɵstateController(this._triggerElement).add("sbb-menu-trigger");
261
+ }
262
+ _attachWindowEvents() {
263
+ this._windowEventsController = new AbortController();
264
+ document.addEventListener("scroll", () => this._setMenuPosition(), {
265
+ passive: true,
266
+ signal: this._windowEventsController.signal,
267
+ capture: true
268
+ });
269
+ window.addEventListener("resize", () => this._setMenuPosition(), {
270
+ passive: true,
271
+ signal: this._windowEventsController.signal
272
+ });
273
+ if (!this._isNested()) {
274
+ window.addEventListener("pointerdown", this._pointerDownListener, { signal: this._windowEventsController.signal });
275
+ window.addEventListener("pointerup", this._closeOnBackdropClick, { signal: this._windowEventsController.signal });
276
+ }
277
+ }
278
+ _interactiveElementClick(event) {
279
+ const target = event.target;
280
+ if (INTERACTIVE_ELEMENTS.includes(target.nodeName) && !target.hasAttribute("disabled") && !target.matches(":is(:state(sbb-menu-trigger),[state--sbb-menu-trigger])") && target.id !== "sbb-menu__back-button") this.closeAll();
281
+ }
282
+ /** Converts the linked list into an array of SbbMenuElement. */
283
+ _nestedMenus() {
284
+ const menus = [];
285
+ let current = this._nestedMenu;
286
+ while (current) {
287
+ menus.push(current);
288
+ current = current._nestedMenu;
289
+ }
290
+ return menus;
291
+ }
292
+ _parentMenu() {
293
+ return this._triggerElement?.closest("sbb-menu") ?? null;
294
+ }
295
+ /** The outermost menu. */
296
+ _mainMenu() {
297
+ return this._isNested() ? this._parentMenu()?._mainMenu() ?? this : this;
298
+ }
299
+ _isNested() {
300
+ return !!this._parentMenu();
301
+ }
302
+ _updateNestedInert() {
303
+ this._inertController.restoreAllExempted();
304
+ this._mainMenu()._nestedMenus().forEach((menu) => this._inertController.exempt(menu));
305
+ }
306
+ _handleMouseOver(event) {
307
+ const element = event.target;
308
+ const isMobile = this._isMobile();
309
+ if (!isMobile && this._nestedMenu && !element.classList.contains("sbb-menu__content") && !(element.ariaExpanded === "true")) this._nestedMenu.close();
310
+ if (element.matches(":is(:state(sbb-menu-trigger),[state--sbb-menu-trigger])") && !isMobile) element.click();
311
+ }
312
+ _onMenuAnimationEnd(event) {
313
+ if ((event.animationName === "open" || event.animationName === "open-sideways") && this.state === "opening") this._handleOpening();
314
+ else if ((event.animationName === "close" || event.animationName === "close-sideways") && this.state === "closing") this._handleClosing();
315
+ }
316
+ _setMenuPosition() {
317
+ if (this._isMobile() || !this._menu || !this._triggerElement || this.state === "closing") return;
318
+ const menuPosition = !this._isNested() ? getElementPosition(this.shadowRoot.querySelector(".sbb-menu__content"), this._triggerElement, this.shadowRoot.querySelector(".sbb-menu__container"), { verticalOffset: MENU_OFFSET }) : getElementPositionHorizontal(this.shadowRoot.querySelector(".sbb-menu__content"), this._triggerElement, this.shadowRoot.querySelector(".sbb-menu__container"), {
319
+ horizontalOffset: MENU_OFFSET,
320
+ verticalOffset: NESTED_MENU_OFFSET,
321
+ contentSelector: ".sbb-menu__content"
322
+ });
323
+ this.style.setProperty("--sbb-menu-position-x", `${menuPosition.left}px`);
324
+ this.style.setProperty("--sbb-menu-position-y", `${menuPosition.top}px`);
325
+ this.style.setProperty("--sbb-menu-max-height", menuPosition.maxHeight);
326
+ }
327
+ _syncNegative() {
328
+ this.querySelectorAll(":is(:state(sbb-link),[state--sbb-link]), :is(:state(sbb-button),[state--sbb-button])")?.forEach((el) => {
329
+ customElements.upgrade(el);
330
+ el.negative = !this._darkModeController.matches();
331
+ });
332
+ }
333
+ _isMobile() {
334
+ return this._mediaMatcher.matches(this._mobileBreakpoint) ?? true;
335
+ }
336
+ render() {
337
+ return html`
338
+ <div class="sbb-menu__container">
339
+ <div
340
+ @animationend=${this._onMenuAnimationEnd}
341
+ @mouseover=${(e) => this._handleMouseOver(e)}
342
+ class="sbb-menu"
343
+ ${ref((el) => this._menu = el)}
344
+ >
345
+ <div
346
+ @click=${(event) => this._interactiveElementClick(event)}
347
+ @scroll=${(e) => forwardEvent(e, document)}
348
+ class="sbb-menu__content sbb-scrollbar-negative"
349
+ >
350
+ <slot></slot>
351
+ <sbb-divider></sbb-divider>
352
+ <sbb-menu-button
353
+ id="sbb-menu__back-button"
354
+ @click=${() => this.close()}
355
+ icon-name="chevron-small-left-small"
356
+ >
357
+ ${i18nGoBack[this._language.current]}
358
+ </sbb-menu-button>
359
+ </div>
360
+ </div>
361
+ </div>
362
+ `;
363
+ }
364
+ };
365
+ })();
366
+ //#endregion
367
+ export { SbbMenuElement as t };
368
+
369
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQtM3FFSUZ1dGMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL21lbnUvbWVudS9tZW51LnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL21lbnUvbWVudS9tZW51LmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC8vIFdlIHVzZSB0aGlzIHJ1bGUgdG8gbWFrZSB0aGUgaW5uZXIgY29udGFpbmVyIGVsZW1lbnQgdG8gYXBwZWFyIGFzIGlmIGl0IHdlcmUgYVxuICAvLyBkaXJlY3QgY2hpbGQgb2YgdGhlIGhvc3QncyBwYXJlbnQgZWxlbWVudC4gVGhpcyBpcyB1c2VmdWwgYmVjYXVzZSB0aGUgaG9zdFxuICAvLyBzaG91bGQgYmUgaWdub3JlZCB3aGVuIHVzaW5nIENTUyBncmlkIG9yIHNpbWlsYXIgbGF5b3V0IHRlY2huaXF1ZXMuXG4gIGRpc3BsYXk6IGNvbnRlbnRzO1xuXG4gIC0tc2JiLW1lbnUtYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi02eClcbiAgKTtcbiAgLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvcjogdmFyKC0tc2JiLWZvY3VzLW91dGxpbmUtY29sb3ItZGFyayk7XG4gIC0tX3NiYi1tZW51LWluc2V0OiAwIGF1dG8gYXV0byAwO1xuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAtLXNiYi1tZW51LWJhY2stYnV0dG9uLWRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuOmhvc3QoOmlzKDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtb3BlbmluZykpKSB7XG4gIC0tc2JiLW1lbnUtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgLS1zYmItbWVudS1iYWNrZHJvcC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXNiYi1jb2xvci1ibGFjaykgMjAlLCB0cmFuc3BhcmVudCk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIC0tc2JiLW1lbnUtYmFja2Ryb3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbjpob3N0KDpub3QoOnN0YXRlKG5lc3RlZCkpKSB7XG4gIC0tc2JiLW1lbnUtYmFjay1idXR0b24tZGlzcGxheTogbm9uZTtcbn1cblxuOmhvc3QoOm5vdCg6c3RhdGUoc3RhdGUtY2xvc2VkKSkpIHtcbiAgLS1fc2JiLW1lbnUtaW5zZXQ6IDA7XG59XG5cbjpob3N0KDpzdGF0ZShkYXJrKSkgLnNiYi1zY3JvbGxiYXItbmVnYXRpdmUge1xuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kZWZhdWx0KTtcblxuICAvLyBXZSBoYXZlIHRvIGVuc3VyZSB0aGF0IHRoZSBzY3JvbGxiYXIgaXMgdmlzaWJsZSBpbiBkYXJrIG1vZGUgd2l0aCBub24tZGFyayBtb2RlIHZhbHVlcy5cbiAgLS1zYmItc2Nyb2xsYmFyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tc2JiLWNvbG9yLWJsYWNrKSAzMCUsIHRyYW5zcGFyZW50KTtcbiAgLS1zYmItc2Nyb2xsYmFyLWNvbG9yLWhvdmVyOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tc2JiLWNvbG9yLWJsYWNrKSA2MCUsIHRyYW5zcGFyZW50KTtcbn1cblxuQGluY2x1ZGUgc2JiLm1xKCR0bzogbGFyZ2UpIHtcbiAgOmhvc3QoOnN0YXRlKHNraXAtYW5pbWF0aW9uKSkge1xuICAgIC0tc2JiLW1lbnUtYW5pbWF0aW9uLWR1cmF0aW9uOiAwbXM7XG4gIH1cblxuICA6aG9zdCg6c3RhdGUobmVzdGVkLWNoaWxkKSkge1xuICAgIC0tc2JiLW1lbnUtdHJhbnNmb3JtLXg6IC0xMDAlO1xuICB9XG5cbiAgOmhvc3QoOnN0YXRlKG5lc3RlZCk6aXMoOnN0YXRlKHN0YXRlLW9wZW5pbmcpLCA6c3RhdGUoc3RhdGUtb3BlbmVkKSwgOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSkge1xuICAgIC0tc2JiLW1lbnUtb3Blbi1hbmltYXRpb24tbmFtZTogb3Blbi1zaWRld2F5cztcbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzdGF0ZS1jbG9zaW5nKTpzdGF0ZShuZXN0ZWQpOm5vdCg6c3RhdGUoY2xvc2UtYWxsKSkpIHtcbiAgICAtLXNiYi1tZW51LWNsb3NlLWFuaW1hdGlvbi1uYW1lOiBjbG9zZS1zaWRld2F5cztcbiAgfVxufVxuXG46OnNsb3R0ZWQoOm5vdChzYmItbWVudS1idXR0b24sIHNiYi1tZW51LWxpbmssIHNiYi1kaXZpZGVyKSkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTV4KTtcbn1cblxuc2JiLWRpdmlkZXIsXG46OnNsb3R0ZWQoc2JiLWRpdmlkZXIpIHtcbiAgLS1zYmItZGl2aWRlci1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItNC1pbnZlcnRlZCk7XG5cbiAgbWFyZ2luLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0yeCk7XG59XG5cbnNiYi1kaXZpZGVyLFxuI3NiYi1tZW51X19iYWNrLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IHZhcigtLXNiYi1tZW51LWJhY2stYnV0dG9uLWRpc3BsYXksIGJsb2NrKTtcbn1cblxuLnNiYi1tZW51X19jb250YWluZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBpbnNldDogdmFyKC0tX3NiYi1tZW51LWluc2V0KTtcbiAgaGVpZ2h0OiB2YXIoLS1zYmItbWVudS1jb250YWluZXItaGVpZ2h0KTtcbiAgei1pbmRleDogdmFyKC0tc2JiLW1lbnUtei1pbmRleCwgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KSk7XG5cbiAgLy8gTWVudSBiYWNrZHJvcCAob25seSB2aXNpYmxlIG9uIG1vYmlsZSlcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB2aXNpYmlsaXR5OiB2YXIoLS1zYmItbWVudS12aXNpYmlsaXR5LCBoaWRkZW4pO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGluc2V0OiB2YXIoLS1fc2JiLW1lbnUtaW5zZXQpO1xuICAgIGhlaWdodDogdmFyKC0tc2JiLW1lbnUtY29udGFpbmVyLWhlaWdodCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLW1lbnUtYmFja2Ryb3AtY29sb3IsIHRyYW5zcGFyZW50KTtcbiAgICB0cmFuc2l0aW9uOiB7XG4gICAgICBkdXJhdGlvbjogdmFyKC0tc2JiLW1lbnUtYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLW1lbnUtYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgICBwcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgdmlzaWJpbGl0eTtcbiAgICB9XG5cbiAgICAvLyBIaWRlIHRoZSBiYWNrZHJvcCB3aGVuIGluIG5lc3RlZCBzdGF0ZVxuICAgIDpob3N0KDpzdGF0ZShuZXN0ZWQpKSAmIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5zYmItbWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBtYXgtd2lkdGg6IHZhcigtLXNiYi1tZW51LW1heC13aWR0aCk7XG4gIG1pbi13aWR0aDogdmFyKC0tc2JiLW1lbnUtbWluLXdpZHRoKTtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwO1xuICBpbnNldC1ibG9jay1zdGFydDogdW5zZXQ7XG4gIGluc2V0LWJsb2NrLWVuZDogMDtcbiAgaW5zZXQtaW5saW5lLWVuZDogdW5zZXQ7XG4gIGNvbG9yOiB2YXIoLS1zYmItbWVudS1jb2xvcik7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLW1lbnUtYm9yZGVyLXJhZGl1cykgdmFyKC0tc2JiLW1lbnUtYm9yZGVyLXJhZGl1cykgMCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItbWVudS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNsYXRlOiB2YXIoLS1zYmItbWVudS10cmFuc2Zvcm0teCwgMCkgMDtcblxuICAvLyBVc2VkIHdoZW4gbmF2aWdhdGluZyBiYWNrIGZyb20gbmVzdGVkIG1lbnUgaW4gbW9iaWxlIHZpZXdcbiAgdHJhbnNpdGlvbjogdHJhbnNsYXRlIHZhcigtLXNiYi1tZW51LWFuaW1hdGlvbi1kdXJhdGlvbik7XG5cbiAgOmhvc3QoOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcblxuICAgIGFuaW1hdGlvbjoge1xuICAgICAgbmFtZTogdmFyKC0tc2JiLW1lbnUtb3Blbi1hbmltYXRpb24tbmFtZSwgb3Blbik7XG4gICAgICBkdXJhdGlvbjogdmFyKC0tc2JiLW1lbnUtYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLW1lbnUtYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSAmIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBhbmltYXRpb24tbmFtZTogdmFyKC0tc2JiLW1lbnUtY2xvc2UtYW5pbWF0aW9uLW5hbWUsIGNsb3NlKTtcbiAgfVxuXG4gIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgb3V0bGluZTogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0xeCkgc29saWQgQ2FudmFzVGV4dDtcbiAgfVxuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogbGFyZ2UpIHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiB1bnNldDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiB1bnNldDtcbiAgICBtYXgtaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItbWVudS1ib3JkZXItcmFkaXVzKTtcblxuICAgIDpob3N0KDpub3QoOnN0YXRlKHN0YXRlLWNsb3NlZCkpKSAmIHtcbiAgICAgIHRvcDogdmFyKC0tc2JiLW1lbnUtcG9zaXRpb24teSwgMCk7XG4gICAgICBsZWZ0OiB2YXIoLS1zYmItbWVudS1wb3NpdGlvbi14LCAwKTtcbiAgICAgIG1heC1oZWlnaHQ6IHZhcigtLXNiYi1tZW51LW1heC1oZWlnaHQpO1xuICAgICAgbWluLWhlaWdodDogdmFyKC0tc2JiLW1lbnUtbWluLWhlaWdodCk7XG4gICAgfVxuICB9XG59XG5cbi5zYmItbWVudV9fY29udGVudCB7XG4gIG1heC1oZWlnaHQ6IHZhcigtLXNiYi1tZW51LW1heC1oZWlnaHQpO1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0xeCk7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBvdXRsaW5lOiBub25lO1xuXG4gIC8vIE1hcmdpbiBib3R0b20gaW4gbW9iaWxlIHZhcmlhbnRcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtOHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIG1heC1oZWlnaHQ6IGZpdC1jb250ZW50O1xuXG4gICAgOmhvc3QoOm5vdCg6c3RhdGUoc3RhdGUtY2xvc2VkKSkpICYge1xuICAgICAgbWF4LWhlaWdodDogdmFyKC0tc2JiLW1lbnUtbWF4LWhlaWdodCk7XG4gICAgICBtaW4taGVpZ2h0OiB2YXIoLS1zYmItbWVudS1taW4taGVpZ2h0KTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG46OnNsb3R0ZWQoOmlzKDpzdGF0ZShzYmItbGluayksIDpzdGF0ZShzYmItYnV0dG9uKSkpIHtcbiAgLy8gQXMgdGhlIGJhY2tncm91bmQgdHVybnMgd2hpdGUsIHdlIG5lZWQgdG8gZW5zdXJlIHRoYXQgYnV0dG9ucyBhbmQgbGlua3MgYXJlIGRpc3BsYXllZCBpbiBwb3NpdGl2ZS5cbiAgY29sb3Itc2NoZW1lOiBvbmx5IGxpZ2h0O1xufVxuXG5Aa2V5ZnJhbWVzIG9wZW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zbGF0ZTogMCB2YXIoLS1zYmItbWVudS10cmFuc2Zvcm0teSwgMTAwJSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2xhdGU6IDAgMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNsb3NlIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2xhdGU6IDAgMDtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zbGF0ZTogMCB2YXIoLS1zYmItbWVudS10cmFuc2Zvcm0teSwgMTAwJSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBvcGVuLXNpZGV3YXlzIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNsYXRlOiAxMDAlIDA7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNsYXRlOiAwIDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjbG9zZS1zaWRld2F5cyB7XG4gIGZyb20ge1xuICAgIHRyYW5zbGF0ZTogMCAwO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zbGF0ZTogMTAwJSAwO1xuICB9XG59XG4iLCJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBpc1NlcnZlcixcbiAgdHlwZSBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxuICB1bnNhZmVDU1MsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IHJlZiB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3JlZi5qcyc7XG5cbmltcG9ydCB7XG4gIGZvcndhcmRFdmVudCxcbiAgZ2V0RWxlbWVudFBvc2l0aW9uLFxuICBnZXRFbGVtZW50UG9zaXRpb25Ib3Jpem9udGFsLFxuICBnZXROZXh0RWxlbWVudEluZGV4LFxuICBpMThuR29CYWNrLFxuICBpZFJlZmVyZW5jZSxcbiAgaW50ZXJhY3Rpdml0eUNoZWNrZXIsXG4gIGlzQXJyb3dLZXlPclBhZ2VLZXlzUHJlc3NlZCxcbiAgaXNFdmVudE9uRWxlbWVudCxcbiAgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24sXG4gIHBvcG92ZXJSZXNldFN0eWxlcyxcbiAgcmVtb3ZlQXJpYU92ZXJsYXlUcmlnZ2VyUHJvcGVydGllcyxcbiAgU2JiRGFya01vZGVDb250cm9sbGVyLFxuICB0eXBlIFNiYkVsZW1lbnRUeXBlLFxuICBTYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlcixcbiAgU2JiRm9jdXNUcmFwQ29udHJvbGxlcixcbiAgU2JiSW5lcnRDb250cm9sbGVyLFxuICBTYmJMYW5ndWFnZUNvbnRyb2xsZXIsXG4gIFNiYk1lZGlhTWF0Y2hlckNvbnRyb2xsZXIsXG4gIFNiYk1lZGlhUXVlcnlCcmVha3BvaW50U21hbGxBbmRCZWxvdyxcbiAgdHlwZSBTYmJOZWdhdGl2ZU1peGluVHlwZSxcbiAgU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQsXG4gIFNiYlNjcm9sbEhhbmRsZXIsXG4gIHNjcm9sbGJhclN0eWxlcyxcbiAgc2V0QXJpYU92ZXJsYXlUcmlnZ2VyUHJvcGVydGllcyxcbiAgybVzdGF0ZUNvbnRyb2xsZXIsXG59IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHsgU2JiRGl2aWRlckVsZW1lbnQgfSBmcm9tICcuLi8uLi9kaXZpZGVyLnB1cmUudHMnO1xuaW1wb3J0IHsgU2JiTWVudUJ1dHRvbkVsZW1lbnQgfSBmcm9tICcuLi9tZW51LWJ1dHRvbi9tZW51LWJ1dHRvbi5jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJNZW51TGlua0VsZW1lbnQgfSBmcm9tICcuLi9tZW51LWxpbmsvbWVudS1saW5rLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL21lbnUuc2Nzcz9pbmxpbmUnO1xuXG5jb25zdCBNRU5VX09GRlNFVCA9IDg7XG5jb25zdCBORVNURURfTUVOVV9PRkZTRVQgPSAtNDtcbmNvbnN0IElOVEVSQUNUSVZFX0VMRU1FTlRTID0gW1xuICAnQScsXG4gICdCVVRUT04nLFxuICAnU0JCLUJVVFRPTicsXG4gICdTQkItQlVUVE9OLUxJTksnLFxuICAnU0JCLUxJTksnLFxuICAnU0JCLUJMT0NLLUxJTksnLFxuICAnU0JCLUxJTkstQlVUVE9OJyxcbiAgJ1NCQi1CTE9DSy1MSU5LLUJVVFRPTicsXG4gICdTQkItTUVOVS1CVVRUT04nLFxuICAnU0JCLU1FTlUtTElOSycsXG5dO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgY29udGV4dHVhbCBtZW51IHdpdGggb25lIG9yIG1vcmUgYWN0aW9uIGVsZW1lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1tZW51LWJ1dHRvbmAvYHNiYi1tZW51LWxpbmtgIG9yIG90aGVyIGVsZW1lbnRzIHRvIHRoZSBtZW51LlxuICogQGNzc3Byb3AgWy0tc2JiLW1lbnUtei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnQgY2xhc3MgU2JiTWVudUVsZW1lbnQgZXh0ZW5kcyBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItbWVudSc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgZWxlbWVudERlcGVuZGVuY2llczogU2JiRWxlbWVudFR5cGVbXSA9IFtcbiAgICBTYmJEaXZpZGVyRWxlbWVudCxcbiAgICBTYmJNZW51QnV0dG9uRWxlbWVudCxcbiAgXTtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW1xuICAgIHBvcG92ZXJSZXNldFN0eWxlcyxcbiAgICBzY3JvbGxiYXJTdHlsZXMsXG4gICAgdW5zYWZlQ1NTKHN0eWxlKSxcbiAgXTtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ21lbnUnO1xuXG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCB0aGF0IHdpbGwgdHJpZ2dlciB0aGUgbWVudSBvdmVybGF5LlxuICAgKlxuICAgKiBGb3IgYXR0cmlidXRlIHVzYWdlLCBwcm92aWRlIGFuIGlkIHJlZmVyZW5jZS5cbiAgICovXG4gIEBpZFJlZmVyZW5jZSgpXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB0cmlnZ2VyOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX21lbnUhOiBIVE1MRGl2RWxlbWVudDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIhOiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgX2lzUG9pbnRlckRvd25FdmVudE9uTWVudTogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF93aW5kb3dFdmVudHNDb250cm9sbGVyITogQWJvcnRDb250cm9sbGVyO1xuICBwcml2YXRlIF9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlciA9IG5ldyBTYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfZm9jdXNUcmFwQ29udHJvbGxlciA9IG5ldyBTYmJGb2N1c1RyYXBDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9zY3JvbGxIYW5kbGVyID0gbmV3IFNiYlNjcm9sbEhhbmRsZXIoKTtcbiAgcHJpdmF0ZSBfaW5lcnRDb250cm9sbGVyID0gbmV3IFNiYkluZXJ0Q29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfbW9iaWxlQnJlYWtwb2ludCA9IFNiYk1lZGlhUXVlcnlCcmVha3BvaW50U21hbGxBbmRCZWxvdztcbiAgcHJpdmF0ZSBfbWVkaWFNYXRjaGVyID0gbmV3IFNiYk1lZGlhTWF0Y2hlckNvbnRyb2xsZXIodGhpcywge1xuICAgIFt0aGlzLl9tb2JpbGVCcmVha3BvaW50XTogKG1hdGNoZXMpID0+IHtcbiAgICAgIGlmIChtYXRjaGVzICYmICh0aGlzLnN0YXRlID09PSAnb3BlbmluZycgfHwgdGhpcy5zdGF0ZSA9PT0gJ29wZW5lZCcpKSB7XG4gICAgICAgIHRoaXMuX3Njcm9sbEhhbmRsZXIuZGlzYWJsZVNjcm9sbCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgICAgIH1cbiAgICB9LFxuICB9KTtcbiAgcHJpdmF0ZSBfZGFya01vZGVDb250cm9sbGVyID0gbmV3IFNiYkRhcmtNb2RlQ29udHJvbGxlcih0aGlzLCAoKSA9PiB0aGlzLl9zeW5jTmVnYXRpdmUoKSk7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfbmVzdGVkTWVudTogU2JiTWVudUVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChlKSA9PiB0aGlzLl9oYW5kbGVLZXlEb3duKGUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIHRoaXMuX2NvbmZpZ3VyZVRyaWdnZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBlc2NhcGVTdHJhdGVneSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlQWxsKCk7XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgdGhlIG1lbnUgb24gdHJpZ2dlciBjbGljay5cbiAgICovXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJyB8fFxuICAgICAgdGhpcy5zdGF0ZSA9PT0gJ29wZW5lZCcgfHxcbiAgICAgICF0aGlzLl9tZW51IHx8XG4gICAgICAhdGhpcy5kaXNwYXRjaEJlZm9yZU9wZW5FdmVudCgpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2lzTmVzdGVkKCkpIHtcbiAgICAgIGNvbnN0IHBhcmVudE1lbnUgPSB0aGlzLl9wYXJlbnRNZW51KCkhO1xuICAgICAgcGFyZW50TWVudS5pbnRlcm5hbHMuc3RhdGVzLmFkZCgnbmVzdGVkLWNoaWxkJyk7XG5cbiAgICAgIC8vIEluIGNhc2Ugd2UgY2hhbmdlIGJldHdlZW4gYXJyb3cga2V5IG5hdmlnYXRpb24gYW5kIG1vdXNlIG5hdmlnYXRpb24sIGl0IGNhbiBiZSB0aGF0IGFub3RoZXJcbiAgICAgIC8vIG5lc3RlZCBwYXJlbnQgbWVudSBpcyBzdGlsbCBvcGVuLiBXZSBoYXZlIHRvIGNsb3NlIGl0LlxuICAgICAgaWYgKHBhcmVudE1lbnUuX25lc3RlZE1lbnUgIT09IHRoaXMpIHtcbiAgICAgICAgcGFyZW50TWVudS5fbmVzdGVkTWVudT8uY2xvc2UoKTtcbiAgICAgIH1cbiAgICAgIHBhcmVudE1lbnUuX25lc3RlZE1lbnUgPSB0aGlzO1xuICAgIH1cblxuICAgIHRoaXMuc2hvd1BvcG92ZXI/LigpO1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmluZyc7XG4gICAgdGhpcy5fc2V0TWVudVBvc2l0aW9uKCk7XG5cbiAgICBpZiAodGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmFyaWFFeHBhbmRlZCA9ICd0cnVlJztcbiAgICB9XG5cbiAgICAvLyBGcm9tIHplcm8gdG8gbGFyZ2UsIGRpc2FibGUgc2Nyb2xsXG4gICAgaWYgKHRoaXMuX2lzTW9iaWxlKCkpIHtcbiAgICAgIHRoaXMuX3Njcm9sbEhhbmRsZXIuZGlzYWJsZVNjcm9sbCgpO1xuICAgIH1cblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBvcGVuZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIENsb3NlcyB0aGUgbWVudSBhbmQgYWxsIGl0cyBuZXN0ZWQgbWVudXMuICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jbG9zZSgpO1xuICB9XG5cbiAgLyoqIENsb3NlcyB0aGUgbWVudSBhbmQgYWxsIHJlbGF0ZWQgbWVudXMgKG5lc3RlZCBhbmQgcGFyZW50IG1lbnVzKS4gKi9cbiAgcHVibGljIGNsb3NlQWxsKCk6IHZvaWQge1xuICAgIHRoaXMuX21haW5NZW51KCkuX2Nsb3NlKHRydWUpO1xuICB9XG5cbiAgLyoqIEBwYXJhbSBbY2xvc2VBbGw9J2ZhbHNlJ10gLSBJZiB0cnVlLCBpdCBlbnN1cmVzIGFuaW1hdGlvbnMgYXJlIGNvcnJlY3QgYnkgdG9nZ2xpbmcgc29tZSBzdGF0ZXMgd2hlbiBjbG9zaW5nIGFsbCByZWxhdGVkIG1lbnVzIGF0IG9uY2UuICovXG4gIHByaXZhdGUgX2Nsb3NlKGNsb3NlQWxsID0gZmFsc2UpOiB2b2lkIHtcbiAgICBpZiAoKHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJyAmJiAhdGhpcy5faXNOZXN0ZWQoKSkgfHwgIXRoaXMuZGlzcGF0Y2hCZWZvcmVDbG9zZUV2ZW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDbG9zZSBuZXN0ZWQgbWVudXMgZmlyc3RcbiAgICB0aGlzLl9uZXN0ZWRNZW51Py5fY2xvc2UoY2xvc2VBbGwpO1xuXG4gICAgaWYgKHRoaXMuX2lzTmVzdGVkKCkpIHtcbiAgICAgIGNvbnN0IHBhcmVudE1lbnUgPSB0aGlzLl9wYXJlbnRNZW51KCkhO1xuICAgICAgaWYgKGNsb3NlQWxsKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoJ2Nsb3NlLWFsbCcpO1xuICAgICAgICBwYXJlbnRNZW51LmludGVybmFscy5zdGF0ZXMuYWRkKCdza2lwLWFuaW1hdGlvbicpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZSgnY2xvc2UtYWxsJyk7XG4gICAgICAgIHBhcmVudE1lbnUuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ3NraXAtYW5pbWF0aW9uJyk7XG4gICAgICB9XG4gICAgICBwYXJlbnRNZW51LmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCduZXN0ZWQtY2hpbGQnKTtcbiAgICAgIHBhcmVudE1lbnUuX25lc3RlZE1lbnUgPSBudWxsO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2luZyc7XG4gICAgaWYgKHRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hcmlhRXhwYW5kZWQgPSAnZmFsc2UnO1xuICAgIH1cblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBjbG9zZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi1tZW51LWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG5cbiAgICBpZiAoIXRoaXMuX2lzTmVzdGVkKCkpIHtcbiAgICAgIHRoaXMuX2luZXJ0Q29udHJvbGxlci5hY3RpdmF0ZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl91cGRhdGVOZXN0ZWRJbmVydCgpO1xuICAgIH1cbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5jb25uZWN0KCk7XG4gICAgdGhpcy5fZm9jdXNUcmFwQ29udHJvbGxlci5mb2N1c0luaXRpYWxFbGVtZW50KCk7XG4gICAgdGhpcy5fZm9jdXNUcmFwQ29udHJvbGxlci5lbmFibGVkID0gdHJ1ZTtcbiAgICB0aGlzLl9hdHRhY2hXaW5kb3dFdmVudHMoKTtcbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVDbG9zaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdza2lwLWFuaW1hdGlvbicpO1xuICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ2Nsb3NlLWFsbCcpO1xuICAgIHRoaXMuaGlkZVBvcG92ZXI/LigpO1xuXG4gICAgdGhpcy5fbWVudT8uZmlyc3RFbGVtZW50Q2hpbGQ/LnNjcm9sbFRvKDAsIDApO1xuICAgIGlmICghdGhpcy5faXNOZXN0ZWQoKSkge1xuICAgICAgdGhpcy5faW5lcnRDb250cm9sbGVyLmRlYWN0aXZhdGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fdXBkYXRlTmVzdGVkSW5lcnQoKTtcbiAgICB9XG4gICAgLy8gTWFudWFsbHkgZm9jdXMgbGFzdCBmb2N1c2VkIGVsZW1lbnRcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uZm9jdXMoe1xuICAgICAgLy8gV2hlbiBpbnNpZGUgdGhlIHNiYi1oZWFkZXIsIHdlIHByZXZlbnQgdGhlIHNjcm9sbCB0byBhdm9pZCB0aGUgc25hcHBpbmcgdG8gdGhlIHRvcCBvZiB0aGUgcGFnZVxuICAgICAgcHJldmVudFNjcm9sbDogWydzYmItaGVhZGVyLWJ1dHRvbicsICdzYmItaGVhZGVyLWxpbmsnXS5pbmNsdWRlcyhcbiAgICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQubG9jYWxOYW1lLFxuICAgICAgKSxcbiAgICB9KTtcbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5kaXNwYXRjaENsb3NlRXZlbnQoKTtcbiAgICB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX2ZvY3VzVHJhcENvbnRyb2xsZXIuZW5hYmxlZCA9IGZhbHNlO1xuXG4gICAgLy8gU3RhcnRpbmcgZnJvbSBicmVha3BvaW50IGxhcmdlLCBlbmFibGUgc2Nyb2xsXG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCFpc0Fycm93S2V5T3JQYWdlS2V5c1ByZXNzZWQoZXZ0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGNvbnN0IGVuYWJsZWRBY3Rpb25zOiBFbGVtZW50W10gPSBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsPFNiYk1lbnVCdXR0b25FbGVtZW50IHwgU2JiTWVudUxpbmtFbGVtZW50PihcbiAgICAgICAgJ3NiYi1tZW51LWJ1dHRvbiwgc2JiLW1lbnUtbGluaycsXG4gICAgICApLFxuICAgIClcbiAgICAgIC5jb25jYXQodGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCdzYmItbWVudS1idXR0b24nKSEpXG4gICAgICAuZmlsdGVyKFxuICAgICAgICAoZWwpID0+ICghZWwuZGlzYWJsZWQgfHwgZWwuZGlzYWJsZWRJbnRlcmFjdGl2ZSkgJiYgaW50ZXJhY3Rpdml0eUNoZWNrZXIuaXNWaXNpYmxlKGVsKSxcbiAgICAgICk7XG4gICAgY29uc3QgY3VycmVudCA9IGVuYWJsZWRBY3Rpb25zLmZpbmRJbmRleCgoZTogRWxlbWVudCkgPT4gZSA9PT0gZXZ0LnRhcmdldCk7XG5cbiAgICBsZXQgbmV4dEluZGV4O1xuICAgIHN3aXRjaCAoZXZ0LmtleSkge1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICBuZXh0SW5kZXggPSBnZXROZXh0RWxlbWVudEluZGV4KGV2dCwgY3VycmVudCwgZW5hYmxlZEFjdGlvbnMubGVuZ3RoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgIGlmICh0aGlzLl9pc05lc3RlZCgpKSB7XG4gICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcbiAgICAgICAgaWYgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5tYXRjaGVzKCc6c3RhdGUoc2JiLW1lbnUtdHJpZ2dlciknKSkge1xuICAgICAgICAgIChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5jbGljaygpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdQYWdlVXAnOlxuICAgICAgY2FzZSAnSG9tZSc6XG4gICAgICAgIG5leHRJbmRleCA9IDA7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdFbmQnOlxuICAgICAgY2FzZSAnUGFnZURvd24nOlxuICAgICAgICBuZXh0SW5kZXggPSBlbmFibGVkQWN0aW9ucy5sZW5ndGggLSAxO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICBpZiAobmV4dEluZGV4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIChlbmFibGVkQWN0aW9uc1tuZXh0SW5kZXhdIGFzIEhUTUxFbGVtZW50KS5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZXMgdHJpZ2dlciBjbGljayBsaXN0ZW5lciBvbiB0cmlnZ2VyIGNoYW5nZS5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGNyZWF0ZVJlbmRlclJvb3QoKTogSFRNTEVsZW1lbnQgfCBEb2N1bWVudEZyYWdtZW50IHtcbiAgICBjb25zdCByZW5kZXJSb290ID0gc3VwZXIuY3JlYXRlUmVuZGVyUm9vdCgpO1xuICAgIC8vIER1ZSB0byB0aGUgZmFjdCB0aGF0IG1lbnUgY2FuIGJvdGggYmUgYSBsaXN0IGFuZCBqdXN0IGEgY29udGFpbmVyLCB3ZSBuZWVkIHRvIGNoZWNrIGl0c1xuICAgIC8vIHN0YXRlIGJlZm9yZSB0aGUgU2JiTmFtZWRTbG90TGlzdE1peGluIGhhbmRsZXMgdGhlIHNsb3RjaGFuZ2UgZXZlbnQsIGluIG9yZGVyIHRvIGF2b2lkXG4gICAgLy8gaXQgaW50ZXJwcmV0aW5nIHRoZSBub24gbGlzdCBjYXNlIGFzIGEgbGlzdC5cbiAgICB0aGlzLnNoYWRvd1Jvb3Q/LmFkZEV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCAoKSA9PiB0aGlzLl9zeW5jTmVnYXRpdmUoKSwgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICAgIHJldHVybiByZW5kZXJSb290O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHRoaXMucG9wb3ZlciA9ICdtYW51YWwnO1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgaWYgKHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gbnVsbDtcbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuXG4gICAgaWYgKCFpc1NlcnZlciAmJiAoIW5hbWUgfHwgbmFtZSA9PT0gJ3RyaWdnZXInKSAmJiB0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyZVRyaWdnZXIoKTtcbiAgICB9XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgdHJpZ2dlciBpcyB2YWxpZCBhbmQgYXR0YWNoIGNsaWNrIGV2ZW50IGxpc3RlbmVycy5cbiAgcHJpdmF0ZSBfY29uZmlndXJlVHJpZ2dlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50cmlnZ2VyID09PSB0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgcmVtb3ZlQXJpYU92ZXJsYXlUcmlnZ2VyUHJvcGVydGllcyh0aGlzLl90cmlnZ2VyRWxlbWVudCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSB0aGlzLnRyaWdnZXI7XG5cbiAgICBpZiAoIXRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc2V0QXJpYU92ZXJsYXlUcmlnZ2VyUHJvcGVydGllcyh0aGlzLCB0aGlzLl90cmlnZ2VyRWxlbWVudCwgJ21lbnUnLCB0aGlzLnN0YXRlKTtcbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5vcGVuKCksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICAvLyBDb25zaWRlciB0aGUgbWVudSBhcyBuZXN0ZWQgaWYgdGhlIHRyaWdnZXIgaXMgYSBtZW51IGJ1dHRvbiBvciBtZW51IGxpbmsuXG4gICAgdGhpcy50b2dnbGVTdGF0ZShcbiAgICAgICduZXN0ZWQnLFxuICAgICAgWydzYmItbWVudS1idXR0b24nLCAnc2JiLW1lbnUtbGluayddLmluY2x1ZGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50LmxvY2FsTmFtZSksXG4gICAgKTtcbiAgICDJtXN0YXRlQ29udHJvbGxlcih0aGlzLl90cmlnZ2VyRWxlbWVudCkuYWRkKCdzYmItbWVudS10cmlnZ2VyJyk7XG4gIH1cblxuICBwcml2YXRlIF9hdHRhY2hXaW5kb3dFdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCAoKSA9PiB0aGlzLl9zZXRNZW51UG9zaXRpb24oKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgIHNpZ25hbDogdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgICAvLyBXaXRob3V0IGNhcHR1cmUsIG90aGVyIHNjcm9sbCBjb250ZXh0cyB3b3VsZCBub3QgYnViYmxlIHRvIHRoaXMgZXZlbnQgbGlzdGVuZXIuXG4gICAgICAvLyBDYXB0dXJlIGFsbG93cyB1cyB0byByZWFjdCB0byBhbGwgc2Nyb2xsIGNvbnRleHRzIGluIHRoaXMgRE9NLlxuICAgICAgY2FwdHVyZTogdHJ1ZSxcbiAgICB9KTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgKCkgPT4gdGhpcy5fc2V0TWVudVBvc2l0aW9uKCksIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICBzaWduYWw6IHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuXG4gICAgLy8gT25seSB0aGUgb3V0ZXJtb3N0IG1lbnUgbmVlZHMgdG8gbGlzdGVuIHRvIHRoZSBiYWNrZHJvcCBjbGlja3NcbiAgICBpZiAoIXRoaXMuX2lzTmVzdGVkKCkpIHtcbiAgICAgIC8vIENsb3NlIG1lbnUgb24gYmFja2Ryb3AgY2xpY2tcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyZG93bicsIHRoaXMuX3BvaW50ZXJEb3duTGlzdGVuZXIsIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0pO1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJ1cCcsIHRoaXMuX2Nsb3NlT25CYWNrZHJvcENsaWNrLCB7XG4gICAgICAgIHNpZ25hbDogdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvLyBDbG9zZSBtZW51IGF0IGFueSBjbGljayBvbiBhbiBpbnRlcmFjdGl2ZSBlbGVtZW50IGluc2lkZSB0aGUgPHNiYi1tZW51PiB0aGF0IGJ1YmJsZXMgdG8gdGhlIGNvbnRhaW5lci5cbiAgcHJpdmF0ZSBfaW50ZXJhY3RpdmVFbGVtZW50Q2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgaWYgKFxuICAgICAgSU5URVJBQ1RJVkVfRUxFTUVOVFMuaW5jbHVkZXModGFyZ2V0Lm5vZGVOYW1lKSAmJlxuICAgICAgIXRhcmdldC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykgJiZcbiAgICAgICF0YXJnZXQubWF0Y2hlcygnOnN0YXRlKHNiYi1tZW51LXRyaWdnZXIpJykgJiZcbiAgICAgIHRhcmdldC5pZCAhPT0gJ3NiYi1tZW51X19iYWNrLWJ1dHRvbidcbiAgICApIHtcbiAgICAgIHRoaXMuY2xvc2VBbGwoKTtcbiAgICB9XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgcG9pbnRlcmRvd24gZXZlbnQgdGFyZ2V0IGlzIHRyaWdnZXJlZCBvbiB0aGUgbWVudS5cbiAgcHJpdmF0ZSBfcG9pbnRlckRvd25MaXN0ZW5lciA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgY29uc3QgbWVudSA9IChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsb3Nlc3QoJ3NiYi1tZW51Jyk7XG5cbiAgICAvLyBUaGUgcG9pbnRlciBkb3duIGlzIG9uIHRoZSBtZW51IG9yIG9uZSBvZiBpdHMgbmVzdGVkIG1lbnVzLlxuICAgIHRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uTWVudSA9XG4gICAgICBpc0V2ZW50T25FbGVtZW50KHRoaXMuX21lbnUsIGV2ZW50KSB8fCB0aGlzLl9uZXN0ZWRNZW51cygpLnNvbWUoKGVsKSA9PiBtZW51ID09PSBlbCk7XG4gIH07XG5cbiAgLy8gQ2xvc2UgbWVudSBvbiBiYWNrZHJvcCBjbGljay5cbiAgcHJpdmF0ZSBfY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcblxuICAgIC8vIFRoZSBiYWNrZHJvcCBpcyBvbmx5IGxpc3RlbmVkIG9uIHRoZSBtYWluIG1lbnUgKG91dGVybW9zdCBtZW51KS5cbiAgICAvLyBUbyBjbG9zZS5cbiAgICAvLyAtIFRoZSBwb2ludGVyIGRvd24gYW5kIHVwIG5lZWQgdG8gYmUgb3V0c2lkZSB0aGUgbWVudS5cbiAgICAvLyAtIFRoZSB0YXJnZXQgc2hvdWxkIGJlIG5vdCBvbiBhIG5lc3RlZCBtZW51XG4gICAgaWYgKFxuICAgICAgIXRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uTWVudSAmJlxuICAgICAgIWlzRXZlbnRPbkVsZW1lbnQodGhpcy5fbWVudSwgZXZlbnQpICYmXG4gICAgICAhdGhpcy5fbmVzdGVkTWVudXMoKS5zb21lKChlbCkgPT4gZWwgPT09IHRhcmdldClcbiAgICApIHtcbiAgICAgIHRoaXMuY2xvc2VBbGwoKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqIENvbnZlcnRzIHRoZSBsaW5rZWQgbGlzdCBpbnRvIGFuIGFycmF5IG9mIFNiYk1lbnVFbGVtZW50LiAqL1xuICBwcml2YXRlIF9uZXN0ZWRNZW51cygpOiBTYmJNZW51RWxlbWVudFtdIHtcbiAgICBjb25zdCBtZW51czogU2JiTWVudUVsZW1lbnRbXSA9IFtdO1xuICAgIGxldCBjdXJyZW50ID0gdGhpcy5fbmVzdGVkTWVudTtcblxuICAgIHdoaWxlIChjdXJyZW50KSB7XG4gICAgICBtZW51cy5wdXNoKGN1cnJlbnQpO1xuICAgICAgY3VycmVudCA9IGN1cnJlbnQuX25lc3RlZE1lbnU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1lbnVzO1xuICB9XG5cbiAgcHJpdmF0ZSBfcGFyZW50TWVudSgpOiBTYmJNZW51RWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl90cmlnZ2VyRWxlbWVudD8uY2xvc2VzdCgnc2JiLW1lbnUnKSA/PyBudWxsO1xuICB9XG5cbiAgLyoqIFRoZSBvdXRlcm1vc3QgbWVudS4gKi9cbiAgcHJpdmF0ZSBfbWFpbk1lbnUoKTogU2JiTWVudUVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9pc05lc3RlZCgpID8gKHRoaXMuX3BhcmVudE1lbnUoKT8uX21haW5NZW51KCkgPz8gdGhpcykgOiB0aGlzO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNOZXN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5fcGFyZW50TWVudSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlTmVzdGVkSW5lcnQoKTogdm9pZCB7XG4gICAgdGhpcy5faW5lcnRDb250cm9sbGVyLnJlc3RvcmVBbGxFeGVtcHRlZCgpO1xuICAgIHRoaXMuX21haW5NZW51KClcbiAgICAgIC5fbmVzdGVkTWVudXMoKVxuICAgICAgLmZvckVhY2goKG1lbnUpID0+IHRoaXMuX2luZXJ0Q29udHJvbGxlci5leGVtcHQobWVudSkpO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgbmVzdGVkIG1lbnUgc2hvdWxkIGJlIGNsb3NlZC5cbiAgcHJpdmF0ZSBfaGFuZGxlTW91c2VPdmVyKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICBjb25zdCBpc01vYmlsZSA9IHRoaXMuX2lzTW9iaWxlKCk7XG5cbiAgICAvLyBBbGwgbmVzdGVkIG1lbnVzIHNob3VsZCBjbG9zZSBpbiBkZXNrdG9wIG1vZGUgaWYgdGhlIGN1cnNvciBsYW5kZWQgb25cbiAgICAvLyBhbnl0aGluZyBvdGhlciB0aGFuIHRoZSBjb250YWluZXIsIHRoZSBjb250YWluZXIncyBzY3JvbGxiYXIgb3IgdGhlIHRyaWdnZXIgaXRzZWxmXG4gICAgaWYgKFxuICAgICAgIWlzTW9iaWxlICYmXG4gICAgICB0aGlzLl9uZXN0ZWRNZW51ICYmXG4gICAgICAhZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3NiYi1tZW51X19jb250ZW50JykgJiZcbiAgICAgICEoZWxlbWVudC5hcmlhRXhwYW5kZWQgPT09ICd0cnVlJylcbiAgICApIHtcbiAgICAgIHRoaXMuX25lc3RlZE1lbnUuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBpZiAoZWxlbWVudC5tYXRjaGVzKCc6c3RhdGUoc2JiLW1lbnUtdHJpZ2dlciknKSAmJiAhaXNNb2JpbGUpIHtcbiAgICAgIGVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG4gIH1cblxuICAvLyBTZXQgbWVudSBwb3NpdGlvbiAoeCwgeSkgdG8gJzAnIG9uY2UgdGhlIG1lbnUgaXMgY2xvc2VkIGFuZCB0aGUgdHJhbnNpdGlvbiBlbmRlZCB0byBwcmV2ZW50IHRoZVxuICAvLyB2aWV3cG9ydCBmcm9tIG92ZXJmbG93aW5nLiBBbmQgc2V0IHRoZSBmb2N1cyB0byB0aGUgZmlyc3QgZm9jdXNhYmxlIGVsZW1lbnQgb25jZSB0aGUgbWVudSBpcyBvcGVuLlxuICAvLyBJbiByYXJlIGNhc2VzIGl0IGNhbiBiZSB0aGF0IHRoZSBhbmltYXRpb25FbmQgZXZlbnQgaXMgdHJpZ2dlcmVkIHR3aWNlLlxuICAvLyBUbyBhdm9pZCBlbnRlcmluZyBhIGNvcnJ1cHQgc3RhdGUsIGV4aXQgd2hlbiBzdGF0ZSBpcyBub3QgZXhwZWN0ZWQuXG4gIHByaXZhdGUgX29uTWVudUFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nIHx8IGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdvcGVuLXNpZGV3YXlzJykgJiZcbiAgICAgIHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJ1xuICAgICkge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyB8fCBldmVudC5hbmltYXRpb25OYW1lID09PSAnY2xvc2Utc2lkZXdheXMnKSAmJlxuICAgICAgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnXG4gICAgKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0IG1lbnUgcG9zaXRpb24gYW5kIG1heCBoZWlnaHQgaWYgdGhlIGJyZWFrcG9pbnQgaXMgbGFyZ2UtdWx0cmEuXG4gIHByaXZhdGUgX3NldE1lbnVQb3NpdGlvbigpOiB2b2lkIHtcbiAgICAvLyBTdGFydGluZyBmcm9tIGJyZWFrcG9pbnQgbGFyZ2VcbiAgICBpZiAodGhpcy5faXNNb2JpbGUoKSB8fCAhdGhpcy5fbWVudSB8fCAhdGhpcy5fdHJpZ2dlckVsZW1lbnQgfHwgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbWVudVBvc2l0aW9uID0gIXRoaXMuX2lzTmVzdGVkKClcbiAgICAgID8gZ2V0RWxlbWVudFBvc2l0aW9uKFxuICAgICAgICAgIHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcignLnNiYi1tZW51X19jb250ZW50JykhLFxuICAgICAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LFxuICAgICAgICAgIHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcignLnNiYi1tZW51X19jb250YWluZXInKSEsXG4gICAgICAgICAge1xuICAgICAgICAgICAgdmVydGljYWxPZmZzZXQ6IE1FTlVfT0ZGU0VULFxuICAgICAgICAgIH0sXG4gICAgICAgIClcbiAgICAgIDogZ2V0RWxlbWVudFBvc2l0aW9uSG9yaXpvbnRhbChcbiAgICAgICAgICB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJy5zYmItbWVudV9fY29udGVudCcpISxcbiAgICAgICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCxcbiAgICAgICAgICB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJy5zYmItbWVudV9fY29udGFpbmVyJykhLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGhvcml6b250YWxPZmZzZXQ6IE1FTlVfT0ZGU0VULFxuICAgICAgICAgICAgdmVydGljYWxPZmZzZXQ6IE5FU1RFRF9NRU5VX09GRlNFVCxcbiAgICAgICAgICAgIGNvbnRlbnRTZWxlY3RvcjogJy5zYmItbWVudV9fY29udGVudCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcblxuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLW1lbnUtcG9zaXRpb24teCcsIGAke21lbnVQb3NpdGlvbi5sZWZ0fXB4YCk7XG4gICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItbWVudS1wb3NpdGlvbi15JywgYCR7bWVudVBvc2l0aW9uLnRvcH1weGApO1xuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLW1lbnUtbWF4LWhlaWdodCcsIG1lbnVQb3NpdGlvbi5tYXhIZWlnaHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3luY05lZ2F0aXZlKCk6IHZvaWQge1xuICAgIC8vIExpbmtzIGFuZCBidXR0b25zIGFyZSB0aGUgbW9zdCBleHBlY3RlZCBjb250ZW50cyB3aGljaCBoYXZlIGEgbmVnYXRpdmUgcHJvcGVydHlcbiAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoJzpzdGF0ZShzYmItbGluayksIDpzdGF0ZShzYmItYnV0dG9uKScpPy5mb3JFYWNoKChlbDogRWxlbWVudCkgPT4ge1xuICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZShlbCk7XG4gICAgICAoZWwgYXMgRWxlbWVudCAmIFNiYk5lZ2F0aXZlTWl4aW5UeXBlKS5uZWdhdGl2ZSA9ICF0aGlzLl9kYXJrTW9kZUNvbnRyb2xsZXIubWF0Y2hlcygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNNb2JpbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhTWF0Y2hlci5tYXRjaGVzKHRoaXMuX21vYmlsZUJyZWFrcG9pbnQpID8/IHRydWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItbWVudV9fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25NZW51QW5pbWF0aW9uRW5kfVxuICAgICAgICAgIEBtb3VzZW92ZXI9JHsoZTogTW91c2VFdmVudCkgPT4gdGhpcy5faGFuZGxlTW91c2VPdmVyKGUpfVxuICAgICAgICAgIGNsYXNzPVwic2JiLW1lbnVcIlxuICAgICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpID0+ICh0aGlzLl9tZW51ID0gZWwgYXMgSFRNTERpdkVsZW1lbnQpKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIEBjbGljaz0keyhldmVudDogRXZlbnQpID0+IHRoaXMuX2ludGVyYWN0aXZlRWxlbWVudENsaWNrKGV2ZW50KX1cbiAgICAgICAgICAgIEBzY3JvbGw9JHsoZTogRXZlbnQpID0+IGZvcndhcmRFdmVudChlLCBkb2N1bWVudCl9XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1tZW51X19jb250ZW50IHNiYi1zY3JvbGxiYXItbmVnYXRpdmVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICAgIDxzYmItZGl2aWRlcj48L3NiYi1kaXZpZGVyPlxuICAgICAgICAgICAgPHNiYi1tZW51LWJ1dHRvblxuICAgICAgICAgICAgICBpZD1cInNiYi1tZW51X19iYWNrLWJ1dHRvblwiXG4gICAgICAgICAgICAgIEBjbGljaz0keygpID0+IHRoaXMuY2xvc2UoKX1cbiAgICAgICAgICAgICAgaWNvbi1uYW1lPVwiY2hldnJvbi1zbWFsbC1sZWZ0LXNtYWxsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgJHtpMThuR29CYWNrW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgICAgPC9zYmItbWVudS1idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW1lbnUnOiBTYmJNZW51RWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7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
@@ -1,7 +1,7 @@
1
- import { t as SbbMenuActionCommonElementMixin } from "./menu-action-common-DRXQc85Y.js";
1
+ import { t as SbbMenuActionCommonElementMixin } from "./menu-action-common-DL4t4_-J.js";
2
2
  import { SbbMenuButtonElement } from "./menu/menu-button/menu-button.component.js";
3
3
  import { SbbMenuLinkElement } from "./menu/menu-link/menu-link.component.js";
4
- import { t as SbbMenuElement } from "./menu.component-Cv9wRj4H.js";
4
+ import { t as SbbMenuElement } from "./menu.component-3qEIFutc.js";
5
5
  import "./menu.pure.js";
6
6
  //#region src/elements/menu.ts
7
7
  /** @entrypoint */
@@ -1,5 +1,5 @@
1
- import { t as SbbMenuActionCommonElementMixin } from "./menu-action-common-DRXQc85Y.js";
1
+ import { t as SbbMenuActionCommonElementMixin } from "./menu-action-common-DL4t4_-J.js";
2
2
  import { SbbMenuButtonElement } from "./menu/menu-button/menu-button.component.js";
3
3
  import { SbbMenuLinkElement } from "./menu/menu-link/menu-link.component.js";
4
- import { t as SbbMenuElement } from "./menu.component-Cv9wRj4H.js";
4
+ import { t as SbbMenuElement } from "./menu.component-3qEIFutc.js";
5
5
  export { SbbMenuActionCommonElementMixin, SbbMenuButtonElement, SbbMenuElement, SbbMenuLinkElement };
@@ -1,2 +1,2 @@
1
- import { t as SbbMessageElement } from "../message.component-CdO5GyE2.js";
1
+ import { t as SbbMessageElement } from "../message.component-BJ-84a0B.js";
2
2
  export { SbbMessageElement };
@@ -1,7 +1,7 @@
1
1
  import { html, unsafeCSS } from "lit";
2
2
  import { SbbElement } from "./core.js";
3
3
  //#region src/elements/message/message.scss?inline
4
- var message_default = ":host {\n display: block;\n text-align: center;\n line-height: var(--sbb-typo-line-height-text);\n}\n\n::slotted(sbb-title[slot=title]) {\n margin: 0;\n}\n\n::slotted([slot=image]) {\n display: block;\n margin-inline: auto !important;\n margin-block: var(--sbb-message-image-margin-block) !important;\n width: 100%;\n}\n\n::slotted([slot=subtitle]) {\n color: var(--sbb-message-subtitle-color);\n font-size: var(--sbb-text-font-size-s);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n margin: 0;\n}\n\n::slotted([slot=legend]) {\n --sbb-text-font-size: var(--sbb-text-font-size-xs);\n font-family: var(--sbb-typo-font-family);\n font-weight: normal;\n line-height: var(--sbb-typo-line-height-text);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n font-size: var(--sbb-text-font-size);\n padding: 0;\n color: var(--sbb-color-granite);\n color: light-dark(var(--sbb-color-granite), var(--sbb-color-cement));\n margin-block: var(--sbb-message-legend-margin-block);\n}\n\n::slotted([slot=action]) {\n margin-block: var(--sbb-message-action-margin-block);\n}";
4
+ var message_default = ":host {\n display: block;\n text-align: center;\n line-height: var(--sbb-typo-line-height-text);\n}\n\n::slotted(sbb-title[slot=title]) {\n margin: 0;\n}\n\n::slotted([slot=image]) {\n display: block;\n margin-inline: auto !important;\n margin-block: var(--sbb-message-image-margin-block) !important;\n width: 100%;\n}\n\n::slotted([slot=subtitle]) {\n color: var(--sbb-message-subtitle-color);\n font-size: var(--sbb-text-font-size-s);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n margin: 0;\n}\n\n::slotted([slot=legend]) {\n line-height: var(--sbb-typo-line-height-text);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n font-size: var(--sbb-text-font-size-xs);\n padding: 0;\n color: var(--sbb-color-granite);\n color: light-dark(var(--sbb-color-granite), var(--sbb-color-cement));\n margin-block: var(--sbb-message-legend-margin-block);\n}\n\n::slotted([slot=action]) {\n margin-block: var(--sbb-message-action-margin-block);\n}";
5
5
  //#endregion
6
6
  //#region src/elements/message/message.component.ts
7
7
  /**
@@ -40,4 +40,4 @@ var SbbMessageElement = class extends SbbElement {
40
40
  //#endregion
41
41
  export { SbbMessageElement as t };
42
42
 
43
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5jb21wb25lbnQtQ2RPNUd5RTIuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL21lc3NhZ2UvbWVzc2FnZS5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9tZXNzYWdlL21lc3NhZ2UuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAvLyBTZXQgdGhlIGxpbmUtaGVpZ2h0IGZvciBhZGphY2VudCBlbGVtZW50cyBpbiBvcmRlciB0byBwcmV2ZW50IGZyb20gaW5mbHVlbmNlIG9mIGEgY29uc3VtZXItc2V0IGxpbmUtaGVpZ2h0LlxuICBsaW5lLWhlaWdodDogdmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCk7XG59XG5cbjo6c2xvdHRlZChzYmItdGl0bGVbc2xvdD0ndGl0bGUnXSkge1xuICBtYXJnaW46IDA7XG59XG5cbjo6c2xvdHRlZChbc2xvdD0naW1hZ2UnXSkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWlubGluZTogYXV0byAhaW1wb3J0YW50OyAvLyBvdmVycmlkZXMgJy5zYmItZmlndXJlJyBtYXJnaW5cbiAgbWFyZ2luLWJsb2NrOiB2YXIoLS1zYmItbWVzc2FnZS1pbWFnZS1tYXJnaW4tYmxvY2spICFpbXBvcnRhbnQ7IC8vIG92ZXJyaWRlcyAnLnNiYi1maWd1cmUnIG1hcmdpblxuICB3aWR0aDogMTAwJTtcbn1cblxuOjpzbG90dGVkKFtzbG90PSdzdWJ0aXRsZSddKSB7XG4gIGNvbG9yOiB2YXIoLS1zYmItbWVzc2FnZS1zdWJ0aXRsZS1jb2xvcik7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLXMpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG4gIG1hcmdpbjogMDtcbn1cblxuOjpzbG90dGVkKFtzbG90PSdsZWdlbmQnXSkge1xuICBAaW5jbHVkZSBzYmIubGVnZW5kO1xuXG4gIG1hcmdpbi1ibG9jazogdmFyKC0tc2JiLW1lc3NhZ2UtbGVnZW5kLW1hcmdpbi1ibG9jayk7XG59XG5cbjo6c2xvdHRlZChbc2xvdD0nYWN0aW9uJ10pIHtcbiAgbWFyZ2luLWJsb2NrOiB2YXIoLS1zYmItbWVzc2FnZS1hY3Rpb24tbWFyZ2luLWJsb2NrKTtcbn1cbiIsImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIHR5cGUgVGVtcGxhdGVSZXN1bHQsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICcuLi9jb3JlLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiVGl0bGVFbGVtZW50IH0gZnJvbSAnLi4vdGl0bGUucHVyZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL21lc3NhZ2Uuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgY29tcGxleCBtZXNzYWdlIGNvbWJpbmluZyBhIHRpdGxlLCBhbiBpbWFnZSwgYW4gYWN0aW9uIGFuZCBzb21lIGNvbnRlbnQuXG4gKlxuICogQHNsb3QgaW1hZ2UgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYW4gYHNiYi1pbWFnZWAgY29tcG9uZW50LlxuICogQHNsb3QgdGl0bGUgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYW4gYHNiYi10aXRsZWAuXG4gKiBAc2xvdCBzdWJ0aXRsZSAtIFVzZSB0aGlzIHNsb3QgdG8gcHJvdmlkZSBhIHN1YnRpdGxlLCBtdXN0IGJlIGEgcGFyYWdyYXBoLlxuICogQHNsb3QgbGVnZW5kIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGEgbGVnZW5kLCBtdXN0IGJlIGEgcGFyYWdyYXBoLlxuICogQHNsb3QgYWN0aW9uIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGFuIGBzYmItc2Vjb25kYXJ5LWJ1dHRvbmAuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJNZXNzYWdlRWxlbWVudCBleHRlbmRzIFNiYkVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLW1lc3NhZ2UnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgcHJpdmF0ZSBfY29uZmlndXJlVGl0bGUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGl0bGUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxTbG90RWxlbWVudClcbiAgICAgIC5hc3NpZ25lZEVsZW1lbnRzKClcbiAgICAgIC5maW5kKChlKTogZSBpcyBTYmJUaXRsZUVsZW1lbnQgPT4gZS5sb2NhbE5hbWUgPT09ICdzYmItdGl0bGUnKTtcbiAgICBpZiAodGl0bGUpIHtcbiAgICAgIGN1c3RvbUVsZW1lbnRzLnVwZ3JhZGUodGl0bGUpO1xuICAgICAgdGl0bGUudmlzdWFsTGV2ZWwgPSAnNSc7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c2xvdCBuYW1lPVwiaW1hZ2VcIj48L3Nsb3Q+XG4gICAgICA8c2xvdCBuYW1lPVwidGl0bGVcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX2NvbmZpZ3VyZVRpdGxlfT48L3Nsb3Q+XG4gICAgICA8c2xvdCBuYW1lPVwic3VidGl0bGVcIj48L3Nsb3Q+XG4gICAgICA8c2xvdCBuYW1lPVwibGVnZW5kXCI+PC9zbG90PlxuICAgICAgPHNsb3QgbmFtZT1cImFjdGlvblwiPjwvc2xvdD5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbWVzc2FnZSc6IFNiYk1lc3NhZ2VFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQ2dCQSxJQUFhLG9CQUFiLGNBQXVDLFdBQVU7O0VBQ2YsS0FBQSxjQUFzQjtDQUFjOztFQUM3QyxLQUFBLFNBQXlCLENBQUMsVUFBVSxlQUFLLENBQUM7Q0FBRTtDQUUzRCxnQkFBZ0IsT0FBWTtFQUNsQyxNQUFNLFFBQVMsTUFBTSxPQUNsQixpQkFBZ0IsRUFDaEIsTUFBTSxNQUE0QixFQUFFLGNBQWMsV0FBVztFQUNoRSxJQUFJLE9BQU87R0FDVCxlQUFlLFFBQVEsS0FBSztHQUM1QixNQUFNLGNBQWM7RUFDdEI7Q0FDRjtDQUVtQixTQUFNO0VBQ3ZCLE9BQU8sSUFBSTs7dUNBRXdCLEtBQUssZ0JBQWU7Ozs7O0NBS3pEIn0=
43
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5jb21wb25lbnQtQkotODRhMEIuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL21lc3NhZ2UvbWVzc2FnZS5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9tZXNzYWdlL21lc3NhZ2UuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAvLyBTZXQgdGhlIGxpbmUtaGVpZ2h0IGZvciBhZGphY2VudCBlbGVtZW50cyBpbiBvcmRlciB0byBwcmV2ZW50IGZyb20gaW5mbHVlbmNlIG9mIGEgY29uc3VtZXItc2V0IGxpbmUtaGVpZ2h0LlxuICBsaW5lLWhlaWdodDogdmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCk7XG59XG5cbjo6c2xvdHRlZChzYmItdGl0bGVbc2xvdD0ndGl0bGUnXSkge1xuICBtYXJnaW46IDA7XG59XG5cbjo6c2xvdHRlZChbc2xvdD0naW1hZ2UnXSkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWlubGluZTogYXV0byAhaW1wb3J0YW50OyAvLyBvdmVycmlkZXMgJy5zYmItZmlndXJlJyBtYXJnaW5cbiAgbWFyZ2luLWJsb2NrOiB2YXIoLS1zYmItbWVzc2FnZS1pbWFnZS1tYXJnaW4tYmxvY2spICFpbXBvcnRhbnQ7IC8vIG92ZXJyaWRlcyAnLnNiYi1maWd1cmUnIG1hcmdpblxuICB3aWR0aDogMTAwJTtcbn1cblxuOjpzbG90dGVkKFtzbG90PSdzdWJ0aXRsZSddKSB7XG4gIGNvbG9yOiB2YXIoLS1zYmItbWVzc2FnZS1zdWJ0aXRsZS1jb2xvcik7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLXMpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG4gIG1hcmdpbjogMDtcbn1cblxuOjpzbG90dGVkKFtzbG90PSdsZWdlbmQnXSkge1xuICBAaW5jbHVkZSBzYmIubGVnZW5kO1xuXG4gIG1hcmdpbi1ibG9jazogdmFyKC0tc2JiLW1lc3NhZ2UtbGVnZW5kLW1hcmdpbi1ibG9jayk7XG59XG5cbjo6c2xvdHRlZChbc2xvdD0nYWN0aW9uJ10pIHtcbiAgbWFyZ2luLWJsb2NrOiB2YXIoLS1zYmItbWVzc2FnZS1hY3Rpb24tbWFyZ2luLWJsb2NrKTtcbn1cbiIsImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIHR5cGUgVGVtcGxhdGVSZXN1bHQsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICcuLi9jb3JlLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiVGl0bGVFbGVtZW50IH0gZnJvbSAnLi4vdGl0bGUucHVyZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL21lc3NhZ2Uuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgY29tcGxleCBtZXNzYWdlIGNvbWJpbmluZyBhIHRpdGxlLCBhbiBpbWFnZSwgYW4gYWN0aW9uIGFuZCBzb21lIGNvbnRlbnQuXG4gKlxuICogQHNsb3QgaW1hZ2UgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYW4gYHNiYi1pbWFnZWAgY29tcG9uZW50LlxuICogQHNsb3QgdGl0bGUgLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYW4gYHNiYi10aXRsZWAuXG4gKiBAc2xvdCBzdWJ0aXRsZSAtIFVzZSB0aGlzIHNsb3QgdG8gcHJvdmlkZSBhIHN1YnRpdGxlLCBtdXN0IGJlIGEgcGFyYWdyYXBoLlxuICogQHNsb3QgbGVnZW5kIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGEgbGVnZW5kLCBtdXN0IGJlIGEgcGFyYWdyYXBoLlxuICogQHNsb3QgYWN0aW9uIC0gVXNlIHRoaXMgc2xvdCB0byBwcm92aWRlIGFuIGBzYmItc2Vjb25kYXJ5LWJ1dHRvbmAuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJNZXNzYWdlRWxlbWVudCBleHRlbmRzIFNiYkVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLW1lc3NhZ2UnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgcHJpdmF0ZSBfY29uZmlndXJlVGl0bGUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGl0bGUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxTbG90RWxlbWVudClcbiAgICAgIC5hc3NpZ25lZEVsZW1lbnRzKClcbiAgICAgIC5maW5kKChlKTogZSBpcyBTYmJUaXRsZUVsZW1lbnQgPT4gZS5sb2NhbE5hbWUgPT09ICdzYmItdGl0bGUnKTtcbiAgICBpZiAodGl0bGUpIHtcbiAgICAgIGN1c3RvbUVsZW1lbnRzLnVwZ3JhZGUodGl0bGUpO1xuICAgICAgdGl0bGUudmlzdWFsTGV2ZWwgPSAnNSc7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c2xvdCBuYW1lPVwiaW1hZ2VcIj48L3Nsb3Q+XG4gICAgICA8c2xvdCBuYW1lPVwidGl0bGVcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX2NvbmZpZ3VyZVRpdGxlfT48L3Nsb3Q+XG4gICAgICA8c2xvdCBuYW1lPVwic3VidGl0bGVcIj48L3Nsb3Q+XG4gICAgICA8c2xvdCBuYW1lPVwibGVnZW5kXCI+PC9zbG90PlxuICAgICAgPHNsb3QgbmFtZT1cImFjdGlvblwiPjwvc2xvdD5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbWVzc2FnZSc6IFNiYk1lc3NhZ2VFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQ2dCQSxJQUFhLG9CQUFiLGNBQXVDLFdBQVU7O0VBQ2YsS0FBQSxjQUFzQjtDQUFjOztFQUM3QyxLQUFBLFNBQXlCLENBQUMsVUFBVSxlQUFLLENBQUM7Q0FBRTtDQUUzRCxnQkFBZ0IsT0FBWTtFQUNsQyxNQUFNLFFBQVMsTUFBTSxPQUNsQixpQkFBZ0IsRUFDaEIsTUFBTSxNQUE0QixFQUFFLGNBQWMsV0FBVztFQUNoRSxJQUFJLE9BQU87R0FDVCxlQUFlLFFBQVEsS0FBSztHQUM1QixNQUFNLGNBQWM7RUFDdEI7Q0FDRjtDQUVtQixTQUFNO0VBQ3ZCLE9BQU8sSUFBSTs7dUNBRXdCLEtBQUssZ0JBQWU7Ozs7O0NBS3pEIn0=
@@ -1,4 +1,4 @@
1
- import { t as SbbMessageElement } from "./message.component-CdO5GyE2.js";
1
+ import { t as SbbMessageElement } from "./message.component-BJ-84a0B.js";
2
2
  import "./message.pure.js";
3
3
  //#region src/elements/message.ts
4
4
  /** @entrypoint */
@@ -1,2 +1,2 @@
1
- import { t as SbbMessageElement } from "./message.component-CdO5GyE2.js";
1
+ import { t as SbbMessageElement } from "./message.component-BJ-84a0B.js";
2
2
  export { SbbMessageElement };
@@ -3,7 +3,7 @@ import { html, unsafeCSS } from "lit";
3
3
  import { property } from "lit/decorators.js";
4
4
  import { SbbElement, SbbNamedSlotListMixin, SbbNegativeMixin, forceType } from "./core.js";
5
5
  //#region src/elements/button/mini-button-group/mini-button-group.scss?inline
6
- var mini_button_group_default = ":host {\n display: block;\n}\n\n:host([negative]) {\n --sbb-mini-button-group-background: var(--sbb-background-color-1-negative);\n --sbb-mini-button-group-border-color: var(--sbb-border-color-4-negative-inverted);\n --sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);\n}\n\n:host([size=s]) {\n --sbb-mini-button-group-min-height: var(--sbb-mini-button-group-min-height-s);\n --sbb-mini-button-group-padding-inline: var(--sbb-mini-button-group-padding-inline-s);\n}\n\n:host([size=m]) {\n --sbb-mini-button-group-min-height: var(--sbb-mini-button-group-min-height-m);\n --sbb-mini-button-group-padding-inline: var(--sbb-mini-button-group-padding-inline-m);\n}\n\n:host([size=l]) {\n --sbb-mini-button-group-min-height: var(--sbb-mini-button-group-min-height-l);\n --sbb-mini-button-group-padding-inline: var(--sbb-mini-button-group-padding-inline-l);\n}\n\n:host([size=xl]) {\n --sbb-mini-button-group-min-height: var(--sbb-mini-button-group-min-height-xl);\n --sbb-mini-button-group-padding-inline: var(--sbb-mini-button-group-padding-inline-xl);\n}\n\n::slotted(:is(sbb-mini-button, sbb-mini-button-link, sbb-divider)) {\n display: flex;\n}\n\n::slotted(sbb-divider) {\n --sbb-divider-border-width: var(--sbb-border-width-1x);\n padding: var(--sbb-mini-button-group-divider-padding);\n height: var(--sbb-mini-button-group-divider-height);\n}\n\n.sbb-mini-button-group {\n list-style: none;\n margin: 0;\n padding: 0;\n font-size: inherit;\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n gap: var(--sbb-mini-button-group-gap);\n width: fit-content;\n min-height: var(--sbb-mini-button-group-min-height);\n background-color: var(--sbb-mini-button-group-background);\n border: var(--sbb-mini-button-group-border-width) solid var(--sbb-mini-button-group-border-color);\n border-radius: var(--sbb-mini-button-group-border-radius);\n padding-inline: calc(var(--sbb-mini-button-group-padding-inline) - var(--sbb-mini-button-group-border-width));\n}";
6
+ var mini_button_group_default = ":host {\n display: block;\n}\n\n:host([negative]) {\n --sbb-mini-button-group-background: var(--sbb-background-color-1-negative);\n --sbb-mini-button-group-border-color: var(--sbb-border-color-4-negative-inverted);\n --sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);\n}\n\n:host([size=s]) {\n --sbb-mini-button-group-min-height: var(--sbb-mini-button-group-min-height-s);\n --sbb-mini-button-group-padding-inline: var(--sbb-mini-button-group-padding-inline-s);\n}\n\n:host([size=m]) {\n --sbb-mini-button-group-min-height: var(--sbb-mini-button-group-min-height-m);\n --sbb-mini-button-group-padding-inline: var(--sbb-mini-button-group-padding-inline-m);\n}\n\n:host([size=l]) {\n --sbb-mini-button-group-min-height: var(--sbb-mini-button-group-min-height-l);\n --sbb-mini-button-group-padding-inline: var(--sbb-mini-button-group-padding-inline-l);\n}\n\n:host([size=xl]) {\n --sbb-mini-button-group-min-height: var(--sbb-mini-button-group-min-height-xl);\n --sbb-mini-button-group-padding-inline: var(--sbb-mini-button-group-padding-inline-xl);\n}\n\n::slotted(:is(sbb-mini-button, sbb-mini-button-link, sbb-divider)) {\n display: flex;\n}\n\n::slotted(sbb-divider) {\n --sbb-divider-border-width: var(--sbb-border-width-1x);\n padding: var(--sbb-mini-button-group-divider-padding);\n height: var(--sbb-mini-button-group-divider-height);\n}\n\n.sbb-mini-button-group {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n gap: var(--sbb-mini-button-group-gap);\n width: fit-content;\n min-height: var(--sbb-mini-button-group-min-height);\n background-color: var(--sbb-mini-button-group-background);\n border: var(--sbb-mini-button-group-border-width) solid var(--sbb-mini-button-group-border-color);\n border-radius: var(--sbb-mini-button-group-border-radius);\n padding-inline: calc(var(--sbb-mini-button-group-padding-inline) - var(--sbb-mini-button-group-border-width));\n}";
7
7
  //#endregion
8
8
  //#region src/elements/button/mini-button-group/mini-button-group.component.ts
9
9
  /**
@@ -112,4 +112,4 @@ var SbbMiniButtonGroupElement = (() => {
112
112
  //#endregion
113
113
  export { SbbMiniButtonGroupElement as t };
114
114
 
115
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1idXR0b24tZ3JvdXAuY29tcG9uZW50LVZZS1pmMXJxLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9idXR0b24vbWluaS1idXR0b24tZ3JvdXAvbWluaS1idXR0b24tZ3JvdXAuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvYnV0dG9uL21pbmktYnV0dG9uLWdyb3VwL21pbmktYnV0dG9uLWdyb3VwLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG46aG9zdChbbmVnYXRpdmVdKSB7XG4gIC0tc2JiLW1pbmktYnV0dG9uLWdyb3VwLWJhY2tncm91bmQ6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEtbmVnYXRpdmUpO1xuICAtLXNiYi1taW5pLWJ1dHRvbi1ncm91cC1ib3JkZXItY29sb3I6IHZhcigtLXNiYi1ib3JkZXItY29sb3ItNC1uZWdhdGl2ZS1pbnZlcnRlZCk7XG4gIC0tc2JiLWZvY3VzLW91dGxpbmUtY29sb3I6IHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yLWRhcmspO1xufVxuXG46aG9zdChbc2l6ZT0ncyddKSB7XG4gIC0tc2JiLW1pbmktYnV0dG9uLWdyb3VwLW1pbi1oZWlnaHQ6IHZhcigtLXNiYi1taW5pLWJ1dHRvbi1ncm91cC1taW4taGVpZ2h0LXMpO1xuICAtLXNiYi1taW5pLWJ1dHRvbi1ncm91cC1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLW1pbmktYnV0dG9uLWdyb3VwLXBhZGRpbmctaW5saW5lLXMpO1xufVxuXG46aG9zdChbc2l6ZT0nbSddKSB7XG4gIC0tc2JiLW1pbmktYnV0dG9uLWdyb3VwLW1pbi1oZWlnaHQ6IHZhcigtLXNiYi1taW5pLWJ1dHRvbi1ncm91cC1taW4taGVpZ2h0LW0pO1xuICAtLXNiYi1taW5pLWJ1dHRvbi1ncm91cC1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLW1pbmktYnV0dG9uLWdyb3VwLXBhZGRpbmctaW5saW5lLW0pO1xufVxuXG46aG9zdChbc2l6ZT0nbCddKSB7XG4gIC0tc2JiLW1pbmktYnV0dG9uLWdyb3VwLW1pbi1oZWlnaHQ6IHZhcigtLXNiYi1taW5pLWJ1dHRvbi1ncm91cC1taW4taGVpZ2h0LWwpO1xuICAtLXNiYi1taW5pLWJ1dHRvbi1ncm91cC1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLW1pbmktYnV0dG9uLWdyb3VwLXBhZGRpbmctaW5saW5lLWwpO1xufVxuXG46aG9zdChbc2l6ZT0neGwnXSkge1xuICAtLXNiYi1taW5pLWJ1dHRvbi1ncm91cC1taW4taGVpZ2h0OiB2YXIoLS1zYmItbWluaS1idXR0b24tZ3JvdXAtbWluLWhlaWdodC14bCk7XG4gIC0tc2JiLW1pbmktYnV0dG9uLWdyb3VwLXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItbWluaS1idXR0b24tZ3JvdXAtcGFkZGluZy1pbmxpbmUteGwpO1xufVxuXG46OnNsb3R0ZWQoOmlzKHNiYi1taW5pLWJ1dHRvbiwgc2JiLW1pbmktYnV0dG9uLWxpbmssIHNiYi1kaXZpZGVyKSkge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG46OnNsb3R0ZWQoc2JiLWRpdmlkZXIpIHtcbiAgLS1zYmItZGl2aWRlci1ib3JkZXItd2lkdGg6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMXgpO1xuXG4gIHBhZGRpbmc6IHZhcigtLXNiYi1taW5pLWJ1dHRvbi1ncm91cC1kaXZpZGVyLXBhZGRpbmcpO1xuICBoZWlnaHQ6IHZhcigtLXNiYi1taW5pLWJ1dHRvbi1ncm91cC1kaXZpZGVyLWhlaWdodCk7XG59XG5cbi5zYmItbWluaS1idXR0b24tZ3JvdXAge1xuICBAaW5jbHVkZSBzYmIubGlzdC1yZXNldDtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zYmItbWluaS1idXR0b24tZ3JvdXAtZ2FwKTtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBtaW4taGVpZ2h0OiB2YXIoLS1zYmItbWluaS1idXR0b24tZ3JvdXAtbWluLWhlaWdodCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1taW5pLWJ1dHRvbi1ncm91cC1iYWNrZ3JvdW5kKTtcbiAgYm9yZGVyOiB2YXIoLS1zYmItbWluaS1idXR0b24tZ3JvdXAtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1zYmItbWluaS1idXR0b24tZ3JvdXAtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLW1pbmktYnV0dG9uLWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICBwYWRkaW5nLWlubGluZTogY2FsYyhcbiAgICB2YXIoLS1zYmItbWluaS1idXR0b24tZ3JvdXAtcGFkZGluZy1pbmxpbmUpIC0gdmFyKC0tc2JiLW1pbmktYnV0dG9uLWdyb3VwLWJvcmRlci13aWR0aClcbiAgKTtcbn1cbiIsImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBmb3JjZVR5cGUsIFNiYkVsZW1lbnQsIFNiYk5hbWVkU2xvdExpc3RNaXhpbiwgU2JiTmVnYXRpdmVNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJEaXZpZGVyRWxlbWVudCB9IGZyb20gJy4uLy4uL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJNaW5pQnV0dG9uRWxlbWVudCB9IGZyb20gJy4uL21pbmktYnV0dG9uL21pbmktYnV0dG9uLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL21pbmktYnV0dG9uLWdyb3VwLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBEaXNwbGF5IGEgbGlzdCBvZiBgc2JiLW1pbmktYnV0dG9uYCBlbGVtZW50cyBpbiBhIGhvcml6b250YWwgY29udGFpbmVyLFxuICogcG9zc2libHkgc2VwYXJhdGVkIGJ5IGEgYHNiYi1kaXZpZGVyYCBjb21wb25lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1taW5pLWJ1dHRvbmAgYW5kIGBzYmItZGl2aWRlcmAgZWxlbWVudHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJNaW5pQnV0dG9uR3JvdXBFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihcbiAgU2JiTmFtZWRTbG90TGlzdE1peGluPFNiYk1pbmlCdXR0b25FbGVtZW50LCB0eXBlb2YgU2JiRWxlbWVudD4oU2JiRWxlbWVudCksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1taW5pLWJ1dHRvbi1ncm91cCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFt1bnNhZmVDU1Moc3R5bGUpXTtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IGxpc3RDaGlsZExvY2FsTmFtZXMgPSBbXG4gICAgJ3NiYi1taW5pLWJ1dHRvbicsXG4gICAgJ3NiYi1taW5pLWJ1dHRvbi1saW5rJyxcbiAgICAnc2JiLWRpdmlkZXInLFxuICBdO1xuXG4gIC8qKiBUaGlzIHdpbGwgYmUgZm9yd2FyZGVkIGFzIGFyaWEtbGFiZWwgdG8gdGhlIGxpc3QgdGhhdCBjb250YWlucyB0aGUgYnV0dG9ucy4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktbGFiZWwnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5TGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBzIChsZWFuIHRoZW1lIGRlZmF1bHQpLCBtIChzdGFuZGFyZCB0aGVtZSBkZWZhdWx0KSwgbCBvciB4bC5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdzJyB8ICdtJyB8ICdsJyB8ICd4bCcgfCBudWxsID0gbnVsbDtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25lZ2F0aXZlJykpIHtcbiAgICAgIHRoaXMuX3Byb3h5TmVnYXRpdmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9wcm94eU5lZ2F0aXZlKCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uPFNiYkRpdmlkZXJFbGVtZW50IHwgU2JiTWluaUJ1dHRvbkVsZW1lbnQ+KFxuICAgICAgJ3NiYi1kaXZpZGVyLCBzYmItbWluaS1idXR0b24sIHNiYi1taW5pLWJ1dHRvbi1saW5rJyxcbiAgICApLmZvckVhY2goKGUpID0+IChlLm5lZ2F0aXZlID0gdGhpcy5uZWdhdGl2ZSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICAke3RoaXMucmVuZGVyTGlzdChcbiAgICAgICAgeyBhcmlhTGFiZWw6IHRoaXMuYWNjZXNzaWJpbGl0eUxhYmVsIH0sXG4gICAgICAgIHsgbG9jYWxOYW1lVmlzdWFsT25seTogWydzYmItZGl2aWRlciddIH0sXG4gICAgICApfVxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1taW5pLWJ1dHRvbi1ncm91cCc6IFNiYk1pbmlCdXR0b25Hcm91cEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7SUNxQmEsbUNBQXlCO21CQUFTLGlCQUM3QyxzQkFBK0QsVUFBVSxDQUFDOzs7Ozs7O2NBRC9ELGtDQUFrQyxZQUU5Qzs7O3FDQVVFLFVBQVMsR0FDVCxTQUFTLEVBQUUsV0FBVyxzQkFBcUIsQ0FBRSxDQUFDO3VCQU05QyxTQUFTLEVBQUUsU0FBUyxLQUFJLENBQUUsQ0FBQztHQUw1QixhQUFBLE1BQUEsTUFBQSxnQ0FBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLHdCQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQWtCLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBbEIscUJBQWtCO0tBQUE7SUFBQTtJQUFBLFVBQUE7R0FBQSxHQUFBLGtDQUFBLHFDQUFBO0dBS0wsYUFBQSxNQUFBLE1BQUEsa0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxVQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQUksTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFKLE9BQUk7S0FBQTtJQUFBO0lBQUEsVUFBQTtHQUFBLEdBQUEsb0JBQUEsdUJBQUE7Ozs7Ozs7OztHQWhCakIsS0FBQSxjQUFzQjtFQUF3Qjs7R0FDdkQsS0FBQSxTQUF5QixDQUFDLFVBQVUseUJBQUssQ0FBQztFQUFFO0VBVW5FOztFQUFBLElBQWdCLHFCQUFrQjtHQUFBLE9BQUEsS0FBQTtFQUFBO0VBQWxDLElBQWdCLG1CQUFrQixPQUFBO0dBQUEsS0FBQSx1Q0FBQTtFQUFBO0VBS0w7Ozs7RUFBQSxJQUFnQixPQUFJO0dBQUEsT0FBQSxLQUFBO0VBQUE7RUFBcEIsSUFBZ0IsS0FBSSxPQUFBO0dBQUEsS0FBQSx5QkFBQTtFQUFBO0VBRTlCLFdBQVcsbUJBQXVDO0dBQ25FLE1BQU0sV0FBVyxpQkFBaUI7R0FFbEMsSUFBSSxrQkFBa0IsSUFBSSxVQUFVLEdBQ2xDLEtBQUssZUFBYztFQUV2QjtFQUVRLGlCQUFjO0dBQ3BCLEtBQUssbUJBQ0gsb0RBQW9ELEVBQ3BELFNBQVMsTUFBTyxFQUFFLFdBQVcsS0FBSyxRQUFTO0VBQy9DO0VBRW1CLFNBQU07R0FDdkIsT0FBTyxJQUFJO1FBQ1AsS0FBSyxXQUNMLEVBQUUsV0FBVyxLQUFLLG1CQUFrQixHQUNwQyxFQUFFLHFCQUFxQixDQUFDLGFBQWEsRUFBQyxDQUFFLEVBQUE7O0VBRzlDOzs7R0FyQzRCLEtBQUEsc0JBQXNCO0lBQ2hEO0lBQ0E7SUFDQTs7R0FNYyxLQUFBLHVDQUFBLGtCQUFBLE1BQUEsa0NBQTZCLEVBQUU7R0FLRixLQUFBLDBCQUFBLGtCQUFBLE1BQUEscUNBQUEsR0FBQSxrQkFBQSxNQUFBLG9CQUFzQyxJQUFJIn0=
115
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1idXR0b24tZ3JvdXAuY29tcG9uZW50LUM4OHBJYWFMLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9idXR0b24vbWluaS1idXR0b24tZ3JvdXAvbWluaS1idXR0b24tZ3JvdXAuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvYnV0dG9uL21pbmktYnV0dG9uLWdyb3VwL21pbmktYnV0dG9uLWdyb3VwLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG46aG9zdChbbmVnYXRpdmVdKSB7XG4gIC0tc2JiLW1pbmktYnV0dG9uLWdyb3VwLWJhY2tncm91bmQ6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEtbmVnYXRpdmUpO1xuICAtLXNiYi1taW5pLWJ1dHRvbi1ncm91cC1ib3JkZXItY29sb3I6IHZhcigtLXNiYi1ib3JkZXItY29sb3ItNC1uZWdhdGl2ZS1pbnZlcnRlZCk7XG4gIC0tc2JiLWZvY3VzLW91dGxpbmUtY29sb3I6IHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yLWRhcmspO1xufVxuXG46aG9zdChbc2l6ZT0ncyddKSB7XG4gIC0tc2JiLW1pbmktYnV0dG9uLWdyb3VwLW1pbi1oZWlnaHQ6IHZhcigtLXNiYi1taW5pLWJ1dHRvbi1ncm91cC1taW4taGVpZ2h0LXMpO1xuICAtLXNiYi1taW5pLWJ1dHRvbi1ncm91cC1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLW1pbmktYnV0dG9uLWdyb3VwLXBhZGRpbmctaW5saW5lLXMpO1xufVxuXG46aG9zdChbc2l6ZT0nbSddKSB7XG4gIC0tc2JiLW1pbmktYnV0dG9uLWdyb3VwLW1pbi1oZWlnaHQ6IHZhcigtLXNiYi1taW5pLWJ1dHRvbi1ncm91cC1taW4taGVpZ2h0LW0pO1xuICAtLXNiYi1taW5pLWJ1dHRvbi1ncm91cC1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLW1pbmktYnV0dG9uLWdyb3VwLXBhZGRpbmctaW5saW5lLW0pO1xufVxuXG46aG9zdChbc2l6ZT0nbCddKSB7XG4gIC0tc2JiLW1pbmktYnV0dG9uLWdyb3VwLW1pbi1oZWlnaHQ6IHZhcigtLXNiYi1taW5pLWJ1dHRvbi1ncm91cC1taW4taGVpZ2h0LWwpO1xuICAtLXNiYi1taW5pLWJ1dHRvbi1ncm91cC1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLW1pbmktYnV0dG9uLWdyb3VwLXBhZGRpbmctaW5saW5lLWwpO1xufVxuXG46aG9zdChbc2l6ZT0neGwnXSkge1xuICAtLXNiYi1taW5pLWJ1dHRvbi1ncm91cC1taW4taGVpZ2h0OiB2YXIoLS1zYmItbWluaS1idXR0b24tZ3JvdXAtbWluLWhlaWdodC14bCk7XG4gIC0tc2JiLW1pbmktYnV0dG9uLWdyb3VwLXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItbWluaS1idXR0b24tZ3JvdXAtcGFkZGluZy1pbmxpbmUteGwpO1xufVxuXG46OnNsb3R0ZWQoOmlzKHNiYi1taW5pLWJ1dHRvbiwgc2JiLW1pbmktYnV0dG9uLWxpbmssIHNiYi1kaXZpZGVyKSkge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG46OnNsb3R0ZWQoc2JiLWRpdmlkZXIpIHtcbiAgLS1zYmItZGl2aWRlci1ib3JkZXItd2lkdGg6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMXgpO1xuXG4gIHBhZGRpbmc6IHZhcigtLXNiYi1taW5pLWJ1dHRvbi1ncm91cC1kaXZpZGVyLXBhZGRpbmcpO1xuICBoZWlnaHQ6IHZhcigtLXNiYi1taW5pLWJ1dHRvbi1ncm91cC1kaXZpZGVyLWhlaWdodCk7XG59XG5cbi5zYmItbWluaS1idXR0b24tZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zYmItbWluaS1idXR0b24tZ3JvdXAtZ2FwKTtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBtaW4taGVpZ2h0OiB2YXIoLS1zYmItbWluaS1idXR0b24tZ3JvdXAtbWluLWhlaWdodCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1taW5pLWJ1dHRvbi1ncm91cC1iYWNrZ3JvdW5kKTtcbiAgYm9yZGVyOiB2YXIoLS1zYmItbWluaS1idXR0b24tZ3JvdXAtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1zYmItbWluaS1idXR0b24tZ3JvdXAtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLW1pbmktYnV0dG9uLWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICBwYWRkaW5nLWlubGluZTogY2FsYyhcbiAgICB2YXIoLS1zYmItbWluaS1idXR0b24tZ3JvdXAtcGFkZGluZy1pbmxpbmUpIC0gdmFyKC0tc2JiLW1pbmktYnV0dG9uLWdyb3VwLWJvcmRlci13aWR0aClcbiAgKTtcbn1cbiIsImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBmb3JjZVR5cGUsIFNiYkVsZW1lbnQsIFNiYk5hbWVkU2xvdExpc3RNaXhpbiwgU2JiTmVnYXRpdmVNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJEaXZpZGVyRWxlbWVudCB9IGZyb20gJy4uLy4uL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJNaW5pQnV0dG9uRWxlbWVudCB9IGZyb20gJy4uL21pbmktYnV0dG9uL21pbmktYnV0dG9uLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL21pbmktYnV0dG9uLWdyb3VwLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBEaXNwbGF5IGEgbGlzdCBvZiBgc2JiLW1pbmktYnV0dG9uYCBlbGVtZW50cyBpbiBhIGhvcml6b250YWwgY29udGFpbmVyLFxuICogcG9zc2libHkgc2VwYXJhdGVkIGJ5IGEgYHNiYi1kaXZpZGVyYCBjb21wb25lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1taW5pLWJ1dHRvbmAgYW5kIGBzYmItZGl2aWRlcmAgZWxlbWVudHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJNaW5pQnV0dG9uR3JvdXBFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihcbiAgU2JiTmFtZWRTbG90TGlzdE1peGluPFNiYk1pbmlCdXR0b25FbGVtZW50LCB0eXBlb2YgU2JiRWxlbWVudD4oU2JiRWxlbWVudCksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1taW5pLWJ1dHRvbi1ncm91cCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFt1bnNhZmVDU1Moc3R5bGUpXTtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IGxpc3RDaGlsZExvY2FsTmFtZXMgPSBbXG4gICAgJ3NiYi1taW5pLWJ1dHRvbicsXG4gICAgJ3NiYi1taW5pLWJ1dHRvbi1saW5rJyxcbiAgICAnc2JiLWRpdmlkZXInLFxuICBdO1xuXG4gIC8qKiBUaGlzIHdpbGwgYmUgZm9yd2FyZGVkIGFzIGFyaWEtbGFiZWwgdG8gdGhlIGxpc3QgdGhhdCBjb250YWlucyB0aGUgYnV0dG9ucy4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktbGFiZWwnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhY2Nlc3NpYmlsaXR5TGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBzIChsZWFuIHRoZW1lIGRlZmF1bHQpLCBtIChzdGFuZGFyZCB0aGVtZSBkZWZhdWx0KSwgbCBvciB4bC5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdzJyB8ICdtJyB8ICdsJyB8ICd4bCcgfCBudWxsID0gbnVsbDtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25lZ2F0aXZlJykpIHtcbiAgICAgIHRoaXMuX3Byb3h5TmVnYXRpdmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9wcm94eU5lZ2F0aXZlKCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uPFNiYkRpdmlkZXJFbGVtZW50IHwgU2JiTWluaUJ1dHRvbkVsZW1lbnQ+KFxuICAgICAgJ3NiYi1kaXZpZGVyLCBzYmItbWluaS1idXR0b24sIHNiYi1taW5pLWJ1dHRvbi1saW5rJyxcbiAgICApLmZvckVhY2goKGUpID0+IChlLm5lZ2F0aXZlID0gdGhpcy5uZWdhdGl2ZSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICAke3RoaXMucmVuZGVyTGlzdChcbiAgICAgICAgeyBhcmlhTGFiZWw6IHRoaXMuYWNjZXNzaWJpbGl0eUxhYmVsIH0sXG4gICAgICAgIHsgbG9jYWxOYW1lVmlzdWFsT25seTogWydzYmItZGl2aWRlciddIH0sXG4gICAgICApfVxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1taW5pLWJ1dHRvbi1ncm91cCc6IFNiYk1pbmlCdXR0b25Hcm91cEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7SUNxQmEsbUNBQXlCO21CQUFTLGlCQUM3QyxzQkFBK0QsVUFBVSxDQUFDOzs7Ozs7O2NBRC9ELGtDQUFrQyxZQUU5Qzs7O3FDQVVFLFVBQVMsR0FDVCxTQUFTLEVBQUUsV0FBVyxzQkFBcUIsQ0FBRSxDQUFDO3VCQU05QyxTQUFTLEVBQUUsU0FBUyxLQUFJLENBQUUsQ0FBQztHQUw1QixhQUFBLE1BQUEsTUFBQSxnQ0FBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLHdCQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQWtCLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBbEIscUJBQWtCO0tBQUE7SUFBQTtJQUFBLFVBQUE7R0FBQSxHQUFBLGtDQUFBLHFDQUFBO0dBS0wsYUFBQSxNQUFBLE1BQUEsa0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxVQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQUksTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFKLE9BQUk7S0FBQTtJQUFBO0lBQUEsVUFBQTtHQUFBLEdBQUEsb0JBQUEsdUJBQUE7Ozs7Ozs7OztHQWhCakIsS0FBQSxjQUFzQjtFQUF3Qjs7R0FDdkQsS0FBQSxTQUF5QixDQUFDLFVBQVUseUJBQUssQ0FBQztFQUFFO0VBVW5FOztFQUFBLElBQWdCLHFCQUFrQjtHQUFBLE9BQUEsS0FBQTtFQUFBO0VBQWxDLElBQWdCLG1CQUFrQixPQUFBO0dBQUEsS0FBQSx1Q0FBQTtFQUFBO0VBS0w7Ozs7RUFBQSxJQUFnQixPQUFJO0dBQUEsT0FBQSxLQUFBO0VBQUE7RUFBcEIsSUFBZ0IsS0FBSSxPQUFBO0dBQUEsS0FBQSx5QkFBQTtFQUFBO0VBRTlCLFdBQVcsbUJBQXVDO0dBQ25FLE1BQU0sV0FBVyxpQkFBaUI7R0FFbEMsSUFBSSxrQkFBa0IsSUFBSSxVQUFVLEdBQ2xDLEtBQUssZUFBYztFQUV2QjtFQUVRLGlCQUFjO0dBQ3BCLEtBQUssbUJBQ0gsb0RBQW9ELEVBQ3BELFNBQVMsTUFBTyxFQUFFLFdBQVcsS0FBSyxRQUFTO0VBQy9DO0VBRW1CLFNBQU07R0FDdkIsT0FBTyxJQUFJO1FBQ1AsS0FBSyxXQUNMLEVBQUUsV0FBVyxLQUFLLG1CQUFrQixHQUNwQyxFQUFFLHFCQUFxQixDQUFDLGFBQWEsRUFBQyxDQUFFLEVBQUE7O0VBRzlDOzs7R0FyQzRCLEtBQUEsc0JBQXNCO0lBQ2hEO0lBQ0E7SUFDQTs7R0FNYyxLQUFBLHVDQUFBLGtCQUFBLE1BQUEsa0NBQTZCLEVBQUU7R0FLRixLQUFBLDBCQUFBLGtCQUFBLE1BQUEscUNBQUEsR0FBQSxrQkFBQSxNQUFBLG9CQUFzQyxJQUFJIn0=
@@ -36,4 +36,4 @@ var SbbMiniButtonLinkElement = class extends SbbNegativeMixin(SbbIconNameMixin(S
36
36
  //#endregion
37
37
  export { SbbMiniButtonLinkElement as t };
38
38
 
39
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1idXR0b24tbGluay5jb21wb25lbnQta3BSc2k4STIuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2J1dHRvbi9taW5pLWJ1dHRvbi1saW5rL21pbmktYnV0dG9uLWxpbmsuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvYnV0dG9uL21pbmktYnV0dG9uLWxpbmsvbWluaS1idXR0b24tbGluay5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgLS1zYmItbWluaS1idXR0b24tY29sb3I6IExpbmtUZXh0ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIHR5cGUgVGVtcGxhdGVSZXN1bHQsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCB7XG4gIFNiYkRpc2FibGVkSW50ZXJhY3RpdmVNaXhpbixcbiAgU2JiRGlzYWJsZWRNaXhpbixcbiAgU2JiTGlua0Jhc2VFbGVtZW50LFxuICBTYmJOZWdhdGl2ZU1peGluLFxufSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLnB1cmUudHMnO1xuaW1wb3J0IHsgbWluaUJ1dHRvbkxhYmVsU3R5bGUsIG1pbmlCdXR0b25TdHlsZSB9IGZyb20gJy4uL2NvbW1vbi9idXR0b24tY29tbW9uLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vbWluaS1idXR0b24tbGluay5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYW4gaWNvbi1vbmx5IGJ1dHRvbiBlbmhhbmNlZCB3aXRoIHRoZSBTQkIgRGVzaWduIGFzIGxpbmsgdmFyaWFudDtcbiAqIGl0J3MgbWVhbnQgdG8gYmUgdXNlZCB3aXRoaW4gdGhlIGBzYmItbWluaS1idXR0b24tZ3JvdXBgLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGEgbGFiZWwgdG8gdGhlIG1pbmktYnV0dG9uLlxuICogQHNsb3QgaWNvbiAtIFNsb3QgdXNlZCB0byBkaXNwbGF5IHRoZSBpY29uLCBpZiBvbmUgaXMgc2V0XG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJNaW5pQnV0dG9uTGlua0VsZW1lbnQgZXh0ZW5kcyBTYmJOZWdhdGl2ZU1peGluKFxuICBTYmJJY29uTmFtZU1peGluKFNiYkRpc2FibGVkSW50ZXJhY3RpdmVNaXhpbihTYmJEaXNhYmxlZE1peGluKFNiYkxpbmtCYXNlRWxlbWVudCkpKSxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLW1pbmktYnV0dG9uLWxpbmsnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbXG4gICAgbWluaUJ1dHRvblN0eWxlLFxuICAgIG1pbmlCdXR0b25MYWJlbFN0eWxlLFxuICAgIHVuc2FmZUNTUyhzdHlsZSksXG4gIF07XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgICR7c3VwZXIucmVuZGVySWNvblNsb3QoKX1cbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLW1pbmktYnV0dG9uX19sYWJlbFwiPlxuICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW1pbmktYnV0dG9uLWxpbmsnOiBTYmJNaW5pQnV0dG9uTGlua0VsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FDb0JBLElBQWEsMkJBQWIsY0FBOEMsaUJBQzVDLGlCQUFpQiw0QkFBNEIsaUJBQWlCLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxFQUNwRjs7RUFDaUMsS0FBQSxjQUFzQjtDQUF1Qjs7RUFDdEQsS0FBQSxTQUF5QjtHQUM5QztHQUNBO0dBQ0EsVUFBVSx3QkFBSzs7Q0FDZjtDQUVpQixpQkFBYztFQUMvQixPQUFPLElBQUk7UUFDUCxNQUFNLGVBQWMsRUFBQTs7Ozs7Q0FLMUIifQ==
39
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1idXR0b24tbGluay5jb21wb25lbnQta3BSc2k4STIuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2J1dHRvbi9taW5pLWJ1dHRvbi1saW5rL21pbmktYnV0dG9uLWxpbmsuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvYnV0dG9uL21pbmktYnV0dG9uLWxpbmsvbWluaS1idXR0b24tbGluay5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgIC0tc2JiLW1pbmktYnV0dG9uLWNvbG9yOiBMaW5rVGV4dCAhaW1wb3J0YW50O1xuICB9XG59XG4iLCJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBodG1sLCB0eXBlIFRlbXBsYXRlUmVzdWx0LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQge1xuICBTYmJEaXNhYmxlZEludGVyYWN0aXZlTWl4aW4sXG4gIFNiYkRpc2FibGVkTWl4aW4sXG4gIFNiYkxpbmtCYXNlRWxlbWVudCxcbiAgU2JiTmVnYXRpdmVNaXhpbixcbn0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vLi4vaWNvbi5wdXJlLnRzJztcbmltcG9ydCB7IG1pbmlCdXR0b25MYWJlbFN0eWxlLCBtaW5pQnV0dG9uU3R5bGUgfSBmcm9tICcuLi9jb21tb24vYnV0dG9uLWNvbW1vbi50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL21pbmktYnV0dG9uLWxpbmsuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGFuIGljb24tb25seSBidXR0b24gZW5oYW5jZWQgd2l0aCB0aGUgU0JCIERlc2lnbiBhcyBsaW5rIHZhcmlhbnQ7XG4gKiBpdCdzIG1lYW50IHRvIGJlIHVzZWQgd2l0aGluIHRoZSBgc2JiLW1pbmktYnV0dG9uLWdyb3VwYC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBhIGxhYmVsIHRvIHRoZSBtaW5pLWJ1dHRvbi5cbiAqIEBzbG90IGljb24gLSBTbG90IHVzZWQgdG8gZGlzcGxheSB0aGUgaWNvbiwgaWYgb25lIGlzIHNldFxuICovXG5leHBvcnQgY2xhc3MgU2JiTWluaUJ1dHRvbkxpbmtFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihcbiAgU2JiSWNvbk5hbWVNaXhpbihTYmJEaXNhYmxlZEludGVyYWN0aXZlTWl4aW4oU2JiRGlzYWJsZWRNaXhpbihTYmJMaW5rQmFzZUVsZW1lbnQpKSksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1taW5pLWJ1dHRvbi1saW5rJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW1xuICAgIG1pbmlCdXR0b25TdHlsZSxcbiAgICBtaW5pQnV0dG9uTGFiZWxTdHlsZSxcbiAgICB1bnNhZmVDU1Moc3R5bGUpLFxuICBdO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICAke3N1cGVyLnJlbmRlckljb25TbG90KCl9XG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi1taW5pLWJ1dHRvbl9fbGFiZWxcIj5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgPC9zcGFuPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1taW5pLWJ1dHRvbi1saW5rJzogU2JiTWluaUJ1dHRvbkxpbmtFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQ29CQSxJQUFhLDJCQUFiLGNBQThDLGlCQUM1QyxpQkFBaUIsNEJBQTRCLGlCQUFpQixrQkFBa0IsQ0FBQyxDQUFDLENBQUMsRUFDcEY7O0VBQ2lDLEtBQUEsY0FBc0I7Q0FBdUI7O0VBQ3RELEtBQUEsU0FBeUI7R0FDOUM7R0FDQTtHQUNBLFVBQVUsd0JBQUs7O0NBQ2Y7Q0FFaUIsaUJBQWM7RUFDL0IsT0FBTyxJQUFJO1FBQ1AsTUFBTSxlQUFjLEVBQUE7Ozs7O0NBSzFCIn0=