@sbb-esta/lyne-elements-dev 5.0.0-next-dev.1776736853 → 5.0.0-next-dev.1776760633

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 (222) hide show
  1. package/autocomplete/autocomplete-base-element.js +1 -1
  2. package/autocomplete/autocomplete.component.js +1 -1
  3. package/{autocomplete-base-element-B7fDDO1F.js → autocomplete-base-element-gPLexIVc.js} +1 -1
  4. package/autocomplete.js +1 -1
  5. package/autocomplete.pure.js +1 -1
  6. package/core/overlay/overlay-trigger-attributes.js +3 -3
  7. package/core/styles/host-scrollbar.scss +6 -0
  8. package/core/styles/mixins/scrollbar.scss +5 -8
  9. package/core/styles/scrollbar.scss +10 -8
  10. package/core/styles/styles.js +2 -2
  11. package/core.css +2 -2
  12. package/core.js +3 -3
  13. package/custom-elements.json +26 -14
  14. package/datepicker/datepicker/datepicker.component.js +1 -1
  15. package/{datepicker.component-BBmEvmW3.js → datepicker.component-CNQGkdr-.js} +11 -11
  16. package/datepicker.js +1 -1
  17. package/datepicker.pure.js +1 -1
  18. package/development/autocomplete/autocomplete-base-element.js +1 -1
  19. package/development/autocomplete/autocomplete.component.js +1 -1
  20. package/development/{autocomplete-base-element-DnpaK_k3.js → autocomplete-base-element-8hV4-ys6.js} +2 -2
  21. package/development/autocomplete.js +1 -1
  22. package/development/autocomplete.pure.js +1 -1
  23. package/development/core/overlay/overlay-trigger-attributes.d.ts +4 -4
  24. package/development/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
  25. package/development/core/overlay/overlay-trigger-attributes.js +12 -12
  26. package/development/core/styles/styles.d.ts +1 -0
  27. package/development/core/styles/styles.d.ts.map +1 -1
  28. package/development/core/styles/styles.js +2 -2
  29. package/development/core.js +3 -3
  30. package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  31. package/development/datepicker/datepicker/datepicker.component.js +1 -1
  32. package/development/datepicker.component-Chnvwnp7.js +212 -0
  33. package/development/datepicker.js +1 -1
  34. package/development/datepicker.pure.js +1 -1
  35. package/development/dialog/dialog/dialog.component.d.ts +0 -1
  36. package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
  37. package/development/dialog/dialog/dialog.component.js +1 -1
  38. package/development/dialog/dialog-content/dialog-content.component.d.ts +1 -0
  39. package/development/dialog/dialog-content/dialog-content.component.d.ts.map +1 -1
  40. package/development/dialog/dialog-content/dialog-content.component.js +1 -1
  41. package/development/dialog-content.component-DlSxpY_e.js +34 -0
  42. package/development/{dialog.component-BYVTZAUU.js → dialog.component-B4cZfRCl.js} +1 -6
  43. package/development/dialog.js +2 -2
  44. package/development/dialog.pure.js +2 -2
  45. package/development/header/header/header.component.d.ts.map +1 -1
  46. package/development/header/header/header.component.js +1 -1
  47. package/development/{header.component-Hfgz9sSb.js → header.component-B2T2pmHs.js} +2 -3
  48. package/development/header.js +1 -1
  49. package/development/header.pure.js +1 -1
  50. package/development/icon-sidebar/icon-sidebar/icon-sidebar.component.d.ts.map +1 -1
  51. package/development/icon-sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
  52. package/development/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.d.ts.map +1 -1
  53. package/development/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  54. package/development/icon-sidebar-content.component-CfkM9k--.js +35 -0
  55. package/development/{icon-sidebar.component-xzwoc_4y.js → icon-sidebar.component-Cgvuxg4k.js} +3 -3
  56. package/development/icon-sidebar.js +2 -2
  57. package/development/icon-sidebar.pure.js +2 -2
  58. package/development/map-container/map-container.component.js +1 -1
  59. package/development/{map-container.component-mzZ_K_fR.js → map-container.component-rgU7ZofE.js} +2 -2
  60. package/development/map-container.js +1 -1
  61. package/development/map-container.pure.js +1 -1
  62. package/development/menu/common/menu-action-common.js +1 -1
  63. package/development/menu/menu/menu.component.d.ts.map +1 -1
  64. package/development/menu/menu/menu.component.js +1 -1
  65. package/development/menu-action-common-CEnwq60Z.js +32 -0
  66. package/development/menu.component-DbNRrGYy.js +365 -0
  67. package/development/menu.js +2 -2
  68. package/development/menu.pure.js +2 -2
  69. package/development/navigation/navigation/navigation.component.d.ts.map +1 -1
  70. package/development/navigation/navigation/navigation.component.js +1 -1
  71. package/development/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  72. package/development/navigation/navigation-section/navigation-section.component.js +1 -1
  73. package/development/{navigation-section.component-C_9myQKr.js → navigation-section.component-BSvxMUxM.js} +7 -9
  74. package/development/{navigation.component-C8MhqBLY.js → navigation.component-lgvLMF5e.js} +7 -9
  75. package/development/navigation.js +2 -2
  76. package/development/navigation.pure.js +2 -2
  77. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  78. package/development/overlay/overlay-base-element.js +6 -6
  79. package/development/overlay/overlay.component.d.ts +0 -1
  80. package/development/overlay/overlay.component.d.ts.map +1 -1
  81. package/development/overlay/overlay.component.js +1 -1
  82. package/development/overlay.component-iy6QUYWU.js +211 -0
  83. package/development/overlay.js +1 -1
  84. package/development/overlay.pure.js +1 -1
  85. package/development/popover/popover.component.d.ts.map +1 -1
  86. package/development/popover/popover.component.js +1 -1
  87. package/development/popover.component-C-zVDwjc.js +527 -0
  88. package/development/popover.js +1 -1
  89. package/development/popover.pure.js +1 -1
  90. package/development/select/select.component.js +1 -1
  91. package/development/{select.component-CqwBdtsN.js → select.component-Ibby7Q-L.js} +2 -2
  92. package/development/select.js +1 -1
  93. package/development/select.pure.js +1 -1
  94. package/development/sidebar/sidebar/sidebar.component.js +1 -1
  95. package/development/sidebar/sidebar-content/sidebar-content.component.d.ts +1 -2
  96. package/development/sidebar/sidebar-content/sidebar-content.component.d.ts.map +1 -1
  97. package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  98. package/development/{sidebar-content.component-Os9gd7zB.js → sidebar-content.component-DbcREBUa.js} +8 -5
  99. package/development/{sidebar.component-CwuT6dno.js → sidebar.component-zMWbdz0h.js} +2 -2
  100. package/development/sidebar.js +2 -2
  101. package/development/sidebar.pure.js +2 -2
  102. package/development/{step-label.component-CxqPgbzK.js → step-label.component-B7M9Yqyz.js} +1 -3
  103. package/development/{step.component-B2qbHl0l.js → step.component-CVWxYkrv.js} +1 -3
  104. package/development/stepper/step/step.component.d.ts.map +1 -1
  105. package/development/stepper/step/step.component.js +1 -1
  106. package/development/stepper/step-label/step-label.component.d.ts.map +1 -1
  107. package/development/stepper/step-label/step-label.component.js +1 -1
  108. package/development/stepper.js +2 -2
  109. package/development/stepper.pure.js +2 -2
  110. package/development/styles-DcuJgwEt.js +14 -0
  111. package/development/tab.component-BVhYPy5Y.js +68 -0
  112. package/development/table/table-wrapper/table-wrapper.component.d.ts.map +1 -1
  113. package/development/table/table-wrapper/table-wrapper.component.js +1 -1
  114. package/development/table-wrapper.component-DcLwEDzr.js +119 -0
  115. package/development/table.js +1 -1
  116. package/development/table.pure.js +1 -1
  117. package/development/tabs/tab/tab.component.d.ts.map +1 -1
  118. package/development/tabs/tab/tab.component.js +1 -1
  119. package/development/tabs.js +1 -1
  120. package/development/tabs.pure.js +1 -1
  121. package/development/tooltip/tooltip.component.d.ts.map +1 -1
  122. package/development/tooltip/tooltip.component.js +1 -1
  123. package/development/tooltip.component-lvElko6C.js +369 -0
  124. package/development/tooltip.js +1 -1
  125. package/development/tooltip.pure.js +1 -1
  126. package/development/train/train-formation/train-formation.component.js +1 -1
  127. package/development/{train-formation.component-CfdHRBsd.js → train-formation.component-BoQcwy6n.js} +2 -2
  128. package/development/train.js +1 -1
  129. package/development/train.pure.js +1 -1
  130. package/dialog/dialog/dialog.component.js +1 -1
  131. package/dialog/dialog-content/dialog-content.component.js +1 -1
  132. package/dialog-content.component-C_Gr8BNL.js +22 -0
  133. package/{dialog.component-ca14M0hZ.js → dialog.component-DTbAHlVd.js} +7 -10
  134. package/dialog.js +2 -2
  135. package/dialog.pure.js +2 -2
  136. package/header/header/header.component.js +1 -1
  137. package/{header.component-BxizSy1O.js → header.component-D-WVEMFn.js} +2 -2
  138. package/header.js +1 -1
  139. package/header.pure.js +1 -1
  140. package/icon-sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
  141. package/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  142. package/{icon-sidebar-content.component-DlUqWEAX.js → icon-sidebar-content.component-lFstg91Y.js} +9 -5
  143. package/{icon-sidebar.component-DbA4omxc.js → icon-sidebar.component-D0TtF-kR.js} +11 -11
  144. package/icon-sidebar.js +2 -2
  145. package/icon-sidebar.pure.js +2 -2
  146. package/map-container/map-container.component.js +1 -1
  147. package/{map-container.component-Cqn9mKoo.js → map-container.component-De-8Tsau.js} +1 -1
  148. package/map-container.js +1 -1
  149. package/map-container.pure.js +1 -1
  150. package/menu/common/menu-action-common.js +1 -1
  151. package/menu/menu/menu.component.js +1 -1
  152. package/{menu-action-common-DY4RrfCy.js → menu-action-common-krzD_Ca2.js} +1 -1
  153. package/{menu.component-XvtyRok7.js → menu.component-KdXwqe55.js} +15 -15
  154. package/menu.js +2 -2
  155. package/menu.pure.js +2 -2
  156. package/navigation/navigation/navigation.component.js +1 -1
  157. package/navigation/navigation-section/navigation-section.component.js +1 -1
  158. package/{navigation-section.component-CLcdmPV3.js → navigation-section.component-DrnbQAZX.js} +17 -17
  159. package/{navigation.component-Cnyb5_4R.js → navigation.component-D6HU-F51.js} +16 -16
  160. package/navigation.js +2 -2
  161. package/navigation.pure.js +2 -2
  162. package/off-brand-theme.css +53 -55
  163. package/overlay/overlay-base-element.js +4 -4
  164. package/overlay/overlay.component.js +1 -1
  165. package/overlay.component-bHg2Xk6D.js +161 -0
  166. package/overlay.js +1 -1
  167. package/overlay.pure.js +1 -1
  168. package/package.json +2 -2
  169. package/popover/popover.component.js +1 -1
  170. package/{popover.component-BfSXNxKK.js → popover.component-BCLBnddM.js} +12 -12
  171. package/popover.js +1 -1
  172. package/popover.pure.js +1 -1
  173. package/safety-theme.css +53 -55
  174. package/scrollbar.css +51 -53
  175. package/select/select.component.js +1 -1
  176. package/{select.component-Cu3ewc4i.js → select.component-BcDZm7EM.js} +1 -1
  177. package/select.js +1 -1
  178. package/select.pure.js +1 -1
  179. package/sidebar/sidebar/sidebar.component.js +1 -1
  180. package/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  181. package/{sidebar-content.component-DEgmt4BB.js → sidebar-content.component-CYupfsq_.js} +9 -5
  182. package/{sidebar.component-Bxt8pWMf.js → sidebar.component-Sw06otwx.js} +1 -1
  183. package/sidebar.js +2 -2
  184. package/sidebar.pure.js +2 -2
  185. package/standard-theme.css +53 -55
  186. package/{step-label.component-qdfunibJ.js → step-label.component-BXg13qOD.js} +3 -3
  187. package/{step.component-aBAfTJyO.js → step.component-sQbJslHx.js} +3 -3
  188. package/stepper/step/step.component.js +1 -1
  189. package/stepper/step-label/step-label.component.js +1 -1
  190. package/stepper.js +2 -2
  191. package/stepper.pure.js +2 -2
  192. package/styles-swTeDfst.js +5 -0
  193. package/{tab.component-DGzqld4u.js → tab.component-D6hfhlZw.js} +6 -6
  194. package/table/table-wrapper/table-wrapper.component.js +1 -1
  195. package/{table-wrapper.component-C36NdMWS.js → table-wrapper.component-Dxb8kzV3.js} +13 -13
  196. package/table.js +1 -1
  197. package/table.pure.js +1 -1
  198. package/tabs/tab/tab.component.js +1 -1
  199. package/tabs.js +1 -1
  200. package/tabs.pure.js +1 -1
  201. package/tooltip/tooltip.component.js +1 -1
  202. package/{tooltip.component-C5y6zCtF.js → tooltip.component-Do4V1jGd.js} +12 -12
  203. package/tooltip.js +1 -1
  204. package/tooltip.pure.js +1 -1
  205. package/train/train-formation/train-formation.component.js +1 -1
  206. package/{train-formation.component-5AASBGSX.js → train-formation.component-B8IFJ_7b.js} +1 -1
  207. package/train.js +1 -1
  208. package/train.pure.js +1 -1
  209. package/development/datepicker.component-AKlc7SAO.js +0 -214
  210. package/development/dialog-content.component-B3VB2ptp.js +0 -30
  211. package/development/icon-sidebar-content.component-CMzp1ewD.js +0 -31
  212. package/development/menu-action-common-Crx-dDgH.js +0 -32
  213. package/development/menu.component-DOv7PKIi.js +0 -367
  214. package/development/overlay.component-BuCkqG6Q.js +0 -216
  215. package/development/popover.component-B15jFLe9.js +0 -529
  216. package/development/styles-CcYw6JtZ.js +0 -8
  217. package/development/tab.component-DteuwiHv.js +0 -70
  218. package/development/table-wrapper.component-iSeT-FPH.js +0 -119
  219. package/development/tooltip.component-BtWTK2R0.js +0 -371
  220. package/dialog-content.component-DvJiuDJI.js +0 -19
  221. package/overlay.component-OzDUV8t1.js +0 -164
  222. package/styles-x5HG0xjp.js +0 -6
@@ -4,7 +4,7 @@ import { eventOptions, property } from "lit/decorators.js";
4
4
  import { SbbAnimationCompleteMixin, SbbEscapableOverlayController, SbbFocusTrapController, SbbOpenCloseBaseElement, boxSizingStyles, forceType, handleDistinctChange, isZeroAnimationDuration } from "./core.js";
5
5
  import { ResizeController } from "@lit-labs/observers/resize-controller.js";
6
6
  //#region src/elements/sidebar/sidebar/sidebar.scss?inline
7
- var sidebar_default = ":host {\n --sbb-link-text-decoration-line: none;\n --sbb-sidebar-background-color: var(--sbb-background-color-1);\n --sbb-sidebar-scrollbar-placeholder-width: var(--sbb-spacing-fixed-3x);\n --_sbb-sidebar-margin: 0;\n --_sbb-sidebar-margin-block-start: var(--sbb-sidebar-margin);\n --_sbb-sidebar-translate-x: -100%;\n --_sbb-sidebar-z-index: 2;\n --_sbb-sidebar-padding-inline-end: var(--sbb-sidebar-padding);\n --_sbb-sidebar-padding-block-start: var(--sbb-sidebar-padding);\n --_sbb-sidebar-border-radius-start: var(--sbb-sidebar-border-radius);\n --_sbb-sidebar-border-radius-end: 0;\n --_sbb-sidebar-close-button-size: var(--sbb-size-element-xs);\n --_sbb-sidebar-max-width: calc(100% - 2 * var(--_sbb-sidebar-margin));\n display: block;\n width: 20rem;\n}\n@supports (scrollbar-gutter: stable) and (not (-webkit-touch-callout: none)) {\n :host {\n --_sbb-sidebar-padding-inline-end: calc(\n var(--sbb-sidebar-padding) - var(--sbb-sidebar-scrollbar-placeholder-width)\n );\n }\n}\n\n:host([color=white]) {\n --sbb-sidebar-background-color: var(--sbb-background-color-1);\n}\n\n:host([color=milk]) {\n --sbb-sidebar-background-color: var(--sbb-background-color-3);\n}\n\n:host(:is([mode=over], :is(:state(mode-over-forced),[state--mode-over-forced]):not(:is(:state(mode-over-forced-closing),[state--mode-over-forced-closing])))) {\n --_sbb-sidebar-margin: var(--sbb-sidebar-margin);\n --_sbb-sidebar-border-radius-end: var(--sbb-sidebar-border-radius);\n --_sbb-sidebar-z-index: 3;\n}\n\n:host(:is(:dir(rtl), [position=end])) {\n --_sbb-sidebar-translate-x: 100%;\n}\n\n:host(:dir(rtl)[position=end]) {\n --_sbb-sidebar-translate-x: -100%;\n}\n\n.sbb-sidebar {\n width: inherit;\n max-width: var(--_sbb-sidebar-max-width);\n background-color: var(--sbb-sidebar-background-color);\n display: flex;\n flex-direction: column;\n position: absolute;\n overflow: hidden;\n inset-block: 0;\n z-index: var(--_sbb-sidebar-z-index);\n border-start-start-radius: var(--_sbb-sidebar-border-radius-start);\n border-start-end-radius: var(--_sbb-sidebar-border-radius-start);\n border-end-start-radius: var(--_sbb-sidebar-border-radius-end);\n border-end-end-radius: var(--_sbb-sidebar-border-radius-end);\n margin: var(--_sbb-sidebar-margin);\n margin-block-start: var(--_sbb-sidebar-margin-block-start);\n transition-duration: var(--sbb-sidebar-container-animation-duration);\n transition-timing-function: var(--sbb-sidebar-container-animation-easing);\n transition-property: width, translate;\n translate: none;\n}\n:host([position=end]) .sbb-sidebar {\n inset-inline-end: 0;\n}\n:host(:is(:state(state-closed),[state--state-closed])) .sbb-sidebar {\n visibility: hidden;\n}\n:host(:is(:is(:state(state-closing),[state--state-closing]), :is(:state(state-closed),[state--state-closed]))) .sbb-sidebar {\n translate: var(--_sbb-sidebar-translate-x) 0;\n}\n\n.sbb-sidebar-title-section {\n display: flex;\n width: 100%;\n gap: var(--sbb-sidebar-title-gap);\n background-color: var(--sbb-sidebar-background-color);\n padding-inline: var(--sbb-sidebar-padding);\n transition: box-shadow var(--sbb-animation-easing) var(--sbb-sidebar-container-animation-duration);\n box-shadow: none;\n}\n:host(:is(:state(scrolled),[state--scrolled])) .sbb-sidebar-title-section {\n box-shadow: var(--sbb-box-shadow-level-5-soft);\n}\n\n.sbb-sidebar-content-section {\n --sbb-scrollbar-thumb-width: 0.125rem;\n --sbb-scrollbar-thumb-width-hover: 0.25rem;\n --sbb-scrollbar-width-firefox: thin;\n --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-black) 30%, transparent);\n --sbb-scrollbar-color: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 30%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 30%, transparent)\n );\n --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-black) 60%, transparent);\n --sbb-scrollbar-color-hover: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 60%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 60%, transparent)\n );\n --sbb-scrollbar-track-color: transparent;\n --sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);\n}\n.sbb-sidebar-content-section::-webkit-scrollbar {\n width: var(--sbb-scrollbar-width);\n height: var(--sbb-scrollbar-width);\n background-color: var(--sbb-scrollbar-track-color, transparent);\n}\n.sbb-sidebar-content-section::-webkit-scrollbar-corner {\n background-color: var(--sbb-scrollbar-track-color, transparent);\n}\n.sbb-sidebar-content-section::-webkit-scrollbar-thumb {\n background-color: var(--sbb-scrollbar-color, currentcolor);\n border: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;\n border-radius: var(--sbb-border-radius-4x);\n background-clip: padding-box;\n}\n.sbb-sidebar-content-section::-webkit-scrollbar-thumb:hover {\n background-color: var(--sbb-scrollbar-color-hover, currentcolor);\n border-width: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)));\n}\n.sbb-sidebar-content-section::-webkit-scrollbar-button, .sbb-sidebar-content-section::-webkit-scrollbar-corner {\n display: none;\n}\n@supports not selector(::-webkit-scrollbar) {\n .sbb-sidebar-content-section {\n scrollbar-width: var(--sbb-scrollbar-width-firefox);\n scrollbar-color: var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent);\n }\n}\n.sbb-sidebar-content-section {\n padding-block-start: var(--_sbb-sidebar-padding-block-start);\n padding-inline: var(--sbb-sidebar-padding) var(--_sbb-sidebar-padding-inline-end);\n overflow-y: auto;\n flex-grow: 1;\n outline-color: var(--sbb-focus-outline-color);\n}\n@supports (scrollbar-gutter: stable) {\n .sbb-sidebar-content-section {\n scrollbar-gutter: stable;\n }\n}\n\n::slotted(sbb-sidebar-title) {\n flex-grow: 1;\n margin-block: var(--sbb-sidebar-title-padding-block);\n}\n\n::slotted(sbb-sidebar-close-button) {\n order: 1;\n margin-inline-end: calc(-1 * (var(--sbb-sidebar-padding) - var(--sbb-sidebar-title-padding-block)));\n margin-block: var(--sbb-sidebar-title-padding-block);\n inset-inline-end: var(--sbb-sidebar-padding);\n}";
7
+ var sidebar_default = ":host {\n --sbb-link-text-decoration-line: none;\n --sbb-sidebar-background-color: var(--sbb-background-color-1);\n --sbb-sidebar-scrollbar-placeholder-width: var(--sbb-spacing-fixed-3x);\n --_sbb-sidebar-margin: 0;\n --_sbb-sidebar-margin-block-start: var(--sbb-sidebar-margin);\n --_sbb-sidebar-translate-x: -100%;\n --_sbb-sidebar-z-index: 2;\n --_sbb-sidebar-padding-inline-end: var(--sbb-sidebar-padding);\n --_sbb-sidebar-padding-block-start: var(--sbb-sidebar-padding);\n --_sbb-sidebar-border-radius-start: var(--sbb-sidebar-border-radius);\n --_sbb-sidebar-border-radius-end: 0;\n --_sbb-sidebar-close-button-size: var(--sbb-size-element-xs);\n --_sbb-sidebar-max-width: calc(100% - 2 * var(--_sbb-sidebar-margin));\n display: block;\n width: 20rem;\n}\n@supports (scrollbar-gutter: stable) and (not (-webkit-touch-callout: none)) {\n :host {\n --_sbb-sidebar-padding-inline-end: calc(\n var(--sbb-sidebar-padding) - var(--sbb-sidebar-scrollbar-placeholder-width)\n );\n }\n}\n\n:host([color=white]) {\n --sbb-sidebar-background-color: var(--sbb-background-color-1);\n}\n\n:host([color=milk]) {\n --sbb-sidebar-background-color: var(--sbb-background-color-3);\n}\n\n:host(:is([mode=over], :is(:state(mode-over-forced),[state--mode-over-forced]):not(:is(:state(mode-over-forced-closing),[state--mode-over-forced-closing])))) {\n --_sbb-sidebar-margin: var(--sbb-sidebar-margin);\n --_sbb-sidebar-border-radius-end: var(--sbb-sidebar-border-radius);\n --_sbb-sidebar-z-index: 3;\n}\n\n:host(:is(:dir(rtl), [position=end])) {\n --_sbb-sidebar-translate-x: 100%;\n}\n\n:host(:dir(rtl)[position=end]) {\n --_sbb-sidebar-translate-x: -100%;\n}\n\n.sbb-sidebar {\n width: inherit;\n max-width: var(--_sbb-sidebar-max-width);\n background-color: var(--sbb-sidebar-background-color);\n display: flex;\n flex-direction: column;\n position: absolute;\n overflow: hidden;\n inset-block: 0;\n z-index: var(--_sbb-sidebar-z-index);\n border-start-start-radius: var(--_sbb-sidebar-border-radius-start);\n border-start-end-radius: var(--_sbb-sidebar-border-radius-start);\n border-end-start-radius: var(--_sbb-sidebar-border-radius-end);\n border-end-end-radius: var(--_sbb-sidebar-border-radius-end);\n margin: var(--_sbb-sidebar-margin);\n margin-block-start: var(--_sbb-sidebar-margin-block-start);\n transition-duration: var(--sbb-sidebar-container-animation-duration);\n transition-timing-function: var(--sbb-sidebar-container-animation-easing);\n transition-property: width, translate;\n translate: none;\n}\n:host([position=end]) .sbb-sidebar {\n inset-inline-end: 0;\n}\n:host(:is(:state(state-closed),[state--state-closed])) .sbb-sidebar {\n visibility: hidden;\n}\n:host(:is(:is(:state(state-closing),[state--state-closing]), :is(:state(state-closed),[state--state-closed]))) .sbb-sidebar {\n translate: var(--_sbb-sidebar-translate-x) 0;\n}\n\n.sbb-sidebar-title-section {\n display: flex;\n width: 100%;\n gap: var(--sbb-sidebar-title-gap);\n background-color: var(--sbb-sidebar-background-color);\n padding-inline: var(--sbb-sidebar-padding);\n transition: box-shadow var(--sbb-animation-easing) var(--sbb-sidebar-container-animation-duration);\n box-shadow: none;\n}\n:host(:is(:state(scrolled),[state--scrolled])) .sbb-sidebar-title-section {\n box-shadow: var(--sbb-box-shadow-level-5-soft);\n}\n\n.sbb-sidebar-content-section {\n --sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);\n --sbb-scrollbar-thumb-width: 0.125rem;\n --sbb-scrollbar-thumb-width-hover: 0.25rem;\n --sbb-scrollbar-width-firefox: thin;\n --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-black) 30%, transparent);\n --sbb-scrollbar-color: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 30%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 30%, transparent)\n );\n --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-black) 60%, transparent);\n --sbb-scrollbar-color-hover: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 60%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 60%, transparent)\n );\n --sbb-scrollbar-track-color: transparent;\n}\n.sbb-sidebar-content-section::-webkit-scrollbar {\n width: var(--sbb-scrollbar-width);\n height: var(--sbb-scrollbar-width);\n background-color: var(--sbb-scrollbar-track-color, transparent);\n}\n.sbb-sidebar-content-section::-webkit-scrollbar-corner {\n background-color: var(--sbb-scrollbar-track-color, transparent);\n}\n.sbb-sidebar-content-section::-webkit-scrollbar-thumb {\n background-color: var(--sbb-scrollbar-color, currentcolor);\n border: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;\n border-radius: var(--sbb-border-radius-4x);\n background-clip: padding-box;\n}\n.sbb-sidebar-content-section::-webkit-scrollbar-thumb:hover {\n background-color: var(--sbb-scrollbar-color-hover, currentcolor);\n border-width: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)));\n}\n.sbb-sidebar-content-section::-webkit-scrollbar-button, .sbb-sidebar-content-section::-webkit-scrollbar-corner {\n display: none;\n}\n@supports not selector(::-webkit-scrollbar) {\n .sbb-sidebar-content-section {\n scrollbar-width: var(--sbb-scrollbar-width-firefox);\n scrollbar-color: var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent);\n }\n}\n.sbb-sidebar-content-section {\n padding-block-start: var(--_sbb-sidebar-padding-block-start);\n padding-inline: var(--sbb-sidebar-padding) var(--_sbb-sidebar-padding-inline-end);\n overflow-y: auto;\n flex-grow: 1;\n outline-color: var(--sbb-focus-outline-color);\n}\n@supports (scrollbar-gutter: stable) {\n .sbb-sidebar-content-section {\n scrollbar-gutter: stable;\n }\n}\n\n::slotted(sbb-sidebar-title) {\n flex-grow: 1;\n margin-block: var(--sbb-sidebar-title-padding-block);\n}\n\n::slotted(sbb-sidebar-close-button) {\n order: 1;\n margin-inline-end: calc(-1 * (var(--sbb-sidebar-padding) - var(--sbb-sidebar-title-padding-block)));\n margin-block: var(--sbb-sidebar-title-padding-block);\n inset-inline-end: var(--sbb-sidebar-padding);\n}";
8
8
  //#endregion
