primeng 17.12.0 → 17.13.0

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 (479) hide show
  1. package/accordion/accordion.d.ts +5 -0
  2. package/animateonscroll/animateonscroll.d.ts +2 -0
  3. package/api/messageservice.d.ts +1 -1
  4. package/api/translation.d.ts +2 -0
  5. package/api/translationkeys.d.ts +1 -0
  6. package/api/treenode.d.ts +1 -0
  7. package/autocomplete/autocomplete.d.ts +27 -0
  8. package/autocomplete/autocomplete.interface.d.ts +1 -1
  9. package/autofocus/autofocus.d.ts +1 -0
  10. package/badge/badge.d.ts +1 -0
  11. package/baseicon/baseicon.d.ts +1 -0
  12. package/blockui/blockui.d.ts +2 -0
  13. package/button/button.d.ts +58 -4
  14. package/calendar/calendar.d.ts +39 -8
  15. package/carousel/carousel.d.ts +4 -0
  16. package/cascadeselect/cascadeselect.d.ts +11 -2
  17. package/chart/chart.d.ts +1 -0
  18. package/checkbox/checkbox.d.ts +5 -0
  19. package/chip/chip.d.ts +1 -0
  20. package/chips/chips.d.ts +8 -0
  21. package/colorpicker/colorpicker.d.ts +4 -0
  22. package/confirmdialog/confirmdialog.d.ts +10 -0
  23. package/confirmpopup/confirmpopup.d.ts +2 -0
  24. package/contextmenu/contextmenu.d.ts +11 -0
  25. package/dataview/dataview.d.ts +16 -0
  26. package/dialog/dialog.d.ts +18 -0
  27. package/dragdrop/dragdrop.d.ts +1 -0
  28. package/dropdown/dropdown.d.ts +23 -0
  29. package/dynamicdialog/dialogservice.d.ts +3 -3
  30. package/dynamicdialog/dynamicdialog-ref.d.ts +8 -2
  31. package/dynamicdialog/dynamicdialog.d.ts +1 -0
  32. package/editor/editor.d.ts +8 -8
  33. package/esm2022/accordion/accordion.mjs +14 -9
  34. package/esm2022/animateonscroll/animateonscroll.mjs +7 -5
  35. package/esm2022/api/messageservice.mjs +2 -2
  36. package/esm2022/api/primengconfig.mjs +4 -2
  37. package/esm2022/api/translation.mjs +1 -1
  38. package/esm2022/api/translationkeys.mjs +2 -1
  39. package/esm2022/api/treenode.mjs +1 -1
  40. package/esm2022/autocomplete/autocomplete.interface.mjs +1 -1
  41. package/esm2022/autocomplete/autocomplete.mjs +64 -37
  42. package/esm2022/autofocus/autofocus.mjs +5 -4
  43. package/esm2022/badge/badge.mjs +5 -4
  44. package/esm2022/baseicon/baseicon.mjs +5 -4
  45. package/esm2022/blockui/blockui.mjs +7 -5
  46. package/esm2022/button/button.mjs +112 -13
  47. package/esm2022/calendar/calendar.mjs +113 -101
  48. package/esm2022/carousel/carousel.mjs +11 -7
  49. package/esm2022/cascadeselect/cascadeselect.mjs +33 -23
  50. package/esm2022/chart/chart.mjs +5 -4
  51. package/esm2022/checkbox/checkbox.mjs +13 -8
  52. package/esm2022/chip/chip.mjs +5 -4
  53. package/esm2022/chips/chips.mjs +19 -11
  54. package/esm2022/colorpicker/colorpicker.mjs +11 -7
  55. package/esm2022/confirmdialog/confirmdialog.mjs +24 -14
  56. package/esm2022/confirmpopup/confirmpopup.mjs +8 -6
  57. package/esm2022/contextmenu/contextmenu.mjs +26 -15
  58. package/esm2022/dataview/dataview.mjs +36 -20
  59. package/esm2022/dialog/dialog.mjs +44 -22
  60. package/esm2022/dragdrop/dragdrop.mjs +5 -4
  61. package/esm2022/dropdown/dropdown.mjs +61 -37
  62. package/esm2022/dynamicdialog/dialogservice.mjs +3 -3
  63. package/esm2022/dynamicdialog/dynamicdialog-ref.mjs +7 -1
  64. package/esm2022/dynamicdialog/dynamicdialog.mjs +6 -2
  65. package/esm2022/editor/editor.mjs +49 -45
  66. package/esm2022/fieldset/fieldset.mjs +7 -5
  67. package/esm2022/fileupload/fileupload.mjs +76 -19
  68. package/esm2022/focustrap/focustrap.mjs +5 -4
  69. package/esm2022/galleria/galleria.mjs +57 -32
  70. package/esm2022/image/image.mjs +5 -4
  71. package/esm2022/inplace/inplace.mjs +12 -8
  72. package/esm2022/inputmask/inputmask.mjs +25 -14
  73. package/esm2022/inputnumber/inputnumber.interface.mjs +1 -1
  74. package/esm2022/inputnumber/inputnumber.mjs +46 -20
  75. package/esm2022/inputotp/inputotp.mjs +9 -10
  76. package/esm2022/inputswitch/inputswitch.mjs +9 -6
  77. package/esm2022/inputtextarea/inputtextarea.mjs +5 -4
  78. package/esm2022/keyfilter/keyfilter.mjs +5 -4
  79. package/esm2022/knob/knob.mjs +21 -12
  80. package/esm2022/listbox/listbox.mjs +41 -19
  81. package/esm2022/megamenu/megamenu.mjs +16 -10
  82. package/esm2022/menu/menu.mjs +11 -17
  83. package/esm2022/menubar/menubar.mjs +26 -15
  84. package/esm2022/message/message.mjs +5 -4
  85. package/esm2022/messages/messages.mjs +9 -6
  86. package/esm2022/metergroup/metergroup.mjs +4 -4
  87. package/esm2022/multiselect/multiselect.mjs +82 -48
  88. package/esm2022/orderlist/orderlist.mjs +18 -11
  89. package/esm2022/organizationchart/organizationchart.mjs +12 -8
  90. package/esm2022/overlaypanel/overlaypanel.mjs +13 -8
  91. package/esm2022/paginator/paginator.mjs +42 -12
  92. package/esm2022/panel/panel.mjs +9 -6
  93. package/esm2022/panelmenu/panelmenu.mjs +33 -16
  94. package/esm2022/password/password.mjs +16 -10
  95. package/esm2022/picklist/picklist.mjs +36 -20
  96. package/esm2022/progressbar/progressbar.mjs +7 -5
  97. package/esm2022/radiobutton/radiobutton.mjs +7 -5
  98. package/esm2022/rating/rating.mjs +17 -13
  99. package/esm2022/scroller/scroller.mjs +2 -2
  100. package/esm2022/scrollpanel/scrollpanel.mjs +5 -4
  101. package/esm2022/scrolltop/scrolltop.mjs +5 -4
  102. package/esm2022/selectbutton/selectbutton.mjs +13 -8
  103. package/esm2022/sidebar/sidebar.mjs +17 -10
  104. package/esm2022/slidemenu/slidemenu.mjs +38 -21
  105. package/esm2022/slider/slider.mjs +17 -10
  106. package/esm2022/speeddial/speeddial.interface.mjs +1 -1
  107. package/esm2022/speeddial/speeddial.mjs +94 -74
  108. package/esm2022/spinner/spinner.mjs +23 -13
  109. package/esm2022/splitbutton/splitbutton.mjs +152 -18
  110. package/esm2022/splitter/splitter.mjs +9 -6
  111. package/esm2022/steps/steps.mjs +13 -10
  112. package/esm2022/styleclass/styleclass.mjs +7 -5
  113. package/esm2022/table/table.mjs +152 -87
  114. package/esm2022/tabmenu/tabmenu.mjs +7 -5
  115. package/esm2022/tabview/tabview.mjs +18 -11
  116. package/esm2022/tag/tag.mjs +19 -7
  117. package/esm2022/tieredmenu/tieredmenu.mjs +35 -29
  118. package/esm2022/toast/toast.mjs +18 -11
  119. package/esm2022/togglebutton/togglebutton.mjs +9 -7
  120. package/esm2022/tooltip/tooltip.mjs +21 -12
  121. package/esm2022/tree/tree.mjs +44 -24
  122. package/esm2022/treeselect/treeselect.mjs +45 -10
  123. package/esm2022/treetable/treetable.mjs +290 -103
  124. package/esm2022/tristatecheckbox/tristatecheckbox.mjs +9 -6
  125. package/esm2022/virtualscroller/virtualscroller.mjs +9 -6
  126. package/fesm2022/primeng-accordion.mjs +13 -8
  127. package/fesm2022/primeng-accordion.mjs.map +1 -1
  128. package/fesm2022/primeng-animateonscroll.mjs +6 -4
  129. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  130. package/fesm2022/primeng-api.mjs +5 -2
  131. package/fesm2022/primeng-api.mjs.map +1 -1
  132. package/fesm2022/primeng-autocomplete.mjs +63 -36
  133. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  134. package/fesm2022/primeng-autofocus.mjs +4 -3
  135. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  136. package/fesm2022/primeng-badge.mjs +4 -3
  137. package/fesm2022/primeng-badge.mjs.map +1 -1
  138. package/fesm2022/primeng-baseicon.mjs +4 -3
  139. package/fesm2022/primeng-baseicon.mjs.map +1 -1
  140. package/fesm2022/primeng-blockui.mjs +6 -4
  141. package/fesm2022/primeng-blockui.mjs.map +1 -1
  142. package/fesm2022/primeng-button.mjs +111 -12
  143. package/fesm2022/primeng-button.mjs.map +1 -1
  144. package/fesm2022/primeng-calendar.mjs +112 -100
  145. package/fesm2022/primeng-calendar.mjs.map +1 -1
  146. package/fesm2022/primeng-carousel.mjs +10 -6
  147. package/fesm2022/primeng-carousel.mjs.map +1 -1
  148. package/fesm2022/primeng-cascadeselect.mjs +32 -22
  149. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  150. package/fesm2022/primeng-chart.mjs +4 -3
  151. package/fesm2022/primeng-chart.mjs.map +1 -1
  152. package/fesm2022/primeng-checkbox.mjs +12 -7
  153. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  154. package/fesm2022/primeng-chip.mjs +4 -3
  155. package/fesm2022/primeng-chip.mjs.map +1 -1
  156. package/fesm2022/primeng-chips.mjs +18 -10
  157. package/fesm2022/primeng-chips.mjs.map +1 -1
  158. package/fesm2022/primeng-colorpicker.mjs +10 -6
  159. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  160. package/fesm2022/primeng-confirmdialog.mjs +23 -13
  161. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  162. package/fesm2022/primeng-confirmpopup.mjs +7 -5
  163. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  164. package/fesm2022/primeng-contextmenu.mjs +25 -14
  165. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  166. package/fesm2022/primeng-dataview.mjs +35 -19
  167. package/fesm2022/primeng-dataview.mjs.map +1 -1
  168. package/fesm2022/primeng-dialog.mjs +43 -21
  169. package/fesm2022/primeng-dialog.mjs.map +1 -1
  170. package/fesm2022/primeng-dragdrop.mjs +4 -3
  171. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  172. package/fesm2022/primeng-dropdown.mjs +60 -36
  173. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  174. package/fesm2022/primeng-dynamicdialog.mjs +13 -3
  175. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  176. package/fesm2022/primeng-editor.mjs +48 -43
  177. package/fesm2022/primeng-editor.mjs.map +1 -1
  178. package/fesm2022/primeng-fieldset.mjs +6 -4
  179. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  180. package/fesm2022/primeng-fileupload.mjs +75 -18
  181. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  182. package/fesm2022/primeng-focustrap.mjs +4 -3
  183. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  184. package/fesm2022/primeng-galleria.mjs +56 -31
  185. package/fesm2022/primeng-galleria.mjs.map +1 -1
  186. package/fesm2022/primeng-image.mjs +4 -3
  187. package/fesm2022/primeng-image.mjs.map +1 -1
  188. package/fesm2022/primeng-inplace.mjs +11 -7
  189. package/fesm2022/primeng-inplace.mjs.map +1 -1
  190. package/fesm2022/primeng-inputmask.mjs +24 -13
  191. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  192. package/fesm2022/primeng-inputnumber.mjs +45 -19
  193. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  194. package/fesm2022/primeng-inputotp.mjs +8 -9
  195. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  196. package/fesm2022/primeng-inputswitch.mjs +8 -5
  197. package/fesm2022/primeng-inputswitch.mjs.map +1 -1
  198. package/fesm2022/primeng-inputtextarea.mjs +4 -3
  199. package/fesm2022/primeng-inputtextarea.mjs.map +1 -1
  200. package/fesm2022/primeng-keyfilter.mjs +4 -3
  201. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  202. package/fesm2022/primeng-knob.mjs +20 -11
  203. package/fesm2022/primeng-knob.mjs.map +1 -1
  204. package/fesm2022/primeng-listbox.mjs +40 -18
  205. package/fesm2022/primeng-listbox.mjs.map +1 -1
  206. package/fesm2022/primeng-megamenu.mjs +15 -9
  207. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  208. package/fesm2022/primeng-menu.mjs +10 -16
  209. package/fesm2022/primeng-menu.mjs.map +1 -1
  210. package/fesm2022/primeng-menubar.mjs +25 -14
  211. package/fesm2022/primeng-menubar.mjs.map +1 -1
  212. package/fesm2022/primeng-message.mjs +4 -3
  213. package/fesm2022/primeng-message.mjs.map +1 -1
  214. package/fesm2022/primeng-messages.mjs +8 -5
  215. package/fesm2022/primeng-messages.mjs.map +1 -1
  216. package/fesm2022/primeng-metergroup.mjs +3 -3
  217. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  218. package/fesm2022/primeng-multiselect.mjs +81 -47
  219. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  220. package/fesm2022/primeng-orderlist.mjs +17 -10
  221. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  222. package/fesm2022/primeng-organizationchart.mjs +11 -7
  223. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  224. package/fesm2022/primeng-overlaypanel.mjs +12 -7
  225. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  226. package/fesm2022/primeng-paginator.mjs +41 -11
  227. package/fesm2022/primeng-paginator.mjs.map +1 -1
  228. package/fesm2022/primeng-panel.mjs +8 -5
  229. package/fesm2022/primeng-panel.mjs.map +1 -1
  230. package/fesm2022/primeng-panelmenu.mjs +32 -15
  231. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  232. package/fesm2022/primeng-password.mjs +15 -9
  233. package/fesm2022/primeng-password.mjs.map +1 -1
  234. package/fesm2022/primeng-picklist.mjs +35 -19
  235. package/fesm2022/primeng-picklist.mjs.map +1 -1
  236. package/fesm2022/primeng-progressbar.mjs +6 -4
  237. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  238. package/fesm2022/primeng-radiobutton.mjs +6 -4
  239. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  240. package/fesm2022/primeng-rating.mjs +16 -12
  241. package/fesm2022/primeng-rating.mjs.map +1 -1
  242. package/fesm2022/primeng-scroller.mjs +1 -1
  243. package/fesm2022/primeng-scroller.mjs.map +1 -1
  244. package/fesm2022/primeng-scrollpanel.mjs +4 -3
  245. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  246. package/fesm2022/primeng-scrolltop.mjs +4 -3
  247. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  248. package/fesm2022/primeng-selectbutton.mjs +12 -7
  249. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  250. package/fesm2022/primeng-sidebar.mjs +16 -9
  251. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  252. package/fesm2022/primeng-slidemenu.mjs +37 -20
  253. package/fesm2022/primeng-slidemenu.mjs.map +1 -1
  254. package/fesm2022/primeng-slider.mjs +16 -9
  255. package/fesm2022/primeng-slider.mjs.map +1 -1
  256. package/fesm2022/primeng-speeddial.mjs +93 -73
  257. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  258. package/fesm2022/primeng-spinner.mjs +22 -12
  259. package/fesm2022/primeng-spinner.mjs.map +1 -1
  260. package/fesm2022/primeng-splitbutton.mjs +151 -17
  261. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  262. package/fesm2022/primeng-splitter.mjs +8 -5
  263. package/fesm2022/primeng-splitter.mjs.map +1 -1
  264. package/fesm2022/primeng-steps.mjs +12 -9
  265. package/fesm2022/primeng-steps.mjs.map +1 -1
  266. package/fesm2022/primeng-styleclass.mjs +6 -4
  267. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  268. package/fesm2022/primeng-table.mjs +151 -86
  269. package/fesm2022/primeng-table.mjs.map +1 -1
  270. package/fesm2022/primeng-tabmenu.mjs +6 -4
  271. package/fesm2022/primeng-tabmenu.mjs.map +1 -1
  272. package/fesm2022/primeng-tabview.mjs +17 -10
  273. package/fesm2022/primeng-tabview.mjs.map +1 -1
  274. package/fesm2022/primeng-tag.mjs +18 -6
  275. package/fesm2022/primeng-tag.mjs.map +1 -1
  276. package/fesm2022/primeng-tieredmenu.mjs +34 -28
  277. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  278. package/fesm2022/primeng-toast.mjs +17 -10
  279. package/fesm2022/primeng-toast.mjs.map +1 -1
  280. package/fesm2022/primeng-togglebutton.mjs +8 -6
  281. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  282. package/fesm2022/primeng-tooltip.mjs +20 -11
  283. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  284. package/fesm2022/primeng-tree.mjs +43 -23
  285. package/fesm2022/primeng-tree.mjs.map +1 -1
  286. package/fesm2022/primeng-treeselect.mjs +44 -9
  287. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  288. package/fesm2022/primeng-treetable.mjs +289 -102
  289. package/fesm2022/primeng-treetable.mjs.map +1 -1
  290. package/fesm2022/primeng-tristatecheckbox.mjs +8 -5
  291. package/fesm2022/primeng-tristatecheckbox.mjs.map +1 -1
  292. package/fesm2022/primeng-virtualscroller.mjs +8 -5
  293. package/fesm2022/primeng-virtualscroller.mjs.map +1 -1
  294. package/fieldset/fieldset.d.ts +2 -0
  295. package/fileupload/fileupload.d.ts +11 -0
  296. package/focustrap/focustrap.d.ts +1 -0
  297. package/galleria/galleria.d.ts +25 -0
  298. package/image/image.d.ts +1 -0
  299. package/inplace/inplace.d.ts +4 -0
  300. package/inputmask/inputmask.d.ts +11 -0
  301. package/inputnumber/inputnumber.d.ts +17 -0
  302. package/inputnumber/inputnumber.interface.d.ts +1 -1
  303. package/inputswitch/inputswitch.d.ts +3 -0
  304. package/inputtextarea/inputtextarea.d.ts +1 -0
  305. package/keyfilter/keyfilter.d.ts +1 -0
  306. package/knob/knob.d.ts +9 -0
  307. package/listbox/listbox.d.ts +22 -2
  308. package/megamenu/megamenu.d.ts +6 -0
  309. package/menu/menu.d.ts +4 -0
  310. package/menubar/menubar.d.ts +11 -0
  311. package/message/message.d.ts +1 -0
  312. package/messages/messages.d.ts +3 -0
  313. package/metergroup/metergroup.d.ts +2 -2
  314. package/multiselect/multiselect.d.ts +23 -1
  315. package/orderlist/orderlist.d.ts +7 -0
  316. package/organizationchart/organizationchart.d.ts +4 -0
  317. package/overlaypanel/overlaypanel.d.ts +5 -0
  318. package/package.json +104 -104
  319. package/paginator/paginator.d.ts +19 -2
  320. package/panel/panel.d.ts +3 -0
  321. package/panelmenu/panelmenu.d.ts +11 -0
  322. package/password/password.d.ts +6 -0
  323. package/picklist/picklist.d.ts +12 -0
  324. package/progressbar/progressbar.d.ts +2 -0
  325. package/radiobutton/radiobutton.d.ts +2 -0
  326. package/rating/rating.d.ts +4 -0
  327. package/resources/components/calendar/calendar.css +1 -0
  328. package/resources/components/cascadeselect/cascadeselect.css +1 -0
  329. package/resources/components/rating/rating.css +2 -0
  330. package/resources/themes/arya-blue/fonts/Inter-italic.var.woff2 +0 -0
  331. package/resources/themes/arya-blue/fonts/Inter-roman.var.woff2 +0 -0
  332. package/resources/themes/arya-blue/theme.css +429 -529
  333. package/resources/themes/arya-green/fonts/Inter-italic.var.woff2 +0 -0
  334. package/resources/themes/arya-green/fonts/Inter-roman.var.woff2 +0 -0
  335. package/resources/themes/arya-green/theme.css +429 -529
  336. package/resources/themes/arya-orange/fonts/Inter-italic.var.woff2 +0 -0
  337. package/resources/themes/arya-orange/fonts/Inter-roman.var.woff2 +0 -0
  338. package/resources/themes/arya-orange/theme.css +429 -529
  339. package/resources/themes/arya-purple/fonts/Inter-italic.var.woff2 +0 -0
  340. package/resources/themes/arya-purple/fonts/Inter-roman.var.woff2 +0 -0
  341. package/resources/themes/arya-purple/theme.css +429 -529
  342. package/resources/themes/aura-dark-amber/fonts/Inter-italic.var.woff2 +0 -0
  343. package/resources/themes/aura-dark-amber/fonts/Inter-roman.var.woff2 +0 -0
  344. package/resources/themes/aura-dark-amber/theme.css +7724 -0
  345. package/resources/themes/aura-dark-blue/fonts/Inter-italic.var.woff2 +0 -0
  346. package/resources/themes/aura-dark-blue/fonts/Inter-roman.var.woff2 +0 -0
  347. package/resources/themes/aura-dark-blue/theme.css +7724 -0
  348. package/resources/themes/aura-dark-cyan/fonts/Inter-italic.var.woff2 +0 -0
  349. package/resources/themes/aura-dark-cyan/fonts/Inter-roman.var.woff2 +0 -0
  350. package/resources/themes/aura-dark-cyan/theme.css +7724 -0
  351. package/resources/themes/aura-dark-green/fonts/Inter-italic.var.woff2 +0 -0
  352. package/resources/themes/aura-dark-green/fonts/Inter-roman.var.woff2 +0 -0
  353. package/resources/themes/aura-dark-green/theme.css +7724 -0
  354. package/resources/themes/aura-dark-indigo/fonts/Inter-italic.var.woff2 +0 -0
  355. package/resources/themes/aura-dark-indigo/fonts/Inter-roman.var.woff2 +0 -0
  356. package/resources/themes/aura-dark-indigo/theme.css +7724 -0
  357. package/resources/themes/aura-dark-lime/fonts/Inter-italic.var.woff2 +0 -0
  358. package/resources/themes/aura-dark-lime/fonts/Inter-roman.var.woff2 +0 -0
  359. package/resources/themes/aura-dark-lime/theme.css +7724 -0
  360. package/resources/themes/aura-dark-noir/fonts/Inter-italic.var.woff2 +0 -0
  361. package/resources/themes/aura-dark-noir/fonts/Inter-roman.var.woff2 +0 -0
  362. package/resources/themes/aura-dark-noir/theme.css +7724 -0
  363. package/resources/themes/aura-dark-pink/fonts/Inter-italic.var.woff2 +0 -0
  364. package/resources/themes/aura-dark-pink/fonts/Inter-roman.var.woff2 +0 -0
  365. package/resources/themes/aura-dark-pink/theme.css +7724 -0
  366. package/resources/themes/aura-dark-purple/fonts/Inter-italic.var.woff2 +0 -0
  367. package/resources/themes/aura-dark-purple/fonts/Inter-roman.var.woff2 +0 -0
  368. package/resources/themes/aura-dark-purple/theme.css +7724 -0
  369. package/resources/themes/aura-dark-teal/fonts/Inter-italic.var.woff2 +0 -0
  370. package/resources/themes/aura-dark-teal/fonts/Inter-roman.var.woff2 +0 -0
  371. package/resources/themes/aura-dark-teal/theme.css +7724 -0
  372. package/resources/themes/aura-light-amber/fonts/Inter-italic.var.woff2 +0 -0
  373. package/resources/themes/aura-light-amber/fonts/Inter-roman.var.woff2 +0 -0
  374. package/resources/themes/aura-light-amber/theme.css +7726 -0
  375. package/resources/themes/aura-light-blue/fonts/Inter-italic.var.woff2 +0 -0
  376. package/resources/themes/aura-light-blue/fonts/Inter-roman.var.woff2 +0 -0
  377. package/resources/themes/aura-light-blue/theme.css +7726 -0
  378. package/resources/themes/aura-light-cyan/fonts/Inter-italic.var.woff2 +0 -0
  379. package/resources/themes/aura-light-cyan/fonts/Inter-roman.var.woff2 +0 -0
  380. package/resources/themes/aura-light-cyan/theme.css +7726 -0
  381. package/resources/themes/aura-light-green/fonts/Inter-italic.var.woff2 +0 -0
  382. package/resources/themes/aura-light-green/fonts/Inter-roman.var.woff2 +0 -0
  383. package/resources/themes/aura-light-green/theme.css +7726 -0
  384. package/resources/themes/aura-light-indigo/fonts/Inter-italic.var.woff2 +0 -0
  385. package/resources/themes/aura-light-indigo/fonts/Inter-roman.var.woff2 +0 -0
  386. package/resources/themes/aura-light-indigo/theme.css +7726 -0
  387. package/resources/themes/aura-light-lime/fonts/Inter-italic.var.woff2 +0 -0
  388. package/resources/themes/aura-light-lime/fonts/Inter-roman.var.woff2 +0 -0
  389. package/resources/themes/aura-light-lime/theme.css +7726 -0
  390. package/resources/themes/aura-light-noir/fonts/Inter-italic.var.woff2 +0 -0
  391. package/resources/themes/aura-light-noir/fonts/Inter-roman.var.woff2 +0 -0
  392. package/resources/themes/aura-light-noir/theme.css +7734 -0
  393. package/resources/themes/aura-light-pink/fonts/Inter-italic.var.woff2 +0 -0
  394. package/resources/themes/aura-light-pink/fonts/Inter-roman.var.woff2 +0 -0
  395. package/resources/themes/aura-light-pink/theme.css +7726 -0
  396. package/resources/themes/aura-light-purple/fonts/Inter-italic.var.woff2 +0 -0
  397. package/resources/themes/aura-light-purple/fonts/Inter-roman.var.woff2 +0 -0
  398. package/resources/themes/aura-light-purple/theme.css +7726 -0
  399. package/resources/themes/aura-light-teal/fonts/Inter-italic.var.woff2 +0 -0
  400. package/resources/themes/aura-light-teal/fonts/Inter-roman.var.woff2 +0 -0
  401. package/resources/themes/aura-light-teal/theme.css +7726 -0
  402. package/resources/themes/bootstrap4-dark-blue/theme.css +430 -529
  403. package/resources/themes/bootstrap4-dark-purple/theme.css +430 -529
  404. package/resources/themes/bootstrap4-light-blue/theme.css +430 -529
  405. package/resources/themes/bootstrap4-light-purple/theme.css +430 -529
  406. package/resources/themes/fluent-light/theme.css +456 -540
  407. package/resources/themes/lara-dark-amber/theme.css +649 -448
  408. package/resources/themes/lara-dark-blue/theme.css +494 -531
  409. package/resources/themes/lara-dark-cyan/theme.css +649 -448
  410. package/resources/themes/lara-dark-green/theme.css +649 -448
  411. package/resources/themes/lara-dark-indigo/theme.css +494 -531
  412. package/resources/themes/lara-dark-pink/theme.css +649 -448
  413. package/resources/themes/lara-dark-purple/theme.css +494 -531
  414. package/resources/themes/lara-dark-teal/theme.css +494 -531
  415. package/resources/themes/lara-light-amber/theme.css +619 -467
  416. package/resources/themes/lara-light-blue/theme.css +450 -539
  417. package/resources/themes/lara-light-cyan/theme.css +619 -467
  418. package/resources/themes/lara-light-green/theme.css +619 -467
  419. package/resources/themes/lara-light-indigo/theme.css +450 -539
  420. package/resources/themes/lara-light-pink/theme.css +619 -467
  421. package/resources/themes/lara-light-purple/theme.css +450 -539
  422. package/resources/themes/lara-light-teal/theme.css +450 -539
  423. package/resources/themes/luna-amber/theme.css +443 -542
  424. package/resources/themes/luna-blue/theme.css +443 -542
  425. package/resources/themes/luna-green/theme.css +443 -542
  426. package/resources/themes/luna-pink/theme.css +443 -542
  427. package/resources/themes/md-dark-deeppurple/theme.css +773 -691
  428. package/resources/themes/md-dark-indigo/theme.css +773 -691
  429. package/resources/themes/md-light-deeppurple/theme.css +655 -573
  430. package/resources/themes/md-light-indigo/theme.css +655 -573
  431. package/resources/themes/mdc-dark-deeppurple/theme.css +773 -691
  432. package/resources/themes/mdc-dark-indigo/theme.css +773 -691
  433. package/resources/themes/mdc-light-deeppurple/theme.css +655 -573
  434. package/resources/themes/mdc-light-indigo/theme.css +655 -573
  435. package/resources/themes/mira/theme.css +467 -536
  436. package/resources/themes/nano/theme.css +427 -529
  437. package/resources/themes/nova/theme.css +431 -529
  438. package/resources/themes/nova-accent/theme.css +428 -529
  439. package/resources/themes/nova-alt/theme.css +431 -529
  440. package/resources/themes/rhea/theme.css +428 -529
  441. package/resources/themes/saga-blue/theme.css +429 -529
  442. package/resources/themes/saga-green/theme.css +429 -529
  443. package/resources/themes/saga-orange/theme.css +429 -529
  444. package/resources/themes/saga-purple/theme.css +429 -529
  445. package/resources/themes/soho-dark/theme.css +463 -560
  446. package/resources/themes/soho-light/theme.css +439 -534
  447. package/resources/themes/tailwind-light/theme.css +470 -559
  448. package/resources/themes/vela-blue/theme.css +429 -529
  449. package/resources/themes/vela-green/theme.css +429 -529
  450. package/resources/themes/vela-orange/theme.css +429 -529
  451. package/resources/themes/vela-purple/theme.css +429 -529
  452. package/resources/themes/viva-dark/theme.css +453 -534
  453. package/resources/themes/viva-light/theme.css +453 -534
  454. package/scrollpanel/scrollpanel.d.ts +1 -0
  455. package/scrolltop/scrolltop.d.ts +1 -0
  456. package/selectbutton/selectbutton.d.ts +5 -0
  457. package/sidebar/sidebar.d.ts +7 -0
  458. package/slidemenu/slidemenu.d.ts +17 -0
  459. package/slider/slider.d.ts +7 -0
  460. package/speeddial/speeddial.d.ts +7 -0
  461. package/speeddial/speeddial.interface.d.ts +17 -0
  462. package/spinner/spinner.d.ts +10 -0
  463. package/splitbutton/splitbutton.d.ts +72 -6
  464. package/splitter/splitter.d.ts +3 -0
  465. package/steps/steps.d.ts +3 -0
  466. package/styleclass/styleclass.d.ts +2 -0
  467. package/table/table.d.ts +65 -0
  468. package/tabmenu/tabmenu.d.ts +2 -0
  469. package/tabview/tabview.d.ts +7 -0
  470. package/tag/tag.d.ts +11 -2
  471. package/tieredmenu/tieredmenu.d.ts +14 -3
  472. package/toast/toast.d.ts +7 -0
  473. package/togglebutton/togglebutton.d.ts +2 -0
  474. package/tooltip/tooltip.d.ts +9 -0
  475. package/tree/tree.d.ts +20 -0
  476. package/treeselect/treeselect.d.ts +25 -2
  477. package/treetable/treetable.d.ts +62 -4
  478. package/tristatecheckbox/tristatecheckbox.d.ts +3 -0
  479. package/virtualscroller/virtualscroller.d.ts +3 -0
