primeng 18.0.0-beta.1 → 18.0.0-beta.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 (470) hide show
  1. package/README.md +1 -1
  2. package/accordion/accordion.d.ts +1 -1
  3. package/accordion/style/accordionstyle.d.ts +37 -0
  4. package/api/translation.d.ts +2 -0
  5. package/autocomplete/autocomplete.d.ts +2 -3
  6. package/autocomplete/style/autocompletestyle.d.ts +69 -0
  7. package/avatar/style/avatarstyle.d.ts +25 -0
  8. package/avatargroup/style/avatargroupstyle.d.ts +14 -0
  9. package/badge/style/badgestyle.d.ts +17 -0
  10. package/base/style/basestyle.d.ts +4 -0
  11. package/blockui/blockui.d.ts +1 -1
  12. package/blockui/style/blockuistyle.d.ts +17 -0
  13. package/breadcrumb/style/breadcrumbstyle.d.ts +45 -0
  14. package/button/style/buttonstyle.d.ts +29 -0
  15. package/buttongroup/style/buttongroupstyle.d.ts +17 -0
  16. package/card/style/cardstyle.d.ts +45 -0
  17. package/carousel/style/carouselstyle.d.ts +69 -0
  18. package/cascadeselect/cascadeselect.d.ts +2 -2
  19. package/cascadeselect/style/cascadeselectstyle.d.ts +65 -0
  20. package/checkbox/style/checkboxstyle.d.ts +29 -0
  21. package/chip/style/chipstyle.d.ts +33 -0
  22. package/colorpicker/colorpicker.d.ts +1 -1
  23. package/colorpicker/style/colorpickerstyle.d.ts +45 -0
  24. package/confirmdialog/confirmdialog.d.ts +1 -1
  25. package/confirmdialog/style/confirmdialogstyle.d.ts +33 -0
  26. package/confirmpopup/confirmpopup.d.ts +3 -3
  27. package/confirmpopup/style/confirmpopupstyle.d.ts +41 -0
  28. package/contextmenu/contextmenu.d.ts +2 -2
  29. package/contextmenu/style/contextmenustyle.d.ts +54 -0
  30. package/dataview/dataview.d.ts +1 -1
  31. package/dataview/style/dataviewstyle.d.ts +37 -0
  32. package/datepicker/datepicker.d.ts +1 -1
  33. package/datepicker/style/datepickerstyle.d.ts +165 -0
  34. package/dialog/style/dialogstyle.d.ts +49 -0
  35. package/divider/style/dividerstyle.d.ts +21 -0
  36. package/dock/style/dockstyle.d.ts +41 -0
  37. package/drawer/style/drawerstyle.d.ts +37 -0
  38. package/dropdown/style/dropdownstyle.d.ts +14 -0
  39. package/dynamicdialog/style/dynamicdialogstyle.d.ts +49 -0
  40. package/editor/style/editorstyle.d.ts +25 -0
  41. package/esm2022/accordion/accordion.mjs +3 -3
  42. package/esm2022/accordion/style/accordionstyle.mjs +37 -1
  43. package/esm2022/api/primengconfig.mjs +3 -1
  44. package/esm2022/api/translation.mjs +1 -1
  45. package/esm2022/autocomplete/autocomplete.mjs +4 -4
  46. package/esm2022/autocomplete/style/autocompletestyle.mjs +69 -1
  47. package/esm2022/avatar/style/avatarstyle.mjs +25 -1
  48. package/esm2022/avatargroup/style/avatargroupstyle.mjs +14 -1
  49. package/esm2022/badge/style/badgestyle.mjs +17 -1
  50. package/esm2022/basecomponent/basecomponent.mjs +3 -4
  51. package/esm2022/blockui/blockui.mjs +3 -3
  52. package/esm2022/blockui/style/blockuistyle.mjs +17 -1
  53. package/esm2022/breadcrumb/style/breadcrumbstyle.mjs +45 -1
  54. package/esm2022/button/style/buttonstyle.mjs +29 -1
  55. package/esm2022/buttongroup/style/buttongroupstyle.mjs +17 -1
  56. package/esm2022/card/style/cardstyle.mjs +45 -1
  57. package/esm2022/carousel/style/carouselstyle.mjs +69 -1
  58. package/esm2022/cascadeselect/cascadeselect.mjs +15 -19
  59. package/esm2022/cascadeselect/style/cascadeselectstyle.mjs +65 -1
  60. package/esm2022/checkbox/checkbox.mjs +1 -1
  61. package/esm2022/checkbox/style/checkboxstyle.mjs +29 -1
  62. package/esm2022/chip/style/chipstyle.mjs +33 -1
  63. package/esm2022/colorpicker/colorpicker.mjs +3 -3
  64. package/esm2022/colorpicker/style/colorpickerstyle.mjs +45 -1
  65. package/esm2022/confirmdialog/confirmdialog.mjs +3 -3
  66. package/esm2022/confirmdialog/style/confirmdialogstyle.mjs +33 -1
  67. package/esm2022/confirmpopup/confirmpopup.mjs +11 -11
  68. package/esm2022/confirmpopup/style/confirmpopupstyle.mjs +41 -1
  69. package/esm2022/contextmenu/contextmenu.mjs +15 -15
  70. package/esm2022/contextmenu/style/contextmenustyle.mjs +54 -1
  71. package/esm2022/dataview/dataview.mjs +3 -3
  72. package/esm2022/dataview/style/dataviewstyle.mjs +37 -1
  73. package/esm2022/datepicker/datepicker.mjs +3 -3
  74. package/esm2022/datepicker/style/datepickerstyle.mjs +165 -1
  75. package/esm2022/dialog/style/dialogstyle.mjs +49 -1
  76. package/esm2022/divider/style/dividerstyle.mjs +21 -1
  77. package/esm2022/dock/style/dockstyle.mjs +41 -1
  78. package/esm2022/drawer/drawer.mjs +3 -3
  79. package/esm2022/drawer/style/drawerstyle.mjs +37 -1
  80. package/esm2022/dropdown/dropdown.mjs +9 -9
  81. package/esm2022/dropdown/style/dropdownstyle.mjs +4 -1
  82. package/esm2022/dynamicdialog/style/dynamicdialogstyle.mjs +49 -1
  83. package/esm2022/editor/style/editorstyle.mjs +25 -1
  84. package/esm2022/fieldset/style/fieldsetstyle.mjs +37 -1
  85. package/esm2022/fileupload/fileupload.interface.mjs +1 -1
  86. package/esm2022/fileupload/fileupload.mjs +46 -13
  87. package/esm2022/fileupload/style/fileuploadstyle.mjs +73 -1
  88. package/esm2022/floatlabel/style/floatlabelstyle.mjs +17 -1
  89. package/esm2022/fluid/style/fluidstyle.mjs +17 -1
  90. package/esm2022/galleria/style/galleriastyle.mjs +125 -1
  91. package/esm2022/iconfield/style/iconfieldstyle.mjs +23 -4
  92. package/esm2022/image/style/imagestyle.mjs +57 -1
  93. package/esm2022/inplace/style/inplacestyle.mjs +25 -1
  94. package/esm2022/inputgroup/style/inputgroupstyle.mjs +24 -8
  95. package/esm2022/inputmask/inputmask.mjs +1 -1
  96. package/esm2022/inputmask/style/inputmaskstyle.mjs +17 -1
  97. package/esm2022/inputnumber/inputnumber.mjs +3 -3
  98. package/esm2022/inputnumber/style/inputnumberstyle.mjs +33 -1
  99. package/esm2022/inputotp/inputotp.mjs +3 -3
  100. package/esm2022/inputotp/style/inputotpstyle.mjs +21 -1
  101. package/esm2022/inputtext/style/inputtextstyle.mjs +17 -1
  102. package/esm2022/inputtextarea/style/textareastyle.mjs +17 -1
  103. package/esm2022/knob/style/knobstyle.mjs +29 -1
  104. package/esm2022/listbox/listbox.mjs +9 -9
  105. package/esm2022/listbox/style/listboxstyle.mjs +53 -1
  106. package/esm2022/megamenu/megamenu.mjs +15 -15
  107. package/esm2022/megamenu/style/megamenustyle.mjs +81 -1
  108. package/esm2022/menu/style/menustyle.mjs +57 -1
  109. package/esm2022/menubar/style/menubarstyle.mjs +65 -1
  110. package/esm2022/message/style/messagestyle.mjs +38 -2
  111. package/esm2022/metergroup/metergroup.mjs +10 -10
  112. package/esm2022/metergroup/style/metergroupstyle.mjs +45 -1
  113. package/esm2022/multiselect/multiselect.mjs +53 -53
  114. package/esm2022/multiselect/style/multiselectstyle.mjs +85 -1
  115. package/esm2022/orderlist/orderlist.mjs +3 -3
  116. package/esm2022/orderlist/style/orderliststyle.mjs +21 -1
  117. package/esm2022/organizationchart/organizationchart.mjs +3 -3
  118. package/esm2022/organizationchart/style/organizationchartstyle.mjs +53 -1
  119. package/esm2022/overlay/overlay.mjs +1 -1
  120. package/esm2022/overlaypanel/style/popoverstyle.mjs +21 -1
  121. package/esm2022/paginator/paginator.mjs +6 -6
  122. package/esm2022/paginator/style/paginatorstyle.mjs +81 -1
  123. package/esm2022/panel/style/panelstyle.mjs +45 -1
  124. package/esm2022/panelmenu/panelmenu.mjs +22 -22
  125. package/esm2022/panelmenu/style/panelmenustyle.mjs +83 -2
  126. package/esm2022/password/style/passwordstyle.mjs +45 -1
  127. package/esm2022/picklist/picklist.mjs +3 -3
  128. package/esm2022/picklist/style/pickliststyle.mjs +37 -1
  129. package/esm2022/progressbar/progressbar.mjs +3 -3
  130. package/esm2022/progressbar/style/progressbarstyle.mjs +25 -1
  131. package/esm2022/progressspinner/progressspinner.mjs +3 -3
  132. package/esm2022/progressspinner/style/progressspinnerstyle.mjs +25 -1
  133. package/esm2022/radiobutton/radiobutton.mjs +4 -4
  134. package/esm2022/radiobutton/style/radiobuttonstyle.mjs +29 -1
  135. package/esm2022/rating/rating.mjs +1 -1
  136. package/esm2022/rating/style/ratingstyle.mjs +29 -1
  137. package/esm2022/ripple/ripple.mjs +17 -12
  138. package/esm2022/ripple/style/ripplestyle.mjs +17 -1
  139. package/esm2022/scroller/scroller.mjs +5 -5
  140. package/esm2022/scroller/style/scrollerstyle.mjs +104 -0
  141. package/esm2022/scrollpanel/scrollpanel.mjs +3 -3
  142. package/esm2022/scrollpanel/style/scrollpanelstyle.mjs +33 -1
  143. package/esm2022/scrolltop/scrolltop.mjs +3 -3
  144. package/esm2022/scrolltop/style/scrolltopstyle.mjs +21 -1
  145. package/esm2022/select/public_api.mjs +2 -1
  146. package/esm2022/select/select.mjs +10 -10
  147. package/esm2022/select/style/selectstyle.mjs +85 -1
  148. package/esm2022/selectbutton/selectbutton.mjs +8 -8
  149. package/esm2022/selectbutton/style/selectbuttonstyle.mjs +17 -1
  150. package/esm2022/skeleton/style/skeletonstyle.mjs +17 -1
  151. package/esm2022/slider/style/sliderstyle.mjs +25 -1
  152. package/esm2022/speeddial/speeddial.mjs +3 -3
  153. package/esm2022/speeddial/style/speeddialstyle.mjs +41 -1
  154. package/esm2022/splitbutton/splitbutton.mjs +8 -8
  155. package/esm2022/splitbutton/style/splitbuttonstyle.mjs +25 -1
  156. package/esm2022/splitter/style/splitterstyle.mjs +25 -1
  157. package/esm2022/stepper/stepper.mjs +26 -26
  158. package/esm2022/stepper/style/stepperstyle.mjs +21 -1
  159. package/esm2022/steps/style/stepsstyle.mjs +37 -1
  160. package/esm2022/table/style/tablestyle.mjs +899 -0
  161. package/esm2022/table/table.mjs +24 -24
  162. package/esm2022/tabmenu/style/tabmenustyle.mjs +42 -2
  163. package/esm2022/tabmenu/tabmenu.mjs +3 -3
  164. package/esm2022/tabs/style/tabsstyle.mjs +49 -1
  165. package/esm2022/tabview/style/tabsstyle.mjs +49 -1
  166. package/esm2022/tag/style/tagstyle.mjs +25 -1
  167. package/esm2022/terminal/style/terminalstyle.mjs +49 -1
  168. package/esm2022/textarea/style/textareastyle.mjs +17 -1
  169. package/esm2022/textarea/textarea.mjs +1 -2
  170. package/esm2022/tieredmenu/style/tieredmenustyle.mjs +61 -1
  171. package/esm2022/tieredmenu/tieredmenu.mjs +15 -15
  172. package/esm2022/timeline/style/timelinestyle.mjs +41 -1
  173. package/esm2022/toast/style/toaststyle.mjs +49 -1
  174. package/esm2022/togglebutton/style/togglebuttonstyle.mjs +25 -1
  175. package/esm2022/togglebutton/togglebutton.mjs +3 -3
  176. package/esm2022/toggleswitch/style/toggleswitchstyle.mjs +25 -1
  177. package/esm2022/toggleswitch/toggleswitch.mjs +1 -1
  178. package/esm2022/toolbar/style/toolbarstyle.mjs +29 -1
  179. package/esm2022/tooltip/style/tooltipstyle.mjs +25 -1
  180. package/esm2022/tree/style/treestyle.mjs +69 -1
  181. package/esm2022/tree/tree.mjs +9 -9
  182. package/esm2022/treeselect/style/treeselectstyle.mjs +53 -1
  183. package/esm2022/treeselect/treeselect.mjs +3 -3
  184. package/esm2022/treetable/style/treetablestyle.mjs +97 -1
  185. package/esm2022/treetable/treetable.mjs +3 -3
  186. package/fesm2022/primeng-accordion.mjs +38 -2
  187. package/fesm2022/primeng-accordion.mjs.map +1 -1
  188. package/fesm2022/primeng-api.mjs +2 -0
  189. package/fesm2022/primeng-api.mjs.map +1 -1
  190. package/fesm2022/primeng-autocomplete.mjs +71 -3
  191. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  192. package/fesm2022/primeng-avatar.mjs +24 -0
  193. package/fesm2022/primeng-avatar.mjs.map +1 -1
  194. package/fesm2022/primeng-avatargroup.mjs +13 -0
  195. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  196. package/fesm2022/primeng-badge.mjs +16 -0
  197. package/fesm2022/primeng-badge.mjs.map +1 -1
  198. package/fesm2022/primeng-basecomponent.mjs +2 -3
  199. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  200. package/fesm2022/primeng-blockui.mjs +18 -2
  201. package/fesm2022/primeng-blockui.mjs.map +1 -1
  202. package/fesm2022/primeng-breadcrumb.mjs +44 -0
  203. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  204. package/fesm2022/primeng-button.mjs +28 -0
  205. package/fesm2022/primeng-button.mjs.map +1 -1
  206. package/fesm2022/primeng-buttongroup.mjs +16 -0
  207. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  208. package/fesm2022/primeng-card.mjs +44 -0
  209. package/fesm2022/primeng-card.mjs.map +1 -1
  210. package/fesm2022/primeng-carousel.mjs +68 -0
  211. package/fesm2022/primeng-carousel.mjs.map +1 -1
  212. package/fesm2022/primeng-cascadeselect.mjs +78 -18
  213. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  214. package/fesm2022/primeng-checkbox.mjs +28 -0
  215. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  216. package/fesm2022/primeng-chip.mjs +32 -0
  217. package/fesm2022/primeng-chip.mjs.map +1 -1
  218. package/fesm2022/primeng-colorpicker.mjs +46 -2
  219. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  220. package/fesm2022/primeng-confirmdialog.mjs +34 -2
  221. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  222. package/fesm2022/primeng-confirmpopup.mjs +49 -9
  223. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  224. package/fesm2022/primeng-contextmenu.mjs +67 -14
  225. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  226. package/fesm2022/primeng-dataview.mjs +38 -2
  227. package/fesm2022/primeng-dataview.mjs.map +1 -1
  228. package/fesm2022/primeng-datepicker.mjs +166 -2
  229. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  230. package/fesm2022/primeng-dialog.mjs +49 -1
  231. package/fesm2022/primeng-dialog.mjs.map +1 -1
  232. package/fesm2022/primeng-divider.mjs +21 -1
  233. package/fesm2022/primeng-divider.mjs.map +1 -1
  234. package/fesm2022/primeng-dock.mjs +40 -0
  235. package/fesm2022/primeng-dock.mjs.map +1 -1
  236. package/fesm2022/primeng-drawer.mjs +38 -2
  237. package/fesm2022/primeng-drawer.mjs.map +1 -1
  238. package/fesm2022/primeng-dropdown.mjs +11 -8
  239. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  240. package/fesm2022/primeng-dynamicdialog.mjs +48 -0
  241. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  242. package/fesm2022/primeng-editor.mjs +24 -0
  243. package/fesm2022/primeng-editor.mjs.map +1 -1
  244. package/fesm2022/primeng-fieldset.mjs +36 -0
  245. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  246. package/fesm2022/primeng-fileupload.mjs +117 -12
  247. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  248. package/fesm2022/primeng-floatlabel.mjs +16 -0
  249. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  250. package/fesm2022/primeng-fluid.mjs +16 -0
  251. package/fesm2022/primeng-fluid.mjs.map +1 -1
  252. package/fesm2022/primeng-galleria.mjs +124 -0
  253. package/fesm2022/primeng-galleria.mjs.map +1 -1
  254. package/fesm2022/primeng-iconfield.mjs +22 -3
  255. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  256. package/fesm2022/primeng-image.mjs +56 -0
  257. package/fesm2022/primeng-image.mjs.map +1 -1
  258. package/fesm2022/primeng-inplace.mjs +24 -0
  259. package/fesm2022/primeng-inplace.mjs.map +1 -1
  260. package/fesm2022/primeng-inputgroup.mjs +23 -7
  261. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  262. package/fesm2022/primeng-inputmask.mjs +16 -0
  263. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  264. package/fesm2022/primeng-inputnumber.mjs +34 -2
  265. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  266. package/fesm2022/primeng-inputotp.mjs +22 -2
  267. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  268. package/fesm2022/primeng-inputtext.mjs +16 -0
  269. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  270. package/fesm2022/primeng-inputtextarea.mjs +16 -0
  271. package/fesm2022/primeng-inputtextarea.mjs.map +1 -1
  272. package/fesm2022/primeng-knob.mjs +28 -0
  273. package/fesm2022/primeng-knob.mjs.map +1 -1
  274. package/fesm2022/primeng-listbox.mjs +60 -8
  275. package/fesm2022/primeng-listbox.mjs.map +1 -1
  276. package/fesm2022/primeng-megamenu.mjs +94 -14
  277. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  278. package/fesm2022/primeng-menu.mjs +56 -0
  279. package/fesm2022/primeng-menu.mjs.map +1 -1
  280. package/fesm2022/primeng-menubar.mjs +64 -0
  281. package/fesm2022/primeng-menubar.mjs.map +1 -1
  282. package/fesm2022/primeng-message.mjs +38 -2
  283. package/fesm2022/primeng-message.mjs.map +1 -1
  284. package/fesm2022/primeng-metergroup.mjs +53 -9
  285. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  286. package/fesm2022/primeng-multiselect.mjs +136 -52
  287. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  288. package/fesm2022/primeng-orderlist.mjs +22 -2
  289. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  290. package/fesm2022/primeng-organizationchart.mjs +54 -2
  291. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  292. package/fesm2022/primeng-overlay.mjs.map +1 -1
  293. package/fesm2022/primeng-overlaypanel.mjs +20 -0
  294. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  295. package/fesm2022/primeng-paginator.mjs +85 -5
  296. package/fesm2022/primeng-paginator.mjs.map +1 -1
  297. package/fesm2022/primeng-panel.mjs +45 -1
  298. package/fesm2022/primeng-panel.mjs.map +1 -1
  299. package/fesm2022/primeng-panelmenu.mjs +103 -22
  300. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  301. package/fesm2022/primeng-password.mjs +44 -0
  302. package/fesm2022/primeng-password.mjs.map +1 -1
  303. package/fesm2022/primeng-picklist.mjs +38 -2
  304. package/fesm2022/primeng-picklist.mjs.map +1 -1
  305. package/fesm2022/primeng-progressbar.mjs +26 -2
  306. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  307. package/fesm2022/primeng-progressspinner.mjs +26 -2
  308. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  309. package/fesm2022/primeng-radiobutton.mjs +31 -3
  310. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  311. package/fesm2022/primeng-rating.mjs +28 -0
  312. package/fesm2022/primeng-rating.mjs.map +1 -1
  313. package/fesm2022/primeng-ripple.mjs +32 -11
  314. package/fesm2022/primeng-ripple.mjs.map +1 -1
  315. package/fesm2022/primeng-scroller.mjs +39 -7
  316. package/fesm2022/primeng-scroller.mjs.map +1 -1
  317. package/fesm2022/primeng-scrollpanel.mjs +34 -2
  318. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  319. package/fesm2022/primeng-scrolltop.mjs +22 -2
  320. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  321. package/fesm2022/primeng-select.mjs +94 -10
  322. package/fesm2022/primeng-select.mjs.map +1 -1
  323. package/fesm2022/primeng-selectbutton.mjs +23 -7
  324. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  325. package/fesm2022/primeng-skeleton.mjs +16 -0
  326. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  327. package/fesm2022/primeng-slider.mjs +24 -0
  328. package/fesm2022/primeng-slider.mjs.map +1 -1
  329. package/fesm2022/primeng-speeddial.mjs +42 -2
  330. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  331. package/fesm2022/primeng-splitbutton.mjs +31 -7
  332. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  333. package/fesm2022/primeng-splitter.mjs +24 -0
  334. package/fesm2022/primeng-splitter.mjs.map +1 -1
  335. package/fesm2022/primeng-stepper.mjs +45 -25
  336. package/fesm2022/primeng-stepper.mjs.map +1 -1
  337. package/fesm2022/primeng-steps.mjs +36 -0
  338. package/fesm2022/primeng-steps.mjs.map +1 -1
  339. package/fesm2022/primeng-table.mjs +230 -56
  340. package/fesm2022/primeng-table.mjs.map +1 -1
  341. package/fesm2022/primeng-tabmenu.mjs +43 -3
  342. package/fesm2022/primeng-tabmenu.mjs.map +1 -1
  343. package/fesm2022/primeng-tabs.mjs +48 -0
  344. package/fesm2022/primeng-tabs.mjs.map +1 -1
  345. package/fesm2022/primeng-tabview.mjs +48 -0
  346. package/fesm2022/primeng-tabview.mjs.map +1 -1
  347. package/fesm2022/primeng-tag.mjs +24 -0
  348. package/fesm2022/primeng-tag.mjs.map +1 -1
  349. package/fesm2022/primeng-terminal.mjs +48 -0
  350. package/fesm2022/primeng-terminal.mjs.map +1 -1
  351. package/fesm2022/primeng-textarea.mjs +16 -1
  352. package/fesm2022/primeng-textarea.mjs.map +1 -1
  353. package/fesm2022/primeng-tieredmenu.mjs +74 -14
  354. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  355. package/fesm2022/primeng-timeline.mjs +40 -0
  356. package/fesm2022/primeng-timeline.mjs.map +1 -1
  357. package/fesm2022/primeng-toast.mjs +48 -0
  358. package/fesm2022/primeng-toast.mjs.map +1 -1
  359. package/fesm2022/primeng-togglebutton.mjs +26 -2
  360. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  361. package/fesm2022/primeng-toggleswitch.mjs +24 -0
  362. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  363. package/fesm2022/primeng-toolbar.mjs +28 -0
  364. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  365. package/fesm2022/primeng-tooltip.mjs +24 -0
  366. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  367. package/fesm2022/primeng-tree.mjs +76 -8
  368. package/fesm2022/primeng-tree.mjs.map +1 -1
  369. package/fesm2022/primeng-treeselect.mjs +54 -2
  370. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  371. package/fesm2022/primeng-treetable.mjs +98 -2
  372. package/fesm2022/primeng-treetable.mjs.map +1 -1
  373. package/fieldset/style/fieldsetstyle.d.ts +37 -0
  374. package/fileupload/fileupload.d.ts +4 -1
  375. package/fileupload/fileupload.interface.d.ts +9 -0
  376. package/fileupload/style/fileuploadstyle.d.ts +73 -0
  377. package/floatlabel/style/floatlabelstyle.d.ts +17 -0
  378. package/fluid/style/fluidstyle.d.ts +17 -0
  379. package/galleria/style/galleriastyle.d.ts +125 -0
  380. package/iconfield/style/iconfieldstyle.d.ts +17 -0
  381. package/image/style/imagestyle.d.ts +57 -0
  382. package/inplace/style/inplacestyle.d.ts +25 -0
  383. package/inputgroup/style/inputgroupstyle.d.ts +17 -0
  384. package/inputmask/style/inputmaskstyle.d.ts +17 -0
  385. package/inputnumber/inputnumber.d.ts +1 -1
  386. package/inputnumber/style/inputnumberstyle.d.ts +33 -0
  387. package/inputotp/inputotp.d.ts +1 -1
  388. package/inputotp/style/inputotpstyle.d.ts +21 -0
  389. package/inputtext/style/inputtextstyle.d.ts +17 -0
  390. package/inputtextarea/style/textareastyle.d.ts +17 -0
  391. package/knob/style/knobstyle.d.ts +29 -0
  392. package/listbox/style/listboxstyle.d.ts +53 -0
  393. package/megamenu/megamenu.d.ts +2 -2
  394. package/megamenu/style/megamenustyle.d.ts +81 -0
  395. package/menu/style/menustyle.d.ts +57 -0
  396. package/menubar/style/menubarstyle.d.ts +65 -0
  397. package/message/style/messagestyle.d.ts +37 -0
  398. package/metergroup/metergroup.d.ts +2 -2
  399. package/metergroup/style/metergroupstyle.d.ts +45 -0
  400. package/multiselect/multiselect.d.ts +4 -5
  401. package/multiselect/style/multiselectstyle.d.ts +85 -0
  402. package/orderlist/orderlist.d.ts +1 -1
  403. package/orderlist/style/orderliststyle.d.ts +21 -0
  404. package/organizationchart/organizationchart.d.ts +1 -1
  405. package/organizationchart/style/organizationchartstyle.d.ts +53 -0
  406. package/overlaypanel/style/popoverstyle.d.ts +21 -0
  407. package/package.json +226 -226
  408. package/paginator/style/paginatorstyle.d.ts +81 -0
  409. package/panel/style/panelstyle.d.ts +43 -0
  410. package/panelmenu/panelmenu.d.ts +3 -3
  411. package/panelmenu/style/panelmenustyle.d.ts +82 -0
  412. package/password/style/passwordstyle.d.ts +45 -0
  413. package/picklist/picklist.d.ts +1 -1
  414. package/picklist/style/pickliststyle.d.ts +37 -0
  415. package/progressbar/progressbar.d.ts +1 -1
  416. package/progressbar/style/progressbarstyle.d.ts +25 -0
  417. package/progressspinner/progressspinner.d.ts +1 -1
  418. package/progressspinner/style/progressspinnerstyle.d.ts +25 -0
  419. package/radiobutton/radiobutton.d.ts +1 -1
  420. package/radiobutton/style/radiobuttonstyle.d.ts +29 -0
  421. package/rating/style/ratingstyle.d.ts +29 -0
  422. package/ripple/ripple.d.ts +1 -0
  423. package/ripple/style/ripplestyle.d.ts +17 -0
  424. package/scroller/scroller.d.ts +2 -2
  425. package/scroller/style/scrollerstyle.d.ts +43 -0
  426. package/scrollpanel/scrollpanel.d.ts +1 -1
  427. package/scrollpanel/style/scrollpanelstyle.d.ts +33 -0
  428. package/scrolltop/scrolltop.d.ts +1 -1
  429. package/scrolltop/style/scrolltopstyle.d.ts +21 -0
  430. package/select/public_api.d.ts +1 -0
  431. package/select/style/selectstyle.d.ts +85 -0
  432. package/selectbutton/selectbutton.d.ts +1 -1
  433. package/selectbutton/style/selectbuttonstyle.d.ts +17 -0
  434. package/skeleton/style/skeletonstyle.d.ts +17 -0
  435. package/slider/style/sliderstyle.d.ts +25 -0
  436. package/speeddial/speeddial.d.ts +1 -1
  437. package/speeddial/style/speeddialstyle.d.ts +41 -0
  438. package/splitbutton/splitbutton.d.ts +1 -1
  439. package/splitbutton/style/splitbuttonstyle.d.ts +25 -0
  440. package/splitter/style/splitterstyle.d.ts +25 -0
  441. package/stepper/stepper.d.ts +4 -4
  442. package/stepper/style/stepperstyle.d.ts +21 -0
  443. package/steps/style/stepsstyle.d.ts +37 -0
  444. package/table/style/tablestyle.d.ts +327 -0
  445. package/table/table.d.ts +5 -5
  446. package/tabmenu/style/tabmenustyle.d.ts +41 -0
  447. package/tabmenu/tabmenu.d.ts +1 -1
  448. package/tabs/style/tabsstyle.d.ts +49 -0
  449. package/tabview/style/tabsstyle.d.ts +49 -0
  450. package/tag/style/tagstyle.d.ts +25 -0
  451. package/terminal/style/terminalstyle.d.ts +49 -0
  452. package/textarea/style/textareastyle.d.ts +17 -0
  453. package/tieredmenu/style/tieredmenustyle.d.ts +61 -0
  454. package/tieredmenu/tieredmenu.d.ts +2 -2
  455. package/timeline/style/timelinestyle.d.ts +41 -0
  456. package/toast/style/toaststyle.d.ts +49 -0
  457. package/togglebutton/style/togglebuttonstyle.d.ts +25 -0
  458. package/togglebutton/togglebutton.d.ts +1 -1
  459. package/toggleswitch/style/toggleswitchstyle.d.ts +25 -0
  460. package/toolbar/style/toolbarstyle.d.ts +29 -0
  461. package/tooltip/style/tooltipstyle.d.ts +25 -0
  462. package/tree/style/treestyle.d.ts +69 -0
  463. package/treeselect/style/treeselectstyle.d.ts +53 -0
  464. package/treeselect/treeselect.d.ts +1 -1
  465. package/treetable/style/treetablestyle.d.ts +97 -0
  466. package/treetable/treetable.d.ts +1 -1
  467. package/esm2022/scroller/style/virtualscrollerstyle.mjs +0 -72
  468. package/esm2022/table/style/datatablestyle.mjs +0 -725
  469. package/scroller/style/virtualscrollerstyle.d.ts +0 -10
  470. package/table/style/datatablestyle.d.ts +0 -124