9
9
  //#region src/elements/sidebar/sidebar/sidebar.component.ts
10
10
  /**
@@ -346,4 +346,4 @@ var SbbSidebarElement = (() => {
346
346
  //#endregion
347
347
  export { SbbSidebarElement as t };
348
348
 
349
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQtQ3d1VDZkbm8uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3NpZGViYXIvc2lkZWJhci9zaWRlYmFyLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3NpZGViYXIvc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLWxpbmstdGV4dC1kZWNvcmF0aW9uLWxpbmU6IG5vbmU7XG4gIC0tc2JiLXNpZGViYXItYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMSk7XG4gIC0tc2JiLXNpZGViYXItc2Nyb2xsYmFyLXBsYWNlaG9sZGVyLXdpZHRoOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0zeCk7XG4gIC0tX3NiYi1zaWRlYmFyLW1hcmdpbjogMDtcbiAgLS1fc2JiLXNpZGViYXItbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItc2lkZWJhci1tYXJnaW4pO1xuICAtLV9zYmItc2lkZWJhci10cmFuc2xhdGUteDogLTEwMCU7XG4gIC0tX3NiYi1zaWRlYmFyLXotaW5kZXg6IDI7XG4gIC0tX3NiYi1zaWRlYmFyLXBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tc2JiLXNpZGViYXItcGFkZGluZyk7XG4gIC0tX3NiYi1zaWRlYmFyLXBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zaWRlYmFyLXBhZGRpbmcpO1xuICAtLV9zYmItc2lkZWJhci1ib3JkZXItcmFkaXVzLXN0YXJ0OiB2YXIoLS1zYmItc2lkZWJhci1ib3JkZXItcmFkaXVzKTtcbiAgLS1fc2JiLXNpZGViYXItYm9yZGVyLXJhZGl1cy1lbmQ6IDA7XG4gIC0tX3NiYi1zaWRlYmFyLWNsb3NlLWJ1dHRvbi1zaXplOiB2YXIoLS1zYmItc2l6ZS1lbGVtZW50LXhzKTtcbiAgLS1fc2JiLXNpZGViYXItbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyICogdmFyKC0tX3NiYi1zaWRlYmFyLW1hcmdpbikpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDMyMCl9O1xuXG4gIC8vIFN1YnRyYWN0IHRoZSB3aWR0aCBvZiB0aGUgc2Nyb2xsYmFyIGZyb20gdGhlIHBhZGRpbmcgKEV4Y2x1ZGUgaU9TIGJyb3dzZXJzIGJlY2F1c2UgdGhleSB1c2Ugb3ZlcmxheSBzY3JvbGxiYXJzKVxuICBAc3VwcG9ydHMgKHNjcm9sbGJhci1ndXR0ZXI6IHN0YWJsZSkgYW5kIChub3QgKC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZSkpIHtcbiAgICAtLV9zYmItc2lkZWJhci1wYWRkaW5nLWlubGluZS1lbmQ6IGNhbGMoXG4gICAgICB2YXIoLS1zYmItc2lkZWJhci1wYWRkaW5nKSAtIHZhcigtLXNiYi1zaWRlYmFyLXNjcm9sbGJhci1wbGFjZWhvbGRlci13aWR0aClcbiAgICApO1xuICB9XG59XG5cbjpob3N0KFtjb2xvcj0nd2hpdGUnXSkge1xuICAtLXNiYi1zaWRlYmFyLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEpO1xufVxuXG46aG9zdChbY29sb3I9J21pbGsnXSkge1xuICAtLXNiYi1zaWRlYmFyLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMpO1xufVxuXG46aG9zdCg6aXMoW21vZGU9J292ZXInXSwgOnN0YXRlKG1vZGUtb3Zlci1mb3JjZWQpOm5vdCg6c3RhdGUobW9kZS1vdmVyLWZvcmNlZC1jbG9zaW5nKSkpKSB7XG4gIC0tX3NiYi1zaWRlYmFyLW1hcmdpbjogdmFyKC0tc2JiLXNpZGViYXItbWFyZ2luKTtcbiAgLS1fc2JiLXNpZGViYXItYm9yZGVyLXJhZGl1cy1lbmQ6IHZhcigtLXNiYi1zaWRlYmFyLWJvcmRlci1yYWRpdXMpO1xuICAtLV9zYmItc2lkZWJhci16LWluZGV4OiAzO1xufVxuXG46aG9zdCg6aXMoOmRpcihydGwpLCBbcG9zaXRpb249J2VuZCddKSkge1xuICAtLV9zYmItc2lkZWJhci10cmFuc2xhdGUteDogMTAwJTtcbn1cblxuOmhvc3QoOmRpcihydGwpW3Bvc2l0aW9uPSdlbmQnXSkge1xuICAtLV9zYmItc2lkZWJhci10cmFuc2xhdGUteDogLTEwMCU7XG59XG5cbi5zYmItc2lkZWJhciB7XG4gIHdpZHRoOiBpbmhlcml0O1xuICBtYXgtd2lkdGg6IHZhcigtLV9zYmItc2lkZWJhci1tYXgtd2lkdGgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItc2lkZWJhci1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBpbnNldC1ibG9jazogMDtcbiAgei1pbmRleDogdmFyKC0tX3NiYi1zaWRlYmFyLXotaW5kZXgpO1xuICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiB2YXIoLS1fc2JiLXNpZGViYXItYm9yZGVyLXJhZGl1cy1zdGFydCk7XG4gIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiB2YXIoLS1fc2JiLXNpZGViYXItYm9yZGVyLXJhZGl1cy1zdGFydCk7XG4gIGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzOiB2YXIoLS1fc2JiLXNpZGViYXItYm9yZGVyLXJhZGl1cy1lbmQpO1xuICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IHZhcigtLV9zYmItc2lkZWJhci1ib3JkZXItcmFkaXVzLWVuZCk7XG4gIG1hcmdpbjogdmFyKC0tX3NiYi1zaWRlYmFyLW1hcmdpbik7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tX3NiYi1zaWRlYmFyLW1hcmdpbi1ibG9jay1zdGFydCk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLXNiYi1zaWRlYmFyLWNvbnRhaW5lci1hbmltYXRpb24tZHVyYXRpb24pO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLXNpZGViYXItY29udGFpbmVyLWFuaW1hdGlvbi1lYXNpbmcpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aCwgdHJhbnNsYXRlO1xuICB0cmFuc2xhdGU6IG5vbmU7XG5cbiAgOmhvc3QoW3Bvc2l0aW9uPSdlbmQnXSkgJiB7XG4gICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzdGF0ZS1jbG9zZWQpKSAmIHtcbiAgICAvLyBTdG9wcyB0aGUgc2lkZW5hdiBmcm9tIHBva2luZyBvdXQgKGUuZy4gd2l0aCB0aGUgYm94IHNoYWRvdykgd2hpbGUgaXQncyBvZmYtc2NyZWVuLlxuICAgIC8vIFdlIGNhbid0IHVzZSBgZGlzcGxheWAgYmVjYXVzZSBpdCBpbnRlcnJ1cHRzIHRoZSB0cmFuc2l0aW9uIGFuZCBgdHJhbnNpdGlvbi1iZWhhdmlvcmBcbiAgICAvLyBpc24ndCBhdmFpbGFibGUgaW4gYWxsIGJyb3dzZXJzLlxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIDpob3N0KDppcyg6c3RhdGUoc3RhdGUtY2xvc2luZyksIDpzdGF0ZShzdGF0ZS1jbG9zZWQpKSkgJiB7XG4gICAgdHJhbnNsYXRlOiB2YXIoLS1fc2JiLXNpZGViYXItdHJhbnNsYXRlLXgpIDA7XG4gIH1cbn1cblxuLnNiYi1zaWRlYmFyLXRpdGxlLXNlY3Rpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgZ2FwOiB2YXIoLS1zYmItc2lkZWJhci10aXRsZS1nYXApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItc2lkZWJhci1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zaWRlYmFyLXBhZGRpbmcpO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKSB2YXIoLS1zYmItc2lkZWJhci1jb250YWluZXItYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgYm94LXNoYWRvdzogbm9uZTtcblxuICA6aG9zdCg6c3RhdGUoc2Nyb2xsZWQpKSAmIHtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zYmItYm94LXNoYWRvdy1sZXZlbC01LXNvZnQpO1xuICB9XG59XG5cbi5zYmItc2lkZWJhci1jb250ZW50LXNlY3Rpb24ge1xuICBAaW5jbHVkZSBzYmIuc2Nyb2xsYmFyO1xuXG4gIHBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLV9zYmItc2lkZWJhci1wYWRkaW5nLWJsb2NrLXN0YXJ0KTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zaWRlYmFyLXBhZGRpbmcpIHZhcigtLV9zYmItc2lkZWJhci1wYWRkaW5nLWlubGluZS1lbmQpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBmbGV4LWdyb3c6IDE7XG5cbiAgLy8gSWYgdGhlIGVsZW1lbnQgaXMgc2Nyb2xsYWJsZSBhbmQgaGFzIG5vIGZvY3VzYWJsZSBjb250ZW50LCBpdCBnZXRzIGZvY3VzZWQuXG4gIC8vIFRvIGFkYXB0IHRvIGx5bmUgc3R5bGVzIHdlIGNvbG9yaXplIGl0XG4gIG91dGxpbmUtY29sb3I6IHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yKTtcblxuICBAc3VwcG9ydHMgKHNjcm9sbGJhci1ndXR0ZXI6IHN0YWJsZSkge1xuICAgIHNjcm9sbGJhci1ndXR0ZXI6IHN0YWJsZTtcbiAgfVxufVxuXG46OnNsb3R0ZWQoc2JiLXNpZGViYXItdGl0bGUpIHtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tYmxvY2s6IHZhcigtLXNiYi1zaWRlYmFyLXRpdGxlLXBhZGRpbmctYmxvY2spO1xufVxuXG46OnNsb3R0ZWQoc2JiLXNpZGViYXItY2xvc2UtYnV0dG9uKSB7XG4gIG9yZGVyOiAxO1xuXG4gIC8vIER1ZSB0byBkZXNpZ24gbmVlZHMsIHdlIGhhdmUgdG8gdHJhbnNsYXRlIHRoZSBjbG9zZSBidXR0b24gdG8gdGhlIHJpZ2h0XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKFxuICAgIC0xICogKHZhcigtLXNiYi1zaWRlYmFyLXBhZGRpbmcpIC0gdmFyKC0tc2JiLXNpZGViYXItdGl0bGUtcGFkZGluZy1ibG9jaykpXG4gICk7XG4gIG1hcmdpbi1ibG9jazogdmFyKC0tc2JiLXNpZGViYXItdGl0bGUtcGFkZGluZy1ibG9jayk7XG4gIGluc2V0LWlubGluZS1lbmQ6IHZhcigtLXNiYi1zaWRlYmFyLXBhZGRpbmcpO1xufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGV2ZW50T3B0aW9ucywgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7XG4gIGJveFNpemluZ1N0eWxlcyxcbiAgZm9yY2VUeXBlLFxuICBoYW5kbGVEaXN0aW5jdENoYW5nZSxcbiAgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24sXG4gIFNiYkFuaW1hdGlvbkNvbXBsZXRlTWl4aW4sXG4gIFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLFxuICBTYmJGb2N1c1RyYXBDb250cm9sbGVyLFxuICBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCxcbn0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlNpZGViYXJDb250YWluZXJFbGVtZW50IH0gZnJvbSAnLi4vc2lkZWJhci1jb250YWluZXIvc2lkZWJhci1jb250YWluZXIuY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vc2lkZWJhci5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogVGhpcyBjb21wb25lbnQgY29ycmVzcG9uZHMgdG8gYSBzaWRlYmFyIHRoYXQgY2FuIGJlIG9wZW5lZCBvbiB0aGUgc2lkZWJhciBjb250YWluZXIuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBzbG90IGFueSBjb250ZW50IGludG8gdGhlIHNpZGViYXIuXG4gKiBAc2xvdCB0aXRsZSAtIFVzZSB0aGUgdGl0bGUgc2xvdCB0byBhZGQgYW4gPHNiYi10aXRsZT4uXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJTaWRlYmFyRWxlbWVudCBleHRlbmRzIFNiYkFuaW1hdGlvbkNvbXBsZXRlTWl4aW4oU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1zaWRlYmFyJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLyoqIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNpZGViYXIuIEVpdGhlciBgd2hpdGVgIG9yIGBtaWxrYC4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgY29sb3I6ICd3aGl0ZScgfCAnbWlsaycgPSAnd2hpdGUnO1xuXG4gIC8qKiBNb2RlIG9mIHRoZSBzaWRlYmFyOyBvbmUgb2YgJ3NpZGUnIG9yICdvdmVyJy4gKi9cbiAgQGZvcmNlVHlwZSgodikgPT4gKHYgPT09ICdvdmVyJyA/ICdvdmVyJyA6ICdzaWRlJykpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIG1vZGU6ICdzaWRlJyB8ICdvdmVyJyA9ICdzaWRlJztcblxuICAvKiogVGhlIHNpZGUgdGhhdCB0aGUgc2lkZWJhciBpcyBhdHRhY2hlZCB0by4gKi9cbiAgQGZvcmNlVHlwZSgodikgPT4gKHYgPT09ICdlbmQnID8gJ2VuZCcgOiAnc3RhcnQnKSlcbiAgQGhhbmRsZURpc3RpbmN0Q2hhbmdlKChpbnN0YW5jZSwgX25ld1ZhbHVlLCBvbGRWYWx1ZSkgPT4gaW5zdGFuY2UuX3VwZGF0ZVNpZGViYXJXaWR0aChvbGRWYWx1ZSkpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIHBvc2l0aW9uOiAnc3RhcnQnIHwgJ2VuZCcgPSAnc3RhcnQnO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBzaWRlYmFyIGlzIG9wZW5lZCBvciBjbG9zZWQuXG4gICAqIENhbiBiZSB1c2VkIHRvIGluaXRpYWxseSBzZXQgdGhlIG9wZW5lZCBzdGF0ZSwgd2hlcmVcbiAgICogdGhlIGFuaW1hdGlvbiB3aWxsIGJlIHNraXBwZWQuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3Igb3BlbmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHNpZGViYXIgc2hvdWxkIGZvY3VzIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudCBhdXRvbWF0aWNhbGx5IHdoZW4gb3BlbmVkLlxuICAgKiBEZWZhdWx0cyB0byBmYWxzZSBpbiB3aGVuIG1vZGUgaXMgc2V0IHRvIGBzaWRlYCwgb3RoZXJ3aXNlIGRlZmF1bHRzIHRvIHRydWUuXG4gICAqIElmIGV4cGxpY2l0bHkgZW5hYmxlZCwgZm9jdXMgd2lsbCBiZSBtb3ZlZCBpbnRvIHRoZSBzaWRlYmFyIGluIGBzaWRlYCBtb2RlIGFzIHdlbGwuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiwgYXR0cmlidXRlOiAnZm9jdXMtb24tb3BlbicgfSlcbiAgcHVibGljIGFjY2Vzc29yIGZvY3VzT25PcGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFJldHVybnMgdGhlIFNiYlNpZGViYXJDb250YWluZXJFbGVtZW50IHdoZXJlIHRoaXMgc2lkZWJhciBpcyBjb250YWluZWQuICovXG4gIHB1YmxpYyBnZXQgY29udGFpbmVyKCk6IFNiYlNpZGViYXJDb250YWluZXJFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRhaW5lcjtcbiAgfVxuICBwcml2YXRlIF9jb250YWluZXI6IFNiYlNpZGViYXJDb250YWluZXJFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfbGFzdEZvY3VzZWRFbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9mb2N1c1RyYXBDb250cm9sbGVyID0gbmV3IFNiYkZvY3VzVHJhcENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyID0gbmV3IFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyKHRoaXMpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICAgICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl91cGRhdGVTaWRlYmFyV2lkdGgoKSxcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2xpY2snLCAoZSkgPT4ge1xuICAgICAgaWYgKChlLnRhcmdldCBhcyBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCk/LmxvY2FsTmFtZSA9PT0gJ3NiYi1zaWRlYmFyLWNsb3NlLWJ1dHRvbicpIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICB0aGlzLl9jb250YWluZXIgPSB0aGlzLmNsb3Nlc3Q/Lignc2JiLXNpZGViYXItY29udGFpbmVyJyk7XG4gICAgdGhpcy5fdXBkYXRlU2lkZWJhcldpZHRoKCk7XG5cbiAgICBpZiAodGhpcy5pc09wZW4gJiYgdGhpcy5faXNNb2RlT3ZlcigpKSB7XG4gICAgICB0aGlzLl90YWtlRm9jdXMoKTtcbiAgICB9XG5cbiAgICBpZiAoIWlzU2VydmVyKSB7XG4gICAgICBpZiAod2luZG93Lm5hdmlnYXRpb24pIHtcbiAgICAgICAgd2luZG93Lm5hdmlnYXRpb24uYWRkRXZlbnRMaXN0ZW5lcignbmF2aWdhdGUnLCB0aGlzLl9jbG9zZU9uTmF2aWdhdGlvbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9wc3RhdGUnLCB0aGlzLl9jbG9zZU9uTmF2aWdhdGlvbik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5jb250YWluZXI/LnN0eWxlLnJlbW92ZVByb3BlcnR5KHRoaXMuX2J1aWxkQ3NzV2lkdGhWYXIoKSk7XG4gICAgdGhpcy5fY29udGFpbmVyID0gbnVsbDtcblxuICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgIGlmICh3aW5kb3cubmF2aWdhdGlvbikge1xuICAgICAgICB3aW5kb3cubmF2aWdhdGlvbi5yZW1vdmVFdmVudExpc3RlbmVyKCduYXZpZ2F0ZScsIHRoaXMuX2Nsb3NlT25OYXZpZ2F0aW9uKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdwb3BzdGF0ZScsIHRoaXMuX2Nsb3NlT25OYXZpZ2F0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jbG9zZU9uTmF2aWdhdGlvbiA9ICgpOiB2b2lkID0+IHtcbiAgICBpZiAodGhpcy5faXNNb2RlT3ZlcigpICYmIHRoaXMuaXNPcGVuKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9O1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnb3BlbmVkJykpIHtcbiAgICAgIGlmICh0aGlzLm9wZW5lZCkge1xuICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgIH0gZWxzZSBpZiAoIXRoaXMub3BlbmVkKSB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdtb2RlJykpIHtcbiAgICAgIGlmICh0aGlzLm1vZGUgPT09ICdvdmVyJyAmJiB0aGlzLmlzT3Blbikge1xuICAgICAgICB0aGlzLl90YWtlRm9jdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2VkZUZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fdXBkYXRlU2lkZWJhcldpZHRoKCk7XG4gIH1cblxuICAvKiogVG9nZ2xlcyB0aGUgc2lkZWJhciB2aXNpYmlsaXR5LiAqL1xuICBwdWJsaWMgdG9nZ2xlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlID09PSAnb3BlbmluZycgfHwgdGhpcy5zdGF0ZSA9PT0gJ29wZW5lZCcpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIE9wZW5zIHRoZSBzaWRlYmFyLiAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnIHx8IHRoaXMuc3RhdGUgPT09ICdvcGVuZWQnIHx8ICF0aGlzLmRpc3BhdGNoQmVmb3JlT3BlbkV2ZW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXJ0QW5pbWF0aW9uKCk7XG5cbiAgICBpZiAoIWlzU2VydmVyICYmIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LmxvY2FsTmFtZSAhPT0gJ2JvZHknKSB7XG4gICAgICB0aGlzLl9sYXN0Rm9jdXNlZEVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIH1cblxuICAgIHRoaXMub3BlbmVkID0gdHJ1ZTtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuXG4gICAgY29uc3QgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24gPSB0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpIHx8ICF0aGlzLmlzQ29ubmVjdGVkO1xuICAgIGNvbnN0IGlzRHVyaW5nSW5pdGlhbGl6YXRpb24gPSAhdGhpcy5oYXNVcGRhdGVkO1xuXG4gICAgaWYgKCEoaXNEdXJpbmdJbml0aWFsaXphdGlvbiB8fCBpc1plcm9BbmltYXRpb25EdXJhdGlvbikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgnc2tpcC1hbmltYXRpb24nKTtcblxuICAgIC8vIFdlIGhhdmUgdG8gd2FpdCBmb3IgdGhlIGZpcnN0IHVwZGF0ZSB0byBiZSBjb21wbGV0ZWRcbiAgICAvLyBpbiBvcmRlciB0byBoYXZlIHRoZSBzaXplIG9mIHRoZSBzaWRlYmFyIHJlYWR5IGZvciB0aGUgYW5pbWF0aW9uLlxuICAgIGlmIChpc0R1cmluZ0luaXRpYWxpemF0aW9uKSB7XG4gICAgICB0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCkgPT4gdGhpcy5faGFuZGxlT3BlbmluZygpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLXNpZGViYXItY29udGFpbmVyLWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG5cbiAgICAvLyBXZSBoYXZlIHRvIGVuc3VyZSB0aGF0IHJlbW92aW5nIHRoZSBhbmltYXRpb24gc2tpcCBpbnN0cnVjdGlvbiBpcyBkb25lIGEgdGljayBsYXRlci5cbiAgICAvLyBPdGhlcndpc2UsIGl0J3MgcmVtb3ZlZCB0b28gZWFybHkgYW5kIGl0IGRvZXNuJ3QgaGF2ZSBhbnkgZWZmZWN0LlxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZSgnc2tpcC1hbmltYXRpb24nKSk7XG5cbiAgICB0aGlzLl90YWtlRm9jdXMoKTtcbiAgICB0aGlzLnN0b3BBbmltYXRpb24oKTtcbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICAvKiogQ2xvc2VzIHRoZSBzaWRlYmFyLiAqL1xuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJyB8fCB0aGlzLnN0YXRlID09PSAnY2xvc2VkJyB8fCAhdGhpcy5kaXNwYXRjaEJlZm9yZUNsb3NlRXZlbnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RhcnRBbmltYXRpb24oKTtcblxuICAgIGNvbnN0IGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uID0gdGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTtcblxuICAgIGlmICghdGhpcy5oYXNVcGRhdGVkIHx8IGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKCdza2lwLWFuaW1hdGlvbicpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIH1cblxuICAgIHRoaXMub3BlbmVkID0gZmFsc2U7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAoIXRoaXMuaGFzVXBkYXRlZCB8fCBpc1plcm9BbmltYXRpb25EdXJhdGlvbikge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIC8vIFdlIGhhdmUgdG8gZW5zdXJlIHRoYXQgcmVtb3ZpbmcgdGhlIGFuaW1hdGlvbiBza2lwIGluc3RydWN0aW9uIGlzIGRvbmUgYSB0aWNrIGxhdGVyLlxuICAgIC8vIE90aGVyd2lzZSwgaXQncyByZW1vdmVkIHRvbyBlYXJseSBhbmQgaXQgZG9lc24ndCBoYXZlIGFueSBlZmZlY3QuXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdza2lwLWFuaW1hdGlvbicpKTtcbiAgICB0aGlzLmNlZGVGb2N1cygpO1xuXG4gICAgaWYgKCFpc1NlcnZlciAmJiAodGhpcy5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSB8fCB0aGlzLl9pc01vZGVPdmVyKCkpKSB7XG4gICAgICBpZiAodGhpcy5fbGFzdEZvY3VzZWRFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuX2xhc3RGb2N1c2VkRWxlbWVudD8uZm9jdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFdlIGRvbid0IGtub3cgd2hlcmUgdG8gc2V0IHRoZSBmb2N1cywgYnV0IGhhdmUgdG8gcmVtb3ZlIGl0LCBzbyB3ZSBjYWxsIGJsdXJcbiAgICAgICAgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmJsdXIoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fbGFzdEZvY3VzZWRFbGVtZW50ID0gbnVsbDtcblxuICAgIHRoaXMuc3RvcEFuaW1hdGlvbigpO1xuICAgIHRoaXMuZGlzcGF0Y2hDbG9zZUV2ZW50KCk7XG4gIH1cblxuICBwcml2YXRlIF90YWtlRm9jdXMoKTogdm9pZCB7XG4gICAgLy8gV2UgcHJldmVudCBjYWxsaW5nIHRoZSBmb2N1cyBzdHVmZiB3aGVuIG5vdCBuZWVkZWRcbiAgICBpZiAoIXRoaXMuaXNDb25uZWN0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgaXNNb2RlT3ZlciA9IHRoaXMuX2lzTW9kZU92ZXIoKTtcblxuICAgIGlmIChpc01vZGVPdmVyIHx8IHRoaXMuZm9jdXNPbk9wZW4pIHtcbiAgICAgIHRoaXMuX2ZvY3VzVHJhcENvbnRyb2xsZXIuZm9jdXNJbml0aWFsRWxlbWVudCgpO1xuICAgIH1cblxuICAgIGlmIChpc01vZGVPdmVyKSB7XG4gICAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5jb25uZWN0KCk7XG4gICAgICB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8vIEludGVybmFsIG1ldGhvZCB0aGF0IHdlIHVzZSBleHRlcm5hbGx5LiBgcHJvdGVjdGVkYCBwcmVzZXJ2ZXMgdHlwZSBpbmZvcm1hdGlvbiBmb3IgdHlwZSBzYWZlIGFjY2Vzcy5cbiAgcHJvdGVjdGVkIGNlZGVGb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSBmYWxzZTtcbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVTaWRlYmFyV2lkdGgob2xkUG9zaXRpb24/OiB0aGlzWydwb3NpdGlvbiddKTogdm9pZCB7XG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5jb250YWluZXI7XG4gICAgaWYgKCFjb250YWluZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAob2xkUG9zaXRpb24pIHtcbiAgICAgIGNvbnRhaW5lci5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0aGlzLl9idWlsZENzc1dpZHRoVmFyKG9sZFBvc2l0aW9uKSk7XG4gICAgfVxuXG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLm9mZnNldFdpZHRoO1xuICAgIGlmICghd2lkdGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuZXdWYWx1ZSA9IGAke3dpZHRofXB4YDtcbiAgICBjb25zdCBhY3R1YWxWYWx1ZSA9IGNvbnRhaW5lci5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKHRoaXMuX2J1aWxkQ3NzV2lkdGhWYXIoKSk7XG5cbiAgICBpZiAoYWN0dWFsVmFsdWUgPT09IG5ld1ZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29udGFpbmVyLnN0eWxlLnNldFByb3BlcnR5KHRoaXMuX2J1aWxkQ3NzV2lkdGhWYXIoKSwgbmV3VmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYnVpbGRDc3NXaWR0aFZhcihwb3NpdGlvbiA9IHRoaXMucG9zaXRpb24pOiBzdHJpbmcge1xuICAgIHJldHVybiBgLS1fc2JiLXNpZGViYXItY29udGFpbmVyLSR7cG9zaXRpb259LXdpZHRoYDtcbiAgfVxuXG4gIHByaXZhdGUgX2lzTW9kZU92ZXIoKTogYm9vbGVhbiB7XG4gICAgLy8gSWYgdGhlIG1pbmltdW0gc3BhY2UgYXR0cmlidXRlIGlzIHNldCwgdGhlIHNpZGViYXIgc2hvdWxkIGJlaGF2ZSBsaWtlIGluIG1vZGUgb3Zlci5cbiAgICByZXR1cm4gdGhpcy5tb2RlID09PSAnb3ZlcicgfHwgdGhpcy5tYXRjaGVzKCc6c3RhdGUobW9kZS1vdmVyLWZvcmNlZCknKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uVHJhbnNpdGlvbkVuZChldmVudDogVHJhbnNpdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgLy8gV2UgZW5zdXJlIHRoYXQgd2UgcmVhY3QgdG8gdGhlIGZhZGUgaW4gdHJhbnNpdGlvbiBvbiB0aGUgc2JiLXNpZGViYXIgZGl2XG4gICAgaWYgKGV2ZW50LnByb3BlcnR5TmFtZSAhPT0gJ3RyYW5zbGF0ZScgfHwgZXZlbnQudGFyZ2V0ICE9PSBldmVudC5jdXJyZW50VGFyZ2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgQGV2ZW50T3B0aW9ucyh7IHBhc3NpdmU6IHRydWUgfSlcbiAgcHJpdmF0ZSBfZGV0ZWN0U2Nyb2xsZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKFxuICAgICAgJ3Njcm9sbGVkJyxcbiAgICAgICh0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoJy5zYmItc2lkZWJhci1jb250ZW50LXNlY3Rpb24nKT8uc2Nyb2xsVG9wID8/IDApID4gMCxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPGRpdiBjbGFzcz1cInNiYi1zaWRlYmFyXCIgQHRyYW5zaXRpb25lbmQ9JHt0aGlzLl9vblRyYW5zaXRpb25FbmR9PlxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1zaWRlYmFyLXRpdGxlLXNlY3Rpb25cIj48c2xvdCBuYW1lPVwidGl0bGUtc2VjdGlvblwiPjwvc2xvdD48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItc2lkZWJhci1jb250ZW50LXNlY3Rpb25cIiBAc2Nyb2xsPSR7KCkgPT4gdGhpcy5fZGV0ZWN0U2Nyb2xsZWRTdGF0ZSgpfT5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+YDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXNpZGViYXInOiBTYmJTaWRlYmFyRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7SUMrQmEsMkJBQWlCO21CQUFTLDBCQUEwQix3QkFBd0I7Ozs7Ozs7Ozs7Ozs7Ozs7OztjQUE1RSwwQkFBMEIsWUFBa0Q7Ozt3QkFLdEYsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7dUJBSTNCLFdBQVcsTUFBTyxNQUFN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
349
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQtek1XYmR6MGguanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3NpZGViYXIvc2lkZWJhci9zaWRlYmFyLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3NpZGViYXIvc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLWxpbmstdGV4dC1kZWNvcmF0aW9uLWxpbmU6IG5vbmU7XG4gIC0tc2JiLXNpZGViYXItYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMSk7XG4gIC0tc2JiLXNpZGViYXItc2Nyb2xsYmFyLXBsYWNlaG9sZGVyLXdpZHRoOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0zeCk7XG4gIC0tX3NiYi1zaWRlYmFyLW1hcmdpbjogMDtcbiAgLS1fc2JiLXNpZGViYXItbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItc2lkZWJhci1tYXJnaW4pO1xuICAtLV9zYmItc2lkZWJhci10cmFuc2xhdGUteDogLTEwMCU7XG4gIC0tX3NiYi1zaWRlYmFyLXotaW5kZXg6IDI7XG4gIC0tX3NiYi1zaWRlYmFyLXBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tc2JiLXNpZGViYXItcGFkZGluZyk7XG4gIC0tX3NiYi1zaWRlYmFyLXBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zaWRlYmFyLXBhZGRpbmcpO1xuICAtLV9zYmItc2lkZWJhci1ib3JkZXItcmFkaXVzLXN0YXJ0OiB2YXIoLS1zYmItc2lkZWJhci1ib3JkZXItcmFkaXVzKTtcbiAgLS1fc2JiLXNpZGViYXItYm9yZGVyLXJhZGl1cy1lbmQ6IDA7XG4gIC0tX3NiYi1zaWRlYmFyLWNsb3NlLWJ1dHRvbi1zaXplOiB2YXIoLS1zYmItc2l6ZS1lbGVtZW50LXhzKTtcbiAgLS1fc2JiLXNpZGViYXItbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyICogdmFyKC0tX3NiYi1zaWRlYmFyLW1hcmdpbikpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDMyMCl9O1xuXG4gIC8vIFN1YnRyYWN0IHRoZSB3aWR0aCBvZiB0aGUgc2Nyb2xsYmFyIGZyb20gdGhlIHBhZGRpbmcgKEV4Y2x1ZGUgaU9TIGJyb3dzZXJzIGJlY2F1c2UgdGhleSB1c2Ugb3ZlcmxheSBzY3JvbGxiYXJzKVxuICBAc3VwcG9ydHMgKHNjcm9sbGJhci1ndXR0ZXI6IHN0YWJsZSkgYW5kIChub3QgKC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZSkpIHtcbiAgICAtLV9zYmItc2lkZWJhci1wYWRkaW5nLWlubGluZS1lbmQ6IGNhbGMoXG4gICAgICB2YXIoLS1zYmItc2lkZWJhci1wYWRkaW5nKSAtIHZhcigtLXNiYi1zaWRlYmFyLXNjcm9sbGJhci1wbGFjZWhvbGRlci13aWR0aClcbiAgICApO1xuICB9XG59XG5cbjpob3N0KFtjb2xvcj0nd2hpdGUnXSkge1xuICAtLXNiYi1zaWRlYmFyLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEpO1xufVxuXG46aG9zdChbY29sb3I9J21pbGsnXSkge1xuICAtLXNiYi1zaWRlYmFyLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMpO1xufVxuXG46aG9zdCg6aXMoW21vZGU9J292ZXInXSwgOnN0YXRlKG1vZGUtb3Zlci1mb3JjZWQpOm5vdCg6c3RhdGUobW9kZS1vdmVyLWZvcmNlZC1jbG9zaW5nKSkpKSB7XG4gIC0tX3NiYi1zaWRlYmFyLW1hcmdpbjogdmFyKC0tc2JiLXNpZGViYXItbWFyZ2luKTtcbiAgLS1fc2JiLXNpZGViYXItYm9yZGVyLXJhZGl1cy1lbmQ6IHZhcigtLXNiYi1zaWRlYmFyLWJvcmRlci1yYWRpdXMpO1xuICAtLV9zYmItc2lkZWJhci16LWluZGV4OiAzO1xufVxuXG46aG9zdCg6aXMoOmRpcihydGwpLCBbcG9zaXRpb249J2VuZCddKSkge1xuICAtLV9zYmItc2lkZWJhci10cmFuc2xhdGUteDogMTAwJTtcbn1cblxuOmhvc3QoOmRpcihydGwpW3Bvc2l0aW9uPSdlbmQnXSkge1xuICAtLV9zYmItc2lkZWJhci10cmFuc2xhdGUteDogLTEwMCU7XG59XG5cbi5zYmItc2lkZWJhciB7XG4gIHdpZHRoOiBpbmhlcml0O1xuICBtYXgtd2lkdGg6IHZhcigtLV9zYmItc2lkZWJhci1tYXgtd2lkdGgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItc2lkZWJhci1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBpbnNldC1ibG9jazogMDtcbiAgei1pbmRleDogdmFyKC0tX3NiYi1zaWRlYmFyLXotaW5kZXgpO1xuICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiB2YXIoLS1fc2JiLXNpZGViYXItYm9yZGVyLXJhZGl1cy1zdGFydCk7XG4gIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiB2YXIoLS1fc2JiLXNpZGViYXItYm9yZGVyLXJhZGl1cy1zdGFydCk7XG4gIGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzOiB2YXIoLS1fc2JiLXNpZGViYXItYm9yZGVyLXJhZGl1cy1lbmQpO1xuICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IHZhcigtLV9zYmItc2lkZWJhci1ib3JkZXItcmFkaXVzLWVuZCk7XG4gIG1hcmdpbjogdmFyKC0tX3NiYi1zaWRlYmFyLW1hcmdpbik7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tX3NiYi1zaWRlYmFyLW1hcmdpbi1ibG9jay1zdGFydCk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLXNiYi1zaWRlYmFyLWNvbnRhaW5lci1hbmltYXRpb24tZHVyYXRpb24pO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLXNpZGViYXItY29udGFpbmVyLWFuaW1hdGlvbi1lYXNpbmcpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aCwgdHJhbnNsYXRlO1xuICB0cmFuc2xhdGU6IG5vbmU7XG5cbiAgOmhvc3QoW3Bvc2l0aW9uPSdlbmQnXSkgJiB7XG4gICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzdGF0ZS1jbG9zZWQpKSAmIHtcbiAgICAvLyBTdG9wcyB0aGUgc2lkZW5hdiBmcm9tIHBva2luZyBvdXQgKGUuZy4gd2l0aCB0aGUgYm94IHNoYWRvdykgd2hpbGUgaXQncyBvZmYtc2NyZWVuLlxuICAgIC8vIFdlIGNhbid0IHVzZSBgZGlzcGxheWAgYmVjYXVzZSBpdCBpbnRlcnJ1cHRzIHRoZSB0cmFuc2l0aW9uIGFuZCBgdHJhbnNpdGlvbi1iZWhhdmlvcmBcbiAgICAvLyBpc24ndCBhdmFpbGFibGUgaW4gYWxsIGJyb3dzZXJzLlxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIDpob3N0KDppcyg6c3RhdGUoc3RhdGUtY2xvc2luZyksIDpzdGF0ZShzdGF0ZS1jbG9zZWQpKSkgJiB7XG4gICAgdHJhbnNsYXRlOiB2YXIoLS1fc2JiLXNpZGViYXItdHJhbnNsYXRlLXgpIDA7XG4gIH1cbn1cblxuLnNiYi1zaWRlYmFyLXRpdGxlLXNlY3Rpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgZ2FwOiB2YXIoLS1zYmItc2lkZWJhci10aXRsZS1nYXApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItc2lkZWJhci1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zaWRlYmFyLXBhZGRpbmcpO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKSB2YXIoLS1zYmItc2lkZWJhci1jb250YWluZXItYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgYm94LXNoYWRvdzogbm9uZTtcblxuICA6aG9zdCg6c3RhdGUoc2Nyb2xsZWQpKSAmIHtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zYmItYm94LXNoYWRvdy1sZXZlbC01LXNvZnQpO1xuICB9XG59XG5cbi5zYmItc2lkZWJhci1jb250ZW50LXNlY3Rpb24ge1xuICBAaW5jbHVkZSBzYmIuc2Nyb2xsYmFyO1xuXG4gIHBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLV9zYmItc2lkZWJhci1wYWRkaW5nLWJsb2NrLXN0YXJ0KTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zaWRlYmFyLXBhZGRpbmcpIHZhcigtLV9zYmItc2lkZWJhci1wYWRkaW5nLWlubGluZS1lbmQpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBmbGV4LWdyb3c6IDE7XG5cbiAgLy8gSWYgdGhlIGVsZW1lbnQgaXMgc2Nyb2xsYWJsZSBhbmQgaGFzIG5vIGZvY3VzYWJsZSBjb250ZW50LCBpdCBnZXRzIGZvY3VzZWQuXG4gIC8vIFRvIGFkYXB0IHRvIGx5bmUgc3R5bGVzIHdlIGNvbG9yaXplIGl0XG4gIG91dGxpbmUtY29sb3I6IHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yKTtcblxuICBAc3VwcG9ydHMgKHNjcm9sbGJhci1ndXR0ZXI6IHN0YWJsZSkge1xuICAgIHNjcm9sbGJhci1ndXR0ZXI6IHN0YWJsZTtcbiAgfVxufVxuXG46OnNsb3R0ZWQoc2JiLXNpZGViYXItdGl0bGUpIHtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tYmxvY2s6IHZhcigtLXNiYi1zaWRlYmFyLXRpdGxlLXBhZGRpbmctYmxvY2spO1xufVxuXG46OnNsb3R0ZWQoc2JiLXNpZGViYXItY2xvc2UtYnV0dG9uKSB7XG4gIG9yZGVyOiAxO1xuXG4gIC8vIER1ZSB0byBkZXNpZ24gbmVlZHMsIHdlIGhhdmUgdG8gdHJhbnNsYXRlIHRoZSBjbG9zZSBidXR0b24gdG8gdGhlIHJpZ2h0XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKFxuICAgIC0xICogKHZhcigtLXNiYi1zaWRlYmFyLXBhZGRpbmcpIC0gdmFyKC0tc2JiLXNpZGViYXItdGl0bGUtcGFkZGluZy1ibG9jaykpXG4gICk7XG4gIG1hcmdpbi1ibG9jazogdmFyKC0tc2JiLXNpZGViYXItdGl0bGUtcGFkZGluZy1ibG9jayk7XG4gIGluc2V0LWlubGluZS1lbmQ6IHZhcigtLXNiYi1zaWRlYmFyLXBhZGRpbmcpO1xufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGV2ZW50T3B0aW9ucywgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7XG4gIGJveFNpemluZ1N0eWxlcyxcbiAgZm9yY2VUeXBlLFxuICBoYW5kbGVEaXN0aW5jdENoYW5nZSxcbiAgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24sXG4gIFNiYkFuaW1hdGlvbkNvbXBsZXRlTWl4aW4sXG4gIFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLFxuICBTYmJGb2N1c1RyYXBDb250cm9sbGVyLFxuICBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCxcbn0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlNpZGViYXJDb250YWluZXJFbGVtZW50IH0gZnJvbSAnLi4vc2lkZWJhci1jb250YWluZXIvc2lkZWJhci1jb250YWluZXIuY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vc2lkZWJhci5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogVGhpcyBjb21wb25lbnQgY29ycmVzcG9uZHMgdG8gYSBzaWRlYmFyIHRoYXQgY2FuIGJlIG9wZW5lZCBvbiB0aGUgc2lkZWJhciBjb250YWluZXIuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBzbG90IGFueSBjb250ZW50IGludG8gdGhlIHNpZGViYXIuXG4gKiBAc2xvdCB0aXRsZSAtIFVzZSB0aGUgdGl0bGUgc2xvdCB0byBhZGQgYW4gPHNiYi10aXRsZT4uXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJTaWRlYmFyRWxlbWVudCBleHRlbmRzIFNiYkFuaW1hdGlvbkNvbXBsZXRlTWl4aW4oU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1zaWRlYmFyJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLyoqIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNpZGViYXIuIEVpdGhlciBgd2hpdGVgIG9yIGBtaWxrYC4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgY29sb3I6ICd3aGl0ZScgfCAnbWlsaycgPSAnd2hpdGUnO1xuXG4gIC8qKiBNb2RlIG9mIHRoZSBzaWRlYmFyOyBvbmUgb2YgJ3NpZGUnIG9yICdvdmVyJy4gKi9cbiAgQGZvcmNlVHlwZSgodikgPT4gKHYgPT09ICdvdmVyJyA/ICdvdmVyJyA6ICdzaWRlJykpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIG1vZGU6ICdzaWRlJyB8ICdvdmVyJyA9ICdzaWRlJztcblxuICAvKiogVGhlIHNpZGUgdGhhdCB0aGUgc2lkZWJhciBpcyBhdHRhY2hlZCB0by4gKi9cbiAgQGZvcmNlVHlwZSgodikgPT4gKHYgPT09ICdlbmQnID8gJ2VuZCcgOiAnc3RhcnQnKSlcbiAgQGhhbmRsZURpc3RpbmN0Q2hhbmdlKChpbnN0YW5jZSwgX25ld1ZhbHVlLCBvbGRWYWx1ZSkgPT4gaW5zdGFuY2UuX3VwZGF0ZVNpZGViYXJXaWR0aChvbGRWYWx1ZSkpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIHBvc2l0aW9uOiAnc3RhcnQnIHwgJ2VuZCcgPSAnc3RhcnQnO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBzaWRlYmFyIGlzIG9wZW5lZCBvciBjbG9zZWQuXG4gICAqIENhbiBiZSB1c2VkIHRvIGluaXRpYWxseSBzZXQgdGhlIG9wZW5lZCBzdGF0ZSwgd2hlcmVcbiAgICogdGhlIGFuaW1hdGlvbiB3aWxsIGJlIHNraXBwZWQuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3Igb3BlbmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHNpZGViYXIgc2hvdWxkIGZvY3VzIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudCBhdXRvbWF0aWNhbGx5IHdoZW4gb3BlbmVkLlxuICAgKiBEZWZhdWx0cyB0byBmYWxzZSBpbiB3aGVuIG1vZGUgaXMgc2V0IHRvIGBzaWRlYCwgb3RoZXJ3aXNlIGRlZmF1bHRzIHRvIHRydWUuXG4gICAqIElmIGV4cGxpY2l0bHkgZW5hYmxlZCwgZm9jdXMgd2lsbCBiZSBtb3ZlZCBpbnRvIHRoZSBzaWRlYmFyIGluIGBzaWRlYCBtb2RlIGFzIHdlbGwuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgdHlwZTogQm9vbGVhbiwgYXR0cmlidXRlOiAnZm9jdXMtb24tb3BlbicgfSlcbiAgcHVibGljIGFjY2Vzc29yIGZvY3VzT25PcGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFJldHVybnMgdGhlIFNiYlNpZGViYXJDb250YWluZXJFbGVtZW50IHdoZXJlIHRoaXMgc2lkZWJhciBpcyBjb250YWluZWQuICovXG4gIHB1YmxpYyBnZXQgY29udGFpbmVyKCk6IFNiYlNpZGViYXJDb250YWluZXJFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRhaW5lcjtcbiAgfVxuICBwcml2YXRlIF9jb250YWluZXI6IFNiYlNpZGViYXJDb250YWluZXJFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfbGFzdEZvY3VzZWRFbGVtZW50OiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9mb2N1c1RyYXBDb250cm9sbGVyID0gbmV3IFNiYkZvY3VzVHJhcENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyID0gbmV3IFNiYkVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyKHRoaXMpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICAgICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl91cGRhdGVTaWRlYmFyV2lkdGgoKSxcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2xpY2snLCAoZSkgPT4ge1xuICAgICAgaWYgKChlLnRhcmdldCBhcyBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCk/LmxvY2FsTmFtZSA9PT0gJ3NiYi1zaWRlYmFyLWNsb3NlLWJ1dHRvbicpIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICB0aGlzLl9jb250YWluZXIgPSB0aGlzLmNsb3Nlc3Q/Lignc2JiLXNpZGViYXItY29udGFpbmVyJyk7XG4gICAgdGhpcy5fdXBkYXRlU2lkZWJhcldpZHRoKCk7XG5cbiAgICBpZiAodGhpcy5pc09wZW4gJiYgdGhpcy5faXNNb2RlT3ZlcigpKSB7XG4gICAgICB0aGlzLl90YWtlRm9jdXMoKTtcbiAgICB9XG5cbiAgICBpZiAoIWlzU2VydmVyKSB7XG4gICAgICBpZiAod2luZG93Lm5hdmlnYXRpb24pIHtcbiAgICAgICAgd2luZG93Lm5hdmlnYXRpb24uYWRkRXZlbnRMaXN0ZW5lcignbmF2aWdhdGUnLCB0aGlzLl9jbG9zZU9uTmF2aWdhdGlvbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9wc3RhdGUnLCB0aGlzLl9jbG9zZU9uTmF2aWdhdGlvbik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5jb250YWluZXI/LnN0eWxlLnJlbW92ZVByb3BlcnR5KHRoaXMuX2J1aWxkQ3NzV2lkdGhWYXIoKSk7XG4gICAgdGhpcy5fY29udGFpbmVyID0gbnVsbDtcblxuICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgIGlmICh3aW5kb3cubmF2aWdhdGlvbikge1xuICAgICAgICB3aW5kb3cubmF2aWdhdGlvbi5yZW1vdmVFdmVudExpc3RlbmVyKCduYXZpZ2F0ZScsIHRoaXMuX2Nsb3NlT25OYXZpZ2F0aW9uKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdwb3BzdGF0ZScsIHRoaXMuX2Nsb3NlT25OYXZpZ2F0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jbG9zZU9uTmF2aWdhdGlvbiA9ICgpOiB2b2lkID0+IHtcbiAgICBpZiAodGhpcy5faXNNb2RlT3ZlcigpICYmIHRoaXMuaXNPcGVuKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9O1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnb3BlbmVkJykpIHtcbiAgICAgIGlmICh0aGlzLm9wZW5lZCkge1xuICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgIH0gZWxzZSBpZiAoIXRoaXMub3BlbmVkKSB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdtb2RlJykpIHtcbiAgICAgIGlmICh0aGlzLm1vZGUgPT09ICdvdmVyJyAmJiB0aGlzLmlzT3Blbikge1xuICAgICAgICB0aGlzLl90YWtlRm9jdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2VkZUZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fdXBkYXRlU2lkZWJhcldpZHRoKCk7XG4gIH1cblxuICAvKiogVG9nZ2xlcyB0aGUgc2lkZWJhciB2aXNpYmlsaXR5LiAqL1xuICBwdWJsaWMgdG9nZ2xlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlID09PSAnb3BlbmluZycgfHwgdGhpcy5zdGF0ZSA9PT0gJ29wZW5lZCcpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIE9wZW5zIHRoZSBzaWRlYmFyLiAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnIHx8IHRoaXMuc3RhdGUgPT09ICdvcGVuZWQnIHx8ICF0aGlzLmRpc3BhdGNoQmVmb3JlT3BlbkV2ZW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXJ0QW5pbWF0aW9uKCk7XG5cbiAgICBpZiAoIWlzU2VydmVyICYmIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ/LmxvY2FsTmFtZSAhPT0gJ2JvZHknKSB7XG4gICAgICB0aGlzLl9sYXN0Rm9jdXNlZEVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIH1cblxuICAgIHRoaXMub3BlbmVkID0gdHJ1ZTtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuXG4gICAgY29uc3QgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24gPSB0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpIHx8ICF0aGlzLmlzQ29ubmVjdGVkO1xuICAgIGNvbnN0IGlzRHVyaW5nSW5pdGlhbGl6YXRpb24gPSAhdGhpcy5oYXNVcGRhdGVkO1xuXG4gICAgaWYgKCEoaXNEdXJpbmdJbml0aWFsaXphdGlvbiB8fCBpc1plcm9BbmltYXRpb25EdXJhdGlvbikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgnc2tpcC1hbmltYXRpb24nKTtcblxuICAgIC8vIFdlIGhhdmUgdG8gd2FpdCBmb3IgdGhlIGZpcnN0IHVwZGF0ZSB0byBiZSBjb21wbGV0ZWRcbiAgICAvLyBpbiBvcmRlciB0byBoYXZlIHRoZSBzaXplIG9mIHRoZSBzaWRlYmFyIHJlYWR5IGZvciB0aGUgYW5pbWF0aW9uLlxuICAgIGlmIChpc0R1cmluZ0luaXRpYWxpemF0aW9uKSB7XG4gICAgICB0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCkgPT4gdGhpcy5faGFuZGxlT3BlbmluZygpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLXNpZGViYXItY29udGFpbmVyLWFuaW1hdGlvbi1kdXJhdGlvbicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG5cbiAgICAvLyBXZSBoYXZlIHRvIGVuc3VyZSB0aGF0IHJlbW92aW5nIHRoZSBhbmltYXRpb24gc2tpcCBpbnN0cnVjdGlvbiBpcyBkb25lIGEgdGljayBsYXRlci5cbiAgICAvLyBPdGhlcndpc2UsIGl0J3MgcmVtb3ZlZCB0b28gZWFybHkgYW5kIGl0IGRvZXNuJ3QgaGF2ZSBhbnkgZWZmZWN0LlxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZSgnc2tpcC1hbmltYXRpb24nKSk7XG5cbiAgICB0aGlzLl90YWtlRm9jdXMoKTtcbiAgICB0aGlzLnN0b3BBbmltYXRpb24oKTtcbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICAvKiogQ2xvc2VzIHRoZSBzaWRlYmFyLiAqL1xuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgPT09ICdjbG9zaW5nJyB8fCB0aGlzLnN0YXRlID09PSAnY2xvc2VkJyB8fCAhdGhpcy5kaXNwYXRjaEJlZm9yZUNsb3NlRXZlbnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RhcnRBbmltYXRpb24oKTtcblxuICAgIGNvbnN0IGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uID0gdGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTtcblxuICAgIGlmICghdGhpcy5oYXNVcGRhdGVkIHx8IGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKCdza2lwLWFuaW1hdGlvbicpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIH1cblxuICAgIHRoaXMub3BlbmVkID0gZmFsc2U7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAoIXRoaXMuaGFzVXBkYXRlZCB8fCBpc1plcm9BbmltYXRpb25EdXJhdGlvbikge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIC8vIFdlIGhhdmUgdG8gZW5zdXJlIHRoYXQgcmVtb3ZpbmcgdGhlIGFuaW1hdGlvbiBza2lwIGluc3RydWN0aW9uIGlzIGRvbmUgYSB0aWNrIGxhdGVyLlxuICAgIC8vIE90aGVyd2lzZSwgaXQncyByZW1vdmVkIHRvbyBlYXJseSBhbmQgaXQgZG9lc24ndCBoYXZlIGFueSBlZmZlY3QuXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdza2lwLWFuaW1hdGlvbicpKTtcbiAgICB0aGlzLmNlZGVGb2N1cygpO1xuXG4gICAgaWYgKCFpc1NlcnZlciAmJiAodGhpcy5jb250YWlucyhkb2N1bWVudC5hY3RpdmVFbGVtZW50KSB8fCB0aGlzLl9pc01vZGVPdmVyKCkpKSB7XG4gICAgICBpZiAodGhpcy5fbGFzdEZvY3VzZWRFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuX2xhc3RGb2N1c2VkRWxlbWVudD8uZm9jdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFdlIGRvbid0IGtub3cgd2hlcmUgdG8gc2V0IHRoZSBmb2N1cywgYnV0IGhhdmUgdG8gcmVtb3ZlIGl0LCBzbyB3ZSBjYWxsIGJsdXJcbiAgICAgICAgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmJsdXIoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fbGFzdEZvY3VzZWRFbGVtZW50ID0gbnVsbDtcblxuICAgIHRoaXMuc3RvcEFuaW1hdGlvbigpO1xuICAgIHRoaXMuZGlzcGF0Y2hDbG9zZUV2ZW50KCk7XG4gIH1cblxuICBwcml2YXRlIF90YWtlRm9jdXMoKTogdm9pZCB7XG4gICAgLy8gV2UgcHJldmVudCBjYWxsaW5nIHRoZSBmb2N1cyBzdHVmZiB3aGVuIG5vdCBuZWVkZWRcbiAgICBpZiAoIXRoaXMuaXNDb25uZWN0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgaXNNb2RlT3ZlciA9IHRoaXMuX2lzTW9kZU92ZXIoKTtcblxuICAgIGlmIChpc01vZGVPdmVyIHx8IHRoaXMuZm9jdXNPbk9wZW4pIHtcbiAgICAgIHRoaXMuX2ZvY3VzVHJhcENvbnRyb2xsZXIuZm9jdXNJbml0aWFsRWxlbWVudCgpO1xuICAgIH1cblxuICAgIGlmIChpc01vZGVPdmVyKSB7XG4gICAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5jb25uZWN0KCk7XG4gICAgICB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8vIEludGVybmFsIG1ldGhvZCB0aGF0IHdlIHVzZSBleHRlcm5hbGx5LiBgcHJvdGVjdGVkYCBwcmVzZXJ2ZXMgdHlwZSBpbmZvcm1hdGlvbiBmb3IgdHlwZSBzYWZlIGFjY2Vzcy5cbiAgcHJvdGVjdGVkIGNlZGVGb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSBmYWxzZTtcbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVTaWRlYmFyV2lkdGgob2xkUG9zaXRpb24/OiB0aGlzWydwb3NpdGlvbiddKTogdm9pZCB7XG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5jb250YWluZXI7XG4gICAgaWYgKCFjb250YWluZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAob2xkUG9zaXRpb24pIHtcbiAgICAgIGNvbnRhaW5lci5zdHlsZS5yZW1vdmVQcm9wZXJ0eSh0aGlzLl9idWlsZENzc1dpZHRoVmFyKG9sZFBvc2l0aW9uKSk7XG4gICAgfVxuXG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLm9mZnNldFdpZHRoO1xuICAgIGlmICghd2lkdGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuZXdWYWx1ZSA9IGAke3dpZHRofXB4YDtcbiAgICBjb25zdCBhY3R1YWxWYWx1ZSA9IGNvbnRhaW5lci5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKHRoaXMuX2J1aWxkQ3NzV2lkdGhWYXIoKSk7XG5cbiAgICBpZiAoYWN0dWFsVmFsdWUgPT09IG5ld1ZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29udGFpbmVyLnN0eWxlLnNldFByb3BlcnR5KHRoaXMuX2J1aWxkQ3NzV2lkdGhWYXIoKSwgbmV3VmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYnVpbGRDc3NXaWR0aFZhcihwb3NpdGlvbiA9IHRoaXMucG9zaXRpb24pOiBzdHJpbmcge1xuICAgIHJldHVybiBgLS1fc2JiLXNpZGViYXItY29udGFpbmVyLSR7cG9zaXRpb259LXdpZHRoYDtcbiAgfVxuXG4gIHByaXZhdGUgX2lzTW9kZU92ZXIoKTogYm9vbGVhbiB7XG4gICAgLy8gSWYgdGhlIG1pbmltdW0gc3BhY2UgYXR0cmlidXRlIGlzIHNldCwgdGhlIHNpZGViYXIgc2hvdWxkIGJlaGF2ZSBsaWtlIGluIG1vZGUgb3Zlci5cbiAgICByZXR1cm4gdGhpcy5tb2RlID09PSAnb3ZlcicgfHwgdGhpcy5tYXRjaGVzKCc6c3RhdGUobW9kZS1vdmVyLWZvcmNlZCknKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uVHJhbnNpdGlvbkVuZChldmVudDogVHJhbnNpdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgLy8gV2UgZW5zdXJlIHRoYXQgd2UgcmVhY3QgdG8gdGhlIGZhZGUgaW4gdHJhbnNpdGlvbiBvbiB0aGUgc2JiLXNpZGViYXIgZGl2XG4gICAgaWYgKGV2ZW50LnByb3BlcnR5TmFtZSAhPT0gJ3RyYW5zbGF0ZScgfHwgZXZlbnQudGFyZ2V0ICE9PSBldmVudC5jdXJyZW50VGFyZ2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgQGV2ZW50T3B0aW9ucyh7IHBhc3NpdmU6IHRydWUgfSlcbiAgcHJpdmF0ZSBfZGV0ZWN0U2Nyb2xsZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKFxuICAgICAgJ3Njcm9sbGVkJyxcbiAgICAgICh0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoJy5zYmItc2lkZWJhci1jb250ZW50LXNlY3Rpb24nKT8uc2Nyb2xsVG9wID8/IDApID4gMCxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPGRpdiBjbGFzcz1cInNiYi1zaWRlYmFyXCIgQHRyYW5zaXRpb25lbmQ9JHt0aGlzLl9vblRyYW5zaXRpb25FbmR9PlxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1zaWRlYmFyLXRpdGxlLXNlY3Rpb25cIj48c2xvdCBuYW1lPVwidGl0bGUtc2VjdGlvblwiPjwvc2xvdD48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItc2lkZWJhci1jb250ZW50LXNlY3Rpb25cIiBAc2Nyb2xsPSR7KCkgPT4gdGhpcy5fZGV0ZWN0U2Nyb2xsZWRTdGF0ZSgpfT5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+YDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXNpZGViYXInOiBTYmJTaWRlYmFyRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7SUMrQmEsMkJBQWlCO21CQUFTLDBCQUEwQix3QkFBd0I7Ozs7Ozs7Ozs7Ozs7Ozs7OztjQUE1RSwwQkFBMEIsWUFBa0Q7Ozt3QkFLdEYsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7dUJBSTNCLFdBQVcsTUFBTyxNQUFN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
@@ -1,8 +1,8 @@
1
1
  import { t as SbbSidebarCloseButtonElement } from "./sidebar-close-button.component-DYE0tK-I.js";
2
2
  import { t as SbbSidebarContainerElement } from "./sidebar-container.component-CC9TtB6I.js";
3
- import { t as SbbSidebarContentElement } from "./sidebar-content.component-Os9gd7zB.js";
3
+ import { t as SbbSidebarContentElement } from "./sidebar-content.component-DbcREBUa.js";
4
4
  import { t as SbbSidebarTitleElement } from "./sidebar-title.component-DBb5MfIC.js";
5
- import { t as SbbSidebarElement } from "./sidebar.component-CwuT6dno.js";
5
+ import { t as SbbSidebarElement } from "./sidebar.component-zMWbdz0h.js";
6
6
  import "./sidebar.pure.js";
7
7
  //#region src/elements/sidebar.ts
8
8
  /** @entrypoint */