@@ -1,5 +1,5 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, Input, NgModule, ViewEncapsulation } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, Input, NgModule, ViewEncapsulation, booleanAttribute } from '@angular/core';
3
3
  import { CheckIcon } from 'primeng/icons/check';
4
4
  import { ExclamationTriangleIcon } from 'primeng/icons/exclamationtriangle';
5
5
  import { InfoCircleIcon } from 'primeng/icons/infocircle';
@@ -45,7 +45,7 @@ export class UIMessage {
45
45
  }
46
46
  }
47
47
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: UIMessage, deps: [], target: i0.ɵɵFactoryTarget.Component });
48
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: UIMessage, selector: "p-message", inputs: { severity: "severity", text: "text", escape: "escape", style: "style", styleClass: "styleClass" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
48
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.1", type: UIMessage, selector: "p-message", inputs: { severity: "severity", text: "text", escape: ["escape", "escape", booleanAttribute], style: "style", styleClass: "styleClass" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
49
49
  <div
50
50
  aria-live="polite"
51
51
  class="p-inline-message p-component p-inline-message"
@@ -107,7 +107,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
107
107
  }], text: [{
108
108
  type: Input
109
109
  }], escape: [{
110
- type: Input
110
+ type: Input,
111
+ args: [{ transform: booleanAttribute }]
111
112
  }], style: [{
112
113
  type: Input
113
114
  }], styleClass: [{
@@ -126,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
126
127
  declarations: [UIMessage]
127
128
  }]
