primeng 16.2.0 → 16.3.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 (380) hide show
  1. package/README.md +1 -1
  2. package/api/treetablenode.d.ts +1 -1
  3. package/autocomplete/autocomplete.d.ts +7 -10
  4. package/calendar/calendar.d.ts +1 -0
  5. package/carousel/carousel.d.ts +2 -1
  6. package/chips/chips.d.ts +2 -1
  7. package/dataview/dataview.d.ts +11 -1
  8. package/dynamicdialog/dynamicdialog-config.d.ts +4 -0
  9. package/dynamicdialog/dynamicdialog.d.ts +1 -0
  10. package/esm2022/accordion/accordion.mjs +10 -10
  11. package/esm2022/animate/animate.mjs +7 -7
  12. package/esm2022/api/confirmationservice.mjs +3 -3
  13. package/esm2022/api/contextmenuservice.mjs +3 -3
  14. package/esm2022/api/filterservice.mjs +3 -3
  15. package/esm2022/api/messageservice.mjs +3 -3
  16. package/esm2022/api/overlayservice.mjs +3 -3
  17. package/esm2022/api/primengconfig.mjs +3 -3
  18. package/esm2022/api/shared.mjs +13 -13
  19. package/esm2022/api/treedragdropservice.mjs +3 -3
  20. package/esm2022/api/treetablenode.mjs +1 -1
  21. package/esm2022/autocomplete/autocomplete.mjs +60 -38
  22. package/esm2022/autofocus/autofocus.mjs +7 -7
  23. package/esm2022/avatar/avatar.mjs +7 -7
  24. package/esm2022/avatargroup/avatargroup.mjs +7 -7
  25. package/esm2022/badge/badge.mjs +10 -10
  26. package/esm2022/baseicon/baseicon.mjs +3 -3
  27. package/esm2022/blockui/blockui.mjs +7 -7
  28. package/esm2022/breadcrumb/breadcrumb.mjs +7 -7
  29. package/esm2022/button/button.mjs +13 -12
  30. package/esm2022/calendar/calendar.mjs +33 -13
  31. package/esm2022/card/card.mjs +7 -7
  32. package/esm2022/carousel/carousel.mjs +18 -14
  33. package/esm2022/cascadeselect/cascadeselect.mjs +10 -10
  34. package/esm2022/chart/chart.mjs +7 -7
  35. package/esm2022/checkbox/checkbox.mjs +7 -7
  36. package/esm2022/chip/chip.mjs +7 -7
  37. package/esm2022/chips/chips.mjs +15 -11
  38. package/esm2022/colorpicker/colorpicker.mjs +7 -7
  39. package/esm2022/confirmdialog/confirmdialog.mjs +7 -7
  40. package/esm2022/confirmpopup/confirmpopup.mjs +7 -7
  41. package/esm2022/contextmenu/contextmenu.mjs +20 -17
  42. package/esm2022/dataview/dataview.mjs +31 -13
  43. package/esm2022/defer/defer.mjs +7 -7
  44. package/esm2022/dialog/dialog.mjs +26 -23
  45. package/esm2022/divider/divider.mjs +7 -7
  46. package/esm2022/dock/dock.mjs +7 -7
  47. package/esm2022/dragdrop/dragdrop.mjs +10 -10
  48. package/esm2022/dropdown/dropdown.mjs +18 -15
  49. package/esm2022/dynamicdialog/dialogservice.mjs +11 -5
  50. package/esm2022/dynamicdialog/dynamicdialog-config.mjs +5 -1
  51. package/esm2022/dynamicdialog/dynamicdialog.mjs +24 -15
  52. package/esm2022/dynamicdialog/dynamicdialogcontent.mjs +3 -3
  53. package/esm2022/editor/editor.mjs +7 -7
  54. package/esm2022/fieldset/fieldset.mjs +7 -7
  55. package/esm2022/fileupload/fileupload.mjs +9 -8
  56. package/esm2022/focustrap/focustrap.mjs +7 -7
  57. package/esm2022/galleria/galleria.mjs +30 -20
  58. package/esm2022/icons/angledoubledown/angledoubledown.mjs +3 -3
  59. package/esm2022/icons/angledoubleleft/angledoubleleft.mjs +3 -3
  60. package/esm2022/icons/angledoubleright/angledoubleright.mjs +3 -3
  61. package/esm2022/icons/angledoubleup/angledoubleup.mjs +3 -3
  62. package/esm2022/icons/angledown/angledown.mjs +3 -3
  63. package/esm2022/icons/angleleft/angleleft.mjs +3 -3
  64. package/esm2022/icons/angleright/angleright.mjs +3 -3
  65. package/esm2022/icons/angleup/angleup.mjs +3 -3
  66. package/esm2022/icons/arrowdown/arrowdown.mjs +3 -3
  67. package/esm2022/icons/arrowdownleft/arrowdownleft.mjs +3 -3
  68. package/esm2022/icons/arrowdownright/arrowdownright.mjs +3 -3
  69. package/esm2022/icons/arrowleft/arrowleft.mjs +3 -3
  70. package/esm2022/icons/arrowright/arrowright.mjs +3 -3
  71. package/esm2022/icons/arrowup/arrowup.mjs +3 -3
  72. package/esm2022/icons/ban/ban.mjs +3 -3
  73. package/esm2022/icons/bars/bars.mjs +3 -3
  74. package/esm2022/icons/calendar/calendar.mjs +3 -3
  75. package/esm2022/icons/caretleft/caretleft.mjs +3 -3
  76. package/esm2022/icons/caretright/caretright.mjs +3 -3
  77. package/esm2022/icons/check/check.mjs +3 -3
  78. package/esm2022/icons/chevrondown/chevrondown.mjs +3 -3
  79. package/esm2022/icons/chevronleft/chevronleft.mjs +3 -3
  80. package/esm2022/icons/chevronright/chevronright.mjs +3 -3
  81. package/esm2022/icons/chevronup/chevronup.mjs +3 -3
  82. package/esm2022/icons/exclamationtriangle/exclamationtriangle.mjs +3 -3
  83. package/esm2022/icons/eye/eye.mjs +3 -3
  84. package/esm2022/icons/eyeslash/eyeslash.mjs +3 -3
  85. package/esm2022/icons/filter/filter.mjs +3 -3
  86. package/esm2022/icons/filterslash/filterslash.mjs +3 -3
  87. package/esm2022/icons/home/home.mjs +3 -3
  88. package/esm2022/icons/infocircle/infocircle.mjs +3 -3
  89. package/esm2022/icons/minus/minus.mjs +3 -3
  90. package/esm2022/icons/pencil/pencil.mjs +3 -3
  91. package/esm2022/icons/plus/plus.mjs +3 -3
  92. package/esm2022/icons/refresh/refresh.mjs +3 -3
  93. package/esm2022/icons/search/search.mjs +3 -3
  94. package/esm2022/icons/searchminus/searchminus.mjs +3 -3
  95. package/esm2022/icons/searchplus/searchplus.mjs +3 -3
  96. package/esm2022/icons/sortalt/sortalt.mjs +3 -3
  97. package/esm2022/icons/sortamountdown/sortamountdown.mjs +3 -3
  98. package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +3 -3
  99. package/esm2022/icons/spinner/spinner.mjs +3 -3
  100. package/esm2022/icons/star/star.mjs +3 -3
  101. package/esm2022/icons/starfill/starfill.mjs +3 -3
  102. package/esm2022/icons/thlarge/thlarge.mjs +3 -3
  103. package/esm2022/icons/times/times.mjs +3 -3
  104. package/esm2022/icons/timescircle/timescircle.mjs +3 -3
  105. package/esm2022/icons/trash/trash.mjs +3 -3
  106. package/esm2022/icons/undo/undo.mjs +3 -3
  107. package/esm2022/icons/upload/upload.mjs +3 -3
  108. package/esm2022/icons/windowmaximize/windowmaximize.mjs +3 -3
  109. package/esm2022/icons/windowminimize/windowminimize.mjs +3 -3
  110. package/esm2022/image/image.mjs +17 -10
  111. package/esm2022/inplace/inplace.mjs +13 -13
  112. package/esm2022/inputmask/inputmask.mjs +7 -7
  113. package/esm2022/inputnumber/inputnumber.mjs +10 -10
  114. package/esm2022/inputswitch/inputswitch.mjs +7 -7
  115. package/esm2022/inputtext/inputtext.mjs +7 -7
  116. package/esm2022/inputtextarea/inputtextarea.mjs +8 -24
  117. package/esm2022/keyfilter/keyfilter.interface.mjs +2 -0
  118. package/esm2022/keyfilter/keyfilter.mjs +22 -10
  119. package/esm2022/keyfilter/public_api.mjs +2 -1
  120. package/esm2022/knob/knob.mjs +7 -7
  121. package/esm2022/listbox/listbox.mjs +7 -7
  122. package/esm2022/megamenu/megamenu.mjs +13 -13
  123. package/esm2022/menu/menu.mjs +20 -14
  124. package/esm2022/menubar/menubar.mjs +16 -16
  125. package/esm2022/message/message.mjs +7 -7
  126. package/esm2022/messages/messages.mjs +7 -7
  127. package/esm2022/multiselect/multiselect.mjs +25 -18
  128. package/esm2022/orderlist/orderlist.mjs +7 -7
  129. package/esm2022/organizationchart/organizationchart.mjs +10 -10
  130. package/esm2022/overlay/overlay.mjs +7 -7
  131. package/esm2022/overlaypanel/overlaypanel.mjs +15 -20
  132. package/esm2022/paginator/paginator.mjs +29 -11
  133. package/esm2022/panel/panel.mjs +9 -9
  134. package/esm2022/panelmenu/panelmenu.mjs +19 -16
  135. package/esm2022/password/password.mjs +25 -16
  136. package/esm2022/picklist/picklist.mjs +14 -10
  137. package/esm2022/progressbar/progressbar.mjs +7 -7
  138. package/esm2022/progressspinner/progressspinner.mjs +7 -7
  139. package/esm2022/radiobutton/radiobutton.mjs +10 -10
  140. package/esm2022/rating/rating.mjs +7 -7
  141. package/esm2022/ripple/ripple.mjs +7 -7
  142. package/esm2022/scroller/scroller.mjs +7 -7
  143. package/esm2022/scrollpanel/scrollpanel.mjs +7 -7
  144. package/esm2022/scrolltop/scrolltop.mjs +7 -7
  145. package/esm2022/selectbutton/selectbutton.mjs +19 -21
  146. package/esm2022/sidebar/sidebar.mjs +9 -9
  147. package/esm2022/skeleton/skeleton.mjs +7 -7
  148. package/esm2022/slidemenu/slidemenu.mjs +20 -17
  149. package/esm2022/slider/slider.mjs +7 -7
  150. package/esm2022/speeddial/speeddial.mjs +7 -7
  151. package/esm2022/spinner/spinner.mjs +7 -7
  152. package/esm2022/splitbutton/splitbutton.mjs +7 -7
  153. package/esm2022/splitter/splitter.mjs +9 -9
  154. package/esm2022/steps/steps.mjs +7 -7
  155. package/esm2022/styleclass/styleclass.mjs +7 -7
  156. package/esm2022/table/table.interface.mjs +1 -1
  157. package/esm2022/table/table.mjs +116 -97
  158. package/esm2022/tabmenu/tabmenu.mjs +7 -7
  159. package/esm2022/tabview/tabview.mjs +10 -10
  160. package/esm2022/tag/tag.mjs +7 -7
  161. package/esm2022/terminal/terminal.mjs +7 -7
  162. package/esm2022/terminal/terminalservice.mjs +3 -3
  163. package/esm2022/tieredmenu/tieredmenu.mjs +17 -20
  164. package/esm2022/timeline/timeline.mjs +9 -9
  165. package/esm2022/toast/toast.mjs +25 -13
  166. package/esm2022/togglebutton/togglebutton.mjs +7 -7
  167. package/esm2022/toolbar/toolbar.mjs +7 -7
  168. package/esm2022/tooltip/tooltip.mjs +28 -22
  169. package/esm2022/tree/tree.mjs +10 -10
  170. package/esm2022/treeselect/treeselect.mjs +12 -12
  171. package/esm2022/treetable/treetable.interface.mjs +1 -1
  172. package/esm2022/treetable/treetable.mjs +80 -58
  173. package/esm2022/tristatecheckbox/tristatecheckbox.mjs +7 -7
  174. package/esm2022/virtualscroller/virtualscroller.mjs +7 -7
  175. package/fesm2022/primeng-accordion.mjs +10 -10
  176. package/fesm2022/primeng-animate.mjs +7 -7
  177. package/fesm2022/primeng-api.mjs +34 -34
  178. package/fesm2022/primeng-autocomplete.mjs +59 -37
  179. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  180. package/fesm2022/primeng-autofocus.mjs +7 -7
  181. package/fesm2022/primeng-avatar.mjs +7 -7
  182. package/fesm2022/primeng-avatargroup.mjs +7 -7
  183. package/fesm2022/primeng-badge.mjs +10 -10
  184. package/fesm2022/primeng-baseicon.mjs +3 -3
  185. package/fesm2022/primeng-blockui.mjs +7 -7
  186. package/fesm2022/primeng-breadcrumb.mjs +7 -7
  187. package/fesm2022/primeng-button.mjs +12 -11
  188. package/fesm2022/primeng-button.mjs.map +1 -1
  189. package/fesm2022/primeng-calendar.mjs +32 -12
  190. package/fesm2022/primeng-calendar.mjs.map +1 -1
  191. package/fesm2022/primeng-card.mjs +7 -7
  192. package/fesm2022/primeng-carousel.mjs +17 -13
  193. package/fesm2022/primeng-carousel.mjs.map +1 -1
  194. package/fesm2022/primeng-cascadeselect.mjs +10 -10
  195. package/fesm2022/primeng-chart.mjs +7 -7
  196. package/fesm2022/primeng-checkbox.mjs +7 -7
  197. package/fesm2022/primeng-chip.mjs +7 -7
  198. package/fesm2022/primeng-chips.mjs +14 -10
  199. package/fesm2022/primeng-chips.mjs.map +1 -1
  200. package/fesm2022/primeng-colorpicker.mjs +7 -7
  201. package/fesm2022/primeng-confirmdialog.mjs +7 -7
  202. package/fesm2022/primeng-confirmpopup.mjs +7 -7
  203. package/fesm2022/primeng-contextmenu.mjs +19 -16
  204. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  205. package/fesm2022/primeng-dataview.mjs +30 -12
  206. package/fesm2022/primeng-dataview.mjs.map +1 -1
  207. package/fesm2022/primeng-defer.mjs +7 -7
  208. package/fesm2022/primeng-dialog.mjs +25 -22
  209. package/fesm2022/primeng-dialog.mjs.map +1 -1
  210. package/fesm2022/primeng-divider.mjs +7 -7
  211. package/fesm2022/primeng-dock.mjs +7 -7
  212. package/fesm2022/primeng-dragdrop.mjs +10 -10
  213. package/fesm2022/primeng-dropdown.mjs +17 -14
  214. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  215. package/fesm2022/primeng-dynamicdialog.mjs +40 -22
  216. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  217. package/fesm2022/primeng-editor.mjs +7 -7
  218. package/fesm2022/primeng-fieldset.mjs +7 -7
  219. package/fesm2022/primeng-fileupload.mjs +8 -7
  220. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  221. package/fesm2022/primeng-focustrap.mjs +7 -7
  222. package/fesm2022/primeng-galleria.mjs +29 -19
  223. package/fesm2022/primeng-galleria.mjs.map +1 -1
  224. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  225. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  226. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  227. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  228. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  229. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  230. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  231. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  232. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  233. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  234. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  235. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  236. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  237. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  238. package/fesm2022/primeng-icons-ban.mjs +3 -3
  239. package/fesm2022/primeng-icons-bars.mjs +3 -3
  240. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  241. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  242. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  243. package/fesm2022/primeng-icons-check.mjs +3 -3
  244. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  245. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  246. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  247. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  248. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  249. package/fesm2022/primeng-icons-eye.mjs +3 -3
  250. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  251. package/fesm2022/primeng-icons-filter.mjs +3 -3
  252. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  253. package/fesm2022/primeng-icons-home.mjs +3 -3
  254. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  255. package/fesm2022/primeng-icons-minus.mjs +3 -3
  256. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  257. package/fesm2022/primeng-icons-plus.mjs +3 -3
  258. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  259. package/fesm2022/primeng-icons-search.mjs +3 -3
  260. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  261. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  262. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  263. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  264. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  265. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  266. package/fesm2022/primeng-icons-star.mjs +3 -3
  267. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  268. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  269. package/fesm2022/primeng-icons-times.mjs +3 -3
  270. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  271. package/fesm2022/primeng-icons-trash.mjs +3 -3
  272. package/fesm2022/primeng-icons-undo.mjs +3 -3
  273. package/fesm2022/primeng-icons-upload.mjs +3 -3
  274. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  275. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  276. package/fesm2022/primeng-image.mjs +16 -9
  277. package/fesm2022/primeng-image.mjs.map +1 -1
  278. package/fesm2022/primeng-inplace.mjs +13 -13
  279. package/fesm2022/primeng-inputmask.mjs +7 -7
  280. package/fesm2022/primeng-inputnumber.mjs +9 -9
  281. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  282. package/fesm2022/primeng-inputswitch.mjs +7 -7
  283. package/fesm2022/primeng-inputtext.mjs +7 -7
  284. package/fesm2022/primeng-inputtextarea.mjs +7 -23
  285. package/fesm2022/primeng-inputtextarea.mjs.map +1 -1
  286. package/fesm2022/primeng-keyfilter.mjs +21 -9
  287. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  288. package/fesm2022/primeng-knob.mjs +7 -7
  289. package/fesm2022/primeng-listbox.mjs +7 -7
  290. package/fesm2022/primeng-megamenu.mjs +12 -12
  291. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  292. package/fesm2022/primeng-menu.mjs +19 -13
  293. package/fesm2022/primeng-menu.mjs.map +1 -1
  294. package/fesm2022/primeng-menubar.mjs +15 -15
  295. package/fesm2022/primeng-menubar.mjs.map +1 -1
  296. package/fesm2022/primeng-message.mjs +7 -7
  297. package/fesm2022/primeng-messages.mjs +7 -7
  298. package/fesm2022/primeng-multiselect.mjs +24 -17
  299. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  300. package/fesm2022/primeng-orderlist.mjs +7 -7
  301. package/fesm2022/primeng-organizationchart.mjs +10 -10
  302. package/fesm2022/primeng-overlay.mjs +7 -7
  303. package/fesm2022/primeng-overlaypanel.mjs +14 -19
  304. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  305. package/fesm2022/primeng-paginator.mjs +28 -10
  306. package/fesm2022/primeng-paginator.mjs.map +1 -1
  307. package/fesm2022/primeng-panel.mjs +9 -9
  308. package/fesm2022/primeng-panelmenu.mjs +18 -15
  309. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  310. package/fesm2022/primeng-password.mjs +24 -15
  311. package/fesm2022/primeng-password.mjs.map +1 -1
  312. package/fesm2022/primeng-picklist.mjs +13 -9
  313. package/fesm2022/primeng-picklist.mjs.map +1 -1
  314. package/fesm2022/primeng-progressbar.mjs +7 -7
  315. package/fesm2022/primeng-progressspinner.mjs +7 -7
  316. package/fesm2022/primeng-radiobutton.mjs +10 -10
  317. package/fesm2022/primeng-rating.mjs +7 -7
  318. package/fesm2022/primeng-ripple.mjs +7 -7
  319. package/fesm2022/primeng-scroller.mjs +7 -7
  320. package/fesm2022/primeng-scrollpanel.mjs +7 -7
  321. package/fesm2022/primeng-scrolltop.mjs +7 -7
  322. package/fesm2022/primeng-selectbutton.mjs +18 -20
  323. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  324. package/fesm2022/primeng-sidebar.mjs +8 -8
  325. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  326. package/fesm2022/primeng-skeleton.mjs +7 -7
  327. package/fesm2022/primeng-slidemenu.mjs +19 -16
  328. package/fesm2022/primeng-slidemenu.mjs.map +1 -1
  329. package/fesm2022/primeng-slider.mjs +7 -7
  330. package/fesm2022/primeng-speeddial.mjs +7 -7
  331. package/fesm2022/primeng-spinner.mjs +7 -7
  332. package/fesm2022/primeng-splitbutton.mjs +7 -7
  333. package/fesm2022/primeng-splitter.mjs +9 -9
  334. package/fesm2022/primeng-splitter.mjs.map +1 -1
  335. package/fesm2022/primeng-steps.mjs +7 -7
  336. package/fesm2022/primeng-styleclass.mjs +7 -7
  337. package/fesm2022/primeng-table.mjs +115 -96
  338. package/fesm2022/primeng-table.mjs.map +1 -1
  339. package/fesm2022/primeng-tabmenu.mjs +7 -7
  340. package/fesm2022/primeng-tabview.mjs +10 -10
  341. package/fesm2022/primeng-tag.mjs +7 -7
  342. package/fesm2022/primeng-terminal.mjs +10 -10
  343. package/fesm2022/primeng-tieredmenu.mjs +16 -19
  344. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  345. package/fesm2022/primeng-timeline.mjs +9 -9
  346. package/fesm2022/primeng-timeline.mjs.map +1 -1
  347. package/fesm2022/primeng-toast.mjs +24 -12
  348. package/fesm2022/primeng-toast.mjs.map +1 -1
  349. package/fesm2022/primeng-togglebutton.mjs +7 -7
  350. package/fesm2022/primeng-toolbar.mjs +7 -7
  351. package/fesm2022/primeng-tooltip.mjs +27 -21
  352. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  353. package/fesm2022/primeng-tree.mjs +10 -10
  354. package/fesm2022/primeng-treeselect.mjs +11 -11
  355. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  356. package/fesm2022/primeng-treetable.mjs +79 -57
  357. package/fesm2022/primeng-treetable.mjs.map +1 -1
  358. package/fesm2022/primeng-tristatecheckbox.mjs +7 -7
  359. package/fesm2022/primeng-virtualscroller.mjs +7 -7
  360. package/galleria/galleria.d.ts +6 -1
  361. package/image/image.d.ts +6 -1
  362. package/inputtextarea/inputtextarea.d.ts +0 -2
  363. package/keyfilter/keyfilter.d.ts +6 -5
  364. package/keyfilter/keyfilter.interface.d.ts +5 -0
  365. package/keyfilter/public_api.d.ts +1 -0
  366. package/menu/menu.d.ts +1 -0
  367. package/multiselect/multiselect.d.ts +8 -6
  368. package/package.json +153 -153
  369. package/paginator/paginator.d.ts +7 -1
  370. package/password/password.d.ts +6 -1
  371. package/resources/components/panel/panel.css +1 -1
  372. package/resources/components/splitter/splitter.css +2 -1
  373. package/sidebar/sidebar.d.ts +1 -1
  374. package/table/table.d.ts +12 -3
  375. package/table/table.interface.d.ts +1 -1
  376. package/toast/toast.d.ts +8 -2
  377. package/tooltip/tooltip.d.ts +6 -6
  378. package/treeselect/treeselect.d.ts +5 -5
  379. package/treetable/treetable.d.ts +14 -4
  380. package/treetable/treetable.interface.d.ts +9 -2
