primeng 11.4.4 → 12.0.1

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 (1281) hide show
  1. package/README.md +1 -1
  2. package/accordion/accordion.d.ts +10 -0
  3. package/accordion/package.json +1 -2
  4. package/accordion/primeng-accordion.d.ts +1 -0
  5. package/api/confirmationservice.d.ts +3 -0
  6. package/api/contextmenuservice.d.ts +3 -0
  7. package/api/filterservice.d.ts +3 -0
  8. package/api/menuitem.d.ts +2 -0
  9. package/api/message.d.ts +1 -1
  10. package/api/messageservice.d.ts +3 -0
  11. package/api/package.json +1 -2
  12. package/api/primeng-api.d.ts +1 -0
  13. package/api/primengconfig.d.ts +3 -0
  14. package/api/shared.d.ts +11 -0
  15. package/api/treedragdropservice.d.ts +3 -0
  16. package/autocomplete/autocomplete.d.ts +12 -0
  17. package/autocomplete/package.json +1 -2
  18. package/autocomplete/primeng-autocomplete.d.ts +1 -0
  19. package/avatar/avatar.d.ts +7 -0
  20. package/avatar/package.json +1 -2
  21. package/avatar/primeng-avatar.d.ts +1 -0
  22. package/avatargroup/avatargroup.d.ts +7 -0
  23. package/avatargroup/package.json +1 -2
  24. package/avatargroup/primeng-avatargroup.d.ts +1 -0
  25. package/badge/badge.d.ts +10 -0
  26. package/badge/package.json +1 -2
  27. package/badge/primeng-badge.d.ts +1 -0
  28. package/blockui/blockui.d.ts +7 -0
  29. package/blockui/package.json +1 -2
  30. package/blockui/primeng-blockui.d.ts +1 -0
  31. package/breadcrumb/breadcrumb.d.ts +8 -0
  32. package/breadcrumb/package.json +1 -2
  33. package/breadcrumb/primeng-breadcrumb.d.ts +1 -0
  34. package/bundles/primeng-accordion.umd.js +130 -71
  35. package/bundles/primeng-accordion.umd.js.map +1 -1
  36. package/bundles/primeng-api.umd.js +98 -52
  37. package/bundles/primeng-api.umd.js.map +1 -1
  38. package/bundles/primeng-autocomplete.umd.js +223 -118
  39. package/bundles/primeng-autocomplete.umd.js.map +1 -1
  40. package/bundles/primeng-avatar.umd.js +61 -26
  41. package/bundles/primeng-avatar.umd.js.map +1 -1
  42. package/bundles/primeng-avatargroup.umd.js +51 -21
  43. package/bundles/primeng-avatargroup.umd.js.map +1 -1
  44. package/bundles/primeng-badge.umd.js +72 -38
  45. package/bundles/primeng-badge.umd.js.map +1 -1
  46. package/bundles/primeng-blockui.umd.js +63 -30
  47. package/bundles/primeng-blockui.umd.js.map +1 -1
  48. package/bundles/primeng-breadcrumb.umd.js +59 -25
  49. package/bundles/primeng-breadcrumb.umd.js.map +1 -1
  50. package/bundles/primeng-button.umd.js +100 -51
  51. package/bundles/primeng-button.umd.js.map +1 -1
  52. package/bundles/primeng-calendar.umd.js +277 -150
  53. package/bundles/primeng-calendar.umd.js.map +1 -1
  54. package/bundles/primeng-captcha.umd.js +65 -34
  55. package/bundles/primeng-captcha.umd.js.map +1 -1
  56. package/bundles/primeng-card.umd.js +64 -29
  57. package/bundles/primeng-card.umd.js.map +1 -1
  58. package/bundles/primeng-carousel.umd.js +102 -51
  59. package/bundles/primeng-carousel.umd.js.map +1 -1
  60. package/bundles/primeng-cascadeselect.umd.js +176 -100
  61. package/bundles/primeng-cascadeselect.umd.js.map +1 -1
  62. package/bundles/primeng-chart.umd.js +41 -30
  63. package/bundles/primeng-chart.umd.js.map +1 -1
  64. package/bundles/primeng-checkbox.umd.js +88 -44
  65. package/bundles/primeng-checkbox.umd.js.map +1 -1
  66. package/bundles/primeng-chip.umd.js +64 -28
  67. package/bundles/primeng-chip.umd.js.map +1 -1
  68. package/bundles/primeng-chips.umd.js +106 -58
  69. package/bundles/primeng-chips.umd.js.map +1 -1
  70. package/bundles/primeng-codehighlighter.umd.js +42 -16
  71. package/bundles/primeng-codehighlighter.umd.js.map +1 -1
  72. package/bundles/primeng-colorpicker.umd.js +132 -69
  73. package/bundles/primeng-colorpicker.umd.js.map +1 -1
  74. package/bundles/primeng-confirmdialog.umd.js +151 -81
  75. package/bundles/primeng-confirmdialog.umd.js.map +1 -1
  76. package/bundles/primeng-confirmpopup.umd.js +96 -52
  77. package/bundles/primeng-confirmpopup.umd.js.map +1 -1
  78. package/bundles/primeng-contextmenu.umd.js +108 -60
  79. package/bundles/primeng-contextmenu.umd.js.map +1 -1
  80. package/bundles/primeng-dataview.umd.js +141 -79
  81. package/bundles/primeng-dataview.umd.js.map +1 -1
  82. package/bundles/primeng-defer.umd.js +48 -24
  83. package/bundles/primeng-defer.umd.js.map +1 -1
  84. package/bundles/primeng-dialog.umd.js +176 -89
  85. package/bundles/primeng-dialog.umd.js.map +1 -1
  86. package/bundles/primeng-divider.umd.js +57 -24
  87. package/bundles/primeng-divider.umd.js.map +1 -1
  88. package/bundles/primeng-dragdrop.umd.js +99 -54
  89. package/bundles/primeng-dragdrop.umd.js.map +1 -1
  90. package/bundles/primeng-dropdown.umd.js +255 -134
  91. package/bundles/primeng-dropdown.umd.js.map +1 -1
  92. package/bundles/primeng-dynamicdialog.umd.js +84 -55
  93. package/bundles/primeng-dynamicdialog.umd.js.map +1 -1
  94. package/bundles/primeng-editor.umd.js +61 -41
  95. package/bundles/primeng-editor.umd.js.map +1 -1
  96. package/bundles/primeng-fieldset.umd.js +97 -48
  97. package/bundles/primeng-fieldset.umd.js.map +1 -1
  98. package/bundles/primeng-fileupload.umd.js +165 -90
  99. package/bundles/primeng-fileupload.umd.js.map +1 -1
  100. package/bundles/primeng-focustrap.umd.js +50 -20
  101. package/bundles/primeng-focustrap.umd.js.map +1 -1
  102. package/bundles/primeng-fullcalendar.umd.js +54 -25
  103. package/bundles/primeng-fullcalendar.umd.js.map +1 -1
  104. package/bundles/primeng-galleria.umd.js +229 -140
  105. package/bundles/primeng-galleria.umd.js.map +1 -1
  106. package/bundles/primeng-gmap.umd.js +81 -46
  107. package/bundles/primeng-gmap.umd.js.map +1 -1
  108. package/bundles/primeng-inplace.umd.js +89 -46
  109. package/bundles/primeng-inplace.umd.js.map +1 -1
  110. package/bundles/primeng-inputmask.umd.js +115 -61
  111. package/bundles/primeng-inputmask.umd.js.map +1 -1
  112. package/bundles/primeng-inputnumber.umd.js +143 -75
  113. package/bundles/primeng-inputnumber.umd.js.map +1 -1
  114. package/bundles/primeng-inputswitch.umd.js +68 -34
  115. package/bundles/primeng-inputswitch.umd.js.map +1 -1
  116. package/bundles/primeng-inputtext.umd.js +58 -28
  117. package/bundles/primeng-inputtext.umd.js.map +1 -1
  118. package/bundles/primeng-inputtextarea.umd.js +73 -37
  119. package/bundles/primeng-inputtextarea.umd.js.map +1 -1
  120. package/bundles/primeng-keyfilter.umd.js +61 -27
  121. package/bundles/primeng-keyfilter.umd.js.map +1 -1
  122. package/bundles/primeng-knob.umd.js +84 -43
  123. package/bundles/primeng-knob.umd.js.map +1 -1
  124. package/bundles/primeng-lightbox.umd.js +70 -34
  125. package/bundles/primeng-lightbox.umd.js.map +1 -1
  126. package/bundles/primeng-listbox.umd.js +129 -68
  127. package/bundles/primeng-listbox.umd.js.map +1 -1
  128. package/bundles/primeng-megamenu.umd.js +64 -31
  129. package/bundles/primeng-megamenu.umd.js.map +1 -1
  130. package/bundles/primeng-menu.umd.js +114 -61
  131. package/bundles/primeng-menu.umd.js.map +1 -1
  132. package/bundles/primeng-menubar.umd.js +97 -56
  133. package/bundles/primeng-menubar.umd.js.map +1 -1
  134. package/bundles/primeng-message.umd.js +57 -24
  135. package/bundles/primeng-message.umd.js.map +1 -1
  136. package/bundles/primeng-messages.umd.js +101 -49
  137. package/bundles/primeng-messages.umd.js.map +1 -1
  138. package/bundles/primeng-multiselect.umd.js +251 -136
  139. package/bundles/primeng-multiselect.umd.js.map +1 -1
  140. package/bundles/primeng-orderlist.umd.js +107 -55
  141. package/bundles/primeng-orderlist.umd.js.map +1 -1
  142. package/bundles/primeng-organizationchart.umd.js +123 -69
  143. package/bundles/primeng-organizationchart.umd.js.map +1 -1
  144. package/bundles/primeng-overlaypanel.umd.js +112 -58
  145. package/bundles/primeng-overlaypanel.umd.js.map +1 -1
  146. package/bundles/primeng-paginator.umd.js +90 -42
  147. package/bundles/primeng-paginator.umd.js.map +1 -1
  148. package/bundles/primeng-panel.umd.js +116 -57
  149. package/bundles/primeng-panel.umd.js.map +1 -1
  150. package/bundles/primeng-panelmenu.umd.js +126 -69
  151. package/bundles/primeng-panelmenu.umd.js.map +1 -1
  152. package/bundles/primeng-password.umd.js +158 -89
  153. package/bundles/primeng-password.umd.js.map +1 -1
  154. package/bundles/primeng-picklist.umd.js +159 -85
  155. package/bundles/primeng-picklist.umd.js.map +1 -1
  156. package/bundles/primeng-progressbar.umd.js +59 -25
  157. package/bundles/primeng-progressbar.umd.js.map +1 -1
  158. package/bundles/primeng-progressspinner.umd.js +57 -24
  159. package/bundles/primeng-progressspinner.umd.js.map +1 -1
  160. package/bundles/primeng-radiobutton.umd.js +87 -45
  161. package/bundles/primeng-radiobutton.umd.js.map +1 -1
  162. package/bundles/primeng-rating.umd.js +75 -38
  163. package/bundles/primeng-rating.umd.js.map +1 -1
  164. package/bundles/primeng-ripple.umd.js +50 -21
  165. package/bundles/primeng-ripple.umd.js.map +1 -1
  166. package/bundles/primeng-scrollpanel.umd.js +66 -31
  167. package/bundles/primeng-scrollpanel.umd.js.map +1 -1
  168. package/bundles/primeng-scrolltop.umd.js +86 -43
  169. package/bundles/primeng-scrolltop.umd.js.map +1 -1
  170. package/bundles/primeng-selectbutton.umd.js +82 -41
  171. package/bundles/primeng-selectbutton.umd.js.map +1 -1
  172. package/bundles/primeng-sidebar.umd.js +110 -57
  173. package/bundles/primeng-sidebar.umd.js.map +1 -1
  174. package/bundles/primeng-skeleton.umd.js +63 -27
  175. package/bundles/primeng-skeleton.umd.js.map +1 -1
  176. package/bundles/primeng-slidemenu.umd.js +140 -74
  177. package/bundles/primeng-slidemenu.umd.js.map +1 -1
  178. package/bundles/primeng-slider.umd.js +86 -45
  179. package/bundles/primeng-slider.umd.js.map +1 -1
  180. package/bundles/primeng-spinner.umd.js +103 -55
  181. package/bundles/primeng-spinner.umd.js.map +1 -1
  182. package/bundles/primeng-splitbutton.umd.js +92 -40
  183. package/bundles/primeng-splitbutton.umd.js.map +1 -1
  184. package/bundles/primeng-splitter.umd.js +91 -48
  185. package/bundles/primeng-splitter.umd.js.map +1 -1
  186. package/bundles/primeng-steps.umd.js +64 -32
  187. package/bundles/primeng-steps.umd.js.map +1 -1
  188. package/bundles/primeng-styleclass.umd.js +61 -28
  189. package/bundles/primeng-styleclass.umd.js.map +1 -1
  190. package/bundles/primeng-table.umd.js +915 -626
  191. package/bundles/primeng-table.umd.js.map +1 -1
  192. package/bundles/primeng-tabmenu.umd.js +68 -27
  193. package/bundles/primeng-tabmenu.umd.js.map +1 -1
  194. package/bundles/primeng-tabview.umd.js +120 -64
  195. package/bundles/primeng-tabview.umd.js.map +1 -1
  196. package/bundles/primeng-tag.umd.js +59 -25
  197. package/bundles/primeng-tag.umd.js.map +1 -1
  198. package/bundles/primeng-terminal.umd.js +63 -32
  199. package/bundles/primeng-terminal.umd.js.map +1 -1
  200. package/bundles/primeng-tieredmenu.umd.js +121 -70
  201. package/bundles/primeng-tieredmenu.umd.js.map +1 -1
  202. package/bundles/primeng-timeline.umd.js +60 -28
  203. package/bundles/primeng-timeline.umd.js.map +1 -1
  204. package/bundles/primeng-toast.umd.js +165 -89
  205. package/bundles/primeng-toast.umd.js.map +1 -1
  206. package/bundles/primeng-togglebutton.umd.js +74 -36
  207. package/bundles/primeng-togglebutton.umd.js.map +1 -1
  208. package/bundles/primeng-toolbar.umd.js +54 -25
  209. package/bundles/primeng-toolbar.umd.js.map +1 -1
  210. package/bundles/primeng-tooltip.umd.js +68 -31
  211. package/bundles/primeng-tooltip.umd.js.map +1 -1
  212. package/bundles/primeng-tree.umd.js +191 -103
  213. package/bundles/primeng-tree.umd.js.map +1 -1
  214. package/bundles/primeng-treetable.umd.js +547 -394
  215. package/bundles/primeng-treetable.umd.js.map +1 -1
  216. package/bundles/primeng-tristatecheckbox.umd.js +73 -36
  217. package/bundles/primeng-tristatecheckbox.umd.js.map +1 -1
  218. package/bundles/primeng-virtualscroller.umd.js +91 -42
  219. package/bundles/primeng-virtualscroller.umd.js.map +1 -1
  220. package/button/button.d.ts +10 -0
  221. package/button/package.json +1 -2
  222. package/button/primeng-button.d.ts +1 -0
  223. package/calendar/calendar.d.ts +10 -0
  224. package/calendar/package.json +1 -2
  225. package/calendar/primeng-calendar.d.ts +1 -0
  226. package/captcha/captcha.d.ts +7 -0
  227. package/captcha/package.json +1 -2
  228. package/captcha/primeng-captcha.d.ts +1 -0
  229. package/card/card.d.ts +8 -0
  230. package/card/package.json +1 -2
  231. package/card/primeng-card.d.ts +1 -0
  232. package/carousel/carousel.d.ts +9 -0
  233. package/carousel/package.json +1 -2
  234. package/carousel/primeng-carousel.d.ts +1 -0
  235. package/cascadeselect/cascadeselect.d.ts +11 -0
  236. package/cascadeselect/package.json +1 -2
  237. package/cascadeselect/primeng-cascadeselect.d.ts +1 -0
  238. package/chart/chart.d.ts +7 -0
  239. package/chart/package.json +1 -2
  240. package/chart/primeng-chart.d.ts +1 -0
  241. package/checkbox/checkbox.d.ts +7 -0
  242. package/checkbox/package.json +1 -2
  243. package/checkbox/primeng-checkbox.d.ts +1 -0
  244. package/chip/chip.d.ts +7 -0
  245. package/chip/package.json +1 -2
  246. package/chip/primeng-chip.d.ts +1 -0
  247. package/chips/chips.d.ts +9 -0
  248. package/chips/package.json +1 -2
  249. package/chips/primeng-chips.d.ts +1 -0
  250. package/codehighlighter/codehighlighter.d.ts +7 -0
  251. package/codehighlighter/package.json +1 -2
  252. package/codehighlighter/primeng-codehighlighter.d.ts +1 -0
  253. package/colorpicker/colorpicker.d.ts +9 -2
  254. package/colorpicker/package.json +1 -2
  255. package/colorpicker/primeng-colorpicker.d.ts +1 -0
  256. package/confirmdialog/confirmdialog.d.ts +10 -0
  257. package/confirmdialog/package.json +1 -2
  258. package/confirmdialog/primeng-confirmdialog.d.ts +1 -0
  259. package/confirmpopup/confirmpopup.d.ts +8 -0
  260. package/confirmpopup/package.json +1 -2
  261. package/confirmpopup/primeng-confirmpopup.d.ts +1 -0
  262. package/contextmenu/contextmenu.d.ts +11 -0
  263. package/contextmenu/package.json +1 -2
  264. package/contextmenu/primeng-contextmenu.d.ts +1 -0
  265. package/dataview/dataview.d.ts +11 -0
  266. package/dataview/package.json +1 -2
  267. package/dataview/primeng-dataview.d.ts +1 -0
  268. package/defer/defer.d.ts +7 -0
  269. package/defer/package.json +1 -2
  270. package/defer/primeng-defer.d.ts +1 -0
  271. package/dialog/dialog.d.ts +11 -1
  272. package/dialog/package.json +1 -2
  273. package/dialog/primeng-dialog.d.ts +1 -0
  274. package/divider/divider.d.ts +7 -0
  275. package/divider/package.json +1 -2
  276. package/divider/primeng-divider.d.ts +1 -0
  277. package/dom/package.json +1 -2
  278. package/dom/primeng-dom.d.ts +1 -0
  279. package/dragdrop/dragdrop.d.ts +9 -0
  280. package/dragdrop/package.json +1 -2
  281. package/dragdrop/primeng-dragdrop.d.ts +1 -0
  282. package/dropdown/dropdown.d.ts +14 -0
  283. package/dropdown/package.json +1 -2
  284. package/dropdown/primeng-dropdown.d.ts +1 -0
  285. package/dynamicdialog/dialogservice.d.ts +3 -0
  286. package/dynamicdialog/dynamicdialog.d.ts +8 -0
  287. package/dynamicdialog/dynamicdialogcontent.d.ts +3 -0
  288. package/dynamicdialog/package.json +1 -2
  289. package/dynamicdialog/primeng-dynamicdialog.d.ts +1 -1
  290. package/editor/editor.d.ts +8 -0
  291. package/editor/package.json +1 -2
  292. package/editor/primeng-editor.d.ts +1 -0
  293. package/esm2015/accordion/accordion.js +131 -68
  294. package/esm2015/accordion/primeng-accordion.js +1 -1
  295. package/esm2015/accordion/public_api.js +1 -1
  296. package/esm2015/api/blockableui.js +1 -1
  297. package/esm2015/api/confirmaeventtype.js +1 -1
  298. package/esm2015/api/confirmation.js +1 -1
  299. package/esm2015/api/confirmationservice.js +7 -4
  300. package/esm2015/api/contextmenuservice.js +7 -4
  301. package/esm2015/api/filtermatchmode.js +1 -1
  302. package/esm2015/api/filtermetadata.js +1 -1
  303. package/esm2015/api/filteroperator.js +1 -1
  304. package/esm2015/api/filterservice.js +7 -5
  305. package/esm2015/api/lazyloadevent.js +1 -1
  306. package/esm2015/api/megamenuitem.js +1 -1
  307. package/esm2015/api/menuitem.js +1 -1
  308. package/esm2015/api/message.js +1 -1
  309. package/esm2015/api/messageservice.js +7 -4
  310. package/esm2015/api/primeicons.js +1 -1
  311. package/esm2015/api/primeng-api.js +1 -1
  312. package/esm2015/api/primengconfig.js +7 -5
  313. package/esm2015/api/public_api.js +1 -1
  314. package/esm2015/api/selectitem.js +1 -1
  315. package/esm2015/api/selectitemgroup.js +1 -1
  316. package/esm2015/api/shared.js +46 -34
  317. package/esm2015/api/sortevent.js +1 -1
  318. package/esm2015/api/sortmeta.js +1 -1
  319. package/esm2015/api/tablestate.js +1 -1
  320. package/esm2015/api/translation.js +1 -1
  321. package/esm2015/api/translationkeys.js +1 -1
  322. package/esm2015/api/treedragdropservice.js +7 -4
  323. package/esm2015/api/treenode.js +1 -1
  324. package/esm2015/api/treenodedragevent.js +1 -1
  325. package/esm2015/autocomplete/autocomplete.js +255 -106
  326. package/esm2015/autocomplete/primeng-autocomplete.js +1 -1
  327. package/esm2015/autocomplete/public_api.js +1 -1
  328. package/esm2015/avatar/avatar.js +47 -26
  329. package/esm2015/avatar/primeng-avatar.js +1 -1
  330. package/esm2015/avatar/public_api.js +1 -1
  331. package/esm2015/avatargroup/avatargroup.js +34 -21
  332. package/esm2015/avatargroup/primeng-avatargroup.js +1 -1
  333. package/esm2015/avatargroup/public_api.js +1 -1
  334. package/esm2015/badge/badge.js +56 -39
  335. package/esm2015/badge/primeng-badge.js +1 -1
  336. package/esm2015/badge/public_api.js +1 -1
  337. package/esm2015/blockui/blockui.js +48 -31
  338. package/esm2015/blockui/primeng-blockui.js +1 -1
  339. package/esm2015/blockui/public_api.js +1 -1
  340. package/esm2015/breadcrumb/breadcrumb.js +84 -24
  341. package/esm2015/breadcrumb/primeng-breadcrumb.js +1 -1
  342. package/esm2015/breadcrumb/public_api.js +1 -1
  343. package/esm2015/button/button.js +97 -49
  344. package/esm2015/button/primeng-button.js +1 -1
  345. package/esm2015/button/public_api.js +1 -1
  346. package/esm2015/calendar/calendar.js +367 -132
  347. package/esm2015/calendar/primeng-calendar.js +1 -1
  348. package/esm2015/calendar/public_api.js +1 -1
  349. package/esm2015/captcha/captcha.js +43 -33
  350. package/esm2015/captcha/primeng-captcha.js +1 -1
  351. package/esm2015/captcha/public_api.js +1 -1
  352. package/esm2015/card/card.js +69 -30
  353. package/esm2015/card/primeng-card.js +1 -1
  354. package/esm2015/card/public_api.js +1 -1
  355. package/esm2015/carousel/carousel.js +126 -48
  356. package/esm2015/carousel/primeng-carousel.js +1 -1
  357. package/esm2015/carousel/public_api.js +1 -1
  358. package/esm2015/cascadeselect/cascadeselect.js +195 -92
  359. package/esm2015/cascadeselect/primeng-cascadeselect.js +1 -1
  360. package/esm2015/cascadeselect/public_api.js +1 -1
  361. package/esm2015/chart/chart.js +45 -30
  362. package/esm2015/chart/primeng-chart.js +1 -1
  363. package/esm2015/chart/public_api.js +1 -1
  364. package/esm2015/checkbox/checkbox.js +79 -42
  365. package/esm2015/checkbox/primeng-checkbox.js +1 -1
  366. package/esm2015/checkbox/public_api.js +1 -1
  367. package/esm2015/chip/chip.js +50 -27
  368. package/esm2015/chip/primeng-chip.js +1 -1
  369. package/esm2015/chip/public_api.js +1 -1
  370. package/esm2015/chips/chips.js +92 -51
  371. package/esm2015/chips/primeng-chips.js +1 -1
  372. package/esm2015/chips/public_api.js +1 -1
  373. package/esm2015/codehighlighter/codehighlighter.js +22 -17
  374. package/esm2015/codehighlighter/primeng-codehighlighter.js +1 -1
  375. package/esm2015/codehighlighter/public_api.js +1 -1
  376. package/esm2015/colorpicker/colorpicker.js +129 -67
  377. package/esm2015/colorpicker/primeng-colorpicker.js +1 -1
  378. package/esm2015/colorpicker/public_api.js +1 -1
  379. package/esm2015/confirmdialog/confirmdialog.js +151 -74
  380. package/esm2015/confirmdialog/primeng-confirmdialog.js +1 -1
  381. package/esm2015/confirmdialog/public_api.js +1 -1
  382. package/esm2015/confirmpopup/confirmpopup.js +88 -50
  383. package/esm2015/confirmpopup/primeng-confirmpopup.js +1 -1
  384. package/esm2015/confirmpopup/public_api.js +1 -1
  385. package/esm2015/contextmenu/contextmenu.js +114 -58
  386. package/esm2015/contextmenu/primeng-contextmenu.js +1 -1
  387. package/esm2015/contextmenu/public_api.js +1 -1
  388. package/esm2015/dataview/dataview.js +164 -76
  389. package/esm2015/dataview/primeng-dataview.js +1 -1
  390. package/esm2015/dataview/public_api.js +1 -1
  391. package/esm2015/defer/defer.js +27 -24
  392. package/esm2015/defer/primeng-defer.js +1 -1
  393. package/esm2015/defer/public_api.js +1 -1
  394. package/esm2015/dialog/dialog.js +189 -83
  395. package/esm2015/dialog/primeng-dialog.js +1 -1
  396. package/esm2015/dialog/public_api.js +1 -1
  397. package/esm2015/divider/divider.js +42 -24
  398. package/esm2015/divider/primeng-divider.js +1 -1
  399. package/esm2015/divider/public_api.js +1 -1
  400. package/esm2015/dom/connectedoverlayscrollhandler.js +1 -1
  401. package/esm2015/dom/domhandler.js +1 -1
  402. package/esm2015/dom/primeng-dom.js +1 -1
  403. package/esm2015/dom/public_api.js +1 -1
  404. package/esm2015/dragdrop/dragdrop.js +73 -49
  405. package/esm2015/dragdrop/primeng-dragdrop.js +1 -1
  406. package/esm2015/dragdrop/public_api.js +1 -1
  407. package/esm2015/dropdown/dropdown.js +308 -126
  408. package/esm2015/dropdown/primeng-dropdown.js +1 -1
  409. package/esm2015/dropdown/public_api.js +1 -1
  410. package/esm2015/dynamicdialog/dialogservice.js +8 -10
  411. package/esm2015/dynamicdialog/dynamicdialog-config.js +1 -1
  412. package/esm2015/dynamicdialog/dynamicdialog-injector.js +1 -1
  413. package/esm2015/dynamicdialog/dynamicdialog-ref.js +1 -1
  414. package/esm2015/dynamicdialog/dynamicdialog.js +75 -41
  415. package/esm2015/dynamicdialog/dynamicdialogcontent.js +11 -10
  416. package/esm2015/dynamicdialog/primeng-dynamicdialog.js +1 -2
  417. package/esm2015/dynamicdialog/public_api.js +1 -1
  418. package/esm2015/editor/editor.js +107 -38
  419. package/esm2015/editor/primeng-editor.js +1 -1
  420. package/esm2015/editor/public_api.js +1 -1
  421. package/esm2015/fieldset/fieldset.js +98 -46
  422. package/esm2015/fieldset/primeng-fieldset.js +1 -1
  423. package/esm2015/fieldset/public_api.js +1 -1
  424. package/esm2015/fileupload/fileupload.js +179 -78
  425. package/esm2015/fileupload/primeng-fileupload.js +1 -1
  426. package/esm2015/fileupload/public_api.js +1 -1
  427. package/esm2015/focustrap/focustrap.js +30 -21
  428. package/esm2015/focustrap/primeng-focustrap.js +1 -1
  429. package/esm2015/focustrap/public_api.js +1 -1
  430. package/esm2015/fullcalendar/fullcalendar.js +34 -26
  431. package/esm2015/fullcalendar/primeng-fullcalendar.js +1 -1
  432. package/esm2015/fullcalendar/public_api.js +1 -1
  433. package/esm2015/galleria/galleria.js +284 -131
  434. package/esm2015/galleria/primeng-galleria.js +1 -1
  435. package/esm2015/galleria/public_api.js +1 -1
  436. package/esm2015/gmap/gmap.js +52 -38
  437. package/esm2015/gmap/primeng-gmap.js +1 -1
  438. package/esm2015/gmap/public_api.js +1 -1
  439. package/esm2015/inplace/inplace.js +80 -45
  440. package/esm2015/inplace/primeng-inplace.js +1 -1
  441. package/esm2015/inplace/public_api.js +1 -1
  442. package/esm2015/inputmask/inputmask.js +92 -56
  443. package/esm2015/inputmask/primeng-inputmask.js +1 -1
  444. package/esm2015/inputmask/public_api.js +1 -1
  445. package/esm2015/inputnumber/inputnumber.js +137 -70
  446. package/esm2015/inputnumber/primeng-inputnumber.js +1 -1
  447. package/esm2015/inputnumber/public_api.js +1 -1
  448. package/esm2015/inputswitch/inputswitch.js +55 -33
  449. package/esm2015/inputswitch/primeng-inputswitch.js +1 -1
  450. package/esm2015/inputswitch/public_api.js +1 -1
  451. package/esm2015/inputtext/inputtext.js +33 -27
  452. package/esm2015/inputtext/primeng-inputtext.js +1 -1
  453. package/esm2015/inputtext/public_api.js +1 -1
  454. package/esm2015/inputtextarea/inputtextarea.js +47 -35
  455. package/esm2015/inputtextarea/primeng-inputtextarea.js +1 -1
  456. package/esm2015/inputtextarea/public_api.js +1 -1
  457. package/esm2015/keyfilter/keyfilter.js +39 -26
  458. package/esm2015/keyfilter/primeng-keyfilter.js +1 -1
  459. package/esm2015/keyfilter/public_api.js +1 -1
  460. package/esm2015/knob/knob.js +71 -42
  461. package/esm2015/knob/primeng-knob.js +1 -1
  462. package/esm2015/knob/public_api.js +1 -1
  463. package/esm2015/lightbox/lightbox.js +78 -35
  464. package/esm2015/lightbox/primeng-lightbox.js +1 -1
  465. package/esm2015/lightbox/public_api.js +1 -1
  466. package/esm2015/listbox/listbox.js +167 -61
  467. package/esm2015/listbox/primeng-listbox.js +1 -1
  468. package/esm2015/listbox/public_api.js +1 -1
  469. package/esm2015/megamenu/megamenu.js +118 -32
  470. package/esm2015/megamenu/primeng-megamenu.js +1 -1
  471. package/esm2015/megamenu/public_api.js +1 -1
  472. package/esm2015/menu/menu.js +127 -60
  473. package/esm2015/menu/primeng-menu.js +1 -1
  474. package/esm2015/menu/public_api.js +1 -1
  475. package/esm2015/menubar/menubar.js +121 -56
  476. package/esm2015/menubar/primeng-menubar.js +1 -1
  477. package/esm2015/menubar/public_api.js +1 -1
  478. package/esm2015/message/message.js +51 -24
  479. package/esm2015/message/primeng-message.js +1 -1
  480. package/esm2015/message/public_api.js +1 -1
  481. package/esm2015/messages/messages.js +109 -48
  482. package/esm2015/messages/primeng-messages.js +1 -1
  483. package/esm2015/messages/public_api.js +1 -1
  484. package/esm2015/multiselect/multiselect.js +332 -125
  485. package/esm2015/multiselect/primeng-multiselect.js +1 -1
  486. package/esm2015/multiselect/public_api.js +1 -1
  487. package/esm2015/orderlist/orderlist.js +119 -49
  488. package/esm2015/orderlist/primeng-orderlist.js +1 -1
  489. package/esm2015/orderlist/public_api.js +1 -1
  490. package/esm2015/organizationchart/organizationchart.js +139 -64
  491. package/esm2015/organizationchart/primeng-organizationchart.js +1 -1
  492. package/esm2015/organizationchart/public_api.js +1 -1
  493. package/esm2015/overlaypanel/overlaypanel.js +102 -57
  494. package/esm2015/overlaypanel/primeng-overlaypanel.js +1 -1
  495. package/esm2015/overlaypanel/public_api.js +1 -1
  496. package/esm2015/paginator/paginator.js +112 -42
  497. package/esm2015/paginator/primeng-paginator.js +1 -1
  498. package/esm2015/paginator/public_api.js +1 -1
  499. package/esm2015/panel/panel.js +120 -55
  500. package/esm2015/panel/primeng-panel.js +1 -1
  501. package/esm2015/panel/public_api.js +1 -1
  502. package/esm2015/panelmenu/panelmenu.js +161 -70
  503. package/esm2015/panelmenu/primeng-panelmenu.js +1 -1
  504. package/esm2015/panelmenu/public_api.js +1 -1
  505. package/esm2015/password/password.js +156 -88
  506. package/esm2015/password/primeng-password.js +1 -1
  507. package/esm2015/password/public_api.js +1 -1
  508. package/esm2015/picklist/picklist.js +215 -80
  509. package/esm2015/picklist/primeng-picklist.js +1 -1
  510. package/esm2015/picklist/public_api.js +1 -1
  511. package/esm2015/primeng.js +1 -1
  512. package/esm2015/progressbar/primeng-progressbar.js +1 -1
  513. package/esm2015/progressbar/progressbar.js +47 -25
  514. package/esm2015/progressbar/public_api.js +1 -1
  515. package/esm2015/progressspinner/primeng-progressspinner.js +1 -1
  516. package/esm2015/progressspinner/progressspinner.js +42 -24
  517. package/esm2015/progressspinner/public_api.js +1 -1
  518. package/esm2015/public_api.js +1 -1
  519. package/esm2015/radiobutton/primeng-radiobutton.js +1 -1
  520. package/esm2015/radiobutton/public_api.js +1 -1
  521. package/esm2015/radiobutton/radiobutton.js +79 -46
  522. package/esm2015/rating/primeng-rating.js +1 -1
  523. package/esm2015/rating/public_api.js +1 -1
  524. package/esm2015/rating/rating.js +59 -36
  525. package/esm2015/ripple/primeng-ripple.js +1 -1
  526. package/esm2015/ripple/public_api.js +1 -1
  527. package/esm2015/ripple/ripple.js +28 -23
  528. package/esm2015/scrollpanel/primeng-scrollpanel.js +1 -1
  529. package/esm2015/scrollpanel/public_api.js +1 -1
  530. package/esm2015/scrollpanel/scrollpanel.js +57 -32
  531. package/esm2015/scrolltop/primeng-scrolltop.js +1 -1
  532. package/esm2015/scrolltop/public_api.js +1 -1
  533. package/esm2015/scrolltop/scrolltop.js +71 -44
  534. package/esm2015/selectbutton/primeng-selectbutton.js +1 -1
  535. package/esm2015/selectbutton/public_api.js +1 -1
  536. package/esm2015/selectbutton/selectbutton.js +75 -38
  537. package/esm2015/sidebar/primeng-sidebar.js +1 -1
  538. package/esm2015/sidebar/public_api.js +1 -1
  539. package/esm2015/sidebar/sidebar.js +103 -56
  540. package/esm2015/skeleton/primeng-skeleton.js +1 -1
  541. package/esm2015/skeleton/public_api.js +1 -1
  542. package/esm2015/skeleton/skeleton.js +45 -27
  543. package/esm2015/slidemenu/primeng-slidemenu.js +1 -1
  544. package/esm2015/slidemenu/public_api.js +1 -1
  545. package/esm2015/slidemenu/slidemenu.js +158 -73
  546. package/esm2015/slider/primeng-slider.js +1 -1
  547. package/esm2015/slider/public_api.js +1 -1
  548. package/esm2015/slider/slider.js +81 -43
  549. package/esm2015/spinner/primeng-spinner.js +1 -1
  550. package/esm2015/spinner/public_api.js +1 -1
  551. package/esm2015/spinner/spinner.js +94 -52
  552. package/esm2015/splitbutton/primeng-splitbutton.js +1 -1
  553. package/esm2015/splitbutton/public_api.js +1 -1
  554. package/esm2015/splitbutton/splitbutton.js +76 -38
  555. package/esm2015/splitter/primeng-splitter.js +1 -1
  556. package/esm2015/splitter/public_api.js +1 -1
  557. package/esm2015/splitter/splitter.js +81 -47
  558. package/esm2015/steps/primeng-steps.js +1 -1
  559. package/esm2015/steps/public_api.js +1 -1
  560. package/esm2015/steps/steps.js +69 -35
  561. package/esm2015/styleclass/primeng-styleclass.js +1 -1
  562. package/esm2015/styleclass/public_api.js +1 -1
  563. package/esm2015/styleclass/styleclass.js +41 -29
  564. package/esm2015/table/primeng-table.js +1 -1
  565. package/esm2015/table/public_api.js +1 -1
  566. package/esm2015/table/table.js +1081 -584
  567. package/esm2015/tabmenu/primeng-tabmenu.js +1 -1
  568. package/esm2015/tabmenu/public_api.js +1 -1
  569. package/esm2015/tabmenu/tabmenu.js +76 -27
  570. package/esm2015/tabview/primeng-tabview.js +1 -1
  571. package/esm2015/tabview/public_api.js +1 -1
  572. package/esm2015/tabview/tabview.js +127 -62
  573. package/esm2015/tag/primeng-tag.js +1 -1
  574. package/esm2015/tag/public_api.js +1 -1
  575. package/esm2015/tag/tag.js +44 -25
  576. package/esm2015/terminal/primeng-terminal.js +1 -1
  577. package/esm2015/terminal/public_api.js +1 -1
  578. package/esm2015/terminal/terminal.js +54 -31
  579. package/esm2015/terminal/terminalservice.js +7 -4
  580. package/esm2015/tieredmenu/primeng-tieredmenu.js +1 -1
  581. package/esm2015/tieredmenu/public_api.js +1 -1
  582. package/esm2015/tieredmenu/tieredmenu.js +133 -69
  583. package/esm2015/timeline/primeng-timeline.js +1 -1
  584. package/esm2015/timeline/public_api.js +1 -1
  585. package/esm2015/timeline/timeline.js +67 -29
  586. package/esm2015/toast/primeng-toast.js +1 -1
  587. package/esm2015/toast/public_api.js +1 -1
  588. package/esm2015/toast/toast.js +166 -87
  589. package/esm2015/togglebutton/primeng-togglebutton.js +1 -1
  590. package/esm2015/togglebutton/public_api.js +1 -1
  591. package/esm2015/togglebutton/togglebutton.js +60 -35
  592. package/esm2015/toolbar/primeng-toolbar.js +1 -1
  593. package/esm2015/toolbar/public_api.js +1 -1
  594. package/esm2015/toolbar/toolbar.js +44 -26
  595. package/esm2015/tooltip/primeng-tooltip.js +1 -1
  596. package/esm2015/tooltip/public_api.js +1 -1
  597. package/esm2015/tooltip/tooltip.js +48 -32
  598. package/esm2015/tree/primeng-tree.js +1 -1
  599. package/esm2015/tree/public_api.js +1 -1
  600. package/esm2015/tree/tree.js +278 -91
  601. package/esm2015/treetable/primeng-treetable.js +1 -1
  602. package/esm2015/treetable/public_api.js +1 -1
  603. package/esm2015/treetable/treetable.js +650 -374
  604. package/esm2015/tristatecheckbox/primeng-tristatecheckbox.js +1 -1
  605. package/esm2015/tristatecheckbox/public_api.js +1 -1
  606. package/esm2015/tristatecheckbox/tristatecheckbox.js +64 -35
  607. package/esm2015/utils/objectutils.js +1 -1
  608. package/esm2015/utils/primeng-utils.js +1 -1
  609. package/esm2015/utils/public_api.js +1 -1
  610. package/esm2015/utils/uniquecomponentid.js +1 -1
  611. package/esm2015/virtualscroller/primeng-virtualscroller.js +1 -1
  612. package/esm2015/virtualscroller/public_api.js +1 -1
  613. package/esm2015/virtualscroller/virtualscroller.js +92 -42
  614. package/fesm2015/primeng-accordion.js +130 -67
  615. package/fesm2015/primeng-accordion.js.map +1 -1
  616. package/fesm2015/primeng-api.js +77 -53
  617. package/fesm2015/primeng-api.js.map +1 -1
  618. package/fesm2015/primeng-autocomplete.js +254 -105
  619. package/fesm2015/primeng-autocomplete.js.map +1 -1
  620. package/fesm2015/primeng-avatar.js +46 -25
  621. package/fesm2015/primeng-avatar.js.map +1 -1
  622. package/fesm2015/primeng-avatargroup.js +33 -20
  623. package/fesm2015/primeng-avatargroup.js.map +1 -1
  624. package/fesm2015/primeng-badge.js +55 -38
  625. package/fesm2015/primeng-badge.js.map +1 -1
  626. package/fesm2015/primeng-blockui.js +47 -30
  627. package/fesm2015/primeng-blockui.js.map +1 -1
  628. package/fesm2015/primeng-breadcrumb.js +83 -23
  629. package/fesm2015/primeng-breadcrumb.js.map +1 -1
  630. package/fesm2015/primeng-button.js +96 -48
  631. package/fesm2015/primeng-button.js.map +1 -1
  632. package/fesm2015/primeng-calendar.js +366 -131
  633. package/fesm2015/primeng-calendar.js.map +1 -1
  634. package/fesm2015/primeng-captcha.js +42 -32
  635. package/fesm2015/primeng-captcha.js.map +1 -1
  636. package/fesm2015/primeng-card.js +68 -29
  637. package/fesm2015/primeng-card.js.map +1 -1
  638. package/fesm2015/primeng-carousel.js +125 -47
  639. package/fesm2015/primeng-carousel.js.map +1 -1
  640. package/fesm2015/primeng-cascadeselect.js +194 -91
  641. package/fesm2015/primeng-cascadeselect.js.map +1 -1
  642. package/fesm2015/primeng-chart.js +44 -29
  643. package/fesm2015/primeng-chart.js.map +1 -1
  644. package/fesm2015/primeng-checkbox.js +78 -41
  645. package/fesm2015/primeng-checkbox.js.map +1 -1
  646. package/fesm2015/primeng-chip.js +49 -26
  647. package/fesm2015/primeng-chip.js.map +1 -1
  648. package/fesm2015/primeng-chips.js +91 -50
  649. package/fesm2015/primeng-chips.js.map +1 -1
  650. package/fesm2015/primeng-codehighlighter.js +21 -16
  651. package/fesm2015/primeng-codehighlighter.js.map +1 -1
  652. package/fesm2015/primeng-colorpicker.js +128 -66
  653. package/fesm2015/primeng-colorpicker.js.map +1 -1
  654. package/fesm2015/primeng-confirmdialog.js +150 -72
  655. package/fesm2015/primeng-confirmdialog.js.map +1 -1
  656. package/fesm2015/primeng-confirmpopup.js +87 -49
  657. package/fesm2015/primeng-confirmpopup.js.map +1 -1
  658. package/fesm2015/primeng-contextmenu.js +113 -57
  659. package/fesm2015/primeng-contextmenu.js.map +1 -1
  660. package/fesm2015/primeng-dataview.js +163 -75
  661. package/fesm2015/primeng-dataview.js.map +1 -1
  662. package/fesm2015/primeng-defer.js +26 -23
  663. package/fesm2015/primeng-defer.js.map +1 -1
  664. package/fesm2015/primeng-dialog.js +188 -82
  665. package/fesm2015/primeng-dialog.js.map +1 -1
  666. package/fesm2015/primeng-divider.js +41 -23
  667. package/fesm2015/primeng-divider.js.map +1 -1
  668. package/fesm2015/primeng-dragdrop.js +72 -48
  669. package/fesm2015/primeng-dragdrop.js.map +1 -1
  670. package/fesm2015/primeng-dropdown.js +306 -124
  671. package/fesm2015/primeng-dropdown.js.map +1 -1
  672. package/fesm2015/primeng-dynamicdialog.js +86 -55
  673. package/fesm2015/primeng-dynamicdialog.js.map +1 -1
  674. package/fesm2015/primeng-editor.js +106 -37
  675. package/fesm2015/primeng-editor.js.map +1 -1
  676. package/fesm2015/primeng-fieldset.js +97 -45
  677. package/fesm2015/primeng-fieldset.js.map +1 -1
  678. package/fesm2015/primeng-fileupload.js +178 -77
  679. package/fesm2015/primeng-fileupload.js.map +1 -1
  680. package/fesm2015/primeng-focustrap.js +29 -20
  681. package/fesm2015/primeng-focustrap.js.map +1 -1
  682. package/fesm2015/primeng-fullcalendar.js +33 -25
  683. package/fesm2015/primeng-fullcalendar.js.map +1 -1
  684. package/fesm2015/primeng-galleria.js +283 -130
  685. package/fesm2015/primeng-galleria.js.map +1 -1
  686. package/fesm2015/primeng-gmap.js +51 -37
  687. package/fesm2015/primeng-gmap.js.map +1 -1
  688. package/fesm2015/primeng-inplace.js +79 -44
  689. package/fesm2015/primeng-inplace.js.map +1 -1
  690. package/fesm2015/primeng-inputmask.js +91 -55
  691. package/fesm2015/primeng-inputmask.js.map +1 -1
  692. package/fesm2015/primeng-inputnumber.js +136 -69
  693. package/fesm2015/primeng-inputnumber.js.map +1 -1
  694. package/fesm2015/primeng-inputswitch.js +54 -32
  695. package/fesm2015/primeng-inputswitch.js.map +1 -1
  696. package/fesm2015/primeng-inputtext.js +32 -26
  697. package/fesm2015/primeng-inputtext.js.map +1 -1
  698. package/fesm2015/primeng-inputtextarea.js +46 -34
  699. package/fesm2015/primeng-inputtextarea.js.map +1 -1
  700. package/fesm2015/primeng-keyfilter.js +38 -25
  701. package/fesm2015/primeng-keyfilter.js.map +1 -1
  702. package/fesm2015/primeng-knob.js +70 -41
  703. package/fesm2015/primeng-knob.js.map +1 -1
  704. package/fesm2015/primeng-lightbox.js +77 -34
  705. package/fesm2015/primeng-lightbox.js.map +1 -1
  706. package/fesm2015/primeng-listbox.js +166 -60
  707. package/fesm2015/primeng-listbox.js.map +1 -1
  708. package/fesm2015/primeng-megamenu.js +117 -31
  709. package/fesm2015/primeng-megamenu.js.map +1 -1
  710. package/fesm2015/primeng-menu.js +126 -59
  711. package/fesm2015/primeng-menu.js.map +1 -1
  712. package/fesm2015/primeng-menubar.js +120 -55
  713. package/fesm2015/primeng-menubar.js.map +1 -1
  714. package/fesm2015/primeng-message.js +50 -23
  715. package/fesm2015/primeng-message.js.map +1 -1
  716. package/fesm2015/primeng-messages.js +108 -47
  717. package/fesm2015/primeng-messages.js.map +1 -1
  718. package/fesm2015/primeng-multiselect.js +331 -124
  719. package/fesm2015/primeng-multiselect.js.map +1 -1
  720. package/fesm2015/primeng-orderlist.js +118 -48
  721. package/fesm2015/primeng-orderlist.js.map +1 -1
  722. package/fesm2015/primeng-organizationchart.js +138 -63
  723. package/fesm2015/primeng-organizationchart.js.map +1 -1
  724. package/fesm2015/primeng-overlaypanel.js +101 -56
  725. package/fesm2015/primeng-overlaypanel.js.map +1 -1
  726. package/fesm2015/primeng-paginator.js +111 -41
  727. package/fesm2015/primeng-paginator.js.map +1 -1
  728. package/fesm2015/primeng-panel.js +119 -54
  729. package/fesm2015/primeng-panel.js.map +1 -1
  730. package/fesm2015/primeng-panelmenu.js +160 -69
  731. package/fesm2015/primeng-panelmenu.js.map +1 -1
  732. package/fesm2015/primeng-password.js +155 -87
  733. package/fesm2015/primeng-password.js.map +1 -1
  734. package/fesm2015/primeng-picklist.js +214 -79
  735. package/fesm2015/primeng-picklist.js.map +1 -1
  736. package/fesm2015/primeng-progressbar.js +46 -24
  737. package/fesm2015/primeng-progressbar.js.map +1 -1
  738. package/fesm2015/primeng-progressspinner.js +41 -23
  739. package/fesm2015/primeng-progressspinner.js.map +1 -1
  740. package/fesm2015/primeng-radiobutton.js +79 -45
  741. package/fesm2015/primeng-radiobutton.js.map +1 -1
  742. package/fesm2015/primeng-rating.js +58 -35
  743. package/fesm2015/primeng-rating.js.map +1 -1
  744. package/fesm2015/primeng-ripple.js +27 -22
  745. package/fesm2015/primeng-ripple.js.map +1 -1
  746. package/fesm2015/primeng-scrollpanel.js +56 -31
  747. package/fesm2015/primeng-scrollpanel.js.map +1 -1
  748. package/fesm2015/primeng-scrolltop.js +70 -43
  749. package/fesm2015/primeng-scrolltop.js.map +1 -1
  750. package/fesm2015/primeng-selectbutton.js +74 -37
  751. package/fesm2015/primeng-selectbutton.js.map +1 -1
  752. package/fesm2015/primeng-sidebar.js +102 -55
  753. package/fesm2015/primeng-sidebar.js.map +1 -1
  754. package/fesm2015/primeng-skeleton.js +44 -26
  755. package/fesm2015/primeng-skeleton.js.map +1 -1
  756. package/fesm2015/primeng-slidemenu.js +157 -72
  757. package/fesm2015/primeng-slidemenu.js.map +1 -1
  758. package/fesm2015/primeng-slider.js +80 -42
  759. package/fesm2015/primeng-slider.js.map +1 -1
  760. package/fesm2015/primeng-spinner.js +93 -51
  761. package/fesm2015/primeng-spinner.js.map +1 -1
  762. package/fesm2015/primeng-splitbutton.js +75 -37
  763. package/fesm2015/primeng-splitbutton.js.map +1 -1
  764. package/fesm2015/primeng-splitter.js +80 -46
  765. package/fesm2015/primeng-splitter.js.map +1 -1
  766. package/fesm2015/primeng-steps.js +68 -34
  767. package/fesm2015/primeng-steps.js.map +1 -1
  768. package/fesm2015/primeng-styleclass.js +40 -28
  769. package/fesm2015/primeng-styleclass.js.map +1 -1
  770. package/fesm2015/primeng-table.js +1080 -583
  771. package/fesm2015/primeng-table.js.map +1 -1
  772. package/fesm2015/primeng-tabmenu.js +75 -26
  773. package/fesm2015/primeng-tabmenu.js.map +1 -1
  774. package/fesm2015/primeng-tabview.js +126 -61
  775. package/fesm2015/primeng-tabview.js.map +1 -1
  776. package/fesm2015/primeng-tag.js +43 -24
  777. package/fesm2015/primeng-tag.js.map +1 -1
  778. package/fesm2015/primeng-terminal.js +57 -32
  779. package/fesm2015/primeng-terminal.js.map +1 -1
  780. package/fesm2015/primeng-tieredmenu.js +132 -68
  781. package/fesm2015/primeng-tieredmenu.js.map +1 -1
  782. package/fesm2015/primeng-timeline.js +66 -28
  783. package/fesm2015/primeng-timeline.js.map +1 -1
  784. package/fesm2015/primeng-toast.js +166 -86
  785. package/fesm2015/primeng-toast.js.map +1 -1
  786. package/fesm2015/primeng-togglebutton.js +59 -34
  787. package/fesm2015/primeng-togglebutton.js.map +1 -1
  788. package/fesm2015/primeng-toolbar.js +43 -25
  789. package/fesm2015/primeng-toolbar.js.map +1 -1
  790. package/fesm2015/primeng-tooltip.js +47 -31
  791. package/fesm2015/primeng-tooltip.js.map +1 -1
  792. package/fesm2015/primeng-tree.js +277 -89
  793. package/fesm2015/primeng-tree.js.map +1 -1
  794. package/fesm2015/primeng-treetable.js +649 -373
  795. package/fesm2015/primeng-treetable.js.map +1 -1
  796. package/fesm2015/primeng-tristatecheckbox.js +63 -34
  797. package/fesm2015/primeng-tristatecheckbox.js.map +1 -1
  798. package/fesm2015/primeng-virtualscroller.js +91 -41
  799. package/fesm2015/primeng-virtualscroller.js.map +1 -1
  800. package/fieldset/fieldset.d.ts +9 -0
  801. package/fieldset/package.json +1 -2
  802. package/fieldset/primeng-fieldset.d.ts +1 -0
  803. package/fileupload/fileupload.d.ts +12 -0
  804. package/fileupload/package.json +1 -2
  805. package/fileupload/primeng-fileupload.d.ts +1 -0
  806. package/focustrap/focustrap.d.ts +7 -0
  807. package/focustrap/package.json +1 -2
  808. package/focustrap/primeng-focustrap.d.ts +1 -0
  809. package/fullcalendar/fullcalendar.d.ts +7 -0
  810. package/fullcalendar/package.json +1 -2
  811. package/fullcalendar/primeng-fullcalendar.d.ts +1 -0
  812. package/galleria/galleria.d.ts +17 -0
  813. package/galleria/package.json +1 -2
  814. package/galleria/primeng-galleria.d.ts +1 -0
  815. package/gmap/gmap.d.ts +7 -0
  816. package/gmap/package.json +1 -2
  817. package/gmap/primeng-gmap.d.ts +1 -0
  818. package/inplace/inplace.d.ts +12 -0
  819. package/inplace/package.json +1 -2
  820. package/inplace/primeng-inplace.d.ts +1 -0
  821. package/inputmask/inputmask.d.ts +8 -0
  822. package/inputmask/package.json +1 -2
  823. package/inputmask/primeng-inputmask.d.ts +1 -0
  824. package/inputnumber/inputnumber.d.ts +9 -0
  825. package/inputnumber/package.json +1 -2
  826. package/inputnumber/primeng-inputnumber.d.ts +1 -0
  827. package/inputswitch/inputswitch.d.ts +7 -0
  828. package/inputswitch/package.json +1 -2
  829. package/inputswitch/primeng-inputswitch.d.ts +1 -0
  830. package/inputtext/inputtext.d.ts +7 -0
  831. package/inputtext/package.json +1 -2
  832. package/inputtext/primeng-inputtext.d.ts +1 -0
  833. package/inputtextarea/inputtextarea.d.ts +7 -0
  834. package/inputtextarea/package.json +1 -2
  835. package/inputtextarea/primeng-inputtextarea.d.ts +1 -0
  836. package/keyfilter/keyfilter.d.ts +7 -0
  837. package/keyfilter/package.json +1 -2
  838. package/keyfilter/primeng-keyfilter.d.ts +1 -0
  839. package/knob/knob.d.ts +7 -0
  840. package/knob/package.json +1 -2
  841. package/knob/primeng-knob.d.ts +1 -0
  842. package/lightbox/lightbox.d.ts +7 -0
  843. package/lightbox/package.json +1 -2
  844. package/lightbox/primeng-lightbox.d.ts +1 -0
  845. package/listbox/listbox.d.ts +9 -0
  846. package/listbox/package.json +1 -2
  847. package/listbox/primeng-listbox.d.ts +1 -0
  848. package/megamenu/megamenu.d.ts +9 -0
  849. package/megamenu/package.json +1 -2
  850. package/megamenu/primeng-megamenu.d.ts +1 -0
  851. package/menu/menu.d.ts +11 -0
  852. package/menu/package.json +1 -2
  853. package/menu/primeng-menu.d.ts +1 -0
  854. package/menubar/menubar.d.ts +11 -0
  855. package/menubar/package.json +1 -2
  856. package/menubar/primeng-menubar.d.ts +1 -0
  857. package/message/message.d.ts +7 -0
  858. package/message/package.json +1 -2
  859. package/message/primeng-message.d.ts +1 -0
  860. package/messages/messages.d.ts +8 -0
  861. package/messages/package.json +1 -2
  862. package/messages/primeng-messages.d.ts +1 -0
  863. package/multiselect/multiselect.d.ts +13 -0
  864. package/multiselect/package.json +1 -2
  865. package/multiselect/primeng-multiselect.d.ts +1 -0
  866. package/orderlist/orderlist.d.ts +11 -0
  867. package/orderlist/package.json +1 -2
  868. package/orderlist/primeng-orderlist.d.ts +1 -0
  869. package/organizationchart/organizationchart.d.ts +10 -0
  870. package/organizationchart/package.json +1 -2
  871. package/organizationchart/primeng-organizationchart.d.ts +1 -0
  872. package/overlaypanel/overlaypanel.d.ts +9 -0
  873. package/overlaypanel/package.json +1 -2
  874. package/overlaypanel/primeng-overlaypanel.d.ts +1 -0
  875. package/package.json +6 -7
  876. package/paginator/package.json +1 -2
  877. package/paginator/paginator.d.ts +11 -0
  878. package/paginator/primeng-paginator.d.ts +1 -0
  879. package/panel/package.json +1 -2
  880. package/panel/panel.d.ts +9 -0
  881. package/panel/primeng-panel.d.ts +1 -0
  882. package/panelmenu/package.json +1 -2
  883. package/panelmenu/panelmenu.d.ts +10 -0
  884. package/panelmenu/primeng-panelmenu.d.ts +1 -0
  885. package/password/package.json +1 -2
  886. package/password/password.d.ts +11 -0
  887. package/password/primeng-password.d.ts +1 -0
  888. package/picklist/package.json +1 -2
  889. package/picklist/picklist.d.ts +11 -0
  890. package/picklist/primeng-picklist.d.ts +1 -0
  891. package/primeng.d.ts +1 -0
  892. package/progressbar/package.json +1 -2
  893. package/progressbar/primeng-progressbar.d.ts +1 -0
  894. package/progressbar/progressbar.d.ts +7 -0
  895. package/progressspinner/package.json +1 -2
  896. package/progressspinner/primeng-progressspinner.d.ts +1 -0
  897. package/progressspinner/progressspinner.d.ts +7 -0
  898. package/radiobutton/package.json +1 -2
  899. package/radiobutton/primeng-radiobutton.d.ts +1 -0
  900. package/radiobutton/radiobutton.d.ts +9 -0
  901. package/rating/package.json +1 -2
  902. package/rating/primeng-rating.d.ts +1 -0
  903. package/rating/rating.d.ts +7 -0
  904. package/resources/components/breadcrumb/breadcrumb.css +2 -1
  905. package/resources/components/fileupload/fileupload.css +5 -1
  906. package/resources/components/tabmenu/tabmenu.css +1 -1
  907. package/ripple/package.json +1 -2
  908. package/ripple/primeng-ripple.d.ts +1 -0
  909. package/ripple/ripple.d.ts +7 -0
  910. package/scrollpanel/package.json +1 -2
  911. package/scrollpanel/primeng-scrollpanel.d.ts +1 -0
  912. package/scrollpanel/scrollpanel.d.ts +7 -0
  913. package/scrolltop/package.json +1 -2
  914. package/scrolltop/primeng-scrolltop.d.ts +1 -0
  915. package/scrolltop/scrolltop.d.ts +7 -0
  916. package/selectbutton/package.json +1 -2
  917. package/selectbutton/primeng-selectbutton.d.ts +1 -0
  918. package/selectbutton/selectbutton.d.ts +8 -0
  919. package/sidebar/package.json +1 -2
  920. package/sidebar/primeng-sidebar.d.ts +1 -0
  921. package/sidebar/sidebar.d.ts +8 -0
  922. package/skeleton/package.json +1 -2
  923. package/skeleton/primeng-skeleton.d.ts +1 -0
  924. package/skeleton/skeleton.d.ts +7 -0
  925. package/slidemenu/package.json +1 -2
  926. package/slidemenu/primeng-slidemenu.d.ts +1 -0
  927. package/slidemenu/slidemenu.d.ts +10 -0
  928. package/slider/package.json +1 -2
  929. package/slider/primeng-slider.d.ts +1 -0
  930. package/slider/slider.d.ts +7 -0
  931. package/spinner/package.json +1 -2
  932. package/spinner/primeng-spinner.d.ts +1 -0
  933. package/spinner/spinner.d.ts +8 -0
  934. package/splitbutton/package.json +1 -2
  935. package/splitbutton/primeng-splitbutton.d.ts +1 -0
  936. package/splitbutton/splitbutton.d.ts +9 -0
  937. package/splitter/package.json +1 -2
  938. package/splitter/primeng-splitter.d.ts +1 -0
  939. package/splitter/splitter.d.ts +10 -1
  940. package/steps/package.json +1 -2
  941. package/steps/primeng-steps.d.ts +1 -0
  942. package/steps/steps.d.ts +8 -0
  943. package/styleclass/package.json +1 -2
  944. package/styleclass/primeng-styleclass.d.ts +1 -0
  945. package/styleclass/styleclass.d.ts +7 -0
  946. package/table/package.json +1 -2
  947. package/table/primeng-table.d.ts +1 -0
  948. package/table/table.d.ts +66 -0
  949. package/tabmenu/package.json +1 -2
  950. package/tabmenu/primeng-tabmenu.d.ts +1 -0
  951. package/tabmenu/tabmenu.d.ts +10 -0
  952. package/tabview/package.json +1 -2
  953. package/tabview/primeng-tabview.d.ts +1 -0
  954. package/tabview/tabview.d.ts +12 -0
  955. package/tag/package.json +1 -2
  956. package/tag/primeng-tag.d.ts +1 -0
  957. package/tag/tag.d.ts +7 -0
  958. package/terminal/package.json +1 -2
  959. package/terminal/primeng-terminal.d.ts +1 -0
  960. package/terminal/terminal.d.ts +8 -0
  961. package/terminal/terminalservice.d.ts +3 -0
  962. package/tieredmenu/package.json +1 -2
  963. package/tieredmenu/primeng-tieredmenu.d.ts +1 -0
  964. package/tieredmenu/tieredmenu.d.ts +11 -0
  965. package/timeline/package.json +1 -2
  966. package/timeline/primeng-timeline.d.ts +1 -0
  967. package/timeline/timeline.d.ts +8 -0
  968. package/toast/package.json +1 -2
  969. package/toast/primeng-toast.d.ts +1 -0
  970. package/toast/toast.d.ts +11 -0
  971. package/togglebutton/package.json +1 -2
  972. package/togglebutton/primeng-togglebutton.d.ts +1 -0
  973. package/togglebutton/togglebutton.d.ts +8 -0
  974. package/toolbar/package.json +1 -2
  975. package/toolbar/primeng-toolbar.d.ts +1 -0
  976. package/toolbar/toolbar.d.ts +7 -0
  977. package/tooltip/package.json +1 -2
  978. package/tooltip/primeng-tooltip.d.ts +1 -0
  979. package/tooltip/tooltip.d.ts +7 -0
  980. package/tree/package.json +1 -2
  981. package/tree/primeng-tree.d.ts +1 -0
  982. package/tree/tree.d.ts +12 -0
  983. package/treetable/package.json +1 -2
  984. package/treetable/primeng-treetable.d.ts +1 -0
  985. package/treetable/treetable.d.ts +43 -0
  986. package/tristatecheckbox/package.json +1 -2
  987. package/tristatecheckbox/primeng-tristatecheckbox.d.ts +1 -0
  988. package/tristatecheckbox/tristatecheckbox.d.ts +7 -0
  989. package/utils/package.json +1 -2
  990. package/utils/primeng-utils.d.ts +1 -0
  991. package/virtualscroller/package.json +1 -2
  992. package/virtualscroller/primeng-virtualscroller.d.ts +1 -0
  993. package/virtualscroller/virtualscroller.d.ts +9 -0
  994. package/accordion/primeng-accordion.metadata.json +0 -1
  995. package/api/primeng-api.metadata.json +0 -1
  996. package/autocomplete/primeng-autocomplete.metadata.json +0 -1
  997. package/avatar/primeng-avatar.metadata.json +0 -1
  998. package/avatargroup/primeng-avatargroup.metadata.json +0 -1
  999. package/badge/primeng-badge.metadata.json +0 -1
  1000. package/blockui/primeng-blockui.metadata.json +0 -1
  1001. package/breadcrumb/primeng-breadcrumb.metadata.json +0 -1
  1002. package/bundles/primeng-accordion.umd.min.js +0 -2
  1003. package/bundles/primeng-accordion.umd.min.js.map +0 -1
  1004. package/bundles/primeng-api.umd.min.js +0 -2
  1005. package/bundles/primeng-api.umd.min.js.map +0 -1
  1006. package/bundles/primeng-autocomplete.umd.min.js +0 -16
  1007. package/bundles/primeng-autocomplete.umd.min.js.map +0 -1
  1008. package/bundles/primeng-avatar.umd.min.js +0 -2
  1009. package/bundles/primeng-avatar.umd.min.js.map +0 -1
  1010. package/bundles/primeng-avatargroup.umd.min.js +0 -2
  1011. package/bundles/primeng-avatargroup.umd.min.js.map +0 -1
  1012. package/bundles/primeng-badge.umd.min.js +0 -2
  1013. package/bundles/primeng-badge.umd.min.js.map +0 -1
  1014. package/bundles/primeng-blockui.umd.min.js +0 -2
  1015. package/bundles/primeng-blockui.umd.min.js.map +0 -1
  1016. package/bundles/primeng-breadcrumb.umd.min.js +0 -2
  1017. package/bundles/primeng-breadcrumb.umd.min.js.map +0 -1
  1018. package/bundles/primeng-button.umd.min.js +0 -2
  1019. package/bundles/primeng-button.umd.min.js.map +0 -1
  1020. package/bundles/primeng-calendar.umd.min.js +0 -16
  1021. package/bundles/primeng-calendar.umd.min.js.map +0 -1
  1022. package/bundles/primeng-captcha.umd.min.js +0 -2
  1023. package/bundles/primeng-captcha.umd.min.js.map +0 -1
  1024. package/bundles/primeng-card.umd.min.js +0 -2
  1025. package/bundles/primeng-card.umd.min.js.map +0 -1
  1026. package/bundles/primeng-carousel.umd.min.js +0 -16
  1027. package/bundles/primeng-carousel.umd.min.js.map +0 -1
  1028. package/bundles/primeng-cascadeselect.umd.min.js +0 -16
  1029. package/bundles/primeng-cascadeselect.umd.min.js.map +0 -1
  1030. package/bundles/primeng-chart.umd.min.js +0 -2
  1031. package/bundles/primeng-chart.umd.min.js.map +0 -1
  1032. package/bundles/primeng-checkbox.umd.min.js +0 -16
  1033. package/bundles/primeng-checkbox.umd.min.js.map +0 -1
  1034. package/bundles/primeng-chip.umd.min.js +0 -2
  1035. package/bundles/primeng-chip.umd.min.js.map +0 -1
  1036. package/bundles/primeng-chips.umd.min.js +0 -16
  1037. package/bundles/primeng-chips.umd.min.js.map +0 -1
  1038. package/bundles/primeng-codehighlighter.umd.min.js +0 -2
  1039. package/bundles/primeng-codehighlighter.umd.min.js.map +0 -1
  1040. package/bundles/primeng-colorpicker.umd.min.js +0 -2
  1041. package/bundles/primeng-colorpicker.umd.min.js.map +0 -1
  1042. package/bundles/primeng-confirmdialog.umd.min.js +0 -2
  1043. package/bundles/primeng-confirmdialog.umd.min.js.map +0 -1
  1044. package/bundles/primeng-confirmpopup.umd.min.js +0 -2
  1045. package/bundles/primeng-confirmpopup.umd.min.js.map +0 -1
  1046. package/bundles/primeng-contextmenu.umd.min.js +0 -16
  1047. package/bundles/primeng-contextmenu.umd.min.js.map +0 -1
  1048. package/bundles/primeng-dataview.umd.min.js +0 -2
  1049. package/bundles/primeng-dataview.umd.min.js.map +0 -1
  1050. package/bundles/primeng-defer.umd.min.js +0 -2
  1051. package/bundles/primeng-defer.umd.min.js.map +0 -1
  1052. package/bundles/primeng-dialog.umd.min.js +0 -2
  1053. package/bundles/primeng-dialog.umd.min.js.map +0 -1
  1054. package/bundles/primeng-divider.umd.min.js +0 -2
  1055. package/bundles/primeng-divider.umd.min.js.map +0 -1
  1056. package/bundles/primeng-dom.umd.min.js +0 -16
  1057. package/bundles/primeng-dom.umd.min.js.map +0 -1
  1058. package/bundles/primeng-dragdrop.umd.min.js +0 -2
  1059. package/bundles/primeng-dragdrop.umd.min.js.map +0 -1
  1060. package/bundles/primeng-dropdown.umd.min.js +0 -16
  1061. package/bundles/primeng-dropdown.umd.min.js.map +0 -1
  1062. package/bundles/primeng-dynamicdialog.umd.min.js +0 -2
  1063. package/bundles/primeng-dynamicdialog.umd.min.js.map +0 -1
  1064. package/bundles/primeng-editor.umd.min.js +0 -2
  1065. package/bundles/primeng-editor.umd.min.js.map +0 -1
  1066. package/bundles/primeng-fieldset.umd.min.js +0 -2
  1067. package/bundles/primeng-fieldset.umd.min.js.map +0 -1
  1068. package/bundles/primeng-fileupload.umd.min.js +0 -16
  1069. package/bundles/primeng-fileupload.umd.min.js.map +0 -1
  1070. package/bundles/primeng-focustrap.umd.min.js +0 -2
  1071. package/bundles/primeng-focustrap.umd.min.js.map +0 -1
  1072. package/bundles/primeng-fullcalendar.umd.min.js +0 -2
  1073. package/bundles/primeng-fullcalendar.umd.min.js.map +0 -1
  1074. package/bundles/primeng-galleria.umd.min.js +0 -16
  1075. package/bundles/primeng-galleria.umd.min.js.map +0 -1
  1076. package/bundles/primeng-gmap.umd.min.js +0 -16
  1077. package/bundles/primeng-gmap.umd.min.js.map +0 -1
  1078. package/bundles/primeng-inplace.umd.min.js +0 -2
  1079. package/bundles/primeng-inplace.umd.min.js.map +0 -1
  1080. package/bundles/primeng-inputmask.umd.min.js +0 -2
  1081. package/bundles/primeng-inputmask.umd.min.js.map +0 -1
  1082. package/bundles/primeng-inputnumber.umd.min.js +0 -16
  1083. package/bundles/primeng-inputnumber.umd.min.js.map +0 -1
  1084. package/bundles/primeng-inputswitch.umd.min.js +0 -2
  1085. package/bundles/primeng-inputswitch.umd.min.js.map +0 -1
  1086. package/bundles/primeng-inputtext.umd.min.js +0 -2
  1087. package/bundles/primeng-inputtext.umd.min.js.map +0 -1
  1088. package/bundles/primeng-inputtextarea.umd.min.js +0 -2
  1089. package/bundles/primeng-inputtextarea.umd.min.js.map +0 -1
  1090. package/bundles/primeng-keyfilter.umd.min.js +0 -16
  1091. package/bundles/primeng-keyfilter.umd.min.js.map +0 -1
  1092. package/bundles/primeng-knob.umd.min.js +0 -2
  1093. package/bundles/primeng-knob.umd.min.js.map +0 -1
  1094. package/bundles/primeng-lightbox.umd.min.js +0 -2
  1095. package/bundles/primeng-lightbox.umd.min.js.map +0 -1
  1096. package/bundles/primeng-listbox.umd.min.js +0 -16
  1097. package/bundles/primeng-listbox.umd.min.js.map +0 -1
  1098. package/bundles/primeng-megamenu.umd.min.js +0 -2
  1099. package/bundles/primeng-megamenu.umd.min.js.map +0 -1
  1100. package/bundles/primeng-menu.umd.min.js +0 -16
  1101. package/bundles/primeng-menu.umd.min.js.map +0 -1
  1102. package/bundles/primeng-menubar.umd.min.js +0 -2
  1103. package/bundles/primeng-menubar.umd.min.js.map +0 -1
  1104. package/bundles/primeng-message.umd.min.js +0 -2
  1105. package/bundles/primeng-message.umd.min.js.map +0 -1
  1106. package/bundles/primeng-messages.umd.min.js +0 -16
  1107. package/bundles/primeng-messages.umd.min.js.map +0 -1
  1108. package/bundles/primeng-multiselect.umd.min.js +0 -16
  1109. package/bundles/primeng-multiselect.umd.min.js.map +0 -1
  1110. package/bundles/primeng-orderlist.umd.min.js +0 -16
  1111. package/bundles/primeng-orderlist.umd.min.js.map +0 -1
  1112. package/bundles/primeng-organizationchart.umd.min.js +0 -16
  1113. package/bundles/primeng-organizationchart.umd.min.js.map +0 -1
  1114. package/bundles/primeng-overlaypanel.umd.min.js +0 -2
  1115. package/bundles/primeng-overlaypanel.umd.min.js.map +0 -1
  1116. package/bundles/primeng-paginator.umd.min.js +0 -16
  1117. package/bundles/primeng-paginator.umd.min.js.map +0 -1
  1118. package/bundles/primeng-panel.umd.min.js +0 -2
  1119. package/bundles/primeng-panel.umd.min.js.map +0 -1
  1120. package/bundles/primeng-panelmenu.umd.min.js +0 -16
  1121. package/bundles/primeng-panelmenu.umd.min.js.map +0 -1
  1122. package/bundles/primeng-password.umd.min.js +0 -2
  1123. package/bundles/primeng-password.umd.min.js.map +0 -1
  1124. package/bundles/primeng-picklist.umd.min.js +0 -2
  1125. package/bundles/primeng-picklist.umd.min.js.map +0 -1
  1126. package/bundles/primeng-progressbar.umd.min.js +0 -2
  1127. package/bundles/primeng-progressbar.umd.min.js.map +0 -1
  1128. package/bundles/primeng-progressspinner.umd.min.js +0 -2
  1129. package/bundles/primeng-progressspinner.umd.min.js.map +0 -1
  1130. package/bundles/primeng-radiobutton.umd.min.js +0 -2
  1131. package/bundles/primeng-radiobutton.umd.min.js.map +0 -1
  1132. package/bundles/primeng-rating.umd.min.js +0 -2
  1133. package/bundles/primeng-rating.umd.min.js.map +0 -1
  1134. package/bundles/primeng-ripple.umd.min.js +0 -2
  1135. package/bundles/primeng-ripple.umd.min.js.map +0 -1
  1136. package/bundles/primeng-scrollpanel.umd.min.js +0 -2
  1137. package/bundles/primeng-scrollpanel.umd.min.js.map +0 -1
  1138. package/bundles/primeng-scrolltop.umd.min.js +0 -2
  1139. package/bundles/primeng-scrolltop.umd.min.js.map +0 -1
  1140. package/bundles/primeng-selectbutton.umd.min.js +0 -16
  1141. package/bundles/primeng-selectbutton.umd.min.js.map +0 -1
  1142. package/bundles/primeng-sidebar.umd.min.js +0 -2
  1143. package/bundles/primeng-sidebar.umd.min.js.map +0 -1
  1144. package/bundles/primeng-skeleton.umd.min.js +0 -2
  1145. package/bundles/primeng-skeleton.umd.min.js.map +0 -1
  1146. package/bundles/primeng-slidemenu.umd.min.js +0 -2
  1147. package/bundles/primeng-slidemenu.umd.min.js.map +0 -1
  1148. package/bundles/primeng-slider.umd.min.js +0 -2
  1149. package/bundles/primeng-slider.umd.min.js.map +0 -1
  1150. package/bundles/primeng-spinner.umd.min.js +0 -2
  1151. package/bundles/primeng-spinner.umd.min.js.map +0 -1
  1152. package/bundles/primeng-splitbutton.umd.min.js +0 -2
  1153. package/bundles/primeng-splitbutton.umd.min.js.map +0 -1
  1154. package/bundles/primeng-splitter.umd.min.js +0 -16
  1155. package/bundles/primeng-splitter.umd.min.js.map +0 -1
  1156. package/bundles/primeng-steps.umd.min.js +0 -2
  1157. package/bundles/primeng-steps.umd.min.js.map +0 -1
  1158. package/bundles/primeng-styleclass.umd.min.js +0 -2
  1159. package/bundles/primeng-styleclass.umd.min.js.map +0 -1
  1160. package/bundles/primeng-table.umd.min.js +0 -16
  1161. package/bundles/primeng-table.umd.min.js.map +0 -1
  1162. package/bundles/primeng-tabmenu.umd.min.js +0 -2
  1163. package/bundles/primeng-tabmenu.umd.min.js.map +0 -1
  1164. package/bundles/primeng-tabview.umd.min.js +0 -2
  1165. package/bundles/primeng-tabview.umd.min.js.map +0 -1
  1166. package/bundles/primeng-tag.umd.min.js +0 -2
  1167. package/bundles/primeng-tag.umd.min.js.map +0 -1
  1168. package/bundles/primeng-terminal.umd.min.js +0 -2
  1169. package/bundles/primeng-terminal.umd.min.js.map +0 -1
  1170. package/bundles/primeng-tieredmenu.umd.min.js +0 -2
  1171. package/bundles/primeng-tieredmenu.umd.min.js.map +0 -1
  1172. package/bundles/primeng-timeline.umd.min.js +0 -2
  1173. package/bundles/primeng-timeline.umd.min.js.map +0 -1
  1174. package/bundles/primeng-toast.umd.min.js +0 -16
  1175. package/bundles/primeng-toast.umd.min.js.map +0 -1
  1176. package/bundles/primeng-togglebutton.umd.min.js +0 -2
  1177. package/bundles/primeng-togglebutton.umd.min.js.map +0 -1
  1178. package/bundles/primeng-toolbar.umd.min.js +0 -2
  1179. package/bundles/primeng-toolbar.umd.min.js.map +0 -1
  1180. package/bundles/primeng-tooltip.umd.min.js +0 -2
  1181. package/bundles/primeng-tooltip.umd.min.js.map +0 -1
  1182. package/bundles/primeng-tree.umd.min.js +0 -16
  1183. package/bundles/primeng-tree.umd.min.js.map +0 -1
  1184. package/bundles/primeng-treetable.umd.min.js +0 -16
  1185. package/bundles/primeng-treetable.umd.min.js.map +0 -1
  1186. package/bundles/primeng-tristatecheckbox.umd.min.js +0 -2
  1187. package/bundles/primeng-tristatecheckbox.umd.min.js.map +0 -1
  1188. package/bundles/primeng-utils.umd.min.js +0 -2
  1189. package/bundles/primeng-utils.umd.min.js.map +0 -1
  1190. package/bundles/primeng-virtualscroller.umd.min.js +0 -2
  1191. package/bundles/primeng-virtualscroller.umd.min.js.map +0 -1
  1192. package/bundles/primeng.umd.min.js +0 -2
  1193. package/bundles/primeng.umd.min.js.map +0 -1
  1194. package/button/primeng-button.metadata.json +0 -1
  1195. package/calendar/primeng-calendar.metadata.json +0 -1
  1196. package/captcha/primeng-captcha.metadata.json +0 -1
  1197. package/card/primeng-card.metadata.json +0 -1
  1198. package/carousel/primeng-carousel.metadata.json +0 -1
  1199. package/cascadeselect/primeng-cascadeselect.metadata.json +0 -1
  1200. package/chart/primeng-chart.metadata.json +0 -1
  1201. package/checkbox/primeng-checkbox.metadata.json +0 -1
  1202. package/chip/primeng-chip.metadata.json +0 -1
  1203. package/chips/primeng-chips.metadata.json +0 -1
  1204. package/codehighlighter/primeng-codehighlighter.metadata.json +0 -1
  1205. package/colorpicker/primeng-colorpicker.metadata.json +0 -1
  1206. package/confirmdialog/primeng-confirmdialog.metadata.json +0 -1
  1207. package/confirmpopup/primeng-confirmpopup.metadata.json +0 -1
  1208. package/contextmenu/primeng-contextmenu.metadata.json +0 -1
  1209. package/dataview/primeng-dataview.metadata.json +0 -1
  1210. package/defer/primeng-defer.metadata.json +0 -1
  1211. package/dialog/primeng-dialog.metadata.json +0 -1
  1212. package/divider/primeng-divider.metadata.json +0 -1
  1213. package/dom/primeng-dom.metadata.json +0 -1
  1214. package/dragdrop/primeng-dragdrop.metadata.json +0 -1
  1215. package/dropdown/primeng-dropdown.metadata.json +0 -1
  1216. package/dynamicdialog/primeng-dynamicdialog.metadata.json +0 -1
  1217. package/editor/primeng-editor.metadata.json +0 -1
  1218. package/fieldset/primeng-fieldset.metadata.json +0 -1
  1219. package/fileupload/primeng-fileupload.metadata.json +0 -1
  1220. package/focustrap/primeng-focustrap.metadata.json +0 -1
  1221. package/fullcalendar/primeng-fullcalendar.metadata.json +0 -1
  1222. package/galleria/primeng-galleria.metadata.json +0 -1
  1223. package/gmap/primeng-gmap.metadata.json +0 -1
  1224. package/inplace/primeng-inplace.metadata.json +0 -1
  1225. package/inputmask/primeng-inputmask.metadata.json +0 -1
  1226. package/inputnumber/primeng-inputnumber.metadata.json +0 -1
  1227. package/inputswitch/primeng-inputswitch.metadata.json +0 -1
  1228. package/inputtext/primeng-inputtext.metadata.json +0 -1
  1229. package/inputtextarea/primeng-inputtextarea.metadata.json +0 -1
  1230. package/keyfilter/primeng-keyfilter.metadata.json +0 -1
  1231. package/knob/primeng-knob.metadata.json +0 -1
  1232. package/lightbox/primeng-lightbox.metadata.json +0 -1
  1233. package/listbox/primeng-listbox.metadata.json +0 -1
  1234. package/megamenu/primeng-megamenu.metadata.json +0 -1
  1235. package/menu/primeng-menu.metadata.json +0 -1
  1236. package/menubar/primeng-menubar.metadata.json +0 -1
  1237. package/message/primeng-message.metadata.json +0 -1
  1238. package/messages/primeng-messages.metadata.json +0 -1
  1239. package/multiselect/primeng-multiselect.metadata.json +0 -1
  1240. package/orderlist/primeng-orderlist.metadata.json +0 -1
  1241. package/organizationchart/primeng-organizationchart.metadata.json +0 -1
  1242. package/overlaypanel/primeng-overlaypanel.metadata.json +0 -1
  1243. package/paginator/primeng-paginator.metadata.json +0 -1
  1244. package/panel/primeng-panel.metadata.json +0 -1
  1245. package/panelmenu/primeng-panelmenu.metadata.json +0 -1
  1246. package/password/primeng-password.metadata.json +0 -1
  1247. package/picklist/primeng-picklist.metadata.json +0 -1
  1248. package/primeng.metadata.json +0 -1
  1249. package/progressbar/primeng-progressbar.metadata.json +0 -1
  1250. package/progressspinner/primeng-progressspinner.metadata.json +0 -1
  1251. package/radiobutton/primeng-radiobutton.metadata.json +0 -1
  1252. package/rating/primeng-rating.metadata.json +0 -1
  1253. package/ripple/primeng-ripple.metadata.json +0 -1
  1254. package/scrollpanel/primeng-scrollpanel.metadata.json +0 -1
  1255. package/scrolltop/primeng-scrolltop.metadata.json +0 -1
  1256. package/selectbutton/primeng-selectbutton.metadata.json +0 -1
  1257. package/sidebar/primeng-sidebar.metadata.json +0 -1
  1258. package/skeleton/primeng-skeleton.metadata.json +0 -1
  1259. package/slidemenu/primeng-slidemenu.metadata.json +0 -1
  1260. package/slider/primeng-slider.metadata.json +0 -1
  1261. package/spinner/primeng-spinner.metadata.json +0 -1
  1262. package/splitbutton/primeng-splitbutton.metadata.json +0 -1
  1263. package/splitter/primeng-splitter.metadata.json +0 -1
  1264. package/steps/primeng-steps.metadata.json +0 -1
  1265. package/styleclass/primeng-styleclass.metadata.json +0 -1
  1266. package/table/primeng-table.metadata.json +0 -1
  1267. package/tabmenu/primeng-tabmenu.metadata.json +0 -1
  1268. package/tabview/primeng-tabview.metadata.json +0 -1
  1269. package/tag/primeng-tag.metadata.json +0 -1
  1270. package/terminal/primeng-terminal.metadata.json +0 -1
  1271. package/tieredmenu/primeng-tieredmenu.metadata.json +0 -1
  1272. package/timeline/primeng-timeline.metadata.json +0 -1
  1273. package/toast/primeng-toast.metadata.json +0 -1
  1274. package/togglebutton/primeng-togglebutton.metadata.json +0 -1
  1275. package/toolbar/primeng-toolbar.metadata.json +0 -1
  1276. package/tooltip/primeng-tooltip.metadata.json +0 -1
  1277. package/tree/primeng-tree.metadata.json +0 -1
  1278. package/treetable/primeng-treetable.metadata.json +0 -1
  1279. package/tristatecheckbox/primeng-tristatecheckbox.metadata.json +0 -1
  1280. package/utils/primeng-utils.metadata.json +0 -1
  1281. package/virtualscroller/primeng-virtualscroller.metadata.json +0 -1