128
129
  }] });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9tZXNzYWdlL21lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBQzVEOzs7R0FHRztBQW9DSCxNQUFNLE9BQU8sU0FBUztJQUNsQjs7O09BR0c7SUFDTSxRQUFRLENBQTZEO0lBQzlFOzs7T0FHRztJQUNNLElBQUksQ0FBcUI7SUFDbEM7OztPQUdHO0lBQ00sTUFBTSxHQUFZLElBQUksQ0FBQztJQUNoQzs7O09BR0c7SUFDTSxLQUFLLENBQThDO0lBQzVEOzs7T0FHRztJQUNNLFVBQVUsQ0FBcUI7SUFFeEMsSUFBSSxJQUFJO1FBQ0osSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdkMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQ3hCO2FBQU07WUFDSCxPQUFPLE1BQU0sQ0FBQztTQUNqQjtJQUNMLENBQUM7dUdBakNRLFNBQVM7MkZBQVQsU0FBUyxvTUFqQ1I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0F5QlQsOHBCQTZDdUIsU0FBUywyRUFBRSxjQUFjLGdGQUFFLGVBQWUsaUZBQUUsdUJBQXVCOzsyRkFyQ2xGLFNBQVM7a0JBbkNyQixTQUFTOytCQUNJLFdBQVcsWUFDWDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQXlCVCxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUUvQjt3QkFDRixLQUFLLEVBQUUsV0FBVztxQkFDckI7OEJBT1EsUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLOztBQWdCVixNQUFNLE9BQU8sYUFBYTt1R0FBYixhQUFhO3dHQUFiLGFBQWEsaUJBekNiLFNBQVMsYUFxQ1IsWUFBWSxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixhQXJDbEYsU0FBUzt3R0F5Q1QsYUFBYSxZQUpaLFlBQVksRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSx1QkFBdUI7OzJGQUlsRixhQUFhO2tCQUx6QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQztvQkFDNUYsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDO29CQUNwQixZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUM7aUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBOZ01vZHVsZSwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENoZWNrSWNvbiB9IGZyb20gJ3ByaW1lbmcvaWNvbnMvY2hlY2snO1xuaW1wb3J0IHsgRXhjbGFtYXRpb25UcmlhbmdsZUljb24gfSBmcm9tICdwcmltZW5nL2ljb25zL2V4Y2xhbWF0aW9udHJpYW5nbGUnO1xuaW1wb3J0IHsgSW5mb0NpcmNsZUljb24gfSBmcm9tICdwcmltZW5nL2ljb25zL2luZm9jaXJjbGUnO1xuaW1wb3J0IHsgVGltZXNDaXJjbGVJY29uIH0gZnJvbSAncHJpbWVuZy9pY29ucy90aW1lc2NpcmNsZSc7XG4vKipcbiAqIE1lc3NhZ2UgZ3JvdXBzIGEgY29sbGVjdGlvbiBvZiBjb250ZW50cyBpbiB0YWJzLlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwLW1lc3NhZ2UnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgICAgICBjbGFzcz1cInAtaW5saW5lLW1lc3NhZ2UgcC1jb21wb25lbnQgcC1pbmxpbmUtbWVzc2FnZVwiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJzdHlsZVwiXG4gICAgICAgICAgICBbY2xhc3NdPVwic3R5bGVDbGFzc1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgJ3AtaW5saW5lLW1lc3NhZ2UtaW5mbyc6IHNldmVyaXR5ID09PSAnaW5mbycsXG4gICAgICAgICAgICAgICAgJ3AtaW5saW5lLW1lc3NhZ2Utd2Fybic6IHNldmVyaXR5ID09PSAnd2FybicsXG4gICAgICAgICAgICAgICAgJ3AtaW5saW5lLW1lc3NhZ2UtZXJyb3InOiBzZXZlcml0eSA9PT0gJ2Vycm9yJyxcbiAgICAgICAgICAgICAgICAncC1pbmxpbmUtbWVzc2FnZS1zdWNjZXNzJzogc2V2ZXJpdHkgPT09ICdzdWNjZXNzJyxcbiAgICAgICAgICAgICAgICAncC1pbmxpbmUtbWVzc2FnZS1pY29uLW9ubHknOiB0aGlzLnRleHQgPT0gbnVsbFxuICAgICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxDaGVja0ljb24gKm5nSWY9XCJpY29uID09PSAnc3VjY2VzcydcIiBbc3R5bGVDbGFzc109XCIncC1pbmxpbmUtbWVzc2FnZS1pY29uJ1wiIC8+XG4gICAgICAgICAgICA8SW5mb0NpcmNsZUljb24gKm5nSWY9XCJpY29uID09PSAnaW5mbydcIiBbc3R5bGVDbGFzc109XCIncC1pbmxpbmUtbWVzc2FnZS1pY29uJ1wiIC8+XG4gICAgICAgICAgICA8VGltZXNDaXJjbGVJY29uICpuZ0lmPVwiaWNvbiA9PT0gJ2Vycm9yJ1wiIFtzdHlsZUNsYXNzXT1cIidwLWlubGluZS1tZXNzYWdlLWljb24nXCIgLz5cbiAgICAgICAgICAgIDxFeGNsYW1hdGlvblRyaWFuZ2xlSWNvbiAqbmdJZj1cImljb24gPT09ICd3YXJuJ1wiIFtzdHlsZUNsYXNzXT1cIidwLWlubGluZS1tZXNzYWdlLWljb24nXCIgLz5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhZXNjYXBlOyBlbHNlIGVzY2FwZU91dFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWVzY2FwZVwiIGNsYXNzPVwicC1pbmxpbmUtbWVzc2FnZS10ZXh0XCIgW2lubmVySFRNTF09XCJ0ZXh0XCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2VzY2FwZU91dD5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImVzY2FwZVwiIGNsYXNzPVwicC1pbmxpbmUtbWVzc2FnZS10ZXh0XCI+e3sgdGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgIGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdHlsZVVybHM6IFsnLi9tZXNzYWdlLmNzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdwLWVsZW1lbnQnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBVSU1lc3NhZ2Uge1xuICAgIC8qKlxuICAgICAqIFNldmVyaXR5IGxldmVsIG9mIHRoZSBtZXNzYWdlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldmVyaXR5OiAnc3VjY2VzcycgfCAnaW5mbycgfCAnd2FybicgfCAnZXJyb3InIHwgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFRleHQgY29udGVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0ZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hldGhlciBkaXNwbGF5aW5nIG1lc3NhZ2VzIHdvdWxkIGJlIGVzY2FwZWQgb3Igbm90LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGVzY2FwZTogYm9vbGVhbiA9IHRydWU7XG4gICAgLyoqXG4gICAgICogSW5saW5lIHN0eWxlIG9mIHRoZSBjb21wb25lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc3R5bGU6IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfSB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogU3R5bGUgY2xhc3Mgb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzdHlsZUNsYXNzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICBnZXQgaWNvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuc2V2ZXJpdHkgJiYgdGhpcy5zZXZlcml0eS50cmltKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNldmVyaXR5O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICdpbmZvJztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDaGVja0ljb24sIEluZm9DaXJjbGVJY29uLCBUaW1lc0NpcmNsZUljb24sIEV4Y2xhbWF0aW9uVHJpYW5nbGVJY29uXSxcbiAgICBleHBvcnRzOiBbVUlNZXNzYWdlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtVSU1lc3NhZ2VdXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VNb2R1bGUge31cbiJdfQ==
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9tZXNzYWdlL21lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6SCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBQzVEOzs7R0FHRztBQW9DSCxNQUFNLE9BQU8sU0FBUztJQUNsQjs7O09BR0c7SUFDTSxRQUFRLENBQTZEO0lBQzlFOzs7T0FHRztJQUNNLElBQUksQ0FBcUI7SUFDbEM7OztPQUdHO0lBQ3FDLE1BQU0sR0FBWSxJQUFJLENBQUM7SUFDL0Q7OztPQUdHO0lBQ00sS0FBSyxDQUE4QztJQUM1RDs7O09BR0c7SUFDTSxVQUFVLENBQXFCO0lBRXhDLElBQUksSUFBSTtRQUNKLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3ZDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUN4QjthQUFNO1lBQ0gsT0FBTyxNQUFNLENBQUM7U0FDakI7SUFDTCxDQUFDO3VHQWpDUSxTQUFTOzJGQUFULFNBQVMsb0dBZUUsZ0JBQWdCLDhHQWhEMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0F5QlQsOHBCQTZDdUIsU0FBUywyRUFBRSxjQUFjLGdGQUFFLGVBQWUsaUZBQUUsdUJBQXVCOzsyRkFyQ2xGLFNBQVM7a0JBbkNyQixTQUFTOytCQUNJLFdBQVcsWUFDWDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQXlCVCxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUUvQjt3QkFDRixLQUFLLEVBQUUsV0FBVztxQkFDckI7OEJBT1EsUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS2tDLE1BQU07c0JBQTdDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSzdCLEtBQUs7c0JBQWIsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLOztBQWdCVixNQUFNLE9BQU8sYUFBYTt1R0FBYixhQUFhO3dHQUFiLGFBQWEsaUJBekNiLFNBQVMsYUFxQ1IsWUFBWSxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixhQXJDbEYsU0FBUzt3R0F5Q1QsYUFBYSxZQUpaLFlBQVksRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSx1QkFBdUI7OzJGQUlsRixhQUFhO2tCQUx6QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQztvQkFDNUYsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDO29CQUNwQixZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUM7aUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBOZ01vZHVsZSwgVmlld0VuY2Fwc3VsYXRpb24sIGJvb2xlYW5BdHRyaWJ1dGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENoZWNrSWNvbiB9IGZyb20gJ3ByaW1lbmcvaWNvbnMvY2hlY2snO1xuaW1wb3J0IHsgRXhjbGFtYXRpb25UcmlhbmdsZUljb24gfSBmcm9tICdwcmltZW5nL2ljb25zL2V4Y2xhbWF0aW9udHJpYW5nbGUnO1xuaW1wb3J0IHsgSW5mb0NpcmNsZUljb24gfSBmcm9tICdwcmltZW5nL2ljb25zL2luZm9jaXJjbGUnO1xuaW1wb3J0IHsgVGltZXNDaXJjbGVJY29uIH0gZnJvbSAncHJpbWVuZy9pY29ucy90aW1lc2NpcmNsZSc7XG4vKipcbiAqIE1lc3NhZ2UgZ3JvdXBzIGEgY29sbGVjdGlvbiBvZiBjb250ZW50cyBpbiB0YWJzLlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwLW1lc3NhZ2UnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICAgICAgICBjbGFzcz1cInAtaW5saW5lLW1lc3NhZ2UgcC1jb21wb25lbnQgcC1pbmxpbmUtbWVzc2FnZVwiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJzdHlsZVwiXG4gICAgICAgICAgICBbY2xhc3NdPVwic3R5bGVDbGFzc1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgJ3AtaW5saW5lLW1lc3NhZ2UtaW5mbyc6IHNldmVyaXR5ID09PSAnaW5mbycsXG4gICAgICAgICAgICAgICAgJ3AtaW5saW5lLW1lc3NhZ2Utd2Fybic6IHNldmVyaXR5ID09PSAnd2FybicsXG4gICAgICAgICAgICAgICAgJ3AtaW5saW5lLW1lc3NhZ2UtZXJyb3InOiBzZXZlcml0eSA9PT0gJ2Vycm9yJyxcbiAgICAgICAgICAgICAgICAncC1pbmxpbmUtbWVzc2FnZS1zdWNjZXNzJzogc2V2ZXJpdHkgPT09ICdzdWNjZXNzJyxcbiAgICAgICAgICAgICAgICAncC1pbmxpbmUtbWVzc2FnZS1pY29uLW9ubHknOiB0aGlzLnRleHQgPT0gbnVsbFxuICAgICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxDaGVja0ljb24gKm5nSWY9XCJpY29uID09PSAnc3VjY2VzcydcIiBbc3R5bGVDbGFzc109XCIncC1pbmxpbmUtbWVzc2FnZS1pY29uJ1wiIC8+XG4gICAgICAgICAgICA8SW5mb0NpcmNsZUljb24gKm5nSWY9XCJpY29uID09PSAnaW5mbydcIiBbc3R5bGVDbGFzc109XCIncC1pbmxpbmUtbWVzc2FnZS1pY29uJ1wiIC8+XG4gICAgICAgICAgICA8VGltZXNDaXJjbGVJY29uICpuZ0lmPVwiaWNvbiA9PT0gJ2Vycm9yJ1wiIFtzdHlsZUNsYXNzXT1cIidwLWlubGluZS1tZXNzYWdlLWljb24nXCIgLz5cbiAgICAgICAgICAgIDxFeGNsYW1hdGlvblRyaWFuZ2xlSWNvbiAqbmdJZj1cImljb24gPT09ICd3YXJuJ1wiIFtzdHlsZUNsYXNzXT1cIidwLWlubGluZS1tZXNzYWdlLWljb24nXCIgLz5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhZXNjYXBlOyBlbHNlIGVzY2FwZU91dFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWVzY2FwZVwiIGNsYXNzPVwicC1pbmxpbmUtbWVzc2FnZS10ZXh0XCIgW2lubmVySFRNTF09XCJ0ZXh0XCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2VzY2FwZU91dD5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImVzY2FwZVwiIGNsYXNzPVwicC1pbmxpbmUtbWVzc2FnZS10ZXh0XCI+e3sgdGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgIGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdHlsZVVybHM6IFsnLi9tZXNzYWdlLmNzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdwLWVsZW1lbnQnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBVSU1lc3NhZ2Uge1xuICAgIC8qKlxuICAgICAqIFNldmVyaXR5IGxldmVsIG9mIHRoZSBtZXNzYWdlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldmVyaXR5OiAnc3VjY2VzcycgfCAnaW5mbycgfCAnd2FybicgfCAnZXJyb3InIHwgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFRleHQgY29udGVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0ZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hldGhlciBkaXNwbGF5aW5nIG1lc3NhZ2VzIHdvdWxkIGJlIGVzY2FwZWQgb3Igbm90LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBlc2NhcGU6IGJvb2xlYW4gPSB0cnVlO1xuICAgIC8qKlxuICAgICAqIElubGluZSBzdHlsZSBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0eWxlOiB7IFtrbGFzczogc3RyaW5nXTogYW55IH0gfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFN0eWxlIGNsYXNzIG9mIHRoZSBjb21wb25lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc3R5bGVDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgZ2V0IGljb24oKSB7XG4gICAgICAgIGlmICh0aGlzLnNldmVyaXR5ICYmIHRoaXMuc2V2ZXJpdHkudHJpbSgpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZXZlcml0eTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAnaW5mbyc7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ2hlY2tJY29uLCBJbmZvQ2lyY2xlSWNvbiwgVGltZXNDaXJjbGVJY29uLCBFeGNsYW1hdGlvblRyaWFuZ2xlSWNvbl0sXG4gICAgZXhwb3J0czogW1VJTWVzc2FnZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbVUlNZXNzYWdlXVxufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlTW9kdWxlIHt9XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { animate, style, transition, trigger } from '@angular/animations';
2
2
  import { CommonModule } from '@angular/common';