@@ -459,13 +459,13 @@ export class Paginator extends BaseComponent {
459
459
  <ng-template *ngTemplateOutlet="lastPageLinkIconTemplate"></ng-template>
460
460
  </span>
461
461
  </button>
462
- <p-inputNumber
462
+ <p-inputnumber
463
463
  *ngIf="showJumpToPageInput"
464
464
  [ngModel]="currentPage()"
465
465
  class="p-paginator-jtp-input"
466
466
  [disabled]="empty()"
467
467
  (ngModelChange)="changePage($event - 1)"
468
- ></p-inputNumber>
468
+ ></p-inputnumber>
469
469
  <p-select
470
470
  [options]="rowsPerPageItems"
471
471
  [(ngModel)]="rows"
@@ -490,7 +490,7 @@ export class Paginator extends BaseComponent {
490
490
  <ng-container *ngTemplateOutlet="templateRight; context: { $implicit: paginatorState }"></ng-container>
491
491
  </div>
492
492
  </div>
493
- `, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(() => i1.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i0.forwardRef(() => i2.Select), selector: "p-select", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "fluid", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "directive", type: i0.forwardRef(() => i3.PrimeTemplate), selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i0.forwardRef(() => i4.InputNumber), selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled", "fluid"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "directive", type: i0.forwardRef(() => i5.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i5.NgModel), selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i0.forwardRef(() => i6.Ripple), selector: "[pRipple]" }, { kind: "component", type: i0.forwardRef(() => AngleDoubleLeftIcon), selector: "AngleDoubleLeftIcon" }, { kind: "component", type: i0.forwardRef(() => AngleDoubleRightIcon), selector: "AngleDoubleRightIcon" }, { kind: "component", type: i0.forwardRef(() => AngleLeftIcon), selector: "AngleLeftIcon" }, { kind: "component", type: i0.forwardRef(() => AngleRightIcon), selector: "AngleRightIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
493
+ `, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(() => i1.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(() => i1.NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i0.forwardRef(() => i2.Select), selector: "p-select", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "fluid", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "directive", type: i0.forwardRef(() => i3.PrimeTemplate), selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i0.forwardRef(() => i4.InputNumber), selector: "p-inputNumber, p-inputnumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled", "fluid"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "directive", type: i0.forwardRef(() => i5.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i5.NgModel), selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i0.forwardRef(() => i6.Ripple), selector: "[pRipple]" }, { kind: "component", type: i0.forwardRef(() => AngleDoubleLeftIcon), selector: "AngleDoubleLeftIcon" }, { kind: "component", type: i0.forwardRef(() => AngleDoubleRightIcon), selector: "AngleDoubleRightIcon" }, { kind: "component", type: i0.forwardRef(() => AngleLeftIcon), selector: "AngleLeftIcon" }, { kind: "component", type: i0.forwardRef(() => AngleRightIcon), selector: "AngleRightIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
494
494
  }
495
495
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: Paginator, decorators: [{
496
496
  type: Component,
@@ -602,13 +602,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
602
602
  <ng-template *ngTemplateOutlet="lastPageLinkIconTemplate"></ng-template>
603
603
  </span>
604
604
  </button>
605
- <p-inputNumber
605
+ <p-inputnumber
606
606
  *ngIf="showJumpToPageInput"
607
607
  [ngModel]="currentPage()"
608
608
  class="p-paginator-jtp-input"
609
609
  [disabled]="empty()"
610
610
  (ngModelChange)="changePage($event - 1)"
611
- ></p-inputNumber>
611
+ ></p-inputnumber>
612
612
  <p-select
613
613
  [options]="rowsPerPageItems"
614
614
  [(ngModel)]="rows"
@@ -739,4 +739,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
739
739
  declarations: [Paginator],
740
740
  }]
741
741
  }] });