@@ -1,6 +1,6 @@
1
1
  import { t as SbbSidebarCloseButtonElement } from "./sidebar-close-button.component-DYE0tK-I.js";
2
2
  import { t as SbbSidebarContainerElement } from "./sidebar-container.component-CC9TtB6I.js";
3
- import { t as SbbSidebarContentElement } from "./sidebar-content.component-Os9gd7zB.js";
3
+ import { t as SbbSidebarContentElement } from "./sidebar-content.component-DbcREBUa.js";
4
4
  import { t as SbbSidebarTitleElement } from "./sidebar-title.component-DBb5MfIC.js";
5
- import { t as SbbSidebarElement } from "./sidebar.component-CwuT6dno.js";
5
+ import { t as SbbSidebarElement } from "./sidebar.component-zMWbdz0h.js";
6
6
  export { SbbSidebarCloseButtonElement, SbbSidebarContainerElement, SbbSidebarContentElement, SbbSidebarElement, SbbSidebarTitleElement };
@@ -5,7 +5,6 @@ import { SbbIconNameMixin } from "./icon.pure.js";
5
5
  var step_label_default = ":host {\n --sbb-step-label-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-2x)\n );\n --_sbb-step-label-inset-block-start: var(--sbb-step-label-inset-block-start-size-m);\n --_sbb-step-label-inset-inline-start: calc(var(--sbb-step-label-prefix-size) / 2);\n --_sbb-step-label-transform-y: calc(\n -50% + var(--sbb-step-label-translate-y-content-hover, 0rem)\n );\n --_sbb-step-label-prefix-inset-block-start: calc(\n 1em * (var(--sbb-typo-line-height-text) / 2) + (var(--sbb-border-width-1x) / 2) -\n (var(--sbb-step-label-prefix-size) / 2)\n );\n position: relative;\n display: flex;\n min-width: 0;\n max-width: fit-content;\n gap: var(--sbb-step-label-gap);\n cursor: var(--sbb-step-label-cursor);\n color: var(--sbb-step-label-color);\n font-size: var(--sbb-step-label-font-size);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n}\n:host::before {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n font-size: var(--sbb-text-font-size-xxs);\n font-weight: var(--sbb-step-label-font-weight-selected, normal);\n inset-block-start: var(--_sbb-step-label-inset-block-start);\n inset-inline-start: var(--_sbb-step-label-inset-inline-start);\n line-height: 1;\n z-index: 1;\n transform: translate(-50%, var(--_sbb-step-label-transform-y));\n transition: transform var(--sbb-step-label-animation-duration) var(--sbb-animation-easing);\n}\n\n:host(:is(:state(selected),[state--selected])) {\n --sbb-step-label-color: var(--sbb-color-3);\n --sbb-step-label-font-weight-selected: bold;\n}\n@media (forced-colors: active) {\n :host(:is(:state(selected),[state--selected])) {\n --sbb-step-label-color: Highlight !important;\n }\n}\n\n:host(:is(:state(size-s),[state--size-s])) {\n --sbb-step-label-gap: var(--sbb-spacing-fixed-3x);\n --sbb-step-label-prefix-size: var(--sbb-size-element-xxxs);\n --sbb-step-label-font-size: var(--sbb-text-font-size-m);\n --_sbb-step-label-inset-block-start: var(--sbb-step-label-inset-block-start-size-s);\n}\n\n:host(:disabled) {\n --sbb-step-label-color: var(--sbb-color-granite);\n --sbb-step-label-color: light-dark(var(--sbb-color-granite), var(--sbb-color-graphite));\n --sbb-step-label-prefix-border-style: dashed;\n}\n@media (forced-colors: active) {\n :host(:disabled) {\n --sbb-step-label-color: GrayText !important;\n }\n}\n\n@media (any-hover: hover) {\n :host(:hover:not(:disabled)) {\n --sbb-step-label-cursor: var(--sbb-cursor-pointer);\n --sbb-step-label-prefix-background-color: var(--sbb-background-color-3);\n --sbb-step-label-translate-y-content-hover: -0.0625rem;\n --sbb-step-label-prefix-size-grow-hover: calc(var(--sbb-border-width-2x) * -1);\n }\n}\n\n:host(:focus-visible) {\n outline-offset: var(--sbb-focus-outline-offset);\n outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);\n border-radius: var(--sbb-border-radius-1x);\n}\n\n:host(:is(:state(orientation-vertical),[state--orientation-vertical])) {\n transition: margin var(--sbb-stepper-animation-duration) var(--sbb-animation-easing);\n}\n\n:host(:is(:state(orientation-vertical),[state--orientation-vertical]):not(:first-of-type)) {\n margin-block-start: var(--sbb-spacing-fixed-6x);\n}\n\n:host(:is(:state(selected),[state--selected]):is(:state(orientation-vertical),[state--orientation-vertical])) {\n margin-block-end: var(--sbb-spacing-fixed-8x);\n}\n\n.sbb-step-label__prefix {\n position: relative;\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--sbb-step-label-prefix-size);\n height: var(--sbb-step-label-prefix-size);\n inset-block-start: var(--_sbb-step-label-prefix-inset-block-start);\n}\n.sbb-step-label__prefix::before {\n content: \"\";\n position: absolute;\n inset: calc(var(--sbb-step-label-prefix-size-grow-hover, 0rem));\n border-radius: var(--sbb-border-radius-infinity);\n border: var(--sbb-border-width-1x) var(--sbb-step-label-prefix-border-style) var(--sbb-step-label-prefix-border-color);\n background-color: var(--sbb-step-label-prefix-background-color);\n transition-duration: var(--sbb-step-label-animation-duration);\n transition-timing-function: var(--sbb-animation-easing);\n transition-property: background-color, inset;\n}\n\n.sbb-step-label__text {\n font-weight: bold;\n}\n:host(:is(:state(orientation-horizontal),[state--orientation-horizontal])) .sbb-step-label__text {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n::slotted(sbb-icon),\nsbb-icon {\n z-index: 1;\n background-color: var(--sbb-step-label-prefix-background-color);\n border-radius: var(--sbb-border-radius-infinity);\n transform: translateY(var(--sbb-step-label-translate-y-content-hover, 0rem));\n transition-duration: var(--sbb-step-label-animation-duration);\n transition-timing-function: var(--sbb-animation-easing);\n transition-property: background-color, transform;\n}";