3
- import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, NgModule, Optional, Output, ViewEncapsulation } from '@angular/core';
3
+ import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, NgModule, Optional, Output, ViewEncapsulation, booleanAttribute } from '@angular/core';
4
4
  import { PrimeTemplate } from 'primeng/api';
5
5
  import { CheckIcon } from 'primeng/icons/check';
6
6
  import { ExclamationTriangleIcon } from 'primeng/icons/exclamationtriangle';
@@ -194,7 +194,7 @@ export class Messages {
194
194
  this.timerSubscriptions.push(timerSubsctiption);
195
195
  }
196
196
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Messages, deps: [{ token: i1.MessageService, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
197
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: Messages, selector: "p-messages", inputs: { value: "value", closable: "closable", style: "style", styleClass: "styleClass", enableService: "enableService", key: "key", escape: "escape", severity: "severity", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions" }, outputs: { valueChange: "valueChange", onClose: "onClose" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], ngImport: i0, template: `
197
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.1", type: Messages, selector: "p-messages", inputs: { value: "value", closable: ["closable", "closable", booleanAttribute], style: "style", styleClass: "styleClass", enableService: ["enableService", "enableService", booleanAttribute], key: "key", escape: ["escape", "escape", booleanAttribute], severity: "severity", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions" }, outputs: { valueChange: "valueChange", onClose: "onClose" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], ngImport: i0, template: `
198
198
  <div class="p-messages p-component" role="alert" [ngStyle]="style" [class]="styleClass" [attr.aria-atomic]="true" [attr.aria-live]="'assertive'" [attr.data-pc-name]="'message'">
199
199
  <ng-container *ngIf="!contentTemplate; else staticMessage">
200
200
  <div
@@ -298,17 +298,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
298
298
  }] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.PrimeNGConfig }], propDecorators: { value: [{
299
299
  type: Input
300
300
  }], closable: [{
301
- type: Input
301
+ type: Input,
302
+ args: [{ transform: booleanAttribute }]
302
303
  }], style: [{
303
304
  type: Input
304
305
  }], styleClass: [{
305
306
  type: Input
306
307
  }], enableService: [{
307
- type: Input
308
+ type: Input,
309
+ args: [{ transform: booleanAttribute }]
308
310
  }], key: [{
309
311
  type: Input
310
312
  }], escape: [{
311
- type: Input
313
+ type: Input,
314
+ args: [{ transform: booleanAttribute }]
312
315
  }], severity: [{
313
316
  type: Input
314
317
  }], showTransitionOptions: [{
@@ -336,4 +339,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
336
339
  declarations: [Messages]
337
340
  }]
338
341
  }] });
339
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvbWVzc2FnZXMvbWVzc2FnZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQW9CLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsZUFBZSxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFhLFFBQVEsRUFBRSxNQUFNLEVBQTBCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVPLE9BQU8sRUFBMkIsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXJFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFnQixLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBQzNDOzs7R0FHRztBQTBESCxNQUFNLE9BQU8sUUFBUTtJQStFYztJQUF1QztJQUF1QjtJQUErQjtJQTlFNUg7OztPQUdHO0lBQ0gsSUFBYSxLQUFLLENBQUMsUUFBbUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxR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QUs7Z0JBS0csYUFBYTtzQkFBckIsS0FBSztnQkFLRyxHQUFHO3NCQUFYLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUtHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFNSSxXQUFXO3NCQUFwQixNQUFNO2dCQU1HLE9BQU87c0JBQWhCLE1BQU07Z0JBRXlCLFNBQVM7c0JBQXhDLGVBQWU7dUJBQUMsYUFBYTs7QUF1SWxDLE1BQU0sT0FBTyxjQUFjO3VHQUFkLGNBQWM7d0dBQWQsY0FBYyxpQkExTWQsUUFBUSxhQXNNUCxZQUFZLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLFNBQVMsYUF0TTNHLFFBQVE7d0dBME1SLGNBQWMsWUFKYixZQUFZLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLFNBQVM7OzJGQUkzRyxjQUFjO2tCQUwxQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxDQUFDO29CQUNySCxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7b0JBQ25CLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQztpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE5nTW9kdWxlLCBPbkRlc3Ryb3ksIE9wdGlvbmFsLCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVGVtcGxhdGVSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXNzYWdlLCBNZXNzYWdlU2VydmljZSwgUHJpbWVUZW1wbGF0ZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IFByaW1lTkdDb25maWcgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBDaGVja0ljb24gfSBmcm9tICdwcmltZW5nL2ljb25zL2NoZWNrJztcbmltcG9ydCB7IEV4Y2xhbWF0aW9uVHJpYW5nbGVJY29uIH0gZnJvbSAncHJpbWVuZy9pY29ucy9leGNsYW1hdGlvbnRyaWFuZ2xlJztcbmltcG9ydCB7IEluZm9DaXJjbGVJY29uIH0gZnJvbSAncHJpbWVuZy9pY29ucy9pbmZvY2lyY2xlJztcbmltcG9ydCB7IFRpbWVzSWNvbiB9IGZyb20gJ3ByaW1lbmcvaWNvbnMvdGltZXMnO1xuaW1wb3J0IHsgVGltZXNDaXJjbGVJY29uIH0gZnJvbSAncHJpbWVuZy9pY29ucy90aW1lc2NpcmNsZSc7XG5pbXBvcnQgeyBSaXBwbGVNb2R1bGUgfSBmcm9tICdwcmltZW5nL3JpcHBsZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIHRpbWVyIH0gZnJvbSAncnhqcyc7XG4vKipcbiAqIE1lc3NhZ2VzIGlzIHVzZWQgdG8gZGlzcGxheSBhbGVydHMgaW5saW5lLlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwLW1lc3NhZ2VzJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2IGNsYXNzPVwicC1tZXNzYWdlcyBwLWNvbXBvbmVudFwiIHJvbGU9XCJhbGVydFwiIFtuZ1N0eWxlXT1cInN0eWxlXCIgW2NsYXNzXT1cInN0eWxlQ2xhc3NcIiBbYXR0ci5hcmlhLWF0b21pY109XCJ0cnVlXCIgW2F0dHIuYXJpYS1saXZlXT1cIidhc3NlcnRpdmUnXCIgW2F0dHIuZGF0YS1wYy1uYW1lXT1cIidtZXNzYWdlJ1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb250ZW50VGVtcGxhdGU7IGVsc2Ugc3RhdGljTWVzc2FnZVwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG1zZyBvZiBtZXNzYWdlczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCIncC1tZXNzYWdlIHAtbWVzc2FnZS0nICsgbXNnLnNldmVyaXR5XCJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cImFsZXJ0XCJcbiAgICAgICAgICAgICAgICAgICAgW0BtZXNzYWdlQW5pbWF0aW9uXT1cInsgdmFsdWU6ICd2aXNpYmxlJywgcGFyYW1zOiB7IHNob3dUcmFuc2l0aW9uUGFyYW1zOiBzaG93VHJhbnNpdGlvbk9wdGlvbnMsIGhpZGVUcmFuc2l0aW9uUGFyYW1zOiBoaWRlVHJhbnNpdGlvbk9wdGlvbnMgfSB9XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLW1lc3NhZ2Utd3JhcHBlclwiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInd3JhcHBlcidcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibXNnLmljb25cIiBbY2xhc3NdPVwiJ3AtbWVzc2FnZS1pY29uIHBpICcgKyBtc2cuaWNvblwiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInaWNvbidcIj4gPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwLW1lc3NhZ2UtaWNvblwiICpuZ0lmPVwiIW1zZy5pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENoZWNrSWNvbiAqbmdJZj1cIm1zZy5zZXZlcml0eSA9PT0gJ3N1Y2Nlc3MnXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidpY29uJ1wiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJbmZvQ2lyY2xlSWNvbiAqbmdJZj1cIm1zZy5zZXZlcml0eSA9PT0gJ2luZm8nXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidpY29uJ1wiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUaW1lc0NpcmNsZUljb24gKm5nSWY9XCJtc2cuc2V2ZXJpdHkgPT09ICdlcnJvcidcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2ljb24nXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEV4Y2xhbWF0aW9uVHJpYW5nbGVJY29uICpuZ0lmPVwibXNnLnNldmVyaXR5ID09PSAnd2FybidcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2ljb24nXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZXNjYXBlOyBlbHNlIGVzY2FwZU91dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibXNnLnN1bW1hcnlcIiBjbGFzcz1cInAtbWVzc2FnZS1zdW1tYXJ5XCIgW2lubmVySFRNTF09XCJtc2cuc3VtbWFyeVwiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInc3VtbWFyeSdcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJtc2cuZGV0YWlsXCIgY2xhc3M9XCJwLW1lc3NhZ2UtZGV0YWlsXCIgW2lubmVySFRNTF09XCJtc2cuZGV0YWlsXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidkZXRhaWwnXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2VzY2FwZU91dD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1zZy5zdW1tYXJ5XCIgY2xhc3M9XCJwLW1lc3NhZ2Utc3VtbWFyeVwiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInc3VtbWFyeSdcIj57eyBtc2cuc3VtbWFyeSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1zZy5kZXRhaWxcIiBjbGFzcz1cInAtbWVzc2FnZS1kZXRhaWxcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2RldGFpbCdcIj57eyBtc2cuZGV0YWlsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJwLW1lc3NhZ2UtY2xvc2UgcC1saW5rXCIgKGNsaWNrKT1cInJlbW92ZU1lc3NhZ2UoaSlcIiAqbmdJZj1cImNsb3NhYmxlXCIgdHlwZT1cImJ1dHRvblwiIHBSaXBwbGUgW2F0dHIuYXJpYS1sYWJlbF09XCJjbG9zZUFyaWFMYWJlbFwiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInY2xvc2VidXR0b24nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRpbWVzSWNvbiBbc3R5bGVDbGFzc109XCIncC1tZXNzYWdlLWNsb3NlLWljb24nXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidjbG9zZWljb24nXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzdGF0aWNNZXNzYWdlPlxuICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiJ3AtbWVzc2FnZSBwLW1lc3NhZ2UtJyArIHNldmVyaXR5XCIgcm9sZT1cImFsZXJ0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLW1lc3NhZ2Utd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgIGAsXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdtZXNzYWdlQW5pbWF0aW9uJywgW1xuICAgICAgICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW3N0eWxlKHsgb3BhY2l0eTogMCwgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgtMjUlKScgfSksIGFuaW1hdGUoJ3t7c2hvd1RyYW5zaXRpb25QYXJhbXN9fScpXSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbYW5pbWF0ZSgne3toaWRlVHJhbnNpdGlvblBhcmFtc319Jywgc3R5bGUoeyBoZWlnaHQ6IDAsIG1hcmdpblRvcDogMCwgbWFyZ2luQm90dG9tOiAwLCBtYXJnaW5MZWZ0OiAwLCBtYXJnaW5SaWdodDogMCwgb3BhY2l0eTogMCB9KSldKVxuICAgICAgICBdKVxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdHlsZVVybHM6IFsnLi9tZXNzYWdlcy5jc3MnXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAncC1lbGVtZW50J1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgTWVzc2FnZXMgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIEFuIGFycmF5IG9mIG1lc3NhZ2VzIHRvIGRpc3BsYXkuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc2V0IHZhbHVlKG1lc3NhZ2VzOiBNZXNzYWdlW10pIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlcyA9IG1lc3NhZ2VzO1xuICAgICAgICB0aGlzLnN0YXJ0TWVzc2FnZUxpZmVzKHRoaXMubWVzc2FnZXMpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIGlmIG1lc3NhZ2UgYm94IGNhbiBiZSBjbG9zZWQgYnkgdGhlIGNsaWNrIGljb24uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgY2xvc2FibGU6IGJvb2xlYW4gPSB0cnVlO1xuICAgIC8qKlxuICAgICAqIElubGluZSBzdHlsZSBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0eWxlOiB7IFtrbGFzczogc3RyaW5nXTogYW55IH0gfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFN0eWxlIGNsYXNzIG9mIHRoZSBjb21wb25lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc3R5bGVDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgZGlzcGxheWluZyBzZXJ2aWNlcyBtZXNzYWdlcyBhcmUgZW5hYmxlZC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBlbmFibGVTZXJ2aWNlOiBib29sZWFuID0gdHJ1ZTtcbiAgICAvKipcbiAgICAgKiBJZCB0byBtYXRjaCB0aGUga2V5IG9mIHRoZSBtZXNzYWdlIHRvIGVuYWJsZSBzY29waW5nIGluIHNlcnZpY2UgYmFzZWQgbWVzc2FnaW5nLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgZGlzcGxheWluZyBtZXNzYWdlcyB3b3VsZCBiZSBlc2NhcGVkIG9yIG5vdC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBlc2NhcGU6IGJvb2xlYW4gPSB0cnVlO1xuICAgIC8qKlxuICAgICAqIFNldmVyaXR5IGxldmVsIG9mIHRoZSBtZXNzYWdlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldmVyaXR5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogVHJhbnNpdGlvbiBvcHRpb25zIG9mIHRoZSBzaG93IGFuaW1hdGlvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzaG93VHJhbnNpdGlvbk9wdGlvbnM6IHN0cmluZyA9ICczMDBtcyBlYXNlLW91dCc7XG4gICAgLyoqXG4gICAgICogVHJhbnNpdGlvbiBvcHRpb25zIG9mIHRoZSBoaWRlIGFuaW1hdGlvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBoaWRlVHJhbnNpdGlvbk9wdGlvbnM6IHN0cmluZyA9ICcyMDBtcyBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSknO1xuICAgIC8qKlxuICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgZXhlY3V0ZWQgd2hlbiB0aGUgdmFsdWUgY2hhbmdlcy5cbiAgICAgKiBAcGFyYW0ge01lc3NhZ2VbXX0gdmFsdWUgLSBtZXNzYWdlcyB2YWx1ZS5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxNZXNzYWdlW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxNZXNzYWdlW10+KCk7XG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBleGVjdXRlZCB3aGVuIGEgbWVzc2FnZSBpcyBjbG9zZWQuXG4gICAgICogQHBhcmFtIHtNZXNzYWdlfSB2YWx1ZSAtIENsb3NlZCBtZXNzYWdlLlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbkNsb3NlOiBFdmVudEVtaXR0ZXI8TWVzc2FnZT4gPSBuZXcgRXZlbnRFbWl0dGVyPE1lc3NhZ2U+KCk7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFByaW1lVGVtcGxhdGUpIHRlbXBsYXRlczogUXVlcnlMaXN0PFByaW1lVGVtcGxhdGU+IHwgdW5kZWZpbmVkO1xuXG4gICAgbWVzc2FnZXM6IE1lc3NhZ2VbXSB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgICBtZXNzYWdlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG5cbiAgICBjbGVhclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICAgdGltZXJTdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gICAgY29udGVudFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHVibGljIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSwgcHVibGljIGVsOiBFbGVtZW50UmVmLCBwdWJsaWMgY2Q6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGNvbmZpZzogUHJpbWVOR0NvbmZpZykge31cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZXM/LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAoaXRlbS5nZXRUeXBlKCkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdjb250ZW50JzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50VGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudFRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLm1lc3NhZ2VTZXJ2aWNlICYmIHRoaXMuZW5hYmxlU2VydmljZSAmJiAhdGhpcy5jb250ZW50VGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVN1YnNjcmlwdGlvbiA9IHRoaXMubWVzc2FnZVNlcnZpY2UubWVzc2FnZU9ic2VydmVyLnN1YnNjcmliZSgobWVzc2FnZXM6IE1lc3NhZ2UgfCBNZXNzYWdlW10pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobWVzc2FnZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KG1lc3NhZ2VzKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZXMgPSBbbWVzc2FnZXNdO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyZWRNZXNzYWdlcyA9IG1lc3NhZ2VzLmZpbHRlcigobSkgPT4gdGhpcy5rZXkgPT09IG0ua2V5KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlcyA9IHRoaXMubWVzc2FnZXMgPyBbLi4udGhpcy5tZXNzYWdlcywgLi4uZmlsdGVyZWRNZXNzYWdlc10gOiBbLi4uZmlsdGVyZWRNZXNzYWdlc107XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhcnRNZXNzYWdlTGlmZXMoZmlsdGVyZWRNZXNzYWdlcyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuY2xlYXJTdWJzY3JpcHRpb24gPSB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNsZWFyT2JzZXJ2ZXIuc3Vic2NyaWJlKChrZXkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoa2V5KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmtleSA9PT0ga2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VzID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZXMgPSBudWxsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhc01lc3NhZ2VzKCkge1xuICAgICAgICBsZXQgcGFyZW50RWwgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICAgICAgaWYgKHBhcmVudEVsICYmIHBhcmVudEVsLm9mZnNldFBhcmVudCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudFRlbXBsYXRlICE9IG51bGwgfHwgKHRoaXMubWVzc2FnZXMgJiYgdGhpcy5tZXNzYWdlcy5sZW5ndGggPiAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjbGVhcigpIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlcyA9IFtdO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy5tZXNzYWdlcyk7XG4gICAgfVxuXG4gICAgcmVtb3ZlTWVzc2FnZShpOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlcyA9IHRoaXMubWVzc2FnZXM/LmZpbHRlcigobXNnLCBpbmRleCkgPT4gaW5kZXggIT09IGkpO1xuICAgICAgICB0aGlzLm1lc3NhZ2VzW2ldICYmIHRoaXMub25DbG9zZS5lbWl0KHRoaXMubWVzc2FnZXNbaV0pO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy5tZXNzYWdlcyk7XG4gICAgfVxuXG4gICAgZ2V0IGljb24oKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHNldmVyaXR5ID0gdGhpcy5zZXZlcml0eSB8fCAodGhpcy5oYXNNZXNzYWdlcygpID8gdGhpcy5tZXNzYWdlcyFbMF0uc2V2ZXJpdHkgOiBudWxsKTtcblxuICAgICAgICBpZiAodGhpcy5oYXNNZXNzYWdlcygpKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKHNldmVyaXR5KSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnc3VjY2Vzcyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAncGktY2hlY2snO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAncGktaW5mby1jaXJjbGUnO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3BpLXRpbWVzJztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ3dhcm4nOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3BpLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlJztcblxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAncGktaW5mby1jaXJjbGUnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGdldCBjbG9zZUFyaWFMYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLnRyYW5zbGF0aW9uLmFyaWEgPyB0aGlzLmNvbmZpZy50cmFuc2xhdGlvbi5hcmlhLmNsb3NlIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBpZiAodGhpcy5tZXNzYWdlU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNsZWFyU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRpbWVyU3Vic2NyaXB0aW9ucz8uZm9yRWFjaCgoc3Vic2NyaXB0aW9uKSA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGFydE1lc3NhZ2VMaWZlcyhtZXNzYWdlczogTWVzc2FnZVtdKTogdm9pZCB7XG4gICAgICAgIG1lc3NhZ2VzPy5mb3JFYWNoKChtZXNzYWdlKSA9PiBtZXNzYWdlLmxpZmUgJiYgdGhpcy5zdGFydE1lc3NhZ2VMaWZlKG1lc3NhZ2UpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXJ0TWVzc2FnZUxpZmUobWVzc2FnZTogTWVzc2FnZSk6IHZvaWQge1xuICAgICAgICBjb25zdCB0aW1lclN1YnNjdGlwdGlvbiA9IHRpbWVyKG1lc3NhZ2UubGlmZSEpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VzID0gdGhpcy5tZXNzYWdlcz8uZmlsdGVyKChtc2dFbCkgPT4gbXNnRWwgIT09IG1lc3NhZ2UpO1xuICAgICAgICAgICAgdGhpcy50aW1lclN1YnNjcmlwdGlvbnMgPSB0aGlzLnRpbWVyU3Vic2NyaXB0aW9ucz8uZmlsdGVyKCh0aW1lckVsKSA9PiB0aW1lckVsICE9PSB0aW1lclN1YnNjdGlwdGlvbik7XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy5tZXNzYWdlcyk7XG4gICAgICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50aW1lclN1YnNjcmlwdGlvbnMucHVzaCh0aW1lclN1YnNjdGlwdGlvbik7XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJpcHBsZU1vZHVsZSwgQ2hlY2tJY29uLCBJbmZvQ2lyY2xlSWNvbiwgVGltZXNDaXJjbGVJY29uLCBFeGNsYW1hdGlvblRyaWFuZ2xlSWNvbiwgVGltZXNJY29uXSxcbiAgICBleHBvcnRzOiBbTWVzc2FnZXNdLFxuICAgIGRlY2xhcmF0aW9uczogW01lc3NhZ2VzXVxufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlc01vZHVsZSB7fVxuIl19
342
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvbWVzc2FnZXMvbWVzc2FnZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUgsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxlQUFlLEVBRWYsWUFBWSxFQUNaLEtBQUssRUFDTCxRQUFRLEVBRVIsUUFBUSxFQUNSLE1BQU0sRUFHTixpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBMkIsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXJFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFnQixLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBQzNDOzs7R0FHRztBQTBESCxNQUFNLE9BQU8sUUFBUTtJQStFYztJQUF1QztJQUF1QjtJQUErQjtJQTlFNUg7OztPQUdHO0lBQ0gsSUFBYSxLQUFLLENBQUMsUUFBbUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLGlCQUFpQixDQUFD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QUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUs3QixLQUFLO3NCQUFiLEtBQUs7Z0JBS0csVUFBVTtzQkFBbEIsS0FBSztnQkFLa0MsYUFBYTtzQkFBcEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFLN0IsR0FBRztzQkFBWCxLQUFLO2dCQUtrQyxNQUFNO3NCQUE3QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUs3QixRQUFRO3NCQUFoQixLQUFLO2dCQUtHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFLRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBTUksV0FBVztzQkFBcEIsTUFBTTtnQkFNRyxPQUFPO3NCQUFoQixNQUFNO2dCQUV5QixTQUFTO3NCQUF4QyxlQUFlO3VCQUFDLGFBQWE7O0FBdUlsQyxNQUFNLE9BQU8sY0FBYzt1R0FBZCxjQUFjO3dHQUFkLGNBQWMsaUJBMU1kLFFBQVEsYUFzTVAsWUFBWSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxTQUFTLGFBdE0zRyxRQUFRO3dHQTBNUixjQUFjLFlBSmIsWUFBWSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxTQUFTOzsyRkFJM0csY0FBYztrQkFMMUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLFNBQVMsQ0FBQztvQkFDckgsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO29CQUNuQixZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUM7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBOZ01vZHVsZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBib29sZWFuQXR0cmlidXRlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWVzc2FnZSwgTWVzc2FnZVNlcnZpY2UsIFByaW1lVGVtcGxhdGUgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBQcmltZU5HQ29uZmlnIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgQ2hlY2tJY29uIH0gZnJvbSAncHJpbWVuZy9pY29ucy9jaGVjayc7XG5pbXBvcnQgeyBFeGNsYW1hdGlvblRyaWFuZ2xlSWNvbiB9IGZyb20gJ3ByaW1lbmcvaWNvbnMvZXhjbGFtYXRpb250cmlhbmdsZSc7XG5pbXBvcnQgeyBJbmZvQ2lyY2xlSWNvbiB9IGZyb20gJ3ByaW1lbmcvaWNvbnMvaW5mb2NpcmNsZSc7XG5pbXBvcnQgeyBUaW1lc0ljb24gfSBmcm9tICdwcmltZW5nL2ljb25zL3RpbWVzJztcbmltcG9ydCB7IFRpbWVzQ2lyY2xlSWNvbiB9IGZyb20gJ3ByaW1lbmcvaWNvbnMvdGltZXNjaXJjbGUnO1xuaW1wb3J0IHsgUmlwcGxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9yaXBwbGUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuLyoqXG4gKiBNZXNzYWdlcyBpcyB1c2VkIHRvIGRpc3BsYXkgYWxlcnRzIGlubGluZS5cbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncC1tZXNzYWdlcycsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdiBjbGFzcz1cInAtbWVzc2FnZXMgcC1jb21wb25lbnRcIiByb2xlPVwiYWxlcnRcIiBbbmdTdHlsZV09XCJzdHlsZVwiIFtjbGFzc109XCJzdHlsZUNsYXNzXCIgW2F0dHIuYXJpYS1hdG9taWNdPVwidHJ1ZVwiIFthdHRyLmFyaWEtbGl2ZV09XCInYXNzZXJ0aXZlJ1wiIFthdHRyLmRhdGEtcGMtbmFtZV09XCInbWVzc2FnZSdcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29udGVudFRlbXBsYXRlOyBlbHNlIHN0YXRpY01lc3NhZ2VcIj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBtc2cgb2YgbWVzc2FnZXM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiJ3AtbWVzc2FnZSBwLW1lc3NhZ2UtJyArIG1zZy5zZXZlcml0eVwiXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJhbGVydFwiXG4gICAgICAgICAgICAgICAgICAgIFtAbWVzc2FnZUFuaW1hdGlvbl09XCJ7IHZhbHVlOiAndmlzaWJsZScsIHBhcmFtczogeyBzaG93VHJhbnNpdGlvblBhcmFtczogc2hvd1RyYW5zaXRpb25PcHRpb25zLCBoaWRlVHJhbnNpdGlvblBhcmFtczogaGlkZVRyYW5zaXRpb25PcHRpb25zIH0gfVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1tZXNzYWdlLXdyYXBwZXJcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ3dyYXBwZXInXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1zZy5pY29uXCIgW2NsYXNzXT1cIidwLW1lc3NhZ2UtaWNvbiBwaSAnICsgbXNnLmljb25cIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2ljb24nXCI+IDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1tZXNzYWdlLWljb25cIiAqbmdJZj1cIiFtc2cuaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDaGVja0ljb24gKm5nSWY9XCJtc2cuc2V2ZXJpdHkgPT09ICdzdWNjZXNzJ1wiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInaWNvbidcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5mb0NpcmNsZUljb24gKm5nSWY9XCJtc2cuc2V2ZXJpdHkgPT09ICdpbmZvJ1wiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInaWNvbidcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGltZXNDaXJjbGVJY29uICpuZ0lmPVwibXNnLnNldmVyaXR5ID09PSAnZXJyb3InXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidpY29uJ1wiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxFeGNsYW1hdGlvblRyaWFuZ2xlSWNvbiAqbmdJZj1cIm1zZy5zZXZlcml0eSA9PT0gJ3dhcm4nXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidpY29uJ1wiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWVzY2FwZTsgZWxzZSBlc2NhcGVPdXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1zZy5zdW1tYXJ5XCIgY2xhc3M9XCJwLW1lc3NhZ2Utc3VtbWFyeVwiIFtpbm5lckhUTUxdPVwibXNnLnN1bW1hcnlcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ3N1bW1hcnknXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibXNnLmRldGFpbFwiIGNsYXNzPVwicC1tZXNzYWdlLWRldGFpbFwiIFtpbm5lckhUTUxdPVwibXNnLmRldGFpbFwiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInZGV0YWlsJ1wiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNlc2NhcGVPdXQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJtc2cuc3VtbWFyeVwiIGNsYXNzPVwicC1tZXNzYWdlLXN1bW1hcnlcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ3N1bW1hcnknXCI+e3sgbXNnLnN1bW1hcnkgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJtc2cuZGV0YWlsXCIgY2xhc3M9XCJwLW1lc3NhZ2UtZGV0YWlsXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidkZXRhaWwnXCI+e3sgbXNnLmRldGFpbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwicC1tZXNzYWdlLWNsb3NlIHAtbGlua1wiIChjbGljayk9XCJyZW1vdmVNZXNzYWdlKGkpXCIgKm5nSWY9XCJjbG9zYWJsZVwiIHR5cGU9XCJidXR0b25cIiBwUmlwcGxlIFthdHRyLmFyaWEtbGFiZWxdPVwiY2xvc2VBcmlhTGFiZWxcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2Nsb3NlYnV0dG9uJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUaW1lc0ljb24gW3N0eWxlQ2xhc3NdPVwiJ3AtbWVzc2FnZS1jbG9zZS1pY29uJ1wiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInY2xvc2VpY29uJ1wiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc3RhdGljTWVzc2FnZT5cbiAgICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cIidwLW1lc3NhZ2UgcC1tZXNzYWdlLScgKyBzZXZlcml0eVwiIHJvbGU9XCJhbGVydFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1tZXNzYWdlLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICBgLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignbWVzc2FnZUFuaW1hdGlvbicsIFtcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtzdHlsZSh7IG9wYWNpdHk6IDAsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoLTI1JSknIH0pLCBhbmltYXRlKCd7e3Nob3dUcmFuc2l0aW9uUGFyYW1zfX0nKV0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW2FuaW1hdGUoJ3t7aGlkZVRyYW5zaXRpb25QYXJhbXN9fScsIHN0eWxlKHsgaGVpZ2h0OiAwLCBtYXJnaW5Ub3A6IDAsIG1hcmdpbkJvdHRvbTogMCwgbWFyZ2luTGVmdDogMCwgbWFyZ2luUmlnaHQ6IDAsIG9wYWNpdHk6IDAgfSkpXSlcbiAgICAgICAgXSlcbiAgICBdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3R5bGVVcmxzOiBbJy4vbWVzc2FnZXMuY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3AtZWxlbWVudCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VzIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKipcbiAgICAgKiBBbiBhcnJheSBvZiBtZXNzYWdlcyB0byBkaXNwbGF5LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldCB2YWx1ZShtZXNzYWdlczogTWVzc2FnZVtdKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZXMgPSBtZXNzYWdlcztcbiAgICAgICAgdGhpcy5zdGFydE1lc3NhZ2VMaWZlcyh0aGlzLm1lc3NhZ2VzKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogRGVmaW5lcyBpZiBtZXNzYWdlIGJveCBjYW4gYmUgY2xvc2VkIGJ5IHRoZSBjbGljayBpY29uLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBjbG9zYWJsZTogYm9vbGVhbiA9IHRydWU7XG4gICAgLyoqXG4gICAgICogSW5saW5lIHN0eWxlIG9mIHRoZSBjb21wb25lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc3R5bGU6IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfSB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogU3R5bGUgY2xhc3Mgb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzdHlsZUNsYXNzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hldGhlciBkaXNwbGF5aW5nIHNlcnZpY2VzIG1lc3NhZ2VzIGFyZSBlbmFibGVkLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBlbmFibGVTZXJ2aWNlOiBib29sZWFuID0gdHJ1ZTtcbiAgICAvKipcbiAgICAgKiBJZCB0byBtYXRjaCB0aGUga2V5IG9mIHRoZSBtZXNzYWdlIHRvIGVuYWJsZSBzY29waW5nIGluIHNlcnZpY2UgYmFzZWQgbWVzc2FnaW5nLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgZGlzcGxheWluZyBtZXNzYWdlcyB3b3VsZCBiZSBlc2NhcGVkIG9yIG5vdC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZXNjYXBlOiBib29sZWFuID0gdHJ1ZTtcbiAgICAvKipcbiAgICAgKiBTZXZlcml0eSBsZXZlbCBvZiB0aGUgbWVzc2FnZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXZlcml0eTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFRyYW5zaXRpb24gb3B0aW9ucyBvZiB0aGUgc2hvdyBhbmltYXRpb24uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc2hvd1RyYW5zaXRpb25PcHRpb25zOiBzdHJpbmcgPSAnMzAwbXMgZWFzZS1vdXQnO1xuICAgIC8qKlxuICAgICAqIFRyYW5zaXRpb24gb3B0aW9ucyBvZiB0aGUgaGlkZSBhbmltYXRpb24uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgaGlkZVRyYW5zaXRpb25PcHRpb25zOiBzdHJpbmcgPSAnMjAwbXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpJztcbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGV4ZWN1dGVkIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMuXG4gICAgICogQHBhcmFtIHtNZXNzYWdlW119IHZhbHVlIC0gbWVzc2FnZXMgdmFsdWUuXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8TWVzc2FnZVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8TWVzc2FnZVtdPigpO1xuICAgIC8qKlxuICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgZXhlY3V0ZWQgd2hlbiBhIG1lc3NhZ2UgaXMgY2xvc2VkLlxuICAgICAqIEBwYXJhbSB7TWVzc2FnZX0gdmFsdWUgLSBDbG9zZWQgbWVzc2FnZS5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25DbG9zZTogRXZlbnRFbWl0dGVyPE1lc3NhZ2U+ID0gbmV3IEV2ZW50RW1pdHRlcjxNZXNzYWdlPigpO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihQcmltZVRlbXBsYXRlKSB0ZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxQcmltZVRlbXBsYXRlPiB8IHVuZGVmaW5lZDtcblxuICAgIG1lc3NhZ2VzOiBNZXNzYWdlW10gfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4gICAgbWVzc2FnZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICAgY2xlYXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICAgIHRpbWVyU3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICAgIGNvbnRlbnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHB1YmxpYyBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsIHB1YmxpYyBlbDogRWxlbWVudFJlZiwgcHVibGljIGNkOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBjb25maWc6IFByaW1lTkdDb25maWcpIHt9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMudGVtcGxhdGVzPy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKGl0ZW0uZ2V0VHlwZSgpKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnY29udGVudCc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudFRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGhpcy5tZXNzYWdlU2VydmljZSAmJiB0aGlzLmVuYWJsZVNlcnZpY2UgJiYgIXRoaXMuY29udGVudFRlbXBsYXRlKSB7XG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VTdWJzY3JpcHRpb24gPSB0aGlzLm1lc3NhZ2VTZXJ2aWNlLm1lc3NhZ2VPYnNlcnZlci5zdWJzY3JpYmUoKG1lc3NhZ2VzOiBNZXNzYWdlIHwgTWVzc2FnZVtdKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG1lc3NhZ2VzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShtZXNzYWdlcykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VzID0gW21lc3NhZ2VzXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkTWVzc2FnZXMgPSBtZXNzYWdlcy5maWx0ZXIoKG0pID0+IHRoaXMua2V5ID09PSBtLmtleSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZXMgPSB0aGlzLm1lc3NhZ2VzID8gWy4uLnRoaXMubWVzc2FnZXMsIC4uLmZpbHRlcmVkTWVzc2FnZXNdIDogWy4uLmZpbHRlcmVkTWVzc2FnZXNdO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0TWVzc2FnZUxpZmVzKGZpbHRlcmVkTWVzc2FnZXMpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLmNsZWFyU3Vic2NyaXB0aW9uID0gdGhpcy5tZXNzYWdlU2VydmljZS5jbGVhck9ic2VydmVyLnN1YnNjcmliZSgoa2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGtleSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5rZXkgPT09IGtleSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlcyA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VzID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYXNNZXNzYWdlcygpIHtcbiAgICAgICAgbGV0IHBhcmVudEVsID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgICAgIGlmIChwYXJlbnRFbCAmJiBwYXJlbnRFbC5vZmZzZXRQYXJlbnQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbnRlbnRUZW1wbGF0ZSAhPSBudWxsIHx8ICh0aGlzLm1lc3NhZ2VzICYmIHRoaXMubWVzc2FnZXMubGVuZ3RoID4gMCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY2xlYXIoKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZXMgPSBbXTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMubWVzc2FnZXMpO1xuICAgIH1cblxuICAgIHJlbW92ZU1lc3NhZ2UoaTogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMubWVzc2FnZXMgPSB0aGlzLm1lc3NhZ2VzPy5maWx0ZXIoKG1zZywgaW5kZXgpID0+IGluZGV4ICE9PSBpKTtcbiAgICAgICAgdGhpcy5tZXNzYWdlc1tpXSAmJiB0aGlzLm9uQ2xvc2UuZW1pdCh0aGlzLm1lc3NhZ2VzW2ldKTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMubWVzc2FnZXMpO1xuICAgIH1cblxuICAgIGdldCBpY29uKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCBzZXZlcml0eSA9IHRoaXMuc2V2ZXJpdHkgfHwgKHRoaXMuaGFzTWVzc2FnZXMoKSA/IHRoaXMubWVzc2FnZXMhWzBdLnNldmVyaXR5IDogbnVsbCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzTWVzc2FnZXMoKSkge1xuICAgICAgICAgICAgc3dpdGNoIChzZXZlcml0eSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3BpLWNoZWNrJztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ2luZm8nOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3BpLWluZm8tY2lyY2xlJztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ2Vycm9yJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdwaS10aW1lcyc7XG5cbiAgICAgICAgICAgICAgICBjYXNlICd3YXJuJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdwaS1leGNsYW1hdGlvbi10cmlhbmdsZSc7XG5cbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3BpLWluZm8tY2lyY2xlJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBnZXQgY2xvc2VBcmlhTGFiZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy50cmFuc2xhdGlvbi5hcmlhID8gdGhpcy5jb25maWcudHJhbnNsYXRpb24uYXJpYS5jbG9zZSA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMubWVzc2FnZVN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jbGVhclN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5jbGVhclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50aW1lclN1YnNjcmlwdGlvbnM/LmZvckVhY2goKHN1YnNjcmlwdGlvbikgPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhcnRNZXNzYWdlTGlmZXMobWVzc2FnZXM6IE1lc3NhZ2VbXSk6IHZvaWQge1xuICAgICAgICBtZXNzYWdlcz8uZm9yRWFjaCgobWVzc2FnZSkgPT4gbWVzc2FnZS5saWZlICYmIHRoaXMuc3RhcnRNZXNzYWdlTGlmZShtZXNzYWdlKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGFydE1lc3NhZ2VMaWZlKG1lc3NhZ2U6IE1lc3NhZ2UpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGltZXJTdWJzY3RpcHRpb24gPSB0aW1lcihtZXNzYWdlLmxpZmUhKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlcyA9IHRoaXMubWVzc2FnZXM/LmZpbHRlcigobXNnRWwpID0+IG1zZ0VsICE9PSBtZXNzYWdlKTtcbiAgICAgICAgICAgIHRoaXMudGltZXJTdWJzY3JpcHRpb25zID0gdGhpcy50aW1lclN1YnNjcmlwdGlvbnM/LmZpbHRlcigodGltZXJFbCkgPT4gdGltZXJFbCAhPT0gdGltZXJTdWJzY3RpcHRpb24pO1xuICAgICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMubWVzc2FnZXMpO1xuICAgICAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudGltZXJTdWJzY3JpcHRpb25zLnB1c2godGltZXJTdWJzY3RpcHRpb24pO1xuICAgIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSaXBwbGVNb2R1bGUsIENoZWNrSWNvbiwgSW5mb0NpcmNsZUljb24sIFRpbWVzQ2lyY2xlSWNvbiwgRXhjbGFtYXRpb25UcmlhbmdsZUljb24sIFRpbWVzSWNvbl0sXG4gICAgZXhwb3J0czogW01lc3NhZ2VzXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtNZXNzYWdlc11cbn0pXG5leHBvcnQgY2xhc3MgTWVzc2FnZXNNb2R1bGUge31cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, ContentChildren, ElementRef, Input, NgModule, ViewEncapsulation, effect, forwardRef, inject, viewChild } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, ContentChildren, ElementRef, Input, NgModule, ViewEncapsulation, effect, forwardRef, inject, ViewChild } from '@angular/core';
3
3
  import { PrimeTemplate, SharedModule } from 'primeng/api';
4
4
  import { DomHandler } from 'primeng/dom';
5
5
  import * as i0 from "@angular/core";
@@ -128,7 +128,7 @@ export class MeterGroup {
128
128
  endTemplate;
129
129
  startTemplate;
130
130
  iconTemplate;
131
- container = viewChild('container', { read: ElementRef });
131
+ container = ViewChild('container', { read: ElementRef });
132
132
  containerEffect = effect(() => {
133
133
  const _container = this.container();
134
134
  const height = DomHandler.getOuterHeight(_container.nativeElement);
@@ -187,7 +187,7 @@ export class MeterGroup {
187
187
  return index;
188
188
  }
189
189
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: MeterGroup, deps: [], target: i0.ɵɵFactoryTarget.Component });
190
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.1", type: MeterGroup, selector: "p-meterGroup", inputs: { value: "value", min: "min", max: "max", orientation: "orientation", labelPosition: "labelPosition", labelOrientation: "labelOrientation", style: "style", styleClass: "styleClass" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: `
190
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.1", type: MeterGroup, selector: "p-meterGroup", inputs: { value: "value", min: "min", max: "max", orientation: "orientation", labelPosition: "labelPosition", labelOrientation: "labelOrientation", style: "style", styleClass: "styleClass" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], ngImport: i0, template: `
191
191
  <div #container [ngClass]="containerClass" role="meter" [attr.aria-valuemin]="min" [attr.aria-valuemax]="max" [attr.aria-valuenow]="totalPercent()" [ngStyle]="style" [class]="styleClass">
192
192
  @if(labelPosition ==='start') {
193
193
  <p-meterGroupLabel *ngIf="!labelTemplate" [value]="value" [labelPosition]="labelPosition" [labelOrientation]="labelOrientation" [min]="min" [max]="max" [iconTemplate]="iconTemplate" />
@@ -274,4 +274,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
274
274
  declarations: [MeterGroup, MeterGroupLabel]
275
275
  }]
276
276
  }] });