742
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3BhZ2luYXRvci9wYWdpbmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osS0FBSyxFQUNMLFFBQVEsRUFHUixNQUFNLEVBSU4saUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixNQUFNLEVBQ04sZUFBZSxHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFRLGFBQWEsRUFBYyxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBQzlDOzs7R0FHRztBQWlKSCxNQUFNLE9BQU8sU0FBVSxTQUFRLGFBQWE7SUFDeEM7OztPQUdHO0lBQ29DLFlBQVksR0FBVyxDQUFDLENBQUM7SUFDaEU7OztPQUdHO0lBQ00sS0FBSyxDQUE4QztJQUM1RDs7O09BR0c7SUFDTSxVQUFVLENBQXFCO0lBQ3hDOzs7T0FHRztJQUNxQyxVQUFVLEdBQVksSUFBSSxDQUFDO0lBQ25FOzs7T0FHRztJQUNNLGdCQUFnQixDQUFnRjtJQUN6Rzs7OztPQUlHO0lBQ00sWUFBWSxDQUEwQztJQUMvRDs7OztPQUlHO0lBQ00sYUFBYSxDQUEwQztJQUNoRTs7O09BR0c7SUFDTSxRQUFRLENBQWdGO0lBQ2pHOzs7T0FHRztJQUNNLG9CQUFvQixHQUFXLE9BQU8sQ0FBQztJQUNoRDs7O09BR0c7SUFDTSx5QkFBeUIsR0FBVywrQkFBK0IsQ0FBQztJQUM3RTs7O09BR0c7SUFDcUMscUJBQXFCLENBQXNCO0lBQ25GOzs7T0FHRztJQUNxQyxpQkFBaUIsR0FBWSxJQUFJLENBQUM7SUFDMUU7OztPQUdHO0lBQ29DLFlBQVksR0FBVyxDQUFDLENBQUM7SUFDaEU7OztPQUdHO0lBQ29DLElBQUksR0FBVyxDQUFDLENBQUM7SUFDeEQ7OztPQUdHO0lBQ00sa0JBQWtCLENBQW9CO0lBQy9DOzs7T0FHRztJQUNxQyxzQkFBc0IsQ0FBc0I7SUFDcEY7OztPQUdHO0lBQ3FDLG1CQUFtQixDQUFzQjtJQUNqRjs7OztPQUlHO0lBQ00sc0JBQXNCLENBQThDO0lBQzdFOzs7T0FHRztJQUNxQyxhQUFhLEdBQVksSUFBSSxDQUFDO0lBQ3RFOzs7T0FHRztJQUNNLE1BQU0sQ0FBcUI7SUFDcEM7Ozs7T0FJRztJQUNNLG9CQUFvQixDQUE4QztJQUMzRTs7O09BR0c7SUFDSCxJQUFhLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLEdBQVc7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7SUFDdEIsQ0FBQztJQUNEOzs7O09BSUc7SUFDTyxZQUFZLEdBQWlDLElBQUksWUFBWSxFQUFrQixDQUFDO0lBRTFELFNBQVMsQ0FBMkI7SUFFcEUsb0JBQW9CLENBQTZCO0lBRWpELHlCQUF5QixDQUE2QjtJQUV0RCw0QkFBNEIsQ0FBNkI7SUFFekQsd0JBQXdCLENBQTZCO0lBRXJELHdCQUF3QixDQUE2QjtJQUVyRCxTQUFTLENBQXVCO0lBRWhDLFNBQVMsQ0FBMkI7SUFFcEMsZ0JBQWdCLENBQTJCO0lBRTNDLGNBQWMsQ0FBTTtJQUVwQixNQUFNLEdBQVcsQ0FBQyxDQUFDO0lBRW5CLEtBQUssR0FBVyxDQUFDLENBQUM7SUFFbEIsZUFBZSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUV6QztRQUNJLEtBQUssRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUFxQjtRQUM5QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDOUYsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQWE7UUFDMUIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM1SCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWE7UUFDekIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDOUcsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RCxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNaLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDeEMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2IsSUFBSSxDQUFDLFNBQXNDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDMUQsUUFBUSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztnQkFDckIsS0FBSyxjQUFjO29CQUNmLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO29CQUMxQyxNQUFNO2dCQUVWLEtBQUssbUJBQW1CO29CQUNwQixJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztvQkFDL0MsTUFBTTtnQkFFVixLQUFLLHNCQUFzQjtvQkFDdkIsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7b0JBQ2xELE1BQU07Z0JBRVYsS0FBSyxrQkFBa0I7b0JBQ25CLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO29CQUM5QyxNQUFNO2dCQUVWLEtBQUssa0JBQWtCO29CQUNuQixJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztvQkFDOUMsTUFBTTtZQUNkLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXLENBQUMsWUFBMkI7UUFDbkMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVoQyxJQUFJLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ3BDLENBQUM7UUFFRCxJQUFJLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO1lBQzlDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNoQyxDQUFDO1FBRUQsSUFBSSxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ2hDLENBQUM7UUFFRCxJQUFJLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ3BDLENBQUM7UUFFRCxJQUFJLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNMLENBQUM7SUFFRCx3QkFBd0I7UUFDcEIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1lBQzNCLEtBQUssSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQ3RDLElBQUksT0FBTyxHQUFHLElBQUksUUFBUSxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO29CQUMzQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7Z0JBQ3ZGLENBQUM7cUJBQU0sQ0FBQztvQkFDSixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ3pGLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxVQUFVO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsWUFBWTtRQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsMkJBQTJCO1FBQ3ZCLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFDbkMsWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQztRQUU5RCxzREFBc0Q7UUFDdEQsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQ2pFLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztRQUVoRSxxQ0FBcUM7UUFDckMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLEdBQUcsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEQsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQztRQUVuQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixFQUFFLEVBQy9DLEtBQUssR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQ3JCLEdBQUcsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFeEIsS0FBSyxJQUFJLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztZQUNwQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDNUQsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLENBQVM7UUFDaEIsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTdCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztZQUM1QixJQUFJLEtBQUssR0FBRztnQkFDUixJQUFJLEVBQUUsQ0FBQztnQkFDUCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixTQUFTLEVBQUUsRUFBRTthQUNoQixDQUFDO1lBQ0YsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBRXZCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ2hDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM1QixJQUFJLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNuRSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBWTtRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBRUQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFZO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBWTtRQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNwQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQVk7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFFRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFZLEVBQUUsSUFBWTtRQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVk7UUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBMEI7UUFDM0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixJQUFJLENBQUMsY0FBYyxHQUFHO1lBQ2xCLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3BCLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzlCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDbEMsQ0FBQztJQUNOLENBQUM7SUFFRCxLQUFLO1FBQ0QsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxXQUFXO1FBQ1AsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLHlCQUF5QjthQUNoQyxPQUFPLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQzthQUNwRCxPQUFPLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQzthQUNwRCxPQUFPLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3ZFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO2FBQy9FLE9BQU8sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNwQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7dUdBcllRLFNBQVM7MkZBQVQsU0FBUyxvRkFLRSxlQUFlLHNGQWVmLGdCQUFnQiw2U0FxQ2hCLGdCQUFnQixpRUFLaEIsZ0JBQWdCLGtEQUtoQixlQUFlLDBCQUtmLGVBQWUsMEhBVWYsZ0JBQWdCLHVFQUtoQixnQkFBZ0IsdUdBV2hCLGdCQUFnQiwySUFwR3pCLENBQUMsY0FBYyxDQUFDLG9EQWlJVixhQUFhLHlFQTdRcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBeUlULDhzR0FxWkcsbUJBQW1CLHFGQUNuQixvQkFBb0Isc0ZBQ3BCLGFBQWEsK0VBQ2IsY0FBYzs7MkZBblpULFNBQVM7a0JBaEpyQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxhQUFhO29CQUN2QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBeUlUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsU0FBUyxFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUM5Qjt3REFNMEMsWUFBWTtzQkFBbEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBSzVCLEtBQUs7c0JBQWIsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtrQyxVQUFVO3NCQUFqRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUs3QixnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBTUcsWUFBWTtzQkFBcEIsS0FBSztnQkFNRyxhQUFhO3NCQUFyQixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUtHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFLa0MscUJBQXFCO3NCQUE1RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUtFLGlCQUFpQjtzQkFBeEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFLQyxZQUFZO3NCQUFsRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFLRSxJQUFJO3NCQUExQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtnQkFLNUIsa0JBQWtCO3NCQUExQixLQUFLO2dCQUtrQyxzQkFBc0I7c0JBQTdELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBS0UsbUJBQW1CO3NCQUExRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQU03QixzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBS2tDLGFBQWE7c0JBQXBELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSzdCLE1BQU07c0JBQWQsS0FBSztnQkFNRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBS08sS0FBSztzQkFBakIsS0FBSztnQkFXSSxZQUFZO3NCQUFyQixNQUFNO2dCQUV5QixTQUFTO3NCQUF4QyxlQUFlO3VCQUFDLGFBQWE7O0FBeVJsQyxNQUFNLE9BQU8sZUFBZTt1R0FBZixlQUFlO3dHQUFmLGVBQWUsaUJBeFpmLFNBQVMsYUEwWWQsWUFBWTtZQUNaLFlBQVk7WUFDWixpQkFBaUI7WUFDakIsV0FBVztZQUNYLFlBQVk7WUFDWixZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLG9CQUFvQjtZQUNwQixhQUFhO1lBQ2IsY0FBYyxhQW5aVCxTQUFTLEVBcVpHLFlBQVksRUFBRSxZQUFZO3dHQUd0QyxlQUFlLFlBZHBCLFlBQVk7WUFDWixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLFdBQVc7WUFDWCxZQUFZO1lBQ1osWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixvQkFBb0I7WUFDcEIsYUFBYTtZQUNiLGNBQWMsRUFFRyxZQUFZLEVBQUUsWUFBWTs7MkZBR3RDLGVBQWU7a0JBaEIzQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsYUFBYTt3QkFDYixjQUFjO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQztvQkFDaEQsWUFBWSxFQUFFLENBQUMsU0FBUyxDQUFDO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBOZ01vZHVsZSxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIGluamVjdCxcbiAgICBudW1iZXJBdHRyaWJ1dGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBcmlhLCBQcmltZVRlbXBsYXRlLCBTZWxlY3RJdGVtLCBTaGFyZWRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBEcm9wZG93bkNoYW5nZUV2ZW50LCBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZHJvcGRvd24nO1xuaW1wb3J0IHsgQW5nbGVEb3VibGVMZWZ0SWNvbiB9IGZyb20gJ3ByaW1lbmcvaWNvbnMvYW5nbGVkb3VibGVsZWZ0JztcbmltcG9ydCB7IEFuZ2xlRG91YmxlUmlnaHRJY29uIH0gZnJvbSAncHJpbWVuZy9pY29ucy9hbmdsZWRvdWJsZXJpZ2h0JztcbmltcG9ydCB7IEFuZ2xlTGVmdEljb24gfSBmcm9tICdwcmltZW5nL2ljb25zL2FuZ2xlbGVmdCc7XG5pbXBvcnQgeyBBbmdsZVJpZ2h0SWNvbiB9IGZyb20gJ3ByaW1lbmcvaWNvbnMvYW5nbGVyaWdodCc7XG5pbXBvcnQgeyBJbnB1dE51bWJlck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXRudW1iZXInO1xuaW1wb3J0IHsgUmlwcGxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9yaXBwbGUnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdwcmltZW5nL3RzLWhlbHBlcnMnO1xuaW1wb3J0IHsgUGFnaW5hdG9yU3RhdGUgfSBmcm9tICcuL3BhZ2luYXRvci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUGFnaW5hdG9yU3R5bGUgfSBmcm9tICcuL3N0eWxlL3BhZ2luYXRvcnN0eWxlJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdwcmltZW5nL2Jhc2Vjb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9zZWxlY3QnO1xuLyoqXG4gKiBQYWdpbmF0b3IgaXMgYSBnZW5lcmljIGNvbXBvbmVudCB0byBkaXNwbGF5IGNvbnRlbnQgaW4gcGFnZWQgZm9ybWF0LlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwLXBhZ2luYXRvcicsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgW2NsYXNzXT1cInN0eWxlQ2xhc3NcIlxuICAgICAgICAgICAgW25nU3R5bGVdPVwic3R5bGVcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiJ3AtcGFnaW5hdG9yIHAtY29tcG9uZW50J1wiXG4gICAgICAgICAgICAqbmdJZj1cImFsd2F5c1Nob3cgPyB0cnVlIDogcGFnZUxpbmtzICYmIHBhZ2VMaW5rcy5sZW5ndGggPiAxXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCIncGFnaW5hdG9yJ1wiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ3Jvb3QnXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtcGFnaW5hdG9yLWNvbnRlbnQtc3RhcnRcIiAqbmdJZj1cInRlbXBsYXRlTGVmdFwiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInc3RhcnQnXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlTGVmdDsgY29udGV4dDogeyAkaW1wbGljaXQ6IHBhZ2luYXRvclN0YXRlIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwLXBhZ2luYXRvci1jdXJyZW50XCIgKm5nSWY9XCJzaG93Q3VycmVudFBhZ2VSZXBvcnRcIj57eyBjdXJyZW50UGFnZVJlcG9ydCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dGaXJzdExhc3RJY29uXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNGaXJzdFBhZ2UoKSB8fCBlbXB0eSgpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlUGFnZVRvRmlyc3QoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgcFJpcHBsZVxuICAgICAgICAgICAgICAgIGNsYXNzPVwicC1wYWdpbmF0b3ItZmlyc3RcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3AtZGlzYWJsZWQnOiBpc0ZpcnN0UGFnZSgpIHx8IGVtcHR5KCkgfVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJnZXRBcmlhTGFiZWwoJ2ZpcnN0UGFnZUxhYmVsJylcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxBbmdsZURvdWJsZUxlZnRJY29uICpuZ0lmPVwiIWZpcnN0UGFnZUxpbmtJY29uVGVtcGxhdGVcIiBbc3R5bGVDbGFzc109XCIncC1wYWdpbmF0b3ItZmlyc3QtaWNvbidcIiAvPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1wYWdpbmF0b3ItZmlyc3QtaWNvblwiICpuZ0lmPVwiZmlyc3RQYWdlTGlua0ljb25UZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmaXJzdFBhZ2VMaW5rSWNvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNGaXJzdFBhZ2UoKSB8fCBlbXB0eSgpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlUGFnZVRvUHJldigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBwUmlwcGxlXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwLXBhZ2luYXRvci1wcmV2XCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdwLWRpc2FibGVkJzogaXNGaXJzdFBhZ2UoKSB8fCBlbXB0eSgpIH1cIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZ2V0QXJpYUxhYmVsKCdwcmV2UGFnZUxhYmVsJylcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxBbmdsZUxlZnRJY29uICpuZ0lmPVwiIXByZXZpb3VzUGFnZUxpbmtJY29uVGVtcGxhdGVcIiBbc3R5bGVDbGFzc109XCIncC1wYWdpbmF0b3ItcHJldi1pY29uJ1wiIC8+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwLXBhZ2luYXRvci1wcmV2LWljb25cIiAqbmdJZj1cInByZXZpb3VzUGFnZUxpbmtJY29uVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwicHJldmlvdXNQYWdlTGlua0ljb25UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInAtcGFnaW5hdG9yLXBhZ2VzXCIgKm5nSWY9XCJzaG93UGFnZUxpbmtzXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHBhZ2VMaW5rIG9mIHBhZ2VMaW5rc1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicC1wYWdpbmF0b3ItcGFnZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3AtcGFnaW5hdG9yLXBhZ2Utc2VsZWN0ZWQnOiBwYWdlTGluayAtIDEgPT0gZ2V0UGFnZSgpIH1cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImdldFBhZ2VBcmlhTGFiZWwocGFnZUxpbmspXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cInBhZ2VMaW5rIC0gMSA9PSBnZXRQYWdlKCkgPyAncGFnZScgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25QYWdlTGlua0NsaWNrKCRldmVudCwgcGFnZUxpbmsgLSAxKVwiXG4gICAgICAgICAgICAgICAgICAgIHBSaXBwbGVcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGdldExvY2FsaXphdGlvbihwYWdlTGluaykgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxwLXNlbGVjdFxuICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cInBhZ2VJdGVtc1wiXG4gICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiZ2V0UGFnZSgpXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dKdW1wVG9QYWdlRHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJlbXB0eSgpXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImdldEFyaWFMYWJlbCgnanVtcFRvUGFnZURyb3Bkb3duTGFiZWwnKVwiXG4gICAgICAgICAgICAgICAgc3R5bGVDbGFzcz1cInAtcGFnaW5hdG9yLWp0cC1kcm9wZG93blwiXG4gICAgICAgICAgICAgICAgKG9uQ2hhbmdlKT1cIm9uUGFnZURyb3Bkb3duQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgIFthcHBlbmRUb109XCJkcm9wZG93bkFwcGVuZFRvXCJcbiAgICAgICAgICAgICAgICBbc2Nyb2xsSGVpZ2h0XT1cImRyb3Bkb3duU2Nyb2xsSGVpZ2h0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwic2VsZWN0ZWRJdGVtXCI+e3sgY3VycmVudFBhZ2VSZXBvcnQgfX08L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJqdW1wVG9QYWdlSXRlbVRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSBwVGVtcGxhdGU9XCJpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwianVtcFRvUGFnZUl0ZW1UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiPiA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZHJvcGRvd25pY29uXCIgKm5nSWY9XCJkcm9wZG93bkljb25UZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZHJvcGRvd25JY29uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9wLXNlbGVjdD5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNMYXN0UGFnZSgpIHx8IGVtcHR5KClcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VQYWdlVG9OZXh0KCRldmVudClcIlxuICAgICAgICAgICAgICAgIHBSaXBwbGVcbiAgICAgICAgICAgICAgICBjbGFzcz1cInAtcGFnaW5hdG9yLW5leHRcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3AtZGlzYWJsZWQnOiBpc0xhc3RQYWdlKCkgfHwgZW1wdHkoKSB9XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImdldEFyaWFMYWJlbCgnbmV4dFBhZ2VMYWJlbCcpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8QW5nbGVSaWdodEljb24gKm5nSWY9XCIhbmV4dFBhZ2VMaW5rSWNvblRlbXBsYXRlXCIgW3N0eWxlQ2xhc3NdPVwiJ3AtcGFnaW5hdG9yLW5leHQtaWNvbidcIiAvPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1wYWdpbmF0b3ItbmV4dC1pY29uXCIgKm5nSWY9XCJuZXh0UGFnZUxpbmtJY29uVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwibmV4dFBhZ2VMaW5rSWNvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dGaXJzdExhc3RJY29uXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNMYXN0UGFnZSgpIHx8IGVtcHR5KClcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VQYWdlVG9MYXN0KCRldmVudClcIlxuICAgICAgICAgICAgICAgIHBSaXBwbGVcbiAgICAgICAgICAgICAgICBjbGFzcz1cInAtcGFnaW5hdG9yLWxhc3RcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3AtZGlzYWJsZWQnOiBpc0xhc3RQYWdlKCkgfHwgZW1wdHkoKSB9XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImdldEFyaWFMYWJlbCgnbGFzdFBhZ2VMYWJlbCcpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8QW5nbGVEb3VibGVSaWdodEljb24gKm5nSWY9XCIhbGFzdFBhZ2VMaW5rSWNvblRlbXBsYXRlXCIgW3N0eWxlQ2xhc3NdPVwiJ3AtcGFnaW5hdG9yLWxhc3QtaWNvbidcIiAvPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1wYWdpbmF0b3ItbGFzdC1pY29uXCIgKm5nSWY9XCJsYXN0UGFnZUxpbmtJY29uVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwibGFzdFBhZ2VMaW5rSWNvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93SnVtcFRvUGFnZUlucHV0XCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJjdXJyZW50UGFnZSgpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInAtcGFnaW5hdG9yLWp0cC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImVtcHR5KClcIlxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNoYW5nZVBhZ2UoJGV2ZW50IC0gMSlcIlxuICAgICAgICAgICAgPjwvcC1pbnB1dE51bWJlcj5cbiAgICAgICAgICAgIDxwLXNlbGVjdFxuICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cInJvd3NQZXJQYWdlSXRlbXNcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwicm93c1wiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJyb3dzUGVyUGFnZU9wdGlvbnNcIlxuICAgICAgICAgICAgICAgIHN0eWxlQ2xhc3M9XCJwLXBhZ2luYXRvci1ycHAtZHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJlbXB0eSgpXCJcbiAgICAgICAgICAgICAgICAob25DaGFuZ2UpPVwib25ScHBDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW2FwcGVuZFRvXT1cImRyb3Bkb3duQXBwZW5kVG9cIlxuICAgICAgICAgICAgICAgIFtzY3JvbGxIZWlnaHRdPVwiZHJvcGRvd25TY3JvbGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiZ2V0QXJpYUxhYmVsKCdyb3dzUGVyUGFnZUxhYmVsJylcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkcm9wZG93bkl0ZW1UZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0gcFRlbXBsYXRlPVwiaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRyb3Bkb3duSXRlbVRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCI+IDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJkcm9wZG93bmljb25cIiAqbmdJZj1cImRyb3Bkb3duSWNvblRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkcm9wZG93bkljb25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3Atc2VsZWN0PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtcGFnaW5hdG9yLWNvbnRlbnQtZW5kXCIgKm5nSWY9XCJ0ZW1wbGF0ZVJpZ2h0XCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidlbmQnXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlUmlnaHQ7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBwYWdpbmF0b3JTdGF0ZSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1BhZ2luYXRvclN0eWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgUGFnaW5hdG9yIGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzIHtcbiAgICAvKipcbiAgICAgKiBOdW1iZXIgb2YgcGFnZSBsaW5rcyB0byBkaXNwbGF5LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHBhZ2VMaW5rU2l6ZTogbnVtYmVyID0gNTtcbiAgICAvKipcbiAgICAgKiBJbmxpbmUgc3R5bGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzdHlsZTogeyBba2xhc3M6IHN0cmluZ106IGFueSB9IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBTdHlsZSBjbGFzcyBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIHNob3cgaXQgZXZlbiB0aGVyZSBpcyBvbmx5IG9uZSBwYWdlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBhbHdheXNTaG93OiBib29sZWFuID0gdHJ1ZTtcbiAgICAvKipcbiAgICAgKiBUYXJnZXQgZWxlbWVudCB0byBhdHRhY2ggdGhlIGRyb3Bkb3duIG92ZXJsYXksIHZhbGlkIHZhbHVlcyBhcmUgXCJib2R5XCIgb3IgYSBsb2NhbCBuZy10ZW1wbGF0ZSB2YXJpYWJsZSBvZiBhbm90aGVyIGVsZW1lbnQgKG5vdGU6IHVzZSBiaW5kaW5nIHdpdGggYnJhY2tldHMgZm9yIHRlbXBsYXRlIHZhcmlhYmxlcywgZS5nLiBbYXBwZW5kVG9dPVwibXlkaXZcIiBmb3IgYSBkaXYgZWxlbWVudCBoYXZpbmcgI215ZGl2IGFzIHZhcmlhYmxlIG5hbWUpLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGRyb3Bkb3duQXBwZW5kVG86IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZiB8IFRlbXBsYXRlUmVmPGFueT4gfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkIHwgYW55O1xuICAgIC8qKlxuICAgICAqIFRlbXBsYXRlIGluc3RhbmNlIHRvIGluamVjdCBpbnRvIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIHBhZ2luYXRvci5cbiAgICAgKiBAcGFyYW0ge1BhZ2luYXRvclN0YXRlfSBjb250ZXh0IC0gUGFnaW5hdG9yIHN0YXRlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRlbXBsYXRlTGVmdDogVGVtcGxhdGVSZWY8UGFnaW5hdG9yU3RhdGU+IHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFRlbXBsYXRlIGluc3RhbmNlIHRvIGluamVjdCBpbnRvIHRoZSByaWdodCBzaWRlIG9mIHRoZSBwYWdpbmF0b3IuXG4gICAgICogQHBhcmFtIHtQYWdpbmF0b3JTdGF0ZX0gY29udGV4dCAtIFBhZ2luYXRvciBzdGF0ZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0ZW1wbGF0ZVJpZ2h0OiBUZW1wbGF0ZVJlZjxQYWdpbmF0b3JTdGF0ZT4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogVGFyZ2V0IGVsZW1lbnQgdG8gYXR0YWNoIHRoZSBkcm9wZG93biBvdmVybGF5LCB2YWxpZCB2YWx1ZXMgYXJlIFwiYm9keVwiIG9yIGEgbG9jYWwgbmctdGVtcGxhdGUgdmFyaWFibGUgb2YgYW5vdGhlciBlbGVtZW50IChub3RlOiB1c2UgYmluZGluZyB3aXRoIGJyYWNrZXRzIGZvciB0ZW1wbGF0ZSB2YXJpYWJsZXMsIGUuZy4gW2FwcGVuZFRvXT1cIm15ZGl2XCIgZm9yIGEgZGl2IGVsZW1lbnQgaGF2aW5nICNteWRpdiBhcyB2YXJpYWJsZSBuYW1lKS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBhcHBlbmRUbzogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmIHwgVGVtcGxhdGVSZWY8YW55PiB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQgfCBhbnk7XG4gICAgLyoqXG4gICAgICogRHJvcGRvd24gaGVpZ2h0IG9mIHRoZSB2aWV3cG9ydCBpbiBwaXhlbHMsIGEgc2Nyb2xsYmFyIGlzIGRlZmluZWQgaWYgaGVpZ2h0IG9mIGxpc3QgZXhjZWVkcyB0aGlzIHZhbHVlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGRyb3Bkb3duU2Nyb2xsSGVpZ2h0OiBzdHJpbmcgPSAnMjAwcHgnO1xuICAgIC8qKlxuICAgICAqIFRlbXBsYXRlIG9mIHRoZSBjdXJyZW50IHBhZ2UgcmVwb3J0IGVsZW1lbnQuIEF2YWlsYWJsZSBwbGFjZWhvbGRlcnMgYXJlIHtjdXJyZW50UGFnZX0se3RvdGFsUGFnZXN9LHtyb3dzfSx7Zmlyc3R9LHtsYXN0fSBhbmQge3RvdGFsUmVjb3Jkc31cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBjdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlOiBzdHJpbmcgPSAne2N1cnJlbnRQYWdlfSBvZiB7dG90YWxQYWdlc30nO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gZGlzcGxheSBjdXJyZW50IHBhZ2UgcmVwb3J0LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzaG93Q3VycmVudFBhZ2VSZXBvcnQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hlbiBlbmFibGVkLCBpY29ucyBhcmUgZGlzcGxheWVkIG9uIHBhZ2luYXRvciB0byBnbyBmaXJzdCBhbmQgbGFzdCBwYWdlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzaG93Rmlyc3RMYXN0SWNvbjogYm9vbGVhbiA9IHRydWU7XG4gICAgLyoqXG4gICAgICogTnVtYmVyIG9mIHRvdGFsIHJlY29yZHMuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgdG90YWxSZWNvcmRzOiBudW1iZXIgPSAwO1xuICAgIC8qKlxuICAgICAqIERhdGEgY291bnQgdG8gZGlzcGxheSBwZXIgcGFnZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSByb3dzOiBudW1iZXIgPSAwO1xuICAgIC8qKlxuICAgICAqIEFycmF5IG9mIGludGVnZXIvb2JqZWN0IHZhbHVlcyB0byBkaXNwbGF5IGluc2lkZSByb3dzIHBlciBwYWdlIGRyb3Bkb3duLiBBIG9iamVjdCB0aGF0IGhhdmUgJ3Nob3dBbGwnIGtleSBjYW4gYmUgYWRkZWQgdG8gaXQgdG8gc2hvdyBhbGwgZGF0YS4gRXhwOyBbMTAsMjAsMzAse3Nob3dBbGw6J0FsbCd9XVxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHJvd3NQZXJQYWdlT3B0aW9uczogYW55W10gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBkaXNwbGF5IGEgZHJvcGRvd24gdG8gbmF2aWdhdGUgdG8gYW55IHBhZ2UuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dKdW1wVG9QYWdlRHJvcGRvd246IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBkaXNwbGF5IGEgaW5wdXQgdG8gbmF2aWdhdGUgdG8gYW55IHBhZ2UuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dKdW1wVG9QYWdlSW5wdXQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogVGVtcGxhdGUgaW5zdGFuY2UgdG8gaW5qZWN0IGludG8gdGhlIGp1bXAgdG8gcGFnZSBkcm9wZG93biBpdGVtIGluc2lkZSBpbiB0aGUgcGFnaW5hdG9yLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBjb250ZXh0IC0gaXRlbSBpbnN0YW5jZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBqdW1wVG9QYWdlSXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogYW55IH0+IHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gc2hvdyBwYWdlIGxpbmtzLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzaG93UGFnZUxpbmtzOiBib29sZWFuID0gdHJ1ZTtcbiAgICAvKipcbiAgICAgKiBMb2NhbGUgdG8gYmUgdXNlZCBpbiBmb3JtYXR0aW5nLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGxvY2FsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFRlbXBsYXRlIGluc3RhbmNlIHRvIGluamVjdCBpbnRvIHRoZSByb3dzIHBlciBwYWdlIGRyb3Bkb3duIGl0ZW0gaW5zaWRlIGluIHRoZSBwYWdpbmF0b3IuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IGNvbnRleHQgLSBpdGVtIGluc3RhbmNlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGRyb3Bkb3duSXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogYW55IH0+IHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFplcm8tcmVsYXRpdmUgbnVtYmVyIG9mIHRoZSBmaXJzdCByb3cgdG8gYmUgZGlzcGxheWVkLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGdldCBmaXJzdCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlyc3Q7XG4gICAgfVxuICAgIHNldCBmaXJzdCh2YWw6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9maXJzdCA9IHZhbDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gcGFnZSBjaGFuZ2VzLCB0aGUgZXZlbnQgb2JqZWN0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBuZXcgc3RhdGUuXG4gICAgICogQHBhcmFtIHtQYWdpbmF0b3JTdGF0ZX0gZXZlbnQgLSBQYWdpbmF0b3Igc3RhdGUuXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uUGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPFBhZ2luYXRvclN0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8UGFnaW5hdG9yU3RhdGU+KCk7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFByaW1lVGVtcGxhdGUpIHRlbXBsYXRlczogTnVsbGFibGU8UXVlcnlMaXN0PGFueT4+O1xuXG4gICAgZHJvcGRvd25JY29uVGVtcGxhdGU6IE51bGxhYmxlPFRlbXBsYXRlUmVmPGFueT4+O1xuXG4gICAgZmlyc3RQYWdlTGlua0ljb25UZW1wbGF0ZTogTnVsbGFibGU8VGVtcGxhdGVSZWY8YW55Pj47XG5cbiAgICBwcmV2aW91c1BhZ2VMaW5rSWNvblRlbXBsYXRlOiBOdWxsYWJsZTxUZW1wbGF0ZVJlZjxhbnk+PjtcblxuICAgIGxhc3RQYWdlTGlua0ljb25UZW1wbGF0ZTogTnVsbGFibGU8VGVtcGxhdGVSZWY8YW55Pj47XG5cbiAgICBuZXh0UGFnZUxpbmtJY29uVGVtcGxhdGU6IE51bGxhYmxlPFRlbXBsYXRlUmVmPGFueT4+O1xuXG4gICAgcGFnZUxpbmtzOiBudW1iZXJbXSB8IHVuZGVmaW5lZDtcblxuICAgIHBhZ2VJdGVtczogU2VsZWN0SXRlbVtdIHwgdW5kZWZpbmVkO1xuXG4gICAgcm93c1BlclBhZ2VJdGVtczogU2VsZWN0SXRlbVtdIHwgdW5kZWZpbmVkO1xuXG4gICAgcGFnaW5hdG9yU3RhdGU6IGFueTtcblxuICAgIF9maXJzdDogbnVtYmVyID0gMDtcblxuICAgIF9wYWdlOiBudW1iZXIgPSAwO1xuXG4gICAgX2NvbXBvbmVudFN0eWxlID0gaW5qZWN0KFBhZ2luYXRvclN0eWxlKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLnVwZGF0ZVBhZ2luYXRvclN0YXRlKCk7XG4gICAgfVxuXG4gICAgZ2V0QXJpYUxhYmVsKGxhYmVsVHlwZToga2V5b2YgQXJpYSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy50cmFuc2xhdGlvbi5hcmlhID8gdGhpcy5jb25maWcudHJhbnNsYXRpb24uYXJpYVtsYWJlbFR5cGVdIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGdldFBhZ2VBcmlhTGFiZWwodmFsdWU6IG51bWJlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy50cmFuc2xhdGlvbi5hcmlhID8gdGhpcy5jb25maWcudHJhbnNsYXRpb24uYXJpYS5wYWdlTGFiZWwucmVwbGFjZSgve3BhZ2V9L2csIGAke3ZhbHVlfWApIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGdldExvY2FsaXphdGlvbihkaWdpdDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbnVtZXJhbHMgPSBbLi4ubmV3IEludGwuTnVtYmVyRm9ybWF0KHRoaXMubG9jYWxlLCB7IHVzZUdyb3VwaW5nOiBmYWxzZSB9KS5mb3JtYXQoOTg3NjU0MzIxMCldLnJldmVyc2UoKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBuZXcgTWFwKG51bWVyYWxzLm1hcCgoZCwgaSkgPT4gW2ksIGRdKSk7XG4gICAgICAgIGlmIChkaWdpdCA+IDkpIHtcbiAgICAgICAgICAgIGNvbnN0IG51bWJlcnMgPSBTdHJpbmcoZGlnaXQpLnNwbGl0KCcnKTtcbiAgICAgICAgICAgIHJldHVybiBudW1iZXJzLm1hcCgobnVtYmVyKSA9PiBpbmRleC5nZXQoTnVtYmVyKG51bWJlcikpKS5qb2luKCcnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBpbmRleC5nZXQoZGlnaXQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICAodGhpcy50ZW1wbGF0ZXMgYXMgUXVlcnlMaXN0PFByaW1lVGVtcGxhdGU+KS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKGl0ZW0uZ2V0VHlwZSgpKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnZHJvcGRvd25pY29uJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kcm9wZG93bkljb25UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnZmlyc3RwYWdlbGlua2ljb24nOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpcnN0UGFnZUxpbmtJY29uVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ3ByZXZpb3VzcGFnZWxpbmtpY29uJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcmV2aW91c1BhZ2VMaW5rSWNvblRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdsYXN0cGFnZWxpbmtpY29uJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXN0UGFnZUxpbmtJY29uVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ25leHRwYWdlbGlua2ljb24nOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5leHRQYWdlTGlua0ljb25UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhzaW1wbGVDaGFuZ2U6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoc2ltcGxlQ2hhbmdlKTtcblxuICAgICAgICBpZiAoc2ltcGxlQ2hhbmdlLnRvdGFsUmVjb3Jkcykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVQYWdlTGlua3MoKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUGFnaW5hdG9yU3RhdGUoKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRmlyc3QoKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUm93c1BlclBhZ2VPcHRpb25zKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2ltcGxlQ2hhbmdlLmZpcnN0KSB7XG4gICAgICAgICAgICB0aGlzLl9maXJzdCA9IHNpbXBsZUNoYW5nZS5maXJzdC5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVBhZ2VMaW5rcygpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVQYWdpbmF0b3JTdGF0ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNpbXBsZUNoYW5nZS5yb3dzKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVBhZ2VMaW5rcygpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVQYWdpbmF0b3JTdGF0ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNpbXBsZUNoYW5nZS5yb3dzUGVyUGFnZU9wdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUm93c1BlclBhZ2VPcHRpb25zKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2ltcGxlQ2hhbmdlLnBhZ2VMaW5rU2l6ZSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVQYWdlTGlua3MoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZVJvd3NQZXJQYWdlT3B0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucm93c1BlclBhZ2VPcHRpb25zKSB7XG4gICAgICAgICAgICB0aGlzLnJvd3NQZXJQYWdlSXRlbXMgPSBbXTtcbiAgICAgICAgICAgIGZvciAobGV0IG9wdCBvZiB0aGlzLnJvd3NQZXJQYWdlT3B0aW9ucykge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0ID09ICdvYmplY3QnICYmIG9wdFsnc2hvd0FsbCddKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm93c1BlclBhZ2VJdGVtcy51bnNoaWZ0KHsgbGFiZWw6IG9wdFsnc2hvd0FsbCddLCB2YWx1ZTogdGhpcy50b3RhbFJlY29yZHMgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3dzUGVyUGFnZUl0ZW1zLnB1c2goeyBsYWJlbDogU3RyaW5nKHRoaXMuZ2V0TG9jYWxpemF0aW9uKG9wdCkpLCB2YWx1ZTogb3B0IH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzRmlyc3RQYWdlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRQYWdlKCkgPT09IDA7XG4gICAgfVxuXG4gICAgaXNMYXN0UGFnZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UGFnZSgpID09PSB0aGlzLmdldFBhZ2VDb3VudCgpIC0gMTtcbiAgICB9XG5cbiAgICBnZXRQYWdlQ291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE1hdGguY2VpbCh0aGlzLnRvdGFsUmVjb3JkcyAvIHRoaXMucm93cyk7XG4gICAgfVxuXG4gICAgY2FsY3VsYXRlUGFnZUxpbmtCb3VuZGFyaWVzKCk6IFtudW1iZXIsIG51bWJlcl0ge1xuICAgICAgICBsZXQgbnVtYmVyT2ZQYWdlcyA9IHRoaXMuZ2V0UGFnZUNvdW50KCksXG4gICAgICAgICAgICB2aXNpYmxlUGFnZXMgPSBNYXRoLm1pbih0aGlzLnBhZ2VMaW5rU2l6ZSwgbnVtYmVyT2ZQYWdlcyk7XG5cbiAgICAgICAgLy9jYWxjdWxhdGUgcmFuZ2UsIGtlZXAgY3VycmVudCBpbiBtaWRkbGUgaWYgbmVjZXNzYXJ5XG4gICAgICAgIGxldCBzdGFydCA9IE1hdGgubWF4KDAsIE1hdGguY2VpbCh0aGlzLmdldFBhZ2UoKSAtIHZpc2libGVQYWdlcyAvIDIpKSxcbiAgICAgICAgICAgIGVuZCA9IE1hdGgubWluKG51bWJlck9mUGFnZXMgLSAxLCBzdGFydCArIHZpc2libGVQYWdlcyAtIDEpO1xuXG4gICAgICAgIC8vY2hlY2sgd2hlbiBhcHByb2FjaGluZyB0byBsYXN0IHBhZ2VcbiAgICAgICAgdmFyIGRlbHRhID0gdGhpcy5wYWdlTGlua1NpemUgLSAoZW5kIC0gc3RhcnQgKyAxKTtcbiAgICAgICAgc3RhcnQgPSBNYXRoLm1heCgwLCBzdGFydCAtIGRlbHRhKTtcblxuICAgICAgICByZXR1cm4gW3N0YXJ0LCBlbmRdO1xuICAgIH1cblxuICAgIHVwZGF0ZVBhZ2VMaW5rcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYWdlTGlua3MgPSBbXTtcbiAgICAgICAgbGV0IGJvdW5kYXJpZXMgPSB0aGlzLmNhbGN1bGF0ZVBhZ2VMaW5rQm91bmRhcmllcygpLFxuICAgICAgICAgICAgc3RhcnQgPSBib3VuZGFyaWVzWzBdLFxuICAgICAgICAgICAgZW5kID0gYm91bmRhcmllc1sxXTtcblxuICAgICAgICBmb3IgKGxldCBpID0gc3RhcnQ7IGkgPD0gZW5kOyBpKyspIHtcbiAgICAgICAgICAgIHRoaXMucGFnZUxpbmtzLnB1c2goaSArIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc2hvd0p1bXBUb1BhZ2VEcm9wZG93bikge1xuICAgICAgICAgICAgdGhpcy5wYWdlSXRlbXMgPSBbXTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5nZXRQYWdlQ291bnQoKTsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYWdlSXRlbXMucHVzaCh7IGxhYmVsOiBTdHJpbmcoaSArIDEpLCB2YWx1ZTogaSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoYW5nZVBhZ2UocDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHZhciBwYyA9IHRoaXMuZ2V0UGFnZUNvdW50KCk7XG5cbiAgICAgICAgaWYgKHAgPj0gMCAmJiBwIDwgcGMpIHtcbiAgICAgICAgICAgIHRoaXMuX2ZpcnN0ID0gdGhpcy5yb3dzICogcDtcbiAgICAgICAgICAgIHZhciBzdGF0ZSA9IHtcbiAgICAgICAgICAgICAgICBwYWdlOiBwLFxuICAgICAgICAgICAgICAgIGZpcnN0OiB0aGlzLmZpcnN0LFxuICAgICAgICAgICAgICAgIHJvd3M6IHRoaXMucm93cyxcbiAgICAgICAgICAgICAgICBwYWdlQ291bnQ6IHBjLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUGFnZUxpbmtzKCk7XG5cbiAgICAgICAgICAgIHRoaXMub25QYWdlQ2hhbmdlLmVtaXQoc3RhdGUpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVQYWdpbmF0b3JTdGF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlRmlyc3QoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSB0aGlzLmdldFBhZ2UoKTtcbiAgICAgICAgaWYgKHBhZ2UgPiAwICYmIHRoaXMudG90YWxSZWNvcmRzICYmIHRoaXMuZmlyc3QgPj0gdGhpcy50b3RhbFJlY29yZHMpIHtcbiAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZShudWxsKS50aGVuKCgpID0+IHRoaXMuY2hhbmdlUGFnZShwYWdlIC0gMSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0UGFnZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcih0aGlzLmZpcnN0IC8gdGhpcy5yb3dzKTtcbiAgICB9XG5cbiAgICBjaGFuZ2VQYWdlVG9GaXJzdChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzRmlyc3RQYWdlKCkpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlUGFnZSgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgY2hhbmdlUGFnZVRvUHJldihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VQYWdlKHRoaXMuZ2V0UGFnZSgpIC0gMSk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgY2hhbmdlUGFnZVRvTmV4dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VQYWdlKHRoaXMuZ2V0UGFnZSgpICsgMSk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgY2hhbmdlUGFnZVRvTGFzdChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzTGFzdFBhZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VQYWdlKHRoaXMuZ2V0UGFnZUNvdW50KCkgLSAxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgb25QYWdlTGlua0NsaWNrKGV2ZW50OiBFdmVudCwgcGFnZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hhbmdlUGFnZShwYWdlKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBvblJwcENoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VQYWdlKHRoaXMuZ2V0UGFnZSgpKTtcbiAgICB9XG5cbiAgICBvblBhZ2VEcm9wZG93bkNoYW5nZShldmVudDogRHJvcGRvd25DaGFuZ2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoYW5nZVBhZ2UoZXZlbnQudmFsdWUpO1xuICAgIH1cblxuICAgIHVwZGF0ZVBhZ2luYXRvclN0YXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhZ2luYXRvclN0YXRlID0ge1xuICAgICAgICAgICAgcGFnZTogdGhpcy5nZXRQYWdlKCksXG4gICAgICAgICAgICBwYWdlQ291bnQ6IHRoaXMuZ2V0UGFnZUNvdW50KCksXG4gICAgICAgICAgICByb3dzOiB0aGlzLnJvd3MsXG4gICAgICAgICAgICBmaXJzdDogdGhpcy5maXJzdCxcbiAgICAgICAgICAgIHRvdGFsUmVjb3JkczogdGhpcy50b3RhbFJlY29yZHMsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFBhZ2VDb3VudCgpID09PSAwO1xuICAgIH1cblxuICAgIGN1cnJlbnRQYWdlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFBhZ2VDb3VudCgpID4gMCA/IHRoaXMuZ2V0UGFnZSgpICsgMSA6IDA7XG4gICAgfVxuXG4gICAgZ2V0IGN1cnJlbnRQYWdlUmVwb3J0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRQYWdlUmVwb3J0VGVtcGxhdGVcbiAgICAgICAgICAgIC5yZXBsYWNlKCd7Y3VycmVudFBhZ2V9JywgU3RyaW5nKHRoaXMuY3VycmVudFBhZ2UoKSkpXG4gICAgICAgICAgICAucmVwbGFjZSgne3RvdGFsUGFnZXN9JywgU3RyaW5nKHRoaXMuZ2V0UGFnZUNvdW50KCkpKVxuICAgICAgICAgICAgLnJlcGxhY2UoJ3tmaXJzdH0nLCBTdHJpbmcodGhpcy50b3RhbFJlY29yZHMgPiAwID8gdGhpcy5fZmlyc3QgKyAxIDogMCkpXG4gICAgICAgICAgICAucmVwbGFjZSgne2xhc3R9JywgU3RyaW5nKE1hdGgubWluKHRoaXMuX2ZpcnN0ICsgdGhpcy5yb3dzLCB0aGlzLnRvdGFsUmVjb3JkcykpKVxuICAgICAgICAgICAgLnJlcGxhY2UoJ3tyb3dzfScsIFN0cmluZyh0aGlzLnJvd3MpKVxuICAgICAgICAgICAgLnJlcGxhY2UoJ3t0b3RhbFJlY29yZHN9JywgU3RyaW5nKHRoaXMudG90YWxSZWNvcmRzKSk7XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBTZWxlY3RNb2R1bGUsXG4gICAgICAgIElucHV0TnVtYmVyTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgU2hhcmVkTW9kdWxlLFxuICAgICAgICBSaXBwbGVNb2R1bGUsXG4gICAgICAgIEFuZ2xlRG91YmxlTGVmdEljb24sXG4gICAgICAgIEFuZ2xlRG91YmxlUmlnaHRJY29uLFxuICAgICAgICBBbmdsZUxlZnRJY29uLFxuICAgICAgICBBbmdsZVJpZ2h0SWNvbixcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtQYWdpbmF0b3IsIFNlbGVjdE1vZHVsZSwgU2hhcmVkTW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtQYWdpbmF0b3JdLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdpbmF0b3JNb2R1bGUge31cbiJdfQ==
742
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3BhZ2luYXRvci9wYWdpbmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osS0FBSyxFQUNMLFFBQVEsRUFHUixNQUFNLEVBSU4saUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixNQUFNLEVBQ04sZUFBZSxHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFRLGFBQWEsRUFBYyxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBQzlDOzs7R0FHRztBQWlKSCxNQUFNLE9BQU8sU0FBVSxTQUFRLGFBQWE7SUFDeEM7OztPQUdHO0lBQ29DLFlBQVksR0FBVyxD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bUJBQW1CO1lBQ25CLG9CQUFvQjtZQUNwQixhQUFhO1lBQ2IsY0FBYyxhQW5aVCxTQUFTLEVBcVpHLFlBQVksRUFBRSxZQUFZO3dHQUd0QyxlQUFlLFlBZHBCLFlBQVk7WUFDWixZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLFdBQVc7WUFDWCxZQUFZO1lBQ1osWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixvQkFBb0I7WUFDcEIsYUFBYTtZQUNiLGNBQWMsRUFFRyxZQUFZLEVBQUUsWUFBWTs7MkZBR3RDLGVBQWU7a0JBaEIzQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsYUFBYTt3QkFDYixjQUFjO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQztvQkFDaEQsWUFBWSxFQUFFLENBQUMsU0FBUyxDQUFDO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBOZ01vZHVsZSxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIGluamVjdCxcbiAgICBudW1iZXJBdHRyaWJ1dGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBcmlhLCBQcmltZVRlbXBsYXRlLCBTZWxlY3RJdGVtLCBTaGFyZWRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBEcm9wZG93bkNoYW5nZUV2ZW50LCBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZHJvcGRvd24nO1xuaW1wb3J0IHsgQW5nbGVEb3VibGVMZWZ0SWNvbiB9IGZyb20gJ3ByaW1lbmcvaWNvbnMvYW5nbGVkb3VibGVsZWZ0JztcbmltcG9ydCB7IEFuZ2xlRG91YmxlUmlnaHRJY29uIH0gZnJvbSAncHJpbWVuZy9pY29ucy9hbmdsZWRvdWJsZXJpZ2h0JztcbmltcG9ydCB7IEFuZ2xlTGVmdEljb24gfSBmcm9tICdwcmltZW5nL2ljb25zL2FuZ2xlbGVmdCc7XG5pbXBvcnQgeyBBbmdsZVJpZ2h0SWNvbiB9IGZyb20gJ3ByaW1lbmcvaWNvbnMvYW5nbGVyaWdodCc7XG5pbXBvcnQgeyBJbnB1dE51bWJlck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXRudW1iZXInO1xuaW1wb3J0IHsgUmlwcGxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9yaXBwbGUnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdwcmltZW5nL3RzLWhlbHBlcnMnO1xuaW1wb3J0IHsgUGFnaW5hdG9yU3RhdGUgfSBmcm9tICcuL3BhZ2luYXRvci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUGFnaW5hdG9yU3R5bGUgfSBmcm9tICcuL3N0eWxlL3BhZ2luYXRvcnN0eWxlJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdwcmltZW5nL2Jhc2Vjb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9zZWxlY3QnO1xuLyoqXG4gKiBQYWdpbmF0b3IgaXMgYSBnZW5lcmljIGNvbXBvbmVudCB0byBkaXNwbGF5IGNvbnRlbnQgaW4gcGFnZWQgZm9ybWF0LlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwLXBhZ2luYXRvcicsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgW2NsYXNzXT1cInN0eWxlQ2xhc3NcIlxuICAgICAgICAgICAgW25nU3R5bGVdPVwic3R5bGVcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiJ3AtcGFnaW5hdG9yIHAtY29tcG9uZW50J1wiXG4gICAgICAgICAgICAqbmdJZj1cImFsd2F5c1Nob3cgPyB0cnVlIDogcGFnZUxpbmtzICYmIHBhZ2VMaW5rcy5sZW5ndGggPiAxXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCIncGFnaW5hdG9yJ1wiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ3Jvb3QnXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtcGFnaW5hdG9yLWNvbnRlbnQtc3RhcnRcIiAqbmdJZj1cInRlbXBsYXRlTGVmdFwiIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInc3RhcnQnXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlTGVmdDsgY29udGV4dDogeyAkaW1wbGljaXQ6IHBhZ2luYXRvclN0YXRlIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwLXBhZ2luYXRvci1jdXJyZW50XCIgKm5nSWY9XCJzaG93Q3VycmVudFBhZ2VSZXBvcnRcIj57eyBjdXJyZW50UGFnZVJlcG9ydCB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dGaXJzdExhc3RJY29uXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNGaXJzdFBhZ2UoKSB8fCBlbXB0eSgpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlUGFnZVRvRmlyc3QoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgcFJpcHBsZVxuICAgICAgICAgICAgICAgIGNsYXNzPVwicC1wYWdpbmF0b3ItZmlyc3RcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3AtZGlzYWJsZWQnOiBpc0ZpcnN0UGFnZSgpIHx8IGVtcHR5KCkgfVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJnZXRBcmlhTGFiZWwoJ2ZpcnN0UGFnZUxhYmVsJylcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxBbmdsZURvdWJsZUxlZnRJY29uICpuZ0lmPVwiIWZpcnN0UGFnZUxpbmtJY29uVGVtcGxhdGVcIiBbc3R5bGVDbGFzc109XCIncC1wYWdpbmF0b3ItZmlyc3QtaWNvbidcIiAvPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1wYWdpbmF0b3ItZmlyc3QtaWNvblwiICpuZ0lmPVwiZmlyc3RQYWdlTGlua0ljb25UZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJmaXJzdFBhZ2VMaW5rSWNvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNGaXJzdFBhZ2UoKSB8fCBlbXB0eSgpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlUGFnZVRvUHJldigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBwUmlwcGxlXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwLXBhZ2luYXRvci1wcmV2XCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdwLWRpc2FibGVkJzogaXNGaXJzdFBhZ2UoKSB8fCBlbXB0eSgpIH1cIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZ2V0QXJpYUxhYmVsKCdwcmV2UGFnZUxhYmVsJylcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxBbmdsZUxlZnRJY29uICpuZ0lmPVwiIXByZXZpb3VzUGFnZUxpbmtJY29uVGVtcGxhdGVcIiBbc3R5bGVDbGFzc109XCIncC1wYWdpbmF0b3ItcHJldi1pY29uJ1wiIC8+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwLXBhZ2luYXRvci1wcmV2LWljb25cIiAqbmdJZj1cInByZXZpb3VzUGFnZUxpbmtJY29uVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwicHJldmlvdXNQYWdlTGlua0ljb25UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInAtcGFnaW5hdG9yLXBhZ2VzXCIgKm5nSWY9XCJzaG93UGFnZUxpbmtzXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHBhZ2VMaW5rIG9mIHBhZ2VMaW5rc1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicC1wYWdpbmF0b3ItcGFnZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3AtcGFnaW5hdG9yLXBhZ2Utc2VsZWN0ZWQnOiBwYWdlTGluayAtIDEgPT0gZ2V0UGFnZSgpIH1cIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImdldFBhZ2VBcmlhTGFiZWwocGFnZUxpbmspXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cInBhZ2VMaW5rIC0gMSA9PSBnZXRQYWdlKCkgPyAncGFnZScgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25QYWdlTGlua0NsaWNrKCRldmVudCwgcGFnZUxpbmsgLSAxKVwiXG4gICAgICAgICAgICAgICAgICAgIHBSaXBwbGVcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IGdldExvY2FsaXphdGlvbihwYWdlTGluaykgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxwLXNlbGVjdFxuICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cInBhZ2VJdGVtc1wiXG4gICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiZ2V0UGFnZSgpXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dKdW1wVG9QYWdlRHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJlbXB0eSgpXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImdldEFyaWFMYWJlbCgnanVtcFRvUGFnZURyb3Bkb3duTGFiZWwnKVwiXG4gICAgICAgICAgICAgICAgc3R5bGVDbGFzcz1cInAtcGFnaW5hdG9yLWp0cC1kcm9wZG93blwiXG4gICAgICAgICAgICAgICAgKG9uQ2hhbmdlKT1cIm9uUGFnZURyb3Bkb3duQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgIFthcHBlbmRUb109XCJkcm9wZG93bkFwcGVuZFRvXCJcbiAgICAgICAgICAgICAgICBbc2Nyb2xsSGVpZ2h0XT1cImRyb3Bkb3duU2Nyb2xsSGVpZ2h0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwic2VsZWN0ZWRJdGVtXCI+e3sgY3VycmVudFBhZ2VSZXBvcnQgfX08L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJqdW1wVG9QYWdlSXRlbVRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSBwVGVtcGxhdGU9XCJpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwianVtcFRvUGFnZUl0ZW1UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiPiA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZHJvcGRvd25pY29uXCIgKm5nSWY9XCJkcm9wZG93bkljb25UZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZHJvcGRvd25JY29uVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9wLXNlbGVjdD5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNMYXN0UGFnZSgpIHx8IGVtcHR5KClcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VQYWdlVG9OZXh0KCRldmVudClcIlxuICAgICAgICAgICAgICAgIHBSaXBwbGVcbiAgICAgICAgICAgICAgICBjbGFzcz1cInAtcGFnaW5hdG9yLW5leHRcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3AtZGlzYWJsZWQnOiBpc0xhc3RQYWdlKCkgfHwgZW1wdHkoKSB9XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImdldEFyaWFMYWJlbCgnbmV4dFBhZ2VMYWJlbCcpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8QW5nbGVSaWdodEljb24gKm5nSWY9XCIhbmV4dFBhZ2VMaW5rSWNvblRlbXBsYXRlXCIgW3N0eWxlQ2xhc3NdPVwiJ3AtcGFnaW5hdG9yLW5leHQtaWNvbidcIiAvPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1wYWdpbmF0b3ItbmV4dC1pY29uXCIgKm5nSWY9XCJuZXh0UGFnZUxpbmtJY29uVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwibmV4dFBhZ2VMaW5rSWNvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dGaXJzdExhc3RJY29uXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNMYXN0UGFnZSgpIHx8IGVtcHR5KClcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VQYWdlVG9MYXN0KCRldmVudClcIlxuICAgICAgICAgICAgICAgIHBSaXBwbGVcbiAgICAgICAgICAgICAgICBjbGFzcz1cInAtcGFnaW5hdG9yLWxhc3RcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3AtZGlzYWJsZWQnOiBpc0xhc3RQYWdlKCkgfHwgZW1wdHkoKSB9XCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImdldEFyaWFMYWJlbCgnbGFzdFBhZ2VMYWJlbCcpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8QW5nbGVEb3VibGVSaWdodEljb24gKm5nSWY9XCIhbGFzdFBhZ2VMaW5rSWNvblRlbXBsYXRlXCIgW3N0eWxlQ2xhc3NdPVwiJ3AtcGFnaW5hdG9yLWxhc3QtaWNvbidcIiAvPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1wYWdpbmF0b3ItbGFzdC1pY29uXCIgKm5nSWY9XCJsYXN0UGFnZUxpbmtJY29uVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwibGFzdFBhZ2VMaW5rSWNvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxwLWlucHV0bnVtYmVyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93SnVtcFRvUGFnZUlucHV0XCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJjdXJyZW50UGFnZSgpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInAtcGFnaW5hdG9yLWp0cC1pbnB1dFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImVtcHR5KClcIlxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNoYW5nZVBhZ2UoJGV2ZW50IC0gMSlcIlxuICAgICAgICAgICAgPjwvcC1pbnB1dG51bWJlcj5cbiAgICAgICAgICAgIDxwLXNlbGVjdFxuICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cInJvd3NQZXJQYWdlSXRlbXNcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwicm93c1wiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJyb3dzUGVyUGFnZU9wdGlvbnNcIlxuICAgICAgICAgICAgICAgIHN0eWxlQ2xhc3M9XCJwLXBhZ2luYXRvci1ycHAtZHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJlbXB0eSgpXCJcbiAgICAgICAgICAgICAgICAob25DaGFuZ2UpPVwib25ScHBDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW2FwcGVuZFRvXT1cImRyb3Bkb3duQXBwZW5kVG9cIlxuICAgICAgICAgICAgICAgIFtzY3JvbGxIZWlnaHRdPVwiZHJvcGRvd25TY3JvbGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiZ2V0QXJpYUxhYmVsKCdyb3dzUGVyUGFnZUxhYmVsJylcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkcm9wZG93bkl0ZW1UZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0gcFRlbXBsYXRlPVwiaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRyb3Bkb3duSXRlbVRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCI+IDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJkcm9wZG93bmljb25cIiAqbmdJZj1cImRyb3Bkb3duSWNvblRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkcm9wZG93bkljb25UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3Atc2VsZWN0PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtcGFnaW5hdG9yLWNvbnRlbnQtZW5kXCIgKm5nSWY9XCJ0ZW1wbGF0ZVJpZ2h0XCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidlbmQnXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlUmlnaHQ7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBwYWdpbmF0b3JTdGF0ZSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1BhZ2luYXRvclN0eWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgUGFnaW5hdG9yIGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzIHtcbiAgICAvKipcbiAgICAgKiBOdW1iZXIgb2YgcGFnZSBsaW5rcyB0byBkaXNwbGF5LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHBhZ2VMaW5rU2l6ZTogbnVtYmVyID0gNTtcbiAgICAvKipcbiAgICAgKiBJbmxpbmUgc3R5bGUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzdHlsZTogeyBba2xhc3M6IHN0cmluZ106IGFueSB9IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBTdHlsZSBjbGFzcyBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIHNob3cgaXQgZXZlbiB0aGVyZSBpcyBvbmx5IG9uZSBwYWdlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBhbHdheXNTaG93OiBib29sZWFuID0gdHJ1ZTtcbiAgICAvKipcbiAgICAgKiBUYXJnZXQgZWxlbWVudCB0byBhdHRhY2ggdGhlIGRyb3Bkb3duIG92ZXJsYXksIHZhbGlkIHZhbHVlcyBhcmUgXCJib2R5XCIgb3IgYSBsb2NhbCBuZy10ZW1wbGF0ZSB2YXJpYWJsZSBvZiBhbm90aGVyIGVsZW1lbnQgKG5vdGU6IHVzZSBiaW5kaW5nIHdpdGggYnJhY2tldHMgZm9yIHRlbXBsYXRlIHZhcmlhYmxlcywgZS5nLiBbYXBwZW5kVG9dPVwibXlkaXZcIiBmb3IgYSBkaXYgZWxlbWVudCBoYXZpbmcgI215ZGl2IGFzIHZhcmlhYmxlIG5hbWUpLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGRyb3Bkb3duQXBwZW5kVG86IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZiB8IFRlbXBsYXRlUmVmPGFueT4gfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkIHwgYW55O1xuICAgIC8qKlxuICAgICAqIFRlbXBsYXRlIGluc3RhbmNlIHRvIGluamVjdCBpbnRvIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIHBhZ2luYXRvci5cbiAgICAgKiBAcGFyYW0ge1BhZ2luYXRvclN0YXRlfSBjb250ZXh0IC0gUGFnaW5hdG9yIHN0YXRlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRlbXBsYXRlTGVmdDogVGVtcGxhdGVSZWY8UGFnaW5hdG9yU3RhdGU+IHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFRlbXBsYXRlIGluc3RhbmNlIHRvIGluamVjdCBpbnRvIHRoZSByaWdodCBzaWRlIG9mIHRoZSBwYWdpbmF0b3IuXG4gICAgICogQHBhcmFtIHtQYWdpbmF0b3JTdGF0ZX0gY29udGV4dCAtIFBhZ2luYXRvciBzdGF0ZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0ZW1wbGF0ZVJpZ2h0OiBUZW1wbGF0ZVJlZjxQYWdpbmF0b3JTdGF0ZT4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogVGFyZ2V0IGVsZW1lbnQgdG8gYXR0YWNoIHRoZSBkcm9wZG93biBvdmVybGF5LCB2YWxpZCB2YWx1ZXMgYXJlIFwiYm9keVwiIG9yIGEgbG9jYWwgbmctdGVtcGxhdGUgdmFyaWFibGUgb2YgYW5vdGhlciBlbGVtZW50IChub3RlOiB1c2UgYmluZGluZyB3aXRoIGJyYWNrZXRzIGZvciB0ZW1wbGF0ZSB2YXJpYWJsZXMsIGUuZy4gW2FwcGVuZFRvXT1cIm15ZGl2XCIgZm9yIGEgZGl2IGVsZW1lbnQgaGF2aW5nICNteWRpdiBhcyB2YXJpYWJsZSBuYW1lKS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBhcHBlbmRUbzogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmIHwgVGVtcGxhdGVSZWY8YW55PiB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQgfCBhbnk7XG4gICAgLyoqXG4gICAgICogRHJvcGRvd24gaGVpZ2h0IG9mIHRoZSB2aWV3cG9ydCBpbiBwaXhlbHMsIGEgc2Nyb2xsYmFyIGlzIGRlZmluZWQgaWYgaGVpZ2h0IG9mIGxpc3QgZXhjZWVkcyB0aGlzIHZhbHVlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGRyb3Bkb3duU2Nyb2xsSGVpZ2h0OiBzdHJpbmcgPSAnMjAwcHgnO1xuICAgIC8qKlxuICAgICAqIFRlbXBsYXRlIG9mIHRoZSBjdXJyZW50IHBhZ2UgcmVwb3J0IGVsZW1lbnQuIEF2YWlsYWJsZSBwbGFjZWhvbGRlcnMgYXJlIHtjdXJyZW50UGFnZX0se3RvdGFsUGFnZXN9LHtyb3dzfSx7Zmlyc3R9LHtsYXN0fSBhbmQge3RvdGFsUmVjb3Jkc31cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBjdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlOiBzdHJpbmcgPSAne2N1cnJlbnRQYWdlfSBvZiB7dG90YWxQYWdlc30nO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gZGlzcGxheSBjdXJyZW50IHBhZ2UgcmVwb3J0LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzaG93Q3VycmVudFBhZ2VSZXBvcnQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hlbiBlbmFibGVkLCBpY29ucyBhcmUgZGlzcGxheWVkIG9uIHBhZ2luYXRvciB0byBnbyBmaXJzdCBhbmQgbGFzdCBwYWdlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzaG93Rmlyc3RMYXN0SWNvbjogYm9vbGVhbiA9IHRydWU7XG4gICAgLyoqXG4gICAgICogTnVtYmVyIG9mIHRvdGFsIHJlY29yZHMuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgdG90YWxSZWNvcmRzOiBudW1iZXIgPSAwO1xuICAgIC8qKlxuICAgICAqIERhdGEgY291bnQgdG8gZGlzcGxheSBwZXIgcGFnZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSByb3dzOiBudW1iZXIgPSAwO1xuICAgIC8qKlxuICAgICAqIEFycmF5IG9mIGludGVnZXIvb2JqZWN0IHZhbHVlcyB0byBkaXNwbGF5IGluc2lkZSByb3dzIHBlciBwYWdlIGRyb3Bkb3duLiBBIG9iamVjdCB0aGF0IGhhdmUgJ3Nob3dBbGwnIGtleSBjYW4gYmUgYWRkZWQgdG8gaXQgdG8gc2hvdyBhbGwgZGF0YS4gRXhwOyBbMTAsMjAsMzAse3Nob3dBbGw6J0FsbCd9XVxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHJvd3NQZXJQYWdlT3B0aW9uczogYW55W10gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBkaXNwbGF5IGEgZHJvcGRvd24gdG8gbmF2aWdhdGUgdG8gYW55IHBhZ2UuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dKdW1wVG9QYWdlRHJvcGRvd246IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBkaXNwbGF5IGEgaW5wdXQgdG8gbmF2aWdhdGUgdG8gYW55IHBhZ2UuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dKdW1wVG9QYWdlSW5wdXQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogVGVtcGxhdGUgaW5zdGFuY2UgdG8gaW5qZWN0IGludG8gdGhlIGp1bXAgdG8gcGFnZSBkcm9wZG93biBpdGVtIGluc2lkZSBpbiB0aGUgcGFnaW5hdG9yLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBjb250ZXh0IC0gaXRlbSBpbnN0YW5jZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBqdW1wVG9QYWdlSXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogYW55IH0+IHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gc2hvdyBwYWdlIGxpbmtzLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzaG93UGFnZUxpbmtzOiBib29sZWFuID0gdHJ1ZTtcbiAgICAvKipcbiAgICAgKiBMb2NhbGUgdG8gYmUgdXNlZCBpbiBmb3JtYXR0aW5nLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGxvY2FsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFRlbXBsYXRlIGluc3RhbmNlIHRvIGluamVjdCBpbnRvIHRoZSByb3dzIHBlciBwYWdlIGRyb3Bkb3duIGl0ZW0gaW5zaWRlIGluIHRoZSBwYWdpbmF0b3IuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IGNvbnRleHQgLSBpdGVtIGluc3RhbmNlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGRyb3Bkb3duSXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogYW55IH0+IHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFplcm8tcmVsYXRpdmUgbnVtYmVyIG9mIHRoZSBmaXJzdCByb3cgdG8gYmUgZGlzcGxheWVkLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGdldCBmaXJzdCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlyc3Q7XG4gICAgfVxuICAgIHNldCBmaXJzdCh2YWw6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9maXJzdCA9IHZhbDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gcGFnZSBjaGFuZ2VzLCB0aGUgZXZlbnQgb2JqZWN0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBuZXcgc3RhdGUuXG4gICAgICogQHBhcmFtIHtQYWdpbmF0b3JTdGF0ZX0gZXZlbnQgLSBQYWdpbmF0b3Igc3RhdGUuXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uUGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPFBhZ2luYXRvclN0YXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8UGFnaW5hdG9yU3RhdGU+KCk7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFByaW1lVGVtcGxhdGUpIHRlbXBsYXRlczogTnVsbGFibGU8UXVlcnlMaXN0PGFueT4+O1xuXG4gICAgZHJvcGRvd25JY29uVGVtcGxhdGU6IE51bGxhYmxlPFRlbXBsYXRlUmVmPGFueT4+O1xuXG4gICAgZmlyc3RQYWdlTGlua0ljb25UZW1wbGF0ZTogTnVsbGFibGU8VGVtcGxhdGVSZWY8YW55Pj47XG5cbiAgICBwcmV2aW91c1BhZ2VMaW5rSWNvblRlbXBsYXRlOiBOdWxsYWJsZTxUZW1wbGF0ZVJlZjxhbnk+PjtcblxuICAgIGxhc3RQYWdlTGlua0ljb25UZW1wbGF0ZTogTnVsbGFibGU8VGVtcGxhdGVSZWY8YW55Pj47XG5cbiAgICBuZXh0UGFnZUxpbmtJY29uVGVtcGxhdGU6IE51bGxhYmxlPFRlbXBsYXRlUmVmPGFueT4+O1xuXG4gICAgcGFnZUxpbmtzOiBudW1iZXJbXSB8IHVuZGVmaW5lZDtcblxuICAgIHBhZ2VJdGVtczogU2VsZWN0SXRlbVtdIHwgdW5kZWZpbmVkO1xuXG4gICAgcm93c1BlclBhZ2VJdGVtczogU2VsZWN0SXRlbVtdIHwgdW5kZWZpbmVkO1xuXG4gICAgcGFnaW5hdG9yU3RhdGU6IGFueTtcblxuICAgIF9maXJzdDogbnVtYmVyID0gMDtcblxuICAgIF9wYWdlOiBudW1iZXIgPSAwO1xuXG4gICAgX2NvbXBvbmVudFN0eWxlID0gaW5qZWN0KFBhZ2luYXRvclN0eWxlKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLnVwZGF0ZVBhZ2luYXRvclN0YXRlKCk7XG4gICAgfVxuXG4gICAgZ2V0QXJpYUxhYmVsKGxhYmVsVHlwZToga2V5b2YgQXJpYSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy50cmFuc2xhdGlvbi5hcmlhID8gdGhpcy5jb25maWcudHJhbnNsYXRpb24uYXJpYVtsYWJlbFR5cGVdIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGdldFBhZ2VBcmlhTGFiZWwodmFsdWU6IG51bWJlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy50cmFuc2xhdGlvbi5hcmlhID8gdGhpcy5jb25maWcudHJhbnNsYXRpb24uYXJpYS5wYWdlTGFiZWwucmVwbGFjZSgve3BhZ2V9L2csIGAke3ZhbHVlfWApIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGdldExvY2FsaXphdGlvbihkaWdpdDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbnVtZXJhbHMgPSBbLi4ubmV3IEludGwuTnVtYmVyRm9ybWF0KHRoaXMubG9jYWxlLCB7IHVzZUdyb3VwaW5nOiBmYWxzZSB9KS5mb3JtYXQoOTg3NjU0MzIxMCldLnJldmVyc2UoKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBuZXcgTWFwKG51bWVyYWxzLm1hcCgoZCwgaSkgPT4gW2ksIGRdKSk7XG4gICAgICAgIGlmIChkaWdpdCA+IDkpIHtcbiAgICAgICAgICAgIGNvbnN0IG51bWJlcnMgPSBTdHJpbmcoZGlnaXQpLnNwbGl0KCcnKTtcbiAgICAgICAgICAgIHJldHVybiBudW1iZXJzLm1hcCgobnVtYmVyKSA9PiBpbmRleC5nZXQoTnVtYmVyKG51bWJlcikpKS5qb2luKCcnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBpbmRleC5nZXQoZGlnaXQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICAodGhpcy50ZW1wbGF0ZXMgYXMgUXVlcnlMaXN0PFByaW1lVGVtcGxhdGU+KS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKGl0ZW0uZ2V0VHlwZSgpKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnZHJvcGRvd25pY29uJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kcm9wZG93bkljb25UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnZmlyc3RwYWdlbGlua2ljb24nOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpcnN0UGFnZUxpbmtJY29uVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ3ByZXZpb3VzcGFnZWxpbmtpY29uJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcmV2aW91c1BhZ2VMaW5rSWNvblRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdsYXN0cGFnZWxpbmtpY29uJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sYXN0UGFnZUxpbmtJY29uVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ25leHRwYWdlbGlua2ljb24nOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5leHRQYWdlTGlua0ljb25UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhzaW1wbGVDaGFuZ2U6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoc2ltcGxlQ2hhbmdlKTtcblxuICAgICAgICBpZiAoc2ltcGxlQ2hhbmdlLnRvdGFsUmVjb3Jkcykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVQYWdlTGlua3MoKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUGFnaW5hdG9yU3RhdGUoKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRmlyc3QoKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUm93c1BlclBhZ2VPcHRpb25zKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2ltcGxlQ2hhbmdlLmZpcnN0KSB7XG4gICAgICAgICAgICB0aGlzLl9maXJzdCA9IHNpbXBsZUNoYW5nZS5maXJzdC5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVBhZ2VMaW5rcygpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVQYWdpbmF0b3JTdGF0ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNpbXBsZUNoYW5nZS5yb3dzKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVBhZ2VMaW5rcygpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVQYWdpbmF0b3JTdGF0ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNpbXBsZUNoYW5nZS5yb3dzUGVyUGFnZU9wdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUm93c1BlclBhZ2VPcHRpb25zKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2ltcGxlQ2hhbmdlLnBhZ2VMaW5rU2l6ZSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVQYWdlTGlua3MoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZVJvd3NQZXJQYWdlT3B0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucm93c1BlclBhZ2VPcHRpb25zKSB7XG4gICAgICAgICAgICB0aGlzLnJvd3NQZXJQYWdlSXRlbXMgPSBbXTtcbiAgICAgICAgICAgIGZvciAobGV0IG9wdCBvZiB0aGlzLnJvd3NQZXJQYWdlT3B0aW9ucykge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0ID09ICdvYmplY3QnICYmIG9wdFsnc2hvd0FsbCddKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm93c1BlclBhZ2VJdGVtcy51bnNoaWZ0KHsgbGFiZWw6IG9wdFsnc2hvd0FsbCddLCB2YWx1ZTogdGhpcy50b3RhbFJlY29yZHMgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3dzUGVyUGFnZUl0ZW1zLnB1c2goeyBsYWJlbDogU3RyaW5nKHRoaXMuZ2V0TG9jYWxpemF0aW9uKG9wdCkpLCB2YWx1ZTogb3B0IH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzRmlyc3RQYWdlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRQYWdlKCkgPT09IDA7XG4gICAgfVxuXG4gICAgaXNMYXN0UGFnZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UGFnZSgpID09PSB0aGlzLmdldFBhZ2VDb3VudCgpIC0gMTtcbiAgICB9XG5cbiAgICBnZXRQYWdlQ291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE1hdGguY2VpbCh0aGlzLnRvdGFsUmVjb3JkcyAvIHRoaXMucm93cyk7XG4gICAgfVxuXG4gICAgY2FsY3VsYXRlUGFnZUxpbmtCb3VuZGFyaWVzKCk6IFtudW1iZXIsIG51bWJlcl0ge1xuICAgICAgICBsZXQgbnVtYmVyT2ZQYWdlcyA9IHRoaXMuZ2V0UGFnZUNvdW50KCksXG4gICAgICAgICAgICB2aXNpYmxlUGFnZXMgPSBNYXRoLm1pbih0aGlzLnBhZ2VMaW5rU2l6ZSwgbnVtYmVyT2ZQYWdlcyk7XG5cbiAgICAgICAgLy9jYWxjdWxhdGUgcmFuZ2UsIGtlZXAgY3VycmVudCBpbiBtaWRkbGUgaWYgbmVjZXNzYXJ5XG4gICAgICAgIGxldCBzdGFydCA9IE1hdGgubWF4KDAsIE1hdGguY2VpbCh0aGlzLmdldFBhZ2UoKSAtIHZpc2libGVQYWdlcyAvIDIpKSxcbiAgICAgICAgICAgIGVuZCA9IE1hdGgubWluKG51bWJlck9mUGFnZXMgLSAxLCBzdGFydCArIHZpc2libGVQYWdlcyAtIDEpO1xuXG4gICAgICAgIC8vY2hlY2sgd2hlbiBhcHByb2FjaGluZyB0byBsYXN0IHBhZ2VcbiAgICAgICAgdmFyIGRlbHRhID0gdGhpcy5wYWdlTGlua1NpemUgLSAoZW5kIC0gc3RhcnQgKyAxKTtcbiAgICAgICAgc3RhcnQgPSBNYXRoLm1heCgwLCBzdGFydCAtIGRlbHRhKTtcblxuICAgICAgICByZXR1cm4gW3N0YXJ0LCBlbmRdO1xuICAgIH1cblxuICAgIHVwZGF0ZVBhZ2VMaW5rcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYWdlTGlua3MgPSBbXTtcbiAgICAgICAgbGV0IGJvdW5kYXJpZXMgPSB0aGlzLmNhbGN1bGF0ZVBhZ2VMaW5rQm91bmRhcmllcygpLFxuICAgICAgICAgICAgc3RhcnQgPSBib3VuZGFyaWVzWzBdLFxuICAgICAgICAgICAgZW5kID0gYm91bmRhcmllc1sxXTtcblxuICAgICAgICBmb3IgKGxldCBpID0gc3RhcnQ7IGkgPD0gZW5kOyBpKyspIHtcbiAgICAgICAgICAgIHRoaXMucGFnZUxpbmtzLnB1c2goaSArIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc2hvd0p1bXBUb1BhZ2VEcm9wZG93bikge1xuICAgICAgICAgICAgdGhpcy5wYWdlSXRlbXMgPSBbXTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5nZXRQYWdlQ291bnQoKTsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYWdlSXRlbXMucHVzaCh7IGxhYmVsOiBTdHJpbmcoaSArIDEpLCB2YWx1ZTogaSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNoYW5nZVBhZ2UocDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHZhciBwYyA9IHRoaXMuZ2V0UGFnZUNvdW50KCk7XG5cbiAgICAgICAgaWYgKHAgPj0gMCAmJiBwIDwgcGMpIHtcbiAgICAgICAgICAgIHRoaXMuX2ZpcnN0ID0gdGhpcy5yb3dzICogcDtcbiAgICAgICAgICAgIHZhciBzdGF0ZSA9IHtcbiAgICAgICAgICAgICAgICBwYWdlOiBwLFxuICAgICAgICAgICAgICAgIGZpcnN0OiB0aGlzLmZpcnN0LFxuICAgICAgICAgICAgICAgIHJvd3M6IHRoaXMucm93cyxcbiAgICAgICAgICAgICAgICBwYWdlQ291bnQ6IHBjLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUGFnZUxpbmtzKCk7XG5cbiAgICAgICAgICAgIHRoaXMub25QYWdlQ2hhbmdlLmVtaXQoc3RhdGUpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVQYWdpbmF0b3JTdGF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlRmlyc3QoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSB0aGlzLmdldFBhZ2UoKTtcbiAgICAgICAgaWYgKHBhZ2UgPiAwICYmIHRoaXMudG90YWxSZWNvcmRzICYmIHRoaXMuZmlyc3QgPj0gdGhpcy50b3RhbFJlY29yZHMpIHtcbiAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZShudWxsKS50aGVuKCgpID0+IHRoaXMuY2hhbmdlUGFnZShwYWdlIC0gMSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0UGFnZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcih0aGlzLmZpcnN0IC8gdGhpcy5yb3dzKTtcbiAgICB9XG5cbiAgICBjaGFuZ2VQYWdlVG9GaXJzdChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzRmlyc3RQYWdlKCkpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlUGFnZSgwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgY2hhbmdlUGFnZVRvUHJldihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VQYWdlKHRoaXMuZ2V0UGFnZSgpIC0gMSk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgY2hhbmdlUGFnZVRvTmV4dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VQYWdlKHRoaXMuZ2V0UGFnZSgpICsgMSk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgY2hhbmdlUGFnZVRvTGFzdChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzTGFzdFBhZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VQYWdlKHRoaXMuZ2V0UGFnZUNvdW50KCkgLSAxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgb25QYWdlTGlua0NsaWNrKGV2ZW50OiBFdmVudCwgcGFnZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hhbmdlUGFnZShwYWdlKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBvblJwcENoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VQYWdlKHRoaXMuZ2V0UGFnZSgpKTtcbiAgICB9XG5cbiAgICBvblBhZ2VEcm9wZG93bkNoYW5nZShldmVudDogRHJvcGRvd25DaGFuZ2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoYW5nZVBhZ2UoZXZlbnQudmFsdWUpO1xuICAgIH1cblxuICAgIHVwZGF0ZVBhZ2luYXRvclN0YXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhZ2luYXRvclN0YXRlID0ge1xuICAgICAgICAgICAgcGFnZTogdGhpcy5nZXRQYWdlKCksXG4gICAgICAgICAgICBwYWdlQ291bnQ6IHRoaXMuZ2V0UGFnZUNvdW50KCksXG4gICAgICAgICAgICByb3dzOiB0aGlzLnJvd3MsXG4gICAgICAgICAgICBmaXJzdDogdGhpcy5maXJzdCxcbiAgICAgICAgICAgIHRvdGFsUmVjb3JkczogdGhpcy50b3RhbFJlY29yZHMsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgZW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFBhZ2VDb3VudCgpID09PSAwO1xuICAgIH1cblxuICAgIGN1cnJlbnRQYWdlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFBhZ2VDb3VudCgpID4gMCA/IHRoaXMuZ2V0UGFnZSgpICsgMSA6IDA7XG4gICAgfVxuXG4gICAgZ2V0IGN1cnJlbnRQYWdlUmVwb3J0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRQYWdlUmVwb3J0VGVtcGxhdGVcbiAgICAgICAgICAgIC5yZXBsYWNlKCd7Y3VycmVudFBhZ2V9JywgU3RyaW5nKHRoaXMuY3VycmVudFBhZ2UoKSkpXG4gICAgICAgICAgICAucmVwbGFjZSgne3RvdGFsUGFnZXN9JywgU3RyaW5nKHRoaXMuZ2V0UGFnZUNvdW50KCkpKVxuICAgICAgICAgICAgLnJlcGxhY2UoJ3tmaXJzdH0nLCBTdHJpbmcodGhpcy50b3RhbFJlY29yZHMgPiAwID8gdGhpcy5fZmlyc3QgKyAxIDogMCkpXG4gICAgICAgICAgICAucmVwbGFjZSgne2xhc3R9JywgU3RyaW5nKE1hdGgubWluKHRoaXMuX2ZpcnN0ICsgdGhpcy5yb3dzLCB0aGlzLnRvdGFsUmVjb3JkcykpKVxuICAgICAgICAgICAgLnJlcGxhY2UoJ3tyb3dzfScsIFN0cmluZyh0aGlzLnJvd3MpKVxuICAgICAgICAgICAgLnJlcGxhY2UoJ3t0b3RhbFJlY29yZHN9JywgU3RyaW5nKHRoaXMudG90YWxSZWNvcmRzKSk7XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBTZWxlY3RNb2R1bGUsXG4gICAgICAgIElucHV0TnVtYmVyTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgU2hhcmVkTW9kdWxlLFxuICAgICAgICBSaXBwbGVNb2R1bGUsXG4gICAgICAgIEFuZ2xlRG91YmxlTGVmdEljb24sXG4gICAgICAgIEFuZ2xlRG91YmxlUmlnaHRJY29uLFxuICAgICAgICBBbmdsZUxlZnRJY29uLFxuICAgICAgICBBbmdsZVJpZ2h0SWNvbixcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtQYWdpbmF0b3IsIFNlbGVjdE1vZHVsZSwgU2hhcmVkTW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtQYWdpbmF0b3JdLFxufSlcbmV4cG9ydCBjbGFzcyBQYWdpbmF0b3JNb2R1bGUge31cbiJdfQ==
@@ -153,4 +153,84 @@ export class PaginatorStyle extends BaseStyle {
153
153
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: PaginatorStyle, decorators: [{
154
154
  type: Injectable
155
155
  }] });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yc3R5bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvcGFnaW5hdG9yL3N0eWxlL3BhZ2luYXRvcnN0eWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFFekMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQzs7Ozs7O2tCQU1SLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzthQUMvQixFQUFFLENBQUMsaUJBQWlCLENBQUM7ZUFDbkIsRUFBRSxDQUFDLG1CQUFtQixDQUFDO3FCQUNqQixFQUFFLENBQUMseUJBQXlCLENBQUM7V0FDdkMsRUFBRSxDQUFDLGVBQWUsQ0FBQzs7Ozs7Ozs7V0FRbkIsRUFBRSxDQUFDLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tCQXdCWixFQUFFLENBQUMsaUNBQWlDLENBQUM7O2FBRTFDLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztpQkFDNUIsRUFBRSxDQUFDLDRCQUE0QixDQUFDO2NBQ25DLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQzs2QkFDbEIsRUFBRSxDQUFDLCtCQUErQixDQUFDLFdBQVcsRUFBRSxDQUFDLCtCQUErQixDQUFDLG1CQUFtQixFQUFFLENBQUMsK0JBQStCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztxQkFDbE0sRUFBRSxDQUFDLG9DQUFvQyxDQUFDOzs7Ozs7Ozs7O2tCQVUzQyxFQUFFLENBQUMsd0NBQXdDLENBQUM7ZUFDL0MsRUFBRSxDQUFDLHVDQUF1QyxDQUFDLElBQUksRUFBRSxDQUFDLHVDQUF1QyxDQUFDLElBQUksRUFBRSxDQUFDLHVDQUF1QyxDQUFDO3NCQUNsSSxFQUFFLENBQUMsd0NBQXdDLENBQUM7Ozs7Ozs7O2tCQVFoRCxFQUFFLENBQUMsdUNBQXVDLENBQUM7YUFDaEQsRUFBRSxDQUFDLGtDQUFrQyxDQUFDOzs7O2tCQUlqQyxFQUFFLENBQUMsMENBQTBDLENBQUM7YUFDbkQsRUFBRSxDQUFDLHFDQUFxQyxDQUFDOzs7O2FBSXpDLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQzs7Ozs7O1dBTTNDLEVBQUUsQ0FBQyxlQUFlLENBQUM7Ozs7aUJBSWIsRUFBRSxDQUFDLHdDQUF3QyxDQUFDOztDQUU1RCxDQUFDO0FBRUYsTUFBTSxPQUFPLEdBQUc7SUFDWixTQUFTLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDOUIseUJBQXlCO1FBQ3pCO1lBQ0kscUJBQXFCLEVBQUUsQ0FBQyxRQUFRLENBQUMsY0FBYyxFQUFFO1lBQ2pELENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxjQUFjLEVBQUU7U0FDcEQ7S0FDSjtJQUNELE9BQU8sRUFBRSxxQkFBcUI7SUFDOUIsWUFBWSxFQUFFLDJCQUEyQjtJQUN6QyxVQUFVLEVBQUUseUJBQXlCO0lBQ3JDLEtBQUssRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ3JCLG1CQUFtQjtRQUNuQjtZQUNJLFlBQVksRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVE7U0FDekM7S0FDSjtJQUNELFNBQVMsRUFBRSx3QkFBd0I7SUFDbkMsSUFBSSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDcEIsa0JBQWtCO1FBQ2xCO1lBQ0ksWUFBWSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUTtTQUN6QztLQUNKO0lBQ0QsUUFBUSxFQUFFLHVCQUF1QjtJQUNqQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUNwQixrQkFBa0I7UUFDbEI7WUFDSSxZQUFZLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRO1NBQ3pDO0tBQ0o7SUFDRCxRQUFRLEVBQUUsdUJBQXVCO0lBQ2pDLElBQUksRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ3BCLGtCQUFrQjtRQUNsQjtZQUNJLFlBQVksRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVE7U0FDekM7S0FDSjtJQUNELFFBQVEsRUFBRSx1QkFBdUI7SUFDakMsS0FBSyxFQUFFLG1CQUFtQjtJQUMxQixJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDM0Isa0JBQWtCO1FBQ2xCO1lBQ0ksMkJBQTJCLEVBQUUsUUFBUSxHQUFHLENBQUMsS0FBSyxLQUFLLENBQUMsSUFBSTtTQUMzRDtLQUNKO0lBQ0QsT0FBTyxFQUFFLHFCQUFxQjtJQUM5QixvQkFBb0IsRUFBRSwwQkFBMEI7SUFDaEQsb0JBQW9CLEVBQUUsMEJBQTBCO0lBQ2hELGlCQUFpQixFQUFFLHVCQUF1QjtDQUM3QyxDQUFDO0FBR0YsTUFBTSxPQUFPLGNBQWUsU0FBUSxTQUFTO0lBQ3pDLElBQUksR0FBRyxXQUFXLENBQUM7SUFFbkIsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUVkLE9BQU8sR0FBRyxPQUFPLENBQUM7dUdBTFQsY0FBYzsyR0FBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZVN0eWxlIH0gZnJvbSAncHJpbWVuZy9iYXNlJztcblxuY29uc3QgdGhlbWUgPSAoeyBkdCB9KSA9PiBgXG4ucC1wYWdpbmF0b3Ige1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYmFja2dyb3VuZDogJHtkdCgncGFnaW5hdG9yLmJhY2tncm91bmQnKX07XG4gICAgY29sb3I6ICR7ZHQoJ3BhZ2luYXRvci5jb2xvcicpfTtcbiAgICBwYWRkaW5nOiAke2R0KCdwYWdpbmF0b3IucGFkZGluZycpfTtcbiAgICBib3JkZXItcmFkaXVzOiAke2R0KCdwYWdpbmF0b3IuYm9yZGVyLnJhZGl1cycpfTtcbiAgICBnYXA6ICR7ZHQoJ3BhZ2luYXRvci5nYXAnKX07XG59XG5cbi5wLXBhZ2luYXRvci1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogJHtkdCgncGFnaW5hdG9yLmdhcCcpfTtcbn1cblxuLnAtcGFnaW5hdG9yLWNvbnRlbnQtc3RhcnQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLnAtcGFnaW5hdG9yLWNvbnRlbnQtZW5kIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLnAtcGFnaW5hdG9yLXBhZ2UsXG4ucC1wYWdpbmF0b3ItbmV4dCxcbi5wLXBhZ2luYXRvci1sYXN0LFxuLnAtcGFnaW5hdG9yLWZpcnN0LFxuLnAtcGFnaW5hdG9yLXByZXYge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ3BhZ2luYXRvci5uYXYuYnV0dG9uLmJhY2tncm91bmQnKX07XG4gICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgY29sb3I6ICR7ZHQoJ3BhZ2luYXRvci5uYXYuYnV0dG9uLmNvbG9yJyl9O1xuICAgIG1pbi13aWR0aDogJHtkdCgncGFnaW5hdG9yLm5hdi5idXR0b24ud2lkdGgnKX07XG4gICAgaGVpZ2h0OiAke2R0KCdwYWdpbmF0b3IubmF2LmJ1dHRvbi5oZWlnaHQnKX07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAke2R0KCdwYWdpbmF0b3IudHJhbnNpdGlvbi5kdXJhdGlvbicpfSwgY29sb3IgJHtkdCgncGFnaW5hdG9yLnRyYW5zaXRpb24uZHVyYXRpb24nKX0sIG91dGxpbmUtY29sb3IgJHtkdCgncGFnaW5hdG9yLnRyYW5zaXRpb24uZHVyYXRpb24nKX0sIGJveC1zaGFkb3cgJHtkdCgncGFnaW5hdG9yLnRyYW5zaXRpb24uZHVyYXRpb24nKX07XG4gICAgYm9yZGVyLXJhZGl1czogJHtkdCgncGFnaW5hdG9yLm5hdi5idXR0b24uYm9yZGVyLnJhZGl1cycpfTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLnAtcGFnaW5hdG9yLXBhZ2U6Zm9jdXMtdmlzaWJsZSxcbi5wLXBhZ2luYXRvci1uZXh0OmZvY3VzLXZpc2libGUsXG4ucC1wYWdpbmF0b3ItbGFzdDpmb2N1cy12aXNpYmxlLFxuLnAtcGFnaW5hdG9yLWZpcnN0OmZvY3VzLXZpc2libGUsXG4ucC1wYWdpbmF0b3ItcHJldjpmb2N1cy12aXNpYmxlIHtcbiAgICBib3gtc2hhZG93OiAke2R0KCdwYWdpbmF0b3IubmF2LmJ1dHRvbi5mb2N1cy5yaW5nLnNoYWRvdycpfTtcbiAgICBvdXRsaW5lOiAke2R0KCdwYWdpbmF0b3IubmF2LmJ1dHRvbi5mb2N1cy5yaW5nLndpZHRoJyl9ICR7ZHQoJ3BhZ2luYXRvci5uYXYuYnV0dG9uLmZvY3VzLnJpbmcuc3R5bGUnKX0gJHtkdCgncGFnaW5hdG9yLm5hdi5idXR0b24uZm9jdXMucmluZy5jb2xvcicpfTtcbiAgICBvdXRsaW5lLW9mZnNldDogJHtkdCgncGFnaW5hdG9yLm5hdi5idXR0b24uZm9jdXMucmluZy5vZmZzZXQnKX07XG59XG5cbi5wLXBhZ2luYXRvci1wYWdlOm5vdCgucC1kaXNhYmxlZCk6bm90KC5wLXBhZ2luYXRvci1wYWdlLXNlbGVjdGVkKTpob3Zlcixcbi5wLXBhZ2luYXRvci1maXJzdDpub3QoLnAtZGlzYWJsZWQpOmhvdmVyLFxuLnAtcGFnaW5hdG9yLXByZXY6bm90KC5wLWRpc2FibGVkKTpob3Zlcixcbi5wLXBhZ2luYXRvci1uZXh0Om5vdCgucC1kaXNhYmxlZCk6aG92ZXIsXG4ucC1wYWdpbmF0b3ItbGFzdDpub3QoLnAtZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdwYWdpbmF0b3IubmF2LmJ1dHRvbi5ob3Zlci5iYWNrZ3JvdW5kJyl9O1xuICAgIGNvbG9yOiAke2R0KCdwYWdpbmF0b3IubmF2LmJ1dHRvbi5ob3Zlci5jb2xvcicpfTtcbn1cblxuLnAtcGFnaW5hdG9yLXBhZ2UucC1wYWdpbmF0b3ItcGFnZS1zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZDogJHtkdCgncGFnaW5hdG9yLm5hdi5idXR0b24uc2VsZWN0ZWQuYmFja2dyb3VuZCcpfTtcbiAgICBjb2xvcjogJHtkdCgncGFnaW5hdG9yLm5hdi5idXR0b24uc2VsZWN0ZWQuY29sb3InKX07XG59XG5cbi5wLXBhZ2luYXRvci1jdXJyZW50IHtcbiAgICBjb2xvcjogJHtkdCgncGFnaW5hdG9yLmN1cnJlbnQucGFnZS5yZXBvcnQuY29sb3InKX07XG59XG5cbi5wLXBhZ2luYXRvci1wYWdlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogJHtkdCgncGFnaW5hdG9yLmdhcCcpfTtcbn1cblxuLnAtcGFnaW5hdG9yLWp0cC1pbnB1dCAucC1pbnB1dHRleHQge1xuICAgIG1heC13aWR0aDogJHtkdCgncGFnaW5hdG9yLmp1bXAudG8ucGFnZS5pbnB1dC5tYXgud2lkdGgnKX07XG59XG5gO1xuXG5jb25zdCBjbGFzc2VzID0ge1xuICAgIHBhZ2luYXRvcjogKHsgaW5zdGFuY2UsIGtleSB9KSA9PiBbXG4gICAgICAgICdwLXBhZ2luYXRvciBwLWNvbXBvbmVudCcsXG4gICAgICAgIHtcbiAgICAgICAgICAgICdwLXBhZ2luYXRvci1kZWZhdWx0JzogIWluc3RhbmNlLmhhc0JyZWFrcG9pbnRzKCksXG4gICAgICAgICAgICBbYHAtcGFnaW5hdG9yLSR7a2V5fWBdOiBpbnN0YW5jZS5oYXNCcmVha3BvaW50cygpLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgY29udGVudDogJ3AtcGFnaW5hdG9yLWNvbnRlbnQnLFxuICAgIGNvbnRlbnRTdGFydDogJ3AtcGFnaW5hdG9yLWNvbnRlbnQtc3RhcnQnLFxuICAgIGNvbnRlbnRFbmQ6ICdwLXBhZ2luYXRvci1jb250ZW50LWVuZCcsXG4gICAgZmlyc3Q6ICh7IGluc3RhbmNlIH0pID0+IFtcbiAgICAgICAgJ3AtcGFnaW5hdG9yLWZpcnN0JyxcbiAgICAgICAge1xuICAgICAgICAgICAgJ3AtZGlzYWJsZWQnOiBpbnN0YW5jZS4kYXR0cnMuZGlzYWJsZWQsXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBmaXJzdEljb246ICdwLXBhZ2luYXRvci1maXJzdC1pY29uJyxcbiAgICBwcmV2OiAoeyBpbnN0YW5jZSB9KSA9PiBbXG4gICAgICAgICdwLXBhZ2luYXRvci1wcmV2JyxcbiAgICAgICAge1xuICAgICAgICAgICAgJ3AtZGlzYWJsZWQnOiBpbnN0YW5jZS4kYXR0cnMuZGlzYWJsZWQsXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBwcmV2SWNvbjogJ3AtcGFnaW5hdG9yLXByZXYtaWNvbicsXG4gICAgbmV4dDogKHsgaW5zdGFuY2UgfSkgPT4gW1xuICAgICAgICAncC1wYWdpbmF0b3ItbmV4dCcsXG4gICAgICAgIHtcbiAgICAgICAgICAgICdwLWRpc2FibGVkJzogaW5zdGFuY2UuJGF0dHJzLmRpc2FibGVkLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgbmV4dEljb246ICdwLXBhZ2luYXRvci1uZXh0LWljb24nLFxuICAgIGxhc3Q6ICh7IGluc3RhbmNlIH0pID0+IFtcbiAgICAgICAgJ3AtcGFnaW5hdG9yLWxhc3QnLFxuICAgICAgICB7XG4gICAgICAgICAgICAncC1kaXNhYmxlZCc6IGluc3RhbmNlLiRhdHRycy5kaXNhYmxlZCxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGxhc3RJY29uOiAncC1wYWdpbmF0b3ItbGFzdC1pY29uJyxcbiAgICBwYWdlczogJ3AtcGFnaW5hdG9yLXBhZ2VzJyxcbiAgICBwYWdlOiAoeyBwcm9wcywgcGFnZUxpbmsgfSkgPT4gW1xuICAgICAgICAncC1wYWdpbmF0b3ItcGFnZScsXG4gICAgICAgIHtcbiAgICAgICAgICAgICdwLXBhZ2luYXRvci1wYWdlLXNlbGVjdGVkJzogcGFnZUxpbmsgLSAxID09PSBwcm9wcy5wYWdlLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgY3VycmVudDogJ3AtcGFnaW5hdG9yLWN1cnJlbnQnLFxuICAgIHBjUm93UGVyUGFnZURyb3Bkb3duOiAncC1wYWdpbmF0b3ItcnBwLWRyb3Bkb3duJyxcbiAgICBwY0p1bXBUb1BhZ2VEcm9wZG93bjogJ3AtcGFnaW5hdG9yLWp0cC1kcm9wZG93bicsXG4gICAgcGNKdW1wVG9QYWdlSW5wdXQ6ICdwLXBhZ2luYXRvci1qdHAtaW5wdXQnLFxufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRvclN0eWxlIGV4dGVuZHMgQmFzZVN0eWxlIHtcbiAgICBuYW1lID0gJ3BhZ2luYXRvcic7XG5cbiAgICB0aGVtZSA9IHRoZW1lO1xuXG4gICAgY2xhc3NlcyA9IGNsYXNzZXM7XG59XG4iXX0=