@@ -130,8 +130,8 @@ class InputSwitch {
130
130
  checked() {
131
131
  return this.modelValue === this.trueValue;
132
132
  }
133
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: InputSwitch, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
134
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: InputSwitch, selector: "p-inputSwitch", inputs: { style: "style", styleClass: "styleClass", tabindex: "tabindex", inputId: "inputId", name: "name", disabled: "disabled", readonly: "readonly", trueValue: "trueValue", falseValue: "falseValue", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy" }, outputs: { onChange: "onChange" }, host: { classAttribute: "p-element" }, providers: [INPUTSWITCH_VALUE_ACCESSOR], ngImport: i0, template: `
133
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputSwitch, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
134
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: InputSwitch, selector: "p-inputSwitch", inputs: { style: "style", styleClass: "styleClass", tabindex: "tabindex", inputId: "inputId", name: "name", disabled: "disabled", readonly: "readonly", trueValue: "trueValue", falseValue: "falseValue", ariaLabel: "ariaLabel", ariaLabelledBy: "ariaLabelledBy" }, outputs: { onChange: "onChange" }, host: { classAttribute: "p-element" }, providers: [INPUTSWITCH_VALUE_ACCESSOR], ngImport: i0, template: `
135
135
  <div [ngClass]="{ 'p-inputswitch p-component': true, 'p-inputswitch-checked': checked(), 'p-disabled': disabled, 'p-focus': focused }" [ngStyle]="style" [class]="styleClass" (click)="onClick($event, cb)">
136
136
  <div class="p-hidden-accessible">
137
137
  <input
@@ -156,7 +156,7 @@ class InputSwitch {
156
156
  `, isInline: true, styles: [".p-inputswitch{position:relative;display:inline-block;-webkit-user-select:none;user-select:none}.p-inputswitch-slider{position:absolute;cursor:pointer;inset:0}.p-inputswitch-slider:before{position:absolute;content:\"\";top:50%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
157
157
  }
158
158
  export { InputSwitch };
159
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: InputSwitch, decorators: [{
159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputSwitch, decorators: [{
160
160
  type: Component,
161
161
  args: [{ selector: 'p-inputSwitch', template: `
162
162
  <div [ngClass]="{ 'p-inputswitch p-component': true, 'p-inputswitch-checked': checked(), 'p-disabled': disabled, 'p-focus': focused }" [ngStyle]="style" [class]="styleClass" (click)="onClick($event, cb)">
@@ -209,12 +209,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
209
209
  type: Output
210
210
  }] } });
211
211
  class InputSwitchModule {
212
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: InputSwitchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
213
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: InputSwitchModule, declarations: [InputSwitch], imports: [CommonModule], exports: [InputSwitch] });
214
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: InputSwitchModule, imports: [CommonModule] });
212
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputSwitchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
213
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: InputSwitchModule, declarations: [InputSwitch], imports: [CommonModule], exports: [InputSwitch] });
214
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputSwitchModule, imports: [CommonModule] });
215
215
  }
216
216
  export { InputSwitchModule };
217
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: InputSwitchModule, decorators: [{
217
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputSwitchModule, decorators: [{
218
218
  type: NgModule,
219
219
  args: [{
220
220
  imports: [CommonModule],
@@ -25,11 +25,11 @@ class InputText {
25
25
  updateFilledState() {
26
26
  this.filled = (this.el.nativeElement.value && this.el.nativeElement.value.length) || (this.ngModel && this.ngModel.model);
27
27
  }
28
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: InputText, deps: [{ token: i0.ElementRef }, { token: i1.NgModel, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
29
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: InputText, selector: "[pInputText]", host: { listeners: { "input": "onInput($event)" }, properties: { "class.p-filled": "filled" }, classAttribute: "p-inputtext p-component p-element" }, ngImport: i0 });
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputText, deps: [{ token: i0.ElementRef }, { token: i1.NgModel, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
29
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: InputText, selector: "[pInputText]", host: { listeners: { "input": "onInput($event)" }, properties: { "class.p-filled": "filled" }, classAttribute: "p-inputtext p-component p-element" }, ngImport: i0 });
30
30
  }
31
31
  export { InputText };
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: InputText, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputText, decorators: [{
33
33
  type: Directive,
34
34
  args: [{
35
35
  selector: '[pInputText]',
@@ -45,12 +45,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
45
45
  args: ['input', ['$event']]
46
46
  }] } });
47
47
  class InputTextModule {
48
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: InputTextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
49
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: InputTextModule, declarations: [InputText], imports: [CommonModule], exports: [InputText] });
50
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: InputTextModule, imports: [CommonModule] });
48
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputTextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
49
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: InputTextModule, declarations: [InputText], imports: [CommonModule], exports: [InputText] });
50
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputTextModule, imports: [CommonModule] });
51
51
  }
52
52
  export { InputTextModule };
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: InputTextModule, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputTextModule, decorators: [{
54
54
  type: NgModule,
55
55
  args: [{
56
56
  imports: [CommonModule],
@@ -56,16 +56,6 @@ class InputTextarea {
56
56
  updateFilledState() {
57
57
  this.filled = this.el.nativeElement.value && this.el.nativeElement.value.length;
58
58
  }
59
- onFocus(e) {
60
- if (this.autoResize) {
61
- this.resize(e);
62
- }
63
- }
64
- onBlur(e) {
65
- if (this.autoResize) {
66
- this.resize(e);
67
- }
68
- }
69
59
  resize(event) {
70
60
  this.el.nativeElement.style.height = 'auto';
71
61
  this.el.nativeElement.style.height = this.el.nativeElement.scrollHeight + 'px';
@@ -92,11 +82,11 @@ class InputTextarea {
92
82
  this.ngControlSubscription.unsubscribe();
93
83
  }
94
84
  }
95
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: InputTextarea, deps: [{ token: i0.ElementRef }, { token: i1.NgModel, optional: true }, { token: i1.NgControl, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
96
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: InputTextarea, selector: "[pInputTextarea]", inputs: { autoResize: "autoResize" }, outputs: { onResize: "onResize" }, host: { listeners: { "input": "onInput($event)", "focus": "onFocus($event)", "blur": "onBlur($event)" }, properties: { "class.p-filled": "filled", "class.p-inputtextarea-resizable": "autoResize" }, classAttribute: "p-inputtextarea p-inputtext p-component p-element" }, ngImport: i0 });
85
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputTextarea, deps: [{ token: i0.ElementRef }, { token: i1.NgModel, optional: true }, { token: i1.NgControl, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
86
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: InputTextarea, selector: "[pInputTextarea]", inputs: { autoResize: "autoResize" }, outputs: { onResize: "onResize" }, host: { listeners: { "input": "onInput($event)" }, properties: { "class.p-filled": "filled", "class.p-inputtextarea-resizable": "autoResize" }, classAttribute: "p-inputtextarea p-inputtext p-component p-element" }, ngImport: i0 });
97
87
  }
98
88
  export { InputTextarea };
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: InputTextarea, decorators: [{
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputTextarea, decorators: [{
100
90
  type: Directive,
101
91
  args: [{
102
92
  selector: '[pInputTextarea]',
@@ -117,20 +107,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
117
107
  }], onInput: [{
118
108
  type: HostListener,
119
109
  args: ['input', ['$event']]
120
- }], onFocus: [{
121
- type: HostListener,
122
- args: ['focus', ['$event']]
123
- }], onBlur: [{
124
- type: HostListener,
125
- args: ['blur', ['$event']]
126
110
  }] } });
127
111
  class InputTextareaModule {
128
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: InputTextareaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
129
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: InputTextareaModule, declarations: [InputTextarea], imports: [CommonModule], exports: [InputTextarea] });
130
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: InputTextareaModule, imports: [CommonModule] });
112
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputTextareaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
113
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: InputTextareaModule, declarations: [InputTextarea], imports: [CommonModule], exports: [InputTextarea] });
114
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputTextareaModule, imports: [CommonModule] });
131
115
  }
132
116
  export { InputTextareaModule };
133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: InputTextareaModule, decorators: [{
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputTextareaModule, decorators: [{
134
118
  type: NgModule,
135
119
  args: [{
136
120
  imports: [CommonModule],
@@ -138,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
138
122
  declarations: [InputTextarea]
139
123
  }]
140
124
  }] });
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXR0ZXh0YXJlYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9pbnB1dHRleHRhcmVhL2lucHV0dGV4dGFyZWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBdUQsTUFBTSxlQUFlLENBQUM7QUFFMUssT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFL0M7OztHQUdHO0FBQ0gsTUFRYSxhQUFhO0lBcUJIO0lBQW1DO0lBQXFDO0lBQTRCO0lBcEJ2SDs7O09BR0c7SUFDTSxVQUFVLENBQXNCO0lBQ3pDOzs7O09BSUc7SUFDTyxRQUFRLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7SUFFOUUsTUFBTSxDQUFzQjtJQUU1QixrQkFBa0IsQ0FBcUI7SUFFdkMsbUJBQW1CLENBQTJCO0lBRTlDLHFCQUFxQixDQUEyQjtJQUVoRCxZQUFtQixFQUFjLEVBQXFCLE9BQWdCLEVBQXFCLE9BQWtCLEVBQVUsRUFBcUI7UUFBekgsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFxQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQXFCLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFtQjtJQUFHLENBQUM7SUFFaEosUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNkLElBQUksQ0FBQyxtQkFBbUIsR0FBSSxJQUFJLENBQUMsT0FBZSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUN6RSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkIsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNkLElBQUksQ0FBQyxxQkFBcUIsR0FB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bUNBQW1DLEVBQUUsWUFBWTtxQkFDcEQ7aUJBQ0o7OzBCQXNCdUMsUUFBUTs7MEJBQTZCLFFBQVE7NEVBaEJ4RSxVQUFVO3NCQUFsQixLQUFLO2dCQU1JLFFBQVE7c0JBQWpCLE1BQU07Z0JBa0NQLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBVWpDLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBUWpDLE1BQU07c0JBREwsWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0FBd0NwQyxNQUthLG1CQUFtQjt1R0FBbkIsbUJBQW1CO3dHQUFuQixtQkFBbUIsaUJBekduQixhQUFhLGFBcUdaLFlBQVksYUFyR2IsYUFBYTt3R0F5R2IsbUJBQW1CLFlBSmxCLFlBQVk7O1NBSWIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBTC9CLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7b0JBQ3hCLFlBQVksRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT3B0aW9uYWwsIEFmdGVyVmlld0luaXQsIE9uSW5pdCwgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdNb2RlbCwgTmdDb250cm9sLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbi8qKlxuICogSW5wdXRUZXh0YXJlYSBhZGRzIHN0eWxpbmcgYW5kIGF1dG9SZXNpemUgZnVuY3Rpb25hbGl0eSB0byBzdGFuZGFyZCB0ZXh0YXJlYSBlbGVtZW50LlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcElucHV0VGV4dGFyZWFdJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAncC1pbnB1dHRleHRhcmVhIHAtaW5wdXR0ZXh0IHAtY29tcG9uZW50IHAtZWxlbWVudCcsXG4gICAgICAgICdbY2xhc3MucC1maWxsZWRdJzogJ2ZpbGxlZCcsXG4gICAgICAgICdbY2xhc3MucC1pbnB1dHRleHRhcmVhLXJlc2l6YWJsZV0nOiAnYXV0b1Jlc2l6ZSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIElucHV0VGV4dGFyZWEgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICogV2hlbiBwcmVzZW50LCB0ZXh0YXJlYSBzaXplIGNoYW5nZXMgYXMgYmVpbmcgdHlwZWQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgYXV0b1Jlc2l6ZTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugb24gdGV4dGFyZWEgcmVzaXplLlxuICAgICAqIEBwYXJhbSB7KEV2ZW50IHwge30pfSBldmVudCAtIEN1c3RvbSByZXNpemUgZXZlbnQuXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uUmVzaXplOiBFdmVudEVtaXR0ZXI8RXZlbnQgfCB7fT4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50IHwge30+KCk7XG5cbiAgICBmaWxsZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgICBjYWNoZWRTY3JvbGxIZWlnaHQ6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAgIG5nTW9kZWxTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICAgIG5nQ29udHJvbFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmLCBAT3B0aW9uYWwoKSBwdWJsaWMgbmdNb2RlbDogTmdNb2RlbCwgQE9wdGlvbmFsKCkgcHVibGljIGNvbnRyb2w6IE5nQ29udHJvbCwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMubmdNb2RlbCkge1xuICAgICAgICAgICAgdGhpcy5uZ01vZGVsU3Vic2NyaXB0aW9uID0gKHRoaXMubmdNb2RlbCBhcyBhbnkpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhdGUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5uZ0NvbnRyb2xTdWJzY3JpcHRpb24gPSAodGhpcy5jb250cm9sIGFzIGFueSkudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmF1dG9SZXNpemUpIHRoaXMucmVzaXplKCk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVGaWxsZWRTdGF0ZSgpO1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdpbnB1dCcsIFsnJGV2ZW50J10pXG4gICAgb25JbnB1dChlOiBFdmVudCkge1xuICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKCk7XG4gICAgfVxuXG4gICAgdXBkYXRlRmlsbGVkU3RhdGUoKSB7XG4gICAgICAgIHRoaXMuZmlsbGVkID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlICYmIHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZS5sZW5ndGg7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXMnLCBbJyRldmVudCddKVxuICAgIG9uRm9jdXMoZTogRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuYXV0b1Jlc2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5yZXNpemUoZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdibHVyJywgWyckZXZlbnQnXSlcbiAgICBvbkJsdXIoZTogRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuYXV0b1Jlc2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5yZXNpemUoZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXNpemUoZXZlbnQ/OiBFdmVudCkge1xuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJ2F1dG8nO1xuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodCArICdweCc7XG5cbiAgICAgICAgaWYgKHBhcnNlRmxvYXQodGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCkgPj0gcGFyc2VGbG9hdCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUubWF4SGVpZ2h0KSkge1xuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLm92ZXJmbG93WSA9ICdzY3JvbGwnO1xuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5tYXhIZWlnaHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25SZXNpemUuZW1pdChldmVudCB8fCB7fSk7XG4gICAgfVxuXG4gICAgdXBkYXRlU3RhdGUoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRmlsbGVkU3RhdGUoKTtcblxuICAgICAgICBpZiAodGhpcy5hdXRvUmVzaXplKSB7XG4gICAgICAgICAgICB0aGlzLnJlc2l6ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLm5nTW9kZWxTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMubmdNb2RlbFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtJbnB1dFRleHRhcmVhXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtJbnB1dFRleHRhcmVhXVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dFRleHRhcmVhTW9kdWxlIHt9XG4iXX0=
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXR0ZXh0YXJlYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9pbnB1dHRleHRhcmVhL2lucHV0dGV4dGFyZWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBdUQsTUFBTSxlQUFlLENBQUM7QUFFMUssT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFL0M7OztHQUdHO0FBQ0gsTUFRYSxhQUFhO0lBcUJIO0lBQW1DO0lBQXFDO0lBQTRCO0lBcEJ2SDs7O09BR0c7SUFDTSxVQUFVLENBQXNCO0lBQ3pDOzs7O09BSUc7SUFDTyxRQUFRLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7SUFFOUUsTUFBTSxDQUFzQjtJQUU1QixrQkFBa0IsQ0FBcUI7SUFFdkMsbUJBQW1CLENBQTJCO0lBRTlDLHFCQUFxQixDQUEyQjtJQUVoRCxZQUFtQixFQUFjLEVBQXFCLE9BQWdCLEVBQXFCLE9BQWtCLEVBQVUsRUFBcUI7UUFBekgsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFxQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQXFCLFlBQU8sR0FBUCxPQUFPLENBQVc7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFtQjtJQUFHLENBQUM7SUFFaEosUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNkLElBQUksQ0FBQyxtQkFBbUIsR0FBSSxJQUFJLENBQUMsT0FBZSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUN6RSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkIsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNkLElBQUksQ0FBQyxxQkFBcUIsR0FB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LGFBQWEsYUF1RlosWUFBWSxhQXZGYixhQUFhO3dHQTJGYixtQkFBbUIsWUFKbEIsWUFBWTs7U0FJYixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFML0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztvQkFDeEIsWUFBWSxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPcHRpb25hbCwgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0LCBPbkRlc3Ryb3ksIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ01vZGVsLCBOZ0NvbnRyb2wsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuLyoqXG4gKiBJbnB1dFRleHRhcmVhIGFkZHMgc3R5bGluZyBhbmQgYXV0b1Jlc2l6ZSBmdW5jdGlvbmFsaXR5IHRvIHN0YW5kYXJkIHRleHRhcmVhIGVsZW1lbnQuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1twSW5wdXRUZXh0YXJlYV0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdwLWlucHV0dGV4dGFyZWEgcC1pbnB1dHRleHQgcC1jb21wb25lbnQgcC1lbGVtZW50JyxcbiAgICAgICAgJ1tjbGFzcy5wLWZpbGxlZF0nOiAnZmlsbGVkJyxcbiAgICAgICAgJ1tjbGFzcy5wLWlucHV0dGV4dGFyZWEtcmVzaXphYmxlXSc6ICdhdXRvUmVzaXplJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRUZXh0YXJlYSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKipcbiAgICAgKiBXaGVuIHByZXNlbnQsIHRleHRhcmVhIHNpemUgY2hhbmdlcyBhcyBiZWluZyB0eXBlZC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBhdXRvUmVzaXplOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSBvbiB0ZXh0YXJlYSByZXNpemUuXG4gICAgICogQHBhcmFtIHsoRXZlbnQgfCB7fSl9IGV2ZW50IC0gQ3VzdG9tIHJlc2l6ZSBldmVudC5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25SZXNpemU6IEV2ZW50RW1pdHRlcjxFdmVudCB8IHt9PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQgfCB7fT4oKTtcblxuICAgIGZpbGxlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAgIGNhY2hlZFNjcm9sbEhlaWdodDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gICAgbmdNb2RlbFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICAgbmdDb250cm9sU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWw6IEVsZW1lbnRSZWYsIEBPcHRpb25hbCgpIHB1YmxpYyBuZ01vZGVsOiBOZ01vZGVsLCBAT3B0aW9uYWwoKSBwdWJsaWMgY29udHJvbDogTmdDb250cm9sLCBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5uZ01vZGVsKSB7XG4gICAgICAgICAgICB0aGlzLm5nTW9kZWxTdWJzY3JpcHRpb24gPSAodGhpcy5uZ01vZGVsIGFzIGFueSkudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbFN1YnNjcmlwdGlvbiA9ICh0aGlzLmNvbnRyb2wgYXMgYW55KS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuYXV0b1Jlc2l6ZSkgdGhpcy5yZXNpemUoKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUZpbGxlZFN0YXRlKCk7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2lucHV0JywgWyckZXZlbnQnXSlcbiAgICBvbklucHV0KGU6IEV2ZW50KSB7XG4gICAgICAgIHRoaXMudXBkYXRlU3RhdGUoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVGaWxsZWRTdGF0ZSgpIHtcbiAgICAgICAgdGhpcy5maWxsZWQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgJiYgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlLmxlbmd0aDtcbiAgICB9XG5cbiAgICByZXNpemUoZXZlbnQ/OiBFdmVudCkge1xuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJ2F1dG8nO1xuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodCArICdweCc7XG5cbiAgICAgICAgaWYgKHBhcnNlRmxvYXQodGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCkgPj0gcGFyc2VGbG9hdCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUubWF4SGVpZ2h0KSkge1xuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLm92ZXJmbG93WSA9ICdzY3JvbGwnO1xuICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5tYXhIZWlnaHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25SZXNpemUuZW1pdChldmVudCB8fCB7fSk7XG4gICAgfVxuXG4gICAgdXBkYXRlU3RhdGUoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRmlsbGVkU3RhdGUoKTtcblxuICAgICAgICBpZiAodGhpcy5hdXRvUmVzaXplKSB7XG4gICAgICAgICAgICB0aGlzLnJlc2l6ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLm5nTW9kZWxTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMubmdNb2RlbFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtJbnB1dFRleHRhcmVhXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtJbnB1dFRleHRhcmVhXVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dFRleHRhcmVhTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5ZmlsdGVyLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9rZXlmaWx0ZXIva2V5ZmlsdGVyLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBIGJ1aWx0aW4gcGF0dGVybiBpbmNsdWRlZCB3aXRoaW4gdGhlIEtleUZpbHRlciBjb21wb25lbnQuXG4gKiBAc2VlIHtAbGluayBLZXlGaWx0ZXIucEtleUZpbHRlcn1cbiAqL1xuZXhwb3J0IHR5cGUgS2V5RmlsdGVyUGF0dGVybiA9ICdwaW50JyB8ICdpbnQnIHwgJ3BudW0nIHwgJ21vbmV5JyB8ICdudW0nIHwgJ2hleCcgfCAnZW1haWwnIHwgJ2FscGhhJyB8ICdhbHBoYW51bSc7XG4iXX0=
@@ -56,7 +56,15 @@ class KeyFilter {
56
56
  */
57
57
  set pattern(_pattern) {
58
58
  this._pattern = _pattern;
59
- this.regex = DEFAULT_MASKS[this._pattern] || this._pattern;
59
+ if (_pattern instanceof RegExp) {
60
+ this.regex = _pattern;
61
+ }
62
+ else if (_pattern in DEFAULT_MASKS) {
63
+ this.regex = DEFAULT_MASKS[_pattern];
64
+ }
65
+ else {
66
+ this.regex = /./;
67
+ }
60
68
  }
61
69
  get pattern() {
62
70
  return this._pattern;
@@ -67,7 +75,7 @@ class KeyFilter {
67
75
  * @group Emits
68
76
  */
69
77
  ngModelChange = new EventEmitter();
70
- regex;
78
+ regex = /./;
71
79
  _pattern;
72
80
  isAndroid;
73
81
  lastValue;
@@ -155,6 +163,10 @@ class KeyFilter {
155
163
  else if (k == 17 || k == 18) {
156
164
  return;
157
165
  }
166
+ // Enter key
167
+ if (k == 13) {
168
+ return;
169
+ }
158
170
  let c = this.getCharCode(e);
159
171
  let cc = String.fromCharCode(c);
160
172
  let ok = true;
@@ -188,11 +200,11 @@ class KeyFilter {
188
200
  }
189
201
  }
190
202
  }
191
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: KeyFilter, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
192
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: KeyFilter, selector: "[pKeyFilter]", inputs: { pValidateOnly: "pValidateOnly", pattern: ["pKeyFilter", "pattern"] }, outputs: { ngModelChange: "ngModelChange" }, host: { listeners: { "input": "onInput($event)", "keypress": "onKeyPress($event)", "paste": "onPaste($event)" }, classAttribute: "p-element" }, providers: [KEYFILTER_VALIDATOR], ngImport: i0 });
203
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: KeyFilter, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
204
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.2", type: KeyFilter, selector: "[pKeyFilter]", inputs: { pValidateOnly: "pValidateOnly", pattern: ["pKeyFilter", "pattern"] }, outputs: { ngModelChange: "ngModelChange" }, host: { listeners: { "input": "onInput($event)", "keypress": "onKeyPress($event)", "paste": "onPaste($event)" }, classAttribute: "p-element" }, providers: [KEYFILTER_VALIDATOR], ngImport: i0 });
193
205
  }
194
206
  export { KeyFilter };
195
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: KeyFilter, decorators: [{
207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: KeyFilter, decorators: [{
196
208
  type: Directive,
197
209
  args: [{
198
210
  selector: '[pKeyFilter]',
@@ -225,12 +237,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
225
237
  args: ['paste', ['$event']]
226
238
  }] } });
227
239
  class KeyFilterModule {
228
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: KeyFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
229
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: KeyFilterModule, declarations: [KeyFilter], imports: [CommonModule], exports: [KeyFilter] });
230
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: KeyFilterModule, imports: [CommonModule] });
240
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: KeyFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
241
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: KeyFilterModule, declarations: [KeyFilter], imports: [CommonModule], exports: [KeyFilter] });
242
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: KeyFilterModule, imports: [CommonModule] });
231
243
  }
232
244
  export { KeyFilterModule };
233
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: KeyFilterModule, decorators: [{
245
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: KeyFilterModule, decorators: [{
234
246
  type: NgModule,
235
247
  args: [{
236
248
  imports: [CommonModule],
@@ -238,4 +250,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
238
250
  declarations: [KeyFilter]
239
251
  }]
240
252
  }] });
241
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5ZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2tleWZpbHRlci9rZXlmaWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVJLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6QyxPQUFPLEVBQThCLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUUzRSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBUTtJQUNwQyxPQUFPLEVBQUUsYUFBYTtJQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQztJQUN4QyxLQUFLLEVBQUUsSUFBSTtDQUNkLENBQUM7QUFrQ0YsTUFBTSxhQUFhLEdBQWlCO0lBQ2hDLElBQUksRUFBRSxNQUFNO0lBQ1osR0FBRyxFQUFFLFFBQVE7SUFDYixJQUFJLEVBQUUsUUFBUTtJQUNkLEtBQUssRUFBRSxXQUFXO0lBQ2xCLEdBQUcsRUFBRSxVQUFVO0lBQ2YsR0FBRyxFQUFFLFdBQVc7SUFDaEIsS0FBSyxFQUFFLGlCQUFpQjtJQUN4QixLQUFLLEVBQUUsU0FBUztJQUNoQixRQUFRLEVBQUUsWUFBWTtDQUN6QixDQUFDO0FBRUYsTUFBTSxJQUFJLEdBQVM7SUFDZixHQUFHLEVBQUUsQ0FBQztJQUNOLE1BQU0sRUFBRSxFQUFFO0lBQ1YsR0FBRyxFQUFFLEVBQUU7SUFDUCxTQUFTLEVBQUUsQ0FBQztJQUNaLE1BQU0sRUFBRSxFQUFFO0NBQ2IsQ0FBQztBQUVG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LE1BQU07MkJBQUMsUUFBUTs7MEJBQStCLE1BQU07MkJBQUMsV0FBVztxRUEzQnBFLGFBQWE7c0JBQXJCLEtBQUs7Z0JBS21CLE9BQU87c0JBQS9CLEtBQUs7dUJBQUMsWUFBWTtnQkFZVCxhQUFhO3NCQUF0QixNQUFNO2dCQW1FUCxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQThCakMsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkErQnBDLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0FBMEJyQyxNQUthLGVBQWU7dUdBQWYsZUFBZTt3R0FBZixlQUFlLGlCQWxMZixTQUFTLGFBOEtSLFlBQVksYUE5S2IsU0FBUzt3R0FrTFQsZUFBZSxZQUpkLFlBQVk7O1NBSWIsZUFBZTsyRkFBZixlQUFlO2tCQUwzQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDO29CQUNwQixZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUM7aUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgZm9yd2FyZFJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERvbUhhbmRsZXIgfSBmcm9tICdwcmltZW5nL2RvbSc7XG5pbXBvcnQgeyBWYWxpZGF0b3IsIEFic3RyYWN0Q29udHJvbCwgTkdfVkFMSURBVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuZXhwb3J0IGNvbnN0IEtFWUZJTFRFUl9WQUxJREFUT1I6IGFueSA9IHtcbiAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEtleUZpbHRlciksXG4gICAgbXVsdGk6IHRydWVcbn07XG5cbnR5cGUgRGVmYXVsdE1hc2tzID0ge1xuICAgIHBpbnQ6IFJlZ0V4cDtcbiAgICBpbnQ6IFJlZ0V4cDtcbiAgICBwbnVtOiBSZWdFeHA7XG4gICAgbW9uZXk6IFJlZ0V4cDtcbiAgICBudW06IFJlZ0V4cDtcbiAgICBoZXg6IFJlZ0V4cDtcbiAgICBlbWFpbDogUmVnRXhwO1xuICAgIGFscGhhOiBSZWdFeHA7XG4gICAgYWxwaGFudW06IFJlZ0V4cDtcbn07XG5cbnR5cGUgU2FmYXJpS2V5cyA9IHtcbiAgICA2MzIzNDogbnVtYmVyO1xuICAgIDYzMjM1OiBudW1iZXI7XG4gICAgNjMyMzI6IG51bWJlcjtcbiAgICA2MzIzMzogbnVtYmVyO1xuICAgIDYzMjc2OiBudW1iZXI7XG4gICAgNjMyNzc6IG51bWJlcjtcbiAgICA2MzI3MjogbnVtYmVyO1xuICAgIDYzMjczOiBudW1iZXI7XG4gICAgNjMyNzU6IG51bWJlcjtcbn07XG5cbnR5cGUgS2V5cyA9IHtcbiAgICBUQUI6IG51bWJlcjtcbiAgICBSRVRVUk46IG51bWJlcjtcbiAgICBFU0M6IG51bWJlcjtcbiAgICBCQUNLU1BBQ0U6IG51bWJlcjtcbiAgICBERUxFVEU6IG51bWJlcjtcbn07XG5cbmNvbnN0IERFRkFVTFRfTUFTS1M6IERlZmF1bHRNYXNrcyA9IHtcbiAgICBwaW50OiAvW1xcZF0vLFxuICAgIGludDogL1tcXGRcXC1dLyxcbiAgICBwbnVtOiAvW1xcZFxcLl0vLFxuICAgIG1vbmV5OiAvW1xcZFxcLlxccyxdLyxcbiAgICBudW06IC9bXFxkXFwtXFwuXS8sXG4gICAgaGV4OiAvWzAtOWEtZl0vaSxcbiAgICBlbWFpbDogL1thLXowLTlfXFwuXFwtQF0vaSxcbiAgICBhbHBoYTogL1thLXpfXS9pLFxuICAgIGFscGhhbnVtOiAvW2EtejAtOV9dL2lcbn07XG5cbmNvbnN0IEtFWVM6IEtleXMgPSB7XG4gICAgVEFCOiA5LFxuICAgIFJFVFVSTjogMTMsXG4gICAgRVNDOiAyNyxcbiAgICBCQUNLU1BBQ0U6IDgsXG4gICAgREVMRVRFOiA0NlxufTtcblxuY29uc3QgU0FGQVJJX0tFWVM6IFNhZmFyaUtleXMgPSB7XG4gICAgNjMyMzQ6IDM3LCAvLyBsZWZ0XG4gICAgNjMyMzU6IDM5LCAvLyByaWdodFxuICAgIDYzMjMyOiAzOCwgLy8gdXBcbiAgICA2MzIzMzogNDAsIC8vIGRvd25cbiAgICA2MzI3NjogMzMsIC8vIHBhZ2UgdXBcbiAgICA2MzI3NzogMzQsIC8vIHBhZ2UgZG93blxuICAgIDYzMjcyOiA0NiwgLy8gZGVsZXRlXG4gICAgNjMyNzM6IDM2LCAvLyBob21lXG4gICAgNjMyNzU6IDM1IC8vIGVuZFxufTtcbi8qKlxuICogS2V5RmlsdGVyIERpcmVjdGl2ZSBpcyBhIGJ1aWx0LWluIGZlYXR1cmUgb2YgSW5wdXRUZXh0IHRvIHJlc3RyaWN0IHVzZXIgaW5wdXQgYmFzZWQgb24gYSByZWd1bGFyIGV4cHJlc3Npb24uXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1twS2V5RmlsdGVyXScsXG4gICAgcHJvdmlkZXJzOiBbS0VZRklMVEVSX1ZBTElEQVRPUl0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3AtZWxlbWVudCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEtleUZpbHRlciBpbXBsZW1lbnRzIFZhbGlkYXRvciB7XG4gICAgLyoqXG4gICAgICogV2hlbiBlbmFibGVkLCBpbnN0ZWFkIG9mIGJsb2NraW5nIGtleXMsIGlucHV0IGlzIHZhbGlkYXRlZCBpbnRlcm5hbGx5IHRvIHRlc3QgYWdhaW5zdCB0aGUgcmVndWxhciBleHByZXNzaW9uLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHBWYWxpZGF0ZU9ubHk6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgcGF0dGVybiBmb3Iga2V5IGZpbHRlcmluZy5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoJ3BLZXlGaWx0ZXInKSBzZXQgcGF0dGVybihfcGF0dGVybjogc3RyaW5nIHwgUmVnRXhwKSB7XG4gICAgICAgIHRoaXMuX3BhdHRlcm4gPSBfcGF0dGVybjtcbiAgICAgICAgdGhpcy5yZWdleCA9IChERUZBVUxUX01BU0tTIGFzIGFueSlbdGhpcy5fcGF0dGVybiBhcyBzdHJpbmddIHx8IHRoaXMuX3BhdHRlcm47XG4gICAgfVxuICAgIGdldCBwYXR0ZXJuKCk6IHN0cmluZyB8IFJlZ0V4cCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wYXR0ZXJuO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBFbWl0cyBhIHZhbHVlIHdoZW5ldmVyIHRoZSBuZ01vZGVsIG9mIHRoZSBjb21wb25lbnQgY2hhbmdlcy5cbiAgICAgKiBAcGFyYW0geyhzdHJpbmcgfCBudW1iZXIpfSBtb2RlbFZhbHVlIC0gQ3VzdG9tIG1vZGVsIGNoYW5nZSBldmVudC5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgbmdNb2RlbENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bWJlcj4oKTtcblxuICAgIHJlZ2V4ITogUmVnRXhwO1xuXG4gICAgX3BhdHRlcm46IHN0cmluZyB8IFJlZ0V4cDtcblxuICAgIGlzQW5kcm9pZDogYm9vbGVhbjtcblxuICAgIGxhc3RWYWx1ZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogYW55LCBwdWJsaWMgZWw6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIHRoaXMuaXNBbmRyb2lkID0gRG9tSGFuZGxlci5pc0FuZHJvaWQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaXNBbmRyb2lkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc05hdktleVByZXNzKGU6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgbGV0IGsgPSBlLmtleUNvZGU7XG4gICAgICAgIGsgPSBEb21IYW5kbGVyLmdldEJyb3dzZXIoKS5zYWZhcmkgPyAoU0FGQVJJX0tFWVMgYXMgYW55KVtrXSB8fCBrIDogaztcblxuICAgICAgICByZXR1cm4gKGsgPj0gMzMgJiYgayA8PSA0MCkgfHwgayA9PSBLRVlTLlJFVFVSTiB8fCBrID09IEtFWVMuVEFCIHx8IGsgPT0gS0VZUy5FU0M7XG4gICAgfVxuXG4gICAgaXNTcGVjaWFsS2V5KGU6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgbGV0IGsgPSBlLmtleUNvZGUgfHwgZS5jaGFyQ29kZTtcblxuICAgICAgICByZXR1cm4gayA9PSA5IHx8IGsgPT0gMTMgfHwgayA9PSAyNyB8fCBrID09IDE2IHx8IGsgPT0gMTcgfHwgKGsgPj0gMTggJiYgayA8PSAyMCkgfHwgKERvbUhhbmRsZXIuZ2V0QnJvd3NlcigpLm9wZXJhICYmICFlLnNoaWZ0S2V5ICYmIChrID09IDggfHwgKGsgPj0gMzMgJiYgayA8PSAzNSkgfHwgKGsgPj0gMzYgJiYgayA8PSAzOSkgfHwgKGsgPj0gNDQgJiYgayA8PSA0NSkpKTtcbiAgICB9XG5cbiAgICBnZXRLZXkoZTogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBsZXQgayA9IGUua2V5Q29kZSB8fCBlLmNoYXJDb2RlO1xuICAgICAgICByZXR1cm4gRG9tSGFuZGxlci5nZXRCcm93c2VyKCkuc2FmYXJpID8gKFNBRkFSSV9LRVlTIGFzIGFueSlba10gfHwgayA6IGs7XG4gICAgfVxuXG4gICAgZ2V0Q2hhckNvZGUoZTogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICByZXR1cm4gZS5jaGFyQ29kZSB8fCBlLmtleUNvZGUgfHwgZS53aGljaDtcbiAgICB9XG5cbiAgICBmaW5kRGVsdGEodmFsdWU6IHN0cmluZywgcHJldlZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgbGV0IGRlbHRhID0gJyc7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgbGV0IHN0ciA9IHZhbHVlLnN1YnN0cigwLCBpKSArIHZhbHVlLnN1YnN0cihpICsgdmFsdWUubGVuZ3RoIC0gcHJldlZhbHVlLmxlbmd0aCk7XG5cbiAgICAgICAgICAgIGlmIChzdHIgPT09IHByZXZWYWx1ZSkgZGVsdGEgPSB2YWx1ZS5zdWJzdHIoaSwgdmFsdWUubGVuZ3RoIC0gcHJldlZhbHVlLmxlbmd0aCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGVsdGE7XG4gICAgfVxuXG4gICAgaXNWYWxpZENoYXIoYzogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiAoPFJlZ0V4cD50aGlzLnJlZ2V4KS50ZXN0KGMpO1xuICAgIH1cblxuICAgIGlzVmFsaWRTdHJpbmcoc3RyOiBzdHJpbmcpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5pc1ZhbGlkQ2hhcihzdHIuc3Vic3RyKGksIDEpKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2lucHV0JywgWyckZXZlbnQnXSlcbiAgICBvbklucHV0KGU6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNBbmRyb2lkICYmICF0aGlzLnBWYWxpZGF0ZU9ubHkpIHtcbiAgICAgICAgICAgIGxldCB2YWwgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gICAgICAgICAgICBsZXQgbGFzdFZhbCA9IHRoaXMubGFzdFZhbHVlIHx8ICcnO1xuXG4gICAgICAgICAgICBsZXQgaW5zZXJ0ZWQgPSB0aGlzLmZpbmREZWx0YSh2YWwsIGxhc3RWYWwpO1xuICAgICAgICAgICAgbGV0IHJlbW92ZWQgPSB0aGlzLmZpbmREZWx0YShsYXN0VmFsLCB2YWwpO1xuICAgICAgICAgICAgbGV0IHBhc3RlZCA9IGluc2VydGVkLmxlbmd0aCA+IDEgfHwgKCFpbnNlcnRlZCAmJiAhcmVtb3ZlZCk7XG5cbiAgICAgICAgICAgIGlmIChwYXN0ZWQpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZFN0cmluZyh2YWwpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IGxhc3RWYWw7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmdNb2RlbENoYW5nZS5lbWl0KGxhc3RWYWwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIXJlbW92ZWQpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZENoYXIoaW5zZXJ0ZWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IGxhc3RWYWw7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmdNb2RlbENoYW5nZS5lbWl0KGxhc3RWYWwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFsID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNWYWxpZFN0cmluZyh2YWwpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sYXN0VmFsdWUgPSB2YWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlwcmVzcycsIFsnJGV2ZW50J10pXG4gICAgb25LZXlQcmVzcyhlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmlzQW5kcm9pZCB8fCB0aGlzLnBWYWxpZGF0ZU9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBicm93c2VyID0gRG9tSGFuZGxlci5nZXRCcm93c2VyKCk7XG4gICAgICAgIGxldCBrID0gdGhpcy5nZXRLZXkoZSk7XG5cbiAgICAgICAgaWYgKGJyb3dzZXIubW96aWxsYSAmJiAoZS5jdHJsS2V5IHx8IGUuYWx0S2V5KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2UgaWYgKGsgPT0gMTcgfHwgayA9PSAxOCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGMgPSB0aGlzLmdldENoYXJDb2RlKGUpO1xuICAgICAgICBsZXQgY2MgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGMpO1xuICAgICAgICBsZXQgb2sgPSB0cnVlO1xuXG4gICAgICAgIGlmICghYnJvd3Nlci5tb3ppbGxhICYmICh0aGlzLmlzU3BlY2lhbEtleShlKSB8fCAhY2MpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBvayA9ICg8UmVnRXhwPnRoaXMucmVnZXgpLnRlc3QoY2MpO1xuXG4gICAgICAgIGlmICghb2spIHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3Bhc3RlJywgWyckZXZlbnQnXSlcbiAgICBvblBhc3RlKGU6IENsaXBib2FyZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGNsaXBib2FyZERhdGEgPSBlLmNsaXBib2FyZERhdGEgfHwgKDxhbnk+dGhpcy5kb2N1bWVudC5kZWZhdWx0VmlldykuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCd0ZXh0Jyk7XG4gICAgICAgIGlmIChjbGlwYm9hcmREYXRhKSB7XG4gICAgICAgICAgICBjb25zdCBwYXN0ZWRUZXh0ID0gY2xpcGJvYXJkRGF0YS5nZXREYXRhKCd0ZXh0Jyk7XG4gICAgICAgICAgICBmb3IgKGxldCBjaGFyIG9mIHBhc3RlZFRleHQudG9TdHJpbmcoKSkge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5yZWdleC50ZXN0KGNoYXIpKSB7XG4gICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHZhbGlkYXRlKGM6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBhbnkge1xuICAgICAgICBpZiAodGhpcy5wVmFsaWRhdGVPbmx5KSB7XG4gICAgICAgICAgICBsZXQgdmFsdWUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gICAgICAgICAgICBpZiAodmFsdWUgJiYgIXRoaXMucmVnZXgudGVzdCh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICB2YWxpZGF0ZVBhdHRlcm46IGZhbHNlXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbS2V5RmlsdGVyXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtLZXlGaWx0ZXJdXG59KVxuZXhwb3J0IGNsYXNzIEtleUZpbHRlck1vZHVsZSB7fVxuIl19
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5ZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2tleWZpbHRlci9rZXlmaWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3RKLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6QyxPQUFPLEVBQThCLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUczRSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBYTtJQUN6QyxPQUFPLEVBQUUsYUFBYTtJQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQztJQUN4QyxLQUFLLEVBQUUsSUFBSTtDQUNkLENBQUM7QUFzQkYsTUFBTSxhQUFhLEdBQXFDO0lBQ3BELElBQUksRUFBRSxNQUFNO0lBQ1osR0FBRyxFQUFFLFFBQVE7SUFDYixJQUFJLEVBQUUsUUFBUTtJQUNkLEtBQUssRUFBRSxXQUFXO0lBQ2xCLEdBQUcsRUFBRSxVQUFVO0lBQ2YsR0FBRyxFQUFFLFdBQVc7SUFDaEIsS0FBSyxFQUFFLGlCQUFpQjtJQUN4QixLQUFLLEVBQUUsU0FBUztJQUNoQixRQUFRLEVBQUUsWUFBWTtDQUN6QixDQUFDO0FBRUYsTUFBTSxJQUFJLEdBQVM7SUFDZixHQUFHLEVBQUUsQ0FBQztJQUNOLE1BQU0sRUFBRSxFQUFFO0lBQ1YsR0FBRyxFQUFFLEVBQUU7SUFDUCxTQUFTLEVBQUUsQ0FBQztJQUNaLE1BQU0sRUFBRSxFQUFFO0NBQ2IsQ0FBQztBQUVGLE1BQU0sV0FBVyxHQUFlO0lBQzVCLEtBQUssRUFBRSxFQUFFO0lBQ1QsS0FBSyxFQUFFLEVBQUU7SUFDVCxLQUFLLEVBQUUsRUFBRTtJQUNULEtBQUssRUFBRSxFQUFFO0lBQ1QsS0FBSyxFQUFFLEVBQUU7SUFDVCxLQUFLLEVBQUUsRUFBRTtJQUNULEtBQUssRUFBRSxFQUFFO0lBQ1QsS0FBSyxFQUFFLEVBQUU7SUFDVCxLQUFLLEVBQUUsRUFBRSxDQUFDLE1BQU07Q0FDbkIsQ0FBQztBQUNGOzs7R0FHRztBQUNILE1BT2EsU0FBUztJQXlDb0I7SUFBaUQ7SUFBd0I7SUF4Qy9HOzs7T0FHRztJQUNNLGFBQWEsQ0FBc0I7SUFDNUM7OztPQUdHO0lBRUgsSUFBeUIsT0FBTyxDQUFDLFFBQXNEO1FBQ25GLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBRXpCLElBQUksUUFBUSxZQUFZLE1BQU0sRUFBRTtZQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztTQUN6QjthQUFNLElBQUksUUFBUSxJQUFJLGFBQWEsRUFBRTtZQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN4QzthQUFNO1lBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7U0FDcEI7SUFDTCxDQUFDO0lBQ0QsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7OztPQUlHO0lBQ08sYUFBYSxHQUFrQyxJQUFJLFlBQVksRUFBbUIsQ0FBQztJQUU3RixLQUFLLEdBQVcsR0FBRyxDQUFDO0lBRXBCLFFBQVEsQ0FBK0M7SUFFdkQsU0FBUyxDQUFVO0lBRW5CLFNBQVMsQ0FBTTtJQUVmLFlBQXNDLFFBQWtCLEVBQStCLFVBQWUsRUFBUyxFQUFjO1FBQXZGLGFBQVEsR0FBUixRQUFRLENBQVU7UUFBK0IsZUFBVSxHQUFWLFVBQVUsQ0FBSztRQUFTLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDekgsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDM0M7YUFBTTtZQUNILElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxDQUFnQjtRQUMxQixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ2xCLENBQUMsR0FBRyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBRSxXQUFtQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXRFLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUN0RixDQUFDO0lBRUQsWUFBWSxDQUFDLENBQWdCO1FBQ3pCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUVoQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1TixDQUFDO0lBRUQsTUFBTSxDQUFDLENBQWdCO1FBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUNoQyxPQUFPLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFFLFdBQW1CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELFdBQVcsQ0FBQyxDQUFnQjtRQUN4QixPQUFPLENBQUMsQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzlDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYSxFQUFFLFNBQWlCO1FBQ3RDLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUVmLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25DLElBQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRWpGLElBQUksR0FBRyxLQUFLLFNBQVM7Z0JBQUUsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ25GO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELFdBQVcsQ0FBQyxDQUFTO1FBQ2pCLE9BQWdCLElBQUksQ0FBQyxLQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxhQUFhLENBQUMsR0FBVztRQUNyQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNyQyxPQUFPLEtBQUssQ0FBQzthQUNoQjtTQUNKO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUdELE9BQU8sQ0FBQyxDQUFnQjtRQUNwQixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZDLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztZQUN0QyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztZQUVuQyxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM1QyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMzQyxJQUFJLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFNUQsSUFBSSxNQUFNLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQzFCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUM7b0JBQ3RDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUNwQzthQUNKO2lCQUFNLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUM3QixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO29CQUN0QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDcEM7YUFDSjtZQUVELEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7WUFDbEMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQzthQUN4QjtTQUNKO0lBQ0wsQ0FBQztJQUdELFVBQVUsQ0FBQyxDQUFnQjtRQUN2QixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QyxPQUFPO1NBQ1Y7UUFFRCxJQUFJLE9BQU8sR0FBRyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV2QixJQUFJLE9BQU8sQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM1QyxPQUFPO1NBQ1Y7YUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUMzQixPQUFPO1NBQ1Y7UUFFRCxZQUFZO1FBQ1osSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QixJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQztRQUVkLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ25ELE9BQU87U0FDVjtRQUVELEVBQUUsR0FBWSxJQUFJLENBQUMsS0FBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVuQyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ0wsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztJQUdELE9BQU8sQ0FBQyxDQUFpQjtRQUNyQixNQUFNLGFBQWEsR0FBRyxDQUFDLENBQUMsYUFBYSxJQUFVLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBWSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEcsSUFBSSxhQUFhLEVBQUU7WUFDZixNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pELEtBQUssSUFBSSxJQUFJLElBQUksVUFBVSxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ3hCLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDbkIsT0FBTztpQkFDVjthQUNKO1NBQ0o7SUFDTCxDQUFDO0lBRUQsUUFBUSxDQUFDLENBQWtCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNwQixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7WUFDeEMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDbEMsT0FBTztvQkFDSCxlQUFlLEVBQUUsS0FBSztpQkFDekIsQ0FBQzthQUNMO1NBQ0o7SUFDTCxDQUFDO3VHQXhMUSxTQUFTLGtCQXlDRSxRQUFRLGFBQXNDLFdBQVc7MkZBekNwRSxTQUFTLG9UQUxQLENBQUMsbUJBQW1CLENBQUM7O1NBS3ZCLFNBQVM7MkZBQVQsU0FBUztrQkFQckIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ2hDLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsV0FBVztxQkFDckI7aUJBQ0o7OzBCQTBDZ0IsTUFBTTsyQkFBQyxRQUFROzswQkFBK0IsTUFBTTsyQkFBQyxXQUFXO3FFQXBDcEUsYUFBYTtzQkFBckIsS0FBSztnQkFNbUIsT0FBTztzQkFBL0IsS0FBSzt1QkFBQyxZQUFZO2dCQW9CVCxhQUFhO3NCQUF0QixNQUFNO2dCQW1FUCxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQThCakMsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFvQ3BDLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0FBMEJyQyxNQUthLGVBQWU7dUdBQWYsZUFBZTt3R0FBZixlQUFlLGlCQWhNZixTQUFTLGFBNExSLFlBQVksYUE1TGIsU0FBUzt3R0FnTVQsZUFBZSxZQUpkLFlBQVk7O1NBSWIsZUFBZTsyRkFBZixlQUFlO2tCQUwzQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDO29CQUNwQixZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUM7aUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgZm9yd2FyZFJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgUExBVEZPUk1fSUQsIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIERPQ1VNRU5ULCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEb21IYW5kbGVyIH0gZnJvbSAncHJpbWVuZy9kb20nO1xuaW1wb3J0IHsgVmFsaWRhdG9yLCBBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBLZXlGaWx0ZXJQYXR0ZXJuIH0gZnJvbSAnLi9rZXlmaWx0ZXIuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNvbnN0IEtFWUZJTFRFUl9WQUxJREFUT1I6IFByb3ZpZGVyID0ge1xuICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gS2V5RmlsdGVyKSxcbiAgICBtdWx0aTogdHJ1ZVxufTtcblxudHlwZSBTYWZhcmlLZXlzID0ge1xuICAgIDYzMjM0OiBudW1iZXI7XG4gICAgNjMyMzU6IG51bWJlcjtcbiAgICA2MzIzMjogbnVtYmVyO1xuICAgIDYzMjMzOiBudW1iZXI7XG4gICAgNjMyNzY6IG51bWJlcjtcbiAgICA2MzI3NzogbnVtYmVyO1xuICAgIDYzMjcyOiBudW1iZXI7XG4gICAgNjMyNzM6IG51bWJlcjtcbiAgICA2MzI3NTogbnVtYmVyO1xufTtcblxudHlwZSBLZXlzID0ge1xuICAgIFRBQjogbnVtYmVyO1xuICAgIFJFVFVSTjogbnVtYmVyO1xuICAgIEVTQzogbnVtYmVyO1xuICAgIEJBQ0tTUEFDRTogbnVtYmVyO1xuICAgIERFTEVURTogbnVtYmVyO1xufTtcblxuY29uc3QgREVGQVVMVF9NQVNLUzogUmVjb3JkPEtleUZpbHRlclBhdHRlcm4sIFJlZ0V4cD4gPSB7XG4gICAgcGludDogL1tcXGRdLyxcbiAgICBpbnQ6IC9bXFxkXFwtXS8sXG4gICAgcG51bTogL1tcXGRcXC5dLyxcbiAgICBtb25leTogL1tcXGRcXC5cXHMsXS8sXG4gICAgbnVtOiAvW1xcZFxcLVxcLl0vLFxuICAgIGhleDogL1swLTlhLWZdL2ksXG4gICAgZW1haWw6IC9bYS16MC05X1xcLlxcLUBdL2ksXG4gICAgYWxwaGE6IC9bYS16X10vaSxcbiAgICBhbHBoYW51bTogL1thLXowLTlfXS9pXG59O1xuXG5jb25zdCBLRVlTOiBLZXlzID0ge1xuICAgIFRBQjogOSxcbiAgICBSRVRVUk46IDEzLFxuICAgIEVTQzogMjcsXG4gICAgQkFDS1NQQUNFOiA4LFxuICAgIERFTEVURTogNDZcbn07XG5cbmNvbnN0IFNBRkFSSV9LRVlTOiBTYWZhcmlLZXlzID0ge1xuICAgIDYzMjM0OiAzNywgLy8gbGVmdFxuICAgIDYzMjM1OiAzOSwgLy8gcmlnaHRcbiAgICA2MzIzMjogMzgsIC8vIHVwXG4gICAgNjMyMzM6IDQwLCAvLyBkb3duXG4gICAgNjMyNzY6IDMzLCAvLyBwYWdlIHVwXG4gICAgNjMyNzc6IDM0LCAvLyBwYWdlIGRvd25cbiAgICA2MzI3MjogNDYsIC8vIGRlbGV0ZVxuICAgIDYzMjczOiAzNiwgLy8gaG9tZVxuICAgIDYzMjc1OiAzNSAvLyBlbmRcbn07XG4vKipcbiAqIEtleUZpbHRlciBEaXJlY3RpdmUgaXMgYSBidWlsdC1pbiBmZWF0dXJlIG9mIElucHV0VGV4dCB0byByZXN0cmljdCB1c2VyIGlucHV0IGJhc2VkIG9uIGEgcmVndWxhciBleHByZXNzaW9uLlxuICogQGdyb3VwIENvbXBvbmVudHNcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcEtleUZpbHRlcl0nLFxuICAgIHByb3ZpZGVyczogW0tFWUZJTFRFUl9WQUxJREFUT1JdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdwLWVsZW1lbnQnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBLZXlGaWx0ZXIgaW1wbGVtZW50cyBWYWxpZGF0b3Ige1xuICAgIC8qKlxuICAgICAqIFdoZW4gZW5hYmxlZCwgaW5zdGVhZCBvZiBibG9ja2luZyBrZXlzLCBpbnB1dCBpcyB2YWxpZGF0ZWQgaW50ZXJuYWxseSB0byB0ZXN0IGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwVmFsaWRhdGVPbmx5OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHBhdHRlcm4gZm9yIGtleSBmaWx0ZXJpbmcuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG5cbiAgICBASW5wdXQoJ3BLZXlGaWx0ZXInKSBzZXQgcGF0dGVybihfcGF0dGVybjogUmVnRXhwIHwgS2V5RmlsdGVyUGF0dGVybiB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5fcGF0dGVybiA9IF9wYXR0ZXJuO1xuXG4gICAgICAgIGlmIChfcGF0dGVybiBpbnN0YW5jZW9mIFJlZ0V4cCkge1xuICAgICAgICAgICAgdGhpcy5yZWdleCA9IF9wYXR0ZXJuO1xuICAgICAgICB9IGVsc2UgaWYgKF9wYXR0ZXJuIGluIERFRkFVTFRfTUFTS1MpIHtcbiAgICAgICAgICAgIHRoaXMucmVnZXggPSBERUZBVUxUX01BU0tTW19wYXR0ZXJuXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVnZXggPSAvLi87XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IHBhdHRlcm4oKTogUmVnRXhwIHwgS2V5RmlsdGVyUGF0dGVybiB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGF0dGVybjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFbWl0cyBhIHZhbHVlIHdoZW5ldmVyIHRoZSBuZ01vZGVsIG9mIHRoZSBjb21wb25lbnQgY2hhbmdlcy5cbiAgICAgKiBAcGFyYW0geyhzdHJpbmcgfCBudW1iZXIpfSBtb2RlbFZhbHVlIC0gQ3VzdG9tIG1vZGVsIGNoYW5nZSBldmVudC5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgbmdNb2RlbENoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bWJlcj4oKTtcblxuICAgIHJlZ2V4OiBSZWdFeHAgPSAvLi87XG5cbiAgICBfcGF0dGVybjogUmVnRXhwIHwgS2V5RmlsdGVyUGF0dGVybiB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgICBpc0FuZHJvaWQ6IGJvb2xlYW47XG5cbiAgICBsYXN0VmFsdWU6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LCBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueSwgcHVibGljIGVsOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICB0aGlzLmlzQW5kcm9pZCA9IERvbUhhbmRsZXIuaXNBbmRyb2lkKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmlzQW5kcm9pZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNOYXZLZXlQcmVzcyhlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGxldCBrID0gZS5rZXlDb2RlO1xuICAgICAgICBrID0gRG9tSGFuZGxlci5nZXRCcm93c2VyKCkuc2FmYXJpID8gKFNBRkFSSV9LRVlTIGFzIGFueSlba10gfHwgayA6IGs7XG5cbiAgICAgICAgcmV0dXJuIChrID49IDMzICYmIGsgPD0gNDApIHx8IGsgPT0gS0VZUy5SRVRVUk4gfHwgayA9PSBLRVlTLlRBQiB8fCBrID09IEtFWVMuRVNDO1xuICAgIH1cblxuICAgIGlzU3BlY2lhbEtleShlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGxldCBrID0gZS5rZXlDb2RlIHx8IGUuY2hhckNvZGU7XG5cbiAgICAgICAgcmV0dXJuIGsgPT0gOSB8fCBrID09IDEzIHx8IGsgPT0gMjcgfHwgayA9PSAxNiB8fCBrID09IDE3IHx8IChrID49IDE4ICYmIGsgPD0gMjApIHx8IChEb21IYW5kbGVyLmdldEJyb3dzZXIoKS5vcGVyYSAmJiAhZS5zaGlmdEtleSAmJiAoayA9PSA4IHx8IChrID49IDMzICYmIGsgPD0gMzUpIHx8IChrID49IDM2ICYmIGsgPD0gMzkpIHx8IChrID49IDQ0ICYmIGsgPD0gNDUpKSk7XG4gICAgfVxuXG4gICAgZ2V0S2V5KGU6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgbGV0IGsgPSBlLmtleUNvZGUgfHwgZS5jaGFyQ29kZTtcbiAgICAgICAgcmV0dXJuIERvbUhhbmRsZXIuZ2V0QnJvd3NlcigpLnNhZmFyaSA/IChTQUZBUklfS0VZUyBhcyBhbnkpW2tdIHx8IGsgOiBrO1xuICAgIH1cblxuICAgIGdldENoYXJDb2RlKGU6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIGUuY2hhckNvZGUgfHwgZS5rZXlDb2RlIHx8IGUud2hpY2g7XG4gICAgfVxuXG4gICAgZmluZERlbHRhKHZhbHVlOiBzdHJpbmcsIHByZXZWYWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGxldCBkZWx0YSA9ICcnO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmFsdWUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGxldCBzdHIgPSB2YWx1ZS5zdWJzdHIoMCwgaSkgKyB2YWx1ZS5zdWJzdHIoaSArIHZhbHVlLmxlbmd0aCAtIHByZXZWYWx1ZS5sZW5ndGgpO1xuXG4gICAgICAgICAgICBpZiAoc3RyID09PSBwcmV2VmFsdWUpIGRlbHRhID0gdmFsdWUuc3Vic3RyKGksIHZhbHVlLmxlbmd0aCAtIHByZXZWYWx1ZS5sZW5ndGgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRlbHRhO1xuICAgIH1cblxuICAgIGlzVmFsaWRDaGFyKGM6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gKDxSZWdFeHA+dGhpcy5yZWdleCkudGVzdChjKTtcbiAgICB9XG5cbiAgICBpc1ZhbGlkU3RyaW5nKHN0cjogc3RyaW5nKSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZENoYXIoc3RyLnN1YnN0cihpLCAxKSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdpbnB1dCcsIFsnJGV2ZW50J10pXG4gICAgb25JbnB1dChlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmlzQW5kcm9pZCAmJiAhdGhpcy5wVmFsaWRhdGVPbmx5KSB7XG4gICAgICAgICAgICBsZXQgdmFsID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICAgICAgICAgICAgbGV0IGxhc3RWYWwgPSB0aGlzLmxhc3RWYWx1ZSB8fCAnJztcblxuICAgICAgICAgICAgbGV0IGluc2VydGVkID0gdGhpcy5maW5kRGVsdGEodmFsLCBsYXN0VmFsKTtcbiAgICAgICAgICAgIGxldCByZW1vdmVkID0gdGhpcy5maW5kRGVsdGEobGFzdFZhbCwgdmFsKTtcbiAgICAgICAgICAgIGxldCBwYXN0ZWQgPSBpbnNlcnRlZC5sZW5ndGggPiAxIHx8ICghaW5zZXJ0ZWQgJiYgIXJlbW92ZWQpO1xuXG4gICAgICAgICAgICBpZiAocGFzdGVkKSB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzVmFsaWRTdHJpbmcodmFsKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBsYXN0VmFsO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm5nTW9kZWxDaGFuZ2UuZW1pdChsYXN0VmFsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFyZW1vdmVkKSB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzVmFsaWRDaGFyKGluc2VydGVkKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBsYXN0VmFsO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm5nTW9kZWxDaGFuZ2UuZW1pdChsYXN0VmFsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhbCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzVmFsaWRTdHJpbmcodmFsKSkge1xuICAgICAgICAgICAgICAgIHRoaXMubGFzdFZhbHVlID0gdmFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5cHJlc3MnLCBbJyRldmVudCddKVxuICAgIG9uS2V5UHJlc3MoZTogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5pc0FuZHJvaWQgfHwgdGhpcy5wVmFsaWRhdGVPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgYnJvd3NlciA9IERvbUhhbmRsZXIuZ2V0QnJvd3NlcigpO1xuICAgICAgICBsZXQgayA9IHRoaXMuZ2V0S2V5KGUpO1xuXG4gICAgICAgIGlmIChicm93c2VyLm1vemlsbGEgJiYgKGUuY3RybEtleSB8fCBlLmFsdEtleSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIGlmIChrID09IDE3IHx8IGsgPT0gMTgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEVudGVyIGtleVxuICAgICAgICBpZiAoayA9PSAxMykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGMgPSB0aGlzLmdldENoYXJDb2RlKGUpO1xuICAgICAgICBsZXQgY2MgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGMpO1xuICAgICAgICBsZXQgb2sgPSB0cnVlO1xuXG4gICAgICAgIGlmICghYnJvd3Nlci5tb3ppbGxhICYmICh0aGlzLmlzU3BlY2lhbEtleShlKSB8fCAhY2MpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBvayA9ICg8UmVnRXhwPnRoaXMucmVnZXgpLnRlc3QoY2MpO1xuXG4gICAgICAgIGlmICghb2spIHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3Bhc3RlJywgWyckZXZlbnQnXSlcbiAgICBvblBhc3RlKGU6IENsaXBib2FyZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGNsaXBib2FyZERhdGEgPSBlLmNsaXBib2FyZERhdGEgfHwgKDxhbnk+dGhpcy5kb2N1bWVudC5kZWZhdWx0VmlldykuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCd0ZXh0Jyk7XG4gICAgICAgIGlmIChjbGlwYm9hcmREYXRhKSB7XG4gICAgICAgICAgICBjb25zdCBwYXN0ZWRUZXh0ID0gY2xpcGJvYXJkRGF0YS5nZXREYXRhKCd0ZXh0Jyk7XG4gICAgICAgICAgICBmb3IgKGxldCBjaGFyIG9mIHBhc3RlZFRleHQudG9TdHJpbmcoKSkge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5yZWdleC50ZXN0KGNoYXIpKSB7XG4gICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHZhbGlkYXRlKGM6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBhbnkge1xuICAgICAgICBpZiAodGhpcy5wVmFsaWRhdGVPbmx5KSB7XG4gICAgICAgICAgICBsZXQgdmFsdWUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gICAgICAgICAgICBpZiAodmFsdWUgJiYgIXRoaXMucmVnZXgudGVzdCh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICB2YWxpZGF0ZVBhdHRlcm46IGZhbHNlXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbS2V5RmlsdGVyXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtLZXlGaWx0ZXJdXG59KVxuZXhwb3J0IGNsYXNzIEtleUZpbHRlck1vZHVsZSB7fVxuIl19
@@ -1,2 +1,3 @@
1
1
  export * from './keyfilter';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9rZXlmaWx0ZXIvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4va2V5ZmlsdGVyJztcbiJdfQ==
2
+ export * from './keyfilter.interface';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9rZXlmaWx0ZXIvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9rZXlmaWx0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9rZXlmaWx0ZXIuaW50ZXJmYWNlJztcbiJdfQ==
@@ -274,8 +274,8 @@ class Knob {
274
274
  get _value() {
275
275
  return this.value != null ? this.value : this.min;
276
276
  }
277
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: Knob, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
278
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: Knob, selector: "p-knob", inputs: { styleClass: "styleClass", style: "style", valueColor: "valueColor", rangeColor: "rangeColor", textColor: "textColor", valueTemplate: "valueTemplate", name: "name", size: "size", step: "step", min: "min", max: "max", strokeWidth: "strokeWidth", disabled: "disabled", showValue: "showValue", readonly: "readonly" }, outputs: { onChange: "onChange" }, host: { classAttribute: "p-element" }, providers: [KNOB_VALUE_ACCESSOR], ngImport: i0, template: `
277
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: Knob, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
278
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: Knob, selector: "p-knob", inputs: { styleClass: "styleClass", style: "style", valueColor: "valueColor", rangeColor: "rangeColor", textColor: "textColor", valueTemplate: "valueTemplate", name: "name", size: "size", step: "step", min: "min", max: "max", strokeWidth: "strokeWidth", disabled: "disabled", showValue: "showValue", readonly: "readonly" }, outputs: { onChange: "onChange" }, host: { classAttribute: "p-element" }, providers: [KNOB_VALUE_ACCESSOR], ngImport: i0, template: `
279
279
  <div [ngClass]="containerClass()" [class]="styleClass" [ngStyle]="style">
280
280
  <svg
281
281
  viewBox="0 0 100 100"
@@ -295,7 +295,7 @@ class Knob {
295
295
  `, isInline: true, styles: ["@keyframes dash-frame{to{stroke-dashoffset:0}}.p-knob-range{fill:none;transition:stroke .1s ease-in}.p-knob-value{animation-name:dash-frame;animation-fill-mode:forwards;fill:none}.p-knob-text{font-size:1.3rem;text-align:center}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
296
296
  }
297
297
  export { Knob };
298
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: Knob, decorators: [{
298
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: Knob, decorators: [{
299
299
  type: Component,
300
300
  args: [{ selector: 'p-knob', template: `
301
301
  <div [ngClass]="containerClass()" [class]="styleClass" [ngStyle]="style">
@@ -354,12 +354,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
354
354
  type: Output
355
355
  }] } });
356
356
  class KnobModule {
357
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: KnobModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
358
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: KnobModule, declarations: [Knob], imports: [CommonModule], exports: [Knob] });
359
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: KnobModule, imports: [CommonModule] });
357
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: KnobModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
358
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: KnobModule, declarations: [Knob], imports: [CommonModule], exports: [Knob] });
359
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: KnobModule, imports: [CommonModule] });
360
360
  }
361
361
  export { KnobModule };
362
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: KnobModule, decorators: [{
362
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: KnobModule, decorators: [{
363
363
  type: NgModule,
364
364
  args: [{
365
365
  imports: [CommonModule],
@@ -668,8 +668,8 @@ class Listbox {
668
668
  this.translationSubscription.unsubscribe();
669
669
  }
670
670
  }
671
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: Listbox, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FilterService }, { token: i1.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
672
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: Listbox, selector: "p-listbox", inputs: { multiple: "multiple", style: "style", styleClass: "styleClass", listStyle: "listStyle", listStyleClass: "listStyleClass", readonly: "readonly", disabled: "disabled", checkbox: "checkbox", filter: "filter", filterBy: "filterBy", filterMatchMode: "filterMatchMode", filterLocale: "filterLocale", metaKeySelection: "metaKeySelection", dataKey: "dataKey", showToggleAll: "showToggleAll", optionLabel: "optionLabel", optionValue: "optionValue", optionGroupChildren: "optionGroupChildren", optionGroupLabel: "optionGroupLabel", optionDisabled: "optionDisabled", ariaFilterLabel: "ariaFilterLabel", filterPlaceHolder: "filterPlaceHolder", emptyFilterMessage: "emptyFilterMessage", emptyMessage: "emptyMessage", group: "group", options: "options", filterValue: "filterValue" }, outputs: { onChange: "onChange", onClick: "onClick", onDblClick: "onDblClick" }, host: { classAttribute: "p-element" }, providers: [LISTBOX_VALUE_ACCESSOR], queries: [{ propertyName: "headerFacet", first: true, predicate: Header, descendants: true }, { propertyName: "footerFacet", first: true, predicate: Footer, descendants: true }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "headerCheckboxViewChild", first: true, predicate: ["headerchkbox"], descendants: true }, { propertyName: "filterViewChild", first: true, predicate: ["filter"], descendants: true }], ngImport: i0, template: `
671
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: Listbox, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FilterService }, { token: i1.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
672
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: Listbox, selector: "p-listbox", inputs: { multiple: "multiple", style: "style", styleClass: "styleClass", listStyle: "listStyle", listStyleClass: "listStyleClass", readonly: "readonly", disabled: "disabled", checkbox: "checkbox", filter: "filter", filterBy: "filterBy", filterMatchMode: "filterMatchMode", filterLocale: "filterLocale", metaKeySelection: "metaKeySelection", dataKey: "dataKey", showToggleAll: "showToggleAll", optionLabel: "optionLabel", optionValue: "optionValue", optionGroupChildren: "optionGroupChildren", optionGroupLabel: "optionGroupLabel", optionDisabled: "optionDisabled", ariaFilterLabel: "ariaFilterLabel", filterPlaceHolder: "filterPlaceHolder", emptyFilterMessage: "emptyFilterMessage", emptyMessage: "emptyMessage", group: "group", options: "options", filterValue: "filterValue" }, outputs: { onChange: "onChange", onClick: "onClick", onDblClick: "onDblClick" }, host: { classAttribute: "p-element" }, providers: [LISTBOX_VALUE_ACCESSOR], queries: [{ propertyName: "headerFacet", first: true, predicate: Header, descendants: true }, { propertyName: "footerFacet", first: true, predicate: Footer, descendants: true }, { propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "headerCheckboxViewChild", first: true, predicate: ["headerchkbox"], descendants: true }, { propertyName: "filterViewChild", first: true, predicate: ["filter"], descendants: true }], ngImport: i0, template: `
673
673
  <div [ngClass]="{ 'p-listbox p-component': true, 'p-disabled': disabled }" [ngStyle]="style" [class]="styleClass">
674
674
  <div class="p-listbox-header" *ngIf="headerFacet || headerTemplate">
675
675
  <ng-content select="p-header"></ng-content>
@@ -775,7 +775,7 @@ class Listbox {
775
775
  `, isInline: true, styles: [".p-listbox-list-wrapper{overflow:auto}.p-listbox-list{list-style-type:none;margin:0;padding:0}.p-listbox-item{cursor:pointer;position:relative;overflow:hidden;display:flex;align-items:center;-webkit-user-select:none;user-select:none}.p-listbox-header{display:flex;align-items:center}.p-listbox-filter-container{position:relative;flex:1 1 auto}.p-listbox-filter-icon{position:absolute;top:50%;margin-top:-.5rem}.p-listbox-filter{width:100%}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(function () { return i3.Ripple; }), selector: "[pRipple]" }, { kind: "component", type: i0.forwardRef(function () { return SearchIcon; }), selector: "SearchIcon" }, { kind: "component", type: i0.forwardRef(function () { return CheckIcon; }), selector: "CheckIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
776
776
  }
777
777
  export { Listbox };
778
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: Listbox, decorators: [{
778
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: Listbox, decorators: [{
779
779
  type: Component,
780
780
  args: [{ selector: 'p-listbox', template: `
781
781
  <div [ngClass]="{ 'p-listbox p-component': true, 'p-disabled': disabled }" [ngStyle]="style" [class]="styleClass">
@@ -960,12 +960,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImpor
960
960
  args: [PrimeTemplate]
961
961
  }] } });
962
962
  class ListboxModule {
963
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ListboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
964
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.0", ngImport: i0, type: ListboxModule, declarations: [Listbox], imports: [CommonModule, SharedModule, RippleModule, SearchIcon, CheckIcon], exports: [Listbox, SharedModule] });
965
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ListboxModule, imports: [CommonModule, SharedModule, RippleModule, SearchIcon, CheckIcon, SharedModule] });
963
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ListboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
964
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: ListboxModule, declarations: [Listbox], imports: [CommonModule, SharedModule, RippleModule, SearchIcon, CheckIcon], exports: [Listbox, SharedModule] });
965
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ListboxModule, imports: [CommonModule, SharedModule, RippleModule, SearchIcon, CheckIcon, SharedModule] });
966
966
  }
967
967
  export { ListboxModule };
968
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ListboxModule, decorators: [{
968
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ListboxModule, decorators: [{
969
969
  type: NgModule,
970
970
  args: [{
971
971
  imports: [CommonModule, SharedModule, RippleModule, SearchIcon, CheckIcon],