@@ -1,10 +1,14 @@
1
- import { NgModule, Directive, ElementRef, HostListener, Input, NgZone, ViewEncapsulation, ChangeDetectionStrategy, ContentChildren, Component, ViewChild, ChangeDetectorRef, forwardRef } from '@angular/core';
1
+ import { NgModule, Directive, HostListener, Input, ViewEncapsulation, ChangeDetectionStrategy, ContentChildren, Component, ViewChild, forwardRef } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { animate, style, transition, trigger } from '@angular/animations';
4
4
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
5
  import { DomHandler, ConnectedOverlayScrollHandler } from 'primeng/dom';
6
- import { PrimeNGConfig, PrimeTemplate, TranslationKeys } from 'primeng/api';
6
+ import { PrimeTemplate, SharedModule, TranslationKeys } from 'primeng/api';
7
7
  import { InputTextModule } from 'primeng/inputtext';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "primeng/api";
10
+ import * as i2 from "@angular/common";
11
+ import * as i3 from "primeng/inputtext";
8
12
  export class PasswordDirective {
9
13
  constructor(el, zone) {
10
14
  this.el = el;
@@ -171,32 +175,43 @@ export class PasswordDirective {
171
175
  }
172
176
  }
173
177
  }
174
- PasswordDirective.decorators = [
175
- { type: Directive, args: [{
176
- selector: '[pPassword]',
177
- host: {
178
- '[class.p-inputtext]': 'true',
179
- '[class.p-component]': 'true',
180
- '[class.p-filled]': 'filled'
181
- }
182
- },] }
183
- ];
184
- PasswordDirective.ctorParameters = () => [
185
- { type: ElementRef },
186
- { type: NgZone }
187
- ];
188
- PasswordDirective.propDecorators = {
189
- promptLabel: [{ type: Input }],
190
- weakLabel: [{ type: Input }],
191
- mediumLabel: [{ type: Input }],
192
- strongLabel: [{ type: Input }],
193
- feedback: [{ type: Input }],
194
- showPassword: [{ type: Input }],
195
- onInput: [{ type: HostListener, args: ['input', ['$event'],] }],
196
- onFocus: [{ type: HostListener, args: ['focus',] }],
197
- onBlur: [{ type: HostListener, args: ['blur',] }],
198
- onKeyup: [{ type: HostListener, args: ['keyup', ['$event'],] }]
199
- };
178
+ PasswordDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PasswordDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
179
+ PasswordDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.0.5", type: PasswordDirective, selector: "[pPassword]", inputs: { promptLabel: "promptLabel", weakLabel: "weakLabel", mediumLabel: "mediumLabel", strongLabel: "strongLabel", feedback: "feedback", showPassword: "showPassword" }, host: { listeners: { "input": "onInput($event)", "focus": "onFocus()", "blur": "onBlur()", "keyup": "onKeyup($event)" }, properties: { "class.p-inputtext": "true", "class.p-component": "true", "class.p-filled": "filled" } }, ngImport: i0 });
180
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PasswordDirective, decorators: [{
181
+ type: Directive,
182
+ args: [{
183
+ selector: '[pPassword]',
184
+ host: {
185
+ '[class.p-inputtext]': 'true',
186
+ '[class.p-component]': 'true',
187
+ '[class.p-filled]': 'filled'
188
+ }
189
+ }]
190
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { promptLabel: [{
191
+ type: Input
192
+ }], weakLabel: [{
193
+ type: Input
194
+ }], mediumLabel: [{
195
+ type: Input
196
+ }], strongLabel: [{
197
+ type: Input
198
+ }], feedback: [{
199
+ type: Input
200
+ }], showPassword: [{
201
+ type: Input
202
+ }], onInput: [{
203
+ type: HostListener,
204
+ args: ['input', ['$event']]
205
+ }], onFocus: [{
206
+ type: HostListener,
207
+ args: ['focus']
208
+ }], onBlur: [{
209
+ type: HostListener,
210
+ args: ['blur']
211
+ }], onKeyup: [{
212
+ type: HostListener,
213
+ args: ['keyup', ['$event']]
214
+ }] } });
200
215
  export const Password_VALUE_ACCESSOR = {
201
216
  provide: NG_VALUE_ACCESSOR,
202
217
  useExisting: forwardRef(() => Password),
@@ -456,15 +471,48 @@ export class Password {
456
471
  }
457
472
  }