277
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0ZXJncm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9tZXRlcmdyb3VwL21ldGVyZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBb0IsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBMEIsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JOLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQWtCekMsTUFBTSxPQUFPLGVBQWU7SUFDZixLQUFLLEdBQVUsSUFBSSxDQUFDO0lBRXBCLGFBQWEsR0FBb0IsS0FBSyxDQUFDO0lBRXZDLGdCQUFnQixHQUE4QixZQUFZLENBQUM7SUFFM0QsR0FBRyxDQUFTO0lBRVosR0FBRyxDQUFTO0lBRVosWUFBWSxDQUErQjtJQUVwQixTQUFTLENBQXVDO0lBRWhGLElBQUksVUFBVTtRQUNWLE9BQU87WUFDSCxpQ0FBaUMsRUFBRSxJQUFJO1lBQ3ZDLDhCQUE4QixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxVQUFVO1lBQ3BFLGdDQUFnQyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxZQUFZO1NBQzNFLENBQUM7SUFDTixDQUFDO0lBRUQsY0FBYyxHQUFlLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQzt1R0F2QnpELGVBQWU7MkZBQWYsZUFBZSwyT0FhUCxhQUFhLDZCQTFCcEI7Ozs7Ozs7Ozs7O0tBV1Q7OzJGQUVRLGVBQWU7a0JBZjNCLFNB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QUFVLEVBQUUsWUFBWSxDQUFDO29CQUNuQyxZQUFZLEVBQUUsQ0FBQyxVQUFVLEVBQUUsZUFBZSxDQUFDO2lCQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIElucHV0LCBOZ01vZHVsZSwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiwgVmlld0VuY2Fwc3VsYXRpb24sIGVmZmVjdCwgZm9yd2FyZFJlZiwgaW5qZWN0LCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByaW1lVGVtcGxhdGUsIFNoYXJlZE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IERvbUhhbmRsZXIgfSBmcm9tICdwcmltZW5nL2RvbSc7XG5pbXBvcnQgeyBNZXRlckl0ZW0gfSBmcm9tICcuL21ldGVyZ3JvdXAuaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwLW1ldGVyR3JvdXBMYWJlbCcsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG9sIFtuZ0NsYXNzXT1cImxhYmVsQ2xhc3NcIj5cbiAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgbGFiZWxJdGVtIG9mIHZhbHVlOyBsZXQgaW5kZXggPSBpbmRleDsgdHJhY2tCeTogcGFyZW50SW5zdGFuY2UudHJhY2tCeUZuXCIgY2xhc3M9XCJwLW1ldGVyZ3JvdXAtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWljb25UZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImxhYmVsSXRlbS5pY29uXCIgW2NsYXNzXT1cImxhYmVsSXRlbS5pY29uXCIgW25nQ2xhc3NdPVwieyAncC1tZXRlcmdyb3VwLWxhYmVsLWljb24nOiB0cnVlIH1cIiBbbmdTdHlsZV09XCJ7IGNvbG9yOiBsYWJlbEl0ZW0uY29sb3IgfVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhbGFiZWxJdGVtLmljb25cIiBjbGFzcz1cInAtbWV0ZXJncm91cC1sYWJlbC1tYXJrZXJcIiBbbmdTdHlsZV09XCJ7IGJhY2tncm91bmRDb2xvcjogbGFiZWxJdGVtLmNvbG9yIH1cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImljb25UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGxhYmVsSXRlbSwgaWNvbjogbGFiZWxJdGVtLmljb24gfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1tZXRlcmdyb3VwLWxhYmVsLXRleHRcIj57eyBsYWJlbEl0ZW0ubGFiZWwgfX0gKHt7IHBhcmVudEluc3RhbmNlPy5wZXJjZW50VmFsdWUobGFiZWxJdGVtLnZhbHVlKSB9fSk8L3NwYW4+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L29sPlxuICAgIGBcbn0pXG5leHBvcnQgY2xhc3MgTWV0ZXJHcm91cExhYmVsIHtcbiAgICBASW5wdXQoKSB2YWx1ZTogYW55W10gPSBudWxsO1xuXG4gICAgQElucHV0KCkgbGFiZWxQb3NpdGlvbjogJ3N0YXJ0JyB8ICdlbmQnID0gJ2VuZCc7XG5cbiAgICBASW5wdXQoKSBsYWJlbE9yaWVudGF0aW9uOiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnID0gJ2hvcml6b250YWwnO1xuXG4gICAgQElucHV0KCkgbWluOiBudW1iZXI7XG5cbiAgICBASW5wdXQoKSBtYXg6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpIGljb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oUHJpbWVUZW1wbGF0ZSkgdGVtcGxhdGVzOiBRdWVyeUxpc3Q8UHJpbWVUZW1wbGF0ZT4gfCB1bmRlZmluZWQ7XG5cbiAgICBnZXQgbGFiZWxDbGFzcygpOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAncC1tZXRlcmdyb3VwLWxhYmVscyBwLWNvbXBvbmVudCc6IHRydWUsXG4gICAgICAgICAgICAncC1tZXRlcmdyb3VwLWxhYmVscy12ZXJ0aWNhbCc6IHRoaXMubGFiZWxPcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJyxcbiAgICAgICAgICAgICdwLW1ldGVyZ3JvdXAtbGFiZWxzLWhvcml6b250YWwnOiB0aGlzLmxhYmVsT3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJ1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIHBhcmVudEluc3RhbmNlOiBNZXRlckdyb3VwID0gaW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gTWV0ZXJHcm91cCkpO1xufVxuLyoqXG4gKiBNZXRlckdyb3VwIGRpc3BsYXlzIHNjYWxhciBtZWFzdXJlbWVudHMgd2l0aGluIGEga25vd24gcmFuZ2UuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3AtbWV0ZXJHcm91cCcsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdiAjY29udGFpbmVyIFtuZ0NsYXNzXT1cImNvbnRhaW5lckNsYXNzXCIgcm9sZT1cIm1ldGVyXCIgW2F0dHIuYXJpYS12YWx1ZW1pbl09XCJtaW5cIiBbYXR0ci5hcmlhLXZhbHVlbWF4XT1cIm1heFwiIFthdHRyLmFyaWEtdmFsdWVub3ddPVwidG90YWxQZXJjZW50KClcIiBbbmdTdHlsZV09XCJzdHlsZVwiIFtjbGFzc109XCJzdHlsZUNsYXNzXCI+XG4gICAgICAgICAgICBAaWYobGFiZWxQb3NpdGlvbiA9PT0nc3RhcnQnKSB7XG4gICAgICAgICAgICA8cC1tZXRlckdyb3VwTGFiZWwgKm5nSWY9XCIhbGFiZWxUZW1wbGF0ZVwiIFt2YWx1ZV09XCJ2YWx1ZVwiIFtsYWJlbFBvc2l0aW9uXT1cImxhYmVsUG9zaXRpb25cIiBbbGFiZWxPcmllbnRhdGlvbl09XCJsYWJlbE9yaWVudGF0aW9uXCIgW21pbl09XCJtaW5cIiBbbWF4XT1cIm1heFwiIFtpY29uVGVtcGxhdGVdPVwiaWNvblRlbXBsYXRlXCIgLz5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsYWJlbFRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogdmFsdWUsIHRvdGFsUGVyY2VudDogdG90YWxQZXJjZW50KCksIHBlcmNlbnRhZ2VzOiBwZXJjZW50YWdlcygpIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdGFydFRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogdmFsdWUsIHRvdGFsUGVyY2VudDogdG90YWxQZXJjZW50KCksIHBlcmNlbnRhZ2VzOiBwZXJjZW50YWdlcygpIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLW1ldGVyZ3JvdXAtbWV0ZXJzXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWV0ZXJJdGVtIG9mIHZhbHVlOyBsZXQgaW5kZXggPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtZXRlclRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogbWV0ZXJJdGVtLCBpbmRleDogaW5kZXgsIG9yaWVudGF0aW9uOiB0aGlzLm9yaWVudGF0aW9uLCBjbGFzczogJ3AtbWV0ZXJncm91cC1tZXRlcicsIHNpemU6IHBlcmNlbnRWYWx1ZShtZXRlckl0ZW0udmFsdWUpLCB0b3RhbFBlcmNlbnQ6IHRvdGFsUGVyY2VudCgpIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbWV0ZXJUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwLW1ldGVyZ3JvdXAtbWV0ZXJcIiBbbmdTdHlsZV09XCJtZXRlclN0eWxlKG1ldGVySXRlbSlcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZW5kVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiB2YWx1ZSwgdG90YWxQZXJjZW50OiB0b3RhbFBlcmNlbnQoKSwgcGVyY2VudGFnZXM6IHBlcmNlbnRhZ2VzKCkgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgQGlmKGxhYmVsUG9zaXRpb24gPT09ICdlbmQnKSB7XG4gICAgICAgICAgICA8cC1tZXRlckdyb3VwTGFiZWwgKm5nSWY9XCIhbGFiZWxUZW1wbGF0ZVwiIFt2YWx1ZV09XCJ2YWx1ZVwiIFtsYWJlbFBvc2l0aW9uXT1cImxhYmVsUG9zaXRpb25cIiBbbGFiZWxPcmllbnRhdGlvbl09XCJsYWJlbE9yaWVudGF0aW9uXCIgW21pbl09XCJtaW5cIiBbbWF4XT1cIm1heFwiIFtpY29uVGVtcGxhdGVdPVwiaWNvblRlbXBsYXRlXCIgLz5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsYWJlbFRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogdmFsdWUsIHRvdGFsUGVyY2VudDogdG90YWxQZXJjZW50KCksIHBlcmNlbnRhZ2VzOiBwZXJjZW50YWdlcygpIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIE1ldGVyR3JvdXAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICAvKipcbiAgICAgKiBDdXJyZW50IHZhbHVlIG9mIHRoZSBtZXRlcmdyb3VwLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHZhbHVlOiBNZXRlckl0ZW1bXSB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBNaW5pbnVtIGJvdW5kYXJ5IHZhbHVlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIG1pbjogbnVtYmVyID0gMDtcbiAgICAvKipcbiAgICAgKiBNYXhpbXVtIGJvdW5kYXJ5IHZhbHVlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIG1heDogbnVtYmVyID0gMTAwO1xuICAgIC8qKlxuICAgICAqIFNwZWNpZmllcyB0aGUgbGF5b3V0IG9mIHRoZSBjb21wb25lbnQsIHZhbGlkIHZhbHVlcyBhcmUgJ2hvcml6b250YWwnIGFuZCAndmVydGljYWwnLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIG9yaWVudGF0aW9uOiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnID0gJ2hvcml6b250YWwnO1xuICAgIC8qKlxuICAgICAqIFNwZWNpZmllcyB0aGUgbGFiZWwgcG9zaXRpb24gb2YgdGhlIGNvbXBvbmVudCwgdmFsaWQgdmFsdWVzIGFyZSAnc3RhcnQnIGFuZCAnZW5kJy5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBsYWJlbFBvc2l0aW9uOiAnc3RhcnQnIHwgJ2VuZCcgPSAnZW5kJztcbiAgICAvKipcbiAgICAgKiBTcGVjaWZpZXMgdGhlIGxhYmVsIG9yaWVudGF0aW9uIG9mIHRoZSBjb21wb25lbnQsIHZhbGlkIHZhbHVlcyBhcmUgJ2hvcml6b250YWwnIGFuZCAndmVydGljYWwnLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGxhYmVsT3JpZW50YXRpb246IHN0cmluZyA9ICdob3Jpem9udGFsJztcbiAgICAvKipcbiAgICAgKiBJbmxpbmUgc3R5bGUgb2YgdGhlIGVsZW1lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc3R5bGU6IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfSB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogU3R5bGUgY2xhc3Mgb2YgdGhlIGVsZW1lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc3R5bGVDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihQcmltZVRlbXBsYXRlKSB0ZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxQcmltZVRlbXBsYXRlPiB8IHVuZGVmaW5lZDtcblxuICAgIGdldCB2ZXJ0aWNhbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCc7XG4gICAgfVxuXG4gICAgZ2V0IGNvbnRhaW5lckNsYXNzKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgJ3AtbWV0ZXJncm91cCBwLWNvbXBvbmVudCc6IHRydWUsXG4gICAgICAgICAgICAncC1tZXRlcmdyb3VwLWhvcml6b250YWwnOiB0aGlzLm9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcsXG4gICAgICAgICAgICAncC1tZXRlcmdyb3VwLXZlcnRpY2FsJzogdGhpcy5vcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJ1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGxhYmVsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICBtZXRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgZW5kVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICBzdGFydFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgaWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgY29udGFpbmVyID0gdmlld0NoaWxkKCdjb250YWluZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSk7XG5cbiAgICBjb250YWluZXJFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBfY29udGFpbmVyID0gdGhpcy5jb250YWluZXIoKTtcbiAgICAgICAgY29uc3QgaGVpZ2h0ID0gRG9tSGFuZGxlci5nZXRPdXRlckhlaWdodChfY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB0aGlzLnZlcnRpY2FsICYmICh0aGlzLmNvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gaGVpZ2h0ICsgJ3B4Jyk7XG4gICAgfSk7XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMudGVtcGxhdGVzPy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKGl0ZW0uZ2V0VHlwZSgpKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnbGFiZWwnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxhYmVsVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdtZXRlcic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWV0ZXJUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2ljb24nOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmljb25UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3N0YXJ0JzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFydFRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnZW5kJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbmRUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwZXJjZW50KG1ldGVyID0gMCkge1xuICAgICAgICBjb25zdCBwZXJjZW50T2ZJdGVtID0gKChtZXRlciAtIHRoaXMubWluKSAvICh0aGlzLm1heCAtIHRoaXMubWluKSkgKiAxMDA7XG5cbiAgICAgICAgcmV0dXJuIE1hdGgucm91bmQoTWF0aC5tYXgoMCwgTWF0aC5taW4oMTAwLCBwZXJjZW50T2ZJdGVtKSkpO1xuICAgIH1cbiAgICBwZXJjZW50VmFsdWUobWV0ZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGVyY2VudChtZXRlcikgKyAnJSc7XG4gICAgfVxuICAgIG1ldGVyU3R5bGUodmFsKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHZhbC5jb2xvcixcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLm9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcgJiYgdGhpcy5wZXJjZW50VmFsdWUodmFsLnZhbHVlKSxcbiAgICAgICAgICAgIGhlaWdodDogdGhpcy5vcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJyAmJiB0aGlzLnBlcmNlbnRWYWx1ZSh2YWwudmFsdWUpXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgdG90YWxQZXJjZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wZXJjZW50KHRoaXMudmFsdWUucmVkdWNlKCh0b3RhbCwgdmFsKSA9PiB0b3RhbCArIHZhbC52YWx1ZSwgMCkpO1xuICAgIH1cblxuICAgIHBlcmNlbnRhZ2VzKCkge1xuICAgICAgICBsZXQgc3VtID0gMDtcbiAgICAgICAgY29uc3Qgc3Vtc0FycmF5ID0gW107XG5cbiAgICAgICAgdGhpcy52YWx1ZS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBzdW0gKz0gaXRlbS52YWx1ZTtcbiAgICAgICAgICAgIHN1bXNBcnJheS5wdXNoKHN1bSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBzdW1zQXJyYXk7XG4gICAgfVxuXG4gICAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFNoYXJlZE1vZHVsZV0sXG4gICAgZXhwb3J0czogW01ldGVyR3JvdXAsIFNoYXJlZE1vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbTWV0ZXJHcm91cCwgTWV0ZXJHcm91cExhYmVsXVxufSlcbmV4cG9ydCBjbGFzcyBNZXRlckdyb3VwTW9kdWxlIHt9XG4iXX0=
277
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0ZXJncm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9tZXRlcmdyb3VwL21ldGVyZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBb0IsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBMEIsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JOLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQWtCekMsTUFBTSxPQUFPLGVBQWU7SUFDZixLQUFLLEdBQVUsSUFBSSxDQUFDO0lBRXBCLGFBQWEsR0FBb0IsS0FBSyxDQUFDO0lBRXZDLGdCQUFnQixHQUE4QixZQUFZLENBQUM7SUFFM0QsR0FBRyxDQUFTO0lBRVosR0FBRyxDQUFTO0lBRVosWUFBWSxDQUErQjtJQUVwQixTQUFTLENBQXVDO0lBRWhGLElBQUksVUFBVTtRQUNWLE9BQU87WUFDSCxpQ0FBaUMsRUFBRSxJQUFJO1lBQ3ZDLDhCQUE4QixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxVQUFVO1lBQ3BFLGdDQUFnQyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxZQUFZO1NBQzNFLENBQUM7SUFDTixDQUFDO0lBRUQsY0FBYyxHQUFlLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQzt1R0F2QnpELGVBQWU7MkZBQWYsZUFBZSwyT0FhUCxhQUFhLDZCQTFCcEI7Ozs7Ozs7Ozs7O0tBV1Q7OzJGQUVRLGVBQWU7a0JBZjNCLFNB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WSxDQUFDO29CQUNuQyxZQUFZLEVBQUUsQ0FBQyxVQUFVLEVBQUUsZUFBZSxDQUFDO2lCQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsIElucHV0LCBOZ01vZHVsZSwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiwgVmlld0VuY2Fwc3VsYXRpb24sIGVmZmVjdCwgZm9yd2FyZFJlZiwgaW5qZWN0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByaW1lVGVtcGxhdGUsIFNoYXJlZE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IERvbUhhbmRsZXIgfSBmcm9tICdwcmltZW5nL2RvbSc7XG5pbXBvcnQgeyBNZXRlckl0ZW0gfSBmcm9tICcuL21ldGVyZ3JvdXAuaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwLW1ldGVyR3JvdXBMYWJlbCcsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG9sIFtuZ0NsYXNzXT1cImxhYmVsQ2xhc3NcIj5cbiAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgbGFiZWxJdGVtIG9mIHZhbHVlOyBsZXQgaW5kZXggPSBpbmRleDsgdHJhY2tCeTogcGFyZW50SW5zdGFuY2UudHJhY2tCeUZuXCIgY2xhc3M9XCJwLW1ldGVyZ3JvdXAtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWljb25UZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImxhYmVsSXRlbS5pY29uXCIgW2NsYXNzXT1cImxhYmVsSXRlbS5pY29uXCIgW25nQ2xhc3NdPVwieyAncC1tZXRlcmdyb3VwLWxhYmVsLWljb24nOiB0cnVlIH1cIiBbbmdTdHlsZV09XCJ7IGNvbG9yOiBsYWJlbEl0ZW0uY29sb3IgfVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhbGFiZWxJdGVtLmljb25cIiBjbGFzcz1cInAtbWV0ZXJncm91cC1sYWJlbC1tYXJrZXJcIiBbbmdTdHlsZV09XCJ7IGJhY2tncm91bmRDb2xvcjogbGFiZWxJdGVtLmNvbG9yIH1cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImljb25UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGxhYmVsSXRlbSwgaWNvbjogbGFiZWxJdGVtLmljb24gfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1tZXRlcmdyb3VwLWxhYmVsLXRleHRcIj57eyBsYWJlbEl0ZW0ubGFiZWwgfX0gKHt7IHBhcmVudEluc3RhbmNlPy5wZXJjZW50VmFsdWUobGFiZWxJdGVtLnZhbHVlKSB9fSk8L3NwYW4+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L29sPlxuICAgIGBcbn0pXG5leHBvcnQgY2xhc3MgTWV0ZXJHcm91cExhYmVsIHtcbiAgICBASW5wdXQoKSB2YWx1ZTogYW55W10gPSBudWxsO1xuXG4gICAgQElucHV0KCkgbGFiZWxQb3NpdGlvbjogJ3N0YXJ0JyB8ICdlbmQnID0gJ2VuZCc7XG5cbiAgICBASW5wdXQoKSBsYWJlbE9yaWVudGF0aW9uOiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnID0gJ2hvcml6b250YWwnO1xuXG4gICAgQElucHV0KCkgbWluOiBudW1iZXI7XG5cbiAgICBASW5wdXQoKSBtYXg6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpIGljb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oUHJpbWVUZW1wbGF0ZSkgdGVtcGxhdGVzOiBRdWVyeUxpc3Q8UHJpbWVUZW1wbGF0ZT4gfCB1bmRlZmluZWQ7XG5cbiAgICBnZXQgbGFiZWxDbGFzcygpOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAncC1tZXRlcmdyb3VwLWxhYmVscyBwLWNvbXBvbmVudCc6IHRydWUsXG4gICAgICAgICAgICAncC1tZXRlcmdyb3VwLWxhYmVscy12ZXJ0aWNhbCc6IHRoaXMubGFiZWxPcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJyxcbiAgICAgICAgICAgICdwLW1ldGVyZ3JvdXAtbGFiZWxzLWhvcml6b250YWwnOiB0aGlzLmxhYmVsT3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJ1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIHBhcmVudEluc3RhbmNlOiBNZXRlckdyb3VwID0gaW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gTWV0ZXJHcm91cCkpO1xufVxuLyoqXG4gKiBNZXRlckdyb3VwIGRpc3BsYXlzIHNjYWxhciBtZWFzdXJlbWVudHMgd2l0aGluIGEga25vd24gcmFuZ2UuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3AtbWV0ZXJHcm91cCcsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdiAjY29udGFpbmVyIFtuZ0NsYXNzXT1cImNvbnRhaW5lckNsYXNzXCIgcm9sZT1cIm1ldGVyXCIgW2F0dHIuYXJpYS12YWx1ZW1pbl09XCJtaW5cIiBbYXR0ci5hcmlhLXZhbHVlbWF4XT1cIm1heFwiIFthdHRyLmFyaWEtdmFsdWVub3ddPVwidG90YWxQZXJjZW50KClcIiBbbmdTdHlsZV09XCJzdHlsZVwiIFtjbGFzc109XCJzdHlsZUNsYXNzXCI+XG4gICAgICAgICAgICBAaWYobGFiZWxQb3NpdGlvbiA9PT0nc3RhcnQnKSB7XG4gICAgICAgICAgICA8cC1tZXRlckdyb3VwTGFiZWwgKm5nSWY9XCIhbGFiZWxUZW1wbGF0ZVwiIFt2YWx1ZV09XCJ2YWx1ZVwiIFtsYWJlbFBvc2l0aW9uXT1cImxhYmVsUG9zaXRpb25cIiBbbGFiZWxPcmllbnRhdGlvbl09XCJsYWJlbE9yaWVudGF0aW9uXCIgW21pbl09XCJtaW5cIiBbbWF4XT1cIm1heFwiIFtpY29uVGVtcGxhdGVdPVwiaWNvblRlbXBsYXRlXCIgLz5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsYWJlbFRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogdmFsdWUsIHRvdGFsUGVyY2VudDogdG90YWxQZXJjZW50KCksIHBlcmNlbnRhZ2VzOiBwZXJjZW50YWdlcygpIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdGFydFRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogdmFsdWUsIHRvdGFsUGVyY2VudDogdG90YWxQZXJjZW50KCksIHBlcmNlbnRhZ2VzOiBwZXJjZW50YWdlcygpIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLW1ldGVyZ3JvdXAtbWV0ZXJzXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWV0ZXJJdGVtIG9mIHZhbHVlOyBsZXQgaW5kZXggPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtZXRlclRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogbWV0ZXJJdGVtLCBpbmRleDogaW5kZXgsIG9yaWVudGF0aW9uOiB0aGlzLm9yaWVudGF0aW9uLCBjbGFzczogJ3AtbWV0ZXJncm91cC1tZXRlcicsIHNpemU6IHBlcmNlbnRWYWx1ZShtZXRlckl0ZW0udmFsdWUpLCB0b3RhbFBlcmNlbnQ6IHRvdGFsUGVyY2VudCgpIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbWV0ZXJUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwLW1ldGVyZ3JvdXAtbWV0ZXJcIiBbbmdTdHlsZV09XCJtZXRlclN0eWxlKG1ldGVySXRlbSlcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZW5kVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiB2YWx1ZSwgdG90YWxQZXJjZW50OiB0b3RhbFBlcmNlbnQoKSwgcGVyY2VudGFnZXM6IHBlcmNlbnRhZ2VzKCkgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgQGlmKGxhYmVsUG9zaXRpb24gPT09ICdlbmQnKSB7XG4gICAgICAgICAgICA8cC1tZXRlckdyb3VwTGFiZWwgKm5nSWY9XCIhbGFiZWxUZW1wbGF0ZVwiIFt2YWx1ZV09XCJ2YWx1ZVwiIFtsYWJlbFBvc2l0aW9uXT1cImxhYmVsUG9zaXRpb25cIiBbbGFiZWxPcmllbnRhdGlvbl09XCJsYWJlbE9yaWVudGF0aW9uXCIgW21pbl09XCJtaW5cIiBbbWF4XT1cIm1heFwiIFtpY29uVGVtcGxhdGVdPVwiaWNvblRlbXBsYXRlXCIgLz5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsYWJlbFRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogdmFsdWUsIHRvdGFsUGVyY2VudDogdG90YWxQZXJjZW50KCksIHBlcmNlbnRhZ2VzOiBwZXJjZW50YWdlcygpIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIE1ldGVyR3JvdXAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICAvKipcbiAgICAgKiBDdXJyZW50IHZhbHVlIG9mIHRoZSBtZXRlcmdyb3VwLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHZhbHVlOiBNZXRlckl0ZW1bXSB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBNaW5pbnVtIGJvdW5kYXJ5IHZhbHVlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIG1pbjogbnVtYmVyID0gMDtcbiAgICAvKipcbiAgICAgKiBNYXhpbXVtIGJvdW5kYXJ5IHZhbHVlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIG1heDogbnVtYmVyID0gMTAwO1xuICAgIC8qKlxuICAgICAqIFNwZWNpZmllcyB0aGUgbGF5b3V0IG9mIHRoZSBjb21wb25lbnQsIHZhbGlkIHZhbHVlcyBhcmUgJ2hvcml6b250YWwnIGFuZCAndmVydGljYWwnLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIG9yaWVudGF0aW9uOiAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnID0gJ2hvcml6b250YWwnO1xuICAgIC8qKlxuICAgICAqIFNwZWNpZmllcyB0aGUgbGFiZWwgcG9zaXRpb24gb2YgdGhlIGNvbXBvbmVudCwgdmFsaWQgdmFsdWVzIGFyZSAnc3RhcnQnIGFuZCAnZW5kJy5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBsYWJlbFBvc2l0aW9uOiAnc3RhcnQnIHwgJ2VuZCcgPSAnZW5kJztcbiAgICAvKipcbiAgICAgKiBTcGVjaWZpZXMgdGhlIGxhYmVsIG9yaWVudGF0aW9uIG9mIHRoZSBjb21wb25lbnQsIHZhbGlkIHZhbHVlcyBhcmUgJ2hvcml6b250YWwnIGFuZCAndmVydGljYWwnLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGxhYmVsT3JpZW50YXRpb246IHN0cmluZyA9ICdob3Jpem9udGFsJztcbiAgICAvKipcbiAgICAgKiBJbmxpbmUgc3R5bGUgb2YgdGhlIGVsZW1lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc3R5bGU6IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfSB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogU3R5bGUgY2xhc3Mgb2YgdGhlIGVsZW1lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc3R5bGVDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihQcmltZVRlbXBsYXRlKSB0ZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxQcmltZVRlbXBsYXRlPiB8IHVuZGVmaW5lZDtcblxuICAgIGdldCB2ZXJ0aWNhbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCc7XG4gICAgfVxuXG4gICAgZ2V0IGNvbnRhaW5lckNsYXNzKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgJ3AtbWV0ZXJncm91cCBwLWNvbXBvbmVudCc6IHRydWUsXG4gICAgICAgICAgICAncC1tZXRlcmdyb3VwLWhvcml6b250YWwnOiB0aGlzLm9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcsXG4gICAgICAgICAgICAncC1tZXRlcmdyb3VwLXZlcnRpY2FsJzogdGhpcy5vcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJ1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGxhYmVsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICBtZXRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgZW5kVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICBzdGFydFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgaWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgY29udGFpbmVyID0gVmlld0NoaWxkKCdjb250YWluZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSk7XG5cbiAgICBjb250YWluZXJFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBfY29udGFpbmVyID0gdGhpcy5jb250YWluZXIoKTtcbiAgICAgICAgY29uc3QgaGVpZ2h0ID0gRG9tSGFuZGxlci5nZXRPdXRlckhlaWdodChfY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB0aGlzLnZlcnRpY2FsICYmICh0aGlzLmNvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gaGVpZ2h0ICsgJ3B4Jyk7XG4gICAgfSk7XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMudGVtcGxhdGVzPy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKGl0ZW0uZ2V0VHlwZSgpKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnbGFiZWwnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxhYmVsVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdtZXRlcic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWV0ZXJUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2ljb24nOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmljb25UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ3N0YXJ0JzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFydFRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnZW5kJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbmRUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwZXJjZW50KG1ldGVyID0gMCkge1xuICAgICAgICBjb25zdCBwZXJjZW50T2ZJdGVtID0gKChtZXRlciAtIHRoaXMubWluKSAvICh0aGlzLm1heCAtIHRoaXMubWluKSkgKiAxMDA7XG5cbiAgICAgICAgcmV0dXJuIE1hdGgucm91bmQoTWF0aC5tYXgoMCwgTWF0aC5taW4oMTAwLCBwZXJjZW50T2ZJdGVtKSkpO1xuICAgIH1cbiAgICBwZXJjZW50VmFsdWUobWV0ZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGVyY2VudChtZXRlcikgKyAnJSc7XG4gICAgfVxuICAgIG1ldGVyU3R5bGUodmFsKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHZhbC5jb2xvcixcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLm9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcgJiYgdGhpcy5wZXJjZW50VmFsdWUodmFsLnZhbHVlKSxcbiAgICAgICAgICAgIGhlaWdodDogdGhpcy5vcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJyAmJiB0aGlzLnBlcmNlbnRWYWx1ZSh2YWwudmFsdWUpXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgdG90YWxQZXJjZW50KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wZXJjZW50KHRoaXMudmFsdWUucmVkdWNlKCh0b3RhbCwgdmFsKSA9PiB0b3RhbCArIHZhbC52YWx1ZSwgMCkpO1xuICAgIH1cblxuICAgIHBlcmNlbnRhZ2VzKCkge1xuICAgICAgICBsZXQgc3VtID0gMDtcbiAgICAgICAgY29uc3Qgc3Vtc0FycmF5ID0gW107XG5cbiAgICAgICAgdGhpcy52YWx1ZS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBzdW0gKz0gaXRlbS52YWx1ZTtcbiAgICAgICAgICAgIHN1bXNBcnJheS5wdXNoKHN1bSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBzdW1zQXJyYXk7XG4gICAgfVxuXG4gICAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFNoYXJlZE1vZHVsZV0sXG4gICAgZXhwb3J0czogW01ldGVyR3JvdXAsIFNoYXJlZE1vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbTWV0ZXJHcm91cCwgTWV0ZXJHcm91cExhYmVsXVxufSlcbmV4cG9ydCBjbGFzcyBNZXRlckdyb3VwTW9kdWxlIHt9XG4iXX0=