primeng 18.0.0-beta.5 → 18.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (389) hide show
  1. package/accordion/accordion.d.ts +2 -4
  2. package/api/primeicons.d.ts +3 -3
  3. package/api/scrolleroptions.d.ts +10 -0
  4. package/api/selectitemgroup.d.ts +2 -2
  5. package/api/shared.d.ts +2 -2
  6. package/autocomplete/autocomplete.d.ts +11 -12
  7. package/badge/badge.d.ts +16 -2
  8. package/blockui/blockui.d.ts +2 -2
  9. package/breadcrumb/breadcrumb.d.ts +3 -4
  10. package/button/button.d.ts +3 -4
  11. package/calendar/calendar.d.ts +12 -12
  12. package/card/card.d.ts +2 -2
  13. package/carousel/carousel.d.ts +3 -3
  14. package/cascadeselect/cascadeselect.d.ts +31 -15
  15. package/cascadeselect/style/cascadeselectstyle.d.ts +8 -1
  16. package/checkbox/checkbox.d.ts +2 -2
  17. package/chip/chip.d.ts +2 -2
  18. package/confirmdialog/confirmdialog.d.ts +3 -3
  19. package/confirmpopup/confirmpopup.d.ts +3 -4
  20. package/contextmenu/contextmenu.d.ts +2 -2
  21. package/dataview/dataview.d.ts +9 -10
  22. package/datepicker/datepicker.d.ts +8 -8
  23. package/defer/defer.d.ts +2 -0
  24. package/dialog/dialog.d.ts +4 -4
  25. package/drawer/drawer.d.ts +2 -2
  26. package/dropdown/dropdown.d.ts +0 -23
  27. package/editor/editor.d.ts +2 -2
  28. package/esm2022/accordion/accordion.mjs +9 -35
  29. package/esm2022/accordion/style/accordionstyle.mjs +9 -7
  30. package/esm2022/api/primeicons.mjs +4 -4
  31. package/esm2022/api/scrolleroptions.mjs +1 -1
  32. package/esm2022/api/selectitemgroup.mjs +1 -1
  33. package/esm2022/api/shared.mjs +6 -6
  34. package/esm2022/autocomplete/autocomplete.mjs +277 -311
  35. package/esm2022/autocomplete/style/autocompletestyle.mjs +12 -12
  36. package/esm2022/avatar/avatar.mjs +3 -3
  37. package/esm2022/avatar/style/avatarstyle.mjs +3 -3
  38. package/esm2022/badge/badge.mjs +33 -3
  39. package/esm2022/badge/style/badgestyle.mjs +3 -3
  40. package/esm2022/base/style/basestyle.mjs +6 -4
  41. package/esm2022/basecomponent/basecomponent.mjs +8 -2
  42. package/esm2022/blockui/blockui.mjs +6 -6
  43. package/esm2022/breadcrumb/breadcrumb.mjs +94 -101
  44. package/esm2022/breadcrumb/style/breadcrumbstyle.mjs +5 -1
  45. package/esm2022/button/button.mjs +19 -37
  46. package/esm2022/button/style/buttonstyle.mjs +17 -7
  47. package/esm2022/buttongroup/style/buttongroupstyle.mjs +9 -9
  48. package/esm2022/calendar/calendar.mjs +114 -114
  49. package/esm2022/calendar/style/calendarstyle.mjs +5 -5
  50. package/esm2022/card/card.mjs +10 -9
  51. package/esm2022/carousel/carousel.mjs +20 -19
  52. package/esm2022/carousel/style/carouselstyle.mjs +10 -1
  53. package/esm2022/cascadeselect/cascadeselect.mjs +182 -107
  54. package/esm2022/cascadeselect/style/cascadeselectstyle.mjs +37 -22
  55. package/esm2022/checkbox/checkbox.mjs +8 -8
  56. package/esm2022/chip/chip.mjs +10 -10
  57. package/esm2022/chip/style/chipstyle.mjs +2 -2
  58. package/esm2022/colorpicker/style/colorpickerstyle.mjs +29 -1
  59. package/esm2022/confirmdialog/confirmdialog.mjs +17 -14
  60. package/esm2022/confirmpopup/confirmpopup.mjs +45 -36
  61. package/esm2022/contextmenu/contextmenu.mjs +12 -12
  62. package/esm2022/contextmenu/style/contextmenustyle.mjs +11 -1
  63. package/esm2022/dataview/dataview.mjs +39 -113
  64. package/esm2022/datepicker/datepicker.mjs +91 -91
  65. package/esm2022/datepicker/style/datepickerstyle.mjs +23 -16
  66. package/esm2022/defer/defer.mjs +7 -1
  67. package/esm2022/dialog/dialog.mjs +29 -28
  68. package/esm2022/dialog/style/dialogstyle.mjs +22 -1
  69. package/esm2022/divider/style/dividerstyle.mjs +18 -14
  70. package/esm2022/dock/style/dockstyle.mjs +11 -1
  71. package/esm2022/drawer/drawer.mjs +8 -8
  72. package/esm2022/drawer/style/drawerstyle.mjs +5 -1
  73. package/esm2022/dropdown/dropdown.mjs +4 -18
  74. package/esm2022/dropdown/style/dropdownstyle.mjs +4 -4
  75. package/esm2022/editor/editor.mjs +1 -1
  76. package/esm2022/editor/style/editorstyle.mjs +52 -158
  77. package/esm2022/fieldset/fieldset.mjs +20 -21
  78. package/esm2022/fileupload/fileupload.mjs +108 -68
  79. package/esm2022/floatlabel/style/floatlabelstyle.mjs +5 -5
  80. package/esm2022/galleria/galleria.mjs +6 -1
  81. package/esm2022/galleria/style/galleriastyle.mjs +18 -1
  82. package/esm2022/iconfield/style/iconfieldstyle.mjs +2 -2
  83. package/esm2022/iftalabel/iftalabel.mjs +6 -6
  84. package/esm2022/iftalabel/style/iftalabelstyle.mjs +5 -5
  85. package/esm2022/image/image.mjs +36 -69
  86. package/esm2022/image/style/imagestyle.mjs +7 -7
  87. package/esm2022/imagecompare/imagecompare.mjs +158 -0
  88. package/esm2022/imagecompare/primeng-imagecompare.mjs +5 -0
  89. package/esm2022/imagecompare/public_api.mjs +3 -0
  90. package/esm2022/imagecompare/style/imagecomparestyle.mjs +124 -0
  91. package/esm2022/inplace/inplace.mjs +8 -8
  92. package/esm2022/inputmask/inputmask.mjs +10 -10
  93. package/esm2022/inputmask/style/inputmaskstyle.mjs +14 -7
  94. package/esm2022/inputnumber/inputnumber.mjs +41 -43
  95. package/esm2022/inputnumber/style/inputnumberstyle.mjs +27 -19
  96. package/esm2022/inputotp/inputotp.mjs +1 -13
  97. package/esm2022/inputtext/style/inputtextstyle.mjs +15 -9
  98. package/esm2022/keyfilter/keyfilter.mjs +4 -3
  99. package/esm2022/listbox/listbox.mjs +8 -53
  100. package/esm2022/megamenu/megamenu.mjs +18 -18
  101. package/esm2022/megamenu/style/megamenustyle.mjs +17 -1
  102. package/esm2022/menu/menu.mjs +46 -28
  103. package/esm2022/menubar/menubar.mjs +25 -25
  104. package/esm2022/menubar/style/menubarstyle.mjs +22 -2
  105. package/esm2022/message/message.mjs +12 -12
  106. package/esm2022/messages/messages.mjs +2 -1
  107. package/esm2022/metergroup/style/metergroupstyle.mjs +9 -9
  108. package/esm2022/multiselect/multiselect.mjs +214 -202
  109. package/esm2022/multiselect/style/multiselectstyle.mjs +13 -15
  110. package/esm2022/orderlist/orderlist.mjs +38 -80
  111. package/esm2022/organizationchart/style/organizationchartstyle.mjs +11 -22
  112. package/esm2022/overlaypanel/overlaypanel.mjs +24 -24
  113. package/esm2022/paginator/paginator.mjs +48 -48
  114. package/esm2022/paginator/style/paginatorstyle.mjs +10 -3
  115. package/esm2022/panel/panel.mjs +17 -37
  116. package/esm2022/panelmenu/panelmenu.mjs +32 -43
  117. package/esm2022/panelmenu/style/panelmenustyle.mjs +13 -5
  118. package/esm2022/password/password.mjs +26 -26
  119. package/esm2022/password/style/passwordstyle.mjs +14 -6
  120. package/esm2022/picklist/picklist.mjs +5 -5
  121. package/esm2022/popover/popover.mjs +21 -25
  122. package/esm2022/progressbar/style/progressbarstyle.mjs +29 -29
  123. package/esm2022/radiobutton/style/radiobuttonstyle.mjs +2 -2
  124. package/esm2022/rating/rating.mjs +12 -12
  125. package/esm2022/scroller/scroller.mjs +9 -9
  126. package/esm2022/scrollpanel/scrollpanel.mjs +4 -4
  127. package/esm2022/scrollpanel/style/scrollpanelstyle.mjs +3 -2
  128. package/esm2022/scrolltop/style/scrolltopstyle.mjs +7 -2
  129. package/esm2022/select/select.mjs +66 -113
  130. package/esm2022/select/style/selectstyle.mjs +14 -20
  131. package/esm2022/selectbutton/style/selectbuttonstyle.mjs +5 -5
  132. package/esm2022/skeleton/style/skeletonstyle.mjs +15 -2
  133. package/esm2022/slider/slider.mjs +18 -11
  134. package/esm2022/slider/style/sliderstyle.mjs +6 -6
  135. package/esm2022/speeddial/speeddial.mjs +1 -16
  136. package/esm2022/speeddial/style/speeddialstyle.mjs +2 -2
  137. package/esm2022/splitbutton/splitbutton.mjs +8 -8
  138. package/esm2022/splitbutton/style/splitbuttonstyle.mjs +9 -9
  139. package/esm2022/splitter/splitter.mjs +58 -18
  140. package/esm2022/stepper/style/stepperstyle.mjs +6 -1
  141. package/esm2022/styleclass/styleclass.mjs +2 -2
  142. package/esm2022/table/style/tablestyle.mjs +14 -7
  143. package/esm2022/table/table.mjs +411 -278
  144. package/esm2022/tabmenu/tabmenu.mjs +15 -33
  145. package/esm2022/tabs/tab.mjs +4 -3
  146. package/esm2022/tabs/tablist.mjs +9 -6
  147. package/esm2022/tabview/tabview.mjs +72 -64
  148. package/esm2022/terminal/style/terminalstyle.mjs +2 -2
  149. package/esm2022/textarea/style/textareastyle.mjs +9 -7
  150. package/esm2022/tieredmenu/style/tieredmenustyle.mjs +6 -1
  151. package/esm2022/tieredmenu/tieredmenu.mjs +12 -12
  152. package/esm2022/timeline/style/timelinestyle.mjs +2 -1
  153. package/esm2022/timeline/timeline.mjs +1 -16
  154. package/esm2022/toast/style/toaststyle.mjs +7 -1
  155. package/esm2022/togglebutton/style/togglebuttonstyle.mjs +2 -2
  156. package/esm2022/toggleswitch/toggleswitch.mjs +1 -10
  157. package/esm2022/tooltip/tooltip.mjs +33 -25
  158. package/esm2022/tree/style/treestyle.mjs +8 -6
  159. package/esm2022/tree/tree.mjs +44 -44
  160. package/esm2022/treeselect/style/treeselectstyle.mjs +15 -12
  161. package/esm2022/treeselect/treeselect.mjs +49 -49
  162. package/esm2022/treetable/style/treetablestyle.mjs +4 -4
  163. package/esm2022/treetable/treetable.mjs +20 -4
  164. package/esm2022/usestyle/usestyle.mjs +3 -2
  165. package/fesm2022/primeng-accordion.mjs +16 -40
  166. package/fesm2022/primeng-accordion.mjs.map +1 -1
  167. package/fesm2022/primeng-api.mjs +8 -8
  168. package/fesm2022/primeng-api.mjs.map +1 -1
  169. package/fesm2022/primeng-autocomplete.mjs +287 -321
  170. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  171. package/fesm2022/primeng-avatar.mjs +4 -4
  172. package/fesm2022/primeng-avatar.mjs.map +1 -1
  173. package/fesm2022/primeng-badge.mjs +34 -4
  174. package/fesm2022/primeng-badge.mjs.map +1 -1
  175. package/fesm2022/primeng-base.mjs +5 -3
  176. package/fesm2022/primeng-base.mjs.map +1 -1
  177. package/fesm2022/primeng-basecomponent.mjs +7 -1
  178. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  179. package/fesm2022/primeng-blockui.mjs +5 -5
  180. package/fesm2022/primeng-blockui.mjs.map +1 -1
  181. package/fesm2022/primeng-breadcrumb.mjs +97 -100
  182. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  183. package/fesm2022/primeng-button.mjs +34 -42
  184. package/fesm2022/primeng-button.mjs.map +1 -1
  185. package/fesm2022/primeng-buttongroup.mjs +8 -8
  186. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  187. package/fesm2022/primeng-calendar.mjs +117 -117
  188. package/fesm2022/primeng-calendar.mjs.map +1 -1
  189. package/fesm2022/primeng-card.mjs +9 -8
  190. package/fesm2022/primeng-card.mjs.map +1 -1
  191. package/fesm2022/primeng-carousel.mjs +28 -18
  192. package/fesm2022/primeng-carousel.mjs.map +1 -1
  193. package/fesm2022/primeng-cascadeselect.mjs +218 -128
  194. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  195. package/fesm2022/primeng-checkbox.mjs +7 -7
  196. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  197. package/fesm2022/primeng-chip.mjs +10 -10
  198. package/fesm2022/primeng-chip.mjs.map +1 -1
  199. package/fesm2022/primeng-colorpicker.mjs +28 -0
  200. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  201. package/fesm2022/primeng-confirmdialog.mjs +16 -13
  202. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  203. package/fesm2022/primeng-confirmpopup.mjs +44 -35
  204. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  205. package/fesm2022/primeng-contextmenu.mjs +21 -11
  206. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  207. package/fesm2022/primeng-dataview.mjs +38 -112
  208. package/fesm2022/primeng-dataview.mjs.map +1 -1
  209. package/fesm2022/primeng-datepicker.mjs +112 -105
  210. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  211. package/fesm2022/primeng-defer.mjs +6 -0
  212. package/fesm2022/primeng-defer.mjs.map +1 -1
  213. package/fesm2022/primeng-dialog.mjs +49 -27
  214. package/fesm2022/primeng-dialog.mjs.map +1 -1
  215. package/fesm2022/primeng-divider.mjs +17 -13
  216. package/fesm2022/primeng-divider.mjs.map +1 -1
  217. package/fesm2022/primeng-dock.mjs +10 -0
  218. package/fesm2022/primeng-dock.mjs.map +1 -1
  219. package/fesm2022/primeng-drawer.mjs +11 -7
  220. package/fesm2022/primeng-drawer.mjs.map +1 -1
  221. package/fesm2022/primeng-dropdown.mjs +6 -20
  222. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  223. package/fesm2022/primeng-editor.mjs +51 -157
  224. package/fesm2022/primeng-editor.mjs.map +1 -1
  225. package/fesm2022/primeng-fieldset.mjs +19 -20
  226. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  227. package/fesm2022/primeng-fileupload.mjs +107 -67
  228. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  229. package/fesm2022/primeng-floatlabel.mjs +4 -4
  230. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  231. package/fesm2022/primeng-galleria.mjs +22 -0
  232. package/fesm2022/primeng-galleria.mjs.map +1 -1
  233. package/fesm2022/primeng-iconfield.mjs +1 -1
  234. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  235. package/fesm2022/primeng-iftalabel.mjs +9 -9
  236. package/fesm2022/primeng-iftalabel.mjs.map +1 -1
  237. package/fesm2022/primeng-image.mjs +41 -74
  238. package/fesm2022/primeng-image.mjs.map +1 -1
  239. package/fesm2022/primeng-imagecompare.mjs +286 -0
  240. package/fesm2022/primeng-imagecompare.mjs.map +1 -0
  241. package/fesm2022/primeng-inplace.mjs +7 -7
  242. package/fesm2022/primeng-inplace.mjs.map +1 -1
  243. package/fesm2022/primeng-inputmask.mjs +22 -15
  244. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  245. package/fesm2022/primeng-inputnumber.mjs +66 -60
  246. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  247. package/fesm2022/primeng-inputotp.mjs +0 -12
  248. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  249. package/fesm2022/primeng-inputtext.mjs +14 -8
  250. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  251. package/fesm2022/primeng-keyfilter.mjs +3 -2
  252. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  253. package/fesm2022/primeng-listbox.mjs +7 -52
  254. package/fesm2022/primeng-listbox.mjs.map +1 -1
  255. package/fesm2022/primeng-megamenu.mjs +33 -17
  256. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  257. package/fesm2022/primeng-menu.mjs +45 -27
  258. package/fesm2022/primeng-menu.mjs.map +1 -1
  259. package/fesm2022/primeng-menubar.mjs +45 -25
  260. package/fesm2022/primeng-menubar.mjs.map +1 -1
  261. package/fesm2022/primeng-message.mjs +11 -11
  262. package/fesm2022/primeng-message.mjs.map +1 -1
  263. package/fesm2022/primeng-messages.mjs +1 -0
  264. package/fesm2022/primeng-messages.mjs.map +1 -1
  265. package/fesm2022/primeng-metergroup.mjs +8 -8
  266. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  267. package/fesm2022/primeng-multiselect.mjs +225 -215
  268. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  269. package/fesm2022/primeng-orderlist.mjs +37 -79
  270. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  271. package/fesm2022/primeng-organizationchart.mjs +10 -21
  272. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  273. package/fesm2022/primeng-overlaypanel.mjs +23 -23
  274. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  275. package/fesm2022/primeng-paginator.mjs +56 -49
  276. package/fesm2022/primeng-paginator.mjs.map +1 -1
  277. package/fesm2022/primeng-panel.mjs +16 -36
  278. package/fesm2022/primeng-panel.mjs.map +1 -1
  279. package/fesm2022/primeng-panelmenu.mjs +43 -46
  280. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  281. package/fesm2022/primeng-password.mjs +38 -30
  282. package/fesm2022/primeng-password.mjs.map +1 -1
  283. package/fesm2022/primeng-picklist.mjs +4 -4
  284. package/fesm2022/primeng-picklist.mjs.map +1 -1
  285. package/fesm2022/primeng-popover.mjs +20 -24
  286. package/fesm2022/primeng-popover.mjs.map +1 -1
  287. package/fesm2022/primeng-progressbar.mjs +28 -28
  288. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  289. package/fesm2022/primeng-radiobutton.mjs +1 -1
  290. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  291. package/fesm2022/primeng-rating.mjs +11 -11
  292. package/fesm2022/primeng-rating.mjs.map +1 -1
  293. package/fesm2022/primeng-scroller.mjs +8 -8
  294. package/fesm2022/primeng-scroller.mjs.map +1 -1
  295. package/fesm2022/primeng-scrollpanel.mjs +5 -4
  296. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  297. package/fesm2022/primeng-scrolltop.mjs +6 -1
  298. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  299. package/fesm2022/primeng-select.mjs +78 -131
  300. package/fesm2022/primeng-select.mjs.map +1 -1
  301. package/fesm2022/primeng-selectbutton.mjs +4 -4
  302. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  303. package/fesm2022/primeng-skeleton.mjs +14 -1
  304. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  305. package/fesm2022/primeng-slider.mjs +22 -15
  306. package/fesm2022/primeng-slider.mjs.map +1 -1
  307. package/fesm2022/primeng-speeddial.mjs +1 -16
  308. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  309. package/fesm2022/primeng-splitbutton.mjs +15 -15
  310. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  311. package/fesm2022/primeng-splitter.mjs +59 -19
  312. package/fesm2022/primeng-splitter.mjs.map +1 -1
  313. package/fesm2022/primeng-stepper.mjs +5 -0
  314. package/fesm2022/primeng-stepper.mjs.map +1 -1
  315. package/fesm2022/primeng-styleclass.mjs +1 -1
  316. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  317. package/fesm2022/primeng-table.mjs +424 -284
  318. package/fesm2022/primeng-table.mjs.map +1 -1
  319. package/fesm2022/primeng-tabmenu.mjs +14 -32
  320. package/fesm2022/primeng-tabmenu.mjs.map +1 -1
  321. package/fesm2022/primeng-tabs.mjs +11 -7
  322. package/fesm2022/primeng-tabs.mjs.map +1 -1
  323. package/fesm2022/primeng-tabview.mjs +71 -63
  324. package/fesm2022/primeng-tabview.mjs.map +1 -1
  325. package/fesm2022/primeng-terminal.mjs +1 -1
  326. package/fesm2022/primeng-terminal.mjs.map +1 -1
  327. package/fesm2022/primeng-textarea.mjs +8 -6
  328. package/fesm2022/primeng-textarea.mjs.map +1 -1
  329. package/fesm2022/primeng-tieredmenu.mjs +16 -11
  330. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  331. package/fesm2022/primeng-timeline.mjs +1 -15
  332. package/fesm2022/primeng-timeline.mjs.map +1 -1
  333. package/fesm2022/primeng-toast.mjs +6 -0
  334. package/fesm2022/primeng-toast.mjs.map +1 -1
  335. package/fesm2022/primeng-togglebutton.mjs +1 -1
  336. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  337. package/fesm2022/primeng-toggleswitch.mjs +0 -9
  338. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  339. package/fesm2022/primeng-tooltip.mjs +32 -24
  340. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  341. package/fesm2022/primeng-tree.mjs +50 -48
  342. package/fesm2022/primeng-tree.mjs.map +1 -1
  343. package/fesm2022/primeng-treeselect.mjs +62 -59
  344. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  345. package/fesm2022/primeng-treetable.mjs +22 -6
  346. package/fesm2022/primeng-treetable.mjs.map +1 -1
  347. package/fesm2022/primeng-usestyle.mjs +2 -1
  348. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  349. package/fieldset/fieldset.d.ts +3 -3
  350. package/fileupload/fileupload.d.ts +21 -5
  351. package/iftalabel/iftalabel.d.ts +2 -2
  352. package/image/image.d.ts +6 -7
  353. package/imagecompare/imagecompare.d.ts +52 -0
  354. package/imagecompare/index.d.ts +5 -0
  355. package/imagecompare/public_api.d.ts +2 -0
  356. package/imagecompare/style/imagecomparestyle.d.ts +35 -0
  357. package/inplace/inplace.d.ts +2 -2
  358. package/inputmask/inputmask.d.ts +2 -2
  359. package/inputnumber/inputnumber.d.ts +4 -5
  360. package/inputotp/inputotp.d.ts +1 -2
  361. package/listbox/listbox.d.ts +2 -3
  362. package/megamenu/megamenu.d.ts +4 -4
  363. package/menu/menu.d.ts +10 -4
  364. package/menubar/menubar.d.ts +5 -5
  365. package/message/message.d.ts +2 -2
  366. package/multiselect/multiselect.d.ts +16 -16
  367. package/orderlist/orderlist.d.ts +10 -11
  368. package/overlaypanel/overlaypanel.d.ts +3 -4
  369. package/package.json +219 -213
  370. package/paginator/paginator.d.ts +6 -6
  371. package/panel/panel.d.ts +3 -4
  372. package/panelmenu/panelmenu.d.ts +2 -3
  373. package/password/password.d.ts +4 -4
  374. package/popover/popover.d.ts +7 -5
  375. package/rating/rating.d.ts +4 -4
  376. package/scroller/scroller.d.ts +2 -2
  377. package/select/select.d.ts +12 -13
  378. package/speeddial/speeddial.d.ts +2 -3
  379. package/splitbutton/splitbutton.d.ts +2 -2
  380. package/splitter/splitter.d.ts +9 -2
  381. package/table/table.d.ts +47 -6
  382. package/tabmenu/tabmenu.d.ts +5 -6
  383. package/tabview/tabview.d.ts +4 -5
  384. package/tieredmenu/tieredmenu.d.ts +2 -2
  385. package/timeline/timeline.d.ts +0 -1
  386. package/toggleswitch/toggleswitch.d.ts +0 -1
  387. package/tooltip/tooltip.d.ts +2 -1
  388. package/tree/tree.d.ts +6 -6
  389. package/treeselect/treeselect.d.ts +9 -9
