primeng 18.0.0-rc.1 → 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 +238 -232
  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
@@ -75,6 +75,11 @@ const theme = ({ dt }) => `
75
75
  height: ${dt('contextmenu.submenu.icon.size')};
76
76
  }
77
77
 
78
+ .p-contextmenu-submenu-icon:dir(rtl) {
79
+ margin-left: 0;
80
+ margin-right: auto;
81
+ }
82
+
78
83
  .p-contextmenu-item.p-focus > .p-contextmenu-item-content {
79
84
  color: ${dt('contextmenu.item.focus.color')};
80
85
  background: ${dt('contextmenu.item.focus.background')};
@@ -148,6 +153,11 @@ const theme = ({ dt }) => `
148
153
  .p-contextmenu-submenu-icon.p-iconwrapper {
149
154
  margin-left: auto;
150
155
  }
156
+
157
+ .p-contextmenu-submenu-icon.p-iconwrapper:dir(rtl) {
158
+ margin-left: 0;
159
+ margin-right: auto;
160
+ }
151
161
  `;
152
162
  const classes = {
153
163
  root: 'p-contextmenu p-component',
@@ -231,4 +241,4 @@ export var ContextMenuClasses;
231
241
  */
232
242
  ContextMenuClasses["separator"] = "p-contextmenu-separator";
233
243
  })(ContextMenuClasses || (ContextMenuClasses = {}));
234
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnVzdHlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb250ZXh0bWVudS9zdHlsZS9jb250ZXh0bWVudXN0eWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFFekMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQzs7O2tCQUdSLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQzthQUNqQyxFQUFFLENBQUMsbUJBQW1CLENBQUM7d0JBQ1osRUFBRSxDQUFDLDBCQUEwQixDQUFDO3FCQUNqQyxFQUFFLENBQUMsMkJBQTJCLENBQUM7a0JBQ2xDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzs7Ozs7OztlQU8zQixFQUFFLENBQUMsMEJBQTBCLENBQUM7Ozs7O1dBS2xDLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzs7Ozs7Ozs7O2tCQVNuQixFQUFFLENBQUMsd0JBQXdCLENBQUM7YUFDakMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO3dCQUNaLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztxQkFDakMsRUFBRSxDQUFDLDJCQUEyQixDQUFDO2tCQUNsQyxFQUFFLENBQUMsb0JBQW9CLENBQUM7Ozs7Ozs7OzZCQVFiLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztxQkFDN0YsRUFBRSxDQUFDLGdDQUFnQyxDQUFDO2FBQzVDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7ZUFXMUIsRUFBRSxDQUFDLDBCQUEwQixDQUFDO1dBQ2xDLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzs7Ozs7Ozs7O2FBU3hCLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQzs7OzthQUlqQyxFQUFFLENBQUMsZ0NBQWdDLENBQUM7O2lCQUVoQyxFQUFFLENBQUMsK0JBQStCLENBQUM7YUFDdkMsRUFBRSxDQUFDLCtCQUErQixDQUFDO2NBQ2xDLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQzs7OzthQUlwQyxFQUFFLENBQUMsOEJBQThCLENBQUM7a0JBQzdCLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQzs7OzthQUk1QyxFQUFFLENBQUMsbUNBQW1DLENBQUM7Ozs7YUFJdkMsRUFBRSxDQUFDLHNDQUFzQyxDQUFDOzs7O2FBSTFDLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztrQkFDN0IsRUFBRSxDQUFDLG1DQUFtQyxDQUFDOzs7O2FBSTVDLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQzs7OzthQUl2QyxFQUFFLENBQUMsc0NBQXNDLENBQUM7Ozs7YUFJMUMsRUFBRSxDQUFDLCtCQUErQixDQUFDO2tCQUM5QixFQUFFLENBQUMsb0NBQW9DLENBQUM7Ozs7YUFJN0MsRUFBRSxDQUFDLG9DQUFvQyxDQUFDOzs7O2FBSXhDLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQzs7Ozs2QkFJM0IsRUFBRSxDQUFDLG9DQUFvQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O29CQWdCakQsRUFBRSxDQUFDLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztDQWlCekQsQ0FBQztBQUVGLE1BQU0sT0FBTyxHQUFHO0lBQ1osSUFBSSxFQUFFLDJCQUEyQjtJQUNqQyxRQUFRLEVBQUUseUJBQXlCO0lBQ25DLElBQUksRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUNuQyxvQkFBb0I7UUFDcEI7WUFDSSwyQkFBMkIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQztZQUNqRSxTQUFTLEVBQUUsUUFBUSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7WUFDaEQsWUFBWSxFQUFFLFFBQVEsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDO1NBQ3ZEO0tBQ0o7SUFDRCxXQUFXLEVBQUUsNEJBQTRCO0lBQ3pDLFFBQVEsRUFBRSx5QkFBeUI7SUFDbkMsUUFBUSxFQUFFLHlCQUF5QjtJQUNuQyxTQUFTLEVBQUUsMEJBQTBCO0lBQ3JDLFdBQVcsRUFBRSw0QkFBNEI7SUFDekMsT0FBTyxFQUFFLHVCQUF1QjtJQUNoQyxTQUFTLEVBQUUseUJBQXlCO0NBQ3ZDLENBQUM7QUFHRixNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsU0FBUztJQUMzQyxJQUFJLEdBQUcsYUFBYSxDQUFDO0lBRXJCLEtBQUssR0FBRyxLQUFLLENBQUM7SUFFZCxPQUFPLEdBQUcsT0FBTyxDQUFDOzZPQUxULGdCQUFnQix5QkFBaEIsZ0JBQWdCO2dFQUFoQixnQkFBZ0IsV0FBaEIsZ0JBQWdCOztpRkFBaEIsZ0JBQWdCO2NBRDVCLFVBQVU7O0FBU1g7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxDQUFOLElBQVksa0JBeUNYO0FBekNELFdBQVksa0JBQWtCO0lBQzFCOztPQUVHO0lBQ0gsNENBQXNCLENBQUE7SUFDdEI7O09BRUc7SUFDSCwwREFBb0MsQ0FBQTtJQUNwQzs7T0FFRztJQUNILGlEQUEyQixDQUFBO0lBQzNCOztPQUVHO0lBQ0gsZ0VBQTBDLENBQUE7SUFDMUM7O09BRUc7SUFDSCwwREFBb0MsQ0FBQTtJQUNwQzs7T0FFRztJQUNILDBEQUFvQyxDQUFBO0lBQ3BDOztPQUVHO0lBQ0gsNERBQXNDLENBQUE7SUFDdEM7O09BRUc7SUFDSCxnRUFBMEMsQ0FBQTtJQUMxQzs7T0FFRztJQUNILHVEQUFpQyxDQUFBO0lBQ2pDOztPQUVHO0lBQ0gsMkRBQXFDLENBQUE7QUFDekMsQ0FBQyxFQXpDVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBeUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VTdHlsZSB9IGZyb20gJ3ByaW1lbmcvYmFzZSc7XG5cbmNvbnN0IHRoZW1lID0gKHsgZHQgfSkgPT4gYFxuLnAtY29udGV4dG1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdjb250ZXh0bWVudS5iYWNrZ3JvdW5kJyl9O1xuICAgIGNvbG9yOiAke2R0KCdjb250ZXh0bWVudS5jb2xvcicpfTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAke2R0KCdjb250ZXh0bWVudS5ib3JkZXIuY29sb3InKX07XG4gICAgYm9yZGVyLXJhZGl1czogJHtkdCgnY29udGV4dG1lbnUuYm9yZGVyLnJhZGl1cycpfTtcbiAgICBib3gtc2hhZG93OiAke2R0KCdjb250ZXh0bWVudS5zaGFkb3cnKX07XG4gICAgbWluLXdpZHRoOiAxMi41cmVtO1xufVxuXG4ucC1jb250ZXh0bWVudS1yb290LWxpc3QsXG4ucC1jb250ZXh0bWVudS1zdWJtZW51IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJHtkdCgnY29udGV4dG1lbnUubGlzdC5wYWRkaW5nJyl9O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgb3V0bGluZTogMCBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6ICR7ZHQoJ2NvbnRleHRtZW51Lmxpc3QuZ2FwJyl9O1xufVxuXG4ucC1jb250ZXh0bWVudS1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2NvbnRleHRtZW51LmJhY2tncm91bmQnKX07XG4gICAgY29sb3I6ICR7ZHQoJ2NvbnRleHRtZW51LmNvbG9yJyl9O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZHQoJ2NvbnRleHRtZW51LmJvcmRlci5jb2xvcicpfTtcbiAgICBib3JkZXItcmFkaXVzOiAke2R0KCdjb250ZXh0bWVudS5ib3JkZXIucmFkaXVzJyl9O1xuICAgIGJveC1zaGFkb3c6ICR7ZHQoJ2NvbnRleHRtZW51LnNoYWRvdycpfTtcbn1cblxuLnAtY29udGV4dG1lbnUtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucC1jb250ZXh0bWVudS1pdGVtLWNvbnRlbnQge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJHtkdCgnY29udGV4dG1lbnUudHJhbnNpdGlvbi5kdXJhdGlvbicpfSwgY29sb3IgJHtkdCgnY29udGV4dG1lbnUudHJhbnNpdGlvbi5kdXJhdGlvbicpfTtcbiAgICBib3JkZXItcmFkaXVzOiAke2R0KCdjb250ZXh0bWVudS5pdGVtLmJvcmRlci5yYWRpdXMnKX07XG4gICAgY29sb3I6ICR7ZHQoJ2NvbnRleHRtZW51Lml0ZW0uY29sb3InKX07XG59XG5cbi5wLWNvbnRleHRtZW51LWl0ZW0tbGluayB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogJHtkdCgnY29udGV4dG1lbnUuaXRlbS5wYWRkaW5nJyl9O1xuICAgIGdhcDogJHtkdCgnY29udGV4dG1lbnUuaXRlbS5nYXAnKX07XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5wLWNvbnRleHRtZW51LWl0ZW0tbGFiZWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4ucC1jb250ZXh0bWVudS1pdGVtLWljb24ge1xuICAgIGNvbG9yOiAke2R0KCdjb250ZXh0bWVudS5pdGVtLmljb24uY29sb3InKX07XG59XG5cbi5wLWNvbnRleHRtZW51LXN1Ym1lbnUtaWNvbiB7XG4gICAgY29sb3I6ICR7ZHQoJ2NvbnRleHRtZW51LnN1Ym1lbnUuaWNvbi5jb2xvcicpfTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBmb250LXNpemU6ICR7ZHQoJ2NvbnRleHRtZW51LnN1Ym1lbnUuaWNvbi5zaXplJyl9O1xuICAgIHdpZHRoOiAke2R0KCdjb250ZXh0bWVudS5zdWJtZW51Lmljb24uc2l6ZScpfTtcbiAgICBoZWlnaHQ6ICR7ZHQoJ2NvbnRleHRtZW51LnN1Ym1lbnUuaWNvbi5zaXplJyl9O1xufVxuXG4ucC1jb250ZXh0bWVudS1pdGVtLnAtZm9jdXMgPiAucC1jb250ZXh0bWVudS1pdGVtLWNvbnRlbnQge1xuICAgIGNvbG9yOiAke2R0KCdjb250ZXh0bWVudS5pdGVtLmZvY3VzLmNvbG9yJyl9O1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2NvbnRleHRtZW51Lml0ZW0uZm9jdXMuYmFja2dyb3VuZCcpfTtcbn1cblxuLnAtY29udGV4dG1lbnUtaXRlbS5wLWZvY3VzID4gLnAtY29udGV4dG1lbnUtaXRlbS1jb250ZW50IC5wLWNvbnRleHRtZW51LWl0ZW0taWNvbiB7XG4gICAgY29sb3I6ICR7ZHQoJ2NvbnRleHRtZW51Lml0ZW0uaWNvbi5mb2N1cy5jb2xvcicpfTtcbn1cblxuLnAtY29udGV4dG1lbnUtaXRlbS5wLWZvY3VzID4gLnAtY29udGV4dG1lbnUtaXRlbS1jb250ZW50IC5wLWNvbnRleHRtZW51LXN1Ym1lbnUtaWNvbiB7XG4gICAgY29sb3I6ICR7ZHQoJ2NvbnRleHRtZW51LnN1Ym1lbnUuaWNvbi5mb2N1cy5jb2xvcicpfTtcbn1cblxuLnAtY29udGV4dG1lbnUtaXRlbTpub3QoLnAtZGlzYWJsZWQpID4gLnAtY29udGV4dG1lbnUtaXRlbS1jb250ZW50OmhvdmVyIHtcbiAgICBjb2xvcjogJHtkdCgnY29udGV4dG1lbnUuaXRlbS5mb2N1cy5jb2xvcicpfTtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdjb250ZXh0bWVudS5pdGVtLmZvY3VzLmJhY2tncm91bmQnKX07XG59XG5cbi5wLWNvbnRleHRtZW51LWl0ZW06bm90KC5wLWRpc2FibGVkKSA+IC5wLWNvbnRleHRtZW51LWl0ZW0tY29udGVudDpob3ZlciAucC1jb250ZXh0bWVudS1pdGVtLWljb24ge1xuICAgIGNvbG9yOiAke2R0KCdjb250ZXh0bWVudS5pdGVtLmljb24uZm9jdXMuY29sb3InKX07XG59XG5cbi5wLWNvbnRleHRtZW51LWl0ZW06bm90KC5wLWRpc2FibGVkKSA+IC5wLWNvbnRleHRtZW51LWl0ZW0tY29udGVudDpob3ZlciAucC1jb250ZXh0bWVudS1zdWJtZW51LWljb24ge1xuICAgIGNvbG9yOiAke2R0KCdjb250ZXh0bWVudS5zdWJtZW51Lmljb24uZm9jdXMuY29sb3InKX07XG59XG5cbi5wLWNvbnRleHRtZW51LWl0ZW0tYWN0aXZlID4gLnAtY29udGV4dG1lbnUtaXRlbS1jb250ZW50IHtcbiAgICBjb2xvcjogJHtkdCgnY29udGV4dG1lbnUuaXRlbS5hY3RpdmUuY29sb3InKX07XG4gICAgYmFja2dyb3VuZDogJHtkdCgnY29udGV4dG1lbnUuaXRlbS5hY3RpdmUuYmFja2dyb3VuZCcpfTtcbn1cblxuLnAtY29udGV4dG1lbnUtaXRlbS1hY3RpdmUgPiAucC1jb250ZXh0bWVudS1pdGVtLWNvbnRlbnQgLnAtY29udGV4dG1lbnUtaXRlbS1pY29uIHtcbiAgICBjb2xvcjogJHtkdCgnY29udGV4dG1lbnUuaXRlbS5pY29uLmFjdGl2ZS5jb2xvcicpfTtcbn1cblxuLnAtY29udGV4dG1lbnUtaXRlbS1hY3RpdmUgPiAucC1jb250ZXh0bWVudS1pdGVtLWNvbnRlbnQgLnAtY29udGV4dG1lbnUtc3VibWVudS1pY29uIHtcbiAgICBjb2xvcjogJHtkdCgnY29udGV4dG1lbnUuc3VibWVudS5pY29uLmFjdGl2ZS5jb2xvcicpfTtcbn1cblxuLnAtY29udGV4dG1lbnUtc2VwYXJhdG9yIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgICR7ZHQoJ2NvbnRleHRtZW51LnNlcGFyYXRvci5ib3JkZXIuY29sb3InKX07XG59XG5cbi5wLWNvbnRleHRtZW51LWVudGVyLWZyb20sXG4ucC1jb250ZXh0bWVudS1sZWF2ZS1hY3RpdmUge1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi5wLWNvbnRleHRtZW51LWVudGVyLWFjdGl2ZSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyNTBtcztcbn1cblxuLnAtY29udGV4dG1lbnUtbW9iaWxlIC5wLWNvbnRleHRtZW51LXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDAgbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6ICR7ZHQoJ3RpZXJlZG1lbnUuc3VibWVudS5tb2JpbGUuaW5kZW50Jyl9O1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5wLWNvbnRleHRtZW51LW1vYmlsZSAucC1jb250ZXh0bWVudS1zdWJtZW51LWljb24ge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuLnAtY29udGV4dG1lbnUtbW9iaWxlIC5wLWNvbnRleHRtZW51LWl0ZW0tYWN0aXZlID4gLnAtY29udGV4dG1lbnUtaXRlbS1jb250ZW50IC5wLWNvbnRleHRtZW51LXN1Ym1lbnUtaWNvbiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbn1cblxuLyogRm9yIFByaW1lTkcgKi9cbi5wLWNvbnRleHRtZW51LXN1Ym1lbnUtaWNvbi5wLWljb253cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbmA7XG5cbmNvbnN0IGNsYXNzZXMgPSB7XG4gICAgcm9vdDogJ3AtY29udGV4dG1lbnUgcC1jb21wb25lbnQnLFxuICAgIHJvb3RMaXN0OiAncC1jb250ZXh0bWVudS1yb290LWxpc3QnLFxuICAgIGl0ZW06ICh7IGluc3RhbmNlLCBwcm9jZXNzZWRJdGVtIH0pID0+IFtcbiAgICAgICAgJ3AtY29udGV4dG1lbnUtaXRlbScsXG4gICAgICAgIHtcbiAgICAgICAgICAgICdwLWNvbnRleHRtZW51LWl0ZW0tYWN0aXZlJzogaW5zdGFuY2UuaXNJdGVtQWN0aXZlKHByb2Nlc3NlZEl0ZW0pLFxuICAgICAgICAgICAgJ3AtZm9jdXMnOiBpbnN0YW5jZS5pc0l0ZW1Gb2N1c2VkKHByb2Nlc3NlZEl0ZW0pLFxuICAgICAgICAgICAgJ3AtZGlzYWJsZWQnOiBpbnN0YW5jZS5pc0l0ZW1EaXNhYmxlZChwcm9jZXNzZWRJdGVtKVxuICAgICAgICB9XG4gICAgXSxcbiAgICBpdGVtQ29udGVudDogJ3AtY29udGV4dG1lbnUtaXRlbS1jb250ZW50JyxcbiAgICBpdGVtTGluazogJ3AtY29udGV4dG1lbnUtaXRlbS1saW5rJyxcbiAgICBpdGVtSWNvbjogJ3AtY29udGV4dG1lbnUtaXRlbS1pY29uJyxcbiAgICBpdGVtTGFiZWw6ICdwLWNvbnRleHRtZW51LWl0ZW0tbGFiZWwnLFxuICAgIHN1Ym1lbnVJY29uOiAncC1jb250ZXh0bWVudS1zdWJtZW51LWljb24nLFxuICAgIHN1Ym1lbnU6ICdwLWNvbnRleHRtZW51LXN1Ym1lbnUnLFxuICAgIHNlcGFyYXRvcjogJ3AtY29udGV4dG1lbnUtc2VwYXJhdG9yJ1xufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbnRleHRNZW51U3R5bGUgZXh0ZW5kcyBCYXNlU3R5bGUge1xuICAgIG5hbWUgPSAnY29udGV4dG1lbnUnO1xuXG4gICAgdGhlbWUgPSB0aGVtZTtcblxuICAgIGNsYXNzZXMgPSBjbGFzc2VzO1xufVxuXG4vKipcbiAqXG4gKiBDb250ZXh0TWVudSBkaXNwbGF5cyBhbiBvdmVybGF5IG1lbnUgb24gcmlnaHQgY2xpY2sgb2YgaXRzIHRhcmdldC4gTm90ZSB0aGF0IGNvbXBvbmVudHMgbGlrZSBEYXRhVGFibGUgaGFzIHNwZWNpYWwgaW50ZWdyYXRpb24gd2l0aCBDb250ZXh0TWVudS5cbiAqIFJlZmVyIHRvIGRvY3VtZW50YXRpb24gb2YgdGhlIGluZGl2aWR1YWwgZG9jdW1lbnRhdGlvbiBvZiB0aGUgd2l0aCBjb250ZXh0IG1lbnUgc3VwcG9ydC5cbiAqXG4gKiBbTGl2ZSBEZW1vXShodHRwczovL3d3dy5wcmltZW5nLm9yZy9jb250ZXh0bWVudS8pXG4gKlxuICogQG1vZHVsZSBjb250ZXh0bWVudXN0eWxlXG4gKlxuICovXG5leHBvcnQgZW51bSBDb250ZXh0TWVudUNsYXNzZXMge1xuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHJvb3QgZWxlbWVudFxuICAgICAqL1xuICAgIHJvb3QgPSAncC1jb250ZXh0bWVudScsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgcm9vdCBsaXN0IGVsZW1lbnRcbiAgICAgKi9cbiAgICByb290TGlzdCA9ICdwLWNvbnRleHRtZW51LXJvb3QtbGlzdCcsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgaXRlbSBlbGVtZW50XG4gICAgICovXG4gICAgaXRlbSA9ICdwLWNvbnRleHRtZW51LWl0ZW0nLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGl0ZW0gY29udGVudCBlbGVtZW50XG4gICAgICovXG4gICAgaXRlbUNvbnRlbnQgPSAncC1jb250ZXh0bWVudS1pdGVtLWNvbnRlbnQnLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGl0ZW0gbGluayBlbGVtZW50XG4gICAgICovXG4gICAgaXRlbUxpbmsgPSAncC1jb250ZXh0bWVudS1pdGVtLWxpbmsnLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGl0ZW0gaWNvbiBlbGVtZW50XG4gICAgICovXG4gICAgaXRlbUljb24gPSAncC1jb250ZXh0bWVudS1pdGVtLWljb24nLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGl0ZW0gbGFiZWwgZWxlbWVudFxuICAgICAqL1xuICAgIGl0ZW1MYWJlbCA9ICdwLWNvbnRleHRtZW51LWl0ZW0tbGFiZWwnLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHN1Ym1lbnUgaWNvbiBlbGVtZW50XG4gICAgICovXG4gICAgc3VibWVudUljb24gPSAncC1jb250ZXh0bWVudS1zdWJtZW51LWljb24nLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHN1Ym1lbnUgZWxlbWVudFxuICAgICAqL1xuICAgIHN1Ym1lbnUgPSAncC1jb250ZXh0bWVudS1zdWJtZW51JyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBzZXBhcmF0b3IgZWxlbWVudFxuICAgICAqL1xuICAgIHNlcGFyYXRvciA9ICdwLWNvbnRleHRtZW51LXNlcGFyYXRvcidcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb250ZXh0TWVudVN0eWxlIGV4dGVuZHMgQmFzZVN0eWxlIHt9XG4iXX0=
244
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnVzdHlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb250ZXh0bWVudS9zdHlsZS9jb250ZXh0bWVudXN0eWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFFekMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQzs7O2tCQUdSLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQzthQUNqQyxFQUFFLENBQUMsbUJBQW1CLENBQUM7d0JBQ1osRUFBRSxDQUFDLDBCQUEwQixDQUFDO3FCQUNqQyxFQUFFLENBQUMsMkJBQTJCLENBQUM7a0JBQ2xDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzs7Ozs7OztlQU8zQixFQUFFLENBQUMsMEJBQTBCLENBQUM7Ozs7O1dBS2xDLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzs7Ozs7Ozs7O2tCQVNuQixFQUFFLENBQUMsd0JBQXdCLENBQUM7YUFDakMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO3dCQUNaLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztxQkFDakMsRUFBRSxDQUFDLDJCQUEyQixDQUFDO2tCQUNsQyxFQUFFLENBQUMsb0JBQW9CLENBQUM7Ozs7Ozs7OzZCQVFiLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztxQkFDN0YsRUFBRSxDQUFDLGdDQUFnQyxDQUFDO2FBQzVDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7ZUFXMUIsRUFBRSxDQUFDLDBCQUEwQixDQUFDO1dBQ2xDLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzs7Ozs7Ozs7O2FBU3hCLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQzs7OzthQUlqQyxFQUFFLENBQUMsZ0NBQWdDLENBQUM7O2lCQUVoQyxFQUFFLENBQUMsK0JBQStCLENBQUM7YUFDdkMsRUFBRSxDQUFDLCtCQUErQixDQUFDO2NBQ2xDLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQzs7Ozs7Ozs7O2FBU3BDLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztrQkFDN0IsRUFBRSxDQUFDLG1DQUFtQyxDQUFDOzs7O2FBSTVDLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQzs7OzthQUl2QyxFQUFFLENBQUMsc0NBQXNDLENBQUM7Ozs7YUFJMUMsRUFBRSxDQUFDLDhCQUE4QixDQUFDO2tCQUM3QixFQUFFLENBQUMsbUNBQW1DLENBQUM7Ozs7YUFJNUMsRUFBRSxDQUFDLG1DQUFtQyxDQUFDOzs7O2FBSXZDLEVBQUUsQ0FBQyxzQ0FBc0MsQ0FBQzs7OzthQUkxQyxFQUFFLENBQUMsK0JBQStCLENBQUM7a0JBQzlCLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQzs7OzthQUk3QyxFQUFFLENBQUMsb0NBQW9DLENBQUM7Ozs7YUFJeEMsRUFBRSxDQUFDLHVDQUF1QyxDQUFDOzs7OzZCQUkzQixFQUFFLENBQUMsb0NBQW9DLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7b0JBZ0JqRCxFQUFFLENBQUMsa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FzQnpELENBQUM7QUFFRixNQUFNLE9BQU8sR0FBRztJQUNaLElBQUksRUFBRSwyQkFBMkI7SUFDakMsUUFBUSxFQUFFLHlCQUF5QjtJQUNuQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDbkMsb0JBQW9CO1FBQ3BCO1lBQ0ksMkJBQTJCLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUM7WUFDakUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO1lBQ2hELFlBQVksRUFBRSxRQUFRLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQztTQUN2RDtLQUNKO0lBQ0QsV0FBVyxFQUFFLDRCQUE0QjtJQUN6QyxRQUFRLEVBQUUseUJBQXlCO0lBQ25DLFFBQVEsRUFBRSx5QkFBeUI7SUFDbkMsU0FBUyxFQUFFLDBCQUEwQjtJQUNyQyxXQUFXLEVBQUUsNEJBQTRCO0lBQ3pDLE9BQU8sRUFBRSx1QkFBdUI7SUFDaEMsU0FBUyxFQUFFLHlCQUF5QjtDQUN2QyxDQUFDO0FBR0YsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFNBQVM7SUFDM0MsSUFBSSxHQUFHLGFBQWEsQ0FBQztJQUVyQixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBRWQsT0FBTyxHQUFHLE9BQU8sQ0FBQzs2T0FMVCxnQkFBZ0IseUJBQWhCLGdCQUFnQjtnRUFBaEIsZ0JBQWdCLFdBQWhCLGdCQUFnQjs7aUZBQWhCLGdCQUFnQjtjQUQ1QixVQUFVOztBQVNYOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sQ0FBTixJQUFZLGtCQXlDWDtBQXpDRCxXQUFZLGtCQUFrQjtJQUMxQjs7T0FFRztJQUNILDRDQUFzQixDQUFBO0lBQ3RCOztPQUVHO0lBQ0gsMERBQW9DLENBQUE7SUFDcEM7O09BRUc7SUFDSCxpREFBMkIsQ0FBQTtJQUMzQjs7T0FFRztJQUNILGdFQUEwQyxDQUFBO0lBQzFDOztPQUVHO0lBQ0gsMERBQW9DLENBQUE7SUFDcEM7O09BRUc7SUFDSCwwREFBb0MsQ0FBQTtJQUNwQzs7T0FFRztJQUNILDREQUFzQyxDQUFBO0lBQ3RDOztPQUVHO0lBQ0gsZ0VBQTBDLENBQUE7SUFDMUM7O09BRUc7SUFDSCx1REFBaUMsQ0FBQTtJQUNqQzs7T0FFRztJQUNILDJEQUFxQyxDQUFBO0FBQ3pDLENBQUMsRUF6Q1csa0JBQWtCLEtBQWxCLGtCQUFrQixRQXlDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlU3R5bGUgfSBmcm9tICdwcmltZW5nL2Jhc2UnO1xuXG5jb25zdCB0aGVtZSA9ICh7IGR0IH0pID0+IGBcbi5wLWNvbnRleHRtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogJHtkdCgnY29udGV4dG1lbnUuYmFja2dyb3VuZCcpfTtcbiAgICBjb2xvcjogJHtkdCgnY29udGV4dG1lbnUuY29sb3InKX07XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHtkdCgnY29udGV4dG1lbnUuYm9yZGVyLmNvbG9yJyl9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7ZHQoJ2NvbnRleHRtZW51LmJvcmRlci5yYWRpdXMnKX07XG4gICAgYm94LXNoYWRvdzogJHtkdCgnY29udGV4dG1lbnUuc2hhZG93Jyl9O1xuICAgIG1pbi13aWR0aDogMTIuNXJlbTtcbn1cblxuLnAtY29udGV4dG1lbnUtcm9vdC1saXN0LFxuLnAtY29udGV4dG1lbnUtc3VibWVudSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICR7ZHQoJ2NvbnRleHRtZW51Lmxpc3QucGFkZGluZycpfTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG91dGxpbmU6IDAgbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAke2R0KCdjb250ZXh0bWVudS5saXN0LmdhcCcpfTtcbn1cblxuLnAtY29udGV4dG1lbnUtc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdjb250ZXh0bWVudS5iYWNrZ3JvdW5kJyl9O1xuICAgIGNvbG9yOiAke2R0KCdjb250ZXh0bWVudS5jb2xvcicpfTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAke2R0KCdjb250ZXh0bWVudS5ib3JkZXIuY29sb3InKX07XG4gICAgYm9yZGVyLXJhZGl1czogJHtkdCgnY29udGV4dG1lbnUuYm9yZGVyLnJhZGl1cycpfTtcbiAgICBib3gtc2hhZG93OiAke2R0KCdjb250ZXh0bWVudS5zaGFkb3cnKX07XG59XG5cbi5wLWNvbnRleHRtZW51LWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnAtY29udGV4dG1lbnUtaXRlbS1jb250ZW50IHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICR7ZHQoJ2NvbnRleHRtZW51LnRyYW5zaXRpb24uZHVyYXRpb24nKX0sIGNvbG9yICR7ZHQoJ2NvbnRleHRtZW51LnRyYW5zaXRpb24uZHVyYXRpb24nKX07XG4gICAgYm9yZGVyLXJhZGl1czogJHtkdCgnY29udGV4dG1lbnUuaXRlbS5ib3JkZXIucmFkaXVzJyl9O1xuICAgIGNvbG9yOiAke2R0KCdjb250ZXh0bWVudS5pdGVtLmNvbG9yJyl9O1xufVxuXG4ucC1jb250ZXh0bWVudS1pdGVtLWxpbmsge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHBhZGRpbmc6ICR7ZHQoJ2NvbnRleHRtZW51Lml0ZW0ucGFkZGluZycpfTtcbiAgICBnYXA6ICR7ZHQoJ2NvbnRleHRtZW51Lml0ZW0uZ2FwJyl9O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ucC1jb250ZXh0bWVudS1pdGVtLWxhYmVsIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbn1cblxuLnAtY29udGV4dG1lbnUtaXRlbS1pY29uIHtcbiAgICBjb2xvcjogJHtkdCgnY29udGV4dG1lbnUuaXRlbS5pY29uLmNvbG9yJyl9O1xufVxuXG4ucC1jb250ZXh0bWVudS1zdWJtZW51LWljb24ge1xuICAgIGNvbG9yOiAke2R0KCdjb250ZXh0bWVudS5zdWJtZW51Lmljb24uY29sb3InKX07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZm9udC1zaXplOiAke2R0KCdjb250ZXh0bWVudS5zdWJtZW51Lmljb24uc2l6ZScpfTtcbiAgICB3aWR0aDogJHtkdCgnY29udGV4dG1lbnUuc3VibWVudS5pY29uLnNpemUnKX07XG4gICAgaGVpZ2h0OiAke2R0KCdjb250ZXh0bWVudS5zdWJtZW51Lmljb24uc2l6ZScpfTtcbn1cblxuLnAtY29udGV4dG1lbnUtc3VibWVudS1pY29uOmRpcihydGwpIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5wLWNvbnRleHRtZW51LWl0ZW0ucC1mb2N1cyA+IC5wLWNvbnRleHRtZW51LWl0ZW0tY29udGVudCB7XG4gICAgY29sb3I6ICR7ZHQoJ2NvbnRleHRtZW51Lml0ZW0uZm9jdXMuY29sb3InKX07XG4gICAgYmFja2dyb3VuZDogJHtkdCgnY29udGV4dG1lbnUuaXRlbS5mb2N1cy5iYWNrZ3JvdW5kJyl9O1xufVxuXG4ucC1jb250ZXh0bWVudS1pdGVtLnAtZm9jdXMgPiAucC1jb250ZXh0bWVudS1pdGVtLWNvbnRlbnQgLnAtY29udGV4dG1lbnUtaXRlbS1pY29uIHtcbiAgICBjb2xvcjogJHtkdCgnY29udGV4dG1lbnUuaXRlbS5pY29uLmZvY3VzLmNvbG9yJyl9O1xufVxuXG4ucC1jb250ZXh0bWVudS1pdGVtLnAtZm9jdXMgPiAucC1jb250ZXh0bWVudS1pdGVtLWNvbnRlbnQgLnAtY29udGV4dG1lbnUtc3VibWVudS1pY29uIHtcbiAgICBjb2xvcjogJHtkdCgnY29udGV4dG1lbnUuc3VibWVudS5pY29uLmZvY3VzLmNvbG9yJyl9O1xufVxuXG4ucC1jb250ZXh0bWVudS1pdGVtOm5vdCgucC1kaXNhYmxlZCkgPiAucC1jb250ZXh0bWVudS1pdGVtLWNvbnRlbnQ6aG92ZXIge1xuICAgIGNvbG9yOiAke2R0KCdjb250ZXh0bWVudS5pdGVtLmZvY3VzLmNvbG9yJyl9O1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ2NvbnRleHRtZW51Lml0ZW0uZm9jdXMuYmFja2dyb3VuZCcpfTtcbn1cblxuLnAtY29udGV4dG1lbnUtaXRlbTpub3QoLnAtZGlzYWJsZWQpID4gLnAtY29udGV4dG1lbnUtaXRlbS1jb250ZW50OmhvdmVyIC5wLWNvbnRleHRtZW51LWl0ZW0taWNvbiB7XG4gICAgY29sb3I6ICR7ZHQoJ2NvbnRleHRtZW51Lml0ZW0uaWNvbi5mb2N1cy5jb2xvcicpfTtcbn1cblxuLnAtY29udGV4dG1lbnUtaXRlbTpub3QoLnAtZGlzYWJsZWQpID4gLnAtY29udGV4dG1lbnUtaXRlbS1jb250ZW50OmhvdmVyIC5wLWNvbnRleHRtZW51LXN1Ym1lbnUtaWNvbiB7XG4gICAgY29sb3I6ICR7ZHQoJ2NvbnRleHRtZW51LnN1Ym1lbnUuaWNvbi5mb2N1cy5jb2xvcicpfTtcbn1cblxuLnAtY29udGV4dG1lbnUtaXRlbS1hY3RpdmUgPiAucC1jb250ZXh0bWVudS1pdGVtLWNvbnRlbnQge1xuICAgIGNvbG9yOiAke2R0KCdjb250ZXh0bWVudS5pdGVtLmFjdGl2ZS5jb2xvcicpfTtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdjb250ZXh0bWVudS5pdGVtLmFjdGl2ZS5iYWNrZ3JvdW5kJyl9O1xufVxuXG4ucC1jb250ZXh0bWVudS1pdGVtLWFjdGl2ZSA+IC5wLWNvbnRleHRtZW51LWl0ZW0tY29udGVudCAucC1jb250ZXh0bWVudS1pdGVtLWljb24ge1xuICAgIGNvbG9yOiAke2R0KCdjb250ZXh0bWVudS5pdGVtLmljb24uYWN0aXZlLmNvbG9yJyl9O1xufVxuXG4ucC1jb250ZXh0bWVudS1pdGVtLWFjdGl2ZSA+IC5wLWNvbnRleHRtZW51LWl0ZW0tY29udGVudCAucC1jb250ZXh0bWVudS1zdWJtZW51LWljb24ge1xuICAgIGNvbG9yOiAke2R0KCdjb250ZXh0bWVudS5zdWJtZW51Lmljb24uYWN0aXZlLmNvbG9yJyl9O1xufVxuXG4ucC1jb250ZXh0bWVudS1zZXBhcmF0b3Ige1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAgJHtkdCgnY29udGV4dG1lbnUuc2VwYXJhdG9yLmJvcmRlci5jb2xvcicpfTtcbn1cblxuLnAtY29udGV4dG1lbnUtZW50ZXItZnJvbSxcbi5wLWNvbnRleHRtZW51LWxlYXZlLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLnAtY29udGV4dG1lbnUtZW50ZXItYWN0aXZlIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zO1xufVxuXG4ucC1jb250ZXh0bWVudS1tb2JpbGUgLnAtY29udGV4dG1lbnUtc3VibWVudSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIHBhZGRpbmctbGVmdDogJHtkdCgndGllcmVkbWVudS5zdWJtZW51Lm1vYmlsZS5pbmRlbnQnKX07XG4gICAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLnAtY29udGV4dG1lbnUtbW9iaWxlIC5wLWNvbnRleHRtZW51LXN1Ym1lbnUtaWNvbiB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnM7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG4ucC1jb250ZXh0bWVudS1tb2JpbGUgLnAtY29udGV4dG1lbnUtaXRlbS1hY3RpdmUgPiAucC1jb250ZXh0bWVudS1pdGVtLWNvbnRlbnQgLnAtY29udGV4dG1lbnUtc3VibWVudS1pY29uIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xufVxuXG4vKiBGb3IgUHJpbWVORyAqL1xuLnAtY29udGV4dG1lbnUtc3VibWVudS1pY29uLnAtaWNvbndyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4ucC1jb250ZXh0bWVudS1zdWJtZW51LWljb24ucC1pY29ud3JhcHBlcjpkaXIocnRsKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuYDtcblxuY29uc3QgY2xhc3NlcyA9IHtcbiAgICByb290OiAncC1jb250ZXh0bWVudSBwLWNvbXBvbmVudCcsXG4gICAgcm9vdExpc3Q6ICdwLWNvbnRleHRtZW51LXJvb3QtbGlzdCcsXG4gICAgaXRlbTogKHsgaW5zdGFuY2UsIHByb2Nlc3NlZEl0ZW0gfSkgPT4gW1xuICAgICAgICAncC1jb250ZXh0bWVudS1pdGVtJyxcbiAgICAgICAge1xuICAgICAgICAgICAgJ3AtY29udGV4dG1lbnUtaXRlbS1hY3RpdmUnOiBpbnN0YW5jZS5pc0l0ZW1BY3RpdmUocHJvY2Vzc2VkSXRlbSksXG4gICAgICAgICAgICAncC1mb2N1cyc6IGluc3RhbmNlLmlzSXRlbUZvY3VzZWQocHJvY2Vzc2VkSXRlbSksXG4gICAgICAgICAgICAncC1kaXNhYmxlZCc6IGluc3RhbmNlLmlzSXRlbURpc2FibGVkKHByb2Nlc3NlZEl0ZW0pXG4gICAgICAgIH1cbiAgICBdLFxuICAgIGl0ZW1Db250ZW50OiAncC1jb250ZXh0bWVudS1pdGVtLWNvbnRlbnQnLFxuICAgIGl0ZW1MaW5rOiAncC1jb250ZXh0bWVudS1pdGVtLWxpbmsnLFxuICAgIGl0ZW1JY29uOiAncC1jb250ZXh0bWVudS1pdGVtLWljb24nLFxuICAgIGl0ZW1MYWJlbDogJ3AtY29udGV4dG1lbnUtaXRlbS1sYWJlbCcsXG4gICAgc3VibWVudUljb246ICdwLWNvbnRleHRtZW51LXN1Ym1lbnUtaWNvbicsXG4gICAgc3VibWVudTogJ3AtY29udGV4dG1lbnUtc3VibWVudScsXG4gICAgc2VwYXJhdG9yOiAncC1jb250ZXh0bWVudS1zZXBhcmF0b3InXG59O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29udGV4dE1lbnVTdHlsZSBleHRlbmRzIEJhc2VTdHlsZSB7XG4gICAgbmFtZSA9ICdjb250ZXh0bWVudSc7XG5cbiAgICB0aGVtZSA9IHRoZW1lO1xuXG4gICAgY2xhc3NlcyA9IGNsYXNzZXM7XG59XG5cbi8qKlxuICpcbiAqIENvbnRleHRNZW51IGRpc3BsYXlzIGFuIG92ZXJsYXkgbWVudSBvbiByaWdodCBjbGljayBvZiBpdHMgdGFyZ2V0LiBOb3RlIHRoYXQgY29tcG9uZW50cyBsaWtlIERhdGFUYWJsZSBoYXMgc3BlY2lhbCBpbnRlZ3JhdGlvbiB3aXRoIENvbnRleHRNZW51LlxuICogUmVmZXIgdG8gZG9jdW1lbnRhdGlvbiBvZiB0aGUgaW5kaXZpZHVhbCBkb2N1bWVudGF0aW9uIG9mIHRoZSB3aXRoIGNvbnRleHQgbWVudSBzdXBwb3J0LlxuICpcbiAqIFtMaXZlIERlbW9dKGh0dHBzOi8vd3d3LnByaW1lbmcub3JnL2NvbnRleHRtZW51LylcbiAqXG4gKiBAbW9kdWxlIGNvbnRleHRtZW51c3R5bGVcbiAqXG4gKi9cbmV4cG9ydCBlbnVtIENvbnRleHRNZW51Q2xhc3NlcyB7XG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgcm9vdCBlbGVtZW50XG4gICAgICovXG4gICAgcm9vdCA9ICdwLWNvbnRleHRtZW51JyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSByb290IGxpc3QgZWxlbWVudFxuICAgICAqL1xuICAgIHJvb3RMaXN0ID0gJ3AtY29udGV4dG1lbnUtcm9vdC1saXN0JyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBpdGVtIGVsZW1lbnRcbiAgICAgKi9cbiAgICBpdGVtID0gJ3AtY29udGV4dG1lbnUtaXRlbScsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgaXRlbSBjb250ZW50IGVsZW1lbnRcbiAgICAgKi9cbiAgICBpdGVtQ29udGVudCA9ICdwLWNvbnRleHRtZW51LWl0ZW0tY29udGVudCcsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgaXRlbSBsaW5rIGVsZW1lbnRcbiAgICAgKi9cbiAgICBpdGVtTGluayA9ICdwLWNvbnRleHRtZW51LWl0ZW0tbGluaycsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgaXRlbSBpY29uIGVsZW1lbnRcbiAgICAgKi9cbiAgICBpdGVtSWNvbiA9ICdwLWNvbnRleHRtZW51LWl0ZW0taWNvbicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgaXRlbSBsYWJlbCBlbGVtZW50XG4gICAgICovXG4gICAgaXRlbUxhYmVsID0gJ3AtY29udGV4dG1lbnUtaXRlbS1sYWJlbCcsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgc3VibWVudSBpY29uIGVsZW1lbnRcbiAgICAgKi9cbiAgICBzdWJtZW51SWNvbiA9ICdwLWNvbnRleHRtZW51LXN1Ym1lbnUtaWNvbicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgc3VibWVudSBlbGVtZW50XG4gICAgICovXG4gICAgc3VibWVudSA9ICdwLWNvbnRleHRtZW51LXN1Ym1lbnUnLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIHNlcGFyYXRvciBlbGVtZW50XG4gICAgICovXG4gICAgc2VwYXJhdG9yID0gJ3AtY29udGV4dG1lbnUtc2VwYXJhdG9yJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRleHRNZW51U3R5bGUgZXh0ZW5kcyBCYXNlU3R5bGUge31cbiJdfQ==
@@ -46,9 +46,9 @@ function DataView_div_1_ng_container_3_Template(rf, ctx) { if (rf & 1) {
46
46
  } if (rf & 2) {
47
47
  const ctx_r0 = i0.ɵɵnextContext(2);
48
48
  i0.ɵɵadvance();
49
- i0.ɵɵproperty("ngIf", !ctx_r0.loadingIconTemplate);
49
+ i0.ɵɵproperty("ngIf", !ctx_r0.loadingicon);
50
50
  i0.ɵɵadvance();
51
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.loadingIconTemplate);
51
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.loadingicon);
52
52
  } }
53
53
  function DataView_div_1_Template(rf, ctx) { if (rf & 1) {
54
54
  i0.ɵɵelementStart(0, "div", 9)(1, "div", 10);
@@ -81,7 +81,7 @@ function DataView_p_paginator_3_Template(rf, ctx) { if (rf & 1) {
81
81
  i0.ɵɵelementEnd();
82
82
  } if (rf & 2) {
83
83
  const ctx_r0 = i0.ɵɵnextContext();
84
- i0.ɵɵproperty("rows", ctx_r0.rows)("first", ctx_r0.first)("totalRecords", ctx_r0.totalRecords)("pageLinkSize", ctx_r0.pageLinks)("alwaysShow", ctx_r0.alwaysShowPaginator)("rowsPerPageOptions", ctx_r0.rowsPerPageOptions)("dropdownAppendTo", ctx_r0.paginatorDropdownAppendTo)("dropdownScrollHeight", ctx_r0.paginatorDropdownScrollHeight)("templateLeft", ctx_r0.paginatorLeftTemplate)("templateRight", ctx_r0.paginatorRightTemplate)("currentPageReportTemplate", ctx_r0.currentPageReportTemplate)("showFirstLastIcon", ctx_r0.showFirstLastIcon)("dropdownItemTemplate", ctx_r0.paginatorDropdownItemTemplate)("showCurrentPageReport", ctx_r0.showCurrentPageReport)("showJumpToPageDropdown", ctx_r0.showJumpToPageDropdown)("showPageLinks", ctx_r0.showPageLinks)("styleClass", ctx_r0.paginatorStyleClass);
84
+ i0.ɵɵproperty("rows", ctx_r0.rows)("first", ctx_r0.first)("totalRecords", ctx_r0.totalRecords)("pageLinkSize", ctx_r0.pageLinks)("alwaysShow", ctx_r0.alwaysShowPaginator)("rowsPerPageOptions", ctx_r0.rowsPerPageOptions)("dropdownAppendTo", ctx_r0.paginatorDropdownAppendTo)("dropdownScrollHeight", ctx_r0.paginatorDropdownScrollHeight)("templateLeft", ctx_r0.paginatorleft)("templateRight", ctx_r0.paginatorright)("currentPageReportTemplate", ctx_r0.currentPageReportTemplate)("showFirstLastIcon", ctx_r0.showFirstLastIcon)("dropdownItemTemplate", ctx_r0.paginatordropdownitem)("showCurrentPageReport", ctx_r0.showCurrentPageReport)("showJumpToPageDropdown", ctx_r0.showJumpToPageDropdown)("showPageLinks", ctx_r0.showPageLinks)("styleClass", ctx_r0.paginatorStyleClass);
85
85
  } }
86
86
  function DataView_Conditional_5_ng_container_0_Template(rf, ctx) { if (rf & 1) {
87
87
  i0.ɵɵelementContainer(0);
@@ -122,9 +122,9 @@ function DataView_div_7_Template(rf, ctx) { if (rf & 1) {
122
122
  } if (rf & 2) {
123
123
  const ctx_r0 = i0.ɵɵnextContext();
124
124
  i0.ɵɵadvance(2);
125
- i0.ɵɵproperty("ngIf", !ctx_r0.emptyMessageTemplate)("ngIfElse", ctx_r0.empty);
125
+ i0.ɵɵproperty("ngIf", !ctx_r0.emptymessageTemplate)("ngIfElse", ctx_r0.empty);
126
126
  i0.ɵɵadvance();
127
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.emptyMessageTemplate);
127
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.emptymessageTemplate);
128
128
  } }
129
129
  function DataView_p_paginator_8_Template(rf, ctx) { if (rf & 1) {
130
130
  const _r3 = i0.ɵɵgetCurrentView();
@@ -133,7 +133,7 @@ function DataView_p_paginator_8_Template(rf, ctx) { if (rf & 1) {
133
133
  i0.ɵɵelementEnd();
134
134
  } if (rf & 2) {
135
135
  const ctx_r0 = i0.ɵɵnextContext();
136
- i0.ɵɵproperty("rows", ctx_r0.rows)("first", ctx_r0.first)("totalRecords", ctx_r0.totalRecords)("pageLinkSize", ctx_r0.pageLinks)("alwaysShow", ctx_r0.alwaysShowPaginator)("rowsPerPageOptions", ctx_r0.rowsPerPageOptions)("dropdownAppendTo", ctx_r0.paginatorDropdownAppendTo)("dropdownScrollHeight", ctx_r0.paginatorDropdownScrollHeight)("templateLeft", ctx_r0.paginatorLeftTemplate)("templateRight", ctx_r0.paginatorRightTemplate)("currentPageReportTemplate", ctx_r0.currentPageReportTemplate)("showFirstLastIcon", ctx_r0.showFirstLastIcon)("dropdownItemTemplate", ctx_r0.paginatorDropdownItemTemplate)("showCurrentPageReport", ctx_r0.showCurrentPageReport)("showJumpToPageDropdown", ctx_r0.showJumpToPageDropdown)("showPageLinks", ctx_r0.showPageLinks)("styleClass", ctx_r0.paginatorStyleClass);
136
+ i0.ɵɵproperty("rows", ctx_r0.rows)("first", ctx_r0.first)("totalRecords", ctx_r0.totalRecords)("pageLinkSize", ctx_r0.pageLinks)("alwaysShow", ctx_r0.alwaysShowPaginator)("rowsPerPageOptions", ctx_r0.rowsPerPageOptions)("dropdownAppendTo", ctx_r0.paginatorDropdownAppendTo)("dropdownScrollHeight", ctx_r0.paginatorDropdownScrollHeight)("templateLeft", ctx_r0.paginatorleft)("templateRight", ctx_r0.paginatorright)("currentPageReportTemplate", ctx_r0.currentPageReportTemplate)("showFirstLastIcon", ctx_r0.showFirstLastIcon)("dropdownItemTemplate", ctx_r0.paginatordropdownitem)("showCurrentPageReport", ctx_r0.showCurrentPageReport)("showJumpToPageDropdown", ctx_r0.showJumpToPageDropdown)("showPageLinks", ctx_r0.showPageLinks)("styleClass", ctx_r0.paginatorStyleClass);
137
137
  } }
138
138
  function DataView_div_9_ng_container_2_Template(rf, ctx) { if (rf & 1) {
139
139
  i0.ɵɵelementContainer(0);
@@ -351,7 +351,7 @@ export class DataView extends BaseComponent {
351
351
  * Template for the empty message section.
352
352
  * @group Templates
353
353
  */
354
- emptyMessageTemplate;
354
+ emptymessageTemplate;
355
355
  /**
356
356
  * Template for the footer section.
357
357
  * @group Templates
@@ -361,32 +361,31 @@ export class DataView extends BaseComponent {
361
361
  * Template for the left side of paginator.
362
362
  * @group Templates
363
363
  */
364
- paginatorLeftTemplate;
365
- /**
366
- * Template for the right side of paginator.
364
+ paginatorleft;
365
+ /**r* Template for the right side of paginator.
367
366
  * @group Templates
368
367
  */
369
- paginatorRightTemplate;
368
+ paginatorright;
370
369
  /**
371
370
  * Template for items in paginator dropdown.
372
371
  * @group Templates
373
372
  */
374
- paginatorDropdownItemTemplate;
373
+ paginatordropdownitem;
375
374
  /**
376
375
  * Template for loading icon.
377
376
  * @group Templates
378
377
  */
379
- loadingIconTemplate;
378
+ loadingicon;
380
379
  /**
381
380
  * Template for list icon.
382
381
  * @group Templates
383
382
  */
384
- listIconTemplate;
383
+ listicon;
385
384
  /**
386
385
  * Template for grid icon.
387
386
  * @group Templates
388
387
  */
389
- gridIconTemplate;
388
+ gridicon;
390
389
  header;
391
390
  footer;
392
391
  _value;
@@ -429,79 +428,6 @@ export class DataView extends BaseComponent {
429
428
  }
430
429
  }
431
430
  }
432
- // ngAfterContentInit() {
433
- // (this.templates as QueryList<PrimeTemplate>).forEach((item) => {
434
- // switch (item.getType()) {
435
- // // case 'listItem':
436
- // // case 'list':
437
- // // this.listTemplate = item.template;
438
- // // break;
439
- //
440
- // // case 'gridItem':
441
- // // case 'grid':
442
- // // this.gridTemplate = item.template;
443
- // // break;
444
- //
445
- // case 'paginatorleft':
446
- // this.paginatorLeftTemplate = item.template;
447
- // break;
448
- //
449
- // case 'paginatorright':
450
- // this.paginatorRightTemplate = item.template;
451
- // break;
452
- //
453
- // case 'paginatordropdownitem':
454
- // this.paginatorDropdownItemTemplate = item.template;
455
- // break;
456
- //
457
- // case 'empty':
458
- // this.emptyMessageTemplate = item.template;
459
- // break;
460
- //
461
- // case 'header':
462
- // this.headerTemplate = item.template;
463
- // break;
464
- //
465
- // case 'footer':
466
- // this.footerTemplate = item.template;
467
- // break;
468
- //
469
- // case 'loadingicon':
470
- // this.loadingIconTemplate = item.template;
471
- // break;
472
- //
473
- // case 'listicon':
474
- // this.listIconTemplate = item.template;
475
- // break;
476
- //
477
- // case 'gridicon':
478
- // this.gridIconTemplate = item.template;
479
- // break;
480
- // }
481
- // });
482
- //
483
- // // this.updateItemTemplate();
484
- // }
485
- //
486
- // updateItemTemplate() {
487
- // switch (this.layout) {
488
- // case 'list':
489
- // this.itemTemplate = this.listTemplate;
490
- // break;
491
- //
492
- // case 'grid':
493
- // this.itemTemplate = this.gridTemplate;
494
- // break;
495
- // }
496
- // }
497
- //
498
- // changeLayout(layout: 'list' | 'grid') {
499
- // this._layout = layout;
500
- // this.onChangeLayout.emit({
501
- // layout: this.layout,
502
- // });
503
- // this.cd.markForCheck();
504
- // }
505
431
  updateTotalRecords() {
506
432
  this.totalRecords = this.lazy ? this.totalRecords : this._value ? this._value.length : 0;
507
433
  }
@@ -606,14 +532,14 @@ export class DataView extends BaseComponent {
606
532
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.listTemplate = _t.first);
607
533
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.gridTemplate = _t.first);
608
534
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.headerTemplate = _t.first);
609
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.emptyMessageTemplate = _t.first);
535
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.emptymessageTemplate = _t.first);
610
536
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.footerTemplate = _t.first);
611
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.paginatorLeftTemplate = _t.first);
612
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.paginatorRightTemplate = _t.first);
613
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.paginatorDropdownItemTemplate = _t.first);
614
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loadingIconTemplate = _t.first);
615
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.listIconTemplate = _t.first);
616
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.gridIconTemplate = _t.first);
537
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.paginatorleft = _t.first);
538
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.paginatorright = _t.first);
539
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.paginatordropdownitem = _t.first);
540
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loadingicon = _t.first);
541
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.listicon = _t.first);
542
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.gridicon = _t.first);
617
543
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.header = _t.first);
618
544
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.footer = _t.first);
619
545
  } }, inputs: { paginator: [2, "paginator", "paginator", booleanAttribute], rows: [2, "rows", "rows", numberAttribute], totalRecords: [2, "totalRecords", "totalRecords", numberAttribute], pageLinks: [2, "pageLinks", "pageLinks", numberAttribute], rowsPerPageOptions: "rowsPerPageOptions", paginatorPosition: "paginatorPosition", paginatorStyleClass: "paginatorStyleClass", alwaysShowPaginator: [2, "alwaysShowPaginator", "alwaysShowPaginator", booleanAttribute], paginatorDropdownAppendTo: "paginatorDropdownAppendTo", paginatorDropdownScrollHeight: "paginatorDropdownScrollHeight", currentPageReportTemplate: "currentPageReportTemplate", showCurrentPageReport: [2, "showCurrentPageReport", "showCurrentPageReport", booleanAttribute], showJumpToPageDropdown: [2, "showJumpToPageDropdown", "showJumpToPageDropdown", booleanAttribute], showFirstLastIcon: [2, "showFirstLastIcon", "showFirstLastIcon", booleanAttribute], showPageLinks: [2, "showPageLinks", "showPageLinks", booleanAttribute], lazy: [2, "lazy", "lazy", booleanAttribute], lazyLoadOnInit: [2, "lazyLoadOnInit", "lazyLoadOnInit", booleanAttribute], emptyMessage: "emptyMessage", style: "style", styleClass: "styleClass", gridStyleClass: "gridStyleClass", trackBy: "trackBy", filterBy: "filterBy", filterLocale: "filterLocale", loading: [2, "loading", "loading", booleanAttribute], loadingIcon: "loadingIcon", first: [2, "first", "first", numberAttribute], sortField: "sortField", sortOrder: [2, "sortOrder", "sortOrder", numberAttribute], value: "value", layout: "layout" }, outputs: { onLazyLoad: "onLazyLoad", onPage: "onPage", onSort: "onSort", onChangeLayout: "onChangeLayout" }, standalone: true, features: [i0.ɵɵProvidersFeature([DataViewStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature, i0.ɵɵStandaloneFeature], ngContentSelectors: _c12, decls: 10, vars: 15, consts: [["empty", ""], [3, "ngClass", "ngStyle"], ["class", "p-dataview-loading", 4, "ngIf"], ["class", "p-dataview-header", 4, "ngIf"], ["styleClass", "p-paginator-top", 3, "rows", "first", "totalRecords", "pageLinkSize", "alwaysShow", "rowsPerPageOptions", "dropdownAppendTo", "dropdownScrollHeight", "templateLeft", "templateRight", "currentPageReportTemplate", "showFirstLastIcon", "dropdownItemTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showPageLinks", "styleClass", "onPageChange", 4, "ngIf"], [1, "p-dataview-content"], [4, "ngIf"], ["styleClass", "p-paginator-bottom", 3, "rows", "first", "totalRecords", "pageLinkSize", "alwaysShow", "rowsPerPageOptions", "dropdownAppendTo", "dropdownScrollHeight", "templateLeft", "templateRight", "currentPageReportTemplate", "showFirstLastIcon", "dropdownItemTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showPageLinks", "styleClass", "onPageChange", 4, "ngIf"], ["class", "p-dataview-footer", 4, "ngIf"], [1, "p-dataview-loading"], [1, "p-dataview-loading-overlay", "p-overlay-mask"], [3, "class", 4, "ngIf"], [3, "spin", "styleClass", 4, "ngIf"], [4, "ngTemplateOutlet"], [3, "spin", "styleClass"], [1, "p-dataview-header"], ["styleClass", "p-paginator-top", 3, "onPageChange", "rows", "first", "totalRecords", "pageLinkSize", "alwaysShow", "rowsPerPageOptions", "dropdownAppendTo", "dropdownScrollHeight", "templateLeft", "templateRight", "currentPageReportTemplate", "showFirstLastIcon", "dropdownItemTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showPageLinks", "styleClass"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "p-dataview-emptymessage"], [4, "ngIf", "ngIfElse"], ["styleClass", "p-paginator-bottom", 3, "onPageChange", "rows", "first", "totalRecords", "pageLinkSize", "alwaysShow", "rowsPerPageOptions", "dropdownAppendTo", "dropdownScrollHeight", "templateLeft", "templateRight", "currentPageReportTemplate", "showFirstLastIcon", "dropdownItemTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showPageLinks", "styleClass"], [1, "p-dataview-footer"]], template: function DataView_Template(rf, ctx) { if (rf & 1) {
@@ -658,8 +584,8 @@ export class DataView extends BaseComponent {
658
584
  <div class="p-dataview-loading-overlay p-overlay-mask">
659
585
  <i *ngIf="loadingIcon" [class]="'p-dataview-loading-icon pi-spin ' + loadingIcon"></i>
660
586
  <ng-container *ngIf="!loadingIcon">
661
- <SpinnerIcon *ngIf="!loadingIconTemplate" [spin]="true" [styleClass]="'p-dataview-loading-icon'" />
662
- <ng-template *ngTemplateOutlet="loadingIconTemplate"></ng-template>
587
+ <SpinnerIcon *ngIf="!loadingicon" [spin]="true" [styleClass]="'p-dataview-loading-icon'" />
588
+ <ng-template *ngTemplateOutlet="loadingicon"></ng-template>
663
589
  </ng-container>
664
590
  </div>
665
591
  </div>
@@ -679,11 +605,11 @@ export class DataView extends BaseComponent {
679
605
  *ngIf="paginator && (paginatorPosition === 'top' || paginatorPosition == 'both')"
680
606
  [dropdownAppendTo]="paginatorDropdownAppendTo"
681
607
  [dropdownScrollHeight]="paginatorDropdownScrollHeight"
682
- [templateLeft]="paginatorLeftTemplate"
683
- [templateRight]="paginatorRightTemplate"
608
+ [templateLeft]="paginatorleft"
609
+ [templateRight]="paginatorright"
684
610
  [currentPageReportTemplate]="currentPageReportTemplate"
685
611
  [showFirstLastIcon]="showFirstLastIcon"
686
- [dropdownItemTemplate]="paginatorDropdownItemTemplate"
612
+ [dropdownItemTemplate]="paginatordropdownitem"
687
613
  [showCurrentPageReport]="showCurrentPageReport"
688
614
  [showJumpToPageDropdown]="showJumpToPageDropdown"
689
615
  [showPageLinks]="showPageLinks"
@@ -713,10 +639,10 @@ export class DataView extends BaseComponent {
713
639
  }
714
640
  <div *ngIf="isEmpty() && !loading">
715
641
  <div class="p-dataview-emptymessage">
716
- <ng-container *ngIf="!emptyMessageTemplate; else empty">
642
+ <ng-container *ngIf="!emptymessageTemplate; else empty">
717
643
  {{ emptyMessageLabel }}
718
644
  </ng-container>
719
- <ng-container #empty *ngTemplateOutlet="emptyMessageTemplate"></ng-container>
645
+ <ng-container #empty *ngTemplateOutlet="emptymessageTemplate"></ng-container>
720
646
  </div>
721
647
  </div>
722
648
  </div>
@@ -732,11 +658,11 @@ export class DataView extends BaseComponent {
732
658
  *ngIf="paginator && (paginatorPosition === 'bottom' || paginatorPosition == 'both')"
733
659
  [dropdownAppendTo]="paginatorDropdownAppendTo"
734
660
  [dropdownScrollHeight]="paginatorDropdownScrollHeight"
735
- [templateLeft]="paginatorLeftTemplate"
736
- [templateRight]="paginatorRightTemplate"
661
+ [templateLeft]="paginatorleft"
662
+ [templateRight]="paginatorright"
737
663
  [currentPageReportTemplate]="currentPageReportTemplate"
738
664
  [showFirstLastIcon]="showFirstLastIcon"
739
- [dropdownItemTemplate]="paginatorDropdownItemTemplate"
665
+ [dropdownItemTemplate]="paginatordropdownitem"
740
666
  [showCurrentPageReport]="showCurrentPageReport"
741
667
  [showJumpToPageDropdown]="showJumpToPageDropdown"
742
668
  [showPageLinks]="showPageLinks"
@@ -845,28 +771,28 @@ export class DataView extends BaseComponent {
845
771
  }], headerTemplate: [{
846
772
  type: ContentChild,
847
773
  args: ['header']
848
- }], emptyMessageTemplate: [{
774
+ }], emptymessageTemplate: [{
849
775
  type: ContentChild,
850
776
  args: ['emptymessage']
851
777
  }], footerTemplate: [{
852
778
  type: ContentChild,
853
779
  args: ['footer']
854
- }], paginatorLeftTemplate: [{
780
+ }], paginatorleft: [{
855
781
  type: ContentChild,
856
782
  args: ['paginatorleft']
857
- }], paginatorRightTemplate: [{
783
+ }], paginatorright: [{
858
784
  type: ContentChild,
859
785
  args: ['paginatorright']
860
- }], paginatorDropdownItemTemplate: [{
786
+ }], paginatordropdownitem: [{
861
787
  type: ContentChild,
862
788
  args: ['paginatordropdownitem']
863
- }], loadingIconTemplate: [{
789
+ }], loadingicon: [{
864
790
  type: ContentChild,
865
791
  args: ['loadingIcon']
866
- }], listIconTemplate: [{
792
+ }], listicon: [{
867
793
  type: ContentChild,
868
794
  args: ['listicon']
869
- }], gridIconTemplate: [{
795
+ }], gridicon: [{
870
796
  type: ContentChild,
871
797
  args: ['gridicon']
872
798
  }], header: [{
@@ -890,4 +816,4 @@ export class DataViewModule {
890
816
  }]
891
817
  }], null, null); })();
892
818
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(DataViewModule, { imports: [DataView, SharedModule], exports: [DataView, SharedModule] }); })();
893
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGF0YXZpZXcvZGF0YXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBRVosWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLGVBQWUsRUFJZixNQUFNLEVBR04saUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBZSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUlwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBY2xDLG9CQUFzRjs7O0lBQS9ELHNFQUEwRDs7O0lBRTdFLGtDQUFtRzs7SUFBM0MsQUFBZCwyQkFBYSx5Q0FBeUM7Ozs7SUFDaEcsNkZBQXFEOzs7SUFGekQsNkJBQW1DO0lBRS9CLEFBREEsK0ZBQW1HLDZEQUM5Qzs7OztJQUR2QyxjQUEwQjtJQUExQixrREFBMEI7SUFDMUIsY0FBcUM7SUFBckMsNkRBQXFDOzs7SUFKM0QsQUFESiw4QkFBZ0QsY0FDVztJQUVuRCxBQURBLDREQUFrRixvRUFDL0M7SUFLM0MsQUFESSxpQkFBTSxFQUNKOzs7SUFOTSxlQUFpQjtJQUFqQix5Q0FB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MGRyQixNQUFNLE9BQU8sY0FBYzt3R0FBZCxjQUFjOzREQUFkLGNBQWM7Z0VBSGIsUUFBUSxFQUFFLFlBQVksRUFDWixZQUFZOztpRkFFdkIsY0FBYztjQUoxQixRQUFRO2VBQUM7Z0JBQ04sT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQztnQkFDakMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQzthQUNwQzs7d0ZBQ1ksY0FBYyxjQTFkZCxRQUFRLEVBdWRHLFlBQVksYUF2ZHZCLFFBQVEsRUF3ZEcsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdNb2R1bGUsXG4gICAgbnVtYmVyQXR0cmlidXRlLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcmVzb2x2ZUZpZWxkRGF0YSB9IGZyb20gJ0BwcmltZXVpeC91dGlscyc7XG5pbXBvcnQgeyBCbG9ja2FibGVVSSwgRmlsdGVyU2VydmljZSwgRm9vdGVyLCBIZWFkZXIsIFNoYXJlZE1vZHVsZSwgVHJhbnNsYXRpb25LZXlzIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ3ByaW1lbmcvYmFzZWNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcGlubmVySWNvbiB9IGZyb20gJ3ByaW1lbmcvaWNvbnMnO1xuaW1wb3J0IHsgUGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9wYWdpbmF0b3InO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdwcmltZW5nL3RzLWhlbHBlcnMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXRhVmlld0xheW91dENoYW5nZUV2ZW50LCBEYXRhVmlld0xhenlMb2FkRXZlbnQsIERhdGFWaWV3UGFnZUV2ZW50LCBEYXRhVmlld1BhZ2luYXRvclN0YXRlLCBEYXRhVmlld1NvcnRFdmVudCB9IGZyb20gJy4vZGF0YXZpZXcuaW50ZXJmYWNlJztcbmltcG9ydCB7IERhdGFWaWV3U3R5bGUgfSBmcm9tICcuL3N0eWxlL2RhdGF2aWV3c3R5bGUnO1xuXG4vKipcbiAqIERhdGFWaWV3IGRpc3BsYXlzIGRhdGEgaW4gZ3JpZCBvciBsaXN0IGxheW91dCB3aXRoIHBhZ2luYXRpb24gYW5kIHNvcnRpbmcgZmVhdHVyZXMuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3AtZGF0YVZpZXcsIHAtZGF0YXZpZXcsIHAtZGF0YS12aWV3JyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFBhZ2luYXRvck1vZHVsZSwgU3Bpbm5lckljb24sIFNoYXJlZE1vZHVsZV0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7ICdwLWRhdGF2aWV3IHAtY29tcG9uZW50JzogdHJ1ZSwgJ3AtZGF0YXZpZXctbGlzdCc6IGxheW91dCA9PT0gJ2xpc3QnLCAncC1kYXRhdmlldy1ncmlkJzogbGF5b3V0ID09PSAnZ3JpZCcgfVwiIFtuZ1N0eWxlXT1cInN0eWxlXCIgW2NsYXNzXT1cInN0eWxlQ2xhc3NcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWRhdGF2aWV3LWxvYWRpbmdcIiAqbmdJZj1cImxvYWRpbmdcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1kYXRhdmlldy1sb2FkaW5nLW92ZXJsYXkgcC1vdmVybGF5LW1hc2tcIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJsb2FkaW5nSWNvblwiIFtjbGFzc109XCIncC1kYXRhdmlldy1sb2FkaW5nLWljb24gcGktc3BpbiAnICsgbG9hZGluZ0ljb25cIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9hZGluZ0ljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTcGlubmVySWNvbiAqbmdJZj1cIiFsb2FkaW5nSWNvblRlbXBsYXRlXCIgW3NwaW5dPVwidHJ1ZVwiIFtzdHlsZUNsYXNzXT1cIidwLWRhdGF2aWV3LWxvYWRpbmctaWNvbidcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ0ljb25UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1kYXRhdmlldy1oZWFkZXJcIiAqbmdJZj1cImhlYWRlciB8fCBoZWFkZXJUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInAtaGVhZGVyXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8cC1wYWdpbmF0b3JcbiAgICAgICAgICAgICAgICBbcm93c109XCJyb3dzXCJcbiAgICAgICAgICAgICAgICBbZmlyc3RdPVwiZmlyc3RcIlxuICAgICAgICAgICAgICAgIFt0b3RhbFJlY29yZHNdPVwidG90YWxSZWNvcmRzXCJcbiAgICAgICAgICAgICAgICBbcGFnZUxpbmtTaXplXT1cInBhZ2VMaW5rc1wiXG4gICAgICAgICAgICAgICAgW2Fsd2F5c1Nob3ddPVwiYWx3YXlzU2hvd1BhZ2luYXRvclwiXG4gICAgICAgICAgICAgICAgKG9uUGFnZUNoYW5nZSk9XCJwYWdpbmF0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBzdHlsZUNsYXNzPVwicC1wYWdpbmF0b3ItdG9wXCJcbiAgICAgICAgICAgICAgICBbcm93c1BlclBhZ2VPcHRpb25zXT1cInJvd3NQZXJQYWdlT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJwYWdpbmF0b3IgJiYgKHBhZ2luYXRvclBvc2l0aW9uID09PSAndG9wJyB8fCBwYWdpbmF0b3JQb3NpdGlvbiA9PSAnYm90aCcpXCJcbiAgICAgICAgICAgICAgICBbZHJvcGRvd25BcHBlbmRUb109XCJwYWdpbmF0b3JEcm9wZG93bkFwcGVuZFRvXCJcbiAgICAgICAgICAgICAgICBbZHJvcGRvd25TY3JvbGxIZWlnaHRdPVwicGFnaW5hdG9yRHJvcGRvd25TY3JvbGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZUxlZnRdPVwicGFnaW5hdG9yTGVmdFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICBbdGVtcGxhdGVSaWdodF09XCJwYWdpbmF0b3JSaWdodFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICBbY3VycmVudFBhZ2VSZXBvcnRUZW1wbGF0ZV09XCJjdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICBbc2hvd0ZpcnN0TGFzdEljb25dPVwic2hvd0ZpcnN0TGFzdEljb25cIlxuICAgICAgICAgICAgICAgIFtkcm9wZG93bkl0ZW1UZW1wbGF0ZV09XCJwYWdpbmF0b3JEcm9wZG93bkl0ZW1UZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgW3Nob3dDdXJyZW50UGFnZVJlcG9ydF09XCJzaG93Q3VycmVudFBhZ2VSZXBvcnRcIlxuICAgICAgICAgICAgICAgIFtzaG93SnVtcFRvUGFnZURyb3Bkb3duXT1cInNob3dKdW1wVG9QYWdlRHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIFtzaG93UGFnZUxpbmtzXT1cInNob3dQYWdlTGlua3NcIlxuICAgICAgICAgICAgICAgIFtzdHlsZUNsYXNzXT1cInBhZ2luYXRvclN0eWxlQ2xhc3NcIlxuICAgICAgICAgICAgPjwvcC1wYWdpbmF0b3I+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWRhdGF2aWV3LWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICBAaWYgKGxheW91dCA9PT0gJ2xpc3QnKSB7XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdFRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBwYWdpbmF0b3IgPyAoZmlsdGVyZWRWYWx1ZSB8fCB2YWx1ZSB8IHNsaWNlOiAobGF6eSA/IDAgOiBmaXJzdCkgOiAobGF6eSA/IDAgOiBmaXJzdCkgKyByb3dzKSA6IGZpbHRlcmVkVmFsdWUgfHwgdmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAobGF5b3V0ID09PSAnZ3JpZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkVGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IHBhZ2luYXRvciA/IChmaWx0ZXJlZFZhbHVlIHx8IHZhbHVlIHwgc2xpY2U6IChsYXp5ID8gMCA6IGZpcnN0KSA6IChsYXp5ID8gMCA6IGZpcnN0KSArIHJvd3MpIDogZmlsdGVyZWRWYWx1ZSB8fCB2YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzRW1wdHkoKSAmJiAhbG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1kYXRhdmlldy1lbXB0eW1lc3NhZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZW1wdHlNZXNzYWdlVGVtcGxhdGU7IGVsc2UgZW1wdHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBlbXB0eU1lc3NhZ2VMYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICNlbXB0eSAqbmdUZW1wbGF0ZU91dGxldD1cImVtcHR5TWVzc2FnZVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8cC1wYWdpbmF0b3JcbiAgICAgICAgICAgICAgICBbcm93c109XCJyb3dzXCJcbiAgICAgICAgICAgICAgICBbZmlyc3RdPVwiZmlyc3RcIlxuICAgICAgICAgICAgICAgIFt0b3RhbFJlY29yZHNdPVwidG90YWxSZWNvcmRzXCJcbiAgICAgICAgICAgICAgICBbcGFnZUxpbmtTaXplXT1cInBhZ2VMaW5rc1wiXG4gICAgICAgICAgICAgICAgW2Fsd2F5c1Nob3ddPVwiYWx3YXlzU2hvd1BhZ2luYXRvclwiXG4gICAgICAgICAgICAgICAgKG9uUGFnZUNoYW5nZSk9XCJwYWdpbmF0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBzdHlsZUNsYXNzPVwicC1wYWdpbmF0b3ItYm90dG9tXCJcbiAgICAgICAgICAgICAgICBbcm93c1BlclBhZ2VPcHRpb25zXT1cInJvd3NQZXJQYWdlT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJwYWdpbmF0b3IgJiYgKHBhZ2luYXRvclBvc2l0aW9uID09PSAnYm90dG9tJyB8fCBwYWdpbmF0b3JQb3NpdGlvbiA9PSAnYm90aCcpXCJcbiAgICAgICAgICAgICAgICBbZHJvcGRvd25BcHBlbmRUb109XCJwYWdpbmF0b3JEcm9wZG93bkFwcGVuZFRvXCJcbiAgICAgICAgICAgICAgICBbZHJvcGRvd25TY3JvbGxIZWlnaHRdPVwicGFnaW5hdG9yRHJvcGRvd25TY3JvbGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZUxlZnRdPVwicGFnaW5hdG9yTGVmdFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICBbdGVtcGxhdGVSaWdodF09XCJwYWdpbmF0b3JSaWdodFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICBbY3VycmVudFBhZ2VSZXBvcnRUZW1wbGF0ZV09XCJjdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICBbc2hvd0ZpcnN0TGFzdEljb25dPVwic2hvd0ZpcnN0TGFzdEljb25cIlxuICAgICAgICAgICAgICAgIFtkcm9wZG93bkl0ZW1UZW1wbGF0ZV09XCJwYWdpbmF0b3JEcm9wZG93bkl0ZW1UZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgW3Nob3dDdXJyZW50UGFnZVJlcG9ydF09XCJzaG93Q3VycmVudFBhZ2VSZXBvcnRcIlxuICAgICAgICAgICAgICAgIFtzaG93SnVtcFRvUGFnZURyb3Bkb3duXT1cInNob3dKdW1wVG9QYWdlRHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIFtzaG93UGFnZUxpbmtzXT1cInNob3dQYWdlTGlua3NcIlxuICAgICAgICAgICAgICAgIFtzdHlsZUNsYXNzXT1cInBhZ2luYXRvclN0eWxlQ2xhc3NcIlxuICAgICAgICAgICAgPjwvcC1wYWdpbmF0b3I+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1kYXRhdmlldy1mb290ZXJcIiAqbmdJZj1cImZvb3RlciB8fCBmb290ZXJUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInAtZm9vdGVyXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb290ZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtEYXRhVmlld1N0eWxlXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRhVmlldyBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQmxvY2thYmxlVUksIE9uQ2hhbmdlcyB7XG4gICAgLyoqXG4gICAgICogV2hlbiBzcGVjaWZpZWQgYXMgdHJ1ZSwgZW5hYmxlcyB0aGUgcGFnaW5hdGlvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcGFnaW5hdG9yOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIE51bWJlciBvZiByb3dzIHRvIGRpc3BsYXkgcGVyIHBhZ2UuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgcm93czogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIE51bWJlciBvZiB0b3RhbCByZWNvcmRzLCBkZWZhdWx0cyB0byBsZW5ndGggb2YgdmFsdWUgd2hlbiBub3QgZGVmaW5lZC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSB0b3RhbFJlY29yZHM6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBOdW1iZXIgb2YgcGFnZSBsaW5rcyB0byBkaXNwbGF5IGluIHBhZ2luYXRvci5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSBwYWdlTGlua3M6IG51bWJlciA9IDU7XG4gICAgLyoqXG4gICAgICogQXJyYXkgb2YgaW50ZWdlci9vYmplY3QgdmFsdWVzIHRvIGRpc3BsYXkgaW5zaWRlIHJvd3MgcGVyIHBhZ2UgZHJvcGRvd24gb2YgcGFnaW5hdG9yXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgcm93c1BlclBhZ2VPcHRpb25zOiBudW1iZXJbXSB8IGFueVtdIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSBwYWdpbmF0b3IuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgcGFnaW5hdG9yUG9zaXRpb246ICd0b3AnIHwgJ2JvdHRvbScgfCAnYm90aCcgPSAnYm90dG9tJztcbiAgICAvKipcbiAgICAgKiBDdXN0b20gc3R5bGUgY2xhc3MgZm9yIHBhZ2luYXRvclxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHBhZ2luYXRvclN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIHNob3cgaXQgZXZlbiB0aGVyZSBpcyBvbmx5IG9uZSBwYWdlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBhbHdheXNTaG93UGFnaW5hdG9yOiBib29sZWFuID0gdHJ1ZTtcbiAgICAvKipcbiAgICAgKiBUYXJnZXQgZWxlbWVudCB0byBhdHRhY2ggdGhlIHBhZ2luYXRvciBkcm9wZG93biBvdmVybGF5LCB2YWxpZCB2YWx1ZXMgYXJlIFwiYm9keVwiIG9yIGEgbG9jYWwgbmctdGVtcGxhdGUgdmFyaWFibGUgb2YgYW5vdGhlciBlbGVtZW50IChub3RlOiB1c2UgYmluZGluZyB3aXRoIGJyYWNrZXRzIGZvciB0ZW1wbGF0ZSB2YXJpYWJsZXMsIGUuZy4gW2FwcGVuZFRvXT1cIm15ZGl2XCIgZm9yIGEgZGl2IGVsZW1lbnQgaGF2aW5nICNteWRpdiBhcyB2YXJpYWJsZSBuYW1lKS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwYWdpbmF0b3JEcm9wZG93bkFwcGVuZFRvOiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWYgfCBUZW1wbGF0ZVJlZjxhbnk+IHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCB8IGFueTtcbiAgICAvKipcbiAgICAgKiBQYWdpbmF0b3IgZHJvcGRvd24gaGVpZ2h0IG9mIHRoZSB2aWV3cG9ydCBpbiBwaXhlbHMsIGEgc2Nyb2xsYmFyIGlzIGRlZmluZWQgaWYgaGVpZ2h0IG9mIGxpc3QgZXhjZWVkcyB0aGlzIHZhbHVlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHBhZ2luYXRvckRyb3Bkb3duU2Nyb2xsSGVpZ2h0OiBzdHJpbmcgPSAnMjAwcHgnO1xuICAgIC8qKlxuICAgICAqIFRlbXBsYXRlIG9mIHRoZSBjdXJyZW50IHBhZ2UgcmVwb3J0IGVsZW1lbnQuIEF2YWlsYWJsZSBwbGFjZWhvbGRlcnMgYXJlIHtjdXJyZW50UGFnZX0se3RvdGFsUGFnZXN9LHtyb3dzfSx7Zmlyc3R9LHtsYXN0fSBhbmQge3RvdGFsUmVjb3Jkc31cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBjdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlOiBzdHJpbmcgPSAne2N1cnJlbnRQYWdlfSBvZiB7dG90YWxQYWdlc30nO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gZGlzcGxheSBjdXJyZW50IHBhZ2UgcmVwb3J0LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzaG93Q3VycmVudFBhZ2VSZXBvcnQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBkaXNwbGF5IGEgZHJvcGRvd24gdG8gbmF2aWdhdGUgdG8gYW55IHBhZ2UuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dKdW1wVG9QYWdlRHJvcGRvd246IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hlbiBlbmFibGVkLCBpY29ucyBhcmUgZGlzcGxheWVkIG9uIHBhZ2luYXRvciB0byBnbyBmaXJzdCBhbmQgbGFzdCBwYWdlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzaG93Rmlyc3RMYXN0SWNvbjogYm9vbGVhbiA9IHRydWU7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBzaG93IHBhZ2UgbGlua3MuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dQYWdlTGlua3M6IGJvb2xlYW4gPSB0cnVlO1xuICAgIC8qKlxuICAgICAqIERlZmluZXMgaWYgZGF0YSBpcyBsb2FkZWQgYW5kIGludGVyYWN0ZWQgd2l0aCBpbiBsYXp5IG1hbm5lci5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgbGF6eTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIGNhbGwgbGF6eSBsb2FkaW5nIG9uIGluaXRpYWxpemF0aW9uLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBsYXp5TG9hZE9uSW5pdDogYm9vbGVhbiA9IHRydWU7XG4gICAgLyoqXG4gICAgICogVGV4dCB0byBkaXNwbGF5IHdoZW4gdGhlcmUgaXMgbm8gZGF0YS4gRGVmYXVsdHMgdG8gZ2xvYmFsIHZhbHVlIGluIGkxOG4gdHJhbnNsYXRpb24gY29uZmlndXJhdGlvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBlbXB0eU1lc3NhZ2U6IHN0cmluZyA9ICcnO1xuICAgIC8qKlxuICAgICAqIElubGluZSBzdHlsZSBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0eWxlOiB7IFtrbGFzczogc3RyaW5nXTogYW55IH0gfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFN0eWxlIGNsYXNzIG9mIHRoZSBjb21wb25lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc3R5bGVDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFN0eWxlIGNsYXNzIG9mIHRoZSBncmlkLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGdyaWRTdHlsZUNsYXNzOiBzdHJpbmcgPSAnJztcbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiB0byBvcHRpbWl6ZSB0aGUgZG9tIG9wZXJhdGlvbnMgYnkgZGVsZWdhdGluZyB0byBuZ0ZvclRyYWNrQnksIGRlZmF1bHQgYWxnb3JpdGhtIGNoZWNrcyBmb3Igb2JqZWN0IGlkZW50aXR5LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRyYWNrQnk6IEZ1bmN0aW9uID0gKGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSkgPT4gaXRlbTtcbiAgICAvKipcbiAgICAgKiBDb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBmaWVsZHMgaW4gdGhlIG9iamVjdCBncmFwaCB0byBzZWFyY2ggYWdhaW5zdC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBmaWx0ZXJCeTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIExvY2FsZSB0byB1c2UgaW4gZmlsdGVyaW5nLiBUaGUgZGVmYXVsdCBsb2NhbGUgaXMgdGhlIGhvc3QgZW52aXJvbm1lbnQncyBjdXJyZW50IGxvY2FsZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBmaWx0ZXJMb2NhbGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBEaXNwbGF5cyBhIGxvYWRlciB0byBpbmRpY2F0ZSBkYXRhIGxvYWQgaXMgaW4gcHJvZ3Jlc3MuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGxvYWRpbmc6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogVGhlIGljb24gdG8gc2hvdyB3aGlsZSBpbmRpY2F0aW5nIGRhdGEgbG9hZCBpcyBpbiBwcm9ncmVzcy5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBsb2FkaW5nSWNvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIEluZGV4IG9mIHRoZSBmaXJzdCByb3cgdG8gYmUgZGlzcGxheWVkLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIGZpcnN0OiBudW1iZXIgfCB1bmRlZmluZWQgPSAwO1xuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IG5hbWUgb2YgZGF0YSB0byB1c2UgaW4gc29ydGluZyBieSBkZWZhdWx0LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNvcnRGaWVsZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIE9yZGVyIHRvIHNvcnQgdGhlIGRhdGEgYnkgZGVmYXVsdC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSBzb3J0T3JkZXI6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBBbiBhcnJheSBvZiBvYmplY3RzIHRvIGRpc3BsYXkuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgdmFsdWU6IGFueVtdIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIERlZmluZXMgdGhlIGxheW91dCBtb2RlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGxheW91dDogJ2xpc3QnIHwgJ2dyaWQnID0gJ2xpc3QnO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIHBhZ2luZywgc29ydGluZyBvciBmaWx0ZXJpbmcgaGFwcGVucyBpbiBsYXp5IG1vZGUuXG4gICAgICogQHBhcmFtIHtEYXRhVmlld0xhenlMb2FkRXZlbnR9IGV2ZW50IC0gQ3VzdG9tIGxhenkgbG9hZCBldmVudC5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25MYXp5TG9hZDogRXZlbnRFbWl0dGVyPERhdGFWaWV3TGF6eUxvYWRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGFWaWV3TGF6eUxvYWRFdmVudD4oKTtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiBwYWdpbmF0aW9uIG9jY3Vycy5cbiAgICAgKiBAcGFyYW0ge0RhdGFWaWV3UGFnZUV2ZW50fSBldmVudCAtIEN1c3RvbSBwYWdlIGV2ZW50LlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvblBhZ2U6IEV2ZW50RW1pdHRlcjxEYXRhVmlld1BhZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGFWaWV3UGFnZUV2ZW50PigpO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIHNvcnRpbmcgb2NjdXJzLlxuICAgICAqIEBwYXJhbSB7RGF0YVZpZXdTb3J0RXZlbnR9IGV2ZW50IC0gQ3VzdG9tIHNvcnQgZXZlbnQuXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uU29ydDogRXZlbnRFbWl0dGVyPERhdGFWaWV3U29ydEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YVZpZXdTb3J0RXZlbnQ+KCk7XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gY2hhbmdpbmcgbGF5b3V0LlxuICAgICAqIEBwYXJhbSB7RGF0YVZpZXdMYXlvdXRDaGFuZ2VFdmVudH0gZXZlbnQgLSBDdXN0b20gbGF5b3V0IGNoYW5nZSBldmVudC5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25DaGFuZ2VMYXlvdXQ6IEV2ZW50RW1pdHRlcjxEYXRhVmlld0xheW91dENoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YVZpZXdMYXlvdXRDaGFuZ2VFdmVudD4oKTtcbiAgICAvKipcbiAgICAgKiBUZW1wbGF0ZSBmb3IgdGhlIGxpc3QgbGF5b3V0LlxuICAgICAqIEBncm91cCBUZW1wbGF0ZXNcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdsaXN0JykgbGlzdFRlbXBsYXRlOiBOdWxsYWJsZTxUZW1wbGF0ZVJlZjxhbnk+PjtcbiAgICAvKipcbiAgICAgKiBUZW1wbGF0ZSBmb3IgZ3JpZCBsYXlvdXQuXG4gICAgICogQGdyb3VwIFRlbXBsYXRlc1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2dyaWQnKSBncmlkVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgLyoqXG4gICAgICogVGVtcGxhdGUgZm9yIHRoZSBoZWFkZXIgc2VjdGlvbi5cbiAgICAgKiBAZ3JvdXAgVGVtcGxhdGVzXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnaGVhZGVyJykgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgLyoqXG4gICAgICogVGVtcGxhdGUgZm9yIHRoZSBlbXB0eSBtZXNzYWdlIHNlY3Rpb24uXG4gICAgICogQGdyb3VwIFRlbXBsYXRlc1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2VtcHR5bWVzc2FnZScpIGVtcHR5TWVzc2FnZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIC8qKlxuICAgICAqIFRlbXBsYXRlIGZvciB0aGUgZm9vdGVyIHNlY3Rpb24uXG4gICAgICogQGdyb3VwIFRlbXBsYXRlc1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2Zvb3RlcicpIGZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIC8qKlxuICAgICAqIFRlbXBsYXRlIGZvciB0aGUgbGVmdCBzaWRlIG9mIHBhZ2luYXRvci5cbiAgICAgKiBAZ3JvdXAgVGVtcGxhdGVzXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgncGFnaW5hdG9ybGVmdCcpIHBhZ2luYXRvckxlZnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICAvKipcbiAgICAgKiBUZW1wbGF0ZSBmb3IgdGhlIHJpZ2h0IHNpZGUgb2YgcGFnaW5hdG9yLlxuICAgICAqIEBncm91cCBUZW1wbGF0ZXNcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdwYWdpbmF0b3JyaWdodCcpIHBhZ2luYXRvclJpZ2h0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgLyoqXG4gICAgICogVGVtcGxhdGUgZm9yIGl0ZW1zIGluIHBhZ2luYXRvciBkcm9wZG93bi5cbiAgICAgKiBAZ3JvdXAgVGVtcGxhdGVzXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgncGFnaW5hdG9yZHJvcGRvd25pdGVtJykgcGFnaW5hdG9yRHJvcGRvd25JdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgLyoqXG4gICAgICogVGVtcGxhdGUgZm9yIGxvYWRpbmcgaWNvbi5cbiAgICAgKiBAZ3JvdXAgVGVtcGxhdGVzXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnbG9hZGluZ0ljb24nKSBsb2FkaW5nSWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIC8qKlxuICAgICAqIFRlbXBsYXRlIGZvciBsaXN0IGljb24uXG4gICAgICogQGdyb3VwIFRlbXBsYXRlc1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2xpc3RpY29uJykgbGlzdEljb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICAvKipcbiAgICAgKiBUZW1wbGF0ZSBmb3IgZ3JpZCBpY29uLlxuICAgICAqIEBncm91cCBUZW1wbGF0ZXNcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdncmlkaWNvbicpIGdyaWRJY29uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAQ29udGVudENoaWxkKEhlYWRlcikgaGVhZGVyOiBhbnk7XG5cbiAgICBAQ29udGVudENoaWxkKEZvb3RlcikgZm9vdGVyOiBhbnk7XG5cbiAgICBfdmFsdWU6IE51bGxhYmxlPGFueVtdPjtcblxuICAgIGZpbHRlcmVkVmFsdWU6IE51bGxhYmxlPGFueVtdPjtcblxuICAgIGZpbHRlclZhbHVlOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgaW5pdGlhbGl6ZWQ6IE51bGxhYmxlPGJvb2xlYW4+O1xuXG4gICAgX2xheW91dDogJ2xpc3QnIHwgJ2dyaWQnID0gJ2xpc3QnO1xuXG4gICAgdHJhbnNsYXRpb25TdWJzY3JpcHRpb246IE51bGxhYmxlPFN1YnNjcmlwdGlvbj47XG5cbiAgICBfY29tcG9uZW50U3R5bGUgPSBpbmplY3QoRGF0YVZpZXdTdHlsZSk7XG5cbiAgICBnZXQgZW1wdHlNZXNzYWdlTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW1wdHlNZXNzYWdlIHx8IHRoaXMuY29uZmlnLmdldFRyYW5zbGF0aW9uKFRyYW5zbGF0aW9uS2V5cy5FTVBUWV9NRVNTQUdFKTtcbiAgICB9XG5cbiAgICBmaWx0ZXJTZXJ2aWNlID0gaW5qZWN0KEZpbHRlclNlcnZpY2UpO1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIGlmICh0aGlzLmxhenkgJiYgdGhpcy5sYXp5TG9hZE9uSW5pdCkge1xuICAgICAgICAgICAgdGhpcy5vbkxhenlMb2FkLmVtaXQodGhpcy5jcmVhdGVMYXp5TG9hZE1ldGFkYXRhKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50cmFuc2xhdGlvblN1YnNjcmlwdGlvbiA9IHRoaXMuY29uZmlnLnRyYW5zbGF0aW9uT2JzZXJ2ZXIuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKHNpbXBsZUNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoc2ltcGxlQ2hhbmdlcyk7XG4gICAgICAgIGlmIChzaW1wbGVDaGFuZ2VzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHNpbXBsZUNoYW5nZXMudmFsdWUuY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUb3RhbFJlY29yZHMoKTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLmxhenkgJiYgdGhpcy5oYXNGaWx0ZXIoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyKHRoaXMuZmlsdGVyVmFsdWUgYXMgc3RyaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzaW1wbGVDaGFuZ2VzLnNvcnRGaWVsZCB8fCBzaW1wbGVDaGFuZ2VzLnNvcnRPcmRlcikge1xuICAgICAgICAgICAgLy9hdm9pZCB0cmlnZ2VyaW5nIGxhenkgbG9hZCBwcmlvciB0byBsYXp5IGluaXRpYWxpemF0aW9uIGF0IG9uSW5pdFxuICAgICAgICAgICAgaWYgKCF0aGlzLmxhenkgfHwgdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc29ydCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIC8vICAgICAodGhpcy50ZW1wbGF0ZXMgYXMgUXVlcnlMaXN0PFByaW1lVGVtcGxhdGU+KS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgLy8gICAgICAgICBzd2l0Y2ggKGl0ZW0uZ2V0VHlwZSgpKSB7XG4gICAgLy8gICAgICAgICAgICAgLy8gY2FzZSAnbGlzdEl0ZW0nOlxuICAgIC8vICAgICAgICAgICAgIC8vIGNhc2UgJ2xpc3QnOlxuICAgIC8vICAgICAgICAgICAgIC8vICAgICB0aGlzLmxpc3RUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgLy8gICAgICAgICAgICAgLy8gICAgIGJyZWFrO1xuICAgIC8vXG4gICAgLy8gICAgICAgICAgICAgLy8gY2FzZSAnZ3JpZEl0ZW0nOlxuICAgIC8vICAgICAgICAgICAgIC8vIGNhc2UgJ2dyaWQnOlxuICAgIC8vICAgICAgICAgICAgIC8vICAgICB0aGlzLmdyaWRUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgLy8gICAgICAgICAgICAgLy8gICAgIGJyZWFrO1xuICAgIC8vXG4gICAgLy8gICAgICAgICAgICAgY2FzZSAncGFnaW5hdG9ybGVmdCc6XG4gICAgLy8gICAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdG9yTGVmdFRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAvLyAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgLy9cbiAgICAvLyAgICAgICAgICAgICBjYXNlICdwYWdpbmF0b3JyaWdodCc6XG4gICAgLy8gICAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdG9yUmlnaHRUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgLy8gICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgIC8vXG4gICAgLy8gICAgICAgICAgICAgY2FzZSAncGFnaW5hdG9yZHJvcGRvd25pdGVtJzpcbiAgICAvLyAgICAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0b3JEcm9wZG93bkl0ZW1UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgLy8gICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgIC8vXG4gICAgLy8gICAgICAgICAgICAgY2FzZSAnZW1wdHknOlxuICAgIC8vICAgICAgICAgICAgICAgICB0aGlzLmVtcHR5TWVzc2FnZVRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAvLyAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgLy9cbiAgICAvLyAgICAgICAgICAgICBjYXNlICdoZWFkZXInOlxuICAgIC8vICAgICAgICAgICAgICAgICB0aGlzLmhlYWRlclRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAvLyAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgLy9cbiAgICAvLyAgICAgICAgICAgICBjYXNlICdmb290ZXInOlxuICAgIC8vICAgICAgICAgICAgICAgICB0aGlzLmZvb3RlclRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAvLyAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgLy9cbiAgICAvLyAgICAgICAgICAgICBjYXNlICdsb2FkaW5naWNvbic6XG4gICAgLy8gICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ0ljb25UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgLy8gICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgIC8vXG4gICAgLy8gICAgICAgICAgICAgY2FzZSAnbGlzdGljb24nOlxuICAgIC8vICAgICAgICAgICAgICAgICB0aGlzLmxpc3RJY29uVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgIC8vICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAvL1xuICAgIC8vICAgICAgICAgICAgIGNhc2UgJ2dyaWRpY29uJzpcbiAgICAvLyAgICAgICAgICAgICAgICAgdGhpcy5ncmlkSWNvblRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAvLyAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgLy8gICAgICAgICB9XG4gICAgLy8gICAgIH0pO1xuICAgIC8vXG4gICAgLy8gICAgIC8vIHRoaXMudXBkYXRlSXRlbVRlbXBsYXRlKCk7XG4gICAgLy8gfVxuXG4gICAgLy9cbiAgICAvLyB1cGRhdGVJdGVtVGVtcGxhdGUoKSB7XG4gICAgLy8gICAgIHN3aXRjaCAodGhpcy5sYXlvdXQpIHtcbiAgICAvLyAgICAgICAgIGNhc2UgJ2xpc3QnOlxuICAgIC8vICAgICAgICAgICAgIHRoaXMuaXRlbVRlbXBsYXRlID0gdGhpcy5saXN0VGVtcGxhdGU7XG4gICAgLy8gICAgICAgICAgICAgYnJlYWs7XG4gICAgLy9cbiAgICAvLyAgICAgICAgIGNhc2UgJ2dyaWQnOlxuICAgIC8vICAgICAgICAgICAgIHRoaXMuaXRlbVRlbXBsYXRlID0gdGhpcy5ncmlkVGVtcGxhdGU7XG4gICAgLy8gICAgICAgICAgICAgYnJlYWs7XG4gICAgLy8gICAgIH1cbiAgICAvLyB9XG4gICAgLy9cblxuICAgIC8vIGNoYW5nZUxheW91dChsYXlvdXQ6ICdsaXN0JyB8ICdncmlkJykge1xuICAgIC8vICAgICB0aGlzLl9sYXlvdXQgPSBsYXlvdXQ7XG4gICAgLy8gICAgIHRoaXMub25DaGFuZ2VMYXlvdXQuZW1pdCh7XG4gICAgLy8gICAgICAgICBsYXlvdXQ6IHRoaXMubGF5b3V0LFxuICAgIC8vICAgICB9KTtcbiAgICAvLyAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAvLyB9XG5cbiAgICB1cGRhdGVUb3RhbFJlY29yZHMoKSB7XG4gICAgICAgIHRoaXMudG90YWxSZWNvcmRzID0gdGhpcy5sYXp5ID8gdGhpcy50b3RhbFJlY29yZHMgOiB0aGlzLl92YWx1ZSA/IHRoaXMuX3ZhbHVlLmxlbmd0aCA6IDA7XG4gICAgfVxuXG4gICAgcGFnaW5hdGUoZXZlbnQ6IERhdGFWaWV3UGFnaW5hdG9yU3RhdGUpIHtcbiAgICAgICAgdGhpcy5maXJzdCA9IGV2ZW50LmZpcnN0O1xuICAgICAgICB0aGlzLnJvd3MgPSBldmVudC5yb3dzO1xuXG4gICAgICAgIGlmICh0aGlzLmxhenkpIHtcbiAgICAgICAgICAgIHRoaXMub25MYXp5TG9hZC5lbWl0KHRoaXMuY3JlYXRlTGF6eUxvYWRNZXRhZGF0YSgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25QYWdlLmVtaXQoe1xuICAgICAgICAgICAgZmlyc3Q6IDxudW1iZXI+dGhpcy5maXJzdCxcbiAgICAgICAgICAgIHJvd3M6IDxudW1iZXI+dGhpcy5yb3dzXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNvcnQoKSB7XG4gICAgICAgIHRoaXMuZmlyc3QgPSAwO1xuXG4gICAgICAgIGlmICh0aGlzLmxhenkpIHtcbiAgICAgICAgICAgIHRoaXMub25MYXp5TG9hZC5lbWl0KHRoaXMuY3JlYXRlTGF6eUxvYWRNZXRhZGF0YSgpKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlLnNvcnQoKGRhdGExLCBkYXRhMikgPT4ge1xuICAgICAgICAgICAgICAgIGxldCB2YWx1ZTEgPSByZXNvbHZlRmllbGREYXRhKGRhdGExLCB0aGlzLnNvcnRGaWVsZCk7XG4gICAgICAgICAgICAgICAgbGV0IHZhbHVlMiA9IHJlc29sdmVGaWVsZERhdGEoZGF0YTIsIHRoaXMuc29ydEZpZWxkKTtcbiAgICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0gbnVsbDtcblxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZTEgPT0gbnVsbCAmJiB2YWx1ZTIgIT0gbnVsbCkgcmVzdWx0ID0gLTE7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAodmFsdWUxICE9IG51bGwgJiYgdmFsdWUyID09IG51bGwpIHJlc3VsdCA9IDE7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAodmFsdWUxID09IG51bGwgJiYgdmFsdWUyID09IG51bGwpIHJlc3VsdCA9IDA7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlMSA9PT0gJ3N0cmluZycgJiYgdHlwZW9mIHZhbHVlMiA9PT0gJ3N0cmluZycpIHJlc3VsdCA9IHZhbHVlMS5sb2NhbGVDb21wYXJlKHZhbHVlMik7XG4gICAgICAgICAgICAgICAgZWxzZSByZXN1bHQgPSB2YWx1ZTEgPCB2YWx1ZTIgPyAtMSA6IHZhbHVlMSA+IHZhbHVlMiA/IDEgOiAwO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuICh0aGlzLnNvcnRPcmRlciBhcyBudW1iZXIpICogcmVzdWx0O1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmhhc0ZpbHRlcigpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXIodGhpcy5maWx0ZXJWYWx1ZSBhcyBzdHJpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vblNvcnQuZW1pdCh7XG4gICAgICAgICAgICBzb3J0RmllbGQ6IDxzdHJpbmc+dGhpcy5zb3J0RmllbGQsXG4gICAgICAgICAgICBzb3J0T3JkZXI6IDxudW1iZXI+dGhpcy5zb3J0T3JkZXJcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaXNFbXB0eSgpIHtcbiAgICAgICAgbGV0IGRhdGEgPSB0aGlzLmZpbHRlcmVkVmFsdWUgfHwgdGhpcy52YWx1ZTtcbiAgICAgICAgcmV0dXJuIGRhdGEgPT0gbnVsbCB8fCBkYXRhLmxlbmd0aCA9PSAwO1xuICAgIH1cblxuICAgIGNyZWF0ZUxhenlMb2FkTWV0YWRhdGEoKTogRGF0YVZpZXdMYXp5TG9hZEV2ZW50IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGZpcnN0OiA8bnVtYmVyPnRoaXMuZmlyc3QsXG4gICAgICAgICAgICByb3dzOiA8bnVtYmVyPnRoaXMucm93cyxcbiAgICAgICAgICAgIHNvcnRGaWVsZDogPHN0cmluZz50aGlzLnNvcnRGaWVsZCxcbiAgICAgICAgICAgIHNvcnRPcmRlcjogPG51bWJlcj50aGlzLnNvcnRPcmRlclxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldEJsb2NrYWJsZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNoaWxkcmVuWzBdO1xuICAgIH1cblxuICAgIGZpbHRlcihmaWx0ZXI6IHN0cmluZywgZmlsdGVyTWF0Y2hNb2RlOiBzdHJpbmcgPSAnY29udGFpbnMnKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyVmFsdWUgPSBmaWx0ZXI7XG5cbiAgICAgICAgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIGxldCBzZWFyY2hGaWVsZHMgPSAodGhpcy5maWx0ZXJCeSBhcyBzdHJpbmcpLnNwbGl0KCcsJyk7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkVmFsdWUgPSB0aGlzLmZpbHRlclNlcnZpY2UuZmlsdGVyKHRoaXMudmFsdWUsIHNlYXJjaEZpZWxkcywgZmlsdGVyLCBmaWx0ZXJNYXRjaE1vZGUsIHRoaXMuZmlsdGVyTG9jYWxlKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuZmlsdGVyZWRWYWx1ZS5sZW5ndGggPT09IHRoaXMudmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJlZFZhbHVlID0gbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMucGFnaW5hdG9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maXJzdCA9IDA7XG4gICAgICAgICAgICAgICAgdGhpcy50b3RhbFJlY29yZHMgPSB0aGlzLmZpbHRlcmVkVmFsdWUgPyB0aGlzLmZpbHRlcmVkVmFsdWUubGVuZ3RoIDogdGhpcy52YWx1ZSA/IHRoaXMudmFsdWUubGVuZ3RoIDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhc0ZpbHRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyVmFsdWUgJiYgdGhpcy5maWx0ZXJWYWx1ZS50cmltKCkubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMudHJhbnNsYXRpb25TdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRpb25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbRGF0YVZpZXcsIFNoYXJlZE1vZHVsZV0sXG4gICAgZXhwb3J0czogW0RhdGFWaWV3LCBTaGFyZWRNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIERhdGFWaWV3TW9kdWxlIHt9XG4iXX0=
819
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGF0YXZpZXcvZGF0YXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBRVosWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLGVBQWUsRUFJZixNQUFNLEVBR04saUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBZSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUlwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBY2xDLG9CQUFzRjs7O0lBQS9ELHNFQUEwRDs7O0lBRTdFLGtDQUEyRjs7SUFBM0MsQUFBZCwyQkFBYSx5Q0FBeUM7Ozs7SUFDeEYsNkZBQTZDOzs7SUFGakQsNkJBQW1DO0lBRS9CLEFBREEsK0ZBQTJGLDZEQUM5Qzs7OztJQUQvQixjQUFrQjtJQUFsQiwwQ0FBa0I7SUFDbEIsY0FBNkI7SUFBN0IscURBQTZCOzs7SUFKbkQsQUFESiw4QkFBZ0QsY0FDVztJQUVuRCxBQURBLDREQUFrRixvRUFDL0M7SUFLM0MsQUFESSxpQkFBTSxFQUNKOzs7SUFOTSxlQUFpQjtJQUFqQix5Q0FB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TUFBTSxPQUFPLGNBQWM7d0dBQWQsY0FBYzs0REFBZCxjQUFjO2dFQUhiLFFBQVEsRUFBRSxZQUFZLEVBQ1osWUFBWTs7aUZBRXZCLGNBQWM7Y0FKMUIsUUFBUTtlQUFDO2dCQUNOLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUM7Z0JBQ2pDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUM7YUFDcEM7O3dGQUNZLGNBQWMsY0E3WWQsUUFBUSxFQTBZRyxZQUFZLGFBMVl2QixRQUFRLEVBMllHLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nTW9kdWxlLFxuICAgIG51bWJlckF0dHJpYnV0ZSxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHJlc29sdmVGaWVsZERhdGEgfSBmcm9tICdAcHJpbWV1aXgvdXRpbHMnO1xuaW1wb3J0IHsgQmxvY2thYmxlVUksIEZpbHRlclNlcnZpY2UsIEZvb3RlciwgSGVhZGVyLCBTaGFyZWRNb2R1bGUsIFRyYW5zbGF0aW9uS2V5cyB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdwcmltZW5nL2Jhc2Vjb21wb25lbnQnO1xuaW1wb3J0IHsgU3Bpbm5lckljb24gfSBmcm9tICdwcmltZW5nL2ljb25zJztcbmltcG9ydCB7IFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcGFnaW5hdG9yJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAncHJpbWVuZy90cy1oZWxwZXJzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGF0YVZpZXdMYXlvdXRDaGFuZ2VFdmVudCwgRGF0YVZpZXdMYXp5TG9hZEV2ZW50LCBEYXRhVmlld1BhZ2VFdmVudCwgRGF0YVZpZXdQYWdpbmF0b3JTdGF0ZSwgRGF0YVZpZXdTb3J0RXZlbnQgfSBmcm9tICcuL2RhdGF2aWV3LmludGVyZmFjZSc7XG5pbXBvcnQgeyBEYXRhVmlld1N0eWxlIH0gZnJvbSAnLi9zdHlsZS9kYXRhdmlld3N0eWxlJztcblxuLyoqXG4gKiBEYXRhVmlldyBkaXNwbGF5cyBkYXRhIGluIGdyaWQgb3IgbGlzdCBsYXlvdXQgd2l0aCBwYWdpbmF0aW9uIGFuZCBzb3J0aW5nIGZlYXR1cmVzLlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwLWRhdGFWaWV3LCBwLWRhdGF2aWV3LCBwLWRhdGEtdmlldycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBQYWdpbmF0b3JNb2R1bGUsIFNwaW5uZXJJY29uLCBTaGFyZWRNb2R1bGVdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieyAncC1kYXRhdmlldyBwLWNvbXBvbmVudCc6IHRydWUsICdwLWRhdGF2aWV3LWxpc3QnOiBsYXlvdXQgPT09ICdsaXN0JywgJ3AtZGF0YXZpZXctZ3JpZCc6IGxheW91dCA9PT0gJ2dyaWQnIH1cIiBbbmdTdHlsZV09XCJzdHlsZVwiIFtjbGFzc109XCJzdHlsZUNsYXNzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1kYXRhdmlldy1sb2FkaW5nXCIgKm5nSWY9XCJsb2FkaW5nXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtZGF0YXZpZXctbG9hZGluZy1vdmVybGF5IHAtb3ZlcmxheS1tYXNrXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwibG9hZGluZ0ljb25cIiBbY2xhc3NdPVwiJ3AtZGF0YXZpZXctbG9hZGluZy1pY29uIHBpLXNwaW4gJyArIGxvYWRpbmdJY29uXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRpbmdJY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3Bpbm5lckljb24gKm5nSWY9XCIhbG9hZGluZ2ljb25cIiBbc3Bpbl09XCJ0cnVlXCIgW3N0eWxlQ2xhc3NdPVwiJ3AtZGF0YXZpZXctbG9hZGluZy1pY29uJ1wiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsb2FkaW5naWNvblwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1kYXRhdmlldy1oZWFkZXJcIiAqbmdJZj1cImhlYWRlciB8fCBoZWFkZXJUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInAtaGVhZGVyXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8cC1wYWdpbmF0b3JcbiAgICAgICAgICAgICAgICBbcm93c109XCJyb3dzXCJcbiAgICAgICAgICAgICAgICBbZmlyc3RdPVwiZmlyc3RcIlxuICAgICAgICAgICAgICAgIFt0b3RhbFJlY29yZHNdPVwidG90YWxSZWNvcmRzXCJcbiAgICAgICAgICAgICAgICBbcGFnZUxpbmtTaXplXT1cInBhZ2VMaW5rc1wiXG4gICAgICAgICAgICAgICAgW2Fsd2F5c1Nob3ddPVwiYWx3YXlzU2hvd1BhZ2luYXRvclwiXG4gICAgICAgICAgICAgICAgKG9uUGFnZUNoYW5nZSk9XCJwYWdpbmF0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBzdHlsZUNsYXNzPVwicC1wYWdpbmF0b3ItdG9wXCJcbiAgICAgICAgICAgICAgICBbcm93c1BlclBhZ2VPcHRpb25zXT1cInJvd3NQZXJQYWdlT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJwYWdpbmF0b3IgJiYgKHBhZ2luYXRvclBvc2l0aW9uID09PSAndG9wJyB8fCBwYWdpbmF0b3JQb3NpdGlvbiA9PSAnYm90aCcpXCJcbiAgICAgICAgICAgICAgICBbZHJvcGRvd25BcHBlbmRUb109XCJwYWdpbmF0b3JEcm9wZG93bkFwcGVuZFRvXCJcbiAgICAgICAgICAgICAgICBbZHJvcGRvd25TY3JvbGxIZWlnaHRdPVwicGFnaW5hdG9yRHJvcGRvd25TY3JvbGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZUxlZnRdPVwicGFnaW5hdG9ybGVmdFwiXG4gICAgICAgICAgICAgICAgW3RlbXBsYXRlUmlnaHRdPVwicGFnaW5hdG9ycmlnaHRcIlxuICAgICAgICAgICAgICAgIFtjdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlXT1cImN1cnJlbnRQYWdlUmVwb3J0VGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgIFtzaG93Rmlyc3RMYXN0SWNvbl09XCJzaG93Rmlyc3RMYXN0SWNvblwiXG4gICAgICAgICAgICAgICAgW2Ryb3Bkb3duSXRlbVRlbXBsYXRlXT1cInBhZ2luYXRvcmRyb3Bkb3duaXRlbVwiXG4gICAgICAgICAgICAgICAgW3Nob3dDdXJyZW50UGFnZVJlcG9ydF09XCJzaG93Q3VycmVudFBhZ2VSZXBvcnRcIlxuICAgICAgICAgICAgICAgIFtzaG93SnVtcFRvUGFnZURyb3Bkb3duXT1cInNob3dKdW1wVG9QYWdlRHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIFtzaG93UGFnZUxpbmtzXT1cInNob3dQYWdlTGlua3NcIlxuICAgICAgICAgICAgICAgIFtzdHlsZUNsYXNzXT1cInBhZ2luYXRvclN0eWxlQ2xhc3NcIlxuICAgICAgICAgICAgPjwvcC1wYWdpbmF0b3I+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWRhdGF2aWV3LWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICBAaWYgKGxheW91dCA9PT0gJ2xpc3QnKSB7XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdFRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBwYWdpbmF0b3IgPyAoZmlsdGVyZWRWYWx1ZSB8fCB2YWx1ZSB8IHNsaWNlOiAobGF6eSA/IDAgOiBmaXJzdCkgOiAobGF6eSA/IDAgOiBmaXJzdCkgKyByb3dzKSA6IGZpbHRlcmVkVmFsdWUgfHwgdmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAobGF5b3V0ID09PSAnZ3JpZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkVGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbGljaXQ6IHBhZ2luYXRvciA/IChmaWx0ZXJlZFZhbHVlIHx8IHZhbHVlIHwgc2xpY2U6IChsYXp5ID8gMCA6IGZpcnN0KSA6IChsYXp5ID8gMCA6IGZpcnN0KSArIHJvd3MpIDogZmlsdGVyZWRWYWx1ZSB8fCB2YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzRW1wdHkoKSAmJiAhbG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1kYXRhdmlldy1lbXB0eW1lc3NhZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZW1wdHltZXNzYWdlVGVtcGxhdGU7IGVsc2UgZW1wdHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBlbXB0eU1lc3NhZ2VMYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICNlbXB0eSAqbmdUZW1wbGF0ZU91dGxldD1cImVtcHR5bWVzc2FnZVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8cC1wYWdpbmF0b3JcbiAgICAgICAgICAgICAgICBbcm93c109XCJyb3dzXCJcbiAgICAgICAgICAgICAgICBbZmlyc3RdPVwiZmlyc3RcIlxuICAgICAgICAgICAgICAgIFt0b3RhbFJlY29yZHNdPVwidG90YWxSZWNvcmRzXCJcbiAgICAgICAgICAgICAgICBbcGFnZUxpbmtTaXplXT1cInBhZ2VMaW5rc1wiXG4gICAgICAgICAgICAgICAgW2Fsd2F5c1Nob3ddPVwiYWx3YXlzU2hvd1BhZ2luYXRvclwiXG4gICAgICAgICAgICAgICAgKG9uUGFnZUNoYW5nZSk9XCJwYWdpbmF0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBzdHlsZUNsYXNzPVwicC1wYWdpbmF0b3ItYm90dG9tXCJcbiAgICAgICAgICAgICAgICBbcm93c1BlclBhZ2VPcHRpb25zXT1cInJvd3NQZXJQYWdlT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJwYWdpbmF0b3IgJiYgKHBhZ2luYXRvclBvc2l0aW9uID09PSAnYm90dG9tJyB8fCBwYWdpbmF0b3JQb3NpdGlvbiA9PSAnYm90aCcpXCJcbiAgICAgICAgICAgICAgICBbZHJvcGRvd25BcHBlbmRUb109XCJwYWdpbmF0b3JEcm9wZG93bkFwcGVuZFRvXCJcbiAgICAgICAgICAgICAgICBbZHJvcGRvd25TY3JvbGxIZWlnaHRdPVwicGFnaW5hdG9yRHJvcGRvd25TY3JvbGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZUxlZnRdPVwicGFnaW5hdG9ybGVmdFwiXG4gICAgICAgICAgICAgICAgW3RlbXBsYXRlUmlnaHRdPVwicGFnaW5hdG9ycmlnaHRcIlxuICAgICAgICAgICAgICAgIFtjdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlXT1cImN1cnJlbnRQYWdlUmVwb3J0VGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgIFtzaG93Rmlyc3RMYXN0SWNvbl09XCJzaG93Rmlyc3RMYXN0SWNvblwiXG4gICAgICAgICAgICAgICAgW2Ryb3Bkb3duSXRlbVRlbXBsYXRlXT1cInBhZ2luYXRvcmRyb3Bkb3duaXRlbVwiXG4gICAgICAgICAgICAgICAgW3Nob3dDdXJyZW50UGFnZVJlcG9ydF09XCJzaG93Q3VycmVudFBhZ2VSZXBvcnRcIlxuICAgICAgICAgICAgICAgIFtzaG93SnVtcFRvUGFnZURyb3Bkb3duXT1cInNob3dKdW1wVG9QYWdlRHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIFtzaG93UGFnZUxpbmtzXT1cInNob3dQYWdlTGlua3NcIlxuICAgICAgICAgICAgICAgIFtzdHlsZUNsYXNzXT1cInBhZ2luYXRvclN0eWxlQ2xhc3NcIlxuICAgICAgICAgICAgPjwvcC1wYWdpbmF0b3I+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1kYXRhdmlldy1mb290ZXJcIiAqbmdJZj1cImZvb3RlciB8fCBmb290ZXJUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInAtZm9vdGVyXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmb290ZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtEYXRhVmlld1N0eWxlXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRhVmlldyBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQmxvY2thYmxlVUksIE9uQ2hhbmdlcyB7XG4gICAgLyoqXG4gICAgICogV2hlbiBzcGVjaWZpZWQgYXMgdHJ1ZSwgZW5hYmxlcyB0aGUgcGFnaW5hdGlvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcGFnaW5hdG9yOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIE51bWJlciBvZiByb3dzIHRvIGRpc3BsYXkgcGVyIHBhZ2UuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgcm93czogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIE51bWJlciBvZiB0b3RhbCByZWNvcmRzLCBkZWZhdWx0cyB0byBsZW5ndGggb2YgdmFsdWUgd2hlbiBub3QgZGVmaW5lZC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSB0b3RhbFJlY29yZHM6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBOdW1iZXIgb2YgcGFnZSBsaW5rcyB0byBkaXNwbGF5IGluIHBhZ2luYXRvci5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSBwYWdlTGlua3M6IG51bWJlciA9IDU7XG4gICAgLyoqXG4gICAgICogQXJyYXkgb2YgaW50ZWdlci9vYmplY3QgdmFsdWVzIHRvIGRpc3BsYXkgaW5zaWRlIHJvd3MgcGVyIHBhZ2UgZHJvcGRvd24gb2YgcGFnaW5hdG9yXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgcm93c1BlclBhZ2VPcHRpb25zOiBudW1iZXJbXSB8IGFueVtdIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSBwYWdpbmF0b3IuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgcGFnaW5hdG9yUG9zaXRpb246ICd0b3AnIHwgJ2JvdHRvbScgfCAnYm90aCcgPSAnYm90dG9tJztcbiAgICAvKipcbiAgICAgKiBDdXN0b20gc3R5bGUgY2xhc3MgZm9yIHBhZ2luYXRvclxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHBhZ2luYXRvclN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIHNob3cgaXQgZXZlbiB0aGVyZSBpcyBvbmx5IG9uZSBwYWdlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBhbHdheXNTaG93UGFnaW5hdG9yOiBib29sZWFuID0gdHJ1ZTtcbiAgICAvKipcbiAgICAgKiBUYXJnZXQgZWxlbWVudCB0byBhdHRhY2ggdGhlIHBhZ2luYXRvciBkcm9wZG93biBvdmVybGF5LCB2YWxpZCB2YWx1ZXMgYXJlIFwiYm9keVwiIG9yIGEgbG9jYWwgbmctdGVtcGxhdGUgdmFyaWFibGUgb2YgYW5vdGhlciBlbGVtZW50IChub3RlOiB1c2UgYmluZGluZyB3aXRoIGJyYWNrZXRzIGZvciB0ZW1wbGF0ZSB2YXJpYWJsZXMsIGUuZy4gW2FwcGVuZFRvXT1cIm15ZGl2XCIgZm9yIGEgZGl2IGVsZW1lbnQgaGF2aW5nICNteWRpdiBhcyB2YXJpYWJsZSBuYW1lKS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwYWdpbmF0b3JEcm9wZG93bkFwcGVuZFRvOiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWYgfCBUZW1wbGF0ZVJlZjxhbnk+IHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCB8IGFueTtcbiAgICAvKipcbiAgICAgKiBQYWdpbmF0b3IgZHJvcGRvd24gaGVpZ2h0IG9mIHRoZSB2aWV3cG9ydCBpbiBwaXhlbHMsIGEgc2Nyb2xsYmFyIGlzIGRlZmluZWQgaWYgaGVpZ2h0IG9mIGxpc3QgZXhjZWVkcyB0aGlzIHZhbHVlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHBhZ2luYXRvckRyb3Bkb3duU2Nyb2xsSGVpZ2h0OiBzdHJpbmcgPSAnMjAwcHgnO1xuICAgIC8qKlxuICAgICAqIFRlbXBsYXRlIG9mIHRoZSBjdXJyZW50IHBhZ2UgcmVwb3J0IGVsZW1lbnQuIEF2YWlsYWJsZSBwbGFjZWhvbGRlcnMgYXJlIHtjdXJyZW50UGFnZX0se3RvdGFsUGFnZXN9LHtyb3dzfSx7Zmlyc3R9LHtsYXN0fSBhbmQge3RvdGFsUmVjb3Jkc31cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBjdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlOiBzdHJpbmcgPSAne2N1cnJlbnRQYWdlfSBvZiB7dG90YWxQYWdlc30nO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gZGlzcGxheSBjdXJyZW50IHBhZ2UgcmVwb3J0LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzaG93Q3VycmVudFBhZ2VSZXBvcnQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBkaXNwbGF5IGEgZHJvcGRvd24gdG8gbmF2aWdhdGUgdG8gYW55IHBhZ2UuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dKdW1wVG9QYWdlRHJvcGRvd246IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hlbiBlbmFibGVkLCBpY29ucyBhcmUgZGlzcGxheWVkIG9uIHBhZ2luYXRvciB0byBnbyBmaXJzdCBhbmQgbGFzdCBwYWdlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzaG93Rmlyc3RMYXN0SWNvbjogYm9vbGVhbiA9IHRydWU7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBzaG93IHBhZ2UgbGlua3MuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dQYWdlTGlua3M6IGJvb2xlYW4gPSB0cnVlO1xuICAgIC8qKlxuICAgICAqIERlZmluZXMgaWYgZGF0YSBpcyBsb2FkZWQgYW5kIGludGVyYWN0ZWQgd2l0aCBpbiBsYXp5IG1hbm5lci5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgbGF6eTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIGNhbGwgbGF6eSBsb2FkaW5nIG9uIGluaXRpYWxpemF0aW9uLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBsYXp5TG9hZE9uSW5pdDogYm9vbGVhbiA9IHRydWU7XG4gICAgLyoqXG4gICAgICogVGV4dCB0byBkaXNwbGF5IHdoZW4gdGhlcmUgaXMgbm8gZGF0YS4gRGVmYXVsdHMgdG8gZ2xvYmFsIHZhbHVlIGluIGkxOG4gdHJhbnNsYXRpb24gY29uZmlndXJhdGlvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBlbXB0eU1lc3NhZ2U6IHN0cmluZyA9ICcnO1xuICAgIC8qKlxuICAgICAqIElubGluZSBzdHlsZSBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0eWxlOiB7IFtrbGFzczogc3RyaW5nXTogYW55IH0gfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFN0eWxlIGNsYXNzIG9mIHRoZSBjb21wb25lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc3R5bGVDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFN0eWxlIGNsYXNzIG9mIHRoZSBncmlkLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGdyaWRTdHlsZUNsYXNzOiBzdHJpbmcgPSAnJztcbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiB0byBvcHRpbWl6ZSB0aGUgZG9tIG9wZXJhdGlvbnMgYnkgZGVsZWdhdGluZyB0byBuZ0ZvclRyYWNrQnksIGRlZmF1bHQgYWxnb3JpdGhtIGNoZWNrcyBmb3Igb2JqZWN0IGlkZW50aXR5LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRyYWNrQnk6IEZ1bmN0aW9uID0gKGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSkgPT4gaXRlbTtcbiAgICAvKipcbiAgICAgKiBDb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBmaWVsZHMgaW4gdGhlIG9iamVjdCBncmFwaCB0byBzZWFyY2ggYWdhaW5zdC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBmaWx0ZXJCeTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIExvY2FsZSB0byB1c2UgaW4gZmlsdGVyaW5nLiBUaGUgZGVmYXVsdCBsb2NhbGUgaXMgdGhlIGhvc3QgZW52aXJvbm1lbnQncyBjdXJyZW50IGxvY2FsZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBmaWx0ZXJMb2NhbGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBEaXNwbGF5cyBhIGxvYWRlciB0byBpbmRpY2F0ZSBkYXRhIGxvYWQgaXMgaW4gcHJvZ3Jlc3MuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGxvYWRpbmc6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogVGhlIGljb24gdG8gc2hvdyB3aGlsZSBpbmRpY2F0aW5nIGRhdGEgbG9hZCBpcyBpbiBwcm9ncmVzcy5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBsb2FkaW5nSWNvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIEluZGV4IG9mIHRoZSBmaXJzdCByb3cgdG8gYmUgZGlzcGxheWVkLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIGZpcnN0OiBudW1iZXIgfCB1bmRlZmluZWQgPSAwO1xuICAgIC8qKlxuICAgICAqIFByb3BlcnR5IG5hbWUgb2YgZGF0YSB0byB1c2UgaW4gc29ydGluZyBieSBkZWZhdWx0LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNvcnRGaWVsZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIE9yZGVyIHRvIHNvcnQgdGhlIGRhdGEgYnkgZGVmYXVsdC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSBzb3J0T3JkZXI6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBBbiBhcnJheSBvZiBvYmplY3RzIHRvIGRpc3BsYXkuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgdmFsdWU6IGFueVtdIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIERlZmluZXMgdGhlIGxheW91dCBtb2RlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGxheW91dDogJ2xpc3QnIHwgJ2dyaWQnID0gJ2xpc3QnO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIHBhZ2luZywgc29ydGluZyBvciBmaWx0ZXJpbmcgaGFwcGVucyBpbiBsYXp5IG1vZGUuXG4gICAgICogQHBhcmFtIHtEYXRhVmlld0xhenlMb2FkRXZlbnR9IGV2ZW50IC0gQ3VzdG9tIGxhenkgbG9hZCBldmVudC5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25MYXp5TG9hZDogRXZlbnRFbWl0dGVyPERhdGFWaWV3TGF6eUxvYWRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGFWaWV3TGF6eUxvYWRFdmVudD4oKTtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiBwYWdpbmF0aW9uIG9jY3Vycy5cbiAgICAgKiBAcGFyYW0ge0RhdGFWaWV3UGFnZUV2ZW50fSBldmVudCAtIEN1c3RvbSBwYWdlIGV2ZW50LlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvblBhZ2U6IEV2ZW50RW1pdHRlcjxEYXRhVmlld1BhZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGFWaWV3UGFnZUV2ZW50PigpO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIHNvcnRpbmcgb2NjdXJzLlxuICAgICAqIEBwYXJhbSB7RGF0YVZpZXdTb3J0RXZlbnR9IGV2ZW50IC0gQ3VzdG9tIHNvcnQgZXZlbnQuXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uU29ydDogRXZlbnRFbWl0dGVyPERhdGFWaWV3U29ydEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YVZpZXdTb3J0RXZlbnQ+KCk7XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gY2hhbmdpbmcgbGF5b3V0LlxuICAgICAqIEBwYXJhbSB7RGF0YVZpZXdMYXlvdXRDaGFuZ2VFdmVudH0gZXZlbnQgLSBDdXN0b20gbGF5b3V0IGNoYW5nZSBldmVudC5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25DaGFuZ2VMYXlvdXQ6IEV2ZW50RW1pdHRlcjxEYXRhVmlld0xheW91dENoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YVZpZXdMYXlvdXRDaGFuZ2VFdmVudD4oKTtcbiAgICAvKipcbiAgICAgKiBUZW1wbGF0ZSBmb3IgdGhlIGxpc3QgbGF5b3V0LlxuICAgICAqIEBncm91cCBUZW1wbGF0ZXNcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdsaXN0JykgbGlzdFRlbXBsYXRlOiBOdWxsYWJsZTxUZW1wbGF0ZVJlZjxhbnk+PjtcbiAgICAvKipcbiAgICAgKiBUZW1wbGF0ZSBmb3IgZ3JpZCBsYXlvdXQuXG4gICAgICogQGdyb3VwIFRlbXBsYXRlc1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2dyaWQnKSBncmlkVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgLyoqXG4gICAgICogVGVtcGxhdGUgZm9yIHRoZSBoZWFkZXIgc2VjdGlvbi5cbiAgICAgKiBAZ3JvdXAgVGVtcGxhdGVzXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnaGVhZGVyJykgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgLyoqXG4gICAgICogVGVtcGxhdGUgZm9yIHRoZSBlbXB0eSBtZXNzYWdlIHNlY3Rpb24uXG4gICAgICogQGdyb3VwIFRlbXBsYXRlc1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2VtcHR5bWVzc2FnZScpIGVtcHR5bWVzc2FnZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIC8qKlxuICAgICAqIFRlbXBsYXRlIGZvciB0aGUgZm9vdGVyIHNlY3Rpb24uXG4gICAgICogQGdyb3VwIFRlbXBsYXRlc1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2Zvb3RlcicpIGZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIC8qKlxuICAgICAqIFRlbXBsYXRlIGZvciB0aGUgbGVmdCBzaWRlIG9mIHBhZ2luYXRvci5cbiAgICAgKiBAZ3JvdXAgVGVtcGxhdGVzXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgncGFnaW5hdG9ybGVmdCcpIHBhZ2luYXRvcmxlZnQ6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgLyoqciogVGVtcGxhdGUgZm9yIHRoZSByaWdodCBzaWRlIG9mIHBhZ2luYXRvci5cbiAgICAgKiBAZ3JvdXAgVGVtcGxhdGVzXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgncGFnaW5hdG9ycmlnaHQnKSBwYWdpbmF0b3JyaWdodDogVGVtcGxhdGVSZWY8YW55PjtcbiAgICAvKipcbiAgICAgKiBUZW1wbGF0ZSBmb3IgaXRlbXMgaW4gcGFnaW5hdG9yIGRyb3Bkb3duLlxuICAgICAqIEBncm91cCBUZW1wbGF0ZXNcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdwYWdpbmF0b3Jkcm9wZG93bml0ZW0nKSBwYWdpbmF0b3Jkcm9wZG93bml0ZW06IFRlbXBsYXRlUmVmPGFueT47XG4gICAgLyoqXG4gICAgICogVGVtcGxhdGUgZm9yIGxvYWRpbmcgaWNvbi5cbiAgICAgKiBAZ3JvdXAgVGVtcGxhdGVzXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnbG9hZGluZ0ljb24nKSBsb2FkaW5naWNvbjogVGVtcGxhdGVSZWY8YW55PjtcbiAgICAvKipcbiAgICAgKiBUZW1wbGF0ZSBmb3IgbGlzdCBpY29uLlxuICAgICAqIEBncm91cCBUZW1wbGF0ZXNcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdsaXN0aWNvbicpIGxpc3RpY29uOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIC8qKlxuICAgICAqIFRlbXBsYXRlIGZvciBncmlkIGljb24uXG4gICAgICogQGdyb3VwIFRlbXBsYXRlc1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2dyaWRpY29uJykgZ3JpZGljb246IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAQ29udGVudENoaWxkKEhlYWRlcikgaGVhZGVyOiBhbnk7XG5cbiAgICBAQ29udGVudENoaWxkKEZvb3RlcikgZm9vdGVyOiBhbnk7XG5cbiAgICBfdmFsdWU6IE51bGxhYmxlPGFueVtdPjtcblxuICAgIGZpbHRlcmVkVmFsdWU6IE51bGxhYmxlPGFueVtdPjtcblxuICAgIGZpbHRlclZhbHVlOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgaW5pdGlhbGl6ZWQ6IE51bGxhYmxlPGJvb2xlYW4+O1xuXG4gICAgX2xheW91dDogJ2xpc3QnIHwgJ2dyaWQnID0gJ2xpc3QnO1xuXG4gICAgdHJhbnNsYXRpb25TdWJzY3JpcHRpb246IE51bGxhYmxlPFN1YnNjcmlwdGlvbj47XG5cbiAgICBfY29tcG9uZW50U3R5bGUgPSBpbmplY3QoRGF0YVZpZXdTdHlsZSk7XG5cbiAgICBnZXQgZW1wdHlNZXNzYWdlTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW1wdHlNZXNzYWdlIHx8IHRoaXMuY29uZmlnLmdldFRyYW5zbGF0aW9uKFRyYW5zbGF0aW9uS2V5cy5FTVBUWV9NRVNTQUdFKTtcbiAgICB9XG5cbiAgICBmaWx0ZXJTZXJ2aWNlID0gaW5qZWN0KEZpbHRlclNlcnZpY2UpO1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIGlmICh0aGlzLmxhenkgJiYgdGhpcy5sYXp5TG9hZE9uSW5pdCkge1xuICAgICAgICAgICAgdGhpcy5vbkxhenlMb2FkLmVtaXQodGhpcy5jcmVhdGVMYXp5TG9hZE1ldGFkYXRhKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50cmFuc2xhdGlvblN1YnNjcmlwdGlvbiA9IHRoaXMuY29uZmlnLnRyYW5zbGF0aW9uT2JzZXJ2ZXIuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKHNpbXBsZUNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoc2ltcGxlQ2hhbmdlcyk7XG4gICAgICAgIGlmIChzaW1wbGVDaGFuZ2VzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHNpbXBsZUNoYW5nZXMudmFsdWUuY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUb3RhbFJlY29yZHMoKTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLmxhenkgJiYgdGhpcy5oYXNGaWx0ZXIoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyKHRoaXMuZmlsdGVyVmFsdWUgYXMgc3RyaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzaW1wbGVDaGFuZ2VzLnNvcnRGaWVsZCB8fCBzaW1wbGVDaGFuZ2VzLnNvcnRPcmRlcikge1xuICAgICAgICAgICAgLy9hdm9pZCB0cmlnZ2VyaW5nIGxhenkgbG9hZCBwcmlvciB0byBsYXp5IGluaXRpYWxpemF0aW9uIGF0IG9uSW5pdFxuICAgICAgICAgICAgaWYgKCF0aGlzLmxhenkgfHwgdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc29ydCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlVG90YWxSZWNvcmRzKCkge1xuICAgICAgICB0aGlzLnRvdGFsUmVjb3JkcyA9IHRoaXMubGF6eSA/IHRoaXMudG90YWxSZWNvcmRzIDogdGhpcy5fdmFsdWUgPyB0aGlzLl92YWx1ZS5sZW5ndGggOiAwO1xuICAgIH1cblxuICAgIHBhZ2luYXRlKGV2ZW50OiBEYXRhVmlld1BhZ2luYXRvclN0YXRlKSB7XG4gICAgICAgIHRoaXMuZmlyc3QgPSBldmVudC5maXJzdDtcbiAgICAgICAgdGhpcy5yb3dzID0gZXZlbnQucm93cztcblxuICAgICAgICBpZiAodGhpcy5sYXp5KSB7XG4gICAgICAgICAgICB0aGlzLm9uTGF6eUxvYWQuZW1pdCh0aGlzLmNyZWF0ZUxhenlMb2FkTWV0YWRhdGEoKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9uUGFnZS5lbWl0KHtcbiAgICAgICAgICAgIGZpcnN0OiA8bnVtYmVyPnRoaXMuZmlyc3QsXG4gICAgICAgICAgICByb3dzOiA8bnVtYmVyPnRoaXMucm93c1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzb3J0KCkge1xuICAgICAgICB0aGlzLmZpcnN0ID0gMDtcblxuICAgICAgICBpZiAodGhpcy5sYXp5KSB7XG4gICAgICAgICAgICB0aGlzLm9uTGF6eUxvYWQuZW1pdCh0aGlzLmNyZWF0ZUxhenlMb2FkTWV0YWRhdGEoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZS5zb3J0KChkYXRhMSwgZGF0YTIpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgdmFsdWUxID0gcmVzb2x2ZUZpZWxkRGF0YShkYXRhMSwgdGhpcy5zb3J0RmllbGQpO1xuICAgICAgICAgICAgICAgIGxldCB2YWx1ZTIgPSByZXNvbHZlRmllbGREYXRhKGRhdGEyLCB0aGlzLnNvcnRGaWVsZCk7XG4gICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IG51bGw7XG5cbiAgICAgICAgICAgICAgICBpZiAodmFsdWUxID09IG51bGwgJiYgdmFsdWUyICE9IG51bGwpIHJlc3VsdCA9IC0xO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHZhbHVlMSAhPSBudWxsICYmIHZhbHVlMiA9PSBudWxsKSByZXN1bHQgPSAxO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHZhbHVlMSA9PSBudWxsICYmIHZhbHVlMiA9PSBudWxsKSByZXN1bHQgPSAwO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHR5cGVvZiB2YWx1ZTEgPT09ICdzdHJpbmcnICYmIHR5cGVvZiB2YWx1ZTIgPT09ICdzdHJpbmcnKSByZXN1bHQgPSB2YWx1ZTEubG9jYWxlQ29tcGFyZSh2YWx1ZTIpO1xuICAgICAgICAgICAgICAgIGVsc2UgcmVzdWx0ID0gdmFsdWUxIDwgdmFsdWUyID8gLTEgOiB2YWx1ZTEgPiB2YWx1ZTIgPyAxIDogMDtcblxuICAgICAgICAgICAgICAgIHJldHVybiAodGhpcy5zb3J0T3JkZXIgYXMgbnVtYmVyKSAqIHJlc3VsdDtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5oYXNGaWx0ZXIoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyKHRoaXMuZmlsdGVyVmFsdWUgYXMgc3RyaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25Tb3J0LmVtaXQoe1xuICAgICAgICAgICAgc29ydEZpZWxkOiA8c3RyaW5nPnRoaXMuc29ydEZpZWxkLFxuICAgICAgICAgICAgc29ydE9yZGVyOiA8bnVtYmVyPnRoaXMuc29ydE9yZGVyXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGlzRW1wdHkoKSB7XG4gICAgICAgIGxldCBkYXRhID0gdGhpcy5maWx0ZXJlZFZhbHVlIHx8IHRoaXMudmFsdWU7XG4gICAgICAgIHJldHVybiBkYXRhID09IG51bGwgfHwgZGF0YS5sZW5ndGggPT0gMDtcbiAgICB9XG5cbiAgICBjcmVhdGVMYXp5TG9hZE1ldGFkYXRhKCk6IERhdGFWaWV3TGF6eUxvYWRFdmVudCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBmaXJzdDogPG51bWJlcj50aGlzLmZpcnN0LFxuICAgICAgICAgICAgcm93czogPG51bWJlcj50aGlzLnJvd3MsXG4gICAgICAgICAgICBzb3J0RmllbGQ6IDxzdHJpbmc+dGhpcy5zb3J0RmllbGQsXG4gICAgICAgICAgICBzb3J0T3JkZXI6IDxudW1iZXI+dGhpcy5zb3J0T3JkZXJcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXRCbG9ja2FibGVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWwubmF0aXZlRWxlbWVudC5jaGlsZHJlblswXTtcbiAgICB9XG5cbiAgICBmaWx0ZXIoZmlsdGVyOiBzdHJpbmcsIGZpbHRlck1hdGNoTW9kZTogc3RyaW5nID0gJ2NvbnRhaW5zJykge1xuICAgICAgICB0aGlzLmZpbHRlclZhbHVlID0gZmlsdGVyO1xuXG4gICAgICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICBsZXQgc2VhcmNoRmllbGRzID0gKHRoaXMuZmlsdGVyQnkgYXMgc3RyaW5nKS5zcGxpdCgnLCcpO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZFZhbHVlID0gdGhpcy5maWx0ZXJTZXJ2aWNlLmZpbHRlcih0aGlzLnZhbHVlLCBzZWFyY2hGaWVsZHMsIGZpbHRlciwgZmlsdGVyTWF0Y2hNb2RlLCB0aGlzLmZpbHRlckxvY2FsZSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmZpbHRlcmVkVmFsdWUubGVuZ3RoID09PSB0aGlzLnZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRWYWx1ZSA9IG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnBhZ2luYXRvcikge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlyc3QgPSAwO1xuICAgICAgICAgICAgICAgIHRoaXMudG90YWxSZWNvcmRzID0gdGhpcy5maWx0ZXJlZFZhbHVlID8gdGhpcy5maWx0ZXJlZFZhbHVlLmxlbmd0aCA6IHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlLmxlbmd0aCA6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYXNGaWx0ZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlclZhbHVlICYmIHRoaXMuZmlsdGVyVmFsdWUudHJpbSgpLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLnRyYW5zbGF0aW9uU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0RhdGFWaWV3LCBTaGFyZWRNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtEYXRhVmlldywgU2hhcmVkTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRhVmlld01vZHVsZSB7fVxuIl19