458
473
  }
459
- Password.decorators = [
460
- { type: Component, args: [{
461
- selector: 'p-password',
462
- template: `
474
+ Password.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: Password, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
475
+ Password.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: Password, selector: "p-password", inputs: { disabled: "disabled", promptLabel: "promptLabel", mediumRegex: "mediumRegex", strongRegex: "strongRegex", weakLabel: "weakLabel", mediumLabel: "mediumLabel", strongLabel: "strongLabel", inputId: "inputId", feedback: "feedback", appendTo: "appendTo", toggleMask: "toggleMask", inputStyleClass: "inputStyleClass", styleClass: "styleClass", style: "style", inputStyle: "inputStyle", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", placeholder: "placeholder" }, host: { properties: { "class.p-inputwrapper-filled": "filled()", "class.p-inputwrapper-focus": "focused" } }, providers: [Password_VALUE_ACCESSOR], queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: `
476
+ <div [ngClass]="containerClass()" [ngStyle]="style" [class]="styleClass">
477
+ <input #input [attr.id]="inputId" pInputText [ngClass]="inputFieldClass()" [ngStyle]="inputStyle" [class]="inputStyleClass" [attr.type]="inputType()" [attr.placeholder]="placeholder" [value]="value" (input)="onInput($event)" (focus)="onFocus()"
478
+ (blur)="onBlur()" (keyup)="onKeyUp($event)" />
479
+ <i *ngIf="toggleMask" [ngClass]="toggleIconClass()" (click)="onMaskToggle()"></i>
480
+ <div #overlay *ngIf="overlayVisible" [ngClass]="'p-password-panel p-component'"
481
+ [@overlayAnimation]="{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}" (@overlayAnimation.start)="onAnimationStart($event)">
482
+ <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
483
+ <ng-container *ngIf="contentTemplate; else content">
484
+ <ng-container *ngTemplateOutlet="contentTemplate"></ng-container>
485
+ </ng-container>
486
+ <ng-template #content>
487
+ <div class="p-password-meter">
488
+ <div [ngClass]="strengthClass()" [ngStyle]="{'width': meter ? meter.width : ''}"></div>
489
+ </div>
490
+ <div className="p-password-info">{{infoText}}</div>
491
+ </ng-template>
492
+ <ng-container *ngTemplateOutlet="footerTemplate"></ng-container>
493
+ </div>
494
+ </div>
495
+ `, isInline: true, styles: [".p-password{position:relative;display:inline-flex}.p-password-panel{position:absolute}.p-password .p-password-panel{min-width:100%}.p-password-meter{height:10px}.p-password-strength{height:100%;width:0;transition:width 1s ease-in-out}.p-fluid .p-password{display:flex}"], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i3.InputText, selector: "[pInputText]" }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], animations: [
496
+ trigger('overlayAnimation', [
497
+ transition(':enter', [
498
+ style({ opacity: 0, transform: 'scaleY(0.8)' }),
499
+ animate('{{showTransitionParams}}')
500
+ ]),
501
+ transition(':leave', [
502
+ animate('{{hideTransitionParams}}', style({ opacity: 0 }))
503
+ ])
504
+ ])
505
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
506
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: Password, decorators: [{
507
+ type: Component,
508
+ args: [{
509
+ selector: 'p-password',
510
+ template: `
463
511
  <div [ngClass]="containerClass()" [ngStyle]="style" [class]="styleClass">
464
- <input #input [attr.id]="inputId" pInputText [ngClass]="inputFieldClass()" [ngStyle]="inputStyle" [class]="inputStyleClass" [attr.type]="inputType()" [attr.placeholder]="placeholder" [value]="value" (input)="onInput($event)" (focus)="onFocus()"
512
+ <input #input [attr.id]="inputId" pInputText [ngClass]="inputFieldClass()" [ngStyle]="inputStyle" [class]="inputStyleClass" [attr.type]="inputType()" [attr.placeholder]="placeholder" [value]="value" (input)="onInput($event)" (focus)="onFocus()"
465
513
  (blur)="onBlur()" (keyup)="onKeyUp($event)" />
466
514
  <i *ngIf="toggleMask" [ngClass]="toggleIconClass()" (click)="onMaskToggle()"></i>
467
- <div #overlay *ngIf="overlayVisible" [ngClass]="'p-password-panel p-component'"
515
+ <div #overlay *ngIf="overlayVisible" [ngClass]="'p-password-panel p-component'"
468
516
  [@overlayAnimation]="{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}" (@overlayAnimation.start)="onAnimationStart($event)">
469
517
  <ng-container *ngTemplateOutlet="headerTemplate"></ng-container>
470
518
  <ng-container *ngIf="contentTemplate; else content">
@@ -480,60 +528,80 @@ Password.decorators = [
480
528
  </div>
481
529
  </div>
482
530
  `,
483
- animations: [
484
- trigger('overlayAnimation', [
485
- transition(':enter', [
486
- style({ opacity: 0, transform: 'scaleY(0.8)' }),
487
- animate('{{showTransitionParams}}')
488
- ]),
489
- transition(':leave', [
490
- animate('{{hideTransitionParams}}', style({ opacity: 0 }))
531
+ animations: [
532
+ trigger('overlayAnimation', [
533
+ transition(':enter', [
534
+ style({ opacity: 0, transform: 'scaleY(0.8)' }),
535
+ animate('{{showTransitionParams}}')
536
+ ]),
537
+ transition(':leave', [
538
+ animate('{{hideTransitionParams}}', style({ opacity: 0 }))
539
+ ])
491
540
  ])
492
- ])
493
- ],
494
- host: {
495
- '[class.p-inputwrapper-filled]': 'filled()',
496
- '[class.p-inputwrapper-focus]': 'focused'
497
- },
498
- providers: [Password_VALUE_ACCESSOR],
499
- changeDetection: ChangeDetectionStrategy.OnPush,
500
- encapsulation: ViewEncapsulation.None,
501
- styles: [".p-password{display:inline-flex;position:relative}.p-password-panel{position:absolute}.p-password .p-password-panel{min-width:100%}.p-password-meter{height:10px}.p-password-strength{height:100%;transition:width 1s ease-in-out;width:0}.p-fluid .p-password{display:flex}"]
502
- },] }
503
- ];
504
- Password.ctorParameters = () => [
505
- { type: ChangeDetectorRef },
506
- { type: PrimeNGConfig }
507
- ];
508
- Password.propDecorators = {
509
- disabled: [{ type: Input }],
510
- promptLabel: [{ type: Input }],
511
- mediumRegex: [{ type: Input }],
512
- strongRegex: [{ type: Input }],
513
- weakLabel: [{ type: Input }],
514
- mediumLabel: [{ type: Input }],
515
- strongLabel: [{ type: Input }],
516
- inputId: [{ type: Input }],
517
- feedback: [{ type: Input }],
518
- appendTo: [{ type: Input }],
519
- toggleMask: [{ type: Input }],
520
- inputStyleClass: [{ type: Input }],
521
- styleClass: [{ type: Input }],
522
- style: [{ type: Input }],
523
- inputStyle: [{ type: Input }],
524
- showTransitionOptions: [{ type: Input }],
525
- hideTransitionOptions: [{ type: Input }],
526
- placeholder: [{ type: Input }],
527
- input: [{ type: ViewChild, args: ['input',] }],
528
- templates: [{ type: ContentChildren, args: [PrimeTemplate,] }]
529
- };
541
+ ],
542
+ host: {
543
+ '[class.p-inputwrapper-filled]': 'filled()',
544
+ '[class.p-inputwrapper-focus]': 'focused'
545
+ },
546
+ providers: [Password_VALUE_ACCESSOR],
547
+ styleUrls: ['./password.css'],
548
+ changeDetection: ChangeDetectionStrategy.OnPush,
549
+ encapsulation: ViewEncapsulation.None
550
+ }]
551
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.PrimeNGConfig }]; }, propDecorators: { disabled: [{
552
+ type: Input
553
+ }], promptLabel: [{
554
+ type: Input
555
+ }], mediumRegex: [{
556
+ type: Input
557
+ }], strongRegex: [{
558
+ type: Input
559
+ }], weakLabel: [{
560
+ type: Input
561
+ }], mediumLabel: [{
562
+ type: Input
563
+ }], strongLabel: [{
564
+ type: Input
565
+ }], inputId: [{
566
+ type: Input
567
+ }], feedback: [{
568
+ type: Input
569
+ }], appendTo: [{
570
+ type: Input
571
+ }], toggleMask: [{
572
+ type: Input
573
+ }], inputStyleClass: [{
574
+ type: Input
575
+ }], styleClass: [{
576
+ type: Input
577
+ }], style: [{
578
+ type: Input
579
+ }], inputStyle: [{
580
+ type: Input
581
+ }], showTransitionOptions: [{
582
+ type: Input
583
+ }], hideTransitionOptions: [{
584
+ type: Input
585
+ }], placeholder: [{
586
+ type: Input
587
+ }], input: [{
588
+ type: ViewChild,
589
+ args: ['input']
590
+ }], templates: [{
591
+ type: ContentChildren,
592
+ args: [PrimeTemplate]
593
+ }] } });
530
594
  export class PasswordModule {
531
595
  }
532
- PasswordModule.decorators = [
533
- { type: NgModule, args: [{
534
- imports: [CommonModule, InputTextModule],
535
- exports: [PasswordDirective, Password],
536
- declarations: [PasswordDirective, Password]
537
- },] }
538
- ];
539
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3Bhc3N3b3JkLyIsInNvdXJjZXMiOlsicGFzc3dvcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQUMsVUFBVSxFQUFDLFlBQVksRUFBQyxLQUFLLEVBQW1CLE1BQU0sRUFBVSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxlQUFlLEVBQTBCLFNBQVMsRUFBb0IsU0FBUyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1USxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxVQUFVLEVBQUUsNkJBQTZCLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDdEUsT0FBTyxFQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQzFFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQVVsRCxNQUFNLE9BQU8saUJBQWlCO0lBNEIxQixZQUFtQixFQUFjLEVBQVMsSUFBWTtRQUFuQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVMsU0FBSSxHQUFKLElBQUksQ0FBUTtRQTFCN0MsZ0JBQVcsR0FBVyxrQkFBa0IsQ0FBQztRQUV6QyxjQUFTLEdBQVcsTUFBTSxDQUFDO1FBRTNCLGdCQUFXLEdBQVcsUUFBUSxDQUFDO1FBRS9CLGdCQUFXLEdBQVcsUUFBUSxDQUFDO1FBRS9CLGFBQVEsR0FBWSxJQUFJLENBQUM7SUFrQnVCLENBQUM7SUFoQjFELElBQWEsWUFBWSxDQUFDLElBQWE7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O3dCQUVMLEtBQUs7MEJBRUwsS0FBSzswQkFFTCxLQUFLO3NCQUVMLEtBQUs7dUJBRUwsS0FBSzt1QkFFTCxLQUFLO3lCQUVMLEtBQUs7OEJBRUwsS0FBSzt5QkFFTCxLQUFLO29CQUVMLEtBQUs7eUJBRUwsS0FBSztvQ0FFTCxLQUFLO29DQUVMLEtBQUs7MEJBRUwsS0FBSztvQkFFTCxTQUFTLFNBQUMsT0FBTzt3QkFRakIsZUFBZSxTQUFDLGFBQWE7O0FBcVVsQyxNQUFNLE9BQU8sY0FBYzs7O1lBTDFCLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDO2dCQUN4QyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLENBQUM7Z0JBQ3RDLFlBQVksRUFBRSxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQzthQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGUsRGlyZWN0aXZlLEVsZW1lbnRSZWYsSG9zdExpc3RlbmVyLElucHV0LE9uRGVzdHJveSxEb0NoZWNrLE5nWm9uZSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiwgQ29tcG9uZW50LCBBZnRlckNvbnRlbnRJbml0LCBWaWV3Q2hpbGQsIENoYW5nZURldGVjdG9yUmVmLCBmb3J3YXJkUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHthbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge05HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0RvbUhhbmRsZXIsIENvbm5lY3RlZE92ZXJsYXlTY3JvbGxIYW5kbGVyfSBmcm9tICdwcmltZW5nL2RvbSc7XG5pbXBvcnQge1ByaW1lTkdDb25maWcsIFByaW1lVGVtcGxhdGUsIFRyYW5zbGF0aW9uS2V5c30gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHtJbnB1dFRleHRNb2R1bGV9IGZyb20gJ3ByaW1lbmcvaW5wdXR0ZXh0JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcFBhc3N3b3JkXScsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2NsYXNzLnAtaW5wdXR0ZXh0XSc6ICd0cnVlJyxcbiAgICAgICAgJ1tjbGFzcy5wLWNvbXBvbmVudF0nOiAndHJ1ZScsXG4gICAgICAgICdbY2xhc3MucC1maWxsZWRdJzogJ2ZpbGxlZCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFBhc3N3b3JkRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95LERvQ2hlY2sge1xuXG4gICAgQElucHV0KCkgcHJvbXB0TGFiZWw6IHN0cmluZyA9ICdFbnRlciBhIHBhc3N3b3JkJztcblxuICAgIEBJbnB1dCgpIHdlYWtMYWJlbDogc3RyaW5nID0gJ1dlYWsnO1xuXG4gICAgQElucHV0KCkgbWVkaXVtTGFiZWw6IHN0cmluZyA9ICdNZWRpdW0nO1xuXG4gICAgQElucHV0KCkgc3Ryb25nTGFiZWw6IHN0cmluZyA9ICdTdHJvbmcnO1xuXG4gICAgQElucHV0KCkgZmVlZGJhY2s6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgQElucHV0KCkgc2V0IHNob3dQYXNzd29yZChzaG93OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC50eXBlID0gc2hvdyA/ICd0ZXh0JyA6ICdwYXNzd29yZCc7XG4gICAgfVxuXG4gICAgcGFuZWw6IEhUTUxEaXZFbGVtZW50O1xuXG4gICAgbWV0ZXI6IGFueTtcblxuICAgIGluZm86IGFueTtcblxuICAgIGZpbGxlZDogYm9vbGVhbjtcblxuICAgIHNjcm9sbEhhbmRsZXI6IGFueTtcblxuICAgIGRvY3VtZW50UmVzaXplTGlzdGVuZXI6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbDogRWxlbWVudFJlZiwgcHVibGljIHpvbmU6IE5nWm9uZSkge31cblxuICAgIG5nRG9DaGVjaygpIHtcbiAgICAgICAgdGhpcy51cGRhdGVGaWxsZWRTdGF0ZSgpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2lucHV0JywgWyckZXZlbnQnXSlcbiAgICBvbklucHV0KGUpIHtcbiAgICAgICAgdGhpcy51cGRhdGVGaWxsZWRTdGF0ZSgpO1xuICAgIH1cblxuICAgIHVwZGF0ZUZpbGxlZFN0YXRlKCkge1xuICAgICAgICB0aGlzLmZpbGxlZCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZSAmJiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUubGVuZ3RoO1xuICAgIH1cblxuICAgIGNyZWF0ZVBhbmVsKCkge1xuICAgICAgICB0aGlzLnBhbmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRoaXMucGFuZWwuY2xhc3NOYW1lID0gJ3AtcGFzc3dvcmQtcGFuZWwgcC1jb21wb25lbnQgcC1wYXNzd29yZC1wYW5lbC1vdmVybGF5IHAtY29ubmVjdGVkLW92ZXJsYXknO1xuICAgICAgICB0aGlzLm1ldGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRoaXMubWV0ZXIuY2xhc3NOYW1lID0gJ3AtcGFzc3dvcmQtbWV0ZXInO1xuICAgICAgICB0aGlzLmluZm8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5pbmZvLmNsYXNzTmFtZSA9ICdwLXBhc3N3b3JkLWluZm8nO1xuICAgICAgICB0aGlzLmluZm8udGV4dENvbnRlbnQgPSB0aGlzLnByb21wdExhYmVsO1xuICAgICAgICB0aGlzLnBhbmVsLmFwcGVuZENoaWxkKHRoaXMubWV0ZXIpO1xuICAgICAgICB0aGlzLnBhbmVsLmFwcGVuZENoaWxkKHRoaXMuaW5mbyk7XG4gICAgICAgIHRoaXMucGFuZWwuc3R5bGUubWluV2lkdGggPSBEb21IYW5kbGVyLmdldE91dGVyV2lkdGgodGhpcy5lbC5uYXRpdmVFbGVtZW50KSArICdweCc7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5wYW5lbCk7XG4gICAgfVxuXG4gICAgc2hvd092ZXJsYXkoKSB7XG4gICAgICAgIGlmICh0aGlzLmZlZWRiYWNrKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMucGFuZWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVBhbmVsKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMucGFuZWwuc3R5bGUuekluZGV4ID0gU3RyaW5nKCsrRG9tSGFuZGxlci56aW5kZXgpO1xuICAgICAgICAgICAgdGhpcy5wYW5lbC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG5cbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgRG9tSGFuZGxlci5hZGRDbGFzcyh0aGlzLnBhbmVsLCAncC1jb25uZWN0ZWQtb3ZlcmxheS12aXNpYmxlJyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmluZERvY3VtZW50UmVzaXplTGlzdGVuZXIoKTtcbiAgICAgICAgICAgICAgICB9LCAxKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgRG9tSGFuZGxlci5hYnNvbHV0ZVBvc2l0aW9uKHRoaXMucGFuZWwsIHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoaWRlT3ZlcmxheSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZmVlZGJhY2sgJiYgdGhpcy5wYW5lbCkge1xuICAgICAgICAgICAgRG9tSGFuZGxlci5hZGRDbGFzcyh0aGlzLnBhbmVsLCAncC1jb25uZWN0ZWQtb3ZlcmxheS1oaWRkZW4nKTtcbiAgICAgICAgICAgIERvbUhhbmRsZXIucmVtb3ZlQ2xhc3ModGhpcy5wYW5lbCwgJ3AtY29ubmVjdGVkLW92ZXJsYXktdmlzaWJsZScpO1xuICAgICAgICAgICAgdGhpcy51bmJpbmRTY3JvbGxMaXN0ZW5lcigpO1xuICAgICAgICAgICAgdGhpcy51bmJpbmREb2N1bWVudFJlc2l6ZUxpc3RlbmVyKCk7XG5cbiAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgICAgICAgICB9LCAxNTApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdmb2N1cycpXG4gICAgb25Gb2N1cygpIHtcbiAgICAgICAgdGhpcy5zaG93T3ZlcmxheSgpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICAgIG9uQmx1cigpIHtcbiAgICAgICAgdGhpcy5oaWRlT3ZlcmxheSgpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleXVwJywgWyckZXZlbnQnXSlcbiAgICBvbktleXVwKGUpIHtcbiAgICAgICAgaWYgKHRoaXMuZmVlZGJhY2spIHtcbiAgICAgICAgICAgIGxldCB2YWx1ZSA9IGUudGFyZ2V0LnZhbHVlLFxuICAgICAgICAgICAgbGFiZWwgPSBudWxsLFxuICAgICAgICAgICAgbWV0ZXJQb3MgPSBudWxsO1xuXG4gICAgICAgICAgICBpZiAodmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgbGFiZWwgPSB0aGlzLnByb21wdExhYmVsO1xuICAgICAgICAgICAgICAgIG1ldGVyUG9zID0gJzBweCAwcHgnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdmFyIHNjb3JlID0gdGhpcy50ZXN0U3RyZW5ndGgodmFsdWUpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHNjb3JlIDwgMzApIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWwgPSB0aGlzLndlYWtMYWJlbDtcbiAgICAgICAgICAgICAgICAgICAgbWV0ZXJQb3MgPSAnMHB4IC0xMHB4JztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoc2NvcmUgPj0gMzAgJiYgc2NvcmUgPCA4MCkge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbCA9IHRoaXMubWVkaXVtTGFiZWw7XG4gICAgICAgICAgICAgICAgICAgIG1ldGVyUG9zID0gJzBweCAtMjBweCc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHNjb3JlID49IDgwKSB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsID0gdGhpcy5zdHJvbmdMYWJlbDtcbiAgICAgICAgICAgICAgICAgICAgbWV0ZXJQb3MgPSAnMHB4IC0zMHB4JztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5wYW5lbCB8fCAhRG9tSGFuZGxlci5oYXNDbGFzcyh0aGlzLnBhbmVsLCAncC1jb25uZWN0ZWQtb3ZlcmxheS12aXNpYmxlJykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dPdmVybGF5KCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMubWV0ZXIuc3R5bGUuYmFja2dyb3VuZFBvc2l0aW9uID0gbWV0ZXJQb3M7XG4gICAgICAgICAgICB0aGlzLmluZm8udGV4dENvbnRlbnQgPSBsYWJlbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRlc3RTdHJlbmd0aChzdHI6IHN0cmluZykge1xuICAgICAgICBsZXQgZ3JhZGU6IG51bWJlciA9IDA7XG4gICAgICAgIGxldCB2YWw6IFJlZ0V4cE1hdGNoQXJyYXk7XG5cbiAgICAgICAgdmFsID0gc3RyLm1hdGNoKCdbMC05XScpO1xuICAgICAgICBncmFkZSArPSB0aGlzLm5vcm1hbGl6ZSh2YWwgPyB2YWwubGVuZ3RoIDogMS80LCAxKSAqIDI1O1xuXG4gICAgICAgIHZhbCA9IHN0ci5tYXRjaCgnW2EtekEtWl0nKTtcbiAgICAgICAgZ3JhZGUgKz0gdGhpcy5ub3JtYWxpemUodmFsID8gdmFsLmxlbmd0aCA6IDEvMiwgMykgKiAxMDtcblxuICAgICAgICB2YWwgPSBzdHIubWF0Y2goJ1shQCMkJV4mKj9ffi4sOz1dJyk7XG4gICAgICAgIGdyYWRlICs9IHRoaXMubm9ybWFsaXplKHZhbCA/IHZhbC5sZW5ndGggOiAxLzYsIDEpICogMzU7XG5cbiAgICAgICAgdmFsID0gc3RyLm1hdGNoKCdbQS1aXScpO1xuICAgICAgICBncmFkZSArPSB0aGlzLm5vcm1hbGl6ZSh2YWwgPyB2YWwubGVuZ3RoIDogMS82LCAxKSAqIDMwO1xuXG4gICAgICAgIGdyYWRlICo9IHN0ci5sZW5ndGggLyA4O1xuXG4gICAgICAgIHJldHVybiBncmFkZSA+IDEwMCA/IDEwMCA6IGdyYWRlO1xuICAgIH1cblxuICAgIG5vcm1hbGl6ZSh4LCB5KSB7XG4gICAgICAgIGxldCBkaWZmID0geCAtIHk7XG5cbiAgICAgICAgaWYgKGRpZmYgPD0gMClcbiAgICAgICAgICAgIHJldHVybiB4IC8geTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcmV0dXJuIDEgKyAwLjUgKiAoeCAvICh4ICsgeS80KSk7XG4gICAgfVxuXG4gICAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmRpc2FibGVkO1xuICAgIH1cblxuICAgIGJpbmRTY3JvbGxMaXN0ZW5lcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNjcm9sbEhhbmRsZXIpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlciA9IG5ldyBDb25uZWN0ZWRPdmVybGF5U2Nyb2xsSGFuZGxlcih0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoRG9tSGFuZGxlci5oYXNDbGFzcyh0aGlzLnBhbmVsLCAncC1jb25uZWN0ZWQtb3ZlcmxheS12aXNpYmxlJykpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlT3ZlcmxheSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zY3JvbGxIYW5kbGVyLmJpbmRTY3JvbGxMaXN0ZW5lcigpO1xuICAgIH1cblxuICAgIHVuYmluZFNjcm9sbExpc3RlbmVyKCkge1xuICAgICAgICBpZiAodGhpcy5zY3JvbGxIYW5kbGVyKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbEhhbmRsZXIudW5iaW5kU2Nyb2xsTGlzdGVuZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJpbmREb2N1bWVudFJlc2l6ZUxpc3RlbmVyKCkge1xuICAgICAgICB0aGlzLmRvY3VtZW50UmVzaXplTGlzdGVuZXIgPSB0aGlzLm9uV2luZG93UmVzaXplLmJpbmQodGhpcyk7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLmRvY3VtZW50UmVzaXplTGlzdGVuZXIpO1xuICAgIH1cblxuICAgIHVuYmluZERvY3VtZW50UmVzaXplTGlzdGVuZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmRvY3VtZW50UmVzaXplTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLmRvY3VtZW50UmVzaXplTGlzdGVuZXIpO1xuICAgICAgICAgICAgdGhpcy5kb2N1bWVudFJlc2l6ZUxpc3RlbmVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uV2luZG93UmVzaXplKCkge1xuICAgICAgICB0aGlzLmhpZGVPdmVybGF5KCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLnBhbmVsKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zY3JvbGxIYW5kbGVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxIYW5kbGVyLmRlc3Ryb3koKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbEhhbmRsZXIgPSBudWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnVuYmluZERvY3VtZW50UmVzaXplTGlzdGVuZXIoKTtcblxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLnBhbmVsKTtcbiAgICAgICAgICAgIHRoaXMucGFuZWwgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5tZXRlciA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmluZm8gPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbmV4cG9ydCBjb25zdCBQYXNzd29yZF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBhc3N3b3JkKSxcbiAgICBtdWx0aTogdHJ1ZVxufTtcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncC1wYXNzd29yZCcsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJjb250YWluZXJDbGFzcygpXCIgW25nU3R5bGVdPVwic3R5bGVcIiBbY2xhc3NdPVwic3R5bGVDbGFzc1wiPlxuICAgICAgICAgICAgPGlucHV0ICNpbnB1dCBbYXR0ci5pZF09XCJpbnB1dElkXCIgcElucHV0VGV4dCBbbmdDbGFzc109XCJpbnB1dEZpZWxkQ2xhc3MoKVwiIFtuZ1N0eWxlXT1cImlucHV0U3R5bGVcIiBbY2xhc3NdPVwiaW5wdXRTdHlsZUNsYXNzXCIgW2F0dHIudHlwZV09XCJpbnB1dFR5cGUoKVwiIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW3ZhbHVlXT1cInZhbHVlXCIgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiIChmb2N1cyk9XCJvbkZvY3VzKClcIiBcbiAgICAgICAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiIChrZXl1cCk9XCJvbktleVVwKCRldmVudClcIiAvPlxuICAgICAgICAgICAgPGkgKm5nSWY9XCJ0b2dnbGVNYXNrXCIgW25nQ2xhc3NdPVwidG9nZ2xlSWNvbkNsYXNzKClcIiAoY2xpY2spPVwib25NYXNrVG9nZ2xlKClcIj48L2k+XG4gICAgICAgICAgICA8ZGl2ICNvdmVybGF5ICpuZ0lmPVwib3ZlcmxheVZpc2libGVcIiBbbmdDbGFzc109XCIncC1wYXNzd29yZC1wYW5lbCBwLWNvbXBvbmVudCdcIiBcbiAgICAgICAgICAgICAgICBbQG92ZXJsYXlBbmltYXRpb25dPVwie3ZhbHVlOiAndmlzaWJsZScsIHBhcmFtczoge3Nob3dUcmFuc2l0aW9uUGFyYW1zOiBzaG93VHJhbnNpdGlvbk9wdGlvbnMsIGhpZGVUcmFuc2l0aW9uUGFyYW1zOiBoaWRlVHJhbnNpdGlvbk9wdGlvbnN9fVwiIChAb3ZlcmxheUFuaW1hdGlvbi5zdGFydCk9XCJvbkFuaW1hdGlvblN0YXJ0KCRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udGVudFRlbXBsYXRlOyBlbHNlIGNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtcGFzc3dvcmQtbWV0ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwic3RyZW5ndGhDbGFzcygpXCIgW25nU3R5bGVdPVwieyd3aWR0aCc6IG1ldGVyID8gbWV0ZXIud2lkdGggOiAnJ31cIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicC1wYXNzd29yZC1pbmZvXCI+e3tpbmZvVGV4dH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9vdGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICBgLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignb3ZlcmxheUFuaW1hdGlvbicsIFtcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMCwgdHJhbnNmb3JtOiAnc2NhbGVZKDAuOCknfSksXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgne3tzaG93VHJhbnNpdGlvblBhcmFtc319JylcbiAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgICAgICAgICBhbmltYXRlKCd7e2hpZGVUcmFuc2l0aW9uUGFyYW1zfX0nLCBzdHlsZSh7IG9wYWNpdHk6IDAgfSkpXG4gICAgICAgICAgICAgIF0pXG4gICAgICAgIF0pXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3MucC1pbnB1dHdyYXBwZXItZmlsbGVkXSc6ICdmaWxsZWQoKScsXG4gICAgICAgICdbY2xhc3MucC1pbnB1dHdyYXBwZXItZm9jdXNdJzogJ2ZvY3VzZWQnXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFtQYXNzd29yZF9WQUxVRV9BQ0NFU1NPUl0sXG4gICAgc3R5bGVVcmxzOiBbJy4vcGFzc3dvcmQuY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBQYXNzd29yZCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsT25Jbml0IHtcbiAgICBcbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIHByb21wdExhYmVsOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBtZWRpdW1SZWdleDogc3RyaW5nID0gJ14oKCg/PS4qW2Etel0pKD89LipbQS1aXSkpfCgoPz0uKlthLXpdKSg/PS4qWzAtOV0pKXwoKD89LipbQS1aXSkoPz0uKlswLTldKSkpKD89Lns2LH0pJztcblxuICAgIEBJbnB1dCgpIHN0cm9uZ1JlZ2V4OiBzdHJpbmcgPSAnXig/PS4qW2Etel0pKD89LipbQS1aXSkoPz0uKlswLTldKSg/PS57OCx9KSc7XG5cbiAgICBASW5wdXQoKSB3ZWFrTGFiZWw6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIG1lZGl1bUxhYmVsOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBzdHJvbmdMYWJlbDogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgaW5wdXRJZDogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgZmVlZGJhY2s6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgQElucHV0KCkgYXBwZW5kVG86IGFueTtcblxuICAgIEBJbnB1dCgpIHRvZ2dsZU1hc2s6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBpbnB1dFN0eWxlQ2xhc3M6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHN0eWxlOiBhbnk7XG5cbiAgICBASW5wdXQoKSBpbnB1dFN0eWxlOiBhbnk7XG5cbiAgICBASW5wdXQoKSBzaG93VHJhbnNpdGlvbk9wdGlvbnM6IHN0cmluZyA9ICcuMTJzIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpJztcblxuICAgIEBJbnB1dCgpIGhpZGVUcmFuc2l0aW9uT3B0aW9uczogc3RyaW5nID0gJy4xcyBsaW5lYXInO1xuXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQ6IEVsZW1lbnRSZWY7XG5cbiAgICBjb250ZW50VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBmb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihQcmltZVRlbXBsYXRlKSB0ZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxhbnk+O1xuICAgIFxuICAgIG92ZXJsYXlWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBtZXRlcjogYW55O1xuICAgIFxuICAgIGluZm9UZXh0OiBzdHJpbmc7XG4gICAgXG4gICAgZm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIFxuICAgIHVubWFza2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBtZWRpdW1DaGVja1JlZ0V4cDogYW55O1xuXG4gICAgc3Ryb25nQ2hlY2tSZWdFeHA6IGFueTtcblxuICAgIHJlc2l6ZUxpc3RlbmVyOiBhbnk7XG5cbiAgICBvdXRzaWRlQ2xpY2tMaXN0ZW5lcjogYW55O1xuXG4gICAgc2Nyb2xsSGFuZGxlcjogYW55O1xuXG4gICAgb3ZlcmxheTogYW55O1xuXG4gICAgdmFsdWU6IHN0cmluZyA9IG51bGw7XG5cbiAgICBvbk1vZGVsQ2hhbmdlOiBGdW5jdGlvbiA9ICgpID0+IHt9O1xuXG4gICAgb25Nb2RlbFRvdWNoZWQ6IEZ1bmN0aW9uID0gKCkgPT4ge307XG5cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGNvbmZpZzogUHJpbWVOR0NvbmZpZykge31cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgc3dpdGNoKGl0ZW0uZ2V0VHlwZSgpKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnY29udGVudCc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudFRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ2hlYWRlcic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGVhZGVyVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnZm9vdGVyJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb290ZXJUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50VGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pbmZvVGV4dCA9IHRoaXMucHJvbXB0VGV4dCgpO1xuICAgICAgICB0aGlzLm1lZGl1bUNoZWNrUmVnRXhwID0gbmV3IFJlZ0V4cCh0aGlzLm1lZGl1bVJlZ2V4KTtcbiAgICAgICAgdGhpcy5zdHJvbmdDaGVja1JlZ0V4cCA9IG5ldyBSZWdFeHAodGhpcy5zdHJvbmdSZWdleCk7XG4gICAgfVxuXG4gICAgb25BbmltYXRpb25TdGFydChldmVudCkge1xuICAgICAgICBzd2l0Y2goZXZlbnQudG9TdGF0ZSkge1xuICAgICAgICAgICAgY2FzZSAndmlzaWJsZSc6XG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5ID0gZXZlbnQuZWxlbWVudDtcbiAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXkuc3R5bGUuekluZGV4ID0gU3RyaW5nKERvbUhhbmRsZXIuZ2VuZXJhdGVaSW5kZXgoKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5hcHBlbmRDb250YWluZXIoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFsaWduT3ZlcmxheSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5iaW5kUmVzaXplTGlzdGVuZXIoKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlICd2b2lkJzpcbiAgICAgICAgICAgICAgICB0aGlzLnVuYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy51bmJpbmRSZXNpemVMaXN0ZW5lcigpO1xuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheSA9IG51bGw7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFwcGVuZENvbnRhaW5lcigpIHtcbiAgICAgICAgaWYgKHRoaXMuYXBwZW5kVG8pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmFwcGVuZFRvID09PSAnYm9keScpXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLm92ZXJsYXkpO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuYXBwZW5kVG8pLmFwcGVuZENoaWxkKHRoaXMub3ZlcmxheSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhbGlnbk92ZXJsYXkoKSB7XG4gICAgICAgIGlmICh0aGlzLmFwcGVuZFRvKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXkuc3R5bGUubWluV2lkdGggPSBEb21IYW5kbGVyLmdldE91dGVyV2lkdGgodGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50KSArICdweCc7XG4gICAgICAgICAgICBEb21IYW5kbGVyLmFic29sdXRlUG9zaXRpb24odGhpcy5vdmVybGF5LCB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgRG9tSGFuZGxlci5yZWxhdGl2ZVBvc2l0aW9uKHRoaXMub3ZlcmxheSwgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uSW5wdXQoZXZlbnQpICB7XG4gICAgICAgIHRoaXMudmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICAgIHRoaXMub25Nb2RlbENoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgdGhpcy5vbk1vZGVsVG91Y2hlZCgpO1xuICAgIH1cblxuICAgIG9uRm9jdXMoKSB7XG4gICAgICAgIHRoaXMuZm9jdXNlZCA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLmZlZWRiYWNrKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQmx1cigpIHtcbiAgICAgICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLmZlZWRiYWNrKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbktleVVwKGV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmZlZWRiYWNrKSB7XG4gICAgICAgICAgICBsZXQgdmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVVJKHZhbHVlKTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLm92ZXJsYXlWaXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5VmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgdXBkYXRlVUkodmFsdWUpIHtcbiAgICAgICAgbGV0IGxhYmVsID0gbnVsbDtcbiAgICAgICAgbGV0IG1ldGVyID0gbnVsbDtcblxuICAgICAgICBzd2l0Y2ggKHRoaXMudGVzdFN0cmVuZ3RoKHZhbHVlKSkge1xuICAgICAgICAgICAgY2FzZSAxOlxuICAgICAgICAgICAgICAgIGxhYmVsID0gdGhpcy53ZWFrVGV4dCgpO1xuICAgICAgICAgICAgICAgIG1ldGVyID0ge1xuICAgICAgICAgICAgICAgICAgICBzdHJlbmd0aDogJ3dlYWsnLFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzMzLjMzJSdcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgbGFiZWwgPSB0aGlzLm1lZGl1bVRleHQoKTtcbiAgICAgICAgICAgICAgICBtZXRlciA9IHtcbiAgICAgICAgICAgICAgICAgICAgc3RyZW5ndGg6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzY2LjY2JSdcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgICAgICAgbGFiZWwgPSB0aGlzLnN0cm9uZ1RleHQoKTtcbiAgICAgICAgICAgICAgICBtZXRlciA9IHtcbiAgICAgICAgICAgICAgICAgICAgc3RyZW5ndGg6ICdzdHJvbmcnLFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBsYWJlbCA9IHRoaXMucHJvbXB0VGV4dCgpO1xuICAgICAgICAgICAgICAgIG1ldGVyID0gbnVsbDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubWV0ZXIgPSBtZXRlcjtcbiAgICAgICAgdGhpcy5pbmZvVGV4dCA9IGxhYmVsO1xuICAgIH1cblxuICAgIG9uTWFza1RvZ2dsZSgpIHtcbiAgICAgICAgdGhpcy51bm1hc2tlZCA9ICF0aGlzLnVubWFza2VkO1xuICAgIH1cblxuICAgIHRlc3RTdHJlbmd0aChzdHIpIHtcbiAgICAgICAgbGV0IGxldmVsID0gMDtcblxuICAgICAgICBpZiAodGhpcy5zdHJvbmdDaGVja1JlZ0V4cC50ZXN0KHN0cikpXG4gICAgICAgICAgICBsZXZlbCA9IDM7XG4gICAgICAgIGVsc2UgaWYgKHRoaXMubWVkaXVtQ2hlY2tSZWdFeHAudGVzdChzdHIpKVxuICAgICAgICAgICAgbGV2ZWwgPSAyO1xuICAgICAgICBlbHNlIGlmIChzdHIubGVuZ3RoKVxuICAgICAgICAgICAgbGV2ZWwgPSAxO1xuXG4gICAgICAgIHJldHVybiBsZXZlbDtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIDogdm9pZCB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gICAgICAgIGVsc2UgXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMuZmVlZGJhY2spXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVVJKHRoaXMudmFsdWUgfHwgXCJcIik7XG4gICAgICAgIFxuICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IEZ1bmN0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Nb2RlbENoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBGdW5jdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLm9uTW9kZWxUb3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZSh2YWw6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHZhbDtcbiAgICB9XG5cbiAgICBiaW5kU2Nyb2xsTGlzdGVuZXIoKSB7XG4gICAgICAgIGlmICghdGhpcy5zY3JvbGxIYW5kbGVyKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbEhhbmRsZXIgPSBuZXcgQ29ubmVjdGVkT3ZlcmxheVNjcm9sbEhhbmRsZXIodGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMub3ZlcmxheVZpc2libGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5VmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zY3JvbGxIYW5kbGVyLmJpbmRTY3JvbGxMaXN0ZW5lcigpO1xuICAgIH1cblxuICAgIGJpbmRSZXNpemVMaXN0ZW5lcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLnJlc2l6ZUxpc3RlbmVyKSB7XG4gICAgICAgICAgICB0aGlzLnJlc2l6ZUxpc3RlbmVyID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm92ZXJsYXlWaXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMucmVzaXplTGlzdGVuZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdW5iaW5kU2Nyb2xsTGlzdGVuZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLnNjcm9sbEhhbmRsZXIpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlci51bmJpbmRTY3JvbGxMaXN0ZW5lcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdW5iaW5kUmVzaXplTGlzdGVuZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLnJlc2l6ZUxpc3RlbmVyKSB7XG4gICAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZXNpemVMaXN0ZW5lcik7XG4gICAgICAgICAgICB0aGlzLnJlc2l6ZUxpc3RlbmVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVuYmluZE91dHNpZGVDbGlja0xpc3RlbmVyKCkge1xuICAgICAgICBpZiAodGhpcy5vdXRzaWRlQ2xpY2tMaXN0ZW5lcikge1xuICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLm91dHNpZGVDbGlja0xpc3RlbmVyKTtcbiAgICAgICAgICAgIHRoaXMub3V0c2lkZUNsaWNrTGlzdGVuZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29udGFpbmVyQ2xhc3MoKSB7XG4gICAgICAgIHJldHVybiB7J3AtcGFzc3dvcmQgcC1jb21wb25lbnQgcC1pbnB1dHdyYXBwZXInOiB0cnVlLFxuICAgICAgICAgICAgJ3AtaW5wdXQtaWNvbi1yaWdodCc6IHRoaXMudG9nZ2xlTWFza1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGlucHV0RmllbGRDbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIHsncC1wYXNzd29yZC1pbnB1dCcgOiB0cnVlLCBcbiAgICAgICAgICAgICAgICAncC1kaXNhYmxlZCc6IHRoaXMuZGlzYWJsZWRcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICB0b2dnbGVJY29uQ2xhc3MoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVubWFza2VkID8gJ3BpIHBpLWV5ZS1zbGFzaCcgOiAncGkgcGktZXllJztcbiAgICB9XG5cbiAgICBzdHJlbmd0aENsYXNzKCkge1xuICAgICAgICByZXR1cm4gYHAtcGFzc3dvcmQtc3RyZW5ndGggJHt0aGlzLm1ldGVyID8gdGhpcy5tZXRlci5zdHJlbmd0aCA6ICcnfWA7XG4gICAgfVxuXG4gICAgZmlsbGVkKCkge1xuICAgICAgICByZXR1cm4gKHRoaXMudmFsdWUgIT0gbnVsbCAmJiB0aGlzLnZhbHVlLnRvU3RyaW5nKCkubGVuZ3RoID4gMClcbiAgICB9XG5cbiAgICBwcm9tcHRUZXh0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9tcHRMYWJlbCB8fCB0aGlzLmdldFRyYW5zbGF0aW9uKFRyYW5zbGF0aW9uS2V5cy5QQVNTV09SRF9QUk9NUFQpO1xuICAgIH1cblxuICAgIHdlYWtUZXh0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy53ZWFrTGFiZWwgfHwgdGhpcy5nZXRUcmFuc2xhdGlvbihUcmFuc2xhdGlvbktleXMuV0VBSyk7XG4gICAgfVxuXG4gICAgbWVkaXVtVGV4dCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWVkaXVtTGFiZWwgfHwgdGhpcy5nZXRUcmFuc2xhdGlvbihUcmFuc2xhdGlvbktleXMuTUVESVVNKTtcbiAgICB9XG5cbiAgICBzdHJvbmdUZXh0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdHJvbmdMYWJlbCB8fCB0aGlzLmdldFRyYW5zbGF0aW9uKFRyYW5zbGF0aW9uS2V5cy5TVFJPTkcpO1xuICAgIH1cblxuICAgIHJlc3RvcmVBcHBlbmQoKSB7XG4gICAgICAgIGlmICh0aGlzLm92ZXJsYXkgJiYgdGhpcy5hcHBlbmRUbykge1xuICAgICAgICAgICAgaWYgKHRoaXMuYXBwZW5kVG8gPT09ICdib2R5JylcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRoaXMub3ZlcmxheSk7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5hcHBlbmRUbykucmVtb3ZlQ2hpbGQodGhpcy5vdmVybGF5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0VHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudW5tYXNrZWQgPyAndGV4dCcgOiAncGFzc3dvcmQnO1xuICAgIH1cblxuICAgIGdldFRyYW5zbGF0aW9uKG9wdGlvbjogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5nZXRUcmFuc2xhdGlvbihvcHRpb24pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnJlc3RvcmVBcHBlbmQoKTtcbiAgICAgICAgdGhpcy51bmJpbmRSZXNpemVMaXN0ZW5lcigpO1xuICAgICAgICBpZiAodGhpcy5zY3JvbGxIYW5kbGVyKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbEhhbmRsZXIuZGVzdHJveSgpO1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxIYW5kbGVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJbnB1dFRleHRNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtQYXNzd29yZERpcmVjdGl2ZSwgUGFzc3dvcmRdLFxuICAgIGRlY2xhcmF0aW9uczogW1Bhc3N3b3JkRGlyZWN0aXZlLCBQYXNzd29yZF1cbn0pXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRNb2R1bGUgeyB9XG4iXX0=
596
+ PasswordModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PasswordModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
597
+ PasswordModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PasswordModule, declarations: [PasswordDirective, Password], imports: [CommonModule, InputTextModule], exports: [PasswordDirective, Password, SharedModule] });
598
+ PasswordModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PasswordModule, imports: [[CommonModule, InputTextModule], SharedModule] });
599
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: PasswordModule, decorators: [{
600
+ type: NgModule,
601
+ args: [{
602
+ imports: [CommonModule, InputTextModule],
603
+ exports: [PasswordDirective, Password, SharedModule],
604
+ declarations: [PasswordDirective, Password]
605
+ }]
606
+ }] });
607
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvcGFzc3dvcmQvcGFzc3dvcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxTQUFTLEVBQVksWUFBWSxFQUFDLEtBQUssRUFBbUMsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsZUFBZSxFQUEwQixTQUFTLEVBQW9CLFNBQVMsRUFBcUIsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVRLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFDLFVBQVUsRUFBRSw2QkFBNkIsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUN0RSxPQUFPLEVBQWdCLGFBQWEsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7QUFVbEQsTUFBTSxPQUFPLGlCQUFpQjtJQTRCMUIsWUFBbUIsRUFBYyxFQUFTLElBQVk7UUFBbkMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFTLFNBQUksR0FBSixJQUFJLENBQVE7UUExQjdDLGdCQUFXLEdBQVcsa0JBQWtCLENBQUM7UUFFekMsY0FBUyxHQUFXLE1BQU0sQ0FBQztRQUUzQixnQkFBVyxHQUFXLFFBQVEsQ0FBQztRQUUvQixnQkFBVyxHQUFXLFFBQVEsQ0FBQztRQUUvQixhQUFRLEdBQVksSUFBSSxDQUFDO0lBa0J1QixDQUFDO0lBaEIxRCxJQUFhLFlBQVksQ0FBQyxJQUFhO1FBQ25DLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0lBQzVELENBQUM7SUFnQkQsU0FBUztRQUNMLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFHRCxPQUFPLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxpQkFBaUI7UUFDYixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQ3BGLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLDJFQUEyRSxDQUFDO1FBQ25HLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQztRQUMxQyxJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsaUJBQWlCLENBQUM7UUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUN6QyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ25GLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNiLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUN0QjtZQUVELElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztZQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtnQkFFN0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDWixVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztvQkFDL0QsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7b0JBQzFCLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO2dCQUN0QyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDVixDQUFDLENBQUMsQ0FBQztZQUNILFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDbEU7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQzdCLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO1lBQzlELFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO1lBQ2xFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1lBRXBDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO2dCQUM3QixVQUFVLENBQUMsR0FBRyxFQUFFO29CQUNaLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDdkIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ1osQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFHRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFHRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFHRCxPQUFPLENBQUMsQ0FBQztRQUNMLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUMxQixLQUFLLEdBQUcsSUFBSSxFQUNaLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFFaEIsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDcEIsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQ3pCLFFBQVEsR0FBRyxTQUFTLENBQUM7YUFDeEI7aUJBQ0k7Z0JBQ0QsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFFckMsSUFBSSxLQUFLLEdBQUcsRUFBRSxFQUFFO29CQUNaLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO29CQUN2QixRQUFRLEdBQUcsV0FBVyxDQUFDO2lCQUMxQjtxQkFDSSxJQUFJLEtBQUssSUFBSSxFQUFFLElBQUksS0FBSyxHQUFHLEVBQUUsRUFBRTtvQkFDaEMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7b0JBQ3pCLFFBQVEsR0FBRyxXQUFXLENBQUM7aUJBQzFCO3FCQUNJLElBQUksS0FBSyxJQUFJLEVBQUUsRUFBRTtvQkFDbEIsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7b0JBQ3pCLFFBQVEsR0FBRyxXQUFXLENBQUM7aUJBQzFCO2FBQ0o7WUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSw2QkFBNkIsQ0FBQyxFQUFFO2dCQUNoRixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDdEI7WUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsR0FBRyxRQUFRLENBQUM7WUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1NBQ2pDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxHQUFXO1FBQ3BCLElBQUksS0FBSyxHQUFXLENBQUMsQ0FBQztRQUN0QixJQUFJLEdBQXFCLENBQUM7UUFFMUIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekIsS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUV4RCxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1QixLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRXhELEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDckMsS0FBSyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUV4RCxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QixLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRXhELEtBQUssSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUV4QixPQUFPLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDVixJQUFJLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWpCLElBQUksSUFBSSxJQUFJLENBQUM7WUFDVCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7O1lBRWIsT0FBTyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztJQUMxQyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLDZCQUE2QixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtnQkFDL0UsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsNkJBQTZCLENBQUMsRUFBRTtvQkFDaEUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2lCQUN0QjtZQUNMLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1NBQzdDO0lBQ0wsQ0FBQztJQUVELDBCQUEwQjtRQUN0QixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0QsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsNEJBQTRCO1FBQ3hCLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQzdCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDbEUsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztTQUN0QztJQUNMLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1osSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQzthQUM3QjtZQUVELElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1lBRXBDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztTQUNwQjtJQUNMLENBQUM7OzhHQTdOUSxpQkFBaUI7a0dBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQVI3QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxhQUFhO29CQUN2QixJQUFJLEVBQUU7d0JBQ0YscUJBQXFCLEVBQUUsTUFBTTt3QkFDN0IscUJBQXFCLEVBQUUsTUFBTTt3QkFDN0Isa0JBQWtCLEVBQUUsUUFBUTtxQkFDL0I7aUJBQ0o7c0hBR1ksV0FBVztzQkFBbkIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBdUJOLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBMkRqQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTztnQkFNckIsTUFBTTtzQkFETCxZQUFZO3VCQUFDLE1BQU07Z0JBTXBCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0FBMkhyQyxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBUTtJQUN4QyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQ3ZDLEtBQUssRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQTRDRixNQUFNLE9BQU8sUUFBUTtJQTZFakIsWUFBb0IsRUFBcUIsRUFBVSxNQUFxQjtRQUFwRCxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQWU7UUF2RS9ELGdCQUFXLEdBQVcsd0ZBQXdGLENBQUM7UUFFL0csZ0JBQVcsR0FBVyw2Q0FBNkMsQ0FBQztRQVVwRSxhQUFRLEdBQVksSUFBSSxDQUFDO1FBY3pCLDBCQUFxQixHQUFXLGlDQUFpQyxDQUFDO1FBRWxFLDBCQUFxQixHQUFXLFlBQVksQ0FBQztRQWN0RCxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQU1oQyxZQUFPLEdBQVksS0FBSyxDQUFDO1FBRXpCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFjMUIsVUFBSyxHQUFXLElBQUksQ0FBQztRQUVyQixrQkFBYSxHQUFhLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUVuQyxtQkFBYyxHQUFhLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUd1QyxDQUFDO0lBRTVFLGtCQUFrQjtRQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDNUIsUUFBTyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ25CLEtBQUssU0FBUztvQkFDVixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7b0JBQ3pDLE1BQU07Z0JBRU4sS0FBSyxRQUFRO29CQUNULElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztvQkFDeEMsTUFBTTtnQkFFTixLQUFLLFFBQVE7b0JBQ1QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO29CQUN4QyxNQUFNO2dCQUVOO29CQUNJLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztvQkFDekMsTUFBTTthQUNUO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBSztRQUNsQixRQUFPLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDbEIsS0FBSyxTQUFTO2dCQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztnQkFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztnQkFDaEUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDOUIsTUFBTTtZQUVOLEtBQUssTUFBTTtnQkFDUCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUN4QixNQUFNO1NBQ1Q7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxNQUFNO2dCQUN4QixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7O2dCQUV4QyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3hFO0lBQ0wsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUN4RixVQUFVLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3ZFO2FBQ0k7WUFDRCxVQUFVLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3ZFO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFLO1FBQ1QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNoQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztTQUM5QjtJQUNMLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7U0FDL0I7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQUs7UUFDVCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRXJCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUN0QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQzthQUM5QjtTQUNKO0lBQ0wsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFLO1FBQ1YsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQztRQUVqQixRQUFRLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDOUIsS0FBSyxDQUFDO2dCQUNGLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3hCLEtBQUssR0FBRztvQkFDSixRQUFRLEVBQUUsTUFBTTtvQkFDaEIsS0FBSyxFQUFFLFFBQVE7aUJBQ2xCLENBQUM7Z0JBQ0YsTUFBTTtZQUVWLEtBQUssQ0FBQztnQkFDRixLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUMxQixLQUFLLEdBQUc7b0JBQ0osUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLEtBQUssRUFBRSxRQUFRO2lCQUNsQixDQUFDO2dCQUNGLE1BQU07WUFFVixLQUFLLENBQUM7Z0JBQ0YsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDMUIsS0FBSyxHQUFHO29CQUNKLFFBQVEsRUFBRSxRQUFRO29CQUNsQixLQUFLLEVBQUUsTUFBTTtpQkFDaEIsQ0FBQztnQkFDRixNQUFNO1lBRVY7Z0JBQ0ksS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDMUIsS0FBSyxHQUFHLElBQUksQ0FBQztnQkFDYixNQUFNO1NBQ2I7UUFFRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ25DLENBQUM7SUFFRCxZQUFZLENBQUMsR0FBRztRQUNaLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUVkLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDaEMsS0FBSyxHQUFHLENBQUMsQ0FBQzthQUNULElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDckMsS0FBSyxHQUFHLENBQUMsQ0FBQzthQUNULElBQUksR0FBRyxDQUFDLE1BQU07WUFDZixLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBRWQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ2pCLElBQUksS0FBSyxLQUFLLFNBQVM7WUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7O1lBRWxCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRXZCLElBQUksSUFBSSxDQUFDLFFBQVE7WUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7UUFFcEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBWTtRQUN6QixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBWTtRQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsR0FBWTtRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztJQUN4QixDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLDZCQUE2QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtnQkFDbEYsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO29CQUNyQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztpQkFDL0I7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN0QixJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsRUFBRTtnQkFDdkIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO29CQUNyQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztpQkFDL0I7WUFDTCxDQUFDLENBQUM7WUFDRixNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUMxRDtJQUNMLENBQUM7SUFFRCxvQkFBb0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztTQUM3QztJQUNMLENBQUM7SUFFRCxvQkFBb0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzFELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1NBQzlCO0lBQ0wsQ0FBQztJQUVELDBCQUEwQjtRQUN0QixJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUMzQixRQUFRLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUM7U0FDcEM7SUFDTCxDQUFDO0lBRUQsY0FBYztRQUNWLE9BQU8sRUFBQyx1Q0FBdUMsRUFBRSxJQUFJO1lBQ2pELG9CQUFvQixFQUFFLElBQUksQ0FBQyxVQUFVO1NBQ3hDLENBQUM7SUFDTixDQUFDO0lBRUQsZUFBZTtRQUNYLE9BQU8sRUFBQyxrQkFBa0IsRUFBRyxJQUFJO1lBQ3pCLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUTtTQUNsQyxDQUFDO0lBQ04sQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDM0QsQ0FBQztJQUVELGFBQWE7UUFDVCxPQUFPLHVCQUF1QixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDMUUsQ0FBQztJQUVELE1BQU07UUFDRixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDbkUsQ0FBQztJQUVELFVBQVU7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVELFFBQVE7UUFDSixPQUFPLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELFVBQVU7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELFVBQVU7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUMvQixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssTUFBTTtnQkFDeEIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDOztnQkFFeEMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUN4RTtJQUNMLENBQUM7SUFFRCxTQUFTO1FBQ0wsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUMvQyxDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQWM7UUFDekIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUM3QjtJQUNMLENBQUM7O3FHQTNXUSxRQUFRO3lGQUFSLFFBQVEsdXBCQUxOLENBQUMsdUJBQXVCLENBQUMsb0RBbURuQixhQUFhLDZIQXZGcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBb0JULDhzQkFDVztRQUNSLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTtZQUN4QixVQUFVLENBQUMsUUFBUSxFQUFFO2dCQUNqQixLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUMsQ0FBQztnQkFDN0MsT0FBTyxDQUFDLDBCQUEwQixDQUFDO2FBQ3BDLENBQUM7WUFDRixVQUFVLENBQUMsUUFBUSxFQUFFO2dCQUNuQixPQUFPLENBQUMsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDM0QsQ0FBQztTQUNQLENBQUM7S0FDTDsyRkFVUSxRQUFRO2tCQTNDcEIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQW9CVDtvQkFDRCxVQUFVLEVBQUU7d0JBQ1IsT0FBTyxDQUFDLGtCQUFrQixFQUFFOzRCQUN4QixVQUFVLENBQUMsUUFBUSxFQUFFO2dDQUNqQixLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUMsQ0FBQztnQ0FDN0MsT0FBTyxDQUFDLDBCQUEwQixDQUFDOzZCQUNwQyxDQUFDOzRCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0NBQ25CLE9BQU8sQ0FBQywwQkFBMEIsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzs2QkFDM0QsQ0FBQzt5QkFDUCxDQUFDO3FCQUNMO29CQUNELElBQUksRUFBRTt3QkFDRiwrQkFBK0IsRUFBRSxVQUFVO3dCQUMzQyw4QkFBOEIsRUFBRSxTQUFTO3FCQUM1QztvQkFDRCxTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDcEMsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzdCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDeEM7b0lBR1ksUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFFRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFYyxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBUWMsU0FBUztzQkFBeEMsZUFBZTt1QkFBQyxhQUFhOztBQXFVbEMsTUFBTSxPQUFPLGNBQWM7OzJHQUFkLGNBQWM7NEdBQWQsY0FBYyxpQkFwb0JkLGlCQUFpQixFQWlSakIsUUFBUSxhQStXUCxZQUFZLEVBQUUsZUFBZSxhQWhvQjlCLGlCQUFpQixFQWlSakIsUUFBUSxFQWdYc0IsWUFBWTs0R0FHMUMsY0FBYyxZQUpkLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQyxFQUNELFlBQVk7MkZBRzFDLGNBQWM7a0JBTDFCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQztvQkFDcEQsWUFBWSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDO2lCQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGUsRGlyZWN0aXZlLEVsZW1lbnRSZWYsSG9zdExpc3RlbmVyLElucHV0LE9uRGVzdHJveSxEb0NoZWNrLE5nWm9uZSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiwgQ29tcG9uZW50LCBBZnRlckNvbnRlbnRJbml0LCBWaWV3Q2hpbGQsIENoYW5nZURldGVjdG9yUmVmLCBmb3J3YXJkUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHthbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge05HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0RvbUhhbmRsZXIsIENvbm5lY3RlZE92ZXJsYXlTY3JvbGxIYW5kbGVyfSBmcm9tICdwcmltZW5nL2RvbSc7XG5pbXBvcnQge1ByaW1lTkdDb25maWcsIFByaW1lVGVtcGxhdGUsIFNoYXJlZE1vZHVsZSwgVHJhbnNsYXRpb25LZXlzfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQge0lucHV0VGV4dE1vZHVsZX0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1twUGFzc3dvcmRdJyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3MucC1pbnB1dHRleHRdJzogJ3RydWUnLFxuICAgICAgICAnW2NsYXNzLnAtY29tcG9uZW50XSc6ICd0cnVlJyxcbiAgICAgICAgJ1tjbGFzcy5wLWZpbGxlZF0nOiAnZmlsbGVkJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUGFzc3dvcmREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3ksRG9DaGVjayB7XG5cbiAgICBASW5wdXQoKSBwcm9tcHRMYWJlbDogc3RyaW5nID0gJ0VudGVyIGEgcGFzc3dvcmQnO1xuXG4gICAgQElucHV0KCkgd2Vha0xhYmVsOiBzdHJpbmcgPSAnV2Vhayc7XG5cbiAgICBASW5wdXQoKSBtZWRpdW1MYWJlbDogc3RyaW5nID0gJ01lZGl1bSc7XG5cbiAgICBASW5wdXQoKSBzdHJvbmdMYWJlbDogc3RyaW5nID0gJ1N0cm9uZyc7XG5cbiAgICBASW5wdXQoKSBmZWVkYmFjazogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBASW5wdXQoKSBzZXQgc2hvd1Bhc3N3b3JkKHNob3c6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnR5cGUgPSBzaG93ID8gJ3RleHQnIDogJ3Bhc3N3b3JkJztcbiAgICB9XG5cbiAgICBwYW5lbDogSFRNTERpdkVsZW1lbnQ7XG5cbiAgICBtZXRlcjogYW55O1xuXG4gICAgaW5mbzogYW55O1xuXG4gICAgZmlsbGVkOiBib29sZWFuO1xuXG4gICAgc2Nyb2xsSGFuZGxlcjogYW55O1xuXG4gICAgZG9jdW1lbnRSZXNpemVMaXN0ZW5lcjogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmLCBwdWJsaWMgem9uZTogTmdab25lKSB7fVxuXG4gICAgbmdEb0NoZWNrKCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUZpbGxlZFN0YXRlKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignaW5wdXQnLCBbJyRldmVudCddKVxuICAgIG9uSW5wdXQoZSkge1xuICAgICAgICB0aGlzLnVwZGF0ZUZpbGxlZFN0YXRlKCk7XG4gICAgfVxuXG4gICAgdXBkYXRlRmlsbGVkU3RhdGUoKSB7XG4gICAgICAgIHRoaXMuZmlsbGVkID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlICYmIHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZS5sZW5ndGg7XG4gICAgfVxuXG4gICAgY3JlYXRlUGFuZWwoKSB7XG4gICAgICAgIHRoaXMucGFuZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5wYW5lbC5jbGFzc05hbWUgPSAncC1wYXNzd29yZC1wYW5lbCBwLWNvbXBvbmVudCBwLXBhc3N3b3JkLXBhbmVsLW92ZXJsYXkgcC1jb25uZWN0ZWQtb3ZlcmxheSc7XG4gICAgICAgIHRoaXMubWV0ZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5tZXRlci5jbGFzc05hbWUgPSAncC1wYXNzd29yZC1tZXRlcic7XG4gICAgICAgIHRoaXMuaW5mbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICB0aGlzLmluZm8uY2xhc3NOYW1lID0gJ3AtcGFzc3dvcmQtaW5mbyc7XG4gICAgICAgIHRoaXMuaW5mby50ZXh0Q29udGVudCA9IHRoaXMucHJvbXB0TGFiZWw7XG4gICAgICAgIHRoaXMucGFuZWwuYXBwZW5kQ2hpbGQodGhpcy5tZXRlcik7XG4gICAgICAgIHRoaXMucGFuZWwuYXBwZW5kQ2hpbGQodGhpcy5pbmZvKTtcbiAgICAgICAgdGhpcy5wYW5lbC5zdHlsZS5taW5XaWR0aCA9IERvbUhhbmRsZXIuZ2V0T3V0ZXJXaWR0aCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpICsgJ3B4JztcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLnBhbmVsKTtcbiAgICB9XG5cbiAgICBzaG93T3ZlcmxheSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZmVlZGJhY2spIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5wYW5lbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlUGFuZWwoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5wYW5lbC5zdHlsZS56SW5kZXggPSBTdHJpbmcoKytEb21IYW5kbGVyLnppbmRleCk7XG4gICAgICAgICAgICB0aGlzLnBhbmVsLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICAgICAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcblxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBEb21IYW5kbGVyLmFkZENsYXNzKHRoaXMucGFuZWwsICdwLWNvbm5lY3RlZC1vdmVybGF5LXZpc2libGUnKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iaW5kU2Nyb2xsTGlzdGVuZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iaW5kRG9jdW1lbnRSZXNpemVMaXN0ZW5lcigpO1xuICAgICAgICAgICAgICAgIH0sIDEpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBEb21IYW5kbGVyLmFic29sdXRlUG9zaXRpb24odGhpcy5wYW5lbCwgdGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhpZGVPdmVybGF5KCkge1xuICAgICAgICBpZiAodGhpcy5mZWVkYmFjayAmJiB0aGlzLnBhbmVsKSB7XG4gICAgICAgICAgICBEb21IYW5kbGVyLmFkZENsYXNzKHRoaXMucGFuZWwsICdwLWNvbm5lY3RlZC1vdmVybGF5LWhpZGRlbicpO1xuICAgICAgICAgICAgRG9tSGFuZGxlci5yZW1vdmVDbGFzcyh0aGlzLnBhbmVsLCAncC1jb25uZWN0ZWQtb3ZlcmxheS12aXNpYmxlJyk7XG4gICAgICAgICAgICB0aGlzLnVuYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgICAgICAgICB0aGlzLnVuYmluZERvY3VtZW50UmVzaXplTGlzdGVuZXIoKTtcblxuICAgICAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5uZ09uRGVzdHJveSgpO1xuICAgICAgICAgICAgICAgIH0sIDE1MCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJylcbiAgICBvbkZvY3VzKCkge1xuICAgICAgICB0aGlzLnNob3dPdmVybGF5KCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignYmx1cicpXG4gICAgb25CbHVyKCkge1xuICAgICAgICB0aGlzLmhpZGVPdmVybGF5KCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5dXAnLCBbJyRldmVudCddKVxuICAgIG9uS2V5dXAoZSkge1xuICAgICAgICBpZiAodGhpcy5mZWVkYmFjaykge1xuICAgICAgICAgICAgbGV0IHZhbHVlID0gZS50YXJnZXQudmFsdWUsXG4gICAgICAgICAgICBsYWJlbCA9IG51bGwsXG4gICAgICAgICAgICBtZXRlclBvcyA9IG51bGw7XG5cbiAgICAgICAgICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICBsYWJlbCA9IHRoaXMucHJvbXB0TGFiZWw7XG4gICAgICAgICAgICAgICAgbWV0ZXJQb3MgPSAnMHB4IDBweCc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YXIgc2NvcmUgPSB0aGlzLnRlc3RTdHJlbmd0aCh2YWx1ZSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoc2NvcmUgPCAzMCkge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbCA9IHRoaXMud2Vha0xhYmVsO1xuICAgICAgICAgICAgICAgICAgICBtZXRlclBvcyA9ICcwcHggLTEwcHgnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChzY29yZSA+PSAzMCAmJiBzY29yZSA8IDgwKSB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsID0gdGhpcy5tZWRpdW1MYWJlbDtcbiAgICAgICAgICAgICAgICAgICAgbWV0ZXJQb3MgPSAnMHB4IC0yMHB4JztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoc2NvcmUgPj0gODApIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWwgPSB0aGlzLnN0cm9uZ0xhYmVsO1xuICAgICAgICAgICAgICAgICAgICBtZXRlclBvcyA9ICcwcHggLTMwcHgnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCF0aGlzLnBhbmVsIHx8ICFEb21IYW5kbGVyLmhhc0NsYXNzKHRoaXMucGFuZWwsICdwLWNvbm5lY3RlZC1vdmVybGF5LXZpc2libGUnKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvd092ZXJsYXkoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5tZXRlci5zdHlsZS5iYWNrZ3JvdW5kUG9zaXRpb24gPSBtZXRlclBvcztcbiAgICAgICAgICAgIHRoaXMuaW5mby50ZXh0Q29udGVudCA9IGxhYmVsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGVzdFN0cmVuZ3RoKHN0cjogc3RyaW5nKSB7XG4gICAgICAgIGxldCBncmFkZTogbnVtYmVyID0gMDtcbiAgICAgICAgbGV0IHZhbDogUmVnRXhwTWF0Y2hBcnJheTtcblxuICAgICAgICB2YWwgPSBzdHIubWF0Y2goJ1swLTldJyk7XG4gICAgICAgIGdyYWRlICs9IHRoaXMubm9ybWFsaXplKHZhbCA/IHZhbC5sZW5ndGggOiAxLzQsIDEpICogMjU7XG5cbiAgICAgICAgdmFsID0gc3RyLm1hdGNoKCdbYS16QS1aXScpO1xuICAgICAgICBncmFkZSArPSB0aGlzLm5vcm1hbGl6ZSh2YWwgPyB2YWwubGVuZ3RoIDogMS8yLCAzKSAqIDEwO1xuXG4gICAgICAgIHZhbCA9IHN0ci5tYXRjaCgnWyFAIyQlXiYqP19+Liw7PV0nKTtcbiAgICAgICAgZ3JhZGUgKz0gdGhpcy5ub3JtYWxpemUodmFsID8gdmFsLmxlbmd0aCA6IDEvNiwgMSkgKiAzNTtcblxuICAgICAgICB2YWwgPSBzdHIubWF0Y2goJ1tBLVpdJyk7XG4gICAgICAgIGdyYWRlICs9IHRoaXMubm9ybWFsaXplKHZhbCA/IHZhbC5sZW5ndGggOiAxLzYsIDEpICogMzA7XG5cbiAgICAgICAgZ3JhZGUgKj0gc3RyLmxlbmd0aCAvIDg7XG5cbiAgICAgICAgcmV0dXJuIGdyYWRlID4gMTAwID8gMTAwIDogZ3JhZGU7XG4gICAgfVxuXG4gICAgbm9ybWFsaXplKHgsIHkpIHtcbiAgICAgICAgbGV0IGRpZmYgPSB4IC0geTtcblxuICAgICAgICBpZiAoZGlmZiA8PSAwKVxuICAgICAgICAgICAgcmV0dXJuIHggLyB5O1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICByZXR1cm4gMSArIDAuNSAqICh4IC8gKHggKyB5LzQpKTtcbiAgICB9XG5cbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgYmluZFNjcm9sbExpc3RlbmVyKCkge1xuICAgICAgICBpZiAoIXRoaXMuc2Nyb2xsSGFuZGxlcikge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxIYW5kbGVyID0gbmV3IENvbm5lY3RlZE92ZXJsYXlTY3JvbGxIYW5kbGVyKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChEb21IYW5kbGVyLmhhc0NsYXNzKHRoaXMucGFuZWwsICdwLWNvbm5lY3RlZC1vdmVybGF5LXZpc2libGUnKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZGVPdmVybGF5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNjcm9sbEhhbmRsZXIuYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgfVxuXG4gICAgdW5iaW5kU2Nyb2xsTGlzdGVuZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLnNjcm9sbEhhbmRsZXIpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlci51bmJpbmRTY3JvbGxMaXN0ZW5lcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmluZERvY3VtZW50UmVzaXplTGlzdGVuZXIoKSB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRSZXNpemVMaXN0ZW5lciA9IHRoaXMub25XaW5kb3dSZXNpemUuYmluZCh0aGlzKTtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuZG9jdW1lbnRSZXNpemVMaXN0ZW5lcik7XG4gICAgfVxuXG4gICAgdW5iaW5kRG9jdW1lbnRSZXNpemVMaXN0ZW5lcigpIHtcbiAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnRSZXNpemVMaXN0ZW5lcikge1xuICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuZG9jdW1lbnRSZXNpemVMaXN0ZW5lcik7XG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50UmVzaXplTGlzdGVuZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25XaW5kb3dSZXNpemUoKSB7XG4gICAgICAgIHRoaXMuaGlkZU92ZXJsYXkoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMucGFuZWwpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNjcm9sbEhhbmRsZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbEhhbmRsZXIuZGVzdHJveSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlciA9IG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMudW5iaW5kRG9jdW1lbnRSZXNpemVMaXN0ZW5lcigpO1xuXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRoaXMucGFuZWwpO1xuICAgICAgICAgICAgdGhpcy5wYW5lbCA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLm1ldGVyID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuaW5mbyA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuZXhwb3J0IGNvbnN0IFBhc3N3b3JkX1ZBTFVFX0FDQ0VTU09SOiBhbnkgPSB7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUGFzc3dvcmQpLFxuICAgIG11bHRpOiB0cnVlXG59O1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwLXBhc3N3b3JkJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImNvbnRhaW5lckNsYXNzKClcIiBbbmdTdHlsZV09XCJzdHlsZVwiIFtjbGFzc109XCJzdHlsZUNsYXNzXCI+XG4gICAgICAgICAgICA8aW5wdXQgI2lucHV0IFthdHRyLmlkXT1cImlucHV0SWRcIiBwSW5wdXRUZXh0IFtuZ0NsYXNzXT1cImlucHV0RmllbGRDbGFzcygpXCIgW25nU3R5bGVdPVwiaW5wdXRTdHlsZVwiIFtjbGFzc109XCJpbnB1dFN0eWxlQ2xhc3NcIiBbYXR0ci50eXBlXT1cImlucHV0VHlwZSgpXCIgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbdmFsdWVdPVwidmFsdWVcIiAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCIgKGZvY3VzKT1cIm9uRm9jdXMoKVwiXG4gICAgICAgICAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIiAoa2V5dXApPVwib25LZXlVcCgkZXZlbnQpXCIgLz5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwidG9nZ2xlTWFza1wiIFtuZ0NsYXNzXT1cInRvZ2dsZUljb25DbGFzcygpXCIgKGNsaWNrKT1cIm9uTWFza1RvZ2dsZSgpXCI+PC9pPlxuICAgICAgICAgICAgPGRpdiAjb3ZlcmxheSAqbmdJZj1cIm92ZXJsYXlWaXNpYmxlXCIgW25nQ2xhc3NdPVwiJ3AtcGFzc3dvcmQtcGFuZWwgcC1jb21wb25lbnQnXCJcbiAgICAgICAgICAgICAgICBbQG92ZXJsYXlBbmltYXRpb25dPVwie3ZhbHVlOiAndmlzaWJsZScsIHBhcmFtczoge3Nob3dUcmFuc2l0aW9uUGFyYW1zOiBzaG93VHJhbnNpdGlvbk9wdGlvbnMsIGhpZGVUcmFuc2l0aW9uUGFyYW1zOiBoaWRlVHJhbnNpdGlvbk9wdGlvbnN9fVwiIChAb3ZlcmxheUFuaW1hdGlvbi5zdGFydCk9XCJvbkFuaW1hdGlvblN0YXJ0KCRldmVudClcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29udGVudFRlbXBsYXRlOyBlbHNlIGNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtcGFzc3dvcmQtbWV0ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwic3RyZW5ndGhDbGFzcygpXCIgW25nU3R5bGVdPVwieyd3aWR0aCc6IG1ldGVyID8gbWV0ZXIud2lkdGggOiAnJ31cIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicC1wYXNzd29yZC1pbmZvXCI+e3tpbmZvVGV4dH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9vdGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICBgLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignb3ZlcmxheUFuaW1hdGlvbicsIFtcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7b3BhY2l0eTogMCwgdHJhbnNmb3JtOiAnc2NhbGVZKDAuOCknfSksXG4gICAgICAgICAgICAgICAgYW5pbWF0ZSgne3tzaG93VHJhbnNpdGlvblBhcmFtc319JylcbiAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgICAgICAgICBhbmltYXRlKCd7e2hpZGVUcmFuc2l0aW9uUGFyYW1zfX0nLCBzdHlsZSh7IG9wYWNpdHk6IDAgfSkpXG4gICAgICAgICAgICAgIF0pXG4gICAgICAgIF0pXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3MucC1pbnB1dHdyYXBwZXItZmlsbGVkXSc6ICdmaWxsZWQoKScsXG4gICAgICAgICdbY2xhc3MucC1pbnB1dHdyYXBwZXItZm9jdXNdJzogJ2ZvY3VzZWQnXG4gICAgfSxcbiAgICBwcm92aWRlcnM6IFtQYXNzd29yZF9WQUxVRV9BQ0NFU1NPUl0sXG4gICAgc3R5bGVVcmxzOiBbJy4vcGFzc3dvcmQuY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBQYXNzd29yZCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsT25Jbml0IHtcblxuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuXG4gICAgQElucHV0KCkgcHJvbXB0TGFiZWw6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIG1lZGl1bVJlZ2V4OiBzdHJpbmcgPSAnXigoKD89LipbYS16XSkoPz0uKltBLVpdKSl8KCg/PS4qW2Etel0pKD89LipbMC05XSkpfCgoPz0uKltBLVpdKSg/PS4qWzAtOV0pKSkoPz0uezYsfSknO1xuXG4gICAgQElucHV0KCkgc3Ryb25nUmVnZXg6IHN0cmluZyA9ICdeKD89LipbYS16XSkoPz0uKltBLVpdKSg/PS4qWzAtOV0pKD89Lns4LH0pJztcblxuICAgIEBJbnB1dCgpIHdlYWtMYWJlbDogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgbWVkaXVtTGFiZWw6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHN0cm9uZ0xhYmVsOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBpbnB1dElkOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBmZWVkYmFjazogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBASW5wdXQoKSBhcHBlbmRUbzogYW55O1xuXG4gICAgQElucHV0KCkgdG9nZ2xlTWFzazogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIGlucHV0U3R5bGVDbGFzczogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgc3R5bGVDbGFzczogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgc3R5bGU6IGFueTtcblxuICAgIEBJbnB1dCgpIGlucHV0U3R5bGU6IGFueTtcblxuICAgIEBJbnB1dCgpIHNob3dUcmFuc2l0aW9uT3B0aW9uczogc3RyaW5nID0gJy4xMnMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSknO1xuXG4gICAgQElucHV0KCkgaGlkZVRyYW5zaXRpb25PcHRpb25zOiBzdHJpbmcgPSAnLjFzIGxpbmVhcic7XG5cbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dDogRWxlbWVudFJlZjtcblxuICAgIGNvbnRlbnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFByaW1lVGVtcGxhdGUpIHRlbXBsYXRlczogUXVlcnlMaXN0PGFueT47XG5cbiAgICBvdmVybGF5VmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgbWV0ZXI6IGFueTtcblxuICAgIGluZm9UZXh0OiBzdHJpbmc7XG5cbiAgICBmb2N1c2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICB1bm1hc2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgbWVkaXVtQ2hlY2tSZWdFeHA6IGFueTtcblxuICAgIHN0cm9uZ0NoZWNrUmVnRXhwOiBhbnk7XG5cbiAgICByZXNpemVMaXN0ZW5lcjogYW55O1xuXG4gICAgb3V0c2lkZUNsaWNrTGlzdGVuZXI6IGFueTtcblxuICAgIHNjcm9sbEhhbmRsZXI6IGFueTtcblxuICAgIG92ZXJsYXk6IGFueTtcblxuICAgIHZhbHVlOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgb25Nb2RlbENoYW5nZTogRnVuY3Rpb24gPSAoKSA9PiB7fTtcblxuICAgIG9uTW9kZWxUb3VjaGVkOiBGdW5jdGlvbiA9ICgpID0+IHt9O1xuXG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBjb25maWc6IFByaW1lTkdDb25maWcpIHt9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMudGVtcGxhdGVzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHN3aXRjaChpdGVtLmdldFR5cGUoKSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2NvbnRlbnQnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdoZWFkZXInOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmhlYWRlclRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ2Zvb3Rlcic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9vdGVyVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50VGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pbmZvVGV4dCA9IHRoaXMucHJvbXB0VGV4dCgpO1xuICAgICAgICB0aGlzLm1lZGl1bUNoZWNrUmVnRXhwID0gbmV3IFJlZ0V4cCh0aGlzLm1lZGl1bVJlZ2V4KTtcbiAgICAgICAgdGhpcy5zdHJvbmdDaGVja1JlZ0V4cCA9IG5ldyBSZWdFeHAodGhpcy5zdHJvbmdSZWdleCk7XG4gICAgfVxuXG4gICAgb25BbmltYXRpb25TdGFydChldmVudCkge1xuICAgICAgICBzd2l0Y2goZXZlbnQudG9TdGF0ZSkge1xuICAgICAgICAgICAgY2FzZSAndmlzaWJsZSc6XG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5ID0gZXZlbnQuZWxlbWVudDtcbiAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXkuc3R5bGUuekluZGV4ID0gU3RyaW5nKERvbUhhbmRsZXIuZ2VuZXJhdGVaSW5kZXgoKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5hcHBlbmRDb250YWluZXIoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFsaWduT3ZlcmxheSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5iaW5kUmVzaXplTGlzdGVuZXIoKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlICd2b2lkJzpcbiAgICAgICAgICAgICAgICB0aGlzLnVuYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy51bmJpbmRSZXNpemVMaXN0ZW5lcigpO1xuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheSA9IG51bGw7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFwcGVuZENvbnRhaW5lcigpIHtcbiAgICAgICAgaWYgKHRoaXMuYXBwZW5kVG8pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmFwcGVuZFRvID09PSAnYm9keScpXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLm92ZXJsYXkpO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuYXBwZW5kVG8pLmFwcGVuZENoaWxkKHRoaXMub3ZlcmxheSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhbGlnbk92ZXJsYXkoKSB7XG4gICAgICAgIGlmICh0aGlzLmFwcGVuZFRvKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXkuc3R5bGUubWluV2lkdGggPSBEb21IYW5kbGVyLmdldE91dGVyV2lkdGgodGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50KSArICdweCc7XG4gICAgICAgICAgICBEb21IYW5kbGVyLmFic29sdXRlUG9zaXRpb24odGhpcy5vdmVybGF5LCB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgRG9tSGFuZGxlci5yZWxhdGl2ZVBvc2l0aW9uKHRoaXMub3ZlcmxheSwgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uSW5wdXQoZXZlbnQpICB7XG4gICAgICAgIHRoaXMudmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICAgIHRoaXMub25Nb2RlbENoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgdGhpcy5vbk1vZGVsVG91Y2hlZCgpO1xuICAgIH1cblxuICAgIG9uRm9jdXMoKSB7XG4gICAgICAgIHRoaXMuZm9jdXNlZCA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLmZlZWRiYWNrKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQmx1cigpIHtcbiAgICAgICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLmZlZWRiYWNrKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbktleVVwKGV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmZlZWRiYWNrKSB7XG4gICAgICAgICAgICBsZXQgdmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVVJKHZhbHVlKTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLm92ZXJsYXlWaXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5VmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVVSSh2YWx1ZSkge1xuICAgICAgICBsZXQgbGFiZWwgPSBudWxsO1xuICAgICAgICBsZXQgbWV0ZXIgPSBudWxsO1xuXG4gICAgICAgIHN3aXRjaCAodGhpcy50ZXN0U3RyZW5ndGgodmFsdWUpKSB7XG4gICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgICAgbGFiZWwgPSB0aGlzLndlYWtUZXh0KCk7XG4gICAgICAgICAgICAgICAgbWV0ZXIgPSB7XG4gICAgICAgICAgICAgICAgICAgIHN0cmVuZ3RoOiAnd2VhaycsXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnMzMuMzMlJ1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgMjpcbiAgICAgICAgICAgICAgICBsYWJlbCA9IHRoaXMubWVkaXVtVGV4dCgpO1xuICAgICAgICAgICAgICAgIG1ldGVyID0ge1xuICAgICAgICAgICAgICAgICAgICBzdHJlbmd0aDogJ21lZGl1bScsXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnNjYuNjYlJ1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgMzpcbiAgICAgICAgICAgICAgICBsYWJlbCA9IHRoaXMuc3Ryb25nVGV4dCgpO1xuICAgICAgICAgICAgICAgIG1ldGVyID0ge1xuICAgICAgICAgICAgICAgICAgICBzdHJlbmd0aDogJ3N0cm9uZycsXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnMTAwJSdcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGxhYmVsID0gdGhpcy5wcm9tcHRUZXh0KCk7XG4gICAgICAgICAgICAgICAgbWV0ZXIgPSBudWxsO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5tZXRlciA9IG1ldGVyO1xuICAgICAgICB0aGlzLmluZm9UZXh0ID0gbGFiZWw7XG4gICAgfVxuXG4gICAgb25NYXNrVG9nZ2xlKCkge1xuICAgICAgICB0aGlzLnVubWFza2VkID0gIXRoaXMudW5tYXNrZWQ7XG4gICAgfVxuXG4gICAgdGVzdFN0cmVuZ3RoKHN0cikge1xuICAgICAgICBsZXQgbGV2ZWwgPSAwO1xuXG4gICAgICAgIGlmICh0aGlzLnN0cm9uZ0NoZWNrUmVnRXhwLnRlc3Qoc3RyKSlcbiAgICAgICAgICAgIGxldmVsID0gMztcbiAgICAgICAgZWxzZSBpZiAodGhpcy5tZWRpdW1DaGVja1JlZ0V4cC50ZXN0KHN0cikpXG4gICAgICAgICAgICBsZXZlbCA9IDI7XG4gICAgICAgIGVsc2UgaWYgKHN0ci5sZW5ndGgpXG4gICAgICAgICAgICBsZXZlbCA9IDE7XG5cbiAgICAgICAgcmV0dXJuIGxldmVsO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSkgOiB2b2lkIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuXG4gICAgICAgIGlmICh0aGlzLmZlZWRiYWNrKVxuICAgICAgICAgICAgdGhpcy51cGRhdGVVSSh0aGlzLnZhbHVlIHx8IFwiXCIpO1xuXG4gICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogRnVuY3Rpb24pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbk1vZGVsQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IEZ1bmN0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Nb2RlbFRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKHZhbDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gdmFsO1xuICAgIH1cblxuICAgIGJpbmRTY3JvbGxMaXN0ZW5lcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNjcm9sbEhhbmRsZXIpIHtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlciA9IG5ldyBDb25uZWN0ZWRPdmVybGF5U2Nyb2xsSGFuZGxlcih0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQsICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5vdmVybGF5VmlzaWJsZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNjcm9sbEhhbmRsZXIuYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgfVxuXG4gICAgYmluZFJlc2l6ZUxpc3RlbmVyKCkge1xuICAgICAgICBpZiAoIXRoaXMucmVzaXplTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMucmVzaXplTGlzdGVuZXIgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMub3ZlcmxheVZpc2libGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5VmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZXNpemVMaXN0ZW5lcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bmJpbmRTY3JvbGxMaXN0ZW5lcigpIHtcbiAgICAgICAgaWYgKHRoaXMuc2Nyb2xsSGFuZGxlcikge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxIYW5kbGVyLnVuYmluZFNjcm9sbExpc3RlbmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bmJpbmRSZXNpemVMaXN0ZW5lcigpIHtcbiAgICAgICAgaWYgKHRoaXMucmVzaXplTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLnJlc2l6ZUxpc3RlbmVyKTtcbiAgICAgICAgICAgIHRoaXMucmVzaXplTGlzdGVuZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdW5iaW5kT3V0c2lkZUNsaWNrTGlzdGVuZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLm91dHNpZGVDbGlja0xpc3RlbmVyKSB7XG4gICAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMub3V0c2lkZUNsaWNrTGlzdGVuZXIpO1xuICAgICAgICAgICAgdGhpcy5vdXRzaWRlQ2xpY2tMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb250YWluZXJDbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIHsncC1wYXNzd29yZCBwLWNvbXBvbmVudCBwLWlucHV0d3JhcHBlcic6IHRydWUsXG4gICAgICAgICAgICAncC1pbnB1dC1pY29uLXJpZ2h0JzogdGhpcy50b2dnbGVNYXNrXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgaW5wdXRGaWVsZENsYXNzKCkge1xuICAgICAgICByZXR1cm4geydwLXBhc3N3b3JkLWlucHV0JyA6IHRydWUsXG4gICAgICAgICAgICAgICAgJ3AtZGlzYWJsZWQnOiB0aGlzLmRpc2FibGVkXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgdG9nZ2xlSWNvbkNsYXNzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy51bm1hc2tlZCA/ICdwaSBwaS1leWUtc2xhc2gnIDogJ3BpIHBpLWV5ZSc7XG4gICAgfVxuXG4gICAgc3RyZW5ndGhDbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIGBwLXBhc3N3b3JkLXN0cmVuZ3RoICR7dGhpcy5tZXRlciA/IHRoaXMubWV0ZXIuc3RyZW5ndGggOiAnJ31gO1xuICAgIH1cblxuICAgIGZpbGxlZCgpIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLnZhbHVlICE9IG51bGwgJiYgdGhpcy52YWx1ZS50b1N0cmluZygpLmxlbmd0aCA+IDApXG4gICAgfVxuXG4gICAgcHJvbXB0VGV4dCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvbXB0TGFiZWwgfHwgdGhpcy5nZXRUcmFuc2xhdGlvbihUcmFuc2xhdGlvbktleXMuUEFTU1dPUkRfUFJPTVBUKTtcbiAgICB9XG5cbiAgICB3ZWFrVGV4dCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud2Vha0xhYmVsIHx8IHRoaXMuZ2V0VHJhbnNsYXRpb24oVHJhbnNsYXRpb25LZXlzLldFQUspO1xuICAgIH1cblxuICAgIG1lZGl1bVRleHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lZGl1bUxhYmVsIHx8IHRoaXMuZ2V0VHJhbnNsYXRpb24oVHJhbnNsYXRpb25LZXlzLk1FRElVTSk7XG4gICAgfVxuXG4gICAgc3Ryb25nVGV4dCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3Ryb25nTGFiZWwgfHwgdGhpcy5nZXRUcmFuc2xhdGlvbihUcmFuc2xhdGlvbktleXMuU1RST05HKTtcbiAgICB9XG5cbiAgICByZXN0b3JlQXBwZW5kKCkge1xuICAgICAgICBpZiAodGhpcy5vdmVybGF5ICYmIHRoaXMuYXBwZW5kVG8pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmFwcGVuZFRvID09PSAnYm9keScpXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLm92ZXJsYXkpO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuYXBwZW5kVG8pLnJlbW92ZUNoaWxkKHRoaXMub3ZlcmxheSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFR5cGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVubWFza2VkID8gJ3RleHQnIDogJ3Bhc3N3b3JkJztcbiAgICB9XG5cbiAgICBnZXRUcmFuc2xhdGlvbihvcHRpb246IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcuZ2V0VHJhbnNsYXRpb24ob3B0aW9uKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5yZXN0b3JlQXBwZW5kKCk7XG4gICAgICAgIHRoaXMudW5iaW5kUmVzaXplTGlzdGVuZXIoKTtcbiAgICAgICAgaWYgKHRoaXMuc2Nyb2xsSGFuZGxlcikge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxIYW5kbGVyLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsSGFuZGxlciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW5wdXRUZXh0TW9kdWxlXSxcbiAgICBleHBvcnRzOiBbUGFzc3dvcmREaXJlY3RpdmUsIFBhc3N3b3JkLCBTaGFyZWRNb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW1Bhc3N3b3JkRGlyZWN0aXZlLCBQYXNzd29yZF1cbn0pXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRNb2R1bGUgeyB9XG4iXX0=
@@ -2,4 +2,4 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWVuZy1wYXNzd29yZC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvcGFzc3dvcmQvIiwic291cmNlcyI6WyJwcmltZW5nLXBhc3N3b3JkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWVuZy1wYXNzd29yZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wYXNzd29yZC9wcmltZW5nLXBhc3N3b3JkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export * from './password';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvcGFzc3dvcmQvIiwic291cmNlcyI6WyJwdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wYXNzd29yZCc7Il19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9wYXNzd29yZC9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wYXNzd29yZCc7Il19