@@ -175,35 +175,35 @@ function Image_div_4_Template(rf, ctx) { if (rf & 1) {
175
175
  i0.ɵɵadvance(3);
176
176
  i0.ɵɵattribute("aria-label", ctx_r1.rightAriaLabel());
177
177
  i0.ɵɵadvance();
178
- i0.ɵɵproperty("ngIf", !ctx_r1.rotateRightIconTemplate);
178
+ i0.ɵɵproperty("ngIf", !ctx_r1.rotaterighticon);
179
179
  i0.ɵɵadvance();
180
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.rotateRightIconTemplate);
180
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.rotaterighticon);
181
181
  i0.ɵɵadvance();
182
182
  i0.ɵɵattribute("aria-label", ctx_r1.leftAriaLabel());
183
183
  i0.ɵɵadvance();
184
- i0.ɵɵproperty("ngIf", !ctx_r1.rotateLeftIconTemplate);
184
+ i0.ɵɵproperty("ngIf", !ctx_r1.rotatelefticon);
185
185
  i0.ɵɵadvance();
186
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.rotateLeftIconTemplate);
186
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.rotatelefticon);
187
187
  i0.ɵɵadvance();
188
188
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(21, _c13, ctx_r1.isZoomOutDisabled))("disabled", ctx_r1.isZoomOutDisabled);
189
189
  i0.ɵɵattribute("aria-label", ctx_r1.zoomOutAriaLabel());
190
190
  i0.ɵɵadvance();
191
- i0.ɵɵproperty("ngIf", !ctx_r1.zoomOutIconTemplate);
191
+ i0.ɵɵproperty("ngIf", !ctx_r1.zoomouticon);
192
192
  i0.ɵɵadvance();
193
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.zoomOutIconTemplate);
193
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.zoomouticon);
194
194
  i0.ɵɵadvance();
195
195
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(23, _c14, ctx_r1.isZoomOutDisabled))("disabled", ctx_r1.isZoomInDisabled);
196
196
  i0.ɵɵattribute("aria-label", ctx_r1.zoomInAriaLabel());
197
197
  i0.ɵɵadvance();
198
- i0.ɵɵproperty("ngIf", !ctx_r1.zoomInIconTemplate);
198
+ i0.ɵɵproperty("ngIf", !ctx_r1.zoominicon);
199
199
  i0.ɵɵadvance();
200
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.zoomInIconTemplate);
200
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.zoominicon);
201
201
  i0.ɵɵadvance();
202
202
  i0.ɵɵattribute("aria-label", ctx_r1.closeAriaLabel());
203
203
  i0.ɵɵadvance(2);
204
- i0.ɵɵproperty("ngIf", !ctx_r1.closeIconTemplate);
204
+ i0.ɵɵproperty("ngIf", !ctx_r1.closeicon);
205
205
  i0.ɵɵadvance();
206
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.closeIconTemplate);
206
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.closeicon);
207
207
  i0.ɵɵadvance();
208
208
  i0.ɵɵproperty("ngIf", ctx_r1.previewVisible);
209
209
  } }
