@sbb-esta/lyne-elements-dev 5.0.0-next-dev.1776866482 → 5.0.0-next-dev.1776872994

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 (315) hide show
  1. package/autocomplete/autocomplete-base-element.js +1 -1
  2. package/autocomplete/autocomplete.component.js +1 -1
  3. package/{autocomplete-base-element-gPLexIVc.js → autocomplete-base-element-BmiLbRHZ.js} +1 -1
  4. package/autocomplete.js +1 -1
  5. package/autocomplete.pure.js +1 -1
  6. package/{block-link-common-CiqQc2Rs.js → block-link-common-BiM6tnUZ.js} +1 -1
  7. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  8. package/{breadcrumb-group.component-Bfm4RZu7.js → breadcrumb-group.component-De3Lu3lx.js} +1 -1
  9. package/breadcrumb.js +1 -1
  10. package/breadcrumb.pure.js +1 -1
  11. package/button/common/button-common.js +1 -1
  12. package/button-common-Cu47yCSS.js +85 -0
  13. package/button.js +1 -1
  14. package/button.pure.js +1 -1
  15. package/calendar/calendar/calendar.component.js +1 -1
  16. package/{calendar.component-ZyfTrKs_.js → calendar.component-nWdtZYqg.js} +1 -1
  17. package/calendar.js +1 -1
  18. package/calendar.pure.js +1 -1
  19. package/card/card-badge/card-badge.component.js +1 -1
  20. package/{card-badge.component-CsEpGTHm.js → card-badge.component-CEqox6TU.js} +1 -1
  21. package/card.js +1 -1
  22. package/card.pure.js +1 -1
  23. package/checkbox/checkbox.component.js +1 -1
  24. package/checkbox/common/checkbox-common.js +1 -1
  25. package/{checkbox-common-Bo4u1RXX.js → checkbox-common-DSmxKbmR.js} +1 -1
  26. package/{checkbox.component-vjqZh2aC.js → checkbox.component-CR2aIgjA.js} +1 -1
  27. package/checkbox.js +2 -2
  28. package/checkbox.pure.js +2 -2
  29. package/chip/chip-group/chip-group.component.js +1 -1
  30. package/{chip-group.component-DPzfaV_H.js → chip-group.component-DbNctvjy.js} +1 -1
  31. package/chip.js +1 -1
  32. package/chip.pure.js +1 -1
  33. package/{compact-paginator.component-DEEhXiMm.js → compact-paginator.component-Dyu9bezr.js} +1 -1
  34. package/core/styles/core.scss +17 -73
  35. package/core/styles/mixins/typo.scss +2 -2
  36. package/core.css +67 -65
  37. package/custom-elements.json +3179 -3179
  38. package/development/autocomplete/autocomplete-base-element.js +1 -1
  39. package/development/autocomplete/autocomplete.component.js +1 -1
  40. package/development/autocomplete-base-element-BC3IUhrb.js +686 -0
  41. package/development/autocomplete.js +1 -1
  42. package/development/autocomplete.pure.js +1 -1
  43. package/development/{block-link-common-B9Vx8CTp.js → block-link-common-qMULXu4g.js} +2 -2
  44. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  45. package/development/breadcrumb-group.component-BC1mWiQE.js +193 -0
  46. package/development/breadcrumb.js +1 -1
  47. package/development/breadcrumb.pure.js +1 -1
  48. package/development/button/common/button-common.js +1 -1
  49. package/development/{button-common-jaQVRdwS.js → button-common-ChY47M8t.js} +3 -3
  50. package/development/button.js +1 -1
  51. package/development/button.pure.js +1 -1
  52. package/development/calendar/calendar/calendar.component.js +1 -1
  53. package/development/calendar.component-B5dz7mau.js +1451 -0
  54. package/development/calendar.js +1 -1
  55. package/development/calendar.pure.js +1 -1
  56. package/development/card/card-badge/card-badge.component.js +1 -1
  57. package/development/card-badge.component-CQBLpmpo.js +83 -0
  58. package/development/card.js +1 -1
  59. package/development/card.pure.js +1 -1
  60. package/development/checkbox/checkbox.component.js +1 -1
  61. package/development/checkbox/common/checkbox-common.js +1 -1
  62. package/development/checkbox-common-DOoEKgML.js +84 -0
  63. package/development/{checkbox.component-DgrfkdyZ.js → checkbox.component-DZjhQhbB.js} +2 -2
  64. package/development/checkbox.js +2 -2
  65. package/development/checkbox.pure.js +2 -2
  66. package/development/chip/chip-group/chip-group.component.js +1 -1
  67. package/development/chip-group.component-B4Mjcep2.js +402 -0
  68. package/development/chip.js +1 -1
  69. package/development/chip.pure.js +1 -1
  70. package/development/compact-paginator.component-CRojCci5.js +51 -0
  71. package/development/error.component-TvgLhaZh.js +53 -0
  72. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  73. package/development/expansion-panel-header.component-Ok8Qmq5K.js +82 -0
  74. package/development/expansion-panel.js +1 -1
  75. package/development/expansion-panel.pure.js +1 -1
  76. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  77. package/development/{file-selector-dropzone.component-dyv_u-Ga.js → file-selector-dropzone.component-B1Y5qOjb.js} +2 -2
  78. package/development/file-selector.js +1 -1
  79. package/development/file-selector.pure.js +1 -1
  80. package/development/footer/footer.component.js +1 -1
  81. package/development/footer.component-kFeZqO-Q.js +169 -0
  82. package/development/footer.js +1 -1
  83. package/development/footer.pure.js +1 -1
  84. package/development/form-field/error/error.component.js +1 -1
  85. package/development/form-field/form-field/form-field.component.js +1 -1
  86. package/development/form-field/hint/hint.component.js +1 -1
  87. package/development/form-field.component-CdTnOAi2.js +703 -0
  88. package/development/form-field.js +3 -3
  89. package/development/form-field.pure.js +3 -3
  90. package/development/header/header/header.component.js +1 -1
  91. package/development/header.component-BmZkCs9m.js +335 -0
  92. package/development/header.js +1 -1
  93. package/development/header.pure.js +1 -1
  94. package/development/hint.component-D5rTFJ-O.js +36 -0
  95. package/development/link/common/block-link-common.js +1 -1
  96. package/development/link.js +1 -1
  97. package/development/link.pure.js +1 -1
  98. package/development/message/message.component.js +1 -1
  99. package/development/message.component-Dzah9lXK.js +43 -0
  100. package/development/message.js +1 -1
  101. package/development/message.pure.js +1 -1
  102. package/development/navigation/common/navigation-action-common.js +1 -1
  103. package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
  104. package/development/navigation/navigation-section/navigation-section.component.js +1 -1
  105. package/development/{navigation-action-common-ZBiv0Xiw.js → navigation-action-common-B2soWZWW.js} +2 -2
  106. package/development/{navigation-marker.component-BsfPR_uk.js → navigation-marker.component-BRdbbjF5.js} +2 -2
  107. package/development/{navigation-section.component-BSvxMUxM.js → navigation-section.component-VwCJlOfE.js} +2 -2
  108. package/development/navigation.js +3 -3
  109. package/development/navigation.pure.js +3 -3
  110. package/development/notification/notification.component.js +1 -1
  111. package/development/notification.component-BgF5aGrn.js +271 -0
  112. package/development/notification.js +1 -1
  113. package/development/notification.pure.js +1 -1
  114. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  115. package/development/paginator/paginator/paginator.component.js +1 -1
  116. package/development/paginator.component-BlyTYIs0.js +261 -0
  117. package/development/paginator.js +2 -2
  118. package/development/paginator.pure.js +2 -2
  119. package/development/radio-button/common/radio-button-common.js +1 -1
  120. package/development/radio-button/radio-button.component.js +1 -1
  121. package/development/radio-button-common-ZMs5IFm2.js +125 -0
  122. package/development/{radio-button.component-DAgH41z0.js → radio-button.component-DggZ7RZD.js} +2 -2
  123. package/development/radio-button.js +2 -2
  124. package/development/radio-button.pure.js +2 -2
  125. package/development/select/select.component.js +1 -1
  126. package/development/select.component-CZI19HAK.js +804 -0
  127. package/development/select.js +1 -1
  128. package/development/select.pure.js +1 -1
  129. package/development/status/status.component.js +1 -1
  130. package/development/status.component-BtJ8ri61.js +110 -0
  131. package/development/status.js +1 -1
  132. package/development/status.pure.js +1 -1
  133. package/development/step-label.component-Dfx9rLcN.js +126 -0
  134. package/development/stepper/step-label/step-label.component.js +1 -1
  135. package/development/stepper.js +1 -1
  136. package/development/stepper.pure.js +1 -1
  137. package/development/styles-WppEBrlW.js +14 -0
  138. package/development/{tab-label.component-Du1W0dxN.js → tab-label.component-Ggx6qaIk.js} +2 -2
  139. package/development/tabs/common/styles.js +1 -1
  140. package/development/tabs/tab-label/tab-label.component.js +1 -1
  141. package/development/tabs.js +2 -2
  142. package/development/tabs.pure.js +2 -2
  143. package/development/tag/tag/tag.component.js +1 -1
  144. package/development/tag.component-Davxisfj.js +241 -0
  145. package/development/tag.js +1 -1
  146. package/development/tag.pure.js +1 -1
  147. package/development/teaser-hero/teaser-hero.component.js +1 -1
  148. package/development/teaser-hero.component-bp9IsVmY.js +100 -0
  149. package/development/teaser-hero.js +1 -1
  150. package/development/teaser-hero.pure.js +1 -1
  151. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  152. package/development/{timetable-occupancy.component-D6BIvkpY.js → timetable-occupancy.component-B-uVA9KC.js} +2 -2
  153. package/development/timetable-occupancy.js +1 -1
  154. package/development/timetable-occupancy.pure.js +1 -1
  155. package/development/title/title-base.js +1 -1
  156. package/development/title/title.component.js +1 -1
  157. package/development/{title-base-CWLTIRh_.js → title-base-DKVyL7TQ.js} +2 -2
  158. package/development/{title.component-TCKohHBO.js → title.component-BEEzA9cF.js} +2 -2
  159. package/development/title.js +2 -2
  160. package/development/title.pure.js +2 -2
  161. package/development/toast/toast.component.js +1 -1
  162. package/development/{toast.component-CZL72aVO.js → toast.component-1YR4wmm9.js} +2 -2
  163. package/development/toast.js +1 -1
  164. package/development/toast.pure.js +1 -1
  165. package/development/toggle/toggle/toggle.component.js +1 -1
  166. package/development/toggle.component-CQYpVyvs.js +244 -0
  167. package/development/toggle.js +1 -1
  168. package/development/toggle.pure.js +1 -1
  169. package/development/tooltip/tooltip.component.js +1 -1
  170. package/development/tooltip.component-Br7aDPFn.js +369 -0
  171. package/development/tooltip.js +1 -1
  172. package/development/tooltip.pure.js +1 -1
  173. package/development/train/train-wagon/train-wagon.component.js +1 -1
  174. package/development/{train-wagon.component-X0XSMLK_.js → train-wagon.component-B6V4dPKn.js} +2 -2
  175. package/development/train.js +1 -1
  176. package/development/train.pure.js +1 -1
  177. package/{error.component-BLChP2fE.js → error.component-D3JgDJfN.js} +1 -1
  178. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  179. package/{expansion-panel-header.component-DdRIlyms.js → expansion-panel-header.component-DYvq-uUi.js} +1 -1
  180. package/expansion-panel.js +1 -1
  181. package/expansion-panel.pure.js +1 -1
  182. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  183. package/{file-selector-dropzone.component-Bz3Wpl0X.js → file-selector-dropzone.component-BSF-kegh.js} +1 -1
  184. package/file-selector.js +1 -1
  185. package/file-selector.pure.js +1 -1
  186. package/footer/footer.component.js +1 -1
  187. package/{footer.component-Don15vOd.js → footer.component-CdTEaV6u.js} +1 -1
  188. package/footer.js +1 -1
  189. package/footer.pure.js +1 -1
  190. package/form-field/error/error.component.js +1 -1
  191. package/form-field/form-field/form-field.component.js +1 -1
  192. package/form-field/hint/hint.component.js +1 -1
  193. package/{form-field.component-DbV7fMoe.js → form-field.component-Dtzbp6-e.js} +1 -1
  194. package/form-field.js +3 -3
  195. package/form-field.pure.js +3 -3
  196. package/header/header/header.component.js +1 -1
  197. package/{header.component-D-WVEMFn.js → header.component-DoAFSXgO.js} +1 -1
  198. package/header.js +1 -1
  199. package/header.pure.js +1 -1
  200. package/{hint.component-CaF6CBCN.js → hint.component-BB_h0G6v.js} +1 -1
  201. package/link/common/block-link-common.js +1 -1
  202. package/link.js +1 -1
  203. package/link.pure.js +1 -1
  204. package/message/message.component.js +1 -1
  205. package/message.component-CF-_MD7m.js +26 -0
  206. package/message.js +1 -1
  207. package/message.pure.js +1 -1
  208. package/navigation/common/navigation-action-common.js +1 -1
  209. package/navigation/navigation-marker/navigation-marker.component.js +1 -1
  210. package/navigation/navigation-section/navigation-section.component.js +1 -1
  211. package/{navigation-action-common-Dm47M2BG.js → navigation-action-common-D2vwX-oy.js} +1 -1
  212. package/{navigation-marker.component-1VHe19c9.js → navigation-marker.component-BQzC4gn_.js} +1 -1
  213. package/{navigation-section.component-DrnbQAZX.js → navigation-section.component-CR-FanCa.js} +1 -1
  214. package/navigation.js +3 -3
  215. package/navigation.pure.js +3 -3
  216. package/notification/notification.component.js +1 -1
  217. package/{notification.component-IsSZe3Ul.js → notification.component-D9oxjMJs.js} +1 -1
  218. package/notification.js +1 -1
  219. package/notification.pure.js +1 -1
  220. package/off-brand-theme.css +67 -65
  221. package/package.json +2 -2
  222. package/paginator/compact-paginator/compact-paginator.component.js +1 -1
  223. package/paginator/paginator/paginator.component.js +1 -1
  224. package/{paginator.component-BkECB-iV.js → paginator.component-DA_wUypF.js} +1 -1
  225. package/paginator.js +2 -2
  226. package/paginator.pure.js +2 -2
  227. package/radio-button/common/radio-button-common.js +1 -1
  228. package/radio-button/radio-button.component.js +1 -1
  229. package/{radio-button-common-CQyKqDLJ.js → radio-button-common-iNYco_B8.js} +1 -1
  230. package/{radio-button.component-Cenb6FL5.js → radio-button.component-v5czJYC3.js} +1 -1
  231. package/radio-button.js +2 -2
  232. package/radio-button.pure.js +2 -2
  233. package/safety-theme.css +67 -65
  234. package/select/select.component.js +1 -1
  235. package/{select.component-BcDZm7EM.js → select.component-CCFfP21g.js} +1 -1
  236. package/select.js +1 -1
  237. package/select.pure.js +1 -1
  238. package/standard-theme.css +67 -65
  239. package/status/status.component.js +1 -1
  240. package/{status.component-CgMvY4Pe.js → status.component-5SKEusnj.js} +1 -1
  241. package/status.js +1 -1
  242. package/status.pure.js +1 -1
  243. package/step-label.component-DM7lQw8b.js +77 -0
  244. package/stepper/step-label/step-label.component.js +1 -1
  245. package/stepper.js +1 -1
  246. package/stepper.pure.js +1 -1
  247. package/styles-DisU4TWi.js +5 -0
  248. package/{tab-label.component-CH24fqmB.js → tab-label.component-JjktN30A.js} +1 -1
  249. package/tabs/common/styles.js +1 -1
  250. package/tabs/tab-label/tab-label.component.js +1 -1
  251. package/tabs.js +2 -2
  252. package/tabs.pure.js +2 -2
  253. package/tag/tag/tag.component.js +1 -1
  254. package/{tag.component-B7YExnbA.js → tag.component-BGYVbfUx.js} +1 -1
  255. package/tag.js +1 -1
  256. package/tag.pure.js +1 -1
  257. package/teaser-hero/teaser-hero.component.js +1 -1
  258. package/{teaser-hero.component-BUhWjc2i.js → teaser-hero.component-By1HInfz.js} +1 -1
  259. package/teaser-hero.js +1 -1
  260. package/teaser-hero.pure.js +1 -1
  261. package/timetable-occupancy/timetable-occupancy.component.js +1 -1
  262. package/{timetable-occupancy.component-CLpJ-rjI.js → timetable-occupancy.component-Dq9RM6qS.js} +1 -1
  263. package/timetable-occupancy.js +1 -1
  264. package/timetable-occupancy.pure.js +1 -1
  265. package/title/title-base.js +1 -1
  266. package/title/title.component.js +1 -1
  267. package/{title-base-HD0z6npS.js → title-base-B43-Q_7r.js} +1 -1
  268. package/{title.component-CjDkG7gT.js → title.component-DXJHJ6p6.js} +1 -1
  269. package/title.js +2 -2
  270. package/title.pure.js +2 -2
  271. package/toast/toast.component.js +1 -1
  272. package/{toast.component-DzsaWxPV.js → toast.component-D53COYeM.js} +1 -1
  273. package/toast.js +1 -1
  274. package/toast.pure.js +1 -1
  275. package/toggle/toggle/toggle.component.js +1 -1
  276. package/{toggle.component-D7X0E_hM.js → toggle.component-BGgAnHau.js} +1 -1
  277. package/toggle.js +1 -1
  278. package/toggle.pure.js +1 -1
  279. package/tooltip/tooltip.component.js +1 -1
  280. package/{tooltip.component-BCRFxBuV.js → tooltip.component-Bp-8vRoA.js} +1 -1
  281. package/tooltip.js +1 -1
  282. package/tooltip.pure.js +1 -1
  283. package/train/train-wagon/train-wagon.component.js +1 -1
  284. package/{train-wagon.component-CZiVPOaZ.js → train-wagon.component-LwKwwuta.js} +1 -1
  285. package/train.js +1 -1
  286. package/train.pure.js +1 -1
  287. package/button-common-C3wYY-UK.js +0 -85
  288. package/development/autocomplete-base-element-8hV4-ys6.js +0 -686
  289. package/development/breadcrumb-group.component-DP9X9qV1.js +0 -193
  290. package/development/calendar.component-C2WJuFrr.js +0 -1451
  291. package/development/card-badge.component-Be4gXazr.js +0 -83
  292. package/development/checkbox-common-DpE48IrV.js +0 -84
  293. package/development/chip-group.component-CxM8l839.js +0 -402
  294. package/development/compact-paginator.component-DiMeNNTc.js +0 -51
  295. package/development/error.component-C8JQQqSB.js +0 -53
  296. package/development/expansion-panel-header.component-CWojFAB-.js +0 -82
  297. package/development/footer.component-Dbc5xFqr.js +0 -169
  298. package/development/form-field.component-M0wf8ZR8.js +0 -703
  299. package/development/header.component-B2T2pmHs.js +0 -335
  300. package/development/hint.component-hKw1TLvO.js +0 -36
  301. package/development/message.component-CrXtMprr.js +0 -43
  302. package/development/notification.component-CKyNdgbx.js +0 -271
  303. package/development/paginator.component-Cqm7MuRD.js +0 -261
  304. package/development/radio-button-common-u7NYOI2p.js +0 -125
  305. package/development/select.component-Ibby7Q-L.js +0 -804
  306. package/development/status.component-p-egQ_U4.js +0 -110
  307. package/development/step-label.component-BTXuaONx.js +0 -126
  308. package/development/styles-D_8dMc_0.js +0 -14
  309. package/development/tag.component-CWL9jJTW.js +0 -241
  310. package/development/teaser-hero.component-De621iKn.js +0 -100
  311. package/development/toggle.component-BeHHTgRh.js +0 -244
  312. package/development/tooltip.component-BV0yBh9f.js +0 -369
  313. package/message.component-DgTPvDym.js +0 -26
  314. package/step-label.component-CbtQ7MvH.js +0 -77
  315. package/styles-DMLyYaea.js +0 -5