156
+ /**
157
+ *
158
+ * Paginator is a generic component to display content in paged format.
159
+ *
160
+ * [Live Demo](https://www.primeng.org/paginator)
161
+ *
162
+ * @module paginatorstyle
163
+ *
164
+ */
165
+ export var PaginatorClasses;
166
+ (function (PaginatorClasses) {
167
+ /**
168
+ * Class name of the paginator element
169
+ */
170
+ PaginatorClasses["paginator"] = "p-paginator";
171
+ /**
172
+ * Class name of the content start element
173
+ */
174
+ PaginatorClasses["contentStart"] = "p-paginator-content-start";
175
+ /**
176
+ * Class name of the content end element
177
+ */
178
+ PaginatorClasses["contentEnd"] = "p-paginator-content-end";
179
+ /**
180
+ * Class name of the first element
181
+ */
182
+ PaginatorClasses["first"] = "p-paginator-first";
183
+ /**
184
+ * Class name of the first icon element
185
+ */
186
+ PaginatorClasses["firstIcon"] = "p-paginator-first-icon";
187
+ /**
188
+ * Class name of the prev element
189
+ */
190
+ PaginatorClasses["prev"] = "p-paginator-prev";
191
+ /**
192
+ * Class name of the prev icon element
193
+ */
194
+ PaginatorClasses["prevIcon"] = "p-paginator-prev-icon";
195
+ /**
196
+ * Class name of the next element
197
+ */
198
+ PaginatorClasses["next"] = "p-paginator-next";
199
+ /**
200
+ * Class name of the next icon element
201
+ */
202
+ PaginatorClasses["nextIcon"] = "p-paginator-next-icon";
203
+ /**
204
+ * Class name of the last element
205
+ */
206
+ PaginatorClasses["last"] = "p-paginator-last";
207
+ /**
208
+ * Class name of the last icon element
209
+ */
210
+ PaginatorClasses["lastIcon"] = "p-paginator-last-icon";
211
+ /**
212
+ * Class name of the pages element
213
+ */
214
+ PaginatorClasses["pages"] = "p-paginator-pages";
215
+ /**
216
+ * Class name of the page element
217
+ */
218
+ PaginatorClasses["page"] = "p-paginator-page";
219
+ /**
220
+ * Class name of the current element
221
+ */
222
+ PaginatorClasses["current"] = "p-paginator-current";
223
+ /**
224
+ * Class name of the row per page dropdown element
225
+ */
226
+ PaginatorClasses["pcRowPerPageDropdown"] = "p-paginator-rpp-dropdown";
227
+ /**
228
+ * Class name of the jump to page dropdown element
229
+ */
230
+ PaginatorClasses["pcJumpToPageDropdown"] = "p-paginator-jtp-dropdown";
231
+ /**
232
+ * Class name of the jump to page input element
233
+ */
234
+ PaginatorClasses["pcJumpToPageInput"] = "p-paginator-jtp-input";
235
+ })(PaginatorClasses || (PaginatorClasses = {}));
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yc3R5bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvcGFnaW5hdG9yL3N0eWxlL3BhZ2luYXRvcnN0eWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFFekMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQzs7Ozs7O2tCQU1SLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzthQUMvQixFQUFFLENBQUMsaUJBQWlCLENBQUM7ZUFDbkIsRUFBRSxDQUFDLG1CQUFtQixDQUFDO3FCQUNqQixFQUFFLENBQUMseUJBQXlCLENBQUM7V0FDdkMsRUFBRSxDQUFDLGVBQWUsQ0FBQzs7Ozs7Ozs7V0FRbkIsRUFBRSxDQUFDLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2tCQXdCWixFQUFFLENBQUMsaUNBQWlDLENBQUM7O2FBRTFDLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztpQkFDNUIsRUFBRSxDQUFDLDRCQUE0QixDQUFDO2NBQ25DLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQzs2QkFDbEIsRUFBRSxDQUFDLCtCQUErQixDQUFDLFdBQVcsRUFBRSxDQUFDLCtCQUErQixDQUFDLG1CQUFtQixFQUFFLENBQUMsK0JBQStCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztxQkFDbE0sRUFBRSxDQUFDLG9DQUFvQyxDQUFDOzs7Ozs7Ozs7O2tCQVUzQyxFQUFFLENBQUMsd0NBQXdDLENBQUM7ZUFDL0MsRUFBRSxDQUFDLHVDQUF1QyxDQUFDLElBQUksRUFBRSxDQUFDLHVDQUF1QyxDQUFDLElBQUksRUFBRSxDQUFDLHVDQUF1QyxDQUFDO3NCQUNsSSxFQUFFLENBQUMsd0NBQXdDLENB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QTtJQUN6Qjs7T0FFRztJQUNILHNEQUFrQyxDQUFBO0lBQ2xDOztPQUVHO0lBQ0gsNkNBQXlCLENBQUE7SUFDekI7O09BRUc7SUFDSCxzREFBa0MsQ0FBQTtJQUNsQzs7T0FFRztJQUNILCtDQUEyQixDQUFBO0lBQzNCOztPQUVHO0lBQ0gsNkNBQXlCLENBQUE7SUFDekI7O09BRUc7SUFDSCxtREFBK0IsQ0FBQTtJQUMvQjs7T0FFRztJQUNILHFFQUFpRCxDQUFBO0lBQ2pEOztPQUVHO0lBQ0gscUVBQWlELENBQUE7SUFDakQ7O09BRUc7SUFDSCwrREFBMkMsQ0FBQTtBQUMvQyxDQUFDLEVBckVXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFxRTNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZVN0eWxlIH0gZnJvbSAncHJpbWVuZy9iYXNlJztcblxuY29uc3QgdGhlbWUgPSAoeyBkdCB9KSA9PiBgXG4ucC1wYWdpbmF0b3Ige1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYmFja2dyb3VuZDogJHtkdCgncGFnaW5hdG9yLmJhY2tncm91bmQnKX07XG4gICAgY29sb3I6ICR7ZHQoJ3BhZ2luYXRvci5jb2xvcicpfTtcbiAgICBwYWRkaW5nOiAke2R0KCdwYWdpbmF0b3IucGFkZGluZycpfTtcbiAgICBib3JkZXItcmFkaXVzOiAke2R0KCdwYWdpbmF0b3IuYm9yZGVyLnJhZGl1cycpfTtcbiAgICBnYXA6ICR7ZHQoJ3BhZ2luYXRvci5nYXAnKX07XG59XG5cbi5wLXBhZ2luYXRvci1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogJHtkdCgncGFnaW5hdG9yLmdhcCcpfTtcbn1cblxuLnAtcGFnaW5hdG9yLWNvbnRlbnQtc3RhcnQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLnAtcGFnaW5hdG9yLWNvbnRlbnQtZW5kIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLnAtcGFnaW5hdG9yLXBhZ2UsXG4ucC1wYWdpbmF0b3ItbmV4dCxcbi5wLXBhZ2luYXRvci1sYXN0LFxuLnAtcGFnaW5hdG9yLWZpcnN0LFxuLnAtcGFnaW5hdG9yLXByZXYge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ3BhZ2luYXRvci5uYXYuYnV0dG9uLmJhY2tncm91bmQnKX07XG4gICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgY29sb3I6ICR7ZHQoJ3BhZ2luYXRvci5uYXYuYnV0dG9uLmNvbG9yJyl9O1xuICAgIG1pbi13aWR0aDogJHtkdCgncGFnaW5hdG9yLm5hdi5idXR0b24ud2lkdGgnKX07XG4gICAgaGVpZ2h0OiAke2R0KCdwYWdpbmF0b3IubmF2LmJ1dHRvbi5oZWlnaHQnKX07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAke2R0KCdwYWdpbmF0b3IudHJhbnNpdGlvbi5kdXJhdGlvbicpfSwgY29sb3IgJHtkdCgncGFnaW5hdG9yLnRyYW5zaXRpb24uZHVyYXRpb24nKX0sIG91dGxpbmUtY29sb3IgJHtkdCgncGFnaW5hdG9yLnRyYW5zaXRpb24uZHVyYXRpb24nKX0sIGJveC1zaGFkb3cgJHtkdCgncGFnaW5hdG9yLnRyYW5zaXRpb24uZHVyYXRpb24nKX07XG4gICAgYm9yZGVyLXJhZGl1czogJHtkdCgncGFnaW5hdG9yLm5hdi5idXR0b24uYm9yZGVyLnJhZGl1cycpfTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLnAtcGFnaW5hdG9yLXBhZ2U6Zm9jdXMtdmlzaWJsZSxcbi5wLXBhZ2luYXRvci1uZXh0OmZvY3VzLXZpc2libGUsXG4ucC1wYWdpbmF0b3ItbGFzdDpmb2N1cy12aXNpYmxlLFxuLnAtcGFnaW5hdG9yLWZpcnN0OmZvY3VzLXZpc2libGUsXG4ucC1wYWdpbmF0b3ItcHJldjpmb2N1cy12aXNpYmxlIHtcbiAgICBib3gtc2hhZG93OiAke2R0KCdwYWdpbmF0b3IubmF2LmJ1dHRvbi5mb2N1cy5yaW5nLnNoYWRvdycpfTtcbiAgICBvdXRsaW5lOiAke2R0KCdwYWdpbmF0b3IubmF2LmJ1dHRvbi5mb2N1cy5yaW5nLndpZHRoJyl9ICR7ZHQoJ3BhZ2luYXRvci5uYXYuYnV0dG9uLmZvY3VzLnJpbmcuc3R5bGUnKX0gJHtkdCgncGFnaW5hdG9yLm5hdi5idXR0b24uZm9jdXMucmluZy5jb2xvcicpfTtcbiAgICBvdXRsaW5lLW9mZnNldDogJHtkdCgncGFnaW5hdG9yLm5hdi5idXR0b24uZm9jdXMucmluZy5vZmZzZXQnKX07XG59XG5cbi5wLXBhZ2luYXRvci1wYWdlOm5vdCgucC1kaXNhYmxlZCk6bm90KC5wLXBhZ2luYXRvci1wYWdlLXNlbGVjdGVkKTpob3Zlcixcbi5wLXBhZ2luYXRvci1maXJzdDpub3QoLnAtZGlzYWJsZWQpOmhvdmVyLFxuLnAtcGFnaW5hdG9yLXByZXY6bm90KC5wLWRpc2FibGVkKTpob3Zlcixcbi5wLXBhZ2luYXRvci1uZXh0Om5vdCgucC1kaXNhYmxlZCk6aG92ZXIsXG4ucC1wYWdpbmF0b3ItbGFzdDpub3QoLnAtZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdwYWdpbmF0b3IubmF2LmJ1dHRvbi5ob3Zlci5iYWNrZ3JvdW5kJyl9O1xuICAgIGNvbG9yOiAke2R0KCdwYWdpbmF0b3IubmF2LmJ1dHRvbi5ob3Zlci5jb2xvcicpfTtcbn1cblxuLnAtcGFnaW5hdG9yLXBhZ2UucC1wYWdpbmF0b3ItcGFnZS1zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZDogJHtkdCgncGFnaW5hdG9yLm5hdi5idXR0b24uc2VsZWN0ZWQuYmFja2dyb3VuZCcpfTtcbiAgICBjb2xvcjogJHtkdCgncGFnaW5hdG9yLm5hdi5idXR0b24uc2VsZWN0ZWQuY29sb3InKX07XG59XG5cbi5wLXBhZ2luYXRvci1jdXJyZW50IHtcbiAgICBjb2xvcjogJHtkdCgncGFnaW5hdG9yLmN1cnJlbnQucGFnZS5yZXBvcnQuY29sb3InKX07XG59XG5cbi5wLXBhZ2luYXRvci1wYWdlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogJHtkdCgncGFnaW5hdG9yLmdhcCcpfTtcbn1cblxuLnAtcGFnaW5hdG9yLWp0cC1pbnB1dCAucC1pbnB1dHRleHQge1xuICAgIG1heC13aWR0aDogJHtkdCgncGFnaW5hdG9yLmp1bXAudG8ucGFnZS5pbnB1dC5tYXgud2lkdGgnKX07XG59XG5gO1xuXG5jb25zdCBjbGFzc2VzID0ge1xuICAgIHBhZ2luYXRvcjogKHsgaW5zdGFuY2UsIGtleSB9KSA9PiBbXG4gICAgICAgICdwLXBhZ2luYXRvciBwLWNvbXBvbmVudCcsXG4gICAgICAgIHtcbiAgICAgICAgICAgICdwLXBhZ2luYXRvci1kZWZhdWx0JzogIWluc3RhbmNlLmhhc0JyZWFrcG9pbnRzKCksXG4gICAgICAgICAgICBbYHAtcGFnaW5hdG9yLSR7a2V5fWBdOiBpbnN0YW5jZS5oYXNCcmVha3BvaW50cygpLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgY29udGVudDogJ3AtcGFnaW5hdG9yLWNvbnRlbnQnLFxuICAgIGNvbnRlbnRTdGFydDogJ3AtcGFnaW5hdG9yLWNvbnRlbnQtc3RhcnQnLFxuICAgIGNvbnRlbnRFbmQ6ICdwLXBhZ2luYXRvci1jb250ZW50LWVuZCcsXG4gICAgZmlyc3Q6ICh7IGluc3RhbmNlIH0pID0+IFtcbiAgICAgICAgJ3AtcGFnaW5hdG9yLWZpcnN0JyxcbiAgICAgICAge1xuICAgICAgICAgICAgJ3AtZGlzYWJsZWQnOiBpbnN0YW5jZS4kYXR0cnMuZGlzYWJsZWQsXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBmaXJzdEljb246ICdwLXBhZ2luYXRvci1maXJzdC1pY29uJyxcbiAgICBwcmV2OiAoeyBpbnN0YW5jZSB9KSA9PiBbXG4gICAgICAgICdwLXBhZ2luYXRvci1wcmV2JyxcbiAgICAgICAge1xuICAgICAgICAgICAgJ3AtZGlzYWJsZWQnOiBpbnN0YW5jZS4kYXR0cnMuZGlzYWJsZWQsXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBwcmV2SWNvbjogJ3AtcGFnaW5hdG9yLXByZXYtaWNvbicsXG4gICAgbmV4dDogKHsgaW5zdGFuY2UgfSkgPT4gW1xuICAgICAgICAncC1wYWdpbmF0b3ItbmV4dCcsXG4gICAgICAgIHtcbiAgICAgICAgICAgICdwLWRpc2FibGVkJzogaW5zdGFuY2UuJGF0dHJzLmRpc2FibGVkLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgbmV4dEljb246ICdwLXBhZ2luYXRvci1uZXh0LWljb24nLFxuICAgIGxhc3Q6ICh7IGluc3RhbmNlIH0pID0+IFtcbiAgICAgICAgJ3AtcGFnaW5hdG9yLWxhc3QnLFxuICAgICAgICB7XG4gICAgICAgICAgICAncC1kaXNhYmxlZCc6IGluc3RhbmNlLiRhdHRycy5kaXNhYmxlZCxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGxhc3RJY29uOiAncC1wYWdpbmF0b3ItbGFzdC1pY29uJyxcbiAgICBwYWdlczogJ3AtcGFnaW5hdG9yLXBhZ2VzJyxcbiAgICBwYWdlOiAoeyBwcm9wcywgcGFnZUxpbmsgfSkgPT4gW1xuICAgICAgICAncC1wYWdpbmF0b3ItcGFnZScsXG4gICAgICAgIHtcbiAgICAgICAgICAgICdwLXBhZ2luYXRvci1wYWdlLXNlbGVjdGVkJzogcGFnZUxpbmsgLSAxID09PSBwcm9wcy5wYWdlLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgY3VycmVudDogJ3AtcGFnaW5hdG9yLWN1cnJlbnQnLFxuICAgIHBjUm93UGVyUGFnZURyb3Bkb3duOiAncC1wYWdpbmF0b3ItcnBwLWRyb3Bkb3duJyxcbiAgICBwY0p1bXBUb1BhZ2VEcm9wZG93bjogJ3AtcGFnaW5hdG9yLWp0cC1kcm9wZG93bicsXG4gICAgcGNKdW1wVG9QYWdlSW5wdXQ6ICdwLXBhZ2luYXRvci1qdHAtaW5wdXQnLFxufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRvclN0eWxlIGV4dGVuZHMgQmFzZVN0eWxlIHtcbiAgICBuYW1lID0gJ3BhZ2luYXRvcic7XG5cbiAgICB0aGVtZSA9IHRoZW1lO1xuXG4gICAgY2xhc3NlcyA9IGNsYXNzZXM7XG59XG5cbi8qKlxuICpcbiAqIFBhZ2luYXRvciBpcyBhIGdlbmVyaWMgY29tcG9uZW50IHRvIGRpc3BsYXkgY29udGVudCBpbiBwYWdlZCBmb3JtYXQuXG4gKlxuICogW0xpdmUgRGVtb10oaHR0cHM6Ly93d3cucHJpbWVuZy5vcmcvcGFnaW5hdG9yKVxuICpcbiAqIEBtb2R1bGUgcGFnaW5hdG9yc3R5bGVcbiAqXG4gKi9cblxuZXhwb3J0IGVudW0gUGFnaW5hdG9yQ2xhc3NlcyB7XG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgcGFnaW5hdG9yIGVsZW1lbnRcbiAgICAgKi9cbiAgICBwYWdpbmF0b3IgPSAncC1wYWdpbmF0b3InLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGNvbnRlbnQgc3RhcnQgZWxlbWVudFxuICAgICAqL1xuICAgIGNvbnRlbnRTdGFydCA9ICdwLXBhZ2luYXRvci1jb250ZW50LXN0YXJ0JyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBjb250ZW50IGVuZCBlbGVtZW50XG4gICAgICovXG4gICAgY29udGVudEVuZCA9ICdwLXBhZ2luYXRvci1jb250ZW50LWVuZCcsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgZmlyc3QgZWxlbWVudFxuICAgICAqL1xuICAgIGZpcnN0ID0gJ3AtcGFnaW5hdG9yLWZpcnN0JyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBmaXJzdCBpY29uIGVsZW1lbnRcbiAgICAgKi9cbiAgICBmaXJzdEljb24gPSAncC1wYWdpbmF0b3ItZmlyc3QtaWNvbicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgcHJldiBlbGVtZW50XG4gICAgICovXG4gICAgcHJldiA9ICdwLXBhZ2luYXRvci1wcmV2JyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBwcmV2IGljb24gZWxlbWVudFxuICAgICAqL1xuICAgIHByZXZJY29uID0gJ3AtcGFnaW5hdG9yLXByZXYtaWNvbicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgbmV4dCBlbGVtZW50XG4gICAgICovXG4gICAgbmV4dCA9ICdwLXBhZ2luYXRvci1uZXh0JyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBuZXh0IGljb24gZWxlbWVudFxuICAgICAqL1xuICAgIG5leHRJY29uID0gJ3AtcGFnaW5hdG9yLW5leHQtaWNvbicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgbGFzdCBlbGVtZW50XG4gICAgICovXG4gICAgbGFzdCA9ICdwLXBhZ2luYXRvci1sYXN0JyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBsYXN0IGljb24gZWxlbWVudFxuICAgICAqL1xuICAgIGxhc3RJY29uID0gJ3AtcGFnaW5hdG9yLWxhc3QtaWNvbicsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgcGFnZXMgZWxlbWVudFxuICAgICAqL1xuICAgIHBhZ2VzID0gJ3AtcGFnaW5hdG9yLXBhZ2VzJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBwYWdlIGVsZW1lbnRcbiAgICAgKi9cbiAgICBwYWdlID0gJ3AtcGFnaW5hdG9yLXBhZ2UnLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGN1cnJlbnQgZWxlbWVudFxuICAgICAqL1xuICAgIGN1cnJlbnQgPSAncC1wYWdpbmF0b3ItY3VycmVudCcsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgcm93IHBlciBwYWdlIGRyb3Bkb3duIGVsZW1lbnRcbiAgICAgKi9cbiAgICBwY1Jvd1BlclBhZ2VEcm9wZG93biA9ICdwLXBhZ2luYXRvci1ycHAtZHJvcGRvd24nLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGp1bXAgdG8gcGFnZSBkcm9wZG93biBlbGVtZW50XG4gICAgICovXG4gICAgcGNKdW1wVG9QYWdlRHJvcGRvd24gPSAncC1wYWdpbmF0b3ItanRwLWRyb3Bkb3duJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBqdW1wIHRvIHBhZ2UgaW5wdXQgZWxlbWVudFxuICAgICAqL1xuICAgIHBjSnVtcFRvUGFnZUlucHV0ID0gJ3AtcGFnaW5hdG9yLWp0cC1pbnB1dCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5hdG9yU3R5bGUgZXh0ZW5kcyBCYXNlU3R5bGUge31cbiJdfQ==
@@ -73,4 +73,48 @@ export class PanelStyle extends BaseStyle {
73
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: PanelStyle, decorators: [{
74
74
  type: Injectable
75
75
  }] });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWxzdHlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wYW5lbC9zdHlsZS9wYW5lbHN0eWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFFekMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQzs7d0JBRUYsRUFBRSxDQUFDLG9CQUFvQixDQUFDO3FCQUMzQixFQUFFLENBQUMscUJBQXFCLENBQUM7a0JBQzVCLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQzthQUMzQixFQUFFLENBQUMsYUFBYSxDQUFDOzs7Ozs7O2VBT2YsRUFBRSxDQUFDLHNCQUFzQixDQUFDO2tCQUN2QixFQUFFLENBQUMseUJBQXlCLENBQUM7YUFDbEMsRUFBRSxDQUFDLG9CQUFvQixDQUFDOztvQkFFakIsRUFBRSxDQUFDLDJCQUEyQixDQUFDO29CQUMvQixFQUFFLENBQUMsMkJBQTJCLENBQUM7cUJBQzlCLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQzs7OztlQUl0QyxFQUFFLENBQUMsaUNBQWlDLENBQUM7Ozs7O21CQUtqQyxFQUFFLENBQUMseUJBQXlCLENBQUM7Ozs7ZUFJakMsRUFBRSxDQUFDLHVCQUF1QixDQUFDOzs7O2VBSTNCLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Q0FXeEMsQ0FBQztBQUVGLE1BQU0sT0FBTyxHQUFHO0lBQ1osSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDakIscUJBQXFCO1FBQ3JCO1lBQ0ksb0JBQW9CLEVBQUUsS0FBSyxDQUFDLFVBQVU7U0FDekM7S0FDSjtJQUNELE1BQU0sRUFBRSxnQkFBZ0I7SUFDeEIsS0FBSyxFQUFFLGVBQWU7SUFDdEIsYUFBYSxFQUFFLHdCQUF3QjtJQUN2QyxjQUFjLEVBQUUsdUJBQXVCO0lBQ3ZDLGdCQUFnQixFQUFFLDJCQUEyQjtJQUM3QyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLE1BQU0sRUFBRSxnQkFBZ0I7Q0FDM0IsQ0FBQztBQUVGLE1BQU0sT0FBTyxVQUFXLFNBQVEsU0FBUztJQUNyQyxJQUFJLEdBQUcsT0FBTyxDQUFDO0lBRWYsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUVkLE9BQU8sR0FBRyxPQUFPLENBQUM7dUdBTFQsVUFBVTsyR0FBVixVQUFVOzsyRkFBVixVQUFVO2tCQUR0QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZVN0eWxlIH0gZnJvbSAncHJpbWVuZy9iYXNlJztcblxuY29uc3QgdGhlbWUgPSAoeyBkdCB9KSA9PiBgXG4ucC1wYW5lbCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHtkdCgncGFuZWwuYm9yZGVyLmNvbG9yJyl9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7ZHQoJ3BhbmVsLmJvcmRlci5yYWRpdXMnKX07XG4gICAgYmFja2dyb3VuZDogJHtkdCgncGFuZWwuYmFja2dyb3VuZCcpfTtcbiAgICBjb2xvcjogJHtkdCgncGFuZWwuY29sb3InKX07XG59XG5cbi5wLXBhbmVsLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAke2R0KCdwYW5lbC5oZWFkZXIucGFkZGluZycpfTtcbiAgICBiYWNrZ3JvdW5kOiAke2R0KCdwYW5lbC5oZWFkZXIuYmFja2dyb3VuZCcpfTtcbiAgICBjb2xvcjogJHtkdCgncGFuZWwuaGVhZGVyLmNvbG9yJyl9O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAke2R0KCdwYW5lbC5oZWFkZXIuYm9yZGVyLndpZHRoJyl9O1xuICAgIGJvcmRlci1jb2xvcjogJHtkdCgncGFuZWwuaGVhZGVyLmJvcmRlci5jb2xvcicpfTtcbiAgICBib3JkZXItcmFkaXVzOiAke2R0KCdwYW5lbC5oZWFkZXIuYm9yZGVyLnJhZGl1cycpfTtcbn1cblxuLnAtcGFuZWwtdG9nZ2xlYWJsZSAucC1wYW5lbC1oZWFkZXIge1xuICAgIHBhZGRpbmc6ICR7ZHQoJ3BhbmVsLnRvZ2dsZWFibGUuaGVhZGVyLnBhZGRpbmcnKX07XG59XG5cbi5wLXBhbmVsLXRpdGxlIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogJHtkdCgncGFuZWwudGl0bGUuZm9udC53ZWlnaHQnKX07XG59XG5cbi5wLXBhbmVsLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6ICR7ZHQoJ3BhbmVsLmNvbnRlbnQucGFkZGluZycpfTtcbn1cblxuLnAtcGFuZWwtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAke2R0KCdwYW5lbC5mb290ZXIucGFkZGluZycpfTtcbn1cblxuLyogRm9yIFByaW1lTkcgKi9cbi5wLXBhbmVsLXRvZ2dsZWFibGUucC1wYW5lbC1leHBhbmRlZCA+IC5wLXBhbmVsLWNvbnRlbnQtY29udGFpbmVyOm5vdCgubmctYW5pbWF0aW5nKSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGVcbn1cblxuLnAtcGFuZWwtdG9nZ2xlYWJsZSAucC1wYW5lbC1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbmA7XG5cbmNvbnN0IGNsYXNzZXMgPSB7XG4gICAgcm9vdDogKHsgcHJvcHMgfSkgPT4gW1xuICAgICAgICAncC1wYW5lbCBwLWNvbXBvbmVudCcsXG4gICAgICAgIHtcbiAgICAgICAgICAgICdwLXBhbmVsLXRvZ2dsZWFibGUnOiBwcm9wcy50b2dnbGVhYmxlLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgaGVhZGVyOiAncC1wYW5lbC1oZWFkZXInLFxuICAgIHRpdGxlOiAncC1wYW5lbC10aXRsZScsXG4gICAgaGVhZGVyQWN0aW9uczogJ3AtcGFuZWwtaGVhZGVyLWFjdGlvbnMnLFxuICAgIHBjVG9nZ2xlQnV0dG9uOiAncC1wYW5lbC10b2dnbGUtYnV0dG9uJyxcbiAgICBjb250ZW50Q29udGFpbmVyOiAncC1wYW5lbC1jb250ZW50LWNvbnRhaW5lcicsXG4gICAgY29udGVudDogJ3AtcGFuZWwtY29udGVudCcsXG4gICAgZm9vdGVyOiAncC1wYW5lbC1mb290ZXInLFxufTtcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQYW5lbFN0eWxlIGV4dGVuZHMgQmFzZVN0eWxlIHtcbiAgICBuYW1lID0gJ3BhbmVsJztcblxuICAgIHRoZW1lID0gdGhlbWU7XG5cbiAgICBjbGFzc2VzID0gY2xhc3Nlcztcbn1cbiJdfQ==