@@ -330,27 +330,27 @@ export class Image extends BaseComponent {
330
330
  * Custom template of rotaterighticon.
331
331
  * @group Templates
332
332
  */
333
- rotateRightIconTemplate;
333
+ rotaterighticon;
334
334
  /**
335
335
  * Custom template of rotatelefticon.
336
336
  * @group Templates
337
337
  */
338
- rotateLeftIconTemplate;
338
+ rotatelefticon;
339
339
  /**
340
340
  * Custom template of zoomouticon.
341
341
  * @group Templates
342
342
  */
343
- zoomOutIconTemplate;
343
+ zoomouticon;
344
344
  /**
345
345
  * Custom template of zoominicon.
346
346
  * @group Templates
347
347
  */
348
- zoomInIconTemplate;
348
+ zoominicon;
349
349
  /**
350
350
  * Custom template of closeicon.
351
351
  * @group Templates
352
352
  */
353
- closeIconTemplate;
353
+ closeicon;
354
354
  /**
355
355
  * Custom template of preview.
356
356
  * @group Templates
@@ -384,39 +384,6 @@ export class Image extends BaseComponent {
384
384
  constructor() {
385
385
  super();
386
386
  }
387
- ngAfterContentInit() {
388
- this.templates?.forEach((item) => {
389
- switch (item.getType()) {
390
- case 'indicator':
391
- this.indicatorTemplate = item.template;
392
- break;
393
- case 'image':
394
- this.imageTemplate = item.template;
395
- break;
396
- case 'preview':
397
- this.previewTemplate = item.template;
398
- break;
399
- case 'rotaterighticon':
400
- this.rotateRightIconTemplate = item.template;
401
- break;
402
- case 'rotatelefticon':
403
- this.rotateLeftIconTemplate = item.template;
404
- break;
405
- case 'zoomouticon':
406
- this.zoomOutIconTemplate = item.template;
407
- break;
408
- case 'zoominicon':
409
- this.zoomInIconTemplate = item.template;
410
- break;
411
- case 'closeicon':
412
- this.closeIconTemplate = item.template;
413
- break;
414
- default:
415
- this.indicatorTemplate = item.template;
416
- break;
417
- }
418
- });
419
- }
420
387
  onImageClick() {
421
388
  if (this.preview) {
422
389
  this.maskVisible = true;
@@ -561,11 +528,11 @@ export class Image extends BaseComponent {
561
528
  } if (rf & 2) {
562
529
  let _t;
563
530
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.indicatorTemplate = _t.first);
564
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.rotateRightIconTemplate = _t.first);
565
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.rotateLeftIconTemplate = _t.first);
566
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.zoomOutIconTemplate = _t.first);
567
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.zoomInIconTemplate = _t.first);
568
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.closeIconTemplate = _t.first);
531
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.rotaterighticon = _t.first);
532
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.rotatelefticon = _t.first);
533
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.zoomouticon = _t.first);
534
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.zoominicon = _t.first);
535
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.closeicon = _t.first);
569
536
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.previewTemplate = _t.first);
570
537
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.imageTemplate = _t.first);
571
538
  } }, viewQuery: function Image_Query(rf, ctx) { if (rf & 1) {
@@ -626,24 +593,24 @@ export class Image extends BaseComponent {
626
593
  <div #mask class="p-image-mask p-overlay-mask p-overlay-mask-enter" *ngIf="maskVisible" [attr.aria-modal]="maskVisible" role="dialog" (click)="onMaskClick()" (keydown)="onMaskKeydown($event)" pFocusTrap>
627
594
  <div class="p-image-toolbar" (click)="handleToolbarClick($event)">
628
595
  <button class="p-image-action p-image-rotate-right-button" (click)="rotateRight()" type="button" [attr.aria-label]="rightAriaLabel()">
629
- <RefreshIcon *ngIf="!rotateRightIconTemplate" />
630
- <ng-template *ngTemplateOutlet="rotateRightIconTemplate"></ng-template>
596
+ <RefreshIcon *ngIf="!rotaterighticon" />
597
+ <ng-template *ngTemplateOutlet="rotaterighticon"></ng-template>
631
598
  </button>
632
599
  <button class="p-image-action p-image-rotate-left-button" (click)="rotateLeft()" type="button" [attr.aria-label]="leftAriaLabel()">
633
- <UndoIcon *ngIf="!rotateLeftIconTemplate" />
634
- <ng-template *ngTemplateOutlet="rotateLeftIconTemplate"></ng-template>
600
+ <UndoIcon *ngIf="!rotatelefticon" />
601
+ <ng-template *ngTemplateOutlet="rotatelefticon"></ng-template>
635
602
  </button>
636
603
  <button [ngClass]="{ 'p-image-action p-image-zoom-out-button': true, 'p-disabled': isZoomOutDisabled }" (click)="zoomOut()" type="button" [disabled]="isZoomOutDisabled" [attr.aria-label]="zoomOutAriaLabel()">
637
- <SearchMinusIcon *ngIf="!zoomOutIconTemplate" />
638
- <ng-template *ngTemplateOutlet="zoomOutIconTemplate"></ng-template>
604
+ <SearchMinusIcon *ngIf="!zoomouticon" />
605
+ <ng-template *ngTemplateOutlet="zoomouticon"></ng-template>
639
606
  </button>
640
607
  <button [ngClass]="{ 'p-image-action p-image-zoom-in-button': true, 'p-disabled': isZoomOutDisabled }" (click)="zoomIn()" type="button" [disabled]="isZoomInDisabled" [attr.aria-label]="zoomInAriaLabel()">
641
- <SearchPlusIcon *ngIf="!zoomInIconTemplate" />
642
- <ng-template *ngTemplateOutlet="zoomInIconTemplate"></ng-template>
608
+ <SearchPlusIcon *ngIf="!zoominicon" />
609
+ <ng-template *ngTemplateOutlet="zoominicon"></ng-template>
643
610
  </button>
644
611
  <button class="p-image-action p-image-close-button" type="button" (click)="closePreview()" [attr.aria-label]="closeAriaLabel()" #closeButton>
645
- <TimesIcon *ngIf="!closeIconTemplate" />
646
- <ng-template *ngTemplateOutlet="closeIconTemplate"></ng-template>
612
+ <TimesIcon *ngIf="!closeicon" />
613
+ <ng-template *ngTemplateOutlet="closeicon"></ng-template>
647
614
  </button>
648
615
  </div>
649
616
  <div
@@ -738,19 +705,19 @@ export class Image extends BaseComponent {
738
705
  }], indicatorTemplate: [{
739
706
  type: ContentChild,
740
707
  args: ['indicator']
741
- }], rotateRightIconTemplate: [{
708
+ }], rotaterighticon: [{
742
709
  type: ContentChild,
743
710
  args: ['rotaterighticon']
744
- }], rotateLeftIconTemplate: [{
711
+ }], rotatelefticon: [{
745
712
  type: ContentChild,
746
713
  args: ['rotatelefticon']
747
- }], zoomOutIconTemplate: [{
714
+ }], zoomouticon: [{
748
715
  type: ContentChild,
749
716
  args: ['zoomouticon']
750
- }], zoomInIconTemplate: [{
717
+ }], zoominicon: [{
751
718
  type: ContentChild,
752
719
  args: ['zoominicon']
753
- }], closeIconTemplate: [{
720
+ }], closeicon: [{
754
721
  type: ContentChild,
755
722
  args: ['closeicon']
756
723
  }], previewTemplate: [{
@@ -777,4 +744,4 @@ export class ImageModule {
777
744
  }]
778
745
  }], null, null); })();
779
746
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(ImageModule, { imports: [Image, SharedModule], exports: [Image, SharedModule] }); })();
780
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW1hZ2UvaW1hZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBa0IsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFvQixnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFlLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6TyxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFZcEMsNkJBQXFDO0lBQ2pDLDhCQUFtTztJQUEvQiw2S0FBUyx5QkFBa0IsS0FBQztJQUFoTyxpQkFBbU87Ozs7SUFBcEQsY0FBb0I7SUFBcEIsZ0NBQW9CO0lBQTNDLDJDQUFzQjs7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a0JBQXRCLFNBQVM7bUJBQUMsTUFBTTtZQUVXLGFBQWE7a0JBQXhDLFNBQVM7bUJBQUMsZUFBZTtZQUVBLFdBQVc7a0JBQXBDLFNBQVM7bUJBQUMsYUFBYTtZQU1HLGlCQUFpQjtrQkFBM0MsWUFBWTttQkFBQyxXQUFXO1lBTVEsdUJBQXVCO2tCQUF2RCxZQUFZO21CQUFDLGlCQUFpQjtZQU1DLHNCQUFzQjtrQkFBckQsWUFBWTttQkFBQyxnQkFBZ0I7WUFNRCxtQkFBbUI7a0JBQS9DLFlBQVk7bUJBQUMsYUFBYTtZQU1DLGtCQUFrQjtrQkFBN0MsWUFBWTttQkFBQyxZQUFZO1lBTUMsaUJBQWlCO2tCQUEzQyxZQUFZO21CQUFDLFdBQVc7WUFNQSxlQUFlO2tCQUF2QyxZQUFZO21CQUFDLFNBQVM7WUFNQSxhQUFhO2tCQUFuQyxZQUFZO21CQUFDLE9BQU87WUF1T2dDLGdCQUFnQjtrQkFBcEUsWUFBWTttQkFBQyx5QkFBeUIsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7a0ZBdlkxQyxLQUFLO0FBa1psQixNQUFNLE9BQU8sV0FBVztxR0FBWCxXQUFXOzREQUFYLFdBQVc7Z0VBSFYsS0FBSyxFQUFFLFlBQVksRUFDWixZQUFZOztpRkFFcEIsV0FBVztjQUp2QixRQUFRO2VBQUM7Z0JBQ04sT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQztnQkFDOUIsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQzthQUNqQzs7d0ZBQ1ksV0FBVyxjQWxaWCxLQUFLLEVBK1lHLFlBQVksYUEvWXBCLEtBQUssRUFnWkcsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIEFuaW1hdGlvbkV2ZW50LCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIGJvb2xlYW5BdHRyaWJ1dGUsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIGluamVjdCwgSW5wdXQsIE5nTW9kdWxlLCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTYWZlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBhZGRDbGFzcywgYXBwZW5kQ2hpbGQsIGJsb2NrQm9keVNjcm9sbCwgZm9jdXMsIHVuYmxvY2tCb2R5U2Nyb2xsIH0gZnJvbSAnQHByaW1ldWl4L3V0aWxzJztcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdwcmltZW5nL2Jhc2Vjb21wb25lbnQnO1xuaW1wb3J0IHsgRm9jdXNUcmFwIH0gZnJvbSAncHJpbWVuZy9mb2N1c3RyYXAnO1xuaW1wb3J0IHsgRXllSWNvbiwgUmVmcmVzaEljb24sIFNlYXJjaE1pbnVzSWNvbiwgU2VhcmNoUGx1c0ljb24sIFRpbWVzSWNvbiwgVW5kb0ljb24gfSBmcm9tICdwcmltZW5nL2ljb25zJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAncHJpbWVuZy90cy1oZWxwZXJzJztcbmltcG9ydCB7IFpJbmRleFV0aWxzIH0gZnJvbSAncHJpbWVuZy91dGlscyc7XG5pbXBvcnQgeyBJbWFnZVN0eWxlIH0gZnJvbSAnLi9zdHlsZS9pbWFnZXN0eWxlJztcblxuLyoqXG4gKiBEaXNwbGF5cyBhbiBpbWFnZSB3aXRoIHByZXZpZXcgYW5kIHRyYW5mb3JtYXRpb24gb3B0aW9ucy4gRm9yIG11bHRpcGxlIGltYWdlLCBzZWUgR2FsbGVyaWEuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3AtaW1hZ2UnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUmVmcmVzaEljb24sIEV5ZUljb24sIFVuZG9JY29uLCBTZWFyY2hNaW51c0ljb24sIFNlYXJjaFBsdXNJY29uLCBUaW1lc0ljb24sIEZvY3VzVHJhcCwgU2hhcmVkTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJjb250YWluZXJDbGFzcygpXCIgW2NsYXNzXT1cInN0eWxlQ2xhc3NcIiBbbmdTdHlsZV09XCJzdHlsZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpbWFnZVRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgPGltZyBbYXR0ci5zcmNdPVwic3JjXCIgW2F0dHIuc3Jjc2V0XT1cInNyY1NldFwiIFthdHRyLnNpemVzXT1cInNpemVzXCIgW2F0dHIuYWx0XT1cImFsdFwiIFthdHRyLndpZHRoXT1cIndpZHRoXCIgW2F0dHIuaGVpZ2h0XT1cImhlaWdodFwiIFthdHRyLmxvYWRpbmddPVwibG9hZGluZ1wiIFtuZ1N0eWxlXT1cImltYWdlU3R5bGVcIiBbY2xhc3NdPVwiaW1hZ2VDbGFzc1wiIChlcnJvcik9XCJpbWFnZUVycm9yKCRldmVudClcIiAvPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbWFnZVRlbXBsYXRlOyBjb250ZXh0OiB7IGVycm9yQ2FsbGJhY2s6IGltYWdlRXJyb3IuYmluZCh0aGlzKSB9XCI+PC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJwcmV2aWV3XCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ6b29tSW1hZ2VBcmlhTGFiZWxcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJwLWltYWdlLXByZXZpZXctbWFza1wiIChjbGljayk9XCJvbkltYWdlQ2xpY2soKVwiICNwcmV2aWV3QnV0dG9uIFtuZ1N0eWxlXT1cInsgaGVpZ2h0OiBoZWlnaHQgKyAncHgnLCB3aWR0aDogd2lkdGggKyAncHgnIH1cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5kaWNhdG9yVGVtcGxhdGU7IGVsc2UgZGVmYXVsdFRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbmRpY2F0b3JUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8RXllSWNvbiBbc3R5bGVDbGFzc109XCIncC1pbWFnZS1wcmV2aWV3LWljb24nXCIgLz5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8ZGl2ICNtYXNrIGNsYXNzPVwicC1pbWFnZS1tYXNrIHAtb3ZlcmxheS1tYXNrIHAtb3ZlcmxheS1tYXNrLWVudGVyXCIgKm5nSWY9XCJtYXNrVmlzaWJsZVwiIFthdHRyLmFyaWEtbW9kYWxdPVwibWFza1Zpc2libGVcIiByb2xlPVwiZGlhbG9nXCIgKGNsaWNrKT1cIm9uTWFza0NsaWNrKClcIiAoa2V5ZG93bik9XCJvbk1hc2tLZXlkb3duKCRldmVudClcIiBwRm9jdXNUcmFwPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWltYWdlLXRvb2xiYXJcIiAoY2xpY2spPVwiaGFuZGxlVG9vbGJhckNsaWNrKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInAtaW1hZ2UtYWN0aW9uIHAtaW1hZ2Utcm90YXRlLXJpZ2h0LWJ1dHRvblwiIChjbGljayk9XCJyb3RhdGVSaWdodCgpXCIgdHlwZT1cImJ1dHRvblwiIFthdHRyLmFyaWEtbGFiZWxdPVwicmlnaHRBcmlhTGFiZWwoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFJlZnJlc2hJY29uICpuZ0lmPVwiIXJvdGF0ZVJpZ2h0SWNvblRlbXBsYXRlXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cInJvdGF0ZVJpZ2h0SWNvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJwLWltYWdlLWFjdGlvbiBwLWltYWdlLXJvdGF0ZS1sZWZ0LWJ1dHRvblwiIChjbGljayk9XCJyb3RhdGVMZWZ0KClcIiB0eXBlPVwiYnV0dG9uXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJsZWZ0QXJpYUxhYmVsKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxVbmRvSWNvbiAqbmdJZj1cIiFyb3RhdGVMZWZ0SWNvblRlbXBsYXRlXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cInJvdGF0ZUxlZnRJY29uVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBbbmdDbGFzc109XCJ7ICdwLWltYWdlLWFjdGlvbiBwLWltYWdlLXpvb20tb3V0LWJ1dHRvbic6IHRydWUsICdwLWRpc2FibGVkJzogaXNab29tT3V0RGlzYWJsZWQgfVwiIChjbGljayk9XCJ6b29tT3V0KClcIiB0eXBlPVwiYnV0dG9uXCIgW2Rpc2FibGVkXT1cImlzWm9vbU91dERpc2FibGVkXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ6b29tT3V0QXJpYUxhYmVsKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTZWFyY2hNaW51c0ljb24gKm5nSWY9XCIhem9vbU91dEljb25UZW1wbGF0ZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ6b29tT3V0SWNvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gW25nQ2xhc3NdPVwieyAncC1pbWFnZS1hY3Rpb24gcC1pbWFnZS16b29tLWluLWJ1dHRvbic6IHRydWUsICdwLWRpc2FibGVkJzogaXNab29tT3V0RGlzYWJsZWQgfVwiIChjbGljayk9XCJ6b29tSW4oKVwiIHR5cGU9XCJidXR0b25cIiBbZGlzYWJsZWRdPVwiaXNab29tSW5EaXNhYmxlZFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiem9vbUluQXJpYUxhYmVsKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTZWFyY2hQbHVzSWNvbiAqbmdJZj1cIiF6b29tSW5JY29uVGVtcGxhdGVcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwiem9vbUluSWNvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJwLWltYWdlLWFjdGlvbiBwLWltYWdlLWNsb3NlLWJ1dHRvblwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2xvc2VQcmV2aWV3KClcIiBbYXR0ci5hcmlhLWxhYmVsXT1cImNsb3NlQXJpYUxhYmVsKClcIiAjY2xvc2VCdXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8VGltZXNJY29uICpuZ0lmPVwiIWNsb3NlSWNvblRlbXBsYXRlXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cImNsb3NlSWNvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInByZXZpZXdWaXNpYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgW0BhbmltYXRpb25dPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICd2aXNpYmxlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczogeyBzaG93VHJhbnNpdGlvblBhcmFtczogc2hvd1RyYW5zaXRpb25PcHRpb25zLCBoaWRlVHJhbnNpdGlvblBhcmFtczogaGlkZVRyYW5zaXRpb25PcHRpb25zIH1cbiAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgIChAYW5pbWF0aW9uLnN0YXJ0KT1cIm9uQW5pbWF0aW9uU3RhcnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChAYW5pbWF0aW9uLmRvbmUpPVwib25BbmltYXRpb25FbmQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXByZXZpZXdUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbYXR0ci5zcmNdPVwicHJldmlld0ltYWdlU3JjID8gcHJldmlld0ltYWdlU3JjIDogc3JjXCIgW2F0dHIuc3Jjc2V0XT1cInByZXZpZXdJbWFnZVNyY1NldFwiIFthdHRyLnNpemVzXT1cInByZXZpZXdJbWFnZVNpemVzXCIgY2xhc3M9XCJwLWltYWdlLW9yaWdpbmFsXCIgW25nU3R5bGVdPVwiaW1hZ2VQcmV2aWV3U3R5bGUoKVwiIChjbGljayk9XCJvblByZXZpZXdJbWFnZUNsaWNrKClcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2aWV3VGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzczogJ3AtaW1hZ2Utb3JpZ2luYWwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogaW1hZ2VQcmV2aWV3U3R5bGUoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlld0NhbGxiYWNrOiBvblByZXZpZXdJbWFnZUNsaWNrLmJpbmQodGhpcylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc3Bhbj5cbiAgICBgLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignYW5pbWF0aW9uJywgW1xuICAgICAgICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiB2aXNpYmxlJywgW3N0eWxlKHsgdHJhbnNmb3JtOiAnc2NhbGUoMC43KScsIG9wYWNpdHk6IDAgfSksIGFuaW1hdGUoJ3t7c2hvd1RyYW5zaXRpb25QYXJhbXN9fScpXSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCd2aXNpYmxlID0+IHZvaWQnLCBbYW5pbWF0ZSgne3toaWRlVHJhbnNpdGlvblBhcmFtc319Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICdzY2FsZSgwLjcpJywgb3BhY2l0eTogMCB9KSldKVxuICAgICAgICBdKVxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtJbWFnZVN0eWxlXVxufSlcbmV4cG9ydCBjbGFzcyBJbWFnZSBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICAvKipcbiAgICAgKiBTdHlsZSBjbGFzcyBvZiB0aGUgaW1hZ2UgZWxlbWVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBpbWFnZUNsYXNzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogSW5saW5lIHN0eWxlIG9mIHRoZSBpbWFnZSBlbGVtZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGltYWdlU3R5bGU6IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfSB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogQ2xhc3Mgb2YgdGhlIGVsZW1lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc3R5bGVDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIElubGluZSBzdHlsZSBvZiB0aGUgZWxlbWVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzdHlsZTogeyBba2xhc3M6IHN0cmluZ106IGFueSB9IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBUaGUgc291cmNlIHBhdGggZm9yIHRoZSBtYWluIGltYWdlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNyYzogc3RyaW5nIHwgU2FmZVVybCB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBUaGUgc3Jjc2V0IGRlZmluaXRpb24gZm9yIHRoZSBtYWluIGltYWdlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNyY1NldDogc3RyaW5nIHwgU2FmZVVybCB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBUaGUgc2l6ZXMgZGVmaW5pdGlvbiBmb3IgdGhlIG1haW4gaW1hZ2UuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc2l6ZXM6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBUaGUgc291cmNlIHBhdGggZm9yIHRoZSBwcmV2aWV3IGltYWdlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHByZXZpZXdJbWFnZVNyYzogc3RyaW5nIHwgU2FmZVVybCB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBUaGUgc3Jjc2V0IGRlZmluaXRpb24gZm9yIHRoZSBwcmV2aWV3IGltYWdlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHByZXZpZXdJbWFnZVNyY1NldDogc3RyaW5nIHwgU2FmZVVybCB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBUaGUgc2l6ZXMgZGVmaW5pdGlvbiBmb3IgdGhlIHByZXZpZXcgaW1hZ2UuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgcHJldmlld0ltYWdlU2l6ZXM6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgb2YgdGhlIHByZXZpZXcgaW1hZ2UgZWxlbWVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBhbHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgb2YgdGhlIGltYWdlIGVsZW1lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgd2lkdGg6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBBdHRyaWJ1dGUgb2YgdGhlIGltYWdlIGVsZW1lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIG9mIHRoZSBpbWFnZSBlbGVtZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGxvYWRpbmc6ICdsYXp5JyB8ICdlYWdlcicgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogVGFyZ2V0IGVsZW1lbnQgdG8gYXR0YWNoIHRoZSBkaWFsb2csIHZhbGlkIHZhbHVlcyBhcmUgXCJib2R5XCIgb3IgYSBsb2NhbCBuZy10ZW1wbGF0ZSB2YXJpYWJsZSBvZiBhbm90aGVyIGVsZW1lbnQgKG5vdGU6IHVzZSBiaW5kaW5nIHdpdGggYnJhY2tldHMgZm9yIHRlbXBsYXRlIHZhcmlhYmxlcywgZS5nLiBbYXBwZW5kVG9dPVwibXlkaXZcIiBmb3IgYSBkaXYgZWxlbWVudCBoYXZpbmcgI215ZGl2IGFzIHZhcmlhYmxlIG5hbWUpLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGFwcGVuZFRvOiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWYgfCBUZW1wbGF0ZVJlZjxhbnk+IHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCB8IGFueTtcbiAgICAvKipcbiAgICAgKiBDb250cm9scyB0aGUgcHJldmlldyBmdW5jdGlvbmFsaXR5LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBwcmV2aWV3OiBib29sZWFuID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogVHJhbnNpdGlvbiBvcHRpb25zIG9mIHRoZSBzaG93IGFuaW1hdGlvblxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNob3dUcmFuc2l0aW9uT3B0aW9uczogc3RyaW5nID0gJzE1MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpJztcbiAgICAvKipcbiAgICAgKiBUcmFuc2l0aW9uIG9wdGlvbnMgb2YgdGhlIGhpZGUgYW5pbWF0aW9uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgaGlkZVRyYW5zaXRpb25PcHRpb25zOiBzdHJpbmcgPSAnMTUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSknO1xuICAgIC8qKlxuICAgICAqIFRyaWdnZXJlZCB3aGVuIHRoZSBwcmV2aWV3IG92ZXJsYXkgaXMgc2hvd24uXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uU2hvdzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICAvKipcbiAgICAgKiBUcmlnZ2VyZWQgd2hlbiB0aGUgcHJldmlldyBvdmVybGF5IGlzIGhpZGRlbi5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25IaWRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIC8qKlxuICAgICAqIFRoaXMgZXZlbnQgaXMgdHJpZ2dlcmVkIGlmIGFuIGVycm9yIG9jY3VycyB3aGlsZSBsb2FkaW5nIGFuIGltYWdlIGZpbGUuXG4gICAgICogQHBhcmFtIHtFdmVudH0gZXZlbnQgLSBCcm93c2VyIGV2ZW50LlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbkltYWdlRXJyb3I6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gICAgQFZpZXdDaGlsZCgnbWFzaycpIG1hc2s6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgICBAVmlld0NoaWxkKCdwcmV2aWV3QnV0dG9uJykgcHJldmlld0J1dHRvbjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICAgIEBWaWV3Q2hpbGQoJ2Nsb3NlQnV0dG9uJykgY2xvc2VCdXR0b246IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gdGVtcGxhdGUgb2YgaW5kaWNhdG9yLlxuICAgICAqIEBncm91cCBUZW1wbGF0ZXNcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdpbmRpY2F0b3InKSBpbmRpY2F0b3JUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSB0ZW1wbGF0ZSBvZiByb3RhdGVyaWdodGljb24uXG4gICAgICogQGdyb3VwIFRlbXBsYXRlc1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ3JvdGF0ZXJpZ2h0aWNvbicpIHJvdGF0ZVJpZ2h0SWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIHRlbXBsYXRlIG9mIHJvdGF0ZWxlZnRpY29uLlxuICAgICAqIEBncm91cCBUZW1wbGF0ZXNcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdyb3RhdGVsZWZ0aWNvbicpIHJvdGF0ZUxlZnRJY29uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gdGVtcGxhdGUgb2Ygem9vbW91dGljb24uXG4gICAgICogQGdyb3VwIFRlbXBsYXRlc1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ3pvb21vdXRpY29uJykgem9vbU91dEljb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSB0ZW1wbGF0ZSBvZiB6b29taW5pY29uLlxuICAgICAqIEBncm91cCBUZW1wbGF0ZXNcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCd6b29taW5pY29uJykgem9vbUluSWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIHRlbXBsYXRlIG9mIGNsb3NlaWNvbi5cbiAgICAgKiBAZ3JvdXAgVGVtcGxhdGVzXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnY2xvc2VpY29uJykgY2xvc2VJY29uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gdGVtcGxhdGUgb2YgcHJldmlldy5cbiAgICAgKiBAZ3JvdXAgVGVtcGxhdGVzXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgncHJldmlldycpIHByZXZpZXdUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSB0ZW1wbGF0ZSBvZiBpbWFnZS5cbiAgICAgKiBAZ3JvdXAgVGVtcGxhdGVzXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnaW1hZ2UnKSBpbWFnZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgbWFza1Zpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByZXZpZXdWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICByb3RhdGU6IG51bWJlciA9IDA7XG5cbiAgICBzY2FsZTogbnVtYmVyID0gMTtcblxuICAgIHByZXZpZXdDbGljazogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29udGFpbmVyOiBOdWxsYWJsZTxIVE1MRWxlbWVudD47XG5cbiAgICB3cmFwcGVyOiBOdWxsYWJsZTxIVE1MRWxlbWVudD47XG5cbiAgICBfY29tcG9uZW50U3R5bGUgPSBpbmplY3QoSW1hZ2VTdHlsZSk7XG5cbiAgICBwdWJsaWMgZ2V0IGlzWm9vbU91dERpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zY2FsZSAtIHRoaXMuem9vbVNldHRpbmdzLnN0ZXAgPD0gdGhpcy56b29tU2V0dGluZ3MubWluO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNab29tSW5EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2NhbGUgKyB0aGlzLnpvb21TZXR0aW5ncy5zdGVwID49IHRoaXMuem9vbVNldHRpbmdzLm1heDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHpvb21TZXR0aW5ncyA9IHtcbiAgICAgICAgZGVmYXVsdDogMSxcbiAgICAgICAgc3RlcDogMC4xLFxuICAgICAgICBtYXg6IDEuNSxcbiAgICAgICAgbWluOiAwLjVcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLnRlbXBsYXRlcz8uZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgc3dpdGNoIChpdGVtLmdldFR5cGUoKSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2luZGljYXRvcic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5kaWNhdG9yVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ2ltYWdlJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbWFnZVRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdwcmV2aWV3JzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcmV2aWV3VGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ3JvdGF0ZXJpZ2h0aWNvbic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm90YXRlUmlnaHRJY29uVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ3JvdGF0ZWxlZnRpY29uJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3RhdGVMZWZ0SWNvblRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICd6b29tb3V0aWNvbic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuem9vbU91dEljb25UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnem9vbWluaWNvbic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuem9vbUluSWNvblRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdjbG9zZWljb24nOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlSWNvblRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmluZGljYXRvclRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uSW1hZ2VDbGljaygpIHtcbiAgICAgICAgaWYgKHRoaXMucHJldmlldykge1xuICAgICAgICAgICAgdGhpcy5tYXNrVmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnByZXZpZXdWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgIGJsb2NrQm9keVNjcm9sbCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25NYXNrQ2xpY2soKSB7XG4gICAgICAgIGlmICghdGhpcy5wcmV2aWV3Q2xpY2spIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VQcmV2aWV3KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByZXZpZXdDbGljayA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uTWFza0tleWRvd24oZXZlbnQpIHtcbiAgICAgICAgc3dpdGNoIChldmVudC5jb2RlKSB7XG4gICAgICAgICAgICBjYXNlICdFc2NhcGUnOlxuICAgICAgICAgICAgICAgIHRoaXMub25NYXNrQ2xpY2soKTtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZm9jdXModGhpcy5wcmV2aWV3QnV0dG9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIH0sIDI1KTtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblByZXZpZXdJbWFnZUNsaWNrKCkge1xuICAgICAgICB0aGlzLnByZXZpZXdDbGljayA9IHRydWU7XG4gICAgfVxuXG4gICAgcm90YXRlUmlnaHQoKSB7XG4gICAgICAgIHRoaXMucm90YXRlICs9IDkwO1xuICAgICAgICB0aGlzLnByZXZpZXdDbGljayA9IHRydWU7XG4gICAgfVxuXG4gICAgcm90YXRlTGVmdCgpIHtcbiAgICAgICAgdGhpcy5yb3RhdGUgLT0gOTA7XG4gICAgICAgIHRoaXMucHJldmlld0NsaWNrID0gdHJ1ZTtcbiAgICB9XG5cbiAgICB6b29tSW4oKSB7XG4gICAgICAgIHRoaXMuc2NhbGUgPSB0aGlzLnNjYWxlICsgdGhpcy56b29tU2V0dGluZ3Muc3RlcDtcbiAgICAgICAgdGhpcy5wcmV2aWV3Q2xpY2sgPSB0cnVlO1xuICAgIH1cblxuICAgIHpvb21PdXQoKSB7XG4gICAgICAgIHRoaXMuc2NhbGUgPSB0aGlzLnNjYWxlIC0gdGhpcy56b29tU2V0dGluZ3Muc3RlcDtcbiAgICAgICAgdGhpcy5wcmV2aWV3Q2xpY2sgPSB0cnVlO1xuICAgIH1cblxuICAgIG9uQW5pbWF0aW9uU3RhcnQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQudG9TdGF0ZSkge1xuICAgICAgICAgICAgY2FzZSAndmlzaWJsZSc6XG4gICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXIgPSBldmVudC5lbGVtZW50O1xuICAgICAgICAgICAgICAgIHRoaXMud3JhcHBlciA9IHRoaXMuY29udGFpbmVyPy5wYXJlbnRFbGVtZW50O1xuICAgICAgICAgICAgICAgIHRoaXMuYXBwZW5kQ29udGFpbmVyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5tb3ZlT25Ub3AoKTtcblxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBmb2N1cyh0aGlzLmNsb3NlQnV0dG9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIH0sIDI1KTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAndm9pZCc6XG4gICAgICAgICAgICAgICAgYWRkQ2xhc3ModGhpcy53cmFwcGVyLCAncC1vdmVybGF5LW1hc2stbGVhdmUnKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LnRvU3RhdGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3ZvaWQnOlxuICAgICAgICAgICAgICAgIFpJbmRleFV0aWxzLmNsZWFyKHRoaXMud3JhcHBlcik7XG4gICAgICAgICAgICAgICAgdGhpcy5tYXNrVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyID0gbnVsbDtcbiAgICAgICAgICAgICAgICB0aGlzLndyYXBwZXIgPSBudWxsO1xuICAgICAgICAgICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkhpZGUuZW1pdCh7fSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICd2aXNpYmxlJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uU2hvdy5lbWl0KHt9KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG1vdmVPblRvcCgpIHtcbiAgICAgICAgWkluZGV4VXRpbHMuc2V0KCdtb2RhbCcsIHRoaXMud3JhcHBlciwgdGhpcy5jb25maWcuekluZGV4Lm1vZGFsKTtcbiAgICB9XG5cbiAgICBhcHBlbmRDb250YWluZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmFwcGVuZFRvKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5hcHBlbmRUbyA9PT0gJ2JvZHknKSB0aGlzLmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy53cmFwcGVyIGFzIEhUTUxFbGVtZW50KTtcbiAgICAgICAgICAgIGVsc2UgYXBwZW5kQ2hpbGQodGhpcy53cmFwcGVyLCB0aGlzLmFwcGVuZFRvKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltYWdlUHJldmlld1N0eWxlKCkge1xuICAgICAgICByZXR1cm4geyB0cmFuc2Zvcm06ICdyb3RhdGUoJyArIHRoaXMucm90YXRlICsgJ2RlZykgc2NhbGUoJyArIHRoaXMuc2NhbGUgKyAnKScgfTtcbiAgICB9XG5cbiAgICBnZXQgem9vbUltYWdlQXJpYUxhYmVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcudHJhbnNsYXRpb24uYXJpYSA/IHRoaXMuY29uZmlnLnRyYW5zbGF0aW9uLmFyaWEuem9vbUltYWdlIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnRhaW5lckNsYXNzKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgJ3AtaW1hZ2UgcC1jb21wb25lbnQnOiB0cnVlLFxuICAgICAgICAgICAgJ3AtaW1hZ2UtcHJldmlldyc6IHRoaXMucHJldmlld1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGhhbmRsZVRvb2xiYXJDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBjbG9zZVByZXZpZXcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJldmlld1Zpc2libGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yb3RhdGUgPSAwO1xuICAgICAgICB0aGlzLnNjYWxlID0gdGhpcy56b29tU2V0dGluZ3MuZGVmYXVsdDtcbiAgICAgICAgdW5ibG9ja0JvZHlTY3JvbGwoKTtcbiAgICB9XG5cbiAgICBpbWFnZUVycm9yKGV2ZW50OiBFdmVudCkge1xuICAgICAgICB0aGlzLm9uSW1hZ2VFcnJvci5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICByaWdodEFyaWFMYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLnRyYW5zbGF0aW9uLmFyaWEgPyB0aGlzLmNvbmZpZy50cmFuc2xhdGlvbi5hcmlhLnJvdGF0ZVJpZ2h0IDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGxlZnRBcmlhTGFiZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy50cmFuc2xhdGlvbi5hcmlhID8gdGhpcy5jb25maWcudHJhbnNsYXRpb24uYXJpYS5yb3RhdGVMZWZ0IDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHpvb21JbkFyaWFMYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLnRyYW5zbGF0aW9uLmFyaWEgPyB0aGlzLmNvbmZpZy50cmFuc2xhdGlvbi5hcmlhLnpvb21JbiA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICB6b29tT3V0QXJpYUxhYmVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcudHJhbnNsYXRpb24uYXJpYSA/IHRoaXMuY29uZmlnLnRyYW5zbGF0aW9uLmFyaWEuem9vbU91dCA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjbG9zZUFyaWFMYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLnRyYW5zbGF0aW9uLmFyaWEgPyB0aGlzLmNvbmZpZy50cmFuc2xhdGlvbi5hcmlhLmNsb3NlIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjYXBlJywgWyckZXZlbnQnXSkgb25LZXlkb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5wcmV2aWV3VmlzaWJsZSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZVByZXZpZXcoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbSW1hZ2UsIFNoYXJlZE1vZHVsZV0sXG4gICAgZXhwb3J0czogW0ltYWdlLCBTaGFyZWRNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlTW9kdWxlIHt9XG4iXX0=
747
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW1hZ2UvaW1hZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBa0IsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFvQixnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFlLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6TyxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFZcEMsNkJBQXFDO0lBQ2pDLDhCQUFtTztJQUEvQiw2S0FBUyx5QkFBa0IsS0FBQztJQUFoTyxpQkFBbU87Ozs7SUFBcEQsY0FBb0I7SUFBcEIsZ0NBQW9CO0lBQTNDLDJDQUFzQjs7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a0JBQWYsTUFBTTtZQUtHLE1BQU07a0JBQWYsTUFBTTtZQU1HLFlBQVk7a0JBQXJCLE1BQU07WUFFWSxJQUFJO2tCQUF0QixTQUFTO21CQUFDLE1BQU07WUFFVyxhQUFhO2tCQUF4QyxTQUFTO21CQUFDLGVBQWU7WUFFQSxXQUFXO2tCQUFwQyxTQUFTO21CQUFDLGFBQWE7WUFNRyxpQkFBaUI7a0JBQTNDLFlBQVk7bUJBQUMsV0FBVztZQU1RLGVBQWU7a0JBQS9DLFlBQVk7bUJBQUMsaUJBQWlCO1lBTUMsY0FBYztrQkFBN0MsWUFBWTttQkFBQyxnQkFBZ0I7WUFNRCxXQUFXO2tCQUF2QyxZQUFZO21CQUFDLGFBQWE7WUFNQyxVQUFVO2tCQUFyQyxZQUFZO21CQUFDLFlBQVk7WUFNQyxTQUFTO2tCQUFuQyxZQUFZO21CQUFDLFdBQVc7WUFNQSxlQUFlO2tCQUF2QyxZQUFZO21CQUFDLFNBQVM7WUFNQSxhQUFhO2tCQUFuQyxZQUFZO21CQUFDLE9BQU87WUE2TGdDLGdCQUFnQjtrQkFBcEUsWUFBWTttQkFBQyx5QkFBeUIsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7a0ZBN1YxQyxLQUFLO0FBd1dsQixNQUFNLE9BQU8sV0FBVztxR0FBWCxXQUFXOzREQUFYLFdBQVc7Z0VBSFYsS0FBSyxFQUFFLFlBQVksRUFDWixZQUFZOztpRkFFcEIsV0FBVztjQUp2QixRQUFRO2VBQUM7Z0JBQ04sT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQztnQkFDOUIsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQzthQUNqQzs7d0ZBQ1ksV0FBVyxjQXhXWCxLQUFLLEVBcVdHLFlBQVksYUFyV3BCLEtBQUssRUFzV0csWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIEFuaW1hdGlvbkV2ZW50LCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIGJvb2xlYW5BdHRyaWJ1dGUsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIGluamVjdCwgSW5wdXQsIE5nTW9kdWxlLCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTYWZlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBhZGRDbGFzcywgYXBwZW5kQ2hpbGQsIGJsb2NrQm9keVNjcm9sbCwgZm9jdXMsIHVuYmxvY2tCb2R5U2Nyb2xsIH0gZnJvbSAnQHByaW1ldWl4L3V0aWxzJztcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdwcmltZW5nL2Jhc2Vjb21wb25lbnQnO1xuaW1wb3J0IHsgRm9jdXNUcmFwIH0gZnJvbSAncHJpbWVuZy9mb2N1c3RyYXAnO1xuaW1wb3J0IHsgRXllSWNvbiwgUmVmcmVzaEljb24sIFNlYXJjaE1pbnVzSWNvbiwgU2VhcmNoUGx1c0ljb24sIFRpbWVzSWNvbiwgVW5kb0ljb24gfSBmcm9tICdwcmltZW5nL2ljb25zJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAncHJpbWVuZy90cy1oZWxwZXJzJztcbmltcG9ydCB7IFpJbmRleFV0aWxzIH0gZnJvbSAncHJpbWVuZy91dGlscyc7XG5pbXBvcnQgeyBJbWFnZVN0eWxlIH0gZnJvbSAnLi9zdHlsZS9pbWFnZXN0eWxlJztcblxuLyoqXG4gKiBEaXNwbGF5cyBhbiBpbWFnZSB3aXRoIHByZXZpZXcgYW5kIHRyYW5mb3JtYXRpb24gb3B0aW9ucy4gRm9yIG11bHRpcGxlIGltYWdlLCBzZWUgR2FsbGVyaWEuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3AtaW1hZ2UnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUmVmcmVzaEljb24sIEV5ZUljb24sIFVuZG9JY29uLCBTZWFyY2hNaW51c0ljb24sIFNlYXJjaFBsdXNJY29uLCBUaW1lc0ljb24sIEZvY3VzVHJhcCwgU2hhcmVkTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJjb250YWluZXJDbGFzcygpXCIgW2NsYXNzXT1cInN0eWxlQ2xhc3NcIiBbbmdTdHlsZV09XCJzdHlsZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpbWFnZVRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgPGltZyBbYXR0ci5zcmNdPVwic3JjXCIgW2F0dHIuc3Jjc2V0XT1cInNyY1NldFwiIFthdHRyLnNpemVzXT1cInNpemVzXCIgW2F0dHIuYWx0XT1cImFsdFwiIFthdHRyLndpZHRoXT1cIndpZHRoXCIgW2F0dHIuaGVpZ2h0XT1cImhlaWdodFwiIFthdHRyLmxvYWRpbmddPVwibG9hZGluZ1wiIFtuZ1N0eWxlXT1cImltYWdlU3R5bGVcIiBbY2xhc3NdPVwiaW1hZ2VDbGFzc1wiIChlcnJvcik9XCJpbWFnZUVycm9yKCRldmVudClcIiAvPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbWFnZVRlbXBsYXRlOyBjb250ZXh0OiB7IGVycm9yQ2FsbGJhY2s6IGltYWdlRXJyb3IuYmluZCh0aGlzKSB9XCI+PC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJwcmV2aWV3XCIgW2F0dHIuYXJpYS1sYWJlbF09XCJ6b29tSW1hZ2VBcmlhTGFiZWxcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJwLWltYWdlLXByZXZpZXctbWFza1wiIChjbGljayk9XCJvbkltYWdlQ2xpY2soKVwiICNwcmV2aWV3QnV0dG9uIFtuZ1N0eWxlXT1cInsgaGVpZ2h0OiBoZWlnaHQgKyAncHgnLCB3aWR0aDogd2lkdGggKyAncHgnIH1cIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5kaWNhdG9yVGVtcGxhdGU7IGVsc2UgZGVmYXVsdFRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpbmRpY2F0b3JUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8RXllSWNvbiBbc3R5bGVDbGFzc109XCIncC1pbWFnZS1wcmV2aWV3LWljb24nXCIgLz5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8ZGl2ICNtYXNrIGNsYXNzPVwicC1pbWFnZS1tYXNrIHAtb3ZlcmxheS1tYXNrIHAtb3ZlcmxheS1tYXNrLWVudGVyXCIgKm5nSWY9XCJtYXNrVmlzaWJsZVwiIFthdHRyLmFyaWEtbW9kYWxdPVwibWFza1Zpc2libGVcIiByb2xlPVwiZGlhbG9nXCIgKGNsaWNrKT1cIm9uTWFza0NsaWNrKClcIiAoa2V5ZG93bik9XCJvbk1hc2tLZXlkb3duKCRldmVudClcIiBwRm9jdXNUcmFwPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWltYWdlLXRvb2xiYXJcIiAoY2xpY2spPVwiaGFuZGxlVG9vbGJhckNsaWNrKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInAtaW1hZ2UtYWN0aW9uIHAtaW1hZ2Utcm90YXRlLXJpZ2h0LWJ1dHRvblwiIChjbGljayk9XCJyb3RhdGVSaWdodCgpXCIgdHlwZT1cImJ1dHRvblwiIFthdHRyLmFyaWEtbGFiZWxdPVwicmlnaHRBcmlhTGFiZWwoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFJlZnJlc2hJY29uICpuZ0lmPVwiIXJvdGF0ZXJpZ2h0aWNvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyb3RhdGVyaWdodGljb25cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInAtaW1hZ2UtYWN0aW9uIHAtaW1hZ2Utcm90YXRlLWxlZnQtYnV0dG9uXCIgKGNsaWNrKT1cInJvdGF0ZUxlZnQoKVwiIHR5cGU9XCJidXR0b25cIiBbYXR0ci5hcmlhLWxhYmVsXT1cImxlZnRBcmlhTGFiZWwoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFVuZG9JY29uICpuZ0lmPVwiIXJvdGF0ZWxlZnRpY29uXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cInJvdGF0ZWxlZnRpY29uXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gW25nQ2xhc3NdPVwieyAncC1pbWFnZS1hY3Rpb24gcC1pbWFnZS16b29tLW91dC1idXR0b24nOiB0cnVlLCAncC1kaXNhYmxlZCc6IGlzWm9vbU91dERpc2FibGVkIH1cIiAoY2xpY2spPVwiem9vbU91dCgpXCIgdHlwZT1cImJ1dHRvblwiIFtkaXNhYmxlZF09XCJpc1pvb21PdXREaXNhYmxlZFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiem9vbU91dEFyaWFMYWJlbCgpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U2VhcmNoTWludXNJY29uICpuZ0lmPVwiIXpvb21vdXRpY29uXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cInpvb21vdXRpY29uXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gW25nQ2xhc3NdPVwieyAncC1pbWFnZS1hY3Rpb24gcC1pbWFnZS16b29tLWluLWJ1dHRvbic6IHRydWUsICdwLWRpc2FibGVkJzogaXNab29tT3V0RGlzYWJsZWQgfVwiIChjbGljayk9XCJ6b29tSW4oKVwiIHR5cGU9XCJidXR0b25cIiBbZGlzYWJsZWRdPVwiaXNab29tSW5EaXNhYmxlZFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiem9vbUluQXJpYUxhYmVsKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTZWFyY2hQbHVzSWNvbiAqbmdJZj1cIiF6b29taW5pY29uXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cInpvb21pbmljb25cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInAtaW1hZ2UtYWN0aW9uIHAtaW1hZ2UtY2xvc2UtYnV0dG9uXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjbG9zZVByZXZpZXcoKVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiY2xvc2VBcmlhTGFiZWwoKVwiICNjbG9zZUJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxUaW1lc0ljb24gKm5nSWY9XCIhY2xvc2VpY29uXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cImNsb3NlaWNvblwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwcmV2aWV3VmlzaWJsZVwiXG4gICAgICAgICAgICAgICAgICAgIFtAYW5pbWF0aW9uXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAndmlzaWJsZScsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsgc2hvd1RyYW5zaXRpb25QYXJhbXM6IHNob3dUcmFuc2l0aW9uT3B0aW9ucywgaGlkZVRyYW5zaXRpb25QYXJhbXM6IGhpZGVUcmFuc2l0aW9uT3B0aW9ucyB9XG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAoQGFuaW1hdGlvbi5zdGFydCk9XCJvbkFuaW1hdGlvblN0YXJ0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAoQGFuaW1hdGlvbi5kb25lKT1cIm9uQW5pbWF0aW9uRW5kKCRldmVudClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFwcmV2aWV3VGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW2F0dHIuc3JjXT1cInByZXZpZXdJbWFnZVNyYyA/IHByZXZpZXdJbWFnZVNyYyA6IHNyY1wiIFthdHRyLnNyY3NldF09XCJwcmV2aWV3SW1hZ2VTcmNTZXRcIiBbYXR0ci5zaXplc109XCJwcmV2aWV3SW1hZ2VTaXplc1wiIGNsYXNzPVwicC1pbWFnZS1vcmlnaW5hbFwiIFtuZ1N0eWxlXT1cImltYWdlUHJldmlld1N0eWxlKClcIiAoY2xpY2spPVwib25QcmV2aWV3SW1hZ2VDbGljaygpXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlld1RlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M6ICdwLWltYWdlLW9yaWdpbmFsJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IGltYWdlUHJldmlld1N0eWxlKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpZXdDYWxsYmFjazogb25QcmV2aWV3SW1hZ2VDbGljay5iaW5kKHRoaXMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NwYW4+XG4gICAgYCxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ2FuaW1hdGlvbicsIFtcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gdmlzaWJsZScsIFtzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDAuNyknLCBvcGFjaXR5OiAwIH0pLCBhbmltYXRlKCd7e3Nob3dUcmFuc2l0aW9uUGFyYW1zfX0nKV0pLFxuICAgICAgICAgICAgdHJhbnNpdGlvbigndmlzaWJsZSA9PiB2b2lkJywgW2FuaW1hdGUoJ3t7aGlkZVRyYW5zaXRpb25QYXJhbXN9fScsIHN0eWxlKHsgdHJhbnNmb3JtOiAnc2NhbGUoMC43KScsIG9wYWNpdHk6IDAgfSkpXSlcbiAgICAgICAgXSlcbiAgICBdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbSW1hZ2VTdHlsZV1cbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2UgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgLyoqXG4gICAgICogU3R5bGUgY2xhc3Mgb2YgdGhlIGltYWdlIGVsZW1lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgaW1hZ2VDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIElubGluZSBzdHlsZSBvZiB0aGUgaW1hZ2UgZWxlbWVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBpbWFnZVN0eWxlOiB7IFtrbGFzczogc3RyaW5nXTogYW55IH0gfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIENsYXNzIG9mIHRoZSBlbGVtZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBJbmxpbmUgc3R5bGUgb2YgdGhlIGVsZW1lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc3R5bGU6IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfSB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogVGhlIHNvdXJjZSBwYXRoIGZvciB0aGUgbWFpbiBpbWFnZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzcmM6IHN0cmluZyB8IFNhZmVVcmwgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogVGhlIHNyY3NldCBkZWZpbml0aW9uIGZvciB0aGUgbWFpbiBpbWFnZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzcmNTZXQ6IHN0cmluZyB8IFNhZmVVcmwgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogVGhlIHNpemVzIGRlZmluaXRpb24gZm9yIHRoZSBtYWluIGltYWdlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNpemVzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogVGhlIHNvdXJjZSBwYXRoIGZvciB0aGUgcHJldmlldyBpbWFnZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwcmV2aWV3SW1hZ2VTcmM6IHN0cmluZyB8IFNhZmVVcmwgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogVGhlIHNyY3NldCBkZWZpbml0aW9uIGZvciB0aGUgcHJldmlldyBpbWFnZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwcmV2aWV3SW1hZ2VTcmNTZXQ6IHN0cmluZyB8IFNhZmVVcmwgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogVGhlIHNpemVzIGRlZmluaXRpb24gZm9yIHRoZSBwcmV2aWV3IGltYWdlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHByZXZpZXdJbWFnZVNpemVzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIG9mIHRoZSBwcmV2aWV3IGltYWdlIGVsZW1lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgYWx0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIG9mIHRoZSBpbWFnZSBlbGVtZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogQXR0cmlidXRlIG9mIHRoZSBpbWFnZSBlbGVtZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIEF0dHJpYnV0ZSBvZiB0aGUgaW1hZ2UgZWxlbWVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBsb2FkaW5nOiAnbGF6eScgfCAnZWFnZXInIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFRhcmdldCBlbGVtZW50IHRvIGF0dGFjaCB0aGUgZGlhbG9nLCB2YWxpZCB2YWx1ZXMgYXJlIFwiYm9keVwiIG9yIGEgbG9jYWwgbmctdGVtcGxhdGUgdmFyaWFibGUgb2YgYW5vdGhlciBlbGVtZW50IChub3RlOiB1c2UgYmluZGluZyB3aXRoIGJyYWNrZXRzIGZvciB0ZW1wbGF0ZSB2YXJpYWJsZXMsIGUuZy4gW2FwcGVuZFRvXT1cIm15ZGl2XCIgZm9yIGEgZGl2IGVsZW1lbnQgaGF2aW5nICNteWRpdiBhcyB2YXJpYWJsZSBuYW1lKS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBhcHBlbmRUbzogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmIHwgVGVtcGxhdGVSZWY8YW55PiB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQgfCBhbnk7XG4gICAgLyoqXG4gICAgICogQ29udHJvbHMgdGhlIHByZXZpZXcgZnVuY3Rpb25hbGl0eS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcHJldmlldzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIFRyYW5zaXRpb24gb3B0aW9ucyBvZiB0aGUgc2hvdyBhbmltYXRpb25cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzaG93VHJhbnNpdGlvbk9wdGlvbnM6IHN0cmluZyA9ICcxNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSc7XG4gICAgLyoqXG4gICAgICogVHJhbnNpdGlvbiBvcHRpb25zIG9mIHRoZSBoaWRlIGFuaW1hdGlvblxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGhpZGVUcmFuc2l0aW9uT3B0aW9uczogc3RyaW5nID0gJzE1MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpJztcbiAgICAvKipcbiAgICAgKiBUcmlnZ2VyZWQgd2hlbiB0aGUgcHJldmlldyBvdmVybGF5IGlzIHNob3duLlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvblNob3c6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgLyoqXG4gICAgICogVHJpZ2dlcmVkIHdoZW4gdGhlIHByZXZpZXcgb3ZlcmxheSBpcyBoaWRkZW4uXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uSGlkZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICAvKipcbiAgICAgKiBUaGlzIGV2ZW50IGlzIHRyaWdnZXJlZCBpZiBhbiBlcnJvciBvY2N1cnMgd2hpbGUgbG9hZGluZyBhbiBpbWFnZSBmaWxlLlxuICAgICAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IC0gQnJvd3NlciBldmVudC5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25JbWFnZUVycm9yOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ21hc2snKSBtYXNrOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gICAgQFZpZXdDaGlsZCgncHJldmlld0J1dHRvbicpIHByZXZpZXdCdXR0b246IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgICBAVmlld0NoaWxkKCdjbG9zZUJ1dHRvbicpIGNsb3NlQnV0dG9uOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIHRlbXBsYXRlIG9mIGluZGljYXRvci5cbiAgICAgKiBAZ3JvdXAgVGVtcGxhdGVzXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnaW5kaWNhdG9yJykgaW5kaWNhdG9yVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gdGVtcGxhdGUgb2Ygcm90YXRlcmlnaHRpY29uLlxuICAgICAqIEBncm91cCBUZW1wbGF0ZXNcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdyb3RhdGVyaWdodGljb24nKSByb3RhdGVyaWdodGljb246IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gdGVtcGxhdGUgb2Ygcm90YXRlbGVmdGljb24uXG4gICAgICogQGdyb3VwIFRlbXBsYXRlc1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ3JvdGF0ZWxlZnRpY29uJykgcm90YXRlbGVmdGljb246IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gdGVtcGxhdGUgb2Ygem9vbW91dGljb24uXG4gICAgICogQGdyb3VwIFRlbXBsYXRlc1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ3pvb21vdXRpY29uJykgem9vbW91dGljb246IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gdGVtcGxhdGUgb2Ygem9vbWluaWNvbi5cbiAgICAgKiBAZ3JvdXAgVGVtcGxhdGVzXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnem9vbWluaWNvbicpIHpvb21pbmljb246IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gdGVtcGxhdGUgb2YgY2xvc2VpY29uLlxuICAgICAqIEBncm91cCBUZW1wbGF0ZXNcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdjbG9zZWljb24nKSBjbG9zZWljb246IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b20gdGVtcGxhdGUgb2YgcHJldmlldy5cbiAgICAgKiBAZ3JvdXAgVGVtcGxhdGVzXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgncHJldmlldycpIHByZXZpZXdUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSB0ZW1wbGF0ZSBvZiBpbWFnZS5cbiAgICAgKiBAZ3JvdXAgVGVtcGxhdGVzXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnaW1hZ2UnKSBpbWFnZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgbWFza1Zpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByZXZpZXdWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICByb3RhdGU6IG51bWJlciA9IDA7XG5cbiAgICBzY2FsZTogbnVtYmVyID0gMTtcblxuICAgIHByZXZpZXdDbGljazogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29udGFpbmVyOiBOdWxsYWJsZTxIVE1MRWxlbWVudD47XG5cbiAgICB3cmFwcGVyOiBOdWxsYWJsZTxIVE1MRWxlbWVudD47XG5cbiAgICBfY29tcG9uZW50U3R5bGUgPSBpbmplY3QoSW1hZ2VTdHlsZSk7XG5cbiAgICBwdWJsaWMgZ2V0IGlzWm9vbU91dERpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zY2FsZSAtIHRoaXMuem9vbVNldHRpbmdzLnN0ZXAgPD0gdGhpcy56b29tU2V0dGluZ3MubWluO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNab29tSW5EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2NhbGUgKyB0aGlzLnpvb21TZXR0aW5ncy5zdGVwID49IHRoaXMuem9vbVNldHRpbmdzLm1heDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHpvb21TZXR0aW5ncyA9IHtcbiAgICAgICAgZGVmYXVsdDogMSxcbiAgICAgICAgc3RlcDogMC4xLFxuICAgICAgICBtYXg6IDEuNSxcbiAgICAgICAgbWluOiAwLjVcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgb25JbWFnZUNsaWNrKCkge1xuICAgICAgICBpZiAodGhpcy5wcmV2aWV3KSB7XG4gICAgICAgICAgICB0aGlzLm1hc2tWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMucHJldmlld1Zpc2libGUgPSB0cnVlO1xuICAgICAgICAgICAgYmxvY2tCb2R5U2Nyb2xsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk1hc2tDbGljaygpIHtcbiAgICAgICAgaWYgKCF0aGlzLnByZXZpZXdDbGljaykge1xuICAgICAgICAgICAgdGhpcy5jbG9zZVByZXZpZXcoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJldmlld0NsaWNrID0gZmFsc2U7XG4gICAgfVxuXG4gICAgb25NYXNrS2V5ZG93bihldmVudCkge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LmNvZGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ0VzY2FwZSc6XG4gICAgICAgICAgICAgICAgdGhpcy5vbk1hc2tDbGljaygpO1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBmb2N1cyh0aGlzLnByZXZpZXdCdXR0b24ubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgfSwgMjUpO1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUHJldmlld0ltYWdlQ2xpY2soKSB7XG4gICAgICAgIHRoaXMucHJldmlld0NsaWNrID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByb3RhdGVSaWdodCgpIHtcbiAgICAgICAgdGhpcy5yb3RhdGUgKz0gOTA7XG4gICAgICAgIHRoaXMucHJldmlld0NsaWNrID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByb3RhdGVMZWZ0KCkge1xuICAgICAgICB0aGlzLnJvdGF0ZSAtPSA5MDtcbiAgICAgICAgdGhpcy5wcmV2aWV3Q2xpY2sgPSB0cnVlO1xuICAgIH1cblxuICAgIHpvb21JbigpIHtcbiAgICAgICAgdGhpcy5zY2FsZSA9IHRoaXMuc2NhbGUgKyB0aGlzLnpvb21TZXR0aW5ncy5zdGVwO1xuICAgICAgICB0aGlzLnByZXZpZXdDbGljayA9IHRydWU7XG4gICAgfVxuXG4gICAgem9vbU91dCgpIHtcbiAgICAgICAgdGhpcy5zY2FsZSA9IHRoaXMuc2NhbGUgLSB0aGlzLnpvb21TZXR0aW5ncy5zdGVwO1xuICAgICAgICB0aGlzLnByZXZpZXdDbGljayA9IHRydWU7XG4gICAgfVxuXG4gICAgb25BbmltYXRpb25TdGFydChldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICAgICAgc3dpdGNoIChldmVudC50b1N0YXRlKSB7XG4gICAgICAgICAgICBjYXNlICd2aXNpYmxlJzpcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRhaW5lciA9IGV2ZW50LmVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgdGhpcy53cmFwcGVyID0gdGhpcy5jb250YWluZXI/LnBhcmVudEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgdGhpcy5hcHBlbmRDb250YWluZXIoKTtcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmVPblRvcCgpO1xuXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGZvY3VzKHRoaXMuY2xvc2VCdXR0b24ubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgfSwgMjUpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlICd2b2lkJzpcbiAgICAgICAgICAgICAgICBhZGRDbGFzcyh0aGlzLndyYXBwZXIsICdwLW92ZXJsYXktbWFzay1sZWF2ZScpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQudG9TdGF0ZSkge1xuICAgICAgICAgICAgY2FzZSAndm9pZCc6XG4gICAgICAgICAgICAgICAgWkluZGV4VXRpbHMuY2xlYXIodGhpcy53cmFwcGVyKTtcbiAgICAgICAgICAgICAgICB0aGlzLm1hc2tWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXIgPSBudWxsO1xuICAgICAgICAgICAgICAgIHRoaXMud3JhcHBlciA9IG51bGw7XG4gICAgICAgICAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uSGlkZS5lbWl0KHt9KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3Zpc2libGUnOlxuICAgICAgICAgICAgICAgIHRoaXMub25TaG93LmVtaXQoe30pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbW92ZU9uVG9wKCkge1xuICAgICAgICBaSW5kZXhVdGlscy5zZXQoJ21vZGFsJywgdGhpcy53cmFwcGVyLCB0aGlzLmNvbmZpZy56SW5kZXgubW9kYWwpO1xuICAgIH1cblxuICAgIGFwcGVuZENvbnRhaW5lcigpIHtcbiAgICAgICAgaWYgKHRoaXMuYXBwZW5kVG8pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmFwcGVuZFRvID09PSAnYm9keScpIHRoaXMuZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLndyYXBwZXIgYXMgSFRNTEVsZW1lbnQpO1xuICAgICAgICAgICAgZWxzZSBhcHBlbmRDaGlsZCh0aGlzLndyYXBwZXIsIHRoaXMuYXBwZW5kVG8pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW1hZ2VQcmV2aWV3U3R5bGUoKSB7XG4gICAgICAgIHJldHVybiB7IHRyYW5zZm9ybTogJ3JvdGF0ZSgnICsgdGhpcy5yb3RhdGUgKyAnZGVnKSBzY2FsZSgnICsgdGhpcy5zY2FsZSArICcpJyB9O1xuICAgIH1cblxuICAgIGdldCB6b29tSW1hZ2VBcmlhTGFiZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy50cmFuc2xhdGlvbi5hcmlhID8gdGhpcy5jb25maWcudHJhbnNsYXRpb24uYXJpYS56b29tSW1hZ2UgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29udGFpbmVyQ2xhc3MoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAncC1pbWFnZSBwLWNvbXBvbmVudCc6IHRydWUsXG4gICAgICAgICAgICAncC1pbWFnZS1wcmV2aWV3JzogdGhpcy5wcmV2aWV3XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgaGFuZGxlVG9vbGJhckNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIGNsb3NlUHJldmlldygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcmV2aWV3VmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJvdGF0ZSA9IDA7XG4gICAgICAgIHRoaXMuc2NhbGUgPSB0aGlzLnpvb21TZXR0aW5ncy5kZWZhdWx0O1xuICAgICAgICB1bmJsb2NrQm9keVNjcm9sbCgpO1xuICAgIH1cblxuICAgIGltYWdlRXJyb3IoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIHRoaXMub25JbWFnZUVycm9yLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIHJpZ2h0QXJpYUxhYmVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcudHJhbnNsYXRpb24uYXJpYSA/IHRoaXMuY29uZmlnLnRyYW5zbGF0aW9uLmFyaWEucm90YXRlUmlnaHQgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgbGVmdEFyaWFMYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLnRyYW5zbGF0aW9uLmFyaWEgPyB0aGlzLmNvbmZpZy50cmFuc2xhdGlvbi5hcmlhLnJvdGF0ZUxlZnQgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgem9vbUluQXJpYUxhYmVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcudHJhbnNsYXRpb24uYXJpYSA/IHRoaXMuY29uZmlnLnRyYW5zbGF0aW9uLmFyaWEuem9vbUluIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHpvb21PdXRBcmlhTGFiZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy50cmFuc2xhdGlvbi5hcmlhID8gdGhpcy5jb25maWcudHJhbnNsYXRpb24uYXJpYS56b29tT3V0IDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNsb3NlQXJpYUxhYmVsKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcudHJhbnNsYXRpb24uYXJpYSA/IHRoaXMuY29uZmlnLnRyYW5zbGF0aW9uLmFyaWEuY2xvc2UgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnLCBbJyRldmVudCddKSBvbktleWRvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLnByZXZpZXdWaXNpYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlUHJldmlldygpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtJbWFnZSwgU2hhcmVkTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbSW1hZ2UsIFNoYXJlZE1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VNb2R1bGUge31cbiJdfQ==
@@ -16,8 +16,8 @@ const theme = ({ dt }) => `
16
16
 
17
17
  .p-image-preview-mask {
18
18
  position: absolute;
19
- left: 0;
20
- top: 0;
19
+ inset-inline-start: 0;
20
+ inset-block-start: 0;
21
21
  width: 100%;
22
22
  height: 100%;
23
23
  display: flex;
@@ -47,10 +47,10 @@ const theme = ({ dt }) => `
47
47
 
48
48
  .p-image-toolbar {
49
49
  position: absolute;
50
- top: ${dt('image.toolbar.position.top')};
51
- right: ${dt('image.toolbar.position.right')};
52
- left: ${dt('image.toolbar.position.left')};
53
- bottom: ${dt('image.toolbar.position.bottom')};
50
+ inset-block-start: ${dt('image.toolbar.position.top')};
51
+ inset-inline-end: ${dt('image.toolbar.position.right')};
52
+ inset-inline-start: ${dt('image.toolbar.position.left')};
53
+ inset-block-end: ${dt('image.toolbar.position.bottom')};
54
54
  display: flex;
55
55
  z-index: 1;
56
56
  padding: ${dt('image.toolbar.padding')};
@@ -216,4 +216,4 @@ export var ImageClasses;
216
216
  */
217
217
  ImageClasses["original"] = "p-image-original";
218
218
  })(ImageClasses || (ImageClasses = {}));
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VzdHlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbWFnZS9zdHlsZS9pbWFnZXN0eWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFFekMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzthQTRCYixFQUFFLENBQUMsMEJBQTBCLENBQUM7NkJBQ2QsRUFBRSxDQUFDLDJCQUEyQixDQUFDOzs7Ozs7a0JBTTFDLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQzs7OztpQkFJcEMsRUFBRSxDQUFDLHlCQUF5QixDQUFDO2FBQ2pDLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztjQUM1QixFQUFFLENBQUMseUJBQXlCLENBQUM7Ozs7O1dBS2hDLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQzthQUM5QixFQUFFLENBQUMsOEJBQThCLENBQUM7WUFDbkMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO2NBQy9CLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQzs7O2VBR2xDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztrQkFDeEIsRUFBRSxDQUFDLDBCQUEwQixDQUFDOzRCQUNwQixFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQ2hDLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQzs7b0JBRWhDLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztxQkFDL0IsRUFBRSxDQUFDLDZCQUE2QixDQUFDO1dBQzNDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzs7Ozs7OzthQU9yQixFQUFFLENBQUMsb0JBQW9CLENBQUM7O2FBRXhCLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztjQUN0QixFQUFFLENBQUMsbUJBQW1CLENBQUM7Ozs7OztxQkFNaEIsRUFBRSxDQUFDLDRCQUE0QixDQUFDOzs2QkFFeEIsRUFBRSxDQUFDLDJCQUEyQixDQUFDLFdBQVcsRUFBRSxDQUFDLDJCQUEyQixDQUFDLG1CQUFtQixFQUFFLENBQUMsMkJBQTJCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQzs7OzthQUkxTCxFQUFFLENBQUMsMEJBQTBCLENBQUM7a0JBQ3pCLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQzs7OztrQkFJbkMsRUFBRSxDQUFDLGtDQUFrQyxDQUFDO2VBQ3pDLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztzQkFDaEgsRUFBRSxDQUFDLGtDQUFrQyxDQUFDOzs7O2lCQUkzQyxFQUFFLENBQUMsd0JBQXdCLENBQUM7YUFDaEMsRUFBRSxDQUFDLHdCQUF3QixDQUFDO2NBQzNCLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0EwQnpDLENBQUM7QUFFRixNQUFNLE9BQU8sR0FBRztJQUNaLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ2pCLHFCQUFxQjtRQUNyQjtZQUNJLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxPQUFPO1NBQ25DO0tBQ0o7SUFDRCxXQUFXLEVBQUUsc0JBQXNCO0lBQ25DLFdBQVcsRUFBRSxzQkFBc0I7SUFDbkMsSUFBSSxFQUFFLGtEQUFrRDtJQUN4RCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLGlCQUFpQixFQUFFLDRDQUE0QztJQUMvRCxnQkFBZ0IsRUFBRSwyQ0FBMkM7SUFDN0QsYUFBYSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDN0Isd0NBQXdDO1FBQ3hDO1lBQ0ksWUFBWSxFQUFFLFFBQVEsQ0FBQyxpQkFBaUI7U0FDM0M7S0FDSjtJQUNELFlBQVksRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQzVCLHVDQUF1QztRQUN2QztZQUNJLFlBQVksRUFBRSxRQUFRLENBQUMsZ0JBQWdCO1NBQzFDO0tBQ0o7SUFDRCxXQUFXLEVBQUUscUNBQXFDO0lBQ2xELFFBQVEsRUFBRSxrQkFBa0I7Q0FDL0IsQ0FBQztBQUdGLE1BQU0sT0FBTyxVQUFXLFNBQVEsU0FBUztJQUNyQyxJQUFJLEdBQUcsT0FBTyxDQUFDO0lBRWYsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUVkLE9BQU8sR0FBRyxPQUFPLENBQUM7cU5BTFQsVUFBVSx5QkFBVixVQUFVO2dFQUFWLFVBQVUsV0FBVixVQUFVOztpRkFBVixVQUFVO2NBRHRCLFVBQVU7O0FBU1g7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLENBQU4sSUFBWSxZQTZDWDtBQTdDRCxXQUFZLFlBQVk7SUFDcEI7O09BRUc7SUFDSCxnQ0FBZ0IsQ0FBQTtJQUNoQjs7T0FFRztJQUNILG9EQUFvQyxDQUFBO0lBQ3BDOztPQUVHO0lBQ0gsb0RBQW9DLENBQUE7SUFDcEM7O09BRUc7SUFDSCxxQ0FBcUIsQ0FBQTtJQUNyQjs7T0FFRztJQUNILDJDQUEyQixDQUFBO0lBQzNCOztPQUVHO0lBQ0gsaUVBQWlELENBQUE7SUFDakQ7O09BRUc7SUFDSCwrREFBK0MsQ0FBQTtJQUMvQzs7T0FFRztJQUNILHlEQUF5QyxDQUFBO0lBQ3pDOztPQUVHO0lBQ0gsdURBQXVDLENBQUE7SUFDdkM7O09BRUc7SUFDSCxvREFBb0MsQ0FBQTtJQUNwQzs7T0FFRztJQUNILDZDQUE2QixDQUFBO0FBQ2pDLENBQUMsRUE3Q1csWUFBWSxLQUFaLFlBQVksUUE2Q3ZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZVN0eWxlIH0gZnJvbSAncHJpbWVuZy9iYXNlJztcblxuY29uc3QgdGhlbWUgPSAoeyBkdCB9KSA9PiBgXG4ucC1pbWFnZS1tYXNrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5wLWltYWdlLXByZXZpZXcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBsaW5lLWhlaWdodDogMDtcbn1cblxuLnAtaW1hZ2UtcHJldmlldy1tYXNrIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICBib3JkZXI6IDAgbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJHtkdCgnaW1hZ2UucHJldmlldy5tYXNrLmNvbG9yJyl9O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJHtkdCgnaW1hZ2UudHJhbnNpdGlvbi5kdXJhdGlvbicpfTtcbn1cblxuLnAtaW1hZ2UtcHJldmlldzpob3ZlciA+IC5wLWltYWdlLXByZXZpZXctbWFzayB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogJHtkdCgnaW1hZ2UucHJldmlldy5tYXNrLmJhY2tncm91bmQnKX07XG59XG5cbi5wLWltYWdlLXByZXZpZXctaWNvbiB7XG4gICAgZm9udC1zaXplOiAke2R0KCdpbWFnZS5wcmV2aWV3Lmljb24uc2l6ZScpfTtcbiAgICB3aWR0aDogJHtkdCgnaW1hZ2UucHJldmlldy5pY29uLnNpemUnKX07XG4gICAgaGVpZ2h0OiAke2R0KCdpbWFnZS5wcmV2aWV3Lmljb24uc2l6ZScpfTtcbn1cblxuLnAtaW1hZ2UtdG9vbGJhciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHtkdCgnaW1hZ2UudG9vbGJhci5wb3NpdGlvbi50b3AnKX07XG4gICAgcmlnaHQ6ICR7ZHQoJ2ltYWdlLnRvb2xiYXIucG9zaXRpb24ucmlnaHQnKX07XG4gICAgbGVmdDogJHtkdCgnaW1hZ2UudG9vbGJhci5wb3NpdGlvbi5sZWZ0Jyl9O1xuICAgIGJvdHRvbTogJHtkdCgnaW1hZ2UudG9vbGJhci5wb3NpdGlvbi5ib3R0b20nKX07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBhZGRpbmc6ICR7ZHQoJ2ltYWdlLnRvb2xiYXIucGFkZGluZycpfTtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdpbWFnZS50b29sYmFyLmJhY2tncm91bmQnKX07XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKCR7ZHQoJ2ltYWdlLnRvb2xiYXIuYmx1cicpfSk7XG4gICAgYm9yZGVyLWNvbG9yOiAke2R0KCdpbWFnZS50b29sYmFyLmJvcmRlci5jb2xvcicpfTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHtkdCgnaW1hZ2UudG9vbGJhci5ib3JkZXIud2lkdGgnKX07XG4gICAgYm9yZGVyLXJhZGl1czogJHtkdCgnaW1hZ2UudG9vbGJhci5ib3JkZXIucmFkaXVzJyl9O1xuICAgIGdhcDogJHtkdCgnaW1hZ2UudG9vbGJhci5nYXAnKX07XG59XG5cbi5wLWltYWdlLWFjdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogJHtkdCgnaW1hZ2UuYWN0aW9uLmNvbG9yJyl9O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHdpZHRoOiAke2R0KCdpbWFnZS5hY3Rpb24uc2l6ZScpfTtcbiAgICBoZWlnaHQ6ICR7ZHQoJ2ltYWdlLmFjdGlvbi5zaXplJyl9O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAke2R0KCdpbWFnZS5hY3Rpb24uYm9yZGVyLnJhZGl1cycpfTtcbiAgICBvdXRsaW5lLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICR7ZHQoJ2ltYWdlLnRyYW5zaXRpb24uZHVyYXRpb24nKX0sIGNvbG9yICR7ZHQoJ2ltYWdlLnRyYW5zaXRpb24uZHVyYXRpb24nKX0sIG91dGxpbmUtY29sb3IgJHtkdCgnaW1hZ2UudHJhbnNpdGlvbi5kdXJhdGlvbicpfSwgYm94LXNoYWRvdyAke2R0KCdpbWFnZS50cmFuc2l0aW9uLmR1cmF0aW9uJyl9O1xufVxuXG4ucC1pbWFnZS1hY3Rpb246aG92ZXIge1xuICAgIGNvbG9yOiAke2R0KCdpbWFnZS5hY3Rpb24uaG92ZXIuY29sb3InKX07XG4gICAgYmFja2dyb3VuZDogJHtkdCgnaW1hZ2UuYWN0aW9uLmhvdmVyLmJhY2tncm91bmQnKX07XG59XG5cbi5wLWltYWdlLWFjdGlvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBib3gtc2hhZG93OiAke2R0KCd0b29sYmFyLmFjdGlvbi5mb2N1cy5yaW5nLnNoYWRvdycpfTtcbiAgICBvdXRsaW5lOiAke2R0KCd0b29sYmFyLmFjdGlvbi5mb2N1cy5yaW5nLndpZHRoJyl9ICR7ZHQoJ3Rvb2xiYXIuYWN0aW9uLmZvY3VzLnJpbmcuc3R5bGUnKX0gJHtkdCgndG9vbGJhci5hY3Rpb24uZm9jdXMucmluZy5jb2xvcicpfTtcbiAgICBvdXRsaW5lLW9mZnNldDogJHtkdCgndG9vbGJhci5hY3Rpb24uZm9jdXMucmluZy5vZmZzZXQnKX07XG59XG5cbi5wLWltYWdlLWFjdGlvbiAucC1pY29uIHtcbiAgICBmb250LXNpemU6ICR7ZHQoJ2ltYWdlLmFjdGlvbi5pY29uLnNpemUnKX07XG4gICAgd2lkdGg6ICR7ZHQoJ2ltYWdlLmFjdGlvbi5pY29uLnNpemUnKX07XG4gICAgaGVpZ2h0OiAke2R0KCdpbWFnZS5hY3Rpb24uaWNvbi5zaXplJyl9O1xufVxuXG4ucC1pbWFnZS1hY3Rpb24ucC1kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbi5wLWltYWdlLW9yaWdpbmFsIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXM7XG4gICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbn1cblxuLnAtaW1hZ2Utb3JpZ2luYWwtZW50ZXItYWN0aXZlIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG59XG5cbi5wLWltYWdlLW9yaWdpbmFsLWxlYXZlLWFjdGl2ZSB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG59XG5cbi5wLWltYWdlLW9yaWdpbmFsLWVudGVyLWZyb20sXG4ucC1pbWFnZS1vcmlnaW5hbC1sZWF2ZS10byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNyk7XG59XG5gO1xuXG5jb25zdCBjbGFzc2VzID0ge1xuICAgIHJvb3Q6ICh7IHByb3BzIH0pID0+IFtcbiAgICAgICAgJ3AtaW1hZ2UgcC1jb21wb25lbnQnLFxuICAgICAgICB7XG4gICAgICAgICAgICAncC1pbWFnZS1wcmV2aWV3JzogcHJvcHMucHJldmlld1xuICAgICAgICB9XG4gICAgXSxcbiAgICBwcmV2aWV3TWFzazogJ3AtaW1hZ2UtcHJldmlldy1tYXNrJyxcbiAgICBwcmV2aWV3SWNvbjogJ3AtaW1hZ2UtcHJldmlldy1pY29uJyxcbiAgICBtYXNrOiAncC1pbWFnZS1tYXNrIHAtb3ZlcmxheS1tYXNrIHAtb3ZlcmxheS1tYXNrLWVudGVyJyxcbiAgICB0b29sYmFyOiAncC1pbWFnZS10b29sYmFyJyxcbiAgICByb3RhdGVSaWdodEJ1dHRvbjogJ3AtaW1hZ2UtYWN0aW9uIHAtaW1hZ2Utcm90YXRlLXJpZ2h0LWJ1dHRvbicsXG4gICAgcm90YXRlTGVmdEJ1dHRvbjogJ3AtaW1hZ2UtYWN0aW9uIHAtaW1hZ2Utcm90YXRlLWxlZnQtYnV0dG9uJyxcbiAgICB6b29tT3V0QnV0dG9uOiAoeyBpbnN0YW5jZSB9KSA9PiBbXG4gICAgICAgICdwLWltYWdlLWFjdGlvbiBwLWltYWdlLXpvb20tb3V0LWJ1dHRvbicsXG4gICAgICAgIHtcbiAgICAgICAgICAgICdwLWRpc2FibGVkJzogaW5zdGFuY2UuaXNab29tT3V0RGlzYWJsZWRcbiAgICAgICAgfVxuICAgIF0sXG4gICAgem9vbUluQnV0dG9uOiAoeyBpbnN0YW5jZSB9KSA9PiBbXG4gICAgICAgICdwLWltYWdlLWFjdGlvbiBwLWltYWdlLXpvb20taW4tYnV0dG9uJyxcbiAgICAgICAge1xuICAgICAgICAgICAgJ3AtZGlzYWJsZWQnOiBpbnN0YW5jZS5pc1pvb21JbkRpc2FibGVkXG4gICAgICAgIH1cbiAgICBdLFxuICAgIGNsb3NlQnV0dG9uOiAncC1pbWFnZS1hY3Rpb24gcC1pbWFnZS1jbG9zZS1idXR0b24nLFxuICAgIG9yaWdpbmFsOiAncC1pbWFnZS1vcmlnaW5hbCdcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJbWFnZVN0eWxlIGV4dGVuZHMgQmFzZVN0eWxlIHtcbiAgICBuYW1lID0gJ2ltYWdlJztcblxuICAgIHRoZW1lID0gdGhlbWU7XG5cbiAgICBjbGFzc2VzID0gY2xhc3Nlcztcbn1cblxuLyoqXG4gKlxuICogRGlzcGxheXMgYW4gaW1hZ2Ugd2l0aCBwcmV2aWV3IGFuZCB0cmFuZm9ybWF0aW9uIG9wdGlvbnMuIEZvciBtdWx0aXBsZSBpbWFnZSwgc2VlIEdhbGxlcmlhLlxuICpcbiAqIFtMaXZlIERlbW9dKGh0dHBzOi8vd3d3LnByaW1lbmcub3JnL2ltYWdlLylcbiAqXG4gKiBAbW9kdWxlIGltYWdlc3R5bGVcbiAqXG4gKi9cbmV4cG9ydCBlbnVtIEltYWdlQ2xhc3NlcyB7XG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgcm9vdCBlbGVtZW50XG4gICAgICovXG4gICAgcm9vdCA9ICdwLWltYWdlJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBwcmV2aWV3IG1hc2sgZWxlbWVudFxuICAgICAqL1xuICAgIHByZXZpZXdNYXNrID0gJ3AtaW1hZ2UtcHJldmlldy1tYXNrJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBwcmV2aWV3IGljb24gZWxlbWVudFxuICAgICAqL1xuICAgIHByZXZpZXdJY29uID0gJ3AtaW1hZ2UtcHJldmlldy1pY29uJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBtYXNrIGVsZW1lbnRcbiAgICAgKi9cbiAgICBtYXNrID0gJ3AtaW1hZ2UtbWFzaycsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgdG9vbGJhciBlbGVtZW50XG4gICAgICovXG4gICAgdG9vbGJhciA9ICdwLWltYWdlLXRvb2xiYXInLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHJvdGF0ZSByaWdodCBidXR0b24gZWxlbWVudFxuICAgICAqL1xuICAgIHJvdGF0ZVJpZ2h0QnV0dG9uID0gJ3AtaW1hZ2Utcm90YXRlLXJpZ2h0LWJ1dHRvbicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgcm90YXRlIGxlZnQgYnV0dG9uIGVsZW1lbnRcbiAgICAgKi9cbiAgICByb3RhdGVMZWZ0QnV0dG9uID0gJ3AtaW1hZ2Utcm90YXRlLWxlZnQtYnV0dG9uJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSB6b29tIG91dCBidXR0b24gZWxlbWVudFxuICAgICAqL1xuICAgIHpvb21PdXRCdXR0b24gPSAncC1pbWFnZS16b29tLW91dC1idXR0b24nLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHpvb20gaW4gYnV0dG9uIGVsZW1lbnRcbiAgICAgKi9cbiAgICB6b29tSW5CdXR0b24gPSAncC1pbWFnZS16b29tLWluLWJ1dHRvbicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgY2xvc2UgYnV0dG9uIGVsZW1lbnRcbiAgICAgKi9cbiAgICBjbG9zZUJ1dHRvbiA9ICdwLWltYWdlLWNsb3NlLWJ1dHRvbicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgb3JpZ2luYWwgZWxlbWVudFxuICAgICAqL1xuICAgIG9yaWdpbmFsID0gJ3AtaW1hZ2Utb3JpZ2luYWwnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VTdHlsZSBleHRlbmRzIEJhc2VTdHlsZSB7fVxuIl19
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2VzdHlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbWFnZS9zdHlsZS9pbWFnZXN0eWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFFekMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzthQTRCYixFQUFFLENBQUMsMEJBQTBCLENBQUM7NkJBQ2QsRUFBRSxDQUFDLDJCQUEyQixDQUFDOzs7Ozs7a0JBTTFDLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQzs7OztpQkFJcEMsRUFBRSxDQUFDLHlCQUF5QixDQUFDO2FBQ2pDLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztjQUM1QixFQUFFLENBQUMseUJBQXlCLENBQUM7Ozs7O3lCQUtsQixFQUFFLENBQUMsNEJBQTRCLENBQUM7d0JBQ2pDLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQzswQkFDaEMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO3VCQUNwQyxFQUFFLENBQUMsK0JBQStCLENBQUM7OztlQUczQyxFQUFFLENBQUMsdUJBQXVCLENBQUM7a0JBQ3hCLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQzs0QkFDcEIsRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUNoQyxFQUFFLENBQUMsNEJBQTRCLENBQUM7O29CQUVoQyxFQUFFLENBQUMsNEJBQTRCLENBQUM7cUJBQy9CLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztXQUMzQyxFQUFFLENBQUMsbUJBQW1CLENBQUM7Ozs7Ozs7YUFPckIsRUFBRSxDQUFDLG9CQUFvQixDQUFDOzthQUV4QixFQUFFLENBQUMsbUJBQW1CLENBQUM7Y0FDdEIsRUFBRSxDQUFDLG1CQUFtQixDQUFDOzs7Ozs7cUJBTWhCLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQzs7NkJBRXhCLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxXQUFXLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLDJCQUEyQixDQUFDLGdCQUFnQixFQUFFLENBQUMsMkJBQTJCLENBQUM7Ozs7YUFJMUwsRUFBRSxDQUFDLDBCQUEwQixDQUFDO2tCQUN6QixFQUFFLENBQUMsK0JBQStCLENBQUM7Ozs7a0JBSW5DLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztlQUN6QyxFQUFFLENBQUMsaUNBQWlDLENBQUMsSUFBSSxFQUFFLENBQUMsaUNBQWlDLENBQUMsSUFBSSxFQUFFLENBQUMsaUNBQWlDLENBQUM7c0JBQ2hILEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQzs7OztpQkFJM0MsRUFBRSxDQUFDLHdCQUF3QixDQUFDO2FBQ2hDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztjQUMzQixFQUFFLENBQUMsd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBMEJ6QyxDQUFDO0FBRUYsTUFBTSxPQUFPLEdBQUc7SUFDWixJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUNqQixxQkFBcUI7UUFDckI7WUFDSSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsT0FBTztTQUNuQztLQUNKO0lBQ0QsV0FBVyxFQUFFLHNCQUFzQjtJQUNuQyxXQUFXLEVBQUUsc0JBQXNCO0lBQ25DLElBQUksRUFBRSxrREFBa0Q7SUFDeEQsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixpQkFBaUIsRUFBRSw0Q0FBNEM7SUFDL0QsZ0JBQWdCLEVBQUUsMkNBQTJDO0lBQzdELGFBQWEsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQzdCLHdDQUF3QztRQUN4QztZQUNJLFlBQVksRUFBRSxRQUFRLENBQUMsaUJBQWlCO1NBQzNDO0tBQ0o7SUFDRCxZQUFZLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUM1Qix1Q0FBdUM7UUFDdkM7WUFDSSxZQUFZLEVBQUUsUUFBUSxDQUFDLGdCQUFnQjtTQUMxQztLQUNKO0lBQ0QsV0FBVyxFQUFFLHFDQUFxQztJQUNsRCxRQUFRLEVBQUUsa0JBQWtCO0NBQy9CLENBQUM7QUFHRixNQUFNLE9BQU8sVUFBVyxTQUFRLFNBQVM7SUFDckMsSUFBSSxHQUFHLE9BQU8sQ0FBQztJQUVmLEtBQUssR0FBRyxLQUFLLENBQUM7SUFFZCxPQUFPLEdBQUcsT0FBTyxDQUFDO3FOQUxULFVBQVUseUJBQVYsVUFBVTtnRUFBVixVQUFVLFdBQVYsVUFBVTs7aUZBQVYsVUFBVTtjQUR0QixVQUFVOztBQVNYOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxDQUFOLElBQVksWUE2Q1g7QUE3Q0QsV0FBWSxZQUFZO0lBQ3BCOztPQUVHO0lBQ0gsZ0NBQWdCLENBQUE7SUFDaEI7O09BRUc7SUFDSCxvREFBb0MsQ0FBQTtJQUNwQzs7T0FFRztJQUNILG9EQUFvQyxDQUFBO0lBQ3BDOztPQUVHO0lBQ0gscUNBQXFCLENBQUE7SUFDckI7O09BRUc7SUFDSCwyQ0FBMkIsQ0FBQTtJQUMzQjs7T0FFRztJQUNILGlFQUFpRCxDQUFBO0lBQ2pEOztPQUVHO0lBQ0gsK0RBQStDLENBQUE7SUFDL0M7O09BRUc7SUFDSCx5REFBeUMsQ0FBQTtJQUN6Qzs7T0FFRztJQUNILHVEQUF1QyxDQUFBO0lBQ3ZDOztPQUVHO0lBQ0gsb0RBQW9DLENBQUE7SUFDcEM7O09BRUc7SUFDSCw2Q0FBNkIsQ0FBQTtBQUNqQyxDQUFDLEVBN0NXLFlBQVksS0FBWixZQUFZLFFBNkN2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VTdHlsZSB9IGZyb20gJ3ByaW1lbmcvYmFzZSc7XG5cbmNvbnN0IHRoZW1lID0gKHsgZHQgfSkgPT4gYFxuLnAtaW1hZ2UtbWFzayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucC1pbWFnZS1wcmV2aWV3IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi5wLWltYWdlLXByZXZpZXctbWFzayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAke2R0KCdpbWFnZS5wcmV2aWV3Lm1hc2suY29sb3InKX07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAke2R0KCdpbWFnZS50cmFuc2l0aW9uLmR1cmF0aW9uJyl9O1xufVxuXG4ucC1pbWFnZS1wcmV2aWV3OmhvdmVyID4gLnAtaW1hZ2UtcHJldmlldy1tYXNrIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdpbWFnZS5wcmV2aWV3Lm1hc2suYmFja2dyb3VuZCcpfTtcbn1cblxuLnAtaW1hZ2UtcHJldmlldy1pY29uIHtcbiAgICBmb250LXNpemU6ICR7ZHQoJ2ltYWdlLnByZXZpZXcuaWNvbi5zaXplJyl9O1xuICAgIHdpZHRoOiAke2R0KCdpbWFnZS5wcmV2aWV3Lmljb24uc2l6ZScpfTtcbiAgICBoZWlnaHQ6ICR7ZHQoJ2ltYWdlLnByZXZpZXcuaWNvbi5zaXplJyl9O1xufVxuXG4ucC1pbWFnZS10b29sYmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQtYmxvY2stc3RhcnQ6ICR7ZHQoJ2ltYWdlLnRvb2xiYXIucG9zaXRpb24udG9wJyl9O1xuICAgIGluc2V0LWlubGluZS1lbmQ6ICR7ZHQoJ2ltYWdlLnRvb2xiYXIucG9zaXRpb24ucmlnaHQnKX07XG4gICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAke2R0KCdpbWFnZS50b29sYmFyLnBvc2l0aW9uLmxlZnQnKX07XG4gICAgaW5zZXQtYmxvY2stZW5kOiAke2R0KCdpbWFnZS50b29sYmFyLnBvc2l0aW9uLmJvdHRvbScpfTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHotaW5kZXg6IDE7XG4gICAgcGFkZGluZzogJHtkdCgnaW1hZ2UudG9vbGJhci5wYWRkaW5nJyl9O1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2ltYWdlLnRvb2xiYXIuYmFja2dyb3VuZCcpfTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoJHtkdCgnaW1hZ2UudG9vbGJhci5ibHVyJyl9KTtcbiAgICBib3JkZXItY29sb3I6ICR7ZHQoJ2ltYWdlLnRvb2xiYXIuYm9yZGVyLmNvbG9yJyl9O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAke2R0KCdpbWFnZS50b29sYmFyLmJvcmRlci53aWR0aCcpfTtcbiAgICBib3JkZXItcmFkaXVzOiAke2R0KCdpbWFnZS50b29sYmFyLmJvcmRlci5yYWRpdXMnKX07XG4gICAgZ2FwOiAke2R0KCdpbWFnZS50b29sYmFyLmdhcCcpfTtcbn1cblxuLnAtaW1hZ2UtYWN0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAke2R0KCdpbWFnZS5hY3Rpb24uY29sb3InKX07XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgd2lkdGg6ICR7ZHQoJ2ltYWdlLmFjdGlvbi5zaXplJyl9O1xuICAgIGhlaWdodDogJHtkdCgnaW1hZ2UuYWN0aW9uLnNpemUnKX07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICR7ZHQoJ2ltYWdlLmFjdGlvbi5ib3JkZXIucmFkaXVzJyl9O1xuICAgIG91dGxpbmUtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJHtkdCgnaW1hZ2UudHJhbnNpdGlvbi5kdXJhdGlvbicpfSwgY29sb3IgJHtkdCgnaW1hZ2UudHJhbnNpdGlvbi5kdXJhdGlvbicpfSwgb3V0bGluZS1jb2xvciAke2R0KCdpbWFnZS50cmFuc2l0aW9uLmR1cmF0aW9uJyl9LCBib3gtc2hhZG93ICR7ZHQoJ2ltYWdlLnRyYW5zaXRpb24uZHVyYXRpb24nKX07XG59XG5cbi5wLWltYWdlLWFjdGlvbjpob3ZlciB7XG4gICAgY29sb3I6ICR7ZHQoJ2ltYWdlLmFjdGlvbi5ob3Zlci5jb2xvcicpfTtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdpbWFnZS5hY3Rpb24uaG92ZXIuYmFja2dyb3VuZCcpfTtcbn1cblxuLnAtaW1hZ2UtYWN0aW9uOmZvY3VzLXZpc2libGUge1xuICAgIGJveC1zaGFkb3c6ICR7ZHQoJ3Rvb2xiYXIuYWN0aW9uLmZvY3VzLnJpbmcuc2hhZG93Jyl9O1xuICAgIG91dGxpbmU6ICR7ZHQoJ3Rvb2xiYXIuYWN0aW9uLmZvY3VzLnJpbmcud2lkdGgnKX0gJHtkdCgndG9vbGJhci5hY3Rpb24uZm9jdXMucmluZy5zdHlsZScpfSAke2R0KCd0b29sYmFyLmFjdGlvbi5mb2N1cy5yaW5nLmNvbG9yJyl9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAke2R0KCd0b29sYmFyLmFjdGlvbi5mb2N1cy5yaW5nLm9mZnNldCcpfTtcbn1cblxuLnAtaW1hZ2UtYWN0aW9uIC5wLWljb24ge1xuICAgIGZvbnQtc2l6ZTogJHtkdCgnaW1hZ2UuYWN0aW9uLmljb24uc2l6ZScpfTtcbiAgICB3aWR0aDogJHtkdCgnaW1hZ2UuYWN0aW9uLmljb24uc2l6ZScpfTtcbiAgICBoZWlnaHQ6ICR7ZHQoJ2ltYWdlLmFjdGlvbi5pY29uLnNpemUnKX07XG59XG5cbi5wLWltYWdlLWFjdGlvbi5wLWRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLnAtaW1hZ2Utb3JpZ2luYWwge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cztcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xufVxuXG4ucC1pbWFnZS1vcmlnaW5hbC1lbnRlci1hY3RpdmUge1xuICAgIHRyYW5zaXRpb246IGFsbCAxNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbn1cblxuLnAtaW1hZ2Utb3JpZ2luYWwtbGVhdmUtYWN0aXZlIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbn1cblxuLnAtaW1hZ2Utb3JpZ2luYWwtZW50ZXItZnJvbSxcbi5wLWltYWdlLW9yaWdpbmFsLWxlYXZlLXRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC43KTtcbn1cbmA7XG5cbmNvbnN0IGNsYXNzZXMgPSB7XG4gICAgcm9vdDogKHsgcHJvcHMgfSkgPT4gW1xuICAgICAgICAncC1pbWFnZSBwLWNvbXBvbmVudCcsXG4gICAgICAgIHtcbiAgICAgICAgICAgICdwLWltYWdlLXByZXZpZXcnOiBwcm9wcy5wcmV2aWV3XG4gICAgICAgIH1cbiAgICBdLFxuICAgIHByZXZpZXdNYXNrOiAncC1pbWFnZS1wcmV2aWV3LW1hc2snLFxuICAgIHByZXZpZXdJY29uOiAncC1pbWFnZS1wcmV2aWV3LWljb24nLFxuICAgIG1hc2s6ICdwLWltYWdlLW1hc2sgcC1vdmVybGF5LW1hc2sgcC1vdmVybGF5LW1hc2stZW50ZXInLFxuICAgIHRvb2xiYXI6ICdwLWltYWdlLXRvb2xiYXInLFxuICAgIHJvdGF0ZVJpZ2h0QnV0dG9uOiAncC1pbWFnZS1hY3Rpb24gcC1pbWFnZS1yb3RhdGUtcmlnaHQtYnV0dG9uJyxcbiAgICByb3RhdGVMZWZ0QnV0dG9uOiAncC1pbWFnZS1hY3Rpb24gcC1pbWFnZS1yb3RhdGUtbGVmdC1idXR0b24nLFxuICAgIHpvb21PdXRCdXR0b246ICh7IGluc3RhbmNlIH0pID0+IFtcbiAgICAgICAgJ3AtaW1hZ2UtYWN0aW9uIHAtaW1hZ2Utem9vbS1vdXQtYnV0dG9uJyxcbiAgICAgICAge1xuICAgICAgICAgICAgJ3AtZGlzYWJsZWQnOiBpbnN0YW5jZS5pc1pvb21PdXREaXNhYmxlZFxuICAgICAgICB9XG4gICAgXSxcbiAgICB6b29tSW5CdXR0b246ICh7IGluc3RhbmNlIH0pID0+IFtcbiAgICAgICAgJ3AtaW1hZ2UtYWN0aW9uIHAtaW1hZ2Utem9vbS1pbi1idXR0b24nLFxuICAgICAgICB7XG4gICAgICAgICAgICAncC1kaXNhYmxlZCc6IGluc3RhbmNlLmlzWm9vbUluRGlzYWJsZWRcbiAgICAgICAgfVxuICAgIF0sXG4gICAgY2xvc2VCdXR0b246ICdwLWltYWdlLWFjdGlvbiBwLWltYWdlLWNsb3NlLWJ1dHRvbicsXG4gICAgb3JpZ2luYWw6ICdwLWltYWdlLW9yaWdpbmFsJ1xufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEltYWdlU3R5bGUgZXh0ZW5kcyBCYXNlU3R5bGUge1xuICAgIG5hbWUgPSAnaW1hZ2UnO1xuXG4gICAgdGhlbWUgPSB0aGVtZTtcblxuICAgIGNsYXNzZXMgPSBjbGFzc2VzO1xufVxuXG4vKipcbiAqXG4gKiBEaXNwbGF5cyBhbiBpbWFnZSB3aXRoIHByZXZpZXcgYW5kIHRyYW5mb3JtYXRpb24gb3B0aW9ucy4gRm9yIG11bHRpcGxlIGltYWdlLCBzZWUgR2FsbGVyaWEuXG4gKlxuICogW0xpdmUgRGVtb10oaHR0cHM6Ly93d3cucHJpbWVuZy5vcmcvaW1hZ2UvKVxuICpcbiAqIEBtb2R1bGUgaW1hZ2VzdHlsZVxuICpcbiAqL1xuZXhwb3J0IGVudW0gSW1hZ2VDbGFzc2VzIHtcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSByb290IGVsZW1lbnRcbiAgICAgKi9cbiAgICByb290ID0gJ3AtaW1hZ2UnLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHByZXZpZXcgbWFzayBlbGVtZW50XG4gICAgICovXG4gICAgcHJldmlld01hc2sgPSAncC1pbWFnZS1wcmV2aWV3LW1hc2snLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHByZXZpZXcgaWNvbiBlbGVtZW50XG4gICAgICovXG4gICAgcHJldmlld0ljb24gPSAncC1pbWFnZS1wcmV2aWV3LWljb24nLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIG1hc2sgZWxlbWVudFxuICAgICAqL1xuICAgIG1hc2sgPSAncC1pbWFnZS1tYXNrJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSB0b29sYmFyIGVsZW1lbnRcbiAgICAgKi9cbiAgICB0b29sYmFyID0gJ3AtaW1hZ2UtdG9vbGJhcicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgcm90YXRlIHJpZ2h0IGJ1dHRvbiBlbGVtZW50XG4gICAgICovXG4gICAgcm90YXRlUmlnaHRCdXR0b24gPSAncC1pbWFnZS1yb3RhdGUtcmlnaHQtYnV0dG9uJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSByb3RhdGUgbGVmdCBidXR0b24gZWxlbWVudFxuICAgICAqL1xuICAgIHJvdGF0ZUxlZnRCdXR0b24gPSAncC1pbWFnZS1yb3RhdGUtbGVmdC1idXR0b24nLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHpvb20gb3V0IGJ1dHRvbiBlbGVtZW50XG4gICAgICovXG4gICAgem9vbU91dEJ1dHRvbiA9ICdwLWltYWdlLXpvb20tb3V0LWJ1dHRvbicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgem9vbSBpbiBidXR0b24gZWxlbWVudFxuICAgICAqL1xuICAgIHpvb21JbkJ1dHRvbiA9ICdwLWltYWdlLXpvb20taW4tYnV0dG9uJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBjbG9zZSBidXR0b24gZWxlbWVudFxuICAgICAqL1xuICAgIGNsb3NlQnV0dG9uID0gJ3AtaW1hZ2UtY2xvc2UtYnV0dG9uJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBvcmlnaW5hbCBlbGVtZW50XG4gICAgICovXG4gICAgb3JpZ2luYWwgPSAncC1pbWFnZS1vcmlnaW5hbCdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbWFnZVN0eWxlIGV4dGVuZHMgQmFzZVN0eWxlIHt9XG4iXX0=
@@ -0,0 +1,158 @@
1
+ import { CommonModule, isPlatformBrowser } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, ContentChild, inject, Input, NgModule, ViewEncapsulation } from '@angular/core';
3
+ import { SharedModule } from 'primeng/api';
4
+ import { BaseComponent } from 'primeng/basecomponent';
5
+ import { ImageCompareStyle } from './style/imagecomparestyle';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ const _c0 = ["left"];
9
+ const _c1 = ["right"];
10
+ function ImageCompare_0_ng_template_0_Template(rf, ctx) { }
11
+ function ImageCompare_0_Template(rf, ctx) { if (rf & 1) {
12
+ i0.ɵɵtemplate(0, ImageCompare_0_ng_template_0_Template, 0, 0, "ng-template");
13
+ } }
14
+ function ImageCompare_1_ng_template_0_Template(rf, ctx) { }
15
+ function ImageCompare_1_Template(rf, ctx) { if (rf & 1) {
16
+ i0.ɵɵtemplate(0, ImageCompare_1_ng_template_0_Template, 0, 0, "ng-template");
17
+ } }
18
+ /**
19
+ * Compare two images side by side with a slider.
20
+ * @group Components
21
+ */
22
+ export class ImageCompare extends BaseComponent {
23
+ isRTL = false;
24
+ /**
25
+ * Index of the element in tabbing order.
26
+ * @defaultValue 0
27
+ * @group Props
28
+ */
29
+ tabindex;
30
+ /**
31
+ * Defines a string value that labels an interactive element.
32
+ * @group Props
33
+ */
34
+ ariaLabelledby;
35
+ /**
36
+ * Identifier of the underlying input element.
37
+ * @group Props
38
+ */
39
+ ariaLabel;
40
+ /**
41
+ * Template for the left side.
42
+ * @group Templates
43
+ */
44
+ leftTemplate;
45
+ /**
46
+ * Template for the right side.
47
+ * @group Templates
48
+ */
49
+ rightTemplate;
50
+ _componentStyle = inject(ImageCompareStyle);
51
+ mutationObserver;
52
+ ngOnInit() {
53
+ super.ngOnInit();
54
+ this.updateDirection();
55
+ this.observeDirectionChanges();
56
+ }
57
+ onSlide(event) {
58
+ const value = event.target.value;
59
+ const image = event.target.previousElementSibling;
60
+ if (this.isRTL) {
61
+ image.style.clipPath = `polygon(${100 - value}% 0, 100% 0, 100% 100%, ${100 - value}% 100%)`;
62
+ }
63
+ else {
64
+ image.style.clipPath = `polygon(0 0, ${value}% 0, ${value}% 100%, 0 100%)`;
65
+ }
66
+ }
67
+ updateDirection() {
68
+ this.isRTL = !!this.el.nativeElement.closest('[dir="rtl"]');
69
+ }
70
+ observeDirectionChanges() {
71
+ if (isPlatformBrowser(this.platformId)) {
72
+ const targetNode = document?.documentElement;
73
+ const config = { attributes: true, attributeFilter: ['dir'] };
74
+ this.mutationObserver = new MutationObserver(() => {
75
+ this.updateDirection();
76
+ });
77
+ this.mutationObserver.observe(targetNode, config);
78
+ }
79
+ }
80
+ ngOnDestroy() {
81
+ if (this.mutationObserver) {
82
+ this.mutationObserver.disconnect();
83
+ }
84
+ super.ngOnDestroy();
85
+ }
86
+ static ɵfac = /*@__PURE__*/ (() => { let ɵImageCompare_BaseFactory; return function ImageCompare_Factory(__ngFactoryType__) { return (ɵImageCompare_BaseFactory || (ɵImageCompare_BaseFactory = i0.ɵɵgetInheritedFactory(ImageCompare)))(__ngFactoryType__ || ImageCompare); }; })();
87
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ImageCompare, selectors: [["p-imageCompare"], ["p-imagecompare"], ["p-image-compare"]], contentQueries: function ImageCompare_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
88
+ i0.ɵɵcontentQuery(dirIndex, _c0, 5);
89
+ i0.ɵɵcontentQuery(dirIndex, _c1, 5);
90
+ } if (rf & 2) {
91
+ let _t;
92
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.leftTemplate = _t.first);
93
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.rightTemplate = _t.first);
94
+ } }, hostAttrs: [1, "p-imagecompare"], hostVars: 3, hostBindings: function ImageCompare_HostBindings(rf, ctx) { if (rf & 2) {
95
+ i0.ɵɵattribute("tabindex", ctx.tabindex)("aria-labelledby", ctx.ariaLabelledby)("aria-label", ctx.ariaLabel);
96
+ } }, inputs: { tabindex: "tabindex", ariaLabelledby: "ariaLabelledby", ariaLabel: "ariaLabel" }, standalone: true, features: [i0.ɵɵProvidersFeature([ImageCompareStyle]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 3, vars: 4, consts: [[4, "ngTemplateOutlet"], ["type", "range", "min", "0", "max", "100", "value", "50", 3, "input"]], template: function ImageCompare_Template(rf, ctx) { if (rf & 1) {
97
+ i0.ɵɵtemplate(0, ImageCompare_0_Template, 1, 0, null, 0)(1, ImageCompare_1_Template, 1, 0, null, 0);
98
+ i0.ɵɵelementStart(2, "input", 1);
99
+ i0.ɵɵlistener("input", function ImageCompare_Template_input_input_2_listener($event) { return ctx.onSlide($event); });
100
+ i0.ɵɵelementEnd();
101
+ } if (rf & 2) {
102
+ i0.ɵɵproperty("ngTemplateOutlet", ctx.leftTemplate);
103
+ i0.ɵɵadvance();
104
+ i0.ɵɵproperty("ngTemplateOutlet", ctx.rightTemplate);
105
+ i0.ɵɵadvance();
106
+ i0.ɵɵclassMap(ctx.cx("slider"));
107
+ } }, dependencies: [CommonModule, i1.NgTemplateOutlet, SharedModule], encapsulation: 2, changeDetection: 0 });
108
+ }
109
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImageCompare, [{
110
+ type: Component,
111
+ args: [{
112
+ selector: 'p-imageCompare, p-imagecompare, p-image-compare',
113
+ standalone: true,
114
+ imports: [CommonModule, SharedModule],
115
+ template: `
116
+ <ng-template *ngTemplateOutlet="leftTemplate"></ng-template>
117
+ <ng-template *ngTemplateOutlet="rightTemplate"></ng-template>
118
+
119
+ <input type="range" min="0" max="100" value="50" (input)="onSlide($event)" [class]="cx('slider')" />
120
+ `,
121
+ host: {
122
+ class: 'p-imagecompare',
123
+ '[attr.tabindex]': 'tabindex',
124
+ '[attr.aria-labelledby]': 'ariaLabelledby',
125
+ '[attr.aria-label]': 'ariaLabel'
126
+ },
127
+ changeDetection: ChangeDetectionStrategy.OnPush,
128
+ encapsulation: ViewEncapsulation.None,
129
+ providers: [ImageCompareStyle]
130
+ }]
131
+ }], null, { tabindex: [{
132
+ type: Input
133
+ }], ariaLabelledby: [{
134
+ type: Input
135
+ }], ariaLabel: [{
136
+ type: Input
137
+ }], leftTemplate: [{
138
+ type: ContentChild,
139
+ args: ['left']
140
+ }], rightTemplate: [{
141
+ type: ContentChild,
142
+ args: ['right']
143
+ }] }); })();
144
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ImageCompare, { className: "ImageCompare" }); })();
145
+ export class ImageCompareModule {
146
+ static ɵfac = function ImageCompareModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ImageCompareModule)(); };
147
+ static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: ImageCompareModule });
148
+ static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [ImageCompare, SharedModule, SharedModule] });
149
+ }
150
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImageCompareModule, [{
151
+ type: NgModule,
152
+ args: [{
153
+ imports: [ImageCompare, SharedModule],
154
+ exports: [ImageCompare, SharedModule]
155
+ }]
156
+ }], null, null); })();
157
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(ImageCompareModule, { imports: [ImageCompare, SharedModule], exports: [ImageCompare, SharedModule] }); })();
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Vjb21wYXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ltYWdlY29tcGFyZS9pbWFnZWNvbXBhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFBb0IsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBZSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7OztJQVd0RCw0RUFBOEM7Ozs7SUFDOUMsNEVBQStDOztBQVZ2RDs7O0dBR0c7QUFxQkgsTUFBTSxPQUFPLFlBQWEsU0FBUSxhQUFhO0lBQzNDLEtBQUssR0FBWSxLQUFLLENBQUM7SUFFdkI7Ozs7T0FJRztJQUNNLFFBQVEsQ0FBcUI7SUFDdEM7OztPQUdHO0lBQ00sY0FBYyxDQUFxQjtJQUM1Qzs7O09BR0c7SUFDTSxTQUFTLENBQXFCO0lBRXZDOzs7T0FHRztJQUNtQixZQUFZLENBQW1CO0lBRXJEOzs7T0FHRztJQUNvQixhQUFhLENBQW1CO0lBRXZELGVBQWUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUU1QyxnQkFBZ0IsQ0FBbUI7SUFFbkMsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFLO1FBQ1QsTUFBTSxLQUFLLEdBQUcsS0FBSyxD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Z0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQztnQkFDckMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQzthQUN4Qzs7d0ZBQ1ksa0JBQWtCLGNBbkZsQixZQUFZLEVBZ0ZHLFlBQVksYUFoRjNCLFlBQVksRUFpRkcsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBpbmplY3QsIElucHV0LCBOZ01vZHVsZSwgVGVtcGxhdGVSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAncHJpbWVuZy9iYXNlY29tcG9uZW50JztcbmltcG9ydCB7IEltYWdlQ29tcGFyZVN0eWxlIH0gZnJvbSAnLi9zdHlsZS9pbWFnZWNvbXBhcmVzdHlsZSc7XG5cbi8qKlxuICogQ29tcGFyZSB0d28gaW1hZ2VzIHNpZGUgYnkgc2lkZSB3aXRoIGEgc2xpZGVyLlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwLWltYWdlQ29tcGFyZSwgcC1pbWFnZWNvbXBhcmUsIHAtaW1hZ2UtY29tcGFyZScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTaGFyZWRNb2R1bGVdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cImxlZnRUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cInJpZ2h0VGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxpbnB1dCB0eXBlPVwicmFuZ2VcIiBtaW49XCIwXCIgbWF4PVwiMTAwXCIgdmFsdWU9XCI1MFwiIChpbnB1dCk9XCJvblNsaWRlKCRldmVudClcIiBbY2xhc3NdPVwiY3goJ3NsaWRlcicpXCIgLz5cbiAgICBgLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdwLWltYWdlY29tcGFyZScsXG4gICAgICAgICdbYXR0ci50YWJpbmRleF0nOiAndGFiaW5kZXgnLFxuICAgICAgICAnW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XSc6ICdhcmlhTGFiZWxsZWRieScsXG4gICAgICAgICdbYXR0ci5hcmlhLWxhYmVsXSc6ICdhcmlhTGFiZWwnXG4gICAgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW0ltYWdlQ29tcGFyZVN0eWxlXVxufSlcbmV4cG9ydCBjbGFzcyBJbWFnZUNvbXBhcmUgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgaXNSVEw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEluZGV4IG9mIHRoZSBlbGVtZW50IGluIHRhYmJpbmcgb3JkZXIuXG4gICAgICogQGRlZmF1bHRWYWx1ZSAwXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgdGFiaW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBEZWZpbmVzIGEgc3RyaW5nIHZhbHVlIHRoYXQgbGFiZWxzIGFuIGludGVyYWN0aXZlIGVsZW1lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgYXJpYUxhYmVsbGVkYnk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBJZGVudGlmaWVyIG9mIHRoZSB1bmRlcmx5aW5nIGlucHV0IGVsZW1lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBUZW1wbGF0ZSBmb3IgdGhlIGxlZnQgc2lkZS5cbiAgICAgKiBAZ3JvdXAgVGVtcGxhdGVzXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnbGVmdCcpIGxlZnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIFRlbXBsYXRlIGZvciB0aGUgcmlnaHQgc2lkZS5cbiAgICAgKiBAZ3JvdXAgVGVtcGxhdGVzXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgncmlnaHQnKSByaWdodFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgX2NvbXBvbmVudFN0eWxlID0gaW5qZWN0KEltYWdlQ29tcGFyZVN0eWxlKTtcblxuICAgIG11dGF0aW9uT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy51cGRhdGVEaXJlY3Rpb24oKTtcbiAgICAgICAgdGhpcy5vYnNlcnZlRGlyZWN0aW9uQ2hhbmdlcygpO1xuICAgIH1cblxuICAgIG9uU2xpZGUoZXZlbnQpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICAgIGNvbnN0IGltYWdlID0gZXZlbnQudGFyZ2V0LnByZXZpb3VzRWxlbWVudFNpYmxpbmc7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNSVEwpIHtcbiAgICAgICAgICAgIGltYWdlLnN0eWxlLmNsaXBQYXRoID0gYHBvbHlnb24oJHsxMDAgLSB2YWx1ZX0lIDAsIDEwMCUgMCwgMTAwJSAxMDAlLCAkezEwMCAtIHZhbHVlfSUgMTAwJSlgO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaW1hZ2Uuc3R5bGUuY2xpcFBhdGggPSBgcG9seWdvbigwIDAsICR7dmFsdWV9JSAwLCAke3ZhbHVlfSUgMTAwJSwgMCAxMDAlKWA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVEaXJlY3Rpb24oKSB7XG4gICAgICAgIHRoaXMuaXNSVEwgPSAhIXRoaXMuZWwubmF0aXZlRWxlbWVudC5jbG9zZXN0KCdbZGlyPVwicnRsXCJdJyk7XG4gICAgfVxuXG4gICAgb2JzZXJ2ZURpcmVjdGlvbkNoYW5nZXMoKSB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXROb2RlID0gZG9jdW1lbnQ/LmRvY3VtZW50RWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IHsgYXR0cmlidXRlczogdHJ1ZSwgYXR0cmlidXRlRmlsdGVyOiBbJ2RpciddIH07XG5cbiAgICAgICAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZURpcmVjdGlvbigpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlci5vYnNlcnZlKHRhcmdldE5vZGUsIGNvbmZpZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMubXV0YXRpb25PYnNlcnZlcikge1xuICAgICAgICAgICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtJbWFnZUNvbXBhcmUsIFNoYXJlZE1vZHVsZV0sXG4gICAgZXhwb3J0czogW0ltYWdlQ29tcGFyZSwgU2hhcmVkTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBJbWFnZUNvbXBhcmVNb2R1bGUge31cbiJdfQ==