6
6
  //#endregion
7
7
  //#region src/elements/stepper/step-label/step-label.component.ts
8
- var nextId = 0;
9
8
  /**
10
9
  * Combined with a `sbb-stepper`, it displays a step's label.
11
10
  *
@@ -66,7 +65,6 @@ var SbbStepLabelElement = class extends SbbIconNameMixin(SbbDisabledMixin(SbbBut
66
65
  }
67
66
  connectedCallback() {
68
67
  super.connectedCallback();
69
- this.id ||= `sbb-step-label-${nextId++}`;
70
68
  this.slot ||= "step-label";
71
69
  this.internals.ariaSelected = "false";
72
70
  this.tabIndex = -1;
@@ -125,4 +123,4 @@ var SbbStepLabelElement = class extends SbbIconNameMixin(SbbDisabledMixin(SbbBut
125
123
  //#endregion
126
124
  export { SbbStepLabelElement as t };
127
125
 
128
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1sYWJlbC5jb21wb25lbnQtQ3hxUGdieksuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcC1sYWJlbC9zdGVwLWxhYmVsLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcC1sYWJlbC9zdGVwLWxhYmVsLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLXN0ZXAtbGFiZWwtYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi0yeClcbiAgKTtcbiAgLS1fc2JiLXN0ZXAtbGFiZWwtaW5zZXQtYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zdGVwLWxhYmVsLWluc2V0LWJsb2NrLXN0YXJ0LXNpemUtbSk7XG4gIC0tX3NiYi1zdGVwLWxhYmVsLWluc2V0LWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtc2l6ZSkgLyAyKTtcbiAgLS1fc2JiLXN0ZXAtbGFiZWwtdHJhbnNmb3JtLXk6IGNhbGMoXG4gICAgLTUwJSArIHZhcigtLXNiYi1zdGVwLWxhYmVsLXRyYW5zbGF0ZS15LWNvbnRlbnQtaG92ZXIsICN7c2JiLnB4LXRvLXJlbS1idWlsZCgwKX0pXG4gICk7XG4gIC0tX3NiYi1zdGVwLWxhYmVsLXByZWZpeC1pbnNldC1ibG9jay1zdGFydDogY2FsYyhcbiAgICAxZW0gKiAodmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCkgLyAyKSArICh2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSAvIDIpIC1cbiAgICAgICh2YXIoLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtc2l6ZSkgLyAyKVxuICApO1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLXdpZHRoOiAwO1xuICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xuICBnYXA6IHZhcigtLXNiYi1zdGVwLWxhYmVsLWdhcCk7XG4gIGN1cnNvcjogdmFyKC0tc2JiLXN0ZXAtbGFiZWwtY3Vyc29yKTtcbiAgY29sb3I6IHZhcigtLXNiYi1zdGVwLWxhYmVsLWNvbG9yKTtcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItc3RlcC1sYWJlbC1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBzYmIuYWJzb2x1dGUtY2VudGVyLXgteTtcblxuICAgIGZvbnQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLXh4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXNiYi1zdGVwLWxhYmVsLWZvbnQtd2VpZ2h0LXNlbGVjdGVkLCBub3JtYWwpO1xuICAgIGluc2V0LWJsb2NrLXN0YXJ0OiB2YXIoLS1fc2JiLXN0ZXAtbGFiZWwtaW5zZXQtYmxvY2stc3RhcnQpO1xuICAgIGluc2V0LWlubGluZS1zdGFydDogdmFyKC0tX3NiYi1zdGVwLWxhYmVsLWluc2V0LWlubGluZS1zdGFydCk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgei1pbmRleDogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCB2YXIoLS1fc2JiLXN0ZXAtbGFiZWwtdHJhbnNmb3JtLXkpKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tc2JiLXN0ZXAtbGFiZWwtYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gIH1cbn1cblxuOmhvc3QoOnN0YXRlKHNlbGVjdGVkKSkge1xuICAtLXNiYi1zdGVwLWxhYmVsLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMyk7XG4gIC0tc2JiLXN0ZXAtbGFiZWwtZm9udC13ZWlnaHQtc2VsZWN0ZWQ6IGJvbGQ7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tc2JiLXN0ZXAtbGFiZWwtY29sb3I6IEhpZ2hsaWdodCAhaW1wb3J0YW50O1xuICB9XG59XG5cbjpob3N0KDpzdGF0ZShzaXplLXMpKSB7XG4gIC0tc2JiLXN0ZXAtbGFiZWwtZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0zeCk7XG4gIC0tc2JiLXN0ZXAtbGFiZWwtcHJlZml4LXNpemU6IHZhcigtLXNiYi1zaXplLWVsZW1lbnQteHh4cyk7XG4gIC0tc2JiLXN0ZXAtbGFiZWwtZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUtbSk7XG4gIC0tX3NiYi1zdGVwLWxhYmVsLWluc2V0LWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItc3RlcC1sYWJlbC1pbnNldC1ibG9jay1zdGFydC1zaXplLXMpO1xufVxuXG46aG9zdCg6ZGlzYWJsZWQpIHtcbiAgLS1zYmItc3RlcC1sYWJlbC1jb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItZ3Jhbml0ZSksIHZhcigtLXNiYi1jb2xvci1ncmFwaGl0ZSkpO1xuICAtLXNiYi1zdGVwLWxhYmVsLXByZWZpeC1ib3JkZXItc3R5bGU6IGRhc2hlZDtcblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgLS1zYmItc3RlcC1sYWJlbC1jb2xvcjogR3JheVRleHQgIWltcG9ydGFudDtcbiAgfVxufVxuXG46aG9zdCg6aG92ZXI6bm90KDpkaXNhYmxlZCkpIHtcbiAgQGluY2x1ZGUgc2JiLmhvdmVyLW1xKCRob3ZlcjogdHJ1ZSkge1xuICAgIC0tc2JiLXN0ZXAtbGFiZWwtY3Vyc29yOiB2YXIoLS1zYmItY3Vyc29yLXBvaW50ZXIpO1xuICAgIC0tc2JiLXN0ZXAtbGFiZWwtcHJlZml4LWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMpO1xuICAgIC0tc2JiLXN0ZXAtbGFiZWwtdHJhbnNsYXRlLXktY29udGVudC1ob3ZlcjogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKC0xKX07XG4gICAgLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtc2l6ZS1ncm93LWhvdmVyOiBjYWxjKHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMngpICogLTEpO1xuICB9XG59XG5cbjpob3N0KDpmb2N1cy12aXNpYmxlKSB7XG4gIEBpbmNsdWRlIHNiYi5mb2N1cy1vdXRsaW5lO1xuXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1ib3JkZXItcmFkaXVzLTF4KTtcbn1cblxuOmhvc3QoOnN0YXRlKG9yaWVudGF0aW9uLXZlcnRpY2FsKSkge1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gdmFyKC0tc2JiLXN0ZXBwZXItYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG59XG5cbjpob3N0KDpzdGF0ZShvcmllbnRhdGlvbi12ZXJ0aWNhbCk6bm90KDpmaXJzdC1vZi10eXBlKSkge1xuICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTZ4KTtcbn1cblxuOmhvc3QoOnN0YXRlKHNlbGVjdGVkKTpzdGF0ZShvcmllbnRhdGlvbi12ZXJ0aWNhbCkpIHtcbiAgbWFyZ2luLWJsb2NrLWVuZDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtOHgpO1xufVxuXG4uc2JiLXN0ZXAtbGFiZWxfX3ByZWZpeCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogdmFyKC0tc2JiLXN0ZXAtbGFiZWwtcHJlZml4LXNpemUpO1xuICBoZWlnaHQ6IHZhcigtLXNiYi1zdGVwLWxhYmVsLXByZWZpeC1zaXplKTtcbiAgaW5zZXQtYmxvY2stc3RhcnQ6IHZhcigtLV9zYmItc3RlcC1sYWJlbC1wcmVmaXgtaW5zZXQtYmxvY2stc3RhcnQpO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiBjYWxjKHZhcigtLXNiYi1zdGVwLWxhYmVsLXByZWZpeC1zaXplLWdyb3ctaG92ZXIsICN7c2JiLnB4LXRvLXJlbS1idWlsZCgwKX0pKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItYm9yZGVyLXJhZGl1cy1pbmZpbml0eSk7XG4gICAgYm9yZGVyOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSB2YXIoLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtYm9yZGVyLXN0eWxlKVxuICAgICAgdmFyKC0tc2JiLXN0ZXAtbGFiZWwtcHJlZml4LWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXN0ZXAtbGFiZWwtcHJlZml4LWJhY2tncm91bmQtY29sb3IpO1xuICAgIHRyYW5zaXRpb246IHtcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItc3RlcC1sYWJlbC1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgICBwcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgaW5zZXQ7XG4gICAgfVxuICB9XG59XG5cbi5zYmItc3RlcC1sYWJlbF9fdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gIDpob3N0KDpzdGF0ZShvcmllbnRhdGlvbi1ob3Jpem9udGFsKSkgJiB7XG4gICAgQGluY2x1ZGUgc2JiLmVsbGlwc2lzO1xuICB9XG59XG5cbjo6c2xvdHRlZChzYmItaWNvbiksXG5zYmItaWNvbiB7XG4gIHotaW5kZXg6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1zdGVwLWxhYmVsLXByZWZpeC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWJvcmRlci1yYWRpdXMtaW5maW5pdHkpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkodmFyKC0tc2JiLXN0ZXAtbGFiZWwtdHJhbnNsYXRlLXktY29udGVudC1ob3ZlciwgI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDApfSkpO1xuICB0cmFuc2l0aW9uOiB7XG4gICAgZHVyYXRpb246IHZhcigtLXNiYi1zdGVwLWxhYmVsLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIHRyYW5zZm9ybTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgaHRtbCwgdHlwZSBUZW1wbGF0ZVJlc3VsdCwgdW5zYWZlQ1NTIH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHtcbiAgYXBwZW5kQXJpYUVsZW1lbnRzLFxuICBib3hTaXppbmdTdHlsZXMsXG4gIHJlbW92ZUFyaWFFbGVtZW50cyxcbiAgU2JiQnV0dG9uQmFzZUVsZW1lbnQsXG4gIFNiYkRpc2FibGVkTWl4aW4sXG4gIFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIsXG59IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHsgU2JiSWNvbk5hbWVNaXhpbiB9IGZyb20gJy4uLy4uL2ljb24ucHVyZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlN0ZXBFbGVtZW50IH0gZnJvbSAnLi4vc3RlcC9zdGVwLmNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlN0ZXBwZXJFbGVtZW50IH0gZnJvbSAnLi4vc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3N0ZXAtbGFiZWwuc2Nzcz9pbmxpbmUnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGEgYHNiYi1zdGVwcGVyYCwgaXQgZGlzcGxheXMgYSBzdGVwJ3MgbGFiZWwuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBwcm92aWRlIGEgbGFiZWwuXG4gKiBAc2xvdCBpY29uIC0gVXNlIHRoaXMgdG8gZGlzcGxheSBhbiBpY29uIGluIHRoZSBsYWJlbCBidWJibGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJTdGVwTGFiZWxFbGVtZW50IGV4dGVuZHMgU2JiSWNvbk5hbWVNaXhpbihTYmJEaXNhYmxlZE1peGluKFNiYkJ1dHRvbkJhc2VFbGVtZW50KSkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXN0ZXAtbGFiZWwnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAndGFiJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLyoqIFRoZSBzdGVwIGNvbnRyb2xsZWQgYnkgdGhlIGxhYmVsLiAqL1xuICBwdWJsaWMgZ2V0IHN0ZXAoKTogU2JiU3RlcEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fc3RlcDtcbiAgfVxuICBwcml2YXRlIF9zdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBnZXQgc3RlcHBlcigpOiBTYmJTdGVwcGVyRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmNsb3Nlc3QoJ3NiYi1zdGVwcGVyJyk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgc3VwZXIuZGlzYWJsZWQgPSB2YWx1ZTtcblxuICAgIC8vIFdlIGFkZGl0aW9uYWxseSBrZWVwIHRyYWNrIG9mIHRoZSBgZGlzYWJsZWRgIHN0YXRlIHRvIHByZXNlcnZlIHRoZSB1c2VyIGNvbmZpZ3VyZWQgZGlzYWJsZWQgc3RhdGVcbiAgICAvLyBvZiBzdGVwIGxhYmVscyBpbiBjYXNlIG9mIHN3aXRjaGluZyBiZXR3ZWVuIGxpbmVhciBhbmQgbm9uLWxpbmVhciBtb2RlLlxuICAgIHRoaXMudG9nZ2xlU3RhdGUoJ3VzZXItZGlzYWJsZWQnLCB2YWx1ZSk7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3VwZXIuZGlzYWJsZWQ7XG4gIH1cblxuICBwcml2YXRlIF9wcmV2aW91c09yaWVudGF0aW9uPzogc3RyaW5nO1xuICBwcml2YXRlIF9wcmV2aW91c1NpemU/OiBzdHJpbmc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2xpY2snLCAoKSA9PiB7XG4gICAgICBjb25zdCBzdGVwcGVyID0gdGhpcy5zdGVwcGVyO1xuICAgICAgaWYgKHN0ZXBwZXIgJiYgdGhpcy5zdGVwICYmIHRoaXMuX2lzTm90RGVhY3RpdmF0ZWRCeUxpbmVhck1vZGUodGhpcy5zdGVwKSkge1xuICAgICAgICBzdGVwcGVyLnNlbGVjdGVkID0gdGhpcy5zdGVwO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyKHRoaXMsICgpID0+IHRoaXMuc3RlcHBlciwge1xuICAgICAgICBvcmllbnRhdGlvbjogKHMpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fcHJldmlvdXNPcmllbnRhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgb3JpZW50YXRpb24tJHt0aGlzLl9wcmV2aW91c09yaWVudGF0aW9ufWApO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9wcmV2aW91c09yaWVudGF0aW9uID0gcy5vcmllbnRhdGlvbjtcbiAgICAgICAgICBpZiAodGhpcy5fcHJldmlvdXNPcmllbnRhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChgb3JpZW50YXRpb24tJHt0aGlzLl9wcmV2aW91c09yaWVudGF0aW9ufWApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgc2l6ZTogKHMpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fcHJldmlvdXNTaXplKSB7XG4gICAgICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKGBzaXplLSR7dGhpcy5fcHJldmlvdXNTaXplfWApO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9wcmV2aW91c1NpemUgPSBzLnNpemU7XG4gICAgICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzU2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChgc2l6ZS0ke3RoaXMuX3ByZXZpb3VzU2l6ZX1gKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNOb3REZWFjdGl2YXRlZEJ5TGluZWFyTW9kZShzdGVwOiBTYmJTdGVwRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHN0ZXBwZXIgPSB0aGlzLnN0ZXBwZXI7XG4gICAgaWYgKHN0ZXBwZXI/LmxpbmVhciAmJiBzdGVwcGVyLnNlbGVjdGVkSW5kZXggIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gc3RlcHBlci5zdGVwcy5pbmRleE9mKHN0ZXApO1xuICAgICAgcmV0dXJuIGluZGV4IDwgc3RlcHBlci5zZWxlY3RlZEluZGV4IHx8IGluZGV4ID09PSBzdGVwcGVyLnNlbGVjdGVkSW5kZXggKyAxO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuaWQgfHw9IGBzYmItc3RlcC1sYWJlbC0ke25leHRJZCsrfWA7XG4gICAgdGhpcy5zbG90IHx8PSAnc3RlcC1sYWJlbCc7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYVNlbGVjdGVkID0gJ2ZhbHNlJztcbiAgICB0aGlzLnRhYkluZGV4ID0gLTE7XG4gICAgdGhpcy5fYXNzaWduU3RlcCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgYW5kIGNvbmZpZ3VyZXMgdGhlIHN0ZXAgbGFiZWwuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRhYkluZGV4ID0gMDtcbiAgICB0aGlzLmludGVybmFscy5hcmlhU2VsZWN0ZWQgPSAndHJ1ZSc7XG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgnc2VsZWN0ZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNlbGVjdHMgYW5kIGNvbmZpZ3VyZXMgdGhlIHN0ZXAgbGFiZWwuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGRlc2VsZWN0KCk6IHZvaWQge1xuICAgIHRoaXMudGFiSW5kZXggPSAtMTtcbiAgICB0aGlzLmludGVybmFscy5hcmlhU2VsZWN0ZWQgPSAnZmFsc2UnO1xuICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ3NlbGVjdGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogQ29uZmlndXJlcyB0aGUgc3RlcCBsYWJlbC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgY29uZmlndXJlKHBvc0luU2V0OiBudW1iZXIsIHNldFNpemU6IG51bWJlciwgc3RlcHBlckxvYWRlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChzdGVwcGVyTG9hZGVkKSB7XG4gICAgICB0aGlzLl9hc3NpZ25TdGVwKCk7XG4gICAgfVxuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFQb3NJblNldCA9IGAke3Bvc0luU2V0fWA7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYVNldFNpemUgPSBgJHtzZXRTaXplfWA7XG4gIH1cblxuICBwcml2YXRlIF9hc3NpZ25TdGVwKCk6IHZvaWQge1xuICAgIGxldCBuZXh0U2libGluZyA9IHRoaXMubmV4dEVsZW1lbnRTaWJsaW5nO1xuICAgIHdoaWxlIChuZXh0U2libGluZyAmJiBuZXh0U2libGluZy5sb2NhbE5hbWUgIT09ICdzYmItc3RlcCcpIHtcbiAgICAgIG5leHRTaWJsaW5nID0gbmV4dFNpYmxpbmcubmV4dEVsZW1lbnRTaWJsaW5nO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gbmV4dFNpYmxpbmcgYXMgU2JiU3RlcEVsZW1lbnQgfCBudWxsO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFDb250cm9sc0VsZW1lbnRzID0gcmVtb3ZlQXJpYUVsZW1lbnRzKFxuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUNvbnRyb2xzRWxlbWVudHMsXG4gICAgICB0aGlzLl9zdGVwLFxuICAgICk7XG4gICAgdGhpcy5fc3RlcCA9IHZhbHVlIGluc3RhbmNlb2YgRWxlbWVudCA/IHZhbHVlIDogbnVsbDtcbiAgICB0aGlzLmludGVybmFscy5hcmlhQ29udHJvbHNFbGVtZW50cyA9IGFwcGVuZEFyaWFFbGVtZW50cyhcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFDb250cm9sc0VsZW1lbnRzLFxuICAgICAgdGhpcy5fc3RlcCxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBEaXNhYmxlcyB0aGUgc3RlcCBsYWJlbCBhbmQgYXZvaWRzIHNldHRpbmcgdGhlIGBkaXNhYmxlZGAgc3RhdGUgdG8gcHJlc2VydmUgdGhlIGluaXRpYWxcbiAgICogZGlzYWJsZWQgc3RhdGUgaW4gY2FzZSBvZiBzd2l0Y2hpbmcgYmV0d2VlbiBsaW5lYXIgYW5kIG5vbi1saW5lYXIgbW9kZS5cbiAgICovXG4gIHB1YmxpYyBkaXNhYmxlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzYWJsZWQgPSB2YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItc3RlcC1sYWJlbF9fcHJlZml4XCI+JHt0aGlzLnJlbmRlckljb25TbG90KCl9PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItc3RlcC1sYWJlbF9fdGV4dFwiPjxzbG90Pjwvc2xvdD48L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXN0ZXAtbGFiZWwnOiBTYmJTdGVwTGFiZWxFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUNnQkEsSUFBSSxTQUFTOzs7Ozs7O0FBUWIsSUFBYSxzQkFBYixjQUF5QyxpQkFBaUIsaUJBQWlCLHFCQUFxQixDQUFDLENBQUE7O0FBQy9ELE9BQUEsY0FBc0I7OztBQUN0QixPQUFBLE9BQU87OztBQUNoQixPQUFBLFNBQXlCLENBQUMsaUJBQWlCLFVBQVUsbUJBQU0sQ0FBQzs7O0NBR25GLElBQVcsT0FBSTtBQUNiLFNBQU8sS0FBSzs7Q0FJZCxJQUFXLFVBQU87QUFDaEIsU0FBTyxLQUFLLFFBQVEsY0FBYzs7Q0FHcEMsSUFBb0IsU0FBUyxPQUFjO0FBQ3pDLFFBQU0sV0FBVztBQUlqQixPQUFLLFlBQVksaUJBQWlCLE1BQU07O0NBRTFDLElBQW9CLFdBQVE7QUFDMUIsU0FBTyxNQUFNOztDQU1mLGNBQUE7QUFDRSxTQUFPO0FBckJELE9BQUEsUUFBK0I7QUF1QnJDLE9BQUssbUJBQW1CLGVBQWM7R0FDcEMsTUFBTSxVQUFVLEtBQUs7QUFDckIsT0FBSSxXQUFXLEtBQUssUUFBUSxLQUFLLDhCQUE4QixLQUFLLEtBQUssQ0FDdkUsU0FBUSxXQUFXLEtBQUs7SUFFMUI7QUFDRixPQUFLLGNBQ0gsSUFBSSw2QkFBNkIsWUFBWSxLQUFLLFNBQVM7R0FDekQsY0FBYyxNQUFLO0FBQ2pCLFFBQUksS0FBSyxxQkFDUCxNQUFLLFVBQVUsT0FBTyxPQUFPLGVBQWUsS0FBSyx1QkFBdUI7QUFFMUUsU0FBSyx1QkFBdUIsRUFBRTtBQUM5QixRQUFJLEtBQUsscUJBQ1AsTUFBSyxVQUFVLE9BQU8sSUFBSSxlQUFlLEtBQUssdUJBQXVCOztHQUd6RSxPQUFPLE1BQUs7QUFDVixRQUFJLEtBQUssY0FDUCxNQUFLLFVBQVUsT0FBTyxPQUFPLFFBQVEsS0FBSyxnQkFBZ0I7QUFFNUQsU0FBSyxnQkFBZ0IsRUFBRTtBQUN2QixRQUFJLEtBQUssY0FDUCxNQUFLLFVBQVUsT0FBTyxJQUFJLFFBQVEsS0FBSyxnQkFBZ0I7O0dBRzVELENBQUMsQ0FDSDs7Q0FHSyw4QkFBOEIsTUFBb0I7RUFDeEQsTUFBTSxVQUFVLEtBQUs7QUFDckIsTUFBSSxTQUFTLFVBQVUsUUFBUSxrQkFBa0IsTUFBTTtHQUNyRCxNQUFNLFFBQVEsUUFBUSxNQUFNLFFBQVEsS0FBSztBQUN6QyxVQUFPLFFBQVEsUUFBUSxpQkFBaUIsVUFBVSxRQUFRLGdCQUFnQjs7QUFFNUUsU0FBTzs7Q0FHTyxvQkFBaUI7QUFDL0IsUUFBTSxtQkFBbUI7QUFDekIsT0FBSyxPQUFPLGtCQUFrQjtBQUM5QixPQUFLLFNBQVM7QUFDZCxPQUFLLFVBQVUsZUFBZTtBQUM5QixPQUFLLFdBQVc7QUFDaEIsT0FBSyxhQUFhOzs7Ozs7Q0FPYixTQUFNO0FBQ1gsT0FBSyxXQUFXO0FBQ2hCLE9BQUssVUFBVSxlQUFlO0FBQzlCLE9BQUssVUFBVSxPQUFPLElBQUksV0FBVzs7Ozs7O0NBT2hDLFdBQVE7QUFDYixPQUFLLFdBQVc7QUFDaEIsT0FBSyxVQUFVLGVBQWU7QUFDOUIsT0FBSyxVQUFVLE9BQU8sT0FBTyxXQUFXOzs7Ozs7Q0FPbkMsVUFBVSxVQUFrQixTQUFpQixlQUFzQjtBQUN4RSxNQUFJLGNBQ0YsTUFBSyxhQUFhO0FBRXBCLE9BQUssVUFBVSxlQUFlLEdBQUc7QUFDakMsT0FBSyxVQUFVLGNBQWMsR0FBRzs7Q0FHMUIsY0FBVztFQUNqQixJQUFJLGNBQWMsS0FBSztBQUN2QixTQUFPLGVBQWUsWUFBWSxjQUFjLFdBQzlDLGVBQWMsWUFBWTtFQUc1QixNQUFNLFFBQVE7QUFDZCxPQUFLLFVBQVUsdUJBQXVCLG1CQUNwQyxLQUFLLFVBQVUsc0JBQ2YsS0FBSyxNQUNOO0FBQ0QsT0FBSyxRQUFRLGlCQUFpQixVQUFVLFFBQVE7QUFDaEQsT0FBSyxVQUFVLHVCQUF1QixtQkFDcEMsS0FBSyxVQUFVLHNCQUNmLEtBQUssTUFDTjs7Ozs7OztDQVFJLFFBQVEsT0FBYztBQUMzQixRQUFNLFdBQVc7O0NBR0EsU0FBTTtBQUN2QixTQUFPLElBQUk7NkNBQzhCLEtBQUssZ0JBQWdCLENBQUEifQ==
126
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1sYWJlbC5jb21wb25lbnQtQjdNOVlxeXouanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcC1sYWJlbC9zdGVwLWxhYmVsLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcC1sYWJlbC9zdGVwLWxhYmVsLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLXN0ZXAtbGFiZWwtYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi0yeClcbiAgKTtcbiAgLS1fc2JiLXN0ZXAtbGFiZWwtaW5zZXQtYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zdGVwLWxhYmVsLWluc2V0LWJsb2NrLXN0YXJ0LXNpemUtbSk7XG4gIC0tX3NiYi1zdGVwLWxhYmVsLWluc2V0LWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtc2l6ZSkgLyAyKTtcbiAgLS1fc2JiLXN0ZXAtbGFiZWwtdHJhbnNmb3JtLXk6IGNhbGMoXG4gICAgLTUwJSArIHZhcigtLXNiYi1zdGVwLWxhYmVsLXRyYW5zbGF0ZS15LWNvbnRlbnQtaG92ZXIsICN7c2JiLnB4LXRvLXJlbS1idWlsZCgwKX0pXG4gICk7XG4gIC0tX3NiYi1zdGVwLWxhYmVsLXByZWZpeC1pbnNldC1ibG9jay1zdGFydDogY2FsYyhcbiAgICAxZW0gKiAodmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCkgLyAyKSArICh2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSAvIDIpIC1cbiAgICAgICh2YXIoLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtc2l6ZSkgLyAyKVxuICApO1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLXdpZHRoOiAwO1xuICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xuICBnYXA6IHZhcigtLXNiYi1zdGVwLWxhYmVsLWdhcCk7XG4gIGN1cnNvcjogdmFyKC0tc2JiLXN0ZXAtbGFiZWwtY3Vyc29yKTtcbiAgY29sb3I6IHZhcigtLXNiYi1zdGVwLWxhYmVsLWNvbG9yKTtcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItc3RlcC1sYWJlbC1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBzYmIuYWJzb2x1dGUtY2VudGVyLXgteTtcblxuICAgIGZvbnQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLXh4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXNiYi1zdGVwLWxhYmVsLWZvbnQtd2VpZ2h0LXNlbGVjdGVkLCBub3JtYWwpO1xuICAgIGluc2V0LWJsb2NrLXN0YXJ0OiB2YXIoLS1fc2JiLXN0ZXAtbGFiZWwtaW5zZXQtYmxvY2stc3RhcnQpO1xuICAgIGluc2V0LWlubGluZS1zdGFydDogdmFyKC0tX3NiYi1zdGVwLWxhYmVsLWluc2V0LWlubGluZS1zdGFydCk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgei1pbmRleDogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCB2YXIoLS1fc2JiLXN0ZXAtbGFiZWwtdHJhbnNmb3JtLXkpKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tc2JiLXN0ZXAtbGFiZWwtYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gIH1cbn1cblxuOmhvc3QoOnN0YXRlKHNlbGVjdGVkKSkge1xuICAtLXNiYi1zdGVwLWxhYmVsLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMyk7XG4gIC0tc2JiLXN0ZXAtbGFiZWwtZm9udC13ZWlnaHQtc2VsZWN0ZWQ6IGJvbGQ7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tc2JiLXN0ZXAtbGFiZWwtY29sb3I6IEhpZ2hsaWdodCAhaW1wb3J0YW50O1xuICB9XG59XG5cbjpob3N0KDpzdGF0ZShzaXplLXMpKSB7XG4gIC0tc2JiLXN0ZXAtbGFiZWwtZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0zeCk7XG4gIC0tc2JiLXN0ZXAtbGFiZWwtcHJlZml4LXNpemU6IHZhcigtLXNiYi1zaXplLWVsZW1lbnQteHh4cyk7XG4gIC0tc2JiLXN0ZXAtbGFiZWwtZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUtbSk7XG4gIC0tX3NiYi1zdGVwLWxhYmVsLWluc2V0LWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItc3RlcC1sYWJlbC1pbnNldC1ibG9jay1zdGFydC1zaXplLXMpO1xufVxuXG46aG9zdCg6ZGlzYWJsZWQpIHtcbiAgLS1zYmItc3RlcC1sYWJlbC1jb2xvcjogbGlnaHQtZGFyayh2YXIoLS1zYmItY29sb3ItZ3Jhbml0ZSksIHZhcigtLXNiYi1jb2xvci1ncmFwaGl0ZSkpO1xuICAtLXNiYi1zdGVwLWxhYmVsLXByZWZpeC1ib3JkZXItc3R5bGU6IGRhc2hlZDtcblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgLS1zYmItc3RlcC1sYWJlbC1jb2xvcjogR3JheVRleHQgIWltcG9ydGFudDtcbiAgfVxufVxuXG46aG9zdCg6aG92ZXI6bm90KDpkaXNhYmxlZCkpIHtcbiAgQGluY2x1ZGUgc2JiLmhvdmVyLW1xKCRob3ZlcjogdHJ1ZSkge1xuICAgIC0tc2JiLXN0ZXAtbGFiZWwtY3Vyc29yOiB2YXIoLS1zYmItY3Vyc29yLXBvaW50ZXIpO1xuICAgIC0tc2JiLXN0ZXAtbGFiZWwtcHJlZml4LWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMpO1xuICAgIC0tc2JiLXN0ZXAtbGFiZWwtdHJhbnNsYXRlLXktY29udGVudC1ob3ZlcjogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKC0xKX07XG4gICAgLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtc2l6ZS1ncm93LWhvdmVyOiBjYWxjKHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMngpICogLTEpO1xuICB9XG59XG5cbjpob3N0KDpmb2N1cy12aXNpYmxlKSB7XG4gIEBpbmNsdWRlIHNiYi5mb2N1cy1vdXRsaW5lO1xuXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1ib3JkZXItcmFkaXVzLTF4KTtcbn1cblxuOmhvc3QoOnN0YXRlKG9yaWVudGF0aW9uLXZlcnRpY2FsKSkge1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gdmFyKC0tc2JiLXN0ZXBwZXItYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG59XG5cbjpob3N0KDpzdGF0ZShvcmllbnRhdGlvbi12ZXJ0aWNhbCk6bm90KDpmaXJzdC1vZi10eXBlKSkge1xuICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTZ4KTtcbn1cblxuOmhvc3QoOnN0YXRlKHNlbGVjdGVkKTpzdGF0ZShvcmllbnRhdGlvbi12ZXJ0aWNhbCkpIHtcbiAgbWFyZ2luLWJsb2NrLWVuZDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtOHgpO1xufVxuXG4uc2JiLXN0ZXAtbGFiZWxfX3ByZWZpeCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogdmFyKC0tc2JiLXN0ZXAtbGFiZWwtcHJlZml4LXNpemUpO1xuICBoZWlnaHQ6IHZhcigtLXNiYi1zdGVwLWxhYmVsLXByZWZpeC1zaXplKTtcbiAgaW5zZXQtYmxvY2stc3RhcnQ6IHZhcigtLV9zYmItc3RlcC1sYWJlbC1wcmVmaXgtaW5zZXQtYmxvY2stc3RhcnQpO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiBjYWxjKHZhcigtLXNiYi1zdGVwLWxhYmVsLXByZWZpeC1zaXplLWdyb3ctaG92ZXIsICN7c2JiLnB4LXRvLXJlbS1idWlsZCgwKX0pKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItYm9yZGVyLXJhZGl1cy1pbmZpbml0eSk7XG4gICAgYm9yZGVyOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KSB2YXIoLS1zYmItc3RlcC1sYWJlbC1wcmVmaXgtYm9yZGVyLXN0eWxlKVxuICAgICAgdmFyKC0tc2JiLXN0ZXAtbGFiZWwtcHJlZml4LWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXN0ZXAtbGFiZWwtcHJlZml4LWJhY2tncm91bmQtY29sb3IpO1xuICAgIHRyYW5zaXRpb246IHtcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItc3RlcC1sYWJlbC1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgICBwcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgaW5zZXQ7XG4gICAgfVxuICB9XG59XG5cbi5zYmItc3RlcC1sYWJlbF9fdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gIDpob3N0KDpzdGF0ZShvcmllbnRhdGlvbi1ob3Jpem9udGFsKSkgJiB7XG4gICAgQGluY2x1ZGUgc2JiLmVsbGlwc2lzO1xuICB9XG59XG5cbjo6c2xvdHRlZChzYmItaWNvbiksXG5zYmItaWNvbiB7XG4gIHotaW5kZXg6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1zdGVwLWxhYmVsLXByZWZpeC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWJvcmRlci1yYWRpdXMtaW5maW5pdHkpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkodmFyKC0tc2JiLXN0ZXAtbGFiZWwtdHJhbnNsYXRlLXktY29udGVudC1ob3ZlciwgI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDApfSkpO1xuICB0cmFuc2l0aW9uOiB7XG4gICAgZHVyYXRpb246IHZhcigtLXNiYi1zdGVwLWxhYmVsLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIHRyYW5zZm9ybTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgdHlwZSBDU1NSZXN1bHRHcm91cCwgaHRtbCwgdHlwZSBUZW1wbGF0ZVJlc3VsdCwgdW5zYWZlQ1NTIH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHtcbiAgYXBwZW5kQXJpYUVsZW1lbnRzLFxuICBib3hTaXppbmdTdHlsZXMsXG4gIHJlbW92ZUFyaWFFbGVtZW50cyxcbiAgU2JiQnV0dG9uQmFzZUVsZW1lbnQsXG4gIFNiYkRpc2FibGVkTWl4aW4sXG4gIFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIsXG59IGZyb20gJy4uLy4uL2NvcmUudHMnO1xuaW1wb3J0IHsgU2JiSWNvbk5hbWVNaXhpbiB9IGZyb20gJy4uLy4uL2ljb24ucHVyZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlN0ZXBFbGVtZW50IH0gZnJvbSAnLi4vc3RlcC9zdGVwLmNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlN0ZXBwZXJFbGVtZW50IH0gZnJvbSAnLi4vc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3N0ZXAtbGFiZWwuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIENvbWJpbmVkIHdpdGggYSBgc2JiLXN0ZXBwZXJgLCBpdCBkaXNwbGF5cyBhIHN0ZXAncyBsYWJlbC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIHByb3ZpZGUgYSBsYWJlbC5cbiAqIEBzbG90IGljb24gLSBVc2UgdGhpcyB0byBkaXNwbGF5IGFuIGljb24gaW4gdGhlIGxhYmVsIGJ1YmJsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlN0ZXBMYWJlbEVsZW1lbnQgZXh0ZW5kcyBTYmJJY29uTmFtZU1peGluKFNiYkRpc2FibGVkTWl4aW4oU2JiQnV0dG9uQmFzZUVsZW1lbnQpKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItc3RlcC1sYWJlbCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICd0YWInO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKiogVGhlIHN0ZXAgY29udHJvbGxlZCBieSB0aGUgbGFiZWwuICovXG4gIHB1YmxpYyBnZXQgc3RlcCgpOiBTYmJTdGVwRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9zdGVwO1xuICB9XG4gIHByaXZhdGUgX3N0ZXA6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGdldCBzdGVwcGVyKCk6IFNiYlN0ZXBwZXJFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY2xvc2VzdCgnc2JiLXN0ZXBwZXInKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBzdXBlci5kaXNhYmxlZCA9IHZhbHVlO1xuXG4gICAgLy8gV2UgYWRkaXRpb25hbGx5IGtlZXAgdHJhY2sgb2YgdGhlIGBkaXNhYmxlZGAgc3RhdGUgdG8gcHJlc2VydmUgdGhlIHVzZXIgY29uZmlndXJlZCBkaXNhYmxlZCBzdGF0ZVxuICAgIC8vIG9mIHN0ZXAgbGFiZWxzIGluIGNhc2Ugb2Ygc3dpdGNoaW5nIGJldHdlZW4gbGluZWFyIGFuZCBub24tbGluZWFyIG1vZGUuXG4gICAgdGhpcy50b2dnbGVTdGF0ZSgndXNlci1kaXNhYmxlZCcsIHZhbHVlKTtcbiAgfVxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdXBlci5kaXNhYmxlZDtcbiAgfVxuXG4gIHByaXZhdGUgX3ByZXZpb3VzT3JpZW50YXRpb24/OiBzdHJpbmc7XG4gIHByaXZhdGUgX3ByZXZpb3VzU2l6ZT86IHN0cmluZztcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsICgpID0+IHtcbiAgICAgIGNvbnN0IHN0ZXBwZXIgPSB0aGlzLnN0ZXBwZXI7XG4gICAgICBpZiAoc3RlcHBlciAmJiB0aGlzLnN0ZXAgJiYgdGhpcy5faXNOb3REZWFjdGl2YXRlZEJ5TGluZWFyTW9kZSh0aGlzLnN0ZXApKSB7XG4gICAgICAgIHN0ZXBwZXIuc2VsZWN0ZWQgPSB0aGlzLnN0ZXA7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5hZGRDb250cm9sbGVyKFxuICAgICAgbmV3IFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIodGhpcywgKCkgPT4gdGhpcy5zdGVwcGVyLCB7XG4gICAgICAgIG9yaWVudGF0aW9uOiAocykgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLl9wcmV2aW91c09yaWVudGF0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKGBvcmllbnRhdGlvbi0ke3RoaXMuX3ByZXZpb3VzT3JpZW50YXRpb259YCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuX3ByZXZpb3VzT3JpZW50YXRpb24gPSBzLm9yaWVudGF0aW9uO1xuICAgICAgICAgIGlmICh0aGlzLl9wcmV2aW91c09yaWVudGF0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKGBvcmllbnRhdGlvbi0ke3RoaXMuX3ByZXZpb3VzT3JpZW50YXRpb259YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBzaXplOiAocykgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLl9wcmV2aW91c1NpemUpIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoYHNpemUtJHt0aGlzLl9wcmV2aW91c1NpemV9YCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuX3ByZXZpb3VzU2l6ZSA9IHMuc2l6ZTtcbiAgICAgICAgICBpZiAodGhpcy5fcHJldmlvdXNTaXplKSB7XG4gICAgICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKGBzaXplLSR7dGhpcy5fcHJldmlvdXNTaXplfWApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9pc05vdERlYWN0aXZhdGVkQnlMaW5lYXJNb2RlKHN0ZXA6IFNiYlN0ZXBFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc3RlcHBlciA9IHRoaXMuc3RlcHBlcjtcbiAgICBpZiAoc3RlcHBlcj8ubGluZWFyICYmIHN0ZXBwZXIuc2VsZWN0ZWRJbmRleCAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgaW5kZXggPSBzdGVwcGVyLnN0ZXBzLmluZGV4T2Yoc3RlcCk7XG4gICAgICByZXR1cm4gaW5kZXggPCBzdGVwcGVyLnNlbGVjdGVkSW5kZXggfHwgaW5kZXggPT09IHN0ZXBwZXIuc2VsZWN0ZWRJbmRleCArIDE7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5zbG90IHx8PSAnc3RlcC1sYWJlbCc7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYVNlbGVjdGVkID0gJ2ZhbHNlJztcbiAgICB0aGlzLnRhYkluZGV4ID0gLTE7XG4gICAgdGhpcy5fYXNzaWduU3RlcCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgYW5kIGNvbmZpZ3VyZXMgdGhlIHN0ZXAgbGFiZWwuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRhYkluZGV4ID0gMDtcbiAgICB0aGlzLmludGVybmFscy5hcmlhU2VsZWN0ZWQgPSAndHJ1ZSc7XG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgnc2VsZWN0ZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNlbGVjdHMgYW5kIGNvbmZpZ3VyZXMgdGhlIHN0ZXAgbGFiZWwuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGRlc2VsZWN0KCk6IHZvaWQge1xuICAgIHRoaXMudGFiSW5kZXggPSAtMTtcbiAgICB0aGlzLmludGVybmFscy5hcmlhU2VsZWN0ZWQgPSAnZmFsc2UnO1xuICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ3NlbGVjdGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogQ29uZmlndXJlcyB0aGUgc3RlcCBsYWJlbC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgY29uZmlndXJlKHBvc0luU2V0OiBudW1iZXIsIHNldFNpemU6IG51bWJlciwgc3RlcHBlckxvYWRlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChzdGVwcGVyTG9hZGVkKSB7XG4gICAgICB0aGlzLl9hc3NpZ25TdGVwKCk7XG4gICAgfVxuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFQb3NJblNldCA9IGAke3Bvc0luU2V0fWA7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYVNldFNpemUgPSBgJHtzZXRTaXplfWA7XG4gIH1cblxuICBwcml2YXRlIF9hc3NpZ25TdGVwKCk6IHZvaWQge1xuICAgIGxldCBuZXh0U2libGluZyA9IHRoaXMubmV4dEVsZW1lbnRTaWJsaW5nO1xuICAgIHdoaWxlIChuZXh0U2libGluZyAmJiBuZXh0U2libGluZy5sb2NhbE5hbWUgIT09ICdzYmItc3RlcCcpIHtcbiAgICAgIG5leHRTaWJsaW5nID0gbmV4dFNpYmxpbmcubmV4dEVsZW1lbnRTaWJsaW5nO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gbmV4dFNpYmxpbmcgYXMgU2JiU3RlcEVsZW1lbnQgfCBudWxsO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFDb250cm9sc0VsZW1lbnRzID0gcmVtb3ZlQXJpYUVsZW1lbnRzKFxuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUNvbnRyb2xzRWxlbWVudHMsXG4gICAgICB0aGlzLl9zdGVwLFxuICAgICk7XG4gICAgdGhpcy5fc3RlcCA9IHZhbHVlIGluc3RhbmNlb2YgRWxlbWVudCA/IHZhbHVlIDogbnVsbDtcbiAgICB0aGlzLmludGVybmFscy5hcmlhQ29udHJvbHNFbGVtZW50cyA9IGFwcGVuZEFyaWFFbGVtZW50cyhcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFDb250cm9sc0VsZW1lbnRzLFxuICAgICAgdGhpcy5fc3RlcCxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBEaXNhYmxlcyB0aGUgc3RlcCBsYWJlbCBhbmQgYXZvaWRzIHNldHRpbmcgdGhlIGBkaXNhYmxlZGAgc3RhdGUgdG8gcHJlc2VydmUgdGhlIGluaXRpYWxcbiAgICogZGlzYWJsZWQgc3RhdGUgaW4gY2FzZSBvZiBzd2l0Y2hpbmcgYmV0d2VlbiBsaW5lYXIgYW5kIG5vbi1saW5lYXIgbW9kZS5cbiAgICovXG4gIHB1YmxpYyBkaXNhYmxlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzYWJsZWQgPSB2YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItc3RlcC1sYWJlbF9fcHJlZml4XCI+JHt0aGlzLnJlbmRlckljb25TbG90KCl9PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItc3RlcC1sYWJlbF9fdGV4dFwiPjxzbG90Pjwvc2xvdD48L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXN0ZXAtbGFiZWwnOiBTYmJTdGVwTGFiZWxFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUNzQkEsSUFBYSxzQkFBYixjQUF5QyxpQkFBaUIsaUJBQWlCLHFCQUFxQixDQUFDLENBQUE7O0FBQy9ELE9BQUEsY0FBc0I7OztBQUN0QixPQUFBLE9BQU87OztBQUNoQixPQUFBLFNBQXlCLENBQUMsaUJBQWlCLFVBQVUsbUJBQU0sQ0FBQzs7O0NBR25GLElBQVcsT0FBSTtBQUNiLFNBQU8sS0FBSzs7Q0FJZCxJQUFXLFVBQU87QUFDaEIsU0FBTyxLQUFLLFFBQVEsY0FBYzs7Q0FHcEMsSUFBb0IsU0FBUyxPQUFjO0FBQ3pDLFFBQU0sV0FBVztBQUlqQixPQUFLLFlBQVksaUJBQWlCLE1BQU07O0NBRTFDLElBQW9CLFdBQVE7QUFDMUIsU0FBTyxNQUFNOztDQU1mLGNBQUE7QUFDRSxTQUFPO0FBckJELE9BQUEsUUFBK0I7QUF1QnJDLE9BQUssbUJBQW1CLGVBQWM7R0FDcEMsTUFBTSxVQUFVLEtBQUs7QUFDckIsT0FBSSxXQUFXLEtBQUssUUFBUSxLQUFLLDhCQUE4QixLQUFLLEtBQUssQ0FDdkUsU0FBUSxXQUFXLEtBQUs7SUFFMUI7QUFDRixPQUFLLGNBQ0gsSUFBSSw2QkFBNkIsWUFBWSxLQUFLLFNBQVM7R0FDekQsY0FBYyxNQUFLO0FBQ2pCLFFBQUksS0FBSyxxQkFDUCxNQUFLLFVBQVUsT0FBTyxPQUFPLGVBQWUsS0FBSyx1QkFBdUI7QUFFMUUsU0FBSyx1QkFBdUIsRUFBRTtBQUM5QixRQUFJLEtBQUsscUJBQ1AsTUFBSyxVQUFVLE9BQU8sSUFBSSxlQUFlLEtBQUssdUJBQXVCOztHQUd6RSxPQUFPLE1BQUs7QUFDVixRQUFJLEtBQUssY0FDUCxNQUFLLFVBQVUsT0FBTyxPQUFPLFFBQVEsS0FBSyxnQkFBZ0I7QUFFNUQsU0FBSyxnQkFBZ0IsRUFBRTtBQUN2QixRQUFJLEtBQUssY0FDUCxNQUFLLFVBQVUsT0FBTyxJQUFJLFFBQVEsS0FBSyxnQkFBZ0I7O0dBRzVELENBQUMsQ0FDSDs7Q0FHSyw4QkFBOEIsTUFBb0I7RUFDeEQsTUFBTSxVQUFVLEtBQUs7QUFDckIsTUFBSSxTQUFTLFVBQVUsUUFBUSxrQkFBa0IsTUFBTTtHQUNyRCxNQUFNLFFBQVEsUUFBUSxNQUFNLFFBQVEsS0FBSztBQUN6QyxVQUFPLFFBQVEsUUFBUSxpQkFBaUIsVUFBVSxRQUFRLGdCQUFnQjs7QUFFNUUsU0FBTzs7Q0FHTyxvQkFBaUI7QUFDL0IsUUFBTSxtQkFBbUI7QUFDekIsT0FBSyxTQUFTO0FBQ2QsT0FBSyxVQUFVLGVBQWU7QUFDOUIsT0FBSyxXQUFXO0FBQ2hCLE9BQUssYUFBYTs7Ozs7O0NBT2IsU0FBTTtBQUNYLE9BQUssV0FBVztBQUNoQixPQUFLLFVBQVUsZUFBZTtBQUM5QixPQUFLLFVBQVUsT0FBTyxJQUFJLFdBQVc7Ozs7OztDQU9oQyxXQUFRO0FBQ2IsT0FBSyxXQUFXO0FBQ2hCLE9BQUssVUFBVSxlQUFlO0FBQzlCLE9BQUssVUFBVSxPQUFPLE9BQU8sV0FBVzs7Ozs7O0NBT25DLFVBQVUsVUFBa0IsU0FBaUIsZUFBc0I7QUFDeEUsTUFBSSxjQUNGLE1BQUssYUFBYTtBQUVwQixPQUFLLFVBQVUsZUFBZSxHQUFHO0FBQ2pDLE9BQUssVUFBVSxjQUFjLEdBQUc7O0NBRzFCLGNBQVc7RUFDakIsSUFBSSxjQUFjLEtBQUs7QUFDdkIsU0FBTyxlQUFlLFlBQVksY0FBYyxXQUM5QyxlQUFjLFlBQVk7RUFHNUIsTUFBTSxRQUFRO0FBQ2QsT0FBSyxVQUFVLHVCQUF1QixtQkFDcEMsS0FBSyxVQUFVLHNCQUNmLEtBQUssTUFDTjtBQUNELE9BQUssUUFBUSxpQkFBaUIsVUFBVSxRQUFRO0FBQ2hELE9BQUssVUFBVSx1QkFBdUIsbUJBQ3BDLEtBQUssVUFBVSxzQkFDZixLQUFLLE1BQ047Ozs7Ozs7Q0FRSSxRQUFRLE9BQWM7QUFDM0IsUUFBTSxXQUFXOztDQUdBLFNBQU07QUFDdkIsU0FBTyxJQUFJOzZDQUM4QixLQUFLLGdCQUFnQixDQUFBIn0=
@@ -5,7 +5,6 @@ import { ResizeController } from "@lit-labs/observers/resize-controller.js";
5
5
  var step_default = ":host {\n --sbb-step-opacity: 0;\n --sbb-step-margin-inline-start: var(--sbb-spacing-fixed-4x);\n --sbb-step-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-2x)\n );\n display: contents;\n font-size: var(--sbb-text-font-size-m);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n}\n\n:host(:is(:state(selected),[state--selected])) {\n --sbb-step-opacity: 1;\n --sbb-step-display: block;\n --sbb-step-height: fit-content;\n --sbb-step-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-4x)\n );\n --sbb-step-animation-delay: var(--sbb-step-animation-duration);\n}\n\n:host(:is(:state(orientation-horizontal),[state--orientation-horizontal])) {\n --sbb-step-position: absolute;\n --sbb-step-inset-block-start: 0;\n}\n\n:host(:is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-step--wrapper {\n margin-inline-start: var(--sbb-step-margin-inline-start);\n opacity: 0;\n height: 0;\n transition: display var(--sbb-step-animation-duration) var(--sbb-animation-easing), height var(--sbb-stepper-animation-duration) var(--sbb-animation-easing), opacity var(--sbb-step-animation-duration) var(--sbb-animation-easing);\n transition-behavior: allow-discrete;\n}\n:host(:is(:state(selected),[state--selected]):is(:state(orientation-vertical),[state--orientation-vertical])) .sbb-step--wrapper {\n opacity: 1;\n height: var(--sbb-stepper-content-height);\n transition: display var(--sbb-step-animation-duration) var(--sbb-animation-easing), height var(--sbb-stepper-animation-duration) var(--sbb-animation-easing), opacity var(--sbb-step-animation-duration) var(--sbb-stepper-animation-duration) var(--sbb-animation-easing);\n transition-behavior: allow-discrete;\n}\n\n.sbb-step {\n position: var(--sbb-step-position, initial);\n width: 100%;\n inset-block-start: var(--sbb-step-inset-block-start, unset);\n opacity: var(--sbb-step-opacity);\n display: var(--sbb-step-display, none);\n height: var(--sbb-step-height, 0);\n transition-property: display, opacity;\n transition-duration: var(--sbb-step-animation-duration);\n transition-delay: var(--sbb-step-animation-delay, 0);\n transition-timing-function: var(--sbb-animation-easing);\n transition-behavior: allow-discrete;\n}\n@starting-style {\n .sbb-step {\n --sbb-step-opacity: 0;\n }\n}";
6
6
  //#endregion
7
7
  //#region src/elements/stepper/step/step.component.ts
8
- var nextId = 0;
9
8
  /**
10
9
  * Combined with a `sbb-stepper`, it displays a step's content.
11
10
  *
@@ -116,7 +115,6 @@ var SbbStepElement = class extends SbbElement {
116
115
  }
117
116
  connectedCallback() {
118
117
  super.connectedCallback();
119
- this.id ||= `sbb-step-${nextId++}`;
120
118
  this.slot ||= "step";
121
119
  this._assignLabel();
122
120
  }
@@ -147,4 +145,4 @@ var SbbStepElement = class extends SbbElement {
147
145
  //#endregion
148
146
  export { SbbStepElement as t };
149
147
 
150
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5jb21wb25lbnQtQjJxYkhsMGwuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcC9zdGVwLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcC9zdGVwLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLXN0ZXAtb3BhY2l0eTogMDtcbiAgLS1zYmItc3RlcC1tYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC00eCk7XG4gIC0tc2JiLXN0ZXAtYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi0yeClcbiAgKTtcblxuICBkaXNwbGF5OiBjb250ZW50cztcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUtbSk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1zYmItdHlwby1sZXR0ZXItc3BhY2luZy10ZXh0KTtcbn1cblxuOmhvc3QoOnN0YXRlKHNlbGVjdGVkKSkge1xuICAtLXNiYi1zdGVwLW9wYWNpdHk6IDE7XG4gIC0tc2JiLXN0ZXAtZGlzcGxheTogYmxvY2s7XG4gIC0tc2JiLXN0ZXAtaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgLS1zYmItc3RlcC1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuICAtLXNiYi1zdGVwLWFuaW1hdGlvbi1kZWxheTogdmFyKC0tc2JiLXN0ZXAtYW5pbWF0aW9uLWR1cmF0aW9uKTtcbn1cblxuOmhvc3QoOnN0YXRlKG9yaWVudGF0aW9uLWhvcml6b250YWwpKSB7XG4gIC0tc2JiLXN0ZXAtcG9zaXRpb246IGFic29sdXRlO1xuICAtLXNiYi1zdGVwLWluc2V0LWJsb2NrLXN0YXJ0OiAwO1xufVxuXG4uc2JiLXN0ZXAtLXdyYXBwZXIge1xuICA6aG9zdCg6c3RhdGUob3JpZW50YXRpb24tdmVydGljYWwpKSAmIHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItc3RlcC1tYXJnaW4taW5saW5lLXN0YXJ0KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGhlaWdodDogMDtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgZGlzcGxheSB2YXIoLS1zYmItc3RlcC1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKSxcbiAgICAgIGhlaWdodCB2YXIoLS1zYmItc3RlcHBlci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKSxcbiAgICAgIG9wYWNpdHkgdmFyKC0tc2JiLXN0ZXAtYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG5cbiAgICAvLyBFeHBlcmltZW50YWwgcHJvcGVydHksIGJ1dCBzdXBwb3J0ZWQgaW4gZXZlcnkgbWFqb3IgYnJvd3Nlci5cbiAgICB0cmFuc2l0aW9uLWJlaGF2aW9yOiBhbGxvdy1kaXNjcmV0ZTtcbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzZWxlY3RlZCk6c3RhdGUob3JpZW50YXRpb24tdmVydGljYWwpKSAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGhlaWdodDogdmFyKC0tc2JiLXN0ZXBwZXItY29udGVudC1oZWlnaHQpO1xuICAgIHRyYW5zaXRpb246XG4gICAgICBkaXNwbGF5IHZhcigtLXNiYi1zdGVwLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpLFxuICAgICAgaGVpZ2h0IHZhcigtLXNiYi1zdGVwcGVyLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpLFxuICAgICAgb3BhY2l0eSB2YXIoLS1zYmItc3RlcC1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi1zdGVwcGVyLWFuaW1hdGlvbi1kdXJhdGlvbilcbiAgICAgICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpO1xuXG4gICAgLy8gRXhwZXJpbWVudGFsIHByb3BlcnR5LCBidXQgc3VwcG9ydGVkIGluIGV2ZXJ5IG1ham9yIGJyb3dzZXIuXG4gICAgdHJhbnNpdGlvbi1iZWhhdmlvcjogYWxsb3ctZGlzY3JldGU7XG4gIH1cbn1cblxuLnNiYi1zdGVwIHtcbiAgcG9zaXRpb246IHZhcigtLXNiYi1zdGVwLXBvc2l0aW9uLCBpbml0aWFsKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItc3RlcC1pbnNldC1ibG9jay1zdGFydCwgdW5zZXQpO1xuICBvcGFjaXR5OiB2YXIoLS1zYmItc3RlcC1vcGFjaXR5KTtcbiAgZGlzcGxheTogdmFyKC0tc2JiLXN0ZXAtZGlzcGxheSwgbm9uZSk7XG4gIGhlaWdodDogdmFyKC0tc2JiLXN0ZXAtaGVpZ2h0LCAwKTtcbiAgdHJhbnNpdGlvbjoge1xuICAgIHByb3BlcnR5OiBkaXNwbGF5LCBvcGFjaXR5O1xuICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItc3RlcC1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgIGRlbGF5OiB2YXIoLS1zYmItc3RlcC1hbmltYXRpb24tZGVsYXksIDApO1xuICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpO1xuICB9XG5cbiAgLy8gRXhwZXJpbWVudGFsIHByb3BlcnR5LCBidXQgc3VwcG9ydGVkIGluIGV2ZXJ5IG1ham9yIGJyb3dzZXIuXG4gIHRyYW5zaXRpb24tYmVoYXZpb3I6IGFsbG93LWRpc2NyZXRlO1xuXG4gIC8vIEV4cGVyaW1lbnRhbCBwcm9wZXJ0eSwgY3VycmVudGx5IHN1cHBvcnRlZCBpbiBldmVyeSBtYWpvciBicm93c2VyIGV4Y2VwdCBGaXJlZm94LlxuICBAc3RhcnRpbmctc3R5bGUge1xuICAgIC0tc2JiLXN0ZXAtb3BhY2l0eTogMDtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuXG5pbXBvcnQge1xuICBhcHBlbmRBcmlhRWxlbWVudHMsXG4gIGJveFNpemluZ1N0eWxlcyxcbiAgcmVtb3ZlQXJpYUVsZW1lbnRzLFxuICBTYmJFbGVtZW50LFxuICBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyLFxufSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiU3RlcExhYmVsRWxlbWVudCB9IGZyb20gJy4uL3N0ZXAtbGFiZWwvc3RlcC1sYWJlbC5jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTdGVwcGVyRWxlbWVudCB9IGZyb20gJy4uL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9zdGVwLnNjc3M/aW5saW5lJztcblxubGV0IG5leHRJZCA9IDA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiU3RlcFZhbGlkYXRlRXZlbnREZXRhaWxzIHtcbiAgY3VycmVudEluZGV4OiBudW1iZXIgfCBudWxsO1xuICBjdXJyZW50U3RlcDogU2JiU3RlcEVsZW1lbnQgfCBudWxsO1xuICBuZXh0SW5kZXg6IG51bWJlciB8IG51bGw7XG4gIG5leHRTdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGw7XG59XG5cbi8qKlxuICogQ29tYmluZWQgd2l0aCBhIGBzYmItc3RlcHBlcmAsIGl0IGRpc3BsYXlzIGEgc3RlcCdzIGNvbnRlbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBwcm92aWRlIGNvbnRlbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJTdGVwRWxlbWVudCBleHRlbmRzIFNiYkVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXN0ZXAnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAndGFicGFuZWwnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgdmFsaWRhdGU6ICd2YWxpZGF0ZScsXG4gICAgcmVzaXplY2hhbmdlOiAncmVzaXplY2hhbmdlJyxcbiAgfSBhcyBjb25zdDtcblxuICAvLyBXZSB1c2UgYSB0aW1lb3V0IGFzIGEgd29ya2Fyb3VuZCB0byB0aGUgXCJSZXNpemVPYnNlcnZlciBsb29wIGNvbXBsZXRlZCB3aXRoIHVuZGVsaXZlcmVkIG5vdGlmaWNhdGlvbnNcIiBlcnJvci5cbiAgLy8gRm9yIG1vcmUgZGV0YWlsczpcbiAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vV0lDRy9yZXNpemUtb2JzZXJ2ZXIvaXNzdWVzLzM4I2lzc3VlY29tbWVudC00MjIxMjYwMDZcbiAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vanVnZ2xlL3Jlc2l6ZS1vYnNlcnZlci9pc3N1ZXMvMTAzI2lzc3VlY29tbWVudC0xNzExMTQ4Mjg1XG4gIHByaXZhdGUgX3N0ZXBSZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fb25TdGVwRWxlbWVudFJlc2l6ZSgpKSxcbiAgfSk7XG5cbiAgLyoqIFRoZSBsYWJlbCBvZiB0aGUgc3RlcC4gKi9cbiAgcHVibGljIGdldCBsYWJlbCgpOiBTYmJTdGVwTGFiZWxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2xhYmVsO1xuICB9XG4gIHByaXZhdGUgX2xhYmVsOiBTYmJTdGVwTGFiZWxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGdldCBzdGVwcGVyKCk6IFNiYlN0ZXBwZXJFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY2xvc2VzdCgnc2JiLXN0ZXBwZXInKTtcbiAgfVxuXG4gIHByaXZhdGUgX3ByZXZpb3VzT3JpZW50YXRpb24/OiBzdHJpbmc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgKGUpID0+IHRoaXMuX2hhbmRsZUNsaWNrKGUpKTtcbiAgICB0aGlzLmFkZENvbnRyb2xsZXIoXG4gICAgICBuZXcgU2JiUHJvcGVydHlXYXRjaGVyQ29udHJvbGxlcih0aGlzLCAoKSA9PiB0aGlzLnN0ZXBwZXIsIHtcbiAgICAgICAgb3JpZW50YXRpb246IChzKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzT3JpZW50YXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoYG9yaWVudGF0aW9uLSR7dGhpcy5fcHJldmlvdXNPcmllbnRhdGlvbn1gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fcHJldmlvdXNPcmllbnRhdGlvbiA9IHMub3JpZW50YXRpb247XG4gICAgICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzT3JpZW50YXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoYG9yaWVudGF0aW9uLSR7dGhpcy5fcHJldmlvdXNPcmllbnRhdGlvbn1gKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlbGVjdHMgYW5kIGNvbmZpZ3VyZXMgdGhlIHN0ZXAuXG4gICAqIEBpbnRlcm5hbFxuICAgKiBUT0RPOiBAYnJlYWtpbmctY2hhbmdlOiBtYWtlIHByb3RlY3RlZFxuICAgKi9cbiAgcHVibGljIHNlbGVjdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaGFzVXBkYXRlZCB8fCAhdGhpcy5sYWJlbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKCdzZWxlY3RlZCcpO1xuICAgIHRoaXMubGFiZWwuc2VsZWN0KCk7XG4gIH1cblxuICAvKipcbiAgICogRGVzZWxlY3RzIGFuZCBjb25maWd1cmVzIHRoZSBzdGVwLlxuICAgKiBAaW50ZXJuYWxcbiAgICogVE9ETzogQGJyZWFraW5nLWNoYW5nZTogbWFrZSBwcm90ZWN0ZWRcbiAgICovXG4gIHB1YmxpYyBkZXNlbGVjdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubGFiZWwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZSgnc2VsZWN0ZWQnKTtcbiAgICB0aGlzLmxhYmVsLmRlc2VsZWN0KCk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgYSB2YWxpZGF0ZSBldmVudCB3aGVuZXZlciBzdGVwIHN3aXRjaCBpcyB0cmlnZ2VyZWQuXG4gICAqIEBpbnRlcm5hbFxuICAgKiBUT0RPOiBAYnJlYWtpbmctY2hhbmdlOiBtYWtlIHByb3RlY3RlZFxuICAgKi9cbiAgcHVibGljIHZhbGlkYXRlKGV2ZW50RGF0YTogU2JiU3RlcFZhbGlkYXRlRXZlbnREZXRhaWxzKTogYm9vbGVhbiB7XG4gICAgLy8gVE9ETzogQGJyZWFraW5nLWNoYW5nZTogQ3JlYXRlIGEgc3BlY2lmaWMgZXZlbnQgdHlwZSBmb3IgdGhpcyBldmVudC5cbiAgICAvKipcbiAgICAgKiBAdHlwZSB7Q3VzdG9tRXZlbnQ8U2JiU3RlcFZhbGlkYXRlRXZlbnREZXRhaWxzPn1cbiAgICAgKiBUaGUgdmFsaWRhdGUgZXZlbnQgaXMgZGlzcGF0Y2hlZCB3aGVuIGEgc3RlcCBjaGFuZ2UgaXMgdHJpZ2dlcmVkLiBDYW4gYmUgY2FuY2VsZWQgdG8gYWJvcnQgdGhlIHN0ZXAgY2hhbmdlLlxuICAgICAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQ8U2JiU3RlcFZhbGlkYXRlRXZlbnREZXRhaWxzPigndmFsaWRhdGUnLCB7XG4gICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgICBkZXRhaWw6IGV2ZW50RGF0YSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ29uZmlndXJlcyB0aGUgc3RlcC5cbiAgICogQGludGVybmFsXG4gICAqIFRPRE86IEBicmVha2luZy1jaGFuZ2U6IG1ha2UgcHJvdGVjdGVkXG4gICAqL1xuICBwdWJsaWMgY29uZmlndXJlKHN0ZXBwZXJMb2FkZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoc3RlcHBlckxvYWRlZCkge1xuICAgICAgdGhpcy5fYXNzaWduTGFiZWwoKTtcbiAgICB9XG4gIH1cblxuICAvKiogV2F0Y2hlcyBmb3IgY2xpY2tlZCBlbGVtZW50cyB3aXRoIGBzYmItc3RlcHBlci1uZXh0YCBvciBgc2JiLXN0ZXBwZXItcHJldmlvdXNgIGF0dHJpYnV0ZXMuICovXG4gIHByaXZhdGUgX2hhbmRsZUNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbXBvc2VkUGF0aEVsZW1lbnRzID0gZXZlbnRcbiAgICAgIC5jb21wb3NlZFBhdGgoKVxuICAgICAgLmZpbHRlcigoZWwpID0+IGVsIGluc3RhbmNlb2Ygd2luZG93LkhUTUxFbGVtZW50KTtcbiAgICBpZiAoY29tcG9zZWRQYXRoRWxlbWVudHMuc29tZSgoZWwpID0+IHRoaXMuX2lzR29OZXh0RWxlbWVudChlbCBhcyBIVE1MRWxlbWVudCkpKSB7XG4gICAgICB0aGlzLnN0ZXBwZXI/Lm5leHQoKTtcbiAgICB9IGVsc2UgaWYgKGNvbXBvc2VkUGF0aEVsZW1lbnRzLnNvbWUoKGVsKSA9PiB0aGlzLl9pc0dvUHJldmlvdXNFbGVtZW50KGVsIGFzIEhUTUxFbGVtZW50KSkpIHtcbiAgICAgIHRoaXMuc3RlcHBlcj8ucHJldmlvdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc0dvTmV4dEVsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi1zdGVwcGVyLW5leHQnKSAmJiAhZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJyk7XG4gIH1cblxuICBwcml2YXRlIF9pc0dvUHJldmlvdXNFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGVsZW1lbnQuaGFzQXR0cmlidXRlKCdzYmItc3RlcHBlci1wcmV2aW91cycpICYmICFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uU3RlcEVsZW1lbnRSZXNpemUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm1hdGNoZXMoJzpzdGF0ZShzZWxlY3RlZCknKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqIEVtaXRzIHdoZW4gYSByZXNpemUgaGFwcGVucywgdXNlZCB0byBhdm9pZCBzZXR0aW5nIHRoZSBoZWlnaHQgb2YgdGhlIHN0ZXBwZXIgZnJvbSB0aGUgc3RlcCBjb21wb25lbnQuXG4gICAgICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgncmVzaXplY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuaWQgfHw9IGBzYmItc3RlcC0ke25leHRJZCsrfWA7XG4gICAgdGhpcy5zbG90IHx8PSAnc3RlcCc7XG4gICAgdGhpcy5fYXNzaWduTGFiZWwoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICB0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5fc3RlcFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcuc2JiLXN0ZXAnKSBhcyBIVE1MRWxlbWVudCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9hc3NpZ25MYWJlbCgpOiB2b2lkIHtcbiAgICBsZXQgcHJldmlvdXNTaWJsaW5nID0gdGhpcy5wcmV2aW91c0VsZW1lbnRTaWJsaW5nO1xuICAgIHdoaWxlIChwcmV2aW91c1NpYmxpbmcgJiYgcHJldmlvdXNTaWJsaW5nLmxvY2FsTmFtZSAhPT0gJ3NiYi1zdGVwLWxhYmVsJykge1xuICAgICAgcHJldmlvdXNTaWJsaW5nID0gcHJldmlvdXNTaWJsaW5nLnByZXZpb3VzRWxlbWVudFNpYmxpbmc7XG4gICAgfVxuICAgIGNvbnN0IHZhbHVlID0gcHJldmlvdXNTaWJsaW5nIGFzIFNiYlN0ZXBMYWJlbEVsZW1lbnQgfCBudWxsO1xuXG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsbGVkQnlFbGVtZW50cyA9IHJlbW92ZUFyaWFFbGVtZW50cyhcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMYWJlbGxlZEJ5RWxlbWVudHMsXG4gICAgICB0aGlzLl9sYWJlbCxcbiAgICApO1xuICAgIHRoaXMuX2xhYmVsID0gdmFsdWUgaW5zdGFuY2VvZiBFbGVtZW50ID8gdmFsdWUgOiBudWxsO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMYWJlbGxlZEJ5RWxlbWVudHMgPSBhcHBlbmRBcmlhRWxlbWVudHMoXG4gICAgICB0aGlzLmludGVybmFscy5hcmlhTGFiZWxsZWRCeUVsZW1lbnRzLFxuICAgICAgdGhpcy5fbGFiZWwsXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1zdGVwLS13cmFwcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RlcFwiPlxuICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc3RlcCc6IFNiYlN0ZXBFbGVtZW50O1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEdsb2JhbEV2ZW50SGFuZGxlcnNFdmVudE1hcCB7XG4gICAgcmVzaXplY2hhbmdlOiBFdmVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FDcUJBLElBQUksU0FBUzs7Ozs7O0FBY2IsSUFBYSxpQkFBYixjQUFvQyxXQUFVOztBQUNaLE9BQUEsY0FBc0I7OztBQUN0QixPQUFBLE9BQU87OztBQUNoQixPQUFBLFNB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
148
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5jb21wb25lbnQtQ1ZXeFlrcnYuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcC9zdGVwLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3N0ZXBwZXIvc3RlcC9zdGVwLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLXN0ZXAtb3BhY2l0eTogMDtcbiAgLS1zYmItc3RlcC1tYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC00eCk7XG4gIC0tc2JiLXN0ZXAtYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi0yeClcbiAgKTtcblxuICBkaXNwbGF5OiBjb250ZW50cztcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUtbSk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1zYmItdHlwby1sZXR0ZXItc3BhY2luZy10ZXh0KTtcbn1cblxuOmhvc3QoOnN0YXRlKHNlbGVjdGVkKSkge1xuICAtLXNiYi1zdGVwLW9wYWNpdHk6IDE7XG4gIC0tc2JiLXN0ZXAtZGlzcGxheTogYmxvY2s7XG4gIC0tc2JiLXN0ZXAtaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgLS1zYmItc3RlcC1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuICAtLXNiYi1zdGVwLWFuaW1hdGlvbi1kZWxheTogdmFyKC0tc2JiLXN0ZXAtYW5pbWF0aW9uLWR1cmF0aW9uKTtcbn1cblxuOmhvc3QoOnN0YXRlKG9yaWVudGF0aW9uLWhvcml6b250YWwpKSB7XG4gIC0tc2JiLXN0ZXAtcG9zaXRpb246IGFic29sdXRlO1xuICAtLXNiYi1zdGVwLWluc2V0LWJsb2NrLXN0YXJ0OiAwO1xufVxuXG4uc2JiLXN0ZXAtLXdyYXBwZXIge1xuICA6aG9zdCg6c3RhdGUob3JpZW50YXRpb24tdmVydGljYWwpKSAmIHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItc3RlcC1tYXJnaW4taW5saW5lLXN0YXJ0KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGhlaWdodDogMDtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgZGlzcGxheSB2YXIoLS1zYmItc3RlcC1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKSxcbiAgICAgIGhlaWdodCB2YXIoLS1zYmItc3RlcHBlci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKSxcbiAgICAgIG9wYWNpdHkgdmFyKC0tc2JiLXN0ZXAtYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG5cbiAgICAvLyBFeHBlcmltZW50YWwgcHJvcGVydHksIGJ1dCBzdXBwb3J0ZWQgaW4gZXZlcnkgbWFqb3IgYnJvd3Nlci5cbiAgICB0cmFuc2l0aW9uLWJlaGF2aW9yOiBhbGxvdy1kaXNjcmV0ZTtcbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzZWxlY3RlZCk6c3RhdGUob3JpZW50YXRpb24tdmVydGljYWwpKSAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGhlaWdodDogdmFyKC0tc2JiLXN0ZXBwZXItY29udGVudC1oZWlnaHQpO1xuICAgIHRyYW5zaXRpb246XG4gICAgICBkaXNwbGF5IHZhcigtLXNiYi1zdGVwLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpLFxuICAgICAgaGVpZ2h0IHZhcigtLXNiYi1zdGVwcGVyLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpLFxuICAgICAgb3BhY2l0eSB2YXIoLS1zYmItc3RlcC1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi1zdGVwcGVyLWFuaW1hdGlvbi1kdXJhdGlvbilcbiAgICAgICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpO1xuXG4gICAgLy8gRXhwZXJpbWVudGFsIHByb3BlcnR5LCBidXQgc3VwcG9ydGVkIGluIGV2ZXJ5IG1ham9yIGJyb3dzZXIuXG4gICAgdHJhbnNpdGlvbi1iZWhhdmlvcjogYWxsb3ctZGlzY3JldGU7XG4gIH1cbn1cblxuLnNiYi1zdGVwIHtcbiAgcG9zaXRpb246IHZhcigtLXNiYi1zdGVwLXBvc2l0aW9uLCBpbml0aWFsKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItc3RlcC1pbnNldC1ibG9jay1zdGFydCwgdW5zZXQpO1xuICBvcGFjaXR5OiB2YXIoLS1zYmItc3RlcC1vcGFjaXR5KTtcbiAgZGlzcGxheTogdmFyKC0tc2JiLXN0ZXAtZGlzcGxheSwgbm9uZSk7XG4gIGhlaWdodDogdmFyKC0tc2JiLXN0ZXAtaGVpZ2h0LCAwKTtcbiAgdHJhbnNpdGlvbjoge1xuICAgIHByb3BlcnR5OiBkaXNwbGF5LCBvcGFjaXR5O1xuICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItc3RlcC1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgIGRlbGF5OiB2YXIoLS1zYmItc3RlcC1hbmltYXRpb24tZGVsYXksIDApO1xuICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLWFuaW1hdGlvbi1lYXNpbmcpO1xuICB9XG5cbiAgLy8gRXhwZXJpbWVudGFsIHByb3BlcnR5LCBidXQgc3VwcG9ydGVkIGluIGV2ZXJ5IG1ham9yIGJyb3dzZXIuXG4gIHRyYW5zaXRpb24tYmVoYXZpb3I6IGFsbG93LWRpc2NyZXRlO1xuXG4gIC8vIEV4cGVyaW1lbnRhbCBwcm9wZXJ0eSwgY3VycmVudGx5IHN1cHBvcnRlZCBpbiBldmVyeSBtYWpvciBicm93c2VyIGV4Y2VwdCBGaXJlZm94LlxuICBAc3RhcnRpbmctc3R5bGUge1xuICAgIC0tc2JiLXN0ZXAtb3BhY2l0eTogMDtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuXG5pbXBvcnQge1xuICBhcHBlbmRBcmlhRWxlbWVudHMsXG4gIGJveFNpemluZ1N0eWxlcyxcbiAgcmVtb3ZlQXJpYUVsZW1lbnRzLFxuICBTYmJFbGVtZW50LFxuICBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyLFxufSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiU3RlcExhYmVsRWxlbWVudCB9IGZyb20gJy4uL3N0ZXAtbGFiZWwvc3RlcC1sYWJlbC5jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJTdGVwcGVyRWxlbWVudCB9IGZyb20gJy4uL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9zdGVwLnNjc3M/aW5saW5lJztcblxuZXhwb3J0IGludGVyZmFjZSBTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHMge1xuICBjdXJyZW50SW5kZXg6IG51bWJlciB8IG51bGw7XG4gIGN1cnJlbnRTdGVwOiBTYmJTdGVwRWxlbWVudCB8IG51bGw7XG4gIG5leHRJbmRleDogbnVtYmVyIHwgbnVsbDtcbiAgbmV4dFN0ZXA6IFNiYlN0ZXBFbGVtZW50IHwgbnVsbDtcbn1cblxuLyoqXG4gKiBDb21iaW5lZCB3aXRoIGEgYHNiYi1zdGVwcGVyYCwgaXQgZGlzcGxheXMgYSBzdGVwJ3MgY29udGVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIHByb3ZpZGUgY29udGVudC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlN0ZXBFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItc3RlcCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICd0YWJwYW5lbCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICB2YWxpZGF0ZTogJ3ZhbGlkYXRlJyxcbiAgICByZXNpemVjaGFuZ2U6ICdyZXNpemVjaGFuZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8vIFdlIHVzZSBhIHRpbWVvdXQgYXMgYSB3b3JrYXJvdW5kIHRvIHRoZSBcIlJlc2l6ZU9ic2VydmVyIGxvb3AgY29tcGxldGVkIHdpdGggdW5kZWxpdmVyZWQgbm90aWZpY2F0aW9uc1wiIGVycm9yLlxuICAvLyBGb3IgbW9yZSBkZXRhaWxzOlxuICAvLyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL3Jlc2l6ZS1vYnNlcnZlci9pc3N1ZXMvMzgjaXNzdWVjb21tZW50LTQyMjEyNjAwNlxuICAvLyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9qdWdnbGUvcmVzaXplLW9ic2VydmVyL2lzc3Vlcy8xMDMjaXNzdWVjb21tZW50LTE3MTExNDgyODVcbiAgcHJpdmF0ZSBfc3RlcFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKCkgPT4gc2V0VGltZW91dCgoKSA9PiB0aGlzLl9vblN0ZXBFbGVtZW50UmVzaXplKCkpLFxuICB9KTtcblxuICAvKiogVGhlIGxhYmVsIG9mIHRoZSBzdGVwLiAqL1xuICBwdWJsaWMgZ2V0IGxhYmVsKCk6IFNiYlN0ZXBMYWJlbEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fbGFiZWw7XG4gIH1cbiAgcHJpdmF0ZSBfbGFiZWw6IFNiYlN0ZXBMYWJlbEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgZ2V0IHN0ZXBwZXIoKTogU2JiU3RlcHBlckVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jbG9zZXN0KCdzYmItc3RlcHBlcicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJldmlvdXNPcmllbnRhdGlvbj86IHN0cmluZztcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignY2xpY2snLCAoZSkgPT4gdGhpcy5faGFuZGxlQ2xpY2soZSkpO1xuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyKHRoaXMsICgpID0+IHRoaXMuc3RlcHBlciwge1xuICAgICAgICBvcmllbnRhdGlvbjogKHMpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5fcHJldmlvdXNPcmllbnRhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgb3JpZW50YXRpb24tJHt0aGlzLl9wcmV2aW91c09yaWVudGF0aW9ufWApO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9wcmV2aW91c09yaWVudGF0aW9uID0gcy5vcmllbnRhdGlvbjtcbiAgICAgICAgICBpZiAodGhpcy5fcHJldmlvdXNPcmllbnRhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChgb3JpZW50YXRpb24tJHt0aGlzLl9wcmV2aW91c09yaWVudGF0aW9ufWApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0cyBhbmQgY29uZmlndXJlcyB0aGUgc3RlcC5cbiAgICogQGludGVybmFsXG4gICAqIFRPRE86IEBicmVha2luZy1jaGFuZ2U6IG1ha2UgcHJvdGVjdGVkXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5oYXNVcGRhdGVkIHx8ICF0aGlzLmxhYmVsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoJ3NlbGVjdGVkJyk7XG4gICAgdGhpcy5sYWJlbC5zZWxlY3QoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNlbGVjdHMgYW5kIGNvbmZpZ3VyZXMgdGhlIHN0ZXAuXG4gICAqIEBpbnRlcm5hbFxuICAgKiBUT0RPOiBAYnJlYWtpbmctY2hhbmdlOiBtYWtlIHByb3RlY3RlZFxuICAgKi9cbiAgcHVibGljIGRlc2VsZWN0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5sYWJlbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdzZWxlY3RlZCcpO1xuICAgIHRoaXMubGFiZWwuZGVzZWxlY3QoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyBhIHZhbGlkYXRlIGV2ZW50IHdoZW5ldmVyIHN0ZXAgc3dpdGNoIGlzIHRyaWdnZXJlZC5cbiAgICogQGludGVybmFsXG4gICAqIFRPRE86IEBicmVha2luZy1jaGFuZ2U6IG1ha2UgcHJvdGVjdGVkXG4gICAqL1xuICBwdWJsaWMgdmFsaWRhdGUoZXZlbnREYXRhOiBTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHMpOiBib29sZWFuIHtcbiAgICAvLyBUT0RPOiBAYnJlYWtpbmctY2hhbmdlOiBDcmVhdGUgYSBzcGVjaWZpYyBldmVudCB0eXBlIGZvciB0aGlzIGV2ZW50LlxuICAgIC8qKlxuICAgICAqIEB0eXBlIHtDdXN0b21FdmVudDxTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHM+fVxuICAgICAqIFRoZSB2YWxpZGF0ZSBldmVudCBpcyBkaXNwYXRjaGVkIHdoZW4gYSBzdGVwIGNoYW5nZSBpcyB0cmlnZ2VyZWQuIENhbiBiZSBjYW5jZWxlZCB0byBhYm9ydCB0aGUgc3RlcCBjaGFuZ2UuXG4gICAgICovXG4gICAgcmV0dXJuIHRoaXMuZGlzcGF0Y2hFdmVudChcbiAgICAgIG5ldyBDdXN0b21FdmVudDxTYmJTdGVwVmFsaWRhdGVFdmVudERldGFpbHM+KCd2YWxpZGF0ZScsIHtcbiAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICAgIGRldGFpbDogZXZlbnREYXRhLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25maWd1cmVzIHRoZSBzdGVwLlxuICAgKiBAaW50ZXJuYWxcbiAgICogVE9ETzogQGJyZWFraW5nLWNoYW5nZTogbWFrZSBwcm90ZWN0ZWRcbiAgICovXG4gIHB1YmxpYyBjb25maWd1cmUoc3RlcHBlckxvYWRlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChzdGVwcGVyTG9hZGVkKSB7XG4gICAgICB0aGlzLl9hc3NpZ25MYWJlbCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBXYXRjaGVzIGZvciBjbGlja2VkIGVsZW1lbnRzIHdpdGggYHNiYi1zdGVwcGVyLW5leHRgIG9yIGBzYmItc3RlcHBlci1wcmV2aW91c2AgYXR0cmlidXRlcy4gKi9cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY29tcG9zZWRQYXRoRWxlbWVudHMgPSBldmVudFxuICAgICAgLmNvbXBvc2VkUGF0aCgpXG4gICAgICAuZmlsdGVyKChlbCkgPT4gZWwgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpO1xuICAgIGlmIChjb21wb3NlZFBhdGhFbGVtZW50cy5zb21lKChlbCkgPT4gdGhpcy5faXNHb05leHRFbGVtZW50KGVsIGFzIEhUTUxFbGVtZW50KSkpIHtcbiAgICAgIHRoaXMuc3RlcHBlcj8ubmV4dCgpO1xuICAgIH0gZWxzZSBpZiAoY29tcG9zZWRQYXRoRWxlbWVudHMuc29tZSgoZWwpID0+IHRoaXMuX2lzR29QcmV2aW91c0VsZW1lbnQoZWwgYXMgSFRNTEVsZW1lbnQpKSkge1xuICAgICAgdGhpcy5zdGVwcGVyPy5wcmV2aW91cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzR29OZXh0RWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnc2JiLXN0ZXBwZXItbmV4dCcpICYmICFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzR29QcmV2aW91c0VsZW1lbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi1zdGVwcGVyLXByZXZpb3VzJykgJiYgIWVsZW1lbnQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25TdGVwRWxlbWVudFJlc2l6ZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubWF0Y2hlcygnOnN0YXRlKHNlbGVjdGVkKScpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICogRW1pdHMgd2hlbiBhIHJlc2l6ZSBoYXBwZW5zLCB1c2VkIHRvIGF2b2lkIHNldHRpbmcgdGhlIGhlaWdodCBvZiB0aGUgc3RlcHBlciBmcm9tIHRoZSBzdGVwIGNvbXBvbmVudC5cbiAgICAgKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdyZXNpemVjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5zbG90IHx8PSAnc3RlcCc7XG4gICAgdGhpcy5fYXNzaWduTGFiZWwoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICB0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5fc3RlcFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcuc2JiLXN0ZXAnKSBhcyBIVE1MRWxlbWVudCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9hc3NpZ25MYWJlbCgpOiB2b2lkIHtcbiAgICBsZXQgcHJldmlvdXNTaWJsaW5nID0gdGhpcy5wcmV2aW91c0VsZW1lbnRTaWJsaW5nO1xuICAgIHdoaWxlIChwcmV2aW91c1NpYmxpbmcgJiYgcHJldmlvdXNTaWJsaW5nLmxvY2FsTmFtZSAhPT0gJ3NiYi1zdGVwLWxhYmVsJykge1xuICAgICAgcHJldmlvdXNTaWJsaW5nID0gcHJldmlvdXNTaWJsaW5nLnByZXZpb3VzRWxlbWVudFNpYmxpbmc7XG4gICAgfVxuICAgIGNvbnN0IHZhbHVlID0gcHJldmlvdXNTaWJsaW5nIGFzIFNiYlN0ZXBMYWJlbEVsZW1lbnQgfCBudWxsO1xuXG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsbGVkQnlFbGVtZW50cyA9IHJlbW92ZUFyaWFFbGVtZW50cyhcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMYWJlbGxlZEJ5RWxlbWVudHMsXG4gICAgICB0aGlzLl9sYWJlbCxcbiAgICApO1xuICAgIHRoaXMuX2xhYmVsID0gdmFsdWUgaW5zdGFuY2VvZiBFbGVtZW50ID8gdmFsdWUgOiBudWxsO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMYWJlbGxlZEJ5RWxlbWVudHMgPSBhcHBlbmRBcmlhRWxlbWVudHMoXG4gICAgICB0aGlzLmludGVybmFscy5hcmlhTGFiZWxsZWRCeUVsZW1lbnRzLFxuICAgICAgdGhpcy5fbGFiZWwsXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1zdGVwLS13cmFwcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItc3RlcFwiPlxuICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc3RlcCc6IFNiYlN0ZXBFbGVtZW50O1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEdsb2JhbEV2ZW50SGFuZGxlcnNFdmVudE1hcCB7XG4gICAgcmVzaXplY2hhbmdlOiBFdmVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUNpQ0EsSUFBYSxpQkFBYixjQUFvQyxXQUFVOztBQUNaLE9BQUEsY0FBc0I7OztBQUN0QixPQUFBLE9BQU87OztBQUNoQixPQUFBLFNBQXlCLENBQUMsaUJBQWlCLFVBQVUsYUFBTSxDQUFDOzs7QUFDNUQsT0FBQSxTQUFTO0dBQzlCLFVBQVU7R0FDVixjQUFjO0dBQ047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
@@ -1 +1 @@
1
- {"version":3,"file":"step.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/stepper/step/step.component.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,cAAc,EACnB,KAAK,cAAc,EAEpB,MAAM,KAAK,CAAC;AAEb,OAAO,EAIL,UAAU,EAEX,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAMzE,MAAM,WAAW,2BAA2B;IAC1C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,cAAc,GAAG,IAAI,CAAC;IACnC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;CACjC;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,UAAU;IAC5C,gBAAgC,WAAW,EAAE,MAAM,CAAc;IACjE,gBAAgC,IAAI,cAAc;IAClD,OAAuB,MAAM,EAAE,cAAc,CAAuC;IACpF,gBAAuB,MAAM;;;MAGlB;IAMX,OAAO,CAAC,mBAAmB,CAIxB;IAEH,6BAA6B;IAC7B,IAAW,KAAK,IAAI,mBAAmB,GAAG,IAAI,CAE7C;IACD,OAAO,CAAC,MAAM,CAAoC;IAElD,IAAW,OAAO,IAAI,iBAAiB,GAAG,IAAI,CAE7C;IAED,OAAO,CAAC,oBAAoB,CAAC,CAAS;;IAoBtC;;;;OAIG;IACI,MAAM,IAAI,IAAI;IAQrB;;;;OAIG;IACI,QAAQ,IAAI,IAAI;IAQvB;;;;OAIG;IACI,QAAQ,CAAC,SAAS,EAAE,2BAA2B,GAAG,OAAO;IAgBhE;;;;OAIG;IACI,SAAS,CAAC,aAAa,EAAE,OAAO,GAAG,IAAI;IAM9C,iGAAiG;IACjG,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,oBAAoB;IAYZ,iBAAiB,IAAI,IAAI;cAOtB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAO9E,OAAO,CAAC,YAAY;cAkBD,MAAM,IAAI,cAAc;CAS5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,UAAU,EAAE,cAAc,CAAC;KAC5B;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,2BAA2B;QACnC,YAAY,EAAE,KAAK,CAAC;KACrB;CACF"}
1
+ {"version":3,"file":"step.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/stepper/step/step.component.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,cAAc,EACnB,KAAK,cAAc,EAEpB,MAAM,KAAK,CAAC;AAEb,OAAO,EAIL,UAAU,EAEX,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAIzE,MAAM,WAAW,2BAA2B;IAC1C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,cAAc,GAAG,IAAI,CAAC;IACnC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;CACjC;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,UAAU;IAC5C,gBAAgC,WAAW,EAAE,MAAM,CAAc;IACjE,gBAAgC,IAAI,cAAc;IAClD,OAAuB,MAAM,EAAE,cAAc,CAAuC;IACpF,gBAAuB,MAAM;;;MAGlB;IAMX,OAAO,CAAC,mBAAmB,CAIxB;IAEH,6BAA6B;IAC7B,IAAW,KAAK,IAAI,mBAAmB,GAAG,IAAI,CAE7C;IACD,OAAO,CAAC,MAAM,CAAoC;IAElD,IAAW,OAAO,IAAI,iBAAiB,GAAG,IAAI,CAE7C;IAED,OAAO,CAAC,oBAAoB,CAAC,CAAS;;IAoBtC;;;;OAIG;IACI,MAAM,IAAI,IAAI;IAQrB;;;;OAIG;IACI,QAAQ,IAAI,IAAI;IAQvB;;;;OAIG;IACI,QAAQ,CAAC,SAAS,EAAE,2BAA2B,GAAG,OAAO;IAgBhE;;;;OAIG;IACI,SAAS,CAAC,aAAa,EAAE,OAAO,GAAG,IAAI;IAM9C,iGAAiG;IACjG,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,oBAAoB;IAYZ,iBAAiB,IAAI,IAAI;cAMtB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAO9E,OAAO,CAAC,YAAY;cAkBD,MAAM,IAAI,cAAc;CAS5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,UAAU,EAAE,cAAc,CAAC;KAC5B;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,2BAA2B;QACnC,YAAY,EAAE,KAAK,CAAC;KACrB;CACF"}
@@ -1,2 +1,2 @@
1
- import { t as SbbStepElement } from "../../step.component-B2qbHl0l.js";
1
+ import { t as SbbStepElement } from "../../step.component-CVWxYkrv.js";
2
2
  export { SbbStepElement };
@@ -1 +1 @@
1
- {"version":3,"file":"step-label.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/stepper/step-label/step-label.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAQ,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAEhF,OAAO,EAIL,oBAAoB,EAGrB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;;AAMzE;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,wBAAwD;IAC/F,gBAAgC,WAAW,EAAE,MAAM,CAAoB;IACvE,gBAAgC,IAAI,SAAS;IAC7C,OAAuB,MAAM,EAAE,cAAc,CAAuC;IAEpF,wCAAwC;IACxC,IAAW,IAAI,IAAI,cAAc,GAAG,IAAI,CAEvC;IACD,OAAO,CAAC,KAAK,CAA+B;IAE5C,IAAW,OAAO,IAAI,iBAAiB,GAAG,IAAI,CAE7C;IAED,IAAoB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAM1C;IACD,IAAoB,QAAQ,IAAI,OAAO,CAEtC;IAED,OAAO,CAAC,oBAAoB,CAAC,CAAS;IACtC,OAAO,CAAC,aAAa,CAAC,CAAS;;IAmC/B,OAAO,CAAC,6BAA6B;IASrB,iBAAiB,IAAI,IAAI;IASzC;;;OAGG;IACI,MAAM,IAAI,IAAI;IAMrB;;;OAGG;IACI,QAAQ,IAAI,IAAI;IAMvB;;;OAGG;IACI,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI;IAQjF,OAAO,CAAC,WAAW;IAkBnB;;;;OAIG;IACI,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;cAIjB,MAAM,IAAI,cAAc;CAM5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;CACF"}
1
+ {"version":3,"file":"step-label.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/stepper/step-label/step-label.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAQ,KAAK,cAAc,EAAa,MAAM,KAAK,CAAC;AAEhF,OAAO,EAIL,oBAAoB,EAGrB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;;AAIzE;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,wBAAwD;IAC/F,gBAAgC,WAAW,EAAE,MAAM,CAAoB;IACvE,gBAAgC,IAAI,SAAS;IAC7C,OAAuB,MAAM,EAAE,cAAc,CAAuC;IAEpF,wCAAwC;IACxC,IAAW,IAAI,IAAI,cAAc,GAAG,IAAI,CAEvC;IACD,OAAO,CAAC,KAAK,CAA+B;IAE5C,IAAW,OAAO,IAAI,iBAAiB,GAAG,IAAI,CAE7C;IAED,IAAoB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAM1C;IACD,IAAoB,QAAQ,IAAI,OAAO,CAEtC;IAED,OAAO,CAAC,oBAAoB,CAAC,CAAS;IACtC,OAAO,CAAC,aAAa,CAAC,CAAS;;IAmC/B,OAAO,CAAC,6BAA6B;IASrB,iBAAiB,IAAI,IAAI;IAQzC;;;OAGG;IACI,MAAM,IAAI,IAAI;IAMrB;;;OAGG;IACI,QAAQ,IAAI,IAAI;IAMvB;;;OAGG;IACI,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI;IAQjF,OAAO,CAAC,WAAW;IAkBnB;;;;OAIG;IACI,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;cAIjB,MAAM,IAAI,cAAc;CAM5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;CACF"}
@@ -1,2 +1,2 @@
1
- import { t as SbbStepLabelElement } from "../../step-label.component-CxqPgbzK.js";
1
+ import { t as SbbStepLabelElement } from "../../step-label.component-B7M9Yqyz.js";
2
2
  export { SbbStepLabelElement };
@@ -1,5 +1,5 @@
1
- import { t as SbbStepLabelElement } from "./step-label.component-CxqPgbzK.js";
2
- import { t as SbbStepElement } from "./step.component-B2qbHl0l.js";
1
+ import { t as SbbStepLabelElement } from "./step-label.component-B7M9Yqyz.js";
2
+ import { t as SbbStepElement } from "./step.component-CVWxYkrv.js";
3
3
  import { n as SbbStepperElement, t as SbbStepChangeEvent } from "./stepper.component-BTwJttZt.js";
4
4
  import "./stepper.pure.js";
5
5
  //#region src/elements/stepper.ts
@@ -1,4 +1,4 @@
1
- import { t as SbbStepLabelElement } from "./step-label.component-CxqPgbzK.js";
2
- import { t as SbbStepElement } from "./step.component-B2qbHl0l.js";
1
+ import { t as SbbStepLabelElement } from "./step-label.component-B7M9Yqyz.js";
2
+ import { t as SbbStepElement } from "./step.component-CVWxYkrv.js";
3
3
  import { n as SbbStepperElement, t as SbbStepChangeEvent } from "./stepper.component-BTwJttZt.js";
4
4
  export { SbbStepChangeEvent, SbbStepElement, SbbStepLabelElement, SbbStepperElement };
@@ -0,0 +1,14 @@
1
+ import { unsafeCSS } from "lit";
2
+ //#region src/elements/core/styles/box-sizing.scss?inline
3
+ var box_sizing_default = "*,\n::before,\n::after {\n box-sizing: border-box;\n}";
4
+ //#endregion
5
+ //#region src/elements/core/styles/host-scrollbar.scss?inline
6
+ var host_scrollbar_default = ":host {\n --sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);\n --sbb-scrollbar-thumb-width: 0.125rem;\n --sbb-scrollbar-thumb-width-hover: 0.25rem;\n --sbb-scrollbar-width-firefox: thin;\n --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-black) 30%, transparent);\n --sbb-scrollbar-color: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 30%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 30%, transparent)\n );\n --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-black) 60%, transparent);\n --sbb-scrollbar-color-hover: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 60%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 60%, transparent)\n );\n --sbb-scrollbar-track-color: transparent;\n}\n:host::-webkit-scrollbar {\n width: var(--sbb-scrollbar-width);\n height: var(--sbb-scrollbar-width);\n background-color: var(--sbb-scrollbar-track-color, transparent);\n}\n:host::-webkit-scrollbar-corner {\n background-color: var(--sbb-scrollbar-track-color, transparent);\n}\n:host::-webkit-scrollbar-thumb {\n background-color: var(--sbb-scrollbar-color, currentcolor);\n border: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;\n border-radius: var(--sbb-border-radius-4x);\n background-clip: padding-box;\n}\n:host::-webkit-scrollbar-thumb:hover {\n background-color: var(--sbb-scrollbar-color-hover, currentcolor);\n border-width: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)));\n}\n:host::-webkit-scrollbar-button, :host::-webkit-scrollbar-corner {\n display: none;\n}\n@supports not selector(::-webkit-scrollbar) {\n :host {\n scrollbar-width: var(--sbb-scrollbar-width-firefox);\n scrollbar-color: var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent);\n }\n}";
7
+ //#endregion
8
+ //#region src/elements/core/styles/styles.ts
9
+ var boxSizingStyles = unsafeCSS(box_sizing_default);
10
+ var hostScrollbarStyles = unsafeCSS(host_scrollbar_default);
11
+ //#endregion
12
+ export { hostScrollbarStyles as n, boxSizingStyles as t };
13
+
14
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLURjdUpnd0V0LmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL3N0eWxlcy9ib3gtc2l6aW5nLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvc3R5bGVzL2hvc3Qtc2Nyb2xsYmFyLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvc3R5bGVzL3N0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuL21peGlucy9oZWxwZXJzJztcblxuQGluY2x1ZGUgaGVscGVycy5ib3gtc2l6aW5nO1xuIiwiQHVzZSAnLi9taXhpbnMvc2Nyb2xsYmFyJztcblxuOmhvc3Qge1xuICBAaW5jbHVkZSBzY3JvbGxiYXIuc2Nyb2xsYmFyLXZhcmlhYmxlcztcbiAgQGluY2x1ZGUgc2Nyb2xsYmFyLnNjcm9sbGJhci1ydWxlcztcbn1cbiIsImltcG9ydCB7IHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5cbmltcG9ydCBib3hTaXppbmdTdHlsZXNTdHJpbmcgZnJvbSAnLi9ib3gtc2l6aW5nLnNjc3M/aW5saW5lJztcbmltcG9ydCBob3N0U2Nyb2xsYmFyU3RyaW5nIGZyb20gJy4vaG9zdC1zY3JvbGxiYXIuc2Nzcz9pbmxpbmUnO1xuXG5leHBvcnQgY29uc3QgYm94U2l6aW5nU3R5bGVzID0gdW5zYWZlQ1NTKGJveFNpemluZ1N0eWxlc1N0cmluZyk7XG5leHBvcnQgY29uc3QgaG9zdFNjcm9sbGJhclN0eWxlcyA9IHVuc2FmZUNTUyhob3N0U2Nyb2xsYmFyU3RyaW5nKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUVLQSxJQUFhLGtCQUFrQixVQUFVLG1CQUFzQjtBQUMvRCxJQUFhLHNCQUFzQixVQUFVLHVCQUFvQiJ9
@@ -0,0 +1,68 @@
1
+ import { html, unsafeCSS } from "lit";
2
+ import { SbbElement, hostScrollbarStyles } from "./core.js";
3
+ import { ResizeController } from "@lit-labs/observers/resize-controller.js";
4
+ //#region src/elements/tabs/tab/tab.scss?inline
5
+ var tab_default = "@charset \"UTF-8\";\n:host::after, :host::before {\n content: \"\xA0\";\n display: block;\n visibility: hidden;\n height: 0;\n overflow: hidden;\n}\n\n:host(:focus-visible) {\n outline-offset: var(--sbb-focus-outline-offset);\n outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);\n}\n\n:host(:not(:is(:state(active),[state--active]))) {\n display: none !important;\n}\n\n:host(:is(:state(active),[state--active])) {\n display: block;\n opacity: 1;\n transition-duration: var(--sbb-tab-group-animation-duration);\n transition-delay: var(--sbb-tab-group-animation-duration);\n transition-timing-function: var(--sbb-animation-easing);\n transition-property: opacity, height;\n transition-behavior: allow-discrete;\n}\n@starting-style {\n :host(:is(:state(active),[state--active])) {\n opacity: 0;\n }\n}";
6
+ //#endregion
7
+ //#region src/elements/tabs/tab/tab.component.ts
8
+ /**
9
+ * Combined with a `sbb-tab-group` and `sbb-tab-label`, it displays a tab's content.
10
+ *
11
+ * @slot - Use the unnamed slot to provide content.
12
+ * @event {Event} active - The `active` event fires when the sbb-tab has been activated via user selection on the sbb-tab-label.
13
+ */
14
+ var SbbTabElement = class extends SbbElement {
15
+ constructor() {
16
+ super(...arguments);
17
+ this._tabContentResizeObserver = new ResizeController(this, {
18
+ target: null,
19
+ skipInitial: true,
20
+ callback: () => this._onTabContentElementResize()
21
+ });
22
+ }
23
+ static {
24
+ this.elementName = "sbb-tab";
25
+ }
26
+ static {
27
+ this.role = "tabpanel";
28
+ }
29
+ static {
30
+ this.styles = [hostScrollbarStyles, unsafeCSS(tab_default)];
31
+ }
32
+ static {
33
+ this.events = { active: "active" };
34
+ }
35
+ /** The `sbb-tab-label` associated with the tab. */
36
+ get label() {
37
+ return this.previousElementSibling?.localName === "sbb-tab-label" ? this.previousElementSibling : null;
38
+ }
39
+ /** Get the parent `sbb-tab-group`. */
40
+ get group() {
41
+ return this.closest("sbb-tab-group");
42
+ }
43
+ connectedCallback() {
44
+ super.connectedCallback();
45
+ this.tabIndex = 0;
46
+ this.classList.add("sbb-scrollbar");
47
+ }
48
+ /** @internal */
49
+ activate() {
50
+ this.internals.states.add("active");
51
+ this._tabContentResizeObserver.observe(this);
52
+ }
53
+ /** @internal */
54
+ deactivate() {
55
+ this._tabContentResizeObserver.unobserve(this);
56
+ this.internals.states.delete("active");
57
+ }
58
+ _onTabContentElementResize() {
59
+ this.group?.["setTabContentHeight"](Math.floor(this.getBoundingClientRect().height));
60
+ }
61
+ render() {
62
+ return html`<slot></slot>`;
63
+ }
64
+ };
65
+ //#endregion
66
+ export { SbbTabElement as t };
67
+
68
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLmNvbXBvbmVudC1CVmhZUHk1WS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdGFicy90YWIvdGFiLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYnMvdGFiL3RhYi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBAaW5jbHVkZSBzYmIuaWdub3JlLWNoaWxkcmVuLW1hcmdpbjtcbn1cblxuOmhvc3QoOmZvY3VzLXZpc2libGUpIHtcbiAgQGluY2x1ZGUgc2JiLmZvY3VzLW91dGxpbmU7XG59XG5cbjpob3N0KDpub3QoOnN0YXRlKGFjdGl2ZSkpKSB7XG4gIC8vIFdlIHdhbnQgdGhhdCBhIGNvbnN1bWVyIGNhbiBoYXZlIGEgZGlmZmVyZW50IGRpc3BsYXkgcHJvcGVydHkgb24gdGhlIHRhYiwgZS5nLiBmbGV4LCBncmlkLCBldGMuXG4gIC8vIEJ1dCBpZiB0aGUgdGFiIGlzIG5vdCBhY3RpdmUsIGRpc3BsYXk6IG5vbmUgc2hvdWxkIGFsd2F5cyB3aW4uXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuOmhvc3QoOnN0YXRlKGFjdGl2ZSkpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IHtcbiAgICBkdXJhdGlvbjogdmFyKC0tc2JiLXRhYi1ncm91cC1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgIGRlbGF5OiB2YXIoLS1zYmItdGFiLWdyb3VwLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgcHJvcGVydHk6IG9wYWNpdHksIGhlaWdodDtcbiAgfVxuXG4gIC8vIEV4cGVyaW1lbnRhbCBwcm9wZXJ0eSwgYnV0IHN1cHBvcnRlZCBpbiBldmVyeSBtYWpvciBicm93c2VyLlxuICB0cmFuc2l0aW9uLWJlaGF2aW9yOiBhbGxvdy1kaXNjcmV0ZTtcblxuICAvLyBFeHBlcmltZW50YWwgcHJvcGVydHksIGN1cnJlbnRseSBzdXBwb3J0ZWQgaW4gZXZlcnkgbWFqb3IgYnJvd3NlciBleGNlcHQgRmlyZWZveC5cbiAgQHN0YXJ0aW5nLXN0eWxlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4iLCJpbXBvcnQgeyBSZXNpemVDb250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9yZXNpemUtY29udHJvbGxlci5qcyc7XG5pbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBodG1sLCB0eXBlIFRlbXBsYXRlUmVzdWx0LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBob3N0U2Nyb2xsYmFyU3R5bGVzLCBTYmJFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRhYkdyb3VwRWxlbWVudCB9IGZyb20gJy4uL3RhYi1ncm91cC90YWItZ3JvdXAuY29tcG9uZW50LnRzJztcbmltcG9ydCB0eXBlIHsgU2JiVGFiTGFiZWxFbGVtZW50IH0gZnJvbSAnLi4vdGFiLWxhYmVsL3RhYi1sYWJlbC5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90YWIuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIENvbWJpbmVkIHdpdGggYSBgc2JiLXRhYi1ncm91cGAgYW5kIGBzYmItdGFiLWxhYmVsYCwgaXQgZGlzcGxheXMgYSB0YWIncyBjb250ZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gcHJvdmlkZSBjb250ZW50LlxuICogQGV2ZW50IHtFdmVudH0gYWN0aXZlIC0gVGhlIGBhY3RpdmVgIGV2ZW50IGZpcmVzIHdoZW4gdGhlIHNiYi10YWIgaGFzIGJlZW4gYWN0aXZhdGVkIHZpYSB1c2VyIHNlbGVjdGlvbiBvbiB0aGUgc2JiLXRhYi1sYWJlbC5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlRhYkVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi10YWInO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJvbGUgPSAndGFicGFuZWwnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbaG9zdFNjcm9sbGJhclN0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIGFjdGl2ZTogJ2FjdGl2ZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgcHJpdmF0ZSBfdGFiQ29udGVudFJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKCkgPT4gdGhpcy5fb25UYWJDb250ZW50RWxlbWVudFJlc2l6ZSgpLFxuICB9KTtcblxuICAvKiogVGhlIGBzYmItdGFiLWxhYmVsYCBhc3NvY2lhdGVkIHdpdGggdGhlIHRhYi4gKi9cbiAgcHVibGljIGdldCBsYWJlbCgpOiBTYmJUYWJMYWJlbEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5wcmV2aW91c0VsZW1lbnRTaWJsaW5nPy5sb2NhbE5hbWUgPT09ICdzYmItdGFiLWxhYmVsJ1xuICAgICAgPyAodGhpcy5wcmV2aW91c0VsZW1lbnRTaWJsaW5nIGFzIFNiYlRhYkxhYmVsRWxlbWVudClcbiAgICAgIDogbnVsbDtcbiAgfVxuXG4gIC8qKiBHZXQgdGhlIHBhcmVudCBgc2JiLXRhYi1ncm91cGAuICovXG4gIHB1YmxpYyBnZXQgZ3JvdXAoKTogU2JiVGFiR3JvdXBFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY2xvc2VzdCgnc2JiLXRhYi1ncm91cCcpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy50YWJJbmRleCA9IDA7XG5cbiAgICAvLyBXaGVuIGluY2x1ZGluZyB0aGUgc2Nyb2xsYmFyIHN0eWxlcyBvbiB0aGUgaG9zdCwgdGhlcmUgaXMgbm8gaG92ZXIgZWZmZWN0IG9mIHRoZSBzY3JvbGxiYXIgcG9zc2libGUuXG4gICAgLy8gSW4gbW9zdCBjYXNlcywgdGhlIGNvbXBvbmVudCB3aWxsIGJlIHVzZWQgaW4gTGlnaHQgRE9NLiBUbyBhbHNvIHN1cHBvcnQgdGhlIGhvdmVyIGVmZmVjdCxcbiAgICAvLyB3ZSBhZGRpdGlvbmFsbHkgYWRkIHRoZSBgc2JiLXNjcm9sbGJhcmAgQ1NTIGNsYXNzIHRvIHRoZSBob3N0LlxuICAgIC8vIFRoaXMgaXMgYW4gZXhjZXB0aW9uIGFzIHdlIG5vcm1hbGx5IGRvbid0IGFsdGVyIHRoZSBjbGFzc0xpc3Qgb2YgdGhlIGhvc3QuXG4gICAgdGhpcy5jbGFzc0xpc3QuYWRkKCdzYmItc2Nyb2xsYmFyJyk7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHByb3RlY3RlZCBhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKCdhY3RpdmUnKTtcbiAgICB0aGlzLl90YWJDb250ZW50UmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzKTtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHJvdGVjdGVkIGRlYWN0aXZhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5fdGFiQ29udGVudFJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzKTtcbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdhY3RpdmUnKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uVGFiQ29udGVudEVsZW1lbnRSZXNpemUoKTogdm9pZCB7XG4gICAgdGhpcy5ncm91cD8uWydzZXRUYWJDb250ZW50SGVpZ2h0J10oTWF0aC5mbG9vcih0aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPHNsb3Q+PC9zbG90PmA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10YWInOiBTYmJUYWJFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUNlQSxJQUFhLGdCQUFiLGNBQW1DLFdBQVU7Q0FBN0MsY0FBQTs7QUFRVSxPQUFBLDRCQUE0QixJQUFJLGlCQUFpQixNQUFNO0dBQzdELFFBQVE7R0FDUixhQUFhO0dBQ2IsZ0JBQWdCLEtBQUssNEJBQUE7R0FDdEIsQ0FBQzs7O0FBWDhCLE9BQUEsY0FBc0I7OztBQUMvQixPQUFBLE9BQU87OztBQUNQLE9BQUEsU0FBeUIsQ0FBQyxxQkFBcUIsVUFBVSxZQUFNLENBQUM7OztBQUNoRSxPQUFBLFNBQVMsRUFDOUIsUUFBUSxVQUNBOzs7Q0FTVixJQUFXLFFBQUs7QUFDZCxTQUFPLEtBQUssd0JBQXdCLGNBQWMsa0JBQzdDLEtBQUsseUJBQ047OztDQUlOLElBQVcsUUFBSztBQUNkLFNBQU8sS0FBSyxRQUFRLGdCQUFnQjs7Q0FHdEIsb0JBQWlCO0FBQy9CLFFBQU0sbUJBQW1CO0FBQ3pCLE9BQUssV0FBVztBQU1oQixPQUFLLFVBQVUsSUFBSSxnQkFBZ0I7OztDQUkzQixXQUFRO0FBQ2hCLE9BQUssVUFBVSxPQUFPLElBQUksU0FBUztBQUNuQyxPQUFLLDBCQUEwQixRQUFRLEtBQUs7OztDQUlwQyxhQUFVO0FBQ2xCLE9BQUssMEJBQTBCLFVBQVUsS0FBSztBQUM5QyxPQUFLLFVBQVUsT0FBTyxPQUFPLFNBQVM7O0NBR2hDLDZCQUEwQjtBQUNoQyxPQUFLLFFBQVEsdUJBQXVCLEtBQUssTUFBTSxLQUFLLHVCQUF1QixDQUFDLE9BQU8sQ0FBQzs7Q0FHbkUsU0FBTTtBQUN2QixTQUFPLElBQUkifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"table-wrapper.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/table/table-wrapper/table-wrapper.component.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAGnB,KAAK,cAAc,EACnB,KAAK,cAAc,EAEpB,MAAM,KAAK,CAAC;AAGb,OAAO,EAAa,UAAU,EAAoB,MAAM,eAAe,CAAC;;AAIxE;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,2BAA4B;IACtE,gBAAgC,WAAW,EAAE,MAAM,CAAuB;IAC1E,gBAAgC,IAAI,aAAa;IACjD,OAAuB,MAAM,EAAE,cAAc,CAAoB;IAEjE,8CAA8C;IAC9C,SAEgB,SAAS,EAAE,OAAO,CAAS;;IAgB3B,iBAAiB,IAAI,IAAI;cAStB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAkB5E,OAAO,CAAC,qBAAqB;IAa7B;;;OAGG;IACH,OAAO,CAAC,+BAA+B;IAWvC,OAAO,CAAC,sBAAsB;cAeX,MAAM,IAAI,cAAc;CAG5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,mBAAmB,EAAE,sBAAsB,CAAC;KAC7C;CACF"}
1
+ {"version":3,"file":"table-wrapper.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/table/table-wrapper/table-wrapper.component.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAGnB,KAAK,cAAc,EACnB,KAAK,cAAc,EAEpB,MAAM,KAAK,CAAC;AAGb,OAAO,EAAkC,UAAU,EAAoB,MAAM,eAAe,CAAC;;AAI7F;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,2BAA4B;IACtE,gBAAgC,WAAW,EAAE,MAAM,CAAuB;IAC1E,gBAAgC,IAAI,aAAa;IACjD,OAAuB,MAAM,EAAE,cAAc,CAA2C;IAExF,8CAA8C;IAC9C,SAEgB,SAAS,EAAE,OAAO,CAAS;;IAgB3B,iBAAiB,IAAI,IAAI;cAUtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAkB5E,OAAO,CAAC,qBAAqB;IAa7B;;;OAGG;IACH,OAAO,CAAC,+BAA+B;IAWvC,OAAO,CAAC,sBAAsB;cAeX,MAAM,IAAI,cAAc;CAG5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,mBAAmB,EAAE,sBAAsB,CAAC;KAC7C;CACF"}
@@ -1,2 +1,2 @@
1
- import { t as SbbTableWrapperElement } from "../../table-wrapper.component-iSeT-FPH.js";
1
+ import { t as SbbTableWrapperElement } from "../../table-wrapper.component-DcLwEDzr.js";
2
2
  export { SbbTableWrapperElement };