76
+ /**
77
+ *
78
+ * Panel is a container with the optional content toggle feature.
79
+ *
80
+ * [Live Demo](https://www.primeng.org/panel/)
81
+ *
82
+ * @module panelstyle
83
+ *
84
+ */
85
+ export var PanelClasses;
86
+ (function (PanelClasses) {
87
+ /**
88
+ * Class name of the root element
89
+ */
90
+ PanelClasses["root"] = "p-panel";
91
+ /**
92
+ * Class name of the header element
93
+ */
94
+ PanelClasses["header"] = "p-panel-header";
95
+ /**
96
+ * Class name of the title element
97
+ */
98
+ PanelClasses["title"] = "p-panel-title";
99
+ /**
100
+ * Class name of the header actions element
101
+ */
102
+ PanelClasses["headerActions"] = "p-panel-header-actions";
103
+ /**
104
+ * Class name of the toggle button element
105
+ */
106
+ PanelClasses["pcToggleButton"] = "p-panel-toggle-button";
107
+ /**
108
+ * Class name of the content container element
109
+ */
110
+ PanelClasses["contentContainer"] = "p-panel-content-container";
111
+ /**
112
+ * Class name of the content element
113
+ */
114
+ PanelClasses["content"] = "p-panel-content";
115
+ /**
116
+ * Class name of the footer element
117
+ */
118
+ PanelClasses["footer"] = "p-panel-footer";
119
+ })(PanelClasses || (PanelClasses = {}));
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWxzdHlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wYW5lbC9zdHlsZS9wYW5lbHN0eWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFFekMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQzs7d0JBRUYsRUFBRSxDQUFDLG9CQUFvQixDQUFDO3FCQUMzQixFQUFFLENBQUMscUJBQXFCLENBQUM7a0JBQzVCLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQzthQUMzQixFQUFFLENBQUMsYUFBYSxDQUFDOzs7Ozs7O2VBT2YsRUFBRSxDQUFDLHNCQUFzQixDQUFDO2tCQUN2QixFQUFFLENBQUMseUJBQXlCLENBQUM7YUFDbEMsRUFBRSxDQUFDLG9CQUFvQixDQUFDOztvQkFFakIsRUFBRSxDQUFDLDJCQUEyQixDQUFDO29CQUMvQixFQUFFLENBQUMsMkJBQTJCLENBQUM7cUJBQzlCLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQzs7OztlQUl0QyxFQUFFLENBQUMsaUNBQWlDLENBQUM7Ozs7O21CQUtqQyxFQUFFLENBQUMseUJBQXlCLENBQUM7Ozs7ZUFJakMsRUFBRSxDQUFDLHVCQUF1QixDQUFDOzs7O2VBSTNCLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Q0FXeEMsQ0FBQztBQUVGLE1BQU0sT0FBTyxHQUFHO0lBQ1osSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDakIscUJBQXFCO1FBQ3JCO1lBQ0ksb0JBQW9CLEVBQUUsS0FBSyxDQUFDLFVBQVU7U0FDekM7S0FDSjtJQUNELE1BQU0sRUFBRSxnQkFBZ0I7SUFDeEIsS0FBSyxFQUFFLGVBQWU7SUFDdEIsYUFBYSxFQUFFLHdCQUF3QjtJQUN2QyxjQUFjLEVBQUUsdUJBQXVCO0lBQ3ZDLGdCQUFnQixFQUFFLDJCQUEyQjtJQUM3QyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLE1BQU0sRUFBRSxnQkFBZ0I7Q0FDM0IsQ0FBQztBQUVGLE1BQU0sT0FBTyxVQUFXLFNBQVEsU0FBUztJQUNyQyxJQUFJLEdBQUcsT0FBTyxDQUFDO0lBRWYsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUVkLE9BQU8sR0FBRyxPQUFPLENBQUM7dUdBTFQsVUFBVTsyR0FBVixVQUFVOzsyRkFBVixVQUFVO2tCQUR0QixVQUFVOztBQVNYOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxDQUFOLElBQVksWUFpQ1g7QUFqQ0QsV0FBWSxZQUFZO0lBQ3BCOztPQUVHO0lBQ0gsZ0NBQWdCLENBQUE7SUFDaEI7O09BRUc7SUFDSCx5Q0FBeUIsQ0FBQTtJQUN6Qjs7T0FFRztJQUNILHVDQUF1QixDQUFBO0lBQ3ZCOztPQUVHO0lBQ0gsd0RBQXdDLENBQUE7SUFDeEM7O09BRUc7SUFDSCx3REFBd0MsQ0FBQTtJQUN4Qzs7T0FFRztJQUNILDhEQUE4QyxDQUFBO0lBQzlDOztPQUVHO0lBQ0gsMkNBQTJCLENBQUE7SUFDM0I7O09BRUc7SUFDSCx5Q0FBeUIsQ0FBQTtBQUM3QixDQUFDLEVBakNXLFlBQVksS0FBWixZQUFZLFFBaUN2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VTdHlsZSB9IGZyb20gJ3ByaW1lbmcvYmFzZSc7XG5cbmNvbnN0IHRoZW1lID0gKHsgZHQgfSkgPT4gYFxuLnAtcGFuZWwge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZHQoJ3BhbmVsLmJvcmRlci5jb2xvcicpfTtcbiAgICBib3JkZXItcmFkaXVzOiAke2R0KCdwYW5lbC5ib3JkZXIucmFkaXVzJyl9O1xuICAgIGJhY2tncm91bmQ6ICR7ZHQoJ3BhbmVsLmJhY2tncm91bmQnKX07XG4gICAgY29sb3I6ICR7ZHQoJ3BhbmVsLmNvbG9yJyl9O1xufVxuXG4ucC1wYW5lbC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogJHtkdCgncGFuZWwuaGVhZGVyLnBhZGRpbmcnKX07XG4gICAgYmFja2dyb3VuZDogJHtkdCgncGFuZWwuaGVhZGVyLmJhY2tncm91bmQnKX07XG4gICAgY29sb3I6ICR7ZHQoJ3BhbmVsLmhlYWRlci5jb2xvcicpfTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHtkdCgncGFuZWwuaGVhZGVyLmJvcmRlci53aWR0aCcpfTtcbiAgICBib3JkZXItY29sb3I6ICR7ZHQoJ3BhbmVsLmhlYWRlci5ib3JkZXIuY29sb3InKX07XG4gICAgYm9yZGVyLXJhZGl1czogJHtkdCgncGFuZWwuaGVhZGVyLmJvcmRlci5yYWRpdXMnKX07XG59XG5cbi5wLXBhbmVsLXRvZ2dsZWFibGUgLnAtcGFuZWwtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAke2R0KCdwYW5lbC50b2dnbGVhYmxlLmhlYWRlci5wYWRkaW5nJyl9O1xufVxuXG4ucC1wYW5lbC10aXRsZSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC13ZWlnaHQ6ICR7ZHQoJ3BhbmVsLnRpdGxlLmZvbnQud2VpZ2h0Jyl9O1xufVxuXG4ucC1wYW5lbC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAke2R0KCdwYW5lbC5jb250ZW50LnBhZGRpbmcnKX07XG59XG5cbi5wLXBhbmVsLWZvb3RlciB7XG4gICAgcGFkZGluZzogJHtkdCgncGFuZWwuZm9vdGVyLnBhZGRpbmcnKX07XG59XG5cbi8qIEZvciBQcmltZU5HICovXG4ucC1wYW5lbC10b2dnbGVhYmxlLnAtcGFuZWwtZXhwYW5kZWQgPiAucC1wYW5lbC1jb250ZW50LWNvbnRhaW5lcjpub3QoLm5nLWFuaW1hdGluZykge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlXG59XG5cbi5wLXBhbmVsLXRvZ2dsZWFibGUgLnAtcGFuZWwtY29udGVudC1jb250YWluZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5gO1xuXG5jb25zdCBjbGFzc2VzID0ge1xuICAgIHJvb3Q6ICh7IHByb3BzIH0pID0+IFtcbiAgICAgICAgJ3AtcGFuZWwgcC1jb21wb25lbnQnLFxuICAgICAgICB7XG4gICAgICAgICAgICAncC1wYW5lbC10b2dnbGVhYmxlJzogcHJvcHMudG9nZ2xlYWJsZSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhlYWRlcjogJ3AtcGFuZWwtaGVhZGVyJyxcbiAgICB0aXRsZTogJ3AtcGFuZWwtdGl0bGUnLFxuICAgIGhlYWRlckFjdGlvbnM6ICdwLXBhbmVsLWhlYWRlci1hY3Rpb25zJyxcbiAgICBwY1RvZ2dsZUJ1dHRvbjogJ3AtcGFuZWwtdG9nZ2xlLWJ1dHRvbicsXG4gICAgY29udGVudENvbnRhaW5lcjogJ3AtcGFuZWwtY29udGVudC1jb250YWluZXInLFxuICAgIGNvbnRlbnQ6ICdwLXBhbmVsLWNvbnRlbnQnLFxuICAgIGZvb3RlcjogJ3AtcGFuZWwtZm9vdGVyJyxcbn07XG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGFuZWxTdHlsZSBleHRlbmRzIEJhc2VTdHlsZSB7XG4gICAgbmFtZSA9ICdwYW5lbCc7XG5cbiAgICB0aGVtZSA9IHRoZW1lO1xuXG4gICAgY2xhc3NlcyA9IGNsYXNzZXM7XG59XG5cbi8qKlxuICpcbiAqIFBhbmVsIGlzIGEgY29udGFpbmVyIHdpdGggdGhlIG9wdGlvbmFsIGNvbnRlbnQgdG9nZ2xlIGZlYXR1cmUuXG4gKlxuICogW0xpdmUgRGVtb10oaHR0cHM6Ly93d3cucHJpbWVuZy5vcmcvcGFuZWwvKVxuICpcbiAqIEBtb2R1bGUgcGFuZWxzdHlsZVxuICpcbiAqL1xuZXhwb3J0IGVudW0gUGFuZWxDbGFzc2VzIHtcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSByb290IGVsZW1lbnRcbiAgICAgKi9cbiAgICByb290ID0gJ3AtcGFuZWwnLFxuICAgIC8qKlxuICAgICAqIENsYXNzIG5hbWUgb2YgdGhlIGhlYWRlciBlbGVtZW50XG4gICAgICovXG4gICAgaGVhZGVyID0gJ3AtcGFuZWwtaGVhZGVyJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSB0aXRsZSBlbGVtZW50XG4gICAgICovXG4gICAgdGl0bGUgPSAncC1wYW5lbC10aXRsZScsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgaGVhZGVyIGFjdGlvbnMgZWxlbWVudFxuICAgICAqL1xuICAgIGhlYWRlckFjdGlvbnMgPSAncC1wYW5lbC1oZWFkZXItYWN0aW9ucycsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgdG9nZ2xlIGJ1dHRvbiBlbGVtZW50XG4gICAgICovXG4gICAgcGNUb2dnbGVCdXR0b24gPSAncC1wYW5lbC10b2dnbGUtYnV0dG9uJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBjb250ZW50IGNvbnRhaW5lciBlbGVtZW50XG4gICAgICovXG4gICAgY29udGVudENvbnRhaW5lciA9ICdwLXBhbmVsLWNvbnRlbnQtY29udGFpbmVyJyxcbiAgICAvKipcbiAgICAgKiBDbGFzcyBuYW1lIG9mIHRoZSBjb250ZW50IGVsZW1lbnRcbiAgICAgKi9cbiAgICBjb250ZW50ID0gJ3AtcGFuZWwtY29udGVudCcsXG4gICAgLyoqXG4gICAgICogQ2xhc3MgbmFtZSBvZiB0aGUgZm9vdGVyIGVsZW1lbnRcbiAgICAgKi9cbiAgICBmb290ZXIgPSAncC1wYW5lbC1mb290ZXInLFxufVxuIl19