@@ -1,402 +0,0 @@
1
- import { __esDecorate, __runInitializers } from "tslib";
2
- import { html, isServer, unsafeCSS } from "lit";
3
- import { property } from "lit/decorators.js";
4
- import { SbbDisabledMixin, SbbElement, SbbFormAssociatedMixin, SbbLanguageController, SbbNegativeMixin, SbbPropertyWatcherController, SbbRequiredMixin, boxSizingStyles, forceType, getNextElementIndex, i18nChipGroupInputDescription, i18nSelectionRequired, isArrowKeyPressed, isLean } from "./core.js";
5
- import { SbbChipElement } from "./chip/chip/chip.component.js";
6
- //#region src/elements/chip/chip-group/chip-group.scss?inline
7
- var chip_group_default = ":host {\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n gap: var(--sbb-chip-group-gap);\n align-items: center;\n margin-block: var(--sbb-chip-group-margin-block);\n}\n\n:host(:is(:is(:state(size-s),[state--size-s]), :is(:state(empty),[state--empty]))) {\n --sbb-chip-group-margin-block: 0;\n}\n\n:host(:is(:state(size-s),[state--size-s]):not(:is(:state(empty),[state--empty]))) {\n --sbb-chip-group-margin-block: 0.375rem 0.3125rem;\n}\n@media (min-width: calc(64rem)) {\n :host(:is(:state(size-s),[state--size-s]):not(:is(:state(empty),[state--empty]))) {\n --sbb-chip-group-margin-block: 0.3125rem 0.1875rem;\n }\n}\n\n:host(:is(:state(without-label),[state--without-label]):is(:state(size-s),[state--size-s]):not(:is(:state(empty),[state--empty]))) {\n --sbb-chip-group-margin-block: 0 0.4375rem;\n}\n@media (min-width: calc(64rem)) {\n :host(:is(:state(without-label),[state--without-label]):is(:state(size-s),[state--size-s]):not(:is(:state(empty),[state--empty]))) {\n --sbb-chip-group-margin-block: 0 0.3125rem;\n }\n}\n\n:host(:is(:is(:state(size-l),[state--size-l]), :is(:state(size-m),[state--size-m]))) {\n --sbb-chip-group-margin-block: var(--_sbb-chip-group-margin-block-start-default) 0;\n}\n@media (min-width: calc(64rem)) {\n :host(:is(:is(:state(size-l),[state--size-l]), :is(:state(size-m),[state--size-m]))) {\n --sbb-chip-group-margin-block: var(--_sbb-chip-group-margin-block-start-default-large) 0;\n }\n}\n\n:host(:is(:state(without-label),[state--without-label]):is(:state(size-m),[state--size-m]):not(:is(:state(empty),[state--empty]))) {\n --sbb-chip-group-margin-block: 0.1875rem 0.6875rem;\n}\n@media (min-width: calc(64rem)) {\n :host(:is(:state(without-label),[state--without-label]):is(:state(size-m),[state--size-m]):not(:is(:state(empty),[state--empty]))) {\n --sbb-chip-group-margin-block: 0.1875rem 0.875rem;\n }\n}\n\n:host(:is(:state(without-label),[state--without-label]):not(:is(:state(empty),[state--empty]), :is(:state(size-s),[state--size-s]), :is(:state(size-m),[state--size-m]), :is(:state(size-l),[state--size-l]))) {\n --sbb-chip-group-margin-block: var(--sbb-chip-group-margin-block-no-label-not-empty);\n}\n\n:host(:not(:is(:state(without-label),[state--without-label])):is(:state(size-m),[state--size-m]):not(:is(:state(empty),[state--empty]))) {\n --sbb-chip-group-margin-block: var(--_sbb-chip-group-margin-block-start-default)\n var(--_sbb-chip-group-margin-block-start-default-large);\n}\n@media (min-width: calc(64rem)) {\n :host(:not(:is(:state(without-label),[state--without-label])):is(:state(size-m),[state--size-m]):not(:is(:state(empty),[state--empty]))) {\n --sbb-chip-group-margin-block: var(--_sbb-chip-group-margin-block-start-default-large)\n var(--_sbb-chip-group-margin-block-start-default-large);\n }\n}\n\n:host(:not(:is(:state(without-label),[state--without-label]), :is(:state(empty),[state--empty]), :is(:state(size-s),[state--size-s]), :is(:state(size-m),[state--size-m]), :is(:state(size-l),[state--size-l]))) {\n --sbb-chip-group-margin-block: var(--sbb-chip-group-margin-block-with-label-not-empty);\n}\n\n:host(:is(:state(without-label),[state--without-label]):is(:state(size-l),[state--size-l]):not(:is(:state(empty),[state--empty]))) {\n --sbb-chip-group-margin-block: var(--_sbb-chip-group-margin-block-start-default)\n 1rem;\n}\n@media (min-width: calc(64rem)) {\n :host(:is(:state(without-label),[state--without-label]):is(:state(size-l),[state--size-l]):not(:is(:state(empty),[state--empty]))) {\n --sbb-chip-group-margin-block: var(--_sbb-chip-group-margin-block-start-default-large)\n 1.25rem;\n }\n}\n\n:host(:not(:is(:state(without-label),[state--without-label])):is(:state(size-l),[state--size-l]):not(:is(:state(empty),[state--empty]))) {\n --sbb-chip-group-margin-block: var(--_sbb-chip-group-margin-block-start-default)\n 0.46875rem;\n}\n@media (min-width: calc(64rem)) {\n :host(:not(:is(:state(without-label),[state--without-label])):is(:state(size-l),[state--size-l]):not(:is(:state(empty),[state--empty]))) {\n --sbb-chip-group-margin-block: var(--_sbb-chip-group-margin-block-start-default-large)\n 0.46875rem;\n }\n}\n\n::slotted(input) {\n flex: 1 1 var(--sbb-chip-group-input-min-width);\n max-height: 1.5rem;\n}\n\n::slotted(sbb-chip) {\n max-width: 100%;\n}";
8
- //#endregion
9
- //#region src/elements/chip/chip-group/chip-group.component.ts
10
- var SbbChipInputTokenEndEvent = class extends CustomEvent {
11
- /**
12
- * @deprecated Use event properties directly.
13
- */
14
- get detail() {
15
- return this;
16
- }
17
- constructor(options) {
18
- super("chipinputtokenend", {
19
- cancelable: true,
20
- bubbles: true,
21
- composed: true
22
- });
23
- this.origin = options.origin;
24
- this.value = options.value;
25
- this.label = options.label;
26
- }
27
- /** Set a new value for the chip that will be created */
28
- setValue(value) {
29
- this.value = value;
30
- }
31
- /** Set a label for the chip that will be created */
32
- setLabel(label) {
33
- this.label = label;
34
- }
35
- };
36
- /**
37
- * The `sbb-chip-group` component is used as a container for one or multiple `sbb-chip`.
38
- *
39
- * @slot - Use the unnamed slot to add `sbb-chip` elements.
40
- * @event {SbbChipInputTokenEndEvent<T>} chipinputtokenend - Notifies that a chip is about to be created. Can be prevented.
41
- * @overrideType value - (T = string[]) | null
42
- */
43
- var SbbChipGroupElement = (() => {
44
- let _classSuper = SbbRequiredMixin(SbbDisabledMixin(SbbNegativeMixin(SbbFormAssociatedMixin(SbbElement))));
45
- let _instanceExtraInitializers = [];
46
- let _set_value_decorators;
47
- let _displayWith_decorators;
48
- let _displayWith_initializers = [];
49
- let _displayWith_extraInitializers = [];
50
- let _separatorKeys_decorators;
51
- let _separatorKeys_initializers = [];
52
- let _separatorKeys_extraInitializers = [];
53
- let _addOnBlur_decorators;
54
- let _addOnBlur_initializers = [];
55
- let _addOnBlur_extraInitializers = [];
56
- return class SbbChipGroupElement extends _classSuper {
57
- static {
58
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
59
- _set_value_decorators = [property({ type: Array })];
60
- _displayWith_decorators = [property({ attribute: false })];
61
- _separatorKeys_decorators = [property({
62
- attribute: "separator-keys",
63
- type: Array
64
- })];
65
- _addOnBlur_decorators = [forceType(), property({
66
- attribute: "add-on-blur",
67
- type: Boolean
68
- })];
69
- __esDecorate(this, null, _set_value_decorators, {
70
- kind: "setter",
71
- name: "value",
72
- static: false,
73
- private: false,
74
- access: {
75
- has: (obj) => "value" in obj,
76
- set: (obj, value) => {
77
- obj.value = value;
78
- }
79
- },
80
- metadata: _metadata
81
- }, null, _instanceExtraInitializers);
82
- __esDecorate(this, null, _displayWith_decorators, {
83
- kind: "accessor",
84
- name: "displayWith",
85
- static: false,
86
- private: false,
87
- access: {
88
- has: (obj) => "displayWith" in obj,
89
- get: (obj) => obj.displayWith,
90
- set: (obj, value) => {
91
- obj.displayWith = value;
92
- }
93
- },
94
- metadata: _metadata
95
- }, _displayWith_initializers, _displayWith_extraInitializers);
96
- __esDecorate(this, null, _separatorKeys_decorators, {
97
- kind: "accessor",
98
- name: "separatorKeys",
99
- static: false,
100
- private: false,
101
- access: {
102
- has: (obj) => "separatorKeys" in obj,
103
- get: (obj) => obj.separatorKeys,
104
- set: (obj, value) => {
105
- obj.separatorKeys = value;
106
- }
107
- },
108
- metadata: _metadata
109
- }, _separatorKeys_initializers, _separatorKeys_extraInitializers);
110
- __esDecorate(this, null, _addOnBlur_decorators, {
111
- kind: "accessor",
112
- name: "addOnBlur",
113
- static: false,
114
- private: false,
115
- access: {
116
- has: (obj) => "addOnBlur" in obj,
117
- get: (obj) => obj.addOnBlur,
118
- set: (obj, value) => {
119
- obj.addOnBlur = value;
120
- }
121
- },
122
- metadata: _metadata
123
- }, _addOnBlur_initializers, _addOnBlur_extraInitializers);
124
- if (_metadata) Object.defineProperty(this, Symbol.metadata, {
125
- enumerable: true,
126
- configurable: true,
127
- writable: true,
128
- value: _metadata
129
- });
130
- }
131
- static {
132
- this.elementName = "sbb-chip-group";
133
- }
134
- static {
135
- this.role = "listbox";
136
- }
137
- static {
138
- this.styles = [boxSizingStyles, unsafeCSS(chip_group_default)];
139
- }
140
- static {
141
- this.events = {
142
- input: "input",
143
- change: "change",
144
- chipinputtokenend: "chipinputtokenend"
145
- };
146
- }
147
- /** Value of the form element. */
148
- set value(value) {
149
- value = value ?? [];
150
- const oldValue = this.value;
151
- const toRemove = [...oldValue];
152
- for (const c of value) if (toRemove.includes(c)) toRemove.splice(toRemove.indexOf(c), 1);
153
- toRemove.forEach((value) => this._chipElements().find((c) => c.value === value)?.remove());
154
- const toAdd = [...value];
155
- for (const c of oldValue) if (toAdd.includes(c)) toAdd.splice(toAdd.indexOf(c), 1);
156
- toAdd.forEach((c) => this._createChipElement(c));
157
- }
158
- get value() {
159
- return this._chipElements().map((c) => c.value);
160
- }
161
- #displayWith_accessor_storage;
162
- /** Function that maps a chip's value to its display value. */
163
- get displayWith() {
164
- return this.#displayWith_accessor_storage;
165
- }
166
- set displayWith(value) {
167
- this.#displayWith_accessor_storage = value;
168
- }
169
- #separatorKeys_accessor_storage;
170
- /** The array of keys that will trigger a `chipinputtokenend` event. Default `['Enter']` */
171
- get separatorKeys() {
172
- return this.#separatorKeys_accessor_storage;
173
- }
174
- set separatorKeys(value) {
175
- this.#separatorKeys_accessor_storage = value;
176
- }
177
- #addOnBlur_accessor_storage;
178
- /** Whether to automatically add a chip when the input loses focus if there's a value. */
179
- get addOnBlur() {
180
- return this.#addOnBlur_accessor_storage;
181
- }
182
- set addOnBlur(value) {
183
- this.#addOnBlur_accessor_storage = value;
184
- }
185
- constructor() {
186
- super();
187
- this.#displayWith_accessor_storage = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _displayWith_initializers, null));
188
- this.#separatorKeys_accessor_storage = (__runInitializers(this, _displayWith_extraInitializers), __runInitializers(this, _separatorKeys_initializers, ["Enter"]));
189
- this.#addOnBlur_accessor_storage = (__runInitializers(this, _separatorKeys_extraInitializers), __runInitializers(this, _addOnBlur_initializers, false));
190
- /**
191
- * Listens to the changes on `readonly` and `disabled` attributes of `<input>`.
192
- */
193
- this._inputAttributeObserver = (__runInitializers(this, _addOnBlur_extraInitializers), !isServer ? new MutationObserver(() => this._reactToInputChanges()) : null);
194
- this._language = new SbbLanguageController(this);
195
- this.addEventListener?.(SbbChipElement.events.requestdelete, (ev) => this._deleteChip(ev.target));
196
- this.addEventListener?.("keydown", (ev) => this._onChipKeyDown(ev));
197
- this.addController(new SbbPropertyWatcherController(this, () => this.closest("sbb-form-field"), {
198
- size: (formField) => this._updateSize(formField.size),
199
- label: (formField) => this._updateLabelState(formField),
200
- hiddenLabel: (formField) => this._updateLabelState(formField)
201
- }));
202
- }
203
- _updateLabelState(formField) {
204
- this.toggleState("without-label", !formField.label || formField.hiddenLabel);
205
- }
206
- connectedCallback() {
207
- super.connectedCallback();
208
- this._setupComponent();
209
- }
210
- willUpdate(changedProperties) {
211
- super.willUpdate(changedProperties);
212
- if (changedProperties.has("disabled") || changedProperties.has("formDisabled") || changedProperties.has("negative")) this._proxyStateToChips();
213
- }
214
- /** @internal */
215
- formResetCallback() {
216
- this.value = null;
217
- }
218
- /** @internal */
219
- formStateRestoreCallback(state, _reason) {
220
- if (!state) {
221
- this.value = null;
222
- return;
223
- }
224
- this._readFormData(state).then((array) => this.value = array);
225
- }
226
- async _readFormData(formData) {
227
- return Promise.all(formData.getAll(this.name).map(async (entry) => entry instanceof Blob ? JSON.parse(await entry.text()) : entry));
228
- }
229
- shouldValidate(name) {
230
- return super.shouldValidate(name) || name === "required" || name === "value";
231
- }
232
- validate() {
233
- super.validate();
234
- if (this.required && this.value.length === 0) this.setValidityFlag("valueMissing", i18nSelectionRequired[this._language.current]);
235
- else this.removeValidityFlag("valueMissing");
236
- }
237
- /** Return the list of chip elements **/
238
- _chipElements() {
239
- return Array.from(this.querySelectorAll?.("sbb-chip") ?? []);
240
- }
241
- /** Return the list of enabled chip elements **/
242
- _enabledChipElements() {
243
- return Array.from(this.querySelectorAll?.("sbb-chip:not([disabled])") ?? []);
244
- }
245
- _setupComponent() {
246
- const input = this.querySelector("input");
247
- if (input && input !== this._inputElement) {
248
- this._inputAbortController?.abort();
249
- this._inputAttributeObserver?.disconnect();
250
- this._inputElement = input;
251
- this._inputAbortController = new AbortController();
252
- this._inputElement.addEventListener("keydown", (ev) => this._onInputKeyDown(ev), { signal: this._inputAbortController.signal });
253
- this._inputElement.addEventListener("blur", () => this._onInputBlur(), {
254
- signal: this._inputAbortController.signal,
255
- capture: true
256
- });
257
- this._inputElement.addEventListener("inputAutocomplete", (event) => {
258
- this._createChipFromInput("autocomplete", event.detail?.option.value);
259
- }, { signal: this._inputAbortController.signal });
260
- this._inputAttributeObserver?.observe(this._inputElement, {
261
- attributes: true,
262
- attributeFilter: ["readonly", "disabled"]
263
- });
264
- }
265
- if (!this._previousSize || !this.closest("sbb-form-field")) this._updateSize(isLean() ? "s" : "m");
266
- this.toggleState("empty", this.value.length === 0);
267
- this._reactToInputChanges();
268
- this._updateInputDescription();
269
- this.updateFormValue();
270
- }
271
- /**
272
- * Listen for keyboard events on the chip elements
273
- **/
274
- _onChipKeyDown(event) {
275
- const eventTarget = event.target;
276
- if (eventTarget.localName !== "sbb-chip") return;
277
- if (isArrowKeyPressed(event)) {
278
- const focusSteps = this._enabledChipElements();
279
- focusSteps[getNextElementIndex(event, focusSteps.indexOf(eventTarget), focusSteps.length)].focus();
280
- return;
281
- }
282
- switch (event.key) {
283
- case "Backspace":
284
- case "Delete":
285
- if (!eventTarget.readOnly && !eventTarget.disabled) {
286
- event.preventDefault();
287
- this._deleteChip(eventTarget);
288
- }
289
- break;
290
- }
291
- }
292
- /**
293
- * Listen for keyboard events on the input
294
- **/
295
- _onInputKeyDown(event) {
296
- switch (event.key) {
297
- case "Backspace":
298
- case "ArrowLeft":
299
- if (!this._inputElement.value) this._focusChip();
300
- break;
301
- case "Enter":
302
- event.preventDefault();
303
- break;
304
- }
305
- if (this.separatorKeys.includes(event.key)) {
306
- event.preventDefault();
307
- this._createChipFromInput("input");
308
- }
309
- }
310
- /**
311
- * Handle blur event on the input
312
- **/
313
- _onInputBlur() {
314
- if (this.addOnBlur) this._createChipFromInput("input");
315
- }
316
- /**
317
- * If the input is not empty, create a chip with its value
318
- */
319
- _createChipFromInput(origin = "input", value) {
320
- const inputValue = value ?? this._inputElement.value.trim();
321
- if (!inputValue) return;
322
- const event = new SbbChipInputTokenEndEvent({
323
- origin,
324
- value: inputValue,
325
- label: (value ? this.displayWith?.(value) : null) ?? void 0
326
- });
327
- if (!this.dispatchEvent(event)) return;
328
- this._createChipElement(event.value, event.label);
329
- this._inputElement.value = "";
330
- this._emitInputEvents();
331
- }
332
- _deleteChip(chip) {
333
- const chips = this._enabledChipElements();
334
- chip.remove();
335
- this._emitInputEvents();
336
- this._focusChip(chips.indexOf(chip));
337
- }
338
- /**
339
- * Focus an enabled chip. If none are present, focus the input
340
- * @param index The index of the enabled chip. If null, focus the last one.
341
- */
342
- _focusChip(index) {
343
- const enabledChips = this._enabledChipElements();
344
- if (index !== void 0 && enabledChips[index]) {
345
- enabledChips[index].focus();
346
- return;
347
- }
348
- if (enabledChips.length > 0) {
349
- enabledChips[enabledChips.length - 1].focus();
350
- return;
351
- }
352
- this._inputElement?.focus();
353
- }
354
- _emitInputEvents() {
355
- /** The input event fires when the value has been changed as a direct result of a user action. */
356
- this.dispatchEvent(new InputEvent("input", {
357
- bubbles: true,
358
- composed: true
359
- }));
360
- /**
361
- * The change event is fired when the user modifies the element's value.
362
- * Unlike the input event, the change event is not necessarily fired
363
- * for each alteration to an element's value.
364
- */
365
- this.dispatchEvent(new Event("change", { bubbles: true }));
366
- }
367
- _createChipElement(value, label) {
368
- if (isServer) return;
369
- const newChip = document.createElement("sbb-chip");
370
- newChip.value = value;
371
- newChip.innerText = label ?? (value ? this.displayWith?.(value) : null) ?? "";
372
- this.insertBefore(newChip, this._inputElement ?? this.querySelector("input"));
373
- }
374
- _reactToInputChanges() {
375
- this.disabled = this._inputElement?.disabled ?? false;
376
- this._proxyStateToChips();
377
- }
378
- _proxyStateToChips() {
379
- this._chipElements().forEach((c) => {
380
- c.disabled = this.disabled || this.formDisabled;
381
- c.readOnly = this._inputElement?.hasAttribute("readonly") ?? false;
382
- c.negative = this.negative;
383
- });
384
- }
385
- _updateSize(size) {
386
- if (this._previousSize) this.internals.states.delete(`size-${this._previousSize}`);
387
- this._previousSize = size;
388
- if (this._previousSize) this.internals.states.add(`size-${this._previousSize}`);
389
- }
390
- _updateInputDescription() {
391
- if (!this._inputElement) return;
392
- this._inputElement.setAttribute("aria-description", `${i18nChipGroupInputDescription[this._language.current]} ${this.value.length}`);
393
- }
394
- render() {
395
- return html`<slot @slotchange=${this._setupComponent}></slot>`;
396
- }
397
- };
398
- })();
399
- //#endregion
400
- export { SbbChipInputTokenEndEvent as n, SbbChipGroupElement as t };
401
-
402
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1ncm91cC5jb21wb25lbnQtQ3hNOGw4MzkuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NoaXAvY2hpcC1ncm91cC9jaGlwLWdyb3VwLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NoaXAvY2hpcC1ncm91cC9jaGlwLWdyb3VwLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogdmFyKC0tc2JiLWNoaXAtZ3JvdXAtZ2FwKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJsb2NrOiB2YXIoLS1zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2spO1xufVxuXG46aG9zdCg6aXMoOnN0YXRlKHNpemUtcyksIDpzdGF0ZShlbXB0eSkpKSB7XG4gIC0tc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrOiAwO1xufVxuXG46aG9zdCg6c3RhdGUoc2l6ZS1zKTpub3QoOnN0YXRlKGVtcHR5KSkpIHtcbiAgLS1zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2s6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCg2KX0gI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDUpfTtcblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IGxhcmdlKSB7XG4gICAgLS1zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2s6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCg1KX0gI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDMpfTtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUod2l0aG91dC1sYWJlbCk6c3RhdGUoc2l6ZS1zKTpub3QoOnN0YXRlKGVtcHR5KSkpIHtcbiAgLS1zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2s6IDAgI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDcpfTtcblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IGxhcmdlKSB7XG4gICAgLS1zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2s6IDAgI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDUpfTtcbiAgfVxufVxuXG46aG9zdCg6aXMoOnN0YXRlKHNpemUtbCksIDpzdGF0ZShzaXplLW0pKSkge1xuICAtLXNiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jazogdmFyKC0tX3NiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jay1zdGFydC1kZWZhdWx0KSAwO1xuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAtLXNiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jazogdmFyKC0tX3NiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jay1zdGFydC1kZWZhdWx0LWxhcmdlKSAwO1xuICB9XG59XG5cbjpob3N0KDpzdGF0ZSh3aXRob3V0LWxhYmVsKTpzdGF0ZShzaXplLW0pOm5vdCg6c3RhdGUoZW1wdHkpKSkge1xuICAtLXNiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jazogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDMpfSAje3NiYi5weC10by1yZW0tYnVpbGQoMTEpfTtcblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IGxhcmdlKSB7XG4gICAgLS1zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2s6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgzKX0gI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDE0KX07XG4gIH1cbn1cblxuOmhvc3QoOnN0YXRlKHdpdGhvdXQtbGFiZWwpOm5vdCg6c3RhdGUoZW1wdHkpLCA6c3RhdGUoc2l6ZS1zKSwgOnN0YXRlKHNpemUtbSksIDpzdGF0ZShzaXplLWwpKSkge1xuICAtLXNiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jazogdmFyKC0tc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrLW5vLWxhYmVsLW5vdC1lbXB0eSk7XG59XG5cbjpob3N0KDpub3QoOnN0YXRlKHdpdGhvdXQtbGFiZWwpKTpzdGF0ZShzaXplLW0pOm5vdCg6c3RhdGUoZW1wdHkpKSkge1xuICAtLXNiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jazogdmFyKC0tX3NiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jay1zdGFydC1kZWZhdWx0KVxuICAgIHZhcigtLV9zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2stc3RhcnQtZGVmYXVsdC1sYXJnZSk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIC0tc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrOiB2YXIoLS1fc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrLXN0YXJ0LWRlZmF1bHQtbGFyZ2UpXG4gICAgICB2YXIoLS1fc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrLXN0YXJ0LWRlZmF1bHQtbGFyZ2UpO1xuICB9XG59XG5cbjpob3N0KDpub3QoOnN0YXRlKHdpdGhvdXQtbGFiZWwpLCA6c3RhdGUoZW1wdHkpLCA6c3RhdGUoc2l6ZS1zKSwgOnN0YXRlKHNpemUtbSksIDpzdGF0ZShzaXplLWwpKSkge1xuICAtLXNiYi1jaGlwLWdyb3VwLW1hcmdpbi1ibG9jazogdmFyKC0tc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrLXdpdGgtbGFiZWwtbm90LWVtcHR5KTtcbn1cblxuOmhvc3QoOnN0YXRlKHdpdGhvdXQtbGFiZWwpOnN0YXRlKHNpemUtbCk6bm90KDpzdGF0ZShlbXB0eSkpKSB7XG4gIC0tc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrOiB2YXIoLS1fc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrLXN0YXJ0LWRlZmF1bHQpXG4gICAgI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDE2KX07XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIC0tc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrOiB2YXIoLS1fc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrLXN0YXJ0LWRlZmF1bHQtbGFyZ2UpXG4gICAgICAje3NiYi5weC10by1yZW0tYnVpbGQoMjApfTtcbiAgfVxufVxuXG46aG9zdCg6bm90KDpzdGF0ZSh3aXRob3V0LWxhYmVsKSk6c3RhdGUoc2l6ZS1sKTpub3QoOnN0YXRlKGVtcHR5KSkpIHtcbiAgLS1zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2s6IHZhcigtLV9zYmItY2hpcC1ncm91cC1tYXJnaW4tYmxvY2stc3RhcnQtZGVmYXVsdClcbiAgICAje3NiYi5weC10by1yZW0tYnVpbGQoNy41KX07XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIC0tc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrOiB2YXIoLS1fc2JiLWNoaXAtZ3JvdXAtbWFyZ2luLWJsb2NrLXN0YXJ0LWRlZmF1bHQtbGFyZ2UpXG4gICAgICAje3NiYi5weC10by1yZW0tYnVpbGQoNy41KX07XG4gIH1cbn1cblxuOjpzbG90dGVkKGlucHV0KSB7XG4gIGZsZXg6IDEgMSB2YXIoLS1zYmItY2hpcC1ncm91cC1pbnB1dC1taW4td2lkdGgpO1xuICBtYXgtaGVpZ2h0OiAje3NiYi5weC10by1yZW0tYnVpbGQoMjQpfTtcbn1cblxuOjpzbG90dGVkKHNiYi1jaGlwKSB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbiIsImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxuICB1bnNhZmVDU1MsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHtcbiAgYm94U2l6aW5nU3R5bGVzLFxuICBmb3JjZVR5cGUsXG4gIHR5cGUgRm9ybVJlc3RvcmVSZWFzb24sXG4gIHR5cGUgRm9ybVJlc3RvcmVTdGF0ZSxcbiAgZ2V0TmV4dEVsZW1lbnRJbmRleCxcbiAgaTE4bkNoaXBHcm91cElucHV0RGVzY3JpcHRpb24sXG4gIGkxOG5TZWxlY3Rpb25SZXF1aXJlZCxcbiAgaXNBcnJvd0tleVByZXNzZWQsXG4gIGlzTGVhbixcbiAgU2JiRGlzYWJsZWRNaXhpbixcbiAgU2JiRWxlbWVudCxcbiAgU2JiRm9ybUFzc29jaWF0ZWRNaXhpbixcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxuICBTYmJOZWdhdGl2ZU1peGluLFxuICBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyLFxuICBTYmJSZXF1aXJlZE1peGluLFxufSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiRm9ybUZpZWxkRWxlbWVudCB9IGZyb20gJy4uLy4uL2Zvcm0tZmllbGQvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vb3B0aW9uL29wdGlvbi9vcHRpb24tYmFzZS1lbGVtZW50LnRzJztcbmltcG9ydCB7IFNiYkNoaXBFbGVtZW50IH0gZnJvbSAnLi4vY2hpcC9jaGlwLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2NoaXAtZ3JvdXAuc2Nzcz9pbmxpbmUnO1xuXG5sZXQgZGlzcGxheVdpdGhXYXJuaW5nTG9nZ2VkID0gZmFsc2U7XG5cbi8vIFRPRE8oYnJlYWtpbmctY2hhbmdlKTogUmVwbGFjZSBiYXNlIGNsYXNzIHdpdGggRXZlbnRcbmV4cG9ydCBjbGFzcyBTYmJDaGlwSW5wdXRUb2tlbkVuZEV2ZW50PFQgPSBzdHJpbmc+IGV4dGVuZHMgQ3VzdG9tRXZlbnQ8XG4gIFNiYkNoaXBJbnB1dFRva2VuRW5kRXZlbnREZXRhaWxzPFQ+XG4+IHtcbiAgLyoqIFRoZSBlbGVtZW50IHRoYXQgdHJpZ2dlcmVkIHRoZSBjaGlwIGNyZWF0aW9uICovXG4gIHB1YmxpYyBvcmlnaW46ICdpbnB1dCcgfCAnYXV0b2NvbXBsZXRlJztcbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgbmV3IGNoaXAuIEVpdGhlciB0aGUgaW5wdXQgb3IgdGhlIG9wdGlvbiB2YWx1ZSBkZXBlbmRpbmcgb24gdGhlIG9yaWdpbi5cbiAgICogRWl0aGVyIHRoZSB2YWx1ZSBmcm9tIHRoZSBpbnB1dCB3aGljaCBpcyBhbHdheXMgYHN0cmluZ2Agb3IgdGhlIHZhbHVlIGZyb20gdGhlIHNlbGVjdGVkIG9wdGlvblxuICAgKiBmcm9tIGFuIGF1dG9jb21wbGV0ZSwgd2hpY2ggY2FuIGJlIGVpdGhlciBhIHN0cmluZyBvciBhbnkgb3RoZXIgdHlwZS5cbiAgICovXG4gIHB1YmxpYyB2YWx1ZTogVCB8IHN0cmluZztcbiAgcHVibGljIGxhYmVsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgZXZlbnQgcHJvcGVydGllcyBkaXJlY3RseS5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZGV0YWlsKCk6IFNiYkNoaXBJbnB1dFRva2VuRW5kRXZlbnREZXRhaWxzPFQ+IHtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihvcHRpb25zOiBQaWNrPFNiYkNoaXBJbnB1dFRva2VuRW5kRXZlbnQsICdvcmlnaW4nIHwgJ3ZhbHVlJyB8ICdsYWJlbCc+KSB7XG4gICAgc3VwZXIoJ2NoaXBpbnB1dHRva2VuZW5kJywge1xuICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICBjb21wb3NlZDogdHJ1ZSxcbiAgICB9KTtcbiAgICB0aGlzLm9yaWdpbiA9IG9wdGlvbnMub3JpZ2luO1xuICAgIHRoaXMudmFsdWUgPSBvcHRpb25zLnZhbHVlO1xuICAgIHRoaXMubGFiZWwgPSBvcHRpb25zLmxhYmVsO1xuICB9XG5cbiAgLyoqIFNldCBhIG5ldyB2YWx1ZSBmb3IgdGhlIGNoaXAgdGhhdCB3aWxsIGJlIGNyZWF0ZWQgKi9cbiAgcHVibGljIHNldFZhbHVlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG4gIC8qKiBTZXQgYSBsYWJlbCBmb3IgdGhlIGNoaXAgdGhhdCB3aWxsIGJlIGNyZWF0ZWQgKi9cbiAgcHVibGljIHNldExhYmVsKGxhYmVsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmxhYmVsID0gbGFiZWw7XG4gIH1cbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgYFNiYkNoaXBJbnB1dFRva2VuRW5kRXZlbnRgIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2JiQ2hpcElucHV0VG9rZW5FbmRFdmVudERldGFpbHM8VCA9IHN0cmluZz4ge1xuICAvKiogVGhlIGVsZW1lbnQgdGhhdCB0cmlnZ2VyZWQgdGhlIGNoaXAgY3JlYXRpb24gKi9cbiAgb3JpZ2luOiAnaW5wdXQnIHwgJ2F1dG9jb21wbGV0ZSc7XG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIG5ldyBjaGlwLiBFaXRoZXIgdGhlIGlucHV0IG9yIHRoZSBvcHRpb24gdmFsdWUgZGVwZW5kaW5nIG9uIHRoZSBvcmlnaW4uXG4gICAqIEVpdGhlciB0aGUgdmFsdWUgZnJvbSB0aGUgaW5wdXQgd2hpY2ggaXMgYWx3YXlzIGBzdHJpbmdgIG9yIHRoZSB2YWx1ZSBmcm9tIHRoZSBzZWxlY3RlZCBvcHRpb25cbiAgICogZnJvbSBhbiBhdXRvY29tcGxldGUsIHdoaWNoIGNhbiBiZSBlaXRoZXIgYSBzdHJpbmcgb3IgYW55IG90aGVyIHR5cGUuXG4gICAqL1xuICB2YWx1ZTogVCB8IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIC8qKiBTZXQgYSBuZXcgdmFsdWUgZm9yIHRoZSBjaGlwIHRoYXQgd2lsbCBiZSBjcmVhdGVkICovXG4gIHNldFZhbHVlKHZhbHVlOiBUKTogdm9pZDtcbiAgLyoqIFNldCBhIGxhYmVsIGZvciB0aGUgY2hpcCB0aGF0IHdpbGwgYmUgY3JlYXRlZCAqL1xuICBzZXRMYWJlbCh2YWx1ZTogc3RyaW5nKTogdm9pZDtcbn1cblxuLyoqXG4gKiBUaGUgYHNiYi1jaGlwLWdyb3VwYCBjb21wb25lbnQgaXMgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3Igb25lIG9yIG11bHRpcGxlIGBzYmItY2hpcGAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1jaGlwYCBlbGVtZW50cy5cbiAqIEBldmVudCB7U2JiQ2hpcElucHV0VG9rZW5FbmRFdmVudDxUPn0gY2hpcGlucHV0dG9rZW5lbmQgLSBOb3RpZmllcyB0aGF0IGEgY2hpcCBpcyBhYm91dCB0byBiZSBjcmVhdGVkLiBDYW4gYmUgcHJldmVudGVkLlxuICogQG92ZXJyaWRlVHlwZSB2YWx1ZSAtIChUID0gc3RyaW5nW10pIHwgbnVsbFxuICovXG5leHBvcnQgY2xhc3MgU2JiQ2hpcEdyb3VwRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYlJlcXVpcmVkTWl4aW4oXG4gIFNiYkRpc2FibGVkTWl4aW4oU2JiTmVnYXRpdmVNaXhpbihTYmJGb3JtQXNzb2NpYXRlZE1peGluKFNiYkVsZW1lbnQpKSksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1jaGlwLWdyb3VwJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ2xpc3Rib3gnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgaW5wdXQ6ICdpbnB1dCcsXG4gICAgY2hhbmdlOiAnY2hhbmdlJyxcbiAgICBjaGlwaW5wdXR0b2tlbmVuZDogJ2NoaXBpbnB1dHRva2VuZW5kJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKiogVmFsdWUgb2YgdGhlIGZvcm0gZWxlbWVudC4gKi9cbiAgQHByb3BlcnR5KHsgdHlwZTogQXJyYXkgfSlcbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogKFQgfCBudWxsKVtdIHwgbnVsbCkge1xuICAgIHZhbHVlID0gdmFsdWUgPz8gW107XG4gICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLnZhbHVlO1xuXG4gICAgLy8gU3VidHJhY3QgZnJvbSAnb2xkVmFsdWUnIHRoZSBuZXcgJ3ZhbHVlJ1xuICAgIC8vIFRoZSByZXN1bHQgYXJlIHRoZSBjaGlwcyB0byByZW1vdmUgKGhhbmRsZSBkdXBsaWNhdGVzKVxuICAgIGNvbnN0IHRvUmVtb3ZlID0gWy4uLm9sZFZhbHVlXTtcbiAgICBmb3IgKGNvbnN0IGMgb2YgdmFsdWUpIHtcbiAgICAgIGlmICh0b1JlbW92ZS5pbmNsdWRlcyhjKSkge1xuICAgICAgICB0b1JlbW92ZS5zcGxpY2UodG9SZW1vdmUuaW5kZXhPZihjKSwgMSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRvUmVtb3ZlLmZvckVhY2goKHZhbHVlKSA9PlxuICAgICAgdGhpcy5fY2hpcEVsZW1lbnRzKClcbiAgICAgICAgLmZpbmQoKGMpID0+IGMudmFsdWUgPT09IHZhbHVlKVxuICAgICAgICA/LnJlbW92ZSgpLFxuICAgICk7XG5cbiAgICAvLyBTdWJ0cmFjdCBmcm9tIHRoZSBuZXcgJ3ZhbHVlJyB3aGF0IHdhcyBhbHJlYWR5IHByZXNlbnRcbiAgICAvLyBUaGUgcmVzdWx0IGFyZSB0aGUgbmV3IGNoaXBzIHRvIGFkZCAoaGFuZGxlIGR1cGxpY2F0ZXMpXG4gICAgY29uc3QgdG9BZGQgPSBbLi4udmFsdWVdO1xuICAgIGZvciAoY29uc3QgYyBvZiBvbGRWYWx1ZSkge1xuICAgICAgaWYgKHRvQWRkLmluY2x1ZGVzKGMpKSB7XG4gICAgICAgIHRvQWRkLnNwbGljZSh0b0FkZC5pbmRleE9mKGMpLCAxKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdG9BZGQuZm9yRWFjaCgoYykgPT4gdGhpcy5fY3JlYXRlQ2hpcEVsZW1lbnQoYykpO1xuICB9XG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogKFQgfCBudWxsKVtdIHtcbiAgICByZXR1cm4gdGhpcy5fY2hpcEVsZW1lbnRzKCkubWFwKChjKSA9PiBjLnZhbHVlKTtcbiAgfVxuXG4gIC8qKiBGdW5jdGlvbiB0aGF0IG1hcHMgYSBjaGlwJ3MgdmFsdWUgdG8gaXRzIGRpc3BsYXkgdmFsdWUuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogZmFsc2UgfSlcbiAgcHVibGljIGFjY2Vzc29yIGRpc3BsYXlXaXRoOiAoKHZhbHVlOiBUKSA9PiBzdHJpbmcpIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFRoZSBhcnJheSBvZiBrZXlzIHRoYXQgd2lsbCB0cmlnZ2VyIGEgYGNoaXBpbnB1dHRva2VuZW5kYCBldmVudC4gRGVmYXVsdCBgWydFbnRlciddYCAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdzZXBhcmF0b3Ita2V5cycsIHR5cGU6IEFycmF5IH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzZXBhcmF0b3JLZXlzOiBzdHJpbmdbXSA9IFsnRW50ZXInXTtcblxuICAvKiogV2hldGhlciB0byBhdXRvbWF0aWNhbGx5IGFkZCBhIGNoaXAgd2hlbiB0aGUgaW5wdXQgbG9zZXMgZm9jdXMgaWYgdGhlcmUncyBhIHZhbHVlLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWRkLW9uLWJsdXInLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBhZGRPbkJsdXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogTGlzdGVucyB0byB0aGUgY2hhbmdlcyBvbiBgcmVhZG9ubHlgIGFuZCBgZGlzYWJsZWRgIGF0dHJpYnV0ZXMgb2YgYDxpbnB1dD5gLlxuICAgKi9cbiAgcHJpdmF0ZSBfaW5wdXRBdHRyaWJ1dGVPYnNlcnZlciA9ICFpc1NlcnZlclxuICAgID8gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4gdGhpcy5fcmVhY3RUb0lucHV0Q2hhbmdlcygpKVxuICAgIDogbnVsbDtcblxuICBwcml2YXRlIF9pbnB1dEVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX2lucHV0QWJvcnRDb250cm9sbGVyOiBBYm9ydENvbnRyb2xsZXIgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfcHJldmlvdXNTaXplPzogU2JiRm9ybUZpZWxkRWxlbWVudFsnc2l6ZSddO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oU2JiQ2hpcEVsZW1lbnQuZXZlbnRzLnJlcXVlc3RkZWxldGUsIChldikgPT5cbiAgICAgIHRoaXMuX2RlbGV0ZUNoaXAoZXYudGFyZ2V0IGFzIFNiYkNoaXBFbGVtZW50PFQ+KSxcbiAgICApO1xuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZXYpID0+IHRoaXMuX29uQ2hpcEtleURvd24oZXYpKTtcblxuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyKHRoaXMsICgpID0+IHRoaXMuY2xvc2VzdCgnc2JiLWZvcm0tZmllbGQnKSwge1xuICAgICAgICBzaXplOiAoZm9ybUZpZWxkKSA9PiB0aGlzLl91cGRhdGVTaXplKGZvcm1GaWVsZC5zaXplKSxcbiAgICAgICAgbGFiZWw6IChmb3JtRmllbGQpID0+IHRoaXMuX3VwZGF0ZUxhYmVsU3RhdGUoZm9ybUZpZWxkKSxcbiAgICAgICAgaGlkZGVuTGFiZWw6IChmb3JtRmllbGQpID0+IHRoaXMuX3VwZGF0ZUxhYmVsU3RhdGUoZm9ybUZpZWxkKSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVMYWJlbFN0YXRlKGZvcm1GaWVsZDogU2JiRm9ybUZpZWxkRWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlU3RhdGUoJ3dpdGhvdXQtbGFiZWwnLCAhZm9ybUZpZWxkLmxhYmVsIHx8IGZvcm1GaWVsZC5oaWRkZW5MYWJlbCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl9zZXR1cENvbXBvbmVudCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzKTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoXG4gICAgICBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Rpc2FibGVkJykgfHxcbiAgICAgIGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZm9ybURpc2FibGVkJykgfHxcbiAgICAgIGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbmVnYXRpdmUnKVxuICAgICkge1xuICAgICAgdGhpcy5fcHJveHlTdGF0ZVRvQ2hpcHMoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHB1YmxpYyBmb3JtUmVzZXRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHVibGljIGZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayhcbiAgICBzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsXG4gICAgX3JlYXNvbjogRm9ybVJlc3RvcmVSZWFzb24sXG4gICk6IHZvaWQge1xuICAgIGlmICghc3RhdGUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX3JlYWRGb3JtRGF0YShzdGF0ZSBhcyBGb3JtRGF0YSkudGhlbigoYXJyYXkpID0+ICh0aGlzLnZhbHVlID0gYXJyYXkpKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX3JlYWRGb3JtRGF0YShmb3JtRGF0YTogRm9ybURhdGEpOiBQcm9taXNlPFRbXT4ge1xuICAgIHJldHVybiBQcm9taXNlLmFsbChcbiAgICAgIGZvcm1EYXRhXG4gICAgICAgIC5nZXRBbGwodGhpcy5uYW1lKVxuICAgICAgICAubWFwKGFzeW5jIChlbnRyeSkgPT5cbiAgICAgICAgICBlbnRyeSBpbnN0YW5jZW9mIEJsb2IgPyBKU09OLnBhcnNlKGF3YWl0IGVudHJ5LnRleHQoKSkgOiAoZW50cnkgYXMgVCksXG4gICAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBzaG91bGRWYWxpZGF0ZShuYW1lOiBQcm9wZXJ0eUtleSB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdXBlci5zaG91bGRWYWxpZGF0ZShuYW1lKSB8fCBuYW1lID09PSAncmVxdWlyZWQnIHx8IG5hbWUgPT09ICd2YWx1ZSc7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdmFsaWRhdGUoKTogdm9pZCB7XG4gICAgc3VwZXIudmFsaWRhdGUoKTtcbiAgICBpZiAodGhpcy5yZXF1aXJlZCAmJiB0aGlzLnZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5zZXRWYWxpZGl0eUZsYWcoJ3ZhbHVlTWlzc2luZycsIGkxOG5TZWxlY3Rpb25SZXF1aXJlZFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVtb3ZlVmFsaWRpdHlGbGFnKCd2YWx1ZU1pc3NpbmcnKTtcbiAgICB9XG4gIH1cblxuICAvKiogUmV0dXJuIHRoZSBsaXN0IG9mIGNoaXAgZWxlbWVudHMgKiovXG4gIHByaXZhdGUgX2NoaXBFbGVtZW50cygpOiBTYmJDaGlwRWxlbWVudDxUPltdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/LjxTYmJDaGlwRWxlbWVudDxUPj4oJ3NiYi1jaGlwJykgPz8gW10pO1xuICB9XG5cbiAgLyoqIFJldHVybiB0aGUgbGlzdCBvZiBlbmFibGVkIGNoaXAgZWxlbWVudHMgKiovXG4gIHByaXZhdGUgX2VuYWJsZWRDaGlwRWxlbWVudHMoKTogU2JiQ2hpcEVsZW1lbnQ8VD5bXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi1jaGlwOm5vdChbZGlzYWJsZWRdKScpID8/IFtdKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldHVwQ29tcG9uZW50KCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpO1xuXG4gICAgLy8gQ29ubmVjdCB0byB0aGUgaW5wdXRcbiAgICBpZiAoaW5wdXQgJiYgaW5wdXQgIT09IHRoaXMuX2lucHV0RWxlbWVudCkge1xuICAgICAgdGhpcy5faW5wdXRBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgICB0aGlzLl9pbnB1dEF0dHJpYnV0ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgICB0aGlzLl9pbnB1dEVsZW1lbnQgPSBpbnB1dDtcblxuICAgICAgdGhpcy5faW5wdXRBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgICB0aGlzLl9pbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChldikgPT4gdGhpcy5fb25JbnB1dEtleURvd24oZXYpLCB7XG4gICAgICAgIHNpZ25hbDogdGhpcy5faW5wdXRBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgfSk7XG4gICAgICB0aGlzLl9pbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsICgpID0+IHRoaXMuX29uSW5wdXRCbHVyKCksIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICAgIGNhcHR1cmU6IHRydWUsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuX2lucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAnaW5wdXRBdXRvY29tcGxldGUnLFxuICAgICAgICAoZXZlbnQ6IEN1c3RvbUV2ZW50PHsgb3B0aW9uOiBTYmJPcHRpb25CYXNlRWxlbWVudDxUPiB9PikgPT4ge1xuICAgICAgICAgIHRoaXMuX2NyZWF0ZUNoaXBGcm9tSW5wdXQoJ2F1dG9jb21wbGV0ZScsIGV2ZW50LmRldGFpbD8ub3B0aW9uLnZhbHVlKTtcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHNpZ25hbDogdGhpcy5faW5wdXRBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgICAgdGhpcy5faW5wdXRBdHRyaWJ1dGVPYnNlcnZlcj8ub2JzZXJ2ZSh0aGlzLl9pbnB1dEVsZW1lbnQsIHtcbiAgICAgICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ3JlYWRvbmx5JywgJ2Rpc2FibGVkJ10sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBJbmhlcml0IHNpemUgZnJvbSB0aGUgZm9ybS1maWVsZCBhbmQgb2JzZXJ2ZSBmb3IgY2hhbmdlc1xuICAgIGlmICghdGhpcy5fcHJldmlvdXNTaXplIHx8ICF0aGlzLmNsb3Nlc3QoJ3NiYi1mb3JtLWZpZWxkJykpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVNpemUoaXNMZWFuKCkgPyAncycgOiAnbScpO1xuICAgIH1cblxuICAgIHRoaXMudG9nZ2xlU3RhdGUoJ2VtcHR5JywgdGhpcy52YWx1ZS5sZW5ndGggPT09IDApO1xuICAgIHRoaXMuX3JlYWN0VG9JbnB1dENoYW5nZXMoKTtcbiAgICB0aGlzLl91cGRhdGVJbnB1dERlc2NyaXB0aW9uKCk7XG4gICAgdGhpcy51cGRhdGVGb3JtVmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gZm9yIGtleWJvYXJkIGV2ZW50cyBvbiB0aGUgY2hpcCBlbGVtZW50c1xuICAgKiovXG4gIHByaXZhdGUgX29uQ2hpcEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBldmVudFRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBTYmJDaGlwRWxlbWVudDxUPjtcbiAgICBpZiAoZXZlbnRUYXJnZXQubG9jYWxOYW1lICE9PSAnc2JiLWNoaXAnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQXJyb3cga2V5cyBhbGxvdyBuYXZpZ2F0aW9uIGJldHdlZW4gY2hpcHMgZm9jdXMgc3RlcHNcbiAgICBpZiAoaXNBcnJvd0tleVByZXNzZWQoZXZlbnQpKSB7XG4gICAgICBjb25zdCBmb2N1c1N0ZXBzID0gdGhpcy5fZW5hYmxlZENoaXBFbGVtZW50cygpO1xuICAgICAgY29uc3QgbmV4dCA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZlbnQsIGZvY3VzU3RlcHMuaW5kZXhPZihldmVudFRhcmdldCksIGZvY3VzU3RlcHMubGVuZ3RoKTtcbiAgICAgIGZvY3VzU3RlcHNbbmV4dF0uZm9jdXMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnQmFja3NwYWNlJzpcbiAgICAgIGNhc2UgJ0RlbGV0ZSc6XG4gICAgICAgIGlmICghZXZlbnRUYXJnZXQucmVhZE9ubHkgJiYgIWV2ZW50VGFyZ2V0LmRpc2FibGVkKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLl9kZWxldGVDaGlwKGV2ZW50VGFyZ2V0KTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIGZvciBrZXlib2FyZCBldmVudHMgb24gdGhlIGlucHV0XG4gICAqKi9cbiAgcHJpdmF0ZSBfb25JbnB1dEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnQmFja3NwYWNlJzpcbiAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgIGlmICghdGhpcy5faW5wdXRFbGVtZW50IS52YWx1ZSkge1xuICAgICAgICAgIHRoaXMuX2ZvY3VzQ2hpcCgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAvLyBQcmV2ZW50cyB0aGUgZm9ybSBzdWJtaXRcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gaWYgdGhlIHVzZXIgdHlwZWQgb25lIG9mIHRoZSBzZXBhcmF0b3Iga2V5cywgdHJpZ2dlciBhICdjaGlwaW5wdXR0b2tlbmVuZCcgZXZlbnRcbiAgICBpZiAodGhpcy5zZXBhcmF0b3JLZXlzLmluY2x1ZGVzKGV2ZW50LmtleSkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IC8vIHByZXZlbnQgdHlwaW5nIHRoZSBzZXBhcmF0b3Iga2V5IGludG8gdGhlIGlucHV0XG4gICAgICB0aGlzLl9jcmVhdGVDaGlwRnJvbUlucHV0KCdpbnB1dCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgYmx1ciBldmVudCBvbiB0aGUgaW5wdXRcbiAgICoqL1xuICBwcml2YXRlIF9vbklucHV0Qmx1cigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hZGRPbkJsdXIpIHtcbiAgICAgIHRoaXMuX2NyZWF0ZUNoaXBGcm9tSW5wdXQoJ2lucHV0Jyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIElmIHRoZSBpbnB1dCBpcyBub3QgZW1wdHksIGNyZWF0ZSBhIGNoaXAgd2l0aCBpdHMgdmFsdWVcbiAgICovXG4gIHByaXZhdGUgX2NyZWF0ZUNoaXBGcm9tSW5wdXQob3JpZ2luOiAnaW5wdXQnIHwgJ2F1dG9jb21wbGV0ZScgPSAnaW5wdXQnLCB2YWx1ZT86IFQpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dFZhbHVlID0gdmFsdWUgPz8gdGhpcy5faW5wdXRFbGVtZW50IS52YWx1ZS50cmltKCk7XG4gICAgaWYgKCFpbnB1dFZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZXZlbnQgPSBuZXcgU2JiQ2hpcElucHV0VG9rZW5FbmRFdmVudDxUPih7XG4gICAgICBvcmlnaW4sXG4gICAgICB2YWx1ZTogaW5wdXRWYWx1ZSBhcyBzdHJpbmcsXG4gICAgICBsYWJlbDogKHZhbHVlID8gdGhpcy5kaXNwbGF5V2l0aD8uKHZhbHVlKSA6IG51bGwpID8/IHVuZGVmaW5lZCxcbiAgICB9KTtcbiAgICBpZiAoIXRoaXMuZGlzcGF0Y2hFdmVudChldmVudCkpIHtcbiAgICAgIHJldHVybjsgLy8gZXZlbnQgcHJldmVudGVkOyBkbyBub3RoaW5nICh0aGUgY29uc3VtZXIgaGFzIHRvIGNyZWF0ZSB0aGUgY2hpcClcbiAgICB9XG5cbiAgICB0aGlzLl9jcmVhdGVDaGlwRWxlbWVudChldmVudC52YWx1ZSBhcyBULCBldmVudC5sYWJlbCk7XG4gICAgdGhpcy5faW5wdXRFbGVtZW50IS52YWx1ZSA9ICcnOyAvLyBFbXB0eSB0aGUgaW5wdXRcbiAgICB0aGlzLl9lbWl0SW5wdXRFdmVudHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RlbGV0ZUNoaXAoY2hpcDogU2JiQ2hpcEVsZW1lbnQ8VD4pOiB2b2lkIHtcbiAgICBjb25zdCBjaGlwcyA9IHRoaXMuX2VuYWJsZWRDaGlwRWxlbWVudHMoKTtcbiAgICBjaGlwLnJlbW92ZSgpO1xuICAgIHRoaXMuX2VtaXRJbnB1dEV2ZW50cygpO1xuICAgIHRoaXMuX2ZvY3VzQ2hpcChjaGlwcy5pbmRleE9mKGNoaXApKTsgLy8gRm9jdXMgdGhlIG5leHQgY2hpcFxuICB9XG5cbiAgLyoqXG4gICAqIEZvY3VzIGFuIGVuYWJsZWQgY2hpcC4gSWYgbm9uZSBhcmUgcHJlc2VudCwgZm9jdXMgdGhlIGlucHV0XG4gICAqIEBwYXJhbSBpbmRleCBUaGUgaW5kZXggb2YgdGhlIGVuYWJsZWQgY2hpcC4gSWYgbnVsbCwgZm9jdXMgdGhlIGxhc3Qgb25lLlxuICAgKi9cbiAgcHJpdmF0ZSBfZm9jdXNDaGlwKGluZGV4PzogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgZW5hYmxlZENoaXBzID0gdGhpcy5fZW5hYmxlZENoaXBFbGVtZW50cygpO1xuXG4gICAgaWYgKGluZGV4ICE9PSB1bmRlZmluZWQgJiYgZW5hYmxlZENoaXBzW2luZGV4XSkge1xuICAgICAgZW5hYmxlZENoaXBzW2luZGV4XS5mb2N1cygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChlbmFibGVkQ2hpcHMubGVuZ3RoID4gMCkge1xuICAgICAgZW5hYmxlZENoaXBzW2VuYWJsZWRDaGlwcy5sZW5ndGggLSAxXS5mb2N1cygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2lucHV0RWxlbWVudD8uZm9jdXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2VtaXRJbnB1dEV2ZW50cygpOiB2b2lkIHtcbiAgICAvKiogVGhlIGlucHV0IGV2ZW50IGZpcmVzIHdoZW4gdGhlIHZhbHVlIGhhcyBiZWVuIGNoYW5nZWQgYXMgYSBkaXJlY3QgcmVzdWx0IG9mIGEgdXNlciBhY3Rpb24uICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNoYW5nZSBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSB1c2VyIG1vZGlmaWVzIHRoZSBlbGVtZW50J3MgdmFsdWUuXG4gICAgICogVW5saWtlIHRoZSBpbnB1dCBldmVudCwgdGhlIGNoYW5nZSBldmVudCBpcyBub3QgbmVjZXNzYXJpbHkgZmlyZWRcbiAgICAgKiBmb3IgZWFjaCBhbHRlcmF0aW9uIHRvIGFuIGVsZW1lbnQncyB2YWx1ZS5cbiAgICAgKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlQ2hpcEVsZW1lbnQodmFsdWU6IFQgfCBudWxsLCBsYWJlbD86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBuZXdDaGlwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2JiLWNoaXAnKSBhcyBTYmJDaGlwRWxlbWVudDxUPjtcbiAgICBuZXdDaGlwLnZhbHVlID0gdmFsdWU7XG4gICAgbmV3Q2hpcC5pbm5lclRleHQgPSBsYWJlbCA/PyAodmFsdWUgPyB0aGlzLmRpc3BsYXlXaXRoPy4odmFsdWUpIDogbnVsbCkgPz8gJyc7XG4gICAgaWYgKFxuICAgICAgaW1wb3J0Lm1ldGEuZW52LkRFViAmJlxuICAgICAgIWRpc3BsYXlXaXRoV2FybmluZ0xvZ2dlZCAmJlxuICAgICAgIWxhYmVsICYmXG4gICAgICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgICAhdGhpcy5kaXNwbGF5V2l0aFxuICAgICkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgZGlzcGxheVdpdGggaGFzIG5vdCBiZWVuIHNldCB5ZXQgZm9yIHNiYi1jaGlwLWdyb3VwIGFuZCB2YWx1ZSBpcyBhbiBvYmplY3QuXG4gICAgICAgICBJZiB5b3UgYXJlIHVzaW5nIG9iamVjdCB2YWx1ZXMsIHlvdSBuZWVkIHRvIHByb3ZpZGUgZGlzcGxheVdpZHRoIGJlZm9yZVxuICAgICAgICAgc2V0dGluZyBvciBzZWxlY3RpbmcgYW55IHZhbHVlLmAsXG4gICAgICApO1xuICAgICAgZGlzcGxheVdpdGhXYXJuaW5nTG9nZ2VkID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5pbnNlcnRCZWZvcmUobmV3Q2hpcCwgdGhpcy5faW5wdXRFbGVtZW50ID8/IHRoaXMucXVlcnlTZWxlY3RvcignaW5wdXQnKSk7XG4gIH1cblxuICBwcml2YXRlIF9yZWFjdFRvSW5wdXRDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLl9pbnB1dEVsZW1lbnQ/LmRpc2FibGVkID8/IGZhbHNlO1xuICAgIHRoaXMuX3Byb3h5U3RhdGVUb0NoaXBzKCk7XG4gIH1cblxuICBwcml2YXRlIF9wcm94eVN0YXRlVG9DaGlwcygpOiB2b2lkIHtcbiAgICB0aGlzLl9jaGlwRWxlbWVudHMoKS5mb3JFYWNoKChjKSA9PiB7XG4gICAgICBjLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZCB8fCB0aGlzLmZvcm1EaXNhYmxlZDtcbiAgICAgIGMucmVhZE9ubHkgPSB0aGlzLl9pbnB1dEVsZW1lbnQ/Lmhhc0F0dHJpYnV0ZSgncmVhZG9ubHknKSA/PyBmYWxzZTtcbiAgICAgIGMubmVnYXRpdmUgPSB0aGlzLm5lZ2F0aXZlO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlU2l6ZShzaXplOiBTYmJGb3JtRmllbGRFbGVtZW50WydzaXplJ10pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcHJldmlvdXNTaXplKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKGBzaXplLSR7dGhpcy5fcHJldmlvdXNTaXplfWApO1xuICAgIH1cbiAgICB0aGlzLl9wcmV2aW91c1NpemUgPSBzaXplO1xuICAgIGlmICh0aGlzLl9wcmV2aW91c1NpemUpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoYHNpemUtJHt0aGlzLl9wcmV2aW91c1NpemV9YCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlSW5wdXREZXNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2lucHV0RWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9pbnB1dEVsZW1lbnQuc2V0QXR0cmlidXRlKFxuICAgICAgJ2FyaWEtZGVzY3JpcHRpb24nLFxuICAgICAgYCR7aTE4bkNoaXBHcm91cElucHV0RGVzY3JpcHRpb25bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19ICR7dGhpcy52YWx1ZS5sZW5ndGh9YCxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9zZXR1cENvbXBvbmVudH0+PC9zbG90PmA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jaGlwLWdyb3VwJzogU2JiQ2hpcEdyb3VwRWxlbWVudDtcbiAgfVxuXG4gIGludGVyZmFjZSBIVE1MRWxlbWVudEV2ZW50TWFwIHtcbiAgICBjaGlwaW5wdXR0b2tlbmVuZDogU2JiQ2hpcElucHV0VG9rZW5FbmRFdmVudDxhbnk+O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQ3FDQSxJQUFhLDRCQUFiLGNBQTJELFlBRTFEOzs7O0NBY0MsSUFBb0IsU0FBTTtBQUN4QixTQUFPOztDQUdULFlBQW1CLFNBQXNFO0FBQ3ZGLFFBQU0scUJBQXFCO0dBQ3pCLFlBQVk7R0FDWixTQUFTO0dBQ1QsVUFBVTtHQUNYLENBQUM7QUFDRixPQUFLLFNBQVMsUUFBUTtBQUN0QixPQUFLLFFBQVEsUUFBUTtBQUNyQixPQUFLLFFBQVEsUUFBUTs7O0NBSWhCLFNBQVMsT0FBUTtBQUN0QixPQUFLLFFBQVE7OztDQUdSLFNBQVMsT0FBYTtBQUMzQixPQUFLLFFBQVE7Ozs7Ozs7Ozs7SUE4QkosNkJBQW1CO21CQUFxQixpQkFDbkQsaUJBQWlCLGlCQUFpQix1QkFBdUIsV0FBVyxDQUFDLENBQUMsQ0FDdkU7Ozs7Ozs7Ozs7OztjQUZZLDRCQUF3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
@@ -1,51 +0,0 @@
1
- import { html, unsafeCSS } from "lit";
2
- import { SbbElement, SbbScreenReaderOnlyElement, boxSizingStyles, i18nPage, i18nPaginatorOf } from "./core.js";
3
- import { SbbDividerElement } from "./divider.pure.js";
4
- import { styleMap } from "lit/directives/style-map.js";
5
- import { SbbPaginatorCommonElementMixin } from "./paginator/common/paginator-common.js";
6
- //#region src/elements/paginator/compact-paginator/compact-paginator.scss?inline
7
- var compact_paginator_default = ":host {\n display: flex;\n gap: var(--sbb-compact-paginator-gap);\n justify-content: var(--sbb-paginator-compact-justify-content, start);\n min-height: var(--sbb-compact-paginator-height);\n}\n\n:host([size=s]) {\n --sbb-compact-paginator-height: var(--sbb-size-element-xs);\n}\n\n:host([size=m]) {\n --sbb-compact-paginator-height: var(--sbb-size-element-m);\n}\n\n:host([negative]) {\n --sbb-compact-paginator-color: var(--sbb-color-5);\n}\n\n:host([pager-position=end]) {\n --sbb-paginator-compact-justify-content: end;\n}\n\n.sbb-paginator__pages {\n font-size: var(--sbb-compact-paginator-font-size);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--sbb-compact-paginator-pages-gap);\n color: var(--sbb-compact-paginator-color);\n}\n\n.sbb-compact-paginator__divider {\n height: 1rem;\n}";
8
- //#endregion
9
- //#region src/elements/paginator/compact-paginator/compact-paginator.component.ts
10
- /**
11
- * It displays a paginator component in compact mode.
12
- */
13
- var SbbCompactPaginatorElement = class extends SbbPaginatorCommonElementMixin(SbbElement) {
14
- static {
15
- this.elementName = "sbb-compact-paginator";
16
- }
17
- static {
18
- this.elementDependencies = [SbbDividerElement, SbbScreenReaderOnlyElement];
19
- }
20
- static {
21
- this.styles = [boxSizingStyles, unsafeCSS(compact_paginator_default)];
22
- }
23
- static {
24
- this.events = { page: "page" };
25
- }
26
- _renderPageNumbers() {
27
- return html`
28
- <span class="sbb-paginator__pages" aria-hidden="true"
29
- >${this.pageIndex + 1}<sbb-divider
30
- orientation="vertical"
31
- class="sbb-compact-paginator__divider"
32
- style=${styleMap({ "--sbb-divider-color": "currentcolor" })}
33
- ?negative=${this.negative}
34
- ></sbb-divider
35
- >${this.numberOfPages()}</span
36
- >
37
- <sbb-screen-reader-only>
38
- ${`${this.accessibilityPageLabel ? this.accessibilityPageLabel : i18nPage[this.language.current]} ${this.pageIndex + 1} ${i18nPaginatorOf[this.language.current]} ${this.numberOfPages()}`}
39
- </sbb-screen-reader-only>
40
- `;
41
- }
42
- renderPaginator() {
43
- return html`
44
- ${this.pagerPosition === "start" ? html`${this.renderPrevNextButtons()} ${this._renderPageNumbers()}` : html`${this._renderPageNumbers()} ${this.renderPrevNextButtons()}`}
45
- `;
46
- }
47
- };
48
- //#endregion
49
- export { SbbCompactPaginatorElement as t };
50
-
51
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFjdC1wYWdpbmF0b3IuY29tcG9uZW50LURpTWVOTlRjLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9wYWdpbmF0b3IvY29tcGFjdC1wYWdpbmF0b3IvY29tcGFjdC1wYWdpbmF0b3Iuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvcGFnaW5hdG9yL2NvbXBhY3QtcGFnaW5hdG9yL2NvbXBhY3QtcGFnaW5hdG9yLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc2JiLWNvbXBhY3QtcGFnaW5hdG9yLWdhcCk7XG4gIGp1c3RpZnktY29udGVudDogdmFyKC0tc2JiLXBhZ2luYXRvci1jb21wYWN0LWp1c3RpZnktY29udGVudCwgc3RhcnQpO1xuICBtaW4taGVpZ2h0OiB2YXIoLS1zYmItY29tcGFjdC1wYWdpbmF0b3ItaGVpZ2h0KTtcbn1cblxuOmhvc3QoW3NpemU9J3MnXSkge1xuICAtLXNiYi1jb21wYWN0LXBhZ2luYXRvci1oZWlnaHQ6IHZhcigtLXNiYi1zaXplLWVsZW1lbnQteHMpO1xufVxuXG46aG9zdChbc2l6ZT0nbSddKSB7XG4gIC0tc2JiLWNvbXBhY3QtcGFnaW5hdG9yLWhlaWdodDogdmFyKC0tc2JiLXNpemUtZWxlbWVudC1tKTtcbn1cblxuOmhvc3QoW25lZ2F0aXZlXSkge1xuICAtLXNiYi1jb21wYWN0LXBhZ2luYXRvci1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTUpO1xufVxuXG46aG9zdChbcGFnZXItcG9zaXRpb249J2VuZCddKSB7XG4gIC0tc2JiLXBhZ2luYXRvci1jb21wYWN0LWp1c3RpZnktY29udGVudDogZW5kO1xufVxuXG4uc2JiLXBhZ2luYXRvcl9fcGFnZXMge1xuICBmb250LXNpemU6IHZhcigtLXNiYi1jb21wYWN0LXBhZ2luYXRvci1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IHZhcigtLXNiYi1jb21wYWN0LXBhZ2luYXRvci1wYWdlcy1nYXApO1xuICBjb2xvcjogdmFyKC0tc2JiLWNvbXBhY3QtcGFnaW5hdG9yLWNvbG9yKTtcbn1cblxuLnNiYi1jb21wYWN0LXBhZ2luYXRvcl9fZGl2aWRlciB7XG4gIGhlaWdodDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDE2KX07XG59XG4iLCJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBodG1sLCB0eXBlIFRlbXBsYXRlUmVzdWx0LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgc3R5bGVNYXAgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9zdHlsZS1tYXAuanMnO1xuXG5pbXBvcnQge1xuICBib3hTaXppbmdTdHlsZXMsXG4gIGkxOG5QYWdlLFxuICBpMThuUGFnaW5hdG9yT2YsXG4gIFNiYkVsZW1lbnQsXG4gIHR5cGUgU2JiRWxlbWVudFR5cGUsXG4gIFNiYlNjcmVlblJlYWRlck9ubHlFbGVtZW50LFxufSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB7IFNiYkRpdmlkZXJFbGVtZW50IH0gZnJvbSAnLi4vLi4vZGl2aWRlci5wdXJlLnRzJztcbmltcG9ydCB7IFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpbiB9IGZyb20gJy4uL2NvbW1vbi9wYWdpbmF0b3ItY29tbW9uLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vY29tcGFjdC1wYWdpbmF0b3Iuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgcGFnaW5hdG9yIGNvbXBvbmVudCBpbiBjb21wYWN0IG1vZGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJDb21wYWN0UGFnaW5hdG9yRWxlbWVudCBleHRlbmRzIFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpbihTYmJFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItY29tcGFjdC1wYWdpbmF0b3InO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbXG4gICAgU2JiRGl2aWRlckVsZW1lbnQsXG4gICAgU2JiU2NyZWVuUmVhZGVyT25seUVsZW1lbnQsXG4gIF07XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50czogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBwYWdlOiAncGFnZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgcHJpdmF0ZSBfcmVuZGVyUGFnZU51bWJlcnMoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgID4ke3RoaXMucGFnZUluZGV4ICsgMX08c2JiLWRpdmlkZXJcbiAgICAgICAgICBvcmllbnRhdGlvbj1cInZlcnRpY2FsXCJcbiAgICAgICAgICBjbGFzcz1cInNiYi1jb21wYWN0LXBhZ2luYXRvcl9fZGl2aWRlclwiXG4gICAgICAgICAgc3R5bGU9JHtzdHlsZU1hcCh7ICctLXNiYi1kaXZpZGVyLWNvbG9yJzogJ2N1cnJlbnRjb2xvcicgfSl9XG4gICAgICAgICAgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX1cbiAgICAgICAgPjwvc2JiLWRpdmlkZXJcbiAgICAgICAgPiR7dGhpcy5udW1iZXJPZlBhZ2VzKCl9PC9zcGFuXG4gICAgICA+XG4gICAgICA8c2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgICAgJHtgJHt0aGlzLmFjY2Vzc2liaWxpdHlQYWdlTGFiZWwgPyB0aGlzLmFjY2Vzc2liaWxpdHlQYWdlTGFiZWwgOiBpMThuUGFnZVt0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfSAke3RoaXMucGFnZUluZGV4ICsgMX0gJHtpMThuUGFnaW5hdG9yT2ZbdGhpcy5sYW5ndWFnZS5jdXJyZW50XX0gJHt0aGlzLm51bWJlck9mUGFnZXMoKX1gfVxuICAgICAgPC9zYmItc2NyZWVuLXJlYWRlci1vbmx5PlxuICAgIGA7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyUGFnaW5hdG9yKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgICR7dGhpcy5wYWdlclBvc2l0aW9uID09PSAnc3RhcnQnXG4gICAgICAgID8gaHRtbGAke3RoaXMucmVuZGVyUHJldk5leHRCdXR0b25zKCl9ICR7dGhpcy5fcmVuZGVyUGFnZU51bWJlcnMoKX1gXG4gICAgICAgIDogaHRtbGAke3RoaXMuX3JlbmRlclBhZ2VOdW1iZXJzKCl9ICR7dGhpcy5yZW5kZXJQcmV2TmV4dEJ1dHRvbnMoKX1gfVxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jb21wYWN0LXBhZ2luYXRvcic6IFNiYkNvbXBhY3RQYWdpbmF0b3JFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQ21CQSxJQUFhLDZCQUFiLGNBQWdELCtCQUErQixXQUFXLENBQUE7O0FBQ3hELE9BQUEsY0FBc0I7OztBQUMvQixPQUFBLHNCQUF3QyxDQUM3RCxtQkFDQSwyQkFDRDs7O0FBQ3NCLE9BQUEsU0FBeUIsQ0FBQyxpQkFBaUIsVUFBVSwwQkFBTSxDQUFDOzs7QUFDNUQsT0FBQSxTQUFpQyxFQUN0RCxNQUFNLFFBQ0U7O0NBRUYscUJBQWtCO0FBQ3hCLFNBQU8sSUFBSTs7V0FFSixLQUFLLFlBQVksRUFBQzs7O2tCQUdYLFNBQVMsRUFBRSx1QkFBdUIsZ0JBQWdCLENBQUMsQ0FBQTtzQkFDL0MsS0FBSyxTQUFBOztXQUVoQixLQUFLLGVBQWUsQ0FBQTs7O1VBR3JCLEdBQUcsS0FBSyx5QkFBeUIsS0FBSyx5QkFBeUIsU0FBUyxLQUFLLFNBQVMsU0FBUSxHQUFJLEtBQUssWUFBWSxFQUFDLEdBQUksZ0JBQWdCLEtBQUssU0FBUyxTQUFRLEdBQUksS0FBSyxlQUFlLEdBQUE7Ozs7Q0FLM0ssa0JBQWU7QUFDaEMsU0FBTyxJQUFJO1FBQ1AsS0FBSyxrQkFBa0IsVUFDckIsSUFBSSxHQUFHLEtBQUssdUJBQXVCLENBQUEsR0FBSSxLQUFLLG9CQUFvQixLQUNoRSxJQUFJLEdBQUcsS0FBSyxvQkFBb0IsQ0FBQSxHQUFJLEtBQUssdUJBQXVCLEdBQUEifQ==
@@ -1,53 +0,0 @@
1
- import { html, unsafeCSS } from "lit";
2
- import { SbbElement, SbbNegativeMixin, boxSizingStyles } from "./core.js";
3
- //#region src/elements/form-field/error/error.scss?inline
4
- var error_default = ":host {\n --_sbb-error-height: calc(var(--sbb-typo-line-height-text) * 1em);\n --sbb-icon-svg-width: var(--sbb-error-icon-size);\n --sbb-icon-svg-height: var(--sbb-error-icon-size);\n display: flex;\n align-items: flex-start;\n color: var(--sbb-error-color);\n min-height: var(--_sbb-error-height);\n font-size: var(--sbb-error-font-size);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n}\n@media (forced-colors: active) {\n :host {\n --sbb-error-color: LinkText !important;\n }\n}\n\n:host([negative]) {\n --sbb-error-color: var(--sbb-color-red85);\n}\n\n.error__icon {\n display: flex;\n align-items: center;\n height: var(--_sbb-error-height);\n margin-inline-end: var(--sbb-spacing-fixed-1x);\n}\n\n.error-content {\n line-height: var(--sbb-typo-line-height-text);\n vertical-align: text-top;\n}\n\n.error__icon-svg {\n stroke: currentcolor;\n height: var(--_sbb-error-height);\n}";
5
- //#endregion
6
- //#region src/elements/form-field/error/error.component.ts
7
- /**
8
- * It displays an error message in the `sbb-form-field`.
9
- *
10
- * @slot - Use this slot to display the error message.
11
- * @slot icon - Use this slot to override the default error icon.
12
- */
13
- var SbbErrorElement = class extends SbbNegativeMixin(SbbElement) {
14
- static {
15
- this.elementName = "sbb-error";
16
- }
17
- static {
18
- this.styles = [boxSizingStyles, unsafeCSS(error_default)];
19
- }
20
- connectedCallback() {
21
- super.connectedCallback();
22
- const formField = this.closest?.("sbb-form-field");
23
- if (formField) this.negative = formField.hasAttribute("negative");
24
- }
25
- render() {
26
- return html`
27
- <span class="error__icon">
28
- <slot name="icon">
29
- <svg
30
- class="error__icon-svg"
31
- aria-hidden="true"
32
- width="14"
33
- height="14"
34
- viewBox="0 0 14 14"
35
- fill="none"
36
- xmlns="http://www.w3.org/2000/svg"
37
- >
38
- <line x1="7" y1="3" x2="7" y2="8.5" />
39
- <line x1="7" y1="10" x2="7" y2="11" />
40
- <circle cx="7" cy="7" r="6.5" />
41
- </svg>
42
- </slot>
43
- </span>
44
- <span class="error-content">
45
- <slot></slot>
46
- </span>
47
- `;
48
- }
49
- };
50
- //#endregion
51
- export { SbbErrorElement as t };
52
-
53
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LUM4SlFRcVNCLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9mb3JtLWZpZWxkL2Vycm9yL2Vycm9yLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Zvcm0tZmllbGQvZXJyb3IvZXJyb3IuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1fc2JiLWVycm9yLWhlaWdodDogY2FsYyh2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KSAqIDFlbSk7XG5cbiAgLy8gT3ZlcnJpZGVzIHNiYiBpY29uXG4gIC0tc2JiLWljb24tc3ZnLXdpZHRoOiB2YXIoLS1zYmItZXJyb3ItaWNvbi1zaXplKTtcbiAgLS1zYmItaWNvbi1zdmctaGVpZ2h0OiB2YXIoLS1zYmItZXJyb3ItaWNvbi1zaXplKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgY29sb3I6IHZhcigtLXNiYi1lcnJvci1jb2xvcik7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLV9zYmItZXJyb3ItaGVpZ2h0KTtcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItZXJyb3ItZm9udC1zaXplKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXNiYi10eXBvLWxldHRlci1zcGFjaW5nLXRleHQpO1xuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi1lcnJvci1jb2xvcjogTGlua1RleHQgIWltcG9ydGFudDtcbiAgfVxufVxuXG46aG9zdChbbmVnYXRpdmVdKSB7XG4gIC0tc2JiLWVycm9yLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItcmVkODUpO1xufVxuXG4uZXJyb3JfX2ljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IHZhcigtLV9zYmItZXJyb3ItaGVpZ2h0KTtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KTtcbn1cblxuLmVycm9yLWNvbnRlbnQge1xuICAvLyBGaXggZm9yIGxpbmUtaGVpZ2h0IHRha2luZyBtb3JlIHRoYW4gcmVzZXJ2ZWQgc3BhY2VcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG59XG5cbi5lcnJvcl9faWNvbi1zdmcge1xuICBzdHJva2U6IGN1cnJlbnRjb2xvcjtcbiAgaGVpZ2h0OiB2YXIoLS1fc2JiLWVycm9yLWhlaWdodCk7XG59XG4iLCJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBodG1sLCB0eXBlIFRlbXBsYXRlUmVzdWx0LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMsIFNiYkVsZW1lbnQsIFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZXJyb3Iuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGFuIGVycm9yIG1lc3NhZ2UgaW4gdGhlIGBzYmItZm9ybS1maWVsZGAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhpcyBzbG90IHRvIGRpc3BsYXkgdGhlIGVycm9yIG1lc3NhZ2UuXG4gKiBAc2xvdCBpY29uIC0gVXNlIHRoaXMgc2xvdCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBlcnJvciBpY29uLlxuICovXG5leHBvcnQgY2xhc3MgU2JiRXJyb3JFbGVtZW50IGV4dGVuZHMgU2JiTmVnYXRpdmVNaXhpbihTYmJFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItZXJyb3InO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBjb25zdCBmb3JtRmllbGQgPSB0aGlzLmNsb3Nlc3Q/Lignc2JiLWZvcm0tZmllbGQnKTtcbiAgICBpZiAoZm9ybUZpZWxkKSB7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gZm9ybUZpZWxkLmhhc0F0dHJpYnV0ZSgnbmVnYXRpdmUnKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3JfX2ljb25cIj5cbiAgICAgICAgPHNsb3QgbmFtZT1cImljb25cIj5cbiAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICBjbGFzcz1cImVycm9yX19pY29uLXN2Z1wiXG4gICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgd2lkdGg9XCIxNFwiXG4gICAgICAgICAgICBoZWlnaHQ9XCIxNFwiXG4gICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDE0IDE0XCJcbiAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxsaW5lIHgxPVwiN1wiIHkxPVwiM1wiIHgyPVwiN1wiIHkyPVwiOC41XCIgLz5cbiAgICAgICAgICAgIDxsaW5lIHgxPVwiN1wiIHkxPVwiMTBcIiB4Mj1cIjdcIiB5Mj1cIjExXCIgLz5cbiAgICAgICAgICAgIDxjaXJjbGUgY3g9XCI3XCIgY3k9XCI3XCIgcj1cIjYuNVwiIC8+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItY29udGVudFwiPlxuICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWVycm9yJzogU2JiRXJyb3JFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQ1lBLElBQWEsa0JBQWIsY0FBcUMsaUJBQWlCLFdBQVcsQ0FBQTs7QUFDL0IsT0FBQSxjQUFzQjs7O0FBQy9CLE9BQUEsU0FBeUIsQ0FBQyxpQkFBaUIsVUFBVSxjQUFNLENBQUM7O0NBRW5FLG9CQUFpQjtBQUMvQixRQUFNLG1CQUFtQjtFQUN6QixNQUFNLFlBQVksS0FBSyxVQUFVLGlCQUFpQjtBQUNsRCxNQUFJLFVBQ0YsTUFBSyxXQUFXLFVBQVUsYUFBYSxXQUFXOztDQUluQyxTQUFNO0FBQ3ZCLFNBQU8sSUFBSSJ9